aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
Diffstat (limited to 'arch')
-rw-r--r--arch/Kconfig20
-rw-r--r--arch/alpha/include/asm/atomic.h4
-rw-r--r--arch/arm/Kconfig1
-rw-r--r--arch/arm/boot/compressed/head.S10
-rw-r--r--arch/arm/configs/bcmring_defconfig126
-rw-r--r--arch/arm/configs/imote2_defconfig172
-rw-r--r--arch/arm/include/asm/assembler.h12
-rw-r--r--arch/arm/include/asm/atomic.h2
-rw-r--r--arch/arm/include/asm/cacheflush.h4
-rw-r--r--arch/arm/include/asm/elf.h2
-rw-r--r--arch/arm/include/asm/futex.h16
-rw-r--r--arch/arm/include/asm/smp_twd.h17
-rw-r--r--arch/arm/include/asm/tlbflush.h29
-rw-r--r--arch/arm/include/asm/uaccess.h40
-rw-r--r--arch/arm/kernel/entry-armv.S12
-rw-r--r--arch/arm/kernel/ftrace.c8
-rw-r--r--arch/arm/kernel/process.c8
-rw-r--r--arch/arm/kernel/smp.c6
-rw-r--r--arch/arm/kernel/smp_twd.c17
-rw-r--r--arch/arm/lib/backtrace.S4
-rw-r--r--arch/arm/lib/clear_user.S5
-rw-r--r--arch/arm/lib/copy_from_user.S4
-rw-r--r--arch/arm/lib/copy_to_user.S5
-rw-r--r--arch/arm/lib/csumpartialcopyuser.S4
-rw-r--r--arch/arm/lib/getuser.S4
-rw-r--r--arch/arm/lib/putuser.S4
-rw-r--r--arch/arm/lib/strncpy_from_user.S4
-rw-r--r--arch/arm/lib/strnlen_user.S4
-rw-r--r--arch/arm/lib/uaccess.S8
-rw-r--r--arch/arm/mach-davinci/da830.c2
-rw-r--r--arch/arm/mach-mx5/clock-mx51.c1
-rw-r--r--arch/arm/mach-pxa/include/mach/colibri.h1
-rw-r--r--arch/arm/mach-pxa/include/mach/hardware.h2
-rw-r--r--arch/arm/mach-pxa/include/mach/regs-u2d.h3
-rw-r--r--arch/arm/mach-pxa/raumfeld.c5
-rw-r--r--arch/arm/mach-pxa/spitz.c2
-rw-r--r--arch/arm/mach-pxa/viper.c5
-rw-r--r--arch/arm/mach-realview/core.c2
-rw-r--r--arch/arm/mach-sa1100/Kconfig4
-rw-r--r--arch/arm/mach-sa1100/cpu-sa1110.c3
-rw-r--r--arch/arm/mm/alignment.c24
-rw-r--r--arch/arm/mm/cache-v6.S17
-rw-r--r--arch/arm/mm/cache-v7.S4
-rw-r--r--arch/arm/mm/init.c14
-rw-r--r--arch/arm/mm/nommu.c13
-rw-r--r--arch/arm/mm/proc-sa1100.S2
-rw-r--r--arch/arm/mm/tlb-v7.S8
-rw-r--r--arch/arm/nwfpe/entry.S8
-rw-r--r--arch/arm/plat-mxc/include/mach/dma-mx1-mx2.h8
-rw-r--r--arch/arm/plat-omap/include/plat/usb.h2
-rw-r--r--arch/arm/plat-pxa/dma.c2
-rw-r--r--arch/arm/tools/mach-types57
-rw-r--r--arch/avr32/include/asm/atomic.h2
-rw-r--r--arch/cris/include/asm/atomic.h2
-rw-r--r--arch/frv/include/asm/atomic.h2
-rw-r--r--arch/h8300/include/asm/atomic.h2
-rw-r--r--arch/ia64/include/asm/atomic.h4
-rw-r--r--arch/m32r/include/asm/atomic.h2
-rw-r--r--arch/m68k/amiga/Makefile2
-rw-r--r--arch/m68k/amiga/platform.c83
-rw-r--r--arch/m68k/bvme6000/rtc.c29
-rw-r--r--arch/m68k/hp300/time.h4
-rw-r--r--arch/m68k/include/asm/atomic_mm.h2
-rw-r--r--arch/m68k/include/asm/atomic_no.h2
-rw-r--r--arch/m68k/include/asm/bitops_mm.h14
-rw-r--r--arch/m68k/include/asm/param.h16
-rw-r--r--arch/m68k/kernel/traps.c2
-rw-r--r--arch/m68k/mac/config.c10
-rw-r--r--arch/m68k/mm/fault.c14
-rw-r--r--arch/m68k/mvme16x/rtc.c19
-rw-r--r--arch/m68k/q40/config.c2
-rw-r--r--arch/microblaze/configs/mmu_defconfig58
-rw-r--r--arch/microblaze/configs/nommu_defconfig39
-rw-r--r--arch/microblaze/include/asm/cache.h2
-rw-r--r--arch/microblaze/include/asm/dma.h6
-rw-r--r--arch/microblaze/include/asm/exceptions.h6
-rw-r--r--arch/microblaze/include/asm/io.h2
-rw-r--r--arch/microblaze/include/asm/page.h12
-rw-r--r--arch/microblaze/include/asm/pci.h8
-rw-r--r--arch/microblaze/include/asm/pgalloc.h16
-rw-r--r--arch/microblaze/include/asm/pgtable.h35
-rw-r--r--arch/microblaze/include/asm/uaccess.h87
-rw-r--r--arch/microblaze/kernel/asm-offsets.c1
-rw-r--r--arch/microblaze/kernel/cpu/cache.c75
-rw-r--r--arch/microblaze/kernel/cpu/mb.c10
-rw-r--r--arch/microblaze/kernel/dma.c2
-rw-r--r--arch/microblaze/kernel/entry-nommu.S2
-rw-r--r--arch/microblaze/kernel/exceptions.c2
-rw-r--r--arch/microblaze/kernel/head.S3
-rw-r--r--arch/microblaze/kernel/irq.c3
-rw-r--r--arch/microblaze/kernel/microblaze_ksyms.c11
-rw-r--r--arch/microblaze/kernel/misc.S36
-rw-r--r--arch/microblaze/kernel/module.c2
-rw-r--r--arch/microblaze/kernel/traps.c34
-rw-r--r--arch/microblaze/kernel/vmlinux.lds.S3
-rw-r--r--arch/microblaze/mm/consistent.c190
-rw-r--r--arch/microblaze/mm/fault.c13
-rw-r--r--arch/microblaze/mm/init.c1
-rw-r--r--arch/microblaze/mm/pgtable.c52
-rw-r--r--arch/microblaze/pci/pci-common.c19
-rw-r--r--arch/mips/Kconfig31
-rw-r--r--arch/mips/Makefile13
-rw-r--r--arch/mips/alchemy/devboards/db1200/setup.c10
-rw-r--r--arch/mips/configs/bcm63xx_defconfig418
-rw-r--r--arch/mips/include/asm/atomic.h4
-rw-r--r--arch/mips/include/asm/cmpxchg.h2
-rw-r--r--arch/mips/include/asm/i8253.h2
-rw-r--r--arch/mips/include/asm/mach-loongson/loongson.h2
-rw-r--r--arch/mips/include/asm/mipsregs.h9
-rw-r--r--arch/mips/include/asm/pgtable-64.h9
-rw-r--r--arch/mips/include/asm/ptrace.h4
-rw-r--r--arch/mips/include/asm/stackframe.h2
-rw-r--r--arch/mips/include/asm/uasm.h18
-rw-r--r--arch/mips/jazz/setup.c12
-rw-r--r--arch/mips/kernel/i8253.c14
-rw-r--r--arch/mips/kernel/scall64-n32.S2
-rw-r--r--arch/mips/kernel/traps.c16
-rw-r--r--arch/mips/loongson/common/machtype.c2
-rw-r--r--arch/mips/loongson/common/mem.c4
-rw-r--r--arch/mips/loongson/common/reset.c20
-rw-r--r--arch/mips/loongson/common/setup.c15
-rw-r--r--arch/mips/loongson/lemote-2f/irq.c2
-rw-r--r--arch/mips/math-emu/cp1emu.c15
-rw-r--r--arch/mips/mm/tlbex.c140
-rw-r--r--arch/mips/nxp/pnx8550/common/reset.c2
-rw-r--r--arch/mips/oprofile/op_model_loongson2.c2
-rw-r--r--arch/mips/pci/pci-sb1250.c3
-rw-r--r--arch/mips/sgi-ip22/ip22-berr.c2
-rw-r--r--arch/mips/sgi-ip22/ip28-berr.c2
-rw-r--r--arch/mips/sibyte/swarm/setup.c17
-rw-r--r--arch/mn10300/include/asm/atomic.h2
-rw-r--r--arch/parisc/include/asm/atomic.h4
-rw-r--r--arch/powerpc/configs/83xx/asp8347_defconfig44
-rw-r--r--arch/powerpc/configs/83xx/kmeter1_defconfig28
-rw-r--r--arch/powerpc/configs/83xx/mpc8313_rdb_defconfig49
-rw-r--r--arch/powerpc/configs/83xx/mpc8315_rdb_defconfig50
-rw-r--r--arch/powerpc/configs/83xx/mpc832x_mds_defconfig45
-rw-r--r--arch/powerpc/configs/83xx/mpc832x_rdb_defconfig49
-rw-r--r--arch/powerpc/configs/83xx/mpc834x_itx_defconfig44
-rw-r--r--arch/powerpc/configs/83xx/mpc834x_itxgp_defconfig43
-rw-r--r--arch/powerpc/configs/83xx/mpc834x_mds_defconfig46
-rw-r--r--arch/powerpc/configs/83xx/mpc836x_mds_defconfig45
-rw-r--r--arch/powerpc/configs/83xx/mpc836x_rdk_defconfig44
-rw-r--r--arch/powerpc/configs/83xx/mpc837x_mds_defconfig46
-rw-r--r--arch/powerpc/configs/83xx/mpc837x_rdb_defconfig51
-rw-r--r--arch/powerpc/configs/83xx/sbc834x_defconfig44
-rw-r--r--arch/powerpc/configs/85xx/ksi8560_defconfig23
-rw-r--r--arch/powerpc/configs/85xx/mpc8540_ads_defconfig25
-rw-r--r--arch/powerpc/configs/85xx/mpc8560_ads_defconfig34
-rw-r--r--arch/powerpc/configs/85xx/mpc85xx_cds_defconfig31
-rw-r--r--arch/powerpc/configs/85xx/sbc8548_defconfig31
-rw-r--r--arch/powerpc/configs/85xx/sbc8560_defconfig25
-rw-r--r--arch/powerpc/configs/85xx/socrates_defconfig51
-rw-r--r--arch/powerpc/configs/85xx/stx_gp3_defconfig51
-rw-r--r--arch/powerpc/configs/85xx/tqm8540_defconfig48
-rw-r--r--arch/powerpc/configs/85xx/tqm8541_defconfig54
-rw-r--r--arch/powerpc/configs/85xx/tqm8548_defconfig47
-rw-r--r--arch/powerpc/configs/85xx/tqm8555_defconfig54
-rw-r--r--arch/powerpc/configs/85xx/tqm8560_defconfig54
-rw-r--r--arch/powerpc/configs/85xx/xes_mpc85xx_defconfig59
-rw-r--r--arch/powerpc/configs/86xx/gef_ppc9a_defconfig102
-rw-r--r--arch/powerpc/configs/86xx/gef_sbc310_defconfig53
-rw-r--r--arch/powerpc/configs/86xx/gef_sbc610_defconfig96
-rw-r--r--arch/powerpc/configs/86xx/mpc8610_hpcd_defconfig34
-rw-r--r--arch/powerpc/configs/86xx/mpc8641_hpcn_defconfig48
-rw-r--r--arch/powerpc/configs/86xx/sbc8641d_defconfig40
-rw-r--r--arch/powerpc/configs/adder875_defconfig18
-rw-r--r--arch/powerpc/configs/c2k_defconfig55
-rw-r--r--arch/powerpc/configs/ep8248e_defconfig20
-rw-r--r--arch/powerpc/configs/ep88xc_defconfig17
-rw-r--r--arch/powerpc/configs/linkstation_defconfig48
-rw-r--r--arch/powerpc/configs/mgcoge_defconfig31
-rw-r--r--arch/powerpc/configs/mgsuvd_defconfig19
-rw-r--r--arch/powerpc/configs/mpc7448_hpc2_defconfig26
-rw-r--r--arch/powerpc/configs/mpc8272_ads_defconfig23
-rw-r--r--arch/powerpc/configs/mpc83xx_defconfig124
-rw-r--r--arch/powerpc/configs/mpc85xx_defconfig62
-rw-r--r--arch/powerpc/configs/mpc85xx_smp_defconfig64
-rw-r--r--arch/powerpc/configs/mpc866_ads_defconfig20
-rw-r--r--arch/powerpc/configs/mpc86xx_defconfig57
-rw-r--r--arch/powerpc/configs/mpc885_ads_defconfig20
-rw-r--r--arch/powerpc/configs/pq2fads_defconfig22
-rw-r--r--arch/powerpc/configs/prpmc2800_defconfig52
-rw-r--r--arch/powerpc/configs/ps3_defconfig189
-rw-r--r--arch/powerpc/configs/storcenter_defconfig33
-rw-r--r--arch/powerpc/include/asm/hw_irq.h38
-rw-r--r--arch/powerpc/include/asm/page.h15
-rw-r--r--arch/powerpc/kernel/asm-offsets.c1
-rw-r--r--arch/powerpc/kernel/dma-swiotlb.c5
-rw-r--r--arch/powerpc/kernel/entry_64.S9
-rw-r--r--arch/powerpc/kernel/irq.c6
-rw-r--r--arch/powerpc/kernel/perf_event.c129
-rw-r--r--arch/powerpc/kernel/prom_init.c3
-rw-r--r--arch/powerpc/kernel/time.c60
-rw-r--r--arch/powerpc/kvm/44x_tlb.c2
-rw-r--r--arch/powerpc/mm/fsl_booke_mmu.c9
-rw-r--r--arch/powerpc/mm/numa.c17
-rw-r--r--arch/powerpc/platforms/85xx/Kconfig4
-rw-r--r--arch/powerpc/platforms/86xx/Kconfig4
-rw-r--r--arch/powerpc/platforms/pseries/hotplug-memory.c7
-rw-r--r--arch/powerpc/sysdev/cpm1.c14
-rw-r--r--arch/powerpc/sysdev/cpm2.c11
-rw-r--r--arch/s390/kernel/head31.S2
-rw-r--r--arch/s390/kernel/head64.S2
-rw-r--r--arch/s390/kernel/ptrace.c5
-rw-r--r--arch/s390/kernel/time.c1
-rw-r--r--arch/sh/Kconfig1
-rw-r--r--arch/sh/configs/rts7751r2d1_defconfig2
-rw-r--r--arch/sh/configs/rts7751r2dplus_defconfig2
-rw-r--r--arch/sh/drivers/pci/pci-sh7751.c5
-rw-r--r--arch/sh/include/asm/atomic.h2
-rw-r--r--arch/sh/include/asm/hw_breakpoint.h10
-rw-r--r--arch/sh/include/cpu-sh4/cpu/dma-register.h2
-rw-r--r--arch/sh/kernel/hw_breakpoint.c34
-rw-r--r--arch/sh/kernel/ptrace_32.c2
-rw-r--r--arch/sparc/include/asm/atomic_32.h2
-rw-r--r--arch/sparc/include/asm/atomic_64.h4
-rw-r--r--arch/x86/Kconfig4
-rw-r--r--arch/x86/Kconfig.cpu20
-rw-r--r--arch/x86/Kconfig.debug9
-rw-r--r--arch/x86/Makefile5
-rw-r--r--arch/x86/include/asm/amd_iommu_types.h34
-rw-r--r--arch/x86/include/asm/apic.h13
-rw-r--r--arch/x86/include/asm/atomic.h2
-rw-r--r--arch/x86/include/asm/atomic64_64.h2
-rw-r--r--arch/x86/include/asm/ds.h302
-rw-r--r--arch/x86/include/asm/dwarf2.h12
-rw-r--r--arch/x86/include/asm/hw_breakpoint.h10
-rw-r--r--arch/x86/include/asm/i8253.h2
-rw-r--r--arch/x86/include/asm/insn.h2
-rw-r--r--arch/x86/include/asm/io.h1
-rw-r--r--arch/x86/include/asm/k8.h5
-rw-r--r--arch/x86/include/asm/kprobes.h2
-rw-r--r--arch/x86/include/asm/msr-index.h15
-rw-r--r--arch/x86/include/asm/perf_event.h76
-rw-r--r--arch/x86/include/asm/perf_event_p4.h794
-rw-r--r--arch/x86/include/asm/processor.h35
-rw-r--r--arch/x86/include/asm/ptrace-abi.h57
-rw-r--r--arch/x86/include/asm/ptrace.h6
-rw-r--r--arch/x86/include/asm/thread_info.h8
-rw-r--r--arch/x86/kernel/Makefile2
-rw-r--r--arch/x86/kernel/amd_iommu.c197
-rw-r--r--arch/x86/kernel/amd_iommu_init.c6
-rw-r--r--arch/x86/kernel/apb_timer.c2
-rw-r--r--arch/x86/kernel/apic/io_apic.c3
-rw-r--r--arch/x86/kernel/apm_32.c4
-rw-r--r--arch/x86/kernel/cpu/cpufreq/powernow-k8.c3
-rw-r--r--arch/x86/kernel/cpu/intel.c23
-rw-r--r--arch/x86/kernel/cpu/intel_cacheinfo.c4
-rw-r--r--arch/x86/kernel/cpu/perf_event.c815
-rw-r--r--arch/x86/kernel/cpu/perf_event_amd.c46
-rw-r--r--arch/x86/kernel/cpu/perf_event_intel.c357
-rw-r--r--arch/x86/kernel/cpu/perf_event_intel_ds.c641
-rw-r--r--arch/x86/kernel/cpu/perf_event_intel_lbr.c218
-rw-r--r--arch/x86/kernel/cpu/perf_event_p4.c857
-rw-r--r--arch/x86/kernel/cpu/perf_event_p6.c31
-rw-r--r--arch/x86/kernel/ds.c1437
-rw-r--r--arch/x86/kernel/ds_selftest.c408
-rw-r--r--arch/x86/kernel/ds_selftest.h15
-rw-r--r--arch/x86/kernel/dumpstack.c5
-rw-r--r--arch/x86/kernel/hw_breakpoint.c41
-rw-r--r--arch/x86/kernel/i8253.c14
-rw-r--r--arch/x86/kernel/kprobes.c43
-rw-r--r--arch/x86/kernel/process.c30
-rw-r--r--arch/x86/kernel/process_32.c8
-rw-r--r--arch/x86/kernel/process_64.c12
-rw-r--r--arch/x86/kernel/ptrace.c384
-rw-r--r--arch/x86/kernel/step.c46
-rw-r--r--arch/x86/kernel/traps.c4
-rw-r--r--arch/x86/kvm/svm.c8
-rw-r--r--arch/x86/kvm/vmx.c8
-rw-r--r--arch/x86/kvm/x86.c54
-rw-r--r--arch/x86/kvm/x86.h3
-rw-r--r--arch/x86/lib/Makefile2
-rw-r--r--arch/x86/lib/rwsem_64.S2
-rw-r--r--arch/x86/mm/ioremap.c14
-rw-r--r--arch/x86/mm/pgtable_32.c2
-rw-r--r--arch/x86/mm/srat_64.c3
-rw-r--r--arch/x86/oprofile/nmi_int.c199
-rw-r--r--arch/x86/oprofile/op_model_amd.c280
-rw-r--r--arch/x86/oprofile/op_model_p4.c52
-rw-r--r--arch/x86/oprofile/op_model_ppro.c81
-rw-r--r--arch/x86/oprofile/op_x86_model.h4
-rw-r--r--arch/x86/pci/acpi.c40
-rw-r--r--arch/x86/pci/i386.c3
-rw-r--r--arch/x86/pci/mrst.c4
-rw-r--r--arch/xtensa/include/asm/atomic.h2
287 files changed, 7244 insertions, 5971 deletions
diff --git a/arch/Kconfig b/arch/Kconfig
index e5eb1337a53..acda512da2e 100644
--- a/arch/Kconfig
+++ b/arch/Kconfig
@@ -42,15 +42,10 @@ config KPROBES
42 If in doubt, say "N". 42 If in doubt, say "N".
43 43
44config OPTPROBES 44config OPTPROBES
45 bool "Kprobes jump optimization support (EXPERIMENTAL)" 45 def_bool y
46 default y 46 depends on KPROBES && HAVE_OPTPROBES
47 depends on KPROBES
48 depends on !PREEMPT 47 depends on !PREEMPT
49 depends on HAVE_OPTPROBES
50 select KALLSYMS_ALL 48 select KALLSYMS_ALL
51 help
52 This option will allow kprobes to optimize breakpoint to
53 a jump for reducing its overhead.
54 49
55config HAVE_EFFICIENT_UNALIGNED_ACCESS 50config HAVE_EFFICIENT_UNALIGNED_ACCESS
56 bool 51 bool
@@ -142,6 +137,17 @@ config HAVE_HW_BREAKPOINT
142 bool 137 bool
143 depends on PERF_EVENTS 138 depends on PERF_EVENTS
144 139
140config HAVE_MIXED_BREAKPOINTS_REGS
141 bool
142 depends on HAVE_HW_BREAKPOINT
143 help
144 Depending on the arch implementation of hardware breakpoints,
145 some of them have separate registers for data and instruction
146 breakpoints addresses, others have mixed registers to store
147 them but define the access type in a control register.
148 Select this option if your arch implements breakpoints under the
149 latter fashion.
150
145config HAVE_USER_RETURN_NOTIFIER 151config HAVE_USER_RETURN_NOTIFIER
146 bool 152 bool
147 153
diff --git a/arch/alpha/include/asm/atomic.h b/arch/alpha/include/asm/atomic.h
index 610dff44d94..e756d04b6cd 100644
--- a/arch/alpha/include/asm/atomic.h
+++ b/arch/alpha/include/asm/atomic.h
@@ -17,8 +17,8 @@
17#define ATOMIC_INIT(i) ( (atomic_t) { (i) } ) 17#define ATOMIC_INIT(i) ( (atomic_t) { (i) } )
18#define ATOMIC64_INIT(i) ( (atomic64_t) { (i) } ) 18#define ATOMIC64_INIT(i) ( (atomic64_t) { (i) } )
19 19
20#define atomic_read(v) ((v)->counter + 0) 20#define atomic_read(v) (*(volatile int *)&(v)->counter)
21#define atomic64_read(v) ((v)->counter + 0) 21#define atomic64_read(v) (*(volatile long *)&(v)->counter)
22 22
23#define atomic_set(v,i) ((v)->counter = (i)) 23#define atomic_set(v,i) ((v)->counter = (i))
24#define atomic64_set(v,i) ((v)->counter = (i)) 24#define atomic64_set(v,i) ((v)->counter = (i))
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index c5408bf1bf4..92622eb5cc0 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -253,6 +253,7 @@ config ARCH_REALVIEW
253 select GENERIC_TIME 253 select GENERIC_TIME
254 select GENERIC_CLOCKEVENTS 254 select GENERIC_CLOCKEVENTS
255 select ARCH_WANT_OPTIONAL_GPIOLIB 255 select ARCH_WANT_OPTIONAL_GPIOLIB
256 select GPIO_PL061 if GPIOLIB
256 help 257 help
257 This enables support for ARM Ltd RealView boards. 258 This enables support for ARM Ltd RealView boards.
258 259
diff --git a/arch/arm/boot/compressed/head.S b/arch/arm/boot/compressed/head.S
index 6ab6b337a91..c5191b1532e 100644
--- a/arch/arm/boot/compressed/head.S
+++ b/arch/arm/boot/compressed/head.S
@@ -685,8 +685,8 @@ proc_types:
685 W(b) __armv4_mmu_cache_off 685 W(b) __armv4_mmu_cache_off
686 W(b) __armv4_mmu_cache_flush 686 W(b) __armv4_mmu_cache_flush
687 687
688 .word 0x56056930 688 .word 0x56056900
689 .word 0xff0ffff0 @ PXA935 689 .word 0xffffff00 @ PXA9xx
690 W(b) __armv4_mmu_cache_on 690 W(b) __armv4_mmu_cache_on
691 W(b) __armv4_mmu_cache_off 691 W(b) __armv4_mmu_cache_off
692 W(b) __armv4_mmu_cache_flush 692 W(b) __armv4_mmu_cache_flush
@@ -697,12 +697,6 @@ proc_types:
697 W(b) __armv4_mmu_cache_off 697 W(b) __armv4_mmu_cache_off
698 W(b) __armv5tej_mmu_cache_flush 698 W(b) __armv5tej_mmu_cache_flush
699 699
700 .word 0x56056930
701 .word 0xff0ffff0 @ PXA935
702 W(b) __armv4_mmu_cache_on
703 W(b) __armv4_mmu_cache_off
704 W(b) __armv4_mmu_cache_flush
705
706 .word 0x56050000 @ Feroceon 700 .word 0x56050000 @ Feroceon
707 .word 0xff0f0000 701 .word 0xff0f0000
708 W(b) __armv4_mmu_cache_on 702 W(b) __armv4_mmu_cache_on
diff --git a/arch/arm/configs/bcmring_defconfig b/arch/arm/configs/bcmring_defconfig
index 1e12167c89b..6ac6693299b 100644
--- a/arch/arm/configs/bcmring_defconfig
+++ b/arch/arm/configs/bcmring_defconfig
@@ -1,13 +1,13 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.31-rc3 3# Linux kernel version: 2.6.34-rc2
4# Fri Jul 17 12:07:28 2009 4# Mon Mar 29 12:01:41 2010
5# 5#
6CONFIG_ARM=y 6CONFIG_ARM=y
7CONFIG_SYS_SUPPORTS_APM_EMULATION=y 7CONFIG_SYS_SUPPORTS_APM_EMULATION=y
8CONFIG_GENERIC_TIME=y 8CONFIG_GENERIC_TIME=y
9CONFIG_GENERIC_CLOCKEVENTS=y 9CONFIG_GENERIC_CLOCKEVENTS=y
10CONFIG_MMU=y 10CONFIG_HAVE_PROC_CPU=y
11CONFIG_GENERIC_HARDIRQS=y 11CONFIG_GENERIC_HARDIRQS=y
12CONFIG_STACKTRACE_SUPPORT=y 12CONFIG_STACKTRACE_SUPPORT=y
13CONFIG_HAVE_LATENCYTOP_SUPPORT=y 13CONFIG_HAVE_LATENCYTOP_SUPPORT=y
@@ -18,6 +18,7 @@ CONFIG_GENERIC_IRQ_PROBE=y
18CONFIG_RWSEM_GENERIC_SPINLOCK=y 18CONFIG_RWSEM_GENERIC_SPINLOCK=y
19CONFIG_GENERIC_HWEIGHT=y 19CONFIG_GENERIC_HWEIGHT=y
20CONFIG_GENERIC_CALIBRATE_DELAY=y 20CONFIG_GENERIC_CALIBRATE_DELAY=y
21CONFIG_NEED_DMA_MAP_STATE=y
21CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y 22CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
22CONFIG_VECTORS_BASE=0xffff0000 23CONFIG_VECTORS_BASE=0xffff0000
23CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 24CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
@@ -32,6 +33,12 @@ CONFIG_LOCK_KERNEL=y
32CONFIG_INIT_ENV_ARG_LIMIT=32 33CONFIG_INIT_ENV_ARG_LIMIT=32
33CONFIG_LOCALVERSION="" 34CONFIG_LOCALVERSION=""
34# CONFIG_LOCALVERSION_AUTO is not set 35# CONFIG_LOCALVERSION_AUTO is not set
36CONFIG_HAVE_KERNEL_GZIP=y
37CONFIG_HAVE_KERNEL_LZO=y
38CONFIG_KERNEL_GZIP=y
39# CONFIG_KERNEL_BZIP2 is not set
40# CONFIG_KERNEL_LZMA is not set
41# CONFIG_KERNEL_LZO is not set
35# CONFIG_SWAP is not set 42# CONFIG_SWAP is not set
36CONFIG_SYSVIPC=y 43CONFIG_SYSVIPC=y
37CONFIG_SYSVIPC_SYSCTL=y 44CONFIG_SYSVIPC_SYSCTL=y
@@ -43,21 +50,22 @@ CONFIG_SYSVIPC_SYSCTL=y
43# 50#
44# RCU Subsystem 51# RCU Subsystem
45# 52#
46CONFIG_CLASSIC_RCU=y 53CONFIG_TREE_RCU=y
47# CONFIG_TREE_RCU is not set 54# CONFIG_TREE_PREEMPT_RCU is not set
48# CONFIG_PREEMPT_RCU is not set 55# CONFIG_TINY_RCU is not set
56# CONFIG_RCU_TRACE is not set
57CONFIG_RCU_FANOUT=32
58# CONFIG_RCU_FANOUT_EXACT is not set
49# CONFIG_TREE_RCU_TRACE is not set 59# CONFIG_TREE_RCU_TRACE is not set
50# CONFIG_PREEMPT_RCU_TRACE is not set
51# CONFIG_IKCONFIG is not set 60# CONFIG_IKCONFIG is not set
52CONFIG_LOG_BUF_SHIFT=17 61CONFIG_LOG_BUF_SHIFT=17
53# CONFIG_GROUP_SCHED is not set
54# CONFIG_CGROUPS is not set
55# CONFIG_SYSFS_DEPRECATED_V2 is not set 62# CONFIG_SYSFS_DEPRECATED_V2 is not set
56# CONFIG_RELAY is not set 63# CONFIG_RELAY is not set
57# CONFIG_NAMESPACES is not set 64# CONFIG_NAMESPACES is not set
58# CONFIG_BLK_DEV_INITRD is not set 65# CONFIG_BLK_DEV_INITRD is not set
59CONFIG_CC_OPTIMIZE_FOR_SIZE=y 66CONFIG_CC_OPTIMIZE_FOR_SIZE=y
60CONFIG_SYSCTL=y 67CONFIG_SYSCTL=y
68CONFIG_ANON_INODES=y
61CONFIG_EMBEDDED=y 69CONFIG_EMBEDDED=y
62CONFIG_UID16=y 70CONFIG_UID16=y
63CONFIG_SYSCTL_SYSCALL=y 71CONFIG_SYSCTL_SYSCALL=y
@@ -75,19 +83,21 @@ CONFIG_FUTEX=y
75# CONFIG_EVENTFD is not set 83# CONFIG_EVENTFD is not set
76CONFIG_SHMEM=y 84CONFIG_SHMEM=y
77# CONFIG_AIO is not set 85# CONFIG_AIO is not set
86CONFIG_HAVE_PERF_EVENTS=y
87CONFIG_PERF_USE_VMALLOC=y
78 88
79# 89#
80# Performance Counters 90# Kernel Performance Events And Counters
81# 91#
92CONFIG_PERF_EVENTS=y
93CONFIG_PERF_COUNTERS=y
82# CONFIG_VM_EVENT_COUNTERS is not set 94# CONFIG_VM_EVENT_COUNTERS is not set
83# CONFIG_SLUB_DEBUG is not set 95# CONFIG_SLUB_DEBUG is not set
84# CONFIG_STRIP_ASM_SYMS is not set
85# CONFIG_COMPAT_BRK is not set 96# CONFIG_COMPAT_BRK is not set
86# CONFIG_SLAB is not set 97# CONFIG_SLAB is not set
87CONFIG_SLUB=y 98CONFIG_SLUB=y
88# CONFIG_SLOB is not set 99# CONFIG_SLOB is not set
89# CONFIG_PROFILING is not set 100# CONFIG_PROFILING is not set
90# CONFIG_MARKERS is not set
91CONFIG_HAVE_OPROFILE=y 101CONFIG_HAVE_OPROFILE=y
92# CONFIG_KPROBES is not set 102# CONFIG_KPROBES is not set
93CONFIG_HAVE_KPROBES=y 103CONFIG_HAVE_KPROBES=y
@@ -115,24 +125,53 @@ CONFIG_LBDAF=y
115# IO Schedulers 125# IO Schedulers
116# 126#
117CONFIG_IOSCHED_NOOP=y 127CONFIG_IOSCHED_NOOP=y
118# CONFIG_IOSCHED_AS is not set
119# CONFIG_IOSCHED_DEADLINE is not set 128# CONFIG_IOSCHED_DEADLINE is not set
120# CONFIG_IOSCHED_CFQ is not set 129# CONFIG_IOSCHED_CFQ is not set
121# CONFIG_DEFAULT_AS is not set
122# CONFIG_DEFAULT_DEADLINE is not set 130# CONFIG_DEFAULT_DEADLINE is not set
123# CONFIG_DEFAULT_CFQ is not set 131# CONFIG_DEFAULT_CFQ is not set
124CONFIG_DEFAULT_NOOP=y 132CONFIG_DEFAULT_NOOP=y
125CONFIG_DEFAULT_IOSCHED="noop" 133CONFIG_DEFAULT_IOSCHED="noop"
134# CONFIG_INLINE_SPIN_TRYLOCK is not set
135# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
136# CONFIG_INLINE_SPIN_LOCK is not set
137# CONFIG_INLINE_SPIN_LOCK_BH is not set
138# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
139# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
140# CONFIG_INLINE_SPIN_UNLOCK is not set
141# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
142# CONFIG_INLINE_SPIN_UNLOCK_IRQ is not set
143# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
144# CONFIG_INLINE_READ_TRYLOCK is not set
145# CONFIG_INLINE_READ_LOCK is not set
146# CONFIG_INLINE_READ_LOCK_BH is not set
147# CONFIG_INLINE_READ_LOCK_IRQ is not set
148# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
149# CONFIG_INLINE_READ_UNLOCK is not set
150# CONFIG_INLINE_READ_UNLOCK_BH is not set
151# CONFIG_INLINE_READ_UNLOCK_IRQ is not set
152# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
153# CONFIG_INLINE_WRITE_TRYLOCK is not set
154# CONFIG_INLINE_WRITE_LOCK is not set
155# CONFIG_INLINE_WRITE_LOCK_BH is not set
156# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
157# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
158# CONFIG_INLINE_WRITE_UNLOCK is not set
159# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
160# CONFIG_INLINE_WRITE_UNLOCK_IRQ is not set
161# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
162# CONFIG_MUTEX_SPIN_ON_OWNER is not set
126# CONFIG_FREEZER is not set 163# CONFIG_FREEZER is not set
127 164
128# 165#
129# System Type 166# System Type
130# 167#
168CONFIG_MMU=y
131# CONFIG_ARCH_AAEC2000 is not set 169# CONFIG_ARCH_AAEC2000 is not set
132# CONFIG_ARCH_INTEGRATOR is not set 170# CONFIG_ARCH_INTEGRATOR is not set
133# CONFIG_ARCH_REALVIEW is not set 171# CONFIG_ARCH_REALVIEW is not set
134# CONFIG_ARCH_VERSATILE is not set 172# CONFIG_ARCH_VERSATILE is not set
135# CONFIG_ARCH_AT91 is not set 173# CONFIG_ARCH_AT91 is not set
174CONFIG_ARCH_BCMRING=y
136# CONFIG_ARCH_CLPS711X is not set 175# CONFIG_ARCH_CLPS711X is not set
137# CONFIG_ARCH_GEMINI is not set 176# CONFIG_ARCH_GEMINI is not set
138# CONFIG_ARCH_EBSA110 is not set 177# CONFIG_ARCH_EBSA110 is not set
@@ -149,6 +188,7 @@ CONFIG_DEFAULT_IOSCHED="noop"
149# CONFIG_ARCH_IXP2000 is not set 188# CONFIG_ARCH_IXP2000 is not set
150# CONFIG_ARCH_IXP4XX is not set 189# CONFIG_ARCH_IXP4XX is not set
151# CONFIG_ARCH_L7200 is not set 190# CONFIG_ARCH_L7200 is not set
191# CONFIG_ARCH_DOVE is not set
152# CONFIG_ARCH_KIRKWOOD is not set 192# CONFIG_ARCH_KIRKWOOD is not set
153# CONFIG_ARCH_LOKI is not set 193# CONFIG_ARCH_LOKI is not set
154# CONFIG_ARCH_MV78XX0 is not set 194# CONFIG_ARCH_MV78XX0 is not set
@@ -157,19 +197,26 @@ CONFIG_DEFAULT_IOSCHED="noop"
157# CONFIG_ARCH_KS8695 is not set 197# CONFIG_ARCH_KS8695 is not set
158# CONFIG_ARCH_NS9XXX is not set 198# CONFIG_ARCH_NS9XXX is not set
159# CONFIG_ARCH_W90X900 is not set 199# CONFIG_ARCH_W90X900 is not set
200# CONFIG_ARCH_NUC93X is not set
160# CONFIG_ARCH_PNX4008 is not set 201# CONFIG_ARCH_PNX4008 is not set
161# CONFIG_ARCH_PXA is not set 202# CONFIG_ARCH_PXA is not set
162# CONFIG_ARCH_MSM is not set 203# CONFIG_ARCH_MSM is not set
204# CONFIG_ARCH_SHMOBILE is not set
163# CONFIG_ARCH_RPC is not set 205# CONFIG_ARCH_RPC is not set
164# CONFIG_ARCH_SA1100 is not set 206# CONFIG_ARCH_SA1100 is not set
165# CONFIG_ARCH_S3C2410 is not set 207# CONFIG_ARCH_S3C2410 is not set
166# CONFIG_ARCH_S3C64XX is not set 208# CONFIG_ARCH_S3C64XX is not set
209# CONFIG_ARCH_S5P6440 is not set
210# CONFIG_ARCH_S5P6442 is not set
211# CONFIG_ARCH_S5PC1XX is not set
212# CONFIG_ARCH_S5PV210 is not set
167# CONFIG_ARCH_SHARK is not set 213# CONFIG_ARCH_SHARK is not set
168# CONFIG_ARCH_LH7A40X is not set 214# CONFIG_ARCH_LH7A40X is not set
169# CONFIG_ARCH_U300 is not set 215# CONFIG_ARCH_U300 is not set
216# CONFIG_ARCH_U8500 is not set
217# CONFIG_ARCH_NOMADIK is not set
170# CONFIG_ARCH_DAVINCI is not set 218# CONFIG_ARCH_DAVINCI is not set
171# CONFIG_ARCH_OMAP is not set 219# CONFIG_ARCH_OMAP is not set
172CONFIG_ARCH_BCMRING=y
173# CONFIG_ARCH_FPGA11107 is not set 220# CONFIG_ARCH_FPGA11107 is not set
174CONFIG_ARCH_BCM11107=y 221CONFIG_ARCH_BCM11107=y
175 222
@@ -185,7 +232,7 @@ CONFIG_CPU_V6=y
185CONFIG_CPU_32v6K=y 232CONFIG_CPU_32v6K=y
186CONFIG_CPU_32v6=y 233CONFIG_CPU_32v6=y
187CONFIG_CPU_ABRT_EV6=y 234CONFIG_CPU_ABRT_EV6=y
188CONFIG_CPU_PABRT_NOIFAR=y 235CONFIG_CPU_PABRT_V6=y
189CONFIG_CPU_CACHE_V6=y 236CONFIG_CPU_CACHE_V6=y
190CONFIG_CPU_CACHE_VIPT=y 237CONFIG_CPU_CACHE_VIPT=y
191CONFIG_CPU_COPY_V6=y 238CONFIG_CPU_COPY_V6=y
@@ -201,6 +248,8 @@ CONFIG_ARM_THUMB=y
201# CONFIG_CPU_ICACHE_DISABLE is not set 248# CONFIG_CPU_ICACHE_DISABLE is not set
202# CONFIG_CPU_DCACHE_DISABLE is not set 249# CONFIG_CPU_DCACHE_DISABLE is not set
203# CONFIG_CPU_BPREDICT_DISABLE is not set 250# CONFIG_CPU_BPREDICT_DISABLE is not set
251CONFIG_ARM_L1_CACHE_SHIFT=5
252CONFIG_CPU_HAS_PMU=y
204# CONFIG_ARM_ERRATA_411920 is not set 253# CONFIG_ARM_ERRATA_411920 is not set
205CONFIG_COMMON_CLKDEV=y 254CONFIG_COMMON_CLKDEV=y
206 255
@@ -222,6 +271,8 @@ CONFIG_VMSPLIT_3G=y
222# CONFIG_VMSPLIT_2G is not set 271# CONFIG_VMSPLIT_2G is not set
223# CONFIG_VMSPLIT_1G is not set 272# CONFIG_VMSPLIT_1G is not set
224CONFIG_PAGE_OFFSET=0xC0000000 273CONFIG_PAGE_OFFSET=0xC0000000
274# CONFIG_PREEMPT_NONE is not set
275# CONFIG_PREEMPT_VOLUNTARY is not set
225CONFIG_PREEMPT=y 276CONFIG_PREEMPT=y
226CONFIG_HZ=100 277CONFIG_HZ=100
227CONFIG_AEABI=y 278CONFIG_AEABI=y
@@ -229,6 +280,7 @@ CONFIG_AEABI=y
229# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set 280# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
230# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set 281# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
231# CONFIG_HIGHMEM is not set 282# CONFIG_HIGHMEM is not set
283CONFIG_HW_PERF_EVENTS=y
232CONFIG_SELECT_MEMORY_MODEL=y 284CONFIG_SELECT_MEMORY_MODEL=y
233CONFIG_FLATMEM_MANUAL=y 285CONFIG_FLATMEM_MANUAL=y
234# CONFIG_DISCONTIGMEM_MANUAL is not set 286# CONFIG_DISCONTIGMEM_MANUAL is not set
@@ -240,8 +292,7 @@ CONFIG_SPLIT_PTLOCK_CPUS=4
240# CONFIG_PHYS_ADDR_T_64BIT is not set 292# CONFIG_PHYS_ADDR_T_64BIT is not set
241CONFIG_ZONE_DMA_FLAG=0 293CONFIG_ZONE_DMA_FLAG=0
242CONFIG_VIRT_TO_BUS=y 294CONFIG_VIRT_TO_BUS=y
243CONFIG_HAVE_MLOCK=y 295# CONFIG_KSM is not set
244CONFIG_HAVE_MLOCKED_PAGE_BIT=y
245CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 296CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
246CONFIG_ALIGNMENT_TRAP=y 297CONFIG_ALIGNMENT_TRAP=y
247CONFIG_UACCESS_WITH_MEMCPY=y 298CONFIG_UACCESS_WITH_MEMCPY=y
@@ -335,9 +386,9 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
335# CONFIG_CONNECTOR is not set 386# CONFIG_CONNECTOR is not set
336CONFIG_MTD=y 387CONFIG_MTD=y
337# CONFIG_MTD_DEBUG is not set 388# CONFIG_MTD_DEBUG is not set
389# CONFIG_MTD_TESTS is not set
338CONFIG_MTD_CONCAT=y 390CONFIG_MTD_CONCAT=y
339CONFIG_MTD_PARTITIONS=y 391CONFIG_MTD_PARTITIONS=y
340# CONFIG_MTD_TESTS is not set
341# CONFIG_MTD_REDBOOT_PARTS is not set 392# CONFIG_MTD_REDBOOT_PARTS is not set
342CONFIG_MTD_CMDLINE_PARTS=y 393CONFIG_MTD_CMDLINE_PARTS=y
343# CONFIG_MTD_AFS_PARTS is not set 394# CONFIG_MTD_AFS_PARTS is not set
@@ -433,6 +484,10 @@ CONFIG_MTD_NAND_BCM_UMI_HWCS=y
433CONFIG_BLK_DEV=y 484CONFIG_BLK_DEV=y
434# CONFIG_BLK_DEV_COW_COMMON is not set 485# CONFIG_BLK_DEV_COW_COMMON is not set
435# CONFIG_BLK_DEV_LOOP is not set 486# CONFIG_BLK_DEV_LOOP is not set
487
488#
489# DRBD disabled because PROC_FS, INET or CONNECTOR not selected
490#
436# CONFIG_BLK_DEV_NBD is not set 491# CONFIG_BLK_DEV_NBD is not set
437# CONFIG_BLK_DEV_RAM is not set 492# CONFIG_BLK_DEV_RAM is not set
438# CONFIG_CDROM_PKTCDVD is not set 493# CONFIG_CDROM_PKTCDVD is not set
@@ -444,6 +499,7 @@ CONFIG_HAVE_IDE=y
444# 499#
445# SCSI device support 500# SCSI device support
446# 501#
502CONFIG_SCSI_MOD=y
447# CONFIG_RAID_ATTRS is not set 503# CONFIG_RAID_ATTRS is not set
448# CONFIG_SCSI is not set 504# CONFIG_SCSI is not set
449# CONFIG_SCSI_DMA is not set 505# CONFIG_SCSI_DMA is not set
@@ -452,6 +508,7 @@ CONFIG_HAVE_IDE=y
452# CONFIG_MD is not set 508# CONFIG_MD is not set
453# CONFIG_NETDEVICES is not set 509# CONFIG_NETDEVICES is not set
454# CONFIG_ISDN is not set 510# CONFIG_ISDN is not set
511# CONFIG_PHONE is not set
455 512
456# 513#
457# Input device support 514# Input device support
@@ -459,6 +516,7 @@ CONFIG_HAVE_IDE=y
459CONFIG_INPUT=y 516CONFIG_INPUT=y
460# CONFIG_INPUT_FF_MEMLESS is not set 517# CONFIG_INPUT_FF_MEMLESS is not set
461# CONFIG_INPUT_POLLDEV is not set 518# CONFIG_INPUT_POLLDEV is not set
519# CONFIG_INPUT_SPARSEKMAP is not set
462 520
463# 521#
464# Userland interfaces 522# Userland interfaces
@@ -508,6 +566,7 @@ CONFIG_SERIAL_AMBA_PL011=y
508CONFIG_SERIAL_AMBA_PL011_CONSOLE=y 566CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
509CONFIG_SERIAL_CORE=y 567CONFIG_SERIAL_CORE=y
510CONFIG_SERIAL_CORE_CONSOLE=y 568CONFIG_SERIAL_CORE_CONSOLE=y
569# CONFIG_SERIAL_TIMBERDALE is not set
511CONFIG_UNIX98_PTYS=y 570CONFIG_UNIX98_PTYS=y
512# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set 571# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
513CONFIG_LEGACY_PTYS=y 572CONFIG_LEGACY_PTYS=y
@@ -519,13 +578,17 @@ CONFIG_LEGACY_PTY_COUNT=64
519# CONFIG_TCG_TPM is not set 578# CONFIG_TCG_TPM is not set
520# CONFIG_I2C is not set 579# CONFIG_I2C is not set
521# CONFIG_SPI is not set 580# CONFIG_SPI is not set
581
582#
583# PPS support
584#
585# CONFIG_PPS is not set
522CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y 586CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
523# CONFIG_GPIOLIB is not set 587# CONFIG_GPIOLIB is not set
524# CONFIG_W1 is not set 588# CONFIG_W1 is not set
525# CONFIG_POWER_SUPPLY is not set 589# CONFIG_POWER_SUPPLY is not set
526# CONFIG_HWMON is not set 590# CONFIG_HWMON is not set
527# CONFIG_THERMAL is not set 591# CONFIG_THERMAL is not set
528# CONFIG_THERMAL_HWMON is not set
529# CONFIG_WATCHDOG is not set 592# CONFIG_WATCHDOG is not set
530CONFIG_SSB_POSSIBLE=y 593CONFIG_SSB_POSSIBLE=y
531 594
@@ -541,6 +604,7 @@ CONFIG_SSB_POSSIBLE=y
541# CONFIG_MFD_SM501 is not set 604# CONFIG_MFD_SM501 is not set
542# CONFIG_HTC_PASIC3 is not set 605# CONFIG_HTC_PASIC3 is not set
543# CONFIG_MFD_TMIO is not set 606# CONFIG_MFD_TMIO is not set
607# CONFIG_REGULATOR is not set
544# CONFIG_MEDIA_SUPPORT is not set 608# CONFIG_MEDIA_SUPPORT is not set
545 609
546# 610#
@@ -566,14 +630,17 @@ CONFIG_DUMMY_CONSOLE=y
566# CONFIG_USB_SUPPORT is not set 630# CONFIG_USB_SUPPORT is not set
567# CONFIG_MMC is not set 631# CONFIG_MMC is not set
568# CONFIG_MEMSTICK is not set 632# CONFIG_MEMSTICK is not set
569# CONFIG_ACCESSIBILITY is not set
570# CONFIG_NEW_LEDS is not set 633# CONFIG_NEW_LEDS is not set
634# CONFIG_ACCESSIBILITY is not set
571CONFIG_RTC_LIB=y 635CONFIG_RTC_LIB=y
572# CONFIG_RTC_CLASS is not set 636# CONFIG_RTC_CLASS is not set
573# CONFIG_DMADEVICES is not set 637# CONFIG_DMADEVICES is not set
574# CONFIG_AUXDISPLAY is not set 638# CONFIG_AUXDISPLAY is not set
575# CONFIG_REGULATOR is not set
576# CONFIG_UIO is not set 639# CONFIG_UIO is not set
640
641#
642# TI VLYNQ
643#
577# CONFIG_STAGING is not set 644# CONFIG_STAGING is not set
578 645
579# 646#
@@ -589,9 +656,12 @@ CONFIG_FS_POSIX_ACL=y
589# CONFIG_GFS2_FS is not set 656# CONFIG_GFS2_FS is not set
590# CONFIG_OCFS2_FS is not set 657# CONFIG_OCFS2_FS is not set
591# CONFIG_BTRFS_FS is not set 658# CONFIG_BTRFS_FS is not set
659# CONFIG_NILFS2_FS is not set
592# CONFIG_FILE_LOCKING is not set 660# CONFIG_FILE_LOCKING is not set
593# CONFIG_FSNOTIFY is not set 661# CONFIG_FSNOTIFY is not set
662# CONFIG_DNOTIFY is not set
594# CONFIG_INOTIFY is not set 663# CONFIG_INOTIFY is not set
664# CONFIG_INOTIFY_USER is not set
595# CONFIG_QUOTA is not set 665# CONFIG_QUOTA is not set
596# CONFIG_AUTOFS_FS is not set 666# CONFIG_AUTOFS_FS is not set
597# CONFIG_AUTOFS4_FS is not set 667# CONFIG_AUTOFS4_FS is not set
@@ -647,6 +717,7 @@ CONFIG_JFFS2_ZLIB=y
647# CONFIG_JFFS2_LZO is not set 717# CONFIG_JFFS2_LZO is not set
648CONFIG_JFFS2_RTIME=y 718CONFIG_JFFS2_RTIME=y
649# CONFIG_JFFS2_RUBIN is not set 719# CONFIG_JFFS2_RUBIN is not set
720# CONFIG_LOGFS is not set
650# CONFIG_CRAMFS is not set 721# CONFIG_CRAMFS is not set
651# CONFIG_SQUASHFS is not set 722# CONFIG_SQUASHFS is not set
652# CONFIG_VXFS_FS is not set 723# CONFIG_VXFS_FS is not set
@@ -657,7 +728,6 @@ CONFIG_JFFS2_RTIME=y
657# CONFIG_ROMFS_FS is not set 728# CONFIG_ROMFS_FS is not set
658# CONFIG_SYSV_FS is not set 729# CONFIG_SYSV_FS is not set
659# CONFIG_UFS_FS is not set 730# CONFIG_UFS_FS is not set
660# CONFIG_NILFS2_FS is not set
661# CONFIG_NETWORK_FILESYSTEMS is not set 731# CONFIG_NETWORK_FILESYSTEMS is not set
662 732
663# 733#
@@ -675,11 +745,12 @@ CONFIG_MSDOS_PARTITION=y
675CONFIG_ENABLE_MUST_CHECK=y 745CONFIG_ENABLE_MUST_CHECK=y
676CONFIG_FRAME_WARN=1024 746CONFIG_FRAME_WARN=1024
677CONFIG_MAGIC_SYSRQ=y 747CONFIG_MAGIC_SYSRQ=y
748# CONFIG_STRIP_ASM_SYMS is not set
678# CONFIG_UNUSED_SYMBOLS is not set 749# CONFIG_UNUSED_SYMBOLS is not set
679# CONFIG_DEBUG_FS is not set 750# CONFIG_DEBUG_FS is not set
680CONFIG_HEADERS_CHECK=y 751CONFIG_HEADERS_CHECK=y
681# CONFIG_DEBUG_KERNEL is not set 752# CONFIG_DEBUG_KERNEL is not set
682# CONFIG_DEBUG_BUGVERBOSE is not set 753CONFIG_DEBUG_BUGVERBOSE=y
683# CONFIG_DEBUG_MEMORY_INIT is not set 754# CONFIG_DEBUG_MEMORY_INIT is not set
684CONFIG_FRAME_POINTER=y 755CONFIG_FRAME_POINTER=y
685# CONFIG_RCU_CPU_STALL_DETECTOR is not set 756# CONFIG_RCU_CPU_STALL_DETECTOR is not set
@@ -693,6 +764,7 @@ CONFIG_TRACING_SUPPORT=y
693CONFIG_HAVE_ARCH_KGDB=y 764CONFIG_HAVE_ARCH_KGDB=y
694# CONFIG_ARM_UNWIND is not set 765# CONFIG_ARM_UNWIND is not set
695# CONFIG_DEBUG_USER is not set 766# CONFIG_DEBUG_USER is not set
767# CONFIG_OC_ETM is not set
696 768
697# 769#
698# Security options 770# Security options
@@ -700,7 +772,11 @@ CONFIG_HAVE_ARCH_KGDB=y
700# CONFIG_KEYS is not set 772# CONFIG_KEYS is not set
701# CONFIG_SECURITY is not set 773# CONFIG_SECURITY is not set
702# CONFIG_SECURITYFS is not set 774# CONFIG_SECURITYFS is not set
703# CONFIG_SECURITY_FILE_CAPABILITIES is not set 775# CONFIG_DEFAULT_SECURITY_SELINUX is not set
776# CONFIG_DEFAULT_SECURITY_SMACK is not set
777# CONFIG_DEFAULT_SECURITY_TOMOYO is not set
778CONFIG_DEFAULT_SECURITY_DAC=y
779CONFIG_DEFAULT_SECURITY=""
704# CONFIG_CRYPTO is not set 780# CONFIG_CRYPTO is not set
705# CONFIG_BINARY_PRINTF is not set 781# CONFIG_BINARY_PRINTF is not set
706 782
diff --git a/arch/arm/configs/imote2_defconfig b/arch/arm/configs/imote2_defconfig
index 95d2becfc66..21f2bff8a36 100644
--- a/arch/arm/configs/imote2_defconfig
+++ b/arch/arm/configs/imote2_defconfig
@@ -1,13 +1,14 @@
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-rc8 3# Linux kernel version: 2.6.34-rc2
4# Sat Feb 13 21:48:53 2010 4# Thu Apr 8 14:49:08 2010
5# 5#
6CONFIG_ARM=y 6CONFIG_ARM=y
7CONFIG_SYS_SUPPORTS_APM_EMULATION=y 7CONFIG_SYS_SUPPORTS_APM_EMULATION=y
8CONFIG_GENERIC_GPIO=y 8CONFIG_GENERIC_GPIO=y
9CONFIG_GENERIC_TIME=y 9CONFIG_GENERIC_TIME=y
10CONFIG_GENERIC_CLOCKEVENTS=y 10CONFIG_GENERIC_CLOCKEVENTS=y
11CONFIG_HAVE_PROC_CPU=y
11CONFIG_GENERIC_HARDIRQS=y 12CONFIG_GENERIC_HARDIRQS=y
12CONFIG_STACKTRACE_SUPPORT=y 13CONFIG_STACKTRACE_SUPPORT=y
13CONFIG_HAVE_LATENCYTOP_SUPPORT=y 14CONFIG_HAVE_LATENCYTOP_SUPPORT=y
@@ -19,6 +20,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y
19CONFIG_ARCH_HAS_CPUFREQ=y 20CONFIG_ARCH_HAS_CPUFREQ=y
20CONFIG_GENERIC_HWEIGHT=y 21CONFIG_GENERIC_HWEIGHT=y
21CONFIG_GENERIC_CALIBRATE_DELAY=y 22CONFIG_GENERIC_CALIBRATE_DELAY=y
23CONFIG_NEED_DMA_MAP_STATE=y
22CONFIG_ARCH_MTD_XIP=y 24CONFIG_ARCH_MTD_XIP=y
23CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y 25CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
24CONFIG_VECTORS_BASE=0xffff0000 26CONFIG_VECTORS_BASE=0xffff0000
@@ -60,11 +62,6 @@ CONFIG_RCU_FANOUT=32
60# CONFIG_TREE_RCU_TRACE is not set 62# CONFIG_TREE_RCU_TRACE is not set
61# CONFIG_IKCONFIG is not set 63# CONFIG_IKCONFIG is not set
62CONFIG_LOG_BUF_SHIFT=14 64CONFIG_LOG_BUF_SHIFT=14
63CONFIG_GROUP_SCHED=y
64CONFIG_FAIR_GROUP_SCHED=y
65# CONFIG_RT_GROUP_SCHED is not set
66CONFIG_USER_SCHED=y
67# CONFIG_CGROUP_SCHED is not set
68# CONFIG_CGROUPS is not set 65# CONFIG_CGROUPS is not set
69CONFIG_SYSFS_DEPRECATED=y 66CONFIG_SYSFS_DEPRECATED=y
70CONFIG_SYSFS_DEPRECATED_V2=y 67CONFIG_SYSFS_DEPRECATED_V2=y
@@ -97,10 +94,14 @@ CONFIG_TIMERFD=y
97CONFIG_EVENTFD=y 94CONFIG_EVENTFD=y
98CONFIG_SHMEM=y 95CONFIG_SHMEM=y
99CONFIG_AIO=y 96CONFIG_AIO=y
97CONFIG_HAVE_PERF_EVENTS=y
98CONFIG_PERF_USE_VMALLOC=y
100 99
101# 100#
102# Kernel Performance Events And Counters 101# Kernel Performance Events And Counters
103# 102#
103# CONFIG_PERF_EVENTS is not set
104# CONFIG_PERF_COUNTERS is not set
104CONFIG_VM_EVENT_COUNTERS=y 105CONFIG_VM_EVENT_COUNTERS=y
105# CONFIG_COMPAT_BRK is not set 106# CONFIG_COMPAT_BRK is not set
106CONFIG_SLAB=y 107CONFIG_SLAB=y
@@ -184,6 +185,7 @@ CONFIG_MMU=y
184# CONFIG_ARCH_REALVIEW is not set 185# CONFIG_ARCH_REALVIEW is not set
185# CONFIG_ARCH_VERSATILE is not set 186# CONFIG_ARCH_VERSATILE is not set
186# CONFIG_ARCH_AT91 is not set 187# CONFIG_ARCH_AT91 is not set
188# CONFIG_ARCH_BCMRING is not set
187# CONFIG_ARCH_CLPS711X is not set 189# CONFIG_ARCH_CLPS711X is not set
188# CONFIG_ARCH_GEMINI is not set 190# CONFIG_ARCH_GEMINI is not set
189# CONFIG_ARCH_EBSA110 is not set 191# CONFIG_ARCH_EBSA110 is not set
@@ -193,7 +195,6 @@ CONFIG_MMU=y
193# CONFIG_ARCH_STMP3XXX is not set 195# CONFIG_ARCH_STMP3XXX is not set
194# CONFIG_ARCH_NETX is not set 196# CONFIG_ARCH_NETX is not set
195# CONFIG_ARCH_H720X is not set 197# CONFIG_ARCH_H720X is not set
196# CONFIG_ARCH_NOMADIK is not set
197# CONFIG_ARCH_IOP13XX is not set 198# CONFIG_ARCH_IOP13XX is not set
198# CONFIG_ARCH_IOP32X is not set 199# CONFIG_ARCH_IOP32X is not set
199# CONFIG_ARCH_IOP33X is not set 200# CONFIG_ARCH_IOP33X is not set
@@ -210,21 +211,26 @@ CONFIG_MMU=y
210# CONFIG_ARCH_KS8695 is not set 211# CONFIG_ARCH_KS8695 is not set
211# CONFIG_ARCH_NS9XXX is not set 212# CONFIG_ARCH_NS9XXX is not set
212# CONFIG_ARCH_W90X900 is not set 213# CONFIG_ARCH_W90X900 is not set
214# CONFIG_ARCH_NUC93X is not set
213# CONFIG_ARCH_PNX4008 is not set 215# CONFIG_ARCH_PNX4008 is not set
214CONFIG_ARCH_PXA=y 216CONFIG_ARCH_PXA=y
215# CONFIG_ARCH_MSM is not set 217# CONFIG_ARCH_MSM is not set
218# CONFIG_ARCH_SHMOBILE is not set
216# CONFIG_ARCH_RPC is not set 219# CONFIG_ARCH_RPC is not set
217# CONFIG_ARCH_SA1100 is not set 220# CONFIG_ARCH_SA1100 is not set
218# CONFIG_ARCH_S3C2410 is not set 221# CONFIG_ARCH_S3C2410 is not set
219# CONFIG_ARCH_S3C64XX is not set 222# CONFIG_ARCH_S3C64XX is not set
223# CONFIG_ARCH_S5P6440 is not set
224# CONFIG_ARCH_S5P6442 is not set
220# CONFIG_ARCH_S5PC1XX is not set 225# CONFIG_ARCH_S5PC1XX is not set
226# CONFIG_ARCH_S5PV210 is not set
221# CONFIG_ARCH_SHARK is not set 227# CONFIG_ARCH_SHARK is not set
222# CONFIG_ARCH_LH7A40X is not set 228# CONFIG_ARCH_LH7A40X is not set
223# CONFIG_ARCH_U300 is not set 229# CONFIG_ARCH_U300 is not set
230# CONFIG_ARCH_U8500 is not set
231# CONFIG_ARCH_NOMADIK is not set
224# CONFIG_ARCH_DAVINCI is not set 232# CONFIG_ARCH_DAVINCI is not set
225# CONFIG_ARCH_OMAP is not set 233# CONFIG_ARCH_OMAP is not set
226# CONFIG_ARCH_BCMRING is not set
227# CONFIG_ARCH_U8500 is not set
228 234
229# 235#
230# Intel PXA2xx/PXA3xx Implementations 236# Intel PXA2xx/PXA3xx Implementations
@@ -253,6 +259,7 @@ CONFIG_ARCH_PXA=y
253# CONFIG_MACH_EM_X270 is not set 259# CONFIG_MACH_EM_X270 is not set
254# CONFIG_MACH_EXEDA is not set 260# CONFIG_MACH_EXEDA is not set
255# CONFIG_MACH_CM_X300 is not set 261# CONFIG_MACH_CM_X300 is not set
262# CONFIG_MACH_CAPC7117 is not set
256# CONFIG_ARCH_GUMSTIX is not set 263# CONFIG_ARCH_GUMSTIX is not set
257CONFIG_MACH_INTELMOTE2=y 264CONFIG_MACH_INTELMOTE2=y
258# CONFIG_MACH_STARGATE2 is not set 265# CONFIG_MACH_STARGATE2 is not set
@@ -275,7 +282,11 @@ CONFIG_MACH_INTELMOTE2=y
275# CONFIG_PXA_EZX is not set 282# CONFIG_PXA_EZX is not set
276# CONFIG_MACH_MP900C is not set 283# CONFIG_MACH_MP900C is not set
277# CONFIG_ARCH_PXA_PALM is not set 284# CONFIG_ARCH_PXA_PALM is not set
285# CONFIG_MACH_RAUMFELD_RC is not set
286# CONFIG_MACH_RAUMFELD_CONNECTOR is not set
287# CONFIG_MACH_RAUMFELD_SPEAKER is not set
278# CONFIG_PXA_SHARPSL is not set 288# CONFIG_PXA_SHARPSL is not set
289# CONFIG_MACH_ICONTROL is not set
279# CONFIG_ARCH_PXA_ESERIES is not set 290# CONFIG_ARCH_PXA_ESERIES is not set
280CONFIG_PXA27x=y 291CONFIG_PXA27x=y
281CONFIG_PXA_SSP=y 292CONFIG_PXA_SSP=y
@@ -302,6 +313,7 @@ CONFIG_ARM_THUMB=y
302CONFIG_ARM_L1_CACHE_SHIFT=5 313CONFIG_ARM_L1_CACHE_SHIFT=5
303CONFIG_IWMMXT=y 314CONFIG_IWMMXT=y
304CONFIG_XSCALE_PMU=y 315CONFIG_XSCALE_PMU=y
316CONFIG_CPU_HAS_PMU=y
305CONFIG_COMMON_CLKDEV=y 317CONFIG_COMMON_CLKDEV=y
306 318
307# 319#
@@ -352,7 +364,7 @@ CONFIG_ALIGNMENT_TRAP=y
352# 364#
353CONFIG_ZBOOT_ROM_TEXT=0x0 365CONFIG_ZBOOT_ROM_TEXT=0x0
354CONFIG_ZBOOT_ROM_BSS=0x0 366CONFIG_ZBOOT_ROM_BSS=0x0
355CONFIG_CMDLINE="console=tty1 root=/dev/mmcblk0p2 rootfstype=ext2 rootdelay=3 ip=192.168.0.202:192.168.0.200:192.168.0.200:255.255.255.0 debug" 367CONFIG_CMDLINE="root=/dev/mtdblock2 rootfstype=jffs2 console=ttyS2,115200 mem=32M"
356# CONFIG_XIP_KERNEL is not set 368# CONFIG_XIP_KERNEL is not set
357CONFIG_KEXEC=y 369CONFIG_KEXEC=y
358CONFIG_ATAGS_PROC=y 370CONFIG_ATAGS_PROC=y
@@ -360,24 +372,8 @@ CONFIG_ATAGS_PROC=y
360# 372#
361# CPU Power Management 373# CPU Power Management
362# 374#
363CONFIG_CPU_FREQ=y 375# CONFIG_CPU_FREQ is not set
364CONFIG_CPU_FREQ_TABLE=y 376# CONFIG_CPU_IDLE is not set
365CONFIG_CPU_FREQ_DEBUG=y
366CONFIG_CPU_FREQ_STAT=y
367# CONFIG_CPU_FREQ_STAT_DETAILS is not set
368CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
369# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
370# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
371# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
372# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
373CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
374CONFIG_CPU_FREQ_GOV_POWERSAVE=m
375CONFIG_CPU_FREQ_GOV_USERSPACE=m
376CONFIG_CPU_FREQ_GOV_ONDEMAND=m
377CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
378CONFIG_CPU_IDLE=y
379CONFIG_CPU_IDLE_GOV_LADDER=y
380CONFIG_CPU_IDLE_GOV_MENU=y
381 377
382# 378#
383# Floating point emulation 379# Floating point emulation
@@ -409,6 +405,7 @@ CONFIG_SUSPEND=y
409CONFIG_SUSPEND_FREEZER=y 405CONFIG_SUSPEND_FREEZER=y
410CONFIG_APM_EMULATION=y 406CONFIG_APM_EMULATION=y
411CONFIG_PM_RUNTIME=y 407CONFIG_PM_RUNTIME=y
408CONFIG_PM_OPS=y
412CONFIG_ARCH_SUSPEND_POSSIBLE=y 409CONFIG_ARCH_SUSPEND_POSSIBLE=y
413CONFIG_NET=y 410CONFIG_NET=y
414 411
@@ -416,7 +413,6 @@ CONFIG_NET=y
416# Networking options 413# Networking options
417# 414#
418CONFIG_PACKET=y 415CONFIG_PACKET=y
419CONFIG_PACKET_MMAP=y
420CONFIG_UNIX=y 416CONFIG_UNIX=y
421CONFIG_XFRM=y 417CONFIG_XFRM=y
422# CONFIG_XFRM_USER is not set 418# CONFIG_XFRM_USER is not set
@@ -506,6 +502,7 @@ CONFIG_NF_CT_NETLINK=m
506CONFIG_NETFILTER_XTABLES=m 502CONFIG_NETFILTER_XTABLES=m
507CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m 503CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
508# CONFIG_NETFILTER_XT_TARGET_CONNMARK is not set 504# CONFIG_NETFILTER_XT_TARGET_CONNMARK is not set
505# CONFIG_NETFILTER_XT_TARGET_CT is not set
509# CONFIG_NETFILTER_XT_TARGET_DSCP is not set 506# CONFIG_NETFILTER_XT_TARGET_DSCP is not set
510CONFIG_NETFILTER_XT_TARGET_HL=m 507CONFIG_NETFILTER_XT_TARGET_HL=m
511CONFIG_NETFILTER_XT_TARGET_LED=m 508CONFIG_NETFILTER_XT_TARGET_LED=m
@@ -622,6 +619,7 @@ CONFIG_IP6_NF_RAW=m
622# CONFIG_ATM is not set 619# CONFIG_ATM is not set
623CONFIG_STP=m 620CONFIG_STP=m
624CONFIG_BRIDGE=m 621CONFIG_BRIDGE=m
622# CONFIG_BRIDGE_IGMP_SNOOPING is not set
625# CONFIG_NET_DSA is not set 623# CONFIG_NET_DSA is not set
626# CONFIG_VLAN_8021Q is not set 624# CONFIG_VLAN_8021Q is not set
627# CONFIG_DECNET is not set 625# CONFIG_DECNET is not set
@@ -646,32 +644,7 @@ CONFIG_NET_CLS_ROUTE=y
646# CONFIG_HAMRADIO is not set 644# CONFIG_HAMRADIO is not set
647# CONFIG_CAN is not set 645# CONFIG_CAN is not set
648# CONFIG_IRDA is not set 646# CONFIG_IRDA is not set
649CONFIG_BT=y 647# CONFIG_BT is not set
650CONFIG_BT_L2CAP=y
651CONFIG_BT_SCO=y
652CONFIG_BT_RFCOMM=y
653CONFIG_BT_RFCOMM_TTY=y
654CONFIG_BT_BNEP=y
655CONFIG_BT_BNEP_MC_FILTER=y
656CONFIG_BT_BNEP_PROTO_FILTER=y
657CONFIG_BT_HIDP=y
658
659#
660# Bluetooth device drivers
661#
662CONFIG_BT_HCIBTUSB=m
663CONFIG_BT_HCIBTSDIO=m
664CONFIG_BT_HCIUART=y
665CONFIG_BT_HCIUART_H4=y
666# CONFIG_BT_HCIUART_BCSP is not set
667# CONFIG_BT_HCIUART_LL is not set
668CONFIG_BT_HCIBCM203X=m
669CONFIG_BT_HCIBPA10X=m
670CONFIG_BT_HCIBFUSB=m
671CONFIG_BT_HCIVHCI=m
672CONFIG_BT_MRVL=m
673CONFIG_BT_MRVL_SDIO=m
674# CONFIG_BT_ATH3K is not set
675# CONFIG_AF_RXRPC is not set 648# CONFIG_AF_RXRPC is not set
676CONFIG_FIB_RULES=y 649CONFIG_FIB_RULES=y
677# CONFIG_WIRELESS is not set 650# CONFIG_WIRELESS is not set
@@ -687,7 +660,8 @@ CONFIG_FIB_RULES=y
687# Generic Driver Options 660# Generic Driver Options
688# 661#
689CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 662CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
690# CONFIG_DEVTMPFS is not set 663CONFIG_DEVTMPFS=y
664CONFIG_DEVTMPFS_MOUNT=y
691CONFIG_STANDALONE=y 665CONFIG_STANDALONE=y
692CONFIG_PREVENT_FIRMWARE_BUILD=y 666CONFIG_PREVENT_FIRMWARE_BUILD=y
693CONFIG_FW_LOADER=m 667CONFIG_FW_LOADER=m
@@ -703,9 +677,9 @@ CONFIG_MTD=y
703# CONFIG_MTD_CONCAT is not set 677# CONFIG_MTD_CONCAT is not set
704CONFIG_MTD_PARTITIONS=y 678CONFIG_MTD_PARTITIONS=y
705# CONFIG_MTD_REDBOOT_PARTS is not set 679# CONFIG_MTD_REDBOOT_PARTS is not set
706# CONFIG_MTD_CMDLINE_PARTS is not set 680CONFIG_MTD_CMDLINE_PARTS=y
707# CONFIG_MTD_AFS_PARTS is not set 681CONFIG_MTD_AFS_PARTS=y
708# CONFIG_MTD_AR7_PARTS is not set 682CONFIG_MTD_AR7_PARTS=y
709 683
710# 684#
711# User Modules And Translation Layers 685# User Modules And Translation Layers
@@ -812,6 +786,7 @@ CONFIG_HAVE_IDE=y
812# 786#
813# SCSI device support 787# SCSI device support
814# 788#
789CONFIG_SCSI_MOD=y
815# CONFIG_RAID_ATTRS is not set 790# CONFIG_RAID_ATTRS is not set
816# CONFIG_SCSI is not set 791# CONFIG_SCSI is not set
817# CONFIG_SCSI_DMA is not set 792# CONFIG_SCSI_DMA is not set
@@ -965,6 +940,7 @@ CONFIG_SERIAL_PXA=y
965CONFIG_SERIAL_PXA_CONSOLE=y 940CONFIG_SERIAL_PXA_CONSOLE=y
966CONFIG_SERIAL_CORE=y 941CONFIG_SERIAL_CORE=y
967CONFIG_SERIAL_CORE_CONSOLE=y 942CONFIG_SERIAL_CORE_CONSOLE=y
943# CONFIG_SERIAL_TIMBERDALE is not set
968CONFIG_UNIX98_PTYS=y 944CONFIG_UNIX98_PTYS=y
969# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set 945# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
970CONFIG_LEGACY_PTYS=y 946CONFIG_LEGACY_PTYS=y
@@ -993,6 +969,7 @@ CONFIG_I2C_HELPER_AUTO=y
993CONFIG_I2C_PXA=y 969CONFIG_I2C_PXA=y
994# CONFIG_I2C_PXA_SLAVE is not set 970# CONFIG_I2C_PXA_SLAVE is not set
995# CONFIG_I2C_SIMTEC is not set 971# CONFIG_I2C_SIMTEC is not set
972# CONFIG_I2C_XILINX is not set
996 973
997# 974#
998# External I2C/SMBus adapter drivers 975# External I2C/SMBus adapter drivers
@@ -1006,15 +983,9 @@ CONFIG_I2C_PXA=y
1006# 983#
1007# CONFIG_I2C_PCA_PLATFORM is not set 984# CONFIG_I2C_PCA_PLATFORM is not set
1008# CONFIG_I2C_STUB is not set 985# 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 986# CONFIG_I2C_DEBUG_CORE is not set
1015# CONFIG_I2C_DEBUG_ALGO is not set 987# CONFIG_I2C_DEBUG_ALGO is not set
1016# CONFIG_I2C_DEBUG_BUS is not set 988# CONFIG_I2C_DEBUG_BUS is not set
1017# CONFIG_I2C_DEBUG_CHIP is not set
1018CONFIG_SPI=y 989CONFIG_SPI=y
1019# CONFIG_SPI_DEBUG is not set 990# CONFIG_SPI_DEBUG is not set
1020CONFIG_SPI_MASTER=y 991CONFIG_SPI_MASTER=y
@@ -1046,10 +1017,12 @@ CONFIG_GPIO_SYSFS=y
1046# 1017#
1047# Memory mapped GPIO expanders: 1018# Memory mapped GPIO expanders:
1048# 1019#
1020# CONFIG_GPIO_IT8761E is not set
1049 1021
1050# 1022#
1051# I2C GPIO expanders: 1023# I2C GPIO expanders:
1052# 1024#
1025# CONFIG_GPIO_MAX7300 is not set
1053# CONFIG_GPIO_MAX732X is not set 1026# CONFIG_GPIO_MAX732X is not set
1054# CONFIG_GPIO_PCA953X is not set 1027# CONFIG_GPIO_PCA953X is not set
1055# CONFIG_GPIO_PCF857X is not set 1028# CONFIG_GPIO_PCF857X is not set
@@ -1093,10 +1066,12 @@ CONFIG_SSB_POSSIBLE=y
1093# Multifunction device drivers 1066# Multifunction device drivers
1094# 1067#
1095# CONFIG_MFD_CORE is not set 1068# CONFIG_MFD_CORE is not set
1069# CONFIG_MFD_88PM860X is not set
1096# CONFIG_MFD_SM501 is not set 1070# CONFIG_MFD_SM501 is not set
1097# CONFIG_MFD_ASIC3 is not set 1071# CONFIG_MFD_ASIC3 is not set
1098# CONFIG_HTC_EGPIO is not set 1072# CONFIG_HTC_EGPIO is not set
1099# CONFIG_HTC_PASIC3 is not set 1073# CONFIG_HTC_PASIC3 is not set
1074# CONFIG_HTC_I2CPLD is not set
1100# CONFIG_TPS65010 is not set 1075# CONFIG_TPS65010 is not set
1101# CONFIG_TWL4030_CORE is not set 1076# CONFIG_TWL4030_CORE is not set
1102# CONFIG_MFD_TMIO is not set 1077# CONFIG_MFD_TMIO is not set
@@ -1105,22 +1080,25 @@ CONFIG_SSB_POSSIBLE=y
1105# CONFIG_MFD_TC6393XB is not set 1080# CONFIG_MFD_TC6393XB is not set
1106CONFIG_PMIC_DA903X=y 1081CONFIG_PMIC_DA903X=y
1107# CONFIG_PMIC_ADP5520 is not set 1082# CONFIG_PMIC_ADP5520 is not set
1083# CONFIG_MFD_MAX8925 is not set
1108# CONFIG_MFD_WM8400 is not set 1084# CONFIG_MFD_WM8400 is not set
1109# CONFIG_MFD_WM831X is not set 1085# CONFIG_MFD_WM831X is not set
1110# CONFIG_MFD_WM8350_I2C is not set 1086# CONFIG_MFD_WM8350_I2C is not set
1087# CONFIG_MFD_WM8994 is not set
1111# CONFIG_MFD_PCF50633 is not set 1088# CONFIG_MFD_PCF50633 is not set
1112# CONFIG_MFD_MC13783 is not set 1089# CONFIG_MFD_MC13783 is not set
1113# CONFIG_AB3100_CORE is not set 1090# CONFIG_AB3100_CORE is not set
1114# CONFIG_EZX_PCAP is not set 1091# CONFIG_EZX_PCAP is not set
1115# CONFIG_MFD_88PM8607 is not set
1116# CONFIG_AB4500_CORE is not set 1092# CONFIG_AB4500_CORE is not set
1117CONFIG_REGULATOR=y 1093CONFIG_REGULATOR=y
1118CONFIG_REGULATOR_DEBUG=y 1094CONFIG_REGULATOR_DEBUG=y
1095# CONFIG_REGULATOR_DUMMY is not set
1119# CONFIG_REGULATOR_FIXED_VOLTAGE is not set 1096# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
1120CONFIG_REGULATOR_VIRTUAL_CONSUMER=y 1097CONFIG_REGULATOR_VIRTUAL_CONSUMER=y
1121CONFIG_REGULATOR_USERSPACE_CONSUMER=y 1098CONFIG_REGULATOR_USERSPACE_CONSUMER=y
1122# CONFIG_REGULATOR_BQ24022 is not set 1099# CONFIG_REGULATOR_BQ24022 is not set
1123# CONFIG_REGULATOR_MAX1586 is not set 1100# CONFIG_REGULATOR_MAX1586 is not set
1101# CONFIG_REGULATOR_MAX8649 is not set
1124# CONFIG_REGULATOR_MAX8660 is not set 1102# CONFIG_REGULATOR_MAX8660 is not set
1125CONFIG_REGULATOR_DA903X=y 1103CONFIG_REGULATOR_DA903X=y
1126# CONFIG_REGULATOR_LP3971 is not set 1104# CONFIG_REGULATOR_LP3971 is not set
@@ -1218,6 +1196,7 @@ CONFIG_VIDEO_IR_I2C=y
1218# CONFIG_VIDEO_SAA7191 is not set 1196# CONFIG_VIDEO_SAA7191 is not set
1219# CONFIG_VIDEO_TVP514X is not set 1197# CONFIG_VIDEO_TVP514X is not set
1220# CONFIG_VIDEO_TVP5150 is not set 1198# CONFIG_VIDEO_TVP5150 is not set
1199# CONFIG_VIDEO_TVP7002 is not set
1221# CONFIG_VIDEO_VPX3220 is not set 1200# CONFIG_VIDEO_VPX3220 is not set
1222 1201
1223# 1202#
@@ -1264,15 +1243,7 @@ CONFIG_SOC_CAMERA_MT9M111=y
1264CONFIG_VIDEO_PXA27x=y 1243CONFIG_VIDEO_PXA27x=y
1265# CONFIG_VIDEO_SH_MOBILE_CEU is not set 1244# CONFIG_VIDEO_SH_MOBILE_CEU is not set
1266# CONFIG_V4L_USB_DRIVERS is not set 1245# CONFIG_V4L_USB_DRIVERS is not set
1267CONFIG_RADIO_ADAPTERS=y 1246# CONFIG_RADIO_ADAPTERS is not set
1268# CONFIG_I2C_SI4713 is not set
1269# CONFIG_RADIO_SI4713 is not set
1270# CONFIG_USB_DSBR is not set
1271# CONFIG_RADIO_SI470X is not set
1272# CONFIG_USB_MR800 is not set
1273CONFIG_RADIO_TEA5764=y
1274CONFIG_RADIO_TEA5764_XTAL=y
1275# CONFIG_RADIO_TEF6862 is not set
1276# CONFIG_DAB is not set 1247# CONFIG_DAB is not set
1277 1248
1278# 1249#
@@ -1398,8 +1369,6 @@ CONFIG_HID=y
1398# 1369#
1399# Special HID drivers 1370# Special HID drivers
1400# 1371#
1401CONFIG_HID_APPLE=m
1402# CONFIG_HID_WACOM is not set
1403CONFIG_USB_SUPPORT=y 1372CONFIG_USB_SUPPORT=y
1404CONFIG_USB_ARCH_HAS_HCD=y 1373CONFIG_USB_ARCH_HAS_HCD=y
1405CONFIG_USB_ARCH_HAS_OHCI=y 1374CONFIG_USB_ARCH_HAS_OHCI=y
@@ -1477,7 +1446,6 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1477# CONFIG_USB_RIO500 is not set 1446# CONFIG_USB_RIO500 is not set
1478# CONFIG_USB_LEGOTOWER is not set 1447# CONFIG_USB_LEGOTOWER is not set
1479# CONFIG_USB_LCD is not set 1448# CONFIG_USB_LCD is not set
1480# CONFIG_USB_BERRY_CHARGE is not set
1481# CONFIG_USB_LED is not set 1449# CONFIG_USB_LED is not set
1482# CONFIG_USB_CYPRESS_CY7C63 is not set 1450# CONFIG_USB_CYPRESS_CY7C63 is not set
1483# CONFIG_USB_CYTHERM is not set 1451# CONFIG_USB_CYTHERM is not set
@@ -1489,7 +1457,6 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1489# CONFIG_USB_IOWARRIOR is not set 1457# CONFIG_USB_IOWARRIOR is not set
1490# CONFIG_USB_TEST is not set 1458# CONFIG_USB_TEST is not set
1491# CONFIG_USB_ISIGHTFW is not set 1459# CONFIG_USB_ISIGHTFW is not set
1492# CONFIG_USB_VST is not set
1493CONFIG_USB_GADGET=y 1460CONFIG_USB_GADGET=y
1494# CONFIG_USB_GADGET_DEBUG is not set 1461# CONFIG_USB_GADGET_DEBUG is not set
1495# CONFIG_USB_GADGET_DEBUG_FILES is not set 1462# CONFIG_USB_GADGET_DEBUG_FILES is not set
@@ -1529,6 +1496,7 @@ CONFIG_USB_ETH=y
1529# CONFIG_USB_MIDI_GADGET is not set 1496# CONFIG_USB_MIDI_GADGET is not set
1530# CONFIG_USB_G_PRINTER is not set 1497# CONFIG_USB_G_PRINTER is not set
1531# CONFIG_USB_CDC_COMPOSITE is not set 1498# CONFIG_USB_CDC_COMPOSITE is not set
1499# CONFIG_USB_G_NOKIA is not set
1532# CONFIG_USB_G_MULTI is not set 1500# CONFIG_USB_G_MULTI is not set
1533 1501
1534# 1502#
@@ -1555,8 +1523,6 @@ CONFIG_SDIO_UART=m
1555# 1523#
1556CONFIG_MMC_PXA=y 1524CONFIG_MMC_PXA=y
1557# CONFIG_MMC_SDHCI is not set 1525# CONFIG_MMC_SDHCI is not set
1558# CONFIG_MMC_AT91 is not set
1559# CONFIG_MMC_ATMELMCI is not set
1560CONFIG_MMC_SPI=y 1526CONFIG_MMC_SPI=y
1561# CONFIG_MEMSTICK is not set 1527# CONFIG_MEMSTICK is not set
1562CONFIG_NEW_LEDS=y 1528CONFIG_NEW_LEDS=y
@@ -1574,11 +1540,11 @@ CONFIG_LEDS_LP3944=y
1574# CONFIG_LEDS_REGULATOR is not set 1540# CONFIG_LEDS_REGULATOR is not set
1575# CONFIG_LEDS_BD2802 is not set 1541# CONFIG_LEDS_BD2802 is not set
1576# CONFIG_LEDS_LT3593 is not set 1542# CONFIG_LEDS_LT3593 is not set
1543CONFIG_LEDS_TRIGGERS=y
1577 1544
1578# 1545#
1579# LED Triggers 1546# LED Triggers
1580# 1547#
1581CONFIG_LEDS_TRIGGERS=y
1582CONFIG_LEDS_TRIGGER_TIMER=y 1548CONFIG_LEDS_TRIGGER_TIMER=y
1583CONFIG_LEDS_TRIGGER_HEARTBEAT=y 1549CONFIG_LEDS_TRIGGER_HEARTBEAT=y
1584CONFIG_LEDS_TRIGGER_BACKLIGHT=y 1550CONFIG_LEDS_TRIGGER_BACKLIGHT=y
@@ -1656,7 +1622,7 @@ CONFIG_RTC_INTF_DEV=y
1656# on-CPU RTC drivers 1622# on-CPU RTC drivers
1657# 1623#
1658# CONFIG_RTC_DRV_SA1100 is not set 1624# CONFIG_RTC_DRV_SA1100 is not set
1659# CONFIG_RTC_DRV_PXA is not set 1625CONFIG_RTC_DRV_PXA=y
1660# CONFIG_DMADEVICES is not set 1626# CONFIG_DMADEVICES is not set
1661# CONFIG_AUXDISPLAY is not set 1627# CONFIG_AUXDISPLAY is not set
1662# CONFIG_UIO is not set 1628# CONFIG_UIO is not set
@@ -1681,19 +1647,10 @@ CONFIG_EXT3_FS_XATTR=y
1681CONFIG_JBD=m 1647CONFIG_JBD=m
1682# CONFIG_JBD_DEBUG is not set 1648# CONFIG_JBD_DEBUG is not set
1683CONFIG_FS_MBCACHE=m 1649CONFIG_FS_MBCACHE=m
1684CONFIG_REISERFS_FS=m 1650# CONFIG_REISERFS_FS is not set
1685# CONFIG_REISERFS_CHECK is not set
1686# CONFIG_REISERFS_PROC_INFO is not set
1687CONFIG_REISERFS_FS_XATTR=y
1688CONFIG_REISERFS_FS_POSIX_ACL=y
1689CONFIG_REISERFS_FS_SECURITY=y
1690# CONFIG_JFS_FS is not set 1651# CONFIG_JFS_FS is not set
1691CONFIG_FS_POSIX_ACL=y 1652CONFIG_FS_POSIX_ACL=y
1692CONFIG_XFS_FS=m 1653# CONFIG_XFS_FS is not set
1693# CONFIG_XFS_QUOTA is not set
1694# CONFIG_XFS_POSIX_ACL is not set
1695# CONFIG_XFS_RT is not set
1696# CONFIG_XFS_DEBUG is not set
1697# CONFIG_OCFS2_FS is not set 1654# CONFIG_OCFS2_FS is not set
1698# CONFIG_BTRFS_FS is not set 1655# CONFIG_BTRFS_FS is not set
1699# CONFIG_NILFS2_FS is not set 1656# CONFIG_NILFS2_FS is not set
@@ -1716,9 +1673,7 @@ CONFIG_CUSE=m
1716# 1673#
1717# CD-ROM/DVD Filesystems 1674# CD-ROM/DVD Filesystems
1718# 1675#
1719CONFIG_ISO9660_FS=m 1676# CONFIG_ISO9660_FS is not set
1720CONFIG_JOLIET=y
1721CONFIG_ZISOFS=y
1722# CONFIG_UDF_FS is not set 1677# CONFIG_UDF_FS is not set
1723 1678
1724# 1679#
@@ -1750,12 +1705,14 @@ CONFIG_MISC_FILESYSTEMS=y
1750# CONFIG_BEFS_FS is not set 1705# CONFIG_BEFS_FS is not set
1751# CONFIG_BFS_FS is not set 1706# CONFIG_BFS_FS is not set
1752# CONFIG_EFS_FS is not set 1707# CONFIG_EFS_FS is not set
1753CONFIG_JFFS2_FS=m 1708CONFIG_JFFS2_FS=y
1754CONFIG_JFFS2_FS_DEBUG=0 1709CONFIG_JFFS2_FS_DEBUG=0
1755CONFIG_JFFS2_FS_WRITEBUFFER=y 1710CONFIG_JFFS2_FS_WRITEBUFFER=y
1756# CONFIG_JFFS2_FS_WBUF_VERIFY is not set 1711CONFIG_JFFS2_FS_WBUF_VERIFY=y
1757# CONFIG_JFFS2_SUMMARY is not set 1712CONFIG_JFFS2_SUMMARY=y
1758# CONFIG_JFFS2_FS_XATTR is not set 1713CONFIG_JFFS2_FS_XATTR=y
1714CONFIG_JFFS2_FS_POSIX_ACL=y
1715CONFIG_JFFS2_FS_SECURITY=y
1759CONFIG_JFFS2_COMPRESSION_OPTIONS=y 1716CONFIG_JFFS2_COMPRESSION_OPTIONS=y
1760CONFIG_JFFS2_ZLIB=y 1717CONFIG_JFFS2_ZLIB=y
1761CONFIG_JFFS2_LZO=y 1718CONFIG_JFFS2_LZO=y
@@ -1765,6 +1722,7 @@ CONFIG_JFFS2_RUBIN=y
1765CONFIG_JFFS2_CMODE_PRIORITY=y 1722CONFIG_JFFS2_CMODE_PRIORITY=y
1766# CONFIG_JFFS2_CMODE_SIZE is not set 1723# CONFIG_JFFS2_CMODE_SIZE is not set
1767# CONFIG_JFFS2_CMODE_FAVOURLZO is not set 1724# CONFIG_JFFS2_CMODE_FAVOURLZO is not set
1725# CONFIG_LOGFS is not set
1768CONFIG_CRAMFS=m 1726CONFIG_CRAMFS=m
1769CONFIG_SQUASHFS=m 1727CONFIG_SQUASHFS=m
1770# CONFIG_SQUASHFS_EMBEDDED is not set 1728# CONFIG_SQUASHFS_EMBEDDED is not set
@@ -1802,6 +1760,7 @@ CONFIG_SUNRPC=y
1802# CONFIG_RPCSEC_GSS_SPKM3 is not set 1760# CONFIG_RPCSEC_GSS_SPKM3 is not set
1803CONFIG_SMB_FS=m 1761CONFIG_SMB_FS=m
1804# CONFIG_SMB_NLS_DEFAULT is not set 1762# CONFIG_SMB_NLS_DEFAULT is not set
1763# CONFIG_CEPH_FS is not set
1805CONFIG_CIFS=m 1764CONFIG_CIFS=m
1806CONFIG_CIFS_STATS=y 1765CONFIG_CIFS_STATS=y
1807# CONFIG_CIFS_STATS2 is not set 1766# CONFIG_CIFS_STATS2 is not set
@@ -1895,6 +1854,7 @@ CONFIG_DEBUG_SPINLOCK=y
1895CONFIG_DEBUG_MUTEXES=y 1854CONFIG_DEBUG_MUTEXES=y
1896CONFIG_DEBUG_LOCK_ALLOC=y 1855CONFIG_DEBUG_LOCK_ALLOC=y
1897CONFIG_PROVE_LOCKING=y 1856CONFIG_PROVE_LOCKING=y
1857# CONFIG_PROVE_RCU is not set
1898CONFIG_LOCKDEP=y 1858CONFIG_LOCKDEP=y
1899# CONFIG_LOCK_STAT is not set 1859# CONFIG_LOCK_STAT is not set
1900# CONFIG_DEBUG_LOCKDEP is not set 1860# CONFIG_DEBUG_LOCKDEP is not set
@@ -1918,6 +1878,7 @@ CONFIG_DEBUG_BUGVERBOSE=y
1918# CONFIG_BACKTRACE_SELF_TEST is not set 1878# CONFIG_BACKTRACE_SELF_TEST is not set
1919# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set 1879# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1920# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set 1880# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
1881# CONFIG_LKDTM is not set
1921# CONFIG_FAULT_INJECTION is not set 1882# CONFIG_FAULT_INJECTION is not set
1922# CONFIG_LATENCYTOP is not set 1883# CONFIG_LATENCYTOP is not set
1923# CONFIG_SYSCTL_SYSCALL_CHECK is not set 1884# CONFIG_SYSCTL_SYSCALL_CHECK is not set
@@ -2061,9 +2022,9 @@ CONFIG_CRC32=y
2061CONFIG_CRC7=y 2022CONFIG_CRC7=y
2062CONFIG_LIBCRC32C=m 2023CONFIG_LIBCRC32C=m
2063CONFIG_ZLIB_INFLATE=y 2024CONFIG_ZLIB_INFLATE=y
2064CONFIG_ZLIB_DEFLATE=m 2025CONFIG_ZLIB_DEFLATE=y
2065CONFIG_LZO_COMPRESS=m 2026CONFIG_LZO_COMPRESS=y
2066CONFIG_LZO_DECOMPRESS=m 2027CONFIG_LZO_DECOMPRESS=y
2067CONFIG_DECOMPRESS_GZIP=y 2028CONFIG_DECOMPRESS_GZIP=y
2068CONFIG_DECOMPRESS_BZIP2=y 2029CONFIG_DECOMPRESS_BZIP2=y
2069CONFIG_DECOMPRESS_LZMA=y 2030CONFIG_DECOMPRESS_LZMA=y
@@ -2075,3 +2036,4 @@ CONFIG_HAS_IOMEM=y
2075CONFIG_HAS_IOPORT=y 2036CONFIG_HAS_IOPORT=y
2076CONFIG_HAS_DMA=y 2037CONFIG_HAS_DMA=y
2077CONFIG_NLATTR=y 2038CONFIG_NLATTR=y
2039CONFIG_GENERIC_ATOMIC64=y
diff --git a/arch/arm/include/asm/assembler.h b/arch/arm/include/asm/assembler.h
index 00f46d9ce29..6e8f05c8a1c 100644
--- a/arch/arm/include/asm/assembler.h
+++ b/arch/arm/include/asm/assembler.h
@@ -149,10 +149,10 @@
149 149
150#define USER(x...) \ 150#define USER(x...) \
1519999: x; \ 1519999: x; \
152 .section __ex_table,"a"; \ 152 .pushsection __ex_table,"a"; \
153 .align 3; \ 153 .align 3; \
154 .long 9999b,9001f; \ 154 .long 9999b,9001f; \
155 .previous 155 .popsection
156 156
157/* 157/*
158 * SMP data memory barrier 158 * SMP data memory barrier
@@ -193,10 +193,10 @@
193 .error "Unsupported inc macro argument" 193 .error "Unsupported inc macro argument"
194 .endif 194 .endif
195 195
196 .section __ex_table,"a" 196 .pushsection __ex_table,"a"
197 .align 3 197 .align 3
198 .long 9999b, \abort 198 .long 9999b, \abort
199 .previous 199 .popsection
200 .endm 200 .endm
201 201
202 .macro usracc, instr, reg, ptr, inc, cond, rept, abort 202 .macro usracc, instr, reg, ptr, inc, cond, rept, abort
@@ -234,10 +234,10 @@
234 .error "Unsupported inc macro argument" 234 .error "Unsupported inc macro argument"
235 .endif 235 .endif
236 236
237 .section __ex_table,"a" 237 .pushsection __ex_table,"a"
238 .align 3 238 .align 3
239 .long 9999b, \abort 239 .long 9999b, \abort
240 .previous 240 .popsection
241 .endr 241 .endr
242 .endm 242 .endm
243 243
diff --git a/arch/arm/include/asm/atomic.h b/arch/arm/include/asm/atomic.h
index e8ddec2cb15..a0162fa9456 100644
--- a/arch/arm/include/asm/atomic.h
+++ b/arch/arm/include/asm/atomic.h
@@ -24,7 +24,7 @@
24 * strex/ldrex monitor on some implementations. The reason we can use it for 24 * strex/ldrex monitor on some implementations. The reason we can use it for
25 * atomic_set() is the clrex or dummy strex done on every exception return. 25 * atomic_set() is the clrex or dummy strex done on every exception return.
26 */ 26 */
27#define atomic_read(v) ((v)->counter) 27#define atomic_read(v) (*(volatile int *)&(v)->counter)
28#define atomic_set(v,i) (((v)->counter) = (i)) 28#define atomic_set(v,i) (((v)->counter) = (i))
29 29
30#if __LINUX_ARM_ARCH__ >= 6 30#if __LINUX_ARM_ARCH__ >= 6
diff --git a/arch/arm/include/asm/cacheflush.h b/arch/arm/include/asm/cacheflush.h
index 0d08d4170b6..4656a24058d 100644
--- a/arch/arm/include/asm/cacheflush.h
+++ b/arch/arm/include/asm/cacheflush.h
@@ -371,6 +371,10 @@ static inline void __flush_icache_all(void)
371#ifdef CONFIG_ARM_ERRATA_411920 371#ifdef CONFIG_ARM_ERRATA_411920
372 extern void v6_icache_inval_all(void); 372 extern void v6_icache_inval_all(void);
373 v6_icache_inval_all(); 373 v6_icache_inval_all();
374#elif defined(CONFIG_SMP) && __LINUX_ARM_ARCH__ >= 7
375 asm("mcr p15, 0, %0, c7, c1, 0 @ invalidate I-cache inner shareable\n"
376 :
377 : "r" (0));
374#else 378#else
375 asm("mcr p15, 0, %0, c7, c5, 0 @ invalidate I-cache\n" 379 asm("mcr p15, 0, %0, c7, c5, 0 @ invalidate I-cache\n"
376 : 380 :
diff --git a/arch/arm/include/asm/elf.h b/arch/arm/include/asm/elf.h
index bff056489cc..51662feb9f1 100644
--- a/arch/arm/include/asm/elf.h
+++ b/arch/arm/include/asm/elf.h
@@ -9,6 +9,8 @@
9#include <asm/ptrace.h> 9#include <asm/ptrace.h>
10#include <asm/user.h> 10#include <asm/user.h>
11 11
12struct task_struct;
13
12typedef unsigned long elf_greg_t; 14typedef unsigned long elf_greg_t;
13typedef unsigned long elf_freg_t[3]; 15typedef unsigned long elf_freg_t[3];
14 16
diff --git a/arch/arm/include/asm/futex.h b/arch/arm/include/asm/futex.h
index bfcc15929a7..540a044153a 100644
--- a/arch/arm/include/asm/futex.h
+++ b/arch/arm/include/asm/futex.h
@@ -21,14 +21,14 @@
21 "2: strt %0, [%2]\n" \ 21 "2: strt %0, [%2]\n" \
22 " mov %0, #0\n" \ 22 " mov %0, #0\n" \
23 "3:\n" \ 23 "3:\n" \
24 " .section __ex_table,\"a\"\n" \ 24 " .pushsection __ex_table,\"a\"\n" \
25 " .align 3\n" \ 25 " .align 3\n" \
26 " .long 1b, 4f, 2b, 4f\n" \ 26 " .long 1b, 4f, 2b, 4f\n" \
27 " .previous\n" \ 27 " .popsection\n" \
28 " .section .fixup,\"ax\"\n" \ 28 " .pushsection .fixup,\"ax\"\n" \
29 "4: mov %0, %4\n" \ 29 "4: mov %0, %4\n" \
30 " b 3b\n" \ 30 " b 3b\n" \
31 " .previous" \ 31 " .popsection" \
32 : "=&r" (ret), "=&r" (oldval) \ 32 : "=&r" (ret), "=&r" (oldval) \
33 : "r" (uaddr), "r" (oparg), "Ir" (-EFAULT) \ 33 : "r" (uaddr), "r" (oparg), "Ir" (-EFAULT) \
34 : "cc", "memory") 34 : "cc", "memory")
@@ -102,14 +102,14 @@ futex_atomic_cmpxchg_inatomic(int __user *uaddr, int oldval, int newval)
102 " it eq @ explicit IT needed for the 2b label\n" 102 " it eq @ explicit IT needed for the 2b label\n"
103 "2: streqt %2, [%3]\n" 103 "2: streqt %2, [%3]\n"
104 "3:\n" 104 "3:\n"
105 " .section __ex_table,\"a\"\n" 105 " .pushsection __ex_table,\"a\"\n"
106 " .align 3\n" 106 " .align 3\n"
107 " .long 1b, 4f, 2b, 4f\n" 107 " .long 1b, 4f, 2b, 4f\n"
108 " .previous\n" 108 " .popsection\n"
109 " .section .fixup,\"ax\"\n" 109 " .pushsection .fixup,\"ax\"\n"
110 "4: mov %0, %4\n" 110 "4: mov %0, %4\n"
111 " b 3b\n" 111 " b 3b\n"
112 " .previous" 112 " .popsection"
113 : "=&r" (val) 113 : "=&r" (val)
114 : "r" (oldval), "r" (newval), "r" (uaddr), "Ir" (-EFAULT) 114 : "r" (oldval), "r" (newval), "r" (uaddr), "Ir" (-EFAULT)
115 : "cc", "memory"); 115 : "cc", "memory");
diff --git a/arch/arm/include/asm/smp_twd.h b/arch/arm/include/asm/smp_twd.h
index 7be0978b262..634f357be6b 100644
--- a/arch/arm/include/asm/smp_twd.h
+++ b/arch/arm/include/asm/smp_twd.h
@@ -1,6 +1,23 @@
1#ifndef __ASMARM_SMP_TWD_H 1#ifndef __ASMARM_SMP_TWD_H
2#define __ASMARM_SMP_TWD_H 2#define __ASMARM_SMP_TWD_H
3 3
4#define TWD_TIMER_LOAD 0x00
5#define TWD_TIMER_COUNTER 0x04
6#define TWD_TIMER_CONTROL 0x08
7#define TWD_TIMER_INTSTAT 0x0C
8
9#define TWD_WDOG_LOAD 0x20
10#define TWD_WDOG_COUNTER 0x24
11#define TWD_WDOG_CONTROL 0x28
12#define TWD_WDOG_INTSTAT 0x2C
13#define TWD_WDOG_RESETSTAT 0x30
14#define TWD_WDOG_DISABLE 0x34
15
16#define TWD_TIMER_CONTROL_ENABLE (1 << 0)
17#define TWD_TIMER_CONTROL_ONESHOT (0 << 1)
18#define TWD_TIMER_CONTROL_PERIODIC (1 << 1)
19#define TWD_TIMER_CONTROL_IT_ENABLE (1 << 2)
20
4struct clock_event_device; 21struct clock_event_device;
5 22
6extern void __iomem *twd_base; 23extern void __iomem *twd_base;
diff --git a/arch/arm/include/asm/tlbflush.h b/arch/arm/include/asm/tlbflush.h
index e085e2c545e..bd863d8608c 100644
--- a/arch/arm/include/asm/tlbflush.h
+++ b/arch/arm/include/asm/tlbflush.h
@@ -46,6 +46,9 @@
46#define TLB_V7_UIS_FULL (1 << 20) 46#define TLB_V7_UIS_FULL (1 << 20)
47#define TLB_V7_UIS_ASID (1 << 21) 47#define TLB_V7_UIS_ASID (1 << 21)
48 48
49/* Inner Shareable BTB operation (ARMv7 MP extensions) */
50#define TLB_V7_IS_BTB (1 << 22)
51
49#define TLB_L2CLEAN_FR (1 << 29) /* Feroceon */ 52#define TLB_L2CLEAN_FR (1 << 29) /* Feroceon */
50#define TLB_DCLEAN (1 << 30) 53#define TLB_DCLEAN (1 << 30)
51#define TLB_WB (1 << 31) 54#define TLB_WB (1 << 31)
@@ -183,7 +186,7 @@
183#endif 186#endif
184 187
185#ifdef CONFIG_SMP 188#ifdef CONFIG_SMP
186#define v7wbi_tlb_flags (TLB_WB | TLB_DCLEAN | TLB_BTB | \ 189#define v7wbi_tlb_flags (TLB_WB | TLB_DCLEAN | TLB_V7_IS_BTB | \
187 TLB_V7_UIS_FULL | TLB_V7_UIS_PAGE | TLB_V7_UIS_ASID) 190 TLB_V7_UIS_FULL | TLB_V7_UIS_PAGE | TLB_V7_UIS_ASID)
188#else 191#else
189#define v7wbi_tlb_flags (TLB_WB | TLB_DCLEAN | TLB_BTB | \ 192#define v7wbi_tlb_flags (TLB_WB | TLB_DCLEAN | TLB_BTB | \
@@ -339,6 +342,12 @@ static inline void local_flush_tlb_all(void)
339 dsb(); 342 dsb();
340 isb(); 343 isb();
341 } 344 }
345 if (tlb_flag(TLB_V7_IS_BTB)) {
346 /* flush the branch target cache */
347 asm("mcr p15, 0, %0, c7, c1, 6" : : "r" (zero) : "cc");
348 dsb();
349 isb();
350 }
342} 351}
343 352
344static inline void local_flush_tlb_mm(struct mm_struct *mm) 353static inline void local_flush_tlb_mm(struct mm_struct *mm)
@@ -376,6 +385,12 @@ static inline void local_flush_tlb_mm(struct mm_struct *mm)
376 asm("mcr p15, 0, %0, c7, c5, 6" : : "r" (zero) : "cc"); 385 asm("mcr p15, 0, %0, c7, c5, 6" : : "r" (zero) : "cc");
377 dsb(); 386 dsb();
378 } 387 }
388 if (tlb_flag(TLB_V7_IS_BTB)) {
389 /* flush the branch target cache */
390 asm("mcr p15, 0, %0, c7, c1, 6" : : "r" (zero) : "cc");
391 dsb();
392 isb();
393 }
379} 394}
380 395
381static inline void 396static inline void
@@ -416,6 +431,12 @@ local_flush_tlb_page(struct vm_area_struct *vma, unsigned long uaddr)
416 asm("mcr p15, 0, %0, c7, c5, 6" : : "r" (zero) : "cc"); 431 asm("mcr p15, 0, %0, c7, c5, 6" : : "r" (zero) : "cc");
417 dsb(); 432 dsb();
418 } 433 }
434 if (tlb_flag(TLB_V7_IS_BTB)) {
435 /* flush the branch target cache */
436 asm("mcr p15, 0, %0, c7, c1, 6" : : "r" (zero) : "cc");
437 dsb();
438 isb();
439 }
419} 440}
420 441
421static inline void local_flush_tlb_kernel_page(unsigned long kaddr) 442static inline void local_flush_tlb_kernel_page(unsigned long kaddr)
@@ -454,6 +475,12 @@ static inline void local_flush_tlb_kernel_page(unsigned long kaddr)
454 dsb(); 475 dsb();
455 isb(); 476 isb();
456 } 477 }
478 if (tlb_flag(TLB_V7_IS_BTB)) {
479 /* flush the branch target cache */
480 asm("mcr p15, 0, %0, c7, c1, 6" : : "r" (zero) : "cc");
481 dsb();
482 isb();
483 }
457} 484}
458 485
459/* 486/*
diff --git a/arch/arm/include/asm/uaccess.h b/arch/arm/include/asm/uaccess.h
index 1d6bd40a432..33e4a48fe10 100644
--- a/arch/arm/include/asm/uaccess.h
+++ b/arch/arm/include/asm/uaccess.h
@@ -229,16 +229,16 @@ do { \
229 __asm__ __volatile__( \ 229 __asm__ __volatile__( \
230 "1: ldrbt %1,[%2]\n" \ 230 "1: ldrbt %1,[%2]\n" \
231 "2:\n" \ 231 "2:\n" \
232 " .section .fixup,\"ax\"\n" \ 232 " .pushsection .fixup,\"ax\"\n" \
233 " .align 2\n" \ 233 " .align 2\n" \
234 "3: mov %0, %3\n" \ 234 "3: mov %0, %3\n" \
235 " mov %1, #0\n" \ 235 " mov %1, #0\n" \
236 " b 2b\n" \ 236 " b 2b\n" \
237 " .previous\n" \ 237 " .popsection\n" \
238 " .section __ex_table,\"a\"\n" \ 238 " .pushsection __ex_table,\"a\"\n" \
239 " .align 3\n" \ 239 " .align 3\n" \
240 " .long 1b, 3b\n" \ 240 " .long 1b, 3b\n" \
241 " .previous" \ 241 " .popsection" \
242 : "+r" (err), "=&r" (x) \ 242 : "+r" (err), "=&r" (x) \
243 : "r" (addr), "i" (-EFAULT) \ 243 : "r" (addr), "i" (-EFAULT) \
244 : "cc") 244 : "cc")
@@ -265,16 +265,16 @@ do { \
265 __asm__ __volatile__( \ 265 __asm__ __volatile__( \
266 "1: ldrt %1,[%2]\n" \ 266 "1: ldrt %1,[%2]\n" \
267 "2:\n" \ 267 "2:\n" \
268 " .section .fixup,\"ax\"\n" \ 268 " .pushsection .fixup,\"ax\"\n" \
269 " .align 2\n" \ 269 " .align 2\n" \
270 "3: mov %0, %3\n" \ 270 "3: mov %0, %3\n" \
271 " mov %1, #0\n" \ 271 " mov %1, #0\n" \
272 " b 2b\n" \ 272 " b 2b\n" \
273 " .previous\n" \ 273 " .popsection\n" \
274 " .section __ex_table,\"a\"\n" \ 274 " .pushsection __ex_table,\"a\"\n" \
275 " .align 3\n" \ 275 " .align 3\n" \
276 " .long 1b, 3b\n" \ 276 " .long 1b, 3b\n" \
277 " .previous" \ 277 " .popsection" \
278 : "+r" (err), "=&r" (x) \ 278 : "+r" (err), "=&r" (x) \
279 : "r" (addr), "i" (-EFAULT) \ 279 : "r" (addr), "i" (-EFAULT) \
280 : "cc") 280 : "cc")
@@ -310,15 +310,15 @@ do { \
310 __asm__ __volatile__( \ 310 __asm__ __volatile__( \
311 "1: strbt %1,[%2]\n" \ 311 "1: strbt %1,[%2]\n" \
312 "2:\n" \ 312 "2:\n" \
313 " .section .fixup,\"ax\"\n" \ 313 " .pushsection .fixup,\"ax\"\n" \
314 " .align 2\n" \ 314 " .align 2\n" \
315 "3: mov %0, %3\n" \ 315 "3: mov %0, %3\n" \
316 " b 2b\n" \ 316 " b 2b\n" \
317 " .previous\n" \ 317 " .popsection\n" \
318 " .section __ex_table,\"a\"\n" \ 318 " .pushsection __ex_table,\"a\"\n" \
319 " .align 3\n" \ 319 " .align 3\n" \
320 " .long 1b, 3b\n" \ 320 " .long 1b, 3b\n" \
321 " .previous" \ 321 " .popsection" \
322 : "+r" (err) \ 322 : "+r" (err) \
323 : "r" (x), "r" (__pu_addr), "i" (-EFAULT) \ 323 : "r" (x), "r" (__pu_addr), "i" (-EFAULT) \
324 : "cc") 324 : "cc")
@@ -343,15 +343,15 @@ do { \
343 __asm__ __volatile__( \ 343 __asm__ __volatile__( \
344 "1: strt %1,[%2]\n" \ 344 "1: strt %1,[%2]\n" \
345 "2:\n" \ 345 "2:\n" \
346 " .section .fixup,\"ax\"\n" \ 346 " .pushsection .fixup,\"ax\"\n" \
347 " .align 2\n" \ 347 " .align 2\n" \
348 "3: mov %0, %3\n" \ 348 "3: mov %0, %3\n" \
349 " b 2b\n" \ 349 " b 2b\n" \
350 " .previous\n" \ 350 " .popsection\n" \
351 " .section __ex_table,\"a\"\n" \ 351 " .pushsection __ex_table,\"a\"\n" \
352 " .align 3\n" \ 352 " .align 3\n" \
353 " .long 1b, 3b\n" \ 353 " .long 1b, 3b\n" \
354 " .previous" \ 354 " .popsection" \
355 : "+r" (err) \ 355 : "+r" (err) \
356 : "r" (x), "r" (__pu_addr), "i" (-EFAULT) \ 356 : "r" (x), "r" (__pu_addr), "i" (-EFAULT) \
357 : "cc") 357 : "cc")
@@ -371,16 +371,16 @@ do { \
371 THUMB( "1: strt " __reg_oper1 ", [%1]\n" ) \ 371 THUMB( "1: strt " __reg_oper1 ", [%1]\n" ) \
372 THUMB( "2: strt " __reg_oper0 ", [%1, #4]\n" ) \ 372 THUMB( "2: strt " __reg_oper0 ", [%1, #4]\n" ) \
373 "3:\n" \ 373 "3:\n" \
374 " .section .fixup,\"ax\"\n" \ 374 " .pushsection .fixup,\"ax\"\n" \
375 " .align 2\n" \ 375 " .align 2\n" \
376 "4: mov %0, %3\n" \ 376 "4: mov %0, %3\n" \
377 " b 3b\n" \ 377 " b 3b\n" \
378 " .previous\n" \ 378 " .popsection\n" \
379 " .section __ex_table,\"a\"\n" \ 379 " .pushsection __ex_table,\"a\"\n" \
380 " .align 3\n" \ 380 " .align 3\n" \
381 " .long 1b, 4b\n" \ 381 " .long 1b, 4b\n" \
382 " .long 2b, 4b\n" \ 382 " .long 2b, 4b\n" \
383 " .previous" \ 383 " .popsection" \
384 : "+r" (err), "+r" (__pu_addr) \ 384 : "+r" (err), "+r" (__pu_addr) \
385 : "r" (x), "i" (-EFAULT) \ 385 : "r" (x), "i" (-EFAULT) \
386 : "cc") 386 : "cc")
diff --git a/arch/arm/kernel/entry-armv.S b/arch/arm/kernel/entry-armv.S
index 6c5cf369183..7ee48e7f8f3 100644
--- a/arch/arm/kernel/entry-armv.S
+++ b/arch/arm/kernel/entry-armv.S
@@ -523,16 +523,16 @@ ENDPROC(__und_usr)
523/* 523/*
524 * The out of line fixup for the ldrt above. 524 * The out of line fixup for the ldrt above.
525 */ 525 */
526 .section .fixup, "ax" 526 .pushsection .fixup, "ax"
5274: mov pc, r9 5274: mov pc, r9
528 .previous 528 .popsection
529 .section __ex_table,"a" 529 .pushsection __ex_table,"a"
530 .long 1b, 4b 530 .long 1b, 4b
531#if __LINUX_ARM_ARCH__ >= 7 531#if __LINUX_ARM_ARCH__ >= 7
532 .long 2b, 4b 532 .long 2b, 4b
533 .long 3b, 4b 533 .long 3b, 4b
534#endif 534#endif
535 .previous 535 .popsection
536 536
537/* 537/*
538 * Check whether the instruction is a co-processor instruction. 538 * Check whether the instruction is a co-processor instruction.
@@ -676,10 +676,10 @@ do_fpe:
676 * lr = unrecognised FP instruction return address 676 * lr = unrecognised FP instruction return address
677 */ 677 */
678 678
679 .data 679 .pushsection .data
680ENTRY(fp_enter) 680ENTRY(fp_enter)
681 .word no_fp 681 .word no_fp
682 .previous 682 .popsection
683 683
684ENTRY(no_fp) 684ENTRY(no_fp)
685 mov pc, lr 685 mov pc, lr
diff --git a/arch/arm/kernel/ftrace.c b/arch/arm/kernel/ftrace.c
index c6384276622..0298286ad4a 100644
--- a/arch/arm/kernel/ftrace.c
+++ b/arch/arm/kernel/ftrace.c
@@ -62,15 +62,15 @@ int ftrace_modify_code(unsigned long pc, unsigned char *old_code,
62 " movne %0, #2 \n" 62 " movne %0, #2 \n"
63 "3:\n" 63 "3:\n"
64 64
65 ".section .fixup, \"ax\"\n" 65 ".pushsection .fixup, \"ax\"\n"
66 "4: mov %0, #1 \n" 66 "4: mov %0, #1 \n"
67 " b 3b \n" 67 " b 3b \n"
68 ".previous\n" 68 ".popsection\n"
69 69
70 ".section __ex_table, \"a\"\n" 70 ".pushsection __ex_table, \"a\"\n"
71 " .long 1b, 4b \n" 71 " .long 1b, 4b \n"
72 " .long 2b, 4b \n" 72 " .long 2b, 4b \n"
73 ".previous\n" 73 ".popsection\n"
74 74
75 : "=r"(err), "=r"(replaced) 75 : "=r"(err), "=r"(replaced)
76 : "r"(pc), "r"(new), "r"(old), "0"(err), "1"(replaced) 76 : "r"(pc), "r"(new), "r"(old), "0"(err), "1"(replaced)
diff --git a/arch/arm/kernel/process.c b/arch/arm/kernel/process.c
index 0e12e0acbf2..acf5e6fdb6d 100644
--- a/arch/arm/kernel/process.c
+++ b/arch/arm/kernel/process.c
@@ -355,7 +355,7 @@ EXPORT_SYMBOL(dump_fpu);
355 * the thread function, and r3 points to the exit function. 355 * the thread function, and r3 points to the exit function.
356 */ 356 */
357extern void kernel_thread_helper(void); 357extern void kernel_thread_helper(void);
358asm( ".section .text\n" 358asm( ".pushsection .text\n"
359" .align\n" 359" .align\n"
360" .type kernel_thread_helper, #function\n" 360" .type kernel_thread_helper, #function\n"
361"kernel_thread_helper:\n" 361"kernel_thread_helper:\n"
@@ -363,11 +363,11 @@ asm( ".section .text\n"
363" mov lr, r3\n" 363" mov lr, r3\n"
364" mov pc, r2\n" 364" mov pc, r2\n"
365" .size kernel_thread_helper, . - kernel_thread_helper\n" 365" .size kernel_thread_helper, . - kernel_thread_helper\n"
366" .previous"); 366" .popsection");
367 367
368#ifdef CONFIG_ARM_UNWIND 368#ifdef CONFIG_ARM_UNWIND
369extern void kernel_thread_exit(long code); 369extern void kernel_thread_exit(long code);
370asm( ".section .text\n" 370asm( ".pushsection .text\n"
371" .align\n" 371" .align\n"
372" .type kernel_thread_exit, #function\n" 372" .type kernel_thread_exit, #function\n"
373"kernel_thread_exit:\n" 373"kernel_thread_exit:\n"
@@ -377,7 +377,7 @@ asm( ".section .text\n"
377" nop\n" 377" nop\n"
378" .fnend\n" 378" .fnend\n"
379" .size kernel_thread_exit, . - kernel_thread_exit\n" 379" .size kernel_thread_exit, . - kernel_thread_exit\n"
380" .previous"); 380" .popsection");
381#else 381#else
382#define kernel_thread_exit do_exit 382#define kernel_thread_exit do_exit
383#endif 383#endif
diff --git a/arch/arm/kernel/smp.c b/arch/arm/kernel/smp.c
index 577543f3857..a01194e583f 100644
--- a/arch/arm/kernel/smp.c
+++ b/arch/arm/kernel/smp.c
@@ -86,6 +86,12 @@ int __cpuinit __cpu_up(unsigned int cpu)
86 return PTR_ERR(idle); 86 return PTR_ERR(idle);
87 } 87 }
88 ci->idle = idle; 88 ci->idle = idle;
89 } else {
90 /*
91 * Since this idle thread is being re-used, call
92 * init_idle() to reinitialize the thread structure.
93 */
94 init_idle(idle, cpu);
89 } 95 }
90 96
91 /* 97 /*
diff --git a/arch/arm/kernel/smp_twd.c b/arch/arm/kernel/smp_twd.c
index ea02a7b1c24..7c5f0c024db 100644
--- a/arch/arm/kernel/smp_twd.c
+++ b/arch/arm/kernel/smp_twd.c
@@ -21,23 +21,6 @@
21#include <asm/smp_twd.h> 21#include <asm/smp_twd.h>
22#include <asm/hardware/gic.h> 22#include <asm/hardware/gic.h>
23 23
24#define TWD_TIMER_LOAD 0x00
25#define TWD_TIMER_COUNTER 0x04
26#define TWD_TIMER_CONTROL 0x08
27#define TWD_TIMER_INTSTAT 0x0C
28
29#define TWD_WDOG_LOAD 0x20
30#define TWD_WDOG_COUNTER 0x24
31#define TWD_WDOG_CONTROL 0x28
32#define TWD_WDOG_INTSTAT 0x2C
33#define TWD_WDOG_RESETSTAT 0x30
34#define TWD_WDOG_DISABLE 0x34
35
36#define TWD_TIMER_CONTROL_ENABLE (1 << 0)
37#define TWD_TIMER_CONTROL_ONESHOT (0 << 1)
38#define TWD_TIMER_CONTROL_PERIODIC (1 << 1)
39#define TWD_TIMER_CONTROL_IT_ENABLE (1 << 2)
40
41/* set up by the platform code */ 24/* set up by the platform code */
42void __iomem *twd_base; 25void __iomem *twd_base;
43 26
diff --git a/arch/arm/lib/backtrace.S b/arch/arm/lib/backtrace.S
index aaf7220d9e3..a673297b0cf 100644
--- a/arch/arm/lib/backtrace.S
+++ b/arch/arm/lib/backtrace.S
@@ -110,13 +110,13 @@ no_frame: ldmfd sp!, {r4 - r8, pc}
110ENDPROC(__backtrace) 110ENDPROC(__backtrace)
111ENDPROC(c_backtrace) 111ENDPROC(c_backtrace)
112 112
113 .section __ex_table,"a" 113 .pushsection __ex_table,"a"
114 .align 3 114 .align 3
115 .long 1001b, 1006b 115 .long 1001b, 1006b
116 .long 1002b, 1006b 116 .long 1002b, 1006b
117 .long 1003b, 1006b 117 .long 1003b, 1006b
118 .long 1004b, 1006b 118 .long 1004b, 1006b
119 .previous 119 .popsection
120 120
121#define instr r4 121#define instr r4
122#define reg r5 122#define reg r5
diff --git a/arch/arm/lib/clear_user.S b/arch/arm/lib/clear_user.S
index 1279abd8b88..14a0d988c82 100644
--- a/arch/arm/lib/clear_user.S
+++ b/arch/arm/lib/clear_user.S
@@ -45,9 +45,10 @@ USER( strnebt r2, [r0])
45 mov r0, #0 45 mov r0, #0
46 ldmfd sp!, {r1, pc} 46 ldmfd sp!, {r1, pc}
47ENDPROC(__clear_user) 47ENDPROC(__clear_user)
48ENDPROC(__clear_user_std)
48 49
49 .section .fixup,"ax" 50 .pushsection .fixup,"ax"
50 .align 0 51 .align 0
519001: ldmfd sp!, {r0, pc} 529001: ldmfd sp!, {r0, pc}
52 .previous 53 .popsection
53 54
diff --git a/arch/arm/lib/copy_from_user.S b/arch/arm/lib/copy_from_user.S
index e4fe124aced..66a477a3e3c 100644
--- a/arch/arm/lib/copy_from_user.S
+++ b/arch/arm/lib/copy_from_user.S
@@ -90,7 +90,7 @@ ENTRY(__copy_from_user)
90 90
91ENDPROC(__copy_from_user) 91ENDPROC(__copy_from_user)
92 92
93 .section .fixup,"ax" 93 .pushsection .fixup,"ax"
94 .align 0 94 .align 0
95 copy_abort_preamble 95 copy_abort_preamble
96 ldmfd sp!, {r1, r2} 96 ldmfd sp!, {r1, r2}
@@ -100,5 +100,5 @@ ENDPROC(__copy_from_user)
100 bl __memzero 100 bl __memzero
101 ldr r0, [sp], #4 101 ldr r0, [sp], #4
102 copy_abort_end 102 copy_abort_end
103 .previous 103 .popsection
104 104
diff --git a/arch/arm/lib/copy_to_user.S b/arch/arm/lib/copy_to_user.S
index 1a71e158444..d066df686e1 100644
--- a/arch/arm/lib/copy_to_user.S
+++ b/arch/arm/lib/copy_to_user.S
@@ -93,13 +93,14 @@ WEAK(__copy_to_user)
93#include "copy_template.S" 93#include "copy_template.S"
94 94
95ENDPROC(__copy_to_user) 95ENDPROC(__copy_to_user)
96ENDPROC(__copy_to_user_std)
96 97
97 .section .fixup,"ax" 98 .pushsection .fixup,"ax"
98 .align 0 99 .align 0
99 copy_abort_preamble 100 copy_abort_preamble
100 ldmfd sp!, {r1, r2, r3} 101 ldmfd sp!, {r1, r2, r3}
101 sub r0, r0, r1 102 sub r0, r0, r1
102 rsb r0, r0, r2 103 rsb r0, r0, r2
103 copy_abort_end 104 copy_abort_end
104 .previous 105 .popsection
105 106
diff --git a/arch/arm/lib/csumpartialcopyuser.S b/arch/arm/lib/csumpartialcopyuser.S
index fd0e9dcd9fd..59ff6fdc1e6 100644
--- a/arch/arm/lib/csumpartialcopyuser.S
+++ b/arch/arm/lib/csumpartialcopyuser.S
@@ -68,7 +68,7 @@
68 * so properly, we would have to add in whatever registers were loaded before 68 * so properly, we would have to add in whatever registers were loaded before
69 * the fault, which, with the current asm above is not predictable. 69 * the fault, which, with the current asm above is not predictable.
70 */ 70 */
71 .section .fixup,"ax" 71 .pushsection .fixup,"ax"
72 .align 4 72 .align 4
739001: mov r4, #-EFAULT 739001: mov r4, #-EFAULT
74 ldr r5, [fp, #4] @ *err_ptr 74 ldr r5, [fp, #4] @ *err_ptr
@@ -80,4 +80,4 @@
80 strneb r0, [r1], #1 80 strneb r0, [r1], #1
81 bne 9002b 81 bne 9002b
82 load_regs 82 load_regs
83 .previous 83 .popsection
diff --git a/arch/arm/lib/getuser.S b/arch/arm/lib/getuser.S
index a1814d92712..b1631a7dbe7 100644
--- a/arch/arm/lib/getuser.S
+++ b/arch/arm/lib/getuser.S
@@ -64,9 +64,9 @@ __get_user_bad:
64 mov pc, lr 64 mov pc, lr
65ENDPROC(__get_user_bad) 65ENDPROC(__get_user_bad)
66 66
67.section __ex_table, "a" 67.pushsection __ex_table, "a"
68 .long 1b, __get_user_bad 68 .long 1b, __get_user_bad
69 .long 2b, __get_user_bad 69 .long 2b, __get_user_bad
70 .long 3b, __get_user_bad 70 .long 3b, __get_user_bad
71 .long 4b, __get_user_bad 71 .long 4b, __get_user_bad
72.previous 72.popsection
diff --git a/arch/arm/lib/putuser.S b/arch/arm/lib/putuser.S
index 02fedbf07c0..5a01a23c6c0 100644
--- a/arch/arm/lib/putuser.S
+++ b/arch/arm/lib/putuser.S
@@ -81,11 +81,11 @@ __put_user_bad:
81 mov pc, lr 81 mov pc, lr
82ENDPROC(__put_user_bad) 82ENDPROC(__put_user_bad)
83 83
84.section __ex_table, "a" 84.pushsection __ex_table, "a"
85 .long 1b, __put_user_bad 85 .long 1b, __put_user_bad
86 .long 2b, __put_user_bad 86 .long 2b, __put_user_bad
87 .long 3b, __put_user_bad 87 .long 3b, __put_user_bad
88 .long 4b, __put_user_bad 88 .long 4b, __put_user_bad
89 .long 5b, __put_user_bad 89 .long 5b, __put_user_bad
90 .long 6b, __put_user_bad 90 .long 6b, __put_user_bad
91.previous 91.popsection
diff --git a/arch/arm/lib/strncpy_from_user.S b/arch/arm/lib/strncpy_from_user.S
index 1c9814f346c..f202d7bd164 100644
--- a/arch/arm/lib/strncpy_from_user.S
+++ b/arch/arm/lib/strncpy_from_user.S
@@ -33,11 +33,11 @@ ENTRY(__strncpy_from_user)
33 mov pc, lr 33 mov pc, lr
34ENDPROC(__strncpy_from_user) 34ENDPROC(__strncpy_from_user)
35 35
36 .section .fixup,"ax" 36 .pushsection .fixup,"ax"
37 .align 0 37 .align 0
389001: mov r3, #0 389001: mov r3, #0
39 strb r3, [r0, #0] @ null terminate 39 strb r3, [r0, #0] @ null terminate
40 mov r0, #-EFAULT 40 mov r0, #-EFAULT
41 mov pc, lr 41 mov pc, lr
42 .previous 42 .popsection
43 43
diff --git a/arch/arm/lib/strnlen_user.S b/arch/arm/lib/strnlen_user.S
index 7855b290665..0ecbb459c4f 100644
--- a/arch/arm/lib/strnlen_user.S
+++ b/arch/arm/lib/strnlen_user.S
@@ -33,8 +33,8 @@ ENTRY(__strnlen_user)
33 mov pc, lr 33 mov pc, lr
34ENDPROC(__strnlen_user) 34ENDPROC(__strnlen_user)
35 35
36 .section .fixup,"ax" 36 .pushsection .fixup,"ax"
37 .align 0 37 .align 0
389001: mov r0, #0 389001: mov r0, #0
39 mov pc, lr 39 mov pc, lr
40 .previous 40 .popsection
diff --git a/arch/arm/lib/uaccess.S b/arch/arm/lib/uaccess.S
index ffdd27498ce..fee9f6f88ad 100644
--- a/arch/arm/lib/uaccess.S
+++ b/arch/arm/lib/uaccess.S
@@ -279,10 +279,10 @@ USER( strgtbt r3, [r0], #1) @ May fault
279 b .Lc2u_finished 279 b .Lc2u_finished
280ENDPROC(__copy_to_user) 280ENDPROC(__copy_to_user)
281 281
282 .section .fixup,"ax" 282 .pushsection .fixup,"ax"
283 .align 0 283 .align 0
2849001: ldmfd sp!, {r0, r4 - r7, pc} 2849001: ldmfd sp!, {r0, r4 - r7, pc}
285 .previous 285 .popsection
286 286
287/* Prototype: unsigned long __copy_from_user(void *to,const void *from,unsigned long n); 287/* Prototype: unsigned long __copy_from_user(void *to,const void *from,unsigned long n);
288 * Purpose : copy a block from user memory to kernel memory 288 * Purpose : copy a block from user memory to kernel memory
@@ -545,7 +545,7 @@ USER( ldrgtbt r3, [r1], #1) @ May fault
545 b .Lcfu_finished 545 b .Lcfu_finished
546ENDPROC(__copy_from_user) 546ENDPROC(__copy_from_user)
547 547
548 .section .fixup,"ax" 548 .pushsection .fixup,"ax"
549 .align 0 549 .align 0
550 /* 550 /*
551 * We took an exception. r0 contains a pointer to 551 * We took an exception. r0 contains a pointer to
@@ -559,5 +559,5 @@ ENDPROC(__copy_from_user)
559 blne __memzero 559 blne __memzero
560 mov r0, r4 560 mov r0, r4
561 ldmfd sp!, {r4 - r7, pc} 561 ldmfd sp!, {r4 - r7, pc}
562 .previous 562 .popsection
563 563
diff --git a/arch/arm/mach-davinci/da830.c b/arch/arm/mach-davinci/da830.c
index 122e61a9f50..e8cb982f5e8 100644
--- a/arch/arm/mach-davinci/da830.c
+++ b/arch/arm/mach-davinci/da830.c
@@ -410,7 +410,7 @@ static struct clk_lookup da830_clks[] = {
410 CLK("davinci-mcasp.0", NULL, &mcasp0_clk), 410 CLK("davinci-mcasp.0", NULL, &mcasp0_clk),
411 CLK("davinci-mcasp.1", NULL, &mcasp1_clk), 411 CLK("davinci-mcasp.1", NULL, &mcasp1_clk),
412 CLK("davinci-mcasp.2", NULL, &mcasp2_clk), 412 CLK("davinci-mcasp.2", NULL, &mcasp2_clk),
413 CLK("musb_hdrc", NULL, &usb20_clk), 413 CLK(NULL, "usb20", &usb20_clk),
414 CLK(NULL, "aemif", &aemif_clk), 414 CLK(NULL, "aemif", &aemif_clk),
415 CLK(NULL, "aintc", &aintc_clk), 415 CLK(NULL, "aintc", &aintc_clk),
416 CLK(NULL, "secu_mgr", &secu_mgr_clk), 416 CLK(NULL, "secu_mgr", &secu_mgr_clk),
diff --git a/arch/arm/mach-mx5/clock-mx51.c b/arch/arm/mach-mx5/clock-mx51.c
index 8f85f73b83a..1ee6ce4087b 100644
--- a/arch/arm/mach-mx5/clock-mx51.c
+++ b/arch/arm/mach-mx5/clock-mx51.c
@@ -16,6 +16,7 @@
16#include <linux/io.h> 16#include <linux/io.h>
17 17
18#include <asm/clkdev.h> 18#include <asm/clkdev.h>
19#include <asm/div64.h>
19 20
20#include <mach/hardware.h> 21#include <mach/hardware.h>
21#include <mach/common.h> 22#include <mach/common.h>
diff --git a/arch/arm/mach-pxa/include/mach/colibri.h b/arch/arm/mach-pxa/include/mach/colibri.h
index 811743c5614..5f2ba8d9015 100644
--- a/arch/arm/mach-pxa/include/mach/colibri.h
+++ b/arch/arm/mach-pxa/include/mach/colibri.h
@@ -2,6 +2,7 @@
2#define _COLIBRI_H_ 2#define _COLIBRI_H_
3 3
4#include <net/ax88796.h> 4#include <net/ax88796.h>
5#include <mach/mfp.h>
5 6
6/* 7/*
7 * common settings for all modules 8 * common settings for all modules
diff --git a/arch/arm/mach-pxa/include/mach/hardware.h b/arch/arm/mach-pxa/include/mach/hardware.h
index 7515757d691..3d8d8cb0968 100644
--- a/arch/arm/mach-pxa/include/mach/hardware.h
+++ b/arch/arm/mach-pxa/include/mach/hardware.h
@@ -202,7 +202,7 @@
202#define __cpu_is_pxa950(id) \ 202#define __cpu_is_pxa950(id) \
203 ({ \ 203 ({ \
204 unsigned int _id = (id) >> 4 & 0xfff; \ 204 unsigned int _id = (id) >> 4 & 0xfff; \
205 id == 0x697; \ 205 _id == 0x697; \
206 }) 206 })
207#else 207#else
208#define __cpu_is_pxa950(id) (0) 208#define __cpu_is_pxa950(id) (0)
diff --git a/arch/arm/mach-pxa/include/mach/regs-u2d.h b/arch/arm/mach-pxa/include/mach/regs-u2d.h
index 44b0b20b69a..c15c0c57de0 100644
--- a/arch/arm/mach-pxa/include/mach/regs-u2d.h
+++ b/arch/arm/mach-pxa/include/mach/regs-u2d.h
@@ -166,7 +166,8 @@
166#define U2DMACSR_BUSERRTYPE (7 << 10) /* PX Bus Error Type */ 166#define U2DMACSR_BUSERRTYPE (7 << 10) /* PX Bus Error Type */
167#define U2DMACSR_EORINTR (1 << 9) /* End Of Receive */ 167#define U2DMACSR_EORINTR (1 << 9) /* End Of Receive */
168#define U2DMACSR_REQPEND (1 << 8) /* Request Pending */ 168#define U2DMACSR_REQPEND (1 << 8) /* Request Pending */
169#define U2DMACSR_RASINTR (1 << 4) /* Request After Channel Stopped (read / write 1 clear) */#define U2DMACSR_STOPINTR (1 << 3) /* Stop Interrupt (read only) */ 169#define U2DMACSR_RASINTR (1 << 4) /* Request After Channel Stopped (read / write 1 clear) */
170#define U2DMACSR_STOPINTR (1 << 3) /* Stop Interrupt (read only) */
170#define U2DMACSR_ENDINTR (1 << 2) /* End Interrupt (read / write 1 clear) */ 171#define U2DMACSR_ENDINTR (1 << 2) /* End Interrupt (read / write 1 clear) */
171#define U2DMACSR_STARTINTR (1 << 1) /* Start Interrupt (read / write 1 clear) */ 172#define U2DMACSR_STARTINTR (1 << 1) /* Start Interrupt (read / write 1 clear) */
172#define U2DMACSR_BUSERRINTR (1 << 0) /* Bus Error Interrupt (read / write 1 clear) */ 173#define U2DMACSR_BUSERRINTR (1 << 0) /* Bus Error Interrupt (read / write 1 clear) */
diff --git a/arch/arm/mach-pxa/raumfeld.c b/arch/arm/mach-pxa/raumfeld.c
index 44bb675e47f..d12667bd9eb 100644
--- a/arch/arm/mach-pxa/raumfeld.c
+++ b/arch/arm/mach-pxa/raumfeld.c
@@ -983,7 +983,7 @@ static void __init raumfeld_common_init(void)
983 int i; 983 int i;
984 984
985 for (i = 0; i < ARRAY_SIZE(gpio_keys_button); i++) 985 for (i = 0; i < ARRAY_SIZE(gpio_keys_button); i++)
986 if (!strcmp(gpio_keys_button[i].desc, "on/off button")) 986 if (!strcmp(gpio_keys_button[i].desc, "on_off button"))
987 gpio_keys_button[i].active_low = 1; 987 gpio_keys_button[i].active_low = 1;
988 } 988 }
989 989
@@ -1009,8 +1009,7 @@ static void __init raumfeld_common_init(void)
1009 gpio_direction_output(GPIO_W2W_PDN, 0); 1009 gpio_direction_output(GPIO_W2W_PDN, 0);
1010 1010
1011 /* this can be used to switch off the device */ 1011 /* this can be used to switch off the device */
1012 ret = gpio_request(GPIO_SHUTDOWN_SUPPLY, 1012 ret = gpio_request(GPIO_SHUTDOWN_SUPPLY, "supply shutdown");
1013 "supply shutdown");
1014 if (ret < 0) 1013 if (ret < 0)
1015 pr_warning("Unable to request GPIO_SHUTDOWN_SUPPLY\n"); 1014 pr_warning("Unable to request GPIO_SHUTDOWN_SUPPLY\n");
1016 else 1015 else
diff --git a/arch/arm/mach-pxa/spitz.c b/arch/arm/mach-pxa/spitz.c
index 19b5109d980..01bdd7500df 100644
--- a/arch/arm/mach-pxa/spitz.c
+++ b/arch/arm/mach-pxa/spitz.c
@@ -363,7 +363,7 @@ static struct gpio_keys_button spitz_gpio_keys[] = {
363 .type = EV_PWR, 363 .type = EV_PWR,
364 .code = KEY_SUSPEND, 364 .code = KEY_SUSPEND,
365 .gpio = SPITZ_GPIO_ON_KEY, 365 .gpio = SPITZ_GPIO_ON_KEY,
366 .desc = "On/Off", 366 .desc = "On Off",
367 .wakeup = 1, 367 .wakeup = 1,
368 }, 368 },
369 /* Two buttons detecting the lid state */ 369 /* Two buttons detecting the lid state */
diff --git a/arch/arm/mach-pxa/viper.c b/arch/arm/mach-pxa/viper.c
index 9e0c5c3988a..e90114a7e24 100644
--- a/arch/arm/mach-pxa/viper.c
+++ b/arch/arm/mach-pxa/viper.c
@@ -34,6 +34,7 @@
34#include <linux/pm.h> 34#include <linux/pm.h>
35#include <linux/sched.h> 35#include <linux/sched.h>
36#include <linux/gpio.h> 36#include <linux/gpio.h>
37#include <linux/jiffies.h>
37#include <linux/i2c-gpio.h> 38#include <linux/i2c-gpio.h>
38#include <linux/serial_8250.h> 39#include <linux/serial_8250.h>
39#include <linux/smc91x.h> 40#include <linux/smc91x.h>
@@ -454,7 +455,7 @@ static struct i2c_gpio_platform_data i2c_bus_data = {
454 .sda_pin = VIPER_RTC_I2C_SDA_GPIO, 455 .sda_pin = VIPER_RTC_I2C_SDA_GPIO,
455 .scl_pin = VIPER_RTC_I2C_SCL_GPIO, 456 .scl_pin = VIPER_RTC_I2C_SCL_GPIO,
456 .udelay = 10, 457 .udelay = 10,
457 .timeout = 100, 458 .timeout = HZ,
458}; 459};
459 460
460static struct platform_device i2c_bus_device = { 461static struct platform_device i2c_bus_device = {
@@ -779,7 +780,7 @@ static void __init viper_tpm_init(void)
779 .sda_pin = VIPER_TPM_I2C_SDA_GPIO, 780 .sda_pin = VIPER_TPM_I2C_SDA_GPIO,
780 .scl_pin = VIPER_TPM_I2C_SCL_GPIO, 781 .scl_pin = VIPER_TPM_I2C_SCL_GPIO,
781 .udelay = 10, 782 .udelay = 10,
782 .timeout = 100, 783 .timeout = HZ,
783 }; 784 };
784 char *errstr; 785 char *errstr;
785 786
diff --git a/arch/arm/mach-realview/core.c b/arch/arm/mach-realview/core.c
index f2dbce5f3cd..d5a95738f85 100644
--- a/arch/arm/mach-realview/core.c
+++ b/arch/arm/mach-realview/core.c
@@ -254,7 +254,7 @@ static unsigned int realview_mmc_status(struct device *dev)
254 else 254 else
255 mask = 2; 255 mask = 2;
256 256
257 return readl(REALVIEW_SYSMCI) & mask; 257 return !(readl(REALVIEW_SYSMCI) & mask);
258} 258}
259 259
260struct mmci_platform_data realview_mmc0_plat_data = { 260struct mmci_platform_data realview_mmc0_plat_data = {
diff --git a/arch/arm/mach-sa1100/Kconfig b/arch/arm/mach-sa1100/Kconfig
index b17d52f7cc4..fd4c52b7ccb 100644
--- a/arch/arm/mach-sa1100/Kconfig
+++ b/arch/arm/mach-sa1100/Kconfig
@@ -57,7 +57,7 @@ config SA1100_COLLIE
57config SA1100_H3100 57config SA1100_H3100
58 bool "Compaq iPAQ H3100" 58 bool "Compaq iPAQ H3100"
59 select HTC_EGPIO 59 select HTC_EGPIO
60 select CPU_FREQ_SA1100 60 select CPU_FREQ_SA1110
61 help 61 help
62 Say Y here if you intend to run this kernel on the Compaq iPAQ 62 Say Y here if you intend to run this kernel on the Compaq iPAQ
63 H3100 handheld computer. Information about this machine and the 63 H3100 handheld computer. Information about this machine and the
@@ -68,7 +68,7 @@ config SA1100_H3100
68config SA1100_H3600 68config SA1100_H3600
69 bool "Compaq iPAQ H3600/H3700" 69 bool "Compaq iPAQ H3600/H3700"
70 select HTC_EGPIO 70 select HTC_EGPIO
71 select CPU_FREQ_SA1100 71 select CPU_FREQ_SA1110
72 help 72 help
73 Say Y here if you intend to run this kernel on the Compaq iPAQ 73 Say Y here if you intend to run this kernel on the Compaq iPAQ
74 H3600 handheld computer. Information about this machine and the 74 H3600 handheld computer. Information about this machine and the
diff --git a/arch/arm/mach-sa1100/cpu-sa1110.c b/arch/arm/mach-sa1100/cpu-sa1110.c
index 63b32b68b29..7252874d328 100644
--- a/arch/arm/mach-sa1100/cpu-sa1110.c
+++ b/arch/arm/mach-sa1100/cpu-sa1110.c
@@ -363,6 +363,9 @@ static int __init sa1110_clk_init(void)
363 struct sdram_params *sdram; 363 struct sdram_params *sdram;
364 const char *name = sdram_name; 364 const char *name = sdram_name;
365 365
366 if (!cpu_is_sa1110())
367 return -ENODEV;
368
366 if (!name[0]) { 369 if (!name[0]) {
367 if (machine_is_assabet()) 370 if (machine_is_assabet())
368 name = "TC59SM716-CL3"; 371 name = "TC59SM716-CL3";
diff --git a/arch/arm/mm/alignment.c b/arch/arm/mm/alignment.c
index edddd66faac..a2ab51fa73e 100644
--- a/arch/arm/mm/alignment.c
+++ b/arch/arm/mm/alignment.c
@@ -166,15 +166,15 @@ union offset_union {
166 THUMB( "1: "ins" %1, [%2]\n" ) \ 166 THUMB( "1: "ins" %1, [%2]\n" ) \
167 THUMB( " add %2, %2, #1\n" ) \ 167 THUMB( " add %2, %2, #1\n" ) \
168 "2:\n" \ 168 "2:\n" \
169 " .section .fixup,\"ax\"\n" \ 169 " .pushsection .fixup,\"ax\"\n" \
170 " .align 2\n" \ 170 " .align 2\n" \
171 "3: mov %0, #1\n" \ 171 "3: mov %0, #1\n" \
172 " b 2b\n" \ 172 " b 2b\n" \
173 " .previous\n" \ 173 " .popsection\n" \
174 " .section __ex_table,\"a\"\n" \ 174 " .pushsection __ex_table,\"a\"\n" \
175 " .align 3\n" \ 175 " .align 3\n" \
176 " .long 1b, 3b\n" \ 176 " .long 1b, 3b\n" \
177 " .previous\n" \ 177 " .popsection\n" \
178 : "=r" (err), "=&r" (val), "=r" (addr) \ 178 : "=r" (err), "=&r" (val), "=r" (addr) \
179 : "0" (err), "2" (addr)) 179 : "0" (err), "2" (addr))
180 180
@@ -226,16 +226,16 @@ union offset_union {
226 " mov %1, %1, "NEXT_BYTE"\n" \ 226 " mov %1, %1, "NEXT_BYTE"\n" \
227 "2: "ins" %1, [%2]\n" \ 227 "2: "ins" %1, [%2]\n" \
228 "3:\n" \ 228 "3:\n" \
229 " .section .fixup,\"ax\"\n" \ 229 " .pushsection .fixup,\"ax\"\n" \
230 " .align 2\n" \ 230 " .align 2\n" \
231 "4: mov %0, #1\n" \ 231 "4: mov %0, #1\n" \
232 " b 3b\n" \ 232 " b 3b\n" \
233 " .previous\n" \ 233 " .popsection\n" \
234 " .section __ex_table,\"a\"\n" \ 234 " .pushsection __ex_table,\"a\"\n" \
235 " .align 3\n" \ 235 " .align 3\n" \
236 " .long 1b, 4b\n" \ 236 " .long 1b, 4b\n" \
237 " .long 2b, 4b\n" \ 237 " .long 2b, 4b\n" \
238 " .previous\n" \ 238 " .popsection\n" \
239 : "=r" (err), "=&r" (v), "=&r" (a) \ 239 : "=r" (err), "=&r" (v), "=&r" (a) \
240 : "0" (err), "1" (v), "2" (a)); \ 240 : "0" (err), "1" (v), "2" (a)); \
241 if (err) \ 241 if (err) \
@@ -266,18 +266,18 @@ union offset_union {
266 " mov %1, %1, "NEXT_BYTE"\n" \ 266 " mov %1, %1, "NEXT_BYTE"\n" \
267 "4: "ins" %1, [%2]\n" \ 267 "4: "ins" %1, [%2]\n" \
268 "5:\n" \ 268 "5:\n" \
269 " .section .fixup,\"ax\"\n" \ 269 " .pushsection .fixup,\"ax\"\n" \
270 " .align 2\n" \ 270 " .align 2\n" \
271 "6: mov %0, #1\n" \ 271 "6: mov %0, #1\n" \
272 " b 5b\n" \ 272 " b 5b\n" \
273 " .previous\n" \ 273 " .popsection\n" \
274 " .section __ex_table,\"a\"\n" \ 274 " .pushsection __ex_table,\"a\"\n" \
275 " .align 3\n" \ 275 " .align 3\n" \
276 " .long 1b, 6b\n" \ 276 " .long 1b, 6b\n" \
277 " .long 2b, 6b\n" \ 277 " .long 2b, 6b\n" \
278 " .long 3b, 6b\n" \ 278 " .long 3b, 6b\n" \
279 " .long 4b, 6b\n" \ 279 " .long 4b, 6b\n" \
280 " .previous\n" \ 280 " .popsection\n" \
281 : "=r" (err), "=&r" (v), "=&r" (a) \ 281 : "=r" (err), "=&r" (v), "=&r" (a) \
282 : "0" (err), "1" (v), "2" (a)); \ 282 : "0" (err), "1" (v), "2" (a)); \
283 if (err) \ 283 if (err) \
diff --git a/arch/arm/mm/cache-v6.S b/arch/arm/mm/cache-v6.S
index 9d89c67a1cc..e46ecd84713 100644
--- a/arch/arm/mm/cache-v6.S
+++ b/arch/arm/mm/cache-v6.S
@@ -211,6 +211,9 @@ v6_dma_inv_range:
211 mcrne p15, 0, r1, c7, c15, 1 @ clean & invalidate unified line 211 mcrne p15, 0, r1, c7, c15, 1 @ clean & invalidate unified line
212#endif 212#endif
2131: 2131:
214#ifdef CONFIG_SMP
215 str r0, [r0] @ write for ownership
216#endif
214#ifdef HARVARD_CACHE 217#ifdef HARVARD_CACHE
215 mcr p15, 0, r0, c7, c6, 1 @ invalidate D line 218 mcr p15, 0, r0, c7, c6, 1 @ invalidate D line
216#else 219#else
@@ -231,6 +234,9 @@ v6_dma_inv_range:
231v6_dma_clean_range: 234v6_dma_clean_range:
232 bic r0, r0, #D_CACHE_LINE_SIZE - 1 235 bic r0, r0, #D_CACHE_LINE_SIZE - 1
2331: 2361:
237#ifdef CONFIG_SMP
238 ldr r2, [r0] @ read for ownership
239#endif
234#ifdef HARVARD_CACHE 240#ifdef HARVARD_CACHE
235 mcr p15, 0, r0, c7, c10, 1 @ clean D line 241 mcr p15, 0, r0, c7, c10, 1 @ clean D line
236#else 242#else
@@ -251,6 +257,10 @@ v6_dma_clean_range:
251ENTRY(v6_dma_flush_range) 257ENTRY(v6_dma_flush_range)
252 bic r0, r0, #D_CACHE_LINE_SIZE - 1 258 bic r0, r0, #D_CACHE_LINE_SIZE - 1
2531: 2591:
260#ifdef CONFIG_SMP
261 ldr r2, [r0] @ read for ownership
262 str r2, [r0] @ write for ownership
263#endif
254#ifdef HARVARD_CACHE 264#ifdef HARVARD_CACHE
255 mcr p15, 0, r0, c7, c14, 1 @ clean & invalidate D line 265 mcr p15, 0, r0, c7, c14, 1 @ clean & invalidate D line
256#else 266#else
@@ -273,7 +283,9 @@ ENTRY(v6_dma_map_area)
273 add r1, r1, r0 283 add r1, r1, r0
274 teq r2, #DMA_FROM_DEVICE 284 teq r2, #DMA_FROM_DEVICE
275 beq v6_dma_inv_range 285 beq v6_dma_inv_range
276 b v6_dma_clean_range 286 teq r2, #DMA_TO_DEVICE
287 beq v6_dma_clean_range
288 b v6_dma_flush_range
277ENDPROC(v6_dma_map_area) 289ENDPROC(v6_dma_map_area)
278 290
279/* 291/*
@@ -283,9 +295,6 @@ ENDPROC(v6_dma_map_area)
283 * - dir - DMA direction 295 * - dir - DMA direction
284 */ 296 */
285ENTRY(v6_dma_unmap_area) 297ENTRY(v6_dma_unmap_area)
286 add r1, r1, r0
287 teq r2, #DMA_TO_DEVICE
288 bne v6_dma_inv_range
289 mov pc, lr 298 mov pc, lr
290ENDPROC(v6_dma_unmap_area) 299ENDPROC(v6_dma_unmap_area)
291 300
diff --git a/arch/arm/mm/cache-v7.S b/arch/arm/mm/cache-v7.S
index bcd64f26587..06a90dcfc60 100644
--- a/arch/arm/mm/cache-v7.S
+++ b/arch/arm/mm/cache-v7.S
@@ -167,7 +167,11 @@ ENTRY(v7_coherent_user_range)
167 cmp r0, r1 167 cmp r0, r1
168 blo 1b 168 blo 1b
169 mov r0, #0 169 mov r0, #0
170#ifdef CONFIG_SMP
171 mcr p15, 0, r0, c7, c1, 6 @ invalidate BTB Inner Shareable
172#else
170 mcr p15, 0, r0, c7, c5, 6 @ invalidate BTB 173 mcr p15, 0, r0, c7, c5, 6 @ invalidate BTB
174#endif
171 dsb 175 dsb
172 isb 176 isb
173 mov pc, lr 177 mov pc, lr
diff --git a/arch/arm/mm/init.c b/arch/arm/mm/init.c
index 83db12a68d5..0ed29bfeba1 100644
--- a/arch/arm/mm/init.c
+++ b/arch/arm/mm/init.c
@@ -86,9 +86,6 @@ void show_mem(void)
86 printk("Mem-info:\n"); 86 printk("Mem-info:\n");
87 show_free_areas(); 87 show_free_areas();
88 for_each_online_node(node) { 88 for_each_online_node(node) {
89 pg_data_t *n = NODE_DATA(node);
90 struct page *map = pgdat_page_nr(n, 0) - n->node_start_pfn;
91
92 for_each_nodebank (i,mi,node) { 89 for_each_nodebank (i,mi,node) {
93 struct membank *bank = &mi->bank[i]; 90 struct membank *bank = &mi->bank[i];
94 unsigned int pfn1, pfn2; 91 unsigned int pfn1, pfn2;
@@ -97,8 +94,8 @@ void show_mem(void)
97 pfn1 = bank_pfn_start(bank); 94 pfn1 = bank_pfn_start(bank);
98 pfn2 = bank_pfn_end(bank); 95 pfn2 = bank_pfn_end(bank);
99 96
100 page = map + pfn1; 97 page = pfn_to_page(pfn1);
101 end = map + pfn2; 98 end = pfn_to_page(pfn2 - 1) + 1;
102 99
103 do { 100 do {
104 total++; 101 total++;
@@ -603,9 +600,6 @@ void __init mem_init(void)
603 reserved_pages = free_pages = 0; 600 reserved_pages = free_pages = 0;
604 601
605 for_each_online_node(node) { 602 for_each_online_node(node) {
606 pg_data_t *n = NODE_DATA(node);
607 struct page *map = pgdat_page_nr(n, 0) - n->node_start_pfn;
608
609 for_each_nodebank(i, &meminfo, node) { 603 for_each_nodebank(i, &meminfo, node) {
610 struct membank *bank = &meminfo.bank[i]; 604 struct membank *bank = &meminfo.bank[i];
611 unsigned int pfn1, pfn2; 605 unsigned int pfn1, pfn2;
@@ -614,8 +608,8 @@ void __init mem_init(void)
614 pfn1 = bank_pfn_start(bank); 608 pfn1 = bank_pfn_start(bank);
615 pfn2 = bank_pfn_end(bank); 609 pfn2 = bank_pfn_end(bank);
616 610
617 page = map + pfn1; 611 page = pfn_to_page(pfn1);
618 end = map + pfn2; 612 end = pfn_to_page(pfn2 - 1) + 1;
619 613
620 do { 614 do {
621 if (PageReserved(page)) 615 if (PageReserved(page))
diff --git a/arch/arm/mm/nommu.c b/arch/arm/mm/nommu.c
index 9bfeb6b9509..33b327379f0 100644
--- a/arch/arm/mm/nommu.c
+++ b/arch/arm/mm/nommu.c
@@ -65,6 +65,15 @@ void flush_dcache_page(struct page *page)
65} 65}
66EXPORT_SYMBOL(flush_dcache_page); 66EXPORT_SYMBOL(flush_dcache_page);
67 67
68void copy_to_user_page(struct vm_area_struct *vma, struct page *page,
69 unsigned long uaddr, void *dst, const void *src,
70 unsigned long len)
71{
72 memcpy(dst, src, len);
73 if (vma->vm_flags & VM_EXEC)
74 __cpuc_coherent_user_range(uaddr, uaddr + len);
75}
76
68void __iomem *__arm_ioremap_pfn(unsigned long pfn, unsigned long offset, 77void __iomem *__arm_ioremap_pfn(unsigned long pfn, unsigned long offset,
69 size_t size, unsigned int mtype) 78 size_t size, unsigned int mtype)
70{ 79{
@@ -87,8 +96,8 @@ void __iomem *__arm_ioremap(unsigned long phys_addr, size_t size,
87} 96}
88EXPORT_SYMBOL(__arm_ioremap); 97EXPORT_SYMBOL(__arm_ioremap);
89 98
90void __iomem *__arm_ioremap(unsigned long phys_addr, size_t size, 99void __iomem *__arm_ioremap_caller(unsigned long phys_addr, size_t size,
91 unsigned int mtype, void *caller) 100 unsigned int mtype, void *caller)
92{ 101{
93 return __arm_ioremap(phys_addr, size, mtype); 102 return __arm_ioremap(phys_addr, size, mtype);
94} 103}
diff --git a/arch/arm/mm/proc-sa1100.S b/arch/arm/mm/proc-sa1100.S
index ee7700242c1..5c47760c206 100644
--- a/arch/arm/mm/proc-sa1100.S
+++ b/arch/arm/mm/proc-sa1100.S
@@ -45,7 +45,7 @@ ENTRY(cpu_sa1100_proc_init)
45 mcr p15, 0, r0, c9, c0, 5 @ Allow read-buffer operations from userland 45 mcr p15, 0, r0, c9, c0, 5 @ Allow read-buffer operations from userland
46 mov pc, lr 46 mov pc, lr
47 47
48 .previous 48 .section .text
49 49
50/* 50/*
51 * cpu_sa1100_proc_fin() 51 * cpu_sa1100_proc_fin()
diff --git a/arch/arm/mm/tlb-v7.S b/arch/arm/mm/tlb-v7.S
index 0cb1848bd87..f3f288a9546 100644
--- a/arch/arm/mm/tlb-v7.S
+++ b/arch/arm/mm/tlb-v7.S
@@ -50,7 +50,11 @@ ENTRY(v7wbi_flush_user_tlb_range)
50 cmp r0, r1 50 cmp r0, r1
51 blo 1b 51 blo 1b
52 mov ip, #0 52 mov ip, #0
53#ifdef CONFIG_SMP
54 mcr p15, 0, ip, c7, c1, 6 @ flush BTAC/BTB Inner Shareable
55#else
53 mcr p15, 0, ip, c7, c5, 6 @ flush BTAC/BTB 56 mcr p15, 0, ip, c7, c5, 6 @ flush BTAC/BTB
57#endif
54 dsb 58 dsb
55 mov pc, lr 59 mov pc, lr
56ENDPROC(v7wbi_flush_user_tlb_range) 60ENDPROC(v7wbi_flush_user_tlb_range)
@@ -79,7 +83,11 @@ ENTRY(v7wbi_flush_kern_tlb_range)
79 cmp r0, r1 83 cmp r0, r1
80 blo 1b 84 blo 1b
81 mov r2, #0 85 mov r2, #0
86#ifdef CONFIG_SMP
87 mcr p15, 0, r2, c7, c1, 6 @ flush BTAC/BTB Inner Shareable
88#else
82 mcr p15, 0, r2, c7, c5, 6 @ flush BTAC/BTB 89 mcr p15, 0, r2, c7, c5, 6 @ flush BTAC/BTB
90#endif
83 dsb 91 dsb
84 isb 92 isb
85 mov pc, lr 93 mov pc, lr
diff --git a/arch/arm/nwfpe/entry.S b/arch/arm/nwfpe/entry.S
index 48bca0db460..cafa1835433 100644
--- a/arch/arm/nwfpe/entry.S
+++ b/arch/arm/nwfpe/entry.S
@@ -111,12 +111,12 @@ next:
111 @ to fault. Emit the appropriate exception gunk to fix things up. 111 @ to fault. Emit the appropriate exception gunk to fix things up.
112 @ ??? For some reason, faults can happen at .Lx2 even with a 112 @ ??? For some reason, faults can happen at .Lx2 even with a
113 @ plain LDR instruction. Weird, but it seems harmless. 113 @ plain LDR instruction. Weird, but it seems harmless.
114 .section .fixup,"ax" 114 .pushsection .fixup,"ax"
115 .align 2 115 .align 2
116.Lfix: mov pc, r9 @ let the user eat segfaults 116.Lfix: mov pc, r9 @ let the user eat segfaults
117 .previous 117 .popsection
118 118
119 .section __ex_table,"a" 119 .pushsection __ex_table,"a"
120 .align 3 120 .align 3
121 .long .Lx1, .Lfix 121 .long .Lx1, .Lfix
122 .previous 122 .popsection
diff --git a/arch/arm/plat-mxc/include/mach/dma-mx1-mx2.h b/arch/arm/plat-mxc/include/mach/dma-mx1-mx2.h
index 07be8ad7ec3..7c4870bd5a2 100644
--- a/arch/arm/plat-mxc/include/mach/dma-mx1-mx2.h
+++ b/arch/arm/plat-mxc/include/mach/dma-mx1-mx2.h
@@ -31,7 +31,13 @@
31#define DMA_MODE_WRITE 1 31#define DMA_MODE_WRITE 1
32#define DMA_MODE_MASK 1 32#define DMA_MODE_MASK 1
33 33
34#define DMA_BASE IO_ADDRESS(DMA_BASE_ADDR) 34#define MX1_DMA_REG(offset) MX1_IO_ADDRESS(MX1_DMA_BASE_ADDR + (offset))
35
36/* DMA Interrupt Mask Register */
37#define MX1_DMA_DIMR MX1_DMA_REG(0x08)
38
39/* Channel Control Register */
40#define MX1_DMA_CCR(x) MX1_DMA_REG(0x8c + ((x) << 6))
35 41
36#define IMX_DMA_MEMSIZE_32 (0 << 4) 42#define IMX_DMA_MEMSIZE_32 (0 << 4)
37#define IMX_DMA_MEMSIZE_8 (1 << 4) 43#define IMX_DMA_MEMSIZE_8 (1 << 4)
diff --git a/arch/arm/plat-omap/include/plat/usb.h b/arch/arm/plat-omap/include/plat/usb.h
index 568578db93b..876ca8d5e92 100644
--- a/arch/arm/plat-omap/include/plat/usb.h
+++ b/arch/arm/plat-omap/include/plat/usb.h
@@ -46,7 +46,7 @@ struct ehci_hcd_omap_platform_data {
46struct omap_musb_board_data { 46struct omap_musb_board_data {
47 u8 interface_type; 47 u8 interface_type;
48 u8 mode; 48 u8 mode;
49 u8 power; 49 u16 power;
50}; 50};
51 51
52enum musb_interface {MUSB_INTERFACE_ULPI, MUSB_INTERFACE_UTMI}; 52enum musb_interface {MUSB_INTERFACE_ULPI, MUSB_INTERFACE_UTMI};
diff --git a/arch/arm/plat-pxa/dma.c b/arch/arm/plat-pxa/dma.c
index 742350e0f2a..2d3c19d7c7b 100644
--- a/arch/arm/plat-pxa/dma.c
+++ b/arch/arm/plat-pxa/dma.c
@@ -245,7 +245,7 @@ static void pxa_dma_init_debugfs(void)
245 245
246 dbgfs_chan = kmalloc(sizeof(*dbgfs_state) * num_dma_channels, 246 dbgfs_chan = kmalloc(sizeof(*dbgfs_state) * num_dma_channels,
247 GFP_KERNEL); 247 GFP_KERNEL);
248 if (!dbgfs_state) 248 if (!dbgfs_chan)
249 goto err_alloc; 249 goto err_alloc;
250 250
251 chandir = debugfs_create_dir("channels", dbgfs_root); 251 chandir = debugfs_create_dir("channels", dbgfs_root);
diff --git a/arch/arm/tools/mach-types b/arch/arm/tools/mach-types
index 1536f1784ca..8f10d24ae62 100644
--- a/arch/arm/tools/mach-types
+++ b/arch/arm/tools/mach-types
@@ -12,7 +12,7 @@
12# 12#
13# http://www.arm.linux.org.uk/developer/machines/?action=new 13# http://www.arm.linux.org.uk/developer/machines/?action=new
14# 14#
15# Last update: Sat Mar 20 15:35:41 2010 15# Last update: Sat May 1 10:36:42 2010
16# 16#
17# machine_is_xxx CONFIG_xxxx MACH_TYPE_xxx number 17# machine_is_xxx CONFIG_xxxx MACH_TYPE_xxx number
18# 18#
@@ -2749,3 +2749,58 @@ stamp9g45 MACH_STAMP9G45 STAMP9G45 2761
2749h6053 MACH_H6053 H6053 2762 2749h6053 MACH_H6053 H6053 2762
2750smint01 MACH_SMINT01 SMINT01 2763 2750smint01 MACH_SMINT01 SMINT01 2763
2751prtlvt2 MACH_PRTLVT2 PRTLVT2 2764 2751prtlvt2 MACH_PRTLVT2 PRTLVT2 2764
2752ap420 MACH_AP420 AP420 2765
2753htcshift MACH_HTCSHIFT HTCSHIFT 2766
2754davinci_dm365_fc MACH_DAVINCI_DM365_FC DAVINCI_DM365_FC 2767
2755msm8x55_surf MACH_MSM8X55_SURF MSM8X55_SURF 2768
2756msm8x55_ffa MACH_MSM8X55_FFA MSM8X55_FFA 2769
2757esl_vamana MACH_ESL_VAMANA ESL_VAMANA 2770
2758sbc35 MACH_SBC35 SBC35 2771
2759mpx6446 MACH_MPX6446 MPX6446 2772
2760oreo_controller MACH_OREO_CONTROLLER OREO_CONTROLLER 2773
2761kopin_models MACH_KOPIN_MODELS KOPIN_MODELS 2774
2762ttc_vision2 MACH_TTC_VISION2 TTC_VISION2 2775
2763cns3420vb MACH_CNS3420VB CNS3420VB 2776
2764lpc2 MACH_LPC2 LPC2 2777
2765olympus MACH_OLYMPUS OLYMPUS 2778
2766vortex MACH_VORTEX VORTEX 2779
2767s5pc200 MACH_S5PC200 S5PC200 2780
2768ecucore_9263 MACH_ECUCORE_9263 ECUCORE_9263 2781
2769smdkc200 MACH_SMDKC200 SMDKC200 2782
2770emsiso_sx27 MACH_EMSISO_SX27 EMSISO_SX27 2783
2771apx_som9g45_ek MACH_APX_SOM9G45_EK APX_SOM9G45_EK 2784
2772songshan MACH_SONGSHAN SONGSHAN 2785
2773tianshan MACH_TIANSHAN TIANSHAN 2786
2774vpx500 MACH_VPX500 VPX500 2787
2775am3517sam MACH_AM3517SAM AM3517SAM 2788
2776skat91_sim508 MACH_SKAT91_SIM508 SKAT91_SIM508 2789
2777skat91_s3e MACH_SKAT91_S3E SKAT91_S3E 2790
2778omap4_panda MACH_OMAP4_PANDA OMAP4_PANDA 2791
2779df7220 MACH_DF7220 DF7220 2792
2780nemini MACH_NEMINI NEMINI 2793
2781t8200 MACH_T8200 T8200 2794
2782apf51 MACH_APF51 APF51 2795
2783dr_rc_unit MACH_DR_RC_UNIT DR_RC_UNIT 2796
2784bordeaux MACH_BORDEAUX BORDEAUX 2797
2785catania_b MACH_CATANIA_B CATANIA_B 2798
2786mx51_ocean MACH_MX51_OCEAN MX51_OCEAN 2799
2787ti8168evm MACH_TI8168EVM TI8168EVM 2800
2788neocoreomap MACH_NEOCOREOMAP NEOCOREOMAP 2801
2789withings_wbp MACH_WITHINGS_WBP WITHINGS_WBP 2802
2790dbps MACH_DBPS DBPS 2803
2791sbc9261 MACH_SBC9261 SBC9261 2804
2792pcbfp0001 MACH_PCBFP0001 PCBFP0001 2805
2793speedy MACH_SPEEDY SPEEDY 2806
2794chrysaor MACH_CHRYSAOR CHRYSAOR 2807
2795tango MACH_TANGO TANGO 2808
2796synology_dsx11 MACH_SYNOLOGY_DSX11 SYNOLOGY_DSX11 2809
2797hanlin_v3ext MACH_HANLIN_V3EXT HANLIN_V3EXT 2810
2798hanlin_v5 MACH_HANLIN_V5 HANLIN_V5 2811
2799hanlin_v3plus MACH_HANLIN_V3PLUS HANLIN_V3PLUS 2812
2800iriver_story MACH_IRIVER_STORY IRIVER_STORY 2813
2801irex_iliad MACH_IREX_ILIAD IREX_ILIAD 2814
2802irex_dr1000 MACH_IREX_DR1000 IREX_DR1000 2815
2803teton_bga MACH_TETON_BGA TETON_BGA 2816
2804snapper9g45 MACH_SNAPPER9G45 SNAPPER9G45 2817
2805tam3517 MACH_TAM3517 TAM3517 2818
2806pdc100 MACH_PDC100 PDC100 2819
diff --git a/arch/avr32/include/asm/atomic.h b/arch/avr32/include/asm/atomic.h
index b131c27ddf5..bbce6a1c6bb 100644
--- a/arch/avr32/include/asm/atomic.h
+++ b/arch/avr32/include/asm/atomic.h
@@ -19,7 +19,7 @@
19 19
20#define ATOMIC_INIT(i) { (i) } 20#define ATOMIC_INIT(i) { (i) }
21 21
22#define atomic_read(v) ((v)->counter) 22#define atomic_read(v) (*(volatile int *)&(v)->counter)
23#define atomic_set(v, i) (((v)->counter) = i) 23#define atomic_set(v, i) (((v)->counter) = i)
24 24
25/* 25/*
diff --git a/arch/cris/include/asm/atomic.h b/arch/cris/include/asm/atomic.h
index a6aca819e9f..88dc9b9c4ba 100644
--- a/arch/cris/include/asm/atomic.h
+++ b/arch/cris/include/asm/atomic.h
@@ -15,7 +15,7 @@
15 15
16#define ATOMIC_INIT(i) { (i) } 16#define ATOMIC_INIT(i) { (i) }
17 17
18#define atomic_read(v) ((v)->counter) 18#define atomic_read(v) (*(volatile int *)&(v)->counter)
19#define atomic_set(v,i) (((v)->counter) = (i)) 19#define atomic_set(v,i) (((v)->counter) = (i))
20 20
21/* These should be written in asm but we do it in C for now. */ 21/* These should be written in asm but we do it in C for now. */
diff --git a/arch/frv/include/asm/atomic.h b/arch/frv/include/asm/atomic.h
index 00a57af79af..fae32c7fdcb 100644
--- a/arch/frv/include/asm/atomic.h
+++ b/arch/frv/include/asm/atomic.h
@@ -36,7 +36,7 @@
36#define smp_mb__after_atomic_inc() barrier() 36#define smp_mb__after_atomic_inc() barrier()
37 37
38#define ATOMIC_INIT(i) { (i) } 38#define ATOMIC_INIT(i) { (i) }
39#define atomic_read(v) ((v)->counter) 39#define atomic_read(v) (*(volatile int *)&(v)->counter)
40#define atomic_set(v, i) (((v)->counter) = (i)) 40#define atomic_set(v, i) (((v)->counter) = (i))
41 41
42#ifndef CONFIG_FRV_OUTOFLINE_ATOMIC_OPS 42#ifndef CONFIG_FRV_OUTOFLINE_ATOMIC_OPS
diff --git a/arch/h8300/include/asm/atomic.h b/arch/h8300/include/asm/atomic.h
index 33c8c0fa958..e936804b750 100644
--- a/arch/h8300/include/asm/atomic.h
+++ b/arch/h8300/include/asm/atomic.h
@@ -10,7 +10,7 @@
10 10
11#define ATOMIC_INIT(i) { (i) } 11#define ATOMIC_INIT(i) { (i) }
12 12
13#define atomic_read(v) ((v)->counter) 13#define atomic_read(v) (*(volatile int *)&(v)->counter)
14#define atomic_set(v, i) (((v)->counter) = i) 14#define atomic_set(v, i) (((v)->counter) = i)
15 15
16#include <asm/system.h> 16#include <asm/system.h>
diff --git a/arch/ia64/include/asm/atomic.h b/arch/ia64/include/asm/atomic.h
index 88405cb0832..4e1948447a0 100644
--- a/arch/ia64/include/asm/atomic.h
+++ b/arch/ia64/include/asm/atomic.h
@@ -21,8 +21,8 @@
21#define ATOMIC_INIT(i) ((atomic_t) { (i) }) 21#define ATOMIC_INIT(i) ((atomic_t) { (i) })
22#define ATOMIC64_INIT(i) ((atomic64_t) { (i) }) 22#define ATOMIC64_INIT(i) ((atomic64_t) { (i) })
23 23
24#define atomic_read(v) ((v)->counter) 24#define atomic_read(v) (*(volatile int *)&(v)->counter)
25#define atomic64_read(v) ((v)->counter) 25#define atomic64_read(v) (*(volatile long *)&(v)->counter)
26 26
27#define atomic_set(v,i) (((v)->counter) = (i)) 27#define atomic_set(v,i) (((v)->counter) = (i))
28#define atomic64_set(v,i) (((v)->counter) = (i)) 28#define atomic64_set(v,i) (((v)->counter) = (i))
diff --git a/arch/m32r/include/asm/atomic.h b/arch/m32r/include/asm/atomic.h
index 63f0cf0f50d..d44a51e5271 100644
--- a/arch/m32r/include/asm/atomic.h
+++ b/arch/m32r/include/asm/atomic.h
@@ -26,7 +26,7 @@
26 * 26 *
27 * Atomically reads the value of @v. 27 * Atomically reads the value of @v.
28 */ 28 */
29#define atomic_read(v) ((v)->counter) 29#define atomic_read(v) (*(volatile int *)&(v)->counter)
30 30
31/** 31/**
32 * atomic_set - set atomic variable 32 * atomic_set - set atomic variable
diff --git a/arch/m68k/amiga/Makefile b/arch/m68k/amiga/Makefile
index 6a0d7650f98..11dd30b16b3 100644
--- a/arch/m68k/amiga/Makefile
+++ b/arch/m68k/amiga/Makefile
@@ -2,6 +2,6 @@
2# Makefile for Linux arch/m68k/amiga source directory 2# Makefile for Linux arch/m68k/amiga source directory
3# 3#
4 4
5obj-y := config.o amiints.o cia.o chipram.o amisound.o 5obj-y := config.o amiints.o cia.o chipram.o amisound.o platform.o
6 6
7obj-$(CONFIG_AMIGA_PCMCIA) += pcmcia.o 7obj-$(CONFIG_AMIGA_PCMCIA) += pcmcia.o
diff --git a/arch/m68k/amiga/platform.c b/arch/m68k/amiga/platform.c
new file mode 100644
index 00000000000..38f18bf1473
--- /dev/null
+++ b/arch/m68k/amiga/platform.c
@@ -0,0 +1,83 @@
1/*
2 * Copyright (C) 2007-2009 Geert Uytterhoeven
3 *
4 * This file is subject to the terms and conditions of the GNU General Public
5 * License. See the file COPYING in the main directory of this archive
6 * for more details.
7 */
8
9#include <linux/init.h>
10#include <linux/platform_device.h>
11#include <linux/zorro.h>
12
13#include <asm/amigahw.h>
14
15
16#ifdef CONFIG_ZORRO
17
18static const struct resource zorro_resources[] __initconst = {
19 /* Zorro II regions (on Zorro II/III) */
20 {
21 .name = "Zorro II exp",
22 .start = 0x00e80000,
23 .end = 0x00efffff,
24 .flags = IORESOURCE_MEM,
25 }, {
26 .name = "Zorro II mem",
27 .start = 0x00200000,
28 .end = 0x009fffff,
29 .flags = IORESOURCE_MEM,
30 },
31 /* Zorro III regions (on Zorro III only) */
32 {
33 .name = "Zorro III exp",
34 .start = 0xff000000,
35 .end = 0xffffffff,
36 .flags = IORESOURCE_MEM,
37 }, {
38 .name = "Zorro III cfg",
39 .start = 0x40000000,
40 .end = 0x7fffffff,
41 .flags = IORESOURCE_MEM,
42 }
43};
44
45
46static int __init amiga_init_bus(void)
47{
48 if (!MACH_IS_AMIGA || !AMIGAHW_PRESENT(ZORRO))
49 return -ENODEV;
50
51 platform_device_register_simple("amiga-zorro", -1, zorro_resources,
52 AMIGAHW_PRESENT(ZORRO3) ? 4 : 2);
53 return 0;
54}
55
56subsys_initcall(amiga_init_bus);
57
58#endif /* CONFIG_ZORRO */
59
60
61static int __init amiga_init_devices(void)
62{
63 if (!MACH_IS_AMIGA)
64 return -ENODEV;
65
66 /* video hardware */
67 if (AMIGAHW_PRESENT(AMI_VIDEO))
68 platform_device_register_simple("amiga-video", -1, NULL, 0);
69
70
71 /* sound hardware */
72 if (AMIGAHW_PRESENT(AMI_AUDIO))
73 platform_device_register_simple("amiga-audio", -1, NULL, 0);
74
75
76 /* storage interfaces */
77 if (AMIGAHW_PRESENT(AMI_FLOPPY))
78 platform_device_register_simple("amiga-floppy", -1, NULL, 0);
79
80 return 0;
81}
82
83device_initcall(amiga_init_devices);
diff --git a/arch/m68k/bvme6000/rtc.c b/arch/m68k/bvme6000/rtc.c
index b46ea1714a8..cb8617bb194 100644
--- a/arch/m68k/bvme6000/rtc.c
+++ b/arch/m68k/bvme6000/rtc.c
@@ -9,7 +9,6 @@
9#include <linux/types.h> 9#include <linux/types.h>
10#include <linux/errno.h> 10#include <linux/errno.h>
11#include <linux/miscdevice.h> 11#include <linux/miscdevice.h>
12#include <linux/smp_lock.h>
13#include <linux/ioport.h> 12#include <linux/ioport.h>
14#include <linux/capability.h> 13#include <linux/capability.h>
15#include <linux/fcntl.h> 14#include <linux/fcntl.h>
@@ -35,10 +34,9 @@
35static unsigned char days_in_mo[] = 34static unsigned char days_in_mo[] =
36{0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; 35{0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
37 36
38static char rtc_status; 37static atomic_t rtc_status = ATOMIC_INIT(1);
39 38
40static int rtc_ioctl(struct inode *inode, struct file *file, unsigned int cmd, 39static long rtc_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
41 unsigned long arg)
42{ 40{
43 volatile RtcPtr_t rtc = (RtcPtr_t)BVME_RTC_BASE; 41 volatile RtcPtr_t rtc = (RtcPtr_t)BVME_RTC_BASE;
44 unsigned char msr; 42 unsigned char msr;
@@ -132,29 +130,20 @@ static int rtc_ioctl(struct inode *inode, struct file *file, unsigned int cmd,
132} 130}
133 131
134/* 132/*
135 * We enforce only one user at a time here with the open/close. 133 * We enforce only one user at a time here with the open/close.
136 * Also clear the previous interrupt data on an open, and clean
137 * up things on a close.
138 */ 134 */
139
140static int rtc_open(struct inode *inode, struct file *file) 135static int rtc_open(struct inode *inode, struct file *file)
141{ 136{
142 lock_kernel(); 137 if (!atomic_dec_and_test(&rtc_status)) {
143 if(rtc_status) { 138 atomic_inc(&rtc_status);
144 unlock_kernel();
145 return -EBUSY; 139 return -EBUSY;
146 } 140 }
147
148 rtc_status = 1;
149 unlock_kernel();
150 return 0; 141 return 0;
151} 142}
152 143
153static int rtc_release(struct inode *inode, struct file *file) 144static int rtc_release(struct inode *inode, struct file *file)
154{ 145{
155 lock_kernel(); 146 atomic_inc(&rtc_status);
156 rtc_status = 0;
157 unlock_kernel();
158 return 0; 147 return 0;
159} 148}
160 149
@@ -163,9 +152,9 @@ static int rtc_release(struct inode *inode, struct file *file)
163 */ 152 */
164 153
165static const struct file_operations rtc_fops = { 154static const struct file_operations rtc_fops = {
166 .ioctl = rtc_ioctl, 155 .unlocked_ioctl = rtc_ioctl,
167 .open = rtc_open, 156 .open = rtc_open,
168 .release = rtc_release, 157 .release = rtc_release,
169}; 158};
170 159
171static struct miscdevice rtc_dev = { 160static struct miscdevice rtc_dev = {
diff --git a/arch/m68k/hp300/time.h b/arch/m68k/hp300/time.h
index f5b3d098b0f..7b98242960d 100644
--- a/arch/m68k/hp300/time.h
+++ b/arch/m68k/hp300/time.h
@@ -1,4 +1,2 @@
1extern void hp300_sched_init(irq_handler_t vector); 1extern void hp300_sched_init(irq_handler_t vector);
2extern unsigned long hp300_gettimeoffset (void); 2extern unsigned long hp300_gettimeoffset(void);
3
4
diff --git a/arch/m68k/include/asm/atomic_mm.h b/arch/m68k/include/asm/atomic_mm.h
index d9d2ed64743..6a223b3f7e7 100644
--- a/arch/m68k/include/asm/atomic_mm.h
+++ b/arch/m68k/include/asm/atomic_mm.h
@@ -15,7 +15,7 @@
15 15
16#define ATOMIC_INIT(i) { (i) } 16#define ATOMIC_INIT(i) { (i) }
17 17
18#define atomic_read(v) ((v)->counter) 18#define atomic_read(v) (*(volatile int *)&(v)->counter)
19#define atomic_set(v, i) (((v)->counter) = i) 19#define atomic_set(v, i) (((v)->counter) = i)
20 20
21static inline void atomic_add(int i, atomic_t *v) 21static inline void atomic_add(int i, atomic_t *v)
diff --git a/arch/m68k/include/asm/atomic_no.h b/arch/m68k/include/asm/atomic_no.h
index 5674cb9449b..289310c63a8 100644
--- a/arch/m68k/include/asm/atomic_no.h
+++ b/arch/m68k/include/asm/atomic_no.h
@@ -15,7 +15,7 @@
15 15
16#define ATOMIC_INIT(i) { (i) } 16#define ATOMIC_INIT(i) { (i) }
17 17
18#define atomic_read(v) ((v)->counter) 18#define atomic_read(v) (*(volatile int *)&(v)->counter)
19#define atomic_set(v, i) (((v)->counter) = i) 19#define atomic_set(v, i) (((v)->counter) = i)
20 20
21static __inline__ void atomic_add(int i, atomic_t *v) 21static __inline__ void atomic_add(int i, atomic_t *v)
diff --git a/arch/m68k/include/asm/bitops_mm.h b/arch/m68k/include/asm/bitops_mm.h
index 9bde784e7ba..b4ecdaada52 100644
--- a/arch/m68k/include/asm/bitops_mm.h
+++ b/arch/m68k/include/asm/bitops_mm.h
@@ -365,6 +365,10 @@ static inline int minix_test_bit(int nr, const void *vaddr)
365#define ext2_set_bit_atomic(lock, nr, addr) test_and_set_bit((nr) ^ 24, (unsigned long *)(addr)) 365#define ext2_set_bit_atomic(lock, nr, addr) test_and_set_bit((nr) ^ 24, (unsigned long *)(addr))
366#define ext2_clear_bit(nr, addr) __test_and_clear_bit((nr) ^ 24, (unsigned long *)(addr)) 366#define ext2_clear_bit(nr, addr) __test_and_clear_bit((nr) ^ 24, (unsigned long *)(addr))
367#define ext2_clear_bit_atomic(lock, nr, addr) test_and_clear_bit((nr) ^ 24, (unsigned long *)(addr)) 367#define ext2_clear_bit_atomic(lock, nr, addr) test_and_clear_bit((nr) ^ 24, (unsigned long *)(addr))
368#define ext2_find_next_zero_bit(addr, size, offset) \
369 generic_find_next_zero_le_bit((unsigned long *)addr, size, offset)
370#define ext2_find_next_bit(addr, size, offset) \
371 generic_find_next_le_bit((unsigned long *)addr, size, offset)
368 372
369static inline int ext2_test_bit(int nr, const void *vaddr) 373static inline int ext2_test_bit(int nr, const void *vaddr)
370{ 374{
@@ -394,10 +398,9 @@ static inline int ext2_find_first_zero_bit(const void *vaddr, unsigned size)
394 return (p - addr) * 32 + res; 398 return (p - addr) * 32 + res;
395} 399}
396 400
397static inline int ext2_find_next_zero_bit(const void *vaddr, unsigned size, 401static inline unsigned long generic_find_next_zero_le_bit(const unsigned long *addr,
398 unsigned offset) 402 unsigned long size, unsigned long offset)
399{ 403{
400 const unsigned long *addr = vaddr;
401 const unsigned long *p = addr + (offset >> 5); 404 const unsigned long *p = addr + (offset >> 5);
402 int bit = offset & 31UL, res; 405 int bit = offset & 31UL, res;
403 406
@@ -437,10 +440,9 @@ static inline int ext2_find_first_bit(const void *vaddr, unsigned size)
437 return (p - addr) * 32 + res; 440 return (p - addr) * 32 + res;
438} 441}
439 442
440static inline int ext2_find_next_bit(const void *vaddr, unsigned size, 443static inline unsigned long generic_find_next_le_bit(const unsigned long *addr,
441 unsigned offset) 444 unsigned long size, unsigned long offset)
442{ 445{
443 const unsigned long *addr = vaddr;
444 const unsigned long *p = addr + (offset >> 5); 446 const unsigned long *p = addr + (offset >> 5);
445 int bit = offset & 31UL, res; 447 int bit = offset & 31UL, res;
446 448
diff --git a/arch/m68k/include/asm/param.h b/arch/m68k/include/asm/param.h
index 85c41b75aa7..36265ccf5c7 100644
--- a/arch/m68k/include/asm/param.h
+++ b/arch/m68k/include/asm/param.h
@@ -1,26 +1,12 @@
1#ifndef _M68K_PARAM_H 1#ifndef _M68K_PARAM_H
2#define _M68K_PARAM_H 2#define _M68K_PARAM_H
3 3
4#ifdef __KERNEL__
5# define HZ CONFIG_HZ /* Internal kernel timer frequency */
6# define USER_HZ 100 /* .. some user interfaces are in "ticks" */
7# define CLOCKS_PER_SEC (USER_HZ) /* like times() */
8#endif
9
10#ifndef HZ
11#define HZ 100
12#endif
13
14#ifdef __uClinux__ 4#ifdef __uClinux__
15#define EXEC_PAGESIZE 4096 5#define EXEC_PAGESIZE 4096
16#else 6#else
17#define EXEC_PAGESIZE 8192 7#define EXEC_PAGESIZE 8192
18#endif 8#endif
19 9
20#ifndef NOGROUP 10#include <asm-generic/param.h>
21#define NOGROUP (-1)
22#endif
23
24#define MAXHOSTNAMELEN 64 /* max length of hostname */
25 11
26#endif /* _M68K_PARAM_H */ 12#endif /* _M68K_PARAM_H */
diff --git a/arch/m68k/kernel/traps.c b/arch/m68k/kernel/traps.c
index aacd6d17b83..ada4f4cca81 100644
--- a/arch/m68k/kernel/traps.c
+++ b/arch/m68k/kernel/traps.c
@@ -455,7 +455,7 @@ static inline void access_error040(struct frame *fp)
455 455
456 if (do_page_fault(&fp->ptregs, addr, errorcode)) { 456 if (do_page_fault(&fp->ptregs, addr, errorcode)) {
457#ifdef DEBUG 457#ifdef DEBUG
458 printk("do_page_fault() !=0 \n"); 458 printk("do_page_fault() !=0\n");
459#endif 459#endif
460 if (user_mode(&fp->ptregs)){ 460 if (user_mode(&fp->ptregs)){
461 /* delay writebacks after signal delivery */ 461 /* delay writebacks after signal delivery */
diff --git a/arch/m68k/mac/config.c b/arch/m68k/mac/config.c
index 0356da9bf76..1c16b1baf8d 100644
--- a/arch/m68k/mac/config.c
+++ b/arch/m68k/mac/config.c
@@ -148,7 +148,7 @@ static void mac_cache_card_flush(int writeback)
148void __init config_mac(void) 148void __init config_mac(void)
149{ 149{
150 if (!MACH_IS_MAC) 150 if (!MACH_IS_MAC)
151 printk(KERN_ERR "ERROR: no Mac, but config_mac() called!! \n"); 151 printk(KERN_ERR "ERROR: no Mac, but config_mac() called!!\n");
152 152
153 mach_sched_init = mac_sched_init; 153 mach_sched_init = mac_sched_init;
154 mach_init_IRQ = mac_init_IRQ; 154 mach_init_IRQ = mac_init_IRQ;
@@ -867,7 +867,7 @@ static void __init mac_identify(void)
867 */ 867 */
868 iop_preinit(); 868 iop_preinit();
869 869
870 printk(KERN_INFO "Detected Macintosh model: %d \n", model); 870 printk(KERN_INFO "Detected Macintosh model: %d\n", model);
871 871
872 /* 872 /*
873 * Report booter data: 873 * Report booter data:
@@ -878,12 +878,12 @@ static void __init mac_identify(void)
878 mac_bi_data.videoaddr, mac_bi_data.videorow, 878 mac_bi_data.videoaddr, mac_bi_data.videorow,
879 mac_bi_data.videodepth, mac_bi_data.dimensions & 0xFFFF, 879 mac_bi_data.videodepth, mac_bi_data.dimensions & 0xFFFF,
880 mac_bi_data.dimensions >> 16); 880 mac_bi_data.dimensions >> 16);
881 printk(KERN_DEBUG " Videological 0x%lx phys. 0x%lx, SCC at 0x%lx \n", 881 printk(KERN_DEBUG " Videological 0x%lx phys. 0x%lx, SCC at 0x%lx\n",
882 mac_bi_data.videological, mac_orig_videoaddr, 882 mac_bi_data.videological, mac_orig_videoaddr,
883 mac_bi_data.sccbase); 883 mac_bi_data.sccbase);
884 printk(KERN_DEBUG " Boottime: 0x%lx GMTBias: 0x%lx \n", 884 printk(KERN_DEBUG " Boottime: 0x%lx GMTBias: 0x%lx\n",
885 mac_bi_data.boottime, mac_bi_data.gmtbias); 885 mac_bi_data.boottime, mac_bi_data.gmtbias);
886 printk(KERN_DEBUG " Machine ID: %ld CPUid: 0x%lx memory size: 0x%lx \n", 886 printk(KERN_DEBUG " Machine ID: %ld CPUid: 0x%lx memory size: 0x%lx\n",
887 mac_bi_data.id, mac_bi_data.cpuid, mac_bi_data.memsize); 887 mac_bi_data.id, mac_bi_data.cpuid, mac_bi_data.memsize);
888 888
889 iop_init(); 889 iop_init();
diff --git a/arch/m68k/mm/fault.c b/arch/m68k/mm/fault.c
index d0e35cf99fc..a96394a0333 100644
--- a/arch/m68k/mm/fault.c
+++ b/arch/m68k/mm/fault.c
@@ -154,7 +154,6 @@ good_area:
154 * the fault. 154 * the fault.
155 */ 155 */
156 156
157 survive:
158 fault = handle_mm_fault(mm, vma, address, write ? FAULT_FLAG_WRITE : 0); 157 fault = handle_mm_fault(mm, vma, address, write ? FAULT_FLAG_WRITE : 0);
159#ifdef DEBUG 158#ifdef DEBUG
160 printk("handle_mm_fault returns %d\n",fault); 159 printk("handle_mm_fault returns %d\n",fault);
@@ -180,15 +179,10 @@ good_area:
180 */ 179 */
181out_of_memory: 180out_of_memory:
182 up_read(&mm->mmap_sem); 181 up_read(&mm->mmap_sem);
183 if (is_global_init(current)) { 182 if (!user_mode(regs))
184 yield(); 183 goto no_context;
185 down_read(&mm->mmap_sem); 184 pagefault_out_of_memory();
186 goto survive; 185 return 0;
187 }
188
189 printk("VM: killing process %s\n", current->comm);
190 if (user_mode(regs))
191 do_group_exit(SIGKILL);
192 186
193no_context: 187no_context:
194 current->thread.signo = SIGBUS; 188 current->thread.signo = SIGBUS;
diff --git a/arch/m68k/mvme16x/rtc.c b/arch/m68k/mvme16x/rtc.c
index 8da9c250d3e..11ac6f63967 100644
--- a/arch/m68k/mvme16x/rtc.c
+++ b/arch/m68k/mvme16x/rtc.c
@@ -9,7 +9,6 @@
9#include <linux/types.h> 9#include <linux/types.h>
10#include <linux/errno.h> 10#include <linux/errno.h>
11#include <linux/miscdevice.h> 11#include <linux/miscdevice.h>
12#include <linux/smp_lock.h>
13#include <linux/ioport.h> 12#include <linux/ioport.h>
14#include <linux/capability.h> 13#include <linux/capability.h>
15#include <linux/fcntl.h> 14#include <linux/fcntl.h>
@@ -36,8 +35,7 @@ static const unsigned char days_in_mo[] =
36 35
37static atomic_t rtc_ready = ATOMIC_INIT(1); 36static atomic_t rtc_ready = ATOMIC_INIT(1);
38 37
39static int rtc_ioctl(struct inode *inode, struct file *file, unsigned int cmd, 38static long rtc_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
40 unsigned long arg)
41{ 39{
42 volatile MK48T08ptr_t rtc = (MK48T08ptr_t)MVME_RTC_BASE; 40 volatile MK48T08ptr_t rtc = (MK48T08ptr_t)MVME_RTC_BASE;
43 unsigned long flags; 41 unsigned long flags;
@@ -120,22 +118,15 @@ static int rtc_ioctl(struct inode *inode, struct file *file, unsigned int cmd,
120} 118}
121 119
122/* 120/*
123 * We enforce only one user at a time here with the open/close. 121 * We enforce only one user at a time here with the open/close.
124 * Also clear the previous interrupt data on an open, and clean
125 * up things on a close.
126 */ 122 */
127
128static int rtc_open(struct inode *inode, struct file *file) 123static int rtc_open(struct inode *inode, struct file *file)
129{ 124{
130 lock_kernel();
131 if( !atomic_dec_and_test(&rtc_ready) ) 125 if( !atomic_dec_and_test(&rtc_ready) )
132 { 126 {
133 atomic_inc( &rtc_ready ); 127 atomic_inc( &rtc_ready );
134 unlock_kernel();
135 return -EBUSY; 128 return -EBUSY;
136 } 129 }
137 unlock_kernel();
138
139 return 0; 130 return 0;
140} 131}
141 132
@@ -150,9 +141,9 @@ static int rtc_release(struct inode *inode, struct file *file)
150 */ 141 */
151 142
152static const struct file_operations rtc_fops = { 143static const struct file_operations rtc_fops = {
153 .ioctl = rtc_ioctl, 144 .unlocked_ioctl = rtc_ioctl,
154 .open = rtc_open, 145 .open = rtc_open,
155 .release = rtc_release, 146 .release = rtc_release,
156}; 147};
157 148
158static struct miscdevice rtc_dev= 149static struct miscdevice rtc_dev=
diff --git a/arch/m68k/q40/config.c b/arch/m68k/q40/config.c
index 31ab3f08bbd..ad10fecec2f 100644
--- a/arch/m68k/q40/config.c
+++ b/arch/m68k/q40/config.c
@@ -126,7 +126,7 @@ static void q40_reset(void)
126{ 126{
127 halted = 1; 127 halted = 1;
128 printk("\n\n*******************************************\n" 128 printk("\n\n*******************************************\n"
129 "Called q40_reset : press the RESET button!! \n" 129 "Called q40_reset : press the RESET button!!\n"
130 "*******************************************\n"); 130 "*******************************************\n");
131 Q40_LED_ON(); 131 Q40_LED_ON();
132 while (1) 132 while (1)
diff --git a/arch/microblaze/configs/mmu_defconfig b/arch/microblaze/configs/mmu_defconfig
index 6fced1fe3bf..3c91cf6192c 100644
--- a/arch/microblaze/configs/mmu_defconfig
+++ b/arch/microblaze/configs/mmu_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-rc6 3# Linux kernel version: 2.6.34-rc6
4# Wed Feb 3 10:02:59 2010 4# Thu May 6 11:22:14 2010
5# 5#
6CONFIG_MICROBLAZE=y 6CONFIG_MICROBLAZE=y
7# CONFIG_SWAP is not set 7# CONFIG_SWAP is not set
@@ -22,8 +22,6 @@ CONFIG_GENERIC_CSUM=y
22CONFIG_STACKTRACE_SUPPORT=y 22CONFIG_STACKTRACE_SUPPORT=y
23CONFIG_LOCKDEP_SUPPORT=y 23CONFIG_LOCKDEP_SUPPORT=y
24CONFIG_HAVE_LATENCYTOP_SUPPORT=y 24CONFIG_HAVE_LATENCYTOP_SUPPORT=y
25# CONFIG_PCI is not set
26CONFIG_NO_DMA=y
27CONFIG_DTC=y 25CONFIG_DTC=y
28CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 26CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
29CONFIG_CONSTRUCTORS=y 27CONFIG_CONSTRUCTORS=y
@@ -56,7 +54,6 @@ CONFIG_RCU_FANOUT=32
56CONFIG_IKCONFIG=y 54CONFIG_IKCONFIG=y
57CONFIG_IKCONFIG_PROC=y 55CONFIG_IKCONFIG_PROC=y
58CONFIG_LOG_BUF_SHIFT=17 56CONFIG_LOG_BUF_SHIFT=17
59# CONFIG_GROUP_SCHED is not set
60# CONFIG_CGROUPS is not set 57# CONFIG_CGROUPS is not set
61CONFIG_SYSFS_DEPRECATED=y 58CONFIG_SYSFS_DEPRECATED=y
62CONFIG_SYSFS_DEPRECATED_V2=y 59CONFIG_SYSFS_DEPRECATED_V2=y
@@ -106,6 +103,8 @@ CONFIG_SLAB=y
106# CONFIG_SLOB is not set 103# CONFIG_SLOB is not set
107# CONFIG_PROFILING is not set 104# CONFIG_PROFILING is not set
108CONFIG_HAVE_OPROFILE=y 105CONFIG_HAVE_OPROFILE=y
106CONFIG_HAVE_DMA_ATTRS=y
107CONFIG_HAVE_DMA_API_DEBUG=y
109 108
110# 109#
111# GCOV-based kernel profiling 110# GCOV-based kernel profiling
@@ -245,13 +244,20 @@ CONFIG_BINFMT_ELF=y
245# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set 244# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
246# CONFIG_HAVE_AOUT is not set 245# CONFIG_HAVE_AOUT is not set
247# CONFIG_BINFMT_MISC is not set 246# CONFIG_BINFMT_MISC is not set
247
248#
249# Bus Options
250#
251# CONFIG_PCI is not set
252# CONFIG_PCI_DOMAINS is not set
253# CONFIG_PCI_SYSCALL is not set
254# CONFIG_ARCH_SUPPORTS_MSI is not set
248CONFIG_NET=y 255CONFIG_NET=y
249 256
250# 257#
251# Networking options 258# Networking options
252# 259#
253CONFIG_PACKET=y 260CONFIG_PACKET=y
254# CONFIG_PACKET_MMAP is not set
255CONFIG_UNIX=y 261CONFIG_UNIX=y
256CONFIG_XFRM=y 262CONFIG_XFRM=y
257# CONFIG_XFRM_USER is not set 263# CONFIG_XFRM_USER is not set
@@ -341,7 +347,9 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
341# CONFIG_SYS_HYPERVISOR is not set 347# CONFIG_SYS_HYPERVISOR is not set
342# CONFIG_CONNECTOR is not set 348# CONFIG_CONNECTOR is not set
343# CONFIG_MTD is not set 349# CONFIG_MTD is not set
350CONFIG_OF_FLATTREE=y
344CONFIG_OF_DEVICE=y 351CONFIG_OF_DEVICE=y
352CONFIG_OF_MDIO=y
345# CONFIG_PARPORT is not set 353# CONFIG_PARPORT is not set
346CONFIG_BLK_DEV=y 354CONFIG_BLK_DEV=y
347# CONFIG_BLK_DEV_COW_COMMON is not set 355# CONFIG_BLK_DEV_COW_COMMON is not set
@@ -370,6 +378,7 @@ CONFIG_MISC_DEVICES=y
370# 378#
371# SCSI device support 379# SCSI device support
372# 380#
381CONFIG_SCSI_MOD=y
373# CONFIG_RAID_ATTRS is not set 382# CONFIG_RAID_ATTRS is not set
374# CONFIG_SCSI is not set 383# CONFIG_SCSI is not set
375# CONFIG_SCSI_DMA is not set 384# CONFIG_SCSI_DMA is not set
@@ -383,9 +392,30 @@ CONFIG_NETDEVICES=y
383# CONFIG_EQUALIZER is not set 392# CONFIG_EQUALIZER is not set
384# CONFIG_TUN is not set 393# CONFIG_TUN is not set
385# CONFIG_VETH is not set 394# CONFIG_VETH is not set
386# CONFIG_PHYLIB is not set 395CONFIG_PHYLIB=y
396
397#
398# MII PHY device drivers
399#
400# CONFIG_MARVELL_PHY is not set
401# CONFIG_DAVICOM_PHY is not set
402# CONFIG_QSEMI_PHY is not set
403# CONFIG_LXT_PHY is not set
404# CONFIG_CICADA_PHY is not set
405# CONFIG_VITESSE_PHY is not set
406# CONFIG_SMSC_PHY is not set
407# CONFIG_BROADCOM_PHY is not set
408# CONFIG_ICPLUS_PHY is not set
409# CONFIG_REALTEK_PHY is not set
410# CONFIG_NATIONAL_PHY is not set
411# CONFIG_STE10XP is not set
412# CONFIG_LSI_ET1011C_PHY is not set
413# CONFIG_MICREL_PHY is not set
414# CONFIG_FIXED_PHY is not set
415# CONFIG_MDIO_BITBANG is not set
387CONFIG_NET_ETHERNET=y 416CONFIG_NET_ETHERNET=y
388# CONFIG_MII is not set 417# CONFIG_MII is not set
418# CONFIG_ETHOC is not set
389# CONFIG_DNET is not set 419# CONFIG_DNET is not set
390# CONFIG_IBM_NEW_EMAC_ZMII is not set 420# CONFIG_IBM_NEW_EMAC_ZMII is not set
391# CONFIG_IBM_NEW_EMAC_RGMII is not set 421# CONFIG_IBM_NEW_EMAC_RGMII is not set
@@ -394,6 +424,7 @@ CONFIG_NET_ETHERNET=y
394# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set 424# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
395# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set 425# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
396# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set 426# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
427# CONFIG_B44 is not set
397# CONFIG_KS8842 is not set 428# CONFIG_KS8842 is not set
398# CONFIG_KS8851_MLL is not set 429# CONFIG_KS8851_MLL is not set
399CONFIG_XILINX_EMACLITE=y 430CONFIG_XILINX_EMACLITE=y
@@ -444,6 +475,7 @@ CONFIG_SERIAL_UARTLITE=y
444CONFIG_SERIAL_UARTLITE_CONSOLE=y 475CONFIG_SERIAL_UARTLITE_CONSOLE=y
445CONFIG_SERIAL_CORE=y 476CONFIG_SERIAL_CORE=y
446CONFIG_SERIAL_CORE_CONSOLE=y 477CONFIG_SERIAL_CORE_CONSOLE=y
478# CONFIG_SERIAL_TIMBERDALE is not set
447# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set 479# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set
448CONFIG_UNIX98_PTYS=y 480CONFIG_UNIX98_PTYS=y
449# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set 481# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
@@ -471,6 +503,12 @@ CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
471# CONFIG_HWMON is not set 503# CONFIG_HWMON is not set
472# CONFIG_THERMAL is not set 504# CONFIG_THERMAL is not set
473# CONFIG_WATCHDOG is not set 505# CONFIG_WATCHDOG is not set
506CONFIG_SSB_POSSIBLE=y
507
508#
509# Sonics Silicon Backplane
510#
511# CONFIG_SSB is not set
474 512
475# 513#
476# Multifunction device drivers 514# Multifunction device drivers
@@ -502,6 +540,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
502# CONFIG_NEW_LEDS is not set 540# CONFIG_NEW_LEDS is not set
503# CONFIG_ACCESSIBILITY is not set 541# CONFIG_ACCESSIBILITY is not set
504# CONFIG_RTC_CLASS is not set 542# CONFIG_RTC_CLASS is not set
543# CONFIG_DMADEVICES is not set
505# CONFIG_AUXDISPLAY is not set 544# CONFIG_AUXDISPLAY is not set
506# CONFIG_UIO is not set 545# CONFIG_UIO is not set
507 546
@@ -572,6 +611,7 @@ CONFIG_MISC_FILESYSTEMS=y
572# CONFIG_BEFS_FS is not set 611# CONFIG_BEFS_FS is not set
573# CONFIG_BFS_FS is not set 612# CONFIG_BFS_FS is not set
574# CONFIG_EFS_FS is not set 613# CONFIG_EFS_FS is not set
614# CONFIG_LOGFS is not set
575# CONFIG_CRAMFS is not set 615# CONFIG_CRAMFS is not set
576# CONFIG_SQUASHFS is not set 616# CONFIG_SQUASHFS is not set
577# CONFIG_VXFS_FS is not set 617# CONFIG_VXFS_FS is not set
@@ -595,6 +635,7 @@ CONFIG_SUNRPC=y
595# CONFIG_RPCSEC_GSS_KRB5 is not set 635# CONFIG_RPCSEC_GSS_KRB5 is not set
596# CONFIG_RPCSEC_GSS_SPKM3 is not set 636# CONFIG_RPCSEC_GSS_SPKM3 is not set
597# CONFIG_SMB_FS is not set 637# CONFIG_SMB_FS is not set
638# CONFIG_CEPH_FS is not set
598CONFIG_CIFS=y 639CONFIG_CIFS=y
599CONFIG_CIFS_STATS=y 640CONFIG_CIFS_STATS=y
600CONFIG_CIFS_STATS2=y 641CONFIG_CIFS_STATS2=y
@@ -696,6 +737,7 @@ CONFIG_SCHED_DEBUG=y
696# CONFIG_DEBUG_OBJECTS is not set 737# CONFIG_DEBUG_OBJECTS is not set
697CONFIG_DEBUG_SLAB=y 738CONFIG_DEBUG_SLAB=y
698# CONFIG_DEBUG_SLAB_LEAK is not set 739# CONFIG_DEBUG_SLAB_LEAK is not set
740# CONFIG_DEBUG_KMEMLEAK is not set
699CONFIG_DEBUG_SPINLOCK=y 741CONFIG_DEBUG_SPINLOCK=y
700# CONFIG_DEBUG_MUTEXES is not set 742# CONFIG_DEBUG_MUTEXES is not set
701# CONFIG_DEBUG_LOCK_ALLOC is not set 743# CONFIG_DEBUG_LOCK_ALLOC is not set
@@ -741,6 +783,7 @@ CONFIG_BRANCH_PROFILE_NONE=y
741# CONFIG_KMEMTRACE is not set 783# CONFIG_KMEMTRACE is not set
742# CONFIG_WORKQUEUE_TRACER is not set 784# CONFIG_WORKQUEUE_TRACER is not set
743# CONFIG_BLK_DEV_IO_TRACE is not set 785# CONFIG_BLK_DEV_IO_TRACE is not set
786# CONFIG_DMA_API_DEBUG is not set
744# CONFIG_SAMPLES is not set 787# CONFIG_SAMPLES is not set
745CONFIG_EARLY_PRINTK=y 788CONFIG_EARLY_PRINTK=y
746# CONFIG_HEART_BEAT is not set 789# CONFIG_HEART_BEAT is not set
@@ -862,5 +905,6 @@ CONFIG_ZLIB_INFLATE=y
862CONFIG_DECOMPRESS_GZIP=y 905CONFIG_DECOMPRESS_GZIP=y
863CONFIG_HAS_IOMEM=y 906CONFIG_HAS_IOMEM=y
864CONFIG_HAS_IOPORT=y 907CONFIG_HAS_IOPORT=y
908CONFIG_HAS_DMA=y
865CONFIG_HAVE_LMB=y 909CONFIG_HAVE_LMB=y
866CONFIG_NLATTR=y 910CONFIG_NLATTR=y
diff --git a/arch/microblaze/configs/nommu_defconfig b/arch/microblaze/configs/nommu_defconfig
index ce2da535246..dd3a494257f 100644
--- a/arch/microblaze/configs/nommu_defconfig
+++ b/arch/microblaze/configs/nommu_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-rc6 3# Linux kernel version: 2.6.34-rc6
4# Wed Feb 3 10:03:21 2010 4# Thu May 6 11:25:12 2010
5# 5#
6CONFIG_MICROBLAZE=y 6CONFIG_MICROBLAZE=y
7# CONFIG_SWAP is not set 7# CONFIG_SWAP is not set
@@ -22,8 +22,6 @@ CONFIG_GENERIC_CSUM=y
22CONFIG_STACKTRACE_SUPPORT=y 22CONFIG_STACKTRACE_SUPPORT=y
23CONFIG_LOCKDEP_SUPPORT=y 23CONFIG_LOCKDEP_SUPPORT=y
24CONFIG_HAVE_LATENCYTOP_SUPPORT=y 24CONFIG_HAVE_LATENCYTOP_SUPPORT=y
25# CONFIG_PCI is not set
26CONFIG_NO_DMA=y
27CONFIG_DTC=y 25CONFIG_DTC=y
28CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 26CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
29CONFIG_CONSTRUCTORS=y 27CONFIG_CONSTRUCTORS=y
@@ -58,7 +56,6 @@ CONFIG_RCU_FANOUT=32
58CONFIG_IKCONFIG=y 56CONFIG_IKCONFIG=y
59CONFIG_IKCONFIG_PROC=y 57CONFIG_IKCONFIG_PROC=y
60CONFIG_LOG_BUF_SHIFT=17 58CONFIG_LOG_BUF_SHIFT=17
61# CONFIG_GROUP_SCHED is not set
62# CONFIG_CGROUPS is not set 59# CONFIG_CGROUPS is not set
63CONFIG_SYSFS_DEPRECATED=y 60CONFIG_SYSFS_DEPRECATED=y
64CONFIG_SYSFS_DEPRECATED_V2=y 61CONFIG_SYSFS_DEPRECATED_V2=y
@@ -96,6 +93,8 @@ CONFIG_SLAB=y
96# CONFIG_MMAP_ALLOW_UNINITIALIZED is not set 93# CONFIG_MMAP_ALLOW_UNINITIALIZED is not set
97# CONFIG_PROFILING is not set 94# CONFIG_PROFILING is not set
98CONFIG_HAVE_OPROFILE=y 95CONFIG_HAVE_OPROFILE=y
96CONFIG_HAVE_DMA_ATTRS=y
97CONFIG_HAVE_DMA_API_DEBUG=y
99 98
100# 99#
101# GCOV-based kernel profiling 100# GCOV-based kernel profiling
@@ -209,11 +208,14 @@ CONFIG_PROC_DEVICETREE=y
209# 208#
210# Advanced setup 209# Advanced setup
211# 210#
211# CONFIG_ADVANCED_OPTIONS is not set
212 212
213# 213#
214# Default settings for advanced configuration options are used 214# Default settings for advanced configuration options are used
215# 215#
216CONFIG_LOWMEM_SIZE=0x30000000
216CONFIG_KERNEL_START=0x90000000 217CONFIG_KERNEL_START=0x90000000
218CONFIG_TASK_SIZE=0x80000000
217CONFIG_SELECT_MEMORY_MODEL=y 219CONFIG_SELECT_MEMORY_MODEL=y
218CONFIG_FLATMEM_MANUAL=y 220CONFIG_FLATMEM_MANUAL=y
219# CONFIG_DISCONTIGMEM_MANUAL is not set 221# CONFIG_DISCONTIGMEM_MANUAL is not set
@@ -235,13 +237,20 @@ CONFIG_BINFMT_FLAT=y
235# CONFIG_BINFMT_SHARED_FLAT is not set 237# CONFIG_BINFMT_SHARED_FLAT is not set
236# CONFIG_HAVE_AOUT is not set 238# CONFIG_HAVE_AOUT is not set
237# CONFIG_BINFMT_MISC is not set 239# CONFIG_BINFMT_MISC is not set
240
241#
242# Bus Options
243#
244# CONFIG_PCI is not set
245# CONFIG_PCI_DOMAINS is not set
246# CONFIG_PCI_SYSCALL is not set
247# CONFIG_ARCH_SUPPORTS_MSI is not set
238CONFIG_NET=y 248CONFIG_NET=y
239 249
240# 250#
241# Networking options 251# Networking options
242# 252#
243CONFIG_PACKET=y 253CONFIG_PACKET=y
244# CONFIG_PACKET_MMAP is not set
245CONFIG_UNIX=y 254CONFIG_UNIX=y
246CONFIG_XFRM=y 255CONFIG_XFRM=y
247# CONFIG_XFRM_USER is not set 256# CONFIG_XFRM_USER is not set
@@ -413,6 +422,7 @@ CONFIG_MTD_UCLINUX=y
413# UBI - Unsorted block images 422# UBI - Unsorted block images
414# 423#
415# CONFIG_MTD_UBI is not set 424# CONFIG_MTD_UBI is not set
425CONFIG_OF_FLATTREE=y
416CONFIG_OF_DEVICE=y 426CONFIG_OF_DEVICE=y
417# CONFIG_PARPORT is not set 427# CONFIG_PARPORT is not set
418CONFIG_BLK_DEV=y 428CONFIG_BLK_DEV=y
@@ -442,6 +452,7 @@ CONFIG_MISC_DEVICES=y
442# 452#
443# SCSI device support 453# SCSI device support
444# 454#
455CONFIG_SCSI_MOD=y
445# CONFIG_RAID_ATTRS is not set 456# CONFIG_RAID_ATTRS is not set
446# CONFIG_SCSI is not set 457# CONFIG_SCSI is not set
447# CONFIG_SCSI_DMA is not set 458# CONFIG_SCSI_DMA is not set
@@ -458,6 +469,7 @@ CONFIG_NETDEVICES=y
458# CONFIG_PHYLIB is not set 469# CONFIG_PHYLIB is not set
459CONFIG_NET_ETHERNET=y 470CONFIG_NET_ETHERNET=y
460# CONFIG_MII is not set 471# CONFIG_MII is not set
472# CONFIG_ETHOC is not set
461# CONFIG_DNET is not set 473# CONFIG_DNET is not set
462# CONFIG_IBM_NEW_EMAC_ZMII is not set 474# CONFIG_IBM_NEW_EMAC_ZMII is not set
463# CONFIG_IBM_NEW_EMAC_RGMII is not set 475# CONFIG_IBM_NEW_EMAC_RGMII is not set
@@ -466,6 +478,7 @@ CONFIG_NET_ETHERNET=y
466# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set 478# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
467# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set 479# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
468# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set 480# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
481# CONFIG_B44 is not set
469# CONFIG_KS8842 is not set 482# CONFIG_KS8842 is not set
470# CONFIG_KS8851_MLL is not set 483# CONFIG_KS8851_MLL is not set
471# CONFIG_XILINX_EMACLITE is not set 484# CONFIG_XILINX_EMACLITE is not set
@@ -516,6 +529,7 @@ CONFIG_SERIAL_UARTLITE=y
516CONFIG_SERIAL_UARTLITE_CONSOLE=y 529CONFIG_SERIAL_UARTLITE_CONSOLE=y
517CONFIG_SERIAL_CORE=y 530CONFIG_SERIAL_CORE=y
518CONFIG_SERIAL_CORE_CONSOLE=y 531CONFIG_SERIAL_CORE_CONSOLE=y
532# CONFIG_SERIAL_TIMBERDALE is not set
519# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set 533# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set
520CONFIG_UNIX98_PTYS=y 534CONFIG_UNIX98_PTYS=y
521# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set 535# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
@@ -544,6 +558,12 @@ CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
544# CONFIG_HWMON is not set 558# CONFIG_HWMON is not set
545# CONFIG_THERMAL is not set 559# CONFIG_THERMAL is not set
546# CONFIG_WATCHDOG is not set 560# CONFIG_WATCHDOG is not set
561CONFIG_SSB_POSSIBLE=y
562
563#
564# Sonics Silicon Backplane
565#
566# CONFIG_SSB is not set
547 567
548# 568#
549# Multifunction device drivers 569# Multifunction device drivers
@@ -593,6 +613,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
593# CONFIG_NEW_LEDS is not set 613# CONFIG_NEW_LEDS is not set
594# CONFIG_ACCESSIBILITY is not set 614# CONFIG_ACCESSIBILITY is not set
595# CONFIG_RTC_CLASS is not set 615# CONFIG_RTC_CLASS is not set
616# CONFIG_DMADEVICES is not set
596# CONFIG_AUXDISPLAY is not set 617# CONFIG_AUXDISPLAY is not set
597# CONFIG_UIO is not set 618# CONFIG_UIO is not set
598 619
@@ -661,6 +682,7 @@ CONFIG_MISC_FILESYSTEMS=y
661# CONFIG_BFS_FS is not set 682# CONFIG_BFS_FS is not set
662# CONFIG_EFS_FS is not set 683# CONFIG_EFS_FS is not set
663# CONFIG_JFFS2_FS is not set 684# CONFIG_JFFS2_FS is not set
685# CONFIG_LOGFS is not set
664CONFIG_CRAMFS=y 686CONFIG_CRAMFS=y
665# CONFIG_SQUASHFS is not set 687# CONFIG_SQUASHFS is not set
666# CONFIG_VXFS_FS is not set 688# CONFIG_VXFS_FS is not set
@@ -689,6 +711,7 @@ CONFIG_SUNRPC=y
689# CONFIG_RPCSEC_GSS_KRB5 is not set 711# CONFIG_RPCSEC_GSS_KRB5 is not set
690# CONFIG_RPCSEC_GSS_SPKM3 is not set 712# CONFIG_RPCSEC_GSS_SPKM3 is not set
691# CONFIG_SMB_FS is not set 713# CONFIG_SMB_FS is not set
714# CONFIG_CEPH_FS is not set
692# CONFIG_CIFS is not set 715# CONFIG_CIFS is not set
693# CONFIG_NCP_FS is not set 716# CONFIG_NCP_FS is not set
694# CONFIG_CODA_FS is not set 717# CONFIG_CODA_FS is not set
@@ -733,6 +756,7 @@ CONFIG_DEBUG_OBJECTS_TIMERS=y
733# CONFIG_DEBUG_OBJECTS_WORK is not set 756# CONFIG_DEBUG_OBJECTS_WORK is not set
734CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1 757CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1
735# CONFIG_DEBUG_SLAB is not set 758# CONFIG_DEBUG_SLAB is not set
759# CONFIG_DEBUG_KMEMLEAK is not set
736# CONFIG_DEBUG_RT_MUTEXES is not set 760# CONFIG_DEBUG_RT_MUTEXES is not set
737# CONFIG_RT_MUTEX_TESTER is not set 761# CONFIG_RT_MUTEX_TESTER is not set
738# CONFIG_DEBUG_SPINLOCK is not set 762# CONFIG_DEBUG_SPINLOCK is not set
@@ -758,6 +782,7 @@ CONFIG_DEBUG_SG=y
758# CONFIG_BACKTRACE_SELF_TEST is not set 782# CONFIG_BACKTRACE_SELF_TEST is not set
759# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set 783# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
760# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set 784# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
785# CONFIG_LKDTM is not set
761# CONFIG_FAULT_INJECTION is not set 786# CONFIG_FAULT_INJECTION is not set
762# CONFIG_LATENCYTOP is not set 787# CONFIG_LATENCYTOP is not set
763CONFIG_SYSCTL_SYSCALL_CHECK=y 788CONFIG_SYSCTL_SYSCALL_CHECK=y
@@ -782,6 +807,7 @@ CONFIG_BRANCH_PROFILE_NONE=y
782# CONFIG_WORKQUEUE_TRACER is not set 807# CONFIG_WORKQUEUE_TRACER is not set
783# CONFIG_BLK_DEV_IO_TRACE is not set 808# CONFIG_BLK_DEV_IO_TRACE is not set
784# CONFIG_DYNAMIC_DEBUG is not set 809# CONFIG_DYNAMIC_DEBUG is not set
810# CONFIG_DMA_API_DEBUG is not set
785# CONFIG_SAMPLES is not set 811# CONFIG_SAMPLES is not set
786CONFIG_EARLY_PRINTK=y 812CONFIG_EARLY_PRINTK=y
787# CONFIG_HEART_BEAT is not set 813# CONFIG_HEART_BEAT is not set
@@ -901,5 +927,6 @@ CONFIG_GENERIC_FIND_LAST_BIT=y
901CONFIG_ZLIB_INFLATE=y 927CONFIG_ZLIB_INFLATE=y
902CONFIG_HAS_IOMEM=y 928CONFIG_HAS_IOMEM=y
903CONFIG_HAS_IOPORT=y 929CONFIG_HAS_IOPORT=y
930CONFIG_HAS_DMA=y
904CONFIG_HAVE_LMB=y 931CONFIG_HAVE_LMB=y
905CONFIG_NLATTR=y 932CONFIG_NLATTR=y
diff --git a/arch/microblaze/include/asm/cache.h b/arch/microblaze/include/asm/cache.h
index e52210891d7..4efe96a036f 100644
--- a/arch/microblaze/include/asm/cache.h
+++ b/arch/microblaze/include/asm/cache.h
@@ -15,7 +15,7 @@
15 15
16#include <asm/registers.h> 16#include <asm/registers.h>
17 17
18#define L1_CACHE_SHIFT 2 18#define L1_CACHE_SHIFT 5
19/* word-granular cache in microblaze */ 19/* word-granular cache in microblaze */
20#define L1_CACHE_BYTES (1 << L1_CACHE_SHIFT) 20#define L1_CACHE_BYTES (1 << L1_CACHE_SHIFT)
21 21
diff --git a/arch/microblaze/include/asm/dma.h b/arch/microblaze/include/asm/dma.h
index 08c073badf1..0d73d0c6de3 100644
--- a/arch/microblaze/include/asm/dma.h
+++ b/arch/microblaze/include/asm/dma.h
@@ -18,4 +18,10 @@
18#define MAX_DMA_ADDRESS (CONFIG_KERNEL_START + memory_size - 1) 18#define MAX_DMA_ADDRESS (CONFIG_KERNEL_START + memory_size - 1)
19#endif 19#endif
20 20
21#ifdef CONFIG_PCI
22extern int isa_dma_bridge_buggy;
23#else
24#define isa_dma_bridge_buggy (0)
25#endif
26
21#endif /* _ASM_MICROBLAZE_DMA_H */ 27#endif /* _ASM_MICROBLAZE_DMA_H */
diff --git a/arch/microblaze/include/asm/exceptions.h b/arch/microblaze/include/asm/exceptions.h
index 90731df9e57..4c7b5d037c8 100644
--- a/arch/microblaze/include/asm/exceptions.h
+++ b/arch/microblaze/include/asm/exceptions.h
@@ -64,12 +64,6 @@ asmlinkage void full_exception(struct pt_regs *regs, unsigned int type,
64void die(const char *str, struct pt_regs *fp, long err); 64void die(const char *str, struct pt_regs *fp, long err);
65void _exception(int signr, struct pt_regs *regs, int code, unsigned long addr); 65void _exception(int signr, struct pt_regs *regs, int code, unsigned long addr);
66 66
67#ifdef CONFIG_MMU
68void __bug(const char *file, int line, void *data);
69int bad_trap(int trap_num, struct pt_regs *regs);
70int debug_trap(struct pt_regs *regs);
71#endif /* CONFIG_MMU */
72
73#if defined(CONFIG_KGDB) 67#if defined(CONFIG_KGDB)
74void (*debugger)(struct pt_regs *regs); 68void (*debugger)(struct pt_regs *regs);
75int (*debugger_bpt)(struct pt_regs *regs); 69int (*debugger_bpt)(struct pt_regs *regs);
diff --git a/arch/microblaze/include/asm/io.h b/arch/microblaze/include/asm/io.h
index e45a6eea92e..00b5398d08c 100644
--- a/arch/microblaze/include/asm/io.h
+++ b/arch/microblaze/include/asm/io.h
@@ -139,8 +139,6 @@ static inline void writel(unsigned int v, volatile void __iomem *addr)
139 139
140#ifdef CONFIG_MMU 140#ifdef CONFIG_MMU
141 141
142#define mm_ptov(addr) ((void *)__phys_to_virt(addr))
143#define mm_vtop(addr) ((unsigned long)__virt_to_phys(addr))
144#define phys_to_virt(addr) ((void *)__phys_to_virt(addr)) 142#define phys_to_virt(addr) ((void *)__phys_to_virt(addr))
145#define virt_to_phys(addr) ((unsigned long)__virt_to_phys(addr)) 143#define virt_to_phys(addr) ((unsigned long)__virt_to_phys(addr))
146#define virt_to_bus(addr) ((unsigned long)__virt_to_phys(addr)) 144#define virt_to_bus(addr) ((unsigned long)__virt_to_phys(addr))
diff --git a/arch/microblaze/include/asm/page.h b/arch/microblaze/include/asm/page.h
index 2dd1d04129e..de493f86d28 100644
--- a/arch/microblaze/include/asm/page.h
+++ b/arch/microblaze/include/asm/page.h
@@ -31,6 +31,9 @@
31 31
32#ifndef __ASSEMBLY__ 32#ifndef __ASSEMBLY__
33 33
34/* MS be sure that SLAB allocates aligned objects */
35#define ARCH_KMALLOC_MINALIGN L1_CACHE_BYTES
36
34#define PAGE_UP(addr) (((addr)+((PAGE_SIZE)-1))&(~((PAGE_SIZE)-1))) 37#define PAGE_UP(addr) (((addr)+((PAGE_SIZE)-1))&(~((PAGE_SIZE)-1)))
35#define PAGE_DOWN(addr) ((addr)&(~((PAGE_SIZE)-1))) 38#define PAGE_DOWN(addr) ((addr)&(~((PAGE_SIZE)-1)))
36 39
@@ -70,14 +73,7 @@ typedef unsigned long pte_basic_t;
70 73
71#endif /* CONFIG_MMU */ 74#endif /* CONFIG_MMU */
72 75
73# ifndef CONFIG_MMU 76# define copy_page(to, from) memcpy((to), (from), PAGE_SIZE)
74# define copy_page(to, from) memcpy((to), (from), PAGE_SIZE)
75# define get_user_page(vaddr) __get_free_page(GFP_KERNEL)
76# define free_user_page(page, addr) free_page(addr)
77# else /* CONFIG_MMU */
78extern void copy_page(void *to, void *from);
79# endif /* CONFIG_MMU */
80
81# define clear_page(pgaddr) memset((pgaddr), 0, PAGE_SIZE) 77# define clear_page(pgaddr) memset((pgaddr), 0, PAGE_SIZE)
82 78
83# define clear_user_page(pgaddr, vaddr, page) memset((pgaddr), 0, PAGE_SIZE) 79# define clear_user_page(pgaddr, vaddr, page) memset((pgaddr), 0, PAGE_SIZE)
diff --git a/arch/microblaze/include/asm/pci.h b/arch/microblaze/include/asm/pci.h
index bdd65aaee30..5a388eeeb28 100644
--- a/arch/microblaze/include/asm/pci.h
+++ b/arch/microblaze/include/asm/pci.h
@@ -94,14 +94,6 @@ extern int pci_mmap_legacy_page_range(struct pci_bus *bus,
94 94
95#define HAVE_PCI_LEGACY 1 95#define HAVE_PCI_LEGACY 1
96 96
97/* pci_unmap_{page,single} is a nop so... */
98#define DECLARE_PCI_UNMAP_ADDR(ADDR_NAME)
99#define DECLARE_PCI_UNMAP_LEN(LEN_NAME)
100#define pci_unmap_addr(PTR, ADDR_NAME) (0)
101#define pci_unmap_addr_set(PTR, ADDR_NAME, VAL) do { } while (0)
102#define pci_unmap_len(PTR, LEN_NAME) (0)
103#define pci_unmap_len_set(PTR, LEN_NAME, VAL) do { } while (0)
104
105/* The PCI address space does equal the physical memory 97/* The PCI address space does equal the physical memory
106 * address space (no IOMMU). The IDE and SCSI device layers use 98 * address space (no IOMMU). The IDE and SCSI device layers use
107 * this boolean for bounce buffer decisions. 99 * this boolean for bounce buffer decisions.
diff --git a/arch/microblaze/include/asm/pgalloc.h b/arch/microblaze/include/asm/pgalloc.h
index f44b0d696fe..c614a893f8a 100644
--- a/arch/microblaze/include/asm/pgalloc.h
+++ b/arch/microblaze/include/asm/pgalloc.h
@@ -108,21 +108,7 @@ extern inline void free_pgd_slow(pgd_t *pgd)
108#define pmd_alloc_one_fast(mm, address) ({ BUG(); ((pmd_t *)1); }) 108#define pmd_alloc_one_fast(mm, address) ({ BUG(); ((pmd_t *)1); })
109#define pmd_alloc_one(mm, address) ({ BUG(); ((pmd_t *)2); }) 109#define pmd_alloc_one(mm, address) ({ BUG(); ((pmd_t *)2); })
110 110
111static inline pte_t *pte_alloc_one_kernel(struct mm_struct *mm, 111extern pte_t *pte_alloc_one_kernel(struct mm_struct *mm, unsigned long addr);
112 unsigned long address)
113{
114 pte_t *pte;
115 extern void *early_get_page(void);
116 if (mem_init_done) {
117 pte = (pte_t *)__get_free_page(GFP_KERNEL |
118 __GFP_REPEAT | __GFP_ZERO);
119 } else {
120 pte = (pte_t *)early_get_page();
121 if (pte)
122 clear_page(pte);
123 }
124 return pte;
125}
126 112
127static inline struct page *pte_alloc_one(struct mm_struct *mm, 113static inline struct page *pte_alloc_one(struct mm_struct *mm,
128 unsigned long address) 114 unsigned long address)
diff --git a/arch/microblaze/include/asm/pgtable.h b/arch/microblaze/include/asm/pgtable.h
index dd2bb60651c..ca2d9287154 100644
--- a/arch/microblaze/include/asm/pgtable.h
+++ b/arch/microblaze/include/asm/pgtable.h
@@ -512,15 +512,6 @@ static inline pmd_t *pmd_offset(pgd_t *dir, unsigned long address)
512extern pgd_t swapper_pg_dir[PTRS_PER_PGD]; 512extern pgd_t swapper_pg_dir[PTRS_PER_PGD];
513 513
514/* 514/*
515 * When flushing the tlb entry for a page, we also need to flush the hash
516 * table entry. flush_hash_page is assembler (for speed) in hashtable.S.
517 */
518extern int flush_hash_page(unsigned context, unsigned long va, pte_t *ptep);
519
520/* Add an HPTE to the hash table */
521extern void add_hash_page(unsigned context, unsigned long va, pte_t *ptep);
522
523/*
524 * Encode and decode a swap entry. 515 * Encode and decode a swap entry.
525 * Note that the bits we use in a PTE for representing a swap entry 516 * Note that the bits we use in a PTE for representing a swap entry
526 * must not include the _PAGE_PRESENT bit, or the _PAGE_HASHPTE bit 517 * must not include the _PAGE_PRESENT bit, or the _PAGE_HASHPTE bit
@@ -533,15 +524,7 @@ extern void add_hash_page(unsigned context, unsigned long va, pte_t *ptep);
533#define __pte_to_swp_entry(pte) ((swp_entry_t) { pte_val(pte) >> 2 }) 524#define __pte_to_swp_entry(pte) ((swp_entry_t) { pte_val(pte) >> 2 })
534#define __swp_entry_to_pte(x) ((pte_t) { (x).val << 2 }) 525#define __swp_entry_to_pte(x) ((pte_t) { (x).val << 2 })
535 526
536
537/* CONFIG_APUS */
538/* For virtual address to physical address conversion */
539extern void cache_clear(__u32 addr, int length);
540extern void cache_push(__u32 addr, int length);
541extern int mm_end_of_chunk(unsigned long addr, int len);
542extern unsigned long iopa(unsigned long addr); 527extern unsigned long iopa(unsigned long addr);
543/* extern unsigned long mm_ptov(unsigned long addr) \
544 __attribute__ ((const)); TBD */
545 528
546/* Values for nocacheflag and cmode */ 529/* Values for nocacheflag and cmode */
547/* These are not used by the APUS kernel_map, but prevents 530/* These are not used by the APUS kernel_map, but prevents
@@ -552,18 +535,6 @@ extern unsigned long iopa(unsigned long addr);
552#define IOMAP_NOCACHE_NONSER 2 535#define IOMAP_NOCACHE_NONSER 2
553#define IOMAP_NO_COPYBACK 3 536#define IOMAP_NO_COPYBACK 3
554 537
555/*
556 * Map some physical address range into the kernel address space.
557 */
558extern unsigned long kernel_map(unsigned long paddr, unsigned long size,
559 int nocacheflag, unsigned long *memavailp);
560
561/*
562 * Set cache mode of (kernel space) address range.
563 */
564extern void kernel_set_cachemode(unsigned long address, unsigned long size,
565 unsigned int cmode);
566
567/* Needs to be defined here and not in linux/mm.h, as it is arch dependent */ 538/* Needs to be defined here and not in linux/mm.h, as it is arch dependent */
568#define kern_addr_valid(addr) (1) 539#define kern_addr_valid(addr) (1)
569 540
@@ -577,10 +548,6 @@ extern void kernel_set_cachemode(unsigned long address, unsigned long size,
577void do_page_fault(struct pt_regs *regs, unsigned long address, 548void do_page_fault(struct pt_regs *regs, unsigned long address,
578 unsigned long error_code); 549 unsigned long error_code);
579 550
580void __init io_block_mapping(unsigned long virt, phys_addr_t phys,
581 unsigned int size, int flags);
582
583void __init adjust_total_lowmem(void);
584void mapin_ram(void); 551void mapin_ram(void);
585int map_page(unsigned long va, phys_addr_t pa, int flags); 552int map_page(unsigned long va, phys_addr_t pa, int flags);
586 553
@@ -601,7 +568,7 @@ void __init *early_get_page(void);
601extern unsigned long ioremap_bot, ioremap_base; 568extern unsigned long ioremap_bot, ioremap_base;
602 569
603void *consistent_alloc(int gfp, size_t size, dma_addr_t *dma_handle); 570void *consistent_alloc(int gfp, size_t size, dma_addr_t *dma_handle);
604void consistent_free(void *vaddr); 571void consistent_free(size_t size, void *vaddr);
605void consistent_sync(void *vaddr, size_t size, int direction); 572void consistent_sync(void *vaddr, size_t size, int direction);
606void consistent_sync_page(struct page *page, unsigned long offset, 573void consistent_sync_page(struct page *page, unsigned long offset,
607 size_t size, int direction); 574 size_t size, int direction);
diff --git a/arch/microblaze/include/asm/uaccess.h b/arch/microblaze/include/asm/uaccess.h
index 446bec29b14..26460d15b33 100644
--- a/arch/microblaze/include/asm/uaccess.h
+++ b/arch/microblaze/include/asm/uaccess.h
@@ -182,6 +182,39 @@ extern long __user_bad(void);
182 * Returns zero on success, or -EFAULT on error. 182 * Returns zero on success, or -EFAULT on error.
183 * On error, the variable @x is set to zero. 183 * On error, the variable @x is set to zero.
184 */ 184 */
185#define get_user(x, ptr) \
186 __get_user_check((x), (ptr), sizeof(*(ptr)))
187
188#define __get_user_check(x, ptr, size) \
189({ \
190 unsigned long __gu_val = 0; \
191 const typeof(*(ptr)) __user *__gu_addr = (ptr); \
192 int __gu_err = 0; \
193 \
194 if (access_ok(VERIFY_READ, __gu_addr, size)) { \
195 switch (size) { \
196 case 1: \
197 __get_user_asm("lbu", __gu_addr, __gu_val, \
198 __gu_err); \
199 break; \
200 case 2: \
201 __get_user_asm("lhu", __gu_addr, __gu_val, \
202 __gu_err); \
203 break; \
204 case 4: \
205 __get_user_asm("lw", __gu_addr, __gu_val, \
206 __gu_err); \
207 break; \
208 default: \
209 __gu_err = __user_bad(); \
210 break; \
211 } \
212 } else { \
213 __gu_err = -EFAULT; \
214 } \
215 x = (typeof(*(ptr)))__gu_val; \
216 __gu_err; \
217})
185 218
186#define __get_user(x, ptr) \ 219#define __get_user(x, ptr) \
187({ \ 220({ \
@@ -206,12 +239,6 @@ extern long __user_bad(void);
206}) 239})
207 240
208 241
209#define get_user(x, ptr) \
210({ \
211 access_ok(VERIFY_READ, (ptr), sizeof(*(ptr))) \
212 ? __get_user((x), (ptr)) : -EFAULT; \
213})
214
215#define __put_user_asm(insn, __gu_ptr, __gu_val, __gu_err) \ 242#define __put_user_asm(insn, __gu_ptr, __gu_val, __gu_err) \
216({ \ 243({ \
217 __asm__ __volatile__ ( \ 244 __asm__ __volatile__ ( \
@@ -266,6 +293,42 @@ extern long __user_bad(void);
266 * 293 *
267 * Returns zero on success, or -EFAULT on error. 294 * Returns zero on success, or -EFAULT on error.
268 */ 295 */
296#define put_user(x, ptr) \
297 __put_user_check((x), (ptr), sizeof(*(ptr)))
298
299#define __put_user_check(x, ptr, size) \
300({ \
301 typeof(*(ptr)) __pu_val; \
302 typeof(*(ptr)) __user *__pu_addr = (ptr); \
303 int __pu_err = 0; \
304 \
305 __pu_val = (x); \
306 if (access_ok(VERIFY_WRITE, __pu_addr, size)) { \
307 switch (size) { \
308 case 1: \
309 __put_user_asm("sb", __pu_addr, __pu_val, \
310 __pu_err); \
311 break; \
312 case 2: \
313 __put_user_asm("sh", __pu_addr, __pu_val, \
314 __pu_err); \
315 break; \
316 case 4: \
317 __put_user_asm("sw", __pu_addr, __pu_val, \
318 __pu_err); \
319 break; \
320 case 8: \
321 __put_user_asm_8(__pu_addr, __pu_val, __pu_err);\
322 break; \
323 default: \
324 __pu_err = __user_bad(); \
325 break; \
326 } \
327 } else { \
328 __pu_err = -EFAULT; \
329 } \
330 __pu_err; \
331})
269 332
270#define __put_user(x, ptr) \ 333#define __put_user(x, ptr) \
271({ \ 334({ \
@@ -290,18 +353,6 @@ extern long __user_bad(void);
290 __gu_err; \ 353 __gu_err; \
291}) 354})
292 355
293#ifndef CONFIG_MMU
294
295#define put_user(x, ptr) __put_user((x), (ptr))
296
297#else /* CONFIG_MMU */
298
299#define put_user(x, ptr) \
300({ \
301 access_ok(VERIFY_WRITE, (ptr), sizeof(*(ptr))) \
302 ? __put_user((x), (ptr)) : -EFAULT; \
303})
304#endif /* CONFIG_MMU */
305 356
306/* copy_to_from_user */ 357/* copy_to_from_user */
307#define __copy_from_user(to, from, n) \ 358#define __copy_from_user(to, from, n) \
diff --git a/arch/microblaze/kernel/asm-offsets.c b/arch/microblaze/kernel/asm-offsets.c
index 0071260a672..c1b459c9757 100644
--- a/arch/microblaze/kernel/asm-offsets.c
+++ b/arch/microblaze/kernel/asm-offsets.c
@@ -16,6 +16,7 @@
16#include <linux/hardirq.h> 16#include <linux/hardirq.h>
17#include <linux/thread_info.h> 17#include <linux/thread_info.h>
18#include <linux/kbuild.h> 18#include <linux/kbuild.h>
19#include <asm/cpuinfo.h>
19 20
20int main(int argc, char *argv[]) 21int main(int argc, char *argv[])
21{ 22{
diff --git a/arch/microblaze/kernel/cpu/cache.c b/arch/microblaze/kernel/cpu/cache.c
index f04d8a86dea..109876e8d64 100644
--- a/arch/microblaze/kernel/cpu/cache.c
+++ b/arch/microblaze/kernel/cpu/cache.c
@@ -96,13 +96,16 @@ static inline void __disable_dcache_nomsr(void)
96} 96}
97 97
98 98
99/* Helper macro for computing the limits of cache range loops */ 99/* Helper macro for computing the limits of cache range loops
100 *
101 * End address can be unaligned which is OK for C implementation.
102 * ASM implementation align it in ASM macros
103 */
100#define CACHE_LOOP_LIMITS(start, end, cache_line_length, cache_size) \ 104#define CACHE_LOOP_LIMITS(start, end, cache_line_length, cache_size) \
101do { \ 105do { \
102 int align = ~(cache_line_length - 1); \ 106 int align = ~(cache_line_length - 1); \
103 end = min(start + cache_size, end); \ 107 end = min(start + cache_size, end); \
104 start &= align; \ 108 start &= align; \
105 end = ((end & align) + cache_line_length); \
106} while (0); 109} while (0);
107 110
108/* 111/*
@@ -111,9 +114,9 @@ do { \
111 */ 114 */
112#define CACHE_ALL_LOOP(cache_size, line_length, op) \ 115#define CACHE_ALL_LOOP(cache_size, line_length, op) \
113do { \ 116do { \
114 unsigned int len = cache_size; \ 117 unsigned int len = cache_size - line_length; \
115 int step = -line_length; \ 118 int step = -line_length; \
116 BUG_ON(step >= 0); \ 119 WARN_ON(step >= 0); \
117 \ 120 \
118 __asm__ __volatile__ (" 1: " #op " %0, r0; \ 121 __asm__ __volatile__ (" 1: " #op " %0, r0; \
119 bgtid %0, 1b; \ 122 bgtid %0, 1b; \
@@ -122,26 +125,22 @@ do { \
122 : "memory"); \ 125 : "memory"); \
123} while (0); 126} while (0);
124 127
125 128/* Used for wdc.flush/clear which can use rB for offset which is not possible
126#define CACHE_ALL_LOOP2(cache_size, line_length, op) \ 129 * to use for simple wdc or wic.
127do { \ 130 *
128 unsigned int len = cache_size; \ 131 * start address is cache aligned
129 int step = -line_length; \ 132 * end address is not aligned, if end is aligned then I have to substract
130 BUG_ON(step >= 0); \ 133 * cacheline length because I can't flush/invalidate the next cacheline.
131 \ 134 * If is not, I align it because I will flush/invalidate whole line.
132 __asm__ __volatile__ (" 1: " #op " r0, %0; \ 135 */
133 bgtid %0, 1b; \
134 addk %0, %0, %1; \
135 " : : "r" (len), "r" (step) \
136 : "memory"); \
137} while (0);
138
139/* for wdc.flush/clear */
140#define CACHE_RANGE_LOOP_2(start, end, line_length, op) \ 136#define CACHE_RANGE_LOOP_2(start, end, line_length, op) \
141do { \ 137do { \
142 int step = -line_length; \ 138 int step = -line_length; \
143 int count = end - start; \ 139 int align = ~(line_length - 1); \
144 BUG_ON(count <= 0); \ 140 int count; \
141 end = ((end & align) == end) ? end - line_length : end & align; \
142 count = end - start; \
143 WARN_ON(count < 0); \
145 \ 144 \
146 __asm__ __volatile__ (" 1: " #op " %0, %1; \ 145 __asm__ __volatile__ (" 1: " #op " %0, %1; \
147 bgtid %1, 1b; \ 146 bgtid %1, 1b; \
@@ -154,7 +153,9 @@ do { \
154#define CACHE_RANGE_LOOP_1(start, end, line_length, op) \ 153#define CACHE_RANGE_LOOP_1(start, end, line_length, op) \
155do { \ 154do { \
156 int volatile temp; \ 155 int volatile temp; \
157 BUG_ON(end - start <= 0); \ 156 int align = ~(line_length - 1); \
157 end = ((end & align) == end) ? end - line_length : end & align; \
158 WARN_ON(end - start < 0); \
158 \ 159 \
159 __asm__ __volatile__ (" 1: " #op " %1, r0; \ 160 __asm__ __volatile__ (" 1: " #op " %1, r0; \
160 cmpu %0, %1, %2; \ 161 cmpu %0, %1, %2; \
@@ -360,8 +361,12 @@ static void __invalidate_dcache_all_noirq_wt(void)
360#endif 361#endif
361} 362}
362 363
363/* FIXME this is weird - should be only wdc but not work 364/* FIXME It is blindly invalidation as is expected
364 * MS: I am getting bus errors and other weird things */ 365 * but can't be called on noMMU in microblaze_cache_init below
366 *
367 * MS: noMMU kernel won't boot if simple wdc is used
368 * The reason should be that there are discared data which kernel needs
369 */
365static void __invalidate_dcache_all_wb(void) 370static void __invalidate_dcache_all_wb(void)
366{ 371{
367#ifndef ASM_LOOP 372#ifndef ASM_LOOP
@@ -369,12 +374,12 @@ static void __invalidate_dcache_all_wb(void)
369#endif 374#endif
370 pr_debug("%s\n", __func__); 375 pr_debug("%s\n", __func__);
371#ifdef ASM_LOOP 376#ifdef ASM_LOOP
372 CACHE_ALL_LOOP2(cpuinfo.dcache_size, cpuinfo.dcache_line_length, 377 CACHE_ALL_LOOP(cpuinfo.dcache_size, cpuinfo.dcache_line_length,
373 wdc.clear) 378 wdc)
374#else 379#else
375 for (i = 0; i < cpuinfo.dcache_size; 380 for (i = 0; i < cpuinfo.dcache_size;
376 i += cpuinfo.dcache_line_length) 381 i += cpuinfo.dcache_line_length)
377 __asm__ __volatile__ ("wdc.clear %0, r0;" \ 382 __asm__ __volatile__ ("wdc %0, r0;" \
378 : : "r" (i)); 383 : : "r" (i));
379#endif 384#endif
380} 385}
@@ -393,7 +398,7 @@ static void __invalidate_dcache_range_wb(unsigned long start,
393#ifdef ASM_LOOP 398#ifdef ASM_LOOP
394 CACHE_RANGE_LOOP_2(start, end, cpuinfo.dcache_line_length, wdc.clear); 399 CACHE_RANGE_LOOP_2(start, end, cpuinfo.dcache_line_length, wdc.clear);
395#else 400#else
396 for (i = start; i < end; i += cpuinfo.icache_line_length) 401 for (i = start; i < end; i += cpuinfo.dcache_line_length)
397 __asm__ __volatile__ ("wdc.clear %0, r0;" \ 402 __asm__ __volatile__ ("wdc.clear %0, r0;" \
398 : : "r" (i)); 403 : : "r" (i));
399#endif 404#endif
@@ -413,7 +418,7 @@ static void __invalidate_dcache_range_nomsr_wt(unsigned long start,
413#ifdef ASM_LOOP 418#ifdef ASM_LOOP
414 CACHE_RANGE_LOOP_1(start, end, cpuinfo.dcache_line_length, wdc); 419 CACHE_RANGE_LOOP_1(start, end, cpuinfo.dcache_line_length, wdc);
415#else 420#else
416 for (i = start; i < end; i += cpuinfo.icache_line_length) 421 for (i = start; i < end; i += cpuinfo.dcache_line_length)
417 __asm__ __volatile__ ("wdc %0, r0;" \ 422 __asm__ __volatile__ ("wdc %0, r0;" \
418 : : "r" (i)); 423 : : "r" (i));
419#endif 424#endif
@@ -437,7 +442,7 @@ static void __invalidate_dcache_range_msr_irq_wt(unsigned long start,
437#ifdef ASM_LOOP 442#ifdef ASM_LOOP
438 CACHE_RANGE_LOOP_1(start, end, cpuinfo.dcache_line_length, wdc); 443 CACHE_RANGE_LOOP_1(start, end, cpuinfo.dcache_line_length, wdc);
439#else 444#else
440 for (i = start; i < end; i += cpuinfo.icache_line_length) 445 for (i = start; i < end; i += cpuinfo.dcache_line_length)
441 __asm__ __volatile__ ("wdc %0, r0;" \ 446 __asm__ __volatile__ ("wdc %0, r0;" \
442 : : "r" (i)); 447 : : "r" (i));
443#endif 448#endif
@@ -465,7 +470,7 @@ static void __invalidate_dcache_range_nomsr_irq(unsigned long start,
465#ifdef ASM_LOOP 470#ifdef ASM_LOOP
466 CACHE_RANGE_LOOP_1(start, end, cpuinfo.dcache_line_length, wdc); 471 CACHE_RANGE_LOOP_1(start, end, cpuinfo.dcache_line_length, wdc);
467#else 472#else
468 for (i = start; i < end; i += cpuinfo.icache_line_length) 473 for (i = start; i < end; i += cpuinfo.dcache_line_length)
469 __asm__ __volatile__ ("wdc %0, r0;" \ 474 __asm__ __volatile__ ("wdc %0, r0;" \
470 : : "r" (i)); 475 : : "r" (i));
471#endif 476#endif
@@ -504,7 +509,7 @@ static void __flush_dcache_range_wb(unsigned long start, unsigned long end)
504#ifdef ASM_LOOP 509#ifdef ASM_LOOP
505 CACHE_RANGE_LOOP_2(start, end, cpuinfo.dcache_line_length, wdc.flush); 510 CACHE_RANGE_LOOP_2(start, end, cpuinfo.dcache_line_length, wdc.flush);
506#else 511#else
507 for (i = start; i < end; i += cpuinfo.icache_line_length) 512 for (i = start; i < end; i += cpuinfo.dcache_line_length)
508 __asm__ __volatile__ ("wdc.flush %0, r0;" \ 513 __asm__ __volatile__ ("wdc.flush %0, r0;" \
509 : : "r" (i)); 514 : : "r" (i));
510#endif 515#endif
@@ -650,7 +655,11 @@ void microblaze_cache_init(void)
650 } 655 }
651 } 656 }
652 } 657 }
653 invalidate_dcache(); 658/* FIXME Invalidation is done in U-BOOT
659 * WT cache: Data is already written to main memory
660 * WB cache: Discard data on noMMU which caused that kernel doesn't boot
661 */
662 /* invalidate_dcache(); */
654 enable_dcache(); 663 enable_dcache();
655 664
656 invalidate_icache(); 665 invalidate_icache();
diff --git a/arch/microblaze/kernel/cpu/mb.c b/arch/microblaze/kernel/cpu/mb.c
index 0c912b2a8e0..4216eb1eaa3 100644
--- a/arch/microblaze/kernel/cpu/mb.c
+++ b/arch/microblaze/kernel/cpu/mb.c
@@ -98,15 +98,17 @@ static int show_cpuinfo(struct seq_file *m, void *v)
98 98
99 if (cpuinfo.use_icache) 99 if (cpuinfo.use_icache)
100 count += seq_printf(m, 100 count += seq_printf(m,
101 "Icache:\t\t%ukB\n", 101 "Icache:\t\t%ukB\tline length:\t%dB\n",
102 cpuinfo.icache_size >> 10); 102 cpuinfo.icache_size >> 10,
103 cpuinfo.icache_line_length);
103 else 104 else
104 count += seq_printf(m, "Icache:\t\tno\n"); 105 count += seq_printf(m, "Icache:\t\tno\n");
105 106
106 if (cpuinfo.use_dcache) { 107 if (cpuinfo.use_dcache) {
107 count += seq_printf(m, 108 count += seq_printf(m,
108 "Dcache:\t\t%ukB\n", 109 "Dcache:\t\t%ukB\tline length:\t%dB\n",
109 cpuinfo.dcache_size >> 10); 110 cpuinfo.dcache_size >> 10,
111 cpuinfo.dcache_line_length);
110 if (cpuinfo.dcache_wb) 112 if (cpuinfo.dcache_wb)
111 count += seq_printf(m, "\t\twrite-back\n"); 113 count += seq_printf(m, "\t\twrite-back\n");
112 else 114 else
diff --git a/arch/microblaze/kernel/dma.c b/arch/microblaze/kernel/dma.c
index ce72dd4967c..9dcd90b5df5 100644
--- a/arch/microblaze/kernel/dma.c
+++ b/arch/microblaze/kernel/dma.c
@@ -74,7 +74,7 @@ static void dma_direct_free_coherent(struct device *dev, size_t size,
74 void *vaddr, dma_addr_t dma_handle) 74 void *vaddr, dma_addr_t dma_handle)
75{ 75{
76#ifdef NOT_COHERENT_CACHE 76#ifdef NOT_COHERENT_CACHE
77 consistent_free(vaddr); 77 consistent_free(size, vaddr);
78#else 78#else
79 free_pages((unsigned long)vaddr, get_order(size)); 79 free_pages((unsigned long)vaddr, get_order(size));
80#endif 80#endif
diff --git a/arch/microblaze/kernel/entry-nommu.S b/arch/microblaze/kernel/entry-nommu.S
index 391d6197fc3..8cc18cd2cce 100644
--- a/arch/microblaze/kernel/entry-nommu.S
+++ b/arch/microblaze/kernel/entry-nommu.S
@@ -476,6 +476,8 @@ ENTRY(ret_from_fork)
476 nop 476 nop
477 477
478work_pending: 478work_pending:
479 enable_irq
480
479 andi r11, r19, _TIF_NEED_RESCHED 481 andi r11, r19, _TIF_NEED_RESCHED
480 beqi r11, 1f 482 beqi r11, 1f
481 bralid r15, schedule 483 bralid r15, schedule
diff --git a/arch/microblaze/kernel/exceptions.c b/arch/microblaze/kernel/exceptions.c
index d9f70f83097..02cbdfe5aa8 100644
--- a/arch/microblaze/kernel/exceptions.c
+++ b/arch/microblaze/kernel/exceptions.c
@@ -121,7 +121,7 @@ asmlinkage void full_exception(struct pt_regs *regs, unsigned int type,
121 } 121 }
122 printk(KERN_WARNING "Divide by zero exception " \ 122 printk(KERN_WARNING "Divide by zero exception " \
123 "in kernel mode.\n"); 123 "in kernel mode.\n");
124 die("Divide by exception", regs, SIGBUS); 124 die("Divide by zero exception", regs, SIGBUS);
125 break; 125 break;
126 case MICROBLAZE_FPU_EXCEPTION: 126 case MICROBLAZE_FPU_EXCEPTION:
127 pr_debug(KERN_WARNING "FPU exception\n"); 127 pr_debug(KERN_WARNING "FPU exception\n");
diff --git a/arch/microblaze/kernel/head.S b/arch/microblaze/kernel/head.S
index da6a5f5dc76..1bf73988826 100644
--- a/arch/microblaze/kernel/head.S
+++ b/arch/microblaze/kernel/head.S
@@ -28,6 +28,7 @@
28 * for more details. 28 * for more details.
29 */ 29 */
30 30
31#include <linux/init.h>
31#include <linux/linkage.h> 32#include <linux/linkage.h>
32#include <asm/thread_info.h> 33#include <asm/thread_info.h>
33#include <asm/page.h> 34#include <asm/page.h>
@@ -49,7 +50,7 @@ swapper_pg_dir:
49 50
50#endif /* CONFIG_MMU */ 51#endif /* CONFIG_MMU */
51 52
52 .text 53 __HEAD
53ENTRY(_start) 54ENTRY(_start)
54#if CONFIG_KERNEL_BASE_ADDR == 0 55#if CONFIG_KERNEL_BASE_ADDR == 0
55 brai TOPHYS(real_start) 56 brai TOPHYS(real_start)
diff --git a/arch/microblaze/kernel/irq.c b/arch/microblaze/kernel/irq.c
index 6f39e2c001f..8f120aca123 100644
--- a/arch/microblaze/kernel/irq.c
+++ b/arch/microblaze/kernel/irq.c
@@ -9,6 +9,7 @@
9 */ 9 */
10 10
11#include <linux/init.h> 11#include <linux/init.h>
12#include <linux/ftrace.h>
12#include <linux/kernel.h> 13#include <linux/kernel.h>
13#include <linux/hardirq.h> 14#include <linux/hardirq.h>
14#include <linux/interrupt.h> 15#include <linux/interrupt.h>
@@ -32,7 +33,7 @@ EXPORT_SYMBOL_GPL(irq_of_parse_and_map);
32 33
33static u32 concurrent_irq; 34static u32 concurrent_irq;
34 35
35void do_IRQ(struct pt_regs *regs) 36void __irq_entry do_IRQ(struct pt_regs *regs)
36{ 37{
37 unsigned int irq; 38 unsigned int irq;
38 struct pt_regs *old_regs = set_irq_regs(regs); 39 struct pt_regs *old_regs = set_irq_regs(regs);
diff --git a/arch/microblaze/kernel/microblaze_ksyms.c b/arch/microblaze/kernel/microblaze_ksyms.c
index bc4dcb7d386..ff85f771803 100644
--- a/arch/microblaze/kernel/microblaze_ksyms.c
+++ b/arch/microblaze/kernel/microblaze_ksyms.c
@@ -52,3 +52,14 @@ EXPORT_SYMBOL_GPL(_ebss);
52extern void _mcount(void); 52extern void _mcount(void);
53EXPORT_SYMBOL(_mcount); 53EXPORT_SYMBOL(_mcount);
54#endif 54#endif
55
56/*
57 * Assembly functions that may be used (directly or indirectly) by modules
58 */
59EXPORT_SYMBOL(__copy_tofrom_user);
60EXPORT_SYMBOL(__strncpy_user);
61
62#ifdef CONFIG_OPT_LIB_ASM
63EXPORT_SYMBOL(memcpy);
64EXPORT_SYMBOL(memmove);
65#endif
diff --git a/arch/microblaze/kernel/misc.S b/arch/microblaze/kernel/misc.S
index 7cf86498326..0fb5fc6c1fc 100644
--- a/arch/microblaze/kernel/misc.S
+++ b/arch/microblaze/kernel/misc.S
@@ -93,39 +93,3 @@ early_console_reg_tlb_alloc:
93 nop 93 nop
94 94
95 .size early_console_reg_tlb_alloc, . - early_console_reg_tlb_alloc 95 .size early_console_reg_tlb_alloc, . - early_console_reg_tlb_alloc
96
97/*
98 * Copy a whole page (4096 bytes).
99 */
100#define COPY_16_BYTES \
101 lwi r7, r6, 0; \
102 lwi r8, r6, 4; \
103 lwi r9, r6, 8; \
104 lwi r10, r6, 12; \
105 swi r7, r5, 0; \
106 swi r8, r5, 4; \
107 swi r9, r5, 8; \
108 swi r10, r5, 12
109
110
111/* FIXME DCACHE_LINE_BYTES (CONFIG_XILINX_MICROBLAZE0_DCACHE_LINE_LEN * 4)*/
112#define DCACHE_LINE_BYTES (4 * 4)
113
114.globl copy_page;
115.type copy_page, @function
116.align 4;
117copy_page:
118 ori r11, r0, (PAGE_SIZE/DCACHE_LINE_BYTES) - 1
119_copy_page_loop:
120 COPY_16_BYTES
121#if DCACHE_LINE_BYTES >= 32
122 COPY_16_BYTES
123#endif
124 addik r6, r6, DCACHE_LINE_BYTES
125 addik r5, r5, DCACHE_LINE_BYTES
126 bneid r11, _copy_page_loop
127 addik r11, r11, -1
128 rtsd r15, 8
129 nop
130
131 .size copy_page, . - copy_page
diff --git a/arch/microblaze/kernel/module.c b/arch/microblaze/kernel/module.c
index cbecf110dc3..0e73f660654 100644
--- a/arch/microblaze/kernel/module.c
+++ b/arch/microblaze/kernel/module.c
@@ -16,6 +16,7 @@
16#include <linux/string.h> 16#include <linux/string.h>
17 17
18#include <asm/pgtable.h> 18#include <asm/pgtable.h>
19#include <asm/cacheflush.h>
19 20
20void *module_alloc(unsigned long size) 21void *module_alloc(unsigned long size)
21{ 22{
@@ -151,6 +152,7 @@ int apply_relocate_add(Elf32_Shdr *sechdrs, const char *strtab,
151int module_finalize(const Elf32_Ehdr *hdr, const Elf_Shdr *sechdrs, 152int module_finalize(const Elf32_Ehdr *hdr, const Elf_Shdr *sechdrs,
152 struct module *module) 153 struct module *module)
153{ 154{
155 flush_dcache();
154 return 0; 156 return 0;
155} 157}
156 158
diff --git a/arch/microblaze/kernel/traps.c b/arch/microblaze/kernel/traps.c
index 5e4570ef515..75e49202a5e 100644
--- a/arch/microblaze/kernel/traps.c
+++ b/arch/microblaze/kernel/traps.c
@@ -95,37 +95,3 @@ void dump_stack(void)
95 show_stack(NULL, NULL); 95 show_stack(NULL, NULL);
96} 96}
97EXPORT_SYMBOL(dump_stack); 97EXPORT_SYMBOL(dump_stack);
98
99#ifdef CONFIG_MMU
100void __bug(const char *file, int line, void *data)
101{
102 if (data)
103 printk(KERN_CRIT "kernel BUG at %s:%d (data = %p)!\n",
104 file, line, data);
105 else
106 printk(KERN_CRIT "kernel BUG at %s:%d!\n", file, line);
107
108 machine_halt();
109}
110
111int bad_trap(int trap_num, struct pt_regs *regs)
112{
113 printk(KERN_CRIT
114 "unimplemented trap %d called at 0x%08lx, pid %d!\n",
115 trap_num, regs->pc, current->pid);
116 return -ENOSYS;
117}
118
119int debug_trap(struct pt_regs *regs)
120{
121 int i;
122 printk(KERN_CRIT "debug trap\n");
123 for (i = 0; i < 32; i++) {
124 /* printk("r%i:%08X\t",i,regs->gpr[i]); */
125 if ((i % 4) == 3)
126 printk(KERN_CRIT "\n");
127 }
128 printk(KERN_CRIT "pc:%08lX\tmsr:%08lX\n", regs->pc, regs->msr);
129 return -ENOSYS;
130}
131#endif
diff --git a/arch/microblaze/kernel/vmlinux.lds.S b/arch/microblaze/kernel/vmlinux.lds.S
index 5ef619aad63..db72d712460 100644
--- a/arch/microblaze/kernel/vmlinux.lds.S
+++ b/arch/microblaze/kernel/vmlinux.lds.S
@@ -24,7 +24,8 @@ SECTIONS {
24 .text : AT(ADDR(.text) - LOAD_OFFSET) { 24 .text : AT(ADDR(.text) - LOAD_OFFSET) {
25 _text = . ; 25 _text = . ;
26 _stext = . ; 26 _stext = . ;
27 *(.text .text.*) 27 HEAD_TEXT
28 TEXT_TEXT
28 *(.fixup) 29 *(.fixup)
29 EXIT_TEXT 30 EXIT_TEXT
30 EXIT_CALL 31 EXIT_CALL
diff --git a/arch/microblaze/mm/consistent.c b/arch/microblaze/mm/consistent.c
index f956e24fe49..5a59dad62bd 100644
--- a/arch/microblaze/mm/consistent.c
+++ b/arch/microblaze/mm/consistent.c
@@ -42,11 +42,12 @@
42#include <linux/uaccess.h> 42#include <linux/uaccess.h>
43#include <asm/pgtable.h> 43#include <asm/pgtable.h>
44#include <asm/cpuinfo.h> 44#include <asm/cpuinfo.h>
45#include <asm/tlbflush.h>
45 46
46#ifndef CONFIG_MMU 47#ifndef CONFIG_MMU
47
48/* I have to use dcache values because I can't relate on ram size */ 48/* I have to use dcache values because I can't relate on ram size */
49#define UNCACHED_SHADOW_MASK (cpuinfo.dcache_high - cpuinfo.dcache_base + 1) 49# define UNCACHED_SHADOW_MASK (cpuinfo.dcache_high - cpuinfo.dcache_base + 1)
50#endif
50 51
51/* 52/*
52 * Consistent memory allocators. Used for DMA devices that want to 53 * Consistent memory allocators. Used for DMA devices that want to
@@ -60,71 +61,16 @@
60 */ 61 */
61void *consistent_alloc(int gfp, size_t size, dma_addr_t *dma_handle) 62void *consistent_alloc(int gfp, size_t size, dma_addr_t *dma_handle)
62{ 63{
63 struct page *page, *end, *free; 64 unsigned long order, vaddr;
64 unsigned long order; 65 void *ret;
65 void *ret, *virt; 66 unsigned int i, err = 0;
66 67 struct page *page, *end;
67 if (in_interrupt())
68 BUG();
69
70 size = PAGE_ALIGN(size);
71 order = get_order(size);
72
73 page = alloc_pages(gfp, order);
74 if (!page)
75 goto no_page;
76
77 /* We could do with a page_to_phys and page_to_bus here. */
78 virt = page_address(page);
79 ret = ioremap(virt_to_phys(virt), size);
80 if (!ret)
81 goto no_remap;
82
83 /*
84 * Here's the magic! Note if the uncached shadow is not implemented,
85 * it's up to the calling code to also test that condition and make
86 * other arranegments, such as manually flushing the cache and so on.
87 */
88#ifdef CONFIG_XILINX_UNCACHED_SHADOW
89 ret = (void *)((unsigned) ret | UNCACHED_SHADOW_MASK);
90#endif
91 /* dma_handle is same as physical (shadowed) address */
92 *dma_handle = (dma_addr_t)ret;
93
94 /*
95 * free wasted pages. We skip the first page since we know
96 * that it will have count = 1 and won't require freeing.
97 * We also mark the pages in use as reserved so that
98 * remap_page_range works.
99 */
100 page = virt_to_page(virt);
101 free = page + (size >> PAGE_SHIFT);
102 end = page + (1 << order);
103
104 for (; page < end; page++) {
105 init_page_count(page);
106 if (page >= free)
107 __free_page(page);
108 else
109 SetPageReserved(page);
110 }
111
112 return ret;
113no_remap:
114 __free_pages(page, order);
115no_page:
116 return NULL;
117}
118
119#else
120 68
121void *consistent_alloc(int gfp, size_t size, dma_addr_t *dma_handle) 69#ifdef CONFIG_MMU
122{
123 int order, err, i;
124 unsigned long page, va, flags;
125 phys_addr_t pa; 70 phys_addr_t pa;
126 struct vm_struct *area; 71 struct vm_struct *area;
127 void *ret; 72 unsigned long va;
73#endif
128 74
129 if (in_interrupt()) 75 if (in_interrupt())
130 BUG(); 76 BUG();
@@ -133,71 +79,133 @@ void *consistent_alloc(int gfp, size_t size, dma_addr_t *dma_handle)
133 size = PAGE_ALIGN(size); 79 size = PAGE_ALIGN(size);
134 order = get_order(size); 80 order = get_order(size);
135 81
136 page = __get_free_pages(gfp, order); 82 vaddr = __get_free_pages(gfp, order);
137 if (!page) { 83 if (!vaddr)
138 BUG();
139 return NULL; 84 return NULL;
140 }
141 85
142 /* 86 /*
143 * we need to ensure that there are no cachelines in use, 87 * we need to ensure that there are no cachelines in use,
144 * or worse dirty in this area. 88 * or worse dirty in this area.
145 */ 89 */
146 flush_dcache_range(virt_to_phys(page), virt_to_phys(page) + size); 90 flush_dcache_range(virt_to_phys((void *)vaddr),
91 virt_to_phys((void *)vaddr) + size);
147 92
93#ifndef CONFIG_MMU
94 ret = (void *)vaddr;
95 /*
96 * Here's the magic! Note if the uncached shadow is not implemented,
97 * it's up to the calling code to also test that condition and make
98 * other arranegments, such as manually flushing the cache and so on.
99 */
100# ifdef CONFIG_XILINX_UNCACHED_SHADOW
101 ret = (void *)((unsigned) ret | UNCACHED_SHADOW_MASK);
102# endif
103 if ((unsigned int)ret > cpuinfo.dcache_base &&
104 (unsigned int)ret < cpuinfo.dcache_high)
105 printk(KERN_WARNING
106 "ERROR: Your cache coherent area is CACHED!!!\n");
107
108 /* dma_handle is same as physical (shadowed) address */
109 *dma_handle = (dma_addr_t)ret;
110#else
148 /* Allocate some common virtual space to map the new pages. */ 111 /* Allocate some common virtual space to map the new pages. */
149 area = get_vm_area(size, VM_ALLOC); 112 area = get_vm_area(size, VM_ALLOC);
150 if (area == NULL) { 113 if (!area) {
151 free_pages(page, order); 114 free_pages(vaddr, order);
152 return NULL; 115 return NULL;
153 } 116 }
154 va = (unsigned long) area->addr; 117 va = (unsigned long) area->addr;
155 ret = (void *)va; 118 ret = (void *)va;
156 119
157 /* This gives us the real physical address of the first page. */ 120 /* This gives us the real physical address of the first page. */
158 *dma_handle = pa = virt_to_bus((void *)page); 121 *dma_handle = pa = virt_to_bus((void *)vaddr);
159 122#endif
160 /* MS: This is the whole magic - use cache inhibit pages */
161 flags = _PAGE_KERNEL | _PAGE_NO_CACHE;
162 123
163 /* 124 /*
164 * Set refcount=1 on all pages in an order>0 125 * free wasted pages. We skip the first page since we know
165 * allocation so that vfree() will actually 126 * that it will have count = 1 and won't require freeing.
166 * free all pages that were allocated. 127 * We also mark the pages in use as reserved so that
128 * remap_page_range works.
167 */ 129 */
168 if (order > 0) { 130 page = virt_to_page(vaddr);
169 struct page *rpage = virt_to_page(page); 131 end = page + (1 << order);
170 for (i = 1; i < (1 << order); i++) 132
171 init_page_count(rpage+i); 133 split_page(page, order);
134
135 for (i = 0; i < size && err == 0; i += PAGE_SIZE) {
136#ifdef CONFIG_MMU
137 /* MS: This is the whole magic - use cache inhibit pages */
138 err = map_page(va + i, pa + i, _PAGE_KERNEL | _PAGE_NO_CACHE);
139#endif
140
141 SetPageReserved(page);
142 page++;
172 } 143 }
173 144
174 err = 0; 145 /* Free the otherwise unused pages. */
175 for (i = 0; i < size && err == 0; i += PAGE_SIZE) 146 while (page < end) {
176 err = map_page(va+i, pa+i, flags); 147 __free_page(page);
148 page++;
149 }
177 150
178 if (err) { 151 if (err) {
179 vfree((void *)va); 152 free_pages(vaddr, order);
180 return NULL; 153 return NULL;
181 } 154 }
182 155
183 return ret; 156 return ret;
184} 157}
185#endif /* CONFIG_MMU */
186EXPORT_SYMBOL(consistent_alloc); 158EXPORT_SYMBOL(consistent_alloc);
187 159
188/* 160/*
189 * free page(s) as defined by the above mapping. 161 * free page(s) as defined by the above mapping.
190 */ 162 */
191void consistent_free(void *vaddr) 163void consistent_free(size_t size, void *vaddr)
192{ 164{
165 struct page *page;
166
193 if (in_interrupt()) 167 if (in_interrupt())
194 BUG(); 168 BUG();
195 169
170 size = PAGE_ALIGN(size);
171
172#ifndef CONFIG_MMU
196 /* Clear SHADOW_MASK bit in address, and free as per usual */ 173 /* Clear SHADOW_MASK bit in address, and free as per usual */
197#ifdef CONFIG_XILINX_UNCACHED_SHADOW 174# ifdef CONFIG_XILINX_UNCACHED_SHADOW
198 vaddr = (void *)((unsigned)vaddr & ~UNCACHED_SHADOW_MASK); 175 vaddr = (void *)((unsigned)vaddr & ~UNCACHED_SHADOW_MASK);
176# endif
177 page = virt_to_page(vaddr);
178
179 do {
180 ClearPageReserved(page);
181 __free_page(page);
182 page++;
183 } while (size -= PAGE_SIZE);
184#else
185 do {
186 pte_t *ptep;
187 unsigned long pfn;
188
189 ptep = pte_offset_kernel(pmd_offset(pgd_offset_k(
190 (unsigned int)vaddr),
191 (unsigned int)vaddr),
192 (unsigned int)vaddr);
193 if (!pte_none(*ptep) && pte_present(*ptep)) {
194 pfn = pte_pfn(*ptep);
195 pte_clear(&init_mm, (unsigned int)vaddr, ptep);
196 if (pfn_valid(pfn)) {
197 page = pfn_to_page(pfn);
198
199 ClearPageReserved(page);
200 __free_page(page);
201 }
202 }
203 vaddr += PAGE_SIZE;
204 } while (size -= PAGE_SIZE);
205
206 /* flush tlb */
207 flush_tlb_all();
199#endif 208#endif
200 vfree(vaddr);
201} 209}
202EXPORT_SYMBOL(consistent_free); 210EXPORT_SYMBOL(consistent_free);
203 211
@@ -221,7 +229,7 @@ void consistent_sync(void *vaddr, size_t size, int direction)
221 case PCI_DMA_NONE: 229 case PCI_DMA_NONE:
222 BUG(); 230 BUG();
223 case PCI_DMA_FROMDEVICE: /* invalidate only */ 231 case PCI_DMA_FROMDEVICE: /* invalidate only */
224 flush_dcache_range(start, end); 232 invalidate_dcache_range(start, end);
225 break; 233 break;
226 case PCI_DMA_TODEVICE: /* writeback only */ 234 case PCI_DMA_TODEVICE: /* writeback only */
227 flush_dcache_range(start, end); 235 flush_dcache_range(start, end);
diff --git a/arch/microblaze/mm/fault.c b/arch/microblaze/mm/fault.c
index 7af87f4b2c2..bab92299318 100644
--- a/arch/microblaze/mm/fault.c
+++ b/arch/microblaze/mm/fault.c
@@ -273,16 +273,11 @@ bad_area_nosemaphore:
273 * us unable to handle the page fault gracefully. 273 * us unable to handle the page fault gracefully.
274 */ 274 */
275out_of_memory: 275out_of_memory:
276 if (current->pid == 1) {
277 yield();
278 down_read(&mm->mmap_sem);
279 goto survive;
280 }
281 up_read(&mm->mmap_sem); 276 up_read(&mm->mmap_sem);
282 printk(KERN_WARNING "VM: killing process %s\n", current->comm); 277 if (!user_mode(regs))
283 if (user_mode(regs)) 278 bad_page_fault(regs, address, SIGKILL);
284 do_exit(SIGKILL); 279 else
285 bad_page_fault(regs, address, SIGKILL); 280 pagefault_out_of_memory();
286 return; 281 return;
287 282
288do_sigbus: 283do_sigbus:
diff --git a/arch/microblaze/mm/init.c b/arch/microblaze/mm/init.c
index f42c2dde8b1..cca3579d426 100644
--- a/arch/microblaze/mm/init.c
+++ b/arch/microblaze/mm/init.c
@@ -47,6 +47,7 @@ unsigned long memory_start;
47EXPORT_SYMBOL(memory_start); 47EXPORT_SYMBOL(memory_start);
48unsigned long memory_end; /* due to mm/nommu.c */ 48unsigned long memory_end; /* due to mm/nommu.c */
49unsigned long memory_size; 49unsigned long memory_size;
50EXPORT_SYMBOL(memory_size);
50 51
51/* 52/*
52 * paging_init() sets up the page tables - in fact we've already done this. 53 * paging_init() sets up the page tables - in fact we've already done this.
diff --git a/arch/microblaze/mm/pgtable.c b/arch/microblaze/mm/pgtable.c
index d31312cde6e..59bf2335a4c 100644
--- a/arch/microblaze/mm/pgtable.c
+++ b/arch/microblaze/mm/pgtable.c
@@ -42,6 +42,7 @@
42 42
43unsigned long ioremap_base; 43unsigned long ioremap_base;
44unsigned long ioremap_bot; 44unsigned long ioremap_bot;
45EXPORT_SYMBOL(ioremap_bot);
45 46
46/* The maximum lowmem defaults to 768Mb, but this can be configured to 47/* The maximum lowmem defaults to 768Mb, but this can be configured to
47 * another value. 48 * another value.
@@ -161,24 +162,6 @@ int map_page(unsigned long va, phys_addr_t pa, int flags)
161 return err; 162 return err;
162} 163}
163 164
164void __init adjust_total_lowmem(void)
165{
166/* TBD */
167#if 0
168 unsigned long max_low_mem = MAX_LOW_MEM;
169
170 if (total_lowmem > max_low_mem) {
171 total_lowmem = max_low_mem;
172#ifndef CONFIG_HIGHMEM
173 printk(KERN_INFO "Warning, memory limited to %ld Mb, use "
174 "CONFIG_HIGHMEM to reach %ld Mb\n",
175 max_low_mem >> 20, total_memory >> 20);
176 total_memory = total_lowmem;
177#endif /* CONFIG_HIGHMEM */
178 }
179#endif
180}
181
182/* 165/*
183 * Map in all of physical memory starting at CONFIG_KERNEL_START. 166 * Map in all of physical memory starting at CONFIG_KERNEL_START.
184 */ 167 */
@@ -206,24 +189,6 @@ void __init mapin_ram(void)
206/* is x a power of 2? */ 189/* is x a power of 2? */
207#define is_power_of_2(x) ((x) != 0 && (((x) & ((x) - 1)) == 0)) 190#define is_power_of_2(x) ((x) != 0 && (((x) & ((x) - 1)) == 0))
208 191
209/*
210 * Set up a mapping for a block of I/O.
211 * virt, phys, size must all be page-aligned.
212 * This should only be called before ioremap is called.
213 */
214void __init io_block_mapping(unsigned long virt, phys_addr_t phys,
215 unsigned int size, int flags)
216{
217 int i;
218
219 if (virt > CONFIG_KERNEL_START && virt < ioremap_bot)
220 ioremap_bot = ioremap_base = virt;
221
222 /* Put it in the page tables. */
223 for (i = 0; i < size; i += PAGE_SIZE)
224 map_page(virt + i, phys + i, flags);
225}
226
227/* Scan the real Linux page tables and return a PTE pointer for 192/* Scan the real Linux page tables and return a PTE pointer for
228 * a virtual address in a context. 193 * a virtual address in a context.
229 * Returns true (1) if PTE was found, zero otherwise. The pointer to 194 * Returns true (1) if PTE was found, zero otherwise. The pointer to
@@ -274,3 +239,18 @@ unsigned long iopa(unsigned long addr)
274 239
275 return pa; 240 return pa;
276} 241}
242
243__init_refok pte_t *pte_alloc_one_kernel(struct mm_struct *mm,
244 unsigned long address)
245{
246 pte_t *pte;
247 if (mem_init_done) {
248 pte = (pte_t *)__get_free_page(GFP_KERNEL |
249 __GFP_REPEAT | __GFP_ZERO);
250 } else {
251 pte = (pte_t *)early_get_page();
252 if (pte)
253 clear_page(pte);
254 }
255 return pte;
256}
diff --git a/arch/microblaze/pci/pci-common.c b/arch/microblaze/pci/pci-common.c
index 740bb32ec57..9cb782b8e03 100644
--- a/arch/microblaze/pci/pci-common.c
+++ b/arch/microblaze/pci/pci-common.c
@@ -1025,7 +1025,7 @@ static void __devinit pcibios_fixup_bridge(struct pci_bus *bus)
1025 1025
1026 struct pci_dev *dev = bus->self; 1026 struct pci_dev *dev = bus->self;
1027 1027
1028 for (i = 0; i < PCI_BUS_NUM_RESOURCES; ++i) { 1028 pci_bus_for_each_resource(bus, res, i) {
1029 res = bus->resource[i]; 1029 res = bus->resource[i];
1030 if (!res) 1030 if (!res)
1031 continue; 1031 continue;
@@ -1131,21 +1131,20 @@ static int skip_isa_ioresource_align(struct pci_dev *dev)
1131 * but we want to try to avoid allocating at 0x2900-0x2bff 1131 * but we want to try to avoid allocating at 0x2900-0x2bff
1132 * which might have be mirrored at 0x0100-0x03ff.. 1132 * which might have be mirrored at 0x0100-0x03ff..
1133 */ 1133 */
1134void pcibios_align_resource(void *data, struct resource *res, 1134resource_size_t pcibios_align_resource(void *data, const struct resource *res,
1135 resource_size_t size, resource_size_t align) 1135 resource_size_t size, resource_size_t align)
1136{ 1136{
1137 struct pci_dev *dev = data; 1137 struct pci_dev *dev = data;
1138 resource_size_t start = res->start;
1138 1139
1139 if (res->flags & IORESOURCE_IO) { 1140 if (res->flags & IORESOURCE_IO) {
1140 resource_size_t start = res->start;
1141
1142 if (skip_isa_ioresource_align(dev)) 1141 if (skip_isa_ioresource_align(dev))
1143 return; 1142 return start;
1144 if (start & 0x300) { 1143 if (start & 0x300)
1145 start = (start + 0x3ff) & ~0x3ff; 1144 start = (start + 0x3ff) & ~0x3ff;
1146 res->start = start;
1147 }
1148 } 1145 }
1146
1147 return start;
1149} 1148}
1150EXPORT_SYMBOL(pcibios_align_resource); 1149EXPORT_SYMBOL(pcibios_align_resource);
1151 1150
@@ -1228,7 +1227,7 @@ void pcibios_allocate_bus_resources(struct pci_bus *bus)
1228 pr_debug("PCI: Allocating bus resources for %04x:%02x...\n", 1227 pr_debug("PCI: Allocating bus resources for %04x:%02x...\n",
1229 pci_domain_nr(bus), bus->number); 1228 pci_domain_nr(bus), bus->number);
1230 1229
1231 for (i = 0; i < PCI_BUS_NUM_RESOURCES; ++i) { 1230 pci_bus_for_each_resource(bus, res, i) {
1232 res = bus->resource[i]; 1231 res = bus->resource[i];
1233 if (!res || !res->flags 1232 if (!res || !res->flags
1234 || res->start > res->end || res->parent) 1233 || res->start > res->end || res->parent)
@@ -1508,7 +1507,7 @@ void pcibios_finish_adding_to_bus(struct pci_bus *bus)
1508 pci_bus_add_devices(bus); 1507 pci_bus_add_devices(bus);
1509 1508
1510 /* Fixup EEH */ 1509 /* Fixup EEH */
1511 eeh_add_device_tree_late(bus); 1510 /* eeh_add_device_tree_late(bus); */
1512} 1511}
1513EXPORT_SYMBOL_GPL(pcibios_finish_adding_to_bus); 1512EXPORT_SYMBOL_GPL(pcibios_finish_adding_to_bus);
1514 1513
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index 29e86923d1b..7e6fd1cbd3f 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -49,7 +49,7 @@ config AR7
49 family: TNETD7100, 7200 and 7300. 49 family: TNETD7100, 7200 and 7300.
50 50
51config BCM47XX 51config BCM47XX
52 bool "BCM47XX based boards" 52 bool "Broadcom BCM47XX based boards"
53 select CEVT_R4K 53 select CEVT_R4K
54 select CSRC_R4K 54 select CSRC_R4K
55 select DMA_NONCOHERENT 55 select DMA_NONCOHERENT
@@ -509,6 +509,7 @@ config SIBYTE_SWARM
509 bool "Sibyte BCM91250A-SWARM" 509 bool "Sibyte BCM91250A-SWARM"
510 select BOOT_ELF32 510 select BOOT_ELF32
511 select DMA_COHERENT 511 select DMA_COHERENT
512 select HAVE_PATA_PLATFORM
512 select NR_CPUS_DEFAULT_2 513 select NR_CPUS_DEFAULT_2
513 select SIBYTE_SB1250 514 select SIBYTE_SB1250
514 select SWAP_IO_SPACE 515 select SWAP_IO_SPACE
@@ -523,6 +524,7 @@ config SIBYTE_LITTLESUR
523 depends on EXPERIMENTAL 524 depends on EXPERIMENTAL
524 select BOOT_ELF32 525 select BOOT_ELF32
525 select DMA_COHERENT 526 select DMA_COHERENT
527 select HAVE_PATA_PLATFORM
526 select NR_CPUS_DEFAULT_2 528 select NR_CPUS_DEFAULT_2
527 select SIBYTE_SB1250 529 select SIBYTE_SB1250
528 select SWAP_IO_SPACE 530 select SWAP_IO_SPACE
@@ -1305,6 +1307,33 @@ config CPU_CAVIUM_OCTEON
1305 1307
1306endchoice 1308endchoice
1307 1309
1310if CPU_LOONGSON2F
1311config CPU_NOP_WORKAROUNDS
1312 bool
1313
1314config CPU_JUMP_WORKAROUNDS
1315 bool
1316
1317config CPU_LOONGSON2F_WORKAROUNDS
1318 bool "Loongson 2F Workarounds"
1319 default y
1320 select CPU_NOP_WORKAROUNDS
1321 select CPU_JUMP_WORKAROUNDS
1322 help
1323 Loongson 2F01 / 2F02 processors have the NOP & JUMP issues which
1324 require workarounds. Without workarounds the system may hang
1325 unexpectedly. For more information please refer to the gas
1326 -mfix-loongson2f-nop and -mfix-loongson2f-jump options.
1327
1328 Loongson 2F03 and later have fixed these issues and no workarounds
1329 are needed. The workarounds have no significant side effect on them
1330 but may decrease the performance of the system so this option should
1331 be disabled unless the kernel is intended to be run on 2F01 or 2F02
1332 systems.
1333
1334 If unsure, please say Y.
1335endif # CPU_LOONGSON2F
1336
1308config SYS_SUPPORTS_ZBOOT 1337config SYS_SUPPORTS_ZBOOT
1309 bool 1338 bool
1310 select HAVE_KERNEL_GZIP 1339 select HAVE_KERNEL_GZIP
diff --git a/arch/mips/Makefile b/arch/mips/Makefile
index 2f2eac23332..0b9c01add0a 100644
--- a/arch/mips/Makefile
+++ b/arch/mips/Makefile
@@ -136,6 +136,19 @@ cflags-$(CONFIG_CPU_LOONGSON2E) += \
136 $(call cc-option,-march=loongson2e,-march=r4600) 136 $(call cc-option,-march=loongson2e,-march=r4600)
137cflags-$(CONFIG_CPU_LOONGSON2F) += \ 137cflags-$(CONFIG_CPU_LOONGSON2F) += \
138 $(call cc-option,-march=loongson2f,-march=r4600) 138 $(call cc-option,-march=loongson2f,-march=r4600)
139# enable the workarounds for loongson2f
140ifdef CONFIG_CPU_LOONGSON2F_WORKAROUNDS
141 ifeq ($(call as-option,-Wa$(comma)-mfix-loongson2f-nop,),)
142 $(error only binutils >= 2.20.2 have needed option -mfix-loongson2f-nop)
143 else
144 cflags-$(CONFIG_CPU_NOP_WORKAROUNDS) += -Wa$(comma)-mfix-loongson2f-nop
145 endif
146 ifeq ($(call as-option,-Wa$(comma)-mfix-loongson2f-jump,),)
147 $(error only binutils >= 2.20.2 have needed option -mfix-loongson2f-jump)
148 else
149 cflags-$(CONFIG_CPU_JUMP_WORKAROUNDS) += -Wa$(comma)-mfix-loongson2f-jump
150 endif
151endif
139 152
140cflags-$(CONFIG_CPU_MIPS32_R1) += $(call cc-option,-march=mips32,-mips32 -U_MIPS_ISA -D_MIPS_ISA=_MIPS_ISA_MIPS32) \ 153cflags-$(CONFIG_CPU_MIPS32_R1) += $(call cc-option,-march=mips32,-mips32 -U_MIPS_ISA -D_MIPS_ISA=_MIPS_ISA_MIPS32) \
141 -Wa,-mips32 -Wa,--trap 154 -Wa,-mips32 -Wa,--trap
diff --git a/arch/mips/alchemy/devboards/db1200/setup.c b/arch/mips/alchemy/devboards/db1200/setup.c
index be7e92ea01f..88761954755 100644
--- a/arch/mips/alchemy/devboards/db1200/setup.c
+++ b/arch/mips/alchemy/devboards/db1200/setup.c
@@ -66,12 +66,16 @@ static int __init db1200_arch_init(void)
66 set_irq_type(AU1200_GPIO7_INT, IRQF_TRIGGER_LOW); 66 set_irq_type(AU1200_GPIO7_INT, IRQF_TRIGGER_LOW);
67 bcsr_init_irq(DB1200_INT_BEGIN, DB1200_INT_END, AU1200_GPIO7_INT); 67 bcsr_init_irq(DB1200_INT_BEGIN, DB1200_INT_END, AU1200_GPIO7_INT);
68 68
69 /* do not autoenable these: CPLD has broken edge int handling, 69 /* insert/eject pairs: one of both is always screaming. To avoid
70 * and the CD handler setup requires manual enabling to work 70 * issues they must not be automatically enabled when initially
71 * around that. 71 * requested.
72 */ 72 */
73 irq_to_desc(DB1200_SD0_INSERT_INT)->status |= IRQ_NOAUTOEN; 73 irq_to_desc(DB1200_SD0_INSERT_INT)->status |= IRQ_NOAUTOEN;
74 irq_to_desc(DB1200_SD0_EJECT_INT)->status |= IRQ_NOAUTOEN; 74 irq_to_desc(DB1200_SD0_EJECT_INT)->status |= IRQ_NOAUTOEN;
75 irq_to_desc(DB1200_PC0_INSERT_INT)->status |= IRQ_NOAUTOEN;
76 irq_to_desc(DB1200_PC0_EJECT_INT)->status |= IRQ_NOAUTOEN;
77 irq_to_desc(DB1200_PC1_INSERT_INT)->status |= IRQ_NOAUTOEN;
78 irq_to_desc(DB1200_PC1_EJECT_INT)->status |= IRQ_NOAUTOEN;
75 79
76 return 0; 80 return 0;
77} 81}
diff --git a/arch/mips/configs/bcm63xx_defconfig b/arch/mips/configs/bcm63xx_defconfig
index 7fee0273c82..6389ca0fdc6 100644
--- a/arch/mips/configs/bcm63xx_defconfig
+++ b/arch/mips/configs/bcm63xx_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.30-rc6 3# Linux kernel version: 2.6.34-rc2
4# Sun May 31 20:17:18 2009 4# Tue Mar 23 10:36:32 2010
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -9,13 +9,14 @@ CONFIG_MIPS=y
9# Machine selection 9# Machine selection
10# 10#
11# CONFIG_MACH_ALCHEMY is not set 11# CONFIG_MACH_ALCHEMY is not set
12# CONFIG_AR7 is not set
12# CONFIG_BCM47XX is not set 13# CONFIG_BCM47XX is not set
13CONFIG_BCM63XX=y 14CONFIG_BCM63XX=y
14# CONFIG_MIPS_COBALT is not set 15# CONFIG_MIPS_COBALT is not set
15# CONFIG_MACH_DECSTATION is not set 16# CONFIG_MACH_DECSTATION is not set
16# CONFIG_MACH_JAZZ is not set 17# CONFIG_MACH_JAZZ is not set
17# CONFIG_LASAT is not set 18# CONFIG_LASAT is not set
18# CONFIG_LEMOTE_FULONG is not set 19# CONFIG_MACH_LOONGSON is not set
19# CONFIG_MIPS_MALTA is not set 20# CONFIG_MIPS_MALTA is not set
20# CONFIG_MIPS_SIM is not set 21# CONFIG_MIPS_SIM is not set
21# CONFIG_NEC_MARKEINS is not set 22# CONFIG_NEC_MARKEINS is not set
@@ -26,6 +27,7 @@ CONFIG_BCM63XX=y
26# CONFIG_PNX8550_STB810 is not set 27# CONFIG_PNX8550_STB810 is not set
27# CONFIG_PMC_MSP is not set 28# CONFIG_PMC_MSP is not set
28# CONFIG_PMC_YOSEMITE is not set 29# CONFIG_PMC_YOSEMITE is not set
30# CONFIG_POWERTV is not set
29# CONFIG_SGI_IP22 is not set 31# CONFIG_SGI_IP22 is not set
30# CONFIG_SGI_IP27 is not set 32# CONFIG_SGI_IP27 is not set
31# CONFIG_SGI_IP28 is not set 33# CONFIG_SGI_IP28 is not set
@@ -45,13 +47,17 @@ CONFIG_BCM63XX=y
45# CONFIG_WR_PPMC is not set 47# CONFIG_WR_PPMC is not set
46# CONFIG_CAVIUM_OCTEON_SIMULATOR is not set 48# CONFIG_CAVIUM_OCTEON_SIMULATOR is not set
47# CONFIG_CAVIUM_OCTEON_REFERENCE_BOARD is not set 49# CONFIG_CAVIUM_OCTEON_REFERENCE_BOARD is not set
50# CONFIG_ALCHEMY_GPIO_INDIRECT is not set
48 51
49# 52#
50# CPU support 53# CPU support
51# 54#
55CONFIG_BCM63XX_CPU_6338=y
56CONFIG_BCM63XX_CPU_6345=y
52CONFIG_BCM63XX_CPU_6348=y 57CONFIG_BCM63XX_CPU_6348=y
53CONFIG_BCM63XX_CPU_6358=y 58CONFIG_BCM63XX_CPU_6358=y
54CONFIG_BOARD_BCM963XX=y 59CONFIG_BOARD_BCM963XX=y
60CONFIG_LOONGSON_UART_BASE=y
55CONFIG_RWSEM_GENERIC_SPINLOCK=y 61CONFIG_RWSEM_GENERIC_SPINLOCK=y
56# CONFIG_ARCH_HAS_ILOG2_U32 is not set 62# CONFIG_ARCH_HAS_ILOG2_U32 is not set
57# CONFIG_ARCH_HAS_ILOG2_U64 is not set 63# CONFIG_ARCH_HAS_ILOG2_U64 is not set
@@ -69,10 +75,8 @@ CONFIG_CEVT_R4K=y
69CONFIG_CSRC_R4K_LIB=y 75CONFIG_CSRC_R4K_LIB=y
70CONFIG_CSRC_R4K=y 76CONFIG_CSRC_R4K=y
71CONFIG_DMA_NONCOHERENT=y 77CONFIG_DMA_NONCOHERENT=y
72CONFIG_DMA_NEED_PCI_MAP_STATE=y 78CONFIG_NEED_DMA_MAP_STATE=y
73CONFIG_EARLY_PRINTK=y
74CONFIG_SYS_HAS_EARLY_PRINTK=y 79CONFIG_SYS_HAS_EARLY_PRINTK=y
75# CONFIG_HOTPLUG_CPU is not set
76# CONFIG_NO_IOPORT is not set 80# CONFIG_NO_IOPORT is not set
77CONFIG_GENERIC_GPIO=y 81CONFIG_GENERIC_GPIO=y
78CONFIG_CPU_BIG_ENDIAN=y 82CONFIG_CPU_BIG_ENDIAN=y
@@ -85,7 +89,8 @@ CONFIG_MIPS_L1_CACHE_SHIFT=5
85# 89#
86# CPU selection 90# CPU selection
87# 91#
88# CONFIG_CPU_LOONGSON2 is not set 92# CONFIG_CPU_LOONGSON2E is not set
93# CONFIG_CPU_LOONGSON2F is not set
89CONFIG_CPU_MIPS32_R1=y 94CONFIG_CPU_MIPS32_R1=y
90# CONFIG_CPU_MIPS32_R2 is not set 95# CONFIG_CPU_MIPS32_R2 is not set
91# CONFIG_CPU_MIPS64_R1 is not set 96# CONFIG_CPU_MIPS64_R1 is not set
@@ -128,7 +133,7 @@ CONFIG_CPU_HAS_PREFETCH=y
128CONFIG_MIPS_MT_DISABLED=y 133CONFIG_MIPS_MT_DISABLED=y
129# CONFIG_MIPS_MT_SMP is not set 134# CONFIG_MIPS_MT_SMP is not set
130# CONFIG_MIPS_MT_SMTC is not set 135# CONFIG_MIPS_MT_SMTC is not set
131CONFIG_CPU_HAS_LLSC=y 136# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
132CONFIG_CPU_HAS_SYNC=y 137CONFIG_CPU_HAS_SYNC=y
133CONFIG_GENERIC_HARDIRQS=y 138CONFIG_GENERIC_HARDIRQS=y
134CONFIG_GENERIC_IRQ_PROBE=y 139CONFIG_GENERIC_IRQ_PROBE=y
@@ -146,9 +151,8 @@ CONFIG_SPLIT_PTLOCK_CPUS=4
146# CONFIG_PHYS_ADDR_T_64BIT is not set 151# CONFIG_PHYS_ADDR_T_64BIT is not set
147CONFIG_ZONE_DMA_FLAG=0 152CONFIG_ZONE_DMA_FLAG=0
148CONFIG_VIRT_TO_BUS=y 153CONFIG_VIRT_TO_BUS=y
149CONFIG_UNEVICTABLE_LRU=y 154# CONFIG_KSM is not set
150CONFIG_HAVE_MLOCK=y 155CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
151CONFIG_HAVE_MLOCKED_PAGE_BIT=y
152CONFIG_TICK_ONESHOT=y 156CONFIG_TICK_ONESHOT=y
153CONFIG_NO_HZ=y 157CONFIG_NO_HZ=y
154# CONFIG_HIGH_RES_TIMERS is not set 158# CONFIG_HIGH_RES_TIMERS is not set
@@ -170,6 +174,7 @@ CONFIG_PREEMPT_NONE=y
170CONFIG_LOCKDEP_SUPPORT=y 174CONFIG_LOCKDEP_SUPPORT=y
171CONFIG_STACKTRACE_SUPPORT=y 175CONFIG_STACKTRACE_SUPPORT=y
172CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 176CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
177CONFIG_CONSTRUCTORS=y
173 178
174# 179#
175# General setup 180# General setup
@@ -189,15 +194,12 @@ CONFIG_LOCALVERSION=""
189# 194#
190# RCU Subsystem 195# RCU Subsystem
191# 196#
192CONFIG_CLASSIC_RCU=y
193# CONFIG_TREE_RCU is not set 197# CONFIG_TREE_RCU is not set
194# CONFIG_PREEMPT_RCU is not set 198# CONFIG_TREE_PREEMPT_RCU is not set
199CONFIG_TINY_RCU=y
195# CONFIG_TREE_RCU_TRACE is not set 200# CONFIG_TREE_RCU_TRACE is not set
196# CONFIG_PREEMPT_RCU_TRACE is not set
197# CONFIG_IKCONFIG is not set 201# CONFIG_IKCONFIG is not set
198CONFIG_LOG_BUF_SHIFT=17 202CONFIG_LOG_BUF_SHIFT=17
199# CONFIG_GROUP_SCHED is not set
200# CONFIG_CGROUPS is not set
201CONFIG_SYSFS_DEPRECATED=y 203CONFIG_SYSFS_DEPRECATED=y
202CONFIG_SYSFS_DEPRECATED_V2=y 204CONFIG_SYSFS_DEPRECATED_V2=y
203# CONFIG_RELAY is not set 205# CONFIG_RELAY is not set
@@ -205,11 +207,11 @@ CONFIG_SYSFS_DEPRECATED_V2=y
205# CONFIG_BLK_DEV_INITRD is not set 207# CONFIG_BLK_DEV_INITRD is not set
206CONFIG_CC_OPTIMIZE_FOR_SIZE=y 208CONFIG_CC_OPTIMIZE_FOR_SIZE=y
207CONFIG_SYSCTL=y 209CONFIG_SYSCTL=y
210CONFIG_ANON_INODES=y
208CONFIG_EMBEDDED=y 211CONFIG_EMBEDDED=y
209CONFIG_SYSCTL_SYSCALL=y 212CONFIG_SYSCTL_SYSCALL=y
210CONFIG_KALLSYMS=y 213CONFIG_KALLSYMS=y
211# CONFIG_KALLSYMS_EXTRA_PASS is not set 214# CONFIG_KALLSYMS_EXTRA_PASS is not set
212# CONFIG_STRIP_ASM_SYMS is not set
213CONFIG_HOTPLUG=y 215CONFIG_HOTPLUG=y
214CONFIG_PRINTK=y 216CONFIG_PRINTK=y
215CONFIG_BUG=y 217CONFIG_BUG=y
@@ -223,6 +225,10 @@ CONFIG_BASE_FULL=y
223# CONFIG_EVENTFD is not set 225# CONFIG_EVENTFD is not set
224# CONFIG_SHMEM is not set 226# CONFIG_SHMEM is not set
225# CONFIG_AIO is not set 227# CONFIG_AIO is not set
228
229#
230# Kernel Performance Events And Counters
231#
226# CONFIG_VM_EVENT_COUNTERS is not set 232# CONFIG_VM_EVENT_COUNTERS is not set
227CONFIG_PCI_QUIRKS=y 233CONFIG_PCI_QUIRKS=y
228# CONFIG_SLUB_DEBUG is not set 234# CONFIG_SLUB_DEBUG is not set
@@ -231,14 +237,17 @@ CONFIG_COMPAT_BRK=y
231CONFIG_SLUB=y 237CONFIG_SLUB=y
232# CONFIG_SLOB is not set 238# CONFIG_SLOB is not set
233# CONFIG_PROFILING is not set 239# CONFIG_PROFILING is not set
234# CONFIG_MARKERS is not set
235CONFIG_HAVE_OPROFILE=y 240CONFIG_HAVE_OPROFILE=y
241
242#
243# GCOV-based kernel profiling
244#
236# CONFIG_SLOW_WORK is not set 245# CONFIG_SLOW_WORK is not set
237# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 246CONFIG_HAVE_GENERIC_DMA_COHERENT=y
238CONFIG_BASE_SMALL=0 247CONFIG_BASE_SMALL=0
239# CONFIG_MODULES is not set 248# CONFIG_MODULES is not set
240CONFIG_BLOCK=y 249CONFIG_BLOCK=y
241# CONFIG_LBD is not set 250CONFIG_LBDAF=y
242# CONFIG_BLK_DEV_BSG is not set 251# CONFIG_BLK_DEV_BSG is not set
243# CONFIG_BLK_DEV_INTEGRITY is not set 252# CONFIG_BLK_DEV_INTEGRITY is not set
244 253
@@ -246,14 +255,41 @@ CONFIG_BLOCK=y
246# IO Schedulers 255# IO Schedulers
247# 256#
248CONFIG_IOSCHED_NOOP=y 257CONFIG_IOSCHED_NOOP=y
249# CONFIG_IOSCHED_AS is not set
250# CONFIG_IOSCHED_DEADLINE is not set 258# CONFIG_IOSCHED_DEADLINE is not set
251# CONFIG_IOSCHED_CFQ is not set 259# CONFIG_IOSCHED_CFQ is not set
252# CONFIG_DEFAULT_AS is not set
253# CONFIG_DEFAULT_DEADLINE is not set 260# CONFIG_DEFAULT_DEADLINE is not set
254# CONFIG_DEFAULT_CFQ is not set 261# CONFIG_DEFAULT_CFQ is not set
255CONFIG_DEFAULT_NOOP=y 262CONFIG_DEFAULT_NOOP=y
256CONFIG_DEFAULT_IOSCHED="noop" 263CONFIG_DEFAULT_IOSCHED="noop"
264# CONFIG_INLINE_SPIN_TRYLOCK is not set
265# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
266# CONFIG_INLINE_SPIN_LOCK is not set
267# CONFIG_INLINE_SPIN_LOCK_BH is not set
268# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
269# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
270CONFIG_INLINE_SPIN_UNLOCK=y
271# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
272CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
273# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
274# CONFIG_INLINE_READ_TRYLOCK is not set
275# CONFIG_INLINE_READ_LOCK is not set
276# CONFIG_INLINE_READ_LOCK_BH is not set
277# CONFIG_INLINE_READ_LOCK_IRQ is not set
278# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
279CONFIG_INLINE_READ_UNLOCK=y
280# CONFIG_INLINE_READ_UNLOCK_BH is not set
281CONFIG_INLINE_READ_UNLOCK_IRQ=y
282# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
283# CONFIG_INLINE_WRITE_TRYLOCK is not set
284# CONFIG_INLINE_WRITE_LOCK is not set
285# CONFIG_INLINE_WRITE_LOCK_BH is not set
286# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
287# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
288CONFIG_INLINE_WRITE_UNLOCK=y
289# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
290CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
291# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
292# CONFIG_MUTEX_SPIN_ON_OWNER is not set
257# CONFIG_FREEZER is not set 293# CONFIG_FREEZER is not set
258 294
259# 295#
@@ -263,15 +299,12 @@ CONFIG_HW_HAS_PCI=y
263CONFIG_PCI=y 299CONFIG_PCI=y
264CONFIG_PCI_DOMAINS=y 300CONFIG_PCI_DOMAINS=y
265# CONFIG_ARCH_SUPPORTS_MSI is not set 301# CONFIG_ARCH_SUPPORTS_MSI is not set
266# CONFIG_PCI_LEGACY is not set
267# CONFIG_PCI_STUB is not set 302# CONFIG_PCI_STUB is not set
268# CONFIG_PCI_IOV is not set 303# CONFIG_PCI_IOV is not set
269CONFIG_MMU=y 304CONFIG_MMU=y
270CONFIG_PCCARD=y 305CONFIG_PCCARD=y
271# CONFIG_PCMCIA_DEBUG is not set
272CONFIG_PCMCIA=y 306CONFIG_PCMCIA=y
273CONFIG_PCMCIA_LOAD_CIS=y 307CONFIG_PCMCIA_LOAD_CIS=y
274CONFIG_PCMCIA_IOCTL=y
275CONFIG_CARDBUS=y 308CONFIG_CARDBUS=y
276 309
277# 310#
@@ -295,6 +328,7 @@ CONFIG_TRAD_SIGNALS=y
295# 328#
296# Power management options 329# Power management options
297# 330#
331CONFIG_ARCH_HIBERNATION_POSSIBLE=y
298CONFIG_ARCH_SUSPEND_POSSIBLE=y 332CONFIG_ARCH_SUSPEND_POSSIBLE=y
299# CONFIG_PM is not set 333# CONFIG_PM is not set
300CONFIG_NET=y 334CONFIG_NET=y
@@ -333,6 +367,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
333# CONFIG_NETFILTER is not set 367# CONFIG_NETFILTER is not set
334# CONFIG_IP_DCCP is not set 368# CONFIG_IP_DCCP is not set
335# CONFIG_IP_SCTP is not set 369# CONFIG_IP_SCTP is not set
370# CONFIG_RDS is not set
336# CONFIG_TIPC is not set 371# CONFIG_TIPC is not set
337# CONFIG_ATM is not set 372# CONFIG_ATM is not set
338# CONFIG_BRIDGE is not set 373# CONFIG_BRIDGE is not set
@@ -347,6 +382,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
347# CONFIG_ECONET is not set 382# CONFIG_ECONET is not set
348# CONFIG_WAN_ROUTER is not set 383# CONFIG_WAN_ROUTER is not set
349# CONFIG_PHONET is not set 384# CONFIG_PHONET is not set
385# CONFIG_IEEE802154 is not set
350# CONFIG_NET_SCHED is not set 386# CONFIG_NET_SCHED is not set
351# CONFIG_DCB is not set 387# CONFIG_DCB is not set
352 388
@@ -359,7 +395,27 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
359# CONFIG_IRDA is not set 395# CONFIG_IRDA is not set
360# CONFIG_BT is not set 396# CONFIG_BT is not set
361# CONFIG_AF_RXRPC is not set 397# CONFIG_AF_RXRPC is not set
362# CONFIG_WIRELESS is not set 398CONFIG_WIRELESS=y
399CONFIG_WEXT_CORE=y
400CONFIG_WEXT_PROC=y
401CONFIG_CFG80211=y
402CONFIG_NL80211_TESTMODE=y
403# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
404# CONFIG_CFG80211_REG_DEBUG is not set
405CONFIG_CFG80211_DEFAULT_PS=y
406# CONFIG_CFG80211_INTERNAL_REGDB is not set
407CONFIG_CFG80211_WEXT=y
408CONFIG_WIRELESS_EXT_SYSFS=y
409# CONFIG_LIB80211 is not set
410CONFIG_MAC80211=y
411# CONFIG_MAC80211_RC_PID is not set
412CONFIG_MAC80211_RC_MINSTREL=y
413# CONFIG_MAC80211_RC_DEFAULT_PID is not set
414CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
415CONFIG_MAC80211_RC_DEFAULT="minstrel"
416# CONFIG_MAC80211_MESH is not set
417CONFIG_MAC80211_LEDS=y
418# CONFIG_MAC80211_DEBUG_MENU is not set
363# CONFIG_WIMAX is not set 419# CONFIG_WIMAX is not set
364# CONFIG_RFKILL is not set 420# CONFIG_RFKILL is not set
365# CONFIG_NET_9P is not set 421# CONFIG_NET_9P is not set
@@ -471,6 +527,7 @@ CONFIG_HAVE_IDE=y
471# 527#
472# SCSI device support 528# SCSI device support
473# 529#
530CONFIG_SCSI_MOD=y
474# CONFIG_RAID_ATTRS is not set 531# CONFIG_RAID_ATTRS is not set
475# CONFIG_SCSI is not set 532# CONFIG_SCSI is not set
476# CONFIG_SCSI_DMA is not set 533# CONFIG_SCSI_DMA is not set
@@ -484,13 +541,16 @@ CONFIG_HAVE_IDE=y
484# 541#
485 542
486# 543#
487# Enable only one of the two stacks, unless you know what you are doing 544# You can enable one or both FireWire driver stacks.
545#
546
547#
548# The newer stack is recommended.
488# 549#
489# CONFIG_FIREWIRE is not set 550# CONFIG_FIREWIRE is not set
490# CONFIG_IEEE1394 is not set 551# CONFIG_IEEE1394 is not set
491# CONFIG_I2O is not set 552# CONFIG_I2O is not set
492CONFIG_NETDEVICES=y 553CONFIG_NETDEVICES=y
493CONFIG_COMPAT_NET_DEV_OPS=y
494# CONFIG_DUMMY is not set 554# CONFIG_DUMMY is not set
495# CONFIG_BONDING is not set 555# CONFIG_BONDING is not set
496# CONFIG_MACVLAN is not set 556# CONFIG_MACVLAN is not set
@@ -529,6 +589,7 @@ CONFIG_MII=y
529# CONFIG_SMC91X is not set 589# CONFIG_SMC91X is not set
530# CONFIG_DM9000 is not set 590# CONFIG_DM9000 is not set
531# CONFIG_ETHOC is not set 591# CONFIG_ETHOC is not set
592# CONFIG_SMSC911X is not set
532# CONFIG_DNET is not set 593# CONFIG_DNET is not set
533# CONFIG_NET_TULIP is not set 594# CONFIG_NET_TULIP is not set
534# CONFIG_HP100 is not set 595# CONFIG_HP100 is not set
@@ -541,17 +602,48 @@ CONFIG_MII=y
541# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set 602# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
542# CONFIG_NET_PCI is not set 603# CONFIG_NET_PCI is not set
543# CONFIG_B44 is not set 604# CONFIG_B44 is not set
605# CONFIG_KS8842 is not set
606# CONFIG_KS8851_MLL is not set
544# CONFIG_ATL2 is not set 607# CONFIG_ATL2 is not set
545CONFIG_BCM63XX_ENET=y 608CONFIG_BCM63XX_ENET=y
546# CONFIG_NETDEV_1000 is not set 609# CONFIG_NETDEV_1000 is not set
547# CONFIG_NETDEV_10000 is not set 610# CONFIG_NETDEV_10000 is not set
548# CONFIG_TR is not set 611# CONFIG_TR is not set
549 612CONFIG_WLAN=y
550# 613# CONFIG_PCMCIA_RAYCS is not set
551# Wireless LAN 614# CONFIG_LIBERTAS_THINFIRM is not set
552# 615# CONFIG_ATMEL is not set
553# CONFIG_WLAN_PRE80211 is not set 616# CONFIG_AT76C50X_USB is not set
554# CONFIG_WLAN_80211 is not set 617# CONFIG_AIRO_CS is not set
618# CONFIG_PCMCIA_WL3501 is not set
619# CONFIG_PRISM54 is not set
620# CONFIG_USB_ZD1201 is not set
621# CONFIG_USB_NET_RNDIS_WLAN is not set
622# CONFIG_RTL8180 is not set
623# CONFIG_RTL8187 is not set
624# CONFIG_ADM8211 is not set
625# CONFIG_MAC80211_HWSIM is not set
626# CONFIG_MWL8K is not set
627# CONFIG_ATH_COMMON is not set
628CONFIG_B43=y
629CONFIG_B43_PCI_AUTOSELECT=y
630CONFIG_B43_PCICORE_AUTOSELECT=y
631# CONFIG_B43_PCMCIA is not set
632CONFIG_B43_PIO=y
633# CONFIG_B43_PHY_LP is not set
634CONFIG_B43_LEDS=y
635# CONFIG_B43_DEBUG is not set
636# CONFIG_B43LEGACY is not set
637# CONFIG_HOSTAP is not set
638# CONFIG_IPW2100 is not set
639# CONFIG_IPW2200 is not set
640# CONFIG_IWLWIFI is not set
641# CONFIG_LIBERTAS is not set
642# CONFIG_HERMES is not set
643# CONFIG_P54_COMMON is not set
644# CONFIG_RT2X00 is not set
645# CONFIG_WL12XX is not set
646# CONFIG_ZD1211RW is not set
555 647
556# 648#
557# Enable WiMAX (Networking options) to see the WiMAX drivers 649# Enable WiMAX (Networking options) to see the WiMAX drivers
@@ -574,6 +666,7 @@ CONFIG_BCM63XX_ENET=y
574# CONFIG_NETCONSOLE is not set 666# CONFIG_NETCONSOLE is not set
575# CONFIG_NETPOLL is not set 667# CONFIG_NETPOLL is not set
576# CONFIG_NET_POLL_CONTROLLER is not set 668# CONFIG_NET_POLL_CONTROLLER is not set
669# CONFIG_VMXNET3 is not set
577# CONFIG_ISDN is not set 670# CONFIG_ISDN is not set
578# CONFIG_PHONE is not set 671# CONFIG_PHONE is not set
579 672
@@ -607,6 +700,7 @@ CONFIG_BCM63XX_ENET=y
607CONFIG_SERIAL_CORE=y 700CONFIG_SERIAL_CORE=y
608CONFIG_SERIAL_CORE_CONSOLE=y 701CONFIG_SERIAL_CORE_CONSOLE=y
609# CONFIG_SERIAL_JSM is not set 702# CONFIG_SERIAL_JSM is not set
703# CONFIG_SERIAL_TIMBERDALE is not set
610CONFIG_SERIAL_BCM63XX=y 704CONFIG_SERIAL_BCM63XX=y
611CONFIG_SERIAL_BCM63XX_CONSOLE=y 705CONFIG_SERIAL_BCM63XX_CONSOLE=y
612# CONFIG_UNIX98_PTYS is not set 706# CONFIG_UNIX98_PTYS is not set
@@ -629,6 +723,11 @@ CONFIG_LEGACY_PTY_COUNT=256
629CONFIG_DEVPORT=y 723CONFIG_DEVPORT=y
630# CONFIG_I2C is not set 724# CONFIG_I2C is not set
631# CONFIG_SPI is not set 725# CONFIG_SPI is not set
726
727#
728# PPS support
729#
730# CONFIG_PPS is not set
632CONFIG_ARCH_REQUIRE_GPIOLIB=y 731CONFIG_ARCH_REQUIRE_GPIOLIB=y
633CONFIG_GPIOLIB=y 732CONFIG_GPIOLIB=y
634# CONFIG_GPIO_SYSFS is not set 733# CONFIG_GPIO_SYSFS is not set
@@ -636,6 +735,8 @@ CONFIG_GPIOLIB=y
636# 735#
637# Memory mapped GPIO expanders: 736# Memory mapped GPIO expanders:
638# 737#
738# CONFIG_GPIO_IT8761E is not set
739# CONFIG_GPIO_SCH is not set
639 740
640# 741#
641# I2C GPIO expanders: 742# I2C GPIO expanders:
@@ -644,16 +745,21 @@ CONFIG_GPIOLIB=y
644# 745#
645# PCI GPIO expanders: 746# PCI GPIO expanders:
646# 747#
748# CONFIG_GPIO_CS5535 is not set
647# CONFIG_GPIO_BT8XX is not set 749# CONFIG_GPIO_BT8XX is not set
750# CONFIG_GPIO_LANGWELL is not set
648 751
649# 752#
650# SPI GPIO expanders: 753# SPI GPIO expanders:
651# 754#
755
756#
757# AC97 GPIO expanders:
758#
652# CONFIG_W1 is not set 759# CONFIG_W1 is not set
653# CONFIG_POWER_SUPPLY is not set 760# CONFIG_POWER_SUPPLY is not set
654# CONFIG_HWMON is not set 761# CONFIG_HWMON is not set
655# CONFIG_THERMAL is not set 762# CONFIG_THERMAL is not set
656# CONFIG_THERMAL_HWMON is not set
657# CONFIG_WATCHDOG is not set 763# CONFIG_WATCHDOG is not set
658CONFIG_SSB_POSSIBLE=y 764CONFIG_SSB_POSSIBLE=y
659 765
@@ -662,15 +768,16 @@ CONFIG_SSB_POSSIBLE=y
662# 768#
663CONFIG_SSB=y 769CONFIG_SSB=y
664CONFIG_SSB_SPROM=y 770CONFIG_SSB_SPROM=y
771CONFIG_SSB_BLOCKIO=y
665CONFIG_SSB_PCIHOST_POSSIBLE=y 772CONFIG_SSB_PCIHOST_POSSIBLE=y
666CONFIG_SSB_PCIHOST=y 773CONFIG_SSB_PCIHOST=y
667# CONFIG_SSB_B43_PCI_BRIDGE is not set 774CONFIG_SSB_B43_PCI_BRIDGE=y
668CONFIG_SSB_PCMCIAHOST_POSSIBLE=y 775CONFIG_SSB_PCMCIAHOST_POSSIBLE=y
669# CONFIG_SSB_PCMCIAHOST is not set 776# CONFIG_SSB_PCMCIAHOST is not set
670# CONFIG_SSB_SILENT is not set 777# CONFIG_SSB_SILENT is not set
671# CONFIG_SSB_DEBUG is not set 778# CONFIG_SSB_DEBUG is not set
672CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y 779CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
673# CONFIG_SSB_DRIVER_PCICORE is not set 780CONFIG_SSB_DRIVER_PCICORE=y
674# CONFIG_SSB_DRIVER_MIPS is not set 781# CONFIG_SSB_DRIVER_MIPS is not set
675 782
676# 783#
@@ -680,27 +787,15 @@ CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
680# CONFIG_MFD_SM501 is not set 787# CONFIG_MFD_SM501 is not set
681# CONFIG_HTC_PASIC3 is not set 788# CONFIG_HTC_PASIC3 is not set
682# CONFIG_MFD_TMIO is not set 789# CONFIG_MFD_TMIO is not set
790# CONFIG_MFD_TIMBERDALE is not set
791# CONFIG_LPC_SCH is not set
683# CONFIG_REGULATOR is not set 792# CONFIG_REGULATOR is not set
684 793# CONFIG_MEDIA_SUPPORT is not set
685#
686# Multimedia devices
687#
688
689#
690# Multimedia core support
691#
692# CONFIG_VIDEO_DEV is not set
693# CONFIG_DVB_CORE is not set
694# CONFIG_VIDEO_MEDIA is not set
695
696#
697# Multimedia drivers
698#
699# CONFIG_DAB is not set
700 794
701# 795#
702# Graphics support 796# Graphics support
703# 797#
798# CONFIG_VGA_ARB is not set
704# CONFIG_DRM is not set 799# CONFIG_DRM is not set
705# CONFIG_VGASTATE is not set 800# CONFIG_VGASTATE is not set
706# CONFIG_VIDEO_OUTPUT_CONTROL is not set 801# CONFIG_VIDEO_OUTPUT_CONTROL is not set
@@ -710,11 +805,7 @@ CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
710# 805#
711# Display device support 806# Display device support
712# 807#
713CONFIG_DISPLAY_SUPPORT=y 808# CONFIG_DISPLAY_SUPPORT is not set
714
715#
716# Display hardware drivers
717#
718# CONFIG_SOUND is not set 809# CONFIG_SOUND is not set
719CONFIG_USB_SUPPORT=y 810CONFIG_USB_SUPPORT=y
720CONFIG_USB_ARCH_HAS_HCD=y 811CONFIG_USB_ARCH_HAS_HCD=y
@@ -741,13 +832,14 @@ CONFIG_USB=y
741# USB Host Controller Drivers 832# USB Host Controller Drivers
742# 833#
743# CONFIG_USB_C67X00_HCD is not set 834# CONFIG_USB_C67X00_HCD is not set
835# CONFIG_USB_XHCI_HCD is not set
744CONFIG_USB_EHCI_HCD=y 836CONFIG_USB_EHCI_HCD=y
745# CONFIG_USB_EHCI_ROOT_HUB_TT is not set 837# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
746# CONFIG_USB_EHCI_TT_NEWSCHED is not set 838# CONFIG_USB_EHCI_TT_NEWSCHED is not set
747CONFIG_USB_EHCI_BIG_ENDIAN_MMIO=y
748# CONFIG_USB_OXU210HP_HCD is not set 839# CONFIG_USB_OXU210HP_HCD is not set
749# CONFIG_USB_ISP116X_HCD is not set 840# CONFIG_USB_ISP116X_HCD is not set
750# CONFIG_USB_ISP1760_HCD is not set 841# CONFIG_USB_ISP1760_HCD is not set
842# CONFIG_USB_ISP1362_HCD is not set
751CONFIG_USB_OHCI_HCD=y 843CONFIG_USB_OHCI_HCD=y
752# CONFIG_USB_OHCI_HCD_SSB is not set 844# CONFIG_USB_OHCI_HCD_SSB is not set
753CONFIG_USB_OHCI_BIG_ENDIAN_DESC=y 845CONFIG_USB_OHCI_BIG_ENDIAN_DESC=y
@@ -796,7 +888,6 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
796# CONFIG_USB_RIO500 is not set 888# CONFIG_USB_RIO500 is not set
797# CONFIG_USB_LEGOTOWER is not set 889# CONFIG_USB_LEGOTOWER is not set
798# CONFIG_USB_LCD is not set 890# CONFIG_USB_LCD is not set
799# CONFIG_USB_BERRY_CHARGE is not set
800# CONFIG_USB_LED is not set 891# CONFIG_USB_LED is not set
801# CONFIG_USB_CYPRESS_CY7C63 is not set 892# CONFIG_USB_CYPRESS_CY7C63 is not set
802# CONFIG_USB_CYTHERM is not set 893# CONFIG_USB_CYTHERM is not set
@@ -807,8 +898,8 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
807# CONFIG_USB_LD is not set 898# CONFIG_USB_LD is not set
808# CONFIG_USB_TRANCEVIBRATOR is not set 899# CONFIG_USB_TRANCEVIBRATOR is not set
809# CONFIG_USB_IOWARRIOR is not set 900# CONFIG_USB_IOWARRIOR is not set
901# CONFIG_USB_TEST is not set
810# CONFIG_USB_ISIGHTFW is not set 902# CONFIG_USB_ISIGHTFW is not set
811# CONFIG_USB_VST is not set
812# CONFIG_USB_GADGET is not set 903# CONFIG_USB_GADGET is not set
813 904
814# 905#
@@ -819,7 +910,29 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
819# CONFIG_UWB is not set 910# CONFIG_UWB is not set
820# CONFIG_MMC is not set 911# CONFIG_MMC is not set
821# CONFIG_MEMSTICK is not set 912# CONFIG_MEMSTICK is not set
822# CONFIG_NEW_LEDS is not set 913CONFIG_NEW_LEDS=y
914CONFIG_LEDS_CLASS=y
915
916#
917# LED drivers
918#
919CONFIG_LEDS_GPIO=y
920CONFIG_LEDS_GPIO_PLATFORM=y
921# CONFIG_LEDS_LT3593 is not set
922CONFIG_LEDS_TRIGGERS=y
923
924#
925# LED Triggers
926#
927CONFIG_LEDS_TRIGGER_TIMER=y
928# CONFIG_LEDS_TRIGGER_HEARTBEAT is not set
929# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
930CONFIG_LEDS_TRIGGER_GPIO=y
931CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
932
933#
934# iptables trigger is under Netfilter config (LED target)
935#
823# CONFIG_ACCESSIBILITY is not set 936# CONFIG_ACCESSIBILITY is not set
824# CONFIG_INFINIBAND is not set 937# CONFIG_INFINIBAND is not set
825CONFIG_RTC_LIB=y 938CONFIG_RTC_LIB=y
@@ -827,6 +940,10 @@ CONFIG_RTC_LIB=y
827# CONFIG_DMADEVICES is not set 940# CONFIG_DMADEVICES is not set
828# CONFIG_AUXDISPLAY is not set 941# CONFIG_AUXDISPLAY is not set
829# CONFIG_UIO is not set 942# CONFIG_UIO is not set
943
944#
945# TI VLYNQ
946#
830# CONFIG_STAGING is not set 947# CONFIG_STAGING is not set
831 948
832# 949#
@@ -838,12 +955,16 @@ CONFIG_RTC_LIB=y
838# CONFIG_REISERFS_FS is not set 955# CONFIG_REISERFS_FS is not set
839# CONFIG_JFS_FS is not set 956# CONFIG_JFS_FS is not set
840# CONFIG_FS_POSIX_ACL is not set 957# CONFIG_FS_POSIX_ACL is not set
841# CONFIG_FILE_LOCKING is not set
842# CONFIG_XFS_FS is not set 958# CONFIG_XFS_FS is not set
959# CONFIG_GFS2_FS is not set
843# CONFIG_OCFS2_FS is not set 960# CONFIG_OCFS2_FS is not set
844# CONFIG_BTRFS_FS is not set 961# CONFIG_BTRFS_FS is not set
962# CONFIG_NILFS2_FS is not set
963# CONFIG_FILE_LOCKING is not set
964CONFIG_FSNOTIFY=y
845# CONFIG_DNOTIFY is not set 965# CONFIG_DNOTIFY is not set
846# CONFIG_INOTIFY is not set 966# CONFIG_INOTIFY is not set
967CONFIG_INOTIFY_USER=y
847# CONFIG_QUOTA is not set 968# CONFIG_QUOTA is not set
848# CONFIG_AUTOFS_FS is not set 969# CONFIG_AUTOFS_FS is not set
849# CONFIG_AUTOFS4_FS is not set 970# CONFIG_AUTOFS4_FS is not set
@@ -875,8 +996,6 @@ CONFIG_PROC_KCORE=y
875CONFIG_PROC_SYSCTL=y 996CONFIG_PROC_SYSCTL=y
876CONFIG_PROC_PAGE_MONITOR=y 997CONFIG_PROC_PAGE_MONITOR=y
877CONFIG_SYSFS=y 998CONFIG_SYSFS=y
878CONFIG_TMPFS=y
879# CONFIG_TMPFS_POSIX_ACL is not set
880# CONFIG_HUGETLB_PAGE is not set 999# CONFIG_HUGETLB_PAGE is not set
881# CONFIG_CONFIGFS_FS is not set 1000# CONFIG_CONFIGFS_FS is not set
882CONFIG_MISC_FILESYSTEMS=y 1001CONFIG_MISC_FILESYSTEMS=y
@@ -888,6 +1007,7 @@ CONFIG_MISC_FILESYSTEMS=y
888# CONFIG_BFS_FS is not set 1007# CONFIG_BFS_FS is not set
889# CONFIG_EFS_FS is not set 1008# CONFIG_EFS_FS is not set
890# CONFIG_JFFS2_FS is not set 1009# CONFIG_JFFS2_FS is not set
1010# CONFIG_LOGFS is not set
891# CONFIG_CRAMFS is not set 1011# CONFIG_CRAMFS is not set
892# CONFIG_SQUASHFS is not set 1012# CONFIG_SQUASHFS is not set
893# CONFIG_VXFS_FS is not set 1013# CONFIG_VXFS_FS is not set
@@ -898,7 +1018,6 @@ CONFIG_MISC_FILESYSTEMS=y
898# CONFIG_ROMFS_FS is not set 1018# CONFIG_ROMFS_FS is not set
899# CONFIG_SYSV_FS is not set 1019# CONFIG_SYSV_FS is not set
900# CONFIG_UFS_FS is not set 1020# CONFIG_UFS_FS is not set
901# CONFIG_NILFS2_FS is not set
902# CONFIG_NETWORK_FILESYSTEMS is not set 1021# CONFIG_NETWORK_FILESYSTEMS is not set
903 1022
904# 1023#
@@ -906,7 +1025,46 @@ CONFIG_MISC_FILESYSTEMS=y
906# 1025#
907# CONFIG_PARTITION_ADVANCED is not set 1026# CONFIG_PARTITION_ADVANCED is not set
908CONFIG_MSDOS_PARTITION=y 1027CONFIG_MSDOS_PARTITION=y
909# CONFIG_NLS is not set 1028CONFIG_NLS=y
1029CONFIG_NLS_DEFAULT="iso8859-1"
1030# CONFIG_NLS_CODEPAGE_437 is not set
1031# CONFIG_NLS_CODEPAGE_737 is not set
1032# CONFIG_NLS_CODEPAGE_775 is not set
1033# CONFIG_NLS_CODEPAGE_850 is not set
1034# CONFIG_NLS_CODEPAGE_852 is not set
1035# CONFIG_NLS_CODEPAGE_855 is not set
1036# CONFIG_NLS_CODEPAGE_857 is not set
1037# CONFIG_NLS_CODEPAGE_860 is not set
1038# CONFIG_NLS_CODEPAGE_861 is not set
1039# CONFIG_NLS_CODEPAGE_862 is not set
1040# CONFIG_NLS_CODEPAGE_863 is not set
1041# CONFIG_NLS_CODEPAGE_864 is not set
1042# CONFIG_NLS_CODEPAGE_865 is not set
1043# CONFIG_NLS_CODEPAGE_866 is not set
1044# CONFIG_NLS_CODEPAGE_869 is not set
1045# CONFIG_NLS_CODEPAGE_936 is not set
1046# CONFIG_NLS_CODEPAGE_950 is not set
1047# CONFIG_NLS_CODEPAGE_932 is not set
1048# CONFIG_NLS_CODEPAGE_949 is not set
1049# CONFIG_NLS_CODEPAGE_874 is not set
1050# CONFIG_NLS_ISO8859_8 is not set
1051# CONFIG_NLS_CODEPAGE_1250 is not set
1052# CONFIG_NLS_CODEPAGE_1251 is not set
1053# CONFIG_NLS_ASCII is not set
1054# CONFIG_NLS_ISO8859_1 is not set
1055# CONFIG_NLS_ISO8859_2 is not set
1056# CONFIG_NLS_ISO8859_3 is not set
1057# CONFIG_NLS_ISO8859_4 is not set
1058# CONFIG_NLS_ISO8859_5 is not set
1059# CONFIG_NLS_ISO8859_6 is not set
1060# CONFIG_NLS_ISO8859_7 is not set
1061# CONFIG_NLS_ISO8859_9 is not set
1062# CONFIG_NLS_ISO8859_13 is not set
1063# CONFIG_NLS_ISO8859_14 is not set
1064# CONFIG_NLS_ISO8859_15 is not set
1065# CONFIG_NLS_KOI8_R is not set
1066# CONFIG_NLS_KOI8_U is not set
1067# CONFIG_NLS_UTF8 is not set
910# CONFIG_DLM is not set 1068# CONFIG_DLM is not set
911 1069
912# 1070#
@@ -918,29 +1076,23 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
918CONFIG_ENABLE_MUST_CHECK=y 1076CONFIG_ENABLE_MUST_CHECK=y
919CONFIG_FRAME_WARN=1024 1077CONFIG_FRAME_WARN=1024
920CONFIG_MAGIC_SYSRQ=y 1078CONFIG_MAGIC_SYSRQ=y
1079# CONFIG_STRIP_ASM_SYMS is not set
921# CONFIG_UNUSED_SYMBOLS is not set 1080# CONFIG_UNUSED_SYMBOLS is not set
922# CONFIG_DEBUG_FS is not set 1081# CONFIG_DEBUG_FS is not set
923# CONFIG_HEADERS_CHECK is not set 1082# CONFIG_HEADERS_CHECK is not set
924# CONFIG_DEBUG_KERNEL is not set 1083# CONFIG_DEBUG_KERNEL is not set
925# CONFIG_DEBUG_MEMORY_INIT is not set 1084# CONFIG_DEBUG_MEMORY_INIT is not set
926# CONFIG_RCU_CPU_STALL_DETECTOR is not set
927CONFIG_SYSCTL_SYSCALL_CHECK=y 1085CONFIG_SYSCTL_SYSCALL_CHECK=y
1086CONFIG_HAVE_FUNCTION_TRACER=y
1087CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
1088CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y
1089CONFIG_HAVE_DYNAMIC_FTRACE=y
1090CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
928CONFIG_TRACING_SUPPORT=y 1091CONFIG_TRACING_SUPPORT=y
929 1092# CONFIG_FTRACE is not set
930#
931# Tracers
932#
933# CONFIG_IRQSOFF_TRACER is not set
934# CONFIG_SCHED_TRACER is not set
935# CONFIG_CONTEXT_SWITCH_TRACER is not set
936# CONFIG_EVENT_TRACER is not set
937# CONFIG_BOOT_TRACER is not set
938# CONFIG_TRACE_BRANCH_PROFILING is not set
939# CONFIG_KMEMTRACE is not set
940# CONFIG_WORKQUEUE_TRACER is not set
941# CONFIG_BLK_DEV_IO_TRACE is not set
942# CONFIG_SAMPLES is not set 1093# CONFIG_SAMPLES is not set
943CONFIG_HAVE_ARCH_KGDB=y 1094CONFIG_HAVE_ARCH_KGDB=y
1095CONFIG_EARLY_PRINTK=y
944CONFIG_CMDLINE_BOOL=y 1096CONFIG_CMDLINE_BOOL=y
945CONFIG_CMDLINE="console=ttyS0,115200" 1097CONFIG_CMDLINE="console=ttyS0,115200"
946# CONFIG_CMDLINE_OVERRIDE is not set 1098# CONFIG_CMDLINE_OVERRIDE is not set
@@ -951,8 +1103,108 @@ CONFIG_CMDLINE="console=ttyS0,115200"
951# CONFIG_KEYS is not set 1103# CONFIG_KEYS is not set
952# CONFIG_SECURITY is not set 1104# CONFIG_SECURITY is not set
953# CONFIG_SECURITYFS is not set 1105# CONFIG_SECURITYFS is not set
954# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1106# CONFIG_DEFAULT_SECURITY_SELINUX is not set
955# CONFIG_CRYPTO is not set 1107# CONFIG_DEFAULT_SECURITY_SMACK is not set
1108# CONFIG_DEFAULT_SECURITY_TOMOYO is not set
1109CONFIG_DEFAULT_SECURITY_DAC=y
1110CONFIG_DEFAULT_SECURITY=""
1111CONFIG_CRYPTO=y
1112
1113#
1114# Crypto core or helper
1115#
1116# CONFIG_CRYPTO_FIPS is not set
1117CONFIG_CRYPTO_ALGAPI=y
1118CONFIG_CRYPTO_ALGAPI2=y
1119CONFIG_CRYPTO_AEAD2=y
1120CONFIG_CRYPTO_BLKCIPHER=y
1121CONFIG_CRYPTO_BLKCIPHER2=y
1122CONFIG_CRYPTO_HASH2=y
1123CONFIG_CRYPTO_RNG=y
1124CONFIG_CRYPTO_RNG2=y
1125CONFIG_CRYPTO_PCOMP=y
1126CONFIG_CRYPTO_MANAGER=y
1127CONFIG_CRYPTO_MANAGER2=y
1128# CONFIG_CRYPTO_GF128MUL is not set
1129# CONFIG_CRYPTO_NULL is not set
1130CONFIG_CRYPTO_WORKQUEUE=y
1131# CONFIG_CRYPTO_CRYPTD is not set
1132# CONFIG_CRYPTO_AUTHENC is not set
1133
1134#
1135# Authenticated Encryption with Associated Data
1136#
1137# CONFIG_CRYPTO_CCM is not set
1138# CONFIG_CRYPTO_GCM is not set
1139# CONFIG_CRYPTO_SEQIV is not set
1140
1141#
1142# Block modes
1143#
1144# CONFIG_CRYPTO_CBC is not set
1145# CONFIG_CRYPTO_CTR is not set
1146# CONFIG_CRYPTO_CTS is not set
1147CONFIG_CRYPTO_ECB=y
1148# CONFIG_CRYPTO_LRW is not set
1149# CONFIG_CRYPTO_PCBC is not set
1150# CONFIG_CRYPTO_XTS is not set
1151
1152#
1153# Hash modes
1154#
1155# CONFIG_CRYPTO_HMAC is not set
1156# CONFIG_CRYPTO_XCBC is not set
1157# CONFIG_CRYPTO_VMAC is not set
1158
1159#
1160# Digest
1161#
1162# CONFIG_CRYPTO_CRC32C is not set
1163# CONFIG_CRYPTO_GHASH is not set
1164# CONFIG_CRYPTO_MD4 is not set
1165# CONFIG_CRYPTO_MD5 is not set
1166# CONFIG_CRYPTO_MICHAEL_MIC is not set
1167# CONFIG_CRYPTO_RMD128 is not set
1168# CONFIG_CRYPTO_RMD160 is not set
1169# CONFIG_CRYPTO_RMD256 is not set
1170# CONFIG_CRYPTO_RMD320 is not set
1171# CONFIG_CRYPTO_SHA1 is not set
1172# CONFIG_CRYPTO_SHA256 is not set
1173# CONFIG_CRYPTO_SHA512 is not set
1174# CONFIG_CRYPTO_TGR192 is not set
1175# CONFIG_CRYPTO_WP512 is not set
1176
1177#
1178# Ciphers
1179#
1180CONFIG_CRYPTO_AES=y
1181# CONFIG_CRYPTO_ANUBIS is not set
1182CONFIG_CRYPTO_ARC4=y
1183# CONFIG_CRYPTO_BLOWFISH is not set
1184# CONFIG_CRYPTO_CAMELLIA is not set
1185# CONFIG_CRYPTO_CAST5 is not set
1186# CONFIG_CRYPTO_CAST6 is not set
1187# CONFIG_CRYPTO_DES is not set
1188# CONFIG_CRYPTO_FCRYPT is not set
1189# CONFIG_CRYPTO_KHAZAD is not set
1190# CONFIG_CRYPTO_SALSA20 is not set
1191# CONFIG_CRYPTO_SEED is not set
1192# CONFIG_CRYPTO_SERPENT is not set
1193# CONFIG_CRYPTO_TEA is not set
1194# CONFIG_CRYPTO_TWOFISH is not set
1195
1196#
1197# Compression
1198#
1199# CONFIG_CRYPTO_DEFLATE is not set
1200# CONFIG_CRYPTO_ZLIB is not set
1201# CONFIG_CRYPTO_LZO is not set
1202
1203#
1204# Random Number Generation
1205#
1206CONFIG_CRYPTO_ANSI_CPRNG=y
1207# CONFIG_CRYPTO_HW is not set
956# CONFIG_BINARY_PRINTF is not set 1208# CONFIG_BINARY_PRINTF is not set
957 1209
958# 1210#
diff --git a/arch/mips/include/asm/atomic.h b/arch/mips/include/asm/atomic.h
index 519197ede08..59dc0c7ef73 100644
--- a/arch/mips/include/asm/atomic.h
+++ b/arch/mips/include/asm/atomic.h
@@ -29,7 +29,7 @@
29 * 29 *
30 * Atomically reads the value of @v. 30 * Atomically reads the value of @v.
31 */ 31 */
32#define atomic_read(v) ((v)->counter) 32#define atomic_read(v) (*(volatile int *)&(v)->counter)
33 33
34/* 34/*
35 * atomic_set - set atomic variable 35 * atomic_set - set atomic variable
@@ -410,7 +410,7 @@ static __inline__ int atomic_add_unless(atomic_t *v, int a, int u)
410 * @v: pointer of type atomic64_t 410 * @v: pointer of type atomic64_t
411 * 411 *
412 */ 412 */
413#define atomic64_read(v) ((v)->counter) 413#define atomic64_read(v) (*(volatile long *)&(v)->counter)
414 414
415/* 415/*
416 * atomic64_set - set atomic variable 416 * atomic64_set - set atomic variable
diff --git a/arch/mips/include/asm/cmpxchg.h b/arch/mips/include/asm/cmpxchg.h
index ed9aaaaf074..2d28017e95d 100644
--- a/arch/mips/include/asm/cmpxchg.h
+++ b/arch/mips/include/asm/cmpxchg.h
@@ -16,7 +16,7 @@
16({ \ 16({ \
17 __typeof(*(m)) __ret; \ 17 __typeof(*(m)) __ret; \
18 \ 18 \
19 if (kernel_uses_llsc && R10000_LLSC_WAR) { \ 19 if (kernel_uses_llsc && R10000_LLSC_WAR) { \
20 __asm__ __volatile__( \ 20 __asm__ __volatile__( \
21 " .set push \n" \ 21 " .set push \n" \
22 " .set noat \n" \ 22 " .set noat \n" \
diff --git a/arch/mips/include/asm/i8253.h b/arch/mips/include/asm/i8253.h
index 032ca73f181..48bb8237299 100644
--- a/arch/mips/include/asm/i8253.h
+++ b/arch/mips/include/asm/i8253.h
@@ -12,7 +12,7 @@
12#define PIT_CH0 0x40 12#define PIT_CH0 0x40
13#define PIT_CH2 0x42 13#define PIT_CH2 0x42
14 14
15extern spinlock_t i8253_lock; 15extern raw_spinlock_t i8253_lock;
16 16
17extern void setup_pit_timer(void); 17extern void setup_pit_timer(void);
18 18
diff --git a/arch/mips/include/asm/mach-loongson/loongson.h b/arch/mips/include/asm/mach-loongson/loongson.h
index 1cf7b1401ee..fcdbe3a4ce1 100644
--- a/arch/mips/include/asm/mach-loongson/loongson.h
+++ b/arch/mips/include/asm/mach-loongson/loongson.h
@@ -307,7 +307,7 @@ extern unsigned long _loongson_addrwincfg_base;
307 */ 307 */
308#define LOONGSON_ADDRWIN_CFG(s, d, w, src, dst, size) do {\ 308#define LOONGSON_ADDRWIN_CFG(s, d, w, src, dst, size) do {\
309 s##_WIN##w##_BASE = (src); \ 309 s##_WIN##w##_BASE = (src); \
310 s##_WIN##w##_MMAP = (src) | ADDRWIN_MAP_DST_##d; \ 310 s##_WIN##w##_MMAP = (dst) | ADDRWIN_MAP_DST_##d; \
311 s##_WIN##w##_MASK = ~(size-1); \ 311 s##_WIN##w##_MASK = ~(size-1); \
312} while (0) 312} while (0)
313 313
diff --git a/arch/mips/include/asm/mipsregs.h b/arch/mips/include/asm/mipsregs.h
index 49382d5e891..c6e3c93ce7c 100644
--- a/arch/mips/include/asm/mipsregs.h
+++ b/arch/mips/include/asm/mipsregs.h
@@ -135,6 +135,12 @@
135#define FPU_CSR_COND7 0x80000000 /* $fcc7 */ 135#define FPU_CSR_COND7 0x80000000 /* $fcc7 */
136 136
137/* 137/*
138 * Bits 18 - 20 of the FPU Status Register will be read as 0,
139 * and should be written as zero.
140 */
141#define FPU_CSR_RSVD 0x001c0000
142
143/*
138 * X the exception cause indicator 144 * X the exception cause indicator
139 * E the exception enable 145 * E the exception enable
140 * S the sticky/flag bit 146 * S the sticky/flag bit
@@ -161,7 +167,8 @@
161#define FPU_CSR_UDF_S 0x00000008 167#define FPU_CSR_UDF_S 0x00000008
162#define FPU_CSR_INE_S 0x00000004 168#define FPU_CSR_INE_S 0x00000004
163 169
164/* rounding mode */ 170/* Bits 0 and 1 of FPU Status Register specify the rounding mode */
171#define FPU_CSR_RM 0x00000003
165#define FPU_CSR_RN 0x0 /* nearest */ 172#define FPU_CSR_RN 0x0 /* nearest */
166#define FPU_CSR_RZ 0x1 /* towards zero */ 173#define FPU_CSR_RZ 0x1 /* towards zero */
167#define FPU_CSR_RU 0x2 /* towards +Infinity */ 174#define FPU_CSR_RU 0x2 /* towards +Infinity */
diff --git a/arch/mips/include/asm/pgtable-64.h b/arch/mips/include/asm/pgtable-64.h
index 26dc69d792a..1be4b0fa30d 100644
--- a/arch/mips/include/asm/pgtable-64.h
+++ b/arch/mips/include/asm/pgtable-64.h
@@ -120,9 +120,14 @@
120#endif 120#endif
121#define FIRST_USER_ADDRESS 0UL 121#define FIRST_USER_ADDRESS 0UL
122 122
123#define VMALLOC_START MAP_BASE 123/*
124 * TLB refill handlers also map the vmalloc area into xuseg. Avoid
125 * the first couple of pages so NULL pointer dereferences will still
126 * reliably trap.
127 */
128#define VMALLOC_START (MAP_BASE + (2 * PAGE_SIZE))
124#define VMALLOC_END \ 129#define VMALLOC_END \
125 (VMALLOC_START + \ 130 (MAP_BASE + \
126 min(PTRS_PER_PGD * PTRS_PER_PMD * PTRS_PER_PTE * PAGE_SIZE, \ 131 min(PTRS_PER_PGD * PTRS_PER_PMD * PTRS_PER_PTE * PAGE_SIZE, \
127 (1UL << cpu_vmbits)) - (1UL << 32)) 132 (1UL << cpu_vmbits)) - (1UL << 32))
128 133
diff --git a/arch/mips/include/asm/ptrace.h b/arch/mips/include/asm/ptrace.h
index ce47118e52b..cdc6a46efd9 100644
--- a/arch/mips/include/asm/ptrace.h
+++ b/arch/mips/include/asm/ptrace.h
@@ -142,9 +142,9 @@ extern int ptrace_set_watch_regs(struct task_struct *child,
142 142
143extern asmlinkage void do_syscall_trace(struct pt_regs *regs, int entryexit); 143extern asmlinkage void do_syscall_trace(struct pt_regs *regs, int entryexit);
144 144
145extern NORET_TYPE void die(const char *, const struct pt_regs *) ATTRIB_NORET; 145extern NORET_TYPE void die(const char *, struct pt_regs *) ATTRIB_NORET;
146 146
147static inline void die_if_kernel(const char *str, const struct pt_regs *regs) 147static inline void die_if_kernel(const char *str, struct pt_regs *regs)
148{ 148{
149 if (unlikely(!user_mode(regs))) 149 if (unlikely(!user_mode(regs)))
150 die(str, regs); 150 die(str, regs);
diff --git a/arch/mips/include/asm/stackframe.h b/arch/mips/include/asm/stackframe.h
index c8419129e77..58730c5ce4b 100644
--- a/arch/mips/include/asm/stackframe.h
+++ b/arch/mips/include/asm/stackframe.h
@@ -121,7 +121,7 @@
121 .endm 121 .endm
122#else 122#else
123 .macro get_saved_sp /* Uniprocessor variation */ 123 .macro get_saved_sp /* Uniprocessor variation */
124#ifdef CONFIG_CPU_LOONGSON2F 124#ifdef CONFIG_CPU_JUMP_WORKAROUNDS
125 /* 125 /*
126 * Clear BTB (branch target buffer), forbid RAS (return address 126 * Clear BTB (branch target buffer), forbid RAS (return address
127 * stack) to workaround the Out-of-order Issue in Loongson2F 127 * stack) to workaround the Out-of-order Issue in Loongson2F
diff --git a/arch/mips/include/asm/uasm.h b/arch/mips/include/asm/uasm.h
index 11a8b525254..697e40c0649 100644
--- a/arch/mips/include/asm/uasm.h
+++ b/arch/mips/include/asm/uasm.h
@@ -167,6 +167,24 @@ static inline void __cpuinit uasm_l##lb(struct uasm_label **lab, u32 *addr) \
167#define uasm_i_ssnop(buf) uasm_i_sll(buf, 0, 0, 1) 167#define uasm_i_ssnop(buf) uasm_i_sll(buf, 0, 0, 1)
168#define uasm_i_ehb(buf) uasm_i_sll(buf, 0, 0, 3) 168#define uasm_i_ehb(buf) uasm_i_sll(buf, 0, 0, 3)
169 169
170static inline void uasm_i_dsrl_safe(u32 **p, unsigned int a1,
171 unsigned int a2, unsigned int a3)
172{
173 if (a3 < 32)
174 uasm_i_dsrl(p, a1, a2, a3);
175 else
176 uasm_i_dsrl32(p, a1, a2, a3 - 32);
177}
178
179static inline void uasm_i_dsll_safe(u32 **p, unsigned int a1,
180 unsigned int a2, unsigned int a3)
181{
182 if (a3 < 32)
183 uasm_i_dsll(p, a1, a2, a3);
184 else
185 uasm_i_dsll32(p, a1, a2, a3 - 32);
186}
187
170/* Handle relocations. */ 188/* Handle relocations. */
171struct uasm_reloc { 189struct uasm_reloc {
172 u32 *addr; 190 u32 *addr;
diff --git a/arch/mips/jazz/setup.c b/arch/mips/jazz/setup.c
index 7043f6b9ff3..0d0f054a02f 100644
--- a/arch/mips/jazz/setup.c
+++ b/arch/mips/jazz/setup.c
@@ -76,15 +76,9 @@ void __init plat_mem_setup(void)
76 76
77#ifdef CONFIG_VT 77#ifdef CONFIG_VT
78 screen_info = (struct screen_info) { 78 screen_info = (struct screen_info) {
79 0, 0, /* orig-x, orig-y */ 79 .orig_video_cols = 160,
80 0, /* unused */ 80 .orig_video_lines = 64,
81 0, /* orig_video_page */ 81 .orig_video_points = 16,
82 0, /* orig_video_mode */
83 160, /* orig_video_cols */
84 0, 0, 0, /* unused, ega_bx, unused */
85 64, /* orig_video_lines */
86 0, /* orig_video_isVGA */
87 16 /* orig_video_points */
88 }; 82 };
89#endif 83#endif
90 84
diff --git a/arch/mips/kernel/i8253.c b/arch/mips/kernel/i8253.c
index ed5c441615e..94794062a17 100644
--- a/arch/mips/kernel/i8253.c
+++ b/arch/mips/kernel/i8253.c
@@ -15,7 +15,7 @@
15#include <asm/io.h> 15#include <asm/io.h>
16#include <asm/time.h> 16#include <asm/time.h>
17 17
18DEFINE_SPINLOCK(i8253_lock); 18DEFINE_RAW_SPINLOCK(i8253_lock);
19EXPORT_SYMBOL(i8253_lock); 19EXPORT_SYMBOL(i8253_lock);
20 20
21/* 21/*
@@ -26,7 +26,7 @@ EXPORT_SYMBOL(i8253_lock);
26static void init_pit_timer(enum clock_event_mode mode, 26static void init_pit_timer(enum clock_event_mode mode,
27 struct clock_event_device *evt) 27 struct clock_event_device *evt)
28{ 28{
29 spin_lock(&i8253_lock); 29 raw_spin_lock(&i8253_lock);
30 30
31 switch(mode) { 31 switch(mode) {
32 case CLOCK_EVT_MODE_PERIODIC: 32 case CLOCK_EVT_MODE_PERIODIC:
@@ -55,7 +55,7 @@ static void init_pit_timer(enum clock_event_mode mode,
55 /* Nothing to do here */ 55 /* Nothing to do here */
56 break; 56 break;
57 } 57 }
58 spin_unlock(&i8253_lock); 58 raw_spin_unlock(&i8253_lock);
59} 59}
60 60
61/* 61/*
@@ -65,10 +65,10 @@ static void init_pit_timer(enum clock_event_mode mode,
65 */ 65 */
66static int pit_next_event(unsigned long delta, struct clock_event_device *evt) 66static int pit_next_event(unsigned long delta, struct clock_event_device *evt)
67{ 67{
68 spin_lock(&i8253_lock); 68 raw_spin_lock(&i8253_lock);
69 outb_p(delta & 0xff , PIT_CH0); /* LSB */ 69 outb_p(delta & 0xff , PIT_CH0); /* LSB */
70 outb(delta >> 8 , PIT_CH0); /* MSB */ 70 outb(delta >> 8 , PIT_CH0); /* MSB */
71 spin_unlock(&i8253_lock); 71 raw_spin_unlock(&i8253_lock);
72 72
73 return 0; 73 return 0;
74} 74}
@@ -137,7 +137,7 @@ static cycle_t pit_read(struct clocksource *cs)
137 static int old_count; 137 static int old_count;
138 static u32 old_jifs; 138 static u32 old_jifs;
139 139
140 spin_lock_irqsave(&i8253_lock, flags); 140 raw_spin_lock_irqsave(&i8253_lock, flags);
141 /* 141 /*
142 * Although our caller may have the read side of xtime_lock, 142 * Although our caller may have the read side of xtime_lock,
143 * this is now a seqlock, and we are cheating in this routine 143 * this is now a seqlock, and we are cheating in this routine
@@ -183,7 +183,7 @@ static cycle_t pit_read(struct clocksource *cs)
183 old_count = count; 183 old_count = count;
184 old_jifs = jifs; 184 old_jifs = jifs;
185 185
186 spin_unlock_irqrestore(&i8253_lock, flags); 186 raw_spin_unlock_irqrestore(&i8253_lock, flags);
187 187
188 count = (LATCH - 1) - count; 188 count = (LATCH - 1) - count;
189 189
diff --git a/arch/mips/kernel/scall64-n32.S b/arch/mips/kernel/scall64-n32.S
index 44337ba0371..a5297e2a353 100644
--- a/arch/mips/kernel/scall64-n32.S
+++ b/arch/mips/kernel/scall64-n32.S
@@ -385,7 +385,7 @@ EXPORT(sysn32_call_table)
385 PTR sys_fchmodat 385 PTR sys_fchmodat
386 PTR sys_faccessat 386 PTR sys_faccessat
387 PTR compat_sys_pselect6 387 PTR compat_sys_pselect6
388 PTR sys_ppoll /* 6265 */ 388 PTR compat_sys_ppoll /* 6265 */
389 PTR sys_unshare 389 PTR sys_unshare
390 PTR sys_splice 390 PTR sys_splice
391 PTR sys_sync_file_range 391 PTR sys_sync_file_range
diff --git a/arch/mips/kernel/traps.c b/arch/mips/kernel/traps.c
index 1a4dd657ccb..d612c6dcb74 100644
--- a/arch/mips/kernel/traps.c
+++ b/arch/mips/kernel/traps.c
@@ -352,9 +352,10 @@ void show_registers(const struct pt_regs *regs)
352 352
353static DEFINE_SPINLOCK(die_lock); 353static DEFINE_SPINLOCK(die_lock);
354 354
355void __noreturn die(const char * str, const struct pt_regs * regs) 355void __noreturn die(const char * str, struct pt_regs * regs)
356{ 356{
357 static int die_counter; 357 static int die_counter;
358 int sig = SIGSEGV;
358#ifdef CONFIG_MIPS_MT_SMTC 359#ifdef CONFIG_MIPS_MT_SMTC
359 unsigned long dvpret = dvpe(); 360 unsigned long dvpret = dvpe();
360#endif /* CONFIG_MIPS_MT_SMTC */ 361#endif /* CONFIG_MIPS_MT_SMTC */
@@ -365,6 +366,10 @@ void __noreturn die(const char * str, const struct pt_regs * regs)
365#ifdef CONFIG_MIPS_MT_SMTC 366#ifdef CONFIG_MIPS_MT_SMTC
366 mips_mt_regdump(dvpret); 367 mips_mt_regdump(dvpret);
367#endif /* CONFIG_MIPS_MT_SMTC */ 368#endif /* CONFIG_MIPS_MT_SMTC */
369
370 if (notify_die(DIE_OOPS, str, regs, 0, current->thread.trap_no, SIGSEGV) == NOTIFY_STOP)
371 sig = 0;
372
368 printk("%s[#%d]:\n", str, ++die_counter); 373 printk("%s[#%d]:\n", str, ++die_counter);
369 show_registers(regs); 374 show_registers(regs);
370 add_taint(TAINT_DIE); 375 add_taint(TAINT_DIE);
@@ -379,7 +384,7 @@ void __noreturn die(const char * str, const struct pt_regs * regs)
379 panic("Fatal exception"); 384 panic("Fatal exception");
380 } 385 }
381 386
382 do_exit(SIGSEGV); 387 do_exit(sig);
383} 388}
384 389
385extern struct exception_table_entry __start___dbe_table[]; 390extern struct exception_table_entry __start___dbe_table[];
@@ -1557,12 +1562,7 @@ static char panic_null_cerr[] __cpuinitdata =
1557void __cpuinit set_uncached_handler(unsigned long offset, void *addr, 1562void __cpuinit set_uncached_handler(unsigned long offset, void *addr,
1558 unsigned long size) 1563 unsigned long size)
1559{ 1564{
1560#ifdef CONFIG_32BIT 1565 unsigned long uncached_ebase = CKSEG1ADDR(ebase);
1561 unsigned long uncached_ebase = KSEG1ADDR(ebase);
1562#endif
1563#ifdef CONFIG_64BIT
1564 unsigned long uncached_ebase = TO_UNCAC(ebase);
1565#endif
1566 1566
1567 if (!addr) 1567 if (!addr)
1568 panic(panic_null_cerr); 1568 panic(panic_null_cerr);
diff --git a/arch/mips/loongson/common/machtype.c b/arch/mips/loongson/common/machtype.c
index 853f184b793..81fbe6b73f9 100644
--- a/arch/mips/loongson/common/machtype.c
+++ b/arch/mips/loongson/common/machtype.c
@@ -24,7 +24,7 @@ static const char *system_types[] = {
24 [MACH_LEMOTE_FL2F] "lemote-fuloong-2f-box", 24 [MACH_LEMOTE_FL2F] "lemote-fuloong-2f-box",
25 [MACH_LEMOTE_ML2F7] "lemote-mengloong-2f-7inches", 25 [MACH_LEMOTE_ML2F7] "lemote-mengloong-2f-7inches",
26 [MACH_LEMOTE_YL2F89] "lemote-yeeloong-2f-8.9inches", 26 [MACH_LEMOTE_YL2F89] "lemote-yeeloong-2f-8.9inches",
27 [MACH_DEXXON_GDIUM2F10] "dexxon-gidum-2f-10inches", 27 [MACH_DEXXON_GDIUM2F10] "dexxon-gdium-2f",
28 [MACH_LEMOTE_NAS] "lemote-nas-2f", 28 [MACH_LEMOTE_NAS] "lemote-nas-2f",
29 [MACH_LEMOTE_LL2F] "lemote-lynloong-2f", 29 [MACH_LEMOTE_LL2F] "lemote-lynloong-2f",
30 [MACH_LOONGSON_END] NULL, 30 [MACH_LOONGSON_END] NULL,
diff --git a/arch/mips/loongson/common/mem.c b/arch/mips/loongson/common/mem.c
index ec2f7964a0b..30eba600120 100644
--- a/arch/mips/loongson/common/mem.c
+++ b/arch/mips/loongson/common/mem.c
@@ -75,7 +75,7 @@ pgprot_t phys_mem_access_prot(struct file *file, unsigned long pfn,
75 unsigned long end = offset + size; 75 unsigned long end = offset + size;
76 76
77 if (__uncached_access(file, offset)) { 77 if (__uncached_access(file, offset)) {
78 if (((uca_start && offset) >= uca_start) && 78 if (uca_start && (offset >= uca_start) &&
79 (end <= uca_end)) 79 (end <= uca_end))
80 return __pgprot((pgprot_val(vma_prot) & 80 return __pgprot((pgprot_val(vma_prot) &
81 ~_CACHE_MASK) | 81 ~_CACHE_MASK) |
@@ -96,7 +96,7 @@ static int __init find_vga_mem_init(void)
96 return 0; 96 return 0;
97 97
98 for_each_pci_dev(dev) { 98 for_each_pci_dev(dev) {
99 if ((dev->class >> 8) == PCI_CLASS_DISPLAY_VGA) { 99 if ((dev->class >> 16) == PCI_BASE_CLASS_DISPLAY) {
100 for (idx = 0; idx < PCI_NUM_RESOURCES; idx++) { 100 for (idx = 0; idx < PCI_NUM_RESOURCES; idx++) {
101 r = &dev->resource[idx]; 101 r = &dev->resource[idx];
102 if (!r->start && r->end) 102 if (!r->start && r->end)
diff --git a/arch/mips/loongson/common/reset.c b/arch/mips/loongson/common/reset.c
index 4bd9c18b07a..9e10d6225d9 100644
--- a/arch/mips/loongson/common/reset.c
+++ b/arch/mips/loongson/common/reset.c
@@ -16,13 +16,31 @@
16 16
17#include <loongson.h> 17#include <loongson.h>
18 18
19static inline void loongson_reboot(void)
20{
21#ifndef CONFIG_CPU_JUMP_WORKAROUNDS
22 ((void (*)(void))ioremap_nocache(LOONGSON_BOOT_BASE, 4)) ();
23#else
24 void (*func)(void);
25
26 func = (void *)ioremap_nocache(LOONGSON_BOOT_BASE, 4);
27
28 __asm__ __volatile__(
29 " .set noat \n"
30 " jr %[func] \n"
31 " .set at \n"
32 : /* No outputs */
33 : [func] "r" (func));
34#endif
35}
36
19static void loongson_restart(char *command) 37static void loongson_restart(char *command)
20{ 38{
21 /* do preparation for reboot */ 39 /* do preparation for reboot */
22 mach_prepare_reboot(); 40 mach_prepare_reboot();
23 41
24 /* reboot via jumping to boot base address */ 42 /* reboot via jumping to boot base address */
25 ((void (*)(void))ioremap_nocache(LOONGSON_BOOT_BASE, 4)) (); 43 loongson_reboot();
26} 44}
27 45
28static void loongson_poweroff(void) 46static void loongson_poweroff(void)
diff --git a/arch/mips/loongson/common/setup.c b/arch/mips/loongson/common/setup.c
index 4cd2aa9a342..27d826bc710 100644
--- a/arch/mips/loongson/common/setup.c
+++ b/arch/mips/loongson/common/setup.c
@@ -41,15 +41,12 @@ void __init plat_mem_setup(void)
41 conswitchp = &vga_con; 41 conswitchp = &vga_con;
42 42
43 screen_info = (struct screen_info) { 43 screen_info = (struct screen_info) {
44 0, 25, /* orig-x, orig-y */ 44 .orig_x = 0,
45 0, /* unused */ 45 .orig_y = 25,
46 0, /* orig-video-page */ 46 .orig_video_cols = 80,
47 0, /* orig-video-mode */ 47 .orig_video_lines = 25,
48 80, /* orig-video-cols */ 48 .orig_video_isVGA = VIDEO_TYPE_VGAC,
49 0, 0, 0, /* ega_ax, ega_bx, ega_cx */ 49 .orig_video_points = 16,
50 25, /* orig-video-lines */
51 VIDEO_TYPE_VGAC, /* orig-video-isVGA */
52 16 /* orig-video-points */
53 }; 50 };
54#elif defined(CONFIG_DUMMY_CONSOLE) 51#elif defined(CONFIG_DUMMY_CONSOLE)
55 conswitchp = &dummy_con; 52 conswitchp = &dummy_con;
diff --git a/arch/mips/loongson/lemote-2f/irq.c b/arch/mips/loongson/lemote-2f/irq.c
index 882dfcd42c0..1d8b4d28a05 100644
--- a/arch/mips/loongson/lemote-2f/irq.c
+++ b/arch/mips/loongson/lemote-2f/irq.c
@@ -79,7 +79,7 @@ void mach_irq_dispatch(unsigned int pending)
79 if (pending & CAUSEF_IP7) 79 if (pending & CAUSEF_IP7)
80 do_IRQ(LOONGSON_TIMER_IRQ); 80 do_IRQ(LOONGSON_TIMER_IRQ);
81 else if (pending & CAUSEF_IP6) { /* North Bridge, Perf counter */ 81 else if (pending & CAUSEF_IP6) { /* North Bridge, Perf counter */
82#ifdef CONFIG_OPROFILE 82#if defined(CONFIG_OPROFILE) || defined(CONFIG_OPROFILE_MODULE)
83 do_IRQ(LOONGSON2_PERFCNT_IRQ); 83 do_IRQ(LOONGSON2_PERFCNT_IRQ);
84#endif 84#endif
85 bonito_irqdispatch(); 85 bonito_irqdispatch();
diff --git a/arch/mips/math-emu/cp1emu.c b/arch/mips/math-emu/cp1emu.c
index 8f2f8e9d8b2..f2338d1c0b4 100644
--- a/arch/mips/math-emu/cp1emu.c
+++ b/arch/mips/math-emu/cp1emu.c
@@ -78,6 +78,9 @@ DEFINE_PER_CPU(struct mips_fpu_emulator_stats, fpuemustats);
78#define FPCREG_RID 0 /* $0 = revision id */ 78#define FPCREG_RID 0 /* $0 = revision id */
79#define FPCREG_CSR 31 /* $31 = csr */ 79#define FPCREG_CSR 31 /* $31 = csr */
80 80
81/* Determine rounding mode from the RM bits of the FCSR */
82#define modeindex(v) ((v) & FPU_CSR_RM)
83
81/* Convert Mips rounding mode (0..3) to IEEE library modes. */ 84/* Convert Mips rounding mode (0..3) to IEEE library modes. */
82static const unsigned char ieee_rm[4] = { 85static const unsigned char ieee_rm[4] = {
83 [FPU_CSR_RN] = IEEE754_RN, 86 [FPU_CSR_RN] = IEEE754_RN,
@@ -384,10 +387,14 @@ static int cop1Emulate(struct pt_regs *xcp, struct mips_fpu_struct *ctx)
384 (void *) (xcp->cp0_epc), 387 (void *) (xcp->cp0_epc),
385 MIPSInst_RT(ir), value); 388 MIPSInst_RT(ir), value);
386#endif 389#endif
387 value &= (FPU_CSR_FLUSH | FPU_CSR_ALL_E | FPU_CSR_ALL_S | 0x03); 390
388 ctx->fcr31 &= ~(FPU_CSR_FLUSH | FPU_CSR_ALL_E | FPU_CSR_ALL_S | 0x03); 391 /*
389 /* convert to ieee library modes */ 392 * Don't write reserved bits,
390 ctx->fcr31 |= (value & ~0x3) | ieee_rm[value & 0x3]; 393 * and convert to ieee library modes
394 */
395 ctx->fcr31 = (value &
396 ~(FPU_CSR_RSVD | FPU_CSR_RM)) |
397 ieee_rm[modeindex(value)];
391 } 398 }
392 if ((ctx->fcr31 >> 5) & ctx->fcr31 & FPU_CSR_ALL_E) { 399 if ((ctx->fcr31 >> 5) & ctx->fcr31 & FPU_CSR_ALL_E) {
393 return SIGFPE; 400 return SIGFPE;
diff --git a/arch/mips/mm/tlbex.c b/arch/mips/mm/tlbex.c
index d1f68aadbc4..86f004dc835 100644
--- a/arch/mips/mm/tlbex.c
+++ b/arch/mips/mm/tlbex.c
@@ -31,6 +31,16 @@
31#include <asm/war.h> 31#include <asm/war.h>
32#include <asm/uasm.h> 32#include <asm/uasm.h>
33 33
34/*
35 * TLB load/store/modify handlers.
36 *
37 * Only the fastpath gets synthesized at runtime, the slowpath for
38 * do_page_fault remains normal asm.
39 */
40extern void tlb_do_page_fault_0(void);
41extern void tlb_do_page_fault_1(void);
42
43
34static inline int r45k_bvahwbug(void) 44static inline int r45k_bvahwbug(void)
35{ 45{
36 /* XXX: We should probe for the presence of this bug, but we don't. */ 46 /* XXX: We should probe for the presence of this bug, but we don't. */
@@ -83,6 +93,7 @@ enum label_id {
83 label_nopage_tlbm, 93 label_nopage_tlbm,
84 label_smp_pgtable_change, 94 label_smp_pgtable_change,
85 label_r3000_write_probe_fail, 95 label_r3000_write_probe_fail,
96 label_large_segbits_fault,
86#ifdef CONFIG_HUGETLB_PAGE 97#ifdef CONFIG_HUGETLB_PAGE
87 label_tlb_huge_update, 98 label_tlb_huge_update,
88#endif 99#endif
@@ -101,6 +112,7 @@ UASM_L_LA(_nopage_tlbs)
101UASM_L_LA(_nopage_tlbm) 112UASM_L_LA(_nopage_tlbm)
102UASM_L_LA(_smp_pgtable_change) 113UASM_L_LA(_smp_pgtable_change)
103UASM_L_LA(_r3000_write_probe_fail) 114UASM_L_LA(_r3000_write_probe_fail)
115UASM_L_LA(_large_segbits_fault)
104#ifdef CONFIG_HUGETLB_PAGE 116#ifdef CONFIG_HUGETLB_PAGE
105UASM_L_LA(_tlb_huge_update) 117UASM_L_LA(_tlb_huge_update)
106#endif 118#endif
@@ -157,6 +169,10 @@ static u32 tlb_handler[128] __cpuinitdata;
157static struct uasm_label labels[128] __cpuinitdata; 169static struct uasm_label labels[128] __cpuinitdata;
158static struct uasm_reloc relocs[128] __cpuinitdata; 170static struct uasm_reloc relocs[128] __cpuinitdata;
159 171
172#ifdef CONFIG_64BIT
173static int check_for_high_segbits __cpuinitdata;
174#endif
175
160#ifndef CONFIG_MIPS_PGD_C0_CONTEXT 176#ifndef CONFIG_MIPS_PGD_C0_CONTEXT
161/* 177/*
162 * CONFIG_MIPS_PGD_C0_CONTEXT implies 64 bit and lack of pgd_current, 178 * CONFIG_MIPS_PGD_C0_CONTEXT implies 64 bit and lack of pgd_current,
@@ -408,7 +424,7 @@ static __cpuinit __maybe_unused void build_convert_pte_to_entrylo(u32 **p,
408 UASM_i_ROTR(p, reg, reg, ilog2(_PAGE_GLOBAL) - ilog2(_PAGE_NO_EXEC)); 424 UASM_i_ROTR(p, reg, reg, ilog2(_PAGE_GLOBAL) - ilog2(_PAGE_NO_EXEC));
409 } else { 425 } else {
410#ifdef CONFIG_64BIT_PHYS_ADDR 426#ifdef CONFIG_64BIT_PHYS_ADDR
411 uasm_i_dsrl(p, reg, reg, ilog2(_PAGE_GLOBAL)); 427 uasm_i_dsrl_safe(p, reg, reg, ilog2(_PAGE_GLOBAL));
412#else 428#else
413 UASM_i_SRL(p, reg, reg, ilog2(_PAGE_GLOBAL)); 429 UASM_i_SRL(p, reg, reg, ilog2(_PAGE_GLOBAL));
414#endif 430#endif
@@ -532,7 +548,24 @@ build_get_pmde64(u32 **p, struct uasm_label **l, struct uasm_reloc **r,
532 * The vmalloc handling is not in the hotpath. 548 * The vmalloc handling is not in the hotpath.
533 */ 549 */
534 uasm_i_dmfc0(p, tmp, C0_BADVADDR); 550 uasm_i_dmfc0(p, tmp, C0_BADVADDR);
535 uasm_il_bltz(p, r, tmp, label_vmalloc); 551
552 if (check_for_high_segbits) {
553 /*
554 * The kernel currently implicitely assumes that the
555 * MIPS SEGBITS parameter for the processor is
556 * (PGDIR_SHIFT+PGDIR_BITS) or less, and will never
557 * allocate virtual addresses outside the maximum
558 * range for SEGBITS = (PGDIR_SHIFT+PGDIR_BITS). But
559 * that doesn't prevent user code from accessing the
560 * higher xuseg addresses. Here, we make sure that
561 * everything but the lower xuseg addresses goes down
562 * the module_alloc/vmalloc path.
563 */
564 uasm_i_dsrl_safe(p, ptr, tmp, PGDIR_SHIFT + PGD_ORDER + PAGE_SHIFT - 3);
565 uasm_il_bnez(p, r, ptr, label_vmalloc);
566 } else {
567 uasm_il_bltz(p, r, tmp, label_vmalloc);
568 }
536 /* No uasm_i_nop needed here, since the next insn doesn't touch TMP. */ 569 /* No uasm_i_nop needed here, since the next insn doesn't touch TMP. */
537 570
538#ifdef CONFIG_MIPS_PGD_C0_CONTEXT 571#ifdef CONFIG_MIPS_PGD_C0_CONTEXT
@@ -549,14 +582,14 @@ build_get_pmde64(u32 **p, struct uasm_label **l, struct uasm_reloc **r,
549 * SMTC uses TCBind value as "CPU" index 582 * SMTC uses TCBind value as "CPU" index
550 */ 583 */
551 uasm_i_mfc0(p, ptr, C0_TCBIND); 584 uasm_i_mfc0(p, ptr, C0_TCBIND);
552 uasm_i_dsrl(p, ptr, ptr, 19); 585 uasm_i_dsrl_safe(p, ptr, ptr, 19);
553# else 586# else
554 /* 587 /*
555 * 64 bit SMP running in XKPHYS has smp_processor_id() << 3 588 * 64 bit SMP running in XKPHYS has smp_processor_id() << 3
556 * stored in CONTEXT. 589 * stored in CONTEXT.
557 */ 590 */
558 uasm_i_dmfc0(p, ptr, C0_CONTEXT); 591 uasm_i_dmfc0(p, ptr, C0_CONTEXT);
559 uasm_i_dsrl(p, ptr, ptr, 23); 592 uasm_i_dsrl_safe(p, ptr, ptr, 23);
560# endif 593# endif
561 UASM_i_LA_mostly(p, tmp, pgdc); 594 UASM_i_LA_mostly(p, tmp, pgdc);
562 uasm_i_daddu(p, ptr, ptr, tmp); 595 uasm_i_daddu(p, ptr, ptr, tmp);
@@ -569,44 +602,78 @@ build_get_pmde64(u32 **p, struct uasm_label **l, struct uasm_reloc **r,
569 602
570 uasm_l_vmalloc_done(l, *p); 603 uasm_l_vmalloc_done(l, *p);
571 604
572 if (PGDIR_SHIFT - 3 < 32) /* get pgd offset in bytes */ 605 /* get pgd offset in bytes */
573 uasm_i_dsrl(p, tmp, tmp, PGDIR_SHIFT-3); 606 uasm_i_dsrl_safe(p, tmp, tmp, PGDIR_SHIFT - 3);
574 else
575 uasm_i_dsrl32(p, tmp, tmp, PGDIR_SHIFT - 3 - 32);
576 607
577 uasm_i_andi(p, tmp, tmp, (PTRS_PER_PGD - 1)<<3); 608 uasm_i_andi(p, tmp, tmp, (PTRS_PER_PGD - 1)<<3);
578 uasm_i_daddu(p, ptr, ptr, tmp); /* add in pgd offset */ 609 uasm_i_daddu(p, ptr, ptr, tmp); /* add in pgd offset */
579#ifndef __PAGETABLE_PMD_FOLDED 610#ifndef __PAGETABLE_PMD_FOLDED
580 uasm_i_dmfc0(p, tmp, C0_BADVADDR); /* get faulting address */ 611 uasm_i_dmfc0(p, tmp, C0_BADVADDR); /* get faulting address */
581 uasm_i_ld(p, ptr, 0, ptr); /* get pmd pointer */ 612 uasm_i_ld(p, ptr, 0, ptr); /* get pmd pointer */
582 uasm_i_dsrl(p, tmp, tmp, PMD_SHIFT-3); /* get pmd offset in bytes */ 613 uasm_i_dsrl_safe(p, tmp, tmp, PMD_SHIFT-3); /* get pmd offset in bytes */
583 uasm_i_andi(p, tmp, tmp, (PTRS_PER_PMD - 1)<<3); 614 uasm_i_andi(p, tmp, tmp, (PTRS_PER_PMD - 1)<<3);
584 uasm_i_daddu(p, ptr, ptr, tmp); /* add in pmd offset */ 615 uasm_i_daddu(p, ptr, ptr, tmp); /* add in pmd offset */
585#endif 616#endif
586} 617}
587 618
619enum vmalloc64_mode {not_refill, refill};
588/* 620/*
589 * BVADDR is the faulting address, PTR is scratch. 621 * BVADDR is the faulting address, PTR is scratch.
590 * PTR will hold the pgd for vmalloc. 622 * PTR will hold the pgd for vmalloc.
591 */ 623 */
592static void __cpuinit 624static void __cpuinit
593build_get_pgd_vmalloc64(u32 **p, struct uasm_label **l, struct uasm_reloc **r, 625build_get_pgd_vmalloc64(u32 **p, struct uasm_label **l, struct uasm_reloc **r,
594 unsigned int bvaddr, unsigned int ptr) 626 unsigned int bvaddr, unsigned int ptr,
627 enum vmalloc64_mode mode)
595{ 628{
596 long swpd = (long)swapper_pg_dir; 629 long swpd = (long)swapper_pg_dir;
630 int single_insn_swpd;
631 int did_vmalloc_branch = 0;
632
633 single_insn_swpd = uasm_in_compat_space_p(swpd) && !uasm_rel_lo(swpd);
597 634
598 uasm_l_vmalloc(l, *p); 635 uasm_l_vmalloc(l, *p);
599 636
600 if (uasm_in_compat_space_p(swpd) && !uasm_rel_lo(swpd)) { 637 if (mode == refill && check_for_high_segbits) {
601 uasm_il_b(p, r, label_vmalloc_done); 638 if (single_insn_swpd) {
602 uasm_i_lui(p, ptr, uasm_rel_hi(swpd)); 639 uasm_il_bltz(p, r, bvaddr, label_vmalloc_done);
603 } else { 640 uasm_i_lui(p, ptr, uasm_rel_hi(swpd));
604 UASM_i_LA_mostly(p, ptr, swpd); 641 did_vmalloc_branch = 1;
605 uasm_il_b(p, r, label_vmalloc_done); 642 /* fall through */
606 if (uasm_in_compat_space_p(swpd)) 643 } else {
607 uasm_i_addiu(p, ptr, ptr, uasm_rel_lo(swpd)); 644 uasm_il_bgez(p, r, bvaddr, label_large_segbits_fault);
608 else 645 }
609 uasm_i_daddiu(p, ptr, ptr, uasm_rel_lo(swpd)); 646 }
647 if (!did_vmalloc_branch) {
648 if (uasm_in_compat_space_p(swpd) && !uasm_rel_lo(swpd)) {
649 uasm_il_b(p, r, label_vmalloc_done);
650 uasm_i_lui(p, ptr, uasm_rel_hi(swpd));
651 } else {
652 UASM_i_LA_mostly(p, ptr, swpd);
653 uasm_il_b(p, r, label_vmalloc_done);
654 if (uasm_in_compat_space_p(swpd))
655 uasm_i_addiu(p, ptr, ptr, uasm_rel_lo(swpd));
656 else
657 uasm_i_daddiu(p, ptr, ptr, uasm_rel_lo(swpd));
658 }
659 }
660 if (mode == refill && check_for_high_segbits) {
661 uasm_l_large_segbits_fault(l, *p);
662 /*
663 * We get here if we are an xsseg address, or if we are
664 * an xuseg address above (PGDIR_SHIFT+PGDIR_BITS) boundary.
665 *
666 * Ignoring xsseg (assume disabled so would generate
667 * (address errors?), the only remaining possibility
668 * is the upper xuseg addresses. On processors with
669 * TLB_SEGBITS <= PGDIR_SHIFT+PGDIR_BITS, these
670 * addresses would have taken an address error. We try
671 * to mimic that here by taking a load/istream page
672 * fault.
673 */
674 UASM_i_LA(p, ptr, (unsigned long)tlb_do_page_fault_0);
675 uasm_i_jr(p, ptr);
676 uasm_i_nop(p);
610 } 677 }
611} 678}
612 679
@@ -720,9 +787,9 @@ static void __cpuinit build_update_entries(u32 **p, unsigned int tmp,
720 UASM_i_MTC0(p, tmp, C0_ENTRYLO0); /* load it */ 787 UASM_i_MTC0(p, tmp, C0_ENTRYLO0); /* load it */
721 UASM_i_ROTR(p, ptep, ptep, ilog2(_PAGE_GLOBAL) - ilog2(_PAGE_NO_EXEC)); 788 UASM_i_ROTR(p, ptep, ptep, ilog2(_PAGE_GLOBAL) - ilog2(_PAGE_NO_EXEC));
722 } else { 789 } else {
723 uasm_i_dsrl(p, tmp, tmp, ilog2(_PAGE_GLOBAL)); /* convert to entrylo0 */ 790 uasm_i_dsrl_safe(p, tmp, tmp, ilog2(_PAGE_GLOBAL)); /* convert to entrylo0 */
724 UASM_i_MTC0(p, tmp, C0_ENTRYLO0); /* load it */ 791 UASM_i_MTC0(p, tmp, C0_ENTRYLO0); /* load it */
725 uasm_i_dsrl(p, ptep, ptep, ilog2(_PAGE_GLOBAL)); /* convert to entrylo1 */ 792 uasm_i_dsrl_safe(p, ptep, ptep, ilog2(_PAGE_GLOBAL)); /* convert to entrylo1 */
726 } 793 }
727 UASM_i_MTC0(p, ptep, C0_ENTRYLO1); /* load it */ 794 UASM_i_MTC0(p, ptep, C0_ENTRYLO1); /* load it */
728 } else { 795 } else {
@@ -793,9 +860,9 @@ static void __cpuinit build_r4000_tlb_refill_handler(void)
793 uasm_i_dmfc0(&p, K0, C0_BADVADDR); 860 uasm_i_dmfc0(&p, K0, C0_BADVADDR);
794 uasm_i_dmfc0(&p, K1, C0_ENTRYHI); 861 uasm_i_dmfc0(&p, K1, C0_ENTRYHI);
795 uasm_i_xor(&p, K0, K0, K1); 862 uasm_i_xor(&p, K0, K0, K1);
796 uasm_i_dsrl32(&p, K1, K0, 62 - 32); 863 uasm_i_dsrl_safe(&p, K1, K0, 62);
797 uasm_i_dsrl(&p, K0, K0, 12 + 1); 864 uasm_i_dsrl_safe(&p, K0, K0, 12 + 1);
798 uasm_i_dsll32(&p, K0, K0, 64 + 12 + 1 - segbits - 32); 865 uasm_i_dsll_safe(&p, K0, K0, 64 + 12 + 1 - segbits);
799 uasm_i_or(&p, K0, K0, K1); 866 uasm_i_or(&p, K0, K0, K1);
800 uasm_il_bnez(&p, &r, K0, label_leave); 867 uasm_il_bnez(&p, &r, K0, label_leave);
801 /* No need for uasm_i_nop */ 868 /* No need for uasm_i_nop */
@@ -825,7 +892,7 @@ static void __cpuinit build_r4000_tlb_refill_handler(void)
825#endif 892#endif
826 893
827#ifdef CONFIG_64BIT 894#ifdef CONFIG_64BIT
828 build_get_pgd_vmalloc64(&p, &l, &r, K0, K1); 895 build_get_pgd_vmalloc64(&p, &l, &r, K0, K1, refill);
829#endif 896#endif
830 897
831 /* 898 /*
@@ -935,15 +1002,6 @@ static void __cpuinit build_r4000_tlb_refill_handler(void)
935} 1002}
936 1003
937/* 1004/*
938 * TLB load/store/modify handlers.
939 *
940 * Only the fastpath gets synthesized at runtime, the slowpath for
941 * do_page_fault remains normal asm.
942 */
943extern void tlb_do_page_fault_0(void);
944extern void tlb_do_page_fault_1(void);
945
946/*
947 * 128 instructions for the fastpath handler is generous and should 1005 * 128 instructions for the fastpath handler is generous and should
948 * never be exceeded. 1006 * never be exceeded.
949 */ 1007 */
@@ -1302,7 +1360,7 @@ build_r4000_tlbchange_handler_tail(u32 **p, struct uasm_label **l,
1302 uasm_i_eret(p); /* return from trap */ 1360 uasm_i_eret(p); /* return from trap */
1303 1361
1304#ifdef CONFIG_64BIT 1362#ifdef CONFIG_64BIT
1305 build_get_pgd_vmalloc64(p, l, r, tmp, ptr); 1363 build_get_pgd_vmalloc64(p, l, r, tmp, ptr, not_refill);
1306#endif 1364#endif
1307} 1365}
1308 1366
@@ -1322,9 +1380,9 @@ static void __cpuinit build_r4000_tlb_load_handler(void)
1322 uasm_i_dmfc0(&p, K0, C0_BADVADDR); 1380 uasm_i_dmfc0(&p, K0, C0_BADVADDR);
1323 uasm_i_dmfc0(&p, K1, C0_ENTRYHI); 1381 uasm_i_dmfc0(&p, K1, C0_ENTRYHI);
1324 uasm_i_xor(&p, K0, K0, K1); 1382 uasm_i_xor(&p, K0, K0, K1);
1325 uasm_i_dsrl32(&p, K1, K0, 62 - 32); 1383 uasm_i_dsrl_safe(&p, K1, K0, 62);
1326 uasm_i_dsrl(&p, K0, K0, 12 + 1); 1384 uasm_i_dsrl_safe(&p, K0, K0, 12 + 1);
1327 uasm_i_dsll32(&p, K0, K0, 64 + 12 + 1 - segbits - 32); 1385 uasm_i_dsll_safe(&p, K0, K0, 64 + 12 + 1 - segbits);
1328 uasm_i_or(&p, K0, K0, K1); 1386 uasm_i_or(&p, K0, K0, K1);
1329 uasm_il_bnez(&p, &r, K0, label_leave); 1387 uasm_il_bnez(&p, &r, K0, label_leave);
1330 /* No need for uasm_i_nop */ 1388 /* No need for uasm_i_nop */
@@ -1526,6 +1584,10 @@ void __cpuinit build_tlb_refill_handler(void)
1526 */ 1584 */
1527 static int run_once = 0; 1585 static int run_once = 0;
1528 1586
1587#ifdef CONFIG_64BIT
1588 check_for_high_segbits = current_cpu_data.vmbits > (PGDIR_SHIFT + PGD_ORDER + PAGE_SHIFT - 3);
1589#endif
1590
1529 switch (current_cpu_type()) { 1591 switch (current_cpu_type()) {
1530 case CPU_R2000: 1592 case CPU_R2000:
1531 case CPU_R3000: 1593 case CPU_R3000:
diff --git a/arch/mips/nxp/pnx8550/common/reset.c b/arch/mips/nxp/pnx8550/common/reset.c
index 76bc3ec634e..fadd8744a6b 100644
--- a/arch/mips/nxp/pnx8550/common/reset.c
+++ b/arch/mips/nxp/pnx8550/common/reset.c
@@ -20,6 +20,8 @@
20 * Reset the PNX8550 board. 20 * Reset the PNX8550 board.
21 * 21 *
22 */ 22 */
23#include <linux/kernel.h>
24
23#include <asm/reboot.h> 25#include <asm/reboot.h>
24#include <glb.h> 26#include <glb.h>
25 27
diff --git a/arch/mips/oprofile/op_model_loongson2.c b/arch/mips/oprofile/op_model_loongson2.c
index 29e2326b625..fa3bf661ae2 100644
--- a/arch/mips/oprofile/op_model_loongson2.c
+++ b/arch/mips/oprofile/op_model_loongson2.c
@@ -122,7 +122,7 @@ static irqreturn_t loongson2_perfcount_handler(int irq, void *dev_id)
122 */ 122 */
123 123
124 /* Check whether the irq belongs to me */ 124 /* Check whether the irq belongs to me */
125 enabled = read_c0_perfcnt() & LOONGSON2_PERFCNT_INT_EN; 125 enabled = read_c0_perfctrl() & LOONGSON2_PERFCNT_INT_EN;
126 if (!enabled) 126 if (!enabled)
127 return IRQ_NONE; 127 return IRQ_NONE;
128 enabled = reg.cnt1_enabled | reg.cnt2_enabled; 128 enabled = reg.cnt1_enabled | reg.cnt2_enabled;
diff --git a/arch/mips/pci/pci-sb1250.c b/arch/mips/pci/pci-sb1250.c
index ada24e6f951..1711e8e101b 100644
--- a/arch/mips/pci/pci-sb1250.c
+++ b/arch/mips/pci/pci-sb1250.c
@@ -37,6 +37,7 @@
37#include <linux/mm.h> 37#include <linux/mm.h>
38#include <linux/console.h> 38#include <linux/console.h>
39#include <linux/tty.h> 39#include <linux/tty.h>
40#include <linux/vt.h>
40 41
41#include <asm/io.h> 42#include <asm/io.h>
42 43
@@ -254,7 +255,7 @@ static int __init sb1250_pcibios_init(void)
254 * XXX ehs: Should this happen in PCI Device mode? 255 * XXX ehs: Should this happen in PCI Device mode?
255 */ 256 */
256 io_map_base = ioremap(A_PHYS_LDTPCI_IO_MATCH_BYTES, 1024 * 1024); 257 io_map_base = ioremap(A_PHYS_LDTPCI_IO_MATCH_BYTES, 1024 * 1024);
257 sb1250_controller.io_map_base = io_map_base; 258 sb1250_controller.io_map_base = (unsigned long)io_map_base;
258 set_io_port_base((unsigned long)io_map_base); 259 set_io_port_base((unsigned long)io_map_base);
259 260
260#ifdef CONFIG_SIBYTE_HAS_LDT 261#ifdef CONFIG_SIBYTE_HAS_LDT
diff --git a/arch/mips/sgi-ip22/ip22-berr.c b/arch/mips/sgi-ip22/ip22-berr.c
index de6a0cc32fe..911d3999c0c 100644
--- a/arch/mips/sgi-ip22/ip22-berr.c
+++ b/arch/mips/sgi-ip22/ip22-berr.c
@@ -89,7 +89,7 @@ static void print_buserr(void)
89void ip22_be_interrupt(int irq) 89void ip22_be_interrupt(int irq)
90{ 90{
91 const int field = 2 * sizeof(unsigned long); 91 const int field = 2 * sizeof(unsigned long);
92 const struct pt_regs *regs = get_irq_regs(); 92 struct pt_regs *regs = get_irq_regs();
93 93
94 save_and_clear_buserr(); 94 save_and_clear_buserr();
95 print_buserr(); 95 print_buserr();
diff --git a/arch/mips/sgi-ip22/ip28-berr.c b/arch/mips/sgi-ip22/ip28-berr.c
index 30e12e2ec4b..88c684e05a3 100644
--- a/arch/mips/sgi-ip22/ip28-berr.c
+++ b/arch/mips/sgi-ip22/ip28-berr.c
@@ -453,7 +453,7 @@ mips_be_fatal:
453 453
454void ip22_be_interrupt(int irq) 454void ip22_be_interrupt(int irq)
455{ 455{
456 const struct pt_regs *regs = get_irq_regs(); 456 struct pt_regs *regs = get_irq_regs();
457 457
458 count_be_interrupt++; 458 count_be_interrupt++;
459 459
diff --git a/arch/mips/sibyte/swarm/setup.c b/arch/mips/sibyte/swarm/setup.c
index 5277aac96b0..c308989fc46 100644
--- a/arch/mips/sibyte/swarm/setup.c
+++ b/arch/mips/sibyte/swarm/setup.c
@@ -145,15 +145,14 @@ void __init plat_mem_setup(void)
145 145
146#ifdef CONFIG_VT 146#ifdef CONFIG_VT
147 screen_info = (struct screen_info) { 147 screen_info = (struct screen_info) {
148 0, 0, /* orig-x, orig-y */ 148 .orig_video_page = 52,
149 0, /* unused */ 149 .orig_video_mode = 3,
150 52, /* orig_video_page */ 150 .orig_video_cols = 80,
151 3, /* orig_video_mode */ 151 .flags = 12,
152 80, /* orig_video_cols */ 152 .orig_video_ega_bx = 3,
153 4626, 3, 9, /* unused, ega_bx, unused */ 153 .orig_video_lines = 25,
154 25, /* orig_video_lines */ 154 .orig_video_isVGA = 0x22,
155 0x22, /* orig_video_isVGA */ 155 .orig_video_points = 16,
156 16 /* orig_video_points */
157 }; 156 };
158 /* XXXKW for CFE, get lines/cols from environment */ 157 /* XXXKW for CFE, get lines/cols from environment */
159#endif 158#endif
diff --git a/arch/mn10300/include/asm/atomic.h b/arch/mn10300/include/asm/atomic.h
index 5bf5be9566d..e41222d6c2f 100644
--- a/arch/mn10300/include/asm/atomic.h
+++ b/arch/mn10300/include/asm/atomic.h
@@ -31,7 +31,7 @@
31 * Atomically reads the value of @v. Note that the guaranteed 31 * Atomically reads the value of @v. Note that the guaranteed
32 * useful range of an atomic_t is only 24 bits. 32 * useful range of an atomic_t is only 24 bits.
33 */ 33 */
34#define atomic_read(v) ((v)->counter) 34#define atomic_read(v) (*(volatile int *)&(v)->counter)
35 35
36/** 36/**
37 * atomic_set - set atomic variable 37 * atomic_set - set atomic variable
diff --git a/arch/parisc/include/asm/atomic.h b/arch/parisc/include/asm/atomic.h
index 716634d1f54..f81955934ae 100644
--- a/arch/parisc/include/asm/atomic.h
+++ b/arch/parisc/include/asm/atomic.h
@@ -189,7 +189,7 @@ static __inline__ void atomic_set(atomic_t *v, int i)
189 189
190static __inline__ int atomic_read(const atomic_t *v) 190static __inline__ int atomic_read(const atomic_t *v)
191{ 191{
192 return v->counter; 192 return (*(volatile int *)&(v)->counter);
193} 193}
194 194
195/* exported interface */ 195/* exported interface */
@@ -286,7 +286,7 @@ atomic64_set(atomic64_t *v, s64 i)
286static __inline__ s64 286static __inline__ s64
287atomic64_read(const atomic64_t *v) 287atomic64_read(const atomic64_t *v)
288{ 288{
289 return v->counter; 289 return (*(volatile long *)&(v)->counter);
290} 290}
291 291
292#define atomic64_add(i,v) ((void)(__atomic64_add_return( ((s64)(i)),(v)))) 292#define atomic64_add(i,v) ((void)(__atomic64_add_return( ((s64)(i)),(v))))
diff --git a/arch/powerpc/configs/83xx/asp8347_defconfig b/arch/powerpc/configs/83xx/asp8347_defconfig
index baa2bbb6c09..04f16268e1c 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
99CONFIG_LOG_BUF_SHIFT=14 99CONFIG_LOG_BUF_SHIFT=14
100CONFIG_GROUP_SCHED=y
101# CONFIG_FAIR_GROUP_SCHED is not set
102# CONFIG_RT_GROUP_SCHED is not set
103CONFIG_USER_SCHED=y
104# CONFIG_CGROUP_SCHED is not set
105# CONFIG_CGROUPS is not set 100# CONFIG_CGROUPS is not set
106CONFIG_SYSFS_DEPRECATED=y 101# CONFIG_SYSFS_DEPRECATED_V2 is not set
107CONFIG_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
110CONFIG_BLK_DEV_INITRD=y 104CONFIG_BLK_DEV_INITRD=y
@@ -112,6 +106,7 @@ CONFIG_INITRAMFS_SOURCE=""
112CONFIG_RD_GZIP=y 106CONFIG_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
116CONFIG_SYSCTL=y 111CONFIG_SYSCTL=y
117CONFIG_ANON_INODES=y 112CONFIG_ANON_INODES=y
@@ -124,7 +119,7 @@ CONFIG_BUG=y
124CONFIG_ELF_CORE=y 119CONFIG_ELF_CORE=y
125CONFIG_BASE_FULL=y 120CONFIG_BASE_FULL=y
126CONFIG_FUTEX=y 121CONFIG_FUTEX=y
127# CONFIG_EPOLL is not set 122CONFIG_EPOLL=y
128CONFIG_SIGNALFD=y 123CONFIG_SIGNALFD=y
129CONFIG_TIMERFD=y 124CONFIG_TIMERFD=y
130CONFIG_EVENTFD=y 125CONFIG_EVENTFD=y
@@ -325,6 +320,7 @@ CONFIG_ISA_DMA_API=y
325# Bus options 320# Bus options
326# 321#
327CONFIG_ZONE_DMA=y 322CONFIG_ZONE_DMA=y
323# CONFIG_NEED_DMA_MAP_STATE is not set
328CONFIG_GENERIC_ISA_DMA=y 324CONFIG_GENERIC_ISA_DMA=y
329CONFIG_PPC_INDIRECT_PCI=y 325CONFIG_PPC_INDIRECT_PCI=y
330CONFIG_FSL_SOC=y 326CONFIG_FSL_SOC=y
@@ -336,7 +332,6 @@ CONFIG_PCI_SYSCALL=y
336# CONFIG_PCIEPORTBUS is not set 332# CONFIG_PCIEPORTBUS is not set
337CONFIG_ARCH_SUPPORTS_MSI=y 333CONFIG_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#
364CONFIG_PACKET=y 359CONFIG_PACKET=y
365# CONFIG_PACKET_MMAP is not set
366CONFIG_UNIX=y 360CONFIG_UNIX=y
367CONFIG_XFRM=y 361CONFIG_XFRM=y
368CONFIG_XFRM_USER=m 362CONFIG_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
540CONFIG_OF_FLATTREE=y
541CONFIG_OF_DYNAMIC=y
546CONFIG_OF_DEVICE=y 542CONFIG_OF_DEVICE=y
547CONFIG_OF_I2C=y 543CONFIG_OF_I2C=y
548CONFIG_OF_MDIO=y 544CONFIG_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#
596CONFIG_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
788CONFIG_SERIAL_CORE_CONSOLE=y 786CONFIG_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
792CONFIG_UNIX98_PTYS=y 791CONFIG_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
836CONFIG_I2C_MPC=y 835CONFIG_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
993CONFIG_VGA_ARB=y 992CONFIG_VGA_ARB=y
993CONFIG_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
996CONFIG_VIDEO_OUTPUT_CONTROL=m 996CONFIG_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
1260CONFIG_JFFS2_RTIME=y 1258CONFIG_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
1285CONFIG_RPCSEC_GSS_KRB5=y 1284CONFIG_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 8b1aa806e54..1843ee11823 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
100CONFIG_LOG_BUF_SHIFT=14 100CONFIG_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#
320CONFIG_ZONE_DMA=y 319CONFIG_ZONE_DMA=y
320# CONFIG_NEED_DMA_MAP_STATE is not set
321CONFIG_GENERIC_ISA_DMA=y 321CONFIG_GENERIC_ISA_DMA=y
322CONFIG_FSL_SOC=y 322CONFIG_FSL_SOC=y
323CONFIG_PPC_PCI_CHOICE=y 323CONFIG_PPC_PCI_CHOICE=y
@@ -346,7 +346,6 @@ CONFIG_NET=y
346# Networking options 346# Networking options
347# 347#
348CONFIG_PACKET=y 348CONFIG_PACKET=y
349# CONFIG_PACKET_MMAP is not set
350CONFIG_UNIX=y 349CONFIG_UNIX=y
351# CONFIG_NET_KEY is not set 350# CONFIG_NET_KEY is not set
352CONFIG_INET=y 351CONFIG_INET=y
@@ -387,6 +386,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
387# CONFIG_ATM is not set 386# CONFIG_ATM is not set
388CONFIG_STP=m 387CONFIG_STP=m
389CONFIG_BRIDGE=m 388CONFIG_BRIDGE=m
389CONFIG_BRIDGE_IGMP_SNOOPING=y
390# CONFIG_NET_DSA is not set 390# CONFIG_NET_DSA is not set
391CONFIG_VLAN_8021Q=y 391CONFIG_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
542CONFIG_OF_FLATTREE=y
543CONFIG_OF_DYNAMIC=y
542CONFIG_OF_DEVICE=y 544CONFIG_OF_DEVICE=y
543CONFIG_OF_I2C=y 545CONFIG_OF_I2C=y
544CONFIG_OF_MDIO=y 546CONFIG_OF_MDIO=y
@@ -563,6 +565,7 @@ CONFIG_HAVE_IDE=y
563# 565#
564# SCSI device support 566# SCSI device support
565# 567#
568CONFIG_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
690CONFIG_SERIAL_CORE_CONSOLE=y 693CONFIG_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
694CONFIG_UNIX98_PTYS=y 698CONFIG_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
720CONFIG_I2C_MPC=y 724CONFIG_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
805CONFIG_UIO=y 806CONFIG_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
887CONFIG_JFFS2_RTIME=y 886CONFIG_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
976CONFIG_DEBUG_BUGVERBOSE=y 977CONFIG_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
980CONFIG_SYSCTL_SYSCALL_CHECK=y 982CONFIG_SYSCTL_SYSCALL_CHECK=y
981CONFIG_HAVE_FUNCTION_TRACER=y 983CONFIG_HAVE_FUNCTION_TRACER=y
diff --git a/arch/powerpc/configs/83xx/mpc8313_rdb_defconfig b/arch/powerpc/configs/83xx/mpc8313_rdb_defconfig
index 2f2d98558e4..78ae3bf1e9c 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
98CONFIG_LOG_BUF_SHIFT=14 98CONFIG_LOG_BUF_SHIFT=14
99CONFIG_GROUP_SCHED=y
100# CONFIG_FAIR_GROUP_SCHED is not set
101# CONFIG_RT_GROUP_SCHED is not set
102CONFIG_USER_SCHED=y
103# CONFIG_CGROUP_SCHED is not set
104# CONFIG_CGROUPS is not set 99# CONFIG_CGROUPS is not set
105CONFIG_SYSFS_DEPRECATED=y 100# CONFIG_SYSFS_DEPRECATED_V2 is not set
106CONFIG_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
109CONFIG_BLK_DEV_INITRD=y 103CONFIG_BLK_DEV_INITRD=y
@@ -111,6 +105,7 @@ CONFIG_INITRAMFS_SOURCE=""
111CONFIG_RD_GZIP=y 105CONFIG_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
115CONFIG_SYSCTL=y 110CONFIG_SYSCTL=y
116CONFIG_ANON_INODES=y 111CONFIG_ANON_INODES=y
@@ -123,7 +118,7 @@ CONFIG_BUG=y
123CONFIG_ELF_CORE=y 118CONFIG_ELF_CORE=y
124CONFIG_BASE_FULL=y 119CONFIG_BASE_FULL=y
125CONFIG_FUTEX=y 120CONFIG_FUTEX=y
126# CONFIG_EPOLL is not set 121CONFIG_EPOLL=y
127CONFIG_SIGNALFD=y 122CONFIG_SIGNALFD=y
128CONFIG_TIMERFD=y 123CONFIG_TIMERFD=y
129CONFIG_EVENTFD=y 124CONFIG_EVENTFD=y
@@ -324,6 +319,7 @@ CONFIG_ISA_DMA_API=y
324# Bus options 319# Bus options
325# 320#
326CONFIG_ZONE_DMA=y 321CONFIG_ZONE_DMA=y
322# CONFIG_NEED_DMA_MAP_STATE is not set
327CONFIG_GENERIC_ISA_DMA=y 323CONFIG_GENERIC_ISA_DMA=y
328CONFIG_PPC_INDIRECT_PCI=y 324CONFIG_PPC_INDIRECT_PCI=y
329CONFIG_FSL_SOC=y 325CONFIG_FSL_SOC=y
@@ -335,7 +331,6 @@ CONFIG_PCI_SYSCALL=y
335# CONFIG_PCIEPORTBUS is not set 331# CONFIG_PCIEPORTBUS is not set
336CONFIG_ARCH_SUPPORTS_MSI=y 332CONFIG_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#
364CONFIG_PACKET=y 359CONFIG_PACKET=y
365# CONFIG_PACKET_MMAP is not set
366CONFIG_UNIX=y 360CONFIG_UNIX=y
367CONFIG_XFRM=y 361CONFIG_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
553CONFIG_OF_FLATTREE=y
554CONFIG_OF_DYNAMIC=y
559CONFIG_OF_DEVICE=y 555CONFIG_OF_DEVICE=y
560CONFIG_OF_I2C=y 556CONFIG_OF_I2C=y
561CONFIG_OF_SPI=y 557CONFIG_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#
612CONFIG_SCSI_MOD=y
615# CONFIG_RAID_ATTRS is not set 613# CONFIG_RAID_ATTRS is not set
616CONFIG_SCSI=y 614CONFIG_SCSI=y
617CONFIG_SCSI_DMA=y 615CONFIG_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
777CONFIG_E100=y 776CONFIG_E100=y
@@ -824,6 +823,8 @@ CONFIG_NETDEV_10000=y
824# CONFIG_CHELSIO_T1 is not set 823# CONFIG_CHELSIO_T1 is not set
825CONFIG_CHELSIO_T3_DEPENDS=y 824CONFIG_CHELSIO_T3_DEPENDS=y
826# CONFIG_CHELSIO_T3 is not set 825# CONFIG_CHELSIO_T3 is not set
826CONFIG_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
931CONFIG_SERIAL_CORE_CONSOLE=y 933CONFIG_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
935CONFIG_UNIX98_PTYS=y 938CONFIG_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
980CONFIG_I2C_MPC=y 983CONFIG_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
1005CONFIG_SPI=y 1003CONFIG_SPI=y
1006# CONFIG_SPI_DEBUG is not set 1004# CONFIG_SPI_DEBUG is not set
1007CONFIG_SPI_MASTER=y 1005CONFIG_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
1159CONFIG_VGA_ARB=y 1162CONFIG_VGA_ARB=y
1163CONFIG_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
1162CONFIG_VIDEO_OUTPUT_CONTROL=m 1166CONFIG_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
1306CONFIG_USB_GADGET=y 1308CONFIG_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
1512CONFIG_JFFS2_RTIME=y 1515CONFIG_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
1537CONFIG_RPCSEC_GSS_KRB5=y 1541CONFIG_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 633e6119460..cccb71393ac 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
98CONFIG_LOG_BUF_SHIFT=14 98CONFIG_LOG_BUF_SHIFT=14
99CONFIG_GROUP_SCHED=y
100# CONFIG_FAIR_GROUP_SCHED is not set
101# CONFIG_RT_GROUP_SCHED is not set
102CONFIG_USER_SCHED=y
103# CONFIG_CGROUP_SCHED is not set
104# CONFIG_CGROUPS is not set 99# CONFIG_CGROUPS is not set
105CONFIG_SYSFS_DEPRECATED=y 100# CONFIG_SYSFS_DEPRECATED_V2 is not set
106CONFIG_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
109CONFIG_BLK_DEV_INITRD=y 103CONFIG_BLK_DEV_INITRD=y
@@ -111,6 +105,7 @@ CONFIG_INITRAMFS_SOURCE=""
111CONFIG_RD_GZIP=y 105CONFIG_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
115CONFIG_SYSCTL=y 110CONFIG_SYSCTL=y
116CONFIG_ANON_INODES=y 111CONFIG_ANON_INODES=y
@@ -123,7 +118,7 @@ CONFIG_BUG=y
123CONFIG_ELF_CORE=y 118CONFIG_ELF_CORE=y
124CONFIG_BASE_FULL=y 119CONFIG_BASE_FULL=y
125CONFIG_FUTEX=y 120CONFIG_FUTEX=y
126# CONFIG_EPOLL is not set 121CONFIG_EPOLL=y
127CONFIG_SIGNALFD=y 122CONFIG_SIGNALFD=y
128CONFIG_TIMERFD=y 123CONFIG_TIMERFD=y
129CONFIG_EVENTFD=y 124CONFIG_EVENTFD=y
@@ -324,6 +319,7 @@ CONFIG_ISA_DMA_API=y
324# Bus options 319# Bus options
325# 320#
326CONFIG_ZONE_DMA=y 321CONFIG_ZONE_DMA=y
322# CONFIG_NEED_DMA_MAP_STATE is not set
327CONFIG_GENERIC_ISA_DMA=y 323CONFIG_GENERIC_ISA_DMA=y
328CONFIG_PPC_INDIRECT_PCI=y 324CONFIG_PPC_INDIRECT_PCI=y
329CONFIG_FSL_SOC=y 325CONFIG_FSL_SOC=y
@@ -335,7 +331,6 @@ CONFIG_PCI_SYSCALL=y
335# CONFIG_PCIEPORTBUS is not set 331# CONFIG_PCIEPORTBUS is not set
336CONFIG_ARCH_SUPPORTS_MSI=y 332CONFIG_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#
364CONFIG_PACKET=y 359CONFIG_PACKET=y
365# CONFIG_PACKET_MMAP is not set
366CONFIG_UNIX=y 360CONFIG_UNIX=y
367CONFIG_XFRM=y 361CONFIG_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
553CONFIG_OF_FLATTREE=y
554CONFIG_OF_DYNAMIC=y
559CONFIG_OF_DEVICE=y 555CONFIG_OF_DEVICE=y
560CONFIG_OF_I2C=y 556CONFIG_OF_I2C=y
561CONFIG_OF_SPI=y 557CONFIG_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#
612CONFIG_SCSI_MOD=y
615# CONFIG_RAID_ATTRS is not set 613# CONFIG_RAID_ATTRS is not set
616CONFIG_SCSI=y 614CONFIG_SCSI=y
617CONFIG_SCSI_DMA=y 615CONFIG_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
842CONFIG_E100=y 842CONFIG_E100=y
@@ -889,6 +889,8 @@ CONFIG_NETDEV_10000=y
889# CONFIG_CHELSIO_T1 is not set 889# CONFIG_CHELSIO_T1 is not set
890CONFIG_CHELSIO_T3_DEPENDS=y 890CONFIG_CHELSIO_T3_DEPENDS=y
891# CONFIG_CHELSIO_T3 is not set 891# CONFIG_CHELSIO_T3 is not set
892CONFIG_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
996CONFIG_SERIAL_CORE_CONSOLE=y 999CONFIG_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
1000CONFIG_UNIX98_PTYS=y 1004CONFIG_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
1045CONFIG_I2C_MPC=y 1049CONFIG_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
1070CONFIG_SPI=y 1069CONFIG_SPI=y
1071# CONFIG_SPI_DEBUG is not set 1070# CONFIG_SPI_DEBUG is not set
1072CONFIG_SPI_MASTER=y 1071CONFIG_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
1224CONFIG_VGA_ARB=y 1228CONFIG_VGA_ARB=y
1229CONFIG_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
1227CONFIG_VIDEO_OUTPUT_CONTROL=m 1232CONFIG_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
1371CONFIG_USB_GADGET=y 1374CONFIG_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
1577CONFIG_JFFS2_RTIME=y 1581CONFIG_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
1602CONFIG_RPCSEC_GSS_KRB5=y 1607CONFIG_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 0b4262bd491..74cb27aa9d1 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
98CONFIG_LOG_BUF_SHIFT=14 98CONFIG_LOG_BUF_SHIFT=14
99CONFIG_GROUP_SCHED=y
100# CONFIG_FAIR_GROUP_SCHED is not set
101# CONFIG_RT_GROUP_SCHED is not set
102CONFIG_USER_SCHED=y
103# CONFIG_CGROUP_SCHED is not set
104# CONFIG_CGROUPS is not set 99# CONFIG_CGROUPS is not set
105CONFIG_SYSFS_DEPRECATED=y 100# CONFIG_SYSFS_DEPRECATED_V2 is not set
106CONFIG_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
109CONFIG_BLK_DEV_INITRD=y 103CONFIG_BLK_DEV_INITRD=y
@@ -111,6 +105,7 @@ CONFIG_INITRAMFS_SOURCE=""
111CONFIG_RD_GZIP=y 105CONFIG_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
115CONFIG_SYSCTL=y 110CONFIG_SYSCTL=y
116CONFIG_ANON_INODES=y 111CONFIG_ANON_INODES=y
@@ -123,7 +118,7 @@ CONFIG_BUG=y
123CONFIG_ELF_CORE=y 118CONFIG_ELF_CORE=y
124CONFIG_BASE_FULL=y 119CONFIG_BASE_FULL=y
125CONFIG_FUTEX=y 120CONFIG_FUTEX=y
126# CONFIG_EPOLL is not set 121CONFIG_EPOLL=y
127CONFIG_SIGNALFD=y 122CONFIG_SIGNALFD=y
128CONFIG_TIMERFD=y 123CONFIG_TIMERFD=y
129CONFIG_EVENTFD=y 124CONFIG_EVENTFD=y
@@ -325,6 +320,7 @@ CONFIG_ISA_DMA_API=y
325# Bus options 320# Bus options
326# 321#
327CONFIG_ZONE_DMA=y 322CONFIG_ZONE_DMA=y
323# CONFIG_NEED_DMA_MAP_STATE is not set
328CONFIG_GENERIC_ISA_DMA=y 324CONFIG_GENERIC_ISA_DMA=y
329CONFIG_PPC_INDIRECT_PCI=y 325CONFIG_PPC_INDIRECT_PCI=y
330CONFIG_FSL_SOC=y 326CONFIG_FSL_SOC=y
@@ -336,7 +332,6 @@ CONFIG_PCI_SYSCALL=y
336# CONFIG_PCIEPORTBUS is not set 332# CONFIG_PCIEPORTBUS is not set
337CONFIG_ARCH_SUPPORTS_MSI=y 333CONFIG_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#
364CONFIG_PACKET=y 359CONFIG_PACKET=y
365# CONFIG_PACKET_MMAP is not set
366CONFIG_UNIX=y 360CONFIG_UNIX=y
367CONFIG_XFRM=y 361CONFIG_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
454CONFIG_OF_FLATTREE=y
455CONFIG_OF_DYNAMIC=y
460CONFIG_OF_DEVICE=y 456CONFIG_OF_DEVICE=y
461CONFIG_OF_I2C=y 457CONFIG_OF_I2C=y
462CONFIG_OF_MDIO=y 458CONFIG_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#
509CONFIG_SCSI_MOD=y
512# CONFIG_RAID_ATTRS is not set 510# CONFIG_RAID_ATTRS is not set
513CONFIG_SCSI=y 511CONFIG_SCSI=y
514CONFIG_SCSI_DMA=y 512CONFIG_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
694CONFIG_CHELSIO_T3_DEPENDS=y 692CONFIG_CHELSIO_T3_DEPENDS=y
695# CONFIG_CHELSIO_T3 is not set 693# CONFIG_CHELSIO_T3 is not set
694CONFIG_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
794CONFIG_UNIX98_PTYS=y 796CONFIG_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
839CONFIG_I2C_MPC=y 841CONFIG_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
989CONFIG_VGA_ARB=y 991CONFIG_VGA_ARB=y
992CONFIG_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
992CONFIG_VIDEO_OUTPUT_CONTROL=m 995CONFIG_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
1197CONFIG_RPCSEC_GSS_KRB5=y 1201CONFIG_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 155af009f7b..10412a9c7f9 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
98CONFIG_LOG_BUF_SHIFT=14 98CONFIG_LOG_BUF_SHIFT=14
99CONFIG_GROUP_SCHED=y
100# CONFIG_FAIR_GROUP_SCHED is not set
101# CONFIG_RT_GROUP_SCHED is not set
102CONFIG_USER_SCHED=y
103# CONFIG_CGROUP_SCHED is not set
104# CONFIG_CGROUPS is not set 99# CONFIG_CGROUPS is not set
105CONFIG_SYSFS_DEPRECATED=y 100# CONFIG_SYSFS_DEPRECATED_V2 is not set
106CONFIG_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
109CONFIG_BLK_DEV_INITRD=y 103CONFIG_BLK_DEV_INITRD=y
@@ -111,6 +105,7 @@ CONFIG_INITRAMFS_SOURCE=""
111CONFIG_RD_GZIP=y 105CONFIG_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
115CONFIG_SYSCTL=y 110CONFIG_SYSCTL=y
116CONFIG_ANON_INODES=y 111CONFIG_ANON_INODES=y
@@ -123,7 +118,7 @@ CONFIG_BUG=y
123CONFIG_ELF_CORE=y 118CONFIG_ELF_CORE=y
124CONFIG_BASE_FULL=y 119CONFIG_BASE_FULL=y
125CONFIG_FUTEX=y 120CONFIG_FUTEX=y
126# CONFIG_EPOLL is not set 121CONFIG_EPOLL=y
127CONFIG_SIGNALFD=y 122CONFIG_SIGNALFD=y
128CONFIG_TIMERFD=y 123CONFIG_TIMERFD=y
129CONFIG_EVENTFD=y 124CONFIG_EVENTFD=y
@@ -325,6 +320,7 @@ CONFIG_ISA_DMA_API=y
325# Bus options 320# Bus options
326# 321#
327CONFIG_ZONE_DMA=y 322CONFIG_ZONE_DMA=y
323# CONFIG_NEED_DMA_MAP_STATE is not set
328CONFIG_GENERIC_ISA_DMA=y 324CONFIG_GENERIC_ISA_DMA=y
329CONFIG_PPC_INDIRECT_PCI=y 325CONFIG_PPC_INDIRECT_PCI=y
330CONFIG_FSL_SOC=y 326CONFIG_FSL_SOC=y
@@ -336,7 +332,6 @@ CONFIG_PCI_SYSCALL=y
336# CONFIG_PCIEPORTBUS is not set 332# CONFIG_PCIEPORTBUS is not set
337CONFIG_ARCH_SUPPORTS_MSI=y 333CONFIG_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#
364CONFIG_PACKET=y 359CONFIG_PACKET=y
365# CONFIG_PACKET_MMAP is not set
366CONFIG_UNIX=y 360CONFIG_UNIX=y
367CONFIG_XFRM=y 361CONFIG_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
454CONFIG_OF_FLATTREE=y
455CONFIG_OF_DYNAMIC=y
460CONFIG_OF_DEVICE=y 456CONFIG_OF_DEVICE=y
461CONFIG_OF_I2C=y 457CONFIG_OF_I2C=y
462CONFIG_OF_SPI=y 458CONFIG_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#
514CONFIG_SCSI_MOD=y
517# CONFIG_RAID_ATTRS is not set 515# CONFIG_RAID_ATTRS is not set
518CONFIG_SCSI=y 516CONFIG_SCSI=y
519CONFIG_SCSI_DMA=y 517CONFIG_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
701CONFIG_CHELSIO_T3_DEPENDS=y 699CONFIG_CHELSIO_T3_DEPENDS=y
702# CONFIG_CHELSIO_T3 is not set 700# CONFIG_CHELSIO_T3 is not set
701CONFIG_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
812CONFIG_UNIX98_PTYS=y 814CONFIG_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
859CONFIG_I2C_MPC=y 861CONFIG_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
884CONFIG_SPI=y 881CONFIG_SPI=y
885CONFIG_SPI_MASTER=y 882CONFIG_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
1037CONFIG_VGA_ARB=y 1039CONFIG_VGA_ARB=y
1040CONFIG_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
1040CONFIG_VIDEO_OUTPUT_CONTROL=m 1043CONFIG_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
1210CONFIG_MMC_SPI=y 1209CONFIG_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
1324CONFIG_RPCSEC_GSS_KRB5=y 1324CONFIG_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 ff45f490448..7b31fc3f354 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
98CONFIG_LOG_BUF_SHIFT=14 98CONFIG_LOG_BUF_SHIFT=14
99CONFIG_GROUP_SCHED=y
100# CONFIG_FAIR_GROUP_SCHED is not set
101# CONFIG_RT_GROUP_SCHED is not set
102CONFIG_USER_SCHED=y
103# CONFIG_CGROUP_SCHED is not set
104# CONFIG_CGROUPS is not set 99# CONFIG_CGROUPS is not set
105CONFIG_SYSFS_DEPRECATED=y 100# CONFIG_SYSFS_DEPRECATED_V2 is not set
106CONFIG_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
109CONFIG_BLK_DEV_INITRD=y 103CONFIG_BLK_DEV_INITRD=y
@@ -111,6 +105,7 @@ CONFIG_INITRAMFS_SOURCE=""
111CONFIG_RD_GZIP=y 105CONFIG_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
115CONFIG_SYSCTL=y 110CONFIG_SYSCTL=y
116CONFIG_ANON_INODES=y 111CONFIG_ANON_INODES=y
@@ -123,7 +118,7 @@ CONFIG_BUG=y
123CONFIG_ELF_CORE=y 118CONFIG_ELF_CORE=y
124CONFIG_BASE_FULL=y 119CONFIG_BASE_FULL=y
125CONFIG_FUTEX=y 120CONFIG_FUTEX=y
126# CONFIG_EPOLL is not set 121CONFIG_EPOLL=y
127CONFIG_SIGNALFD=y 122CONFIG_SIGNALFD=y
128CONFIG_TIMERFD=y 123CONFIG_TIMERFD=y
129CONFIG_EVENTFD=y 124CONFIG_EVENTFD=y
@@ -324,6 +319,7 @@ CONFIG_ISA_DMA_API=y
324# Bus options 319# Bus options
325# 320#
326CONFIG_ZONE_DMA=y 321CONFIG_ZONE_DMA=y
322# CONFIG_NEED_DMA_MAP_STATE is not set
327CONFIG_GENERIC_ISA_DMA=y 323CONFIG_GENERIC_ISA_DMA=y
328CONFIG_PPC_INDIRECT_PCI=y 324CONFIG_PPC_INDIRECT_PCI=y
329CONFIG_FSL_SOC=y 325CONFIG_FSL_SOC=y
@@ -335,7 +331,6 @@ CONFIG_PCI_SYSCALL=y
335# CONFIG_PCIEPORTBUS is not set 331# CONFIG_PCIEPORTBUS is not set
336CONFIG_ARCH_SUPPORTS_MSI=y 332CONFIG_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#
363CONFIG_PACKET=y 358CONFIG_PACKET=y
364# CONFIG_PACKET_MMAP is not set
365CONFIG_UNIX=y 359CONFIG_UNIX=y
366CONFIG_XFRM=y 360CONFIG_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
537CONFIG_OF_FLATTREE=y
538CONFIG_OF_DYNAMIC=y
543CONFIG_OF_DEVICE=y 539CONFIG_OF_DEVICE=y
544CONFIG_OF_I2C=y 540CONFIG_OF_I2C=y
545CONFIG_OF_SPI=y 541CONFIG_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#
644CONFIG_SCSI_MOD=y
647# CONFIG_RAID_ATTRS is not set 645# CONFIG_RAID_ATTRS is not set
648CONFIG_SCSI=y 646CONFIG_SCSI=y
649CONFIG_SCSI_DMA=y 647CONFIG_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
881CONFIG_CHELSIO_T3_DEPENDS=y 880CONFIG_CHELSIO_T3_DEPENDS=y
882# CONFIG_CHELSIO_T3 is not set 881# CONFIG_CHELSIO_T3 is not set
882CONFIG_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
966CONFIG_SERIAL_CORE_CONSOLE=y 968CONFIG_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
970CONFIG_UNIX98_PTYS=y 973CONFIG_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
1015CONFIG_I2C_MPC=y 1018CONFIG_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
1040CONFIG_SPI=y 1038CONFIG_SPI=y
1041CONFIG_SPI_MASTER=y 1039CONFIG_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
1120CONFIG_VGA_ARB=y 1121CONFIG_VGA_ARB=y
1122CONFIG_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
1123CONFIG_VIDEO_OUTPUT_CONTROL=m 1125CONFIG_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
1425CONFIG_RPCSEC_GSS_KRB5=y 1426CONFIG_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 28d8ff3e8fc..41401a9b355 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
98CONFIG_LOG_BUF_SHIFT=14 98CONFIG_LOG_BUF_SHIFT=14
99CONFIG_GROUP_SCHED=y
100# CONFIG_FAIR_GROUP_SCHED is not set
101# CONFIG_RT_GROUP_SCHED is not set
102CONFIG_USER_SCHED=y
103# CONFIG_CGROUP_SCHED is not set
104# CONFIG_CGROUPS is not set 99# CONFIG_CGROUPS is not set
105CONFIG_SYSFS_DEPRECATED=y 100# CONFIG_SYSFS_DEPRECATED_V2 is not set
106CONFIG_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
109CONFIG_BLK_DEV_INITRD=y 103CONFIG_BLK_DEV_INITRD=y
@@ -111,6 +105,7 @@ CONFIG_INITRAMFS_SOURCE=""
111CONFIG_RD_GZIP=y 105CONFIG_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
115CONFIG_SYSCTL=y 110CONFIG_SYSCTL=y
116CONFIG_ANON_INODES=y 111CONFIG_ANON_INODES=y
@@ -123,7 +118,7 @@ CONFIG_BUG=y
123CONFIG_ELF_CORE=y 118CONFIG_ELF_CORE=y
124CONFIG_BASE_FULL=y 119CONFIG_BASE_FULL=y
125CONFIG_FUTEX=y 120CONFIG_FUTEX=y
126# CONFIG_EPOLL is not set 121CONFIG_EPOLL=y
127CONFIG_SIGNALFD=y 122CONFIG_SIGNALFD=y
128CONFIG_TIMERFD=y 123CONFIG_TIMERFD=y
129CONFIG_EVENTFD=y 124CONFIG_EVENTFD=y
@@ -324,6 +319,7 @@ CONFIG_ISA_DMA_API=y
324# Bus options 319# Bus options
325# 320#
326CONFIG_ZONE_DMA=y 321CONFIG_ZONE_DMA=y
322# CONFIG_NEED_DMA_MAP_STATE is not set
327CONFIG_GENERIC_ISA_DMA=y 323CONFIG_GENERIC_ISA_DMA=y
328CONFIG_PPC_INDIRECT_PCI=y 324CONFIG_PPC_INDIRECT_PCI=y
329CONFIG_FSL_SOC=y 325CONFIG_FSL_SOC=y
@@ -335,7 +331,6 @@ CONFIG_PCI_SYSCALL=y
335# CONFIG_PCIEPORTBUS is not set 331# CONFIG_PCIEPORTBUS is not set
336CONFIG_ARCH_SUPPORTS_MSI=y 332CONFIG_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#
363CONFIG_PACKET=y 358CONFIG_PACKET=y
364# CONFIG_PACKET_MMAP is not set
365CONFIG_UNIX=y 359CONFIG_UNIX=y
366CONFIG_XFRM=y 360CONFIG_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
537CONFIG_OF_FLATTREE=y
538CONFIG_OF_DYNAMIC=y
543CONFIG_OF_DEVICE=y 539CONFIG_OF_DEVICE=y
544CONFIG_OF_I2C=y 540CONFIG_OF_I2C=y
545CONFIG_OF_SPI=y 541CONFIG_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#
596CONFIG_SCSI_MOD=y
599# CONFIG_RAID_ATTRS is not set 597# CONFIG_RAID_ATTRS is not set
600CONFIG_SCSI=y 598CONFIG_SCSI=y
601CONFIG_SCSI_DMA=y 599CONFIG_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
757CONFIG_CHELSIO_T3_DEPENDS=y 755CONFIG_CHELSIO_T3_DEPENDS=y
758# CONFIG_CHELSIO_T3 is not set 756# CONFIG_CHELSIO_T3 is not set
757CONFIG_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
842CONFIG_SERIAL_CORE_CONSOLE=y 843CONFIG_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
846CONFIG_UNIX98_PTYS=y 848CONFIG_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
891CONFIG_I2C_MPC=y 893CONFIG_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
916CONFIG_SPI=y 913CONFIG_SPI=y
917CONFIG_SPI_MASTER=y 914CONFIG_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
996CONFIG_VGA_ARB=y 996CONFIG_VGA_ARB=y
997CONFIG_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
999CONFIG_VIDEO_OUTPUT_CONTROL=m 1000CONFIG_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
1301CONFIG_RPCSEC_GSS_KRB5=y 1301CONFIG_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 6252ab5bf18..dc176b676dc 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
98CONFIG_LOG_BUF_SHIFT=14 98CONFIG_LOG_BUF_SHIFT=14
99CONFIG_GROUP_SCHED=y
100# CONFIG_FAIR_GROUP_SCHED is not set
101# CONFIG_RT_GROUP_SCHED is not set
102CONFIG_USER_SCHED=y
103# CONFIG_CGROUP_SCHED is not set
104# CONFIG_CGROUPS is not set 99# CONFIG_CGROUPS is not set
105CONFIG_SYSFS_DEPRECATED=y 100# CONFIG_SYSFS_DEPRECATED_V2 is not set
106CONFIG_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
109CONFIG_BLK_DEV_INITRD=y 103CONFIG_BLK_DEV_INITRD=y
@@ -111,6 +105,7 @@ CONFIG_INITRAMFS_SOURCE=""
111CONFIG_RD_GZIP=y 105CONFIG_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
115CONFIG_SYSCTL=y 110CONFIG_SYSCTL=y
116CONFIG_ANON_INODES=y 111CONFIG_ANON_INODES=y
@@ -123,7 +118,7 @@ CONFIG_BUG=y
123CONFIG_ELF_CORE=y 118CONFIG_ELF_CORE=y
124CONFIG_BASE_FULL=y 119CONFIG_BASE_FULL=y
125CONFIG_FUTEX=y 120CONFIG_FUTEX=y
126# CONFIG_EPOLL is not set 121CONFIG_EPOLL=y
127CONFIG_SIGNALFD=y 122CONFIG_SIGNALFD=y
128CONFIG_TIMERFD=y 123CONFIG_TIMERFD=y
129CONFIG_EVENTFD=y 124CONFIG_EVENTFD=y
@@ -324,6 +319,7 @@ CONFIG_ISA_DMA_API=y
324# Bus options 319# Bus options
325# 320#
326CONFIG_ZONE_DMA=y 321CONFIG_ZONE_DMA=y
322# CONFIG_NEED_DMA_MAP_STATE is not set
327CONFIG_GENERIC_ISA_DMA=y 323CONFIG_GENERIC_ISA_DMA=y
328CONFIG_PPC_INDIRECT_PCI=y 324CONFIG_PPC_INDIRECT_PCI=y
329CONFIG_FSL_SOC=y 325CONFIG_FSL_SOC=y
@@ -335,7 +331,6 @@ CONFIG_PCI_SYSCALL=y
335# CONFIG_PCIEPORTBUS is not set 331# CONFIG_PCIEPORTBUS is not set
336CONFIG_ARCH_SUPPORTS_MSI=y 332CONFIG_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#
363CONFIG_PACKET=y 358CONFIG_PACKET=y
364# CONFIG_PACKET_MMAP is not set
365CONFIG_UNIX=y 359CONFIG_UNIX=y
366CONFIG_XFRM=y 360CONFIG_XFRM=y
367CONFIG_XFRM_USER=m 361CONFIG_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
453CONFIG_OF_FLATTREE=y
454CONFIG_OF_DYNAMIC=y
459CONFIG_OF_DEVICE=y 455CONFIG_OF_DEVICE=y
460CONFIG_OF_I2C=y 456CONFIG_OF_I2C=y
461CONFIG_OF_MDIO=y 457CONFIG_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#
508CONFIG_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
585CONFIG_E100=y 584CONFIG_E100=y
@@ -631,6 +630,8 @@ CONFIG_NETDEV_10000=y
631# CONFIG_CHELSIO_T1 is not set 630# CONFIG_CHELSIO_T1 is not set
632CONFIG_CHELSIO_T3_DEPENDS=y 631CONFIG_CHELSIO_T3_DEPENDS=y
633# CONFIG_CHELSIO_T3 is not set 632# CONFIG_CHELSIO_T3 is not set
633CONFIG_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
726CONFIG_SERIAL_CORE_CONSOLE=y 728CONFIG_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
730CONFIG_UNIX98_PTYS=y 733CONFIG_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
774CONFIG_I2C_MPC=y 777CONFIG_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
924CONFIG_VGA_ARB=y 927CONFIG_VGA_ARB=y
928CONFIG_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
927CONFIG_VIDEO_OUTPUT_CONTROL=m 931CONFIG_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
1132CONFIG_RPCSEC_GSS_KRB5=y 1137CONFIG_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 78227378e67..f512972c717 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
98CONFIG_LOG_BUF_SHIFT=14 98CONFIG_LOG_BUF_SHIFT=14
99CONFIG_GROUP_SCHED=y
100# CONFIG_FAIR_GROUP_SCHED is not set
101# CONFIG_RT_GROUP_SCHED is not set
102CONFIG_USER_SCHED=y
103# CONFIG_CGROUP_SCHED is not set
104# CONFIG_CGROUPS is not set 99# CONFIG_CGROUPS is not set
105CONFIG_SYSFS_DEPRECATED=y 100# CONFIG_SYSFS_DEPRECATED_V2 is not set
106CONFIG_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
109CONFIG_BLK_DEV_INITRD=y 103CONFIG_BLK_DEV_INITRD=y
@@ -111,6 +105,7 @@ CONFIG_INITRAMFS_SOURCE=""
111CONFIG_RD_GZIP=y 105CONFIG_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
115CONFIG_SYSCTL=y 110CONFIG_SYSCTL=y
116CONFIG_ANON_INODES=y 111CONFIG_ANON_INODES=y
@@ -123,7 +118,7 @@ CONFIG_BUG=y
123CONFIG_ELF_CORE=y 118CONFIG_ELF_CORE=y
124CONFIG_BASE_FULL=y 119CONFIG_BASE_FULL=y
125CONFIG_FUTEX=y 120CONFIG_FUTEX=y
126# CONFIG_EPOLL is not set 121CONFIG_EPOLL=y
127CONFIG_SIGNALFD=y 122CONFIG_SIGNALFD=y
128CONFIG_TIMERFD=y 123CONFIG_TIMERFD=y
129CONFIG_EVENTFD=y 124CONFIG_EVENTFD=y
@@ -323,6 +318,7 @@ CONFIG_ISA_DMA_API=y
323# Bus options 318# Bus options
324# 319#
325CONFIG_ZONE_DMA=y 320CONFIG_ZONE_DMA=y
321# CONFIG_NEED_DMA_MAP_STATE is not set
326CONFIG_GENERIC_ISA_DMA=y 322CONFIG_GENERIC_ISA_DMA=y
327CONFIG_PPC_INDIRECT_PCI=y 323CONFIG_PPC_INDIRECT_PCI=y
328CONFIG_FSL_SOC=y 324CONFIG_FSL_SOC=y
@@ -334,7 +330,6 @@ CONFIG_PCI_SYSCALL=y
334# CONFIG_PCIEPORTBUS is not set 330# CONFIG_PCIEPORTBUS is not set
335CONFIG_ARCH_SUPPORTS_MSI=y 331CONFIG_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#
362CONFIG_PACKET=y 357CONFIG_PACKET=y
363# CONFIG_PACKET_MMAP is not set
364CONFIG_UNIX=y 358CONFIG_UNIX=y
365CONFIG_XFRM=y 359CONFIG_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
535CONFIG_OF_FLATTREE=y
536CONFIG_OF_DYNAMIC=y
541CONFIG_OF_DEVICE=y 537CONFIG_OF_DEVICE=y
542CONFIG_OF_I2C=y 538CONFIG_OF_I2C=y
543CONFIG_OF_MDIO=y 539CONFIG_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#
590CONFIG_SCSI_MOD=y
593# CONFIG_RAID_ATTRS is not set 591# CONFIG_RAID_ATTRS is not set
594CONFIG_SCSI=y 592CONFIG_SCSI=y
595CONFIG_SCSI_DMA=y 593CONFIG_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
775CONFIG_CHELSIO_T3_DEPENDS=y 773CONFIG_CHELSIO_T3_DEPENDS=y
776# CONFIG_CHELSIO_T3 is not set 774# CONFIG_CHELSIO_T3 is not set
775CONFIG_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
875CONFIG_UNIX98_PTYS=y 877CONFIG_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
920CONFIG_I2C_MPC=y 922CONFIG_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
1070CONFIG_VGA_ARB=y 1072CONFIG_VGA_ARB=y
1073CONFIG_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
1073CONFIG_VIDEO_OUTPUT_CONTROL=m 1076CONFIG_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
1279CONFIG_RPCSEC_GSS_KRB5=y 1283CONFIG_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 9451d6e5c80..77abfe8ff19 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
99CONFIG_LOG_BUF_SHIFT=14 99CONFIG_LOG_BUF_SHIFT=14
100CONFIG_GROUP_SCHED=y
101CONFIG_FAIR_GROUP_SCHED=y
102# CONFIG_RT_GROUP_SCHED is not set
103CONFIG_USER_SCHED=y
104# CONFIG_CGROUP_SCHED is not set
105# CONFIG_CGROUPS is not set 100# CONFIG_CGROUPS is not set
106CONFIG_SYSFS_DEPRECATED=y 101# CONFIG_SYSFS_DEPRECATED_V2 is not set
107CONFIG_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
110CONFIG_BLK_DEV_INITRD=y 104CONFIG_BLK_DEV_INITRD=y
@@ -112,6 +106,7 @@ CONFIG_INITRAMFS_SOURCE=""
112CONFIG_RD_GZIP=y 106CONFIG_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
116CONFIG_SYSCTL=y 111CONFIG_SYSCTL=y
117CONFIG_ANON_INODES=y 112CONFIG_ANON_INODES=y
@@ -124,7 +119,7 @@ CONFIG_BUG=y
124CONFIG_ELF_CORE=y 119CONFIG_ELF_CORE=y
125CONFIG_BASE_FULL=y 120CONFIG_BASE_FULL=y
126CONFIG_FUTEX=y 121CONFIG_FUTEX=y
127# CONFIG_EPOLL is not set 122CONFIG_EPOLL=y
128CONFIG_SIGNALFD=y 123CONFIG_SIGNALFD=y
129CONFIG_TIMERFD=y 124CONFIG_TIMERFD=y
130CONFIG_EVENTFD=y 125CONFIG_EVENTFD=y
@@ -323,6 +318,7 @@ CONFIG_ISA_DMA_API=y
323# Bus options 318# Bus options
324# 319#
325CONFIG_ZONE_DMA=y 320CONFIG_ZONE_DMA=y
321# CONFIG_NEED_DMA_MAP_STATE is not set
326CONFIG_GENERIC_ISA_DMA=y 322CONFIG_GENERIC_ISA_DMA=y
327CONFIG_PPC_INDIRECT_PCI=y 323CONFIG_PPC_INDIRECT_PCI=y
328CONFIG_FSL_SOC=y 324CONFIG_FSL_SOC=y
@@ -336,7 +332,6 @@ CONFIG_PCI_SYSCALL=y
336# CONFIG_PCIEPORTBUS is not set 332# CONFIG_PCIEPORTBUS is not set
337CONFIG_ARCH_SUPPORTS_MSI=y 333CONFIG_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#
364CONFIG_PACKET=y 359CONFIG_PACKET=y
365# CONFIG_PACKET_MMAP is not set
366CONFIG_UNIX=y 360CONFIG_UNIX=y
367CONFIG_XFRM=y 361CONFIG_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
547CONFIG_OF_FLATTREE=y
548CONFIG_OF_DYNAMIC=y
553CONFIG_OF_DEVICE=y 549CONFIG_OF_DEVICE=y
554CONFIG_OF_GPIO=y 550CONFIG_OF_GPIO=y
555CONFIG_OF_I2C=y 551CONFIG_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#
606CONFIG_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
776CONFIG_SERIAL_QE=y 774CONFIG_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
778CONFIG_UNIX98_PTYS=y 777CONFIG_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
825CONFIG_I2C_MPC=y 824CONFIG_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
849CONFIG_SPI=y 843CONFIG_SPI=y
850CONFIG_SPI_MASTER=y 844CONFIG_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
958CONFIG_VGA_ARB=y 961CONFIG_VGA_ARB=y
962CONFIG_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
1146CONFIG_JFFS2_RTIME=y 1150CONFIG_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
1171CONFIG_RPCSEC_GSS_KRB5=y 1176CONFIG_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 f67b70d0b29..0cdb41418d5 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
98CONFIG_LOG_BUF_SHIFT=14 98CONFIG_LOG_BUF_SHIFT=14
99CONFIG_GROUP_SCHED=y
100CONFIG_FAIR_GROUP_SCHED=y
101# CONFIG_RT_GROUP_SCHED is not set
102CONFIG_USER_SCHED=y
103# CONFIG_CGROUP_SCHED is not set
104# CONFIG_CGROUPS is not set 99# CONFIG_CGROUPS is not set
105CONFIG_SYSFS_DEPRECATED=y 100# CONFIG_SYSFS_DEPRECATED_V2 is not set
106CONFIG_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
109CONFIG_BLK_DEV_INITRD=y 103CONFIG_BLK_DEV_INITRD=y
@@ -111,6 +105,7 @@ CONFIG_INITRAMFS_SOURCE=""
111CONFIG_RD_GZIP=y 105CONFIG_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
115CONFIG_SYSCTL=y 110CONFIG_SYSCTL=y
116CONFIG_ANON_INODES=y 111CONFIG_ANON_INODES=y
@@ -124,7 +119,7 @@ CONFIG_BUG=y
124CONFIG_ELF_CORE=y 119CONFIG_ELF_CORE=y
125CONFIG_BASE_FULL=y 120CONFIG_BASE_FULL=y
126CONFIG_FUTEX=y 121CONFIG_FUTEX=y
127# CONFIG_EPOLL is not set 122CONFIG_EPOLL=y
128CONFIG_SIGNALFD=y 123CONFIG_SIGNALFD=y
129CONFIG_TIMERFD=y 124CONFIG_TIMERFD=y
130CONFIG_EVENTFD=y 125CONFIG_EVENTFD=y
@@ -324,6 +319,7 @@ CONFIG_ISA_DMA_API=y
324# Bus options 319# Bus options
325# 320#
326CONFIG_ZONE_DMA=y 321CONFIG_ZONE_DMA=y
322# CONFIG_NEED_DMA_MAP_STATE is not set
327CONFIG_GENERIC_ISA_DMA=y 323CONFIG_GENERIC_ISA_DMA=y
328CONFIG_PPC_INDIRECT_PCI=y 324CONFIG_PPC_INDIRECT_PCI=y
329CONFIG_FSL_SOC=y 325CONFIG_FSL_SOC=y
@@ -335,7 +331,6 @@ CONFIG_PCI_SYSCALL=y
335# CONFIG_PCIEPORTBUS is not set 331# CONFIG_PCIEPORTBUS is not set
336CONFIG_ARCH_SUPPORTS_MSI=y 332CONFIG_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#
363CONFIG_PACKET=y 358CONFIG_PACKET=y
364# CONFIG_PACKET_MMAP is not set
365CONFIG_UNIX=y 359CONFIG_UNIX=y
366CONFIG_XFRM=y 360CONFIG_XFRM=y
367CONFIG_XFRM_USER=m 361CONFIG_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
453CONFIG_OF_FLATTREE=y
454CONFIG_OF_DYNAMIC=y
459CONFIG_OF_DEVICE=y 455CONFIG_OF_DEVICE=y
460CONFIG_OF_I2C=y 456CONFIG_OF_I2C=y
461CONFIG_OF_MDIO=y 457CONFIG_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#
508CONFIG_SCSI_MOD=y
511# CONFIG_RAID_ATTRS is not set 509# CONFIG_RAID_ATTRS is not set
512CONFIG_SCSI=y 510CONFIG_SCSI=y
513CONFIG_SCSI_DMA=y 511CONFIG_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
756CONFIG_CHELSIO_T3_DEPENDS=y 755CONFIG_CHELSIO_T3_DEPENDS=y
757# CONFIG_CHELSIO_T3 is not set 756# CONFIG_CHELSIO_T3 is not set
757CONFIG_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
851CONFIG_SERIAL_CORE_CONSOLE=y 853CONFIG_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
855CONFIG_UNIX98_PTYS=y 858CONFIG_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
901CONFIG_I2C_MPC=y 904CONFIG_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
1051CONFIG_VGA_ARB=y 1054CONFIG_VGA_ARB=y
1055CONFIG_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
1054CONFIG_VIDEO_OUTPUT_CONTROL=m 1058CONFIG_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
1201CONFIG_RPCSEC_GSS_KRB5=y 1206CONFIG_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 a84fd1194e2..e69ed1b6142 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
98CONFIG_LOG_BUF_SHIFT=14 98CONFIG_LOG_BUF_SHIFT=14
99CONFIG_GROUP_SCHED=y
100CONFIG_FAIR_GROUP_SCHED=y
101# CONFIG_RT_GROUP_SCHED is not set
102CONFIG_USER_SCHED=y
103# CONFIG_CGROUP_SCHED is not set
104# CONFIG_CGROUPS is not set 99# CONFIG_CGROUPS is not set
105CONFIG_SYSFS_DEPRECATED=y 100# CONFIG_SYSFS_DEPRECATED_V2 is not set
106CONFIG_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
109CONFIG_BLK_DEV_INITRD=y 103CONFIG_BLK_DEV_INITRD=y
@@ -111,6 +105,7 @@ CONFIG_INITRAMFS_SOURCE=""
111CONFIG_RD_GZIP=y 105CONFIG_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
115CONFIG_SYSCTL=y 110CONFIG_SYSCTL=y
116CONFIG_ANON_INODES=y 111CONFIG_ANON_INODES=y
@@ -124,7 +119,7 @@ CONFIG_BUG=y
124CONFIG_ELF_CORE=y 119CONFIG_ELF_CORE=y
125CONFIG_BASE_FULL=y 120CONFIG_BASE_FULL=y
126CONFIG_FUTEX=y 121CONFIG_FUTEX=y
127# CONFIG_EPOLL is not set 122CONFIG_EPOLL=y
128CONFIG_SIGNALFD=y 123CONFIG_SIGNALFD=y
129CONFIG_TIMERFD=y 124CONFIG_TIMERFD=y
130CONFIG_EVENTFD=y 125CONFIG_EVENTFD=y
@@ -324,6 +319,7 @@ CONFIG_ISA_DMA_API=y
324# Bus options 319# Bus options
325# 320#
326CONFIG_ZONE_DMA=y 321CONFIG_ZONE_DMA=y
322# CONFIG_NEED_DMA_MAP_STATE is not set
327CONFIG_GENERIC_ISA_DMA=y 323CONFIG_GENERIC_ISA_DMA=y
328CONFIG_PPC_INDIRECT_PCI=y 324CONFIG_PPC_INDIRECT_PCI=y
329CONFIG_FSL_SOC=y 325CONFIG_FSL_SOC=y
@@ -335,7 +331,6 @@ CONFIG_PCI_SYSCALL=y
335# CONFIG_PCIEPORTBUS is not set 331# CONFIG_PCIEPORTBUS is not set
336CONFIG_ARCH_SUPPORTS_MSI=y 332CONFIG_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#
363CONFIG_PACKET=y 358CONFIG_PACKET=y
364# CONFIG_PACKET_MMAP is not set
365CONFIG_UNIX=y 359CONFIG_UNIX=y
366# CONFIG_NET_KEY is not set 360# CONFIG_NET_KEY is not set
367CONFIG_INET=y 361CONFIG_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
448CONFIG_OF_FLATTREE=y
449CONFIG_OF_DYNAMIC=y
454CONFIG_OF_DEVICE=y 450CONFIG_OF_DEVICE=y
455CONFIG_OF_I2C=y 451CONFIG_OF_I2C=y
456CONFIG_OF_MDIO=y 452CONFIG_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#
504CONFIG_SCSI_MOD=y
507# CONFIG_RAID_ATTRS is not set 505# CONFIG_RAID_ATTRS is not set
508CONFIG_SCSI=y 506CONFIG_SCSI=y
509CONFIG_SCSI_DMA=y 507CONFIG_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
850CONFIG_SERIAL_CORE_CONSOLE=y 849CONFIG_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
854CONFIG_UNIX98_PTYS=y 854CONFIG_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
900CONFIG_I2C_MPC=y 900CONFIG_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
1056CONFIG_VGA_ARB=y 1056CONFIG_VGA_ARB=y
1057CONFIG_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
1059CONFIG_VIDEO_OUTPUT_CONTROL=m 1060CONFIG_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
1082CONFIG_HID_A4TECH=y 1084CONFIG_HID_A4TECH=y
1083CONFIG_HID_APPLE=y 1085CONFIG_HID_APPLE=y
1084CONFIG_HID_BELKIN=y 1086CONFIG_HID_BELKIN=y
@@ -1094,14 +1096,19 @@ CONFIG_HID_GYRATION=y
1094CONFIG_HID_LOGITECH=y 1096CONFIG_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
1097CONFIG_HID_MICROSOFT=y 1100CONFIG_HID_MICROSOFT=y
1101# CONFIG_HID_MOSART is not set
1098CONFIG_HID_MONTEREY=y 1102CONFIG_HID_MONTEREY=y
1099# CONFIG_HID_NTRIG is not set 1103# CONFIG_HID_NTRIG is not set
1104# CONFIG_HID_ORTEK is not set
1100CONFIG_HID_PANTHERLORD=y 1105CONFIG_HID_PANTHERLORD=y
1101# CONFIG_PANTHERLORD_FF is not set 1106# CONFIG_PANTHERLORD_FF is not set
1102CONFIG_HID_PETALYNX=y 1107CONFIG_HID_PETALYNX=y
1108# CONFIG_HID_QUANTA is not set
1103CONFIG_HID_SAMSUNG=y 1109CONFIG_HID_SAMSUNG=y
1104CONFIG_HID_SONY=y 1110CONFIG_HID_SONY=y
1111# CONFIG_HID_STANTUM is not set
1105CONFIG_HID_SUNPLUS=y 1112CONFIG_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
1323CONFIG_RPCSEC_GSS_KRB5=y 1329CONFIG_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 72c2067137b..56e3995d898 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
98CONFIG_LOG_BUF_SHIFT=14 98CONFIG_LOG_BUF_SHIFT=14
99CONFIG_GROUP_SCHED=y
100CONFIG_FAIR_GROUP_SCHED=y
101# CONFIG_RT_GROUP_SCHED is not set
102CONFIG_USER_SCHED=y
103# CONFIG_CGROUP_SCHED is not set
104# CONFIG_CGROUPS is not set 99# CONFIG_CGROUPS is not set
105CONFIG_SYSFS_DEPRECATED=y 100# CONFIG_SYSFS_DEPRECATED_V2 is not set
106CONFIG_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
109CONFIG_BLK_DEV_INITRD=y 103CONFIG_BLK_DEV_INITRD=y
@@ -111,6 +105,7 @@ CONFIG_INITRAMFS_SOURCE=""
111CONFIG_RD_GZIP=y 105CONFIG_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
115CONFIG_SYSCTL=y 110CONFIG_SYSCTL=y
116CONFIG_ANON_INODES=y 111CONFIG_ANON_INODES=y
@@ -123,7 +118,7 @@ CONFIG_BUG=y
123CONFIG_ELF_CORE=y 118CONFIG_ELF_CORE=y
124CONFIG_BASE_FULL=y 119CONFIG_BASE_FULL=y
125CONFIG_FUTEX=y 120CONFIG_FUTEX=y
126# CONFIG_EPOLL is not set 121CONFIG_EPOLL=y
127CONFIG_SIGNALFD=y 122CONFIG_SIGNALFD=y
128CONFIG_TIMERFD=y 123CONFIG_TIMERFD=y
129CONFIG_EVENTFD=y 124CONFIG_EVENTFD=y
@@ -322,6 +317,7 @@ CONFIG_ISA_DMA_API=y
322# Bus options 317# Bus options
323# 318#
324CONFIG_ZONE_DMA=y 319CONFIG_ZONE_DMA=y
320# CONFIG_NEED_DMA_MAP_STATE is not set
325CONFIG_GENERIC_ISA_DMA=y 321CONFIG_GENERIC_ISA_DMA=y
326CONFIG_PPC_INDIRECT_PCI=y 322CONFIG_PPC_INDIRECT_PCI=y
327CONFIG_FSL_SOC=y 323CONFIG_FSL_SOC=y
@@ -333,7 +329,6 @@ CONFIG_PCI_SYSCALL=y
333# CONFIG_PCIEPORTBUS is not set 329# CONFIG_PCIEPORTBUS is not set
334CONFIG_ARCH_SUPPORTS_MSI=y 330CONFIG_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#
361CONFIG_PACKET=y 356CONFIG_PACKET=y
362# CONFIG_PACKET_MMAP is not set
363CONFIG_UNIX=y 357CONFIG_UNIX=y
364CONFIG_XFRM=y 358CONFIG_XFRM=y
365CONFIG_XFRM_USER=m 359CONFIG_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
534CONFIG_OF_FLATTREE=y
535CONFIG_OF_DYNAMIC=y
540CONFIG_OF_DEVICE=y 536CONFIG_OF_DEVICE=y
541CONFIG_OF_I2C=y 537CONFIG_OF_I2C=y
542CONFIG_OF_MDIO=y 538CONFIG_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#
590CONFIG_SCSI_MOD=y
593# CONFIG_RAID_ATTRS is not set 591# CONFIG_RAID_ATTRS is not set
594CONFIG_SCSI=y 592CONFIG_SCSI=y
595CONFIG_SCSI_DMA=y 593CONFIG_SCSI_DMA=y
@@ -812,6 +810,7 @@ CONFIG_SERIAL_CORE=y
812CONFIG_SERIAL_CORE_CONSOLE=y 810CONFIG_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
816CONFIG_UNIX98_PTYS=y 815CONFIG_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
862CONFIG_I2C_MPC=y 861CONFIG_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
1018CONFIG_VGA_ARB=y 1017CONFIG_VGA_ARB=y
1018CONFIG_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
1271CONFIG_RPCSEC_GSS_KRB5=y 1270CONFIG_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 21dad38b156..f67a8d1cd0b 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
70CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y 70CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
71CONFIG_PPC_ADV_DEBUG_REGS=y
72CONFIG_PPC_ADV_DEBUG_IACS=2
73CONFIG_PPC_ADV_DEBUG_DACS=2
74CONFIG_PPC_ADV_DEBUG_DVCS=0
71CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 75CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
72CONFIG_CONSTRUCTORS=y 76CONFIG_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
101CONFIG_LOG_BUF_SHIFT=14 105CONFIG_LOG_BUF_SHIFT=14
102# CONFIG_GROUP_SCHED is not set
103# CONFIG_CGROUPS is not set 106# CONFIG_CGROUPS is not set
104CONFIG_SYSFS_DEPRECATED=y 107# CONFIG_SYSFS_DEPRECATED_V2 is not set
105CONFIG_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
108CONFIG_BLK_DEV_INITRD=y 110CONFIG_BLK_DEV_INITRD=y
@@ -110,6 +112,7 @@ CONFIG_INITRAMFS_SOURCE=""
110CONFIG_RD_GZIP=y 112CONFIG_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
114CONFIG_SYSCTL=y 117CONFIG_SYSCTL=y
115CONFIG_ANON_INODES=y 118CONFIG_ANON_INODES=y
@@ -315,6 +318,7 @@ CONFIG_ISA_DMA_API=y
315# Bus options 318# Bus options
316# 319#
317CONFIG_ZONE_DMA=y 320CONFIG_ZONE_DMA=y
321# CONFIG_NEED_DMA_MAP_STATE is not set
318CONFIG_FSL_SOC=y 322CONFIG_FSL_SOC=y
319CONFIG_PPC_PCI_CHOICE=y 323CONFIG_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#
347CONFIG_PACKET=y 351CONFIG_PACKET=y
348# CONFIG_PACKET_MMAP is not set
349CONFIG_UNIX=y 352CONFIG_UNIX=y
350CONFIG_XFRM=y 353CONFIG_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
528CONFIG_OF_FLATTREE=y
529CONFIG_OF_DYNAMIC=y
525CONFIG_OF_DEVICE=y 530CONFIG_OF_DEVICE=y
526CONFIG_OF_GPIO=y 531CONFIG_OF_GPIO=y
527CONFIG_OF_MDIO=y 532CONFIG_OF_MDIO=y
@@ -575,6 +580,7 @@ CONFIG_IDE_PROC_FS=y
575# 580#
576# SCSI device support 581# SCSI device support
577# 582#
583CONFIG_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
701CONFIG_SERIAL_CORE_CONSOLE=y 707CONFIG_SERIAL_CORE_CONSOLE=y
702CONFIG_SERIAL_CPM=y 708CONFIG_SERIAL_CPM=y
703CONFIG_SERIAL_CPM_CONSOLE=y 709CONFIG_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
705CONFIG_UNIX98_PTYS=y 712CONFIG_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
1041CONFIG_SYSCTL_SYSCALL_CHECK=y 1052CONFIG_SYSCTL_SYSCALL_CHECK=y
diff --git a/arch/powerpc/configs/85xx/mpc8540_ads_defconfig b/arch/powerpc/configs/85xx/mpc8540_ads_defconfig
index 5db54cd274c..61b122a25cd 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
69CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y 69CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
70CONFIG_PPC_ADV_DEBUG_REGS=y
71CONFIG_PPC_ADV_DEBUG_IACS=2
72CONFIG_PPC_ADV_DEBUG_DACS=2
73CONFIG_PPC_ADV_DEBUG_DVCS=0
70CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 74CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
71CONFIG_CONSTRUCTORS=y 75CONFIG_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
100CONFIG_LOG_BUF_SHIFT=14 104CONFIG_LOG_BUF_SHIFT=14
101CONFIG_GROUP_SCHED=y
102# CONFIG_FAIR_GROUP_SCHED is not set
103# CONFIG_RT_GROUP_SCHED is not set
104CONFIG_USER_SCHED=y
105# CONFIG_CGROUP_SCHED is not set
106# CONFIG_CGROUPS is not set 105# CONFIG_CGROUPS is not set
107CONFIG_SYSFS_DEPRECATED=y 106# CONFIG_SYSFS_DEPRECATED_V2 is not set
108CONFIG_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
111CONFIG_BLK_DEV_INITRD=y 109CONFIG_BLK_DEV_INITRD=y
@@ -113,6 +111,7 @@ CONFIG_INITRAMFS_SOURCE=""
113CONFIG_RD_GZIP=y 111CONFIG_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
117CONFIG_SYSCTL=y 116CONFIG_SYSCTL=y
118CONFIG_ANON_INODES=y 117CONFIG_ANON_INODES=y
@@ -316,6 +315,7 @@ CONFIG_ISA_DMA_API=y
316# Bus options 315# Bus options
317# 316#
318CONFIG_ZONE_DMA=y 317CONFIG_ZONE_DMA=y
318# CONFIG_NEED_DMA_MAP_STATE is not set
319CONFIG_FSL_SOC=y 319CONFIG_FSL_SOC=y
320CONFIG_PPC_PCI_CHOICE=y 320CONFIG_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#
348CONFIG_PACKET=y 348CONFIG_PACKET=y
349# CONFIG_PACKET_MMAP is not set
350CONFIG_UNIX=y 349CONFIG_UNIX=y
351CONFIG_XFRM=y 350CONFIG_XFRM=y
352CONFIG_XFRM_USER=y 351CONFIG_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
445CONFIG_OF_FLATTREE=y
446CONFIG_OF_DYNAMIC=y
446CONFIG_OF_DEVICE=y 447CONFIG_OF_DEVICE=y
447CONFIG_OF_MDIO=y 448CONFIG_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#
481CONFIG_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
602CONFIG_SERIAL_CORE=y 604CONFIG_SERIAL_CORE=y
603CONFIG_SERIAL_CORE_CONSOLE=y 605CONFIG_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
606CONFIG_UNIX98_PTYS=y 609CONFIG_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 76c7018c5cd..a5ceaa4b5e4 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
70CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y 70CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
71CONFIG_PPC_ADV_DEBUG_REGS=y
72CONFIG_PPC_ADV_DEBUG_IACS=2
73CONFIG_PPC_ADV_DEBUG_DACS=2
74CONFIG_PPC_ADV_DEBUG_DVCS=0
71CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 75CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
72CONFIG_CONSTRUCTORS=y 76CONFIG_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
101CONFIG_LOG_BUF_SHIFT=14 105CONFIG_LOG_BUF_SHIFT=14
102CONFIG_GROUP_SCHED=y
103# CONFIG_FAIR_GROUP_SCHED is not set
104# CONFIG_RT_GROUP_SCHED is not set
105CONFIG_USER_SCHED=y
106# CONFIG_CGROUP_SCHED is not set
107# CONFIG_CGROUPS is not set 106# CONFIG_CGROUPS is not set
108CONFIG_SYSFS_DEPRECATED=y 107# CONFIG_SYSFS_DEPRECATED_V2 is not set
109CONFIG_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
112CONFIG_BLK_DEV_INITRD=y 110CONFIG_BLK_DEV_INITRD=y
@@ -114,6 +112,7 @@ CONFIG_INITRAMFS_SOURCE=""
114CONFIG_RD_GZIP=y 112CONFIG_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
118CONFIG_SYSCTL=y 117CONFIG_SYSCTL=y
119CONFIG_ANON_INODES=y 118CONFIG_ANON_INODES=y
@@ -319,6 +318,7 @@ CONFIG_ISA_DMA_API=y
319# Bus options 318# Bus options
320# 319#
321CONFIG_ZONE_DMA=y 320CONFIG_ZONE_DMA=y
321# CONFIG_NEED_DMA_MAP_STATE is not set
322CONFIG_PPC_INDIRECT_PCI=y 322CONFIG_PPC_INDIRECT_PCI=y
323CONFIG_FSL_SOC=y 323CONFIG_FSL_SOC=y
324CONFIG_FSL_PCI=y 324CONFIG_FSL_PCI=y
@@ -329,7 +329,6 @@ CONFIG_PCI_SYSCALL=y
329# CONFIG_PCIEPORTBUS is not set 329# CONFIG_PCIEPORTBUS is not set
330CONFIG_ARCH_SUPPORTS_MSI=y 330CONFIG_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
333CONFIG_PCI_DEBUG=y 332CONFIG_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#
360CONFIG_PACKET=y 359CONFIG_PACKET=y
361# CONFIG_PACKET_MMAP is not set
362CONFIG_UNIX=y 360CONFIG_UNIX=y
363CONFIG_XFRM=y 361CONFIG_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
456CONFIG_OF_FLATTREE=y
457CONFIG_OF_DYNAMIC=y
458CONFIG_OF_DEVICE=y 458CONFIG_OF_DEVICE=y
459CONFIG_OF_GPIO=y 459CONFIG_OF_GPIO=y
460CONFIG_OF_MDIO=y 460CONFIG_OF_MDIO=y
@@ -500,6 +500,7 @@ CONFIG_HAVE_IDE=y
500# 500#
501# SCSI device support 501# SCSI device support
502# 502#
503CONFIG_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
610CONFIG_CHELSIO_T3_DEPENDS=y 611CONFIG_CHELSIO_T3_DEPENDS=y
611# CONFIG_CHELSIO_T3 is not set 612# CONFIG_CHELSIO_T3 is not set
613CONFIG_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
700CONFIG_SERIAL_CPM=y 704CONFIG_SERIAL_CPM=y
701CONFIG_SERIAL_CPM_CONSOLE=y 705CONFIG_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
704CONFIG_UNIX98_PTYS=y 709CONFIG_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
803CONFIG_VGA_ARB=y 812CONFIG_VGA_ARB=y
813CONFIG_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
806CONFIG_VIDEO_OUTPUT_CONTROL=y 816CONFIG_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 fab8adacbf7..4adb4eba2d4 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
69CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y 69CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
70CONFIG_PPC_ADV_DEBUG_REGS=y
71CONFIG_PPC_ADV_DEBUG_IACS=2
72CONFIG_PPC_ADV_DEBUG_DACS=2
73CONFIG_PPC_ADV_DEBUG_DVCS=0
70CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 74CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
71CONFIG_CONSTRUCTORS=y 75CONFIG_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
100CONFIG_LOG_BUF_SHIFT=14 104CONFIG_LOG_BUF_SHIFT=14
101CONFIG_GROUP_SCHED=y
102# CONFIG_FAIR_GROUP_SCHED is not set
103# CONFIG_RT_GROUP_SCHED is not set
104CONFIG_USER_SCHED=y
105# CONFIG_CGROUP_SCHED is not set
106# CONFIG_CGROUPS is not set 105# CONFIG_CGROUPS is not set
107CONFIG_SYSFS_DEPRECATED=y 106# CONFIG_SYSFS_DEPRECATED_V2 is not set
108CONFIG_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
111CONFIG_BLK_DEV_INITRD=y 109CONFIG_BLK_DEV_INITRD=y
@@ -113,6 +111,7 @@ CONFIG_INITRAMFS_SOURCE=""
113CONFIG_RD_GZIP=y 111CONFIG_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
117CONFIG_SYSCTL=y 116CONFIG_SYSCTL=y
118CONFIG_ANON_INODES=y 117CONFIG_ANON_INODES=y
@@ -317,6 +316,7 @@ CONFIG_ISA_DMA_API=y
317# Bus options 316# Bus options
318# 317#
319CONFIG_ZONE_DMA=y 318CONFIG_ZONE_DMA=y
319# CONFIG_NEED_DMA_MAP_STATE is not set
320CONFIG_PPC_INDIRECT_PCI=y 320CONFIG_PPC_INDIRECT_PCI=y
321CONFIG_FSL_SOC=y 321CONFIG_FSL_SOC=y
322CONFIG_FSL_PCI=y 322CONFIG_FSL_PCI=y
@@ -327,7 +327,6 @@ CONFIG_PCI_SYSCALL=y
327# CONFIG_PCIEPORTBUS is not set 327# CONFIG_PCIEPORTBUS is not set
328CONFIG_ARCH_SUPPORTS_MSI=y 328CONFIG_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#
358CONFIG_PACKET=y 357CONFIG_PACKET=y
359# CONFIG_PACKET_MMAP is not set
360CONFIG_UNIX=y 358CONFIG_UNIX=y
361CONFIG_XFRM=y 359CONFIG_XFRM=y
362CONFIG_XFRM_USER=y 360CONFIG_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
454CONFIG_OF_FLATTREE=y
455CONFIG_OF_DYNAMIC=y
456CONFIG_OF_DEVICE=y 456CONFIG_OF_DEVICE=y
457CONFIG_OF_MDIO=y 457CONFIG_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#
555CONFIG_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
658CONFIG_CHELSIO_T3_DEPENDS=y 659CONFIG_CHELSIO_T3_DEPENDS=y
659# CONFIG_CHELSIO_T3 is not set 660# CONFIG_CHELSIO_T3 is not set
661CONFIG_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
753CONFIG_SERIAL_CORE_CONSOLE=y 757CONFIG_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
757CONFIG_UNIX98_PTYS=y 762CONFIG_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
827CONFIG_VGA_ARB=y 833CONFIG_VGA_ARB=y
834CONFIG_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
830CONFIG_VIDEO_OUTPUT_CONTROL=y 837CONFIG_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 8290385e9b9..3de8450cd55 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
69CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y 69CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
70CONFIG_PPC_ADV_DEBUG_REGS=y
71CONFIG_PPC_ADV_DEBUG_IACS=2
72CONFIG_PPC_ADV_DEBUG_DACS=2
73CONFIG_PPC_ADV_DEBUG_DVCS=0
70CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 74CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
71CONFIG_CONSTRUCTORS=y 75CONFIG_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
100CONFIG_LOG_BUF_SHIFT=14 104CONFIG_LOG_BUF_SHIFT=14
101CONFIG_GROUP_SCHED=y
102CONFIG_FAIR_GROUP_SCHED=y
103# CONFIG_RT_GROUP_SCHED is not set
104CONFIG_USER_SCHED=y
105# CONFIG_CGROUP_SCHED is not set
106# CONFIG_CGROUPS is not set 105# CONFIG_CGROUPS is not set
107CONFIG_SYSFS_DEPRECATED=y 106# CONFIG_SYSFS_DEPRECATED_V2 is not set
108CONFIG_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
111CONFIG_BLK_DEV_INITRD=y 109CONFIG_BLK_DEV_INITRD=y
@@ -113,6 +111,7 @@ CONFIG_INITRAMFS_SOURCE=""
113CONFIG_RD_GZIP=y 111CONFIG_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
117CONFIG_SYSCTL=y 116CONFIG_SYSCTL=y
118CONFIG_ANON_INODES=y 117CONFIG_ANON_INODES=y
@@ -314,6 +313,7 @@ CONFIG_ISA_DMA_API=y
314# Bus options 313# Bus options
315# 314#
316CONFIG_ZONE_DMA=y 315CONFIG_ZONE_DMA=y
316# CONFIG_NEED_DMA_MAP_STATE is not set
317CONFIG_PPC_INDIRECT_PCI=y 317CONFIG_PPC_INDIRECT_PCI=y
318CONFIG_FSL_SOC=y 318CONFIG_FSL_SOC=y
319CONFIG_FSL_PCI=y 319CONFIG_FSL_PCI=y
@@ -324,7 +324,6 @@ CONFIG_PCI_SYSCALL=y
324# CONFIG_PCIEPORTBUS is not set 324# CONFIG_PCIEPORTBUS is not set
325CONFIG_ARCH_SUPPORTS_MSI=y 325CONFIG_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#
354CONFIG_PACKET=y 353CONFIG_PACKET=y
355# CONFIG_PACKET_MMAP is not set
356CONFIG_UNIX=y 354CONFIG_UNIX=y
357CONFIG_XFRM=y 355CONFIG_XFRM=y
358CONFIG_XFRM_USER=y 356CONFIG_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
448CONFIG_OF_FLATTREE=y
449CONFIG_OF_DYNAMIC=y
450CONFIG_OF_DEVICE=y 450CONFIG_OF_DEVICE=y
451CONFIG_OF_MDIO=y 451CONFIG_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#
494CONFIG_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
597CONFIG_CHELSIO_T3_DEPENDS=y 598CONFIG_CHELSIO_T3_DEPENDS=y
598# CONFIG_CHELSIO_T3 is not set 599# CONFIG_CHELSIO_T3 is not set
600CONFIG_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
692CONFIG_SERIAL_CORE_CONSOLE=y 696CONFIG_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
696CONFIG_UNIX98_PTYS=y 701CONFIG_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
766CONFIG_VGA_ARB=y 772CONFIG_VGA_ARB=y
773CONFIG_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
769CONFIG_VIDEO_OUTPUT_CONTROL=y 776CONFIG_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 2499b5ba714..bd467fe1393 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
69CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y 69CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
70CONFIG_PPC_ADV_DEBUG_REGS=y
71CONFIG_PPC_ADV_DEBUG_IACS=2
72CONFIG_PPC_ADV_DEBUG_DACS=2
73CONFIG_PPC_ADV_DEBUG_DVCS=0
70CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 74CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
71CONFIG_CONSTRUCTORS=y 75CONFIG_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
100CONFIG_LOG_BUF_SHIFT=14 104CONFIG_LOG_BUF_SHIFT=14
101CONFIG_GROUP_SCHED=y
102CONFIG_FAIR_GROUP_SCHED=y
103# CONFIG_RT_GROUP_SCHED is not set
104CONFIG_USER_SCHED=y
105# CONFIG_CGROUP_SCHED is not set
106# CONFIG_CGROUPS is not set 105# CONFIG_CGROUPS is not set
107CONFIG_SYSFS_DEPRECATED=y 106# CONFIG_SYSFS_DEPRECATED_V2 is not set
108CONFIG_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
111CONFIG_BLK_DEV_INITRD=y 109CONFIG_BLK_DEV_INITRD=y
@@ -113,6 +111,7 @@ CONFIG_INITRAMFS_SOURCE=""
113CONFIG_RD_GZIP=y 111CONFIG_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
117CONFIG_SYSCTL=y 116CONFIG_SYSCTL=y
118CONFIG_ANON_INODES=y 117CONFIG_ANON_INODES=y
@@ -314,6 +313,7 @@ CONFIG_ISA_DMA_API=y
314# Bus options 313# Bus options
315# 314#
316CONFIG_ZONE_DMA=y 315CONFIG_ZONE_DMA=y
316# CONFIG_NEED_DMA_MAP_STATE is not set
317CONFIG_FSL_SOC=y 317CONFIG_FSL_SOC=y
318CONFIG_PPC_PCI_CHOICE=y 318CONFIG_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#
346CONFIG_PACKET=y 346CONFIG_PACKET=y
347# CONFIG_PACKET_MMAP is not set
348CONFIG_UNIX=y 347CONFIG_UNIX=y
349CONFIG_XFRM=y 348CONFIG_XFRM=y
350CONFIG_XFRM_USER=y 349CONFIG_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
443CONFIG_OF_FLATTREE=y
444CONFIG_OF_DYNAMIC=y
444CONFIG_OF_DEVICE=y 445CONFIG_OF_DEVICE=y
445CONFIG_OF_MDIO=y 446CONFIG_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#
479CONFIG_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
600CONFIG_SERIAL_CORE=y 602CONFIG_SERIAL_CORE=y
601CONFIG_SERIAL_CORE_CONSOLE=y 603CONFIG_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
604CONFIG_UNIX98_PTYS=y 607CONFIG_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 e2edb79cfd1..9803e031165 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
69CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y 69CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
70CONFIG_PPC_ADV_DEBUG_REGS=y
71CONFIG_PPC_ADV_DEBUG_IACS=2
72CONFIG_PPC_ADV_DEBUG_DACS=2
73CONFIG_PPC_ADV_DEBUG_DVCS=0
70CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 74CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
71CONFIG_CONSTRUCTORS=y 75CONFIG_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
100CONFIG_LOG_BUF_SHIFT=16 104CONFIG_LOG_BUF_SHIFT=16
101CONFIG_GROUP_SCHED=y
102CONFIG_FAIR_GROUP_SCHED=y
103# CONFIG_RT_GROUP_SCHED is not set
104CONFIG_USER_SCHED=y
105# CONFIG_CGROUP_SCHED is not set
106# CONFIG_CGROUPS is not set 105# CONFIG_CGROUPS is not set
107CONFIG_SYSFS_DEPRECATED=y 106# CONFIG_SYSFS_DEPRECATED_V2 is not set
108CONFIG_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
111CONFIG_BLK_DEV_INITRD=y 109CONFIG_BLK_DEV_INITRD=y
@@ -113,6 +111,7 @@ CONFIG_INITRAMFS_SOURCE=""
113CONFIG_RD_GZIP=y 111CONFIG_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
117CONFIG_SYSCTL=y 116CONFIG_SYSCTL=y
118CONFIG_ANON_INODES=y 117CONFIG_ANON_INODES=y
@@ -319,6 +318,7 @@ CONFIG_ISA_DMA_API=y
319# Bus options 318# Bus options
320# 319#
321CONFIG_ZONE_DMA=y 320CONFIG_ZONE_DMA=y
321# CONFIG_NEED_DMA_MAP_STATE is not set
322CONFIG_PPC_INDIRECT_PCI=y 322CONFIG_PPC_INDIRECT_PCI=y
323CONFIG_FSL_SOC=y 323CONFIG_FSL_SOC=y
324CONFIG_FSL_PCI=y 324CONFIG_FSL_PCI=y
@@ -329,7 +329,6 @@ CONFIG_PCI_SYSCALL=y
329# CONFIG_PCIEPORTBUS is not set 329# CONFIG_PCIEPORTBUS is not set
330CONFIG_ARCH_SUPPORTS_MSI=y 330CONFIG_ARCH_SUPPORTS_MSI=y
331# CONFIG_PCI_MSI is not set 331# CONFIG_PCI_MSI is not set
332CONFIG_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#
357CONFIG_PACKET=y 356CONFIG_PACKET=y
358# CONFIG_PACKET_MMAP is not set
359CONFIG_UNIX=y 357CONFIG_UNIX=y
360CONFIG_XFRM=y 358CONFIG_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
555CONFIG_OF_FLATTREE=y
556CONFIG_OF_DYNAMIC=y
557CONFIG_OF_DEVICE=y 557CONFIG_OF_DEVICE=y
558CONFIG_OF_I2C=y 558CONFIG_OF_I2C=y
559CONFIG_OF_SPI=y 559CONFIG_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#
614CONFIG_SCSI_MOD=y
613# CONFIG_RAID_ATTRS is not set 615# CONFIG_RAID_ATTRS is not set
614CONFIG_SCSI=y 616CONFIG_SCSI=y
615CONFIG_SCSI_DMA=y 617CONFIG_SCSI_DMA=y
@@ -867,6 +869,7 @@ CONFIG_SERIAL_CORE=y
867CONFIG_SERIAL_CORE_CONSOLE=y 869CONFIG_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
871CONFIG_UNIX98_PTYS=y 874CONFIG_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
916CONFIG_I2C_MPC=y 919CONFIG_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
941CONFIG_SPI=y 939CONFIG_SPI=y
942CONFIG_SPI_MASTER=y 940CONFIG_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
1075CONFIG_VGA_ARB=y 1078CONFIG_VGA_ARB=y
1079CONFIG_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
1492CONFIG_JFFS2_RTIME=y 1499CONFIG_JFFS2_RTIME=y
1493# CONFIG_JFFS2_RUBIN is not set 1500# CONFIG_JFFS2_RUBIN is not set
1501# CONFIG_LOGFS is not set
1494CONFIG_CRAMFS=y 1502CONFIG_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 ce313259df1..880ab7aaf20 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
70CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y 70CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
71CONFIG_PPC_ADV_DEBUG_REGS=y
72CONFIG_PPC_ADV_DEBUG_IACS=2
73CONFIG_PPC_ADV_DEBUG_DACS=2
74CONFIG_PPC_ADV_DEBUG_DVCS=0
71CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 75CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
72CONFIG_CONSTRUCTORS=y 76CONFIG_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
101CONFIG_LOG_BUF_SHIFT=14 105CONFIG_LOG_BUF_SHIFT=14
102CONFIG_GROUP_SCHED=y
103CONFIG_FAIR_GROUP_SCHED=y
104# CONFIG_RT_GROUP_SCHED is not set
105CONFIG_USER_SCHED=y
106# CONFIG_CGROUP_SCHED is not set
107# CONFIG_CGROUPS is not set 106# CONFIG_CGROUPS is not set
108CONFIG_SYSFS_DEPRECATED=y 107# CONFIG_SYSFS_DEPRECATED_V2 is not set
109CONFIG_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
112CONFIG_BLK_DEV_INITRD=y 110CONFIG_BLK_DEV_INITRD=y
@@ -114,6 +112,7 @@ CONFIG_INITRAMFS_SOURCE=""
114CONFIG_RD_GZIP=y 112CONFIG_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
118CONFIG_SYSCTL=y 117CONFIG_SYSCTL=y
119CONFIG_ANON_INODES=y 118CONFIG_ANON_INODES=y
@@ -324,6 +323,7 @@ CONFIG_ISA_DMA_API=y
324# Bus options 323# Bus options
325# 324#
326CONFIG_ZONE_DMA=y 325CONFIG_ZONE_DMA=y
326# CONFIG_NEED_DMA_MAP_STATE is not set
327CONFIG_PPC_INDIRECT_PCI=y 327CONFIG_PPC_INDIRECT_PCI=y
328CONFIG_FSL_SOC=y 328CONFIG_FSL_SOC=y
329CONFIG_FSL_PCI=y 329CONFIG_FSL_PCI=y
@@ -334,7 +334,6 @@ CONFIG_PCI_SYSCALL=y
334# CONFIG_PCIEPORTBUS is not set 334# CONFIG_PCIEPORTBUS is not set
335CONFIG_ARCH_SUPPORTS_MSI=y 335CONFIG_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#
365CONFIG_PACKET=y 364CONFIG_PACKET=y
366# CONFIG_PACKET_MMAP is not set
367CONFIG_UNIX=y 365CONFIG_UNIX=y
368CONFIG_XFRM=y 366CONFIG_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
521CONFIG_OF_FLATTREE=y
522CONFIG_OF_DYNAMIC=y
523CONFIG_OF_DEVICE=y 523CONFIG_OF_DEVICE=y
524CONFIG_OF_GPIO=y 524CONFIG_OF_GPIO=y
525CONFIG_OF_I2C=m 525CONFIG_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#
634CONFIG_SCSI_MOD=m
633# CONFIG_RAID_ATTRS is not set 635# CONFIG_RAID_ATTRS is not set
634CONFIG_SCSI=m 636CONFIG_SCSI=m
635CONFIG_SCSI_DMA=y 637CONFIG_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
818CONFIG_CHELSIO_T3_DEPENDS=y 820CONFIG_CHELSIO_T3_DEPENDS=y
819# CONFIG_CHELSIO_T3 is not set 821# CONFIG_CHELSIO_T3 is not set
822CONFIG_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
947CONFIG_SERIAL_CPM=y 952CONFIG_SERIAL_CPM=y
948CONFIG_SERIAL_CPM_CONSOLE=y 953CONFIG_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
951CONFIG_UNIX98_PTYS=y 957CONFIG_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#
1167CONFIG_AGP=m 1175CONFIG_AGP=m
1168CONFIG_VGA_ARB=y 1176CONFIG_VGA_ARB=y
1177CONFIG_VGA_ARB_MAX_GPUS=16
1169CONFIG_DRM=m 1178CONFIG_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
1311CONFIG_CRAMFS=m 1321CONFIG_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
1334CONFIG_SMB_FS=m 1344CONFIG_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 0824b466722..230aa2fc062 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
69CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y 69CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
70CONFIG_PPC_ADV_DEBUG_REGS=y
71CONFIG_PPC_ADV_DEBUG_IACS=2
72CONFIG_PPC_ADV_DEBUG_DACS=2
73CONFIG_PPC_ADV_DEBUG_DVCS=0
70CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 74CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
71CONFIG_CONSTRUCTORS=y 75CONFIG_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
100CONFIG_LOG_BUF_SHIFT=14 104CONFIG_LOG_BUF_SHIFT=14
101CONFIG_GROUP_SCHED=y
102CONFIG_FAIR_GROUP_SCHED=y
103# CONFIG_RT_GROUP_SCHED is not set
104CONFIG_USER_SCHED=y
105# CONFIG_CGROUP_SCHED is not set
106# CONFIG_CGROUPS is not set 105# CONFIG_CGROUPS is not set
107CONFIG_SYSFS_DEPRECATED=y 106# CONFIG_SYSFS_DEPRECATED_V2 is not set
108CONFIG_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
111CONFIG_BLK_DEV_INITRD=y 109CONFIG_BLK_DEV_INITRD=y
@@ -113,6 +111,7 @@ CONFIG_INITRAMFS_SOURCE=""
113CONFIG_RD_GZIP=y 111CONFIG_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
117CONFIG_SYSCTL=y 116CONFIG_SYSCTL=y
118CONFIG_ANON_INODES=y 117CONFIG_ANON_INODES=y
@@ -315,6 +314,7 @@ CONFIG_ISA_DMA_API=y
315# Bus options 314# Bus options
316# 315#
317CONFIG_ZONE_DMA=y 316CONFIG_ZONE_DMA=y
317# CONFIG_NEED_DMA_MAP_STATE is not set
318CONFIG_PPC_INDIRECT_PCI=y 318CONFIG_PPC_INDIRECT_PCI=y
319CONFIG_FSL_SOC=y 319CONFIG_FSL_SOC=y
320CONFIG_FSL_PCI=y 320CONFIG_FSL_PCI=y
@@ -325,7 +325,6 @@ CONFIG_PCI_SYSCALL=y
325# CONFIG_PCIEPORTBUS is not set 325# CONFIG_PCIEPORTBUS is not set
326CONFIG_ARCH_SUPPORTS_MSI=y 326CONFIG_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#
353CONFIG_PACKET=y 352CONFIG_PACKET=y
354# CONFIG_PACKET_MMAP is not set
355CONFIG_UNIX=y 353CONFIG_UNIX=y
356CONFIG_XFRM=y 354CONFIG_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
526CONFIG_OF_FLATTREE=y
527CONFIG_OF_DYNAMIC=y
528CONFIG_OF_DEVICE=y 528CONFIG_OF_DEVICE=y
529CONFIG_OF_I2C=y 529CONFIG_OF_I2C=y
530CONFIG_OF_MDIO=y 530CONFIG_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#
636CONFIG_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
709CONFIG_E100=y 712CONFIG_E100=y
@@ -755,6 +758,8 @@ CONFIG_NETDEV_10000=y
755# CONFIG_CHELSIO_T1 is not set 758# CONFIG_CHELSIO_T1 is not set
756CONFIG_CHELSIO_T3_DEPENDS=y 759CONFIG_CHELSIO_T3_DEPENDS=y
757# CONFIG_CHELSIO_T3 is not set 760# CONFIG_CHELSIO_T3 is not set
761CONFIG_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
851CONFIG_SERIAL_CORE_CONSOLE=y 857CONFIG_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
855CONFIG_UNIX98_PTYS=y 862CONFIG_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
902CONFIG_I2C_MPC=y 909CONFIG_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
1037CONFIG_VGA_ARB=y 1044CONFIG_VGA_ARB=y
1045CONFIG_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
1173CONFIG_JFFS2_RTIME=y 1181CONFIG_JFFS2_RTIME=y
1174# CONFIG_JFFS2_RUBIN is not set 1182# CONFIG_JFFS2_RUBIN is not set
1183# CONFIG_LOGFS is not set
1175CONFIG_CRAMFS=y 1184CONFIG_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 2137be4100e..dbe04b981b8 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
70CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y 70CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
71CONFIG_PPC_ADV_DEBUG_REGS=y
72CONFIG_PPC_ADV_DEBUG_IACS=2
73CONFIG_PPC_ADV_DEBUG_DACS=2
74CONFIG_PPC_ADV_DEBUG_DVCS=0
71CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 75CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
72CONFIG_CONSTRUCTORS=y 76CONFIG_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
101CONFIG_LOG_BUF_SHIFT=14 105CONFIG_LOG_BUF_SHIFT=14
102CONFIG_GROUP_SCHED=y
103CONFIG_FAIR_GROUP_SCHED=y
104# CONFIG_RT_GROUP_SCHED is not set
105CONFIG_USER_SCHED=y
106# CONFIG_CGROUP_SCHED is not set
107# CONFIG_CGROUPS is not set 106# CONFIG_CGROUPS is not set
108CONFIG_SYSFS_DEPRECATED=y 107# CONFIG_SYSFS_DEPRECATED_V2 is not set
109CONFIG_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
112CONFIG_BLK_DEV_INITRD=y 110CONFIG_BLK_DEV_INITRD=y
@@ -114,6 +112,7 @@ CONFIG_INITRAMFS_SOURCE=""
114CONFIG_RD_GZIP=y 112CONFIG_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
118CONFIG_SYSCTL=y 117CONFIG_SYSCTL=y
119CONFIG_ANON_INODES=y 118CONFIG_ANON_INODES=y
@@ -318,6 +317,7 @@ CONFIG_ISA_DMA_API=y
318# Bus options 317# Bus options
319# 318#
320CONFIG_ZONE_DMA=y 319CONFIG_ZONE_DMA=y
320# CONFIG_NEED_DMA_MAP_STATE is not set
321CONFIG_PPC_INDIRECT_PCI=y 321CONFIG_PPC_INDIRECT_PCI=y
322CONFIG_FSL_SOC=y 322CONFIG_FSL_SOC=y
323CONFIG_FSL_PCI=y 323CONFIG_FSL_PCI=y
@@ -328,7 +328,6 @@ CONFIG_PCI_SYSCALL=y
328# CONFIG_PCIEPORTBUS is not set 328# CONFIG_PCIEPORTBUS is not set
329CONFIG_ARCH_SUPPORTS_MSI=y 329CONFIG_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#
356CONFIG_PACKET=y 355CONFIG_PACKET=y
357# CONFIG_PACKET_MMAP is not set
358CONFIG_UNIX=y 356CONFIG_UNIX=y
359CONFIG_XFRM=y 357CONFIG_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
529CONFIG_OF_FLATTREE=y
530CONFIG_OF_DYNAMIC=y
531CONFIG_OF_DEVICE=y 531CONFIG_OF_DEVICE=y
532CONFIG_OF_GPIO=y 532CONFIG_OF_GPIO=y
533CONFIG_OF_I2C=y 533CONFIG_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#
640CONFIG_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
713CONFIG_E100=y 716CONFIG_E100=y
@@ -760,6 +763,8 @@ CONFIG_NETDEV_10000=y
760# CONFIG_CHELSIO_T1 is not set 763# CONFIG_CHELSIO_T1 is not set
761CONFIG_CHELSIO_T3_DEPENDS=y 764CONFIG_CHELSIO_T3_DEPENDS=y
762# CONFIG_CHELSIO_T3 is not set 765# CONFIG_CHELSIO_T3 is not set
766CONFIG_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
858CONFIG_SERIAL_CPM_CONSOLE=y 864CONFIG_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
862CONFIG_UNIX98_PTYS=y 869CONFIG_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
912CONFIG_I2C_MPC=y 919CONFIG_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
1078CONFIG_VGA_ARB=y 1091CONFIG_VGA_ARB=y
1092CONFIG_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
1214CONFIG_JFFS2_RTIME=y 1228CONFIG_JFFS2_RTIME=y
1215# CONFIG_JFFS2_RUBIN is not set 1229# CONFIG_JFFS2_RUBIN is not set
1230# CONFIG_LOGFS is not set
1216CONFIG_CRAMFS=y 1231CONFIG_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 5cc89aac3fe..845efa79dd2 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
69CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y 69CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
70CONFIG_PPC_ADV_DEBUG_REGS=y
71CONFIG_PPC_ADV_DEBUG_IACS=2
72CONFIG_PPC_ADV_DEBUG_DACS=2
73CONFIG_PPC_ADV_DEBUG_DVCS=0
70CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 74CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
71CONFIG_CONSTRUCTORS=y 75CONFIG_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
100CONFIG_LOG_BUF_SHIFT=14 104CONFIG_LOG_BUF_SHIFT=14
101CONFIG_GROUP_SCHED=y
102# CONFIG_FAIR_GROUP_SCHED is not set
103# CONFIG_RT_GROUP_SCHED is not set
104CONFIG_USER_SCHED=y
105# CONFIG_CGROUP_SCHED is not set
106# CONFIG_CGROUPS is not set 105# CONFIG_CGROUPS is not set
107CONFIG_SYSFS_DEPRECATED=y 106# CONFIG_SYSFS_DEPRECATED_V2 is not set
108CONFIG_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
111CONFIG_BLK_DEV_INITRD=y 109CONFIG_BLK_DEV_INITRD=y
@@ -113,6 +111,7 @@ CONFIG_INITRAMFS_SOURCE=""
113CONFIG_RD_GZIP=y 111CONFIG_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
117CONFIG_SYSCTL=y 116CONFIG_SYSCTL=y
118CONFIG_ANON_INODES=y 117CONFIG_ANON_INODES=y
@@ -324,6 +323,7 @@ CONFIG_ISA_DMA_API=y
324# Bus options 323# Bus options
325# 324#
326CONFIG_ZONE_DMA=y 325CONFIG_ZONE_DMA=y
326# CONFIG_NEED_DMA_MAP_STATE is not set
327CONFIG_PPC_INDIRECT_PCI=y 327CONFIG_PPC_INDIRECT_PCI=y
328CONFIG_FSL_SOC=y 328CONFIG_FSL_SOC=y
329CONFIG_FSL_PCI=y 329CONFIG_FSL_PCI=y
@@ -339,7 +339,6 @@ CONFIG_PCIEAER=y
339# CONFIG_PCIEASPM is not set 339# CONFIG_PCIEASPM is not set
340CONFIG_ARCH_SUPPORTS_MSI=y 340CONFIG_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#
370CONFIG_PACKET=y 369CONFIG_PACKET=y
371# CONFIG_PACKET_MMAP is not set
372CONFIG_UNIX=y 370CONFIG_UNIX=y
373CONFIG_XFRM=y 371CONFIG_XFRM=y
374CONFIG_XFRM_USER=y 372CONFIG_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
560CONFIG_OF_FLATTREE=y
561CONFIG_OF_DYNAMIC=y
562CONFIG_OF_DEVICE=y 562CONFIG_OF_DEVICE=y
563CONFIG_OF_I2C=y 563CONFIG_OF_I2C=y
564CONFIG_OF_MDIO=y 564CONFIG_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#
615CONFIG_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
717CONFIG_CHELSIO_T3_DEPENDS=y 719CONFIG_CHELSIO_T3_DEPENDS=y
718# CONFIG_CHELSIO_T3 is not set 720# CONFIG_CHELSIO_T3 is not set
721CONFIG_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
812CONFIG_SERIAL_CORE_CONSOLE=y 817CONFIG_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
816CONFIG_UNIX98_PTYS=y 822CONFIG_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
860CONFIG_I2C_MPC=y 866CONFIG_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
996CONFIG_VGA_ARB=y 1002CONFIG_VGA_ARB=y
1003CONFIG_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
999CONFIG_VIDEO_OUTPUT_CONTROL=y 1006CONFIG_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
1163CONFIG_JFFS2_RTIME=y 1170CONFIG_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 e7b9148e58c..b958136a12f 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
70CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y 70CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
71CONFIG_PPC_ADV_DEBUG_REGS=y
72CONFIG_PPC_ADV_DEBUG_IACS=2
73CONFIG_PPC_ADV_DEBUG_DACS=2
74CONFIG_PPC_ADV_DEBUG_DVCS=0
71CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 75CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
72CONFIG_CONSTRUCTORS=y 76CONFIG_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
101CONFIG_LOG_BUF_SHIFT=14 105CONFIG_LOG_BUF_SHIFT=14
102CONFIG_GROUP_SCHED=y
103CONFIG_FAIR_GROUP_SCHED=y
104# CONFIG_RT_GROUP_SCHED is not set
105CONFIG_USER_SCHED=y
106# CONFIG_CGROUP_SCHED is not set
107# CONFIG_CGROUPS is not set 106# CONFIG_CGROUPS is not set
108CONFIG_SYSFS_DEPRECATED=y 107# CONFIG_SYSFS_DEPRECATED_V2 is not set
109CONFIG_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
112CONFIG_BLK_DEV_INITRD=y 110CONFIG_BLK_DEV_INITRD=y
@@ -114,6 +112,7 @@ CONFIG_INITRAMFS_SOURCE=""
114CONFIG_RD_GZIP=y 112CONFIG_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
118CONFIG_SYSCTL=y 117CONFIG_SYSCTL=y
119CONFIG_ANON_INODES=y 118CONFIG_ANON_INODES=y
@@ -318,6 +317,7 @@ CONFIG_ISA_DMA_API=y
318# Bus options 317# Bus options
319# 318#
320CONFIG_ZONE_DMA=y 319CONFIG_ZONE_DMA=y
320# CONFIG_NEED_DMA_MAP_STATE is not set
321CONFIG_PPC_INDIRECT_PCI=y 321CONFIG_PPC_INDIRECT_PCI=y
322CONFIG_FSL_SOC=y 322CONFIG_FSL_SOC=y
323CONFIG_FSL_PCI=y 323CONFIG_FSL_PCI=y
@@ -328,7 +328,6 @@ CONFIG_PCI_SYSCALL=y
328# CONFIG_PCIEPORTBUS is not set 328# CONFIG_PCIEPORTBUS is not set
329CONFIG_ARCH_SUPPORTS_MSI=y 329CONFIG_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#
356CONFIG_PACKET=y 355CONFIG_PACKET=y
357# CONFIG_PACKET_MMAP is not set
358CONFIG_UNIX=y 356CONFIG_UNIX=y
359CONFIG_XFRM=y 357CONFIG_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
529CONFIG_OF_FLATTREE=y
530CONFIG_OF_DYNAMIC=y
531CONFIG_OF_DEVICE=y 531CONFIG_OF_DEVICE=y
532CONFIG_OF_GPIO=y 532CONFIG_OF_GPIO=y
533CONFIG_OF_I2C=y 533CONFIG_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#
640CONFIG_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
713CONFIG_E100=y 716CONFIG_E100=y
@@ -760,6 +763,8 @@ CONFIG_NETDEV_10000=y
760# CONFIG_CHELSIO_T1 is not set 763# CONFIG_CHELSIO_T1 is not set
761CONFIG_CHELSIO_T3_DEPENDS=y 764CONFIG_CHELSIO_T3_DEPENDS=y
762# CONFIG_CHELSIO_T3 is not set 765# CONFIG_CHELSIO_T3 is not set
766CONFIG_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
858CONFIG_SERIAL_CPM_CONSOLE=y 864CONFIG_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
862CONFIG_UNIX98_PTYS=y 869CONFIG_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
912CONFIG_I2C_MPC=y 919CONFIG_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
1078CONFIG_VGA_ARB=y 1091CONFIG_VGA_ARB=y
1092CONFIG_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
1214CONFIG_JFFS2_RTIME=y 1228CONFIG_JFFS2_RTIME=y
1215# CONFIG_JFFS2_RUBIN is not set 1229# CONFIG_JFFS2_RUBIN is not set
1230# CONFIG_LOGFS is not set
1216CONFIG_CRAMFS=y 1231CONFIG_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 a998e401bbf..008bc975492 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
70CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y 70CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
71CONFIG_PPC_ADV_DEBUG_REGS=y
72CONFIG_PPC_ADV_DEBUG_IACS=2
73CONFIG_PPC_ADV_DEBUG_DACS=2
74CONFIG_PPC_ADV_DEBUG_DVCS=0
71CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 75CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
72CONFIG_CONSTRUCTORS=y 76CONFIG_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
101CONFIG_LOG_BUF_SHIFT=14 105CONFIG_LOG_BUF_SHIFT=14
102CONFIG_GROUP_SCHED=y
103CONFIG_FAIR_GROUP_SCHED=y
104# CONFIG_RT_GROUP_SCHED is not set
105CONFIG_USER_SCHED=y
106# CONFIG_CGROUP_SCHED is not set
107# CONFIG_CGROUPS is not set 106# CONFIG_CGROUPS is not set
108CONFIG_SYSFS_DEPRECATED=y 107# CONFIG_SYSFS_DEPRECATED_V2 is not set
109CONFIG_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
112CONFIG_BLK_DEV_INITRD=y 110CONFIG_BLK_DEV_INITRD=y
@@ -114,6 +112,7 @@ CONFIG_INITRAMFS_SOURCE=""
114CONFIG_RD_GZIP=y 112CONFIG_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
118CONFIG_SYSCTL=y 117CONFIG_SYSCTL=y
119CONFIG_ANON_INODES=y 118CONFIG_ANON_INODES=y
@@ -318,6 +317,7 @@ CONFIG_ISA_DMA_API=y
318# Bus options 317# Bus options
319# 318#
320CONFIG_ZONE_DMA=y 319CONFIG_ZONE_DMA=y
320# CONFIG_NEED_DMA_MAP_STATE is not set
321CONFIG_PPC_INDIRECT_PCI=y 321CONFIG_PPC_INDIRECT_PCI=y
322CONFIG_FSL_SOC=y 322CONFIG_FSL_SOC=y
323CONFIG_FSL_PCI=y 323CONFIG_FSL_PCI=y
@@ -328,7 +328,6 @@ CONFIG_PCI_SYSCALL=y
328# CONFIG_PCIEPORTBUS is not set 328# CONFIG_PCIEPORTBUS is not set
329CONFIG_ARCH_SUPPORTS_MSI=y 329CONFIG_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#
356CONFIG_PACKET=y 355CONFIG_PACKET=y
357# CONFIG_PACKET_MMAP is not set
358CONFIG_UNIX=y 356CONFIG_UNIX=y
359CONFIG_XFRM=y 357CONFIG_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
529CONFIG_OF_FLATTREE=y
530CONFIG_OF_DYNAMIC=y
531CONFIG_OF_DEVICE=y 531CONFIG_OF_DEVICE=y
532CONFIG_OF_GPIO=y 532CONFIG_OF_GPIO=y
533CONFIG_OF_I2C=y 533CONFIG_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#
640CONFIG_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
713CONFIG_E100=y 716CONFIG_E100=y
@@ -760,6 +763,8 @@ CONFIG_NETDEV_10000=y
760# CONFIG_CHELSIO_T1 is not set 763# CONFIG_CHELSIO_T1 is not set
761CONFIG_CHELSIO_T3_DEPENDS=y 764CONFIG_CHELSIO_T3_DEPENDS=y
762# CONFIG_CHELSIO_T3 is not set 765# CONFIG_CHELSIO_T3 is not set
766CONFIG_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
858CONFIG_SERIAL_CPM_CONSOLE=y 864CONFIG_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
862CONFIG_UNIX98_PTYS=y 869CONFIG_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
912CONFIG_I2C_MPC=y 919CONFIG_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
1078CONFIG_VGA_ARB=y 1091CONFIG_VGA_ARB=y
1092CONFIG_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
1214CONFIG_JFFS2_RTIME=y 1228CONFIG_JFFS2_RTIME=y
1215# CONFIG_JFFS2_RUBIN is not set 1229# CONFIG_JFFS2_RUBIN is not set
1230# CONFIG_LOGFS is not set
1216CONFIG_CRAMFS=y 1231CONFIG_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 fc656af04ea..2cf80dba028 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
71CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y 71CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
72CONFIG_PPC_ADV_DEBUG_REGS=y
73CONFIG_PPC_ADV_DEBUG_IACS=2
74CONFIG_PPC_ADV_DEBUG_DACS=2
75CONFIG_PPC_ADV_DEBUG_DVCS=0
72CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 76CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
73CONFIG_CONSTRUCTORS=y 77CONFIG_CONSTRUCTORS=y
74 78
@@ -104,10 +108,8 @@ CONFIG_RCU_FANOUT=32
104CONFIG_IKCONFIG=y 108CONFIG_IKCONFIG=y
105CONFIG_IKCONFIG_PROC=y 109CONFIG_IKCONFIG_PROC=y
106CONFIG_LOG_BUF_SHIFT=14 110CONFIG_LOG_BUF_SHIFT=14
107# CONFIG_GROUP_SCHED is not set
108# CONFIG_CGROUPS is not set 111# CONFIG_CGROUPS is not set
109CONFIG_SYSFS_DEPRECATED=y 112# CONFIG_SYSFS_DEPRECATED_V2 is not set
110CONFIG_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
113CONFIG_BLK_DEV_INITRD=y 115CONFIG_BLK_DEV_INITRD=y
@@ -115,6 +117,7 @@ CONFIG_INITRAMFS_SOURCE=""
115CONFIG_RD_GZIP=y 117CONFIG_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
119CONFIG_SYSCTL=y 122CONFIG_SYSCTL=y
120CONFIG_ANON_INODES=y 123CONFIG_ANON_INODES=y
@@ -328,6 +331,7 @@ CONFIG_ISA_DMA_API=y
328# Bus options 331# Bus options
329# 332#
330CONFIG_ZONE_DMA=y 333CONFIG_ZONE_DMA=y
334# CONFIG_NEED_DMA_MAP_STATE is not set
331CONFIG_PPC_INDIRECT_PCI=y 335CONFIG_PPC_INDIRECT_PCI=y
332CONFIG_FSL_SOC=y 336CONFIG_FSL_SOC=y
333CONFIG_FSL_PCI=y 337CONFIG_FSL_PCI=y
@@ -343,7 +347,6 @@ CONFIG_PCIEAER=y
343# CONFIG_PCIEASPM is not set 347# CONFIG_PCIEASPM is not set
344CONFIG_ARCH_SUPPORTS_MSI=y 348CONFIG_ARCH_SUPPORTS_MSI=y
345CONFIG_PCI_MSI=y 349CONFIG_PCI_MSI=y
346CONFIG_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#
377CONFIG_PACKET=y 380CONFIG_PACKET=y
378# CONFIG_PACKET_MMAP is not set
379CONFIG_UNIX=y 381CONFIG_UNIX=y
380CONFIG_XFRM=y 382CONFIG_XFRM=y
381CONFIG_XFRM_USER=y 383CONFIG_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
605CONFIG_OF_FLATTREE=y
606CONFIG_OF_DYNAMIC=y
603CONFIG_OF_DEVICE=y 607CONFIG_OF_DEVICE=y
604CONFIG_OF_GPIO=y 608CONFIG_OF_GPIO=y
605CONFIG_OF_I2C=y 609CONFIG_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#
662CONFIG_SCSI_MOD=y
657# CONFIG_RAID_ATTRS is not set 663# CONFIG_RAID_ATTRS is not set
658CONFIG_SCSI=y 664CONFIG_SCSI=y
659CONFIG_SCSI_DMA=y 665CONFIG_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
1004CONFIG_SERIAL_CORE_CONSOLE=y 1011CONFIG_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
1008CONFIG_UNIX98_PTYS=y 1016CONFIG_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
1053CONFIG_I2C_MPC=y 1061CONFIG_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
1099CONFIG_GPIO_PCA953X=y 1105CONFIG_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
1138CONFIG_SENSORS_DS1621=y 1147CONFIG_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
1241CONFIG_VGA_ARB=y 1256CONFIG_VGA_ARB=y
1257CONFIG_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
1244CONFIG_VIDEO_OUTPUT_CONTROL=y 1260CONFIG_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
1423CONFIG_LEDS_PCA955X=y 1442CONFIG_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
1445CONFIG_LEDS_TRIGGERS=y
1426 1446
1427# 1447#
1428# LED Triggers 1448# LED Triggers
1429# 1449#
1430CONFIG_LEDS_TRIGGERS=y
1431CONFIG_LEDS_TRIGGER_TIMER=y 1450CONFIG_LEDS_TRIGGER_TIMER=y
1432CONFIG_LEDS_TRIGGER_HEARTBEAT=y 1451CONFIG_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
1508CONFIG_DMADEVICES=y 1527CONFIG_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
1615CONFIG_JFFS2_RTIME=y 1635CONFIG_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
1851CONFIG_CRYPTO_MANAGER2=y 1873CONFIG_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
1854CONFIG_CRYPTO_WORKQUEUE=y 1877CONFIG_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 622d84f48ab..183c59c6d89 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,11 +102,6 @@ CONFIG_RCU_FANOUT=32
102CONFIG_IKCONFIG=y 102CONFIG_IKCONFIG=y
103CONFIG_IKCONFIG_PROC=y 103CONFIG_IKCONFIG_PROC=y
104CONFIG_LOG_BUF_SHIFT=14 104CONFIG_LOG_BUF_SHIFT=14
105CONFIG_GROUP_SCHED=y
106CONFIG_FAIR_GROUP_SCHED=y
107# CONFIG_RT_GROUP_SCHED is not set
108CONFIG_USER_SCHED=y
109# CONFIG_CGROUP_SCHED is not set
110# CONFIG_CGROUPS is not set 105# CONFIG_CGROUPS is not set
111CONFIG_SYSFS_DEPRECATED=y 106CONFIG_SYSFS_DEPRECATED=y
112CONFIG_SYSFS_DEPRECATED_V2=y 107CONFIG_SYSFS_DEPRECATED_V2=y
@@ -117,6 +112,7 @@ CONFIG_INITRAMFS_SOURCE=""
117CONFIG_RD_GZIP=y 112CONFIG_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
121CONFIG_SYSCTL=y 117CONFIG_SYSCTL=y
122CONFIG_ANON_INODES=y 118CONFIG_ANON_INODES=y
@@ -325,6 +321,7 @@ CONFIG_ISA_DMA_API=y
325# Bus options 321# Bus options
326# 322#
327CONFIG_ZONE_DMA=y 323CONFIG_ZONE_DMA=y
324# CONFIG_NEED_DMA_MAP_STATE is not set
328CONFIG_GENERIC_ISA_DMA=y 325CONFIG_GENERIC_ISA_DMA=y
329CONFIG_PPC_INDIRECT_PCI=y 326CONFIG_PPC_INDIRECT_PCI=y
330CONFIG_FSL_SOC=y 327CONFIG_FSL_SOC=y
@@ -340,13 +337,11 @@ CONFIG_PCIEAER=y
340# CONFIG_PCIEASPM is not set 337# CONFIG_PCIEASPM is not set
341CONFIG_ARCH_SUPPORTS_MSI=y 338CONFIG_ARCH_SUPPORTS_MSI=y
342# CONFIG_PCI_MSI is not set 339# CONFIG_PCI_MSI is not set
343# CONFIG_PCI_LEGACY 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
346CONFIG_PCCARD=y 342CONFIG_PCCARD=y
347CONFIG_PCMCIA=y 343CONFIG_PCMCIA=y
348# CONFIG_PCMCIA_LOAD_CIS is not set 344# CONFIG_PCMCIA_LOAD_CIS is not set
349# CONFIG_PCMCIA_IOCTL is not set
350# CONFIG_CARDBUS is not set 345# CONFIG_CARDBUS is not set
351 346
352# 347#
@@ -382,7 +377,6 @@ CONFIG_NET=y
382# Networking options 377# Networking options
383# 378#
384CONFIG_PACKET=y 379CONFIG_PACKET=y
385CONFIG_PACKET_MMAP=y
386CONFIG_UNIX=y 380CONFIG_UNIX=y
387CONFIG_XFRM=y 381CONFIG_XFRM=y
388CONFIG_XFRM_USER=m 382CONFIG_XFRM_USER=m
@@ -592,6 +586,8 @@ CONFIG_MTD_PHYSMAP_OF=y
592# UBI - Unsorted block images 586# UBI - Unsorted block images
593# 587#
594# CONFIG_MTD_UBI is not set 588# CONFIG_MTD_UBI is not set
589CONFIG_OF_FLATTREE=y
590CONFIG_OF_DYNAMIC=y
595CONFIG_OF_DEVICE=y 591CONFIG_OF_DEVICE=y
596CONFIG_OF_GPIO=y 592CONFIG_OF_GPIO=y
597CONFIG_OF_I2C=y 593CONFIG_OF_I2C=y
@@ -629,6 +625,7 @@ CONFIG_MISC_DEVICES=y
629# CONFIG_ENCLOSURE_SERVICES is not set 625# CONFIG_ENCLOSURE_SERVICES is not set
630# CONFIG_HP_ILO is not set 626# CONFIG_HP_ILO is not set
631# CONFIG_ISL29003 is not set 627# CONFIG_ISL29003 is not set
628# CONFIG_SENSORS_TSL2550 is not set
632CONFIG_DS1682=y 629CONFIG_DS1682=y
633# CONFIG_C2PORT is not set 630# CONFIG_C2PORT is not set
634 631
@@ -695,6 +692,7 @@ CONFIG_IDE_PROC_FS=y
695# 692#
696# SCSI device support 693# SCSI device support
697# 694#
695CONFIG_SCSI_MOD=y
698# CONFIG_RAID_ATTRS is not set 696# CONFIG_RAID_ATTRS is not set
699CONFIG_SCSI=y 697CONFIG_SCSI=y
700CONFIG_SCSI_DMA=y 698CONFIG_SCSI_DMA=y
@@ -819,6 +817,7 @@ CONFIG_SATA_SIL=y
819# CONFIG_PATA_IT821X is not set 817# CONFIG_PATA_IT821X is not set
820# CONFIG_PATA_IT8213 is not set 818# CONFIG_PATA_IT8213 is not set
821# CONFIG_PATA_JMICRON is not set 819# CONFIG_PATA_JMICRON is not set
820# CONFIG_PATA_LEGACY is not set
822# CONFIG_PATA_TRIFLEX is not set 821# CONFIG_PATA_TRIFLEX is not set
823# CONFIG_PATA_MARVELL is not set 822# CONFIG_PATA_MARVELL is not set
824# CONFIG_PATA_MPIIX is not set 823# CONFIG_PATA_MPIIX is not set
@@ -1059,6 +1058,7 @@ CONFIG_SERIAL_CORE=y
1059CONFIG_SERIAL_CORE_CONSOLE=y 1058CONFIG_SERIAL_CORE_CONSOLE=y
1060# CONFIG_SERIAL_JSM is not set 1059# CONFIG_SERIAL_JSM is not set
1061# CONFIG_SERIAL_OF_PLATFORM is not set 1060# CONFIG_SERIAL_OF_PLATFORM is not set
1061# CONFIG_SERIAL_TIMBERDALE is not set
1062# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set 1062# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set
1063CONFIG_UNIX98_PTYS=y 1063CONFIG_UNIX98_PTYS=y
1064# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set 1064# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
@@ -1116,6 +1116,7 @@ CONFIG_I2C_HELPER_AUTO=y
1116CONFIG_I2C_MPC=y 1116CONFIG_I2C_MPC=y
1117# CONFIG_I2C_OCORES is not set 1117# CONFIG_I2C_OCORES is not set
1118# CONFIG_I2C_SIMTEC is not set 1118# CONFIG_I2C_SIMTEC is not set
1119# CONFIG_I2C_XILINX is not set
1119 1120
1120# 1121#
1121# External I2C/SMBus adapter drivers 1122# External I2C/SMBus adapter drivers
@@ -1129,15 +1130,9 @@ CONFIG_I2C_MPC=y
1129# 1130#
1130# CONFIG_I2C_PCA_PLATFORM is not set 1131# CONFIG_I2C_PCA_PLATFORM is not set
1131# CONFIG_I2C_STUB is not set 1132# 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 1133# CONFIG_I2C_DEBUG_CORE is not set
1138# CONFIG_I2C_DEBUG_ALGO is not set 1134# CONFIG_I2C_DEBUG_ALGO is not set
1139# CONFIG_I2C_DEBUG_BUS is not set 1135# CONFIG_I2C_DEBUG_BUS is not set
1140# CONFIG_I2C_DEBUG_CHIP is not set
1141# CONFIG_SPI is not set 1136# CONFIG_SPI is not set
1142 1137
1143# 1138#
@@ -1152,14 +1147,18 @@ CONFIG_GPIO_SYSFS=y
1152# 1147#
1153# Memory mapped GPIO expanders: 1148# Memory mapped GPIO expanders:
1154# 1149#
1150# CONFIG_GPIO_IT8761E is not set
1155# CONFIG_GPIO_XILINX is not set 1151# CONFIG_GPIO_XILINX is not set
1152# CONFIG_GPIO_SCH is not set
1156 1153
1157# 1154#
1158# I2C GPIO expanders: 1155# I2C GPIO expanders:
1159# 1156#
1157# CONFIG_GPIO_MAX7300 is not set
1160# CONFIG_GPIO_MAX732X is not set 1158# CONFIG_GPIO_MAX732X is not set
1161# CONFIG_GPIO_PCA953X is not set 1159# CONFIG_GPIO_PCA953X is not set
1162# CONFIG_GPIO_PCF857X is not set 1160# CONFIG_GPIO_PCF857X is not set
1161# CONFIG_GPIO_ADP5588 is not set
1163 1162
1164# 1163#
1165# PCI GPIO expanders: 1164# PCI GPIO expanders:
@@ -1192,10 +1191,11 @@ CONFIG_HWMON=y
1192# CONFIG_SENSORS_ADM1029 is not set 1191# CONFIG_SENSORS_ADM1029 is not set
1193# CONFIG_SENSORS_ADM1031 is not set 1192# CONFIG_SENSORS_ADM1031 is not set
1194# CONFIG_SENSORS_ADM9240 is not set 1193# CONFIG_SENSORS_ADM9240 is not set
1194# CONFIG_SENSORS_ADT7411 is not set
1195# CONFIG_SENSORS_ADT7462 is not set 1195# CONFIG_SENSORS_ADT7462 is not set
1196# CONFIG_SENSORS_ADT7470 is not set 1196# CONFIG_SENSORS_ADT7470 is not set
1197# CONFIG_SENSORS_ADT7473 is not set
1198# CONFIG_SENSORS_ADT7475 is not set 1197# CONFIG_SENSORS_ADT7475 is not set
1198# CONFIG_SENSORS_ASC7621 is not set
1199# CONFIG_SENSORS_ATXP1 is not set 1199# CONFIG_SENSORS_ATXP1 is not set
1200# CONFIG_SENSORS_DS1621 is not set 1200# CONFIG_SENSORS_DS1621 is not set
1201# CONFIG_SENSORS_I5K_AMB is not set 1201# CONFIG_SENSORS_I5K_AMB is not set
@@ -1233,6 +1233,7 @@ CONFIG_SENSORS_LM92=y
1233# CONFIG_SENSORS_SMSC47M192 is not set 1233# CONFIG_SENSORS_SMSC47M192 is not set
1234# CONFIG_SENSORS_SMSC47B397 is not set 1234# CONFIG_SENSORS_SMSC47B397 is not set
1235# CONFIG_SENSORS_ADS7828 is not set 1235# CONFIG_SENSORS_ADS7828 is not set
1236# CONFIG_SENSORS_AMC6821 is not set
1236# CONFIG_SENSORS_THMC50 is not set 1237# CONFIG_SENSORS_THMC50 is not set
1237# CONFIG_SENSORS_TMP401 is not set 1238# CONFIG_SENSORS_TMP401 is not set
1238# CONFIG_SENSORS_TMP421 is not set 1239# CONFIG_SENSORS_TMP421 is not set
@@ -1281,19 +1282,24 @@ CONFIG_SSB_POSSIBLE=y
1281# Multifunction device drivers 1282# Multifunction device drivers
1282# 1283#
1283# CONFIG_MFD_CORE is not set 1284# CONFIG_MFD_CORE is not set
1285# CONFIG_MFD_88PM860X is not set
1284# CONFIG_MFD_SM501 is not set 1286# CONFIG_MFD_SM501 is not set
1285# CONFIG_HTC_PASIC3 is not set 1287# CONFIG_HTC_PASIC3 is not set
1288# CONFIG_HTC_I2CPLD is not set
1286# CONFIG_TPS65010 is not set 1289# CONFIG_TPS65010 is not set
1287# CONFIG_TWL4030_CORE is not set 1290# CONFIG_TWL4030_CORE is not set
1288# CONFIG_MFD_TMIO is not set 1291# CONFIG_MFD_TMIO is not set
1289# CONFIG_PMIC_DA903X is not set 1292# CONFIG_PMIC_DA903X is not set
1290# CONFIG_PMIC_ADP5520 is not set 1293# CONFIG_PMIC_ADP5520 is not set
1294# CONFIG_MFD_MAX8925 is not set
1291# CONFIG_MFD_WM8400 is not set 1295# CONFIG_MFD_WM8400 is not set
1292# CONFIG_MFD_WM831X is not set 1296# CONFIG_MFD_WM831X is not set
1293# CONFIG_MFD_WM8350_I2C is not set 1297# CONFIG_MFD_WM8350_I2C is not set
1298# CONFIG_MFD_WM8994 is not set
1294# CONFIG_MFD_PCF50633 is not set 1299# CONFIG_MFD_PCF50633 is not set
1295# CONFIG_AB3100_CORE is not set 1300# CONFIG_AB3100_CORE is not set
1296# CONFIG_MFD_88PM8607 is not set 1301# CONFIG_MFD_TIMBERDALE is not set
1302# CONFIG_LPC_SCH is not set
1297# CONFIG_REGULATOR is not set 1303# CONFIG_REGULATOR is not set
1298# CONFIG_MEDIA_SUPPORT is not set 1304# CONFIG_MEDIA_SUPPORT is not set
1299 1305
@@ -1302,6 +1308,7 @@ CONFIG_SSB_POSSIBLE=y
1302# 1308#
1303# CONFIG_AGP is not set 1309# CONFIG_AGP is not set
1304CONFIG_VGA_ARB=y 1310CONFIG_VGA_ARB=y
1311CONFIG_VGA_ARB_MAX_GPUS=16
1305# CONFIG_DRM is not set 1312# CONFIG_DRM is not set
1306# CONFIG_VGASTATE is not set 1313# CONFIG_VGASTATE is not set
1307CONFIG_VIDEO_OUTPUT_CONTROL=m 1314CONFIG_VIDEO_OUTPUT_CONTROL=m
@@ -1334,6 +1341,7 @@ CONFIG_USB_HID=y
1334# 1341#
1335# Special HID drivers 1342# Special HID drivers
1336# 1343#
1344# CONFIG_HID_3M_PCT is not set
1337CONFIG_HID_A4TECH=y 1345CONFIG_HID_A4TECH=y
1338CONFIG_HID_APPLE=y 1346CONFIG_HID_APPLE=y
1339CONFIG_HID_BELKIN=y 1347CONFIG_HID_BELKIN=y
@@ -1349,14 +1357,19 @@ CONFIG_HID_GYRATION=y
1349CONFIG_HID_LOGITECH=y 1357CONFIG_HID_LOGITECH=y
1350# CONFIG_LOGITECH_FF is not set 1358# CONFIG_LOGITECH_FF is not set
1351# CONFIG_LOGIRUMBLEPAD2_FF is not set 1359# CONFIG_LOGIRUMBLEPAD2_FF is not set
1360# CONFIG_LOGIG940_FF is not set
1352CONFIG_HID_MICROSOFT=y 1361CONFIG_HID_MICROSOFT=y
1362# CONFIG_HID_MOSART is not set
1353CONFIG_HID_MONTEREY=y 1363CONFIG_HID_MONTEREY=y
1354# CONFIG_HID_NTRIG is not set 1364# CONFIG_HID_NTRIG is not set
1365# CONFIG_HID_ORTEK is not set
1355CONFIG_HID_PANTHERLORD=y 1366CONFIG_HID_PANTHERLORD=y
1356# CONFIG_PANTHERLORD_FF is not set 1367# CONFIG_PANTHERLORD_FF is not set
1357CONFIG_HID_PETALYNX=y 1368CONFIG_HID_PETALYNX=y
1369# CONFIG_HID_QUANTA is not set
1358CONFIG_HID_SAMSUNG=y 1370CONFIG_HID_SAMSUNG=y
1359CONFIG_HID_SONY=y 1371CONFIG_HID_SONY=y
1372# CONFIG_HID_STANTUM is not set
1360CONFIG_HID_SUNPLUS=y 1373CONFIG_HID_SUNPLUS=y
1361# CONFIG_HID_GREENASIA is not set 1374# CONFIG_HID_GREENASIA is not set
1362# CONFIG_HID_SMARTJOYPLUS is not set 1375# CONFIG_HID_SMARTJOYPLUS is not set
@@ -1463,7 +1476,6 @@ CONFIG_USB_STORAGE=y
1463# CONFIG_USB_RIO500 is not set 1476# CONFIG_USB_RIO500 is not set
1464# CONFIG_USB_LEGOTOWER is not set 1477# CONFIG_USB_LEGOTOWER is not set
1465# CONFIG_USB_LCD is not set 1478# CONFIG_USB_LCD is not set
1466# CONFIG_USB_BERRY_CHARGE is not set
1467# CONFIG_USB_LED is not set 1479# CONFIG_USB_LED is not set
1468# CONFIG_USB_CYPRESS_CY7C63 is not set 1480# CONFIG_USB_CYPRESS_CY7C63 is not set
1469# CONFIG_USB_CYTHERM is not set 1481# CONFIG_USB_CYTHERM is not set
@@ -1476,7 +1488,6 @@ CONFIG_USB_STORAGE=y
1476# CONFIG_USB_IOWARRIOR is not set 1488# CONFIG_USB_IOWARRIOR is not set
1477# CONFIG_USB_TEST is not set 1489# CONFIG_USB_TEST is not set
1478# CONFIG_USB_ISIGHTFW is not set 1490# CONFIG_USB_ISIGHTFW is not set
1479# CONFIG_USB_VST is not set
1480# CONFIG_USB_GADGET is not set 1491# CONFIG_USB_GADGET is not set
1481 1492
1482# 1493#
@@ -1560,43 +1571,35 @@ CONFIG_RTC_DRV_RX8581=y
1560CONFIG_STAGING=y 1571CONFIG_STAGING=y
1561# CONFIG_STAGING_EXCLUDE_BUILD is not set 1572# CONFIG_STAGING_EXCLUDE_BUILD is not set
1562# CONFIG_ET131X is not set 1573# 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 1574# CONFIG_USB_IP_COMMON is not set
1575# CONFIG_PRISM2_USB is not set
1566# CONFIG_ECHO is not set 1576# CONFIG_ECHO is not set
1567# CONFIG_COMEDI is not set 1577# CONFIG_COMEDI is not set
1568# CONFIG_ASUS_OLED is not set 1578# CONFIG_ASUS_OLED is not set
1569# CONFIG_ALTERA_PCIE_CHDMA is not set 1579# CONFIG_R8187SE is not set
1570# CONFIG_INPUT_MIMIO is not set 1580# CONFIG_RTL8192SU is not set
1581# CONFIG_RTL8192U is not set
1582# CONFIG_RTL8192E is not set
1571# CONFIG_TRANZPORT is not set 1583# CONFIG_TRANZPORT is not set
1572 1584
1573# 1585#
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 1586# Qualcomm MSM Camera And Video
1587# 1587#
1588 1588
1589# 1589#
1590# Camera Sensor Selection 1590# Camera Sensor Selection
1591# 1591#
1592# CONFIG_HYPERV_STORAGE is not set 1592# CONFIG_INPUT_GPIO is not set
1593# CONFIG_HYPERV_BLOCK is not set 1593# CONFIG_POHMELFS is not set
1594# CONFIG_HYPERV_NET is not set 1594# CONFIG_IDE_PHISON is not set
1595# CONFIG_VT6655 is not set
1596# CONFIG_VT6656 is not set
1595CONFIG_VME_BUS=y 1597CONFIG_VME_BUS=y
1596 1598
1597# 1599#
1598# VME Bridge Drivers 1600# VME Bridge Drivers
1599# 1601#
1602# CONFIG_VME_CA91CX42 is not set
1600CONFIG_VME_TSI148=y 1603CONFIG_VME_TSI148=y
1601 1604
1602# 1605#
@@ -1605,6 +1608,24 @@ CONFIG_VME_TSI148=y
1605# CONFIG_VME_USER is not set 1608# CONFIG_VME_USER is not set
1606 1609
1607# 1610#
1611# VME Board Drivers
1612#
1613# CONFIG_VMIVME_7805 is not set
1614
1615#
1616# RAR Register Driver
1617#
1618# CONFIG_RAR_REGISTER is not set
1619# CONFIG_IIO is not set
1620# CONFIG_RAMZSWAP is not set
1621# CONFIG_BATMAN_ADV is not set
1622# CONFIG_STRIP is not set
1623# CONFIG_PCMCIA_WAVELAN is not set
1624# CONFIG_PCMCIA_NETWAVE is not set
1625# CONFIG_DT3155 is not set
1626# CONFIG_CRYSTALHD is not set
1627
1628#
1608# File systems 1629# File systems
1609# 1630#
1610CONFIG_EXT2_FS=y 1631CONFIG_EXT2_FS=y
@@ -1693,6 +1714,7 @@ CONFIG_JFFS2_ZLIB=y
1693# CONFIG_JFFS2_LZO is not set 1714# CONFIG_JFFS2_LZO is not set
1694CONFIG_JFFS2_RTIME=y 1715CONFIG_JFFS2_RTIME=y
1695# CONFIG_JFFS2_RUBIN is not set 1716# CONFIG_JFFS2_RUBIN is not set
1717# CONFIG_LOGFS is not set
1696# CONFIG_CRAMFS is not set 1718# CONFIG_CRAMFS is not set
1697# CONFIG_SQUASHFS is not set 1719# CONFIG_SQUASHFS is not set
1698# CONFIG_VXFS_FS is not set 1720# CONFIG_VXFS_FS is not set
@@ -1719,6 +1741,7 @@ CONFIG_SUNRPC_GSS=y
1719CONFIG_RPCSEC_GSS_KRB5=y 1741CONFIG_RPCSEC_GSS_KRB5=y
1720# CONFIG_RPCSEC_GSS_SPKM3 is not set 1742# CONFIG_RPCSEC_GSS_SPKM3 is not set
1721# CONFIG_SMB_FS is not set 1743# CONFIG_SMB_FS is not set
1744# CONFIG_CEPH_FS is not set
1722CONFIG_CIFS=m 1745CONFIG_CIFS=m
1723# CONFIG_CIFS_STATS is not set 1746# CONFIG_CIFS_STATS is not set
1724# CONFIG_CIFS_WEAK_PW_HASH is not set 1747# CONFIG_CIFS_WEAK_PW_HASH is not set
@@ -1864,6 +1887,7 @@ CONFIG_CRYPTO_MANAGER=y
1864CONFIG_CRYPTO_MANAGER2=y 1887CONFIG_CRYPTO_MANAGER2=y
1865# CONFIG_CRYPTO_GF128MUL is not set 1888# CONFIG_CRYPTO_GF128MUL is not set
1866# CONFIG_CRYPTO_NULL is not set 1889# CONFIG_CRYPTO_NULL is not set
1890# CONFIG_CRYPTO_PCRYPT is not set
1867CONFIG_CRYPTO_WORKQUEUE=y 1891CONFIG_CRYPTO_WORKQUEUE=y
1868# CONFIG_CRYPTO_CRYPTD is not set 1892# CONFIG_CRYPTO_CRYPTD is not set
1869CONFIG_CRYPTO_AUTHENC=m 1893CONFIG_CRYPTO_AUTHENC=m
diff --git a/arch/powerpc/configs/86xx/gef_sbc310_defconfig b/arch/powerpc/configs/86xx/gef_sbc310_defconfig
index eb58dec11a6..1524d948a2b 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,11 +102,6 @@ CONFIG_RCU_FANOUT=32
102CONFIG_IKCONFIG=y 102CONFIG_IKCONFIG=y
103CONFIG_IKCONFIG_PROC=y 103CONFIG_IKCONFIG_PROC=y
104CONFIG_LOG_BUF_SHIFT=14 104CONFIG_LOG_BUF_SHIFT=14
105CONFIG_GROUP_SCHED=y
106CONFIG_FAIR_GROUP_SCHED=y
107# CONFIG_RT_GROUP_SCHED is not set
108CONFIG_USER_SCHED=y
109# CONFIG_CGROUP_SCHED is not set
110# CONFIG_CGROUPS is not set 105# CONFIG_CGROUPS is not set
111CONFIG_SYSFS_DEPRECATED=y 106CONFIG_SYSFS_DEPRECATED=y
112CONFIG_SYSFS_DEPRECATED_V2=y 107CONFIG_SYSFS_DEPRECATED_V2=y
@@ -117,6 +112,7 @@ CONFIG_INITRAMFS_SOURCE=""
117CONFIG_RD_GZIP=y 112CONFIG_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
121CONFIG_SYSCTL=y 117CONFIG_SYSCTL=y
122CONFIG_ANON_INODES=y 118CONFIG_ANON_INODES=y
@@ -325,6 +321,7 @@ CONFIG_ISA_DMA_API=y
325# Bus options 321# Bus options
326# 322#
327CONFIG_ZONE_DMA=y 323CONFIG_ZONE_DMA=y
324# CONFIG_NEED_DMA_MAP_STATE is not set
328CONFIG_GENERIC_ISA_DMA=y 325CONFIG_GENERIC_ISA_DMA=y
329CONFIG_PPC_INDIRECT_PCI=y 326CONFIG_PPC_INDIRECT_PCI=y
330CONFIG_FSL_SOC=y 327CONFIG_FSL_SOC=y
@@ -340,13 +337,11 @@ CONFIG_PCIEAER=y
340# CONFIG_PCIEASPM is not set 337# CONFIG_PCIEASPM is not set
341CONFIG_ARCH_SUPPORTS_MSI=y 338CONFIG_ARCH_SUPPORTS_MSI=y
342# CONFIG_PCI_MSI is not set 339# CONFIG_PCI_MSI is not set
343# CONFIG_PCI_LEGACY 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
346CONFIG_PCCARD=y 342CONFIG_PCCARD=y
347CONFIG_PCMCIA=y 343CONFIG_PCMCIA=y
348# CONFIG_PCMCIA_LOAD_CIS is not set 344# CONFIG_PCMCIA_LOAD_CIS is not set
349# CONFIG_PCMCIA_IOCTL is not set
350# CONFIG_CARDBUS is not set 345# CONFIG_CARDBUS is not set
351 346
352# 347#
@@ -382,7 +377,6 @@ CONFIG_NET=y
382# Networking options 377# Networking options
383# 378#
384CONFIG_PACKET=y 379CONFIG_PACKET=y
385CONFIG_PACKET_MMAP=y
386CONFIG_UNIX=y 380CONFIG_UNIX=y
387CONFIG_XFRM=y 381CONFIG_XFRM=y
388CONFIG_XFRM_USER=m 382CONFIG_XFRM_USER=m
@@ -592,6 +586,8 @@ CONFIG_MTD_PHYSMAP_OF=y
592# UBI - Unsorted block images 586# UBI - Unsorted block images
593# 587#
594# CONFIG_MTD_UBI is not set 588# CONFIG_MTD_UBI is not set
589CONFIG_OF_FLATTREE=y
590CONFIG_OF_DYNAMIC=y
595CONFIG_OF_DEVICE=y 591CONFIG_OF_DEVICE=y
596CONFIG_OF_GPIO=y 592CONFIG_OF_GPIO=y
597CONFIG_OF_I2C=y 593CONFIG_OF_I2C=y
@@ -629,6 +625,7 @@ CONFIG_MISC_DEVICES=y
629# CONFIG_ENCLOSURE_SERVICES is not set 625# CONFIG_ENCLOSURE_SERVICES is not set
630# CONFIG_HP_ILO is not set 626# CONFIG_HP_ILO is not set
631# CONFIG_ISL29003 is not set 627# CONFIG_ISL29003 is not set
628# CONFIG_SENSORS_TSL2550 is not set
632CONFIG_DS1682=y 629CONFIG_DS1682=y
633# CONFIG_C2PORT is not set 630# CONFIG_C2PORT is not set
634 631
@@ -695,6 +692,7 @@ CONFIG_IDE_PROC_FS=y
695# 692#
696# SCSI device support 693# SCSI device support
697# 694#
695CONFIG_SCSI_MOD=y
698# CONFIG_RAID_ATTRS is not set 696# CONFIG_RAID_ATTRS is not set
699CONFIG_SCSI=y 697CONFIG_SCSI=y
700CONFIG_SCSI_DMA=y 698CONFIG_SCSI_DMA=y
@@ -1001,6 +999,7 @@ CONFIG_SERIAL_CORE=y
1001CONFIG_SERIAL_CORE_CONSOLE=y 999CONFIG_SERIAL_CORE_CONSOLE=y
1002# CONFIG_SERIAL_JSM is not set 1000# CONFIG_SERIAL_JSM is not set
1003# CONFIG_SERIAL_OF_PLATFORM is not set 1001# CONFIG_SERIAL_OF_PLATFORM is not set
1002# CONFIG_SERIAL_TIMBERDALE is not set
1004# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set 1003# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set
1005CONFIG_UNIX98_PTYS=y 1004CONFIG_UNIX98_PTYS=y
1006# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set 1005# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
@@ -1058,6 +1057,7 @@ CONFIG_I2C_HELPER_AUTO=y
1058CONFIG_I2C_MPC=y 1057CONFIG_I2C_MPC=y
1059# CONFIG_I2C_OCORES is not set 1058# CONFIG_I2C_OCORES is not set
1060# CONFIG_I2C_SIMTEC is not set 1059# CONFIG_I2C_SIMTEC is not set
1060# CONFIG_I2C_XILINX is not set
1061 1061
1062# 1062#
1063# External I2C/SMBus adapter drivers 1063# External I2C/SMBus adapter drivers
@@ -1071,15 +1071,9 @@ CONFIG_I2C_MPC=y
1071# 1071#
1072# CONFIG_I2C_PCA_PLATFORM is not set 1072# CONFIG_I2C_PCA_PLATFORM is not set
1073# CONFIG_I2C_STUB is not set 1073# 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 1074# CONFIG_I2C_DEBUG_CORE is not set
1080# CONFIG_I2C_DEBUG_ALGO is not set 1075# CONFIG_I2C_DEBUG_ALGO is not set
1081# CONFIG_I2C_DEBUG_BUS is not set 1076# CONFIG_I2C_DEBUG_BUS is not set
1082# CONFIG_I2C_DEBUG_CHIP is not set
1083# CONFIG_SPI is not set 1077# CONFIG_SPI is not set
1084 1078
1085# 1079#
@@ -1094,14 +1088,18 @@ CONFIG_GPIO_SYSFS=y
1094# 1088#
1095# Memory mapped GPIO expanders: 1089# Memory mapped GPIO expanders:
1096# 1090#
1091# CONFIG_GPIO_IT8761E is not set
1097# CONFIG_GPIO_XILINX is not set 1092# CONFIG_GPIO_XILINX is not set
1093# CONFIG_GPIO_SCH is not set
1098 1094
1099# 1095#
1100# I2C GPIO expanders: 1096# I2C GPIO expanders:
1101# 1097#
1098# CONFIG_GPIO_MAX7300 is not set
1102# CONFIG_GPIO_MAX732X is not set 1099# CONFIG_GPIO_MAX732X is not set
1103# CONFIG_GPIO_PCA953X is not set 1100# CONFIG_GPIO_PCA953X is not set
1104# CONFIG_GPIO_PCF857X is not set 1101# CONFIG_GPIO_PCF857X is not set
1102# CONFIG_GPIO_ADP5588 is not set
1105 1103
1106# 1104#
1107# PCI GPIO expanders: 1105# PCI GPIO expanders:
@@ -1134,10 +1132,11 @@ CONFIG_HWMON=y
1134# CONFIG_SENSORS_ADM1029 is not set 1132# CONFIG_SENSORS_ADM1029 is not set
1135# CONFIG_SENSORS_ADM1031 is not set 1133# CONFIG_SENSORS_ADM1031 is not set
1136# CONFIG_SENSORS_ADM9240 is not set 1134# CONFIG_SENSORS_ADM9240 is not set
1135# CONFIG_SENSORS_ADT7411 is not set
1137# CONFIG_SENSORS_ADT7462 is not set 1136# CONFIG_SENSORS_ADT7462 is not set
1138# CONFIG_SENSORS_ADT7470 is not set 1137# CONFIG_SENSORS_ADT7470 is not set
1139# CONFIG_SENSORS_ADT7473 is not set
1140# CONFIG_SENSORS_ADT7475 is not set 1138# CONFIG_SENSORS_ADT7475 is not set
1139# CONFIG_SENSORS_ASC7621 is not set
1141# CONFIG_SENSORS_ATXP1 is not set 1140# CONFIG_SENSORS_ATXP1 is not set
1142# CONFIG_SENSORS_DS1621 is not set 1141# CONFIG_SENSORS_DS1621 is not set
1143# CONFIG_SENSORS_I5K_AMB is not set 1142# CONFIG_SENSORS_I5K_AMB is not set
@@ -1175,6 +1174,7 @@ CONFIG_SENSORS_LM92=y
1175# CONFIG_SENSORS_SMSC47M192 is not set 1174# CONFIG_SENSORS_SMSC47M192 is not set
1176# CONFIG_SENSORS_SMSC47B397 is not set 1175# CONFIG_SENSORS_SMSC47B397 is not set
1177# CONFIG_SENSORS_ADS7828 is not set 1176# CONFIG_SENSORS_ADS7828 is not set
1177# CONFIG_SENSORS_AMC6821 is not set
1178# CONFIG_SENSORS_THMC50 is not set 1178# CONFIG_SENSORS_THMC50 is not set
1179# CONFIG_SENSORS_TMP401 is not set 1179# CONFIG_SENSORS_TMP401 is not set
1180# CONFIG_SENSORS_TMP421 is not set 1180# CONFIG_SENSORS_TMP421 is not set
@@ -1223,19 +1223,24 @@ CONFIG_SSB_POSSIBLE=y
1223# Multifunction device drivers 1223# Multifunction device drivers
1224# 1224#
1225# CONFIG_MFD_CORE is not set 1225# CONFIG_MFD_CORE is not set
1226# CONFIG_MFD_88PM860X is not set
1226# CONFIG_MFD_SM501 is not set 1227# CONFIG_MFD_SM501 is not set
1227# CONFIG_HTC_PASIC3 is not set 1228# CONFIG_HTC_PASIC3 is not set
1229# CONFIG_HTC_I2CPLD is not set
1228# CONFIG_TPS65010 is not set 1230# CONFIG_TPS65010 is not set
1229# CONFIG_TWL4030_CORE is not set 1231# CONFIG_TWL4030_CORE is not set
1230# CONFIG_MFD_TMIO is not set 1232# CONFIG_MFD_TMIO is not set
1231# CONFIG_PMIC_DA903X is not set 1233# CONFIG_PMIC_DA903X is not set
1232# CONFIG_PMIC_ADP5520 is not set 1234# CONFIG_PMIC_ADP5520 is not set
1235# CONFIG_MFD_MAX8925 is not set
1233# CONFIG_MFD_WM8400 is not set 1236# CONFIG_MFD_WM8400 is not set
1234# CONFIG_MFD_WM831X is not set 1237# CONFIG_MFD_WM831X is not set
1235# CONFIG_MFD_WM8350_I2C is not set 1238# CONFIG_MFD_WM8350_I2C is not set
1239# CONFIG_MFD_WM8994 is not set
1236# CONFIG_MFD_PCF50633 is not set 1240# CONFIG_MFD_PCF50633 is not set
1237# CONFIG_AB3100_CORE is not set 1241# CONFIG_AB3100_CORE is not set
1238# CONFIG_MFD_88PM8607 is not set 1242# CONFIG_MFD_TIMBERDALE is not set
1243# CONFIG_LPC_SCH is not set
1239# CONFIG_REGULATOR is not set 1244# CONFIG_REGULATOR is not set
1240# CONFIG_MEDIA_SUPPORT is not set 1245# CONFIG_MEDIA_SUPPORT is not set
1241 1246
@@ -1244,6 +1249,7 @@ CONFIG_SSB_POSSIBLE=y
1244# 1249#
1245# CONFIG_AGP is not set 1250# CONFIG_AGP is not set
1246CONFIG_VGA_ARB=y 1251CONFIG_VGA_ARB=y
1252CONFIG_VGA_ARB_MAX_GPUS=16
1247# CONFIG_DRM is not set 1253# CONFIG_DRM is not set
1248# CONFIG_VGASTATE is not set 1254# CONFIG_VGASTATE is not set
1249CONFIG_VIDEO_OUTPUT_CONTROL=m 1255CONFIG_VIDEO_OUTPUT_CONTROL=m
@@ -1276,6 +1282,7 @@ CONFIG_USB_HID=y
1276# 1282#
1277# Special HID drivers 1283# Special HID drivers
1278# 1284#
1285# CONFIG_HID_3M_PCT is not set
1279CONFIG_HID_A4TECH=y 1286CONFIG_HID_A4TECH=y
1280CONFIG_HID_APPLE=y 1287CONFIG_HID_APPLE=y
1281CONFIG_HID_BELKIN=y 1288CONFIG_HID_BELKIN=y
@@ -1291,14 +1298,19 @@ CONFIG_HID_GYRATION=y
1291CONFIG_HID_LOGITECH=y 1298CONFIG_HID_LOGITECH=y
1292# CONFIG_LOGITECH_FF is not set 1299# CONFIG_LOGITECH_FF is not set
1293# CONFIG_LOGIRUMBLEPAD2_FF is not set 1300# CONFIG_LOGIRUMBLEPAD2_FF is not set
1301# CONFIG_LOGIG940_FF is not set
1294CONFIG_HID_MICROSOFT=y 1302CONFIG_HID_MICROSOFT=y
1303# CONFIG_HID_MOSART is not set
1295CONFIG_HID_MONTEREY=y 1304CONFIG_HID_MONTEREY=y
1296# CONFIG_HID_NTRIG is not set 1305# CONFIG_HID_NTRIG is not set
1306# CONFIG_HID_ORTEK is not set
1297CONFIG_HID_PANTHERLORD=y 1307CONFIG_HID_PANTHERLORD=y
1298# CONFIG_PANTHERLORD_FF is not set 1308# CONFIG_PANTHERLORD_FF is not set
1299CONFIG_HID_PETALYNX=y 1309CONFIG_HID_PETALYNX=y
1310# CONFIG_HID_QUANTA is not set
1300CONFIG_HID_SAMSUNG=y 1311CONFIG_HID_SAMSUNG=y
1301CONFIG_HID_SONY=y 1312CONFIG_HID_SONY=y
1313# CONFIG_HID_STANTUM is not set
1302CONFIG_HID_SUNPLUS=y 1314CONFIG_HID_SUNPLUS=y
1303# CONFIG_HID_GREENASIA is not set 1315# CONFIG_HID_GREENASIA is not set
1304# CONFIG_HID_SMARTJOYPLUS is not set 1316# CONFIG_HID_SMARTJOYPLUS is not set
@@ -1405,7 +1417,6 @@ CONFIG_USB_STORAGE=y
1405# CONFIG_USB_RIO500 is not set 1417# CONFIG_USB_RIO500 is not set
1406# CONFIG_USB_LEGOTOWER is not set 1418# CONFIG_USB_LEGOTOWER is not set
1407# CONFIG_USB_LCD is not set 1419# CONFIG_USB_LCD is not set
1408# CONFIG_USB_BERRY_CHARGE is not set
1409# CONFIG_USB_LED is not set 1420# CONFIG_USB_LED is not set
1410# CONFIG_USB_CYPRESS_CY7C63 is not set 1421# CONFIG_USB_CYPRESS_CY7C63 is not set
1411# CONFIG_USB_CYTHERM is not set 1422# CONFIG_USB_CYTHERM is not set
@@ -1418,7 +1429,6 @@ CONFIG_USB_STORAGE=y
1418# CONFIG_USB_IOWARRIOR is not set 1429# CONFIG_USB_IOWARRIOR is not set
1419# CONFIG_USB_TEST is not set 1430# CONFIG_USB_TEST is not set
1420# CONFIG_USB_ISIGHTFW is not set 1431# CONFIG_USB_ISIGHTFW is not set
1421# CONFIG_USB_VST is not set
1422# CONFIG_USB_GADGET is not set 1432# CONFIG_USB_GADGET is not set
1423 1433
1424# 1434#
@@ -1590,6 +1600,7 @@ CONFIG_JFFS2_ZLIB=y
1590# CONFIG_JFFS2_LZO is not set 1600# CONFIG_JFFS2_LZO is not set
1591CONFIG_JFFS2_RTIME=y 1601CONFIG_JFFS2_RTIME=y
1592# CONFIG_JFFS2_RUBIN is not set 1602# CONFIG_JFFS2_RUBIN is not set
1603# CONFIG_LOGFS is not set
1593# CONFIG_CRAMFS is not set 1604# CONFIG_CRAMFS is not set
1594# CONFIG_SQUASHFS is not set 1605# CONFIG_SQUASHFS is not set
1595# CONFIG_VXFS_FS is not set 1606# CONFIG_VXFS_FS is not set
@@ -1616,6 +1627,7 @@ CONFIG_SUNRPC_GSS=y
1616CONFIG_RPCSEC_GSS_KRB5=y 1627CONFIG_RPCSEC_GSS_KRB5=y
1617# CONFIG_RPCSEC_GSS_SPKM3 is not set 1628# CONFIG_RPCSEC_GSS_SPKM3 is not set
1618# CONFIG_SMB_FS is not set 1629# CONFIG_SMB_FS is not set
1630# CONFIG_CEPH_FS is not set
1619CONFIG_CIFS=m 1631CONFIG_CIFS=m
1620# CONFIG_CIFS_STATS is not set 1632# CONFIG_CIFS_STATS is not set
1621# CONFIG_CIFS_WEAK_PW_HASH is not set 1633# CONFIG_CIFS_WEAK_PW_HASH is not set
@@ -1761,6 +1773,7 @@ CONFIG_CRYPTO_MANAGER=y
1761CONFIG_CRYPTO_MANAGER2=y 1773CONFIG_CRYPTO_MANAGER2=y
1762# CONFIG_CRYPTO_GF128MUL is not set 1774# CONFIG_CRYPTO_GF128MUL is not set
1763# CONFIG_CRYPTO_NULL is not set 1775# CONFIG_CRYPTO_NULL is not set
1776# CONFIG_CRYPTO_PCRYPT is not set
1764CONFIG_CRYPTO_WORKQUEUE=y 1777CONFIG_CRYPTO_WORKQUEUE=y
1765# CONFIG_CRYPTO_CRYPTD is not set 1778# CONFIG_CRYPTO_CRYPTD is not set
1766CONFIG_CRYPTO_AUTHENC=m 1779CONFIG_CRYPTO_AUTHENC=m
diff --git a/arch/powerpc/configs/86xx/gef_sbc610_defconfig b/arch/powerpc/configs/86xx/gef_sbc610_defconfig
index 62c2b81a4a8..767c204c060 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,11 +102,6 @@ CONFIG_RCU_FANOUT=32
102CONFIG_IKCONFIG=y 102CONFIG_IKCONFIG=y
103CONFIG_IKCONFIG_PROC=y 103CONFIG_IKCONFIG_PROC=y
104CONFIG_LOG_BUF_SHIFT=14 104CONFIG_LOG_BUF_SHIFT=14
105CONFIG_GROUP_SCHED=y
106CONFIG_FAIR_GROUP_SCHED=y
107# CONFIG_RT_GROUP_SCHED is not set
108CONFIG_USER_SCHED=y
109# CONFIG_CGROUP_SCHED is not set
110# CONFIG_CGROUPS is not set 105# CONFIG_CGROUPS is not set
111CONFIG_SYSFS_DEPRECATED=y 106CONFIG_SYSFS_DEPRECATED=y
112CONFIG_SYSFS_DEPRECATED_V2=y 107CONFIG_SYSFS_DEPRECATED_V2=y
@@ -117,6 +112,7 @@ CONFIG_INITRAMFS_SOURCE=""
117CONFIG_RD_GZIP=y 112CONFIG_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
121CONFIG_SYSCTL=y 117CONFIG_SYSCTL=y
122CONFIG_ANON_INODES=y 118CONFIG_ANON_INODES=y
@@ -326,6 +322,7 @@ CONFIG_ISA_DMA_API=y
326# Bus options 322# Bus options
327# 323#
328CONFIG_ZONE_DMA=y 324CONFIG_ZONE_DMA=y
325# CONFIG_NEED_DMA_MAP_STATE is not set
329CONFIG_GENERIC_ISA_DMA=y 326CONFIG_GENERIC_ISA_DMA=y
330CONFIG_PPC_INDIRECT_PCI=y 327CONFIG_PPC_INDIRECT_PCI=y
331CONFIG_FSL_SOC=y 328CONFIG_FSL_SOC=y
@@ -341,7 +338,6 @@ CONFIG_PCIEAER=y
341# CONFIG_PCIEASPM is not set 338# CONFIG_PCIEASPM is not set
342CONFIG_ARCH_SUPPORTS_MSI=y 339CONFIG_ARCH_SUPPORTS_MSI=y
343# CONFIG_PCI_MSI is not set 340# CONFIG_PCI_MSI is not set
344# CONFIG_PCI_LEGACY is not set
345CONFIG_PCI_DEBUG=y 341CONFIG_PCI_DEBUG=y
346# CONFIG_PCI_STUB is not set 342# CONFIG_PCI_STUB is not set
347# CONFIG_PCI_IOV is not set 343# CONFIG_PCI_IOV is not set
@@ -369,7 +365,6 @@ CONFIG_NET=y
369# Networking options 365# Networking options
370# 366#
371CONFIG_PACKET=y 367CONFIG_PACKET=y
372CONFIG_PACKET_MMAP=y
373CONFIG_UNIX=y 368CONFIG_UNIX=y
374CONFIG_XFRM=y 369CONFIG_XFRM=y
375CONFIG_XFRM_USER=m 370CONFIG_XFRM_USER=m
@@ -552,6 +547,7 @@ CONFIG_ATM_BR2684=m
552# CONFIG_ATM_BR2684_IPFILTER is not set 547# CONFIG_ATM_BR2684_IPFILTER is not set
553CONFIG_STP=m 548CONFIG_STP=m
554CONFIG_BRIDGE=m 549CONFIG_BRIDGE=m
550CONFIG_BRIDGE_IGMP_SNOOPING=y
555# CONFIG_NET_DSA is not set 551# CONFIG_NET_DSA is not set
556CONFIG_VLAN_8021Q=m 552CONFIG_VLAN_8021Q=m
557# CONFIG_VLAN_8021Q_GVRP is not set 553# CONFIG_VLAN_8021Q_GVRP is not set
@@ -728,6 +724,8 @@ CONFIG_MTD_PHYSMAP_OF=y
728# UBI - Unsorted block images 724# UBI - Unsorted block images
729# 725#
730# CONFIG_MTD_UBI is not set 726# CONFIG_MTD_UBI is not set
727CONFIG_OF_FLATTREE=y
728CONFIG_OF_DYNAMIC=y
731CONFIG_OF_DEVICE=y 729CONFIG_OF_DEVICE=y
732CONFIG_OF_GPIO=y 730CONFIG_OF_GPIO=y
733CONFIG_OF_I2C=y 731CONFIG_OF_I2C=y
@@ -765,6 +763,7 @@ CONFIG_MISC_DEVICES=y
765# CONFIG_ENCLOSURE_SERVICES is not set 763# CONFIG_ENCLOSURE_SERVICES is not set
766# CONFIG_HP_ILO is not set 764# CONFIG_HP_ILO is not set
767# CONFIG_ISL29003 is not set 765# CONFIG_ISL29003 is not set
766# CONFIG_SENSORS_TSL2550 is not set
768CONFIG_DS1682=y 767CONFIG_DS1682=y
769# CONFIG_C2PORT is not set 768# CONFIG_C2PORT is not set
770 769
@@ -782,6 +781,7 @@ CONFIG_HAVE_IDE=y
782# 781#
783# SCSI device support 782# SCSI device support
784# 783#
784CONFIG_SCSI_MOD=y
785# CONFIG_RAID_ATTRS is not set 785# CONFIG_RAID_ATTRS is not set
786CONFIG_SCSI=y 786CONFIG_SCSI=y
787CONFIG_SCSI_DMA=y 787CONFIG_SCSI_DMA=y
@@ -905,6 +905,7 @@ CONFIG_SATA_SIL=y
905# CONFIG_PATA_IT821X is not set 905# CONFIG_PATA_IT821X is not set
906# CONFIG_PATA_IT8213 is not set 906# CONFIG_PATA_IT8213 is not set
907# CONFIG_PATA_JMICRON is not set 907# CONFIG_PATA_JMICRON is not set
908# CONFIG_PATA_LEGACY is not set
908# CONFIG_PATA_TRIFLEX is not set 909# CONFIG_PATA_TRIFLEX is not set
909# CONFIG_PATA_MARVELL is not set 910# CONFIG_PATA_MARVELL is not set
910# CONFIG_PATA_MPIIX is not set 911# CONFIG_PATA_MPIIX is not set
@@ -1155,6 +1156,7 @@ CONFIG_SERIAL_CORE=y
1155CONFIG_SERIAL_CORE_CONSOLE=y 1156CONFIG_SERIAL_CORE_CONSOLE=y
1156# CONFIG_SERIAL_JSM is not set 1157# CONFIG_SERIAL_JSM is not set
1157# CONFIG_SERIAL_OF_PLATFORM is not set 1158# CONFIG_SERIAL_OF_PLATFORM is not set
1159# CONFIG_SERIAL_TIMBERDALE is not set
1158# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set 1160# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set
1159CONFIG_UNIX98_PTYS=y 1161CONFIG_UNIX98_PTYS=y
1160# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set 1162# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
@@ -1204,6 +1206,7 @@ CONFIG_I2C_HELPER_AUTO=y
1204CONFIG_I2C_MPC=y 1206CONFIG_I2C_MPC=y
1205# CONFIG_I2C_OCORES is not set 1207# CONFIG_I2C_OCORES is not set
1206# CONFIG_I2C_SIMTEC is not set 1208# CONFIG_I2C_SIMTEC is not set
1209# CONFIG_I2C_XILINX is not set
1207 1210
1208# 1211#
1209# External I2C/SMBus adapter drivers 1212# External I2C/SMBus adapter drivers
@@ -1217,15 +1220,9 @@ CONFIG_I2C_MPC=y
1217# 1220#
1218# CONFIG_I2C_PCA_PLATFORM is not set 1221# CONFIG_I2C_PCA_PLATFORM is not set
1219# CONFIG_I2C_STUB is not set 1222# 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 1223# CONFIG_I2C_DEBUG_CORE is not set
1226# CONFIG_I2C_DEBUG_ALGO is not set 1224# CONFIG_I2C_DEBUG_ALGO is not set
1227# CONFIG_I2C_DEBUG_BUS is not set 1225# CONFIG_I2C_DEBUG_BUS is not set
1228# CONFIG_I2C_DEBUG_CHIP is not set
1229# CONFIG_SPI is not set 1226# CONFIG_SPI is not set
1230 1227
1231# 1228#
@@ -1241,14 +1238,18 @@ CONFIG_GPIOLIB=y
1241# 1238#
1242# Memory mapped GPIO expanders: 1239# Memory mapped GPIO expanders:
1243# 1240#
1241# CONFIG_GPIO_IT8761E is not set
1244# CONFIG_GPIO_XILINX is not set 1242# CONFIG_GPIO_XILINX is not set
1243# CONFIG_GPIO_SCH is not set
1245 1244
1246# 1245#
1247# I2C GPIO expanders: 1246# I2C GPIO expanders:
1248# 1247#
1248# CONFIG_GPIO_MAX7300 is not set
1249# CONFIG_GPIO_MAX732X is not set 1249# CONFIG_GPIO_MAX732X is not set
1250# CONFIG_GPIO_PCA953X is not set 1250# CONFIG_GPIO_PCA953X is not set
1251# CONFIG_GPIO_PCF857X is not set 1251# CONFIG_GPIO_PCF857X is not set
1252# CONFIG_GPIO_ADP5588 is not set
1252 1253
1253# 1254#
1254# PCI GPIO expanders: 1255# PCI GPIO expanders:
@@ -1281,10 +1282,11 @@ CONFIG_HWMON=y
1281# CONFIG_SENSORS_ADM1029 is not set 1282# CONFIG_SENSORS_ADM1029 is not set
1282# CONFIG_SENSORS_ADM1031 is not set 1283# CONFIG_SENSORS_ADM1031 is not set
1283# CONFIG_SENSORS_ADM9240 is not set 1284# CONFIG_SENSORS_ADM9240 is not set
1285# CONFIG_SENSORS_ADT7411 is not set
1284# CONFIG_SENSORS_ADT7462 is not set 1286# CONFIG_SENSORS_ADT7462 is not set
1285# CONFIG_SENSORS_ADT7470 is not set 1287# CONFIG_SENSORS_ADT7470 is not set
1286# CONFIG_SENSORS_ADT7473 is not set
1287# CONFIG_SENSORS_ADT7475 is not set 1288# CONFIG_SENSORS_ADT7475 is not set
1289# CONFIG_SENSORS_ASC7621 is not set
1288# CONFIG_SENSORS_ATXP1 is not set 1290# CONFIG_SENSORS_ATXP1 is not set
1289# CONFIG_SENSORS_DS1621 is not set 1291# CONFIG_SENSORS_DS1621 is not set
1290# CONFIG_SENSORS_I5K_AMB is not set 1292# CONFIG_SENSORS_I5K_AMB is not set
@@ -1322,6 +1324,7 @@ CONFIG_SENSORS_LM92=y
1322# CONFIG_SENSORS_SMSC47M192 is not set 1324# CONFIG_SENSORS_SMSC47M192 is not set
1323# CONFIG_SENSORS_SMSC47B397 is not set 1325# CONFIG_SENSORS_SMSC47B397 is not set
1324# CONFIG_SENSORS_ADS7828 is not set 1326# CONFIG_SENSORS_ADS7828 is not set
1327# CONFIG_SENSORS_AMC6821 is not set
1325# CONFIG_SENSORS_THMC50 is not set 1328# CONFIG_SENSORS_THMC50 is not set
1326# CONFIG_SENSORS_TMP401 is not set 1329# CONFIG_SENSORS_TMP401 is not set
1327# CONFIG_SENSORS_TMP421 is not set 1330# CONFIG_SENSORS_TMP421 is not set
@@ -1370,19 +1373,24 @@ CONFIG_SSB_POSSIBLE=y
1370# Multifunction device drivers 1373# Multifunction device drivers
1371# 1374#
1372# CONFIG_MFD_CORE is not set 1375# CONFIG_MFD_CORE is not set
1376# CONFIG_MFD_88PM860X is not set
1373# CONFIG_MFD_SM501 is not set 1377# CONFIG_MFD_SM501 is not set
1374# CONFIG_HTC_PASIC3 is not set 1378# CONFIG_HTC_PASIC3 is not set
1379# CONFIG_HTC_I2CPLD is not set
1375# CONFIG_TPS65010 is not set 1380# CONFIG_TPS65010 is not set
1376# CONFIG_TWL4030_CORE is not set 1381# CONFIG_TWL4030_CORE is not set
1377# CONFIG_MFD_TMIO is not set 1382# CONFIG_MFD_TMIO is not set
1378# CONFIG_PMIC_DA903X is not set 1383# CONFIG_PMIC_DA903X is not set
1379# CONFIG_PMIC_ADP5520 is not set 1384# CONFIG_PMIC_ADP5520 is not set
1385# CONFIG_MFD_MAX8925 is not set
1380# CONFIG_MFD_WM8400 is not set 1386# CONFIG_MFD_WM8400 is not set
1381# CONFIG_MFD_WM831X is not set 1387# CONFIG_MFD_WM831X is not set
1382# CONFIG_MFD_WM8350_I2C is not set 1388# CONFIG_MFD_WM8350_I2C is not set
1389# CONFIG_MFD_WM8994 is not set
1383# CONFIG_MFD_PCF50633 is not set 1390# CONFIG_MFD_PCF50633 is not set
1384# CONFIG_AB3100_CORE is not set 1391# CONFIG_AB3100_CORE is not set
1385# CONFIG_MFD_88PM8607 is not set 1392# CONFIG_MFD_TIMBERDALE is not set
1393# CONFIG_LPC_SCH is not set
1386# CONFIG_REGULATOR is not set 1394# CONFIG_REGULATOR is not set
1387# CONFIG_MEDIA_SUPPORT is not set 1395# CONFIG_MEDIA_SUPPORT is not set
1388 1396
@@ -1391,6 +1399,7 @@ CONFIG_SSB_POSSIBLE=y
1391# 1399#
1392# CONFIG_AGP is not set 1400# CONFIG_AGP is not set
1393CONFIG_VGA_ARB=y 1401CONFIG_VGA_ARB=y
1402CONFIG_VGA_ARB_MAX_GPUS=16
1394# CONFIG_DRM is not set 1403# CONFIG_DRM is not set
1395# CONFIG_VGASTATE is not set 1404# CONFIG_VGASTATE is not set
1396CONFIG_VIDEO_OUTPUT_CONTROL=m 1405CONFIG_VIDEO_OUTPUT_CONTROL=m
@@ -1423,6 +1432,7 @@ CONFIG_USB_HID=y
1423# 1432#
1424# Special HID drivers 1433# Special HID drivers
1425# 1434#
1435# CONFIG_HID_3M_PCT is not set
1426CONFIG_HID_A4TECH=y 1436CONFIG_HID_A4TECH=y
1427CONFIG_HID_APPLE=y 1437CONFIG_HID_APPLE=y
1428CONFIG_HID_BELKIN=y 1438CONFIG_HID_BELKIN=y
@@ -1438,14 +1448,19 @@ CONFIG_HID_GYRATION=y
1438CONFIG_HID_LOGITECH=y 1448CONFIG_HID_LOGITECH=y
1439# CONFIG_LOGITECH_FF is not set 1449# CONFIG_LOGITECH_FF is not set
1440# CONFIG_LOGIRUMBLEPAD2_FF is not set 1450# CONFIG_LOGIRUMBLEPAD2_FF is not set
1451# CONFIG_LOGIG940_FF is not set
1441CONFIG_HID_MICROSOFT=y 1452CONFIG_HID_MICROSOFT=y
1453# CONFIG_HID_MOSART is not set
1442CONFIG_HID_MONTEREY=y 1454CONFIG_HID_MONTEREY=y
1443# CONFIG_HID_NTRIG is not set 1455# CONFIG_HID_NTRIG is not set
1456# CONFIG_HID_ORTEK is not set
1444CONFIG_HID_PANTHERLORD=y 1457CONFIG_HID_PANTHERLORD=y
1445# CONFIG_PANTHERLORD_FF is not set 1458# CONFIG_PANTHERLORD_FF is not set
1446CONFIG_HID_PETALYNX=y 1459CONFIG_HID_PETALYNX=y
1460# CONFIG_HID_QUANTA is not set
1447CONFIG_HID_SAMSUNG=y 1461CONFIG_HID_SAMSUNG=y
1448CONFIG_HID_SONY=y 1462CONFIG_HID_SONY=y
1463# CONFIG_HID_STANTUM is not set
1449CONFIG_HID_SUNPLUS=y 1464CONFIG_HID_SUNPLUS=y
1450# CONFIG_HID_GREENASIA is not set 1465# CONFIG_HID_GREENASIA is not set
1451# CONFIG_HID_SMARTJOYPLUS is not set 1466# CONFIG_HID_SMARTJOYPLUS is not set
@@ -1552,7 +1567,6 @@ CONFIG_USB_STORAGE=y
1552# CONFIG_USB_RIO500 is not set 1567# CONFIG_USB_RIO500 is not set
1553# CONFIG_USB_LEGOTOWER is not set 1568# CONFIG_USB_LEGOTOWER is not set
1554# CONFIG_USB_LCD is not set 1569# CONFIG_USB_LCD is not set
1555# CONFIG_USB_BERRY_CHARGE is not set
1556# CONFIG_USB_LED is not set 1570# CONFIG_USB_LED is not set
1557# CONFIG_USB_CYPRESS_CY7C63 is not set 1571# CONFIG_USB_CYPRESS_CY7C63 is not set
1558# CONFIG_USB_CYTHERM is not set 1572# CONFIG_USB_CYTHERM is not set
@@ -1565,7 +1579,6 @@ CONFIG_USB_STORAGE=y
1565# CONFIG_USB_IOWARRIOR is not set 1579# CONFIG_USB_IOWARRIOR is not set
1566# CONFIG_USB_TEST is not set 1580# CONFIG_USB_TEST is not set
1567# CONFIG_USB_ISIGHTFW is not set 1581# CONFIG_USB_ISIGHTFW is not set
1568# CONFIG_USB_VST is not set
1569# CONFIG_USB_ATM is not set 1582# CONFIG_USB_ATM is not set
1570# CONFIG_USB_GADGET is not set 1583# CONFIG_USB_GADGET is not set
1571 1584
@@ -1650,29 +1663,29 @@ CONFIG_RTC_DRV_RX8581=y
1650CONFIG_STAGING=y 1663CONFIG_STAGING=y
1651# CONFIG_STAGING_EXCLUDE_BUILD is not set 1664# CONFIG_STAGING_EXCLUDE_BUILD is not set
1652# CONFIG_ET131X is not set 1665# 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 1666# CONFIG_USB_IP_COMMON is not set
1667# CONFIG_PRISM2_USB is not set
1656# CONFIG_ECHO is not set 1668# CONFIG_ECHO is not set
1657# CONFIG_COMEDI is not set 1669# CONFIG_COMEDI is not set
1658# CONFIG_ASUS_OLED is not set 1670# CONFIG_ASUS_OLED is not set
1659# CONFIG_ALTERA_PCIE_CHDMA is not set 1671# CONFIG_R8187SE is not set
1660# CONFIG_INPUT_MIMIO is not set 1672# CONFIG_RTL8192SU is not set
1673# CONFIG_RTL8192U is not set
1674# CONFIG_RTL8192E is not set
1661# CONFIG_TRANZPORT is not set 1675# CONFIG_TRANZPORT is not set
1662 1676
1663# 1677#
1664# Android 1678# Qualcomm MSM Camera And Video
1679#
1680
1681#
1682# Camera Sensor Selection
1665# 1683#
1666# CONFIG_ANDROID is not set 1684# CONFIG_INPUT_GPIO is not set
1667# CONFIG_DST is not set
1668# CONFIG_POHMELFS is not set 1685# CONFIG_POHMELFS is not set
1669# CONFIG_B3DFG is not set
1670# CONFIG_IDE_PHISON is not set 1686# CONFIG_IDE_PHISON is not set
1671# CONFIG_PLAN9AUTH is not set
1672# CONFIG_HECI is not set
1673# CONFIG_VT6655 is not set 1687# CONFIG_VT6655 is not set
1674# CONFIG_USB_CPC is not set 1688# CONFIG_VT6656 is not set
1675# CONFIG_RDC_17F3101X is not set
1676CONFIG_VME_BUS=y 1689CONFIG_VME_BUS=y
1677 1690
1678# 1691#
@@ -1687,6 +1700,22 @@ CONFIG_VME_TSI148=y
1687# CONFIG_VME_USER is not set 1700# CONFIG_VME_USER is not set
1688 1701
1689# 1702#
1703# VME Board Drivers
1704#
1705# CONFIG_VMIVME_7805 is not set
1706
1707#
1708# RAR Register Driver
1709#
1710# CONFIG_RAR_REGISTER is not set
1711# CONFIG_IIO is not set
1712# CONFIG_RAMZSWAP is not set
1713# CONFIG_BATMAN_ADV is not set
1714# CONFIG_STRIP is not set
1715# CONFIG_DT3155 is not set
1716# CONFIG_CRYSTALHD is not set
1717
1718#
1690# File systems 1719# File systems
1691# 1720#
1692CONFIG_EXT2_FS=y 1721CONFIG_EXT2_FS=y
@@ -1772,6 +1801,7 @@ CONFIG_JFFS2_ZLIB=y
1772# CONFIG_JFFS2_LZO is not set 1801# CONFIG_JFFS2_LZO is not set
1773CONFIG_JFFS2_RTIME=y 1802CONFIG_JFFS2_RTIME=y
1774# CONFIG_JFFS2_RUBIN is not set 1803# CONFIG_JFFS2_RUBIN is not set
1804# CONFIG_LOGFS is not set
1775# CONFIG_CRAMFS is not set 1805# CONFIG_CRAMFS is not set
1776# CONFIG_SQUASHFS is not set 1806# CONFIG_SQUASHFS is not set
1777# CONFIG_VXFS_FS is not set 1807# CONFIG_VXFS_FS is not set
@@ -1798,6 +1828,7 @@ CONFIG_SUNRPC_GSS=y
1798CONFIG_RPCSEC_GSS_KRB5=y 1828CONFIG_RPCSEC_GSS_KRB5=y
1799# CONFIG_RPCSEC_GSS_SPKM3 is not set 1829# CONFIG_RPCSEC_GSS_SPKM3 is not set
1800# CONFIG_SMB_FS is not set 1830# CONFIG_SMB_FS is not set
1831# CONFIG_CEPH_FS is not set
1801CONFIG_CIFS=m 1832CONFIG_CIFS=m
1802# CONFIG_CIFS_STATS is not set 1833# CONFIG_CIFS_STATS is not set
1803# CONFIG_CIFS_WEAK_PW_HASH is not set 1834# CONFIG_CIFS_WEAK_PW_HASH is not set
@@ -1870,7 +1901,7 @@ CONFIG_CRC32=y
1870# CONFIG_CRC7 is not set 1901# CONFIG_CRC7 is not set
1871CONFIG_LIBCRC32C=m 1902CONFIG_LIBCRC32C=m
1872CONFIG_ZLIB_INFLATE=y 1903CONFIG_ZLIB_INFLATE=y
1873CONFIG_ZLIB_DEFLATE=m 1904CONFIG_ZLIB_DEFLATE=y
1874CONFIG_DECOMPRESS_GZIP=y 1905CONFIG_DECOMPRESS_GZIP=y
1875CONFIG_HAS_IOMEM=y 1906CONFIG_HAS_IOMEM=y
1876CONFIG_HAS_IOPORT=y 1907CONFIG_HAS_IOPORT=y
@@ -2006,6 +2037,7 @@ CONFIG_CRYPTO_MANAGER=y
2006CONFIG_CRYPTO_MANAGER2=y 2037CONFIG_CRYPTO_MANAGER2=y
2007# CONFIG_CRYPTO_GF128MUL is not set 2038# CONFIG_CRYPTO_GF128MUL is not set
2008CONFIG_CRYPTO_NULL=m 2039CONFIG_CRYPTO_NULL=m
2040# CONFIG_CRYPTO_PCRYPT is not set
2009CONFIG_CRYPTO_WORKQUEUE=y 2041CONFIG_CRYPTO_WORKQUEUE=y
2010# CONFIG_CRYPTO_CRYPTD is not set 2042# CONFIG_CRYPTO_CRYPTD is not set
2011CONFIG_CRYPTO_AUTHENC=m 2043CONFIG_CRYPTO_AUTHENC=m
diff --git a/arch/powerpc/configs/86xx/mpc8610_hpcd_defconfig b/arch/powerpc/configs/86xx/mpc8610_hpcd_defconfig
index aab3baebab8..55b9e4e867a 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,11 +97,6 @@ CONFIG_RCU_FANOUT=32
97CONFIG_IKCONFIG=y 97CONFIG_IKCONFIG=y
98CONFIG_IKCONFIG_PROC=y 98CONFIG_IKCONFIG_PROC=y
99CONFIG_LOG_BUF_SHIFT=14 99CONFIG_LOG_BUF_SHIFT=14
100CONFIG_GROUP_SCHED=y
101# CONFIG_FAIR_GROUP_SCHED is not set
102# CONFIG_RT_GROUP_SCHED is not set
103CONFIG_USER_SCHED=y
104# CONFIG_CGROUP_SCHED is not set
105# CONFIG_CGROUPS is not set 100# CONFIG_CGROUPS is not set
106CONFIG_SYSFS_DEPRECATED=y 101CONFIG_SYSFS_DEPRECATED=y
107CONFIG_SYSFS_DEPRECATED_V2=y 102CONFIG_SYSFS_DEPRECATED_V2=y
@@ -112,6 +107,7 @@ CONFIG_INITRAMFS_SOURCE=""
112CONFIG_RD_GZIP=y 107CONFIG_RD_GZIP=y
113# CONFIG_RD_BZIP2 is not set 108# CONFIG_RD_BZIP2 is not set
114# CONFIG_RD_LZMA is not set 109# CONFIG_RD_LZMA is not set
110# CONFIG_RD_LZO is not set
115# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 111# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
116CONFIG_SYSCTL=y 112CONFIG_SYSCTL=y
117CONFIG_ANON_INODES=y 113CONFIG_ANON_INODES=y
@@ -320,6 +316,7 @@ CONFIG_ISA_DMA_API=y
320# Bus options 316# Bus options
321# 317#
322CONFIG_ZONE_DMA=y 318CONFIG_ZONE_DMA=y
319# CONFIG_NEED_DMA_MAP_STATE is not set
323CONFIG_GENERIC_ISA_DMA=y 320CONFIG_GENERIC_ISA_DMA=y
324CONFIG_PPC_INDIRECT_PCI=y 321CONFIG_PPC_INDIRECT_PCI=y
325CONFIG_FSL_SOC=y 322CONFIG_FSL_SOC=y
@@ -335,7 +332,6 @@ CONFIG_PCIEAER=y
335# CONFIG_PCIEASPM is not set 332# CONFIG_PCIEASPM is not set
336CONFIG_ARCH_SUPPORTS_MSI=y 333CONFIG_ARCH_SUPPORTS_MSI=y
337# CONFIG_PCI_MSI is not set 334# CONFIG_PCI_MSI is not set
338# CONFIG_PCI_LEGACY is not set
339CONFIG_PCI_DEBUG=y 335CONFIG_PCI_DEBUG=y
340# CONFIG_PCI_STUB is not set 336# CONFIG_PCI_STUB is not set
341# CONFIG_PCI_IOV is not set 337# CONFIG_PCI_IOV is not set
@@ -362,7 +358,6 @@ CONFIG_NET=y
362# Networking options 358# Networking options
363# 359#
364CONFIG_PACKET=y 360CONFIG_PACKET=y
365# CONFIG_PACKET_MMAP is not set
366CONFIG_UNIX=y 361CONFIG_UNIX=y
367CONFIG_XFRM=y 362CONFIG_XFRM=y
368CONFIG_XFRM_USER=y 363CONFIG_XFRM_USER=y
@@ -571,6 +566,8 @@ CONFIG_MTD_NAND_FSL_ELBC=y
571# UBI - Unsorted block images 566# UBI - Unsorted block images
572# 567#
573# CONFIG_MTD_UBI is not set 568# CONFIG_MTD_UBI is not set
569CONFIG_OF_FLATTREE=y
570CONFIG_OF_DYNAMIC=y
574CONFIG_OF_DEVICE=y 571CONFIG_OF_DEVICE=y
575CONFIG_OF_I2C=y 572CONFIG_OF_I2C=y
576# CONFIG_PARPORT is not set 573# CONFIG_PARPORT is not set
@@ -605,6 +602,7 @@ CONFIG_MISC_DEVICES=y
605# CONFIG_ENCLOSURE_SERVICES is not set 602# CONFIG_ENCLOSURE_SERVICES is not set
606# CONFIG_HP_ILO is not set 603# CONFIG_HP_ILO is not set
607# CONFIG_ISL29003 is not set 604# CONFIG_ISL29003 is not set
605# CONFIG_SENSORS_TSL2550 is not set
608# CONFIG_DS1682 is not set 606# CONFIG_DS1682 is not set
609# CONFIG_C2PORT is not set 607# CONFIG_C2PORT is not set
610 608
@@ -670,6 +668,7 @@ CONFIG_IDE_PROC_FS=y
670# 668#
671# SCSI device support 669# SCSI device support
672# 670#
671CONFIG_SCSI_MOD=y
673# CONFIG_RAID_ATTRS is not set 672# CONFIG_RAID_ATTRS is not set
674CONFIG_SCSI=y 673CONFIG_SCSI=y
675CONFIG_SCSI_DMA=y 674CONFIG_SCSI_DMA=y
@@ -792,6 +791,7 @@ CONFIG_PATA_ALI=y
792# CONFIG_PATA_IT821X is not set 791# CONFIG_PATA_IT821X is not set
793# CONFIG_PATA_IT8213 is not set 792# CONFIG_PATA_IT8213 is not set
794# CONFIG_PATA_JMICRON is not set 793# CONFIG_PATA_JMICRON is not set
794# CONFIG_PATA_LEGACY is not set
795# CONFIG_PATA_TRIFLEX is not set 795# CONFIG_PATA_TRIFLEX is not set
796# CONFIG_PATA_MARVELL is not set 796# CONFIG_PATA_MARVELL is not set
797# CONFIG_PATA_MPIIX is not set 797# CONFIG_PATA_MPIIX is not set
@@ -970,6 +970,7 @@ CONFIG_SERIAL_CORE=y
970CONFIG_SERIAL_CORE_CONSOLE=y 970CONFIG_SERIAL_CORE_CONSOLE=y
971# CONFIG_SERIAL_JSM is not set 971# CONFIG_SERIAL_JSM is not set
972# CONFIG_SERIAL_OF_PLATFORM is not set 972# CONFIG_SERIAL_OF_PLATFORM is not set
973# CONFIG_SERIAL_TIMBERDALE is not set
973# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set 974# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set
974CONFIG_UNIX98_PTYS=y 975CONFIG_UNIX98_PTYS=y
975# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set 976# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
@@ -1017,6 +1018,7 @@ CONFIG_I2C_HELPER_AUTO=y
1017CONFIG_I2C_MPC=y 1018CONFIG_I2C_MPC=y
1018# CONFIG_I2C_OCORES is not set 1019# CONFIG_I2C_OCORES is not set
1019# CONFIG_I2C_SIMTEC is not set 1020# CONFIG_I2C_SIMTEC is not set
1021# CONFIG_I2C_XILINX is not set
1020 1022
1021# 1023#
1022# External I2C/SMBus adapter drivers 1024# External I2C/SMBus adapter drivers
@@ -1029,15 +1031,9 @@ CONFIG_I2C_MPC=y
1029# 1031#
1030# CONFIG_I2C_PCA_PLATFORM is not set 1032# CONFIG_I2C_PCA_PLATFORM is not set
1031# CONFIG_I2C_STUB is not set 1033# 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 1034# CONFIG_I2C_DEBUG_CORE is not set
1038# CONFIG_I2C_DEBUG_ALGO is not set 1035# CONFIG_I2C_DEBUG_ALGO is not set
1039# CONFIG_I2C_DEBUG_BUS is not set 1036# CONFIG_I2C_DEBUG_BUS is not set
1040# CONFIG_I2C_DEBUG_CHIP is not set
1041# CONFIG_SPI is not set 1037# CONFIG_SPI is not set
1042 1038
1043# 1039#
@@ -1062,18 +1058,21 @@ CONFIG_SSB_POSSIBLE=y
1062# Multifunction device drivers 1058# Multifunction device drivers
1063# 1059#
1064# CONFIG_MFD_CORE is not set 1060# CONFIG_MFD_CORE is not set
1061# CONFIG_MFD_88PM860X is not set
1065# CONFIG_MFD_SM501 is not set 1062# CONFIG_MFD_SM501 is not set
1066# CONFIG_HTC_PASIC3 is not set 1063# CONFIG_HTC_PASIC3 is not set
1067# CONFIG_TWL4030_CORE is not set 1064# CONFIG_TWL4030_CORE is not set
1068# CONFIG_MFD_TMIO is not set 1065# CONFIG_MFD_TMIO is not set
1069# CONFIG_PMIC_DA903X is not set 1066# CONFIG_PMIC_DA903X is not set
1070# CONFIG_PMIC_ADP5520 is not set 1067# CONFIG_PMIC_ADP5520 is not set
1068# CONFIG_MFD_MAX8925 is not set
1071# CONFIG_MFD_WM8400 is not set 1069# CONFIG_MFD_WM8400 is not set
1072# CONFIG_MFD_WM831X is not set 1070# CONFIG_MFD_WM831X is not set
1073# CONFIG_MFD_WM8350_I2C is not set 1071# CONFIG_MFD_WM8350_I2C is not set
1072# CONFIG_MFD_WM8994 is not set
1074# CONFIG_MFD_PCF50633 is not set 1073# CONFIG_MFD_PCF50633 is not set
1075# CONFIG_AB3100_CORE is not set 1074# CONFIG_AB3100_CORE is not set
1076# CONFIG_MFD_88PM8607 is not set 1075# CONFIG_LPC_SCH is not set
1077# CONFIG_REGULATOR is not set 1076# CONFIG_REGULATOR is not set
1078# CONFIG_MEDIA_SUPPORT is not set 1077# CONFIG_MEDIA_SUPPORT is not set
1079 1078
@@ -1082,6 +1081,7 @@ CONFIG_SSB_POSSIBLE=y
1082# 1081#
1083# CONFIG_AGP is not set 1082# CONFIG_AGP is not set
1084CONFIG_VGA_ARB=y 1083CONFIG_VGA_ARB=y
1084CONFIG_VGA_ARB_MAX_GPUS=16
1085# CONFIG_DRM is not set 1085# CONFIG_DRM is not set
1086# CONFIG_VGASTATE is not set 1086# CONFIG_VGASTATE is not set
1087CONFIG_VIDEO_OUTPUT_CONTROL=y 1087CONFIG_VIDEO_OUTPUT_CONTROL=y
@@ -1434,6 +1434,7 @@ CONFIG_MISC_FILESYSTEMS=y
1434# CONFIG_BFS_FS is not set 1434# CONFIG_BFS_FS is not set
1435# CONFIG_EFS_FS is not set 1435# CONFIG_EFS_FS is not set
1436# CONFIG_JFFS2_FS is not set 1436# CONFIG_JFFS2_FS is not set
1437# CONFIG_LOGFS is not set
1437# CONFIG_CRAMFS is not set 1438# CONFIG_CRAMFS is not set
1438# CONFIG_SQUASHFS is not set 1439# CONFIG_SQUASHFS is not set
1439# CONFIG_VXFS_FS is not set 1440# CONFIG_VXFS_FS is not set
@@ -1461,6 +1462,7 @@ CONFIG_SUNRPC=y
1461# CONFIG_RPCSEC_GSS_KRB5 is not set 1462# CONFIG_RPCSEC_GSS_KRB5 is not set
1462# CONFIG_RPCSEC_GSS_SPKM3 is not set 1463# CONFIG_RPCSEC_GSS_SPKM3 is not set
1463# CONFIG_SMB_FS is not set 1464# CONFIG_SMB_FS is not set
1465# CONFIG_CEPH_FS is not set
1464# CONFIG_CIFS is not set 1466# CONFIG_CIFS is not set
1465# CONFIG_NCP_FS is not set 1467# CONFIG_NCP_FS is not set
1466# CONFIG_CODA_FS is not set 1468# 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 727a8c8d15b..1be38eb0578 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,15 +97,11 @@ CONFIG_TREE_RCU=y
97# CONFIG_RCU_TRACE is not set 97# CONFIG_RCU_TRACE is not set
98CONFIG_RCU_FANOUT=32 98CONFIG_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
101CONFIG_IKCONFIG=y 102CONFIG_IKCONFIG=y
102CONFIG_IKCONFIG_PROC=y 103CONFIG_IKCONFIG_PROC=y
103CONFIG_LOG_BUF_SHIFT=14 104CONFIG_LOG_BUF_SHIFT=14
104CONFIG_GROUP_SCHED=y
105# CONFIG_FAIR_GROUP_SCHED is not set
106# CONFIG_RT_GROUP_SCHED is not set
107CONFIG_USER_SCHED=y
108# CONFIG_CGROUP_SCHED is not set
109# CONFIG_CGROUPS is not set 105# CONFIG_CGROUPS is not set
110CONFIG_SYSFS_DEPRECATED=y 106CONFIG_SYSFS_DEPRECATED=y
111CONFIG_SYSFS_DEPRECATED_V2=y 107CONFIG_SYSFS_DEPRECATED_V2=y
@@ -116,6 +112,7 @@ CONFIG_INITRAMFS_SOURCE=""
116CONFIG_RD_GZIP=y 112CONFIG_RD_GZIP=y
117# CONFIG_RD_BZIP2 is not set 113# CONFIG_RD_BZIP2 is not set
118# CONFIG_RD_LZMA is not set 114# CONFIG_RD_LZMA is not set
115# CONFIG_RD_LZO is not set
119# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 116# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
120CONFIG_SYSCTL=y 117CONFIG_SYSCTL=y
121CONFIG_ANON_INODES=y 118CONFIG_ANON_INODES=y
@@ -326,6 +323,7 @@ CONFIG_ISA_DMA_API=y
326# Bus options 323# Bus options
327# 324#
328CONFIG_ZONE_DMA=y 325CONFIG_ZONE_DMA=y
326# CONFIG_NEED_DMA_MAP_STATE is not set
329CONFIG_GENERIC_ISA_DMA=y 327CONFIG_GENERIC_ISA_DMA=y
330CONFIG_PPC_INDIRECT_PCI=y 328CONFIG_PPC_INDIRECT_PCI=y
331CONFIG_FSL_SOC=y 329CONFIG_FSL_SOC=y
@@ -337,7 +335,6 @@ CONFIG_PCI_SYSCALL=y
337# CONFIG_PCIEPORTBUS is not set 335# CONFIG_PCIEPORTBUS is not set
338CONFIG_ARCH_SUPPORTS_MSI=y 336CONFIG_ARCH_SUPPORTS_MSI=y
339# CONFIG_PCI_MSI is not set 337# CONFIG_PCI_MSI is not set
340# CONFIG_PCI_LEGACY is not set
341# CONFIG_PCI_DEBUG is not set 338# CONFIG_PCI_DEBUG is not set
342# CONFIG_PCI_STUB is not set 339# CONFIG_PCI_STUB is not set
343# CONFIG_PCI_IOV is not set 340# CONFIG_PCI_IOV is not set
@@ -365,7 +362,6 @@ CONFIG_NET=y
365# Networking options 362# Networking options
366# 363#
367CONFIG_PACKET=y 364CONFIG_PACKET=y
368# CONFIG_PACKET_MMAP is not set
369CONFIG_UNIX=y 365CONFIG_UNIX=y
370CONFIG_XFRM=y 366CONFIG_XFRM=y
371CONFIG_XFRM_USER=y 367CONFIG_XFRM_USER=y
@@ -498,6 +494,8 @@ CONFIG_EXTRA_FIRMWARE=""
498# CONFIG_SYS_HYPERVISOR is not set 494# CONFIG_SYS_HYPERVISOR is not set
499# CONFIG_CONNECTOR is not set 495# CONFIG_CONNECTOR is not set
500# CONFIG_MTD is not set 496# CONFIG_MTD is not set
497CONFIG_OF_FLATTREE=y
498CONFIG_OF_DYNAMIC=y
501CONFIG_OF_DEVICE=y 499CONFIG_OF_DEVICE=y
502CONFIG_OF_I2C=y 500CONFIG_OF_I2C=y
503CONFIG_OF_MDIO=y 501CONFIG_OF_MDIO=y
@@ -534,6 +532,7 @@ CONFIG_MISC_DEVICES=y
534# CONFIG_ENCLOSURE_SERVICES is not set 532# CONFIG_ENCLOSURE_SERVICES is not set
535# CONFIG_HP_ILO is not set 533# CONFIG_HP_ILO is not set
536# CONFIG_ISL29003 is not set 534# CONFIG_ISL29003 is not set
535# CONFIG_SENSORS_TSL2550 is not set
537# CONFIG_DS1682 is not set 536# CONFIG_DS1682 is not set
538# CONFIG_C2PORT is not set 537# CONFIG_C2PORT is not set
539 538
@@ -551,6 +550,7 @@ CONFIG_HAVE_IDE=y
551# 550#
552# SCSI device support 551# SCSI device support
553# 552#
553CONFIG_SCSI_MOD=y
554# CONFIG_RAID_ATTRS is not set 554# CONFIG_RAID_ATTRS is not set
555CONFIG_SCSI=y 555CONFIG_SCSI=y
556CONFIG_SCSI_DMA=y 556CONFIG_SCSI_DMA=y
@@ -675,6 +675,7 @@ CONFIG_PATA_ALI=y
675# CONFIG_PATA_IT821X is not set 675# CONFIG_PATA_IT821X is not set
676# CONFIG_PATA_IT8213 is not set 676# CONFIG_PATA_IT8213 is not set
677# CONFIG_PATA_JMICRON is not set 677# CONFIG_PATA_JMICRON is not set
678# CONFIG_PATA_LEGACY is not set
678# CONFIG_PATA_TRIFLEX is not set 679# CONFIG_PATA_TRIFLEX is not set
679# CONFIG_PATA_MARVELL is not set 680# CONFIG_PATA_MARVELL is not set
680# CONFIG_PATA_MPIIX is not set 681# CONFIG_PATA_MPIIX is not set
@@ -799,6 +800,8 @@ CONFIG_NETDEV_10000=y
799# CONFIG_CHELSIO_T1 is not set 800# CONFIG_CHELSIO_T1 is not set
800CONFIG_CHELSIO_T3_DEPENDS=y 801CONFIG_CHELSIO_T3_DEPENDS=y
801# CONFIG_CHELSIO_T3 is not set 802# CONFIG_CHELSIO_T3 is not set
803CONFIG_CHELSIO_T4_DEPENDS=y
804# CONFIG_CHELSIO_T4 is not set
802# CONFIG_ENIC is not set 805# CONFIG_ENIC is not set
803# CONFIG_IXGBE is not set 806# CONFIG_IXGBE is not set
804# CONFIG_IXGB is not set 807# CONFIG_IXGB is not set
@@ -811,6 +814,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
811# CONFIG_MLX4_CORE is not set 814# CONFIG_MLX4_CORE is not set
812# CONFIG_TEHUTI is not set 815# CONFIG_TEHUTI is not set
813# CONFIG_BNX2X is not set 816# CONFIG_BNX2X is not set
817# CONFIG_QLCNIC is not set
814# CONFIG_QLGE is not set 818# CONFIG_QLGE is not set
815# CONFIG_SFC is not set 819# CONFIG_SFC is not set
816# CONFIG_BE2NET is not set 820# CONFIG_BE2NET is not set
@@ -920,6 +924,7 @@ CONFIG_SERIAL_CORE=y
920CONFIG_SERIAL_CORE_CONSOLE=y 924CONFIG_SERIAL_CORE_CONSOLE=y
921# CONFIG_SERIAL_JSM is not set 925# CONFIG_SERIAL_JSM is not set
922# CONFIG_SERIAL_OF_PLATFORM is not set 926# CONFIG_SERIAL_OF_PLATFORM is not set
927# CONFIG_SERIAL_TIMBERDALE is not set
923# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set 928# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set
924CONFIG_UNIX98_PTYS=y 929CONFIG_UNIX98_PTYS=y
925# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set 930# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
@@ -968,6 +973,7 @@ CONFIG_I2C_HELPER_AUTO=y
968CONFIG_I2C_MPC=y 973CONFIG_I2C_MPC=y
969# CONFIG_I2C_OCORES is not set 974# CONFIG_I2C_OCORES is not set
970# CONFIG_I2C_SIMTEC is not set 975# CONFIG_I2C_SIMTEC is not set
976# CONFIG_I2C_XILINX is not set
971 977
972# 978#
973# External I2C/SMBus adapter drivers 979# External I2C/SMBus adapter drivers
@@ -981,15 +987,9 @@ CONFIG_I2C_MPC=y
981# 987#
982# CONFIG_I2C_PCA_PLATFORM is not set 988# CONFIG_I2C_PCA_PLATFORM is not set
983# CONFIG_I2C_STUB is not set 989# 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 990# CONFIG_I2C_DEBUG_CORE is not set
990# CONFIG_I2C_DEBUG_ALGO is not set 991# CONFIG_I2C_DEBUG_ALGO is not set
991# CONFIG_I2C_DEBUG_BUS is not set 992# CONFIG_I2C_DEBUG_BUS is not set
992# CONFIG_I2C_DEBUG_CHIP is not set
993# CONFIG_SPI is not set 993# CONFIG_SPI is not set
994 994
995# 995#
@@ -1014,18 +1014,21 @@ CONFIG_SSB_POSSIBLE=y
1014# Multifunction device drivers 1014# Multifunction device drivers
1015# 1015#
1016# CONFIG_MFD_CORE is not set 1016# CONFIG_MFD_CORE is not set
1017# CONFIG_MFD_88PM860X is not set
1017# CONFIG_MFD_SM501 is not set 1018# CONFIG_MFD_SM501 is not set
1018# CONFIG_HTC_PASIC3 is not set 1019# CONFIG_HTC_PASIC3 is not set
1019# CONFIG_TWL4030_CORE is not set 1020# CONFIG_TWL4030_CORE is not set
1020# CONFIG_MFD_TMIO is not set 1021# CONFIG_MFD_TMIO is not set
1021# CONFIG_PMIC_DA903X is not set 1022# CONFIG_PMIC_DA903X is not set
1022# CONFIG_PMIC_ADP5520 is not set 1023# CONFIG_PMIC_ADP5520 is not set
1024# CONFIG_MFD_MAX8925 is not set
1023# CONFIG_MFD_WM8400 is not set 1025# CONFIG_MFD_WM8400 is not set
1024# CONFIG_MFD_WM831X is not set 1026# CONFIG_MFD_WM831X is not set
1025# CONFIG_MFD_WM8350_I2C is not set 1027# CONFIG_MFD_WM8350_I2C is not set
1028# CONFIG_MFD_WM8994 is not set
1026# CONFIG_MFD_PCF50633 is not set 1029# CONFIG_MFD_PCF50633 is not set
1027# CONFIG_AB3100_CORE is not set 1030# CONFIG_AB3100_CORE is not set
1028# CONFIG_MFD_88PM8607 is not set 1031# CONFIG_LPC_SCH is not set
1029# CONFIG_REGULATOR is not set 1032# CONFIG_REGULATOR is not set
1030# CONFIG_MEDIA_SUPPORT is not set 1033# CONFIG_MEDIA_SUPPORT is not set
1031 1034
@@ -1034,6 +1037,7 @@ CONFIG_SSB_POSSIBLE=y
1034# 1037#
1035# CONFIG_AGP is not set 1038# CONFIG_AGP is not set
1036CONFIG_VGA_ARB=y 1039CONFIG_VGA_ARB=y
1040CONFIG_VGA_ARB_MAX_GPUS=16
1037# CONFIG_DRM is not set 1041# CONFIG_DRM is not set
1038# CONFIG_VGASTATE is not set 1042# CONFIG_VGASTATE is not set
1039CONFIG_VIDEO_OUTPUT_CONTROL=y 1043CONFIG_VIDEO_OUTPUT_CONTROL=y
@@ -1151,6 +1155,7 @@ CONFIG_SND_INTEL8X0=y
1151CONFIG_SND_PPC=y 1155CONFIG_SND_PPC=y
1152CONFIG_SND_USB=y 1156CONFIG_SND_USB=y
1153# CONFIG_SND_USB_AUDIO is not set 1157# CONFIG_SND_USB_AUDIO is not set
1158# CONFIG_SND_USB_UA101 is not set
1154# CONFIG_SND_USB_USX2Y is not set 1159# CONFIG_SND_USB_USX2Y is not set
1155# CONFIG_SND_USB_CAIAQ is not set 1160# CONFIG_SND_USB_CAIAQ is not set
1156# CONFIG_SND_SOC is not set 1161# CONFIG_SND_SOC is not set
@@ -1170,6 +1175,7 @@ CONFIG_USB_HID=y
1170# 1175#
1171# Special HID drivers 1176# Special HID drivers
1172# 1177#
1178# CONFIG_HID_3M_PCT is not set
1173CONFIG_HID_A4TECH=y 1179CONFIG_HID_A4TECH=y
1174CONFIG_HID_APPLE=y 1180CONFIG_HID_APPLE=y
1175CONFIG_HID_BELKIN=y 1181CONFIG_HID_BELKIN=y
@@ -1185,14 +1191,19 @@ CONFIG_HID_GYRATION=y
1185CONFIG_HID_LOGITECH=y 1191CONFIG_HID_LOGITECH=y
1186# CONFIG_LOGITECH_FF is not set 1192# CONFIG_LOGITECH_FF is not set
1187# CONFIG_LOGIRUMBLEPAD2_FF is not set 1193# CONFIG_LOGIRUMBLEPAD2_FF is not set
1194# CONFIG_LOGIG940_FF is not set
1188CONFIG_HID_MICROSOFT=y 1195CONFIG_HID_MICROSOFT=y
1196# CONFIG_HID_MOSART is not set
1189CONFIG_HID_MONTEREY=y 1197CONFIG_HID_MONTEREY=y
1190# CONFIG_HID_NTRIG is not set 1198# CONFIG_HID_NTRIG is not set
1199# CONFIG_HID_ORTEK is not set
1191CONFIG_HID_PANTHERLORD=y 1200CONFIG_HID_PANTHERLORD=y
1192# CONFIG_PANTHERLORD_FF is not set 1201# CONFIG_PANTHERLORD_FF is not set
1193CONFIG_HID_PETALYNX=y 1202CONFIG_HID_PETALYNX=y
1203# CONFIG_HID_QUANTA is not set
1194CONFIG_HID_SAMSUNG=y 1204CONFIG_HID_SAMSUNG=y
1195CONFIG_HID_SONY=y 1205CONFIG_HID_SONY=y
1206# CONFIG_HID_STANTUM is not set
1196CONFIG_HID_SUNPLUS=y 1207CONFIG_HID_SUNPLUS=y
1197# CONFIG_HID_GREENASIA is not set 1208# CONFIG_HID_GREENASIA is not set
1198# CONFIG_HID_SMARTJOYPLUS is not set 1209# CONFIG_HID_SMARTJOYPLUS is not set
@@ -1300,7 +1311,6 @@ CONFIG_USB_STORAGE=y
1300# CONFIG_USB_RIO500 is not set 1311# CONFIG_USB_RIO500 is not set
1301# CONFIG_USB_LEGOTOWER is not set 1312# CONFIG_USB_LEGOTOWER is not set
1302# CONFIG_USB_LCD is not set 1313# CONFIG_USB_LCD is not set
1303# CONFIG_USB_BERRY_CHARGE is not set
1304# CONFIG_USB_LED is not set 1314# CONFIG_USB_LED is not set
1305# CONFIG_USB_CYPRESS_CY7C63 is not set 1315# CONFIG_USB_CYPRESS_CY7C63 is not set
1306# CONFIG_USB_CYTHERM is not set 1316# CONFIG_USB_CYTHERM is not set
@@ -1313,7 +1323,6 @@ CONFIG_USB_STORAGE=y
1313# CONFIG_USB_IOWARRIOR is not set 1323# CONFIG_USB_IOWARRIOR is not set
1314# CONFIG_USB_TEST is not set 1324# CONFIG_USB_TEST is not set
1315# CONFIG_USB_ISIGHTFW is not set 1325# CONFIG_USB_ISIGHTFW is not set
1316# CONFIG_USB_VST is not set
1317# CONFIG_USB_GADGET is not set 1326# CONFIG_USB_GADGET is not set
1318 1327
1319# 1328#
@@ -1475,6 +1484,7 @@ CONFIG_BEFS_FS=m
1475# CONFIG_BEFS_DEBUG is not set 1484# CONFIG_BEFS_DEBUG is not set
1476CONFIG_BFS_FS=m 1485CONFIG_BFS_FS=m
1477CONFIG_EFS_FS=m 1486CONFIG_EFS_FS=m
1487# CONFIG_LOGFS is not set
1478CONFIG_CRAMFS=y 1488CONFIG_CRAMFS=y
1479# CONFIG_SQUASHFS is not set 1489# CONFIG_SQUASHFS is not set
1480CONFIG_VXFS_FS=m 1490CONFIG_VXFS_FS=m
@@ -1506,6 +1516,7 @@ CONFIG_SUNRPC_GSS=y
1506CONFIG_RPCSEC_GSS_KRB5=y 1516CONFIG_RPCSEC_GSS_KRB5=y
1507# CONFIG_RPCSEC_GSS_SPKM3 is not set 1517# CONFIG_RPCSEC_GSS_SPKM3 is not set
1508# CONFIG_SMB_FS is not set 1518# CONFIG_SMB_FS is not set
1519# CONFIG_CEPH_FS is not set
1509# CONFIG_CIFS is not set 1520# CONFIG_CIFS is not set
1510# CONFIG_NCP_FS is not set 1521# CONFIG_NCP_FS is not set
1511# CONFIG_CODA_FS is not set 1522# CONFIG_CODA_FS is not set
@@ -1717,6 +1728,7 @@ CONFIG_CRYPTO_MANAGER=y
1717CONFIG_CRYPTO_MANAGER2=y 1728CONFIG_CRYPTO_MANAGER2=y
1718# CONFIG_CRYPTO_GF128MUL is not set 1729# CONFIG_CRYPTO_GF128MUL is not set
1719# CONFIG_CRYPTO_NULL is not set 1730# CONFIG_CRYPTO_NULL is not set
1731# CONFIG_CRYPTO_PCRYPT is not set
1720CONFIG_CRYPTO_WORKQUEUE=y 1732CONFIG_CRYPTO_WORKQUEUE=y
1721# CONFIG_CRYPTO_CRYPTD is not set 1733# CONFIG_CRYPTO_CRYPTD is not set
1722# CONFIG_CRYPTO_AUTHENC is not set 1734# CONFIG_CRYPTO_AUTHENC is not set
diff --git a/arch/powerpc/configs/86xx/sbc8641d_defconfig b/arch/powerpc/configs/86xx/sbc8641d_defconfig
index 4fb04dd2cde..a6300945732 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,11 +101,6 @@ CONFIG_RCU_FANOUT=32
101CONFIG_IKCONFIG=y 101CONFIG_IKCONFIG=y
102CONFIG_IKCONFIG_PROC=y 102CONFIG_IKCONFIG_PROC=y
103CONFIG_LOG_BUF_SHIFT=14 103CONFIG_LOG_BUF_SHIFT=14
104CONFIG_GROUP_SCHED=y
105CONFIG_FAIR_GROUP_SCHED=y
106# CONFIG_RT_GROUP_SCHED is not set
107CONFIG_USER_SCHED=y
108# CONFIG_CGROUP_SCHED is not set
109# CONFIG_CGROUPS is not set 104# CONFIG_CGROUPS is not set
110CONFIG_SYSFS_DEPRECATED=y 105CONFIG_SYSFS_DEPRECATED=y
111CONFIG_SYSFS_DEPRECATED_V2=y 106CONFIG_SYSFS_DEPRECATED_V2=y
@@ -116,6 +111,7 @@ CONFIG_INITRAMFS_SOURCE=""
116CONFIG_RD_GZIP=y 111CONFIG_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
120CONFIG_SYSCTL=y 116CONFIG_SYSCTL=y
121CONFIG_ANON_INODES=y 117CONFIG_ANON_INODES=y
@@ -327,6 +323,7 @@ CONFIG_ISA_DMA_API=y
327# Bus options 323# Bus options
328# 324#
329CONFIG_ZONE_DMA=y 325CONFIG_ZONE_DMA=y
326# CONFIG_NEED_DMA_MAP_STATE is not set
330CONFIG_GENERIC_ISA_DMA=y 327CONFIG_GENERIC_ISA_DMA=y
331CONFIG_PPC_INDIRECT_PCI=y 328CONFIG_PPC_INDIRECT_PCI=y
332CONFIG_FSL_SOC=y 329CONFIG_FSL_SOC=y
@@ -342,7 +339,6 @@ CONFIG_PCIEAER=y
342# CONFIG_PCIEASPM is not set 339# CONFIG_PCIEASPM is not set
343CONFIG_ARCH_SUPPORTS_MSI=y 340CONFIG_ARCH_SUPPORTS_MSI=y
344# CONFIG_PCI_MSI is not set 341# CONFIG_PCI_MSI is not set
345# CONFIG_PCI_LEGACY is not set
346# CONFIG_PCI_DEBUG is not set 342# CONFIG_PCI_DEBUG is not set
347# CONFIG_PCI_STUB is not set 343# CONFIG_PCI_STUB is not set
348# CONFIG_PCI_IOV is not set 344# CONFIG_PCI_IOV is not set
@@ -369,7 +365,6 @@ CONFIG_NET=y
369# Networking options 365# Networking options
370# 366#
371CONFIG_PACKET=y 367CONFIG_PACKET=y
372CONFIG_PACKET_MMAP=y
373CONFIG_UNIX=y 368CONFIG_UNIX=y
374CONFIG_XFRM=y 369CONFIG_XFRM=y
375CONFIG_XFRM_USER=m 370CONFIG_XFRM_USER=m
@@ -552,6 +547,7 @@ CONFIG_ATM_BR2684=m
552# CONFIG_ATM_BR2684_IPFILTER is not set 547# CONFIG_ATM_BR2684_IPFILTER is not set
553CONFIG_STP=m 548CONFIG_STP=m
554CONFIG_BRIDGE=m 549CONFIG_BRIDGE=m
550CONFIG_BRIDGE_IGMP_SNOOPING=y
555# CONFIG_NET_DSA is not set 551# CONFIG_NET_DSA is not set
556CONFIG_VLAN_8021Q=m 552CONFIG_VLAN_8021Q=m
557# CONFIG_VLAN_8021Q_GVRP is not set 553# CONFIG_VLAN_8021Q_GVRP is not set
@@ -733,6 +729,8 @@ CONFIG_MTD_PHYSMAP_OF=y
733# UBI - Unsorted block images 729# UBI - Unsorted block images
734# 730#
735# CONFIG_MTD_UBI is not set 731# CONFIG_MTD_UBI is not set
732CONFIG_OF_FLATTREE=y
733CONFIG_OF_DYNAMIC=y
736CONFIG_OF_DEVICE=y 734CONFIG_OF_DEVICE=y
737CONFIG_OF_I2C=y 735CONFIG_OF_I2C=y
738CONFIG_OF_MDIO=y 736CONFIG_OF_MDIO=y
@@ -768,6 +766,7 @@ CONFIG_MISC_DEVICES=y
768# CONFIG_ENCLOSURE_SERVICES is not set 766# CONFIG_ENCLOSURE_SERVICES is not set
769# CONFIG_HP_ILO is not set 767# CONFIG_HP_ILO is not set
770# CONFIG_ISL29003 is not set 768# CONFIG_ISL29003 is not set
769# CONFIG_SENSORS_TSL2550 is not set
771# CONFIG_DS1682 is not set 770# CONFIG_DS1682 is not set
772# CONFIG_C2PORT is not set 771# CONFIG_C2PORT is not set
773 772
@@ -785,6 +784,7 @@ CONFIG_HAVE_IDE=y
785# 784#
786# SCSI device support 785# SCSI device support
787# 786#
787CONFIG_SCSI_MOD=y
788# CONFIG_RAID_ATTRS is not set 788# CONFIG_RAID_ATTRS is not set
789# CONFIG_SCSI is not set 789# CONFIG_SCSI is not set
790# CONFIG_SCSI_DMA is not set 790# CONFIG_SCSI_DMA is not set
@@ -1024,6 +1024,7 @@ CONFIG_SERIAL_CORE=y
1024CONFIG_SERIAL_CORE_CONSOLE=y 1024CONFIG_SERIAL_CORE_CONSOLE=y
1025# CONFIG_SERIAL_JSM is not set 1025# CONFIG_SERIAL_JSM is not set
1026# CONFIG_SERIAL_OF_PLATFORM is not set 1026# CONFIG_SERIAL_OF_PLATFORM is not set
1027# CONFIG_SERIAL_TIMBERDALE is not set
1027# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set 1028# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set
1028CONFIG_UNIX98_PTYS=y 1029CONFIG_UNIX98_PTYS=y
1029# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set 1030# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
@@ -1074,6 +1075,7 @@ CONFIG_I2C_HELPER_AUTO=y
1074CONFIG_I2C_MPC=y 1075CONFIG_I2C_MPC=y
1075# CONFIG_I2C_OCORES is not set 1076# CONFIG_I2C_OCORES is not set
1076# CONFIG_I2C_SIMTEC is not set 1077# CONFIG_I2C_SIMTEC is not set
1078# CONFIG_I2C_XILINX is not set
1077 1079
1078# 1080#
1079# External I2C/SMBus adapter drivers 1081# External I2C/SMBus adapter drivers
@@ -1086,15 +1088,9 @@ CONFIG_I2C_MPC=y
1086# 1088#
1087# CONFIG_I2C_PCA_PLATFORM is not set 1089# CONFIG_I2C_PCA_PLATFORM is not set
1088# CONFIG_I2C_STUB is not set 1090# 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 1091# CONFIG_I2C_DEBUG_CORE is not set
1095# CONFIG_I2C_DEBUG_ALGO is not set 1092# CONFIG_I2C_DEBUG_ALGO is not set
1096# CONFIG_I2C_DEBUG_BUS is not set 1093# CONFIG_I2C_DEBUG_BUS is not set
1097# CONFIG_I2C_DEBUG_CHIP is not set
1098# CONFIG_SPI is not set 1094# CONFIG_SPI is not set
1099 1095
1100# 1096#
@@ -1120,10 +1116,11 @@ CONFIG_HWMON=y
1120# CONFIG_SENSORS_ADM1029 is not set 1116# CONFIG_SENSORS_ADM1029 is not set
1121# CONFIG_SENSORS_ADM1031 is not set 1117# CONFIG_SENSORS_ADM1031 is not set
1122# CONFIG_SENSORS_ADM9240 is not set 1118# CONFIG_SENSORS_ADM9240 is not set
1119# CONFIG_SENSORS_ADT7411 is not set
1123# CONFIG_SENSORS_ADT7462 is not set 1120# CONFIG_SENSORS_ADT7462 is not set
1124# CONFIG_SENSORS_ADT7470 is not set 1121# CONFIG_SENSORS_ADT7470 is not set
1125# CONFIG_SENSORS_ADT7473 is not set
1126# CONFIG_SENSORS_ADT7475 is not set 1122# CONFIG_SENSORS_ADT7475 is not set
1123# CONFIG_SENSORS_ASC7621 is not set
1127# CONFIG_SENSORS_ATXP1 is not set 1124# CONFIG_SENSORS_ATXP1 is not set
1128# CONFIG_SENSORS_DS1621 is not set 1125# CONFIG_SENSORS_DS1621 is not set
1129# CONFIG_SENSORS_I5K_AMB is not set 1126# CONFIG_SENSORS_I5K_AMB is not set
@@ -1160,6 +1157,7 @@ CONFIG_HWMON=y
1160# CONFIG_SENSORS_SMSC47M192 is not set 1157# CONFIG_SENSORS_SMSC47M192 is not set
1161# CONFIG_SENSORS_SMSC47B397 is not set 1158# CONFIG_SENSORS_SMSC47B397 is not set
1162# CONFIG_SENSORS_ADS7828 is not set 1159# CONFIG_SENSORS_ADS7828 is not set
1160# CONFIG_SENSORS_AMC6821 is not set
1163# CONFIG_SENSORS_THMC50 is not set 1161# CONFIG_SENSORS_THMC50 is not set
1164# CONFIG_SENSORS_TMP401 is not set 1162# CONFIG_SENSORS_TMP401 is not set
1165# CONFIG_SENSORS_TMP421 is not set 1163# CONFIG_SENSORS_TMP421 is not set
@@ -1202,18 +1200,21 @@ CONFIG_SSB_POSSIBLE=y
1202# Multifunction device drivers 1200# Multifunction device drivers
1203# 1201#
1204# CONFIG_MFD_CORE is not set 1202# CONFIG_MFD_CORE is not set
1203# CONFIG_MFD_88PM860X is not set
1205# CONFIG_MFD_SM501 is not set 1204# CONFIG_MFD_SM501 is not set
1206# CONFIG_HTC_PASIC3 is not set 1205# CONFIG_HTC_PASIC3 is not set
1207# CONFIG_TWL4030_CORE is not set 1206# CONFIG_TWL4030_CORE is not set
1208# CONFIG_MFD_TMIO is not set 1207# CONFIG_MFD_TMIO is not set
1209# CONFIG_PMIC_DA903X is not set 1208# CONFIG_PMIC_DA903X is not set
1210# CONFIG_PMIC_ADP5520 is not set 1209# CONFIG_PMIC_ADP5520 is not set
1210# CONFIG_MFD_MAX8925 is not set
1211# CONFIG_MFD_WM8400 is not set 1211# CONFIG_MFD_WM8400 is not set
1212# CONFIG_MFD_WM831X is not set 1212# CONFIG_MFD_WM831X is not set
1213# CONFIG_MFD_WM8350_I2C is not set 1213# CONFIG_MFD_WM8350_I2C is not set
1214# CONFIG_MFD_WM8994 is not set
1214# CONFIG_MFD_PCF50633 is not set 1215# CONFIG_MFD_PCF50633 is not set
1215# CONFIG_AB3100_CORE is not set 1216# CONFIG_AB3100_CORE is not set
1216# CONFIG_MFD_88PM8607 is not set 1217# CONFIG_LPC_SCH is not set
1217# CONFIG_REGULATOR is not set 1218# CONFIG_REGULATOR is not set
1218# CONFIG_MEDIA_SUPPORT is not set 1219# CONFIG_MEDIA_SUPPORT is not set
1219 1220
@@ -1222,6 +1223,7 @@ CONFIG_SSB_POSSIBLE=y
1222# 1223#
1223# CONFIG_AGP is not set 1224# CONFIG_AGP is not set
1224CONFIG_VGA_ARB=y 1225CONFIG_VGA_ARB=y
1226CONFIG_VGA_ARB_MAX_GPUS=16
1225# CONFIG_DRM is not set 1227# CONFIG_DRM is not set
1226# CONFIG_VGASTATE is not set 1228# CONFIG_VGASTATE is not set
1227CONFIG_VIDEO_OUTPUT_CONTROL=m 1229CONFIG_VIDEO_OUTPUT_CONTROL=m
@@ -1376,6 +1378,7 @@ CONFIG_MISC_FILESYSTEMS=y
1376# CONFIG_BFS_FS is not set 1378# CONFIG_BFS_FS is not set
1377# CONFIG_EFS_FS is not set 1379# CONFIG_EFS_FS is not set
1378# CONFIG_JFFS2_FS is not set 1380# CONFIG_JFFS2_FS is not set
1381# CONFIG_LOGFS is not set
1379# CONFIG_CRAMFS is not set 1382# CONFIG_CRAMFS is not set
1380# CONFIG_SQUASHFS is not set 1383# CONFIG_SQUASHFS is not set
1381# CONFIG_VXFS_FS is not set 1384# CONFIG_VXFS_FS is not set
@@ -1408,6 +1411,7 @@ CONFIG_RPCSEC_GSS_KRB5=y
1408CONFIG_SMB_FS=m 1411CONFIG_SMB_FS=m
1409CONFIG_SMB_NLS_DEFAULT=y 1412CONFIG_SMB_NLS_DEFAULT=y
1410CONFIG_SMB_NLS_REMOTE="cp437" 1413CONFIG_SMB_NLS_REMOTE="cp437"
1414# CONFIG_CEPH_FS is not set
1411CONFIG_CIFS=m 1415CONFIG_CIFS=m
1412# CONFIG_CIFS_STATS is not set 1416# CONFIG_CIFS_STATS is not set
1413# CONFIG_CIFS_WEAK_PW_HASH is not set 1417# CONFIG_CIFS_WEAK_PW_HASH is not set
@@ -1540,6 +1544,7 @@ CONFIG_DEBUG_INFO=y
1540# CONFIG_BACKTRACE_SELF_TEST is not set 1544# CONFIG_BACKTRACE_SELF_TEST is not set
1541# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set 1545# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1542# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set 1546# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
1547# CONFIG_LKDTM is not set
1543# CONFIG_FAULT_INJECTION is not set 1548# CONFIG_FAULT_INJECTION is not set
1544# CONFIG_LATENCYTOP is not set 1549# CONFIG_LATENCYTOP is not set
1545CONFIG_SYSCTL_SYSCALL_CHECK=y 1550CONFIG_SYSCTL_SYSCALL_CHECK=y
@@ -1618,6 +1623,7 @@ CONFIG_CRYPTO_MANAGER=y
1618CONFIG_CRYPTO_MANAGER2=y 1623CONFIG_CRYPTO_MANAGER2=y
1619# CONFIG_CRYPTO_GF128MUL is not set 1624# CONFIG_CRYPTO_GF128MUL is not set
1620CONFIG_CRYPTO_NULL=m 1625CONFIG_CRYPTO_NULL=m
1626# CONFIG_CRYPTO_PCRYPT is not set
1621CONFIG_CRYPTO_WORKQUEUE=y 1627CONFIG_CRYPTO_WORKQUEUE=y
1622# CONFIG_CRYPTO_CRYPTD is not set 1628# CONFIG_CRYPTO_CRYPTD is not set
1623CONFIG_CRYPTO_AUTHENC=m 1629CONFIG_CRYPTO_AUTHENC=m
diff --git a/arch/powerpc/configs/adder875_defconfig b/arch/powerpc/configs/adder875_defconfig
index 5c1dc768bbd..9f89d5c9c0b 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,11 +91,6 @@ 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
93CONFIG_LOG_BUF_SHIFT=14 93CONFIG_LOG_BUF_SHIFT=14
94CONFIG_GROUP_SCHED=y
95CONFIG_FAIR_GROUP_SCHED=y
96# CONFIG_RT_GROUP_SCHED is not set
97CONFIG_USER_SCHED=y
98# CONFIG_CGROUP_SCHED is not set
99# CONFIG_CGROUPS is not set 94# CONFIG_CGROUPS is not set
100CONFIG_SYSFS_DEPRECATED=y 95CONFIG_SYSFS_DEPRECATED=y
101CONFIG_SYSFS_DEPRECATED_V2=y 96CONFIG_SYSFS_DEPRECATED_V2=y
@@ -307,6 +302,7 @@ CONFIG_ISA_DMA_API=y
307# Bus options 302# Bus options
308# 303#
309CONFIG_ZONE_DMA=y 304CONFIG_ZONE_DMA=y
305CONFIG_NEED_DMA_MAP_STATE=y
310CONFIG_FSL_SOC=y 306CONFIG_FSL_SOC=y
311# CONFIG_PCI is not set 307# CONFIG_PCI is not set
312# CONFIG_PCI_DOMAINS is not set 308# CONFIG_PCI_DOMAINS is not set
@@ -336,7 +332,6 @@ CONFIG_NET=y
336# Networking options 332# Networking options
337# 333#
338CONFIG_PACKET=y 334CONFIG_PACKET=y
339# CONFIG_PACKET_MMAP is not set
340CONFIG_UNIX=y 335CONFIG_UNIX=y
341# CONFIG_NET_KEY is not set 336# CONFIG_NET_KEY is not set
342CONFIG_INET=y 337CONFIG_INET=y
@@ -505,6 +500,8 @@ CONFIG_MTD_PHYSMAP_OF=y
505# UBI - Unsorted block images 500# UBI - Unsorted block images
506# 501#
507# CONFIG_MTD_UBI is not set 502# CONFIG_MTD_UBI is not set
503CONFIG_OF_FLATTREE=y
504CONFIG_OF_DYNAMIC=y
508CONFIG_OF_DEVICE=y 505CONFIG_OF_DEVICE=y
509CONFIG_OF_MDIO=y 506CONFIG_OF_MDIO=y
510# CONFIG_PARPORT is not set 507# CONFIG_PARPORT is not set
@@ -516,6 +513,7 @@ CONFIG_HAVE_IDE=y
516# 513#
517# SCSI device support 514# SCSI device support
518# 515#
516CONFIG_SCSI_MOD=y
519# CONFIG_RAID_ATTRS is not set 517# CONFIG_RAID_ATTRS is not set
520# CONFIG_SCSI is not set 518# CONFIG_SCSI is not set
521# CONFIG_SCSI_DMA is not set 519# CONFIG_SCSI_DMA is not set
@@ -664,6 +662,7 @@ CONFIG_SERIAL_CORE=y
664CONFIG_SERIAL_CORE_CONSOLE=y 662CONFIG_SERIAL_CORE_CONSOLE=y
665CONFIG_SERIAL_CPM=y 663CONFIG_SERIAL_CPM=y
666CONFIG_SERIAL_CPM_CONSOLE=y 664CONFIG_SERIAL_CPM_CONSOLE=y
665# CONFIG_SERIAL_TIMBERDALE is not set
667# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set 666# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set
668CONFIG_UNIX98_PTYS=y 667CONFIG_UNIX98_PTYS=y
669# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set 668# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
@@ -802,6 +801,7 @@ CONFIG_MISC_FILESYSTEMS=y
802# CONFIG_BFS_FS is not set 801# CONFIG_BFS_FS is not set
803# CONFIG_EFS_FS is not set 802# CONFIG_EFS_FS is not set
804# CONFIG_JFFS2_FS is not set 803# CONFIG_JFFS2_FS is not set
804# CONFIG_LOGFS is not set
805CONFIG_CRAMFS=y 805CONFIG_CRAMFS=y
806# CONFIG_SQUASHFS is not set 806# CONFIG_SQUASHFS is not set
807# CONFIG_VXFS_FS is not set 807# CONFIG_VXFS_FS is not set
@@ -826,6 +826,7 @@ CONFIG_SUNRPC=y
826# CONFIG_RPCSEC_GSS_KRB5 is not set 826# CONFIG_RPCSEC_GSS_KRB5 is not set
827# CONFIG_RPCSEC_GSS_SPKM3 is not set 827# CONFIG_RPCSEC_GSS_SPKM3 is not set
828# CONFIG_SMB_FS is not set 828# CONFIG_SMB_FS is not set
829# CONFIG_CEPH_FS is not set
829# CONFIG_CIFS is not set 830# CONFIG_CIFS is not set
830# CONFIG_NCP_FS is not set 831# CONFIG_NCP_FS is not set
831# CONFIG_CODA_FS is not set 832# CONFIG_CODA_FS is not set
@@ -924,6 +925,7 @@ CONFIG_DEBUG_INFO=y
924# CONFIG_BACKTRACE_SELF_TEST is not set 925# CONFIG_BACKTRACE_SELF_TEST is not set
925# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set 926# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
926# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set 927# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
928# CONFIG_LKDTM is not set
927# CONFIG_FAULT_INJECTION is not set 929# CONFIG_FAULT_INJECTION is not set
928# CONFIG_LATENCYTOP is not set 930# CONFIG_LATENCYTOP is not set
929# CONFIG_SYSCTL_SYSCALL_CHECK is not set 931# CONFIG_SYSCTL_SYSCALL_CHECK is not set
diff --git a/arch/powerpc/configs/c2k_defconfig b/arch/powerpc/configs/c2k_defconfig
index 72137cd881d..4ab6074db3c 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,11 +101,6 @@ 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
103CONFIG_LOG_BUF_SHIFT=17 103CONFIG_LOG_BUF_SHIFT=17
104CONFIG_GROUP_SCHED=y
105CONFIG_FAIR_GROUP_SCHED=y
106# CONFIG_RT_GROUP_SCHED is not set
107CONFIG_USER_SCHED=y
108# CONFIG_CGROUP_SCHED is not set
109# CONFIG_CGROUPS is not set 104# CONFIG_CGROUPS is not set
110CONFIG_SYSFS_DEPRECATED=y 105CONFIG_SYSFS_DEPRECATED=y
111CONFIG_SYSFS_DEPRECATED_V2=y 106CONFIG_SYSFS_DEPRECATED_V2=y
@@ -121,6 +116,7 @@ CONFIG_INITRAMFS_SOURCE=""
121CONFIG_RD_GZIP=y 116CONFIG_RD_GZIP=y
122CONFIG_RD_BZIP2=y 117CONFIG_RD_BZIP2=y
123CONFIG_RD_LZMA=y 118CONFIG_RD_LZMA=y
119CONFIG_RD_LZO=y
124CONFIG_CC_OPTIMIZE_FOR_SIZE=y 120CONFIG_CC_OPTIMIZE_FOR_SIZE=y
125CONFIG_SYSCTL=y 121CONFIG_SYSCTL=y
126CONFIG_ANON_INODES=y 122CONFIG_ANON_INODES=y
@@ -147,7 +143,6 @@ CONFIG_HAVE_PERF_EVENTS=y
147# Kernel Performance Events And Counters 143# Kernel Performance Events And Counters
148# 144#
149CONFIG_PERF_EVENTS=y 145CONFIG_PERF_EVENTS=y
150CONFIG_EVENT_PROFILE=y
151# CONFIG_PERF_COUNTERS is not set 146# CONFIG_PERF_COUNTERS is not set
152# CONFIG_DEBUG_PERF_USE_VMALLOC is not set 147# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
153CONFIG_VM_EVENT_COUNTERS=y 148CONFIG_VM_EVENT_COUNTERS=y
@@ -158,7 +153,6 @@ CONFIG_COMPAT_BRK=y
158CONFIG_SLUB=y 153CONFIG_SLUB=y
159# CONFIG_SLOB is not set 154# CONFIG_SLOB is not set
160CONFIG_PROFILING=y 155CONFIG_PROFILING=y
161CONFIG_TRACEPOINTS=y
162CONFIG_OPROFILE=m 156CONFIG_OPROFILE=m
163CONFIG_HAVE_OPROFILE=y 157CONFIG_HAVE_OPROFILE=y
164CONFIG_KPROBES=y 158CONFIG_KPROBES=y
@@ -357,6 +351,7 @@ CONFIG_ISA_DMA_API=y
357# Bus options 351# Bus options
358# 352#
359CONFIG_ZONE_DMA=y 353CONFIG_ZONE_DMA=y
354CONFIG_NEED_DMA_MAP_STATE=y
360CONFIG_GENERIC_ISA_DMA=y 355CONFIG_GENERIC_ISA_DMA=y
361CONFIG_PPC_INDIRECT_PCI=y 356CONFIG_PPC_INDIRECT_PCI=y
362CONFIG_PCI=y 357CONFIG_PCI=y
@@ -365,7 +360,6 @@ CONFIG_PCI_SYSCALL=y
365# CONFIG_PCIEPORTBUS is not set 360# CONFIG_PCIEPORTBUS is not set
366CONFIG_ARCH_SUPPORTS_MSI=y 361CONFIG_ARCH_SUPPORTS_MSI=y
367CONFIG_PCI_MSI=y 362CONFIG_PCI_MSI=y
368# CONFIG_PCI_LEGACY is not set
369# CONFIG_PCI_DEBUG is not set 363# CONFIG_PCI_DEBUG is not set
370# CONFIG_PCI_STUB is not set 364# CONFIG_PCI_STUB is not set
371# CONFIG_PCI_IOV is not set 365# CONFIG_PCI_IOV is not set
@@ -396,7 +390,6 @@ CONFIG_NET=y
396# Networking options 390# Networking options
397# 391#
398CONFIG_PACKET=y 392CONFIG_PACKET=y
399CONFIG_PACKET_MMAP=y
400CONFIG_UNIX=y 393CONFIG_UNIX=y
401CONFIG_XFRM=y 394CONFIG_XFRM=y
402CONFIG_XFRM_USER=y 395CONFIG_XFRM_USER=y
@@ -527,6 +520,7 @@ CONFIG_IP_VS_PROTO_UDP=y
527CONFIG_IP_VS_PROTO_AH_ESP=y 520CONFIG_IP_VS_PROTO_AH_ESP=y
528CONFIG_IP_VS_PROTO_ESP=y 521CONFIG_IP_VS_PROTO_ESP=y
529CONFIG_IP_VS_PROTO_AH=y 522CONFIG_IP_VS_PROTO_AH=y
523# CONFIG_IP_VS_PROTO_SCTP is not set
530 524
531# 525#
532# IPVS scheduler 526# IPVS scheduler
@@ -630,6 +624,7 @@ CONFIG_ATM_BR2684=m
630# CONFIG_ATM_BR2684_IPFILTER is not set 624# CONFIG_ATM_BR2684_IPFILTER is not set
631CONFIG_STP=m 625CONFIG_STP=m
632CONFIG_BRIDGE=m 626CONFIG_BRIDGE=m
627CONFIG_BRIDGE_IGMP_SNOOPING=y
633# CONFIG_NET_DSA is not set 628# CONFIG_NET_DSA is not set
634CONFIG_VLAN_8021Q=m 629CONFIG_VLAN_8021Q=m
635# CONFIG_VLAN_8021Q_GVRP is not set 630# CONFIG_VLAN_8021Q_GVRP is not set
@@ -690,7 +685,6 @@ CONFIG_NET_SCH_FIFO=y
690# 685#
691# CONFIG_NET_PKTGEN is not set 686# CONFIG_NET_PKTGEN is not set
692# CONFIG_NET_TCPPROBE is not set 687# CONFIG_NET_TCPPROBE is not set
693# CONFIG_NET_DROP_MONITOR is not set
694# CONFIG_HAMRADIO is not set 688# CONFIG_HAMRADIO is not set
695# CONFIG_CAN is not set 689# CONFIG_CAN is not set
696# CONFIG_IRDA is not set 690# CONFIG_IRDA is not set
@@ -833,6 +827,8 @@ CONFIG_MTD_PHYSMAP_OF=y
833# UBI - Unsorted block images 827# UBI - Unsorted block images
834# 828#
835# CONFIG_MTD_UBI is not set 829# CONFIG_MTD_UBI is not set
830CONFIG_OF_FLATTREE=y
831CONFIG_OF_DYNAMIC=y
836CONFIG_OF_DEVICE=y 832CONFIG_OF_DEVICE=y
837CONFIG_OF_I2C=m 833CONFIG_OF_I2C=m
838CONFIG_OF_MDIO=y 834CONFIG_OF_MDIO=y
@@ -867,6 +863,7 @@ CONFIG_HAVE_IDE=y
867# 863#
868# SCSI device support 864# SCSI device support
869# 865#
866CONFIG_SCSI_MOD=m
870# CONFIG_RAID_ATTRS is not set 867# CONFIG_RAID_ATTRS is not set
871CONFIG_SCSI=m 868CONFIG_SCSI=m
872CONFIG_SCSI_DMA=y 869CONFIG_SCSI_DMA=y
@@ -1179,6 +1176,7 @@ CONFIG_SERIAL_MPSC_CONSOLE=y
1179CONFIG_SERIAL_CORE=y 1176CONFIG_SERIAL_CORE=y
1180CONFIG_SERIAL_CORE_CONSOLE=y 1177CONFIG_SERIAL_CORE_CONSOLE=y
1181# CONFIG_SERIAL_JSM is not set 1178# CONFIG_SERIAL_JSM is not set
1179# CONFIG_SERIAL_TIMBERDALE is not set
1182# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set 1180# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set
1183CONFIG_UNIX98_PTYS=y 1181CONFIG_UNIX98_PTYS=y
1184# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set 1182# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
@@ -1231,6 +1229,7 @@ CONFIG_I2C_HELPER_AUTO=y
1231CONFIG_I2C_MV64XXX=m 1229CONFIG_I2C_MV64XXX=m
1232# CONFIG_I2C_OCORES is not set 1230# CONFIG_I2C_OCORES is not set
1233# CONFIG_I2C_SIMTEC is not set 1231# CONFIG_I2C_SIMTEC is not set
1232# CONFIG_I2C_XILINX is not set
1234 1233
1235# 1234#
1236# External I2C/SMBus adapter drivers 1235# External I2C/SMBus adapter drivers
@@ -1244,15 +1243,9 @@ CONFIG_I2C_MV64XXX=m
1244# 1243#
1245# CONFIG_I2C_PCA_PLATFORM is not set 1244# CONFIG_I2C_PCA_PLATFORM is not set
1246# CONFIG_I2C_STUB is not set 1245# 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 1246# CONFIG_I2C_DEBUG_CORE is not set
1253# CONFIG_I2C_DEBUG_ALGO is not set 1247# CONFIG_I2C_DEBUG_ALGO is not set
1254# CONFIG_I2C_DEBUG_BUS is not set 1248# CONFIG_I2C_DEBUG_BUS is not set
1255# CONFIG_I2C_DEBUG_CHIP is not set
1256# CONFIG_SPI is not set 1249# CONFIG_SPI is not set
1257 1250
1258# 1251#
@@ -1278,10 +1271,11 @@ CONFIG_SENSORS_ADM1026=m
1278# CONFIG_SENSORS_ADM1029 is not set 1271# CONFIG_SENSORS_ADM1029 is not set
1279CONFIG_SENSORS_ADM1031=m 1272CONFIG_SENSORS_ADM1031=m
1280# CONFIG_SENSORS_ADM9240 is not set 1273# CONFIG_SENSORS_ADM9240 is not set
1274# CONFIG_SENSORS_ADT7411 is not set
1281# CONFIG_SENSORS_ADT7462 is not set 1275# CONFIG_SENSORS_ADT7462 is not set
1282# CONFIG_SENSORS_ADT7470 is not set 1276# CONFIG_SENSORS_ADT7470 is not set
1283# CONFIG_SENSORS_ADT7473 is not set
1284# CONFIG_SENSORS_ADT7475 is not set 1277# CONFIG_SENSORS_ADT7475 is not set
1278# CONFIG_SENSORS_ASC7621 is not set
1285# CONFIG_SENSORS_ATXP1 is not set 1279# CONFIG_SENSORS_ATXP1 is not set
1286CONFIG_SENSORS_DS1621=m 1280CONFIG_SENSORS_DS1621=m
1287# CONFIG_SENSORS_I5K_AMB is not set 1281# CONFIG_SENSORS_I5K_AMB is not set
@@ -1318,6 +1312,7 @@ CONFIG_SENSORS_SMSC47M1=m
1318# CONFIG_SENSORS_SMSC47M192 is not set 1312# CONFIG_SENSORS_SMSC47M192 is not set
1319CONFIG_SENSORS_SMSC47B397=m 1313CONFIG_SENSORS_SMSC47B397=m
1320# CONFIG_SENSORS_ADS7828 is not set 1314# CONFIG_SENSORS_ADS7828 is not set
1315# CONFIG_SENSORS_AMC6821 is not set
1321# CONFIG_SENSORS_THMC50 is not set 1316# CONFIG_SENSORS_THMC50 is not set
1322# CONFIG_SENSORS_TMP401 is not set 1317# CONFIG_SENSORS_TMP401 is not set
1323# CONFIG_SENSORS_TMP421 is not set 1318# CONFIG_SENSORS_TMP421 is not set
@@ -1369,9 +1364,9 @@ CONFIG_SSB_POSSIBLE=y
1369# CONFIG_HTC_PASIC3 is not set 1364# CONFIG_HTC_PASIC3 is not set
1370# CONFIG_MFD_TMIO is not set 1365# CONFIG_MFD_TMIO is not set
1371# CONFIG_MFD_WM8400 is not set 1366# CONFIG_MFD_WM8400 is not set
1372# CONFIG_MFD_WM8350_I2C is not set 1367# CONFIG_MFD_WM8994 is not set
1373# CONFIG_MFD_PCF50633 is not set 1368# CONFIG_MFD_PCF50633 is not set
1374# CONFIG_AB3100_CORE is not set 1369# CONFIG_LPC_SCH is not set
1375# CONFIG_REGULATOR is not set 1370# CONFIG_REGULATOR is not set
1376# CONFIG_MEDIA_SUPPORT is not set 1371# CONFIG_MEDIA_SUPPORT is not set
1377 1372
@@ -1380,6 +1375,7 @@ CONFIG_SSB_POSSIBLE=y
1380# 1375#
1381# CONFIG_AGP is not set 1376# CONFIG_AGP is not set
1382CONFIG_VGA_ARB=y 1377CONFIG_VGA_ARB=y
1378CONFIG_VGA_ARB_MAX_GPUS=16
1383# CONFIG_DRM is not set 1379# CONFIG_DRM is not set
1384# CONFIG_VGASTATE is not set 1380# CONFIG_VGASTATE is not set
1385# CONFIG_VIDEO_OUTPUT_CONTROL is not set 1381# CONFIG_VIDEO_OUTPUT_CONTROL is not set
@@ -1413,7 +1409,6 @@ CONFIG_USB=m
1413CONFIG_USB_DEVICEFS=y 1409CONFIG_USB_DEVICEFS=y
1414# CONFIG_USB_DEVICE_CLASS is not set 1410# CONFIG_USB_DEVICE_CLASS is not set
1415# CONFIG_USB_DYNAMIC_MINORS is not set 1411# CONFIG_USB_DYNAMIC_MINORS is not set
1416CONFIG_USB_SUSPEND=y
1417# CONFIG_USB_OTG is not set 1412# CONFIG_USB_OTG is not set
1418CONFIG_USB_MON=m 1413CONFIG_USB_MON=m
1419# CONFIG_USB_WUSB is not set 1414# CONFIG_USB_WUSB is not set
@@ -1535,6 +1530,7 @@ CONFIG_USB_SERIAL_MCT_U232=m
1535# CONFIG_USB_SERIAL_NAVMAN is not set 1530# CONFIG_USB_SERIAL_NAVMAN is not set
1536CONFIG_USB_SERIAL_PL2303=m 1531CONFIG_USB_SERIAL_PL2303=m
1537# CONFIG_USB_SERIAL_OTI6858 is not set 1532# CONFIG_USB_SERIAL_OTI6858 is not set
1533# CONFIG_USB_SERIAL_QCAUX is not set
1538# CONFIG_USB_SERIAL_QUALCOMM is not set 1534# CONFIG_USB_SERIAL_QUALCOMM is not set
1539# CONFIG_USB_SERIAL_SPCP8X5 is not set 1535# CONFIG_USB_SERIAL_SPCP8X5 is not set
1540# CONFIG_USB_SERIAL_HP4X is not set 1536# CONFIG_USB_SERIAL_HP4X is not set
@@ -1549,6 +1545,7 @@ CONFIG_USB_SERIAL_XIRCOM=m
1549# CONFIG_USB_SERIAL_OPTION is not set 1545# CONFIG_USB_SERIAL_OPTION is not set
1550CONFIG_USB_SERIAL_OMNINET=m 1546CONFIG_USB_SERIAL_OMNINET=m
1551# CONFIG_USB_SERIAL_OPTICON is not set 1547# CONFIG_USB_SERIAL_OPTICON is not set
1548# CONFIG_USB_SERIAL_VIVOPAY_SERIAL is not set
1552# CONFIG_USB_SERIAL_DEBUG is not set 1549# CONFIG_USB_SERIAL_DEBUG is not set
1553 1550
1554# 1551#
@@ -1561,7 +1558,6 @@ CONFIG_USB_EMI62=m
1561CONFIG_USB_RIO500=m 1558CONFIG_USB_RIO500=m
1562CONFIG_USB_LEGOTOWER=m 1559CONFIG_USB_LEGOTOWER=m
1563CONFIG_USB_LCD=m 1560CONFIG_USB_LCD=m
1564# CONFIG_USB_BERRY_CHARGE is not set
1565CONFIG_USB_LED=m 1561CONFIG_USB_LED=m
1566# CONFIG_USB_CYPRESS_CY7C63 is not set 1562# CONFIG_USB_CYPRESS_CY7C63 is not set
1567# CONFIG_USB_CYTHERM is not set 1563# CONFIG_USB_CYTHERM is not set
@@ -1574,7 +1570,6 @@ CONFIG_USB_LED=m
1574# CONFIG_USB_IOWARRIOR is not set 1570# CONFIG_USB_IOWARRIOR is not set
1575CONFIG_USB_TEST=m 1571CONFIG_USB_TEST=m
1576# CONFIG_USB_ISIGHTFW is not set 1572# CONFIG_USB_ISIGHTFW is not set
1577# CONFIG_USB_VST is not set
1578CONFIG_USB_ATM=m 1573CONFIG_USB_ATM=m
1579CONFIG_USB_SPEEDTOUCH=m 1574CONFIG_USB_SPEEDTOUCH=m
1580# CONFIG_USB_CXACRU is not set 1575# CONFIG_USB_CXACRU is not set
@@ -1611,6 +1606,7 @@ CONFIG_INFINIBAND_SRP=m
1611# CONFIG_EDAC is not set 1606# CONFIG_EDAC is not set
1612# CONFIG_RTC_CLASS is not set 1607# CONFIG_RTC_CLASS is not set
1613CONFIG_DMADEVICES=y 1608CONFIG_DMADEVICES=y
1609# CONFIG_DMADEVICES_DEBUG is not set
1614 1610
1615# 1611#
1616# DMA Devices 1612# DMA Devices
@@ -1714,6 +1710,7 @@ CONFIG_JFFS2_ZLIB=y
1714# CONFIG_JFFS2_LZO is not set 1710# CONFIG_JFFS2_LZO is not set
1715CONFIG_JFFS2_RTIME=y 1711CONFIG_JFFS2_RTIME=y
1716# CONFIG_JFFS2_RUBIN is not set 1712# CONFIG_JFFS2_RUBIN is not set
1713# CONFIG_LOGFS is not set
1717CONFIG_CRAMFS=m 1714CONFIG_CRAMFS=m
1718# CONFIG_SQUASHFS is not set 1715# CONFIG_SQUASHFS is not set
1719CONFIG_VXFS_FS=m 1716CONFIG_VXFS_FS=m
@@ -1742,6 +1739,7 @@ CONFIG_SUNRPC_XPRT_RDMA=m
1742CONFIG_RPCSEC_GSS_KRB5=y 1739CONFIG_RPCSEC_GSS_KRB5=y
1743CONFIG_RPCSEC_GSS_SPKM3=m 1740CONFIG_RPCSEC_GSS_SPKM3=m
1744# CONFIG_SMB_FS is not set 1741# CONFIG_SMB_FS is not set
1742# CONFIG_CEPH_FS is not set
1745CONFIG_CIFS=m 1743CONFIG_CIFS=m
1746# CONFIG_CIFS_STATS is not set 1744# CONFIG_CIFS_STATS is not set
1747# CONFIG_CIFS_WEAK_PW_HASH is not set 1745# CONFIG_CIFS_WEAK_PW_HASH is not set
@@ -1817,7 +1815,7 @@ CONFIG_NLS_KOI8_R=m
1817CONFIG_NLS_KOI8_U=m 1815CONFIG_NLS_KOI8_U=m
1818CONFIG_NLS_UTF8=m 1816CONFIG_NLS_UTF8=m
1819# CONFIG_DLM is not set 1817# CONFIG_DLM is not set
1820CONFIG_BINARY_PRINTF=y 1818# CONFIG_BINARY_PRINTF is not set
1821 1819
1822# 1820#
1823# Library routines 1821# Library routines
@@ -1833,9 +1831,11 @@ CONFIG_CRC32=y
1833CONFIG_LIBCRC32C=m 1831CONFIG_LIBCRC32C=m
1834CONFIG_ZLIB_INFLATE=y 1832CONFIG_ZLIB_INFLATE=y
1835CONFIG_ZLIB_DEFLATE=y 1833CONFIG_ZLIB_DEFLATE=y
1834CONFIG_LZO_DECOMPRESS=y
1836CONFIG_DECOMPRESS_GZIP=y 1835CONFIG_DECOMPRESS_GZIP=y
1837CONFIG_DECOMPRESS_BZIP2=y 1836CONFIG_DECOMPRESS_BZIP2=y
1838CONFIG_DECOMPRESS_LZMA=y 1837CONFIG_DECOMPRESS_LZMA=y
1838CONFIG_DECOMPRESS_LZO=y
1839CONFIG_HAS_IOMEM=y 1839CONFIG_HAS_IOMEM=y
1840CONFIG_HAS_IOPORT=y 1840CONFIG_HAS_IOPORT=y
1841CONFIG_HAS_DMA=y 1841CONFIG_HAS_DMA=y
@@ -1880,7 +1880,6 @@ CONFIG_DEBUG_SPINLOCK=y
1880# CONFIG_LOCK_STAT is not set 1880# CONFIG_LOCK_STAT is not set
1881CONFIG_DEBUG_SPINLOCK_SLEEP=y 1881CONFIG_DEBUG_SPINLOCK_SLEEP=y
1882# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set 1882# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1883CONFIG_STACKTRACE=y
1884# CONFIG_DEBUG_KOBJECT is not set 1883# CONFIG_DEBUG_KOBJECT is not set
1885CONFIG_DEBUG_HIGHMEM=y 1884CONFIG_DEBUG_HIGHMEM=y
1886CONFIG_DEBUG_BUGVERBOSE=y 1885CONFIG_DEBUG_BUGVERBOSE=y
@@ -1903,16 +1902,12 @@ CONFIG_DEBUG_MEMORY_INIT=y
1903# CONFIG_LATENCYTOP is not set 1902# CONFIG_LATENCYTOP is not set
1904CONFIG_SYSCTL_SYSCALL_CHECK=y 1903CONFIG_SYSCTL_SYSCALL_CHECK=y
1905# CONFIG_DEBUG_PAGEALLOC is not set 1904# CONFIG_DEBUG_PAGEALLOC is not set
1906CONFIG_NOP_TRACER=y
1907CONFIG_HAVE_FUNCTION_TRACER=y 1905CONFIG_HAVE_FUNCTION_TRACER=y
1908CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y 1906CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
1909CONFIG_HAVE_DYNAMIC_FTRACE=y 1907CONFIG_HAVE_DYNAMIC_FTRACE=y
1910CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 1908CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1911CONFIG_RING_BUFFER=y 1909CONFIG_RING_BUFFER=y
1912CONFIG_EVENT_TRACING=y
1913CONFIG_CONTEXT_SWITCH_TRACER=y
1914CONFIG_RING_BUFFER_ALLOW_SWAP=y 1910CONFIG_RING_BUFFER_ALLOW_SWAP=y
1915CONFIG_TRACING=y
1916CONFIG_TRACING_SUPPORT=y 1911CONFIG_TRACING_SUPPORT=y
1917CONFIG_FTRACE=y 1912CONFIG_FTRACE=y
1918# CONFIG_FUNCTION_TRACER is not set 1913# CONFIG_FUNCTION_TRACER is not set
diff --git a/arch/powerpc/configs/ep8248e_defconfig b/arch/powerpc/configs/ep8248e_defconfig
index 79105413884..81e904e9f39 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
@@ -298,6 +298,7 @@ CONFIG_ISA_DMA_API=y
298# Bus options 298# Bus options
299# 299#
300CONFIG_ZONE_DMA=y 300CONFIG_ZONE_DMA=y
301# CONFIG_NEED_DMA_MAP_STATE is not set
301CONFIG_PPC_INDIRECT_PCI=y 302CONFIG_PPC_INDIRECT_PCI=y
302CONFIG_FSL_SOC=y 303CONFIG_FSL_SOC=y
303CONFIG_PPC_PCI_CHOICE=y 304CONFIG_PPC_PCI_CHOICE=y
@@ -308,7 +309,6 @@ CONFIG_PCI_8260=y
308# CONFIG_PCIEPORTBUS is not set 309# CONFIG_PCIEPORTBUS is not set
309CONFIG_ARCH_SUPPORTS_MSI=y 310CONFIG_ARCH_SUPPORTS_MSI=y
310# CONFIG_PCI_MSI is not set 311# CONFIG_PCI_MSI is not set
311# CONFIG_PCI_LEGACY is not set
312# CONFIG_PCI_DEBUG is not set 312# CONFIG_PCI_DEBUG is not set
313# CONFIG_PCI_STUB is not set 313# CONFIG_PCI_STUB is not set
314# CONFIG_PCI_IOV is not set 314# CONFIG_PCI_IOV is not set
@@ -335,7 +335,6 @@ CONFIG_NET=y
335# Networking options 335# Networking options
336# 336#
337CONFIG_PACKET=y 337CONFIG_PACKET=y
338# CONFIG_PACKET_MMAP is not set
339CONFIG_UNIX=y 338CONFIG_UNIX=y
340CONFIG_XFRM=y 339CONFIG_XFRM=y
341# CONFIG_XFRM_USER is not set 340# CONFIG_XFRM_USER is not set
@@ -537,6 +536,8 @@ CONFIG_MTD_PHYSMAP_OF=y
537# UBI - Unsorted block images 536# UBI - Unsorted block images
538# 537#
539# CONFIG_MTD_UBI is not set 538# CONFIG_MTD_UBI is not set
539CONFIG_OF_FLATTREE=y
540CONFIG_OF_DYNAMIC=y
540CONFIG_OF_DEVICE=y 541CONFIG_OF_DEVICE=y
541CONFIG_OF_GPIO=y 542CONFIG_OF_GPIO=y
542CONFIG_OF_MDIO=y 543CONFIG_OF_MDIO=y
@@ -566,6 +567,7 @@ CONFIG_HAVE_IDE=y
566# 567#
567# SCSI device support 568# SCSI device support
568# 569#
570CONFIG_SCSI_MOD=y
569# CONFIG_RAID_ATTRS is not set 571# CONFIG_RAID_ATTRS is not set
570# CONFIG_SCSI is not set 572# CONFIG_SCSI is not set
571# CONFIG_SCSI_DMA is not set 573# CONFIG_SCSI_DMA is not set
@@ -671,6 +673,8 @@ CONFIG_NETDEV_10000=y
671# CONFIG_CHELSIO_T1 is not set 673# CONFIG_CHELSIO_T1 is not set
672CONFIG_CHELSIO_T3_DEPENDS=y 674CONFIG_CHELSIO_T3_DEPENDS=y
673# CONFIG_CHELSIO_T3 is not set 675# CONFIG_CHELSIO_T3 is not set
676CONFIG_CHELSIO_T4_DEPENDS=y
677# CONFIG_CHELSIO_T4 is not set
674# CONFIG_ENIC is not set 678# CONFIG_ENIC is not set
675# CONFIG_IXGBE is not set 679# CONFIG_IXGBE is not set
676# CONFIG_IXGB is not set 680# CONFIG_IXGB is not set
@@ -683,6 +687,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
683# CONFIG_MLX4_CORE is not set 687# CONFIG_MLX4_CORE is not set
684# CONFIG_TEHUTI is not set 688# CONFIG_TEHUTI is not set
685# CONFIG_BNX2X is not set 689# CONFIG_BNX2X is not set
690# CONFIG_QLCNIC is not set
686# CONFIG_QLGE is not set 691# CONFIG_QLGE is not set
687# CONFIG_SFC is not set 692# CONFIG_SFC is not set
688# CONFIG_BE2NET is not set 693# CONFIG_BE2NET is not set
@@ -737,6 +742,7 @@ CONFIG_SERIAL_CORE_CONSOLE=y
737CONFIG_SERIAL_CPM=y 742CONFIG_SERIAL_CPM=y
738CONFIG_SERIAL_CPM_CONSOLE=y 743CONFIG_SERIAL_CPM_CONSOLE=y
739# CONFIG_SERIAL_JSM is not set 744# CONFIG_SERIAL_JSM is not set
745# CONFIG_SERIAL_TIMBERDALE is not set
740# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set 746# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set
741CONFIG_UNIX98_PTYS=y 747CONFIG_UNIX98_PTYS=y
742# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set 748# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
@@ -765,7 +771,9 @@ CONFIG_GPIOLIB=y
765# 771#
766# Memory mapped GPIO expanders: 772# Memory mapped GPIO expanders:
767# 773#
774# CONFIG_GPIO_IT8761E is not set
768# CONFIG_GPIO_XILINX is not set 775# CONFIG_GPIO_XILINX is not set
776# CONFIG_GPIO_SCH is not set
769 777
770# 778#
771# I2C GPIO expanders: 779# I2C GPIO expanders:
@@ -804,6 +812,8 @@ CONFIG_SSB_POSSIBLE=y
804# CONFIG_MFD_SM501 is not set 812# CONFIG_MFD_SM501 is not set
805# CONFIG_HTC_PASIC3 is not set 813# CONFIG_HTC_PASIC3 is not set
806# CONFIG_MFD_TMIO is not set 814# CONFIG_MFD_TMIO is not set
815# CONFIG_MFD_TIMBERDALE is not set
816# CONFIG_LPC_SCH is not set
807# CONFIG_REGULATOR is not set 817# CONFIG_REGULATOR is not set
808# CONFIG_MEDIA_SUPPORT is not set 818# CONFIG_MEDIA_SUPPORT is not set
809 819
@@ -812,6 +822,7 @@ CONFIG_SSB_POSSIBLE=y
812# 822#
813# CONFIG_AGP is not set 823# CONFIG_AGP is not set
814CONFIG_VGA_ARB=y 824CONFIG_VGA_ARB=y
825CONFIG_VGA_ARB_MAX_GPUS=16
815# CONFIG_DRM is not set 826# CONFIG_DRM is not set
816# CONFIG_VGASTATE is not set 827# CONFIG_VGASTATE is not set
817# CONFIG_VIDEO_OUTPUT_CONTROL is not set 828# CONFIG_VIDEO_OUTPUT_CONTROL is not set
@@ -869,6 +880,7 @@ CONFIG_AUTOFS4_FS=y
869# 880#
870# Caches 881# Caches
871# 882#
883# CONFIG_FSCACHE is not set
872 884
873# 885#
874# CD-ROM/DVD Filesystems 886# CD-ROM/DVD Filesystems
diff --git a/arch/powerpc/configs/ep88xc_defconfig b/arch/powerpc/configs/ep88xc_defconfig
index 58f7ca71a59..c5af46ef5f4 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,11 +90,6 @@ 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
92CONFIG_LOG_BUF_SHIFT=14 92CONFIG_LOG_BUF_SHIFT=14
93CONFIG_GROUP_SCHED=y
94# CONFIG_FAIR_GROUP_SCHED is not set
95# CONFIG_RT_GROUP_SCHED is not set
96CONFIG_USER_SCHED=y
97# CONFIG_CGROUP_SCHED is not set
98# CONFIG_CGROUPS is not set 93# CONFIG_CGROUPS is not set
99CONFIG_SYSFS_DEPRECATED=y 94CONFIG_SYSFS_DEPRECATED=y
100CONFIG_SYSFS_DEPRECATED_V2=y 95CONFIG_SYSFS_DEPRECATED_V2=y
@@ -306,6 +301,7 @@ CONFIG_ISA_DMA_API=y
306# Bus options 301# Bus options
307# 302#
308CONFIG_ZONE_DMA=y 303CONFIG_ZONE_DMA=y
304CONFIG_NEED_DMA_MAP_STATE=y
309CONFIG_FSL_SOC=y 305CONFIG_FSL_SOC=y
310# CONFIG_PCI is not set 306# CONFIG_PCI is not set
311# CONFIG_PCI_DOMAINS is not set 307# CONFIG_PCI_DOMAINS is not set
@@ -335,7 +331,6 @@ CONFIG_NET=y
335# Networking options 331# Networking options
336# 332#
337CONFIG_PACKET=y 333CONFIG_PACKET=y
338# CONFIG_PACKET_MMAP is not set
339CONFIG_UNIX=y 334CONFIG_UNIX=y
340# CONFIG_NET_KEY is not set 335# CONFIG_NET_KEY is not set
341CONFIG_INET=y 336CONFIG_INET=y
@@ -504,6 +499,8 @@ CONFIG_MTD_PHYSMAP_OF=y
504# UBI - Unsorted block images 499# UBI - Unsorted block images
505# 500#
506# CONFIG_MTD_UBI is not set 501# CONFIG_MTD_UBI is not set
502CONFIG_OF_FLATTREE=y
503CONFIG_OF_DYNAMIC=y
507CONFIG_OF_DEVICE=y 504CONFIG_OF_DEVICE=y
508CONFIG_OF_MDIO=y 505CONFIG_OF_MDIO=y
509# CONFIG_PARPORT is not set 506# CONFIG_PARPORT is not set
@@ -515,6 +512,7 @@ CONFIG_HAVE_IDE=y
515# 512#
516# SCSI device support 513# SCSI device support
517# 514#
515CONFIG_SCSI_MOD=y
518# CONFIG_RAID_ATTRS is not set 516# CONFIG_RAID_ATTRS is not set
519# CONFIG_SCSI is not set 517# CONFIG_SCSI is not set
520# CONFIG_SCSI_DMA is not set 518# CONFIG_SCSI_DMA is not set
@@ -616,6 +614,7 @@ CONFIG_SERIAL_CORE=y
616CONFIG_SERIAL_CORE_CONSOLE=y 614CONFIG_SERIAL_CORE_CONSOLE=y
617CONFIG_SERIAL_CPM=y 615CONFIG_SERIAL_CPM=y
618CONFIG_SERIAL_CPM_CONSOLE=y 616CONFIG_SERIAL_CPM_CONSOLE=y
617# CONFIG_SERIAL_TIMBERDALE is not set
619# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set 618# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set
620CONFIG_UNIX98_PTYS=y 619CONFIG_UNIX98_PTYS=y
621# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set 620# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
@@ -753,6 +752,7 @@ CONFIG_MISC_FILESYSTEMS=y
753# CONFIG_BFS_FS is not set 752# CONFIG_BFS_FS is not set
754# CONFIG_EFS_FS is not set 753# CONFIG_EFS_FS is not set
755# CONFIG_JFFS2_FS is not set 754# CONFIG_JFFS2_FS is not set
755# CONFIG_LOGFS is not set
756CONFIG_CRAMFS=y 756CONFIG_CRAMFS=y
757# CONFIG_SQUASHFS is not set 757# CONFIG_SQUASHFS is not set
758# CONFIG_VXFS_FS is not set 758# CONFIG_VXFS_FS is not set
@@ -777,6 +777,7 @@ CONFIG_SUNRPC=y
777# CONFIG_RPCSEC_GSS_KRB5 is not set 777# CONFIG_RPCSEC_GSS_KRB5 is not set
778# CONFIG_RPCSEC_GSS_SPKM3 is not set 778# CONFIG_RPCSEC_GSS_SPKM3 is not set
779# CONFIG_SMB_FS is not set 779# CONFIG_SMB_FS is not set
780# CONFIG_CEPH_FS is not set
780# CONFIG_CIFS is not set 781# CONFIG_CIFS is not set
781# CONFIG_NCP_FS is not set 782# CONFIG_NCP_FS is not set
782# CONFIG_CODA_FS is not set 783# CONFIG_CODA_FS is not set
diff --git a/arch/powerpc/configs/linkstation_defconfig b/arch/powerpc/configs/linkstation_defconfig
index 9a0c981277e..588a2add393 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,11 +96,6 @@ CONFIG_RCU_FANOUT=32
96CONFIG_IKCONFIG=y 96CONFIG_IKCONFIG=y
97CONFIG_IKCONFIG_PROC=y 97CONFIG_IKCONFIG_PROC=y
98CONFIG_LOG_BUF_SHIFT=14 98CONFIG_LOG_BUF_SHIFT=14
99CONFIG_GROUP_SCHED=y
100# CONFIG_FAIR_GROUP_SCHED is not set
101# CONFIG_RT_GROUP_SCHED is not set
102CONFIG_USER_SCHED=y
103# CONFIG_CGROUP_SCHED is not set
104# CONFIG_CGROUPS is not set 99# CONFIG_CGROUPS is not set
105CONFIG_SYSFS_DEPRECATED=y 100CONFIG_SYSFS_DEPRECATED=y
106CONFIG_SYSFS_DEPRECATED_V2=y 101CONFIG_SYSFS_DEPRECATED_V2=y
@@ -116,6 +111,7 @@ CONFIG_INITRAMFS_SOURCE=""
116CONFIG_RD_GZIP=y 111CONFIG_RD_GZIP=y
117CONFIG_RD_BZIP2=y 112CONFIG_RD_BZIP2=y
118CONFIG_RD_LZMA=y 113CONFIG_RD_LZMA=y
114CONFIG_RD_LZO=y
119CONFIG_CC_OPTIMIZE_FOR_SIZE=y 115CONFIG_CC_OPTIMIZE_FOR_SIZE=y
120CONFIG_SYSCTL=y 116CONFIG_SYSCTL=y
121CONFIG_ANON_INODES=y 117CONFIG_ANON_INODES=y
@@ -328,6 +324,7 @@ CONFIG_ISA_DMA_API=y
328# Bus options 324# Bus options
329# 325#
330CONFIG_ZONE_DMA=y 326CONFIG_ZONE_DMA=y
327# CONFIG_NEED_DMA_MAP_STATE is not set
331CONFIG_GENERIC_ISA_DMA=y 328CONFIG_GENERIC_ISA_DMA=y
332CONFIG_PPC_INDIRECT_PCI=y 329CONFIG_PPC_INDIRECT_PCI=y
333CONFIG_FSL_SOC=y 330CONFIG_FSL_SOC=y
@@ -337,7 +334,6 @@ CONFIG_PCI_SYSCALL=y
337# CONFIG_PCIEPORTBUS is not set 334# CONFIG_PCIEPORTBUS is not set
338CONFIG_ARCH_SUPPORTS_MSI=y 335CONFIG_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
@@ -364,7 +360,6 @@ CONFIG_NET=y
364# Networking options 360# Networking options
365# 361#
366CONFIG_PACKET=y 362CONFIG_PACKET=y
367CONFIG_PACKET_MMAP=y
368CONFIG_UNIX=y 363CONFIG_UNIX=y
369CONFIG_XFRM=y 364CONFIG_XFRM=y
370# CONFIG_XFRM_USER is not set 365# CONFIG_XFRM_USER is not set
@@ -433,6 +428,7 @@ CONFIG_NF_CONNTRACK_TFTP=m
433CONFIG_NETFILTER_XTABLES=m 428CONFIG_NETFILTER_XTABLES=m
434# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set 429# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set
435# CONFIG_NETFILTER_XT_TARGET_CONNMARK is not set 430# CONFIG_NETFILTER_XT_TARGET_CONNMARK is not set
431# CONFIG_NETFILTER_XT_TARGET_CT is not set
436# CONFIG_NETFILTER_XT_TARGET_DSCP is not set 432# CONFIG_NETFILTER_XT_TARGET_DSCP is not set
437CONFIG_NETFILTER_XT_TARGET_HL=m 433CONFIG_NETFILTER_XT_TARGET_HL=m
438# CONFIG_NETFILTER_XT_TARGET_MARK is not set 434# CONFIG_NETFILTER_XT_TARGET_MARK is not set
@@ -665,6 +661,8 @@ CONFIG_MTD_PHYSMAP=y
665# UBI - Unsorted block images 661# UBI - Unsorted block images
666# 662#
667# CONFIG_MTD_UBI is not set 663# CONFIG_MTD_UBI is not set
664CONFIG_OF_FLATTREE=y
665CONFIG_OF_DYNAMIC=y
668CONFIG_OF_DEVICE=y 666CONFIG_OF_DEVICE=y
669CONFIG_OF_I2C=y 667CONFIG_OF_I2C=y
670# CONFIG_PARPORT is not set 668# CONFIG_PARPORT is not set
@@ -700,6 +698,7 @@ CONFIG_MISC_DEVICES=y
700# CONFIG_ENCLOSURE_SERVICES is not set 698# CONFIG_ENCLOSURE_SERVICES is not set
701# CONFIG_HP_ILO is not set 699# CONFIG_HP_ILO is not set
702# CONFIG_ISL29003 is not set 700# CONFIG_ISL29003 is not set
701# CONFIG_SENSORS_TSL2550 is not set
703# CONFIG_DS1682 is not set 702# CONFIG_DS1682 is not set
704# CONFIG_C2PORT is not set 703# CONFIG_C2PORT is not set
705 704
@@ -717,6 +716,7 @@ CONFIG_HAVE_IDE=y
717# 716#
718# SCSI device support 717# SCSI device support
719# 718#
719CONFIG_SCSI_MOD=y
720# CONFIG_RAID_ATTRS is not set 720# CONFIG_RAID_ATTRS is not set
721CONFIG_SCSI=y 721CONFIG_SCSI=y
722CONFIG_SCSI_DMA=y 722CONFIG_SCSI_DMA=y
@@ -840,6 +840,7 @@ CONFIG_ATA_SFF=y
840CONFIG_PATA_IT821X=y 840CONFIG_PATA_IT821X=y
841# CONFIG_PATA_IT8213 is not set 841# CONFIG_PATA_IT8213 is not set
842# CONFIG_PATA_JMICRON is not set 842# CONFIG_PATA_JMICRON is not set
843# CONFIG_PATA_LEGACY is not set
843# CONFIG_PATA_TRIFLEX is not set 844# CONFIG_PATA_TRIFLEX is not set
844# CONFIG_PATA_MARVELL is not set 845# CONFIG_PATA_MARVELL is not set
845# CONFIG_PATA_MPIIX is not set 846# CONFIG_PATA_MPIIX is not set
@@ -954,6 +955,8 @@ CONFIG_NETDEV_10000=y
954# CONFIG_CHELSIO_T1 is not set 955# CONFIG_CHELSIO_T1 is not set
955CONFIG_CHELSIO_T3_DEPENDS=y 956CONFIG_CHELSIO_T3_DEPENDS=y
956# CONFIG_CHELSIO_T3 is not set 957# CONFIG_CHELSIO_T3 is not set
958CONFIG_CHELSIO_T4_DEPENDS=y
959# CONFIG_CHELSIO_T4 is not set
957# CONFIG_ENIC is not set 960# CONFIG_ENIC is not set
958# CONFIG_IXGBE is not set 961# CONFIG_IXGBE is not set
959# CONFIG_IXGB is not set 962# CONFIG_IXGB is not set
@@ -966,6 +969,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
966# CONFIG_MLX4_CORE is not set 969# CONFIG_MLX4_CORE is not set
967# CONFIG_TEHUTI is not set 970# CONFIG_TEHUTI is not set
968# CONFIG_BNX2X is not set 971# CONFIG_BNX2X is not set
972# CONFIG_QLCNIC is not set
969# CONFIG_QLGE is not set 973# CONFIG_QLGE is not set
970# CONFIG_SFC is not set 974# CONFIG_SFC is not set
971# CONFIG_BE2NET is not set 975# CONFIG_BE2NET is not set
@@ -1082,6 +1086,7 @@ CONFIG_SERIAL_CORE=y
1082CONFIG_SERIAL_CORE_CONSOLE=y 1086CONFIG_SERIAL_CORE_CONSOLE=y
1083# CONFIG_SERIAL_JSM is not set 1087# CONFIG_SERIAL_JSM is not set
1084# CONFIG_SERIAL_OF_PLATFORM is not set 1088# CONFIG_SERIAL_OF_PLATFORM is not set
1089# CONFIG_SERIAL_TIMBERDALE is not set
1085# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set 1090# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set
1086CONFIG_UNIX98_PTYS=y 1091CONFIG_UNIX98_PTYS=y
1087# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set 1092# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
@@ -1131,6 +1136,7 @@ CONFIG_I2C_HELPER_AUTO=y
1131CONFIG_I2C_MPC=y 1136CONFIG_I2C_MPC=y
1132# CONFIG_I2C_OCORES is not set 1137# CONFIG_I2C_OCORES is not set
1133# CONFIG_I2C_SIMTEC is not set 1138# CONFIG_I2C_SIMTEC is not set
1139# CONFIG_I2C_XILINX is not set
1134 1140
1135# 1141#
1136# External I2C/SMBus adapter drivers 1142# External I2C/SMBus adapter drivers
@@ -1144,15 +1150,9 @@ CONFIG_I2C_MPC=y
1144# 1150#
1145# CONFIG_I2C_PCA_PLATFORM is not set 1151# CONFIG_I2C_PCA_PLATFORM is not set
1146# CONFIG_I2C_STUB is not set 1152# 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 1153# CONFIG_I2C_DEBUG_CORE is not set
1153# CONFIG_I2C_DEBUG_ALGO is not set 1154# CONFIG_I2C_DEBUG_ALGO is not set
1154# CONFIG_I2C_DEBUG_BUS is not set 1155# CONFIG_I2C_DEBUG_BUS is not set
1155# CONFIG_I2C_DEBUG_CHIP is not set
1156# CONFIG_SPI is not set 1156# CONFIG_SPI is not set
1157 1157
1158# 1158#
@@ -1178,10 +1178,11 @@ CONFIG_HWMON=y
1178# CONFIG_SENSORS_ADM1029 is not set 1178# CONFIG_SENSORS_ADM1029 is not set
1179# CONFIG_SENSORS_ADM1031 is not set 1179# CONFIG_SENSORS_ADM1031 is not set
1180# CONFIG_SENSORS_ADM9240 is not set 1180# CONFIG_SENSORS_ADM9240 is not set
1181# CONFIG_SENSORS_ADT7411 is not set
1181# CONFIG_SENSORS_ADT7462 is not set 1182# CONFIG_SENSORS_ADT7462 is not set
1182# CONFIG_SENSORS_ADT7470 is not set 1183# CONFIG_SENSORS_ADT7470 is not set
1183# CONFIG_SENSORS_ADT7473 is not set
1184# CONFIG_SENSORS_ADT7475 is not set 1184# CONFIG_SENSORS_ADT7475 is not set
1185# CONFIG_SENSORS_ASC7621 is not set
1185# CONFIG_SENSORS_ATXP1 is not set 1186# CONFIG_SENSORS_ATXP1 is not set
1186# CONFIG_SENSORS_DS1621 is not set 1187# CONFIG_SENSORS_DS1621 is not set
1187# CONFIG_SENSORS_I5K_AMB is not set 1188# CONFIG_SENSORS_I5K_AMB is not set
@@ -1218,6 +1219,7 @@ CONFIG_HWMON=y
1218# CONFIG_SENSORS_SMSC47M192 is not set 1219# CONFIG_SENSORS_SMSC47M192 is not set
1219# CONFIG_SENSORS_SMSC47B397 is not set 1220# CONFIG_SENSORS_SMSC47B397 is not set
1220# CONFIG_SENSORS_ADS7828 is not set 1221# CONFIG_SENSORS_ADS7828 is not set
1222# CONFIG_SENSORS_AMC6821 is not set
1221# CONFIG_SENSORS_THMC50 is not set 1223# CONFIG_SENSORS_THMC50 is not set
1222# CONFIG_SENSORS_TMP401 is not set 1224# CONFIG_SENSORS_TMP401 is not set
1223# CONFIG_SENSORS_TMP421 is not set 1225# CONFIG_SENSORS_TMP421 is not set
@@ -1246,18 +1248,21 @@ CONFIG_SSB_POSSIBLE=y
1246# Multifunction device drivers 1248# Multifunction device drivers
1247# 1249#
1248# CONFIG_MFD_CORE is not set 1250# CONFIG_MFD_CORE is not set
1251# CONFIG_MFD_88PM860X is not set
1249# CONFIG_MFD_SM501 is not set 1252# CONFIG_MFD_SM501 is not set
1250# CONFIG_HTC_PASIC3 is not set 1253# CONFIG_HTC_PASIC3 is not set
1251# CONFIG_TWL4030_CORE is not set 1254# CONFIG_TWL4030_CORE is not set
1252# CONFIG_MFD_TMIO is not set 1255# CONFIG_MFD_TMIO is not set
1253# CONFIG_PMIC_DA903X is not set 1256# CONFIG_PMIC_DA903X is not set
1254# CONFIG_PMIC_ADP5520 is not set 1257# CONFIG_PMIC_ADP5520 is not set
1258# CONFIG_MFD_MAX8925 is not set
1255# CONFIG_MFD_WM8400 is not set 1259# CONFIG_MFD_WM8400 is not set
1256# CONFIG_MFD_WM831X is not set 1260# CONFIG_MFD_WM831X is not set
1257# CONFIG_MFD_WM8350_I2C is not set 1261# CONFIG_MFD_WM8350_I2C is not set
1262# CONFIG_MFD_WM8994 is not set
1258# CONFIG_MFD_PCF50633 is not set 1263# CONFIG_MFD_PCF50633 is not set
1259# CONFIG_AB3100_CORE is not set 1264# CONFIG_AB3100_CORE is not set
1260# CONFIG_MFD_88PM8607 is not set 1265# CONFIG_LPC_SCH is not set
1261# CONFIG_REGULATOR is not set 1266# CONFIG_REGULATOR is not set
1262# CONFIG_MEDIA_SUPPORT is not set 1267# CONFIG_MEDIA_SUPPORT is not set
1263 1268
@@ -1266,6 +1271,7 @@ CONFIG_SSB_POSSIBLE=y
1266# 1271#
1267# CONFIG_AGP is not set 1272# CONFIG_AGP is not set
1268CONFIG_VGA_ARB=y 1273CONFIG_VGA_ARB=y
1274CONFIG_VGA_ARB_MAX_GPUS=16
1269# CONFIG_DRM is not set 1275# CONFIG_DRM is not set
1270# CONFIG_VGASTATE is not set 1276# CONFIG_VGASTATE is not set
1271CONFIG_VIDEO_OUTPUT_CONTROL=m 1277CONFIG_VIDEO_OUTPUT_CONTROL=m
@@ -1417,6 +1423,7 @@ CONFIG_USB_SERIAL_FTDI_SIO=y
1417# CONFIG_USB_SERIAL_NAVMAN is not set 1423# CONFIG_USB_SERIAL_NAVMAN is not set
1418# CONFIG_USB_SERIAL_PL2303 is not set 1424# CONFIG_USB_SERIAL_PL2303 is not set
1419# CONFIG_USB_SERIAL_OTI6858 is not set 1425# CONFIG_USB_SERIAL_OTI6858 is not set
1426# CONFIG_USB_SERIAL_QCAUX is not set
1420# CONFIG_USB_SERIAL_QUALCOMM is not set 1427# CONFIG_USB_SERIAL_QUALCOMM is not set
1421# CONFIG_USB_SERIAL_SPCP8X5 is not set 1428# CONFIG_USB_SERIAL_SPCP8X5 is not set
1422# CONFIG_USB_SERIAL_HP4X is not set 1429# CONFIG_USB_SERIAL_HP4X is not set
@@ -1430,6 +1437,7 @@ CONFIG_USB_SERIAL_FTDI_SIO=y
1430# CONFIG_USB_SERIAL_OPTION is not set 1437# CONFIG_USB_SERIAL_OPTION is not set
1431# CONFIG_USB_SERIAL_OMNINET is not set 1438# CONFIG_USB_SERIAL_OMNINET is not set
1432# CONFIG_USB_SERIAL_OPTICON is not set 1439# CONFIG_USB_SERIAL_OPTICON is not set
1440# CONFIG_USB_SERIAL_VIVOPAY_SERIAL is not set
1433# CONFIG_USB_SERIAL_DEBUG is not set 1441# CONFIG_USB_SERIAL_DEBUG is not set
1434 1442
1435# 1443#
@@ -1442,7 +1450,6 @@ CONFIG_USB_SERIAL_FTDI_SIO=y
1442# CONFIG_USB_RIO500 is not set 1450# CONFIG_USB_RIO500 is not set
1443# CONFIG_USB_LEGOTOWER is not set 1451# CONFIG_USB_LEGOTOWER is not set
1444# CONFIG_USB_LCD is not set 1452# CONFIG_USB_LCD is not set
1445# CONFIG_USB_BERRY_CHARGE is not set
1446# CONFIG_USB_LED is not set 1453# CONFIG_USB_LED is not set
1447# CONFIG_USB_CYPRESS_CY7C63 is not set 1454# CONFIG_USB_CYPRESS_CY7C63 is not set
1448# CONFIG_USB_CYTHERM is not set 1455# CONFIG_USB_CYTHERM is not set
@@ -1455,7 +1462,6 @@ CONFIG_USB_SERIAL_FTDI_SIO=y
1455# CONFIG_USB_IOWARRIOR is not set 1462# CONFIG_USB_IOWARRIOR is not set
1456# CONFIG_USB_TEST is not set 1463# CONFIG_USB_TEST is not set
1457# CONFIG_USB_ISIGHTFW is not set 1464# CONFIG_USB_ISIGHTFW is not set
1458# CONFIG_USB_VST is not set
1459# CONFIG_USB_GADGET is not set 1465# CONFIG_USB_GADGET is not set
1460 1466
1461# 1467#
@@ -1620,6 +1626,7 @@ CONFIG_MISC_FILESYSTEMS=y
1620# CONFIG_BFS_FS is not set 1626# CONFIG_BFS_FS is not set
1621# CONFIG_EFS_FS is not set 1627# CONFIG_EFS_FS is not set
1622# CONFIG_JFFS2_FS is not set 1628# CONFIG_JFFS2_FS is not set
1629# CONFIG_LOGFS is not set
1623# CONFIG_CRAMFS is not set 1630# CONFIG_CRAMFS is not set
1624# CONFIG_SQUASHFS is not set 1631# CONFIG_SQUASHFS is not set
1625# CONFIG_VXFS_FS is not set 1632# CONFIG_VXFS_FS is not set
@@ -1651,6 +1658,7 @@ CONFIG_SUNRPC_GSS=y
1651CONFIG_RPCSEC_GSS_KRB5=y 1658CONFIG_RPCSEC_GSS_KRB5=y
1652# CONFIG_RPCSEC_GSS_SPKM3 is not set 1659# CONFIG_RPCSEC_GSS_SPKM3 is not set
1653# CONFIG_SMB_FS is not set 1660# CONFIG_SMB_FS is not set
1661# CONFIG_CEPH_FS is not set
1654CONFIG_CIFS=m 1662CONFIG_CIFS=m
1655# CONFIG_CIFS_STATS is not set 1663# CONFIG_CIFS_STATS is not set
1656# CONFIG_CIFS_WEAK_PW_HASH is not set 1664# CONFIG_CIFS_WEAK_PW_HASH is not set
@@ -1723,9 +1731,11 @@ CONFIG_CRC32=y
1723CONFIG_LIBCRC32C=m 1731CONFIG_LIBCRC32C=m
1724CONFIG_ZLIB_INFLATE=y 1732CONFIG_ZLIB_INFLATE=y
1725CONFIG_ZLIB_DEFLATE=m 1733CONFIG_ZLIB_DEFLATE=m
1734CONFIG_LZO_DECOMPRESS=y
1726CONFIG_DECOMPRESS_GZIP=y 1735CONFIG_DECOMPRESS_GZIP=y
1727CONFIG_DECOMPRESS_BZIP2=y 1736CONFIG_DECOMPRESS_BZIP2=y
1728CONFIG_DECOMPRESS_LZMA=y 1737CONFIG_DECOMPRESS_LZMA=y
1738CONFIG_DECOMPRESS_LZO=y
1729CONFIG_TEXTSEARCH=y 1739CONFIG_TEXTSEARCH=y
1730CONFIG_TEXTSEARCH_KMP=m 1740CONFIG_TEXTSEARCH_KMP=m
1731CONFIG_HAS_IOMEM=y 1741CONFIG_HAS_IOMEM=y
diff --git a/arch/powerpc/configs/mgcoge_defconfig b/arch/powerpc/configs/mgcoge_defconfig
index 4c2c877f936..0cbd56fe2e1 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
@@ -105,6 +105,7 @@ CONFIG_INITRAMFS_SOURCE=""
105CONFIG_RD_GZIP=y 105CONFIG_RD_GZIP=y
106# CONFIG_RD_BZIP2 is not set 106# CONFIG_RD_BZIP2 is not set
107# CONFIG_RD_LZMA is not set 107# CONFIG_RD_LZMA is not set
108# CONFIG_RD_LZO is not set
108CONFIG_CC_OPTIMIZE_FOR_SIZE=y 109CONFIG_CC_OPTIMIZE_FOR_SIZE=y
109CONFIG_SYSCTL=y 110CONFIG_SYSCTL=y
110CONFIG_ANON_INODES=y 111CONFIG_ANON_INODES=y
@@ -311,6 +312,7 @@ CONFIG_ISA_DMA_API=y
311# 312#
312# CONFIG_ISA is not set 313# CONFIG_ISA is not set
313CONFIG_ZONE_DMA=y 314CONFIG_ZONE_DMA=y
315# CONFIG_NEED_DMA_MAP_STATE is not set
314CONFIG_PPC_INDIRECT_PCI=y 316CONFIG_PPC_INDIRECT_PCI=y
315CONFIG_FSL_SOC=y 317CONFIG_FSL_SOC=y
316CONFIG_PPC_PCI_CHOICE=y 318CONFIG_PPC_PCI_CHOICE=y
@@ -321,7 +323,6 @@ CONFIG_PCI_8260=y
321# CONFIG_PCIEPORTBUS is not set 323# CONFIG_PCIEPORTBUS is not set
322CONFIG_ARCH_SUPPORTS_MSI=y 324CONFIG_ARCH_SUPPORTS_MSI=y
323# CONFIG_PCI_MSI is not set 325# CONFIG_PCI_MSI is not set
324# CONFIG_PCI_LEGACY is not set
325# CONFIG_PCI_DEBUG is not set 326# CONFIG_PCI_DEBUG is not set
326# CONFIG_PCI_STUB is not set 327# CONFIG_PCI_STUB is not set
327# CONFIG_PCI_IOV is not set 328# CONFIG_PCI_IOV is not set
@@ -348,7 +349,6 @@ CONFIG_NET=y
348# Networking options 349# Networking options
349# 350#
350CONFIG_PACKET=y 351CONFIG_PACKET=y
351# CONFIG_PACKET_MMAP is not set
352CONFIG_UNIX=y 352CONFIG_UNIX=y
353CONFIG_XFRM=y 353CONFIG_XFRM=y
354# CONFIG_XFRM_USER is not set 354# CONFIG_XFRM_USER is not set
@@ -536,6 +536,8 @@ CONFIG_MTD_PHYSMAP_OF=y
536# UBI - Unsorted block images 536# UBI - Unsorted block images
537# 537#
538# CONFIG_MTD_UBI is not set 538# CONFIG_MTD_UBI is not set
539CONFIG_OF_FLATTREE=y
540CONFIG_OF_DYNAMIC=y
539CONFIG_OF_DEVICE=y 541CONFIG_OF_DEVICE=y
540CONFIG_OF_GPIO=y 542CONFIG_OF_GPIO=y
541CONFIG_OF_I2C=y 543CONFIG_OF_I2C=y
@@ -570,6 +572,7 @@ CONFIG_HAVE_IDE=y
570# 572#
571# SCSI device support 573# SCSI device support
572# 574#
575CONFIG_SCSI_MOD=y
573# CONFIG_RAID_ATTRS is not set 576# CONFIG_RAID_ATTRS is not set
574# CONFIG_SCSI is not set 577# CONFIG_SCSI is not set
575# CONFIG_SCSI_DMA is not set 578# CONFIG_SCSI_DMA is not set
@@ -704,6 +707,7 @@ CONFIG_SERIAL_CORE_CONSOLE=y
704CONFIG_SERIAL_CPM=y 707CONFIG_SERIAL_CPM=y
705CONFIG_SERIAL_CPM_CONSOLE=y 708CONFIG_SERIAL_CPM_CONSOLE=y
706# CONFIG_SERIAL_JSM is not set 709# CONFIG_SERIAL_JSM is not set
710# CONFIG_SERIAL_TIMBERDALE is not set
707# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set 711# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set
708CONFIG_UNIX98_PTYS=y 712CONFIG_UNIX98_PTYS=y
709# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set 713# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
@@ -769,14 +773,9 @@ CONFIG_I2C_CPM=y
769# Other I2C/SMBus bus drivers 773# Other I2C/SMBus bus drivers
770# 774#
771# CONFIG_I2C_PCA_PLATFORM is not set 775# CONFIG_I2C_PCA_PLATFORM is not set
772
773#
774# Miscellaneous I2C Chip support
775#
776# CONFIG_I2C_DEBUG_CORE is not set 776# CONFIG_I2C_DEBUG_CORE is not set
777# CONFIG_I2C_DEBUG_ALGO is not set 777# CONFIG_I2C_DEBUG_ALGO is not set
778# CONFIG_I2C_DEBUG_BUS is not set 778# CONFIG_I2C_DEBUG_BUS is not set
779# CONFIG_I2C_DEBUG_CHIP is not set
780# CONFIG_SPI is not set 779# CONFIG_SPI is not set
781 780
782# 781#
@@ -790,14 +789,18 @@ CONFIG_GPIOLIB=y
790# 789#
791# Memory mapped GPIO expanders: 790# Memory mapped GPIO expanders:
792# 791#
792# CONFIG_GPIO_IT8761E is not set
793# CONFIG_GPIO_XILINX is not set 793# CONFIG_GPIO_XILINX is not set
794# CONFIG_GPIO_SCH is not set
794 795
795# 796#
796# I2C GPIO expanders: 797# I2C GPIO expanders:
797# 798#
799# CONFIG_GPIO_MAX7300 is not set
798# CONFIG_GPIO_MAX732X is not set 800# CONFIG_GPIO_MAX732X is not set
799# CONFIG_GPIO_PCA953X is not set 801# CONFIG_GPIO_PCA953X is not set
800# CONFIG_GPIO_PCF857X is not set 802# CONFIG_GPIO_PCF857X is not set
803# CONFIG_GPIO_ADP5588 is not set
801 804
802# 805#
803# PCI GPIO expanders: 806# PCI GPIO expanders:
@@ -829,19 +832,24 @@ CONFIG_SSB_POSSIBLE=y
829# Multifunction device drivers 832# Multifunction device drivers
830# 833#
831# CONFIG_MFD_CORE is not set 834# CONFIG_MFD_CORE is not set
835# CONFIG_MFD_88PM860X is not set
832# CONFIG_MFD_SM501 is not set 836# CONFIG_MFD_SM501 is not set
833# CONFIG_HTC_PASIC3 is not set 837# CONFIG_HTC_PASIC3 is not set
838# CONFIG_HTC_I2CPLD is not set
834# CONFIG_TPS65010 is not set 839# CONFIG_TPS65010 is not set
835# CONFIG_TWL4030_CORE is not set 840# CONFIG_TWL4030_CORE is not set
836# CONFIG_MFD_TMIO is not set 841# CONFIG_MFD_TMIO is not set
837# CONFIG_PMIC_DA903X is not set 842# CONFIG_PMIC_DA903X is not set
838# CONFIG_PMIC_ADP5520 is not set 843# CONFIG_PMIC_ADP5520 is not set
844# CONFIG_MFD_MAX8925 is not set
839# CONFIG_MFD_WM8400 is not set 845# CONFIG_MFD_WM8400 is not set
840# CONFIG_MFD_WM831X is not set 846# CONFIG_MFD_WM831X is not set
841# CONFIG_MFD_WM8350_I2C is not set 847# CONFIG_MFD_WM8350_I2C is not set
848# CONFIG_MFD_WM8994 is not set
842# CONFIG_MFD_PCF50633 is not set 849# CONFIG_MFD_PCF50633 is not set
843# CONFIG_AB3100_CORE is not set 850# CONFIG_AB3100_CORE is not set
844# CONFIG_MFD_88PM8607 is not set 851# CONFIG_MFD_TIMBERDALE is not set
852# CONFIG_LPC_SCH is not set
845# CONFIG_REGULATOR is not set 853# CONFIG_REGULATOR is not set
846# CONFIG_MEDIA_SUPPORT is not set 854# CONFIG_MEDIA_SUPPORT is not set
847 855
@@ -850,6 +858,7 @@ CONFIG_SSB_POSSIBLE=y
850# 858#
851# CONFIG_AGP is not set 859# CONFIG_AGP is not set
852CONFIG_VGA_ARB=y 860CONFIG_VGA_ARB=y
861CONFIG_VGA_ARB_MAX_GPUS=16
853# CONFIG_DRM is not set 862# CONFIG_DRM is not set
854# CONFIG_VGASTATE is not set 863# CONFIG_VGASTATE is not set
855# CONFIG_VIDEO_OUTPUT_CONTROL is not set 864# CONFIG_VIDEO_OUTPUT_CONTROL is not set
@@ -908,6 +917,7 @@ CONFIG_AUTOFS4_FS=y
908# 917#
909# Caches 918# Caches
910# 919#
920# CONFIG_FSCACHE is not set
911 921
912# 922#
913# CD-ROM/DVD Filesystems 923# CD-ROM/DVD Filesystems
@@ -1100,6 +1110,7 @@ CONFIG_DEBUG_INFO=y
1100# CONFIG_BACKTRACE_SELF_TEST is not set 1110# CONFIG_BACKTRACE_SELF_TEST is not set
1101# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set 1111# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1102# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set 1112# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
1113# CONFIG_LKDTM is not set
1103# CONFIG_FAULT_INJECTION is not set 1114# CONFIG_FAULT_INJECTION is not set
1104# CONFIG_LATENCYTOP is not set 1115# CONFIG_LATENCYTOP is not set
1105CONFIG_SYSCTL_SYSCALL_CHECK=y 1116CONFIG_SYSCTL_SYSCALL_CHECK=y
diff --git a/arch/powerpc/configs/mgsuvd_defconfig b/arch/powerpc/configs/mgsuvd_defconfig
index 9e090f2c7e3..c1be2615102 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,11 +89,6 @@ 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
91CONFIG_LOG_BUF_SHIFT=17 91CONFIG_LOG_BUF_SHIFT=17
92CONFIG_GROUP_SCHED=y
93CONFIG_FAIR_GROUP_SCHED=y
94# CONFIG_RT_GROUP_SCHED is not set
95CONFIG_USER_SCHED=y
96# CONFIG_CGROUP_SCHED is not set
97# CONFIG_CGROUPS is not set 92# CONFIG_CGROUPS is not set
98CONFIG_SYSFS_DEPRECATED=y 93CONFIG_SYSFS_DEPRECATED=y
99CONFIG_SYSFS_DEPRECATED_V2=y 94CONFIG_SYSFS_DEPRECATED_V2=y
@@ -104,6 +99,7 @@ CONFIG_INITRAMFS_SOURCE=""
104CONFIG_RD_GZIP=y 99CONFIG_RD_GZIP=y
105# CONFIG_RD_BZIP2 is not set 100# CONFIG_RD_BZIP2 is not set
106# CONFIG_RD_LZMA is not set 101# CONFIG_RD_LZMA is not set
102# CONFIG_RD_LZO is not set
107# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 103# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
108CONFIG_SYSCTL=y 104CONFIG_SYSCTL=y
109CONFIG_ANON_INODES=y 105CONFIG_ANON_INODES=y
@@ -309,6 +305,7 @@ CONFIG_ISA_DMA_API=y
309# Bus options 305# Bus options
310# 306#
311CONFIG_ZONE_DMA=y 307CONFIG_ZONE_DMA=y
308CONFIG_NEED_DMA_MAP_STATE=y
312CONFIG_FSL_SOC=y 309CONFIG_FSL_SOC=y
313# CONFIG_PCI is not set 310# CONFIG_PCI is not set
314# CONFIG_PCI_DOMAINS is not set 311# CONFIG_PCI_DOMAINS is not set
@@ -337,7 +334,6 @@ CONFIG_NET=y
337# Networking options 334# Networking options
338# 335#
339CONFIG_PACKET=y 336CONFIG_PACKET=y
340# CONFIG_PACKET_MMAP is not set
341CONFIG_UNIX=y 337CONFIG_UNIX=y
342CONFIG_XFRM=y 338CONFIG_XFRM=y
343# CONFIG_XFRM_USER is not set 339# CONFIG_XFRM_USER is not set
@@ -515,6 +511,8 @@ CONFIG_MTD_PHYSMAP_OF=y
515# UBI - Unsorted block images 511# UBI - Unsorted block images
516# 512#
517# CONFIG_MTD_UBI is not set 513# CONFIG_MTD_UBI is not set
514CONFIG_OF_FLATTREE=y
515CONFIG_OF_DYNAMIC=y
518CONFIG_OF_DEVICE=y 516CONFIG_OF_DEVICE=y
519CONFIG_OF_MDIO=y 517CONFIG_OF_MDIO=y
520# CONFIG_PARPORT is not set 518# CONFIG_PARPORT is not set
@@ -542,6 +540,7 @@ CONFIG_HAVE_IDE=y
542# 540#
543# SCSI device support 541# SCSI device support
544# 542#
543CONFIG_SCSI_MOD=y
545# CONFIG_RAID_ATTRS is not set 544# CONFIG_RAID_ATTRS is not set
546# CONFIG_SCSI is not set 545# CONFIG_SCSI is not set
547# CONFIG_SCSI_DMA is not set 546# CONFIG_SCSI_DMA is not set
@@ -643,6 +642,7 @@ CONFIG_SERIAL_CORE=y
643CONFIG_SERIAL_CORE_CONSOLE=y 642CONFIG_SERIAL_CORE_CONSOLE=y
644CONFIG_SERIAL_CPM=y 643CONFIG_SERIAL_CPM=y
645CONFIG_SERIAL_CPM_CONSOLE=y 644CONFIG_SERIAL_CPM_CONSOLE=y
645# CONFIG_SERIAL_TIMBERDALE is not set
646# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set 646# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set
647CONFIG_UNIX98_PTYS=y 647CONFIG_UNIX98_PTYS=y
648# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set 648# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
@@ -801,6 +801,7 @@ CONFIG_JFFS2_ZLIB=y
801# CONFIG_JFFS2_LZO is not set 801# CONFIG_JFFS2_LZO is not set
802CONFIG_JFFS2_RTIME=y 802CONFIG_JFFS2_RTIME=y
803# CONFIG_JFFS2_RUBIN is not set 803# CONFIG_JFFS2_RUBIN is not set
804# CONFIG_LOGFS is not set
804CONFIG_CRAMFS=y 805CONFIG_CRAMFS=y
805# CONFIG_SQUASHFS is not set 806# CONFIG_SQUASHFS is not set
806# CONFIG_VXFS_FS is not set 807# CONFIG_VXFS_FS is not set
@@ -825,6 +826,7 @@ CONFIG_SUNRPC=y
825# CONFIG_RPCSEC_GSS_KRB5 is not set 826# CONFIG_RPCSEC_GSS_KRB5 is not set
826# CONFIG_RPCSEC_GSS_SPKM3 is not set 827# CONFIG_RPCSEC_GSS_SPKM3 is not set
827# CONFIG_SMB_FS is not set 828# CONFIG_SMB_FS is not set
829# CONFIG_CEPH_FS is not set
828# CONFIG_CIFS is not set 830# CONFIG_CIFS is not set
829# CONFIG_NCP_FS is not set 831# CONFIG_NCP_FS is not set
830# CONFIG_CODA_FS is not set 832# CONFIG_CODA_FS is not set
@@ -892,6 +894,7 @@ CONFIG_DEBUG_FS=y
892# CONFIG_DEBUG_KERNEL is not set 894# CONFIG_DEBUG_KERNEL is not set
893# CONFIG_DEBUG_MEMORY_INIT is not set 895# CONFIG_DEBUG_MEMORY_INIT is not set
894# CONFIG_RCU_CPU_STALL_DETECTOR is not set 896# CONFIG_RCU_CPU_STALL_DETECTOR is not set
897# CONFIG_LKDTM is not set
895# CONFIG_LATENCYTOP is not set 898# CONFIG_LATENCYTOP is not set
896# CONFIG_SYSCTL_SYSCALL_CHECK is not set 899# CONFIG_SYSCTL_SYSCALL_CHECK is not set
897CONFIG_HAVE_FUNCTION_TRACER=y 900CONFIG_HAVE_FUNCTION_TRACER=y
diff --git a/arch/powerpc/configs/mpc7448_hpc2_defconfig b/arch/powerpc/configs/mpc7448_hpc2_defconfig
index 1315b775a6d..27c63ceeb45 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,11 +94,6 @@ 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
96CONFIG_LOG_BUF_SHIFT=14 96CONFIG_LOG_BUF_SHIFT=14
97CONFIG_GROUP_SCHED=y
98# CONFIG_FAIR_GROUP_SCHED is not set
99# CONFIG_RT_GROUP_SCHED is not set
100CONFIG_USER_SCHED=y
101# CONFIG_CGROUP_SCHED is not set
102# CONFIG_CGROUPS is not set 97# CONFIG_CGROUPS is not set
103CONFIG_SYSFS_DEPRECATED=y 98CONFIG_SYSFS_DEPRECATED=y
104CONFIG_SYSFS_DEPRECATED_V2=y 99CONFIG_SYSFS_DEPRECATED_V2=y
@@ -109,6 +104,7 @@ CONFIG_INITRAMFS_SOURCE=""
109CONFIG_RD_GZIP=y 104CONFIG_RD_GZIP=y
110# CONFIG_RD_BZIP2 is not set 105# CONFIG_RD_BZIP2 is not set
111# CONFIG_RD_LZMA is not set 106# CONFIG_RD_LZMA is not set
107# CONFIG_RD_LZO is not set
112# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 108# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
113CONFIG_SYSCTL=y 109CONFIG_SYSCTL=y
114CONFIG_ANON_INODES=y 110CONFIG_ANON_INODES=y
@@ -311,6 +307,7 @@ CONFIG_ISA_DMA_API=y
311# Bus options 307# Bus options
312# 308#
313CONFIG_ZONE_DMA=y 309CONFIG_ZONE_DMA=y
310# CONFIG_NEED_DMA_MAP_STATE is not set
314CONFIG_GENERIC_ISA_DMA=y 311CONFIG_GENERIC_ISA_DMA=y
315# CONFIG_PPC_INDIRECT_PCI is not set 312# CONFIG_PPC_INDIRECT_PCI is not set
316CONFIG_PCI=y 313CONFIG_PCI=y
@@ -319,7 +316,6 @@ CONFIG_PCI_SYSCALL=y
319# CONFIG_PCIEPORTBUS is not set 316# CONFIG_PCIEPORTBUS is not set
320CONFIG_ARCH_SUPPORTS_MSI=y 317CONFIG_ARCH_SUPPORTS_MSI=y
321# CONFIG_PCI_MSI is not set 318# CONFIG_PCI_MSI is not set
322# CONFIG_PCI_LEGACY is not set
323# CONFIG_PCI_STUB is not set 319# CONFIG_PCI_STUB is not set
324# CONFIG_PCI_IOV is not set 320# CONFIG_PCI_IOV is not set
325# CONFIG_PCCARD is not set 321# CONFIG_PCCARD is not set
@@ -345,7 +341,6 @@ CONFIG_NET=y
345# Networking options 341# Networking options
346# 342#
347CONFIG_PACKET=y 343CONFIG_PACKET=y
348# CONFIG_PACKET_MMAP is not set
349CONFIG_UNIX=y 344CONFIG_UNIX=y
350CONFIG_XFRM=y 345CONFIG_XFRM=y
351CONFIG_XFRM_USER=y 346CONFIG_XFRM_USER=y
@@ -440,6 +435,8 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
440# CONFIG_SYS_HYPERVISOR is not set 435# CONFIG_SYS_HYPERVISOR is not set
441# CONFIG_CONNECTOR is not set 436# CONFIG_CONNECTOR is not set
442# CONFIG_MTD is not set 437# CONFIG_MTD is not set
438CONFIG_OF_FLATTREE=y
439CONFIG_OF_DYNAMIC=y
443CONFIG_OF_DEVICE=y 440CONFIG_OF_DEVICE=y
444CONFIG_OF_MDIO=y 441CONFIG_OF_MDIO=y
445# CONFIG_PARPORT is not set 442# CONFIG_PARPORT is not set
@@ -484,6 +481,7 @@ CONFIG_HAVE_IDE=y
484# 481#
485# SCSI device support 482# SCSI device support
486# 483#
484CONFIG_SCSI_MOD=y
487# CONFIG_RAID_ATTRS is not set 485# CONFIG_RAID_ATTRS is not set
488CONFIG_SCSI=y 486CONFIG_SCSI=y
489CONFIG_SCSI_DMA=y 487CONFIG_SCSI_DMA=y
@@ -605,6 +603,7 @@ CONFIG_SATA_MV=y
605# CONFIG_PATA_IT821X is not set 603# CONFIG_PATA_IT821X is not set
606# CONFIG_PATA_IT8213 is not set 604# CONFIG_PATA_IT8213 is not set
607# CONFIG_PATA_JMICRON is not set 605# CONFIG_PATA_JMICRON is not set
606# CONFIG_PATA_LEGACY is not set
608# CONFIG_PATA_TRIFLEX is not set 607# CONFIG_PATA_TRIFLEX is not set
609# CONFIG_PATA_MARVELL is not set 608# CONFIG_PATA_MARVELL is not set
610# CONFIG_PATA_MPIIX is not set 609# CONFIG_PATA_MPIIX is not set
@@ -696,6 +695,7 @@ CONFIG_NET_PCI=y
696# CONFIG_PCNET32 is not set 695# CONFIG_PCNET32 is not set
697# CONFIG_AMD8111_ETH is not set 696# CONFIG_AMD8111_ETH is not set
698# CONFIG_ADAPTEC_STARFIRE is not set 697# CONFIG_ADAPTEC_STARFIRE is not set
698# CONFIG_KSZ884X_PCI is not set
699# CONFIG_B44 is not set 699# CONFIG_B44 is not set
700# CONFIG_FORCEDETH is not set 700# CONFIG_FORCEDETH is not set
701CONFIG_E100=y 701CONFIG_E100=y
@@ -750,6 +750,8 @@ CONFIG_NETDEV_10000=y
750# CONFIG_CHELSIO_T1 is not set 750# CONFIG_CHELSIO_T1 is not set
751CONFIG_CHELSIO_T3_DEPENDS=y 751CONFIG_CHELSIO_T3_DEPENDS=y
752# CONFIG_CHELSIO_T3 is not set 752# CONFIG_CHELSIO_T3 is not set
753CONFIG_CHELSIO_T4_DEPENDS=y
754# CONFIG_CHELSIO_T4 is not set
753# CONFIG_ENIC is not set 755# CONFIG_ENIC is not set
754# CONFIG_IXGBE is not set 756# CONFIG_IXGBE is not set
755# CONFIG_IXGB is not set 757# CONFIG_IXGB is not set
@@ -762,6 +764,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
762# CONFIG_MLX4_CORE is not set 764# CONFIG_MLX4_CORE is not set
763# CONFIG_TEHUTI is not set 765# CONFIG_TEHUTI is not set
764# CONFIG_BNX2X is not set 766# CONFIG_BNX2X is not set
767# CONFIG_QLCNIC is not set
765# CONFIG_QLGE is not set 768# CONFIG_QLGE is not set
766# CONFIG_SFC is not set 769# CONFIG_SFC is not set
767# CONFIG_BE2NET is not set 770# CONFIG_BE2NET is not set
@@ -846,6 +849,7 @@ CONFIG_SERIAL_CORE=y
846CONFIG_SERIAL_CORE_CONSOLE=y 849CONFIG_SERIAL_CORE_CONSOLE=y
847# CONFIG_SERIAL_JSM is not set 850# CONFIG_SERIAL_JSM is not set
848# CONFIG_SERIAL_OF_PLATFORM is not set 851# CONFIG_SERIAL_OF_PLATFORM is not set
852# CONFIG_SERIAL_TIMBERDALE is not set
849# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set 853# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set
850CONFIG_UNIX98_PTYS=y 854CONFIG_UNIX98_PTYS=y
851# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set 855# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
@@ -910,6 +914,7 @@ CONFIG_SSB_POSSIBLE=y
910# CONFIG_MFD_SM501 is not set 914# CONFIG_MFD_SM501 is not set
911# CONFIG_HTC_PASIC3 is not set 915# CONFIG_HTC_PASIC3 is not set
912# CONFIG_MFD_TMIO is not set 916# CONFIG_MFD_TMIO is not set
917# CONFIG_LPC_SCH is not set
913# CONFIG_REGULATOR is not set 918# CONFIG_REGULATOR is not set
914# CONFIG_MEDIA_SUPPORT is not set 919# CONFIG_MEDIA_SUPPORT is not set
915 920
@@ -918,6 +923,7 @@ CONFIG_SSB_POSSIBLE=y
918# 923#
919# CONFIG_AGP is not set 924# CONFIG_AGP is not set
920CONFIG_VGA_ARB=y 925CONFIG_VGA_ARB=y
926CONFIG_VGA_ARB_MAX_GPUS=16
921# CONFIG_DRM is not set 927# CONFIG_DRM is not set
922# CONFIG_VGASTATE is not set 928# CONFIG_VGASTATE is not set
923CONFIG_VIDEO_OUTPUT_CONTROL=y 929CONFIG_VIDEO_OUTPUT_CONTROL=y
@@ -1044,6 +1050,7 @@ CONFIG_MISC_FILESYSTEMS=y
1044# CONFIG_BEFS_FS is not set 1050# CONFIG_BEFS_FS is not set
1045# CONFIG_BFS_FS is not set 1051# CONFIG_BFS_FS is not set
1046# CONFIG_EFS_FS is not set 1052# CONFIG_EFS_FS is not set
1053# CONFIG_LOGFS is not set
1047# CONFIG_CRAMFS is not set 1054# CONFIG_CRAMFS is not set
1048# CONFIG_SQUASHFS is not set 1055# CONFIG_SQUASHFS is not set
1049# CONFIG_VXFS_FS is not set 1056# CONFIG_VXFS_FS is not set
@@ -1066,6 +1073,7 @@ CONFIG_SUNRPC=y
1066# CONFIG_RPCSEC_GSS_KRB5 is not set 1073# CONFIG_RPCSEC_GSS_KRB5 is not set
1067# CONFIG_RPCSEC_GSS_SPKM3 is not set 1074# CONFIG_RPCSEC_GSS_SPKM3 is not set
1068# CONFIG_SMB_FS is not set 1075# CONFIG_SMB_FS is not set
1076# CONFIG_CEPH_FS is not set
1069# CONFIG_CIFS is not set 1077# CONFIG_CIFS is not set
1070# CONFIG_NCP_FS is not set 1078# CONFIG_NCP_FS is not set
1071# CONFIG_CODA_FS is not set 1079# CONFIG_CODA_FS is not set
diff --git a/arch/powerpc/configs/mpc8272_ads_defconfig b/arch/powerpc/configs/mpc8272_ads_defconfig
index 9073778d357..6875fb89377 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
96CONFIG_IKCONFIG_PROC=y 96CONFIG_IKCONFIG_PROC=y
97CONFIG_LOG_BUF_SHIFT=14 97CONFIG_LOG_BUF_SHIFT=14
98# CONFIG_CGROUPS is not set 98# CONFIG_CGROUPS is not set
99CONFIG_SYSFS_DEPRECATED=y 99# CONFIG_SYSFS_DEPRECATED_V2 is not set
100CONFIG_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#
303CONFIG_ZONE_DMA=y 302CONFIG_ZONE_DMA=y
303# CONFIG_NEED_DMA_MAP_STATE is not set
304CONFIG_PPC_INDIRECT_PCI=y 304CONFIG_PPC_INDIRECT_PCI=y
305CONFIG_FSL_SOC=y 305CONFIG_FSL_SOC=y
306CONFIG_PPC_PCI_CHOICE=y 306CONFIG_PPC_PCI_CHOICE=y
@@ -311,7 +311,6 @@ CONFIG_PCI_8260=y
311# CONFIG_PCIEPORTBUS is not set 311# CONFIG_PCIEPORTBUS is not set
312CONFIG_ARCH_SUPPORTS_MSI=y 312CONFIG_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#
340CONFIG_PACKET=y 339CONFIG_PACKET=y
341# CONFIG_PACKET_MMAP is not set
342CONFIG_UNIX=y 340CONFIG_UNIX=y
343CONFIG_XFRM=y 341CONFIG_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
541CONFIG_OF_FLATTREE=y
542CONFIG_OF_DYNAMIC=y
543CONFIG_OF_DEVICE=y 543CONFIG_OF_DEVICE=y
544CONFIG_OF_GPIO=y 544CONFIG_OF_GPIO=y
545CONFIG_OF_MDIO=y 545CONFIG_OF_MDIO=y
@@ -569,6 +569,7 @@ CONFIG_HAVE_IDE=y
569# 569#
570# SCSI device support 570# SCSI device support
571# 571#
572CONFIG_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
675CONFIG_CHELSIO_T3_DEPENDS=y 676CONFIG_CHELSIO_T3_DEPENDS=y
676# CONFIG_CHELSIO_T3 is not set 677# CONFIG_CHELSIO_T3 is not set
678CONFIG_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
797CONFIG_SERIAL_CPM=y 801CONFIG_SERIAL_CPM=y
798CONFIG_SERIAL_CPM_CONSOLE=y 802CONFIG_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
801CONFIG_UNIX98_PTYS=y 806CONFIG_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
874CONFIG_VGA_ARB=y 883CONFIG_VGA_ARB=y
884CONFIG_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 05bec483568..bbe5ae61d97 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
100CONFIG_LOG_BUF_SHIFT=14 100CONFIG_LOG_BUF_SHIFT=14
101CONFIG_GROUP_SCHED=y
102CONFIG_FAIR_GROUP_SCHED=y
103# CONFIG_RT_GROUP_SCHED is not set
104CONFIG_USER_SCHED=y
105# CONFIG_CGROUP_SCHED is not set
106# CONFIG_CGROUPS is not set 101# CONFIG_CGROUPS is not set
107CONFIG_SYSFS_DEPRECATED=y 102# CONFIG_SYSFS_DEPRECATED_V2 is not set
108CONFIG_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
111CONFIG_BLK_DEV_INITRD=y 105CONFIG_BLK_DEV_INITRD=y
@@ -113,6 +107,7 @@ CONFIG_INITRAMFS_SOURCE=""
113CONFIG_RD_GZIP=y 107CONFIG_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
117CONFIG_SYSCTL=y 112CONFIG_SYSCTL=y
118CONFIG_ANON_INODES=y 113CONFIG_ANON_INODES=y
@@ -126,7 +121,7 @@ CONFIG_BUG=y
126CONFIG_ELF_CORE=y 121CONFIG_ELF_CORE=y
127CONFIG_BASE_FULL=y 122CONFIG_BASE_FULL=y
128CONFIG_FUTEX=y 123CONFIG_FUTEX=y
129# CONFIG_EPOLL is not set 124CONFIG_EPOLL=y
130CONFIG_SIGNALFD=y 125CONFIG_SIGNALFD=y
131CONFIG_TIMERFD=y 126CONFIG_TIMERFD=y
132CONFIG_EVENTFD=y 127CONFIG_EVENTFD=y
@@ -331,6 +326,7 @@ CONFIG_ISA_DMA_API=y
331# Bus options 326# Bus options
332# 327#
333CONFIG_ZONE_DMA=y 328CONFIG_ZONE_DMA=y
329# CONFIG_NEED_DMA_MAP_STATE is not set
334CONFIG_GENERIC_ISA_DMA=y 330CONFIG_GENERIC_ISA_DMA=y
335CONFIG_PPC_INDIRECT_PCI=y 331CONFIG_PPC_INDIRECT_PCI=y
336CONFIG_FSL_SOC=y 332CONFIG_FSL_SOC=y
@@ -344,7 +340,6 @@ CONFIG_PCI_SYSCALL=y
344# CONFIG_PCIEPORTBUS is not set 340# CONFIG_PCIEPORTBUS is not set
345CONFIG_ARCH_SUPPORTS_MSI=y 341CONFIG_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#
372CONFIG_PACKET=y 367CONFIG_PACKET=y
373# CONFIG_PACKET_MMAP is not set
374CONFIG_UNIX=y 368CONFIG_UNIX=y
375CONFIG_XFRM=y 369CONFIG_XFRM=y
376CONFIG_XFRM_USER=m 370CONFIG_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
557CONFIG_OF_FLATTREE=y
558CONFIG_OF_DYNAMIC=y
563CONFIG_OF_DEVICE=y 559CONFIG_OF_DEVICE=y
564CONFIG_OF_GPIO=y 560CONFIG_OF_GPIO=y
565CONFIG_OF_I2C=y 561CONFIG_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#
614CONFIG_SCSI_MOD=y
617# CONFIG_RAID_ATTRS is not set 615# CONFIG_RAID_ATTRS is not set
618CONFIG_SCSI=y 616CONFIG_SCSI=y
619CONFIG_SCSI_DMA=y 617CONFIG_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 713CONFIG_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
864CONFIG_CHELSIO_T3_DEPENDS=y 863CONFIG_CHELSIO_T3_DEPENDS=y
865# CONFIG_CHELSIO_T3 is not set 864# CONFIG_CHELSIO_T3 is not set
865CONFIG_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
974CONFIG_UNIX98_PTYS=y 977CONFIG_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
980CONFIG_HW_RANDOM=y 983CONFIG_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
983CONFIG_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
1022CONFIG_I2C_MPC=y 1023CONFIG_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
1209CONFIG_VGA_ARB=y 1216CONFIG_VGA_ARB=y
1217CONFIG_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
1212CONFIG_VIDEO_OUTPUT_CONTROL=m 1220CONFIG_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
1235CONFIG_HID_A4TECH=y 1244CONFIG_HID_A4TECH=y
1236CONFIG_HID_APPLE=y 1245CONFIG_HID_APPLE=y
1237CONFIG_HID_BELKIN=y 1246CONFIG_HID_BELKIN=y
@@ -1247,14 +1256,19 @@ CONFIG_HID_GYRATION=y
1247CONFIG_HID_LOGITECH=y 1256CONFIG_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
1250CONFIG_HID_MICROSOFT=y 1260CONFIG_HID_MICROSOFT=y
1261# CONFIG_HID_MOSART is not set
1251CONFIG_HID_MONTEREY=y 1262CONFIG_HID_MONTEREY=y
1252# CONFIG_HID_NTRIG is not set 1263# CONFIG_HID_NTRIG is not set
1264# CONFIG_HID_ORTEK is not set
1253CONFIG_HID_PANTHERLORD=y 1265CONFIG_HID_PANTHERLORD=y
1254# CONFIG_PANTHERLORD_FF is not set 1266# CONFIG_PANTHERLORD_FF is not set
1255CONFIG_HID_PETALYNX=y 1267CONFIG_HID_PETALYNX=y
1268# CONFIG_HID_QUANTA is not set
1256CONFIG_HID_SAMSUNG=y 1269CONFIG_HID_SAMSUNG=y
1257CONFIG_HID_SONY=y 1270CONFIG_HID_SONY=y
1271# CONFIG_HID_STANTUM is not set
1258CONFIG_HID_SUNPLUS=y 1272CONFIG_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 1387CONFIG_RTC_LIB=y
1388CONFIG_RTC_CLASS=y
1389CONFIG_RTC_HCTOSYS=y
1390CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
1391# CONFIG_RTC_DEBUG is not set
1392
1393#
1394# RTC interfaces
1395#
1396CONFIG_RTC_INTF_SYSFS=y
1397CONFIG_RTC_INTF_PROC=y
1398CONFIG_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#
1405CONFIG_RTC_DRV_DS1307=y
1406CONFIG_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
1479CONFIG_RPCSEC_GSS_KRB5=y 1550CONFIG_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 8f35f8049c9..cfebef9f912 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
70CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y 70CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
71CONFIG_PPC_ADV_DEBUG_REGS=y
72CONFIG_PPC_ADV_DEBUG_IACS=2
73CONFIG_PPC_ADV_DEBUG_DACS=2
74CONFIG_PPC_ADV_DEBUG_DVCS=0
71CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 75CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
72CONFIG_CONSTRUCTORS=y 76CONFIG_CONSTRUCTORS=y
73 77
@@ -103,14 +107,8 @@ CONFIG_RCU_FANOUT=32
103CONFIG_IKCONFIG=y 107CONFIG_IKCONFIG=y
104CONFIG_IKCONFIG_PROC=y 108CONFIG_IKCONFIG_PROC=y
105CONFIG_LOG_BUF_SHIFT=14 109CONFIG_LOG_BUF_SHIFT=14
106CONFIG_GROUP_SCHED=y
107# CONFIG_FAIR_GROUP_SCHED is not set
108# CONFIG_RT_GROUP_SCHED is not set
109CONFIG_USER_SCHED=y
110# CONFIG_CGROUP_SCHED is not set
111# CONFIG_CGROUPS is not set 110# CONFIG_CGROUPS is not set
112CONFIG_SYSFS_DEPRECATED=y 111# CONFIG_SYSFS_DEPRECATED_V2 is not set
113CONFIG_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
116CONFIG_BLK_DEV_INITRD=y 114CONFIG_BLK_DEV_INITRD=y
@@ -118,6 +116,7 @@ CONFIG_INITRAMFS_SOURCE=""
118CONFIG_RD_GZIP=y 116CONFIG_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
122CONFIG_SYSCTL=y 121CONFIG_SYSCTL=y
123CONFIG_ANON_INODES=y 122CONFIG_ANON_INODES=y
@@ -334,6 +333,7 @@ CONFIG_ISA_DMA_API=y
334# Bus options 333# Bus options
335# 334#
336CONFIG_ZONE_DMA=y 335CONFIG_ZONE_DMA=y
336# CONFIG_NEED_DMA_MAP_STATE is not set
337CONFIG_GENERIC_ISA_DMA=y 337CONFIG_GENERIC_ISA_DMA=y
338CONFIG_PPC_INDIRECT_PCI=y 338CONFIG_PPC_INDIRECT_PCI=y
339CONFIG_FSL_SOC=y 339CONFIG_FSL_SOC=y
@@ -345,7 +345,6 @@ CONFIG_PCI_SYSCALL=y
345# CONFIG_PCIEPORTBUS is not set 345# CONFIG_PCIEPORTBUS is not set
346CONFIG_ARCH_SUPPORTS_MSI=y 346CONFIG_ARCH_SUPPORTS_MSI=y
347CONFIG_PCI_MSI=y 347CONFIG_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#
378CONFIG_PACKET=y 377CONFIG_PACKET=y
379# CONFIG_PACKET_MMAP is not set
380CONFIG_UNIX=y 378CONFIG_UNIX=y
381CONFIG_XFRM=y 379CONFIG_XFRM=y
382CONFIG_XFRM_USER=y 380CONFIG_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
510CONFIG_OF_FLATTREE=y
511CONFIG_OF_DYNAMIC=y
512CONFIG_OF_DEVICE=y 512CONFIG_OF_DEVICE=y
513CONFIG_OF_GPIO=y 513CONFIG_OF_GPIO=y
514CONFIG_OF_I2C=y 514CONFIG_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#
567CONFIG_SCSI_MOD=y
566# CONFIG_RAID_ATTRS is not set 568# CONFIG_RAID_ATTRS is not set
567CONFIG_SCSI=y 569CONFIG_SCSI=y
568CONFIG_SCSI_DMA=y 570CONFIG_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
818CONFIG_CHELSIO_T3_DEPENDS=y 821CONFIG_CHELSIO_T3_DEPENDS=y
819# CONFIG_CHELSIO_T3 is not set 822# CONFIG_CHELSIO_T3 is not set
823CONFIG_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
943CONFIG_SERIAL_QE=m 950CONFIG_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
945CONFIG_UNIX98_PTYS=y 953CONFIG_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
993CONFIG_I2C_MPC=y 1001CONFIG_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
1093CONFIG_VGA_ARB=y 1105CONFIG_VGA_ARB=y
1106CONFIG_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
1096CONFIG_VIDEO_OUTPUT_CONTROL=y 1109CONFIG_VIDEO_OUTPUT_CONTROL=y
@@ -1208,6 +1221,7 @@ CONFIG_SND_INTEL8X0=y
1208CONFIG_SND_PPC=y 1221CONFIG_SND_PPC=y
1209CONFIG_SND_USB=y 1222CONFIG_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
1230CONFIG_HID_A4TECH=y 1245CONFIG_HID_A4TECH=y
1231CONFIG_HID_APPLE=y 1246CONFIG_HID_APPLE=y
1232CONFIG_HID_BELKIN=y 1247CONFIG_HID_BELKIN=y
@@ -1242,14 +1257,19 @@ CONFIG_HID_GYRATION=y
1242CONFIG_HID_LOGITECH=y 1257CONFIG_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
1245CONFIG_HID_MICROSOFT=y 1261CONFIG_HID_MICROSOFT=y
1262# CONFIG_HID_MOSART is not set
1246CONFIG_HID_MONTEREY=y 1263CONFIG_HID_MONTEREY=y
1247# CONFIG_HID_NTRIG is not set 1264# CONFIG_HID_NTRIG is not set
1265# CONFIG_HID_ORTEK is not set
1248CONFIG_HID_PANTHERLORD=y 1266CONFIG_HID_PANTHERLORD=y
1249# CONFIG_PANTHERLORD_FF is not set 1267# CONFIG_PANTHERLORD_FF is not set
1250CONFIG_HID_PETALYNX=y 1268CONFIG_HID_PETALYNX=y
1269# CONFIG_HID_QUANTA is not set
1251CONFIG_HID_SAMSUNG=y 1270CONFIG_HID_SAMSUNG=y
1252CONFIG_HID_SONY=y 1271CONFIG_HID_SONY=y
1272# CONFIG_HID_STANTUM is not set
1253CONFIG_HID_SUNPLUS=y 1273CONFIG_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
1454CONFIG_DMADEVICES=y 1472CONFIG_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
1555CONFIG_BFS_FS=m 1574CONFIG_BFS_FS=m
1556CONFIG_EFS_FS=m 1575CONFIG_EFS_FS=m
1576# CONFIG_LOGFS is not set
1557CONFIG_CRAMFS=y 1577CONFIG_CRAMFS=y
1558# CONFIG_SQUASHFS is not set 1578# CONFIG_SQUASHFS is not set
1559CONFIG_VXFS_FS=m 1579CONFIG_VXFS_FS=m
@@ -1585,6 +1605,7 @@ CONFIG_SUNRPC_GSS=y
1585CONFIG_RPCSEC_GSS_KRB5=y 1605CONFIG_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
1735CONFIG_SYSCTL_SYSCALL_CHECK=y 1757CONFIG_SYSCTL_SYSCALL_CHECK=y
diff --git a/arch/powerpc/configs/mpc85xx_smp_defconfig b/arch/powerpc/configs/mpc85xx_smp_defconfig
index 8755ea3c7f5..f5451d80f19 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
71CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y 71CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
72CONFIG_PPC_ADV_DEBUG_REGS=y
73CONFIG_PPC_ADV_DEBUG_IACS=2
74CONFIG_PPC_ADV_DEBUG_DACS=2
75CONFIG_PPC_ADV_DEBUG_DVCS=0
72CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 76CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
73CONFIG_CONSTRUCTORS=y 77CONFIG_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
101CONFIG_RCU_FANOUT=32 105CONFIG_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
104CONFIG_IKCONFIG=y 109CONFIG_IKCONFIG=y
105CONFIG_IKCONFIG_PROC=y 110CONFIG_IKCONFIG_PROC=y
106CONFIG_LOG_BUF_SHIFT=14 111CONFIG_LOG_BUF_SHIFT=14
107CONFIG_GROUP_SCHED=y
108# CONFIG_FAIR_GROUP_SCHED is not set
109# CONFIG_RT_GROUP_SCHED is not set
110CONFIG_USER_SCHED=y
111# CONFIG_CGROUP_SCHED is not set
112# CONFIG_CGROUPS is not set 112# CONFIG_CGROUPS is not set
113CONFIG_SYSFS_DEPRECATED=y 113# CONFIG_SYSFS_DEPRECATED_V2 is not set
114CONFIG_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
117CONFIG_BLK_DEV_INITRD=y 116CONFIG_BLK_DEV_INITRD=y
@@ -119,6 +118,7 @@ CONFIG_INITRAMFS_SOURCE=""
119CONFIG_RD_GZIP=y 118CONFIG_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
123CONFIG_SYSCTL=y 123CONFIG_SYSCTL=y
124CONFIG_ANON_INODES=y 124CONFIG_ANON_INODES=y
@@ -338,6 +338,7 @@ CONFIG_ISA_DMA_API=y
338# Bus options 338# Bus options
339# 339#
340CONFIG_ZONE_DMA=y 340CONFIG_ZONE_DMA=y
341# CONFIG_NEED_DMA_MAP_STATE is not set
341CONFIG_GENERIC_ISA_DMA=y 342CONFIG_GENERIC_ISA_DMA=y
342CONFIG_PPC_INDIRECT_PCI=y 343CONFIG_PPC_INDIRECT_PCI=y
343CONFIG_FSL_SOC=y 344CONFIG_FSL_SOC=y
@@ -349,7 +350,6 @@ CONFIG_PCI_SYSCALL=y
349# CONFIG_PCIEPORTBUS is not set 350# CONFIG_PCIEPORTBUS is not set
350CONFIG_ARCH_SUPPORTS_MSI=y 351CONFIG_ARCH_SUPPORTS_MSI=y
351CONFIG_PCI_MSI=y 352CONFIG_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#
382CONFIG_PACKET=y 382CONFIG_PACKET=y
383# CONFIG_PACKET_MMAP is not set
384CONFIG_UNIX=y 383CONFIG_UNIX=y
385CONFIG_XFRM=y 384CONFIG_XFRM=y
386CONFIG_XFRM_USER=y 385CONFIG_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
515CONFIG_OF_FLATTREE=y
516CONFIG_OF_DYNAMIC=y
516CONFIG_OF_DEVICE=y 517CONFIG_OF_DEVICE=y
517CONFIG_OF_GPIO=y 518CONFIG_OF_GPIO=y
518CONFIG_OF_I2C=y 519CONFIG_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#
572CONFIG_SCSI_MOD=y
570# CONFIG_RAID_ATTRS is not set 573# CONFIG_RAID_ATTRS is not set
571CONFIG_SCSI=y 574CONFIG_SCSI=y
572CONFIG_SCSI_DMA=y 575CONFIG_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
822CONFIG_CHELSIO_T3_DEPENDS=y 826CONFIG_CHELSIO_T3_DEPENDS=y
823# CONFIG_CHELSIO_T3 is not set 827# CONFIG_CHELSIO_T3 is not set
828CONFIG_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
947CONFIG_SERIAL_QE=m 955CONFIG_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
949CONFIG_UNIX98_PTYS=y 958CONFIG_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
997CONFIG_I2C_MPC=y 1006CONFIG_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
1097CONFIG_VGA_ARB=y 1110CONFIG_VGA_ARB=y
1111CONFIG_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
1100CONFIG_VIDEO_OUTPUT_CONTROL=y 1114CONFIG_VIDEO_OUTPUT_CONTROL=y
@@ -1212,6 +1226,7 @@ CONFIG_SND_INTEL8X0=y
1212CONFIG_SND_PPC=y 1226CONFIG_SND_PPC=y
1213CONFIG_SND_USB=y 1227CONFIG_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
1234CONFIG_HID_A4TECH=y 1250CONFIG_HID_A4TECH=y
1235CONFIG_HID_APPLE=y 1251CONFIG_HID_APPLE=y
1236CONFIG_HID_BELKIN=y 1252CONFIG_HID_BELKIN=y
@@ -1246,14 +1262,19 @@ CONFIG_HID_GYRATION=y
1246CONFIG_HID_LOGITECH=y 1262CONFIG_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
1249CONFIG_HID_MICROSOFT=y 1266CONFIG_HID_MICROSOFT=y
1267# CONFIG_HID_MOSART is not set
1250CONFIG_HID_MONTEREY=y 1268CONFIG_HID_MONTEREY=y
1251# CONFIG_HID_NTRIG is not set 1269# CONFIG_HID_NTRIG is not set
1270# CONFIG_HID_ORTEK is not set
1252CONFIG_HID_PANTHERLORD=y 1271CONFIG_HID_PANTHERLORD=y
1253# CONFIG_PANTHERLORD_FF is not set 1272# CONFIG_PANTHERLORD_FF is not set
1254CONFIG_HID_PETALYNX=y 1273CONFIG_HID_PETALYNX=y
1274# CONFIG_HID_QUANTA is not set
1255CONFIG_HID_SAMSUNG=y 1275CONFIG_HID_SAMSUNG=y
1256CONFIG_HID_SONY=y 1276CONFIG_HID_SONY=y
1277# CONFIG_HID_STANTUM is not set
1257CONFIG_HID_SUNPLUS=y 1278CONFIG_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
1458CONFIG_DMADEVICES=y 1477CONFIG_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
1559CONFIG_BFS_FS=m 1579CONFIG_BFS_FS=m
1560CONFIG_EFS_FS=m 1580CONFIG_EFS_FS=m
1581# CONFIG_LOGFS is not set
1561CONFIG_CRAMFS=y 1582CONFIG_CRAMFS=y
1562# CONFIG_SQUASHFS is not set 1583# CONFIG_SQUASHFS is not set
1563CONFIG_VXFS_FS=m 1584CONFIG_VXFS_FS=m
@@ -1589,6 +1610,7 @@ CONFIG_SUNRPC_GSS=y
1589CONFIG_RPCSEC_GSS_KRB5=y 1610CONFIG_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
1739CONFIG_SYSCTL_SYSCALL_CHECK=y 1762CONFIG_SYSCTL_SYSCALL_CHECK=y
@@ -1806,6 +1829,7 @@ CONFIG_CRYPTO_MANAGER=y
1806CONFIG_CRYPTO_MANAGER2=y 1829CONFIG_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
1809CONFIG_CRYPTO_WORKQUEUE=y 1833CONFIG_CRYPTO_WORKQUEUE=y
1810# CONFIG_CRYPTO_CRYPTD is not set 1834# CONFIG_CRYPTO_CRYPTD is not set
1811CONFIG_CRYPTO_AUTHENC=y 1835CONFIG_CRYPTO_AUTHENC=y
diff --git a/arch/powerpc/configs/mpc866_ads_defconfig b/arch/powerpc/configs/mpc866_ads_defconfig
index 3f6b11b6f4f..d8d3d1d60c8 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
91CONFIG_LOG_BUF_SHIFT=14 91CONFIG_LOG_BUF_SHIFT=14
92CONFIG_GROUP_SCHED=y
93# CONFIG_FAIR_GROUP_SCHED is not set
94# CONFIG_RT_GROUP_SCHED is not set
95CONFIG_USER_SCHED=y
96# CONFIG_CGROUP_SCHED is not set
97# CONFIG_CGROUPS is not set 92# CONFIG_CGROUPS is not set
98CONFIG_SYSFS_DEPRECATED=y 93# CONFIG_SYSFS_DEPRECATED_V2 is not set
99CONFIG_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#
307CONFIG_ZONE_DMA=y 301CONFIG_ZONE_DMA=y
302CONFIG_NEED_DMA_MAP_STATE=y
308CONFIG_FSL_SOC=y 303CONFIG_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#
335CONFIG_PACKET=y 330CONFIG_PACKET=y
336# CONFIG_PACKET_MMAP is not set
337CONFIG_UNIX=y 331CONFIG_UNIX=y
338CONFIG_XFRM=y 332CONFIG_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
422CONFIG_OF_FLATTREE=y
423CONFIG_OF_DYNAMIC=y
428CONFIG_OF_DEVICE=y 424CONFIG_OF_DEVICE=y
429CONFIG_OF_MDIO=y 425CONFIG_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#
455CONFIG_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
607CONFIG_SERIAL_CORE_CONSOLE=y 604CONFIG_SERIAL_CORE_CONSOLE=y
608CONFIG_SERIAL_CPM=y 605CONFIG_SERIAL_CPM=y
609CONFIG_SERIAL_CPM_CONSOLE=y 606CONFIG_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
611CONFIG_UNIX98_PTYS=y 609CONFIG_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
798CONFIG_CRAMFS=y 797CONFIG_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 41884c97a4f..624eae9a7e2 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
99CONFIG_RCU_FANOUT=32 99CONFIG_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
102CONFIG_IKCONFIG=y 103CONFIG_IKCONFIG=y
103CONFIG_IKCONFIG_PROC=y 104CONFIG_IKCONFIG_PROC=y
104CONFIG_LOG_BUF_SHIFT=14 105CONFIG_LOG_BUF_SHIFT=14
105CONFIG_GROUP_SCHED=y
106# CONFIG_FAIR_GROUP_SCHED is not set
107# CONFIG_RT_GROUP_SCHED is not set
108CONFIG_USER_SCHED=y
109# CONFIG_CGROUP_SCHED is not set
110# CONFIG_CGROUPS is not set 106# CONFIG_CGROUPS is not set
111CONFIG_SYSFS_DEPRECATED=y 107# CONFIG_SYSFS_DEPRECATED_V2 is not set
112CONFIG_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
115CONFIG_BLK_DEV_INITRD=y 110CONFIG_BLK_DEV_INITRD=y
@@ -117,6 +112,7 @@ CONFIG_INITRAMFS_SOURCE=""
117CONFIG_RD_GZIP=y 112CONFIG_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
121CONFIG_SYSCTL=y 117CONFIG_SYSCTL=y
122CONFIG_ANON_INODES=y 118CONFIG_ANON_INODES=y
@@ -328,6 +324,7 @@ CONFIG_ISA_DMA_API=y
328# Bus options 324# Bus options
329# 325#
330CONFIG_ZONE_DMA=y 326CONFIG_ZONE_DMA=y
327# CONFIG_NEED_DMA_MAP_STATE is not set
331CONFIG_GENERIC_ISA_DMA=y 328CONFIG_GENERIC_ISA_DMA=y
332CONFIG_PPC_INDIRECT_PCI=y 329CONFIG_PPC_INDIRECT_PCI=y
333CONFIG_FSL_SOC=y 330CONFIG_FSL_SOC=y
@@ -339,7 +336,6 @@ CONFIG_PCI_SYSCALL=y
339# CONFIG_PCIEPORTBUS is not set 336# CONFIG_PCIEPORTBUS is not set
340CONFIG_ARCH_SUPPORTS_MSI=y 337CONFIG_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#
369CONFIG_PACKET=y 365CONFIG_PACKET=y
370# CONFIG_PACKET_MMAP is not set
371CONFIG_UNIX=y 366CONFIG_UNIX=y
372CONFIG_XFRM=y 367CONFIG_XFRM=y
373CONFIG_XFRM_USER=y 368CONFIG_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
498CONFIG_OF_FLATTREE=y
499CONFIG_OF_DYNAMIC=y
503CONFIG_OF_DEVICE=y 500CONFIG_OF_DEVICE=y
504CONFIG_OF_GPIO=y 501CONFIG_OF_GPIO=y
505CONFIG_OF_I2C=y 502CONFIG_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#
555CONFIG_SCSI_MOD=y
557# CONFIG_RAID_ATTRS is not set 556# CONFIG_RAID_ATTRS is not set
558CONFIG_SCSI=y 557CONFIG_SCSI=y
559CONFIG_SCSI_DMA=y 558CONFIG_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
803CONFIG_CHELSIO_T3_DEPENDS=y 803CONFIG_CHELSIO_T3_DEPENDS=y
804# CONFIG_CHELSIO_T3 is not set 804# CONFIG_CHELSIO_T3 is not set
805CONFIG_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
923CONFIG_SERIAL_CORE_CONSOLE=y 926CONFIG_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
927CONFIG_UNIX98_PTYS=y 931CONFIG_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
972CONFIG_I2C_MPC=y 976CONFIG_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
1072CONFIG_VGA_ARB=y 1080CONFIG_VGA_ARB=y
1081CONFIG_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
1075CONFIG_VIDEO_OUTPUT_CONTROL=y 1084CONFIG_VIDEO_OUTPUT_CONTROL=y
@@ -1187,6 +1196,7 @@ CONFIG_SND_INTEL8X0=y
1187CONFIG_SND_PPC=y 1196CONFIG_SND_PPC=y
1188CONFIG_SND_USB=y 1197CONFIG_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
1209CONFIG_HID_A4TECH=y 1220CONFIG_HID_A4TECH=y
1210CONFIG_HID_APPLE=y 1221CONFIG_HID_APPLE=y
1211CONFIG_HID_BELKIN=y 1222CONFIG_HID_BELKIN=y
@@ -1221,14 +1232,19 @@ CONFIG_HID_GYRATION=y
1221CONFIG_HID_LOGITECH=y 1232CONFIG_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
1224CONFIG_HID_MICROSOFT=y 1236CONFIG_HID_MICROSOFT=y
1237# CONFIG_HID_MOSART is not set
1225CONFIG_HID_MONTEREY=y 1238CONFIG_HID_MONTEREY=y
1226# CONFIG_HID_NTRIG is not set 1239# CONFIG_HID_NTRIG is not set
1240# CONFIG_HID_ORTEK is not set
1227CONFIG_HID_PANTHERLORD=y 1241CONFIG_HID_PANTHERLORD=y
1228# CONFIG_PANTHERLORD_FF is not set 1242# CONFIG_PANTHERLORD_FF is not set
1229CONFIG_HID_PETALYNX=y 1243CONFIG_HID_PETALYNX=y
1244# CONFIG_HID_QUANTA is not set
1230CONFIG_HID_SAMSUNG=y 1245CONFIG_HID_SAMSUNG=y
1231CONFIG_HID_SONY=y 1246CONFIG_HID_SONY=y
1247# CONFIG_HID_STANTUM is not set
1232CONFIG_HID_SUNPLUS=y 1248CONFIG_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
1513CONFIG_BFS_FS=m 1527CONFIG_BFS_FS=m
1514CONFIG_EFS_FS=m 1528CONFIG_EFS_FS=m
1529# CONFIG_LOGFS is not set
1515CONFIG_CRAMFS=y 1530CONFIG_CRAMFS=y
1516# CONFIG_SQUASHFS is not set 1531# CONFIG_SQUASHFS is not set
1517CONFIG_VXFS_FS=m 1532CONFIG_VXFS_FS=m
@@ -1543,6 +1558,7 @@ CONFIG_SUNRPC_GSS=y
1543CONFIG_RPCSEC_GSS_KRB5=y 1558CONFIG_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
1754CONFIG_CRYPTO_MANAGER2=y 1770CONFIG_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
1757CONFIG_CRYPTO_WORKQUEUE=y 1774CONFIG_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 6b9e6bd2c98..45bd499630d 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
92CONFIG_LOG_BUF_SHIFT=14 92CONFIG_LOG_BUF_SHIFT=14
93CONFIG_GROUP_SCHED=y
94# CONFIG_FAIR_GROUP_SCHED is not set
95# CONFIG_RT_GROUP_SCHED is not set
96CONFIG_USER_SCHED=y
97# CONFIG_CGROUP_SCHED is not set
98# CONFIG_CGROUPS is not set 93# CONFIG_CGROUPS is not set
99CONFIG_SYSFS_DEPRECATED=y 94# CONFIG_SYSFS_DEPRECATED_V2 is not set
100CONFIG_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#
315CONFIG_ZONE_DMA=y 309CONFIG_ZONE_DMA=y
310CONFIG_NEED_DMA_MAP_STATE=y
316CONFIG_FSL_SOC=y 311CONFIG_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#
344CONFIG_PACKET=y 339CONFIG_PACKET=y
345# CONFIG_PACKET_MMAP is not set
346CONFIG_UNIX=y 340CONFIG_UNIX=y
347# CONFIG_NET_KEY is not set 341# CONFIG_NET_KEY is not set
348CONFIG_INET=y 342CONFIG_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
512CONFIG_OF_FLATTREE=y
513CONFIG_OF_DYNAMIC=y
518CONFIG_OF_DEVICE=y 514CONFIG_OF_DEVICE=y
519CONFIG_OF_MDIO=y 515CONFIG_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#
525CONFIG_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
627CONFIG_SERIAL_CORE_CONSOLE=y 624CONFIG_SERIAL_CORE_CONSOLE=y
628CONFIG_SERIAL_CPM=y 625CONFIG_SERIAL_CPM=y
629CONFIG_SERIAL_CPM_CONSOLE=y 626CONFIG_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
631CONFIG_UNIX98_PTYS=y 629CONFIG_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
767CONFIG_CRAMFS=y 766CONFIG_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/pq2fads_defconfig b/arch/powerpc/configs/pq2fads_defconfig
index 5d06f2cb8e5..68c175ea427 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
@@ -105,6 +105,7 @@ CONFIG_INITRAMFS_SOURCE=""
105CONFIG_RD_GZIP=y 105CONFIG_RD_GZIP=y
106# CONFIG_RD_BZIP2 is not set 106# CONFIG_RD_BZIP2 is not set
107# CONFIG_RD_LZMA is not set 107# CONFIG_RD_LZMA is not set
108# CONFIG_RD_LZO is not set
108CONFIG_CC_OPTIMIZE_FOR_SIZE=y 109CONFIG_CC_OPTIMIZE_FOR_SIZE=y
109CONFIG_SYSCTL=y 110CONFIG_SYSCTL=y
110CONFIG_ANON_INODES=y 111CONFIG_ANON_INODES=y
@@ -304,6 +305,7 @@ CONFIG_ISA_DMA_API=y
304# Bus options 305# Bus options
305# 306#
306CONFIG_ZONE_DMA=y 307CONFIG_ZONE_DMA=y
308# CONFIG_NEED_DMA_MAP_STATE is not set
307CONFIG_PPC_INDIRECT_PCI=y 309CONFIG_PPC_INDIRECT_PCI=y
308CONFIG_FSL_SOC=y 310CONFIG_FSL_SOC=y
309CONFIG_PPC_PCI_CHOICE=y 311CONFIG_PPC_PCI_CHOICE=y
@@ -315,7 +317,6 @@ CONFIG_PCI_8260=y
315# CONFIG_PCIEPORTBUS is not set 317# CONFIG_PCIEPORTBUS is not set
316CONFIG_ARCH_SUPPORTS_MSI=y 318CONFIG_ARCH_SUPPORTS_MSI=y
317# CONFIG_PCI_MSI is not set 319# CONFIG_PCI_MSI is not set
318# CONFIG_PCI_LEGACY is not set
319# CONFIG_PCI_DEBUG is not set 320# CONFIG_PCI_DEBUG is not set
320# CONFIG_PCI_STUB is not set 321# CONFIG_PCI_STUB is not set
321# CONFIG_PCI_IOV is not set 322# CONFIG_PCI_IOV is not set
@@ -342,7 +343,6 @@ CONFIG_NET=y
342# Networking options 343# Networking options
343# 344#
344CONFIG_PACKET=y 345CONFIG_PACKET=y
345# CONFIG_PACKET_MMAP is not set
346CONFIG_UNIX=y 346CONFIG_UNIX=y
347CONFIG_XFRM=y 347CONFIG_XFRM=y
348# CONFIG_XFRM_USER is not set 348# CONFIG_XFRM_USER is not set
@@ -544,6 +544,8 @@ CONFIG_MTD_PHYSMAP_OF=y
544# UBI - Unsorted block images 544# UBI - Unsorted block images
545# 545#
546# CONFIG_MTD_UBI is not set 546# CONFIG_MTD_UBI is not set
547CONFIG_OF_FLATTREE=y
548CONFIG_OF_DYNAMIC=y
547CONFIG_OF_DEVICE=y 549CONFIG_OF_DEVICE=y
548CONFIG_OF_GPIO=y 550CONFIG_OF_GPIO=y
549CONFIG_OF_MDIO=y 551CONFIG_OF_MDIO=y
@@ -629,6 +631,7 @@ CONFIG_IDE_PROC_FS=y
629# 631#
630# SCSI device support 632# SCSI device support
631# 633#
634CONFIG_SCSI_MOD=y
632# CONFIG_RAID_ATTRS is not set 635# CONFIG_RAID_ATTRS is not set
633# CONFIG_SCSI is not set 636# CONFIG_SCSI is not set
634# CONFIG_SCSI_DMA is not set 637# CONFIG_SCSI_DMA is not set
@@ -734,6 +737,8 @@ CONFIG_NETDEV_10000=y
734# CONFIG_CHELSIO_T1 is not set 737# CONFIG_CHELSIO_T1 is not set
735CONFIG_CHELSIO_T3_DEPENDS=y 738CONFIG_CHELSIO_T3_DEPENDS=y
736# CONFIG_CHELSIO_T3 is not set 739# CONFIG_CHELSIO_T3 is not set
740CONFIG_CHELSIO_T4_DEPENDS=y
741# CONFIG_CHELSIO_T4 is not set
737# CONFIG_ENIC is not set 742# CONFIG_ENIC is not set
738# CONFIG_IXGBE is not set 743# CONFIG_IXGBE is not set
739# CONFIG_IXGB is not set 744# CONFIG_IXGB is not set
@@ -746,6 +751,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
746# CONFIG_MLX4_CORE is not set 751# CONFIG_MLX4_CORE is not set
747# CONFIG_TEHUTI is not set 752# CONFIG_TEHUTI is not set
748# CONFIG_BNX2X is not set 753# CONFIG_BNX2X is not set
754# CONFIG_QLCNIC is not set
749# CONFIG_QLGE is not set 755# CONFIG_QLGE is not set
750# CONFIG_SFC is not set 756# CONFIG_SFC is not set
751# CONFIG_BE2NET is not set 757# CONFIG_BE2NET is not set
@@ -859,6 +865,7 @@ CONFIG_SERIAL_CORE_CONSOLE=y
859CONFIG_SERIAL_CPM=y 865CONFIG_SERIAL_CPM=y
860CONFIG_SERIAL_CPM_CONSOLE=y 866CONFIG_SERIAL_CPM_CONSOLE=y
861# CONFIG_SERIAL_JSM is not set 867# CONFIG_SERIAL_JSM is not set
868# CONFIG_SERIAL_TIMBERDALE is not set
862# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set 869# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set
863CONFIG_UNIX98_PTYS=y 870CONFIG_UNIX98_PTYS=y
864# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set 871# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
@@ -887,7 +894,9 @@ CONFIG_GPIOLIB=y
887# 894#
888# Memory mapped GPIO expanders: 895# Memory mapped GPIO expanders:
889# 896#
897# CONFIG_GPIO_IT8761E is not set
890# CONFIG_GPIO_XILINX is not set 898# CONFIG_GPIO_XILINX is not set
899# CONFIG_GPIO_SCH is not set
891 900
892# 901#
893# I2C GPIO expanders: 902# I2C GPIO expanders:
@@ -926,6 +935,8 @@ CONFIG_SSB_POSSIBLE=y
926# CONFIG_MFD_SM501 is not set 935# CONFIG_MFD_SM501 is not set
927# CONFIG_HTC_PASIC3 is not set 936# CONFIG_HTC_PASIC3 is not set
928# CONFIG_MFD_TMIO is not set 937# CONFIG_MFD_TMIO is not set
938# CONFIG_MFD_TIMBERDALE is not set
939# CONFIG_LPC_SCH is not set
929# CONFIG_REGULATOR is not set 940# CONFIG_REGULATOR is not set
930# CONFIG_MEDIA_SUPPORT is not set 941# CONFIG_MEDIA_SUPPORT is not set
931 942
@@ -934,6 +945,7 @@ CONFIG_SSB_POSSIBLE=y
934# 945#
935# CONFIG_AGP is not set 946# CONFIG_AGP is not set
936CONFIG_VGA_ARB=y 947CONFIG_VGA_ARB=y
948CONFIG_VGA_ARB_MAX_GPUS=16
937# CONFIG_DRM is not set 949# CONFIG_DRM is not set
938# CONFIG_VGASTATE is not set 950# CONFIG_VGASTATE is not set
939CONFIG_VIDEO_OUTPUT_CONTROL=y 951CONFIG_VIDEO_OUTPUT_CONTROL=y
@@ -996,6 +1008,7 @@ CONFIG_USB_ETH_RNDIS=y
996# CONFIG_USB_MIDI_GADGET is not set 1008# CONFIG_USB_MIDI_GADGET is not set
997# CONFIG_USB_G_PRINTER is not set 1009# CONFIG_USB_G_PRINTER is not set
998# CONFIG_USB_CDC_COMPOSITE is not set 1010# CONFIG_USB_CDC_COMPOSITE is not set
1011# CONFIG_USB_G_NOKIA is not set
999# CONFIG_USB_G_MULTI is not set 1012# CONFIG_USB_G_MULTI is not set
1000 1013
1001# 1014#
@@ -1051,6 +1064,7 @@ CONFIG_AUTOFS4_FS=y
1051# 1064#
1052# Caches 1065# Caches
1053# 1066#
1067# CONFIG_FSCACHE is not set
1054 1068
1055# 1069#
1056# CD-ROM/DVD Filesystems 1070# CD-ROM/DVD Filesystems
diff --git a/arch/powerpc/configs/prpmc2800_defconfig b/arch/powerpc/configs/prpmc2800_defconfig
index 57ab5748a34..93f4505b5ac 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,11 +97,6 @@ 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
99CONFIG_LOG_BUF_SHIFT=14 99CONFIG_LOG_BUF_SHIFT=14
100CONFIG_GROUP_SCHED=y
101# CONFIG_FAIR_GROUP_SCHED is not set
102# CONFIG_RT_GROUP_SCHED is not set
103CONFIG_USER_SCHED=y
104# CONFIG_CGROUP_SCHED is not set
105# CONFIG_CGROUPS is not set 100# CONFIG_CGROUPS is not set
106CONFIG_SYSFS_DEPRECATED=y 101CONFIG_SYSFS_DEPRECATED=y
107CONFIG_SYSFS_DEPRECATED_V2=y 102CONFIG_SYSFS_DEPRECATED_V2=y
@@ -117,6 +112,7 @@ CONFIG_INITRAMFS_SOURCE=""
117CONFIG_RD_GZIP=y 112CONFIG_RD_GZIP=y
118CONFIG_RD_BZIP2=y 113CONFIG_RD_BZIP2=y
119CONFIG_RD_LZMA=y 114CONFIG_RD_LZMA=y
115CONFIG_RD_LZO=y
120# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 116# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
121CONFIG_SYSCTL=y 117CONFIG_SYSCTL=y
122CONFIG_ANON_INODES=y 118CONFIG_ANON_INODES=y
@@ -319,6 +315,7 @@ CONFIG_ISA_DMA_API=y
319# Bus options 315# Bus options
320# 316#
321CONFIG_ZONE_DMA=y 317CONFIG_ZONE_DMA=y
318CONFIG_NEED_DMA_MAP_STATE=y
322CONFIG_GENERIC_ISA_DMA=y 319CONFIG_GENERIC_ISA_DMA=y
323CONFIG_PPC_INDIRECT_PCI=y 320CONFIG_PPC_INDIRECT_PCI=y
324CONFIG_PCI=y 321CONFIG_PCI=y
@@ -327,7 +324,6 @@ CONFIG_PCI_SYSCALL=y
327# CONFIG_PCIEPORTBUS is not set 324# CONFIG_PCIEPORTBUS is not set
328CONFIG_ARCH_SUPPORTS_MSI=y 325CONFIG_ARCH_SUPPORTS_MSI=y
329# CONFIG_PCI_MSI is not set 326# CONFIG_PCI_MSI is not set
330# CONFIG_PCI_LEGACY is not set
331# CONFIG_PCI_STUB is not set 327# CONFIG_PCI_STUB is not set
332# CONFIG_PCI_IOV is not set 328# CONFIG_PCI_IOV is not set
333# CONFIG_PCCARD is not set 329# CONFIG_PCCARD is not set
@@ -354,7 +350,6 @@ CONFIG_NET=y
354# Networking options 350# Networking options
355# 351#
356CONFIG_PACKET=y 352CONFIG_PACKET=y
357# CONFIG_PACKET_MMAP is not set
358CONFIG_UNIX=y 353CONFIG_UNIX=y
359CONFIG_XFRM=y 354CONFIG_XFRM=y
360CONFIG_XFRM_USER=y 355CONFIG_XFRM_USER=y
@@ -533,6 +528,8 @@ CONFIG_MTD_PHYSMAP_OF=y
533# UBI - Unsorted block images 528# UBI - Unsorted block images
534# 529#
535# CONFIG_MTD_UBI is not set 530# CONFIG_MTD_UBI is not set
531CONFIG_OF_FLATTREE=y
532CONFIG_OF_DYNAMIC=y
536CONFIG_OF_DEVICE=y 533CONFIG_OF_DEVICE=y
537CONFIG_OF_I2C=y 534CONFIG_OF_I2C=y
538CONFIG_OF_MDIO=y 535CONFIG_OF_MDIO=y
@@ -569,6 +566,7 @@ CONFIG_MISC_DEVICES=y
569# CONFIG_ENCLOSURE_SERVICES is not set 566# CONFIG_ENCLOSURE_SERVICES is not set
570# CONFIG_HP_ILO is not set 567# CONFIG_HP_ILO is not set
571# CONFIG_ISL29003 is not set 568# CONFIG_ISL29003 is not set
569# CONFIG_SENSORS_TSL2550 is not set
572# CONFIG_DS1682 is not set 570# CONFIG_DS1682 is not set
573# CONFIG_C2PORT is not set 571# CONFIG_C2PORT is not set
574 572
@@ -640,6 +638,7 @@ CONFIG_BLK_DEV_IDEDMA=y
640# 638#
641# SCSI device support 639# SCSI device support
642# 640#
641CONFIG_SCSI_MOD=y
643# CONFIG_RAID_ATTRS is not set 642# CONFIG_RAID_ATTRS is not set
644CONFIG_SCSI=y 643CONFIG_SCSI=y
645CONFIG_SCSI_DMA=y 644CONFIG_SCSI_DMA=y
@@ -761,6 +760,7 @@ CONFIG_SATA_MV=y
761# CONFIG_PATA_IT821X is not set 760# CONFIG_PATA_IT821X is not set
762# CONFIG_PATA_IT8213 is not set 761# CONFIG_PATA_IT8213 is not set
763# CONFIG_PATA_JMICRON is not set 762# CONFIG_PATA_JMICRON is not set
763# CONFIG_PATA_LEGACY is not set
764# CONFIG_PATA_TRIFLEX is not set 764# CONFIG_PATA_TRIFLEX is not set
765# CONFIG_PATA_MARVELL is not set 765# CONFIG_PATA_MARVELL is not set
766# CONFIG_PATA_MPIIX is not set 766# CONFIG_PATA_MPIIX is not set
@@ -854,6 +854,7 @@ CONFIG_NET_PCI=y
854# CONFIG_PCNET32 is not set 854# CONFIG_PCNET32 is not set
855# CONFIG_AMD8111_ETH is not set 855# CONFIG_AMD8111_ETH is not set
856# CONFIG_ADAPTEC_STARFIRE is not set 856# CONFIG_ADAPTEC_STARFIRE is not set
857# CONFIG_KSZ884X_PCI is not set
857# CONFIG_B44 is not set 858# CONFIG_B44 is not set
858# CONFIG_FORCEDETH is not set 859# CONFIG_FORCEDETH is not set
859CONFIG_E100=y 860CONFIG_E100=y
@@ -907,6 +908,8 @@ CONFIG_NETDEV_10000=y
907# CONFIG_CHELSIO_T1 is not set 908# CONFIG_CHELSIO_T1 is not set
908CONFIG_CHELSIO_T3_DEPENDS=y 909CONFIG_CHELSIO_T3_DEPENDS=y
909# CONFIG_CHELSIO_T3 is not set 910# CONFIG_CHELSIO_T3 is not set
911CONFIG_CHELSIO_T4_DEPENDS=y
912# CONFIG_CHELSIO_T4 is not set
910# CONFIG_ENIC is not set 913# CONFIG_ENIC is not set
911# CONFIG_IXGBE is not set 914# CONFIG_IXGBE is not set
912# CONFIG_IXGB is not set 915# CONFIG_IXGB is not set
@@ -919,6 +922,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
919# CONFIG_MLX4_CORE is not set 922# CONFIG_MLX4_CORE is not set
920# CONFIG_TEHUTI is not set 923# CONFIG_TEHUTI is not set
921# CONFIG_BNX2X is not set 924# CONFIG_BNX2X is not set
925# CONFIG_QLCNIC is not set
922# CONFIG_QLGE is not set 926# CONFIG_QLGE is not set
923# CONFIG_SFC is not set 927# CONFIG_SFC is not set
924# CONFIG_BE2NET is not set 928# CONFIG_BE2NET is not set
@@ -1016,6 +1020,7 @@ CONFIG_SERIAL_MPSC_CONSOLE=y
1016CONFIG_SERIAL_CORE=y 1020CONFIG_SERIAL_CORE=y
1017CONFIG_SERIAL_CORE_CONSOLE=y 1021CONFIG_SERIAL_CORE_CONSOLE=y
1018# CONFIG_SERIAL_JSM is not set 1022# CONFIG_SERIAL_JSM is not set
1023# CONFIG_SERIAL_TIMBERDALE is not set
1019# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set 1024# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set
1020CONFIG_UNIX98_PTYS=y 1025CONFIG_UNIX98_PTYS=y
1021# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set 1026# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
@@ -1065,6 +1070,7 @@ CONFIG_I2C_HELPER_AUTO=y
1065CONFIG_I2C_MV64XXX=y 1070CONFIG_I2C_MV64XXX=y
1066# CONFIG_I2C_OCORES is not set 1071# CONFIG_I2C_OCORES is not set
1067# CONFIG_I2C_SIMTEC is not set 1072# CONFIG_I2C_SIMTEC is not set
1073# CONFIG_I2C_XILINX is not set
1068 1074
1069# 1075#
1070# External I2C/SMBus adapter drivers 1076# External I2C/SMBus adapter drivers
@@ -1077,15 +1083,9 @@ CONFIG_I2C_MV64XXX=y
1077# Other I2C/SMBus bus drivers 1083# Other I2C/SMBus bus drivers
1078# 1084#
1079# CONFIG_I2C_PCA_PLATFORM is not set 1085# 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 1086# CONFIG_I2C_DEBUG_CORE is not set
1086# CONFIG_I2C_DEBUG_ALGO is not set 1087# CONFIG_I2C_DEBUG_ALGO is not set
1087# CONFIG_I2C_DEBUG_BUS is not set 1088# CONFIG_I2C_DEBUG_BUS is not set
1088# CONFIG_I2C_DEBUG_CHIP is not set
1089# CONFIG_SPI is not set 1089# CONFIG_SPI is not set
1090 1090
1091# 1091#
@@ -1111,10 +1111,11 @@ CONFIG_HWMON=y
1111# CONFIG_SENSORS_ADM1029 is not set 1111# CONFIG_SENSORS_ADM1029 is not set
1112# CONFIG_SENSORS_ADM1031 is not set 1112# CONFIG_SENSORS_ADM1031 is not set
1113# CONFIG_SENSORS_ADM9240 is not set 1113# CONFIG_SENSORS_ADM9240 is not set
1114# CONFIG_SENSORS_ADT7411 is not set
1114# CONFIG_SENSORS_ADT7462 is not set 1115# CONFIG_SENSORS_ADT7462 is not set
1115# CONFIG_SENSORS_ADT7470 is not set 1116# CONFIG_SENSORS_ADT7470 is not set
1116# CONFIG_SENSORS_ADT7473 is not set
1117# CONFIG_SENSORS_ADT7475 is not set 1117# CONFIG_SENSORS_ADT7475 is not set
1118# CONFIG_SENSORS_ASC7621 is not set
1118# CONFIG_SENSORS_ATXP1 is not set 1119# CONFIG_SENSORS_ATXP1 is not set
1119# CONFIG_SENSORS_DS1621 is not set 1120# CONFIG_SENSORS_DS1621 is not set
1120# CONFIG_SENSORS_I5K_AMB is not set 1121# CONFIG_SENSORS_I5K_AMB is not set
@@ -1151,6 +1152,7 @@ CONFIG_HWMON=y
1151# CONFIG_SENSORS_SMSC47M192 is not set 1152# CONFIG_SENSORS_SMSC47M192 is not set
1152# CONFIG_SENSORS_SMSC47B397 is not set 1153# CONFIG_SENSORS_SMSC47B397 is not set
1153# CONFIG_SENSORS_ADS7828 is not set 1154# CONFIG_SENSORS_ADS7828 is not set
1155# CONFIG_SENSORS_AMC6821 is not set
1154# CONFIG_SENSORS_THMC50 is not set 1156# CONFIG_SENSORS_THMC50 is not set
1155# CONFIG_SENSORS_TMP401 is not set 1157# CONFIG_SENSORS_TMP401 is not set
1156# CONFIG_SENSORS_TMP421 is not set 1158# CONFIG_SENSORS_TMP421 is not set
@@ -1179,18 +1181,21 @@ CONFIG_SSB_POSSIBLE=y
1179# Multifunction device drivers 1181# Multifunction device drivers
1180# 1182#
1181# CONFIG_MFD_CORE is not set 1183# CONFIG_MFD_CORE is not set
1184# CONFIG_MFD_88PM860X is not set
1182# CONFIG_MFD_SM501 is not set 1185# CONFIG_MFD_SM501 is not set
1183# CONFIG_HTC_PASIC3 is not set 1186# CONFIG_HTC_PASIC3 is not set
1184# CONFIG_TWL4030_CORE is not set 1187# CONFIG_TWL4030_CORE is not set
1185# CONFIG_MFD_TMIO is not set 1188# CONFIG_MFD_TMIO is not set
1186# CONFIG_PMIC_DA903X is not set 1189# CONFIG_PMIC_DA903X is not set
1187# CONFIG_PMIC_ADP5520 is not set 1190# CONFIG_PMIC_ADP5520 is not set
1191# CONFIG_MFD_MAX8925 is not set
1188# CONFIG_MFD_WM8400 is not set 1192# CONFIG_MFD_WM8400 is not set
1189# CONFIG_MFD_WM831X is not set 1193# CONFIG_MFD_WM831X is not set
1190# CONFIG_MFD_WM8350_I2C is not set 1194# CONFIG_MFD_WM8350_I2C is not set
1195# CONFIG_MFD_WM8994 is not set
1191# CONFIG_MFD_PCF50633 is not set 1196# CONFIG_MFD_PCF50633 is not set
1192# CONFIG_AB3100_CORE is not set 1197# CONFIG_AB3100_CORE is not set
1193# CONFIG_MFD_88PM8607 is not set 1198# CONFIG_LPC_SCH is not set
1194# CONFIG_REGULATOR is not set 1199# CONFIG_REGULATOR is not set
1195# CONFIG_MEDIA_SUPPORT is not set 1200# CONFIG_MEDIA_SUPPORT is not set
1196 1201
@@ -1199,6 +1204,7 @@ CONFIG_SSB_POSSIBLE=y
1199# 1204#
1200# CONFIG_AGP is not set 1205# CONFIG_AGP is not set
1201CONFIG_VGA_ARB=y 1206CONFIG_VGA_ARB=y
1207CONFIG_VGA_ARB_MAX_GPUS=16
1202# CONFIG_DRM is not set 1208# CONFIG_DRM is not set
1203# CONFIG_VGASTATE is not set 1209# CONFIG_VGASTATE is not set
1204CONFIG_VIDEO_OUTPUT_CONTROL=y 1210CONFIG_VIDEO_OUTPUT_CONTROL=y
@@ -1231,6 +1237,7 @@ CONFIG_USB_HID=y
1231# 1237#
1232# Special HID drivers 1238# Special HID drivers
1233# 1239#
1240# CONFIG_HID_3M_PCT is not set
1234CONFIG_HID_A4TECH=y 1241CONFIG_HID_A4TECH=y
1235CONFIG_HID_APPLE=y 1242CONFIG_HID_APPLE=y
1236CONFIG_HID_BELKIN=y 1243CONFIG_HID_BELKIN=y
@@ -1247,14 +1254,19 @@ CONFIG_HID_KENSINGTON=y
1247CONFIG_HID_LOGITECH=y 1254CONFIG_HID_LOGITECH=y
1248# CONFIG_LOGITECH_FF is not set 1255# CONFIG_LOGITECH_FF is not set
1249# CONFIG_LOGIRUMBLEPAD2_FF is not set 1256# CONFIG_LOGIRUMBLEPAD2_FF is not set
1257# CONFIG_LOGIG940_FF is not set
1250CONFIG_HID_MICROSOFT=y 1258CONFIG_HID_MICROSOFT=y
1259# CONFIG_HID_MOSART is not set
1251CONFIG_HID_MONTEREY=y 1260CONFIG_HID_MONTEREY=y
1252CONFIG_HID_NTRIG=y 1261CONFIG_HID_NTRIG=y
1262CONFIG_HID_ORTEK=y
1253CONFIG_HID_PANTHERLORD=y 1263CONFIG_HID_PANTHERLORD=y
1254# CONFIG_PANTHERLORD_FF is not set 1264# CONFIG_PANTHERLORD_FF is not set
1255CONFIG_HID_PETALYNX=y 1265CONFIG_HID_PETALYNX=y
1266# CONFIG_HID_QUANTA is not set
1256CONFIG_HID_SAMSUNG=y 1267CONFIG_HID_SAMSUNG=y
1257CONFIG_HID_SONY=y 1268CONFIG_HID_SONY=y
1269# CONFIG_HID_STANTUM is not set
1258CONFIG_HID_SUNPLUS=y 1270CONFIG_HID_SUNPLUS=y
1259CONFIG_HID_GREENASIA=y 1271CONFIG_HID_GREENASIA=y
1260# CONFIG_GREENASIA_FF is not set 1272# CONFIG_GREENASIA_FF is not set
@@ -1350,7 +1362,6 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1350# CONFIG_USB_RIO500 is not set 1362# CONFIG_USB_RIO500 is not set
1351# CONFIG_USB_LEGOTOWER is not set 1363# CONFIG_USB_LEGOTOWER is not set
1352# CONFIG_USB_LCD is not set 1364# CONFIG_USB_LCD is not set
1353# CONFIG_USB_BERRY_CHARGE is not set
1354# CONFIG_USB_LED is not set 1365# CONFIG_USB_LED is not set
1355# CONFIG_USB_CYPRESS_CY7C63 is not set 1366# CONFIG_USB_CYPRESS_CY7C63 is not set
1356# CONFIG_USB_CYTHERM is not set 1367# CONFIG_USB_CYTHERM is not set
@@ -1363,7 +1374,6 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1363# CONFIG_USB_IOWARRIOR is not set 1374# CONFIG_USB_IOWARRIOR is not set
1364# CONFIG_USB_TEST is not set 1375# CONFIG_USB_TEST is not set
1365# CONFIG_USB_ISIGHTFW is not set 1376# CONFIG_USB_ISIGHTFW is not set
1366# CONFIG_USB_VST is not set
1367# CONFIG_USB_GADGET is not set 1377# CONFIG_USB_GADGET is not set
1368 1378
1369# 1379#
@@ -1516,6 +1526,7 @@ CONFIG_MISC_FILESYSTEMS=y
1516# CONFIG_BFS_FS is not set 1526# CONFIG_BFS_FS is not set
1517# CONFIG_EFS_FS is not set 1527# CONFIG_EFS_FS is not set
1518# CONFIG_JFFS2_FS is not set 1528# CONFIG_JFFS2_FS is not set
1529# CONFIG_LOGFS is not set
1519# CONFIG_CRAMFS is not set 1530# CONFIG_CRAMFS is not set
1520# CONFIG_SQUASHFS is not set 1531# CONFIG_SQUASHFS is not set
1521# CONFIG_VXFS_FS is not set 1532# CONFIG_VXFS_FS is not set
@@ -1538,6 +1549,7 @@ CONFIG_SUNRPC=y
1538# CONFIG_RPCSEC_GSS_KRB5 is not set 1549# CONFIG_RPCSEC_GSS_KRB5 is not set
1539# CONFIG_RPCSEC_GSS_SPKM3 is not set 1550# CONFIG_RPCSEC_GSS_SPKM3 is not set
1540# CONFIG_SMB_FS is not set 1551# CONFIG_SMB_FS is not set
1552# CONFIG_CEPH_FS is not set
1541# CONFIG_CIFS is not set 1553# CONFIG_CIFS is not set
1542# CONFIG_NCP_FS is not set 1554# CONFIG_NCP_FS is not set
1543# CONFIG_CODA_FS is not set 1555# CONFIG_CODA_FS is not set
@@ -1620,9 +1632,11 @@ CONFIG_CRC32=y
1620# CONFIG_CRC7 is not set 1632# CONFIG_CRC7 is not set
1621# CONFIG_LIBCRC32C is not set 1633# CONFIG_LIBCRC32C is not set
1622CONFIG_ZLIB_INFLATE=y 1634CONFIG_ZLIB_INFLATE=y
1635CONFIG_LZO_DECOMPRESS=y
1623CONFIG_DECOMPRESS_GZIP=y 1636CONFIG_DECOMPRESS_GZIP=y
1624CONFIG_DECOMPRESS_BZIP2=y 1637CONFIG_DECOMPRESS_BZIP2=y
1625CONFIG_DECOMPRESS_LZMA=y 1638CONFIG_DECOMPRESS_LZMA=y
1639CONFIG_DECOMPRESS_LZO=y
1626CONFIG_HAS_IOMEM=y 1640CONFIG_HAS_IOMEM=y
1627CONFIG_HAS_IOPORT=y 1641CONFIG_HAS_IOPORT=y
1628CONFIG_HAS_DMA=y 1642CONFIG_HAS_DMA=y
diff --git a/arch/powerpc/configs/ps3_defconfig b/arch/powerpc/configs/ps3_defconfig
index 32f7058bb17..3808bc2be86 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#
6CONFIG_PPC64=y 6CONFIG_PPC64=y
7 7
@@ -9,6 +9,7 @@ CONFIG_PPC64=y
9# Processor support 9# Processor support
10# 10#
11CONFIG_PPC_BOOK3S_64=y 11CONFIG_PPC_BOOK3S_64=y
12# CONFIG_PPC_BOOK3E_64 is not set
12CONFIG_PPC_BOOK3S=y 13CONFIG_PPC_BOOK3S=y
13# CONFIG_POWER4_ONLY is not set 14# CONFIG_POWER4_ONLY is not set
14CONFIG_POWER3=y 15CONFIG_POWER3=y
@@ -35,7 +36,9 @@ CONFIG_GENERIC_CLOCKEVENTS=y
35CONFIG_GENERIC_HARDIRQS=y 36CONFIG_GENERIC_HARDIRQS=y
36CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y 37CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
37CONFIG_HAVE_SETUP_PER_CPU_AREA=y 38CONFIG_HAVE_SETUP_PER_CPU_AREA=y
39CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
38CONFIG_IRQ_PER_CPU=y 40CONFIG_IRQ_PER_CPU=y
41CONFIG_NR_IRQS=512
39CONFIG_STACKTRACE_SUPPORT=y 42CONFIG_STACKTRACE_SUPPORT=y
40CONFIG_HAVE_LATENCYTOP_SUPPORT=y 43CONFIG_HAVE_LATENCYTOP_SUPPORT=y
41CONFIG_TRACE_IRQFLAGS_SUPPORT=y 44CONFIG_TRACE_IRQFLAGS_SUPPORT=y
@@ -60,6 +63,7 @@ CONFIG_AUDIT_ARCH=y
60CONFIG_GENERIC_BUG=y 63CONFIG_GENERIC_BUG=y
61CONFIG_DTC=y 64CONFIG_DTC=y
62# CONFIG_DEFAULT_UIMAGE is not set 65# CONFIG_DEFAULT_UIMAGE is not set
66CONFIG_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
65CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y 69CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
@@ -86,14 +90,15 @@ CONFIG_POSIX_MQUEUE_SYSCTL=y
86# 90#
87# RCU Subsystem 91# RCU Subsystem
88# 92#
89CONFIG_CLASSIC_RCU=y 93CONFIG_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
97CONFIG_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
95CONFIG_LOG_BUF_SHIFT=17 101CONFIG_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=""
108CONFIG_RD_GZIP=y 113CONFIG_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
111CONFIG_CC_OPTIMIZE_FOR_SIZE=y 117CONFIG_CC_OPTIMIZE_FOR_SIZE=y
112CONFIG_SYSCTL=y 118CONFIG_SYSCTL=y
113CONFIG_ANON_INODES=y 119CONFIG_ANON_INODES=y
@@ -128,21 +134,19 @@ CONFIG_TIMERFD=y
128CONFIG_EVENTFD=y 134CONFIG_EVENTFD=y
129CONFIG_SHMEM=y 135CONFIG_SHMEM=y
130CONFIG_AIO=y 136CONFIG_AIO=y
131CONFIG_HAVE_PERF_COUNTERS=y 137CONFIG_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
137CONFIG_VM_EVENT_COUNTERS=y 144CONFIG_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
140CONFIG_SLAB=y 146CONFIG_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
143CONFIG_PROFILING=y 149CONFIG_PROFILING=y
144CONFIG_TRACEPOINTS=y
145CONFIG_MARKERS=y
146CONFIG_OPROFILE=m 150CONFIG_OPROFILE=m
147CONFIG_HAVE_OPROFILE=y 151CONFIG_HAVE_OPROFILE=y
148# CONFIG_KPROBES is not set 152# CONFIG_KPROBES is not set
@@ -154,12 +158,14 @@ CONFIG_HAVE_KRETPROBES=y
154CONFIG_HAVE_ARCH_TRACEHOOK=y 158CONFIG_HAVE_ARCH_TRACEHOOK=y
155CONFIG_HAVE_DMA_ATTRS=y 159CONFIG_HAVE_DMA_ATTRS=y
156CONFIG_USE_GENERIC_SMP_HELPERS=y 160CONFIG_USE_GENERIC_SMP_HELPERS=y
161CONFIG_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 167CONFIG_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
164CONFIG_SLABINFO=y 170CONFIG_SLABINFO=y
165CONFIG_RT_MUTEXES=y 171CONFIG_RT_MUTEXES=y
@@ -180,14 +186,41 @@ CONFIG_BLOCK_COMPAT=y
180# IO Schedulers 186# IO Schedulers
181# 187#
182CONFIG_IOSCHED_NOOP=y 188CONFIG_IOSCHED_NOOP=y
183CONFIG_IOSCHED_AS=y
184CONFIG_IOSCHED_DEADLINE=y 189CONFIG_IOSCHED_DEADLINE=y
185CONFIG_IOSCHED_CFQ=y 190CONFIG_IOSCHED_CFQ=y
186CONFIG_DEFAULT_AS=y
187# CONFIG_DEFAULT_DEADLINE is not set 191# CONFIG_DEFAULT_DEADLINE is not set
188# CONFIG_DEFAULT_CFQ is not set 192CONFIG_DEFAULT_CFQ=y
189# CONFIG_DEFAULT_NOOP is not set 193# CONFIG_DEFAULT_NOOP is not set
190CONFIG_DEFAULT_IOSCHED="anticipatory" 194CONFIG_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#
227CONFIG_SPU_FS=m 260CONFIG_SPU_FS=m
228CONFIG_SPU_FS_64K_LS=y 261CONFIG_SPU_FS_64K_LS=y
229# CONFIG_SPU_TRACE is not set
230CONFIG_SPU_BASE=y 262CONFIG_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
268CONFIG_BINFMT_MISC=y 300CONFIG_BINFMT_MISC=y
269CONFIG_HUGETLB_PAGE_SIZE_VARIABLE=y 301CONFIG_HUGETLB_PAGE_SIZE_VARIABLE=y
270# CONFIG_IOMMU_VMERGE is not set
271CONFIG_IOMMU_HELPER=y 302CONFIG_IOMMU_HELPER=y
272# CONFIG_SWIOTLB is not set 303# CONFIG_SWIOTLB is not set
273CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 304CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
@@ -276,12 +307,15 @@ CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
276CONFIG_KEXEC=y 307CONFIG_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
310CONFIG_SPARSE_IRQ=y
279# CONFIG_NUMA is not set 311# CONFIG_NUMA is not set
312CONFIG_MAX_ACTIVE_REGIONS=256
280CONFIG_ARCH_SELECT_MEMORY_MODEL=y 313CONFIG_ARCH_SELECT_MEMORY_MODEL=y
281CONFIG_ARCH_FLATMEM_ENABLE=y 314CONFIG_ARCH_FLATMEM_ENABLE=y
282CONFIG_ARCH_SPARSEMEM_ENABLE=y 315CONFIG_ARCH_SPARSEMEM_ENABLE=y
283CONFIG_ARCH_SPARSEMEM_DEFAULT=y 316CONFIG_ARCH_SPARSEMEM_DEFAULT=y
284CONFIG_ARCH_POPULATES_NODE_MAP=y 317CONFIG_ARCH_POPULATES_NODE_MAP=y
318CONFIG_SYS_SUPPORTS_HUGETLBFS=y
285CONFIG_SELECT_MEMORY_MODEL=y 319CONFIG_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
295CONFIG_MEMORY_HOTPLUG_SPARSE=y 329CONFIG_MEMORY_HOTPLUG_SPARSE=y
296# CONFIG_MEMORY_HOTREMOVE is not set 330# CONFIG_MEMORY_HOTREMOVE is not set
297CONFIG_PAGEFLAGS_EXTENDED=y 331CONFIG_PAGEFLAGS_EXTENDED=y
298CONFIG_SPLIT_PTLOCK_CPUS=4 332CONFIG_SPLIT_PTLOCK_CPUS=999999
299CONFIG_MIGRATION=y 333CONFIG_MIGRATION=y
300CONFIG_PHYS_ADDR_T_64BIT=y 334CONFIG_PHYS_ADDR_T_64BIT=y
301CONFIG_ZONE_DMA_FLAG=1 335CONFIG_ZONE_DMA_FLAG=1
302CONFIG_BOUNCE=y 336CONFIG_BOUNCE=y
303CONFIG_HAVE_MLOCK=y 337# CONFIG_KSM is not set
304CONFIG_HAVE_MLOCKED_PAGE_BIT=y
305CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 338CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
306CONFIG_ARCH_MEMORY_PROBE=y 339CONFIG_ARCH_MEMORY_PROBE=y
307CONFIG_PPC_HAS_HASH_64K=y 340CONFIG_PPC_HAS_HASH_64K=y
@@ -312,11 +345,15 @@ CONFIG_PPC_4K_PAGES=y
312CONFIG_FORCE_MAX_ZONEORDER=13 345CONFIG_FORCE_MAX_ZONEORDER=13
313CONFIG_SCHED_SMT=y 346CONFIG_SCHED_SMT=y
314CONFIG_PROC_DEVICETREE=y 347CONFIG_PROC_DEVICETREE=y
315# CONFIG_CMDLINE_BOOL is not set 348CONFIG_CMDLINE_BOOL=y
349CONFIG_CMDLINE=""
316CONFIG_EXTRA_TARGETS="" 350CONFIG_EXTRA_TARGETS=""
317CONFIG_PM=y 351CONFIG_PM=y
318CONFIG_PM_DEBUG=y 352CONFIG_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
321CONFIG_ISA_DMA_API=y 358CONFIG_ISA_DMA_API=y
322 359
@@ -324,6 +361,7 @@ CONFIG_ISA_DMA_API=y
324# Bus options 361# Bus options
325# 362#
326CONFIG_ZONE_DMA=y 363CONFIG_ZONE_DMA=y
364CONFIG_NEED_DMA_MAP_STATE=y
327CONFIG_GENERIC_ISA_DMA=y 365CONFIG_GENERIC_ISA_DMA=y
328CONFIG_PPC_PCI_CHOICE=y 366CONFIG_PPC_PCI_CHOICE=y
329# CONFIG_PCI is not set 367# CONFIG_PCI is not set
@@ -337,12 +375,12 @@ CONFIG_PAGE_OFFSET=0xc000000000000000
337CONFIG_KERNEL_START=0xc000000000000000 375CONFIG_KERNEL_START=0xc000000000000000
338CONFIG_PHYSICAL_START=0x00000000 376CONFIG_PHYSICAL_START=0x00000000
339CONFIG_NET=y 377CONFIG_NET=y
378CONFIG_COMPAT_NETLINK_MESSAGES=y
340 379
341# 380#
342# Networking options 381# Networking options
343# 382#
344CONFIG_PACKET=y 383CONFIG_PACKET=y
345CONFIG_PACKET_MMAP=y
346CONFIG_UNIX=y 384CONFIG_UNIX=y
347CONFIG_XFRM=y 385CONFIG_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
392CONFIG_INET6_XFRM_MODE_BEET=y 430CONFIG_INET6_XFRM_MODE_BEET=y
393# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set 431# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
394CONFIG_IPV6_SIT=y 432CONFIG_IPV6_SIT=y
433# CONFIG_IPV6_SIT_6RD is not set
395CONFIG_IPV6_NDISC_NODETYPE=y 434CONFIG_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
449CONFIG_WIRELESS=y 490CONFIG_WIRELESS=y
491CONFIG_WIRELESS_EXT=y
492CONFIG_WEXT_CORE=y
493CONFIG_WEXT_PROC=y
450CONFIG_CFG80211=m 494CONFIG_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
498CONFIG_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
454CONFIG_WIRELESS_EXT=y 501CONFIG_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
457CONFIG_MAC80211=m 504CONFIG_MAC80211=m
458CONFIG_MAC80211_DEFAULT_PS=y
459CONFIG_MAC80211_DEFAULT_PS_VALUE=1
460
461#
462# Rate control algorithm selection
463#
464CONFIG_MAC80211_RC_PID=y 505CONFIG_MAC80211_RC_PID=y
465# CONFIG_MAC80211_RC_MINSTREL is not set 506# CONFIG_MAC80211_RC_MINSTREL is not set
466CONFIG_MAC80211_RC_DEFAULT_PID=y 507CONFIG_MAC80211_RC_DEFAULT_PID=y
467# CONFIG_MAC80211_RC_DEFAULT_MINSTREL is not set 508# CONFIG_MAC80211_RC_DEFAULT_MINSTREL is not set
468CONFIG_MAC80211_RC_DEFAULT="pid" 509CONFIG_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#
483CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 525CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
526# CONFIG_DEVTMPFS is not set
484CONFIG_STANDALONE=y 527CONFIG_STANDALONE=y
485CONFIG_PREVENT_FIRMWARE_BUILD=y 528CONFIG_PREVENT_FIRMWARE_BUILD=y
486CONFIG_FW_LOADER=y 529CONFIG_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
537CONFIG_OF_FLATTREE=y
538CONFIG_OF_DYNAMIC=y
494CONFIG_OF_DEVICE=y 539CONFIG_OF_DEVICE=y
495# CONFIG_PARPORT is not set 540# CONFIG_PARPORT is not set
496CONFIG_BLK_DEV=y 541CONFIG_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
499CONFIG_BLK_DEV_LOOP=y 544CONFIG_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
503CONFIG_BLK_DEV_RAM=y 552CONFIG_BLK_DEV_RAM=y
@@ -521,6 +570,7 @@ CONFIG_HAVE_IDE=y
521# 570#
522# SCSI device support 571# SCSI device support
523# 572#
573CONFIG_SCSI_MOD=y
524# CONFIG_RAID_ATTRS is not set 574# CONFIG_RAID_ATTRS is not set
525CONFIG_SCSI=y 575CONFIG_SCSI=y
526CONFIG_SCSI_DMA=y 576CONFIG_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
593CONFIG_NETDEV_1000=y 644CONFIG_NETDEV_1000=y
594CONFIG_GELIC_NET=y 645CONFIG_GELIC_NET=y
595CONFIG_GELIC_WIRELESS=y 646CONFIG_GELIC_WIRELESS=y
596# CONFIG_NETDEV_10000 is not set 647# CONFIG_NETDEV_10000 is not set
597 648CONFIG_WLAN=y
598#
599# Wireless LAN
600#
601# CONFIG_WLAN_PRE80211 is not set
602CONFIG_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
665CONFIG_INPUT=y 713CONFIG_INPUT=y
666CONFIG_INPUT_FF_MEMLESS=m 714CONFIG_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
715CONFIG_UNIX98_PTYS=y 766CONFIG_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
740CONFIG_SSB_POSSIBLE=y 790CONFIG_SSB_POSSIBLE=y
741 791
@@ -841,13 +891,13 @@ CONFIG_SND_PS3=m
841CONFIG_SND_PS3_DEFAULT_START_DELAY=2000 891CONFIG_SND_PS3_DEFAULT_START_DELAY=2000
842CONFIG_SND_USB=y 892CONFIG_SND_USB=y
843CONFIG_SND_USB_AUDIO=m 893CONFIG_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
848CONFIG_HID_SUPPORT=y 899CONFIG_HID_SUPPORT=y
849CONFIG_HID=y 900CONFIG_HID=y
850# CONFIG_HID_DEBUG is not set
851CONFIG_HIDRAW=y 901CONFIG_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
870CONFIG_HID_APPLE=m 921CONFIG_HID_APPLE=m
871CONFIG_HID_BELKIN=m 922CONFIG_HID_BELKIN=m
@@ -876,17 +927,24 @@ CONFIG_HID_CHERRY=m
876CONFIG_HID_EZKEY=m 927CONFIG_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
930CONFIG_HID_TWINHAN=m
879# CONFIG_HID_KENSINGTON is not set 931# CONFIG_HID_KENSINGTON is not set
880CONFIG_HID_LOGITECH=m 932CONFIG_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
883CONFIG_HID_MICROSOFT=m 937CONFIG_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
889CONFIG_HID_SONY=m 946CONFIG_HID_SONY=m
947# CONFIG_HID_STANTUM is not set
890CONFIG_HID_SUNPLUS=m 948CONFIG_HID_SUNPLUS=m
891# CONFIG_HID_GREENASIA is not set 949# CONFIG_HID_GREENASIA is not set
892CONFIG_HID_SMARTJOYPLUS=m 950CONFIG_HID_SMARTJOYPLUS=m
@@ -901,7 +959,7 @@ CONFIG_USB_ARCH_HAS_OHCI=y
901CONFIG_USB_ARCH_HAS_EHCI=y 959CONFIG_USB_ARCH_HAS_EHCI=y
902CONFIG_USB=m 960CONFIG_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 962CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
905 963
906# 964#
907# Miscellaneous USB options 965# Miscellaneous USB options
@@ -909,7 +967,6 @@ CONFIG_USB=m
909CONFIG_USB_DEVICEFS=y 967CONFIG_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
912CONFIG_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
924CONFIG_USB_EHCI_HCD=m 981CONFIG_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 983CONFIG_USB_EHCI_TT_NEWSCHED=y
927CONFIG_USB_EHCI_BIG_ENDIAN_MMIO=y 984CONFIG_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
932CONFIG_USB_OHCI_HCD=m 990CONFIG_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
1079CONFIG_EXT4_FS=y 1137CONFIG_EXT4_FS=y
1080# CONFIG_EXT4DEV_COMPAT is not set
1081CONFIG_EXT4_FS_XATTR=y 1138CONFIG_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
1084CONFIG_JBD=m 1142CONFIG_JBD=m
1085# CONFIG_JBD_DEBUG is not set 1143# CONFIG_JBD_DEBUG is not set
1086CONFIG_JBD2=y 1144CONFIG_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
1096CONFIG_FILE_LOCKING=y 1155CONFIG_FILE_LOCKING=y
1097CONFIG_FSNOTIFY=y 1156CONFIG_FSNOTIFY=y
1098CONFIG_DNOTIFY=y 1157CONFIG_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
1168CONFIG_NETWORK_FILESYSTEMS=y 1227CONFIG_NETWORK_FILESYSTEMS=y
1169CONFIG_NFS_FS=y 1228CONFIG_NFS_FS=y
1170CONFIG_NFS_V3=y 1229CONFIG_NFS_V3=y
@@ -1181,6 +1240,7 @@ CONFIG_SUNRPC_GSS=y
1181CONFIG_RPCSEC_GSS_KRB5=y 1240CONFIG_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
1184CONFIG_CIFS=m 1244CONFIG_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
1240CONFIG_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
1270CONFIG_ENABLE_MUST_CHECK=y 1330CONFIG_ENABLE_MUST_CHECK=y
1271CONFIG_FRAME_WARN=2048 1331CONFIG_FRAME_WARN=2048
1272CONFIG_MAGIC_SYSRQ=y 1332CONFIG_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
1274CONFIG_DEBUG_FS=y 1335CONFIG_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
1292CONFIG_DEBUG_MUTEXES=y 1353CONFIG_DEBUG_MUTEXES=y
1293CONFIG_DEBUG_LOCK_ALLOC=y 1354CONFIG_DEBUG_LOCK_ALLOC=y
1294CONFIG_PROVE_LOCKING=y 1355CONFIG_PROVE_LOCKING=y
1356# CONFIG_PROVE_RCU is not set
1295CONFIG_LOCKDEP=y 1357CONFIG_LOCKDEP=y
1296# CONFIG_LOCK_STAT is not set 1358# CONFIG_LOCK_STAT is not set
1297CONFIG_DEBUG_LOCKDEP=y 1359CONFIG_DEBUG_LOCKDEP=y
@@ -1308,26 +1370,27 @@ CONFIG_DEBUG_MEMORY_INIT=y
1308CONFIG_DEBUG_LIST=y 1370CONFIG_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
1317CONFIG_SYSCTL_SYSCALL_CHECK=y 1382CONFIG_SYSCTL_SYSCALL_CHECK=y
1318# CONFIG_DEBUG_PAGEALLOC is not set 1383# CONFIG_DEBUG_PAGEALLOC is not set
1319CONFIG_NOP_TRACER=y
1320CONFIG_HAVE_FUNCTION_TRACER=y 1384CONFIG_HAVE_FUNCTION_TRACER=y
1321CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y 1385CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
1322CONFIG_HAVE_DYNAMIC_FTRACE=y 1386CONFIG_HAVE_DYNAMIC_FTRACE=y
1323CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 1387CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1324CONFIG_RING_BUFFER=y 1388CONFIG_RING_BUFFER=y
1325CONFIG_EVENT_TRACING=y 1389CONFIG_RING_BUFFER_ALLOW_SWAP=y
1326CONFIG_CONTEXT_SWITCH_TRACER=y
1327CONFIG_TRACING=y
1328CONFIG_TRACING_SUPPORT=y 1390CONFIG_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
1332CONFIG_HAVE_ARCH_KGDB=y 1395CONFIG_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
1421CONFIG_DEFAULT_SECURITY_DAC=y
1422CONFIG_DEFAULT_SECURITY=""
1356CONFIG_CRYPTO=y 1423CONFIG_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
1362CONFIG_CRYPTO_ALGAPI=y 1428CONFIG_CRYPTO_ALGAPI=y
1363CONFIG_CRYPTO_ALGAPI2=y 1429CONFIG_CRYPTO_ALGAPI2=y
1364CONFIG_CRYPTO_AEAD=m 1430CONFIG_CRYPTO_AEAD=m
@@ -1374,6 +1440,7 @@ CONFIG_CRYPTO_MANAGER=y
1374CONFIG_CRYPTO_MANAGER2=y 1440CONFIG_CRYPTO_MANAGER2=y
1375CONFIG_CRYPTO_GF128MUL=m 1441CONFIG_CRYPTO_GF128MUL=m
1376# CONFIG_CRYPTO_NULL is not set 1442# CONFIG_CRYPTO_NULL is not set
1443# CONFIG_CRYPTO_PCRYPT is not set
1377CONFIG_CRYPTO_WORKQUEUE=y 1444CONFIG_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
1478CONFIG_CRYPTO_GHASH=m
1410# CONFIG_CRYPTO_MD4 is not set 1479# CONFIG_CRYPTO_MD4 is not set
1411CONFIG_CRYPTO_MD5=y 1480CONFIG_CRYPTO_MD5=y
1412CONFIG_CRYPTO_MICHAEL_MIC=m 1481CONFIG_CRYPTO_MICHAEL_MIC=m
diff --git a/arch/powerpc/configs/storcenter_defconfig b/arch/powerpc/configs/storcenter_defconfig
index f2f83216146..b1625801526 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,11 +94,6 @@ 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
96CONFIG_LOG_BUF_SHIFT=14 96CONFIG_LOG_BUF_SHIFT=14
97CONFIG_GROUP_SCHED=y
98CONFIG_FAIR_GROUP_SCHED=y
99# CONFIG_RT_GROUP_SCHED is not set
100CONFIG_USER_SCHED=y
101# CONFIG_CGROUP_SCHED is not set
102# CONFIG_CGROUPS is not set 97# CONFIG_CGROUPS is not set
103CONFIG_SYSFS_DEPRECATED=y 98CONFIG_SYSFS_DEPRECATED=y
104CONFIG_SYSFS_DEPRECATED_V2=y 99CONFIG_SYSFS_DEPRECATED_V2=y
@@ -314,6 +309,7 @@ CONFIG_ISA_DMA_API=y
314# Bus options 309# Bus options
315# 310#
316CONFIG_ZONE_DMA=y 311CONFIG_ZONE_DMA=y
312# CONFIG_NEED_DMA_MAP_STATE is not set
317CONFIG_GENERIC_ISA_DMA=y 313CONFIG_GENERIC_ISA_DMA=y
318CONFIG_PPC_INDIRECT_PCI=y 314CONFIG_PPC_INDIRECT_PCI=y
319CONFIG_FSL_SOC=y 315CONFIG_FSL_SOC=y
@@ -323,7 +319,6 @@ CONFIG_PCI_SYSCALL=y
323# CONFIG_PCIEPORTBUS is not set 319# CONFIG_PCIEPORTBUS is not set
324CONFIG_ARCH_SUPPORTS_MSI=y 320CONFIG_ARCH_SUPPORTS_MSI=y
325# CONFIG_PCI_MSI is not set 321# CONFIG_PCI_MSI is not set
326# CONFIG_PCI_LEGACY is not set
327# CONFIG_PCI_STUB is not set 322# CONFIG_PCI_STUB is not set
328# CONFIG_PCI_IOV is not set 323# CONFIG_PCI_IOV is not set
329# CONFIG_PCCARD is not set 324# CONFIG_PCCARD is not set
@@ -349,7 +344,6 @@ CONFIG_NET=y
349# Networking options 344# Networking options
350# 345#
351CONFIG_PACKET=m 346CONFIG_PACKET=m
352# CONFIG_PACKET_MMAP is not set
353CONFIG_UNIX=y 347CONFIG_UNIX=y
354# CONFIG_NET_KEY is not set 348# CONFIG_NET_KEY is not set
355CONFIG_INET=y 349CONFIG_INET=y
@@ -524,6 +518,8 @@ CONFIG_MTD_PHYSMAP=y
524# UBI - Unsorted block images 518# UBI - Unsorted block images
525# 519#
526# CONFIG_MTD_UBI is not set 520# CONFIG_MTD_UBI is not set
521CONFIG_OF_FLATTREE=y
522CONFIG_OF_DYNAMIC=y
527CONFIG_OF_DEVICE=y 523CONFIG_OF_DEVICE=y
528CONFIG_OF_I2C=y 524CONFIG_OF_I2C=y
529# CONFIG_PARPORT is not set 525# CONFIG_PARPORT is not set
@@ -555,6 +551,7 @@ CONFIG_MISC_DEVICES=y
555# CONFIG_ENCLOSURE_SERVICES is not set 551# CONFIG_ENCLOSURE_SERVICES is not set
556# CONFIG_HP_ILO is not set 552# CONFIG_HP_ILO is not set
557# CONFIG_ISL29003 is not set 553# CONFIG_ISL29003 is not set
554# CONFIG_SENSORS_TSL2550 is not set
558# CONFIG_DS1682 is not set 555# CONFIG_DS1682 is not set
559# CONFIG_C2PORT is not set 556# CONFIG_C2PORT is not set
560 557
@@ -626,6 +623,7 @@ CONFIG_BLK_DEV_IDEDMA=y
626# 623#
627# SCSI device support 624# SCSI device support
628# 625#
626CONFIG_SCSI_MOD=y
629# CONFIG_RAID_ATTRS is not set 627# CONFIG_RAID_ATTRS is not set
630CONFIG_SCSI=y 628CONFIG_SCSI=y
631CONFIG_SCSI_DMA=y 629CONFIG_SCSI_DMA=y
@@ -846,6 +844,7 @@ CONFIG_SERIAL_CORE=y
846CONFIG_SERIAL_CORE_CONSOLE=y 844CONFIG_SERIAL_CORE_CONSOLE=y
847# CONFIG_SERIAL_JSM is not set 845# CONFIG_SERIAL_JSM is not set
848# CONFIG_SERIAL_OF_PLATFORM is not set 846# CONFIG_SERIAL_OF_PLATFORM is not set
847# CONFIG_SERIAL_TIMBERDALE is not set
849# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set 848# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set
850CONFIG_UNIX98_PTYS=y 849CONFIG_UNIX98_PTYS=y
851# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set 850# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
@@ -895,6 +894,7 @@ CONFIG_I2C_HELPER_AUTO=y
895CONFIG_I2C_MPC=y 894CONFIG_I2C_MPC=y
896# CONFIG_I2C_OCORES is not set 895# CONFIG_I2C_OCORES is not set
897# CONFIG_I2C_SIMTEC is not set 896# CONFIG_I2C_SIMTEC is not set
897# CONFIG_I2C_XILINX is not set
898 898
899# 899#
900# External I2C/SMBus adapter drivers 900# External I2C/SMBus adapter drivers
@@ -908,15 +908,9 @@ CONFIG_I2C_MPC=y
908# 908#
909# CONFIG_I2C_PCA_PLATFORM is not set 909# CONFIG_I2C_PCA_PLATFORM is not set
910# CONFIG_I2C_STUB is not set 910# 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 911# CONFIG_I2C_DEBUG_CORE is not set
917# CONFIG_I2C_DEBUG_ALGO is not set 912# CONFIG_I2C_DEBUG_ALGO is not set
918# CONFIG_I2C_DEBUG_BUS is not set 913# CONFIG_I2C_DEBUG_BUS is not set
919# CONFIG_I2C_DEBUG_CHIP is not set
920# CONFIG_SPI is not set 914# CONFIG_SPI is not set
921 915
922# 916#
@@ -941,18 +935,21 @@ CONFIG_SSB_POSSIBLE=y
941# Multifunction device drivers 935# Multifunction device drivers
942# 936#
943# CONFIG_MFD_CORE is not set 937# CONFIG_MFD_CORE is not set
938# CONFIG_MFD_88PM860X is not set
944# CONFIG_MFD_SM501 is not set 939# CONFIG_MFD_SM501 is not set
945# CONFIG_HTC_PASIC3 is not set 940# CONFIG_HTC_PASIC3 is not set
946# CONFIG_TWL4030_CORE is not set 941# CONFIG_TWL4030_CORE is not set
947# CONFIG_MFD_TMIO is not set 942# CONFIG_MFD_TMIO is not set
948# CONFIG_PMIC_DA903X is not set 943# CONFIG_PMIC_DA903X is not set
949# CONFIG_PMIC_ADP5520 is not set 944# CONFIG_PMIC_ADP5520 is not set
945# CONFIG_MFD_MAX8925 is not set
950# CONFIG_MFD_WM8400 is not set 946# CONFIG_MFD_WM8400 is not set
951# CONFIG_MFD_WM831X is not set 947# CONFIG_MFD_WM831X is not set
952# CONFIG_MFD_WM8350_I2C is not set 948# CONFIG_MFD_WM8350_I2C is not set
949# CONFIG_MFD_WM8994 is not set
953# CONFIG_MFD_PCF50633 is not set 950# CONFIG_MFD_PCF50633 is not set
954# CONFIG_AB3100_CORE is not set 951# CONFIG_AB3100_CORE is not set
955# CONFIG_MFD_88PM8607 is not set 952# CONFIG_LPC_SCH is not set
956# CONFIG_REGULATOR is not set 953# CONFIG_REGULATOR is not set
957# CONFIG_MEDIA_SUPPORT is not set 954# CONFIG_MEDIA_SUPPORT is not set
958 955
@@ -961,6 +958,7 @@ CONFIG_SSB_POSSIBLE=y
961# 958#
962# CONFIG_AGP is not set 959# CONFIG_AGP is not set
963CONFIG_VGA_ARB=y 960CONFIG_VGA_ARB=y
961CONFIG_VGA_ARB_MAX_GPUS=16
964# CONFIG_DRM is not set 962# CONFIG_DRM is not set
965# CONFIG_VGASTATE is not set 963# CONFIG_VGASTATE is not set
966# CONFIG_VIDEO_OUTPUT_CONTROL is not set 964# CONFIG_VIDEO_OUTPUT_CONTROL is not set
@@ -1071,7 +1069,6 @@ CONFIG_USB_STORAGE=y
1071# CONFIG_USB_RIO500 is not set 1069# CONFIG_USB_RIO500 is not set
1072# CONFIG_USB_LEGOTOWER is not set 1070# CONFIG_USB_LEGOTOWER is not set
1073# CONFIG_USB_LCD is not set 1071# CONFIG_USB_LCD is not set
1074# CONFIG_USB_BERRY_CHARGE is not set
1075# CONFIG_USB_LED is not set 1072# CONFIG_USB_LED is not set
1076# CONFIG_USB_CYPRESS_CY7C63 is not set 1073# CONFIG_USB_CYPRESS_CY7C63 is not set
1077# CONFIG_USB_CYTHERM is not set 1074# CONFIG_USB_CYTHERM is not set
@@ -1084,7 +1081,6 @@ CONFIG_USB_STORAGE=y
1084# CONFIG_USB_IOWARRIOR is not set 1081# CONFIG_USB_IOWARRIOR is not set
1085# CONFIG_USB_TEST is not set 1082# CONFIG_USB_TEST is not set
1086# CONFIG_USB_ISIGHTFW is not set 1083# CONFIG_USB_ISIGHTFW is not set
1087# CONFIG_USB_VST is not set
1088# CONFIG_USB_GADGET is not set 1084# CONFIG_USB_GADGET is not set
1089 1085
1090# 1086#
@@ -1251,6 +1247,7 @@ CONFIG_JFFS2_ZLIB=y
1251# CONFIG_JFFS2_LZO is not set 1247# CONFIG_JFFS2_LZO is not set
1252CONFIG_JFFS2_RTIME=y 1248CONFIG_JFFS2_RTIME=y
1253# CONFIG_JFFS2_RUBIN is not set 1249# CONFIG_JFFS2_RUBIN is not set
1250# CONFIG_LOGFS is not set
1254# CONFIG_CRAMFS is not set 1251# CONFIG_CRAMFS is not set
1255# CONFIG_SQUASHFS is not set 1252# CONFIG_SQUASHFS is not set
1256# CONFIG_VXFS_FS is not set 1253# CONFIG_VXFS_FS is not set
diff --git a/arch/powerpc/include/asm/hw_irq.h b/arch/powerpc/include/asm/hw_irq.h
index 9f4c9d4f580..bd100fcf40d 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 */
131struct irq_chip; 131struct irq_chip;
132 132
133#ifdef CONFIG_PERF_EVENTS
134
135#ifdef CONFIG_PPC64
136static 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
146static 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
153static 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
163static inline unsigned long test_perf_event_pending(void)
164{
165 return 0;
166}
167
168static 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/page.h b/arch/powerpc/include/asm/page.h
index e96d52a516b..53b64be40eb 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/kernel/asm-offsets.c b/arch/powerpc/kernel/asm-offsets.c
index 957ceb7059c..c09138d150d 100644
--- a/arch/powerpc/kernel/asm-offsets.c
+++ b/arch/powerpc/kernel/asm-offsets.c
@@ -133,7 +133,6 @@ int main(void)
133 DEFINE(PACAKMSR, offsetof(struct paca_struct, kernel_msr)); 133 DEFINE(PACAKMSR, offsetof(struct paca_struct, kernel_msr));
134 DEFINE(PACASOFTIRQEN, offsetof(struct paca_struct, soft_enabled)); 134 DEFINE(PACASOFTIRQEN, offsetof(struct paca_struct, soft_enabled));
135 DEFINE(PACAHARDIRQEN, offsetof(struct paca_struct, hard_enabled)); 135 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)); 136 DEFINE(PACACONTEXTID, offsetof(struct paca_struct, context.id));
138#ifdef CONFIG_PPC_MM_SLICES 137#ifdef CONFIG_PPC_MM_SLICES
139 DEFINE(PACALOWSLICESPSIZE, offsetof(struct paca_struct, 138 DEFINE(PACALOWSLICESPSIZE, offsetof(struct paca_struct,
diff --git a/arch/powerpc/kernel/dma-swiotlb.c b/arch/powerpc/kernel/dma-swiotlb.c
index 59c928564a0..4ff4da2c238 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
@@ -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) < lmb_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/entry_64.S b/arch/powerpc/kernel/entry_64.S
index 07109d84378..42e9d908914 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)
5562: 5562:
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
56527:
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/irq.c b/arch/powerpc/kernel/irq.c
index 64f6f2031c2..066bd31551d 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
diff --git a/arch/powerpc/kernel/perf_event.c b/arch/powerpc/kernel/perf_event.c
index 08460a2e9f4..43b83c35cf5 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};
39DEFINE_PER_CPU(struct cpu_hw_events, cpu_hw_events); 42DEFINE_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
721static 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 */
736int 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
766nocheck:
814 ++cpuhw->n_events; 767 ++cpuhw->n_events;
815 ++cpuhw->n_added; 768 ++cpuhw->n_added;
816 769
@@ -896,11 +849,65 @@ static void power_pmu_unthrottle(struct perf_event *event)
896 local_irq_restore(flags); 849 local_irq_restore(flags);
897} 850}
898 851
852/*
853 * Start group events scheduling transaction
854 * Set the flag to make pmu::enable() not perform the
855 * schedulability test, it will be performed at commit time
856 */
857void power_pmu_start_txn(const struct pmu *pmu)
858{
859 struct cpu_hw_events *cpuhw = &__get_cpu_var(cpu_hw_events);
860
861 cpuhw->group_flag |= PERF_EVENT_TXN_STARTED;
862 cpuhw->n_txn_start = cpuhw->n_events;
863}
864
865/*
866 * Stop group events scheduling transaction
867 * Clear the flag and pmu::enable() will perform the
868 * schedulability test.
869 */
870void power_pmu_cancel_txn(const struct pmu *pmu)
871{
872 struct cpu_hw_events *cpuhw = &__get_cpu_var(cpu_hw_events);
873
874 cpuhw->group_flag &= ~PERF_EVENT_TXN_STARTED;
875}
876
877/*
878 * Commit group events scheduling transaction
879 * Perform the group schedulability test as a whole
880 * Return 0 if success
881 */
882int power_pmu_commit_txn(const struct pmu *pmu)
883{
884 struct cpu_hw_events *cpuhw;
885 long i, n;
886
887 if (!ppmu)
888 return -EAGAIN;
889 cpuhw = &__get_cpu_var(cpu_hw_events);
890 n = cpuhw->n_events;
891 if (check_excludes(cpuhw->event, cpuhw->flags, 0, n))
892 return -EAGAIN;
893 i = power_check_constraints(cpuhw, cpuhw->events, cpuhw->flags, n);
894 if (i < 0)
895 return -EAGAIN;
896
897 for (i = cpuhw->n_txn_start; i < n; ++i)
898 cpuhw->event[i]->hw.config = cpuhw->events[i];
899
900 return 0;
901}
902
899struct pmu power_pmu = { 903struct pmu power_pmu = {
900 .enable = power_pmu_enable, 904 .enable = power_pmu_enable,
901 .disable = power_pmu_disable, 905 .disable = power_pmu_disable,
902 .read = power_pmu_read, 906 .read = power_pmu_read,
903 .unthrottle = power_pmu_unthrottle, 907 .unthrottle = power_pmu_unthrottle,
908 .start_txn = power_pmu_start_txn,
909 .cancel_txn = power_pmu_cancel_txn,
910 .commit_txn = power_pmu_commit_txn,
904}; 911};
905 912
906/* 913/*
diff --git a/arch/powerpc/kernel/prom_init.c b/arch/powerpc/kernel/prom_init.c
index 5f306c4946e..97d4bd9442d 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,
diff --git a/arch/powerpc/kernel/time.c b/arch/powerpc/kernel/time.c
index 1b16b9a3e49..0441bbdadbd 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
536DEFINE_PER_CPU(u8, perf_event_pending);
537 536
538void 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
541static 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
551static 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
558static 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
567DEFINE_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
575void 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/kvm/44x_tlb.c b/arch/powerpc/kvm/44x_tlb.c
index 2570fcc7665..812312542e5 100644
--- a/arch/powerpc/kvm/44x_tlb.c
+++ b/arch/powerpc/kvm/44x_tlb.c
@@ -440,7 +440,7 @@ int kvmppc_44x_emul_tlbwe(struct kvm_vcpu *vcpu, u8 ra, u8 rs, u8 ws)
440 unsigned int gtlb_index; 440 unsigned int gtlb_index;
441 441
442 gtlb_index = kvmppc_get_gpr(vcpu, ra); 442 gtlb_index = kvmppc_get_gpr(vcpu, ra);
443 if (gtlb_index > KVM44x_GUEST_TLB_SIZE) { 443 if (gtlb_index >= KVM44x_GUEST_TLB_SIZE) {
444 printk("%s: index %d\n", __func__, gtlb_index); 444 printk("%s: index %d\n", __func__, gtlb_index);
445 kvmppc_dump_vcpu(vcpu); 445 kvmppc_dump_vcpu(vcpu);
446 return EMULATE_FAIL; 446 return EMULATE_FAIL;
diff --git a/arch/powerpc/mm/fsl_booke_mmu.c b/arch/powerpc/mm/fsl_booke_mmu.c
index c5394728bf2..1ed6b52f303 100644
--- a/arch/powerpc/mm/fsl_booke_mmu.c
+++ b/arch/powerpc/mm/fsl_booke_mmu.c
@@ -116,7 +116,7 @@ void loadcam_entry(int idx)
116 mtspr(SPRN_MAS2, TLBCAM[idx].MAS2); 116 mtspr(SPRN_MAS2, TLBCAM[idx].MAS2);
117 mtspr(SPRN_MAS3, TLBCAM[idx].MAS3); 117 mtspr(SPRN_MAS3, TLBCAM[idx].MAS3);
118 118
119 if (cur_cpu_spec->cpu_features & MMU_FTR_BIG_PHYS) 119 if (mmu_has_feature(MMU_FTR_BIG_PHYS))
120 mtspr(SPRN_MAS7, TLBCAM[idx].MAS7); 120 mtspr(SPRN_MAS7, TLBCAM[idx].MAS7);
121 121
122 asm volatile("isync;tlbwe;isync" : : : "memory"); 122 asm volatile("isync;tlbwe;isync" : : : "memory");
@@ -152,18 +152,13 @@ static void settlbcam(int index, unsigned long virt, phys_addr_t phys,
152 152
153 TLBCAM[index].MAS3 = (phys & MAS3_RPN) | MAS3_SX | MAS3_SR; 153 TLBCAM[index].MAS3 = (phys & MAS3_RPN) | MAS3_SX | MAS3_SR;
154 TLBCAM[index].MAS3 |= ((flags & _PAGE_RW) ? MAS3_SW : 0); 154 TLBCAM[index].MAS3 |= ((flags & _PAGE_RW) ? MAS3_SW : 0);
155 if (cur_cpu_spec->cpu_features & MMU_FTR_BIG_PHYS) 155 if (mmu_has_feature(MMU_FTR_BIG_PHYS))
156 TLBCAM[index].MAS7 = (u64)phys >> 32; 156 TLBCAM[index].MAS7 = (u64)phys >> 32;
157 157
158#ifndef CONFIG_KGDB /* want user access for breakpoints */
159 if (flags & _PAGE_USER) { 158 if (flags & _PAGE_USER) {
160 TLBCAM[index].MAS3 |= MAS3_UX | MAS3_UR; 159 TLBCAM[index].MAS3 |= MAS3_UX | MAS3_UR;
161 TLBCAM[index].MAS3 |= ((flags & _PAGE_RW) ? MAS3_UW : 0); 160 TLBCAM[index].MAS3 |= ((flags & _PAGE_RW) ? MAS3_UW : 0);
162 } 161 }
163#else
164 TLBCAM[index].MAS3 |= MAS3_UX | MAS3_UR;
165 TLBCAM[index].MAS3 |= ((flags & _PAGE_RW) ? MAS3_UW : 0);
166#endif
167 162
168 tlbcam_addrs[index].start = virt; 163 tlbcam_addrs[index].start = virt;
169 tlbcam_addrs[index].limit = virt + size - 1; 164 tlbcam_addrs[index].limit = virt + size - 1;
diff --git a/arch/powerpc/mm/numa.c b/arch/powerpc/mm/numa.c
index 64c00227b99..eaa7633515b 100644
--- a/arch/powerpc/mm/numa.c
+++ b/arch/powerpc/mm/numa.c
@@ -242,10 +242,11 @@ EXPORT_SYMBOL_GPL(of_node_to_nid);
242 */ 242 */
243static int __init find_min_common_depth(void) 243static int __init find_min_common_depth(void)
244{ 244{
245 int depth; 245 int depth, index;
246 const unsigned int *ref_points; 246 const unsigned int *ref_points;
247 struct device_node *rtas_root; 247 struct device_node *rtas_root;
248 unsigned int len; 248 unsigned int len;
249 struct device_node *options;
249 250
250 rtas_root = of_find_node_by_path("/rtas"); 251 rtas_root = of_find_node_by_path("/rtas");
251 252
@@ -258,11 +259,23 @@ static int __init find_min_common_depth(void)
258 * configuration (should be all 0's) and the second is for a normal 259 * configuration (should be all 0's) and the second is for a normal
259 * NUMA configuration. 260 * NUMA configuration.
260 */ 261 */
262 index = 1;
261 ref_points = of_get_property(rtas_root, 263 ref_points = of_get_property(rtas_root,
262 "ibm,associativity-reference-points", &len); 264 "ibm,associativity-reference-points", &len);
263 265
266 /*
267 * For type 1 affinity information we want the first field
268 */
269 options = of_find_node_by_path("/options");
270 if (options) {
271 const char *str;
272 str = of_get_property(options, "ibm,associativity-form", NULL);
273 if (str && !strcmp(str, "1"))
274 index = 0;
275 }
276
264 if ((len >= 2 * sizeof(unsigned int)) && ref_points) { 277 if ((len >= 2 * sizeof(unsigned int)) && ref_points) {
265 depth = ref_points[1]; 278 depth = ref_points[index];
266 } else { 279 } else {
267 dbg("NUMA: ibm,associativity-reference-points not found.\n"); 280 dbg("NUMA: ibm,associativity-reference-points not found.\n");
268 depth = -1; 281 depth = -1;
diff --git a/arch/powerpc/platforms/85xx/Kconfig b/arch/powerpc/platforms/85xx/Kconfig
index d95121894eb..3a2ade2e443 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/86xx/Kconfig b/arch/powerpc/platforms/86xx/Kconfig
index fbe9f362142..a0b5638c5dc 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
28config MPC8610_HPCD 28config 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/pseries/hotplug-memory.c b/arch/powerpc/platforms/pseries/hotplug-memory.c
index 9b21ee68ea5..01e7b5bb3c1 100644
--- a/arch/powerpc/platforms/pseries/hotplug-memory.c
+++ b/arch/powerpc/platforms/pseries/hotplug-memory.c
@@ -11,6 +11,7 @@
11 11
12#include <linux/of.h> 12#include <linux/of.h>
13#include <linux/lmb.h> 13#include <linux/lmb.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>
@@ -54,6 +55,12 @@ static int pseries_remove_lmb(unsigned long base, unsigned int lmb_size)
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 + lmb_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
diff --git a/arch/powerpc/sysdev/cpm1.c b/arch/powerpc/sysdev/cpm1.c
index 4dae3698bf2..8d103ca6d6a 100644
--- a/arch/powerpc/sysdev/cpm1.c
+++ b/arch/powerpc/sysdev/cpm1.c
@@ -486,9 +486,6 @@ int cpm1_clk_setup(enum cpm_clk_target target, int clock, int mode)
486 return -EINVAL; 486 return -EINVAL;
487 } 487 }
488 488
489 if (reg == &mpc8xx_immr->im_cpm.cp_sicr && mode == CPM_CLK_RX)
490 shift += 3;
491
492 for (i = 0; i < ARRAY_SIZE(clk_map); i++) { 489 for (i = 0; i < ARRAY_SIZE(clk_map); i++) {
493 if (clk_map[i][0] == target && clk_map[i][1] == clock) { 490 if (clk_map[i][0] == target && clk_map[i][1] == clock) {
494 bits = clk_map[i][2]; 491 bits = clk_map[i][2];
@@ -503,6 +500,17 @@ int cpm1_clk_setup(enum cpm_clk_target target, int clock, int mode)
503 500
504 bits <<= shift; 501 bits <<= shift;
505 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
506 out_be32(reg, (in_be32(reg) & ~mask) | bits); 514 out_be32(reg, (in_be32(reg) & ~mask) | bits);
507 515
508 return 0; 516 return 0;
diff --git a/arch/powerpc/sysdev/cpm2.c b/arch/powerpc/sysdev/cpm2.c
index eb5927212fa..8dc1e24f3c2 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/s390/kernel/head31.S b/arch/s390/kernel/head31.S
index 1bbcc499d45..b8f8dc12610 100644
--- a/arch/s390/kernel/head31.S
+++ b/arch/s390/kernel/head31.S
@@ -82,7 +82,7 @@ startup_continue:
82_ehead: 82_ehead:
83 83
84#ifdef CONFIG_SHARED_KERNEL 84#ifdef CONFIG_SHARED_KERNEL
85 .org 0x100000 85 .org 0x100000 - 0x11000 # head.o ends at 0x11000
86#endif 86#endif
87 87
88# 88#
diff --git a/arch/s390/kernel/head64.S b/arch/s390/kernel/head64.S
index 1f70970de0a..cdef6871741 100644
--- a/arch/s390/kernel/head64.S
+++ b/arch/s390/kernel/head64.S
@@ -80,7 +80,7 @@ startup_continue:
80_ehead: 80_ehead:
81 81
82#ifdef CONFIG_SHARED_KERNEL 82#ifdef CONFIG_SHARED_KERNEL
83 .org 0x100000 83 .org 0x100000 - 0x11000 # head.o ends at 0x11000
84#endif 84#endif
85 85
86# 86#
diff --git a/arch/s390/kernel/ptrace.c b/arch/s390/kernel/ptrace.c
index 33fdc5a7976..9f654da4cec 100644
--- a/arch/s390/kernel/ptrace.c
+++ b/arch/s390/kernel/ptrace.c
@@ -640,7 +640,7 @@ long compat_arch_ptrace(struct task_struct *child, compat_long_t request,
640 640
641asmlinkage long do_syscall_trace_enter(struct pt_regs *regs) 641asmlinkage long do_syscall_trace_enter(struct pt_regs *regs)
642{ 642{
643 long ret; 643 long ret = 0;
644 644
645 /* Do the secure computing check first. */ 645 /* Do the secure computing check first. */
646 secure_computing(regs->gprs[2]); 646 secure_computing(regs->gprs[2]);
@@ -649,7 +649,6 @@ asmlinkage long do_syscall_trace_enter(struct pt_regs *regs)
649 * The sysc_tracesys code in entry.S stored the system 649 * The sysc_tracesys code in entry.S stored the system
650 * call number to gprs[2]. 650 * call number to gprs[2].
651 */ 651 */
652 ret = regs->gprs[2];
653 if (test_thread_flag(TIF_SYSCALL_TRACE) && 652 if (test_thread_flag(TIF_SYSCALL_TRACE) &&
654 (tracehook_report_syscall_entry(regs) || 653 (tracehook_report_syscall_entry(regs) ||
655 regs->gprs[2] >= NR_syscalls)) { 654 regs->gprs[2] >= NR_syscalls)) {
@@ -671,7 +670,7 @@ asmlinkage long do_syscall_trace_enter(struct pt_regs *regs)
671 regs->gprs[2], regs->orig_gpr2, 670 regs->gprs[2], regs->orig_gpr2,
672 regs->gprs[3], regs->gprs[4], 671 regs->gprs[3], regs->gprs[4],
673 regs->gprs[5]); 672 regs->gprs[5]);
674 return ret; 673 return ret ?: regs->gprs[2];
675} 674}
676 675
677asmlinkage void do_syscall_trace_exit(struct pt_regs *regs) 676asmlinkage void do_syscall_trace_exit(struct pt_regs *regs)
diff --git a/arch/s390/kernel/time.c b/arch/s390/kernel/time.c
index d906bf19c14..a2163c95eb9 100644
--- a/arch/s390/kernel/time.c
+++ b/arch/s390/kernel/time.c
@@ -391,7 +391,6 @@ static void __init time_init_wq(void)
391 if (time_sync_wq) 391 if (time_sync_wq)
392 return; 392 return;
393 time_sync_wq = create_singlethread_workqueue("timesync"); 393 time_sync_wq = create_singlethread_workqueue("timesync");
394 stop_machine_create();
395} 394}
396 395
397/* 396/*
diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig
index 8d90564c2bc..e6d8ab5cfa9 100644
--- a/arch/sh/Kconfig
+++ b/arch/sh/Kconfig
@@ -44,6 +44,7 @@ config SUPERH32
44 select HAVE_FUNCTION_GRAPH_TRACER 44 select HAVE_FUNCTION_GRAPH_TRACER
45 select HAVE_ARCH_KGDB 45 select HAVE_ARCH_KGDB
46 select HAVE_HW_BREAKPOINT 46 select HAVE_HW_BREAKPOINT
47 select HAVE_MIXED_BREAKPOINTS_REGS
47 select PERF_EVENTS if HAVE_HW_BREAKPOINT 48 select PERF_EVENTS if HAVE_HW_BREAKPOINT
48 select ARCH_HIBERNATION_POSSIBLE if MMU 49 select ARCH_HIBERNATION_POSSIBLE if MMU
49 50
diff --git a/arch/sh/configs/rts7751r2d1_defconfig b/arch/sh/configs/rts7751r2d1_defconfig
index fba1f62d56e..dba024d72a8 100644
--- a/arch/sh/configs/rts7751r2d1_defconfig
+++ b/arch/sh/configs/rts7751r2d1_defconfig
@@ -877,7 +877,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4
877# 877#
878# CONFIG_SERIAL_MAX3100 is not set 878# CONFIG_SERIAL_MAX3100 is not set
879CONFIG_SERIAL_SH_SCI=y 879CONFIG_SERIAL_SH_SCI=y
880CONFIG_SERIAL_SH_SCI_NR_UARTS=1 880CONFIG_SERIAL_SH_SCI_NR_UARTS=2
881CONFIG_SERIAL_SH_SCI_CONSOLE=y 881CONFIG_SERIAL_SH_SCI_CONSOLE=y
882CONFIG_SERIAL_CORE=y 882CONFIG_SERIAL_CORE=y
883CONFIG_SERIAL_CORE_CONSOLE=y 883CONFIG_SERIAL_CORE_CONSOLE=y
diff --git a/arch/sh/configs/rts7751r2dplus_defconfig b/arch/sh/configs/rts7751r2dplus_defconfig
index a8d538f06e6..6d511d06cbf 100644
--- a/arch/sh/configs/rts7751r2dplus_defconfig
+++ b/arch/sh/configs/rts7751r2dplus_defconfig
@@ -963,7 +963,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4
963# 963#
964# CONFIG_SERIAL_MAX3100 is not set 964# CONFIG_SERIAL_MAX3100 is not set
965CONFIG_SERIAL_SH_SCI=y 965CONFIG_SERIAL_SH_SCI=y
966CONFIG_SERIAL_SH_SCI_NR_UARTS=1 966CONFIG_SERIAL_SH_SCI_NR_UARTS=2
967CONFIG_SERIAL_SH_SCI_CONSOLE=y 967CONFIG_SERIAL_SH_SCI_CONSOLE=y
968CONFIG_SERIAL_CORE=y 968CONFIG_SERIAL_CORE=y
969CONFIG_SERIAL_CORE_CONSOLE=y 969CONFIG_SERIAL_CORE_CONSOLE=y
diff --git a/arch/sh/drivers/pci/pci-sh7751.c b/arch/sh/drivers/pci/pci-sh7751.c
index 17811e5d287..f98141b3b7d 100644
--- a/arch/sh/drivers/pci/pci-sh7751.c
+++ b/arch/sh/drivers/pci/pci-sh7751.c
@@ -17,6 +17,7 @@
17#include <linux/io.h> 17#include <linux/io.h>
18#include "pci-sh4.h" 18#include "pci-sh4.h"
19#include <asm/addrspace.h> 19#include <asm/addrspace.h>
20#include <asm/sizes.h>
20 21
21static int __init __area_sdram_check(struct pci_channel *chan, 22static int __init __area_sdram_check(struct pci_channel *chan,
22 unsigned int area) 23 unsigned int area)
@@ -47,8 +48,8 @@ static int __init __area_sdram_check(struct pci_channel *chan,
47static struct resource sh7751_pci_resources[] = { 48static struct resource sh7751_pci_resources[] = {
48 { 49 {
49 .name = "SH7751_IO", 50 .name = "SH7751_IO",
50 .start = SH7751_PCI_IO_BASE, 51 .start = 0x1000,
51 .end = SH7751_PCI_IO_BASE + SH7751_PCI_IO_SIZE - 1, 52 .end = SZ_4M - 1,
52 .flags = IORESOURCE_IO 53 .flags = IORESOURCE_IO
53 }, { 54 }, {
54 .name = "SH7751_mem", 55 .name = "SH7751_mem",
diff --git a/arch/sh/include/asm/atomic.h b/arch/sh/include/asm/atomic.h
index 275a448ae8c..c7983124d99 100644
--- a/arch/sh/include/asm/atomic.h
+++ b/arch/sh/include/asm/atomic.h
@@ -13,7 +13,7 @@
13 13
14#define ATOMIC_INIT(i) ( (atomic_t) { (i) } ) 14#define ATOMIC_INIT(i) ( (atomic_t) { (i) } )
15 15
16#define atomic_read(v) ((v)->counter) 16#define atomic_read(v) (*(volatile int *)&(v)->counter)
17#define atomic_set(v,i) ((v)->counter = (i)) 17#define atomic_set(v,i) ((v)->counter = (i))
18 18
19#if defined(CONFIG_GUSA_RB) 19#if defined(CONFIG_GUSA_RB)
diff --git a/arch/sh/include/asm/hw_breakpoint.h b/arch/sh/include/asm/hw_breakpoint.h
index 965dd780d51..e14cad96798 100644
--- a/arch/sh/include/asm/hw_breakpoint.h
+++ b/arch/sh/include/asm/hw_breakpoint.h
@@ -46,10 +46,14 @@ struct pmu;
46/* Maximum number of UBC channels */ 46/* Maximum number of UBC channels */
47#define HBP_NUM 2 47#define HBP_NUM 2
48 48
49static inline int hw_breakpoint_slots(int type)
50{
51 return HBP_NUM;
52}
53
49/* arch/sh/kernel/hw_breakpoint.c */ 54/* arch/sh/kernel/hw_breakpoint.c */
50extern int arch_check_va_in_userspace(unsigned long va, u16 hbp_len); 55extern int arch_check_bp_in_kernelspace(struct perf_event *bp);
51extern int arch_validate_hwbkpt_settings(struct perf_event *bp, 56extern int arch_validate_hwbkpt_settings(struct perf_event *bp);
52 struct task_struct *tsk);
53extern int hw_breakpoint_exceptions_notify(struct notifier_block *unused, 57extern int hw_breakpoint_exceptions_notify(struct notifier_block *unused,
54 unsigned long val, void *data); 58 unsigned long val, void *data);
55 59
diff --git a/arch/sh/include/cpu-sh4/cpu/dma-register.h b/arch/sh/include/cpu-sh4/cpu/dma-register.h
index 55f9fec082d..de235953399 100644
--- a/arch/sh/include/cpu-sh4/cpu/dma-register.h
+++ b/arch/sh/include/cpu-sh4/cpu/dma-register.h
@@ -76,7 +76,7 @@ enum {
76} 76}
77 77
78#define TS_INDEX2VAL(i) ((((i) & 3) << CHCR_TS_LOW_SHIFT) | \ 78#define TS_INDEX2VAL(i) ((((i) & 3) << CHCR_TS_LOW_SHIFT) | \
79 ((((i) >> 2) & 3) << CHCR_TS_HIGH_SHIFT)) 79 (((i) & 0xc) << CHCR_TS_HIGH_SHIFT))
80 80
81#else /* CONFIG_CPU_SH4A */ 81#else /* CONFIG_CPU_SH4A */
82 82
diff --git a/arch/sh/kernel/hw_breakpoint.c b/arch/sh/kernel/hw_breakpoint.c
index 675eea7785d..1f2cf622986 100644
--- a/arch/sh/kernel/hw_breakpoint.c
+++ b/arch/sh/kernel/hw_breakpoint.c
@@ -120,25 +120,16 @@ static int get_hbp_len(u16 hbp_len)
120} 120}
121 121
122/* 122/*
123 * Check for virtual address in user space.
124 */
125int arch_check_va_in_userspace(unsigned long va, u16 hbp_len)
126{
127 unsigned int len;
128
129 len = get_hbp_len(hbp_len);
130
131 return (va <= TASK_SIZE - len);
132}
133
134/*
135 * Check for virtual address in kernel space. 123 * Check for virtual address in kernel space.
136 */ 124 */
137static int arch_check_va_in_kernelspace(unsigned long va, u8 hbp_len) 125int arch_check_bp_in_kernelspace(struct perf_event *bp)
138{ 126{
139 unsigned int len; 127 unsigned int len;
128 unsigned long va;
129 struct arch_hw_breakpoint *info = counter_arch_bp(bp);
140 130
141 len = get_hbp_len(hbp_len); 131 va = info->address;
132 len = get_hbp_len(info->len);
142 133
143 return (va >= TASK_SIZE) && ((va + len - 1) >= TASK_SIZE); 134 return (va >= TASK_SIZE) && ((va + len - 1) >= TASK_SIZE);
144} 135}
@@ -226,8 +217,7 @@ static int arch_build_bp_info(struct perf_event *bp)
226/* 217/*
227 * Validate the arch-specific HW Breakpoint register settings 218 * Validate the arch-specific HW Breakpoint register settings
228 */ 219 */
229int arch_validate_hwbkpt_settings(struct perf_event *bp, 220int arch_validate_hwbkpt_settings(struct perf_event *bp)
230 struct task_struct *tsk)
231{ 221{
232 struct arch_hw_breakpoint *info = counter_arch_bp(bp); 222 struct arch_hw_breakpoint *info = counter_arch_bp(bp);
233 unsigned int align; 223 unsigned int align;
@@ -270,15 +260,6 @@ int arch_validate_hwbkpt_settings(struct perf_event *bp,
270 if (info->address & align) 260 if (info->address & align)
271 return -EINVAL; 261 return -EINVAL;
272 262
273 /* Check that the virtual address is in the proper range */
274 if (tsk) {
275 if (!arch_check_va_in_userspace(info->address, info->len))
276 return -EFAULT;
277 } else {
278 if (!arch_check_va_in_kernelspace(info->address, info->len))
279 return -EFAULT;
280 }
281
282 return 0; 263 return 0;
283} 264}
284 265
@@ -363,8 +344,7 @@ static int __kprobes hw_breakpoint_handler(struct die_args *args)
363 perf_bp_event(bp, args->regs); 344 perf_bp_event(bp, args->regs);
364 345
365 /* Deliver the signal to userspace */ 346 /* Deliver the signal to userspace */
366 if (arch_check_va_in_userspace(bp->attr.bp_addr, 347 if (!arch_check_bp_in_kernelspace(bp)) {
367 bp->attr.bp_len)) {
368 siginfo_t info; 348 siginfo_t info;
369 349
370 info.si_signo = args->signr; 350 info.si_signo = args->signr;
diff --git a/arch/sh/kernel/ptrace_32.c b/arch/sh/kernel/ptrace_32.c
index 7759a9a9321..d4104ce9fe5 100644
--- a/arch/sh/kernel/ptrace_32.c
+++ b/arch/sh/kernel/ptrace_32.c
@@ -85,7 +85,7 @@ static int set_single_step(struct task_struct *tsk, unsigned long addr)
85 85
86 bp = thread->ptrace_bps[0]; 86 bp = thread->ptrace_bps[0];
87 if (!bp) { 87 if (!bp) {
88 hw_breakpoint_init(&attr); 88 ptrace_breakpoint_init(&attr);
89 89
90 attr.bp_addr = addr; 90 attr.bp_addr = addr;
91 attr.bp_len = HW_BREAKPOINT_LEN_2; 91 attr.bp_len = HW_BREAKPOINT_LEN_2;
diff --git a/arch/sparc/include/asm/atomic_32.h b/arch/sparc/include/asm/atomic_32.h
index f0d343c3b95..7ae128b19d3 100644
--- a/arch/sparc/include/asm/atomic_32.h
+++ b/arch/sparc/include/asm/atomic_32.h
@@ -25,7 +25,7 @@ extern int atomic_cmpxchg(atomic_t *, int, int);
25extern int atomic_add_unless(atomic_t *, int, int); 25extern int atomic_add_unless(atomic_t *, int, int);
26extern void atomic_set(atomic_t *, int); 26extern void atomic_set(atomic_t *, int);
27 27
28#define atomic_read(v) ((v)->counter) 28#define atomic_read(v) (*(volatile int *)&(v)->counter)
29 29
30#define atomic_add(i, v) ((void)__atomic_add_return( (int)(i), (v))) 30#define atomic_add(i, v) ((void)__atomic_add_return( (int)(i), (v)))
31#define atomic_sub(i, v) ((void)__atomic_add_return(-(int)(i), (v))) 31#define atomic_sub(i, v) ((void)__atomic_add_return(-(int)(i), (v)))
diff --git a/arch/sparc/include/asm/atomic_64.h b/arch/sparc/include/asm/atomic_64.h
index f2e48009989..2050ca02c42 100644
--- a/arch/sparc/include/asm/atomic_64.h
+++ b/arch/sparc/include/asm/atomic_64.h
@@ -13,8 +13,8 @@
13#define ATOMIC_INIT(i) { (i) } 13#define ATOMIC_INIT(i) { (i) }
14#define ATOMIC64_INIT(i) { (i) } 14#define ATOMIC64_INIT(i) { (i) }
15 15
16#define atomic_read(v) ((v)->counter) 16#define atomic_read(v) (*(volatile int *)&(v)->counter)
17#define atomic64_read(v) ((v)->counter) 17#define atomic64_read(v) (*(volatile long *)&(v)->counter)
18 18
19#define atomic_set(v, i) (((v)->counter) = i) 19#define atomic_set(v, i) (((v)->counter) = i)
20#define atomic64_set(v, i) (((v)->counter) = i) 20#define atomic64_set(v, i) (((v)->counter) = i)
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 9458685902b..01177dcbe26 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -53,11 +53,15 @@ config X86
53 select HAVE_KERNEL_LZMA 53 select HAVE_KERNEL_LZMA
54 select HAVE_KERNEL_LZO 54 select HAVE_KERNEL_LZO
55 select HAVE_HW_BREAKPOINT 55 select HAVE_HW_BREAKPOINT
56 select HAVE_MIXED_BREAKPOINTS_REGS
56 select PERF_EVENTS 57 select PERF_EVENTS
57 select ANON_INODES 58 select ANON_INODES
58 select HAVE_ARCH_KMEMCHECK 59 select HAVE_ARCH_KMEMCHECK
59 select HAVE_USER_RETURN_NOTIFIER 60 select HAVE_USER_RETURN_NOTIFIER
60 61
62config INSTRUCTION_DECODER
63 def_bool (KPROBES || PERF_EVENTS)
64
61config OUTPUT_FORMAT 65config OUTPUT_FORMAT
62 string 66 string
63 default "elf32-i386" if X86_32 67 default "elf32-i386" if X86_32
diff --git a/arch/x86/Kconfig.cpu b/arch/x86/Kconfig.cpu
index a19829374e6..918fbb1855c 100644
--- a/arch/x86/Kconfig.cpu
+++ b/arch/x86/Kconfig.cpu
@@ -502,23 +502,3 @@ config CPU_SUP_UMC_32
502 CPU might render the kernel unbootable. 502 CPU might render the kernel unbootable.
503 503
504 If unsure, say N. 504 If unsure, say N.
505
506config X86_DS
507 def_bool X86_PTRACE_BTS
508 depends on X86_DEBUGCTLMSR
509 select HAVE_HW_BRANCH_TRACER
510
511config X86_PTRACE_BTS
512 bool "Branch Trace Store"
513 default y
514 depends on X86_DEBUGCTLMSR
515 depends on BROKEN
516 ---help---
517 This adds a ptrace interface to the hardware's branch trace store.
518
519 Debuggers may use it to collect an execution trace of the debugged
520 application in order to answer the question 'how did I get here?'.
521 Debuggers may trace user mode as well as kernel mode.
522
523 Say Y unless there is no application development on this machine
524 and you want to save a small amount of code size.
diff --git a/arch/x86/Kconfig.debug b/arch/x86/Kconfig.debug
index bc01e3ebfeb..bd58c8abbfb 100644
--- a/arch/x86/Kconfig.debug
+++ b/arch/x86/Kconfig.debug
@@ -174,15 +174,6 @@ config IOMMU_LEAK
174 Add a simple leak tracer to the IOMMU code. This is useful when you 174 Add a simple leak tracer to the IOMMU code. This is useful when you
175 are debugging a buggy device driver that leaks IOMMU mappings. 175 are debugging a buggy device driver that leaks IOMMU mappings.
176 176
177config X86_DS_SELFTEST
178 bool "DS selftest"
179 default y
180 depends on DEBUG_KERNEL
181 depends on X86_DS
182 ---help---
183 Perform Debug Store selftests at boot time.
184 If in doubt, say "N".
185
186config HAVE_MMIOTRACE_SUPPORT 177config HAVE_MMIOTRACE_SUPPORT
187 def_bool y 178 def_bool y
188 179
diff --git a/arch/x86/Makefile b/arch/x86/Makefile
index 0a43dc515e4..8aa1b59b907 100644
--- a/arch/x86/Makefile
+++ b/arch/x86/Makefile
@@ -95,8 +95,9 @@ sp-$(CONFIG_X86_64) := rsp
95cfi := $(call as-instr,.cfi_startproc\n.cfi_rel_offset $(sp-y)$(comma)0\n.cfi_endproc,-DCONFIG_AS_CFI=1) 95cfi := $(call as-instr,.cfi_startproc\n.cfi_rel_offset $(sp-y)$(comma)0\n.cfi_endproc,-DCONFIG_AS_CFI=1)
96# is .cfi_signal_frame supported too? 96# is .cfi_signal_frame supported too?
97cfi-sigframe := $(call as-instr,.cfi_startproc\n.cfi_signal_frame\n.cfi_endproc,-DCONFIG_AS_CFI_SIGNAL_FRAME=1) 97cfi-sigframe := $(call as-instr,.cfi_startproc\n.cfi_signal_frame\n.cfi_endproc,-DCONFIG_AS_CFI_SIGNAL_FRAME=1)
98KBUILD_AFLAGS += $(cfi) $(cfi-sigframe) 98cfi-sections := $(call as-instr,.cfi_sections .debug_frame,-DCONFIG_AS_CFI_SECTIONS=1)
99KBUILD_CFLAGS += $(cfi) $(cfi-sigframe) 99KBUILD_AFLAGS += $(cfi) $(cfi-sigframe) $(cfi-sections)
100KBUILD_CFLAGS += $(cfi) $(cfi-sigframe) $(cfi-sections)
100 101
101LDFLAGS := -m elf_$(UTS_MACHINE) 102LDFLAGS := -m elf_$(UTS_MACHINE)
102 103
diff --git a/arch/x86/include/asm/amd_iommu_types.h b/arch/x86/include/asm/amd_iommu_types.h
index 86a0ff0aeac..7014e88bc77 100644
--- a/arch/x86/include/asm/amd_iommu_types.h
+++ b/arch/x86/include/asm/amd_iommu_types.h
@@ -174,6 +174,40 @@
174 (~((1ULL << (12 + ((lvl) * 9))) - 1))) 174 (~((1ULL << (12 + ((lvl) * 9))) - 1)))
175#define PM_ALIGNED(lvl, addr) ((PM_MAP_MASK(lvl) & (addr)) == (addr)) 175#define PM_ALIGNED(lvl, addr) ((PM_MAP_MASK(lvl) & (addr)) == (addr))
176 176
177/*
178 * Returns the page table level to use for a given page size
179 * Pagesize is expected to be a power-of-two
180 */
181#define PAGE_SIZE_LEVEL(pagesize) \
182 ((__ffs(pagesize) - 12) / 9)
183/*
184 * Returns the number of ptes to use for a given page size
185 * Pagesize is expected to be a power-of-two
186 */
187#define PAGE_SIZE_PTE_COUNT(pagesize) \
188 (1ULL << ((__ffs(pagesize) - 12) % 9))
189
190/*
191 * Aligns a given io-virtual address to a given page size
192 * Pagesize is expected to be a power-of-two
193 */
194#define PAGE_SIZE_ALIGN(address, pagesize) \
195 ((address) & ~((pagesize) - 1))
196/*
197 * Creates an IOMMU PTE for an address an a given pagesize
198 * The PTE has no permission bits set
199 * Pagesize is expected to be a power-of-two larger than 4096
200 */
201#define PAGE_SIZE_PTE(address, pagesize) \
202 (((address) | ((pagesize) - 1)) & \
203 (~(pagesize >> 1)) & PM_ADDR_MASK)
204
205/*
206 * Takes a PTE value with mode=0x07 and returns the page size it maps
207 */
208#define PTE_PAGE_SIZE(pte) \
209 (1ULL << (1 + ffz(((pte) | 0xfffULL))))
210
177#define IOMMU_PTE_P (1ULL << 0) 211#define IOMMU_PTE_P (1ULL << 0)
178#define IOMMU_PTE_TV (1ULL << 1) 212#define IOMMU_PTE_TV (1ULL << 1)
179#define IOMMU_PTE_U (1ULL << 59) 213#define IOMMU_PTE_U (1ULL << 59)
diff --git a/arch/x86/include/asm/apic.h b/arch/x86/include/asm/apic.h
index b4ac2cdcb64..1fa03e04ae4 100644
--- a/arch/x86/include/asm/apic.h
+++ b/arch/x86/include/asm/apic.h
@@ -373,6 +373,7 @@ extern atomic_t init_deasserted;
373extern int wakeup_secondary_cpu_via_nmi(int apicid, unsigned long start_eip); 373extern int wakeup_secondary_cpu_via_nmi(int apicid, unsigned long start_eip);
374#endif 374#endif
375 375
376#ifdef CONFIG_X86_LOCAL_APIC
376static inline u32 apic_read(u32 reg) 377static inline u32 apic_read(u32 reg)
377{ 378{
378 return apic->read(reg); 379 return apic->read(reg);
@@ -403,10 +404,19 @@ static inline u32 safe_apic_wait_icr_idle(void)
403 return apic->safe_wait_icr_idle(); 404 return apic->safe_wait_icr_idle();
404} 405}
405 406
407#else /* CONFIG_X86_LOCAL_APIC */
408
409static inline u32 apic_read(u32 reg) { return 0; }
410static inline void apic_write(u32 reg, u32 val) { }
411static inline u64 apic_icr_read(void) { return 0; }
412static inline void apic_icr_write(u32 low, u32 high) { }
413static inline void apic_wait_icr_idle(void) { }
414static inline u32 safe_apic_wait_icr_idle(void) { return 0; }
415
416#endif /* CONFIG_X86_LOCAL_APIC */
406 417
407static inline void ack_APIC_irq(void) 418static inline void ack_APIC_irq(void)
408{ 419{
409#ifdef CONFIG_X86_LOCAL_APIC
410 /* 420 /*
411 * ack_APIC_irq() actually gets compiled as a single instruction 421 * ack_APIC_irq() actually gets compiled as a single instruction
412 * ... yummie. 422 * ... yummie.
@@ -414,7 +424,6 @@ static inline void ack_APIC_irq(void)
414 424
415 /* Docs say use 0 for future compatibility */ 425 /* Docs say use 0 for future compatibility */
416 apic_write(APIC_EOI, 0); 426 apic_write(APIC_EOI, 0);
417#endif
418} 427}
419 428
420static inline unsigned default_get_apic_id(unsigned long x) 429static inline unsigned default_get_apic_id(unsigned long x)
diff --git a/arch/x86/include/asm/atomic.h b/arch/x86/include/asm/atomic.h
index 706c69492c1..952a826ac4e 100644
--- a/arch/x86/include/asm/atomic.h
+++ b/arch/x86/include/asm/atomic.h
@@ -22,7 +22,7 @@
22 */ 22 */
23static inline int atomic_read(const atomic_t *v) 23static inline int atomic_read(const atomic_t *v)
24{ 24{
25 return v->counter; 25 return (*(volatile int *)&(v)->counter);
26} 26}
27 27
28/** 28/**
diff --git a/arch/x86/include/asm/atomic64_64.h b/arch/x86/include/asm/atomic64_64.h
index 4d6e2cd6c88..49fd1ea2295 100644
--- a/arch/x86/include/asm/atomic64_64.h
+++ b/arch/x86/include/asm/atomic64_64.h
@@ -18,7 +18,7 @@
18 */ 18 */
19static inline long atomic64_read(const atomic64_t *v) 19static inline long atomic64_read(const atomic64_t *v)
20{ 20{
21 return v->counter; 21 return (*(volatile long *)&(v)->counter);
22} 22}
23 23
24/** 24/**
diff --git a/arch/x86/include/asm/ds.h b/arch/x86/include/asm/ds.h
deleted file mode 100644
index 70dac199b09..00000000000
--- a/arch/x86/include/asm/ds.h
+++ /dev/null
@@ -1,302 +0,0 @@
1/*
2 * Debug Store (DS) support
3 *
4 * This provides a low-level interface to the hardware's Debug Store
5 * feature that is used for branch trace store (BTS) and
6 * precise-event based sampling (PEBS).
7 *
8 * It manages:
9 * - DS and BTS hardware configuration
10 * - buffer overflow handling (to be done)
11 * - buffer access
12 *
13 * It does not do:
14 * - security checking (is the caller allowed to trace the task)
15 * - buffer allocation (memory accounting)
16 *
17 *
18 * Copyright (C) 2007-2009 Intel Corporation.
19 * Markus Metzger <markus.t.metzger@intel.com>, 2007-2009
20 */
21
22#ifndef _ASM_X86_DS_H
23#define _ASM_X86_DS_H
24
25
26#include <linux/types.h>
27#include <linux/init.h>
28#include <linux/err.h>
29
30
31#ifdef CONFIG_X86_DS
32
33struct task_struct;
34struct ds_context;
35struct ds_tracer;
36struct bts_tracer;
37struct pebs_tracer;
38
39typedef void (*bts_ovfl_callback_t)(struct bts_tracer *);
40typedef void (*pebs_ovfl_callback_t)(struct pebs_tracer *);
41
42
43/*
44 * A list of features plus corresponding macros to talk about them in
45 * the ds_request function's flags parameter.
46 *
47 * We use the enum to index an array of corresponding control bits;
48 * we use the macro to index a flags bit-vector.
49 */
50enum ds_feature {
51 dsf_bts = 0,
52 dsf_bts_kernel,
53#define BTS_KERNEL (1 << dsf_bts_kernel)
54 /* trace kernel-mode branches */
55
56 dsf_bts_user,
57#define BTS_USER (1 << dsf_bts_user)
58 /* trace user-mode branches */
59
60 dsf_bts_overflow,
61 dsf_bts_max,
62 dsf_pebs = dsf_bts_max,
63
64 dsf_pebs_max,
65 dsf_ctl_max = dsf_pebs_max,
66 dsf_bts_timestamps = dsf_ctl_max,
67#define BTS_TIMESTAMPS (1 << dsf_bts_timestamps)
68 /* add timestamps into BTS trace */
69
70#define BTS_USER_FLAGS (BTS_KERNEL | BTS_USER | BTS_TIMESTAMPS)
71};
72
73
74/*
75 * Request BTS or PEBS
76 *
77 * Due to alignement constraints, the actual buffer may be slightly
78 * smaller than the requested or provided buffer.
79 *
80 * Returns a pointer to a tracer structure on success, or
81 * ERR_PTR(errcode) on failure.
82 *
83 * The interrupt threshold is independent from the overflow callback
84 * to allow users to use their own overflow interrupt handling mechanism.
85 *
86 * The function might sleep.
87 *
88 * task: the task to request recording for
89 * cpu: the cpu to request recording for
90 * base: the base pointer for the (non-pageable) buffer;
91 * size: the size of the provided buffer in bytes
92 * ovfl: pointer to a function to be called on buffer overflow;
93 * NULL if cyclic buffer requested
94 * th: the interrupt threshold in records from the end of the buffer;
95 * -1 if no interrupt threshold is requested.
96 * flags: a bit-mask of the above flags
97 */
98extern struct bts_tracer *ds_request_bts_task(struct task_struct *task,
99 void *base, size_t size,
100 bts_ovfl_callback_t ovfl,
101 size_t th, unsigned int flags);
102extern struct bts_tracer *ds_request_bts_cpu(int cpu, void *base, size_t size,
103 bts_ovfl_callback_t ovfl,
104 size_t th, unsigned int flags);
105extern struct pebs_tracer *ds_request_pebs_task(struct task_struct *task,
106 void *base, size_t size,
107 pebs_ovfl_callback_t ovfl,
108 size_t th, unsigned int flags);
109extern struct pebs_tracer *ds_request_pebs_cpu(int cpu,
110 void *base, size_t size,
111 pebs_ovfl_callback_t ovfl,
112 size_t th, unsigned int flags);
113
114/*
115 * Release BTS or PEBS resources
116 * Suspend and resume BTS or PEBS tracing
117 *
118 * Must be called with irq's enabled.
119 *
120 * tracer: the tracer handle returned from ds_request_~()
121 */
122extern void ds_release_bts(struct bts_tracer *tracer);
123extern void ds_suspend_bts(struct bts_tracer *tracer);
124extern void ds_resume_bts(struct bts_tracer *tracer);
125extern void ds_release_pebs(struct pebs_tracer *tracer);
126extern void ds_suspend_pebs(struct pebs_tracer *tracer);
127extern void ds_resume_pebs(struct pebs_tracer *tracer);
128
129/*
130 * Release BTS or PEBS resources
131 * Suspend and resume BTS or PEBS tracing
132 *
133 * Cpu tracers must call this on the traced cpu.
134 * Task tracers must call ds_release_~_noirq() for themselves.
135 *
136 * May be called with irq's disabled.
137 *
138 * Returns 0 if successful;
139 * -EPERM if the cpu tracer does not trace the current cpu.
140 * -EPERM if the task tracer does not trace itself.
141 *
142 * tracer: the tracer handle returned from ds_request_~()
143 */
144extern int ds_release_bts_noirq(struct bts_tracer *tracer);
145extern int ds_suspend_bts_noirq(struct bts_tracer *tracer);
146extern int ds_resume_bts_noirq(struct bts_tracer *tracer);
147extern int ds_release_pebs_noirq(struct pebs_tracer *tracer);
148extern int ds_suspend_pebs_noirq(struct pebs_tracer *tracer);
149extern int ds_resume_pebs_noirq(struct pebs_tracer *tracer);
150
151
152/*
153 * The raw DS buffer state as it is used for BTS and PEBS recording.
154 *
155 * This is the low-level, arch-dependent interface for working
156 * directly on the raw trace data.
157 */
158struct ds_trace {
159 /* the number of bts/pebs records */
160 size_t n;
161 /* the size of a bts/pebs record in bytes */
162 size_t size;
163 /* pointers into the raw buffer:
164 - to the first entry */
165 void *begin;
166 /* - one beyond the last entry */
167 void *end;
168 /* - one beyond the newest entry */
169 void *top;
170 /* - the interrupt threshold */
171 void *ith;
172 /* flags given on ds_request() */
173 unsigned int flags;
174};
175
176/*
177 * An arch-independent view on branch trace data.
178 */
179enum bts_qualifier {
180 bts_invalid,
181#define BTS_INVALID bts_invalid
182
183 bts_branch,
184#define BTS_BRANCH bts_branch
185
186 bts_task_arrives,
187#define BTS_TASK_ARRIVES bts_task_arrives
188
189 bts_task_departs,
190#define BTS_TASK_DEPARTS bts_task_departs
191
192 bts_qual_bit_size = 4,
193 bts_qual_max = (1 << bts_qual_bit_size),
194};
195
196struct bts_struct {
197 __u64 qualifier;
198 union {
199 /* BTS_BRANCH */
200 struct {
201 __u64 from;
202 __u64 to;
203 } lbr;
204 /* BTS_TASK_ARRIVES or BTS_TASK_DEPARTS */
205 struct {
206 __u64 clock;
207 pid_t pid;
208 } event;
209 } variant;
210};
211
212
213/*
214 * The BTS state.
215 *
216 * This gives access to the raw DS state and adds functions to provide
217 * an arch-independent view of the BTS data.
218 */
219struct bts_trace {
220 struct ds_trace ds;
221
222 int (*read)(struct bts_tracer *tracer, const void *at,
223 struct bts_struct *out);
224 int (*write)(struct bts_tracer *tracer, const struct bts_struct *in);
225};
226
227
228/*
229 * The PEBS state.
230 *
231 * This gives access to the raw DS state and the PEBS-specific counter
232 * reset value.
233 */
234struct pebs_trace {
235 struct ds_trace ds;
236
237 /* the number of valid counters in the below array */
238 unsigned int counters;
239
240#define MAX_PEBS_COUNTERS 4
241 /* the counter reset value */
242 unsigned long long counter_reset[MAX_PEBS_COUNTERS];
243};
244
245
246/*
247 * Read the BTS or PEBS trace.
248 *
249 * Returns a view on the trace collected for the parameter tracer.
250 *
251 * The view remains valid as long as the traced task is not running or
252 * the tracer is suspended.
253 * Writes into the trace buffer are not reflected.
254 *
255 * tracer: the tracer handle returned from ds_request_~()
256 */
257extern const struct bts_trace *ds_read_bts(struct bts_tracer *tracer);
258extern const struct pebs_trace *ds_read_pebs(struct pebs_tracer *tracer);
259
260
261/*
262 * Reset the write pointer of the BTS/PEBS buffer.
263 *
264 * Returns 0 on success; -Eerrno on error
265 *
266 * tracer: the tracer handle returned from ds_request_~()
267 */
268extern int ds_reset_bts(struct bts_tracer *tracer);
269extern int ds_reset_pebs(struct pebs_tracer *tracer);
270
271/*
272 * Set the PEBS counter reset value.
273 *
274 * Returns 0 on success; -Eerrno on error
275 *
276 * tracer: the tracer handle returned from ds_request_pebs()
277 * counter: the index of the counter
278 * value: the new counter reset value
279 */
280extern int ds_set_pebs_reset(struct pebs_tracer *tracer,
281 unsigned int counter, u64 value);
282
283/*
284 * Initialization
285 */
286struct cpuinfo_x86;
287extern void __cpuinit ds_init_intel(struct cpuinfo_x86 *);
288
289/*
290 * Context switch work
291 */
292extern void ds_switch_to(struct task_struct *prev, struct task_struct *next);
293
294#else /* CONFIG_X86_DS */
295
296struct cpuinfo_x86;
297static inline void __cpuinit ds_init_intel(struct cpuinfo_x86 *ignored) {}
298static inline void ds_switch_to(struct task_struct *prev,
299 struct task_struct *next) {}
300
301#endif /* CONFIG_X86_DS */
302#endif /* _ASM_X86_DS_H */
diff --git a/arch/x86/include/asm/dwarf2.h b/arch/x86/include/asm/dwarf2.h
index ae6253ab902..733f7e91e7a 100644
--- a/arch/x86/include/asm/dwarf2.h
+++ b/arch/x86/include/asm/dwarf2.h
@@ -34,6 +34,18 @@
34#define CFI_SIGNAL_FRAME 34#define CFI_SIGNAL_FRAME
35#endif 35#endif
36 36
37#if defined(CONFIG_AS_CFI_SECTIONS) && defined(__ASSEMBLY__)
38 /*
39 * Emit CFI data in .debug_frame sections, not .eh_frame sections.
40 * The latter we currently just discard since we don't do DWARF
41 * unwinding at runtime. So only the offline DWARF information is
42 * useful to anyone. Note we should not use this directive if this
43 * file is used in the vDSO assembly, or if vmlinux.lds.S gets
44 * changed so it doesn't discard .eh_frame.
45 */
46 .cfi_sections .debug_frame
47#endif
48
37#else 49#else
38 50
39/* 51/*
diff --git a/arch/x86/include/asm/hw_breakpoint.h b/arch/x86/include/asm/hw_breakpoint.h
index 2a1bd8f4f23..942255310e6 100644
--- a/arch/x86/include/asm/hw_breakpoint.h
+++ b/arch/x86/include/asm/hw_breakpoint.h
@@ -41,12 +41,16 @@ struct arch_hw_breakpoint {
41/* Total number of available HW breakpoint registers */ 41/* Total number of available HW breakpoint registers */
42#define HBP_NUM 4 42#define HBP_NUM 4
43 43
44static inline int hw_breakpoint_slots(int type)
45{
46 return HBP_NUM;
47}
48
44struct perf_event; 49struct perf_event;
45struct pmu; 50struct pmu;
46 51
47extern int arch_check_va_in_userspace(unsigned long va, u8 hbp_len); 52extern int arch_check_bp_in_kernelspace(struct perf_event *bp);
48extern int arch_validate_hwbkpt_settings(struct perf_event *bp, 53extern int arch_validate_hwbkpt_settings(struct perf_event *bp);
49 struct task_struct *tsk);
50extern int hw_breakpoint_exceptions_notify(struct notifier_block *unused, 54extern int hw_breakpoint_exceptions_notify(struct notifier_block *unused,
51 unsigned long val, void *data); 55 unsigned long val, void *data);
52 56
diff --git a/arch/x86/include/asm/i8253.h b/arch/x86/include/asm/i8253.h
index 1edbf89680f..fc1f579fb96 100644
--- a/arch/x86/include/asm/i8253.h
+++ b/arch/x86/include/asm/i8253.h
@@ -6,7 +6,7 @@
6#define PIT_CH0 0x40 6#define PIT_CH0 0x40
7#define PIT_CH2 0x42 7#define PIT_CH2 0x42
8 8
9extern spinlock_t i8253_lock; 9extern raw_spinlock_t i8253_lock;
10 10
11extern struct clock_event_device *global_clock_event; 11extern struct clock_event_device *global_clock_event;
12 12
diff --git a/arch/x86/include/asm/insn.h b/arch/x86/include/asm/insn.h
index 96c2e0ad04c..88c765e1641 100644
--- a/arch/x86/include/asm/insn.h
+++ b/arch/x86/include/asm/insn.h
@@ -68,6 +68,8 @@ struct insn {
68 const insn_byte_t *next_byte; 68 const insn_byte_t *next_byte;
69}; 69};
70 70
71#define MAX_INSN_SIZE 16
72
71#define X86_MODRM_MOD(modrm) (((modrm) & 0xc0) >> 6) 73#define X86_MODRM_MOD(modrm) (((modrm) & 0xc0) >> 6)
72#define X86_MODRM_REG(modrm) (((modrm) & 0x38) >> 3) 74#define X86_MODRM_REG(modrm) (((modrm) & 0x38) >> 3)
73#define X86_MODRM_RM(modrm) ((modrm) & 0x07) 75#define X86_MODRM_RM(modrm) ((modrm) & 0x07)
diff --git a/arch/x86/include/asm/io.h b/arch/x86/include/asm/io.h
index a1dcfa3ab17..30a3e977612 100644
--- a/arch/x86/include/asm/io.h
+++ b/arch/x86/include/asm/io.h
@@ -347,6 +347,7 @@ extern void __iomem *early_ioremap(resource_size_t phys_addr,
347extern void __iomem *early_memremap(resource_size_t phys_addr, 347extern void __iomem *early_memremap(resource_size_t phys_addr,
348 unsigned long size); 348 unsigned long size);
349extern void early_iounmap(void __iomem *addr, unsigned long size); 349extern void early_iounmap(void __iomem *addr, unsigned long size);
350extern void fixup_early_ioremap(void);
350 351
351#define IO_SPACE_LIMIT 0xffff 352#define IO_SPACE_LIMIT 0xffff
352 353
diff --git a/arch/x86/include/asm/k8.h b/arch/x86/include/asm/k8.h
index f70e60071fe..af00bd1d208 100644
--- a/arch/x86/include/asm/k8.h
+++ b/arch/x86/include/asm/k8.h
@@ -16,11 +16,16 @@ extern int k8_numa_init(unsigned long start_pfn, unsigned long end_pfn);
16extern int k8_scan_nodes(void); 16extern int k8_scan_nodes(void);
17 17
18#ifdef CONFIG_K8_NB 18#ifdef CONFIG_K8_NB
19extern int num_k8_northbridges;
20
19static inline struct pci_dev *node_to_k8_nb_misc(int node) 21static inline struct pci_dev *node_to_k8_nb_misc(int node)
20{ 22{
21 return (node < num_k8_northbridges) ? k8_northbridges[node] : NULL; 23 return (node < num_k8_northbridges) ? k8_northbridges[node] : NULL;
22} 24}
25
23#else 26#else
27#define num_k8_northbridges 0
28
24static inline struct pci_dev *node_to_k8_nb_misc(int node) 29static inline struct pci_dev *node_to_k8_nb_misc(int node)
25{ 30{
26 return NULL; 31 return NULL;
diff --git a/arch/x86/include/asm/kprobes.h b/arch/x86/include/asm/kprobes.h
index 4ffa345a8cc..54788253915 100644
--- a/arch/x86/include/asm/kprobes.h
+++ b/arch/x86/include/asm/kprobes.h
@@ -24,6 +24,7 @@
24#include <linux/types.h> 24#include <linux/types.h>
25#include <linux/ptrace.h> 25#include <linux/ptrace.h>
26#include <linux/percpu.h> 26#include <linux/percpu.h>
27#include <asm/insn.h>
27 28
28#define __ARCH_WANT_KPROBES_INSN_SLOT 29#define __ARCH_WANT_KPROBES_INSN_SLOT
29 30
@@ -36,7 +37,6 @@ typedef u8 kprobe_opcode_t;
36#define RELATIVEJUMP_SIZE 5 37#define RELATIVEJUMP_SIZE 5
37#define RELATIVECALL_OPCODE 0xe8 38#define RELATIVECALL_OPCODE 0xe8
38#define RELATIVE_ADDR_SIZE 4 39#define RELATIVE_ADDR_SIZE 4
39#define MAX_INSN_SIZE 16
40#define MAX_STACK_SIZE 64 40#define MAX_STACK_SIZE 64
41#define MIN_STACK_SIZE(ADDR) \ 41#define MIN_STACK_SIZE(ADDR) \
42 (((MAX_STACK_SIZE) < (((unsigned long)current_thread_info()) + \ 42 (((MAX_STACK_SIZE) < (((unsigned long)current_thread_info()) + \
diff --git a/arch/x86/include/asm/msr-index.h b/arch/x86/include/asm/msr-index.h
index 4604e6a54d3..bc473acfa7f 100644
--- a/arch/x86/include/asm/msr-index.h
+++ b/arch/x86/include/asm/msr-index.h
@@ -71,11 +71,14 @@
71#define MSR_IA32_LASTINTTOIP 0x000001de 71#define MSR_IA32_LASTINTTOIP 0x000001de
72 72
73/* DEBUGCTLMSR bits (others vary by model): */ 73/* DEBUGCTLMSR bits (others vary by model): */
74#define _DEBUGCTLMSR_LBR 0 /* last branch recording */ 74#define DEBUGCTLMSR_LBR (1UL << 0) /* last branch recording */
75#define _DEBUGCTLMSR_BTF 1 /* single-step on branches */ 75#define DEBUGCTLMSR_BTF (1UL << 1) /* single-step on branches */
76 76#define DEBUGCTLMSR_TR (1UL << 6)
77#define DEBUGCTLMSR_LBR (1UL << _DEBUGCTLMSR_LBR) 77#define DEBUGCTLMSR_BTS (1UL << 7)
78#define DEBUGCTLMSR_BTF (1UL << _DEBUGCTLMSR_BTF) 78#define DEBUGCTLMSR_BTINT (1UL << 8)
79#define DEBUGCTLMSR_BTS_OFF_OS (1UL << 9)
80#define DEBUGCTLMSR_BTS_OFF_USR (1UL << 10)
81#define DEBUGCTLMSR_FREEZE_LBRS_ON_PMI (1UL << 11)
79 82
80#define MSR_IA32_MC0_CTL 0x00000400 83#define MSR_IA32_MC0_CTL 0x00000400
81#define MSR_IA32_MC0_STATUS 0x00000401 84#define MSR_IA32_MC0_STATUS 0x00000401
@@ -359,6 +362,8 @@
359#define MSR_P4_U2L_ESCR0 0x000003b0 362#define MSR_P4_U2L_ESCR0 0x000003b0
360#define MSR_P4_U2L_ESCR1 0x000003b1 363#define MSR_P4_U2L_ESCR1 0x000003b1
361 364
365#define MSR_P4_PEBS_MATRIX_VERT 0x000003f2
366
362/* Intel Core-based CPU performance counters */ 367/* Intel Core-based CPU performance counters */
363#define MSR_CORE_PERF_FIXED_CTR0 0x00000309 368#define MSR_CORE_PERF_FIXED_CTR0 0x00000309
364#define MSR_CORE_PERF_FIXED_CTR1 0x0000030a 369#define MSR_CORE_PERF_FIXED_CTR1 0x0000030a
diff --git a/arch/x86/include/asm/perf_event.h b/arch/x86/include/asm/perf_event.h
index db6109a885a..254883d0c7e 100644
--- a/arch/x86/include/asm/perf_event.h
+++ b/arch/x86/include/asm/perf_event.h
@@ -5,7 +5,7 @@
5 * Performance event hw details: 5 * Performance event hw details:
6 */ 6 */
7 7
8#define X86_PMC_MAX_GENERIC 8 8#define X86_PMC_MAX_GENERIC 32
9#define X86_PMC_MAX_FIXED 3 9#define X86_PMC_MAX_FIXED 3
10 10
11#define X86_PMC_IDX_GENERIC 0 11#define X86_PMC_IDX_GENERIC 0
@@ -18,39 +18,31 @@
18#define MSR_ARCH_PERFMON_EVENTSEL0 0x186 18#define MSR_ARCH_PERFMON_EVENTSEL0 0x186
19#define MSR_ARCH_PERFMON_EVENTSEL1 0x187 19#define MSR_ARCH_PERFMON_EVENTSEL1 0x187
20 20
21#define ARCH_PERFMON_EVENTSEL_ENABLE (1 << 22) 21#define ARCH_PERFMON_EVENTSEL_EVENT 0x000000FFULL
22#define ARCH_PERFMON_EVENTSEL_ANY (1 << 21) 22#define ARCH_PERFMON_EVENTSEL_UMASK 0x0000FF00ULL
23#define ARCH_PERFMON_EVENTSEL_INT (1 << 20) 23#define ARCH_PERFMON_EVENTSEL_USR (1ULL << 16)
24#define ARCH_PERFMON_EVENTSEL_OS (1 << 17) 24#define ARCH_PERFMON_EVENTSEL_OS (1ULL << 17)
25#define ARCH_PERFMON_EVENTSEL_USR (1 << 16) 25#define ARCH_PERFMON_EVENTSEL_EDGE (1ULL << 18)
26 26#define ARCH_PERFMON_EVENTSEL_INT (1ULL << 20)
27/* 27#define ARCH_PERFMON_EVENTSEL_ANY (1ULL << 21)
28 * Includes eventsel and unit mask as well: 28#define ARCH_PERFMON_EVENTSEL_ENABLE (1ULL << 22)
29 */ 29#define ARCH_PERFMON_EVENTSEL_INV (1ULL << 23)
30 30#define ARCH_PERFMON_EVENTSEL_CMASK 0xFF000000ULL
31 31
32#define INTEL_ARCH_EVTSEL_MASK 0x000000FFULL 32#define AMD64_EVENTSEL_EVENT \
33#define INTEL_ARCH_UNIT_MASK 0x0000FF00ULL 33 (ARCH_PERFMON_EVENTSEL_EVENT | (0x0FULL << 32))
34#define INTEL_ARCH_EDGE_MASK 0x00040000ULL 34#define INTEL_ARCH_EVENT_MASK \
35#define INTEL_ARCH_INV_MASK 0x00800000ULL 35 (ARCH_PERFMON_EVENTSEL_UMASK | ARCH_PERFMON_EVENTSEL_EVENT)
36#define INTEL_ARCH_CNT_MASK 0xFF000000ULL 36
37#define INTEL_ARCH_EVENT_MASK (INTEL_ARCH_UNIT_MASK|INTEL_ARCH_EVTSEL_MASK) 37#define X86_RAW_EVENT_MASK \
38 38 (ARCH_PERFMON_EVENTSEL_EVENT | \
39/* 39 ARCH_PERFMON_EVENTSEL_UMASK | \
40 * filter mask to validate fixed counter events. 40 ARCH_PERFMON_EVENTSEL_EDGE | \
41 * the following filters disqualify for fixed counters: 41 ARCH_PERFMON_EVENTSEL_INV | \
42 * - inv 42 ARCH_PERFMON_EVENTSEL_CMASK)
43 * - edge 43#define AMD64_RAW_EVENT_MASK \
44 * - cnt-mask 44 (X86_RAW_EVENT_MASK | \
45 * The other filters are supported by fixed counters. 45 AMD64_EVENTSEL_EVENT)
46 * The any-thread option is supported starting with v3.
47 */
48#define INTEL_ARCH_FIXED_MASK \
49 (INTEL_ARCH_CNT_MASK| \
50 INTEL_ARCH_INV_MASK| \
51 INTEL_ARCH_EDGE_MASK|\
52 INTEL_ARCH_UNIT_MASK|\
53 INTEL_ARCH_EVENT_MASK)
54 46
55#define ARCH_PERFMON_UNHALTED_CORE_CYCLES_SEL 0x3c 47#define ARCH_PERFMON_UNHALTED_CORE_CYCLES_SEL 0x3c
56#define ARCH_PERFMON_UNHALTED_CORE_CYCLES_UMASK (0x00 << 8) 48#define ARCH_PERFMON_UNHALTED_CORE_CYCLES_UMASK (0x00 << 8)
@@ -67,7 +59,7 @@
67union cpuid10_eax { 59union cpuid10_eax {
68 struct { 60 struct {
69 unsigned int version_id:8; 61 unsigned int version_id:8;
70 unsigned int num_events:8; 62 unsigned int num_counters:8;
71 unsigned int bit_width:8; 63 unsigned int bit_width:8;
72 unsigned int mask_length:8; 64 unsigned int mask_length:8;
73 } split; 65 } split;
@@ -76,7 +68,7 @@ union cpuid10_eax {
76 68
77union cpuid10_edx { 69union cpuid10_edx {
78 struct { 70 struct {
79 unsigned int num_events_fixed:4; 71 unsigned int num_counters_fixed:4;
80 unsigned int reserved:28; 72 unsigned int reserved:28;
81 } split; 73 } split;
82 unsigned int full; 74 unsigned int full;
@@ -136,6 +128,18 @@ extern void perf_events_lapic_init(void);
136 128
137#define PERF_EVENT_INDEX_OFFSET 0 129#define PERF_EVENT_INDEX_OFFSET 0
138 130
131/*
132 * Abuse bit 3 of the cpu eflags register to indicate proper PEBS IP fixups.
133 * This flag is otherwise unused and ABI specified to be 0, so nobody should
134 * care what we do with it.
135 */
136#define PERF_EFLAGS_EXACT (1UL << 3)
137
138struct pt_regs;
139extern unsigned long perf_instruction_pointer(struct pt_regs *regs);
140extern unsigned long perf_misc_flags(struct pt_regs *regs);
141#define perf_misc_flags(regs) perf_misc_flags(regs)
142
139#else 143#else
140static inline void init_hw_perf_events(void) { } 144static inline void init_hw_perf_events(void) { }
141static inline void perf_events_lapic_init(void) { } 145static inline void perf_events_lapic_init(void) { }
diff --git a/arch/x86/include/asm/perf_event_p4.h b/arch/x86/include/asm/perf_event_p4.h
new file mode 100644
index 00000000000..b05400a542f
--- /dev/null
+++ b/arch/x86/include/asm/perf_event_p4.h
@@ -0,0 +1,794 @@
1/*
2 * Netburst Perfomance Events (P4, old Xeon)
3 */
4
5#ifndef PERF_EVENT_P4_H
6#define PERF_EVENT_P4_H
7
8#include <linux/cpu.h>
9#include <linux/bitops.h>
10
11/*
12 * NetBurst has perfomance MSRs shared between
13 * threads if HT is turned on, ie for both logical
14 * processors (mem: in turn in Atom with HT support
15 * perf-MSRs are not shared and every thread has its
16 * own perf-MSRs set)
17 */
18#define ARCH_P4_TOTAL_ESCR (46)
19#define ARCH_P4_RESERVED_ESCR (2) /* IQ_ESCR(0,1) not always present */
20#define ARCH_P4_MAX_ESCR (ARCH_P4_TOTAL_ESCR - ARCH_P4_RESERVED_ESCR)
21#define ARCH_P4_MAX_CCCR (18)
22#define ARCH_P4_MAX_COUNTER (ARCH_P4_MAX_CCCR / 2)
23
24#define P4_ESCR_EVENT_MASK 0x7e000000U
25#define P4_ESCR_EVENT_SHIFT 25
26#define P4_ESCR_EVENTMASK_MASK 0x01fffe00U
27#define P4_ESCR_EVENTMASK_SHIFT 9
28#define P4_ESCR_TAG_MASK 0x000001e0U
29#define P4_ESCR_TAG_SHIFT 5
30#define P4_ESCR_TAG_ENABLE 0x00000010U
31#define P4_ESCR_T0_OS 0x00000008U
32#define P4_ESCR_T0_USR 0x00000004U
33#define P4_ESCR_T1_OS 0x00000002U
34#define P4_ESCR_T1_USR 0x00000001U
35
36#define P4_ESCR_EVENT(v) ((v) << P4_ESCR_EVENT_SHIFT)
37#define P4_ESCR_EMASK(v) ((v) << P4_ESCR_EVENTMASK_SHIFT)
38#define P4_ESCR_TAG(v) ((v) << P4_ESCR_TAG_SHIFT)
39
40/* Non HT mask */
41#define P4_ESCR_MASK \
42 (P4_ESCR_EVENT_MASK | \
43 P4_ESCR_EVENTMASK_MASK | \
44 P4_ESCR_TAG_MASK | \
45 P4_ESCR_TAG_ENABLE | \
46 P4_ESCR_T0_OS | \
47 P4_ESCR_T0_USR)
48
49/* HT mask */
50#define P4_ESCR_MASK_HT \
51 (P4_ESCR_MASK | P4_ESCR_T1_OS | P4_ESCR_T1_USR)
52
53#define P4_CCCR_OVF 0x80000000U
54#define P4_CCCR_CASCADE 0x40000000U
55#define P4_CCCR_OVF_PMI_T0 0x04000000U
56#define P4_CCCR_OVF_PMI_T1 0x08000000U
57#define P4_CCCR_FORCE_OVF 0x02000000U
58#define P4_CCCR_EDGE 0x01000000U
59#define P4_CCCR_THRESHOLD_MASK 0x00f00000U
60#define P4_CCCR_THRESHOLD_SHIFT 20
61#define P4_CCCR_COMPLEMENT 0x00080000U
62#define P4_CCCR_COMPARE 0x00040000U
63#define P4_CCCR_ESCR_SELECT_MASK 0x0000e000U
64#define P4_CCCR_ESCR_SELECT_SHIFT 13
65#define P4_CCCR_ENABLE 0x00001000U
66#define P4_CCCR_THREAD_SINGLE 0x00010000U
67#define P4_CCCR_THREAD_BOTH 0x00020000U
68#define P4_CCCR_THREAD_ANY 0x00030000U
69#define P4_CCCR_RESERVED 0x00000fffU
70
71#define P4_CCCR_THRESHOLD(v) ((v) << P4_CCCR_THRESHOLD_SHIFT)
72#define P4_CCCR_ESEL(v) ((v) << P4_CCCR_ESCR_SELECT_SHIFT)
73
74/* Custom bits in reerved CCCR area */
75#define P4_CCCR_CACHE_OPS_MASK 0x0000003fU
76
77
78/* Non HT mask */
79#define P4_CCCR_MASK \
80 (P4_CCCR_OVF | \
81 P4_CCCR_CASCADE | \
82 P4_CCCR_OVF_PMI_T0 | \
83 P4_CCCR_FORCE_OVF | \
84 P4_CCCR_EDGE | \
85 P4_CCCR_THRESHOLD_MASK | \
86 P4_CCCR_COMPLEMENT | \
87 P4_CCCR_COMPARE | \
88 P4_CCCR_ESCR_SELECT_MASK | \
89 P4_CCCR_ENABLE)
90
91/* HT mask */
92#define P4_CCCR_MASK_HT (P4_CCCR_MASK | P4_CCCR_THREAD_ANY)
93
94#define P4_GEN_ESCR_EMASK(class, name, bit) \
95 class##__##name = ((1 << bit) << P4_ESCR_EVENTMASK_SHIFT)
96#define P4_ESCR_EMASK_BIT(class, name) class##__##name
97
98/*
99 * config field is 64bit width and consists of
100 * HT << 63 | ESCR << 32 | CCCR
101 * where HT is HyperThreading bit (since ESCR
102 * has it reserved we may use it for own purpose)
103 *
104 * note that this is NOT the addresses of respective
105 * ESCR and CCCR but rather an only packed value should
106 * be unpacked and written to a proper addresses
107 *
108 * the base idea is to pack as much info as
109 * possible
110 */
111#define p4_config_pack_escr(v) (((u64)(v)) << 32)
112#define p4_config_pack_cccr(v) (((u64)(v)) & 0xffffffffULL)
113#define p4_config_unpack_escr(v) (((u64)(v)) >> 32)
114#define p4_config_unpack_cccr(v) (((u64)(v)) & 0xffffffffULL)
115
116#define p4_config_unpack_emask(v) \
117 ({ \
118 u32 t = p4_config_unpack_escr((v)); \
119 t = t & P4_ESCR_EVENTMASK_MASK; \
120 t = t >> P4_ESCR_EVENTMASK_SHIFT; \
121 t; \
122 })
123
124#define p4_config_unpack_event(v) \
125 ({ \
126 u32 t = p4_config_unpack_escr((v)); \
127 t = t & P4_ESCR_EVENT_MASK; \
128 t = t >> P4_ESCR_EVENT_SHIFT; \
129 t; \
130 })
131
132#define p4_config_unpack_cache_event(v) (((u64)(v)) & P4_CCCR_CACHE_OPS_MASK)
133
134#define P4_CONFIG_HT_SHIFT 63
135#define P4_CONFIG_HT (1ULL << P4_CONFIG_HT_SHIFT)
136
137static inline bool p4_is_event_cascaded(u64 config)
138{
139 u32 cccr = p4_config_unpack_cccr(config);
140 return !!(cccr & P4_CCCR_CASCADE);
141}
142
143static inline int p4_ht_config_thread(u64 config)
144{
145 return !!(config & P4_CONFIG_HT);
146}
147
148static inline u64 p4_set_ht_bit(u64 config)
149{
150 return config | P4_CONFIG_HT;
151}
152
153static inline u64 p4_clear_ht_bit(u64 config)
154{
155 return config & ~P4_CONFIG_HT;
156}
157
158static inline int p4_ht_active(void)
159{
160#ifdef CONFIG_SMP
161 return smp_num_siblings > 1;
162#endif
163 return 0;
164}
165
166static inline int p4_ht_thread(int cpu)
167{
168#ifdef CONFIG_SMP
169 if (smp_num_siblings == 2)
170 return cpu != cpumask_first(__get_cpu_var(cpu_sibling_map));
171#endif
172 return 0;
173}
174
175static inline int p4_should_swap_ts(u64 config, int cpu)
176{
177 return p4_ht_config_thread(config) ^ p4_ht_thread(cpu);
178}
179
180static inline u32 p4_default_cccr_conf(int cpu)
181{
182 /*
183 * Note that P4_CCCR_THREAD_ANY is "required" on
184 * non-HT machines (on HT machines we count TS events
185 * regardless the state of second logical processor
186 */
187 u32 cccr = P4_CCCR_THREAD_ANY;
188
189 if (!p4_ht_thread(cpu))
190 cccr |= P4_CCCR_OVF_PMI_T0;
191 else
192 cccr |= P4_CCCR_OVF_PMI_T1;
193
194 return cccr;
195}
196
197static inline u32 p4_default_escr_conf(int cpu, int exclude_os, int exclude_usr)
198{
199 u32 escr = 0;
200
201 if (!p4_ht_thread(cpu)) {
202 if (!exclude_os)
203 escr |= P4_ESCR_T0_OS;
204 if (!exclude_usr)
205 escr |= P4_ESCR_T0_USR;
206 } else {
207 if (!exclude_os)
208 escr |= P4_ESCR_T1_OS;
209 if (!exclude_usr)
210 escr |= P4_ESCR_T1_USR;
211 }
212
213 return escr;
214}
215
216enum P4_EVENTS {
217 P4_EVENT_TC_DELIVER_MODE,
218 P4_EVENT_BPU_FETCH_REQUEST,
219 P4_EVENT_ITLB_REFERENCE,
220 P4_EVENT_MEMORY_CANCEL,
221 P4_EVENT_MEMORY_COMPLETE,
222 P4_EVENT_LOAD_PORT_REPLAY,
223 P4_EVENT_STORE_PORT_REPLAY,
224 P4_EVENT_MOB_LOAD_REPLAY,
225 P4_EVENT_PAGE_WALK_TYPE,
226 P4_EVENT_BSQ_CACHE_REFERENCE,
227 P4_EVENT_IOQ_ALLOCATION,
228 P4_EVENT_IOQ_ACTIVE_ENTRIES,
229 P4_EVENT_FSB_DATA_ACTIVITY,
230 P4_EVENT_BSQ_ALLOCATION,
231 P4_EVENT_BSQ_ACTIVE_ENTRIES,
232 P4_EVENT_SSE_INPUT_ASSIST,
233 P4_EVENT_PACKED_SP_UOP,
234 P4_EVENT_PACKED_DP_UOP,
235 P4_EVENT_SCALAR_SP_UOP,
236 P4_EVENT_SCALAR_DP_UOP,
237 P4_EVENT_64BIT_MMX_UOP,
238 P4_EVENT_128BIT_MMX_UOP,
239 P4_EVENT_X87_FP_UOP,
240 P4_EVENT_TC_MISC,
241 P4_EVENT_GLOBAL_POWER_EVENTS,
242 P4_EVENT_TC_MS_XFER,
243 P4_EVENT_UOP_QUEUE_WRITES,
244 P4_EVENT_RETIRED_MISPRED_BRANCH_TYPE,
245 P4_EVENT_RETIRED_BRANCH_TYPE,
246 P4_EVENT_RESOURCE_STALL,
247 P4_EVENT_WC_BUFFER,
248 P4_EVENT_B2B_CYCLES,
249 P4_EVENT_BNR,
250 P4_EVENT_SNOOP,
251 P4_EVENT_RESPONSE,
252 P4_EVENT_FRONT_END_EVENT,
253 P4_EVENT_EXECUTION_EVENT,
254 P4_EVENT_REPLAY_EVENT,
255 P4_EVENT_INSTR_RETIRED,
256 P4_EVENT_UOPS_RETIRED,
257 P4_EVENT_UOP_TYPE,
258 P4_EVENT_BRANCH_RETIRED,
259 P4_EVENT_MISPRED_BRANCH_RETIRED,
260 P4_EVENT_X87_ASSIST,
261 P4_EVENT_MACHINE_CLEAR,
262 P4_EVENT_INSTR_COMPLETED,
263};
264
265#define P4_OPCODE(event) event##_OPCODE
266#define P4_OPCODE_ESEL(opcode) ((opcode & 0x00ff) >> 0)
267#define P4_OPCODE_EVNT(opcode) ((opcode & 0xff00) >> 8)
268#define P4_OPCODE_PACK(event, sel) (((event) << 8) | sel)
269
270/*
271 * Comments below the event represent ESCR restriction
272 * for this event and counter index per ESCR
273 *
274 * MSR_P4_IQ_ESCR0 and MSR_P4_IQ_ESCR1 are available only on early
275 * processor builds (family 0FH, models 01H-02H). These MSRs
276 * are not available on later versions, so that we don't use
277 * them completely
278 *
279 * Also note that CCCR1 do not have P4_CCCR_ENABLE bit properly
280 * working so that we should not use this CCCR and respective
281 * counter as result
282 */
283enum P4_EVENT_OPCODES {
284 P4_OPCODE(P4_EVENT_TC_DELIVER_MODE) = P4_OPCODE_PACK(0x01, 0x01),
285 /*
286 * MSR_P4_TC_ESCR0: 4, 5
287 * MSR_P4_TC_ESCR1: 6, 7
288 */
289
290 P4_OPCODE(P4_EVENT_BPU_FETCH_REQUEST) = P4_OPCODE_PACK(0x03, 0x00),
291 /*
292 * MSR_P4_BPU_ESCR0: 0, 1
293 * MSR_P4_BPU_ESCR1: 2, 3
294 */
295
296 P4_OPCODE(P4_EVENT_ITLB_REFERENCE) = P4_OPCODE_PACK(0x18, 0x03),
297 /*
298 * MSR_P4_ITLB_ESCR0: 0, 1
299 * MSR_P4_ITLB_ESCR1: 2, 3
300 */
301
302 P4_OPCODE(P4_EVENT_MEMORY_CANCEL) = P4_OPCODE_PACK(0x02, 0x05),
303 /*
304 * MSR_P4_DAC_ESCR0: 8, 9
305 * MSR_P4_DAC_ESCR1: 10, 11
306 */
307
308 P4_OPCODE(P4_EVENT_MEMORY_COMPLETE) = P4_OPCODE_PACK(0x08, 0x02),
309 /*
310 * MSR_P4_SAAT_ESCR0: 8, 9
311 * MSR_P4_SAAT_ESCR1: 10, 11
312 */
313
314 P4_OPCODE(P4_EVENT_LOAD_PORT_REPLAY) = P4_OPCODE_PACK(0x04, 0x02),
315 /*
316 * MSR_P4_SAAT_ESCR0: 8, 9
317 * MSR_P4_SAAT_ESCR1: 10, 11
318 */
319
320 P4_OPCODE(P4_EVENT_STORE_PORT_REPLAY) = P4_OPCODE_PACK(0x05, 0x02),
321 /*
322 * MSR_P4_SAAT_ESCR0: 8, 9
323 * MSR_P4_SAAT_ESCR1: 10, 11
324 */
325
326 P4_OPCODE(P4_EVENT_MOB_LOAD_REPLAY) = P4_OPCODE_PACK(0x03, 0x02),
327 /*
328 * MSR_P4_MOB_ESCR0: 0, 1
329 * MSR_P4_MOB_ESCR1: 2, 3
330 */
331
332 P4_OPCODE(P4_EVENT_PAGE_WALK_TYPE) = P4_OPCODE_PACK(0x01, 0x04),
333 /*
334 * MSR_P4_PMH_ESCR0: 0, 1
335 * MSR_P4_PMH_ESCR1: 2, 3
336 */
337
338 P4_OPCODE(P4_EVENT_BSQ_CACHE_REFERENCE) = P4_OPCODE_PACK(0x0c, 0x07),
339 /*
340 * MSR_P4_BSU_ESCR0: 0, 1
341 * MSR_P4_BSU_ESCR1: 2, 3
342 */
343
344 P4_OPCODE(P4_EVENT_IOQ_ALLOCATION) = P4_OPCODE_PACK(0x03, 0x06),
345 /*
346 * MSR_P4_FSB_ESCR0: 0, 1
347 * MSR_P4_FSB_ESCR1: 2, 3
348 */
349
350 P4_OPCODE(P4_EVENT_IOQ_ACTIVE_ENTRIES) = P4_OPCODE_PACK(0x1a, 0x06),
351 /*
352 * MSR_P4_FSB_ESCR1: 2, 3
353 */
354
355 P4_OPCODE(P4_EVENT_FSB_DATA_ACTIVITY) = P4_OPCODE_PACK(0x17, 0x06),
356 /*
357 * MSR_P4_FSB_ESCR0: 0, 1
358 * MSR_P4_FSB_ESCR1: 2, 3
359 */
360
361 P4_OPCODE(P4_EVENT_BSQ_ALLOCATION) = P4_OPCODE_PACK(0x05, 0x07),
362 /*
363 * MSR_P4_BSU_ESCR0: 0, 1
364 */
365
366 P4_OPCODE(P4_EVENT_BSQ_ACTIVE_ENTRIES) = P4_OPCODE_PACK(0x06, 0x07),
367 /*
368 * NOTE: no ESCR name in docs, it's guessed
369 * MSR_P4_BSU_ESCR1: 2, 3
370 */
371
372 P4_OPCODE(P4_EVENT_SSE_INPUT_ASSIST) = P4_OPCODE_PACK(0x34, 0x01),
373 /*
374 * MSR_P4_FIRM_ESCR0: 8, 9
375 * MSR_P4_FIRM_ESCR1: 10, 11
376 */
377
378 P4_OPCODE(P4_EVENT_PACKED_SP_UOP) = P4_OPCODE_PACK(0x08, 0x01),
379 /*
380 * MSR_P4_FIRM_ESCR0: 8, 9
381 * MSR_P4_FIRM_ESCR1: 10, 11
382 */
383
384 P4_OPCODE(P4_EVENT_PACKED_DP_UOP) = P4_OPCODE_PACK(0x0c, 0x01),
385 /*
386 * MSR_P4_FIRM_ESCR0: 8, 9
387 * MSR_P4_FIRM_ESCR1: 10, 11
388 */
389
390 P4_OPCODE(P4_EVENT_SCALAR_SP_UOP) = P4_OPCODE_PACK(0x0a, 0x01),
391 /*
392 * MSR_P4_FIRM_ESCR0: 8, 9
393 * MSR_P4_FIRM_ESCR1: 10, 11
394 */
395
396 P4_OPCODE(P4_EVENT_SCALAR_DP_UOP) = P4_OPCODE_PACK(0x0e, 0x01),
397 /*
398 * MSR_P4_FIRM_ESCR0: 8, 9
399 * MSR_P4_FIRM_ESCR1: 10, 11
400 */
401
402 P4_OPCODE(P4_EVENT_64BIT_MMX_UOP) = P4_OPCODE_PACK(0x02, 0x01),
403 /*
404 * MSR_P4_FIRM_ESCR0: 8, 9
405 * MSR_P4_FIRM_ESCR1: 10, 11
406 */
407
408 P4_OPCODE(P4_EVENT_128BIT_MMX_UOP) = P4_OPCODE_PACK(0x1a, 0x01),
409 /*
410 * MSR_P4_FIRM_ESCR0: 8, 9
411 * MSR_P4_FIRM_ESCR1: 10, 11
412 */
413
414 P4_OPCODE(P4_EVENT_X87_FP_UOP) = P4_OPCODE_PACK(0x04, 0x01),
415 /*
416 * MSR_P4_FIRM_ESCR0: 8, 9
417 * MSR_P4_FIRM_ESCR1: 10, 11
418 */
419
420 P4_OPCODE(P4_EVENT_TC_MISC) = P4_OPCODE_PACK(0x06, 0x01),
421 /*
422 * MSR_P4_TC_ESCR0: 4, 5
423 * MSR_P4_TC_ESCR1: 6, 7
424 */
425
426 P4_OPCODE(P4_EVENT_GLOBAL_POWER_EVENTS) = P4_OPCODE_PACK(0x13, 0x06),
427 /*
428 * MSR_P4_FSB_ESCR0: 0, 1
429 * MSR_P4_FSB_ESCR1: 2, 3
430 */
431
432 P4_OPCODE(P4_EVENT_TC_MS_XFER) = P4_OPCODE_PACK(0x05, 0x00),
433 /*
434 * MSR_P4_MS_ESCR0: 4, 5
435 * MSR_P4_MS_ESCR1: 6, 7
436 */
437
438 P4_OPCODE(P4_EVENT_UOP_QUEUE_WRITES) = P4_OPCODE_PACK(0x09, 0x00),
439 /*
440 * MSR_P4_MS_ESCR0: 4, 5
441 * MSR_P4_MS_ESCR1: 6, 7
442 */
443
444 P4_OPCODE(P4_EVENT_RETIRED_MISPRED_BRANCH_TYPE) = P4_OPCODE_PACK(0x05, 0x02),
445 /*
446 * MSR_P4_TBPU_ESCR0: 4, 5
447 * MSR_P4_TBPU_ESCR1: 6, 7
448 */
449
450 P4_OPCODE(P4_EVENT_RETIRED_BRANCH_TYPE) = P4_OPCODE_PACK(0x04, 0x02),
451 /*
452 * MSR_P4_TBPU_ESCR0: 4, 5
453 * MSR_P4_TBPU_ESCR1: 6, 7
454 */
455
456 P4_OPCODE(P4_EVENT_RESOURCE_STALL) = P4_OPCODE_PACK(0x01, 0x01),
457 /*
458 * MSR_P4_ALF_ESCR0: 12, 13, 16
459 * MSR_P4_ALF_ESCR1: 14, 15, 17
460 */
461
462 P4_OPCODE(P4_EVENT_WC_BUFFER) = P4_OPCODE_PACK(0x05, 0x05),
463 /*
464 * MSR_P4_DAC_ESCR0: 8, 9
465 * MSR_P4_DAC_ESCR1: 10, 11
466 */
467
468 P4_OPCODE(P4_EVENT_B2B_CYCLES) = P4_OPCODE_PACK(0x16, 0x03),
469 /*
470 * MSR_P4_FSB_ESCR0: 0, 1
471 * MSR_P4_FSB_ESCR1: 2, 3
472 */
473
474 P4_OPCODE(P4_EVENT_BNR) = P4_OPCODE_PACK(0x08, 0x03),
475 /*
476 * MSR_P4_FSB_ESCR0: 0, 1
477 * MSR_P4_FSB_ESCR1: 2, 3
478 */
479
480 P4_OPCODE(P4_EVENT_SNOOP) = P4_OPCODE_PACK(0x06, 0x03),
481 /*
482 * MSR_P4_FSB_ESCR0: 0, 1
483 * MSR_P4_FSB_ESCR1: 2, 3
484 */
485
486 P4_OPCODE(P4_EVENT_RESPONSE) = P4_OPCODE_PACK(0x04, 0x03),
487 /*
488 * MSR_P4_FSB_ESCR0: 0, 1
489 * MSR_P4_FSB_ESCR1: 2, 3
490 */
491
492 P4_OPCODE(P4_EVENT_FRONT_END_EVENT) = P4_OPCODE_PACK(0x08, 0x05),
493 /*
494 * MSR_P4_CRU_ESCR2: 12, 13, 16
495 * MSR_P4_CRU_ESCR3: 14, 15, 17
496 */
497
498 P4_OPCODE(P4_EVENT_EXECUTION_EVENT) = P4_OPCODE_PACK(0x0c, 0x05),
499 /*
500 * MSR_P4_CRU_ESCR2: 12, 13, 16
501 * MSR_P4_CRU_ESCR3: 14, 15, 17
502 */
503
504 P4_OPCODE(P4_EVENT_REPLAY_EVENT) = P4_OPCODE_PACK(0x09, 0x05),
505 /*
506 * MSR_P4_CRU_ESCR2: 12, 13, 16
507 * MSR_P4_CRU_ESCR3: 14, 15, 17
508 */
509
510 P4_OPCODE(P4_EVENT_INSTR_RETIRED) = P4_OPCODE_PACK(0x02, 0x04),
511 /*
512 * MSR_P4_CRU_ESCR0: 12, 13, 16
513 * MSR_P4_CRU_ESCR1: 14, 15, 17
514 */
515
516 P4_OPCODE(P4_EVENT_UOPS_RETIRED) = P4_OPCODE_PACK(0x01, 0x04),
517 /*
518 * MSR_P4_CRU_ESCR0: 12, 13, 16
519 * MSR_P4_CRU_ESCR1: 14, 15, 17
520 */
521
522 P4_OPCODE(P4_EVENT_UOP_TYPE) = P4_OPCODE_PACK(0x02, 0x02),
523 /*
524 * MSR_P4_RAT_ESCR0: 12, 13, 16
525 * MSR_P4_RAT_ESCR1: 14, 15, 17
526 */
527
528 P4_OPCODE(P4_EVENT_BRANCH_RETIRED) = P4_OPCODE_PACK(0x06, 0x05),
529 /*
530 * MSR_P4_CRU_ESCR2: 12, 13, 16
531 * MSR_P4_CRU_ESCR3: 14, 15, 17
532 */
533
534 P4_OPCODE(P4_EVENT_MISPRED_BRANCH_RETIRED) = P4_OPCODE_PACK(0x03, 0x04),
535 /*
536 * MSR_P4_CRU_ESCR0: 12, 13, 16
537 * MSR_P4_CRU_ESCR1: 14, 15, 17
538 */
539
540 P4_OPCODE(P4_EVENT_X87_ASSIST) = P4_OPCODE_PACK(0x03, 0x05),
541 /*
542 * MSR_P4_CRU_ESCR2: 12, 13, 16
543 * MSR_P4_CRU_ESCR3: 14, 15, 17
544 */
545
546 P4_OPCODE(P4_EVENT_MACHINE_CLEAR) = P4_OPCODE_PACK(0x02, 0x05),
547 /*
548 * MSR_P4_CRU_ESCR2: 12, 13, 16
549 * MSR_P4_CRU_ESCR3: 14, 15, 17
550 */
551
552 P4_OPCODE(P4_EVENT_INSTR_COMPLETED) = P4_OPCODE_PACK(0x07, 0x04),
553 /*
554 * MSR_P4_CRU_ESCR0: 12, 13, 16
555 * MSR_P4_CRU_ESCR1: 14, 15, 17
556 */
557};
558
559/*
560 * a caller should use P4_ESCR_EMASK_NAME helper to
561 * pick the EventMask needed, for example
562 *
563 * P4_ESCR_EMASK_NAME(P4_EVENT_TC_DELIVER_MODE, DD)
564 */
565enum P4_ESCR_EMASKS {
566 P4_GEN_ESCR_EMASK(P4_EVENT_TC_DELIVER_MODE, DD, 0),
567 P4_GEN_ESCR_EMASK(P4_EVENT_TC_DELIVER_MODE, DB, 1),
568 P4_GEN_ESCR_EMASK(P4_EVENT_TC_DELIVER_MODE, DI, 2),
569 P4_GEN_ESCR_EMASK(P4_EVENT_TC_DELIVER_MODE, BD, 3),
570 P4_GEN_ESCR_EMASK(P4_EVENT_TC_DELIVER_MODE, BB, 4),
571 P4_GEN_ESCR_EMASK(P4_EVENT_TC_DELIVER_MODE, BI, 5),
572 P4_GEN_ESCR_EMASK(P4_EVENT_TC_DELIVER_MODE, ID, 6),
573
574 P4_GEN_ESCR_EMASK(P4_EVENT_BPU_FETCH_REQUEST, TCMISS, 0),
575
576 P4_GEN_ESCR_EMASK(P4_EVENT_ITLB_REFERENCE, HIT, 0),
577 P4_GEN_ESCR_EMASK(P4_EVENT_ITLB_REFERENCE, MISS, 1),
578 P4_GEN_ESCR_EMASK(P4_EVENT_ITLB_REFERENCE, HIT_UK, 2),
579
580 P4_GEN_ESCR_EMASK(P4_EVENT_MEMORY_CANCEL, ST_RB_FULL, 2),
581 P4_GEN_ESCR_EMASK(P4_EVENT_MEMORY_CANCEL, 64K_CONF, 3),
582
583 P4_GEN_ESCR_EMASK(P4_EVENT_MEMORY_COMPLETE, LSC, 0),
584 P4_GEN_ESCR_EMASK(P4_EVENT_MEMORY_COMPLETE, SSC, 1),
585
586 P4_GEN_ESCR_EMASK(P4_EVENT_LOAD_PORT_REPLAY, SPLIT_LD, 1),
587
588 P4_GEN_ESCR_EMASK(P4_EVENT_STORE_PORT_REPLAY, SPLIT_ST, 1),
589
590 P4_GEN_ESCR_EMASK(P4_EVENT_MOB_LOAD_REPLAY, NO_STA, 1),
591 P4_GEN_ESCR_EMASK(P4_EVENT_MOB_LOAD_REPLAY, NO_STD, 3),
592 P4_GEN_ESCR_EMASK(P4_EVENT_MOB_LOAD_REPLAY, PARTIAL_DATA, 4),
593 P4_GEN_ESCR_EMASK(P4_EVENT_MOB_LOAD_REPLAY, UNALGN_ADDR, 5),
594
595 P4_GEN_ESCR_EMASK(P4_EVENT_PAGE_WALK_TYPE, DTMISS, 0),
596 P4_GEN_ESCR_EMASK(P4_EVENT_PAGE_WALK_TYPE, ITMISS, 1),
597
598 P4_GEN_ESCR_EMASK(P4_EVENT_BSQ_CACHE_REFERENCE, RD_2ndL_HITS, 0),
599 P4_GEN_ESCR_EMASK(P4_EVENT_BSQ_CACHE_REFERENCE, RD_2ndL_HITE, 1),
600 P4_GEN_ESCR_EMASK(P4_EVENT_BSQ_CACHE_REFERENCE, RD_2ndL_HITM, 2),
601 P4_GEN_ESCR_EMASK(P4_EVENT_BSQ_CACHE_REFERENCE, RD_3rdL_HITS, 3),
602 P4_GEN_ESCR_EMASK(P4_EVENT_BSQ_CACHE_REFERENCE, RD_3rdL_HITE, 4),
603 P4_GEN_ESCR_EMASK(P4_EVENT_BSQ_CACHE_REFERENCE, RD_3rdL_HITM, 5),
604 P4_GEN_ESCR_EMASK(P4_EVENT_BSQ_CACHE_REFERENCE, RD_2ndL_MISS, 8),
605 P4_GEN_ESCR_EMASK(P4_EVENT_BSQ_CACHE_REFERENCE, RD_3rdL_MISS, 9),
606 P4_GEN_ESCR_EMASK(P4_EVENT_BSQ_CACHE_REFERENCE, WR_2ndL_MISS, 10),
607
608 P4_GEN_ESCR_EMASK(P4_EVENT_IOQ_ALLOCATION, DEFAULT, 0),
609 P4_GEN_ESCR_EMASK(P4_EVENT_IOQ_ALLOCATION, ALL_READ, 5),
610 P4_GEN_ESCR_EMASK(P4_EVENT_IOQ_ALLOCATION, ALL_WRITE, 6),
611 P4_GEN_ESCR_EMASK(P4_EVENT_IOQ_ALLOCATION, MEM_UC, 7),
612 P4_GEN_ESCR_EMASK(P4_EVENT_IOQ_ALLOCATION, MEM_WC, 8),
613 P4_GEN_ESCR_EMASK(P4_EVENT_IOQ_ALLOCATION, MEM_WT, 9),
614 P4_GEN_ESCR_EMASK(P4_EVENT_IOQ_ALLOCATION, MEM_WP, 10),
615 P4_GEN_ESCR_EMASK(P4_EVENT_IOQ_ALLOCATION, MEM_WB, 11),
616 P4_GEN_ESCR_EMASK(P4_EVENT_IOQ_ALLOCATION, OWN, 13),
617 P4_GEN_ESCR_EMASK(P4_EVENT_IOQ_ALLOCATION, OTHER, 14),
618 P4_GEN_ESCR_EMASK(P4_EVENT_IOQ_ALLOCATION, PREFETCH, 15),
619
620 P4_GEN_ESCR_EMASK(P4_EVENT_IOQ_ACTIVE_ENTRIES, DEFAULT, 0),
621 P4_GEN_ESCR_EMASK(P4_EVENT_IOQ_ACTIVE_ENTRIES, ALL_READ, 5),
622 P4_GEN_ESCR_EMASK(P4_EVENT_IOQ_ACTIVE_ENTRIES, ALL_WRITE, 6),
623 P4_GEN_ESCR_EMASK(P4_EVENT_IOQ_ACTIVE_ENTRIES, MEM_UC, 7),
624 P4_GEN_ESCR_EMASK(P4_EVENT_IOQ_ACTIVE_ENTRIES, MEM_WC, 8),
625 P4_GEN_ESCR_EMASK(P4_EVENT_IOQ_ACTIVE_ENTRIES, MEM_WT, 9),
626 P4_GEN_ESCR_EMASK(P4_EVENT_IOQ_ACTIVE_ENTRIES, MEM_WP, 10),
627 P4_GEN_ESCR_EMASK(P4_EVENT_IOQ_ACTIVE_ENTRIES, MEM_WB, 11),
628 P4_GEN_ESCR_EMASK(P4_EVENT_IOQ_ACTIVE_ENTRIES, OWN, 13),
629 P4_GEN_ESCR_EMASK(P4_EVENT_IOQ_ACTIVE_ENTRIES, OTHER, 14),
630 P4_GEN_ESCR_EMASK(P4_EVENT_IOQ_ACTIVE_ENTRIES, PREFETCH, 15),
631
632 P4_GEN_ESCR_EMASK(P4_EVENT_FSB_DATA_ACTIVITY, DRDY_DRV, 0),
633 P4_GEN_ESCR_EMASK(P4_EVENT_FSB_DATA_ACTIVITY, DRDY_OWN, 1),
634 P4_GEN_ESCR_EMASK(P4_EVENT_FSB_DATA_ACTIVITY, DRDY_OTHER, 2),
635 P4_GEN_ESCR_EMASK(P4_EVENT_FSB_DATA_ACTIVITY, DBSY_DRV, 3),
636 P4_GEN_ESCR_EMASK(P4_EVENT_FSB_DATA_ACTIVITY, DBSY_OWN, 4),
637 P4_GEN_ESCR_EMASK(P4_EVENT_FSB_DATA_ACTIVITY, DBSY_OTHER, 5),
638
639 P4_GEN_ESCR_EMASK(P4_EVENT_BSQ_ALLOCATION, REQ_TYPE0, 0),
640 P4_GEN_ESCR_EMASK(P4_EVENT_BSQ_ALLOCATION, REQ_TYPE1, 1),
641 P4_GEN_ESCR_EMASK(P4_EVENT_BSQ_ALLOCATION, REQ_LEN0, 2),
642 P4_GEN_ESCR_EMASK(P4_EVENT_BSQ_ALLOCATION, REQ_LEN1, 3),
643 P4_GEN_ESCR_EMASK(P4_EVENT_BSQ_ALLOCATION, REQ_IO_TYPE, 5),
644 P4_GEN_ESCR_EMASK(P4_EVENT_BSQ_ALLOCATION, REQ_LOCK_TYPE, 6),
645 P4_GEN_ESCR_EMASK(P4_EVENT_BSQ_ALLOCATION, REQ_CACHE_TYPE, 7),
646 P4_GEN_ESCR_EMASK(P4_EVENT_BSQ_ALLOCATION, REQ_SPLIT_TYPE, 8),
647 P4_GEN_ESCR_EMASK(P4_EVENT_BSQ_ALLOCATION, REQ_DEM_TYPE, 9),
648 P4_GEN_ESCR_EMASK(P4_EVENT_BSQ_ALLOCATION, REQ_ORD_TYPE, 10),
649 P4_GEN_ESCR_EMASK(P4_EVENT_BSQ_ALLOCATION, MEM_TYPE0, 11),
650 P4_GEN_ESCR_EMASK(P4_EVENT_BSQ_ALLOCATION, MEM_TYPE1, 12),
651 P4_GEN_ESCR_EMASK(P4_EVENT_BSQ_ALLOCATION, MEM_TYPE2, 13),
652
653 P4_GEN_ESCR_EMASK(P4_EVENT_BSQ_ACTIVE_ENTRIES, REQ_TYPE0, 0),
654 P4_GEN_ESCR_EMASK(P4_EVENT_BSQ_ACTIVE_ENTRIES, REQ_TYPE1, 1),
655 P4_GEN_ESCR_EMASK(P4_EVENT_BSQ_ACTIVE_ENTRIES, REQ_LEN0, 2),
656 P4_GEN_ESCR_EMASK(P4_EVENT_BSQ_ACTIVE_ENTRIES, REQ_LEN1, 3),
657 P4_GEN_ESCR_EMASK(P4_EVENT_BSQ_ACTIVE_ENTRIES, REQ_IO_TYPE, 5),
658 P4_GEN_ESCR_EMASK(P4_EVENT_BSQ_ACTIVE_ENTRIES, REQ_LOCK_TYPE, 6),
659 P4_GEN_ESCR_EMASK(P4_EVENT_BSQ_ACTIVE_ENTRIES, REQ_CACHE_TYPE, 7),
660 P4_GEN_ESCR_EMASK(P4_EVENT_BSQ_ACTIVE_ENTRIES, REQ_SPLIT_TYPE, 8),
661 P4_GEN_ESCR_EMASK(P4_EVENT_BSQ_ACTIVE_ENTRIES, REQ_DEM_TYPE, 9),
662 P4_GEN_ESCR_EMASK(P4_EVENT_BSQ_ACTIVE_ENTRIES, REQ_ORD_TYPE, 10),
663 P4_GEN_ESCR_EMASK(P4_EVENT_BSQ_ACTIVE_ENTRIES, MEM_TYPE0, 11),
664 P4_GEN_ESCR_EMASK(P4_EVENT_BSQ_ACTIVE_ENTRIES, MEM_TYPE1, 12),
665 P4_GEN_ESCR_EMASK(P4_EVENT_BSQ_ACTIVE_ENTRIES, MEM_TYPE2, 13),
666
667 P4_GEN_ESCR_EMASK(P4_EVENT_SSE_INPUT_ASSIST, ALL, 15),
668
669 P4_GEN_ESCR_EMASK(P4_EVENT_PACKED_SP_UOP, ALL, 15),
670
671 P4_GEN_ESCR_EMASK(P4_EVENT_PACKED_DP_UOP, ALL, 15),
672
673 P4_GEN_ESCR_EMASK(P4_EVENT_SCALAR_SP_UOP, ALL, 15),
674
675 P4_GEN_ESCR_EMASK(P4_EVENT_SCALAR_DP_UOP, ALL, 15),
676
677 P4_GEN_ESCR_EMASK(P4_EVENT_64BIT_MMX_UOP, ALL, 15),
678
679 P4_GEN_ESCR_EMASK(P4_EVENT_128BIT_MMX_UOP, ALL, 15),
680
681 P4_GEN_ESCR_EMASK(P4_EVENT_X87_FP_UOP, ALL, 15),
682
683 P4_GEN_ESCR_EMASK(P4_EVENT_TC_MISC, FLUSH, 4),
684
685 P4_GEN_ESCR_EMASK(P4_EVENT_GLOBAL_POWER_EVENTS, RUNNING, 0),
686
687 P4_GEN_ESCR_EMASK(P4_EVENT_TC_MS_XFER, CISC, 0),
688
689 P4_GEN_ESCR_EMASK(P4_EVENT_UOP_QUEUE_WRITES, FROM_TC_BUILD, 0),
690 P4_GEN_ESCR_EMASK(P4_EVENT_UOP_QUEUE_WRITES, FROM_TC_DELIVER, 1),
691 P4_GEN_ESCR_EMASK(P4_EVENT_UOP_QUEUE_WRITES, FROM_ROM, 2),
692
693 P4_GEN_ESCR_EMASK(P4_EVENT_RETIRED_MISPRED_BRANCH_TYPE, CONDITIONAL, 1),
694 P4_GEN_ESCR_EMASK(P4_EVENT_RETIRED_MISPRED_BRANCH_TYPE, CALL, 2),
695 P4_GEN_ESCR_EMASK(P4_EVENT_RETIRED_MISPRED_BRANCH_TYPE, RETURN, 3),
696 P4_GEN_ESCR_EMASK(P4_EVENT_RETIRED_MISPRED_BRANCH_TYPE, INDIRECT, 4),
697
698 P4_GEN_ESCR_EMASK(P4_EVENT_RETIRED_BRANCH_TYPE, CONDITIONAL, 1),
699 P4_GEN_ESCR_EMASK(P4_EVENT_RETIRED_BRANCH_TYPE, CALL, 2),
700 P4_GEN_ESCR_EMASK(P4_EVENT_RETIRED_BRANCH_TYPE, RETURN, 3),
701 P4_GEN_ESCR_EMASK(P4_EVENT_RETIRED_BRANCH_TYPE, INDIRECT, 4),
702
703 P4_GEN_ESCR_EMASK(P4_EVENT_RESOURCE_STALL, SBFULL, 5),
704
705 P4_GEN_ESCR_EMASK(P4_EVENT_WC_BUFFER, WCB_EVICTS, 0),
706 P4_GEN_ESCR_EMASK(P4_EVENT_WC_BUFFER, WCB_FULL_EVICTS, 1),
707
708 P4_GEN_ESCR_EMASK(P4_EVENT_FRONT_END_EVENT, NBOGUS, 0),
709 P4_GEN_ESCR_EMASK(P4_EVENT_FRONT_END_EVENT, BOGUS, 1),
710
711 P4_GEN_ESCR_EMASK(P4_EVENT_EXECUTION_EVENT, NBOGUS0, 0),
712 P4_GEN_ESCR_EMASK(P4_EVENT_EXECUTION_EVENT, NBOGUS1, 1),
713 P4_GEN_ESCR_EMASK(P4_EVENT_EXECUTION_EVENT, NBOGUS2, 2),
714 P4_GEN_ESCR_EMASK(P4_EVENT_EXECUTION_EVENT, NBOGUS3, 3),
715 P4_GEN_ESCR_EMASK(P4_EVENT_EXECUTION_EVENT, BOGUS0, 4),
716 P4_GEN_ESCR_EMASK(P4_EVENT_EXECUTION_EVENT, BOGUS1, 5),
717 P4_GEN_ESCR_EMASK(P4_EVENT_EXECUTION_EVENT, BOGUS2, 6),
718 P4_GEN_ESCR_EMASK(P4_EVENT_EXECUTION_EVENT, BOGUS3, 7),
719
720 P4_GEN_ESCR_EMASK(P4_EVENT_REPLAY_EVENT, NBOGUS, 0),
721 P4_GEN_ESCR_EMASK(P4_EVENT_REPLAY_EVENT, BOGUS, 1),
722
723 P4_GEN_ESCR_EMASK(P4_EVENT_INSTR_RETIRED, NBOGUSNTAG, 0),
724 P4_GEN_ESCR_EMASK(P4_EVENT_INSTR_RETIRED, NBOGUSTAG, 1),
725 P4_GEN_ESCR_EMASK(P4_EVENT_INSTR_RETIRED, BOGUSNTAG, 2),
726 P4_GEN_ESCR_EMASK(P4_EVENT_INSTR_RETIRED, BOGUSTAG, 3),
727
728 P4_GEN_ESCR_EMASK(P4_EVENT_UOPS_RETIRED, NBOGUS, 0),
729 P4_GEN_ESCR_EMASK(P4_EVENT_UOPS_RETIRED, BOGUS, 1),
730
731 P4_GEN_ESCR_EMASK(P4_EVENT_UOP_TYPE, TAGLOADS, 1),
732 P4_GEN_ESCR_EMASK(P4_EVENT_UOP_TYPE, TAGSTORES, 2),
733
734 P4_GEN_ESCR_EMASK(P4_EVENT_BRANCH_RETIRED, MMNP, 0),
735 P4_GEN_ESCR_EMASK(P4_EVENT_BRANCH_RETIRED, MMNM, 1),
736 P4_GEN_ESCR_EMASK(P4_EVENT_BRANCH_RETIRED, MMTP, 2),
737 P4_GEN_ESCR_EMASK(P4_EVENT_BRANCH_RETIRED, MMTM, 3),
738
739 P4_GEN_ESCR_EMASK(P4_EVENT_MISPRED_BRANCH_RETIRED, NBOGUS, 0),
740
741 P4_GEN_ESCR_EMASK(P4_EVENT_X87_ASSIST, FPSU, 0),
742 P4_GEN_ESCR_EMASK(P4_EVENT_X87_ASSIST, FPSO, 1),
743 P4_GEN_ESCR_EMASK(P4_EVENT_X87_ASSIST, POAO, 2),
744 P4_GEN_ESCR_EMASK(P4_EVENT_X87_ASSIST, POAU, 3),
745 P4_GEN_ESCR_EMASK(P4_EVENT_X87_ASSIST, PREA, 4),
746
747 P4_GEN_ESCR_EMASK(P4_EVENT_MACHINE_CLEAR, CLEAR, 0),
748 P4_GEN_ESCR_EMASK(P4_EVENT_MACHINE_CLEAR, MOCLEAR, 1),
749 P4_GEN_ESCR_EMASK(P4_EVENT_MACHINE_CLEAR, SMCLEAR, 2),
750
751 P4_GEN_ESCR_EMASK(P4_EVENT_INSTR_COMPLETED, NBOGUS, 0),
752 P4_GEN_ESCR_EMASK(P4_EVENT_INSTR_COMPLETED, BOGUS, 1),
753};
754
755/* P4 PEBS: stale for a while */
756#define P4_PEBS_METRIC_MASK 0x00001fffU
757#define P4_PEBS_UOB_TAG 0x01000000U
758#define P4_PEBS_ENABLE 0x02000000U
759
760/* Replay metrics for MSR_IA32_PEBS_ENABLE and MSR_P4_PEBS_MATRIX_VERT */
761#define P4_PEBS__1stl_cache_load_miss_retired 0x3000001
762#define P4_PEBS__2ndl_cache_load_miss_retired 0x3000002
763#define P4_PEBS__dtlb_load_miss_retired 0x3000004
764#define P4_PEBS__dtlb_store_miss_retired 0x3000004
765#define P4_PEBS__dtlb_all_miss_retired 0x3000004
766#define P4_PEBS__tagged_mispred_branch 0x3018000
767#define P4_PEBS__mob_load_replay_retired 0x3000200
768#define P4_PEBS__split_load_retired 0x3000400
769#define P4_PEBS__split_store_retired 0x3000400
770
771#define P4_VERT__1stl_cache_load_miss_retired 0x0000001
772#define P4_VERT__2ndl_cache_load_miss_retired 0x0000001
773#define P4_VERT__dtlb_load_miss_retired 0x0000001
774#define P4_VERT__dtlb_store_miss_retired 0x0000002
775#define P4_VERT__dtlb_all_miss_retired 0x0000003
776#define P4_VERT__tagged_mispred_branch 0x0000010
777#define P4_VERT__mob_load_replay_retired 0x0000001
778#define P4_VERT__split_load_retired 0x0000001
779#define P4_VERT__split_store_retired 0x0000002
780
781enum P4_CACHE_EVENTS {
782 P4_CACHE__NONE,
783
784 P4_CACHE__1stl_cache_load_miss_retired,
785 P4_CACHE__2ndl_cache_load_miss_retired,
786 P4_CACHE__dtlb_load_miss_retired,
787 P4_CACHE__dtlb_store_miss_retired,
788 P4_CACHE__itlb_reference_hit,
789 P4_CACHE__itlb_reference_miss,
790
791 P4_CACHE__MAX
792};
793
794#endif /* PERF_EVENT_P4_H */
diff --git a/arch/x86/include/asm/processor.h b/arch/x86/include/asm/processor.h
index b753ea59703..32428b410b5 100644
--- a/arch/x86/include/asm/processor.h
+++ b/arch/x86/include/asm/processor.h
@@ -21,7 +21,6 @@ struct mm_struct;
21#include <asm/msr.h> 21#include <asm/msr.h>
22#include <asm/desc_defs.h> 22#include <asm/desc_defs.h>
23#include <asm/nops.h> 23#include <asm/nops.h>
24#include <asm/ds.h>
25 24
26#include <linux/personality.h> 25#include <linux/personality.h>
27#include <linux/cpumask.h> 26#include <linux/cpumask.h>
@@ -29,6 +28,7 @@ struct mm_struct;
29#include <linux/threads.h> 28#include <linux/threads.h>
30#include <linux/math64.h> 29#include <linux/math64.h>
31#include <linux/init.h> 30#include <linux/init.h>
31#include <linux/err.h>
32 32
33#define HBP_NUM 4 33#define HBP_NUM 4
34/* 34/*
@@ -473,10 +473,6 @@ struct thread_struct {
473 unsigned long iopl; 473 unsigned long iopl;
474 /* Max allowed port in the bitmap, in bytes: */ 474 /* Max allowed port in the bitmap, in bytes: */
475 unsigned io_bitmap_max; 475 unsigned io_bitmap_max;
476/* MSR_IA32_DEBUGCTLMSR value to switch in if TIF_DEBUGCTLMSR is set. */
477 unsigned long debugctlmsr;
478 /* Debug Store context; see asm/ds.h */
479 struct ds_context *ds_ctx;
480}; 476};
481 477
482static inline unsigned long native_get_debugreg(int regno) 478static inline unsigned long native_get_debugreg(int regno)
@@ -803,7 +799,7 @@ extern void cpu_init(void);
803 799
804static inline unsigned long get_debugctlmsr(void) 800static inline unsigned long get_debugctlmsr(void)
805{ 801{
806 unsigned long debugctlmsr = 0; 802 unsigned long debugctlmsr = 0;
807 803
808#ifndef CONFIG_X86_DEBUGCTLMSR 804#ifndef CONFIG_X86_DEBUGCTLMSR
809 if (boot_cpu_data.x86 < 6) 805 if (boot_cpu_data.x86 < 6)
@@ -811,21 +807,6 @@ static inline unsigned long get_debugctlmsr(void)
811#endif 807#endif
812 rdmsrl(MSR_IA32_DEBUGCTLMSR, debugctlmsr); 808 rdmsrl(MSR_IA32_DEBUGCTLMSR, debugctlmsr);
813 809
814 return debugctlmsr;
815}
816
817static inline unsigned long get_debugctlmsr_on_cpu(int cpu)
818{
819 u64 debugctlmsr = 0;
820 u32 val1, val2;
821
822#ifndef CONFIG_X86_DEBUGCTLMSR
823 if (boot_cpu_data.x86 < 6)
824 return 0;
825#endif
826 rdmsr_on_cpu(cpu, MSR_IA32_DEBUGCTLMSR, &val1, &val2);
827 debugctlmsr = val1 | ((u64)val2 << 32);
828
829 return debugctlmsr; 810 return debugctlmsr;
830} 811}
831 812
@@ -838,18 +819,6 @@ static inline void update_debugctlmsr(unsigned long debugctlmsr)
838 wrmsrl(MSR_IA32_DEBUGCTLMSR, debugctlmsr); 819 wrmsrl(MSR_IA32_DEBUGCTLMSR, debugctlmsr);
839} 820}
840 821
841static inline void update_debugctlmsr_on_cpu(int cpu,
842 unsigned long debugctlmsr)
843{
844#ifndef CONFIG_X86_DEBUGCTLMSR
845 if (boot_cpu_data.x86 < 6)
846 return;
847#endif
848 wrmsr_on_cpu(cpu, MSR_IA32_DEBUGCTLMSR,
849 (u32)((u64)debugctlmsr),
850 (u32)((u64)debugctlmsr >> 32));
851}
852
853/* 822/*
854 * from system description table in BIOS. Mostly for MCA use, but 823 * from system description table in BIOS. Mostly for MCA use, but
855 * others may find it useful: 824 * others may find it useful:
diff --git a/arch/x86/include/asm/ptrace-abi.h b/arch/x86/include/asm/ptrace-abi.h
index 86723035a51..52b098a6eeb 100644
--- a/arch/x86/include/asm/ptrace-abi.h
+++ b/arch/x86/include/asm/ptrace-abi.h
@@ -82,61 +82,6 @@
82 82
83#ifndef __ASSEMBLY__ 83#ifndef __ASSEMBLY__
84#include <linux/types.h> 84#include <linux/types.h>
85 85#endif
86/* configuration/status structure used in PTRACE_BTS_CONFIG and
87 PTRACE_BTS_STATUS commands.
88*/
89struct ptrace_bts_config {
90 /* requested or actual size of BTS buffer in bytes */
91 __u32 size;
92 /* bitmask of below flags */
93 __u32 flags;
94 /* buffer overflow signal */
95 __u32 signal;
96 /* actual size of bts_struct in bytes */
97 __u32 bts_size;
98};
99#endif /* __ASSEMBLY__ */
100
101#define PTRACE_BTS_O_TRACE 0x1 /* branch trace */
102#define PTRACE_BTS_O_SCHED 0x2 /* scheduling events w/ jiffies */
103#define PTRACE_BTS_O_SIGNAL 0x4 /* send SIG<signal> on buffer overflow
104 instead of wrapping around */
105#define PTRACE_BTS_O_ALLOC 0x8 /* (re)allocate buffer */
106
107#define PTRACE_BTS_CONFIG 40
108/* Configure branch trace recording.
109 ADDR points to a struct ptrace_bts_config.
110 DATA gives the size of that buffer.
111 A new buffer is allocated, if requested in the flags.
112 An overflow signal may only be requested for new buffers.
113 Returns the number of bytes read.
114*/
115#define PTRACE_BTS_STATUS 41
116/* Return the current configuration in a struct ptrace_bts_config
117 pointed to by ADDR; DATA gives the size of that buffer.
118 Returns the number of bytes written.
119*/
120#define PTRACE_BTS_SIZE 42
121/* Return the number of available BTS records for draining.
122 DATA and ADDR are ignored.
123*/
124#define PTRACE_BTS_GET 43
125/* Get a single BTS record.
126 DATA defines the index into the BTS array, where 0 is the newest
127 entry, and higher indices refer to older entries.
128 ADDR is pointing to struct bts_struct (see asm/ds.h).
129*/
130#define PTRACE_BTS_CLEAR 44
131/* Clear the BTS buffer.
132 DATA and ADDR are ignored.
133*/
134#define PTRACE_BTS_DRAIN 45
135/* Read all available BTS records and clear the buffer.
136 ADDR points to an array of struct bts_struct.
137 DATA gives the size of that buffer.
138 BTS records are read from oldest to newest.
139 Returns number of BTS records drained.
140*/
141 86
142#endif /* _ASM_X86_PTRACE_ABI_H */ 87#endif /* _ASM_X86_PTRACE_ABI_H */
diff --git a/arch/x86/include/asm/ptrace.h b/arch/x86/include/asm/ptrace.h
index 69a686a7dff..78cd1ea9450 100644
--- a/arch/x86/include/asm/ptrace.h
+++ b/arch/x86/include/asm/ptrace.h
@@ -289,12 +289,6 @@ extern int do_get_thread_area(struct task_struct *p, int idx,
289extern int do_set_thread_area(struct task_struct *p, int idx, 289extern int do_set_thread_area(struct task_struct *p, int idx,
290 struct user_desc __user *info, int can_allocate); 290 struct user_desc __user *info, int can_allocate);
291 291
292#ifdef CONFIG_X86_PTRACE_BTS
293extern void ptrace_bts_untrace(struct task_struct *tsk);
294
295#define arch_ptrace_untrace(tsk) ptrace_bts_untrace(tsk)
296#endif /* CONFIG_X86_PTRACE_BTS */
297
298#endif /* __KERNEL__ */ 292#endif /* __KERNEL__ */
299 293
300#endif /* !__ASSEMBLY__ */ 294#endif /* !__ASSEMBLY__ */
diff --git a/arch/x86/include/asm/thread_info.h b/arch/x86/include/asm/thread_info.h
index e0d28901e96..d017ed5502e 100644
--- a/arch/x86/include/asm/thread_info.h
+++ b/arch/x86/include/asm/thread_info.h
@@ -92,8 +92,7 @@ struct thread_info {
92#define TIF_IO_BITMAP 22 /* uses I/O bitmap */ 92#define TIF_IO_BITMAP 22 /* uses I/O bitmap */
93#define TIF_FREEZE 23 /* is freezing for suspend */ 93#define TIF_FREEZE 23 /* is freezing for suspend */
94#define TIF_FORCED_TF 24 /* true if TF in eflags artificially */ 94#define TIF_FORCED_TF 24 /* true if TF in eflags artificially */
95#define TIF_DEBUGCTLMSR 25 /* uses thread_struct.debugctlmsr */ 95#define TIF_BLOCKSTEP 25 /* set when we want DEBUGCTLMSR_BTF */
96#define TIF_DS_AREA_MSR 26 /* uses thread_struct.ds_area_msr */
97#define TIF_LAZY_MMU_UPDATES 27 /* task is updating the mmu lazily */ 96#define TIF_LAZY_MMU_UPDATES 27 /* task is updating the mmu lazily */
98#define TIF_SYSCALL_TRACEPOINT 28 /* syscall tracepoint instrumentation */ 97#define TIF_SYSCALL_TRACEPOINT 28 /* syscall tracepoint instrumentation */
99 98
@@ -115,8 +114,7 @@ struct thread_info {
115#define _TIF_IO_BITMAP (1 << TIF_IO_BITMAP) 114#define _TIF_IO_BITMAP (1 << TIF_IO_BITMAP)
116#define _TIF_FREEZE (1 << TIF_FREEZE) 115#define _TIF_FREEZE (1 << TIF_FREEZE)
117#define _TIF_FORCED_TF (1 << TIF_FORCED_TF) 116#define _TIF_FORCED_TF (1 << TIF_FORCED_TF)
118#define _TIF_DEBUGCTLMSR (1 << TIF_DEBUGCTLMSR) 117#define _TIF_BLOCKSTEP (1 << TIF_BLOCKSTEP)
119#define _TIF_DS_AREA_MSR (1 << TIF_DS_AREA_MSR)
120#define _TIF_LAZY_MMU_UPDATES (1 << TIF_LAZY_MMU_UPDATES) 118#define _TIF_LAZY_MMU_UPDATES (1 << TIF_LAZY_MMU_UPDATES)
121#define _TIF_SYSCALL_TRACEPOINT (1 << TIF_SYSCALL_TRACEPOINT) 119#define _TIF_SYSCALL_TRACEPOINT (1 << TIF_SYSCALL_TRACEPOINT)
122 120
@@ -147,7 +145,7 @@ struct thread_info {
147 145
148/* flags to check in __switch_to() */ 146/* flags to check in __switch_to() */
149#define _TIF_WORK_CTXSW \ 147#define _TIF_WORK_CTXSW \
150 (_TIF_IO_BITMAP|_TIF_DEBUGCTLMSR|_TIF_DS_AREA_MSR|_TIF_NOTSC) 148 (_TIF_IO_BITMAP|_TIF_NOTSC|_TIF_BLOCKSTEP)
151 149
152#define _TIF_WORK_CTXSW_PREV (_TIF_WORK_CTXSW|_TIF_USER_RETURN_NOTIFY) 150#define _TIF_WORK_CTXSW_PREV (_TIF_WORK_CTXSW|_TIF_USER_RETURN_NOTIFY)
153#define _TIF_WORK_CTXSW_NEXT (_TIF_WORK_CTXSW|_TIF_DEBUG) 151#define _TIF_WORK_CTXSW_NEXT (_TIF_WORK_CTXSW|_TIF_DEBUG)
diff --git a/arch/x86/kernel/Makefile b/arch/x86/kernel/Makefile
index 4c58352209e..e77b2208372 100644
--- a/arch/x86/kernel/Makefile
+++ b/arch/x86/kernel/Makefile
@@ -47,8 +47,6 @@ obj-$(CONFIG_X86_TRAMPOLINE) += trampoline.o
47obj-y += process.o 47obj-y += process.o
48obj-y += i387.o xsave.o 48obj-y += i387.o xsave.o
49obj-y += ptrace.o 49obj-y += ptrace.o
50obj-$(CONFIG_X86_DS) += ds.o
51obj-$(CONFIG_X86_DS_SELFTEST) += ds_selftest.o
52obj-$(CONFIG_X86_32) += tls.o 50obj-$(CONFIG_X86_32) += tls.o
53obj-$(CONFIG_IA32_EMULATION) += tls.o 51obj-$(CONFIG_IA32_EMULATION) += tls.o
54obj-y += step.o 52obj-y += step.o
diff --git a/arch/x86/kernel/amd_iommu.c b/arch/x86/kernel/amd_iommu.c
index f854d89b7ed..fa5a1474cd1 100644
--- a/arch/x86/kernel/amd_iommu.c
+++ b/arch/x86/kernel/amd_iommu.c
@@ -731,18 +731,22 @@ static bool increase_address_space(struct protection_domain *domain,
731 731
732static u64 *alloc_pte(struct protection_domain *domain, 732static u64 *alloc_pte(struct protection_domain *domain,
733 unsigned long address, 733 unsigned long address,
734 int end_lvl, 734 unsigned long page_size,
735 u64 **pte_page, 735 u64 **pte_page,
736 gfp_t gfp) 736 gfp_t gfp)
737{ 737{
738 int level, end_lvl;
738 u64 *pte, *page; 739 u64 *pte, *page;
739 int level; 740
741 BUG_ON(!is_power_of_2(page_size));
740 742
741 while (address > PM_LEVEL_SIZE(domain->mode)) 743 while (address > PM_LEVEL_SIZE(domain->mode))
742 increase_address_space(domain, gfp); 744 increase_address_space(domain, gfp);
743 745
744 level = domain->mode - 1; 746 level = domain->mode - 1;
745 pte = &domain->pt_root[PM_LEVEL_INDEX(level, address)]; 747 pte = &domain->pt_root[PM_LEVEL_INDEX(level, address)];
748 address = PAGE_SIZE_ALIGN(address, page_size);
749 end_lvl = PAGE_SIZE_LEVEL(page_size);
746 750
747 while (level > end_lvl) { 751 while (level > end_lvl) {
748 if (!IOMMU_PTE_PRESENT(*pte)) { 752 if (!IOMMU_PTE_PRESENT(*pte)) {
@@ -752,6 +756,10 @@ static u64 *alloc_pte(struct protection_domain *domain,
752 *pte = PM_LEVEL_PDE(level, virt_to_phys(page)); 756 *pte = PM_LEVEL_PDE(level, virt_to_phys(page));
753 } 757 }
754 758
759 /* No level skipping support yet */
760 if (PM_PTE_LEVEL(*pte) != level)
761 return NULL;
762
755 level -= 1; 763 level -= 1;
756 764
757 pte = IOMMU_PTE_PAGE(*pte); 765 pte = IOMMU_PTE_PAGE(*pte);
@@ -769,28 +777,47 @@ static u64 *alloc_pte(struct protection_domain *domain,
769 * This function checks if there is a PTE for a given dma address. If 777 * This function checks if there is a PTE for a given dma address. If
770 * there is one, it returns the pointer to it. 778 * there is one, it returns the pointer to it.
771 */ 779 */
772static u64 *fetch_pte(struct protection_domain *domain, 780static u64 *fetch_pte(struct protection_domain *domain, unsigned long address)
773 unsigned long address, int map_size)
774{ 781{
775 int level; 782 int level;
776 u64 *pte; 783 u64 *pte;
777 784
778 level = domain->mode - 1; 785 if (address > PM_LEVEL_SIZE(domain->mode))
779 pte = &domain->pt_root[PM_LEVEL_INDEX(level, address)]; 786 return NULL;
787
788 level = domain->mode - 1;
789 pte = &domain->pt_root[PM_LEVEL_INDEX(level, address)];
780 790
781 while (level > map_size) { 791 while (level > 0) {
792
793 /* Not Present */
782 if (!IOMMU_PTE_PRESENT(*pte)) 794 if (!IOMMU_PTE_PRESENT(*pte))
783 return NULL; 795 return NULL;
784 796
797 /* Large PTE */
798 if (PM_PTE_LEVEL(*pte) == 0x07) {
799 unsigned long pte_mask, __pte;
800
801 /*
802 * If we have a series of large PTEs, make
803 * sure to return a pointer to the first one.
804 */
805 pte_mask = PTE_PAGE_SIZE(*pte);
806 pte_mask = ~((PAGE_SIZE_PTE_COUNT(pte_mask) << 3) - 1);
807 __pte = ((unsigned long)pte) & pte_mask;
808
809 return (u64 *)__pte;
810 }
811
812 /* No level skipping support yet */
813 if (PM_PTE_LEVEL(*pte) != level)
814 return NULL;
815
785 level -= 1; 816 level -= 1;
786 817
818 /* Walk to the next level */
787 pte = IOMMU_PTE_PAGE(*pte); 819 pte = IOMMU_PTE_PAGE(*pte);
788 pte = &pte[PM_LEVEL_INDEX(level, address)]; 820 pte = &pte[PM_LEVEL_INDEX(level, address)];
789
790 if ((PM_PTE_LEVEL(*pte) == 0) && level != map_size) {
791 pte = NULL;
792 break;
793 }
794 } 821 }
795 822
796 return pte; 823 return pte;
@@ -807,44 +834,84 @@ static int iommu_map_page(struct protection_domain *dom,
807 unsigned long bus_addr, 834 unsigned long bus_addr,
808 unsigned long phys_addr, 835 unsigned long phys_addr,
809 int prot, 836 int prot,
810 int map_size) 837 unsigned long page_size)
811{ 838{
812 u64 __pte, *pte; 839 u64 __pte, *pte;
813 840 int i, count;
814 bus_addr = PAGE_ALIGN(bus_addr);
815 phys_addr = PAGE_ALIGN(phys_addr);
816
817 BUG_ON(!PM_ALIGNED(map_size, bus_addr));
818 BUG_ON(!PM_ALIGNED(map_size, phys_addr));
819 841
820 if (!(prot & IOMMU_PROT_MASK)) 842 if (!(prot & IOMMU_PROT_MASK))
821 return -EINVAL; 843 return -EINVAL;
822 844
823 pte = alloc_pte(dom, bus_addr, map_size, NULL, GFP_KERNEL); 845 bus_addr = PAGE_ALIGN(bus_addr);
846 phys_addr = PAGE_ALIGN(phys_addr);
847 count = PAGE_SIZE_PTE_COUNT(page_size);
848 pte = alloc_pte(dom, bus_addr, page_size, NULL, GFP_KERNEL);
849
850 for (i = 0; i < count; ++i)
851 if (IOMMU_PTE_PRESENT(pte[i]))
852 return -EBUSY;
824 853
825 if (IOMMU_PTE_PRESENT(*pte)) 854 if (page_size > PAGE_SIZE) {
826 return -EBUSY; 855 __pte = PAGE_SIZE_PTE(phys_addr, page_size);
856 __pte |= PM_LEVEL_ENC(7) | IOMMU_PTE_P | IOMMU_PTE_FC;
857 } else
858 __pte = phys_addr | IOMMU_PTE_P | IOMMU_PTE_FC;
827 859
828 __pte = phys_addr | IOMMU_PTE_P;
829 if (prot & IOMMU_PROT_IR) 860 if (prot & IOMMU_PROT_IR)
830 __pte |= IOMMU_PTE_IR; 861 __pte |= IOMMU_PTE_IR;
831 if (prot & IOMMU_PROT_IW) 862 if (prot & IOMMU_PROT_IW)
832 __pte |= IOMMU_PTE_IW; 863 __pte |= IOMMU_PTE_IW;
833 864
834 *pte = __pte; 865 for (i = 0; i < count; ++i)
866 pte[i] = __pte;
835 867
836 update_domain(dom); 868 update_domain(dom);
837 869
838 return 0; 870 return 0;
839} 871}
840 872
841static void iommu_unmap_page(struct protection_domain *dom, 873static unsigned long iommu_unmap_page(struct protection_domain *dom,
842 unsigned long bus_addr, int map_size) 874 unsigned long bus_addr,
875 unsigned long page_size)
843{ 876{
844 u64 *pte = fetch_pte(dom, bus_addr, map_size); 877 unsigned long long unmap_size, unmapped;
878 u64 *pte;
879
880 BUG_ON(!is_power_of_2(page_size));
881
882 unmapped = 0;
845 883
846 if (pte) 884 while (unmapped < page_size) {
847 *pte = 0; 885
886 pte = fetch_pte(dom, bus_addr);
887
888 if (!pte) {
889 /*
890 * No PTE for this address
891 * move forward in 4kb steps
892 */
893 unmap_size = PAGE_SIZE;
894 } else if (PM_PTE_LEVEL(*pte) == 0) {
895 /* 4kb PTE found for this address */
896 unmap_size = PAGE_SIZE;
897 *pte = 0ULL;
898 } else {
899 int count, i;
900
901 /* Large PTE found which maps this address */
902 unmap_size = PTE_PAGE_SIZE(*pte);
903 count = PAGE_SIZE_PTE_COUNT(unmap_size);
904 for (i = 0; i < count; i++)
905 pte[i] = 0ULL;
906 }
907
908 bus_addr = (bus_addr & ~(unmap_size - 1)) + unmap_size;
909 unmapped += unmap_size;
910 }
911
912 BUG_ON(!is_power_of_2(unmapped));
913
914 return unmapped;
848} 915}
849 916
850/* 917/*
@@ -878,7 +945,7 @@ static int dma_ops_unity_map(struct dma_ops_domain *dma_dom,
878 for (addr = e->address_start; addr < e->address_end; 945 for (addr = e->address_start; addr < e->address_end;
879 addr += PAGE_SIZE) { 946 addr += PAGE_SIZE) {
880 ret = iommu_map_page(&dma_dom->domain, addr, addr, e->prot, 947 ret = iommu_map_page(&dma_dom->domain, addr, addr, e->prot,
881 PM_MAP_4k); 948 PAGE_SIZE);
882 if (ret) 949 if (ret)
883 return ret; 950 return ret;
884 /* 951 /*
@@ -1006,7 +1073,7 @@ static int alloc_new_range(struct dma_ops_domain *dma_dom,
1006 u64 *pte, *pte_page; 1073 u64 *pte, *pte_page;
1007 1074
1008 for (i = 0; i < num_ptes; ++i) { 1075 for (i = 0; i < num_ptes; ++i) {
1009 pte = alloc_pte(&dma_dom->domain, address, PM_MAP_4k, 1076 pte = alloc_pte(&dma_dom->domain, address, PAGE_SIZE,
1010 &pte_page, gfp); 1077 &pte_page, gfp);
1011 if (!pte) 1078 if (!pte)
1012 goto out_free; 1079 goto out_free;
@@ -1042,7 +1109,7 @@ static int alloc_new_range(struct dma_ops_domain *dma_dom,
1042 for (i = dma_dom->aperture[index]->offset; 1109 for (i = dma_dom->aperture[index]->offset;
1043 i < dma_dom->aperture_size; 1110 i < dma_dom->aperture_size;
1044 i += PAGE_SIZE) { 1111 i += PAGE_SIZE) {
1045 u64 *pte = fetch_pte(&dma_dom->domain, i, PM_MAP_4k); 1112 u64 *pte = fetch_pte(&dma_dom->domain, i);
1046 if (!pte || !IOMMU_PTE_PRESENT(*pte)) 1113 if (!pte || !IOMMU_PTE_PRESENT(*pte))
1047 continue; 1114 continue;
1048 1115
@@ -1712,7 +1779,7 @@ static u64* dma_ops_get_pte(struct dma_ops_domain *dom,
1712 1779
1713 pte = aperture->pte_pages[APERTURE_PAGE_INDEX(address)]; 1780 pte = aperture->pte_pages[APERTURE_PAGE_INDEX(address)];
1714 if (!pte) { 1781 if (!pte) {
1715 pte = alloc_pte(&dom->domain, address, PM_MAP_4k, &pte_page, 1782 pte = alloc_pte(&dom->domain, address, PAGE_SIZE, &pte_page,
1716 GFP_ATOMIC); 1783 GFP_ATOMIC);
1717 aperture->pte_pages[APERTURE_PAGE_INDEX(address)] = pte_page; 1784 aperture->pte_pages[APERTURE_PAGE_INDEX(address)] = pte_page;
1718 } else 1785 } else
@@ -2439,12 +2506,11 @@ static int amd_iommu_attach_device(struct iommu_domain *dom,
2439 return ret; 2506 return ret;
2440} 2507}
2441 2508
2442static int amd_iommu_map_range(struct iommu_domain *dom, 2509static int amd_iommu_map(struct iommu_domain *dom, unsigned long iova,
2443 unsigned long iova, phys_addr_t paddr, 2510 phys_addr_t paddr, int gfp_order, int iommu_prot)
2444 size_t size, int iommu_prot)
2445{ 2511{
2512 unsigned long page_size = 0x1000UL << gfp_order;
2446 struct protection_domain *domain = dom->priv; 2513 struct protection_domain *domain = dom->priv;
2447 unsigned long i, npages = iommu_num_pages(paddr, size, PAGE_SIZE);
2448 int prot = 0; 2514 int prot = 0;
2449 int ret; 2515 int ret;
2450 2516
@@ -2453,61 +2519,50 @@ static int amd_iommu_map_range(struct iommu_domain *dom,
2453 if (iommu_prot & IOMMU_WRITE) 2519 if (iommu_prot & IOMMU_WRITE)
2454 prot |= IOMMU_PROT_IW; 2520 prot |= IOMMU_PROT_IW;
2455 2521
2456 iova &= PAGE_MASK;
2457 paddr &= PAGE_MASK;
2458
2459 mutex_lock(&domain->api_lock); 2522 mutex_lock(&domain->api_lock);
2460 2523 ret = iommu_map_page(domain, iova, paddr, prot, page_size);
2461 for (i = 0; i < npages; ++i) {
2462 ret = iommu_map_page(domain, iova, paddr, prot, PM_MAP_4k);
2463 if (ret)
2464 return ret;
2465
2466 iova += PAGE_SIZE;
2467 paddr += PAGE_SIZE;
2468 }
2469
2470 mutex_unlock(&domain->api_lock); 2524 mutex_unlock(&domain->api_lock);
2471 2525
2472 return 0; 2526 return ret;
2473} 2527}
2474 2528
2475static void amd_iommu_unmap_range(struct iommu_domain *dom, 2529static int amd_iommu_unmap(struct iommu_domain *dom, unsigned long iova,
2476 unsigned long iova, size_t size) 2530 int gfp_order)
2477{ 2531{
2478
2479 struct protection_domain *domain = dom->priv; 2532 struct protection_domain *domain = dom->priv;
2480 unsigned long i, npages = iommu_num_pages(iova, size, PAGE_SIZE); 2533 unsigned long page_size, unmap_size;
2481 2534
2482 iova &= PAGE_MASK; 2535 page_size = 0x1000UL << gfp_order;
2483 2536
2484 mutex_lock(&domain->api_lock); 2537 mutex_lock(&domain->api_lock);
2485 2538 unmap_size = iommu_unmap_page(domain, iova, page_size);
2486 for (i = 0; i < npages; ++i) { 2539 mutex_unlock(&domain->api_lock);
2487 iommu_unmap_page(domain, iova, PM_MAP_4k);
2488 iova += PAGE_SIZE;
2489 }
2490 2540
2491 iommu_flush_tlb_pde(domain); 2541 iommu_flush_tlb_pde(domain);
2492 2542
2493 mutex_unlock(&domain->api_lock); 2543 return get_order(unmap_size);
2494} 2544}
2495 2545
2496static phys_addr_t amd_iommu_iova_to_phys(struct iommu_domain *dom, 2546static phys_addr_t amd_iommu_iova_to_phys(struct iommu_domain *dom,
2497 unsigned long iova) 2547 unsigned long iova)
2498{ 2548{
2499 struct protection_domain *domain = dom->priv; 2549 struct protection_domain *domain = dom->priv;
2500 unsigned long offset = iova & ~PAGE_MASK; 2550 unsigned long offset_mask;
2501 phys_addr_t paddr; 2551 phys_addr_t paddr;
2502 u64 *pte; 2552 u64 *pte, __pte;
2503 2553
2504 pte = fetch_pte(domain, iova, PM_MAP_4k); 2554 pte = fetch_pte(domain, iova);
2505 2555
2506 if (!pte || !IOMMU_PTE_PRESENT(*pte)) 2556 if (!pte || !IOMMU_PTE_PRESENT(*pte))
2507 return 0; 2557 return 0;
2508 2558
2509 paddr = *pte & IOMMU_PAGE_MASK; 2559 if (PM_PTE_LEVEL(*pte) == 0)
2510 paddr |= offset; 2560 offset_mask = PAGE_SIZE - 1;
2561 else
2562 offset_mask = PTE_PAGE_SIZE(*pte) - 1;
2563
2564 __pte = *pte & PM_ADDR_MASK;
2565 paddr = (__pte & ~offset_mask) | (iova & offset_mask);
2511 2566
2512 return paddr; 2567 return paddr;
2513} 2568}
@@ -2523,8 +2578,8 @@ static struct iommu_ops amd_iommu_ops = {
2523 .domain_destroy = amd_iommu_domain_destroy, 2578 .domain_destroy = amd_iommu_domain_destroy,
2524 .attach_dev = amd_iommu_attach_device, 2579 .attach_dev = amd_iommu_attach_device,
2525 .detach_dev = amd_iommu_detach_device, 2580 .detach_dev = amd_iommu_detach_device,
2526 .map = amd_iommu_map_range, 2581 .map = amd_iommu_map,
2527 .unmap = amd_iommu_unmap_range, 2582 .unmap = amd_iommu_unmap,
2528 .iova_to_phys = amd_iommu_iova_to_phys, 2583 .iova_to_phys = amd_iommu_iova_to_phys,
2529 .domain_has_cap = amd_iommu_domain_has_cap, 2584 .domain_has_cap = amd_iommu_domain_has_cap,
2530}; 2585};
diff --git a/arch/x86/kernel/amd_iommu_init.c b/arch/x86/kernel/amd_iommu_init.c
index 6360abf993d..3bacb4d0844 100644
--- a/arch/x86/kernel/amd_iommu_init.c
+++ b/arch/x86/kernel/amd_iommu_init.c
@@ -120,6 +120,7 @@ struct ivmd_header {
120bool amd_iommu_dump; 120bool amd_iommu_dump;
121 121
122static int __initdata amd_iommu_detected; 122static int __initdata amd_iommu_detected;
123static bool __initdata amd_iommu_disabled;
123 124
124u16 amd_iommu_last_bdf; /* largest PCI device id we have 125u16 amd_iommu_last_bdf; /* largest PCI device id we have
125 to handle */ 126 to handle */
@@ -1372,6 +1373,9 @@ void __init amd_iommu_detect(void)
1372 if (no_iommu || (iommu_detected && !gart_iommu_aperture)) 1373 if (no_iommu || (iommu_detected && !gart_iommu_aperture))
1373 return; 1374 return;
1374 1375
1376 if (amd_iommu_disabled)
1377 return;
1378
1375 if (acpi_table_parse("IVRS", early_amd_iommu_detect) == 0) { 1379 if (acpi_table_parse("IVRS", early_amd_iommu_detect) == 0) {
1376 iommu_detected = 1; 1380 iommu_detected = 1;
1377 amd_iommu_detected = 1; 1381 amd_iommu_detected = 1;
@@ -1401,6 +1405,8 @@ static int __init parse_amd_iommu_options(char *str)
1401 for (; *str; ++str) { 1405 for (; *str; ++str) {
1402 if (strncmp(str, "fullflush", 9) == 0) 1406 if (strncmp(str, "fullflush", 9) == 0)
1403 amd_iommu_unmap_flush = true; 1407 amd_iommu_unmap_flush = true;
1408 if (strncmp(str, "off", 3) == 0)
1409 amd_iommu_disabled = true;
1404 } 1410 }
1405 1411
1406 return 1; 1412 return 1;
diff --git a/arch/x86/kernel/apb_timer.c b/arch/x86/kernel/apb_timer.c
index ff469e47005..a35347501d3 100644
--- a/arch/x86/kernel/apb_timer.c
+++ b/arch/x86/kernel/apb_timer.c
@@ -429,7 +429,7 @@ static int apbt_cpuhp_notify(struct notifier_block *n,
429 429
430static __init int apbt_late_init(void) 430static __init int apbt_late_init(void)
431{ 431{
432 if (disable_apbt_percpu) 432 if (disable_apbt_percpu || !apb_timer_block_enabled)
433 return 0; 433 return 0;
434 /* This notifier should be called after workqueue is ready */ 434 /* This notifier should be called after workqueue is ready */
435 hotcpu_notifier(apbt_cpuhp_notify, -20); 435 hotcpu_notifier(apbt_cpuhp_notify, -20);
diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c
index 127b8718abf..eb2789c3f72 100644
--- a/arch/x86/kernel/apic/io_apic.c
+++ b/arch/x86/kernel/apic/io_apic.c
@@ -2545,6 +2545,9 @@ void irq_force_complete_move(int irq)
2545 struct irq_desc *desc = irq_to_desc(irq); 2545 struct irq_desc *desc = irq_to_desc(irq);
2546 struct irq_cfg *cfg = desc->chip_data; 2546 struct irq_cfg *cfg = desc->chip_data;
2547 2547
2548 if (!cfg)
2549 return;
2550
2548 __irq_complete_move(&desc, cfg->vector); 2551 __irq_complete_move(&desc, cfg->vector);
2549} 2552}
2550#else 2553#else
diff --git a/arch/x86/kernel/apm_32.c b/arch/x86/kernel/apm_32.c
index 031aa887b0e..c4f9182ca3a 100644
--- a/arch/x86/kernel/apm_32.c
+++ b/arch/x86/kernel/apm_32.c
@@ -1224,7 +1224,7 @@ static void reinit_timer(void)
1224#ifdef INIT_TIMER_AFTER_SUSPEND 1224#ifdef INIT_TIMER_AFTER_SUSPEND
1225 unsigned long flags; 1225 unsigned long flags;
1226 1226
1227 spin_lock_irqsave(&i8253_lock, flags); 1227 raw_spin_lock_irqsave(&i8253_lock, flags);
1228 /* set the clock to HZ */ 1228 /* set the clock to HZ */
1229 outb_pit(0x34, PIT_MODE); /* binary, mode 2, LSB/MSB, ch 0 */ 1229 outb_pit(0x34, PIT_MODE); /* binary, mode 2, LSB/MSB, ch 0 */
1230 udelay(10); 1230 udelay(10);
@@ -1232,7 +1232,7 @@ static void reinit_timer(void)
1232 udelay(10); 1232 udelay(10);
1233 outb_pit(LATCH >> 8, PIT_CH0); /* MSB */ 1233 outb_pit(LATCH >> 8, PIT_CH0); /* MSB */
1234 udelay(10); 1234 udelay(10);
1235 spin_unlock_irqrestore(&i8253_lock, flags); 1235 raw_spin_unlock_irqrestore(&i8253_lock, flags);
1236#endif 1236#endif
1237} 1237}
1238 1238
diff --git a/arch/x86/kernel/cpu/cpufreq/powernow-k8.c b/arch/x86/kernel/cpu/cpufreq/powernow-k8.c
index d360b56e982..b6215b9798e 100644
--- a/arch/x86/kernel/cpu/cpufreq/powernow-k8.c
+++ b/arch/x86/kernel/cpu/cpufreq/powernow-k8.c
@@ -929,7 +929,8 @@ static int fill_powernow_table_pstate(struct powernow_k8_data *data,
929 powernow_table[i].index = index; 929 powernow_table[i].index = index;
930 930
931 /* Frequency may be rounded for these */ 931 /* Frequency may be rounded for these */
932 if (boot_cpu_data.x86 == 0x10 || boot_cpu_data.x86 == 0x11) { 932 if ((boot_cpu_data.x86 == 0x10 && boot_cpu_data.x86_model < 10)
933 || boot_cpu_data.x86 == 0x11) {
933 powernow_table[i].frequency = 934 powernow_table[i].frequency =
934 freq_from_fid_did(lo & 0x3f, (lo >> 6) & 7); 935 freq_from_fid_did(lo & 0x3f, (lo >> 6) & 7);
935 } else 936 } else
diff --git a/arch/x86/kernel/cpu/intel.c b/arch/x86/kernel/cpu/intel.c
index 7e1cca13af3..f5e5390d345 100644
--- a/arch/x86/kernel/cpu/intel.c
+++ b/arch/x86/kernel/cpu/intel.c
@@ -12,7 +12,6 @@
12#include <asm/processor.h> 12#include <asm/processor.h>
13#include <asm/pgtable.h> 13#include <asm/pgtable.h>
14#include <asm/msr.h> 14#include <asm/msr.h>
15#include <asm/ds.h>
16#include <asm/bugs.h> 15#include <asm/bugs.h>
17#include <asm/cpu.h> 16#include <asm/cpu.h>
18 17
@@ -47,6 +46,27 @@ static void __cpuinit early_init_intel(struct cpuinfo_x86 *c)
47 (c->x86 == 0x6 && c->x86_model >= 0x0e)) 46 (c->x86 == 0x6 && c->x86_model >= 0x0e))
48 set_cpu_cap(c, X86_FEATURE_CONSTANT_TSC); 47 set_cpu_cap(c, X86_FEATURE_CONSTANT_TSC);
49 48
49 /*
50 * Atom erratum AAE44/AAF40/AAG38/AAH41:
51 *
52 * A race condition between speculative fetches and invalidating
53 * a large page. This is worked around in microcode, but we
54 * need the microcode to have already been loaded... so if it is
55 * not, recommend a BIOS update and disable large pages.
56 */
57 if (c->x86 == 6 && c->x86_model == 0x1c && c->x86_mask <= 2) {
58 u32 ucode, junk;
59
60 wrmsr(MSR_IA32_UCODE_REV, 0, 0);
61 sync_core();
62 rdmsr(MSR_IA32_UCODE_REV, junk, ucode);
63
64 if (ucode < 0x20e) {
65 printk(KERN_WARNING "Atom PSE erratum detected, BIOS microcode update recommended\n");
66 clear_cpu_cap(c, X86_FEATURE_PSE);
67 }
68 }
69
50#ifdef CONFIG_X86_64 70#ifdef CONFIG_X86_64
51 set_cpu_cap(c, X86_FEATURE_SYSENTER32); 71 set_cpu_cap(c, X86_FEATURE_SYSENTER32);
52#else 72#else
@@ -367,7 +387,6 @@ static void __cpuinit init_intel(struct cpuinfo_x86 *c)
367 set_cpu_cap(c, X86_FEATURE_BTS); 387 set_cpu_cap(c, X86_FEATURE_BTS);
368 if (!(l1 & (1<<12))) 388 if (!(l1 & (1<<12)))
369 set_cpu_cap(c, X86_FEATURE_PEBS); 389 set_cpu_cap(c, X86_FEATURE_PEBS);
370 ds_init_intel(c);
371 } 390 }
372 391
373 if (c->x86 == 6 && c->x86_model == 29 && cpu_has_clflush) 392 if (c->x86 == 6 && c->x86_model == 29 && cpu_has_clflush)
diff --git a/arch/x86/kernel/cpu/intel_cacheinfo.c b/arch/x86/kernel/cpu/intel_cacheinfo.c
index b3eeb66c0a5..95962a93f99 100644
--- a/arch/x86/kernel/cpu/intel_cacheinfo.c
+++ b/arch/x86/kernel/cpu/intel_cacheinfo.c
@@ -340,6 +340,10 @@ amd_check_l3_disable(int index, struct _cpuid4_info_regs *this_leaf)
340 (boot_cpu_data.x86_mask < 0x1))) 340 (boot_cpu_data.x86_mask < 0x1)))
341 return; 341 return;
342 342
343 /* not in virtualized environments */
344 if (num_k8_northbridges == 0)
345 return;
346
343 this_leaf->can_disable = true; 347 this_leaf->can_disable = true;
344 this_leaf->l3_indices = amd_calc_l3_indices(); 348 this_leaf->l3_indices = amd_calc_l3_indices();
345} 349}
diff --git a/arch/x86/kernel/cpu/perf_event.c b/arch/x86/kernel/cpu/perf_event.c
index db5bdc8addf..fd4db0db370 100644
--- a/arch/x86/kernel/cpu/perf_event.c
+++ b/arch/x86/kernel/cpu/perf_event.c
@@ -31,46 +31,51 @@
31#include <asm/nmi.h> 31#include <asm/nmi.h>
32#include <asm/compat.h> 32#include <asm/compat.h>
33 33
34static u64 perf_event_mask __read_mostly; 34#if 0
35#undef wrmsrl
36#define wrmsrl(msr, val) \
37do { \
38 trace_printk("wrmsrl(%lx, %lx)\n", (unsigned long)(msr),\
39 (unsigned long)(val)); \
40 native_write_msr((msr), (u32)((u64)(val)), \
41 (u32)((u64)(val) >> 32)); \
42} while (0)
43#endif
35 44
36/* The maximal number of PEBS events: */ 45/*
37#define MAX_PEBS_EVENTS 4 46 * best effort, GUP based copy_from_user() that assumes IRQ or NMI context
47 */
48static unsigned long
49copy_from_user_nmi(void *to, const void __user *from, unsigned long n)
50{
51 unsigned long offset, addr = (unsigned long)from;
52 int type = in_nmi() ? KM_NMI : KM_IRQ0;
53 unsigned long size, len = 0;
54 struct page *page;
55 void *map;
56 int ret;
38 57
39/* The size of a BTS record in bytes: */ 58 do {
40#define BTS_RECORD_SIZE 24 59 ret = __get_user_pages_fast(addr, 1, 0, &page);
60 if (!ret)
61 break;
41 62
42/* The size of a per-cpu BTS buffer in bytes: */ 63 offset = addr & (PAGE_SIZE - 1);
43#define BTS_BUFFER_SIZE (BTS_RECORD_SIZE * 2048) 64 size = min(PAGE_SIZE - offset, n - len);
44 65
45/* The BTS overflow threshold in bytes from the end of the buffer: */ 66 map = kmap_atomic(page, type);
46#define BTS_OVFL_TH (BTS_RECORD_SIZE * 128) 67 memcpy(to, map+offset, size);
68 kunmap_atomic(map, type);
69 put_page(page);
47 70
71 len += size;
72 to += size;
73 addr += size;
48 74
49/* 75 } while (len < n);
50 * Bits in the debugctlmsr controlling branch tracing.
51 */
52#define X86_DEBUGCTL_TR (1 << 6)
53#define X86_DEBUGCTL_BTS (1 << 7)
54#define X86_DEBUGCTL_BTINT (1 << 8)
55#define X86_DEBUGCTL_BTS_OFF_OS (1 << 9)
56#define X86_DEBUGCTL_BTS_OFF_USR (1 << 10)
57 76
58/* 77 return len;
59 * A debug store configuration. 78}
60 *
61 * We only support architectures that use 64bit fields.
62 */
63struct debug_store {
64 u64 bts_buffer_base;
65 u64 bts_index;
66 u64 bts_absolute_maximum;
67 u64 bts_interrupt_threshold;
68 u64 pebs_buffer_base;
69 u64 pebs_index;
70 u64 pebs_absolute_maximum;
71 u64 pebs_interrupt_threshold;
72 u64 pebs_event_reset[MAX_PEBS_EVENTS];
73};
74 79
75struct event_constraint { 80struct event_constraint {
76 union { 81 union {
@@ -89,18 +94,41 @@ struct amd_nb {
89 struct event_constraint event_constraints[X86_PMC_IDX_MAX]; 94 struct event_constraint event_constraints[X86_PMC_IDX_MAX];
90}; 95};
91 96
97#define MAX_LBR_ENTRIES 16
98
92struct cpu_hw_events { 99struct cpu_hw_events {
100 /*
101 * Generic x86 PMC bits
102 */
93 struct perf_event *events[X86_PMC_IDX_MAX]; /* in counter order */ 103 struct perf_event *events[X86_PMC_IDX_MAX]; /* in counter order */
94 unsigned long active_mask[BITS_TO_LONGS(X86_PMC_IDX_MAX)]; 104 unsigned long active_mask[BITS_TO_LONGS(X86_PMC_IDX_MAX)];
95 unsigned long interrupts;
96 int enabled; 105 int enabled;
97 struct debug_store *ds;
98 106
99 int n_events; 107 int n_events;
100 int n_added; 108 int n_added;
101 int assign[X86_PMC_IDX_MAX]; /* event to counter assignment */ 109 int assign[X86_PMC_IDX_MAX]; /* event to counter assignment */
102 u64 tags[X86_PMC_IDX_MAX]; 110 u64 tags[X86_PMC_IDX_MAX];
103 struct perf_event *event_list[X86_PMC_IDX_MAX]; /* in enabled order */ 111 struct perf_event *event_list[X86_PMC_IDX_MAX]; /* in enabled order */
112
113 unsigned int group_flag;
114
115 /*
116 * Intel DebugStore bits
117 */
118 struct debug_store *ds;
119 u64 pebs_enabled;
120
121 /*
122 * Intel LBR bits
123 */
124 int lbr_users;
125 void *lbr_context;
126 struct perf_branch_stack lbr_stack;
127 struct perf_branch_entry lbr_entries[MAX_LBR_ENTRIES];
128
129 /*
130 * AMD specific bits
131 */
104 struct amd_nb *amd_nb; 132 struct amd_nb *amd_nb;
105}; 133};
106 134
@@ -114,44 +142,75 @@ struct cpu_hw_events {
114#define EVENT_CONSTRAINT(c, n, m) \ 142#define EVENT_CONSTRAINT(c, n, m) \
115 __EVENT_CONSTRAINT(c, n, m, HWEIGHT(n)) 143 __EVENT_CONSTRAINT(c, n, m, HWEIGHT(n))
116 144
145/*
146 * Constraint on the Event code.
147 */
117#define INTEL_EVENT_CONSTRAINT(c, n) \ 148#define INTEL_EVENT_CONSTRAINT(c, n) \
118 EVENT_CONSTRAINT(c, n, INTEL_ARCH_EVTSEL_MASK) 149 EVENT_CONSTRAINT(c, n, ARCH_PERFMON_EVENTSEL_EVENT)
119 150
151/*
152 * Constraint on the Event code + UMask + fixed-mask
153 *
154 * filter mask to validate fixed counter events.
155 * the following filters disqualify for fixed counters:
156 * - inv
157 * - edge
158 * - cnt-mask
159 * The other filters are supported by fixed counters.
160 * The any-thread option is supported starting with v3.
161 */
120#define FIXED_EVENT_CONSTRAINT(c, n) \ 162#define FIXED_EVENT_CONSTRAINT(c, n) \
121 EVENT_CONSTRAINT(c, (1ULL << (32+n)), INTEL_ARCH_FIXED_MASK) 163 EVENT_CONSTRAINT(c, (1ULL << (32+n)), X86_RAW_EVENT_MASK)
164
165/*
166 * Constraint on the Event code + UMask
167 */
168#define PEBS_EVENT_CONSTRAINT(c, n) \
169 EVENT_CONSTRAINT(c, n, INTEL_ARCH_EVENT_MASK)
122 170
123#define EVENT_CONSTRAINT_END \ 171#define EVENT_CONSTRAINT_END \
124 EVENT_CONSTRAINT(0, 0, 0) 172 EVENT_CONSTRAINT(0, 0, 0)
125 173
126#define for_each_event_constraint(e, c) \ 174#define for_each_event_constraint(e, c) \
127 for ((e) = (c); (e)->cmask; (e)++) 175 for ((e) = (c); (e)->weight; (e)++)
176
177union perf_capabilities {
178 struct {
179 u64 lbr_format : 6;
180 u64 pebs_trap : 1;
181 u64 pebs_arch_reg : 1;
182 u64 pebs_format : 4;
183 u64 smm_freeze : 1;
184 };
185 u64 capabilities;
186};
128 187
129/* 188/*
130 * struct x86_pmu - generic x86 pmu 189 * struct x86_pmu - generic x86 pmu
131 */ 190 */
132struct x86_pmu { 191struct x86_pmu {
192 /*
193 * Generic x86 PMC bits
194 */
133 const char *name; 195 const char *name;
134 int version; 196 int version;
135 int (*handle_irq)(struct pt_regs *); 197 int (*handle_irq)(struct pt_regs *);
136 void (*disable_all)(void); 198 void (*disable_all)(void);
137 void (*enable_all)(void); 199 void (*enable_all)(int added);
138 void (*enable)(struct perf_event *); 200 void (*enable)(struct perf_event *);
139 void (*disable)(struct perf_event *); 201 void (*disable)(struct perf_event *);
202 int (*hw_config)(struct perf_event *event);
203 int (*schedule_events)(struct cpu_hw_events *cpuc, int n, int *assign);
140 unsigned eventsel; 204 unsigned eventsel;
141 unsigned perfctr; 205 unsigned perfctr;
142 u64 (*event_map)(int); 206 u64 (*event_map)(int);
143 u64 (*raw_event)(u64);
144 int max_events; 207 int max_events;
145 int num_events; 208 int num_counters;
146 int num_events_fixed; 209 int num_counters_fixed;
147 int event_bits; 210 int cntval_bits;
148 u64 event_mask; 211 u64 cntval_mask;
149 int apic; 212 int apic;
150 u64 max_period; 213 u64 max_period;
151 u64 intel_ctrl;
152 void (*enable_bts)(u64 config);
153 void (*disable_bts)(void);
154
155 struct event_constraint * 214 struct event_constraint *
156 (*get_event_constraints)(struct cpu_hw_events *cpuc, 215 (*get_event_constraints)(struct cpu_hw_events *cpuc,
157 struct perf_event *event); 216 struct perf_event *event);
@@ -159,11 +218,32 @@ struct x86_pmu {
159 void (*put_event_constraints)(struct cpu_hw_events *cpuc, 218 void (*put_event_constraints)(struct cpu_hw_events *cpuc,
160 struct perf_event *event); 219 struct perf_event *event);
161 struct event_constraint *event_constraints; 220 struct event_constraint *event_constraints;
221 void (*quirks)(void);
162 222
163 int (*cpu_prepare)(int cpu); 223 int (*cpu_prepare)(int cpu);
164 void (*cpu_starting)(int cpu); 224 void (*cpu_starting)(int cpu);
165 void (*cpu_dying)(int cpu); 225 void (*cpu_dying)(int cpu);
166 void (*cpu_dead)(int cpu); 226 void (*cpu_dead)(int cpu);
227
228 /*
229 * Intel Arch Perfmon v2+
230 */
231 u64 intel_ctrl;
232 union perf_capabilities intel_cap;
233
234 /*
235 * Intel DebugStore bits
236 */
237 int bts, pebs;
238 int pebs_record_size;
239 void (*drain_pebs)(struct pt_regs *regs);
240 struct event_constraint *pebs_constraints;
241
242 /*
243 * Intel LBR
244 */
245 unsigned long lbr_tos, lbr_from, lbr_to; /* MSR base regs */
246 int lbr_nr; /* hardware stack size */
167}; 247};
168 248
169static struct x86_pmu x86_pmu __read_mostly; 249static struct x86_pmu x86_pmu __read_mostly;
@@ -198,7 +278,7 @@ static u64
198x86_perf_event_update(struct perf_event *event) 278x86_perf_event_update(struct perf_event *event)
199{ 279{
200 struct hw_perf_event *hwc = &event->hw; 280 struct hw_perf_event *hwc = &event->hw;
201 int shift = 64 - x86_pmu.event_bits; 281 int shift = 64 - x86_pmu.cntval_bits;
202 u64 prev_raw_count, new_raw_count; 282 u64 prev_raw_count, new_raw_count;
203 int idx = hwc->idx; 283 int idx = hwc->idx;
204 s64 delta; 284 s64 delta;
@@ -241,33 +321,32 @@ again:
241static atomic_t active_events; 321static atomic_t active_events;
242static DEFINE_MUTEX(pmc_reserve_mutex); 322static DEFINE_MUTEX(pmc_reserve_mutex);
243 323
324#ifdef CONFIG_X86_LOCAL_APIC
325
244static bool reserve_pmc_hardware(void) 326static bool reserve_pmc_hardware(void)
245{ 327{
246#ifdef CONFIG_X86_LOCAL_APIC
247 int i; 328 int i;
248 329
249 if (nmi_watchdog == NMI_LOCAL_APIC) 330 if (nmi_watchdog == NMI_LOCAL_APIC)
250 disable_lapic_nmi_watchdog(); 331 disable_lapic_nmi_watchdog();
251 332
252 for (i = 0; i < x86_pmu.num_events; i++) { 333 for (i = 0; i < x86_pmu.num_counters; i++) {
253 if (!reserve_perfctr_nmi(x86_pmu.perfctr + i)) 334 if (!reserve_perfctr_nmi(x86_pmu.perfctr + i))
254 goto perfctr_fail; 335 goto perfctr_fail;
255 } 336 }
256 337
257 for (i = 0; i < x86_pmu.num_events; i++) { 338 for (i = 0; i < x86_pmu.num_counters; i++) {
258 if (!reserve_evntsel_nmi(x86_pmu.eventsel + i)) 339 if (!reserve_evntsel_nmi(x86_pmu.eventsel + i))
259 goto eventsel_fail; 340 goto eventsel_fail;
260 } 341 }
261#endif
262 342
263 return true; 343 return true;
264 344
265#ifdef CONFIG_X86_LOCAL_APIC
266eventsel_fail: 345eventsel_fail:
267 for (i--; i >= 0; i--) 346 for (i--; i >= 0; i--)
268 release_evntsel_nmi(x86_pmu.eventsel + i); 347 release_evntsel_nmi(x86_pmu.eventsel + i);
269 348
270 i = x86_pmu.num_events; 349 i = x86_pmu.num_counters;
271 350
272perfctr_fail: 351perfctr_fail:
273 for (i--; i >= 0; i--) 352 for (i--; i >= 0; i--)
@@ -277,128 +356,36 @@ perfctr_fail:
277 enable_lapic_nmi_watchdog(); 356 enable_lapic_nmi_watchdog();
278 357
279 return false; 358 return false;
280#endif
281} 359}
282 360
283static void release_pmc_hardware(void) 361static void release_pmc_hardware(void)
284{ 362{
285#ifdef CONFIG_X86_LOCAL_APIC
286 int i; 363 int i;
287 364
288 for (i = 0; i < x86_pmu.num_events; i++) { 365 for (i = 0; i < x86_pmu.num_counters; i++) {
289 release_perfctr_nmi(x86_pmu.perfctr + i); 366 release_perfctr_nmi(x86_pmu.perfctr + i);
290 release_evntsel_nmi(x86_pmu.eventsel + i); 367 release_evntsel_nmi(x86_pmu.eventsel + i);
291 } 368 }
292 369
293 if (nmi_watchdog == NMI_LOCAL_APIC) 370 if (nmi_watchdog == NMI_LOCAL_APIC)
294 enable_lapic_nmi_watchdog(); 371 enable_lapic_nmi_watchdog();
295#endif
296}
297
298static inline bool bts_available(void)
299{
300 return x86_pmu.enable_bts != NULL;
301} 372}
302 373
303static void init_debug_store_on_cpu(int cpu) 374#else
304{
305 struct debug_store *ds = per_cpu(cpu_hw_events, cpu).ds;
306
307 if (!ds)
308 return;
309
310 wrmsr_on_cpu(cpu, MSR_IA32_DS_AREA,
311 (u32)((u64)(unsigned long)ds),
312 (u32)((u64)(unsigned long)ds >> 32));
313}
314
315static void fini_debug_store_on_cpu(int cpu)
316{
317 if (!per_cpu(cpu_hw_events, cpu).ds)
318 return;
319
320 wrmsr_on_cpu(cpu, MSR_IA32_DS_AREA, 0, 0);
321}
322
323static void release_bts_hardware(void)
324{
325 int cpu;
326
327 if (!bts_available())
328 return;
329
330 get_online_cpus();
331
332 for_each_online_cpu(cpu)
333 fini_debug_store_on_cpu(cpu);
334
335 for_each_possible_cpu(cpu) {
336 struct debug_store *ds = per_cpu(cpu_hw_events, cpu).ds;
337
338 if (!ds)
339 continue;
340
341 per_cpu(cpu_hw_events, cpu).ds = NULL;
342
343 kfree((void *)(unsigned long)ds->bts_buffer_base);
344 kfree(ds);
345 }
346
347 put_online_cpus();
348}
349
350static int reserve_bts_hardware(void)
351{
352 int cpu, err = 0;
353
354 if (!bts_available())
355 return 0;
356
357 get_online_cpus();
358
359 for_each_possible_cpu(cpu) {
360 struct debug_store *ds;
361 void *buffer;
362
363 err = -ENOMEM;
364 buffer = kzalloc(BTS_BUFFER_SIZE, GFP_KERNEL);
365 if (unlikely(!buffer))
366 break;
367
368 ds = kzalloc(sizeof(*ds), GFP_KERNEL);
369 if (unlikely(!ds)) {
370 kfree(buffer);
371 break;
372 }
373
374 ds->bts_buffer_base = (u64)(unsigned long)buffer;
375 ds->bts_index = ds->bts_buffer_base;
376 ds->bts_absolute_maximum =
377 ds->bts_buffer_base + BTS_BUFFER_SIZE;
378 ds->bts_interrupt_threshold =
379 ds->bts_absolute_maximum - BTS_OVFL_TH;
380
381 per_cpu(cpu_hw_events, cpu).ds = ds;
382 err = 0;
383 }
384 375
385 if (err) 376static bool reserve_pmc_hardware(void) { return true; }
386 release_bts_hardware(); 377static void release_pmc_hardware(void) {}
387 else {
388 for_each_online_cpu(cpu)
389 init_debug_store_on_cpu(cpu);
390 }
391 378
392 put_online_cpus(); 379#endif
393 380
394 return err; 381static int reserve_ds_buffers(void);
395} 382static void release_ds_buffers(void);
396 383
397static void hw_perf_event_destroy(struct perf_event *event) 384static void hw_perf_event_destroy(struct perf_event *event)
398{ 385{
399 if (atomic_dec_and_mutex_lock(&active_events, &pmc_reserve_mutex)) { 386 if (atomic_dec_and_mutex_lock(&active_events, &pmc_reserve_mutex)) {
400 release_pmc_hardware(); 387 release_pmc_hardware();
401 release_bts_hardware(); 388 release_ds_buffers();
402 mutex_unlock(&pmc_reserve_mutex); 389 mutex_unlock(&pmc_reserve_mutex);
403 } 390 }
404} 391}
@@ -441,54 +428,11 @@ set_ext_hw_attr(struct hw_perf_event *hwc, struct perf_event_attr *attr)
441 return 0; 428 return 0;
442} 429}
443 430
444/* 431static int x86_setup_perfctr(struct perf_event *event)
445 * Setup the hardware configuration for a given attr_type
446 */
447static int __hw_perf_event_init(struct perf_event *event)
448{ 432{
449 struct perf_event_attr *attr = &event->attr; 433 struct perf_event_attr *attr = &event->attr;
450 struct hw_perf_event *hwc = &event->hw; 434 struct hw_perf_event *hwc = &event->hw;
451 u64 config; 435 u64 config;
452 int err;
453
454 if (!x86_pmu_initialized())
455 return -ENODEV;
456
457 err = 0;
458 if (!atomic_inc_not_zero(&active_events)) {
459 mutex_lock(&pmc_reserve_mutex);
460 if (atomic_read(&active_events) == 0) {
461 if (!reserve_pmc_hardware())
462 err = -EBUSY;
463 else
464 err = reserve_bts_hardware();
465 }
466 if (!err)
467 atomic_inc(&active_events);
468 mutex_unlock(&pmc_reserve_mutex);
469 }
470 if (err)
471 return err;
472
473 event->destroy = hw_perf_event_destroy;
474
475 /*
476 * Generate PMC IRQs:
477 * (keep 'enabled' bit clear for now)
478 */
479 hwc->config = ARCH_PERFMON_EVENTSEL_INT;
480
481 hwc->idx = -1;
482 hwc->last_cpu = -1;
483 hwc->last_tag = ~0ULL;
484
485 /*
486 * Count user and OS events unless requested not to.
487 */
488 if (!attr->exclude_user)
489 hwc->config |= ARCH_PERFMON_EVENTSEL_USR;
490 if (!attr->exclude_kernel)
491 hwc->config |= ARCH_PERFMON_EVENTSEL_OS;
492 436
493 if (!hwc->sample_period) { 437 if (!hwc->sample_period) {
494 hwc->sample_period = x86_pmu.max_period; 438 hwc->sample_period = x86_pmu.max_period;
@@ -505,16 +449,8 @@ static int __hw_perf_event_init(struct perf_event *event)
505 return -EOPNOTSUPP; 449 return -EOPNOTSUPP;
506 } 450 }
507 451
508 /* 452 if (attr->type == PERF_TYPE_RAW)
509 * Raw hw_event type provide the config in the hw_event structure
510 */
511 if (attr->type == PERF_TYPE_RAW) {
512 hwc->config |= x86_pmu.raw_event(attr->config);
513 if ((hwc->config & ARCH_PERFMON_EVENTSEL_ANY) &&
514 perf_paranoid_cpu() && !capable(CAP_SYS_ADMIN))
515 return -EACCES;
516 return 0; 453 return 0;
517 }
518 454
519 if (attr->type == PERF_TYPE_HW_CACHE) 455 if (attr->type == PERF_TYPE_HW_CACHE)
520 return set_ext_hw_attr(hwc, attr); 456 return set_ext_hw_attr(hwc, attr);
@@ -539,11 +475,11 @@ static int __hw_perf_event_init(struct perf_event *event)
539 if ((attr->config == PERF_COUNT_HW_BRANCH_INSTRUCTIONS) && 475 if ((attr->config == PERF_COUNT_HW_BRANCH_INSTRUCTIONS) &&
540 (hwc->sample_period == 1)) { 476 (hwc->sample_period == 1)) {
541 /* BTS is not supported by this architecture. */ 477 /* BTS is not supported by this architecture. */
542 if (!bts_available()) 478 if (!x86_pmu.bts)
543 return -EOPNOTSUPP; 479 return -EOPNOTSUPP;
544 480
545 /* BTS is currently only allowed for user-mode. */ 481 /* BTS is currently only allowed for user-mode. */
546 if (hwc->config & ARCH_PERFMON_EVENTSEL_OS) 482 if (!attr->exclude_kernel)
547 return -EOPNOTSUPP; 483 return -EOPNOTSUPP;
548 } 484 }
549 485
@@ -552,12 +488,87 @@ static int __hw_perf_event_init(struct perf_event *event)
552 return 0; 488 return 0;
553} 489}
554 490
491static int x86_pmu_hw_config(struct perf_event *event)
492{
493 if (event->attr.precise_ip) {
494 int precise = 0;
495
496 /* Support for constant skid */
497 if (x86_pmu.pebs)
498 precise++;
499
500 /* Support for IP fixup */
501 if (x86_pmu.lbr_nr)
502 precise++;
503
504 if (event->attr.precise_ip > precise)
505 return -EOPNOTSUPP;
506 }
507
508 /*
509 * Generate PMC IRQs:
510 * (keep 'enabled' bit clear for now)
511 */
512 event->hw.config = ARCH_PERFMON_EVENTSEL_INT;
513
514 /*
515 * Count user and OS events unless requested not to
516 */
517 if (!event->attr.exclude_user)
518 event->hw.config |= ARCH_PERFMON_EVENTSEL_USR;
519 if (!event->attr.exclude_kernel)
520 event->hw.config |= ARCH_PERFMON_EVENTSEL_OS;
521
522 if (event->attr.type == PERF_TYPE_RAW)
523 event->hw.config |= event->attr.config & X86_RAW_EVENT_MASK;
524
525 return x86_setup_perfctr(event);
526}
527
528/*
529 * Setup the hardware configuration for a given attr_type
530 */
531static int __hw_perf_event_init(struct perf_event *event)
532{
533 int err;
534
535 if (!x86_pmu_initialized())
536 return -ENODEV;
537
538 err = 0;
539 if (!atomic_inc_not_zero(&active_events)) {
540 mutex_lock(&pmc_reserve_mutex);
541 if (atomic_read(&active_events) == 0) {
542 if (!reserve_pmc_hardware())
543 err = -EBUSY;
544 else {
545 err = reserve_ds_buffers();
546 if (err)
547 release_pmc_hardware();
548 }
549 }
550 if (!err)
551 atomic_inc(&active_events);
552 mutex_unlock(&pmc_reserve_mutex);
553 }
554 if (err)
555 return err;
556
557 event->destroy = hw_perf_event_destroy;
558
559 event->hw.idx = -1;
560 event->hw.last_cpu = -1;
561 event->hw.last_tag = ~0ULL;
562
563 return x86_pmu.hw_config(event);
564}
565
555static void x86_pmu_disable_all(void) 566static void x86_pmu_disable_all(void)
556{ 567{
557 struct cpu_hw_events *cpuc = &__get_cpu_var(cpu_hw_events); 568 struct cpu_hw_events *cpuc = &__get_cpu_var(cpu_hw_events);
558 int idx; 569 int idx;
559 570
560 for (idx = 0; idx < x86_pmu.num_events; idx++) { 571 for (idx = 0; idx < x86_pmu.num_counters; idx++) {
561 u64 val; 572 u64 val;
562 573
563 if (!test_bit(idx, cpuc->active_mask)) 574 if (!test_bit(idx, cpuc->active_mask))
@@ -587,12 +598,12 @@ void hw_perf_disable(void)
587 x86_pmu.disable_all(); 598 x86_pmu.disable_all();
588} 599}
589 600
590static void x86_pmu_enable_all(void) 601static void x86_pmu_enable_all(int added)
591{ 602{
592 struct cpu_hw_events *cpuc = &__get_cpu_var(cpu_hw_events); 603 struct cpu_hw_events *cpuc = &__get_cpu_var(cpu_hw_events);
593 int idx; 604 int idx;
594 605
595 for (idx = 0; idx < x86_pmu.num_events; idx++) { 606 for (idx = 0; idx < x86_pmu.num_counters; idx++) {
596 struct perf_event *event = cpuc->events[idx]; 607 struct perf_event *event = cpuc->events[idx];
597 u64 val; 608 u64 val;
598 609
@@ -667,14 +678,14 @@ static int x86_schedule_events(struct cpu_hw_events *cpuc, int n, int *assign)
667 * assign events to counters starting with most 678 * assign events to counters starting with most
668 * constrained events. 679 * constrained events.
669 */ 680 */
670 wmax = x86_pmu.num_events; 681 wmax = x86_pmu.num_counters;
671 682
672 /* 683 /*
673 * when fixed event counters are present, 684 * when fixed event counters are present,
674 * wmax is incremented by 1 to account 685 * wmax is incremented by 1 to account
675 * for one more choice 686 * for one more choice
676 */ 687 */
677 if (x86_pmu.num_events_fixed) 688 if (x86_pmu.num_counters_fixed)
678 wmax++; 689 wmax++;
679 690
680 for (w = 1, num = n; num && w <= wmax; w++) { 691 for (w = 1, num = n; num && w <= wmax; w++) {
@@ -724,7 +735,7 @@ static int collect_events(struct cpu_hw_events *cpuc, struct perf_event *leader,
724 struct perf_event *event; 735 struct perf_event *event;
725 int n, max_count; 736 int n, max_count;
726 737
727 max_count = x86_pmu.num_events + x86_pmu.num_events_fixed; 738 max_count = x86_pmu.num_counters + x86_pmu.num_counters_fixed;
728 739
729 /* current number of events already accepted */ 740 /* current number of events already accepted */
730 n = cpuc->n_events; 741 n = cpuc->n_events;
@@ -795,7 +806,7 @@ void hw_perf_enable(void)
795 struct cpu_hw_events *cpuc = &__get_cpu_var(cpu_hw_events); 806 struct cpu_hw_events *cpuc = &__get_cpu_var(cpu_hw_events);
796 struct perf_event *event; 807 struct perf_event *event;
797 struct hw_perf_event *hwc; 808 struct hw_perf_event *hwc;
798 int i; 809 int i, added = cpuc->n_added;
799 810
800 if (!x86_pmu_initialized()) 811 if (!x86_pmu_initialized())
801 return; 812 return;
@@ -847,19 +858,20 @@ void hw_perf_enable(void)
847 cpuc->enabled = 1; 858 cpuc->enabled = 1;
848 barrier(); 859 barrier();
849 860
850 x86_pmu.enable_all(); 861 x86_pmu.enable_all(added);
851} 862}
852 863
853static inline void __x86_pmu_enable_event(struct hw_perf_event *hwc) 864static inline void __x86_pmu_enable_event(struct hw_perf_event *hwc,
865 u64 enable_mask)
854{ 866{
855 (void)checking_wrmsrl(hwc->config_base + hwc->idx, 867 wrmsrl(hwc->config_base + hwc->idx, hwc->config | enable_mask);
856 hwc->config | ARCH_PERFMON_EVENTSEL_ENABLE);
857} 868}
858 869
859static inline void x86_pmu_disable_event(struct perf_event *event) 870static inline void x86_pmu_disable_event(struct perf_event *event)
860{ 871{
861 struct hw_perf_event *hwc = &event->hw; 872 struct hw_perf_event *hwc = &event->hw;
862 (void)checking_wrmsrl(hwc->config_base + hwc->idx, hwc->config); 873
874 wrmsrl(hwc->config_base + hwc->idx, hwc->config);
863} 875}
864 876
865static DEFINE_PER_CPU(u64 [X86_PMC_IDX_MAX], pmc_prev_left); 877static DEFINE_PER_CPU(u64 [X86_PMC_IDX_MAX], pmc_prev_left);
@@ -874,7 +886,7 @@ x86_perf_event_set_period(struct perf_event *event)
874 struct hw_perf_event *hwc = &event->hw; 886 struct hw_perf_event *hwc = &event->hw;
875 s64 left = atomic64_read(&hwc->period_left); 887 s64 left = atomic64_read(&hwc->period_left);
876 s64 period = hwc->sample_period; 888 s64 period = hwc->sample_period;
877 int err, ret = 0, idx = hwc->idx; 889 int ret = 0, idx = hwc->idx;
878 890
879 if (idx == X86_PMC_IDX_FIXED_BTS) 891 if (idx == X86_PMC_IDX_FIXED_BTS)
880 return 0; 892 return 0;
@@ -912,8 +924,8 @@ x86_perf_event_set_period(struct perf_event *event)
912 */ 924 */
913 atomic64_set(&hwc->prev_count, (u64)-left); 925 atomic64_set(&hwc->prev_count, (u64)-left);
914 926
915 err = checking_wrmsrl(hwc->event_base + idx, 927 wrmsrl(hwc->event_base + idx,
916 (u64)(-left) & x86_pmu.event_mask); 928 (u64)(-left) & x86_pmu.cntval_mask);
917 929
918 perf_event_update_userpage(event); 930 perf_event_update_userpage(event);
919 931
@@ -924,7 +936,8 @@ static void x86_pmu_enable_event(struct perf_event *event)
924{ 936{
925 struct cpu_hw_events *cpuc = &__get_cpu_var(cpu_hw_events); 937 struct cpu_hw_events *cpuc = &__get_cpu_var(cpu_hw_events);
926 if (cpuc->enabled) 938 if (cpuc->enabled)
927 __x86_pmu_enable_event(&event->hw); 939 __x86_pmu_enable_event(&event->hw,
940 ARCH_PERFMON_EVENTSEL_ENABLE);
928} 941}
929 942
930/* 943/*
@@ -950,7 +963,15 @@ static int x86_pmu_enable(struct perf_event *event)
950 if (n < 0) 963 if (n < 0)
951 return n; 964 return n;
952 965
953 ret = x86_schedule_events(cpuc, n, assign); 966 /*
967 * If group events scheduling transaction was started,
968 * skip the schedulability test here, it will be peformed
969 * at commit time(->commit_txn) as a whole
970 */
971 if (cpuc->group_flag & PERF_EVENT_TXN_STARTED)
972 goto out;
973
974 ret = x86_pmu.schedule_events(cpuc, n, assign);
954 if (ret) 975 if (ret)
955 return ret; 976 return ret;
956 /* 977 /*
@@ -959,6 +980,7 @@ static int x86_pmu_enable(struct perf_event *event)
959 */ 980 */
960 memcpy(cpuc->assign, assign, n*sizeof(int)); 981 memcpy(cpuc->assign, assign, n*sizeof(int));
961 982
983out:
962 cpuc->n_events = n; 984 cpuc->n_events = n;
963 cpuc->n_added += n - n0; 985 cpuc->n_added += n - n0;
964 986
@@ -991,11 +1013,12 @@ static void x86_pmu_unthrottle(struct perf_event *event)
991void perf_event_print_debug(void) 1013void perf_event_print_debug(void)
992{ 1014{
993 u64 ctrl, status, overflow, pmc_ctrl, pmc_count, prev_left, fixed; 1015 u64 ctrl, status, overflow, pmc_ctrl, pmc_count, prev_left, fixed;
1016 u64 pebs;
994 struct cpu_hw_events *cpuc; 1017 struct cpu_hw_events *cpuc;
995 unsigned long flags; 1018 unsigned long flags;
996 int cpu, idx; 1019 int cpu, idx;
997 1020
998 if (!x86_pmu.num_events) 1021 if (!x86_pmu.num_counters)
999 return; 1022 return;
1000 1023
1001 local_irq_save(flags); 1024 local_irq_save(flags);
@@ -1008,16 +1031,18 @@ void perf_event_print_debug(void)
1008 rdmsrl(MSR_CORE_PERF_GLOBAL_STATUS, status); 1031 rdmsrl(MSR_CORE_PERF_GLOBAL_STATUS, status);
1009 rdmsrl(MSR_CORE_PERF_GLOBAL_OVF_CTRL, overflow); 1032 rdmsrl(MSR_CORE_PERF_GLOBAL_OVF_CTRL, overflow);
1010 rdmsrl(MSR_ARCH_PERFMON_FIXED_CTR_CTRL, fixed); 1033 rdmsrl(MSR_ARCH_PERFMON_FIXED_CTR_CTRL, fixed);
1034 rdmsrl(MSR_IA32_PEBS_ENABLE, pebs);
1011 1035
1012 pr_info("\n"); 1036 pr_info("\n");
1013 pr_info("CPU#%d: ctrl: %016llx\n", cpu, ctrl); 1037 pr_info("CPU#%d: ctrl: %016llx\n", cpu, ctrl);
1014 pr_info("CPU#%d: status: %016llx\n", cpu, status); 1038 pr_info("CPU#%d: status: %016llx\n", cpu, status);
1015 pr_info("CPU#%d: overflow: %016llx\n", cpu, overflow); 1039 pr_info("CPU#%d: overflow: %016llx\n", cpu, overflow);
1016 pr_info("CPU#%d: fixed: %016llx\n", cpu, fixed); 1040 pr_info("CPU#%d: fixed: %016llx\n", cpu, fixed);
1041 pr_info("CPU#%d: pebs: %016llx\n", cpu, pebs);
1017 } 1042 }
1018 pr_info("CPU#%d: active: %016llx\n", cpu, *(u64 *)cpuc->active_mask); 1043 pr_info("CPU#%d: active: %016llx\n", cpu, *(u64 *)cpuc->active_mask);
1019 1044
1020 for (idx = 0; idx < x86_pmu.num_events; idx++) { 1045 for (idx = 0; idx < x86_pmu.num_counters; idx++) {
1021 rdmsrl(x86_pmu.eventsel + idx, pmc_ctrl); 1046 rdmsrl(x86_pmu.eventsel + idx, pmc_ctrl);
1022 rdmsrl(x86_pmu.perfctr + idx, pmc_count); 1047 rdmsrl(x86_pmu.perfctr + idx, pmc_count);
1023 1048
@@ -1030,7 +1055,7 @@ void perf_event_print_debug(void)
1030 pr_info("CPU#%d: gen-PMC%d left: %016llx\n", 1055 pr_info("CPU#%d: gen-PMC%d left: %016llx\n",
1031 cpu, idx, prev_left); 1056 cpu, idx, prev_left);
1032 } 1057 }
1033 for (idx = 0; idx < x86_pmu.num_events_fixed; idx++) { 1058 for (idx = 0; idx < x86_pmu.num_counters_fixed; idx++) {
1034 rdmsrl(MSR_ARCH_PERFMON_FIXED_CTR0 + idx, pmc_count); 1059 rdmsrl(MSR_ARCH_PERFMON_FIXED_CTR0 + idx, pmc_count);
1035 1060
1036 pr_info("CPU#%d: fixed-PMC%d count: %016llx\n", 1061 pr_info("CPU#%d: fixed-PMC%d count: %016llx\n",
@@ -1095,7 +1120,7 @@ static int x86_pmu_handle_irq(struct pt_regs *regs)
1095 1120
1096 cpuc = &__get_cpu_var(cpu_hw_events); 1121 cpuc = &__get_cpu_var(cpu_hw_events);
1097 1122
1098 for (idx = 0; idx < x86_pmu.num_events; idx++) { 1123 for (idx = 0; idx < x86_pmu.num_counters; idx++) {
1099 if (!test_bit(idx, cpuc->active_mask)) 1124 if (!test_bit(idx, cpuc->active_mask))
1100 continue; 1125 continue;
1101 1126
@@ -1103,7 +1128,7 @@ static int x86_pmu_handle_irq(struct pt_regs *regs)
1103 hwc = &event->hw; 1128 hwc = &event->hw;
1104 1129
1105 val = x86_perf_event_update(event); 1130 val = x86_perf_event_update(event);
1106 if (val & (1ULL << (x86_pmu.event_bits - 1))) 1131 if (val & (1ULL << (x86_pmu.cntval_bits - 1)))
1107 continue; 1132 continue;
1108 1133
1109 /* 1134 /*
@@ -1146,7 +1171,6 @@ void set_perf_event_pending(void)
1146 1171
1147void perf_events_lapic_init(void) 1172void perf_events_lapic_init(void)
1148{ 1173{
1149#ifdef CONFIG_X86_LOCAL_APIC
1150 if (!x86_pmu.apic || !x86_pmu_initialized()) 1174 if (!x86_pmu.apic || !x86_pmu_initialized())
1151 return; 1175 return;
1152 1176
@@ -1154,7 +1178,6 @@ void perf_events_lapic_init(void)
1154 * Always use NMI for PMU 1178 * Always use NMI for PMU
1155 */ 1179 */
1156 apic_write(APIC_LVTPC, APIC_DM_NMI); 1180 apic_write(APIC_LVTPC, APIC_DM_NMI);
1157#endif
1158} 1181}
1159 1182
1160static int __kprobes 1183static int __kprobes
@@ -1178,9 +1201,7 @@ perf_event_nmi_handler(struct notifier_block *self,
1178 1201
1179 regs = args->regs; 1202 regs = args->regs;
1180 1203
1181#ifdef CONFIG_X86_LOCAL_APIC
1182 apic_write(APIC_LVTPC, APIC_DM_NMI); 1204 apic_write(APIC_LVTPC, APIC_DM_NMI);
1183#endif
1184 /* 1205 /*
1185 * Can't rely on the handled return value to say it was our NMI, two 1206 * Can't rely on the handled return value to say it was our NMI, two
1186 * events could trigger 'simultaneously' raising two back-to-back NMIs. 1207 * events could trigger 'simultaneously' raising two back-to-back NMIs.
@@ -1217,118 +1238,11 @@ x86_get_event_constraints(struct cpu_hw_events *cpuc, struct perf_event *event)
1217 return &unconstrained; 1238 return &unconstrained;
1218} 1239}
1219 1240
1220static int x86_event_sched_in(struct perf_event *event,
1221 struct perf_cpu_context *cpuctx)
1222{
1223 int ret = 0;
1224
1225 event->state = PERF_EVENT_STATE_ACTIVE;
1226 event->oncpu = smp_processor_id();
1227 event->tstamp_running += event->ctx->time - event->tstamp_stopped;
1228
1229 if (!is_x86_event(event))
1230 ret = event->pmu->enable(event);
1231
1232 if (!ret && !is_software_event(event))
1233 cpuctx->active_oncpu++;
1234
1235 if (!ret && event->attr.exclusive)
1236 cpuctx->exclusive = 1;
1237
1238 return ret;
1239}
1240
1241static void x86_event_sched_out(struct perf_event *event,
1242 struct perf_cpu_context *cpuctx)
1243{
1244 event->state = PERF_EVENT_STATE_INACTIVE;
1245 event->oncpu = -1;
1246
1247 if (!is_x86_event(event))
1248 event->pmu->disable(event);
1249
1250 event->tstamp_running -= event->ctx->time - event->tstamp_stopped;
1251
1252 if (!is_software_event(event))
1253 cpuctx->active_oncpu--;
1254
1255 if (event->attr.exclusive || !cpuctx->active_oncpu)
1256 cpuctx->exclusive = 0;
1257}
1258
1259/*
1260 * Called to enable a whole group of events.
1261 * Returns 1 if the group was enabled, or -EAGAIN if it could not be.
1262 * Assumes the caller has disabled interrupts and has
1263 * frozen the PMU with hw_perf_save_disable.
1264 *
1265 * called with PMU disabled. If successful and return value 1,
1266 * then guaranteed to call perf_enable() and hw_perf_enable()
1267 */
1268int hw_perf_group_sched_in(struct perf_event *leader,
1269 struct perf_cpu_context *cpuctx,
1270 struct perf_event_context *ctx)
1271{
1272 struct cpu_hw_events *cpuc = &__get_cpu_var(cpu_hw_events);
1273 struct perf_event *sub;
1274 int assign[X86_PMC_IDX_MAX];
1275 int n0, n1, ret;
1276
1277 /* n0 = total number of events */
1278 n0 = collect_events(cpuc, leader, true);
1279 if (n0 < 0)
1280 return n0;
1281
1282 ret = x86_schedule_events(cpuc, n0, assign);
1283 if (ret)
1284 return ret;
1285
1286 ret = x86_event_sched_in(leader, cpuctx);
1287 if (ret)
1288 return ret;
1289
1290 n1 = 1;
1291 list_for_each_entry(sub, &leader->sibling_list, group_entry) {
1292 if (sub->state > PERF_EVENT_STATE_OFF) {
1293 ret = x86_event_sched_in(sub, cpuctx);
1294 if (ret)
1295 goto undo;
1296 ++n1;
1297 }
1298 }
1299 /*
1300 * copy new assignment, now we know it is possible
1301 * will be used by hw_perf_enable()
1302 */
1303 memcpy(cpuc->assign, assign, n0*sizeof(int));
1304
1305 cpuc->n_events = n0;
1306 cpuc->n_added += n1;
1307 ctx->nr_active += n1;
1308
1309 /*
1310 * 1 means successful and events are active
1311 * This is not quite true because we defer
1312 * actual activation until hw_perf_enable() but
1313 * this way we* ensure caller won't try to enable
1314 * individual events
1315 */
1316 return 1;
1317undo:
1318 x86_event_sched_out(leader, cpuctx);
1319 n0 = 1;
1320 list_for_each_entry(sub, &leader->sibling_list, group_entry) {
1321 if (sub->state == PERF_EVENT_STATE_ACTIVE) {
1322 x86_event_sched_out(sub, cpuctx);
1323 if (++n0 == n1)
1324 break;
1325 }
1326 }
1327 return ret;
1328}
1329
1330#include "perf_event_amd.c" 1241#include "perf_event_amd.c"
1331#include "perf_event_p6.c" 1242#include "perf_event_p6.c"
1243#include "perf_event_p4.c"
1244#include "perf_event_intel_lbr.c"
1245#include "perf_event_intel_ds.c"
1332#include "perf_event_intel.c" 1246#include "perf_event_intel.c"
1333 1247
1334static int __cpuinit 1248static int __cpuinit
@@ -1402,48 +1316,50 @@ void __init init_hw_perf_events(void)
1402 1316
1403 pr_cont("%s PMU driver.\n", x86_pmu.name); 1317 pr_cont("%s PMU driver.\n", x86_pmu.name);
1404 1318
1405 if (x86_pmu.num_events > X86_PMC_MAX_GENERIC) { 1319 if (x86_pmu.quirks)
1320 x86_pmu.quirks();
1321
1322 if (x86_pmu.num_counters > X86_PMC_MAX_GENERIC) {
1406 WARN(1, KERN_ERR "hw perf events %d > max(%d), clipping!", 1323 WARN(1, KERN_ERR "hw perf events %d > max(%d), clipping!",
1407 x86_pmu.num_events, X86_PMC_MAX_GENERIC); 1324 x86_pmu.num_counters, X86_PMC_MAX_GENERIC);
1408 x86_pmu.num_events = X86_PMC_MAX_GENERIC; 1325 x86_pmu.num_counters = X86_PMC_MAX_GENERIC;
1409 } 1326 }
1410 perf_event_mask = (1 << x86_pmu.num_events) - 1; 1327 x86_pmu.intel_ctrl = (1 << x86_pmu.num_counters) - 1;
1411 perf_max_events = x86_pmu.num_events; 1328 perf_max_events = x86_pmu.num_counters;
1412 1329
1413 if (x86_pmu.num_events_fixed > X86_PMC_MAX_FIXED) { 1330 if (x86_pmu.num_counters_fixed > X86_PMC_MAX_FIXED) {
1414 WARN(1, KERN_ERR "hw perf events fixed %d > max(%d), clipping!", 1331 WARN(1, KERN_ERR "hw perf events fixed %d > max(%d), clipping!",
1415 x86_pmu.num_events_fixed, X86_PMC_MAX_FIXED); 1332 x86_pmu.num_counters_fixed, X86_PMC_MAX_FIXED);
1416 x86_pmu.num_events_fixed = X86_PMC_MAX_FIXED; 1333 x86_pmu.num_counters_fixed = X86_PMC_MAX_FIXED;
1417 } 1334 }
1418 1335
1419 perf_event_mask |= 1336 x86_pmu.intel_ctrl |=
1420 ((1LL << x86_pmu.num_events_fixed)-1) << X86_PMC_IDX_FIXED; 1337 ((1LL << x86_pmu.num_counters_fixed)-1) << X86_PMC_IDX_FIXED;
1421 x86_pmu.intel_ctrl = perf_event_mask;
1422 1338
1423 perf_events_lapic_init(); 1339 perf_events_lapic_init();
1424 register_die_notifier(&perf_event_nmi_notifier); 1340 register_die_notifier(&perf_event_nmi_notifier);
1425 1341
1426 unconstrained = (struct event_constraint) 1342 unconstrained = (struct event_constraint)
1427 __EVENT_CONSTRAINT(0, (1ULL << x86_pmu.num_events) - 1, 1343 __EVENT_CONSTRAINT(0, (1ULL << x86_pmu.num_counters) - 1,
1428 0, x86_pmu.num_events); 1344 0, x86_pmu.num_counters);
1429 1345
1430 if (x86_pmu.event_constraints) { 1346 if (x86_pmu.event_constraints) {
1431 for_each_event_constraint(c, x86_pmu.event_constraints) { 1347 for_each_event_constraint(c, x86_pmu.event_constraints) {
1432 if (c->cmask != INTEL_ARCH_FIXED_MASK) 1348 if (c->cmask != X86_RAW_EVENT_MASK)
1433 continue; 1349 continue;
1434 1350
1435 c->idxmsk64 |= (1ULL << x86_pmu.num_events) - 1; 1351 c->idxmsk64 |= (1ULL << x86_pmu.num_counters) - 1;
1436 c->weight += x86_pmu.num_events; 1352 c->weight += x86_pmu.num_counters;
1437 } 1353 }
1438 } 1354 }
1439 1355
1440 pr_info("... version: %d\n", x86_pmu.version); 1356 pr_info("... version: %d\n", x86_pmu.version);
1441 pr_info("... bit width: %d\n", x86_pmu.event_bits); 1357 pr_info("... bit width: %d\n", x86_pmu.cntval_bits);
1442 pr_info("... generic registers: %d\n", x86_pmu.num_events); 1358 pr_info("... generic registers: %d\n", x86_pmu.num_counters);
1443 pr_info("... value mask: %016Lx\n", x86_pmu.event_mask); 1359 pr_info("... value mask: %016Lx\n", x86_pmu.cntval_mask);
1444 pr_info("... max period: %016Lx\n", x86_pmu.max_period); 1360 pr_info("... max period: %016Lx\n", x86_pmu.max_period);
1445 pr_info("... fixed-purpose events: %d\n", x86_pmu.num_events_fixed); 1361 pr_info("... fixed-purpose events: %d\n", x86_pmu.num_counters_fixed);
1446 pr_info("... event mask: %016Lx\n", perf_event_mask); 1362 pr_info("... event mask: %016Lx\n", x86_pmu.intel_ctrl);
1447 1363
1448 perf_cpu_notifier(x86_pmu_notifier); 1364 perf_cpu_notifier(x86_pmu_notifier);
1449} 1365}
@@ -1453,6 +1369,59 @@ static inline void x86_pmu_read(struct perf_event *event)
1453 x86_perf_event_update(event); 1369 x86_perf_event_update(event);
1454} 1370}
1455 1371
1372/*
1373 * Start group events scheduling transaction
1374 * Set the flag to make pmu::enable() not perform the
1375 * schedulability test, it will be performed at commit time
1376 */
1377static void x86_pmu_start_txn(const struct pmu *pmu)
1378{
1379 struct cpu_hw_events *cpuc = &__get_cpu_var(cpu_hw_events);
1380
1381 cpuc->group_flag |= PERF_EVENT_TXN_STARTED;
1382}
1383
1384/*
1385 * Stop group events scheduling transaction
1386 * Clear the flag and pmu::enable() will perform the
1387 * schedulability test.
1388 */
1389static void x86_pmu_cancel_txn(const struct pmu *pmu)
1390{
1391 struct cpu_hw_events *cpuc = &__get_cpu_var(cpu_hw_events);
1392
1393 cpuc->group_flag &= ~PERF_EVENT_TXN_STARTED;
1394}
1395
1396/*
1397 * Commit group events scheduling transaction
1398 * Perform the group schedulability test as a whole
1399 * Return 0 if success
1400 */
1401static int x86_pmu_commit_txn(const struct pmu *pmu)
1402{
1403 struct cpu_hw_events *cpuc = &__get_cpu_var(cpu_hw_events);
1404 int assign[X86_PMC_IDX_MAX];
1405 int n, ret;
1406
1407 n = cpuc->n_events;
1408
1409 if (!x86_pmu_initialized())
1410 return -EAGAIN;
1411
1412 ret = x86_pmu.schedule_events(cpuc, n, assign);
1413 if (ret)
1414 return ret;
1415
1416 /*
1417 * copy new assignment, now we know it is possible
1418 * will be used by hw_perf_enable()
1419 */
1420 memcpy(cpuc->assign, assign, n*sizeof(int));
1421
1422 return 0;
1423}
1424
1456static const struct pmu pmu = { 1425static const struct pmu pmu = {
1457 .enable = x86_pmu_enable, 1426 .enable = x86_pmu_enable,
1458 .disable = x86_pmu_disable, 1427 .disable = x86_pmu_disable,
@@ -1460,9 +1429,38 @@ static const struct pmu pmu = {
1460 .stop = x86_pmu_stop, 1429 .stop = x86_pmu_stop,
1461 .read = x86_pmu_read, 1430 .read = x86_pmu_read,
1462 .unthrottle = x86_pmu_unthrottle, 1431 .unthrottle = x86_pmu_unthrottle,
1432 .start_txn = x86_pmu_start_txn,
1433 .cancel_txn = x86_pmu_cancel_txn,
1434 .commit_txn = x86_pmu_commit_txn,
1463}; 1435};
1464 1436
1465/* 1437/*
1438 * validate that we can schedule this event
1439 */
1440static int validate_event(struct perf_event *event)
1441{
1442 struct cpu_hw_events *fake_cpuc;
1443 struct event_constraint *c;
1444 int ret = 0;
1445
1446 fake_cpuc = kmalloc(sizeof(*fake_cpuc), GFP_KERNEL | __GFP_ZERO);
1447 if (!fake_cpuc)
1448 return -ENOMEM;
1449
1450 c = x86_pmu.get_event_constraints(fake_cpuc, event);
1451
1452 if (!c || !c->weight)
1453 ret = -ENOSPC;
1454
1455 if (x86_pmu.put_event_constraints)
1456 x86_pmu.put_event_constraints(fake_cpuc, event);
1457
1458 kfree(fake_cpuc);
1459
1460 return ret;
1461}
1462
1463/*
1466 * validate a single event group 1464 * validate a single event group
1467 * 1465 *
1468 * validation include: 1466 * validation include:
@@ -1502,7 +1500,7 @@ static int validate_group(struct perf_event *event)
1502 1500
1503 fake_cpuc->n_events = n; 1501 fake_cpuc->n_events = n;
1504 1502
1505 ret = x86_schedule_events(fake_cpuc, n, NULL); 1503 ret = x86_pmu.schedule_events(fake_cpuc, n, NULL);
1506 1504
1507out_free: 1505out_free:
1508 kfree(fake_cpuc); 1506 kfree(fake_cpuc);
@@ -1527,6 +1525,8 @@ const struct pmu *hw_perf_event_init(struct perf_event *event)
1527 1525
1528 if (event->group_leader != event) 1526 if (event->group_leader != event)
1529 err = validate_group(event); 1527 err = validate_group(event);
1528 else
1529 err = validate_event(event);
1530 1530
1531 event->pmu = tmp; 1531 event->pmu = tmp;
1532 } 1532 }
@@ -1574,8 +1574,7 @@ static void backtrace_address(void *data, unsigned long addr, int reliable)
1574{ 1574{
1575 struct perf_callchain_entry *entry = data; 1575 struct perf_callchain_entry *entry = data;
1576 1576
1577 if (reliable) 1577 callchain_store(entry, addr);
1578 callchain_store(entry, addr);
1579} 1578}
1580 1579
1581static const struct stacktrace_ops backtrace_ops = { 1580static const struct stacktrace_ops backtrace_ops = {
@@ -1597,41 +1596,6 @@ perf_callchain_kernel(struct pt_regs *regs, struct perf_callchain_entry *entry)
1597 dump_trace(NULL, regs, NULL, regs->bp, &backtrace_ops, entry); 1596 dump_trace(NULL, regs, NULL, regs->bp, &backtrace_ops, entry);
1598} 1597}
1599 1598
1600/*
1601 * best effort, GUP based copy_from_user() that assumes IRQ or NMI context
1602 */
1603static unsigned long
1604copy_from_user_nmi(void *to, const void __user *from, unsigned long n)
1605{
1606 unsigned long offset, addr = (unsigned long)from;
1607 int type = in_nmi() ? KM_NMI : KM_IRQ0;
1608 unsigned long size, len = 0;
1609 struct page *page;
1610 void *map;
1611 int ret;
1612
1613 do {
1614 ret = __get_user_pages_fast(addr, 1, 0, &page);
1615 if (!ret)
1616 break;
1617
1618 offset = addr & (PAGE_SIZE - 1);
1619 size = min(PAGE_SIZE - offset, n - len);
1620
1621 map = kmap_atomic(page, type);
1622 memcpy(to, map+offset, size);
1623 kunmap_atomic(map, type);
1624 put_page(page);
1625
1626 len += size;
1627 to += size;
1628 addr += size;
1629
1630 } while (len < n);
1631
1632 return len;
1633}
1634
1635#ifdef CONFIG_COMPAT 1599#ifdef CONFIG_COMPAT
1636static inline int 1600static inline int
1637perf_callchain_user32(struct pt_regs *regs, struct perf_callchain_entry *entry) 1601perf_callchain_user32(struct pt_regs *regs, struct perf_callchain_entry *entry)
@@ -1727,6 +1691,11 @@ struct perf_callchain_entry *perf_callchain(struct pt_regs *regs)
1727{ 1691{
1728 struct perf_callchain_entry *entry; 1692 struct perf_callchain_entry *entry;
1729 1693
1694 if (perf_guest_cbs && perf_guest_cbs->is_in_guest()) {
1695 /* TODO: We don't support guest os callchain now */
1696 return NULL;
1697 }
1698
1730 if (in_nmi()) 1699 if (in_nmi())
1731 entry = &__get_cpu_var(pmc_nmi_entry); 1700 entry = &__get_cpu_var(pmc_nmi_entry);
1732 else 1701 else
@@ -1750,3 +1719,37 @@ void perf_arch_fetch_caller_regs(struct pt_regs *regs, unsigned long ip, int ski
1750 regs->cs = __KERNEL_CS; 1719 regs->cs = __KERNEL_CS;
1751 local_save_flags(regs->flags); 1720 local_save_flags(regs->flags);
1752} 1721}
1722
1723unsigned long perf_instruction_pointer(struct pt_regs *regs)
1724{
1725 unsigned long ip;
1726
1727 if (perf_guest_cbs && perf_guest_cbs->is_in_guest())
1728 ip = perf_guest_cbs->get_guest_ip();
1729 else
1730 ip = instruction_pointer(regs);
1731
1732 return ip;
1733}
1734
1735unsigned long perf_misc_flags(struct pt_regs *regs)
1736{
1737 int misc = 0;
1738
1739 if (perf_guest_cbs && perf_guest_cbs->is_in_guest()) {
1740 if (perf_guest_cbs->is_user_mode())
1741 misc |= PERF_RECORD_MISC_GUEST_USER;
1742 else
1743 misc |= PERF_RECORD_MISC_GUEST_KERNEL;
1744 } else {
1745 if (user_mode(regs))
1746 misc |= PERF_RECORD_MISC_USER;
1747 else
1748 misc |= PERF_RECORD_MISC_KERNEL;
1749 }
1750
1751 if (regs->flags & PERF_EFLAGS_EXACT)
1752 misc |= PERF_RECORD_MISC_EXACT_IP;
1753
1754 return misc;
1755}
diff --git a/arch/x86/kernel/cpu/perf_event_amd.c b/arch/x86/kernel/cpu/perf_event_amd.c
index db6f7d4056e..611df11ba15 100644
--- a/arch/x86/kernel/cpu/perf_event_amd.c
+++ b/arch/x86/kernel/cpu/perf_event_amd.c
@@ -2,7 +2,7 @@
2 2
3static DEFINE_RAW_SPINLOCK(amd_nb_lock); 3static DEFINE_RAW_SPINLOCK(amd_nb_lock);
4 4
5static __initconst u64 amd_hw_cache_event_ids 5static __initconst const u64 amd_hw_cache_event_ids
6 [PERF_COUNT_HW_CACHE_MAX] 6 [PERF_COUNT_HW_CACHE_MAX]
7 [PERF_COUNT_HW_CACHE_OP_MAX] 7 [PERF_COUNT_HW_CACHE_OP_MAX]
8 [PERF_COUNT_HW_CACHE_RESULT_MAX] = 8 [PERF_COUNT_HW_CACHE_RESULT_MAX] =
@@ -111,22 +111,19 @@ static u64 amd_pmu_event_map(int hw_event)
111 return amd_perfmon_event_map[hw_event]; 111 return amd_perfmon_event_map[hw_event];
112} 112}
113 113
114static u64 amd_pmu_raw_event(u64 hw_event) 114static int amd_pmu_hw_config(struct perf_event *event)
115{ 115{
116#define K7_EVNTSEL_EVENT_MASK 0xF000000FFULL 116 int ret = x86_pmu_hw_config(event);
117#define K7_EVNTSEL_UNIT_MASK 0x00000FF00ULL 117
118#define K7_EVNTSEL_EDGE_MASK 0x000040000ULL 118 if (ret)
119#define K7_EVNTSEL_INV_MASK 0x000800000ULL 119 return ret;
120#define K7_EVNTSEL_REG_MASK 0x0FF000000ULL 120
121 121 if (event->attr.type != PERF_TYPE_RAW)
122#define K7_EVNTSEL_MASK \ 122 return 0;
123 (K7_EVNTSEL_EVENT_MASK | \ 123
124 K7_EVNTSEL_UNIT_MASK | \ 124 event->hw.config |= event->attr.config & AMD64_RAW_EVENT_MASK;
125 K7_EVNTSEL_EDGE_MASK | \ 125
126 K7_EVNTSEL_INV_MASK | \ 126 return 0;
127 K7_EVNTSEL_REG_MASK)
128
129 return hw_event & K7_EVNTSEL_MASK;
130} 127}
131 128
132/* 129/*
@@ -165,7 +162,7 @@ static void amd_put_event_constraints(struct cpu_hw_events *cpuc,
165 * be removed on one CPU at a time AND PMU is disabled 162 * be removed on one CPU at a time AND PMU is disabled
166 * when we come here 163 * when we come here
167 */ 164 */
168 for (i = 0; i < x86_pmu.num_events; i++) { 165 for (i = 0; i < x86_pmu.num_counters; i++) {
169 if (nb->owners[i] == event) { 166 if (nb->owners[i] == event) {
170 cmpxchg(nb->owners+i, event, NULL); 167 cmpxchg(nb->owners+i, event, NULL);
171 break; 168 break;
@@ -215,7 +212,7 @@ amd_get_event_constraints(struct cpu_hw_events *cpuc, struct perf_event *event)
215 struct hw_perf_event *hwc = &event->hw; 212 struct hw_perf_event *hwc = &event->hw;
216 struct amd_nb *nb = cpuc->amd_nb; 213 struct amd_nb *nb = cpuc->amd_nb;
217 struct perf_event *old = NULL; 214 struct perf_event *old = NULL;
218 int max = x86_pmu.num_events; 215 int max = x86_pmu.num_counters;
219 int i, j, k = -1; 216 int i, j, k = -1;
220 217
221 /* 218 /*
@@ -293,7 +290,7 @@ static struct amd_nb *amd_alloc_nb(int cpu, int nb_id)
293 /* 290 /*
294 * initialize all possible NB constraints 291 * initialize all possible NB constraints
295 */ 292 */
296 for (i = 0; i < x86_pmu.num_events; i++) { 293 for (i = 0; i < x86_pmu.num_counters; i++) {
297 __set_bit(i, nb->event_constraints[i].idxmsk); 294 __set_bit(i, nb->event_constraints[i].idxmsk);
298 nb->event_constraints[i].weight = 1; 295 nb->event_constraints[i].weight = 1;
299 } 296 }
@@ -371,21 +368,22 @@ static void amd_pmu_cpu_dead(int cpu)
371 raw_spin_unlock(&amd_nb_lock); 368 raw_spin_unlock(&amd_nb_lock);
372} 369}
373 370
374static __initconst struct x86_pmu amd_pmu = { 371static __initconst const struct x86_pmu amd_pmu = {
375 .name = "AMD", 372 .name = "AMD",
376 .handle_irq = x86_pmu_handle_irq, 373 .handle_irq = x86_pmu_handle_irq,
377 .disable_all = x86_pmu_disable_all, 374 .disable_all = x86_pmu_disable_all,
378 .enable_all = x86_pmu_enable_all, 375 .enable_all = x86_pmu_enable_all,
379 .enable = x86_pmu_enable_event, 376 .enable = x86_pmu_enable_event,
380 .disable = x86_pmu_disable_event, 377 .disable = x86_pmu_disable_event,
378 .hw_config = amd_pmu_hw_config,
379 .schedule_events = x86_schedule_events,
381 .eventsel = MSR_K7_EVNTSEL0, 380 .eventsel = MSR_K7_EVNTSEL0,
382 .perfctr = MSR_K7_PERFCTR0, 381 .perfctr = MSR_K7_PERFCTR0,
383 .event_map = amd_pmu_event_map, 382 .event_map = amd_pmu_event_map,
384 .raw_event = amd_pmu_raw_event,
385 .max_events = ARRAY_SIZE(amd_perfmon_event_map), 383 .max_events = ARRAY_SIZE(amd_perfmon_event_map),
386 .num_events = 4, 384 .num_counters = 4,
387 .event_bits = 48, 385 .cntval_bits = 48,
388 .event_mask = (1ULL << 48) - 1, 386 .cntval_mask = (1ULL << 48) - 1,
389 .apic = 1, 387 .apic = 1,
390 /* use highest bit to detect overflow */ 388 /* use highest bit to detect overflow */
391 .max_period = (1ULL << 47) - 1, 389 .max_period = (1ULL << 47) - 1,
diff --git a/arch/x86/kernel/cpu/perf_event_intel.c b/arch/x86/kernel/cpu/perf_event_intel.c
index 9c794ac8783..fdbc652d3fe 100644
--- a/arch/x86/kernel/cpu/perf_event_intel.c
+++ b/arch/x86/kernel/cpu/perf_event_intel.c
@@ -88,7 +88,7 @@ static u64 intel_pmu_event_map(int hw_event)
88 return intel_perfmon_event_map[hw_event]; 88 return intel_perfmon_event_map[hw_event];
89} 89}
90 90
91static __initconst u64 westmere_hw_cache_event_ids 91static __initconst const u64 westmere_hw_cache_event_ids
92 [PERF_COUNT_HW_CACHE_MAX] 92 [PERF_COUNT_HW_CACHE_MAX]
93 [PERF_COUNT_HW_CACHE_OP_MAX] 93 [PERF_COUNT_HW_CACHE_OP_MAX]
94 [PERF_COUNT_HW_CACHE_RESULT_MAX] = 94 [PERF_COUNT_HW_CACHE_RESULT_MAX] =
@@ -179,7 +179,7 @@ static __initconst u64 westmere_hw_cache_event_ids
179 }, 179 },
180}; 180};
181 181
182static __initconst u64 nehalem_hw_cache_event_ids 182static __initconst const u64 nehalem_hw_cache_event_ids
183 [PERF_COUNT_HW_CACHE_MAX] 183 [PERF_COUNT_HW_CACHE_MAX]
184 [PERF_COUNT_HW_CACHE_OP_MAX] 184 [PERF_COUNT_HW_CACHE_OP_MAX]
185 [PERF_COUNT_HW_CACHE_RESULT_MAX] = 185 [PERF_COUNT_HW_CACHE_RESULT_MAX] =
@@ -270,7 +270,7 @@ static __initconst u64 nehalem_hw_cache_event_ids
270 }, 270 },
271}; 271};
272 272
273static __initconst u64 core2_hw_cache_event_ids 273static __initconst const u64 core2_hw_cache_event_ids
274 [PERF_COUNT_HW_CACHE_MAX] 274 [PERF_COUNT_HW_CACHE_MAX]
275 [PERF_COUNT_HW_CACHE_OP_MAX] 275 [PERF_COUNT_HW_CACHE_OP_MAX]
276 [PERF_COUNT_HW_CACHE_RESULT_MAX] = 276 [PERF_COUNT_HW_CACHE_RESULT_MAX] =
@@ -361,7 +361,7 @@ static __initconst u64 core2_hw_cache_event_ids
361 }, 361 },
362}; 362};
363 363
364static __initconst u64 atom_hw_cache_event_ids 364static __initconst const u64 atom_hw_cache_event_ids
365 [PERF_COUNT_HW_CACHE_MAX] 365 [PERF_COUNT_HW_CACHE_MAX]
366 [PERF_COUNT_HW_CACHE_OP_MAX] 366 [PERF_COUNT_HW_CACHE_OP_MAX]
367 [PERF_COUNT_HW_CACHE_RESULT_MAX] = 367 [PERF_COUNT_HW_CACHE_RESULT_MAX] =
@@ -452,60 +452,6 @@ static __initconst u64 atom_hw_cache_event_ids
452 }, 452 },
453}; 453};
454 454
455static u64 intel_pmu_raw_event(u64 hw_event)
456{
457#define CORE_EVNTSEL_EVENT_MASK 0x000000FFULL
458#define CORE_EVNTSEL_UNIT_MASK 0x0000FF00ULL
459#define CORE_EVNTSEL_EDGE_MASK 0x00040000ULL
460#define CORE_EVNTSEL_INV_MASK 0x00800000ULL
461#define CORE_EVNTSEL_REG_MASK 0xFF000000ULL
462
463#define CORE_EVNTSEL_MASK \
464 (INTEL_ARCH_EVTSEL_MASK | \
465 INTEL_ARCH_UNIT_MASK | \
466 INTEL_ARCH_EDGE_MASK | \
467 INTEL_ARCH_INV_MASK | \
468 INTEL_ARCH_CNT_MASK)
469
470 return hw_event & CORE_EVNTSEL_MASK;
471}
472
473static void intel_pmu_enable_bts(u64 config)
474{
475 unsigned long debugctlmsr;
476
477 debugctlmsr = get_debugctlmsr();
478
479 debugctlmsr |= X86_DEBUGCTL_TR;
480 debugctlmsr |= X86_DEBUGCTL_BTS;
481 debugctlmsr |= X86_DEBUGCTL_BTINT;
482
483 if (!(config & ARCH_PERFMON_EVENTSEL_OS))
484 debugctlmsr |= X86_DEBUGCTL_BTS_OFF_OS;
485
486 if (!(config & ARCH_PERFMON_EVENTSEL_USR))
487 debugctlmsr |= X86_DEBUGCTL_BTS_OFF_USR;
488
489 update_debugctlmsr(debugctlmsr);
490}
491
492static void intel_pmu_disable_bts(void)
493{
494 struct cpu_hw_events *cpuc = &__get_cpu_var(cpu_hw_events);
495 unsigned long debugctlmsr;
496
497 if (!cpuc->ds)
498 return;
499
500 debugctlmsr = get_debugctlmsr();
501
502 debugctlmsr &=
503 ~(X86_DEBUGCTL_TR | X86_DEBUGCTL_BTS | X86_DEBUGCTL_BTINT |
504 X86_DEBUGCTL_BTS_OFF_OS | X86_DEBUGCTL_BTS_OFF_USR);
505
506 update_debugctlmsr(debugctlmsr);
507}
508
509static void intel_pmu_disable_all(void) 455static void intel_pmu_disable_all(void)
510{ 456{
511 struct cpu_hw_events *cpuc = &__get_cpu_var(cpu_hw_events); 457 struct cpu_hw_events *cpuc = &__get_cpu_var(cpu_hw_events);
@@ -514,12 +460,17 @@ static void intel_pmu_disable_all(void)
514 460
515 if (test_bit(X86_PMC_IDX_FIXED_BTS, cpuc->active_mask)) 461 if (test_bit(X86_PMC_IDX_FIXED_BTS, cpuc->active_mask))
516 intel_pmu_disable_bts(); 462 intel_pmu_disable_bts();
463
464 intel_pmu_pebs_disable_all();
465 intel_pmu_lbr_disable_all();
517} 466}
518 467
519static void intel_pmu_enable_all(void) 468static void intel_pmu_enable_all(int added)
520{ 469{
521 struct cpu_hw_events *cpuc = &__get_cpu_var(cpu_hw_events); 470 struct cpu_hw_events *cpuc = &__get_cpu_var(cpu_hw_events);
522 471
472 intel_pmu_pebs_enable_all();
473 intel_pmu_lbr_enable_all();
523 wrmsrl(MSR_CORE_PERF_GLOBAL_CTRL, x86_pmu.intel_ctrl); 474 wrmsrl(MSR_CORE_PERF_GLOBAL_CTRL, x86_pmu.intel_ctrl);
524 475
525 if (test_bit(X86_PMC_IDX_FIXED_BTS, cpuc->active_mask)) { 476 if (test_bit(X86_PMC_IDX_FIXED_BTS, cpuc->active_mask)) {
@@ -533,6 +484,42 @@ static void intel_pmu_enable_all(void)
533 } 484 }
534} 485}
535 486
487/*
488 * Workaround for:
489 * Intel Errata AAK100 (model 26)
490 * Intel Errata AAP53 (model 30)
491 * Intel Errata BD53 (model 44)
492 *
493 * These chips need to be 'reset' when adding counters by programming
494 * the magic three (non counting) events 0x4300D2, 0x4300B1 and 0x4300B5
495 * either in sequence on the same PMC or on different PMCs.
496 */
497static void intel_pmu_nhm_enable_all(int added)
498{
499 if (added) {
500 struct cpu_hw_events *cpuc = &__get_cpu_var(cpu_hw_events);
501 int i;
502
503 wrmsrl(MSR_ARCH_PERFMON_EVENTSEL0 + 0, 0x4300D2);
504 wrmsrl(MSR_ARCH_PERFMON_EVENTSEL0 + 1, 0x4300B1);
505 wrmsrl(MSR_ARCH_PERFMON_EVENTSEL0 + 2, 0x4300B5);
506
507 wrmsrl(MSR_CORE_PERF_GLOBAL_CTRL, 0x3);
508 wrmsrl(MSR_CORE_PERF_GLOBAL_CTRL, 0x0);
509
510 for (i = 0; i < 3; i++) {
511 struct perf_event *event = cpuc->events[i];
512
513 if (!event)
514 continue;
515
516 __x86_pmu_enable_event(&event->hw,
517 ARCH_PERFMON_EVENTSEL_ENABLE);
518 }
519 }
520 intel_pmu_enable_all(added);
521}
522
536static inline u64 intel_pmu_get_status(void) 523static inline u64 intel_pmu_get_status(void)
537{ 524{
538 u64 status; 525 u64 status;
@@ -547,8 +534,7 @@ static inline void intel_pmu_ack_status(u64 ack)
547 wrmsrl(MSR_CORE_PERF_GLOBAL_OVF_CTRL, ack); 534 wrmsrl(MSR_CORE_PERF_GLOBAL_OVF_CTRL, ack);
548} 535}
549 536
550static inline void 537static void intel_pmu_disable_fixed(struct hw_perf_event *hwc)
551intel_pmu_disable_fixed(struct hw_perf_event *hwc)
552{ 538{
553 int idx = hwc->idx - X86_PMC_IDX_FIXED; 539 int idx = hwc->idx - X86_PMC_IDX_FIXED;
554 u64 ctrl_val, mask; 540 u64 ctrl_val, mask;
@@ -557,71 +543,10 @@ intel_pmu_disable_fixed(struct hw_perf_event *hwc)
557 543
558 rdmsrl(hwc->config_base, ctrl_val); 544 rdmsrl(hwc->config_base, ctrl_val);
559 ctrl_val &= ~mask; 545 ctrl_val &= ~mask;
560 (void)checking_wrmsrl(hwc->config_base, ctrl_val); 546 wrmsrl(hwc->config_base, ctrl_val);
561}
562
563static void intel_pmu_drain_bts_buffer(void)
564{
565 struct cpu_hw_events *cpuc = &__get_cpu_var(cpu_hw_events);
566 struct debug_store *ds = cpuc->ds;
567 struct bts_record {
568 u64 from;
569 u64 to;
570 u64 flags;
571 };
572 struct perf_event *event = cpuc->events[X86_PMC_IDX_FIXED_BTS];
573 struct bts_record *at, *top;
574 struct perf_output_handle handle;
575 struct perf_event_header header;
576 struct perf_sample_data data;
577 struct pt_regs regs;
578
579 if (!event)
580 return;
581
582 if (!ds)
583 return;
584
585 at = (struct bts_record *)(unsigned long)ds->bts_buffer_base;
586 top = (struct bts_record *)(unsigned long)ds->bts_index;
587
588 if (top <= at)
589 return;
590
591 ds->bts_index = ds->bts_buffer_base;
592
593 perf_sample_data_init(&data, 0);
594
595 data.period = event->hw.last_period;
596 regs.ip = 0;
597
598 /*
599 * Prepare a generic sample, i.e. fill in the invariant fields.
600 * We will overwrite the from and to address before we output
601 * the sample.
602 */
603 perf_prepare_sample(&header, &data, event, &regs);
604
605 if (perf_output_begin(&handle, event,
606 header.size * (top - at), 1, 1))
607 return;
608
609 for (; at < top; at++) {
610 data.ip = at->from;
611 data.addr = at->to;
612
613 perf_output_sample(&handle, &header, &data, event);
614 }
615
616 perf_output_end(&handle);
617
618 /* There's new data available. */
619 event->hw.interrupts++;
620 event->pending_kill = POLL_IN;
621} 547}
622 548
623static inline void 549static void intel_pmu_disable_event(struct perf_event *event)
624intel_pmu_disable_event(struct perf_event *event)
625{ 550{
626 struct hw_perf_event *hwc = &event->hw; 551 struct hw_perf_event *hwc = &event->hw;
627 552
@@ -637,14 +562,15 @@ intel_pmu_disable_event(struct perf_event *event)
637 } 562 }
638 563
639 x86_pmu_disable_event(event); 564 x86_pmu_disable_event(event);
565
566 if (unlikely(event->attr.precise_ip))
567 intel_pmu_pebs_disable(event);
640} 568}
641 569
642static inline void 570static void intel_pmu_enable_fixed(struct hw_perf_event *hwc)
643intel_pmu_enable_fixed(struct hw_perf_event *hwc)
644{ 571{
645 int idx = hwc->idx - X86_PMC_IDX_FIXED; 572 int idx = hwc->idx - X86_PMC_IDX_FIXED;
646 u64 ctrl_val, bits, mask; 573 u64 ctrl_val, bits, mask;
647 int err;
648 574
649 /* 575 /*
650 * Enable IRQ generation (0x8), 576 * Enable IRQ generation (0x8),
@@ -669,7 +595,7 @@ intel_pmu_enable_fixed(struct hw_perf_event *hwc)
669 rdmsrl(hwc->config_base, ctrl_val); 595 rdmsrl(hwc->config_base, ctrl_val);
670 ctrl_val &= ~mask; 596 ctrl_val &= ~mask;
671 ctrl_val |= bits; 597 ctrl_val |= bits;
672 err = checking_wrmsrl(hwc->config_base, ctrl_val); 598 wrmsrl(hwc->config_base, ctrl_val);
673} 599}
674 600
675static void intel_pmu_enable_event(struct perf_event *event) 601static void intel_pmu_enable_event(struct perf_event *event)
@@ -689,7 +615,10 @@ static void intel_pmu_enable_event(struct perf_event *event)
689 return; 615 return;
690 } 616 }
691 617
692 __x86_pmu_enable_event(hwc); 618 if (unlikely(event->attr.precise_ip))
619 intel_pmu_pebs_enable(event);
620
621 __x86_pmu_enable_event(hwc, ARCH_PERFMON_EVENTSEL_ENABLE);
693} 622}
694 623
695/* 624/*
@@ -708,20 +637,20 @@ static void intel_pmu_reset(void)
708 unsigned long flags; 637 unsigned long flags;
709 int idx; 638 int idx;
710 639
711 if (!x86_pmu.num_events) 640 if (!x86_pmu.num_counters)
712 return; 641 return;
713 642
714 local_irq_save(flags); 643 local_irq_save(flags);
715 644
716 printk("clearing PMU state on CPU#%d\n", smp_processor_id()); 645 printk("clearing PMU state on CPU#%d\n", smp_processor_id());
717 646
718 for (idx = 0; idx < x86_pmu.num_events; idx++) { 647 for (idx = 0; idx < x86_pmu.num_counters; idx++) {
719 checking_wrmsrl(x86_pmu.eventsel + idx, 0ull); 648 checking_wrmsrl(x86_pmu.eventsel + idx, 0ull);
720 checking_wrmsrl(x86_pmu.perfctr + idx, 0ull); 649 checking_wrmsrl(x86_pmu.perfctr + idx, 0ull);
721 } 650 }
722 for (idx = 0; idx < x86_pmu.num_events_fixed; idx++) { 651 for (idx = 0; idx < x86_pmu.num_counters_fixed; idx++)
723 checking_wrmsrl(MSR_ARCH_PERFMON_FIXED_CTR0 + idx, 0ull); 652 checking_wrmsrl(MSR_ARCH_PERFMON_FIXED_CTR0 + idx, 0ull);
724 } 653
725 if (ds) 654 if (ds)
726 ds->bts_index = ds->bts_buffer_base; 655 ds->bts_index = ds->bts_buffer_base;
727 656
@@ -747,7 +676,7 @@ static int intel_pmu_handle_irq(struct pt_regs *regs)
747 intel_pmu_drain_bts_buffer(); 676 intel_pmu_drain_bts_buffer();
748 status = intel_pmu_get_status(); 677 status = intel_pmu_get_status();
749 if (!status) { 678 if (!status) {
750 intel_pmu_enable_all(); 679 intel_pmu_enable_all(0);
751 return 0; 680 return 0;
752 } 681 }
753 682
@@ -762,6 +691,15 @@ again:
762 691
763 inc_irq_stat(apic_perf_irqs); 692 inc_irq_stat(apic_perf_irqs);
764 ack = status; 693 ack = status;
694
695 intel_pmu_lbr_read();
696
697 /*
698 * PEBS overflow sets bit 62 in the global status register
699 */
700 if (__test_and_clear_bit(62, (unsigned long *)&status))
701 x86_pmu.drain_pebs(regs);
702
765 for_each_set_bit(bit, (unsigned long *)&status, X86_PMC_IDX_MAX) { 703 for_each_set_bit(bit, (unsigned long *)&status, X86_PMC_IDX_MAX) {
766 struct perf_event *event = cpuc->events[bit]; 704 struct perf_event *event = cpuc->events[bit];
767 705
@@ -787,26 +725,22 @@ again:
787 goto again; 725 goto again;
788 726
789done: 727done:
790 intel_pmu_enable_all(); 728 intel_pmu_enable_all(0);
791 return 1; 729 return 1;
792} 730}
793 731
794static struct event_constraint bts_constraint =
795 EVENT_CONSTRAINT(0, 1ULL << X86_PMC_IDX_FIXED_BTS, 0);
796
797static struct event_constraint * 732static struct event_constraint *
798intel_special_constraints(struct perf_event *event) 733intel_bts_constraints(struct perf_event *event)
799{ 734{
800 unsigned int hw_event; 735 struct hw_perf_event *hwc = &event->hw;
801 736 unsigned int hw_event, bts_event;
802 hw_event = event->hw.config & INTEL_ARCH_EVENT_MASK;
803 737
804 if (unlikely((hw_event == 738 hw_event = hwc->config & INTEL_ARCH_EVENT_MASK;
805 x86_pmu.event_map(PERF_COUNT_HW_BRANCH_INSTRUCTIONS)) && 739 bts_event = x86_pmu.event_map(PERF_COUNT_HW_BRANCH_INSTRUCTIONS);
806 (event->hw.sample_period == 1))) {
807 740
741 if (unlikely(hw_event == bts_event && hwc->sample_period == 1))
808 return &bts_constraint; 742 return &bts_constraint;
809 } 743
810 return NULL; 744 return NULL;
811} 745}
812 746
@@ -815,24 +749,53 @@ intel_get_event_constraints(struct cpu_hw_events *cpuc, struct perf_event *event
815{ 749{
816 struct event_constraint *c; 750 struct event_constraint *c;
817 751
818 c = intel_special_constraints(event); 752 c = intel_bts_constraints(event);
753 if (c)
754 return c;
755
756 c = intel_pebs_constraints(event);
819 if (c) 757 if (c)
820 return c; 758 return c;
821 759
822 return x86_get_event_constraints(cpuc, event); 760 return x86_get_event_constraints(cpuc, event);
823} 761}
824 762
825static __initconst struct x86_pmu core_pmu = { 763static int intel_pmu_hw_config(struct perf_event *event)
764{
765 int ret = x86_pmu_hw_config(event);
766
767 if (ret)
768 return ret;
769
770 if (event->attr.type != PERF_TYPE_RAW)
771 return 0;
772
773 if (!(event->attr.config & ARCH_PERFMON_EVENTSEL_ANY))
774 return 0;
775
776 if (x86_pmu.version < 3)
777 return -EINVAL;
778
779 if (perf_paranoid_cpu() && !capable(CAP_SYS_ADMIN))
780 return -EACCES;
781
782 event->hw.config |= ARCH_PERFMON_EVENTSEL_ANY;
783
784 return 0;
785}
786
787static __initconst const struct x86_pmu core_pmu = {
826 .name = "core", 788 .name = "core",
827 .handle_irq = x86_pmu_handle_irq, 789 .handle_irq = x86_pmu_handle_irq,
828 .disable_all = x86_pmu_disable_all, 790 .disable_all = x86_pmu_disable_all,
829 .enable_all = x86_pmu_enable_all, 791 .enable_all = x86_pmu_enable_all,
830 .enable = x86_pmu_enable_event, 792 .enable = x86_pmu_enable_event,
831 .disable = x86_pmu_disable_event, 793 .disable = x86_pmu_disable_event,
794 .hw_config = x86_pmu_hw_config,
795 .schedule_events = x86_schedule_events,
832 .eventsel = MSR_ARCH_PERFMON_EVENTSEL0, 796 .eventsel = MSR_ARCH_PERFMON_EVENTSEL0,
833 .perfctr = MSR_ARCH_PERFMON_PERFCTR0, 797 .perfctr = MSR_ARCH_PERFMON_PERFCTR0,
834 .event_map = intel_pmu_event_map, 798 .event_map = intel_pmu_event_map,
835 .raw_event = intel_pmu_raw_event,
836 .max_events = ARRAY_SIZE(intel_perfmon_event_map), 799 .max_events = ARRAY_SIZE(intel_perfmon_event_map),
837 .apic = 1, 800 .apic = 1,
838 /* 801 /*
@@ -845,17 +808,32 @@ static __initconst struct x86_pmu core_pmu = {
845 .event_constraints = intel_core_event_constraints, 808 .event_constraints = intel_core_event_constraints,
846}; 809};
847 810
848static __initconst struct x86_pmu intel_pmu = { 811static void intel_pmu_cpu_starting(int cpu)
812{
813 init_debug_store_on_cpu(cpu);
814 /*
815 * Deal with CPUs that don't clear their LBRs on power-up.
816 */
817 intel_pmu_lbr_reset();
818}
819
820static void intel_pmu_cpu_dying(int cpu)
821{
822 fini_debug_store_on_cpu(cpu);
823}
824
825static __initconst const struct x86_pmu intel_pmu = {
849 .name = "Intel", 826 .name = "Intel",
850 .handle_irq = intel_pmu_handle_irq, 827 .handle_irq = intel_pmu_handle_irq,
851 .disable_all = intel_pmu_disable_all, 828 .disable_all = intel_pmu_disable_all,
852 .enable_all = intel_pmu_enable_all, 829 .enable_all = intel_pmu_enable_all,
853 .enable = intel_pmu_enable_event, 830 .enable = intel_pmu_enable_event,
854 .disable = intel_pmu_disable_event, 831 .disable = intel_pmu_disable_event,
832 .hw_config = intel_pmu_hw_config,
833 .schedule_events = x86_schedule_events,
855 .eventsel = MSR_ARCH_PERFMON_EVENTSEL0, 834 .eventsel = MSR_ARCH_PERFMON_EVENTSEL0,
856 .perfctr = MSR_ARCH_PERFMON_PERFCTR0, 835 .perfctr = MSR_ARCH_PERFMON_PERFCTR0,
857 .event_map = intel_pmu_event_map, 836 .event_map = intel_pmu_event_map,
858 .raw_event = intel_pmu_raw_event,
859 .max_events = ARRAY_SIZE(intel_perfmon_event_map), 837 .max_events = ARRAY_SIZE(intel_perfmon_event_map),
860 .apic = 1, 838 .apic = 1,
861 /* 839 /*
@@ -864,14 +842,38 @@ static __initconst struct x86_pmu intel_pmu = {
864 * the generic event period: 842 * the generic event period:
865 */ 843 */
866 .max_period = (1ULL << 31) - 1, 844 .max_period = (1ULL << 31) - 1,
867 .enable_bts = intel_pmu_enable_bts,
868 .disable_bts = intel_pmu_disable_bts,
869 .get_event_constraints = intel_get_event_constraints, 845 .get_event_constraints = intel_get_event_constraints,
870 846
871 .cpu_starting = init_debug_store_on_cpu, 847 .cpu_starting = intel_pmu_cpu_starting,
872 .cpu_dying = fini_debug_store_on_cpu, 848 .cpu_dying = intel_pmu_cpu_dying,
873}; 849};
874 850
851static void intel_clovertown_quirks(void)
852{
853 /*
854 * PEBS is unreliable due to:
855 *
856 * AJ67 - PEBS may experience CPL leaks
857 * AJ68 - PEBS PMI may be delayed by one event
858 * AJ69 - GLOBAL_STATUS[62] will only be set when DEBUGCTL[12]
859 * AJ106 - FREEZE_LBRS_ON_PMI doesn't work in combination with PEBS
860 *
861 * AJ67 could be worked around by restricting the OS/USR flags.
862 * AJ69 could be worked around by setting PMU_FREEZE_ON_PMI.
863 *
864 * AJ106 could possibly be worked around by not allowing LBR
865 * usage from PEBS, including the fixup.
866 * AJ68 could possibly be worked around by always programming
867 * a pebs_event_reset[0] value and coping with the lost events.
868 *
869 * But taken together it might just make sense to not enable PEBS on
870 * these chips.
871 */
872 printk(KERN_WARNING "PEBS disabled due to CPU errata.\n");
873 x86_pmu.pebs = 0;
874 x86_pmu.pebs_constraints = NULL;
875}
876
875static __init int intel_pmu_init(void) 877static __init int intel_pmu_init(void)
876{ 878{
877 union cpuid10_edx edx; 879 union cpuid10_edx edx;
@@ -881,12 +883,13 @@ static __init int intel_pmu_init(void)
881 int version; 883 int version;
882 884
883 if (!cpu_has(&boot_cpu_data, X86_FEATURE_ARCH_PERFMON)) { 885 if (!cpu_has(&boot_cpu_data, X86_FEATURE_ARCH_PERFMON)) {
884 /* check for P6 processor family */ 886 switch (boot_cpu_data.x86) {
885 if (boot_cpu_data.x86 == 6) { 887 case 0x6:
886 return p6_pmu_init(); 888 return p6_pmu_init();
887 } else { 889 case 0xf:
890 return p4_pmu_init();
891 }
888 return -ENODEV; 892 return -ENODEV;
889 }
890 } 893 }
891 894
892 /* 895 /*
@@ -904,16 +907,28 @@ static __init int intel_pmu_init(void)
904 x86_pmu = intel_pmu; 907 x86_pmu = intel_pmu;
905 908
906 x86_pmu.version = version; 909 x86_pmu.version = version;
907 x86_pmu.num_events = eax.split.num_events; 910 x86_pmu.num_counters = eax.split.num_counters;
908 x86_pmu.event_bits = eax.split.bit_width; 911 x86_pmu.cntval_bits = eax.split.bit_width;
909 x86_pmu.event_mask = (1ULL << eax.split.bit_width) - 1; 912 x86_pmu.cntval_mask = (1ULL << eax.split.bit_width) - 1;
910 913
911 /* 914 /*
912 * Quirk: v2 perfmon does not report fixed-purpose events, so 915 * Quirk: v2 perfmon does not report fixed-purpose events, so
913 * assume at least 3 events: 916 * assume at least 3 events:
914 */ 917 */
915 if (version > 1) 918 if (version > 1)
916 x86_pmu.num_events_fixed = max((int)edx.split.num_events_fixed, 3); 919 x86_pmu.num_counters_fixed = max((int)edx.split.num_counters_fixed, 3);
920
921 /*
922 * v2 and above have a perf capabilities MSR
923 */
924 if (version > 1) {
925 u64 capabilities;
926
927 rdmsrl(MSR_IA32_PERF_CAPABILITIES, capabilities);
928 x86_pmu.intel_cap.capabilities = capabilities;
929 }
930
931 intel_ds_init();
917 932
918 /* 933 /*
919 * Install the hw-cache-events table: 934 * Install the hw-cache-events table:
@@ -924,12 +939,15 @@ static __init int intel_pmu_init(void)
924 break; 939 break;
925 940
926 case 15: /* original 65 nm celeron/pentium/core2/xeon, "Merom"/"Conroe" */ 941 case 15: /* original 65 nm celeron/pentium/core2/xeon, "Merom"/"Conroe" */
942 x86_pmu.quirks = intel_clovertown_quirks;
927 case 22: /* single-core 65 nm celeron/core2solo "Merom-L"/"Conroe-L" */ 943 case 22: /* single-core 65 nm celeron/core2solo "Merom-L"/"Conroe-L" */
928 case 23: /* current 45 nm celeron/core2/xeon "Penryn"/"Wolfdale" */ 944 case 23: /* current 45 nm celeron/core2/xeon "Penryn"/"Wolfdale" */
929 case 29: /* six-core 45 nm xeon "Dunnington" */ 945 case 29: /* six-core 45 nm xeon "Dunnington" */
930 memcpy(hw_cache_event_ids, core2_hw_cache_event_ids, 946 memcpy(hw_cache_event_ids, core2_hw_cache_event_ids,
931 sizeof(hw_cache_event_ids)); 947 sizeof(hw_cache_event_ids));
932 948
949 intel_pmu_lbr_init_core();
950
933 x86_pmu.event_constraints = intel_core2_event_constraints; 951 x86_pmu.event_constraints = intel_core2_event_constraints;
934 pr_cont("Core2 events, "); 952 pr_cont("Core2 events, ");
935 break; 953 break;
@@ -940,13 +958,19 @@ static __init int intel_pmu_init(void)
940 memcpy(hw_cache_event_ids, nehalem_hw_cache_event_ids, 958 memcpy(hw_cache_event_ids, nehalem_hw_cache_event_ids,
941 sizeof(hw_cache_event_ids)); 959 sizeof(hw_cache_event_ids));
942 960
961 intel_pmu_lbr_init_nhm();
962
943 x86_pmu.event_constraints = intel_nehalem_event_constraints; 963 x86_pmu.event_constraints = intel_nehalem_event_constraints;
944 pr_cont("Nehalem/Corei7 events, "); 964 x86_pmu.enable_all = intel_pmu_nhm_enable_all;
965 pr_cont("Nehalem events, ");
945 break; 966 break;
967
946 case 28: /* Atom */ 968 case 28: /* Atom */
947 memcpy(hw_cache_event_ids, atom_hw_cache_event_ids, 969 memcpy(hw_cache_event_ids, atom_hw_cache_event_ids,
948 sizeof(hw_cache_event_ids)); 970 sizeof(hw_cache_event_ids));
949 971
972 intel_pmu_lbr_init_atom();
973
950 x86_pmu.event_constraints = intel_gen_event_constraints; 974 x86_pmu.event_constraints = intel_gen_event_constraints;
951 pr_cont("Atom events, "); 975 pr_cont("Atom events, ");
952 break; 976 break;
@@ -956,7 +980,10 @@ static __init int intel_pmu_init(void)
956 memcpy(hw_cache_event_ids, westmere_hw_cache_event_ids, 980 memcpy(hw_cache_event_ids, westmere_hw_cache_event_ids,
957 sizeof(hw_cache_event_ids)); 981 sizeof(hw_cache_event_ids));
958 982
983 intel_pmu_lbr_init_nhm();
984
959 x86_pmu.event_constraints = intel_westmere_event_constraints; 985 x86_pmu.event_constraints = intel_westmere_event_constraints;
986 x86_pmu.enable_all = intel_pmu_nhm_enable_all;
960 pr_cont("Westmere events, "); 987 pr_cont("Westmere events, ");
961 break; 988 break;
962 989
diff --git a/arch/x86/kernel/cpu/perf_event_intel_ds.c b/arch/x86/kernel/cpu/perf_event_intel_ds.c
new file mode 100644
index 00000000000..18018d1311c
--- /dev/null
+++ b/arch/x86/kernel/cpu/perf_event_intel_ds.c
@@ -0,0 +1,641 @@
1#ifdef CONFIG_CPU_SUP_INTEL
2
3/* The maximal number of PEBS events: */
4#define MAX_PEBS_EVENTS 4
5
6/* The size of a BTS record in bytes: */
7#define BTS_RECORD_SIZE 24
8
9#define BTS_BUFFER_SIZE (PAGE_SIZE << 4)
10#define PEBS_BUFFER_SIZE PAGE_SIZE
11
12/*
13 * pebs_record_32 for p4 and core not supported
14
15struct pebs_record_32 {
16 u32 flags, ip;
17 u32 ax, bc, cx, dx;
18 u32 si, di, bp, sp;
19};
20
21 */
22
23struct pebs_record_core {
24 u64 flags, ip;
25 u64 ax, bx, cx, dx;
26 u64 si, di, bp, sp;
27 u64 r8, r9, r10, r11;
28 u64 r12, r13, r14, r15;
29};
30
31struct pebs_record_nhm {
32 u64 flags, ip;
33 u64 ax, bx, cx, dx;
34 u64 si, di, bp, sp;
35 u64 r8, r9, r10, r11;
36 u64 r12, r13, r14, r15;
37 u64 status, dla, dse, lat;
38};
39
40/*
41 * A debug store configuration.
42 *
43 * We only support architectures that use 64bit fields.
44 */
45struct debug_store {
46 u64 bts_buffer_base;
47 u64 bts_index;
48 u64 bts_absolute_maximum;
49 u64 bts_interrupt_threshold;
50 u64 pebs_buffer_base;
51 u64 pebs_index;
52 u64 pebs_absolute_maximum;
53 u64 pebs_interrupt_threshold;
54 u64 pebs_event_reset[MAX_PEBS_EVENTS];
55};
56
57static void init_debug_store_on_cpu(int cpu)
58{
59 struct debug_store *ds = per_cpu(cpu_hw_events, cpu).ds;
60
61 if (!ds)
62 return;
63
64 wrmsr_on_cpu(cpu, MSR_IA32_DS_AREA,
65 (u32)((u64)(unsigned long)ds),
66 (u32)((u64)(unsigned long)ds >> 32));
67}
68
69static void fini_debug_store_on_cpu(int cpu)
70{
71 if (!per_cpu(cpu_hw_events, cpu).ds)
72 return;
73
74 wrmsr_on_cpu(cpu, MSR_IA32_DS_AREA, 0, 0);
75}
76
77static void release_ds_buffers(void)
78{
79 int cpu;
80
81 if (!x86_pmu.bts && !x86_pmu.pebs)
82 return;
83
84 get_online_cpus();
85
86 for_each_online_cpu(cpu)
87 fini_debug_store_on_cpu(cpu);
88
89 for_each_possible_cpu(cpu) {
90 struct debug_store *ds = per_cpu(cpu_hw_events, cpu).ds;
91
92 if (!ds)
93 continue;
94
95 per_cpu(cpu_hw_events, cpu).ds = NULL;
96
97 kfree((void *)(unsigned long)ds->pebs_buffer_base);
98 kfree((void *)(unsigned long)ds->bts_buffer_base);
99 kfree(ds);
100 }
101
102 put_online_cpus();
103}
104
105static int reserve_ds_buffers(void)
106{
107 int cpu, err = 0;
108
109 if (!x86_pmu.bts && !x86_pmu.pebs)
110 return 0;
111
112 get_online_cpus();
113
114 for_each_possible_cpu(cpu) {
115 struct debug_store *ds;
116 void *buffer;
117 int max, thresh;
118
119 err = -ENOMEM;
120 ds = kzalloc(sizeof(*ds), GFP_KERNEL);
121 if (unlikely(!ds))
122 break;
123 per_cpu(cpu_hw_events, cpu).ds = ds;
124
125 if (x86_pmu.bts) {
126 buffer = kzalloc(BTS_BUFFER_SIZE, GFP_KERNEL);
127 if (unlikely(!buffer))
128 break;
129
130 max = BTS_BUFFER_SIZE / BTS_RECORD_SIZE;
131 thresh = max / 16;
132
133 ds->bts_buffer_base = (u64)(unsigned long)buffer;
134 ds->bts_index = ds->bts_buffer_base;
135 ds->bts_absolute_maximum = ds->bts_buffer_base +
136 max * BTS_RECORD_SIZE;
137 ds->bts_interrupt_threshold = ds->bts_absolute_maximum -
138 thresh * BTS_RECORD_SIZE;
139 }
140
141 if (x86_pmu.pebs) {
142 buffer = kzalloc(PEBS_BUFFER_SIZE, GFP_KERNEL);
143 if (unlikely(!buffer))
144 break;
145
146 max = PEBS_BUFFER_SIZE / x86_pmu.pebs_record_size;
147
148 ds->pebs_buffer_base = (u64)(unsigned long)buffer;
149 ds->pebs_index = ds->pebs_buffer_base;
150 ds->pebs_absolute_maximum = ds->pebs_buffer_base +
151 max * x86_pmu.pebs_record_size;
152 /*
153 * Always use single record PEBS
154 */
155 ds->pebs_interrupt_threshold = ds->pebs_buffer_base +
156 x86_pmu.pebs_record_size;
157 }
158
159 err = 0;
160 }
161
162 if (err)
163 release_ds_buffers();
164 else {
165 for_each_online_cpu(cpu)
166 init_debug_store_on_cpu(cpu);
167 }
168
169 put_online_cpus();
170
171 return err;
172}
173
174/*
175 * BTS
176 */
177
178static struct event_constraint bts_constraint =
179 EVENT_CONSTRAINT(0, 1ULL << X86_PMC_IDX_FIXED_BTS, 0);
180
181static void intel_pmu_enable_bts(u64 config)
182{
183 unsigned long debugctlmsr;
184
185 debugctlmsr = get_debugctlmsr();
186
187 debugctlmsr |= DEBUGCTLMSR_TR;
188 debugctlmsr |= DEBUGCTLMSR_BTS;
189 debugctlmsr |= DEBUGCTLMSR_BTINT;
190
191 if (!(config & ARCH_PERFMON_EVENTSEL_OS))
192 debugctlmsr |= DEBUGCTLMSR_BTS_OFF_OS;
193
194 if (!(config & ARCH_PERFMON_EVENTSEL_USR))
195 debugctlmsr |= DEBUGCTLMSR_BTS_OFF_USR;
196
197 update_debugctlmsr(debugctlmsr);
198}
199
200static void intel_pmu_disable_bts(void)
201{
202 struct cpu_hw_events *cpuc = &__get_cpu_var(cpu_hw_events);
203 unsigned long debugctlmsr;
204
205 if (!cpuc->ds)
206 return;
207
208 debugctlmsr = get_debugctlmsr();
209
210 debugctlmsr &=
211 ~(DEBUGCTLMSR_TR | DEBUGCTLMSR_BTS | DEBUGCTLMSR_BTINT |
212 DEBUGCTLMSR_BTS_OFF_OS | DEBUGCTLMSR_BTS_OFF_USR);
213
214 update_debugctlmsr(debugctlmsr);
215}
216
217static void intel_pmu_drain_bts_buffer(void)
218{
219 struct cpu_hw_events *cpuc = &__get_cpu_var(cpu_hw_events);
220 struct debug_store *ds = cpuc->ds;
221 struct bts_record {
222 u64 from;
223 u64 to;
224 u64 flags;
225 };
226 struct perf_event *event = cpuc->events[X86_PMC_IDX_FIXED_BTS];
227 struct bts_record *at, *top;
228 struct perf_output_handle handle;
229 struct perf_event_header header;
230 struct perf_sample_data data;
231 struct pt_regs regs;
232
233 if (!event)
234 return;
235
236 if (!ds)
237 return;
238
239 at = (struct bts_record *)(unsigned long)ds->bts_buffer_base;
240 top = (struct bts_record *)(unsigned long)ds->bts_index;
241
242 if (top <= at)
243 return;
244
245 ds->bts_index = ds->bts_buffer_base;
246
247 perf_sample_data_init(&data, 0);
248 data.period = event->hw.last_period;
249 regs.ip = 0;
250
251 /*
252 * Prepare a generic sample, i.e. fill in the invariant fields.
253 * We will overwrite the from and to address before we output
254 * the sample.
255 */
256 perf_prepare_sample(&header, &data, event, &regs);
257
258 if (perf_output_begin(&handle, event, header.size * (top - at), 1, 1))
259 return;
260
261 for (; at < top; at++) {
262 data.ip = at->from;
263 data.addr = at->to;
264
265 perf_output_sample(&handle, &header, &data, event);
266 }
267
268 perf_output_end(&handle);
269
270 /* There's new data available. */
271 event->hw.interrupts++;
272 event->pending_kill = POLL_IN;
273}
274
275/*
276 * PEBS
277 */
278
279static struct event_constraint intel_core_pebs_events[] = {
280 PEBS_EVENT_CONSTRAINT(0x00c0, 0x1), /* INSTR_RETIRED.ANY */
281 PEBS_EVENT_CONSTRAINT(0xfec1, 0x1), /* X87_OPS_RETIRED.ANY */
282 PEBS_EVENT_CONSTRAINT(0x00c5, 0x1), /* BR_INST_RETIRED.MISPRED */
283 PEBS_EVENT_CONSTRAINT(0x1fc7, 0x1), /* SIMD_INST_RETURED.ANY */
284 PEBS_EVENT_CONSTRAINT(0x01cb, 0x1), /* MEM_LOAD_RETIRED.L1D_MISS */
285 PEBS_EVENT_CONSTRAINT(0x02cb, 0x1), /* MEM_LOAD_RETIRED.L1D_LINE_MISS */
286 PEBS_EVENT_CONSTRAINT(0x04cb, 0x1), /* MEM_LOAD_RETIRED.L2_MISS */
287 PEBS_EVENT_CONSTRAINT(0x08cb, 0x1), /* MEM_LOAD_RETIRED.L2_LINE_MISS */
288 PEBS_EVENT_CONSTRAINT(0x10cb, 0x1), /* MEM_LOAD_RETIRED.DTLB_MISS */
289 EVENT_CONSTRAINT_END
290};
291
292static struct event_constraint intel_nehalem_pebs_events[] = {
293 PEBS_EVENT_CONSTRAINT(0x00c0, 0xf), /* INSTR_RETIRED.ANY */
294 PEBS_EVENT_CONSTRAINT(0xfec1, 0xf), /* X87_OPS_RETIRED.ANY */
295 PEBS_EVENT_CONSTRAINT(0x00c5, 0xf), /* BR_INST_RETIRED.MISPRED */
296 PEBS_EVENT_CONSTRAINT(0x1fc7, 0xf), /* SIMD_INST_RETURED.ANY */
297 PEBS_EVENT_CONSTRAINT(0x01cb, 0xf), /* MEM_LOAD_RETIRED.L1D_MISS */
298 PEBS_EVENT_CONSTRAINT(0x02cb, 0xf), /* MEM_LOAD_RETIRED.L1D_LINE_MISS */
299 PEBS_EVENT_CONSTRAINT(0x04cb, 0xf), /* MEM_LOAD_RETIRED.L2_MISS */
300 PEBS_EVENT_CONSTRAINT(0x08cb, 0xf), /* MEM_LOAD_RETIRED.L2_LINE_MISS */
301 PEBS_EVENT_CONSTRAINT(0x10cb, 0xf), /* MEM_LOAD_RETIRED.DTLB_MISS */
302 EVENT_CONSTRAINT_END
303};
304
305static struct event_constraint *
306intel_pebs_constraints(struct perf_event *event)
307{
308 struct event_constraint *c;
309
310 if (!event->attr.precise_ip)
311 return NULL;
312
313 if (x86_pmu.pebs_constraints) {
314 for_each_event_constraint(c, x86_pmu.pebs_constraints) {
315 if ((event->hw.config & c->cmask) == c->code)
316 return c;
317 }
318 }
319
320 return &emptyconstraint;
321}
322
323static void intel_pmu_pebs_enable(struct perf_event *event)
324{
325 struct cpu_hw_events *cpuc = &__get_cpu_var(cpu_hw_events);
326 struct hw_perf_event *hwc = &event->hw;
327
328 hwc->config &= ~ARCH_PERFMON_EVENTSEL_INT;
329
330 cpuc->pebs_enabled |= 1ULL << hwc->idx;
331 WARN_ON_ONCE(cpuc->enabled);
332
333 if (x86_pmu.intel_cap.pebs_trap && event->attr.precise_ip > 1)
334 intel_pmu_lbr_enable(event);
335}
336
337static void intel_pmu_pebs_disable(struct perf_event *event)
338{
339 struct cpu_hw_events *cpuc = &__get_cpu_var(cpu_hw_events);
340 struct hw_perf_event *hwc = &event->hw;
341
342 cpuc->pebs_enabled &= ~(1ULL << hwc->idx);
343 if (cpuc->enabled)
344 wrmsrl(MSR_IA32_PEBS_ENABLE, cpuc->pebs_enabled);
345
346 hwc->config |= ARCH_PERFMON_EVENTSEL_INT;
347
348 if (x86_pmu.intel_cap.pebs_trap && event->attr.precise_ip > 1)
349 intel_pmu_lbr_disable(event);
350}
351
352static void intel_pmu_pebs_enable_all(void)
353{
354 struct cpu_hw_events *cpuc = &__get_cpu_var(cpu_hw_events);
355
356 if (cpuc->pebs_enabled)
357 wrmsrl(MSR_IA32_PEBS_ENABLE, cpuc->pebs_enabled);
358}
359
360static void intel_pmu_pebs_disable_all(void)
361{
362 struct cpu_hw_events *cpuc = &__get_cpu_var(cpu_hw_events);
363
364 if (cpuc->pebs_enabled)
365 wrmsrl(MSR_IA32_PEBS_ENABLE, 0);
366}
367
368#include <asm/insn.h>
369
370static inline bool kernel_ip(unsigned long ip)
371{
372#ifdef CONFIG_X86_32
373 return ip > PAGE_OFFSET;
374#else
375 return (long)ip < 0;
376#endif
377}
378
379static int intel_pmu_pebs_fixup_ip(struct pt_regs *regs)
380{
381 struct cpu_hw_events *cpuc = &__get_cpu_var(cpu_hw_events);
382 unsigned long from = cpuc->lbr_entries[0].from;
383 unsigned long old_to, to = cpuc->lbr_entries[0].to;
384 unsigned long ip = regs->ip;
385
386 /*
387 * We don't need to fixup if the PEBS assist is fault like
388 */
389 if (!x86_pmu.intel_cap.pebs_trap)
390 return 1;
391
392 /*
393 * No LBR entry, no basic block, no rewinding
394 */
395 if (!cpuc->lbr_stack.nr || !from || !to)
396 return 0;
397
398 /*
399 * Basic blocks should never cross user/kernel boundaries
400 */
401 if (kernel_ip(ip) != kernel_ip(to))
402 return 0;
403
404 /*
405 * unsigned math, either ip is before the start (impossible) or
406 * the basic block is larger than 1 page (sanity)
407 */
408 if ((ip - to) > PAGE_SIZE)
409 return 0;
410
411 /*
412 * We sampled a branch insn, rewind using the LBR stack
413 */
414 if (ip == to) {
415 regs->ip = from;
416 return 1;
417 }
418
419 do {
420 struct insn insn;
421 u8 buf[MAX_INSN_SIZE];
422 void *kaddr;
423
424 old_to = to;
425 if (!kernel_ip(ip)) {
426 int bytes, size = MAX_INSN_SIZE;
427
428 bytes = copy_from_user_nmi(buf, (void __user *)to, size);
429 if (bytes != size)
430 return 0;
431
432 kaddr = buf;
433 } else
434 kaddr = (void *)to;
435
436 kernel_insn_init(&insn, kaddr);
437 insn_get_length(&insn);
438 to += insn.length;
439 } while (to < ip);
440
441 if (to == ip) {
442 regs->ip = old_to;
443 return 1;
444 }
445
446 /*
447 * Even though we decoded the basic block, the instruction stream
448 * never matched the given IP, either the TO or the IP got corrupted.
449 */
450 return 0;
451}
452
453static int intel_pmu_save_and_restart(struct perf_event *event);
454
455static void __intel_pmu_pebs_event(struct perf_event *event,
456 struct pt_regs *iregs, void *__pebs)
457{
458 /*
459 * We cast to pebs_record_core since that is a subset of
460 * both formats and we don't use the other fields in this
461 * routine.
462 */
463 struct pebs_record_core *pebs = __pebs;
464 struct perf_sample_data data;
465 struct pt_regs regs;
466
467 if (!intel_pmu_save_and_restart(event))
468 return;
469
470 perf_sample_data_init(&data, 0);
471 data.period = event->hw.last_period;
472
473 /*
474 * We use the interrupt regs as a base because the PEBS record
475 * does not contain a full regs set, specifically it seems to
476 * lack segment descriptors, which get used by things like
477 * user_mode().
478 *
479 * In the simple case fix up only the IP and BP,SP regs, for
480 * PERF_SAMPLE_IP and PERF_SAMPLE_CALLCHAIN to function properly.
481 * A possible PERF_SAMPLE_REGS will have to transfer all regs.
482 */
483 regs = *iregs;
484 regs.ip = pebs->ip;
485 regs.bp = pebs->bp;
486 regs.sp = pebs->sp;
487
488 if (event->attr.precise_ip > 1 && intel_pmu_pebs_fixup_ip(&regs))
489 regs.flags |= PERF_EFLAGS_EXACT;
490 else
491 regs.flags &= ~PERF_EFLAGS_EXACT;
492
493 if (perf_event_overflow(event, 1, &data, &regs))
494 x86_pmu_stop(event);
495}
496
497static void intel_pmu_drain_pebs_core(struct pt_regs *iregs)
498{
499 struct cpu_hw_events *cpuc = &__get_cpu_var(cpu_hw_events);
500 struct debug_store *ds = cpuc->ds;
501 struct perf_event *event = cpuc->events[0]; /* PMC0 only */
502 struct pebs_record_core *at, *top;
503 int n;
504
505 if (!ds || !x86_pmu.pebs)
506 return;
507
508 at = (struct pebs_record_core *)(unsigned long)ds->pebs_buffer_base;
509 top = (struct pebs_record_core *)(unsigned long)ds->pebs_index;
510
511 /*
512 * Whatever else happens, drain the thing
513 */
514 ds->pebs_index = ds->pebs_buffer_base;
515
516 if (!test_bit(0, cpuc->active_mask))
517 return;
518
519 WARN_ON_ONCE(!event);
520
521 if (!event->attr.precise_ip)
522 return;
523
524 n = top - at;
525 if (n <= 0)
526 return;
527
528 /*
529 * Should not happen, we program the threshold at 1 and do not
530 * set a reset value.
531 */
532 WARN_ON_ONCE(n > 1);
533 at += n - 1;
534
535 __intel_pmu_pebs_event(event, iregs, at);
536}
537
538static void intel_pmu_drain_pebs_nhm(struct pt_regs *iregs)
539{
540 struct cpu_hw_events *cpuc = &__get_cpu_var(cpu_hw_events);
541 struct debug_store *ds = cpuc->ds;
542 struct pebs_record_nhm *at, *top;
543 struct perf_event *event = NULL;
544 u64 status = 0;
545 int bit, n;
546
547 if (!ds || !x86_pmu.pebs)
548 return;
549
550 at = (struct pebs_record_nhm *)(unsigned long)ds->pebs_buffer_base;
551 top = (struct pebs_record_nhm *)(unsigned long)ds->pebs_index;
552
553 ds->pebs_index = ds->pebs_buffer_base;
554
555 n = top - at;
556 if (n <= 0)
557 return;
558
559 /*
560 * Should not happen, we program the threshold at 1 and do not
561 * set a reset value.
562 */
563 WARN_ON_ONCE(n > MAX_PEBS_EVENTS);
564
565 for ( ; at < top; at++) {
566 for_each_set_bit(bit, (unsigned long *)&at->status, MAX_PEBS_EVENTS) {
567 event = cpuc->events[bit];
568 if (!test_bit(bit, cpuc->active_mask))
569 continue;
570
571 WARN_ON_ONCE(!event);
572
573 if (!event->attr.precise_ip)
574 continue;
575
576 if (__test_and_set_bit(bit, (unsigned long *)&status))
577 continue;
578
579 break;
580 }
581
582 if (!event || bit >= MAX_PEBS_EVENTS)
583 continue;
584
585 __intel_pmu_pebs_event(event, iregs, at);
586 }
587}
588
589/*
590 * BTS, PEBS probe and setup
591 */
592
593static void intel_ds_init(void)
594{
595 /*
596 * No support for 32bit formats
597 */
598 if (!boot_cpu_has(X86_FEATURE_DTES64))
599 return;
600
601 x86_pmu.bts = boot_cpu_has(X86_FEATURE_BTS);
602 x86_pmu.pebs = boot_cpu_has(X86_FEATURE_PEBS);
603 if (x86_pmu.pebs) {
604 char pebs_type = x86_pmu.intel_cap.pebs_trap ? '+' : '-';
605 int format = x86_pmu.intel_cap.pebs_format;
606
607 switch (format) {
608 case 0:
609 printk(KERN_CONT "PEBS fmt0%c, ", pebs_type);
610 x86_pmu.pebs_record_size = sizeof(struct pebs_record_core);
611 x86_pmu.drain_pebs = intel_pmu_drain_pebs_core;
612 x86_pmu.pebs_constraints = intel_core_pebs_events;
613 break;
614
615 case 1:
616 printk(KERN_CONT "PEBS fmt1%c, ", pebs_type);
617 x86_pmu.pebs_record_size = sizeof(struct pebs_record_nhm);
618 x86_pmu.drain_pebs = intel_pmu_drain_pebs_nhm;
619 x86_pmu.pebs_constraints = intel_nehalem_pebs_events;
620 break;
621
622 default:
623 printk(KERN_CONT "no PEBS fmt%d%c, ", format, pebs_type);
624 x86_pmu.pebs = 0;
625 break;
626 }
627 }
628}
629
630#else /* CONFIG_CPU_SUP_INTEL */
631
632static int reserve_ds_buffers(void)
633{
634 return 0;
635}
636
637static void release_ds_buffers(void)
638{
639}
640
641#endif /* CONFIG_CPU_SUP_INTEL */
diff --git a/arch/x86/kernel/cpu/perf_event_intel_lbr.c b/arch/x86/kernel/cpu/perf_event_intel_lbr.c
new file mode 100644
index 00000000000..d202c1bece1
--- /dev/null
+++ b/arch/x86/kernel/cpu/perf_event_intel_lbr.c
@@ -0,0 +1,218 @@
1#ifdef CONFIG_CPU_SUP_INTEL
2
3enum {
4 LBR_FORMAT_32 = 0x00,
5 LBR_FORMAT_LIP = 0x01,
6 LBR_FORMAT_EIP = 0x02,
7 LBR_FORMAT_EIP_FLAGS = 0x03,
8};
9
10/*
11 * We only support LBR implementations that have FREEZE_LBRS_ON_PMI
12 * otherwise it becomes near impossible to get a reliable stack.
13 */
14
15static void __intel_pmu_lbr_enable(void)
16{
17 u64 debugctl;
18
19 rdmsrl(MSR_IA32_DEBUGCTLMSR, debugctl);
20 debugctl |= (DEBUGCTLMSR_LBR | DEBUGCTLMSR_FREEZE_LBRS_ON_PMI);
21 wrmsrl(MSR_IA32_DEBUGCTLMSR, debugctl);
22}
23
24static void __intel_pmu_lbr_disable(void)
25{
26 u64 debugctl;
27
28 rdmsrl(MSR_IA32_DEBUGCTLMSR, debugctl);
29 debugctl &= ~(DEBUGCTLMSR_LBR | DEBUGCTLMSR_FREEZE_LBRS_ON_PMI);
30 wrmsrl(MSR_IA32_DEBUGCTLMSR, debugctl);
31}
32
33static void intel_pmu_lbr_reset_32(void)
34{
35 int i;
36
37 for (i = 0; i < x86_pmu.lbr_nr; i++)
38 wrmsrl(x86_pmu.lbr_from + i, 0);
39}
40
41static void intel_pmu_lbr_reset_64(void)
42{
43 int i;
44
45 for (i = 0; i < x86_pmu.lbr_nr; i++) {
46 wrmsrl(x86_pmu.lbr_from + i, 0);
47 wrmsrl(x86_pmu.lbr_to + i, 0);
48 }
49}
50
51static void intel_pmu_lbr_reset(void)
52{
53 if (!x86_pmu.lbr_nr)
54 return;
55
56 if (x86_pmu.intel_cap.lbr_format == LBR_FORMAT_32)
57 intel_pmu_lbr_reset_32();
58 else
59 intel_pmu_lbr_reset_64();
60}
61
62static void intel_pmu_lbr_enable(struct perf_event *event)
63{
64 struct cpu_hw_events *cpuc = &__get_cpu_var(cpu_hw_events);
65
66 if (!x86_pmu.lbr_nr)
67 return;
68
69 WARN_ON_ONCE(cpuc->enabled);
70
71 /*
72 * Reset the LBR stack if we changed task context to
73 * avoid data leaks.
74 */
75
76 if (event->ctx->task && cpuc->lbr_context != event->ctx) {
77 intel_pmu_lbr_reset();
78 cpuc->lbr_context = event->ctx;
79 }
80
81 cpuc->lbr_users++;
82}
83
84static void intel_pmu_lbr_disable(struct perf_event *event)
85{
86 struct cpu_hw_events *cpuc = &__get_cpu_var(cpu_hw_events);
87
88 if (!x86_pmu.lbr_nr)
89 return;
90
91 cpuc->lbr_users--;
92 WARN_ON_ONCE(cpuc->lbr_users < 0);
93
94 if (cpuc->enabled && !cpuc->lbr_users)
95 __intel_pmu_lbr_disable();
96}
97
98static void intel_pmu_lbr_enable_all(void)
99{
100 struct cpu_hw_events *cpuc = &__get_cpu_var(cpu_hw_events);
101
102 if (cpuc->lbr_users)
103 __intel_pmu_lbr_enable();
104}
105
106static void intel_pmu_lbr_disable_all(void)
107{
108 struct cpu_hw_events *cpuc = &__get_cpu_var(cpu_hw_events);
109
110 if (cpuc->lbr_users)
111 __intel_pmu_lbr_disable();
112}
113
114static inline u64 intel_pmu_lbr_tos(void)
115{
116 u64 tos;
117
118 rdmsrl(x86_pmu.lbr_tos, tos);
119
120 return tos;
121}
122
123static void intel_pmu_lbr_read_32(struct cpu_hw_events *cpuc)
124{
125 unsigned long mask = x86_pmu.lbr_nr - 1;
126 u64 tos = intel_pmu_lbr_tos();
127 int i;
128
129 for (i = 0; i < x86_pmu.lbr_nr; i++) {
130 unsigned long lbr_idx = (tos - i) & mask;
131 union {
132 struct {
133 u32 from;
134 u32 to;
135 };
136 u64 lbr;
137 } msr_lastbranch;
138
139 rdmsrl(x86_pmu.lbr_from + lbr_idx, msr_lastbranch.lbr);
140
141 cpuc->lbr_entries[i].from = msr_lastbranch.from;
142 cpuc->lbr_entries[i].to = msr_lastbranch.to;
143 cpuc->lbr_entries[i].flags = 0;
144 }
145 cpuc->lbr_stack.nr = i;
146}
147
148#define LBR_FROM_FLAG_MISPRED (1ULL << 63)
149
150/*
151 * Due to lack of segmentation in Linux the effective address (offset)
152 * is the same as the linear address, allowing us to merge the LIP and EIP
153 * LBR formats.
154 */
155static void intel_pmu_lbr_read_64(struct cpu_hw_events *cpuc)
156{
157 unsigned long mask = x86_pmu.lbr_nr - 1;
158 int lbr_format = x86_pmu.intel_cap.lbr_format;
159 u64 tos = intel_pmu_lbr_tos();
160 int i;
161
162 for (i = 0; i < x86_pmu.lbr_nr; i++) {
163 unsigned long lbr_idx = (tos - i) & mask;
164 u64 from, to, flags = 0;
165
166 rdmsrl(x86_pmu.lbr_from + lbr_idx, from);
167 rdmsrl(x86_pmu.lbr_to + lbr_idx, to);
168
169 if (lbr_format == LBR_FORMAT_EIP_FLAGS) {
170 flags = !!(from & LBR_FROM_FLAG_MISPRED);
171 from = (u64)((((s64)from) << 1) >> 1);
172 }
173
174 cpuc->lbr_entries[i].from = from;
175 cpuc->lbr_entries[i].to = to;
176 cpuc->lbr_entries[i].flags = flags;
177 }
178 cpuc->lbr_stack.nr = i;
179}
180
181static void intel_pmu_lbr_read(void)
182{
183 struct cpu_hw_events *cpuc = &__get_cpu_var(cpu_hw_events);
184
185 if (!cpuc->lbr_users)
186 return;
187
188 if (x86_pmu.intel_cap.lbr_format == LBR_FORMAT_32)
189 intel_pmu_lbr_read_32(cpuc);
190 else
191 intel_pmu_lbr_read_64(cpuc);
192}
193
194static void intel_pmu_lbr_init_core(void)
195{
196 x86_pmu.lbr_nr = 4;
197 x86_pmu.lbr_tos = 0x01c9;
198 x86_pmu.lbr_from = 0x40;
199 x86_pmu.lbr_to = 0x60;
200}
201
202static void intel_pmu_lbr_init_nhm(void)
203{
204 x86_pmu.lbr_nr = 16;
205 x86_pmu.lbr_tos = 0x01c9;
206 x86_pmu.lbr_from = 0x680;
207 x86_pmu.lbr_to = 0x6c0;
208}
209
210static void intel_pmu_lbr_init_atom(void)
211{
212 x86_pmu.lbr_nr = 8;
213 x86_pmu.lbr_tos = 0x01c9;
214 x86_pmu.lbr_from = 0x40;
215 x86_pmu.lbr_to = 0x60;
216}
217
218#endif /* CONFIG_CPU_SUP_INTEL */
diff --git a/arch/x86/kernel/cpu/perf_event_p4.c b/arch/x86/kernel/cpu/perf_event_p4.c
new file mode 100644
index 00000000000..424fc8de68e
--- /dev/null
+++ b/arch/x86/kernel/cpu/perf_event_p4.c
@@ -0,0 +1,857 @@
1/*
2 * Netburst Perfomance Events (P4, old Xeon)
3 *
4 * Copyright (C) 2010 Parallels, Inc., Cyrill Gorcunov <gorcunov@openvz.org>
5 * Copyright (C) 2010 Intel Corporation, Lin Ming <ming.m.lin@intel.com>
6 *
7 * For licencing details see kernel-base/COPYING
8 */
9
10#ifdef CONFIG_CPU_SUP_INTEL
11
12#include <asm/perf_event_p4.h>
13
14#define P4_CNTR_LIMIT 3
15/*
16 * array indices: 0,1 - HT threads, used with HT enabled cpu
17 */
18struct p4_event_bind {
19 unsigned int opcode; /* Event code and ESCR selector */
20 unsigned int escr_msr[2]; /* ESCR MSR for this event */
21 char cntr[2][P4_CNTR_LIMIT]; /* counter index (offset), -1 on abscence */
22};
23
24struct p4_cache_event_bind {
25 unsigned int metric_pebs;
26 unsigned int metric_vert;
27};
28
29#define P4_GEN_CACHE_EVENT_BIND(name) \
30 [P4_CACHE__##name] = { \
31 .metric_pebs = P4_PEBS__##name, \
32 .metric_vert = P4_VERT__##name, \
33 }
34
35static struct p4_cache_event_bind p4_cache_event_bind_map[] = {
36 P4_GEN_CACHE_EVENT_BIND(1stl_cache_load_miss_retired),
37 P4_GEN_CACHE_EVENT_BIND(2ndl_cache_load_miss_retired),
38 P4_GEN_CACHE_EVENT_BIND(dtlb_load_miss_retired),
39 P4_GEN_CACHE_EVENT_BIND(dtlb_store_miss_retired),
40};
41
42/*
43 * Note that we don't use CCCR1 here, there is an
44 * exception for P4_BSQ_ALLOCATION but we just have
45 * no workaround
46 *
47 * consider this binding as resources which particular
48 * event may borrow, it doesn't contain EventMask,
49 * Tags and friends -- they are left to a caller
50 */
51static struct p4_event_bind p4_event_bind_map[] = {
52 [P4_EVENT_TC_DELIVER_MODE] = {
53 .opcode = P4_OPCODE(P4_EVENT_TC_DELIVER_MODE),
54 .escr_msr = { MSR_P4_TC_ESCR0, MSR_P4_TC_ESCR1 },
55 .cntr = { {4, 5, -1}, {6, 7, -1} },
56 },
57 [P4_EVENT_BPU_FETCH_REQUEST] = {
58 .opcode = P4_OPCODE(P4_EVENT_BPU_FETCH_REQUEST),
59 .escr_msr = { MSR_P4_BPU_ESCR0, MSR_P4_BPU_ESCR1 },
60 .cntr = { {0, -1, -1}, {2, -1, -1} },
61 },
62 [P4_EVENT_ITLB_REFERENCE] = {
63 .opcode = P4_OPCODE(P4_EVENT_ITLB_REFERENCE),
64 .escr_msr = { MSR_P4_ITLB_ESCR0, MSR_P4_ITLB_ESCR1 },
65 .cntr = { {0, -1, -1}, {2, -1, -1} },
66 },
67 [P4_EVENT_MEMORY_CANCEL] = {
68 .opcode = P4_OPCODE(P4_EVENT_MEMORY_CANCEL),
69 .escr_msr = { MSR_P4_DAC_ESCR0, MSR_P4_DAC_ESCR1 },
70 .cntr = { {8, 9, -1}, {10, 11, -1} },
71 },
72 [P4_EVENT_MEMORY_COMPLETE] = {
73 .opcode = P4_OPCODE(P4_EVENT_MEMORY_COMPLETE),
74 .escr_msr = { MSR_P4_SAAT_ESCR0 , MSR_P4_SAAT_ESCR1 },
75 .cntr = { {8, 9, -1}, {10, 11, -1} },
76 },
77 [P4_EVENT_LOAD_PORT_REPLAY] = {
78 .opcode = P4_OPCODE(P4_EVENT_LOAD_PORT_REPLAY),
79 .escr_msr = { MSR_P4_SAAT_ESCR0, MSR_P4_SAAT_ESCR1 },
80 .cntr = { {8, 9, -1}, {10, 11, -1} },
81 },
82 [P4_EVENT_STORE_PORT_REPLAY] = {
83 .opcode = P4_OPCODE(P4_EVENT_STORE_PORT_REPLAY),
84 .escr_msr = { MSR_P4_SAAT_ESCR0 , MSR_P4_SAAT_ESCR1 },
85 .cntr = { {8, 9, -1}, {10, 11, -1} },
86 },
87 [P4_EVENT_MOB_LOAD_REPLAY] = {
88 .opcode = P4_OPCODE(P4_EVENT_MOB_LOAD_REPLAY),
89 .escr_msr = { MSR_P4_MOB_ESCR0, MSR_P4_MOB_ESCR1 },
90 .cntr = { {0, -1, -1}, {2, -1, -1} },
91 },
92 [P4_EVENT_PAGE_WALK_TYPE] = {
93 .opcode = P4_OPCODE(P4_EVENT_PAGE_WALK_TYPE),
94 .escr_msr = { MSR_P4_PMH_ESCR0, MSR_P4_PMH_ESCR1 },
95 .cntr = { {0, -1, -1}, {2, -1, -1} },
96 },
97 [P4_EVENT_BSQ_CACHE_REFERENCE] = {
98 .opcode = P4_OPCODE(P4_EVENT_BSQ_CACHE_REFERENCE),
99 .escr_msr = { MSR_P4_BSU_ESCR0, MSR_P4_BSU_ESCR1 },
100 .cntr = { {0, -1, -1}, {2, -1, -1} },
101 },
102 [P4_EVENT_IOQ_ALLOCATION] = {
103 .opcode = P4_OPCODE(P4_EVENT_IOQ_ALLOCATION),
104 .escr_msr = { MSR_P4_FSB_ESCR0, MSR_P4_FSB_ESCR1 },
105 .cntr = { {0, -1, -1}, {2, -1, -1} },
106 },
107 [P4_EVENT_IOQ_ACTIVE_ENTRIES] = { /* shared ESCR */
108 .opcode = P4_OPCODE(P4_EVENT_IOQ_ACTIVE_ENTRIES),
109 .escr_msr = { MSR_P4_FSB_ESCR1, MSR_P4_FSB_ESCR1 },
110 .cntr = { {2, -1, -1}, {3, -1, -1} },
111 },
112 [P4_EVENT_FSB_DATA_ACTIVITY] = {
113 .opcode = P4_OPCODE(P4_EVENT_FSB_DATA_ACTIVITY),
114 .escr_msr = { MSR_P4_FSB_ESCR0, MSR_P4_FSB_ESCR1 },
115 .cntr = { {0, -1, -1}, {2, -1, -1} },
116 },
117 [P4_EVENT_BSQ_ALLOCATION] = { /* shared ESCR, broken CCCR1 */
118 .opcode = P4_OPCODE(P4_EVENT_BSQ_ALLOCATION),
119 .escr_msr = { MSR_P4_BSU_ESCR0, MSR_P4_BSU_ESCR0 },
120 .cntr = { {0, -1, -1}, {1, -1, -1} },
121 },
122 [P4_EVENT_BSQ_ACTIVE_ENTRIES] = { /* shared ESCR */
123 .opcode = P4_OPCODE(P4_EVENT_BSQ_ACTIVE_ENTRIES),
124 .escr_msr = { MSR_P4_BSU_ESCR1 , MSR_P4_BSU_ESCR1 },
125 .cntr = { {2, -1, -1}, {3, -1, -1} },
126 },
127 [P4_EVENT_SSE_INPUT_ASSIST] = {
128 .opcode = P4_OPCODE(P4_EVENT_SSE_INPUT_ASSIST),
129 .escr_msr = { MSR_P4_FIRM_ESCR0, MSR_P4_FIRM_ESCR1 },
130 .cntr = { {8, 9, -1}, {10, 11, -1} },
131 },
132 [P4_EVENT_PACKED_SP_UOP] = {
133 .opcode = P4_OPCODE(P4_EVENT_PACKED_SP_UOP),
134 .escr_msr = { MSR_P4_FIRM_ESCR0, MSR_P4_FIRM_ESCR1 },
135 .cntr = { {8, 9, -1}, {10, 11, -1} },
136 },
137 [P4_EVENT_PACKED_DP_UOP] = {
138 .opcode = P4_OPCODE(P4_EVENT_PACKED_DP_UOP),
139 .escr_msr = { MSR_P4_FIRM_ESCR0, MSR_P4_FIRM_ESCR1 },
140 .cntr = { {8, 9, -1}, {10, 11, -1} },
141 },
142 [P4_EVENT_SCALAR_SP_UOP] = {
143 .opcode = P4_OPCODE(P4_EVENT_SCALAR_SP_UOP),
144 .escr_msr = { MSR_P4_FIRM_ESCR0, MSR_P4_FIRM_ESCR1 },
145 .cntr = { {8, 9, -1}, {10, 11, -1} },
146 },
147 [P4_EVENT_SCALAR_DP_UOP] = {
148 .opcode = P4_OPCODE(P4_EVENT_SCALAR_DP_UOP),
149 .escr_msr = { MSR_P4_FIRM_ESCR0, MSR_P4_FIRM_ESCR1 },
150 .cntr = { {8, 9, -1}, {10, 11, -1} },
151 },
152 [P4_EVENT_64BIT_MMX_UOP] = {
153 .opcode = P4_OPCODE(P4_EVENT_64BIT_MMX_UOP),
154 .escr_msr = { MSR_P4_FIRM_ESCR0, MSR_P4_FIRM_ESCR1 },
155 .cntr = { {8, 9, -1}, {10, 11, -1} },
156 },
157 [P4_EVENT_128BIT_MMX_UOP] = {
158 .opcode = P4_OPCODE(P4_EVENT_128BIT_MMX_UOP),
159 .escr_msr = { MSR_P4_FIRM_ESCR0, MSR_P4_FIRM_ESCR1 },
160 .cntr = { {8, 9, -1}, {10, 11, -1} },
161 },
162 [P4_EVENT_X87_FP_UOP] = {
163 .opcode = P4_OPCODE(P4_EVENT_X87_FP_UOP),
164 .escr_msr = { MSR_P4_FIRM_ESCR0, MSR_P4_FIRM_ESCR1 },
165 .cntr = { {8, 9, -1}, {10, 11, -1} },
166 },
167 [P4_EVENT_TC_MISC] = {
168 .opcode = P4_OPCODE(P4_EVENT_TC_MISC),
169 .escr_msr = { MSR_P4_TC_ESCR0, MSR_P4_TC_ESCR1 },
170 .cntr = { {4, 5, -1}, {6, 7, -1} },
171 },
172 [P4_EVENT_GLOBAL_POWER_EVENTS] = {
173 .opcode = P4_OPCODE(P4_EVENT_GLOBAL_POWER_EVENTS),
174 .escr_msr = { MSR_P4_FSB_ESCR0, MSR_P4_FSB_ESCR1 },
175 .cntr = { {0, -1, -1}, {2, -1, -1} },
176 },
177 [P4_EVENT_TC_MS_XFER] = {
178 .opcode = P4_OPCODE(P4_EVENT_TC_MS_XFER),
179 .escr_msr = { MSR_P4_MS_ESCR0, MSR_P4_MS_ESCR1 },
180 .cntr = { {4, 5, -1}, {6, 7, -1} },
181 },
182 [P4_EVENT_UOP_QUEUE_WRITES] = {
183 .opcode = P4_OPCODE(P4_EVENT_UOP_QUEUE_WRITES),
184 .escr_msr = { MSR_P4_MS_ESCR0, MSR_P4_MS_ESCR1 },
185 .cntr = { {4, 5, -1}, {6, 7, -1} },
186 },
187 [P4_EVENT_RETIRED_MISPRED_BRANCH_TYPE] = {
188 .opcode = P4_OPCODE(P4_EVENT_RETIRED_MISPRED_BRANCH_TYPE),
189 .escr_msr = { MSR_P4_TBPU_ESCR0 , MSR_P4_TBPU_ESCR0 },
190 .cntr = { {4, 5, -1}, {6, 7, -1} },
191 },
192 [P4_EVENT_RETIRED_BRANCH_TYPE] = {
193 .opcode = P4_OPCODE(P4_EVENT_RETIRED_BRANCH_TYPE),
194 .escr_msr = { MSR_P4_TBPU_ESCR0 , MSR_P4_TBPU_ESCR1 },
195 .cntr = { {4, 5, -1}, {6, 7, -1} },
196 },
197 [P4_EVENT_RESOURCE_STALL] = {
198 .opcode = P4_OPCODE(P4_EVENT_RESOURCE_STALL),
199 .escr_msr = { MSR_P4_ALF_ESCR0, MSR_P4_ALF_ESCR1 },
200 .cntr = { {12, 13, 16}, {14, 15, 17} },
201 },
202 [P4_EVENT_WC_BUFFER] = {
203 .opcode = P4_OPCODE(P4_EVENT_WC_BUFFER),
204 .escr_msr = { MSR_P4_DAC_ESCR0, MSR_P4_DAC_ESCR1 },
205 .cntr = { {8, 9, -1}, {10, 11, -1} },
206 },
207 [P4_EVENT_B2B_CYCLES] = {
208 .opcode = P4_OPCODE(P4_EVENT_B2B_CYCLES),
209 .escr_msr = { MSR_P4_FSB_ESCR0, MSR_P4_FSB_ESCR1 },
210 .cntr = { {0, -1, -1}, {2, -1, -1} },
211 },
212 [P4_EVENT_BNR] = {
213 .opcode = P4_OPCODE(P4_EVENT_BNR),
214 .escr_msr = { MSR_P4_FSB_ESCR0, MSR_P4_FSB_ESCR1 },
215 .cntr = { {0, -1, -1}, {2, -1, -1} },
216 },
217 [P4_EVENT_SNOOP] = {
218 .opcode = P4_OPCODE(P4_EVENT_SNOOP),
219 .escr_msr = { MSR_P4_FSB_ESCR0, MSR_P4_FSB_ESCR1 },
220 .cntr = { {0, -1, -1}, {2, -1, -1} },
221 },
222 [P4_EVENT_RESPONSE] = {
223 .opcode = P4_OPCODE(P4_EVENT_RESPONSE),
224 .escr_msr = { MSR_P4_FSB_ESCR0, MSR_P4_FSB_ESCR1 },
225 .cntr = { {0, -1, -1}, {2, -1, -1} },
226 },
227 [P4_EVENT_FRONT_END_EVENT] = {
228 .opcode = P4_OPCODE(P4_EVENT_FRONT_END_EVENT),
229 .escr_msr = { MSR_P4_CRU_ESCR2, MSR_P4_CRU_ESCR3 },
230 .cntr = { {12, 13, 16}, {14, 15, 17} },
231 },
232 [P4_EVENT_EXECUTION_EVENT] = {
233 .opcode = P4_OPCODE(P4_EVENT_EXECUTION_EVENT),
234 .escr_msr = { MSR_P4_CRU_ESCR2, MSR_P4_CRU_ESCR3 },
235 .cntr = { {12, 13, 16}, {14, 15, 17} },
236 },
237 [P4_EVENT_REPLAY_EVENT] = {
238 .opcode = P4_OPCODE(P4_EVENT_REPLAY_EVENT),
239 .escr_msr = { MSR_P4_CRU_ESCR2, MSR_P4_CRU_ESCR3 },
240 .cntr = { {12, 13, 16}, {14, 15, 17} },
241 },
242 [P4_EVENT_INSTR_RETIRED] = {
243 .opcode = P4_OPCODE(P4_EVENT_INSTR_RETIRED),
244 .escr_msr = { MSR_P4_CRU_ESCR0, MSR_P4_CRU_ESCR1 },
245 .cntr = { {12, 13, 16}, {14, 15, 17} },
246 },
247 [P4_EVENT_UOPS_RETIRED] = {
248 .opcode = P4_OPCODE(P4_EVENT_UOPS_RETIRED),
249 .escr_msr = { MSR_P4_CRU_ESCR0, MSR_P4_CRU_ESCR1 },
250 .cntr = { {12, 13, 16}, {14, 15, 17} },
251 },
252 [P4_EVENT_UOP_TYPE] = {
253 .opcode = P4_OPCODE(P4_EVENT_UOP_TYPE),
254 .escr_msr = { MSR_P4_RAT_ESCR0, MSR_P4_RAT_ESCR1 },
255 .cntr = { {12, 13, 16}, {14, 15, 17} },
256 },
257 [P4_EVENT_BRANCH_RETIRED] = {
258 .opcode = P4_OPCODE(P4_EVENT_BRANCH_RETIRED),
259 .escr_msr = { MSR_P4_CRU_ESCR2, MSR_P4_CRU_ESCR3 },
260 .cntr = { {12, 13, 16}, {14, 15, 17} },
261 },
262 [P4_EVENT_MISPRED_BRANCH_RETIRED] = {
263 .opcode = P4_OPCODE(P4_EVENT_MISPRED_BRANCH_RETIRED),
264 .escr_msr = { MSR_P4_CRU_ESCR0, MSR_P4_CRU_ESCR1 },
265 .cntr = { {12, 13, 16}, {14, 15, 17} },
266 },
267 [P4_EVENT_X87_ASSIST] = {
268 .opcode = P4_OPCODE(P4_EVENT_X87_ASSIST),
269 .escr_msr = { MSR_P4_CRU_ESCR2, MSR_P4_CRU_ESCR3 },
270 .cntr = { {12, 13, 16}, {14, 15, 17} },
271 },
272 [P4_EVENT_MACHINE_CLEAR] = {
273 .opcode = P4_OPCODE(P4_EVENT_MACHINE_CLEAR),
274 .escr_msr = { MSR_P4_CRU_ESCR2, MSR_P4_CRU_ESCR3 },
275 .cntr = { {12, 13, 16}, {14, 15, 17} },
276 },
277 [P4_EVENT_INSTR_COMPLETED] = {
278 .opcode = P4_OPCODE(P4_EVENT_INSTR_COMPLETED),
279 .escr_msr = { MSR_P4_CRU_ESCR0, MSR_P4_CRU_ESCR1 },
280 .cntr = { {12, 13, 16}, {14, 15, 17} },
281 },
282};
283
284#define P4_GEN_CACHE_EVENT(event, bit, cache_event) \
285 p4_config_pack_escr(P4_ESCR_EVENT(event) | \
286 P4_ESCR_EMASK_BIT(event, bit)) | \
287 p4_config_pack_cccr(cache_event | \
288 P4_CCCR_ESEL(P4_OPCODE_ESEL(P4_OPCODE(event))))
289
290static __initconst const u64 p4_hw_cache_event_ids
291 [PERF_COUNT_HW_CACHE_MAX]
292 [PERF_COUNT_HW_CACHE_OP_MAX]
293 [PERF_COUNT_HW_CACHE_RESULT_MAX] =
294{
295 [ C(L1D ) ] = {
296 [ C(OP_READ) ] = {
297 [ C(RESULT_ACCESS) ] = 0x0,
298 [ C(RESULT_MISS) ] = P4_GEN_CACHE_EVENT(P4_EVENT_REPLAY_EVENT, NBOGUS,
299 P4_CACHE__1stl_cache_load_miss_retired),
300 },
301 },
302 [ C(LL ) ] = {
303 [ C(OP_READ) ] = {
304 [ C(RESULT_ACCESS) ] = 0x0,
305 [ C(RESULT_MISS) ] = P4_GEN_CACHE_EVENT(P4_EVENT_REPLAY_EVENT, NBOGUS,
306 P4_CACHE__2ndl_cache_load_miss_retired),
307 },
308},
309 [ C(DTLB) ] = {
310 [ C(OP_READ) ] = {
311 [ C(RESULT_ACCESS) ] = 0x0,
312 [ C(RESULT_MISS) ] = P4_GEN_CACHE_EVENT(P4_EVENT_REPLAY_EVENT, NBOGUS,
313 P4_CACHE__dtlb_load_miss_retired),
314 },
315 [ C(OP_WRITE) ] = {
316 [ C(RESULT_ACCESS) ] = 0x0,
317 [ C(RESULT_MISS) ] = P4_GEN_CACHE_EVENT(P4_EVENT_REPLAY_EVENT, NBOGUS,
318 P4_CACHE__dtlb_store_miss_retired),
319 },
320 },
321 [ C(ITLB) ] = {
322 [ C(OP_READ) ] = {
323 [ C(RESULT_ACCESS) ] = P4_GEN_CACHE_EVENT(P4_EVENT_ITLB_REFERENCE, HIT,
324 P4_CACHE__itlb_reference_hit),
325 [ C(RESULT_MISS) ] = P4_GEN_CACHE_EVENT(P4_EVENT_ITLB_REFERENCE, MISS,
326 P4_CACHE__itlb_reference_miss),
327 },
328 [ C(OP_WRITE) ] = {
329 [ C(RESULT_ACCESS) ] = -1,
330 [ C(RESULT_MISS) ] = -1,
331 },
332 [ C(OP_PREFETCH) ] = {
333 [ C(RESULT_ACCESS) ] = -1,
334 [ C(RESULT_MISS) ] = -1,
335 },
336 },
337};
338
339static u64 p4_general_events[PERF_COUNT_HW_MAX] = {
340 /* non-halted CPU clocks */
341 [PERF_COUNT_HW_CPU_CYCLES] =
342 p4_config_pack_escr(P4_ESCR_EVENT(P4_EVENT_GLOBAL_POWER_EVENTS) |
343 P4_ESCR_EMASK_BIT(P4_EVENT_GLOBAL_POWER_EVENTS, RUNNING)),
344
345 /*
346 * retired instructions
347 * in a sake of simplicity we don't use the FSB tagging
348 */
349 [PERF_COUNT_HW_INSTRUCTIONS] =
350 p4_config_pack_escr(P4_ESCR_EVENT(P4_EVENT_INSTR_RETIRED) |
351 P4_ESCR_EMASK_BIT(P4_EVENT_INSTR_RETIRED, NBOGUSNTAG) |
352 P4_ESCR_EMASK_BIT(P4_EVENT_INSTR_RETIRED, BOGUSNTAG)),
353
354 /* cache hits */
355 [PERF_COUNT_HW_CACHE_REFERENCES] =
356 p4_config_pack_escr(P4_ESCR_EVENT(P4_EVENT_BSQ_CACHE_REFERENCE) |
357 P4_ESCR_EMASK_BIT(P4_EVENT_BSQ_CACHE_REFERENCE, RD_2ndL_HITS) |
358 P4_ESCR_EMASK_BIT(P4_EVENT_BSQ_CACHE_REFERENCE, RD_2ndL_HITE) |
359 P4_ESCR_EMASK_BIT(P4_EVENT_BSQ_CACHE_REFERENCE, RD_2ndL_HITM) |
360 P4_ESCR_EMASK_BIT(P4_EVENT_BSQ_CACHE_REFERENCE, RD_3rdL_HITS) |
361 P4_ESCR_EMASK_BIT(P4_EVENT_BSQ_CACHE_REFERENCE, RD_3rdL_HITE) |
362 P4_ESCR_EMASK_BIT(P4_EVENT_BSQ_CACHE_REFERENCE, RD_3rdL_HITM)),
363
364 /* cache misses */
365 [PERF_COUNT_HW_CACHE_MISSES] =
366 p4_config_pack_escr(P4_ESCR_EVENT(P4_EVENT_BSQ_CACHE_REFERENCE) |
367 P4_ESCR_EMASK_BIT(P4_EVENT_BSQ_CACHE_REFERENCE, RD_2ndL_MISS) |
368 P4_ESCR_EMASK_BIT(P4_EVENT_BSQ_CACHE_REFERENCE, RD_3rdL_MISS) |
369 P4_ESCR_EMASK_BIT(P4_EVENT_BSQ_CACHE_REFERENCE, WR_2ndL_MISS)),
370
371 /* branch instructions retired */
372 [PERF_COUNT_HW_BRANCH_INSTRUCTIONS] =
373 p4_config_pack_escr(P4_ESCR_EVENT(P4_EVENT_RETIRED_BRANCH_TYPE) |
374 P4_ESCR_EMASK_BIT(P4_EVENT_RETIRED_BRANCH_TYPE, CONDITIONAL) |
375 P4_ESCR_EMASK_BIT(P4_EVENT_RETIRED_BRANCH_TYPE, CALL) |
376 P4_ESCR_EMASK_BIT(P4_EVENT_RETIRED_BRANCH_TYPE, RETURN) |
377 P4_ESCR_EMASK_BIT(P4_EVENT_RETIRED_BRANCH_TYPE, INDIRECT)),
378
379 /* mispredicted branches retired */
380 [PERF_COUNT_HW_BRANCH_MISSES] =
381 p4_config_pack_escr(P4_ESCR_EVENT(P4_EVENT_MISPRED_BRANCH_RETIRED) |
382 P4_ESCR_EMASK_BIT(P4_EVENT_MISPRED_BRANCH_RETIRED, NBOGUS)),
383
384 /* bus ready clocks (cpu is driving #DRDY_DRV\#DRDY_OWN): */
385 [PERF_COUNT_HW_BUS_CYCLES] =
386 p4_config_pack_escr(P4_ESCR_EVENT(P4_EVENT_FSB_DATA_ACTIVITY) |
387 P4_ESCR_EMASK_BIT(P4_EVENT_FSB_DATA_ACTIVITY, DRDY_DRV) |
388 P4_ESCR_EMASK_BIT(P4_EVENT_FSB_DATA_ACTIVITY, DRDY_OWN)) |
389 p4_config_pack_cccr(P4_CCCR_EDGE | P4_CCCR_COMPARE),
390};
391
392static struct p4_event_bind *p4_config_get_bind(u64 config)
393{
394 unsigned int evnt = p4_config_unpack_event(config);
395 struct p4_event_bind *bind = NULL;
396
397 if (evnt < ARRAY_SIZE(p4_event_bind_map))
398 bind = &p4_event_bind_map[evnt];
399
400 return bind;
401}
402
403static u64 p4_pmu_event_map(int hw_event)
404{
405 struct p4_event_bind *bind;
406 unsigned int esel;
407 u64 config;
408
409 config = p4_general_events[hw_event];
410 bind = p4_config_get_bind(config);
411 esel = P4_OPCODE_ESEL(bind->opcode);
412 config |= p4_config_pack_cccr(P4_CCCR_ESEL(esel));
413
414 return config;
415}
416
417static int p4_hw_config(struct perf_event *event)
418{
419 int cpu = get_cpu();
420 int rc = 0;
421 unsigned int evnt;
422 u32 escr, cccr;
423
424 /*
425 * the reason we use cpu that early is that: if we get scheduled
426 * first time on the same cpu -- we will not need swap thread
427 * specific flags in config (and will save some cpu cycles)
428 */
429
430 cccr = p4_default_cccr_conf(cpu);
431 escr = p4_default_escr_conf(cpu, event->attr.exclude_kernel,
432 event->attr.exclude_user);
433 event->hw.config = p4_config_pack_escr(escr) |
434 p4_config_pack_cccr(cccr);
435
436 if (p4_ht_active() && p4_ht_thread(cpu))
437 event->hw.config = p4_set_ht_bit(event->hw.config);
438
439 if (event->attr.type == PERF_TYPE_RAW) {
440
441 /* user data may have out-of-bound event index */
442 evnt = p4_config_unpack_event(event->attr.config);
443 if (evnt >= ARRAY_SIZE(p4_event_bind_map)) {
444 rc = -EINVAL;
445 goto out;
446 }
447
448 /*
449 * We don't control raw events so it's up to the caller
450 * to pass sane values (and we don't count the thread number
451 * on HT machine but allow HT-compatible specifics to be
452 * passed on)
453 *
454 * XXX: HT wide things should check perf_paranoid_cpu() &&
455 * CAP_SYS_ADMIN
456 */
457 event->hw.config |= event->attr.config &
458 (p4_config_pack_escr(P4_ESCR_MASK_HT) |
459 p4_config_pack_cccr(P4_CCCR_MASK_HT));
460 }
461
462 rc = x86_setup_perfctr(event);
463out:
464 put_cpu();
465 return rc;
466}
467
468static inline void p4_pmu_clear_cccr_ovf(struct hw_perf_event *hwc)
469{
470 unsigned long dummy;
471
472 rdmsrl(hwc->config_base + hwc->idx, dummy);
473 if (dummy & P4_CCCR_OVF) {
474 (void)checking_wrmsrl(hwc->config_base + hwc->idx,
475 ((u64)dummy) & ~P4_CCCR_OVF);
476 }
477}
478
479static inline void p4_pmu_disable_event(struct perf_event *event)
480{
481 struct hw_perf_event *hwc = &event->hw;
482
483 /*
484 * If event gets disabled while counter is in overflowed
485 * state we need to clear P4_CCCR_OVF, otherwise interrupt get
486 * asserted again and again
487 */
488 (void)checking_wrmsrl(hwc->config_base + hwc->idx,
489 (u64)(p4_config_unpack_cccr(hwc->config)) &
490 ~P4_CCCR_ENABLE & ~P4_CCCR_OVF & ~P4_CCCR_RESERVED);
491}
492
493static void p4_pmu_disable_all(void)
494{
495 struct cpu_hw_events *cpuc = &__get_cpu_var(cpu_hw_events);
496 int idx;
497
498 for (idx = 0; idx < x86_pmu.num_counters; idx++) {
499 struct perf_event *event = cpuc->events[idx];
500 if (!test_bit(idx, cpuc->active_mask))
501 continue;
502 p4_pmu_disable_event(event);
503 }
504}
505
506static void p4_pmu_enable_event(struct perf_event *event)
507{
508 struct hw_perf_event *hwc = &event->hw;
509 int thread = p4_ht_config_thread(hwc->config);
510 u64 escr_conf = p4_config_unpack_escr(p4_clear_ht_bit(hwc->config));
511 unsigned int idx = p4_config_unpack_event(hwc->config);
512 unsigned int idx_cache = p4_config_unpack_cache_event(hwc->config);
513 struct p4_event_bind *bind;
514 struct p4_cache_event_bind *bind_cache;
515 u64 escr_addr, cccr;
516
517 bind = &p4_event_bind_map[idx];
518 escr_addr = (u64)bind->escr_msr[thread];
519
520 /*
521 * - we dont support cascaded counters yet
522 * - and counter 1 is broken (erratum)
523 */
524 WARN_ON_ONCE(p4_is_event_cascaded(hwc->config));
525 WARN_ON_ONCE(hwc->idx == 1);
526
527 /* we need a real Event value */
528 escr_conf &= ~P4_ESCR_EVENT_MASK;
529 escr_conf |= P4_ESCR_EVENT(P4_OPCODE_EVNT(bind->opcode));
530
531 cccr = p4_config_unpack_cccr(hwc->config);
532
533 /*
534 * it could be Cache event so that we need to
535 * set metrics into additional MSRs
536 */
537 BUILD_BUG_ON(P4_CACHE__MAX > P4_CCCR_CACHE_OPS_MASK);
538 if (idx_cache > P4_CACHE__NONE &&
539 idx_cache < ARRAY_SIZE(p4_cache_event_bind_map)) {
540 bind_cache = &p4_cache_event_bind_map[idx_cache];
541 (void)checking_wrmsrl(MSR_IA32_PEBS_ENABLE, (u64)bind_cache->metric_pebs);
542 (void)checking_wrmsrl(MSR_P4_PEBS_MATRIX_VERT, (u64)bind_cache->metric_vert);
543 }
544
545 (void)checking_wrmsrl(escr_addr, escr_conf);
546 (void)checking_wrmsrl(hwc->config_base + hwc->idx,
547 (cccr & ~P4_CCCR_RESERVED) | P4_CCCR_ENABLE);
548}
549
550static void p4_pmu_enable_all(int added)
551{
552 struct cpu_hw_events *cpuc = &__get_cpu_var(cpu_hw_events);
553 int idx;
554
555 for (idx = 0; idx < x86_pmu.num_counters; idx++) {
556 struct perf_event *event = cpuc->events[idx];
557 if (!test_bit(idx, cpuc->active_mask))
558 continue;
559 p4_pmu_enable_event(event);
560 }
561}
562
563static int p4_pmu_handle_irq(struct pt_regs *regs)
564{
565 struct perf_sample_data data;
566 struct cpu_hw_events *cpuc;
567 struct perf_event *event;
568 struct hw_perf_event *hwc;
569 int idx, handled = 0;
570 u64 val;
571
572 data.addr = 0;
573 data.raw = NULL;
574
575 cpuc = &__get_cpu_var(cpu_hw_events);
576
577 for (idx = 0; idx < x86_pmu.num_counters; idx++) {
578
579 if (!test_bit(idx, cpuc->active_mask))
580 continue;
581
582 event = cpuc->events[idx];
583 hwc = &event->hw;
584
585 WARN_ON_ONCE(hwc->idx != idx);
586
587 /*
588 * FIXME: Redundant call, actually not needed
589 * but just to check if we're screwed
590 */
591 p4_pmu_clear_cccr_ovf(hwc);
592
593 val = x86_perf_event_update(event);
594 if (val & (1ULL << (x86_pmu.cntval_bits - 1)))
595 continue;
596
597 /*
598 * event overflow
599 */
600 handled = 1;
601 data.period = event->hw.last_period;
602
603 if (!x86_perf_event_set_period(event))
604 continue;
605 if (perf_event_overflow(event, 1, &data, regs))
606 p4_pmu_disable_event(event);
607 }
608
609 if (handled) {
610 /* p4 quirk: unmask it again */
611 apic_write(APIC_LVTPC, apic_read(APIC_LVTPC) & ~APIC_LVT_MASKED);
612 inc_irq_stat(apic_perf_irqs);
613 }
614
615 return handled;
616}
617
618/*
619 * swap thread specific fields according to a thread
620 * we are going to run on
621 */
622static void p4_pmu_swap_config_ts(struct hw_perf_event *hwc, int cpu)
623{
624 u32 escr, cccr;
625
626 /*
627 * we either lucky and continue on same cpu or no HT support
628 */
629 if (!p4_should_swap_ts(hwc->config, cpu))
630 return;
631
632 /*
633 * the event is migrated from an another logical
634 * cpu, so we need to swap thread specific flags
635 */
636
637 escr = p4_config_unpack_escr(hwc->config);
638 cccr = p4_config_unpack_cccr(hwc->config);
639
640 if (p4_ht_thread(cpu)) {
641 cccr &= ~P4_CCCR_OVF_PMI_T0;
642 cccr |= P4_CCCR_OVF_PMI_T1;
643 if (escr & P4_ESCR_T0_OS) {
644 escr &= ~P4_ESCR_T0_OS;
645 escr |= P4_ESCR_T1_OS;
646 }
647 if (escr & P4_ESCR_T0_USR) {
648 escr &= ~P4_ESCR_T0_USR;
649 escr |= P4_ESCR_T1_USR;
650 }
651 hwc->config = p4_config_pack_escr(escr);
652 hwc->config |= p4_config_pack_cccr(cccr);
653 hwc->config |= P4_CONFIG_HT;
654 } else {
655 cccr &= ~P4_CCCR_OVF_PMI_T1;
656 cccr |= P4_CCCR_OVF_PMI_T0;
657 if (escr & P4_ESCR_T1_OS) {
658 escr &= ~P4_ESCR_T1_OS;
659 escr |= P4_ESCR_T0_OS;
660 }
661 if (escr & P4_ESCR_T1_USR) {
662 escr &= ~P4_ESCR_T1_USR;
663 escr |= P4_ESCR_T0_USR;
664 }
665 hwc->config = p4_config_pack_escr(escr);
666 hwc->config |= p4_config_pack_cccr(cccr);
667 hwc->config &= ~P4_CONFIG_HT;
668 }
669}
670
671/*
672 * ESCR address hashing is tricky, ESCRs are not sequential
673 * in memory but all starts from MSR_P4_BSU_ESCR0 (0x03e0) and
674 * the metric between any ESCRs is laid in range [0xa0,0xe1]
675 *
676 * so we make ~70% filled hashtable
677 */
678
679#define P4_ESCR_MSR_BASE 0x000003a0
680#define P4_ESCR_MSR_MAX 0x000003e1
681#define P4_ESCR_MSR_TABLE_SIZE (P4_ESCR_MSR_MAX - P4_ESCR_MSR_BASE + 1)
682#define P4_ESCR_MSR_IDX(msr) (msr - P4_ESCR_MSR_BASE)
683#define P4_ESCR_MSR_TABLE_ENTRY(msr) [P4_ESCR_MSR_IDX(msr)] = msr
684
685static const unsigned int p4_escr_table[P4_ESCR_MSR_TABLE_SIZE] = {
686 P4_ESCR_MSR_TABLE_ENTRY(MSR_P4_ALF_ESCR0),
687 P4_ESCR_MSR_TABLE_ENTRY(MSR_P4_ALF_ESCR1),
688 P4_ESCR_MSR_TABLE_ENTRY(MSR_P4_BPU_ESCR0),
689 P4_ESCR_MSR_TABLE_ENTRY(MSR_P4_BPU_ESCR1),
690 P4_ESCR_MSR_TABLE_ENTRY(MSR_P4_BSU_ESCR0),
691 P4_ESCR_MSR_TABLE_ENTRY(MSR_P4_BSU_ESCR1),
692 P4_ESCR_MSR_TABLE_ENTRY(MSR_P4_CRU_ESCR0),
693 P4_ESCR_MSR_TABLE_ENTRY(MSR_P4_CRU_ESCR1),
694 P4_ESCR_MSR_TABLE_ENTRY(MSR_P4_CRU_ESCR2),
695 P4_ESCR_MSR_TABLE_ENTRY(MSR_P4_CRU_ESCR3),
696 P4_ESCR_MSR_TABLE_ENTRY(MSR_P4_CRU_ESCR4),
697 P4_ESCR_MSR_TABLE_ENTRY(MSR_P4_CRU_ESCR5),
698 P4_ESCR_MSR_TABLE_ENTRY(MSR_P4_DAC_ESCR0),
699 P4_ESCR_MSR_TABLE_ENTRY(MSR_P4_DAC_ESCR1),
700 P4_ESCR_MSR_TABLE_ENTRY(MSR_P4_FIRM_ESCR0),
701 P4_ESCR_MSR_TABLE_ENTRY(MSR_P4_FIRM_ESCR1),
702 P4_ESCR_MSR_TABLE_ENTRY(MSR_P4_FLAME_ESCR0),
703 P4_ESCR_MSR_TABLE_ENTRY(MSR_P4_FLAME_ESCR1),
704 P4_ESCR_MSR_TABLE_ENTRY(MSR_P4_FSB_ESCR0),
705 P4_ESCR_MSR_TABLE_ENTRY(MSR_P4_FSB_ESCR1),
706 P4_ESCR_MSR_TABLE_ENTRY(MSR_P4_IQ_ESCR0),
707 P4_ESCR_MSR_TABLE_ENTRY(MSR_P4_IQ_ESCR1),
708 P4_ESCR_MSR_TABLE_ENTRY(MSR_P4_IS_ESCR0),
709 P4_ESCR_MSR_TABLE_ENTRY(MSR_P4_IS_ESCR1),
710 P4_ESCR_MSR_TABLE_ENTRY(MSR_P4_ITLB_ESCR0),
711 P4_ESCR_MSR_TABLE_ENTRY(MSR_P4_ITLB_ESCR1),
712 P4_ESCR_MSR_TABLE_ENTRY(MSR_P4_IX_ESCR0),
713 P4_ESCR_MSR_TABLE_ENTRY(MSR_P4_IX_ESCR1),
714 P4_ESCR_MSR_TABLE_ENTRY(MSR_P4_MOB_ESCR0),
715 P4_ESCR_MSR_TABLE_ENTRY(MSR_P4_MOB_ESCR1),
716 P4_ESCR_MSR_TABLE_ENTRY(MSR_P4_MS_ESCR0),
717 P4_ESCR_MSR_TABLE_ENTRY(MSR_P4_MS_ESCR1),
718 P4_ESCR_MSR_TABLE_ENTRY(MSR_P4_PMH_ESCR0),
719 P4_ESCR_MSR_TABLE_ENTRY(MSR_P4_PMH_ESCR1),
720 P4_ESCR_MSR_TABLE_ENTRY(MSR_P4_RAT_ESCR0),
721 P4_ESCR_MSR_TABLE_ENTRY(MSR_P4_RAT_ESCR1),
722 P4_ESCR_MSR_TABLE_ENTRY(MSR_P4_SAAT_ESCR0),
723 P4_ESCR_MSR_TABLE_ENTRY(MSR_P4_SAAT_ESCR1),
724 P4_ESCR_MSR_TABLE_ENTRY(MSR_P4_SSU_ESCR0),
725 P4_ESCR_MSR_TABLE_ENTRY(MSR_P4_SSU_ESCR1),
726 P4_ESCR_MSR_TABLE_ENTRY(MSR_P4_TBPU_ESCR0),
727 P4_ESCR_MSR_TABLE_ENTRY(MSR_P4_TBPU_ESCR1),
728 P4_ESCR_MSR_TABLE_ENTRY(MSR_P4_TC_ESCR0),
729 P4_ESCR_MSR_TABLE_ENTRY(MSR_P4_TC_ESCR1),
730 P4_ESCR_MSR_TABLE_ENTRY(MSR_P4_U2L_ESCR0),
731 P4_ESCR_MSR_TABLE_ENTRY(MSR_P4_U2L_ESCR1),
732};
733
734static int p4_get_escr_idx(unsigned int addr)
735{
736 unsigned int idx = P4_ESCR_MSR_IDX(addr);
737
738 if (unlikely(idx >= P4_ESCR_MSR_TABLE_SIZE ||
739 !p4_escr_table[idx])) {
740 WARN_ONCE(1, "P4 PMU: Wrong address passed: %x\n", addr);
741 return -1;
742 }
743
744 return idx;
745}
746
747static int p4_next_cntr(int thread, unsigned long *used_mask,
748 struct p4_event_bind *bind)
749{
750 int i, j;
751
752 for (i = 0; i < P4_CNTR_LIMIT; i++) {
753 j = bind->cntr[thread][i];
754 if (j != -1 && !test_bit(j, used_mask))
755 return j;
756 }
757
758 return -1;
759}
760
761static int p4_pmu_schedule_events(struct cpu_hw_events *cpuc, int n, int *assign)
762{
763 unsigned long used_mask[BITS_TO_LONGS(X86_PMC_IDX_MAX)];
764 unsigned long escr_mask[BITS_TO_LONGS(P4_ESCR_MSR_TABLE_SIZE)];
765 int cpu = raw_smp_processor_id();
766 struct hw_perf_event *hwc;
767 struct p4_event_bind *bind;
768 unsigned int i, thread, num;
769 int cntr_idx, escr_idx;
770
771 bitmap_zero(used_mask, X86_PMC_IDX_MAX);
772 bitmap_zero(escr_mask, P4_ESCR_MSR_TABLE_SIZE);
773
774 for (i = 0, num = n; i < n; i++, num--) {
775
776 hwc = &cpuc->event_list[i]->hw;
777 thread = p4_ht_thread(cpu);
778 bind = p4_config_get_bind(hwc->config);
779 escr_idx = p4_get_escr_idx(bind->escr_msr[thread]);
780 if (unlikely(escr_idx == -1))
781 goto done;
782
783 if (hwc->idx != -1 && !p4_should_swap_ts(hwc->config, cpu)) {
784 cntr_idx = hwc->idx;
785 if (assign)
786 assign[i] = hwc->idx;
787 goto reserve;
788 }
789
790 cntr_idx = p4_next_cntr(thread, used_mask, bind);
791 if (cntr_idx == -1 || test_bit(escr_idx, escr_mask))
792 goto done;
793
794 p4_pmu_swap_config_ts(hwc, cpu);
795 if (assign)
796 assign[i] = cntr_idx;
797reserve:
798 set_bit(cntr_idx, used_mask);
799 set_bit(escr_idx, escr_mask);
800 }
801
802done:
803 return num ? -ENOSPC : 0;
804}
805
806static __initconst const struct x86_pmu p4_pmu = {
807 .name = "Netburst P4/Xeon",
808 .handle_irq = p4_pmu_handle_irq,
809 .disable_all = p4_pmu_disable_all,
810 .enable_all = p4_pmu_enable_all,
811 .enable = p4_pmu_enable_event,
812 .disable = p4_pmu_disable_event,
813 .eventsel = MSR_P4_BPU_CCCR0,
814 .perfctr = MSR_P4_BPU_PERFCTR0,
815 .event_map = p4_pmu_event_map,
816 .max_events = ARRAY_SIZE(p4_general_events),
817 .get_event_constraints = x86_get_event_constraints,
818 /*
819 * IF HT disabled we may need to use all
820 * ARCH_P4_MAX_CCCR counters simulaneously
821 * though leave it restricted at moment assuming
822 * HT is on
823 */
824 .num_counters = ARCH_P4_MAX_CCCR,
825 .apic = 1,
826 .cntval_bits = 40,
827 .cntval_mask = (1ULL << 40) - 1,
828 .max_period = (1ULL << 39) - 1,
829 .hw_config = p4_hw_config,
830 .schedule_events = p4_pmu_schedule_events,
831};
832
833static __init int p4_pmu_init(void)
834{
835 unsigned int low, high;
836
837 /* If we get stripped -- indexig fails */
838 BUILD_BUG_ON(ARCH_P4_MAX_CCCR > X86_PMC_MAX_GENERIC);
839
840 rdmsr(MSR_IA32_MISC_ENABLE, low, high);
841 if (!(low & (1 << 7))) {
842 pr_cont("unsupported Netburst CPU model %d ",
843 boot_cpu_data.x86_model);
844 return -ENODEV;
845 }
846
847 memcpy(hw_cache_event_ids, p4_hw_cache_event_ids,
848 sizeof(hw_cache_event_ids));
849
850 pr_cont("Netburst events, ");
851
852 x86_pmu = p4_pmu;
853
854 return 0;
855}
856
857#endif /* CONFIG_CPU_SUP_INTEL */
diff --git a/arch/x86/kernel/cpu/perf_event_p6.c b/arch/x86/kernel/cpu/perf_event_p6.c
index a330485d14d..34ba07be2cd 100644
--- a/arch/x86/kernel/cpu/perf_event_p6.c
+++ b/arch/x86/kernel/cpu/perf_event_p6.c
@@ -27,24 +27,6 @@ static u64 p6_pmu_event_map(int hw_event)
27 */ 27 */
28#define P6_NOP_EVENT 0x0000002EULL 28#define P6_NOP_EVENT 0x0000002EULL
29 29
30static u64 p6_pmu_raw_event(u64 hw_event)
31{
32#define P6_EVNTSEL_EVENT_MASK 0x000000FFULL
33#define P6_EVNTSEL_UNIT_MASK 0x0000FF00ULL
34#define P6_EVNTSEL_EDGE_MASK 0x00040000ULL
35#define P6_EVNTSEL_INV_MASK 0x00800000ULL
36#define P6_EVNTSEL_REG_MASK 0xFF000000ULL
37
38#define P6_EVNTSEL_MASK \
39 (P6_EVNTSEL_EVENT_MASK | \
40 P6_EVNTSEL_UNIT_MASK | \
41 P6_EVNTSEL_EDGE_MASK | \
42 P6_EVNTSEL_INV_MASK | \
43 P6_EVNTSEL_REG_MASK)
44
45 return hw_event & P6_EVNTSEL_MASK;
46}
47
48static struct event_constraint p6_event_constraints[] = 30static struct event_constraint p6_event_constraints[] =
49{ 31{
50 INTEL_EVENT_CONSTRAINT(0xc1, 0x1), /* FLOPS */ 32 INTEL_EVENT_CONSTRAINT(0xc1, 0x1), /* FLOPS */
@@ -66,7 +48,7 @@ static void p6_pmu_disable_all(void)
66 wrmsrl(MSR_P6_EVNTSEL0, val); 48 wrmsrl(MSR_P6_EVNTSEL0, val);
67} 49}
68 50
69static void p6_pmu_enable_all(void) 51static void p6_pmu_enable_all(int added)
70{ 52{
71 unsigned long val; 53 unsigned long val;
72 54
@@ -102,22 +84,23 @@ static void p6_pmu_enable_event(struct perf_event *event)
102 (void)checking_wrmsrl(hwc->config_base + hwc->idx, val); 84 (void)checking_wrmsrl(hwc->config_base + hwc->idx, val);
103} 85}
104 86
105static __initconst struct x86_pmu p6_pmu = { 87static __initconst const struct x86_pmu p6_pmu = {
106 .name = "p6", 88 .name = "p6",
107 .handle_irq = x86_pmu_handle_irq, 89 .handle_irq = x86_pmu_handle_irq,
108 .disable_all = p6_pmu_disable_all, 90 .disable_all = p6_pmu_disable_all,
109 .enable_all = p6_pmu_enable_all, 91 .enable_all = p6_pmu_enable_all,
110 .enable = p6_pmu_enable_event, 92 .enable = p6_pmu_enable_event,
111 .disable = p6_pmu_disable_event, 93 .disable = p6_pmu_disable_event,
94 .hw_config = x86_pmu_hw_config,
95 .schedule_events = x86_schedule_events,
112 .eventsel = MSR_P6_EVNTSEL0, 96 .eventsel = MSR_P6_EVNTSEL0,
113 .perfctr = MSR_P6_PERFCTR0, 97 .perfctr = MSR_P6_PERFCTR0,
114 .event_map = p6_pmu_event_map, 98 .event_map = p6_pmu_event_map,
115 .raw_event = p6_pmu_raw_event,
116 .max_events = ARRAY_SIZE(p6_perfmon_event_map), 99 .max_events = ARRAY_SIZE(p6_perfmon_event_map),
117 .apic = 1, 100 .apic = 1,
118 .max_period = (1ULL << 31) - 1, 101 .max_period = (1ULL << 31) - 1,
119 .version = 0, 102 .version = 0,
120 .num_events = 2, 103 .num_counters = 2,
121 /* 104 /*
122 * Events have 40 bits implemented. However they are designed such 105 * Events have 40 bits implemented. However they are designed such
123 * that bits [32-39] are sign extensions of bit 31. As such the 106 * that bits [32-39] are sign extensions of bit 31. As such the
@@ -125,8 +108,8 @@ static __initconst struct x86_pmu p6_pmu = {
125 * 108 *
126 * See IA-32 Intel Architecture Software developer manual Vol 3B 109 * See IA-32 Intel Architecture Software developer manual Vol 3B
127 */ 110 */
128 .event_bits = 32, 111 .cntval_bits = 32,
129 .event_mask = (1ULL << 32) - 1, 112 .cntval_mask = (1ULL << 32) - 1,
130 .get_event_constraints = x86_get_event_constraints, 113 .get_event_constraints = x86_get_event_constraints,
131 .event_constraints = p6_event_constraints, 114 .event_constraints = p6_event_constraints,
132}; 115};
diff --git a/arch/x86/kernel/ds.c b/arch/x86/kernel/ds.c
deleted file mode 100644
index 1c47390dd0e..00000000000
--- a/arch/x86/kernel/ds.c
+++ /dev/null
@@ -1,1437 +0,0 @@
1/*
2 * Debug Store support
3 *
4 * This provides a low-level interface to the hardware's Debug Store
5 * feature that is used for branch trace store (BTS) and
6 * precise-event based sampling (PEBS).
7 *
8 * It manages:
9 * - DS and BTS hardware configuration
10 * - buffer overflow handling (to be done)
11 * - buffer access
12 *
13 * It does not do:
14 * - security checking (is the caller allowed to trace the task)
15 * - buffer allocation (memory accounting)
16 *
17 *
18 * Copyright (C) 2007-2009 Intel Corporation.
19 * Markus Metzger <markus.t.metzger@intel.com>, 2007-2009
20 */
21
22#include <linux/kernel.h>
23#include <linux/string.h>
24#include <linux/errno.h>
25#include <linux/sched.h>
26#include <linux/slab.h>
27#include <linux/mm.h>
28#include <linux/trace_clock.h>
29
30#include <asm/ds.h>
31
32#include "ds_selftest.h"
33
34/*
35 * The configuration for a particular DS hardware implementation:
36 */
37struct ds_configuration {
38 /* The name of the configuration: */
39 const char *name;
40
41 /* The size of pointer-typed fields in DS, BTS, and PEBS: */
42 unsigned char sizeof_ptr_field;
43
44 /* The size of a BTS/PEBS record in bytes: */
45 unsigned char sizeof_rec[2];
46
47 /* The number of pebs counter reset values in the DS structure. */
48 unsigned char nr_counter_reset;
49
50 /* Control bit-masks indexed by enum ds_feature: */
51 unsigned long ctl[dsf_ctl_max];
52};
53static struct ds_configuration ds_cfg __read_mostly;
54
55
56/* Maximal size of a DS configuration: */
57#define MAX_SIZEOF_DS 0x80
58
59/* Maximal size of a BTS record: */
60#define MAX_SIZEOF_BTS (3 * 8)
61
62/* BTS and PEBS buffer alignment: */
63#define DS_ALIGNMENT (1 << 3)
64
65/* Number of buffer pointers in DS: */
66#define NUM_DS_PTR_FIELDS 8
67
68/* Size of a pebs reset value in DS: */
69#define PEBS_RESET_FIELD_SIZE 8
70
71/* Mask of control bits in the DS MSR register: */
72#define BTS_CONTROL \
73 ( ds_cfg.ctl[dsf_bts] | \
74 ds_cfg.ctl[dsf_bts_kernel] | \
75 ds_cfg.ctl[dsf_bts_user] | \
76 ds_cfg.ctl[dsf_bts_overflow] )
77
78/*
79 * A BTS or PEBS tracer.
80 *
81 * This holds the configuration of the tracer and serves as a handle
82 * to identify tracers.
83 */
84struct ds_tracer {
85 /* The DS context (partially) owned by this tracer. */
86 struct ds_context *context;
87 /* The buffer provided on ds_request() and its size in bytes. */
88 void *buffer;
89 size_t size;
90};
91
92struct bts_tracer {
93 /* The common DS part: */
94 struct ds_tracer ds;
95
96 /* The trace including the DS configuration: */
97 struct bts_trace trace;
98
99 /* Buffer overflow notification function: */
100 bts_ovfl_callback_t ovfl;
101
102 /* Active flags affecting trace collection. */
103 unsigned int flags;
104};
105
106struct pebs_tracer {
107 /* The common DS part: */
108 struct ds_tracer ds;
109
110 /* The trace including the DS configuration: */
111 struct pebs_trace trace;
112
113 /* Buffer overflow notification function: */
114 pebs_ovfl_callback_t ovfl;
115};
116
117/*
118 * Debug Store (DS) save area configuration (see Intel64 and IA32
119 * Architectures Software Developer's Manual, section 18.5)
120 *
121 * The DS configuration consists of the following fields; different
122 * architetures vary in the size of those fields.
123 *
124 * - double-word aligned base linear address of the BTS buffer
125 * - write pointer into the BTS buffer
126 * - end linear address of the BTS buffer (one byte beyond the end of
127 * the buffer)
128 * - interrupt pointer into BTS buffer
129 * (interrupt occurs when write pointer passes interrupt pointer)
130 * - double-word aligned base linear address of the PEBS buffer
131 * - write pointer into the PEBS buffer
132 * - end linear address of the PEBS buffer (one byte beyond the end of
133 * the buffer)
134 * - interrupt pointer into PEBS buffer
135 * (interrupt occurs when write pointer passes interrupt pointer)
136 * - value to which counter is reset following counter overflow
137 *
138 * Later architectures use 64bit pointers throughout, whereas earlier
139 * architectures use 32bit pointers in 32bit mode.
140 *
141 *
142 * We compute the base address for the first 8 fields based on:
143 * - the field size stored in the DS configuration
144 * - the relative field position
145 * - an offset giving the start of the respective region
146 *
147 * This offset is further used to index various arrays holding
148 * information for BTS and PEBS at the respective index.
149 *
150 * On later 32bit processors, we only access the lower 32bit of the
151 * 64bit pointer fields. The upper halves will be zeroed out.
152 */
153
154enum ds_field {
155 ds_buffer_base = 0,
156 ds_index,
157 ds_absolute_maximum,
158 ds_interrupt_threshold,
159};
160
161enum ds_qualifier {
162 ds_bts = 0,
163 ds_pebs
164};
165
166static inline unsigned long
167ds_get(const unsigned char *base, enum ds_qualifier qual, enum ds_field field)
168{
169 base += (ds_cfg.sizeof_ptr_field * (field + (4 * qual)));
170 return *(unsigned long *)base;
171}
172
173static inline void
174ds_set(unsigned char *base, enum ds_qualifier qual, enum ds_field field,
175 unsigned long value)
176{
177 base += (ds_cfg.sizeof_ptr_field * (field + (4 * qual)));
178 (*(unsigned long *)base) = value;
179}
180
181
182/*
183 * Locking is done only for allocating BTS or PEBS resources.
184 */
185static DEFINE_SPINLOCK(ds_lock);
186
187/*
188 * We either support (system-wide) per-cpu or per-thread allocation.
189 * We distinguish the two based on the task_struct pointer, where a
190 * NULL pointer indicates per-cpu allocation for the current cpu.
191 *
192 * Allocations are use-counted. As soon as resources are allocated,
193 * further allocations must be of the same type (per-cpu or
194 * per-thread). We model this by counting allocations (i.e. the number
195 * of tracers of a certain type) for one type negatively:
196 * =0 no tracers
197 * >0 number of per-thread tracers
198 * <0 number of per-cpu tracers
199 *
200 * Tracers essentially gives the number of ds contexts for a certain
201 * type of allocation.
202 */
203static atomic_t tracers = ATOMIC_INIT(0);
204
205static inline int get_tracer(struct task_struct *task)
206{
207 int error;
208
209 spin_lock_irq(&ds_lock);
210
211 if (task) {
212 error = -EPERM;
213 if (atomic_read(&tracers) < 0)
214 goto out;
215 atomic_inc(&tracers);
216 } else {
217 error = -EPERM;
218 if (atomic_read(&tracers) > 0)
219 goto out;
220 atomic_dec(&tracers);
221 }
222
223 error = 0;
224out:
225 spin_unlock_irq(&ds_lock);
226 return error;
227}
228
229static inline void put_tracer(struct task_struct *task)
230{
231 if (task)
232 atomic_dec(&tracers);
233 else
234 atomic_inc(&tracers);
235}
236
237/*
238 * The DS context is either attached to a thread or to a cpu:
239 * - in the former case, the thread_struct contains a pointer to the
240 * attached context.
241 * - in the latter case, we use a static array of per-cpu context
242 * pointers.
243 *
244 * Contexts are use-counted. They are allocated on first access and
245 * deallocated when the last user puts the context.
246 */
247struct ds_context {
248 /* The DS configuration; goes into MSR_IA32_DS_AREA: */
249 unsigned char ds[MAX_SIZEOF_DS];
250
251 /* The owner of the BTS and PEBS configuration, respectively: */
252 struct bts_tracer *bts_master;
253 struct pebs_tracer *pebs_master;
254
255 /* Use count: */
256 unsigned long count;
257
258 /* Pointer to the context pointer field: */
259 struct ds_context **this;
260
261 /* The traced task; NULL for cpu tracing: */
262 struct task_struct *task;
263
264 /* The traced cpu; only valid if task is NULL: */
265 int cpu;
266};
267
268static DEFINE_PER_CPU(struct ds_context *, cpu_ds_context);
269
270
271static struct ds_context *ds_get_context(struct task_struct *task, int cpu)
272{
273 struct ds_context **p_context =
274 (task ? &task->thread.ds_ctx : &per_cpu(cpu_ds_context, cpu));
275 struct ds_context *context = NULL;
276 struct ds_context *new_context = NULL;
277
278 /* Chances are small that we already have a context. */
279 new_context = kzalloc(sizeof(*new_context), GFP_KERNEL);
280 if (!new_context)
281 return NULL;
282
283 spin_lock_irq(&ds_lock);
284
285 context = *p_context;
286 if (likely(!context)) {
287 context = new_context;
288
289 context->this = p_context;
290 context->task = task;
291 context->cpu = cpu;
292 context->count = 0;
293
294 *p_context = context;
295 }
296
297 context->count++;
298
299 spin_unlock_irq(&ds_lock);
300
301 if (context != new_context)
302 kfree(new_context);
303
304 return context;
305}
306
307static void ds_put_context(struct ds_context *context)
308{
309 struct task_struct *task;
310 unsigned long irq;
311
312 if (!context)
313 return;
314
315 spin_lock_irqsave(&ds_lock, irq);
316
317 if (--context->count) {
318 spin_unlock_irqrestore(&ds_lock, irq);
319 return;
320 }
321
322 *(context->this) = NULL;
323
324 task = context->task;
325
326 if (task)
327 clear_tsk_thread_flag(task, TIF_DS_AREA_MSR);
328
329 /*
330 * We leave the (now dangling) pointer to the DS configuration in
331 * the DS_AREA msr. This is as good or as bad as replacing it with
332 * NULL - the hardware would crash if we enabled tracing.
333 *
334 * This saves us some problems with having to write an msr on a
335 * different cpu while preventing others from doing the same for the
336 * next context for that same cpu.
337 */
338
339 spin_unlock_irqrestore(&ds_lock, irq);
340
341 /* The context might still be in use for context switching. */
342 if (task && (task != current))
343 wait_task_context_switch(task);
344
345 kfree(context);
346}
347
348static void ds_install_ds_area(struct ds_context *context)
349{
350 unsigned long ds;
351
352 ds = (unsigned long)context->ds;
353
354 /*
355 * There is a race between the bts master and the pebs master.
356 *
357 * The thread/cpu access is synchronized via get/put_cpu() for
358 * task tracing and via wrmsr_on_cpu for cpu tracing.
359 *
360 * If bts and pebs are collected for the same task or same cpu,
361 * the same confiuration is written twice.
362 */
363 if (context->task) {
364 get_cpu();
365 if (context->task == current)
366 wrmsrl(MSR_IA32_DS_AREA, ds);
367 set_tsk_thread_flag(context->task, TIF_DS_AREA_MSR);
368 put_cpu();
369 } else
370 wrmsr_on_cpu(context->cpu, MSR_IA32_DS_AREA,
371 (u32)((u64)ds), (u32)((u64)ds >> 32));
372}
373
374/*
375 * Call the tracer's callback on a buffer overflow.
376 *
377 * context: the ds context
378 * qual: the buffer type
379 */
380static void ds_overflow(struct ds_context *context, enum ds_qualifier qual)
381{
382 switch (qual) {
383 case ds_bts:
384 if (context->bts_master &&
385 context->bts_master->ovfl)
386 context->bts_master->ovfl(context->bts_master);
387 break;
388 case ds_pebs:
389 if (context->pebs_master &&
390 context->pebs_master->ovfl)
391 context->pebs_master->ovfl(context->pebs_master);
392 break;
393 }
394}
395
396
397/*
398 * Write raw data into the BTS or PEBS buffer.
399 *
400 * The remainder of any partially written record is zeroed out.
401 *
402 * context: the DS context
403 * qual: the buffer type
404 * record: the data to write
405 * size: the size of the data
406 */
407static int ds_write(struct ds_context *context, enum ds_qualifier qual,
408 const void *record, size_t size)
409{
410 int bytes_written = 0;
411
412 if (!record)
413 return -EINVAL;
414
415 while (size) {
416 unsigned long base, index, end, write_end, int_th;
417 unsigned long write_size, adj_write_size;
418
419 /*
420 * Write as much as possible without producing an
421 * overflow interrupt.
422 *
423 * Interrupt_threshold must either be
424 * - bigger than absolute_maximum or
425 * - point to a record between buffer_base and absolute_maximum
426 *
427 * Index points to a valid record.
428 */
429 base = ds_get(context->ds, qual, ds_buffer_base);
430 index = ds_get(context->ds, qual, ds_index);
431 end = ds_get(context->ds, qual, ds_absolute_maximum);
432 int_th = ds_get(context->ds, qual, ds_interrupt_threshold);
433
434 write_end = min(end, int_th);
435
436 /*
437 * If we are already beyond the interrupt threshold,
438 * we fill the entire buffer.
439 */
440 if (write_end <= index)
441 write_end = end;
442
443 if (write_end <= index)
444 break;
445
446 write_size = min((unsigned long) size, write_end - index);
447 memcpy((void *)index, record, write_size);
448
449 record = (const char *)record + write_size;
450 size -= write_size;
451 bytes_written += write_size;
452
453 adj_write_size = write_size / ds_cfg.sizeof_rec[qual];
454 adj_write_size *= ds_cfg.sizeof_rec[qual];
455
456 /* Zero out trailing bytes. */
457 memset((char *)index + write_size, 0,
458 adj_write_size - write_size);
459 index += adj_write_size;
460
461 if (index >= end)
462 index = base;
463 ds_set(context->ds, qual, ds_index, index);
464
465 if (index >= int_th)
466 ds_overflow(context, qual);
467 }
468
469 return bytes_written;
470}
471
472
473/*
474 * Branch Trace Store (BTS) uses the following format. Different
475 * architectures vary in the size of those fields.
476 * - source linear address
477 * - destination linear address
478 * - flags
479 *
480 * Later architectures use 64bit pointers throughout, whereas earlier
481 * architectures use 32bit pointers in 32bit mode.
482 *
483 * We compute the base address for the fields based on:
484 * - the field size stored in the DS configuration
485 * - the relative field position
486 *
487 * In order to store additional information in the BTS buffer, we use
488 * a special source address to indicate that the record requires
489 * special interpretation.
490 *
491 * Netburst indicated via a bit in the flags field whether the branch
492 * was predicted; this is ignored.
493 *
494 * We use two levels of abstraction:
495 * - the raw data level defined here
496 * - an arch-independent level defined in ds.h
497 */
498
499enum bts_field {
500 bts_from,
501 bts_to,
502 bts_flags,
503
504 bts_qual = bts_from,
505 bts_clock = bts_to,
506 bts_pid = bts_flags,
507
508 bts_qual_mask = (bts_qual_max - 1),
509 bts_escape = ((unsigned long)-1 & ~bts_qual_mask)
510};
511
512static inline unsigned long bts_get(const char *base, unsigned long field)
513{
514 base += (ds_cfg.sizeof_ptr_field * field);
515 return *(unsigned long *)base;
516}
517
518static inline void bts_set(char *base, unsigned long field, unsigned long val)
519{
520 base += (ds_cfg.sizeof_ptr_field * field);
521 (*(unsigned long *)base) = val;
522}
523
524
525/*
526 * The raw BTS data is architecture dependent.
527 *
528 * For higher-level users, we give an arch-independent view.
529 * - ds.h defines struct bts_struct
530 * - bts_read translates one raw bts record into a bts_struct
531 * - bts_write translates one bts_struct into the raw format and
532 * writes it into the top of the parameter tracer's buffer.
533 *
534 * return: bytes read/written on success; -Eerrno, otherwise
535 */
536static int
537bts_read(struct bts_tracer *tracer, const void *at, struct bts_struct *out)
538{
539 if (!tracer)
540 return -EINVAL;
541
542 if (at < tracer->trace.ds.begin)
543 return -EINVAL;
544
545 if (tracer->trace.ds.end < (at + tracer->trace.ds.size))
546 return -EINVAL;
547
548 memset(out, 0, sizeof(*out));
549 if ((bts_get(at, bts_qual) & ~bts_qual_mask) == bts_escape) {
550 out->qualifier = (bts_get(at, bts_qual) & bts_qual_mask);
551 out->variant.event.clock = bts_get(at, bts_clock);
552 out->variant.event.pid = bts_get(at, bts_pid);
553 } else {
554 out->qualifier = bts_branch;
555 out->variant.lbr.from = bts_get(at, bts_from);
556 out->variant.lbr.to = bts_get(at, bts_to);
557
558 if (!out->variant.lbr.from && !out->variant.lbr.to)
559 out->qualifier = bts_invalid;
560 }
561
562 return ds_cfg.sizeof_rec[ds_bts];
563}
564
565static int bts_write(struct bts_tracer *tracer, const struct bts_struct *in)
566{
567 unsigned char raw[MAX_SIZEOF_BTS];
568
569 if (!tracer)
570 return -EINVAL;
571
572 if (MAX_SIZEOF_BTS < ds_cfg.sizeof_rec[ds_bts])
573 return -EOVERFLOW;
574
575 switch (in->qualifier) {
576 case bts_invalid:
577 bts_set(raw, bts_from, 0);
578 bts_set(raw, bts_to, 0);
579 bts_set(raw, bts_flags, 0);
580 break;
581 case bts_branch:
582 bts_set(raw, bts_from, in->variant.lbr.from);
583 bts_set(raw, bts_to, in->variant.lbr.to);
584 bts_set(raw, bts_flags, 0);
585 break;
586 case bts_task_arrives:
587 case bts_task_departs:
588 bts_set(raw, bts_qual, (bts_escape | in->qualifier));
589 bts_set(raw, bts_clock, in->variant.event.clock);
590 bts_set(raw, bts_pid, in->variant.event.pid);
591 break;
592 default:
593 return -EINVAL;
594 }
595
596 return ds_write(tracer->ds.context, ds_bts, raw,
597 ds_cfg.sizeof_rec[ds_bts]);
598}
599
600
601static void ds_write_config(struct ds_context *context,
602 struct ds_trace *cfg, enum ds_qualifier qual)
603{
604 unsigned char *ds = context->ds;
605
606 ds_set(ds, qual, ds_buffer_base, (unsigned long)cfg->begin);
607 ds_set(ds, qual, ds_index, (unsigned long)cfg->top);
608 ds_set(ds, qual, ds_absolute_maximum, (unsigned long)cfg->end);
609 ds_set(ds, qual, ds_interrupt_threshold, (unsigned long)cfg->ith);
610}
611
612static void ds_read_config(struct ds_context *context,
613 struct ds_trace *cfg, enum ds_qualifier qual)
614{
615 unsigned char *ds = context->ds;
616
617 cfg->begin = (void *)ds_get(ds, qual, ds_buffer_base);
618 cfg->top = (void *)ds_get(ds, qual, ds_index);
619 cfg->end = (void *)ds_get(ds, qual, ds_absolute_maximum);
620 cfg->ith = (void *)ds_get(ds, qual, ds_interrupt_threshold);
621}
622
623static void ds_init_ds_trace(struct ds_trace *trace, enum ds_qualifier qual,
624 void *base, size_t size, size_t ith,
625 unsigned int flags) {
626 unsigned long buffer, adj;
627
628 /*
629 * Adjust the buffer address and size to meet alignment
630 * constraints:
631 * - buffer is double-word aligned
632 * - size is multiple of record size
633 *
634 * We checked the size at the very beginning; we have enough
635 * space to do the adjustment.
636 */
637 buffer = (unsigned long)base;
638
639 adj = ALIGN(buffer, DS_ALIGNMENT) - buffer;
640 buffer += adj;
641 size -= adj;
642
643 trace->n = size / ds_cfg.sizeof_rec[qual];
644 trace->size = ds_cfg.sizeof_rec[qual];
645
646 size = (trace->n * trace->size);
647
648 trace->begin = (void *)buffer;
649 trace->top = trace->begin;
650 trace->end = (void *)(buffer + size);
651 /*
652 * The value for 'no threshold' is -1, which will set the
653 * threshold outside of the buffer, just like we want it.
654 */
655 ith *= ds_cfg.sizeof_rec[qual];
656 trace->ith = (void *)(buffer + size - ith);
657
658 trace->flags = flags;
659}
660
661
662static int ds_request(struct ds_tracer *tracer, struct ds_trace *trace,
663 enum ds_qualifier qual, struct task_struct *task,
664 int cpu, void *base, size_t size, size_t th)
665{
666 struct ds_context *context;
667 int error;
668 size_t req_size;
669
670 error = -EOPNOTSUPP;
671 if (!ds_cfg.sizeof_rec[qual])
672 goto out;
673
674 error = -EINVAL;
675 if (!base)
676 goto out;
677
678 req_size = ds_cfg.sizeof_rec[qual];
679 /* We might need space for alignment adjustments. */
680 if (!IS_ALIGNED((unsigned long)base, DS_ALIGNMENT))
681 req_size += DS_ALIGNMENT;
682
683 error = -EINVAL;
684 if (size < req_size)
685 goto out;
686
687 if (th != (size_t)-1) {
688 th *= ds_cfg.sizeof_rec[qual];
689
690 error = -EINVAL;
691 if (size <= th)
692 goto out;
693 }
694
695 tracer->buffer = base;
696 tracer->size = size;
697
698 error = -ENOMEM;
699 context = ds_get_context(task, cpu);
700 if (!context)
701 goto out;
702 tracer->context = context;
703
704 /*
705 * Defer any tracer-specific initialization work for the context until
706 * context ownership has been clarified.
707 */
708
709 error = 0;
710 out:
711 return error;
712}
713
714static struct bts_tracer *ds_request_bts(struct task_struct *task, int cpu,
715 void *base, size_t size,
716 bts_ovfl_callback_t ovfl, size_t th,
717 unsigned int flags)
718{
719 struct bts_tracer *tracer;
720 int error;
721
722 /* Buffer overflow notification is not yet implemented. */
723 error = -EOPNOTSUPP;
724 if (ovfl)
725 goto out;
726
727 error = get_tracer(task);
728 if (error < 0)
729 goto out;
730
731 error = -ENOMEM;
732 tracer = kzalloc(sizeof(*tracer), GFP_KERNEL);
733 if (!tracer)
734 goto out_put_tracer;
735 tracer->ovfl = ovfl;
736
737 /* Do some more error checking and acquire a tracing context. */
738 error = ds_request(&tracer->ds, &tracer->trace.ds,
739 ds_bts, task, cpu, base, size, th);
740 if (error < 0)
741 goto out_tracer;
742
743 /* Claim the bts part of the tracing context we acquired above. */
744 spin_lock_irq(&ds_lock);
745
746 error = -EPERM;
747 if (tracer->ds.context->bts_master)
748 goto out_unlock;
749 tracer->ds.context->bts_master = tracer;
750
751 spin_unlock_irq(&ds_lock);
752
753 /*
754 * Now that we own the bts part of the context, let's complete the
755 * initialization for that part.
756 */
757 ds_init_ds_trace(&tracer->trace.ds, ds_bts, base, size, th, flags);
758 ds_write_config(tracer->ds.context, &tracer->trace.ds, ds_bts);
759 ds_install_ds_area(tracer->ds.context);
760
761 tracer->trace.read = bts_read;
762 tracer->trace.write = bts_write;
763
764 /* Start tracing. */
765 ds_resume_bts(tracer);
766
767 return tracer;
768
769 out_unlock:
770 spin_unlock_irq(&ds_lock);
771 ds_put_context(tracer->ds.context);
772 out_tracer:
773 kfree(tracer);
774 out_put_tracer:
775 put_tracer(task);
776 out:
777 return ERR_PTR(error);
778}
779
780struct bts_tracer *ds_request_bts_task(struct task_struct *task,
781 void *base, size_t size,
782 bts_ovfl_callback_t ovfl,
783 size_t th, unsigned int flags)
784{
785 return ds_request_bts(task, 0, base, size, ovfl, th, flags);
786}
787
788struct bts_tracer *ds_request_bts_cpu(int cpu, void *base, size_t size,
789 bts_ovfl_callback_t ovfl,
790 size_t th, unsigned int flags)
791{
792 return ds_request_bts(NULL, cpu, base, size, ovfl, th, flags);
793}
794
795static struct pebs_tracer *ds_request_pebs(struct task_struct *task, int cpu,
796 void *base, size_t size,
797 pebs_ovfl_callback_t ovfl, size_t th,
798 unsigned int flags)
799{
800 struct pebs_tracer *tracer;
801 int error;
802
803 /* Buffer overflow notification is not yet implemented. */
804 error = -EOPNOTSUPP;
805 if (ovfl)
806 goto out;
807
808 error = get_tracer(task);
809 if (error < 0)
810 goto out;
811
812 error = -ENOMEM;
813 tracer = kzalloc(sizeof(*tracer), GFP_KERNEL);
814 if (!tracer)
815 goto out_put_tracer;
816 tracer->ovfl = ovfl;
817
818 /* Do some more error checking and acquire a tracing context. */
819 error = ds_request(&tracer->ds, &tracer->trace.ds,
820 ds_pebs, task, cpu, base, size, th);
821 if (error < 0)
822 goto out_tracer;
823
824 /* Claim the pebs part of the tracing context we acquired above. */
825 spin_lock_irq(&ds_lock);
826
827 error = -EPERM;
828 if (tracer->ds.context->pebs_master)
829 goto out_unlock;
830 tracer->ds.context->pebs_master = tracer;
831
832 spin_unlock_irq(&ds_lock);
833
834 /*
835 * Now that we own the pebs part of the context, let's complete the
836 * initialization for that part.
837 */
838 ds_init_ds_trace(&tracer->trace.ds, ds_pebs, base, size, th, flags);
839 ds_write_config(tracer->ds.context, &tracer->trace.ds, ds_pebs);
840 ds_install_ds_area(tracer->ds.context);
841
842 /* Start tracing. */
843 ds_resume_pebs(tracer);
844
845 return tracer;
846
847 out_unlock:
848 spin_unlock_irq(&ds_lock);
849 ds_put_context(tracer->ds.context);
850 out_tracer:
851 kfree(tracer);
852 out_put_tracer:
853 put_tracer(task);
854 out:
855 return ERR_PTR(error);
856}
857
858struct pebs_tracer *ds_request_pebs_task(struct task_struct *task,
859 void *base, size_t size,
860 pebs_ovfl_callback_t ovfl,
861 size_t th, unsigned int flags)
862{
863 return ds_request_pebs(task, 0, base, size, ovfl, th, flags);
864}
865
866struct pebs_tracer *ds_request_pebs_cpu(int cpu, void *base, size_t size,
867 pebs_ovfl_callback_t ovfl,
868 size_t th, unsigned int flags)
869{
870 return ds_request_pebs(NULL, cpu, base, size, ovfl, th, flags);
871}
872
873static void ds_free_bts(struct bts_tracer *tracer)
874{
875 struct task_struct *task;
876
877 task = tracer->ds.context->task;
878
879 WARN_ON_ONCE(tracer->ds.context->bts_master != tracer);
880 tracer->ds.context->bts_master = NULL;
881
882 /* Make sure tracing stopped and the tracer is not in use. */
883 if (task && (task != current))
884 wait_task_context_switch(task);
885
886 ds_put_context(tracer->ds.context);
887 put_tracer(task);
888
889 kfree(tracer);
890}
891
892void ds_release_bts(struct bts_tracer *tracer)
893{
894 might_sleep();
895
896 if (!tracer)
897 return;
898
899 ds_suspend_bts(tracer);
900 ds_free_bts(tracer);
901}
902
903int ds_release_bts_noirq(struct bts_tracer *tracer)
904{
905 struct task_struct *task;
906 unsigned long irq;
907 int error;
908
909 if (!tracer)
910 return 0;
911
912 task = tracer->ds.context->task;
913
914 local_irq_save(irq);
915
916 error = -EPERM;
917 if (!task &&
918 (tracer->ds.context->cpu != smp_processor_id()))
919 goto out;
920
921 error = -EPERM;
922 if (task && (task != current))
923 goto out;
924
925 ds_suspend_bts_noirq(tracer);
926 ds_free_bts(tracer);
927
928 error = 0;
929 out:
930 local_irq_restore(irq);
931 return error;
932}
933
934static void update_task_debugctlmsr(struct task_struct *task,
935 unsigned long debugctlmsr)
936{
937 task->thread.debugctlmsr = debugctlmsr;
938
939 get_cpu();
940 if (task == current)
941 update_debugctlmsr(debugctlmsr);
942 put_cpu();
943}
944
945void ds_suspend_bts(struct bts_tracer *tracer)
946{
947 struct task_struct *task;
948 unsigned long debugctlmsr;
949 int cpu;
950
951 if (!tracer)
952 return;
953
954 tracer->flags = 0;
955
956 task = tracer->ds.context->task;
957 cpu = tracer->ds.context->cpu;
958
959 WARN_ON(!task && irqs_disabled());
960
961 debugctlmsr = (task ?
962 task->thread.debugctlmsr :
963 get_debugctlmsr_on_cpu(cpu));
964 debugctlmsr &= ~BTS_CONTROL;
965
966 if (task)
967 update_task_debugctlmsr(task, debugctlmsr);
968 else
969 update_debugctlmsr_on_cpu(cpu, debugctlmsr);
970}
971
972int ds_suspend_bts_noirq(struct bts_tracer *tracer)
973{
974 struct task_struct *task;
975 unsigned long debugctlmsr, irq;
976 int cpu, error = 0;
977
978 if (!tracer)
979 return 0;
980
981 tracer->flags = 0;
982
983 task = tracer->ds.context->task;
984 cpu = tracer->ds.context->cpu;
985
986 local_irq_save(irq);
987
988 error = -EPERM;
989 if (!task && (cpu != smp_processor_id()))
990 goto out;
991
992 debugctlmsr = (task ?
993 task->thread.debugctlmsr :
994 get_debugctlmsr());
995 debugctlmsr &= ~BTS_CONTROL;
996
997 if (task)
998 update_task_debugctlmsr(task, debugctlmsr);
999 else
1000 update_debugctlmsr(debugctlmsr);
1001
1002 error = 0;
1003 out:
1004 local_irq_restore(irq);
1005 return error;
1006}
1007
1008static unsigned long ds_bts_control(struct bts_tracer *tracer)
1009{
1010 unsigned long control;
1011
1012 control = ds_cfg.ctl[dsf_bts];
1013 if (!(tracer->trace.ds.flags & BTS_KERNEL))
1014 control |= ds_cfg.ctl[dsf_bts_kernel];
1015 if (!(tracer->trace.ds.flags & BTS_USER))
1016 control |= ds_cfg.ctl[dsf_bts_user];
1017
1018 return control;
1019}
1020
1021void ds_resume_bts(struct bts_tracer *tracer)
1022{
1023 struct task_struct *task;
1024 unsigned long debugctlmsr;
1025 int cpu;
1026
1027 if (!tracer)
1028 return;
1029
1030 tracer->flags = tracer->trace.ds.flags;
1031
1032 task = tracer->ds.context->task;
1033 cpu = tracer->ds.context->cpu;
1034
1035 WARN_ON(!task && irqs_disabled());
1036
1037 debugctlmsr = (task ?
1038 task->thread.debugctlmsr :
1039 get_debugctlmsr_on_cpu(cpu));
1040 debugctlmsr |= ds_bts_control(tracer);
1041
1042 if (task)
1043 update_task_debugctlmsr(task, debugctlmsr);
1044 else
1045 update_debugctlmsr_on_cpu(cpu, debugctlmsr);
1046}
1047
1048int ds_resume_bts_noirq(struct bts_tracer *tracer)
1049{
1050 struct task_struct *task;
1051 unsigned long debugctlmsr, irq;
1052 int cpu, error = 0;
1053
1054 if (!tracer)
1055 return 0;
1056
1057 tracer->flags = tracer->trace.ds.flags;
1058
1059 task = tracer->ds.context->task;
1060 cpu = tracer->ds.context->cpu;
1061
1062 local_irq_save(irq);
1063
1064 error = -EPERM;
1065 if (!task && (cpu != smp_processor_id()))
1066 goto out;
1067
1068 debugctlmsr = (task ?
1069 task->thread.debugctlmsr :
1070 get_debugctlmsr());
1071 debugctlmsr |= ds_bts_control(tracer);
1072
1073 if (task)
1074 update_task_debugctlmsr(task, debugctlmsr);
1075 else
1076 update_debugctlmsr(debugctlmsr);
1077
1078 error = 0;
1079 out:
1080 local_irq_restore(irq);
1081 return error;
1082}
1083
1084static void ds_free_pebs(struct pebs_tracer *tracer)
1085{
1086 struct task_struct *task;
1087
1088 task = tracer->ds.context->task;
1089
1090 WARN_ON_ONCE(tracer->ds.context->pebs_master != tracer);
1091 tracer->ds.context->pebs_master = NULL;
1092
1093 ds_put_context(tracer->ds.context);
1094 put_tracer(task);
1095
1096 kfree(tracer);
1097}
1098
1099void ds_release_pebs(struct pebs_tracer *tracer)
1100{
1101 might_sleep();
1102
1103 if (!tracer)
1104 return;
1105
1106 ds_suspend_pebs(tracer);
1107 ds_free_pebs(tracer);
1108}
1109
1110int ds_release_pebs_noirq(struct pebs_tracer *tracer)
1111{
1112 struct task_struct *task;
1113 unsigned long irq;
1114 int error;
1115
1116 if (!tracer)
1117 return 0;
1118
1119 task = tracer->ds.context->task;
1120
1121 local_irq_save(irq);
1122
1123 error = -EPERM;
1124 if (!task &&
1125 (tracer->ds.context->cpu != smp_processor_id()))
1126 goto out;
1127
1128 error = -EPERM;
1129 if (task && (task != current))
1130 goto out;
1131
1132 ds_suspend_pebs_noirq(tracer);
1133 ds_free_pebs(tracer);
1134
1135 error = 0;
1136 out:
1137 local_irq_restore(irq);
1138 return error;
1139}
1140
1141void ds_suspend_pebs(struct pebs_tracer *tracer)
1142{
1143
1144}
1145
1146int ds_suspend_pebs_noirq(struct pebs_tracer *tracer)
1147{
1148 return 0;
1149}
1150
1151void ds_resume_pebs(struct pebs_tracer *tracer)
1152{
1153
1154}
1155
1156int ds_resume_pebs_noirq(struct pebs_tracer *tracer)
1157{
1158 return 0;
1159}
1160
1161const struct bts_trace *ds_read_bts(struct bts_tracer *tracer)
1162{
1163 if (!tracer)
1164 return NULL;
1165
1166 ds_read_config(tracer->ds.context, &tracer->trace.ds, ds_bts);
1167 return &tracer->trace;
1168}
1169
1170const struct pebs_trace *ds_read_pebs(struct pebs_tracer *tracer)
1171{
1172 if (!tracer)
1173 return NULL;
1174
1175 ds_read_config(tracer->ds.context, &tracer->trace.ds, ds_pebs);
1176
1177 tracer->trace.counters = ds_cfg.nr_counter_reset;
1178 memcpy(tracer->trace.counter_reset,
1179 tracer->ds.context->ds +
1180 (NUM_DS_PTR_FIELDS * ds_cfg.sizeof_ptr_field),
1181 ds_cfg.nr_counter_reset * PEBS_RESET_FIELD_SIZE);
1182
1183 return &tracer->trace;
1184}
1185
1186int ds_reset_bts(struct bts_tracer *tracer)
1187{
1188 if (!tracer)
1189 return -EINVAL;
1190
1191 tracer->trace.ds.top = tracer->trace.ds.begin;
1192
1193 ds_set(tracer->ds.context->ds, ds_bts, ds_index,
1194 (unsigned long)tracer->trace.ds.top);
1195
1196 return 0;
1197}
1198
1199int ds_reset_pebs(struct pebs_tracer *tracer)
1200{
1201 if (!tracer)
1202 return -EINVAL;
1203
1204 tracer->trace.ds.top = tracer->trace.ds.begin;
1205
1206 ds_set(tracer->ds.context->ds, ds_pebs, ds_index,
1207 (unsigned long)tracer->trace.ds.top);
1208
1209 return 0;
1210}
1211
1212int ds_set_pebs_reset(struct pebs_tracer *tracer,
1213 unsigned int counter, u64 value)
1214{
1215 if (!tracer)
1216 return -EINVAL;
1217
1218 if (ds_cfg.nr_counter_reset < counter)
1219 return -EINVAL;
1220
1221 *(u64 *)(tracer->ds.context->ds +
1222 (NUM_DS_PTR_FIELDS * ds_cfg.sizeof_ptr_field) +
1223 (counter * PEBS_RESET_FIELD_SIZE)) = value;
1224
1225 return 0;
1226}
1227
1228static const struct ds_configuration ds_cfg_netburst = {
1229 .name = "Netburst",
1230 .ctl[dsf_bts] = (1 << 2) | (1 << 3),
1231 .ctl[dsf_bts_kernel] = (1 << 5),
1232 .ctl[dsf_bts_user] = (1 << 6),
1233 .nr_counter_reset = 1,
1234};
1235static const struct ds_configuration ds_cfg_pentium_m = {
1236 .name = "Pentium M",
1237 .ctl[dsf_bts] = (1 << 6) | (1 << 7),
1238 .nr_counter_reset = 1,
1239};
1240static const struct ds_configuration ds_cfg_core2_atom = {
1241 .name = "Core 2/Atom",
1242 .ctl[dsf_bts] = (1 << 6) | (1 << 7),
1243 .ctl[dsf_bts_kernel] = (1 << 9),
1244 .ctl[dsf_bts_user] = (1 << 10),
1245 .nr_counter_reset = 1,
1246};
1247static const struct ds_configuration ds_cfg_core_i7 = {
1248 .name = "Core i7",
1249 .ctl[dsf_bts] = (1 << 6) | (1 << 7),
1250 .ctl[dsf_bts_kernel] = (1 << 9),
1251 .ctl[dsf_bts_user] = (1 << 10),
1252 .nr_counter_reset = 4,
1253};
1254
1255static void
1256ds_configure(const struct ds_configuration *cfg,
1257 struct cpuinfo_x86 *cpu)
1258{
1259 unsigned long nr_pebs_fields = 0;
1260
1261 printk(KERN_INFO "[ds] using %s configuration\n", cfg->name);
1262
1263#ifdef __i386__
1264 nr_pebs_fields = 10;
1265#else
1266 nr_pebs_fields = 18;
1267#endif
1268
1269 /*
1270 * Starting with version 2, architectural performance
1271 * monitoring supports a format specifier.
1272 */
1273 if ((cpuid_eax(0xa) & 0xff) > 1) {
1274 unsigned long perf_capabilities, format;
1275
1276 rdmsrl(MSR_IA32_PERF_CAPABILITIES, perf_capabilities);
1277
1278 format = (perf_capabilities >> 8) & 0xf;
1279
1280 switch (format) {
1281 case 0:
1282 nr_pebs_fields = 18;
1283 break;
1284 case 1:
1285 nr_pebs_fields = 22;
1286 break;
1287 default:
1288 printk(KERN_INFO
1289 "[ds] unknown PEBS format: %lu\n", format);
1290 nr_pebs_fields = 0;
1291 break;
1292 }
1293 }
1294
1295 memset(&ds_cfg, 0, sizeof(ds_cfg));
1296 ds_cfg = *cfg;
1297
1298 ds_cfg.sizeof_ptr_field =
1299 (cpu_has(cpu, X86_FEATURE_DTES64) ? 8 : 4);
1300
1301 ds_cfg.sizeof_rec[ds_bts] = ds_cfg.sizeof_ptr_field * 3;
1302 ds_cfg.sizeof_rec[ds_pebs] = ds_cfg.sizeof_ptr_field * nr_pebs_fields;
1303
1304 if (!cpu_has(cpu, X86_FEATURE_BTS)) {
1305 ds_cfg.sizeof_rec[ds_bts] = 0;
1306 printk(KERN_INFO "[ds] bts not available\n");
1307 }
1308 if (!cpu_has(cpu, X86_FEATURE_PEBS)) {
1309 ds_cfg.sizeof_rec[ds_pebs] = 0;
1310 printk(KERN_INFO "[ds] pebs not available\n");
1311 }
1312
1313 printk(KERN_INFO "[ds] sizes: address: %u bit, ",
1314 8 * ds_cfg.sizeof_ptr_field);
1315 printk("bts/pebs record: %u/%u bytes\n",
1316 ds_cfg.sizeof_rec[ds_bts], ds_cfg.sizeof_rec[ds_pebs]);
1317
1318 WARN_ON_ONCE(MAX_PEBS_COUNTERS < ds_cfg.nr_counter_reset);
1319}
1320
1321void __cpuinit ds_init_intel(struct cpuinfo_x86 *c)
1322{
1323 /* Only configure the first cpu. Others are identical. */
1324 if (ds_cfg.name)
1325 return;
1326
1327 switch (c->x86) {
1328 case 0x6:
1329 switch (c->x86_model) {
1330 case 0x9:
1331 case 0xd: /* Pentium M */
1332 ds_configure(&ds_cfg_pentium_m, c);
1333 break;
1334 case 0xf:
1335 case 0x17: /* Core2 */
1336 case 0x1c: /* Atom */
1337 ds_configure(&ds_cfg_core2_atom, c);
1338 break;
1339 case 0x1a: /* Core i7 */
1340 ds_configure(&ds_cfg_core_i7, c);
1341 break;
1342 default:
1343 /* Sorry, don't know about them. */
1344 break;
1345 }
1346 break;
1347 case 0xf:
1348 switch (c->x86_model) {
1349 case 0x0:
1350 case 0x1:
1351 case 0x2: /* Netburst */
1352 ds_configure(&ds_cfg_netburst, c);
1353 break;
1354 default:
1355 /* Sorry, don't know about them. */
1356 break;
1357 }
1358 break;
1359 default:
1360 /* Sorry, don't know about them. */
1361 break;
1362 }
1363}
1364
1365static inline void ds_take_timestamp(struct ds_context *context,
1366 enum bts_qualifier qualifier,
1367 struct task_struct *task)
1368{
1369 struct bts_tracer *tracer = context->bts_master;
1370 struct bts_struct ts;
1371
1372 /* Prevent compilers from reading the tracer pointer twice. */
1373 barrier();
1374
1375 if (!tracer || !(tracer->flags & BTS_TIMESTAMPS))
1376 return;
1377
1378 memset(&ts, 0, sizeof(ts));
1379 ts.qualifier = qualifier;
1380 ts.variant.event.clock = trace_clock_global();
1381 ts.variant.event.pid = task->pid;
1382
1383 bts_write(tracer, &ts);
1384}
1385
1386/*
1387 * Change the DS configuration from tracing prev to tracing next.
1388 */
1389void ds_switch_to(struct task_struct *prev, struct task_struct *next)
1390{
1391 struct ds_context *prev_ctx = prev->thread.ds_ctx;
1392 struct ds_context *next_ctx = next->thread.ds_ctx;
1393 unsigned long debugctlmsr = next->thread.debugctlmsr;
1394
1395 /* Make sure all data is read before we start. */
1396 barrier();
1397
1398 if (prev_ctx) {
1399 update_debugctlmsr(0);
1400
1401 ds_take_timestamp(prev_ctx, bts_task_departs, prev);
1402 }
1403
1404 if (next_ctx) {
1405 ds_take_timestamp(next_ctx, bts_task_arrives, next);
1406
1407 wrmsrl(MSR_IA32_DS_AREA, (unsigned long)next_ctx->ds);
1408 }
1409
1410 update_debugctlmsr(debugctlmsr);
1411}
1412
1413static __init int ds_selftest(void)
1414{
1415 if (ds_cfg.sizeof_rec[ds_bts]) {
1416 int error;
1417
1418 error = ds_selftest_bts();
1419 if (error) {
1420 WARN(1, "[ds] selftest failed. disabling bts.\n");
1421 ds_cfg.sizeof_rec[ds_bts] = 0;
1422 }
1423 }
1424
1425 if (ds_cfg.sizeof_rec[ds_pebs]) {
1426 int error;
1427
1428 error = ds_selftest_pebs();
1429 if (error) {
1430 WARN(1, "[ds] selftest failed. disabling pebs.\n");
1431 ds_cfg.sizeof_rec[ds_pebs] = 0;
1432 }
1433 }
1434
1435 return 0;
1436}
1437device_initcall(ds_selftest);
diff --git a/arch/x86/kernel/ds_selftest.c b/arch/x86/kernel/ds_selftest.c
deleted file mode 100644
index 6bc7c199ab9..00000000000
--- a/arch/x86/kernel/ds_selftest.c
+++ /dev/null
@@ -1,408 +0,0 @@
1/*
2 * Debug Store support - selftest
3 *
4 *
5 * Copyright (C) 2009 Intel Corporation.
6 * Markus Metzger <markus.t.metzger@intel.com>, 2009
7 */
8
9#include "ds_selftest.h"
10
11#include <linux/kernel.h>
12#include <linux/string.h>
13#include <linux/smp.h>
14#include <linux/cpu.h>
15
16#include <asm/ds.h>
17
18
19#define BUFFER_SIZE 521 /* Intentionally chose an odd size. */
20#define SMALL_BUFFER_SIZE 24 /* A single bts entry. */
21
22struct ds_selftest_bts_conf {
23 struct bts_tracer *tracer;
24 int error;
25 int (*suspend)(struct bts_tracer *);
26 int (*resume)(struct bts_tracer *);
27};
28
29static int ds_selftest_bts_consistency(const struct bts_trace *trace)
30{
31 int error = 0;
32
33 if (!trace) {
34 printk(KERN_CONT "failed to access trace...");
35 /* Bail out. Other tests are pointless. */
36 return -1;
37 }
38
39 if (!trace->read) {
40 printk(KERN_CONT "bts read not available...");
41 error = -1;
42 }
43
44 /* Do some sanity checks on the trace configuration. */
45 if (!trace->ds.n) {
46 printk(KERN_CONT "empty bts buffer...");
47 error = -1;
48 }
49 if (!trace->ds.size) {
50 printk(KERN_CONT "bad bts trace setup...");
51 error = -1;
52 }
53 if (trace->ds.end !=
54 (char *)trace->ds.begin + (trace->ds.n * trace->ds.size)) {
55 printk(KERN_CONT "bad bts buffer setup...");
56 error = -1;
57 }
58 /*
59 * We allow top in [begin; end], since its not clear when the
60 * overflow adjustment happens: after the increment or before the
61 * write.
62 */
63 if ((trace->ds.top < trace->ds.begin) ||
64 (trace->ds.end < trace->ds.top)) {
65 printk(KERN_CONT "bts top out of bounds...");
66 error = -1;
67 }
68
69 return error;
70}
71
72static int ds_selftest_bts_read(struct bts_tracer *tracer,
73 const struct bts_trace *trace,
74 const void *from, const void *to)
75{
76 const unsigned char *at;
77
78 /*
79 * Check a few things which do not belong to this test.
80 * They should be covered by other tests.
81 */
82 if (!trace)
83 return -1;
84
85 if (!trace->read)
86 return -1;
87
88 if (to < from)
89 return -1;
90
91 if (from < trace->ds.begin)
92 return -1;
93
94 if (trace->ds.end < to)
95 return -1;
96
97 if (!trace->ds.size)
98 return -1;
99
100 /* Now to the test itself. */
101 for (at = from; (void *)at < to; at += trace->ds.size) {
102 struct bts_struct bts;
103 unsigned long index;
104 int error;
105
106 if (((void *)at - trace->ds.begin) % trace->ds.size) {
107 printk(KERN_CONT
108 "read from non-integer index...");
109 return -1;
110 }
111 index = ((void *)at - trace->ds.begin) / trace->ds.size;
112
113 memset(&bts, 0, sizeof(bts));
114 error = trace->read(tracer, at, &bts);
115 if (error < 0) {
116 printk(KERN_CONT
117 "error reading bts trace at [%lu] (0x%p)...",
118 index, at);
119 return error;
120 }
121
122 switch (bts.qualifier) {
123 case BTS_BRANCH:
124 break;
125 default:
126 printk(KERN_CONT
127 "unexpected bts entry %llu at [%lu] (0x%p)...",
128 bts.qualifier, index, at);
129 return -1;
130 }
131 }
132
133 return 0;
134}
135
136static void ds_selftest_bts_cpu(void *arg)
137{
138 struct ds_selftest_bts_conf *conf = arg;
139 const struct bts_trace *trace;
140 void *top;
141
142 if (IS_ERR(conf->tracer)) {
143 conf->error = PTR_ERR(conf->tracer);
144 conf->tracer = NULL;
145
146 printk(KERN_CONT
147 "initialization failed (err: %d)...", conf->error);
148 return;
149 }
150
151 /* We should meanwhile have enough trace. */
152 conf->error = conf->suspend(conf->tracer);
153 if (conf->error < 0)
154 return;
155
156 /* Let's see if we can access the trace. */
157 trace = ds_read_bts(conf->tracer);
158
159 conf->error = ds_selftest_bts_consistency(trace);
160 if (conf->error < 0)
161 return;
162
163 /* If everything went well, we should have a few trace entries. */
164 if (trace->ds.top == trace->ds.begin) {
165 /*
166 * It is possible but highly unlikely that we got a
167 * buffer overflow and end up at exactly the same
168 * position we started from.
169 * Let's issue a warning, but continue.
170 */
171 printk(KERN_CONT "no trace/overflow...");
172 }
173
174 /* Let's try to read the trace we collected. */
175 conf->error =
176 ds_selftest_bts_read(conf->tracer, trace,
177 trace->ds.begin, trace->ds.top);
178 if (conf->error < 0)
179 return;
180
181 /*
182 * Let's read the trace again.
183 * Since we suspended tracing, we should get the same result.
184 */
185 top = trace->ds.top;
186
187 trace = ds_read_bts(conf->tracer);
188 conf->error = ds_selftest_bts_consistency(trace);
189 if (conf->error < 0)
190 return;
191
192 if (top != trace->ds.top) {
193 printk(KERN_CONT "suspend not working...");
194 conf->error = -1;
195 return;
196 }
197
198 /* Let's collect some more trace - see if resume is working. */
199 conf->error = conf->resume(conf->tracer);
200 if (conf->error < 0)
201 return;
202
203 conf->error = conf->suspend(conf->tracer);
204 if (conf->error < 0)
205 return;
206
207 trace = ds_read_bts(conf->tracer);
208
209 conf->error = ds_selftest_bts_consistency(trace);
210 if (conf->error < 0)
211 return;
212
213 if (trace->ds.top == top) {
214 /*
215 * It is possible but highly unlikely that we got a
216 * buffer overflow and end up at exactly the same
217 * position we started from.
218 * Let's issue a warning and check the full trace.
219 */
220 printk(KERN_CONT
221 "no resume progress/overflow...");
222
223 conf->error =
224 ds_selftest_bts_read(conf->tracer, trace,
225 trace->ds.begin, trace->ds.end);
226 } else if (trace->ds.top < top) {
227 /*
228 * We had a buffer overflow - the entire buffer should
229 * contain trace records.
230 */
231 conf->error =
232 ds_selftest_bts_read(conf->tracer, trace,
233 trace->ds.begin, trace->ds.end);
234 } else {
235 /*
236 * It is quite likely that the buffer did not overflow.
237 * Let's just check the delta trace.
238 */
239 conf->error =
240 ds_selftest_bts_read(conf->tracer, trace, top,
241 trace->ds.top);
242 }
243 if (conf->error < 0)
244 return;
245
246 conf->error = 0;
247}
248
249static int ds_suspend_bts_wrap(struct bts_tracer *tracer)
250{
251 ds_suspend_bts(tracer);
252 return 0;
253}
254
255static int ds_resume_bts_wrap(struct bts_tracer *tracer)
256{
257 ds_resume_bts(tracer);
258 return 0;
259}
260
261static void ds_release_bts_noirq_wrap(void *tracer)
262{
263 (void)ds_release_bts_noirq(tracer);
264}
265
266static int ds_selftest_bts_bad_release_noirq(int cpu,
267 struct bts_tracer *tracer)
268{
269 int error = -EPERM;
270
271 /* Try to release the tracer on the wrong cpu. */
272 get_cpu();
273 if (cpu != smp_processor_id()) {
274 error = ds_release_bts_noirq(tracer);
275 if (error != -EPERM)
276 printk(KERN_CONT "release on wrong cpu...");
277 }
278 put_cpu();
279
280 return error ? 0 : -1;
281}
282
283static int ds_selftest_bts_bad_request_cpu(int cpu, void *buffer)
284{
285 struct bts_tracer *tracer;
286 int error;
287
288 /* Try to request cpu tracing while task tracing is active. */
289 tracer = ds_request_bts_cpu(cpu, buffer, BUFFER_SIZE, NULL,
290 (size_t)-1, BTS_KERNEL);
291 error = PTR_ERR(tracer);
292 if (!IS_ERR(tracer)) {
293 ds_release_bts(tracer);
294 error = 0;
295 }
296
297 if (error != -EPERM)
298 printk(KERN_CONT "cpu/task tracing overlap...");
299
300 return error ? 0 : -1;
301}
302
303static int ds_selftest_bts_bad_request_task(void *buffer)
304{
305 struct bts_tracer *tracer;
306 int error;
307
308 /* Try to request cpu tracing while task tracing is active. */
309 tracer = ds_request_bts_task(current, buffer, BUFFER_SIZE, NULL,
310 (size_t)-1, BTS_KERNEL);
311 error = PTR_ERR(tracer);
312 if (!IS_ERR(tracer)) {
313 error = 0;
314 ds_release_bts(tracer);
315 }
316
317 if (error != -EPERM)
318 printk(KERN_CONT "task/cpu tracing overlap...");
319
320 return error ? 0 : -1;
321}
322
323int ds_selftest_bts(void)
324{
325 struct ds_selftest_bts_conf conf;
326 unsigned char buffer[BUFFER_SIZE], *small_buffer;
327 unsigned long irq;
328 int cpu;
329
330 printk(KERN_INFO "[ds] bts selftest...");
331 conf.error = 0;
332
333 small_buffer = (unsigned char *)ALIGN((unsigned long)buffer, 8) + 8;
334
335 get_online_cpus();
336 for_each_online_cpu(cpu) {
337 conf.suspend = ds_suspend_bts_wrap;
338 conf.resume = ds_resume_bts_wrap;
339 conf.tracer =
340 ds_request_bts_cpu(cpu, buffer, BUFFER_SIZE,
341 NULL, (size_t)-1, BTS_KERNEL);
342 ds_selftest_bts_cpu(&conf);
343 if (conf.error >= 0)
344 conf.error = ds_selftest_bts_bad_request_task(buffer);
345 ds_release_bts(conf.tracer);
346 if (conf.error < 0)
347 goto out;
348
349 conf.suspend = ds_suspend_bts_noirq;
350 conf.resume = ds_resume_bts_noirq;
351 conf.tracer =
352 ds_request_bts_cpu(cpu, buffer, BUFFER_SIZE,
353 NULL, (size_t)-1, BTS_KERNEL);
354 smp_call_function_single(cpu, ds_selftest_bts_cpu, &conf, 1);
355 if (conf.error >= 0) {
356 conf.error =
357 ds_selftest_bts_bad_release_noirq(cpu,
358 conf.tracer);
359 /* We must not release the tracer twice. */
360 if (conf.error < 0)
361 conf.tracer = NULL;
362 }
363 if (conf.error >= 0)
364 conf.error = ds_selftest_bts_bad_request_task(buffer);
365 smp_call_function_single(cpu, ds_release_bts_noirq_wrap,
366 conf.tracer, 1);
367 if (conf.error < 0)
368 goto out;
369 }
370
371 conf.suspend = ds_suspend_bts_wrap;
372 conf.resume = ds_resume_bts_wrap;
373 conf.tracer =
374 ds_request_bts_task(current, buffer, BUFFER_SIZE,
375 NULL, (size_t)-1, BTS_KERNEL);
376 ds_selftest_bts_cpu(&conf);
377 if (conf.error >= 0)
378 conf.error = ds_selftest_bts_bad_request_cpu(0, buffer);
379 ds_release_bts(conf.tracer);
380 if (conf.error < 0)
381 goto out;
382
383 conf.suspend = ds_suspend_bts_noirq;
384 conf.resume = ds_resume_bts_noirq;
385 conf.tracer =
386 ds_request_bts_task(current, small_buffer, SMALL_BUFFER_SIZE,
387 NULL, (size_t)-1, BTS_KERNEL);
388 local_irq_save(irq);
389 ds_selftest_bts_cpu(&conf);
390 if (conf.error >= 0)
391 conf.error = ds_selftest_bts_bad_request_cpu(0, buffer);
392 ds_release_bts_noirq(conf.tracer);
393 local_irq_restore(irq);
394 if (conf.error < 0)
395 goto out;
396
397 conf.error = 0;
398 out:
399 put_online_cpus();
400 printk(KERN_CONT "%s.\n", (conf.error ? "failed" : "passed"));
401
402 return conf.error;
403}
404
405int ds_selftest_pebs(void)
406{
407 return 0;
408}
diff --git a/arch/x86/kernel/ds_selftest.h b/arch/x86/kernel/ds_selftest.h
deleted file mode 100644
index 2ba8745c666..00000000000
--- a/arch/x86/kernel/ds_selftest.h
+++ /dev/null
@@ -1,15 +0,0 @@
1/*
2 * Debug Store support - selftest
3 *
4 *
5 * Copyright (C) 2009 Intel Corporation.
6 * Markus Metzger <markus.t.metzger@intel.com>, 2009
7 */
8
9#ifdef CONFIG_X86_DS_SELFTEST
10extern int ds_selftest_bts(void);
11extern int ds_selftest_pebs(void);
12#else
13static inline int ds_selftest_bts(void) { return 0; }
14static inline int ds_selftest_pebs(void) { return 0; }
15#endif
diff --git a/arch/x86/kernel/dumpstack.c b/arch/x86/kernel/dumpstack.c
index 6d817554780..c89a386930b 100644
--- a/arch/x86/kernel/dumpstack.c
+++ b/arch/x86/kernel/dumpstack.c
@@ -224,11 +224,6 @@ unsigned __kprobes long oops_begin(void)
224 int cpu; 224 int cpu;
225 unsigned long flags; 225 unsigned long flags;
226 226
227 /* notify the hw-branch tracer so it may disable tracing and
228 add the last trace to the trace buffer -
229 the earlier this happens, the more useful the trace. */
230 trace_hw_branch_oops();
231
232 oops_enter(); 227 oops_enter();
233 228
234 /* racy, but better than risking deadlock. */ 229 /* racy, but better than risking deadlock. */
diff --git a/arch/x86/kernel/hw_breakpoint.c b/arch/x86/kernel/hw_breakpoint.c
index d6cc065f519..a8f1b803d2f 100644
--- a/arch/x86/kernel/hw_breakpoint.c
+++ b/arch/x86/kernel/hw_breakpoint.c
@@ -189,25 +189,16 @@ static int get_hbp_len(u8 hbp_len)
189} 189}
190 190
191/* 191/*
192 * Check for virtual address in user space.
193 */
194int arch_check_va_in_userspace(unsigned long va, u8 hbp_len)
195{
196 unsigned int len;
197
198 len = get_hbp_len(hbp_len);
199
200 return (va <= TASK_SIZE - len);
201}
202
203/*
204 * Check for virtual address in kernel space. 192 * Check for virtual address in kernel space.
205 */ 193 */
206static int arch_check_va_in_kernelspace(unsigned long va, u8 hbp_len) 194int arch_check_bp_in_kernelspace(struct perf_event *bp)
207{ 195{
208 unsigned int len; 196 unsigned int len;
197 unsigned long va;
198 struct arch_hw_breakpoint *info = counter_arch_bp(bp);
209 199
210 len = get_hbp_len(hbp_len); 200 va = info->address;
201 len = get_hbp_len(info->len);
211 202
212 return (va >= TASK_SIZE) && ((va + len - 1) >= TASK_SIZE); 203 return (va >= TASK_SIZE) && ((va + len - 1) >= TASK_SIZE);
213} 204}
@@ -300,8 +291,7 @@ static int arch_build_bp_info(struct perf_event *bp)
300/* 291/*
301 * Validate the arch-specific HW Breakpoint register settings 292 * Validate the arch-specific HW Breakpoint register settings
302 */ 293 */
303int arch_validate_hwbkpt_settings(struct perf_event *bp, 294int arch_validate_hwbkpt_settings(struct perf_event *bp)
304 struct task_struct *tsk)
305{ 295{
306 struct arch_hw_breakpoint *info = counter_arch_bp(bp); 296 struct arch_hw_breakpoint *info = counter_arch_bp(bp);
307 unsigned int align; 297 unsigned int align;
@@ -314,16 +304,6 @@ int arch_validate_hwbkpt_settings(struct perf_event *bp,
314 304
315 ret = -EINVAL; 305 ret = -EINVAL;
316 306
317 if (info->type == X86_BREAKPOINT_EXECUTE)
318 /*
319 * Ptrace-refactoring code
320 * For now, we'll allow instruction breakpoint only for user-space
321 * addresses
322 */
323 if ((!arch_check_va_in_userspace(info->address, info->len)) &&
324 info->len != X86_BREAKPOINT_EXECUTE)
325 return ret;
326
327 switch (info->len) { 307 switch (info->len) {
328 case X86_BREAKPOINT_LEN_1: 308 case X86_BREAKPOINT_LEN_1:
329 align = 0; 309 align = 0;
@@ -350,15 +330,6 @@ int arch_validate_hwbkpt_settings(struct perf_event *bp,
350 if (info->address & align) 330 if (info->address & align)
351 return -EINVAL; 331 return -EINVAL;
352 332
353 /* Check that the virtual address is in the proper range */
354 if (tsk) {
355 if (!arch_check_va_in_userspace(info->address, info->len))
356 return -EFAULT;
357 } else {
358 if (!arch_check_va_in_kernelspace(info->address, info->len))
359 return -EFAULT;
360 }
361
362 return 0; 333 return 0;
363} 334}
364 335
diff --git a/arch/x86/kernel/i8253.c b/arch/x86/kernel/i8253.c
index 23c167925a5..2dfd3159744 100644
--- a/arch/x86/kernel/i8253.c
+++ b/arch/x86/kernel/i8253.c
@@ -16,7 +16,7 @@
16#include <asm/hpet.h> 16#include <asm/hpet.h>
17#include <asm/smp.h> 17#include <asm/smp.h>
18 18
19DEFINE_SPINLOCK(i8253_lock); 19DEFINE_RAW_SPINLOCK(i8253_lock);
20EXPORT_SYMBOL(i8253_lock); 20EXPORT_SYMBOL(i8253_lock);
21 21
22/* 22/*
@@ -33,7 +33,7 @@ struct clock_event_device *global_clock_event;
33static void init_pit_timer(enum clock_event_mode mode, 33static void init_pit_timer(enum clock_event_mode mode,
34 struct clock_event_device *evt) 34 struct clock_event_device *evt)
35{ 35{
36 spin_lock(&i8253_lock); 36 raw_spin_lock(&i8253_lock);
37 37
38 switch (mode) { 38 switch (mode) {
39 case CLOCK_EVT_MODE_PERIODIC: 39 case CLOCK_EVT_MODE_PERIODIC:
@@ -62,7 +62,7 @@ static void init_pit_timer(enum clock_event_mode mode,
62 /* Nothing to do here */ 62 /* Nothing to do here */
63 break; 63 break;
64 } 64 }
65 spin_unlock(&i8253_lock); 65 raw_spin_unlock(&i8253_lock);
66} 66}
67 67
68/* 68/*
@@ -72,10 +72,10 @@ static void init_pit_timer(enum clock_event_mode mode,
72 */ 72 */
73static int pit_next_event(unsigned long delta, struct clock_event_device *evt) 73static int pit_next_event(unsigned long delta, struct clock_event_device *evt)
74{ 74{
75 spin_lock(&i8253_lock); 75 raw_spin_lock(&i8253_lock);
76 outb_pit(delta & 0xff , PIT_CH0); /* LSB */ 76 outb_pit(delta & 0xff , PIT_CH0); /* LSB */
77 outb_pit(delta >> 8 , PIT_CH0); /* MSB */ 77 outb_pit(delta >> 8 , PIT_CH0); /* MSB */
78 spin_unlock(&i8253_lock); 78 raw_spin_unlock(&i8253_lock);
79 79
80 return 0; 80 return 0;
81} 81}
@@ -130,7 +130,7 @@ static cycle_t pit_read(struct clocksource *cs)
130 int count; 130 int count;
131 u32 jifs; 131 u32 jifs;
132 132
133 spin_lock_irqsave(&i8253_lock, flags); 133 raw_spin_lock_irqsave(&i8253_lock, flags);
134 /* 134 /*
135 * Although our caller may have the read side of xtime_lock, 135 * Although our caller may have the read side of xtime_lock,
136 * this is now a seqlock, and we are cheating in this routine 136 * this is now a seqlock, and we are cheating in this routine
@@ -176,7 +176,7 @@ static cycle_t pit_read(struct clocksource *cs)
176 old_count = count; 176 old_count = count;
177 old_jifs = jifs; 177 old_jifs = jifs;
178 178
179 spin_unlock_irqrestore(&i8253_lock, flags); 179 raw_spin_unlock_irqrestore(&i8253_lock, flags);
180 180
181 count = (LATCH - 1) - count; 181 count = (LATCH - 1) - count;
182 182
diff --git a/arch/x86/kernel/kprobes.c b/arch/x86/kernel/kprobes.c
index b43bbaebe2c..345a4b1fe14 100644
--- a/arch/x86/kernel/kprobes.c
+++ b/arch/x86/kernel/kprobes.c
@@ -422,14 +422,22 @@ static void __kprobes set_current_kprobe(struct kprobe *p, struct pt_regs *regs,
422 422
423static void __kprobes clear_btf(void) 423static void __kprobes clear_btf(void)
424{ 424{
425 if (test_thread_flag(TIF_DEBUGCTLMSR)) 425 if (test_thread_flag(TIF_BLOCKSTEP)) {
426 update_debugctlmsr(0); 426 unsigned long debugctl = get_debugctlmsr();
427
428 debugctl &= ~DEBUGCTLMSR_BTF;
429 update_debugctlmsr(debugctl);
430 }
427} 431}
428 432
429static void __kprobes restore_btf(void) 433static void __kprobes restore_btf(void)
430{ 434{
431 if (test_thread_flag(TIF_DEBUGCTLMSR)) 435 if (test_thread_flag(TIF_BLOCKSTEP)) {
432 update_debugctlmsr(current->thread.debugctlmsr); 436 unsigned long debugctl = get_debugctlmsr();
437
438 debugctl |= DEBUGCTLMSR_BTF;
439 update_debugctlmsr(debugctl);
440 }
433} 441}
434 442
435void __kprobes arch_prepare_kretprobe(struct kretprobe_instance *ri, 443void __kprobes arch_prepare_kretprobe(struct kretprobe_instance *ri,
@@ -534,20 +542,6 @@ static int __kprobes kprobe_handler(struct pt_regs *regs)
534 struct kprobe_ctlblk *kcb; 542 struct kprobe_ctlblk *kcb;
535 543
536 addr = (kprobe_opcode_t *)(regs->ip - sizeof(kprobe_opcode_t)); 544 addr = (kprobe_opcode_t *)(regs->ip - sizeof(kprobe_opcode_t));
537 if (*addr != BREAKPOINT_INSTRUCTION) {
538 /*
539 * The breakpoint instruction was removed right
540 * after we hit it. Another cpu has removed
541 * either a probepoint or a debugger breakpoint
542 * at this address. In either case, no further
543 * handling of this interrupt is appropriate.
544 * Back up over the (now missing) int3 and run
545 * the original instruction.
546 */
547 regs->ip = (unsigned long)addr;
548 return 1;
549 }
550
551 /* 545 /*
552 * We don't want to be preempted for the entire 546 * We don't want to be preempted for the entire
553 * duration of kprobe processing. We conditionally 547 * duration of kprobe processing. We conditionally
@@ -579,6 +573,19 @@ static int __kprobes kprobe_handler(struct pt_regs *regs)
579 setup_singlestep(p, regs, kcb, 0); 573 setup_singlestep(p, regs, kcb, 0);
580 return 1; 574 return 1;
581 } 575 }
576 } else if (*addr != BREAKPOINT_INSTRUCTION) {
577 /*
578 * The breakpoint instruction was removed right
579 * after we hit it. Another cpu has removed
580 * either a probepoint or a debugger breakpoint
581 * at this address. In either case, no further
582 * handling of this interrupt is appropriate.
583 * Back up over the (now missing) int3 and run
584 * the original instruction.
585 */
586 regs->ip = (unsigned long)addr;
587 preempt_enable_no_resched();
588 return 1;
582 } else if (kprobe_running()) { 589 } else if (kprobe_running()) {
583 p = __get_cpu_var(current_kprobe); 590 p = __get_cpu_var(current_kprobe);
584 if (p->break_handler && p->break_handler(p, regs)) { 591 if (p->break_handler && p->break_handler(p, regs)) {
diff --git a/arch/x86/kernel/process.c b/arch/x86/kernel/process.c
index 28ad9f4d8b9..cc6877535ef 100644
--- a/arch/x86/kernel/process.c
+++ b/arch/x86/kernel/process.c
@@ -20,7 +20,6 @@
20#include <asm/idle.h> 20#include <asm/idle.h>
21#include <asm/uaccess.h> 21#include <asm/uaccess.h>
22#include <asm/i387.h> 22#include <asm/i387.h>
23#include <asm/ds.h>
24#include <asm/debugreg.h> 23#include <asm/debugreg.h>
25 24
26unsigned long idle_halt; 25unsigned long idle_halt;
@@ -50,8 +49,6 @@ void free_thread_xstate(struct task_struct *tsk)
50 kmem_cache_free(task_xstate_cachep, tsk->thread.xstate); 49 kmem_cache_free(task_xstate_cachep, tsk->thread.xstate);
51 tsk->thread.xstate = NULL; 50 tsk->thread.xstate = NULL;
52 } 51 }
53
54 WARN(tsk->thread.ds_ctx, "leaking DS context\n");
55} 52}
56 53
57void free_thread_info(struct thread_info *ti) 54void free_thread_info(struct thread_info *ti)
@@ -198,11 +195,16 @@ void __switch_to_xtra(struct task_struct *prev_p, struct task_struct *next_p,
198 prev = &prev_p->thread; 195 prev = &prev_p->thread;
199 next = &next_p->thread; 196 next = &next_p->thread;
200 197
201 if (test_tsk_thread_flag(next_p, TIF_DS_AREA_MSR) || 198 if (test_tsk_thread_flag(prev_p, TIF_BLOCKSTEP) ^
202 test_tsk_thread_flag(prev_p, TIF_DS_AREA_MSR)) 199 test_tsk_thread_flag(next_p, TIF_BLOCKSTEP)) {
203 ds_switch_to(prev_p, next_p); 200 unsigned long debugctl = get_debugctlmsr();
204 else if (next->debugctlmsr != prev->debugctlmsr) 201
205 update_debugctlmsr(next->debugctlmsr); 202 debugctl &= ~DEBUGCTLMSR_BTF;
203 if (test_tsk_thread_flag(next_p, TIF_BLOCKSTEP))
204 debugctl |= DEBUGCTLMSR_BTF;
205
206 update_debugctlmsr(debugctl);
207 }
206 208
207 if (test_tsk_thread_flag(prev_p, TIF_NOTSC) ^ 209 if (test_tsk_thread_flag(prev_p, TIF_NOTSC) ^
208 test_tsk_thread_flag(next_p, TIF_NOTSC)) { 210 test_tsk_thread_flag(next_p, TIF_NOTSC)) {
@@ -546,11 +548,13 @@ static int __cpuinit check_c1e_idle(const struct cpuinfo_x86 *c)
546 * check OSVW bit for CPUs that are not affected 548 * check OSVW bit for CPUs that are not affected
547 * by erratum #400 549 * by erratum #400
548 */ 550 */
549 rdmsrl(MSR_AMD64_OSVW_ID_LENGTH, val); 551 if (cpu_has(c, X86_FEATURE_OSVW)) {
550 if (val >= 2) { 552 rdmsrl(MSR_AMD64_OSVW_ID_LENGTH, val);
551 rdmsrl(MSR_AMD64_OSVW_STATUS, val); 553 if (val >= 2) {
552 if (!(val & BIT(1))) 554 rdmsrl(MSR_AMD64_OSVW_STATUS, val);
553 goto no_c1e_idle; 555 if (!(val & BIT(1)))
556 goto no_c1e_idle;
557 }
554 } 558 }
555 return 1; 559 return 1;
556 } 560 }
diff --git a/arch/x86/kernel/process_32.c b/arch/x86/kernel/process_32.c
index f6c62667e30..75090c589b7 100644
--- a/arch/x86/kernel/process_32.c
+++ b/arch/x86/kernel/process_32.c
@@ -55,7 +55,6 @@
55#include <asm/cpu.h> 55#include <asm/cpu.h>
56#include <asm/idle.h> 56#include <asm/idle.h>
57#include <asm/syscalls.h> 57#include <asm/syscalls.h>
58#include <asm/ds.h>
59#include <asm/debugreg.h> 58#include <asm/debugreg.h>
60 59
61asmlinkage void ret_from_fork(void) __asm__("ret_from_fork"); 60asmlinkage void ret_from_fork(void) __asm__("ret_from_fork");
@@ -238,13 +237,6 @@ int copy_thread(unsigned long clone_flags, unsigned long sp,
238 kfree(p->thread.io_bitmap_ptr); 237 kfree(p->thread.io_bitmap_ptr);
239 p->thread.io_bitmap_max = 0; 238 p->thread.io_bitmap_max = 0;
240 } 239 }
241
242 clear_tsk_thread_flag(p, TIF_DS_AREA_MSR);
243 p->thread.ds_ctx = NULL;
244
245 clear_tsk_thread_flag(p, TIF_DEBUGCTLMSR);
246 p->thread.debugctlmsr = 0;
247
248 return err; 240 return err;
249} 241}
250 242
diff --git a/arch/x86/kernel/process_64.c b/arch/x86/kernel/process_64.c
index dc9690b4c4c..50cc84ac0a0 100644
--- a/arch/x86/kernel/process_64.c
+++ b/arch/x86/kernel/process_64.c
@@ -49,7 +49,6 @@
49#include <asm/ia32.h> 49#include <asm/ia32.h>
50#include <asm/idle.h> 50#include <asm/idle.h>
51#include <asm/syscalls.h> 51#include <asm/syscalls.h>
52#include <asm/ds.h>
53#include <asm/debugreg.h> 52#include <asm/debugreg.h>
54 53
55asmlinkage extern void ret_from_fork(void); 54asmlinkage extern void ret_from_fork(void);
@@ -276,12 +275,12 @@ int copy_thread(unsigned long clone_flags, unsigned long sp,
276 275
277 set_tsk_thread_flag(p, TIF_FORK); 276 set_tsk_thread_flag(p, TIF_FORK);
278 277
279 p->thread.fs = me->thread.fs;
280 p->thread.gs = me->thread.gs;
281 p->thread.io_bitmap_ptr = NULL; 278 p->thread.io_bitmap_ptr = NULL;
282 279
283 savesegment(gs, p->thread.gsindex); 280 savesegment(gs, p->thread.gsindex);
281 p->thread.gs = p->thread.gsindex ? 0 : me->thread.gs;
284 savesegment(fs, p->thread.fsindex); 282 savesegment(fs, p->thread.fsindex);
283 p->thread.fs = p->thread.fsindex ? 0 : me->thread.fs;
285 savesegment(es, p->thread.es); 284 savesegment(es, p->thread.es);
286 savesegment(ds, p->thread.ds); 285 savesegment(ds, p->thread.ds);
287 286
@@ -313,13 +312,6 @@ int copy_thread(unsigned long clone_flags, unsigned long sp,
313 if (err) 312 if (err)
314 goto out; 313 goto out;
315 } 314 }
316
317 clear_tsk_thread_flag(p, TIF_DS_AREA_MSR);
318 p->thread.ds_ctx = NULL;
319
320 clear_tsk_thread_flag(p, TIF_DEBUGCTLMSR);
321 p->thread.debugctlmsr = 0;
322
323 err = 0; 315 err = 0;
324out: 316out:
325 if (err && p->thread.io_bitmap_ptr) { 317 if (err && p->thread.io_bitmap_ptr) {
diff --git a/arch/x86/kernel/ptrace.c b/arch/x86/kernel/ptrace.c
index 2e9b55027b7..70c4872cd8a 100644
--- a/arch/x86/kernel/ptrace.c
+++ b/arch/x86/kernel/ptrace.c
@@ -2,9 +2,6 @@
2/* 2/*
3 * Pentium III FXSR, SSE support 3 * Pentium III FXSR, SSE support
4 * Gareth Hughes <gareth@valinux.com>, May 2000 4 * Gareth Hughes <gareth@valinux.com>, May 2000
5 *
6 * BTS tracing
7 * Markus Metzger <markus.t.metzger@intel.com>, Dec 2007
8 */ 5 */
9 6
10#include <linux/kernel.h> 7#include <linux/kernel.h>
@@ -22,7 +19,6 @@
22#include <linux/audit.h> 19#include <linux/audit.h>
23#include <linux/seccomp.h> 20#include <linux/seccomp.h>
24#include <linux/signal.h> 21#include <linux/signal.h>
25#include <linux/workqueue.h>
26#include <linux/perf_event.h> 22#include <linux/perf_event.h>
27#include <linux/hw_breakpoint.h> 23#include <linux/hw_breakpoint.h>
28 24
@@ -36,7 +32,6 @@
36#include <asm/desc.h> 32#include <asm/desc.h>
37#include <asm/prctl.h> 33#include <asm/prctl.h>
38#include <asm/proto.h> 34#include <asm/proto.h>
39#include <asm/ds.h>
40#include <asm/hw_breakpoint.h> 35#include <asm/hw_breakpoint.h>
41 36
42#include "tls.h" 37#include "tls.h"
@@ -693,7 +688,7 @@ static int ptrace_set_breakpoint_addr(struct task_struct *tsk, int nr,
693 struct perf_event_attr attr; 688 struct perf_event_attr attr;
694 689
695 if (!t->ptrace_bps[nr]) { 690 if (!t->ptrace_bps[nr]) {
696 hw_breakpoint_init(&attr); 691 ptrace_breakpoint_init(&attr);
697 /* 692 /*
698 * Put stub len and type to register (reserve) an inactive but 693 * Put stub len and type to register (reserve) an inactive but
699 * correct bp 694 * correct bp
@@ -789,342 +784,6 @@ static int ioperm_get(struct task_struct *target,
789 0, IO_BITMAP_BYTES); 784 0, IO_BITMAP_BYTES);
790} 785}
791 786
792#ifdef CONFIG_X86_PTRACE_BTS
793/*
794 * A branch trace store context.
795 *
796 * Contexts may only be installed by ptrace_bts_config() and only for
797 * ptraced tasks.
798 *
799 * Contexts are destroyed when the tracee is detached from the tracer.
800 * The actual destruction work requires interrupts enabled, so the
801 * work is deferred and will be scheduled during __ptrace_unlink().
802 *
803 * Contexts hold an additional task_struct reference on the traced
804 * task, as well as a reference on the tracer's mm.
805 *
806 * Ptrace already holds a task_struct for the duration of ptrace operations,
807 * but since destruction is deferred, it may be executed after both
808 * tracer and tracee exited.
809 */
810struct bts_context {
811 /* The branch trace handle. */
812 struct bts_tracer *tracer;
813
814 /* The buffer used to store the branch trace and its size. */
815 void *buffer;
816 unsigned int size;
817
818 /* The mm that paid for the above buffer. */
819 struct mm_struct *mm;
820
821 /* The task this context belongs to. */
822 struct task_struct *task;
823
824 /* The signal to send on a bts buffer overflow. */
825 unsigned int bts_ovfl_signal;
826
827 /* The work struct to destroy a context. */
828 struct work_struct work;
829};
830
831static int alloc_bts_buffer(struct bts_context *context, unsigned int size)
832{
833 void *buffer = NULL;
834 int err = -ENOMEM;
835
836 err = account_locked_memory(current->mm, current->signal->rlim, size);
837 if (err < 0)
838 return err;
839
840 buffer = kzalloc(size, GFP_KERNEL);
841 if (!buffer)
842 goto out_refund;
843
844 context->buffer = buffer;
845 context->size = size;
846 context->mm = get_task_mm(current);
847
848 return 0;
849
850 out_refund:
851 refund_locked_memory(current->mm, size);
852 return err;
853}
854
855static inline void free_bts_buffer(struct bts_context *context)
856{
857 if (!context->buffer)
858 return;
859
860 kfree(context->buffer);
861 context->buffer = NULL;
862
863 refund_locked_memory(context->mm, context->size);
864 context->size = 0;
865
866 mmput(context->mm);
867 context->mm = NULL;
868}
869
870static void free_bts_context_work(struct work_struct *w)
871{
872 struct bts_context *context;
873
874 context = container_of(w, struct bts_context, work);
875
876 ds_release_bts(context->tracer);
877 put_task_struct(context->task);
878 free_bts_buffer(context);
879 kfree(context);
880}
881
882static inline void free_bts_context(struct bts_context *context)
883{
884 INIT_WORK(&context->work, free_bts_context_work);
885 schedule_work(&context->work);
886}
887
888static inline struct bts_context *alloc_bts_context(struct task_struct *task)
889{
890 struct bts_context *context = kzalloc(sizeof(*context), GFP_KERNEL);
891 if (context) {
892 context->task = task;
893 task->bts = context;
894
895 get_task_struct(task);
896 }
897
898 return context;
899}
900
901static int ptrace_bts_read_record(struct task_struct *child, size_t index,
902 struct bts_struct __user *out)
903{
904 struct bts_context *context;
905 const struct bts_trace *trace;
906 struct bts_struct bts;
907 const unsigned char *at;
908 int error;
909
910 context = child->bts;
911 if (!context)
912 return -ESRCH;
913
914 trace = ds_read_bts(context->tracer);
915 if (!trace)
916 return -ESRCH;
917
918 at = trace->ds.top - ((index + 1) * trace->ds.size);
919 if ((void *)at < trace->ds.begin)
920 at += (trace->ds.n * trace->ds.size);
921
922 if (!trace->read)
923 return -EOPNOTSUPP;
924
925 error = trace->read(context->tracer, at, &bts);
926 if (error < 0)
927 return error;
928
929 if (copy_to_user(out, &bts, sizeof(bts)))
930 return -EFAULT;
931
932 return sizeof(bts);
933}
934
935static int ptrace_bts_drain(struct task_struct *child,
936 long size,
937 struct bts_struct __user *out)
938{
939 struct bts_context *context;
940 const struct bts_trace *trace;
941 const unsigned char *at;
942 int error, drained = 0;
943
944 context = child->bts;
945 if (!context)
946 return -ESRCH;
947
948 trace = ds_read_bts(context->tracer);
949 if (!trace)
950 return -ESRCH;
951
952 if (!trace->read)
953 return -EOPNOTSUPP;
954
955 if (size < (trace->ds.top - trace->ds.begin))
956 return -EIO;
957
958 for (at = trace->ds.begin; (void *)at < trace->ds.top;
959 out++, drained++, at += trace->ds.size) {
960 struct bts_struct bts;
961
962 error = trace->read(context->tracer, at, &bts);
963 if (error < 0)
964 return error;
965
966 if (copy_to_user(out, &bts, sizeof(bts)))
967 return -EFAULT;
968 }
969
970 memset(trace->ds.begin, 0, trace->ds.n * trace->ds.size);
971
972 error = ds_reset_bts(context->tracer);
973 if (error < 0)
974 return error;
975
976 return drained;
977}
978
979static int ptrace_bts_config(struct task_struct *child,
980 long cfg_size,
981 const struct ptrace_bts_config __user *ucfg)
982{
983 struct bts_context *context;
984 struct ptrace_bts_config cfg;
985 unsigned int flags = 0;
986
987 if (cfg_size < sizeof(cfg))
988 return -EIO;
989
990 if (copy_from_user(&cfg, ucfg, sizeof(cfg)))
991 return -EFAULT;
992
993 context = child->bts;
994 if (!context)
995 context = alloc_bts_context(child);
996 if (!context)
997 return -ENOMEM;
998
999 if (cfg.flags & PTRACE_BTS_O_SIGNAL) {
1000 if (!cfg.signal)
1001 return -EINVAL;
1002
1003 return -EOPNOTSUPP;
1004 context->bts_ovfl_signal = cfg.signal;
1005 }
1006
1007 ds_release_bts(context->tracer);
1008 context->tracer = NULL;
1009
1010 if ((cfg.flags & PTRACE_BTS_O_ALLOC) && (cfg.size != context->size)) {
1011 int err;
1012
1013 free_bts_buffer(context);
1014 if (!cfg.size)
1015 return 0;
1016
1017 err = alloc_bts_buffer(context, cfg.size);
1018 if (err < 0)
1019 return err;
1020 }
1021
1022 if (cfg.flags & PTRACE_BTS_O_TRACE)
1023 flags |= BTS_USER;
1024
1025 if (cfg.flags & PTRACE_BTS_O_SCHED)
1026 flags |= BTS_TIMESTAMPS;
1027
1028 context->tracer =
1029 ds_request_bts_task(child, context->buffer, context->size,
1030 NULL, (size_t)-1, flags);
1031 if (unlikely(IS_ERR(context->tracer))) {
1032 int error = PTR_ERR(context->tracer);
1033
1034 free_bts_buffer(context);
1035 context->tracer = NULL;
1036 return error;
1037 }
1038
1039 return sizeof(cfg);
1040}
1041
1042static int ptrace_bts_status(struct task_struct *child,
1043 long cfg_size,
1044 struct ptrace_bts_config __user *ucfg)
1045{
1046 struct bts_context *context;
1047 const struct bts_trace *trace;
1048 struct ptrace_bts_config cfg;
1049
1050 context = child->bts;
1051 if (!context)
1052 return -ESRCH;
1053
1054 if (cfg_size < sizeof(cfg))
1055 return -EIO;
1056
1057 trace = ds_read_bts(context->tracer);
1058 if (!trace)
1059 return -ESRCH;
1060
1061 memset(&cfg, 0, sizeof(cfg));
1062 cfg.size = trace->ds.end - trace->ds.begin;
1063 cfg.signal = context->bts_ovfl_signal;
1064 cfg.bts_size = sizeof(struct bts_struct);
1065
1066 if (cfg.signal)
1067 cfg.flags |= PTRACE_BTS_O_SIGNAL;
1068
1069 if (trace->ds.flags & BTS_USER)
1070 cfg.flags |= PTRACE_BTS_O_TRACE;
1071
1072 if (trace->ds.flags & BTS_TIMESTAMPS)
1073 cfg.flags |= PTRACE_BTS_O_SCHED;
1074
1075 if (copy_to_user(ucfg, &cfg, sizeof(cfg)))
1076 return -EFAULT;
1077
1078 return sizeof(cfg);
1079}
1080
1081static int ptrace_bts_clear(struct task_struct *child)
1082{
1083 struct bts_context *context;
1084 const struct bts_trace *trace;
1085
1086 context = child->bts;
1087 if (!context)
1088 return -ESRCH;
1089
1090 trace = ds_read_bts(context->tracer);
1091 if (!trace)
1092 return -ESRCH;
1093
1094 memset(trace->ds.begin, 0, trace->ds.n * trace->ds.size);
1095
1096 return ds_reset_bts(context->tracer);
1097}
1098
1099static int ptrace_bts_size(struct task_struct *child)
1100{
1101 struct bts_context *context;
1102 const struct bts_trace *trace;
1103
1104 context = child->bts;
1105 if (!context)
1106 return -ESRCH;
1107
1108 trace = ds_read_bts(context->tracer);
1109 if (!trace)
1110 return -ESRCH;
1111
1112 return (trace->ds.top - trace->ds.begin) / trace->ds.size;
1113}
1114
1115/*
1116 * Called from __ptrace_unlink() after the child has been moved back
1117 * to its original parent.
1118 */
1119void ptrace_bts_untrace(struct task_struct *child)
1120{
1121 if (unlikely(child->bts)) {
1122 free_bts_context(child->bts);
1123 child->bts = NULL;
1124 }
1125}
1126#endif /* CONFIG_X86_PTRACE_BTS */
1127
1128/* 787/*
1129 * Called by kernel/ptrace.c when detaching.. 788 * Called by kernel/ptrace.c when detaching..
1130 * 789 *
@@ -1252,39 +911,6 @@ long arch_ptrace(struct task_struct *child, long request, long addr, long data)
1252 break; 911 break;
1253#endif 912#endif
1254 913
1255 /*
1256 * These bits need more cooking - not enabled yet:
1257 */
1258#ifdef CONFIG_X86_PTRACE_BTS
1259 case PTRACE_BTS_CONFIG:
1260 ret = ptrace_bts_config
1261 (child, data, (struct ptrace_bts_config __user *)addr);
1262 break;
1263
1264 case PTRACE_BTS_STATUS:
1265 ret = ptrace_bts_status
1266 (child, data, (struct ptrace_bts_config __user *)addr);
1267 break;
1268
1269 case PTRACE_BTS_SIZE:
1270 ret = ptrace_bts_size(child);
1271 break;
1272
1273 case PTRACE_BTS_GET:
1274 ret = ptrace_bts_read_record
1275 (child, data, (struct bts_struct __user *) addr);
1276 break;
1277
1278 case PTRACE_BTS_CLEAR:
1279 ret = ptrace_bts_clear(child);
1280 break;
1281
1282 case PTRACE_BTS_DRAIN:
1283 ret = ptrace_bts_drain
1284 (child, data, (struct bts_struct __user *) addr);
1285 break;
1286#endif /* CONFIG_X86_PTRACE_BTS */
1287
1288 default: 914 default:
1289 ret = ptrace_request(child, request, addr, data); 915 ret = ptrace_request(child, request, addr, data);
1290 break; 916 break;
@@ -1544,14 +1170,6 @@ long compat_arch_ptrace(struct task_struct *child, compat_long_t request,
1544 1170
1545 case PTRACE_GET_THREAD_AREA: 1171 case PTRACE_GET_THREAD_AREA:
1546 case PTRACE_SET_THREAD_AREA: 1172 case PTRACE_SET_THREAD_AREA:
1547#ifdef CONFIG_X86_PTRACE_BTS
1548 case PTRACE_BTS_CONFIG:
1549 case PTRACE_BTS_STATUS:
1550 case PTRACE_BTS_SIZE:
1551 case PTRACE_BTS_GET:
1552 case PTRACE_BTS_CLEAR:
1553 case PTRACE_BTS_DRAIN:
1554#endif /* CONFIG_X86_PTRACE_BTS */
1555 return arch_ptrace(child, request, addr, data); 1173 return arch_ptrace(child, request, addr, data);
1556 1174
1557 default: 1175 default:
diff --git a/arch/x86/kernel/step.c b/arch/x86/kernel/step.c
index 3149032ff10..58de45ee08b 100644
--- a/arch/x86/kernel/step.c
+++ b/arch/x86/kernel/step.c
@@ -158,22 +158,6 @@ static int enable_single_step(struct task_struct *child)
158} 158}
159 159
160/* 160/*
161 * Install this value in MSR_IA32_DEBUGCTLMSR whenever child is running.
162 */
163static void write_debugctlmsr(struct task_struct *child, unsigned long val)
164{
165 if (child->thread.debugctlmsr == val)
166 return;
167
168 child->thread.debugctlmsr = val;
169
170 if (child != current)
171 return;
172
173 update_debugctlmsr(val);
174}
175
176/*
177 * Enable single or block step. 161 * Enable single or block step.
178 */ 162 */
179static void enable_step(struct task_struct *child, bool block) 163static void enable_step(struct task_struct *child, bool block)
@@ -186,15 +170,17 @@ static void enable_step(struct task_struct *child, bool block)
186 * that uses user-mode single stepping itself. 170 * that uses user-mode single stepping itself.
187 */ 171 */
188 if (enable_single_step(child) && block) { 172 if (enable_single_step(child) && block) {
189 set_tsk_thread_flag(child, TIF_DEBUGCTLMSR); 173 unsigned long debugctl = get_debugctlmsr();
190 write_debugctlmsr(child, 174
191 child->thread.debugctlmsr | DEBUGCTLMSR_BTF); 175 debugctl |= DEBUGCTLMSR_BTF;
192 } else { 176 update_debugctlmsr(debugctl);
193 write_debugctlmsr(child, 177 set_tsk_thread_flag(child, TIF_BLOCKSTEP);
194 child->thread.debugctlmsr & ~DEBUGCTLMSR_BTF); 178 } else if (test_tsk_thread_flag(child, TIF_BLOCKSTEP)) {
195 179 unsigned long debugctl = get_debugctlmsr();
196 if (!child->thread.debugctlmsr) 180
197 clear_tsk_thread_flag(child, TIF_DEBUGCTLMSR); 181 debugctl &= ~DEBUGCTLMSR_BTF;
182 update_debugctlmsr(debugctl);
183 clear_tsk_thread_flag(child, TIF_BLOCKSTEP);
198 } 184 }
199} 185}
200 186
@@ -213,11 +199,13 @@ void user_disable_single_step(struct task_struct *child)
213 /* 199 /*
214 * Make sure block stepping (BTF) is disabled. 200 * Make sure block stepping (BTF) is disabled.
215 */ 201 */
216 write_debugctlmsr(child, 202 if (test_tsk_thread_flag(child, TIF_BLOCKSTEP)) {
217 child->thread.debugctlmsr & ~DEBUGCTLMSR_BTF); 203 unsigned long debugctl = get_debugctlmsr();
218 204
219 if (!child->thread.debugctlmsr) 205 debugctl &= ~DEBUGCTLMSR_BTF;
220 clear_tsk_thread_flag(child, TIF_DEBUGCTLMSR); 206 update_debugctlmsr(debugctl);
207 clear_tsk_thread_flag(child, TIF_BLOCKSTEP);
208 }
221 209
222 /* Always clear TIF_SINGLESTEP... */ 210 /* Always clear TIF_SINGLESTEP... */
223 clear_tsk_thread_flag(child, TIF_SINGLESTEP); 211 clear_tsk_thread_flag(child, TIF_SINGLESTEP);
diff --git a/arch/x86/kernel/traps.c b/arch/x86/kernel/traps.c
index 1168e445418..36f1bd9f8e7 100644
--- a/arch/x86/kernel/traps.c
+++ b/arch/x86/kernel/traps.c
@@ -543,11 +543,11 @@ dotraplinkage void __kprobes do_debug(struct pt_regs *regs, long error_code)
543 543
544 /* DR6 may or may not be cleared by the CPU */ 544 /* DR6 may or may not be cleared by the CPU */
545 set_debugreg(0, 6); 545 set_debugreg(0, 6);
546
546 /* 547 /*
547 * The processor cleared BTF, so don't mark that we need it set. 548 * The processor cleared BTF, so don't mark that we need it set.
548 */ 549 */
549 clear_tsk_thread_flag(tsk, TIF_DEBUGCTLMSR); 550 clear_tsk_thread_flag(tsk, TIF_BLOCKSTEP);
550 tsk->thread.debugctlmsr = 0;
551 551
552 /* Store the virtualized DR6 value */ 552 /* Store the virtualized DR6 value */
553 tsk->thread.debugreg6 = dr6; 553 tsk->thread.debugreg6 = dr6;
diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c
index 2ba58206812..737361fcd50 100644
--- a/arch/x86/kvm/svm.c
+++ b/arch/x86/kvm/svm.c
@@ -2067,7 +2067,7 @@ static int cpuid_interception(struct vcpu_svm *svm)
2067static int iret_interception(struct vcpu_svm *svm) 2067static int iret_interception(struct vcpu_svm *svm)
2068{ 2068{
2069 ++svm->vcpu.stat.nmi_window_exits; 2069 ++svm->vcpu.stat.nmi_window_exits;
2070 svm->vmcb->control.intercept &= ~(1UL << INTERCEPT_IRET); 2070 svm->vmcb->control.intercept &= ~(1ULL << INTERCEPT_IRET);
2071 svm->vcpu.arch.hflags |= HF_IRET_MASK; 2071 svm->vcpu.arch.hflags |= HF_IRET_MASK;
2072 return 1; 2072 return 1;
2073} 2073}
@@ -2479,7 +2479,7 @@ static void svm_inject_nmi(struct kvm_vcpu *vcpu)
2479 2479
2480 svm->vmcb->control.event_inj = SVM_EVTINJ_VALID | SVM_EVTINJ_TYPE_NMI; 2480 svm->vmcb->control.event_inj = SVM_EVTINJ_VALID | SVM_EVTINJ_TYPE_NMI;
2481 vcpu->arch.hflags |= HF_NMI_MASK; 2481 vcpu->arch.hflags |= HF_NMI_MASK;
2482 svm->vmcb->control.intercept |= (1UL << INTERCEPT_IRET); 2482 svm->vmcb->control.intercept |= (1ULL << INTERCEPT_IRET);
2483 ++vcpu->stat.nmi_injections; 2483 ++vcpu->stat.nmi_injections;
2484} 2484}
2485 2485
@@ -2539,10 +2539,10 @@ static void svm_set_nmi_mask(struct kvm_vcpu *vcpu, bool masked)
2539 2539
2540 if (masked) { 2540 if (masked) {
2541 svm->vcpu.arch.hflags |= HF_NMI_MASK; 2541 svm->vcpu.arch.hflags |= HF_NMI_MASK;
2542 svm->vmcb->control.intercept |= (1UL << INTERCEPT_IRET); 2542 svm->vmcb->control.intercept |= (1ULL << INTERCEPT_IRET);
2543 } else { 2543 } else {
2544 svm->vcpu.arch.hflags &= ~HF_NMI_MASK; 2544 svm->vcpu.arch.hflags &= ~HF_NMI_MASK;
2545 svm->vmcb->control.intercept &= ~(1UL << INTERCEPT_IRET); 2545 svm->vmcb->control.intercept &= ~(1ULL << INTERCEPT_IRET);
2546 } 2546 }
2547} 2547}
2548 2548
diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c
index bc933cfb4e6..edca080407a 100644
--- a/arch/x86/kvm/vmx.c
+++ b/arch/x86/kvm/vmx.c
@@ -2703,8 +2703,7 @@ static int vmx_nmi_allowed(struct kvm_vcpu *vcpu)
2703 return 0; 2703 return 0;
2704 2704
2705 return !(vmcs_read32(GUEST_INTERRUPTIBILITY_INFO) & 2705 return !(vmcs_read32(GUEST_INTERRUPTIBILITY_INFO) &
2706 (GUEST_INTR_STATE_STI | GUEST_INTR_STATE_MOV_SS | 2706 (GUEST_INTR_STATE_MOV_SS | GUEST_INTR_STATE_NMI));
2707 GUEST_INTR_STATE_NMI));
2708} 2707}
2709 2708
2710static bool vmx_get_nmi_mask(struct kvm_vcpu *vcpu) 2709static bool vmx_get_nmi_mask(struct kvm_vcpu *vcpu)
@@ -3660,8 +3659,11 @@ static void vmx_complete_interrupts(struct vcpu_vmx *vmx)
3660 3659
3661 /* We need to handle NMIs before interrupts are enabled */ 3660 /* We need to handle NMIs before interrupts are enabled */
3662 if ((exit_intr_info & INTR_INFO_INTR_TYPE_MASK) == INTR_TYPE_NMI_INTR && 3661 if ((exit_intr_info & INTR_INFO_INTR_TYPE_MASK) == INTR_TYPE_NMI_INTR &&
3663 (exit_intr_info & INTR_INFO_VALID_MASK)) 3662 (exit_intr_info & INTR_INFO_VALID_MASK)) {
3663 kvm_before_handle_nmi(&vmx->vcpu);
3664 asm("int $2"); 3664 asm("int $2");
3665 kvm_after_handle_nmi(&vmx->vcpu);
3666 }
3665 3667
3666 idtv_info_valid = idt_vectoring_info & VECTORING_INFO_VALID_MASK; 3668 idtv_info_valid = idt_vectoring_info & VECTORING_INFO_VALID_MASK;
3667 3669
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index 3c4ca98ad27..dd9bc8fb81a 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -40,6 +40,7 @@
40#include <linux/user-return-notifier.h> 40#include <linux/user-return-notifier.h>
41#include <linux/srcu.h> 41#include <linux/srcu.h>
42#include <linux/slab.h> 42#include <linux/slab.h>
43#include <linux/perf_event.h>
43#include <trace/events/kvm.h> 44#include <trace/events/kvm.h>
44#undef TRACE_INCLUDE_FILE 45#undef TRACE_INCLUDE_FILE
45#define CREATE_TRACE_POINTS 46#define CREATE_TRACE_POINTS
@@ -1712,6 +1713,7 @@ static int kvm_vcpu_ioctl_set_cpuid(struct kvm_vcpu *vcpu,
1712 if (copy_from_user(cpuid_entries, entries, 1713 if (copy_from_user(cpuid_entries, entries,
1713 cpuid->nent * sizeof(struct kvm_cpuid_entry))) 1714 cpuid->nent * sizeof(struct kvm_cpuid_entry)))
1714 goto out_free; 1715 goto out_free;
1716 vcpu_load(vcpu);
1715 for (i = 0; i < cpuid->nent; i++) { 1717 for (i = 0; i < cpuid->nent; i++) {
1716 vcpu->arch.cpuid_entries[i].function = cpuid_entries[i].function; 1718 vcpu->arch.cpuid_entries[i].function = cpuid_entries[i].function;
1717 vcpu->arch.cpuid_entries[i].eax = cpuid_entries[i].eax; 1719 vcpu->arch.cpuid_entries[i].eax = cpuid_entries[i].eax;
@@ -1729,6 +1731,7 @@ static int kvm_vcpu_ioctl_set_cpuid(struct kvm_vcpu *vcpu,
1729 r = 0; 1731 r = 0;
1730 kvm_apic_set_version(vcpu); 1732 kvm_apic_set_version(vcpu);
1731 kvm_x86_ops->cpuid_update(vcpu); 1733 kvm_x86_ops->cpuid_update(vcpu);
1734 vcpu_put(vcpu);
1732 1735
1733out_free: 1736out_free:
1734 vfree(cpuid_entries); 1737 vfree(cpuid_entries);
@@ -1749,9 +1752,11 @@ static int kvm_vcpu_ioctl_set_cpuid2(struct kvm_vcpu *vcpu,
1749 if (copy_from_user(&vcpu->arch.cpuid_entries, entries, 1752 if (copy_from_user(&vcpu->arch.cpuid_entries, entries,
1750 cpuid->nent * sizeof(struct kvm_cpuid_entry2))) 1753 cpuid->nent * sizeof(struct kvm_cpuid_entry2)))
1751 goto out; 1754 goto out;
1755 vcpu_load(vcpu);
1752 vcpu->arch.cpuid_nent = cpuid->nent; 1756 vcpu->arch.cpuid_nent = cpuid->nent;
1753 kvm_apic_set_version(vcpu); 1757 kvm_apic_set_version(vcpu);
1754 kvm_x86_ops->cpuid_update(vcpu); 1758 kvm_x86_ops->cpuid_update(vcpu);
1759 vcpu_put(vcpu);
1755 return 0; 1760 return 0;
1756 1761
1757out: 1762out:
@@ -3743,6 +3748,51 @@ static void kvm_timer_init(void)
3743 } 3748 }
3744} 3749}
3745 3750
3751static DEFINE_PER_CPU(struct kvm_vcpu *, current_vcpu);
3752
3753static int kvm_is_in_guest(void)
3754{
3755 return percpu_read(current_vcpu) != NULL;
3756}
3757
3758static int kvm_is_user_mode(void)
3759{
3760 int user_mode = 3;
3761
3762 if (percpu_read(current_vcpu))
3763 user_mode = kvm_x86_ops->get_cpl(percpu_read(current_vcpu));
3764
3765 return user_mode != 0;
3766}
3767
3768static unsigned long kvm_get_guest_ip(void)
3769{
3770 unsigned long ip = 0;
3771
3772 if (percpu_read(current_vcpu))
3773 ip = kvm_rip_read(percpu_read(current_vcpu));
3774
3775 return ip;
3776}
3777
3778static struct perf_guest_info_callbacks kvm_guest_cbs = {
3779 .is_in_guest = kvm_is_in_guest,
3780 .is_user_mode = kvm_is_user_mode,
3781 .get_guest_ip = kvm_get_guest_ip,
3782};
3783
3784void kvm_before_handle_nmi(struct kvm_vcpu *vcpu)
3785{
3786 percpu_write(current_vcpu, vcpu);
3787}
3788EXPORT_SYMBOL_GPL(kvm_before_handle_nmi);
3789
3790void kvm_after_handle_nmi(struct kvm_vcpu *vcpu)
3791{
3792 percpu_write(current_vcpu, NULL);
3793}
3794EXPORT_SYMBOL_GPL(kvm_after_handle_nmi);
3795
3746int kvm_arch_init(void *opaque) 3796int kvm_arch_init(void *opaque)
3747{ 3797{
3748 int r; 3798 int r;
@@ -3779,6 +3829,8 @@ int kvm_arch_init(void *opaque)
3779 3829
3780 kvm_timer_init(); 3830 kvm_timer_init();
3781 3831
3832 perf_register_guest_info_callbacks(&kvm_guest_cbs);
3833
3782 return 0; 3834 return 0;
3783 3835
3784out: 3836out:
@@ -3787,6 +3839,8 @@ out:
3787 3839
3788void kvm_arch_exit(void) 3840void kvm_arch_exit(void)
3789{ 3841{
3842 perf_unregister_guest_info_callbacks(&kvm_guest_cbs);
3843
3790 if (!boot_cpu_has(X86_FEATURE_CONSTANT_TSC)) 3844 if (!boot_cpu_has(X86_FEATURE_CONSTANT_TSC))
3791 cpufreq_unregister_notifier(&kvmclock_cpufreq_notifier_block, 3845 cpufreq_unregister_notifier(&kvmclock_cpufreq_notifier_block,
3792 CPUFREQ_TRANSITION_NOTIFIER); 3846 CPUFREQ_TRANSITION_NOTIFIER);
diff --git a/arch/x86/kvm/x86.h b/arch/x86/kvm/x86.h
index 2d101639bd8..b7a404722d2 100644
--- a/arch/x86/kvm/x86.h
+++ b/arch/x86/kvm/x86.h
@@ -65,4 +65,7 @@ static inline int is_paging(struct kvm_vcpu *vcpu)
65 return kvm_read_cr0_bits(vcpu, X86_CR0_PG); 65 return kvm_read_cr0_bits(vcpu, X86_CR0_PG);
66} 66}
67 67
68void kvm_before_handle_nmi(struct kvm_vcpu *vcpu);
69void kvm_after_handle_nmi(struct kvm_vcpu *vcpu);
70
68#endif 71#endif
diff --git a/arch/x86/lib/Makefile b/arch/x86/lib/Makefile
index 3ac4a8ade62..f871e04b696 100644
--- a/arch/x86/lib/Makefile
+++ b/arch/x86/lib/Makefile
@@ -20,7 +20,7 @@ lib-y := delay.o
20lib-y += thunk_$(BITS).o 20lib-y += thunk_$(BITS).o
21lib-y += usercopy_$(BITS).o getuser.o putuser.o 21lib-y += usercopy_$(BITS).o getuser.o putuser.o
22lib-y += memcpy_$(BITS).o 22lib-y += memcpy_$(BITS).o
23lib-$(CONFIG_KPROBES) += insn.o inat.o 23lib-$(CONFIG_INSTRUCTION_DECODER) += insn.o inat.o
24 24
25obj-y += msr.o msr-reg.o msr-reg-export.o 25obj-y += msr.o msr-reg.o msr-reg-export.o
26 26
diff --git a/arch/x86/lib/rwsem_64.S b/arch/x86/lib/rwsem_64.S
index 15acecf0d7a..41fcf00e49d 100644
--- a/arch/x86/lib/rwsem_64.S
+++ b/arch/x86/lib/rwsem_64.S
@@ -60,7 +60,7 @@ ENTRY(call_rwsem_down_write_failed)
60 ENDPROC(call_rwsem_down_write_failed) 60 ENDPROC(call_rwsem_down_write_failed)
61 61
62ENTRY(call_rwsem_wake) 62ENTRY(call_rwsem_wake)
63 decw %dx /* do nothing if still outstanding active readers */ 63 decl %edx /* do nothing if still outstanding active readers */
64 jnz 1f 64 jnz 1f
65 save_common_regs 65 save_common_regs
66 movq %rax,%rdi 66 movq %rax,%rdi
diff --git a/arch/x86/mm/ioremap.c b/arch/x86/mm/ioremap.c
index 5eb1ba74a3a..12e4d2d3c11 100644
--- a/arch/x86/mm/ioremap.c
+++ b/arch/x86/mm/ioremap.c
@@ -448,6 +448,20 @@ static inline void __init early_clear_fixmap(enum fixed_addresses idx)
448static void __iomem *prev_map[FIX_BTMAPS_SLOTS] __initdata; 448static void __iomem *prev_map[FIX_BTMAPS_SLOTS] __initdata;
449static unsigned long prev_size[FIX_BTMAPS_SLOTS] __initdata; 449static unsigned long prev_size[FIX_BTMAPS_SLOTS] __initdata;
450 450
451void __init fixup_early_ioremap(void)
452{
453 int i;
454
455 for (i = 0; i < FIX_BTMAPS_SLOTS; i++) {
456 if (prev_map[i]) {
457 WARN_ON(1);
458 break;
459 }
460 }
461
462 early_ioremap_init();
463}
464
451static int __init check_early_ioremap_leak(void) 465static int __init check_early_ioremap_leak(void)
452{ 466{
453 int count = 0; 467 int count = 0;
diff --git a/arch/x86/mm/pgtable_32.c b/arch/x86/mm/pgtable_32.c
index 1a8faf09afe..792854003ed 100644
--- a/arch/x86/mm/pgtable_32.c
+++ b/arch/x86/mm/pgtable_32.c
@@ -18,6 +18,7 @@
18#include <asm/e820.h> 18#include <asm/e820.h>
19#include <asm/tlb.h> 19#include <asm/tlb.h>
20#include <asm/tlbflush.h> 20#include <asm/tlbflush.h>
21#include <asm/io.h>
21 22
22unsigned int __VMALLOC_RESERVE = 128 << 20; 23unsigned int __VMALLOC_RESERVE = 128 << 20;
23 24
@@ -128,6 +129,7 @@ static int __init parse_reservetop(char *arg)
128 129
129 address = memparse(arg, &arg); 130 address = memparse(arg, &arg);
130 reserve_top_address(address); 131 reserve_top_address(address);
132 fixup_early_ioremap();
131 return 0; 133 return 0;
132} 134}
133early_param("reservetop", parse_reservetop); 135early_param("reservetop", parse_reservetop);
diff --git a/arch/x86/mm/srat_64.c b/arch/x86/mm/srat_64.c
index 28c68762648..38512d0c474 100644
--- a/arch/x86/mm/srat_64.c
+++ b/arch/x86/mm/srat_64.c
@@ -461,7 +461,8 @@ void __init acpi_fake_nodes(const struct bootnode *fake_nodes, int num_nodes)
461 * node, it must now point to the fake node ID. 461 * node, it must now point to the fake node ID.
462 */ 462 */
463 for (j = 0; j < MAX_LOCAL_APIC; j++) 463 for (j = 0; j < MAX_LOCAL_APIC; j++)
464 if (apicid_to_node[j] == nid) 464 if (apicid_to_node[j] == nid &&
465 fake_apicid_to_node[j] == NUMA_NO_NODE)
465 fake_apicid_to_node[j] = i; 466 fake_apicid_to_node[j] = i;
466 } 467 }
467 for (i = 0; i < num_nodes; i++) 468 for (i = 0; i < num_nodes; i++)
diff --git a/arch/x86/oprofile/nmi_int.c b/arch/x86/oprofile/nmi_int.c
index 2c505ee7101..b28d2f1253b 100644
--- a/arch/x86/oprofile/nmi_int.c
+++ b/arch/x86/oprofile/nmi_int.c
@@ -31,8 +31,9 @@ static struct op_x86_model_spec *model;
31static DEFINE_PER_CPU(struct op_msrs, cpu_msrs); 31static DEFINE_PER_CPU(struct op_msrs, cpu_msrs);
32static DEFINE_PER_CPU(unsigned long, saved_lvtpc); 32static DEFINE_PER_CPU(unsigned long, saved_lvtpc);
33 33
34/* 0 == registered but off, 1 == registered and on */ 34/* must be protected with get_online_cpus()/put_online_cpus(): */
35static int nmi_enabled = 0; 35static int nmi_enabled;
36static int ctr_running;
36 37
37struct op_counter_config counter_config[OP_MAX_COUNTER]; 38struct op_counter_config counter_config[OP_MAX_COUNTER];
38 39
@@ -61,12 +62,16 @@ static int profile_exceptions_notify(struct notifier_block *self,
61{ 62{
62 struct die_args *args = (struct die_args *)data; 63 struct die_args *args = (struct die_args *)data;
63 int ret = NOTIFY_DONE; 64 int ret = NOTIFY_DONE;
64 int cpu = smp_processor_id();
65 65
66 switch (val) { 66 switch (val) {
67 case DIE_NMI: 67 case DIE_NMI:
68 case DIE_NMI_IPI: 68 case DIE_NMI_IPI:
69 model->check_ctrs(args->regs, &per_cpu(cpu_msrs, cpu)); 69 if (ctr_running)
70 model->check_ctrs(args->regs, &__get_cpu_var(cpu_msrs));
71 else if (!nmi_enabled)
72 break;
73 else
74 model->stop(&__get_cpu_var(cpu_msrs));
70 ret = NOTIFY_STOP; 75 ret = NOTIFY_STOP;
71 break; 76 break;
72 default: 77 default:
@@ -95,24 +100,36 @@ static void nmi_cpu_save_registers(struct op_msrs *msrs)
95static void nmi_cpu_start(void *dummy) 100static void nmi_cpu_start(void *dummy)
96{ 101{
97 struct op_msrs const *msrs = &__get_cpu_var(cpu_msrs); 102 struct op_msrs const *msrs = &__get_cpu_var(cpu_msrs);
98 model->start(msrs); 103 if (!msrs->controls)
104 WARN_ON_ONCE(1);
105 else
106 model->start(msrs);
99} 107}
100 108
101static int nmi_start(void) 109static int nmi_start(void)
102{ 110{
111 get_online_cpus();
103 on_each_cpu(nmi_cpu_start, NULL, 1); 112 on_each_cpu(nmi_cpu_start, NULL, 1);
113 ctr_running = 1;
114 put_online_cpus();
104 return 0; 115 return 0;
105} 116}
106 117
107static void nmi_cpu_stop(void *dummy) 118static void nmi_cpu_stop(void *dummy)
108{ 119{
109 struct op_msrs const *msrs = &__get_cpu_var(cpu_msrs); 120 struct op_msrs const *msrs = &__get_cpu_var(cpu_msrs);
110 model->stop(msrs); 121 if (!msrs->controls)
122 WARN_ON_ONCE(1);
123 else
124 model->stop(msrs);
111} 125}
112 126
113static void nmi_stop(void) 127static void nmi_stop(void)
114{ 128{
129 get_online_cpus();
115 on_each_cpu(nmi_cpu_stop, NULL, 1); 130 on_each_cpu(nmi_cpu_stop, NULL, 1);
131 ctr_running = 0;
132 put_online_cpus();
116} 133}
117 134
118#ifdef CONFIG_OPROFILE_EVENT_MULTIPLEX 135#ifdef CONFIG_OPROFILE_EVENT_MULTIPLEX
@@ -252,7 +269,10 @@ static int nmi_switch_event(void)
252 if (nmi_multiplex_on() < 0) 269 if (nmi_multiplex_on() < 0)
253 return -EINVAL; /* not necessary */ 270 return -EINVAL; /* not necessary */
254 271
255 on_each_cpu(nmi_cpu_switch, NULL, 1); 272 get_online_cpus();
273 if (ctr_running)
274 on_each_cpu(nmi_cpu_switch, NULL, 1);
275 put_online_cpus();
256 276
257 return 0; 277 return 0;
258} 278}
@@ -295,6 +315,7 @@ static void free_msrs(void)
295 kfree(per_cpu(cpu_msrs, i).controls); 315 kfree(per_cpu(cpu_msrs, i).controls);
296 per_cpu(cpu_msrs, i).controls = NULL; 316 per_cpu(cpu_msrs, i).controls = NULL;
297 } 317 }
318 nmi_shutdown_mux();
298} 319}
299 320
300static int allocate_msrs(void) 321static int allocate_msrs(void)
@@ -307,14 +328,21 @@ static int allocate_msrs(void)
307 per_cpu(cpu_msrs, i).counters = kzalloc(counters_size, 328 per_cpu(cpu_msrs, i).counters = kzalloc(counters_size,
308 GFP_KERNEL); 329 GFP_KERNEL);
309 if (!per_cpu(cpu_msrs, i).counters) 330 if (!per_cpu(cpu_msrs, i).counters)
310 return 0; 331 goto fail;
311 per_cpu(cpu_msrs, i).controls = kzalloc(controls_size, 332 per_cpu(cpu_msrs, i).controls = kzalloc(controls_size,
312 GFP_KERNEL); 333 GFP_KERNEL);
313 if (!per_cpu(cpu_msrs, i).controls) 334 if (!per_cpu(cpu_msrs, i).controls)
314 return 0; 335 goto fail;
315 } 336 }
316 337
338 if (!nmi_setup_mux())
339 goto fail;
340
317 return 1; 341 return 1;
342
343fail:
344 free_msrs();
345 return 0;
318} 346}
319 347
320static void nmi_cpu_setup(void *dummy) 348static void nmi_cpu_setup(void *dummy)
@@ -336,49 +364,6 @@ static struct notifier_block profile_exceptions_nb = {
336 .priority = 2 364 .priority = 2
337}; 365};
338 366
339static int nmi_setup(void)
340{
341 int err = 0;
342 int cpu;
343
344 if (!allocate_msrs())
345 err = -ENOMEM;
346 else if (!nmi_setup_mux())
347 err = -ENOMEM;
348 else
349 err = register_die_notifier(&profile_exceptions_nb);
350
351 if (err) {
352 free_msrs();
353 nmi_shutdown_mux();
354 return err;
355 }
356
357 /* We need to serialize save and setup for HT because the subset
358 * of msrs are distinct for save and setup operations
359 */
360
361 /* Assume saved/restored counters are the same on all CPUs */
362 model->fill_in_addresses(&per_cpu(cpu_msrs, 0));
363 for_each_possible_cpu(cpu) {
364 if (!cpu)
365 continue;
366
367 memcpy(per_cpu(cpu_msrs, cpu).counters,
368 per_cpu(cpu_msrs, 0).counters,
369 sizeof(struct op_msr) * model->num_counters);
370
371 memcpy(per_cpu(cpu_msrs, cpu).controls,
372 per_cpu(cpu_msrs, 0).controls,
373 sizeof(struct op_msr) * model->num_controls);
374
375 mux_clone(cpu);
376 }
377 on_each_cpu(nmi_cpu_setup, NULL, 1);
378 nmi_enabled = 1;
379 return 0;
380}
381
382static void nmi_cpu_restore_registers(struct op_msrs *msrs) 367static void nmi_cpu_restore_registers(struct op_msrs *msrs)
383{ 368{
384 struct op_msr *counters = msrs->counters; 369 struct op_msr *counters = msrs->counters;
@@ -412,20 +397,24 @@ static void nmi_cpu_shutdown(void *dummy)
412 apic_write(APIC_LVTPC, per_cpu(saved_lvtpc, cpu)); 397 apic_write(APIC_LVTPC, per_cpu(saved_lvtpc, cpu));
413 apic_write(APIC_LVTERR, v); 398 apic_write(APIC_LVTERR, v);
414 nmi_cpu_restore_registers(msrs); 399 nmi_cpu_restore_registers(msrs);
400 if (model->cpu_down)
401 model->cpu_down();
415} 402}
416 403
417static void nmi_shutdown(void) 404static void nmi_cpu_up(void *dummy)
418{ 405{
419 struct op_msrs *msrs; 406 if (nmi_enabled)
407 nmi_cpu_setup(dummy);
408 if (ctr_running)
409 nmi_cpu_start(dummy);
410}
420 411
421 nmi_enabled = 0; 412static void nmi_cpu_down(void *dummy)
422 on_each_cpu(nmi_cpu_shutdown, NULL, 1); 413{
423 unregister_die_notifier(&profile_exceptions_nb); 414 if (ctr_running)
424 nmi_shutdown_mux(); 415 nmi_cpu_stop(dummy);
425 msrs = &get_cpu_var(cpu_msrs); 416 if (nmi_enabled)
426 model->shutdown(msrs); 417 nmi_cpu_shutdown(dummy);
427 free_msrs();
428 put_cpu_var(cpu_msrs);
429} 418}
430 419
431static int nmi_create_files(struct super_block *sb, struct dentry *root) 420static int nmi_create_files(struct super_block *sb, struct dentry *root)
@@ -457,7 +446,6 @@ static int nmi_create_files(struct super_block *sb, struct dentry *root)
457 return 0; 446 return 0;
458} 447}
459 448
460#ifdef CONFIG_SMP
461static int oprofile_cpu_notifier(struct notifier_block *b, unsigned long action, 449static int oprofile_cpu_notifier(struct notifier_block *b, unsigned long action,
462 void *data) 450 void *data)
463{ 451{
@@ -465,10 +453,10 @@ static int oprofile_cpu_notifier(struct notifier_block *b, unsigned long action,
465 switch (action) { 453 switch (action) {
466 case CPU_DOWN_FAILED: 454 case CPU_DOWN_FAILED:
467 case CPU_ONLINE: 455 case CPU_ONLINE:
468 smp_call_function_single(cpu, nmi_cpu_start, NULL, 0); 456 smp_call_function_single(cpu, nmi_cpu_up, NULL, 0);
469 break; 457 break;
470 case CPU_DOWN_PREPARE: 458 case CPU_DOWN_PREPARE:
471 smp_call_function_single(cpu, nmi_cpu_stop, NULL, 1); 459 smp_call_function_single(cpu, nmi_cpu_down, NULL, 1);
472 break; 460 break;
473 } 461 }
474 return NOTIFY_DONE; 462 return NOTIFY_DONE;
@@ -477,7 +465,75 @@ static int oprofile_cpu_notifier(struct notifier_block *b, unsigned long action,
477static struct notifier_block oprofile_cpu_nb = { 465static struct notifier_block oprofile_cpu_nb = {
478 .notifier_call = oprofile_cpu_notifier 466 .notifier_call = oprofile_cpu_notifier
479}; 467};
480#endif 468
469static int nmi_setup(void)
470{
471 int err = 0;
472 int cpu;
473
474 if (!allocate_msrs())
475 return -ENOMEM;
476
477 /* We need to serialize save and setup for HT because the subset
478 * of msrs are distinct for save and setup operations
479 */
480
481 /* Assume saved/restored counters are the same on all CPUs */
482 err = model->fill_in_addresses(&per_cpu(cpu_msrs, 0));
483 if (err)
484 goto fail;
485
486 for_each_possible_cpu(cpu) {
487 if (!cpu)
488 continue;
489
490 memcpy(per_cpu(cpu_msrs, cpu).counters,
491 per_cpu(cpu_msrs, 0).counters,
492 sizeof(struct op_msr) * model->num_counters);
493
494 memcpy(per_cpu(cpu_msrs, cpu).controls,
495 per_cpu(cpu_msrs, 0).controls,
496 sizeof(struct op_msr) * model->num_controls);
497
498 mux_clone(cpu);
499 }
500
501 nmi_enabled = 0;
502 ctr_running = 0;
503 barrier();
504 err = register_die_notifier(&profile_exceptions_nb);
505 if (err)
506 goto fail;
507
508 get_online_cpus();
509 register_cpu_notifier(&oprofile_cpu_nb);
510 on_each_cpu(nmi_cpu_setup, NULL, 1);
511 nmi_enabled = 1;
512 put_online_cpus();
513
514 return 0;
515fail:
516 free_msrs();
517 return err;
518}
519
520static void nmi_shutdown(void)
521{
522 struct op_msrs *msrs;
523
524 get_online_cpus();
525 unregister_cpu_notifier(&oprofile_cpu_nb);
526 on_each_cpu(nmi_cpu_shutdown, NULL, 1);
527 nmi_enabled = 0;
528 ctr_running = 0;
529 put_online_cpus();
530 barrier();
531 unregister_die_notifier(&profile_exceptions_nb);
532 msrs = &get_cpu_var(cpu_msrs);
533 model->shutdown(msrs);
534 free_msrs();
535 put_cpu_var(cpu_msrs);
536}
481 537
482#ifdef CONFIG_PM 538#ifdef CONFIG_PM
483 539
@@ -687,9 +743,6 @@ int __init op_nmi_init(struct oprofile_operations *ops)
687 return -ENODEV; 743 return -ENODEV;
688 } 744 }
689 745
690#ifdef CONFIG_SMP
691 register_cpu_notifier(&oprofile_cpu_nb);
692#endif
693 /* default values, can be overwritten by model */ 746 /* default values, can be overwritten by model */
694 ops->create_files = nmi_create_files; 747 ops->create_files = nmi_create_files;
695 ops->setup = nmi_setup; 748 ops->setup = nmi_setup;
@@ -716,12 +769,6 @@ int __init op_nmi_init(struct oprofile_operations *ops)
716 769
717void op_nmi_exit(void) 770void op_nmi_exit(void)
718{ 771{
719 if (using_nmi) { 772 if (using_nmi)
720 exit_sysfs(); 773 exit_sysfs();
721#ifdef CONFIG_SMP
722 unregister_cpu_notifier(&oprofile_cpu_nb);
723#endif
724 }
725 if (model->exit)
726 model->exit();
727} 774}
diff --git a/arch/x86/oprofile/op_model_amd.c b/arch/x86/oprofile/op_model_amd.c
index 090cbbec7db..b67a6b5aa8d 100644
--- a/arch/x86/oprofile/op_model_amd.c
+++ b/arch/x86/oprofile/op_model_amd.c
@@ -30,13 +30,10 @@
30#include "op_counter.h" 30#include "op_counter.h"
31 31
32#define NUM_COUNTERS 4 32#define NUM_COUNTERS 4
33#define NUM_CONTROLS 4
34#ifdef CONFIG_OPROFILE_EVENT_MULTIPLEX 33#ifdef CONFIG_OPROFILE_EVENT_MULTIPLEX
35#define NUM_VIRT_COUNTERS 32 34#define NUM_VIRT_COUNTERS 32
36#define NUM_VIRT_CONTROLS 32
37#else 35#else
38#define NUM_VIRT_COUNTERS NUM_COUNTERS 36#define NUM_VIRT_COUNTERS NUM_COUNTERS
39#define NUM_VIRT_CONTROLS NUM_CONTROLS
40#endif 37#endif
41 38
42#define OP_EVENT_MASK 0x0FFF 39#define OP_EVENT_MASK 0x0FFF
@@ -105,102 +102,6 @@ static u32 get_ibs_caps(void)
105 return ibs_caps; 102 return ibs_caps;
106} 103}
107 104
108#ifdef CONFIG_OPROFILE_EVENT_MULTIPLEX
109
110static void op_mux_switch_ctrl(struct op_x86_model_spec const *model,
111 struct op_msrs const * const msrs)
112{
113 u64 val;
114 int i;
115
116 /* enable active counters */
117 for (i = 0; i < NUM_COUNTERS; ++i) {
118 int virt = op_x86_phys_to_virt(i);
119 if (!reset_value[virt])
120 continue;
121 rdmsrl(msrs->controls[i].addr, val);
122 val &= model->reserved;
123 val |= op_x86_get_ctrl(model, &counter_config[virt]);
124 wrmsrl(msrs->controls[i].addr, val);
125 }
126}
127
128#endif
129
130/* functions for op_amd_spec */
131
132static void op_amd_fill_in_addresses(struct op_msrs * const msrs)
133{
134 int i;
135
136 for (i = 0; i < NUM_COUNTERS; i++) {
137 if (reserve_perfctr_nmi(MSR_K7_PERFCTR0 + i))
138 msrs->counters[i].addr = MSR_K7_PERFCTR0 + i;
139 }
140
141 for (i = 0; i < NUM_CONTROLS; i++) {
142 if (reserve_evntsel_nmi(MSR_K7_EVNTSEL0 + i))
143 msrs->controls[i].addr = MSR_K7_EVNTSEL0 + i;
144 }
145}
146
147static void op_amd_setup_ctrs(struct op_x86_model_spec const *model,
148 struct op_msrs const * const msrs)
149{
150 u64 val;
151 int i;
152
153 /* setup reset_value */
154 for (i = 0; i < NUM_VIRT_COUNTERS; ++i) {
155 if (counter_config[i].enabled
156 && msrs->counters[op_x86_virt_to_phys(i)].addr)
157 reset_value[i] = counter_config[i].count;
158 else
159 reset_value[i] = 0;
160 }
161
162 /* clear all counters */
163 for (i = 0; i < NUM_CONTROLS; ++i) {
164 if (unlikely(!msrs->controls[i].addr)) {
165 if (counter_config[i].enabled && !smp_processor_id())
166 /*
167 * counter is reserved, this is on all
168 * cpus, so report only for cpu #0
169 */
170 op_x86_warn_reserved(i);
171 continue;
172 }
173 rdmsrl(msrs->controls[i].addr, val);
174 if (val & ARCH_PERFMON_EVENTSEL_ENABLE)
175 op_x86_warn_in_use(i);
176 val &= model->reserved;
177 wrmsrl(msrs->controls[i].addr, val);
178 }
179
180 /* avoid a false detection of ctr overflows in NMI handler */
181 for (i = 0; i < NUM_COUNTERS; ++i) {
182 if (unlikely(!msrs->counters[i].addr))
183 continue;
184 wrmsrl(msrs->counters[i].addr, -1LL);
185 }
186
187 /* enable active counters */
188 for (i = 0; i < NUM_COUNTERS; ++i) {
189 int virt = op_x86_phys_to_virt(i);
190 if (!reset_value[virt])
191 continue;
192
193 /* setup counter registers */
194 wrmsrl(msrs->counters[i].addr, -(u64)reset_value[virt]);
195
196 /* setup control registers */
197 rdmsrl(msrs->controls[i].addr, val);
198 val &= model->reserved;
199 val |= op_x86_get_ctrl(model, &counter_config[virt]);
200 wrmsrl(msrs->controls[i].addr, val);
201 }
202}
203
204/* 105/*
205 * 16-bit Linear Feedback Shift Register (LFSR) 106 * 16-bit Linear Feedback Shift Register (LFSR)
206 * 107 *
@@ -365,6 +266,125 @@ static void op_amd_stop_ibs(void)
365 wrmsrl(MSR_AMD64_IBSOPCTL, 0); 266 wrmsrl(MSR_AMD64_IBSOPCTL, 0);
366} 267}
367 268
269#ifdef CONFIG_OPROFILE_EVENT_MULTIPLEX
270
271static void op_mux_switch_ctrl(struct op_x86_model_spec const *model,
272 struct op_msrs const * const msrs)
273{
274 u64 val;
275 int i;
276
277 /* enable active counters */
278 for (i = 0; i < NUM_COUNTERS; ++i) {
279 int virt = op_x86_phys_to_virt(i);
280 if (!reset_value[virt])
281 continue;
282 rdmsrl(msrs->controls[i].addr, val);
283 val &= model->reserved;
284 val |= op_x86_get_ctrl(model, &counter_config[virt]);
285 wrmsrl(msrs->controls[i].addr, val);
286 }
287}
288
289#endif
290
291/* functions for op_amd_spec */
292
293static void op_amd_shutdown(struct op_msrs const * const msrs)
294{
295 int i;
296
297 for (i = 0; i < NUM_COUNTERS; ++i) {
298 if (!msrs->counters[i].addr)
299 continue;
300 release_perfctr_nmi(MSR_K7_PERFCTR0 + i);
301 release_evntsel_nmi(MSR_K7_EVNTSEL0 + i);
302 }
303}
304
305static int op_amd_fill_in_addresses(struct op_msrs * const msrs)
306{
307 int i;
308
309 for (i = 0; i < NUM_COUNTERS; i++) {
310 if (!reserve_perfctr_nmi(MSR_K7_PERFCTR0 + i))
311 goto fail;
312 if (!reserve_evntsel_nmi(MSR_K7_EVNTSEL0 + i)) {
313 release_perfctr_nmi(MSR_K7_PERFCTR0 + i);
314 goto fail;
315 }
316 /* both registers must be reserved */
317 msrs->counters[i].addr = MSR_K7_PERFCTR0 + i;
318 msrs->controls[i].addr = MSR_K7_EVNTSEL0 + i;
319 continue;
320 fail:
321 if (!counter_config[i].enabled)
322 continue;
323 op_x86_warn_reserved(i);
324 op_amd_shutdown(msrs);
325 return -EBUSY;
326 }
327
328 return 0;
329}
330
331static void op_amd_setup_ctrs(struct op_x86_model_spec const *model,
332 struct op_msrs const * const msrs)
333{
334 u64 val;
335 int i;
336
337 /* setup reset_value */
338 for (i = 0; i < NUM_VIRT_COUNTERS; ++i) {
339 if (counter_config[i].enabled
340 && msrs->counters[op_x86_virt_to_phys(i)].addr)
341 reset_value[i] = counter_config[i].count;
342 else
343 reset_value[i] = 0;
344 }
345
346 /* clear all counters */
347 for (i = 0; i < NUM_COUNTERS; ++i) {
348 if (!msrs->controls[i].addr)
349 continue;
350 rdmsrl(msrs->controls[i].addr, val);
351 if (val & ARCH_PERFMON_EVENTSEL_ENABLE)
352 op_x86_warn_in_use(i);
353 val &= model->reserved;
354 wrmsrl(msrs->controls[i].addr, val);
355 /*
356 * avoid a false detection of ctr overflows in NMI
357 * handler
358 */
359 wrmsrl(msrs->counters[i].addr, -1LL);
360 }
361
362 /* enable active counters */
363 for (i = 0; i < NUM_COUNTERS; ++i) {
364 int virt = op_x86_phys_to_virt(i);
365 if (!reset_value[virt])
366 continue;
367
368 /* setup counter registers */
369 wrmsrl(msrs->counters[i].addr, -(u64)reset_value[virt]);
370
371 /* setup control registers */
372 rdmsrl(msrs->controls[i].addr, val);
373 val &= model->reserved;
374 val |= op_x86_get_ctrl(model, &counter_config[virt]);
375 wrmsrl(msrs->controls[i].addr, val);
376 }
377
378 if (ibs_caps)
379 setup_APIC_eilvt_ibs(0, APIC_EILVT_MSG_NMI, 0);
380}
381
382static void op_amd_cpu_shutdown(void)
383{
384 if (ibs_caps)
385 setup_APIC_eilvt_ibs(0, APIC_EILVT_MSG_FIX, 1);
386}
387
368static int op_amd_check_ctrs(struct pt_regs * const regs, 388static int op_amd_check_ctrs(struct pt_regs * const regs,
369 struct op_msrs const * const msrs) 389 struct op_msrs const * const msrs)
370{ 390{
@@ -425,42 +445,16 @@ static void op_amd_stop(struct op_msrs const * const msrs)
425 op_amd_stop_ibs(); 445 op_amd_stop_ibs();
426} 446}
427 447
428static void op_amd_shutdown(struct op_msrs const * const msrs) 448static int __init_ibs_nmi(void)
429{
430 int i;
431
432 for (i = 0; i < NUM_COUNTERS; ++i) {
433 if (msrs->counters[i].addr)
434 release_perfctr_nmi(MSR_K7_PERFCTR0 + i);
435 }
436 for (i = 0; i < NUM_CONTROLS; ++i) {
437 if (msrs->controls[i].addr)
438 release_evntsel_nmi(MSR_K7_EVNTSEL0 + i);
439 }
440}
441
442static u8 ibs_eilvt_off;
443
444static inline void apic_init_ibs_nmi_per_cpu(void *arg)
445{
446 ibs_eilvt_off = setup_APIC_eilvt_ibs(0, APIC_EILVT_MSG_NMI, 0);
447}
448
449static inline void apic_clear_ibs_nmi_per_cpu(void *arg)
450{
451 setup_APIC_eilvt_ibs(0, APIC_EILVT_MSG_FIX, 1);
452}
453
454static int init_ibs_nmi(void)
455{ 449{
456#define IBSCTL_LVTOFFSETVAL (1 << 8) 450#define IBSCTL_LVTOFFSETVAL (1 << 8)
457#define IBSCTL 0x1cc 451#define IBSCTL 0x1cc
458 struct pci_dev *cpu_cfg; 452 struct pci_dev *cpu_cfg;
459 int nodes; 453 int nodes;
460 u32 value = 0; 454 u32 value = 0;
455 u8 ibs_eilvt_off;
461 456
462 /* per CPU setup */ 457 ibs_eilvt_off = setup_APIC_eilvt_ibs(0, APIC_EILVT_MSG_FIX, 1);
463 on_each_cpu(apic_init_ibs_nmi_per_cpu, NULL, 1);
464 458
465 nodes = 0; 459 nodes = 0;
466 cpu_cfg = NULL; 460 cpu_cfg = NULL;
@@ -490,22 +484,15 @@ static int init_ibs_nmi(void)
490 return 0; 484 return 0;
491} 485}
492 486
493/* uninitialize the APIC for the IBS interrupts if needed */
494static void clear_ibs_nmi(void)
495{
496 if (ibs_caps)
497 on_each_cpu(apic_clear_ibs_nmi_per_cpu, NULL, 1);
498}
499
500/* initialize the APIC for the IBS interrupts if available */ 487/* initialize the APIC for the IBS interrupts if available */
501static void ibs_init(void) 488static void init_ibs(void)
502{ 489{
503 ibs_caps = get_ibs_caps(); 490 ibs_caps = get_ibs_caps();
504 491
505 if (!ibs_caps) 492 if (!ibs_caps)
506 return; 493 return;
507 494
508 if (init_ibs_nmi()) { 495 if (__init_ibs_nmi()) {
509 ibs_caps = 0; 496 ibs_caps = 0;
510 return; 497 return;
511 } 498 }
@@ -514,14 +501,6 @@ static void ibs_init(void)
514 (unsigned)ibs_caps); 501 (unsigned)ibs_caps);
515} 502}
516 503
517static void ibs_exit(void)
518{
519 if (!ibs_caps)
520 return;
521
522 clear_ibs_nmi();
523}
524
525static int (*create_arch_files)(struct super_block *sb, struct dentry *root); 504static int (*create_arch_files)(struct super_block *sb, struct dentry *root);
526 505
527static int setup_ibs_files(struct super_block *sb, struct dentry *root) 506static int setup_ibs_files(struct super_block *sb, struct dentry *root)
@@ -570,27 +549,22 @@ static int setup_ibs_files(struct super_block *sb, struct dentry *root)
570 549
571static int op_amd_init(struct oprofile_operations *ops) 550static int op_amd_init(struct oprofile_operations *ops)
572{ 551{
573 ibs_init(); 552 init_ibs();
574 create_arch_files = ops->create_files; 553 create_arch_files = ops->create_files;
575 ops->create_files = setup_ibs_files; 554 ops->create_files = setup_ibs_files;
576 return 0; 555 return 0;
577} 556}
578 557
579static void op_amd_exit(void)
580{
581 ibs_exit();
582}
583
584struct op_x86_model_spec op_amd_spec = { 558struct op_x86_model_spec op_amd_spec = {
585 .num_counters = NUM_COUNTERS, 559 .num_counters = NUM_COUNTERS,
586 .num_controls = NUM_CONTROLS, 560 .num_controls = NUM_COUNTERS,
587 .num_virt_counters = NUM_VIRT_COUNTERS, 561 .num_virt_counters = NUM_VIRT_COUNTERS,
588 .reserved = MSR_AMD_EVENTSEL_RESERVED, 562 .reserved = MSR_AMD_EVENTSEL_RESERVED,
589 .event_mask = OP_EVENT_MASK, 563 .event_mask = OP_EVENT_MASK,
590 .init = op_amd_init, 564 .init = op_amd_init,
591 .exit = op_amd_exit,
592 .fill_in_addresses = &op_amd_fill_in_addresses, 565 .fill_in_addresses = &op_amd_fill_in_addresses,
593 .setup_ctrs = &op_amd_setup_ctrs, 566 .setup_ctrs = &op_amd_setup_ctrs,
567 .cpu_down = &op_amd_cpu_shutdown,
594 .check_ctrs = &op_amd_check_ctrs, 568 .check_ctrs = &op_amd_check_ctrs,
595 .start = &op_amd_start, 569 .start = &op_amd_start,
596 .stop = &op_amd_stop, 570 .stop = &op_amd_stop,
diff --git a/arch/x86/oprofile/op_model_p4.c b/arch/x86/oprofile/op_model_p4.c
index e6a160a4684..182558dd551 100644
--- a/arch/x86/oprofile/op_model_p4.c
+++ b/arch/x86/oprofile/op_model_p4.c
@@ -385,8 +385,26 @@ static unsigned int get_stagger(void)
385 385
386static unsigned long reset_value[NUM_COUNTERS_NON_HT]; 386static unsigned long reset_value[NUM_COUNTERS_NON_HT];
387 387
388static void p4_shutdown(struct op_msrs const * const msrs)
389{
390 int i;
388 391
389static void p4_fill_in_addresses(struct op_msrs * const msrs) 392 for (i = 0; i < num_counters; ++i) {
393 if (msrs->counters[i].addr)
394 release_perfctr_nmi(msrs->counters[i].addr);
395 }
396 /*
397 * some of the control registers are specially reserved in
398 * conjunction with the counter registers (hence the starting offset).
399 * This saves a few bits.
400 */
401 for (i = num_counters; i < num_controls; ++i) {
402 if (msrs->controls[i].addr)
403 release_evntsel_nmi(msrs->controls[i].addr);
404 }
405}
406
407static int p4_fill_in_addresses(struct op_msrs * const msrs)
390{ 408{
391 unsigned int i; 409 unsigned int i;
392 unsigned int addr, cccraddr, stag; 410 unsigned int addr, cccraddr, stag;
@@ -468,6 +486,18 @@ static void p4_fill_in_addresses(struct op_msrs * const msrs)
468 msrs->controls[i++].addr = MSR_P4_CRU_ESCR5; 486 msrs->controls[i++].addr = MSR_P4_CRU_ESCR5;
469 } 487 }
470 } 488 }
489
490 for (i = 0; i < num_counters; ++i) {
491 if (!counter_config[i].enabled)
492 continue;
493 if (msrs->controls[i].addr)
494 continue;
495 op_x86_warn_reserved(i);
496 p4_shutdown(msrs);
497 return -EBUSY;
498 }
499
500 return 0;
471} 501}
472 502
473 503
@@ -668,26 +698,6 @@ static void p4_stop(struct op_msrs const * const msrs)
668 } 698 }
669} 699}
670 700
671static void p4_shutdown(struct op_msrs const * const msrs)
672{
673 int i;
674
675 for (i = 0; i < num_counters; ++i) {
676 if (msrs->counters[i].addr)
677 release_perfctr_nmi(msrs->counters[i].addr);
678 }
679 /*
680 * some of the control registers are specially reserved in
681 * conjunction with the counter registers (hence the starting offset).
682 * This saves a few bits.
683 */
684 for (i = num_counters; i < num_controls; ++i) {
685 if (msrs->controls[i].addr)
686 release_evntsel_nmi(msrs->controls[i].addr);
687 }
688}
689
690
691#ifdef CONFIG_SMP 701#ifdef CONFIG_SMP
692struct op_x86_model_spec op_p4_ht2_spec = { 702struct op_x86_model_spec op_p4_ht2_spec = {
693 .num_counters = NUM_COUNTERS_HT2, 703 .num_counters = NUM_COUNTERS_HT2,
diff --git a/arch/x86/oprofile/op_model_ppro.c b/arch/x86/oprofile/op_model_ppro.c
index 2bf90fafa7b..d769cda5408 100644
--- a/arch/x86/oprofile/op_model_ppro.c
+++ b/arch/x86/oprofile/op_model_ppro.c
@@ -30,19 +30,46 @@ static int counter_width = 32;
30 30
31static u64 *reset_value; 31static u64 *reset_value;
32 32
33static void ppro_fill_in_addresses(struct op_msrs * const msrs) 33static void ppro_shutdown(struct op_msrs const * const msrs)
34{ 34{
35 int i; 35 int i;
36 36
37 for (i = 0; i < num_counters; i++) { 37 for (i = 0; i < num_counters; ++i) {
38 if (reserve_perfctr_nmi(MSR_P6_PERFCTR0 + i)) 38 if (!msrs->counters[i].addr)
39 msrs->counters[i].addr = MSR_P6_PERFCTR0 + i; 39 continue;
40 release_perfctr_nmi(MSR_P6_PERFCTR0 + i);
41 release_evntsel_nmi(MSR_P6_EVNTSEL0 + i);
42 }
43 if (reset_value) {
44 kfree(reset_value);
45 reset_value = NULL;
40 } 46 }
47}
48
49static int ppro_fill_in_addresses(struct op_msrs * const msrs)
50{
51 int i;
41 52
42 for (i = 0; i < num_counters; i++) { 53 for (i = 0; i < num_counters; i++) {
43 if (reserve_evntsel_nmi(MSR_P6_EVNTSEL0 + i)) 54 if (!reserve_perfctr_nmi(MSR_P6_PERFCTR0 + i))
44 msrs->controls[i].addr = MSR_P6_EVNTSEL0 + i; 55 goto fail;
56 if (!reserve_evntsel_nmi(MSR_P6_EVNTSEL0 + i)) {
57 release_perfctr_nmi(MSR_P6_PERFCTR0 + i);
58 goto fail;
59 }
60 /* both registers must be reserved */
61 msrs->counters[i].addr = MSR_P6_PERFCTR0 + i;
62 msrs->controls[i].addr = MSR_P6_EVNTSEL0 + i;
63 continue;
64 fail:
65 if (!counter_config[i].enabled)
66 continue;
67 op_x86_warn_reserved(i);
68 ppro_shutdown(msrs);
69 return -EBUSY;
45 } 70 }
71
72 return 0;
46} 73}
47 74
48 75
@@ -78,26 +105,17 @@ static void ppro_setup_ctrs(struct op_x86_model_spec const *model,
78 105
79 /* clear all counters */ 106 /* clear all counters */
80 for (i = 0; i < num_counters; ++i) { 107 for (i = 0; i < num_counters; ++i) {
81 if (unlikely(!msrs->controls[i].addr)) { 108 if (!msrs->controls[i].addr)
82 if (counter_config[i].enabled && !smp_processor_id())
83 /*
84 * counter is reserved, this is on all
85 * cpus, so report only for cpu #0
86 */
87 op_x86_warn_reserved(i);
88 continue; 109 continue;
89 }
90 rdmsrl(msrs->controls[i].addr, val); 110 rdmsrl(msrs->controls[i].addr, val);
91 if (val & ARCH_PERFMON_EVENTSEL_ENABLE) 111 if (val & ARCH_PERFMON_EVENTSEL_ENABLE)
92 op_x86_warn_in_use(i); 112 op_x86_warn_in_use(i);
93 val &= model->reserved; 113 val &= model->reserved;
94 wrmsrl(msrs->controls[i].addr, val); 114 wrmsrl(msrs->controls[i].addr, val);
95 } 115 /*
96 116 * avoid a false detection of ctr overflows in NMI *
97 /* avoid a false detection of ctr overflows in NMI handler */ 117 * handler
98 for (i = 0; i < num_counters; ++i) { 118 */
99 if (unlikely(!msrs->counters[i].addr))
100 continue;
101 wrmsrl(msrs->counters[i].addr, -1LL); 119 wrmsrl(msrs->counters[i].addr, -1LL);
102 } 120 }
103 121
@@ -189,25 +207,6 @@ static void ppro_stop(struct op_msrs const * const msrs)
189 } 207 }
190} 208}
191 209
192static void ppro_shutdown(struct op_msrs const * const msrs)
193{
194 int i;
195
196 for (i = 0; i < num_counters; ++i) {
197 if (msrs->counters[i].addr)
198 release_perfctr_nmi(MSR_P6_PERFCTR0 + i);
199 }
200 for (i = 0; i < num_counters; ++i) {
201 if (msrs->controls[i].addr)
202 release_evntsel_nmi(MSR_P6_EVNTSEL0 + i);
203 }
204 if (reset_value) {
205 kfree(reset_value);
206 reset_value = NULL;
207 }
208}
209
210
211struct op_x86_model_spec op_ppro_spec = { 210struct op_x86_model_spec op_ppro_spec = {
212 .num_counters = 2, 211 .num_counters = 2,
213 .num_controls = 2, 212 .num_controls = 2,
@@ -239,11 +238,11 @@ static void arch_perfmon_setup_counters(void)
239 if (eax.split.version_id == 0 && current_cpu_data.x86 == 6 && 238 if (eax.split.version_id == 0 && current_cpu_data.x86 == 6 &&
240 current_cpu_data.x86_model == 15) { 239 current_cpu_data.x86_model == 15) {
241 eax.split.version_id = 2; 240 eax.split.version_id = 2;
242 eax.split.num_events = 2; 241 eax.split.num_counters = 2;
243 eax.split.bit_width = 40; 242 eax.split.bit_width = 40;
244 } 243 }
245 244
246 num_counters = eax.split.num_events; 245 num_counters = eax.split.num_counters;
247 246
248 op_arch_perfmon_spec.num_counters = num_counters; 247 op_arch_perfmon_spec.num_counters = num_counters;
249 op_arch_perfmon_spec.num_controls = num_counters; 248 op_arch_perfmon_spec.num_controls = num_counters;
diff --git a/arch/x86/oprofile/op_x86_model.h b/arch/x86/oprofile/op_x86_model.h
index ff82a755edd..89017fa1fd6 100644
--- a/arch/x86/oprofile/op_x86_model.h
+++ b/arch/x86/oprofile/op_x86_model.h
@@ -40,10 +40,10 @@ struct op_x86_model_spec {
40 u64 reserved; 40 u64 reserved;
41 u16 event_mask; 41 u16 event_mask;
42 int (*init)(struct oprofile_operations *ops); 42 int (*init)(struct oprofile_operations *ops);
43 void (*exit)(void); 43 int (*fill_in_addresses)(struct op_msrs * const msrs);
44 void (*fill_in_addresses)(struct op_msrs * const msrs);
45 void (*setup_ctrs)(struct op_x86_model_spec const *model, 44 void (*setup_ctrs)(struct op_x86_model_spec const *model,
46 struct op_msrs const * const msrs); 45 struct op_msrs const * const msrs);
46 void (*cpu_down)(void);
47 int (*check_ctrs)(struct pt_regs * const regs, 47 int (*check_ctrs)(struct pt_regs * const regs,
48 struct op_msrs const * const msrs); 48 struct op_msrs const * const msrs);
49 void (*start)(struct op_msrs const * const msrs); 49 void (*start)(struct op_msrs const * const msrs);
diff --git a/arch/x86/pci/acpi.c b/arch/x86/pci/acpi.c
index 44f83ce0247..31930fd30ea 100644
--- a/arch/x86/pci/acpi.c
+++ b/arch/x86/pci/acpi.c
@@ -121,30 +121,6 @@ count_resource(struct acpi_resource *acpi_res, void *data)
121 return AE_OK; 121 return AE_OK;
122} 122}
123 123
124static void
125align_resource(struct acpi_device *bridge, struct resource *res)
126{
127 int align = (res->flags & IORESOURCE_MEM) ? 16 : 4;
128
129 /*
130 * Host bridge windows are not BARs, but the decoders on the PCI side
131 * that claim this address space have starting alignment and length
132 * constraints, so fix any obvious BIOS goofs.
133 */
134 if (!IS_ALIGNED(res->start, align)) {
135 dev_printk(KERN_DEBUG, &bridge->dev,
136 "host bridge window %pR invalid; "
137 "aligning start to %d-byte boundary\n", res, align);
138 res->start &= ~(align - 1);
139 }
140 if (!IS_ALIGNED(res->end + 1, align)) {
141 dev_printk(KERN_DEBUG, &bridge->dev,
142 "host bridge window %pR invalid; "
143 "aligning end to %d-byte boundary\n", res, align);
144 res->end = ALIGN(res->end, align) - 1;
145 }
146}
147
148static acpi_status 124static acpi_status
149setup_resource(struct acpi_resource *acpi_res, void *data) 125setup_resource(struct acpi_resource *acpi_res, void *data)
150{ 126{
@@ -154,7 +130,7 @@ setup_resource(struct acpi_resource *acpi_res, void *data)
154 acpi_status status; 130 acpi_status status;
155 unsigned long flags; 131 unsigned long flags;
156 struct resource *root, *conflict; 132 struct resource *root, *conflict;
157 u64 start, end, max_len; 133 u64 start, end;
158 134
159 status = resource_to_addr(acpi_res, &addr); 135 status = resource_to_addr(acpi_res, &addr);
160 if (!ACPI_SUCCESS(status)) 136 if (!ACPI_SUCCESS(status))
@@ -171,19 +147,8 @@ setup_resource(struct acpi_resource *acpi_res, void *data)
171 } else 147 } else
172 return AE_OK; 148 return AE_OK;
173 149
174 max_len = addr.maximum - addr.minimum + 1;
175 if (addr.address_length > max_len) {
176 dev_printk(KERN_DEBUG, &info->bridge->dev,
177 "host bridge window length %#llx doesn't fit in "
178 "%#llx-%#llx, trimming\n",
179 (unsigned long long) addr.address_length,
180 (unsigned long long) addr.minimum,
181 (unsigned long long) addr.maximum);
182 addr.address_length = max_len;
183 }
184
185 start = addr.minimum + addr.translation_offset; 150 start = addr.minimum + addr.translation_offset;
186 end = start + addr.address_length - 1; 151 end = addr.maximum + addr.translation_offset;
187 152
188 res = &info->res[info->res_num]; 153 res = &info->res[info->res_num];
189 res->name = info->name; 154 res->name = info->name;
@@ -191,7 +156,6 @@ setup_resource(struct acpi_resource *acpi_res, void *data)
191 res->start = start; 156 res->start = start;
192 res->end = end; 157 res->end = end;
193 res->child = NULL; 158 res->child = NULL;
194 align_resource(info->bridge, res);
195 159
196 if (!pci_use_crs) { 160 if (!pci_use_crs) {
197 dev_printk(KERN_DEBUG, &info->bridge->dev, 161 dev_printk(KERN_DEBUG, &info->bridge->dev,
diff --git a/arch/x86/pci/i386.c b/arch/x86/pci/i386.c
index 46fd43f7910..97da2ba9344 100644
--- a/arch/x86/pci/i386.c
+++ b/arch/x86/pci/i386.c
@@ -72,6 +72,9 @@ pcibios_align_resource(void *data, const struct resource *res,
72 return start; 72 return start;
73 if (start & 0x300) 73 if (start & 0x300)
74 start = (start + 0x3ff) & ~0x3ff; 74 start = (start + 0x3ff) & ~0x3ff;
75 } else if (res->flags & IORESOURCE_MEM) {
76 if (start < BIOS_END)
77 start = BIOS_END;
75 } 78 }
76 return start; 79 return start;
77} 80}
diff --git a/arch/x86/pci/mrst.c b/arch/x86/pci/mrst.c
index 8bf2fcb88d0..1cdc02cf8fa 100644
--- a/arch/x86/pci/mrst.c
+++ b/arch/x86/pci/mrst.c
@@ -247,6 +247,10 @@ static void __devinit pci_fixed_bar_fixup(struct pci_dev *dev)
247 u32 size; 247 u32 size;
248 int i; 248 int i;
249 249
250 /* Must have extended configuration space */
251 if (dev->cfg_size < PCIE_CAP_OFFSET + 4)
252 return;
253
250 /* Fixup the BAR sizes for fixed BAR devices and make them unmoveable */ 254 /* Fixup the BAR sizes for fixed BAR devices and make them unmoveable */
251 offset = fixed_bar_cap(dev->bus, dev->devfn); 255 offset = fixed_bar_cap(dev->bus, dev->devfn);
252 if (!offset || PCI_DEVFN(2, 0) == dev->devfn || 256 if (!offset || PCI_DEVFN(2, 0) == dev->devfn ||
diff --git a/arch/xtensa/include/asm/atomic.h b/arch/xtensa/include/asm/atomic.h
index 22d6dde4261..a96a0619d0b 100644
--- a/arch/xtensa/include/asm/atomic.h
+++ b/arch/xtensa/include/asm/atomic.h
@@ -46,7 +46,7 @@
46 * 46 *
47 * Atomically reads the value of @v. 47 * Atomically reads the value of @v.
48 */ 48 */
49#define atomic_read(v) ((v)->counter) 49#define atomic_read(v) (*(volatile int *)&(v)->counter)
50 50
51/** 51/**
52 * atomic_set - set atomic variable 52 * atomic_set - set atomic variable