aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc
diff options
context:
space:
mode:
authorMichal Marek <mmarek@suse.cz>2010-08-04 07:59:13 -0400
committerMichal Marek <mmarek@suse.cz>2010-08-04 07:59:13 -0400
commit772320e84588dcbe1600ffb83e5f328f2209ac2a (patch)
treea7de21b79340aeaa17c58126f6b801b82c77b53a /arch/powerpc
parent1ce53adf13a54375d2a5c7cdbe341b2558389615 (diff)
parent9fe6206f400646a2322096b56c59891d530e8d51 (diff)
Merge commit 'v2.6.35' into kbuild/kbuild
Conflicts: arch/powerpc/Makefile
Diffstat (limited to 'arch/powerpc')
-rw-r--r--arch/powerpc/Kconfig58
-rw-r--r--arch/powerpc/Kconfig.debug19
-rw-r--r--arch/powerpc/Makefile4
-rw-r--r--arch/powerpc/boot/4xx.c12
-rw-r--r--arch/powerpc/boot/Makefile11
-rw-r--r--arch/powerpc/boot/addRamDisk.c311
-rw-r--r--arch/powerpc/boot/dts/arches.dts12
-rw-r--r--arch/powerpc/boot/dts/gef_ppc9a.dts20
-rw-r--r--arch/powerpc/boot/dts/gef_sbc310.dts23
-rw-r--r--arch/powerpc/boot/dts/gef_sbc610.dts70
-rw-r--r--arch/powerpc/boot/dts/glacier.dts76
-rw-r--r--arch/powerpc/boot/dts/icon.dts447
-rw-r--r--arch/powerpc/boot/dts/iss4xx-mpic.dts155
-rw-r--r--arch/powerpc/boot/dts/iss4xx.dts116
-rw-r--r--arch/powerpc/boot/dts/katmai.dts72
-rw-r--r--arch/powerpc/boot/dts/kmeter1.dts2
-rw-r--r--arch/powerpc/boot/dts/lite5200.dts28
-rw-r--r--arch/powerpc/boot/dts/lite5200b.dts5
-rw-r--r--arch/powerpc/boot/dts/mpc5121ads.dts55
-rw-r--r--arch/powerpc/boot/dts/mpc8315erdb.dts16
-rw-r--r--arch/powerpc/boot/dts/mpc8377_rdb.dts14
-rw-r--r--arch/powerpc/boot/dts/mpc8378_rdb.dts14
-rw-r--r--arch/powerpc/boot/dts/mpc8379_rdb.dts14
-rw-r--r--arch/powerpc/boot/dts/mpc8548cds.dts4
-rw-r--r--arch/powerpc/boot/dts/mpc8568mds.dts65
-rw-r--r--arch/powerpc/boot/dts/mpc8569mds.dts47
-rw-r--r--arch/powerpc/boot/dts/mpc8572ds_camp_core0.dts15
-rw-r--r--arch/powerpc/boot/dts/mpc8572ds_camp_core1.dts7
-rw-r--r--arch/powerpc/boot/dts/p1020rdb.dts125
-rw-r--r--arch/powerpc/boot/dts/p1021mds.dts698
-rw-r--r--arch/powerpc/boot/dts/redwood.dts122
-rw-r--r--arch/powerpc/boot/treeboot-iss4xx.c56
-rwxr-xr-xarch/powerpc/boot/wrapper9
-rw-r--r--arch/powerpc/configs/40x/acadia_defconfig244
-rw-r--r--arch/powerpc/configs/40x/ep405_defconfig310
-rw-r--r--arch/powerpc/configs/40x/hcu4_defconfig259
-rw-r--r--arch/powerpc/configs/40x/kilauea_defconfig143
-rw-r--r--arch/powerpc/configs/40x/makalu_defconfig193
-rw-r--r--arch/powerpc/configs/40x/virtex_defconfig3
-rw-r--r--arch/powerpc/configs/40x/walnut_defconfig260
-rw-r--r--arch/powerpc/configs/44x/arches_defconfig138
-rw-r--r--arch/powerpc/configs/44x/bamboo_defconfig258
-rw-r--r--arch/powerpc/configs/44x/canyonlands_defconfig144
-rw-r--r--arch/powerpc/configs/44x/ebony_defconfig261
-rw-r--r--arch/powerpc/configs/44x/eiger_defconfig131
-rw-r--r--arch/powerpc/configs/44x/icon_defconfig1451
-rw-r--r--arch/powerpc/configs/44x/iss476-smp_defconfig1026
-rw-r--r--arch/powerpc/configs/44x/katmai_defconfig342
-rw-r--r--arch/powerpc/configs/44x/rainier_defconfig257
-rw-r--r--arch/powerpc/configs/44x/redwood_defconfig277
-rw-r--r--arch/powerpc/configs/44x/sam440ep_defconfig287
-rw-r--r--arch/powerpc/configs/44x/sequoia_defconfig205
-rw-r--r--arch/powerpc/configs/44x/taishan_defconfig261
-rw-r--r--arch/powerpc/configs/44x/virtex5_defconfig3
-rw-r--r--arch/powerpc/configs/44x/warp_defconfig228
-rw-r--r--arch/powerpc/configs/52xx/cm5200_defconfig27
-rw-r--r--arch/powerpc/configs/52xx/lite5200b_defconfig31
-rw-r--r--arch/powerpc/configs/52xx/motionpro_defconfig28
-rw-r--r--arch/powerpc/configs/52xx/pcm030_defconfig30
-rw-r--r--arch/powerpc/configs/52xx/tqm5200_defconfig31
-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_defconfig114
-rw-r--r--arch/powerpc/configs/86xx/gef_sbc310_defconfig56
-rw-r--r--arch/powerpc/configs/86xx/gef_sbc610_defconfig140
-rw-r--r--arch/powerpc/configs/86xx/mpc8610_hpcd_defconfig37
-rw-r--r--arch/powerpc/configs/86xx/mpc8641_hpcn_defconfig51
-rw-r--r--arch/powerpc/configs/86xx/sbc8641d_defconfig43
-rw-r--r--arch/powerpc/configs/adder875_defconfig21
-rw-r--r--arch/powerpc/configs/amigaone_defconfig3
-rw-r--r--arch/powerpc/configs/c2k_defconfig58
-rw-r--r--arch/powerpc/configs/cell_defconfig3
-rw-r--r--arch/powerpc/configs/celleb_defconfig3
-rw-r--r--arch/powerpc/configs/chrp32_defconfig3
-rw-r--r--arch/powerpc/configs/ep8248e_defconfig23
-rw-r--r--arch/powerpc/configs/ep88xc_defconfig20
-rw-r--r--arch/powerpc/configs/g5_defconfig3
-rw-r--r--arch/powerpc/configs/gamecube_defconfig3
-rw-r--r--arch/powerpc/configs/holly_defconfig1
-rw-r--r--arch/powerpc/configs/iseries_defconfig3
-rw-r--r--arch/powerpc/configs/linkstation_defconfig51
-rw-r--r--arch/powerpc/configs/maple_defconfig3
-rw-r--r--arch/powerpc/configs/mgcoge_defconfig34
-rw-r--r--arch/powerpc/configs/mgsuvd_defconfig22
-rw-r--r--arch/powerpc/configs/mpc512x_defconfig1693
-rw-r--r--arch/powerpc/configs/mpc5200_defconfig137
-rw-r--r--arch/powerpc/configs/mpc7448_hpc2_defconfig29
-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/pasemi_defconfig3
-rw-r--r--arch/powerpc/configs/pmac32_defconfig3
-rw-r--r--arch/powerpc/configs/ppc40x_defconfig295
-rw-r--r--arch/powerpc/configs/ppc44x_defconfig312
-rw-r--r--arch/powerpc/configs/ppc64_defconfig79
-rw-r--r--arch/powerpc/configs/ppc64e_defconfig3
-rw-r--r--arch/powerpc/configs/pq2fads_defconfig25
-rw-r--r--arch/powerpc/configs/prpmc2800_defconfig55
-rw-r--r--arch/powerpc/configs/ps3_defconfig190
-rw-r--r--arch/powerpc/configs/pseries_defconfig66
-rw-r--r--arch/powerpc/configs/storcenter_defconfig36
-rw-r--r--arch/powerpc/configs/wii_defconfig3
-rw-r--r--arch/powerpc/include/asm/abs_addr.h2
-rw-r--r--arch/powerpc/include/asm/asm-compat.h9
-rw-r--r--arch/powerpc/include/asm/atomic.h48
-rw-r--r--arch/powerpc/include/asm/bitops.h56
-rw-r--r--arch/powerpc/include/asm/bug.h6
-rw-r--r--arch/powerpc/include/asm/cache.h6
-rw-r--r--arch/powerpc/include/asm/compat.h3
-rw-r--r--arch/powerpc/include/asm/cpm.h24
-rw-r--r--arch/powerpc/include/asm/cpm1.h3
-rw-r--r--arch/powerpc/include/asm/cputable.h10
-rw-r--r--arch/powerpc/include/asm/cputime.h7
-rw-r--r--arch/powerpc/include/asm/device.h16
-rw-r--r--arch/powerpc/include/asm/dma-mapping.h3
-rw-r--r--arch/powerpc/include/asm/elf.h8
-rw-r--r--arch/powerpc/include/asm/feature-fixups.h2
-rw-r--r--arch/powerpc/include/asm/futex.h6
-rw-r--r--arch/powerpc/include/asm/hardirq.h30
-rw-r--r--arch/powerpc/include/asm/hvcall.h2
-rw-r--r--arch/powerpc/include/asm/hw_irq.h38
-rw-r--r--arch/powerpc/include/asm/irq.h6
-rw-r--r--arch/powerpc/include/asm/kdump.h11
-rw-r--r--arch/powerpc/include/asm/kexec.h17
-rw-r--r--arch/powerpc/include/asm/kmap_types.h1
-rw-r--r--arch/powerpc/include/asm/kvm.h10
-rw-r--r--arch/powerpc/include/asm/kvm_asm.h8
-rw-r--r--arch/powerpc/include/asm/kvm_book3s.h160
-rw-r--r--arch/powerpc/include/asm/kvm_book3s_32.h42
-rw-r--r--arch/powerpc/include/asm/kvm_book3s_64.h28
-rw-r--r--arch/powerpc/include/asm/kvm_book3s_asm.h (renamed from arch/powerpc/include/asm/kvm_book3s_64_asm.h)43
-rw-r--r--arch/powerpc/include/asm/kvm_booke.h96
-rw-r--r--arch/powerpc/include/asm/kvm_e500.h3
-rw-r--r--arch/powerpc/include/asm/kvm_fpu.h85
-rw-r--r--arch/powerpc/include/asm/kvm_host.h55
-rw-r--r--arch/powerpc/include/asm/kvm_ppc.h50
-rw-r--r--arch/powerpc/include/asm/lmb.h15
-rw-r--r--arch/powerpc/include/asm/local.h37
-rw-r--r--arch/powerpc/include/asm/macio.h6
-rw-r--r--arch/powerpc/include/asm/memblock.h15
-rw-r--r--arch/powerpc/include/asm/mmu-44x.h51
-rw-r--r--arch/powerpc/include/asm/mmu-hash64.h4
-rw-r--r--arch/powerpc/include/asm/mmu.h1
-rw-r--r--arch/powerpc/include/asm/mmu_context.h2
-rw-r--r--arch/powerpc/include/asm/mmzone.h2
-rw-r--r--arch/powerpc/include/asm/mpc5121.h24
-rw-r--r--arch/powerpc/include/asm/mpc52xx_psc.h5
-rw-r--r--arch/powerpc/include/asm/mpic.h5
-rw-r--r--arch/powerpc/include/asm/mutex.h6
-rw-r--r--arch/powerpc/include/asm/of_device.h3
-rw-r--r--arch/powerpc/include/asm/paca.h32
-rw-r--r--arch/powerpc/include/asm/page.h15
-rw-r--r--arch/powerpc/include/asm/param.h23
-rw-r--r--arch/powerpc/include/asm/parport.h11
-rw-r--r--arch/powerpc/include/asm/pci.h32
-rw-r--r--arch/powerpc/include/asm/perf_event.h109
-rw-r--r--arch/powerpc/include/asm/perf_event_fsl_emb.h50
-rw-r--r--arch/powerpc/include/asm/perf_event_server.h110
-rw-r--r--arch/powerpc/include/asm/pgalloc-64.h6
-rw-r--r--arch/powerpc/include/asm/pgtable-ppc32.h2
-rw-r--r--arch/powerpc/include/asm/pgtable.h2
-rw-r--r--arch/powerpc/include/asm/pmac_feature.h2
-rw-r--r--arch/powerpc/include/asm/ppc-opcode.h18
-rw-r--r--arch/powerpc/include/asm/ppc-pci.h5
-rw-r--r--arch/powerpc/include/asm/processor.h39
-rw-r--r--arch/powerpc/include/asm/prom.h18
-rw-r--r--arch/powerpc/include/asm/ptrace.h144
-rw-r--r--arch/powerpc/include/asm/reg.h18
-rw-r--r--arch/powerpc/include/asm/reg_booke.h153
-rw-r--r--arch/powerpc/include/asm/reg_fsl_emb.h2
-rw-r--r--arch/powerpc/include/asm/scatterlist.h28
-rw-r--r--arch/powerpc/include/asm/smp.h18
-rw-r--r--arch/powerpc/include/asm/spinlock.h32
-rw-r--r--arch/powerpc/include/asm/synch.h12
-rw-r--r--arch/powerpc/include/asm/syscall.h6
-rw-r--r--arch/powerpc/include/asm/syscalls.h4
-rw-r--r--arch/powerpc/include/asm/systbl.h2
-rw-r--r--arch/powerpc/include/asm/system.h21
-rw-r--r--arch/powerpc/include/asm/thread_info.h4
-rw-r--r--arch/powerpc/include/asm/topology.h74
-rw-r--r--arch/powerpc/include/asm/unistd.h2
-rw-r--r--arch/powerpc/kernel/Makefile15
-rw-r--r--arch/powerpc/kernel/asm-offsets.c91
-rw-r--r--arch/powerpc/kernel/btext.c2
-rw-r--r--arch/powerpc/kernel/cacheinfo.c3
-rw-r--r--arch/powerpc/kernel/cputable.c33
-rw-r--r--arch/powerpc/kernel/crash.c44
-rw-r--r--arch/powerpc/kernel/crash_dump.c4
-rw-r--r--arch/powerpc/kernel/dma-swiotlb.c9
-rw-r--r--arch/powerpc/kernel/dma.c17
-rw-r--r--arch/powerpc/kernel/e500-pmu.c129
-rw-r--r--arch/powerpc/kernel/entry_32.S5
-rw-r--r--arch/powerpc/kernel/entry_64.S12
-rw-r--r--arch/powerpc/kernel/exceptions-64s.S13
-rw-r--r--arch/powerpc/kernel/firmware.c2
-rw-r--r--arch/powerpc/kernel/fsl_booke_entry_mapping.S235
-rw-r--r--arch/powerpc/kernel/head_32.S14
-rw-r--r--arch/powerpc/kernel/head_44x.S828
-rw-r--r--arch/powerpc/kernel/head_64.S21
-rw-r--r--arch/powerpc/kernel/head_8xx.S70
-rw-r--r--arch/powerpc/kernel/head_booke.h4
-rw-r--r--arch/powerpc/kernel/head_fsl_booke.S220
-rw-r--r--arch/powerpc/kernel/ibmebus.c7
-rw-r--r--arch/powerpc/kernel/iommu.c19
-rw-r--r--arch/powerpc/kernel/irq.c180
-rw-r--r--arch/powerpc/kernel/kgdb.c13
-rw-r--r--arch/powerpc/kernel/kprobes.c22
-rw-r--r--arch/powerpc/kernel/legacy_serial.c2
-rw-r--r--arch/powerpc/kernel/lparcfg.c23
-rw-r--r--arch/powerpc/kernel/machine_kexec.c12
-rw-r--r--arch/powerpc/kernel/machine_kexec_64.c66
-rw-r--r--arch/powerpc/kernel/misc.S26
-rw-r--r--arch/powerpc/kernel/misc_32.S28
-rw-r--r--arch/powerpc/kernel/misc_64.S10
-rw-r--r--arch/powerpc/kernel/nvram_64.c6
-rw-r--r--arch/powerpc/kernel/of_device.c13
-rw-r--r--arch/powerpc/kernel/of_platform.c22
-rw-r--r--arch/powerpc/kernel/paca.c95
-rw-r--r--arch/powerpc/kernel/pci-common.c45
-rw-r--r--arch/powerpc/kernel/pci_32.c1
-rw-r--r--arch/powerpc/kernel/pci_64.c2
-rw-r--r--arch/powerpc/kernel/pci_dn.c1
-rw-r--r--arch/powerpc/kernel/pci_of_scan.c14
-rw-r--r--arch/powerpc/kernel/perf_callchain.c3
-rw-r--r--arch/powerpc/kernel/perf_event.c163
-rw-r--r--arch/powerpc/kernel/perf_event_fsl_emb.c654
-rw-r--r--arch/powerpc/kernel/pmc.c10
-rw-r--r--arch/powerpc/kernel/ppc_ksyms.c5
-rw-r--r--arch/powerpc/kernel/proc_powerpc.c1
-rw-r--r--arch/powerpc/kernel/process.c136
-rw-r--r--arch/powerpc/kernel/prom.c946
-rw-r--r--arch/powerpc/kernel/prom_init.c82
-rw-r--r--arch/powerpc/kernel/prom_init_check.sh6
-rw-r--r--arch/powerpc/kernel/ptrace.c619
-rw-r--r--arch/powerpc/kernel/rtas.c22
-rw-r--r--arch/powerpc/kernel/rtas_flash.c40
-rw-r--r--arch/powerpc/kernel/rtasd.c17
-rw-r--r--arch/powerpc/kernel/setup-common.c91
-rw-r--r--arch/powerpc/kernel/setup_32.c26
-rw-r--r--arch/powerpc/kernel/setup_64.c63
-rw-r--r--arch/powerpc/kernel/signal.c6
-rw-r--r--arch/powerpc/kernel/signal_32.c16
-rw-r--r--arch/powerpc/kernel/smp-tbsync.c1
-rw-r--r--arch/powerpc/kernel/smp.c73
-rw-r--r--arch/powerpc/kernel/softemu8xx.c1
-rw-r--r--arch/powerpc/kernel/swsusp_booke.S193
-rw-r--r--arch/powerpc/kernel/sys_ppc32.c1
-rw-r--r--arch/powerpc/kernel/syscalls.c164
-rw-r--r--arch/powerpc/kernel/sysfs.c46
-rw-r--r--arch/powerpc/kernel/time.c70
-rw-r--r--arch/powerpc/kernel/traps.c264
-rw-r--r--arch/powerpc/kernel/vdso.c4
-rw-r--r--arch/powerpc/kernel/vio.c45
-rw-r--r--arch/powerpc/kvm/44x.c3
-rw-r--r--arch/powerpc/kvm/44x_emulate.c25
-rw-r--r--arch/powerpc/kvm/44x_tlb.c22
-rw-r--r--arch/powerpc/kvm/Kconfig26
-rw-r--r--arch/powerpc/kvm/Makefile20
-rw-r--r--arch/powerpc/kvm/book3s.c782
-rw-r--r--arch/powerpc/kvm/book3s_32_mmu.c54
-rw-r--r--arch/powerpc/kvm/book3s_32_mmu_host.c483
-rw-r--r--arch/powerpc/kvm/book3s_32_sr.S143
-rw-r--r--arch/powerpc/kvm/book3s_64_emulate.c345
-rw-r--r--arch/powerpc/kvm/book3s_64_interrupts.S392
-rw-r--r--arch/powerpc/kvm/book3s_64_mmu.c46
-rw-r--r--arch/powerpc/kvm/book3s_64_mmu_host.c102
-rw-r--r--arch/powerpc/kvm/book3s_64_rmhandlers.S131
-rw-r--r--arch/powerpc/kvm/book3s_64_slb.S149
-rw-r--r--arch/powerpc/kvm/book3s_emulate.c573
-rw-r--r--arch/powerpc/kvm/book3s_exports.c (renamed from arch/powerpc/kvm/book3s_64_exports.c)8
-rw-r--r--arch/powerpc/kvm/book3s_interrupts.S320
-rw-r--r--arch/powerpc/kvm/book3s_paired_singles.c1289
-rw-r--r--arch/powerpc/kvm/book3s_rmhandlers.S251
-rw-r--r--arch/powerpc/kvm/book3s_segment.S259
-rw-r--r--arch/powerpc/kvm/booke.c109
-rw-r--r--arch/powerpc/kvm/booke_emulate.c107
-rw-r--r--arch/powerpc/kvm/e500.c11
-rw-r--r--arch/powerpc/kvm/e500_emulate.c93
-rw-r--r--arch/powerpc/kvm/e500_tlb.c11
-rw-r--r--arch/powerpc/kvm/emulate.c165
-rw-r--r--arch/powerpc/kvm/fpu.S273
-rw-r--r--arch/powerpc/kvm/powerpc.c149
-rw-r--r--arch/powerpc/lib/Makefile4
-rw-r--r--arch/powerpc/lib/copypage_64.S28
-rw-r--r--arch/powerpc/lib/copyuser_64.S80
-rw-r--r--arch/powerpc/lib/crtsavres.S129
-rw-r--r--arch/powerpc/lib/devres.c1
-rw-r--r--arch/powerpc/lib/feature-fixups.c20
-rw-r--r--arch/powerpc/lib/string.S18
-rw-r--r--arch/powerpc/mm/40x_mmu.c6
-rw-r--r--arch/powerpc/mm/44x_mmu.c144
-rw-r--r--arch/powerpc/mm/dma-noncoherent.c1
-rw-r--r--arch/powerpc/mm/fault.c19
-rw-r--r--arch/powerpc/mm/fsl_booke_mmu.c32
-rw-r--r--arch/powerpc/mm/hash_low_64.S9
-rw-r--r--arch/powerpc/mm/hash_native_64.c19
-rw-r--r--arch/powerpc/mm/hash_utils_64.c79
-rw-r--r--arch/powerpc/mm/hugetlbpage-hash64.c40
-rw-r--r--arch/powerpc/mm/hugetlbpage.c1
-rw-r--r--arch/powerpc/mm/init_32.c19
-rw-r--r--arch/powerpc/mm/init_64.c46
-rw-r--r--arch/powerpc/mm/mem.c89
-rw-r--r--arch/powerpc/mm/mmu_context_hash32.c29
-rw-r--r--arch/powerpc/mm/mmu_context_hash64.c11
-rw-r--r--arch/powerpc/mm/mmu_context_nohash.c23
-rw-r--r--arch/powerpc/mm/mmu_decl.h17
-rw-r--r--arch/powerpc/mm/numa.c145
-rw-r--r--arch/powerpc/mm/pgtable.c1
-rw-r--r--arch/powerpc/mm/pgtable_32.c23
-rw-r--r--arch/powerpc/mm/pgtable_64.c13
-rw-r--r--arch/powerpc/mm/ppc_mmu_32.c4
-rw-r--r--arch/powerpc/mm/stab.c4
-rw-r--r--arch/powerpc/mm/subpage-prot.c1
-rw-r--r--arch/powerpc/mm/tlb_hash64.c12
-rw-r--r--arch/powerpc/mm/tlb_low_64e.S2
-rw-r--r--arch/powerpc/mm/tlb_nohash.c10
-rw-r--r--arch/powerpc/mm/tlb_nohash_low.S146
-rw-r--r--arch/powerpc/oprofile/cell/spu_task_sync.c1
-rw-r--r--arch/powerpc/oprofile/cell/vma_map.c1
-rw-r--r--arch/powerpc/oprofile/op_model_cell.c2
-rw-r--r--arch/powerpc/platforms/44x/Kconfig31
-rw-r--r--arch/powerpc/platforms/44x/Makefile1
-rw-r--r--arch/powerpc/platforms/44x/iss4xx.c167
-rw-r--r--arch/powerpc/platforms/44x/ppc44x_simple.c3
-rw-r--r--arch/powerpc/platforms/44x/warp.c1
-rw-r--r--arch/powerpc/platforms/512x/clock.c6
-rw-r--r--arch/powerpc/platforms/512x/mpc5121_ads.c3
-rw-r--r--arch/powerpc/platforms/512x/mpc5121_ads_cpld.c2
-rw-r--r--arch/powerpc/platforms/512x/mpc5121_generic.c3
-rw-r--r--arch/powerpc/platforms/512x/mpc512x.h3
-rw-r--r--arch/powerpc/platforms/512x/mpc512x_shared.c121
-rw-r--r--arch/powerpc/platforms/52xx/mpc52xx_gpio.c19
-rw-r--r--arch/powerpc/platforms/52xx/mpc52xx_gpt.c32
-rw-r--r--arch/powerpc/platforms/52xx/mpc52xx_lpbfifo.c16
-rw-r--r--arch/powerpc/platforms/52xx/mpc52xx_pm.c11
-rw-r--r--arch/powerpc/platforms/82xx/ep8248e.c10
-rw-r--r--arch/powerpc/platforms/82xx/pq2ads-pci-pic.c11
-rw-r--r--arch/powerpc/platforms/83xx/mcu_mpc8349emitx.c1
-rw-r--r--arch/powerpc/platforms/83xx/mpc831x_rdb.c1
-rw-r--r--arch/powerpc/platforms/83xx/mpc837x_rdb.c1
-rw-r--r--arch/powerpc/platforms/83xx/suspend.c9
-rw-r--r--arch/powerpc/platforms/85xx/Kconfig4
-rw-r--r--arch/powerpc/platforms/85xx/corenet_ds.c4
-rw-r--r--arch/powerpc/platforms/85xx/mpc8536_ds.c4
-rw-r--r--arch/powerpc/platforms/85xx/mpc85xx_ds.c4
-rw-r--r--arch/powerpc/platforms/85xx/mpc85xx_mds.c134
-rw-r--r--arch/powerpc/platforms/85xx/smp.c21
-rw-r--r--arch/powerpc/platforms/85xx/socrates_fpga_pic.c36
-rw-r--r--arch/powerpc/platforms/85xx/stx_gp3.c2
-rw-r--r--arch/powerpc/platforms/85xx/xes_mpc85xx.c4
-rw-r--r--arch/powerpc/platforms/86xx/Kconfig16
-rw-r--r--arch/powerpc/platforms/86xx/gef_gpio.c11
-rw-r--r--arch/powerpc/platforms/86xx/gef_pic.c20
-rw-r--r--arch/powerpc/platforms/86xx/gef_ppc9a.c12
-rw-r--r--arch/powerpc/platforms/86xx/gef_sbc310.c12
-rw-r--r--arch/powerpc/platforms/86xx/gef_sbc610.c12
-rw-r--r--arch/powerpc/platforms/86xx/mpc8610_hpcd.c3
-rw-r--r--arch/powerpc/platforms/86xx/mpc86xx_hpcn.c4
-rw-r--r--arch/powerpc/platforms/8xx/m8xx_setup.c1
-rw-r--r--arch/powerpc/platforms/Kconfig.cputype15
-rw-r--r--arch/powerpc/platforms/cell/axon_msi.c10
-rw-r--r--arch/powerpc/platforms/cell/beat_htab.c24
-rw-r--r--arch/powerpc/platforms/cell/beat_interrupt.c20
-rw-r--r--arch/powerpc/platforms/cell/cbe_cpufreq.c2
-rw-r--r--arch/powerpc/platforms/cell/cbe_powerbutton.c2
-rw-r--r--arch/powerpc/platforms/cell/celleb_pci.c1
-rw-r--r--arch/powerpc/platforms/cell/celleb_scc_pciex.c1
-rw-r--r--arch/powerpc/platforms/cell/interrupt.c4
-rw-r--r--arch/powerpc/platforms/cell/iommu.c18
-rw-r--r--arch/powerpc/platforms/cell/ras.c3
-rw-r--r--arch/powerpc/platforms/cell/setup.c1
-rw-r--r--arch/powerpc/platforms/cell/spider-pci.c1
-rw-r--r--arch/powerpc/platforms/cell/spider-pic.c2
-rw-r--r--arch/powerpc/platforms/cell/spu_manage.c7
-rw-r--r--arch/powerpc/platforms/cell/spu_priv1_mmio.c1
-rw-r--r--arch/powerpc/platforms/cell/spufs/coredump.c1
-rw-r--r--arch/powerpc/platforms/cell/spufs/file.c4
-rw-r--r--arch/powerpc/platforms/cell/spufs/inode.c2
-rw-r--r--arch/powerpc/platforms/cell/spufs/lscsa_alloc.c1
-rw-r--r--arch/powerpc/platforms/cell/spufs/sched.c1
-rw-r--r--arch/powerpc/platforms/cell/spufs/syscalls.c1
-rw-r--r--arch/powerpc/platforms/chrp/nvram.c1
-rw-r--r--arch/powerpc/platforms/chrp/setup.c1
-rw-r--r--arch/powerpc/platforms/embedded6xx/wii.c16
-rw-r--r--arch/powerpc/platforms/fsl_uli1575.c12
-rw-r--r--arch/powerpc/platforms/iseries/exception.S29
-rw-r--r--arch/powerpc/platforms/iseries/iommu.c1
-rw-r--r--arch/powerpc/platforms/iseries/irq.c2
-rw-r--r--arch/powerpc/platforms/iseries/mf.c1
-rw-r--r--arch/powerpc/platforms/iseries/pci.c17
-rw-r--r--arch/powerpc/platforms/iseries/proc.c2
-rw-r--r--arch/powerpc/platforms/iseries/setup.c2
-rw-r--r--arch/powerpc/platforms/iseries/smp.c2
-rw-r--r--arch/powerpc/platforms/iseries/vio.c2
-rw-r--r--arch/powerpc/platforms/iseries/viopath.c1
-rw-r--r--arch/powerpc/platforms/maple/setup.c3
-rw-r--r--arch/powerpc/platforms/pasemi/cpufreq.c6
-rw-r--r--arch/powerpc/platforms/pasemi/dma_lib.c1
-rw-r--r--arch/powerpc/platforms/pasemi/gpio_mdio.c10
-rw-r--r--arch/powerpc/platforms/pasemi/iommu.c4
-rw-r--r--arch/powerpc/platforms/pasemi/setup.c5
-rw-r--r--arch/powerpc/platforms/powermac/bootx_init.c4
-rw-r--r--arch/powerpc/platforms/powermac/cpufreq_32.c15
-rw-r--r--arch/powerpc/platforms/powermac/cpufreq_64.c17
-rw-r--r--arch/powerpc/platforms/powermac/feature.c8
-rw-r--r--arch/powerpc/platforms/powermac/low_i2c.c8
-rw-r--r--arch/powerpc/platforms/powermac/nvram.c15
-rw-r--r--arch/powerpc/platforms/powermac/pfunc_base.c24
-rw-r--r--arch/powerpc/platforms/powermac/pfunc_core.c3
-rw-r--r--arch/powerpc/platforms/powermac/pic.c40
-rw-r--r--arch/powerpc/platforms/powermac/pmac.h2
-rw-r--r--arch/powerpc/platforms/powermac/setup.c18
-rw-r--r--arch/powerpc/platforms/powermac/smp.c21
-rw-r--r--arch/powerpc/platforms/powermac/time.c8
-rw-r--r--arch/powerpc/platforms/powermac/udbg_scc.c6
-rw-r--r--arch/powerpc/platforms/ps3/device-init.c1
-rw-r--r--arch/powerpc/platforms/ps3/htab.c2
-rw-r--r--arch/powerpc/platforms/ps3/mm.c7
-rw-r--r--arch/powerpc/platforms/ps3/os-area.c5
-rw-r--r--arch/powerpc/platforms/ps3/spu.c1
-rw-r--r--arch/powerpc/platforms/ps3/system-bus.c3
-rw-r--r--arch/powerpc/platforms/pseries/Makefile2
-rw-r--r--arch/powerpc/platforms/pseries/cmm.c1
-rw-r--r--arch/powerpc/platforms/pseries/dlpar.c9
-rw-r--r--arch/powerpc/platforms/pseries/dtl.c1
-rw-r--r--arch/powerpc/platforms/pseries/eeh.c20
-rw-r--r--arch/powerpc/platforms/pseries/eeh_cache.c1
-rw-r--r--arch/powerpc/platforms/pseries/eeh_driver.c10
-rw-r--r--arch/powerpc/platforms/pseries/eeh_event.c3
-rw-r--r--arch/powerpc/platforms/pseries/event_sources.c79
-rw-r--r--arch/powerpc/platforms/pseries/hotplug-cpu.c131
-rw-r--r--arch/powerpc/platforms/pseries/hotplug-memory.c31
-rw-r--r--arch/powerpc/platforms/pseries/hvCall.S38
-rw-r--r--arch/powerpc/platforms/pseries/hvCall_inst.c14
-rw-r--r--arch/powerpc/platforms/pseries/iommu.c4
-rw-r--r--arch/powerpc/platforms/pseries/lpar.c33
-rw-r--r--arch/powerpc/platforms/pseries/nvram.c1
-rw-r--r--arch/powerpc/platforms/pseries/offline_states.h23
-rw-r--r--arch/powerpc/platforms/pseries/pci_dlpar.c2
-rw-r--r--arch/powerpc/platforms/pseries/phyp_dump.c11
-rw-r--r--arch/powerpc/platforms/pseries/plpar_wrappers.h30
-rw-r--r--arch/powerpc/platforms/pseries/pseries.h7
-rw-r--r--arch/powerpc/platforms/pseries/ras.c63
-rw-r--r--arch/powerpc/platforms/pseries/reconfig.c1
-rw-r--r--arch/powerpc/platforms/pseries/scanlog.c1
-rw-r--r--arch/powerpc/platforms/pseries/setup.c11
-rw-r--r--arch/powerpc/platforms/pseries/smp.c46
-rw-r--r--arch/powerpc/platforms/pseries/xics.c97
-rw-r--r--arch/powerpc/sysdev/axonram.c14
-rw-r--r--arch/powerpc/sysdev/bestcomm/bestcomm.c18
-rw-r--r--arch/powerpc/sysdev/cpm1.c17
-rw-r--r--arch/powerpc/sysdev/cpm2.c11
-rw-r--r--arch/powerpc/sysdev/cpm2_pic.c2
-rw-r--r--arch/powerpc/sysdev/cpm2_pic.h2
-rw-r--r--arch/powerpc/sysdev/cpm_common.c1
-rw-r--r--arch/powerpc/sysdev/dart_iommu.c10
-rw-r--r--arch/powerpc/sysdev/fsl_gtm.c1
-rw-r--r--arch/powerpc/sysdev/fsl_msi.c141
-rw-r--r--arch/powerpc/sysdev/fsl_msi.h3
-rw-r--r--arch/powerpc/sysdev/fsl_pci.c5
-rw-r--r--arch/powerpc/sysdev/fsl_pmc.c9
-rw-r--r--arch/powerpc/sysdev/fsl_rio.c414
-rw-r--r--arch/powerpc/sysdev/grackle.c4
-rw-r--r--arch/powerpc/sysdev/i8259.c24
-rw-r--r--arch/powerpc/sysdev/ipic.c22
-rw-r--r--arch/powerpc/sysdev/micropatch.c30
-rw-r--r--arch/powerpc/sysdev/mpc8xx_pic.c2
-rw-r--r--arch/powerpc/sysdev/mpc8xxx_gpio.c148
-rw-r--r--arch/powerpc/sysdev/mpic.c115
-rw-r--r--arch/powerpc/sysdev/mpic_pasemi_msi.c2
-rw-r--r--arch/powerpc/sysdev/msi_bitmap.c1
-rw-r--r--arch/powerpc/sysdev/mv64x60_dev.c3
-rw-r--r--arch/powerpc/sysdev/mv64x60_pci.c4
-rw-r--r--arch/powerpc/sysdev/of_rtc.c1
-rw-r--r--arch/powerpc/sysdev/pmi.c10
-rw-r--r--arch/powerpc/sysdev/ppc4xx_gpio.c1
-rw-r--r--arch/powerpc/sysdev/ppc4xx_pci.c123
-rw-r--r--arch/powerpc/sysdev/ppc4xx_pci.h58
-rw-r--r--arch/powerpc/sysdev/ppc4xx_soc.c27
-rw-r--r--arch/powerpc/sysdev/qe_lib/gpio.c1
-rw-r--r--arch/powerpc/sysdev/qe_lib/qe.c7
-rw-r--r--arch/powerpc/sysdev/qe_lib/qe_ic.c14
-rw-r--r--arch/powerpc/sysdev/qe_lib/qe_io.c8
-rw-r--r--arch/powerpc/sysdev/qe_lib/ucc.c1
-rw-r--r--arch/powerpc/sysdev/simple_gpio.c1
-rw-r--r--arch/powerpc/sysdev/tsi108_pci.c1
-rw-r--r--arch/powerpc/sysdev/uic.c2
-rw-r--r--arch/powerpc/xmon/xmon.c2
518 files changed, 25427 insertions, 8226 deletions
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index ba3948c70072..2031a2846865 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -58,7 +58,7 @@ config IRQ_PER_CPU
58 58
59config NR_IRQS 59config NR_IRQS
60 int "Number of virtual interrupt numbers" 60 int "Number of virtual interrupt numbers"
61 range 32 512 61 range 32 32768
62 default "512" 62 default "512"
63 help 63 help
64 This defines the number of virtual interrupt numbers the kernel 64 This defines the number of virtual interrupt numbers the kernel
@@ -132,7 +132,7 @@ config PPC
132 select HAVE_ARCH_KGDB 132 select HAVE_ARCH_KGDB
133 select HAVE_KRETPROBES 133 select HAVE_KRETPROBES
134 select HAVE_ARCH_TRACEHOOK 134 select HAVE_ARCH_TRACEHOOK
135 select HAVE_LMB 135 select HAVE_MEMBLOCK
136 select HAVE_DMA_ATTRS 136 select HAVE_DMA_ATTRS
137 select HAVE_DMA_API_DEBUG 137 select HAVE_DMA_API_DEBUG
138 select USE_GENERIC_SMP_HELPERS if SMP 138 select USE_GENERIC_SMP_HELPERS if SMP
@@ -140,6 +140,7 @@ config PPC
140 select HAVE_SYSCALL_WRAPPERS if PPC64 140 select HAVE_SYSCALL_WRAPPERS if PPC64
141 select GENERIC_ATOMIC64 if PPC32 141 select GENERIC_ATOMIC64 if PPC32
142 select HAVE_PERF_EVENTS 142 select HAVE_PERF_EVENTS
143 select HAVE_REGS_AND_STACK_ACCESS_API
143 144
144config EARLY_PRINTK 145config EARLY_PRINTK
145 bool 146 bool
@@ -173,6 +174,7 @@ config PPC_OF
173 174
174config OF 175config OF
175 def_bool y 176 def_bool y
177 select OF_FLATTREE
176 178
177config PPC_UDBG_16550 179config PPC_UDBG_16550
178 bool 180 bool
@@ -240,6 +242,33 @@ config PPC_OF_PLATFORM_PCI
240config ARCH_SUPPORTS_DEBUG_PAGEALLOC 242config ARCH_SUPPORTS_DEBUG_PAGEALLOC
241 def_bool y 243 def_bool y
242 244
245config PPC_ADV_DEBUG_REGS
246 bool
247 depends on 40x || BOOKE
248 default y
249
250config PPC_ADV_DEBUG_IACS
251 int
252 depends on PPC_ADV_DEBUG_REGS
253 default 4 if 44x
254 default 2
255
256config PPC_ADV_DEBUG_DACS
257 int
258 depends on PPC_ADV_DEBUG_REGS
259 default 2
260
261config PPC_ADV_DEBUG_DVCS
262 int
263 depends on PPC_ADV_DEBUG_REGS
264 default 2 if 44x
265 default 0
266
267config PPC_ADV_DEBUG_DAC_RANGE
268 bool
269 depends on PPC_ADV_DEBUG_REGS && 44x
270 default y
271
243source "init/Kconfig" 272source "init/Kconfig"
244 273
245source "kernel/Kconfig.freezer" 274source "kernel/Kconfig.freezer"
@@ -285,19 +314,6 @@ config 8XX_MINIMAL_FPEMU
285 314
286 It is recommended that you build a soft-float userspace instead. 315 It is recommended that you build a soft-float userspace instead.
287 316
288config IOMMU_VMERGE
289 bool "Enable IOMMU virtual merging"
290 depends on PPC64
291 default y
292 help
293 Cause IO segments sent to a device for DMA to be merged virtually
294 by the IOMMU when they happen to have been allocated contiguously.
295 This doesn't add pressure to the IOMMU allocator. However, some
296 drivers don't support getting large merged segments coming back
297 from *_map_sg().
298
299 Most drivers don't have this problem; it is safe to say Y here.
300
301config IOMMU_HELPER 317config IOMMU_HELPER
302 def_bool PPC64 318 def_bool PPC64
303 319
@@ -335,7 +351,7 @@ config ARCH_ENABLE_MEMORY_HOTREMOVE
335 351
336config KEXEC 352config KEXEC
337 bool "kexec system call (EXPERIMENTAL)" 353 bool "kexec system call (EXPERIMENTAL)"
338 depends on PPC_BOOK3S && EXPERIMENTAL 354 depends on (PPC_BOOK3S || (FSL_BOOKE && !SMP)) && EXPERIMENTAL
339 help 355 help
340 kexec is a system call that implements the ability to shutdown your 356 kexec is a system call that implements the ability to shutdown your
341 current kernel, and to start another kernel. It is like a reboot 357 current kernel, and to start another kernel. It is like a reboot
@@ -384,7 +400,7 @@ config IRQ_ALL_CPUS
384 400
385config SPARSE_IRQ 401config SPARSE_IRQ
386 bool "Support sparse irq numbering" 402 bool "Support sparse irq numbering"
387 default y 403 default n
388 help 404 help
389 This enables support for sparse irqs. This is useful for distro 405 This enables support for sparse irqs. This is useful for distro
390 kernels that want to define a high CONFIG_NR_CPUS value but still 406 kernels that want to define a high CONFIG_NR_CPUS value but still
@@ -393,7 +409,7 @@ config SPARSE_IRQ
393 ( Sparse IRQs can also be beneficial on NUMA boxes, as they spread 409 ( Sparse IRQs can also be beneficial on NUMA boxes, as they spread
394 out the irq_desc[] array in a more NUMA-friendly way. ) 410 out the irq_desc[] array in a more NUMA-friendly way. )
395 411
396 If you don't know what to do here, say Y. 412 If you don't know what to do here, say N.
397 413
398config NUMA 414config NUMA
399 bool "NUMA support" 415 bool "NUMA support"
@@ -644,6 +660,12 @@ config ZONE_DMA
644 bool 660 bool
645 default y 661 default y
646 662
663config NEED_DMA_MAP_STATE
664 def_bool (PPC64 || NOT_COHERENT_CACHE)
665
666config NEED_SG_DMA_LENGTH
667 def_bool y
668
647config GENERIC_ISA_DMA 669config GENERIC_ISA_DMA
648 bool 670 bool
649 depends on PPC64 || POWER4 || 6xx && !CPM2 671 depends on PPC64 || POWER4 || 6xx && !CPM2
diff --git a/arch/powerpc/Kconfig.debug b/arch/powerpc/Kconfig.debug
index 5cdd7ed9a12e..2d38a50e66ba 100644
--- a/arch/powerpc/Kconfig.debug
+++ b/arch/powerpc/Kconfig.debug
@@ -44,6 +44,18 @@ config DEBUG_STACK_USAGE
44 44
45 This option will slow down process creation somewhat. 45 This option will slow down process creation somewhat.
46 46
47config DEBUG_PER_CPU_MAPS
48 bool "Debug access to per_cpu maps"
49 depends on DEBUG_KERNEL
50 depends on SMP
51 default n
52 ---help---
53 Say Y to verify that the per_cpu map being accessed has
54 been setup. Adds a fair amount of code to kernel memory
55 and decreases performance.
56
57 Say N if unsure.
58
47config HCALL_STATS 59config HCALL_STATS
48 bool "Hypervisor call instrumentation" 60 bool "Hypervisor call instrumentation"
49 depends on PPC_PSERIES && DEBUG_FS && TRACEPOINTS 61 depends on PPC_PSERIES && DEBUG_FS && TRACEPOINTS
@@ -123,13 +135,6 @@ config DEBUGGER
123 depends on KGDB || XMON 135 depends on KGDB || XMON
124 default y 136 default y
125 137
126config IRQSTACKS
127 bool "Use separate kernel stacks when processing interrupts"
128 help
129 If you say Y here the kernel will use separate kernel stacks
130 for handling hard and soft interrupts. This can help avoid
131 overflowing the process kernel stacks.
132
133config VIRQ_DEBUG 138config VIRQ_DEBUG
134 bool "Expose hardware/virtual IRQ mapping via debugfs" 139 bool "Expose hardware/virtual IRQ mapping via debugfs"
135 depends on DEBUG_FS 140 depends on DEBUG_FS
diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile
index b68a83853e1c..5d42f5eae70f 100644
--- a/arch/powerpc/Makefile
+++ b/arch/powerpc/Makefile
@@ -92,10 +92,10 @@ endif
92else 92else
93 KBUILD_CFLAGS += $(call cc-option,-mtune=power4) 93 KBUILD_CFLAGS += $(call cc-option,-mtune=power4)
94endif 94endif
95else
96KBUILD_LDFLAGS_MODULE += arch/powerpc/lib/crtsavres.o
97endif 95endif
98 96
97KBUILD_LDFLAGS_MODULE += arch/powerpc/lib/crtsavres.o
98
99ifeq ($(CONFIG_TUNE_CELL),y) 99ifeq ($(CONFIG_TUNE_CELL),y)
100 KBUILD_CFLAGS += $(call cc-option,-mtune=cell) 100 KBUILD_CFLAGS += $(call cc-option,-mtune=cell)
101endif 101endif
diff --git a/arch/powerpc/boot/4xx.c b/arch/powerpc/boot/4xx.c
index 27db8938827a..9d3bd4c45a24 100644
--- a/arch/powerpc/boot/4xx.c
+++ b/arch/powerpc/boot/4xx.c
@@ -519,7 +519,7 @@ void ibm440ep_fixup_clocks(unsigned int sys_clk,
519{ 519{
520 unsigned int plb_clk = __ibm440eplike_fixup_clocks(sys_clk, tmr_clk, 0); 520 unsigned int plb_clk = __ibm440eplike_fixup_clocks(sys_clk, tmr_clk, 0);
521 521
522 /* serial clocks beed fixup based on int/ext */ 522 /* serial clocks need fixup based on int/ext */
523 eplike_fixup_uart_clk(0, "/plb/opb/serial@ef600300", ser_clk, plb_clk); 523 eplike_fixup_uart_clk(0, "/plb/opb/serial@ef600300", ser_clk, plb_clk);
524 eplike_fixup_uart_clk(1, "/plb/opb/serial@ef600400", ser_clk, plb_clk); 524 eplike_fixup_uart_clk(1, "/plb/opb/serial@ef600400", ser_clk, plb_clk);
525 eplike_fixup_uart_clk(2, "/plb/opb/serial@ef600500", ser_clk, plb_clk); 525 eplike_fixup_uart_clk(2, "/plb/opb/serial@ef600500", ser_clk, plb_clk);
@@ -532,7 +532,7 @@ void ibm440gx_fixup_clocks(unsigned int sys_clk,
532{ 532{
533 unsigned int plb_clk = __ibm440eplike_fixup_clocks(sys_clk, tmr_clk, 1); 533 unsigned int plb_clk = __ibm440eplike_fixup_clocks(sys_clk, tmr_clk, 1);
534 534
535 /* serial clocks beed fixup based on int/ext */ 535 /* serial clocks need fixup based on int/ext */
536 eplike_fixup_uart_clk(0, "/plb/opb/serial@40000200", ser_clk, plb_clk); 536 eplike_fixup_uart_clk(0, "/plb/opb/serial@40000200", ser_clk, plb_clk);
537 eplike_fixup_uart_clk(1, "/plb/opb/serial@40000300", ser_clk, plb_clk); 537 eplike_fixup_uart_clk(1, "/plb/opb/serial@40000300", ser_clk, plb_clk);
538} 538}
@@ -543,10 +543,10 @@ void ibm440spe_fixup_clocks(unsigned int sys_clk,
543{ 543{
544 unsigned int plb_clk = __ibm440eplike_fixup_clocks(sys_clk, tmr_clk, 1); 544 unsigned int plb_clk = __ibm440eplike_fixup_clocks(sys_clk, tmr_clk, 1);
545 545
546 /* serial clocks beed fixup based on int/ext */ 546 /* serial clocks need fixup based on int/ext */
547 eplike_fixup_uart_clk(0, "/plb/opb/serial@10000200", ser_clk, plb_clk); 547 eplike_fixup_uart_clk(0, "/plb/opb/serial@f0000200", ser_clk, plb_clk);
548 eplike_fixup_uart_clk(1, "/plb/opb/serial@10000300", ser_clk, plb_clk); 548 eplike_fixup_uart_clk(1, "/plb/opb/serial@f0000300", ser_clk, plb_clk);
549 eplike_fixup_uart_clk(2, "/plb/opb/serial@10000600", ser_clk, plb_clk); 549 eplike_fixup_uart_clk(2, "/plb/opb/serial@f0000600", ser_clk, plb_clk);
550} 550}
551 551
552void ibm405gp_fixup_clocks(unsigned int sys_clk, unsigned int ser_clk) 552void ibm405gp_fixup_clocks(unsigned int sys_clk, unsigned int ser_clk)
diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile
index bb2465bcb327..fae8192c8fcc 100644
--- a/arch/powerpc/boot/Makefile
+++ b/arch/powerpc/boot/Makefile
@@ -44,6 +44,7 @@ $(obj)/cuboot-taishan.o: BOOTCFLAGS += -mcpu=405
44$(obj)/cuboot-katmai.o: BOOTCFLAGS += -mcpu=405 44$(obj)/cuboot-katmai.o: BOOTCFLAGS += -mcpu=405
45$(obj)/cuboot-acadia.o: BOOTCFLAGS += -mcpu=405 45$(obj)/cuboot-acadia.o: BOOTCFLAGS += -mcpu=405
46$(obj)/treeboot-walnut.o: BOOTCFLAGS += -mcpu=405 46$(obj)/treeboot-walnut.o: BOOTCFLAGS += -mcpu=405
47$(obj)/treeboot-iss4xx.o: BOOTCFLAGS += -mcpu=405
47$(obj)/virtex405-head.o: BOOTAFLAGS += -mcpu=405 48$(obj)/virtex405-head.o: BOOTAFLAGS += -mcpu=405
48 49
49 50
@@ -77,7 +78,7 @@ src-plat := of.c cuboot-52xx.c cuboot-824x.c cuboot-83xx.c cuboot-85xx.c holly.c
77 cuboot-warp.c cuboot-85xx-cpm2.c cuboot-yosemite.c simpleboot.c \ 78 cuboot-warp.c cuboot-85xx-cpm2.c cuboot-yosemite.c simpleboot.c \
78 virtex405-head.S virtex.c redboot-83xx.c cuboot-sam440ep.c \ 79 virtex405-head.S virtex.c redboot-83xx.c cuboot-sam440ep.c \
79 cuboot-acadia.c cuboot-amigaone.c cuboot-kilauea.c \ 80 cuboot-acadia.c cuboot-amigaone.c cuboot-kilauea.c \
80 gamecube-head.S gamecube.c wii-head.S wii.c 81 gamecube-head.S gamecube.c wii-head.S wii.c treeboot-iss4xx.c
81src-boot := $(src-wlib) $(src-plat) empty.c 82src-boot := $(src-wlib) $(src-plat) empty.c
82 83
83src-boot := $(addprefix $(obj)/, $(src-boot)) 84src-boot := $(addprefix $(obj)/, $(src-boot))
@@ -140,7 +141,7 @@ $(patsubst %.S,%.o, $(filter %.S, $(src-boot))): %.o: %.S FORCE
140$(obj)/wrapper.a: $(obj-wlib) FORCE 141$(obj)/wrapper.a: $(obj-wlib) FORCE
141 $(call if_changed,bootar) 142 $(call if_changed,bootar)
142 143
143hostprogs-y := addnote addRamDisk hack-coff mktree 144hostprogs-y := addnote hack-coff mktree
144 145
145targets += $(patsubst $(obj)/%,%,$(obj-boot) wrapper.a) 146targets += $(patsubst $(obj)/%,%,$(obj-boot) wrapper.a)
146extra-y := $(obj)/wrapper.a $(obj-plat) $(obj)/empty.o \ 147extra-y := $(obj)/wrapper.a $(obj-plat) $(obj)/empty.o \
@@ -169,7 +170,7 @@ quiet_cmd_wrap = WRAP $@
169 $(if $3, -s $3)$(if $4, -d $4)$(if $5, -i $5) vmlinux 170 $(if $3, -s $3)$(if $4, -d $4)$(if $5, -i $5) vmlinux
170 171
171image-$(CONFIG_PPC_PSERIES) += zImage.pseries 172image-$(CONFIG_PPC_PSERIES) += zImage.pseries
172image-$(CONFIG_PPC_MAPLE) += zImage.pseries 173image-$(CONFIG_PPC_MAPLE) += zImage.maple
173image-$(CONFIG_PPC_IBM_CELL_BLADE) += zImage.pseries 174image-$(CONFIG_PPC_IBM_CELL_BLADE) += zImage.pseries
174image-$(CONFIG_PPC_PS3) += dtbImage.ps3 175image-$(CONFIG_PPC_PS3) += dtbImage.ps3
175image-$(CONFIG_PPC_CELLEB) += zImage.pseries 176image-$(CONFIG_PPC_CELLEB) += zImage.pseries
@@ -206,6 +207,8 @@ image-$(CONFIG_TAISHAN) += cuImage.taishan
206image-$(CONFIG_KATMAI) += cuImage.katmai 207image-$(CONFIG_KATMAI) += cuImage.katmai
207image-$(CONFIG_WARP) += cuImage.warp 208image-$(CONFIG_WARP) += cuImage.warp
208image-$(CONFIG_YOSEMITE) += cuImage.yosemite 209image-$(CONFIG_YOSEMITE) += cuImage.yosemite
210image-$(CONFIG_ISS4xx) += treeImage.iss4xx \
211 treeImage.iss4xx-mpic
209 212
210# Board ports in arch/powerpc/platform/8xx/Kconfig 213# Board ports in arch/powerpc/platform/8xx/Kconfig
211image-$(CONFIG_MPC86XADS) += cuImage.mpc866ads 214image-$(CONFIG_MPC86XADS) += cuImage.mpc866ads
@@ -351,7 +354,7 @@ install: $(CONFIGURE) $(addprefix $(obj)/, $(image-y))
351clean-files += $(image-) $(initrd-) cuImage.* dtbImage.* treeImage.* \ 354clean-files += $(image-) $(initrd-) cuImage.* dtbImage.* treeImage.* \
352 zImage zImage.initrd zImage.chrp zImage.coff zImage.holly \ 355 zImage zImage.initrd zImage.chrp zImage.coff zImage.holly \
353 zImage.iseries zImage.miboot zImage.pmac zImage.pseries \ 356 zImage.iseries zImage.miboot zImage.pmac zImage.pseries \
354 simpleImage.* otheros.bld *.dtb 357 zImage.maple simpleImage.* otheros.bld *.dtb
355 358
356# clean up files cached by wrapper 359# clean up files cached by wrapper
357clean-kernel := vmlinux.strip vmlinux.bin 360clean-kernel := vmlinux.strip vmlinux.bin
diff --git a/arch/powerpc/boot/addRamDisk.c b/arch/powerpc/boot/addRamDisk.c
deleted file mode 100644
index 893f446cbd22..000000000000
--- a/arch/powerpc/boot/addRamDisk.c
+++ /dev/null
@@ -1,311 +0,0 @@
1#include <stdio.h>
2#include <stdlib.h>
3#include <netinet/in.h>
4#include <unistd.h>
5#include <sys/types.h>
6#include <sys/stat.h>
7#include <string.h>
8#include <elf.h>
9
10#define ElfHeaderSize (64 * 1024)
11#define ElfPages (ElfHeaderSize / 4096)
12#define KERNELBASE (0xc000000000000000)
13#define _ALIGN_UP(addr,size) (((addr)+((size)-1))&(~((size)-1)))
14
15struct addr_range {
16 unsigned long long addr;
17 unsigned long memsize;
18 unsigned long offset;
19};
20
21static int check_elf64(void *p, int size, struct addr_range *r)
22{
23 Elf64_Ehdr *elf64 = p;
24 Elf64_Phdr *elf64ph;
25
26 if (elf64->e_ident[EI_MAG0] != ELFMAG0 ||
27 elf64->e_ident[EI_MAG1] != ELFMAG1 ||
28 elf64->e_ident[EI_MAG2] != ELFMAG2 ||
29 elf64->e_ident[EI_MAG3] != ELFMAG3 ||
30 elf64->e_ident[EI_CLASS] != ELFCLASS64 ||
31 elf64->e_ident[EI_DATA] != ELFDATA2MSB ||
32 elf64->e_type != ET_EXEC || elf64->e_machine != EM_PPC64)
33 return 0;
34
35 if ((elf64->e_phoff + sizeof(Elf64_Phdr)) > size)
36 return 0;
37
38 elf64ph = (Elf64_Phdr *) ((unsigned long)elf64 +
39 (unsigned long)elf64->e_phoff);
40
41 r->memsize = (unsigned long)elf64ph->p_memsz;
42 r->offset = (unsigned long)elf64ph->p_offset;
43 r->addr = (unsigned long long)elf64ph->p_vaddr;
44
45#ifdef DEBUG
46 printf("PPC64 ELF file, ph:\n");
47 printf("p_type 0x%08x\n", elf64ph->p_type);
48 printf("p_flags 0x%08x\n", elf64ph->p_flags);
49 printf("p_offset 0x%016llx\n", elf64ph->p_offset);
50 printf("p_vaddr 0x%016llx\n", elf64ph->p_vaddr);
51 printf("p_paddr 0x%016llx\n", elf64ph->p_paddr);
52 printf("p_filesz 0x%016llx\n", elf64ph->p_filesz);
53 printf("p_memsz 0x%016llx\n", elf64ph->p_memsz);
54 printf("p_align 0x%016llx\n", elf64ph->p_align);
55 printf("... skipping 0x%08lx bytes of ELF header\n",
56 (unsigned long)elf64ph->p_offset);
57#endif
58
59 return 64;
60}
61static void get4k(FILE *file, char *buf )
62{
63 unsigned j;
64 unsigned num = fread(buf, 1, 4096, file);
65 for ( j=num; j<4096; ++j )
66 buf[j] = 0;
67}
68
69static void put4k(FILE *file, char *buf )
70{
71 fwrite(buf, 1, 4096, file);
72}
73
74static void death(const char *msg, FILE *fdesc, const char *fname)
75{
76 fprintf(stderr, msg);
77 fclose(fdesc);
78 unlink(fname);
79 exit(1);
80}
81
82int main(int argc, char **argv)
83{
84 char inbuf[4096];
85 struct addr_range vmlinux;
86 FILE *ramDisk;
87 FILE *inputVmlinux;
88 FILE *outputVmlinux;
89
90 char *rd_name, *lx_name, *out_name;
91
92 size_t i;
93 unsigned long ramFileLen;
94 unsigned long ramLen;
95 unsigned long roundR;
96 unsigned long offset_end;
97
98 unsigned long kernelLen;
99 unsigned long actualKernelLen;
100 unsigned long round;
101 unsigned long roundedKernelLen;
102 unsigned long ramStartOffs;
103 unsigned long ramPages;
104 unsigned long roundedKernelPages;
105 unsigned long hvReleaseData;
106 u_int32_t eyeCatcher = 0xc8a5d9c4;
107 unsigned long naca;
108 unsigned long xRamDisk;
109 unsigned long xRamDiskSize;
110 long padPages;
111
112
113 if (argc < 2) {
114 fprintf(stderr, "Name of RAM disk file missing.\n");
115 exit(1);
116 }
117 rd_name = argv[1];
118
119 if (argc < 3) {
120 fprintf(stderr, "Name of vmlinux file missing.\n");
121 exit(1);
122 }
123 lx_name = argv[2];
124
125 if (argc < 4) {
126 fprintf(stderr, "Name of vmlinux output file missing.\n");
127 exit(1);
128 }
129 out_name = argv[3];
130
131
132 ramDisk = fopen(rd_name, "r");
133 if ( ! ramDisk ) {
134 fprintf(stderr, "RAM disk file \"%s\" failed to open.\n", rd_name);
135 exit(1);
136 }
137
138 inputVmlinux = fopen(lx_name, "r");
139 if ( ! inputVmlinux ) {
140 fprintf(stderr, "vmlinux file \"%s\" failed to open.\n", lx_name);
141 exit(1);
142 }
143
144 outputVmlinux = fopen(out_name, "w+");
145 if ( ! outputVmlinux ) {
146 fprintf(stderr, "output vmlinux file \"%s\" failed to open.\n", out_name);
147 exit(1);
148 }
149
150 i = fread(inbuf, 1, sizeof(inbuf), inputVmlinux);
151 if (i != sizeof(inbuf)) {
152 fprintf(stderr, "can not read vmlinux file %s: %u\n", lx_name, i);
153 exit(1);
154 }
155
156 i = check_elf64(inbuf, sizeof(inbuf), &vmlinux);
157 if (i == 0) {
158 fprintf(stderr, "You must have a linux kernel specified as argv[2]\n");
159 exit(1);
160 }
161
162 /* Input Vmlinux file */
163 fseek(inputVmlinux, 0, SEEK_END);
164 kernelLen = ftell(inputVmlinux);
165 fseek(inputVmlinux, 0, SEEK_SET);
166 printf("kernel file size = %lu\n", kernelLen);
167
168 actualKernelLen = kernelLen - ElfHeaderSize;
169
170 printf("actual kernel length (minus ELF header) = %lu\n", actualKernelLen);
171
172 round = actualKernelLen % 4096;
173 roundedKernelLen = actualKernelLen;
174 if ( round )
175 roundedKernelLen += (4096 - round);
176 printf("Vmlinux length rounded up to a 4k multiple = %ld/0x%lx \n", roundedKernelLen, roundedKernelLen);
177 roundedKernelPages = roundedKernelLen / 4096;
178 printf("Vmlinux pages to copy = %ld/0x%lx \n", roundedKernelPages, roundedKernelPages);
179
180 offset_end = _ALIGN_UP(vmlinux.memsize, 4096);
181 /* calc how many pages we need to insert between the vmlinux and the start of the ram disk */
182 padPages = offset_end/4096 - roundedKernelPages;
183
184 /* Check and see if the vmlinux is already larger than _end in System.map */
185 if (padPages < 0) {
186 /* vmlinux is larger than _end - adjust the offset to the start of the embedded ram disk */
187 offset_end = roundedKernelLen;
188 printf("vmlinux is larger than _end indicates it needs to be - offset_end = %lx \n", offset_end);
189 padPages = 0;
190 printf("will insert %lx pages between the vmlinux and the start of the ram disk \n", padPages);
191 }
192 else {
193 /* _end is larger than vmlinux - use the offset to _end that we calculated from the system map */
194 printf("vmlinux is smaller than _end indicates is needed - offset_end = %lx \n", offset_end);
195 printf("will insert %lx pages between the vmlinux and the start of the ram disk \n", padPages);
196 }
197
198
199
200 /* Input Ram Disk file */
201 // Set the offset that the ram disk will be started at.
202 ramStartOffs = offset_end; /* determined from the input vmlinux file and the system map */
203 printf("Ram Disk will start at offset = 0x%lx \n", ramStartOffs);
204
205 fseek(ramDisk, 0, SEEK_END);
206 ramFileLen = ftell(ramDisk);
207 fseek(ramDisk, 0, SEEK_SET);
208 printf("%s file size = %ld/0x%lx \n", rd_name, ramFileLen, ramFileLen);
209
210 ramLen = ramFileLen;
211
212 roundR = 4096 - (ramLen % 4096);
213 if ( roundR ) {
214 printf("Rounding RAM disk file up to a multiple of 4096, adding %ld/0x%lx \n", roundR, roundR);
215 ramLen += roundR;
216 }
217
218 printf("Rounded RAM disk size is %ld/0x%lx \n", ramLen, ramLen);
219 ramPages = ramLen / 4096;
220 printf("RAM disk pages to copy = %ld/0x%lx\n", ramPages, ramPages);
221
222
223
224 // Copy 64K ELF header
225 for (i=0; i<(ElfPages); ++i) {
226 get4k( inputVmlinux, inbuf );
227 put4k( outputVmlinux, inbuf );
228 }
229
230 /* Copy the vmlinux (as full pages). */
231 fseek(inputVmlinux, ElfHeaderSize, SEEK_SET);
232 for ( i=0; i<roundedKernelPages; ++i ) {
233 get4k( inputVmlinux, inbuf );
234 put4k( outputVmlinux, inbuf );
235 }
236
237 /* Insert pad pages (if appropriate) that are needed between */
238 /* | the end of the vmlinux and the ram disk. */
239 for (i=0; i<padPages; ++i) {
240 memset(inbuf, 0, 4096);
241 put4k(outputVmlinux, inbuf);
242 }
243
244 /* Copy the ram disk (as full pages). */
245 for ( i=0; i<ramPages; ++i ) {
246 get4k( ramDisk, inbuf );
247 put4k( outputVmlinux, inbuf );
248 }
249
250 /* Close the input files */
251 fclose(ramDisk);
252 fclose(inputVmlinux);
253 /* And flush the written output file */
254 fflush(outputVmlinux);
255
256
257
258 /* Fixup the new vmlinux to contain the ram disk starting offset (xRamDisk) and the ram disk size (xRamDiskSize) */
259 /* fseek to the hvReleaseData pointer */
260 fseek(outputVmlinux, ElfHeaderSize + 0x24, SEEK_SET);
261 if (fread(&hvReleaseData, 4, 1, outputVmlinux) != 1) {
262 death("Could not read hvReleaseData pointer\n", outputVmlinux, out_name);
263 }
264 hvReleaseData = ntohl(hvReleaseData); /* Convert to native int */
265 printf("hvReleaseData is at %08lx\n", hvReleaseData);
266
267 /* fseek to the hvReleaseData */
268 fseek(outputVmlinux, ElfHeaderSize + hvReleaseData, SEEK_SET);
269 if (fread(inbuf, 0x40, 1, outputVmlinux) != 1) {
270 death("Could not read hvReleaseData\n", outputVmlinux, out_name);
271 }
272 /* Check hvReleaseData sanity */
273 if (memcmp(inbuf, &eyeCatcher, 4) != 0) {
274 death("hvReleaseData is invalid\n", outputVmlinux, out_name);
275 }
276 /* Get the naca pointer */
277 naca = ntohl(*((u_int32_t*) &inbuf[0x0C])) - KERNELBASE;
278 printf("Naca is at offset 0x%lx \n", naca);
279
280 /* fseek to the naca */
281 fseek(outputVmlinux, ElfHeaderSize + naca, SEEK_SET);
282 if (fread(inbuf, 0x18, 1, outputVmlinux) != 1) {
283 death("Could not read naca\n", outputVmlinux, out_name);
284 }
285 xRamDisk = ntohl(*((u_int32_t *) &inbuf[0x0c]));
286 xRamDiskSize = ntohl(*((u_int32_t *) &inbuf[0x14]));
287 /* Make sure a RAM disk isn't already present */
288 if ((xRamDisk != 0) || (xRamDiskSize != 0)) {
289 death("RAM disk is already attached to this kernel\n", outputVmlinux, out_name);
290 }
291 /* Fill in the values */
292 *((u_int32_t *) &inbuf[0x0c]) = htonl(ramStartOffs);
293 *((u_int32_t *) &inbuf[0x14]) = htonl(ramPages);
294
295 /* Write out the new naca */
296 fflush(outputVmlinux);
297 fseek(outputVmlinux, ElfHeaderSize + naca, SEEK_SET);
298 if (fwrite(inbuf, 0x18, 1, outputVmlinux) != 1) {
299 death("Could not write naca\n", outputVmlinux, out_name);
300 }
301 printf("Ram Disk of 0x%lx pages is attached to the kernel at offset 0x%08lx\n",
302 ramPages, ramStartOffs);
303
304 /* Done */
305 fclose(outputVmlinux);
306 /* Set permission to executable */
307 chmod(out_name, S_IRUSR|S_IWUSR|S_IXUSR|S_IRGRP|S_IXGRP|S_IROTH|S_IXOTH);
308
309 return 0;
310}
311
diff --git a/arch/powerpc/boot/dts/arches.dts b/arch/powerpc/boot/dts/arches.dts
index 414ef8b7e575..30f41204acfa 100644
--- a/arch/powerpc/boot/dts/arches.dts
+++ b/arch/powerpc/boot/dts/arches.dts
@@ -60,6 +60,7 @@
60 d-cache-size = <32768>; 60 d-cache-size = <32768>;
61 dcr-controller; 61 dcr-controller;
62 dcr-access-method = "native"; 62 dcr-access-method = "native";
63 next-level-cache = <&L2C0>;
63 }; 64 };
64 }; 65 };
65 66
@@ -146,6 +147,13 @@
146 dcr-reg = <0x010 0x002>; 147 dcr-reg = <0x010 0x002>;
147 }; 148 };
148 149
150 CRYPTO: crypto@180000 {
151 compatible = "amcc,ppc460gt-crypto", "amcc,ppc4xx-crypto";
152 reg = <4 0x00180000 0x80400>;
153 interrupt-parent = <&UIC0>;
154 interrupts = <0x1d 0x4>;
155 };
156
149 MAL0: mcmal { 157 MAL0: mcmal {
150 compatible = "ibm,mcmal-460gt", "ibm,mcmal2"; 158 compatible = "ibm,mcmal-460gt", "ibm,mcmal2";
151 dcr-reg = <0x180 0x062>; 159 dcr-reg = <0x180 0x062>;
@@ -274,6 +282,7 @@
274 max-frame-size = <9000>; 282 max-frame-size = <9000>;
275 rx-fifo-size = <4096>; 283 rx-fifo-size = <4096>;
276 tx-fifo-size = <2048>; 284 tx-fifo-size = <2048>;
285 rx-fifo-size-gige = <16384>;
277 phy-mode = "sgmii"; 286 phy-mode = "sgmii";
278 phy-map = <0xffffffff>; 287 phy-map = <0xffffffff>;
279 gpcs-address = <0x0000000a>; 288 gpcs-address = <0x0000000a>;
@@ -302,6 +311,7 @@
302 max-frame-size = <9000>; 311 max-frame-size = <9000>;
303 rx-fifo-size = <4096>; 312 rx-fifo-size = <4096>;
304 tx-fifo-size = <2048>; 313 tx-fifo-size = <2048>;
314 rx-fifo-size-gige = <16384>;
305 phy-mode = "sgmii"; 315 phy-mode = "sgmii";
306 phy-map = <0x00000000>; 316 phy-map = <0x00000000>;
307 gpcs-address = <0x0000000b>; 317 gpcs-address = <0x0000000b>;
@@ -331,6 +341,8 @@
331 max-frame-size = <9000>; 341 max-frame-size = <9000>;
332 rx-fifo-size = <4096>; 342 rx-fifo-size = <4096>;
333 tx-fifo-size = <2048>; 343 tx-fifo-size = <2048>;
344 rx-fifo-size-gige = <16384>;
345 tx-fifo-size-gige = <16384>; /* emac2&3 only */
334 phy-mode = "sgmii"; 346 phy-mode = "sgmii";
335 phy-map = <0x00000001>; 347 phy-map = <0x00000001>;
336 gpcs-address = <0x0000000C>; 348 gpcs-address = <0x0000000C>;
diff --git a/arch/powerpc/boot/dts/gef_ppc9a.dts b/arch/powerpc/boot/dts/gef_ppc9a.dts
index c86114e93f1e..83f4b79dff85 100644
--- a/arch/powerpc/boot/dts/gef_ppc9a.dts
+++ b/arch/powerpc/boot/dts/gef_ppc9a.dts
@@ -1,7 +1,7 @@
1/* 1/*
2 * GE Fanuc PPC9A Device Tree Source 2 * GE PPC9A Device Tree Source
3 * 3 *
4 * Copyright 2008 GE Fanuc Intelligent Platforms Embedded Systems, Inc. 4 * Copyright 2008 GE Intelligent Platforms Embedded Systems, Inc.
5 * 5 *
6 * This program is free software; you can redistribute it and/or modify it 6 * This program is free software; you can redistribute it and/or modify it
7 * under the terms of the GNU General Public License as published by the 7 * under the terms of the GNU General Public License as published by the
@@ -341,6 +341,22 @@
341 device_type = "open-pic"; 341 device_type = "open-pic";
342 }; 342 };
343 343
344 msi@41600 {
345 compatible = "fsl,mpc8641-msi", "fsl,mpic-msi";
346 reg = <0x41600 0x80>;
347 msi-available-ranges = <0 0x100>;
348 interrupts = <
349 0xe0 0
350 0xe1 0
351 0xe2 0
352 0xe3 0
353 0xe4 0
354 0xe5 0
355 0xe6 0
356 0xe7 0>;
357 interrupt-parent = <&mpic>;
358 };
359
344 global-utilities@e0000 { 360 global-utilities@e0000 {
345 compatible = "fsl,mpc8641-guts"; 361 compatible = "fsl,mpc8641-guts";
346 reg = <0xe0000 0x1000>; 362 reg = <0xe0000 0x1000>;
diff --git a/arch/powerpc/boot/dts/gef_sbc310.dts b/arch/powerpc/boot/dts/gef_sbc310.dts
index 820c2b355ab1..fc3a331dd392 100644
--- a/arch/powerpc/boot/dts/gef_sbc310.dts
+++ b/arch/powerpc/boot/dts/gef_sbc310.dts
@@ -1,7 +1,7 @@
1/* 1/*
2 * GE Fanuc SBC310 Device Tree Source 2 * GE SBC310 Device Tree Source
3 * 3 *
4 * Copyright 2008 GE Fanuc Intelligent Platforms Embedded Systems, Inc. 4 * Copyright 2008 GE Intelligent Platforms Embedded Systems, Inc.
5 * 5 *
6 * This program is free software; you can redistribute it and/or modify it 6 * This program is free software; you can redistribute it and/or modify it
7 * under the terms of the GNU General Public License as published by the 7 * under the terms of the GNU General Public License as published by the
@@ -32,6 +32,7 @@
32 serial0 = &serial0; 32 serial0 = &serial0;
33 serial1 = &serial1; 33 serial1 = &serial1;
34 pci0 = &pci0; 34 pci0 = &pci0;
35 pci1 = &pci1;
35 }; 36 };
36 37
37 cpus { 38 cpus {
@@ -338,6 +339,22 @@
338 device_type = "open-pic"; 339 device_type = "open-pic";
339 }; 340 };
340 341
342 msi@41600 {
343 compatible = "fsl,mpc8641-msi", "fsl,mpic-msi";
344 reg = <0x41600 0x80>;
345 msi-available-ranges = <0 0x100>;
346 interrupts = <
347 0xe0 0
348 0xe1 0
349 0xe2 0
350 0xe3 0
351 0xe4 0
352 0xe5 0
353 0xe6 0
354 0xe7 0>;
355 interrupt-parent = <&mpic>;
356 };
357
341 global-utilities@e0000 { 358 global-utilities@e0000 {
342 compatible = "fsl,mpc8641-guts"; 359 compatible = "fsl,mpc8641-guts";
343 reg = <0xe0000 0x1000>; 360 reg = <0xe0000 0x1000>;
@@ -358,7 +375,7 @@
358 clock-frequency = <33333333>; 375 clock-frequency = <33333333>;
359 interrupt-parent = <&mpic>; 376 interrupt-parent = <&mpic>;
360 interrupts = <0x18 0x2>; 377 interrupts = <0x18 0x2>;
361 interrupt-map-mask = <0xf800 0x0 0x0 0x7>; 378 interrupt-map-mask = <0xff00 0x0 0x0 0x7>;
362 interrupt-map = < 379 interrupt-map = <
363 0x0000 0x0 0x0 0x1 &mpic 0x0 0x2 380 0x0000 0x0 0x0 0x1 &mpic 0x0 0x2
364 0x0000 0x0 0x0 0x2 &mpic 0x1 0x2 381 0x0000 0x0 0x0 0x2 &mpic 0x1 0x2
diff --git a/arch/powerpc/boot/dts/gef_sbc610.dts b/arch/powerpc/boot/dts/gef_sbc610.dts
index 30911adefc8e..c0671cc98125 100644
--- a/arch/powerpc/boot/dts/gef_sbc610.dts
+++ b/arch/powerpc/boot/dts/gef_sbc610.dts
@@ -1,7 +1,7 @@
1/* 1/*
2 * GE Fanuc SBC610 Device Tree Source 2 * GE SBC610 Device Tree Source
3 * 3 *
4 * Copyright 2008 GE Fanuc Intelligent Platforms Embedded Systems, Inc. 4 * Copyright 2008 GE Intelligent Platforms Embedded Systems, Inc.
5 * 5 *
6 * This program is free software; you can redistribute it and/or modify it 6 * This program is free software; you can redistribute it and/or modify it
7 * under the terms of the GNU General Public License as published by the 7 * under the terms of the GNU General Public License as published by the
@@ -75,14 +75,48 @@
75 interrupts = <19 2>; 75 interrupts = <19 2>;
76 interrupt-parent = <&mpic>; 76 interrupt-parent = <&mpic>;
77 77
78 ranges = <0 0 0xff000000 0x01000000 // 16MB Boot flash 78 ranges = <0 0 0xff000000 0x01000000 // 16MB Boot flash
79 1 0 0xe8000000 0x08000000 // Paged Flash 0 79 1 0 0xe8000000 0x08000000 // Paged Flash 0
80 2 0 0xe0000000 0x08000000 // Paged Flash 1 80 2 0 0xe0000000 0x08000000 // Paged Flash 1
81 3 0 0xfc100000 0x00020000 // NVRAM 81 3 0 0xfc100000 0x00020000 // NVRAM
82 4 0 0xfc000000 0x00008000 // FPGA 82 4 0 0xfc000000 0x00008000 // FPGA
83 5 0 0xfc008000 0x00008000 // AFIX FPGA 83 5 0 0xfc008000 0x00008000 // AFIX FPGA
84 6 0 0xfd000000 0x00800000 // IO FPGA (8-bit) 84 6 0 0xfd000000 0x00800000 // IO FPGA (8-bit)
85 7 0 0xfd800000 0x00800000>; // IO FPGA (32-bit) 85 7 0 0xfd800000 0x00800000>; // IO FPGA (32-bit)
86
87 /* flash@0,0 is a mirror of part of the memory in flash@1,0
88 flash@0,0 {
89 compatible = "gef,sbc610-firmware-mirror", "cfi-flash";
90 reg = <0x0 0x0 0x1000000>;
91 bank-width = <4>;
92 device-width = <2>;
93 #address-cells = <1>;
94 #size-cells = <1>;
95 partition@0 {
96 label = "firmware";
97 reg = <0x0 0x1000000>;
98 read-only;
99 };
100 };
101 */
102
103 flash@1,0 {
104 compatible = "gef,sbc610-paged-flash", "cfi-flash";
105 reg = <0x1 0x0 0x8000000>;
106 bank-width = <4>;
107 device-width = <2>;
108 #address-cells = <1>;
109 #size-cells = <1>;
110 partition@0 {
111 label = "user";
112 reg = <0x0 0x7800000>;
113 };
114 partition@7800000 {
115 label = "firmware";
116 reg = <0x7800000 0x800000>;
117 read-only;
118 };
119 };
86 120
87 nvram@3,0 { 121 nvram@3,0 {
88 device_type = "nvram"; 122 device_type = "nvram";
@@ -305,6 +339,22 @@
305 device_type = "open-pic"; 339 device_type = "open-pic";
306 }; 340 };
307 341
342 msi@41600 {
343 compatible = "fsl,mpc8641-msi", "fsl,mpic-msi";
344 reg = <0x41600 0x80>;
345 msi-available-ranges = <0 0x100>;
346 interrupts = <
347 0xe0 0
348 0xe1 0
349 0xe2 0
350 0xe3 0
351 0xe4 0
352 0xe5 0
353 0xe6 0
354 0xe7 0>;
355 interrupt-parent = <&mpic>;
356 };
357
308 global-utilities@e0000 { 358 global-utilities@e0000 {
309 compatible = "fsl,mpc8641-guts"; 359 compatible = "fsl,mpc8641-guts";
310 reg = <0xe0000 0x1000>; 360 reg = <0xe0000 0x1000>;
diff --git a/arch/powerpc/boot/dts/glacier.dts b/arch/powerpc/boot/dts/glacier.dts
index f6f618939293..d62a4fb6f93c 100644
--- a/arch/powerpc/boot/dts/glacier.dts
+++ b/arch/powerpc/boot/dts/glacier.dts
@@ -1,7 +1,7 @@
1/* 1/*
2 * Device Tree Source for AMCC Glacier (460GT) 2 * Device Tree Source for AMCC Glacier (460GT)
3 * 3 *
4 * Copyright 2008 DENX Software Engineering, Stefan Roese <sr@denx.de> 4 * Copyright 2008-2010 DENX Software Engineering, Stefan Roese <sr@denx.de>
5 * 5 *
6 * This file is licensed under the terms of the GNU General Public 6 * This file is licensed under the terms of the GNU General Public
7 * License version 2. This program is licensed "as is" without 7 * License version 2. This program is licensed "as is" without
@@ -42,6 +42,7 @@
42 d-cache-size = <32768>; 42 d-cache-size = <32768>;
43 dcr-controller; 43 dcr-controller;
44 dcr-access-method = "native"; 44 dcr-access-method = "native";
45 next-level-cache = <&L2C0>;
45 }; 46 };
46 }; 47 };
47 48
@@ -106,6 +107,16 @@
106 dcr-reg = <0x00c 0x002>; 107 dcr-reg = <0x00c 0x002>;
107 }; 108 };
108 109
110 L2C0: l2c {
111 compatible = "ibm,l2-cache-460gt", "ibm,l2-cache";
112 dcr-reg = <0x020 0x008 /* Internal SRAM DCR's */
113 0x030 0x008>; /* L2 cache DCR's */
114 cache-line-size = <32>; /* 32 bytes */
115 cache-size = <262144>; /* L2, 256K */
116 interrupt-parent = <&UIC1>;
117 interrupts = <11 1>;
118 };
119
109 plb { 120 plb {
110 compatible = "ibm,plb-460gt", "ibm,plb4"; 121 compatible = "ibm,plb-460gt", "ibm,plb4";
111 #address-cells = <2>; 122 #address-cells = <2>;
@@ -118,6 +129,13 @@
118 dcr-reg = <0x010 0x002>; 129 dcr-reg = <0x010 0x002>;
119 }; 130 };
120 131
132 CRYPTO: crypto@180000 {
133 compatible = "amcc,ppc460gt-crypto", "amcc,ppc4xx-crypto";
134 reg = <4 0x00180000 0x80400>;
135 interrupt-parent = <&UIC0>;
136 interrupts = <0x1d 0x4>;
137 };
138
121 MAL0: mcmal { 139 MAL0: mcmal {
122 compatible = "ibm,mcmal-460gt", "ibm,mcmal2"; 140 compatible = "ibm,mcmal-460gt", "ibm,mcmal2";
123 dcr-reg = <0x180 0x062>; 141 dcr-reg = <0x180 0x062>;
@@ -186,6 +204,29 @@
186 reg = <0x03fa0000 0x00060000>; 204 reg = <0x03fa0000 0x00060000>;
187 }; 205 };
188 }; 206 };
207
208 ndfc@3,0 {
209 compatible = "ibm,ndfc";
210 reg = <0x00000003 0x00000000 0x00002000>;
211 ccr = <0x00001000>;
212 bank-settings = <0x80002222>;
213 #address-cells = <1>;
214 #size-cells = <1>;
215
216 nand {
217 #address-cells = <1>;
218 #size-cells = <1>;
219
220 partition@0 {
221 label = "u-boot";
222 reg = <0x00000000 0x00100000>;
223 };
224 partition@100000 {
225 label = "user";
226 reg = <0x00000000 0x03f00000>;
227 };
228 };
229 };
189 }; 230 };
190 231
191 UART0: serial@ef600300 { 232 UART0: serial@ef600300 {
@@ -237,6 +278,20 @@
237 reg = <0xef600700 0x00000014>; 278 reg = <0xef600700 0x00000014>;
238 interrupt-parent = <&UIC0>; 279 interrupt-parent = <&UIC0>;
239 interrupts = <0x2 0x4>; 280 interrupts = <0x2 0x4>;
281 #address-cells = <1>;
282 #size-cells = <0>;
283 rtc@68 {
284 compatible = "stm,m41t80";
285 reg = <0x68>;
286 interrupt-parent = <&UIC2>;
287 interrupts = <0x19 0x8>;
288 };
289 sttm@48 {
290 compatible = "ad,ad7414";
291 reg = <0x48>;
292 interrupt-parent = <&UIC1>;
293 interrupts = <0x14 0x8>;
294 };
240 }; 295 };
241 296
242 IIC1: i2c@ef600800 { 297 IIC1: i2c@ef600800 {
@@ -275,7 +330,7 @@
275 330
276 EMAC0: ethernet@ef600e00 { 331 EMAC0: ethernet@ef600e00 {
277 device_type = "network"; 332 device_type = "network";
278 compatible = "ibm,emac-460gt", "ibm,emac4"; 333 compatible = "ibm,emac-460gt", "ibm,emac4sync";
279 interrupt-parent = <&EMAC0>; 334 interrupt-parent = <&EMAC0>;
280 interrupts = <0x0 0x1>; 335 interrupts = <0x0 0x1>;
281 #interrupt-cells = <1>; 336 #interrupt-cells = <1>;
@@ -283,7 +338,7 @@
283 #size-cells = <0>; 338 #size-cells = <0>;
284 interrupt-map = </*Status*/ 0x0 &UIC2 0x10 0x4 339 interrupt-map = </*Status*/ 0x0 &UIC2 0x10 0x4
285 /*Wake*/ 0x1 &UIC2 0x14 0x4>; 340 /*Wake*/ 0x1 &UIC2 0x14 0x4>;
286 reg = <0xef600e00 0x00000074>; 341 reg = <0xef600e00 0x000000c4>;
287 local-mac-address = [000000000000]; /* Filled in by U-Boot */ 342 local-mac-address = [000000000000]; /* Filled in by U-Boot */
288 mal-device = <&MAL0>; 343 mal-device = <&MAL0>;
289 mal-tx-channel = <0>; 344 mal-tx-channel = <0>;
@@ -305,7 +360,7 @@
305 360
306 EMAC1: ethernet@ef600f00 { 361 EMAC1: ethernet@ef600f00 {
307 device_type = "network"; 362 device_type = "network";
308 compatible = "ibm,emac-460gt", "ibm,emac4"; 363 compatible = "ibm,emac-460gt", "ibm,emac4sync";
309 interrupt-parent = <&EMAC1>; 364 interrupt-parent = <&EMAC1>;
310 interrupts = <0x0 0x1>; 365 interrupts = <0x0 0x1>;
311 #interrupt-cells = <1>; 366 #interrupt-cells = <1>;
@@ -313,7 +368,7 @@
313 #size-cells = <0>; 368 #size-cells = <0>;
314 interrupt-map = </*Status*/ 0x0 &UIC2 0x11 0x4 369 interrupt-map = </*Status*/ 0x0 &UIC2 0x11 0x4
315 /*Wake*/ 0x1 &UIC2 0x15 0x4>; 370 /*Wake*/ 0x1 &UIC2 0x15 0x4>;
316 reg = <0xef600f00 0x00000074>; 371 reg = <0xef600f00 0x000000c4>;
317 local-mac-address = [000000000000]; /* Filled in by U-Boot */ 372 local-mac-address = [000000000000]; /* Filled in by U-Boot */
318 mal-device = <&MAL0>; 373 mal-device = <&MAL0>;
319 mal-tx-channel = <1>; 374 mal-tx-channel = <1>;
@@ -336,7 +391,7 @@
336 391
337 EMAC2: ethernet@ef601100 { 392 EMAC2: ethernet@ef601100 {
338 device_type = "network"; 393 device_type = "network";
339 compatible = "ibm,emac-460gt", "ibm,emac4"; 394 compatible = "ibm,emac-460gt", "ibm,emac4sync";
340 interrupt-parent = <&EMAC2>; 395 interrupt-parent = <&EMAC2>;
341 interrupts = <0x0 0x1>; 396 interrupts = <0x0 0x1>;
342 #interrupt-cells = <1>; 397 #interrupt-cells = <1>;
@@ -344,7 +399,7 @@
344 #size-cells = <0>; 399 #size-cells = <0>;
345 interrupt-map = </*Status*/ 0x0 &UIC2 0x12 0x4 400 interrupt-map = </*Status*/ 0x0 &UIC2 0x12 0x4
346 /*Wake*/ 0x1 &UIC2 0x16 0x4>; 401 /*Wake*/ 0x1 &UIC2 0x16 0x4>;
347 reg = <0xef601100 0x00000074>; 402 reg = <0xef601100 0x000000c4>;
348 local-mac-address = [000000000000]; /* Filled in by U-Boot */ 403 local-mac-address = [000000000000]; /* Filled in by U-Boot */
349 mal-device = <&MAL0>; 404 mal-device = <&MAL0>;
350 mal-tx-channel = <2>; 405 mal-tx-channel = <2>;
@@ -366,7 +421,7 @@
366 421
367 EMAC3: ethernet@ef601200 { 422 EMAC3: ethernet@ef601200 {
368 device_type = "network"; 423 device_type = "network";
369 compatible = "ibm,emac-460gt", "ibm,emac4"; 424 compatible = "ibm,emac-460gt", "ibm,emac4sync";
370 interrupt-parent = <&EMAC3>; 425 interrupt-parent = <&EMAC3>;
371 interrupts = <0x0 0x1>; 426 interrupts = <0x0 0x1>;
372 #interrupt-cells = <1>; 427 #interrupt-cells = <1>;
@@ -374,7 +429,7 @@
374 #size-cells = <0>; 429 #size-cells = <0>;
375 interrupt-map = </*Status*/ 0x0 &UIC2 0x13 0x4 430 interrupt-map = </*Status*/ 0x0 &UIC2 0x13 0x4
376 /*Wake*/ 0x1 &UIC2 0x17 0x4>; 431 /*Wake*/ 0x1 &UIC2 0x17 0x4>;
377 reg = <0xef601200 0x00000074>; 432 reg = <0xef601200 0x000000c4>;
378 local-mac-address = [000000000000]; /* Filled in by U-Boot */ 433 local-mac-address = [000000000000]; /* Filled in by U-Boot */
379 mal-device = <&MAL0>; 434 mal-device = <&MAL0>;
380 mal-tx-channel = <3>; 435 mal-tx-channel = <3>;
@@ -414,6 +469,7 @@
414 * later cannot be changed 469 * later cannot be changed
415 */ 470 */
416 ranges = <0x02000000 0x00000000 0x80000000 0x0000000d 0x80000000 0x00000000 0x80000000 471 ranges = <0x02000000 0x00000000 0x80000000 0x0000000d 0x80000000 0x00000000 0x80000000
472 0x02000000 0x00000000 0x00000000 0x0000000c 0x0ee00000 0x00000000 0x00100000
417 0x01000000 0x00000000 0x00000000 0x0000000c 0x08000000 0x00000000 0x00010000>; 473 0x01000000 0x00000000 0x00000000 0x0000000c 0x08000000 0x00000000 0x00010000>;
418 474
419 /* Inbound 2GB range starting at 0 */ 475 /* Inbound 2GB range starting at 0 */
@@ -444,6 +500,7 @@
444 * later cannot be changed 500 * later cannot be changed
445 */ 501 */
446 ranges = <0x02000000 0x00000000 0x80000000 0x0000000e 0x00000000 0x00000000 0x80000000 502 ranges = <0x02000000 0x00000000 0x80000000 0x0000000e 0x00000000 0x00000000 0x80000000
503 0x02000000 0x00000000 0x00000000 0x0000000f 0x00000000 0x00000000 0x00100000
447 0x01000000 0x00000000 0x00000000 0x0000000f 0x80000000 0x00000000 0x00010000>; 504 0x01000000 0x00000000 0x00000000 0x0000000f 0x80000000 0x00000000 0x00010000>;
448 505
449 /* Inbound 2GB range starting at 0 */ 506 /* Inbound 2GB range starting at 0 */
@@ -485,6 +542,7 @@
485 * later cannot be changed 542 * later cannot be changed
486 */ 543 */
487 ranges = <0x02000000 0x00000000 0x80000000 0x0000000e 0x80000000 0x00000000 0x80000000 544 ranges = <0x02000000 0x00000000 0x80000000 0x0000000e 0x80000000 0x00000000 0x80000000
545 0x02000000 0x00000000 0x00000000 0x0000000f 0x00100000 0x00000000 0x00100000
488 0x01000000 0x00000000 0x00000000 0x0000000f 0x80010000 0x00000000 0x00010000>; 546 0x01000000 0x00000000 0x00000000 0x0000000f 0x80010000 0x00000000 0x00010000>;
489 547
490 /* Inbound 2GB range starting at 0 */ 548 /* Inbound 2GB range starting at 0 */
diff --git a/arch/powerpc/boot/dts/icon.dts b/arch/powerpc/boot/dts/icon.dts
new file mode 100644
index 000000000000..abcd0caeccae
--- /dev/null
+++ b/arch/powerpc/boot/dts/icon.dts
@@ -0,0 +1,447 @@
1/*
2 * Device Tree Source for Mosaix Technologies, Inc. ICON board
3 *
4 * Copyright 2010 DENX Software Engineering, Stefan Roese <sr@denx.de>
5 *
6 * This file is licensed under the terms of the GNU General Public
7 * License version 2. This program is licensed "as is" without
8 * any warranty of any kind, whether express or implied.
9 */
10
11/dts-v1/;
12
13/ {
14 #address-cells = <2>;
15 #size-cells = <2>;
16 model = "mosaixtech,icon";
17 compatible = "mosaixtech,icon";
18 dcr-parent = <&{/cpus/cpu@0}>;
19
20 aliases {
21 ethernet0 = &EMAC0;
22 serial0 = &UART0;
23 serial1 = &UART1;
24 serial2 = &UART2;
25 };
26
27 cpus {
28 #address-cells = <1>;
29 #size-cells = <0>;
30
31 cpu@0 {
32 device_type = "cpu";
33 model = "PowerPC,440SPe";
34 reg = <0x00000000>;
35 clock-frequency = <0>; /* Filled in by U-Boot */
36 timebase-frequency = <0>; /* Filled in by U-Boot */
37 i-cache-line-size = <32>;
38 d-cache-line-size = <32>;
39 i-cache-size = <32768>;
40 d-cache-size = <32768>;
41 dcr-controller;
42 dcr-access-method = "native";
43 reset-type = <2>; /* Use chip-reset */
44 };
45 };
46
47 memory {
48 device_type = "memory";
49 reg = <0x0 0x00000000 0x0 0x00000000>; /* Filled in by U-Boot */
50 };
51
52 UIC0: interrupt-controller0 {
53 compatible = "ibm,uic-440spe","ibm,uic";
54 interrupt-controller;
55 cell-index = <0>;
56 dcr-reg = <0x0c0 0x009>;
57 #address-cells = <0>;
58 #size-cells = <0>;
59 #interrupt-cells = <2>;
60 };
61
62 UIC1: interrupt-controller1 {
63 compatible = "ibm,uic-440spe","ibm,uic";
64 interrupt-controller;
65 cell-index = <1>;
66 dcr-reg = <0x0d0 0x009>;
67 #address-cells = <0>;
68 #size-cells = <0>;
69 #interrupt-cells = <2>;
70 interrupts = <0x1e 0x4 0x1f 0x4>; /* cascade */
71 interrupt-parent = <&UIC0>;
72 };
73
74 UIC2: interrupt-controller2 {
75 compatible = "ibm,uic-440spe","ibm,uic";
76 interrupt-controller;
77 cell-index = <2>;
78 dcr-reg = <0x0e0 0x009>;
79 #address-cells = <0>;
80 #size-cells = <0>;
81 #interrupt-cells = <2>;
82 interrupts = <0xa 0x4 0xb 0x4>; /* cascade */
83 interrupt-parent = <&UIC0>;
84 };
85
86 UIC3: interrupt-controller3 {
87 compatible = "ibm,uic-440spe","ibm,uic";
88 interrupt-controller;
89 cell-index = <3>;
90 dcr-reg = <0x0f0 0x009>;
91 #address-cells = <0>;
92 #size-cells = <0>;
93 #interrupt-cells = <2>;
94 interrupts = <0x10 0x4 0x11 0x4>; /* cascade */
95 interrupt-parent = <&UIC0>;
96 };
97
98 SDR0: sdr {
99 compatible = "ibm,sdr-440spe";
100 dcr-reg = <0x00e 0x002>;
101 };
102
103 CPR0: cpr {
104 compatible = "ibm,cpr-440spe";
105 dcr-reg = <0x00c 0x002>;
106 };
107
108 MQ0: mq {
109 compatible = "ibm,mq-440spe";
110 dcr-reg = <0x040 0x020>;
111 };
112
113 plb {
114 compatible = "ibm,plb-440spe", "ibm,plb-440gp", "ibm,plb4";
115 #address-cells = <2>;
116 #size-cells = <1>;
117 /* addr-child addr-parent size */
118 ranges = <0x4 0x00100000 0x4 0x00100000 0x00001000
119 0x4 0x00200000 0x4 0x00200000 0x00000400
120 0x4 0xe0000000 0x4 0xe0000000 0x20000000
121 0xc 0x00000000 0xc 0x00000000 0x20000000
122 0xd 0x00000000 0xd 0x00000000 0x80000000
123 0xd 0x80000000 0xd 0x80000000 0x80000000
124 0xe 0x00000000 0xe 0x00000000 0x80000000
125 0xe 0x80000000 0xe 0x80000000 0x80000000
126 0xf 0x00000000 0xf 0x00000000 0x80000000
127 0xf 0x80000000 0xf 0x80000000 0x80000000>;
128 clock-frequency = <0>; /* Filled in by U-Boot */
129
130 SDRAM0: sdram {
131 compatible = "ibm,sdram-440spe", "ibm,sdram-405gp";
132 dcr-reg = <0x010 0x002>;
133 };
134
135 MAL0: mcmal {
136 compatible = "ibm,mcmal-440spe", "ibm,mcmal2";
137 dcr-reg = <0x180 0x062>;
138 num-tx-chans = <2>;
139 num-rx-chans = <1>;
140 interrupt-parent = <&MAL0>;
141 interrupts = <0x0 0x1 0x2 0x3 0x4>;
142 #interrupt-cells = <1>;
143 #address-cells = <0>;
144 #size-cells = <0>;
145 interrupt-map = </*TXEOB*/ 0x0 &UIC1 0x6 0x4
146 /*RXEOB*/ 0x1 &UIC1 0x7 0x4
147 /*SERR*/ 0x2 &UIC1 0x1 0x4
148 /*TXDE*/ 0x3 &UIC1 0x2 0x4
149 /*RXDE*/ 0x4 &UIC1 0x3 0x4>;
150 };
151
152 POB0: opb {
153 compatible = "ibm,opb-440spe", "ibm,opb-440gp", "ibm,opb";
154 #address-cells = <1>;
155 #size-cells = <1>;
156 ranges = <0xe0000000 0x00000004 0xe0000000 0x20000000>;
157 clock-frequency = <0>; /* Filled in by U-Boot */
158
159 EBC0: ebc {
160 compatible = "ibm,ebc-440spe", "ibm,ebc-440gp", "ibm,ebc";
161 dcr-reg = <0x012 0x002>;
162 #address-cells = <2>;
163 #size-cells = <1>;
164 clock-frequency = <0>; /* Filled in by U-Boot */
165 /* ranges property is supplied by U-Boot */
166 interrupts = <0x5 0x1>;
167 interrupt-parent = <&UIC1>;
168
169 nor_flash@0,0 {
170 compatible = "cfi-flash";
171 bank-width = <2>;
172 reg = <0x00000000 0x00000000 0x01000000>;
173 #address-cells = <1>;
174 #size-cells = <1>;
175 partition@0 {
176 label = "kernel";
177 reg = <0x00000000 0x001e0000>;
178 };
179 partition@1e0000 {
180 label = "dtb";
181 reg = <0x001e0000 0x00020000>;
182 };
183 partition@200000 {
184 label = "root";
185 reg = <0x00200000 0x00200000>;
186 };
187 partition@400000 {
188 label = "user";
189 reg = <0x00400000 0x00b60000>;
190 };
191 partition@f60000 {
192 label = "env";
193 reg = <0x00f60000 0x00040000>;
194 };
195 partition@fa0000 {
196 label = "u-boot";
197 reg = <0x00fa0000 0x00060000>;
198 };
199 };
200
201 SysACE_CompactFlash: sysace@1,0 {
202 compatible = "xlnx,sysace";
203 interrupt-parent = <&UIC2>;
204 interrupts = <24 0x4>;
205 reg = <0x00000001 0x00000000 0x10000>;
206 };
207 };
208
209 UART0: serial@f0000200 {
210 device_type = "serial";
211 compatible = "ns16550";
212 reg = <0xf0000200 0x00000008>;
213 virtual-reg = <0xa0000200>;
214 clock-frequency = <0>; /* Filled in by U-Boot */
215 current-speed = <115200>;
216 interrupt-parent = <&UIC0>;
217 interrupts = <0x0 0x4>;
218 };
219
220 UART1: serial@f0000300 {
221 device_type = "serial";
222 compatible = "ns16550";
223 reg = <0xf0000300 0x00000008>;
224 virtual-reg = <0xa0000300>;
225 clock-frequency = <0>;
226 current-speed = <0>;
227 interrupt-parent = <&UIC0>;
228 interrupts = <0x1 0x4>;
229 };
230
231
232 UART2: serial@f0000600 {
233 device_type = "serial";
234 compatible = "ns16550";
235 reg = <0xf0000600 0x00000008>;
236 virtual-reg = <0xa0000600>;
237 clock-frequency = <0>;
238 current-speed = <0>;
239 interrupt-parent = <&UIC1>;
240 interrupts = <0x5 0x4>;
241 };
242
243 IIC0: i2c@f0000400 {
244 compatible = "ibm,iic-440spe", "ibm,iic-440gp", "ibm,iic";
245 reg = <0xf0000400 0x00000014>;
246 interrupt-parent = <&UIC0>;
247 interrupts = <0x2 0x4>;
248 };
249
250 IIC1: i2c@f0000500 {
251 compatible = "ibm,iic-440spe", "ibm,iic-440gp", "ibm,iic";
252 reg = <0xf0000500 0x00000014>;
253 interrupt-parent = <&UIC0>;
254 interrupts = <0x3 0x4>;
255 #address-cells = <1>;
256 #size-cells = <0>;
257
258 rtc@68 {
259 compatible = "stm,m41t00";
260 reg = <0x68>;
261 };
262 };
263
264 EMAC0: ethernet@f0000800 {
265 linux,network-index = <0x0>;
266 device_type = "network";
267 compatible = "ibm,emac-440spe", "ibm,emac4";
268 interrupt-parent = <&UIC1>;
269 interrupts = <0x1c 0x4 0x1d 0x4>;
270 reg = <0xf0000800 0x00000074>;
271 local-mac-address = [000000000000];
272 mal-device = <&MAL0>;
273 mal-tx-channel = <0>;
274 mal-rx-channel = <0>;
275 cell-index = <0>;
276 max-frame-size = <9000>;
277 rx-fifo-size = <4096>;
278 tx-fifo-size = <2048>;
279 phy-mode = "gmii";
280 phy-map = <0x00000000>;
281 has-inverted-stacr-oc;
282 has-new-stacr-staopc;
283 };
284 };
285
286 PCIX0: pci@c0ec00000 {
287 device_type = "pci";
288 #interrupt-cells = <1>;
289 #size-cells = <2>;
290 #address-cells = <3>;
291 compatible = "ibm,plb-pcix-440spe", "ibm,plb-pcix";
292 primary;
293 large-inbound-windows;
294 enable-msi-hole;
295 reg = <0x0000000c 0x0ec00000 0x00000008 /* Config space access */
296 0x00000000 0x00000000 0x00000000 /* no IACK cycles */
297 0x0000000c 0x0ed00000 0x00000004 /* Special cycles */
298 0x0000000c 0x0ec80000 0x00000100 /* Internal registers */
299 0x0000000c 0x0ec80100 0x000000fc>; /* Internal messaging registers */
300
301 /* Outbound ranges, one memory and one IO,
302 * later cannot be changed
303 */
304 ranges = <0x02000000 0x00000000 0x80000000 0x0000000d 0x80000000 0x00000000 0x80000000
305 0x01000000 0x00000000 0x00000000 0x0000000c 0x08000000 0x00000000 0x00010000>;
306
307 /* Inbound 4GB range starting at 0 */
308 dma-ranges = <0x42000000 0x0 0x0 0x0 0x0 0x1 0x00000000>;
309
310 /* This drives busses 0 to 0xf */
311 bus-range = <0x0 0xf>;
312
313 /* PCI-X interrupt (SM502) is routed to extIRQ10 (UIC1, 19) */
314 interrupt-map-mask = <0x0 0x0 0x0 0x0>;
315 interrupt-map = <0x0 0x0 0x0 0x0 &UIC1 19 0x8>;
316 };
317
318 PCIE0: pciex@d00000000 {
319 device_type = "pci";
320 #interrupt-cells = <1>;
321 #size-cells = <2>;
322 #address-cells = <3>;
323 compatible = "ibm,plb-pciex-440spe", "ibm,plb-pciex";
324 primary;
325 port = <0x0>; /* port number */
326 reg = <0x0000000d 0x00000000 0x20000000 /* Config space access */
327 0x0000000c 0x10000000 0x00001000>; /* Registers */
328 dcr-reg = <0x100 0x020>;
329 sdr-base = <0x300>;
330
331 /* Outbound ranges, one memory and one IO,
332 * later cannot be changed
333 */
334 ranges = <0x02000000 0x00000000 0x80000000 0x0000000e 0x00000000 0x00000000 0x80000000
335 0x01000000 0x00000000 0x00000000 0x0000000f 0x80000000 0x00000000 0x00010000>;
336
337 /* Inbound 4GB range starting at 0 */
338 dma-ranges = <0x42000000 0x0 0x0 0x0 0x0 0x1 0x00000000>;
339
340 /* This drives busses 0x10 to 0x1f */
341 bus-range = <0x10 0x1f>;
342
343 /* Legacy interrupts (note the weird polarity, the bridge seems
344 * to invert PCIe legacy interrupts).
345 * We are de-swizzling here because the numbers are actually for
346 * port of the root complex virtual P2P bridge. But I want
347 * to avoid putting a node for it in the tree, so the numbers
348 * below are basically de-swizzled numbers.
349 * The real slot is on idsel 0, so the swizzling is 1:1
350 */
351 interrupt-map-mask = <0x0 0x0 0x0 0x7>;
352 interrupt-map = <
353 0x0 0x0 0x0 0x1 &UIC3 0x0 0x4 /* swizzled int A */
354 0x0 0x0 0x0 0x2 &UIC3 0x1 0x4 /* swizzled int B */
355 0x0 0x0 0x0 0x3 &UIC3 0x2 0x4 /* swizzled int C */
356 0x0 0x0 0x0 0x4 &UIC3 0x3 0x4 /* swizzled int D */>;
357 };
358
359 PCIE1: pciex@d20000000 {
360 device_type = "pci";
361 #interrupt-cells = <1>;
362 #size-cells = <2>;
363 #address-cells = <3>;
364 compatible = "ibm,plb-pciex-440spe", "ibm,plb-pciex";
365 primary;
366 port = <0x1>; /* port number */
367 reg = <0x0000000d 0x20000000 0x20000000 /* Config space access */
368 0x0000000c 0x10001000 0x00001000>; /* Registers */
369 dcr-reg = <0x120 0x020>;
370 sdr-base = <0x340>;
371
372 /* Outbound ranges, one memory and one IO,
373 * later cannot be changed
374 */
375 ranges = <0x02000000 0x00000000 0x80000000 0x0000000e 0x80000000 0x00000000 0x80000000
376 0x01000000 0x00000000 0x00000000 0x0000000f 0x80010000 0x00000000 0x00010000>;
377
378 /* Inbound 4GB range starting at 0 */
379 dma-ranges = <0x42000000 0x0 0x0 0x0 0x0 0x1 0x00000000>;
380
381 /* This drives busses 0x20 to 0x2f */
382 bus-range = <0x20 0x2f>;
383
384 /* Legacy interrupts (note the weird polarity, the bridge seems
385 * to invert PCIe legacy interrupts).
386 * We are de-swizzling here because the numbers are actually for
387 * port of the root complex virtual P2P bridge. But I want
388 * to avoid putting a node for it in the tree, so the numbers
389 * below are basically de-swizzled numbers.
390 * The real slot is on idsel 0, so the swizzling is 1:1
391 */
392 interrupt-map-mask = <0x0 0x0 0x0 0x7>;
393 interrupt-map = <
394 0x0 0x0 0x0 0x1 &UIC3 0x4 0x4 /* swizzled int A */
395 0x0 0x0 0x0 0x2 &UIC3 0x5 0x4 /* swizzled int B */
396 0x0 0x0 0x0 0x3 &UIC3 0x6 0x4 /* swizzled int C */
397 0x0 0x0 0x0 0x4 &UIC3 0x7 0x4 /* swizzled int D */>;
398 };
399
400 I2O: i2o@400100000 {
401 compatible = "ibm,i2o-440spe";
402 reg = <0x00000004 0x00100000 0x100>;
403 dcr-reg = <0x060 0x020>;
404 };
405
406 DMA0: dma0@400100100 {
407 compatible = "ibm,dma-440spe";
408 cell-index = <0>;
409 reg = <0x00000004 0x00100100 0x100>;
410 dcr-reg = <0x060 0x020>;
411 interrupt-parent = <&DMA0>;
412 interrupts = <0 1>;
413 #interrupt-cells = <1>;
414 #address-cells = <0>;
415 #size-cells = <0>;
416 interrupt-map = <
417 0 &UIC0 0x14 4
418 1 &UIC1 0x16 4>;
419 };
420
421 DMA1: dma1@400100200 {
422 compatible = "ibm,dma-440spe";
423 cell-index = <1>;
424 reg = <0x00000004 0x00100200 0x100>;
425 dcr-reg = <0x060 0x020>;
426 interrupt-parent = <&DMA1>;
427 interrupts = <0 1>;
428 #interrupt-cells = <1>;
429 #address-cells = <0>;
430 #size-cells = <0>;
431 interrupt-map = <
432 0 &UIC0 0x16 4
433 1 &UIC1 0x16 4>;
434 };
435
436 xor-accel@400200000 {
437 compatible = "amcc,xor-accelerator";
438 reg = <0x00000004 0x00200000 0x400>;
439 interrupt-parent = <&UIC1>;
440 interrupts = <0x1f 4>;
441 };
442 };
443
444 chosen {
445 linux,stdout-path = "/plb/opb/serial@f0000200";
446 };
447};
diff --git a/arch/powerpc/boot/dts/iss4xx-mpic.dts b/arch/powerpc/boot/dts/iss4xx-mpic.dts
new file mode 100644
index 000000000000..23e9d9b7e400
--- /dev/null
+++ b/arch/powerpc/boot/dts/iss4xx-mpic.dts
@@ -0,0 +1,155 @@
1/*
2 * Device Tree Source for IBM Embedded PPC 476 Platform
3 *
4 * Copyright 2010 Torez Smith, IBM Corporation.
5 *
6 * Based on earlier code:
7 * Copyright (c) 2006, 2007 IBM Corp.
8 * Josh Boyer <jwboyer@linux.vnet.ibm.com>, David Gibson <dwg@au1.ibm.com>
9 *
10 * This file is licensed under the terms of the GNU General Public
11 * License version 2. This program is licensed "as is" without
12 * any warranty of any kind, whether express or implied.
13 */
14
15/dts-v1/;
16
17/memreserve/ 0x01f00000 0x00100000;
18
19/ {
20 #address-cells = <2>;
21 #size-cells = <1>;
22 model = "ibm,iss-4xx";
23 compatible = "ibm,iss-4xx";
24 dcr-parent = <&{/cpus/cpu@0}>;
25
26 aliases {
27 serial0 = &UART0;
28 };
29
30 cpus {
31 #address-cells = <1>;
32 #size-cells = <0>;
33
34 cpu@0 {
35 device_type = "cpu";
36 model = "PowerPC,4xx"; // real CPU changed in sim
37 reg = <0>;
38 clock-frequency = <100000000>; // 100Mhz :-)
39 timebase-frequency = <100000000>;
40 i-cache-line-size = <32>;
41 d-cache-line-size = <32>;
42 i-cache-size = <32768>;
43 d-cache-size = <32768>;
44 dcr-controller;
45 dcr-access-method = "native";
46 status = "ok";
47 };
48 cpu@1 {
49 device_type = "cpu";
50 model = "PowerPC,4xx"; // real CPU changed in sim
51 reg = <1>;
52 clock-frequency = <100000000>; // 100Mhz :-)
53 timebase-frequency = <100000000>;
54 i-cache-line-size = <32>;
55 d-cache-line-size = <32>;
56 i-cache-size = <32768>;
57 d-cache-size = <32768>;
58 dcr-controller;
59 dcr-access-method = "native";
60 status = "disabled";
61 enable-method = "spin-table";
62 cpu-release-addr = <0 0x01f00100>;
63 };
64 cpu@2 {
65 device_type = "cpu";
66 model = "PowerPC,4xx"; // real CPU changed in sim
67 reg = <2>;
68 clock-frequency = <100000000>; // 100Mhz :-)
69 timebase-frequency = <100000000>;
70 i-cache-line-size = <32>;
71 d-cache-line-size = <32>;
72 i-cache-size = <32768>;
73 d-cache-size = <32768>;
74 dcr-controller;
75 dcr-access-method = "native";
76 status = "disabled";
77 enable-method = "spin-table";
78 cpu-release-addr = <0 0x01f00200>;
79 };
80 cpu@3 {
81 device_type = "cpu";
82 model = "PowerPC,4xx"; // real CPU changed in sim
83 reg = <3>;
84 clock-frequency = <100000000>; // 100Mhz :-)
85 timebase-frequency = <100000000>;
86 i-cache-line-size = <32>;
87 d-cache-line-size = <32>;
88 i-cache-size = <32768>;
89 d-cache-size = <32768>;
90 dcr-controller;
91 dcr-access-method = "native";
92 status = "disabled";
93 enable-method = "spin-table";
94 cpu-release-addr = <0 0x01f00300>;
95 };
96 };
97
98 memory {
99 device_type = "memory";
100 reg = <0x00000000 0x00000000 0x00000000>; // Filled in by zImage
101
102 };
103
104 MPIC: interrupt-controller {
105 compatible = "chrp,open-pic";
106 interrupt-controller;
107 dcr-reg = <0xffc00000 0x00030000>;
108 #address-cells = <0>;
109 #size-cells = <0>;
110 #interrupt-cells = <2>;
111
112 };
113
114 plb {
115 compatible = "ibm,plb-4xx", "ibm,plb4"; /* Could be PLB6, doesn't matter */
116 #address-cells = <2>;
117 #size-cells = <1>;
118 ranges;
119 clock-frequency = <0>; // Filled in by zImage
120
121 POB0: opb {
122 compatible = "ibm,opb-4xx", "ibm,opb";
123 #address-cells = <1>;
124 #size-cells = <1>;
125 /* Wish there was a nicer way of specifying a full 32-bit
126 range */
127 ranges = <0x00000000 0x00000001 0x00000000 0x80000000
128 0x80000000 0x00000001 0x80000000 0x80000000>;
129 clock-frequency = <0>; // Filled in by zImage
130 UART0: serial@40000200 {
131 device_type = "serial";
132 compatible = "ns16550a";
133 reg = <0x40000200 0x00000008>;
134 virtual-reg = <0xe0000200>;
135 clock-frequency = <11059200>;
136 current-speed = <115200>;
137 interrupt-parent = <&MPIC>;
138 interrupts = <0x0 0x2>;
139 };
140 };
141 };
142
143 nvrtc {
144 compatible = "ds1743-nvram", "ds1743", "rtc-ds1743";
145 reg = <0 0xEF703000 0x2000>;
146 };
147 iss-block {
148 compatible = "ibm,iss-sim-block-device";
149 reg = <0 0xEF701000 0x1000>;
150 };
151
152 chosen {
153 linux,stdout-path = "/plb/opb/serial@40000200";
154 };
155};
diff --git a/arch/powerpc/boot/dts/iss4xx.dts b/arch/powerpc/boot/dts/iss4xx.dts
new file mode 100644
index 000000000000..4ff6555c866d
--- /dev/null
+++ b/arch/powerpc/boot/dts/iss4xx.dts
@@ -0,0 +1,116 @@
1/*
2 * Device Tree Source for IBM Embedded PPC 476 Platform
3 *
4 * Copyright 2010 Torez Smith, IBM Corporation.
5 *
6 * Based on earlier code:
7 * Copyright (c) 2006, 2007 IBM Corp.
8 * Josh Boyer <jwboyer@linux.vnet.ibm.com>, David Gibson <dwg@au1.ibm.com>
9 *
10 * This file is licensed under the terms of the GNU General Public
11 * License version 2. This program is licensed "as is" without
12 * any warranty of any kind, whether express or implied.
13 */
14
15/dts-v1/;
16
17/ {
18 #address-cells = <2>;
19 #size-cells = <1>;
20 model = "ibm,iss-4xx";
21 compatible = "ibm,iss-4xx";
22 dcr-parent = <&{/cpus/cpu@0}>;
23
24 aliases {
25 serial0 = &UART0;
26 };
27
28 cpus {
29 #address-cells = <1>;
30 #size-cells = <0>;
31
32 cpu@0 {
33 device_type = "cpu";
34 model = "PowerPC,4xx"; // real CPU changed in sim
35 reg = <0x00000000>;
36 clock-frequency = <100000000>; // 100Mhz :-)
37 timebase-frequency = <100000000>;
38 i-cache-line-size = <32>; // may need fixup in sim
39 d-cache-line-size = <32>; // may need fixup in sim
40 i-cache-size = <32768>; /* may need fixup in sim */
41 d-cache-size = <32768>; /* may need fixup in sim */
42 dcr-controller;
43 dcr-access-method = "native";
44 };
45 };
46
47 memory {
48 device_type = "memory";
49 reg = <0x00000000 0x00000000 0x00000000>; // Filled in by zImage
50 };
51
52 UIC0: interrupt-controller0 {
53 compatible = "ibm,uic-4xx", "ibm,uic";
54 interrupt-controller;
55 cell-index = <0>;
56 dcr-reg = <0x0c0 0x009>;
57 #address-cells = <0>;
58 #size-cells = <0>;
59 #interrupt-cells = <2>;
60
61 };
62
63 UIC1: interrupt-controller1 {
64 compatible = "ibm,uic-4xx", "ibm,uic";
65 interrupt-controller;
66 cell-index = <1>;
67 dcr-reg = <0x0d0 0x009>;
68 #address-cells = <0>;
69 #size-cells = <0>;
70 #interrupt-cells = <2>;
71 interrupts = <0x1e 0x4 0x1f 0x4>; /* cascade */
72 interrupt-parent = <&UIC0>;
73 };
74
75 plb {
76 compatible = "ibm,plb-4xx", "ibm,plb4"; /* Could be PLB6, doesn't matter */
77 #address-cells = <2>;
78 #size-cells = <1>;
79 ranges;
80 clock-frequency = <0>; // Filled in by zImage
81
82 POB0: opb {
83 compatible = "ibm,opb-4xx", "ibm,opb";
84 #address-cells = <1>;
85 #size-cells = <1>;
86 /* Wish there was a nicer way of specifying a full 32-bit
87 range */
88 ranges = <0x00000000 0x00000001 0x00000000 0x80000000
89 0x80000000 0x00000001 0x80000000 0x80000000>;
90 clock-frequency = <0>; // Filled in by zImage
91 UART0: serial@40000200 {
92 device_type = "serial";
93 compatible = "ns16550a";
94 reg = <0x40000200 0x00000008>;
95 virtual-reg = <0xe0000200>;
96 clock-frequency = <11059200>;
97 current-speed = <115200>;
98 interrupt-parent = <&UIC0>;
99 interrupts = <0x0 0x4>;
100 };
101 };
102 };
103
104 nvrtc {
105 compatible = "ds1743-nvram", "ds1743", "rtc-ds1743";
106 reg = <0 0xEF703000 0x2000>;
107 };
108 iss-block {
109 compatible = "ibm,iss-sim-block-device";
110 reg = <0 0xEF701000 0x1000>;
111 };
112
113 chosen {
114 linux,stdout-path = "/plb/opb/serial@40000200";
115 };
116};
diff --git a/arch/powerpc/boot/dts/katmai.dts b/arch/powerpc/boot/dts/katmai.dts
index 8f345de960cd..7c3be5e45748 100644
--- a/arch/powerpc/boot/dts/katmai.dts
+++ b/arch/powerpc/boot/dts/katmai.dts
@@ -44,6 +44,7 @@
44 d-cache-size = <32768>; 44 d-cache-size = <32768>;
45 dcr-controller; 45 dcr-controller;
46 dcr-access-method = "native"; 46 dcr-access-method = "native";
47 reset-type = <2>; /* Use chip-reset */
47 }; 48 };
48 }; 49 };
49 50
@@ -156,7 +157,7 @@
156 compatible = "ibm,opb-440spe", "ibm,opb-440gp", "ibm,opb"; 157 compatible = "ibm,opb-440spe", "ibm,opb-440gp", "ibm,opb";
157 #address-cells = <1>; 158 #address-cells = <1>;
158 #size-cells = <1>; 159 #size-cells = <1>;
159 ranges = <0x00000000 0x00000004 0xe0000000 0x20000000>; 160 ranges = <0xe0000000 0x00000004 0xe0000000 0x20000000>;
160 clock-frequency = <0>; /* Filled in by zImage */ 161 clock-frequency = <0>; /* Filled in by zImage */
161 162
162 EBC0: ebc { 163 EBC0: ebc {
@@ -165,14 +166,47 @@
165 #address-cells = <2>; 166 #address-cells = <2>;
166 #size-cells = <1>; 167 #size-cells = <1>;
167 clock-frequency = <0>; /* Filled in by zImage */ 168 clock-frequency = <0>; /* Filled in by zImage */
169 /* ranges property is supplied by U-Boot */
168 interrupts = <0x5 0x1>; 170 interrupts = <0x5 0x1>;
169 interrupt-parent = <&UIC1>; 171 interrupt-parent = <&UIC1>;
172
173 nor_flash@0,0 {
174 compatible = "cfi-flash";
175 bank-width = <2>;
176 reg = <0x00000000 0x00000000 0x01000000>;
177 #address-cells = <1>;
178 #size-cells = <1>;
179 partition@0 {
180 label = "kernel";
181 reg = <0x00000000 0x001e0000>;
182 };
183 partition@1e0000 {
184 label = "dtb";
185 reg = <0x001e0000 0x00020000>;
186 };
187 partition@200000 {
188 label = "root";
189 reg = <0x00200000 0x00200000>;
190 };
191 partition@400000 {
192 label = "user";
193 reg = <0x00400000 0x00b60000>;
194 };
195 partition@f60000 {
196 label = "env";
197 reg = <0x00f60000 0x00040000>;
198 };
199 partition@fa0000 {
200 label = "u-boot";
201 reg = <0x00fa0000 0x00060000>;
202 };
203 };
170 }; 204 };
171 205
172 UART0: serial@10000200 { 206 UART0: serial@f0000200 {
173 device_type = "serial"; 207 device_type = "serial";
174 compatible = "ns16550"; 208 compatible = "ns16550";
175 reg = <0x10000200 0x00000008>; 209 reg = <0xf0000200 0x00000008>;
176 virtual-reg = <0xa0000200>; 210 virtual-reg = <0xa0000200>;
177 clock-frequency = <0>; /* Filled in by zImage */ 211 clock-frequency = <0>; /* Filled in by zImage */
178 current-speed = <115200>; 212 current-speed = <115200>;
@@ -180,10 +214,10 @@
180 interrupts = <0x0 0x4>; 214 interrupts = <0x0 0x4>;
181 }; 215 };
182 216
183 UART1: serial@10000300 { 217 UART1: serial@f0000300 {
184 device_type = "serial"; 218 device_type = "serial";
185 compatible = "ns16550"; 219 compatible = "ns16550";
186 reg = <0x10000300 0x00000008>; 220 reg = <0xf0000300 0x00000008>;
187 virtual-reg = <0xa0000300>; 221 virtual-reg = <0xa0000300>;
188 clock-frequency = <0>; 222 clock-frequency = <0>;
189 current-speed = <0>; 223 current-speed = <0>;
@@ -192,10 +226,10 @@
192 }; 226 };
193 227
194 228
195 UART2: serial@10000600 { 229 UART2: serial@f0000600 {
196 device_type = "serial"; 230 device_type = "serial";
197 compatible = "ns16550"; 231 compatible = "ns16550";
198 reg = <0x10000600 0x00000008>; 232 reg = <0xf0000600 0x00000008>;
199 virtual-reg = <0xa0000600>; 233 virtual-reg = <0xa0000600>;
200 clock-frequency = <0>; 234 clock-frequency = <0>;
201 current-speed = <0>; 235 current-speed = <0>;
@@ -203,27 +237,27 @@
203 interrupts = <0x5 0x4>; 237 interrupts = <0x5 0x4>;
204 }; 238 };
205 239
206 IIC0: i2c@10000400 { 240 IIC0: i2c@f0000400 {
207 compatible = "ibm,iic-440spe", "ibm,iic-440gp", "ibm,iic"; 241 compatible = "ibm,iic-440spe", "ibm,iic-440gp", "ibm,iic";
208 reg = <0x10000400 0x00000014>; 242 reg = <0xf0000400 0x00000014>;
209 interrupt-parent = <&UIC0>; 243 interrupt-parent = <&UIC0>;
210 interrupts = <0x2 0x4>; 244 interrupts = <0x2 0x4>;
211 }; 245 };
212 246
213 IIC1: i2c@10000500 { 247 IIC1: i2c@f0000500 {
214 compatible = "ibm,iic-440spe", "ibm,iic-440gp", "ibm,iic"; 248 compatible = "ibm,iic-440spe", "ibm,iic-440gp", "ibm,iic";
215 reg = <0x10000500 0x00000014>; 249 reg = <0xf0000500 0x00000014>;
216 interrupt-parent = <&UIC0>; 250 interrupt-parent = <&UIC0>;
217 interrupts = <0x3 0x4>; 251 interrupts = <0x3 0x4>;
218 }; 252 };
219 253
220 EMAC0: ethernet@10000800 { 254 EMAC0: ethernet@f0000800 {
221 linux,network-index = <0x0>; 255 linux,network-index = <0x0>;
222 device_type = "network"; 256 device_type = "network";
223 compatible = "ibm,emac-440spe", "ibm,emac4"; 257 compatible = "ibm,emac-440spe", "ibm,emac4";
224 interrupt-parent = <&UIC1>; 258 interrupt-parent = <&UIC1>;
225 interrupts = <0x1c 0x4 0x1d 0x4>; 259 interrupts = <0x1c 0x4 0x1d 0x4>;
226 reg = <0x10000800 0x00000074>; 260 reg = <0xf0000800 0x00000074>;
227 local-mac-address = [000000000000]; 261 local-mac-address = [000000000000];
228 mal-device = <&MAL0>; 262 mal-device = <&MAL0>;
229 mal-tx-channel = <0>; 263 mal-tx-channel = <0>;
@@ -248,11 +282,11 @@
248 primary; 282 primary;
249 large-inbound-windows; 283 large-inbound-windows;
250 enable-msi-hole; 284 enable-msi-hole;
251 reg = <0x0000000c 0x0ec00000 0x00000008 /* Config space access */ 285 reg = <0x0000000c 0x0ec00000 0x00000008 /* Config space access */
252 0x00000000 0x00000000 0x00000000 /* no IACK cycles */ 286 0x00000000 0x00000000 0x00000000 /* no IACK cycles */
253 0x0000000c 0x0ed00000 0x00000004 /* Special cycles */ 287 0x0000000c 0x0ed00000 0x00000004 /* Special cycles */
254 0x0000000c 0x0ec80000 0x00000100 /* Internal registers */ 288 0x0000000c 0x0ec80000 0x00000100 /* Internal registers */
255 0x0000000c 0x0ec80100 0x000000fc>; /* Internal messaging registers */ 289 0x0000000c 0x0ec80100 0x000000fc>; /* Internal messaging registers */
256 290
257 /* Outbound ranges, one memory and one IO, 291 /* Outbound ranges, one memory and one IO,
258 * later cannot be changed 292 * later cannot be changed
@@ -453,6 +487,6 @@
453 }; 487 };
454 488
455 chosen { 489 chosen {
456 linux,stdout-path = "/plb/opb/serial@10000200"; 490 linux,stdout-path = "/plb/opb/serial@f0000200";
457 }; 491 };
458}; 492};
diff --git a/arch/powerpc/boot/dts/kmeter1.dts b/arch/powerpc/boot/dts/kmeter1.dts
index 65b8b4f27efe..d8b5d12fb663 100644
--- a/arch/powerpc/boot/dts/kmeter1.dts
+++ b/arch/powerpc/boot/dts/kmeter1.dts
@@ -490,7 +490,7 @@
490 compatible = "cfi-flash"; 490 compatible = "cfi-flash";
491 /* 491 /*
492 * The Intel P30 chip has 2 non-identical chips on 492 * The Intel P30 chip has 2 non-identical chips on
493 * one die, so we need to define 2 seperate regions 493 * one die, so we need to define 2 separate regions
494 * that are scanned by physmap_of independantly. 494 * that are scanned by physmap_of independantly.
495 */ 495 */
496 reg = <0 0x00000000 0x02000000 496 reg = <0 0x00000000 0x02000000
diff --git a/arch/powerpc/boot/dts/lite5200.dts b/arch/powerpc/boot/dts/lite5200.dts
index 82ff2b13bc37..179a1785d645 100644
--- a/arch/powerpc/boot/dts/lite5200.dts
+++ b/arch/powerpc/boot/dts/lite5200.dts
@@ -134,12 +134,16 @@
134 compatible = "fsl,mpc5200-gpio"; 134 compatible = "fsl,mpc5200-gpio";
135 reg = <0xb00 0x40>; 135 reg = <0xb00 0x40>;
136 interrupts = <1 7 0>; 136 interrupts = <1 7 0>;
137 gpio-controller;
138 #gpio-cells = <2>;
137 }; 139 };
138 140
139 gpio@c00 { 141 gpio@c00 {
140 compatible = "fsl,mpc5200-gpio-wkup"; 142 compatible = "fsl,mpc5200-gpio-wkup";
141 reg = <0xc00 0x40>; 143 reg = <0xc00 0x40>;
142 interrupts = <1 8 0 0 3 0>; 144 interrupts = <1 8 0 0 3 0>;
145 gpio-controller;
146 #gpio-cells = <2>;
143 }; 147 };
144 148
145 spi@f00 { 149 spi@f00 {
@@ -230,8 +234,8 @@
230 reg = <0x3000 0x400>; // fec range, since we need to setup fec interrupts 234 reg = <0x3000 0x400>; // fec range, since we need to setup fec interrupts
231 interrupts = <2 5 0>; // these are for "mii command finished", not link changes & co. 235 interrupts = <2 5 0>; // these are for "mii command finished", not link changes & co.
232 236
233 phy0: ethernet-phy@1 { 237 phy0: ethernet-phy@0 {
234 reg = <1>; 238 reg = <0>;
235 }; 239 };
236 }; 240 };
237 241
@@ -255,7 +259,13 @@
255 compatible = "fsl,mpc5200-i2c","fsl-i2c"; 259 compatible = "fsl,mpc5200-i2c","fsl-i2c";
256 reg = <0x3d40 0x40>; 260 reg = <0x3d40 0x40>;
257 interrupts = <2 16 0>; 261 interrupts = <2 16 0>;
262
263 eeprom@50 {
264 compatible = "atmel,24c02";
265 reg = <0x50>;
266 };
258 }; 267 };
268
259 sram@8000 { 269 sram@8000 {
260 compatible = "fsl,mpc5200-sram"; 270 compatible = "fsl,mpc5200-sram";
261 reg = <0x8000 0x4000>; 271 reg = <0x8000 0x4000>;
@@ -281,4 +291,18 @@
281 0x02000000 0 0xa0000000 0xa0000000 0 0x10000000 291 0x02000000 0 0xa0000000 0xa0000000 0 0x10000000
282 0x01000000 0 0x00000000 0xb0000000 0 0x01000000>; 292 0x01000000 0 0x00000000 0xb0000000 0 0x01000000>;
283 }; 293 };
294
295 localbus {
296 compatible = "fsl,mpc5200-lpb","simple-bus";
297 #address-cells = <2>;
298 #size-cells = <1>;
299
300 ranges = <0 0 0xff000000 0x01000000>;
301
302 flash@0,0 {
303 compatible = "amd,am29lv652d", "cfi-flash";
304 reg = <0 0 0x01000000>;
305 bank-width = <1>;
306 };
307 };
284}; 308};
diff --git a/arch/powerpc/boot/dts/lite5200b.dts b/arch/powerpc/boot/dts/lite5200b.dts
index e45a63be3a86..59702ace900f 100644
--- a/arch/powerpc/boot/dts/lite5200b.dts
+++ b/arch/powerpc/boot/dts/lite5200b.dts
@@ -259,6 +259,11 @@
259 compatible = "fsl,mpc5200b-i2c","fsl,mpc5200-i2c","fsl-i2c"; 259 compatible = "fsl,mpc5200b-i2c","fsl,mpc5200-i2c","fsl-i2c";
260 reg = <0x3d40 0x40>; 260 reg = <0x3d40 0x40>;
261 interrupts = <2 16 0>; 261 interrupts = <2 16 0>;
262
263 eeprom@50 {
264 compatible = "atmel,24c02";
265 reg = <0x50>;
266 };
262 }; 267 };
263 268
264 sram@8000 { 269 sram@8000 {
diff --git a/arch/powerpc/boot/dts/mpc5121ads.dts b/arch/powerpc/boot/dts/mpc5121ads.dts
index c353dac33416..c9ef6bbe26cf 100644
--- a/arch/powerpc/boot/dts/mpc5121ads.dts
+++ b/arch/powerpc/boot/dts/mpc5121ads.dts
@@ -62,17 +62,12 @@
62 interrupt-parent = < &ipic >; 62 interrupt-parent = < &ipic >;
63 #address-cells = <1>; 63 #address-cells = <1>;
64 #size-cells = <1>; 64 #size-cells = <1>;
65 bank-width = <1>;
66 // ADS has two Hynix 512MB Nand flash chips in a single 65 // ADS has two Hynix 512MB Nand flash chips in a single
67 // stacked package . 66 // stacked package.
68 chips = <2>; 67 chips = <2>;
69 nand0@0 { 68 nand@0 {
70 label = "nand0"; 69 label = "nand";
71 reg = <0x00000000 0x02000000>; // first 32 MB of chip 0 70 reg = <0x00000000 0x40000000>; // 512MB + 512MB
72 };
73 nand1@20000000 {
74 label = "nand1";
75 reg = <0x20000000 0x02000000>; // first 32 MB of chip 1
76 }; 71 };
77 }; 72 };
78 73
@@ -166,6 +161,11 @@
166 interrupt-parent = < &ipic >; 161 interrupt-parent = < &ipic >;
167 }; 162 };
168 163
164 reset@e00 { // Reset module
165 compatible = "fsl,mpc5121-reset";
166 reg = <0xe00 0x100>;
167 };
168
169 clock@f00 { // Clock control 169 clock@f00 { // Clock control
170 compatible = "fsl,mpc5121-clock"; 170 compatible = "fsl,mpc5121-clock";
171 reg = <0xf00 0x100>; 171 reg = <0xf00 0x100>;
@@ -185,17 +185,15 @@
185 interrupt-parent = < &ipic >; 185 interrupt-parent = < &ipic >;
186 }; 186 };
187 187
188 mscan@1300 { 188 can@1300 {
189 compatible = "fsl,mpc5121-mscan"; 189 compatible = "fsl,mpc5121-mscan";
190 cell-index = <0>;
191 interrupts = <12 0x8>; 190 interrupts = <12 0x8>;
192 interrupt-parent = < &ipic >; 191 interrupt-parent = < &ipic >;
193 reg = <0x1300 0x80>; 192 reg = <0x1300 0x80>;
194 }; 193 };
195 194
196 mscan@1380 { 195 can@1380 {
197 compatible = "fsl,mpc5121-mscan"; 196 compatible = "fsl,mpc5121-mscan";
198 cell-index = <1>;
199 interrupts = <13 0x8>; 197 interrupts = <13 0x8>;
200 interrupt-parent = < &ipic >; 198 interrupt-parent = < &ipic >;
201 reg = <0x1380 0x80>; 199 reg = <0x1380 0x80>;
@@ -205,17 +203,31 @@
205 #address-cells = <1>; 203 #address-cells = <1>;
206 #size-cells = <0>; 204 #size-cells = <0>;
207 compatible = "fsl,mpc5121-i2c", "fsl-i2c"; 205 compatible = "fsl,mpc5121-i2c", "fsl-i2c";
208 cell-index = <0>;
209 reg = <0x1700 0x20>; 206 reg = <0x1700 0x20>;
210 interrupts = <9 0x8>; 207 interrupts = <9 0x8>;
211 interrupt-parent = < &ipic >; 208 interrupt-parent = < &ipic >;
209 fsl,preserve-clocking;
210
211 hwmon@4a {
212 compatible = "adi,ad7414";
213 reg = <0x4a>;
214 };
215
216 eeprom@50 {
217 compatible = "at,24c32";
218 reg = <0x50>;
219 };
220
221 rtc@68 {
222 compatible = "stm,m41t62";
223 reg = <0x68>;
224 };
212 }; 225 };
213 226
214 i2c@1720 { 227 i2c@1720 {
215 #address-cells = <1>; 228 #address-cells = <1>;
216 #size-cells = <0>; 229 #size-cells = <0>;
217 compatible = "fsl,mpc5121-i2c", "fsl-i2c"; 230 compatible = "fsl,mpc5121-i2c", "fsl-i2c";
218 cell-index = <1>;
219 reg = <0x1720 0x20>; 231 reg = <0x1720 0x20>;
220 interrupts = <10 0x8>; 232 interrupts = <10 0x8>;
221 interrupt-parent = < &ipic >; 233 interrupt-parent = < &ipic >;
@@ -225,7 +237,6 @@
225 #address-cells = <1>; 237 #address-cells = <1>;
226 #size-cells = <0>; 238 #size-cells = <0>;
227 compatible = "fsl,mpc5121-i2c", "fsl-i2c"; 239 compatible = "fsl,mpc5121-i2c", "fsl-i2c";
228 cell-index = <2>;
229 reg = <0x1740 0x20>; 240 reg = <0x1740 0x20>;
230 interrupts = <11 0x8>; 241 interrupts = <11 0x8>;
231 interrupt-parent = < &ipic >; 242 interrupt-parent = < &ipic >;
@@ -244,7 +255,7 @@
244 }; 255 };
245 256
246 display@2100 { 257 display@2100 {
247 compatible = "fsl,mpc5121-diu", "fsl-diu"; 258 compatible = "fsl,mpc5121-diu";
248 reg = <0x2100 0x100>; 259 reg = <0x2100 0x100>;
249 interrupts = <64 0x8>; 260 interrupts = <64 0x8>;
250 interrupt-parent = < &ipic >; 261 interrupt-parent = < &ipic >;
@@ -277,7 +288,7 @@
277 288
278 // USB1 using external ULPI PHY 289 // USB1 using external ULPI PHY
279 //usb@3000 { 290 //usb@3000 {
280 // compatible = "fsl,mpc5121-usb2-dr", "fsl-usb2-dr"; 291 // compatible = "fsl,mpc5121-usb2-dr";
281 // reg = <0x3000 0x1000>; 292 // reg = <0x3000 0x1000>;
282 // #address-cells = <1>; 293 // #address-cells = <1>;
283 // #size-cells = <0>; 294 // #size-cells = <0>;
@@ -285,12 +296,11 @@
285 // interrupts = <43 0x8>; 296 // interrupts = <43 0x8>;
286 // dr_mode = "otg"; 297 // dr_mode = "otg";
287 // phy_type = "ulpi"; 298 // phy_type = "ulpi";
288 // port1;
289 //}; 299 //};
290 300
291 // USB0 using internal UTMI PHY 301 // USB0 using internal UTMI PHY
292 usb@4000 { 302 usb@4000 {
293 compatible = "fsl,mpc5121-usb2-dr", "fsl-usb2-dr"; 303 compatible = "fsl,mpc5121-usb2-dr";
294 reg = <0x4000 0x1000>; 304 reg = <0x4000 0x1000>;
295 #address-cells = <1>; 305 #address-cells = <1>;
296 #size-cells = <0>; 306 #size-cells = <0>;
@@ -298,7 +308,8 @@
298 interrupts = <44 0x8>; 308 interrupts = <44 0x8>;
299 dr_mode = "otg"; 309 dr_mode = "otg";
300 phy_type = "utmi_wide"; 310 phy_type = "utmi_wide";
301 port0; 311 fsl,invert-drvvbus;
312 fsl,invert-pwr-fault;
302 }; 313 };
303 314
304 // IO control 315 // IO control
@@ -365,7 +376,7 @@
365 }; 376 };
366 377
367 dma@14000 { 378 dma@14000 {
368 compatible = "fsl,mpc5121-dma2"; 379 compatible = "fsl,mpc5121-dma";
369 reg = <0x14000 0x1800>; 380 reg = <0x14000 0x1800>;
370 interrupts = <65 0x8>; 381 interrupts = <65 0x8>;
371 interrupt-parent = < &ipic >; 382 interrupt-parent = < &ipic >;
diff --git a/arch/powerpc/boot/dts/mpc8315erdb.dts b/arch/powerpc/boot/dts/mpc8315erdb.dts
index 8a3a4f3ef831..4dd08c322979 100644
--- a/arch/powerpc/boot/dts/mpc8315erdb.dts
+++ b/arch/powerpc/boot/dts/mpc8315erdb.dts
@@ -292,7 +292,7 @@
292 fsl,num-channels = <4>; 292 fsl,num-channels = <4>;
293 fsl,channel-fifo-len = <24>; 293 fsl,channel-fifo-len = <24>;
294 fsl,exec-units-mask = <0x97c>; 294 fsl,exec-units-mask = <0x97c>;
295 fsl,descriptor-types-mask = <0x3ab0abf>; 295 fsl,descriptor-types-mask = <0x3a30abf>;
296 }; 296 };
297 297
298 sata@18000 { 298 sata@18000 {
@@ -463,4 +463,18 @@
463 0 0x00800000>; 463 0 0x00800000>;
464 }; 464 };
465 }; 465 };
466
467 leds {
468 compatible = "gpio-leds";
469
470 pwr {
471 gpios = <&mcu_pio 0 0>;
472 default-state = "on";
473 };
474
475 hdd {
476 gpios = <&mcu_pio 1 0>;
477 linux,default-trigger = "ide-disk";
478 };
479 };
466}; 480};
diff --git a/arch/powerpc/boot/dts/mpc8377_rdb.dts b/arch/powerpc/boot/dts/mpc8377_rdb.dts
index 9e2264b10008..dbc1b988b29d 100644
--- a/arch/powerpc/boot/dts/mpc8377_rdb.dts
+++ b/arch/powerpc/boot/dts/mpc8377_rdb.dts
@@ -486,4 +486,18 @@
486 0 0x00800000>; 486 0 0x00800000>;
487 }; 487 };
488 }; 488 };
489
490 leds {
491 compatible = "gpio-leds";
492
493 pwr {
494 gpios = <&mcu_pio 0 0>;
495 default-state = "on";
496 };
497
498 hdd {
499 gpios = <&mcu_pio 1 0>;
500 linux,default-trigger = "ide-disk";
501 };
502 };
489}; 503};
diff --git a/arch/powerpc/boot/dts/mpc8378_rdb.dts b/arch/powerpc/boot/dts/mpc8378_rdb.dts
index 4e6a1a407bbd..3447eb9f6e88 100644
--- a/arch/powerpc/boot/dts/mpc8378_rdb.dts
+++ b/arch/powerpc/boot/dts/mpc8378_rdb.dts
@@ -470,4 +470,18 @@
470 0 0x00800000>; 470 0 0x00800000>;
471 }; 471 };
472 }; 472 };
473
474 leds {
475 compatible = "gpio-leds";
476
477 pwr {
478 gpios = <&mcu_pio 0 0>;
479 default-state = "on";
480 };
481
482 hdd {
483 gpios = <&mcu_pio 1 0>;
484 linux,default-trigger = "ide-disk";
485 };
486 };
473}; 487};
diff --git a/arch/powerpc/boot/dts/mpc8379_rdb.dts b/arch/powerpc/boot/dts/mpc8379_rdb.dts
index 72336d504528..15560c619b04 100644
--- a/arch/powerpc/boot/dts/mpc8379_rdb.dts
+++ b/arch/powerpc/boot/dts/mpc8379_rdb.dts
@@ -436,4 +436,18 @@
436 compatible = "fsl,mpc8349-pci"; 436 compatible = "fsl,mpc8349-pci";
437 device_type = "pci"; 437 device_type = "pci";
438 }; 438 };
439
440 leds {
441 compatible = "gpio-leds";
442
443 pwr {
444 gpios = <&mcu_pio 0 0>;
445 default-state = "on";
446 };
447
448 hdd {
449 gpios = <&mcu_pio 1 0>;
450 linux,default-trigger = "ide-disk";
451 };
452 };
439}; 453};
diff --git a/arch/powerpc/boot/dts/mpc8548cds.dts b/arch/powerpc/boot/dts/mpc8548cds.dts
index 4173af387c63..0f5262452682 100644
--- a/arch/powerpc/boot/dts/mpc8548cds.dts
+++ b/arch/powerpc/boot/dts/mpc8548cds.dts
@@ -20,10 +20,8 @@
20 aliases { 20 aliases {
21 ethernet0 = &enet0; 21 ethernet0 = &enet0;
22 ethernet1 = &enet1; 22 ethernet1 = &enet1;
23/*
24 ethernet2 = &enet2; 23 ethernet2 = &enet2;
25 ethernet3 = &enet3; 24 ethernet3 = &enet3;
26*/
27 serial0 = &serial0; 25 serial0 = &serial0;
28 serial1 = &serial1; 26 serial1 = &serial1;
29 pci0 = &pci0; 27 pci0 = &pci0;
@@ -254,7 +252,6 @@
254 }; 252 };
255 }; 253 };
256 254
257/* eTSEC 3/4 are currently broken
258 enet2: ethernet@26000 { 255 enet2: ethernet@26000 {
259 #address-cells = <1>; 256 #address-cells = <1>;
260 #size-cells = <1>; 257 #size-cells = <1>;
@@ -310,7 +307,6 @@
310 }; 307 };
311 }; 308 };
312 }; 309 };
313 */
314 310
315 serial0: serial@4500 { 311 serial0: serial@4500 {
316 cell-index = <0>; 312 cell-index = <0>;
diff --git a/arch/powerpc/boot/dts/mpc8568mds.dts b/arch/powerpc/boot/dts/mpc8568mds.dts
index 6d892ba74e55..92fb17876e7d 100644
--- a/arch/powerpc/boot/dts/mpc8568mds.dts
+++ b/arch/powerpc/boot/dts/mpc8568mds.dts
@@ -54,9 +54,52 @@
54 reg = <0x0 0x10000000>; 54 reg = <0x0 0x10000000>;
55 }; 55 };
56 56
57 bcsr@f8000000 { 57 localbus@e0005000 {
58 compatible = "fsl,mpc8568mds-bcsr"; 58 #address-cells = <2>;
59 reg = <0xf8000000 0x8000>; 59 #size-cells = <1>;
60 compatible = "fsl,mpc8568-localbus", "fsl,pq3-localbus",
61 "simple-bus";
62 reg = <0xe0005000 0x1000>;
63
64 ranges = <0x0 0x0 0xfe000000 0x02000000
65 0x1 0x0 0xf8000000 0x00008000
66 0x2 0x0 0xf0000000 0x04000000
67 0x4 0x0 0xf8008000 0x00008000
68 0x5 0x0 0xf8010000 0x00008000>;
69
70 nor@0,0 {
71 #address-cells = <1>;
72 #size-cells = <1>;
73 compatible = "cfi-flash";
74 reg = <0x0 0x0 0x02000000>;
75 bank-width = <2>;
76 device-width = <2>;
77 };
78
79 bcsr@1,0 {
80 #address-cells = <1>;
81 #size-cells = <1>;
82 compatible = "fsl,mpc8568mds-bcsr";
83 reg = <1 0 0x8000>;
84 ranges = <0 1 0 0x8000>;
85
86 bcsr5: gpio-controller@11 {
87 #gpio-cells = <2>;
88 compatible = "fsl,mpc8568mds-bcsr-gpio";
89 reg = <0x5 0x1>;
90 gpio-controller;
91 };
92 };
93
94 pib@4,0 {
95 compatible = "fsl,mpc8568mds-pib";
96 reg = <4 0 0x8000>;
97 };
98
99 pib@5,0 {
100 compatible = "fsl,mpc8568mds-pib";
101 reg = <5 0 0x8000>;
102 };
60 }; 103 };
61 104
62 soc8568@e0000000 { 105 soc8568@e0000000 {
@@ -610,4 +653,20 @@
610 sleep = <&pmc 0x00080000 /* controller */ 653 sleep = <&pmc 0x00080000 /* controller */
611 &pmc 0x00040000>; /* message unit */ 654 &pmc 0x00040000>; /* message unit */
612 }; 655 };
656
657 leds {
658 compatible = "gpio-leds";
659
660 green {
661 gpios = <&bcsr5 1 0>;
662 };
663
664 amber {
665 gpios = <&bcsr5 2 0>;
666 };
667
668 red {
669 gpios = <&bcsr5 3 0>;
670 };
671 };
613}; 672};
diff --git a/arch/powerpc/boot/dts/mpc8569mds.dts b/arch/powerpc/boot/dts/mpc8569mds.dts
index 795eb362fcf9..8b72eaff5b03 100644
--- a/arch/powerpc/boot/dts/mpc8569mds.dts
+++ b/arch/powerpc/boot/dts/mpc8569mds.dts
@@ -535,6 +535,7 @@
535 rx-clock-name = "none"; 535 rx-clock-name = "none";
536 tx-clock-name = "clk12"; 536 tx-clock-name = "clk12";
537 pio-handle = <&pio1>; 537 pio-handle = <&pio1>;
538 tbi-handle = <&tbi1>;
538 phy-handle = <&qe_phy0>; 539 phy-handle = <&qe_phy0>;
539 phy-connection-type = "rgmii-id"; 540 phy-connection-type = "rgmii-id";
540 }; 541 };
@@ -579,7 +580,7 @@
579 reg = <0x6>; 580 reg = <0x6>;
580 device_type = "ethernet-phy"; 581 device_type = "ethernet-phy";
581 }; 582 };
582 tbi-phy@11 { 583 tbi1: tbi-phy@11 {
583 reg = <0x11>; 584 reg = <0x11>;
584 device_type = "tbi-phy"; 585 device_type = "tbi-phy";
585 }; 586 };
@@ -590,7 +591,7 @@
590 reg = <0x3520 0x18>; 591 reg = <0x3520 0x18>;
591 compatible = "fsl,ucc-mdio"; 592 compatible = "fsl,ucc-mdio";
592 593
593 tbi0: tbi-phy@15 { 594 tbi6: tbi-phy@15 {
594 reg = <0x15>; 595 reg = <0x15>;
595 device_type = "tbi-phy"; 596 device_type = "tbi-phy";
596 }; 597 };
@@ -600,7 +601,7 @@
600 #size-cells = <0>; 601 #size-cells = <0>;
601 reg = <0x3720 0x38>; 602 reg = <0x3720 0x38>;
602 compatible = "fsl,ucc-mdio"; 603 compatible = "fsl,ucc-mdio";
603 tbi1: tbi-phy@17 { 604 tbi8: tbi-phy@17 {
604 reg = <0x17>; 605 reg = <0x17>;
605 device_type = "tbi-phy"; 606 device_type = "tbi-phy";
606 }; 607 };
@@ -617,10 +618,22 @@
617 rx-clock-name = "none"; 618 rx-clock-name = "none";
618 tx-clock-name = "clk12"; 619 tx-clock-name = "clk12";
619 pio-handle = <&pio3>; 620 pio-handle = <&pio3>;
621 tbi-handle = <&tbi3>;
620 phy-handle = <&qe_phy2>; 622 phy-handle = <&qe_phy2>;
621 phy-connection-type = "rgmii-id"; 623 phy-connection-type = "rgmii-id";
622 }; 624 };
623 625
626 mdio@2320 {
627 #address-cells = <1>;
628 #size-cells = <0>;
629 reg = <0x2320 0x18>;
630 compatible = "fsl,ucc-mdio";
631 tbi3: tbi-phy@11 {
632 reg = <0x11>;
633 device_type = "tbi-phy";
634 };
635 };
636
624 enet1: ucc@3000 { 637 enet1: ucc@3000 {
625 device_type = "network"; 638 device_type = "network";
626 compatible = "ucc_geth"; 639 compatible = "ucc_geth";
@@ -632,10 +645,22 @@
632 rx-clock-name = "none"; 645 rx-clock-name = "none";
633 tx-clock-name = "clk17"; 646 tx-clock-name = "clk17";
634 pio-handle = <&pio2>; 647 pio-handle = <&pio2>;
648 tbi-handle = <&tbi2>;
635 phy-handle = <&qe_phy1>; 649 phy-handle = <&qe_phy1>;
636 phy-connection-type = "rgmii-id"; 650 phy-connection-type = "rgmii-id";
637 }; 651 };
638 652
653 mdio@3120 {
654 #address-cells = <1>;
655 #size-cells = <0>;
656 reg = <0x3120 0x18>;
657 compatible = "fsl,ucc-mdio";
658 tbi2: tbi-phy@11 {
659 reg = <0x11>;
660 device_type = "tbi-phy";
661 };
662 };
663
639 enet3: ucc@3200 { 664 enet3: ucc@3200 {
640 device_type = "network"; 665 device_type = "network";
641 compatible = "ucc_geth"; 666 compatible = "ucc_geth";
@@ -647,10 +672,22 @@
647 rx-clock-name = "none"; 672 rx-clock-name = "none";
648 tx-clock-name = "clk17"; 673 tx-clock-name = "clk17";
649 pio-handle = <&pio4>; 674 pio-handle = <&pio4>;
675 tbi-handle = <&tbi4>;
650 phy-handle = <&qe_phy3>; 676 phy-handle = <&qe_phy3>;
651 phy-connection-type = "rgmii-id"; 677 phy-connection-type = "rgmii-id";
652 }; 678 };
653 679
680 mdio@3320 {
681 #address-cells = <1>;
682 #size-cells = <0>;
683 reg = <0x3320 0x18>;
684 compatible = "fsl,ucc-mdio";
685 tbi4: tbi-phy@11 {
686 reg = <0x11>;
687 device_type = "tbi-phy";
688 };
689 };
690
654 enet5: ucc@3400 { 691 enet5: ucc@3400 {
655 device_type = "network"; 692 device_type = "network";
656 compatible = "ucc_geth"; 693 compatible = "ucc_geth";
@@ -661,7 +698,7 @@
661 local-mac-address = [ 00 00 00 00 00 00 ]; 698 local-mac-address = [ 00 00 00 00 00 00 ];
662 rx-clock-name = "none"; 699 rx-clock-name = "none";
663 tx-clock-name = "none"; 700 tx-clock-name = "none";
664 tbi-handle = <&tbi0>; 701 tbi-handle = <&tbi6>;
665 phy-handle = <&qe_phy5>; 702 phy-handle = <&qe_phy5>;
666 phy-connection-type = "sgmii"; 703 phy-connection-type = "sgmii";
667 }; 704 };
@@ -676,7 +713,7 @@
676 local-mac-address = [ 00 00 00 00 00 00 ]; 713 local-mac-address = [ 00 00 00 00 00 00 ];
677 rx-clock-name = "none"; 714 rx-clock-name = "none";
678 tx-clock-name = "none"; 715 tx-clock-name = "none";
679 tbi-handle = <&tbi1>; 716 tbi-handle = <&tbi8>;
680 phy-handle = <&qe_phy7>; 717 phy-handle = <&qe_phy7>;
681 phy-connection-type = "sgmii"; 718 phy-connection-type = "sgmii";
682 }; 719 };
diff --git a/arch/powerpc/boot/dts/mpc8572ds_camp_core0.dts b/arch/powerpc/boot/dts/mpc8572ds_camp_core0.dts
index 5bd1011fde96..3375c2ab0c32 100644
--- a/arch/powerpc/boot/dts/mpc8572ds_camp_core0.dts
+++ b/arch/powerpc/boot/dts/mpc8572ds_camp_core0.dts
@@ -215,6 +215,18 @@
215 clock-frequency = <0>; 215 clock-frequency = <0>;
216 }; 216 };
217 217
218 msi@41600 {
219 compatible = "fsl,mpc8572-msi", "fsl,mpic-msi";
220 reg = <0x41600 0x80>;
221 msi-available-ranges = <0 0x80>;
222 interrupts = <
223 0xe0 0
224 0xe1 0
225 0xe2 0
226 0xe3 0>;
227 interrupt-parent = <&mpic>;
228 };
229
218 global-utilities@e0000 { //global utilities block 230 global-utilities@e0000 { //global utilities block
219 compatible = "fsl,mpc8572-guts"; 231 compatible = "fsl,mpc8572-guts";
220 reg = <0xe0000 0x1000>; 232 reg = <0xe0000 0x1000>;
@@ -243,8 +255,7 @@
243 protected-sources = < 255 protected-sources = <
244 31 32 33 37 38 39 /* enet2 enet3 */ 256 31 32 33 37 38 39 /* enet2 enet3 */
245 76 77 78 79 26 42 /* dma2 pci2 serial*/ 257 76 77 78 79 26 42 /* dma2 pci2 serial*/
246 0xe0 0xe1 0xe2 0xe3 /* msi */ 258 0xe4 0xe5 0xe6 0xe7 /* msi */
247 0xe4 0xe5 0xe6 0xe7
248 >; 259 >;
249 }; 260 };
250 }; 261 };
diff --git a/arch/powerpc/boot/dts/mpc8572ds_camp_core1.dts b/arch/powerpc/boot/dts/mpc8572ds_camp_core1.dts
index 0efc3456e297..e7b477f6a3fe 100644
--- a/arch/powerpc/boot/dts/mpc8572ds_camp_core1.dts
+++ b/arch/powerpc/boot/dts/mpc8572ds_camp_core1.dts
@@ -154,12 +154,8 @@
154 msi@41600 { 154 msi@41600 {
155 compatible = "fsl,mpc8572-msi", "fsl,mpic-msi"; 155 compatible = "fsl,mpc8572-msi", "fsl,mpic-msi";
156 reg = <0x41600 0x80>; 156 reg = <0x41600 0x80>;
157 msi-available-ranges = <0 0x100>; 157 msi-available-ranges = <0x80 0x80>;
158 interrupts = < 158 interrupts = <
159 0xe0 0
160 0xe1 0
161 0xe2 0
162 0xe3 0
163 0xe4 0 159 0xe4 0
164 0xe5 0 160 0xe5 0
165 0xe6 0 161 0xe6 0
@@ -190,6 +186,7 @@
190 0x1 0x2 0x3 0x4 /* pci slot */ 186 0x1 0x2 0x3 0x4 /* pci slot */
191 0x9 0xa 0xb 0xc /* usb */ 187 0x9 0xa 0xb 0xc /* usb */
192 0x6 0x7 0xe 0x5 /* Audio elgacy SATA */ 188 0x6 0x7 0xe 0x5 /* Audio elgacy SATA */
189 0xe0 0xe1 0xe2 0xe3 /* msi */
193 >; 190 >;
194 }; 191 };
195 }; 192 };
diff --git a/arch/powerpc/boot/dts/p1020rdb.dts b/arch/powerpc/boot/dts/p1020rdb.dts
index df5269093af8..22f64b62d7f6 100644
--- a/arch/powerpc/boot/dts/p1020rdb.dts
+++ b/arch/powerpc/boot/dts/p1020rdb.dts
@@ -19,6 +19,9 @@
19 aliases { 19 aliases {
20 serial0 = &serial0; 20 serial0 = &serial0;
21 serial1 = &serial1; 21 serial1 = &serial1;
22 ethernet0 = &enet0;
23 ethernet1 = &enet1;
24 ethernet2 = &enet2;
22 pci0 = &pci0; 25 pci0 = &pci0;
23 pci1 = &pci1; 26 pci1 = &pci1;
24 }; 27 };
@@ -346,6 +349,122 @@
346 }; 349 };
347 }; 350 };
348 351
352 mdio@24000 {
353 #address-cells = <1>;
354 #size-cells = <0>;
355 compatible = "fsl,etsec2-mdio";
356 reg = <0x24000 0x1000 0xb0030 0x4>;
357
358 phy0: ethernet-phy@0 {
359 interrupt-parent = <&mpic>;
360 interrupts = <3 1>;
361 reg = <0x0>;
362 };
363
364 phy1: ethernet-phy@1 {
365 interrupt-parent = <&mpic>;
366 interrupts = <2 1>;
367 reg = <0x1>;
368 };
369 };
370
371 mdio@25000 {
372 #address-cells = <1>;
373 #size-cells = <0>;
374 compatible = "fsl,etsec2-tbi";
375 reg = <0x25000 0x1000 0xb1030 0x4>;
376
377 tbi0: tbi-phy@11 {
378 reg = <0x11>;
379 device_type = "tbi-phy";
380 };
381 };
382
383 enet0: ethernet@b0000 {
384 #address-cells = <1>;
385 #size-cells = <1>;
386 device_type = "network";
387 model = "eTSEC";
388 compatible = "fsl,etsec2";
389 fsl,num_rx_queues = <0x8>;
390 fsl,num_tx_queues = <0x8>;
391 local-mac-address = [ 00 00 00 00 00 00 ];
392 interrupt-parent = <&mpic>;
393 fixed-link = <1 1 1000 0 0>;
394 phy-connection-type = "rgmii-id";
395
396 queue-group@0 {
397 #address-cells = <1>;
398 #size-cells = <1>;
399 reg = <0xb0000 0x1000>;
400 interrupts = <29 2 30 2 34 2>;
401 };
402
403 queue-group@1 {
404 #address-cells = <1>;
405 #size-cells = <1>;
406 reg = <0xb4000 0x1000>;
407 interrupts = <17 2 18 2 24 2>;
408 };
409 };
410
411 enet1: ethernet@b1000 {
412 #address-cells = <1>;
413 #size-cells = <1>;
414 device_type = "network";
415 model = "eTSEC";
416 compatible = "fsl,etsec2";
417 fsl,num_rx_queues = <0x8>;
418 fsl,num_tx_queues = <0x8>;
419 local-mac-address = [ 00 00 00 00 00 00 ];
420 interrupt-parent = <&mpic>;
421 phy-handle = <&phy0>;
422 tbi-handle = <&tbi0>;
423 phy-connection-type = "sgmii";
424
425 queue-group@0 {
426 #address-cells = <1>;
427 #size-cells = <1>;
428 reg = <0xb1000 0x1000>;
429 interrupts = <35 2 36 2 40 2>;
430 };
431
432 queue-group@1 {
433 #address-cells = <1>;
434 #size-cells = <1>;
435 reg = <0xb5000 0x1000>;
436 interrupts = <51 2 52 2 67 2>;
437 };
438 };
439
440 enet2: ethernet@b2000 {
441 #address-cells = <1>;
442 #size-cells = <1>;
443 device_type = "network";
444 model = "eTSEC";
445 compatible = "fsl,etsec2";
446 fsl,num_rx_queues = <0x8>;
447 fsl,num_tx_queues = <0x8>;
448 local-mac-address = [ 00 00 00 00 00 00 ];
449 interrupt-parent = <&mpic>;
450 phy-handle = <&phy1>;
451 phy-connection-type = "rgmii-id";
452
453 queue-group@0 {
454 #address-cells = <1>;
455 #size-cells = <1>;
456 reg = <0xb2000 0x1000>;
457 interrupts = <31 2 32 2 33 2>;
458 };
459
460 queue-group@1 {
461 #address-cells = <1>;
462 #size-cells = <1>;
463 reg = <0xb6000 0x1000>;
464 interrupts = <25 2 26 2 27 2>;
465 };
466 };
467
349 usb@22000 { 468 usb@22000 {
350 #address-cells = <1>; 469 #address-cells = <1>;
351 #size-cells = <0>; 470 #size-cells = <0>;
@@ -356,6 +475,11 @@
356 phy_type = "ulpi"; 475 phy_type = "ulpi";
357 }; 476 };
358 477
478 /* USB2 is shared with localbus, so it must be disabled
479 by default. We can't put 'status = "disabled";' here
480 since U-Boot doesn't clear the status property when
481 it enables USB2. OTOH, U-Boot does create a new node
482 when there isn't any. So, just comment it out.
359 usb@23000 { 483 usb@23000 {
360 #address-cells = <1>; 484 #address-cells = <1>;
361 #size-cells = <0>; 485 #size-cells = <0>;
@@ -365,6 +489,7 @@
365 interrupts = <46 0x2>; 489 interrupts = <46 0x2>;
366 phy_type = "ulpi"; 490 phy_type = "ulpi";
367 }; 491 };
492 */
368 493
369 sdhci@2e000 { 494 sdhci@2e000 {
370 compatible = "fsl,p1020-esdhc", "fsl,esdhc"; 495 compatible = "fsl,p1020-esdhc", "fsl,esdhc";
diff --git a/arch/powerpc/boot/dts/p1021mds.dts b/arch/powerpc/boot/dts/p1021mds.dts
new file mode 100644
index 000000000000..7fad2df25981
--- /dev/null
+++ b/arch/powerpc/boot/dts/p1021mds.dts
@@ -0,0 +1,698 @@
1/*
2 * P1021 MDS Device Tree Source
3 *
4 * Copyright 2010 Freescale Semiconductor Inc.
5 *
6 * This program is free software; you can redistribute it and/or modify it
7 * under the terms of the GNU General Public License as published by the
8 * Free Software Foundation; either version 2 of the License, or (at your
9 * option) any later version.
10 */
11
12/dts-v1/;
13/ {
14 model = "fsl,P1021";
15 compatible = "fsl,P1021MDS";
16 #address-cells = <2>;
17 #size-cells = <2>;
18
19 aliases {
20 serial0 = &serial0;
21 serial1 = &serial1;
22 ethernet0 = &enet0;
23 ethernet1 = &enet1;
24 ethernet2 = &enet2;
25 ethernet3 = &enet3;
26 ethernet4 = &enet4;
27 pci0 = &pci0;
28 pci1 = &pci1;
29 };
30
31 cpus {
32 #address-cells = <1>;
33 #size-cells = <0>;
34
35 PowerPC,P1021@0 {
36 device_type = "cpu";
37 reg = <0x0>;
38 next-level-cache = <&L2>;
39 };
40
41 PowerPC,P1021@1 {
42 device_type = "cpu";
43 reg = <0x1>;
44 next-level-cache = <&L2>;
45 };
46 };
47
48 memory {
49 device_type = "memory";
50 };
51
52 localbus@ffe05000 {
53 #address-cells = <2>;
54 #size-cells = <1>;
55 compatible = "fsl,p1021-elbc", "fsl,elbc", "simple-bus";
56 reg = <0 0xffe05000 0 0x1000>;
57 interrupts = <19 2>;
58 interrupt-parent = <&mpic>;
59
60 /* NAND Flash, BCSR, PMC0/1*/
61 ranges = <0x0 0x0 0x0 0xfc000000 0x02000000
62 0x1 0x0 0x0 0xf8000000 0x00008000
63 0x2 0x0 0x0 0xf8010000 0x00020000
64 0x3 0x0 0x0 0xf8020000 0x00020000>;
65
66 nand@0,0 {
67 #address-cells = <1>;
68 #size-cells = <1>;
69 compatible = "fsl,p1021-fcm-nand",
70 "fsl,elbc-fcm-nand";
71 reg = <0x0 0x0 0x40000>;
72
73 partition@0 {
74 /* This location must not be altered */
75 /* 1MB for u-boot Bootloader Image */
76 reg = <0x0 0x00100000>;
77 label = "NAND (RO) U-Boot Image";
78 read-only;
79 };
80
81 partition@100000 {
82 /* 1MB for DTB Image */
83 reg = <0x00100000 0x00100000>;
84 label = "NAND (RO) DTB Image";
85 read-only;
86 };
87
88 partition@200000 {
89 /* 4MB for Linux Kernel Image */
90 reg = <0x00200000 0x00400000>;
91 label = "NAND (RO) Linux Kernel Image";
92 read-only;
93 };
94
95 partition@600000 {
96 /* 5MB for Compressed Root file System Image */
97 reg = <0x00600000 0x00500000>;
98 label = "NAND (RO) Compressed RFS Image";
99 read-only;
100 };
101
102 partition@b00000 {
103 /* 6MB for JFFS2 based Root file System */
104 reg = <0x00a00000 0x00600000>;
105 label = "NAND (RW) JFFS2 Root File System";
106 };
107
108 partition@1100000 {
109 /* 14MB for JFFS2 based Root file System */
110 reg = <0x01100000 0x00e00000>;
111 label = "NAND (RW) Writable User area";
112 };
113
114 partition@1f00000 {
115 /* 1MB for microcode */
116 reg = <0x01f00000 0x00100000>;
117 label = "NAND (RO) QE Ucode";
118 read-only;
119 };
120 };
121
122 bcsr@1,0 {
123 #address-cells = <1>;
124 #size-cells = <1>;
125 compatible = "fsl,p1021mds-bcsr";
126 reg = <1 0 0x8000>;
127 ranges = <0 1 0 0x8000>;
128 };
129
130 pib@2,0 {
131 compatible = "fsl,p1021mds-pib";
132 reg = <2 0 0x10000>;
133 };
134
135 pib@3,0 {
136 compatible = "fsl,p1021mds-pib";
137 reg = <3 0 0x10000>;
138 };
139 };
140
141 soc@ffe00000 {
142
143 #address-cells = <1>;
144 #size-cells = <1>;
145 device_type = "soc";
146 compatible = "fsl,p1021-immr", "simple-bus";
147 ranges = <0x0 0x0 0xffe00000 0x100000>;
148 bus-frequency = <0>; // Filled out by uboot.
149
150 ecm-law@0 {
151 compatible = "fsl,ecm-law";
152 reg = <0x0 0x1000>;
153 fsl,num-laws = <12>;
154 };
155
156 ecm@1000 {
157 compatible = "fsl,p1021-ecm", "fsl,ecm";
158 reg = <0x1000 0x1000>;
159 interrupts = <16 2>;
160 interrupt-parent = <&mpic>;
161 };
162
163 memory-controller@2000 {
164 compatible = "fsl,p1021-memory-controller";
165 reg = <0x2000 0x1000>;
166 interrupt-parent = <&mpic>;
167 interrupts = <16 2>;
168 };
169
170 i2c@3000 {
171 #address-cells = <1>;
172 #size-cells = <0>;
173 cell-index = <0>;
174 compatible = "fsl-i2c";
175 reg = <0x3000 0x100>;
176 interrupts = <43 2>;
177 interrupt-parent = <&mpic>;
178 dfsrr;
179 rtc@68 {
180 compatible = "dallas,ds1374";
181 reg = <0x68>;
182 };
183 };
184
185 i2c@3100 {
186 #address-cells = <1>;
187 #size-cells = <0>;
188 cell-index = <1>;
189 compatible = "fsl-i2c";
190 reg = <0x3100 0x100>;
191 interrupts = <43 2>;
192 interrupt-parent = <&mpic>;
193 dfsrr;
194 };
195
196 serial0: serial@4500 {
197 cell-index = <0>;
198 device_type = "serial";
199 compatible = "ns16550";
200 reg = <0x4500 0x100>;
201 clock-frequency = <0>;
202 interrupts = <42 2>;
203 interrupt-parent = <&mpic>;
204 };
205
206 serial1: serial@4600 {
207 cell-index = <1>;
208 device_type = "serial";
209 compatible = "ns16550";
210 reg = <0x4600 0x100>;
211 clock-frequency = <0>;
212 interrupts = <42 2>;
213 interrupt-parent = <&mpic>;
214 };
215
216 spi@7000 {
217 cell-index = <0>;
218 #address-cells = <1>;
219 #size-cells = <0>;
220 compatible = "fsl,espi";
221 reg = <0x7000 0x1000>;
222 interrupts = <59 0x2>;
223 interrupt-parent = <&mpic>;
224 espi,num-ss-bits = <4>;
225 mode = "cpu";
226
227 fsl_m25p80@0 {
228 #address-cells = <1>;
229 #size-cells = <1>;
230 compatible = "fsl,espi-flash";
231 reg = <0>;
232 linux,modalias = "fsl_m25p80";
233 spi-max-frequency = <40000000>; /* input clock */
234 partition@u-boot {
235 label = "u-boot-spi";
236 reg = <0x00000000 0x00100000>;
237 read-only;
238 };
239 partition@kernel {
240 label = "kernel-spi";
241 reg = <0x00100000 0x00500000>;
242 read-only;
243 };
244 partition@dtb {
245 label = "dtb-spi";
246 reg = <0x00600000 0x00100000>;
247 read-only;
248 };
249 partition@fs {
250 label = "file system-spi";
251 reg = <0x00700000 0x00900000>;
252 };
253 };
254 };
255
256 gpio: gpio-controller@f000 {
257 #gpio-cells = <2>;
258 compatible = "fsl,mpc8572-gpio";
259 reg = <0xf000 0x100>;
260 interrupts = <47 0x2>;
261 interrupt-parent = <&mpic>;
262 gpio-controller;
263 };
264
265 L2: l2-cache-controller@20000 {
266 compatible = "fsl,p1021-l2-cache-controller";
267 reg = <0x20000 0x1000>;
268 cache-line-size = <32>; // 32 bytes
269 cache-size = <0x40000>; // L2,256K
270 interrupt-parent = <&mpic>;
271 interrupts = <16 2>;
272 };
273
274 dma@21300 {
275 #address-cells = <1>;
276 #size-cells = <1>;
277 compatible = "fsl,eloplus-dma";
278 reg = <0x21300 0x4>;
279 ranges = <0x0 0x21100 0x200>;
280 cell-index = <0>;
281 dma-channel@0 {
282 compatible = "fsl,eloplus-dma-channel";
283 reg = <0x0 0x80>;
284 cell-index = <0>;
285 interrupt-parent = <&mpic>;
286 interrupts = <20 2>;
287 };
288 dma-channel@80 {
289 compatible = "fsl,eloplus-dma-channel";
290 reg = <0x80 0x80>;
291 cell-index = <1>;
292 interrupt-parent = <&mpic>;
293 interrupts = <21 2>;
294 };
295 dma-channel@100 {
296 compatible = "fsl,eloplus-dma-channel";
297 reg = <0x100 0x80>;
298 cell-index = <2>;
299 interrupt-parent = <&mpic>;
300 interrupts = <22 2>;
301 };
302 dma-channel@180 {
303 compatible = "fsl,eloplus-dma-channel";
304 reg = <0x180 0x80>;
305 cell-index = <3>;
306 interrupt-parent = <&mpic>;
307 interrupts = <23 2>;
308 };
309 };
310
311 usb@22000 {
312 #address-cells = <1>;
313 #size-cells = <0>;
314 compatible = "fsl-usb2-dr";
315 reg = <0x22000 0x1000>;
316 interrupt-parent = <&mpic>;
317 interrupts = <28 0x2>;
318 phy_type = "ulpi";
319 };
320
321 mdio@24000 {
322 #address-cells = <1>;
323 #size-cells = <0>;
324 compatible = "fsl,etsec2-mdio";
325 reg = <0x24000 0x1000 0xb0030 0x4>;
326
327 phy0: ethernet-phy@0 {
328 interrupt-parent = <&mpic>;
329 interrupts = <1 1>;
330 reg = <0x0>;
331 };
332 phy1: ethernet-phy@1 {
333 interrupt-parent = <&mpic>;
334 interrupts = <2 1>;
335 reg = <0x1>;
336 };
337 phy4: ethernet-phy@4 {
338 interrupt-parent = <&mpic>;
339 reg = <0x4>;
340 };
341 };
342
343 mdio@25000 {
344 #address-cells = <1>;
345 #size-cells = <0>;
346 compatible = "fsl,etsec2-tbi";
347 reg = <0x25000 0x1000 0xb1030 0x4>;
348 tbi0: tbi-phy@11 {
349 reg = <0x11>;
350 device_type = "tbi-phy";
351 };
352 };
353
354 enet0: ethernet@B0000 {
355 #address-cells = <1>;
356 #size-cells = <1>;
357 cell-index = <0>;
358 device_type = "network";
359 model = "eTSEC";
360 compatible = "fsl,etsec2";
361 fsl,num_rx_queues = <0x8>;
362 fsl,num_tx_queues = <0x8>;
363 local-mac-address = [ 00 00 00 00 00 00 ];
364 interrupt-parent = <&mpic>;
365 phy-handle = <&phy0>;
366 phy-connection-type = "rgmii-id";
367 queue-group@0{
368 #address-cells = <1>;
369 #size-cells = <1>;
370 reg = <0xB0000 0x1000>;
371 interrupts = <29 2 30 2 34 2>;
372 };
373 queue-group@1{
374 #address-cells = <1>;
375 #size-cells = <1>;
376 reg = <0xB4000 0x1000>;
377 interrupts = <17 2 18 2 24 2>;
378 };
379 };
380
381 enet1: ethernet@B1000 {
382 #address-cells = <1>;
383 #size-cells = <1>;
384 cell-index = <0>;
385 device_type = "network";
386 model = "eTSEC";
387 compatible = "fsl,etsec2";
388 fsl,num_rx_queues = <0x8>;
389 fsl,num_tx_queues = <0x8>;
390 local-mac-address = [ 00 00 00 00 00 00 ];
391 interrupt-parent = <&mpic>;
392 phy-handle = <&phy4>;
393 tbi-handle = <&tbi0>;
394 phy-connection-type = "sgmii";
395 queue-group@0{
396 #address-cells = <1>;
397 #size-cells = <1>;
398 reg = <0xB1000 0x1000>;
399 interrupts = <35 2 36 2 40 2>;
400 };
401 queue-group@1{
402 #address-cells = <1>;
403 #size-cells = <1>;
404 reg = <0xB5000 0x1000>;
405 interrupts = <51 2 52 2 67 2>;
406 };
407 };
408
409 enet2: ethernet@B2000 {
410 #address-cells = <1>;
411 #size-cells = <1>;
412 cell-index = <0>;
413 device_type = "network";
414 model = "eTSEC";
415 compatible = "fsl,etsec2";
416 fsl,num_rx_queues = <0x8>;
417 fsl,num_tx_queues = <0x8>;
418 local-mac-address = [ 00 00 00 00 00 00 ];
419 interrupt-parent = <&mpic>;
420 phy-handle = <&phy1>;
421 phy-connection-type = "rgmii-id";
422 queue-group@0{
423 #address-cells = <1>;
424 #size-cells = <1>;
425 reg = <0xB2000 0x1000>;
426 interrupts = <31 2 32 2 33 2>;
427 };
428 queue-group@1{
429 #address-cells = <1>;
430 #size-cells = <1>;
431 reg = <0xB6000 0x1000>;
432 interrupts = <25 2 26 2 27 2>;
433 };
434 };
435
436 sdhci@2e000 {
437 compatible = "fsl,p1021-esdhc", "fsl,esdhc";
438 reg = <0x2e000 0x1000>;
439 interrupts = <72 0x2>;
440 interrupt-parent = <&mpic>;
441 /* Filled in by U-Boot */
442 clock-frequency = <0>;
443 };
444
445 crypto@30000 {
446 compatible = "fsl,sec3.3", "fsl,sec3.1",
447 "fsl,sec3.0", "fsl,sec2.4",
448 "fsl,sec2.2", "fsl,sec2.1", "fsl,sec2.0";
449 reg = <0x30000 0x10000>;
450 interrupts = <45 2 58 2>;
451 interrupt-parent = <&mpic>;
452 fsl,num-channels = <4>;
453 fsl,channel-fifo-len = <24>;
454 fsl,exec-units-mask = <0x97c>;
455 fsl,descriptor-types-mask = <0x3a30abf>;
456 };
457
458 mpic: pic@40000 {
459 interrupt-controller;
460 #address-cells = <0>;
461 #interrupt-cells = <2>;
462 reg = <0x40000 0x40000>;
463 compatible = "chrp,open-pic";
464 device_type = "open-pic";
465 };
466
467 msi@41600 {
468 compatible = "fsl,p1021-msi", "fsl,mpic-msi";
469 reg = <0x41600 0x80>;
470 msi-available-ranges = <0 0x100>;
471 interrupts = <
472 0xe0 0
473 0xe1 0
474 0xe2 0
475 0xe3 0
476 0xe4 0
477 0xe5 0
478 0xe6 0
479 0xe7 0>;
480 interrupt-parent = <&mpic>;
481 };
482
483 global-utilities@e0000 { //global utilities block
484 compatible = "fsl,p1021-guts";
485 reg = <0xe0000 0x1000>;
486 fsl,has-rstcr;
487 };
488
489 par_io@e0100 {
490 #address-cells = <1>;
491 #size-cells = <1>;
492 reg = <0xe0100 0x60>;
493 ranges = <0x0 0xe0100 0x60>;
494 device_type = "par_io";
495 num-ports = <3>;
496 pio1: ucc_pin@01 {
497 pio-map = <
498 /* port pin dir open_drain assignment has_irq */
499 0x1 0x13 0x1 0x0 0x1 0x0 /* QE_MUX_MDC */
500 0x1 0x14 0x3 0x0 0x1 0x0 /* QE_MUX_MDIO */
501 0x0 0x17 0x2 0x0 0x2 0x0 /* CLK12 */
502 0x0 0x18 0x2 0x0 0x1 0x0 /* CLK9
503*/
504 0x0 0x7 0x1 0x0 0x2 0x0 /* ENET1_TXD0_SER1_TXD0 */
505 0x0 0x9 0x1 0x0 0x2 0x0 /* ENET1_TXD1_SER1_TXD1 */
506 0x0 0xb 0x1 0x0 0x2 0x0 /* ENET1_TXD2_SER1_TXD2 */
507 0x0 0xc 0x1 0x0 0x2 0x0 /* ENET1_TXD3_SER1_TXD3 */
508 0x0 0x6 0x2 0x0 0x2 0x0 /* ENET1_RXD0_SER1_RXD0 */
509 0x0 0xa 0x2 0x0 0x2 0x0 /* ENET1_RXD1_SER1_RXD1 */
510 0x0 0xe 0x2 0x0 0x2 0x0 /* ENET1_RXD2_SER1_RXD2 */
511 0x0 0xf 0x2 0x0 0x2 0x0 /* ENET1_RXD3_SER1_RXD3 */
512 0x0 0x5 0x1 0x0 0x2 0x0 /* ENET1_TX_EN_SER1_RTS_B */
513 0x0 0xd 0x1 0x0 0x2 0x0 /* ENET1_TX_ER */
514 0x0 0x4 0x2 0x0 0x2 0x0 /* ENET1_RX_DV_SER1_CTS_B */
515 0x0 0x8 0x2 0x0 0x2 0x0 /* ENET1_RX_ER_SER1_CD_B */
516 0x0 0x11 0x2 0x0 0x2 0x0 /* ENET1_CRS */
517 0x0 0x10 0x2 0x0 0x2 0x0>; /* ENET1_COL */
518 };
519
520 pio2: ucc_pin@02 {
521 pio-map = <
522 /* port pin dir open_drain assignment has_irq */
523 0x1 0x13 0x1 0x0 0x1 0x0 /* QE_MUX_MDC */
524 0x1 0x14 0x3 0x0 0x1 0x0 /* QE_MUX_MDIO */
525 0x1 0xb 0x2 0x0 0x1 0x0 /* CLK13 */
526 0x1 0x7 0x1 0x0 0x2 0x0 /* ENET5_TXD0_SER5_TXD0 */
527 0x1 0xa 0x1 0x0 0x2 0x0 /* ENET5_TXD1_SER5_TXD1 */
528 0x1 0x6 0x2 0x0 0x2 0x0 /* ENET5_RXD0_SER5_RXD0 */
529 0x1 0x9 0x2 0x0 0x2 0x0 /* ENET5_RXD1_SER5_RXD1 */
530 0x1 0x5 0x1 0x0 0x2 0x0 /* ENET5_TX_EN_SER5_RTS_B */
531 0x1 0x4 0x2 0x0 0x2 0x0 /* ENET5_RX_DV_SER5_CTS_B */
532 0x1 0x8 0x2 0x0 0x2 0x0>; /* ENET5_RX_ER_SER5_CD_B */
533 };
534 };
535 };
536
537 pci0: pcie@ffe09000 {
538 compatible = "fsl,mpc8548-pcie";
539 device_type = "pci";
540 #interrupt-cells = <1>;
541 #size-cells = <2>;
542 #address-cells = <3>;
543 reg = <0 0xffe09000 0 0x1000>;
544 bus-range = <0 255>;
545 ranges = <0x2000000 0x0 0xa0000000 0 0xa0000000 0x0 0x20000000
546 0x1000000 0x0 0x00000000 0 0xffc10000 0x0 0x10000>;
547 clock-frequency = <33333333>;
548 interrupt-parent = <&mpic>;
549 interrupts = <16 2>;
550 interrupt-map-mask = <0xf800 0 0 7>;
551 interrupt-map = <
552 /* IDSEL 0x0 */
553 0000 0 0 1 &mpic 4 1
554 0000 0 0 2 &mpic 5 1
555 0000 0 0 3 &mpic 6 1
556 0000 0 0 4 &mpic 7 1
557 >;
558 pcie@0 {
559 reg = <0x0 0x0 0x0 0x0 0x0>;
560 #size-cells = <2>;
561 #address-cells = <3>;
562 device_type = "pci";
563 ranges = <0x2000000 0x0 0xa0000000
564 0x2000000 0x0 0xa0000000
565 0x0 0x20000000
566
567 0x1000000 0x0 0x0
568 0x1000000 0x0 0x0
569 0x0 0x100000>;
570 };
571 };
572
573 pci1: pcie@ffe0a000 {
574 compatible = "fsl,mpc8548-pcie";
575 device_type = "pci";
576 #interrupt-cells = <1>;
577 #size-cells = <2>;
578 #address-cells = <3>;
579 reg = <0 0xffe0a000 0 0x1000>;
580 bus-range = <0 255>;
581 ranges = <0x2000000 0x0 0xc0000000 0 0xc0000000 0x0 0x20000000
582 0x1000000 0x0 0x00000000 0 0xffc20000 0x0 0x10000>;
583 clock-frequency = <33333333>;
584 interrupt-parent = <&mpic>;
585 interrupts = <16 2>;
586 interrupt-map-mask = <0xf800 0 0 7>;
587 interrupt-map = <
588 /* IDSEL 0x0 */
589 0000 0 0 1 &mpic 0 1
590 0000 0 0 2 &mpic 1 1
591 0000 0 0 3 &mpic 2 1
592 0000 0 0 4 &mpic 3 1
593 >;
594 pcie@0 {
595 reg = <0x0 0x0 0x0 0x0 0x0>;
596 #size-cells = <2>;
597 #address-cells = <3>;
598 device_type = "pci";
599 ranges = <0x2000000 0x0 0xc0000000
600 0x2000000 0x0 0xc0000000
601 0x0 0x20000000
602
603 0x1000000 0x0 0x0
604 0x1000000 0x0 0x0
605 0x0 0x100000>;
606 };
607 };
608
609 qe@ffe80000 {
610 #address-cells = <1>;
611 #size-cells = <1>;
612 device_type = "qe";
613 compatible = "fsl,qe";
614 ranges = <0x0 0x0 0xffe80000 0x40000>;
615 reg = <0 0xffe80000 0 0x480>;
616 brg-frequency = <0>;
617 bus-frequency = <0>;
618 fsl,qe-num-riscs = <1>;
619 fsl,qe-num-snums = <28>;
620
621 qeic: interrupt-controller@80 {
622 interrupt-controller;
623 compatible = "fsl,qe-ic";
624 #address-cells = <0>;
625 #interrupt-cells = <1>;
626 reg = <0x80 0x80>;
627 interrupts = <63 2 60 2>; //high:47 low:44
628 interrupt-parent = <&mpic>;
629 };
630
631 enet3: ucc@2000 {
632 device_type = "network";
633 compatible = "ucc_geth";
634 cell-index = <1>;
635 reg = <0x2000 0x200>;
636 interrupts = <32>;
637 interrupt-parent = <&qeic>;
638 local-mac-address = [ 00 00 00 00 00 00 ];
639 rx-clock-name = "clk12";
640 tx-clock-name = "clk9";
641 pio-handle = <&pio1>;
642 phy-handle = <&qe_phy0>;
643 phy-connection-type = "mii";
644 };
645
646 mdio@2120 {
647 #address-cells = <1>;
648 #size-cells = <0>;
649 reg = <0x2120 0x18>;
650 compatible = "fsl,ucc-mdio";
651
652 qe_phy0: ethernet-phy@0 {
653 interrupt-parent = <&mpic>;
654 interrupts = <4 1>;
655 reg = <0x0>;
656 device_type = "ethernet-phy";
657 };
658 qe_phy1: ethernet-phy@03 {
659 interrupt-parent = <&mpic>;
660 interrupts = <5 1>;
661 reg = <0x3>;
662 device_type = "ethernet-phy";
663 };
664 tbi-phy@11 {
665 reg = <0x11>;
666 device_type = "tbi-phy";
667 };
668 };
669
670 enet4: ucc@2400 {
671 device_type = "network";
672 compatible = "ucc_geth";
673 cell-index = <5>;
674 reg = <0x2400 0x200>;
675 interrupts = <40>;
676 interrupt-parent = <&qeic>;
677 local-mac-address = [ 00 00 00 00 00 00 ];
678 rx-clock-name = "none";
679 tx-clock-name = "clk13";
680 pio-handle = <&pio2>;
681 phy-handle = <&qe_phy1>;
682 phy-connection-type = "rmii";
683 };
684
685 muram@10000 {
686 #address-cells = <1>;
687 #size-cells = <1>;
688 compatible = "fsl,qe-muram", "fsl,cpm-muram";
689 ranges = <0x0 0x10000 0x6000>;
690
691 data-only@0 {
692 compatible = "fsl,qe-muram-data",
693 "fsl,cpm-muram-data";
694 reg = <0x0 0x6000>;
695 };
696 };
697 };
698};
diff --git a/arch/powerpc/boot/dts/redwood.dts b/arch/powerpc/boot/dts/redwood.dts
index d2af32e2bf7a..81636c01d906 100644
--- a/arch/powerpc/boot/dts/redwood.dts
+++ b/arch/powerpc/boot/dts/redwood.dts
@@ -234,10 +234,132 @@
234 has-inverted-stacr-oc; 234 has-inverted-stacr-oc;
235 has-new-stacr-staopc; 235 has-new-stacr-staopc;
236 }; 236 };
237 };
238 PCIE0: pciex@d00000000 {
239 device_type = "pci";
240 #interrupt-cells = <1>;
241 #size-cells = <2>;
242 #address-cells = <3>;
243 compatible = "ibm,plb-pciex-460sx", "ibm,plb-pciex";
244 primary;
245 port = <0x0>; /* port number */
246 reg = <0x0000000d 0x00000000 0x20000000 /* Config space access */
247 0x0000000c 0x10000000 0x00001000>; /* Registers */
248 dcr-reg = <0x100 0x020>;
249 sdr-base = <0x300>;
250
251 /* Outbound ranges, one memory and one IO,
252 * later cannot be changed
253 */
254 ranges = <0x02000000 0x00000000 0x80000000 0x0000000e 0x00000000 0x00000000 0x80000000
255 0x01000000 0x00000000 0x00000000 0x0000000f 0x80000000 0x00000000 0x00010000>;
256
257 /* Inbound 2GB range starting at 0 */
258 dma-ranges = <0x42000000 0x0 0x0 0x0 0x0 0x0 0x80000000>;
237 259
260 /* This drives busses 10 to 0x1f */
261 bus-range = <0x10 0x1f>;
262
263 /* Legacy interrupts (note the weird polarity, the bridge seems
264 * to invert PCIe legacy interrupts).
265 * We are de-swizzling here because the numbers are actually for
266 * port of the root complex virtual P2P bridge. But I want
267 * to avoid putting a node for it in the tree, so the numbers
268 * below are basically de-swizzled numbers.
269 * The real slot is on idsel 0, so the swizzling is 1:1
270 */
271 interrupt-map-mask = <0x0 0x0 0x0 0x7>;
272 interrupt-map = <
273 0x0 0x0 0x0 0x1 &UIC3 0x0 0x4 /* swizzled int A */
274 0x0 0x0 0x0 0x2 &UIC3 0x1 0x4 /* swizzled int B */
275 0x0 0x0 0x0 0x3 &UIC3 0x2 0x4 /* swizzled int C */
276 0x0 0x0 0x0 0x4 &UIC3 0x3 0x4 /* swizzled int D */>;
277 };
278
279 PCIE1: pciex@d20000000 {
280 device_type = "pci";
281 #interrupt-cells = <1>;
282 #size-cells = <2>;
283 #address-cells = <3>;
284 compatible = "ibm,plb-pciex-460sx", "ibm,plb-pciex";
285 primary;
286 port = <0x1>; /* port number */
287 reg = <0x0000000d 0x20000000 0x20000000 /* Config space access */
288 0x0000000c 0x10001000 0x00001000>; /* Registers */
289 dcr-reg = <0x120 0x020>;
290 sdr-base = <0x340>;
291
292 /* Outbound ranges, one memory and one IO,
293 * later cannot be changed
294 */
295 ranges = <0x02000000 0x00000000 0x80000000 0x0000000e 0x80000000 0x00000000 0x80000000
296 0x01000000 0x00000000 0x00000000 0x0000000f 0x80010000 0x00000000 0x00010000>;
297
298 /* Inbound 2GB range starting at 0 */
299 dma-ranges = <0x42000000 0x0 0x0 0x0 0x0 0x0 0x80000000>;
300
301 /* This drives busses 10 to 0x1f */
302 bus-range = <0x20 0x2f>;
303
304 /* Legacy interrupts (note the weird polarity, the bridge seems
305 * to invert PCIe legacy interrupts).
306 * We are de-swizzling here because the numbers are actually for
307 * port of the root complex virtual P2P bridge. But I want
308 * to avoid putting a node for it in the tree, so the numbers
309 * below are basically de-swizzled numbers.
310 * The real slot is on idsel 0, so the swizzling is 1:1
311 */
312 interrupt-map-mask = <0x0 0x0 0x0 0x7>;
313 interrupt-map = <
314 0x0 0x0 0x0 0x1 &UIC3 0x4 0x4 /* swizzled int A */
315 0x0 0x0 0x0 0x2 &UIC3 0x5 0x4 /* swizzled int B */
316 0x0 0x0 0x0 0x3 &UIC3 0x6 0x4 /* swizzled int C */
317 0x0 0x0 0x0 0x4 &UIC3 0x7 0x4 /* swizzled int D */>;
318 };
319
320 PCIE2: pciex@d40000000 {
321 device_type = "pci";
322 #interrupt-cells = <1>;
323 #size-cells = <2>;
324 #address-cells = <3>;
325 compatible = "ibm,plb-pciex-460sx", "ibm,plb-pciex";
326 primary;
327 port = <0x2>; /* port number */
328 reg = <0x0000000d 0x40000000 0x20000000 /* Config space access */
329 0x0000000c 0x10002000 0x00001000>; /* Registers */
330 dcr-reg = <0x140 0x020>;
331 sdr-base = <0x370>;
332
333 /* Outbound ranges, one memory and one IO,
334 * later cannot be changed
335 */
336 ranges = <0x02000000 0x00000000 0x80000000 0x0000000f 0x00000000 0x00000000 0x80000000
337 0x01000000 0x00000000 0x00000000 0x0000000f 0x80020000 0x00000000 0x00010000>;
338
339 /* Inbound 2GB range starting at 0 */
340 dma-ranges = <0x42000000 0x0 0x0 0x0 0x0 0x0 0x80000000>;
341
342 /* This drives busses 10 to 0x1f */
343 bus-range = <0x30 0x3f>;
344
345 /* Legacy interrupts (note the weird polarity, the bridge seems
346 * to invert PCIe legacy interrupts).
347 * We are de-swizzling here because the numbers are actually for
348 * port of the root complex virtual P2P bridge. But I want
349 * to avoid putting a node for it in the tree, so the numbers
350 * below are basically de-swizzled numbers.
351 * The real slot is on idsel 0, so the swizzling is 1:1
352 */
353 interrupt-map-mask = <0x0 0x0 0x0 0x7>;
354 interrupt-map = <
355 0x0 0x0 0x0 0x1 &UIC3 0x8 0x4 /* swizzled int A */
356 0x0 0x0 0x0 0x2 &UIC3 0x9 0x4 /* swizzled int B */
357 0x0 0x0 0x0 0x3 &UIC3 0xa 0x4 /* swizzled int C */
358 0x0 0x0 0x0 0x4 &UIC3 0xb 0x4 /* swizzled int D */>;
238 }; 359 };
239 360
240 }; 361 };
362
241 chosen { 363 chosen {
242 linux,stdout-path = "/plb/opb/serial@ef600200"; 364 linux,stdout-path = "/plb/opb/serial@ef600200";
243 }; 365 };
diff --git a/arch/powerpc/boot/treeboot-iss4xx.c b/arch/powerpc/boot/treeboot-iss4xx.c
new file mode 100644
index 000000000000..fcc44952874e
--- /dev/null
+++ b/arch/powerpc/boot/treeboot-iss4xx.c
@@ -0,0 +1,56 @@
1/*
2 * Copyright 2010 Ben. Herrenschmidt, IBM Corporation.
3 *
4 * Based on earlier code:
5 * Copyright (C) Paul Mackerras 1997.
6 *
7 * Matt Porter <mporter@kernel.crashing.org>
8 * Copyright 2002-2005 MontaVista Software Inc.
9 *
10 * Eugene Surovegin <eugene.surovegin@zultys.com> or <ebs@ebshome.net>
11 * Copyright (c) 2003, 2004 Zultys Technologies
12 *
13 * Copyright 2007 David Gibson, IBM Corporation.
14 *
15 * This program is free software; you can redistribute it and/or
16 * modify it under the terms of the GNU General Public License
17 * as published by the Free Software Foundation; either version
18 * 2 of the License, or (at your option) any later version.
19 */
20#include <stdarg.h>
21#include <stddef.h>
22#include "types.h"
23#include "elf.h"
24#include "string.h"
25#include "stdio.h"
26#include "page.h"
27#include "ops.h"
28#include "reg.h"
29#include "io.h"
30#include "dcr.h"
31#include "4xx.h"
32#include "44x.h"
33#include "libfdt.h"
34
35BSS_STACK(4096);
36
37static void iss_4xx_fixups(void)
38{
39 ibm4xx_sdram_fixup_memsize();
40}
41
42#define SPRN_PIR 0x11E /* Processor Indentification Register */
43void platform_init(void)
44{
45 unsigned long end_of_ram = 0x08000000;
46 unsigned long avail_ram = end_of_ram - (unsigned long)_end;
47 u32 pir_reg;
48
49 simple_alloc_init(_end, avail_ram, 128, 64);
50 platform_ops.fixups = iss_4xx_fixups;
51 platform_ops.exit = ibm44x_dbcr_reset;
52 pir_reg = mfspr(SPRN_PIR);
53 fdt_set_boot_cpuid_phys(_dtb_start, pir_reg);
54 fdt_init(_dtb_start);
55 serial_console_init();
56}
diff --git a/arch/powerpc/boot/wrapper b/arch/powerpc/boot/wrapper
index f4594ed09a20..cb97e7511d7e 100755
--- a/arch/powerpc/boot/wrapper
+++ b/arch/powerpc/boot/wrapper
@@ -149,6 +149,10 @@ pseries)
149 platformo=$object/of.o 149 platformo=$object/of.o
150 link_address='0x4000000' 150 link_address='0x4000000'
151 ;; 151 ;;
152maple)
153 platformo=$object/of.o
154 link_address='0x400000'
155 ;;
152pmac|chrp) 156pmac|chrp)
153 platformo=$object/of.o 157 platformo=$object/of.o
154 ;; 158 ;;
@@ -237,6 +241,9 @@ gamecube|wii)
237 link_address='0x600000' 241 link_address='0x600000'
238 platformo="$object/$platform-head.o $object/$platform.o" 242 platformo="$object/$platform-head.o $object/$platform.o"
239 ;; 243 ;;
244treeboot-iss4xx-mpic)
245 platformo="$object/treeboot-iss4xx.o"
246 ;;
240esac 247esac
241 248
242vmz="$tmpdir/`basename \"$kernel\"`.$ext" 249vmz="$tmpdir/`basename \"$kernel\"`.$ext"
@@ -321,7 +328,7 @@ fi
321 328
322# post-processing needed for some platforms 329# post-processing needed for some platforms
323case "$platform" in 330case "$platform" in
324pseries|chrp) 331pseries|chrp|maple)
325 $objbin/addnote "$ofile" 332 $objbin/addnote "$ofile"
326 ;; 333 ;;
327coff) 334coff)
diff --git a/arch/powerpc/configs/40x/acadia_defconfig b/arch/powerpc/configs/40x/acadia_defconfig
index 173a5bb77ca1..4aa17b676a3f 100644
--- a/arch/powerpc/configs/40x/acadia_defconfig
+++ b/arch/powerpc/configs/40x/acadia_defconfig
@@ -1,14 +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.29-rc2 3# Linux kernel version: 2.6.33-rc1
4# Tue Jan 20 08:17:46 2009 4# Mon Jan 4 15:33:07 2010
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
8# 8#
9# Processor support 9# Processor support
10# 10#
11# CONFIG_6xx is not set 11# CONFIG_PPC_BOOK3S_32 is not set
12# CONFIG_PPC_85xx is not set 12# CONFIG_PPC_85xx is not set
13# CONFIG_PPC_8xx is not set 13# CONFIG_PPC_8xx is not set
14CONFIG_40x=y 14CONFIG_40x=y
@@ -16,6 +16,7 @@ CONFIG_40x=y
16# CONFIG_E200 is not set 16# CONFIG_E200 is not set
17CONFIG_4xx=y 17CONFIG_4xx=y
18CONFIG_PPC_MMU_NOHASH=y 18CONFIG_PPC_MMU_NOHASH=y
19CONFIG_PPC_MMU_NOHASH_32=y
19# CONFIG_PPC_MM_SLICES is not set 20# CONFIG_PPC_MM_SLICES is not set
20CONFIG_NOT_COHERENT_CACHE=y 21CONFIG_NOT_COHERENT_CACHE=y
21CONFIG_PPC32=y 22CONFIG_PPC32=y
@@ -27,15 +28,18 @@ CONFIG_GENERIC_TIME=y
27CONFIG_GENERIC_TIME_VSYSCALL=y 28CONFIG_GENERIC_TIME_VSYSCALL=y
28CONFIG_GENERIC_CLOCKEVENTS=y 29CONFIG_GENERIC_CLOCKEVENTS=y
29CONFIG_GENERIC_HARDIRQS=y 30CONFIG_GENERIC_HARDIRQS=y
31CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
30# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 32# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
33# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
31CONFIG_IRQ_PER_CPU=y 34CONFIG_IRQ_PER_CPU=y
35CONFIG_NR_IRQS=512
32CONFIG_STACKTRACE_SUPPORT=y 36CONFIG_STACKTRACE_SUPPORT=y
33CONFIG_HAVE_LATENCYTOP_SUPPORT=y 37CONFIG_HAVE_LATENCYTOP_SUPPORT=y
38CONFIG_TRACE_IRQFLAGS_SUPPORT=y
34CONFIG_LOCKDEP_SUPPORT=y 39CONFIG_LOCKDEP_SUPPORT=y
35CONFIG_RWSEM_XCHGADD_ALGORITHM=y 40CONFIG_RWSEM_XCHGADD_ALGORITHM=y
36CONFIG_ARCH_HAS_ILOG2_U32=y 41CONFIG_ARCH_HAS_ILOG2_U32=y
37CONFIG_GENERIC_HWEIGHT=y 42CONFIG_GENERIC_HWEIGHT=y
38CONFIG_GENERIC_CALIBRATE_DELAY=y
39CONFIG_GENERIC_FIND_NEXT_BIT=y 43CONFIG_GENERIC_FIND_NEXT_BIT=y
40# CONFIG_ARCH_NO_VIRT_TO_BUS is not set 44# CONFIG_ARCH_NO_VIRT_TO_BUS is not set
41CONFIG_PPC=y 45CONFIG_PPC=y
@@ -49,11 +53,15 @@ CONFIG_PPC_UDBG_16550=y
49# CONFIG_GENERIC_TBSYNC is not set 53# CONFIG_GENERIC_TBSYNC is not set
50CONFIG_AUDIT_ARCH=y 54CONFIG_AUDIT_ARCH=y
51CONFIG_GENERIC_BUG=y 55CONFIG_GENERIC_BUG=y
56CONFIG_DTC=y
52# CONFIG_DEFAULT_UIMAGE is not set 57# CONFIG_DEFAULT_UIMAGE is not set
58CONFIG_ARCH_HIBERNATION_POSSIBLE=y
53CONFIG_PPC_DCR_NATIVE=y 59CONFIG_PPC_DCR_NATIVE=y
54# CONFIG_PPC_DCR_MMIO is not set 60# CONFIG_PPC_DCR_MMIO is not set
55CONFIG_PPC_DCR=y 61CONFIG_PPC_DCR=y
62CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
56CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 63CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
64CONFIG_CONSTRUCTORS=y
57 65
58# 66#
59# General setup 67# General setup
@@ -67,9 +75,21 @@ CONFIG_SWAP=y
67CONFIG_SYSVIPC=y 75CONFIG_SYSVIPC=y
68CONFIG_SYSVIPC_SYSCTL=y 76CONFIG_SYSVIPC_SYSCTL=y
69CONFIG_POSIX_MQUEUE=y 77CONFIG_POSIX_MQUEUE=y
78CONFIG_POSIX_MQUEUE_SYSCTL=y
70# CONFIG_BSD_PROCESS_ACCT is not set 79# CONFIG_BSD_PROCESS_ACCT is not set
71# CONFIG_TASKSTATS is not set 80# CONFIG_TASKSTATS is not set
72# CONFIG_AUDIT is not set 81# CONFIG_AUDIT is not set
82
83#
84# RCU Subsystem
85#
86CONFIG_TREE_RCU=y
87# CONFIG_TREE_PREEMPT_RCU is not set
88# CONFIG_TINY_RCU is not set
89# CONFIG_RCU_TRACE is not set
90CONFIG_RCU_FANOUT=32
91# CONFIG_RCU_FANOUT_EXACT is not set
92# CONFIG_TREE_RCU_TRACE is not set
73# CONFIG_IKCONFIG is not set 93# CONFIG_IKCONFIG is not set
74CONFIG_LOG_BUF_SHIFT=14 94CONFIG_LOG_BUF_SHIFT=14
75CONFIG_GROUP_SCHED=y 95CONFIG_GROUP_SCHED=y
@@ -78,37 +98,45 @@ CONFIG_GROUP_SCHED=y
78CONFIG_USER_SCHED=y 98CONFIG_USER_SCHED=y
79# CONFIG_CGROUP_SCHED is not set 99# CONFIG_CGROUP_SCHED is not set
80# CONFIG_CGROUPS is not set 100# CONFIG_CGROUPS is not set
81CONFIG_SYSFS_DEPRECATED=y 101# CONFIG_SYSFS_DEPRECATED_V2 is not set
82CONFIG_SYSFS_DEPRECATED_V2=y
83# CONFIG_RELAY is not set 102# CONFIG_RELAY is not set
84# CONFIG_NAMESPACES is not set 103# CONFIG_NAMESPACES is not set
85CONFIG_BLK_DEV_INITRD=y 104CONFIG_BLK_DEV_INITRD=y
86CONFIG_INITRAMFS_SOURCE="" 105CONFIG_INITRAMFS_SOURCE=""
106CONFIG_RD_GZIP=y
107# CONFIG_RD_BZIP2 is not set
108# CONFIG_RD_LZMA is not set
87# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 109# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
88CONFIG_SYSCTL=y 110CONFIG_SYSCTL=y
111CONFIG_ANON_INODES=y
89CONFIG_EMBEDDED=y 112CONFIG_EMBEDDED=y
90CONFIG_SYSCTL_SYSCALL=y 113CONFIG_SYSCTL_SYSCALL=y
91CONFIG_KALLSYMS=y 114CONFIG_KALLSYMS=y
92CONFIG_KALLSYMS_ALL=y 115CONFIG_KALLSYMS_ALL=y
93CONFIG_KALLSYMS_STRIP_GENERATED=y
94CONFIG_KALLSYMS_EXTRA_PASS=y 116CONFIG_KALLSYMS_EXTRA_PASS=y
95CONFIG_HOTPLUG=y 117CONFIG_HOTPLUG=y
96CONFIG_PRINTK=y 118CONFIG_PRINTK=y
97CONFIG_BUG=y 119CONFIG_BUG=y
98CONFIG_ELF_CORE=y 120CONFIG_ELF_CORE=y
99CONFIG_COMPAT_BRK=y
100CONFIG_BASE_FULL=y 121CONFIG_BASE_FULL=y
101CONFIG_FUTEX=y 122CONFIG_FUTEX=y
102CONFIG_ANON_INODES=y
103CONFIG_EPOLL=y 123CONFIG_EPOLL=y
104CONFIG_SIGNALFD=y 124CONFIG_SIGNALFD=y
105CONFIG_TIMERFD=y 125CONFIG_TIMERFD=y
106CONFIG_EVENTFD=y 126CONFIG_EVENTFD=y
107CONFIG_SHMEM=y 127CONFIG_SHMEM=y
108CONFIG_AIO=y 128CONFIG_AIO=y
129CONFIG_HAVE_PERF_EVENTS=y
130
131#
132# Kernel Performance Events And Counters
133#
134# CONFIG_PERF_EVENTS is not set
135# CONFIG_PERF_COUNTERS is not set
109CONFIG_VM_EVENT_COUNTERS=y 136CONFIG_VM_EVENT_COUNTERS=y
110CONFIG_PCI_QUIRKS=y 137CONFIG_PCI_QUIRKS=y
111CONFIG_SLUB_DEBUG=y 138CONFIG_SLUB_DEBUG=y
139CONFIG_COMPAT_BRK=y
112# CONFIG_SLAB is not set 140# CONFIG_SLAB is not set
113CONFIG_SLUB=y 141CONFIG_SLUB=y
114# CONFIG_SLOB is not set 142# CONFIG_SLOB is not set
@@ -120,6 +148,14 @@ CONFIG_HAVE_IOREMAP_PROT=y
120CONFIG_HAVE_KPROBES=y 148CONFIG_HAVE_KPROBES=y
121CONFIG_HAVE_KRETPROBES=y 149CONFIG_HAVE_KRETPROBES=y
122CONFIG_HAVE_ARCH_TRACEHOOK=y 150CONFIG_HAVE_ARCH_TRACEHOOK=y
151CONFIG_HAVE_DMA_ATTRS=y
152CONFIG_HAVE_DMA_API_DEBUG=y
153
154#
155# GCOV-based kernel profiling
156#
157# CONFIG_GCOV_KERNEL is not set
158# CONFIG_SLOW_WORK is not set
123# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 159# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
124CONFIG_SLABINFO=y 160CONFIG_SLABINFO=y
125CONFIG_RT_MUTEXES=y 161CONFIG_RT_MUTEXES=y
@@ -131,8 +167,7 @@ CONFIG_MODULE_UNLOAD=y
131# CONFIG_MODVERSIONS is not set 167# CONFIG_MODVERSIONS is not set
132# CONFIG_MODULE_SRCVERSION_ALL is not set 168# CONFIG_MODULE_SRCVERSION_ALL is not set
133CONFIG_BLOCK=y 169CONFIG_BLOCK=y
134CONFIG_LBD=y 170CONFIG_LBDAF=y
135# CONFIG_BLK_DEV_IO_TRACE is not set
136# CONFIG_BLK_DEV_BSG is not set 171# CONFIG_BLK_DEV_BSG is not set
137# CONFIG_BLK_DEV_INTEGRITY is not set 172# CONFIG_BLK_DEV_INTEGRITY is not set
138 173
@@ -140,19 +175,41 @@ CONFIG_LBD=y
140# IO Schedulers 175# IO Schedulers
141# 176#
142CONFIG_IOSCHED_NOOP=y 177CONFIG_IOSCHED_NOOP=y
143CONFIG_IOSCHED_AS=y
144CONFIG_IOSCHED_DEADLINE=y 178CONFIG_IOSCHED_DEADLINE=y
145CONFIG_IOSCHED_CFQ=y 179CONFIG_IOSCHED_CFQ=y
146CONFIG_DEFAULT_AS=y
147# CONFIG_DEFAULT_DEADLINE is not set 180# CONFIG_DEFAULT_DEADLINE is not set
148# CONFIG_DEFAULT_CFQ is not set 181CONFIG_DEFAULT_CFQ=y
149# CONFIG_DEFAULT_NOOP is not set 182# CONFIG_DEFAULT_NOOP is not set
150CONFIG_DEFAULT_IOSCHED="anticipatory" 183CONFIG_DEFAULT_IOSCHED="cfq"
151CONFIG_CLASSIC_RCU=y 184# CONFIG_INLINE_SPIN_TRYLOCK is not set
152# CONFIG_TREE_RCU is not set 185# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
153# CONFIG_PREEMPT_RCU is not set 186# CONFIG_INLINE_SPIN_LOCK is not set
154# CONFIG_TREE_RCU_TRACE is not set 187# CONFIG_INLINE_SPIN_LOCK_BH is not set
155# CONFIG_PREEMPT_RCU_TRACE is not set 188# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
189# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
190CONFIG_INLINE_SPIN_UNLOCK=y
191# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
192CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
193# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
194# CONFIG_INLINE_READ_TRYLOCK is not set
195# CONFIG_INLINE_READ_LOCK is not set
196# CONFIG_INLINE_READ_LOCK_BH is not set
197# CONFIG_INLINE_READ_LOCK_IRQ is not set
198# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
199CONFIG_INLINE_READ_UNLOCK=y
200# CONFIG_INLINE_READ_UNLOCK_BH is not set
201CONFIG_INLINE_READ_UNLOCK_IRQ=y
202# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
203# CONFIG_INLINE_WRITE_TRYLOCK is not set
204# CONFIG_INLINE_WRITE_LOCK is not set
205# CONFIG_INLINE_WRITE_LOCK_BH is not set
206# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
207# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
208CONFIG_INLINE_WRITE_UNLOCK=y
209# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
210CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
211# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
212# CONFIG_MUTEX_SPIN_ON_OWNER is not set
156# CONFIG_FREEZER is not set 213# CONFIG_FREEZER is not set
157# CONFIG_PPC4xx_PCI_EXPRESS is not set 214# CONFIG_PPC4xx_PCI_EXPRESS is not set
158 215
@@ -166,6 +223,7 @@ CONFIG_CLASSIC_RCU=y
166CONFIG_ACADIA=y 223CONFIG_ACADIA=y
167# CONFIG_EP405 is not set 224# CONFIG_EP405 is not set
168# CONFIG_HCU4 is not set 225# CONFIG_HCU4 is not set
226# CONFIG_HOTFOOT is not set
169# CONFIG_KILAUEA is not set 227# CONFIG_KILAUEA is not set
170# CONFIG_MAKALU is not set 228# CONFIG_MAKALU is not set
171# CONFIG_WALNUT is not set 229# CONFIG_WALNUT is not set
@@ -208,10 +266,12 @@ CONFIG_BINFMT_ELF=y
208# CONFIG_BINFMT_MISC is not set 266# CONFIG_BINFMT_MISC is not set
209# CONFIG_MATH_EMULATION is not set 267# CONFIG_MATH_EMULATION is not set
210# CONFIG_IOMMU_HELPER is not set 268# CONFIG_IOMMU_HELPER is not set
211CONFIG_PPC_NEED_DMA_SYNC_OPS=y 269# CONFIG_SWIOTLB is not set
212CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 270CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
213CONFIG_ARCH_HAS_WALK_MEMORY=y 271CONFIG_ARCH_HAS_WALK_MEMORY=y
214CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 272CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
273CONFIG_SPARSE_IRQ=y
274CONFIG_MAX_ACTIVE_REGIONS=32
215CONFIG_ARCH_FLATMEM_ENABLE=y 275CONFIG_ARCH_FLATMEM_ENABLE=y
216CONFIG_ARCH_POPULATES_NODE_MAP=y 276CONFIG_ARCH_POPULATES_NODE_MAP=y
217CONFIG_SELECT_MEMORY_MODEL=y 277CONFIG_SELECT_MEMORY_MODEL=y
@@ -227,10 +287,12 @@ CONFIG_MIGRATION=y
227CONFIG_ZONE_DMA_FLAG=1 287CONFIG_ZONE_DMA_FLAG=1
228CONFIG_BOUNCE=y 288CONFIG_BOUNCE=y
229CONFIG_VIRT_TO_BUS=y 289CONFIG_VIRT_TO_BUS=y
230CONFIG_UNEVICTABLE_LRU=y 290# CONFIG_KSM is not set
291CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
231CONFIG_PPC_4K_PAGES=y 292CONFIG_PPC_4K_PAGES=y
232# CONFIG_PPC_16K_PAGES is not set 293# CONFIG_PPC_16K_PAGES is not set
233# CONFIG_PPC_64K_PAGES is not set 294# CONFIG_PPC_64K_PAGES is not set
295# CONFIG_PPC_256K_PAGES is not set
234CONFIG_FORCE_MAX_ZONEORDER=11 296CONFIG_FORCE_MAX_ZONEORDER=11
235CONFIG_PROC_DEVICETREE=y 297CONFIG_PROC_DEVICETREE=y
236# CONFIG_CMDLINE_BOOL is not set 298# CONFIG_CMDLINE_BOOL is not set
@@ -255,6 +317,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
255# CONFIG_PCI_LEGACY is not set 317# CONFIG_PCI_LEGACY is not set
256# CONFIG_PCI_DEBUG is not set 318# CONFIG_PCI_DEBUG is not set
257# CONFIG_PCI_STUB is not set 319# CONFIG_PCI_STUB is not set
320# CONFIG_PCI_IOV is not set
258# CONFIG_PCCARD is not set 321# CONFIG_PCCARD is not set
259# CONFIG_HOTPLUG_PCI is not set 322# CONFIG_HOTPLUG_PCI is not set
260# CONFIG_HAS_RAPIDIO is not set 323# CONFIG_HAS_RAPIDIO is not set
@@ -272,14 +335,12 @@ CONFIG_PAGE_OFFSET=0xc0000000
272CONFIG_KERNEL_START=0xc0000000 335CONFIG_KERNEL_START=0xc0000000
273CONFIG_PHYSICAL_START=0x00000000 336CONFIG_PHYSICAL_START=0x00000000
274CONFIG_TASK_SIZE=0xc0000000 337CONFIG_TASK_SIZE=0xc0000000
275CONFIG_CONSISTENT_START=0xff100000
276CONFIG_CONSISTENT_SIZE=0x00200000 338CONFIG_CONSISTENT_SIZE=0x00200000
277CONFIG_NET=y 339CONFIG_NET=y
278 340
279# 341#
280# Networking options 342# Networking options
281# 343#
282CONFIG_COMPAT_NET_DEV_OPS=y
283CONFIG_PACKET=y 344CONFIG_PACKET=y
284# CONFIG_PACKET_MMAP is not set 345# CONFIG_PACKET_MMAP is not set
285CONFIG_UNIX=y 346CONFIG_UNIX=y
@@ -316,6 +377,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
316# CONFIG_NETFILTER is not set 377# CONFIG_NETFILTER is not set
317# CONFIG_IP_DCCP is not set 378# CONFIG_IP_DCCP is not set
318# CONFIG_IP_SCTP is not set 379# CONFIG_IP_SCTP is not set
380# CONFIG_RDS is not set
319# CONFIG_TIPC is not set 381# CONFIG_TIPC is not set
320# CONFIG_ATM is not set 382# CONFIG_ATM is not set
321# CONFIG_BRIDGE is not set 383# CONFIG_BRIDGE is not set
@@ -329,6 +391,8 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
329# CONFIG_LAPB is not set 391# CONFIG_LAPB is not set
330# CONFIG_ECONET is not set 392# CONFIG_ECONET is not set
331# CONFIG_WAN_ROUTER is not set 393# CONFIG_WAN_ROUTER is not set
394# CONFIG_PHONET is not set
395# CONFIG_IEEE802154 is not set
332# CONFIG_NET_SCHED is not set 396# CONFIG_NET_SCHED is not set
333# CONFIG_DCB is not set 397# CONFIG_DCB is not set
334 398
@@ -341,8 +405,13 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
341# CONFIG_IRDA is not set 405# CONFIG_IRDA is not set
342# CONFIG_BT is not set 406# CONFIG_BT is not set
343# CONFIG_AF_RXRPC is not set 407# CONFIG_AF_RXRPC is not set
344# CONFIG_PHONET is not set 408CONFIG_WIRELESS=y
345# CONFIG_WIRELESS is not set 409# CONFIG_CFG80211 is not set
410# CONFIG_LIB80211 is not set
411
412#
413# CFG80211 needs to be enabled for MAC80211
414#
346# CONFIG_WIMAX is not set 415# CONFIG_WIMAX is not set
347# CONFIG_RFKILL is not set 416# CONFIG_RFKILL is not set
348# CONFIG_NET_9P is not set 417# CONFIG_NET_9P is not set
@@ -355,6 +424,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
355# Generic Driver Options 424# Generic Driver Options
356# 425#
357CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 426CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
427# CONFIG_DEVTMPFS is not set
358CONFIG_STANDALONE=y 428CONFIG_STANDALONE=y
359CONFIG_PREVENT_FIRMWARE_BUILD=y 429CONFIG_PREVENT_FIRMWARE_BUILD=y
360CONFIG_FW_LOADER=y 430CONFIG_FW_LOADER=y
@@ -367,9 +437,9 @@ CONFIG_CONNECTOR=y
367CONFIG_PROC_EVENTS=y 437CONFIG_PROC_EVENTS=y
368CONFIG_MTD=y 438CONFIG_MTD=y
369# CONFIG_MTD_DEBUG is not set 439# CONFIG_MTD_DEBUG is not set
440# CONFIG_MTD_TESTS is not set
370# CONFIG_MTD_CONCAT is not set 441# CONFIG_MTD_CONCAT is not set
371CONFIG_MTD_PARTITIONS=y 442CONFIG_MTD_PARTITIONS=y
372# CONFIG_MTD_TESTS is not set
373# CONFIG_MTD_REDBOOT_PARTS is not set 443# CONFIG_MTD_REDBOOT_PARTS is not set
374CONFIG_MTD_CMDLINE_PARTS=y 444CONFIG_MTD_CMDLINE_PARTS=y
375CONFIG_MTD_OF_PARTS=y 445CONFIG_MTD_OF_PARTS=y
@@ -445,7 +515,6 @@ CONFIG_MTD_PHYSMAP_OF=y
445# LPDDR flash memory drivers 515# LPDDR flash memory drivers
446# 516#
447# CONFIG_MTD_LPDDR is not set 517# CONFIG_MTD_LPDDR is not set
448# CONFIG_MTD_QINFO_PROBE is not set
449 518
450# 519#
451# UBI - Unsorted block images 520# UBI - Unsorted block images
@@ -461,6 +530,7 @@ CONFIG_BLK_DEV=y
461# CONFIG_BLK_DEV_UMEM is not set 530# CONFIG_BLK_DEV_UMEM is not set
462# CONFIG_BLK_DEV_COW_COMMON is not set 531# CONFIG_BLK_DEV_COW_COMMON is not set
463# CONFIG_BLK_DEV_LOOP is not set 532# CONFIG_BLK_DEV_LOOP is not set
533# CONFIG_BLK_DEV_DRBD is not set
464# CONFIG_BLK_DEV_NBD is not set 534# CONFIG_BLK_DEV_NBD is not set
465# CONFIG_BLK_DEV_SX8 is not set 535# CONFIG_BLK_DEV_SX8 is not set
466CONFIG_BLK_DEV_RAM=y 536CONFIG_BLK_DEV_RAM=y
@@ -491,7 +561,11 @@ CONFIG_HAVE_IDE=y
491# 561#
492 562
493# 563#
494# Enable only one of the two stacks, unless you know what you are doing 564# You can enable one or both FireWire driver stacks.
565#
566
567#
568# See the help texts for more information.
495# 569#
496# CONFIG_FIREWIRE is not set 570# CONFIG_FIREWIRE is not set
497# CONFIG_IEEE1394 is not set 571# CONFIG_IEEE1394 is not set
@@ -512,6 +586,8 @@ CONFIG_MII=y
512# CONFIG_SUNGEM is not set 586# CONFIG_SUNGEM is not set
513# CONFIG_CASSINI is not set 587# CONFIG_CASSINI is not set
514# CONFIG_NET_VENDOR_3COM is not set 588# CONFIG_NET_VENDOR_3COM is not set
589# CONFIG_ETHOC is not set
590# CONFIG_DNET is not set
515# CONFIG_NET_TULIP is not set 591# CONFIG_NET_TULIP is not set
516# CONFIG_HP100 is not set 592# CONFIG_HP100 is not set
517CONFIG_IBM_NEW_EMAC=y 593CONFIG_IBM_NEW_EMAC=y
@@ -530,17 +606,18 @@ CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT=y
530CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR=y 606CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR=y
531# CONFIG_NET_PCI is not set 607# CONFIG_NET_PCI is not set
532# CONFIG_B44 is not set 608# CONFIG_B44 is not set
609# CONFIG_KS8842 is not set
610# CONFIG_KS8851_MLL is not set
533# CONFIG_ATL2 is not set 611# CONFIG_ATL2 is not set
612# CONFIG_XILINX_EMACLITE is not set
534# CONFIG_NETDEV_1000 is not set 613# CONFIG_NETDEV_1000 is not set
535# CONFIG_NETDEV_10000 is not set 614# CONFIG_NETDEV_10000 is not set
536# CONFIG_TR is not set 615# CONFIG_TR is not set
537 616CONFIG_WLAN=y
538# 617# CONFIG_AIRO is not set
539# Wireless LAN 618# CONFIG_ATMEL is not set
540# 619# CONFIG_PRISM54 is not set
541# CONFIG_WLAN_PRE80211 is not set 620# CONFIG_HOSTAP is not set
542# CONFIG_WLAN_80211 is not set
543# CONFIG_IWLWIFI_LEDS is not set
544 621
545# 622#
546# Enable WiMAX (Networking options) to see the WiMAX drivers 623# Enable WiMAX (Networking options) to see the WiMAX drivers
@@ -553,6 +630,7 @@ CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR=y
553# CONFIG_NETCONSOLE is not set 630# CONFIG_NETCONSOLE is not set
554# CONFIG_NETPOLL is not set 631# CONFIG_NETPOLL is not set
555# CONFIG_NET_POLL_CONTROLLER is not set 632# CONFIG_NET_POLL_CONTROLLER is not set
633# CONFIG_VMXNET3 is not set
556# CONFIG_ISDN is not set 634# CONFIG_ISDN is not set
557# CONFIG_PHONE is not set 635# CONFIG_PHONE is not set
558 636
@@ -598,6 +676,7 @@ CONFIG_SERIAL_CORE_CONSOLE=y
598# CONFIG_SERIAL_JSM is not set 676# CONFIG_SERIAL_JSM is not set
599CONFIG_SERIAL_OF_PLATFORM=y 677CONFIG_SERIAL_OF_PLATFORM=y
600# CONFIG_SERIAL_OF_PLATFORM_NWPSERIAL is not set 678# CONFIG_SERIAL_OF_PLATFORM_NWPSERIAL is not set
679# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set
601CONFIG_UNIX98_PTYS=y 680CONFIG_UNIX98_PTYS=y
602# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set 681# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
603CONFIG_LEGACY_PTYS=y 682CONFIG_LEGACY_PTYS=y
@@ -614,6 +693,11 @@ CONFIG_LEGACY_PTY_COUNT=256
614CONFIG_DEVPORT=y 693CONFIG_DEVPORT=y
615# CONFIG_I2C is not set 694# CONFIG_I2C is not set
616# CONFIG_SPI is not set 695# CONFIG_SPI is not set
696
697#
698# PPS support
699#
700# CONFIG_PPS is not set
617CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y 701CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
618# CONFIG_GPIOLIB is not set 702# CONFIG_GPIOLIB is not set
619# CONFIG_W1 is not set 703# CONFIG_W1 is not set
@@ -636,27 +720,13 @@ CONFIG_SSB_POSSIBLE=y
636# CONFIG_HTC_PASIC3 is not set 720# CONFIG_HTC_PASIC3 is not set
637# CONFIG_MFD_TMIO is not set 721# CONFIG_MFD_TMIO is not set
638# CONFIG_REGULATOR is not set 722# CONFIG_REGULATOR is not set
639 723# CONFIG_MEDIA_SUPPORT is not set
640#
641# Multimedia devices
642#
643
644#
645# Multimedia core support
646#
647# CONFIG_VIDEO_DEV is not set
648# CONFIG_DVB_CORE is not set
649# CONFIG_VIDEO_MEDIA is not set
650
651#
652# Multimedia drivers
653#
654# CONFIG_DAB is not set
655 724
656# 725#
657# Graphics support 726# Graphics support
658# 727#
659# CONFIG_AGP is not set 728# CONFIG_AGP is not set
729CONFIG_VGA_ARB=y
660# CONFIG_DRM is not set 730# CONFIG_DRM is not set
661# CONFIG_VGASTATE is not set 731# CONFIG_VGASTATE is not set
662# CONFIG_VIDEO_OUTPUT_CONTROL is not set 732# CONFIG_VIDEO_OUTPUT_CONTROL is not set
@@ -678,7 +748,12 @@ CONFIG_SSB_POSSIBLE=y
678# CONFIG_EDAC is not set 748# CONFIG_EDAC is not set
679# CONFIG_RTC_CLASS is not set 749# CONFIG_RTC_CLASS is not set
680# CONFIG_DMADEVICES is not set 750# CONFIG_DMADEVICES is not set
751# CONFIG_AUXDISPLAY is not set
681# CONFIG_UIO is not set 752# CONFIG_UIO is not set
753
754#
755# TI VLYNQ
756#
682# CONFIG_STAGING is not set 757# CONFIG_STAGING is not set
683 758
684# 759#
@@ -689,14 +764,17 @@ CONFIG_EXT2_FS=y
689# CONFIG_EXT2_FS_XIP is not set 764# CONFIG_EXT2_FS_XIP is not set
690# CONFIG_EXT3_FS is not set 765# CONFIG_EXT3_FS is not set
691# CONFIG_EXT4_FS is not set 766# CONFIG_EXT4_FS is not set
767CONFIG_EXT4_USE_FOR_EXT23=y
692# CONFIG_REISERFS_FS is not set 768# CONFIG_REISERFS_FS is not set
693# CONFIG_JFS_FS is not set 769# CONFIG_JFS_FS is not set
694# CONFIG_FS_POSIX_ACL is not set 770# CONFIG_FS_POSIX_ACL is not set
695CONFIG_FILE_LOCKING=y
696# CONFIG_XFS_FS is not set 771# CONFIG_XFS_FS is not set
697# CONFIG_GFS2_FS is not set 772# CONFIG_GFS2_FS is not set
698# CONFIG_OCFS2_FS is not set 773# CONFIG_OCFS2_FS is not set
699# CONFIG_BTRFS_FS is not set 774# CONFIG_BTRFS_FS is not set
775# CONFIG_NILFS2_FS is not set
776CONFIG_FILE_LOCKING=y
777CONFIG_FSNOTIFY=y
700CONFIG_DNOTIFY=y 778CONFIG_DNOTIFY=y
701CONFIG_INOTIFY=y 779CONFIG_INOTIFY=y
702CONFIG_INOTIFY_USER=y 780CONFIG_INOTIFY_USER=y
@@ -706,6 +784,11 @@ CONFIG_INOTIFY_USER=y
706# CONFIG_FUSE_FS is not set 784# CONFIG_FUSE_FS is not set
707 785
708# 786#
787# Caches
788#
789# CONFIG_FSCACHE is not set
790
791#
709# CD-ROM/DVD Filesystems 792# CD-ROM/DVD Filesystems
710# 793#
711# CONFIG_ISO9660_FS is not set 794# CONFIG_ISO9660_FS is not set
@@ -760,7 +843,6 @@ CONFIG_LOCKD=y
760CONFIG_LOCKD_V4=y 843CONFIG_LOCKD_V4=y
761CONFIG_NFS_COMMON=y 844CONFIG_NFS_COMMON=y
762CONFIG_SUNRPC=y 845CONFIG_SUNRPC=y
763# CONFIG_SUNRPC_REGISTER_V4 is not set
764# CONFIG_RPCSEC_GSS_KRB5 is not set 846# CONFIG_RPCSEC_GSS_KRB5 is not set
765# CONFIG_RPCSEC_GSS_SPKM3 is not set 847# CONFIG_RPCSEC_GSS_SPKM3 is not set
766# CONFIG_SMB_FS is not set 848# CONFIG_SMB_FS is not set
@@ -776,6 +858,7 @@ CONFIG_SUNRPC=y
776CONFIG_MSDOS_PARTITION=y 858CONFIG_MSDOS_PARTITION=y
777# CONFIG_NLS is not set 859# CONFIG_NLS is not set
778# CONFIG_DLM is not set 860# CONFIG_DLM is not set
861# CONFIG_BINARY_PRINTF is not set
779 862
780# 863#
781# Library routines 864# Library routines
@@ -790,11 +873,13 @@ CONFIG_CRC32=y
790# CONFIG_CRC7 is not set 873# CONFIG_CRC7 is not set
791# CONFIG_LIBCRC32C is not set 874# CONFIG_LIBCRC32C is not set
792CONFIG_ZLIB_INFLATE=y 875CONFIG_ZLIB_INFLATE=y
793CONFIG_PLIST=y 876CONFIG_DECOMPRESS_GZIP=y
794CONFIG_HAS_IOMEM=y 877CONFIG_HAS_IOMEM=y
795CONFIG_HAS_IOPORT=y 878CONFIG_HAS_IOPORT=y
796CONFIG_HAS_DMA=y 879CONFIG_HAS_DMA=y
797CONFIG_HAVE_LMB=y 880CONFIG_HAVE_LMB=y
881CONFIG_NLATTR=y
882CONFIG_GENERIC_ATOMIC64=y
798 883
799# 884#
800# Kernel hacking 885# Kernel hacking
@@ -804,6 +889,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
804CONFIG_ENABLE_MUST_CHECK=y 889CONFIG_ENABLE_MUST_CHECK=y
805CONFIG_FRAME_WARN=1024 890CONFIG_FRAME_WARN=1024
806CONFIG_MAGIC_SYSRQ=y 891CONFIG_MAGIC_SYSRQ=y
892# CONFIG_STRIP_ASM_SYMS is not set
807# CONFIG_UNUSED_SYMBOLS is not set 893# CONFIG_UNUSED_SYMBOLS is not set
808CONFIG_DEBUG_FS=y 894CONFIG_DEBUG_FS=y
809# CONFIG_HEADERS_CHECK is not set 895# CONFIG_HEADERS_CHECK is not set
@@ -812,16 +898,23 @@ CONFIG_DEBUG_KERNEL=y
812CONFIG_DETECT_SOFTLOCKUP=y 898CONFIG_DETECT_SOFTLOCKUP=y
813# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set 899# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
814CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 900CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
901CONFIG_DETECT_HUNG_TASK=y
902# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
903CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
815CONFIG_SCHED_DEBUG=y 904CONFIG_SCHED_DEBUG=y
816# CONFIG_SCHEDSTATS is not set 905# CONFIG_SCHEDSTATS is not set
817# CONFIG_TIMER_STATS is not set 906# CONFIG_TIMER_STATS is not set
818# CONFIG_DEBUG_OBJECTS is not set 907# CONFIG_DEBUG_OBJECTS is not set
819# CONFIG_SLUB_DEBUG_ON is not set 908# CONFIG_SLUB_DEBUG_ON is not set
820# CONFIG_SLUB_STATS is not set 909# CONFIG_SLUB_STATS is not set
910# CONFIG_DEBUG_KMEMLEAK is not set
821# CONFIG_DEBUG_RT_MUTEXES is not set 911# CONFIG_DEBUG_RT_MUTEXES is not set
822# CONFIG_RT_MUTEX_TESTER is not set 912# CONFIG_RT_MUTEX_TESTER is not set
823# CONFIG_DEBUG_SPINLOCK is not set 913# CONFIG_DEBUG_SPINLOCK is not set
824# CONFIG_DEBUG_MUTEXES is not set 914# CONFIG_DEBUG_MUTEXES is not set
915# CONFIG_DEBUG_LOCK_ALLOC is not set
916# CONFIG_PROVE_LOCKING is not set
917# CONFIG_LOCK_STAT is not set
825# CONFIG_DEBUG_SPINLOCK_SLEEP is not set 918# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
826# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set 919# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
827# CONFIG_DEBUG_KOBJECT is not set 920# CONFIG_DEBUG_KOBJECT is not set
@@ -833,35 +926,45 @@ CONFIG_DEBUG_BUGVERBOSE=y
833# CONFIG_DEBUG_LIST is not set 926# CONFIG_DEBUG_LIST is not set
834# CONFIG_DEBUG_SG is not set 927# CONFIG_DEBUG_SG is not set
835# CONFIG_DEBUG_NOTIFIERS is not set 928# CONFIG_DEBUG_NOTIFIERS is not set
836# CONFIG_BOOT_PRINTK_DELAY is not set 929# CONFIG_DEBUG_CREDENTIALS is not set
837# CONFIG_RCU_TORTURE_TEST is not set 930# CONFIG_RCU_TORTURE_TEST is not set
838# CONFIG_RCU_CPU_STALL_DETECTOR is not set 931# CONFIG_RCU_CPU_STALL_DETECTOR is not set
839# CONFIG_BACKTRACE_SELF_TEST is not set 932# CONFIG_BACKTRACE_SELF_TEST is not set
840# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set 933# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
934# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
841# CONFIG_FAULT_INJECTION is not set 935# CONFIG_FAULT_INJECTION is not set
842# CONFIG_LATENCYTOP is not set 936# CONFIG_LATENCYTOP is not set
843CONFIG_SYSCTL_SYSCALL_CHECK=y 937CONFIG_SYSCTL_SYSCALL_CHECK=y
938# CONFIG_DEBUG_PAGEALLOC is not set
844CONFIG_HAVE_FUNCTION_TRACER=y 939CONFIG_HAVE_FUNCTION_TRACER=y
940CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
845CONFIG_HAVE_DYNAMIC_FTRACE=y 941CONFIG_HAVE_DYNAMIC_FTRACE=y
846CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 942CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
847 943CONFIG_TRACING_SUPPORT=y
848# 944CONFIG_FTRACE=y
849# Tracers
850#
851# CONFIG_FUNCTION_TRACER is not set 945# CONFIG_FUNCTION_TRACER is not set
946# CONFIG_IRQSOFF_TRACER is not set
852# CONFIG_SCHED_TRACER is not set 947# CONFIG_SCHED_TRACER is not set
853# CONFIG_CONTEXT_SWITCH_TRACER is not set 948# CONFIG_ENABLE_DEFAULT_TRACERS is not set
854# CONFIG_BOOT_TRACER is not set 949# CONFIG_BOOT_TRACER is not set
855# CONFIG_TRACE_BRANCH_PROFILING is not set 950CONFIG_BRANCH_PROFILE_NONE=y
951# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
952# CONFIG_PROFILE_ALL_BRANCHES is not set
856# CONFIG_STACK_TRACER is not set 953# CONFIG_STACK_TRACER is not set
857# CONFIG_DYNAMIC_PRINTK_DEBUG is not set 954# CONFIG_KMEMTRACE is not set
955# CONFIG_WORKQUEUE_TRACER is not set
956# CONFIG_BLK_DEV_IO_TRACE is not set
957# CONFIG_DYNAMIC_DEBUG is not set
958# CONFIG_DMA_API_DEBUG is not set
858# CONFIG_SAMPLES is not set 959# CONFIG_SAMPLES is not set
859CONFIG_HAVE_ARCH_KGDB=y 960CONFIG_HAVE_ARCH_KGDB=y
860# CONFIG_KGDB is not set 961# CONFIG_KGDB is not set
962# CONFIG_PPC_DISABLE_WERROR is not set
963CONFIG_PPC_WERROR=y
861CONFIG_PRINT_STACK_DEPTH=64 964CONFIG_PRINT_STACK_DEPTH=64
862# CONFIG_DEBUG_STACKOVERFLOW is not set 965# CONFIG_DEBUG_STACKOVERFLOW is not set
863# CONFIG_DEBUG_STACK_USAGE is not set 966# CONFIG_DEBUG_STACK_USAGE is not set
864# CONFIG_DEBUG_PAGEALLOC is not set 967# CONFIG_PPC_EMULATED_STATS is not set
865# CONFIG_CODE_PATCHING_SELFTEST is not set 968# CONFIG_CODE_PATCHING_SELFTEST is not set
866# CONFIG_FTR_FIXUP_SELFTEST is not set 969# CONFIG_FTR_FIXUP_SELFTEST is not set
867# CONFIG_MSI_BITMAP_SELFTEST is not set 970# CONFIG_MSI_BITMAP_SELFTEST is not set
@@ -877,13 +980,16 @@ CONFIG_PRINT_STACK_DEPTH=64
877# CONFIG_KEYS is not set 980# CONFIG_KEYS is not set
878# CONFIG_SECURITY is not set 981# CONFIG_SECURITY is not set
879# CONFIG_SECURITYFS is not set 982# CONFIG_SECURITYFS is not set
880# CONFIG_SECURITY_FILE_CAPABILITIES is not set 983# CONFIG_DEFAULT_SECURITY_SELINUX is not set
984# CONFIG_DEFAULT_SECURITY_SMACK is not set
985# CONFIG_DEFAULT_SECURITY_TOMOYO is not set
986CONFIG_DEFAULT_SECURITY_DAC=y
987CONFIG_DEFAULT_SECURITY=""
881CONFIG_CRYPTO=y 988CONFIG_CRYPTO=y
882 989
883# 990#
884# Crypto core or helper 991# Crypto core or helper
885# 992#
886# CONFIG_CRYPTO_FIPS is not set
887CONFIG_CRYPTO_ALGAPI=y 993CONFIG_CRYPTO_ALGAPI=y
888CONFIG_CRYPTO_ALGAPI2=y 994CONFIG_CRYPTO_ALGAPI2=y
889CONFIG_CRYPTO_AEAD2=y 995CONFIG_CRYPTO_AEAD2=y
@@ -892,10 +998,12 @@ CONFIG_CRYPTO_BLKCIPHER2=y
892CONFIG_CRYPTO_HASH=y 998CONFIG_CRYPTO_HASH=y
893CONFIG_CRYPTO_HASH2=y 999CONFIG_CRYPTO_HASH2=y
894CONFIG_CRYPTO_RNG2=y 1000CONFIG_CRYPTO_RNG2=y
1001CONFIG_CRYPTO_PCOMP=y
895CONFIG_CRYPTO_MANAGER=y 1002CONFIG_CRYPTO_MANAGER=y
896CONFIG_CRYPTO_MANAGER2=y 1003CONFIG_CRYPTO_MANAGER2=y
897# CONFIG_CRYPTO_GF128MUL is not set 1004# CONFIG_CRYPTO_GF128MUL is not set
898# CONFIG_CRYPTO_NULL is not set 1005# CONFIG_CRYPTO_NULL is not set
1006CONFIG_CRYPTO_WORKQUEUE=y
899# CONFIG_CRYPTO_CRYPTD is not set 1007# CONFIG_CRYPTO_CRYPTD is not set
900# CONFIG_CRYPTO_AUTHENC is not set 1008# CONFIG_CRYPTO_AUTHENC is not set
901# CONFIG_CRYPTO_TEST is not set 1009# CONFIG_CRYPTO_TEST is not set
@@ -923,11 +1031,13 @@ CONFIG_CRYPTO_PCBC=y
923# 1031#
924# CONFIG_CRYPTO_HMAC is not set 1032# CONFIG_CRYPTO_HMAC is not set
925# CONFIG_CRYPTO_XCBC is not set 1033# CONFIG_CRYPTO_XCBC is not set
1034# CONFIG_CRYPTO_VMAC is not set
926 1035
927# 1036#
928# Digest 1037# Digest
929# 1038#
930# CONFIG_CRYPTO_CRC32C is not set 1039# CONFIG_CRYPTO_CRC32C is not set
1040# CONFIG_CRYPTO_GHASH is not set
931# CONFIG_CRYPTO_MD4 is not set 1041# CONFIG_CRYPTO_MD4 is not set
932CONFIG_CRYPTO_MD5=y 1042CONFIG_CRYPTO_MD5=y
933# CONFIG_CRYPTO_MICHAEL_MIC is not set 1043# CONFIG_CRYPTO_MICHAEL_MIC is not set
@@ -964,6 +1074,7 @@ CONFIG_CRYPTO_DES=y
964# Compression 1074# Compression
965# 1075#
966# CONFIG_CRYPTO_DEFLATE is not set 1076# CONFIG_CRYPTO_DEFLATE is not set
1077# CONFIG_CRYPTO_ZLIB is not set
967# CONFIG_CRYPTO_LZO is not set 1078# CONFIG_CRYPTO_LZO is not set
968 1079
969# 1080#
@@ -972,5 +1083,6 @@ CONFIG_CRYPTO_DES=y
972# CONFIG_CRYPTO_ANSI_CPRNG is not set 1083# CONFIG_CRYPTO_ANSI_CPRNG is not set
973CONFIG_CRYPTO_HW=y 1084CONFIG_CRYPTO_HW=y
974# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1085# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1086# CONFIG_CRYPTO_DEV_PPC4XX is not set
975# CONFIG_PPC_CLOCK is not set 1087# CONFIG_PPC_CLOCK is not set
976# CONFIG_VIRTUALIZATION is not set 1088# CONFIG_VIRTUALIZATION is not set
diff --git a/arch/powerpc/configs/40x/ep405_defconfig b/arch/powerpc/configs/40x/ep405_defconfig
index e9b8495cde0c..9a5f1ab777ed 100644
--- a/arch/powerpc/configs/40x/ep405_defconfig
+++ b/arch/powerpc/configs/40x/ep405_defconfig
@@ -1,14 +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.29-rc2 3# Linux kernel version: 2.6.33-rc1
4# Tue Jan 20 08:17:48 2009 4# Mon Jan 4 15:37:34 2010
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
8# 8#
9# Processor support 9# Processor support
10# 10#
11# CONFIG_6xx is not set 11# CONFIG_PPC_BOOK3S_32 is not set
12# CONFIG_PPC_85xx is not set 12# CONFIG_PPC_85xx is not set
13# CONFIG_PPC_8xx is not set 13# CONFIG_PPC_8xx is not set
14CONFIG_40x=y 14CONFIG_40x=y
@@ -16,6 +16,7 @@ CONFIG_40x=y
16# CONFIG_E200 is not set 16# CONFIG_E200 is not set
17CONFIG_4xx=y 17CONFIG_4xx=y
18CONFIG_PPC_MMU_NOHASH=y 18CONFIG_PPC_MMU_NOHASH=y
19CONFIG_PPC_MMU_NOHASH_32=y
19# CONFIG_PPC_MM_SLICES is not set 20# CONFIG_PPC_MM_SLICES is not set
20CONFIG_NOT_COHERENT_CACHE=y 21CONFIG_NOT_COHERENT_CACHE=y
21CONFIG_PPC32=y 22CONFIG_PPC32=y
@@ -27,15 +28,18 @@ CONFIG_GENERIC_TIME=y
27CONFIG_GENERIC_TIME_VSYSCALL=y 28CONFIG_GENERIC_TIME_VSYSCALL=y
28CONFIG_GENERIC_CLOCKEVENTS=y 29CONFIG_GENERIC_CLOCKEVENTS=y
29CONFIG_GENERIC_HARDIRQS=y 30CONFIG_GENERIC_HARDIRQS=y
31CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
30# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 32# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
33# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
31CONFIG_IRQ_PER_CPU=y 34CONFIG_IRQ_PER_CPU=y
35CONFIG_NR_IRQS=512
32CONFIG_STACKTRACE_SUPPORT=y 36CONFIG_STACKTRACE_SUPPORT=y
33CONFIG_HAVE_LATENCYTOP_SUPPORT=y 37CONFIG_HAVE_LATENCYTOP_SUPPORT=y
38CONFIG_TRACE_IRQFLAGS_SUPPORT=y
34CONFIG_LOCKDEP_SUPPORT=y 39CONFIG_LOCKDEP_SUPPORT=y
35CONFIG_RWSEM_XCHGADD_ALGORITHM=y 40CONFIG_RWSEM_XCHGADD_ALGORITHM=y
36CONFIG_ARCH_HAS_ILOG2_U32=y 41CONFIG_ARCH_HAS_ILOG2_U32=y
37CONFIG_GENERIC_HWEIGHT=y 42CONFIG_GENERIC_HWEIGHT=y
38CONFIG_GENERIC_CALIBRATE_DELAY=y
39CONFIG_GENERIC_FIND_NEXT_BIT=y 43CONFIG_GENERIC_FIND_NEXT_BIT=y
40# CONFIG_ARCH_NO_VIRT_TO_BUS is not set 44# CONFIG_ARCH_NO_VIRT_TO_BUS is not set
41CONFIG_PPC=y 45CONFIG_PPC=y
@@ -49,11 +53,15 @@ CONFIG_PPC_UDBG_16550=y
49# CONFIG_GENERIC_TBSYNC is not set 53# CONFIG_GENERIC_TBSYNC is not set
50CONFIG_AUDIT_ARCH=y 54CONFIG_AUDIT_ARCH=y
51CONFIG_GENERIC_BUG=y 55CONFIG_GENERIC_BUG=y
56CONFIG_DTC=y
52# CONFIG_DEFAULT_UIMAGE is not set 57# CONFIG_DEFAULT_UIMAGE is not set
58CONFIG_ARCH_HIBERNATION_POSSIBLE=y
53CONFIG_PPC_DCR_NATIVE=y 59CONFIG_PPC_DCR_NATIVE=y
54# CONFIG_PPC_DCR_MMIO is not set 60# CONFIG_PPC_DCR_MMIO is not set
55CONFIG_PPC_DCR=y 61CONFIG_PPC_DCR=y
62CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
56CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 63CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
64CONFIG_CONSTRUCTORS=y
57 65
58# 66#
59# General setup 67# General setup
@@ -67,9 +75,21 @@ CONFIG_SWAP=y
67CONFIG_SYSVIPC=y 75CONFIG_SYSVIPC=y
68CONFIG_SYSVIPC_SYSCTL=y 76CONFIG_SYSVIPC_SYSCTL=y
69CONFIG_POSIX_MQUEUE=y 77CONFIG_POSIX_MQUEUE=y
78CONFIG_POSIX_MQUEUE_SYSCTL=y
70# CONFIG_BSD_PROCESS_ACCT is not set 79# CONFIG_BSD_PROCESS_ACCT is not set
71# CONFIG_TASKSTATS is not set 80# CONFIG_TASKSTATS is not set
72# CONFIG_AUDIT is not set 81# CONFIG_AUDIT is not set
82
83#
84# RCU Subsystem
85#
86CONFIG_TREE_RCU=y
87# CONFIG_TREE_PREEMPT_RCU is not set
88# CONFIG_TINY_RCU is not set
89# CONFIG_RCU_TRACE is not set
90CONFIG_RCU_FANOUT=32
91# CONFIG_RCU_FANOUT_EXACT is not set
92# CONFIG_TREE_RCU_TRACE is not set
73# CONFIG_IKCONFIG is not set 93# CONFIG_IKCONFIG is not set
74CONFIG_LOG_BUF_SHIFT=14 94CONFIG_LOG_BUF_SHIFT=14
75CONFIG_GROUP_SCHED=y 95CONFIG_GROUP_SCHED=y
@@ -78,37 +98,45 @@ CONFIG_FAIR_GROUP_SCHED=y
78CONFIG_USER_SCHED=y 98CONFIG_USER_SCHED=y
79# CONFIG_CGROUP_SCHED is not set 99# CONFIG_CGROUP_SCHED is not set
80# CONFIG_CGROUPS is not set 100# CONFIG_CGROUPS is not set
81CONFIG_SYSFS_DEPRECATED=y 101# CONFIG_SYSFS_DEPRECATED_V2 is not set
82CONFIG_SYSFS_DEPRECATED_V2=y
83# CONFIG_RELAY is not set 102# CONFIG_RELAY is not set
84# CONFIG_NAMESPACES is not set 103# CONFIG_NAMESPACES is not set
85CONFIG_BLK_DEV_INITRD=y 104CONFIG_BLK_DEV_INITRD=y
86CONFIG_INITRAMFS_SOURCE="" 105CONFIG_INITRAMFS_SOURCE=""
106CONFIG_RD_GZIP=y
107# CONFIG_RD_BZIP2 is not set
108# CONFIG_RD_LZMA is not set
87# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 109# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
88CONFIG_SYSCTL=y 110CONFIG_SYSCTL=y
111CONFIG_ANON_INODES=y
89CONFIG_EMBEDDED=y 112CONFIG_EMBEDDED=y
90CONFIG_SYSCTL_SYSCALL=y 113CONFIG_SYSCTL_SYSCALL=y
91CONFIG_KALLSYMS=y 114CONFIG_KALLSYMS=y
92CONFIG_KALLSYMS_ALL=y 115CONFIG_KALLSYMS_ALL=y
93CONFIG_KALLSYMS_STRIP_GENERATED=y
94CONFIG_KALLSYMS_EXTRA_PASS=y 116CONFIG_KALLSYMS_EXTRA_PASS=y
95CONFIG_HOTPLUG=y 117CONFIG_HOTPLUG=y
96CONFIG_PRINTK=y 118CONFIG_PRINTK=y
97CONFIG_BUG=y 119CONFIG_BUG=y
98CONFIG_ELF_CORE=y 120CONFIG_ELF_CORE=y
99CONFIG_COMPAT_BRK=y
100CONFIG_BASE_FULL=y 121CONFIG_BASE_FULL=y
101CONFIG_FUTEX=y 122CONFIG_FUTEX=y
102CONFIG_ANON_INODES=y
103CONFIG_EPOLL=y 123CONFIG_EPOLL=y
104CONFIG_SIGNALFD=y 124CONFIG_SIGNALFD=y
105CONFIG_TIMERFD=y 125CONFIG_TIMERFD=y
106CONFIG_EVENTFD=y 126CONFIG_EVENTFD=y
107CONFIG_SHMEM=y 127CONFIG_SHMEM=y
108CONFIG_AIO=y 128CONFIG_AIO=y
129CONFIG_HAVE_PERF_EVENTS=y
130
131#
132# Kernel Performance Events And Counters
133#
134# CONFIG_PERF_EVENTS is not set
135# CONFIG_PERF_COUNTERS is not set
109CONFIG_VM_EVENT_COUNTERS=y 136CONFIG_VM_EVENT_COUNTERS=y
110CONFIG_PCI_QUIRKS=y 137CONFIG_PCI_QUIRKS=y
111CONFIG_SLUB_DEBUG=y 138CONFIG_SLUB_DEBUG=y
139CONFIG_COMPAT_BRK=y
112# CONFIG_SLAB is not set 140# CONFIG_SLAB is not set
113CONFIG_SLUB=y 141CONFIG_SLUB=y
114# CONFIG_SLOB is not set 142# CONFIG_SLOB is not set
@@ -120,6 +148,14 @@ CONFIG_HAVE_IOREMAP_PROT=y
120CONFIG_HAVE_KPROBES=y 148CONFIG_HAVE_KPROBES=y
121CONFIG_HAVE_KRETPROBES=y 149CONFIG_HAVE_KRETPROBES=y
122CONFIG_HAVE_ARCH_TRACEHOOK=y 150CONFIG_HAVE_ARCH_TRACEHOOK=y
151CONFIG_HAVE_DMA_ATTRS=y
152CONFIG_HAVE_DMA_API_DEBUG=y
153
154#
155# GCOV-based kernel profiling
156#
157# CONFIG_GCOV_KERNEL is not set
158# CONFIG_SLOW_WORK is not set
123# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 159# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
124CONFIG_SLABINFO=y 160CONFIG_SLABINFO=y
125CONFIG_RT_MUTEXES=y 161CONFIG_RT_MUTEXES=y
@@ -131,8 +167,7 @@ CONFIG_MODULE_UNLOAD=y
131# CONFIG_MODVERSIONS is not set 167# CONFIG_MODVERSIONS is not set
132# CONFIG_MODULE_SRCVERSION_ALL is not set 168# CONFIG_MODULE_SRCVERSION_ALL is not set
133CONFIG_BLOCK=y 169CONFIG_BLOCK=y
134CONFIG_LBD=y 170CONFIG_LBDAF=y
135# CONFIG_BLK_DEV_IO_TRACE is not set
136# CONFIG_BLK_DEV_BSG is not set 171# CONFIG_BLK_DEV_BSG is not set
137# CONFIG_BLK_DEV_INTEGRITY is not set 172# CONFIG_BLK_DEV_INTEGRITY is not set
138 173
@@ -140,19 +175,41 @@ CONFIG_LBD=y
140# IO Schedulers 175# IO Schedulers
141# 176#
142CONFIG_IOSCHED_NOOP=y 177CONFIG_IOSCHED_NOOP=y
143CONFIG_IOSCHED_AS=y
144CONFIG_IOSCHED_DEADLINE=y 178CONFIG_IOSCHED_DEADLINE=y
145CONFIG_IOSCHED_CFQ=y 179CONFIG_IOSCHED_CFQ=y
146CONFIG_DEFAULT_AS=y
147# CONFIG_DEFAULT_DEADLINE is not set 180# CONFIG_DEFAULT_DEADLINE is not set
148# CONFIG_DEFAULT_CFQ is not set 181CONFIG_DEFAULT_CFQ=y
149# CONFIG_DEFAULT_NOOP is not set 182# CONFIG_DEFAULT_NOOP is not set
150CONFIG_DEFAULT_IOSCHED="anticipatory" 183CONFIG_DEFAULT_IOSCHED="cfq"
151CONFIG_CLASSIC_RCU=y 184# CONFIG_INLINE_SPIN_TRYLOCK is not set
152# CONFIG_TREE_RCU is not set 185# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
153# CONFIG_PREEMPT_RCU is not set 186# CONFIG_INLINE_SPIN_LOCK is not set
154# CONFIG_TREE_RCU_TRACE is not set 187# CONFIG_INLINE_SPIN_LOCK_BH is not set
155# CONFIG_PREEMPT_RCU_TRACE is not set 188# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
189# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
190CONFIG_INLINE_SPIN_UNLOCK=y
191# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
192CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
193# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
194# CONFIG_INLINE_READ_TRYLOCK is not set
195# CONFIG_INLINE_READ_LOCK is not set
196# CONFIG_INLINE_READ_LOCK_BH is not set
197# CONFIG_INLINE_READ_LOCK_IRQ is not set
198# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
199CONFIG_INLINE_READ_UNLOCK=y
200# CONFIG_INLINE_READ_UNLOCK_BH is not set
201CONFIG_INLINE_READ_UNLOCK_IRQ=y
202# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
203# CONFIG_INLINE_WRITE_TRYLOCK is not set
204# CONFIG_INLINE_WRITE_LOCK is not set
205# CONFIG_INLINE_WRITE_LOCK_BH is not set
206# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
207# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
208CONFIG_INLINE_WRITE_UNLOCK=y
209# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
210CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
211# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
212# CONFIG_MUTEX_SPIN_ON_OWNER is not set
156# CONFIG_FREEZER is not set 213# CONFIG_FREEZER is not set
157# CONFIG_PPC4xx_PCI_EXPRESS is not set 214# CONFIG_PPC4xx_PCI_EXPRESS is not set
158 215
@@ -166,6 +223,7 @@ CONFIG_CLASSIC_RCU=y
166# CONFIG_ACADIA is not set 223# CONFIG_ACADIA is not set
167CONFIG_EP405=y 224CONFIG_EP405=y
168# CONFIG_HCU4 is not set 225# CONFIG_HCU4 is not set
226# CONFIG_HOTFOOT is not set
169# CONFIG_KILAUEA is not set 227# CONFIG_KILAUEA is not set
170# CONFIG_MAKALU is not set 228# CONFIG_MAKALU is not set
171# CONFIG_WALNUT is not set 229# CONFIG_WALNUT is not set
@@ -210,10 +268,12 @@ CONFIG_BINFMT_ELF=y
210# CONFIG_BINFMT_MISC is not set 268# CONFIG_BINFMT_MISC is not set
211# CONFIG_MATH_EMULATION is not set 269# CONFIG_MATH_EMULATION is not set
212# CONFIG_IOMMU_HELPER is not set 270# CONFIG_IOMMU_HELPER is not set
213CONFIG_PPC_NEED_DMA_SYNC_OPS=y 271# CONFIG_SWIOTLB is not set
214CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 272CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
215CONFIG_ARCH_HAS_WALK_MEMORY=y 273CONFIG_ARCH_HAS_WALK_MEMORY=y
216CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 274CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
275CONFIG_SPARSE_IRQ=y
276CONFIG_MAX_ACTIVE_REGIONS=32
217CONFIG_ARCH_FLATMEM_ENABLE=y 277CONFIG_ARCH_FLATMEM_ENABLE=y
218CONFIG_ARCH_POPULATES_NODE_MAP=y 278CONFIG_ARCH_POPULATES_NODE_MAP=y
219CONFIG_SELECT_MEMORY_MODEL=y 279CONFIG_SELECT_MEMORY_MODEL=y
@@ -229,10 +289,12 @@ CONFIG_MIGRATION=y
229CONFIG_ZONE_DMA_FLAG=1 289CONFIG_ZONE_DMA_FLAG=1
230CONFIG_BOUNCE=y 290CONFIG_BOUNCE=y
231CONFIG_VIRT_TO_BUS=y 291CONFIG_VIRT_TO_BUS=y
232CONFIG_UNEVICTABLE_LRU=y 292# CONFIG_KSM is not set
293CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
233CONFIG_PPC_4K_PAGES=y 294CONFIG_PPC_4K_PAGES=y
234# CONFIG_PPC_16K_PAGES is not set 295# CONFIG_PPC_16K_PAGES is not set
235# CONFIG_PPC_64K_PAGES is not set 296# CONFIG_PPC_64K_PAGES is not set
297# CONFIG_PPC_256K_PAGES is not set
236CONFIG_FORCE_MAX_ZONEORDER=11 298CONFIG_FORCE_MAX_ZONEORDER=11
237CONFIG_PROC_DEVICETREE=y 299CONFIG_PROC_DEVICETREE=y
238# CONFIG_CMDLINE_BOOL is not set 300# CONFIG_CMDLINE_BOOL is not set
@@ -257,6 +319,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
257# CONFIG_PCI_LEGACY is not set 319# CONFIG_PCI_LEGACY is not set
258# CONFIG_PCI_DEBUG is not set 320# CONFIG_PCI_DEBUG is not set
259# CONFIG_PCI_STUB is not set 321# CONFIG_PCI_STUB is not set
322# CONFIG_PCI_IOV is not set
260# CONFIG_PCCARD is not set 323# CONFIG_PCCARD is not set
261# CONFIG_HOTPLUG_PCI is not set 324# CONFIG_HOTPLUG_PCI is not set
262# CONFIG_HAS_RAPIDIO is not set 325# CONFIG_HAS_RAPIDIO is not set
@@ -274,14 +337,12 @@ CONFIG_PAGE_OFFSET=0xc0000000
274CONFIG_KERNEL_START=0xc0000000 337CONFIG_KERNEL_START=0xc0000000
275CONFIG_PHYSICAL_START=0x00000000 338CONFIG_PHYSICAL_START=0x00000000
276CONFIG_TASK_SIZE=0xc0000000 339CONFIG_TASK_SIZE=0xc0000000
277CONFIG_CONSISTENT_START=0xff100000
278CONFIG_CONSISTENT_SIZE=0x00200000 340CONFIG_CONSISTENT_SIZE=0x00200000
279CONFIG_NET=y 341CONFIG_NET=y
280 342
281# 343#
282# Networking options 344# Networking options
283# 345#
284CONFIG_COMPAT_NET_DEV_OPS=y
285CONFIG_PACKET=y 346CONFIG_PACKET=y
286# CONFIG_PACKET_MMAP is not set 347# CONFIG_PACKET_MMAP is not set
287CONFIG_UNIX=y 348CONFIG_UNIX=y
@@ -318,6 +379,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
318# CONFIG_NETFILTER is not set 379# CONFIG_NETFILTER is not set
319# CONFIG_IP_DCCP is not set 380# CONFIG_IP_DCCP is not set
320# CONFIG_IP_SCTP is not set 381# CONFIG_IP_SCTP is not set
382# CONFIG_RDS is not set
321# CONFIG_TIPC is not set 383# CONFIG_TIPC is not set
322# CONFIG_ATM is not set 384# CONFIG_ATM is not set
323# CONFIG_BRIDGE is not set 385# CONFIG_BRIDGE is not set
@@ -331,6 +393,8 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
331# CONFIG_LAPB is not set 393# CONFIG_LAPB is not set
332# CONFIG_ECONET is not set 394# CONFIG_ECONET is not set
333# CONFIG_WAN_ROUTER is not set 395# CONFIG_WAN_ROUTER is not set
396# CONFIG_PHONET is not set
397# CONFIG_IEEE802154 is not set
334# CONFIG_NET_SCHED is not set 398# CONFIG_NET_SCHED is not set
335# CONFIG_DCB is not set 399# CONFIG_DCB is not set
336 400
@@ -343,8 +407,13 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
343# CONFIG_IRDA is not set 407# CONFIG_IRDA is not set
344# CONFIG_BT is not set 408# CONFIG_BT is not set
345# CONFIG_AF_RXRPC is not set 409# CONFIG_AF_RXRPC is not set
346# CONFIG_PHONET is not set 410CONFIG_WIRELESS=y
347# CONFIG_WIRELESS is not set 411# CONFIG_CFG80211 is not set
412# CONFIG_LIB80211 is not set
413
414#
415# CFG80211 needs to be enabled for MAC80211
416#
348# CONFIG_WIMAX is not set 417# CONFIG_WIMAX is not set
349# CONFIG_RFKILL is not set 418# CONFIG_RFKILL is not set
350# CONFIG_NET_9P is not set 419# CONFIG_NET_9P is not set
@@ -357,6 +426,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
357# Generic Driver Options 426# Generic Driver Options
358# 427#
359CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 428CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
429# CONFIG_DEVTMPFS is not set
360CONFIG_STANDALONE=y 430CONFIG_STANDALONE=y
361CONFIG_PREVENT_FIRMWARE_BUILD=y 431CONFIG_PREVENT_FIRMWARE_BUILD=y
362CONFIG_FW_LOADER=y 432CONFIG_FW_LOADER=y
@@ -369,9 +439,9 @@ CONFIG_CONNECTOR=y
369CONFIG_PROC_EVENTS=y 439CONFIG_PROC_EVENTS=y
370CONFIG_MTD=y 440CONFIG_MTD=y
371# CONFIG_MTD_DEBUG is not set 441# CONFIG_MTD_DEBUG is not set
442# CONFIG_MTD_TESTS is not set
372# CONFIG_MTD_CONCAT is not set 443# CONFIG_MTD_CONCAT is not set
373CONFIG_MTD_PARTITIONS=y 444CONFIG_MTD_PARTITIONS=y
374# CONFIG_MTD_TESTS is not set
375# CONFIG_MTD_REDBOOT_PARTS is not set 445# CONFIG_MTD_REDBOOT_PARTS is not set
376CONFIG_MTD_CMDLINE_PARTS=y 446CONFIG_MTD_CMDLINE_PARTS=y
377CONFIG_MTD_OF_PARTS=y 447CONFIG_MTD_OF_PARTS=y
@@ -447,7 +517,6 @@ CONFIG_MTD_PHYSMAP_OF=y
447# LPDDR flash memory drivers 517# LPDDR flash memory drivers
448# 518#
449# CONFIG_MTD_LPDDR is not set 519# CONFIG_MTD_LPDDR is not set
450# CONFIG_MTD_QINFO_PROBE is not set
451 520
452# 521#
453# UBI - Unsorted block images 522# UBI - Unsorted block images
@@ -463,6 +532,7 @@ CONFIG_BLK_DEV=y
463# CONFIG_BLK_DEV_UMEM is not set 532# CONFIG_BLK_DEV_UMEM is not set
464# CONFIG_BLK_DEV_COW_COMMON is not set 533# CONFIG_BLK_DEV_COW_COMMON is not set
465# CONFIG_BLK_DEV_LOOP is not set 534# CONFIG_BLK_DEV_LOOP is not set
535# CONFIG_BLK_DEV_DRBD is not set
466# CONFIG_BLK_DEV_NBD is not set 536# CONFIG_BLK_DEV_NBD is not set
467# CONFIG_BLK_DEV_SX8 is not set 537# CONFIG_BLK_DEV_SX8 is not set
468# CONFIG_BLK_DEV_UB is not set 538# CONFIG_BLK_DEV_UB is not set
@@ -476,12 +546,17 @@ CONFIG_BLK_DEV_RAM_SIZE=35000
476# CONFIG_BLK_DEV_HD is not set 546# CONFIG_BLK_DEV_HD is not set
477CONFIG_MISC_DEVICES=y 547CONFIG_MISC_DEVICES=y
478# CONFIG_PHANTOM is not set 548# CONFIG_PHANTOM is not set
479# CONFIG_EEPROM_93CX6 is not set
480# CONFIG_SGI_IOC4 is not set 549# CONFIG_SGI_IOC4 is not set
481# CONFIG_TIFM_CORE is not set 550# CONFIG_TIFM_CORE is not set
482# CONFIG_ENCLOSURE_SERVICES is not set 551# CONFIG_ENCLOSURE_SERVICES is not set
483# CONFIG_HP_ILO is not set 552# CONFIG_HP_ILO is not set
484# CONFIG_C2PORT is not set 553# CONFIG_C2PORT is not set
554
555#
556# EEPROM support
557#
558# CONFIG_EEPROM_93CX6 is not set
559# CONFIG_CB710_CORE is not set
485CONFIG_HAVE_IDE=y 560CONFIG_HAVE_IDE=y
486# CONFIG_IDE is not set 561# CONFIG_IDE is not set
487 562
@@ -501,7 +576,11 @@ CONFIG_HAVE_IDE=y
501# 576#
502 577
503# 578#
504# Enable only one of the two stacks, unless you know what you are doing 579# You can enable one or both FireWire driver stacks.
580#
581
582#
583# See the help texts for more information.
505# 584#
506# CONFIG_FIREWIRE is not set 585# CONFIG_FIREWIRE is not set
507# CONFIG_IEEE1394 is not set 586# CONFIG_IEEE1394 is not set
@@ -522,6 +601,8 @@ CONFIG_NET_ETHERNET=y
522# CONFIG_SUNGEM is not set 601# CONFIG_SUNGEM is not set
523# CONFIG_CASSINI is not set 602# CONFIG_CASSINI is not set
524# CONFIG_NET_VENDOR_3COM is not set 603# CONFIG_NET_VENDOR_3COM is not set
604# CONFIG_ETHOC is not set
605# CONFIG_DNET is not set
525# CONFIG_NET_TULIP is not set 606# CONFIG_NET_TULIP is not set
526# CONFIG_HP100 is not set 607# CONFIG_HP100 is not set
527CONFIG_IBM_NEW_EMAC=y 608CONFIG_IBM_NEW_EMAC=y
@@ -540,7 +621,10 @@ CONFIG_IBM_NEW_EMAC_ZMII=y
540# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set 621# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
541# CONFIG_NET_PCI is not set 622# CONFIG_NET_PCI is not set
542# CONFIG_B44 is not set 623# CONFIG_B44 is not set
624# CONFIG_KS8842 is not set
625# CONFIG_KS8851_MLL is not set
543# CONFIG_ATL2 is not set 626# CONFIG_ATL2 is not set
627# CONFIG_XILINX_EMACLITE is not set
544CONFIG_NETDEV_1000=y 628CONFIG_NETDEV_1000=y
545# CONFIG_ACENIC is not set 629# CONFIG_ACENIC is not set
546# CONFIG_DL2K is not set 630# CONFIG_DL2K is not set
@@ -548,6 +632,7 @@ CONFIG_NETDEV_1000=y
548# CONFIG_E1000E is not set 632# CONFIG_E1000E is not set
549# CONFIG_IP1000 is not set 633# CONFIG_IP1000 is not set
550# CONFIG_IGB is not set 634# CONFIG_IGB is not set
635# CONFIG_IGBVF is not set
551# CONFIG_NS83820 is not set 636# CONFIG_NS83820 is not set
552# CONFIG_HAMACHI is not set 637# CONFIG_HAMACHI is not set
553# CONFIG_YELLOWFIN is not set 638# CONFIG_YELLOWFIN is not set
@@ -558,9 +643,13 @@ CONFIG_NETDEV_1000=y
558# CONFIG_VIA_VELOCITY is not set 643# CONFIG_VIA_VELOCITY is not set
559# CONFIG_TIGON3 is not set 644# CONFIG_TIGON3 is not set
560# CONFIG_BNX2 is not set 645# CONFIG_BNX2 is not set
646# CONFIG_CNIC is not set
647# CONFIG_MV643XX_ETH is not set
648# CONFIG_XILINX_LL_TEMAC is not set
561# CONFIG_QLA3XXX is not set 649# CONFIG_QLA3XXX is not set
562# CONFIG_ATL1 is not set 650# CONFIG_ATL1 is not set
563# CONFIG_ATL1E is not set 651# CONFIG_ATL1E is not set
652# CONFIG_ATL1C is not set
564# CONFIG_JME is not set 653# CONFIG_JME is not set
565CONFIG_NETDEV_10000=y 654CONFIG_NETDEV_10000=y
566# CONFIG_CHELSIO_T1 is not set 655# CONFIG_CHELSIO_T1 is not set
@@ -570,6 +659,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
570# CONFIG_IXGBE is not set 659# CONFIG_IXGBE is not set
571# CONFIG_IXGB is not set 660# CONFIG_IXGB is not set
572# CONFIG_S2IO is not set 661# CONFIG_S2IO is not set
662# CONFIG_VXGE is not set
573# CONFIG_MYRI10GE is not set 663# CONFIG_MYRI10GE is not set
574# CONFIG_NETXEN_NIC is not set 664# CONFIG_NETXEN_NIC is not set
575# CONFIG_NIU is not set 665# CONFIG_NIU is not set
@@ -579,14 +669,14 @@ CONFIG_CHELSIO_T3_DEPENDS=y
579# CONFIG_BNX2X is not set 669# CONFIG_BNX2X is not set
580# CONFIG_QLGE is not set 670# CONFIG_QLGE is not set
581# CONFIG_SFC is not set 671# CONFIG_SFC is not set
672# CONFIG_BE2NET is not set
582# CONFIG_TR is not set 673# CONFIG_TR is not set
583 674CONFIG_WLAN=y
584# 675# CONFIG_AIRO is not set
585# Wireless LAN 676# CONFIG_ATMEL is not set
586# 677# CONFIG_PRISM54 is not set
587# CONFIG_WLAN_PRE80211 is not set 678# CONFIG_USB_ZD1201 is not set
588# CONFIG_WLAN_80211 is not set 679# CONFIG_HOSTAP is not set
589# CONFIG_IWLWIFI_LEDS is not set
590 680
591# 681#
592# Enable WiMAX (Networking options) to see the WiMAX drivers 682# Enable WiMAX (Networking options) to see the WiMAX drivers
@@ -608,6 +698,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
608# CONFIG_NETCONSOLE is not set 698# CONFIG_NETCONSOLE is not set
609# CONFIG_NETPOLL is not set 699# CONFIG_NETPOLL is not set
610# CONFIG_NET_POLL_CONTROLLER is not set 700# CONFIG_NET_POLL_CONTROLLER is not set
701# CONFIG_VMXNET3 is not set
611# CONFIG_ISDN is not set 702# CONFIG_ISDN is not set
612# CONFIG_PHONE is not set 703# CONFIG_PHONE is not set
613 704
@@ -653,6 +744,7 @@ CONFIG_SERIAL_CORE_CONSOLE=y
653# CONFIG_SERIAL_JSM is not set 744# CONFIG_SERIAL_JSM is not set
654CONFIG_SERIAL_OF_PLATFORM=y 745CONFIG_SERIAL_OF_PLATFORM=y
655# CONFIG_SERIAL_OF_PLATFORM_NWPSERIAL is not set 746# CONFIG_SERIAL_OF_PLATFORM_NWPSERIAL is not set
747# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set
656CONFIG_UNIX98_PTYS=y 748CONFIG_UNIX98_PTYS=y
657# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set 749# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
658CONFIG_LEGACY_PTYS=y 750CONFIG_LEGACY_PTYS=y
@@ -669,6 +761,11 @@ CONFIG_LEGACY_PTY_COUNT=256
669CONFIG_DEVPORT=y 761CONFIG_DEVPORT=y
670# CONFIG_I2C is not set 762# CONFIG_I2C is not set
671# CONFIG_SPI is not set 763# CONFIG_SPI is not set
764
765#
766# PPS support
767#
768# CONFIG_PPS is not set
672CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y 769CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
673# CONFIG_GPIOLIB is not set 770# CONFIG_GPIOLIB is not set
674# CONFIG_W1 is not set 771# CONFIG_W1 is not set
@@ -691,27 +788,13 @@ CONFIG_SSB_POSSIBLE=y
691# CONFIG_HTC_PASIC3 is not set 788# CONFIG_HTC_PASIC3 is not set
692# CONFIG_MFD_TMIO is not set 789# CONFIG_MFD_TMIO is not set
693# CONFIG_REGULATOR is not set 790# CONFIG_REGULATOR is not set
694 791# CONFIG_MEDIA_SUPPORT is not set
695#
696# Multimedia devices
697#
698
699#
700# Multimedia core support
701#
702# CONFIG_VIDEO_DEV is not set
703# CONFIG_DVB_CORE is not set
704# CONFIG_VIDEO_MEDIA is not set
705
706#
707# Multimedia drivers
708#
709# CONFIG_DAB is not set
710 792
711# 793#
712# Graphics support 794# Graphics support
713# 795#
714# CONFIG_AGP is not set 796# CONFIG_AGP is not set
797CONFIG_VGA_ARB=y
715# CONFIG_DRM is not set 798# CONFIG_DRM is not set
716# CONFIG_VGASTATE is not set 799# CONFIG_VGASTATE is not set
717CONFIG_VIDEO_OUTPUT_CONTROL=m 800CONFIG_VIDEO_OUTPUT_CONTROL=m
@@ -748,14 +831,16 @@ CONFIG_USB_MON=y
748# USB Host Controller Drivers 831# USB Host Controller Drivers
749# 832#
750# CONFIG_USB_C67X00_HCD is not set 833# CONFIG_USB_C67X00_HCD is not set
834# CONFIG_USB_XHCI_HCD is not set
751# CONFIG_USB_EHCI_HCD is not set 835# CONFIG_USB_EHCI_HCD is not set
752# CONFIG_USB_OXU210HP_HCD is not set 836# CONFIG_USB_OXU210HP_HCD is not set
753# CONFIG_USB_ISP116X_HCD is not set 837# CONFIG_USB_ISP116X_HCD is not set
754# CONFIG_USB_ISP1760_HCD is not set 838# CONFIG_USB_ISP1760_HCD is not set
839# CONFIG_USB_ISP1362_HCD is not set
755CONFIG_USB_OHCI_HCD=y 840CONFIG_USB_OHCI_HCD=y
756CONFIG_USB_OHCI_HCD_PPC_OF=y
757CONFIG_USB_OHCI_HCD_PPC_OF_BE=y 841CONFIG_USB_OHCI_HCD_PPC_OF_BE=y
758CONFIG_USB_OHCI_HCD_PPC_OF_LE=y 842CONFIG_USB_OHCI_HCD_PPC_OF_LE=y
843CONFIG_USB_OHCI_HCD_PPC_OF=y
759CONFIG_USB_OHCI_HCD_PCI=y 844CONFIG_USB_OHCI_HCD_PCI=y
760CONFIG_USB_OHCI_BIG_ENDIAN_DESC=y 845CONFIG_USB_OHCI_BIG_ENDIAN_DESC=y
761CONFIG_USB_OHCI_BIG_ENDIAN_MMIO=y 846CONFIG_USB_OHCI_BIG_ENDIAN_MMIO=y
@@ -775,11 +860,11 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
775# CONFIG_USB_TMC is not set 860# CONFIG_USB_TMC is not set
776 861
777# 862#
778# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; 863# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
779# 864#
780 865
781# 866#
782# see USB_STORAGE Help for more information 867# also be needed; see USB_STORAGE Help for more info
783# 868#
784# CONFIG_USB_LIBUSUAL is not set 869# CONFIG_USB_LIBUSUAL is not set
785 870
@@ -807,7 +892,6 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
807# CONFIG_USB_LED is not set 892# CONFIG_USB_LED is not set
808# CONFIG_USB_CYPRESS_CY7C63 is not set 893# CONFIG_USB_CYPRESS_CY7C63 is not set
809# CONFIG_USB_CYTHERM is not set 894# CONFIG_USB_CYTHERM is not set
810# CONFIG_USB_PHIDGET is not set
811# CONFIG_USB_IDMOUSE is not set 895# CONFIG_USB_IDMOUSE is not set
812# CONFIG_USB_FTDI_ELAN is not set 896# CONFIG_USB_FTDI_ELAN is not set
813# CONFIG_USB_APPLEDISPLAY is not set 897# CONFIG_USB_APPLEDISPLAY is not set
@@ -822,6 +906,7 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
822# 906#
823# OTG and related infrastructure 907# OTG and related infrastructure
824# 908#
909# CONFIG_NOP_USB_XCEIV is not set
825# CONFIG_UWB is not set 910# CONFIG_UWB is not set
826# CONFIG_MMC is not set 911# CONFIG_MMC is not set
827# CONFIG_MEMSTICK is not set 912# CONFIG_MEMSTICK is not set
@@ -831,7 +916,12 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
831# CONFIG_EDAC is not set 916# CONFIG_EDAC is not set
832# CONFIG_RTC_CLASS is not set 917# CONFIG_RTC_CLASS is not set
833# CONFIG_DMADEVICES is not set 918# CONFIG_DMADEVICES is not set
919# CONFIG_AUXDISPLAY is not set
834# CONFIG_UIO is not set 920# CONFIG_UIO is not set
921
922#
923# TI VLYNQ
924#
835# CONFIG_STAGING is not set 925# CONFIG_STAGING is not set
836 926
837# 927#
@@ -842,14 +932,17 @@ CONFIG_EXT2_FS=y
842# CONFIG_EXT2_FS_XIP is not set 932# CONFIG_EXT2_FS_XIP is not set
843# CONFIG_EXT3_FS is not set 933# CONFIG_EXT3_FS is not set
844# CONFIG_EXT4_FS is not set 934# CONFIG_EXT4_FS is not set
935CONFIG_EXT4_USE_FOR_EXT23=y
845# CONFIG_REISERFS_FS is not set 936# CONFIG_REISERFS_FS is not set
846# CONFIG_JFS_FS is not set 937# CONFIG_JFS_FS is not set
847# CONFIG_FS_POSIX_ACL is not set 938# CONFIG_FS_POSIX_ACL is not set
848CONFIG_FILE_LOCKING=y
849# CONFIG_XFS_FS is not set 939# CONFIG_XFS_FS is not set
850# CONFIG_GFS2_FS is not set 940# CONFIG_GFS2_FS is not set
851# CONFIG_OCFS2_FS is not set 941# CONFIG_OCFS2_FS is not set
852# CONFIG_BTRFS_FS is not set 942# CONFIG_BTRFS_FS is not set
943# CONFIG_NILFS2_FS is not set
944CONFIG_FILE_LOCKING=y
945CONFIG_FSNOTIFY=y
853CONFIG_DNOTIFY=y 946CONFIG_DNOTIFY=y
854CONFIG_INOTIFY=y 947CONFIG_INOTIFY=y
855CONFIG_INOTIFY_USER=y 948CONFIG_INOTIFY_USER=y
@@ -859,6 +952,11 @@ CONFIG_INOTIFY_USER=y
859# CONFIG_FUSE_FS is not set 952# CONFIG_FUSE_FS is not set
860 953
861# 954#
955# Caches
956#
957# CONFIG_FSCACHE is not set
958
959#
862# CD-ROM/DVD Filesystems 960# CD-ROM/DVD Filesystems
863# 961#
864# CONFIG_ISO9660_FS is not set 962# CONFIG_ISO9660_FS is not set
@@ -913,7 +1011,6 @@ CONFIG_LOCKD=y
913CONFIG_LOCKD_V4=y 1011CONFIG_LOCKD_V4=y
914CONFIG_NFS_COMMON=y 1012CONFIG_NFS_COMMON=y
915CONFIG_SUNRPC=y 1013CONFIG_SUNRPC=y
916# CONFIG_SUNRPC_REGISTER_V4 is not set
917# CONFIG_RPCSEC_GSS_KRB5 is not set 1014# CONFIG_RPCSEC_GSS_KRB5 is not set
918# CONFIG_RPCSEC_GSS_SPKM3 is not set 1015# CONFIG_RPCSEC_GSS_SPKM3 is not set
919# CONFIG_SMB_FS is not set 1016# CONFIG_SMB_FS is not set
@@ -927,8 +1024,48 @@ CONFIG_SUNRPC=y
927# 1024#
928# CONFIG_PARTITION_ADVANCED is not set 1025# CONFIG_PARTITION_ADVANCED is not set
929CONFIG_MSDOS_PARTITION=y 1026CONFIG_MSDOS_PARTITION=y
930# CONFIG_NLS is not set 1027CONFIG_NLS=y
1028CONFIG_NLS_DEFAULT="iso8859-1"
1029# CONFIG_NLS_CODEPAGE_437 is not set
1030# CONFIG_NLS_CODEPAGE_737 is not set
1031# CONFIG_NLS_CODEPAGE_775 is not set
1032# CONFIG_NLS_CODEPAGE_850 is not set
1033# CONFIG_NLS_CODEPAGE_852 is not set
1034# CONFIG_NLS_CODEPAGE_855 is not set
1035# CONFIG_NLS_CODEPAGE_857 is not set
1036# CONFIG_NLS_CODEPAGE_860 is not set
1037# CONFIG_NLS_CODEPAGE_861 is not set
1038# CONFIG_NLS_CODEPAGE_862 is not set
1039# CONFIG_NLS_CODEPAGE_863 is not set
1040# CONFIG_NLS_CODEPAGE_864 is not set
1041# CONFIG_NLS_CODEPAGE_865 is not set
1042# CONFIG_NLS_CODEPAGE_866 is not set
1043# CONFIG_NLS_CODEPAGE_869 is not set
1044# CONFIG_NLS_CODEPAGE_936 is not set
1045# CONFIG_NLS_CODEPAGE_950 is not set
1046# CONFIG_NLS_CODEPAGE_932 is not set
1047# CONFIG_NLS_CODEPAGE_949 is not set
1048# CONFIG_NLS_CODEPAGE_874 is not set
1049# CONFIG_NLS_ISO8859_8 is not set
1050# CONFIG_NLS_CODEPAGE_1250 is not set
1051# CONFIG_NLS_CODEPAGE_1251 is not set
1052# CONFIG_NLS_ASCII is not set
1053# CONFIG_NLS_ISO8859_1 is not set
1054# CONFIG_NLS_ISO8859_2 is not set
1055# CONFIG_NLS_ISO8859_3 is not set
1056# CONFIG_NLS_ISO8859_4 is not set
1057# CONFIG_NLS_ISO8859_5 is not set
1058# CONFIG_NLS_ISO8859_6 is not set
1059# CONFIG_NLS_ISO8859_7 is not set
1060# CONFIG_NLS_ISO8859_9 is not set
1061# CONFIG_NLS_ISO8859_13 is not set
1062# CONFIG_NLS_ISO8859_14 is not set
1063# CONFIG_NLS_ISO8859_15 is not set
1064# CONFIG_NLS_KOI8_R is not set
1065# CONFIG_NLS_KOI8_U is not set
1066# CONFIG_NLS_UTF8 is not set
931# CONFIG_DLM is not set 1067# CONFIG_DLM is not set
1068# CONFIG_BINARY_PRINTF is not set
932 1069
933# 1070#
934# Library routines 1071# Library routines
@@ -943,11 +1080,13 @@ CONFIG_CRC32=y
943# CONFIG_CRC7 is not set 1080# CONFIG_CRC7 is not set
944# CONFIG_LIBCRC32C is not set 1081# CONFIG_LIBCRC32C is not set
945CONFIG_ZLIB_INFLATE=y 1082CONFIG_ZLIB_INFLATE=y
946CONFIG_PLIST=y 1083CONFIG_DECOMPRESS_GZIP=y
947CONFIG_HAS_IOMEM=y 1084CONFIG_HAS_IOMEM=y
948CONFIG_HAS_IOPORT=y 1085CONFIG_HAS_IOPORT=y
949CONFIG_HAS_DMA=y 1086CONFIG_HAS_DMA=y
950CONFIG_HAVE_LMB=y 1087CONFIG_HAVE_LMB=y
1088CONFIG_NLATTR=y
1089CONFIG_GENERIC_ATOMIC64=y
951 1090
952# 1091#
953# Kernel hacking 1092# Kernel hacking
@@ -957,6 +1096,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
957CONFIG_ENABLE_MUST_CHECK=y 1096CONFIG_ENABLE_MUST_CHECK=y
958CONFIG_FRAME_WARN=1024 1097CONFIG_FRAME_WARN=1024
959CONFIG_MAGIC_SYSRQ=y 1098CONFIG_MAGIC_SYSRQ=y
1099# CONFIG_STRIP_ASM_SYMS is not set
960# CONFIG_UNUSED_SYMBOLS is not set 1100# CONFIG_UNUSED_SYMBOLS is not set
961CONFIG_DEBUG_FS=y 1101CONFIG_DEBUG_FS=y
962# CONFIG_HEADERS_CHECK is not set 1102# CONFIG_HEADERS_CHECK is not set
@@ -965,16 +1105,23 @@ CONFIG_DEBUG_KERNEL=y
965CONFIG_DETECT_SOFTLOCKUP=y 1105CONFIG_DETECT_SOFTLOCKUP=y
966# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set 1106# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
967CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 1107CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
1108CONFIG_DETECT_HUNG_TASK=y
1109# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
1110CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
968CONFIG_SCHED_DEBUG=y 1111CONFIG_SCHED_DEBUG=y
969# CONFIG_SCHEDSTATS is not set 1112# CONFIG_SCHEDSTATS is not set
970# CONFIG_TIMER_STATS is not set 1113# CONFIG_TIMER_STATS is not set
971# CONFIG_DEBUG_OBJECTS is not set 1114# CONFIG_DEBUG_OBJECTS is not set
972# CONFIG_SLUB_DEBUG_ON is not set 1115# CONFIG_SLUB_DEBUG_ON is not set
973# CONFIG_SLUB_STATS is not set 1116# CONFIG_SLUB_STATS is not set
1117# CONFIG_DEBUG_KMEMLEAK is not set
974# CONFIG_DEBUG_RT_MUTEXES is not set 1118# CONFIG_DEBUG_RT_MUTEXES is not set
975# CONFIG_RT_MUTEX_TESTER is not set 1119# CONFIG_RT_MUTEX_TESTER is not set
976# CONFIG_DEBUG_SPINLOCK is not set 1120# CONFIG_DEBUG_SPINLOCK is not set
977# CONFIG_DEBUG_MUTEXES is not set 1121# CONFIG_DEBUG_MUTEXES is not set
1122# CONFIG_DEBUG_LOCK_ALLOC is not set
1123# CONFIG_PROVE_LOCKING is not set
1124# CONFIG_LOCK_STAT is not set
978# CONFIG_DEBUG_SPINLOCK_SLEEP is not set 1125# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
979# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set 1126# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
980# CONFIG_DEBUG_KOBJECT is not set 1127# CONFIG_DEBUG_KOBJECT is not set
@@ -986,35 +1133,45 @@ CONFIG_DEBUG_BUGVERBOSE=y
986# CONFIG_DEBUG_LIST is not set 1133# CONFIG_DEBUG_LIST is not set
987# CONFIG_DEBUG_SG is not set 1134# CONFIG_DEBUG_SG is not set
988# CONFIG_DEBUG_NOTIFIERS is not set 1135# CONFIG_DEBUG_NOTIFIERS is not set
989# CONFIG_BOOT_PRINTK_DELAY is not set 1136# CONFIG_DEBUG_CREDENTIALS is not set
990# CONFIG_RCU_TORTURE_TEST is not set 1137# CONFIG_RCU_TORTURE_TEST is not set
991# CONFIG_RCU_CPU_STALL_DETECTOR is not set 1138# CONFIG_RCU_CPU_STALL_DETECTOR is not set
992# CONFIG_BACKTRACE_SELF_TEST is not set 1139# CONFIG_BACKTRACE_SELF_TEST is not set
993# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set 1140# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1141# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
994# CONFIG_FAULT_INJECTION is not set 1142# CONFIG_FAULT_INJECTION is not set
995# CONFIG_LATENCYTOP is not set 1143# CONFIG_LATENCYTOP is not set
996CONFIG_SYSCTL_SYSCALL_CHECK=y 1144CONFIG_SYSCTL_SYSCALL_CHECK=y
1145# CONFIG_DEBUG_PAGEALLOC is not set
997CONFIG_HAVE_FUNCTION_TRACER=y 1146CONFIG_HAVE_FUNCTION_TRACER=y
1147CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
998CONFIG_HAVE_DYNAMIC_FTRACE=y 1148CONFIG_HAVE_DYNAMIC_FTRACE=y
999CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 1149CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1000 1150CONFIG_TRACING_SUPPORT=y
1001# 1151CONFIG_FTRACE=y
1002# Tracers
1003#
1004# CONFIG_FUNCTION_TRACER is not set 1152# CONFIG_FUNCTION_TRACER is not set
1153# CONFIG_IRQSOFF_TRACER is not set
1005# CONFIG_SCHED_TRACER is not set 1154# CONFIG_SCHED_TRACER is not set
1006# CONFIG_CONTEXT_SWITCH_TRACER is not set 1155# CONFIG_ENABLE_DEFAULT_TRACERS is not set
1007# CONFIG_BOOT_TRACER is not set 1156# CONFIG_BOOT_TRACER is not set
1008# CONFIG_TRACE_BRANCH_PROFILING is not set 1157CONFIG_BRANCH_PROFILE_NONE=y
1158# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
1159# CONFIG_PROFILE_ALL_BRANCHES is not set
1009# CONFIG_STACK_TRACER is not set 1160# CONFIG_STACK_TRACER is not set
1010# CONFIG_DYNAMIC_PRINTK_DEBUG is not set 1161# CONFIG_KMEMTRACE is not set
1162# CONFIG_WORKQUEUE_TRACER is not set
1163# CONFIG_BLK_DEV_IO_TRACE is not set
1164# CONFIG_DYNAMIC_DEBUG is not set
1165# CONFIG_DMA_API_DEBUG is not set
1011# CONFIG_SAMPLES is not set 1166# CONFIG_SAMPLES is not set
1012CONFIG_HAVE_ARCH_KGDB=y 1167CONFIG_HAVE_ARCH_KGDB=y
1013# CONFIG_KGDB is not set 1168# CONFIG_KGDB is not set
1169# CONFIG_PPC_DISABLE_WERROR is not set
1170CONFIG_PPC_WERROR=y
1014CONFIG_PRINT_STACK_DEPTH=64 1171CONFIG_PRINT_STACK_DEPTH=64
1015# CONFIG_DEBUG_STACKOVERFLOW is not set 1172# CONFIG_DEBUG_STACKOVERFLOW is not set
1016# CONFIG_DEBUG_STACK_USAGE is not set 1173# CONFIG_DEBUG_STACK_USAGE is not set
1017# CONFIG_DEBUG_PAGEALLOC is not set 1174# CONFIG_PPC_EMULATED_STATS is not set
1018# CONFIG_CODE_PATCHING_SELFTEST is not set 1175# CONFIG_CODE_PATCHING_SELFTEST is not set
1019# CONFIG_FTR_FIXUP_SELFTEST is not set 1176# CONFIG_FTR_FIXUP_SELFTEST is not set
1020# CONFIG_MSI_BITMAP_SELFTEST is not set 1177# CONFIG_MSI_BITMAP_SELFTEST is not set
@@ -1030,13 +1187,16 @@ CONFIG_PRINT_STACK_DEPTH=64
1030# CONFIG_KEYS is not set 1187# CONFIG_KEYS is not set
1031# CONFIG_SECURITY is not set 1188# CONFIG_SECURITY is not set
1032# CONFIG_SECURITYFS is not set 1189# CONFIG_SECURITYFS is not set
1033# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1190# CONFIG_DEFAULT_SECURITY_SELINUX is not set
1191# CONFIG_DEFAULT_SECURITY_SMACK is not set
1192# CONFIG_DEFAULT_SECURITY_TOMOYO is not set
1193CONFIG_DEFAULT_SECURITY_DAC=y
1194CONFIG_DEFAULT_SECURITY=""
1034CONFIG_CRYPTO=y 1195CONFIG_CRYPTO=y
1035 1196
1036# 1197#
1037# Crypto core or helper 1198# Crypto core or helper
1038# 1199#
1039# CONFIG_CRYPTO_FIPS is not set
1040CONFIG_CRYPTO_ALGAPI=y 1200CONFIG_CRYPTO_ALGAPI=y
1041CONFIG_CRYPTO_ALGAPI2=y 1201CONFIG_CRYPTO_ALGAPI2=y
1042CONFIG_CRYPTO_AEAD2=y 1202CONFIG_CRYPTO_AEAD2=y
@@ -1045,10 +1205,12 @@ CONFIG_CRYPTO_BLKCIPHER2=y
1045CONFIG_CRYPTO_HASH=y 1205CONFIG_CRYPTO_HASH=y
1046CONFIG_CRYPTO_HASH2=y 1206CONFIG_CRYPTO_HASH2=y
1047CONFIG_CRYPTO_RNG2=y 1207CONFIG_CRYPTO_RNG2=y
1208CONFIG_CRYPTO_PCOMP=y
1048CONFIG_CRYPTO_MANAGER=y 1209CONFIG_CRYPTO_MANAGER=y
1049CONFIG_CRYPTO_MANAGER2=y 1210CONFIG_CRYPTO_MANAGER2=y
1050# CONFIG_CRYPTO_GF128MUL is not set 1211# CONFIG_CRYPTO_GF128MUL is not set
1051# CONFIG_CRYPTO_NULL is not set 1212# CONFIG_CRYPTO_NULL is not set
1213CONFIG_CRYPTO_WORKQUEUE=y
1052# CONFIG_CRYPTO_CRYPTD is not set 1214# CONFIG_CRYPTO_CRYPTD is not set
1053# CONFIG_CRYPTO_AUTHENC is not set 1215# CONFIG_CRYPTO_AUTHENC is not set
1054# CONFIG_CRYPTO_TEST is not set 1216# CONFIG_CRYPTO_TEST is not set
@@ -1076,11 +1238,13 @@ CONFIG_CRYPTO_PCBC=y
1076# 1238#
1077# CONFIG_CRYPTO_HMAC is not set 1239# CONFIG_CRYPTO_HMAC is not set
1078# CONFIG_CRYPTO_XCBC is not set 1240# CONFIG_CRYPTO_XCBC is not set
1241# CONFIG_CRYPTO_VMAC is not set
1079 1242
1080# 1243#
1081# Digest 1244# Digest
1082# 1245#
1083# CONFIG_CRYPTO_CRC32C is not set 1246# CONFIG_CRYPTO_CRC32C is not set
1247# CONFIG_CRYPTO_GHASH is not set
1084# CONFIG_CRYPTO_MD4 is not set 1248# CONFIG_CRYPTO_MD4 is not set
1085CONFIG_CRYPTO_MD5=y 1249CONFIG_CRYPTO_MD5=y
1086# CONFIG_CRYPTO_MICHAEL_MIC is not set 1250# CONFIG_CRYPTO_MICHAEL_MIC is not set
@@ -1117,6 +1281,7 @@ CONFIG_CRYPTO_DES=y
1117# Compression 1281# Compression
1118# 1282#
1119# CONFIG_CRYPTO_DEFLATE is not set 1283# CONFIG_CRYPTO_DEFLATE is not set
1284# CONFIG_CRYPTO_ZLIB is not set
1120# CONFIG_CRYPTO_LZO is not set 1285# CONFIG_CRYPTO_LZO is not set
1121 1286
1122# 1287#
@@ -1125,5 +1290,6 @@ CONFIG_CRYPTO_DES=y
1125# CONFIG_CRYPTO_ANSI_CPRNG is not set 1290# CONFIG_CRYPTO_ANSI_CPRNG is not set
1126CONFIG_CRYPTO_HW=y 1291CONFIG_CRYPTO_HW=y
1127# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1292# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1293# CONFIG_CRYPTO_DEV_PPC4XX is not set
1128# CONFIG_PPC_CLOCK is not set 1294# CONFIG_PPC_CLOCK is not set
1129# CONFIG_VIRTUALIZATION is not set 1295# CONFIG_VIRTUALIZATION is not set
diff --git a/arch/powerpc/configs/40x/hcu4_defconfig b/arch/powerpc/configs/40x/hcu4_defconfig
index 8c019d79bf2a..0b452135d1d4 100644
--- a/arch/powerpc/configs/40x/hcu4_defconfig
+++ b/arch/powerpc/configs/40x/hcu4_defconfig
@@ -1,14 +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.29-rc2 3# Linux kernel version: 2.6.33-rc1
4# Tue Jan 20 08:17:50 2009 4# Mon Jan 4 15:45:11 2010
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
8# 8#
9# Processor support 9# Processor support
10# 10#
11# CONFIG_6xx is not set 11# CONFIG_PPC_BOOK3S_32 is not set
12# CONFIG_PPC_85xx is not set 12# CONFIG_PPC_85xx is not set
13# CONFIG_PPC_8xx is not set 13# CONFIG_PPC_8xx is not set
14CONFIG_40x=y 14CONFIG_40x=y
@@ -16,6 +16,7 @@ CONFIG_40x=y
16# CONFIG_E200 is not set 16# CONFIG_E200 is not set
17CONFIG_4xx=y 17CONFIG_4xx=y
18CONFIG_PPC_MMU_NOHASH=y 18CONFIG_PPC_MMU_NOHASH=y
19CONFIG_PPC_MMU_NOHASH_32=y
19# CONFIG_PPC_MM_SLICES is not set 20# CONFIG_PPC_MM_SLICES is not set
20CONFIG_NOT_COHERENT_CACHE=y 21CONFIG_NOT_COHERENT_CACHE=y
21CONFIG_PPC32=y 22CONFIG_PPC32=y
@@ -27,15 +28,18 @@ CONFIG_GENERIC_TIME=y
27CONFIG_GENERIC_TIME_VSYSCALL=y 28CONFIG_GENERIC_TIME_VSYSCALL=y
28CONFIG_GENERIC_CLOCKEVENTS=y 29CONFIG_GENERIC_CLOCKEVENTS=y
29CONFIG_GENERIC_HARDIRQS=y 30CONFIG_GENERIC_HARDIRQS=y
31CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
30# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 32# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
33# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
31CONFIG_IRQ_PER_CPU=y 34CONFIG_IRQ_PER_CPU=y
35CONFIG_NR_IRQS=512
32CONFIG_STACKTRACE_SUPPORT=y 36CONFIG_STACKTRACE_SUPPORT=y
33CONFIG_HAVE_LATENCYTOP_SUPPORT=y 37CONFIG_HAVE_LATENCYTOP_SUPPORT=y
38CONFIG_TRACE_IRQFLAGS_SUPPORT=y
34CONFIG_LOCKDEP_SUPPORT=y 39CONFIG_LOCKDEP_SUPPORT=y
35CONFIG_RWSEM_XCHGADD_ALGORITHM=y 40CONFIG_RWSEM_XCHGADD_ALGORITHM=y
36CONFIG_ARCH_HAS_ILOG2_U32=y 41CONFIG_ARCH_HAS_ILOG2_U32=y
37CONFIG_GENERIC_HWEIGHT=y 42CONFIG_GENERIC_HWEIGHT=y
38CONFIG_GENERIC_CALIBRATE_DELAY=y
39CONFIG_GENERIC_FIND_NEXT_BIT=y 43CONFIG_GENERIC_FIND_NEXT_BIT=y
40# CONFIG_ARCH_NO_VIRT_TO_BUS is not set 44# CONFIG_ARCH_NO_VIRT_TO_BUS is not set
41CONFIG_PPC=y 45CONFIG_PPC=y
@@ -49,11 +53,15 @@ CONFIG_PPC_UDBG_16550=y
49# CONFIG_GENERIC_TBSYNC is not set 53# CONFIG_GENERIC_TBSYNC is not set
50CONFIG_AUDIT_ARCH=y 54CONFIG_AUDIT_ARCH=y
51CONFIG_GENERIC_BUG=y 55CONFIG_GENERIC_BUG=y
56CONFIG_DTC=y
52# CONFIG_DEFAULT_UIMAGE is not set 57# CONFIG_DEFAULT_UIMAGE is not set
58CONFIG_ARCH_HIBERNATION_POSSIBLE=y
53CONFIG_PPC_DCR_NATIVE=y 59CONFIG_PPC_DCR_NATIVE=y
54# CONFIG_PPC_DCR_MMIO is not set 60# CONFIG_PPC_DCR_MMIO is not set
55CONFIG_PPC_DCR=y 61CONFIG_PPC_DCR=y
62CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
56CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 63CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
64CONFIG_CONSTRUCTORS=y
57 65
58# 66#
59# General setup 67# General setup
@@ -67,9 +75,21 @@ CONFIG_SWAP=y
67CONFIG_SYSVIPC=y 75CONFIG_SYSVIPC=y
68CONFIG_SYSVIPC_SYSCTL=y 76CONFIG_SYSVIPC_SYSCTL=y
69CONFIG_POSIX_MQUEUE=y 77CONFIG_POSIX_MQUEUE=y
78CONFIG_POSIX_MQUEUE_SYSCTL=y
70# CONFIG_BSD_PROCESS_ACCT is not set 79# CONFIG_BSD_PROCESS_ACCT is not set
71# CONFIG_TASKSTATS is not set 80# CONFIG_TASKSTATS is not set
72# CONFIG_AUDIT is not set 81# CONFIG_AUDIT is not set
82
83#
84# RCU Subsystem
85#
86CONFIG_TREE_RCU=y
87# CONFIG_TREE_PREEMPT_RCU is not set
88# CONFIG_TINY_RCU is not set
89# CONFIG_RCU_TRACE is not set
90CONFIG_RCU_FANOUT=32
91# CONFIG_RCU_FANOUT_EXACT is not set
92# CONFIG_TREE_RCU_TRACE is not set
73# CONFIG_IKCONFIG is not set 93# CONFIG_IKCONFIG is not set
74CONFIG_LOG_BUF_SHIFT=14 94CONFIG_LOG_BUF_SHIFT=14
75CONFIG_GROUP_SCHED=y 95CONFIG_GROUP_SCHED=y
@@ -78,37 +98,45 @@ CONFIG_FAIR_GROUP_SCHED=y
78CONFIG_USER_SCHED=y 98CONFIG_USER_SCHED=y
79# CONFIG_CGROUP_SCHED is not set 99# CONFIG_CGROUP_SCHED is not set
80# CONFIG_CGROUPS is not set 100# CONFIG_CGROUPS is not set
81CONFIG_SYSFS_DEPRECATED=y 101# CONFIG_SYSFS_DEPRECATED_V2 is not set
82CONFIG_SYSFS_DEPRECATED_V2=y
83# CONFIG_RELAY is not set 102# CONFIG_RELAY is not set
84# CONFIG_NAMESPACES is not set 103# CONFIG_NAMESPACES is not set
85CONFIG_BLK_DEV_INITRD=y 104CONFIG_BLK_DEV_INITRD=y
86CONFIG_INITRAMFS_SOURCE="" 105CONFIG_INITRAMFS_SOURCE=""
106CONFIG_RD_GZIP=y
107# CONFIG_RD_BZIP2 is not set
108# CONFIG_RD_LZMA is not set
87# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 109# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
88CONFIG_SYSCTL=y 110CONFIG_SYSCTL=y
111CONFIG_ANON_INODES=y
89CONFIG_EMBEDDED=y 112CONFIG_EMBEDDED=y
90CONFIG_SYSCTL_SYSCALL=y 113CONFIG_SYSCTL_SYSCALL=y
91CONFIG_KALLSYMS=y 114CONFIG_KALLSYMS=y
92CONFIG_KALLSYMS_ALL=y 115CONFIG_KALLSYMS_ALL=y
93CONFIG_KALLSYMS_STRIP_GENERATED=y
94CONFIG_KALLSYMS_EXTRA_PASS=y 116CONFIG_KALLSYMS_EXTRA_PASS=y
95CONFIG_HOTPLUG=y 117CONFIG_HOTPLUG=y
96CONFIG_PRINTK=y 118CONFIG_PRINTK=y
97CONFIG_BUG=y 119CONFIG_BUG=y
98CONFIG_ELF_CORE=y 120CONFIG_ELF_CORE=y
99CONFIG_COMPAT_BRK=y
100CONFIG_BASE_FULL=y 121CONFIG_BASE_FULL=y
101CONFIG_FUTEX=y 122CONFIG_FUTEX=y
102CONFIG_ANON_INODES=y
103CONFIG_EPOLL=y 123CONFIG_EPOLL=y
104CONFIG_SIGNALFD=y 124CONFIG_SIGNALFD=y
105CONFIG_TIMERFD=y 125CONFIG_TIMERFD=y
106CONFIG_EVENTFD=y 126CONFIG_EVENTFD=y
107CONFIG_SHMEM=y 127CONFIG_SHMEM=y
108CONFIG_AIO=y 128CONFIG_AIO=y
129CONFIG_HAVE_PERF_EVENTS=y
130
131#
132# Kernel Performance Events And Counters
133#
134# CONFIG_PERF_EVENTS is not set
135# CONFIG_PERF_COUNTERS is not set
109CONFIG_VM_EVENT_COUNTERS=y 136CONFIG_VM_EVENT_COUNTERS=y
110CONFIG_PCI_QUIRKS=y 137CONFIG_PCI_QUIRKS=y
111CONFIG_SLUB_DEBUG=y 138CONFIG_SLUB_DEBUG=y
139CONFIG_COMPAT_BRK=y
112# CONFIG_SLAB is not set 140# CONFIG_SLAB is not set
113CONFIG_SLUB=y 141CONFIG_SLUB=y
114# CONFIG_SLOB is not set 142# CONFIG_SLOB is not set
@@ -120,6 +148,14 @@ CONFIG_HAVE_IOREMAP_PROT=y
120CONFIG_HAVE_KPROBES=y 148CONFIG_HAVE_KPROBES=y
121CONFIG_HAVE_KRETPROBES=y 149CONFIG_HAVE_KRETPROBES=y
122CONFIG_HAVE_ARCH_TRACEHOOK=y 150CONFIG_HAVE_ARCH_TRACEHOOK=y
151CONFIG_HAVE_DMA_ATTRS=y
152CONFIG_HAVE_DMA_API_DEBUG=y
153
154#
155# GCOV-based kernel profiling
156#
157# CONFIG_GCOV_KERNEL is not set
158# CONFIG_SLOW_WORK is not set
123# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 159# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
124CONFIG_SLABINFO=y 160CONFIG_SLABINFO=y
125CONFIG_RT_MUTEXES=y 161CONFIG_RT_MUTEXES=y
@@ -131,8 +167,7 @@ CONFIG_MODULE_UNLOAD=y
131# CONFIG_MODVERSIONS is not set 167# CONFIG_MODVERSIONS is not set
132# CONFIG_MODULE_SRCVERSION_ALL is not set 168# CONFIG_MODULE_SRCVERSION_ALL is not set
133CONFIG_BLOCK=y 169CONFIG_BLOCK=y
134CONFIG_LBD=y 170CONFIG_LBDAF=y
135# CONFIG_BLK_DEV_IO_TRACE is not set
136# CONFIG_BLK_DEV_BSG is not set 171# CONFIG_BLK_DEV_BSG is not set
137# CONFIG_BLK_DEV_INTEGRITY is not set 172# CONFIG_BLK_DEV_INTEGRITY is not set
138 173
@@ -140,19 +175,41 @@ CONFIG_LBD=y
140# IO Schedulers 175# IO Schedulers
141# 176#
142CONFIG_IOSCHED_NOOP=y 177CONFIG_IOSCHED_NOOP=y
143CONFIG_IOSCHED_AS=y
144CONFIG_IOSCHED_DEADLINE=y 178CONFIG_IOSCHED_DEADLINE=y
145CONFIG_IOSCHED_CFQ=y 179CONFIG_IOSCHED_CFQ=y
146CONFIG_DEFAULT_AS=y
147# CONFIG_DEFAULT_DEADLINE is not set 180# CONFIG_DEFAULT_DEADLINE is not set
148# CONFIG_DEFAULT_CFQ is not set 181CONFIG_DEFAULT_CFQ=y
149# CONFIG_DEFAULT_NOOP is not set 182# CONFIG_DEFAULT_NOOP is not set
150CONFIG_DEFAULT_IOSCHED="anticipatory" 183CONFIG_DEFAULT_IOSCHED="cfq"
151CONFIG_CLASSIC_RCU=y 184# CONFIG_INLINE_SPIN_TRYLOCK is not set
152# CONFIG_TREE_RCU is not set 185# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
153# CONFIG_PREEMPT_RCU is not set 186# CONFIG_INLINE_SPIN_LOCK is not set
154# CONFIG_TREE_RCU_TRACE is not set 187# CONFIG_INLINE_SPIN_LOCK_BH is not set
155# CONFIG_PREEMPT_RCU_TRACE is not set 188# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
189# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
190CONFIG_INLINE_SPIN_UNLOCK=y
191# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
192CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
193# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
194# CONFIG_INLINE_READ_TRYLOCK is not set
195# CONFIG_INLINE_READ_LOCK is not set
196# CONFIG_INLINE_READ_LOCK_BH is not set
197# CONFIG_INLINE_READ_LOCK_IRQ is not set
198# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
199CONFIG_INLINE_READ_UNLOCK=y
200# CONFIG_INLINE_READ_UNLOCK_BH is not set
201CONFIG_INLINE_READ_UNLOCK_IRQ=y
202# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
203# CONFIG_INLINE_WRITE_TRYLOCK is not set
204# CONFIG_INLINE_WRITE_LOCK is not set
205# CONFIG_INLINE_WRITE_LOCK_BH is not set
206# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
207# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
208CONFIG_INLINE_WRITE_UNLOCK=y
209# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
210CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
211# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
212# CONFIG_MUTEX_SPIN_ON_OWNER is not set
156# CONFIG_FREEZER is not set 213# CONFIG_FREEZER is not set
157# CONFIG_PPC4xx_PCI_EXPRESS is not set 214# CONFIG_PPC4xx_PCI_EXPRESS is not set
158 215
@@ -166,6 +223,7 @@ CONFIG_CLASSIC_RCU=y
166# CONFIG_ACADIA is not set 223# CONFIG_ACADIA is not set
167# CONFIG_EP405 is not set 224# CONFIG_EP405 is not set
168CONFIG_HCU4=y 225CONFIG_HCU4=y
226# CONFIG_HOTFOOT is not set
169# CONFIG_KILAUEA is not set 227# CONFIG_KILAUEA is not set
170# CONFIG_MAKALU is not set 228# CONFIG_MAKALU is not set
171# CONFIG_WALNUT is not set 229# CONFIG_WALNUT is not set
@@ -208,10 +266,12 @@ CONFIG_BINFMT_ELF=y
208# CONFIG_BINFMT_MISC is not set 266# CONFIG_BINFMT_MISC is not set
209# CONFIG_MATH_EMULATION is not set 267# CONFIG_MATH_EMULATION is not set
210# CONFIG_IOMMU_HELPER is not set 268# CONFIG_IOMMU_HELPER is not set
211CONFIG_PPC_NEED_DMA_SYNC_OPS=y 269# CONFIG_SWIOTLB is not set
212CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 270CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
213CONFIG_ARCH_HAS_WALK_MEMORY=y 271CONFIG_ARCH_HAS_WALK_MEMORY=y
214CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 272CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
273CONFIG_SPARSE_IRQ=y
274CONFIG_MAX_ACTIVE_REGIONS=32
215CONFIG_ARCH_FLATMEM_ENABLE=y 275CONFIG_ARCH_FLATMEM_ENABLE=y
216CONFIG_ARCH_POPULATES_NODE_MAP=y 276CONFIG_ARCH_POPULATES_NODE_MAP=y
217CONFIG_SELECT_MEMORY_MODEL=y 277CONFIG_SELECT_MEMORY_MODEL=y
@@ -227,10 +287,12 @@ CONFIG_MIGRATION=y
227CONFIG_ZONE_DMA_FLAG=1 287CONFIG_ZONE_DMA_FLAG=1
228CONFIG_BOUNCE=y 288CONFIG_BOUNCE=y
229CONFIG_VIRT_TO_BUS=y 289CONFIG_VIRT_TO_BUS=y
230CONFIG_UNEVICTABLE_LRU=y 290# CONFIG_KSM is not set
291CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
231CONFIG_PPC_4K_PAGES=y 292CONFIG_PPC_4K_PAGES=y
232# CONFIG_PPC_16K_PAGES is not set 293# CONFIG_PPC_16K_PAGES is not set
233# CONFIG_PPC_64K_PAGES is not set 294# CONFIG_PPC_64K_PAGES is not set
295# CONFIG_PPC_256K_PAGES is not set
234CONFIG_FORCE_MAX_ZONEORDER=11 296CONFIG_FORCE_MAX_ZONEORDER=11
235CONFIG_PROC_DEVICETREE=y 297CONFIG_PROC_DEVICETREE=y
236# CONFIG_CMDLINE_BOOL is not set 298# CONFIG_CMDLINE_BOOL is not set
@@ -255,6 +317,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
255# CONFIG_PCI_LEGACY is not set 317# CONFIG_PCI_LEGACY is not set
256# CONFIG_PCI_DEBUG is not set 318# CONFIG_PCI_DEBUG is not set
257# CONFIG_PCI_STUB is not set 319# CONFIG_PCI_STUB is not set
320# CONFIG_PCI_IOV is not set
258# CONFIG_PCCARD is not set 321# CONFIG_PCCARD is not set
259# CONFIG_HOTPLUG_PCI is not set 322# CONFIG_HOTPLUG_PCI is not set
260# CONFIG_HAS_RAPIDIO is not set 323# CONFIG_HAS_RAPIDIO is not set
@@ -272,14 +335,12 @@ CONFIG_PAGE_OFFSET=0xc0000000
272CONFIG_KERNEL_START=0xc0000000 335CONFIG_KERNEL_START=0xc0000000
273CONFIG_PHYSICAL_START=0x00000000 336CONFIG_PHYSICAL_START=0x00000000
274CONFIG_TASK_SIZE=0xc0000000 337CONFIG_TASK_SIZE=0xc0000000
275CONFIG_CONSISTENT_START=0xff100000
276CONFIG_CONSISTENT_SIZE=0x00200000 338CONFIG_CONSISTENT_SIZE=0x00200000
277CONFIG_NET=y 339CONFIG_NET=y
278 340
279# 341#
280# Networking options 342# Networking options
281# 343#
282CONFIG_COMPAT_NET_DEV_OPS=y
283CONFIG_PACKET=y 344CONFIG_PACKET=y
284# CONFIG_PACKET_MMAP is not set 345# CONFIG_PACKET_MMAP is not set
285CONFIG_UNIX=y 346CONFIG_UNIX=y
@@ -316,6 +377,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
316# CONFIG_NETFILTER is not set 377# CONFIG_NETFILTER is not set
317# CONFIG_IP_DCCP is not set 378# CONFIG_IP_DCCP is not set
318# CONFIG_IP_SCTP is not set 379# CONFIG_IP_SCTP is not set
380# CONFIG_RDS is not set
319# CONFIG_TIPC is not set 381# CONFIG_TIPC is not set
320# CONFIG_ATM is not set 382# CONFIG_ATM is not set
321# CONFIG_BRIDGE is not set 383# CONFIG_BRIDGE is not set
@@ -329,6 +391,8 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
329# CONFIG_LAPB is not set 391# CONFIG_LAPB is not set
330# CONFIG_ECONET is not set 392# CONFIG_ECONET is not set
331# CONFIG_WAN_ROUTER is not set 393# CONFIG_WAN_ROUTER is not set
394# CONFIG_PHONET is not set
395# CONFIG_IEEE802154 is not set
332# CONFIG_NET_SCHED is not set 396# CONFIG_NET_SCHED is not set
333# CONFIG_DCB is not set 397# CONFIG_DCB is not set
334 398
@@ -341,8 +405,13 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
341# CONFIG_IRDA is not set 405# CONFIG_IRDA is not set
342# CONFIG_BT is not set 406# CONFIG_BT is not set
343# CONFIG_AF_RXRPC is not set 407# CONFIG_AF_RXRPC is not set
344# CONFIG_PHONET is not set 408CONFIG_WIRELESS=y
345# CONFIG_WIRELESS is not set 409# CONFIG_CFG80211 is not set
410# CONFIG_LIB80211 is not set
411
412#
413# CFG80211 needs to be enabled for MAC80211
414#
346# CONFIG_WIMAX is not set 415# CONFIG_WIMAX is not set
347# CONFIG_RFKILL is not set 416# CONFIG_RFKILL is not set
348# CONFIG_NET_9P is not set 417# CONFIG_NET_9P is not set
@@ -355,6 +424,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
355# Generic Driver Options 424# Generic Driver Options
356# 425#
357CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 426CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
427# CONFIG_DEVTMPFS is not set
358CONFIG_STANDALONE=y 428CONFIG_STANDALONE=y
359CONFIG_PREVENT_FIRMWARE_BUILD=y 429CONFIG_PREVENT_FIRMWARE_BUILD=y
360CONFIG_FW_LOADER=y 430CONFIG_FW_LOADER=y
@@ -367,9 +437,9 @@ CONFIG_CONNECTOR=y
367CONFIG_PROC_EVENTS=y 437CONFIG_PROC_EVENTS=y
368CONFIG_MTD=y 438CONFIG_MTD=y
369# CONFIG_MTD_DEBUG is not set 439# CONFIG_MTD_DEBUG is not set
440# CONFIG_MTD_TESTS is not set
370# CONFIG_MTD_CONCAT is not set 441# CONFIG_MTD_CONCAT is not set
371CONFIG_MTD_PARTITIONS=y 442CONFIG_MTD_PARTITIONS=y
372# CONFIG_MTD_TESTS is not set
373# CONFIG_MTD_REDBOOT_PARTS is not set 443# CONFIG_MTD_REDBOOT_PARTS is not set
374CONFIG_MTD_CMDLINE_PARTS=y 444CONFIG_MTD_CMDLINE_PARTS=y
375CONFIG_MTD_OF_PARTS=y 445CONFIG_MTD_OF_PARTS=y
@@ -445,7 +515,6 @@ CONFIG_MTD_PHYSMAP_OF=y
445# LPDDR flash memory drivers 515# LPDDR flash memory drivers
446# 516#
447# CONFIG_MTD_LPDDR is not set 517# CONFIG_MTD_LPDDR is not set
448# CONFIG_MTD_QINFO_PROBE is not set
449 518
450# 519#
451# UBI - Unsorted block images 520# UBI - Unsorted block images
@@ -461,6 +530,7 @@ CONFIG_BLK_DEV=y
461# CONFIG_BLK_DEV_UMEM is not set 530# CONFIG_BLK_DEV_UMEM is not set
462# CONFIG_BLK_DEV_COW_COMMON is not set 531# CONFIG_BLK_DEV_COW_COMMON is not set
463# CONFIG_BLK_DEV_LOOP is not set 532# CONFIG_BLK_DEV_LOOP is not set
533# CONFIG_BLK_DEV_DRBD is not set
464# CONFIG_BLK_DEV_NBD is not set 534# CONFIG_BLK_DEV_NBD is not set
465# CONFIG_BLK_DEV_SX8 is not set 535# CONFIG_BLK_DEV_SX8 is not set
466CONFIG_BLK_DEV_RAM=y 536CONFIG_BLK_DEV_RAM=y
@@ -473,12 +543,17 @@ CONFIG_BLK_DEV_RAM_SIZE=35000
473# CONFIG_BLK_DEV_HD is not set 543# CONFIG_BLK_DEV_HD is not set
474CONFIG_MISC_DEVICES=y 544CONFIG_MISC_DEVICES=y
475# CONFIG_PHANTOM is not set 545# CONFIG_PHANTOM is not set
476# CONFIG_EEPROM_93CX6 is not set
477# CONFIG_SGI_IOC4 is not set 546# CONFIG_SGI_IOC4 is not set
478# CONFIG_TIFM_CORE is not set 547# CONFIG_TIFM_CORE is not set
479# CONFIG_ENCLOSURE_SERVICES is not set 548# CONFIG_ENCLOSURE_SERVICES is not set
480# CONFIG_HP_ILO is not set 549# CONFIG_HP_ILO is not set
481# CONFIG_C2PORT is not set 550# CONFIG_C2PORT is not set
551
552#
553# EEPROM support
554#
555# CONFIG_EEPROM_93CX6 is not set
556# CONFIG_CB710_CORE is not set
482CONFIG_HAVE_IDE=y 557CONFIG_HAVE_IDE=y
483# CONFIG_IDE is not set 558# CONFIG_IDE is not set
484 559
@@ -498,7 +573,11 @@ CONFIG_HAVE_IDE=y
498# 573#
499 574
500# 575#
501# Enable only one of the two stacks, unless you know what you are doing 576# You can enable one or both FireWire driver stacks.
577#
578
579#
580# See the help texts for more information.
502# 581#
503# CONFIG_FIREWIRE is not set 582# CONFIG_FIREWIRE is not set
504# CONFIG_IEEE1394 is not set 583# CONFIG_IEEE1394 is not set
@@ -519,6 +598,8 @@ CONFIG_NET_ETHERNET=y
519# CONFIG_SUNGEM is not set 598# CONFIG_SUNGEM is not set
520# CONFIG_CASSINI is not set 599# CONFIG_CASSINI is not set
521# CONFIG_NET_VENDOR_3COM is not set 600# CONFIG_NET_VENDOR_3COM is not set
601# CONFIG_ETHOC is not set
602# CONFIG_DNET is not set
522# CONFIG_NET_TULIP is not set 603# CONFIG_NET_TULIP is not set
523# CONFIG_HP100 is not set 604# CONFIG_HP100 is not set
524CONFIG_IBM_NEW_EMAC=y 605CONFIG_IBM_NEW_EMAC=y
@@ -537,7 +618,10 @@ CONFIG_IBM_NEW_EMAC_RX_SKB_HEADROOM=0
537# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set 618# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
538# CONFIG_NET_PCI is not set 619# CONFIG_NET_PCI is not set
539# CONFIG_B44 is not set 620# CONFIG_B44 is not set
621# CONFIG_KS8842 is not set
622# CONFIG_KS8851_MLL is not set
540# CONFIG_ATL2 is not set 623# CONFIG_ATL2 is not set
624# CONFIG_XILINX_EMACLITE is not set
541CONFIG_NETDEV_1000=y 625CONFIG_NETDEV_1000=y
542# CONFIG_ACENIC is not set 626# CONFIG_ACENIC is not set
543# CONFIG_DL2K is not set 627# CONFIG_DL2K is not set
@@ -545,6 +629,7 @@ CONFIG_NETDEV_1000=y
545# CONFIG_E1000E is not set 629# CONFIG_E1000E is not set
546# CONFIG_IP1000 is not set 630# CONFIG_IP1000 is not set
547# CONFIG_IGB is not set 631# CONFIG_IGB is not set
632# CONFIG_IGBVF is not set
548# CONFIG_NS83820 is not set 633# CONFIG_NS83820 is not set
549# CONFIG_HAMACHI is not set 634# CONFIG_HAMACHI is not set
550# CONFIG_YELLOWFIN is not set 635# CONFIG_YELLOWFIN is not set
@@ -555,9 +640,13 @@ CONFIG_NETDEV_1000=y
555# CONFIG_VIA_VELOCITY is not set 640# CONFIG_VIA_VELOCITY is not set
556# CONFIG_TIGON3 is not set 641# CONFIG_TIGON3 is not set
557# CONFIG_BNX2 is not set 642# CONFIG_BNX2 is not set
643# CONFIG_CNIC is not set
644# CONFIG_MV643XX_ETH is not set
645# CONFIG_XILINX_LL_TEMAC is not set
558# CONFIG_QLA3XXX is not set 646# CONFIG_QLA3XXX is not set
559# CONFIG_ATL1 is not set 647# CONFIG_ATL1 is not set
560# CONFIG_ATL1E is not set 648# CONFIG_ATL1E is not set
649# CONFIG_ATL1C is not set
561# CONFIG_JME is not set 650# CONFIG_JME is not set
562CONFIG_NETDEV_10000=y 651CONFIG_NETDEV_10000=y
563# CONFIG_CHELSIO_T1 is not set 652# CONFIG_CHELSIO_T1 is not set
@@ -567,6 +656,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
567# CONFIG_IXGBE is not set 656# CONFIG_IXGBE is not set
568# CONFIG_IXGB is not set 657# CONFIG_IXGB is not set
569# CONFIG_S2IO is not set 658# CONFIG_S2IO is not set
659# CONFIG_VXGE is not set
570# CONFIG_MYRI10GE is not set 660# CONFIG_MYRI10GE is not set
571# CONFIG_NETXEN_NIC is not set 661# CONFIG_NETXEN_NIC is not set
572# CONFIG_NIU is not set 662# CONFIG_NIU is not set
@@ -576,14 +666,13 @@ CONFIG_CHELSIO_T3_DEPENDS=y
576# CONFIG_BNX2X is not set 666# CONFIG_BNX2X is not set
577# CONFIG_QLGE is not set 667# CONFIG_QLGE is not set
578# CONFIG_SFC is not set 668# CONFIG_SFC is not set
669# CONFIG_BE2NET is not set
579# CONFIG_TR is not set 670# CONFIG_TR is not set
580 671CONFIG_WLAN=y
581# 672# CONFIG_AIRO is not set
582# Wireless LAN 673# CONFIG_ATMEL is not set
583# 674# CONFIG_PRISM54 is not set
584# CONFIG_WLAN_PRE80211 is not set 675# CONFIG_HOSTAP is not set
585# CONFIG_WLAN_80211 is not set
586# CONFIG_IWLWIFI_LEDS is not set
587 676
588# 677#
589# Enable WiMAX (Networking options) to see the WiMAX drivers 678# Enable WiMAX (Networking options) to see the WiMAX drivers
@@ -596,6 +685,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
596# CONFIG_NETCONSOLE is not set 685# CONFIG_NETCONSOLE is not set
597# CONFIG_NETPOLL is not set 686# CONFIG_NETPOLL is not set
598# CONFIG_NET_POLL_CONTROLLER is not set 687# CONFIG_NET_POLL_CONTROLLER is not set
688# CONFIG_VMXNET3 is not set
599# CONFIG_ISDN is not set 689# CONFIG_ISDN is not set
600# CONFIG_PHONE is not set 690# CONFIG_PHONE is not set
601 691
@@ -641,6 +731,7 @@ CONFIG_SERIAL_CORE_CONSOLE=y
641# CONFIG_SERIAL_JSM is not set 731# CONFIG_SERIAL_JSM is not set
642CONFIG_SERIAL_OF_PLATFORM=y 732CONFIG_SERIAL_OF_PLATFORM=y
643# CONFIG_SERIAL_OF_PLATFORM_NWPSERIAL is not set 733# CONFIG_SERIAL_OF_PLATFORM_NWPSERIAL is not set
734# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set
644CONFIG_UNIX98_PTYS=y 735CONFIG_UNIX98_PTYS=y
645# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set 736# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
646CONFIG_LEGACY_PTYS=y 737CONFIG_LEGACY_PTYS=y
@@ -657,13 +748,17 @@ CONFIG_LEGACY_PTY_COUNT=256
657CONFIG_DEVPORT=y 748CONFIG_DEVPORT=y
658# CONFIG_I2C is not set 749# CONFIG_I2C is not set
659# CONFIG_SPI is not set 750# CONFIG_SPI is not set
751
752#
753# PPS support
754#
755# CONFIG_PPS is not set
660CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y 756CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
661# CONFIG_GPIOLIB is not set 757# CONFIG_GPIOLIB is not set
662# CONFIG_W1 is not set 758# CONFIG_W1 is not set
663# CONFIG_POWER_SUPPLY is not set 759# CONFIG_POWER_SUPPLY is not set
664# CONFIG_HWMON is not set 760# CONFIG_HWMON is not set
665# CONFIG_THERMAL is not set 761# CONFIG_THERMAL is not set
666# CONFIG_THERMAL_HWMON is not set
667# CONFIG_WATCHDOG is not set 762# CONFIG_WATCHDOG is not set
668CONFIG_SSB_POSSIBLE=y 763CONFIG_SSB_POSSIBLE=y
669 764
@@ -680,27 +775,13 @@ CONFIG_SSB_POSSIBLE=y
680# CONFIG_HTC_PASIC3 is not set 775# CONFIG_HTC_PASIC3 is not set
681# CONFIG_MFD_TMIO is not set 776# CONFIG_MFD_TMIO is not set
682# CONFIG_REGULATOR is not set 777# CONFIG_REGULATOR is not set
683 778# CONFIG_MEDIA_SUPPORT is not set
684#
685# Multimedia devices
686#
687
688#
689# Multimedia core support
690#
691# CONFIG_VIDEO_DEV is not set
692# CONFIG_DVB_CORE is not set
693# CONFIG_VIDEO_MEDIA is not set
694
695#
696# Multimedia drivers
697#
698# CONFIG_DAB is not set
699 779
700# 780#
701# Graphics support 781# Graphics support
702# 782#
703# CONFIG_AGP is not set 783# CONFIG_AGP is not set
784CONFIG_VGA_ARB=y
704# CONFIG_DRM is not set 785# CONFIG_DRM is not set
705# CONFIG_VGASTATE is not set 786# CONFIG_VGASTATE is not set
706CONFIG_VIDEO_OUTPUT_CONTROL=m 787CONFIG_VIDEO_OUTPUT_CONTROL=m
@@ -722,7 +803,12 @@ CONFIG_VIDEO_OUTPUT_CONTROL=m
722# CONFIG_EDAC is not set 803# CONFIG_EDAC is not set
723# CONFIG_RTC_CLASS is not set 804# CONFIG_RTC_CLASS is not set
724# CONFIG_DMADEVICES is not set 805# CONFIG_DMADEVICES is not set
806# CONFIG_AUXDISPLAY is not set
725# CONFIG_UIO is not set 807# CONFIG_UIO is not set
808
809#
810# TI VLYNQ
811#
726# CONFIG_STAGING is not set 812# CONFIG_STAGING is not set
727 813
728# 814#
@@ -733,14 +819,17 @@ CONFIG_EXT2_FS=y
733# CONFIG_EXT2_FS_XIP is not set 819# CONFIG_EXT2_FS_XIP is not set
734# CONFIG_EXT3_FS is not set 820# CONFIG_EXT3_FS is not set
735# CONFIG_EXT4_FS is not set 821# CONFIG_EXT4_FS is not set
822CONFIG_EXT4_USE_FOR_EXT23=y
736# CONFIG_REISERFS_FS is not set 823# CONFIG_REISERFS_FS is not set
737# CONFIG_JFS_FS is not set 824# CONFIG_JFS_FS is not set
738# CONFIG_FS_POSIX_ACL is not set 825# CONFIG_FS_POSIX_ACL is not set
739CONFIG_FILE_LOCKING=y
740# CONFIG_XFS_FS is not set 826# CONFIG_XFS_FS is not set
741# CONFIG_GFS2_FS is not set 827# CONFIG_GFS2_FS is not set
742# CONFIG_OCFS2_FS is not set 828# CONFIG_OCFS2_FS is not set
743# CONFIG_BTRFS_FS is not set 829# CONFIG_BTRFS_FS is not set
830# CONFIG_NILFS2_FS is not set
831CONFIG_FILE_LOCKING=y
832CONFIG_FSNOTIFY=y
744CONFIG_DNOTIFY=y 833CONFIG_DNOTIFY=y
745CONFIG_INOTIFY=y 834CONFIG_INOTIFY=y
746CONFIG_INOTIFY_USER=y 835CONFIG_INOTIFY_USER=y
@@ -750,6 +839,11 @@ CONFIG_INOTIFY_USER=y
750# CONFIG_FUSE_FS is not set 839# CONFIG_FUSE_FS is not set
751 840
752# 841#
842# Caches
843#
844# CONFIG_FSCACHE is not set
845
846#
753# CD-ROM/DVD Filesystems 847# CD-ROM/DVD Filesystems
754# 848#
755# CONFIG_ISO9660_FS is not set 849# CONFIG_ISO9660_FS is not set
@@ -804,7 +898,6 @@ CONFIG_LOCKD=y
804CONFIG_LOCKD_V4=y 898CONFIG_LOCKD_V4=y
805CONFIG_NFS_COMMON=y 899CONFIG_NFS_COMMON=y
806CONFIG_SUNRPC=y 900CONFIG_SUNRPC=y
807# CONFIG_SUNRPC_REGISTER_V4 is not set
808# CONFIG_RPCSEC_GSS_KRB5 is not set 901# CONFIG_RPCSEC_GSS_KRB5 is not set
809# CONFIG_RPCSEC_GSS_SPKM3 is not set 902# CONFIG_RPCSEC_GSS_SPKM3 is not set
810# CONFIG_SMB_FS is not set 903# CONFIG_SMB_FS is not set
@@ -820,6 +913,7 @@ CONFIG_SUNRPC=y
820CONFIG_MSDOS_PARTITION=y 913CONFIG_MSDOS_PARTITION=y
821# CONFIG_NLS is not set 914# CONFIG_NLS is not set
822# CONFIG_DLM is not set 915# CONFIG_DLM is not set
916# CONFIG_BINARY_PRINTF is not set
823 917
824# 918#
825# Library routines 919# Library routines
@@ -834,11 +928,13 @@ CONFIG_CRC32=y
834# CONFIG_CRC7 is not set 928# CONFIG_CRC7 is not set
835# CONFIG_LIBCRC32C is not set 929# CONFIG_LIBCRC32C is not set
836CONFIG_ZLIB_INFLATE=y 930CONFIG_ZLIB_INFLATE=y
837CONFIG_PLIST=y 931CONFIG_DECOMPRESS_GZIP=y
838CONFIG_HAS_IOMEM=y 932CONFIG_HAS_IOMEM=y
839CONFIG_HAS_IOPORT=y 933CONFIG_HAS_IOPORT=y
840CONFIG_HAS_DMA=y 934CONFIG_HAS_DMA=y
841CONFIG_HAVE_LMB=y 935CONFIG_HAVE_LMB=y
936CONFIG_NLATTR=y
937CONFIG_GENERIC_ATOMIC64=y
842 938
843# 939#
844# Kernel hacking 940# Kernel hacking
@@ -848,6 +944,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
848CONFIG_ENABLE_MUST_CHECK=y 944CONFIG_ENABLE_MUST_CHECK=y
849CONFIG_FRAME_WARN=1024 945CONFIG_FRAME_WARN=1024
850CONFIG_MAGIC_SYSRQ=y 946CONFIG_MAGIC_SYSRQ=y
947# CONFIG_STRIP_ASM_SYMS is not set
851# CONFIG_UNUSED_SYMBOLS is not set 948# CONFIG_UNUSED_SYMBOLS is not set
852CONFIG_DEBUG_FS=y 949CONFIG_DEBUG_FS=y
853# CONFIG_HEADERS_CHECK is not set 950# CONFIG_HEADERS_CHECK is not set
@@ -856,16 +953,23 @@ CONFIG_DEBUG_KERNEL=y
856CONFIG_DETECT_SOFTLOCKUP=y 953CONFIG_DETECT_SOFTLOCKUP=y
857# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set 954# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
858CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 955CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
956CONFIG_DETECT_HUNG_TASK=y
957# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
958CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
859CONFIG_SCHED_DEBUG=y 959CONFIG_SCHED_DEBUG=y
860# CONFIG_SCHEDSTATS is not set 960# CONFIG_SCHEDSTATS is not set
861# CONFIG_TIMER_STATS is not set 961# CONFIG_TIMER_STATS is not set
862# CONFIG_DEBUG_OBJECTS is not set 962# CONFIG_DEBUG_OBJECTS is not set
863# CONFIG_SLUB_DEBUG_ON is not set 963# CONFIG_SLUB_DEBUG_ON is not set
864# CONFIG_SLUB_STATS is not set 964# CONFIG_SLUB_STATS is not set
965# CONFIG_DEBUG_KMEMLEAK is not set
865# CONFIG_DEBUG_RT_MUTEXES is not set 966# CONFIG_DEBUG_RT_MUTEXES is not set
866# CONFIG_RT_MUTEX_TESTER is not set 967# CONFIG_RT_MUTEX_TESTER is not set
867# CONFIG_DEBUG_SPINLOCK is not set 968# CONFIG_DEBUG_SPINLOCK is not set
868# CONFIG_DEBUG_MUTEXES is not set 969# CONFIG_DEBUG_MUTEXES is not set
970# CONFIG_DEBUG_LOCK_ALLOC is not set
971# CONFIG_PROVE_LOCKING is not set
972# CONFIG_LOCK_STAT is not set
869# CONFIG_DEBUG_SPINLOCK_SLEEP is not set 973# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
870# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set 974# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
871# CONFIG_DEBUG_KOBJECT is not set 975# CONFIG_DEBUG_KOBJECT is not set
@@ -877,35 +981,45 @@ CONFIG_DEBUG_BUGVERBOSE=y
877# CONFIG_DEBUG_LIST is not set 981# CONFIG_DEBUG_LIST is not set
878# CONFIG_DEBUG_SG is not set 982# CONFIG_DEBUG_SG is not set
879# CONFIG_DEBUG_NOTIFIERS is not set 983# CONFIG_DEBUG_NOTIFIERS is not set
880# CONFIG_BOOT_PRINTK_DELAY is not set 984# CONFIG_DEBUG_CREDENTIALS is not set
881# CONFIG_RCU_TORTURE_TEST is not set 985# CONFIG_RCU_TORTURE_TEST is not set
882# CONFIG_RCU_CPU_STALL_DETECTOR is not set 986# CONFIG_RCU_CPU_STALL_DETECTOR is not set
883# CONFIG_BACKTRACE_SELF_TEST is not set 987# CONFIG_BACKTRACE_SELF_TEST is not set
884# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set 988# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
989# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
885# CONFIG_FAULT_INJECTION is not set 990# CONFIG_FAULT_INJECTION is not set
886# CONFIG_LATENCYTOP is not set 991# CONFIG_LATENCYTOP is not set
887CONFIG_SYSCTL_SYSCALL_CHECK=y 992CONFIG_SYSCTL_SYSCALL_CHECK=y
993# CONFIG_DEBUG_PAGEALLOC is not set
888CONFIG_HAVE_FUNCTION_TRACER=y 994CONFIG_HAVE_FUNCTION_TRACER=y
995CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
889CONFIG_HAVE_DYNAMIC_FTRACE=y 996CONFIG_HAVE_DYNAMIC_FTRACE=y
890CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 997CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
891 998CONFIG_TRACING_SUPPORT=y
892# 999CONFIG_FTRACE=y
893# Tracers
894#
895# CONFIG_FUNCTION_TRACER is not set 1000# CONFIG_FUNCTION_TRACER is not set
1001# CONFIG_IRQSOFF_TRACER is not set
896# CONFIG_SCHED_TRACER is not set 1002# CONFIG_SCHED_TRACER is not set
897# CONFIG_CONTEXT_SWITCH_TRACER is not set 1003# CONFIG_ENABLE_DEFAULT_TRACERS is not set
898# CONFIG_BOOT_TRACER is not set 1004# CONFIG_BOOT_TRACER is not set
899# CONFIG_TRACE_BRANCH_PROFILING is not set 1005CONFIG_BRANCH_PROFILE_NONE=y
1006# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
1007# CONFIG_PROFILE_ALL_BRANCHES is not set
900# CONFIG_STACK_TRACER is not set 1008# CONFIG_STACK_TRACER is not set
901# CONFIG_DYNAMIC_PRINTK_DEBUG is not set 1009# CONFIG_KMEMTRACE is not set
1010# CONFIG_WORKQUEUE_TRACER is not set
1011# CONFIG_BLK_DEV_IO_TRACE is not set
1012# CONFIG_DYNAMIC_DEBUG is not set
1013# CONFIG_DMA_API_DEBUG is not set
902# CONFIG_SAMPLES is not set 1014# CONFIG_SAMPLES is not set
903CONFIG_HAVE_ARCH_KGDB=y 1015CONFIG_HAVE_ARCH_KGDB=y
904# CONFIG_KGDB is not set 1016# CONFIG_KGDB is not set
1017# CONFIG_PPC_DISABLE_WERROR is not set
1018CONFIG_PPC_WERROR=y
905CONFIG_PRINT_STACK_DEPTH=64 1019CONFIG_PRINT_STACK_DEPTH=64
906# CONFIG_DEBUG_STACKOVERFLOW is not set 1020# CONFIG_DEBUG_STACKOVERFLOW is not set
907# CONFIG_DEBUG_STACK_USAGE is not set 1021# CONFIG_DEBUG_STACK_USAGE is not set
908# CONFIG_DEBUG_PAGEALLOC is not set 1022# CONFIG_PPC_EMULATED_STATS is not set
909# CONFIG_CODE_PATCHING_SELFTEST is not set 1023# CONFIG_CODE_PATCHING_SELFTEST is not set
910# CONFIG_FTR_FIXUP_SELFTEST is not set 1024# CONFIG_FTR_FIXUP_SELFTEST is not set
911# CONFIG_MSI_BITMAP_SELFTEST is not set 1025# CONFIG_MSI_BITMAP_SELFTEST is not set
@@ -921,13 +1035,16 @@ CONFIG_PRINT_STACK_DEPTH=64
921# CONFIG_KEYS is not set 1035# CONFIG_KEYS is not set
922# CONFIG_SECURITY is not set 1036# CONFIG_SECURITY is not set
923# CONFIG_SECURITYFS is not set 1037# CONFIG_SECURITYFS is not set
924# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1038# CONFIG_DEFAULT_SECURITY_SELINUX is not set
1039# CONFIG_DEFAULT_SECURITY_SMACK is not set
1040# CONFIG_DEFAULT_SECURITY_TOMOYO is not set
1041CONFIG_DEFAULT_SECURITY_DAC=y
1042CONFIG_DEFAULT_SECURITY=""
925CONFIG_CRYPTO=y 1043CONFIG_CRYPTO=y
926 1044
927# 1045#
928# Crypto core or helper 1046# Crypto core or helper
929# 1047#
930# CONFIG_CRYPTO_FIPS is not set
931CONFIG_CRYPTO_ALGAPI=y 1048CONFIG_CRYPTO_ALGAPI=y
932CONFIG_CRYPTO_ALGAPI2=y 1049CONFIG_CRYPTO_ALGAPI2=y
933CONFIG_CRYPTO_AEAD2=y 1050CONFIG_CRYPTO_AEAD2=y
@@ -936,10 +1053,12 @@ CONFIG_CRYPTO_BLKCIPHER2=y
936CONFIG_CRYPTO_HASH=y 1053CONFIG_CRYPTO_HASH=y
937CONFIG_CRYPTO_HASH2=y 1054CONFIG_CRYPTO_HASH2=y
938CONFIG_CRYPTO_RNG2=y 1055CONFIG_CRYPTO_RNG2=y
1056CONFIG_CRYPTO_PCOMP=y
939CONFIG_CRYPTO_MANAGER=y 1057CONFIG_CRYPTO_MANAGER=y
940CONFIG_CRYPTO_MANAGER2=y 1058CONFIG_CRYPTO_MANAGER2=y
941# CONFIG_CRYPTO_GF128MUL is not set 1059# CONFIG_CRYPTO_GF128MUL is not set
942# CONFIG_CRYPTO_NULL is not set 1060# CONFIG_CRYPTO_NULL is not set
1061CONFIG_CRYPTO_WORKQUEUE=y
943# CONFIG_CRYPTO_CRYPTD is not set 1062# CONFIG_CRYPTO_CRYPTD is not set
944# CONFIG_CRYPTO_AUTHENC is not set 1063# CONFIG_CRYPTO_AUTHENC is not set
945# CONFIG_CRYPTO_TEST is not set 1064# CONFIG_CRYPTO_TEST is not set
@@ -967,11 +1086,13 @@ CONFIG_CRYPTO_PCBC=y
967# 1086#
968# CONFIG_CRYPTO_HMAC is not set 1087# CONFIG_CRYPTO_HMAC is not set
969# CONFIG_CRYPTO_XCBC is not set 1088# CONFIG_CRYPTO_XCBC is not set
1089# CONFIG_CRYPTO_VMAC is not set
970 1090
971# 1091#
972# Digest 1092# Digest
973# 1093#
974# CONFIG_CRYPTO_CRC32C is not set 1094# CONFIG_CRYPTO_CRC32C is not set
1095# CONFIG_CRYPTO_GHASH is not set
975# CONFIG_CRYPTO_MD4 is not set 1096# CONFIG_CRYPTO_MD4 is not set
976CONFIG_CRYPTO_MD5=y 1097CONFIG_CRYPTO_MD5=y
977# CONFIG_CRYPTO_MICHAEL_MIC is not set 1098# CONFIG_CRYPTO_MICHAEL_MIC is not set
@@ -1008,6 +1129,7 @@ CONFIG_CRYPTO_DES=y
1008# Compression 1129# Compression
1009# 1130#
1010# CONFIG_CRYPTO_DEFLATE is not set 1131# CONFIG_CRYPTO_DEFLATE is not set
1132# CONFIG_CRYPTO_ZLIB is not set
1011# CONFIG_CRYPTO_LZO is not set 1133# CONFIG_CRYPTO_LZO is not set
1012 1134
1013# 1135#
@@ -1016,5 +1138,6 @@ CONFIG_CRYPTO_DES=y
1016# CONFIG_CRYPTO_ANSI_CPRNG is not set 1138# CONFIG_CRYPTO_ANSI_CPRNG is not set
1017CONFIG_CRYPTO_HW=y 1139CONFIG_CRYPTO_HW=y
1018# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1140# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1141# CONFIG_CRYPTO_DEV_PPC4XX is not set
1019# CONFIG_PPC_CLOCK is not set 1142# CONFIG_PPC_CLOCK is not set
1020# CONFIG_VIRTUALIZATION is not set 1143# CONFIG_VIRTUALIZATION is not set
diff --git a/arch/powerpc/configs/40x/kilauea_defconfig b/arch/powerpc/configs/40x/kilauea_defconfig
index 9a05ec0ec312..4d2de0bed60e 100644
--- a/arch/powerpc/configs/40x/kilauea_defconfig
+++ b/arch/powerpc/configs/40x/kilauea_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-rc4 3# Linux kernel version: 2.6.33-rc1
4# Wed Jul 29 13:28:37 2009 4# Mon Jan 4 15:51:23 2010
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -16,6 +16,7 @@ CONFIG_40x=y
16# CONFIG_E200 is not set 16# CONFIG_E200 is not set
17CONFIG_4xx=y 17CONFIG_4xx=y
18CONFIG_PPC_MMU_NOHASH=y 18CONFIG_PPC_MMU_NOHASH=y
19CONFIG_PPC_MMU_NOHASH_32=y
19# CONFIG_PPC_MM_SLICES is not set 20# CONFIG_PPC_MM_SLICES is not set
20CONFIG_NOT_COHERENT_CACHE=y 21CONFIG_NOT_COHERENT_CACHE=y
21CONFIG_PPC32=y 22CONFIG_PPC32=y
@@ -29,7 +30,9 @@ CONFIG_GENERIC_CLOCKEVENTS=y
29CONFIG_GENERIC_HARDIRQS=y 30CONFIG_GENERIC_HARDIRQS=y
30CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y 31CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
31# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 32# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
33# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
32CONFIG_IRQ_PER_CPU=y 34CONFIG_IRQ_PER_CPU=y
35CONFIG_NR_IRQS=512
33CONFIG_STACKTRACE_SUPPORT=y 36CONFIG_STACKTRACE_SUPPORT=y
34CONFIG_HAVE_LATENCYTOP_SUPPORT=y 37CONFIG_HAVE_LATENCYTOP_SUPPORT=y
35CONFIG_TRACE_IRQFLAGS_SUPPORT=y 38CONFIG_TRACE_IRQFLAGS_SUPPORT=y
@@ -52,6 +55,7 @@ CONFIG_AUDIT_ARCH=y
52CONFIG_GENERIC_BUG=y 55CONFIG_GENERIC_BUG=y
53CONFIG_DTC=y 56CONFIG_DTC=y
54# CONFIG_DEFAULT_UIMAGE is not set 57# CONFIG_DEFAULT_UIMAGE is not set
58CONFIG_ARCH_HIBERNATION_POSSIBLE=y
55CONFIG_PPC_DCR_NATIVE=y 59CONFIG_PPC_DCR_NATIVE=y
56# CONFIG_PPC_DCR_MMIO is not set 60# CONFIG_PPC_DCR_MMIO is not set
57CONFIG_PPC_DCR=y 61CONFIG_PPC_DCR=y
@@ -79,11 +83,13 @@ CONFIG_POSIX_MQUEUE_SYSCTL=y
79# 83#
80# RCU Subsystem 84# RCU Subsystem
81# 85#
82CONFIG_CLASSIC_RCU=y 86CONFIG_TREE_RCU=y
83# CONFIG_TREE_RCU is not set 87# CONFIG_TREE_PREEMPT_RCU is not set
84# CONFIG_PREEMPT_RCU is not set 88# CONFIG_TINY_RCU is not set
89# CONFIG_RCU_TRACE is not set
90CONFIG_RCU_FANOUT=32
91# CONFIG_RCU_FANOUT_EXACT is not set
85# CONFIG_TREE_RCU_TRACE is not set 92# CONFIG_TREE_RCU_TRACE is not set
86# CONFIG_PREEMPT_RCU_TRACE is not set
87# CONFIG_IKCONFIG is not set 93# CONFIG_IKCONFIG is not set
88CONFIG_LOG_BUF_SHIFT=14 94CONFIG_LOG_BUF_SHIFT=14
89CONFIG_GROUP_SCHED=y 95CONFIG_GROUP_SCHED=y
@@ -92,8 +98,7 @@ CONFIG_GROUP_SCHED=y
92CONFIG_USER_SCHED=y 98CONFIG_USER_SCHED=y
93# CONFIG_CGROUP_SCHED is not set 99# CONFIG_CGROUP_SCHED is not set
94# CONFIG_CGROUPS is not set 100# CONFIG_CGROUPS is not set
95CONFIG_SYSFS_DEPRECATED=y 101# CONFIG_SYSFS_DEPRECATED_V2 is not set
96CONFIG_SYSFS_DEPRECATED_V2=y
97# CONFIG_RELAY is not set 102# CONFIG_RELAY is not set
98# CONFIG_NAMESPACES is not set 103# CONFIG_NAMESPACES is not set
99CONFIG_BLK_DEV_INITRD=y 104CONFIG_BLK_DEV_INITRD=y
@@ -121,22 +126,21 @@ CONFIG_TIMERFD=y
121CONFIG_EVENTFD=y 126CONFIG_EVENTFD=y
122CONFIG_SHMEM=y 127CONFIG_SHMEM=y
123CONFIG_AIO=y 128CONFIG_AIO=y
124CONFIG_HAVE_PERF_COUNTERS=y 129CONFIG_HAVE_PERF_EVENTS=y
125 130
126# 131#
127# Performance Counters 132# Kernel Performance Events And Counters
128# 133#
134# CONFIG_PERF_EVENTS is not set
129# CONFIG_PERF_COUNTERS is not set 135# CONFIG_PERF_COUNTERS is not set
130CONFIG_VM_EVENT_COUNTERS=y 136CONFIG_VM_EVENT_COUNTERS=y
131CONFIG_PCI_QUIRKS=y 137CONFIG_PCI_QUIRKS=y
132CONFIG_SLUB_DEBUG=y 138CONFIG_SLUB_DEBUG=y
133# CONFIG_STRIP_ASM_SYMS is not set
134CONFIG_COMPAT_BRK=y 139CONFIG_COMPAT_BRK=y
135# CONFIG_SLAB is not set 140# CONFIG_SLAB is not set
136CONFIG_SLUB=y 141CONFIG_SLUB=y
137# CONFIG_SLOB is not set 142# CONFIG_SLOB is not set
138# CONFIG_PROFILING is not set 143# CONFIG_PROFILING is not set
139# CONFIG_MARKERS is not set
140CONFIG_HAVE_OPROFILE=y 144CONFIG_HAVE_OPROFILE=y
141# CONFIG_KPROBES is not set 145# CONFIG_KPROBES is not set
142CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 146CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
@@ -144,6 +148,8 @@ CONFIG_HAVE_IOREMAP_PROT=y
144CONFIG_HAVE_KPROBES=y 148CONFIG_HAVE_KPROBES=y
145CONFIG_HAVE_KRETPROBES=y 149CONFIG_HAVE_KRETPROBES=y
146CONFIG_HAVE_ARCH_TRACEHOOK=y 150CONFIG_HAVE_ARCH_TRACEHOOK=y
151CONFIG_HAVE_DMA_ATTRS=y
152CONFIG_HAVE_DMA_API_DEBUG=y
147 153
148# 154#
149# GCOV-based kernel profiling 155# GCOV-based kernel profiling
@@ -169,14 +175,41 @@ CONFIG_LBDAF=y
169# IO Schedulers 175# IO Schedulers
170# 176#
171CONFIG_IOSCHED_NOOP=y 177CONFIG_IOSCHED_NOOP=y
172CONFIG_IOSCHED_AS=y
173CONFIG_IOSCHED_DEADLINE=y 178CONFIG_IOSCHED_DEADLINE=y
174CONFIG_IOSCHED_CFQ=y 179CONFIG_IOSCHED_CFQ=y
175CONFIG_DEFAULT_AS=y
176# CONFIG_DEFAULT_DEADLINE is not set 180# CONFIG_DEFAULT_DEADLINE is not set
177# CONFIG_DEFAULT_CFQ is not set 181CONFIG_DEFAULT_CFQ=y
178# CONFIG_DEFAULT_NOOP is not set 182# CONFIG_DEFAULT_NOOP is not set
179CONFIG_DEFAULT_IOSCHED="anticipatory" 183CONFIG_DEFAULT_IOSCHED="cfq"
184# CONFIG_INLINE_SPIN_TRYLOCK is not set
185# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
186# CONFIG_INLINE_SPIN_LOCK is not set
187# CONFIG_INLINE_SPIN_LOCK_BH is not set
188# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
189# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
190CONFIG_INLINE_SPIN_UNLOCK=y
191# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
192CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
193# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
194# CONFIG_INLINE_READ_TRYLOCK is not set
195# CONFIG_INLINE_READ_LOCK is not set
196# CONFIG_INLINE_READ_LOCK_BH is not set
197# CONFIG_INLINE_READ_LOCK_IRQ is not set
198# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
199CONFIG_INLINE_READ_UNLOCK=y
200# CONFIG_INLINE_READ_UNLOCK_BH is not set
201CONFIG_INLINE_READ_UNLOCK_IRQ=y
202# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
203# CONFIG_INLINE_WRITE_TRYLOCK is not set
204# CONFIG_INLINE_WRITE_LOCK is not set
205# CONFIG_INLINE_WRITE_LOCK_BH is not set
206# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
207# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
208CONFIG_INLINE_WRITE_UNLOCK=y
209# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
210CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
211# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
212# CONFIG_MUTEX_SPIN_ON_OWNER is not set
180# CONFIG_FREEZER is not set 213# CONFIG_FREEZER is not set
181CONFIG_PPC4xx_PCI_EXPRESS=y 214CONFIG_PPC4xx_PCI_EXPRESS=y
182 215
@@ -190,6 +223,7 @@ CONFIG_PPC4xx_PCI_EXPRESS=y
190# CONFIG_ACADIA is not set 223# CONFIG_ACADIA is not set
191# CONFIG_EP405 is not set 224# CONFIG_EP405 is not set
192# CONFIG_HCU4 is not set 225# CONFIG_HCU4 is not set
226# CONFIG_HOTFOOT is not set
193CONFIG_KILAUEA=y 227CONFIG_KILAUEA=y
194# CONFIG_MAKALU is not set 228# CONFIG_MAKALU is not set
195# CONFIG_WALNUT is not set 229# CONFIG_WALNUT is not set
@@ -233,10 +267,11 @@ CONFIG_BINFMT_ELF=y
233# CONFIG_MATH_EMULATION is not set 267# CONFIG_MATH_EMULATION is not set
234# CONFIG_IOMMU_HELPER is not set 268# CONFIG_IOMMU_HELPER is not set
235# CONFIG_SWIOTLB is not set 269# CONFIG_SWIOTLB is not set
236CONFIG_PPC_NEED_DMA_SYNC_OPS=y
237CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 270CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
238CONFIG_ARCH_HAS_WALK_MEMORY=y 271CONFIG_ARCH_HAS_WALK_MEMORY=y
239CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 272CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
273CONFIG_SPARSE_IRQ=y
274CONFIG_MAX_ACTIVE_REGIONS=32
240CONFIG_ARCH_FLATMEM_ENABLE=y 275CONFIG_ARCH_FLATMEM_ENABLE=y
241CONFIG_ARCH_POPULATES_NODE_MAP=y 276CONFIG_ARCH_POPULATES_NODE_MAP=y
242CONFIG_SELECT_MEMORY_MODEL=y 277CONFIG_SELECT_MEMORY_MODEL=y
@@ -252,8 +287,7 @@ CONFIG_MIGRATION=y
252CONFIG_ZONE_DMA_FLAG=1 287CONFIG_ZONE_DMA_FLAG=1
253CONFIG_BOUNCE=y 288CONFIG_BOUNCE=y
254CONFIG_VIRT_TO_BUS=y 289CONFIG_VIRT_TO_BUS=y
255CONFIG_HAVE_MLOCK=y 290# CONFIG_KSM is not set
256CONFIG_HAVE_MLOCKED_PAGE_BIT=y
257CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 291CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
258CONFIG_PPC_4K_PAGES=y 292CONFIG_PPC_4K_PAGES=y
259# CONFIG_PPC_16K_PAGES is not set 293# CONFIG_PPC_16K_PAGES is not set
@@ -343,6 +377,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
343# CONFIG_NETFILTER is not set 377# CONFIG_NETFILTER is not set
344# CONFIG_IP_DCCP is not set 378# CONFIG_IP_DCCP is not set
345# CONFIG_IP_SCTP is not set 379# CONFIG_IP_SCTP is not set
380# CONFIG_RDS is not set
346# CONFIG_TIPC is not set 381# CONFIG_TIPC is not set
347# CONFIG_ATM is not set 382# CONFIG_ATM is not set
348# CONFIG_BRIDGE is not set 383# CONFIG_BRIDGE is not set
@@ -370,7 +405,13 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
370# CONFIG_IRDA is not set 405# CONFIG_IRDA is not set
371# CONFIG_BT is not set 406# CONFIG_BT is not set
372# CONFIG_AF_RXRPC is not set 407# CONFIG_AF_RXRPC is not set
373# CONFIG_WIRELESS is not set 408CONFIG_WIRELESS=y
409# CONFIG_CFG80211 is not set
410# CONFIG_LIB80211 is not set
411
412#
413# CFG80211 needs to be enabled for MAC80211
414#
374# CONFIG_WIMAX is not set 415# CONFIG_WIMAX is not set
375# CONFIG_RFKILL is not set 416# CONFIG_RFKILL is not set
376# CONFIG_NET_9P is not set 417# CONFIG_NET_9P is not set
@@ -383,6 +424,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
383# Generic Driver Options 424# Generic Driver Options
384# 425#
385CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 426CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
427# CONFIG_DEVTMPFS is not set
386CONFIG_STANDALONE=y 428CONFIG_STANDALONE=y
387CONFIG_PREVENT_FIRMWARE_BUILD=y 429CONFIG_PREVENT_FIRMWARE_BUILD=y
388CONFIG_FW_LOADER=y 430CONFIG_FW_LOADER=y
@@ -395,9 +437,9 @@ CONFIG_CONNECTOR=y
395CONFIG_PROC_EVENTS=y 437CONFIG_PROC_EVENTS=y
396CONFIG_MTD=y 438CONFIG_MTD=y
397# CONFIG_MTD_DEBUG is not set 439# CONFIG_MTD_DEBUG is not set
440# CONFIG_MTD_TESTS is not set
398# CONFIG_MTD_CONCAT is not set 441# CONFIG_MTD_CONCAT is not set
399CONFIG_MTD_PARTITIONS=y 442CONFIG_MTD_PARTITIONS=y
400# CONFIG_MTD_TESTS is not set
401# CONFIG_MTD_REDBOOT_PARTS is not set 443# CONFIG_MTD_REDBOOT_PARTS is not set
402CONFIG_MTD_CMDLINE_PARTS=y 444CONFIG_MTD_CMDLINE_PARTS=y
403CONFIG_MTD_OF_PARTS=y 445CONFIG_MTD_OF_PARTS=y
@@ -498,6 +540,7 @@ CONFIG_BLK_DEV=y
498# CONFIG_BLK_DEV_UMEM is not set 540# CONFIG_BLK_DEV_UMEM is not set
499# CONFIG_BLK_DEV_COW_COMMON is not set 541# CONFIG_BLK_DEV_COW_COMMON is not set
500# CONFIG_BLK_DEV_LOOP is not set 542# CONFIG_BLK_DEV_LOOP is not set
543# CONFIG_BLK_DEV_DRBD is not set
501# CONFIG_BLK_DEV_NBD is not set 544# CONFIG_BLK_DEV_NBD is not set
502# CONFIG_BLK_DEV_SX8 is not set 545# CONFIG_BLK_DEV_SX8 is not set
503CONFIG_BLK_DEV_RAM=y 546CONFIG_BLK_DEV_RAM=y
@@ -574,16 +617,17 @@ CONFIG_IBM_NEW_EMAC_EMAC4=y
574# CONFIG_NET_PCI is not set 617# CONFIG_NET_PCI is not set
575# CONFIG_B44 is not set 618# CONFIG_B44 is not set
576# CONFIG_KS8842 is not set 619# CONFIG_KS8842 is not set
620# CONFIG_KS8851_MLL is not set
577# CONFIG_ATL2 is not set 621# CONFIG_ATL2 is not set
622# CONFIG_XILINX_EMACLITE is not set
578# CONFIG_NETDEV_1000 is not set 623# CONFIG_NETDEV_1000 is not set
579# CONFIG_NETDEV_10000 is not set 624# CONFIG_NETDEV_10000 is not set
580# CONFIG_TR is not set 625# CONFIG_TR is not set
581 626CONFIG_WLAN=y
582# 627# CONFIG_AIRO is not set
583# Wireless LAN 628# CONFIG_ATMEL is not set
584# 629# CONFIG_PRISM54 is not set
585# CONFIG_WLAN_PRE80211 is not set 630# CONFIG_HOSTAP is not set
586# CONFIG_WLAN_80211 is not set
587 631
588# 632#
589# Enable WiMAX (Networking options) to see the WiMAX drivers 633# Enable WiMAX (Networking options) to see the WiMAX drivers
@@ -596,6 +640,7 @@ CONFIG_IBM_NEW_EMAC_EMAC4=y
596# CONFIG_NETCONSOLE is not set 640# CONFIG_NETCONSOLE is not set
597# CONFIG_NETPOLL is not set 641# CONFIG_NETPOLL is not set
598# CONFIG_NET_POLL_CONTROLLER is not set 642# CONFIG_NET_POLL_CONTROLLER is not set
643# CONFIG_VMXNET3 is not set
599# CONFIG_ISDN is not set 644# CONFIG_ISDN is not set
600# CONFIG_PHONE is not set 645# CONFIG_PHONE is not set
601 646
@@ -641,6 +686,7 @@ CONFIG_SERIAL_CORE_CONSOLE=y
641# CONFIG_SERIAL_JSM is not set 686# CONFIG_SERIAL_JSM is not set
642CONFIG_SERIAL_OF_PLATFORM=y 687CONFIG_SERIAL_OF_PLATFORM=y
643# CONFIG_SERIAL_OF_PLATFORM_NWPSERIAL is not set 688# CONFIG_SERIAL_OF_PLATFORM_NWPSERIAL is not set
689# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set
644CONFIG_UNIX98_PTYS=y 690CONFIG_UNIX98_PTYS=y
645# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set 691# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
646CONFIG_LEGACY_PTYS=y 692CONFIG_LEGACY_PTYS=y
@@ -656,6 +702,7 @@ CONFIG_LEGACY_PTY_COUNT=256
656CONFIG_DEVPORT=y 702CONFIG_DEVPORT=y
657CONFIG_I2C=y 703CONFIG_I2C=y
658CONFIG_I2C_BOARDINFO=y 704CONFIG_I2C_BOARDINFO=y
705CONFIG_I2C_COMPAT=y
659CONFIG_I2C_CHARDEV=y 706CONFIG_I2C_CHARDEV=y
660CONFIG_I2C_HELPER_AUTO=y 707CONFIG_I2C_HELPER_AUTO=y
661 708
@@ -696,11 +743,6 @@ CONFIG_I2C_IBM_IIC=y
696# CONFIG_I2C_TAOS_EVM is not set 743# CONFIG_I2C_TAOS_EVM is not set
697 744
698# 745#
699# Graphics adapter I2C/DDC channel drivers
700#
701# CONFIG_I2C_VOODOO3 is not set
702
703#
704# Other I2C/SMBus bus drivers 746# Other I2C/SMBus bus drivers
705# 747#
706# CONFIG_I2C_PCA_PLATFORM is not set 748# CONFIG_I2C_PCA_PLATFORM is not set
@@ -709,10 +751,6 @@ CONFIG_I2C_IBM_IIC=y
709# 751#
710# Miscellaneous I2C Chip support 752# Miscellaneous I2C Chip support
711# 753#
712# CONFIG_DS1682 is not set
713# CONFIG_SENSORS_PCF8574 is not set
714# CONFIG_PCF8575 is not set
715# CONFIG_SENSORS_PCA9539 is not set
716# CONFIG_SENSORS_TSL2550 is not set 754# CONFIG_SENSORS_TSL2550 is not set
717# CONFIG_I2C_DEBUG_CORE is not set 755# CONFIG_I2C_DEBUG_CORE is not set
718# CONFIG_I2C_DEBUG_ALGO is not set 756# CONFIG_I2C_DEBUG_ALGO is not set
@@ -730,6 +768,11 @@ CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
730# CONFIG_POWER_SUPPLY is not set 768# CONFIG_POWER_SUPPLY is not set
731CONFIG_HWMON=y 769CONFIG_HWMON=y
732# CONFIG_HWMON_VID is not set 770# CONFIG_HWMON_VID is not set
771# CONFIG_HWMON_DEBUG_CHIP is not set
772
773#
774# Native drivers
775#
733# CONFIG_SENSORS_AD7414 is not set 776# CONFIG_SENSORS_AD7414 is not set
734# CONFIG_SENSORS_AD7418 is not set 777# CONFIG_SENSORS_AD7418 is not set
735# CONFIG_SENSORS_ADM1021 is not set 778# CONFIG_SENSORS_ADM1021 is not set
@@ -753,6 +796,7 @@ CONFIG_HWMON=y
753# CONFIG_SENSORS_GL520SM is not set 796# CONFIG_SENSORS_GL520SM is not set
754# CONFIG_SENSORS_IT87 is not set 797# CONFIG_SENSORS_IT87 is not set
755# CONFIG_SENSORS_LM63 is not set 798# CONFIG_SENSORS_LM63 is not set
799# CONFIG_SENSORS_LM73 is not set
756CONFIG_SENSORS_LM75=y 800CONFIG_SENSORS_LM75=y
757# CONFIG_SENSORS_LM77 is not set 801# CONFIG_SENSORS_LM77 is not set
758# CONFIG_SENSORS_LM78 is not set 802# CONFIG_SENSORS_LM78 is not set
@@ -779,6 +823,7 @@ CONFIG_SENSORS_LM75=y
779# CONFIG_SENSORS_ADS7828 is not set 823# CONFIG_SENSORS_ADS7828 is not set
780# CONFIG_SENSORS_THMC50 is not set 824# CONFIG_SENSORS_THMC50 is not set
781# CONFIG_SENSORS_TMP401 is not set 825# CONFIG_SENSORS_TMP401 is not set
826# CONFIG_SENSORS_TMP421 is not set
782# CONFIG_SENSORS_VIA686A is not set 827# CONFIG_SENSORS_VIA686A is not set
783# CONFIG_SENSORS_VT1211 is not set 828# CONFIG_SENSORS_VT1211 is not set
784# CONFIG_SENSORS_VT8231 is not set 829# CONFIG_SENSORS_VT8231 is not set
@@ -790,7 +835,6 @@ CONFIG_SENSORS_LM75=y
790# CONFIG_SENSORS_W83L786NG is not set 835# CONFIG_SENSORS_W83L786NG is not set
791# CONFIG_SENSORS_W83627HF is not set 836# CONFIG_SENSORS_W83627HF is not set
792# CONFIG_SENSORS_W83627EHF is not set 837# CONFIG_SENSORS_W83627EHF is not set
793# CONFIG_HWMON_DEBUG_CHIP is not set
794CONFIG_THERMAL=y 838CONFIG_THERMAL=y
795# CONFIG_THERMAL_HWMON is not set 839# CONFIG_THERMAL_HWMON is not set
796# CONFIG_WATCHDOG is not set 840# CONFIG_WATCHDOG is not set
@@ -810,10 +854,13 @@ CONFIG_SSB_POSSIBLE=y
810# CONFIG_TWL4030_CORE is not set 854# CONFIG_TWL4030_CORE is not set
811# CONFIG_MFD_TMIO is not set 855# CONFIG_MFD_TMIO is not set
812# CONFIG_PMIC_DA903X is not set 856# CONFIG_PMIC_DA903X is not set
857# CONFIG_PMIC_ADP5520 is not set
813# CONFIG_MFD_WM8400 is not set 858# CONFIG_MFD_WM8400 is not set
859# CONFIG_MFD_WM831X is not set
814# CONFIG_MFD_WM8350_I2C is not set 860# CONFIG_MFD_WM8350_I2C is not set
815# CONFIG_MFD_PCF50633 is not set 861# CONFIG_MFD_PCF50633 is not set
816# CONFIG_AB3100_CORE is not set 862# CONFIG_AB3100_CORE is not set
863# CONFIG_MFD_88PM8607 is not set
817# CONFIG_REGULATOR is not set 864# CONFIG_REGULATOR is not set
818# CONFIG_MEDIA_SUPPORT is not set 865# CONFIG_MEDIA_SUPPORT is not set
819 866
@@ -821,6 +868,7 @@ CONFIG_SSB_POSSIBLE=y
821# Graphics support 868# Graphics support
822# 869#
823# CONFIG_AGP is not set 870# CONFIG_AGP is not set
871CONFIG_VGA_ARB=y
824# CONFIG_DRM is not set 872# CONFIG_DRM is not set
825# CONFIG_VGASTATE is not set 873# CONFIG_VGASTATE is not set
826# CONFIG_VIDEO_OUTPUT_CONTROL is not set 874# CONFIG_VIDEO_OUTPUT_CONTROL is not set
@@ -868,6 +916,7 @@ CONFIG_RTC_DRV_DS1307=y
868# CONFIG_RTC_DRV_PCF8563 is not set 916# CONFIG_RTC_DRV_PCF8563 is not set
869# CONFIG_RTC_DRV_PCF8583 is not set 917# CONFIG_RTC_DRV_PCF8583 is not set
870# CONFIG_RTC_DRV_M41T80 is not set 918# CONFIG_RTC_DRV_M41T80 is not set
919# CONFIG_RTC_DRV_BQ32K is not set
871# CONFIG_RTC_DRV_S35390A is not set 920# CONFIG_RTC_DRV_S35390A is not set
872# CONFIG_RTC_DRV_FM3130 is not set 921# CONFIG_RTC_DRV_FM3130 is not set
873# CONFIG_RTC_DRV_RX8581 is not set 922# CONFIG_RTC_DRV_RX8581 is not set
@@ -889,7 +938,9 @@ CONFIG_RTC_DRV_DS1307=y
889# CONFIG_RTC_DRV_M48T86 is not set 938# CONFIG_RTC_DRV_M48T86 is not set
890# CONFIG_RTC_DRV_M48T35 is not set 939# CONFIG_RTC_DRV_M48T35 is not set
891# CONFIG_RTC_DRV_M48T59 is not set 940# CONFIG_RTC_DRV_M48T59 is not set
941# CONFIG_RTC_DRV_MSM6242 is not set
892# CONFIG_RTC_DRV_BQ4802 is not set 942# CONFIG_RTC_DRV_BQ4802 is not set
943# CONFIG_RTC_DRV_RP5C01 is not set
893# CONFIG_RTC_DRV_V3020 is not set 944# CONFIG_RTC_DRV_V3020 is not set
894 945
895# 946#
@@ -913,6 +964,7 @@ CONFIG_EXT2_FS=y
913# CONFIG_EXT2_FS_XIP is not set 964# CONFIG_EXT2_FS_XIP is not set
914# CONFIG_EXT3_FS is not set 965# CONFIG_EXT3_FS is not set
915# CONFIG_EXT4_FS is not set 966# CONFIG_EXT4_FS is not set
967CONFIG_EXT4_USE_FOR_EXT23=y
916# CONFIG_REISERFS_FS is not set 968# CONFIG_REISERFS_FS is not set
917# CONFIG_JFS_FS is not set 969# CONFIG_JFS_FS is not set
918# CONFIG_FS_POSIX_ACL is not set 970# CONFIG_FS_POSIX_ACL is not set
@@ -920,6 +972,7 @@ CONFIG_EXT2_FS=y
920# CONFIG_GFS2_FS is not set 972# CONFIG_GFS2_FS is not set
921# CONFIG_OCFS2_FS is not set 973# CONFIG_OCFS2_FS is not set
922# CONFIG_BTRFS_FS is not set 974# CONFIG_BTRFS_FS is not set
975# CONFIG_NILFS2_FS is not set
923CONFIG_FILE_LOCKING=y 976CONFIG_FILE_LOCKING=y
924CONFIG_FSNOTIFY=y 977CONFIG_FSNOTIFY=y
925CONFIG_DNOTIFY=y 978CONFIG_DNOTIFY=y
@@ -979,7 +1032,6 @@ CONFIG_CRAMFS=y
979# CONFIG_ROMFS_FS is not set 1032# CONFIG_ROMFS_FS is not set
980# CONFIG_SYSV_FS is not set 1033# CONFIG_SYSV_FS is not set
981# CONFIG_UFS_FS is not set 1034# CONFIG_UFS_FS is not set
982# CONFIG_NILFS2_FS is not set
983CONFIG_NETWORK_FILESYSTEMS=y 1035CONFIG_NETWORK_FILESYSTEMS=y
984CONFIG_NFS_FS=y 1036CONFIG_NFS_FS=y
985CONFIG_NFS_V3=y 1037CONFIG_NFS_V3=y
@@ -1037,6 +1089,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
1037CONFIG_ENABLE_MUST_CHECK=y 1089CONFIG_ENABLE_MUST_CHECK=y
1038CONFIG_FRAME_WARN=1024 1090CONFIG_FRAME_WARN=1024
1039CONFIG_MAGIC_SYSRQ=y 1091CONFIG_MAGIC_SYSRQ=y
1092# CONFIG_STRIP_ASM_SYMS is not set
1040# CONFIG_UNUSED_SYMBOLS is not set 1093# CONFIG_UNUSED_SYMBOLS is not set
1041CONFIG_DEBUG_FS=y 1094CONFIG_DEBUG_FS=y
1042# CONFIG_HEADERS_CHECK is not set 1095# CONFIG_HEADERS_CHECK is not set
@@ -1054,6 +1107,7 @@ CONFIG_SCHED_DEBUG=y
1054# CONFIG_DEBUG_OBJECTS is not set 1107# CONFIG_DEBUG_OBJECTS is not set
1055# CONFIG_SLUB_DEBUG_ON is not set 1108# CONFIG_SLUB_DEBUG_ON is not set
1056# CONFIG_SLUB_STATS is not set 1109# CONFIG_SLUB_STATS is not set
1110# CONFIG_DEBUG_KMEMLEAK is not set
1057# CONFIG_DEBUG_RT_MUTEXES is not set 1111# CONFIG_DEBUG_RT_MUTEXES is not set
1058# CONFIG_RT_MUTEX_TESTER is not set 1112# CONFIG_RT_MUTEX_TESTER is not set
1059# CONFIG_DEBUG_SPINLOCK is not set 1113# CONFIG_DEBUG_SPINLOCK is not set
@@ -1072,10 +1126,12 @@ CONFIG_DEBUG_BUGVERBOSE=y
1072# CONFIG_DEBUG_LIST is not set 1126# CONFIG_DEBUG_LIST is not set
1073# CONFIG_DEBUG_SG is not set 1127# CONFIG_DEBUG_SG is not set
1074# CONFIG_DEBUG_NOTIFIERS is not set 1128# CONFIG_DEBUG_NOTIFIERS is not set
1129# CONFIG_DEBUG_CREDENTIALS is not set
1075# CONFIG_RCU_TORTURE_TEST is not set 1130# CONFIG_RCU_TORTURE_TEST is not set
1076# CONFIG_RCU_CPU_STALL_DETECTOR is not set 1131# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1077# CONFIG_BACKTRACE_SELF_TEST is not set 1132# CONFIG_BACKTRACE_SELF_TEST is not set
1078# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set 1133# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1134# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
1079# CONFIG_FAULT_INJECTION is not set 1135# CONFIG_FAULT_INJECTION is not set
1080# CONFIG_LATENCYTOP is not set 1136# CONFIG_LATENCYTOP is not set
1081CONFIG_SYSCTL_SYSCALL_CHECK=y 1137CONFIG_SYSCTL_SYSCALL_CHECK=y
@@ -1099,10 +1155,10 @@ CONFIG_BRANCH_PROFILE_NONE=y
1099# CONFIG_WORKQUEUE_TRACER is not set 1155# CONFIG_WORKQUEUE_TRACER is not set
1100# CONFIG_BLK_DEV_IO_TRACE is not set 1156# CONFIG_BLK_DEV_IO_TRACE is not set
1101# CONFIG_DYNAMIC_DEBUG is not set 1157# CONFIG_DYNAMIC_DEBUG is not set
1158# CONFIG_DMA_API_DEBUG is not set
1102# CONFIG_SAMPLES is not set 1159# CONFIG_SAMPLES is not set
1103CONFIG_HAVE_ARCH_KGDB=y 1160CONFIG_HAVE_ARCH_KGDB=y
1104# CONFIG_KGDB is not set 1161# CONFIG_KGDB is not set
1105# CONFIG_KMEMCHECK is not set
1106# CONFIG_PPC_DISABLE_WERROR is not set 1162# CONFIG_PPC_DISABLE_WERROR is not set
1107CONFIG_PPC_WERROR=y 1163CONFIG_PPC_WERROR=y
1108CONFIG_PRINT_STACK_DEPTH=64 1164CONFIG_PRINT_STACK_DEPTH=64
@@ -1124,13 +1180,16 @@ CONFIG_PRINT_STACK_DEPTH=64
1124# CONFIG_KEYS is not set 1180# CONFIG_KEYS is not set
1125# CONFIG_SECURITY is not set 1181# CONFIG_SECURITY is not set
1126# CONFIG_SECURITYFS is not set 1182# CONFIG_SECURITYFS is not set
1127# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1183# CONFIG_DEFAULT_SECURITY_SELINUX is not set
1184# CONFIG_DEFAULT_SECURITY_SMACK is not set
1185# CONFIG_DEFAULT_SECURITY_TOMOYO is not set
1186CONFIG_DEFAULT_SECURITY_DAC=y
1187CONFIG_DEFAULT_SECURITY=""
1128CONFIG_CRYPTO=y 1188CONFIG_CRYPTO=y
1129 1189
1130# 1190#
1131# Crypto core or helper 1191# Crypto core or helper
1132# 1192#
1133# CONFIG_CRYPTO_FIPS is not set
1134CONFIG_CRYPTO_ALGAPI=y 1193CONFIG_CRYPTO_ALGAPI=y
1135CONFIG_CRYPTO_ALGAPI2=y 1194CONFIG_CRYPTO_ALGAPI2=y
1136CONFIG_CRYPTO_AEAD2=y 1195CONFIG_CRYPTO_AEAD2=y
@@ -1172,11 +1231,13 @@ CONFIG_CRYPTO_PCBC=y
1172# 1231#
1173# CONFIG_CRYPTO_HMAC is not set 1232# CONFIG_CRYPTO_HMAC is not set
1174# CONFIG_CRYPTO_XCBC is not set 1233# CONFIG_CRYPTO_XCBC is not set
1234# CONFIG_CRYPTO_VMAC is not set
1175 1235
1176# 1236#
1177# Digest 1237# Digest
1178# 1238#
1179# CONFIG_CRYPTO_CRC32C is not set 1239# CONFIG_CRYPTO_CRC32C is not set
1240# CONFIG_CRYPTO_GHASH is not set
1180# CONFIG_CRYPTO_MD4 is not set 1241# CONFIG_CRYPTO_MD4 is not set
1181CONFIG_CRYPTO_MD5=y 1242CONFIG_CRYPTO_MD5=y
1182# CONFIG_CRYPTO_MICHAEL_MIC is not set 1243# CONFIG_CRYPTO_MICHAEL_MIC is not set
diff --git a/arch/powerpc/configs/40x/makalu_defconfig b/arch/powerpc/configs/40x/makalu_defconfig
index 146747547873..a1f3f505e4a7 100644
--- a/arch/powerpc/configs/40x/makalu_defconfig
+++ b/arch/powerpc/configs/40x/makalu_defconfig
@@ -1,14 +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.30-rc7 3# Linux kernel version: 2.6.33-rc1
4# Wed Jun 3 09:11:02 2009 4# Mon Jan 4 15:55:12 2010
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
8# 8#
9# Processor support 9# Processor support
10# 10#
11# CONFIG_6xx is not set 11# CONFIG_PPC_BOOK3S_32 is not set
12# CONFIG_PPC_85xx is not set 12# CONFIG_PPC_85xx is not set
13# CONFIG_PPC_8xx is not set 13# CONFIG_PPC_8xx is not set
14CONFIG_40x=y 14CONFIG_40x=y
@@ -16,6 +16,7 @@ CONFIG_40x=y
16# CONFIG_E200 is not set 16# CONFIG_E200 is not set
17CONFIG_4xx=y 17CONFIG_4xx=y
18CONFIG_PPC_MMU_NOHASH=y 18CONFIG_PPC_MMU_NOHASH=y
19CONFIG_PPC_MMU_NOHASH_32=y
19# CONFIG_PPC_MM_SLICES is not set 20# CONFIG_PPC_MM_SLICES is not set
20CONFIG_NOT_COHERENT_CACHE=y 21CONFIG_NOT_COHERENT_CACHE=y
21CONFIG_PPC32=y 22CONFIG_PPC32=y
@@ -29,14 +30,16 @@ CONFIG_GENERIC_CLOCKEVENTS=y
29CONFIG_GENERIC_HARDIRQS=y 30CONFIG_GENERIC_HARDIRQS=y
30CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y 31CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
31# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 32# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
33# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
32CONFIG_IRQ_PER_CPU=y 34CONFIG_IRQ_PER_CPU=y
35CONFIG_NR_IRQS=512
33CONFIG_STACKTRACE_SUPPORT=y 36CONFIG_STACKTRACE_SUPPORT=y
34CONFIG_HAVE_LATENCYTOP_SUPPORT=y 37CONFIG_HAVE_LATENCYTOP_SUPPORT=y
38CONFIG_TRACE_IRQFLAGS_SUPPORT=y
35CONFIG_LOCKDEP_SUPPORT=y 39CONFIG_LOCKDEP_SUPPORT=y
36CONFIG_RWSEM_XCHGADD_ALGORITHM=y 40CONFIG_RWSEM_XCHGADD_ALGORITHM=y
37CONFIG_ARCH_HAS_ILOG2_U32=y 41CONFIG_ARCH_HAS_ILOG2_U32=y
38CONFIG_GENERIC_HWEIGHT=y 42CONFIG_GENERIC_HWEIGHT=y
39CONFIG_GENERIC_CALIBRATE_DELAY=y
40CONFIG_GENERIC_FIND_NEXT_BIT=y 43CONFIG_GENERIC_FIND_NEXT_BIT=y
41# CONFIG_ARCH_NO_VIRT_TO_BUS is not set 44# CONFIG_ARCH_NO_VIRT_TO_BUS is not set
42CONFIG_PPC=y 45CONFIG_PPC=y
@@ -52,11 +55,13 @@ CONFIG_AUDIT_ARCH=y
52CONFIG_GENERIC_BUG=y 55CONFIG_GENERIC_BUG=y
53CONFIG_DTC=y 56CONFIG_DTC=y
54# CONFIG_DEFAULT_UIMAGE is not set 57# CONFIG_DEFAULT_UIMAGE is not set
58CONFIG_ARCH_HIBERNATION_POSSIBLE=y
55CONFIG_PPC_DCR_NATIVE=y 59CONFIG_PPC_DCR_NATIVE=y
56# CONFIG_PPC_DCR_MMIO is not set 60# CONFIG_PPC_DCR_MMIO is not set
57CONFIG_PPC_DCR=y 61CONFIG_PPC_DCR=y
58CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y 62CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
59CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 63CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
64CONFIG_CONSTRUCTORS=y
60 65
61# 66#
62# General setup 67# General setup
@@ -78,11 +83,13 @@ CONFIG_POSIX_MQUEUE_SYSCTL=y
78# 83#
79# RCU Subsystem 84# RCU Subsystem
80# 85#
81CONFIG_CLASSIC_RCU=y 86CONFIG_TREE_RCU=y
82# CONFIG_TREE_RCU is not set 87# CONFIG_TREE_PREEMPT_RCU is not set
83# CONFIG_PREEMPT_RCU is not set 88# CONFIG_TINY_RCU is not set
89# CONFIG_RCU_TRACE is not set
90CONFIG_RCU_FANOUT=32
91# CONFIG_RCU_FANOUT_EXACT is not set
84# CONFIG_TREE_RCU_TRACE is not set 92# CONFIG_TREE_RCU_TRACE is not set
85# CONFIG_PREEMPT_RCU_TRACE is not set
86# CONFIG_IKCONFIG is not set 93# CONFIG_IKCONFIG is not set
87CONFIG_LOG_BUF_SHIFT=14 94CONFIG_LOG_BUF_SHIFT=14
88CONFIG_GROUP_SCHED=y 95CONFIG_GROUP_SCHED=y
@@ -91,8 +98,7 @@ CONFIG_GROUP_SCHED=y
91CONFIG_USER_SCHED=y 98CONFIG_USER_SCHED=y
92# CONFIG_CGROUP_SCHED is not set 99# CONFIG_CGROUP_SCHED is not set
93# CONFIG_CGROUPS is not set 100# CONFIG_CGROUPS is not set
94CONFIG_SYSFS_DEPRECATED=y 101# CONFIG_SYSFS_DEPRECATED_V2 is not set
95CONFIG_SYSFS_DEPRECATED_V2=y
96# CONFIG_RELAY is not set 102# CONFIG_RELAY is not set
97# CONFIG_NAMESPACES is not set 103# CONFIG_NAMESPACES is not set
98CONFIG_BLK_DEV_INITRD=y 104CONFIG_BLK_DEV_INITRD=y
@@ -108,7 +114,6 @@ CONFIG_SYSCTL_SYSCALL=y
108CONFIG_KALLSYMS=y 114CONFIG_KALLSYMS=y
109CONFIG_KALLSYMS_ALL=y 115CONFIG_KALLSYMS_ALL=y
110CONFIG_KALLSYMS_EXTRA_PASS=y 116CONFIG_KALLSYMS_EXTRA_PASS=y
111# CONFIG_STRIP_ASM_SYMS is not set
112CONFIG_HOTPLUG=y 117CONFIG_HOTPLUG=y
113CONFIG_PRINTK=y 118CONFIG_PRINTK=y
114CONFIG_BUG=y 119CONFIG_BUG=y
@@ -121,6 +126,13 @@ CONFIG_TIMERFD=y
121CONFIG_EVENTFD=y 126CONFIG_EVENTFD=y
122CONFIG_SHMEM=y 127CONFIG_SHMEM=y
123CONFIG_AIO=y 128CONFIG_AIO=y
129CONFIG_HAVE_PERF_EVENTS=y
130
131#
132# Kernel Performance Events And Counters
133#
134# CONFIG_PERF_EVENTS is not set
135# CONFIG_PERF_COUNTERS is not set
124CONFIG_VM_EVENT_COUNTERS=y 136CONFIG_VM_EVENT_COUNTERS=y
125CONFIG_PCI_QUIRKS=y 137CONFIG_PCI_QUIRKS=y
126CONFIG_SLUB_DEBUG=y 138CONFIG_SLUB_DEBUG=y
@@ -129,7 +141,6 @@ CONFIG_COMPAT_BRK=y
129CONFIG_SLUB=y 141CONFIG_SLUB=y
130# CONFIG_SLOB is not set 142# CONFIG_SLOB is not set
131# CONFIG_PROFILING is not set 143# CONFIG_PROFILING is not set
132# CONFIG_MARKERS is not set
133CONFIG_HAVE_OPROFILE=y 144CONFIG_HAVE_OPROFILE=y
134# CONFIG_KPROBES is not set 145# CONFIG_KPROBES is not set
135CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 146CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
@@ -137,6 +148,13 @@ CONFIG_HAVE_IOREMAP_PROT=y
137CONFIG_HAVE_KPROBES=y 148CONFIG_HAVE_KPROBES=y
138CONFIG_HAVE_KRETPROBES=y 149CONFIG_HAVE_KRETPROBES=y
139CONFIG_HAVE_ARCH_TRACEHOOK=y 150CONFIG_HAVE_ARCH_TRACEHOOK=y
151CONFIG_HAVE_DMA_ATTRS=y
152CONFIG_HAVE_DMA_API_DEBUG=y
153
154#
155# GCOV-based kernel profiling
156#
157# CONFIG_GCOV_KERNEL is not set
140# CONFIG_SLOW_WORK is not set 158# CONFIG_SLOW_WORK is not set
141# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 159# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
142CONFIG_SLABINFO=y 160CONFIG_SLABINFO=y
@@ -149,7 +167,7 @@ CONFIG_MODULE_UNLOAD=y
149# CONFIG_MODVERSIONS is not set 167# CONFIG_MODVERSIONS is not set
150# CONFIG_MODULE_SRCVERSION_ALL is not set 168# CONFIG_MODULE_SRCVERSION_ALL is not set
151CONFIG_BLOCK=y 169CONFIG_BLOCK=y
152CONFIG_LBD=y 170CONFIG_LBDAF=y
153# CONFIG_BLK_DEV_BSG is not set 171# CONFIG_BLK_DEV_BSG is not set
154# CONFIG_BLK_DEV_INTEGRITY is not set 172# CONFIG_BLK_DEV_INTEGRITY is not set
155 173
@@ -157,14 +175,41 @@ CONFIG_LBD=y
157# IO Schedulers 175# IO Schedulers
158# 176#
159CONFIG_IOSCHED_NOOP=y 177CONFIG_IOSCHED_NOOP=y
160CONFIG_IOSCHED_AS=y
161CONFIG_IOSCHED_DEADLINE=y 178CONFIG_IOSCHED_DEADLINE=y
162CONFIG_IOSCHED_CFQ=y 179CONFIG_IOSCHED_CFQ=y
163CONFIG_DEFAULT_AS=y
164# CONFIG_DEFAULT_DEADLINE is not set 180# CONFIG_DEFAULT_DEADLINE is not set
165# CONFIG_DEFAULT_CFQ is not set 181CONFIG_DEFAULT_CFQ=y
166# CONFIG_DEFAULT_NOOP is not set 182# CONFIG_DEFAULT_NOOP is not set
167CONFIG_DEFAULT_IOSCHED="anticipatory" 183CONFIG_DEFAULT_IOSCHED="cfq"
184# CONFIG_INLINE_SPIN_TRYLOCK is not set
185# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
186# CONFIG_INLINE_SPIN_LOCK is not set
187# CONFIG_INLINE_SPIN_LOCK_BH is not set
188# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
189# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
190CONFIG_INLINE_SPIN_UNLOCK=y
191# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
192CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
193# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
194# CONFIG_INLINE_READ_TRYLOCK is not set
195# CONFIG_INLINE_READ_LOCK is not set
196# CONFIG_INLINE_READ_LOCK_BH is not set
197# CONFIG_INLINE_READ_LOCK_IRQ is not set
198# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
199CONFIG_INLINE_READ_UNLOCK=y
200# CONFIG_INLINE_READ_UNLOCK_BH is not set
201CONFIG_INLINE_READ_UNLOCK_IRQ=y
202# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
203# CONFIG_INLINE_WRITE_TRYLOCK is not set
204# CONFIG_INLINE_WRITE_LOCK is not set
205# CONFIG_INLINE_WRITE_LOCK_BH is not set
206# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
207# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
208CONFIG_INLINE_WRITE_UNLOCK=y
209# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
210CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
211# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
212# CONFIG_MUTEX_SPIN_ON_OWNER is not set
168# CONFIG_FREEZER is not set 213# CONFIG_FREEZER is not set
169CONFIG_PPC4xx_PCI_EXPRESS=y 214CONFIG_PPC4xx_PCI_EXPRESS=y
170 215
@@ -178,6 +223,7 @@ CONFIG_PPC4xx_PCI_EXPRESS=y
178# CONFIG_ACADIA is not set 223# CONFIG_ACADIA is not set
179# CONFIG_EP405 is not set 224# CONFIG_EP405 is not set
180# CONFIG_HCU4 is not set 225# CONFIG_HCU4 is not set
226# CONFIG_HOTFOOT is not set
181# CONFIG_KILAUEA is not set 227# CONFIG_KILAUEA is not set
182CONFIG_MAKALU=y 228CONFIG_MAKALU=y
183# CONFIG_WALNUT is not set 229# CONFIG_WALNUT is not set
@@ -220,10 +266,12 @@ CONFIG_BINFMT_ELF=y
220# CONFIG_BINFMT_MISC is not set 266# CONFIG_BINFMT_MISC is not set
221# CONFIG_MATH_EMULATION is not set 267# CONFIG_MATH_EMULATION is not set
222# CONFIG_IOMMU_HELPER is not set 268# CONFIG_IOMMU_HELPER is not set
223CONFIG_PPC_NEED_DMA_SYNC_OPS=y 269# CONFIG_SWIOTLB is not set
224CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 270CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
225CONFIG_ARCH_HAS_WALK_MEMORY=y 271CONFIG_ARCH_HAS_WALK_MEMORY=y
226CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 272CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
273CONFIG_SPARSE_IRQ=y
274CONFIG_MAX_ACTIVE_REGIONS=32
227CONFIG_ARCH_FLATMEM_ENABLE=y 275CONFIG_ARCH_FLATMEM_ENABLE=y
228CONFIG_ARCH_POPULATES_NODE_MAP=y 276CONFIG_ARCH_POPULATES_NODE_MAP=y
229CONFIG_SELECT_MEMORY_MODEL=y 277CONFIG_SELECT_MEMORY_MODEL=y
@@ -239,9 +287,8 @@ CONFIG_MIGRATION=y
239CONFIG_ZONE_DMA_FLAG=1 287CONFIG_ZONE_DMA_FLAG=1
240CONFIG_BOUNCE=y 288CONFIG_BOUNCE=y
241CONFIG_VIRT_TO_BUS=y 289CONFIG_VIRT_TO_BUS=y
242CONFIG_UNEVICTABLE_LRU=y 290# CONFIG_KSM is not set
243CONFIG_HAVE_MLOCK=y 291CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
244CONFIG_HAVE_MLOCKED_PAGE_BIT=y
245CONFIG_PPC_4K_PAGES=y 292CONFIG_PPC_4K_PAGES=y
246# CONFIG_PPC_16K_PAGES is not set 293# CONFIG_PPC_16K_PAGES is not set
247# CONFIG_PPC_64K_PAGES is not set 294# CONFIG_PPC_64K_PAGES is not set
@@ -330,6 +377,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
330# CONFIG_NETFILTER is not set 377# CONFIG_NETFILTER is not set
331# CONFIG_IP_DCCP is not set 378# CONFIG_IP_DCCP is not set
332# CONFIG_IP_SCTP is not set 379# CONFIG_IP_SCTP is not set
380# CONFIG_RDS is not set
333# CONFIG_TIPC is not set 381# CONFIG_TIPC is not set
334# CONFIG_ATM is not set 382# CONFIG_ATM is not set
335# CONFIG_BRIDGE is not set 383# CONFIG_BRIDGE is not set
@@ -344,6 +392,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
344# CONFIG_ECONET is not set 392# CONFIG_ECONET is not set
345# CONFIG_WAN_ROUTER is not set 393# CONFIG_WAN_ROUTER is not set
346# CONFIG_PHONET is not set 394# CONFIG_PHONET is not set
395# CONFIG_IEEE802154 is not set
347# CONFIG_NET_SCHED is not set 396# CONFIG_NET_SCHED is not set
348# CONFIG_DCB is not set 397# CONFIG_DCB is not set
349 398
@@ -356,7 +405,13 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
356# CONFIG_IRDA is not set 405# CONFIG_IRDA is not set
357# CONFIG_BT is not set 406# CONFIG_BT is not set
358# CONFIG_AF_RXRPC is not set 407# CONFIG_AF_RXRPC is not set
359# CONFIG_WIRELESS is not set 408CONFIG_WIRELESS=y
409# CONFIG_CFG80211 is not set
410# CONFIG_LIB80211 is not set
411
412#
413# CFG80211 needs to be enabled for MAC80211
414#
360# CONFIG_WIMAX is not set 415# CONFIG_WIMAX is not set
361# CONFIG_RFKILL is not set 416# CONFIG_RFKILL is not set
362# CONFIG_NET_9P is not set 417# CONFIG_NET_9P is not set
@@ -369,6 +424,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
369# Generic Driver Options 424# Generic Driver Options
370# 425#
371CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 426CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
427# CONFIG_DEVTMPFS is not set
372CONFIG_STANDALONE=y 428CONFIG_STANDALONE=y
373CONFIG_PREVENT_FIRMWARE_BUILD=y 429CONFIG_PREVENT_FIRMWARE_BUILD=y
374CONFIG_FW_LOADER=y 430CONFIG_FW_LOADER=y
@@ -381,9 +437,9 @@ CONFIG_CONNECTOR=y
381CONFIG_PROC_EVENTS=y 437CONFIG_PROC_EVENTS=y
382CONFIG_MTD=y 438CONFIG_MTD=y
383# CONFIG_MTD_DEBUG is not set 439# CONFIG_MTD_DEBUG is not set
440# CONFIG_MTD_TESTS is not set
384# CONFIG_MTD_CONCAT is not set 441# CONFIG_MTD_CONCAT is not set
385CONFIG_MTD_PARTITIONS=y 442CONFIG_MTD_PARTITIONS=y
386# CONFIG_MTD_TESTS is not set
387# CONFIG_MTD_REDBOOT_PARTS is not set 443# CONFIG_MTD_REDBOOT_PARTS is not set
388CONFIG_MTD_CMDLINE_PARTS=y 444CONFIG_MTD_CMDLINE_PARTS=y
389CONFIG_MTD_OF_PARTS=y 445CONFIG_MTD_OF_PARTS=y
@@ -474,6 +530,7 @@ CONFIG_BLK_DEV=y
474# CONFIG_BLK_DEV_UMEM is not set 530# CONFIG_BLK_DEV_UMEM is not set
475# CONFIG_BLK_DEV_COW_COMMON is not set 531# CONFIG_BLK_DEV_COW_COMMON is not set
476# CONFIG_BLK_DEV_LOOP is not set 532# CONFIG_BLK_DEV_LOOP is not set
533# CONFIG_BLK_DEV_DRBD is not set
477# CONFIG_BLK_DEV_NBD is not set 534# CONFIG_BLK_DEV_NBD is not set
478# CONFIG_BLK_DEV_SX8 is not set 535# CONFIG_BLK_DEV_SX8 is not set
479CONFIG_BLK_DEV_RAM=y 536CONFIG_BLK_DEV_RAM=y
@@ -504,14 +561,17 @@ CONFIG_HAVE_IDE=y
504# 561#
505 562
506# 563#
507# Enable only one of the two stacks, unless you know what you are doing 564# You can enable one or both FireWire driver stacks.
565#
566
567#
568# See the help texts for more information.
508# 569#
509# CONFIG_FIREWIRE is not set 570# CONFIG_FIREWIRE is not set
510# CONFIG_IEEE1394 is not set 571# CONFIG_IEEE1394 is not set
511# CONFIG_I2O is not set 572# CONFIG_I2O is not set
512# CONFIG_MACINTOSH_DRIVERS is not set 573# CONFIG_MACINTOSH_DRIVERS is not set
513CONFIG_NETDEVICES=y 574CONFIG_NETDEVICES=y
514CONFIG_COMPAT_NET_DEV_OPS=y
515# CONFIG_DUMMY is not set 575# CONFIG_DUMMY is not set
516# CONFIG_BONDING is not set 576# CONFIG_BONDING is not set
517# CONFIG_MACVLAN is not set 577# CONFIG_MACVLAN is not set
@@ -546,16 +606,18 @@ CONFIG_IBM_NEW_EMAC_EMAC4=y
546# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set 606# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
547# CONFIG_NET_PCI is not set 607# CONFIG_NET_PCI is not set
548# CONFIG_B44 is not set 608# CONFIG_B44 is not set
609# CONFIG_KS8842 is not set
610# CONFIG_KS8851_MLL is not set
549# CONFIG_ATL2 is not set 611# CONFIG_ATL2 is not set
612# CONFIG_XILINX_EMACLITE is not set
550# CONFIG_NETDEV_1000 is not set 613# CONFIG_NETDEV_1000 is not set
551# CONFIG_NETDEV_10000 is not set 614# CONFIG_NETDEV_10000 is not set
552# CONFIG_TR is not set 615# CONFIG_TR is not set
553 616CONFIG_WLAN=y
554# 617# CONFIG_AIRO is not set
555# Wireless LAN 618# CONFIG_ATMEL is not set
556# 619# CONFIG_PRISM54 is not set
557# CONFIG_WLAN_PRE80211 is not set 620# CONFIG_HOSTAP is not set
558# CONFIG_WLAN_80211 is not set
559 621
560# 622#
561# Enable WiMAX (Networking options) to see the WiMAX drivers 623# Enable WiMAX (Networking options) to see the WiMAX drivers
@@ -568,6 +630,7 @@ CONFIG_IBM_NEW_EMAC_EMAC4=y
568# CONFIG_NETCONSOLE is not set 630# CONFIG_NETCONSOLE is not set
569# CONFIG_NETPOLL is not set 631# CONFIG_NETPOLL is not set
570# CONFIG_NET_POLL_CONTROLLER is not set 632# CONFIG_NET_POLL_CONTROLLER is not set
633# CONFIG_VMXNET3 is not set
571# CONFIG_ISDN is not set 634# CONFIG_ISDN is not set
572# CONFIG_PHONE is not set 635# CONFIG_PHONE is not set
573 636
@@ -613,6 +676,7 @@ CONFIG_SERIAL_CORE_CONSOLE=y
613# CONFIG_SERIAL_JSM is not set 676# CONFIG_SERIAL_JSM is not set
614CONFIG_SERIAL_OF_PLATFORM=y 677CONFIG_SERIAL_OF_PLATFORM=y
615# CONFIG_SERIAL_OF_PLATFORM_NWPSERIAL is not set 678# CONFIG_SERIAL_OF_PLATFORM_NWPSERIAL is not set
679# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set
616CONFIG_UNIX98_PTYS=y 680CONFIG_UNIX98_PTYS=y
617# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set 681# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
618CONFIG_LEGACY_PTYS=y 682CONFIG_LEGACY_PTYS=y
@@ -629,6 +693,11 @@ CONFIG_LEGACY_PTY_COUNT=256
629CONFIG_DEVPORT=y 693CONFIG_DEVPORT=y
630# CONFIG_I2C is not set 694# CONFIG_I2C is not set
631# CONFIG_SPI is not set 695# CONFIG_SPI is not set
696
697#
698# PPS support
699#
700# CONFIG_PPS is not set
632CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y 701CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
633# CONFIG_GPIOLIB is not set 702# CONFIG_GPIOLIB is not set
634# CONFIG_W1 is not set 703# CONFIG_W1 is not set
@@ -651,27 +720,13 @@ CONFIG_SSB_POSSIBLE=y
651# CONFIG_HTC_PASIC3 is not set 720# CONFIG_HTC_PASIC3 is not set
652# CONFIG_MFD_TMIO is not set 721# CONFIG_MFD_TMIO is not set
653# CONFIG_REGULATOR is not set 722# CONFIG_REGULATOR is not set
654 723# CONFIG_MEDIA_SUPPORT is not set
655#
656# Multimedia devices
657#
658
659#
660# Multimedia core support
661#
662# CONFIG_VIDEO_DEV is not set
663# CONFIG_DVB_CORE is not set
664# CONFIG_VIDEO_MEDIA is not set
665
666#
667# Multimedia drivers
668#
669# CONFIG_DAB is not set
670 724
671# 725#
672# Graphics support 726# Graphics support
673# 727#
674# CONFIG_AGP is not set 728# CONFIG_AGP is not set
729CONFIG_VGA_ARB=y
675# CONFIG_DRM is not set 730# CONFIG_DRM is not set
676# CONFIG_VGASTATE is not set 731# CONFIG_VGASTATE is not set
677# CONFIG_VIDEO_OUTPUT_CONTROL is not set 732# CONFIG_VIDEO_OUTPUT_CONTROL is not set
@@ -695,6 +750,10 @@ CONFIG_SSB_POSSIBLE=y
695# CONFIG_DMADEVICES is not set 750# CONFIG_DMADEVICES is not set
696# CONFIG_AUXDISPLAY is not set 751# CONFIG_AUXDISPLAY is not set
697# CONFIG_UIO is not set 752# CONFIG_UIO is not set
753
754#
755# TI VLYNQ
756#
698# CONFIG_STAGING is not set 757# CONFIG_STAGING is not set
699 758
700# 759#
@@ -705,14 +764,17 @@ CONFIG_EXT2_FS=y
705# CONFIG_EXT2_FS_XIP is not set 764# CONFIG_EXT2_FS_XIP is not set
706# CONFIG_EXT3_FS is not set 765# CONFIG_EXT3_FS is not set
707# CONFIG_EXT4_FS is not set 766# CONFIG_EXT4_FS is not set
767CONFIG_EXT4_USE_FOR_EXT23=y
708# CONFIG_REISERFS_FS is not set 768# CONFIG_REISERFS_FS is not set
709# CONFIG_JFS_FS is not set 769# CONFIG_JFS_FS is not set
710# CONFIG_FS_POSIX_ACL is not set 770# CONFIG_FS_POSIX_ACL is not set
711CONFIG_FILE_LOCKING=y
712# CONFIG_XFS_FS is not set 771# CONFIG_XFS_FS is not set
713# CONFIG_GFS2_FS is not set 772# CONFIG_GFS2_FS is not set
714# CONFIG_OCFS2_FS is not set 773# CONFIG_OCFS2_FS is not set
715# CONFIG_BTRFS_FS is not set 774# CONFIG_BTRFS_FS is not set
775# CONFIG_NILFS2_FS is not set
776CONFIG_FILE_LOCKING=y
777CONFIG_FSNOTIFY=y
716CONFIG_DNOTIFY=y 778CONFIG_DNOTIFY=y
717CONFIG_INOTIFY=y 779CONFIG_INOTIFY=y
718CONFIG_INOTIFY_USER=y 780CONFIG_INOTIFY_USER=y
@@ -770,7 +832,6 @@ CONFIG_CRAMFS=y
770# CONFIG_ROMFS_FS is not set 832# CONFIG_ROMFS_FS is not set
771# CONFIG_SYSV_FS is not set 833# CONFIG_SYSV_FS is not set
772# CONFIG_UFS_FS is not set 834# CONFIG_UFS_FS is not set
773# CONFIG_NILFS2_FS is not set
774CONFIG_NETWORK_FILESYSTEMS=y 835CONFIG_NETWORK_FILESYSTEMS=y
775CONFIG_NFS_FS=y 836CONFIG_NFS_FS=y
776CONFIG_NFS_V3=y 837CONFIG_NFS_V3=y
@@ -818,6 +879,7 @@ CONFIG_HAS_IOPORT=y
818CONFIG_HAS_DMA=y 879CONFIG_HAS_DMA=y
819CONFIG_HAVE_LMB=y 880CONFIG_HAVE_LMB=y
820CONFIG_NLATTR=y 881CONFIG_NLATTR=y
882CONFIG_GENERIC_ATOMIC64=y
821 883
822# 884#
823# Kernel hacking 885# Kernel hacking
@@ -827,6 +889,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
827CONFIG_ENABLE_MUST_CHECK=y 889CONFIG_ENABLE_MUST_CHECK=y
828CONFIG_FRAME_WARN=1024 890CONFIG_FRAME_WARN=1024
829CONFIG_MAGIC_SYSRQ=y 891CONFIG_MAGIC_SYSRQ=y
892# CONFIG_STRIP_ASM_SYMS is not set
830# CONFIG_UNUSED_SYMBOLS is not set 893# CONFIG_UNUSED_SYMBOLS is not set
831CONFIG_DEBUG_FS=y 894CONFIG_DEBUG_FS=y
832# CONFIG_HEADERS_CHECK is not set 895# CONFIG_HEADERS_CHECK is not set
@@ -844,10 +907,14 @@ CONFIG_SCHED_DEBUG=y
844# CONFIG_DEBUG_OBJECTS is not set 907# CONFIG_DEBUG_OBJECTS is not set
845# CONFIG_SLUB_DEBUG_ON is not set 908# CONFIG_SLUB_DEBUG_ON is not set
846# CONFIG_SLUB_STATS is not set 909# CONFIG_SLUB_STATS is not set
910# CONFIG_DEBUG_KMEMLEAK is not set
847# CONFIG_DEBUG_RT_MUTEXES is not set 911# CONFIG_DEBUG_RT_MUTEXES is not set
848# CONFIG_RT_MUTEX_TESTER is not set 912# CONFIG_RT_MUTEX_TESTER is not set
849# CONFIG_DEBUG_SPINLOCK is not set 913# CONFIG_DEBUG_SPINLOCK is not set
850# CONFIG_DEBUG_MUTEXES is not set 914# CONFIG_DEBUG_MUTEXES is not set
915# CONFIG_DEBUG_LOCK_ALLOC is not set
916# CONFIG_PROVE_LOCKING is not set
917# CONFIG_LOCK_STAT is not set
851# CONFIG_DEBUG_SPINLOCK_SLEEP is not set 918# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
852# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set 919# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
853# CONFIG_DEBUG_KOBJECT is not set 920# CONFIG_DEBUG_KOBJECT is not set
@@ -859,11 +926,12 @@ CONFIG_DEBUG_BUGVERBOSE=y
859# CONFIG_DEBUG_LIST is not set 926# CONFIG_DEBUG_LIST is not set
860# CONFIG_DEBUG_SG is not set 927# CONFIG_DEBUG_SG is not set
861# CONFIG_DEBUG_NOTIFIERS is not set 928# CONFIG_DEBUG_NOTIFIERS is not set
862# CONFIG_BOOT_PRINTK_DELAY is not set 929# CONFIG_DEBUG_CREDENTIALS is not set
863# CONFIG_RCU_TORTURE_TEST is not set 930# CONFIG_RCU_TORTURE_TEST is not set
864# CONFIG_RCU_CPU_STALL_DETECTOR is not set 931# CONFIG_RCU_CPU_STALL_DETECTOR is not set
865# CONFIG_BACKTRACE_SELF_TEST is not set 932# CONFIG_BACKTRACE_SELF_TEST is not set
866# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set 933# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
934# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
867# CONFIG_FAULT_INJECTION is not set 935# CONFIG_FAULT_INJECTION is not set
868# CONFIG_LATENCYTOP is not set 936# CONFIG_LATENCYTOP is not set
869CONFIG_SYSCTL_SYSCALL_CHECK=y 937CONFIG_SYSCTL_SYSCALL_CHECK=y
@@ -873,24 +941,26 @@ CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
873CONFIG_HAVE_DYNAMIC_FTRACE=y 941CONFIG_HAVE_DYNAMIC_FTRACE=y
874CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 942CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
875CONFIG_TRACING_SUPPORT=y 943CONFIG_TRACING_SUPPORT=y
876 944CONFIG_FTRACE=y
877#
878# Tracers
879#
880# CONFIG_FUNCTION_TRACER is not set 945# CONFIG_FUNCTION_TRACER is not set
946# CONFIG_IRQSOFF_TRACER is not set
881# CONFIG_SCHED_TRACER is not set 947# CONFIG_SCHED_TRACER is not set
882# CONFIG_CONTEXT_SWITCH_TRACER is not set 948# CONFIG_ENABLE_DEFAULT_TRACERS is not set
883# CONFIG_EVENT_TRACER is not set
884# CONFIG_BOOT_TRACER is not set 949# CONFIG_BOOT_TRACER is not set
885# CONFIG_TRACE_BRANCH_PROFILING is not set 950CONFIG_BRANCH_PROFILE_NONE=y
951# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
952# CONFIG_PROFILE_ALL_BRANCHES is not set
886# CONFIG_STACK_TRACER is not set 953# CONFIG_STACK_TRACER is not set
887# CONFIG_KMEMTRACE is not set 954# CONFIG_KMEMTRACE is not set
888# CONFIG_WORKQUEUE_TRACER is not set 955# CONFIG_WORKQUEUE_TRACER is not set
889# CONFIG_BLK_DEV_IO_TRACE is not set 956# CONFIG_BLK_DEV_IO_TRACE is not set
890# CONFIG_DYNAMIC_DEBUG is not set 957# CONFIG_DYNAMIC_DEBUG is not set
958# CONFIG_DMA_API_DEBUG is not set
891# CONFIG_SAMPLES is not set 959# CONFIG_SAMPLES is not set
892CONFIG_HAVE_ARCH_KGDB=y 960CONFIG_HAVE_ARCH_KGDB=y
893# CONFIG_KGDB is not set 961# CONFIG_KGDB is not set
962# CONFIG_PPC_DISABLE_WERROR is not set
963CONFIG_PPC_WERROR=y
894CONFIG_PRINT_STACK_DEPTH=64 964CONFIG_PRINT_STACK_DEPTH=64
895# CONFIG_DEBUG_STACKOVERFLOW is not set 965# CONFIG_DEBUG_STACKOVERFLOW is not set
896# CONFIG_DEBUG_STACK_USAGE is not set 966# CONFIG_DEBUG_STACK_USAGE is not set
@@ -910,13 +980,16 @@ CONFIG_PRINT_STACK_DEPTH=64
910# CONFIG_KEYS is not set 980# CONFIG_KEYS is not set
911# CONFIG_SECURITY is not set 981# CONFIG_SECURITY is not set
912# CONFIG_SECURITYFS is not set 982# CONFIG_SECURITYFS is not set
913# CONFIG_SECURITY_FILE_CAPABILITIES is not set 983# CONFIG_DEFAULT_SECURITY_SELINUX is not set
984# CONFIG_DEFAULT_SECURITY_SMACK is not set
985# CONFIG_DEFAULT_SECURITY_TOMOYO is not set
986CONFIG_DEFAULT_SECURITY_DAC=y
987CONFIG_DEFAULT_SECURITY=""
914CONFIG_CRYPTO=y 988CONFIG_CRYPTO=y
915 989
916# 990#
917# Crypto core or helper 991# Crypto core or helper
918# 992#
919# CONFIG_CRYPTO_FIPS is not set
920CONFIG_CRYPTO_ALGAPI=y 993CONFIG_CRYPTO_ALGAPI=y
921CONFIG_CRYPTO_ALGAPI2=y 994CONFIG_CRYPTO_ALGAPI2=y
922CONFIG_CRYPTO_AEAD2=y 995CONFIG_CRYPTO_AEAD2=y
@@ -958,11 +1031,13 @@ CONFIG_CRYPTO_PCBC=y
958# 1031#
959# CONFIG_CRYPTO_HMAC is not set 1032# CONFIG_CRYPTO_HMAC is not set
960# CONFIG_CRYPTO_XCBC is not set 1033# CONFIG_CRYPTO_XCBC is not set
1034# CONFIG_CRYPTO_VMAC is not set
961 1035
962# 1036#
963# Digest 1037# Digest
964# 1038#
965# CONFIG_CRYPTO_CRC32C is not set 1039# CONFIG_CRYPTO_CRC32C is not set
1040# CONFIG_CRYPTO_GHASH is not set
966# CONFIG_CRYPTO_MD4 is not set 1041# CONFIG_CRYPTO_MD4 is not set
967CONFIG_CRYPTO_MD5=y 1042CONFIG_CRYPTO_MD5=y
968# CONFIG_CRYPTO_MICHAEL_MIC is not set 1043# CONFIG_CRYPTO_MICHAEL_MIC is not set
diff --git a/arch/powerpc/configs/40x/virtex_defconfig b/arch/powerpc/configs/40x/virtex_defconfig
index 416e79ac0711..c76313577140 100644
--- a/arch/powerpc/configs/40x/virtex_defconfig
+++ b/arch/powerpc/configs/40x/virtex_defconfig
@@ -77,8 +77,7 @@ CONFIG_IKCONFIG_PROC=y
77CONFIG_LOG_BUF_SHIFT=14 77CONFIG_LOG_BUF_SHIFT=14
78# CONFIG_GROUP_SCHED is not set 78# CONFIG_GROUP_SCHED is not set
79# CONFIG_CGROUPS is not set 79# CONFIG_CGROUPS is not set
80CONFIG_SYSFS_DEPRECATED=y 80# CONFIG_SYSFS_DEPRECATED_V2 is not set
81CONFIG_SYSFS_DEPRECATED_V2=y
82# CONFIG_RELAY is not set 81# CONFIG_RELAY is not set
83CONFIG_NAMESPACES=y 82CONFIG_NAMESPACES=y
84# CONFIG_UTS_NS is not set 83# CONFIG_UTS_NS is not set
diff --git a/arch/powerpc/configs/40x/walnut_defconfig b/arch/powerpc/configs/40x/walnut_defconfig
index 5ab29dddd21c..6597b2f1d1a8 100644
--- a/arch/powerpc/configs/40x/walnut_defconfig
+++ b/arch/powerpc/configs/40x/walnut_defconfig
@@ -1,14 +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.29-rc2 3# Linux kernel version: 2.6.33-rc1
4# Tue Jan 20 08:17:57 2009 4# Mon Jan 4 15:56:30 2010
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
8# 8#
9# Processor support 9# Processor support
10# 10#
11# CONFIG_6xx is not set 11# CONFIG_PPC_BOOK3S_32 is not set
12# CONFIG_PPC_85xx is not set 12# CONFIG_PPC_85xx is not set
13# CONFIG_PPC_8xx is not set 13# CONFIG_PPC_8xx is not set
14CONFIG_40x=y 14CONFIG_40x=y
@@ -16,6 +16,7 @@ CONFIG_40x=y
16# CONFIG_E200 is not set 16# CONFIG_E200 is not set
17CONFIG_4xx=y 17CONFIG_4xx=y
18CONFIG_PPC_MMU_NOHASH=y 18CONFIG_PPC_MMU_NOHASH=y
19CONFIG_PPC_MMU_NOHASH_32=y
19# CONFIG_PPC_MM_SLICES is not set 20# CONFIG_PPC_MM_SLICES is not set
20CONFIG_NOT_COHERENT_CACHE=y 21CONFIG_NOT_COHERENT_CACHE=y
21CONFIG_PPC32=y 22CONFIG_PPC32=y
@@ -27,15 +28,18 @@ CONFIG_GENERIC_TIME=y
27CONFIG_GENERIC_TIME_VSYSCALL=y 28CONFIG_GENERIC_TIME_VSYSCALL=y
28CONFIG_GENERIC_CLOCKEVENTS=y 29CONFIG_GENERIC_CLOCKEVENTS=y
29CONFIG_GENERIC_HARDIRQS=y 30CONFIG_GENERIC_HARDIRQS=y
31CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
30# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 32# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
33# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
31CONFIG_IRQ_PER_CPU=y 34CONFIG_IRQ_PER_CPU=y
35CONFIG_NR_IRQS=512
32CONFIG_STACKTRACE_SUPPORT=y 36CONFIG_STACKTRACE_SUPPORT=y
33CONFIG_HAVE_LATENCYTOP_SUPPORT=y 37CONFIG_HAVE_LATENCYTOP_SUPPORT=y
38CONFIG_TRACE_IRQFLAGS_SUPPORT=y
34CONFIG_LOCKDEP_SUPPORT=y 39CONFIG_LOCKDEP_SUPPORT=y
35CONFIG_RWSEM_XCHGADD_ALGORITHM=y 40CONFIG_RWSEM_XCHGADD_ALGORITHM=y
36CONFIG_ARCH_HAS_ILOG2_U32=y 41CONFIG_ARCH_HAS_ILOG2_U32=y
37CONFIG_GENERIC_HWEIGHT=y 42CONFIG_GENERIC_HWEIGHT=y
38CONFIG_GENERIC_CALIBRATE_DELAY=y
39CONFIG_GENERIC_FIND_NEXT_BIT=y 43CONFIG_GENERIC_FIND_NEXT_BIT=y
40# CONFIG_ARCH_NO_VIRT_TO_BUS is not set 44# CONFIG_ARCH_NO_VIRT_TO_BUS is not set
41CONFIG_PPC=y 45CONFIG_PPC=y
@@ -49,11 +53,15 @@ CONFIG_PPC_UDBG_16550=y
49# CONFIG_GENERIC_TBSYNC is not set 53# CONFIG_GENERIC_TBSYNC is not set
50CONFIG_AUDIT_ARCH=y 54CONFIG_AUDIT_ARCH=y
51CONFIG_GENERIC_BUG=y 55CONFIG_GENERIC_BUG=y
56CONFIG_DTC=y
52# CONFIG_DEFAULT_UIMAGE is not set 57# CONFIG_DEFAULT_UIMAGE is not set
58CONFIG_ARCH_HIBERNATION_POSSIBLE=y
53CONFIG_PPC_DCR_NATIVE=y 59CONFIG_PPC_DCR_NATIVE=y
54# CONFIG_PPC_DCR_MMIO is not set 60# CONFIG_PPC_DCR_MMIO is not set
55CONFIG_PPC_DCR=y 61CONFIG_PPC_DCR=y
62CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
56CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 63CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
64CONFIG_CONSTRUCTORS=y
57 65
58# 66#
59# General setup 67# General setup
@@ -67,9 +75,21 @@ CONFIG_SWAP=y
67CONFIG_SYSVIPC=y 75CONFIG_SYSVIPC=y
68CONFIG_SYSVIPC_SYSCTL=y 76CONFIG_SYSVIPC_SYSCTL=y
69CONFIG_POSIX_MQUEUE=y 77CONFIG_POSIX_MQUEUE=y
78CONFIG_POSIX_MQUEUE_SYSCTL=y
70# CONFIG_BSD_PROCESS_ACCT is not set 79# CONFIG_BSD_PROCESS_ACCT is not set
71# CONFIG_TASKSTATS is not set 80# CONFIG_TASKSTATS is not set
72# CONFIG_AUDIT is not set 81# CONFIG_AUDIT is not set
82
83#
84# RCU Subsystem
85#
86CONFIG_TREE_RCU=y
87# CONFIG_TREE_PREEMPT_RCU is not set
88# CONFIG_TINY_RCU is not set
89# CONFIG_RCU_TRACE is not set
90CONFIG_RCU_FANOUT=32
91# CONFIG_RCU_FANOUT_EXACT is not set
92# CONFIG_TREE_RCU_TRACE is not set
73# CONFIG_IKCONFIG is not set 93# CONFIG_IKCONFIG is not set
74CONFIG_LOG_BUF_SHIFT=14 94CONFIG_LOG_BUF_SHIFT=14
75CONFIG_GROUP_SCHED=y 95CONFIG_GROUP_SCHED=y
@@ -78,37 +98,45 @@ CONFIG_FAIR_GROUP_SCHED=y
78CONFIG_USER_SCHED=y 98CONFIG_USER_SCHED=y
79# CONFIG_CGROUP_SCHED is not set 99# CONFIG_CGROUP_SCHED is not set
80# CONFIG_CGROUPS is not set 100# CONFIG_CGROUPS is not set
81CONFIG_SYSFS_DEPRECATED=y 101# CONFIG_SYSFS_DEPRECATED_V2 is not set
82CONFIG_SYSFS_DEPRECATED_V2=y
83# CONFIG_RELAY is not set 102# CONFIG_RELAY is not set
84# CONFIG_NAMESPACES is not set 103# CONFIG_NAMESPACES is not set
85CONFIG_BLK_DEV_INITRD=y 104CONFIG_BLK_DEV_INITRD=y
86CONFIG_INITRAMFS_SOURCE="" 105CONFIG_INITRAMFS_SOURCE=""
106CONFIG_RD_GZIP=y
107# CONFIG_RD_BZIP2 is not set
108# CONFIG_RD_LZMA is not set
87# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 109# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
88CONFIG_SYSCTL=y 110CONFIG_SYSCTL=y
111CONFIG_ANON_INODES=y
89CONFIG_EMBEDDED=y 112CONFIG_EMBEDDED=y
90CONFIG_SYSCTL_SYSCALL=y 113CONFIG_SYSCTL_SYSCALL=y
91CONFIG_KALLSYMS=y 114CONFIG_KALLSYMS=y
92CONFIG_KALLSYMS_ALL=y 115CONFIG_KALLSYMS_ALL=y
93CONFIG_KALLSYMS_STRIP_GENERATED=y
94CONFIG_KALLSYMS_EXTRA_PASS=y 116CONFIG_KALLSYMS_EXTRA_PASS=y
95CONFIG_HOTPLUG=y 117CONFIG_HOTPLUG=y
96CONFIG_PRINTK=y 118CONFIG_PRINTK=y
97CONFIG_BUG=y 119CONFIG_BUG=y
98CONFIG_ELF_CORE=y 120CONFIG_ELF_CORE=y
99CONFIG_COMPAT_BRK=y
100CONFIG_BASE_FULL=y 121CONFIG_BASE_FULL=y
101CONFIG_FUTEX=y 122CONFIG_FUTEX=y
102CONFIG_ANON_INODES=y
103CONFIG_EPOLL=y 123CONFIG_EPOLL=y
104CONFIG_SIGNALFD=y 124CONFIG_SIGNALFD=y
105CONFIG_TIMERFD=y 125CONFIG_TIMERFD=y
106CONFIG_EVENTFD=y 126CONFIG_EVENTFD=y
107CONFIG_SHMEM=y 127CONFIG_SHMEM=y
108CONFIG_AIO=y 128CONFIG_AIO=y
129CONFIG_HAVE_PERF_EVENTS=y
130
131#
132# Kernel Performance Events And Counters
133#
134# CONFIG_PERF_EVENTS is not set
135# CONFIG_PERF_COUNTERS is not set
109CONFIG_VM_EVENT_COUNTERS=y 136CONFIG_VM_EVENT_COUNTERS=y
110CONFIG_PCI_QUIRKS=y 137CONFIG_PCI_QUIRKS=y
111CONFIG_SLUB_DEBUG=y 138CONFIG_SLUB_DEBUG=y
139CONFIG_COMPAT_BRK=y
112# CONFIG_SLAB is not set 140# CONFIG_SLAB is not set
113CONFIG_SLUB=y 141CONFIG_SLUB=y
114# CONFIG_SLOB is not set 142# CONFIG_SLOB is not set
@@ -120,6 +148,14 @@ CONFIG_HAVE_IOREMAP_PROT=y
120CONFIG_HAVE_KPROBES=y 148CONFIG_HAVE_KPROBES=y
121CONFIG_HAVE_KRETPROBES=y 149CONFIG_HAVE_KRETPROBES=y
122CONFIG_HAVE_ARCH_TRACEHOOK=y 150CONFIG_HAVE_ARCH_TRACEHOOK=y
151CONFIG_HAVE_DMA_ATTRS=y
152CONFIG_HAVE_DMA_API_DEBUG=y
153
154#
155# GCOV-based kernel profiling
156#
157# CONFIG_GCOV_KERNEL is not set
158# CONFIG_SLOW_WORK is not set
123# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 159# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
124CONFIG_SLABINFO=y 160CONFIG_SLABINFO=y
125CONFIG_RT_MUTEXES=y 161CONFIG_RT_MUTEXES=y
@@ -131,8 +167,7 @@ CONFIG_MODULE_UNLOAD=y
131# CONFIG_MODVERSIONS is not set 167# CONFIG_MODVERSIONS is not set
132# CONFIG_MODULE_SRCVERSION_ALL is not set 168# CONFIG_MODULE_SRCVERSION_ALL is not set
133CONFIG_BLOCK=y 169CONFIG_BLOCK=y
134CONFIG_LBD=y 170CONFIG_LBDAF=y
135# CONFIG_BLK_DEV_IO_TRACE is not set
136# CONFIG_BLK_DEV_BSG is not set 171# CONFIG_BLK_DEV_BSG is not set
137# CONFIG_BLK_DEV_INTEGRITY is not set 172# CONFIG_BLK_DEV_INTEGRITY is not set
138 173
@@ -140,19 +175,41 @@ CONFIG_LBD=y
140# IO Schedulers 175# IO Schedulers
141# 176#
142CONFIG_IOSCHED_NOOP=y 177CONFIG_IOSCHED_NOOP=y
143CONFIG_IOSCHED_AS=y
144CONFIG_IOSCHED_DEADLINE=y 178CONFIG_IOSCHED_DEADLINE=y
145CONFIG_IOSCHED_CFQ=y 179CONFIG_IOSCHED_CFQ=y
146CONFIG_DEFAULT_AS=y
147# CONFIG_DEFAULT_DEADLINE is not set 180# CONFIG_DEFAULT_DEADLINE is not set
148# CONFIG_DEFAULT_CFQ is not set 181CONFIG_DEFAULT_CFQ=y
149# CONFIG_DEFAULT_NOOP is not set 182# CONFIG_DEFAULT_NOOP is not set
150CONFIG_DEFAULT_IOSCHED="anticipatory" 183CONFIG_DEFAULT_IOSCHED="cfq"
151CONFIG_CLASSIC_RCU=y 184# CONFIG_INLINE_SPIN_TRYLOCK is not set
152# CONFIG_TREE_RCU is not set 185# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
153# CONFIG_PREEMPT_RCU is not set 186# CONFIG_INLINE_SPIN_LOCK is not set
154# CONFIG_TREE_RCU_TRACE is not set 187# CONFIG_INLINE_SPIN_LOCK_BH is not set
155# CONFIG_PREEMPT_RCU_TRACE is not set 188# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
189# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
190CONFIG_INLINE_SPIN_UNLOCK=y
191# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
192CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
193# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
194# CONFIG_INLINE_READ_TRYLOCK is not set
195# CONFIG_INLINE_READ_LOCK is not set
196# CONFIG_INLINE_READ_LOCK_BH is not set
197# CONFIG_INLINE_READ_LOCK_IRQ is not set
198# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
199CONFIG_INLINE_READ_UNLOCK=y
200# CONFIG_INLINE_READ_UNLOCK_BH is not set
201CONFIG_INLINE_READ_UNLOCK_IRQ=y
202# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
203# CONFIG_INLINE_WRITE_TRYLOCK is not set
204# CONFIG_INLINE_WRITE_LOCK is not set
205# CONFIG_INLINE_WRITE_LOCK_BH is not set
206# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
207# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
208CONFIG_INLINE_WRITE_UNLOCK=y
209# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
210CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
211# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
212# CONFIG_MUTEX_SPIN_ON_OWNER is not set
156# CONFIG_FREEZER is not set 213# CONFIG_FREEZER is not set
157# CONFIG_PPC4xx_PCI_EXPRESS is not set 214# CONFIG_PPC4xx_PCI_EXPRESS is not set
158 215
@@ -166,6 +223,7 @@ CONFIG_CLASSIC_RCU=y
166# CONFIG_ACADIA is not set 223# CONFIG_ACADIA is not set
167# CONFIG_EP405 is not set 224# CONFIG_EP405 is not set
168# CONFIG_HCU4 is not set 225# CONFIG_HCU4 is not set
226# CONFIG_HOTFOOT is not set
169# CONFIG_KILAUEA is not set 227# CONFIG_KILAUEA is not set
170# CONFIG_MAKALU is not set 228# CONFIG_MAKALU is not set
171CONFIG_WALNUT=y 229CONFIG_WALNUT=y
@@ -211,10 +269,12 @@ CONFIG_BINFMT_ELF=y
211# CONFIG_BINFMT_MISC is not set 269# CONFIG_BINFMT_MISC is not set
212# CONFIG_MATH_EMULATION is not set 270# CONFIG_MATH_EMULATION is not set
213# CONFIG_IOMMU_HELPER is not set 271# CONFIG_IOMMU_HELPER is not set
214CONFIG_PPC_NEED_DMA_SYNC_OPS=y 272# CONFIG_SWIOTLB is not set
215CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 273CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
216CONFIG_ARCH_HAS_WALK_MEMORY=y 274CONFIG_ARCH_HAS_WALK_MEMORY=y
217CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 275CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
276CONFIG_SPARSE_IRQ=y
277CONFIG_MAX_ACTIVE_REGIONS=32
218CONFIG_ARCH_FLATMEM_ENABLE=y 278CONFIG_ARCH_FLATMEM_ENABLE=y
219CONFIG_ARCH_POPULATES_NODE_MAP=y 279CONFIG_ARCH_POPULATES_NODE_MAP=y
220CONFIG_SELECT_MEMORY_MODEL=y 280CONFIG_SELECT_MEMORY_MODEL=y
@@ -230,10 +290,12 @@ CONFIG_MIGRATION=y
230CONFIG_ZONE_DMA_FLAG=1 290CONFIG_ZONE_DMA_FLAG=1
231CONFIG_BOUNCE=y 291CONFIG_BOUNCE=y
232CONFIG_VIRT_TO_BUS=y 292CONFIG_VIRT_TO_BUS=y
233CONFIG_UNEVICTABLE_LRU=y 293# CONFIG_KSM is not set
294CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
234CONFIG_PPC_4K_PAGES=y 295CONFIG_PPC_4K_PAGES=y
235# CONFIG_PPC_16K_PAGES is not set 296# CONFIG_PPC_16K_PAGES is not set
236# CONFIG_PPC_64K_PAGES is not set 297# CONFIG_PPC_64K_PAGES is not set
298# CONFIG_PPC_256K_PAGES is not set
237CONFIG_FORCE_MAX_ZONEORDER=11 299CONFIG_FORCE_MAX_ZONEORDER=11
238CONFIG_PROC_DEVICETREE=y 300CONFIG_PROC_DEVICETREE=y
239# CONFIG_CMDLINE_BOOL is not set 301# CONFIG_CMDLINE_BOOL is not set
@@ -258,6 +320,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
258# CONFIG_PCI_LEGACY is not set 320# CONFIG_PCI_LEGACY is not set
259# CONFIG_PCI_DEBUG is not set 321# CONFIG_PCI_DEBUG is not set
260# CONFIG_PCI_STUB is not set 322# CONFIG_PCI_STUB is not set
323# CONFIG_PCI_IOV is not set
261# CONFIG_PCCARD is not set 324# CONFIG_PCCARD is not set
262# CONFIG_HOTPLUG_PCI is not set 325# CONFIG_HOTPLUG_PCI is not set
263# CONFIG_HAS_RAPIDIO is not set 326# CONFIG_HAS_RAPIDIO is not set
@@ -275,14 +338,12 @@ CONFIG_PAGE_OFFSET=0xc0000000
275CONFIG_KERNEL_START=0xc0000000 338CONFIG_KERNEL_START=0xc0000000
276CONFIG_PHYSICAL_START=0x00000000 339CONFIG_PHYSICAL_START=0x00000000
277CONFIG_TASK_SIZE=0xc0000000 340CONFIG_TASK_SIZE=0xc0000000
278CONFIG_CONSISTENT_START=0xff100000
279CONFIG_CONSISTENT_SIZE=0x00200000 341CONFIG_CONSISTENT_SIZE=0x00200000
280CONFIG_NET=y 342CONFIG_NET=y
281 343
282# 344#
283# Networking options 345# Networking options
284# 346#
285CONFIG_COMPAT_NET_DEV_OPS=y
286CONFIG_PACKET=y 347CONFIG_PACKET=y
287# CONFIG_PACKET_MMAP is not set 348# CONFIG_PACKET_MMAP is not set
288CONFIG_UNIX=y 349CONFIG_UNIX=y
@@ -319,6 +380,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
319# CONFIG_NETFILTER is not set 380# CONFIG_NETFILTER is not set
320# CONFIG_IP_DCCP is not set 381# CONFIG_IP_DCCP is not set
321# CONFIG_IP_SCTP is not set 382# CONFIG_IP_SCTP is not set
383# CONFIG_RDS is not set
322# CONFIG_TIPC is not set 384# CONFIG_TIPC is not set
323# CONFIG_ATM is not set 385# CONFIG_ATM is not set
324# CONFIG_BRIDGE is not set 386# CONFIG_BRIDGE is not set
@@ -332,6 +394,8 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
332# CONFIG_LAPB is not set 394# CONFIG_LAPB is not set
333# CONFIG_ECONET is not set 395# CONFIG_ECONET is not set
334# CONFIG_WAN_ROUTER is not set 396# CONFIG_WAN_ROUTER is not set
397# CONFIG_PHONET is not set
398# CONFIG_IEEE802154 is not set
335# CONFIG_NET_SCHED is not set 399# CONFIG_NET_SCHED is not set
336# CONFIG_DCB is not set 400# CONFIG_DCB is not set
337 401
@@ -344,8 +408,13 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
344# CONFIG_IRDA is not set 408# CONFIG_IRDA is not set
345# CONFIG_BT is not set 409# CONFIG_BT is not set
346# CONFIG_AF_RXRPC is not set 410# CONFIG_AF_RXRPC is not set
347# CONFIG_PHONET is not set 411CONFIG_WIRELESS=y
348# CONFIG_WIRELESS is not set 412# CONFIG_CFG80211 is not set
413# CONFIG_LIB80211 is not set
414
415#
416# CFG80211 needs to be enabled for MAC80211
417#
349# CONFIG_WIMAX is not set 418# CONFIG_WIMAX is not set
350# CONFIG_RFKILL is not set 419# CONFIG_RFKILL is not set
351# CONFIG_NET_9P is not set 420# CONFIG_NET_9P is not set
@@ -358,6 +427,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
358# Generic Driver Options 427# Generic Driver Options
359# 428#
360CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 429CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
430# CONFIG_DEVTMPFS is not set
361CONFIG_STANDALONE=y 431CONFIG_STANDALONE=y
362CONFIG_PREVENT_FIRMWARE_BUILD=y 432CONFIG_PREVENT_FIRMWARE_BUILD=y
363CONFIG_FW_LOADER=y 433CONFIG_FW_LOADER=y
@@ -370,9 +440,9 @@ CONFIG_CONNECTOR=y
370CONFIG_PROC_EVENTS=y 440CONFIG_PROC_EVENTS=y
371CONFIG_MTD=y 441CONFIG_MTD=y
372# CONFIG_MTD_DEBUG is not set 442# CONFIG_MTD_DEBUG is not set
443# CONFIG_MTD_TESTS is not set
373# CONFIG_MTD_CONCAT is not set 444# CONFIG_MTD_CONCAT is not set
374CONFIG_MTD_PARTITIONS=y 445CONFIG_MTD_PARTITIONS=y
375# CONFIG_MTD_TESTS is not set
376# CONFIG_MTD_REDBOOT_PARTS is not set 446# CONFIG_MTD_REDBOOT_PARTS is not set
377CONFIG_MTD_CMDLINE_PARTS=y 447CONFIG_MTD_CMDLINE_PARTS=y
378CONFIG_MTD_OF_PARTS=y 448CONFIG_MTD_OF_PARTS=y
@@ -448,7 +518,6 @@ CONFIG_MTD_PHYSMAP_OF=y
448# LPDDR flash memory drivers 518# LPDDR flash memory drivers
449# 519#
450# CONFIG_MTD_LPDDR is not set 520# CONFIG_MTD_LPDDR is not set
451# CONFIG_MTD_QINFO_PROBE is not set
452 521
453# 522#
454# UBI - Unsorted block images 523# UBI - Unsorted block images
@@ -464,6 +533,7 @@ CONFIG_BLK_DEV=y
464# CONFIG_BLK_DEV_UMEM is not set 533# CONFIG_BLK_DEV_UMEM is not set
465# CONFIG_BLK_DEV_COW_COMMON is not set 534# CONFIG_BLK_DEV_COW_COMMON is not set
466# CONFIG_BLK_DEV_LOOP is not set 535# CONFIG_BLK_DEV_LOOP is not set
536# CONFIG_BLK_DEV_DRBD is not set
467# CONFIG_BLK_DEV_NBD is not set 537# CONFIG_BLK_DEV_NBD is not set
468# CONFIG_BLK_DEV_SX8 is not set 538# CONFIG_BLK_DEV_SX8 is not set
469CONFIG_BLK_DEV_RAM=y 539CONFIG_BLK_DEV_RAM=y
@@ -476,12 +546,17 @@ CONFIG_BLK_DEV_RAM_SIZE=35000
476# CONFIG_BLK_DEV_HD is not set 546# CONFIG_BLK_DEV_HD is not set
477CONFIG_MISC_DEVICES=y 547CONFIG_MISC_DEVICES=y
478# CONFIG_PHANTOM is not set 548# CONFIG_PHANTOM is not set
479# CONFIG_EEPROM_93CX6 is not set
480# CONFIG_SGI_IOC4 is not set 549# CONFIG_SGI_IOC4 is not set
481# CONFIG_TIFM_CORE is not set 550# CONFIG_TIFM_CORE is not set
482# CONFIG_ENCLOSURE_SERVICES is not set 551# CONFIG_ENCLOSURE_SERVICES is not set
483# CONFIG_HP_ILO is not set 552# CONFIG_HP_ILO is not set
484# CONFIG_C2PORT is not set 553# CONFIG_C2PORT is not set
554
555#
556# EEPROM support
557#
558# CONFIG_EEPROM_93CX6 is not set
559# CONFIG_CB710_CORE is not set
485CONFIG_HAVE_IDE=y 560CONFIG_HAVE_IDE=y
486# CONFIG_IDE is not set 561# CONFIG_IDE is not set
487 562
@@ -501,7 +576,11 @@ CONFIG_HAVE_IDE=y
501# 576#
502 577
503# 578#
504# Enable only one of the two stacks, unless you know what you are doing 579# You can enable one or both FireWire driver stacks.
580#
581
582#
583# See the help texts for more information.
505# 584#
506# CONFIG_FIREWIRE is not set 585# CONFIG_FIREWIRE is not set
507# CONFIG_IEEE1394 is not set 586# CONFIG_IEEE1394 is not set
@@ -522,6 +601,8 @@ CONFIG_NET_ETHERNET=y
522# CONFIG_SUNGEM is not set 601# CONFIG_SUNGEM is not set
523# CONFIG_CASSINI is not set 602# CONFIG_CASSINI is not set
524# CONFIG_NET_VENDOR_3COM is not set 603# CONFIG_NET_VENDOR_3COM is not set
604# CONFIG_ETHOC is not set
605# CONFIG_DNET is not set
525# CONFIG_NET_TULIP is not set 606# CONFIG_NET_TULIP is not set
526# CONFIG_HP100 is not set 607# CONFIG_HP100 is not set
527CONFIG_IBM_NEW_EMAC=y 608CONFIG_IBM_NEW_EMAC=y
@@ -540,7 +621,10 @@ CONFIG_IBM_NEW_EMAC_ZMII=y
540# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set 621# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
541# CONFIG_NET_PCI is not set 622# CONFIG_NET_PCI is not set
542# CONFIG_B44 is not set 623# CONFIG_B44 is not set
624# CONFIG_KS8842 is not set
625# CONFIG_KS8851_MLL is not set
543# CONFIG_ATL2 is not set 626# CONFIG_ATL2 is not set
627# CONFIG_XILINX_EMACLITE is not set
544CONFIG_NETDEV_1000=y 628CONFIG_NETDEV_1000=y
545# CONFIG_ACENIC is not set 629# CONFIG_ACENIC is not set
546# CONFIG_DL2K is not set 630# CONFIG_DL2K is not set
@@ -548,6 +632,7 @@ CONFIG_NETDEV_1000=y
548# CONFIG_E1000E is not set 632# CONFIG_E1000E is not set
549# CONFIG_IP1000 is not set 633# CONFIG_IP1000 is not set
550# CONFIG_IGB is not set 634# CONFIG_IGB is not set
635# CONFIG_IGBVF is not set
551# CONFIG_NS83820 is not set 636# CONFIG_NS83820 is not set
552# CONFIG_HAMACHI is not set 637# CONFIG_HAMACHI is not set
553# CONFIG_YELLOWFIN is not set 638# CONFIG_YELLOWFIN is not set
@@ -558,9 +643,13 @@ CONFIG_NETDEV_1000=y
558# CONFIG_VIA_VELOCITY is not set 643# CONFIG_VIA_VELOCITY is not set
559# CONFIG_TIGON3 is not set 644# CONFIG_TIGON3 is not set
560# CONFIG_BNX2 is not set 645# CONFIG_BNX2 is not set
646# CONFIG_CNIC is not set
647# CONFIG_MV643XX_ETH is not set
648# CONFIG_XILINX_LL_TEMAC is not set
561# CONFIG_QLA3XXX is not set 649# CONFIG_QLA3XXX is not set
562# CONFIG_ATL1 is not set 650# CONFIG_ATL1 is not set
563# CONFIG_ATL1E is not set 651# CONFIG_ATL1E is not set
652# CONFIG_ATL1C is not set
564# CONFIG_JME is not set 653# CONFIG_JME is not set
565CONFIG_NETDEV_10000=y 654CONFIG_NETDEV_10000=y
566# CONFIG_CHELSIO_T1 is not set 655# CONFIG_CHELSIO_T1 is not set
@@ -570,6 +659,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
570# CONFIG_IXGBE is not set 659# CONFIG_IXGBE is not set
571# CONFIG_IXGB is not set 660# CONFIG_IXGB is not set
572# CONFIG_S2IO is not set 661# CONFIG_S2IO is not set
662# CONFIG_VXGE is not set
573# CONFIG_MYRI10GE is not set 663# CONFIG_MYRI10GE is not set
574# CONFIG_NETXEN_NIC is not set 664# CONFIG_NETXEN_NIC is not set
575# CONFIG_NIU is not set 665# CONFIG_NIU is not set
@@ -579,14 +669,13 @@ CONFIG_CHELSIO_T3_DEPENDS=y
579# CONFIG_BNX2X is not set 669# CONFIG_BNX2X is not set
580# CONFIG_QLGE is not set 670# CONFIG_QLGE is not set
581# CONFIG_SFC is not set 671# CONFIG_SFC is not set
672# CONFIG_BE2NET is not set
582# CONFIG_TR is not set 673# CONFIG_TR is not set
583 674CONFIG_WLAN=y
584# 675# CONFIG_AIRO is not set
585# Wireless LAN 676# CONFIG_ATMEL is not set
586# 677# CONFIG_PRISM54 is not set
587# CONFIG_WLAN_PRE80211 is not set 678# CONFIG_HOSTAP is not set
588# CONFIG_WLAN_80211 is not set
589# CONFIG_IWLWIFI_LEDS is not set
590 679
591# 680#
592# Enable WiMAX (Networking options) to see the WiMAX drivers 681# Enable WiMAX (Networking options) to see the WiMAX drivers
@@ -599,6 +688,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
599# CONFIG_NETCONSOLE is not set 688# CONFIG_NETCONSOLE is not set
600# CONFIG_NETPOLL is not set 689# CONFIG_NETPOLL is not set
601# CONFIG_NET_POLL_CONTROLLER is not set 690# CONFIG_NET_POLL_CONTROLLER is not set
691# CONFIG_VMXNET3 is not set
602# CONFIG_ISDN is not set 692# CONFIG_ISDN is not set
603# CONFIG_PHONE is not set 693# CONFIG_PHONE is not set
604 694
@@ -644,6 +734,7 @@ CONFIG_SERIAL_CORE_CONSOLE=y
644# CONFIG_SERIAL_JSM is not set 734# CONFIG_SERIAL_JSM is not set
645CONFIG_SERIAL_OF_PLATFORM=y 735CONFIG_SERIAL_OF_PLATFORM=y
646# CONFIG_SERIAL_OF_PLATFORM_NWPSERIAL is not set 736# CONFIG_SERIAL_OF_PLATFORM_NWPSERIAL is not set
737# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set
647CONFIG_UNIX98_PTYS=y 738CONFIG_UNIX98_PTYS=y
648# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set 739# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
649CONFIG_LEGACY_PTYS=y 740CONFIG_LEGACY_PTYS=y
@@ -660,6 +751,11 @@ CONFIG_LEGACY_PTY_COUNT=256
660CONFIG_DEVPORT=y 751CONFIG_DEVPORT=y
661# CONFIG_I2C is not set 752# CONFIG_I2C is not set
662# CONFIG_SPI is not set 753# CONFIG_SPI is not set
754
755#
756# PPS support
757#
758# CONFIG_PPS is not set
663CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y 759CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
664# CONFIG_GPIOLIB is not set 760# CONFIG_GPIOLIB is not set
665# CONFIG_W1 is not set 761# CONFIG_W1 is not set
@@ -682,27 +778,13 @@ CONFIG_SSB_POSSIBLE=y
682# CONFIG_HTC_PASIC3 is not set 778# CONFIG_HTC_PASIC3 is not set
683# CONFIG_MFD_TMIO is not set 779# CONFIG_MFD_TMIO is not set
684# CONFIG_REGULATOR is not set 780# CONFIG_REGULATOR is not set
685 781# CONFIG_MEDIA_SUPPORT is not set
686#
687# Multimedia devices
688#
689
690#
691# Multimedia core support
692#
693# CONFIG_VIDEO_DEV is not set
694# CONFIG_DVB_CORE is not set
695# CONFIG_VIDEO_MEDIA is not set
696
697#
698# Multimedia drivers
699#
700# CONFIG_DAB is not set
701 782
702# 783#
703# Graphics support 784# Graphics support
704# 785#
705# CONFIG_AGP is not set 786# CONFIG_AGP is not set
787CONFIG_VGA_ARB=y
706# CONFIG_DRM is not set 788# CONFIG_DRM is not set
707# CONFIG_VGASTATE is not set 789# CONFIG_VGASTATE is not set
708CONFIG_VIDEO_OUTPUT_CONTROL=m 790CONFIG_VIDEO_OUTPUT_CONTROL=m
@@ -727,7 +809,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
727# 809#
728 810
729# 811#
730# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; 812# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
731# 813#
732# CONFIG_USB_GADGET is not set 814# CONFIG_USB_GADGET is not set
733 815
@@ -743,7 +825,12 @@ CONFIG_USB_ARCH_HAS_EHCI=y
743# CONFIG_EDAC is not set 825# CONFIG_EDAC is not set
744# CONFIG_RTC_CLASS is not set 826# CONFIG_RTC_CLASS is not set
745# CONFIG_DMADEVICES is not set 827# CONFIG_DMADEVICES is not set
828# CONFIG_AUXDISPLAY is not set
746# CONFIG_UIO is not set 829# CONFIG_UIO is not set
830
831#
832# TI VLYNQ
833#
747# CONFIG_STAGING is not set 834# CONFIG_STAGING is not set
748 835
749# 836#
@@ -754,14 +841,17 @@ CONFIG_EXT2_FS=y
754# CONFIG_EXT2_FS_XIP is not set 841# CONFIG_EXT2_FS_XIP is not set
755# CONFIG_EXT3_FS is not set 842# CONFIG_EXT3_FS is not set
756# CONFIG_EXT4_FS is not set 843# CONFIG_EXT4_FS is not set
844CONFIG_EXT4_USE_FOR_EXT23=y
757# CONFIG_REISERFS_FS is not set 845# CONFIG_REISERFS_FS is not set
758# CONFIG_JFS_FS is not set 846# CONFIG_JFS_FS is not set
759# CONFIG_FS_POSIX_ACL is not set 847# CONFIG_FS_POSIX_ACL is not set
760CONFIG_FILE_LOCKING=y
761# CONFIG_XFS_FS is not set 848# CONFIG_XFS_FS is not set
762# CONFIG_GFS2_FS is not set 849# CONFIG_GFS2_FS is not set
763# CONFIG_OCFS2_FS is not set 850# CONFIG_OCFS2_FS is not set
764# CONFIG_BTRFS_FS is not set 851# CONFIG_BTRFS_FS is not set
852# CONFIG_NILFS2_FS is not set
853CONFIG_FILE_LOCKING=y
854CONFIG_FSNOTIFY=y
765CONFIG_DNOTIFY=y 855CONFIG_DNOTIFY=y
766CONFIG_INOTIFY=y 856CONFIG_INOTIFY=y
767CONFIG_INOTIFY_USER=y 857CONFIG_INOTIFY_USER=y
@@ -771,6 +861,11 @@ CONFIG_INOTIFY_USER=y
771# CONFIG_FUSE_FS is not set 861# CONFIG_FUSE_FS is not set
772 862
773# 863#
864# Caches
865#
866# CONFIG_FSCACHE is not set
867
868#
774# CD-ROM/DVD Filesystems 869# CD-ROM/DVD Filesystems
775# 870#
776# CONFIG_ISO9660_FS is not set 871# CONFIG_ISO9660_FS is not set
@@ -825,7 +920,6 @@ CONFIG_LOCKD=y
825CONFIG_LOCKD_V4=y 920CONFIG_LOCKD_V4=y
826CONFIG_NFS_COMMON=y 921CONFIG_NFS_COMMON=y
827CONFIG_SUNRPC=y 922CONFIG_SUNRPC=y
828# CONFIG_SUNRPC_REGISTER_V4 is not set
829# CONFIG_RPCSEC_GSS_KRB5 is not set 923# CONFIG_RPCSEC_GSS_KRB5 is not set
830# CONFIG_RPCSEC_GSS_SPKM3 is not set 924# CONFIG_RPCSEC_GSS_SPKM3 is not set
831# CONFIG_SMB_FS is not set 925# CONFIG_SMB_FS is not set
@@ -841,6 +935,7 @@ CONFIG_SUNRPC=y
841CONFIG_MSDOS_PARTITION=y 935CONFIG_MSDOS_PARTITION=y
842# CONFIG_NLS is not set 936# CONFIG_NLS is not set
843# CONFIG_DLM is not set 937# CONFIG_DLM is not set
938# CONFIG_BINARY_PRINTF is not set
844 939
845# 940#
846# Library routines 941# Library routines
@@ -855,11 +950,13 @@ CONFIG_CRC32=y
855# CONFIG_CRC7 is not set 950# CONFIG_CRC7 is not set
856# CONFIG_LIBCRC32C is not set 951# CONFIG_LIBCRC32C is not set
857CONFIG_ZLIB_INFLATE=y 952CONFIG_ZLIB_INFLATE=y
858CONFIG_PLIST=y 953CONFIG_DECOMPRESS_GZIP=y
859CONFIG_HAS_IOMEM=y 954CONFIG_HAS_IOMEM=y
860CONFIG_HAS_IOPORT=y 955CONFIG_HAS_IOPORT=y
861CONFIG_HAS_DMA=y 956CONFIG_HAS_DMA=y
862CONFIG_HAVE_LMB=y 957CONFIG_HAVE_LMB=y
958CONFIG_NLATTR=y
959CONFIG_GENERIC_ATOMIC64=y
863 960
864# 961#
865# Kernel hacking 962# Kernel hacking
@@ -869,6 +966,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
869CONFIG_ENABLE_MUST_CHECK=y 966CONFIG_ENABLE_MUST_CHECK=y
870CONFIG_FRAME_WARN=1024 967CONFIG_FRAME_WARN=1024
871CONFIG_MAGIC_SYSRQ=y 968CONFIG_MAGIC_SYSRQ=y
969# CONFIG_STRIP_ASM_SYMS is not set
872# CONFIG_UNUSED_SYMBOLS is not set 970# CONFIG_UNUSED_SYMBOLS is not set
873CONFIG_DEBUG_FS=y 971CONFIG_DEBUG_FS=y
874# CONFIG_HEADERS_CHECK is not set 972# CONFIG_HEADERS_CHECK is not set
@@ -877,16 +975,23 @@ CONFIG_DEBUG_KERNEL=y
877CONFIG_DETECT_SOFTLOCKUP=y 975CONFIG_DETECT_SOFTLOCKUP=y
878# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set 976# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
879CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 977CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
978CONFIG_DETECT_HUNG_TASK=y
979# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
980CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
880CONFIG_SCHED_DEBUG=y 981CONFIG_SCHED_DEBUG=y
881# CONFIG_SCHEDSTATS is not set 982# CONFIG_SCHEDSTATS is not set
882# CONFIG_TIMER_STATS is not set 983# CONFIG_TIMER_STATS is not set
883# CONFIG_DEBUG_OBJECTS is not set 984# CONFIG_DEBUG_OBJECTS is not set
884# CONFIG_SLUB_DEBUG_ON is not set 985# CONFIG_SLUB_DEBUG_ON is not set
885# CONFIG_SLUB_STATS is not set 986# CONFIG_SLUB_STATS is not set
987# CONFIG_DEBUG_KMEMLEAK is not set
886# CONFIG_DEBUG_RT_MUTEXES is not set 988# CONFIG_DEBUG_RT_MUTEXES is not set
887# CONFIG_RT_MUTEX_TESTER is not set 989# CONFIG_RT_MUTEX_TESTER is not set
888# CONFIG_DEBUG_SPINLOCK is not set 990# CONFIG_DEBUG_SPINLOCK is not set
889# CONFIG_DEBUG_MUTEXES is not set 991# CONFIG_DEBUG_MUTEXES is not set
992# CONFIG_DEBUG_LOCK_ALLOC is not set
993# CONFIG_PROVE_LOCKING is not set
994# CONFIG_LOCK_STAT is not set
890# CONFIG_DEBUG_SPINLOCK_SLEEP is not set 995# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
891# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set 996# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
892# CONFIG_DEBUG_KOBJECT is not set 997# CONFIG_DEBUG_KOBJECT is not set
@@ -898,35 +1003,45 @@ CONFIG_DEBUG_BUGVERBOSE=y
898# CONFIG_DEBUG_LIST is not set 1003# CONFIG_DEBUG_LIST is not set
899# CONFIG_DEBUG_SG is not set 1004# CONFIG_DEBUG_SG is not set
900# CONFIG_DEBUG_NOTIFIERS is not set 1005# CONFIG_DEBUG_NOTIFIERS is not set
901# CONFIG_BOOT_PRINTK_DELAY is not set 1006# CONFIG_DEBUG_CREDENTIALS is not set
902# CONFIG_RCU_TORTURE_TEST is not set 1007# CONFIG_RCU_TORTURE_TEST is not set
903# CONFIG_RCU_CPU_STALL_DETECTOR is not set 1008# CONFIG_RCU_CPU_STALL_DETECTOR is not set
904# CONFIG_BACKTRACE_SELF_TEST is not set 1009# CONFIG_BACKTRACE_SELF_TEST is not set
905# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set 1010# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1011# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
906# CONFIG_FAULT_INJECTION is not set 1012# CONFIG_FAULT_INJECTION is not set
907# CONFIG_LATENCYTOP is not set 1013# CONFIG_LATENCYTOP is not set
908CONFIG_SYSCTL_SYSCALL_CHECK=y 1014CONFIG_SYSCTL_SYSCALL_CHECK=y
1015# CONFIG_DEBUG_PAGEALLOC is not set
909CONFIG_HAVE_FUNCTION_TRACER=y 1016CONFIG_HAVE_FUNCTION_TRACER=y
1017CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
910CONFIG_HAVE_DYNAMIC_FTRACE=y 1018CONFIG_HAVE_DYNAMIC_FTRACE=y
911CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 1019CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
912 1020CONFIG_TRACING_SUPPORT=y
913# 1021CONFIG_FTRACE=y
914# Tracers
915#
916# CONFIG_FUNCTION_TRACER is not set 1022# CONFIG_FUNCTION_TRACER is not set
1023# CONFIG_IRQSOFF_TRACER is not set
917# CONFIG_SCHED_TRACER is not set 1024# CONFIG_SCHED_TRACER is not set
918# CONFIG_CONTEXT_SWITCH_TRACER is not set 1025# CONFIG_ENABLE_DEFAULT_TRACERS is not set
919# CONFIG_BOOT_TRACER is not set 1026# CONFIG_BOOT_TRACER is not set
920# CONFIG_TRACE_BRANCH_PROFILING is not set 1027CONFIG_BRANCH_PROFILE_NONE=y
1028# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
1029# CONFIG_PROFILE_ALL_BRANCHES is not set
921# CONFIG_STACK_TRACER is not set 1030# CONFIG_STACK_TRACER is not set
922# CONFIG_DYNAMIC_PRINTK_DEBUG is not set 1031# CONFIG_KMEMTRACE is not set
1032# CONFIG_WORKQUEUE_TRACER is not set
1033# CONFIG_BLK_DEV_IO_TRACE is not set
1034# CONFIG_DYNAMIC_DEBUG is not set
1035# CONFIG_DMA_API_DEBUG is not set
923# CONFIG_SAMPLES is not set 1036# CONFIG_SAMPLES is not set
924CONFIG_HAVE_ARCH_KGDB=y 1037CONFIG_HAVE_ARCH_KGDB=y
925# CONFIG_KGDB is not set 1038# CONFIG_KGDB is not set
1039# CONFIG_PPC_DISABLE_WERROR is not set
1040CONFIG_PPC_WERROR=y
926CONFIG_PRINT_STACK_DEPTH=64 1041CONFIG_PRINT_STACK_DEPTH=64
927# CONFIG_DEBUG_STACKOVERFLOW is not set 1042# CONFIG_DEBUG_STACKOVERFLOW is not set
928# CONFIG_DEBUG_STACK_USAGE is not set 1043# CONFIG_DEBUG_STACK_USAGE is not set
929# CONFIG_DEBUG_PAGEALLOC is not set 1044# CONFIG_PPC_EMULATED_STATS is not set
930# CONFIG_CODE_PATCHING_SELFTEST is not set 1045# CONFIG_CODE_PATCHING_SELFTEST is not set
931# CONFIG_FTR_FIXUP_SELFTEST is not set 1046# CONFIG_FTR_FIXUP_SELFTEST is not set
932# CONFIG_MSI_BITMAP_SELFTEST is not set 1047# CONFIG_MSI_BITMAP_SELFTEST is not set
@@ -942,13 +1057,16 @@ CONFIG_PRINT_STACK_DEPTH=64
942# CONFIG_KEYS is not set 1057# CONFIG_KEYS is not set
943# CONFIG_SECURITY is not set 1058# CONFIG_SECURITY is not set
944# CONFIG_SECURITYFS is not set 1059# CONFIG_SECURITYFS is not set
945# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1060# CONFIG_DEFAULT_SECURITY_SELINUX is not set
1061# CONFIG_DEFAULT_SECURITY_SMACK is not set
1062# CONFIG_DEFAULT_SECURITY_TOMOYO is not set
1063CONFIG_DEFAULT_SECURITY_DAC=y
1064CONFIG_DEFAULT_SECURITY=""
946CONFIG_CRYPTO=y 1065CONFIG_CRYPTO=y
947 1066
948# 1067#
949# Crypto core or helper 1068# Crypto core or helper
950# 1069#
951# CONFIG_CRYPTO_FIPS is not set
952CONFIG_CRYPTO_ALGAPI=y 1070CONFIG_CRYPTO_ALGAPI=y
953CONFIG_CRYPTO_ALGAPI2=y 1071CONFIG_CRYPTO_ALGAPI2=y
954CONFIG_CRYPTO_AEAD2=y 1072CONFIG_CRYPTO_AEAD2=y
@@ -957,10 +1075,12 @@ CONFIG_CRYPTO_BLKCIPHER2=y
957CONFIG_CRYPTO_HASH=y 1075CONFIG_CRYPTO_HASH=y
958CONFIG_CRYPTO_HASH2=y 1076CONFIG_CRYPTO_HASH2=y
959CONFIG_CRYPTO_RNG2=y 1077CONFIG_CRYPTO_RNG2=y
1078CONFIG_CRYPTO_PCOMP=y
960CONFIG_CRYPTO_MANAGER=y 1079CONFIG_CRYPTO_MANAGER=y
961CONFIG_CRYPTO_MANAGER2=y 1080CONFIG_CRYPTO_MANAGER2=y
962# CONFIG_CRYPTO_GF128MUL is not set 1081# CONFIG_CRYPTO_GF128MUL is not set
963# CONFIG_CRYPTO_NULL is not set 1082# CONFIG_CRYPTO_NULL is not set
1083CONFIG_CRYPTO_WORKQUEUE=y
964# CONFIG_CRYPTO_CRYPTD is not set 1084# CONFIG_CRYPTO_CRYPTD is not set
965# CONFIG_CRYPTO_AUTHENC is not set 1085# CONFIG_CRYPTO_AUTHENC is not set
966# CONFIG_CRYPTO_TEST is not set 1086# CONFIG_CRYPTO_TEST is not set
@@ -988,11 +1108,13 @@ CONFIG_CRYPTO_PCBC=y
988# 1108#
989# CONFIG_CRYPTO_HMAC is not set 1109# CONFIG_CRYPTO_HMAC is not set
990# CONFIG_CRYPTO_XCBC is not set 1110# CONFIG_CRYPTO_XCBC is not set
1111# CONFIG_CRYPTO_VMAC is not set
991 1112
992# 1113#
993# Digest 1114# Digest
994# 1115#
995# CONFIG_CRYPTO_CRC32C is not set 1116# CONFIG_CRYPTO_CRC32C is not set
1117# CONFIG_CRYPTO_GHASH is not set
996# CONFIG_CRYPTO_MD4 is not set 1118# CONFIG_CRYPTO_MD4 is not set
997CONFIG_CRYPTO_MD5=y 1119CONFIG_CRYPTO_MD5=y
998# CONFIG_CRYPTO_MICHAEL_MIC is not set 1120# CONFIG_CRYPTO_MICHAEL_MIC is not set
@@ -1029,6 +1151,7 @@ CONFIG_CRYPTO_DES=y
1029# Compression 1151# Compression
1030# 1152#
1031# CONFIG_CRYPTO_DEFLATE is not set 1153# CONFIG_CRYPTO_DEFLATE is not set
1154# CONFIG_CRYPTO_ZLIB is not set
1032# CONFIG_CRYPTO_LZO is not set 1155# CONFIG_CRYPTO_LZO is not set
1033 1156
1034# 1157#
@@ -1037,5 +1160,6 @@ CONFIG_CRYPTO_DES=y
1037# CONFIG_CRYPTO_ANSI_CPRNG is not set 1160# CONFIG_CRYPTO_ANSI_CPRNG is not set
1038CONFIG_CRYPTO_HW=y 1161CONFIG_CRYPTO_HW=y
1039# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1162# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1163# CONFIG_CRYPTO_DEV_PPC4XX is not set
1040# CONFIG_PPC_CLOCK is not set 1164# CONFIG_PPC_CLOCK is not set
1041# CONFIG_VIRTUALIZATION is not set 1165# CONFIG_VIRTUALIZATION is not set
diff --git a/arch/powerpc/configs/44x/arches_defconfig b/arch/powerpc/configs/44x/arches_defconfig
index 6f976b51cdd0..2d3dfb55fbed 100644
--- a/arch/powerpc/configs/44x/arches_defconfig
+++ b/arch/powerpc/configs/44x/arches_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-rc5 3# Linux kernel version: 2.6.33-rc1
4# Thu Aug 13 14:14:07 2009 4# Mon Jan 4 14:02:35 2010
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -20,6 +20,7 @@ CONFIG_BOOKE=y
20CONFIG_PTE_64BIT=y 20CONFIG_PTE_64BIT=y
21CONFIG_PHYS_64BIT=y 21CONFIG_PHYS_64BIT=y
22CONFIG_PPC_MMU_NOHASH=y 22CONFIG_PPC_MMU_NOHASH=y
23CONFIG_PPC_MMU_NOHASH_32=y
23# CONFIG_PPC_MM_SLICES is not set 24# CONFIG_PPC_MM_SLICES is not set
24CONFIG_NOT_COHERENT_CACHE=y 25CONFIG_NOT_COHERENT_CACHE=y
25CONFIG_PPC32=y 26CONFIG_PPC32=y
@@ -33,7 +34,9 @@ CONFIG_GENERIC_CLOCKEVENTS=y
33CONFIG_GENERIC_HARDIRQS=y 34CONFIG_GENERIC_HARDIRQS=y
34CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y 35CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
35# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 36# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
37# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
36CONFIG_IRQ_PER_CPU=y 38CONFIG_IRQ_PER_CPU=y
39CONFIG_NR_IRQS=512
37CONFIG_STACKTRACE_SUPPORT=y 40CONFIG_STACKTRACE_SUPPORT=y
38CONFIG_HAVE_LATENCYTOP_SUPPORT=y 41CONFIG_HAVE_LATENCYTOP_SUPPORT=y
39CONFIG_TRACE_IRQFLAGS_SUPPORT=y 42CONFIG_TRACE_IRQFLAGS_SUPPORT=y
@@ -56,6 +59,7 @@ CONFIG_AUDIT_ARCH=y
56CONFIG_GENERIC_BUG=y 59CONFIG_GENERIC_BUG=y
57CONFIG_DTC=y 60CONFIG_DTC=y
58# CONFIG_DEFAULT_UIMAGE is not set 61# CONFIG_DEFAULT_UIMAGE is not set
62CONFIG_ARCH_HIBERNATION_POSSIBLE=y
59CONFIG_PPC_DCR_NATIVE=y 63CONFIG_PPC_DCR_NATIVE=y
60# CONFIG_PPC_DCR_MMIO is not set 64# CONFIG_PPC_DCR_MMIO is not set
61CONFIG_PPC_DCR=y 65CONFIG_PPC_DCR=y
@@ -83,17 +87,18 @@ CONFIG_POSIX_MQUEUE_SYSCTL=y
83# 87#
84# RCU Subsystem 88# RCU Subsystem
85# 89#
86CONFIG_CLASSIC_RCU=y 90CONFIG_TREE_RCU=y
87# CONFIG_TREE_RCU is not set 91# CONFIG_TREE_PREEMPT_RCU is not set
88# CONFIG_PREEMPT_RCU is not set 92# CONFIG_TINY_RCU is not set
93# CONFIG_RCU_TRACE is not set
94CONFIG_RCU_FANOUT=32
95# CONFIG_RCU_FANOUT_EXACT is not set
89# CONFIG_TREE_RCU_TRACE is not set 96# CONFIG_TREE_RCU_TRACE is not set
90# CONFIG_PREEMPT_RCU_TRACE is not set
91# CONFIG_IKCONFIG is not set 97# CONFIG_IKCONFIG is not set
92CONFIG_LOG_BUF_SHIFT=14 98CONFIG_LOG_BUF_SHIFT=14
93# CONFIG_GROUP_SCHED is not set 99# CONFIG_GROUP_SCHED is not set
94# CONFIG_CGROUPS is not set 100# CONFIG_CGROUPS is not set
95CONFIG_SYSFS_DEPRECATED=y 101# CONFIG_SYSFS_DEPRECATED_V2 is not set
96CONFIG_SYSFS_DEPRECATED_V2=y
97# CONFIG_RELAY is not set 102# CONFIG_RELAY is not set
98# CONFIG_NAMESPACES is not set 103# CONFIG_NAMESPACES is not set
99CONFIG_BLK_DEV_INITRD=y 104CONFIG_BLK_DEV_INITRD=y
@@ -121,22 +126,21 @@ CONFIG_TIMERFD=y
121CONFIG_EVENTFD=y 126CONFIG_EVENTFD=y
122CONFIG_SHMEM=y 127CONFIG_SHMEM=y
123CONFIG_AIO=y 128CONFIG_AIO=y
124CONFIG_HAVE_PERF_COUNTERS=y 129CONFIG_HAVE_PERF_EVENTS=y
125 130
126# 131#
127# Performance Counters 132# Kernel Performance Events And Counters
128# 133#
134# CONFIG_PERF_EVENTS is not set
129# CONFIG_PERF_COUNTERS is not set 135# CONFIG_PERF_COUNTERS is not set
130CONFIG_VM_EVENT_COUNTERS=y 136CONFIG_VM_EVENT_COUNTERS=y
131CONFIG_PCI_QUIRKS=y 137CONFIG_PCI_QUIRKS=y
132CONFIG_SLUB_DEBUG=y 138CONFIG_SLUB_DEBUG=y
133# CONFIG_STRIP_ASM_SYMS is not set
134CONFIG_COMPAT_BRK=y 139CONFIG_COMPAT_BRK=y
135# CONFIG_SLAB is not set 140# CONFIG_SLAB is not set
136CONFIG_SLUB=y 141CONFIG_SLUB=y
137# CONFIG_SLOB is not set 142# CONFIG_SLOB is not set
138# CONFIG_PROFILING is not set 143# CONFIG_PROFILING is not set
139# CONFIG_MARKERS is not set
140CONFIG_HAVE_OPROFILE=y 144CONFIG_HAVE_OPROFILE=y
141# CONFIG_KPROBES is not set 145# CONFIG_KPROBES is not set
142CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 146CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
@@ -144,6 +148,8 @@ CONFIG_HAVE_IOREMAP_PROT=y
144CONFIG_HAVE_KPROBES=y 148CONFIG_HAVE_KPROBES=y
145CONFIG_HAVE_KRETPROBES=y 149CONFIG_HAVE_KRETPROBES=y
146CONFIG_HAVE_ARCH_TRACEHOOK=y 150CONFIG_HAVE_ARCH_TRACEHOOK=y
151CONFIG_HAVE_DMA_ATTRS=y
152CONFIG_HAVE_DMA_API_DEBUG=y
147 153
148# 154#
149# GCOV-based kernel profiling 155# GCOV-based kernel profiling
@@ -169,14 +175,41 @@ CONFIG_LBDAF=y
169# IO Schedulers 175# IO Schedulers
170# 176#
171CONFIG_IOSCHED_NOOP=y 177CONFIG_IOSCHED_NOOP=y
172CONFIG_IOSCHED_AS=y
173CONFIG_IOSCHED_DEADLINE=y 178CONFIG_IOSCHED_DEADLINE=y
174CONFIG_IOSCHED_CFQ=y 179CONFIG_IOSCHED_CFQ=y
175CONFIG_DEFAULT_AS=y
176# CONFIG_DEFAULT_DEADLINE is not set 180# CONFIG_DEFAULT_DEADLINE is not set
177# CONFIG_DEFAULT_CFQ is not set 181CONFIG_DEFAULT_CFQ=y
178# CONFIG_DEFAULT_NOOP is not set 182# CONFIG_DEFAULT_NOOP is not set
179CONFIG_DEFAULT_IOSCHED="anticipatory" 183CONFIG_DEFAULT_IOSCHED="cfq"
184# CONFIG_INLINE_SPIN_TRYLOCK is not set
185# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
186# CONFIG_INLINE_SPIN_LOCK is not set
187# CONFIG_INLINE_SPIN_LOCK_BH is not set
188# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
189# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
190CONFIG_INLINE_SPIN_UNLOCK=y
191# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
192CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
193# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
194# CONFIG_INLINE_READ_TRYLOCK is not set
195# CONFIG_INLINE_READ_LOCK is not set
196# CONFIG_INLINE_READ_LOCK_BH is not set
197# CONFIG_INLINE_READ_LOCK_IRQ is not set
198# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
199CONFIG_INLINE_READ_UNLOCK=y
200# CONFIG_INLINE_READ_UNLOCK_BH is not set
201CONFIG_INLINE_READ_UNLOCK_IRQ=y
202# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
203# CONFIG_INLINE_WRITE_TRYLOCK is not set
204# CONFIG_INLINE_WRITE_LOCK is not set
205# CONFIG_INLINE_WRITE_LOCK_BH is not set
206# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
207# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
208CONFIG_INLINE_WRITE_UNLOCK=y
209# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
210CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
211# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
212# CONFIG_MUTEX_SPIN_ON_OWNER is not set
180# CONFIG_FREEZER is not set 213# CONFIG_FREEZER is not set
181CONFIG_PPC4xx_PCI_EXPRESS=y 214CONFIG_PPC4xx_PCI_EXPRESS=y
182 215
@@ -198,6 +231,7 @@ CONFIG_ARCHES=y
198# CONFIG_CANYONLANDS is not set 231# CONFIG_CANYONLANDS is not set
199# CONFIG_GLACIER is not set 232# CONFIG_GLACIER is not set
200# CONFIG_REDWOOD is not set 233# CONFIG_REDWOOD is not set
234# CONFIG_EIGER is not set
201# CONFIG_YOSEMITE is not set 235# CONFIG_YOSEMITE is not set
202# CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set 236# CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set
203CONFIG_PPC44x_SIMPLE=y 237CONFIG_PPC44x_SIMPLE=y
@@ -241,10 +275,11 @@ CONFIG_BINFMT_ELF=y
241# CONFIG_MATH_EMULATION is not set 275# CONFIG_MATH_EMULATION is not set
242# CONFIG_IOMMU_HELPER is not set 276# CONFIG_IOMMU_HELPER is not set
243# CONFIG_SWIOTLB is not set 277# CONFIG_SWIOTLB is not set
244CONFIG_PPC_NEED_DMA_SYNC_OPS=y
245CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 278CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
246CONFIG_ARCH_HAS_WALK_MEMORY=y 279CONFIG_ARCH_HAS_WALK_MEMORY=y
247CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 280CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
281CONFIG_SPARSE_IRQ=y
282CONFIG_MAX_ACTIVE_REGIONS=32
248CONFIG_ARCH_FLATMEM_ENABLE=y 283CONFIG_ARCH_FLATMEM_ENABLE=y
249CONFIG_ARCH_POPULATES_NODE_MAP=y 284CONFIG_ARCH_POPULATES_NODE_MAP=y
250CONFIG_SELECT_MEMORY_MODEL=y 285CONFIG_SELECT_MEMORY_MODEL=y
@@ -260,8 +295,7 @@ CONFIG_PHYS_ADDR_T_64BIT=y
260CONFIG_ZONE_DMA_FLAG=1 295CONFIG_ZONE_DMA_FLAG=1
261CONFIG_BOUNCE=y 296CONFIG_BOUNCE=y
262CONFIG_VIRT_TO_BUS=y 297CONFIG_VIRT_TO_BUS=y
263CONFIG_HAVE_MLOCK=y 298# CONFIG_KSM is not set
264CONFIG_HAVE_MLOCKED_PAGE_BIT=y
265CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 299CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
266CONFIG_STDBINUTILS=y 300CONFIG_STDBINUTILS=y
267CONFIG_PPC_4K_PAGES=y 301CONFIG_PPC_4K_PAGES=y
@@ -352,6 +386,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
352# CONFIG_NETFILTER is not set 386# CONFIG_NETFILTER is not set
353# CONFIG_IP_DCCP is not set 387# CONFIG_IP_DCCP is not set
354# CONFIG_IP_SCTP is not set 388# CONFIG_IP_SCTP is not set
389# CONFIG_RDS is not set
355# CONFIG_TIPC is not set 390# CONFIG_TIPC is not set
356# CONFIG_ATM is not set 391# CONFIG_ATM is not set
357# CONFIG_BRIDGE is not set 392# CONFIG_BRIDGE is not set
@@ -379,7 +414,13 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
379# CONFIG_IRDA is not set 414# CONFIG_IRDA is not set
380# CONFIG_BT is not set 415# CONFIG_BT is not set
381# CONFIG_AF_RXRPC is not set 416# CONFIG_AF_RXRPC is not set
382# CONFIG_WIRELESS is not set 417CONFIG_WIRELESS=y
418# CONFIG_CFG80211 is not set
419# CONFIG_LIB80211 is not set
420
421#
422# CFG80211 needs to be enabled for MAC80211
423#
383# CONFIG_WIMAX is not set 424# CONFIG_WIMAX is not set
384# CONFIG_RFKILL is not set 425# CONFIG_RFKILL is not set
385# CONFIG_NET_9P is not set 426# CONFIG_NET_9P is not set
@@ -392,6 +433,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
392# Generic Driver Options 433# Generic Driver Options
393# 434#
394CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 435CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
436# CONFIG_DEVTMPFS is not set
395CONFIG_STANDALONE=y 437CONFIG_STANDALONE=y
396CONFIG_PREVENT_FIRMWARE_BUILD=y 438CONFIG_PREVENT_FIRMWARE_BUILD=y
397CONFIG_FW_LOADER=y 439CONFIG_FW_LOADER=y
@@ -404,9 +446,9 @@ CONFIG_CONNECTOR=y
404CONFIG_PROC_EVENTS=y 446CONFIG_PROC_EVENTS=y
405CONFIG_MTD=y 447CONFIG_MTD=y
406# CONFIG_MTD_DEBUG is not set 448# CONFIG_MTD_DEBUG is not set
449# CONFIG_MTD_TESTS is not set
407# CONFIG_MTD_CONCAT is not set 450# CONFIG_MTD_CONCAT is not set
408CONFIG_MTD_PARTITIONS=y 451CONFIG_MTD_PARTITIONS=y
409# CONFIG_MTD_TESTS is not set
410# CONFIG_MTD_REDBOOT_PARTS is not set 452# CONFIG_MTD_REDBOOT_PARTS is not set
411CONFIG_MTD_CMDLINE_PARTS=y 453CONFIG_MTD_CMDLINE_PARTS=y
412CONFIG_MTD_OF_PARTS=y 454CONFIG_MTD_OF_PARTS=y
@@ -497,6 +539,7 @@ CONFIG_BLK_DEV=y
497# CONFIG_BLK_DEV_UMEM is not set 539# CONFIG_BLK_DEV_UMEM is not set
498# CONFIG_BLK_DEV_COW_COMMON is not set 540# CONFIG_BLK_DEV_COW_COMMON is not set
499# CONFIG_BLK_DEV_LOOP is not set 541# CONFIG_BLK_DEV_LOOP is not set
542# CONFIG_BLK_DEV_DRBD is not set
500# CONFIG_BLK_DEV_NBD is not set 543# CONFIG_BLK_DEV_NBD is not set
501# CONFIG_BLK_DEV_SX8 is not set 544# CONFIG_BLK_DEV_SX8 is not set
502CONFIG_BLK_DEV_RAM=y 545CONFIG_BLK_DEV_RAM=y
@@ -573,16 +616,17 @@ CONFIG_IBM_NEW_EMAC_EMAC4=y
573# CONFIG_NET_PCI is not set 616# CONFIG_NET_PCI is not set
574# CONFIG_B44 is not set 617# CONFIG_B44 is not set
575# CONFIG_KS8842 is not set 618# CONFIG_KS8842 is not set
619# CONFIG_KS8851_MLL is not set
576# CONFIG_ATL2 is not set 620# CONFIG_ATL2 is not set
621# CONFIG_XILINX_EMACLITE is not set
577# CONFIG_NETDEV_1000 is not set 622# CONFIG_NETDEV_1000 is not set
578# CONFIG_NETDEV_10000 is not set 623# CONFIG_NETDEV_10000 is not set
579# CONFIG_TR is not set 624# CONFIG_TR is not set
580 625CONFIG_WLAN=y
581# 626# CONFIG_AIRO is not set
582# Wireless LAN 627# CONFIG_ATMEL is not set
583# 628# CONFIG_PRISM54 is not set
584# CONFIG_WLAN_PRE80211 is not set 629# CONFIG_HOSTAP is not set
585# CONFIG_WLAN_80211 is not set
586 630
587# 631#
588# Enable WiMAX (Networking options) to see the WiMAX drivers 632# Enable WiMAX (Networking options) to see the WiMAX drivers
@@ -595,6 +639,7 @@ CONFIG_IBM_NEW_EMAC_EMAC4=y
595# CONFIG_NETCONSOLE is not set 639# CONFIG_NETCONSOLE is not set
596# CONFIG_NETPOLL is not set 640# CONFIG_NETPOLL is not set
597# CONFIG_NET_POLL_CONTROLLER is not set 641# CONFIG_NET_POLL_CONTROLLER is not set
642# CONFIG_VMXNET3 is not set
598# CONFIG_ISDN is not set 643# CONFIG_ISDN is not set
599# CONFIG_PHONE is not set 644# CONFIG_PHONE is not set
600 645
@@ -640,6 +685,7 @@ CONFIG_SERIAL_CORE_CONSOLE=y
640# CONFIG_SERIAL_JSM is not set 685# CONFIG_SERIAL_JSM is not set
641CONFIG_SERIAL_OF_PLATFORM=y 686CONFIG_SERIAL_OF_PLATFORM=y
642# CONFIG_SERIAL_OF_PLATFORM_NWPSERIAL is not set 687# CONFIG_SERIAL_OF_PLATFORM_NWPSERIAL is not set
688# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set
643CONFIG_UNIX98_PTYS=y 689CONFIG_UNIX98_PTYS=y
644# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set 690# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
645CONFIG_LEGACY_PTYS=y 691CONFIG_LEGACY_PTYS=y
@@ -656,6 +702,7 @@ CONFIG_LEGACY_PTY_COUNT=256
656CONFIG_DEVPORT=y 702CONFIG_DEVPORT=y
657CONFIG_I2C=y 703CONFIG_I2C=y
658CONFIG_I2C_BOARDINFO=y 704CONFIG_I2C_BOARDINFO=y
705CONFIG_I2C_COMPAT=y
659CONFIG_I2C_CHARDEV=y 706CONFIG_I2C_CHARDEV=y
660CONFIG_I2C_HELPER_AUTO=y 707CONFIG_I2C_HELPER_AUTO=y
661 708
@@ -696,11 +743,6 @@ CONFIG_I2C_IBM_IIC=y
696# CONFIG_I2C_TAOS_EVM is not set 743# CONFIG_I2C_TAOS_EVM is not set
697 744
698# 745#
699# Graphics adapter I2C/DDC channel drivers
700#
701# CONFIG_I2C_VOODOO3 is not set
702
703#
704# Other I2C/SMBus bus drivers 746# Other I2C/SMBus bus drivers
705# 747#
706# CONFIG_I2C_PCA_PLATFORM is not set 748# CONFIG_I2C_PCA_PLATFORM is not set
@@ -709,10 +751,6 @@ CONFIG_I2C_IBM_IIC=y
709# 751#
710# Miscellaneous I2C Chip support 752# Miscellaneous I2C Chip support
711# 753#
712# CONFIG_DS1682 is not set
713# CONFIG_SENSORS_PCF8574 is not set
714# CONFIG_PCF8575 is not set
715# CONFIG_SENSORS_PCA9539 is not set
716# CONFIG_SENSORS_TSL2550 is not set 754# CONFIG_SENSORS_TSL2550 is not set
717# CONFIG_I2C_DEBUG_CORE is not set 755# CONFIG_I2C_DEBUG_CORE is not set
718# CONFIG_I2C_DEBUG_ALGO is not set 756# CONFIG_I2C_DEBUG_ALGO is not set
@@ -730,6 +768,11 @@ CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
730# CONFIG_POWER_SUPPLY is not set 768# CONFIG_POWER_SUPPLY is not set
731CONFIG_HWMON=y 769CONFIG_HWMON=y
732# CONFIG_HWMON_VID is not set 770# CONFIG_HWMON_VID is not set
771# CONFIG_HWMON_DEBUG_CHIP is not set
772
773#
774# Native drivers
775#
733CONFIG_SENSORS_AD7414=y 776CONFIG_SENSORS_AD7414=y
734# CONFIG_SENSORS_AD7418 is not set 777# CONFIG_SENSORS_AD7418 is not set
735# CONFIG_SENSORS_ADM1021 is not set 778# CONFIG_SENSORS_ADM1021 is not set
@@ -753,6 +796,7 @@ CONFIG_SENSORS_AD7414=y
753# CONFIG_SENSORS_GL520SM is not set 796# CONFIG_SENSORS_GL520SM is not set
754# CONFIG_SENSORS_IT87 is not set 797# CONFIG_SENSORS_IT87 is not set
755# CONFIG_SENSORS_LM63 is not set 798# CONFIG_SENSORS_LM63 is not set
799# CONFIG_SENSORS_LM73 is not set
756# CONFIG_SENSORS_LM75 is not set 800# CONFIG_SENSORS_LM75 is not set
757# CONFIG_SENSORS_LM77 is not set 801# CONFIG_SENSORS_LM77 is not set
758# CONFIG_SENSORS_LM78 is not set 802# CONFIG_SENSORS_LM78 is not set
@@ -779,6 +823,7 @@ CONFIG_SENSORS_AD7414=y
779# CONFIG_SENSORS_ADS7828 is not set 823# CONFIG_SENSORS_ADS7828 is not set
780# CONFIG_SENSORS_THMC50 is not set 824# CONFIG_SENSORS_THMC50 is not set
781# CONFIG_SENSORS_TMP401 is not set 825# CONFIG_SENSORS_TMP401 is not set
826# CONFIG_SENSORS_TMP421 is not set
782# CONFIG_SENSORS_VIA686A is not set 827# CONFIG_SENSORS_VIA686A is not set
783# CONFIG_SENSORS_VT1211 is not set 828# CONFIG_SENSORS_VT1211 is not set
784# CONFIG_SENSORS_VT8231 is not set 829# CONFIG_SENSORS_VT8231 is not set
@@ -790,9 +835,7 @@ CONFIG_SENSORS_AD7414=y
790# CONFIG_SENSORS_W83L786NG is not set 835# CONFIG_SENSORS_W83L786NG is not set
791# CONFIG_SENSORS_W83627HF is not set 836# CONFIG_SENSORS_W83627HF is not set
792# CONFIG_SENSORS_W83627EHF is not set 837# CONFIG_SENSORS_W83627EHF is not set
793# CONFIG_HWMON_DEBUG_CHIP is not set
794# CONFIG_THERMAL is not set 838# CONFIG_THERMAL is not set
795# CONFIG_THERMAL_HWMON is not set
796# CONFIG_WATCHDOG is not set 839# CONFIG_WATCHDOG is not set
797CONFIG_SSB_POSSIBLE=y 840CONFIG_SSB_POSSIBLE=y
798 841
@@ -810,10 +853,13 @@ CONFIG_SSB_POSSIBLE=y
810# CONFIG_TWL4030_CORE is not set 853# CONFIG_TWL4030_CORE is not set
811# CONFIG_MFD_TMIO is not set 854# CONFIG_MFD_TMIO is not set
812# CONFIG_PMIC_DA903X is not set 855# CONFIG_PMIC_DA903X is not set
856# CONFIG_PMIC_ADP5520 is not set
813# CONFIG_MFD_WM8400 is not set 857# CONFIG_MFD_WM8400 is not set
858# CONFIG_MFD_WM831X is not set
814# CONFIG_MFD_WM8350_I2C is not set 859# CONFIG_MFD_WM8350_I2C is not set
815# CONFIG_MFD_PCF50633 is not set 860# CONFIG_MFD_PCF50633 is not set
816# CONFIG_AB3100_CORE is not set 861# CONFIG_AB3100_CORE is not set
862# CONFIG_MFD_88PM8607 is not set
817# CONFIG_REGULATOR is not set 863# CONFIG_REGULATOR is not set
818# CONFIG_MEDIA_SUPPORT is not set 864# CONFIG_MEDIA_SUPPORT is not set
819 865
@@ -821,6 +867,7 @@ CONFIG_SSB_POSSIBLE=y
821# Graphics support 867# Graphics support
822# 868#
823# CONFIG_AGP is not set 869# CONFIG_AGP is not set
870CONFIG_VGA_ARB=y
824# CONFIG_DRM is not set 871# CONFIG_DRM is not set
825# CONFIG_VGASTATE is not set 872# CONFIG_VGASTATE is not set
826CONFIG_VIDEO_OUTPUT_CONTROL=m 873CONFIG_VIDEO_OUTPUT_CONTROL=m
@@ -858,6 +905,7 @@ CONFIG_EXT2_FS=y
858# CONFIG_EXT2_FS_XIP is not set 905# CONFIG_EXT2_FS_XIP is not set
859# CONFIG_EXT3_FS is not set 906# CONFIG_EXT3_FS is not set
860# CONFIG_EXT4_FS is not set 907# CONFIG_EXT4_FS is not set
908CONFIG_EXT4_USE_FOR_EXT23=y
861# CONFIG_REISERFS_FS is not set 909# CONFIG_REISERFS_FS is not set
862# CONFIG_JFS_FS is not set 910# CONFIG_JFS_FS is not set
863# CONFIG_FS_POSIX_ACL is not set 911# CONFIG_FS_POSIX_ACL is not set
@@ -865,6 +913,7 @@ CONFIG_EXT2_FS=y
865# CONFIG_GFS2_FS is not set 913# CONFIG_GFS2_FS is not set
866# CONFIG_OCFS2_FS is not set 914# CONFIG_OCFS2_FS is not set
867# CONFIG_BTRFS_FS is not set 915# CONFIG_BTRFS_FS is not set
916# CONFIG_NILFS2_FS is not set
868CONFIG_FILE_LOCKING=y 917CONFIG_FILE_LOCKING=y
869CONFIG_FSNOTIFY=y 918CONFIG_FSNOTIFY=y
870CONFIG_DNOTIFY=y 919CONFIG_DNOTIFY=y
@@ -934,7 +983,6 @@ CONFIG_CRAMFS=y
934# CONFIG_ROMFS_FS is not set 983# CONFIG_ROMFS_FS is not set
935# CONFIG_SYSV_FS is not set 984# CONFIG_SYSV_FS is not set
936# CONFIG_UFS_FS is not set 985# CONFIG_UFS_FS is not set
937# CONFIG_NILFS2_FS is not set
938CONFIG_NETWORK_FILESYSTEMS=y 986CONFIG_NETWORK_FILESYSTEMS=y
939CONFIG_NFS_FS=y 987CONFIG_NFS_FS=y
940CONFIG_NFS_V3=y 988CONFIG_NFS_V3=y
@@ -993,6 +1041,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
993CONFIG_ENABLE_MUST_CHECK=y 1041CONFIG_ENABLE_MUST_CHECK=y
994CONFIG_FRAME_WARN=1024 1042CONFIG_FRAME_WARN=1024
995CONFIG_MAGIC_SYSRQ=y 1043CONFIG_MAGIC_SYSRQ=y
1044# CONFIG_STRIP_ASM_SYMS is not set
996# CONFIG_UNUSED_SYMBOLS is not set 1045# CONFIG_UNUSED_SYMBOLS is not set
997CONFIG_DEBUG_FS=y 1046CONFIG_DEBUG_FS=y
998# CONFIG_HEADERS_CHECK is not set 1047# CONFIG_HEADERS_CHECK is not set
@@ -1010,6 +1059,7 @@ CONFIG_SCHED_DEBUG=y
1010# CONFIG_DEBUG_OBJECTS is not set 1059# CONFIG_DEBUG_OBJECTS is not set
1011# CONFIG_SLUB_DEBUG_ON is not set 1060# CONFIG_SLUB_DEBUG_ON is not set
1012# CONFIG_SLUB_STATS is not set 1061# CONFIG_SLUB_STATS is not set
1062# CONFIG_DEBUG_KMEMLEAK is not set
1013# CONFIG_DEBUG_RT_MUTEXES is not set 1063# CONFIG_DEBUG_RT_MUTEXES is not set
1014# CONFIG_RT_MUTEX_TESTER is not set 1064# CONFIG_RT_MUTEX_TESTER is not set
1015# CONFIG_DEBUG_SPINLOCK is not set 1065# CONFIG_DEBUG_SPINLOCK is not set
@@ -1028,10 +1078,12 @@ CONFIG_SCHED_DEBUG=y
1028# CONFIG_DEBUG_LIST is not set 1078# CONFIG_DEBUG_LIST is not set
1029# CONFIG_DEBUG_SG is not set 1079# CONFIG_DEBUG_SG is not set
1030# CONFIG_DEBUG_NOTIFIERS is not set 1080# CONFIG_DEBUG_NOTIFIERS is not set
1081# CONFIG_DEBUG_CREDENTIALS is not set
1031# CONFIG_RCU_TORTURE_TEST is not set 1082# CONFIG_RCU_TORTURE_TEST is not set
1032# CONFIG_RCU_CPU_STALL_DETECTOR is not set 1083# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1033# CONFIG_BACKTRACE_SELF_TEST is not set 1084# CONFIG_BACKTRACE_SELF_TEST is not set
1034# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set 1085# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1086# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
1035# CONFIG_FAULT_INJECTION is not set 1087# CONFIG_FAULT_INJECTION is not set
1036# CONFIG_LATENCYTOP is not set 1088# CONFIG_LATENCYTOP is not set
1037CONFIG_SYSCTL_SYSCALL_CHECK=y 1089CONFIG_SYSCTL_SYSCALL_CHECK=y
@@ -1055,10 +1107,10 @@ CONFIG_BRANCH_PROFILE_NONE=y
1055# CONFIG_WORKQUEUE_TRACER is not set 1107# CONFIG_WORKQUEUE_TRACER is not set
1056# CONFIG_BLK_DEV_IO_TRACE is not set 1108# CONFIG_BLK_DEV_IO_TRACE is not set
1057# CONFIG_DYNAMIC_DEBUG is not set 1109# CONFIG_DYNAMIC_DEBUG is not set
1110# CONFIG_DMA_API_DEBUG is not set
1058# CONFIG_SAMPLES is not set 1111# CONFIG_SAMPLES is not set
1059CONFIG_HAVE_ARCH_KGDB=y 1112CONFIG_HAVE_ARCH_KGDB=y
1060# CONFIG_KGDB is not set 1113# CONFIG_KGDB is not set
1061# CONFIG_KMEMCHECK is not set
1062# CONFIG_PPC_DISABLE_WERROR is not set 1114# CONFIG_PPC_DISABLE_WERROR is not set
1063CONFIG_PPC_WERROR=y 1115CONFIG_PPC_WERROR=y
1064CONFIG_PRINT_STACK_DEPTH=64 1116CONFIG_PRINT_STACK_DEPTH=64
@@ -1080,7 +1132,11 @@ CONFIG_PRINT_STACK_DEPTH=64
1080# CONFIG_KEYS is not set 1132# CONFIG_KEYS is not set
1081# CONFIG_SECURITY is not set 1133# CONFIG_SECURITY is not set
1082# CONFIG_SECURITYFS is not set 1134# CONFIG_SECURITYFS is not set
1083# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1135# CONFIG_DEFAULT_SECURITY_SELINUX is not set
1136# CONFIG_DEFAULT_SECURITY_SMACK is not set
1137# CONFIG_DEFAULT_SECURITY_TOMOYO is not set
1138CONFIG_DEFAULT_SECURITY_DAC=y
1139CONFIG_DEFAULT_SECURITY=""
1084# CONFIG_CRYPTO is not set 1140# CONFIG_CRYPTO is not set
1085# CONFIG_PPC_CLOCK is not set 1141# CONFIG_PPC_CLOCK is not set
1086# CONFIG_VIRTUALIZATION is not set 1142# CONFIG_VIRTUALIZATION is not set
diff --git a/arch/powerpc/configs/44x/bamboo_defconfig b/arch/powerpc/configs/44x/bamboo_defconfig
index e57f1e4c1795..51a00c46df19 100644
--- a/arch/powerpc/configs/44x/bamboo_defconfig
+++ b/arch/powerpc/configs/44x/bamboo_defconfig
@@ -1,14 +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.29-rc2 3# Linux kernel version: 2.6.33-rc1
4# Tue Jan 20 08:22:33 2009 4# Mon Jan 4 14:09:03 2010
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
8# 8#
9# Processor support 9# Processor support
10# 10#
11# CONFIG_6xx is not set 11# CONFIG_PPC_BOOK3S_32 is not set
12# CONFIG_PPC_85xx is not set 12# CONFIG_PPC_85xx is not set
13# CONFIG_PPC_8xx is not set 13# CONFIG_PPC_8xx is not set
14# CONFIG_40x is not set 14# CONFIG_40x is not set
@@ -20,6 +20,7 @@ CONFIG_BOOKE=y
20CONFIG_PTE_64BIT=y 20CONFIG_PTE_64BIT=y
21CONFIG_PHYS_64BIT=y 21CONFIG_PHYS_64BIT=y
22CONFIG_PPC_MMU_NOHASH=y 22CONFIG_PPC_MMU_NOHASH=y
23CONFIG_PPC_MMU_NOHASH_32=y
23# CONFIG_PPC_MM_SLICES is not set 24# CONFIG_PPC_MM_SLICES is not set
24CONFIG_NOT_COHERENT_CACHE=y 25CONFIG_NOT_COHERENT_CACHE=y
25CONFIG_PPC32=y 26CONFIG_PPC32=y
@@ -31,15 +32,18 @@ CONFIG_GENERIC_TIME=y
31CONFIG_GENERIC_TIME_VSYSCALL=y 32CONFIG_GENERIC_TIME_VSYSCALL=y
32CONFIG_GENERIC_CLOCKEVENTS=y 33CONFIG_GENERIC_CLOCKEVENTS=y
33CONFIG_GENERIC_HARDIRQS=y 34CONFIG_GENERIC_HARDIRQS=y
35CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
34# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 36# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
37# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
35CONFIG_IRQ_PER_CPU=y 38CONFIG_IRQ_PER_CPU=y
39CONFIG_NR_IRQS=512
36CONFIG_STACKTRACE_SUPPORT=y 40CONFIG_STACKTRACE_SUPPORT=y
37CONFIG_HAVE_LATENCYTOP_SUPPORT=y 41CONFIG_HAVE_LATENCYTOP_SUPPORT=y
42CONFIG_TRACE_IRQFLAGS_SUPPORT=y
38CONFIG_LOCKDEP_SUPPORT=y 43CONFIG_LOCKDEP_SUPPORT=y
39CONFIG_RWSEM_XCHGADD_ALGORITHM=y 44CONFIG_RWSEM_XCHGADD_ALGORITHM=y
40CONFIG_ARCH_HAS_ILOG2_U32=y 45CONFIG_ARCH_HAS_ILOG2_U32=y
41CONFIG_GENERIC_HWEIGHT=y 46CONFIG_GENERIC_HWEIGHT=y
42CONFIG_GENERIC_CALIBRATE_DELAY=y
43CONFIG_GENERIC_FIND_NEXT_BIT=y 47CONFIG_GENERIC_FIND_NEXT_BIT=y
44# CONFIG_ARCH_NO_VIRT_TO_BUS is not set 48# CONFIG_ARCH_NO_VIRT_TO_BUS is not set
45CONFIG_PPC=y 49CONFIG_PPC=y
@@ -53,11 +57,15 @@ CONFIG_PPC_UDBG_16550=y
53# CONFIG_GENERIC_TBSYNC is not set 57# CONFIG_GENERIC_TBSYNC is not set
54CONFIG_AUDIT_ARCH=y 58CONFIG_AUDIT_ARCH=y
55CONFIG_GENERIC_BUG=y 59CONFIG_GENERIC_BUG=y
60CONFIG_DTC=y
56# CONFIG_DEFAULT_UIMAGE is not set 61# CONFIG_DEFAULT_UIMAGE is not set
62CONFIG_ARCH_HIBERNATION_POSSIBLE=y
57CONFIG_PPC_DCR_NATIVE=y 63CONFIG_PPC_DCR_NATIVE=y
58# CONFIG_PPC_DCR_MMIO is not set 64# CONFIG_PPC_DCR_MMIO is not set
59CONFIG_PPC_DCR=y 65CONFIG_PPC_DCR=y
66CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
60CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 67CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
68CONFIG_CONSTRUCTORS=y
61 69
62# 70#
63# General setup 71# General setup
@@ -71,9 +79,21 @@ CONFIG_SWAP=y
71CONFIG_SYSVIPC=y 79CONFIG_SYSVIPC=y
72CONFIG_SYSVIPC_SYSCTL=y 80CONFIG_SYSVIPC_SYSCTL=y
73CONFIG_POSIX_MQUEUE=y 81CONFIG_POSIX_MQUEUE=y
82CONFIG_POSIX_MQUEUE_SYSCTL=y
74# CONFIG_BSD_PROCESS_ACCT is not set 83# CONFIG_BSD_PROCESS_ACCT is not set
75# CONFIG_TASKSTATS is not set 84# CONFIG_TASKSTATS is not set
76# CONFIG_AUDIT is not set 85# CONFIG_AUDIT is not set
86
87#
88# RCU Subsystem
89#
90CONFIG_TREE_RCU=y
91# CONFIG_TREE_PREEMPT_RCU is not set
92# CONFIG_TINY_RCU is not set
93# CONFIG_RCU_TRACE is not set
94CONFIG_RCU_FANOUT=32
95# CONFIG_RCU_FANOUT_EXACT is not set
96# CONFIG_TREE_RCU_TRACE is not set
77# CONFIG_IKCONFIG is not set 97# CONFIG_IKCONFIG is not set
78CONFIG_LOG_BUF_SHIFT=14 98CONFIG_LOG_BUF_SHIFT=14
79CONFIG_GROUP_SCHED=y 99CONFIG_GROUP_SCHED=y
@@ -82,14 +102,17 @@ CONFIG_FAIR_GROUP_SCHED=y
82CONFIG_USER_SCHED=y 102CONFIG_USER_SCHED=y
83# CONFIG_CGROUP_SCHED is not set 103# CONFIG_CGROUP_SCHED is not set
84# CONFIG_CGROUPS is not set 104# CONFIG_CGROUPS is not set
85CONFIG_SYSFS_DEPRECATED=y 105# CONFIG_SYSFS_DEPRECATED_V2 is not set
86CONFIG_SYSFS_DEPRECATED_V2=y
87# CONFIG_RELAY is not set 106# CONFIG_RELAY is not set
88# CONFIG_NAMESPACES is not set 107# CONFIG_NAMESPACES is not set
89CONFIG_BLK_DEV_INITRD=y 108CONFIG_BLK_DEV_INITRD=y
90CONFIG_INITRAMFS_SOURCE="" 109CONFIG_INITRAMFS_SOURCE=""
110CONFIG_RD_GZIP=y
111# CONFIG_RD_BZIP2 is not set
112# CONFIG_RD_LZMA is not set
91# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 113# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
92CONFIG_SYSCTL=y 114CONFIG_SYSCTL=y
115CONFIG_ANON_INODES=y
93CONFIG_EMBEDDED=y 116CONFIG_EMBEDDED=y
94CONFIG_SYSCTL_SYSCALL=y 117CONFIG_SYSCTL_SYSCALL=y
95CONFIG_KALLSYMS=y 118CONFIG_KALLSYMS=y
@@ -99,19 +122,25 @@ CONFIG_HOTPLUG=y
99CONFIG_PRINTK=y 122CONFIG_PRINTK=y
100CONFIG_BUG=y 123CONFIG_BUG=y
101CONFIG_ELF_CORE=y 124CONFIG_ELF_CORE=y
102CONFIG_COMPAT_BRK=y
103CONFIG_BASE_FULL=y 125CONFIG_BASE_FULL=y
104CONFIG_FUTEX=y 126CONFIG_FUTEX=y
105CONFIG_ANON_INODES=y
106CONFIG_EPOLL=y 127CONFIG_EPOLL=y
107CONFIG_SIGNALFD=y 128CONFIG_SIGNALFD=y
108CONFIG_TIMERFD=y 129CONFIG_TIMERFD=y
109CONFIG_EVENTFD=y 130CONFIG_EVENTFD=y
110CONFIG_SHMEM=y 131CONFIG_SHMEM=y
111CONFIG_AIO=y 132CONFIG_AIO=y
133CONFIG_HAVE_PERF_EVENTS=y
134
135#
136# Kernel Performance Events And Counters
137#
138# CONFIG_PERF_EVENTS is not set
139# CONFIG_PERF_COUNTERS is not set
112CONFIG_VM_EVENT_COUNTERS=y 140CONFIG_VM_EVENT_COUNTERS=y
113CONFIG_PCI_QUIRKS=y 141CONFIG_PCI_QUIRKS=y
114CONFIG_SLUB_DEBUG=y 142CONFIG_SLUB_DEBUG=y
143CONFIG_COMPAT_BRK=y
115# CONFIG_SLAB is not set 144# CONFIG_SLAB is not set
116CONFIG_SLUB=y 145CONFIG_SLUB=y
117# CONFIG_SLOB is not set 146# CONFIG_SLOB is not set
@@ -123,6 +152,14 @@ CONFIG_HAVE_IOREMAP_PROT=y
123CONFIG_HAVE_KPROBES=y 152CONFIG_HAVE_KPROBES=y
124CONFIG_HAVE_KRETPROBES=y 153CONFIG_HAVE_KRETPROBES=y
125CONFIG_HAVE_ARCH_TRACEHOOK=y 154CONFIG_HAVE_ARCH_TRACEHOOK=y
155CONFIG_HAVE_DMA_ATTRS=y
156CONFIG_HAVE_DMA_API_DEBUG=y
157
158#
159# GCOV-based kernel profiling
160#
161# CONFIG_GCOV_KERNEL is not set
162# CONFIG_SLOW_WORK is not set
126# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 163# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
127CONFIG_SLABINFO=y 164CONFIG_SLABINFO=y
128CONFIG_RT_MUTEXES=y 165CONFIG_RT_MUTEXES=y
@@ -134,8 +171,7 @@ CONFIG_MODULE_UNLOAD=y
134# CONFIG_MODVERSIONS is not set 171# CONFIG_MODVERSIONS is not set
135# CONFIG_MODULE_SRCVERSION_ALL is not set 172# CONFIG_MODULE_SRCVERSION_ALL is not set
136CONFIG_BLOCK=y 173CONFIG_BLOCK=y
137CONFIG_LBD=y 174CONFIG_LBDAF=y
138# CONFIG_BLK_DEV_IO_TRACE is not set
139# CONFIG_BLK_DEV_BSG is not set 175# CONFIG_BLK_DEV_BSG is not set
140# CONFIG_BLK_DEV_INTEGRITY is not set 176# CONFIG_BLK_DEV_INTEGRITY is not set
141 177
@@ -143,19 +179,41 @@ CONFIG_LBD=y
143# IO Schedulers 179# IO Schedulers
144# 180#
145CONFIG_IOSCHED_NOOP=y 181CONFIG_IOSCHED_NOOP=y
146CONFIG_IOSCHED_AS=y
147CONFIG_IOSCHED_DEADLINE=y 182CONFIG_IOSCHED_DEADLINE=y
148CONFIG_IOSCHED_CFQ=y 183CONFIG_IOSCHED_CFQ=y
149CONFIG_DEFAULT_AS=y
150# CONFIG_DEFAULT_DEADLINE is not set 184# CONFIG_DEFAULT_DEADLINE is not set
151# CONFIG_DEFAULT_CFQ is not set 185CONFIG_DEFAULT_CFQ=y
152# CONFIG_DEFAULT_NOOP is not set 186# CONFIG_DEFAULT_NOOP is not set
153CONFIG_DEFAULT_IOSCHED="anticipatory" 187CONFIG_DEFAULT_IOSCHED="cfq"
154CONFIG_CLASSIC_RCU=y 188# CONFIG_INLINE_SPIN_TRYLOCK is not set
155# CONFIG_TREE_RCU is not set 189# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
156# CONFIG_PREEMPT_RCU is not set 190# CONFIG_INLINE_SPIN_LOCK is not set
157# CONFIG_TREE_RCU_TRACE is not set 191# CONFIG_INLINE_SPIN_LOCK_BH is not set
158# CONFIG_PREEMPT_RCU_TRACE is not set 192# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
193# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
194CONFIG_INLINE_SPIN_UNLOCK=y
195# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
196CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
197# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
198# CONFIG_INLINE_READ_TRYLOCK is not set
199# CONFIG_INLINE_READ_LOCK is not set
200# CONFIG_INLINE_READ_LOCK_BH is not set
201# CONFIG_INLINE_READ_LOCK_IRQ is not set
202# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
203CONFIG_INLINE_READ_UNLOCK=y
204# CONFIG_INLINE_READ_UNLOCK_BH is not set
205CONFIG_INLINE_READ_UNLOCK_IRQ=y
206# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
207# CONFIG_INLINE_WRITE_TRYLOCK is not set
208# CONFIG_INLINE_WRITE_LOCK is not set
209# CONFIG_INLINE_WRITE_LOCK_BH is not set
210# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
211# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
212CONFIG_INLINE_WRITE_UNLOCK=y
213# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
214CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
215# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
216# CONFIG_MUTEX_SPIN_ON_OWNER is not set
159# CONFIG_FREEZER is not set 217# CONFIG_FREEZER is not set
160# CONFIG_PPC4xx_PCI_EXPRESS is not set 218# CONFIG_PPC4xx_PCI_EXPRESS is not set
161 219
@@ -176,6 +234,8 @@ CONFIG_BAMBOO=y
176# CONFIG_ARCHES is not set 234# CONFIG_ARCHES is not set
177# CONFIG_CANYONLANDS is not set 235# CONFIG_CANYONLANDS is not set
178# CONFIG_GLACIER is not set 236# CONFIG_GLACIER is not set
237# CONFIG_REDWOOD is not set
238# CONFIG_EIGER is not set
179# CONFIG_YOSEMITE is not set 239# CONFIG_YOSEMITE is not set
180# CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set 240# CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set
181CONFIG_PPC44x_SIMPLE=y 241CONFIG_PPC44x_SIMPLE=y
@@ -218,10 +278,12 @@ CONFIG_BINFMT_ELF=y
218# CONFIG_BINFMT_MISC is not set 278# CONFIG_BINFMT_MISC is not set
219# CONFIG_MATH_EMULATION is not set 279# CONFIG_MATH_EMULATION is not set
220# CONFIG_IOMMU_HELPER is not set 280# CONFIG_IOMMU_HELPER is not set
221CONFIG_PPC_NEED_DMA_SYNC_OPS=y 281# CONFIG_SWIOTLB is not set
222CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 282CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
223CONFIG_ARCH_HAS_WALK_MEMORY=y 283CONFIG_ARCH_HAS_WALK_MEMORY=y
224CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 284CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
285CONFIG_SPARSE_IRQ=y
286CONFIG_MAX_ACTIVE_REGIONS=32
225CONFIG_ARCH_FLATMEM_ENABLE=y 287CONFIG_ARCH_FLATMEM_ENABLE=y
226CONFIG_ARCH_POPULATES_NODE_MAP=y 288CONFIG_ARCH_POPULATES_NODE_MAP=y
227CONFIG_SELECT_MEMORY_MODEL=y 289CONFIG_SELECT_MEMORY_MODEL=y
@@ -237,10 +299,13 @@ CONFIG_PHYS_ADDR_T_64BIT=y
237CONFIG_ZONE_DMA_FLAG=1 299CONFIG_ZONE_DMA_FLAG=1
238CONFIG_BOUNCE=y 300CONFIG_BOUNCE=y
239CONFIG_VIRT_TO_BUS=y 301CONFIG_VIRT_TO_BUS=y
240CONFIG_UNEVICTABLE_LRU=y 302# CONFIG_KSM is not set
303CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
304CONFIG_STDBINUTILS=y
241CONFIG_PPC_4K_PAGES=y 305CONFIG_PPC_4K_PAGES=y
242# CONFIG_PPC_16K_PAGES is not set 306# CONFIG_PPC_16K_PAGES is not set
243# CONFIG_PPC_64K_PAGES is not set 307# CONFIG_PPC_64K_PAGES is not set
308# CONFIG_PPC_256K_PAGES is not set
244CONFIG_FORCE_MAX_ZONEORDER=11 309CONFIG_FORCE_MAX_ZONEORDER=11
245CONFIG_PROC_DEVICETREE=y 310CONFIG_PROC_DEVICETREE=y
246CONFIG_CMDLINE_BOOL=y 311CONFIG_CMDLINE_BOOL=y
@@ -265,6 +330,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
265# CONFIG_PCI_LEGACY is not set 330# CONFIG_PCI_LEGACY is not set
266# CONFIG_PCI_DEBUG is not set 331# CONFIG_PCI_DEBUG is not set
267# CONFIG_PCI_STUB is not set 332# CONFIG_PCI_STUB is not set
333# CONFIG_PCI_IOV is not set
268# CONFIG_PCCARD is not set 334# CONFIG_PCCARD is not set
269# CONFIG_HOTPLUG_PCI is not set 335# CONFIG_HOTPLUG_PCI is not set
270# CONFIG_HAS_RAPIDIO is not set 336# CONFIG_HAS_RAPIDIO is not set
@@ -282,14 +348,12 @@ CONFIG_PAGE_OFFSET=0xc0000000
282CONFIG_KERNEL_START=0xc0000000 348CONFIG_KERNEL_START=0xc0000000
283CONFIG_PHYSICAL_START=0x00000000 349CONFIG_PHYSICAL_START=0x00000000
284CONFIG_TASK_SIZE=0xc0000000 350CONFIG_TASK_SIZE=0xc0000000
285CONFIG_CONSISTENT_START=0xff100000
286CONFIG_CONSISTENT_SIZE=0x00200000 351CONFIG_CONSISTENT_SIZE=0x00200000
287CONFIG_NET=y 352CONFIG_NET=y
288 353
289# 354#
290# Networking options 355# Networking options
291# 356#
292CONFIG_COMPAT_NET_DEV_OPS=y
293CONFIG_PACKET=y 357CONFIG_PACKET=y
294# CONFIG_PACKET_MMAP is not set 358# CONFIG_PACKET_MMAP is not set
295CONFIG_UNIX=y 359CONFIG_UNIX=y
@@ -326,6 +390,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
326# CONFIG_NETFILTER is not set 390# CONFIG_NETFILTER is not set
327# CONFIG_IP_DCCP is not set 391# CONFIG_IP_DCCP is not set
328# CONFIG_IP_SCTP is not set 392# CONFIG_IP_SCTP is not set
393# CONFIG_RDS is not set
329# CONFIG_TIPC is not set 394# CONFIG_TIPC is not set
330# CONFIG_ATM is not set 395# CONFIG_ATM is not set
331# CONFIG_BRIDGE is not set 396# CONFIG_BRIDGE is not set
@@ -339,6 +404,8 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
339# CONFIG_LAPB is not set 404# CONFIG_LAPB is not set
340# CONFIG_ECONET is not set 405# CONFIG_ECONET is not set
341# CONFIG_WAN_ROUTER is not set 406# CONFIG_WAN_ROUTER is not set
407# CONFIG_PHONET is not set
408# CONFIG_IEEE802154 is not set
342# CONFIG_NET_SCHED is not set 409# CONFIG_NET_SCHED is not set
343# CONFIG_DCB is not set 410# CONFIG_DCB is not set
344 411
@@ -351,8 +418,13 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
351# CONFIG_IRDA is not set 418# CONFIG_IRDA is not set
352# CONFIG_BT is not set 419# CONFIG_BT is not set
353# CONFIG_AF_RXRPC is not set 420# CONFIG_AF_RXRPC is not set
354# CONFIG_PHONET is not set 421CONFIG_WIRELESS=y
355# CONFIG_WIRELESS is not set 422# CONFIG_CFG80211 is not set
423# CONFIG_LIB80211 is not set
424
425#
426# CFG80211 needs to be enabled for MAC80211
427#
356# CONFIG_WIMAX is not set 428# CONFIG_WIMAX is not set
357# CONFIG_RFKILL is not set 429# CONFIG_RFKILL is not set
358# CONFIG_NET_9P is not set 430# CONFIG_NET_9P is not set
@@ -365,6 +437,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
365# Generic Driver Options 437# Generic Driver Options
366# 438#
367CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 439CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
440# CONFIG_DEVTMPFS is not set
368CONFIG_STANDALONE=y 441CONFIG_STANDALONE=y
369CONFIG_PREVENT_FIRMWARE_BUILD=y 442CONFIG_PREVENT_FIRMWARE_BUILD=y
370CONFIG_FW_LOADER=y 443CONFIG_FW_LOADER=y
@@ -386,6 +459,7 @@ CONFIG_BLK_DEV=y
386# CONFIG_BLK_DEV_UMEM is not set 459# CONFIG_BLK_DEV_UMEM is not set
387# CONFIG_BLK_DEV_COW_COMMON is not set 460# CONFIG_BLK_DEV_COW_COMMON is not set
388# CONFIG_BLK_DEV_LOOP is not set 461# CONFIG_BLK_DEV_LOOP is not set
462# CONFIG_BLK_DEV_DRBD is not set
389# CONFIG_BLK_DEV_NBD is not set 463# CONFIG_BLK_DEV_NBD is not set
390# CONFIG_BLK_DEV_SX8 is not set 464# CONFIG_BLK_DEV_SX8 is not set
391CONFIG_BLK_DEV_RAM=y 465CONFIG_BLK_DEV_RAM=y
@@ -398,12 +472,17 @@ CONFIG_BLK_DEV_RAM_SIZE=35000
398# CONFIG_BLK_DEV_HD is not set 472# CONFIG_BLK_DEV_HD is not set
399CONFIG_MISC_DEVICES=y 473CONFIG_MISC_DEVICES=y
400# CONFIG_PHANTOM is not set 474# CONFIG_PHANTOM is not set
401# CONFIG_EEPROM_93CX6 is not set
402# CONFIG_SGI_IOC4 is not set 475# CONFIG_SGI_IOC4 is not set
403# CONFIG_TIFM_CORE is not set 476# CONFIG_TIFM_CORE is not set
404# CONFIG_ENCLOSURE_SERVICES is not set 477# CONFIG_ENCLOSURE_SERVICES is not set
405# CONFIG_HP_ILO is not set 478# CONFIG_HP_ILO is not set
406# CONFIG_C2PORT is not set 479# CONFIG_C2PORT is not set
480
481#
482# EEPROM support
483#
484# CONFIG_EEPROM_93CX6 is not set
485# CONFIG_CB710_CORE is not set
407CONFIG_HAVE_IDE=y 486CONFIG_HAVE_IDE=y
408# CONFIG_IDE is not set 487# CONFIG_IDE is not set
409 488
@@ -423,7 +502,11 @@ CONFIG_HAVE_IDE=y
423# 502#
424 503
425# 504#
426# Enable only one of the two stacks, unless you know what you are doing 505# You can enable one or both FireWire driver stacks.
506#
507
508#
509# See the help texts for more information.
427# 510#
428# CONFIG_FIREWIRE is not set 511# CONFIG_FIREWIRE is not set
429# CONFIG_IEEE1394 is not set 512# CONFIG_IEEE1394 is not set
@@ -444,6 +527,8 @@ CONFIG_NET_ETHERNET=y
444# CONFIG_SUNGEM is not set 527# CONFIG_SUNGEM is not set
445# CONFIG_CASSINI is not set 528# CONFIG_CASSINI is not set
446# CONFIG_NET_VENDOR_3COM is not set 529# CONFIG_NET_VENDOR_3COM is not set
530# CONFIG_ETHOC is not set
531# CONFIG_DNET is not set
447# CONFIG_NET_TULIP is not set 532# CONFIG_NET_TULIP is not set
448# CONFIG_HP100 is not set 533# CONFIG_HP100 is not set
449CONFIG_IBM_NEW_EMAC=y 534CONFIG_IBM_NEW_EMAC=y
@@ -462,7 +547,10 @@ CONFIG_IBM_NEW_EMAC_ZMII=y
462# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set 547# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
463# CONFIG_NET_PCI is not set 548# CONFIG_NET_PCI is not set
464# CONFIG_B44 is not set 549# CONFIG_B44 is not set
550# CONFIG_KS8842 is not set
551# CONFIG_KS8851_MLL is not set
465# CONFIG_ATL2 is not set 552# CONFIG_ATL2 is not set
553# CONFIG_XILINX_EMACLITE is not set
466CONFIG_NETDEV_1000=y 554CONFIG_NETDEV_1000=y
467# CONFIG_ACENIC is not set 555# CONFIG_ACENIC is not set
468# CONFIG_DL2K is not set 556# CONFIG_DL2K is not set
@@ -470,6 +558,7 @@ CONFIG_NETDEV_1000=y
470# CONFIG_E1000E is not set 558# CONFIG_E1000E is not set
471# CONFIG_IP1000 is not set 559# CONFIG_IP1000 is not set
472# CONFIG_IGB is not set 560# CONFIG_IGB is not set
561# CONFIG_IGBVF is not set
473# CONFIG_NS83820 is not set 562# CONFIG_NS83820 is not set
474# CONFIG_HAMACHI is not set 563# CONFIG_HAMACHI is not set
475# CONFIG_YELLOWFIN is not set 564# CONFIG_YELLOWFIN is not set
@@ -480,9 +569,13 @@ CONFIG_NETDEV_1000=y
480# CONFIG_VIA_VELOCITY is not set 569# CONFIG_VIA_VELOCITY is not set
481# CONFIG_TIGON3 is not set 570# CONFIG_TIGON3 is not set
482# CONFIG_BNX2 is not set 571# CONFIG_BNX2 is not set
572# CONFIG_CNIC is not set
573# CONFIG_MV643XX_ETH is not set
574# CONFIG_XILINX_LL_TEMAC is not set
483# CONFIG_QLA3XXX is not set 575# CONFIG_QLA3XXX is not set
484# CONFIG_ATL1 is not set 576# CONFIG_ATL1 is not set
485# CONFIG_ATL1E is not set 577# CONFIG_ATL1E is not set
578# CONFIG_ATL1C is not set
486# CONFIG_JME is not set 579# CONFIG_JME is not set
487CONFIG_NETDEV_10000=y 580CONFIG_NETDEV_10000=y
488# CONFIG_CHELSIO_T1 is not set 581# CONFIG_CHELSIO_T1 is not set
@@ -492,6 +585,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
492# CONFIG_IXGBE is not set 585# CONFIG_IXGBE is not set
493# CONFIG_IXGB is not set 586# CONFIG_IXGB is not set
494# CONFIG_S2IO is not set 587# CONFIG_S2IO is not set
588# CONFIG_VXGE is not set
495# CONFIG_MYRI10GE is not set 589# CONFIG_MYRI10GE is not set
496# CONFIG_NETXEN_NIC is not set 590# CONFIG_NETXEN_NIC is not set
497# CONFIG_NIU is not set 591# CONFIG_NIU is not set
@@ -501,14 +595,13 @@ CONFIG_CHELSIO_T3_DEPENDS=y
501# CONFIG_BNX2X is not set 595# CONFIG_BNX2X is not set
502# CONFIG_QLGE is not set 596# CONFIG_QLGE is not set
503# CONFIG_SFC is not set 597# CONFIG_SFC is not set
598# CONFIG_BE2NET is not set
504# CONFIG_TR is not set 599# CONFIG_TR is not set
505 600CONFIG_WLAN=y
506# 601# CONFIG_AIRO is not set
507# Wireless LAN 602# CONFIG_ATMEL is not set
508# 603# CONFIG_PRISM54 is not set
509# CONFIG_WLAN_PRE80211 is not set 604# CONFIG_HOSTAP is not set
510# CONFIG_WLAN_80211 is not set
511# CONFIG_IWLWIFI_LEDS is not set
512 605
513# 606#
514# Enable WiMAX (Networking options) to see the WiMAX drivers 607# Enable WiMAX (Networking options) to see the WiMAX drivers
@@ -521,6 +614,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
521# CONFIG_NETCONSOLE is not set 614# CONFIG_NETCONSOLE is not set
522# CONFIG_NETPOLL is not set 615# CONFIG_NETPOLL is not set
523# CONFIG_NET_POLL_CONTROLLER is not set 616# CONFIG_NET_POLL_CONTROLLER is not set
617# CONFIG_VMXNET3 is not set
524# CONFIG_ISDN is not set 618# CONFIG_ISDN is not set
525# CONFIG_PHONE is not set 619# CONFIG_PHONE is not set
526 620
@@ -566,6 +660,7 @@ CONFIG_SERIAL_CORE_CONSOLE=y
566# CONFIG_SERIAL_JSM is not set 660# CONFIG_SERIAL_JSM is not set
567CONFIG_SERIAL_OF_PLATFORM=y 661CONFIG_SERIAL_OF_PLATFORM=y
568# CONFIG_SERIAL_OF_PLATFORM_NWPSERIAL is not set 662# CONFIG_SERIAL_OF_PLATFORM_NWPSERIAL is not set
663# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set
569CONFIG_UNIX98_PTYS=y 664CONFIG_UNIX98_PTYS=y
570# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set 665# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
571CONFIG_LEGACY_PTYS=y 666CONFIG_LEGACY_PTYS=y
@@ -582,6 +677,11 @@ CONFIG_LEGACY_PTY_COUNT=256
582CONFIG_DEVPORT=y 677CONFIG_DEVPORT=y
583# CONFIG_I2C is not set 678# CONFIG_I2C is not set
584# CONFIG_SPI is not set 679# CONFIG_SPI is not set
680
681#
682# PPS support
683#
684# CONFIG_PPS is not set
585CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y 685CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
586# CONFIG_GPIOLIB is not set 686# CONFIG_GPIOLIB is not set
587# CONFIG_W1 is not set 687# CONFIG_W1 is not set
@@ -604,27 +704,13 @@ CONFIG_SSB_POSSIBLE=y
604# CONFIG_HTC_PASIC3 is not set 704# CONFIG_HTC_PASIC3 is not set
605# CONFIG_MFD_TMIO is not set 705# CONFIG_MFD_TMIO is not set
606# CONFIG_REGULATOR is not set 706# CONFIG_REGULATOR is not set
607 707# CONFIG_MEDIA_SUPPORT is not set
608#
609# Multimedia devices
610#
611
612#
613# Multimedia core support
614#
615# CONFIG_VIDEO_DEV is not set
616# CONFIG_DVB_CORE is not set
617# CONFIG_VIDEO_MEDIA is not set
618
619#
620# Multimedia drivers
621#
622CONFIG_DAB=y
623 708
624# 709#
625# Graphics support 710# Graphics support
626# 711#
627# CONFIG_AGP is not set 712# CONFIG_AGP is not set
713CONFIG_VGA_ARB=y
628# CONFIG_DRM is not set 714# CONFIG_DRM is not set
629# CONFIG_VGASTATE is not set 715# CONFIG_VGASTATE is not set
630CONFIG_VIDEO_OUTPUT_CONTROL=m 716CONFIG_VIDEO_OUTPUT_CONTROL=m
@@ -649,7 +735,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
649# 735#
650 736
651# 737#
652# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; 738# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
653# 739#
654# CONFIG_USB_GADGET is not set 740# CONFIG_USB_GADGET is not set
655 741
@@ -665,7 +751,12 @@ CONFIG_USB_ARCH_HAS_EHCI=y
665# CONFIG_EDAC is not set 751# CONFIG_EDAC is not set
666# CONFIG_RTC_CLASS is not set 752# CONFIG_RTC_CLASS is not set
667# CONFIG_DMADEVICES is not set 753# CONFIG_DMADEVICES is not set
754# CONFIG_AUXDISPLAY is not set
668# CONFIG_UIO is not set 755# CONFIG_UIO is not set
756
757#
758# TI VLYNQ
759#
669# CONFIG_STAGING is not set 760# CONFIG_STAGING is not set
670 761
671# 762#
@@ -676,14 +767,17 @@ CONFIG_EXT2_FS=y
676# CONFIG_EXT2_FS_XIP is not set 767# CONFIG_EXT2_FS_XIP is not set
677# CONFIG_EXT3_FS is not set 768# CONFIG_EXT3_FS is not set
678# CONFIG_EXT4_FS is not set 769# CONFIG_EXT4_FS is not set
770CONFIG_EXT4_USE_FOR_EXT23=y
679# CONFIG_REISERFS_FS is not set 771# CONFIG_REISERFS_FS is not set
680# CONFIG_JFS_FS is not set 772# CONFIG_JFS_FS is not set
681# CONFIG_FS_POSIX_ACL is not set 773# CONFIG_FS_POSIX_ACL is not set
682CONFIG_FILE_LOCKING=y
683# CONFIG_XFS_FS is not set 774# CONFIG_XFS_FS is not set
684# CONFIG_GFS2_FS is not set 775# CONFIG_GFS2_FS is not set
685# CONFIG_OCFS2_FS is not set 776# CONFIG_OCFS2_FS is not set
686# CONFIG_BTRFS_FS is not set 777# CONFIG_BTRFS_FS is not set
778# CONFIG_NILFS2_FS is not set
779CONFIG_FILE_LOCKING=y
780CONFIG_FSNOTIFY=y
687CONFIG_DNOTIFY=y 781CONFIG_DNOTIFY=y
688CONFIG_INOTIFY=y 782CONFIG_INOTIFY=y
689CONFIG_INOTIFY_USER=y 783CONFIG_INOTIFY_USER=y
@@ -693,6 +787,11 @@ CONFIG_INOTIFY_USER=y
693# CONFIG_FUSE_FS is not set 787# CONFIG_FUSE_FS is not set
694 788
695# 789#
790# Caches
791#
792# CONFIG_FSCACHE is not set
793
794#
696# CD-ROM/DVD Filesystems 795# CD-ROM/DVD Filesystems
697# 796#
698# CONFIG_ISO9660_FS is not set 797# CONFIG_ISO9660_FS is not set
@@ -746,7 +845,6 @@ CONFIG_LOCKD=y
746CONFIG_LOCKD_V4=y 845CONFIG_LOCKD_V4=y
747CONFIG_NFS_COMMON=y 846CONFIG_NFS_COMMON=y
748CONFIG_SUNRPC=y 847CONFIG_SUNRPC=y
749# CONFIG_SUNRPC_REGISTER_V4 is not set
750# CONFIG_RPCSEC_GSS_KRB5 is not set 848# CONFIG_RPCSEC_GSS_KRB5 is not set
751# CONFIG_RPCSEC_GSS_SPKM3 is not set 849# CONFIG_RPCSEC_GSS_SPKM3 is not set
752# CONFIG_SMB_FS is not set 850# CONFIG_SMB_FS is not set
@@ -762,6 +860,7 @@ CONFIG_SUNRPC=y
762CONFIG_MSDOS_PARTITION=y 860CONFIG_MSDOS_PARTITION=y
763# CONFIG_NLS is not set 861# CONFIG_NLS is not set
764# CONFIG_DLM is not set 862# CONFIG_DLM is not set
863# CONFIG_BINARY_PRINTF is not set
765 864
766# 865#
767# Library routines 866# Library routines
@@ -776,11 +875,13 @@ CONFIG_CRC32=y
776# CONFIG_CRC7 is not set 875# CONFIG_CRC7 is not set
777# CONFIG_LIBCRC32C is not set 876# CONFIG_LIBCRC32C is not set
778CONFIG_ZLIB_INFLATE=y 877CONFIG_ZLIB_INFLATE=y
779CONFIG_PLIST=y 878CONFIG_DECOMPRESS_GZIP=y
780CONFIG_HAS_IOMEM=y 879CONFIG_HAS_IOMEM=y
781CONFIG_HAS_IOPORT=y 880CONFIG_HAS_IOPORT=y
782CONFIG_HAS_DMA=y 881CONFIG_HAS_DMA=y
783CONFIG_HAVE_LMB=y 882CONFIG_HAVE_LMB=y
883CONFIG_NLATTR=y
884CONFIG_GENERIC_ATOMIC64=y
784 885
785# 886#
786# Kernel hacking 887# Kernel hacking
@@ -790,6 +891,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
790CONFIG_ENABLE_MUST_CHECK=y 891CONFIG_ENABLE_MUST_CHECK=y
791CONFIG_FRAME_WARN=1024 892CONFIG_FRAME_WARN=1024
792CONFIG_MAGIC_SYSRQ=y 893CONFIG_MAGIC_SYSRQ=y
894# CONFIG_STRIP_ASM_SYMS is not set
793# CONFIG_UNUSED_SYMBOLS is not set 895# CONFIG_UNUSED_SYMBOLS is not set
794CONFIG_DEBUG_FS=y 896CONFIG_DEBUG_FS=y
795# CONFIG_HEADERS_CHECK is not set 897# CONFIG_HEADERS_CHECK is not set
@@ -798,16 +900,23 @@ CONFIG_DEBUG_KERNEL=y
798CONFIG_DETECT_SOFTLOCKUP=y 900CONFIG_DETECT_SOFTLOCKUP=y
799# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set 901# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
800CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 902CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
903CONFIG_DETECT_HUNG_TASK=y
904# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
905CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
801CONFIG_SCHED_DEBUG=y 906CONFIG_SCHED_DEBUG=y
802# CONFIG_SCHEDSTATS is not set 907# CONFIG_SCHEDSTATS is not set
803# CONFIG_TIMER_STATS is not set 908# CONFIG_TIMER_STATS is not set
804# CONFIG_DEBUG_OBJECTS is not set 909# CONFIG_DEBUG_OBJECTS is not set
805# CONFIG_SLUB_DEBUG_ON is not set 910# CONFIG_SLUB_DEBUG_ON is not set
806# CONFIG_SLUB_STATS is not set 911# CONFIG_SLUB_STATS is not set
912# CONFIG_DEBUG_KMEMLEAK is not set
807# CONFIG_DEBUG_RT_MUTEXES is not set 913# CONFIG_DEBUG_RT_MUTEXES is not set
808# CONFIG_RT_MUTEX_TESTER is not set 914# CONFIG_RT_MUTEX_TESTER is not set
809# CONFIG_DEBUG_SPINLOCK is not set 915# CONFIG_DEBUG_SPINLOCK is not set
810# CONFIG_DEBUG_MUTEXES is not set 916# CONFIG_DEBUG_MUTEXES is not set
917# CONFIG_DEBUG_LOCK_ALLOC is not set
918# CONFIG_PROVE_LOCKING is not set
919# CONFIG_LOCK_STAT is not set
811# CONFIG_DEBUG_SPINLOCK_SLEEP is not set 920# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
812# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set 921# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
813# CONFIG_DEBUG_KOBJECT is not set 922# CONFIG_DEBUG_KOBJECT is not set
@@ -819,35 +928,45 @@ CONFIG_SCHED_DEBUG=y
819# CONFIG_DEBUG_LIST is not set 928# CONFIG_DEBUG_LIST is not set
820# CONFIG_DEBUG_SG is not set 929# CONFIG_DEBUG_SG is not set
821# CONFIG_DEBUG_NOTIFIERS is not set 930# CONFIG_DEBUG_NOTIFIERS is not set
822# CONFIG_BOOT_PRINTK_DELAY is not set 931# CONFIG_DEBUG_CREDENTIALS is not set
823# CONFIG_RCU_TORTURE_TEST is not set 932# CONFIG_RCU_TORTURE_TEST is not set
824# CONFIG_RCU_CPU_STALL_DETECTOR is not set 933# CONFIG_RCU_CPU_STALL_DETECTOR is not set
825# CONFIG_BACKTRACE_SELF_TEST is not set 934# CONFIG_BACKTRACE_SELF_TEST is not set
826# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set 935# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
936# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
827# CONFIG_FAULT_INJECTION is not set 937# CONFIG_FAULT_INJECTION is not set
828# CONFIG_LATENCYTOP is not set 938# CONFIG_LATENCYTOP is not set
829CONFIG_SYSCTL_SYSCALL_CHECK=y 939CONFIG_SYSCTL_SYSCALL_CHECK=y
940# CONFIG_DEBUG_PAGEALLOC is not set
830CONFIG_HAVE_FUNCTION_TRACER=y 941CONFIG_HAVE_FUNCTION_TRACER=y
942CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
831CONFIG_HAVE_DYNAMIC_FTRACE=y 943CONFIG_HAVE_DYNAMIC_FTRACE=y
832CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 944CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
833 945CONFIG_TRACING_SUPPORT=y
834# 946CONFIG_FTRACE=y
835# Tracers
836#
837# CONFIG_FUNCTION_TRACER is not set 947# CONFIG_FUNCTION_TRACER is not set
948# CONFIG_IRQSOFF_TRACER is not set
838# CONFIG_SCHED_TRACER is not set 949# CONFIG_SCHED_TRACER is not set
839# CONFIG_CONTEXT_SWITCH_TRACER is not set 950# CONFIG_ENABLE_DEFAULT_TRACERS is not set
840# CONFIG_BOOT_TRACER is not set 951# CONFIG_BOOT_TRACER is not set
841# CONFIG_TRACE_BRANCH_PROFILING is not set 952CONFIG_BRANCH_PROFILE_NONE=y
953# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
954# CONFIG_PROFILE_ALL_BRANCHES is not set
842# CONFIG_STACK_TRACER is not set 955# CONFIG_STACK_TRACER is not set
843# CONFIG_DYNAMIC_PRINTK_DEBUG is not set 956# CONFIG_KMEMTRACE is not set
957# CONFIG_WORKQUEUE_TRACER is not set
958# CONFIG_BLK_DEV_IO_TRACE is not set
959# CONFIG_DYNAMIC_DEBUG is not set
960# CONFIG_DMA_API_DEBUG is not set
844# CONFIG_SAMPLES is not set 961# CONFIG_SAMPLES is not set
845CONFIG_HAVE_ARCH_KGDB=y 962CONFIG_HAVE_ARCH_KGDB=y
846# CONFIG_KGDB is not set 963# CONFIG_KGDB is not set
964# CONFIG_PPC_DISABLE_WERROR is not set
965CONFIG_PPC_WERROR=y
847CONFIG_PRINT_STACK_DEPTH=64 966CONFIG_PRINT_STACK_DEPTH=64
848# CONFIG_DEBUG_STACKOVERFLOW is not set 967# CONFIG_DEBUG_STACKOVERFLOW is not set
849# CONFIG_DEBUG_STACK_USAGE is not set 968# CONFIG_DEBUG_STACK_USAGE is not set
850# CONFIG_DEBUG_PAGEALLOC is not set 969# CONFIG_PPC_EMULATED_STATS is not set
851# CONFIG_CODE_PATCHING_SELFTEST is not set 970# CONFIG_CODE_PATCHING_SELFTEST is not set
852# CONFIG_FTR_FIXUP_SELFTEST is not set 971# CONFIG_FTR_FIXUP_SELFTEST is not set
853# CONFIG_MSI_BITMAP_SELFTEST is not set 972# CONFIG_MSI_BITMAP_SELFTEST is not set
@@ -863,13 +982,16 @@ CONFIG_PRINT_STACK_DEPTH=64
863# CONFIG_KEYS is not set 982# CONFIG_KEYS is not set
864# CONFIG_SECURITY is not set 983# CONFIG_SECURITY is not set
865# CONFIG_SECURITYFS is not set 984# CONFIG_SECURITYFS is not set
866# CONFIG_SECURITY_FILE_CAPABILITIES is not set 985# CONFIG_DEFAULT_SECURITY_SELINUX is not set
986# CONFIG_DEFAULT_SECURITY_SMACK is not set
987# CONFIG_DEFAULT_SECURITY_TOMOYO is not set
988CONFIG_DEFAULT_SECURITY_DAC=y
989CONFIG_DEFAULT_SECURITY=""
867CONFIG_CRYPTO=y 990CONFIG_CRYPTO=y
868 991
869# 992#
870# Crypto core or helper 993# Crypto core or helper
871# 994#
872# CONFIG_CRYPTO_FIPS is not set
873CONFIG_CRYPTO_ALGAPI=y 995CONFIG_CRYPTO_ALGAPI=y
874CONFIG_CRYPTO_ALGAPI2=y 996CONFIG_CRYPTO_ALGAPI2=y
875CONFIG_CRYPTO_AEAD2=y 997CONFIG_CRYPTO_AEAD2=y
@@ -878,10 +1000,12 @@ CONFIG_CRYPTO_BLKCIPHER2=y
878CONFIG_CRYPTO_HASH=y 1000CONFIG_CRYPTO_HASH=y
879CONFIG_CRYPTO_HASH2=y 1001CONFIG_CRYPTO_HASH2=y
880CONFIG_CRYPTO_RNG2=y 1002CONFIG_CRYPTO_RNG2=y
1003CONFIG_CRYPTO_PCOMP=y
881CONFIG_CRYPTO_MANAGER=y 1004CONFIG_CRYPTO_MANAGER=y
882CONFIG_CRYPTO_MANAGER2=y 1005CONFIG_CRYPTO_MANAGER2=y
883# CONFIG_CRYPTO_GF128MUL is not set 1006# CONFIG_CRYPTO_GF128MUL is not set
884# CONFIG_CRYPTO_NULL is not set 1007# CONFIG_CRYPTO_NULL is not set
1008CONFIG_CRYPTO_WORKQUEUE=y
885# CONFIG_CRYPTO_CRYPTD is not set 1009# CONFIG_CRYPTO_CRYPTD is not set
886# CONFIG_CRYPTO_AUTHENC is not set 1010# CONFIG_CRYPTO_AUTHENC is not set
887# CONFIG_CRYPTO_TEST is not set 1011# CONFIG_CRYPTO_TEST is not set
@@ -909,11 +1033,13 @@ CONFIG_CRYPTO_PCBC=y
909# 1033#
910# CONFIG_CRYPTO_HMAC is not set 1034# CONFIG_CRYPTO_HMAC is not set
911# CONFIG_CRYPTO_XCBC is not set 1035# CONFIG_CRYPTO_XCBC is not set
1036# CONFIG_CRYPTO_VMAC is not set
912 1037
913# 1038#
914# Digest 1039# Digest
915# 1040#
916# CONFIG_CRYPTO_CRC32C is not set 1041# CONFIG_CRYPTO_CRC32C is not set
1042# CONFIG_CRYPTO_GHASH is not set
917# CONFIG_CRYPTO_MD4 is not set 1043# CONFIG_CRYPTO_MD4 is not set
918CONFIG_CRYPTO_MD5=y 1044CONFIG_CRYPTO_MD5=y
919# CONFIG_CRYPTO_MICHAEL_MIC is not set 1045# CONFIG_CRYPTO_MICHAEL_MIC is not set
@@ -950,6 +1076,7 @@ CONFIG_CRYPTO_DES=y
950# Compression 1076# Compression
951# 1077#
952# CONFIG_CRYPTO_DEFLATE is not set 1078# CONFIG_CRYPTO_DEFLATE is not set
1079# CONFIG_CRYPTO_ZLIB is not set
953# CONFIG_CRYPTO_LZO is not set 1080# CONFIG_CRYPTO_LZO is not set
954 1081
955# 1082#
@@ -958,5 +1085,6 @@ CONFIG_CRYPTO_DES=y
958# CONFIG_CRYPTO_ANSI_CPRNG is not set 1085# CONFIG_CRYPTO_ANSI_CPRNG is not set
959CONFIG_CRYPTO_HW=y 1086CONFIG_CRYPTO_HW=y
960# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1087# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1088# CONFIG_CRYPTO_DEV_PPC4XX is not set
961# CONFIG_PPC_CLOCK is not set 1089# CONFIG_PPC_CLOCK is not set
962# CONFIG_VIRTUALIZATION is not set 1090# CONFIG_VIRTUALIZATION is not set
diff --git a/arch/powerpc/configs/44x/canyonlands_defconfig b/arch/powerpc/configs/44x/canyonlands_defconfig
index b312b166be66..1028b1bfb602 100644
--- a/arch/powerpc/configs/44x/canyonlands_defconfig
+++ b/arch/powerpc/configs/44x/canyonlands_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-rc4 3# Linux kernel version: 2.6.33-rc1
4# Wed Jul 29 17:27:20 2009 4# Mon Jan 4 14:12:20 2010
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -20,6 +20,7 @@ CONFIG_BOOKE=y
20CONFIG_PTE_64BIT=y 20CONFIG_PTE_64BIT=y
21CONFIG_PHYS_64BIT=y 21CONFIG_PHYS_64BIT=y
22CONFIG_PPC_MMU_NOHASH=y 22CONFIG_PPC_MMU_NOHASH=y
23CONFIG_PPC_MMU_NOHASH_32=y
23# CONFIG_PPC_MM_SLICES is not set 24# CONFIG_PPC_MM_SLICES is not set
24CONFIG_NOT_COHERENT_CACHE=y 25CONFIG_NOT_COHERENT_CACHE=y
25CONFIG_PPC32=y 26CONFIG_PPC32=y
@@ -33,7 +34,9 @@ CONFIG_GENERIC_CLOCKEVENTS=y
33CONFIG_GENERIC_HARDIRQS=y 34CONFIG_GENERIC_HARDIRQS=y
34CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y 35CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
35# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 36# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
37# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
36CONFIG_IRQ_PER_CPU=y 38CONFIG_IRQ_PER_CPU=y
39CONFIG_NR_IRQS=512
37CONFIG_STACKTRACE_SUPPORT=y 40CONFIG_STACKTRACE_SUPPORT=y
38CONFIG_HAVE_LATENCYTOP_SUPPORT=y 41CONFIG_HAVE_LATENCYTOP_SUPPORT=y
39CONFIG_TRACE_IRQFLAGS_SUPPORT=y 42CONFIG_TRACE_IRQFLAGS_SUPPORT=y
@@ -56,6 +59,7 @@ CONFIG_AUDIT_ARCH=y
56CONFIG_GENERIC_BUG=y 59CONFIG_GENERIC_BUG=y
57CONFIG_DTC=y 60CONFIG_DTC=y
58# CONFIG_DEFAULT_UIMAGE is not set 61# CONFIG_DEFAULT_UIMAGE is not set
62CONFIG_ARCH_HIBERNATION_POSSIBLE=y
59CONFIG_PPC_DCR_NATIVE=y 63CONFIG_PPC_DCR_NATIVE=y
60# CONFIG_PPC_DCR_MMIO is not set 64# CONFIG_PPC_DCR_MMIO is not set
61CONFIG_PPC_DCR=y 65CONFIG_PPC_DCR=y
@@ -83,17 +87,18 @@ CONFIG_POSIX_MQUEUE_SYSCTL=y
83# 87#
84# RCU Subsystem 88# RCU Subsystem
85# 89#
86CONFIG_CLASSIC_RCU=y 90CONFIG_TREE_RCU=y
87# CONFIG_TREE_RCU is not set 91# CONFIG_TREE_PREEMPT_RCU is not set
88# CONFIG_PREEMPT_RCU is not set 92# CONFIG_TINY_RCU is not set
93# CONFIG_RCU_TRACE is not set
94CONFIG_RCU_FANOUT=32
95# CONFIG_RCU_FANOUT_EXACT is not set
89# CONFIG_TREE_RCU_TRACE is not set 96# CONFIG_TREE_RCU_TRACE is not set
90# CONFIG_PREEMPT_RCU_TRACE is not set
91# CONFIG_IKCONFIG is not set 97# CONFIG_IKCONFIG is not set
92CONFIG_LOG_BUF_SHIFT=14 98CONFIG_LOG_BUF_SHIFT=14
93# CONFIG_GROUP_SCHED is not set 99# CONFIG_GROUP_SCHED is not set
94# CONFIG_CGROUPS is not set 100# CONFIG_CGROUPS is not set
95CONFIG_SYSFS_DEPRECATED=y 101# CONFIG_SYSFS_DEPRECATED_V2 is not set
96CONFIG_SYSFS_DEPRECATED_V2=y
97# CONFIG_RELAY is not set 102# CONFIG_RELAY is not set
98# CONFIG_NAMESPACES is not set 103# CONFIG_NAMESPACES is not set
99CONFIG_BLK_DEV_INITRD=y 104CONFIG_BLK_DEV_INITRD=y
@@ -121,22 +126,21 @@ CONFIG_TIMERFD=y
121CONFIG_EVENTFD=y 126CONFIG_EVENTFD=y
122CONFIG_SHMEM=y 127CONFIG_SHMEM=y
123CONFIG_AIO=y 128CONFIG_AIO=y
124CONFIG_HAVE_PERF_COUNTERS=y 129CONFIG_HAVE_PERF_EVENTS=y
125 130
126# 131#
127# Performance Counters 132# Kernel Performance Events And Counters
128# 133#
134# CONFIG_PERF_EVENTS is not set
129# CONFIG_PERF_COUNTERS is not set 135# CONFIG_PERF_COUNTERS is not set
130CONFIG_VM_EVENT_COUNTERS=y 136CONFIG_VM_EVENT_COUNTERS=y
131CONFIG_PCI_QUIRKS=y 137CONFIG_PCI_QUIRKS=y
132CONFIG_SLUB_DEBUG=y 138CONFIG_SLUB_DEBUG=y
133# CONFIG_STRIP_ASM_SYMS is not set
134CONFIG_COMPAT_BRK=y 139CONFIG_COMPAT_BRK=y
135# CONFIG_SLAB is not set 140# CONFIG_SLAB is not set
136CONFIG_SLUB=y 141CONFIG_SLUB=y
137# CONFIG_SLOB is not set 142# CONFIG_SLOB is not set
138# CONFIG_PROFILING is not set 143# CONFIG_PROFILING is not set
139# CONFIG_MARKERS is not set
140CONFIG_HAVE_OPROFILE=y 144CONFIG_HAVE_OPROFILE=y
141# CONFIG_KPROBES is not set 145# CONFIG_KPROBES is not set
142CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 146CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
@@ -144,6 +148,8 @@ CONFIG_HAVE_IOREMAP_PROT=y
144CONFIG_HAVE_KPROBES=y 148CONFIG_HAVE_KPROBES=y
145CONFIG_HAVE_KRETPROBES=y 149CONFIG_HAVE_KRETPROBES=y
146CONFIG_HAVE_ARCH_TRACEHOOK=y 150CONFIG_HAVE_ARCH_TRACEHOOK=y
151CONFIG_HAVE_DMA_ATTRS=y
152CONFIG_HAVE_DMA_API_DEBUG=y
147 153
148# 154#
149# GCOV-based kernel profiling 155# GCOV-based kernel profiling
@@ -169,14 +175,41 @@ CONFIG_LBDAF=y
169# IO Schedulers 175# IO Schedulers
170# 176#
171CONFIG_IOSCHED_NOOP=y 177CONFIG_IOSCHED_NOOP=y
172CONFIG_IOSCHED_AS=y
173CONFIG_IOSCHED_DEADLINE=y 178CONFIG_IOSCHED_DEADLINE=y
174CONFIG_IOSCHED_CFQ=y 179CONFIG_IOSCHED_CFQ=y
175CONFIG_DEFAULT_AS=y
176# CONFIG_DEFAULT_DEADLINE is not set 180# CONFIG_DEFAULT_DEADLINE is not set
177# CONFIG_DEFAULT_CFQ is not set 181CONFIG_DEFAULT_CFQ=y
178# CONFIG_DEFAULT_NOOP is not set 182# CONFIG_DEFAULT_NOOP is not set
179CONFIG_DEFAULT_IOSCHED="anticipatory" 183CONFIG_DEFAULT_IOSCHED="cfq"
184# CONFIG_INLINE_SPIN_TRYLOCK is not set
185# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
186# CONFIG_INLINE_SPIN_LOCK is not set
187# CONFIG_INLINE_SPIN_LOCK_BH is not set
188# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
189# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
190CONFIG_INLINE_SPIN_UNLOCK=y
191# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
192CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
193# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
194# CONFIG_INLINE_READ_TRYLOCK is not set
195# CONFIG_INLINE_READ_LOCK is not set
196# CONFIG_INLINE_READ_LOCK_BH is not set
197# CONFIG_INLINE_READ_LOCK_IRQ is not set
198# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
199CONFIG_INLINE_READ_UNLOCK=y
200# CONFIG_INLINE_READ_UNLOCK_BH is not set
201CONFIG_INLINE_READ_UNLOCK_IRQ=y
202# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
203# CONFIG_INLINE_WRITE_TRYLOCK is not set
204# CONFIG_INLINE_WRITE_LOCK is not set
205# CONFIG_INLINE_WRITE_LOCK_BH is not set
206# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
207# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
208CONFIG_INLINE_WRITE_UNLOCK=y
209# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
210CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
211# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
212# CONFIG_MUTEX_SPIN_ON_OWNER is not set
180# CONFIG_FREEZER is not set 213# CONFIG_FREEZER is not set
181CONFIG_PPC4xx_PCI_EXPRESS=y 214CONFIG_PPC4xx_PCI_EXPRESS=y
182 215
@@ -198,6 +231,7 @@ CONFIG_PPC4xx_PCI_EXPRESS=y
198CONFIG_CANYONLANDS=y 231CONFIG_CANYONLANDS=y
199# CONFIG_GLACIER is not set 232# CONFIG_GLACIER is not set
200# CONFIG_REDWOOD is not set 233# CONFIG_REDWOOD is not set
234# CONFIG_EIGER is not set
201# CONFIG_YOSEMITE is not set 235# CONFIG_YOSEMITE is not set
202# CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set 236# CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set
203CONFIG_PPC44x_SIMPLE=y 237CONFIG_PPC44x_SIMPLE=y
@@ -241,10 +275,11 @@ CONFIG_BINFMT_ELF=y
241# CONFIG_MATH_EMULATION is not set 275# CONFIG_MATH_EMULATION is not set
242# CONFIG_IOMMU_HELPER is not set 276# CONFIG_IOMMU_HELPER is not set
243# CONFIG_SWIOTLB is not set 277# CONFIG_SWIOTLB is not set
244CONFIG_PPC_NEED_DMA_SYNC_OPS=y
245CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 278CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
246CONFIG_ARCH_HAS_WALK_MEMORY=y 279CONFIG_ARCH_HAS_WALK_MEMORY=y
247CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 280CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
281CONFIG_SPARSE_IRQ=y
282CONFIG_MAX_ACTIVE_REGIONS=32
248CONFIG_ARCH_FLATMEM_ENABLE=y 283CONFIG_ARCH_FLATMEM_ENABLE=y
249CONFIG_ARCH_POPULATES_NODE_MAP=y 284CONFIG_ARCH_POPULATES_NODE_MAP=y
250CONFIG_SELECT_MEMORY_MODEL=y 285CONFIG_SELECT_MEMORY_MODEL=y
@@ -260,8 +295,7 @@ CONFIG_PHYS_ADDR_T_64BIT=y
260CONFIG_ZONE_DMA_FLAG=1 295CONFIG_ZONE_DMA_FLAG=1
261CONFIG_BOUNCE=y 296CONFIG_BOUNCE=y
262CONFIG_VIRT_TO_BUS=y 297CONFIG_VIRT_TO_BUS=y
263CONFIG_HAVE_MLOCK=y 298# CONFIG_KSM is not set
264CONFIG_HAVE_MLOCKED_PAGE_BIT=y
265CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 299CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
266CONFIG_STDBINUTILS=y 300CONFIG_STDBINUTILS=y
267CONFIG_PPC_4K_PAGES=y 301CONFIG_PPC_4K_PAGES=y
@@ -352,6 +386,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
352# CONFIG_NETFILTER is not set 386# CONFIG_NETFILTER is not set
353# CONFIG_IP_DCCP is not set 387# CONFIG_IP_DCCP is not set
354# CONFIG_IP_SCTP is not set 388# CONFIG_IP_SCTP is not set
389# CONFIG_RDS is not set
355# CONFIG_TIPC is not set 390# CONFIG_TIPC is not set
356# CONFIG_ATM is not set 391# CONFIG_ATM is not set
357# CONFIG_BRIDGE is not set 392# CONFIG_BRIDGE is not set
@@ -379,7 +414,13 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
379# CONFIG_IRDA is not set 414# CONFIG_IRDA is not set
380# CONFIG_BT is not set 415# CONFIG_BT is not set
381# CONFIG_AF_RXRPC is not set 416# CONFIG_AF_RXRPC is not set
382# CONFIG_WIRELESS is not set 417CONFIG_WIRELESS=y
418# CONFIG_CFG80211 is not set
419# CONFIG_LIB80211 is not set
420
421#
422# CFG80211 needs to be enabled for MAC80211
423#
383# CONFIG_WIMAX is not set 424# CONFIG_WIMAX is not set
384# CONFIG_RFKILL is not set 425# CONFIG_RFKILL is not set
385# CONFIG_NET_9P is not set 426# CONFIG_NET_9P is not set
@@ -392,6 +433,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
392# Generic Driver Options 433# Generic Driver Options
393# 434#
394CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 435CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
436# CONFIG_DEVTMPFS is not set
395CONFIG_STANDALONE=y 437CONFIG_STANDALONE=y
396CONFIG_PREVENT_FIRMWARE_BUILD=y 438CONFIG_PREVENT_FIRMWARE_BUILD=y
397CONFIG_FW_LOADER=y 439CONFIG_FW_LOADER=y
@@ -404,9 +446,9 @@ CONFIG_CONNECTOR=y
404CONFIG_PROC_EVENTS=y 446CONFIG_PROC_EVENTS=y
405CONFIG_MTD=y 447CONFIG_MTD=y
406# CONFIG_MTD_DEBUG is not set 448# CONFIG_MTD_DEBUG is not set
449# CONFIG_MTD_TESTS is not set
407# CONFIG_MTD_CONCAT is not set 450# CONFIG_MTD_CONCAT is not set
408CONFIG_MTD_PARTITIONS=y 451CONFIG_MTD_PARTITIONS=y
409# CONFIG_MTD_TESTS is not set
410# CONFIG_MTD_REDBOOT_PARTS is not set 452# CONFIG_MTD_REDBOOT_PARTS is not set
411CONFIG_MTD_CMDLINE_PARTS=y 453CONFIG_MTD_CMDLINE_PARTS=y
412CONFIG_MTD_OF_PARTS=y 454CONFIG_MTD_OF_PARTS=y
@@ -508,6 +550,7 @@ CONFIG_BLK_DEV=y
508# CONFIG_BLK_DEV_UMEM is not set 550# CONFIG_BLK_DEV_UMEM is not set
509# CONFIG_BLK_DEV_COW_COMMON is not set 551# CONFIG_BLK_DEV_COW_COMMON is not set
510# CONFIG_BLK_DEV_LOOP is not set 552# CONFIG_BLK_DEV_LOOP is not set
553# CONFIG_BLK_DEV_DRBD is not set
511# CONFIG_BLK_DEV_NBD is not set 554# CONFIG_BLK_DEV_NBD is not set
512# CONFIG_BLK_DEV_SX8 is not set 555# CONFIG_BLK_DEV_SX8 is not set
513# CONFIG_BLK_DEV_UB is not set 556# CONFIG_BLK_DEV_UB is not set
@@ -585,16 +628,18 @@ CONFIG_IBM_NEW_EMAC_EMAC4=y
585# CONFIG_NET_PCI is not set 628# CONFIG_NET_PCI is not set
586# CONFIG_B44 is not set 629# CONFIG_B44 is not set
587# CONFIG_KS8842 is not set 630# CONFIG_KS8842 is not set
631# CONFIG_KS8851_MLL is not set
588# CONFIG_ATL2 is not set 632# CONFIG_ATL2 is not set
633# CONFIG_XILINX_EMACLITE is not set
589# CONFIG_NETDEV_1000 is not set 634# CONFIG_NETDEV_1000 is not set
590# CONFIG_NETDEV_10000 is not set 635# CONFIG_NETDEV_10000 is not set
591# CONFIG_TR is not set 636# CONFIG_TR is not set
592 637CONFIG_WLAN=y
593# 638# CONFIG_AIRO is not set
594# Wireless LAN 639# CONFIG_ATMEL is not set
595# 640# CONFIG_PRISM54 is not set
596# CONFIG_WLAN_PRE80211 is not set 641# CONFIG_USB_ZD1201 is not set
597# CONFIG_WLAN_80211 is not set 642# CONFIG_HOSTAP is not set
598 643
599# 644#
600# Enable WiMAX (Networking options) to see the WiMAX drivers 645# Enable WiMAX (Networking options) to see the WiMAX drivers
@@ -616,6 +661,7 @@ CONFIG_IBM_NEW_EMAC_EMAC4=y
616# CONFIG_NETCONSOLE is not set 661# CONFIG_NETCONSOLE is not set
617# CONFIG_NETPOLL is not set 662# CONFIG_NETPOLL is not set
618# CONFIG_NET_POLL_CONTROLLER is not set 663# CONFIG_NET_POLL_CONTROLLER is not set
664# CONFIG_VMXNET3 is not set
619# CONFIG_ISDN is not set 665# CONFIG_ISDN is not set
620# CONFIG_PHONE is not set 666# CONFIG_PHONE is not set
621 667
@@ -661,6 +707,7 @@ CONFIG_SERIAL_CORE_CONSOLE=y
661# CONFIG_SERIAL_JSM is not set 707# CONFIG_SERIAL_JSM is not set
662CONFIG_SERIAL_OF_PLATFORM=y 708CONFIG_SERIAL_OF_PLATFORM=y
663# CONFIG_SERIAL_OF_PLATFORM_NWPSERIAL is not set 709# CONFIG_SERIAL_OF_PLATFORM_NWPSERIAL is not set
710# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set
664CONFIG_UNIX98_PTYS=y 711CONFIG_UNIX98_PTYS=y
665# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set 712# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
666CONFIG_LEGACY_PTYS=y 713CONFIG_LEGACY_PTYS=y
@@ -676,6 +723,7 @@ CONFIG_LEGACY_PTY_COUNT=256
676CONFIG_DEVPORT=y 723CONFIG_DEVPORT=y
677CONFIG_I2C=y 724CONFIG_I2C=y
678CONFIG_I2C_BOARDINFO=y 725CONFIG_I2C_BOARDINFO=y
726CONFIG_I2C_COMPAT=y
679CONFIG_I2C_CHARDEV=y 727CONFIG_I2C_CHARDEV=y
680CONFIG_I2C_HELPER_AUTO=y 728CONFIG_I2C_HELPER_AUTO=y
681 729
@@ -717,11 +765,6 @@ CONFIG_I2C_IBM_IIC=y
717# CONFIG_I2C_TINY_USB is not set 765# CONFIG_I2C_TINY_USB is not set
718 766
719# 767#
720# Graphics adapter I2C/DDC channel drivers
721#
722# CONFIG_I2C_VOODOO3 is not set
723
724#
725# Other I2C/SMBus bus drivers 768# Other I2C/SMBus bus drivers
726# 769#
727# CONFIG_I2C_PCA_PLATFORM is not set 770# CONFIG_I2C_PCA_PLATFORM is not set
@@ -730,10 +773,6 @@ CONFIG_I2C_IBM_IIC=y
730# 773#
731# Miscellaneous I2C Chip support 774# Miscellaneous I2C Chip support
732# 775#
733# CONFIG_DS1682 is not set
734# CONFIG_SENSORS_PCF8574 is not set
735# CONFIG_PCF8575 is not set
736# CONFIG_SENSORS_PCA9539 is not set
737# CONFIG_SENSORS_TSL2550 is not set 776# CONFIG_SENSORS_TSL2550 is not set
738# CONFIG_I2C_DEBUG_CORE is not set 777# CONFIG_I2C_DEBUG_CORE is not set
739# CONFIG_I2C_DEBUG_ALGO is not set 778# CONFIG_I2C_DEBUG_ALGO is not set
@@ -751,6 +790,11 @@ CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
751# CONFIG_POWER_SUPPLY is not set 790# CONFIG_POWER_SUPPLY is not set
752CONFIG_HWMON=y 791CONFIG_HWMON=y
753# CONFIG_HWMON_VID is not set 792# CONFIG_HWMON_VID is not set
793# CONFIG_HWMON_DEBUG_CHIP is not set
794
795#
796# Native drivers
797#
754CONFIG_SENSORS_AD7414=y 798CONFIG_SENSORS_AD7414=y
755# CONFIG_SENSORS_AD7418 is not set 799# CONFIG_SENSORS_AD7418 is not set
756# CONFIG_SENSORS_ADM1021 is not set 800# CONFIG_SENSORS_ADM1021 is not set
@@ -774,6 +818,7 @@ CONFIG_SENSORS_AD7414=y
774# CONFIG_SENSORS_GL520SM is not set 818# CONFIG_SENSORS_GL520SM is not set
775# CONFIG_SENSORS_IT87 is not set 819# CONFIG_SENSORS_IT87 is not set
776# CONFIG_SENSORS_LM63 is not set 820# CONFIG_SENSORS_LM63 is not set
821# CONFIG_SENSORS_LM73 is not set
777# CONFIG_SENSORS_LM75 is not set 822# CONFIG_SENSORS_LM75 is not set
778# CONFIG_SENSORS_LM77 is not set 823# CONFIG_SENSORS_LM77 is not set
779# CONFIG_SENSORS_LM78 is not set 824# CONFIG_SENSORS_LM78 is not set
@@ -800,6 +845,7 @@ CONFIG_SENSORS_AD7414=y
800# CONFIG_SENSORS_ADS7828 is not set 845# CONFIG_SENSORS_ADS7828 is not set
801# CONFIG_SENSORS_THMC50 is not set 846# CONFIG_SENSORS_THMC50 is not set
802# CONFIG_SENSORS_TMP401 is not set 847# CONFIG_SENSORS_TMP401 is not set
848# CONFIG_SENSORS_TMP421 is not set
803# CONFIG_SENSORS_VIA686A is not set 849# CONFIG_SENSORS_VIA686A is not set
804# CONFIG_SENSORS_VT1211 is not set 850# CONFIG_SENSORS_VT1211 is not set
805# CONFIG_SENSORS_VT8231 is not set 851# CONFIG_SENSORS_VT8231 is not set
@@ -811,9 +857,7 @@ CONFIG_SENSORS_AD7414=y
811# CONFIG_SENSORS_W83L786NG is not set 857# CONFIG_SENSORS_W83L786NG is not set
812# CONFIG_SENSORS_W83627HF is not set 858# CONFIG_SENSORS_W83627HF is not set
813# CONFIG_SENSORS_W83627EHF is not set 859# CONFIG_SENSORS_W83627EHF is not set
814# CONFIG_HWMON_DEBUG_CHIP is not set
815# CONFIG_THERMAL is not set 860# CONFIG_THERMAL is not set
816# CONFIG_THERMAL_HWMON is not set
817# CONFIG_WATCHDOG is not set 861# CONFIG_WATCHDOG is not set
818CONFIG_SSB_POSSIBLE=y 862CONFIG_SSB_POSSIBLE=y
819 863
@@ -831,10 +875,13 @@ CONFIG_SSB_POSSIBLE=y
831# CONFIG_TWL4030_CORE is not set 875# CONFIG_TWL4030_CORE is not set
832# CONFIG_MFD_TMIO is not set 876# CONFIG_MFD_TMIO is not set
833# CONFIG_PMIC_DA903X is not set 877# CONFIG_PMIC_DA903X is not set
878# CONFIG_PMIC_ADP5520 is not set
834# CONFIG_MFD_WM8400 is not set 879# CONFIG_MFD_WM8400 is not set
880# CONFIG_MFD_WM831X is not set
835# CONFIG_MFD_WM8350_I2C is not set 881# CONFIG_MFD_WM8350_I2C is not set
836# CONFIG_MFD_PCF50633 is not set 882# CONFIG_MFD_PCF50633 is not set
837# CONFIG_AB3100_CORE is not set 883# CONFIG_AB3100_CORE is not set
884# CONFIG_MFD_88PM8607 is not set
838# CONFIG_REGULATOR is not set 885# CONFIG_REGULATOR is not set
839# CONFIG_MEDIA_SUPPORT is not set 886# CONFIG_MEDIA_SUPPORT is not set
840 887
@@ -842,6 +889,7 @@ CONFIG_SSB_POSSIBLE=y
842# Graphics support 889# Graphics support
843# 890#
844# CONFIG_AGP is not set 891# CONFIG_AGP is not set
892CONFIG_VGA_ARB=y
845# CONFIG_DRM is not set 893# CONFIG_DRM is not set
846# CONFIG_VGASTATE is not set 894# CONFIG_VGASTATE is not set
847# CONFIG_VIDEO_OUTPUT_CONTROL is not set 895# CONFIG_VIDEO_OUTPUT_CONTROL is not set
@@ -882,10 +930,12 @@ CONFIG_USB_MON=y
882CONFIG_USB_EHCI_HCD=m 930CONFIG_USB_EHCI_HCD=m
883# CONFIG_USB_EHCI_ROOT_HUB_TT is not set 931# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
884# CONFIG_USB_EHCI_TT_NEWSCHED is not set 932# CONFIG_USB_EHCI_TT_NEWSCHED is not set
933# CONFIG_XPS_USB_HCD_XILINX is not set
885CONFIG_USB_EHCI_HCD_PPC_OF=y 934CONFIG_USB_EHCI_HCD_PPC_OF=y
886# CONFIG_USB_OXU210HP_HCD is not set 935# CONFIG_USB_OXU210HP_HCD is not set
887# CONFIG_USB_ISP116X_HCD is not set 936# CONFIG_USB_ISP116X_HCD is not set
888# CONFIG_USB_ISP1760_HCD is not set 937# CONFIG_USB_ISP1760_HCD is not set
938# CONFIG_USB_ISP1362_HCD is not set
889CONFIG_USB_OHCI_HCD=y 939CONFIG_USB_OHCI_HCD=y
890CONFIG_USB_OHCI_HCD_PPC_OF_BE=y 940CONFIG_USB_OHCI_HCD_PPC_OF_BE=y
891CONFIG_USB_OHCI_HCD_PPC_OF_LE=y 941CONFIG_USB_OHCI_HCD_PPC_OF_LE=y
@@ -993,6 +1043,7 @@ CONFIG_RTC_INTF_DEV=y
993# CONFIG_RTC_DRV_PCF8583 is not set 1043# CONFIG_RTC_DRV_PCF8583 is not set
994CONFIG_RTC_DRV_M41T80=y 1044CONFIG_RTC_DRV_M41T80=y
995# CONFIG_RTC_DRV_M41T80_WDT is not set 1045# CONFIG_RTC_DRV_M41T80_WDT is not set
1046# CONFIG_RTC_DRV_BQ32K is not set
996# CONFIG_RTC_DRV_S35390A is not set 1047# CONFIG_RTC_DRV_S35390A is not set
997# CONFIG_RTC_DRV_FM3130 is not set 1048# CONFIG_RTC_DRV_FM3130 is not set
998# CONFIG_RTC_DRV_RX8581 is not set 1049# CONFIG_RTC_DRV_RX8581 is not set
@@ -1014,7 +1065,9 @@ CONFIG_RTC_DRV_M41T80=y
1014# CONFIG_RTC_DRV_M48T86 is not set 1065# CONFIG_RTC_DRV_M48T86 is not set
1015# CONFIG_RTC_DRV_M48T35 is not set 1066# CONFIG_RTC_DRV_M48T35 is not set
1016# CONFIG_RTC_DRV_M48T59 is not set 1067# CONFIG_RTC_DRV_M48T59 is not set
1068# CONFIG_RTC_DRV_MSM6242 is not set
1017# CONFIG_RTC_DRV_BQ4802 is not set 1069# CONFIG_RTC_DRV_BQ4802 is not set
1070# CONFIG_RTC_DRV_RP5C01 is not set
1018# CONFIG_RTC_DRV_V3020 is not set 1071# CONFIG_RTC_DRV_V3020 is not set
1019 1072
1020# 1073#
@@ -1038,6 +1091,7 @@ CONFIG_EXT2_FS=y
1038# CONFIG_EXT2_FS_XIP is not set 1091# CONFIG_EXT2_FS_XIP is not set
1039# CONFIG_EXT3_FS is not set 1092# CONFIG_EXT3_FS is not set
1040# CONFIG_EXT4_FS is not set 1093# CONFIG_EXT4_FS is not set
1094CONFIG_EXT4_USE_FOR_EXT23=y
1041# CONFIG_REISERFS_FS is not set 1095# CONFIG_REISERFS_FS is not set
1042# CONFIG_JFS_FS is not set 1096# CONFIG_JFS_FS is not set
1043# CONFIG_FS_POSIX_ACL is not set 1097# CONFIG_FS_POSIX_ACL is not set
@@ -1045,6 +1099,7 @@ CONFIG_EXT2_FS=y
1045# CONFIG_GFS2_FS is not set 1099# CONFIG_GFS2_FS is not set
1046# CONFIG_OCFS2_FS is not set 1100# CONFIG_OCFS2_FS is not set
1047# CONFIG_BTRFS_FS is not set 1101# CONFIG_BTRFS_FS is not set
1102# CONFIG_NILFS2_FS is not set
1048CONFIG_FILE_LOCKING=y 1103CONFIG_FILE_LOCKING=y
1049CONFIG_FSNOTIFY=y 1104CONFIG_FSNOTIFY=y
1050CONFIG_DNOTIFY=y 1105CONFIG_DNOTIFY=y
@@ -1104,7 +1159,6 @@ CONFIG_CRAMFS=y
1104# CONFIG_ROMFS_FS is not set 1159# CONFIG_ROMFS_FS is not set
1105# CONFIG_SYSV_FS is not set 1160# CONFIG_SYSV_FS is not set
1106# CONFIG_UFS_FS is not set 1161# CONFIG_UFS_FS is not set
1107# CONFIG_NILFS2_FS is not set
1108CONFIG_NETWORK_FILESYSTEMS=y 1162CONFIG_NETWORK_FILESYSTEMS=y
1109CONFIG_NFS_FS=y 1163CONFIG_NFS_FS=y
1110CONFIG_NFS_V3=y 1164CONFIG_NFS_V3=y
@@ -1201,6 +1255,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
1201CONFIG_ENABLE_MUST_CHECK=y 1255CONFIG_ENABLE_MUST_CHECK=y
1202CONFIG_FRAME_WARN=1024 1256CONFIG_FRAME_WARN=1024
1203CONFIG_MAGIC_SYSRQ=y 1257CONFIG_MAGIC_SYSRQ=y
1258# CONFIG_STRIP_ASM_SYMS is not set
1204# CONFIG_UNUSED_SYMBOLS is not set 1259# CONFIG_UNUSED_SYMBOLS is not set
1205CONFIG_DEBUG_FS=y 1260CONFIG_DEBUG_FS=y
1206# CONFIG_HEADERS_CHECK is not set 1261# CONFIG_HEADERS_CHECK is not set
@@ -1218,6 +1273,7 @@ CONFIG_SCHED_DEBUG=y
1218# CONFIG_DEBUG_OBJECTS is not set 1273# CONFIG_DEBUG_OBJECTS is not set
1219# CONFIG_SLUB_DEBUG_ON is not set 1274# CONFIG_SLUB_DEBUG_ON is not set
1220# CONFIG_SLUB_STATS is not set 1275# CONFIG_SLUB_STATS is not set
1276# CONFIG_DEBUG_KMEMLEAK is not set
1221# CONFIG_DEBUG_RT_MUTEXES is not set 1277# CONFIG_DEBUG_RT_MUTEXES is not set
1222# CONFIG_RT_MUTEX_TESTER is not set 1278# CONFIG_RT_MUTEX_TESTER is not set
1223# CONFIG_DEBUG_SPINLOCK is not set 1279# CONFIG_DEBUG_SPINLOCK is not set
@@ -1236,10 +1292,12 @@ CONFIG_SCHED_DEBUG=y
1236# CONFIG_DEBUG_LIST is not set 1292# CONFIG_DEBUG_LIST is not set
1237# CONFIG_DEBUG_SG is not set 1293# CONFIG_DEBUG_SG is not set
1238# CONFIG_DEBUG_NOTIFIERS is not set 1294# CONFIG_DEBUG_NOTIFIERS is not set
1295# CONFIG_DEBUG_CREDENTIALS is not set
1239# CONFIG_RCU_TORTURE_TEST is not set 1296# CONFIG_RCU_TORTURE_TEST is not set
1240# CONFIG_RCU_CPU_STALL_DETECTOR is not set 1297# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1241# CONFIG_BACKTRACE_SELF_TEST is not set 1298# CONFIG_BACKTRACE_SELF_TEST is not set
1242# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set 1299# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1300# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
1243# CONFIG_FAULT_INJECTION is not set 1301# CONFIG_FAULT_INJECTION is not set
1244# CONFIG_LATENCYTOP is not set 1302# CONFIG_LATENCYTOP is not set
1245CONFIG_SYSCTL_SYSCALL_CHECK=y 1303CONFIG_SYSCTL_SYSCALL_CHECK=y
@@ -1263,10 +1321,10 @@ CONFIG_BRANCH_PROFILE_NONE=y
1263# CONFIG_WORKQUEUE_TRACER is not set 1321# CONFIG_WORKQUEUE_TRACER is not set
1264# CONFIG_BLK_DEV_IO_TRACE is not set 1322# CONFIG_BLK_DEV_IO_TRACE is not set
1265# CONFIG_DYNAMIC_DEBUG is not set 1323# CONFIG_DYNAMIC_DEBUG is not set
1324# CONFIG_DMA_API_DEBUG is not set
1266# CONFIG_SAMPLES is not set 1325# CONFIG_SAMPLES is not set
1267CONFIG_HAVE_ARCH_KGDB=y 1326CONFIG_HAVE_ARCH_KGDB=y
1268# CONFIG_KGDB is not set 1327# CONFIG_KGDB is not set
1269# CONFIG_KMEMCHECK is not set
1270# CONFIG_PPC_DISABLE_WERROR is not set 1328# CONFIG_PPC_DISABLE_WERROR is not set
1271CONFIG_PPC_WERROR=y 1329CONFIG_PPC_WERROR=y
1272CONFIG_PRINT_STACK_DEPTH=64 1330CONFIG_PRINT_STACK_DEPTH=64
@@ -1288,7 +1346,11 @@ CONFIG_PRINT_STACK_DEPTH=64
1288# CONFIG_KEYS is not set 1346# CONFIG_KEYS is not set
1289# CONFIG_SECURITY is not set 1347# CONFIG_SECURITY is not set
1290# CONFIG_SECURITYFS is not set 1348# CONFIG_SECURITYFS is not set
1291# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1349# CONFIG_DEFAULT_SECURITY_SELINUX is not set
1350# CONFIG_DEFAULT_SECURITY_SMACK is not set
1351# CONFIG_DEFAULT_SECURITY_TOMOYO is not set
1352CONFIG_DEFAULT_SECURITY_DAC=y
1353CONFIG_DEFAULT_SECURITY=""
1292# CONFIG_CRYPTO is not set 1354# CONFIG_CRYPTO is not set
1293# CONFIG_PPC_CLOCK is not set 1355# CONFIG_PPC_CLOCK is not set
1294# CONFIG_VIRTUALIZATION is not set 1356# CONFIG_VIRTUALIZATION is not set
diff --git a/arch/powerpc/configs/44x/ebony_defconfig b/arch/powerpc/configs/44x/ebony_defconfig
index b652f7dcab5a..69f5633cbd4f 100644
--- a/arch/powerpc/configs/44x/ebony_defconfig
+++ b/arch/powerpc/configs/44x/ebony_defconfig
@@ -1,14 +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.29-rc2 3# Linux kernel version: 2.6.33-rc1
4# Tue Jan 20 08:22:36 2009 4# Mon Jan 4 14:20:46 2010
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
8# 8#
9# Processor support 9# Processor support
10# 10#
11# CONFIG_6xx is not set 11# CONFIG_PPC_BOOK3S_32 is not set
12# CONFIG_PPC_85xx is not set 12# CONFIG_PPC_85xx is not set
13# CONFIG_PPC_8xx is not set 13# CONFIG_PPC_8xx is not set
14# CONFIG_40x is not set 14# CONFIG_40x is not set
@@ -19,6 +19,7 @@ CONFIG_BOOKE=y
19CONFIG_PTE_64BIT=y 19CONFIG_PTE_64BIT=y
20CONFIG_PHYS_64BIT=y 20CONFIG_PHYS_64BIT=y
21CONFIG_PPC_MMU_NOHASH=y 21CONFIG_PPC_MMU_NOHASH=y
22CONFIG_PPC_MMU_NOHASH_32=y
22# CONFIG_PPC_MM_SLICES is not set 23# CONFIG_PPC_MM_SLICES is not set
23CONFIG_NOT_COHERENT_CACHE=y 24CONFIG_NOT_COHERENT_CACHE=y
24CONFIG_PPC32=y 25CONFIG_PPC32=y
@@ -30,15 +31,18 @@ CONFIG_GENERIC_TIME=y
30CONFIG_GENERIC_TIME_VSYSCALL=y 31CONFIG_GENERIC_TIME_VSYSCALL=y
31CONFIG_GENERIC_CLOCKEVENTS=y 32CONFIG_GENERIC_CLOCKEVENTS=y
32CONFIG_GENERIC_HARDIRQS=y 33CONFIG_GENERIC_HARDIRQS=y
34CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
33# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 35# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
36# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
34CONFIG_IRQ_PER_CPU=y 37CONFIG_IRQ_PER_CPU=y
38CONFIG_NR_IRQS=512
35CONFIG_STACKTRACE_SUPPORT=y 39CONFIG_STACKTRACE_SUPPORT=y
36CONFIG_HAVE_LATENCYTOP_SUPPORT=y 40CONFIG_HAVE_LATENCYTOP_SUPPORT=y
41CONFIG_TRACE_IRQFLAGS_SUPPORT=y
37CONFIG_LOCKDEP_SUPPORT=y 42CONFIG_LOCKDEP_SUPPORT=y
38CONFIG_RWSEM_XCHGADD_ALGORITHM=y 43CONFIG_RWSEM_XCHGADD_ALGORITHM=y
39CONFIG_ARCH_HAS_ILOG2_U32=y 44CONFIG_ARCH_HAS_ILOG2_U32=y
40CONFIG_GENERIC_HWEIGHT=y 45CONFIG_GENERIC_HWEIGHT=y
41CONFIG_GENERIC_CALIBRATE_DELAY=y
42CONFIG_GENERIC_FIND_NEXT_BIT=y 46CONFIG_GENERIC_FIND_NEXT_BIT=y
43# CONFIG_ARCH_NO_VIRT_TO_BUS is not set 47# CONFIG_ARCH_NO_VIRT_TO_BUS is not set
44CONFIG_PPC=y 48CONFIG_PPC=y
@@ -52,11 +56,15 @@ CONFIG_PPC_UDBG_16550=y
52# CONFIG_GENERIC_TBSYNC is not set 56# CONFIG_GENERIC_TBSYNC is not set
53CONFIG_AUDIT_ARCH=y 57CONFIG_AUDIT_ARCH=y
54CONFIG_GENERIC_BUG=y 58CONFIG_GENERIC_BUG=y
59CONFIG_DTC=y
55# CONFIG_DEFAULT_UIMAGE is not set 60# CONFIG_DEFAULT_UIMAGE is not set
61CONFIG_ARCH_HIBERNATION_POSSIBLE=y
56CONFIG_PPC_DCR_NATIVE=y 62CONFIG_PPC_DCR_NATIVE=y
57# CONFIG_PPC_DCR_MMIO is not set 63# CONFIG_PPC_DCR_MMIO is not set
58CONFIG_PPC_DCR=y 64CONFIG_PPC_DCR=y
65CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
59CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 66CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
67CONFIG_CONSTRUCTORS=y
60 68
61# 69#
62# General setup 70# General setup
@@ -70,9 +78,21 @@ CONFIG_SWAP=y
70CONFIG_SYSVIPC=y 78CONFIG_SYSVIPC=y
71CONFIG_SYSVIPC_SYSCTL=y 79CONFIG_SYSVIPC_SYSCTL=y
72CONFIG_POSIX_MQUEUE=y 80CONFIG_POSIX_MQUEUE=y
81CONFIG_POSIX_MQUEUE_SYSCTL=y
73# CONFIG_BSD_PROCESS_ACCT is not set 82# CONFIG_BSD_PROCESS_ACCT is not set
74# CONFIG_TASKSTATS is not set 83# CONFIG_TASKSTATS is not set
75# CONFIG_AUDIT is not set 84# CONFIG_AUDIT is not set
85
86#
87# RCU Subsystem
88#
89CONFIG_TREE_RCU=y
90# CONFIG_TREE_PREEMPT_RCU is not set
91# CONFIG_TINY_RCU is not set
92# CONFIG_RCU_TRACE is not set
93CONFIG_RCU_FANOUT=32
94# CONFIG_RCU_FANOUT_EXACT is not set
95# CONFIG_TREE_RCU_TRACE is not set
76# CONFIG_IKCONFIG is not set 96# CONFIG_IKCONFIG is not set
77CONFIG_LOG_BUF_SHIFT=14 97CONFIG_LOG_BUF_SHIFT=14
78CONFIG_GROUP_SCHED=y 98CONFIG_GROUP_SCHED=y
@@ -81,37 +101,45 @@ CONFIG_FAIR_GROUP_SCHED=y
81CONFIG_USER_SCHED=y 101CONFIG_USER_SCHED=y
82# CONFIG_CGROUP_SCHED is not set 102# CONFIG_CGROUP_SCHED is not set
83# CONFIG_CGROUPS is not set 103# CONFIG_CGROUPS is not set
84CONFIG_SYSFS_DEPRECATED=y 104# CONFIG_SYSFS_DEPRECATED_V2 is not set
85CONFIG_SYSFS_DEPRECATED_V2=y
86# CONFIG_RELAY is not set 105# CONFIG_RELAY is not set
87# CONFIG_NAMESPACES is not set 106# CONFIG_NAMESPACES is not set
88CONFIG_BLK_DEV_INITRD=y 107CONFIG_BLK_DEV_INITRD=y
89CONFIG_INITRAMFS_SOURCE="" 108CONFIG_INITRAMFS_SOURCE=""
109CONFIG_RD_GZIP=y
110# CONFIG_RD_BZIP2 is not set
111# CONFIG_RD_LZMA is not set
90# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 112# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
91CONFIG_SYSCTL=y 113CONFIG_SYSCTL=y
114CONFIG_ANON_INODES=y
92CONFIG_EMBEDDED=y 115CONFIG_EMBEDDED=y
93CONFIG_SYSCTL_SYSCALL=y 116CONFIG_SYSCTL_SYSCALL=y
94CONFIG_KALLSYMS=y 117CONFIG_KALLSYMS=y
95CONFIG_KALLSYMS_ALL=y 118CONFIG_KALLSYMS_ALL=y
96CONFIG_KALLSYMS_STRIP_GENERATED=y
97CONFIG_KALLSYMS_EXTRA_PASS=y 119CONFIG_KALLSYMS_EXTRA_PASS=y
98CONFIG_HOTPLUG=y 120CONFIG_HOTPLUG=y
99CONFIG_PRINTK=y 121CONFIG_PRINTK=y
100CONFIG_BUG=y 122CONFIG_BUG=y
101CONFIG_ELF_CORE=y 123CONFIG_ELF_CORE=y
102CONFIG_COMPAT_BRK=y
103CONFIG_BASE_FULL=y 124CONFIG_BASE_FULL=y
104CONFIG_FUTEX=y 125CONFIG_FUTEX=y
105CONFIG_ANON_INODES=y
106CONFIG_EPOLL=y 126CONFIG_EPOLL=y
107CONFIG_SIGNALFD=y 127CONFIG_SIGNALFD=y
108CONFIG_TIMERFD=y 128CONFIG_TIMERFD=y
109CONFIG_EVENTFD=y 129CONFIG_EVENTFD=y
110CONFIG_SHMEM=y 130CONFIG_SHMEM=y
111CONFIG_AIO=y 131CONFIG_AIO=y
132CONFIG_HAVE_PERF_EVENTS=y
133
134#
135# Kernel Performance Events And Counters
136#
137# CONFIG_PERF_EVENTS is not set
138# CONFIG_PERF_COUNTERS is not set
112CONFIG_VM_EVENT_COUNTERS=y 139CONFIG_VM_EVENT_COUNTERS=y
113CONFIG_PCI_QUIRKS=y 140CONFIG_PCI_QUIRKS=y
114CONFIG_SLUB_DEBUG=y 141CONFIG_SLUB_DEBUG=y
142CONFIG_COMPAT_BRK=y
115# CONFIG_SLAB is not set 143# CONFIG_SLAB is not set
116CONFIG_SLUB=y 144CONFIG_SLUB=y
117# CONFIG_SLOB is not set 145# CONFIG_SLOB is not set
@@ -123,6 +151,14 @@ CONFIG_HAVE_IOREMAP_PROT=y
123CONFIG_HAVE_KPROBES=y 151CONFIG_HAVE_KPROBES=y
124CONFIG_HAVE_KRETPROBES=y 152CONFIG_HAVE_KRETPROBES=y
125CONFIG_HAVE_ARCH_TRACEHOOK=y 153CONFIG_HAVE_ARCH_TRACEHOOK=y
154CONFIG_HAVE_DMA_ATTRS=y
155CONFIG_HAVE_DMA_API_DEBUG=y
156
157#
158# GCOV-based kernel profiling
159#
160# CONFIG_GCOV_KERNEL is not set
161# CONFIG_SLOW_WORK is not set
126# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 162# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
127CONFIG_SLABINFO=y 163CONFIG_SLABINFO=y
128CONFIG_RT_MUTEXES=y 164CONFIG_RT_MUTEXES=y
@@ -134,8 +170,7 @@ CONFIG_MODULE_UNLOAD=y
134# CONFIG_MODVERSIONS is not set 170# CONFIG_MODVERSIONS is not set
135# CONFIG_MODULE_SRCVERSION_ALL is not set 171# CONFIG_MODULE_SRCVERSION_ALL is not set
136CONFIG_BLOCK=y 172CONFIG_BLOCK=y
137CONFIG_LBD=y 173CONFIG_LBDAF=y
138# CONFIG_BLK_DEV_IO_TRACE is not set
139# CONFIG_BLK_DEV_BSG is not set 174# CONFIG_BLK_DEV_BSG is not set
140# CONFIG_BLK_DEV_INTEGRITY is not set 175# CONFIG_BLK_DEV_INTEGRITY is not set
141 176
@@ -143,19 +178,41 @@ CONFIG_LBD=y
143# IO Schedulers 178# IO Schedulers
144# 179#
145CONFIG_IOSCHED_NOOP=y 180CONFIG_IOSCHED_NOOP=y
146CONFIG_IOSCHED_AS=y
147CONFIG_IOSCHED_DEADLINE=y 181CONFIG_IOSCHED_DEADLINE=y
148CONFIG_IOSCHED_CFQ=y 182CONFIG_IOSCHED_CFQ=y
149CONFIG_DEFAULT_AS=y
150# CONFIG_DEFAULT_DEADLINE is not set 183# CONFIG_DEFAULT_DEADLINE is not set
151# CONFIG_DEFAULT_CFQ is not set 184CONFIG_DEFAULT_CFQ=y
152# CONFIG_DEFAULT_NOOP is not set 185# CONFIG_DEFAULT_NOOP is not set
153CONFIG_DEFAULT_IOSCHED="anticipatory" 186CONFIG_DEFAULT_IOSCHED="cfq"
154CONFIG_CLASSIC_RCU=y 187# CONFIG_INLINE_SPIN_TRYLOCK is not set
155# CONFIG_TREE_RCU is not set 188# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
156# CONFIG_PREEMPT_RCU is not set 189# CONFIG_INLINE_SPIN_LOCK is not set
157# CONFIG_TREE_RCU_TRACE is not set 190# CONFIG_INLINE_SPIN_LOCK_BH is not set
158# CONFIG_PREEMPT_RCU_TRACE is not set 191# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
192# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
193CONFIG_INLINE_SPIN_UNLOCK=y
194# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
195CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
196# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
197# CONFIG_INLINE_READ_TRYLOCK is not set
198# CONFIG_INLINE_READ_LOCK is not set
199# CONFIG_INLINE_READ_LOCK_BH is not set
200# CONFIG_INLINE_READ_LOCK_IRQ is not set
201# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
202CONFIG_INLINE_READ_UNLOCK=y
203# CONFIG_INLINE_READ_UNLOCK_BH is not set
204CONFIG_INLINE_READ_UNLOCK_IRQ=y
205# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
206# CONFIG_INLINE_WRITE_TRYLOCK is not set
207# CONFIG_INLINE_WRITE_LOCK is not set
208# CONFIG_INLINE_WRITE_LOCK_BH is not set
209# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
210# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
211CONFIG_INLINE_WRITE_UNLOCK=y
212# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
213CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
214# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
215# CONFIG_MUTEX_SPIN_ON_OWNER is not set
159# CONFIG_FREEZER is not set 216# CONFIG_FREEZER is not set
160# CONFIG_PPC4xx_PCI_EXPRESS is not set 217# CONFIG_PPC4xx_PCI_EXPRESS is not set
161 218
@@ -176,6 +233,8 @@ CONFIG_EBONY=y
176# CONFIG_ARCHES is not set 233# CONFIG_ARCHES is not set
177# CONFIG_CANYONLANDS is not set 234# CONFIG_CANYONLANDS is not set
178# CONFIG_GLACIER is not set 235# CONFIG_GLACIER is not set
236# CONFIG_REDWOOD is not set
237# CONFIG_EIGER is not set
179# CONFIG_YOSEMITE is not set 238# CONFIG_YOSEMITE is not set
180# CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set 239# CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set
181# CONFIG_PPC44x_SIMPLE is not set 240# CONFIG_PPC44x_SIMPLE is not set
@@ -218,10 +277,12 @@ CONFIG_BINFMT_ELF=y
218# CONFIG_BINFMT_MISC is not set 277# CONFIG_BINFMT_MISC is not set
219CONFIG_MATH_EMULATION=y 278CONFIG_MATH_EMULATION=y
220# CONFIG_IOMMU_HELPER is not set 279# CONFIG_IOMMU_HELPER is not set
221CONFIG_PPC_NEED_DMA_SYNC_OPS=y 280# CONFIG_SWIOTLB is not set
222CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 281CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
223CONFIG_ARCH_HAS_WALK_MEMORY=y 282CONFIG_ARCH_HAS_WALK_MEMORY=y
224CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 283CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
284CONFIG_SPARSE_IRQ=y
285CONFIG_MAX_ACTIVE_REGIONS=32
225CONFIG_ARCH_FLATMEM_ENABLE=y 286CONFIG_ARCH_FLATMEM_ENABLE=y
226CONFIG_ARCH_POPULATES_NODE_MAP=y 287CONFIG_ARCH_POPULATES_NODE_MAP=y
227CONFIG_SELECT_MEMORY_MODEL=y 288CONFIG_SELECT_MEMORY_MODEL=y
@@ -237,10 +298,13 @@ CONFIG_PHYS_ADDR_T_64BIT=y
237CONFIG_ZONE_DMA_FLAG=1 298CONFIG_ZONE_DMA_FLAG=1
238CONFIG_BOUNCE=y 299CONFIG_BOUNCE=y
239CONFIG_VIRT_TO_BUS=y 300CONFIG_VIRT_TO_BUS=y
240CONFIG_UNEVICTABLE_LRU=y 301# CONFIG_KSM is not set
302CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
303CONFIG_STDBINUTILS=y
241CONFIG_PPC_4K_PAGES=y 304CONFIG_PPC_4K_PAGES=y
242# CONFIG_PPC_16K_PAGES is not set 305# CONFIG_PPC_16K_PAGES is not set
243# CONFIG_PPC_64K_PAGES is not set 306# CONFIG_PPC_64K_PAGES is not set
307# CONFIG_PPC_256K_PAGES is not set
244CONFIG_FORCE_MAX_ZONEORDER=11 308CONFIG_FORCE_MAX_ZONEORDER=11
245CONFIG_PROC_DEVICETREE=y 309CONFIG_PROC_DEVICETREE=y
246# CONFIG_CMDLINE_BOOL is not set 310# CONFIG_CMDLINE_BOOL is not set
@@ -264,6 +328,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
264# CONFIG_PCI_LEGACY is not set 328# CONFIG_PCI_LEGACY is not set
265# CONFIG_PCI_DEBUG is not set 329# CONFIG_PCI_DEBUG is not set
266# CONFIG_PCI_STUB is not set 330# CONFIG_PCI_STUB is not set
331# CONFIG_PCI_IOV is not set
267# CONFIG_PCCARD is not set 332# CONFIG_PCCARD is not set
268# CONFIG_HOTPLUG_PCI is not set 333# CONFIG_HOTPLUG_PCI is not set
269# CONFIG_HAS_RAPIDIO is not set 334# CONFIG_HAS_RAPIDIO is not set
@@ -281,14 +346,12 @@ CONFIG_PAGE_OFFSET=0xc0000000
281CONFIG_KERNEL_START=0xc0000000 346CONFIG_KERNEL_START=0xc0000000
282CONFIG_PHYSICAL_START=0x00000000 347CONFIG_PHYSICAL_START=0x00000000
283CONFIG_TASK_SIZE=0xc0000000 348CONFIG_TASK_SIZE=0xc0000000
284CONFIG_CONSISTENT_START=0xff100000
285CONFIG_CONSISTENT_SIZE=0x00200000 349CONFIG_CONSISTENT_SIZE=0x00200000
286CONFIG_NET=y 350CONFIG_NET=y
287 351
288# 352#
289# Networking options 353# Networking options
290# 354#
291CONFIG_COMPAT_NET_DEV_OPS=y
292CONFIG_PACKET=y 355CONFIG_PACKET=y
293# CONFIG_PACKET_MMAP is not set 356# CONFIG_PACKET_MMAP is not set
294CONFIG_UNIX=y 357CONFIG_UNIX=y
@@ -325,6 +388,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
325# CONFIG_NETFILTER is not set 388# CONFIG_NETFILTER is not set
326# CONFIG_IP_DCCP is not set 389# CONFIG_IP_DCCP is not set
327# CONFIG_IP_SCTP is not set 390# CONFIG_IP_SCTP is not set
391# CONFIG_RDS is not set
328# CONFIG_TIPC is not set 392# CONFIG_TIPC is not set
329# CONFIG_ATM is not set 393# CONFIG_ATM is not set
330# CONFIG_BRIDGE is not set 394# CONFIG_BRIDGE is not set
@@ -338,6 +402,8 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
338# CONFIG_LAPB is not set 402# CONFIG_LAPB is not set
339# CONFIG_ECONET is not set 403# CONFIG_ECONET is not set
340# CONFIG_WAN_ROUTER is not set 404# CONFIG_WAN_ROUTER is not set
405# CONFIG_PHONET is not set
406# CONFIG_IEEE802154 is not set
341# CONFIG_NET_SCHED is not set 407# CONFIG_NET_SCHED is not set
342# CONFIG_DCB is not set 408# CONFIG_DCB is not set
343 409
@@ -350,8 +416,13 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
350# CONFIG_IRDA is not set 416# CONFIG_IRDA is not set
351# CONFIG_BT is not set 417# CONFIG_BT is not set
352# CONFIG_AF_RXRPC is not set 418# CONFIG_AF_RXRPC is not set
353# CONFIG_PHONET is not set 419CONFIG_WIRELESS=y
354# CONFIG_WIRELESS is not set 420# CONFIG_CFG80211 is not set
421# CONFIG_LIB80211 is not set
422
423#
424# CFG80211 needs to be enabled for MAC80211
425#
355# CONFIG_WIMAX is not set 426# CONFIG_WIMAX is not set
356# CONFIG_RFKILL is not set 427# CONFIG_RFKILL is not set
357# CONFIG_NET_9P is not set 428# CONFIG_NET_9P is not set
@@ -364,6 +435,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
364# Generic Driver Options 435# Generic Driver Options
365# 436#
366CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 437CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
438# CONFIG_DEVTMPFS is not set
367CONFIG_STANDALONE=y 439CONFIG_STANDALONE=y
368CONFIG_PREVENT_FIRMWARE_BUILD=y 440CONFIG_PREVENT_FIRMWARE_BUILD=y
369CONFIG_FW_LOADER=y 441CONFIG_FW_LOADER=y
@@ -376,9 +448,9 @@ CONFIG_CONNECTOR=y
376CONFIG_PROC_EVENTS=y 448CONFIG_PROC_EVENTS=y
377CONFIG_MTD=y 449CONFIG_MTD=y
378# CONFIG_MTD_DEBUG is not set 450# CONFIG_MTD_DEBUG is not set
451# CONFIG_MTD_TESTS is not set
379# CONFIG_MTD_CONCAT is not set 452# CONFIG_MTD_CONCAT is not set
380CONFIG_MTD_PARTITIONS=y 453CONFIG_MTD_PARTITIONS=y
381# CONFIG_MTD_TESTS is not set
382# CONFIG_MTD_REDBOOT_PARTS is not set 454# CONFIG_MTD_REDBOOT_PARTS is not set
383# CONFIG_MTD_CMDLINE_PARTS is not set 455# CONFIG_MTD_CMDLINE_PARTS is not set
384CONFIG_MTD_OF_PARTS=y 456CONFIG_MTD_OF_PARTS=y
@@ -453,7 +525,6 @@ CONFIG_MTD_PHYSMAP_OF=y
453# LPDDR flash memory drivers 525# LPDDR flash memory drivers
454# 526#
455# CONFIG_MTD_LPDDR is not set 527# CONFIG_MTD_LPDDR is not set
456# CONFIG_MTD_QINFO_PROBE is not set
457 528
458# 529#
459# UBI - Unsorted block images 530# UBI - Unsorted block images
@@ -469,6 +540,7 @@ CONFIG_BLK_DEV=y
469# CONFIG_BLK_DEV_UMEM is not set 540# CONFIG_BLK_DEV_UMEM is not set
470# CONFIG_BLK_DEV_COW_COMMON is not set 541# CONFIG_BLK_DEV_COW_COMMON is not set
471# CONFIG_BLK_DEV_LOOP is not set 542# CONFIG_BLK_DEV_LOOP is not set
543# CONFIG_BLK_DEV_DRBD is not set
472# CONFIG_BLK_DEV_NBD is not set 544# CONFIG_BLK_DEV_NBD is not set
473# CONFIG_BLK_DEV_SX8 is not set 545# CONFIG_BLK_DEV_SX8 is not set
474CONFIG_BLK_DEV_RAM=y 546CONFIG_BLK_DEV_RAM=y
@@ -481,12 +553,17 @@ CONFIG_BLK_DEV_RAM_SIZE=35000
481# CONFIG_BLK_DEV_HD is not set 553# CONFIG_BLK_DEV_HD is not set
482CONFIG_MISC_DEVICES=y 554CONFIG_MISC_DEVICES=y
483# CONFIG_PHANTOM is not set 555# CONFIG_PHANTOM is not set
484# CONFIG_EEPROM_93CX6 is not set
485# CONFIG_SGI_IOC4 is not set 556# CONFIG_SGI_IOC4 is not set
486# CONFIG_TIFM_CORE is not set 557# CONFIG_TIFM_CORE is not set
487# CONFIG_ENCLOSURE_SERVICES is not set 558# CONFIG_ENCLOSURE_SERVICES is not set
488# CONFIG_HP_ILO is not set 559# CONFIG_HP_ILO is not set
489# CONFIG_C2PORT is not set 560# CONFIG_C2PORT is not set
561
562#
563# EEPROM support
564#
565# CONFIG_EEPROM_93CX6 is not set
566# CONFIG_CB710_CORE is not set
490CONFIG_HAVE_IDE=y 567CONFIG_HAVE_IDE=y
491# CONFIG_IDE is not set 568# CONFIG_IDE is not set
492 569
@@ -506,7 +583,11 @@ CONFIG_HAVE_IDE=y
506# 583#
507 584
508# 585#
509# Enable only one of the two stacks, unless you know what you are doing 586# You can enable one or both FireWire driver stacks.
587#
588
589#
590# See the help texts for more information.
510# 591#
511# CONFIG_FIREWIRE is not set 592# CONFIG_FIREWIRE is not set
512# CONFIG_IEEE1394 is not set 593# CONFIG_IEEE1394 is not set
@@ -527,6 +608,8 @@ CONFIG_NET_ETHERNET=y
527# CONFIG_SUNGEM is not set 608# CONFIG_SUNGEM is not set
528# CONFIG_CASSINI is not set 609# CONFIG_CASSINI is not set
529# CONFIG_NET_VENDOR_3COM is not set 610# CONFIG_NET_VENDOR_3COM is not set
611# CONFIG_ETHOC is not set
612# CONFIG_DNET is not set
530# CONFIG_NET_TULIP is not set 613# CONFIG_NET_TULIP is not set
531# CONFIG_HP100 is not set 614# CONFIG_HP100 is not set
532CONFIG_IBM_NEW_EMAC=y 615CONFIG_IBM_NEW_EMAC=y
@@ -545,7 +628,10 @@ CONFIG_IBM_NEW_EMAC_ZMII=y
545# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set 628# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
546# CONFIG_NET_PCI is not set 629# CONFIG_NET_PCI is not set
547# CONFIG_B44 is not set 630# CONFIG_B44 is not set
631# CONFIG_KS8842 is not set
632# CONFIG_KS8851_MLL is not set
548# CONFIG_ATL2 is not set 633# CONFIG_ATL2 is not set
634# CONFIG_XILINX_EMACLITE is not set
549CONFIG_NETDEV_1000=y 635CONFIG_NETDEV_1000=y
550# CONFIG_ACENIC is not set 636# CONFIG_ACENIC is not set
551# CONFIG_DL2K is not set 637# CONFIG_DL2K is not set
@@ -553,6 +639,7 @@ CONFIG_NETDEV_1000=y
553# CONFIG_E1000E is not set 639# CONFIG_E1000E is not set
554# CONFIG_IP1000 is not set 640# CONFIG_IP1000 is not set
555# CONFIG_IGB is not set 641# CONFIG_IGB is not set
642# CONFIG_IGBVF is not set
556# CONFIG_NS83820 is not set 643# CONFIG_NS83820 is not set
557# CONFIG_HAMACHI is not set 644# CONFIG_HAMACHI is not set
558# CONFIG_YELLOWFIN is not set 645# CONFIG_YELLOWFIN is not set
@@ -563,9 +650,13 @@ CONFIG_NETDEV_1000=y
563# CONFIG_VIA_VELOCITY is not set 650# CONFIG_VIA_VELOCITY is not set
564# CONFIG_TIGON3 is not set 651# CONFIG_TIGON3 is not set
565# CONFIG_BNX2 is not set 652# CONFIG_BNX2 is not set
653# CONFIG_CNIC is not set
654# CONFIG_MV643XX_ETH is not set
655# CONFIG_XILINX_LL_TEMAC is not set
566# CONFIG_QLA3XXX is not set 656# CONFIG_QLA3XXX is not set
567# CONFIG_ATL1 is not set 657# CONFIG_ATL1 is not set
568# CONFIG_ATL1E is not set 658# CONFIG_ATL1E is not set
659# CONFIG_ATL1C is not set
569# CONFIG_JME is not set 660# CONFIG_JME is not set
570CONFIG_NETDEV_10000=y 661CONFIG_NETDEV_10000=y
571# CONFIG_CHELSIO_T1 is not set 662# CONFIG_CHELSIO_T1 is not set
@@ -575,6 +666,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
575# CONFIG_IXGBE is not set 666# CONFIG_IXGBE is not set
576# CONFIG_IXGB is not set 667# CONFIG_IXGB is not set
577# CONFIG_S2IO is not set 668# CONFIG_S2IO is not set
669# CONFIG_VXGE is not set
578# CONFIG_MYRI10GE is not set 670# CONFIG_MYRI10GE is not set
579# CONFIG_NETXEN_NIC is not set 671# CONFIG_NETXEN_NIC is not set
580# CONFIG_NIU is not set 672# CONFIG_NIU is not set
@@ -584,14 +676,13 @@ CONFIG_CHELSIO_T3_DEPENDS=y
584# CONFIG_BNX2X is not set 676# CONFIG_BNX2X is not set
585# CONFIG_QLGE is not set 677# CONFIG_QLGE is not set
586# CONFIG_SFC is not set 678# CONFIG_SFC is not set
679# CONFIG_BE2NET is not set
587# CONFIG_TR is not set 680# CONFIG_TR is not set
588 681CONFIG_WLAN=y
589# 682# CONFIG_AIRO is not set
590# Wireless LAN 683# CONFIG_ATMEL is not set
591# 684# CONFIG_PRISM54 is not set
592# CONFIG_WLAN_PRE80211 is not set 685# CONFIG_HOSTAP is not set
593# CONFIG_WLAN_80211 is not set
594# CONFIG_IWLWIFI_LEDS is not set
595 686
596# 687#
597# Enable WiMAX (Networking options) to see the WiMAX drivers 688# Enable WiMAX (Networking options) to see the WiMAX drivers
@@ -604,6 +695,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
604# CONFIG_NETCONSOLE is not set 695# CONFIG_NETCONSOLE is not set
605# CONFIG_NETPOLL is not set 696# CONFIG_NETPOLL is not set
606# CONFIG_NET_POLL_CONTROLLER is not set 697# CONFIG_NET_POLL_CONTROLLER is not set
698# CONFIG_VMXNET3 is not set
607# CONFIG_ISDN is not set 699# CONFIG_ISDN is not set
608# CONFIG_PHONE is not set 700# CONFIG_PHONE is not set
609 701
@@ -649,6 +741,7 @@ CONFIG_SERIAL_CORE_CONSOLE=y
649# CONFIG_SERIAL_JSM is not set 741# CONFIG_SERIAL_JSM is not set
650CONFIG_SERIAL_OF_PLATFORM=y 742CONFIG_SERIAL_OF_PLATFORM=y
651# CONFIG_SERIAL_OF_PLATFORM_NWPSERIAL is not set 743# CONFIG_SERIAL_OF_PLATFORM_NWPSERIAL is not set
744# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set
652CONFIG_UNIX98_PTYS=y 745CONFIG_UNIX98_PTYS=y
653# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set 746# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
654CONFIG_LEGACY_PTYS=y 747CONFIG_LEGACY_PTYS=y
@@ -665,6 +758,11 @@ CONFIG_LEGACY_PTY_COUNT=256
665CONFIG_DEVPORT=y 758CONFIG_DEVPORT=y
666# CONFIG_I2C is not set 759# CONFIG_I2C is not set
667# CONFIG_SPI is not set 760# CONFIG_SPI is not set
761
762#
763# PPS support
764#
765# CONFIG_PPS is not set
668CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y 766CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
669# CONFIG_GPIOLIB is not set 767# CONFIG_GPIOLIB is not set
670# CONFIG_W1 is not set 768# CONFIG_W1 is not set
@@ -687,27 +785,13 @@ CONFIG_SSB_POSSIBLE=y
687# CONFIG_HTC_PASIC3 is not set 785# CONFIG_HTC_PASIC3 is not set
688# CONFIG_MFD_TMIO is not set 786# CONFIG_MFD_TMIO is not set
689# CONFIG_REGULATOR is not set 787# CONFIG_REGULATOR is not set
690 788# CONFIG_MEDIA_SUPPORT is not set
691#
692# Multimedia devices
693#
694
695#
696# Multimedia core support
697#
698# CONFIG_VIDEO_DEV is not set
699# CONFIG_DVB_CORE is not set
700# CONFIG_VIDEO_MEDIA is not set
701
702#
703# Multimedia drivers
704#
705# CONFIG_DAB is not set
706 789
707# 790#
708# Graphics support 791# Graphics support
709# 792#
710# CONFIG_AGP is not set 793# CONFIG_AGP is not set
794CONFIG_VGA_ARB=y
711# CONFIG_DRM is not set 795# CONFIG_DRM is not set
712# CONFIG_VGASTATE is not set 796# CONFIG_VGASTATE is not set
713# CONFIG_VIDEO_OUTPUT_CONTROL is not set 797# CONFIG_VIDEO_OUTPUT_CONTROL is not set
@@ -732,7 +816,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
732# 816#
733 817
734# 818#
735# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; 819# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
736# 820#
737# CONFIG_USB_GADGET is not set 821# CONFIG_USB_GADGET is not set
738 822
@@ -748,7 +832,12 @@ CONFIG_USB_ARCH_HAS_EHCI=y
748# CONFIG_EDAC is not set 832# CONFIG_EDAC is not set
749# CONFIG_RTC_CLASS is not set 833# CONFIG_RTC_CLASS is not set
750# CONFIG_DMADEVICES is not set 834# CONFIG_DMADEVICES is not set
835# CONFIG_AUXDISPLAY is not set
751# CONFIG_UIO is not set 836# CONFIG_UIO is not set
837
838#
839# TI VLYNQ
840#
752# CONFIG_STAGING is not set 841# CONFIG_STAGING is not set
753 842
754# 843#
@@ -759,14 +848,17 @@ CONFIG_EXT2_FS=y
759# CONFIG_EXT2_FS_XIP is not set 848# CONFIG_EXT2_FS_XIP is not set
760# CONFIG_EXT3_FS is not set 849# CONFIG_EXT3_FS is not set
761# CONFIG_EXT4_FS is not set 850# CONFIG_EXT4_FS is not set
851CONFIG_EXT4_USE_FOR_EXT23=y
762# CONFIG_REISERFS_FS is not set 852# CONFIG_REISERFS_FS is not set
763# CONFIG_JFS_FS is not set 853# CONFIG_JFS_FS is not set
764# CONFIG_FS_POSIX_ACL is not set 854# CONFIG_FS_POSIX_ACL is not set
765CONFIG_FILE_LOCKING=y
766# CONFIG_XFS_FS is not set 855# CONFIG_XFS_FS is not set
767# CONFIG_GFS2_FS is not set 856# CONFIG_GFS2_FS is not set
768# CONFIG_OCFS2_FS is not set 857# CONFIG_OCFS2_FS is not set
769# CONFIG_BTRFS_FS is not set 858# CONFIG_BTRFS_FS is not set
859# CONFIG_NILFS2_FS is not set
860CONFIG_FILE_LOCKING=y
861CONFIG_FSNOTIFY=y
770CONFIG_DNOTIFY=y 862CONFIG_DNOTIFY=y
771CONFIG_INOTIFY=y 863CONFIG_INOTIFY=y
772CONFIG_INOTIFY_USER=y 864CONFIG_INOTIFY_USER=y
@@ -776,6 +868,11 @@ CONFIG_INOTIFY_USER=y
776# CONFIG_FUSE_FS is not set 868# CONFIG_FUSE_FS is not set
777 869
778# 870#
871# Caches
872#
873# CONFIG_FSCACHE is not set
874
875#
779# CD-ROM/DVD Filesystems 876# CD-ROM/DVD Filesystems
780# 877#
781# CONFIG_ISO9660_FS is not set 878# CONFIG_ISO9660_FS is not set
@@ -840,7 +937,6 @@ CONFIG_LOCKD=y
840CONFIG_LOCKD_V4=y 937CONFIG_LOCKD_V4=y
841CONFIG_NFS_COMMON=y 938CONFIG_NFS_COMMON=y
842CONFIG_SUNRPC=y 939CONFIG_SUNRPC=y
843# CONFIG_SUNRPC_REGISTER_V4 is not set
844# CONFIG_RPCSEC_GSS_KRB5 is not set 940# CONFIG_RPCSEC_GSS_KRB5 is not set
845# CONFIG_RPCSEC_GSS_SPKM3 is not set 941# CONFIG_RPCSEC_GSS_SPKM3 is not set
846# CONFIG_SMB_FS is not set 942# CONFIG_SMB_FS is not set
@@ -856,6 +952,7 @@ CONFIG_SUNRPC=y
856CONFIG_MSDOS_PARTITION=y 952CONFIG_MSDOS_PARTITION=y
857# CONFIG_NLS is not set 953# CONFIG_NLS is not set
858# CONFIG_DLM is not set 954# CONFIG_DLM is not set
955# CONFIG_BINARY_PRINTF is not set
859 956
860# 957#
861# Library routines 958# Library routines
@@ -871,11 +968,13 @@ CONFIG_CRC32=y
871# CONFIG_LIBCRC32C is not set 968# CONFIG_LIBCRC32C is not set
872CONFIG_ZLIB_INFLATE=y 969CONFIG_ZLIB_INFLATE=y
873CONFIG_ZLIB_DEFLATE=y 970CONFIG_ZLIB_DEFLATE=y
874CONFIG_PLIST=y 971CONFIG_DECOMPRESS_GZIP=y
875CONFIG_HAS_IOMEM=y 972CONFIG_HAS_IOMEM=y
876CONFIG_HAS_IOPORT=y 973CONFIG_HAS_IOPORT=y
877CONFIG_HAS_DMA=y 974CONFIG_HAS_DMA=y
878CONFIG_HAVE_LMB=y 975CONFIG_HAVE_LMB=y
976CONFIG_NLATTR=y
977CONFIG_GENERIC_ATOMIC64=y
879 978
880# 979#
881# Kernel hacking 980# Kernel hacking
@@ -885,6 +984,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
885CONFIG_ENABLE_MUST_CHECK=y 984CONFIG_ENABLE_MUST_CHECK=y
886CONFIG_FRAME_WARN=1024 985CONFIG_FRAME_WARN=1024
887CONFIG_MAGIC_SYSRQ=y 986CONFIG_MAGIC_SYSRQ=y
987# CONFIG_STRIP_ASM_SYMS is not set
888# CONFIG_UNUSED_SYMBOLS is not set 988# CONFIG_UNUSED_SYMBOLS is not set
889CONFIG_DEBUG_FS=y 989CONFIG_DEBUG_FS=y
890# CONFIG_HEADERS_CHECK is not set 990# CONFIG_HEADERS_CHECK is not set
@@ -893,16 +993,23 @@ CONFIG_DEBUG_KERNEL=y
893CONFIG_DETECT_SOFTLOCKUP=y 993CONFIG_DETECT_SOFTLOCKUP=y
894# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set 994# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
895CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 995CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
996CONFIG_DETECT_HUNG_TASK=y
997# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
998CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
896CONFIG_SCHED_DEBUG=y 999CONFIG_SCHED_DEBUG=y
897# CONFIG_SCHEDSTATS is not set 1000# CONFIG_SCHEDSTATS is not set
898# CONFIG_TIMER_STATS is not set 1001# CONFIG_TIMER_STATS is not set
899# CONFIG_DEBUG_OBJECTS is not set 1002# CONFIG_DEBUG_OBJECTS is not set
900# CONFIG_SLUB_DEBUG_ON is not set 1003# CONFIG_SLUB_DEBUG_ON is not set
901# CONFIG_SLUB_STATS is not set 1004# CONFIG_SLUB_STATS is not set
1005# CONFIG_DEBUG_KMEMLEAK is not set
902# CONFIG_DEBUG_RT_MUTEXES is not set 1006# CONFIG_DEBUG_RT_MUTEXES is not set
903# CONFIG_RT_MUTEX_TESTER is not set 1007# CONFIG_RT_MUTEX_TESTER is not set
904# CONFIG_DEBUG_SPINLOCK is not set 1008# CONFIG_DEBUG_SPINLOCK is not set
905# CONFIG_DEBUG_MUTEXES is not set 1009# CONFIG_DEBUG_MUTEXES is not set
1010# CONFIG_DEBUG_LOCK_ALLOC is not set
1011# CONFIG_PROVE_LOCKING is not set
1012# CONFIG_LOCK_STAT is not set
906# CONFIG_DEBUG_SPINLOCK_SLEEP is not set 1013# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
907# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set 1014# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
908# CONFIG_DEBUG_KOBJECT is not set 1015# CONFIG_DEBUG_KOBJECT is not set
@@ -914,35 +1021,45 @@ CONFIG_DEBUG_BUGVERBOSE=y
914# CONFIG_DEBUG_LIST is not set 1021# CONFIG_DEBUG_LIST is not set
915# CONFIG_DEBUG_SG is not set 1022# CONFIG_DEBUG_SG is not set
916# CONFIG_DEBUG_NOTIFIERS is not set 1023# CONFIG_DEBUG_NOTIFIERS is not set
917# CONFIG_BOOT_PRINTK_DELAY is not set 1024# CONFIG_DEBUG_CREDENTIALS is not set
918# CONFIG_RCU_TORTURE_TEST is not set 1025# CONFIG_RCU_TORTURE_TEST is not set
919# CONFIG_RCU_CPU_STALL_DETECTOR is not set 1026# CONFIG_RCU_CPU_STALL_DETECTOR is not set
920# CONFIG_BACKTRACE_SELF_TEST is not set 1027# CONFIG_BACKTRACE_SELF_TEST is not set
921# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set 1028# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1029# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
922# CONFIG_FAULT_INJECTION is not set 1030# CONFIG_FAULT_INJECTION is not set
923# CONFIG_LATENCYTOP is not set 1031# CONFIG_LATENCYTOP is not set
924CONFIG_SYSCTL_SYSCALL_CHECK=y 1032CONFIG_SYSCTL_SYSCALL_CHECK=y
1033# CONFIG_DEBUG_PAGEALLOC is not set
925CONFIG_HAVE_FUNCTION_TRACER=y 1034CONFIG_HAVE_FUNCTION_TRACER=y
1035CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
926CONFIG_HAVE_DYNAMIC_FTRACE=y 1036CONFIG_HAVE_DYNAMIC_FTRACE=y
927CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 1037CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
928 1038CONFIG_TRACING_SUPPORT=y
929# 1039CONFIG_FTRACE=y
930# Tracers
931#
932# CONFIG_FUNCTION_TRACER is not set 1040# CONFIG_FUNCTION_TRACER is not set
1041# CONFIG_IRQSOFF_TRACER is not set
933# CONFIG_SCHED_TRACER is not set 1042# CONFIG_SCHED_TRACER is not set
934# CONFIG_CONTEXT_SWITCH_TRACER is not set 1043# CONFIG_ENABLE_DEFAULT_TRACERS is not set
935# CONFIG_BOOT_TRACER is not set 1044# CONFIG_BOOT_TRACER is not set
936# CONFIG_TRACE_BRANCH_PROFILING is not set 1045CONFIG_BRANCH_PROFILE_NONE=y
1046# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
1047# CONFIG_PROFILE_ALL_BRANCHES is not set
937# CONFIG_STACK_TRACER is not set 1048# CONFIG_STACK_TRACER is not set
938# CONFIG_DYNAMIC_PRINTK_DEBUG is not set 1049# CONFIG_KMEMTRACE is not set
1050# CONFIG_WORKQUEUE_TRACER is not set
1051# CONFIG_BLK_DEV_IO_TRACE is not set
1052# CONFIG_DYNAMIC_DEBUG is not set
1053# CONFIG_DMA_API_DEBUG is not set
939# CONFIG_SAMPLES is not set 1054# CONFIG_SAMPLES is not set
940CONFIG_HAVE_ARCH_KGDB=y 1055CONFIG_HAVE_ARCH_KGDB=y
941# CONFIG_KGDB is not set 1056# CONFIG_KGDB is not set
1057# CONFIG_PPC_DISABLE_WERROR is not set
1058CONFIG_PPC_WERROR=y
942CONFIG_PRINT_STACK_DEPTH=64 1059CONFIG_PRINT_STACK_DEPTH=64
943# CONFIG_DEBUG_STACKOVERFLOW is not set 1060# CONFIG_DEBUG_STACKOVERFLOW is not set
944# CONFIG_DEBUG_STACK_USAGE is not set 1061# CONFIG_DEBUG_STACK_USAGE is not set
945# CONFIG_DEBUG_PAGEALLOC is not set 1062# CONFIG_PPC_EMULATED_STATS is not set
946# CONFIG_CODE_PATCHING_SELFTEST is not set 1063# CONFIG_CODE_PATCHING_SELFTEST is not set
947# CONFIG_FTR_FIXUP_SELFTEST is not set 1064# CONFIG_FTR_FIXUP_SELFTEST is not set
948# CONFIG_MSI_BITMAP_SELFTEST is not set 1065# CONFIG_MSI_BITMAP_SELFTEST is not set
@@ -958,13 +1075,16 @@ CONFIG_PRINT_STACK_DEPTH=64
958# CONFIG_KEYS is not set 1075# CONFIG_KEYS is not set
959# CONFIG_SECURITY is not set 1076# CONFIG_SECURITY is not set
960# CONFIG_SECURITYFS is not set 1077# CONFIG_SECURITYFS is not set
961# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1078# CONFIG_DEFAULT_SECURITY_SELINUX is not set
1079# CONFIG_DEFAULT_SECURITY_SMACK is not set
1080# CONFIG_DEFAULT_SECURITY_TOMOYO is not set
1081CONFIG_DEFAULT_SECURITY_DAC=y
1082CONFIG_DEFAULT_SECURITY=""
962CONFIG_CRYPTO=y 1083CONFIG_CRYPTO=y
963 1084
964# 1085#
965# Crypto core or helper 1086# Crypto core or helper
966# 1087#
967# CONFIG_CRYPTO_FIPS is not set
968CONFIG_CRYPTO_ALGAPI=y 1088CONFIG_CRYPTO_ALGAPI=y
969CONFIG_CRYPTO_ALGAPI2=y 1089CONFIG_CRYPTO_ALGAPI2=y
970CONFIG_CRYPTO_AEAD2=y 1090CONFIG_CRYPTO_AEAD2=y
@@ -973,10 +1093,12 @@ CONFIG_CRYPTO_BLKCIPHER2=y
973CONFIG_CRYPTO_HASH=y 1093CONFIG_CRYPTO_HASH=y
974CONFIG_CRYPTO_HASH2=y 1094CONFIG_CRYPTO_HASH2=y
975CONFIG_CRYPTO_RNG2=y 1095CONFIG_CRYPTO_RNG2=y
1096CONFIG_CRYPTO_PCOMP=y
976CONFIG_CRYPTO_MANAGER=y 1097CONFIG_CRYPTO_MANAGER=y
977CONFIG_CRYPTO_MANAGER2=y 1098CONFIG_CRYPTO_MANAGER2=y
978# CONFIG_CRYPTO_GF128MUL is not set 1099# CONFIG_CRYPTO_GF128MUL is not set
979# CONFIG_CRYPTO_NULL is not set 1100# CONFIG_CRYPTO_NULL is not set
1101CONFIG_CRYPTO_WORKQUEUE=y
980# CONFIG_CRYPTO_CRYPTD is not set 1102# CONFIG_CRYPTO_CRYPTD is not set
981# CONFIG_CRYPTO_AUTHENC is not set 1103# CONFIG_CRYPTO_AUTHENC is not set
982# CONFIG_CRYPTO_TEST is not set 1104# CONFIG_CRYPTO_TEST is not set
@@ -1004,11 +1126,13 @@ CONFIG_CRYPTO_PCBC=y
1004# 1126#
1005# CONFIG_CRYPTO_HMAC is not set 1127# CONFIG_CRYPTO_HMAC is not set
1006# CONFIG_CRYPTO_XCBC is not set 1128# CONFIG_CRYPTO_XCBC is not set
1129# CONFIG_CRYPTO_VMAC is not set
1007 1130
1008# 1131#
1009# Digest 1132# Digest
1010# 1133#
1011# CONFIG_CRYPTO_CRC32C is not set 1134# CONFIG_CRYPTO_CRC32C is not set
1135# CONFIG_CRYPTO_GHASH is not set
1012# CONFIG_CRYPTO_MD4 is not set 1136# CONFIG_CRYPTO_MD4 is not set
1013CONFIG_CRYPTO_MD5=y 1137CONFIG_CRYPTO_MD5=y
1014# CONFIG_CRYPTO_MICHAEL_MIC is not set 1138# CONFIG_CRYPTO_MICHAEL_MIC is not set
@@ -1045,6 +1169,7 @@ CONFIG_CRYPTO_DES=y
1045# Compression 1169# Compression
1046# 1170#
1047# CONFIG_CRYPTO_DEFLATE is not set 1171# CONFIG_CRYPTO_DEFLATE is not set
1172# CONFIG_CRYPTO_ZLIB is not set
1048# CONFIG_CRYPTO_LZO is not set 1173# CONFIG_CRYPTO_LZO is not set
1049 1174
1050# 1175#
diff --git a/arch/powerpc/configs/44x/eiger_defconfig b/arch/powerpc/configs/44x/eiger_defconfig
index 007f3bd939e7..dcd859c8b4a6 100644
--- a/arch/powerpc/configs/44x/eiger_defconfig
+++ b/arch/powerpc/configs/44x/eiger_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-rc6 3# Linux kernel version: 2.6.33-rc1
4# Wed Aug 19 13:06:50 2009 4# Mon Jan 4 14:33:04 2010
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -34,7 +34,9 @@ CONFIG_GENERIC_CLOCKEVENTS=y
34CONFIG_GENERIC_HARDIRQS=y 34CONFIG_GENERIC_HARDIRQS=y
35CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y 35CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
36# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 36# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
37# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
37CONFIG_IRQ_PER_CPU=y 38CONFIG_IRQ_PER_CPU=y
39CONFIG_NR_IRQS=512
38CONFIG_STACKTRACE_SUPPORT=y 40CONFIG_STACKTRACE_SUPPORT=y
39CONFIG_HAVE_LATENCYTOP_SUPPORT=y 41CONFIG_HAVE_LATENCYTOP_SUPPORT=y
40CONFIG_TRACE_IRQFLAGS_SUPPORT=y 42CONFIG_TRACE_IRQFLAGS_SUPPORT=y
@@ -57,6 +59,7 @@ CONFIG_AUDIT_ARCH=y
57CONFIG_GENERIC_BUG=y 59CONFIG_GENERIC_BUG=y
58CONFIG_DTC=y 60CONFIG_DTC=y
59# CONFIG_DEFAULT_UIMAGE is not set 61# CONFIG_DEFAULT_UIMAGE is not set
62CONFIG_ARCH_HIBERNATION_POSSIBLE=y
60CONFIG_PPC_DCR_NATIVE=y 63CONFIG_PPC_DCR_NATIVE=y
61# CONFIG_PPC_DCR_MMIO is not set 64# CONFIG_PPC_DCR_MMIO is not set
62CONFIG_PPC_DCR=y 65CONFIG_PPC_DCR=y
@@ -84,17 +87,18 @@ CONFIG_POSIX_MQUEUE_SYSCTL=y
84# 87#
85# RCU Subsystem 88# RCU Subsystem
86# 89#
87CONFIG_CLASSIC_RCU=y 90CONFIG_TREE_RCU=y
88# CONFIG_TREE_RCU is not set 91# CONFIG_TREE_PREEMPT_RCU is not set
89# CONFIG_PREEMPT_RCU is not set 92# CONFIG_TINY_RCU is not set
93# CONFIG_RCU_TRACE is not set
94CONFIG_RCU_FANOUT=32
95# CONFIG_RCU_FANOUT_EXACT is not set
90# CONFIG_TREE_RCU_TRACE is not set 96# CONFIG_TREE_RCU_TRACE is not set
91# CONFIG_PREEMPT_RCU_TRACE is not set
92# CONFIG_IKCONFIG is not set 97# CONFIG_IKCONFIG is not set
93CONFIG_LOG_BUF_SHIFT=14 98CONFIG_LOG_BUF_SHIFT=14
94# CONFIG_GROUP_SCHED is not set 99# CONFIG_GROUP_SCHED is not set
95# CONFIG_CGROUPS is not set 100# CONFIG_CGROUPS is not set
96CONFIG_SYSFS_DEPRECATED=y 101# CONFIG_SYSFS_DEPRECATED_V2 is not set
97CONFIG_SYSFS_DEPRECATED_V2=y
98# CONFIG_RELAY is not set 102# CONFIG_RELAY is not set
99# CONFIG_NAMESPACES is not set 103# CONFIG_NAMESPACES is not set
100CONFIG_BLK_DEV_INITRD=y 104CONFIG_BLK_DEV_INITRD=y
@@ -122,22 +126,21 @@ CONFIG_TIMERFD=y
122CONFIG_EVENTFD=y 126CONFIG_EVENTFD=y
123CONFIG_SHMEM=y 127CONFIG_SHMEM=y
124CONFIG_AIO=y 128CONFIG_AIO=y
125CONFIG_HAVE_PERF_COUNTERS=y 129CONFIG_HAVE_PERF_EVENTS=y
126 130
127# 131#
128# Performance Counters 132# Kernel Performance Events And Counters
129# 133#
134# CONFIG_PERF_EVENTS is not set
130# CONFIG_PERF_COUNTERS is not set 135# CONFIG_PERF_COUNTERS is not set
131CONFIG_VM_EVENT_COUNTERS=y 136CONFIG_VM_EVENT_COUNTERS=y
132CONFIG_PCI_QUIRKS=y 137CONFIG_PCI_QUIRKS=y
133CONFIG_SLUB_DEBUG=y 138CONFIG_SLUB_DEBUG=y
134# CONFIG_STRIP_ASM_SYMS is not set
135CONFIG_COMPAT_BRK=y 139CONFIG_COMPAT_BRK=y
136# CONFIG_SLAB is not set 140# CONFIG_SLAB is not set
137CONFIG_SLUB=y 141CONFIG_SLUB=y
138# CONFIG_SLOB is not set 142# CONFIG_SLOB is not set
139# CONFIG_PROFILING is not set 143# CONFIG_PROFILING is not set
140# CONFIG_MARKERS is not set
141CONFIG_HAVE_OPROFILE=y 144CONFIG_HAVE_OPROFILE=y
142# CONFIG_KPROBES is not set 145# CONFIG_KPROBES is not set
143CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 146CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
@@ -145,6 +148,8 @@ CONFIG_HAVE_IOREMAP_PROT=y
145CONFIG_HAVE_KPROBES=y 148CONFIG_HAVE_KPROBES=y
146CONFIG_HAVE_KRETPROBES=y 149CONFIG_HAVE_KRETPROBES=y
147CONFIG_HAVE_ARCH_TRACEHOOK=y 150CONFIG_HAVE_ARCH_TRACEHOOK=y
151CONFIG_HAVE_DMA_ATTRS=y
152CONFIG_HAVE_DMA_API_DEBUG=y
148 153
149# 154#
150# GCOV-based kernel profiling 155# GCOV-based kernel profiling
@@ -170,14 +175,41 @@ CONFIG_LBDAF=y
170# IO Schedulers 175# IO Schedulers
171# 176#
172CONFIG_IOSCHED_NOOP=y 177CONFIG_IOSCHED_NOOP=y
173CONFIG_IOSCHED_AS=y
174CONFIG_IOSCHED_DEADLINE=y 178CONFIG_IOSCHED_DEADLINE=y
175CONFIG_IOSCHED_CFQ=y 179CONFIG_IOSCHED_CFQ=y
176CONFIG_DEFAULT_AS=y
177# CONFIG_DEFAULT_DEADLINE is not set 180# CONFIG_DEFAULT_DEADLINE is not set
178# CONFIG_DEFAULT_CFQ is not set 181CONFIG_DEFAULT_CFQ=y
179# CONFIG_DEFAULT_NOOP is not set 182# CONFIG_DEFAULT_NOOP is not set
180CONFIG_DEFAULT_IOSCHED="anticipatory" 183CONFIG_DEFAULT_IOSCHED="cfq"
184# CONFIG_INLINE_SPIN_TRYLOCK is not set
185# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
186# CONFIG_INLINE_SPIN_LOCK is not set
187# CONFIG_INLINE_SPIN_LOCK_BH is not set
188# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
189# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
190CONFIG_INLINE_SPIN_UNLOCK=y
191# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
192CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
193# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
194# CONFIG_INLINE_READ_TRYLOCK is not set
195# CONFIG_INLINE_READ_LOCK is not set
196# CONFIG_INLINE_READ_LOCK_BH is not set
197# CONFIG_INLINE_READ_LOCK_IRQ is not set
198# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
199CONFIG_INLINE_READ_UNLOCK=y
200# CONFIG_INLINE_READ_UNLOCK_BH is not set
201CONFIG_INLINE_READ_UNLOCK_IRQ=y
202# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
203# CONFIG_INLINE_WRITE_TRYLOCK is not set
204# CONFIG_INLINE_WRITE_LOCK is not set
205# CONFIG_INLINE_WRITE_LOCK_BH is not set
206# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
207# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
208CONFIG_INLINE_WRITE_UNLOCK=y
209# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
210CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
211# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
212# CONFIG_MUTEX_SPIN_ON_OWNER is not set
181# CONFIG_FREEZER is not set 213# CONFIG_FREEZER is not set
182CONFIG_PPC4xx_PCI_EXPRESS=y 214CONFIG_PPC4xx_PCI_EXPRESS=y
183 215
@@ -243,10 +275,11 @@ CONFIG_BINFMT_ELF=y
243# CONFIG_MATH_EMULATION is not set 275# CONFIG_MATH_EMULATION is not set
244# CONFIG_IOMMU_HELPER is not set 276# CONFIG_IOMMU_HELPER is not set
245# CONFIG_SWIOTLB is not set 277# CONFIG_SWIOTLB is not set
246CONFIG_PPC_NEED_DMA_SYNC_OPS=y
247CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 278CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
248CONFIG_ARCH_HAS_WALK_MEMORY=y 279CONFIG_ARCH_HAS_WALK_MEMORY=y
249CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 280CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
281CONFIG_SPARSE_IRQ=y
282CONFIG_MAX_ACTIVE_REGIONS=32
250CONFIG_ARCH_FLATMEM_ENABLE=y 283CONFIG_ARCH_FLATMEM_ENABLE=y
251CONFIG_ARCH_POPULATES_NODE_MAP=y 284CONFIG_ARCH_POPULATES_NODE_MAP=y
252CONFIG_SELECT_MEMORY_MODEL=y 285CONFIG_SELECT_MEMORY_MODEL=y
@@ -262,8 +295,7 @@ CONFIG_PHYS_ADDR_T_64BIT=y
262CONFIG_ZONE_DMA_FLAG=1 295CONFIG_ZONE_DMA_FLAG=1
263CONFIG_BOUNCE=y 296CONFIG_BOUNCE=y
264CONFIG_VIRT_TO_BUS=y 297CONFIG_VIRT_TO_BUS=y
265CONFIG_HAVE_MLOCK=y 298# CONFIG_KSM is not set
266CONFIG_HAVE_MLOCKED_PAGE_BIT=y
267CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 299CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
268CONFIG_STDBINUTILS=y 300CONFIG_STDBINUTILS=y
269CONFIG_PPC_4K_PAGES=y 301CONFIG_PPC_4K_PAGES=y
@@ -358,6 +390,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
358# CONFIG_NETFILTER is not set 390# CONFIG_NETFILTER is not set
359# CONFIG_IP_DCCP is not set 391# CONFIG_IP_DCCP is not set
360# CONFIG_IP_SCTP is not set 392# CONFIG_IP_SCTP is not set
393# CONFIG_RDS is not set
361# CONFIG_TIPC is not set 394# CONFIG_TIPC is not set
362# CONFIG_ATM is not set 395# CONFIG_ATM is not set
363# CONFIG_BRIDGE is not set 396# CONFIG_BRIDGE is not set
@@ -387,14 +420,11 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
387# CONFIG_AF_RXRPC is not set 420# CONFIG_AF_RXRPC is not set
388CONFIG_WIRELESS=y 421CONFIG_WIRELESS=y
389# CONFIG_CFG80211 is not set 422# CONFIG_CFG80211 is not set
390CONFIG_WIRELESS_OLD_REGULATORY=y
391# CONFIG_WIRELESS_EXT is not set
392# CONFIG_LIB80211 is not set 423# CONFIG_LIB80211 is not set
393 424
394# 425#
395# CFG80211 needs to be enabled for MAC80211 426# CFG80211 needs to be enabled for MAC80211
396# 427#
397CONFIG_MAC80211_DEFAULT_PS_VALUE=0
398# CONFIG_WIMAX is not set 428# CONFIG_WIMAX is not set
399# CONFIG_RFKILL is not set 429# CONFIG_RFKILL is not set
400# CONFIG_NET_9P is not set 430# CONFIG_NET_9P is not set
@@ -407,6 +437,7 @@ CONFIG_MAC80211_DEFAULT_PS_VALUE=0
407# Generic Driver Options 437# Generic Driver Options
408# 438#
409CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 439CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
440# CONFIG_DEVTMPFS is not set
410CONFIG_STANDALONE=y 441CONFIG_STANDALONE=y
411CONFIG_PREVENT_FIRMWARE_BUILD=y 442CONFIG_PREVENT_FIRMWARE_BUILD=y
412CONFIG_FW_LOADER=y 443CONFIG_FW_LOADER=y
@@ -419,9 +450,9 @@ CONFIG_CONNECTOR=y
419CONFIG_PROC_EVENTS=y 450CONFIG_PROC_EVENTS=y
420CONFIG_MTD=y 451CONFIG_MTD=y
421# CONFIG_MTD_DEBUG is not set 452# CONFIG_MTD_DEBUG is not set
453# CONFIG_MTD_TESTS is not set
422CONFIG_MTD_CONCAT=y 454CONFIG_MTD_CONCAT=y
423CONFIG_MTD_PARTITIONS=y 455CONFIG_MTD_PARTITIONS=y
424# CONFIG_MTD_TESTS is not set
425# CONFIG_MTD_REDBOOT_PARTS is not set 456# CONFIG_MTD_REDBOOT_PARTS is not set
426CONFIG_MTD_CMDLINE_PARTS=y 457CONFIG_MTD_CMDLINE_PARTS=y
427CONFIG_MTD_OF_PARTS=y 458CONFIG_MTD_OF_PARTS=y
@@ -522,6 +553,7 @@ CONFIG_BLK_DEV=y
522# CONFIG_BLK_DEV_UMEM is not set 553# CONFIG_BLK_DEV_UMEM is not set
523# CONFIG_BLK_DEV_COW_COMMON is not set 554# CONFIG_BLK_DEV_COW_COMMON is not set
524# CONFIG_BLK_DEV_LOOP is not set 555# CONFIG_BLK_DEV_LOOP is not set
556# CONFIG_BLK_DEV_DRBD is not set
525# CONFIG_BLK_DEV_NBD is not set 557# CONFIG_BLK_DEV_NBD is not set
526# CONFIG_BLK_DEV_SX8 is not set 558# CONFIG_BLK_DEV_SX8 is not set
527CONFIG_BLK_DEV_RAM=y 559CONFIG_BLK_DEV_RAM=y
@@ -573,8 +605,11 @@ CONFIG_SCSI_SAS_ATTRS=y
573CONFIG_SCSI_LOWLEVEL=y 605CONFIG_SCSI_LOWLEVEL=y
574# CONFIG_ISCSI_TCP is not set 606# CONFIG_ISCSI_TCP is not set
575# CONFIG_SCSI_BNX2_ISCSI is not set 607# CONFIG_SCSI_BNX2_ISCSI is not set
608# CONFIG_BE2ISCSI is not set
576# CONFIG_BLK_DEV_3W_XXXX_RAID is not set 609# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
610# CONFIG_SCSI_HPSA is not set
577# CONFIG_SCSI_3W_9XXX is not set 611# CONFIG_SCSI_3W_9XXX is not set
612# CONFIG_SCSI_3W_SAS is not set
578# CONFIG_SCSI_ACARD is not set 613# CONFIG_SCSI_ACARD is not set
579# CONFIG_SCSI_AACRAID is not set 614# CONFIG_SCSI_AACRAID is not set
580# CONFIG_SCSI_AIC7XXX is not set 615# CONFIG_SCSI_AIC7XXX is not set
@@ -611,7 +646,10 @@ CONFIG_SCSI_LOWLEVEL=y
611# CONFIG_SCSI_DC390T is not set 646# CONFIG_SCSI_DC390T is not set
612# CONFIG_SCSI_NSP32 is not set 647# CONFIG_SCSI_NSP32 is not set
613# CONFIG_SCSI_DEBUG is not set 648# CONFIG_SCSI_DEBUG is not set
649# CONFIG_SCSI_PMCRAID is not set
650# CONFIG_SCSI_PM8001 is not set
614# CONFIG_SCSI_SRP is not set 651# CONFIG_SCSI_SRP is not set
652# CONFIG_SCSI_BFA_FC is not set
615# CONFIG_SCSI_DH is not set 653# CONFIG_SCSI_DH is not set
616# CONFIG_SCSI_OSD_INITIATOR is not set 654# CONFIG_SCSI_OSD_INITIATOR is not set
617# CONFIG_ATA is not set 655# CONFIG_ATA is not set
@@ -682,7 +720,9 @@ CONFIG_IBM_NEW_EMAC_EMAC4=y
682# CONFIG_NET_PCI is not set 720# CONFIG_NET_PCI is not set
683# CONFIG_B44 is not set 721# CONFIG_B44 is not set
684# CONFIG_KS8842 is not set 722# CONFIG_KS8842 is not set
723# CONFIG_KS8851_MLL is not set
685# CONFIG_ATL2 is not set 724# CONFIG_ATL2 is not set
725# CONFIG_XILINX_EMACLITE is not set
686CONFIG_NETDEV_1000=y 726CONFIG_NETDEV_1000=y
687# CONFIG_ACENIC is not set 727# CONFIG_ACENIC is not set
688# CONFIG_DL2K is not set 728# CONFIG_DL2K is not set
@@ -711,12 +751,11 @@ CONFIG_E1000E=y
711# CONFIG_JME is not set 751# CONFIG_JME is not set
712# CONFIG_NETDEV_10000 is not set 752# CONFIG_NETDEV_10000 is not set
713# CONFIG_TR is not set 753# CONFIG_TR is not set
714 754CONFIG_WLAN=y
715# 755# CONFIG_AIRO is not set
716# Wireless LAN 756# CONFIG_ATMEL is not set
717# 757# CONFIG_PRISM54 is not set
718# CONFIG_WLAN_PRE80211 is not set 758# CONFIG_HOSTAP is not set
719# CONFIG_WLAN_80211 is not set
720 759
721# 760#
722# Enable WiMAX (Networking options) to see the WiMAX drivers 761# Enable WiMAX (Networking options) to see the WiMAX drivers
@@ -730,6 +769,7 @@ CONFIG_E1000E=y
730# CONFIG_NETCONSOLE is not set 769# CONFIG_NETCONSOLE is not set
731# CONFIG_NETPOLL is not set 770# CONFIG_NETPOLL is not set
732# CONFIG_NET_POLL_CONTROLLER is not set 771# CONFIG_NET_POLL_CONTROLLER is not set
772# CONFIG_VMXNET3 is not set
733# CONFIG_ISDN is not set 773# CONFIG_ISDN is not set
734# CONFIG_PHONE is not set 774# CONFIG_PHONE is not set
735 775
@@ -775,6 +815,7 @@ CONFIG_SERIAL_CORE_CONSOLE=y
775# CONFIG_SERIAL_JSM is not set 815# CONFIG_SERIAL_JSM is not set
776CONFIG_SERIAL_OF_PLATFORM=y 816CONFIG_SERIAL_OF_PLATFORM=y
777# CONFIG_SERIAL_OF_PLATFORM_NWPSERIAL is not set 817# CONFIG_SERIAL_OF_PLATFORM_NWPSERIAL is not set
818# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set
778CONFIG_UNIX98_PTYS=y 819CONFIG_UNIX98_PTYS=y
779# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set 820# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
780CONFIG_LEGACY_PTYS=y 821CONFIG_LEGACY_PTYS=y
@@ -791,6 +832,7 @@ CONFIG_LEGACY_PTY_COUNT=256
791CONFIG_DEVPORT=y 832CONFIG_DEVPORT=y
792CONFIG_I2C=y 833CONFIG_I2C=y
793CONFIG_I2C_BOARDINFO=y 834CONFIG_I2C_BOARDINFO=y
835CONFIG_I2C_COMPAT=y
794CONFIG_I2C_CHARDEV=y 836CONFIG_I2C_CHARDEV=y
795CONFIG_I2C_HELPER_AUTO=y 837CONFIG_I2C_HELPER_AUTO=y
796 838
@@ -831,11 +873,6 @@ CONFIG_I2C_IBM_IIC=y
831# CONFIG_I2C_TAOS_EVM is not set 873# CONFIG_I2C_TAOS_EVM is not set
832 874
833# 875#
834# Graphics adapter I2C/DDC channel drivers
835#
836# CONFIG_I2C_VOODOO3 is not set
837
838#
839# Other I2C/SMBus bus drivers 876# Other I2C/SMBus bus drivers
840# 877#
841# CONFIG_I2C_PCA_PLATFORM is not set 878# CONFIG_I2C_PCA_PLATFORM is not set
@@ -844,10 +881,6 @@ CONFIG_I2C_IBM_IIC=y
844# 881#
845# Miscellaneous I2C Chip support 882# Miscellaneous I2C Chip support
846# 883#
847# CONFIG_DS1682 is not set
848# CONFIG_SENSORS_PCF8574 is not set
849# CONFIG_PCF8575 is not set
850# CONFIG_SENSORS_PCA9539 is not set
851# CONFIG_SENSORS_TSL2550 is not set 884# CONFIG_SENSORS_TSL2550 is not set
852CONFIG_I2C_DEBUG_CORE=y 885CONFIG_I2C_DEBUG_CORE=y
853CONFIG_I2C_DEBUG_ALGO=y 886CONFIG_I2C_DEBUG_ALGO=y
@@ -865,7 +898,6 @@ CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
865# CONFIG_POWER_SUPPLY is not set 898# CONFIG_POWER_SUPPLY is not set
866# CONFIG_HWMON is not set 899# CONFIG_HWMON is not set
867# CONFIG_THERMAL is not set 900# CONFIG_THERMAL is not set
868# CONFIG_THERMAL_HWMON is not set
869# CONFIG_WATCHDOG is not set 901# CONFIG_WATCHDOG is not set
870CONFIG_SSB_POSSIBLE=y 902CONFIG_SSB_POSSIBLE=y
871 903
@@ -883,10 +915,13 @@ CONFIG_SSB_POSSIBLE=y
883# CONFIG_TWL4030_CORE is not set 915# CONFIG_TWL4030_CORE is not set
884# CONFIG_MFD_TMIO is not set 916# CONFIG_MFD_TMIO is not set
885# CONFIG_PMIC_DA903X is not set 917# CONFIG_PMIC_DA903X is not set
918# CONFIG_PMIC_ADP5520 is not set
886# CONFIG_MFD_WM8400 is not set 919# CONFIG_MFD_WM8400 is not set
920# CONFIG_MFD_WM831X is not set
887# CONFIG_MFD_WM8350_I2C is not set 921# CONFIG_MFD_WM8350_I2C is not set
888# CONFIG_MFD_PCF50633 is not set 922# CONFIG_MFD_PCF50633 is not set
889# CONFIG_AB3100_CORE is not set 923# CONFIG_AB3100_CORE is not set
924# CONFIG_MFD_88PM8607 is not set
890# CONFIG_REGULATOR is not set 925# CONFIG_REGULATOR is not set
891# CONFIG_MEDIA_SUPPORT is not set 926# CONFIG_MEDIA_SUPPORT is not set
892 927
@@ -894,6 +929,7 @@ CONFIG_SSB_POSSIBLE=y
894# Graphics support 929# Graphics support
895# 930#
896# CONFIG_AGP is not set 931# CONFIG_AGP is not set
932CONFIG_VGA_ARB=y
897# CONFIG_DRM is not set 933# CONFIG_DRM is not set
898# CONFIG_VGASTATE is not set 934# CONFIG_VGASTATE is not set
899CONFIG_VIDEO_OUTPUT_CONTROL=m 935CONFIG_VIDEO_OUTPUT_CONTROL=m
@@ -935,6 +971,7 @@ CONFIG_EXT2_FS=y
935# CONFIG_EXT2_FS_XIP is not set 971# CONFIG_EXT2_FS_XIP is not set
936# CONFIG_EXT3_FS is not set 972# CONFIG_EXT3_FS is not set
937# CONFIG_EXT4_FS is not set 973# CONFIG_EXT4_FS is not set
974CONFIG_EXT4_USE_FOR_EXT23=y
938# CONFIG_REISERFS_FS is not set 975# CONFIG_REISERFS_FS is not set
939# CONFIG_JFS_FS is not set 976# CONFIG_JFS_FS is not set
940# CONFIG_FS_POSIX_ACL is not set 977# CONFIG_FS_POSIX_ACL is not set
@@ -942,6 +979,7 @@ CONFIG_EXT2_FS=y
942# CONFIG_GFS2_FS is not set 979# CONFIG_GFS2_FS is not set
943# CONFIG_OCFS2_FS is not set 980# CONFIG_OCFS2_FS is not set
944# CONFIG_BTRFS_FS is not set 981# CONFIG_BTRFS_FS is not set
982# CONFIG_NILFS2_FS is not set
945CONFIG_FILE_LOCKING=y 983CONFIG_FILE_LOCKING=y
946CONFIG_FSNOTIFY=y 984CONFIG_FSNOTIFY=y
947CONFIG_DNOTIFY=y 985CONFIG_DNOTIFY=y
@@ -1001,7 +1039,6 @@ CONFIG_CRAMFS=y
1001# CONFIG_ROMFS_FS is not set 1039# CONFIG_ROMFS_FS is not set
1002# CONFIG_SYSV_FS is not set 1040# CONFIG_SYSV_FS is not set
1003# CONFIG_UFS_FS is not set 1041# CONFIG_UFS_FS is not set
1004# CONFIG_NILFS2_FS is not set
1005CONFIG_NETWORK_FILESYSTEMS=y 1042CONFIG_NETWORK_FILESYSTEMS=y
1006CONFIG_NFS_FS=y 1043CONFIG_NFS_FS=y
1007CONFIG_NFS_V3=y 1044CONFIG_NFS_V3=y
@@ -1059,6 +1096,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
1059CONFIG_ENABLE_MUST_CHECK=y 1096CONFIG_ENABLE_MUST_CHECK=y
1060CONFIG_FRAME_WARN=1024 1097CONFIG_FRAME_WARN=1024
1061CONFIG_MAGIC_SYSRQ=y 1098CONFIG_MAGIC_SYSRQ=y
1099# CONFIG_STRIP_ASM_SYMS is not set
1062# CONFIG_UNUSED_SYMBOLS is not set 1100# CONFIG_UNUSED_SYMBOLS is not set
1063CONFIG_DEBUG_FS=y 1101CONFIG_DEBUG_FS=y
1064# CONFIG_HEADERS_CHECK is not set 1102# CONFIG_HEADERS_CHECK is not set
@@ -1095,10 +1133,12 @@ CONFIG_SCHED_DEBUG=y
1095# CONFIG_DEBUG_LIST is not set 1133# CONFIG_DEBUG_LIST is not set
1096# CONFIG_DEBUG_SG is not set 1134# CONFIG_DEBUG_SG is not set
1097# CONFIG_DEBUG_NOTIFIERS is not set 1135# CONFIG_DEBUG_NOTIFIERS is not set
1136# CONFIG_DEBUG_CREDENTIALS is not set
1098# CONFIG_RCU_TORTURE_TEST is not set 1137# CONFIG_RCU_TORTURE_TEST is not set
1099# CONFIG_RCU_CPU_STALL_DETECTOR is not set 1138# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1100# CONFIG_BACKTRACE_SELF_TEST is not set 1139# CONFIG_BACKTRACE_SELF_TEST is not set
1101# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set 1140# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1141# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
1102# CONFIG_FAULT_INJECTION is not set 1142# CONFIG_FAULT_INJECTION is not set
1103# CONFIG_LATENCYTOP is not set 1143# CONFIG_LATENCYTOP is not set
1104CONFIG_SYSCTL_SYSCALL_CHECK=y 1144CONFIG_SYSCTL_SYSCALL_CHECK=y
@@ -1122,10 +1162,10 @@ CONFIG_BRANCH_PROFILE_NONE=y
1122# CONFIG_WORKQUEUE_TRACER is not set 1162# CONFIG_WORKQUEUE_TRACER is not set
1123# CONFIG_BLK_DEV_IO_TRACE is not set 1163# CONFIG_BLK_DEV_IO_TRACE is not set
1124# CONFIG_DYNAMIC_DEBUG is not set 1164# CONFIG_DYNAMIC_DEBUG is not set
1165# CONFIG_DMA_API_DEBUG is not set
1125# CONFIG_SAMPLES is not set 1166# CONFIG_SAMPLES is not set
1126CONFIG_HAVE_ARCH_KGDB=y 1167CONFIG_HAVE_ARCH_KGDB=y
1127# CONFIG_KGDB is not set 1168# CONFIG_KGDB is not set
1128# CONFIG_KMEMCHECK is not set
1129# CONFIG_PPC_DISABLE_WERROR is not set 1169# CONFIG_PPC_DISABLE_WERROR is not set
1130CONFIG_PPC_WERROR=y 1170CONFIG_PPC_WERROR=y
1131CONFIG_PRINT_STACK_DEPTH=64 1171CONFIG_PRINT_STACK_DEPTH=64
@@ -1147,13 +1187,16 @@ CONFIG_PRINT_STACK_DEPTH=64
1147# CONFIG_KEYS is not set 1187# CONFIG_KEYS is not set
1148# CONFIG_SECURITY is not set 1188# CONFIG_SECURITY is not set
1149# CONFIG_SECURITYFS is not set 1189# CONFIG_SECURITYFS is not set
1150# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1190# CONFIG_DEFAULT_SECURITY_SELINUX is not set
1191# CONFIG_DEFAULT_SECURITY_SMACK is not set
1192# CONFIG_DEFAULT_SECURITY_TOMOYO is not set
1193CONFIG_DEFAULT_SECURITY_DAC=y
1194CONFIG_DEFAULT_SECURITY=""
1151CONFIG_CRYPTO=y 1195CONFIG_CRYPTO=y
1152 1196
1153# 1197#
1154# Crypto core or helper 1198# Crypto core or helper
1155# 1199#
1156# CONFIG_CRYPTO_FIPS is not set
1157CONFIG_CRYPTO_ALGAPI=y 1200CONFIG_CRYPTO_ALGAPI=y
1158CONFIG_CRYPTO_ALGAPI2=y 1201CONFIG_CRYPTO_ALGAPI2=y
1159CONFIG_CRYPTO_AEAD=y 1202CONFIG_CRYPTO_AEAD=y
@@ -1197,11 +1240,13 @@ CONFIG_CRYPTO_XTS=y
1197# 1240#
1198CONFIG_CRYPTO_HMAC=y 1241CONFIG_CRYPTO_HMAC=y
1199CONFIG_CRYPTO_XCBC=y 1242CONFIG_CRYPTO_XCBC=y
1243# CONFIG_CRYPTO_VMAC is not set
1200 1244
1201# 1245#
1202# Digest 1246# Digest
1203# 1247#
1204# CONFIG_CRYPTO_CRC32C is not set 1248# CONFIG_CRYPTO_CRC32C is not set
1249CONFIG_CRYPTO_GHASH=y
1205CONFIG_CRYPTO_MD4=y 1250CONFIG_CRYPTO_MD4=y
1206CONFIG_CRYPTO_MD5=y 1251CONFIG_CRYPTO_MD5=y
1207# CONFIG_CRYPTO_MICHAEL_MIC is not set 1252# CONFIG_CRYPTO_MICHAEL_MIC is not set
diff --git a/arch/powerpc/configs/44x/icon_defconfig b/arch/powerpc/configs/44x/icon_defconfig
new file mode 100644
index 000000000000..277f88c2750f
--- /dev/null
+++ b/arch/powerpc/configs/44x/icon_defconfig
@@ -0,0 +1,1451 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.34-rc7
4# Fri May 21 17:40:22 2010
5#
6# CONFIG_PPC64 is not set
7
8#
9# Processor support
10#
11# CONFIG_PPC_BOOK3S_32 is not set
12# CONFIG_PPC_85xx is not set
13# CONFIG_PPC_8xx is not set
14# CONFIG_40x is not set
15CONFIG_44x=y
16# CONFIG_E200 is not set
17CONFIG_4xx=y
18CONFIG_BOOKE=y
19CONFIG_PTE_64BIT=y
20CONFIG_PHYS_64BIT=y
21CONFIG_PPC_MMU_NOHASH=y
22CONFIG_PPC_MMU_NOHASH_32=y
23# CONFIG_PPC_MM_SLICES is not set
24CONFIG_NOT_COHERENT_CACHE=y
25CONFIG_PPC32=y
26CONFIG_WORD_SIZE=32
27CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
28CONFIG_MMU=y
29CONFIG_GENERIC_CMOS_UPDATE=y
30CONFIG_GENERIC_TIME=y
31CONFIG_GENERIC_TIME_VSYSCALL=y
32CONFIG_GENERIC_CLOCKEVENTS=y
33CONFIG_GENERIC_HARDIRQS=y
34CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
35# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
36# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
37CONFIG_IRQ_PER_CPU=y
38CONFIG_NR_IRQS=512
39CONFIG_STACKTRACE_SUPPORT=y
40CONFIG_HAVE_LATENCYTOP_SUPPORT=y
41CONFIG_TRACE_IRQFLAGS_SUPPORT=y
42CONFIG_LOCKDEP_SUPPORT=y
43CONFIG_RWSEM_XCHGADD_ALGORITHM=y
44CONFIG_ARCH_HAS_ILOG2_U32=y
45CONFIG_GENERIC_HWEIGHT=y
46CONFIG_GENERIC_FIND_NEXT_BIT=y
47# CONFIG_ARCH_NO_VIRT_TO_BUS is not set
48CONFIG_PPC=y
49CONFIG_EARLY_PRINTK=y
50CONFIG_GENERIC_NVRAM=y
51CONFIG_SCHED_OMIT_FRAME_POINTER=y
52CONFIG_ARCH_MAY_HAVE_PC_FDC=y
53CONFIG_PPC_OF=y
54CONFIG_OF=y
55CONFIG_PPC_UDBG_16550=y
56# CONFIG_GENERIC_TBSYNC is not set
57CONFIG_AUDIT_ARCH=y
58CONFIG_GENERIC_BUG=y
59CONFIG_DTC=y
60# CONFIG_DEFAULT_UIMAGE is not set
61CONFIG_ARCH_HIBERNATION_POSSIBLE=y
62CONFIG_PPC_DCR_NATIVE=y
63# CONFIG_PPC_DCR_MMIO is not set
64CONFIG_PPC_DCR=y
65CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
66CONFIG_PPC_ADV_DEBUG_REGS=y
67CONFIG_PPC_ADV_DEBUG_IACS=4
68CONFIG_PPC_ADV_DEBUG_DACS=2
69CONFIG_PPC_ADV_DEBUG_DVCS=2
70CONFIG_PPC_ADV_DEBUG_DAC_RANGE=y
71CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
72CONFIG_CONSTRUCTORS=y
73
74#
75# General setup
76#
77CONFIG_EXPERIMENTAL=y
78CONFIG_BROKEN_ON_SMP=y
79CONFIG_INIT_ENV_ARG_LIMIT=32
80CONFIG_LOCALVERSION=""
81CONFIG_LOCALVERSION_AUTO=y
82CONFIG_SWAP=y
83CONFIG_SYSVIPC=y
84CONFIG_SYSVIPC_SYSCTL=y
85CONFIG_POSIX_MQUEUE=y
86CONFIG_POSIX_MQUEUE_SYSCTL=y
87# CONFIG_BSD_PROCESS_ACCT is not set
88# CONFIG_TASKSTATS is not set
89# CONFIG_AUDIT is not set
90
91#
92# RCU Subsystem
93#
94CONFIG_TREE_RCU=y
95# CONFIG_TREE_PREEMPT_RCU is not set
96# CONFIG_TINY_RCU is not set
97# CONFIG_RCU_TRACE is not set
98CONFIG_RCU_FANOUT=32
99# CONFIG_RCU_FANOUT_EXACT is not set
100# CONFIG_TREE_RCU_TRACE is not set
101# CONFIG_IKCONFIG is not set
102CONFIG_LOG_BUF_SHIFT=14
103# CONFIG_CGROUPS is not set
104CONFIG_SYSFS_DEPRECATED=y
105CONFIG_SYSFS_DEPRECATED_V2=y
106# CONFIG_RELAY is not set
107# CONFIG_NAMESPACES is not set
108CONFIG_BLK_DEV_INITRD=y
109CONFIG_INITRAMFS_SOURCE=""
110CONFIG_RD_GZIP=y
111# CONFIG_RD_BZIP2 is not set
112# CONFIG_RD_LZMA is not set
113# CONFIG_RD_LZO is not set
114# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
115CONFIG_SYSCTL=y
116CONFIG_ANON_INODES=y
117CONFIG_EMBEDDED=y
118CONFIG_SYSCTL_SYSCALL=y
119CONFIG_KALLSYMS=y
120# CONFIG_KALLSYMS_ALL is not set
121# CONFIG_KALLSYMS_EXTRA_PASS is not set
122CONFIG_HOTPLUG=y
123CONFIG_PRINTK=y
124# CONFIG_LOGBUFFER is not set
125CONFIG_BUG=y
126CONFIG_ELF_CORE=y
127CONFIG_BASE_FULL=y
128CONFIG_FUTEX=y
129CONFIG_EPOLL=y
130CONFIG_SIGNALFD=y
131CONFIG_TIMERFD=y
132CONFIG_EVENTFD=y
133CONFIG_SHMEM=y
134CONFIG_AIO=y
135CONFIG_HAVE_PERF_EVENTS=y
136
137#
138# Kernel Performance Events And Counters
139#
140# CONFIG_PERF_EVENTS is not set
141# CONFIG_PERF_COUNTERS is not set
142CONFIG_VM_EVENT_COUNTERS=y
143CONFIG_PCI_QUIRKS=y
144CONFIG_SLUB_DEBUG=y
145CONFIG_COMPAT_BRK=y
146# CONFIG_SLAB is not set
147CONFIG_SLUB=y
148# CONFIG_SLOB is not set
149# CONFIG_PROFILING is not set
150CONFIG_HAVE_OPROFILE=y
151# CONFIG_KPROBES is not set
152CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
153CONFIG_HAVE_IOREMAP_PROT=y
154CONFIG_HAVE_KPROBES=y
155CONFIG_HAVE_KRETPROBES=y
156CONFIG_HAVE_ARCH_TRACEHOOK=y
157CONFIG_HAVE_DMA_ATTRS=y
158CONFIG_HAVE_DMA_API_DEBUG=y
159
160#
161# GCOV-based kernel profiling
162#
163# CONFIG_SLOW_WORK is not set
164# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
165CONFIG_SLABINFO=y
166CONFIG_RT_MUTEXES=y
167CONFIG_BASE_SMALL=0
168CONFIG_MODULES=y
169# CONFIG_MODULE_FORCE_LOAD is not set
170CONFIG_MODULE_UNLOAD=y
171# CONFIG_MODULE_FORCE_UNLOAD is not set
172# CONFIG_MODVERSIONS is not set
173# CONFIG_MODULE_SRCVERSION_ALL is not set
174CONFIG_BLOCK=y
175CONFIG_LBDAF=y
176# CONFIG_BLK_DEV_BSG is not set
177# CONFIG_BLK_DEV_INTEGRITY is not set
178
179#
180# IO Schedulers
181#
182CONFIG_IOSCHED_NOOP=y
183CONFIG_IOSCHED_DEADLINE=y
184CONFIG_IOSCHED_CFQ=y
185# CONFIG_DEFAULT_DEADLINE is not set
186CONFIG_DEFAULT_CFQ=y
187# CONFIG_DEFAULT_NOOP is not set
188CONFIG_DEFAULT_IOSCHED="cfq"
189# CONFIG_INLINE_SPIN_TRYLOCK is not set
190# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
191# CONFIG_INLINE_SPIN_LOCK is not set
192# CONFIG_INLINE_SPIN_LOCK_BH is not set
193# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
194# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
195CONFIG_INLINE_SPIN_UNLOCK=y
196# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
197CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
198# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
199# CONFIG_INLINE_READ_TRYLOCK is not set
200# CONFIG_INLINE_READ_LOCK is not set
201# CONFIG_INLINE_READ_LOCK_BH is not set
202# CONFIG_INLINE_READ_LOCK_IRQ is not set
203# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
204CONFIG_INLINE_READ_UNLOCK=y
205# CONFIG_INLINE_READ_UNLOCK_BH is not set
206CONFIG_INLINE_READ_UNLOCK_IRQ=y
207# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
208# CONFIG_INLINE_WRITE_TRYLOCK is not set
209# CONFIG_INLINE_WRITE_LOCK is not set
210# CONFIG_INLINE_WRITE_LOCK_BH is not set
211# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
212# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
213CONFIG_INLINE_WRITE_UNLOCK=y
214# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
215CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
216# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
217# CONFIG_MUTEX_SPIN_ON_OWNER is not set
218# CONFIG_FREEZER is not set
219CONFIG_PPC4xx_PCI_EXPRESS=y
220
221#
222# Platform support
223#
224# CONFIG_PPC_CELL is not set
225# CONFIG_PPC_CELL_NATIVE is not set
226# CONFIG_PQ2ADS is not set
227# CONFIG_BAMBOO is not set
228# CONFIG_EBONY is not set
229# CONFIG_SAM440EP is not set
230# CONFIG_SEQUOIA is not set
231# CONFIG_TAISHAN is not set
232# CONFIG_KATMAI is not set
233# CONFIG_RAINIER is not set
234# CONFIG_WARP is not set
235# CONFIG_ARCHES is not set
236# CONFIG_CANYONLANDS is not set
237# CONFIG_GLACIER is not set
238# CONFIG_REDWOOD is not set
239# CONFIG_EIGER is not set
240# CONFIG_YOSEMITE is not set
241CONFIG_ICON=y
242# CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set
243CONFIG_PPC44x_SIMPLE=y
244# CONFIG_PPC4xx_GPIO is not set
245CONFIG_440SPe=y
246CONFIG_STDBINUTILS=y
247# CONFIG_IPIC is not set
248# CONFIG_MPIC is not set
249# CONFIG_MPIC_WEIRD is not set
250# CONFIG_PPC_I8259 is not set
251# CONFIG_PPC_RTAS is not set
252# CONFIG_MMIO_NVRAM is not set
253# CONFIG_PPC_MPC106 is not set
254# CONFIG_PPC_970_NAP is not set
255# CONFIG_PPC_INDIRECT_IO is not set
256# CONFIG_GENERIC_IOMAP is not set
257# CONFIG_CPU_FREQ is not set
258# CONFIG_FSL_ULI1575 is not set
259# CONFIG_SIMPLE_GPIO is not set
260
261#
262# Kernel options
263#
264CONFIG_HIGHMEM=y
265# CONFIG_NO_HZ is not set
266# CONFIG_HIGH_RES_TIMERS is not set
267CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
268# CONFIG_HZ_100 is not set
269CONFIG_HZ_250=y
270# CONFIG_HZ_300 is not set
271# CONFIG_HZ_1000 is not set
272CONFIG_HZ=250
273# CONFIG_SCHED_HRTICK is not set
274CONFIG_PREEMPT_NONE=y
275# CONFIG_PREEMPT_VOLUNTARY is not set
276# CONFIG_PREEMPT is not set
277CONFIG_BINFMT_ELF=y
278# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
279# CONFIG_HAVE_AOUT is not set
280# CONFIG_BINFMT_MISC is not set
281# CONFIG_MATH_EMULATION is not set
282# CONFIG_IOMMU_HELPER is not set
283# CONFIG_SWIOTLB is not set
284CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
285CONFIG_ARCH_HAS_WALK_MEMORY=y
286CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
287CONFIG_SPARSE_IRQ=y
288CONFIG_MAX_ACTIVE_REGIONS=32
289CONFIG_ARCH_FLATMEM_ENABLE=y
290CONFIG_ARCH_POPULATES_NODE_MAP=y
291CONFIG_SELECT_MEMORY_MODEL=y
292CONFIG_FLATMEM_MANUAL=y
293# CONFIG_DISCONTIGMEM_MANUAL is not set
294# CONFIG_SPARSEMEM_MANUAL is not set
295CONFIG_FLATMEM=y
296CONFIG_FLAT_NODE_MEM_MAP=y
297CONFIG_PAGEFLAGS_EXTENDED=y
298CONFIG_SPLIT_PTLOCK_CPUS=4
299CONFIG_MIGRATION=y
300CONFIG_PHYS_ADDR_T_64BIT=y
301CONFIG_ZONE_DMA_FLAG=1
302CONFIG_BOUNCE=y
303CONFIG_VIRT_TO_BUS=y
304# CONFIG_KSM is not set
305CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
306CONFIG_PPC_4K_PAGES=y
307# CONFIG_PPC_16K_PAGES is not set
308# CONFIG_PPC_64K_PAGES is not set
309# CONFIG_PPC_256K_PAGES is not set
310CONFIG_FORCE_MAX_ZONEORDER=11
311CONFIG_PROC_DEVICETREE=y
312CONFIG_CMDLINE_BOOL=y
313CONFIG_CMDLINE=""
314CONFIG_EXTRA_TARGETS=""
315# CONFIG_ARCH_HAS_NMI_WATCHDOG is not set
316CONFIG_SECCOMP=y
317CONFIG_ISA_DMA_API=y
318
319#
320# Bus options
321#
322CONFIG_ZONE_DMA=y
323CONFIG_NEED_DMA_MAP_STATE=y
324CONFIG_PPC_INDIRECT_PCI=y
325CONFIG_4xx_SOC=y
326CONFIG_PPC_PCI_CHOICE=y
327CONFIG_PCI=y
328CONFIG_PCI_DOMAINS=y
329CONFIG_PCI_SYSCALL=y
330CONFIG_PCIEPORTBUS=y
331CONFIG_PCIEAER=y
332# CONFIG_PCIE_ECRC is not set
333# CONFIG_PCIEAER_INJECT is not set
334# CONFIG_PCIEASPM is not set
335CONFIG_ARCH_SUPPORTS_MSI=y
336# CONFIG_PCI_MSI is not set
337# CONFIG_PCI_DEBUG is not set
338# CONFIG_PCI_STUB is not set
339# CONFIG_PCI_IOV is not set
340# CONFIG_PCCARD is not set
341# CONFIG_HOTPLUG_PCI is not set
342# CONFIG_HAS_RAPIDIO is not set
343
344#
345# Advanced setup
346#
347# CONFIG_ADVANCED_OPTIONS is not set
348
349#
350# Default settings for advanced configuration options are used
351#
352CONFIG_LOWMEM_SIZE=0x30000000
353CONFIG_PAGE_OFFSET=0xc0000000
354CONFIG_KERNEL_START=0xc0000000
355CONFIG_PHYSICAL_START=0x00000000
356CONFIG_TASK_SIZE=0xc0000000
357CONFIG_CONSISTENT_SIZE=0x00200000
358CONFIG_NET=y
359
360#
361# Networking options
362#
363CONFIG_PACKET=y
364CONFIG_UNIX=y
365# CONFIG_NET_KEY is not set
366CONFIG_INET=y
367# CONFIG_IP_MULTICAST is not set
368# CONFIG_IP_ADVANCED_ROUTER is not set
369CONFIG_IP_FIB_HASH=y
370CONFIG_IP_PNP=y
371CONFIG_IP_PNP_DHCP=y
372CONFIG_IP_PNP_BOOTP=y
373# CONFIG_IP_PNP_RARP is not set
374# CONFIG_NET_IPIP is not set
375# CONFIG_NET_IPGRE is not set
376# CONFIG_ARPD is not set
377# CONFIG_SYN_COOKIES is not set
378# CONFIG_INET_AH is not set
379# CONFIG_INET_ESP is not set
380# CONFIG_INET_IPCOMP is not set
381# CONFIG_INET_XFRM_TUNNEL is not set
382# CONFIG_INET_TUNNEL is not set
383# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
384# CONFIG_INET_XFRM_MODE_TUNNEL is not set
385# CONFIG_INET_XFRM_MODE_BEET is not set
386# CONFIG_INET_LRO is not set
387CONFIG_INET_DIAG=y
388CONFIG_INET_TCP_DIAG=y
389# CONFIG_TCP_CONG_ADVANCED is not set
390CONFIG_TCP_CONG_CUBIC=y
391CONFIG_DEFAULT_TCP_CONG="cubic"
392# CONFIG_TCP_MD5SIG is not set
393# CONFIG_IPV6 is not set
394# CONFIG_NETWORK_SECMARK is not set
395# CONFIG_NETFILTER is not set
396# CONFIG_IP_DCCP is not set
397# CONFIG_IP_SCTP is not set
398# CONFIG_RDS is not set
399# CONFIG_TIPC is not set
400# CONFIG_ATM is not set
401# CONFIG_BRIDGE is not set
402# CONFIG_NET_DSA is not set
403# CONFIG_VLAN_8021Q is not set
404# CONFIG_DECNET is not set
405# CONFIG_LLC2 is not set
406# CONFIG_IPX is not set
407# CONFIG_ATALK is not set
408# CONFIG_X25 is not set
409# CONFIG_LAPB is not set
410# CONFIG_ECONET is not set
411# CONFIG_WAN_ROUTER is not set
412# CONFIG_PHONET is not set
413# CONFIG_IEEE802154 is not set
414# CONFIG_NET_SCHED is not set
415# CONFIG_DCB is not set
416
417#
418# Network testing
419#
420# CONFIG_NET_PKTGEN is not set
421# CONFIG_HAMRADIO is not set
422# CONFIG_CAN is not set
423# CONFIG_IRDA is not set
424# CONFIG_BT is not set
425# CONFIG_AF_RXRPC is not set
426CONFIG_WIRELESS=y
427# CONFIG_CFG80211 is not set
428# CONFIG_LIB80211 is not set
429
430#
431# CFG80211 needs to be enabled for MAC80211
432#
433# CONFIG_WIMAX is not set
434# CONFIG_RFKILL is not set
435# CONFIG_NET_9P is not set
436
437#
438# Device Drivers
439#
440
441#
442# Generic Driver Options
443#
444CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
445# CONFIG_DEVTMPFS is not set
446CONFIG_STANDALONE=y
447CONFIG_PREVENT_FIRMWARE_BUILD=y
448CONFIG_FW_LOADER=y
449CONFIG_FIRMWARE_IN_KERNEL=y
450CONFIG_EXTRA_FIRMWARE=""
451# CONFIG_DEBUG_DRIVER is not set
452# CONFIG_DEBUG_DEVRES is not set
453# CONFIG_SYS_HYPERVISOR is not set
454CONFIG_CONNECTOR=y
455CONFIG_PROC_EVENTS=y
456CONFIG_MTD=y
457# CONFIG_MTD_DEBUG is not set
458# CONFIG_MTD_TESTS is not set
459# CONFIG_MTD_CONCAT is not set
460CONFIG_MTD_PARTITIONS=y
461# CONFIG_MTD_REDBOOT_PARTS is not set
462CONFIG_MTD_CMDLINE_PARTS=y
463CONFIG_MTD_OF_PARTS=y
464# CONFIG_MTD_AR7_PARTS is not set
465
466#
467# User Modules And Translation Layers
468#
469CONFIG_MTD_CHAR=y
470CONFIG_MTD_BLKDEVS=y
471CONFIG_MTD_BLOCK=y
472# CONFIG_FTL is not set
473# CONFIG_NFTL is not set
474# CONFIG_INFTL is not set
475# CONFIG_RFD_FTL is not set
476# CONFIG_SSFDC is not set
477# CONFIG_MTD_OOPS is not set
478
479#
480# RAM/ROM/Flash chip drivers
481#
482CONFIG_MTD_CFI=y
483# CONFIG_MTD_JEDECPROBE is not set
484CONFIG_MTD_GEN_PROBE=y
485# CONFIG_MTD_CFI_ADV_OPTIONS is not set
486CONFIG_MTD_MAP_BANK_WIDTH_1=y
487CONFIG_MTD_MAP_BANK_WIDTH_2=y
488CONFIG_MTD_MAP_BANK_WIDTH_4=y
489# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
490# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
491# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
492CONFIG_MTD_CFI_I1=y
493CONFIG_MTD_CFI_I2=y
494# CONFIG_MTD_CFI_I4 is not set
495# CONFIG_MTD_CFI_I8 is not set
496# CONFIG_MTD_CFI_INTELEXT is not set
497CONFIG_MTD_CFI_AMDSTD=y
498# CONFIG_MTD_CFI_STAA is not set
499CONFIG_MTD_CFI_UTIL=y
500# CONFIG_MTD_RAM is not set
501# CONFIG_MTD_ROM is not set
502# CONFIG_MTD_ABSENT is not set
503
504#
505# Mapping drivers for chip access
506#
507# CONFIG_MTD_COMPLEX_MAPPINGS is not set
508# CONFIG_MTD_PHYSMAP is not set
509CONFIG_MTD_PHYSMAP_OF=y
510# CONFIG_MTD_INTEL_VR_NOR is not set
511# CONFIG_MTD_PLATRAM is not set
512
513#
514# Self-contained MTD device drivers
515#
516# CONFIG_MTD_PMC551 is not set
517# CONFIG_MTD_SLRAM is not set
518# CONFIG_MTD_PHRAM is not set
519# CONFIG_MTD_MTDRAM is not set
520# CONFIG_MTD_BLOCK2MTD is not set
521
522#
523# Disk-On-Chip Device Drivers
524#
525# CONFIG_MTD_DOC2000 is not set
526# CONFIG_MTD_DOC2001 is not set
527# CONFIG_MTD_DOC2001PLUS is not set
528# CONFIG_MTD_NAND is not set
529# CONFIG_MTD_ONENAND is not set
530
531#
532# LPDDR flash memory drivers
533#
534# CONFIG_MTD_LPDDR is not set
535
536#
537# UBI - Unsorted block images
538#
539# CONFIG_MTD_UBI is not set
540CONFIG_OF_FLATTREE=y
541CONFIG_OF_DYNAMIC=y
542CONFIG_OF_DEVICE=y
543CONFIG_OF_I2C=y
544# CONFIG_PARPORT is not set
545CONFIG_BLK_DEV=y
546# CONFIG_BLK_DEV_FD is not set
547# CONFIG_BLK_CPQ_DA is not set
548# CONFIG_BLK_CPQ_CISS_DA is not set
549# CONFIG_BLK_DEV_DAC960 is not set
550# CONFIG_BLK_DEV_UMEM is not set
551# CONFIG_BLK_DEV_COW_COMMON is not set
552# CONFIG_BLK_DEV_LOOP is not set
553# CONFIG_BLK_DEV_DRBD is not set
554# CONFIG_BLK_DEV_NBD is not set
555# CONFIG_BLK_DEV_SX8 is not set
556CONFIG_BLK_DEV_RAM=y
557CONFIG_BLK_DEV_RAM_COUNT=16
558CONFIG_BLK_DEV_RAM_SIZE=35000
559# CONFIG_BLK_DEV_XIP is not set
560# CONFIG_CDROM_PKTCDVD is not set
561# CONFIG_ATA_OVER_ETH is not set
562CONFIG_XILINX_SYSACE=y
563# CONFIG_BLK_DEV_HD is not set
564# CONFIG_MISC_DEVICES is not set
565CONFIG_HAVE_IDE=y
566# CONFIG_IDE is not set
567
568#
569# SCSI device support
570#
571CONFIG_SCSI_MOD=y
572# CONFIG_RAID_ATTRS is not set
573CONFIG_SCSI=y
574CONFIG_SCSI_DMA=y
575# CONFIG_SCSI_TGT is not set
576# CONFIG_SCSI_NETLINK is not set
577CONFIG_SCSI_PROC_FS=y
578
579#
580# SCSI support type (disk, tape, CD-ROM)
581#
582CONFIG_BLK_DEV_SD=y
583# CONFIG_CHR_DEV_ST is not set
584# CONFIG_CHR_DEV_OSST is not set
585# CONFIG_BLK_DEV_SR is not set
586# CONFIG_CHR_DEV_SG is not set
587# CONFIG_CHR_DEV_SCH is not set
588# CONFIG_SCSI_MULTI_LUN is not set
589CONFIG_SCSI_CONSTANTS=y
590CONFIG_SCSI_LOGGING=y
591# CONFIG_SCSI_SCAN_ASYNC is not set
592CONFIG_SCSI_WAIT_SCAN=m
593
594#
595# SCSI Transports
596#
597# CONFIG_SCSI_SPI_ATTRS is not set
598# CONFIG_SCSI_FC_ATTRS is not set
599# CONFIG_SCSI_ISCSI_ATTRS is not set
600CONFIG_SCSI_SAS_ATTRS=y
601# CONFIG_SCSI_SAS_LIBSAS is not set
602# CONFIG_SCSI_SRP_ATTRS is not set
603# CONFIG_SCSI_LOWLEVEL is not set
604# CONFIG_SCSI_DH is not set
605# CONFIG_SCSI_OSD_INITIATOR is not set
606# CONFIG_ATA is not set
607# CONFIG_MD is not set
608CONFIG_FUSION=y
609# CONFIG_FUSION_SPI is not set
610# CONFIG_FUSION_FC is not set
611CONFIG_FUSION_SAS=y
612CONFIG_FUSION_MAX_SGE=128
613CONFIG_FUSION_CTL=y
614CONFIG_FUSION_LOGGING=y
615
616#
617# IEEE 1394 (FireWire) support
618#
619
620#
621# You can enable one or both FireWire driver stacks.
622#
623
624#
625# The newer stack is recommended.
626#
627# CONFIG_FIREWIRE is not set
628# CONFIG_IEEE1394 is not set
629# CONFIG_I2O is not set
630# CONFIG_MACINTOSH_DRIVERS is not set
631CONFIG_NETDEVICES=y
632# CONFIG_DUMMY is not set
633# CONFIG_BONDING is not set
634# CONFIG_MACVLAN is not set
635# CONFIG_EQUALIZER is not set
636# CONFIG_TUN is not set
637# CONFIG_VETH is not set
638# CONFIG_ARCNET is not set
639# CONFIG_PHYLIB is not set
640CONFIG_NET_ETHERNET=y
641# CONFIG_MII is not set
642# CONFIG_HAPPYMEAL is not set
643# CONFIG_SUNGEM is not set
644# CONFIG_CASSINI is not set
645# CONFIG_NET_VENDOR_3COM is not set
646# CONFIG_ETHOC is not set
647# CONFIG_DNET is not set
648# CONFIG_NET_TULIP is not set
649# CONFIG_HP100 is not set
650CONFIG_IBM_NEW_EMAC=y
651CONFIG_IBM_NEW_EMAC_RXB=128
652CONFIG_IBM_NEW_EMAC_TXB=64
653CONFIG_IBM_NEW_EMAC_POLL_WEIGHT=32
654CONFIG_IBM_NEW_EMAC_RX_COPY_THRESHOLD=256
655CONFIG_IBM_NEW_EMAC_RX_SKB_HEADROOM=0
656# CONFIG_IBM_NEW_EMAC_DEBUG is not set
657# CONFIG_IBM_NEW_EMAC_ZMII is not set
658# CONFIG_IBM_NEW_EMAC_RGMII is not set
659# CONFIG_IBM_NEW_EMAC_TAH is not set
660CONFIG_IBM_NEW_EMAC_EMAC4=y
661# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
662# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
663# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
664# CONFIG_NET_PCI is not set
665# CONFIG_B44 is not set
666# CONFIG_KS8842 is not set
667# CONFIG_KS8851_MLL is not set
668# CONFIG_ATL2 is not set
669# CONFIG_XILINX_EMACLITE is not set
670# CONFIG_NETDEV_1000 is not set
671# CONFIG_NETDEV_10000 is not set
672# CONFIG_TR is not set
673# CONFIG_WLAN is not set
674
675#
676# Enable WiMAX (Networking options) to see the WiMAX drivers
677#
678# CONFIG_WAN is not set
679# CONFIG_FDDI is not set
680# CONFIG_HIPPI is not set
681# CONFIG_PPP is not set
682# CONFIG_SLIP is not set
683# CONFIG_NET_FC is not set
684# CONFIG_NETCONSOLE is not set
685# CONFIG_NETPOLL is not set
686# CONFIG_NET_POLL_CONTROLLER is not set
687# CONFIG_VMXNET3 is not set
688# CONFIG_ISDN is not set
689# CONFIG_PHONE is not set
690
691#
692# Input device support
693#
694CONFIG_INPUT=y
695# CONFIG_INPUT_FF_MEMLESS is not set
696# CONFIG_INPUT_POLLDEV is not set
697# CONFIG_INPUT_SPARSEKMAP is not set
698
699#
700# Userland interfaces
701#
702CONFIG_INPUT_MOUSEDEV=y
703CONFIG_INPUT_MOUSEDEV_PSAUX=y
704CONFIG_INPUT_MOUSEDEV_SCREEN_X=640
705CONFIG_INPUT_MOUSEDEV_SCREEN_Y=480
706# CONFIG_INPUT_JOYDEV is not set
707# CONFIG_INPUT_EVDEV is not set
708# CONFIG_INPUT_EVBUG is not set
709
710#
711# Input Device Drivers
712#
713CONFIG_INPUT_KEYBOARD=y
714# CONFIG_KEYBOARD_ADP5588 is not set
715CONFIG_KEYBOARD_ATKBD=y
716# CONFIG_QT2160 is not set
717# CONFIG_KEYBOARD_LKKBD is not set
718# CONFIG_KEYBOARD_MAX7359 is not set
719# CONFIG_KEYBOARD_NEWTON is not set
720# CONFIG_KEYBOARD_OPENCORES is not set
721# CONFIG_KEYBOARD_STOWAWAY is not set
722# CONFIG_KEYBOARD_SUNKBD is not set
723# CONFIG_KEYBOARD_XTKBD is not set
724CONFIG_INPUT_MOUSE=y
725CONFIG_MOUSE_PS2=y
726# CONFIG_MOUSE_PS2_ALPS is not set
727# CONFIG_MOUSE_PS2_LOGIPS2PP is not set
728# CONFIG_MOUSE_PS2_SYNAPTICS is not set
729# CONFIG_MOUSE_PS2_TRACKPOINT is not set
730# CONFIG_MOUSE_PS2_ELANTECH is not set
731# CONFIG_MOUSE_PS2_SENTELIC is not set
732# CONFIG_MOUSE_PS2_TOUCHKIT is not set
733# CONFIG_MOUSE_SERIAL is not set
734# CONFIG_MOUSE_VSXXXAA is not set
735# CONFIG_MOUSE_SYNAPTICS_I2C is not set
736# CONFIG_INPUT_JOYSTICK is not set
737# CONFIG_INPUT_TABLET is not set
738# CONFIG_INPUT_TOUCHSCREEN is not set
739# CONFIG_INPUT_MISC is not set
740
741#
742# Hardware I/O ports
743#
744CONFIG_SERIO=y
745CONFIG_SERIO_I8042=y
746CONFIG_SERIO_SERPORT=y
747# CONFIG_SERIO_PCIPS2 is not set
748CONFIG_SERIO_LIBPS2=y
749# CONFIG_SERIO_RAW is not set
750# CONFIG_SERIO_XILINX_XPS_PS2 is not set
751# CONFIG_SERIO_ALTERA_PS2 is not set
752# CONFIG_GAMEPORT is not set
753
754#
755# Character devices
756#
757CONFIG_VT=y
758CONFIG_CONSOLE_TRANSLATIONS=y
759CONFIG_VT_CONSOLE=y
760CONFIG_HW_CONSOLE=y
761# CONFIG_VT_HW_CONSOLE_BINDING is not set
762CONFIG_DEVKMEM=y
763# CONFIG_SERIAL_NONSTANDARD is not set
764# CONFIG_NOZOMI is not set
765
766#
767# Serial drivers
768#
769CONFIG_SERIAL_8250=y
770CONFIG_SERIAL_8250_CONSOLE=y
771# CONFIG_SERIAL_8250_PCI is not set
772CONFIG_SERIAL_8250_NR_UARTS=4
773CONFIG_SERIAL_8250_RUNTIME_UARTS=4
774CONFIG_SERIAL_8250_EXTENDED=y
775# CONFIG_SERIAL_8250_MANY_PORTS is not set
776CONFIG_SERIAL_8250_SHARE_IRQ=y
777# CONFIG_SERIAL_8250_DETECT_IRQ is not set
778# CONFIG_SERIAL_8250_RSA is not set
779
780#
781# Non-8250 serial port support
782#
783# CONFIG_SERIAL_UARTLITE is not set
784CONFIG_SERIAL_CORE=y
785CONFIG_SERIAL_CORE_CONSOLE=y
786# CONFIG_SERIAL_JSM is not set
787CONFIG_SERIAL_OF_PLATFORM=y
788# CONFIG_SERIAL_OF_PLATFORM_NWPSERIAL is not set
789# CONFIG_SERIAL_TIMBERDALE is not set
790# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set
791CONFIG_UNIX98_PTYS=y
792# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
793CONFIG_LEGACY_PTYS=y
794CONFIG_LEGACY_PTY_COUNT=256
795# CONFIG_HVC_UDBG is not set
796# CONFIG_IPMI_HANDLER is not set
797# CONFIG_HW_RANDOM is not set
798# CONFIG_NVRAM is not set
799# CONFIG_R3964 is not set
800# CONFIG_APPLICOM is not set
801# CONFIG_RAW_DRIVER is not set
802# CONFIG_BOOTCOUNT is not set
803# CONFIG_DISPLAY_PDSP1880 is not set
804# CONFIG_MUCMC52_IO is not set
805# CONFIG_UC101_IO is not set
806# CONFIG_SRAM is not set
807# CONFIG_TCG_TPM is not set
808CONFIG_DEVPORT=y
809CONFIG_I2C=y
810CONFIG_I2C_BOARDINFO=y
811CONFIG_I2C_COMPAT=y
812CONFIG_I2C_CHARDEV=y
813CONFIG_I2C_HELPER_AUTO=y
814
815#
816# I2C Hardware Bus support
817#
818
819#
820# PC SMBus host controller drivers
821#
822# CONFIG_I2C_ALI1535 is not set
823# CONFIG_I2C_ALI1563 is not set
824# CONFIG_I2C_ALI15X3 is not set
825# CONFIG_I2C_AMD756 is not set
826# CONFIG_I2C_AMD8111 is not set
827# CONFIG_I2C_I801 is not set
828# CONFIG_I2C_ISCH is not set
829# CONFIG_I2C_PIIX4 is not set
830# CONFIG_I2C_NFORCE2 is not set
831# CONFIG_I2C_SIS5595 is not set
832# CONFIG_I2C_SIS630 is not set
833# CONFIG_I2C_SIS96X is not set
834# CONFIG_I2C_VIA is not set
835# CONFIG_I2C_VIAPRO is not set
836
837#
838# I2C system bus drivers (mostly embedded / system-on-chip)
839#
840CONFIG_I2C_IBM_IIC=y
841# CONFIG_I2C_MPC is not set
842# CONFIG_I2C_OCORES is not set
843# CONFIG_I2C_SIMTEC is not set
844# CONFIG_I2C_XILINX is not set
845
846#
847# External I2C/SMBus adapter drivers
848#
849# CONFIG_I2C_PARPORT_LIGHT is not set
850# CONFIG_I2C_TAOS_EVM is not set
851
852#
853# Other I2C/SMBus bus drivers
854#
855# CONFIG_I2C_PCA_PLATFORM is not set
856# CONFIG_I2C_STUB is not set
857# CONFIG_I2C_DEBUG_CORE is not set
858# CONFIG_I2C_DEBUG_ALGO is not set
859# CONFIG_I2C_DEBUG_BUS is not set
860# CONFIG_SPI is not set
861
862#
863# PPS support
864#
865# CONFIG_PPS is not set
866CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
867# CONFIG_GPIOLIB is not set
868# CONFIG_W1 is not set
869# CONFIG_POWER_SUPPLY is not set
870# CONFIG_HWMON is not set
871# CONFIG_THERMAL is not set
872# CONFIG_WATCHDOG is not set
873CONFIG_SSB_POSSIBLE=y
874
875#
876# Sonics Silicon Backplane
877#
878# CONFIG_SSB is not set
879
880#
881# Multifunction device drivers
882#
883# CONFIG_MFD_CORE is not set
884# CONFIG_MFD_88PM860X is not set
885CONFIG_MFD_SM501=y
886# CONFIG_HTC_PASIC3 is not set
887# CONFIG_TWL4030_CORE is not set
888# CONFIG_MFD_TMIO is not set
889# CONFIG_PMIC_DA903X is not set
890# CONFIG_PMIC_ADP5520 is not set
891# CONFIG_MFD_MAX8925 is not set
892# CONFIG_MFD_WM8400 is not set
893# CONFIG_MFD_WM831X is not set
894# CONFIG_MFD_WM8350_I2C is not set
895# CONFIG_MFD_WM8994 is not set
896# CONFIG_MFD_PCF50633 is not set
897# CONFIG_AB3100_CORE is not set
898# CONFIG_LPC_SCH is not set
899# CONFIG_REGULATOR is not set
900# CONFIG_MEDIA_SUPPORT is not set
901
902#
903# Graphics support
904#
905# CONFIG_AGP is not set
906CONFIG_VGA_ARB=y
907CONFIG_VGA_ARB_MAX_GPUS=16
908# CONFIG_DRM is not set
909# CONFIG_VGASTATE is not set
910CONFIG_VIDEO_OUTPUT_CONTROL=m
911CONFIG_FB=y
912# CONFIG_FIRMWARE_EDID is not set
913# CONFIG_FB_DDC is not set
914# CONFIG_FB_BOOT_VESA_SUPPORT is not set
915CONFIG_FB_CFB_FILLRECT=y
916CONFIG_FB_CFB_COPYAREA=y
917CONFIG_FB_CFB_IMAGEBLIT=y
918# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
919# CONFIG_FB_SYS_FILLRECT is not set
920# CONFIG_FB_SYS_COPYAREA is not set
921# CONFIG_FB_SYS_IMAGEBLIT is not set
922# CONFIG_FB_FOREIGN_ENDIAN is not set
923# CONFIG_FB_SYS_FOPS is not set
924# CONFIG_FB_SVGALIB is not set
925# CONFIG_FB_MACMODES is not set
926# CONFIG_FB_BACKLIGHT is not set
927# CONFIG_FB_MODE_HELPERS is not set
928# CONFIG_FB_TILEBLITTING is not set
929
930#
931# Frame buffer hardware drivers
932#
933# CONFIG_FB_CIRRUS is not set
934# CONFIG_FB_PM2 is not set
935# CONFIG_FB_CYBER2000 is not set
936# CONFIG_FB_OF is not set
937# CONFIG_FB_CT65550 is not set
938# CONFIG_FB_ASILIANT is not set
939# CONFIG_FB_IMSTT is not set
940# CONFIG_FB_VGA16 is not set
941# CONFIG_FB_UVESA is not set
942# CONFIG_FB_S1D13XXX is not set
943# CONFIG_FB_NVIDIA is not set
944# CONFIG_FB_RIVA is not set
945# CONFIG_FB_MATROX is not set
946# CONFIG_FB_RADEON is not set
947# CONFIG_FB_ATY128 is not set
948# CONFIG_FB_ATY is not set
949# CONFIG_FB_S3 is not set
950# CONFIG_FB_SAVAGE is not set
951# CONFIG_FB_SIS is not set
952# CONFIG_FB_VIA is not set
953# CONFIG_FB_NEOMAGIC is not set
954# CONFIG_FB_KYRO is not set
955# CONFIG_FB_3DFX is not set
956# CONFIG_FB_VOODOO1 is not set
957# CONFIG_FB_VT8623 is not set
958# CONFIG_FB_TRIDENT is not set
959# CONFIG_FB_ARK is not set
960# CONFIG_FB_PM3 is not set
961# CONFIG_FB_CARMINE is not set
962CONFIG_FB_SM501=y
963# CONFIG_FB_IBM_GXT4500 is not set
964# CONFIG_FB_VIRTUAL is not set
965# CONFIG_FB_METRONOME is not set
966# CONFIG_FB_MB862XX is not set
967# CONFIG_FB_BROADSHEET is not set
968# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
969
970#
971# Display device support
972#
973# CONFIG_DISPLAY_SUPPORT is not set
974
975#
976# Console display driver support
977#
978CONFIG_DUMMY_CONSOLE=y
979CONFIG_FRAMEBUFFER_CONSOLE=y
980# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
981# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
982# CONFIG_FONTS is not set
983CONFIG_FONT_8x8=y
984CONFIG_FONT_8x16=y
985CONFIG_LOGO=y
986# CONFIG_LOGO_LINUX_MONO is not set
987# CONFIG_LOGO_LINUX_VGA16 is not set
988CONFIG_LOGO_LINUX_CLUT224=y
989# CONFIG_SOUND is not set
990CONFIG_HID_SUPPORT=y
991CONFIG_HID=y
992# CONFIG_HIDRAW is not set
993# CONFIG_HID_PID is not set
994
995#
996# Special HID drivers
997#
998# CONFIG_USB_SUPPORT is not set
999# CONFIG_UWB is not set
1000# CONFIG_MMC is not set
1001# CONFIG_MEMSTICK is not set
1002# CONFIG_NEW_LEDS is not set
1003# CONFIG_ACCESSIBILITY is not set
1004# CONFIG_INFINIBAND is not set
1005# CONFIG_EDAC is not set
1006CONFIG_RTC_LIB=y
1007CONFIG_RTC_CLASS=y
1008CONFIG_RTC_HCTOSYS=y
1009CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
1010# CONFIG_RTC_DEBUG is not set
1011
1012#
1013# RTC interfaces
1014#
1015CONFIG_RTC_INTF_SYSFS=y
1016CONFIG_RTC_INTF_PROC=y
1017CONFIG_RTC_INTF_DEV=y
1018# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
1019# CONFIG_RTC_DRV_TEST is not set
1020
1021#
1022# I2C RTC drivers
1023#
1024CONFIG_RTC_DRV_DS1307=y
1025# CONFIG_RTC_DRV_DS1374 is not set
1026# CONFIG_RTC_DRV_DS1672 is not set
1027# CONFIG_RTC_DRV_MAX6900 is not set
1028# CONFIG_RTC_DRV_RS5C372 is not set
1029# CONFIG_RTC_DRV_ISL1208 is not set
1030# CONFIG_RTC_DRV_X1205 is not set
1031# CONFIG_RTC_DRV_PCF8563 is not set
1032# CONFIG_RTC_DRV_PCF8583 is not set
1033# CONFIG_RTC_DRV_M41T80 is not set
1034# CONFIG_RTC_DRV_BQ32K is not set
1035# CONFIG_RTC_DRV_S35390A is not set
1036# CONFIG_RTC_DRV_FM3130 is not set
1037# CONFIG_RTC_DRV_RX8581 is not set
1038# CONFIG_RTC_DRV_RX8025 is not set
1039
1040#
1041# SPI RTC drivers
1042#
1043
1044#
1045# Platform RTC drivers
1046#
1047# CONFIG_RTC_DRV_CMOS is not set
1048# CONFIG_RTC_DRV_DS1286 is not set
1049# CONFIG_RTC_DRV_DS1511 is not set
1050# CONFIG_RTC_DRV_DS1553 is not set
1051# CONFIG_RTC_DRV_DS1742 is not set
1052# CONFIG_RTC_DRV_STK17TA8 is not set
1053# CONFIG_RTC_DRV_M48T86 is not set
1054# CONFIG_RTC_DRV_M48T35 is not set
1055# CONFIG_RTC_DRV_M48T59 is not set
1056# CONFIG_RTC_DRV_MSM6242 is not set
1057# CONFIG_RTC_DRV_BQ4802 is not set
1058# CONFIG_RTC_DRV_RP5C01 is not set
1059# CONFIG_RTC_DRV_V3020 is not set
1060
1061#
1062# on-CPU RTC drivers
1063#
1064# CONFIG_RTC_DRV_GENERIC is not set
1065# CONFIG_DMADEVICES is not set
1066# CONFIG_AUXDISPLAY is not set
1067# CONFIG_UIO is not set
1068
1069#
1070# TI VLYNQ
1071#
1072# CONFIG_STAGING is not set
1073
1074#
1075# File systems
1076#
1077CONFIG_EXT2_FS=y
1078# CONFIG_EXT2_FS_XATTR is not set
1079# CONFIG_EXT2_FS_XIP is not set
1080CONFIG_EXT3_FS=y
1081# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
1082CONFIG_EXT3_FS_XATTR=y
1083# CONFIG_EXT3_FS_POSIX_ACL is not set
1084# CONFIG_EXT3_FS_SECURITY is not set
1085# CONFIG_EXT4_FS is not set
1086CONFIG_JBD=y
1087CONFIG_FS_MBCACHE=y
1088# CONFIG_REISERFS_FS is not set
1089# CONFIG_JFS_FS is not set
1090# CONFIG_FS_POSIX_ACL is not set
1091# CONFIG_XFS_FS is not set
1092# CONFIG_GFS2_FS is not set
1093# CONFIG_OCFS2_FS is not set
1094# CONFIG_BTRFS_FS is not set
1095# CONFIG_NILFS2_FS is not set
1096CONFIG_FILE_LOCKING=y
1097CONFIG_FSNOTIFY=y
1098CONFIG_DNOTIFY=y
1099CONFIG_INOTIFY=y
1100CONFIG_INOTIFY_USER=y
1101# CONFIG_QUOTA is not set
1102# CONFIG_AUTOFS_FS is not set
1103# CONFIG_AUTOFS4_FS is not set
1104# CONFIG_FUSE_FS is not set
1105
1106#
1107# Caches
1108#
1109# CONFIG_FSCACHE is not set
1110
1111#
1112# CD-ROM/DVD Filesystems
1113#
1114# CONFIG_ISO9660_FS is not set
1115# CONFIG_UDF_FS is not set
1116
1117#
1118# DOS/FAT/NT Filesystems
1119#
1120CONFIG_FAT_FS=y
1121# CONFIG_MSDOS_FS is not set
1122CONFIG_VFAT_FS=y
1123CONFIG_FAT_DEFAULT_CODEPAGE=437
1124CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
1125# CONFIG_NTFS_FS is not set
1126
1127#
1128# Pseudo filesystems
1129#
1130CONFIG_PROC_FS=y
1131CONFIG_PROC_KCORE=y
1132CONFIG_PROC_SYSCTL=y
1133CONFIG_PROC_PAGE_MONITOR=y
1134CONFIG_SYSFS=y
1135CONFIG_TMPFS=y
1136# CONFIG_TMPFS_POSIX_ACL is not set
1137# CONFIG_HUGETLB_PAGE is not set
1138# CONFIG_CONFIGFS_FS is not set
1139CONFIG_MISC_FILESYSTEMS=y
1140# CONFIG_ADFS_FS is not set
1141# CONFIG_AFFS_FS is not set
1142# CONFIG_HFS_FS is not set
1143# CONFIG_HFSPLUS_FS is not set
1144# CONFIG_BEFS_FS is not set
1145# CONFIG_BFS_FS is not set
1146# CONFIG_EFS_FS is not set
1147# CONFIG_JFFS2_FS is not set
1148# CONFIG_YAFFS_FS is not set
1149# CONFIG_LOGFS is not set
1150CONFIG_CRAMFS=y
1151# CONFIG_SQUASHFS is not set
1152# CONFIG_VXFS_FS is not set
1153# CONFIG_MINIX_FS is not set
1154# CONFIG_OMFS_FS is not set
1155# CONFIG_HPFS_FS is not set
1156# CONFIG_QNX4FS_FS is not set
1157# CONFIG_ROMFS_FS is not set
1158# CONFIG_SYSV_FS is not set
1159# CONFIG_UFS_FS is not set
1160CONFIG_NETWORK_FILESYSTEMS=y
1161CONFIG_NFS_FS=y
1162CONFIG_NFS_V3=y
1163# CONFIG_NFS_V3_ACL is not set
1164# CONFIG_NFS_V4 is not set
1165CONFIG_ROOT_NFS=y
1166# CONFIG_NFSD is not set
1167CONFIG_LOCKD=y
1168CONFIG_LOCKD_V4=y
1169CONFIG_NFS_COMMON=y
1170CONFIG_SUNRPC=y
1171# CONFIG_RPCSEC_GSS_KRB5 is not set
1172# CONFIG_RPCSEC_GSS_SPKM3 is not set
1173# CONFIG_SMB_FS is not set
1174# CONFIG_CEPH_FS is not set
1175# CONFIG_CIFS is not set
1176# CONFIG_NCP_FS is not set
1177# CONFIG_CODA_FS is not set
1178# CONFIG_AFS_FS is not set
1179
1180#
1181# Partition Types
1182#
1183# CONFIG_PARTITION_ADVANCED is not set
1184CONFIG_MSDOS_PARTITION=y
1185CONFIG_NLS=y
1186CONFIG_NLS_DEFAULT="iso8859-1"
1187CONFIG_NLS_CODEPAGE_437=y
1188# CONFIG_NLS_CODEPAGE_737 is not set
1189# CONFIG_NLS_CODEPAGE_775 is not set
1190CONFIG_NLS_CODEPAGE_850=y
1191# CONFIG_NLS_CODEPAGE_852 is not set
1192# CONFIG_NLS_CODEPAGE_855 is not set
1193# CONFIG_NLS_CODEPAGE_857 is not set
1194# CONFIG_NLS_CODEPAGE_860 is not set
1195# CONFIG_NLS_CODEPAGE_861 is not set
1196# CONFIG_NLS_CODEPAGE_862 is not set
1197# CONFIG_NLS_CODEPAGE_863 is not set
1198# CONFIG_NLS_CODEPAGE_864 is not set
1199# CONFIG_NLS_CODEPAGE_865 is not set
1200# CONFIG_NLS_CODEPAGE_866 is not set
1201# CONFIG_NLS_CODEPAGE_869 is not set
1202# CONFIG_NLS_CODEPAGE_936 is not set
1203# CONFIG_NLS_CODEPAGE_950 is not set
1204# CONFIG_NLS_CODEPAGE_932 is not set
1205# CONFIG_NLS_CODEPAGE_949 is not set
1206# CONFIG_NLS_CODEPAGE_874 is not set
1207# CONFIG_NLS_ISO8859_8 is not set
1208# CONFIG_NLS_CODEPAGE_1250 is not set
1209# CONFIG_NLS_CODEPAGE_1251 is not set
1210# CONFIG_NLS_ASCII is not set
1211CONFIG_NLS_ISO8859_1=y
1212# CONFIG_NLS_ISO8859_2 is not set
1213# CONFIG_NLS_ISO8859_3 is not set
1214# CONFIG_NLS_ISO8859_4 is not set
1215# CONFIG_NLS_ISO8859_5 is not set
1216# CONFIG_NLS_ISO8859_6 is not set
1217# CONFIG_NLS_ISO8859_7 is not set
1218# CONFIG_NLS_ISO8859_9 is not set
1219# CONFIG_NLS_ISO8859_13 is not set
1220# CONFIG_NLS_ISO8859_14 is not set
1221CONFIG_NLS_ISO8859_15=y
1222# CONFIG_NLS_KOI8_R is not set
1223# CONFIG_NLS_KOI8_U is not set
1224# CONFIG_NLS_UTF8 is not set
1225# CONFIG_DLM is not set
1226# CONFIG_BINARY_PRINTF is not set
1227
1228#
1229# Library routines
1230#
1231CONFIG_BITREVERSE=y
1232CONFIG_GENERIC_FIND_LAST_BIT=y
1233# CONFIG_CRC_CCITT is not set
1234# CONFIG_CRC16 is not set
1235# CONFIG_CRC_T10DIF is not set
1236# CONFIG_CRC_ITU_T is not set
1237CONFIG_CRC32=y
1238# CONFIG_CRC7 is not set
1239# CONFIG_LIBCRC32C is not set
1240CONFIG_ZLIB_INFLATE=y
1241CONFIG_DECOMPRESS_GZIP=y
1242CONFIG_HAS_IOMEM=y
1243CONFIG_HAS_IOPORT=y
1244CONFIG_HAS_DMA=y
1245CONFIG_HAVE_LMB=y
1246CONFIG_NLATTR=y
1247CONFIG_GENERIC_ATOMIC64=y
1248
1249#
1250# Kernel hacking
1251#
1252# CONFIG_PRINTK_TIME is not set
1253CONFIG_ENABLE_WARN_DEPRECATED=y
1254CONFIG_ENABLE_MUST_CHECK=y
1255CONFIG_FRAME_WARN=1024
1256CONFIG_MAGIC_SYSRQ=y
1257# CONFIG_STRIP_ASM_SYMS is not set
1258# CONFIG_UNUSED_SYMBOLS is not set
1259# CONFIG_DEBUG_FS is not set
1260# CONFIG_HEADERS_CHECK is not set
1261CONFIG_DEBUG_KERNEL=y
1262# CONFIG_DEBUG_SHIRQ is not set
1263CONFIG_DETECT_SOFTLOCKUP=y
1264# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
1265CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
1266CONFIG_DETECT_HUNG_TASK=y
1267# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
1268CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
1269CONFIG_SCHED_DEBUG=y
1270# CONFIG_SCHEDSTATS is not set
1271# CONFIG_TIMER_STATS is not set
1272# CONFIG_DEBUG_OBJECTS is not set
1273# CONFIG_SLUB_DEBUG_ON is not set
1274# CONFIG_SLUB_STATS is not set
1275# CONFIG_DEBUG_KMEMLEAK is not set
1276# CONFIG_DEBUG_RT_MUTEXES is not set
1277# CONFIG_RT_MUTEX_TESTER is not set
1278# CONFIG_DEBUG_SPINLOCK is not set
1279# CONFIG_DEBUG_MUTEXES is not set
1280# CONFIG_DEBUG_LOCK_ALLOC is not set
1281# CONFIG_PROVE_LOCKING is not set
1282# CONFIG_LOCK_STAT is not set
1283# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1284# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1285# CONFIG_DEBUG_KOBJECT is not set
1286# CONFIG_DEBUG_HIGHMEM is not set
1287# CONFIG_DEBUG_BUGVERBOSE is not set
1288# CONFIG_DEBUG_INFO is not set
1289# CONFIG_DEBUG_VM is not set
1290# CONFIG_DEBUG_WRITECOUNT is not set
1291# CONFIG_DEBUG_MEMORY_INIT is not set
1292# CONFIG_DEBUG_LIST is not set
1293# CONFIG_DEBUG_SG is not set
1294# CONFIG_DEBUG_NOTIFIERS is not set
1295# CONFIG_DEBUG_CREDENTIALS is not set
1296# CONFIG_RCU_TORTURE_TEST is not set
1297# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1298# CONFIG_BACKTRACE_SELF_TEST is not set
1299# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1300# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
1301# CONFIG_FAULT_INJECTION is not set
1302# CONFIG_LATENCYTOP is not set
1303CONFIG_SYSCTL_SYSCALL_CHECK=y
1304# CONFIG_DEBUG_PAGEALLOC is not set
1305CONFIG_HAVE_FUNCTION_TRACER=y
1306CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
1307CONFIG_HAVE_DYNAMIC_FTRACE=y
1308CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1309CONFIG_TRACING_SUPPORT=y
1310CONFIG_FTRACE=y
1311# CONFIG_FUNCTION_TRACER is not set
1312# CONFIG_IRQSOFF_TRACER is not set
1313# CONFIG_SCHED_TRACER is not set
1314# CONFIG_ENABLE_DEFAULT_TRACERS is not set
1315# CONFIG_BOOT_TRACER is not set
1316CONFIG_BRANCH_PROFILE_NONE=y
1317# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
1318# CONFIG_PROFILE_ALL_BRANCHES is not set
1319# CONFIG_STACK_TRACER is not set
1320# CONFIG_KMEMTRACE is not set
1321# CONFIG_WORKQUEUE_TRACER is not set
1322# CONFIG_BLK_DEV_IO_TRACE is not set
1323# CONFIG_DMA_API_DEBUG is not set
1324# CONFIG_SAMPLES is not set
1325CONFIG_HAVE_ARCH_KGDB=y
1326# CONFIG_KGDB is not set
1327# CONFIG_PPC_DISABLE_WERROR is not set
1328CONFIG_PPC_WERROR=y
1329CONFIG_PRINT_STACK_DEPTH=64
1330# CONFIG_DEBUG_STACKOVERFLOW is not set
1331# CONFIG_DEBUG_STACK_USAGE is not set
1332# CONFIG_CODE_PATCHING_SELFTEST is not set
1333# CONFIG_FTR_FIXUP_SELFTEST is not set
1334# CONFIG_MSI_BITMAP_SELFTEST is not set
1335# CONFIG_XMON is not set
1336# CONFIG_IRQSTACKS is not set
1337# CONFIG_BDI_SWITCH is not set
1338# CONFIG_PPC_EARLY_DEBUG is not set
1339
1340#
1341# Security options
1342#
1343# CONFIG_KEYS is not set
1344# CONFIG_SECURITY is not set
1345# CONFIG_SECURITYFS is not set
1346# CONFIG_DEFAULT_SECURITY_SELINUX is not set
1347# CONFIG_DEFAULT_SECURITY_SMACK is not set
1348# CONFIG_DEFAULT_SECURITY_TOMOYO is not set
1349CONFIG_DEFAULT_SECURITY_DAC=y
1350CONFIG_DEFAULT_SECURITY=""
1351CONFIG_CRYPTO=y
1352
1353#
1354# Crypto core or helper
1355#
1356CONFIG_CRYPTO_ALGAPI=y
1357CONFIG_CRYPTO_ALGAPI2=y
1358CONFIG_CRYPTO_AEAD2=y
1359CONFIG_CRYPTO_BLKCIPHER=y
1360CONFIG_CRYPTO_BLKCIPHER2=y
1361CONFIG_CRYPTO_HASH=y
1362CONFIG_CRYPTO_HASH2=y
1363CONFIG_CRYPTO_RNG2=y
1364CONFIG_CRYPTO_PCOMP=y
1365CONFIG_CRYPTO_MANAGER=y
1366CONFIG_CRYPTO_MANAGER2=y
1367# CONFIG_CRYPTO_GF128MUL is not set
1368# CONFIG_CRYPTO_NULL is not set
1369CONFIG_CRYPTO_WORKQUEUE=y
1370# CONFIG_CRYPTO_CRYPTD is not set
1371# CONFIG_CRYPTO_AUTHENC is not set
1372# CONFIG_CRYPTO_TEST is not set
1373
1374#
1375# Authenticated Encryption with Associated Data
1376#
1377# CONFIG_CRYPTO_CCM is not set
1378# CONFIG_CRYPTO_GCM is not set
1379# CONFIG_CRYPTO_SEQIV is not set
1380
1381#
1382# Block modes
1383#
1384CONFIG_CRYPTO_CBC=y
1385# CONFIG_CRYPTO_CTR is not set
1386# CONFIG_CRYPTO_CTS is not set
1387CONFIG_CRYPTO_ECB=y
1388# CONFIG_CRYPTO_LRW is not set
1389CONFIG_CRYPTO_PCBC=y
1390# CONFIG_CRYPTO_XTS is not set
1391
1392#
1393# Hash modes
1394#
1395# CONFIG_CRYPTO_HMAC is not set
1396# CONFIG_CRYPTO_XCBC is not set
1397# CONFIG_CRYPTO_VMAC is not set
1398
1399#
1400# Digest
1401#
1402# CONFIG_CRYPTO_CRC32C is not set
1403# CONFIG_CRYPTO_GHASH is not set
1404# CONFIG_CRYPTO_MD4 is not set
1405CONFIG_CRYPTO_MD5=y
1406# CONFIG_CRYPTO_MICHAEL_MIC is not set
1407# CONFIG_CRYPTO_RMD128 is not set
1408# CONFIG_CRYPTO_RMD160 is not set
1409# CONFIG_CRYPTO_RMD256 is not set
1410# CONFIG_CRYPTO_RMD320 is not set
1411# CONFIG_CRYPTO_SHA1 is not set
1412# CONFIG_CRYPTO_SHA256 is not set
1413# CONFIG_CRYPTO_SHA512 is not set
1414# CONFIG_CRYPTO_TGR192 is not set
1415# CONFIG_CRYPTO_WP512 is not set
1416
1417#
1418# Ciphers
1419#
1420# CONFIG_CRYPTO_AES is not set
1421# CONFIG_CRYPTO_ANUBIS is not set
1422# CONFIG_CRYPTO_ARC4 is not set
1423# CONFIG_CRYPTO_BLOWFISH is not set
1424# CONFIG_CRYPTO_CAMELLIA is not set
1425# CONFIG_CRYPTO_CAST5 is not set
1426# CONFIG_CRYPTO_CAST6 is not set
1427CONFIG_CRYPTO_DES=y
1428# CONFIG_CRYPTO_FCRYPT is not set
1429# CONFIG_CRYPTO_KHAZAD is not set
1430# CONFIG_CRYPTO_SALSA20 is not set
1431# CONFIG_CRYPTO_SEED is not set
1432# CONFIG_CRYPTO_SERPENT is not set
1433# CONFIG_CRYPTO_TEA is not set
1434# CONFIG_CRYPTO_TWOFISH is not set
1435
1436#
1437# Compression
1438#
1439# CONFIG_CRYPTO_DEFLATE is not set
1440# CONFIG_CRYPTO_ZLIB is not set
1441# CONFIG_CRYPTO_LZO is not set
1442
1443#
1444# Random Number Generation
1445#
1446# CONFIG_CRYPTO_ANSI_CPRNG is not set
1447CONFIG_CRYPTO_HW=y
1448# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1449# CONFIG_CRYPTO_DEV_PPC4XX is not set
1450# CONFIG_PPC_CLOCK is not set
1451# CONFIG_VIRTUALIZATION is not set
diff --git a/arch/powerpc/configs/44x/iss476-smp_defconfig b/arch/powerpc/configs/44x/iss476-smp_defconfig
new file mode 100644
index 000000000000..8683cbc6c3e1
--- /dev/null
+++ b/arch/powerpc/configs/44x/iss476-smp_defconfig
@@ -0,0 +1,1026 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.33
4# Thu Mar 4 11:50:12 2010
5#
6# CONFIG_PPC64 is not set
7
8#
9# Processor support
10#
11# CONFIG_PPC_BOOK3S_32 is not set
12# CONFIG_PPC_85xx is not set
13# CONFIG_PPC_8xx is not set
14# CONFIG_40x is not set
15CONFIG_44x=y
16# CONFIG_E200 is not set
17CONFIG_PPC_FPU=y
18CONFIG_4xx=y
19CONFIG_BOOKE=y
20CONFIG_PTE_64BIT=y
21CONFIG_PHYS_64BIT=y
22CONFIG_PPC_MMU_NOHASH=y
23CONFIG_PPC_MMU_NOHASH_32=y
24# CONFIG_PPC_MM_SLICES is not set
25CONFIG_SMP=y
26CONFIG_NR_CPUS=4
27# CONFIG_NOT_COHERENT_CACHE is not set
28CONFIG_PPC32=y
29CONFIG_WORD_SIZE=32
30CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
31CONFIG_MMU=y
32CONFIG_GENERIC_CMOS_UPDATE=y
33CONFIG_GENERIC_TIME=y
34CONFIG_GENERIC_TIME_VSYSCALL=y
35CONFIG_GENERIC_CLOCKEVENTS=y
36CONFIG_GENERIC_HARDIRQS=y
37CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
38# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
39# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
40CONFIG_IRQ_PER_CPU=y
41CONFIG_NR_IRQS=512
42CONFIG_STACKTRACE_SUPPORT=y
43CONFIG_HAVE_LATENCYTOP_SUPPORT=y
44CONFIG_TRACE_IRQFLAGS_SUPPORT=y
45CONFIG_LOCKDEP_SUPPORT=y
46CONFIG_RWSEM_XCHGADD_ALGORITHM=y
47CONFIG_ARCH_HAS_ILOG2_U32=y
48CONFIG_GENERIC_HWEIGHT=y
49CONFIG_GENERIC_FIND_NEXT_BIT=y
50# CONFIG_ARCH_NO_VIRT_TO_BUS is not set
51CONFIG_PPC=y
52CONFIG_EARLY_PRINTK=y
53CONFIG_GENERIC_NVRAM=y
54CONFIG_SCHED_OMIT_FRAME_POINTER=y
55CONFIG_ARCH_MAY_HAVE_PC_FDC=y
56CONFIG_PPC_OF=y
57CONFIG_OF=y
58CONFIG_PPC_UDBG_16550=y
59CONFIG_GENERIC_TBSYNC=y
60CONFIG_AUDIT_ARCH=y
61CONFIG_GENERIC_BUG=y
62CONFIG_DTC=y
63# CONFIG_DEFAULT_UIMAGE is not set
64CONFIG_ARCH_HIBERNATION_POSSIBLE=y
65CONFIG_PPC_DCR_NATIVE=y
66# CONFIG_PPC_DCR_MMIO is not set
67CONFIG_PPC_DCR=y
68CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
69CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
70CONFIG_CONSTRUCTORS=y
71
72#
73# General setup
74#
75CONFIG_EXPERIMENTAL=y
76CONFIG_LOCK_KERNEL=y
77CONFIG_INIT_ENV_ARG_LIMIT=32
78CONFIG_LOCALVERSION=""
79CONFIG_LOCALVERSION_AUTO=y
80CONFIG_SWAP=y
81CONFIG_SYSVIPC=y
82CONFIG_SYSVIPC_SYSCTL=y
83CONFIG_POSIX_MQUEUE=y
84CONFIG_POSIX_MQUEUE_SYSCTL=y
85# CONFIG_BSD_PROCESS_ACCT is not set
86# CONFIG_TASKSTATS is not set
87# CONFIG_AUDIT is not set
88
89#
90# RCU Subsystem
91#
92CONFIG_TREE_RCU=y
93# CONFIG_TREE_PREEMPT_RCU is not set
94# CONFIG_TINY_RCU is not set
95# CONFIG_RCU_TRACE is not set
96CONFIG_RCU_FANOUT=32
97# CONFIG_RCU_FANOUT_EXACT is not set
98# CONFIG_TREE_RCU_TRACE is not set
99# CONFIG_IKCONFIG is not set
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
107CONFIG_SYSFS_DEPRECATED=y
108CONFIG_SYSFS_DEPRECATED_V2=y
109# CONFIG_RELAY is not set
110# CONFIG_NAMESPACES is not set
111CONFIG_BLK_DEV_INITRD=y
112CONFIG_INITRAMFS_SOURCE=""
113CONFIG_RD_GZIP=y
114# CONFIG_RD_BZIP2 is not set
115# CONFIG_RD_LZMA is not set
116# CONFIG_RD_LZO is not set
117# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
118CONFIG_SYSCTL=y
119CONFIG_ANON_INODES=y
120CONFIG_EMBEDDED=y
121CONFIG_SYSCTL_SYSCALL=y
122CONFIG_KALLSYMS=y
123CONFIG_KALLSYMS_ALL=y
124CONFIG_KALLSYMS_EXTRA_PASS=y
125CONFIG_HOTPLUG=y
126CONFIG_PRINTK=y
127CONFIG_BUG=y
128CONFIG_ELF_CORE=y
129CONFIG_BASE_FULL=y
130CONFIG_FUTEX=y
131CONFIG_EPOLL=y
132CONFIG_SIGNALFD=y
133CONFIG_TIMERFD=y
134CONFIG_EVENTFD=y
135CONFIG_SHMEM=y
136CONFIG_AIO=y
137CONFIG_HAVE_PERF_EVENTS=y
138
139#
140# Kernel Performance Events And Counters
141#
142CONFIG_PERF_EVENTS=y
143CONFIG_EVENT_PROFILE=y
144# CONFIG_PERF_COUNTERS is not set
145# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
146CONFIG_VM_EVENT_COUNTERS=y
147CONFIG_SLUB_DEBUG=y
148CONFIG_COMPAT_BRK=y
149# CONFIG_SLAB is not set
150CONFIG_SLUB=y
151# CONFIG_SLOB is not set
152CONFIG_PROFILING=y
153CONFIG_TRACEPOINTS=y
154CONFIG_OPROFILE=y
155CONFIG_HAVE_OPROFILE=y
156# CONFIG_KPROBES is not set
157CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
158CONFIG_HAVE_IOREMAP_PROT=y
159CONFIG_HAVE_KPROBES=y
160CONFIG_HAVE_KRETPROBES=y
161CONFIG_HAVE_ARCH_TRACEHOOK=y
162CONFIG_HAVE_DMA_ATTRS=y
163CONFIG_USE_GENERIC_SMP_HELPERS=y
164CONFIG_HAVE_DMA_API_DEBUG=y
165
166#
167# GCOV-based kernel profiling
168#
169# CONFIG_GCOV_KERNEL is not set
170# CONFIG_SLOW_WORK is not set
171# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
172CONFIG_SLABINFO=y
173CONFIG_RT_MUTEXES=y
174CONFIG_BASE_SMALL=0
175CONFIG_MODULES=y
176# CONFIG_MODULE_FORCE_LOAD is not set
177CONFIG_MODULE_UNLOAD=y
178# CONFIG_MODULE_FORCE_UNLOAD is not set
179# CONFIG_MODVERSIONS is not set
180# CONFIG_MODULE_SRCVERSION_ALL is not set
181CONFIG_STOP_MACHINE=y
182CONFIG_BLOCK=y
183CONFIG_LBDAF=y
184# CONFIG_BLK_DEV_BSG is not set
185# CONFIG_BLK_DEV_INTEGRITY is not set
186
187#
188# IO Schedulers
189#
190CONFIG_IOSCHED_NOOP=y
191CONFIG_IOSCHED_DEADLINE=y
192CONFIG_IOSCHED_CFQ=y
193# CONFIG_DEFAULT_DEADLINE is not set
194CONFIG_DEFAULT_CFQ=y
195# CONFIG_DEFAULT_NOOP is not set
196CONFIG_DEFAULT_IOSCHED="cfq"
197# CONFIG_INLINE_SPIN_TRYLOCK is not set
198# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
199# CONFIG_INLINE_SPIN_LOCK is not set
200# CONFIG_INLINE_SPIN_LOCK_BH is not set
201# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
202# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
203CONFIG_INLINE_SPIN_UNLOCK=y
204# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
205CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
206# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
207# CONFIG_INLINE_READ_TRYLOCK is not set
208# CONFIG_INLINE_READ_LOCK is not set
209# CONFIG_INLINE_READ_LOCK_BH is not set
210# CONFIG_INLINE_READ_LOCK_IRQ is not set
211# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
212CONFIG_INLINE_READ_UNLOCK=y
213# CONFIG_INLINE_READ_UNLOCK_BH is not set
214CONFIG_INLINE_READ_UNLOCK_IRQ=y
215# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
216# CONFIG_INLINE_WRITE_TRYLOCK is not set
217# CONFIG_INLINE_WRITE_LOCK is not set
218# CONFIG_INLINE_WRITE_LOCK_BH is not set
219# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
220# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
221CONFIG_INLINE_WRITE_UNLOCK=y
222# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
223CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
224# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
225CONFIG_MUTEX_SPIN_ON_OWNER=y
226# CONFIG_FREEZER is not set
227
228#
229# Platform support
230#
231# CONFIG_PPC_CELL is not set
232# CONFIG_PPC_CELL_NATIVE is not set
233# CONFIG_PQ2ADS is not set
234CONFIG_PPC_47x=y
235# CONFIG_BAMBOO is not set
236# CONFIG_EBONY is not set
237# CONFIG_SAM440EP is not set
238# CONFIG_SEQUOIA is not set
239# CONFIG_TAISHAN is not set
240# CONFIG_KATMAI is not set
241# CONFIG_RAINIER is not set
242# CONFIG_WARP is not set
243# CONFIG_ARCHES is not set
244# CONFIG_CANYONLANDS is not set
245# CONFIG_GLACIER is not set
246# CONFIG_REDWOOD is not set
247# CONFIG_EIGER is not set
248# CONFIG_YOSEMITE is not set
249CONFIG_ISS4xx=y
250# CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set
251# CONFIG_PPC44x_SIMPLE is not set
252# CONFIG_PPC4xx_GPIO is not set
253# CONFIG_IPIC is not set
254CONFIG_MPIC=y
255# CONFIG_MPIC_WEIRD is not set
256# CONFIG_PPC_I8259 is not set
257# CONFIG_PPC_RTAS is not set
258# CONFIG_MMIO_NVRAM is not set
259# CONFIG_PPC_MPC106 is not set
260# CONFIG_PPC_970_NAP is not set
261# CONFIG_PPC_INDIRECT_IO is not set
262# CONFIG_GENERIC_IOMAP is not set
263# CONFIG_CPU_FREQ is not set
264# CONFIG_FSL_ULI1575 is not set
265CONFIG_OF_RTC=y
266# CONFIG_SIMPLE_GPIO is not set
267
268#
269# Kernel options
270#
271# CONFIG_HIGHMEM is not set
272# CONFIG_NO_HZ is not set
273# CONFIG_HIGH_RES_TIMERS is not set
274CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
275CONFIG_HZ_100=y
276# CONFIG_HZ_250 is not set
277# CONFIG_HZ_300 is not set
278# CONFIG_HZ_1000 is not set
279CONFIG_HZ=100
280# CONFIG_SCHED_HRTICK is not set
281CONFIG_PREEMPT_NONE=y
282# CONFIG_PREEMPT_VOLUNTARY is not set
283# CONFIG_PREEMPT is not set
284CONFIG_BINFMT_ELF=y
285# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
286# CONFIG_HAVE_AOUT is not set
287# CONFIG_BINFMT_MISC is not set
288CONFIG_MATH_EMULATION=y
289# CONFIG_IOMMU_HELPER is not set
290# CONFIG_SWIOTLB is not set
291CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
292CONFIG_ARCH_HAS_WALK_MEMORY=y
293CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
294CONFIG_IRQ_ALL_CPUS=y
295CONFIG_SPARSE_IRQ=y
296CONFIG_MAX_ACTIVE_REGIONS=32
297CONFIG_ARCH_FLATMEM_ENABLE=y
298CONFIG_ARCH_POPULATES_NODE_MAP=y
299CONFIG_SELECT_MEMORY_MODEL=y
300CONFIG_FLATMEM_MANUAL=y
301# CONFIG_DISCONTIGMEM_MANUAL is not set
302# CONFIG_SPARSEMEM_MANUAL is not set
303CONFIG_FLATMEM=y
304CONFIG_FLAT_NODE_MEM_MAP=y
305CONFIG_PAGEFLAGS_EXTENDED=y
306CONFIG_SPLIT_PTLOCK_CPUS=4
307CONFIG_MIGRATION=y
308CONFIG_PHYS_ADDR_T_64BIT=y
309CONFIG_ZONE_DMA_FLAG=1
310CONFIG_BOUNCE=y
311CONFIG_VIRT_TO_BUS=y
312# CONFIG_KSM is not set
313CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
314CONFIG_STDBINUTILS=y
315CONFIG_PPC_4K_PAGES=y
316# CONFIG_PPC_16K_PAGES is not set
317# CONFIG_PPC_64K_PAGES is not set
318# CONFIG_PPC_256K_PAGES is not set
319CONFIG_FORCE_MAX_ZONEORDER=11
320CONFIG_PROC_DEVICETREE=y
321CONFIG_CMDLINE_BOOL=y
322CONFIG_CMDLINE="root=/dev/issblk0"
323CONFIG_EXTRA_TARGETS=""
324CONFIG_SECCOMP=y
325CONFIG_ISA_DMA_API=y
326
327#
328# Bus options
329#
330CONFIG_ZONE_DMA=y
331CONFIG_4xx_SOC=y
332CONFIG_PPC_PCI_CHOICE=y
333# CONFIG_PCI is not set
334# CONFIG_PCI_DOMAINS is not set
335# CONFIG_PCI_SYSCALL is not set
336# CONFIG_ARCH_SUPPORTS_MSI is not set
337# CONFIG_PCCARD is not set
338# CONFIG_HAS_RAPIDIO is not set
339
340#
341# Advanced setup
342#
343# CONFIG_ADVANCED_OPTIONS is not set
344
345#
346# Default settings for advanced configuration options are used
347#
348CONFIG_LOWMEM_SIZE=0x30000000
349CONFIG_PAGE_OFFSET=0xc0000000
350CONFIG_KERNEL_START=0xc0000000
351CONFIG_PHYSICAL_START=0x00000000
352CONFIG_TASK_SIZE=0xc0000000
353CONFIG_NET=y
354
355#
356# Networking options
357#
358CONFIG_PACKET=y
359# CONFIG_PACKET_MMAP is not set
360CONFIG_UNIX=y
361# CONFIG_NET_KEY is not set
362CONFIG_INET=y
363# CONFIG_IP_MULTICAST is not set
364# CONFIG_IP_ADVANCED_ROUTER is not set
365CONFIG_IP_FIB_HASH=y
366CONFIG_IP_PNP=y
367CONFIG_IP_PNP_DHCP=y
368CONFIG_IP_PNP_BOOTP=y
369# CONFIG_IP_PNP_RARP is not set
370# CONFIG_NET_IPIP is not set
371# CONFIG_NET_IPGRE is not set
372# CONFIG_ARPD is not set
373# CONFIG_SYN_COOKIES is not set
374# CONFIG_INET_AH is not set
375# CONFIG_INET_ESP is not set
376# CONFIG_INET_IPCOMP is not set
377# CONFIG_INET_XFRM_TUNNEL is not set
378# CONFIG_INET_TUNNEL is not set
379# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
380# CONFIG_INET_XFRM_MODE_TUNNEL is not set
381# CONFIG_INET_XFRM_MODE_BEET is not set
382# CONFIG_INET_LRO is not set
383CONFIG_INET_DIAG=y
384CONFIG_INET_TCP_DIAG=y
385# CONFIG_TCP_CONG_ADVANCED is not set
386CONFIG_TCP_CONG_CUBIC=y
387CONFIG_DEFAULT_TCP_CONG="cubic"
388# CONFIG_TCP_MD5SIG is not set
389# CONFIG_IPV6 is not set
390# CONFIG_NETWORK_SECMARK is not set
391# CONFIG_NETFILTER is not set
392# CONFIG_IP_DCCP is not set
393# CONFIG_IP_SCTP is not set
394# CONFIG_RDS is not set
395# CONFIG_TIPC is not set
396# CONFIG_ATM is not set
397# CONFIG_BRIDGE is not set
398# CONFIG_NET_DSA is not set
399# CONFIG_VLAN_8021Q is not set
400# CONFIG_DECNET is not set
401# CONFIG_LLC2 is not set
402# CONFIG_IPX is not set
403# CONFIG_ATALK is not set
404# CONFIG_X25 is not set
405# CONFIG_LAPB is not set
406# CONFIG_ECONET is not set
407# CONFIG_WAN_ROUTER is not set
408# CONFIG_PHONET is not set
409# CONFIG_IEEE802154 is not set
410# CONFIG_NET_SCHED is not set
411# CONFIG_DCB is not set
412
413#
414# Network testing
415#
416# CONFIG_NET_PKTGEN is not set
417# CONFIG_NET_DROP_MONITOR is not set
418# CONFIG_HAMRADIO is not set
419# CONFIG_CAN is not set
420# CONFIG_IRDA is not set
421# CONFIG_BT is not set
422# CONFIG_AF_RXRPC is not set
423CONFIG_WIRELESS=y
424# CONFIG_CFG80211 is not set
425# CONFIG_LIB80211 is not set
426
427#
428# CFG80211 needs to be enabled for MAC80211
429#
430# CONFIG_WIMAX is not set
431# CONFIG_RFKILL is not set
432# CONFIG_NET_9P is not set
433
434#
435# Device Drivers
436#
437
438#
439# Generic Driver Options
440#
441CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
442# CONFIG_DEVTMPFS is not set
443CONFIG_STANDALONE=y
444CONFIG_PREVENT_FIRMWARE_BUILD=y
445CONFIG_FW_LOADER=y
446CONFIG_FIRMWARE_IN_KERNEL=y
447CONFIG_EXTRA_FIRMWARE=""
448# CONFIG_DEBUG_DRIVER is not set
449# CONFIG_DEBUG_DEVRES is not set
450# CONFIG_SYS_HYPERVISOR is not set
451CONFIG_CONNECTOR=y
452CONFIG_PROC_EVENTS=y
453CONFIG_MTD=y
454# CONFIG_MTD_DEBUG is not set
455# CONFIG_MTD_TESTS is not set
456# CONFIG_MTD_CONCAT is not set
457CONFIG_MTD_PARTITIONS=y
458# CONFIG_MTD_REDBOOT_PARTS is not set
459# CONFIG_MTD_CMDLINE_PARTS is not set
460CONFIG_MTD_OF_PARTS=y
461# CONFIG_MTD_AR7_PARTS is not set
462
463#
464# User Modules And Translation Layers
465#
466CONFIG_MTD_CHAR=y
467CONFIG_MTD_BLKDEVS=y
468CONFIG_MTD_BLOCK=y
469# CONFIG_FTL is not set
470# CONFIG_NFTL is not set
471# CONFIG_INFTL is not set
472# CONFIG_RFD_FTL is not set
473# CONFIG_SSFDC is not set
474# CONFIG_MTD_OOPS is not set
475
476#
477# RAM/ROM/Flash chip drivers
478#
479# CONFIG_MTD_CFI is not set
480CONFIG_MTD_JEDECPROBE=y
481CONFIG_MTD_GEN_PROBE=y
482# CONFIG_MTD_CFI_ADV_OPTIONS is not set
483CONFIG_MTD_MAP_BANK_WIDTH_1=y
484CONFIG_MTD_MAP_BANK_WIDTH_2=y
485CONFIG_MTD_MAP_BANK_WIDTH_4=y
486# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
487# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
488# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
489CONFIG_MTD_CFI_I1=y
490CONFIG_MTD_CFI_I2=y
491# CONFIG_MTD_CFI_I4 is not set
492# CONFIG_MTD_CFI_I8 is not set
493# CONFIG_MTD_CFI_INTELEXT is not set
494CONFIG_MTD_CFI_AMDSTD=y
495# CONFIG_MTD_CFI_STAA is not set
496CONFIG_MTD_CFI_UTIL=y
497# CONFIG_MTD_RAM is not set
498# CONFIG_MTD_ROM is not set
499# CONFIG_MTD_ABSENT is not set
500
501#
502# Mapping drivers for chip access
503#
504# CONFIG_MTD_COMPLEX_MAPPINGS is not set
505# CONFIG_MTD_PHYSMAP is not set
506CONFIG_MTD_PHYSMAP_OF=y
507# CONFIG_MTD_PLATRAM is not set
508
509#
510# Self-contained MTD device drivers
511#
512# CONFIG_MTD_SLRAM is not set
513# CONFIG_MTD_PHRAM is not set
514# CONFIG_MTD_MTDRAM is not set
515# CONFIG_MTD_BLOCK2MTD is not set
516
517#
518# Disk-On-Chip Device Drivers
519#
520# CONFIG_MTD_DOC2000 is not set
521# CONFIG_MTD_DOC2001 is not set
522# CONFIG_MTD_DOC2001PLUS is not set
523# CONFIG_MTD_NAND is not set
524# CONFIG_MTD_ONENAND is not set
525
526#
527# LPDDR flash memory drivers
528#
529# CONFIG_MTD_LPDDR is not set
530
531#
532# UBI - Unsorted block images
533#
534# CONFIG_MTD_UBI is not set
535CONFIG_OF_DEVICE=y
536# CONFIG_PARPORT is not set
537CONFIG_BLK_DEV=y
538# CONFIG_BLK_DEV_FD is not set
539# CONFIG_BLK_DEV_COW_COMMON is not set
540# CONFIG_BLK_DEV_LOOP is not set
541# CONFIG_BLK_DEV_DRBD is not set
542# CONFIG_BLK_DEV_NBD is not set
543CONFIG_BLK_DEV_RAM=y
544CONFIG_BLK_DEV_RAM_COUNT=16
545CONFIG_BLK_DEV_RAM_SIZE=35000
546# CONFIG_BLK_DEV_XIP is not set
547# CONFIG_CDROM_PKTCDVD is not set
548# CONFIG_ATA_OVER_ETH is not set
549# CONFIG_XILINX_SYSACE is not set
550# CONFIG_BLK_DEV_HD is not set
551CONFIG_MISC_DEVICES=y
552# CONFIG_ENCLOSURE_SERVICES is not set
553# CONFIG_C2PORT is not set
554
555#
556# EEPROM support
557#
558# CONFIG_EEPROM_93CX6 is not set
559CONFIG_HAVE_IDE=y
560# CONFIG_IDE is not set
561
562#
563# SCSI device support
564#
565# CONFIG_RAID_ATTRS is not set
566# CONFIG_SCSI is not set
567# CONFIG_SCSI_DMA is not set
568# CONFIG_SCSI_NETLINK is not set
569# CONFIG_ATA is not set
570# CONFIG_MD is not set
571# CONFIG_MACINTOSH_DRIVERS is not set
572# CONFIG_NETDEVICES is not set
573# CONFIG_ISDN is not set
574# CONFIG_PHONE is not set
575
576#
577# Input device support
578#
579# CONFIG_INPUT is not set
580
581#
582# Hardware I/O ports
583#
584# CONFIG_SERIO is not set
585# CONFIG_GAMEPORT is not set
586
587#
588# Character devices
589#
590# CONFIG_VT is not set
591CONFIG_DEVKMEM=y
592# CONFIG_SERIAL_NONSTANDARD is not set
593
594#
595# Serial drivers
596#
597CONFIG_SERIAL_8250=y
598CONFIG_SERIAL_8250_CONSOLE=y
599CONFIG_SERIAL_8250_NR_UARTS=4
600CONFIG_SERIAL_8250_RUNTIME_UARTS=4
601CONFIG_SERIAL_8250_EXTENDED=y
602# CONFIG_SERIAL_8250_MANY_PORTS is not set
603CONFIG_SERIAL_8250_SHARE_IRQ=y
604# CONFIG_SERIAL_8250_DETECT_IRQ is not set
605# CONFIG_SERIAL_8250_RSA is not set
606
607#
608# Non-8250 serial port support
609#
610# CONFIG_SERIAL_UARTLITE is not set
611CONFIG_SERIAL_CORE=y
612CONFIG_SERIAL_CORE_CONSOLE=y
613CONFIG_SERIAL_OF_PLATFORM=y
614# CONFIG_SERIAL_OF_PLATFORM_NWPSERIAL is not set
615# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set
616CONFIG_UNIX98_PTYS=y
617# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
618CONFIG_LEGACY_PTYS=y
619CONFIG_LEGACY_PTY_COUNT=256
620# CONFIG_HVC_UDBG is not set
621# CONFIG_IPMI_HANDLER is not set
622# CONFIG_HW_RANDOM is not set
623# CONFIG_NVRAM is not set
624# CONFIG_GEN_RTC is not set
625# CONFIG_R3964 is not set
626# CONFIG_RAW_DRIVER is not set
627# CONFIG_TCG_TPM is not set
628# CONFIG_I2C is not set
629# CONFIG_SPI is not set
630
631#
632# PPS support
633#
634# CONFIG_PPS is not set
635CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
636# CONFIG_GPIOLIB is not set
637# CONFIG_W1 is not set
638# CONFIG_POWER_SUPPLY is not set
639# CONFIG_HWMON is not set
640CONFIG_THERMAL=y
641# CONFIG_WATCHDOG is not set
642CONFIG_SSB_POSSIBLE=y
643
644#
645# Sonics Silicon Backplane
646#
647# CONFIG_SSB is not set
648
649#
650# Multifunction device drivers
651#
652# CONFIG_MFD_CORE is not set
653# CONFIG_MFD_SM501 is not set
654# CONFIG_HTC_PASIC3 is not set
655# CONFIG_MFD_TMIO is not set
656# CONFIG_REGULATOR is not set
657# CONFIG_MEDIA_SUPPORT is not set
658
659#
660# Graphics support
661#
662# CONFIG_VGASTATE is not set
663# CONFIG_VIDEO_OUTPUT_CONTROL is not set
664# CONFIG_FB is not set
665# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
666
667#
668# Display device support
669#
670# CONFIG_DISPLAY_SUPPORT is not set
671# CONFIG_SOUND is not set
672# CONFIG_USB_SUPPORT is not set
673# CONFIG_MMC is not set
674# CONFIG_MEMSTICK is not set
675# CONFIG_NEW_LEDS is not set
676# CONFIG_ACCESSIBILITY is not set
677# CONFIG_EDAC is not set
678# CONFIG_RTC_CLASS is not set
679# CONFIG_DMADEVICES is not set
680# CONFIG_AUXDISPLAY is not set
681# CONFIG_UIO is not set
682
683#
684# TI VLYNQ
685#
686# CONFIG_STAGING is not set
687
688#
689# File systems
690#
691CONFIG_EXT2_FS=y
692# CONFIG_EXT2_FS_XATTR is not set
693# CONFIG_EXT2_FS_XIP is not set
694CONFIG_EXT3_FS=y
695# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
696CONFIG_EXT3_FS_XATTR=y
697CONFIG_EXT3_FS_POSIX_ACL=y
698CONFIG_EXT3_FS_SECURITY=y
699# CONFIG_EXT4_FS is not set
700CONFIG_JBD=y
701# CONFIG_JBD_DEBUG is not set
702CONFIG_FS_MBCACHE=y
703# CONFIG_REISERFS_FS is not set
704# CONFIG_JFS_FS is not set
705CONFIG_FS_POSIX_ACL=y
706# CONFIG_XFS_FS is not set
707# CONFIG_GFS2_FS is not set
708# CONFIG_OCFS2_FS is not set
709# CONFIG_BTRFS_FS is not set
710# CONFIG_NILFS2_FS is not set
711CONFIG_FILE_LOCKING=y
712CONFIG_FSNOTIFY=y
713CONFIG_DNOTIFY=y
714CONFIG_INOTIFY=y
715CONFIG_INOTIFY_USER=y
716# CONFIG_QUOTA is not set
717# CONFIG_AUTOFS_FS is not set
718# CONFIG_AUTOFS4_FS is not set
719# CONFIG_FUSE_FS is not set
720
721#
722# Caches
723#
724# CONFIG_FSCACHE is not set
725
726#
727# CD-ROM/DVD Filesystems
728#
729# CONFIG_ISO9660_FS is not set
730# CONFIG_UDF_FS is not set
731
732#
733# DOS/FAT/NT Filesystems
734#
735# CONFIG_MSDOS_FS is not set
736# CONFIG_VFAT_FS is not set
737# CONFIG_NTFS_FS is not set
738
739#
740# Pseudo filesystems
741#
742CONFIG_PROC_FS=y
743CONFIG_PROC_KCORE=y
744CONFIG_PROC_SYSCTL=y
745CONFIG_PROC_PAGE_MONITOR=y
746CONFIG_SYSFS=y
747CONFIG_TMPFS=y
748# CONFIG_TMPFS_POSIX_ACL is not set
749# CONFIG_HUGETLB_PAGE is not set
750# CONFIG_CONFIGFS_FS is not set
751CONFIG_MISC_FILESYSTEMS=y
752# CONFIG_ADFS_FS is not set
753# CONFIG_AFFS_FS is not set
754# CONFIG_HFS_FS is not set
755# CONFIG_HFSPLUS_FS is not set
756# CONFIG_BEFS_FS is not set
757# CONFIG_BFS_FS is not set
758# CONFIG_EFS_FS is not set
759# CONFIG_JFFS2_FS is not set
760CONFIG_CRAMFS=y
761# CONFIG_SQUASHFS is not set
762# CONFIG_VXFS_FS is not set
763# CONFIG_MINIX_FS is not set
764# CONFIG_OMFS_FS is not set
765# CONFIG_HPFS_FS is not set
766# CONFIG_QNX4FS_FS is not set
767# CONFIG_ROMFS_FS is not set
768# CONFIG_SYSV_FS is not set
769# CONFIG_UFS_FS is not set
770# CONFIG_NETWORK_FILESYSTEMS is not set
771
772#
773# Partition Types
774#
775# CONFIG_PARTITION_ADVANCED is not set
776CONFIG_MSDOS_PARTITION=y
777# CONFIG_NLS is not set
778# CONFIG_DLM is not set
779CONFIG_BINARY_PRINTF=y
780
781#
782# Library routines
783#
784CONFIG_BITREVERSE=y
785CONFIG_GENERIC_FIND_LAST_BIT=y
786# CONFIG_CRC_CCITT is not set
787# CONFIG_CRC16 is not set
788# CONFIG_CRC_T10DIF is not set
789# CONFIG_CRC_ITU_T is not set
790CONFIG_CRC32=y
791# CONFIG_CRC7 is not set
792# CONFIG_LIBCRC32C is not set
793CONFIG_ZLIB_INFLATE=y
794CONFIG_DECOMPRESS_GZIP=y
795CONFIG_HAS_IOMEM=y
796CONFIG_HAS_IOPORT=y
797CONFIG_HAS_DMA=y
798CONFIG_HAVE_LMB=y
799CONFIG_NLATTR=y
800CONFIG_GENERIC_ATOMIC64=y
801
802#
803# Kernel hacking
804#
805# CONFIG_PRINTK_TIME is not set
806CONFIG_ENABLE_WARN_DEPRECATED=y
807CONFIG_ENABLE_MUST_CHECK=y
808CONFIG_FRAME_WARN=1024
809CONFIG_MAGIC_SYSRQ=y
810# CONFIG_STRIP_ASM_SYMS is not set
811# CONFIG_UNUSED_SYMBOLS is not set
812CONFIG_DEBUG_FS=y
813# CONFIG_HEADERS_CHECK is not set
814CONFIG_DEBUG_KERNEL=y
815# CONFIG_DEBUG_SHIRQ is not set
816CONFIG_DETECT_SOFTLOCKUP=y
817# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
818CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
819CONFIG_DETECT_HUNG_TASK=y
820# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
821CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
822CONFIG_SCHED_DEBUG=y
823# CONFIG_SCHEDSTATS is not set
824# CONFIG_TIMER_STATS is not set
825# CONFIG_DEBUG_OBJECTS is not set
826# CONFIG_SLUB_DEBUG_ON is not set
827# CONFIG_SLUB_STATS is not set
828# CONFIG_DEBUG_KMEMLEAK is not set
829# CONFIG_DEBUG_RT_MUTEXES is not set
830# CONFIG_RT_MUTEX_TESTER is not set
831# CONFIG_DEBUG_SPINLOCK is not set
832# CONFIG_DEBUG_MUTEXES is not set
833# CONFIG_DEBUG_LOCK_ALLOC is not set
834# CONFIG_PROVE_LOCKING is not set
835# CONFIG_LOCK_STAT is not set
836# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
837# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
838CONFIG_STACKTRACE=y
839# CONFIG_DEBUG_KOBJECT is not set
840CONFIG_DEBUG_BUGVERBOSE=y
841CONFIG_DEBUG_INFO=y
842# CONFIG_DEBUG_VM is not set
843# CONFIG_DEBUG_WRITECOUNT is not set
844# CONFIG_DEBUG_MEMORY_INIT is not set
845# CONFIG_DEBUG_LIST is not set
846# CONFIG_DEBUG_SG is not set
847# CONFIG_DEBUG_NOTIFIERS is not set
848# CONFIG_DEBUG_CREDENTIALS is not set
849# CONFIG_RCU_TORTURE_TEST is not set
850# CONFIG_RCU_CPU_STALL_DETECTOR is not set
851# CONFIG_BACKTRACE_SELF_TEST is not set
852# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
853# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
854# CONFIG_FAULT_INJECTION is not set
855# CONFIG_LATENCYTOP is not set
856CONFIG_SYSCTL_SYSCALL_CHECK=y
857# CONFIG_DEBUG_PAGEALLOC is not set
858CONFIG_NOP_TRACER=y
859CONFIG_HAVE_FUNCTION_TRACER=y
860CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
861CONFIG_HAVE_DYNAMIC_FTRACE=y
862CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
863CONFIG_RING_BUFFER=y
864CONFIG_EVENT_TRACING=y
865CONFIG_CONTEXT_SWITCH_TRACER=y
866CONFIG_RING_BUFFER_ALLOW_SWAP=y
867CONFIG_TRACING=y
868CONFIG_TRACING_SUPPORT=y
869CONFIG_FTRACE=y
870# CONFIG_FUNCTION_TRACER is not set
871# CONFIG_IRQSOFF_TRACER is not set
872# CONFIG_SCHED_TRACER is not set
873# CONFIG_ENABLE_DEFAULT_TRACERS is not set
874# CONFIG_BOOT_TRACER is not set
875CONFIG_BRANCH_PROFILE_NONE=y
876# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
877# CONFIG_PROFILE_ALL_BRANCHES is not set
878# CONFIG_STACK_TRACER is not set
879# CONFIG_KMEMTRACE is not set
880# CONFIG_WORKQUEUE_TRACER is not set
881# CONFIG_BLK_DEV_IO_TRACE is not set
882# CONFIG_RING_BUFFER_BENCHMARK is not set
883# CONFIG_DYNAMIC_DEBUG is not set
884# CONFIG_DMA_API_DEBUG is not set
885# CONFIG_SAMPLES is not set
886CONFIG_HAVE_ARCH_KGDB=y
887# CONFIG_KGDB is not set
888# CONFIG_PPC_DISABLE_WERROR is not set
889CONFIG_PPC_WERROR=y
890CONFIG_PRINT_STACK_DEPTH=64
891# CONFIG_DEBUG_STACKOVERFLOW is not set
892# CONFIG_DEBUG_STACK_USAGE is not set
893# CONFIG_PPC_EMULATED_STATS is not set
894# CONFIG_CODE_PATCHING_SELFTEST is not set
895# CONFIG_FTR_FIXUP_SELFTEST is not set
896# CONFIG_MSI_BITMAP_SELFTEST is not set
897# CONFIG_XMON is not set
898# CONFIG_IRQSTACKS is not set
899# CONFIG_VIRQ_DEBUG is not set
900# CONFIG_BDI_SWITCH is not set
901CONFIG_PPC_EARLY_DEBUG=y
902# CONFIG_PPC_EARLY_DEBUG_LPAR is not set
903# CONFIG_PPC_EARLY_DEBUG_G5 is not set
904# CONFIG_PPC_EARLY_DEBUG_RTAS_PANEL is not set
905# CONFIG_PPC_EARLY_DEBUG_RTAS_CONSOLE is not set
906# CONFIG_PPC_EARLY_DEBUG_MAPLE is not set
907# CONFIG_PPC_EARLY_DEBUG_ISERIES is not set
908# CONFIG_PPC_EARLY_DEBUG_PAS_REALMODE is not set
909# CONFIG_PPC_EARLY_DEBUG_BEAT is not set
910CONFIG_PPC_EARLY_DEBUG_44x=y
911# CONFIG_PPC_EARLY_DEBUG_40x is not set
912# CONFIG_PPC_EARLY_DEBUG_CPM is not set
913# CONFIG_PPC_EARLY_DEBUG_USBGECKO is not set
914CONFIG_PPC_EARLY_DEBUG_44x_PHYSLOW=0x40000200
915CONFIG_PPC_EARLY_DEBUG_44x_PHYSHIGH=0x1
916
917#
918# Security options
919#
920# CONFIG_KEYS is not set
921# CONFIG_SECURITY is not set
922# CONFIG_SECURITYFS is not set
923# CONFIG_DEFAULT_SECURITY_SELINUX is not set
924# CONFIG_DEFAULT_SECURITY_SMACK is not set
925# CONFIG_DEFAULT_SECURITY_TOMOYO is not set
926CONFIG_DEFAULT_SECURITY_DAC=y
927CONFIG_DEFAULT_SECURITY=""
928CONFIG_CRYPTO=y
929
930#
931# Crypto core or helper
932#
933CONFIG_CRYPTO_ALGAPI=y
934CONFIG_CRYPTO_ALGAPI2=y
935CONFIG_CRYPTO_AEAD2=y
936CONFIG_CRYPTO_BLKCIPHER=y
937CONFIG_CRYPTO_BLKCIPHER2=y
938CONFIG_CRYPTO_HASH=y
939CONFIG_CRYPTO_HASH2=y
940CONFIG_CRYPTO_RNG2=y
941CONFIG_CRYPTO_PCOMP=y
942CONFIG_CRYPTO_MANAGER=y
943CONFIG_CRYPTO_MANAGER2=y
944# CONFIG_CRYPTO_GF128MUL is not set
945# CONFIG_CRYPTO_NULL is not set
946CONFIG_CRYPTO_WORKQUEUE=y
947# CONFIG_CRYPTO_CRYPTD is not set
948# CONFIG_CRYPTO_AUTHENC is not set
949# CONFIG_CRYPTO_TEST is not set
950
951#
952# Authenticated Encryption with Associated Data
953#
954# CONFIG_CRYPTO_CCM is not set
955# CONFIG_CRYPTO_GCM is not set
956# CONFIG_CRYPTO_SEQIV is not set
957
958#
959# Block modes
960#
961CONFIG_CRYPTO_CBC=y
962# CONFIG_CRYPTO_CTR is not set
963# CONFIG_CRYPTO_CTS is not set
964CONFIG_CRYPTO_ECB=y
965# CONFIG_CRYPTO_LRW is not set
966CONFIG_CRYPTO_PCBC=y
967# CONFIG_CRYPTO_XTS is not set
968
969#
970# Hash modes
971#
972# CONFIG_CRYPTO_HMAC is not set
973# CONFIG_CRYPTO_XCBC is not set
974# CONFIG_CRYPTO_VMAC is not set
975
976#
977# Digest
978#
979# CONFIG_CRYPTO_CRC32C is not set
980# CONFIG_CRYPTO_GHASH is not set
981# CONFIG_CRYPTO_MD4 is not set
982CONFIG_CRYPTO_MD5=y
983# CONFIG_CRYPTO_MICHAEL_MIC is not set
984# CONFIG_CRYPTO_RMD128 is not set
985# CONFIG_CRYPTO_RMD160 is not set
986# CONFIG_CRYPTO_RMD256 is not set
987# CONFIG_CRYPTO_RMD320 is not set
988# CONFIG_CRYPTO_SHA1 is not set
989# CONFIG_CRYPTO_SHA256 is not set
990# CONFIG_CRYPTO_SHA512 is not set
991# CONFIG_CRYPTO_TGR192 is not set
992# CONFIG_CRYPTO_WP512 is not set
993
994#
995# Ciphers
996#
997# CONFIG_CRYPTO_AES is not set
998# CONFIG_CRYPTO_ANUBIS is not set
999# CONFIG_CRYPTO_ARC4 is not set
1000# CONFIG_CRYPTO_BLOWFISH is not set
1001# CONFIG_CRYPTO_CAMELLIA is not set
1002# CONFIG_CRYPTO_CAST5 is not set
1003# CONFIG_CRYPTO_CAST6 is not set
1004CONFIG_CRYPTO_DES=y
1005# CONFIG_CRYPTO_FCRYPT is not set
1006# CONFIG_CRYPTO_KHAZAD is not set
1007# CONFIG_CRYPTO_SALSA20 is not set
1008# CONFIG_CRYPTO_SEED is not set
1009# CONFIG_CRYPTO_SERPENT is not set
1010# CONFIG_CRYPTO_TEA is not set
1011# CONFIG_CRYPTO_TWOFISH is not set
1012
1013#
1014# Compression
1015#
1016# CONFIG_CRYPTO_DEFLATE is not set
1017# CONFIG_CRYPTO_ZLIB is not set
1018# CONFIG_CRYPTO_LZO is not set
1019
1020#
1021# Random Number Generation
1022#
1023# CONFIG_CRYPTO_ANSI_CPRNG is not set
1024# CONFIG_CRYPTO_HW is not set
1025# CONFIG_PPC_CLOCK is not set
1026# CONFIG_VIRTUALIZATION is not set
diff --git a/arch/powerpc/configs/44x/katmai_defconfig b/arch/powerpc/configs/44x/katmai_defconfig
index c23a4ef13e45..a2c24d1e051e 100644
--- a/arch/powerpc/configs/44x/katmai_defconfig
+++ b/arch/powerpc/configs/44x/katmai_defconfig
@@ -1,14 +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.29-rc2 3# Linux kernel version: 2.6.33-rc5
4# Tue Jan 20 08:22:38 2009 4# Tue Jan 26 14:40:58 2010
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
8# 8#
9# Processor support 9# Processor support
10# 10#
11# CONFIG_6xx is not set 11# CONFIG_PPC_BOOK3S_32 is not set
12# CONFIG_PPC_85xx is not set 12# CONFIG_PPC_85xx is not set
13# CONFIG_PPC_8xx is not set 13# CONFIG_PPC_8xx is not set
14# CONFIG_40x is not set 14# CONFIG_40x is not set
@@ -19,6 +19,7 @@ CONFIG_BOOKE=y
19CONFIG_PTE_64BIT=y 19CONFIG_PTE_64BIT=y
20CONFIG_PHYS_64BIT=y 20CONFIG_PHYS_64BIT=y
21CONFIG_PPC_MMU_NOHASH=y 21CONFIG_PPC_MMU_NOHASH=y
22CONFIG_PPC_MMU_NOHASH_32=y
22# CONFIG_PPC_MM_SLICES is not set 23# CONFIG_PPC_MM_SLICES is not set
23CONFIG_NOT_COHERENT_CACHE=y 24CONFIG_NOT_COHERENT_CACHE=y
24CONFIG_PPC32=y 25CONFIG_PPC32=y
@@ -30,15 +31,18 @@ CONFIG_GENERIC_TIME=y
30CONFIG_GENERIC_TIME_VSYSCALL=y 31CONFIG_GENERIC_TIME_VSYSCALL=y
31CONFIG_GENERIC_CLOCKEVENTS=y 32CONFIG_GENERIC_CLOCKEVENTS=y
32CONFIG_GENERIC_HARDIRQS=y 33CONFIG_GENERIC_HARDIRQS=y
34CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
33# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 35# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
36# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
34CONFIG_IRQ_PER_CPU=y 37CONFIG_IRQ_PER_CPU=y
38CONFIG_NR_IRQS=512
35CONFIG_STACKTRACE_SUPPORT=y 39CONFIG_STACKTRACE_SUPPORT=y
36CONFIG_HAVE_LATENCYTOP_SUPPORT=y 40CONFIG_HAVE_LATENCYTOP_SUPPORT=y
41CONFIG_TRACE_IRQFLAGS_SUPPORT=y
37CONFIG_LOCKDEP_SUPPORT=y 42CONFIG_LOCKDEP_SUPPORT=y
38CONFIG_RWSEM_XCHGADD_ALGORITHM=y 43CONFIG_RWSEM_XCHGADD_ALGORITHM=y
39CONFIG_ARCH_HAS_ILOG2_U32=y 44CONFIG_ARCH_HAS_ILOG2_U32=y
40CONFIG_GENERIC_HWEIGHT=y 45CONFIG_GENERIC_HWEIGHT=y
41CONFIG_GENERIC_CALIBRATE_DELAY=y
42CONFIG_GENERIC_FIND_NEXT_BIT=y 46CONFIG_GENERIC_FIND_NEXT_BIT=y
43# CONFIG_ARCH_NO_VIRT_TO_BUS is not set 47# CONFIG_ARCH_NO_VIRT_TO_BUS is not set
44CONFIG_PPC=y 48CONFIG_PPC=y
@@ -52,11 +56,15 @@ CONFIG_PPC_UDBG_16550=y
52# CONFIG_GENERIC_TBSYNC is not set 56# CONFIG_GENERIC_TBSYNC is not set
53CONFIG_AUDIT_ARCH=y 57CONFIG_AUDIT_ARCH=y
54CONFIG_GENERIC_BUG=y 58CONFIG_GENERIC_BUG=y
59CONFIG_DTC=y
55# CONFIG_DEFAULT_UIMAGE is not set 60# CONFIG_DEFAULT_UIMAGE is not set
61CONFIG_ARCH_HIBERNATION_POSSIBLE=y
56CONFIG_PPC_DCR_NATIVE=y 62CONFIG_PPC_DCR_NATIVE=y
57# CONFIG_PPC_DCR_MMIO is not set 63# CONFIG_PPC_DCR_MMIO is not set
58CONFIG_PPC_DCR=y 64CONFIG_PPC_DCR=y
65CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
59CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 66CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
67CONFIG_CONSTRUCTORS=y
60 68
61# 69#
62# General setup 70# General setup
@@ -70,21 +78,37 @@ CONFIG_SWAP=y
70CONFIG_SYSVIPC=y 78CONFIG_SYSVIPC=y
71CONFIG_SYSVIPC_SYSCTL=y 79CONFIG_SYSVIPC_SYSCTL=y
72CONFIG_POSIX_MQUEUE=y 80CONFIG_POSIX_MQUEUE=y
81CONFIG_POSIX_MQUEUE_SYSCTL=y
73# CONFIG_BSD_PROCESS_ACCT is not set 82# CONFIG_BSD_PROCESS_ACCT is not set
74# CONFIG_TASKSTATS is not set 83# CONFIG_TASKSTATS is not set
75# CONFIG_AUDIT is not set 84# CONFIG_AUDIT is not set
85
86#
87# RCU Subsystem
88#
89CONFIG_TREE_RCU=y
90# CONFIG_TREE_PREEMPT_RCU is not set
91# CONFIG_TINY_RCU is not set
92# CONFIG_RCU_TRACE is not set
93CONFIG_RCU_FANOUT=32
94# CONFIG_RCU_FANOUT_EXACT is not set
95# CONFIG_TREE_RCU_TRACE is not set
76# CONFIG_IKCONFIG is not set 96# CONFIG_IKCONFIG is not set
77CONFIG_LOG_BUF_SHIFT=14 97CONFIG_LOG_BUF_SHIFT=14
78# CONFIG_GROUP_SCHED is not set 98# CONFIG_GROUP_SCHED is not set
79# CONFIG_CGROUPS is not set 99# CONFIG_CGROUPS is not set
80CONFIG_SYSFS_DEPRECATED=y 100# CONFIG_SYSFS_DEPRECATED_V2 is not set
81CONFIG_SYSFS_DEPRECATED_V2=y
82# CONFIG_RELAY is not set 101# CONFIG_RELAY is not set
83# CONFIG_NAMESPACES is not set 102# CONFIG_NAMESPACES is not set
84CONFIG_BLK_DEV_INITRD=y 103CONFIG_BLK_DEV_INITRD=y
85CONFIG_INITRAMFS_SOURCE="" 104CONFIG_INITRAMFS_SOURCE=""
105CONFIG_RD_GZIP=y
106# CONFIG_RD_BZIP2 is not set
107# CONFIG_RD_LZMA is not set
108# CONFIG_RD_LZO is not set
86# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 109# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
87CONFIG_SYSCTL=y 110CONFIG_SYSCTL=y
111CONFIG_ANON_INODES=y
88CONFIG_EMBEDDED=y 112CONFIG_EMBEDDED=y
89CONFIG_SYSCTL_SYSCALL=y 113CONFIG_SYSCTL_SYSCALL=y
90CONFIG_KALLSYMS=y 114CONFIG_KALLSYMS=y
@@ -94,19 +118,25 @@ CONFIG_HOTPLUG=y
94CONFIG_PRINTK=y 118CONFIG_PRINTK=y
95CONFIG_BUG=y 119CONFIG_BUG=y
96CONFIG_ELF_CORE=y 120CONFIG_ELF_CORE=y
97CONFIG_COMPAT_BRK=y
98CONFIG_BASE_FULL=y 121CONFIG_BASE_FULL=y
99CONFIG_FUTEX=y 122CONFIG_FUTEX=y
100CONFIG_ANON_INODES=y
101CONFIG_EPOLL=y 123CONFIG_EPOLL=y
102CONFIG_SIGNALFD=y 124CONFIG_SIGNALFD=y
103CONFIG_TIMERFD=y 125CONFIG_TIMERFD=y
104CONFIG_EVENTFD=y 126CONFIG_EVENTFD=y
105CONFIG_SHMEM=y 127CONFIG_SHMEM=y
106CONFIG_AIO=y 128CONFIG_AIO=y
129CONFIG_HAVE_PERF_EVENTS=y
130
131#
132# Kernel Performance Events And Counters
133#
134# CONFIG_PERF_EVENTS is not set
135# CONFIG_PERF_COUNTERS is not set
107CONFIG_VM_EVENT_COUNTERS=y 136CONFIG_VM_EVENT_COUNTERS=y
108CONFIG_PCI_QUIRKS=y 137CONFIG_PCI_QUIRKS=y
109CONFIG_SLUB_DEBUG=y 138CONFIG_SLUB_DEBUG=y
139CONFIG_COMPAT_BRK=y
110# CONFIG_SLAB is not set 140# CONFIG_SLAB is not set
111CONFIG_SLUB=y 141CONFIG_SLUB=y
112# CONFIG_SLOB is not set 142# CONFIG_SLOB is not set
@@ -118,6 +148,13 @@ CONFIG_HAVE_IOREMAP_PROT=y
118CONFIG_HAVE_KPROBES=y 148CONFIG_HAVE_KPROBES=y
119CONFIG_HAVE_KRETPROBES=y 149CONFIG_HAVE_KRETPROBES=y
120CONFIG_HAVE_ARCH_TRACEHOOK=y 150CONFIG_HAVE_ARCH_TRACEHOOK=y
151CONFIG_HAVE_DMA_ATTRS=y
152CONFIG_HAVE_DMA_API_DEBUG=y
153
154#
155# GCOV-based kernel profiling
156#
157# CONFIG_SLOW_WORK is not set
121# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 158# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
122CONFIG_SLABINFO=y 159CONFIG_SLABINFO=y
123CONFIG_RT_MUTEXES=y 160CONFIG_RT_MUTEXES=y
@@ -129,8 +166,7 @@ CONFIG_MODULE_UNLOAD=y
129# CONFIG_MODVERSIONS is not set 166# CONFIG_MODVERSIONS is not set
130# CONFIG_MODULE_SRCVERSION_ALL is not set 167# CONFIG_MODULE_SRCVERSION_ALL is not set
131CONFIG_BLOCK=y 168CONFIG_BLOCK=y
132CONFIG_LBD=y 169CONFIG_LBDAF=y
133# CONFIG_BLK_DEV_IO_TRACE is not set
134# CONFIG_BLK_DEV_BSG is not set 170# CONFIG_BLK_DEV_BSG is not set
135# CONFIG_BLK_DEV_INTEGRITY is not set 171# CONFIG_BLK_DEV_INTEGRITY is not set
136 172
@@ -138,19 +174,41 @@ CONFIG_LBD=y
138# IO Schedulers 174# IO Schedulers
139# 175#
140CONFIG_IOSCHED_NOOP=y 176CONFIG_IOSCHED_NOOP=y
141CONFIG_IOSCHED_AS=y
142CONFIG_IOSCHED_DEADLINE=y 177CONFIG_IOSCHED_DEADLINE=y
143CONFIG_IOSCHED_CFQ=y 178CONFIG_IOSCHED_CFQ=y
144CONFIG_DEFAULT_AS=y
145# CONFIG_DEFAULT_DEADLINE is not set 179# CONFIG_DEFAULT_DEADLINE is not set
146# CONFIG_DEFAULT_CFQ is not set 180CONFIG_DEFAULT_CFQ=y
147# CONFIG_DEFAULT_NOOP is not set 181# CONFIG_DEFAULT_NOOP is not set
148CONFIG_DEFAULT_IOSCHED="anticipatory" 182CONFIG_DEFAULT_IOSCHED="cfq"
149CONFIG_CLASSIC_RCU=y 183# CONFIG_INLINE_SPIN_TRYLOCK is not set
150# CONFIG_TREE_RCU is not set 184# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
151# CONFIG_PREEMPT_RCU is not set 185# CONFIG_INLINE_SPIN_LOCK is not set
152# CONFIG_TREE_RCU_TRACE is not set 186# CONFIG_INLINE_SPIN_LOCK_BH is not set
153# CONFIG_PREEMPT_RCU_TRACE is not set 187# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
188# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
189CONFIG_INLINE_SPIN_UNLOCK=y
190# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
191CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
192# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
193# CONFIG_INLINE_READ_TRYLOCK is not set
194# CONFIG_INLINE_READ_LOCK is not set
195# CONFIG_INLINE_READ_LOCK_BH is not set
196# CONFIG_INLINE_READ_LOCK_IRQ is not set
197# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
198CONFIG_INLINE_READ_UNLOCK=y
199# CONFIG_INLINE_READ_UNLOCK_BH is not set
200CONFIG_INLINE_READ_UNLOCK_IRQ=y
201# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
202# CONFIG_INLINE_WRITE_TRYLOCK is not set
203# CONFIG_INLINE_WRITE_LOCK is not set
204# CONFIG_INLINE_WRITE_LOCK_BH is not set
205# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
206# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
207CONFIG_INLINE_WRITE_UNLOCK=y
208# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
209CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
210# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
211# CONFIG_MUTEX_SPIN_ON_OWNER is not set
154# CONFIG_FREEZER is not set 212# CONFIG_FREEZER is not set
155CONFIG_PPC4xx_PCI_EXPRESS=y 213CONFIG_PPC4xx_PCI_EXPRESS=y
156 214
@@ -171,6 +229,8 @@ CONFIG_KATMAI=y
171# CONFIG_ARCHES is not set 229# CONFIG_ARCHES is not set
172# CONFIG_CANYONLANDS is not set 230# CONFIG_CANYONLANDS is not set
173# CONFIG_GLACIER is not set 231# CONFIG_GLACIER is not set
232# CONFIG_REDWOOD is not set
233# CONFIG_EIGER is not set
174# CONFIG_YOSEMITE is not set 234# CONFIG_YOSEMITE is not set
175# CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set 235# CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set
176CONFIG_PPC44x_SIMPLE=y 236CONFIG_PPC44x_SIMPLE=y
@@ -212,10 +272,12 @@ CONFIG_BINFMT_ELF=y
212# CONFIG_BINFMT_MISC is not set 272# CONFIG_BINFMT_MISC is not set
213# CONFIG_MATH_EMULATION is not set 273# CONFIG_MATH_EMULATION is not set
214# CONFIG_IOMMU_HELPER is not set 274# CONFIG_IOMMU_HELPER is not set
215CONFIG_PPC_NEED_DMA_SYNC_OPS=y 275# CONFIG_SWIOTLB is not set
216CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 276CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
217CONFIG_ARCH_HAS_WALK_MEMORY=y 277CONFIG_ARCH_HAS_WALK_MEMORY=y
218CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 278CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
279CONFIG_SPARSE_IRQ=y
280CONFIG_MAX_ACTIVE_REGIONS=32
219CONFIG_ARCH_FLATMEM_ENABLE=y 281CONFIG_ARCH_FLATMEM_ENABLE=y
220CONFIG_ARCH_POPULATES_NODE_MAP=y 282CONFIG_ARCH_POPULATES_NODE_MAP=y
221CONFIG_SELECT_MEMORY_MODEL=y 283CONFIG_SELECT_MEMORY_MODEL=y
@@ -231,10 +293,13 @@ CONFIG_PHYS_ADDR_T_64BIT=y
231CONFIG_ZONE_DMA_FLAG=1 293CONFIG_ZONE_DMA_FLAG=1
232CONFIG_BOUNCE=y 294CONFIG_BOUNCE=y
233CONFIG_VIRT_TO_BUS=y 295CONFIG_VIRT_TO_BUS=y
234CONFIG_UNEVICTABLE_LRU=y 296# CONFIG_KSM is not set
297CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
298CONFIG_STDBINUTILS=y
235CONFIG_PPC_4K_PAGES=y 299CONFIG_PPC_4K_PAGES=y
236# CONFIG_PPC_16K_PAGES is not set 300# CONFIG_PPC_16K_PAGES is not set
237# CONFIG_PPC_64K_PAGES is not set 301# CONFIG_PPC_64K_PAGES is not set
302# CONFIG_PPC_256K_PAGES is not set
238CONFIG_FORCE_MAX_ZONEORDER=11 303CONFIG_FORCE_MAX_ZONEORDER=11
239CONFIG_PROC_DEVICETREE=y 304CONFIG_PROC_DEVICETREE=y
240CONFIG_CMDLINE_BOOL=y 305CONFIG_CMDLINE_BOOL=y
@@ -259,6 +324,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
259# CONFIG_PCI_LEGACY is not set 324# CONFIG_PCI_LEGACY is not set
260# CONFIG_PCI_DEBUG is not set 325# CONFIG_PCI_DEBUG is not set
261# CONFIG_PCI_STUB is not set 326# CONFIG_PCI_STUB is not set
327# CONFIG_PCI_IOV is not set
262# CONFIG_PCCARD is not set 328# CONFIG_PCCARD is not set
263# CONFIG_HOTPLUG_PCI is not set 329# CONFIG_HOTPLUG_PCI is not set
264# CONFIG_HAS_RAPIDIO is not set 330# CONFIG_HAS_RAPIDIO is not set
@@ -276,14 +342,12 @@ CONFIG_PAGE_OFFSET=0xc0000000
276CONFIG_KERNEL_START=0xc0000000 342CONFIG_KERNEL_START=0xc0000000
277CONFIG_PHYSICAL_START=0x00000000 343CONFIG_PHYSICAL_START=0x00000000
278CONFIG_TASK_SIZE=0xc0000000 344CONFIG_TASK_SIZE=0xc0000000
279CONFIG_CONSISTENT_START=0xff100000
280CONFIG_CONSISTENT_SIZE=0x00200000 345CONFIG_CONSISTENT_SIZE=0x00200000
281CONFIG_NET=y 346CONFIG_NET=y
282 347
283# 348#
284# Networking options 349# Networking options
285# 350#
286CONFIG_COMPAT_NET_DEV_OPS=y
287CONFIG_PACKET=y 351CONFIG_PACKET=y
288# CONFIG_PACKET_MMAP is not set 352# CONFIG_PACKET_MMAP is not set
289CONFIG_UNIX=y 353CONFIG_UNIX=y
@@ -320,6 +384,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
320# CONFIG_NETFILTER is not set 384# CONFIG_NETFILTER is not set
321# CONFIG_IP_DCCP is not set 385# CONFIG_IP_DCCP is not set
322# CONFIG_IP_SCTP is not set 386# CONFIG_IP_SCTP is not set
387# CONFIG_RDS is not set
323# CONFIG_TIPC is not set 388# CONFIG_TIPC is not set
324# CONFIG_ATM is not set 389# CONFIG_ATM is not set
325# CONFIG_BRIDGE is not set 390# CONFIG_BRIDGE is not set
@@ -333,6 +398,8 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
333# CONFIG_LAPB is not set 398# CONFIG_LAPB is not set
334# CONFIG_ECONET is not set 399# CONFIG_ECONET is not set
335# CONFIG_WAN_ROUTER is not set 400# CONFIG_WAN_ROUTER is not set
401# CONFIG_PHONET is not set
402# CONFIG_IEEE802154 is not set
336# CONFIG_NET_SCHED is not set 403# CONFIG_NET_SCHED is not set
337# CONFIG_DCB is not set 404# CONFIG_DCB is not set
338 405
@@ -345,8 +412,13 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
345# CONFIG_IRDA is not set 412# CONFIG_IRDA is not set
346# CONFIG_BT is not set 413# CONFIG_BT is not set
347# CONFIG_AF_RXRPC is not set 414# CONFIG_AF_RXRPC is not set
348# CONFIG_PHONET is not set 415CONFIG_WIRELESS=y
349# CONFIG_WIRELESS is not set 416# CONFIG_CFG80211 is not set
417# CONFIG_LIB80211 is not set
418
419#
420# CFG80211 needs to be enabled for MAC80211
421#
350# CONFIG_WIMAX is not set 422# CONFIG_WIMAX is not set
351# CONFIG_RFKILL is not set 423# CONFIG_RFKILL is not set
352# CONFIG_NET_9P is not set 424# CONFIG_NET_9P is not set
@@ -359,6 +431,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
359# Generic Driver Options 431# Generic Driver Options
360# 432#
361CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 433CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
434# CONFIG_DEVTMPFS is not set
362CONFIG_STANDALONE=y 435CONFIG_STANDALONE=y
363CONFIG_PREVENT_FIRMWARE_BUILD=y 436CONFIG_PREVENT_FIRMWARE_BUILD=y
364CONFIG_FW_LOADER=y 437CONFIG_FW_LOADER=y
@@ -369,7 +442,90 @@ CONFIG_EXTRA_FIRMWARE=""
369# CONFIG_SYS_HYPERVISOR is not set 442# CONFIG_SYS_HYPERVISOR is not set
370CONFIG_CONNECTOR=y 443CONFIG_CONNECTOR=y
371CONFIG_PROC_EVENTS=y 444CONFIG_PROC_EVENTS=y
372# CONFIG_MTD is not set 445CONFIG_MTD=y
446# CONFIG_MTD_DEBUG is not set
447# CONFIG_MTD_TESTS is not set
448# CONFIG_MTD_CONCAT is not set
449CONFIG_MTD_PARTITIONS=y
450# CONFIG_MTD_REDBOOT_PARTS is not set
451CONFIG_MTD_CMDLINE_PARTS=y
452CONFIG_MTD_OF_PARTS=y
453# CONFIG_MTD_AR7_PARTS is not set
454
455#
456# User Modules And Translation Layers
457#
458CONFIG_MTD_CHAR=y
459CONFIG_MTD_BLKDEVS=y
460CONFIG_MTD_BLOCK=y
461# CONFIG_FTL is not set
462# CONFIG_NFTL is not set
463# CONFIG_INFTL is not set
464# CONFIG_RFD_FTL is not set
465# CONFIG_SSFDC is not set
466# CONFIG_MTD_OOPS is not set
467
468#
469# RAM/ROM/Flash chip drivers
470#
471CONFIG_MTD_CFI=y
472# CONFIG_MTD_JEDECPROBE is not set
473CONFIG_MTD_GEN_PROBE=y
474# CONFIG_MTD_CFI_ADV_OPTIONS is not set
475CONFIG_MTD_MAP_BANK_WIDTH_1=y
476CONFIG_MTD_MAP_BANK_WIDTH_2=y
477CONFIG_MTD_MAP_BANK_WIDTH_4=y
478# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
479# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
480# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
481CONFIG_MTD_CFI_I1=y
482CONFIG_MTD_CFI_I2=y
483# CONFIG_MTD_CFI_I4 is not set
484# CONFIG_MTD_CFI_I8 is not set
485# CONFIG_MTD_CFI_INTELEXT is not set
486CONFIG_MTD_CFI_AMDSTD=y
487# CONFIG_MTD_CFI_STAA is not set
488CONFIG_MTD_CFI_UTIL=y
489# CONFIG_MTD_RAM is not set
490# CONFIG_MTD_ROM is not set
491# CONFIG_MTD_ABSENT is not set
492
493#
494# Mapping drivers for chip access
495#
496# CONFIG_MTD_COMPLEX_MAPPINGS is not set
497# CONFIG_MTD_PHYSMAP is not set
498CONFIG_MTD_PHYSMAP_OF=y
499# CONFIG_MTD_INTEL_VR_NOR is not set
500# CONFIG_MTD_PLATRAM is not set
501
502#
503# Self-contained MTD device drivers
504#
505# CONFIG_MTD_PMC551 is not set
506# CONFIG_MTD_SLRAM is not set
507# CONFIG_MTD_PHRAM is not set
508# CONFIG_MTD_MTDRAM is not set
509# CONFIG_MTD_BLOCK2MTD is not set
510
511#
512# Disk-On-Chip Device Drivers
513#
514# CONFIG_MTD_DOC2000 is not set
515# CONFIG_MTD_DOC2001 is not set
516# CONFIG_MTD_DOC2001PLUS is not set
517# CONFIG_MTD_NAND is not set
518# CONFIG_MTD_ONENAND is not set
519
520#
521# LPDDR flash memory drivers
522#
523# CONFIG_MTD_LPDDR is not set
524
525#
526# UBI - Unsorted block images
527#
528# CONFIG_MTD_UBI is not set
373CONFIG_OF_DEVICE=y 529CONFIG_OF_DEVICE=y
374# CONFIG_PARPORT is not set 530# CONFIG_PARPORT is not set
375CONFIG_BLK_DEV=y 531CONFIG_BLK_DEV=y
@@ -380,6 +536,7 @@ CONFIG_BLK_DEV=y
380# CONFIG_BLK_DEV_UMEM is not set 536# CONFIG_BLK_DEV_UMEM is not set
381# CONFIG_BLK_DEV_COW_COMMON is not set 537# CONFIG_BLK_DEV_COW_COMMON is not set
382# CONFIG_BLK_DEV_LOOP is not set 538# CONFIG_BLK_DEV_LOOP is not set
539# CONFIG_BLK_DEV_DRBD is not set
383# CONFIG_BLK_DEV_NBD is not set 540# CONFIG_BLK_DEV_NBD is not set
384# CONFIG_BLK_DEV_SX8 is not set 541# CONFIG_BLK_DEV_SX8 is not set
385CONFIG_BLK_DEV_RAM=y 542CONFIG_BLK_DEV_RAM=y
@@ -392,12 +549,17 @@ CONFIG_BLK_DEV_RAM_SIZE=35000
392# CONFIG_BLK_DEV_HD is not set 549# CONFIG_BLK_DEV_HD is not set
393CONFIG_MISC_DEVICES=y 550CONFIG_MISC_DEVICES=y
394# CONFIG_PHANTOM is not set 551# CONFIG_PHANTOM is not set
395# CONFIG_EEPROM_93CX6 is not set
396# CONFIG_SGI_IOC4 is not set 552# CONFIG_SGI_IOC4 is not set
397# CONFIG_TIFM_CORE is not set 553# CONFIG_TIFM_CORE is not set
398# CONFIG_ENCLOSURE_SERVICES is not set 554# CONFIG_ENCLOSURE_SERVICES is not set
399# CONFIG_HP_ILO is not set 555# CONFIG_HP_ILO is not set
400# CONFIG_C2PORT is not set 556# CONFIG_C2PORT is not set
557
558#
559# EEPROM support
560#
561# CONFIG_EEPROM_93CX6 is not set
562# CONFIG_CB710_CORE is not set
401CONFIG_HAVE_IDE=y 563CONFIG_HAVE_IDE=y
402# CONFIG_IDE is not set 564# CONFIG_IDE is not set
403 565
@@ -417,7 +579,11 @@ CONFIG_HAVE_IDE=y
417# 579#
418 580
419# 581#
420# Enable only one of the two stacks, unless you know what you are doing 582# You can enable one or both FireWire driver stacks.
583#
584
585#
586# The newer stack is recommended.
421# 587#
422# CONFIG_FIREWIRE is not set 588# CONFIG_FIREWIRE is not set
423# CONFIG_IEEE1394 is not set 589# CONFIG_IEEE1394 is not set
@@ -440,6 +606,8 @@ CONFIG_NET_ETHERNET=y
440# CONFIG_SUNGEM is not set 606# CONFIG_SUNGEM is not set
441# CONFIG_CASSINI is not set 607# CONFIG_CASSINI is not set
442# CONFIG_NET_VENDOR_3COM is not set 608# CONFIG_NET_VENDOR_3COM is not set
609# CONFIG_ETHOC is not set
610# CONFIG_DNET is not set
443# CONFIG_NET_TULIP is not set 611# CONFIG_NET_TULIP is not set
444# CONFIG_HP100 is not set 612# CONFIG_HP100 is not set
445CONFIG_IBM_NEW_EMAC=y 613CONFIG_IBM_NEW_EMAC=y
@@ -458,7 +626,10 @@ CONFIG_IBM_NEW_EMAC_EMAC4=y
458# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set 626# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
459# CONFIG_NET_PCI is not set 627# CONFIG_NET_PCI is not set
460# CONFIG_B44 is not set 628# CONFIG_B44 is not set
629# CONFIG_KS8842 is not set
630# CONFIG_KS8851_MLL is not set
461# CONFIG_ATL2 is not set 631# CONFIG_ATL2 is not set
632# CONFIG_XILINX_EMACLITE is not set
462CONFIG_NETDEV_1000=y 633CONFIG_NETDEV_1000=y
463# CONFIG_ACENIC is not set 634# CONFIG_ACENIC is not set
464# CONFIG_DL2K is not set 635# CONFIG_DL2K is not set
@@ -466,6 +637,7 @@ CONFIG_NETDEV_1000=y
466# CONFIG_E1000E is not set 637# CONFIG_E1000E is not set
467# CONFIG_IP1000 is not set 638# CONFIG_IP1000 is not set
468# CONFIG_IGB is not set 639# CONFIG_IGB is not set
640# CONFIG_IGBVF is not set
469# CONFIG_NS83820 is not set 641# CONFIG_NS83820 is not set
470# CONFIG_HAMACHI is not set 642# CONFIG_HAMACHI is not set
471# CONFIG_YELLOWFIN is not set 643# CONFIG_YELLOWFIN is not set
@@ -476,9 +648,13 @@ CONFIG_NETDEV_1000=y
476# CONFIG_VIA_VELOCITY is not set 648# CONFIG_VIA_VELOCITY is not set
477# CONFIG_TIGON3 is not set 649# CONFIG_TIGON3 is not set
478# CONFIG_BNX2 is not set 650# CONFIG_BNX2 is not set
651# CONFIG_CNIC is not set
652# CONFIG_MV643XX_ETH is not set
653# CONFIG_XILINX_LL_TEMAC is not set
479# CONFIG_QLA3XXX is not set 654# CONFIG_QLA3XXX is not set
480# CONFIG_ATL1 is not set 655# CONFIG_ATL1 is not set
481# CONFIG_ATL1E is not set 656# CONFIG_ATL1E is not set
657# CONFIG_ATL1C is not set
482# CONFIG_JME is not set 658# CONFIG_JME is not set
483CONFIG_NETDEV_10000=y 659CONFIG_NETDEV_10000=y
484# CONFIG_CHELSIO_T1 is not set 660# CONFIG_CHELSIO_T1 is not set
@@ -488,6 +664,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
488# CONFIG_IXGBE is not set 664# CONFIG_IXGBE is not set
489# CONFIG_IXGB is not set 665# CONFIG_IXGB is not set
490# CONFIG_S2IO is not set 666# CONFIG_S2IO is not set
667# CONFIG_VXGE is not set
491# CONFIG_MYRI10GE is not set 668# CONFIG_MYRI10GE is not set
492# CONFIG_NETXEN_NIC is not set 669# CONFIG_NETXEN_NIC is not set
493# CONFIG_NIU is not set 670# CONFIG_NIU is not set
@@ -497,14 +674,13 @@ CONFIG_CHELSIO_T3_DEPENDS=y
497# CONFIG_BNX2X is not set 674# CONFIG_BNX2X is not set
498# CONFIG_QLGE is not set 675# CONFIG_QLGE is not set
499# CONFIG_SFC is not set 676# CONFIG_SFC is not set
677# CONFIG_BE2NET is not set
500# CONFIG_TR is not set 678# CONFIG_TR is not set
501 679CONFIG_WLAN=y
502# 680# CONFIG_AIRO is not set
503# Wireless LAN 681# CONFIG_ATMEL is not set
504# 682# CONFIG_PRISM54 is not set
505# CONFIG_WLAN_PRE80211 is not set 683# CONFIG_HOSTAP is not set
506# CONFIG_WLAN_80211 is not set
507# CONFIG_IWLWIFI_LEDS is not set
508 684
509# 685#
510# Enable WiMAX (Networking options) to see the WiMAX drivers 686# Enable WiMAX (Networking options) to see the WiMAX drivers
@@ -517,6 +693,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
517# CONFIG_NETCONSOLE is not set 693# CONFIG_NETCONSOLE is not set
518# CONFIG_NETPOLL is not set 694# CONFIG_NETPOLL is not set
519# CONFIG_NET_POLL_CONTROLLER is not set 695# CONFIG_NET_POLL_CONTROLLER is not set
696# CONFIG_VMXNET3 is not set
520# CONFIG_ISDN is not set 697# CONFIG_ISDN is not set
521# CONFIG_PHONE is not set 698# CONFIG_PHONE is not set
522 699
@@ -562,6 +739,7 @@ CONFIG_SERIAL_CORE_CONSOLE=y
562# CONFIG_SERIAL_JSM is not set 739# CONFIG_SERIAL_JSM is not set
563CONFIG_SERIAL_OF_PLATFORM=y 740CONFIG_SERIAL_OF_PLATFORM=y
564# CONFIG_SERIAL_OF_PLATFORM_NWPSERIAL is not set 741# CONFIG_SERIAL_OF_PLATFORM_NWPSERIAL is not set
742# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set
565CONFIG_UNIX98_PTYS=y 743CONFIG_UNIX98_PTYS=y
566# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set 744# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
567CONFIG_LEGACY_PTYS=y 745CONFIG_LEGACY_PTYS=y
@@ -578,13 +756,17 @@ CONFIG_LEGACY_PTY_COUNT=256
578CONFIG_DEVPORT=y 756CONFIG_DEVPORT=y
579# CONFIG_I2C is not set 757# CONFIG_I2C is not set
580# CONFIG_SPI is not set 758# CONFIG_SPI is not set
759
760#
761# PPS support
762#
763# CONFIG_PPS is not set
581CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y 764CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
582# CONFIG_GPIOLIB is not set 765# CONFIG_GPIOLIB is not set
583# CONFIG_W1 is not set 766# CONFIG_W1 is not set
584# CONFIG_POWER_SUPPLY is not set 767# CONFIG_POWER_SUPPLY is not set
585# CONFIG_HWMON is not set 768# CONFIG_HWMON is not set
586# CONFIG_THERMAL is not set 769# CONFIG_THERMAL is not set
587# CONFIG_THERMAL_HWMON is not set
588# CONFIG_WATCHDOG is not set 770# CONFIG_WATCHDOG is not set
589CONFIG_SSB_POSSIBLE=y 771CONFIG_SSB_POSSIBLE=y
590 772
@@ -601,27 +783,13 @@ CONFIG_SSB_POSSIBLE=y
601# CONFIG_HTC_PASIC3 is not set 783# CONFIG_HTC_PASIC3 is not set
602# CONFIG_MFD_TMIO is not set 784# CONFIG_MFD_TMIO is not set
603# CONFIG_REGULATOR is not set 785# CONFIG_REGULATOR is not set
604 786# CONFIG_MEDIA_SUPPORT is not set
605#
606# Multimedia devices
607#
608
609#
610# Multimedia core support
611#
612# CONFIG_VIDEO_DEV is not set
613# CONFIG_DVB_CORE is not set
614# CONFIG_VIDEO_MEDIA is not set
615
616#
617# Multimedia drivers
618#
619CONFIG_DAB=y
620 787
621# 788#
622# Graphics support 789# Graphics support
623# 790#
624# CONFIG_AGP is not set 791# CONFIG_AGP is not set
792CONFIG_VGA_ARB=y
625# CONFIG_DRM is not set 793# CONFIG_DRM is not set
626# CONFIG_VGASTATE is not set 794# CONFIG_VGASTATE is not set
627CONFIG_VIDEO_OUTPUT_CONTROL=m 795CONFIG_VIDEO_OUTPUT_CONTROL=m
@@ -646,7 +814,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
646# 814#
647 815
648# 816#
649# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; 817# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
650# 818#
651# CONFIG_USB_GADGET is not set 819# CONFIG_USB_GADGET is not set
652 820
@@ -662,7 +830,12 @@ CONFIG_USB_ARCH_HAS_EHCI=y
662# CONFIG_EDAC is not set 830# CONFIG_EDAC is not set
663# CONFIG_RTC_CLASS is not set 831# CONFIG_RTC_CLASS is not set
664# CONFIG_DMADEVICES is not set 832# CONFIG_DMADEVICES is not set
833# CONFIG_AUXDISPLAY is not set
665# CONFIG_UIO is not set 834# CONFIG_UIO is not set
835
836#
837# TI VLYNQ
838#
666# CONFIG_STAGING is not set 839# CONFIG_STAGING is not set
667 840
668# 841#
@@ -676,11 +849,13 @@ CONFIG_EXT2_FS=y
676# CONFIG_REISERFS_FS is not set 849# CONFIG_REISERFS_FS is not set
677# CONFIG_JFS_FS is not set 850# CONFIG_JFS_FS is not set
678# CONFIG_FS_POSIX_ACL is not set 851# CONFIG_FS_POSIX_ACL is not set
679CONFIG_FILE_LOCKING=y
680# CONFIG_XFS_FS is not set 852# CONFIG_XFS_FS is not set
681# CONFIG_GFS2_FS is not set 853# CONFIG_GFS2_FS is not set
682# CONFIG_OCFS2_FS is not set 854# CONFIG_OCFS2_FS is not set
683# CONFIG_BTRFS_FS is not set 855# CONFIG_BTRFS_FS is not set
856# CONFIG_NILFS2_FS is not set
857CONFIG_FILE_LOCKING=y
858CONFIG_FSNOTIFY=y
684CONFIG_DNOTIFY=y 859CONFIG_DNOTIFY=y
685CONFIG_INOTIFY=y 860CONFIG_INOTIFY=y
686CONFIG_INOTIFY_USER=y 861CONFIG_INOTIFY_USER=y
@@ -690,6 +865,11 @@ CONFIG_INOTIFY_USER=y
690# CONFIG_FUSE_FS is not set 865# CONFIG_FUSE_FS is not set
691 866
692# 867#
868# Caches
869#
870# CONFIG_FSCACHE is not set
871
872#
693# CD-ROM/DVD Filesystems 873# CD-ROM/DVD Filesystems
694# 874#
695# CONFIG_ISO9660_FS is not set 875# CONFIG_ISO9660_FS is not set
@@ -722,6 +902,7 @@ CONFIG_MISC_FILESYSTEMS=y
722# CONFIG_BEFS_FS is not set 902# CONFIG_BEFS_FS is not set
723# CONFIG_BFS_FS is not set 903# CONFIG_BFS_FS is not set
724# CONFIG_EFS_FS is not set 904# CONFIG_EFS_FS is not set
905# CONFIG_JFFS2_FS is not set
725CONFIG_CRAMFS=y 906CONFIG_CRAMFS=y
726# CONFIG_SQUASHFS is not set 907# CONFIG_SQUASHFS is not set
727# CONFIG_VXFS_FS is not set 908# CONFIG_VXFS_FS is not set
@@ -743,7 +924,6 @@ CONFIG_LOCKD=y
743CONFIG_LOCKD_V4=y 924CONFIG_LOCKD_V4=y
744CONFIG_NFS_COMMON=y 925CONFIG_NFS_COMMON=y
745CONFIG_SUNRPC=y 926CONFIG_SUNRPC=y
746# CONFIG_SUNRPC_REGISTER_V4 is not set
747# CONFIG_RPCSEC_GSS_KRB5 is not set 927# CONFIG_RPCSEC_GSS_KRB5 is not set
748# CONFIG_RPCSEC_GSS_SPKM3 is not set 928# CONFIG_RPCSEC_GSS_SPKM3 is not set
749# CONFIG_SMB_FS is not set 929# CONFIG_SMB_FS is not set
@@ -759,6 +939,7 @@ CONFIG_SUNRPC=y
759CONFIG_MSDOS_PARTITION=y 939CONFIG_MSDOS_PARTITION=y
760# CONFIG_NLS is not set 940# CONFIG_NLS is not set
761# CONFIG_DLM is not set 941# CONFIG_DLM is not set
942# CONFIG_BINARY_PRINTF is not set
762 943
763# 944#
764# Library routines 945# Library routines
@@ -773,11 +954,13 @@ CONFIG_CRC32=y
773# CONFIG_CRC7 is not set 954# CONFIG_CRC7 is not set
774# CONFIG_LIBCRC32C is not set 955# CONFIG_LIBCRC32C is not set
775CONFIG_ZLIB_INFLATE=y 956CONFIG_ZLIB_INFLATE=y
776CONFIG_PLIST=y 957CONFIG_DECOMPRESS_GZIP=y
777CONFIG_HAS_IOMEM=y 958CONFIG_HAS_IOMEM=y
778CONFIG_HAS_IOPORT=y 959CONFIG_HAS_IOPORT=y
779CONFIG_HAS_DMA=y 960CONFIG_HAS_DMA=y
780CONFIG_HAVE_LMB=y 961CONFIG_HAVE_LMB=y
962CONFIG_NLATTR=y
963CONFIG_GENERIC_ATOMIC64=y
781 964
782# 965#
783# Kernel hacking 966# Kernel hacking
@@ -787,6 +970,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
787CONFIG_ENABLE_MUST_CHECK=y 970CONFIG_ENABLE_MUST_CHECK=y
788CONFIG_FRAME_WARN=1024 971CONFIG_FRAME_WARN=1024
789CONFIG_MAGIC_SYSRQ=y 972CONFIG_MAGIC_SYSRQ=y
973# CONFIG_STRIP_ASM_SYMS is not set
790# CONFIG_UNUSED_SYMBOLS is not set 974# CONFIG_UNUSED_SYMBOLS is not set
791# CONFIG_DEBUG_FS is not set 975# CONFIG_DEBUG_FS is not set
792# CONFIG_HEADERS_CHECK is not set 976# CONFIG_HEADERS_CHECK is not set
@@ -795,16 +979,23 @@ CONFIG_DEBUG_KERNEL=y
795CONFIG_DETECT_SOFTLOCKUP=y 979CONFIG_DETECT_SOFTLOCKUP=y
796# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set 980# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
797CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 981CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
982CONFIG_DETECT_HUNG_TASK=y
983# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
984CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
798CONFIG_SCHED_DEBUG=y 985CONFIG_SCHED_DEBUG=y
799# CONFIG_SCHEDSTATS is not set 986# CONFIG_SCHEDSTATS is not set
800# CONFIG_TIMER_STATS is not set 987# CONFIG_TIMER_STATS is not set
801# CONFIG_DEBUG_OBJECTS is not set 988# CONFIG_DEBUG_OBJECTS is not set
802# CONFIG_SLUB_DEBUG_ON is not set 989# CONFIG_SLUB_DEBUG_ON is not set
803# CONFIG_SLUB_STATS is not set 990# CONFIG_SLUB_STATS is not set
991# CONFIG_DEBUG_KMEMLEAK is not set
804# CONFIG_DEBUG_RT_MUTEXES is not set 992# CONFIG_DEBUG_RT_MUTEXES is not set
805# CONFIG_RT_MUTEX_TESTER is not set 993# CONFIG_RT_MUTEX_TESTER is not set
806# CONFIG_DEBUG_SPINLOCK is not set 994# CONFIG_DEBUG_SPINLOCK is not set
807# CONFIG_DEBUG_MUTEXES is not set 995# CONFIG_DEBUG_MUTEXES is not set
996# CONFIG_DEBUG_LOCK_ALLOC is not set
997# CONFIG_PROVE_LOCKING is not set
998# CONFIG_LOCK_STAT is not set
808# CONFIG_DEBUG_SPINLOCK_SLEEP is not set 999# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
809# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set 1000# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
810# CONFIG_DEBUG_KOBJECT is not set 1001# CONFIG_DEBUG_KOBJECT is not set
@@ -816,35 +1007,43 @@ CONFIG_SCHED_DEBUG=y
816# CONFIG_DEBUG_LIST is not set 1007# CONFIG_DEBUG_LIST is not set
817# CONFIG_DEBUG_SG is not set 1008# CONFIG_DEBUG_SG is not set
818# CONFIG_DEBUG_NOTIFIERS is not set 1009# CONFIG_DEBUG_NOTIFIERS is not set
819# CONFIG_BOOT_PRINTK_DELAY is not set 1010# CONFIG_DEBUG_CREDENTIALS is not set
820# CONFIG_RCU_TORTURE_TEST is not set 1011# CONFIG_RCU_TORTURE_TEST is not set
821# CONFIG_RCU_CPU_STALL_DETECTOR is not set 1012# CONFIG_RCU_CPU_STALL_DETECTOR is not set
822# CONFIG_BACKTRACE_SELF_TEST is not set 1013# CONFIG_BACKTRACE_SELF_TEST is not set
823# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set 1014# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1015# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
824# CONFIG_FAULT_INJECTION is not set 1016# CONFIG_FAULT_INJECTION is not set
825# CONFIG_LATENCYTOP is not set 1017# CONFIG_LATENCYTOP is not set
826CONFIG_SYSCTL_SYSCALL_CHECK=y 1018CONFIG_SYSCTL_SYSCALL_CHECK=y
1019# CONFIG_DEBUG_PAGEALLOC is not set
827CONFIG_HAVE_FUNCTION_TRACER=y 1020CONFIG_HAVE_FUNCTION_TRACER=y
1021CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
828CONFIG_HAVE_DYNAMIC_FTRACE=y 1022CONFIG_HAVE_DYNAMIC_FTRACE=y
829CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 1023CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
830 1024CONFIG_TRACING_SUPPORT=y
831# 1025CONFIG_FTRACE=y
832# Tracers
833#
834# CONFIG_FUNCTION_TRACER is not set 1026# CONFIG_FUNCTION_TRACER is not set
1027# CONFIG_IRQSOFF_TRACER is not set
835# CONFIG_SCHED_TRACER is not set 1028# CONFIG_SCHED_TRACER is not set
836# CONFIG_CONTEXT_SWITCH_TRACER is not set 1029# CONFIG_ENABLE_DEFAULT_TRACERS is not set
837# CONFIG_BOOT_TRACER is not set 1030# CONFIG_BOOT_TRACER is not set
838# CONFIG_TRACE_BRANCH_PROFILING is not set 1031CONFIG_BRANCH_PROFILE_NONE=y
1032# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
1033# CONFIG_PROFILE_ALL_BRANCHES is not set
839# CONFIG_STACK_TRACER is not set 1034# CONFIG_STACK_TRACER is not set
840# CONFIG_DYNAMIC_PRINTK_DEBUG is not set 1035# CONFIG_KMEMTRACE is not set
1036# CONFIG_WORKQUEUE_TRACER is not set
1037# CONFIG_BLK_DEV_IO_TRACE is not set
1038# CONFIG_DMA_API_DEBUG is not set
841# CONFIG_SAMPLES is not set 1039# CONFIG_SAMPLES is not set
842CONFIG_HAVE_ARCH_KGDB=y 1040CONFIG_HAVE_ARCH_KGDB=y
843# CONFIG_KGDB is not set 1041# CONFIG_KGDB is not set
1042# CONFIG_PPC_DISABLE_WERROR is not set
1043CONFIG_PPC_WERROR=y
844CONFIG_PRINT_STACK_DEPTH=64 1044CONFIG_PRINT_STACK_DEPTH=64
845# CONFIG_DEBUG_STACKOVERFLOW is not set 1045# CONFIG_DEBUG_STACKOVERFLOW is not set
846# CONFIG_DEBUG_STACK_USAGE is not set 1046# CONFIG_DEBUG_STACK_USAGE is not set
847# CONFIG_DEBUG_PAGEALLOC is not set
848# CONFIG_CODE_PATCHING_SELFTEST is not set 1047# CONFIG_CODE_PATCHING_SELFTEST is not set
849# CONFIG_FTR_FIXUP_SELFTEST is not set 1048# CONFIG_FTR_FIXUP_SELFTEST is not set
850# CONFIG_MSI_BITMAP_SELFTEST is not set 1049# CONFIG_MSI_BITMAP_SELFTEST is not set
@@ -859,13 +1058,16 @@ CONFIG_PRINT_STACK_DEPTH=64
859# CONFIG_KEYS is not set 1058# CONFIG_KEYS is not set
860# CONFIG_SECURITY is not set 1059# CONFIG_SECURITY is not set
861# CONFIG_SECURITYFS is not set 1060# CONFIG_SECURITYFS is not set
862# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1061# CONFIG_DEFAULT_SECURITY_SELINUX is not set
1062# CONFIG_DEFAULT_SECURITY_SMACK is not set
1063# CONFIG_DEFAULT_SECURITY_TOMOYO is not set
1064CONFIG_DEFAULT_SECURITY_DAC=y
1065CONFIG_DEFAULT_SECURITY=""
863CONFIG_CRYPTO=y 1066CONFIG_CRYPTO=y
864 1067
865# 1068#
866# Crypto core or helper 1069# Crypto core or helper
867# 1070#
868# CONFIG_CRYPTO_FIPS is not set
869CONFIG_CRYPTO_ALGAPI=y 1071CONFIG_CRYPTO_ALGAPI=y
870CONFIG_CRYPTO_ALGAPI2=y 1072CONFIG_CRYPTO_ALGAPI2=y
871CONFIG_CRYPTO_AEAD2=y 1073CONFIG_CRYPTO_AEAD2=y
@@ -874,10 +1076,12 @@ CONFIG_CRYPTO_BLKCIPHER2=y
874CONFIG_CRYPTO_HASH=y 1076CONFIG_CRYPTO_HASH=y
875CONFIG_CRYPTO_HASH2=y 1077CONFIG_CRYPTO_HASH2=y
876CONFIG_CRYPTO_RNG2=y 1078CONFIG_CRYPTO_RNG2=y
1079CONFIG_CRYPTO_PCOMP=y
877CONFIG_CRYPTO_MANAGER=y 1080CONFIG_CRYPTO_MANAGER=y
878CONFIG_CRYPTO_MANAGER2=y 1081CONFIG_CRYPTO_MANAGER2=y
879# CONFIG_CRYPTO_GF128MUL is not set 1082# CONFIG_CRYPTO_GF128MUL is not set
880# CONFIG_CRYPTO_NULL is not set 1083# CONFIG_CRYPTO_NULL is not set
1084CONFIG_CRYPTO_WORKQUEUE=y
881# CONFIG_CRYPTO_CRYPTD is not set 1085# CONFIG_CRYPTO_CRYPTD is not set
882# CONFIG_CRYPTO_AUTHENC is not set 1086# CONFIG_CRYPTO_AUTHENC is not set
883# CONFIG_CRYPTO_TEST is not set 1087# CONFIG_CRYPTO_TEST is not set
@@ -905,11 +1109,13 @@ CONFIG_CRYPTO_PCBC=y
905# 1109#
906# CONFIG_CRYPTO_HMAC is not set 1110# CONFIG_CRYPTO_HMAC is not set
907# CONFIG_CRYPTO_XCBC is not set 1111# CONFIG_CRYPTO_XCBC is not set
1112# CONFIG_CRYPTO_VMAC is not set
908 1113
909# 1114#
910# Digest 1115# Digest
911# 1116#
912# CONFIG_CRYPTO_CRC32C is not set 1117# CONFIG_CRYPTO_CRC32C is not set
1118# CONFIG_CRYPTO_GHASH is not set
913# CONFIG_CRYPTO_MD4 is not set 1119# CONFIG_CRYPTO_MD4 is not set
914CONFIG_CRYPTO_MD5=y 1120CONFIG_CRYPTO_MD5=y
915# CONFIG_CRYPTO_MICHAEL_MIC is not set 1121# CONFIG_CRYPTO_MICHAEL_MIC is not set
@@ -946,6 +1152,7 @@ CONFIG_CRYPTO_DES=y
946# Compression 1152# Compression
947# 1153#
948# CONFIG_CRYPTO_DEFLATE is not set 1154# CONFIG_CRYPTO_DEFLATE is not set
1155# CONFIG_CRYPTO_ZLIB is not set
949# CONFIG_CRYPTO_LZO is not set 1156# CONFIG_CRYPTO_LZO is not set
950 1157
951# 1158#
@@ -954,5 +1161,6 @@ CONFIG_CRYPTO_DES=y
954# CONFIG_CRYPTO_ANSI_CPRNG is not set 1161# CONFIG_CRYPTO_ANSI_CPRNG is not set
955CONFIG_CRYPTO_HW=y 1162CONFIG_CRYPTO_HW=y
956# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1163# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1164# CONFIG_CRYPTO_DEV_PPC4XX is not set
957# CONFIG_PPC_CLOCK is not set 1165# CONFIG_PPC_CLOCK is not set
958# CONFIG_VIRTUALIZATION is not set 1166# CONFIG_VIRTUALIZATION is not set
diff --git a/arch/powerpc/configs/44x/rainier_defconfig b/arch/powerpc/configs/44x/rainier_defconfig
index b25fad1343dc..3bb55b57077e 100644
--- a/arch/powerpc/configs/44x/rainier_defconfig
+++ b/arch/powerpc/configs/44x/rainier_defconfig
@@ -1,14 +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.29-rc2 3# Linux kernel version: 2.6.33-rc1
4# Tue Jan 20 08:22:41 2009 4# Mon Jan 4 14:59:12 2010
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
8# 8#
9# Processor support 9# Processor support
10# 10#
11# CONFIG_6xx is not set 11# CONFIG_PPC_BOOK3S_32 is not set
12# CONFIG_PPC_85xx is not set 12# CONFIG_PPC_85xx is not set
13# CONFIG_PPC_8xx is not set 13# CONFIG_PPC_8xx is not set
14# CONFIG_40x is not set 14# CONFIG_40x is not set
@@ -19,6 +19,7 @@ CONFIG_BOOKE=y
19CONFIG_PTE_64BIT=y 19CONFIG_PTE_64BIT=y
20CONFIG_PHYS_64BIT=y 20CONFIG_PHYS_64BIT=y
21CONFIG_PPC_MMU_NOHASH=y 21CONFIG_PPC_MMU_NOHASH=y
22CONFIG_PPC_MMU_NOHASH_32=y
22# CONFIG_PPC_MM_SLICES is not set 23# CONFIG_PPC_MM_SLICES is not set
23CONFIG_NOT_COHERENT_CACHE=y 24CONFIG_NOT_COHERENT_CACHE=y
24CONFIG_PPC32=y 25CONFIG_PPC32=y
@@ -30,15 +31,18 @@ CONFIG_GENERIC_TIME=y
30CONFIG_GENERIC_TIME_VSYSCALL=y 31CONFIG_GENERIC_TIME_VSYSCALL=y
31CONFIG_GENERIC_CLOCKEVENTS=y 32CONFIG_GENERIC_CLOCKEVENTS=y
32CONFIG_GENERIC_HARDIRQS=y 33CONFIG_GENERIC_HARDIRQS=y
34CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
33# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 35# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
36# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
34CONFIG_IRQ_PER_CPU=y 37CONFIG_IRQ_PER_CPU=y
38CONFIG_NR_IRQS=512
35CONFIG_STACKTRACE_SUPPORT=y 39CONFIG_STACKTRACE_SUPPORT=y
36CONFIG_HAVE_LATENCYTOP_SUPPORT=y 40CONFIG_HAVE_LATENCYTOP_SUPPORT=y
41CONFIG_TRACE_IRQFLAGS_SUPPORT=y
37CONFIG_LOCKDEP_SUPPORT=y 42CONFIG_LOCKDEP_SUPPORT=y
38CONFIG_RWSEM_XCHGADD_ALGORITHM=y 43CONFIG_RWSEM_XCHGADD_ALGORITHM=y
39CONFIG_ARCH_HAS_ILOG2_U32=y 44CONFIG_ARCH_HAS_ILOG2_U32=y
40CONFIG_GENERIC_HWEIGHT=y 45CONFIG_GENERIC_HWEIGHT=y
41CONFIG_GENERIC_CALIBRATE_DELAY=y
42CONFIG_GENERIC_FIND_NEXT_BIT=y 46CONFIG_GENERIC_FIND_NEXT_BIT=y
43# CONFIG_ARCH_NO_VIRT_TO_BUS is not set 47# CONFIG_ARCH_NO_VIRT_TO_BUS is not set
44CONFIG_PPC=y 48CONFIG_PPC=y
@@ -52,11 +56,15 @@ CONFIG_PPC_UDBG_16550=y
52# CONFIG_GENERIC_TBSYNC is not set 56# CONFIG_GENERIC_TBSYNC is not set
53CONFIG_AUDIT_ARCH=y 57CONFIG_AUDIT_ARCH=y
54CONFIG_GENERIC_BUG=y 58CONFIG_GENERIC_BUG=y
59CONFIG_DTC=y
55# CONFIG_DEFAULT_UIMAGE is not set 60# CONFIG_DEFAULT_UIMAGE is not set
61CONFIG_ARCH_HIBERNATION_POSSIBLE=y
56CONFIG_PPC_DCR_NATIVE=y 62CONFIG_PPC_DCR_NATIVE=y
57# CONFIG_PPC_DCR_MMIO is not set 63# CONFIG_PPC_DCR_MMIO is not set
58CONFIG_PPC_DCR=y 64CONFIG_PPC_DCR=y
65CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
59CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 66CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
67CONFIG_CONSTRUCTORS=y
60 68
61# 69#
62# General setup 70# General setup
@@ -70,9 +78,21 @@ CONFIG_SWAP=y
70CONFIG_SYSVIPC=y 78CONFIG_SYSVIPC=y
71CONFIG_SYSVIPC_SYSCTL=y 79CONFIG_SYSVIPC_SYSCTL=y
72CONFIG_POSIX_MQUEUE=y 80CONFIG_POSIX_MQUEUE=y
81CONFIG_POSIX_MQUEUE_SYSCTL=y
73# CONFIG_BSD_PROCESS_ACCT is not set 82# CONFIG_BSD_PROCESS_ACCT is not set
74# CONFIG_TASKSTATS is not set 83# CONFIG_TASKSTATS is not set
75# CONFIG_AUDIT is not set 84# CONFIG_AUDIT is not set
85
86#
87# RCU Subsystem
88#
89CONFIG_TREE_RCU=y
90# CONFIG_TREE_PREEMPT_RCU is not set
91# CONFIG_TINY_RCU is not set
92# CONFIG_RCU_TRACE is not set
93CONFIG_RCU_FANOUT=32
94# CONFIG_RCU_FANOUT_EXACT is not set
95# CONFIG_TREE_RCU_TRACE is not set
76# CONFIG_IKCONFIG is not set 96# CONFIG_IKCONFIG is not set
77CONFIG_LOG_BUF_SHIFT=14 97CONFIG_LOG_BUF_SHIFT=14
78CONFIG_GROUP_SCHED=y 98CONFIG_GROUP_SCHED=y
@@ -81,14 +101,17 @@ CONFIG_FAIR_GROUP_SCHED=y
81CONFIG_USER_SCHED=y 101CONFIG_USER_SCHED=y
82# CONFIG_CGROUP_SCHED is not set 102# CONFIG_CGROUP_SCHED is not set
83# CONFIG_CGROUPS is not set 103# CONFIG_CGROUPS is not set
84CONFIG_SYSFS_DEPRECATED=y 104# CONFIG_SYSFS_DEPRECATED_V2 is not set
85CONFIG_SYSFS_DEPRECATED_V2=y
86# CONFIG_RELAY is not set 105# CONFIG_RELAY is not set
87# CONFIG_NAMESPACES is not set 106# CONFIG_NAMESPACES is not set
88CONFIG_BLK_DEV_INITRD=y 107CONFIG_BLK_DEV_INITRD=y
89CONFIG_INITRAMFS_SOURCE="" 108CONFIG_INITRAMFS_SOURCE=""
109CONFIG_RD_GZIP=y
110# CONFIG_RD_BZIP2 is not set
111# CONFIG_RD_LZMA is not set
90# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 112# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
91CONFIG_SYSCTL=y 113CONFIG_SYSCTL=y
114CONFIG_ANON_INODES=y
92CONFIG_EMBEDDED=y 115CONFIG_EMBEDDED=y
93CONFIG_SYSCTL_SYSCALL=y 116CONFIG_SYSCTL_SYSCALL=y
94CONFIG_KALLSYMS=y 117CONFIG_KALLSYMS=y
@@ -98,19 +121,25 @@ CONFIG_HOTPLUG=y
98CONFIG_PRINTK=y 121CONFIG_PRINTK=y
99CONFIG_BUG=y 122CONFIG_BUG=y
100CONFIG_ELF_CORE=y 123CONFIG_ELF_CORE=y
101CONFIG_COMPAT_BRK=y
102CONFIG_BASE_FULL=y 124CONFIG_BASE_FULL=y
103CONFIG_FUTEX=y 125CONFIG_FUTEX=y
104CONFIG_ANON_INODES=y
105CONFIG_EPOLL=y 126CONFIG_EPOLL=y
106CONFIG_SIGNALFD=y 127CONFIG_SIGNALFD=y
107CONFIG_TIMERFD=y 128CONFIG_TIMERFD=y
108CONFIG_EVENTFD=y 129CONFIG_EVENTFD=y
109CONFIG_SHMEM=y 130CONFIG_SHMEM=y
110CONFIG_AIO=y 131CONFIG_AIO=y
132CONFIG_HAVE_PERF_EVENTS=y
133
134#
135# Kernel Performance Events And Counters
136#
137# CONFIG_PERF_EVENTS is not set
138# CONFIG_PERF_COUNTERS is not set
111CONFIG_VM_EVENT_COUNTERS=y 139CONFIG_VM_EVENT_COUNTERS=y
112CONFIG_PCI_QUIRKS=y 140CONFIG_PCI_QUIRKS=y
113CONFIG_SLUB_DEBUG=y 141CONFIG_SLUB_DEBUG=y
142CONFIG_COMPAT_BRK=y
114# CONFIG_SLAB is not set 143# CONFIG_SLAB is not set
115CONFIG_SLUB=y 144CONFIG_SLUB=y
116# CONFIG_SLOB is not set 145# CONFIG_SLOB is not set
@@ -122,6 +151,14 @@ CONFIG_HAVE_IOREMAP_PROT=y
122CONFIG_HAVE_KPROBES=y 151CONFIG_HAVE_KPROBES=y
123CONFIG_HAVE_KRETPROBES=y 152CONFIG_HAVE_KRETPROBES=y
124CONFIG_HAVE_ARCH_TRACEHOOK=y 153CONFIG_HAVE_ARCH_TRACEHOOK=y
154CONFIG_HAVE_DMA_ATTRS=y
155CONFIG_HAVE_DMA_API_DEBUG=y
156
157#
158# GCOV-based kernel profiling
159#
160# CONFIG_GCOV_KERNEL is not set
161# CONFIG_SLOW_WORK is not set
125# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 162# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
126CONFIG_SLABINFO=y 163CONFIG_SLABINFO=y
127CONFIG_RT_MUTEXES=y 164CONFIG_RT_MUTEXES=y
@@ -133,8 +170,7 @@ CONFIG_MODULE_UNLOAD=y
133# CONFIG_MODVERSIONS is not set 170# CONFIG_MODVERSIONS is not set
134# CONFIG_MODULE_SRCVERSION_ALL is not set 171# CONFIG_MODULE_SRCVERSION_ALL is not set
135CONFIG_BLOCK=y 172CONFIG_BLOCK=y
136CONFIG_LBD=y 173CONFIG_LBDAF=y
137# CONFIG_BLK_DEV_IO_TRACE is not set
138# CONFIG_BLK_DEV_BSG is not set 174# CONFIG_BLK_DEV_BSG is not set
139# CONFIG_BLK_DEV_INTEGRITY is not set 175# CONFIG_BLK_DEV_INTEGRITY is not set
140 176
@@ -142,19 +178,41 @@ CONFIG_LBD=y
142# IO Schedulers 178# IO Schedulers
143# 179#
144CONFIG_IOSCHED_NOOP=y 180CONFIG_IOSCHED_NOOP=y
145CONFIG_IOSCHED_AS=y
146CONFIG_IOSCHED_DEADLINE=y 181CONFIG_IOSCHED_DEADLINE=y
147CONFIG_IOSCHED_CFQ=y 182CONFIG_IOSCHED_CFQ=y
148CONFIG_DEFAULT_AS=y
149# CONFIG_DEFAULT_DEADLINE is not set 183# CONFIG_DEFAULT_DEADLINE is not set
150# CONFIG_DEFAULT_CFQ is not set 184CONFIG_DEFAULT_CFQ=y
151# CONFIG_DEFAULT_NOOP is not set 185# CONFIG_DEFAULT_NOOP is not set
152CONFIG_DEFAULT_IOSCHED="anticipatory" 186CONFIG_DEFAULT_IOSCHED="cfq"
153CONFIG_CLASSIC_RCU=y 187# CONFIG_INLINE_SPIN_TRYLOCK is not set
154# CONFIG_TREE_RCU is not set 188# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
155# CONFIG_PREEMPT_RCU is not set 189# CONFIG_INLINE_SPIN_LOCK is not set
156# CONFIG_TREE_RCU_TRACE is not set 190# CONFIG_INLINE_SPIN_LOCK_BH is not set
157# CONFIG_PREEMPT_RCU_TRACE is not set 191# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
192# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
193CONFIG_INLINE_SPIN_UNLOCK=y
194# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
195CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
196# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
197# CONFIG_INLINE_READ_TRYLOCK is not set
198# CONFIG_INLINE_READ_LOCK is not set
199# CONFIG_INLINE_READ_LOCK_BH is not set
200# CONFIG_INLINE_READ_LOCK_IRQ is not set
201# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
202CONFIG_INLINE_READ_UNLOCK=y
203# CONFIG_INLINE_READ_UNLOCK_BH is not set
204CONFIG_INLINE_READ_UNLOCK_IRQ=y
205# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
206# CONFIG_INLINE_WRITE_TRYLOCK is not set
207# CONFIG_INLINE_WRITE_LOCK is not set
208# CONFIG_INLINE_WRITE_LOCK_BH is not set
209# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
210# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
211CONFIG_INLINE_WRITE_UNLOCK=y
212# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
213CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
214# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
215# CONFIG_MUTEX_SPIN_ON_OWNER is not set
158# CONFIG_FREEZER is not set 216# CONFIG_FREEZER is not set
159# CONFIG_PPC4xx_PCI_EXPRESS is not set 217# CONFIG_PPC4xx_PCI_EXPRESS is not set
160 218
@@ -175,6 +233,8 @@ CONFIG_RAINIER=y
175# CONFIG_ARCHES is not set 233# CONFIG_ARCHES is not set
176# CONFIG_CANYONLANDS is not set 234# CONFIG_CANYONLANDS is not set
177# CONFIG_GLACIER is not set 235# CONFIG_GLACIER is not set
236# CONFIG_REDWOOD is not set
237# CONFIG_EIGER is not set
178# CONFIG_YOSEMITE is not set 238# CONFIG_YOSEMITE is not set
179# CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set 239# CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set
180CONFIG_PPC44x_SIMPLE=y 240CONFIG_PPC44x_SIMPLE=y
@@ -216,10 +276,12 @@ CONFIG_BINFMT_ELF=y
216# CONFIG_BINFMT_MISC is not set 276# CONFIG_BINFMT_MISC is not set
217CONFIG_MATH_EMULATION=y 277CONFIG_MATH_EMULATION=y
218# CONFIG_IOMMU_HELPER is not set 278# CONFIG_IOMMU_HELPER is not set
219CONFIG_PPC_NEED_DMA_SYNC_OPS=y 279# CONFIG_SWIOTLB is not set
220CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 280CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
221CONFIG_ARCH_HAS_WALK_MEMORY=y 281CONFIG_ARCH_HAS_WALK_MEMORY=y
222CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 282CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
283CONFIG_SPARSE_IRQ=y
284CONFIG_MAX_ACTIVE_REGIONS=32
223CONFIG_ARCH_FLATMEM_ENABLE=y 285CONFIG_ARCH_FLATMEM_ENABLE=y
224CONFIG_ARCH_POPULATES_NODE_MAP=y 286CONFIG_ARCH_POPULATES_NODE_MAP=y
225CONFIG_SELECT_MEMORY_MODEL=y 287CONFIG_SELECT_MEMORY_MODEL=y
@@ -235,10 +297,13 @@ CONFIG_PHYS_ADDR_T_64BIT=y
235CONFIG_ZONE_DMA_FLAG=1 297CONFIG_ZONE_DMA_FLAG=1
236CONFIG_BOUNCE=y 298CONFIG_BOUNCE=y
237CONFIG_VIRT_TO_BUS=y 299CONFIG_VIRT_TO_BUS=y
238CONFIG_UNEVICTABLE_LRU=y 300# CONFIG_KSM is not set
301CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
302CONFIG_STDBINUTILS=y
239CONFIG_PPC_4K_PAGES=y 303CONFIG_PPC_4K_PAGES=y
240# CONFIG_PPC_16K_PAGES is not set 304# CONFIG_PPC_16K_PAGES is not set
241# CONFIG_PPC_64K_PAGES is not set 305# CONFIG_PPC_64K_PAGES is not set
306# CONFIG_PPC_256K_PAGES is not set
242CONFIG_FORCE_MAX_ZONEORDER=11 307CONFIG_FORCE_MAX_ZONEORDER=11
243CONFIG_PROC_DEVICETREE=y 308CONFIG_PROC_DEVICETREE=y
244CONFIG_CMDLINE_BOOL=y 309CONFIG_CMDLINE_BOOL=y
@@ -263,6 +328,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
263# CONFIG_PCI_LEGACY is not set 328# CONFIG_PCI_LEGACY is not set
264# CONFIG_PCI_DEBUG is not set 329# CONFIG_PCI_DEBUG is not set
265# CONFIG_PCI_STUB is not set 330# CONFIG_PCI_STUB is not set
331# CONFIG_PCI_IOV is not set
266# CONFIG_PCCARD is not set 332# CONFIG_PCCARD is not set
267# CONFIG_HOTPLUG_PCI is not set 333# CONFIG_HOTPLUG_PCI is not set
268# CONFIG_HAS_RAPIDIO is not set 334# CONFIG_HAS_RAPIDIO is not set
@@ -280,14 +346,12 @@ CONFIG_PAGE_OFFSET=0xc0000000
280CONFIG_KERNEL_START=0xc0000000 346CONFIG_KERNEL_START=0xc0000000
281CONFIG_PHYSICAL_START=0x00000000 347CONFIG_PHYSICAL_START=0x00000000
282CONFIG_TASK_SIZE=0xc0000000 348CONFIG_TASK_SIZE=0xc0000000
283CONFIG_CONSISTENT_START=0xff100000
284CONFIG_CONSISTENT_SIZE=0x00200000 349CONFIG_CONSISTENT_SIZE=0x00200000
285CONFIG_NET=y 350CONFIG_NET=y
286 351
287# 352#
288# Networking options 353# Networking options
289# 354#
290CONFIG_COMPAT_NET_DEV_OPS=y
291CONFIG_PACKET=y 355CONFIG_PACKET=y
292# CONFIG_PACKET_MMAP is not set 356# CONFIG_PACKET_MMAP is not set
293CONFIG_UNIX=y 357CONFIG_UNIX=y
@@ -324,6 +388,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
324# CONFIG_NETFILTER is not set 388# CONFIG_NETFILTER is not set
325# CONFIG_IP_DCCP is not set 389# CONFIG_IP_DCCP is not set
326# CONFIG_IP_SCTP is not set 390# CONFIG_IP_SCTP is not set
391# CONFIG_RDS is not set
327# CONFIG_TIPC is not set 392# CONFIG_TIPC is not set
328# CONFIG_ATM is not set 393# CONFIG_ATM is not set
329# CONFIG_BRIDGE is not set 394# CONFIG_BRIDGE is not set
@@ -337,6 +402,8 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
337# CONFIG_LAPB is not set 402# CONFIG_LAPB is not set
338# CONFIG_ECONET is not set 403# CONFIG_ECONET is not set
339# CONFIG_WAN_ROUTER is not set 404# CONFIG_WAN_ROUTER is not set
405# CONFIG_PHONET is not set
406# CONFIG_IEEE802154 is not set
340# CONFIG_NET_SCHED is not set 407# CONFIG_NET_SCHED is not set
341# CONFIG_DCB is not set 408# CONFIG_DCB is not set
342 409
@@ -349,8 +416,13 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
349# CONFIG_IRDA is not set 416# CONFIG_IRDA is not set
350# CONFIG_BT is not set 417# CONFIG_BT is not set
351# CONFIG_AF_RXRPC is not set 418# CONFIG_AF_RXRPC is not set
352# CONFIG_PHONET is not set 419CONFIG_WIRELESS=y
353# CONFIG_WIRELESS is not set 420# CONFIG_CFG80211 is not set
421# CONFIG_LIB80211 is not set
422
423#
424# CFG80211 needs to be enabled for MAC80211
425#
354# CONFIG_WIMAX is not set 426# CONFIG_WIMAX is not set
355# CONFIG_RFKILL is not set 427# CONFIG_RFKILL is not set
356# CONFIG_NET_9P is not set 428# CONFIG_NET_9P is not set
@@ -363,6 +435,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
363# Generic Driver Options 435# Generic Driver Options
364# 436#
365CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 437CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
438# CONFIG_DEVTMPFS is not set
366CONFIG_STANDALONE=y 439CONFIG_STANDALONE=y
367CONFIG_PREVENT_FIRMWARE_BUILD=y 440CONFIG_PREVENT_FIRMWARE_BUILD=y
368CONFIG_FW_LOADER=y 441CONFIG_FW_LOADER=y
@@ -375,9 +448,9 @@ CONFIG_CONNECTOR=y
375CONFIG_PROC_EVENTS=y 448CONFIG_PROC_EVENTS=y
376CONFIG_MTD=y 449CONFIG_MTD=y
377# CONFIG_MTD_DEBUG is not set 450# CONFIG_MTD_DEBUG is not set
451# CONFIG_MTD_TESTS is not set
378# CONFIG_MTD_CONCAT is not set 452# CONFIG_MTD_CONCAT is not set
379CONFIG_MTD_PARTITIONS=y 453CONFIG_MTD_PARTITIONS=y
380# CONFIG_MTD_TESTS is not set
381# CONFIG_MTD_REDBOOT_PARTS is not set 454# CONFIG_MTD_REDBOOT_PARTS is not set
382CONFIG_MTD_CMDLINE_PARTS=y 455CONFIG_MTD_CMDLINE_PARTS=y
383CONFIG_MTD_OF_PARTS=y 456CONFIG_MTD_OF_PARTS=y
@@ -453,7 +526,6 @@ CONFIG_MTD_PHYSMAP_OF=y
453# LPDDR flash memory drivers 526# LPDDR flash memory drivers
454# 527#
455# CONFIG_MTD_LPDDR is not set 528# CONFIG_MTD_LPDDR is not set
456# CONFIG_MTD_QINFO_PROBE is not set
457 529
458# 530#
459# UBI - Unsorted block images 531# UBI - Unsorted block images
@@ -469,6 +541,7 @@ CONFIG_BLK_DEV=y
469# CONFIG_BLK_DEV_UMEM is not set 541# CONFIG_BLK_DEV_UMEM is not set
470# CONFIG_BLK_DEV_COW_COMMON is not set 542# CONFIG_BLK_DEV_COW_COMMON is not set
471# CONFIG_BLK_DEV_LOOP is not set 543# CONFIG_BLK_DEV_LOOP is not set
544# CONFIG_BLK_DEV_DRBD is not set
472# CONFIG_BLK_DEV_NBD is not set 545# CONFIG_BLK_DEV_NBD is not set
473# CONFIG_BLK_DEV_SX8 is not set 546# CONFIG_BLK_DEV_SX8 is not set
474CONFIG_BLK_DEV_RAM=y 547CONFIG_BLK_DEV_RAM=y
@@ -481,12 +554,17 @@ CONFIG_BLK_DEV_RAM_SIZE=35000
481# CONFIG_BLK_DEV_HD is not set 554# CONFIG_BLK_DEV_HD is not set
482CONFIG_MISC_DEVICES=y 555CONFIG_MISC_DEVICES=y
483# CONFIG_PHANTOM is not set 556# CONFIG_PHANTOM is not set
484# CONFIG_EEPROM_93CX6 is not set
485# CONFIG_SGI_IOC4 is not set 557# CONFIG_SGI_IOC4 is not set
486# CONFIG_TIFM_CORE is not set 558# CONFIG_TIFM_CORE is not set
487# CONFIG_ENCLOSURE_SERVICES is not set 559# CONFIG_ENCLOSURE_SERVICES is not set
488# CONFIG_HP_ILO is not set 560# CONFIG_HP_ILO is not set
489# CONFIG_C2PORT is not set 561# CONFIG_C2PORT is not set
562
563#
564# EEPROM support
565#
566# CONFIG_EEPROM_93CX6 is not set
567# CONFIG_CB710_CORE is not set
490CONFIG_HAVE_IDE=y 568CONFIG_HAVE_IDE=y
491# CONFIG_IDE is not set 569# CONFIG_IDE is not set
492 570
@@ -506,7 +584,11 @@ CONFIG_HAVE_IDE=y
506# 584#
507 585
508# 586#
509# Enable only one of the two stacks, unless you know what you are doing 587# You can enable one or both FireWire driver stacks.
588#
589
590#
591# See the help texts for more information.
510# 592#
511# CONFIG_FIREWIRE is not set 593# CONFIG_FIREWIRE is not set
512# CONFIG_IEEE1394 is not set 594# CONFIG_IEEE1394 is not set
@@ -533,6 +615,7 @@ CONFIG_NETDEV_1000=y
533# CONFIG_E1000E is not set 615# CONFIG_E1000E is not set
534# CONFIG_IP1000 is not set 616# CONFIG_IP1000 is not set
535# CONFIG_IGB is not set 617# CONFIG_IGB is not set
618# CONFIG_IGBVF is not set
536# CONFIG_NS83820 is not set 619# CONFIG_NS83820 is not set
537# CONFIG_HAMACHI is not set 620# CONFIG_HAMACHI is not set
538# CONFIG_YELLOWFIN is not set 621# CONFIG_YELLOWFIN is not set
@@ -543,9 +626,13 @@ CONFIG_NETDEV_1000=y
543# CONFIG_VIA_VELOCITY is not set 626# CONFIG_VIA_VELOCITY is not set
544# CONFIG_TIGON3 is not set 627# CONFIG_TIGON3 is not set
545# CONFIG_BNX2 is not set 628# CONFIG_BNX2 is not set
629# CONFIG_CNIC is not set
630# CONFIG_MV643XX_ETH is not set
631# CONFIG_XILINX_LL_TEMAC is not set
546# CONFIG_QLA3XXX is not set 632# CONFIG_QLA3XXX is not set
547# CONFIG_ATL1 is not set 633# CONFIG_ATL1 is not set
548# CONFIG_ATL1E is not set 634# CONFIG_ATL1E is not set
635# CONFIG_ATL1C is not set
549# CONFIG_JME is not set 636# CONFIG_JME is not set
550CONFIG_NETDEV_10000=y 637CONFIG_NETDEV_10000=y
551# CONFIG_CHELSIO_T1 is not set 638# CONFIG_CHELSIO_T1 is not set
@@ -555,6 +642,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
555# CONFIG_IXGBE is not set 642# CONFIG_IXGBE is not set
556# CONFIG_IXGB is not set 643# CONFIG_IXGB is not set
557# CONFIG_S2IO is not set 644# CONFIG_S2IO is not set
645# CONFIG_VXGE is not set
558# CONFIG_MYRI10GE is not set 646# CONFIG_MYRI10GE is not set
559# CONFIG_NETXEN_NIC is not set 647# CONFIG_NETXEN_NIC is not set
560# CONFIG_NIU is not set 648# CONFIG_NIU is not set
@@ -564,14 +652,13 @@ CONFIG_CHELSIO_T3_DEPENDS=y
564# CONFIG_BNX2X is not set 652# CONFIG_BNX2X is not set
565# CONFIG_QLGE is not set 653# CONFIG_QLGE is not set
566# CONFIG_SFC is not set 654# CONFIG_SFC is not set
655# CONFIG_BE2NET is not set
567# CONFIG_TR is not set 656# CONFIG_TR is not set
568 657CONFIG_WLAN=y
569# 658# CONFIG_AIRO is not set
570# Wireless LAN 659# CONFIG_ATMEL is not set
571# 660# CONFIG_PRISM54 is not set
572# CONFIG_WLAN_PRE80211 is not set 661# CONFIG_HOSTAP is not set
573# CONFIG_WLAN_80211 is not set
574# CONFIG_IWLWIFI_LEDS is not set
575 662
576# 663#
577# Enable WiMAX (Networking options) to see the WiMAX drivers 664# Enable WiMAX (Networking options) to see the WiMAX drivers
@@ -584,6 +671,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
584# CONFIG_NETCONSOLE is not set 671# CONFIG_NETCONSOLE is not set
585# CONFIG_NETPOLL is not set 672# CONFIG_NETPOLL is not set
586# CONFIG_NET_POLL_CONTROLLER is not set 673# CONFIG_NET_POLL_CONTROLLER is not set
674# CONFIG_VMXNET3 is not set
587# CONFIG_ISDN is not set 675# CONFIG_ISDN is not set
588# CONFIG_PHONE is not set 676# CONFIG_PHONE is not set
589 677
@@ -629,6 +717,7 @@ CONFIG_SERIAL_CORE_CONSOLE=y
629# CONFIG_SERIAL_JSM is not set 717# CONFIG_SERIAL_JSM is not set
630CONFIG_SERIAL_OF_PLATFORM=y 718CONFIG_SERIAL_OF_PLATFORM=y
631# CONFIG_SERIAL_OF_PLATFORM_NWPSERIAL is not set 719# CONFIG_SERIAL_OF_PLATFORM_NWPSERIAL is not set
720# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set
632CONFIG_UNIX98_PTYS=y 721CONFIG_UNIX98_PTYS=y
633# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set 722# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
634CONFIG_LEGACY_PTYS=y 723CONFIG_LEGACY_PTYS=y
@@ -645,6 +734,11 @@ CONFIG_LEGACY_PTY_COUNT=256
645CONFIG_DEVPORT=y 734CONFIG_DEVPORT=y
646# CONFIG_I2C is not set 735# CONFIG_I2C is not set
647# CONFIG_SPI is not set 736# CONFIG_SPI is not set
737
738#
739# PPS support
740#
741# CONFIG_PPS is not set
648CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y 742CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
649# CONFIG_GPIOLIB is not set 743# CONFIG_GPIOLIB is not set
650# CONFIG_W1 is not set 744# CONFIG_W1 is not set
@@ -667,27 +761,13 @@ CONFIG_SSB_POSSIBLE=y
667# CONFIG_HTC_PASIC3 is not set 761# CONFIG_HTC_PASIC3 is not set
668# CONFIG_MFD_TMIO is not set 762# CONFIG_MFD_TMIO is not set
669# CONFIG_REGULATOR is not set 763# CONFIG_REGULATOR is not set
670 764# CONFIG_MEDIA_SUPPORT is not set
671#
672# Multimedia devices
673#
674
675#
676# Multimedia core support
677#
678# CONFIG_VIDEO_DEV is not set
679# CONFIG_DVB_CORE is not set
680# CONFIG_VIDEO_MEDIA is not set
681
682#
683# Multimedia drivers
684#
685CONFIG_DAB=y
686 765
687# 766#
688# Graphics support 767# Graphics support
689# 768#
690# CONFIG_AGP is not set 769# CONFIG_AGP is not set
770CONFIG_VGA_ARB=y
691# CONFIG_DRM is not set 771# CONFIG_DRM is not set
692# CONFIG_VGASTATE is not set 772# CONFIG_VGASTATE is not set
693CONFIG_VIDEO_OUTPUT_CONTROL=m 773CONFIG_VIDEO_OUTPUT_CONTROL=m
@@ -712,7 +792,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
712# 792#
713 793
714# 794#
715# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; 795# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
716# 796#
717# CONFIG_USB_GADGET is not set 797# CONFIG_USB_GADGET is not set
718 798
@@ -728,7 +808,12 @@ CONFIG_USB_ARCH_HAS_EHCI=y
728# CONFIG_EDAC is not set 808# CONFIG_EDAC is not set
729# CONFIG_RTC_CLASS is not set 809# CONFIG_RTC_CLASS is not set
730# CONFIG_DMADEVICES is not set 810# CONFIG_DMADEVICES is not set
811# CONFIG_AUXDISPLAY is not set
731# CONFIG_UIO is not set 812# CONFIG_UIO is not set
813
814#
815# TI VLYNQ
816#
732# CONFIG_STAGING is not set 817# CONFIG_STAGING is not set
733 818
734# 819#
@@ -739,14 +824,17 @@ CONFIG_EXT2_FS=y
739# CONFIG_EXT2_FS_XIP is not set 824# CONFIG_EXT2_FS_XIP is not set
740# CONFIG_EXT3_FS is not set 825# CONFIG_EXT3_FS is not set
741# CONFIG_EXT4_FS is not set 826# CONFIG_EXT4_FS is not set
827CONFIG_EXT4_USE_FOR_EXT23=y
742# CONFIG_REISERFS_FS is not set 828# CONFIG_REISERFS_FS is not set
743# CONFIG_JFS_FS is not set 829# CONFIG_JFS_FS is not set
744# CONFIG_FS_POSIX_ACL is not set 830# CONFIG_FS_POSIX_ACL is not set
745CONFIG_FILE_LOCKING=y
746# CONFIG_XFS_FS is not set 831# CONFIG_XFS_FS is not set
747# CONFIG_GFS2_FS is not set 832# CONFIG_GFS2_FS is not set
748# CONFIG_OCFS2_FS is not set 833# CONFIG_OCFS2_FS is not set
749# CONFIG_BTRFS_FS is not set 834# CONFIG_BTRFS_FS is not set
835# CONFIG_NILFS2_FS is not set
836CONFIG_FILE_LOCKING=y
837CONFIG_FSNOTIFY=y
750CONFIG_DNOTIFY=y 838CONFIG_DNOTIFY=y
751CONFIG_INOTIFY=y 839CONFIG_INOTIFY=y
752CONFIG_INOTIFY_USER=y 840CONFIG_INOTIFY_USER=y
@@ -756,6 +844,11 @@ CONFIG_INOTIFY_USER=y
756# CONFIG_FUSE_FS is not set 844# CONFIG_FUSE_FS is not set
757 845
758# 846#
847# Caches
848#
849# CONFIG_FSCACHE is not set
850
851#
759# CD-ROM/DVD Filesystems 852# CD-ROM/DVD Filesystems
760# 853#
761# CONFIG_ISO9660_FS is not set 854# CONFIG_ISO9660_FS is not set
@@ -820,7 +913,6 @@ CONFIG_LOCKD=y
820CONFIG_LOCKD_V4=y 913CONFIG_LOCKD_V4=y
821CONFIG_NFS_COMMON=y 914CONFIG_NFS_COMMON=y
822CONFIG_SUNRPC=y 915CONFIG_SUNRPC=y
823# CONFIG_SUNRPC_REGISTER_V4 is not set
824# CONFIG_RPCSEC_GSS_KRB5 is not set 916# CONFIG_RPCSEC_GSS_KRB5 is not set
825# CONFIG_RPCSEC_GSS_SPKM3 is not set 917# CONFIG_RPCSEC_GSS_SPKM3 is not set
826# CONFIG_SMB_FS is not set 918# CONFIG_SMB_FS is not set
@@ -836,6 +928,7 @@ CONFIG_SUNRPC=y
836CONFIG_MSDOS_PARTITION=y 928CONFIG_MSDOS_PARTITION=y
837# CONFIG_NLS is not set 929# CONFIG_NLS is not set
838# CONFIG_DLM is not set 930# CONFIG_DLM is not set
931# CONFIG_BINARY_PRINTF is not set
839 932
840# 933#
841# Library routines 934# Library routines
@@ -851,11 +944,13 @@ CONFIG_CRC32=y
851# CONFIG_LIBCRC32C is not set 944# CONFIG_LIBCRC32C is not set
852CONFIG_ZLIB_INFLATE=y 945CONFIG_ZLIB_INFLATE=y
853CONFIG_ZLIB_DEFLATE=y 946CONFIG_ZLIB_DEFLATE=y
854CONFIG_PLIST=y 947CONFIG_DECOMPRESS_GZIP=y
855CONFIG_HAS_IOMEM=y 948CONFIG_HAS_IOMEM=y
856CONFIG_HAS_IOPORT=y 949CONFIG_HAS_IOPORT=y
857CONFIG_HAS_DMA=y 950CONFIG_HAS_DMA=y
858CONFIG_HAVE_LMB=y 951CONFIG_HAVE_LMB=y
952CONFIG_NLATTR=y
953CONFIG_GENERIC_ATOMIC64=y
859 954
860# 955#
861# Kernel hacking 956# Kernel hacking
@@ -865,6 +960,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
865CONFIG_ENABLE_MUST_CHECK=y 960CONFIG_ENABLE_MUST_CHECK=y
866CONFIG_FRAME_WARN=1024 961CONFIG_FRAME_WARN=1024
867CONFIG_MAGIC_SYSRQ=y 962CONFIG_MAGIC_SYSRQ=y
963# CONFIG_STRIP_ASM_SYMS is not set
868# CONFIG_UNUSED_SYMBOLS is not set 964# CONFIG_UNUSED_SYMBOLS is not set
869CONFIG_DEBUG_FS=y 965CONFIG_DEBUG_FS=y
870# CONFIG_HEADERS_CHECK is not set 966# CONFIG_HEADERS_CHECK is not set
@@ -873,16 +969,23 @@ CONFIG_DEBUG_KERNEL=y
873CONFIG_DETECT_SOFTLOCKUP=y 969CONFIG_DETECT_SOFTLOCKUP=y
874# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set 970# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
875CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 971CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
972CONFIG_DETECT_HUNG_TASK=y
973# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
974CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
876CONFIG_SCHED_DEBUG=y 975CONFIG_SCHED_DEBUG=y
877# CONFIG_SCHEDSTATS is not set 976# CONFIG_SCHEDSTATS is not set
878# CONFIG_TIMER_STATS is not set 977# CONFIG_TIMER_STATS is not set
879# CONFIG_DEBUG_OBJECTS is not set 978# CONFIG_DEBUG_OBJECTS is not set
880# CONFIG_SLUB_DEBUG_ON is not set 979# CONFIG_SLUB_DEBUG_ON is not set
881# CONFIG_SLUB_STATS is not set 980# CONFIG_SLUB_STATS is not set
981# CONFIG_DEBUG_KMEMLEAK is not set
882# CONFIG_DEBUG_RT_MUTEXES is not set 982# CONFIG_DEBUG_RT_MUTEXES is not set
883# CONFIG_RT_MUTEX_TESTER is not set 983# CONFIG_RT_MUTEX_TESTER is not set
884# CONFIG_DEBUG_SPINLOCK is not set 984# CONFIG_DEBUG_SPINLOCK is not set
885# CONFIG_DEBUG_MUTEXES is not set 985# CONFIG_DEBUG_MUTEXES is not set
986# CONFIG_DEBUG_LOCK_ALLOC is not set
987# CONFIG_PROVE_LOCKING is not set
988# CONFIG_LOCK_STAT is not set
886# CONFIG_DEBUG_SPINLOCK_SLEEP is not set 989# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
887# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set 990# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
888# CONFIG_DEBUG_KOBJECT is not set 991# CONFIG_DEBUG_KOBJECT is not set
@@ -894,35 +997,45 @@ CONFIG_SCHED_DEBUG=y
894# CONFIG_DEBUG_LIST is not set 997# CONFIG_DEBUG_LIST is not set
895# CONFIG_DEBUG_SG is not set 998# CONFIG_DEBUG_SG is not set
896# CONFIG_DEBUG_NOTIFIERS is not set 999# CONFIG_DEBUG_NOTIFIERS is not set
897# CONFIG_BOOT_PRINTK_DELAY is not set 1000# CONFIG_DEBUG_CREDENTIALS is not set
898# CONFIG_RCU_TORTURE_TEST is not set 1001# CONFIG_RCU_TORTURE_TEST is not set
899# CONFIG_RCU_CPU_STALL_DETECTOR is not set 1002# CONFIG_RCU_CPU_STALL_DETECTOR is not set
900# CONFIG_BACKTRACE_SELF_TEST is not set 1003# CONFIG_BACKTRACE_SELF_TEST is not set
901# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set 1004# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1005# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
902# CONFIG_FAULT_INJECTION is not set 1006# CONFIG_FAULT_INJECTION is not set
903# CONFIG_LATENCYTOP is not set 1007# CONFIG_LATENCYTOP is not set
904CONFIG_SYSCTL_SYSCALL_CHECK=y 1008CONFIG_SYSCTL_SYSCALL_CHECK=y
1009# CONFIG_DEBUG_PAGEALLOC is not set
905CONFIG_HAVE_FUNCTION_TRACER=y 1010CONFIG_HAVE_FUNCTION_TRACER=y
1011CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
906CONFIG_HAVE_DYNAMIC_FTRACE=y 1012CONFIG_HAVE_DYNAMIC_FTRACE=y
907CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 1013CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
908 1014CONFIG_TRACING_SUPPORT=y
909# 1015CONFIG_FTRACE=y
910# Tracers
911#
912# CONFIG_FUNCTION_TRACER is not set 1016# CONFIG_FUNCTION_TRACER is not set
1017# CONFIG_IRQSOFF_TRACER is not set
913# CONFIG_SCHED_TRACER is not set 1018# CONFIG_SCHED_TRACER is not set
914# CONFIG_CONTEXT_SWITCH_TRACER is not set 1019# CONFIG_ENABLE_DEFAULT_TRACERS is not set
915# CONFIG_BOOT_TRACER is not set 1020# CONFIG_BOOT_TRACER is not set
916# CONFIG_TRACE_BRANCH_PROFILING is not set 1021CONFIG_BRANCH_PROFILE_NONE=y
1022# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
1023# CONFIG_PROFILE_ALL_BRANCHES is not set
917# CONFIG_STACK_TRACER is not set 1024# CONFIG_STACK_TRACER is not set
918# CONFIG_DYNAMIC_PRINTK_DEBUG is not set 1025# CONFIG_KMEMTRACE is not set
1026# CONFIG_WORKQUEUE_TRACER is not set
1027# CONFIG_BLK_DEV_IO_TRACE is not set
1028# CONFIG_DYNAMIC_DEBUG is not set
1029# CONFIG_DMA_API_DEBUG is not set
919# CONFIG_SAMPLES is not set 1030# CONFIG_SAMPLES is not set
920CONFIG_HAVE_ARCH_KGDB=y 1031CONFIG_HAVE_ARCH_KGDB=y
921# CONFIG_KGDB is not set 1032# CONFIG_KGDB is not set
1033# CONFIG_PPC_DISABLE_WERROR is not set
1034CONFIG_PPC_WERROR=y
922CONFIG_PRINT_STACK_DEPTH=64 1035CONFIG_PRINT_STACK_DEPTH=64
923# CONFIG_DEBUG_STACKOVERFLOW is not set 1036# CONFIG_DEBUG_STACKOVERFLOW is not set
924# CONFIG_DEBUG_STACK_USAGE is not set 1037# CONFIG_DEBUG_STACK_USAGE is not set
925# CONFIG_DEBUG_PAGEALLOC is not set 1038# CONFIG_PPC_EMULATED_STATS is not set
926# CONFIG_CODE_PATCHING_SELFTEST is not set 1039# CONFIG_CODE_PATCHING_SELFTEST is not set
927# CONFIG_FTR_FIXUP_SELFTEST is not set 1040# CONFIG_FTR_FIXUP_SELFTEST is not set
928# CONFIG_MSI_BITMAP_SELFTEST is not set 1041# CONFIG_MSI_BITMAP_SELFTEST is not set
@@ -942,6 +1055,7 @@ CONFIG_PPC_EARLY_DEBUG=y
942CONFIG_PPC_EARLY_DEBUG_44x=y 1055CONFIG_PPC_EARLY_DEBUG_44x=y
943# CONFIG_PPC_EARLY_DEBUG_40x is not set 1056# CONFIG_PPC_EARLY_DEBUG_40x is not set
944# CONFIG_PPC_EARLY_DEBUG_CPM is not set 1057# CONFIG_PPC_EARLY_DEBUG_CPM is not set
1058# CONFIG_PPC_EARLY_DEBUG_USBGECKO is not set
945CONFIG_PPC_EARLY_DEBUG_44x_PHYSLOW=0xef600300 1059CONFIG_PPC_EARLY_DEBUG_44x_PHYSLOW=0xef600300
946CONFIG_PPC_EARLY_DEBUG_44x_PHYSHIGH=0x1 1060CONFIG_PPC_EARLY_DEBUG_44x_PHYSHIGH=0x1
947 1061
@@ -951,13 +1065,16 @@ CONFIG_PPC_EARLY_DEBUG_44x_PHYSHIGH=0x1
951# CONFIG_KEYS is not set 1065# CONFIG_KEYS is not set
952# CONFIG_SECURITY is not set 1066# CONFIG_SECURITY is not set
953# CONFIG_SECURITYFS is not set 1067# CONFIG_SECURITYFS is not set
954# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1068# CONFIG_DEFAULT_SECURITY_SELINUX is not set
1069# CONFIG_DEFAULT_SECURITY_SMACK is not set
1070# CONFIG_DEFAULT_SECURITY_TOMOYO is not set
1071CONFIG_DEFAULT_SECURITY_DAC=y
1072CONFIG_DEFAULT_SECURITY=""
955CONFIG_CRYPTO=y 1073CONFIG_CRYPTO=y
956 1074
957# 1075#
958# Crypto core or helper 1076# Crypto core or helper
959# 1077#
960# CONFIG_CRYPTO_FIPS is not set
961CONFIG_CRYPTO_ALGAPI=y 1078CONFIG_CRYPTO_ALGAPI=y
962CONFIG_CRYPTO_ALGAPI2=y 1079CONFIG_CRYPTO_ALGAPI2=y
963CONFIG_CRYPTO_AEAD2=y 1080CONFIG_CRYPTO_AEAD2=y
@@ -966,10 +1083,12 @@ CONFIG_CRYPTO_BLKCIPHER2=y
966CONFIG_CRYPTO_HASH=y 1083CONFIG_CRYPTO_HASH=y
967CONFIG_CRYPTO_HASH2=y 1084CONFIG_CRYPTO_HASH2=y
968CONFIG_CRYPTO_RNG2=y 1085CONFIG_CRYPTO_RNG2=y
1086CONFIG_CRYPTO_PCOMP=y
969CONFIG_CRYPTO_MANAGER=y 1087CONFIG_CRYPTO_MANAGER=y
970CONFIG_CRYPTO_MANAGER2=y 1088CONFIG_CRYPTO_MANAGER2=y
971# CONFIG_CRYPTO_GF128MUL is not set 1089# CONFIG_CRYPTO_GF128MUL is not set
972# CONFIG_CRYPTO_NULL is not set 1090# CONFIG_CRYPTO_NULL is not set
1091CONFIG_CRYPTO_WORKQUEUE=y
973# CONFIG_CRYPTO_CRYPTD is not set 1092# CONFIG_CRYPTO_CRYPTD is not set
974# CONFIG_CRYPTO_AUTHENC is not set 1093# CONFIG_CRYPTO_AUTHENC is not set
975# CONFIG_CRYPTO_TEST is not set 1094# CONFIG_CRYPTO_TEST is not set
@@ -997,11 +1116,13 @@ CONFIG_CRYPTO_PCBC=y
997# 1116#
998# CONFIG_CRYPTO_HMAC is not set 1117# CONFIG_CRYPTO_HMAC is not set
999# CONFIG_CRYPTO_XCBC is not set 1118# CONFIG_CRYPTO_XCBC is not set
1119# CONFIG_CRYPTO_VMAC is not set
1000 1120
1001# 1121#
1002# Digest 1122# Digest
1003# 1123#
1004# CONFIG_CRYPTO_CRC32C is not set 1124# CONFIG_CRYPTO_CRC32C is not set
1125# CONFIG_CRYPTO_GHASH is not set
1005# CONFIG_CRYPTO_MD4 is not set 1126# CONFIG_CRYPTO_MD4 is not set
1006CONFIG_CRYPTO_MD5=y 1127CONFIG_CRYPTO_MD5=y
1007# CONFIG_CRYPTO_MICHAEL_MIC is not set 1128# CONFIG_CRYPTO_MICHAEL_MIC is not set
@@ -1038,6 +1159,7 @@ CONFIG_CRYPTO_DES=y
1038# Compression 1159# Compression
1039# 1160#
1040# CONFIG_CRYPTO_DEFLATE is not set 1161# CONFIG_CRYPTO_DEFLATE is not set
1162# CONFIG_CRYPTO_ZLIB is not set
1041# CONFIG_CRYPTO_LZO is not set 1163# CONFIG_CRYPTO_LZO is not set
1042 1164
1043# 1165#
@@ -1046,5 +1168,6 @@ CONFIG_CRYPTO_DES=y
1046# CONFIG_CRYPTO_ANSI_CPRNG is not set 1168# CONFIG_CRYPTO_ANSI_CPRNG is not set
1047CONFIG_CRYPTO_HW=y 1169CONFIG_CRYPTO_HW=y
1048# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1170# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1171# CONFIG_CRYPTO_DEV_PPC4XX is not set
1049# CONFIG_PPC_CLOCK is not set 1172# CONFIG_PPC_CLOCK is not set
1050# CONFIG_VIRTUALIZATION is not set 1173# CONFIG_VIRTUALIZATION is not set
diff --git a/arch/powerpc/configs/44x/redwood_defconfig b/arch/powerpc/configs/44x/redwood_defconfig
index ed31d4f17b5a..684f40dc8a41 100644
--- a/arch/powerpc/configs/44x/redwood_defconfig
+++ b/arch/powerpc/configs/44x/redwood_defconfig
@@ -1,14 +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.29-rc3 3# Linux kernel version: 2.6.33-rc1
4# Wed Feb 4 14:31:09 2009 4# Mon Jan 4 15:05:05 2010
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
8# 8#
9# Processor support 9# Processor support
10# 10#
11# CONFIG_6xx is not set 11# CONFIG_PPC_BOOK3S_32 is not set
12# CONFIG_PPC_85xx is not set 12# CONFIG_PPC_85xx is not set
13# CONFIG_PPC_8xx is not set 13# CONFIG_PPC_8xx is not set
14# CONFIG_40x is not set 14# CONFIG_40x is not set
@@ -20,6 +20,7 @@ CONFIG_BOOKE=y
20CONFIG_PTE_64BIT=y 20CONFIG_PTE_64BIT=y
21CONFIG_PHYS_64BIT=y 21CONFIG_PHYS_64BIT=y
22CONFIG_PPC_MMU_NOHASH=y 22CONFIG_PPC_MMU_NOHASH=y
23CONFIG_PPC_MMU_NOHASH_32=y
23# CONFIG_PPC_MM_SLICES is not set 24# CONFIG_PPC_MM_SLICES is not set
24CONFIG_NOT_COHERENT_CACHE=y 25CONFIG_NOT_COHERENT_CACHE=y
25CONFIG_PPC32=y 26CONFIG_PPC32=y
@@ -31,15 +32,18 @@ CONFIG_GENERIC_TIME=y
31CONFIG_GENERIC_TIME_VSYSCALL=y 32CONFIG_GENERIC_TIME_VSYSCALL=y
32CONFIG_GENERIC_CLOCKEVENTS=y 33CONFIG_GENERIC_CLOCKEVENTS=y
33CONFIG_GENERIC_HARDIRQS=y 34CONFIG_GENERIC_HARDIRQS=y
35CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
34# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 36# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
37# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
35CONFIG_IRQ_PER_CPU=y 38CONFIG_IRQ_PER_CPU=y
39CONFIG_NR_IRQS=512
36CONFIG_STACKTRACE_SUPPORT=y 40CONFIG_STACKTRACE_SUPPORT=y
37CONFIG_HAVE_LATENCYTOP_SUPPORT=y 41CONFIG_HAVE_LATENCYTOP_SUPPORT=y
42CONFIG_TRACE_IRQFLAGS_SUPPORT=y
38CONFIG_LOCKDEP_SUPPORT=y 43CONFIG_LOCKDEP_SUPPORT=y
39CONFIG_RWSEM_XCHGADD_ALGORITHM=y 44CONFIG_RWSEM_XCHGADD_ALGORITHM=y
40CONFIG_ARCH_HAS_ILOG2_U32=y 45CONFIG_ARCH_HAS_ILOG2_U32=y
41CONFIG_GENERIC_HWEIGHT=y 46CONFIG_GENERIC_HWEIGHT=y
42CONFIG_GENERIC_CALIBRATE_DELAY=y
43CONFIG_GENERIC_FIND_NEXT_BIT=y 47CONFIG_GENERIC_FIND_NEXT_BIT=y
44# CONFIG_ARCH_NO_VIRT_TO_BUS is not set 48# CONFIG_ARCH_NO_VIRT_TO_BUS is not set
45CONFIG_PPC=y 49CONFIG_PPC=y
@@ -53,11 +57,15 @@ CONFIG_PPC_UDBG_16550=y
53# CONFIG_GENERIC_TBSYNC is not set 57# CONFIG_GENERIC_TBSYNC is not set
54CONFIG_AUDIT_ARCH=y 58CONFIG_AUDIT_ARCH=y
55CONFIG_GENERIC_BUG=y 59CONFIG_GENERIC_BUG=y
60CONFIG_DTC=y
56# CONFIG_DEFAULT_UIMAGE is not set 61# CONFIG_DEFAULT_UIMAGE is not set
62CONFIG_ARCH_HIBERNATION_POSSIBLE=y
57CONFIG_PPC_DCR_NATIVE=y 63CONFIG_PPC_DCR_NATIVE=y
58# CONFIG_PPC_DCR_MMIO is not set 64# CONFIG_PPC_DCR_MMIO is not set
59CONFIG_PPC_DCR=y 65CONFIG_PPC_DCR=y
66CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
60CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 67CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
68CONFIG_CONSTRUCTORS=y
61 69
62# 70#
63# General setup 71# General setup
@@ -71,6 +79,7 @@ CONFIG_SWAP=y
71CONFIG_SYSVIPC=y 79CONFIG_SYSVIPC=y
72CONFIG_SYSVIPC_SYSCTL=y 80CONFIG_SYSVIPC_SYSCTL=y
73CONFIG_POSIX_MQUEUE=y 81CONFIG_POSIX_MQUEUE=y
82CONFIG_POSIX_MQUEUE_SYSCTL=y
74# CONFIG_BSD_PROCESS_ACCT is not set 83# CONFIG_BSD_PROCESS_ACCT is not set
75# CONFIG_TASKSTATS is not set 84# CONFIG_TASKSTATS is not set
76# CONFIG_AUDIT is not set 85# CONFIG_AUDIT is not set
@@ -78,23 +87,28 @@ CONFIG_POSIX_MQUEUE=y
78# 87#
79# RCU Subsystem 88# RCU Subsystem
80# 89#
81CONFIG_CLASSIC_RCU=y 90CONFIG_TREE_RCU=y
82# CONFIG_TREE_RCU is not set 91# CONFIG_TREE_PREEMPT_RCU is not set
83# CONFIG_PREEMPT_RCU is not set 92# CONFIG_TINY_RCU is not set
93# CONFIG_RCU_TRACE is not set
94CONFIG_RCU_FANOUT=32
95# CONFIG_RCU_FANOUT_EXACT is not set
84# CONFIG_TREE_RCU_TRACE is not set 96# CONFIG_TREE_RCU_TRACE is not set
85# CONFIG_PREEMPT_RCU_TRACE is not set
86# CONFIG_IKCONFIG is not set 97# CONFIG_IKCONFIG is not set
87CONFIG_LOG_BUF_SHIFT=14 98CONFIG_LOG_BUF_SHIFT=14
88# CONFIG_GROUP_SCHED is not set 99# CONFIG_GROUP_SCHED is not set
89# CONFIG_CGROUPS is not set 100# CONFIG_CGROUPS is not set
90CONFIG_SYSFS_DEPRECATED=y 101# CONFIG_SYSFS_DEPRECATED_V2 is not set
91CONFIG_SYSFS_DEPRECATED_V2=y
92# CONFIG_RELAY is not set 102# CONFIG_RELAY is not set
93# CONFIG_NAMESPACES is not set 103# CONFIG_NAMESPACES is not set
94CONFIG_BLK_DEV_INITRD=y 104CONFIG_BLK_DEV_INITRD=y
95CONFIG_INITRAMFS_SOURCE="" 105CONFIG_INITRAMFS_SOURCE=""
106CONFIG_RD_GZIP=y
107# CONFIG_RD_BZIP2 is not set
108# CONFIG_RD_LZMA is not set
96# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 109# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
97CONFIG_SYSCTL=y 110CONFIG_SYSCTL=y
111CONFIG_ANON_INODES=y
98CONFIG_EMBEDDED=y 112CONFIG_EMBEDDED=y
99CONFIG_SYSCTL_SYSCALL=y 113CONFIG_SYSCTL_SYSCALL=y
100CONFIG_KALLSYMS=y 114CONFIG_KALLSYMS=y
@@ -104,19 +118,25 @@ CONFIG_HOTPLUG=y
104CONFIG_PRINTK=y 118CONFIG_PRINTK=y
105CONFIG_BUG=y 119CONFIG_BUG=y
106CONFIG_ELF_CORE=y 120CONFIG_ELF_CORE=y
107CONFIG_COMPAT_BRK=y
108CONFIG_BASE_FULL=y 121CONFIG_BASE_FULL=y
109CONFIG_FUTEX=y 122CONFIG_FUTEX=y
110CONFIG_ANON_INODES=y
111CONFIG_EPOLL=y 123CONFIG_EPOLL=y
112CONFIG_SIGNALFD=y 124CONFIG_SIGNALFD=y
113CONFIG_TIMERFD=y 125CONFIG_TIMERFD=y
114CONFIG_EVENTFD=y 126CONFIG_EVENTFD=y
115CONFIG_SHMEM=y 127CONFIG_SHMEM=y
116CONFIG_AIO=y 128CONFIG_AIO=y
129CONFIG_HAVE_PERF_EVENTS=y
130
131#
132# Kernel Performance Events And Counters
133#
134# CONFIG_PERF_EVENTS is not set
135# CONFIG_PERF_COUNTERS is not set
117CONFIG_VM_EVENT_COUNTERS=y 136CONFIG_VM_EVENT_COUNTERS=y
118CONFIG_PCI_QUIRKS=y 137CONFIG_PCI_QUIRKS=y
119CONFIG_SLUB_DEBUG=y 138CONFIG_SLUB_DEBUG=y
139CONFIG_COMPAT_BRK=y
120# CONFIG_SLAB is not set 140# CONFIG_SLAB is not set
121CONFIG_SLUB=y 141CONFIG_SLUB=y
122# CONFIG_SLOB is not set 142# CONFIG_SLOB is not set
@@ -128,6 +148,14 @@ CONFIG_HAVE_IOREMAP_PROT=y
128CONFIG_HAVE_KPROBES=y 148CONFIG_HAVE_KPROBES=y
129CONFIG_HAVE_KRETPROBES=y 149CONFIG_HAVE_KRETPROBES=y
130CONFIG_HAVE_ARCH_TRACEHOOK=y 150CONFIG_HAVE_ARCH_TRACEHOOK=y
151CONFIG_HAVE_DMA_ATTRS=y
152CONFIG_HAVE_DMA_API_DEBUG=y
153
154#
155# GCOV-based kernel profiling
156#
157# CONFIG_GCOV_KERNEL is not set
158# CONFIG_SLOW_WORK is not set
131# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 159# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
132CONFIG_SLABINFO=y 160CONFIG_SLABINFO=y
133CONFIG_RT_MUTEXES=y 161CONFIG_RT_MUTEXES=y
@@ -139,8 +167,7 @@ CONFIG_MODULE_UNLOAD=y
139# CONFIG_MODVERSIONS is not set 167# CONFIG_MODVERSIONS is not set
140# CONFIG_MODULE_SRCVERSION_ALL is not set 168# CONFIG_MODULE_SRCVERSION_ALL is not set
141CONFIG_BLOCK=y 169CONFIG_BLOCK=y
142CONFIG_LBD=y 170CONFIG_LBDAF=y
143# CONFIG_BLK_DEV_IO_TRACE is not set
144# CONFIG_BLK_DEV_BSG is not set 171# CONFIG_BLK_DEV_BSG is not set
145# CONFIG_BLK_DEV_INTEGRITY is not set 172# CONFIG_BLK_DEV_INTEGRITY is not set
146 173
@@ -148,14 +175,41 @@ CONFIG_LBD=y
148# IO Schedulers 175# IO Schedulers
149# 176#
150CONFIG_IOSCHED_NOOP=y 177CONFIG_IOSCHED_NOOP=y
151CONFIG_IOSCHED_AS=y
152CONFIG_IOSCHED_DEADLINE=y 178CONFIG_IOSCHED_DEADLINE=y
153CONFIG_IOSCHED_CFQ=y 179CONFIG_IOSCHED_CFQ=y
154CONFIG_DEFAULT_AS=y
155# CONFIG_DEFAULT_DEADLINE is not set 180# CONFIG_DEFAULT_DEADLINE is not set
156# CONFIG_DEFAULT_CFQ is not set 181CONFIG_DEFAULT_CFQ=y
157# CONFIG_DEFAULT_NOOP is not set 182# CONFIG_DEFAULT_NOOP is not set
158CONFIG_DEFAULT_IOSCHED="anticipatory" 183CONFIG_DEFAULT_IOSCHED="cfq"
184# CONFIG_INLINE_SPIN_TRYLOCK is not set
185# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
186# CONFIG_INLINE_SPIN_LOCK is not set
187# CONFIG_INLINE_SPIN_LOCK_BH is not set
188# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
189# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
190CONFIG_INLINE_SPIN_UNLOCK=y
191# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
192CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
193# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
194# CONFIG_INLINE_READ_TRYLOCK is not set
195# CONFIG_INLINE_READ_LOCK is not set
196# CONFIG_INLINE_READ_LOCK_BH is not set
197# CONFIG_INLINE_READ_LOCK_IRQ is not set
198# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
199CONFIG_INLINE_READ_UNLOCK=y
200# CONFIG_INLINE_READ_UNLOCK_BH is not set
201CONFIG_INLINE_READ_UNLOCK_IRQ=y
202# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
203# CONFIG_INLINE_WRITE_TRYLOCK is not set
204# CONFIG_INLINE_WRITE_LOCK is not set
205# CONFIG_INLINE_WRITE_LOCK_BH is not set
206# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
207# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
208CONFIG_INLINE_WRITE_UNLOCK=y
209# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
210CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
211# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
212# CONFIG_MUTEX_SPIN_ON_OWNER is not set
159# CONFIG_FREEZER is not set 213# CONFIG_FREEZER is not set
160CONFIG_PPC4xx_PCI_EXPRESS=y 214CONFIG_PPC4xx_PCI_EXPRESS=y
161 215
@@ -177,6 +231,7 @@ CONFIG_PPC4xx_PCI_EXPRESS=y
177# CONFIG_CANYONLANDS is not set 231# CONFIG_CANYONLANDS is not set
178# CONFIG_GLACIER is not set 232# CONFIG_GLACIER is not set
179CONFIG_REDWOOD=y 233CONFIG_REDWOOD=y
234# CONFIG_EIGER is not set
180# CONFIG_YOSEMITE is not set 235# CONFIG_YOSEMITE is not set
181# CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set 236# CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set
182CONFIG_PPC44x_SIMPLE=y 237CONFIG_PPC44x_SIMPLE=y
@@ -219,10 +274,12 @@ CONFIG_BINFMT_ELF=y
219# CONFIG_BINFMT_MISC is not set 274# CONFIG_BINFMT_MISC is not set
220# CONFIG_MATH_EMULATION is not set 275# CONFIG_MATH_EMULATION is not set
221# CONFIG_IOMMU_HELPER is not set 276# CONFIG_IOMMU_HELPER is not set
222CONFIG_PPC_NEED_DMA_SYNC_OPS=y 277# CONFIG_SWIOTLB is not set
223CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 278CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
224CONFIG_ARCH_HAS_WALK_MEMORY=y 279CONFIG_ARCH_HAS_WALK_MEMORY=y
225CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 280CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
281CONFIG_SPARSE_IRQ=y
282CONFIG_MAX_ACTIVE_REGIONS=32
226CONFIG_ARCH_FLATMEM_ENABLE=y 283CONFIG_ARCH_FLATMEM_ENABLE=y
227CONFIG_ARCH_POPULATES_NODE_MAP=y 284CONFIG_ARCH_POPULATES_NODE_MAP=y
228CONFIG_SELECT_MEMORY_MODEL=y 285CONFIG_SELECT_MEMORY_MODEL=y
@@ -238,10 +295,13 @@ CONFIG_PHYS_ADDR_T_64BIT=y
238CONFIG_ZONE_DMA_FLAG=1 295CONFIG_ZONE_DMA_FLAG=1
239CONFIG_BOUNCE=y 296CONFIG_BOUNCE=y
240CONFIG_VIRT_TO_BUS=y 297CONFIG_VIRT_TO_BUS=y
241CONFIG_UNEVICTABLE_LRU=y 298# CONFIG_KSM is not set
299CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
300CONFIG_STDBINUTILS=y
242CONFIG_PPC_4K_PAGES=y 301CONFIG_PPC_4K_PAGES=y
243# CONFIG_PPC_16K_PAGES is not set 302# CONFIG_PPC_16K_PAGES is not set
244# CONFIG_PPC_64K_PAGES is not set 303# CONFIG_PPC_64K_PAGES is not set
304# CONFIG_PPC_256K_PAGES is not set
245CONFIG_FORCE_MAX_ZONEORDER=11 305CONFIG_FORCE_MAX_ZONEORDER=11
246CONFIG_PROC_DEVICETREE=y 306CONFIG_PROC_DEVICETREE=y
247CONFIG_CMDLINE_BOOL=y 307CONFIG_CMDLINE_BOOL=y
@@ -262,12 +322,15 @@ CONFIG_PCI_DOMAINS=y
262CONFIG_PCI_SYSCALL=y 322CONFIG_PCI_SYSCALL=y
263CONFIG_PCIEPORTBUS=y 323CONFIG_PCIEPORTBUS=y
264CONFIG_PCIEAER=y 324CONFIG_PCIEAER=y
325# CONFIG_PCIE_ECRC is not set
326# CONFIG_PCIEAER_INJECT is not set
265# CONFIG_PCIEASPM is not set 327# CONFIG_PCIEASPM is not set
266CONFIG_ARCH_SUPPORTS_MSI=y 328CONFIG_ARCH_SUPPORTS_MSI=y
267# CONFIG_PCI_MSI is not set 329# CONFIG_PCI_MSI is not set
268# CONFIG_PCI_LEGACY is not set 330# CONFIG_PCI_LEGACY is not set
269# CONFIG_PCI_DEBUG is not set 331# CONFIG_PCI_DEBUG is not set
270# CONFIG_PCI_STUB is not set 332# CONFIG_PCI_STUB is not set
333# CONFIG_PCI_IOV is not set
271# CONFIG_PCCARD is not set 334# CONFIG_PCCARD is not set
272# CONFIG_HOTPLUG_PCI is not set 335# CONFIG_HOTPLUG_PCI is not set
273# CONFIG_HAS_RAPIDIO is not set 336# CONFIG_HAS_RAPIDIO is not set
@@ -285,14 +348,12 @@ CONFIG_PAGE_OFFSET=0xc0000000
285CONFIG_KERNEL_START=0xc0000000 348CONFIG_KERNEL_START=0xc0000000
286CONFIG_PHYSICAL_START=0x00000000 349CONFIG_PHYSICAL_START=0x00000000
287CONFIG_TASK_SIZE=0xc0000000 350CONFIG_TASK_SIZE=0xc0000000
288CONFIG_CONSISTENT_START=0xff100000
289CONFIG_CONSISTENT_SIZE=0x00200000 351CONFIG_CONSISTENT_SIZE=0x00200000
290CONFIG_NET=y 352CONFIG_NET=y
291 353
292# 354#
293# Networking options 355# Networking options
294# 356#
295CONFIG_COMPAT_NET_DEV_OPS=y
296CONFIG_PACKET=y 357CONFIG_PACKET=y
297# CONFIG_PACKET_MMAP is not set 358# CONFIG_PACKET_MMAP is not set
298CONFIG_UNIX=y 359CONFIG_UNIX=y
@@ -329,6 +390,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
329# CONFIG_NETFILTER is not set 390# CONFIG_NETFILTER is not set
330# CONFIG_IP_DCCP is not set 391# CONFIG_IP_DCCP is not set
331# CONFIG_IP_SCTP is not set 392# CONFIG_IP_SCTP is not set
393# CONFIG_RDS is not set
332# CONFIG_TIPC is not set 394# CONFIG_TIPC is not set
333# CONFIG_ATM is not set 395# CONFIG_ATM is not set
334# CONFIG_BRIDGE is not set 396# CONFIG_BRIDGE is not set
@@ -342,6 +404,8 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
342# CONFIG_LAPB is not set 404# CONFIG_LAPB is not set
343# CONFIG_ECONET is not set 405# CONFIG_ECONET is not set
344# CONFIG_WAN_ROUTER is not set 406# CONFIG_WAN_ROUTER is not set
407# CONFIG_PHONET is not set
408# CONFIG_IEEE802154 is not set
345# CONFIG_NET_SCHED is not set 409# CONFIG_NET_SCHED is not set
346# CONFIG_DCB is not set 410# CONFIG_DCB is not set
347 411
@@ -354,13 +418,13 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
354# CONFIG_IRDA is not set 418# CONFIG_IRDA is not set
355# CONFIG_BT is not set 419# CONFIG_BT is not set
356# CONFIG_AF_RXRPC is not set 420# CONFIG_AF_RXRPC is not set
357# CONFIG_PHONET is not set
358CONFIG_WIRELESS=y 421CONFIG_WIRELESS=y
359# CONFIG_CFG80211 is not set 422# CONFIG_CFG80211 is not set
360CONFIG_WIRELESS_OLD_REGULATORY=y
361# CONFIG_WIRELESS_EXT is not set
362# CONFIG_LIB80211 is not set 423# CONFIG_LIB80211 is not set
363# CONFIG_MAC80211 is not set 424
425#
426# CFG80211 needs to be enabled for MAC80211
427#
364# CONFIG_WIMAX is not set 428# CONFIG_WIMAX is not set
365# CONFIG_RFKILL is not set 429# CONFIG_RFKILL is not set
366# CONFIG_NET_9P is not set 430# CONFIG_NET_9P is not set
@@ -373,6 +437,7 @@ CONFIG_WIRELESS_OLD_REGULATORY=y
373# Generic Driver Options 437# Generic Driver Options
374# 438#
375CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 439CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
440# CONFIG_DEVTMPFS is not set
376CONFIG_STANDALONE=y 441CONFIG_STANDALONE=y
377CONFIG_PREVENT_FIRMWARE_BUILD=y 442CONFIG_PREVENT_FIRMWARE_BUILD=y
378CONFIG_FW_LOADER=y 443CONFIG_FW_LOADER=y
@@ -385,9 +450,9 @@ CONFIG_CONNECTOR=y
385CONFIG_PROC_EVENTS=y 450CONFIG_PROC_EVENTS=y
386CONFIG_MTD=y 451CONFIG_MTD=y
387# CONFIG_MTD_DEBUG is not set 452# CONFIG_MTD_DEBUG is not set
453# CONFIG_MTD_TESTS is not set
388CONFIG_MTD_CONCAT=y 454CONFIG_MTD_CONCAT=y
389CONFIG_MTD_PARTITIONS=y 455CONFIG_MTD_PARTITIONS=y
390# CONFIG_MTD_TESTS is not set
391# CONFIG_MTD_REDBOOT_PARTS is not set 456# CONFIG_MTD_REDBOOT_PARTS is not set
392CONFIG_MTD_CMDLINE_PARTS=y 457CONFIG_MTD_CMDLINE_PARTS=y
393CONFIG_MTD_OF_PARTS=y 458CONFIG_MTD_OF_PARTS=y
@@ -462,7 +527,6 @@ CONFIG_MTD_PHYSMAP_OF=y
462# LPDDR flash memory drivers 527# LPDDR flash memory drivers
463# 528#
464# CONFIG_MTD_LPDDR is not set 529# CONFIG_MTD_LPDDR is not set
465# CONFIG_MTD_QINFO_PROBE is not set
466 530
467# 531#
468# UBI - Unsorted block images 532# UBI - Unsorted block images
@@ -479,6 +543,7 @@ CONFIG_BLK_DEV=y
479# CONFIG_BLK_DEV_UMEM is not set 543# CONFIG_BLK_DEV_UMEM is not set
480# CONFIG_BLK_DEV_COW_COMMON is not set 544# CONFIG_BLK_DEV_COW_COMMON is not set
481# CONFIG_BLK_DEV_LOOP is not set 545# CONFIG_BLK_DEV_LOOP is not set
546# CONFIG_BLK_DEV_DRBD is not set
482# CONFIG_BLK_DEV_NBD is not set 547# CONFIG_BLK_DEV_NBD is not set
483# CONFIG_BLK_DEV_SX8 is not set 548# CONFIG_BLK_DEV_SX8 is not set
484CONFIG_BLK_DEV_RAM=y 549CONFIG_BLK_DEV_RAM=y
@@ -512,10 +577,6 @@ CONFIG_BLK_DEV_SD=y
512# CONFIG_BLK_DEV_SR is not set 577# CONFIG_BLK_DEV_SR is not set
513CONFIG_CHR_DEV_SG=y 578CONFIG_CHR_DEV_SG=y
514# CONFIG_CHR_DEV_SCH is not set 579# CONFIG_CHR_DEV_SCH is not set
515
516#
517# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
518#
519# CONFIG_SCSI_MULTI_LUN is not set 580# CONFIG_SCSI_MULTI_LUN is not set
520# CONFIG_SCSI_CONSTANTS is not set 581# CONFIG_SCSI_CONSTANTS is not set
521# CONFIG_SCSI_LOGGING is not set 582# CONFIG_SCSI_LOGGING is not set
@@ -533,23 +594,30 @@ CONFIG_SCSI_SAS_ATTRS=y
533# CONFIG_SCSI_SRP_ATTRS is not set 594# CONFIG_SCSI_SRP_ATTRS is not set
534CONFIG_SCSI_LOWLEVEL=y 595CONFIG_SCSI_LOWLEVEL=y
535# CONFIG_ISCSI_TCP is not set 596# CONFIG_ISCSI_TCP is not set
597# CONFIG_SCSI_BNX2_ISCSI is not set
598# CONFIG_BE2ISCSI is not set
536# CONFIG_BLK_DEV_3W_XXXX_RAID is not set 599# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
600# CONFIG_SCSI_HPSA is not set
537# CONFIG_SCSI_3W_9XXX is not set 601# CONFIG_SCSI_3W_9XXX is not set
602# CONFIG_SCSI_3W_SAS is not set
538# CONFIG_SCSI_ACARD is not set 603# CONFIG_SCSI_ACARD is not set
539# CONFIG_SCSI_AACRAID is not set 604# CONFIG_SCSI_AACRAID is not set
540# CONFIG_SCSI_AIC7XXX is not set 605# CONFIG_SCSI_AIC7XXX is not set
541# CONFIG_SCSI_AIC7XXX_OLD is not set 606# CONFIG_SCSI_AIC7XXX_OLD is not set
542# CONFIG_SCSI_AIC79XX is not set 607# CONFIG_SCSI_AIC79XX is not set
543# CONFIG_SCSI_AIC94XX is not set 608# CONFIG_SCSI_AIC94XX is not set
609# CONFIG_SCSI_MVSAS is not set
544# CONFIG_SCSI_DPT_I2O is not set 610# CONFIG_SCSI_DPT_I2O is not set
545# CONFIG_SCSI_ADVANSYS is not set 611# CONFIG_SCSI_ADVANSYS is not set
546# CONFIG_SCSI_ARCMSR is not set 612# CONFIG_SCSI_ARCMSR is not set
547# CONFIG_MEGARAID_NEWGEN is not set 613# CONFIG_MEGARAID_NEWGEN is not set
548# CONFIG_MEGARAID_LEGACY is not set 614# CONFIG_MEGARAID_LEGACY is not set
549# CONFIG_MEGARAID_SAS is not set 615# CONFIG_MEGARAID_SAS is not set
616# CONFIG_SCSI_MPT2SAS is not set
550# CONFIG_SCSI_HPTIOP is not set 617# CONFIG_SCSI_HPTIOP is not set
551# CONFIG_SCSI_BUSLOGIC is not set 618# CONFIG_SCSI_BUSLOGIC is not set
552# CONFIG_LIBFC is not set 619# CONFIG_LIBFC is not set
620# CONFIG_LIBFCOE is not set
553# CONFIG_FCOE is not set 621# CONFIG_FCOE is not set
554# CONFIG_SCSI_DMX3191D is not set 622# CONFIG_SCSI_DMX3191D is not set
555# CONFIG_SCSI_EATA is not set 623# CONFIG_SCSI_EATA is not set
@@ -558,7 +626,6 @@ CONFIG_SCSI_LOWLEVEL=y
558# CONFIG_SCSI_IPS is not set 626# CONFIG_SCSI_IPS is not set
559# CONFIG_SCSI_INITIO is not set 627# CONFIG_SCSI_INITIO is not set
560# CONFIG_SCSI_INIA100 is not set 628# CONFIG_SCSI_INIA100 is not set
561# CONFIG_SCSI_MVSAS is not set
562# CONFIG_SCSI_STEX is not set 629# CONFIG_SCSI_STEX is not set
563# CONFIG_SCSI_SYM53C8XX_2 is not set 630# CONFIG_SCSI_SYM53C8XX_2 is not set
564# CONFIG_SCSI_QLOGIC_1280 is not set 631# CONFIG_SCSI_QLOGIC_1280 is not set
@@ -569,8 +636,12 @@ CONFIG_SCSI_LOWLEVEL=y
569# CONFIG_SCSI_DC390T is not set 636# CONFIG_SCSI_DC390T is not set
570# CONFIG_SCSI_NSP32 is not set 637# CONFIG_SCSI_NSP32 is not set
571# CONFIG_SCSI_DEBUG is not set 638# CONFIG_SCSI_DEBUG is not set
639# CONFIG_SCSI_PMCRAID is not set
640# CONFIG_SCSI_PM8001 is not set
572# CONFIG_SCSI_SRP is not set 641# CONFIG_SCSI_SRP is not set
642# CONFIG_SCSI_BFA_FC is not set
573# CONFIG_SCSI_DH is not set 643# CONFIG_SCSI_DH is not set
644# CONFIG_SCSI_OSD_INITIATOR is not set
574# CONFIG_ATA is not set 645# CONFIG_ATA is not set
575# CONFIG_MD is not set 646# CONFIG_MD is not set
576CONFIG_FUSION=y 647CONFIG_FUSION=y
@@ -586,7 +657,11 @@ CONFIG_FUSION_MAX_SGE=128
586# 657#
587 658
588# 659#
589# Enable only one of the two stacks, unless you know what you are doing 660# You can enable one or both FireWire driver stacks.
661#
662
663#
664# See the help texts for more information.
590# 665#
591# CONFIG_FIREWIRE is not set 666# CONFIG_FIREWIRE is not set
592# CONFIG_IEEE1394 is not set 667# CONFIG_IEEE1394 is not set
@@ -614,6 +689,8 @@ CONFIG_NET_ETHERNET=y
614# CONFIG_SUNGEM is not set 689# CONFIG_SUNGEM is not set
615# CONFIG_CASSINI is not set 690# CONFIG_CASSINI is not set
616# CONFIG_NET_VENDOR_3COM is not set 691# CONFIG_NET_VENDOR_3COM is not set
692# CONFIG_ETHOC is not set
693# CONFIG_DNET is not set
617# CONFIG_NET_TULIP is not set 694# CONFIG_NET_TULIP is not set
618# CONFIG_HP100 is not set 695# CONFIG_HP100 is not set
619CONFIG_IBM_NEW_EMAC=y 696CONFIG_IBM_NEW_EMAC=y
@@ -632,7 +709,10 @@ CONFIG_IBM_NEW_EMAC_EMAC4=y
632# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set 709# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
633# CONFIG_NET_PCI is not set 710# CONFIG_NET_PCI is not set
634# CONFIG_B44 is not set 711# CONFIG_B44 is not set
712# CONFIG_KS8842 is not set
713# CONFIG_KS8851_MLL is not set
635# CONFIG_ATL2 is not set 714# CONFIG_ATL2 is not set
715# CONFIG_XILINX_EMACLITE is not set
636CONFIG_NETDEV_1000=y 716CONFIG_NETDEV_1000=y
637# CONFIG_ACENIC is not set 717# CONFIG_ACENIC is not set
638# CONFIG_DL2K is not set 718# CONFIG_DL2K is not set
@@ -640,6 +720,7 @@ CONFIG_NETDEV_1000=y
640CONFIG_E1000E=y 720CONFIG_E1000E=y
641# CONFIG_IP1000 is not set 721# CONFIG_IP1000 is not set
642# CONFIG_IGB is not set 722# CONFIG_IGB is not set
723# CONFIG_IGBVF is not set
643# CONFIG_NS83820 is not set 724# CONFIG_NS83820 is not set
644# CONFIG_HAMACHI is not set 725# CONFIG_HAMACHI is not set
645# CONFIG_YELLOWFIN is not set 726# CONFIG_YELLOWFIN is not set
@@ -650,19 +731,21 @@ CONFIG_E1000E=y
650# CONFIG_VIA_VELOCITY is not set 731# CONFIG_VIA_VELOCITY is not set
651# CONFIG_TIGON3 is not set 732# CONFIG_TIGON3 is not set
652# CONFIG_BNX2 is not set 733# CONFIG_BNX2 is not set
734# CONFIG_CNIC is not set
735# CONFIG_MV643XX_ETH is not set
736# CONFIG_XILINX_LL_TEMAC is not set
653# CONFIG_QLA3XXX is not set 737# CONFIG_QLA3XXX is not set
654# CONFIG_ATL1 is not set 738# CONFIG_ATL1 is not set
655# CONFIG_ATL1E is not set 739# CONFIG_ATL1E is not set
740# CONFIG_ATL1C is not set
656# CONFIG_JME is not set 741# CONFIG_JME is not set
657# CONFIG_NETDEV_10000 is not set 742# CONFIG_NETDEV_10000 is not set
658# CONFIG_TR is not set 743# CONFIG_TR is not set
659 744CONFIG_WLAN=y
660# 745# CONFIG_AIRO is not set
661# Wireless LAN 746# CONFIG_ATMEL is not set
662# 747# CONFIG_PRISM54 is not set
663# CONFIG_WLAN_PRE80211 is not set 748# CONFIG_HOSTAP is not set
664# CONFIG_WLAN_80211 is not set
665# CONFIG_IWLWIFI_LEDS is not set
666 749
667# 750#
668# Enable WiMAX (Networking options) to see the WiMAX drivers 751# Enable WiMAX (Networking options) to see the WiMAX drivers
@@ -676,6 +759,7 @@ CONFIG_E1000E=y
676# CONFIG_NETCONSOLE is not set 759# CONFIG_NETCONSOLE is not set
677# CONFIG_NETPOLL is not set 760# CONFIG_NETPOLL is not set
678# CONFIG_NET_POLL_CONTROLLER is not set 761# CONFIG_NET_POLL_CONTROLLER is not set
762# CONFIG_VMXNET3 is not set
679# CONFIG_ISDN is not set 763# CONFIG_ISDN is not set
680# CONFIG_PHONE is not set 764# CONFIG_PHONE is not set
681 765
@@ -721,6 +805,7 @@ CONFIG_SERIAL_CORE_CONSOLE=y
721# CONFIG_SERIAL_JSM is not set 805# CONFIG_SERIAL_JSM is not set
722CONFIG_SERIAL_OF_PLATFORM=y 806CONFIG_SERIAL_OF_PLATFORM=y
723# CONFIG_SERIAL_OF_PLATFORM_NWPSERIAL is not set 807# CONFIG_SERIAL_OF_PLATFORM_NWPSERIAL is not set
808# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set
724CONFIG_UNIX98_PTYS=y 809CONFIG_UNIX98_PTYS=y
725# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set 810# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
726CONFIG_LEGACY_PTYS=y 811CONFIG_LEGACY_PTYS=y
@@ -737,6 +822,7 @@ CONFIG_LEGACY_PTY_COUNT=256
737CONFIG_DEVPORT=y 822CONFIG_DEVPORT=y
738CONFIG_I2C=y 823CONFIG_I2C=y
739CONFIG_I2C_BOARDINFO=y 824CONFIG_I2C_BOARDINFO=y
825CONFIG_I2C_COMPAT=y
740CONFIG_I2C_CHARDEV=y 826CONFIG_I2C_CHARDEV=y
741CONFIG_I2C_HELPER_AUTO=y 827CONFIG_I2C_HELPER_AUTO=y
742 828
@@ -777,11 +863,6 @@ CONFIG_I2C_IBM_IIC=y
777# CONFIG_I2C_TAOS_EVM is not set 863# CONFIG_I2C_TAOS_EVM is not set
778 864
779# 865#
780# Graphics adapter I2C/DDC channel drivers
781#
782# CONFIG_I2C_VOODOO3 is not set
783
784#
785# Other I2C/SMBus bus drivers 866# Other I2C/SMBus bus drivers
786# 867#
787# CONFIG_I2C_PCA_PLATFORM is not set 868# CONFIG_I2C_PCA_PLATFORM is not set
@@ -790,25 +871,23 @@ CONFIG_I2C_IBM_IIC=y
790# 871#
791# Miscellaneous I2C Chip support 872# Miscellaneous I2C Chip support
792# 873#
793# CONFIG_DS1682 is not set
794# CONFIG_SENSORS_PCF8574 is not set
795# CONFIG_PCF8575 is not set
796# CONFIG_SENSORS_PCA9539 is not set
797# CONFIG_SENSORS_PCF8591 is not set
798# CONFIG_SENSORS_MAX6875 is not set
799# CONFIG_SENSORS_TSL2550 is not set 874# CONFIG_SENSORS_TSL2550 is not set
800CONFIG_I2C_DEBUG_CORE=y 875CONFIG_I2C_DEBUG_CORE=y
801CONFIG_I2C_DEBUG_ALGO=y 876CONFIG_I2C_DEBUG_ALGO=y
802CONFIG_I2C_DEBUG_BUS=y 877CONFIG_I2C_DEBUG_BUS=y
803CONFIG_I2C_DEBUG_CHIP=y 878CONFIG_I2C_DEBUG_CHIP=y
804# CONFIG_SPI is not set 879# CONFIG_SPI is not set
880
881#
882# PPS support
883#
884# CONFIG_PPS is not set
805CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y 885CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
806# CONFIG_GPIOLIB is not set 886# CONFIG_GPIOLIB is not set
807# CONFIG_W1 is not set 887# CONFIG_W1 is not set
808# CONFIG_POWER_SUPPLY is not set 888# CONFIG_POWER_SUPPLY is not set
809# CONFIG_HWMON is not set 889# CONFIG_HWMON is not set
810# CONFIG_THERMAL is not set 890# CONFIG_THERMAL is not set
811# CONFIG_THERMAL_HWMON is not set
812# CONFIG_WATCHDOG is not set 891# CONFIG_WATCHDOG is not set
813CONFIG_SSB_POSSIBLE=y 892CONFIG_SSB_POSSIBLE=y
814 893
@@ -826,31 +905,21 @@ CONFIG_SSB_POSSIBLE=y
826# CONFIG_TWL4030_CORE is not set 905# CONFIG_TWL4030_CORE is not set
827# CONFIG_MFD_TMIO is not set 906# CONFIG_MFD_TMIO is not set
828# CONFIG_PMIC_DA903X is not set 907# CONFIG_PMIC_DA903X is not set
908# CONFIG_PMIC_ADP5520 is not set
829# CONFIG_MFD_WM8400 is not set 909# CONFIG_MFD_WM8400 is not set
910# CONFIG_MFD_WM831X is not set
830# CONFIG_MFD_WM8350_I2C is not set 911# CONFIG_MFD_WM8350_I2C is not set
831# CONFIG_MFD_PCF50633 is not set 912# CONFIG_MFD_PCF50633 is not set
913# CONFIG_AB3100_CORE is not set
914# CONFIG_MFD_88PM8607 is not set
832# CONFIG_REGULATOR is not set 915# CONFIG_REGULATOR is not set
833 916# CONFIG_MEDIA_SUPPORT is not set
834#
835# Multimedia devices
836#
837
838#
839# Multimedia core support
840#
841# CONFIG_VIDEO_DEV is not set
842# CONFIG_DVB_CORE is not set
843# CONFIG_VIDEO_MEDIA is not set
844
845#
846# Multimedia drivers
847#
848CONFIG_DAB=y
849 917
850# 918#
851# Graphics support 919# Graphics support
852# 920#
853# CONFIG_AGP is not set 921# CONFIG_AGP is not set
922CONFIG_VGA_ARB=y
854# CONFIG_DRM is not set 923# CONFIG_DRM is not set
855# CONFIG_VGASTATE is not set 924# CONFIG_VGASTATE is not set
856CONFIG_VIDEO_OUTPUT_CONTROL=m 925CONFIG_VIDEO_OUTPUT_CONTROL=m
@@ -876,7 +945,12 @@ CONFIG_DMADEVICES=y
876# 945#
877# DMA Devices 946# DMA Devices
878# 947#
948# CONFIG_AUXDISPLAY is not set
879# CONFIG_UIO is not set 949# CONFIG_UIO is not set
950
951#
952# TI VLYNQ
953#
880# CONFIG_STAGING is not set 954# CONFIG_STAGING is not set
881 955
882# 956#
@@ -887,14 +961,17 @@ CONFIG_EXT2_FS=y
887# CONFIG_EXT2_FS_XIP is not set 961# CONFIG_EXT2_FS_XIP is not set
888# CONFIG_EXT3_FS is not set 962# CONFIG_EXT3_FS is not set
889# CONFIG_EXT4_FS is not set 963# CONFIG_EXT4_FS is not set
964CONFIG_EXT4_USE_FOR_EXT23=y
890# CONFIG_REISERFS_FS is not set 965# CONFIG_REISERFS_FS is not set
891# CONFIG_JFS_FS is not set 966# CONFIG_JFS_FS is not set
892# CONFIG_FS_POSIX_ACL is not set 967# CONFIG_FS_POSIX_ACL is not set
893CONFIG_FILE_LOCKING=y
894# CONFIG_XFS_FS is not set 968# CONFIG_XFS_FS is not set
895# CONFIG_GFS2_FS is not set 969# CONFIG_GFS2_FS is not set
896# CONFIG_OCFS2_FS is not set 970# CONFIG_OCFS2_FS is not set
897# CONFIG_BTRFS_FS is not set 971# CONFIG_BTRFS_FS is not set
972# CONFIG_NILFS2_FS is not set
973CONFIG_FILE_LOCKING=y
974CONFIG_FSNOTIFY=y
898CONFIG_DNOTIFY=y 975CONFIG_DNOTIFY=y
899CONFIG_INOTIFY=y 976CONFIG_INOTIFY=y
900CONFIG_INOTIFY_USER=y 977CONFIG_INOTIFY_USER=y
@@ -904,6 +981,11 @@ CONFIG_INOTIFY_USER=y
904# CONFIG_FUSE_FS is not set 981# CONFIG_FUSE_FS is not set
905 982
906# 983#
984# Caches
985#
986# CONFIG_FSCACHE is not set
987
988#
907# CD-ROM/DVD Filesystems 989# CD-ROM/DVD Filesystems
908# 990#
909# CONFIG_ISO9660_FS is not set 991# CONFIG_ISO9660_FS is not set
@@ -958,7 +1040,6 @@ CONFIG_LOCKD=y
958CONFIG_LOCKD_V4=y 1040CONFIG_LOCKD_V4=y
959CONFIG_NFS_COMMON=y 1041CONFIG_NFS_COMMON=y
960CONFIG_SUNRPC=y 1042CONFIG_SUNRPC=y
961# CONFIG_SUNRPC_REGISTER_V4 is not set
962# CONFIG_RPCSEC_GSS_KRB5 is not set 1043# CONFIG_RPCSEC_GSS_KRB5 is not set
963# CONFIG_RPCSEC_GSS_SPKM3 is not set 1044# CONFIG_RPCSEC_GSS_SPKM3 is not set
964# CONFIG_SMB_FS is not set 1045# CONFIG_SMB_FS is not set
@@ -974,6 +1055,7 @@ CONFIG_SUNRPC=y
974CONFIG_MSDOS_PARTITION=y 1055CONFIG_MSDOS_PARTITION=y
975# CONFIG_NLS is not set 1056# CONFIG_NLS is not set
976# CONFIG_DLM is not set 1057# CONFIG_DLM is not set
1058# CONFIG_BINARY_PRINTF is not set
977 1059
978# 1060#
979# Library routines 1061# Library routines
@@ -988,11 +1070,13 @@ CONFIG_CRC32=y
988# CONFIG_CRC7 is not set 1070# CONFIG_CRC7 is not set
989# CONFIG_LIBCRC32C is not set 1071# CONFIG_LIBCRC32C is not set
990CONFIG_ZLIB_INFLATE=y 1072CONFIG_ZLIB_INFLATE=y
991CONFIG_PLIST=y 1073CONFIG_DECOMPRESS_GZIP=y
992CONFIG_HAS_IOMEM=y 1074CONFIG_HAS_IOMEM=y
993CONFIG_HAS_IOPORT=y 1075CONFIG_HAS_IOPORT=y
994CONFIG_HAS_DMA=y 1076CONFIG_HAS_DMA=y
995CONFIG_HAVE_LMB=y 1077CONFIG_HAVE_LMB=y
1078CONFIG_NLATTR=y
1079CONFIG_GENERIC_ATOMIC64=y
996 1080
997# 1081#
998# Kernel hacking 1082# Kernel hacking
@@ -1002,6 +1086,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
1002CONFIG_ENABLE_MUST_CHECK=y 1086CONFIG_ENABLE_MUST_CHECK=y
1003CONFIG_FRAME_WARN=1024 1087CONFIG_FRAME_WARN=1024
1004CONFIG_MAGIC_SYSRQ=y 1088CONFIG_MAGIC_SYSRQ=y
1089# CONFIG_STRIP_ASM_SYMS is not set
1005# CONFIG_UNUSED_SYMBOLS is not set 1090# CONFIG_UNUSED_SYMBOLS is not set
1006CONFIG_DEBUG_FS=y 1091CONFIG_DEBUG_FS=y
1007# CONFIG_HEADERS_CHECK is not set 1092# CONFIG_HEADERS_CHECK is not set
@@ -1010,16 +1095,23 @@ CONFIG_DEBUG_KERNEL=y
1010CONFIG_DETECT_SOFTLOCKUP=y 1095CONFIG_DETECT_SOFTLOCKUP=y
1011# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set 1096# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
1012CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 1097CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
1098CONFIG_DETECT_HUNG_TASK=y
1099# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
1100CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
1013CONFIG_SCHED_DEBUG=y 1101CONFIG_SCHED_DEBUG=y
1014# CONFIG_SCHEDSTATS is not set 1102# CONFIG_SCHEDSTATS is not set
1015# CONFIG_TIMER_STATS is not set 1103# CONFIG_TIMER_STATS is not set
1016# CONFIG_DEBUG_OBJECTS is not set 1104# CONFIG_DEBUG_OBJECTS is not set
1017# CONFIG_SLUB_DEBUG_ON is not set 1105# CONFIG_SLUB_DEBUG_ON is not set
1018# CONFIG_SLUB_STATS is not set 1106# CONFIG_SLUB_STATS is not set
1107# CONFIG_DEBUG_KMEMLEAK is not set
1019# CONFIG_DEBUG_RT_MUTEXES is not set 1108# CONFIG_DEBUG_RT_MUTEXES is not set
1020# CONFIG_RT_MUTEX_TESTER is not set 1109# CONFIG_RT_MUTEX_TESTER is not set
1021# CONFIG_DEBUG_SPINLOCK is not set 1110# CONFIG_DEBUG_SPINLOCK is not set
1022# CONFIG_DEBUG_MUTEXES is not set 1111# CONFIG_DEBUG_MUTEXES is not set
1112# CONFIG_DEBUG_LOCK_ALLOC is not set
1113# CONFIG_PROVE_LOCKING is not set
1114# CONFIG_LOCK_STAT is not set
1023# CONFIG_DEBUG_SPINLOCK_SLEEP is not set 1115# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1024# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set 1116# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1025# CONFIG_DEBUG_KOBJECT is not set 1117# CONFIG_DEBUG_KOBJECT is not set
@@ -1031,35 +1123,45 @@ CONFIG_SCHED_DEBUG=y
1031# CONFIG_DEBUG_LIST is not set 1123# CONFIG_DEBUG_LIST is not set
1032# CONFIG_DEBUG_SG is not set 1124# CONFIG_DEBUG_SG is not set
1033# CONFIG_DEBUG_NOTIFIERS is not set 1125# CONFIG_DEBUG_NOTIFIERS is not set
1034# CONFIG_BOOT_PRINTK_DELAY is not set 1126# CONFIG_DEBUG_CREDENTIALS is not set
1035# CONFIG_RCU_TORTURE_TEST is not set 1127# CONFIG_RCU_TORTURE_TEST is not set
1036# CONFIG_RCU_CPU_STALL_DETECTOR is not set 1128# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1037# CONFIG_BACKTRACE_SELF_TEST is not set 1129# CONFIG_BACKTRACE_SELF_TEST is not set
1038# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set 1130# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1131# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
1039# CONFIG_FAULT_INJECTION is not set 1132# CONFIG_FAULT_INJECTION is not set
1040# CONFIG_LATENCYTOP is not set 1133# CONFIG_LATENCYTOP is not set
1041CONFIG_SYSCTL_SYSCALL_CHECK=y 1134CONFIG_SYSCTL_SYSCALL_CHECK=y
1135# CONFIG_DEBUG_PAGEALLOC is not set
1042CONFIG_HAVE_FUNCTION_TRACER=y 1136CONFIG_HAVE_FUNCTION_TRACER=y
1137CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
1043CONFIG_HAVE_DYNAMIC_FTRACE=y 1138CONFIG_HAVE_DYNAMIC_FTRACE=y
1044CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 1139CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1045 1140CONFIG_TRACING_SUPPORT=y
1046# 1141CONFIG_FTRACE=y
1047# Tracers
1048#
1049# CONFIG_FUNCTION_TRACER is not set 1142# CONFIG_FUNCTION_TRACER is not set
1143# CONFIG_IRQSOFF_TRACER is not set
1050# CONFIG_SCHED_TRACER is not set 1144# CONFIG_SCHED_TRACER is not set
1051# CONFIG_CONTEXT_SWITCH_TRACER is not set 1145# CONFIG_ENABLE_DEFAULT_TRACERS is not set
1052# CONFIG_BOOT_TRACER is not set 1146# CONFIG_BOOT_TRACER is not set
1053# CONFIG_TRACE_BRANCH_PROFILING is not set 1147CONFIG_BRANCH_PROFILE_NONE=y
1148# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
1149# CONFIG_PROFILE_ALL_BRANCHES is not set
1054# CONFIG_STACK_TRACER is not set 1150# CONFIG_STACK_TRACER is not set
1055# CONFIG_DYNAMIC_PRINTK_DEBUG is not set 1151# CONFIG_KMEMTRACE is not set
1152# CONFIG_WORKQUEUE_TRACER is not set
1153# CONFIG_BLK_DEV_IO_TRACE is not set
1154# CONFIG_DYNAMIC_DEBUG is not set
1155# CONFIG_DMA_API_DEBUG is not set
1056# CONFIG_SAMPLES is not set 1156# CONFIG_SAMPLES is not set
1057CONFIG_HAVE_ARCH_KGDB=y 1157CONFIG_HAVE_ARCH_KGDB=y
1058# CONFIG_KGDB is not set 1158# CONFIG_KGDB is not set
1159# CONFIG_PPC_DISABLE_WERROR is not set
1160CONFIG_PPC_WERROR=y
1059CONFIG_PRINT_STACK_DEPTH=64 1161CONFIG_PRINT_STACK_DEPTH=64
1060# CONFIG_DEBUG_STACKOVERFLOW is not set 1162# CONFIG_DEBUG_STACKOVERFLOW is not set
1061# CONFIG_DEBUG_STACK_USAGE is not set 1163# CONFIG_DEBUG_STACK_USAGE is not set
1062# CONFIG_DEBUG_PAGEALLOC is not set 1164# CONFIG_PPC_EMULATED_STATS is not set
1063# CONFIG_CODE_PATCHING_SELFTEST is not set 1165# CONFIG_CODE_PATCHING_SELFTEST is not set
1064# CONFIG_FTR_FIXUP_SELFTEST is not set 1166# CONFIG_FTR_FIXUP_SELFTEST is not set
1065# CONFIG_MSI_BITMAP_SELFTEST is not set 1167# CONFIG_MSI_BITMAP_SELFTEST is not set
@@ -1075,13 +1177,16 @@ CONFIG_PRINT_STACK_DEPTH=64
1075# CONFIG_KEYS is not set 1177# CONFIG_KEYS is not set
1076# CONFIG_SECURITY is not set 1178# CONFIG_SECURITY is not set
1077# CONFIG_SECURITYFS is not set 1179# CONFIG_SECURITYFS is not set
1078# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1180# CONFIG_DEFAULT_SECURITY_SELINUX is not set
1181# CONFIG_DEFAULT_SECURITY_SMACK is not set
1182# CONFIG_DEFAULT_SECURITY_TOMOYO is not set
1183CONFIG_DEFAULT_SECURITY_DAC=y
1184CONFIG_DEFAULT_SECURITY=""
1079CONFIG_CRYPTO=y 1185CONFIG_CRYPTO=y
1080 1186
1081# 1187#
1082# Crypto core or helper 1188# Crypto core or helper
1083# 1189#
1084# CONFIG_CRYPTO_FIPS is not set
1085CONFIG_CRYPTO_ALGAPI=y 1190CONFIG_CRYPTO_ALGAPI=y
1086CONFIG_CRYPTO_ALGAPI2=y 1191CONFIG_CRYPTO_ALGAPI2=y
1087CONFIG_CRYPTO_AEAD=y 1192CONFIG_CRYPTO_AEAD=y
@@ -1092,10 +1197,12 @@ CONFIG_CRYPTO_HASH=y
1092CONFIG_CRYPTO_HASH2=y 1197CONFIG_CRYPTO_HASH2=y
1093CONFIG_CRYPTO_RNG=y 1198CONFIG_CRYPTO_RNG=y
1094CONFIG_CRYPTO_RNG2=y 1199CONFIG_CRYPTO_RNG2=y
1200CONFIG_CRYPTO_PCOMP=y
1095CONFIG_CRYPTO_MANAGER=y 1201CONFIG_CRYPTO_MANAGER=y
1096CONFIG_CRYPTO_MANAGER2=y 1202CONFIG_CRYPTO_MANAGER2=y
1097CONFIG_CRYPTO_GF128MUL=y 1203CONFIG_CRYPTO_GF128MUL=y
1098# CONFIG_CRYPTO_NULL is not set 1204# CONFIG_CRYPTO_NULL is not set
1205CONFIG_CRYPTO_WORKQUEUE=y
1099CONFIG_CRYPTO_CRYPTD=y 1206CONFIG_CRYPTO_CRYPTD=y
1100CONFIG_CRYPTO_AUTHENC=y 1207CONFIG_CRYPTO_AUTHENC=y
1101# CONFIG_CRYPTO_TEST is not set 1208# CONFIG_CRYPTO_TEST is not set
@@ -1123,11 +1230,13 @@ CONFIG_CRYPTO_XTS=y
1123# 1230#
1124CONFIG_CRYPTO_HMAC=y 1231CONFIG_CRYPTO_HMAC=y
1125CONFIG_CRYPTO_XCBC=y 1232CONFIG_CRYPTO_XCBC=y
1233# CONFIG_CRYPTO_VMAC is not set
1126 1234
1127# 1235#
1128# Digest 1236# Digest
1129# 1237#
1130# CONFIG_CRYPTO_CRC32C is not set 1238# CONFIG_CRYPTO_CRC32C is not set
1239CONFIG_CRYPTO_GHASH=y
1131CONFIG_CRYPTO_MD4=y 1240CONFIG_CRYPTO_MD4=y
1132CONFIG_CRYPTO_MD5=y 1241CONFIG_CRYPTO_MD5=y
1133# CONFIG_CRYPTO_MICHAEL_MIC is not set 1242# CONFIG_CRYPTO_MICHAEL_MIC is not set
@@ -1164,6 +1273,7 @@ CONFIG_CRYPTO_DES=y
1164# Compression 1273# Compression
1165# 1274#
1166# CONFIG_CRYPTO_DEFLATE is not set 1275# CONFIG_CRYPTO_DEFLATE is not set
1276# CONFIG_CRYPTO_ZLIB is not set
1167# CONFIG_CRYPTO_LZO is not set 1277# CONFIG_CRYPTO_LZO is not set
1168 1278
1169# 1279#
@@ -1172,5 +1282,6 @@ CONFIG_CRYPTO_DES=y
1172# CONFIG_CRYPTO_ANSI_CPRNG is not set 1282# CONFIG_CRYPTO_ANSI_CPRNG is not set
1173CONFIG_CRYPTO_HW=y 1283CONFIG_CRYPTO_HW=y
1174# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1284# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1285# CONFIG_CRYPTO_DEV_PPC4XX is not set
1175# CONFIG_PPC_CLOCK is not set 1286# CONFIG_PPC_CLOCK is not set
1176# CONFIG_VIRTUALIZATION is not set 1287# CONFIG_VIRTUALIZATION is not set
diff --git a/arch/powerpc/configs/44x/sam440ep_defconfig b/arch/powerpc/configs/44x/sam440ep_defconfig
index e14e89a5e06b..e202924e6173 100644
--- a/arch/powerpc/configs/44x/sam440ep_defconfig
+++ b/arch/powerpc/configs/44x/sam440ep_defconfig
@@ -1,14 +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.29-rc2 3# Linux kernel version: 2.6.33-rc1
4# Tue Jan 20 08:22:42 2009 4# Mon Jan 4 15:11:24 2010
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
8# 8#
9# Processor support 9# Processor support
10# 10#
11# CONFIG_6xx is not set 11# CONFIG_PPC_BOOK3S_32 is not set
12# CONFIG_PPC_85xx is not set 12# CONFIG_PPC_85xx is not set
13# CONFIG_PPC_8xx is not set 13# CONFIG_PPC_8xx is not set
14# CONFIG_40x is not set 14# CONFIG_40x is not set
@@ -20,6 +20,7 @@ CONFIG_BOOKE=y
20CONFIG_PTE_64BIT=y 20CONFIG_PTE_64BIT=y
21CONFIG_PHYS_64BIT=y 21CONFIG_PHYS_64BIT=y
22CONFIG_PPC_MMU_NOHASH=y 22CONFIG_PPC_MMU_NOHASH=y
23CONFIG_PPC_MMU_NOHASH_32=y
23# CONFIG_PPC_MM_SLICES is not set 24# CONFIG_PPC_MM_SLICES is not set
24CONFIG_NOT_COHERENT_CACHE=y 25CONFIG_NOT_COHERENT_CACHE=y
25CONFIG_PPC32=y 26CONFIG_PPC32=y
@@ -31,15 +32,18 @@ CONFIG_GENERIC_TIME=y
31CONFIG_GENERIC_TIME_VSYSCALL=y 32CONFIG_GENERIC_TIME_VSYSCALL=y
32CONFIG_GENERIC_CLOCKEVENTS=y 33CONFIG_GENERIC_CLOCKEVENTS=y
33CONFIG_GENERIC_HARDIRQS=y 34CONFIG_GENERIC_HARDIRQS=y
35CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
34# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 36# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
37# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
35CONFIG_IRQ_PER_CPU=y 38CONFIG_IRQ_PER_CPU=y
39CONFIG_NR_IRQS=512
36CONFIG_STACKTRACE_SUPPORT=y 40CONFIG_STACKTRACE_SUPPORT=y
37CONFIG_HAVE_LATENCYTOP_SUPPORT=y 41CONFIG_HAVE_LATENCYTOP_SUPPORT=y
42CONFIG_TRACE_IRQFLAGS_SUPPORT=y
38CONFIG_LOCKDEP_SUPPORT=y 43CONFIG_LOCKDEP_SUPPORT=y
39CONFIG_RWSEM_XCHGADD_ALGORITHM=y 44CONFIG_RWSEM_XCHGADD_ALGORITHM=y
40CONFIG_ARCH_HAS_ILOG2_U32=y 45CONFIG_ARCH_HAS_ILOG2_U32=y
41CONFIG_GENERIC_HWEIGHT=y 46CONFIG_GENERIC_HWEIGHT=y
42CONFIG_GENERIC_CALIBRATE_DELAY=y
43CONFIG_GENERIC_FIND_NEXT_BIT=y 47CONFIG_GENERIC_FIND_NEXT_BIT=y
44# CONFIG_ARCH_NO_VIRT_TO_BUS is not set 48# CONFIG_ARCH_NO_VIRT_TO_BUS is not set
45CONFIG_PPC=y 49CONFIG_PPC=y
@@ -53,11 +57,15 @@ CONFIG_PPC_UDBG_16550=y
53# CONFIG_GENERIC_TBSYNC is not set 57# CONFIG_GENERIC_TBSYNC is not set
54CONFIG_AUDIT_ARCH=y 58CONFIG_AUDIT_ARCH=y
55CONFIG_GENERIC_BUG=y 59CONFIG_GENERIC_BUG=y
60CONFIG_DTC=y
56# CONFIG_DEFAULT_UIMAGE is not set 61# CONFIG_DEFAULT_UIMAGE is not set
62CONFIG_ARCH_HIBERNATION_POSSIBLE=y
57CONFIG_PPC_DCR_NATIVE=y 63CONFIG_PPC_DCR_NATIVE=y
58# CONFIG_PPC_DCR_MMIO is not set 64# CONFIG_PPC_DCR_MMIO is not set
59CONFIG_PPC_DCR=y 65CONFIG_PPC_DCR=y
66CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
60CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 67CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
68CONFIG_CONSTRUCTORS=y
61 69
62# 70#
63# General setup 71# General setup
@@ -71,9 +79,21 @@ CONFIG_SWAP=y
71CONFIG_SYSVIPC=y 79CONFIG_SYSVIPC=y
72CONFIG_SYSVIPC_SYSCTL=y 80CONFIG_SYSVIPC_SYSCTL=y
73CONFIG_POSIX_MQUEUE=y 81CONFIG_POSIX_MQUEUE=y
82CONFIG_POSIX_MQUEUE_SYSCTL=y
74# CONFIG_BSD_PROCESS_ACCT is not set 83# CONFIG_BSD_PROCESS_ACCT is not set
75# CONFIG_TASKSTATS is not set 84# CONFIG_TASKSTATS is not set
76# CONFIG_AUDIT is not set 85# CONFIG_AUDIT is not set
86
87#
88# RCU Subsystem
89#
90CONFIG_TREE_RCU=y
91# CONFIG_TREE_PREEMPT_RCU is not set
92# CONFIG_TINY_RCU is not set
93# CONFIG_RCU_TRACE is not set
94CONFIG_RCU_FANOUT=32
95# CONFIG_RCU_FANOUT_EXACT is not set
96# CONFIG_TREE_RCU_TRACE is not set
77CONFIG_IKCONFIG=y 97CONFIG_IKCONFIG=y
78# CONFIG_IKCONFIG_PROC is not set 98# CONFIG_IKCONFIG_PROC is not set
79CONFIG_LOG_BUF_SHIFT=14 99CONFIG_LOG_BUF_SHIFT=14
@@ -83,14 +103,17 @@ CONFIG_FAIR_GROUP_SCHED=y
83CONFIG_USER_SCHED=y 103CONFIG_USER_SCHED=y
84# CONFIG_CGROUP_SCHED is not set 104# CONFIG_CGROUP_SCHED is not set
85# CONFIG_CGROUPS is not set 105# CONFIG_CGROUPS is not set
86CONFIG_SYSFS_DEPRECATED=y 106# CONFIG_SYSFS_DEPRECATED_V2 is not set
87CONFIG_SYSFS_DEPRECATED_V2=y
88# CONFIG_RELAY is not set 107# CONFIG_RELAY is not set
89# CONFIG_NAMESPACES is not set 108# CONFIG_NAMESPACES is not set
90CONFIG_BLK_DEV_INITRD=y 109CONFIG_BLK_DEV_INITRD=y
91CONFIG_INITRAMFS_SOURCE="" 110CONFIG_INITRAMFS_SOURCE=""
111CONFIG_RD_GZIP=y
112# CONFIG_RD_BZIP2 is not set
113# CONFIG_RD_LZMA is not set
92# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 114# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
93CONFIG_SYSCTL=y 115CONFIG_SYSCTL=y
116CONFIG_ANON_INODES=y
94CONFIG_EMBEDDED=y 117CONFIG_EMBEDDED=y
95CONFIG_SYSCTL_SYSCALL=y 118CONFIG_SYSCTL_SYSCALL=y
96CONFIG_KALLSYMS=y 119CONFIG_KALLSYMS=y
@@ -99,19 +122,25 @@ CONFIG_HOTPLUG=y
99CONFIG_PRINTK=y 122CONFIG_PRINTK=y
100CONFIG_BUG=y 123CONFIG_BUG=y
101CONFIG_ELF_CORE=y 124CONFIG_ELF_CORE=y
102CONFIG_COMPAT_BRK=y
103CONFIG_BASE_FULL=y 125CONFIG_BASE_FULL=y
104CONFIG_FUTEX=y 126CONFIG_FUTEX=y
105CONFIG_ANON_INODES=y
106CONFIG_EPOLL=y 127CONFIG_EPOLL=y
107CONFIG_SIGNALFD=y 128CONFIG_SIGNALFD=y
108CONFIG_TIMERFD=y 129CONFIG_TIMERFD=y
109CONFIG_EVENTFD=y 130CONFIG_EVENTFD=y
110CONFIG_SHMEM=y 131CONFIG_SHMEM=y
111CONFIG_AIO=y 132CONFIG_AIO=y
133CONFIG_HAVE_PERF_EVENTS=y
134
135#
136# Kernel Performance Events And Counters
137#
138# CONFIG_PERF_EVENTS is not set
139# CONFIG_PERF_COUNTERS is not set
112CONFIG_VM_EVENT_COUNTERS=y 140CONFIG_VM_EVENT_COUNTERS=y
113CONFIG_PCI_QUIRKS=y 141CONFIG_PCI_QUIRKS=y
114CONFIG_SLUB_DEBUG=y 142CONFIG_SLUB_DEBUG=y
143CONFIG_COMPAT_BRK=y
115# CONFIG_SLAB is not set 144# CONFIG_SLAB is not set
116CONFIG_SLUB=y 145CONFIG_SLUB=y
117# CONFIG_SLOB is not set 146# CONFIG_SLOB is not set
@@ -123,6 +152,13 @@ CONFIG_HAVE_IOREMAP_PROT=y
123CONFIG_HAVE_KPROBES=y 152CONFIG_HAVE_KPROBES=y
124CONFIG_HAVE_KRETPROBES=y 153CONFIG_HAVE_KRETPROBES=y
125CONFIG_HAVE_ARCH_TRACEHOOK=y 154CONFIG_HAVE_ARCH_TRACEHOOK=y
155CONFIG_HAVE_DMA_ATTRS=y
156CONFIG_HAVE_DMA_API_DEBUG=y
157
158#
159# GCOV-based kernel profiling
160#
161# CONFIG_SLOW_WORK is not set
126# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 162# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
127CONFIG_SLABINFO=y 163CONFIG_SLABINFO=y
128CONFIG_RT_MUTEXES=y 164CONFIG_RT_MUTEXES=y
@@ -134,8 +170,7 @@ CONFIG_MODULE_UNLOAD=y
134# CONFIG_MODVERSIONS is not set 170# CONFIG_MODVERSIONS is not set
135# CONFIG_MODULE_SRCVERSION_ALL is not set 171# CONFIG_MODULE_SRCVERSION_ALL is not set
136CONFIG_BLOCK=y 172CONFIG_BLOCK=y
137# CONFIG_LBD is not set 173CONFIG_LBDAF=y
138# CONFIG_BLK_DEV_IO_TRACE is not set
139# CONFIG_BLK_DEV_BSG is not set 174# CONFIG_BLK_DEV_BSG is not set
140# CONFIG_BLK_DEV_INTEGRITY is not set 175# CONFIG_BLK_DEV_INTEGRITY is not set
141 176
@@ -143,19 +178,41 @@ CONFIG_BLOCK=y
143# IO Schedulers 178# IO Schedulers
144# 179#
145CONFIG_IOSCHED_NOOP=y 180CONFIG_IOSCHED_NOOP=y
146CONFIG_IOSCHED_AS=y
147# CONFIG_IOSCHED_DEADLINE is not set 181# CONFIG_IOSCHED_DEADLINE is not set
148# CONFIG_IOSCHED_CFQ is not set 182# CONFIG_IOSCHED_CFQ is not set
149CONFIG_DEFAULT_AS=y
150# CONFIG_DEFAULT_DEADLINE is not set 183# CONFIG_DEFAULT_DEADLINE is not set
151# CONFIG_DEFAULT_CFQ is not set 184# CONFIG_DEFAULT_CFQ is not set
152# CONFIG_DEFAULT_NOOP is not set 185CONFIG_DEFAULT_NOOP=y
153CONFIG_DEFAULT_IOSCHED="anticipatory" 186CONFIG_DEFAULT_IOSCHED="noop"
154CONFIG_CLASSIC_RCU=y 187# CONFIG_INLINE_SPIN_TRYLOCK is not set
155# CONFIG_TREE_RCU is not set 188# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
156# CONFIG_PREEMPT_RCU is not set 189# CONFIG_INLINE_SPIN_LOCK is not set
157# CONFIG_TREE_RCU_TRACE is not set 190# CONFIG_INLINE_SPIN_LOCK_BH is not set
158# CONFIG_PREEMPT_RCU_TRACE is not set 191# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
192# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
193CONFIG_INLINE_SPIN_UNLOCK=y
194# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
195CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
196# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
197# CONFIG_INLINE_READ_TRYLOCK is not set
198# CONFIG_INLINE_READ_LOCK is not set
199# CONFIG_INLINE_READ_LOCK_BH is not set
200# CONFIG_INLINE_READ_LOCK_IRQ is not set
201# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
202CONFIG_INLINE_READ_UNLOCK=y
203# CONFIG_INLINE_READ_UNLOCK_BH is not set
204CONFIG_INLINE_READ_UNLOCK_IRQ=y
205# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
206# CONFIG_INLINE_WRITE_TRYLOCK is not set
207# CONFIG_INLINE_WRITE_LOCK is not set
208# CONFIG_INLINE_WRITE_LOCK_BH is not set
209# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
210# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
211CONFIG_INLINE_WRITE_UNLOCK=y
212# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
213CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
214# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
215# CONFIG_MUTEX_SPIN_ON_OWNER is not set
159# CONFIG_FREEZER is not set 216# CONFIG_FREEZER is not set
160# CONFIG_PPC4xx_PCI_EXPRESS is not set 217# CONFIG_PPC4xx_PCI_EXPRESS is not set
161 218
@@ -176,6 +233,8 @@ CONFIG_SAM440EP=y
176# CONFIG_ARCHES is not set 233# CONFIG_ARCHES is not set
177# CONFIG_CANYONLANDS is not set 234# CONFIG_CANYONLANDS is not set
178# CONFIG_GLACIER is not set 235# CONFIG_GLACIER is not set
236# CONFIG_REDWOOD is not set
237# CONFIG_EIGER is not set
179# CONFIG_YOSEMITE is not set 238# CONFIG_YOSEMITE is not set
180# CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set 239# CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set
181# CONFIG_PPC44x_SIMPLE is not set 240# CONFIG_PPC44x_SIMPLE is not set
@@ -218,10 +277,12 @@ CONFIG_BINFMT_ELF=y
218# CONFIG_BINFMT_MISC is not set 277# CONFIG_BINFMT_MISC is not set
219# CONFIG_MATH_EMULATION is not set 278# CONFIG_MATH_EMULATION is not set
220# CONFIG_IOMMU_HELPER is not set 279# CONFIG_IOMMU_HELPER is not set
221CONFIG_PPC_NEED_DMA_SYNC_OPS=y 280# CONFIG_SWIOTLB is not set
222CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 281CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
223CONFIG_ARCH_HAS_WALK_MEMORY=y 282CONFIG_ARCH_HAS_WALK_MEMORY=y
224CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 283CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
284CONFIG_SPARSE_IRQ=y
285CONFIG_MAX_ACTIVE_REGIONS=32
225CONFIG_ARCH_FLATMEM_ENABLE=y 286CONFIG_ARCH_FLATMEM_ENABLE=y
226CONFIG_ARCH_POPULATES_NODE_MAP=y 287CONFIG_ARCH_POPULATES_NODE_MAP=y
227CONFIG_SELECT_MEMORY_MODEL=y 288CONFIG_SELECT_MEMORY_MODEL=y
@@ -237,10 +298,13 @@ CONFIG_PHYS_ADDR_T_64BIT=y
237CONFIG_ZONE_DMA_FLAG=1 298CONFIG_ZONE_DMA_FLAG=1
238CONFIG_BOUNCE=y 299CONFIG_BOUNCE=y
239CONFIG_VIRT_TO_BUS=y 300CONFIG_VIRT_TO_BUS=y
240CONFIG_UNEVICTABLE_LRU=y 301# CONFIG_KSM is not set
302CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
303CONFIG_STDBINUTILS=y
241CONFIG_PPC_4K_PAGES=y 304CONFIG_PPC_4K_PAGES=y
242# CONFIG_PPC_16K_PAGES is not set 305# CONFIG_PPC_16K_PAGES is not set
243# CONFIG_PPC_64K_PAGES is not set 306# CONFIG_PPC_64K_PAGES is not set
307# CONFIG_PPC_256K_PAGES is not set
244CONFIG_FORCE_MAX_ZONEORDER=11 308CONFIG_FORCE_MAX_ZONEORDER=11
245CONFIG_PROC_DEVICETREE=y 309CONFIG_PROC_DEVICETREE=y
246CONFIG_CMDLINE_BOOL=y 310CONFIG_CMDLINE_BOOL=y
@@ -264,6 +328,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
264# CONFIG_PCI_MSI is not set 328# CONFIG_PCI_MSI is not set
265# CONFIG_PCI_LEGACY is not set 329# CONFIG_PCI_LEGACY is not set
266# CONFIG_PCI_STUB is not set 330# CONFIG_PCI_STUB is not set
331# CONFIG_PCI_IOV is not set
267# CONFIG_PCCARD is not set 332# CONFIG_PCCARD is not set
268# CONFIG_HOTPLUG_PCI is not set 333# CONFIG_HOTPLUG_PCI is not set
269# CONFIG_HAS_RAPIDIO is not set 334# CONFIG_HAS_RAPIDIO is not set
@@ -281,14 +346,12 @@ CONFIG_PAGE_OFFSET=0xc0000000
281CONFIG_KERNEL_START=0xc0000000 346CONFIG_KERNEL_START=0xc0000000
282CONFIG_PHYSICAL_START=0x00000000 347CONFIG_PHYSICAL_START=0x00000000
283CONFIG_TASK_SIZE=0xc0000000 348CONFIG_TASK_SIZE=0xc0000000
284CONFIG_CONSISTENT_START=0xff100000
285CONFIG_CONSISTENT_SIZE=0x00200000 349CONFIG_CONSISTENT_SIZE=0x00200000
286CONFIG_NET=y 350CONFIG_NET=y
287 351
288# 352#
289# Networking options 353# Networking options
290# 354#
291CONFIG_COMPAT_NET_DEV_OPS=y
292CONFIG_PACKET=y 355CONFIG_PACKET=y
293# CONFIG_PACKET_MMAP is not set 356# CONFIG_PACKET_MMAP is not set
294CONFIG_UNIX=y 357CONFIG_UNIX=y
@@ -325,6 +388,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
325# CONFIG_NETFILTER is not set 388# CONFIG_NETFILTER is not set
326# CONFIG_IP_DCCP is not set 389# CONFIG_IP_DCCP is not set
327# CONFIG_IP_SCTP is not set 390# CONFIG_IP_SCTP is not set
391# CONFIG_RDS is not set
328# CONFIG_TIPC is not set 392# CONFIG_TIPC is not set
329# CONFIG_ATM is not set 393# CONFIG_ATM is not set
330# CONFIG_BRIDGE is not set 394# CONFIG_BRIDGE is not set
@@ -338,6 +402,8 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
338# CONFIG_LAPB is not set 402# CONFIG_LAPB is not set
339# CONFIG_ECONET is not set 403# CONFIG_ECONET is not set
340# CONFIG_WAN_ROUTER is not set 404# CONFIG_WAN_ROUTER is not set
405# CONFIG_PHONET is not set
406# CONFIG_IEEE802154 is not set
341# CONFIG_NET_SCHED is not set 407# CONFIG_NET_SCHED is not set
342# CONFIG_DCB is not set 408# CONFIG_DCB is not set
343 409
@@ -350,8 +416,13 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
350# CONFIG_IRDA is not set 416# CONFIG_IRDA is not set
351# CONFIG_BT is not set 417# CONFIG_BT is not set
352# CONFIG_AF_RXRPC is not set 418# CONFIG_AF_RXRPC is not set
353# CONFIG_PHONET is not set 419CONFIG_WIRELESS=y
354# CONFIG_WIRELESS is not set 420# CONFIG_CFG80211 is not set
421# CONFIG_LIB80211 is not set
422
423#
424# CFG80211 needs to be enabled for MAC80211
425#
355# CONFIG_WIMAX is not set 426# CONFIG_WIMAX is not set
356# CONFIG_RFKILL is not set 427# CONFIG_RFKILL is not set
357# CONFIG_NET_9P is not set 428# CONFIG_NET_9P is not set
@@ -364,6 +435,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
364# Generic Driver Options 435# Generic Driver Options
365# 436#
366CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 437CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
438# CONFIG_DEVTMPFS is not set
367CONFIG_STANDALONE=y 439CONFIG_STANDALONE=y
368CONFIG_PREVENT_FIRMWARE_BUILD=y 440CONFIG_PREVENT_FIRMWARE_BUILD=y
369CONFIG_FW_LOADER=y 441CONFIG_FW_LOADER=y
@@ -385,6 +457,7 @@ CONFIG_BLK_DEV=y
385# CONFIG_BLK_DEV_COW_COMMON is not set 457# CONFIG_BLK_DEV_COW_COMMON is not set
386CONFIG_BLK_DEV_LOOP=y 458CONFIG_BLK_DEV_LOOP=y
387# CONFIG_BLK_DEV_CRYPTOLOOP is not set 459# CONFIG_BLK_DEV_CRYPTOLOOP is not set
460# CONFIG_BLK_DEV_DRBD is not set
388# CONFIG_BLK_DEV_NBD is not set 461# CONFIG_BLK_DEV_NBD is not set
389# CONFIG_BLK_DEV_SX8 is not set 462# CONFIG_BLK_DEV_SX8 is not set
390# CONFIG_BLK_DEV_UB is not set 463# CONFIG_BLK_DEV_UB is not set
@@ -420,10 +493,6 @@ CONFIG_BLK_DEV_SR=y
420# CONFIG_BLK_DEV_SR_VENDOR is not set 493# CONFIG_BLK_DEV_SR_VENDOR is not set
421CONFIG_CHR_DEV_SG=y 494CONFIG_CHR_DEV_SG=y
422# CONFIG_CHR_DEV_SCH is not set 495# CONFIG_CHR_DEV_SCH is not set
423
424#
425# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
426#
427# CONFIG_SCSI_MULTI_LUN is not set 496# CONFIG_SCSI_MULTI_LUN is not set
428# CONFIG_SCSI_CONSTANTS is not set 497# CONFIG_SCSI_CONSTANTS is not set
429# CONFIG_SCSI_LOGGING is not set 498# CONFIG_SCSI_LOGGING is not set
@@ -440,8 +509,10 @@ CONFIG_SCSI_WAIT_SCAN=m
440# CONFIG_SCSI_SRP_ATTRS is not set 509# CONFIG_SCSI_SRP_ATTRS is not set
441# CONFIG_SCSI_LOWLEVEL is not set 510# CONFIG_SCSI_LOWLEVEL is not set
442# CONFIG_SCSI_DH is not set 511# CONFIG_SCSI_DH is not set
512# CONFIG_SCSI_OSD_INITIATOR is not set
443CONFIG_ATA=y 513CONFIG_ATA=y
444# CONFIG_ATA_NONSTANDARD is not set 514# CONFIG_ATA_NONSTANDARD is not set
515CONFIG_ATA_VERBOSE_ERROR=y
445# CONFIG_SATA_PMP is not set 516# CONFIG_SATA_PMP is not set
446# CONFIG_SATA_AHCI is not set 517# CONFIG_SATA_AHCI is not set
447# CONFIG_SATA_SIL24 is not set 518# CONFIG_SATA_SIL24 is not set
@@ -463,6 +534,7 @@ CONFIG_SATA_SIL=y
463# CONFIG_PATA_ALI is not set 534# CONFIG_PATA_ALI is not set
464# CONFIG_PATA_AMD is not set 535# CONFIG_PATA_AMD is not set
465# CONFIG_PATA_ARTOP is not set 536# CONFIG_PATA_ARTOP is not set
537# CONFIG_PATA_ATP867X is not set
466# CONFIG_PATA_ATIIXP is not set 538# CONFIG_PATA_ATIIXP is not set
467# CONFIG_PATA_CMD640_PCI is not set 539# CONFIG_PATA_CMD640_PCI is not set
468# CONFIG_PATA_CMD64X is not set 540# CONFIG_PATA_CMD64X is not set
@@ -488,14 +560,16 @@ CONFIG_SATA_SIL=y
488# CONFIG_PATA_NS87415 is not set 560# CONFIG_PATA_NS87415 is not set
489# CONFIG_PATA_OPTI is not set 561# CONFIG_PATA_OPTI is not set
490# CONFIG_PATA_OPTIDMA is not set 562# CONFIG_PATA_OPTIDMA is not set
563# CONFIG_PATA_PDC2027X is not set
491# CONFIG_PATA_PDC_OLD is not set 564# CONFIG_PATA_PDC_OLD is not set
492# CONFIG_PATA_RADISYS is not set 565# CONFIG_PATA_RADISYS is not set
566# CONFIG_PATA_RDC is not set
493# CONFIG_PATA_RZ1000 is not set 567# CONFIG_PATA_RZ1000 is not set
494# CONFIG_PATA_SC1200 is not set 568# CONFIG_PATA_SC1200 is not set
495# CONFIG_PATA_SERVERWORKS is not set 569# CONFIG_PATA_SERVERWORKS is not set
496# CONFIG_PATA_PDC2027X is not set
497# CONFIG_PATA_SIL680 is not set 570# CONFIG_PATA_SIL680 is not set
498# CONFIG_PATA_SIS is not set 571# CONFIG_PATA_SIS is not set
572# CONFIG_PATA_TOSHIBA is not set
499# CONFIG_PATA_VIA is not set 573# CONFIG_PATA_VIA is not set
500# CONFIG_PATA_WINBOND is not set 574# CONFIG_PATA_WINBOND is not set
501# CONFIG_PATA_PLATFORM is not set 575# CONFIG_PATA_PLATFORM is not set
@@ -508,7 +582,11 @@ CONFIG_SATA_SIL=y
508# 582#
509 583
510# 584#
511# Enable only one of the two stacks, unless you know what you are doing 585# You can enable one or both FireWire driver stacks.
586#
587
588#
589# See the help texts for more information.
512# 590#
513# CONFIG_FIREWIRE is not set 591# CONFIG_FIREWIRE is not set
514# CONFIG_IEEE1394 is not set 592# CONFIG_IEEE1394 is not set
@@ -529,6 +607,8 @@ CONFIG_NET_ETHERNET=y
529# CONFIG_SUNGEM is not set 607# CONFIG_SUNGEM is not set
530# CONFIG_CASSINI is not set 608# CONFIG_CASSINI is not set
531# CONFIG_NET_VENDOR_3COM is not set 609# CONFIG_NET_VENDOR_3COM is not set
610# CONFIG_ETHOC is not set
611# CONFIG_DNET is not set
532# CONFIG_NET_TULIP is not set 612# CONFIG_NET_TULIP is not set
533# CONFIG_HP100 is not set 613# CONFIG_HP100 is not set
534CONFIG_IBM_NEW_EMAC=y 614CONFIG_IBM_NEW_EMAC=y
@@ -547,17 +627,19 @@ CONFIG_IBM_NEW_EMAC_ZMII=y
547# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set 627# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
548# CONFIG_NET_PCI is not set 628# CONFIG_NET_PCI is not set
549# CONFIG_B44 is not set 629# CONFIG_B44 is not set
630# CONFIG_KS8842 is not set
631# CONFIG_KS8851_MLL is not set
550# CONFIG_ATL2 is not set 632# CONFIG_ATL2 is not set
633# CONFIG_XILINX_EMACLITE is not set
551# CONFIG_NETDEV_1000 is not set 634# CONFIG_NETDEV_1000 is not set
552# CONFIG_NETDEV_10000 is not set 635# CONFIG_NETDEV_10000 is not set
553# CONFIG_TR is not set 636# CONFIG_TR is not set
554 637CONFIG_WLAN=y
555# 638# CONFIG_AIRO is not set
556# Wireless LAN 639# CONFIG_ATMEL is not set
557# 640# CONFIG_PRISM54 is not set
558# CONFIG_WLAN_PRE80211 is not set 641# CONFIG_USB_ZD1201 is not set
559# CONFIG_WLAN_80211 is not set 642# CONFIG_HOSTAP is not set
560# CONFIG_IWLWIFI_LEDS is not set
561 643
562# 644#
563# Enable WiMAX (Networking options) to see the WiMAX drivers 645# Enable WiMAX (Networking options) to see the WiMAX drivers
@@ -580,6 +662,7 @@ CONFIG_IBM_NEW_EMAC_ZMII=y
580# CONFIG_NETCONSOLE is not set 662# CONFIG_NETCONSOLE is not set
581# CONFIG_NETPOLL is not set 663# CONFIG_NETPOLL is not set
582# CONFIG_NET_POLL_CONTROLLER is not set 664# CONFIG_NET_POLL_CONTROLLER is not set
665# CONFIG_VMXNET3 is not set
583# CONFIG_ISDN is not set 666# CONFIG_ISDN is not set
584# CONFIG_PHONE is not set 667# CONFIG_PHONE is not set
585 668
@@ -589,6 +672,7 @@ CONFIG_IBM_NEW_EMAC_ZMII=y
589CONFIG_INPUT=y 672CONFIG_INPUT=y
590CONFIG_INPUT_FF_MEMLESS=m 673CONFIG_INPUT_FF_MEMLESS=m
591# CONFIG_INPUT_POLLDEV is not set 674# CONFIG_INPUT_POLLDEV is not set
675# CONFIG_INPUT_SPARSEKMAP is not set
592 676
593# 677#
594# Userland interfaces 678# Userland interfaces
@@ -605,25 +689,30 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
605# Input Device Drivers 689# Input Device Drivers
606# 690#
607CONFIG_INPUT_KEYBOARD=y 691CONFIG_INPUT_KEYBOARD=y
692# CONFIG_KEYBOARD_ADP5588 is not set
608CONFIG_KEYBOARD_ATKBD=y 693CONFIG_KEYBOARD_ATKBD=y
609# CONFIG_KEYBOARD_SUNKBD is not set 694# CONFIG_QT2160 is not set
610# CONFIG_KEYBOARD_LKKBD is not set 695# CONFIG_KEYBOARD_LKKBD is not set
611# CONFIG_KEYBOARD_XTKBD is not set 696# CONFIG_KEYBOARD_MAX7359 is not set
612# CONFIG_KEYBOARD_NEWTON is not set 697# CONFIG_KEYBOARD_NEWTON is not set
698# CONFIG_KEYBOARD_OPENCORES is not set
613# CONFIG_KEYBOARD_STOWAWAY is not set 699# CONFIG_KEYBOARD_STOWAWAY is not set
700# CONFIG_KEYBOARD_SUNKBD is not set
701# CONFIG_KEYBOARD_XTKBD is not set
614CONFIG_INPUT_MOUSE=y 702CONFIG_INPUT_MOUSE=y
615CONFIG_MOUSE_PS2=y 703CONFIG_MOUSE_PS2=y
616CONFIG_MOUSE_PS2_ALPS=y 704CONFIG_MOUSE_PS2_ALPS=y
617CONFIG_MOUSE_PS2_LOGIPS2PP=y 705CONFIG_MOUSE_PS2_LOGIPS2PP=y
618CONFIG_MOUSE_PS2_SYNAPTICS=y 706CONFIG_MOUSE_PS2_SYNAPTICS=y
619CONFIG_MOUSE_PS2_LIFEBOOK=y
620CONFIG_MOUSE_PS2_TRACKPOINT=y 707CONFIG_MOUSE_PS2_TRACKPOINT=y
621# CONFIG_MOUSE_PS2_ELANTECH is not set 708# CONFIG_MOUSE_PS2_ELANTECH is not set
709# CONFIG_MOUSE_PS2_SENTELIC is not set
622# CONFIG_MOUSE_PS2_TOUCHKIT is not set 710# CONFIG_MOUSE_PS2_TOUCHKIT is not set
623# CONFIG_MOUSE_SERIAL is not set 711# CONFIG_MOUSE_SERIAL is not set
624# CONFIG_MOUSE_APPLETOUCH is not set 712# CONFIG_MOUSE_APPLETOUCH is not set
625# CONFIG_MOUSE_BCM5974 is not set 713# CONFIG_MOUSE_BCM5974 is not set
626# CONFIG_MOUSE_VSXXXAA is not set 714# CONFIG_MOUSE_VSXXXAA is not set
715# CONFIG_MOUSE_SYNAPTICS_I2C is not set
627# CONFIG_INPUT_JOYSTICK is not set 716# CONFIG_INPUT_JOYSTICK is not set
628# CONFIG_INPUT_TABLET is not set 717# CONFIG_INPUT_TABLET is not set
629# CONFIG_INPUT_TOUCHSCREEN is not set 718# CONFIG_INPUT_TOUCHSCREEN is not set
@@ -639,6 +728,7 @@ CONFIG_SERIO_SERPORT=y
639CONFIG_SERIO_LIBPS2=y 728CONFIG_SERIO_LIBPS2=y
640# CONFIG_SERIO_RAW is not set 729# CONFIG_SERIO_RAW is not set
641# CONFIG_SERIO_XILINX_XPS_PS2 is not set 730# CONFIG_SERIO_XILINX_XPS_PS2 is not set
731# CONFIG_SERIO_ALTERA_PS2 is not set
642# CONFIG_GAMEPORT is not set 732# CONFIG_GAMEPORT is not set
643 733
644# 734#
@@ -676,6 +766,7 @@ CONFIG_SERIAL_CORE_CONSOLE=y
676# CONFIG_SERIAL_JSM is not set 766# CONFIG_SERIAL_JSM is not set
677CONFIG_SERIAL_OF_PLATFORM=y 767CONFIG_SERIAL_OF_PLATFORM=y
678# CONFIG_SERIAL_OF_PLATFORM_NWPSERIAL is not set 768# CONFIG_SERIAL_OF_PLATFORM_NWPSERIAL is not set
769# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set
679CONFIG_UNIX98_PTYS=y 770CONFIG_UNIX98_PTYS=y
680# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set 771# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
681CONFIG_LEGACY_PTYS=y 772CONFIG_LEGACY_PTYS=y
@@ -691,6 +782,7 @@ CONFIG_LEGACY_PTY_COUNT=256
691CONFIG_DEVPORT=y 782CONFIG_DEVPORT=y
692CONFIG_I2C=y 783CONFIG_I2C=y
693CONFIG_I2C_BOARDINFO=y 784CONFIG_I2C_BOARDINFO=y
785CONFIG_I2C_COMPAT=y
694# CONFIG_I2C_CHARDEV is not set 786# CONFIG_I2C_CHARDEV is not set
695CONFIG_I2C_HELPER_AUTO=y 787CONFIG_I2C_HELPER_AUTO=y
696CONFIG_I2C_ALGOBIT=y 788CONFIG_I2C_ALGOBIT=y
@@ -733,11 +825,6 @@ CONFIG_I2C_IBM_IIC=y
733# CONFIG_I2C_TINY_USB is not set 825# CONFIG_I2C_TINY_USB is not set
734 826
735# 827#
736# Graphics adapter I2C/DDC channel drivers
737#
738# CONFIG_I2C_VOODOO3 is not set
739
740#
741# Other I2C/SMBus bus drivers 828# Other I2C/SMBus bus drivers
742# 829#
743# CONFIG_I2C_PCA_PLATFORM is not set 830# CONFIG_I2C_PCA_PLATFORM is not set
@@ -746,27 +833,23 @@ CONFIG_I2C_IBM_IIC=y
746# 833#
747# Miscellaneous I2C Chip support 834# Miscellaneous I2C Chip support
748# 835#
749# CONFIG_DS1682 is not set
750# CONFIG_EEPROM_AT24 is not set
751# CONFIG_EEPROM_LEGACY is not set
752# CONFIG_SENSORS_PCF8574 is not set
753# CONFIG_PCF8575 is not set
754# CONFIG_SENSORS_PCA9539 is not set
755# CONFIG_SENSORS_PCF8591 is not set
756# CONFIG_SENSORS_MAX6875 is not set
757# CONFIG_SENSORS_TSL2550 is not set 836# CONFIG_SENSORS_TSL2550 is not set
758# CONFIG_I2C_DEBUG_CORE is not set 837# CONFIG_I2C_DEBUG_CORE is not set
759# CONFIG_I2C_DEBUG_ALGO is not set 838# CONFIG_I2C_DEBUG_ALGO is not set
760# CONFIG_I2C_DEBUG_BUS is not set 839# CONFIG_I2C_DEBUG_BUS is not set
761# CONFIG_I2C_DEBUG_CHIP is not set 840# CONFIG_I2C_DEBUG_CHIP is not set
762# CONFIG_SPI is not set 841# CONFIG_SPI is not set
842
843#
844# PPS support
845#
846# CONFIG_PPS is not set
763CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y 847CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
764# CONFIG_GPIOLIB is not set 848# CONFIG_GPIOLIB is not set
765# CONFIG_W1 is not set 849# CONFIG_W1 is not set
766# CONFIG_POWER_SUPPLY is not set 850# CONFIG_POWER_SUPPLY is not set
767# CONFIG_HWMON is not set 851# CONFIG_HWMON is not set
768# CONFIG_THERMAL is not set 852# CONFIG_THERMAL is not set
769# CONFIG_THERMAL_HWMON is not set
770# CONFIG_WATCHDOG is not set 853# CONFIG_WATCHDOG is not set
771CONFIG_SSB_POSSIBLE=y 854CONFIG_SSB_POSSIBLE=y
772 855
@@ -784,31 +867,21 @@ CONFIG_SSB_POSSIBLE=y
784# CONFIG_TWL4030_CORE is not set 867# CONFIG_TWL4030_CORE is not set
785# CONFIG_MFD_TMIO is not set 868# CONFIG_MFD_TMIO is not set
786# CONFIG_PMIC_DA903X is not set 869# CONFIG_PMIC_DA903X is not set
870# CONFIG_PMIC_ADP5520 is not set
787# CONFIG_MFD_WM8400 is not set 871# CONFIG_MFD_WM8400 is not set
872# CONFIG_MFD_WM831X is not set
788# CONFIG_MFD_WM8350_I2C is not set 873# CONFIG_MFD_WM8350_I2C is not set
789# CONFIG_MFD_PCF50633 is not set 874# CONFIG_MFD_PCF50633 is not set
875# CONFIG_AB3100_CORE is not set
876# CONFIG_MFD_88PM8607 is not set
790# CONFIG_REGULATOR is not set 877# CONFIG_REGULATOR is not set
791 878# CONFIG_MEDIA_SUPPORT is not set
792#
793# Multimedia devices
794#
795
796#
797# Multimedia core support
798#
799# CONFIG_VIDEO_DEV is not set
800# CONFIG_DVB_CORE is not set
801# CONFIG_VIDEO_MEDIA is not set
802
803#
804# Multimedia drivers
805#
806# CONFIG_DAB is not set
807 879
808# 880#
809# Graphics support 881# Graphics support
810# 882#
811# CONFIG_AGP is not set 883# CONFIG_AGP is not set
884CONFIG_VGA_ARB=y
812# CONFIG_DRM is not set 885# CONFIG_DRM is not set
813# CONFIG_VGASTATE is not set 886# CONFIG_VGASTATE is not set
814CONFIG_VIDEO_OUTPUT_CONTROL=y 887CONFIG_VIDEO_OUTPUT_CONTROL=y
@@ -870,6 +943,7 @@ CONFIG_FB_RADEON_BACKLIGHT=y
870# CONFIG_FB_VIRTUAL is not set 943# CONFIG_FB_VIRTUAL is not set
871# CONFIG_FB_METRONOME is not set 944# CONFIG_FB_METRONOME is not set
872# CONFIG_FB_MB862XX is not set 945# CONFIG_FB_MB862XX is not set
946# CONFIG_FB_BROADSHEET is not set
873CONFIG_BACKLIGHT_LCD_SUPPORT=y 947CONFIG_BACKLIGHT_LCD_SUPPORT=y
874CONFIG_LCD_CLASS_DEVICE=y 948CONFIG_LCD_CLASS_DEVICE=y
875# CONFIG_LCD_ILI9320 is not set 949# CONFIG_LCD_ILI9320 is not set
@@ -899,7 +973,6 @@ CONFIG_LOGO_LINUX_CLUT224=y
899# CONFIG_SOUND is not set 973# CONFIG_SOUND is not set
900CONFIG_HID_SUPPORT=y 974CONFIG_HID_SUPPORT=y
901CONFIG_HID=y 975CONFIG_HID=y
902# CONFIG_HID_DEBUG is not set
903# CONFIG_HIDRAW is not set 976# CONFIG_HIDRAW is not set
904 977
905# 978#
@@ -912,15 +985,18 @@ CONFIG_USB_HID=y
912# 985#
913# Special HID drivers 986# Special HID drivers
914# 987#
915CONFIG_HID_COMPAT=y
916CONFIG_HID_A4TECH=y 988CONFIG_HID_A4TECH=y
917CONFIG_HID_APPLE=y 989CONFIG_HID_APPLE=y
918CONFIG_HID_BELKIN=y 990CONFIG_HID_BELKIN=y
919CONFIG_HID_CHERRY=y 991CONFIG_HID_CHERRY=y
920CONFIG_HID_CHICONY=y 992CONFIG_HID_CHICONY=y
921CONFIG_HID_CYPRESS=y 993CONFIG_HID_CYPRESS=y
994# CONFIG_HID_DRAGONRISE is not set
922CONFIG_HID_EZKEY=y 995CONFIG_HID_EZKEY=y
996# CONFIG_HID_KYE is not set
923CONFIG_HID_GYRATION=y 997CONFIG_HID_GYRATION=y
998# CONFIG_HID_TWINHAN is not set
999# CONFIG_HID_KENSINGTON is not set
924CONFIG_HID_LOGITECH=y 1000CONFIG_HID_LOGITECH=y
925# CONFIG_LOGITECH_FF is not set 1001# CONFIG_LOGITECH_FF is not set
926# CONFIG_LOGIRUMBLEPAD2_FF is not set 1002# CONFIG_LOGIRUMBLEPAD2_FF is not set
@@ -933,10 +1009,11 @@ CONFIG_HID_PETALYNX=y
933CONFIG_HID_SAMSUNG=y 1009CONFIG_HID_SAMSUNG=y
934CONFIG_HID_SONY=y 1010CONFIG_HID_SONY=y
935CONFIG_HID_SUNPLUS=y 1011CONFIG_HID_SUNPLUS=y
936# CONFIG_GREENASIA_FF is not set 1012# CONFIG_HID_GREENASIA is not set
1013# CONFIG_HID_SMARTJOYPLUS is not set
937# CONFIG_HID_TOPSEED is not set 1014# CONFIG_HID_TOPSEED is not set
938CONFIG_THRUSTMASTER_FF=m 1015# CONFIG_HID_THRUSTMASTER is not set
939CONFIG_ZEROPLUS_FF=m 1016# CONFIG_HID_ZEROPLUS is not set
940CONFIG_USB_SUPPORT=y 1017CONFIG_USB_SUPPORT=y
941CONFIG_USB_ARCH_HAS_HCD=y 1018CONFIG_USB_ARCH_HAS_HCD=y
942CONFIG_USB_ARCH_HAS_OHCI=y 1019CONFIG_USB_ARCH_HAS_OHCI=y
@@ -962,17 +1039,20 @@ CONFIG_USB_DEVICEFS=y
962# USB Host Controller Drivers 1039# USB Host Controller Drivers
963# 1040#
964# CONFIG_USB_C67X00_HCD is not set 1041# CONFIG_USB_C67X00_HCD is not set
1042# CONFIG_USB_XHCI_HCD is not set
965CONFIG_USB_EHCI_HCD=m 1043CONFIG_USB_EHCI_HCD=m
966# CONFIG_USB_EHCI_ROOT_HUB_TT is not set 1044# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
967# CONFIG_USB_EHCI_TT_NEWSCHED is not set 1045# CONFIG_USB_EHCI_TT_NEWSCHED is not set
1046# CONFIG_XPS_USB_HCD_XILINX is not set
968CONFIG_USB_EHCI_HCD_PPC_OF=y 1047CONFIG_USB_EHCI_HCD_PPC_OF=y
969# CONFIG_USB_OXU210HP_HCD is not set 1048# CONFIG_USB_OXU210HP_HCD is not set
970# CONFIG_USB_ISP116X_HCD is not set 1049# CONFIG_USB_ISP116X_HCD is not set
971# CONFIG_USB_ISP1760_HCD is not set 1050# CONFIG_USB_ISP1760_HCD is not set
1051# CONFIG_USB_ISP1362_HCD is not set
972CONFIG_USB_OHCI_HCD=y 1052CONFIG_USB_OHCI_HCD=y
973CONFIG_USB_OHCI_HCD_PPC_OF=y
974CONFIG_USB_OHCI_HCD_PPC_OF_BE=y 1053CONFIG_USB_OHCI_HCD_PPC_OF_BE=y
975CONFIG_USB_OHCI_HCD_PPC_OF_LE=y 1054CONFIG_USB_OHCI_HCD_PPC_OF_LE=y
1055CONFIG_USB_OHCI_HCD_PPC_OF=y
976CONFIG_USB_OHCI_HCD_PCI=y 1056CONFIG_USB_OHCI_HCD_PCI=y
977CONFIG_USB_OHCI_BIG_ENDIAN_DESC=y 1057CONFIG_USB_OHCI_BIG_ENDIAN_DESC=y
978CONFIG_USB_OHCI_BIG_ENDIAN_MMIO=y 1058CONFIG_USB_OHCI_BIG_ENDIAN_MMIO=y
@@ -992,11 +1072,11 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
992# CONFIG_USB_TMC is not set 1072# CONFIG_USB_TMC is not set
993 1073
994# 1074#
995# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; 1075# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
996# 1076#
997 1077
998# 1078#
999# see USB_STORAGE Help for more information 1079# also be needed; see USB_STORAGE Help for more info
1000# 1080#
1001CONFIG_USB_STORAGE=m 1081CONFIG_USB_STORAGE=m
1002# CONFIG_USB_STORAGE_DEBUG is not set 1082# CONFIG_USB_STORAGE_DEBUG is not set
@@ -1038,7 +1118,6 @@ CONFIG_USB_STORAGE=m
1038# CONFIG_USB_LED is not set 1118# CONFIG_USB_LED is not set
1039# CONFIG_USB_CYPRESS_CY7C63 is not set 1119# CONFIG_USB_CYPRESS_CY7C63 is not set
1040# CONFIG_USB_CYTHERM is not set 1120# CONFIG_USB_CYTHERM is not set
1041# CONFIG_USB_PHIDGET is not set
1042# CONFIG_USB_IDMOUSE is not set 1121# CONFIG_USB_IDMOUSE is not set
1043# CONFIG_USB_FTDI_ELAN is not set 1122# CONFIG_USB_FTDI_ELAN is not set
1044# CONFIG_USB_APPLEDISPLAY is not set 1123# CONFIG_USB_APPLEDISPLAY is not set
@@ -1054,6 +1133,7 @@ CONFIG_USB_STORAGE=m
1054# 1133#
1055# OTG and related infrastructure 1134# OTG and related infrastructure
1056# 1135#
1136# CONFIG_NOP_USB_XCEIV is not set
1057# CONFIG_UWB is not set 1137# CONFIG_UWB is not set
1058# CONFIG_MMC is not set 1138# CONFIG_MMC is not set
1059# CONFIG_MEMSTICK is not set 1139# CONFIG_MEMSTICK is not set
@@ -1090,9 +1170,11 @@ CONFIG_RTC_INTF_DEV=y
1090# CONFIG_RTC_DRV_PCF8583 is not set 1170# CONFIG_RTC_DRV_PCF8583 is not set
1091CONFIG_RTC_DRV_M41T80=y 1171CONFIG_RTC_DRV_M41T80=y
1092CONFIG_RTC_DRV_M41T80_WDT=y 1172CONFIG_RTC_DRV_M41T80_WDT=y
1173# CONFIG_RTC_DRV_BQ32K is not set
1093# CONFIG_RTC_DRV_S35390A is not set 1174# CONFIG_RTC_DRV_S35390A is not set
1094# CONFIG_RTC_DRV_FM3130 is not set 1175# CONFIG_RTC_DRV_FM3130 is not set
1095# CONFIG_RTC_DRV_RX8581 is not set 1176# CONFIG_RTC_DRV_RX8581 is not set
1177# CONFIG_RTC_DRV_RX8025 is not set
1096 1178
1097# 1179#
1098# SPI RTC drivers 1180# SPI RTC drivers
@@ -1110,15 +1192,22 @@ CONFIG_RTC_DRV_M41T80_WDT=y
1110# CONFIG_RTC_DRV_M48T86 is not set 1192# CONFIG_RTC_DRV_M48T86 is not set
1111# CONFIG_RTC_DRV_M48T35 is not set 1193# CONFIG_RTC_DRV_M48T35 is not set
1112# CONFIG_RTC_DRV_M48T59 is not set 1194# CONFIG_RTC_DRV_M48T59 is not set
1195# CONFIG_RTC_DRV_MSM6242 is not set
1113# CONFIG_RTC_DRV_BQ4802 is not set 1196# CONFIG_RTC_DRV_BQ4802 is not set
1197# CONFIG_RTC_DRV_RP5C01 is not set
1114# CONFIG_RTC_DRV_V3020 is not set 1198# CONFIG_RTC_DRV_V3020 is not set
1115 1199
1116# 1200#
1117# on-CPU RTC drivers 1201# on-CPU RTC drivers
1118# 1202#
1119# CONFIG_RTC_DRV_PPC is not set 1203# CONFIG_RTC_DRV_GENERIC is not set
1120# CONFIG_DMADEVICES is not set 1204# CONFIG_DMADEVICES is not set
1205# CONFIG_AUXDISPLAY is not set
1121# CONFIG_UIO is not set 1206# CONFIG_UIO is not set
1207
1208#
1209# TI VLYNQ
1210#
1122# CONFIG_STAGING is not set 1211# CONFIG_STAGING is not set
1123 1212
1124# 1213#
@@ -1130,6 +1219,7 @@ CONFIG_EXT2_FS_POSIX_ACL=y
1130# CONFIG_EXT2_FS_SECURITY is not set 1219# CONFIG_EXT2_FS_SECURITY is not set
1131# CONFIG_EXT2_FS_XIP is not set 1220# CONFIG_EXT2_FS_XIP is not set
1132CONFIG_EXT3_FS=y 1221CONFIG_EXT3_FS=y
1222# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
1133CONFIG_EXT3_FS_XATTR=y 1223CONFIG_EXT3_FS_XATTR=y
1134CONFIG_EXT3_FS_POSIX_ACL=y 1224CONFIG_EXT3_FS_POSIX_ACL=y
1135# CONFIG_EXT3_FS_SECURITY is not set 1225# CONFIG_EXT3_FS_SECURITY is not set
@@ -1142,10 +1232,13 @@ CONFIG_REISERFS_FS=y
1142# CONFIG_REISERFS_FS_XATTR is not set 1232# CONFIG_REISERFS_FS_XATTR is not set
1143# CONFIG_JFS_FS is not set 1233# CONFIG_JFS_FS is not set
1144CONFIG_FS_POSIX_ACL=y 1234CONFIG_FS_POSIX_ACL=y
1145CONFIG_FILE_LOCKING=y
1146# CONFIG_XFS_FS is not set 1235# CONFIG_XFS_FS is not set
1236# CONFIG_GFS2_FS is not set
1147# CONFIG_OCFS2_FS is not set 1237# CONFIG_OCFS2_FS is not set
1148# CONFIG_BTRFS_FS is not set 1238# CONFIG_BTRFS_FS is not set
1239# CONFIG_NILFS2_FS is not set
1240CONFIG_FILE_LOCKING=y
1241CONFIG_FSNOTIFY=y
1149CONFIG_DNOTIFY=y 1242CONFIG_DNOTIFY=y
1150CONFIG_INOTIFY=y 1243CONFIG_INOTIFY=y
1151CONFIG_INOTIFY_USER=y 1244CONFIG_INOTIFY_USER=y
@@ -1155,6 +1248,11 @@ CONFIG_AUTOFS4_FS=y
1155# CONFIG_FUSE_FS is not set 1248# CONFIG_FUSE_FS is not set
1156 1249
1157# 1250#
1251# Caches
1252#
1253# CONFIG_FSCACHE is not set
1254
1255#
1158# CD-ROM/DVD Filesystems 1256# CD-ROM/DVD Filesystems
1159# 1257#
1160CONFIG_ISO9660_FS=y 1258CONFIG_ISO9660_FS=y
@@ -1267,6 +1365,7 @@ CONFIG_NLS_ISO8859_1=y
1267# CONFIG_NLS_KOI8_U is not set 1365# CONFIG_NLS_KOI8_U is not set
1268# CONFIG_NLS_UTF8 is not set 1366# CONFIG_NLS_UTF8 is not set
1269# CONFIG_DLM is not set 1367# CONFIG_DLM is not set
1368# CONFIG_BINARY_PRINTF is not set
1270 1369
1271# 1370#
1272# Library routines 1371# Library routines
@@ -1281,11 +1380,13 @@ CONFIG_CRC32=y
1281# CONFIG_CRC7 is not set 1380# CONFIG_CRC7 is not set
1282# CONFIG_LIBCRC32C is not set 1381# CONFIG_LIBCRC32C is not set
1283CONFIG_ZLIB_INFLATE=y 1382CONFIG_ZLIB_INFLATE=y
1284CONFIG_PLIST=y 1383CONFIG_DECOMPRESS_GZIP=y
1285CONFIG_HAS_IOMEM=y 1384CONFIG_HAS_IOMEM=y
1286CONFIG_HAS_IOPORT=y 1385CONFIG_HAS_IOPORT=y
1287CONFIG_HAS_DMA=y 1386CONFIG_HAS_DMA=y
1288CONFIG_HAVE_LMB=y 1387CONFIG_HAVE_LMB=y
1388CONFIG_NLATTR=y
1389CONFIG_GENERIC_ATOMIC64=y
1289 1390
1290# 1391#
1291# Kernel hacking 1392# Kernel hacking
@@ -1295,27 +1396,29 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
1295CONFIG_ENABLE_MUST_CHECK=y 1396CONFIG_ENABLE_MUST_CHECK=y
1296CONFIG_FRAME_WARN=1024 1397CONFIG_FRAME_WARN=1024
1297CONFIG_MAGIC_SYSRQ=y 1398CONFIG_MAGIC_SYSRQ=y
1399# CONFIG_STRIP_ASM_SYMS is not set
1298# CONFIG_UNUSED_SYMBOLS is not set 1400# CONFIG_UNUSED_SYMBOLS is not set
1299# CONFIG_DEBUG_FS is not set 1401# CONFIG_DEBUG_FS is not set
1300# CONFIG_HEADERS_CHECK is not set 1402# CONFIG_HEADERS_CHECK is not set
1301# CONFIG_DEBUG_KERNEL is not set 1403# CONFIG_DEBUG_KERNEL is not set
1302# CONFIG_SLUB_DEBUG_ON is not set 1404# CONFIG_SLUB_DEBUG_ON is not set
1303# CONFIG_SLUB_STATS is not set 1405# CONFIG_SLUB_STATS is not set
1304# CONFIG_DEBUG_BUGVERBOSE is not set 1406CONFIG_DEBUG_BUGVERBOSE=y
1305# CONFIG_DEBUG_MEMORY_INIT is not set 1407# CONFIG_DEBUG_MEMORY_INIT is not set
1306# CONFIG_RCU_CPU_STALL_DETECTOR is not set 1408# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1307# CONFIG_LATENCYTOP is not set 1409# CONFIG_LATENCYTOP is not set
1308CONFIG_SYSCTL_SYSCALL_CHECK=y 1410CONFIG_SYSCTL_SYSCALL_CHECK=y
1309CONFIG_HAVE_FUNCTION_TRACER=y 1411CONFIG_HAVE_FUNCTION_TRACER=y
1412CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
1310CONFIG_HAVE_DYNAMIC_FTRACE=y 1413CONFIG_HAVE_DYNAMIC_FTRACE=y
1311CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 1414CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1312 1415CONFIG_TRACING_SUPPORT=y
1313# 1416# CONFIG_FTRACE is not set
1314# Tracers 1417# CONFIG_DMA_API_DEBUG is not set
1315#
1316# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
1317# CONFIG_SAMPLES is not set 1418# CONFIG_SAMPLES is not set
1318CONFIG_HAVE_ARCH_KGDB=y 1419CONFIG_HAVE_ARCH_KGDB=y
1420# CONFIG_PPC_DISABLE_WERROR is not set
1421CONFIG_PPC_WERROR=y
1319CONFIG_PRINT_STACK_DEPTH=64 1422CONFIG_PRINT_STACK_DEPTH=64
1320# CONFIG_IRQSTACKS is not set 1423# CONFIG_IRQSTACKS is not set
1321# CONFIG_PPC_EARLY_DEBUG is not set 1424# CONFIG_PPC_EARLY_DEBUG is not set
@@ -1326,7 +1429,11 @@ CONFIG_PRINT_STACK_DEPTH=64
1326# CONFIG_KEYS is not set 1429# CONFIG_KEYS is not set
1327# CONFIG_SECURITY is not set 1430# CONFIG_SECURITY is not set
1328# CONFIG_SECURITYFS is not set 1431# CONFIG_SECURITYFS is not set
1329# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1432# CONFIG_DEFAULT_SECURITY_SELINUX is not set
1433# CONFIG_DEFAULT_SECURITY_SMACK is not set
1434# CONFIG_DEFAULT_SECURITY_TOMOYO is not set
1435CONFIG_DEFAULT_SECURITY_DAC=y
1436CONFIG_DEFAULT_SECURITY=""
1330# CONFIG_CRYPTO is not set 1437# CONFIG_CRYPTO is not set
1331# CONFIG_PPC_CLOCK is not set 1438# CONFIG_PPC_CLOCK is not set
1332# CONFIG_VIRTUALIZATION is not set 1439# CONFIG_VIRTUALIZATION is not set
diff --git a/arch/powerpc/configs/44x/sequoia_defconfig b/arch/powerpc/configs/44x/sequoia_defconfig
index 6400aae04dda..c348a4662a9e 100644
--- a/arch/powerpc/configs/44x/sequoia_defconfig
+++ b/arch/powerpc/configs/44x/sequoia_defconfig
@@ -1,14 +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.29 3# Linux kernel version: 2.6.33-rc1
4# Tue Apr 7 17:04:52 2009 4# Mon Jan 4 15:15:51 2010
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
8# 8#
9# Processor support 9# Processor support
10# 10#
11# CONFIG_6xx is not set 11# CONFIG_PPC_BOOK3S_32 is not set
12# CONFIG_PPC_85xx is not set 12# CONFIG_PPC_85xx is not set
13# CONFIG_PPC_8xx is not set 13# CONFIG_PPC_8xx is not set
14# CONFIG_40x is not set 14# CONFIG_40x is not set
@@ -20,6 +20,7 @@ CONFIG_BOOKE=y
20CONFIG_PTE_64BIT=y 20CONFIG_PTE_64BIT=y
21CONFIG_PHYS_64BIT=y 21CONFIG_PHYS_64BIT=y
22CONFIG_PPC_MMU_NOHASH=y 22CONFIG_PPC_MMU_NOHASH=y
23CONFIG_PPC_MMU_NOHASH_32=y
23# CONFIG_PPC_MM_SLICES is not set 24# CONFIG_PPC_MM_SLICES is not set
24CONFIG_NOT_COHERENT_CACHE=y 25CONFIG_NOT_COHERENT_CACHE=y
25CONFIG_PPC32=y 26CONFIG_PPC32=y
@@ -31,15 +32,18 @@ CONFIG_GENERIC_TIME=y
31CONFIG_GENERIC_TIME_VSYSCALL=y 32CONFIG_GENERIC_TIME_VSYSCALL=y
32CONFIG_GENERIC_CLOCKEVENTS=y 33CONFIG_GENERIC_CLOCKEVENTS=y
33CONFIG_GENERIC_HARDIRQS=y 34CONFIG_GENERIC_HARDIRQS=y
35CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
34# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 36# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
37# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
35CONFIG_IRQ_PER_CPU=y 38CONFIG_IRQ_PER_CPU=y
39CONFIG_NR_IRQS=512
36CONFIG_STACKTRACE_SUPPORT=y 40CONFIG_STACKTRACE_SUPPORT=y
37CONFIG_HAVE_LATENCYTOP_SUPPORT=y 41CONFIG_HAVE_LATENCYTOP_SUPPORT=y
42CONFIG_TRACE_IRQFLAGS_SUPPORT=y
38CONFIG_LOCKDEP_SUPPORT=y 43CONFIG_LOCKDEP_SUPPORT=y
39CONFIG_RWSEM_XCHGADD_ALGORITHM=y 44CONFIG_RWSEM_XCHGADD_ALGORITHM=y
40CONFIG_ARCH_HAS_ILOG2_U32=y 45CONFIG_ARCH_HAS_ILOG2_U32=y
41CONFIG_GENERIC_HWEIGHT=y 46CONFIG_GENERIC_HWEIGHT=y
42CONFIG_GENERIC_CALIBRATE_DELAY=y
43CONFIG_GENERIC_FIND_NEXT_BIT=y 47CONFIG_GENERIC_FIND_NEXT_BIT=y
44# CONFIG_ARCH_NO_VIRT_TO_BUS is not set 48# CONFIG_ARCH_NO_VIRT_TO_BUS is not set
45CONFIG_PPC=y 49CONFIG_PPC=y
@@ -53,12 +57,15 @@ CONFIG_PPC_UDBG_16550=y
53# CONFIG_GENERIC_TBSYNC is not set 57# CONFIG_GENERIC_TBSYNC is not set
54CONFIG_AUDIT_ARCH=y 58CONFIG_AUDIT_ARCH=y
55CONFIG_GENERIC_BUG=y 59CONFIG_GENERIC_BUG=y
60CONFIG_DTC=y
56# CONFIG_DEFAULT_UIMAGE is not set 61# CONFIG_DEFAULT_UIMAGE is not set
62CONFIG_ARCH_HIBERNATION_POSSIBLE=y
57CONFIG_PPC_DCR_NATIVE=y 63CONFIG_PPC_DCR_NATIVE=y
58# CONFIG_PPC_DCR_MMIO is not set 64# CONFIG_PPC_DCR_MMIO is not set
59CONFIG_PPC_DCR=y 65CONFIG_PPC_DCR=y
60CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y 66CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
61CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 67CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
68CONFIG_CONSTRUCTORS=y
62 69
63# 70#
64# General setup 71# General setup
@@ -72,6 +79,7 @@ CONFIG_SWAP=y
72CONFIG_SYSVIPC=y 79CONFIG_SYSVIPC=y
73CONFIG_SYSVIPC_SYSCTL=y 80CONFIG_SYSVIPC_SYSCTL=y
74CONFIG_POSIX_MQUEUE=y 81CONFIG_POSIX_MQUEUE=y
82CONFIG_POSIX_MQUEUE_SYSCTL=y
75# CONFIG_BSD_PROCESS_ACCT is not set 83# CONFIG_BSD_PROCESS_ACCT is not set
76# CONFIG_TASKSTATS is not set 84# CONFIG_TASKSTATS is not set
77# CONFIG_AUDIT is not set 85# CONFIG_AUDIT is not set
@@ -79,11 +87,13 @@ CONFIG_POSIX_MQUEUE=y
79# 87#
80# RCU Subsystem 88# RCU Subsystem
81# 89#
82CONFIG_CLASSIC_RCU=y 90CONFIG_TREE_RCU=y
83# CONFIG_TREE_RCU is not set 91# CONFIG_TREE_PREEMPT_RCU is not set
84# CONFIG_PREEMPT_RCU is not set 92# CONFIG_TINY_RCU is not set
93# CONFIG_RCU_TRACE is not set
94CONFIG_RCU_FANOUT=32
95# CONFIG_RCU_FANOUT_EXACT is not set
85# CONFIG_TREE_RCU_TRACE is not set 96# CONFIG_TREE_RCU_TRACE is not set
86# CONFIG_PREEMPT_RCU_TRACE is not set
87# CONFIG_IKCONFIG is not set 97# CONFIG_IKCONFIG is not set
88CONFIG_LOG_BUF_SHIFT=14 98CONFIG_LOG_BUF_SHIFT=14
89CONFIG_GROUP_SCHED=y 99CONFIG_GROUP_SCHED=y
@@ -92,8 +102,7 @@ CONFIG_GROUP_SCHED=y
92CONFIG_USER_SCHED=y 102CONFIG_USER_SCHED=y
93# CONFIG_CGROUP_SCHED is not set 103# CONFIG_CGROUP_SCHED is not set
94# CONFIG_CGROUPS is not set 104# CONFIG_CGROUPS is not set
95CONFIG_SYSFS_DEPRECATED=y 105# CONFIG_SYSFS_DEPRECATED_V2 is not set
96CONFIG_SYSFS_DEPRECATED_V2=y
97# CONFIG_RELAY is not set 106# CONFIG_RELAY is not set
98# CONFIG_NAMESPACES is not set 107# CONFIG_NAMESPACES is not set
99CONFIG_BLK_DEV_INITRD=y 108CONFIG_BLK_DEV_INITRD=y
@@ -121,6 +130,13 @@ CONFIG_TIMERFD=y
121CONFIG_EVENTFD=y 130CONFIG_EVENTFD=y
122CONFIG_SHMEM=y 131CONFIG_SHMEM=y
123CONFIG_AIO=y 132CONFIG_AIO=y
133CONFIG_HAVE_PERF_EVENTS=y
134
135#
136# Kernel Performance Events And Counters
137#
138# CONFIG_PERF_EVENTS is not set
139# CONFIG_PERF_COUNTERS is not set
124CONFIG_VM_EVENT_COUNTERS=y 140CONFIG_VM_EVENT_COUNTERS=y
125CONFIG_PCI_QUIRKS=y 141CONFIG_PCI_QUIRKS=y
126CONFIG_SLUB_DEBUG=y 142CONFIG_SLUB_DEBUG=y
@@ -129,7 +145,6 @@ CONFIG_COMPAT_BRK=y
129CONFIG_SLUB=y 145CONFIG_SLUB=y
130# CONFIG_SLOB is not set 146# CONFIG_SLOB is not set
131# CONFIG_PROFILING is not set 147# CONFIG_PROFILING is not set
132# CONFIG_MARKERS is not set
133CONFIG_HAVE_OPROFILE=y 148CONFIG_HAVE_OPROFILE=y
134# CONFIG_KPROBES is not set 149# CONFIG_KPROBES is not set
135CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 150CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
@@ -137,6 +152,13 @@ CONFIG_HAVE_IOREMAP_PROT=y
137CONFIG_HAVE_KPROBES=y 152CONFIG_HAVE_KPROBES=y
138CONFIG_HAVE_KRETPROBES=y 153CONFIG_HAVE_KRETPROBES=y
139CONFIG_HAVE_ARCH_TRACEHOOK=y 154CONFIG_HAVE_ARCH_TRACEHOOK=y
155CONFIG_HAVE_DMA_ATTRS=y
156CONFIG_HAVE_DMA_API_DEBUG=y
157
158#
159# GCOV-based kernel profiling
160#
161# CONFIG_GCOV_KERNEL is not set
140# CONFIG_SLOW_WORK is not set 162# CONFIG_SLOW_WORK is not set
141# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 163# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
142CONFIG_SLABINFO=y 164CONFIG_SLABINFO=y
@@ -149,7 +171,7 @@ CONFIG_MODULE_UNLOAD=y
149# CONFIG_MODVERSIONS is not set 171# CONFIG_MODVERSIONS is not set
150# CONFIG_MODULE_SRCVERSION_ALL is not set 172# CONFIG_MODULE_SRCVERSION_ALL is not set
151CONFIG_BLOCK=y 173CONFIG_BLOCK=y
152CONFIG_LBD=y 174CONFIG_LBDAF=y
153# CONFIG_BLK_DEV_BSG is not set 175# CONFIG_BLK_DEV_BSG is not set
154# CONFIG_BLK_DEV_INTEGRITY is not set 176# CONFIG_BLK_DEV_INTEGRITY is not set
155 177
@@ -157,14 +179,41 @@ CONFIG_LBD=y
157# IO Schedulers 179# IO Schedulers
158# 180#
159CONFIG_IOSCHED_NOOP=y 181CONFIG_IOSCHED_NOOP=y
160CONFIG_IOSCHED_AS=y
161CONFIG_IOSCHED_DEADLINE=y 182CONFIG_IOSCHED_DEADLINE=y
162CONFIG_IOSCHED_CFQ=y 183CONFIG_IOSCHED_CFQ=y
163CONFIG_DEFAULT_AS=y
164# CONFIG_DEFAULT_DEADLINE is not set 184# CONFIG_DEFAULT_DEADLINE is not set
165# CONFIG_DEFAULT_CFQ is not set 185CONFIG_DEFAULT_CFQ=y
166# CONFIG_DEFAULT_NOOP is not set 186# CONFIG_DEFAULT_NOOP is not set
167CONFIG_DEFAULT_IOSCHED="anticipatory" 187CONFIG_DEFAULT_IOSCHED="cfq"
188# CONFIG_INLINE_SPIN_TRYLOCK is not set
189# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
190# CONFIG_INLINE_SPIN_LOCK is not set
191# CONFIG_INLINE_SPIN_LOCK_BH is not set
192# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
193# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
194CONFIG_INLINE_SPIN_UNLOCK=y
195# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
196CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
197# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
198# CONFIG_INLINE_READ_TRYLOCK is not set
199# CONFIG_INLINE_READ_LOCK is not set
200# CONFIG_INLINE_READ_LOCK_BH is not set
201# CONFIG_INLINE_READ_LOCK_IRQ is not set
202# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
203CONFIG_INLINE_READ_UNLOCK=y
204# CONFIG_INLINE_READ_UNLOCK_BH is not set
205CONFIG_INLINE_READ_UNLOCK_IRQ=y
206# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
207# CONFIG_INLINE_WRITE_TRYLOCK is not set
208# CONFIG_INLINE_WRITE_LOCK is not set
209# CONFIG_INLINE_WRITE_LOCK_BH is not set
210# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
211# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
212CONFIG_INLINE_WRITE_UNLOCK=y
213# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
214CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
215# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
216# CONFIG_MUTEX_SPIN_ON_OWNER is not set
168# CONFIG_FREEZER is not set 217# CONFIG_FREEZER is not set
169# CONFIG_PPC4xx_PCI_EXPRESS is not set 218# CONFIG_PPC4xx_PCI_EXPRESS is not set
170 219
@@ -186,6 +235,7 @@ CONFIG_SEQUOIA=y
186# CONFIG_CANYONLANDS is not set 235# CONFIG_CANYONLANDS is not set
187# CONFIG_GLACIER is not set 236# CONFIG_GLACIER is not set
188# CONFIG_REDWOOD is not set 237# CONFIG_REDWOOD is not set
238# CONFIG_EIGER is not set
189# CONFIG_YOSEMITE is not set 239# CONFIG_YOSEMITE is not set
190# CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set 240# CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set
191CONFIG_PPC44x_SIMPLE=y 241CONFIG_PPC44x_SIMPLE=y
@@ -228,10 +278,12 @@ CONFIG_BINFMT_ELF=y
228# CONFIG_BINFMT_MISC is not set 278# CONFIG_BINFMT_MISC is not set
229# CONFIG_MATH_EMULATION is not set 279# CONFIG_MATH_EMULATION is not set
230# CONFIG_IOMMU_HELPER is not set 280# CONFIG_IOMMU_HELPER is not set
231CONFIG_PPC_NEED_DMA_SYNC_OPS=y 281# CONFIG_SWIOTLB is not set
232CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 282CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
233CONFIG_ARCH_HAS_WALK_MEMORY=y 283CONFIG_ARCH_HAS_WALK_MEMORY=y
234CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 284CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
285CONFIG_SPARSE_IRQ=y
286CONFIG_MAX_ACTIVE_REGIONS=32
235CONFIG_ARCH_FLATMEM_ENABLE=y 287CONFIG_ARCH_FLATMEM_ENABLE=y
236CONFIG_ARCH_POPULATES_NODE_MAP=y 288CONFIG_ARCH_POPULATES_NODE_MAP=y
237CONFIG_SELECT_MEMORY_MODEL=y 289CONFIG_SELECT_MEMORY_MODEL=y
@@ -247,9 +299,8 @@ CONFIG_PHYS_ADDR_T_64BIT=y
247CONFIG_ZONE_DMA_FLAG=1 299CONFIG_ZONE_DMA_FLAG=1
248CONFIG_BOUNCE=y 300CONFIG_BOUNCE=y
249CONFIG_VIRT_TO_BUS=y 301CONFIG_VIRT_TO_BUS=y
250CONFIG_UNEVICTABLE_LRU=y 302# CONFIG_KSM is not set
251CONFIG_HAVE_MLOCK=y 303CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
252CONFIG_HAVE_MLOCKED_PAGE_BIT=y
253CONFIG_STDBINUTILS=y 304CONFIG_STDBINUTILS=y
254CONFIG_PPC_4K_PAGES=y 305CONFIG_PPC_4K_PAGES=y
255# CONFIG_PPC_16K_PAGES is not set 306# CONFIG_PPC_16K_PAGES is not set
@@ -293,11 +344,11 @@ CONFIG_ARCH_SUPPORTS_MSI=y
293# Default settings for advanced configuration options are used 344# Default settings for advanced configuration options are used
294# 345#
295CONFIG_LOWMEM_SIZE=0x30000000 346CONFIG_LOWMEM_SIZE=0x30000000
296CONFIG_LOWMEM_CAM_NUM=3
297CONFIG_PAGE_OFFSET=0xc0000000 347CONFIG_PAGE_OFFSET=0xc0000000
298CONFIG_KERNEL_START=0xc0000000 348CONFIG_KERNEL_START=0xc0000000
299CONFIG_PHYSICAL_START=0x00000000 349CONFIG_PHYSICAL_START=0x00000000
300CONFIG_TASK_SIZE=0xc0000000 350CONFIG_TASK_SIZE=0xc0000000
351CONFIG_CONSISTENT_SIZE=0x00200000
301CONFIG_NET=y 352CONFIG_NET=y
302 353
303# 354#
@@ -339,6 +390,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
339# CONFIG_NETFILTER is not set 390# CONFIG_NETFILTER is not set
340# CONFIG_IP_DCCP is not set 391# CONFIG_IP_DCCP is not set
341# CONFIG_IP_SCTP is not set 392# CONFIG_IP_SCTP is not set
393# CONFIG_RDS is not set
342# CONFIG_TIPC is not set 394# CONFIG_TIPC is not set
343# CONFIG_ATM is not set 395# CONFIG_ATM is not set
344# CONFIG_BRIDGE is not set 396# CONFIG_BRIDGE is not set
@@ -353,6 +405,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
353# CONFIG_ECONET is not set 405# CONFIG_ECONET is not set
354# CONFIG_WAN_ROUTER is not set 406# CONFIG_WAN_ROUTER is not set
355# CONFIG_PHONET is not set 407# CONFIG_PHONET is not set
408# CONFIG_IEEE802154 is not set
356# CONFIG_NET_SCHED is not set 409# CONFIG_NET_SCHED is not set
357# CONFIG_DCB is not set 410# CONFIG_DCB is not set
358 411
@@ -365,7 +418,13 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
365# CONFIG_IRDA is not set 418# CONFIG_IRDA is not set
366# CONFIG_BT is not set 419# CONFIG_BT is not set
367# CONFIG_AF_RXRPC is not set 420# CONFIG_AF_RXRPC is not set
368# CONFIG_WIRELESS is not set 421CONFIG_WIRELESS=y
422# CONFIG_CFG80211 is not set
423# CONFIG_LIB80211 is not set
424
425#
426# CFG80211 needs to be enabled for MAC80211
427#
369# CONFIG_WIMAX is not set 428# CONFIG_WIMAX is not set
370# CONFIG_RFKILL is not set 429# CONFIG_RFKILL is not set
371# CONFIG_NET_9P is not set 430# CONFIG_NET_9P is not set
@@ -378,6 +437,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
378# Generic Driver Options 437# Generic Driver Options
379# 438#
380CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 439CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
440# CONFIG_DEVTMPFS is not set
381CONFIG_STANDALONE=y 441CONFIG_STANDALONE=y
382CONFIG_PREVENT_FIRMWARE_BUILD=y 442CONFIG_PREVENT_FIRMWARE_BUILD=y
383CONFIG_FW_LOADER=y 443CONFIG_FW_LOADER=y
@@ -390,9 +450,9 @@ CONFIG_CONNECTOR=y
390CONFIG_PROC_EVENTS=y 450CONFIG_PROC_EVENTS=y
391CONFIG_MTD=y 451CONFIG_MTD=y
392# CONFIG_MTD_DEBUG is not set 452# CONFIG_MTD_DEBUG is not set
453# CONFIG_MTD_TESTS is not set
393# CONFIG_MTD_CONCAT is not set 454# CONFIG_MTD_CONCAT is not set
394CONFIG_MTD_PARTITIONS=y 455CONFIG_MTD_PARTITIONS=y
395# CONFIG_MTD_TESTS is not set
396# CONFIG_MTD_REDBOOT_PARTS is not set 456# CONFIG_MTD_REDBOOT_PARTS is not set
397CONFIG_MTD_CMDLINE_PARTS=y 457CONFIG_MTD_CMDLINE_PARTS=y
398CONFIG_MTD_OF_PARTS=y 458CONFIG_MTD_OF_PARTS=y
@@ -493,6 +553,7 @@ CONFIG_BLK_DEV=y
493# CONFIG_BLK_DEV_UMEM is not set 553# CONFIG_BLK_DEV_UMEM is not set
494# CONFIG_BLK_DEV_COW_COMMON is not set 554# CONFIG_BLK_DEV_COW_COMMON is not set
495# CONFIG_BLK_DEV_LOOP is not set 555# CONFIG_BLK_DEV_LOOP is not set
556# CONFIG_BLK_DEV_DRBD is not set
496# CONFIG_BLK_DEV_NBD is not set 557# CONFIG_BLK_DEV_NBD is not set
497# CONFIG_BLK_DEV_SX8 is not set 558# CONFIG_BLK_DEV_SX8 is not set
498CONFIG_BLK_DEV_RAM=y 559CONFIG_BLK_DEV_RAM=y
@@ -515,6 +576,7 @@ CONFIG_MISC_DEVICES=y
515# EEPROM support 576# EEPROM support
516# 577#
517# CONFIG_EEPROM_93CX6 is not set 578# CONFIG_EEPROM_93CX6 is not set
579# CONFIG_CB710_CORE is not set
518CONFIG_HAVE_IDE=y 580CONFIG_HAVE_IDE=y
519# CONFIG_IDE is not set 581# CONFIG_IDE is not set
520 582
@@ -534,14 +596,17 @@ CONFIG_HAVE_IDE=y
534# 596#
535 597
536# 598#
537# Enable only one of the two stacks, unless you know what you are doing 599# You can enable one or both FireWire driver stacks.
600#
601
602#
603# See the help texts for more information.
538# 604#
539# CONFIG_FIREWIRE is not set 605# CONFIG_FIREWIRE is not set
540# CONFIG_IEEE1394 is not set 606# CONFIG_IEEE1394 is not set
541# CONFIG_I2O is not set 607# CONFIG_I2O is not set
542# CONFIG_MACINTOSH_DRIVERS is not set 608# CONFIG_MACINTOSH_DRIVERS is not set
543CONFIG_NETDEVICES=y 609CONFIG_NETDEVICES=y
544CONFIG_COMPAT_NET_DEV_OPS=y
545# CONFIG_DUMMY is not set 610# CONFIG_DUMMY is not set
546# CONFIG_BONDING is not set 611# CONFIG_BONDING is not set
547# CONFIG_MACVLAN is not set 612# CONFIG_MACVLAN is not set
@@ -576,7 +641,10 @@ CONFIG_IBM_NEW_EMAC_EMAC4=y
576# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set 641# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
577# CONFIG_NET_PCI is not set 642# CONFIG_NET_PCI is not set
578# CONFIG_B44 is not set 643# CONFIG_B44 is not set
644# CONFIG_KS8842 is not set
645# CONFIG_KS8851_MLL is not set
579# CONFIG_ATL2 is not set 646# CONFIG_ATL2 is not set
647# CONFIG_XILINX_EMACLITE is not set
580CONFIG_NETDEV_1000=y 648CONFIG_NETDEV_1000=y
581# CONFIG_ACENIC is not set 649# CONFIG_ACENIC is not set
582# CONFIG_DL2K is not set 650# CONFIG_DL2K is not set
@@ -584,6 +652,7 @@ CONFIG_NETDEV_1000=y
584# CONFIG_E1000E is not set 652# CONFIG_E1000E is not set
585# CONFIG_IP1000 is not set 653# CONFIG_IP1000 is not set
586# CONFIG_IGB is not set 654# CONFIG_IGB is not set
655# CONFIG_IGBVF is not set
587# CONFIG_NS83820 is not set 656# CONFIG_NS83820 is not set
588# CONFIG_HAMACHI is not set 657# CONFIG_HAMACHI is not set
589# CONFIG_YELLOWFIN is not set 658# CONFIG_YELLOWFIN is not set
@@ -594,6 +663,9 @@ CONFIG_NETDEV_1000=y
594# CONFIG_VIA_VELOCITY is not set 663# CONFIG_VIA_VELOCITY is not set
595# CONFIG_TIGON3 is not set 664# CONFIG_TIGON3 is not set
596# CONFIG_BNX2 is not set 665# CONFIG_BNX2 is not set
666# CONFIG_CNIC is not set
667# CONFIG_MV643XX_ETH is not set
668# CONFIG_XILINX_LL_TEMAC is not set
597# CONFIG_QLA3XXX is not set 669# CONFIG_QLA3XXX is not set
598# CONFIG_ATL1 is not set 670# CONFIG_ATL1 is not set
599# CONFIG_ATL1E is not set 671# CONFIG_ATL1E is not set
@@ -619,12 +691,11 @@ CONFIG_CHELSIO_T3_DEPENDS=y
619# CONFIG_SFC is not set 691# CONFIG_SFC is not set
620# CONFIG_BE2NET is not set 692# CONFIG_BE2NET is not set
621# CONFIG_TR is not set 693# CONFIG_TR is not set
622 694CONFIG_WLAN=y
623# 695# CONFIG_AIRO is not set
624# Wireless LAN 696# CONFIG_ATMEL is not set
625# 697# CONFIG_PRISM54 is not set
626# CONFIG_WLAN_PRE80211 is not set 698# CONFIG_HOSTAP is not set
627# CONFIG_WLAN_80211 is not set
628 699
629# 700#
630# Enable WiMAX (Networking options) to see the WiMAX drivers 701# Enable WiMAX (Networking options) to see the WiMAX drivers
@@ -637,6 +708,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
637# CONFIG_NETCONSOLE is not set 708# CONFIG_NETCONSOLE is not set
638# CONFIG_NETPOLL is not set 709# CONFIG_NETPOLL is not set
639# CONFIG_NET_POLL_CONTROLLER is not set 710# CONFIG_NET_POLL_CONTROLLER is not set
711# CONFIG_VMXNET3 is not set
640# CONFIG_ISDN is not set 712# CONFIG_ISDN is not set
641# CONFIG_PHONE is not set 713# CONFIG_PHONE is not set
642 714
@@ -682,6 +754,7 @@ CONFIG_SERIAL_CORE_CONSOLE=y
682# CONFIG_SERIAL_JSM is not set 754# CONFIG_SERIAL_JSM is not set
683CONFIG_SERIAL_OF_PLATFORM=y 755CONFIG_SERIAL_OF_PLATFORM=y
684# CONFIG_SERIAL_OF_PLATFORM_NWPSERIAL is not set 756# CONFIG_SERIAL_OF_PLATFORM_NWPSERIAL is not set
757# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set
685CONFIG_UNIX98_PTYS=y 758CONFIG_UNIX98_PTYS=y
686# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set 759# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
687CONFIG_LEGACY_PTYS=y 760CONFIG_LEGACY_PTYS=y
@@ -698,6 +771,11 @@ CONFIG_LEGACY_PTY_COUNT=256
698CONFIG_DEVPORT=y 771CONFIG_DEVPORT=y
699# CONFIG_I2C is not set 772# CONFIG_I2C is not set
700# CONFIG_SPI is not set 773# CONFIG_SPI is not set
774
775#
776# PPS support
777#
778# CONFIG_PPS is not set
701CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y 779CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
702# CONFIG_GPIOLIB is not set 780# CONFIG_GPIOLIB is not set
703# CONFIG_W1 is not set 781# CONFIG_W1 is not set
@@ -720,27 +798,13 @@ CONFIG_SSB_POSSIBLE=y
720# CONFIG_HTC_PASIC3 is not set 798# CONFIG_HTC_PASIC3 is not set
721# CONFIG_MFD_TMIO is not set 799# CONFIG_MFD_TMIO is not set
722# CONFIG_REGULATOR is not set 800# CONFIG_REGULATOR is not set
723 801# CONFIG_MEDIA_SUPPORT is not set
724#
725# Multimedia devices
726#
727
728#
729# Multimedia core support
730#
731# CONFIG_VIDEO_DEV is not set
732# CONFIG_DVB_CORE is not set
733# CONFIG_VIDEO_MEDIA is not set
734
735#
736# Multimedia drivers
737#
738CONFIG_DAB=y
739 802
740# 803#
741# Graphics support 804# Graphics support
742# 805#
743# CONFIG_AGP is not set 806# CONFIG_AGP is not set
807CONFIG_VGA_ARB=y
744# CONFIG_DRM is not set 808# CONFIG_DRM is not set
745# CONFIG_VGASTATE is not set 809# CONFIG_VGASTATE is not set
746CONFIG_VIDEO_OUTPUT_CONTROL=m 810CONFIG_VIDEO_OUTPUT_CONTROL=m
@@ -783,6 +847,10 @@ CONFIG_USB_ARCH_HAS_EHCI=y
783# CONFIG_DMADEVICES is not set 847# CONFIG_DMADEVICES is not set
784# CONFIG_AUXDISPLAY is not set 848# CONFIG_AUXDISPLAY is not set
785# CONFIG_UIO is not set 849# CONFIG_UIO is not set
850
851#
852# TI VLYNQ
853#
786# CONFIG_STAGING is not set 854# CONFIG_STAGING is not set
787 855
788# 856#
@@ -793,14 +861,17 @@ CONFIG_EXT2_FS=y
793# CONFIG_EXT2_FS_XIP is not set 861# CONFIG_EXT2_FS_XIP is not set
794# CONFIG_EXT3_FS is not set 862# CONFIG_EXT3_FS is not set
795# CONFIG_EXT4_FS is not set 863# CONFIG_EXT4_FS is not set
864CONFIG_EXT4_USE_FOR_EXT23=y
796# CONFIG_REISERFS_FS is not set 865# CONFIG_REISERFS_FS is not set
797# CONFIG_JFS_FS is not set 866# CONFIG_JFS_FS is not set
798# CONFIG_FS_POSIX_ACL is not set 867# CONFIG_FS_POSIX_ACL is not set
799CONFIG_FILE_LOCKING=y
800# CONFIG_XFS_FS is not set 868# CONFIG_XFS_FS is not set
801# CONFIG_GFS2_FS is not set 869# CONFIG_GFS2_FS is not set
802# CONFIG_OCFS2_FS is not set 870# CONFIG_OCFS2_FS is not set
803# CONFIG_BTRFS_FS is not set 871# CONFIG_BTRFS_FS is not set
872# CONFIG_NILFS2_FS is not set
873CONFIG_FILE_LOCKING=y
874CONFIG_FSNOTIFY=y
804CONFIG_DNOTIFY=y 875CONFIG_DNOTIFY=y
805CONFIG_INOTIFY=y 876CONFIG_INOTIFY=y
806CONFIG_INOTIFY_USER=y 877CONFIG_INOTIFY_USER=y
@@ -916,6 +987,7 @@ CONFIG_HAS_IOPORT=y
916CONFIG_HAS_DMA=y 987CONFIG_HAS_DMA=y
917CONFIG_HAVE_LMB=y 988CONFIG_HAVE_LMB=y
918CONFIG_NLATTR=y 989CONFIG_NLATTR=y
990CONFIG_GENERIC_ATOMIC64=y
919 991
920# 992#
921# Kernel hacking 993# Kernel hacking
@@ -925,6 +997,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
925CONFIG_ENABLE_MUST_CHECK=y 997CONFIG_ENABLE_MUST_CHECK=y
926CONFIG_FRAME_WARN=1024 998CONFIG_FRAME_WARN=1024
927CONFIG_MAGIC_SYSRQ=y 999CONFIG_MAGIC_SYSRQ=y
1000# CONFIG_STRIP_ASM_SYMS is not set
928# CONFIG_UNUSED_SYMBOLS is not set 1001# CONFIG_UNUSED_SYMBOLS is not set
929CONFIG_DEBUG_FS=y 1002CONFIG_DEBUG_FS=y
930# CONFIG_HEADERS_CHECK is not set 1003# CONFIG_HEADERS_CHECK is not set
@@ -933,16 +1006,23 @@ CONFIG_DEBUG_KERNEL=y
933CONFIG_DETECT_SOFTLOCKUP=y 1006CONFIG_DETECT_SOFTLOCKUP=y
934# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set 1007# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
935CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 1008CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
1009CONFIG_DETECT_HUNG_TASK=y
1010# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
1011CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
936CONFIG_SCHED_DEBUG=y 1012CONFIG_SCHED_DEBUG=y
937# CONFIG_SCHEDSTATS is not set 1013# CONFIG_SCHEDSTATS is not set
938# CONFIG_TIMER_STATS is not set 1014# CONFIG_TIMER_STATS is not set
939# CONFIG_DEBUG_OBJECTS is not set 1015# CONFIG_DEBUG_OBJECTS is not set
940# CONFIG_SLUB_DEBUG_ON is not set 1016# CONFIG_SLUB_DEBUG_ON is not set
941# CONFIG_SLUB_STATS is not set 1017# CONFIG_SLUB_STATS is not set
1018# CONFIG_DEBUG_KMEMLEAK is not set
942# CONFIG_DEBUG_RT_MUTEXES is not set 1019# CONFIG_DEBUG_RT_MUTEXES is not set
943# CONFIG_RT_MUTEX_TESTER is not set 1020# CONFIG_RT_MUTEX_TESTER is not set
944# CONFIG_DEBUG_SPINLOCK is not set 1021# CONFIG_DEBUG_SPINLOCK is not set
945# CONFIG_DEBUG_MUTEXES is not set 1022# CONFIG_DEBUG_MUTEXES is not set
1023# CONFIG_DEBUG_LOCK_ALLOC is not set
1024# CONFIG_PROVE_LOCKING is not set
1025# CONFIG_LOCK_STAT is not set
946# CONFIG_DEBUG_SPINLOCK_SLEEP is not set 1026# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
947# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set 1027# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
948# CONFIG_DEBUG_KOBJECT is not set 1028# CONFIG_DEBUG_KOBJECT is not set
@@ -954,11 +1034,12 @@ CONFIG_SCHED_DEBUG=y
954# CONFIG_DEBUG_LIST is not set 1034# CONFIG_DEBUG_LIST is not set
955# CONFIG_DEBUG_SG is not set 1035# CONFIG_DEBUG_SG is not set
956# CONFIG_DEBUG_NOTIFIERS is not set 1036# CONFIG_DEBUG_NOTIFIERS is not set
957# CONFIG_BOOT_PRINTK_DELAY is not set 1037# CONFIG_DEBUG_CREDENTIALS is not set
958# CONFIG_RCU_TORTURE_TEST is not set 1038# CONFIG_RCU_TORTURE_TEST is not set
959# CONFIG_RCU_CPU_STALL_DETECTOR is not set 1039# CONFIG_RCU_CPU_STALL_DETECTOR is not set
960# CONFIG_BACKTRACE_SELF_TEST is not set 1040# CONFIG_BACKTRACE_SELF_TEST is not set
961# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set 1041# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1042# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
962# CONFIG_FAULT_INJECTION is not set 1043# CONFIG_FAULT_INJECTION is not set
963# CONFIG_LATENCYTOP is not set 1044# CONFIG_LATENCYTOP is not set
964CONFIG_SYSCTL_SYSCALL_CHECK=y 1045CONFIG_SYSCTL_SYSCALL_CHECK=y
@@ -968,27 +1049,30 @@ CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
968CONFIG_HAVE_DYNAMIC_FTRACE=y 1049CONFIG_HAVE_DYNAMIC_FTRACE=y
969CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 1050CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
970CONFIG_TRACING_SUPPORT=y 1051CONFIG_TRACING_SUPPORT=y
971 1052CONFIG_FTRACE=y
972#
973# Tracers
974#
975# CONFIG_FUNCTION_TRACER is not set 1053# CONFIG_FUNCTION_TRACER is not set
1054# CONFIG_IRQSOFF_TRACER is not set
976# CONFIG_SCHED_TRACER is not set 1055# CONFIG_SCHED_TRACER is not set
977# CONFIG_CONTEXT_SWITCH_TRACER is not set 1056# CONFIG_ENABLE_DEFAULT_TRACERS is not set
978# CONFIG_EVENT_TRACER is not set
979# CONFIG_BOOT_TRACER is not set 1057# CONFIG_BOOT_TRACER is not set
980# CONFIG_TRACE_BRANCH_PROFILING is not set 1058CONFIG_BRANCH_PROFILE_NONE=y
1059# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
1060# CONFIG_PROFILE_ALL_BRANCHES is not set
981# CONFIG_STACK_TRACER is not set 1061# CONFIG_STACK_TRACER is not set
982# CONFIG_KMEMTRACE is not set 1062# CONFIG_KMEMTRACE is not set
983# CONFIG_WORKQUEUE_TRACER is not set 1063# CONFIG_WORKQUEUE_TRACER is not set
984# CONFIG_BLK_DEV_IO_TRACE is not set 1064# CONFIG_BLK_DEV_IO_TRACE is not set
985# CONFIG_DYNAMIC_DEBUG is not set 1065# CONFIG_DYNAMIC_DEBUG is not set
1066# CONFIG_DMA_API_DEBUG is not set
986# CONFIG_SAMPLES is not set 1067# CONFIG_SAMPLES is not set
987CONFIG_HAVE_ARCH_KGDB=y 1068CONFIG_HAVE_ARCH_KGDB=y
988# CONFIG_KGDB is not set 1069# CONFIG_KGDB is not set
1070# CONFIG_PPC_DISABLE_WERROR is not set
1071CONFIG_PPC_WERROR=y
989CONFIG_PRINT_STACK_DEPTH=64 1072CONFIG_PRINT_STACK_DEPTH=64
990# CONFIG_DEBUG_STACKOVERFLOW is not set 1073# CONFIG_DEBUG_STACKOVERFLOW is not set
991# CONFIG_DEBUG_STACK_USAGE is not set 1074# CONFIG_DEBUG_STACK_USAGE is not set
1075# CONFIG_PPC_EMULATED_STATS is not set
992# CONFIG_CODE_PATCHING_SELFTEST is not set 1076# CONFIG_CODE_PATCHING_SELFTEST is not set
993# CONFIG_FTR_FIXUP_SELFTEST is not set 1077# CONFIG_FTR_FIXUP_SELFTEST is not set
994# CONFIG_MSI_BITMAP_SELFTEST is not set 1078# CONFIG_MSI_BITMAP_SELFTEST is not set
@@ -1004,13 +1088,16 @@ CONFIG_PRINT_STACK_DEPTH=64
1004# CONFIG_KEYS is not set 1088# CONFIG_KEYS is not set
1005# CONFIG_SECURITY is not set 1089# CONFIG_SECURITY is not set
1006# CONFIG_SECURITYFS is not set 1090# CONFIG_SECURITYFS is not set
1007# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1091# CONFIG_DEFAULT_SECURITY_SELINUX is not set
1092# CONFIG_DEFAULT_SECURITY_SMACK is not set
1093# CONFIG_DEFAULT_SECURITY_TOMOYO is not set
1094CONFIG_DEFAULT_SECURITY_DAC=y
1095CONFIG_DEFAULT_SECURITY=""
1008CONFIG_CRYPTO=y 1096CONFIG_CRYPTO=y
1009 1097
1010# 1098#
1011# Crypto core or helper 1099# Crypto core or helper
1012# 1100#
1013# CONFIG_CRYPTO_FIPS is not set
1014CONFIG_CRYPTO_ALGAPI=y 1101CONFIG_CRYPTO_ALGAPI=y
1015CONFIG_CRYPTO_ALGAPI2=y 1102CONFIG_CRYPTO_ALGAPI2=y
1016CONFIG_CRYPTO_AEAD2=y 1103CONFIG_CRYPTO_AEAD2=y
@@ -1052,11 +1139,13 @@ CONFIG_CRYPTO_PCBC=y
1052# 1139#
1053# CONFIG_CRYPTO_HMAC is not set 1140# CONFIG_CRYPTO_HMAC is not set
1054# CONFIG_CRYPTO_XCBC is not set 1141# CONFIG_CRYPTO_XCBC is not set
1142# CONFIG_CRYPTO_VMAC is not set
1055 1143
1056# 1144#
1057# Digest 1145# Digest
1058# 1146#
1059# CONFIG_CRYPTO_CRC32C is not set 1147# CONFIG_CRYPTO_CRC32C is not set
1148# CONFIG_CRYPTO_GHASH is not set
1060# CONFIG_CRYPTO_MD4 is not set 1149# CONFIG_CRYPTO_MD4 is not set
1061CONFIG_CRYPTO_MD5=y 1150CONFIG_CRYPTO_MD5=y
1062# CONFIG_CRYPTO_MICHAEL_MIC is not set 1151# CONFIG_CRYPTO_MICHAEL_MIC is not set
diff --git a/arch/powerpc/configs/44x/taishan_defconfig b/arch/powerpc/configs/44x/taishan_defconfig
index ef32cc4f82eb..f4cb7e84cb83 100644
--- a/arch/powerpc/configs/44x/taishan_defconfig
+++ b/arch/powerpc/configs/44x/taishan_defconfig
@@ -1,14 +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.29-rc2 3# Linux kernel version: 2.6.33-rc1
4# Tue Jan 20 08:22:47 2009 4# Mon Jan 4 15:21:04 2010
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
8# 8#
9# Processor support 9# Processor support
10# 10#
11# CONFIG_6xx is not set 11# CONFIG_PPC_BOOK3S_32 is not set
12# CONFIG_PPC_85xx is not set 12# CONFIG_PPC_85xx is not set
13# CONFIG_PPC_8xx is not set 13# CONFIG_PPC_8xx is not set
14# CONFIG_40x is not set 14# CONFIG_40x is not set
@@ -19,6 +19,7 @@ CONFIG_BOOKE=y
19CONFIG_PTE_64BIT=y 19CONFIG_PTE_64BIT=y
20CONFIG_PHYS_64BIT=y 20CONFIG_PHYS_64BIT=y
21CONFIG_PPC_MMU_NOHASH=y 21CONFIG_PPC_MMU_NOHASH=y
22CONFIG_PPC_MMU_NOHASH_32=y
22# CONFIG_PPC_MM_SLICES is not set 23# CONFIG_PPC_MM_SLICES is not set
23CONFIG_NOT_COHERENT_CACHE=y 24CONFIG_NOT_COHERENT_CACHE=y
24CONFIG_PPC32=y 25CONFIG_PPC32=y
@@ -30,15 +31,18 @@ CONFIG_GENERIC_TIME=y
30CONFIG_GENERIC_TIME_VSYSCALL=y 31CONFIG_GENERIC_TIME_VSYSCALL=y
31CONFIG_GENERIC_CLOCKEVENTS=y 32CONFIG_GENERIC_CLOCKEVENTS=y
32CONFIG_GENERIC_HARDIRQS=y 33CONFIG_GENERIC_HARDIRQS=y
34CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
33# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 35# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
36# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
34CONFIG_IRQ_PER_CPU=y 37CONFIG_IRQ_PER_CPU=y
38CONFIG_NR_IRQS=512
35CONFIG_STACKTRACE_SUPPORT=y 39CONFIG_STACKTRACE_SUPPORT=y
36CONFIG_HAVE_LATENCYTOP_SUPPORT=y 40CONFIG_HAVE_LATENCYTOP_SUPPORT=y
41CONFIG_TRACE_IRQFLAGS_SUPPORT=y
37CONFIG_LOCKDEP_SUPPORT=y 42CONFIG_LOCKDEP_SUPPORT=y
38CONFIG_RWSEM_XCHGADD_ALGORITHM=y 43CONFIG_RWSEM_XCHGADD_ALGORITHM=y
39CONFIG_ARCH_HAS_ILOG2_U32=y 44CONFIG_ARCH_HAS_ILOG2_U32=y
40CONFIG_GENERIC_HWEIGHT=y 45CONFIG_GENERIC_HWEIGHT=y
41CONFIG_GENERIC_CALIBRATE_DELAY=y
42CONFIG_GENERIC_FIND_NEXT_BIT=y 46CONFIG_GENERIC_FIND_NEXT_BIT=y
43# CONFIG_ARCH_NO_VIRT_TO_BUS is not set 47# CONFIG_ARCH_NO_VIRT_TO_BUS is not set
44CONFIG_PPC=y 48CONFIG_PPC=y
@@ -52,11 +56,15 @@ CONFIG_PPC_UDBG_16550=y
52# CONFIG_GENERIC_TBSYNC is not set 56# CONFIG_GENERIC_TBSYNC is not set
53CONFIG_AUDIT_ARCH=y 57CONFIG_AUDIT_ARCH=y
54CONFIG_GENERIC_BUG=y 58CONFIG_GENERIC_BUG=y
59CONFIG_DTC=y
55# CONFIG_DEFAULT_UIMAGE is not set 60# CONFIG_DEFAULT_UIMAGE is not set
61CONFIG_ARCH_HIBERNATION_POSSIBLE=y
56CONFIG_PPC_DCR_NATIVE=y 62CONFIG_PPC_DCR_NATIVE=y
57# CONFIG_PPC_DCR_MMIO is not set 63# CONFIG_PPC_DCR_MMIO is not set
58CONFIG_PPC_DCR=y 64CONFIG_PPC_DCR=y
65CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
59CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 66CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
67CONFIG_CONSTRUCTORS=y
60 68
61# 69#
62# General setup 70# General setup
@@ -70,9 +78,21 @@ CONFIG_SWAP=y
70CONFIG_SYSVIPC=y 78CONFIG_SYSVIPC=y
71CONFIG_SYSVIPC_SYSCTL=y 79CONFIG_SYSVIPC_SYSCTL=y
72CONFIG_POSIX_MQUEUE=y 80CONFIG_POSIX_MQUEUE=y
81CONFIG_POSIX_MQUEUE_SYSCTL=y
73# CONFIG_BSD_PROCESS_ACCT is not set 82# CONFIG_BSD_PROCESS_ACCT is not set
74# CONFIG_TASKSTATS is not set 83# CONFIG_TASKSTATS is not set
75# CONFIG_AUDIT is not set 84# CONFIG_AUDIT is not set
85
86#
87# RCU Subsystem
88#
89CONFIG_TREE_RCU=y
90# CONFIG_TREE_PREEMPT_RCU is not set
91# CONFIG_TINY_RCU is not set
92# CONFIG_RCU_TRACE is not set
93CONFIG_RCU_FANOUT=32
94# CONFIG_RCU_FANOUT_EXACT is not set
95# CONFIG_TREE_RCU_TRACE is not set
76# CONFIG_IKCONFIG is not set 96# CONFIG_IKCONFIG is not set
77CONFIG_LOG_BUF_SHIFT=14 97CONFIG_LOG_BUF_SHIFT=14
78CONFIG_GROUP_SCHED=y 98CONFIG_GROUP_SCHED=y
@@ -81,14 +101,17 @@ CONFIG_FAIR_GROUP_SCHED=y
81CONFIG_USER_SCHED=y 101CONFIG_USER_SCHED=y
82# CONFIG_CGROUP_SCHED is not set 102# CONFIG_CGROUP_SCHED is not set
83# CONFIG_CGROUPS is not set 103# CONFIG_CGROUPS is not set
84CONFIG_SYSFS_DEPRECATED=y 104# CONFIG_SYSFS_DEPRECATED_V2 is not set
85CONFIG_SYSFS_DEPRECATED_V2=y
86# CONFIG_RELAY is not set 105# CONFIG_RELAY is not set
87# CONFIG_NAMESPACES is not set 106# CONFIG_NAMESPACES is not set
88CONFIG_BLK_DEV_INITRD=y 107CONFIG_BLK_DEV_INITRD=y
89CONFIG_INITRAMFS_SOURCE="" 108CONFIG_INITRAMFS_SOURCE=""
109CONFIG_RD_GZIP=y
110# CONFIG_RD_BZIP2 is not set
111# CONFIG_RD_LZMA is not set
90# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 112# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
91CONFIG_SYSCTL=y 113CONFIG_SYSCTL=y
114CONFIG_ANON_INODES=y
92CONFIG_EMBEDDED=y 115CONFIG_EMBEDDED=y
93CONFIG_SYSCTL_SYSCALL=y 116CONFIG_SYSCTL_SYSCALL=y
94CONFIG_KALLSYMS=y 117CONFIG_KALLSYMS=y
@@ -98,19 +121,25 @@ CONFIG_HOTPLUG=y
98CONFIG_PRINTK=y 121CONFIG_PRINTK=y
99CONFIG_BUG=y 122CONFIG_BUG=y
100CONFIG_ELF_CORE=y 123CONFIG_ELF_CORE=y
101CONFIG_COMPAT_BRK=y
102CONFIG_BASE_FULL=y 124CONFIG_BASE_FULL=y
103CONFIG_FUTEX=y 125CONFIG_FUTEX=y
104CONFIG_ANON_INODES=y
105CONFIG_EPOLL=y 126CONFIG_EPOLL=y
106CONFIG_SIGNALFD=y 127CONFIG_SIGNALFD=y
107CONFIG_TIMERFD=y 128CONFIG_TIMERFD=y
108CONFIG_EVENTFD=y 129CONFIG_EVENTFD=y
109CONFIG_SHMEM=y 130CONFIG_SHMEM=y
110CONFIG_AIO=y 131CONFIG_AIO=y
132CONFIG_HAVE_PERF_EVENTS=y
133
134#
135# Kernel Performance Events And Counters
136#
137# CONFIG_PERF_EVENTS is not set
138# CONFIG_PERF_COUNTERS is not set
111CONFIG_VM_EVENT_COUNTERS=y 139CONFIG_VM_EVENT_COUNTERS=y
112CONFIG_PCI_QUIRKS=y 140CONFIG_PCI_QUIRKS=y
113CONFIG_SLUB_DEBUG=y 141CONFIG_SLUB_DEBUG=y
142CONFIG_COMPAT_BRK=y
114# CONFIG_SLAB is not set 143# CONFIG_SLAB is not set
115CONFIG_SLUB=y 144CONFIG_SLUB=y
116# CONFIG_SLOB is not set 145# CONFIG_SLOB is not set
@@ -122,6 +151,14 @@ CONFIG_HAVE_IOREMAP_PROT=y
122CONFIG_HAVE_KPROBES=y 151CONFIG_HAVE_KPROBES=y
123CONFIG_HAVE_KRETPROBES=y 152CONFIG_HAVE_KRETPROBES=y
124CONFIG_HAVE_ARCH_TRACEHOOK=y 153CONFIG_HAVE_ARCH_TRACEHOOK=y
154CONFIG_HAVE_DMA_ATTRS=y
155CONFIG_HAVE_DMA_API_DEBUG=y
156
157#
158# GCOV-based kernel profiling
159#
160# CONFIG_GCOV_KERNEL is not set
161# CONFIG_SLOW_WORK is not set
125# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 162# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
126CONFIG_SLABINFO=y 163CONFIG_SLABINFO=y
127CONFIG_RT_MUTEXES=y 164CONFIG_RT_MUTEXES=y
@@ -133,8 +170,7 @@ CONFIG_MODULE_UNLOAD=y
133# CONFIG_MODVERSIONS is not set 170# CONFIG_MODVERSIONS is not set
134# CONFIG_MODULE_SRCVERSION_ALL is not set 171# CONFIG_MODULE_SRCVERSION_ALL is not set
135CONFIG_BLOCK=y 172CONFIG_BLOCK=y
136CONFIG_LBD=y 173CONFIG_LBDAF=y
137# CONFIG_BLK_DEV_IO_TRACE is not set
138# CONFIG_BLK_DEV_BSG is not set 174# CONFIG_BLK_DEV_BSG is not set
139# CONFIG_BLK_DEV_INTEGRITY is not set 175# CONFIG_BLK_DEV_INTEGRITY is not set
140 176
@@ -142,19 +178,41 @@ CONFIG_LBD=y
142# IO Schedulers 178# IO Schedulers
143# 179#
144CONFIG_IOSCHED_NOOP=y 180CONFIG_IOSCHED_NOOP=y
145CONFIG_IOSCHED_AS=y
146CONFIG_IOSCHED_DEADLINE=y 181CONFIG_IOSCHED_DEADLINE=y
147CONFIG_IOSCHED_CFQ=y 182CONFIG_IOSCHED_CFQ=y
148CONFIG_DEFAULT_AS=y
149# CONFIG_DEFAULT_DEADLINE is not set 183# CONFIG_DEFAULT_DEADLINE is not set
150# CONFIG_DEFAULT_CFQ is not set 184CONFIG_DEFAULT_CFQ=y
151# CONFIG_DEFAULT_NOOP is not set 185# CONFIG_DEFAULT_NOOP is not set
152CONFIG_DEFAULT_IOSCHED="anticipatory" 186CONFIG_DEFAULT_IOSCHED="cfq"
153CONFIG_CLASSIC_RCU=y 187# CONFIG_INLINE_SPIN_TRYLOCK is not set
154# CONFIG_TREE_RCU is not set 188# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
155# CONFIG_PREEMPT_RCU is not set 189# CONFIG_INLINE_SPIN_LOCK is not set
156# CONFIG_TREE_RCU_TRACE is not set 190# CONFIG_INLINE_SPIN_LOCK_BH is not set
157# CONFIG_PREEMPT_RCU_TRACE is not set 191# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
192# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
193CONFIG_INLINE_SPIN_UNLOCK=y
194# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
195CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
196# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
197# CONFIG_INLINE_READ_TRYLOCK is not set
198# CONFIG_INLINE_READ_LOCK is not set
199# CONFIG_INLINE_READ_LOCK_BH is not set
200# CONFIG_INLINE_READ_LOCK_IRQ is not set
201# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
202CONFIG_INLINE_READ_UNLOCK=y
203# CONFIG_INLINE_READ_UNLOCK_BH is not set
204CONFIG_INLINE_READ_UNLOCK_IRQ=y
205# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
206# CONFIG_INLINE_WRITE_TRYLOCK is not set
207# CONFIG_INLINE_WRITE_LOCK is not set
208# CONFIG_INLINE_WRITE_LOCK_BH is not set
209# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
210# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
211CONFIG_INLINE_WRITE_UNLOCK=y
212# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
213CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
214# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
215# CONFIG_MUTEX_SPIN_ON_OWNER is not set
158# CONFIG_FREEZER is not set 216# CONFIG_FREEZER is not set
159# CONFIG_PPC4xx_PCI_EXPRESS is not set 217# CONFIG_PPC4xx_PCI_EXPRESS is not set
160 218
@@ -175,6 +233,8 @@ CONFIG_TAISHAN=y
175# CONFIG_ARCHES is not set 233# CONFIG_ARCHES is not set
176# CONFIG_CANYONLANDS is not set 234# CONFIG_CANYONLANDS is not set
177# CONFIG_GLACIER is not set 235# CONFIG_GLACIER is not set
236# CONFIG_REDWOOD is not set
237# CONFIG_EIGER is not set
178# CONFIG_YOSEMITE is not set 238# CONFIG_YOSEMITE is not set
179# CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set 239# CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set
180CONFIG_PPC44x_SIMPLE=y 240CONFIG_PPC44x_SIMPLE=y
@@ -216,10 +276,12 @@ CONFIG_BINFMT_ELF=y
216# CONFIG_BINFMT_MISC is not set 276# CONFIG_BINFMT_MISC is not set
217# CONFIG_MATH_EMULATION is not set 277# CONFIG_MATH_EMULATION is not set
218# CONFIG_IOMMU_HELPER is not set 278# CONFIG_IOMMU_HELPER is not set
219CONFIG_PPC_NEED_DMA_SYNC_OPS=y 279# CONFIG_SWIOTLB is not set
220CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 280CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
221CONFIG_ARCH_HAS_WALK_MEMORY=y 281CONFIG_ARCH_HAS_WALK_MEMORY=y
222CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 282CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
283CONFIG_SPARSE_IRQ=y
284CONFIG_MAX_ACTIVE_REGIONS=32
223CONFIG_ARCH_FLATMEM_ENABLE=y 285CONFIG_ARCH_FLATMEM_ENABLE=y
224CONFIG_ARCH_POPULATES_NODE_MAP=y 286CONFIG_ARCH_POPULATES_NODE_MAP=y
225CONFIG_SELECT_MEMORY_MODEL=y 287CONFIG_SELECT_MEMORY_MODEL=y
@@ -235,10 +297,13 @@ CONFIG_PHYS_ADDR_T_64BIT=y
235CONFIG_ZONE_DMA_FLAG=1 297CONFIG_ZONE_DMA_FLAG=1
236CONFIG_BOUNCE=y 298CONFIG_BOUNCE=y
237CONFIG_VIRT_TO_BUS=y 299CONFIG_VIRT_TO_BUS=y
238CONFIG_UNEVICTABLE_LRU=y 300# CONFIG_KSM is not set
301CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
302CONFIG_STDBINUTILS=y
239CONFIG_PPC_4K_PAGES=y 303CONFIG_PPC_4K_PAGES=y
240# CONFIG_PPC_16K_PAGES is not set 304# CONFIG_PPC_16K_PAGES is not set
241# CONFIG_PPC_64K_PAGES is not set 305# CONFIG_PPC_64K_PAGES is not set
306# CONFIG_PPC_256K_PAGES is not set
242CONFIG_FORCE_MAX_ZONEORDER=11 307CONFIG_FORCE_MAX_ZONEORDER=11
243CONFIG_PROC_DEVICETREE=y 308CONFIG_PROC_DEVICETREE=y
244CONFIG_CMDLINE_BOOL=y 309CONFIG_CMDLINE_BOOL=y
@@ -263,6 +328,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
263# CONFIG_PCI_LEGACY is not set 328# CONFIG_PCI_LEGACY is not set
264# CONFIG_PCI_DEBUG is not set 329# CONFIG_PCI_DEBUG is not set
265# CONFIG_PCI_STUB is not set 330# CONFIG_PCI_STUB is not set
331# CONFIG_PCI_IOV is not set
266# CONFIG_PCCARD is not set 332# CONFIG_PCCARD is not set
267# CONFIG_HOTPLUG_PCI is not set 333# CONFIG_HOTPLUG_PCI is not set
268# CONFIG_HAS_RAPIDIO is not set 334# CONFIG_HAS_RAPIDIO is not set
@@ -280,14 +346,12 @@ CONFIG_PAGE_OFFSET=0xc0000000
280CONFIG_KERNEL_START=0xc0000000 346CONFIG_KERNEL_START=0xc0000000
281CONFIG_PHYSICAL_START=0x00000000 347CONFIG_PHYSICAL_START=0x00000000
282CONFIG_TASK_SIZE=0xc0000000 348CONFIG_TASK_SIZE=0xc0000000
283CONFIG_CONSISTENT_START=0xff100000
284CONFIG_CONSISTENT_SIZE=0x00200000 349CONFIG_CONSISTENT_SIZE=0x00200000
285CONFIG_NET=y 350CONFIG_NET=y
286 351
287# 352#
288# Networking options 353# Networking options
289# 354#
290CONFIG_COMPAT_NET_DEV_OPS=y
291CONFIG_PACKET=y 355CONFIG_PACKET=y
292# CONFIG_PACKET_MMAP is not set 356# CONFIG_PACKET_MMAP is not set
293CONFIG_UNIX=y 357CONFIG_UNIX=y
@@ -324,6 +388,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
324# CONFIG_NETFILTER is not set 388# CONFIG_NETFILTER is not set
325# CONFIG_IP_DCCP is not set 389# CONFIG_IP_DCCP is not set
326# CONFIG_IP_SCTP is not set 390# CONFIG_IP_SCTP is not set
391# CONFIG_RDS is not set
327# CONFIG_TIPC is not set 392# CONFIG_TIPC is not set
328# CONFIG_ATM is not set 393# CONFIG_ATM is not set
329# CONFIG_BRIDGE is not set 394# CONFIG_BRIDGE is not set
@@ -337,6 +402,8 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
337# CONFIG_LAPB is not set 402# CONFIG_LAPB is not set
338# CONFIG_ECONET is not set 403# CONFIG_ECONET is not set
339# CONFIG_WAN_ROUTER is not set 404# CONFIG_WAN_ROUTER is not set
405# CONFIG_PHONET is not set
406# CONFIG_IEEE802154 is not set
340# CONFIG_NET_SCHED is not set 407# CONFIG_NET_SCHED is not set
341# CONFIG_DCB is not set 408# CONFIG_DCB is not set
342 409
@@ -349,8 +416,13 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
349# CONFIG_IRDA is not set 416# CONFIG_IRDA is not set
350# CONFIG_BT is not set 417# CONFIG_BT is not set
351# CONFIG_AF_RXRPC is not set 418# CONFIG_AF_RXRPC is not set
352# CONFIG_PHONET is not set 419CONFIG_WIRELESS=y
353# CONFIG_WIRELESS is not set 420# CONFIG_CFG80211 is not set
421# CONFIG_LIB80211 is not set
422
423#
424# CFG80211 needs to be enabled for MAC80211
425#
354# CONFIG_WIMAX is not set 426# CONFIG_WIMAX is not set
355# CONFIG_RFKILL is not set 427# CONFIG_RFKILL is not set
356# CONFIG_NET_9P is not set 428# CONFIG_NET_9P is not set
@@ -363,6 +435,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
363# Generic Driver Options 435# Generic Driver Options
364# 436#
365CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 437CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
438# CONFIG_DEVTMPFS is not set
366CONFIG_STANDALONE=y 439CONFIG_STANDALONE=y
367CONFIG_PREVENT_FIRMWARE_BUILD=y 440CONFIG_PREVENT_FIRMWARE_BUILD=y
368CONFIG_FW_LOADER=y 441CONFIG_FW_LOADER=y
@@ -375,9 +448,9 @@ CONFIG_CONNECTOR=y
375CONFIG_PROC_EVENTS=y 448CONFIG_PROC_EVENTS=y
376CONFIG_MTD=y 449CONFIG_MTD=y
377# CONFIG_MTD_DEBUG is not set 450# CONFIG_MTD_DEBUG is not set
451# CONFIG_MTD_TESTS is not set
378# CONFIG_MTD_CONCAT is not set 452# CONFIG_MTD_CONCAT is not set
379CONFIG_MTD_PARTITIONS=y 453CONFIG_MTD_PARTITIONS=y
380# CONFIG_MTD_TESTS is not set
381# CONFIG_MTD_REDBOOT_PARTS is not set 454# CONFIG_MTD_REDBOOT_PARTS is not set
382CONFIG_MTD_CMDLINE_PARTS=y 455CONFIG_MTD_CMDLINE_PARTS=y
383# CONFIG_MTD_OF_PARTS is not set 456# CONFIG_MTD_OF_PARTS is not set
@@ -453,7 +526,6 @@ CONFIG_MTD_PHYSMAP_OF=y
453# LPDDR flash memory drivers 526# LPDDR flash memory drivers
454# 527#
455# CONFIG_MTD_LPDDR is not set 528# CONFIG_MTD_LPDDR is not set
456# CONFIG_MTD_QINFO_PROBE is not set
457 529
458# 530#
459# UBI - Unsorted block images 531# UBI - Unsorted block images
@@ -469,6 +541,7 @@ CONFIG_BLK_DEV=y
469# CONFIG_BLK_DEV_UMEM is not set 541# CONFIG_BLK_DEV_UMEM is not set
470# CONFIG_BLK_DEV_COW_COMMON is not set 542# CONFIG_BLK_DEV_COW_COMMON is not set
471# CONFIG_BLK_DEV_LOOP is not set 543# CONFIG_BLK_DEV_LOOP is not set
544# CONFIG_BLK_DEV_DRBD is not set
472# CONFIG_BLK_DEV_NBD is not set 545# CONFIG_BLK_DEV_NBD is not set
473# CONFIG_BLK_DEV_SX8 is not set 546# CONFIG_BLK_DEV_SX8 is not set
474CONFIG_BLK_DEV_RAM=y 547CONFIG_BLK_DEV_RAM=y
@@ -481,12 +554,17 @@ CONFIG_BLK_DEV_RAM_SIZE=35000
481# CONFIG_BLK_DEV_HD is not set 554# CONFIG_BLK_DEV_HD is not set
482CONFIG_MISC_DEVICES=y 555CONFIG_MISC_DEVICES=y
483# CONFIG_PHANTOM is not set 556# CONFIG_PHANTOM is not set
484# CONFIG_EEPROM_93CX6 is not set
485# CONFIG_SGI_IOC4 is not set 557# CONFIG_SGI_IOC4 is not set
486# CONFIG_TIFM_CORE is not set 558# CONFIG_TIFM_CORE is not set
487# CONFIG_ENCLOSURE_SERVICES is not set 559# CONFIG_ENCLOSURE_SERVICES is not set
488# CONFIG_HP_ILO is not set 560# CONFIG_HP_ILO is not set
489# CONFIG_C2PORT is not set 561# CONFIG_C2PORT is not set
562
563#
564# EEPROM support
565#
566# CONFIG_EEPROM_93CX6 is not set
567# CONFIG_CB710_CORE is not set
490CONFIG_HAVE_IDE=y 568CONFIG_HAVE_IDE=y
491# CONFIG_IDE is not set 569# CONFIG_IDE is not set
492 570
@@ -506,7 +584,11 @@ CONFIG_HAVE_IDE=y
506# 584#
507 585
508# 586#
509# Enable only one of the two stacks, unless you know what you are doing 587# You can enable one or both FireWire driver stacks.
588#
589
590#
591# See the help texts for more information.
510# 592#
511# CONFIG_FIREWIRE is not set 593# CONFIG_FIREWIRE is not set
512# CONFIG_IEEE1394 is not set 594# CONFIG_IEEE1394 is not set
@@ -529,6 +611,8 @@ CONFIG_NET_ETHERNET=y
529# CONFIG_SUNGEM is not set 611# CONFIG_SUNGEM is not set
530# CONFIG_CASSINI is not set 612# CONFIG_CASSINI is not set
531# CONFIG_NET_VENDOR_3COM is not set 613# CONFIG_NET_VENDOR_3COM is not set
614# CONFIG_ETHOC is not set
615# CONFIG_DNET is not set
532# CONFIG_NET_TULIP is not set 616# CONFIG_NET_TULIP is not set
533# CONFIG_HP100 is not set 617# CONFIG_HP100 is not set
534CONFIG_IBM_NEW_EMAC=y 618CONFIG_IBM_NEW_EMAC=y
@@ -547,7 +631,10 @@ CONFIG_IBM_NEW_EMAC_EMAC4=y
547# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set 631# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
548# CONFIG_NET_PCI is not set 632# CONFIG_NET_PCI is not set
549# CONFIG_B44 is not set 633# CONFIG_B44 is not set
634# CONFIG_KS8842 is not set
635# CONFIG_KS8851_MLL is not set
550# CONFIG_ATL2 is not set 636# CONFIG_ATL2 is not set
637# CONFIG_XILINX_EMACLITE is not set
551CONFIG_NETDEV_1000=y 638CONFIG_NETDEV_1000=y
552# CONFIG_ACENIC is not set 639# CONFIG_ACENIC is not set
553# CONFIG_DL2K is not set 640# CONFIG_DL2K is not set
@@ -555,6 +642,7 @@ CONFIG_NETDEV_1000=y
555# CONFIG_E1000E is not set 642# CONFIG_E1000E is not set
556# CONFIG_IP1000 is not set 643# CONFIG_IP1000 is not set
557# CONFIG_IGB is not set 644# CONFIG_IGB is not set
645# CONFIG_IGBVF is not set
558# CONFIG_NS83820 is not set 646# CONFIG_NS83820 is not set
559# CONFIG_HAMACHI is not set 647# CONFIG_HAMACHI is not set
560# CONFIG_YELLOWFIN is not set 648# CONFIG_YELLOWFIN is not set
@@ -565,9 +653,13 @@ CONFIG_NETDEV_1000=y
565# CONFIG_VIA_VELOCITY is not set 653# CONFIG_VIA_VELOCITY is not set
566# CONFIG_TIGON3 is not set 654# CONFIG_TIGON3 is not set
567# CONFIG_BNX2 is not set 655# CONFIG_BNX2 is not set
656# CONFIG_CNIC is not set
657# CONFIG_MV643XX_ETH is not set
658# CONFIG_XILINX_LL_TEMAC is not set
568# CONFIG_QLA3XXX is not set 659# CONFIG_QLA3XXX is not set
569# CONFIG_ATL1 is not set 660# CONFIG_ATL1 is not set
570# CONFIG_ATL1E is not set 661# CONFIG_ATL1E is not set
662# CONFIG_ATL1C is not set
571# CONFIG_JME is not set 663# CONFIG_JME is not set
572CONFIG_NETDEV_10000=y 664CONFIG_NETDEV_10000=y
573# CONFIG_CHELSIO_T1 is not set 665# CONFIG_CHELSIO_T1 is not set
@@ -577,6 +669,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
577# CONFIG_IXGBE is not set 669# CONFIG_IXGBE is not set
578# CONFIG_IXGB is not set 670# CONFIG_IXGB is not set
579# CONFIG_S2IO is not set 671# CONFIG_S2IO is not set
672# CONFIG_VXGE is not set
580# CONFIG_MYRI10GE is not set 673# CONFIG_MYRI10GE is not set
581# CONFIG_NETXEN_NIC is not set 674# CONFIG_NETXEN_NIC is not set
582# CONFIG_NIU is not set 675# CONFIG_NIU is not set
@@ -586,14 +679,13 @@ CONFIG_CHELSIO_T3_DEPENDS=y
586# CONFIG_BNX2X is not set 679# CONFIG_BNX2X is not set
587# CONFIG_QLGE is not set 680# CONFIG_QLGE is not set
588# CONFIG_SFC is not set 681# CONFIG_SFC is not set
682# CONFIG_BE2NET is not set
589# CONFIG_TR is not set 683# CONFIG_TR is not set
590 684CONFIG_WLAN=y
591# 685# CONFIG_AIRO is not set
592# Wireless LAN 686# CONFIG_ATMEL is not set
593# 687# CONFIG_PRISM54 is not set
594# CONFIG_WLAN_PRE80211 is not set 688# CONFIG_HOSTAP is not set
595# CONFIG_WLAN_80211 is not set
596# CONFIG_IWLWIFI_LEDS is not set
597 689
598# 690#
599# Enable WiMAX (Networking options) to see the WiMAX drivers 691# Enable WiMAX (Networking options) to see the WiMAX drivers
@@ -606,6 +698,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
606# CONFIG_NETCONSOLE is not set 698# CONFIG_NETCONSOLE is not set
607# CONFIG_NETPOLL is not set 699# CONFIG_NETPOLL is not set
608# CONFIG_NET_POLL_CONTROLLER is not set 700# CONFIG_NET_POLL_CONTROLLER is not set
701# CONFIG_VMXNET3 is not set
609# CONFIG_ISDN is not set 702# CONFIG_ISDN is not set
610# CONFIG_PHONE is not set 703# CONFIG_PHONE is not set
611 704
@@ -651,6 +744,7 @@ CONFIG_SERIAL_CORE_CONSOLE=y
651# CONFIG_SERIAL_JSM is not set 744# CONFIG_SERIAL_JSM is not set
652CONFIG_SERIAL_OF_PLATFORM=y 745CONFIG_SERIAL_OF_PLATFORM=y
653# CONFIG_SERIAL_OF_PLATFORM_NWPSERIAL is not set 746# CONFIG_SERIAL_OF_PLATFORM_NWPSERIAL is not set
747# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set
654CONFIG_UNIX98_PTYS=y 748CONFIG_UNIX98_PTYS=y
655# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set 749# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
656CONFIG_LEGACY_PTYS=y 750CONFIG_LEGACY_PTYS=y
@@ -667,6 +761,11 @@ CONFIG_LEGACY_PTY_COUNT=256
667CONFIG_DEVPORT=y 761CONFIG_DEVPORT=y
668# CONFIG_I2C is not set 762# CONFIG_I2C is not set
669# CONFIG_SPI is not set 763# CONFIG_SPI is not set
764
765#
766# PPS support
767#
768# CONFIG_PPS is not set
670CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y 769CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
671# CONFIG_GPIOLIB is not set 770# CONFIG_GPIOLIB is not set
672# CONFIG_W1 is not set 771# CONFIG_W1 is not set
@@ -689,27 +788,13 @@ CONFIG_SSB_POSSIBLE=y
689# CONFIG_HTC_PASIC3 is not set 788# CONFIG_HTC_PASIC3 is not set
690# CONFIG_MFD_TMIO is not set 789# CONFIG_MFD_TMIO is not set
691# CONFIG_REGULATOR is not set 790# CONFIG_REGULATOR is not set
692 791# CONFIG_MEDIA_SUPPORT is not set
693#
694# Multimedia devices
695#
696
697#
698# Multimedia core support
699#
700# CONFIG_VIDEO_DEV is not set
701# CONFIG_DVB_CORE is not set
702# CONFIG_VIDEO_MEDIA is not set
703
704#
705# Multimedia drivers
706#
707CONFIG_DAB=y
708 792
709# 793#
710# Graphics support 794# Graphics support
711# 795#
712# CONFIG_AGP is not set 796# CONFIG_AGP is not set
797CONFIG_VGA_ARB=y
713# CONFIG_DRM is not set 798# CONFIG_DRM is not set
714# CONFIG_VGASTATE is not set 799# CONFIG_VGASTATE is not set
715CONFIG_VIDEO_OUTPUT_CONTROL=m 800CONFIG_VIDEO_OUTPUT_CONTROL=m
@@ -734,7 +819,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
734# 819#
735 820
736# 821#
737# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; 822# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
738# 823#
739# CONFIG_USB_GADGET is not set 824# CONFIG_USB_GADGET is not set
740 825
@@ -750,7 +835,12 @@ CONFIG_USB_ARCH_HAS_EHCI=y
750# CONFIG_EDAC is not set 835# CONFIG_EDAC is not set
751# CONFIG_RTC_CLASS is not set 836# CONFIG_RTC_CLASS is not set
752# CONFIG_DMADEVICES is not set 837# CONFIG_DMADEVICES is not set
838# CONFIG_AUXDISPLAY is not set
753# CONFIG_UIO is not set 839# CONFIG_UIO is not set
840
841#
842# TI VLYNQ
843#
754# CONFIG_STAGING is not set 844# CONFIG_STAGING is not set
755 845
756# 846#
@@ -761,14 +851,17 @@ CONFIG_EXT2_FS=y
761# CONFIG_EXT2_FS_XIP is not set 851# CONFIG_EXT2_FS_XIP is not set
762# CONFIG_EXT3_FS is not set 852# CONFIG_EXT3_FS is not set
763# CONFIG_EXT4_FS is not set 853# CONFIG_EXT4_FS is not set
854CONFIG_EXT4_USE_FOR_EXT23=y
764# CONFIG_REISERFS_FS is not set 855# CONFIG_REISERFS_FS is not set
765# CONFIG_JFS_FS is not set 856# CONFIG_JFS_FS is not set
766# CONFIG_FS_POSIX_ACL is not set 857# CONFIG_FS_POSIX_ACL is not set
767CONFIG_FILE_LOCKING=y
768# CONFIG_XFS_FS is not set 858# CONFIG_XFS_FS is not set
769# CONFIG_GFS2_FS is not set 859# CONFIG_GFS2_FS is not set
770# CONFIG_OCFS2_FS is not set 860# CONFIG_OCFS2_FS is not set
771# CONFIG_BTRFS_FS is not set 861# CONFIG_BTRFS_FS is not set
862# CONFIG_NILFS2_FS is not set
863CONFIG_FILE_LOCKING=y
864CONFIG_FSNOTIFY=y
772CONFIG_DNOTIFY=y 865CONFIG_DNOTIFY=y
773CONFIG_INOTIFY=y 866CONFIG_INOTIFY=y
774CONFIG_INOTIFY_USER=y 867CONFIG_INOTIFY_USER=y
@@ -778,6 +871,11 @@ CONFIG_INOTIFY_USER=y
778# CONFIG_FUSE_FS is not set 871# CONFIG_FUSE_FS is not set
779 872
780# 873#
874# Caches
875#
876# CONFIG_FSCACHE is not set
877
878#
781# CD-ROM/DVD Filesystems 879# CD-ROM/DVD Filesystems
782# 880#
783# CONFIG_ISO9660_FS is not set 881# CONFIG_ISO9660_FS is not set
@@ -832,7 +930,6 @@ CONFIG_LOCKD=y
832CONFIG_LOCKD_V4=y 930CONFIG_LOCKD_V4=y
833CONFIG_NFS_COMMON=y 931CONFIG_NFS_COMMON=y
834CONFIG_SUNRPC=y 932CONFIG_SUNRPC=y
835# CONFIG_SUNRPC_REGISTER_V4 is not set
836# CONFIG_RPCSEC_GSS_KRB5 is not set 933# CONFIG_RPCSEC_GSS_KRB5 is not set
837# CONFIG_RPCSEC_GSS_SPKM3 is not set 934# CONFIG_RPCSEC_GSS_SPKM3 is not set
838# CONFIG_SMB_FS is not set 935# CONFIG_SMB_FS is not set
@@ -848,6 +945,7 @@ CONFIG_SUNRPC=y
848CONFIG_MSDOS_PARTITION=y 945CONFIG_MSDOS_PARTITION=y
849# CONFIG_NLS is not set 946# CONFIG_NLS is not set
850# CONFIG_DLM is not set 947# CONFIG_DLM is not set
948# CONFIG_BINARY_PRINTF is not set
851 949
852# 950#
853# Library routines 951# Library routines
@@ -862,11 +960,13 @@ CONFIG_CRC32=y
862# CONFIG_CRC7 is not set 960# CONFIG_CRC7 is not set
863# CONFIG_LIBCRC32C is not set 961# CONFIG_LIBCRC32C is not set
864CONFIG_ZLIB_INFLATE=y 962CONFIG_ZLIB_INFLATE=y
865CONFIG_PLIST=y 963CONFIG_DECOMPRESS_GZIP=y
866CONFIG_HAS_IOMEM=y 964CONFIG_HAS_IOMEM=y
867CONFIG_HAS_IOPORT=y 965CONFIG_HAS_IOPORT=y
868CONFIG_HAS_DMA=y 966CONFIG_HAS_DMA=y
869CONFIG_HAVE_LMB=y 967CONFIG_HAVE_LMB=y
968CONFIG_NLATTR=y
969CONFIG_GENERIC_ATOMIC64=y
870 970
871# 971#
872# Kernel hacking 972# Kernel hacking
@@ -876,6 +976,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
876CONFIG_ENABLE_MUST_CHECK=y 976CONFIG_ENABLE_MUST_CHECK=y
877CONFIG_FRAME_WARN=1024 977CONFIG_FRAME_WARN=1024
878CONFIG_MAGIC_SYSRQ=y 978CONFIG_MAGIC_SYSRQ=y
979# CONFIG_STRIP_ASM_SYMS is not set
879# CONFIG_UNUSED_SYMBOLS is not set 980# CONFIG_UNUSED_SYMBOLS is not set
880CONFIG_DEBUG_FS=y 981CONFIG_DEBUG_FS=y
881# CONFIG_HEADERS_CHECK is not set 982# CONFIG_HEADERS_CHECK is not set
@@ -884,16 +985,23 @@ CONFIG_DEBUG_KERNEL=y
884CONFIG_DETECT_SOFTLOCKUP=y 985CONFIG_DETECT_SOFTLOCKUP=y
885# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set 986# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
886CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 987CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
988CONFIG_DETECT_HUNG_TASK=y
989# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
990CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
887CONFIG_SCHED_DEBUG=y 991CONFIG_SCHED_DEBUG=y
888# CONFIG_SCHEDSTATS is not set 992# CONFIG_SCHEDSTATS is not set
889# CONFIG_TIMER_STATS is not set 993# CONFIG_TIMER_STATS is not set
890# CONFIG_DEBUG_OBJECTS is not set 994# CONFIG_DEBUG_OBJECTS is not set
891# CONFIG_SLUB_DEBUG_ON is not set 995# CONFIG_SLUB_DEBUG_ON is not set
892# CONFIG_SLUB_STATS is not set 996# CONFIG_SLUB_STATS is not set
997# CONFIG_DEBUG_KMEMLEAK is not set
893# CONFIG_DEBUG_RT_MUTEXES is not set 998# CONFIG_DEBUG_RT_MUTEXES is not set
894# CONFIG_RT_MUTEX_TESTER is not set 999# CONFIG_RT_MUTEX_TESTER is not set
895# CONFIG_DEBUG_SPINLOCK is not set 1000# CONFIG_DEBUG_SPINLOCK is not set
896# CONFIG_DEBUG_MUTEXES is not set 1001# CONFIG_DEBUG_MUTEXES is not set
1002# CONFIG_DEBUG_LOCK_ALLOC is not set
1003# CONFIG_PROVE_LOCKING is not set
1004# CONFIG_LOCK_STAT is not set
897# CONFIG_DEBUG_SPINLOCK_SLEEP is not set 1005# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
898# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set 1006# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
899# CONFIG_DEBUG_KOBJECT is not set 1007# CONFIG_DEBUG_KOBJECT is not set
@@ -905,35 +1013,45 @@ CONFIG_SCHED_DEBUG=y
905# CONFIG_DEBUG_LIST is not set 1013# CONFIG_DEBUG_LIST is not set
906# CONFIG_DEBUG_SG is not set 1014# CONFIG_DEBUG_SG is not set
907# CONFIG_DEBUG_NOTIFIERS is not set 1015# CONFIG_DEBUG_NOTIFIERS is not set
908# CONFIG_BOOT_PRINTK_DELAY is not set 1016# CONFIG_DEBUG_CREDENTIALS is not set
909# CONFIG_RCU_TORTURE_TEST is not set 1017# CONFIG_RCU_TORTURE_TEST is not set
910# CONFIG_RCU_CPU_STALL_DETECTOR is not set 1018# CONFIG_RCU_CPU_STALL_DETECTOR is not set
911# CONFIG_BACKTRACE_SELF_TEST is not set 1019# CONFIG_BACKTRACE_SELF_TEST is not set
912# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set 1020# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1021# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
913# CONFIG_FAULT_INJECTION is not set 1022# CONFIG_FAULT_INJECTION is not set
914# CONFIG_LATENCYTOP is not set 1023# CONFIG_LATENCYTOP is not set
915CONFIG_SYSCTL_SYSCALL_CHECK=y 1024CONFIG_SYSCTL_SYSCALL_CHECK=y
1025# CONFIG_DEBUG_PAGEALLOC is not set
916CONFIG_HAVE_FUNCTION_TRACER=y 1026CONFIG_HAVE_FUNCTION_TRACER=y
1027CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
917CONFIG_HAVE_DYNAMIC_FTRACE=y 1028CONFIG_HAVE_DYNAMIC_FTRACE=y
918CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 1029CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
919 1030CONFIG_TRACING_SUPPORT=y
920# 1031CONFIG_FTRACE=y
921# Tracers
922#
923# CONFIG_FUNCTION_TRACER is not set 1032# CONFIG_FUNCTION_TRACER is not set
1033# CONFIG_IRQSOFF_TRACER is not set
924# CONFIG_SCHED_TRACER is not set 1034# CONFIG_SCHED_TRACER is not set
925# CONFIG_CONTEXT_SWITCH_TRACER is not set 1035# CONFIG_ENABLE_DEFAULT_TRACERS is not set
926# CONFIG_BOOT_TRACER is not set 1036# CONFIG_BOOT_TRACER is not set
927# CONFIG_TRACE_BRANCH_PROFILING is not set 1037CONFIG_BRANCH_PROFILE_NONE=y
1038# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
1039# CONFIG_PROFILE_ALL_BRANCHES is not set
928# CONFIG_STACK_TRACER is not set 1040# CONFIG_STACK_TRACER is not set
929# CONFIG_DYNAMIC_PRINTK_DEBUG is not set 1041# CONFIG_KMEMTRACE is not set
1042# CONFIG_WORKQUEUE_TRACER is not set
1043# CONFIG_BLK_DEV_IO_TRACE is not set
1044# CONFIG_DYNAMIC_DEBUG is not set
1045# CONFIG_DMA_API_DEBUG is not set
930# CONFIG_SAMPLES is not set 1046# CONFIG_SAMPLES is not set
931CONFIG_HAVE_ARCH_KGDB=y 1047CONFIG_HAVE_ARCH_KGDB=y
932# CONFIG_KGDB is not set 1048# CONFIG_KGDB is not set
1049# CONFIG_PPC_DISABLE_WERROR is not set
1050CONFIG_PPC_WERROR=y
933CONFIG_PRINT_STACK_DEPTH=64 1051CONFIG_PRINT_STACK_DEPTH=64
934# CONFIG_DEBUG_STACKOVERFLOW is not set 1052# CONFIG_DEBUG_STACKOVERFLOW is not set
935# CONFIG_DEBUG_STACK_USAGE is not set 1053# CONFIG_DEBUG_STACK_USAGE is not set
936# CONFIG_DEBUG_PAGEALLOC is not set 1054# CONFIG_PPC_EMULATED_STATS is not set
937# CONFIG_CODE_PATCHING_SELFTEST is not set 1055# CONFIG_CODE_PATCHING_SELFTEST is not set
938# CONFIG_FTR_FIXUP_SELFTEST is not set 1056# CONFIG_FTR_FIXUP_SELFTEST is not set
939# CONFIG_MSI_BITMAP_SELFTEST is not set 1057# CONFIG_MSI_BITMAP_SELFTEST is not set
@@ -949,13 +1067,16 @@ CONFIG_PRINT_STACK_DEPTH=64
949# CONFIG_KEYS is not set 1067# CONFIG_KEYS is not set
950# CONFIG_SECURITY is not set 1068# CONFIG_SECURITY is not set
951# CONFIG_SECURITYFS is not set 1069# CONFIG_SECURITYFS is not set
952# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1070# CONFIG_DEFAULT_SECURITY_SELINUX is not set
1071# CONFIG_DEFAULT_SECURITY_SMACK is not set
1072# CONFIG_DEFAULT_SECURITY_TOMOYO is not set
1073CONFIG_DEFAULT_SECURITY_DAC=y
1074CONFIG_DEFAULT_SECURITY=""
953CONFIG_CRYPTO=y 1075CONFIG_CRYPTO=y
954 1076
955# 1077#
956# Crypto core or helper 1078# Crypto core or helper
957# 1079#
958# CONFIG_CRYPTO_FIPS is not set
959CONFIG_CRYPTO_ALGAPI=y 1080CONFIG_CRYPTO_ALGAPI=y
960CONFIG_CRYPTO_ALGAPI2=y 1081CONFIG_CRYPTO_ALGAPI2=y
961CONFIG_CRYPTO_AEAD2=y 1082CONFIG_CRYPTO_AEAD2=y
@@ -964,10 +1085,12 @@ CONFIG_CRYPTO_BLKCIPHER2=y
964CONFIG_CRYPTO_HASH=y 1085CONFIG_CRYPTO_HASH=y
965CONFIG_CRYPTO_HASH2=y 1086CONFIG_CRYPTO_HASH2=y
966CONFIG_CRYPTO_RNG2=y 1087CONFIG_CRYPTO_RNG2=y
1088CONFIG_CRYPTO_PCOMP=y
967CONFIG_CRYPTO_MANAGER=y 1089CONFIG_CRYPTO_MANAGER=y
968CONFIG_CRYPTO_MANAGER2=y 1090CONFIG_CRYPTO_MANAGER2=y
969# CONFIG_CRYPTO_GF128MUL is not set 1091# CONFIG_CRYPTO_GF128MUL is not set
970# CONFIG_CRYPTO_NULL is not set 1092# CONFIG_CRYPTO_NULL is not set
1093CONFIG_CRYPTO_WORKQUEUE=y
971# CONFIG_CRYPTO_CRYPTD is not set 1094# CONFIG_CRYPTO_CRYPTD is not set
972# CONFIG_CRYPTO_AUTHENC is not set 1095# CONFIG_CRYPTO_AUTHENC is not set
973# CONFIG_CRYPTO_TEST is not set 1096# CONFIG_CRYPTO_TEST is not set
@@ -995,11 +1118,13 @@ CONFIG_CRYPTO_PCBC=y
995# 1118#
996# CONFIG_CRYPTO_HMAC is not set 1119# CONFIG_CRYPTO_HMAC is not set
997# CONFIG_CRYPTO_XCBC is not set 1120# CONFIG_CRYPTO_XCBC is not set
1121# CONFIG_CRYPTO_VMAC is not set
998 1122
999# 1123#
1000# Digest 1124# Digest
1001# 1125#
1002# CONFIG_CRYPTO_CRC32C is not set 1126# CONFIG_CRYPTO_CRC32C is not set
1127# CONFIG_CRYPTO_GHASH is not set
1003# CONFIG_CRYPTO_MD4 is not set 1128# CONFIG_CRYPTO_MD4 is not set
1004CONFIG_CRYPTO_MD5=y 1129CONFIG_CRYPTO_MD5=y
1005# CONFIG_CRYPTO_MICHAEL_MIC is not set 1130# CONFIG_CRYPTO_MICHAEL_MIC is not set
@@ -1036,6 +1161,7 @@ CONFIG_CRYPTO_DES=y
1036# Compression 1161# Compression
1037# 1162#
1038# CONFIG_CRYPTO_DEFLATE is not set 1163# CONFIG_CRYPTO_DEFLATE is not set
1164# CONFIG_CRYPTO_ZLIB is not set
1039# CONFIG_CRYPTO_LZO is not set 1165# CONFIG_CRYPTO_LZO is not set
1040 1166
1041# 1167#
@@ -1044,5 +1170,6 @@ CONFIG_CRYPTO_DES=y
1044# CONFIG_CRYPTO_ANSI_CPRNG is not set 1170# CONFIG_CRYPTO_ANSI_CPRNG is not set
1045CONFIG_CRYPTO_HW=y 1171CONFIG_CRYPTO_HW=y
1046# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1172# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1173# CONFIG_CRYPTO_DEV_PPC4XX is not set
1047# CONFIG_PPC_CLOCK is not set 1174# CONFIG_PPC_CLOCK is not set
1048# CONFIG_VIRTUALIZATION is not set 1175# CONFIG_VIRTUALIZATION is not set
diff --git a/arch/powerpc/configs/44x/virtex5_defconfig b/arch/powerpc/configs/44x/virtex5_defconfig
index 2518b8568c70..c7ead0ec00bc 100644
--- a/arch/powerpc/configs/44x/virtex5_defconfig
+++ b/arch/powerpc/configs/44x/virtex5_defconfig
@@ -80,8 +80,7 @@ CONFIG_IKCONFIG_PROC=y
80CONFIG_LOG_BUF_SHIFT=14 80CONFIG_LOG_BUF_SHIFT=14
81# CONFIG_GROUP_SCHED is not set 81# CONFIG_GROUP_SCHED is not set
82# CONFIG_CGROUPS is not set 82# CONFIG_CGROUPS is not set
83CONFIG_SYSFS_DEPRECATED=y 83# CONFIG_SYSFS_DEPRECATED_V2 is not set
84CONFIG_SYSFS_DEPRECATED_V2=y
85# CONFIG_RELAY is not set 84# CONFIG_RELAY is not set
86CONFIG_NAMESPACES=y 85CONFIG_NAMESPACES=y
87# CONFIG_UTS_NS is not set 86# CONFIG_UTS_NS is not set
diff --git a/arch/powerpc/configs/44x/warp_defconfig b/arch/powerpc/configs/44x/warp_defconfig
index 787635f23d8f..99eff4dd9364 100644
--- a/arch/powerpc/configs/44x/warp_defconfig
+++ b/arch/powerpc/configs/44x/warp_defconfig
@@ -1,14 +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.30 3# Linux kernel version: 2.6.33-rc1
4# Tue Jun 9 23:35:36 2009 4# Mon Jan 4 15:27:46 2010
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
8# 8#
9# Processor support 9# Processor support
10# 10#
11# CONFIG_6xx is not set 11# CONFIG_PPC_BOOK3S_32 is not set
12# CONFIG_PPC_85xx is not set 12# CONFIG_PPC_85xx is not set
13# CONFIG_PPC_8xx is not set 13# CONFIG_PPC_8xx is not set
14# CONFIG_40x is not set 14# CONFIG_40x is not set
@@ -20,6 +20,7 @@ CONFIG_BOOKE=y
20CONFIG_PTE_64BIT=y 20CONFIG_PTE_64BIT=y
21CONFIG_PHYS_64BIT=y 21CONFIG_PHYS_64BIT=y
22CONFIG_PPC_MMU_NOHASH=y 22CONFIG_PPC_MMU_NOHASH=y
23CONFIG_PPC_MMU_NOHASH_32=y
23# CONFIG_PPC_MM_SLICES is not set 24# CONFIG_PPC_MM_SLICES is not set
24CONFIG_NOT_COHERENT_CACHE=y 25CONFIG_NOT_COHERENT_CACHE=y
25CONFIG_PPC32=y 26CONFIG_PPC32=y
@@ -31,15 +32,18 @@ CONFIG_GENERIC_TIME=y
31CONFIG_GENERIC_TIME_VSYSCALL=y 32CONFIG_GENERIC_TIME_VSYSCALL=y
32CONFIG_GENERIC_CLOCKEVENTS=y 33CONFIG_GENERIC_CLOCKEVENTS=y
33CONFIG_GENERIC_HARDIRQS=y 34CONFIG_GENERIC_HARDIRQS=y
35CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
34# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 36# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
37# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
35CONFIG_IRQ_PER_CPU=y 38CONFIG_IRQ_PER_CPU=y
39CONFIG_NR_IRQS=512
36CONFIG_STACKTRACE_SUPPORT=y 40CONFIG_STACKTRACE_SUPPORT=y
37CONFIG_HAVE_LATENCYTOP_SUPPORT=y 41CONFIG_HAVE_LATENCYTOP_SUPPORT=y
42CONFIG_TRACE_IRQFLAGS_SUPPORT=y
38CONFIG_LOCKDEP_SUPPORT=y 43CONFIG_LOCKDEP_SUPPORT=y
39CONFIG_RWSEM_XCHGADD_ALGORITHM=y 44CONFIG_RWSEM_XCHGADD_ALGORITHM=y
40CONFIG_ARCH_HAS_ILOG2_U32=y 45CONFIG_ARCH_HAS_ILOG2_U32=y
41CONFIG_GENERIC_HWEIGHT=y 46CONFIG_GENERIC_HWEIGHT=y
42CONFIG_GENERIC_CALIBRATE_DELAY=y
43CONFIG_GENERIC_FIND_NEXT_BIT=y 47CONFIG_GENERIC_FIND_NEXT_BIT=y
44CONFIG_GENERIC_GPIO=y 48CONFIG_GENERIC_GPIO=y
45# CONFIG_ARCH_NO_VIRT_TO_BUS is not set 49# CONFIG_ARCH_NO_VIRT_TO_BUS is not set
@@ -56,11 +60,13 @@ CONFIG_AUDIT_ARCH=y
56CONFIG_GENERIC_BUG=y 60CONFIG_GENERIC_BUG=y
57CONFIG_DTC=y 61CONFIG_DTC=y
58# CONFIG_DEFAULT_UIMAGE is not set 62# CONFIG_DEFAULT_UIMAGE is not set
63CONFIG_ARCH_HIBERNATION_POSSIBLE=y
59CONFIG_PPC_DCR_NATIVE=y 64CONFIG_PPC_DCR_NATIVE=y
60# CONFIG_PPC_DCR_MMIO is not set 65# CONFIG_PPC_DCR_MMIO is not set
61CONFIG_PPC_DCR=y 66CONFIG_PPC_DCR=y
62CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y 67CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
63CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 68CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
69CONFIG_CONSTRUCTORS=y
64 70
65# 71#
66# General setup 72# General setup
@@ -81,11 +87,13 @@ CONFIG_SYSVIPC_SYSCTL=y
81# 87#
82# RCU Subsystem 88# RCU Subsystem
83# 89#
84CONFIG_CLASSIC_RCU=y 90CONFIG_TREE_RCU=y
85# CONFIG_TREE_RCU is not set 91# CONFIG_TREE_PREEMPT_RCU is not set
86# CONFIG_PREEMPT_RCU is not set 92# CONFIG_TINY_RCU is not set
93# CONFIG_RCU_TRACE is not set
94CONFIG_RCU_FANOUT=32
95# CONFIG_RCU_FANOUT_EXACT is not set
87# CONFIG_TREE_RCU_TRACE is not set 96# CONFIG_TREE_RCU_TRACE is not set
88# CONFIG_PREEMPT_RCU_TRACE is not set
89CONFIG_IKCONFIG=y 97CONFIG_IKCONFIG=y
90CONFIG_IKCONFIG_PROC=y 98CONFIG_IKCONFIG_PROC=y
91CONFIG_LOG_BUF_SHIFT=14 99CONFIG_LOG_BUF_SHIFT=14
@@ -111,7 +119,6 @@ CONFIG_SYSCTL_SYSCALL=y
111CONFIG_KALLSYMS=y 119CONFIG_KALLSYMS=y
112# CONFIG_KALLSYMS_ALL is not set 120# CONFIG_KALLSYMS_ALL is not set
113# CONFIG_KALLSYMS_EXTRA_PASS is not set 121# CONFIG_KALLSYMS_EXTRA_PASS is not set
114# CONFIG_STRIP_ASM_SYMS is not set
115CONFIG_HOTPLUG=y 122CONFIG_HOTPLUG=y
116CONFIG_PRINTK=y 123CONFIG_PRINTK=y
117CONFIG_BUG=y 124CONFIG_BUG=y
@@ -124,6 +131,13 @@ CONFIG_TIMERFD=y
124CONFIG_EVENTFD=y 131CONFIG_EVENTFD=y
125CONFIG_SHMEM=y 132CONFIG_SHMEM=y
126CONFIG_AIO=y 133CONFIG_AIO=y
134CONFIG_HAVE_PERF_EVENTS=y
135
136#
137# Kernel Performance Events And Counters
138#
139# CONFIG_PERF_EVENTS is not set
140# CONFIG_PERF_COUNTERS is not set
127CONFIG_VM_EVENT_COUNTERS=y 141CONFIG_VM_EVENT_COUNTERS=y
128CONFIG_SLUB_DEBUG=y 142CONFIG_SLUB_DEBUG=y
129CONFIG_COMPAT_BRK=y 143CONFIG_COMPAT_BRK=y
@@ -131,7 +145,6 @@ CONFIG_COMPAT_BRK=y
131CONFIG_SLUB=y 145CONFIG_SLUB=y
132# CONFIG_SLOB is not set 146# CONFIG_SLOB is not set
133# CONFIG_PROFILING is not set 147# CONFIG_PROFILING is not set
134# CONFIG_MARKERS is not set
135CONFIG_HAVE_OPROFILE=y 148CONFIG_HAVE_OPROFILE=y
136# CONFIG_KPROBES is not set 149# CONFIG_KPROBES is not set
137CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 150CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
@@ -139,6 +152,13 @@ CONFIG_HAVE_IOREMAP_PROT=y
139CONFIG_HAVE_KPROBES=y 152CONFIG_HAVE_KPROBES=y
140CONFIG_HAVE_KRETPROBES=y 153CONFIG_HAVE_KRETPROBES=y
141CONFIG_HAVE_ARCH_TRACEHOOK=y 154CONFIG_HAVE_ARCH_TRACEHOOK=y
155CONFIG_HAVE_DMA_ATTRS=y
156CONFIG_HAVE_DMA_API_DEBUG=y
157
158#
159# GCOV-based kernel profiling
160#
161# CONFIG_GCOV_KERNEL is not set
142# CONFIG_SLOW_WORK is not set 162# CONFIG_SLOW_WORK is not set
143# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 163# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
144CONFIG_SLABINFO=y 164CONFIG_SLABINFO=y
@@ -151,7 +171,7 @@ CONFIG_MODULE_UNLOAD=y
151# CONFIG_MODVERSIONS is not set 171# CONFIG_MODVERSIONS is not set
152# CONFIG_MODULE_SRCVERSION_ALL is not set 172# CONFIG_MODULE_SRCVERSION_ALL is not set
153CONFIG_BLOCK=y 173CONFIG_BLOCK=y
154# CONFIG_LBD is not set 174CONFIG_LBDAF=y
155# CONFIG_BLK_DEV_BSG is not set 175# CONFIG_BLK_DEV_BSG is not set
156# CONFIG_BLK_DEV_INTEGRITY is not set 176# CONFIG_BLK_DEV_INTEGRITY is not set
157 177
@@ -159,14 +179,41 @@ CONFIG_BLOCK=y
159# IO Schedulers 179# IO Schedulers
160# 180#
161CONFIG_IOSCHED_NOOP=y 181CONFIG_IOSCHED_NOOP=y
162CONFIG_IOSCHED_AS=y
163CONFIG_IOSCHED_DEADLINE=y 182CONFIG_IOSCHED_DEADLINE=y
164CONFIG_IOSCHED_CFQ=y 183CONFIG_IOSCHED_CFQ=y
165CONFIG_DEFAULT_AS=y
166# CONFIG_DEFAULT_DEADLINE is not set 184# CONFIG_DEFAULT_DEADLINE is not set
167# CONFIG_DEFAULT_CFQ is not set 185CONFIG_DEFAULT_CFQ=y
168# CONFIG_DEFAULT_NOOP is not set 186# CONFIG_DEFAULT_NOOP is not set
169CONFIG_DEFAULT_IOSCHED="anticipatory" 187CONFIG_DEFAULT_IOSCHED="cfq"
188# CONFIG_INLINE_SPIN_TRYLOCK is not set
189# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
190# CONFIG_INLINE_SPIN_LOCK is not set
191# CONFIG_INLINE_SPIN_LOCK_BH is not set
192# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
193# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
194CONFIG_INLINE_SPIN_UNLOCK=y
195# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
196CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
197# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
198# CONFIG_INLINE_READ_TRYLOCK is not set
199# CONFIG_INLINE_READ_LOCK is not set
200# CONFIG_INLINE_READ_LOCK_BH is not set
201# CONFIG_INLINE_READ_LOCK_IRQ is not set
202# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
203CONFIG_INLINE_READ_UNLOCK=y
204# CONFIG_INLINE_READ_UNLOCK_BH is not set
205CONFIG_INLINE_READ_UNLOCK_IRQ=y
206# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
207# CONFIG_INLINE_WRITE_TRYLOCK is not set
208# CONFIG_INLINE_WRITE_LOCK is not set
209# CONFIG_INLINE_WRITE_LOCK_BH is not set
210# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
211# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
212CONFIG_INLINE_WRITE_UNLOCK=y
213# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
214CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
215# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
216# CONFIG_MUTEX_SPIN_ON_OWNER is not set
170# CONFIG_FREEZER is not set 217# CONFIG_FREEZER is not set
171 218
172# 219#
@@ -187,6 +234,7 @@ CONFIG_WARP=y
187# CONFIG_CANYONLANDS is not set 234# CONFIG_CANYONLANDS is not set
188# CONFIG_GLACIER is not set 235# CONFIG_GLACIER is not set
189# CONFIG_REDWOOD is not set 236# CONFIG_REDWOOD is not set
237# CONFIG_EIGER is not set
190# CONFIG_YOSEMITE is not set 238# CONFIG_YOSEMITE is not set
191# CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set 239# CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set
192# CONFIG_PPC44x_SIMPLE is not set 240# CONFIG_PPC44x_SIMPLE is not set
@@ -229,10 +277,12 @@ CONFIG_BINFMT_ELF=y
229# CONFIG_BINFMT_MISC is not set 277# CONFIG_BINFMT_MISC is not set
230# CONFIG_MATH_EMULATION is not set 278# CONFIG_MATH_EMULATION is not set
231# CONFIG_IOMMU_HELPER is not set 279# CONFIG_IOMMU_HELPER is not set
232CONFIG_PPC_NEED_DMA_SYNC_OPS=y 280# CONFIG_SWIOTLB is not set
233CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 281CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
234CONFIG_ARCH_HAS_WALK_MEMORY=y 282CONFIG_ARCH_HAS_WALK_MEMORY=y
235CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 283CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
284CONFIG_SPARSE_IRQ=y
285CONFIG_MAX_ACTIVE_REGIONS=32
236CONFIG_ARCH_FLATMEM_ENABLE=y 286CONFIG_ARCH_FLATMEM_ENABLE=y
237CONFIG_ARCH_POPULATES_NODE_MAP=y 287CONFIG_ARCH_POPULATES_NODE_MAP=y
238CONFIG_SELECT_MEMORY_MODEL=y 288CONFIG_SELECT_MEMORY_MODEL=y
@@ -248,9 +298,8 @@ CONFIG_PHYS_ADDR_T_64BIT=y
248CONFIG_ZONE_DMA_FLAG=1 298CONFIG_ZONE_DMA_FLAG=1
249CONFIG_BOUNCE=y 299CONFIG_BOUNCE=y
250CONFIG_VIRT_TO_BUS=y 300CONFIG_VIRT_TO_BUS=y
251CONFIG_UNEVICTABLE_LRU=y 301# CONFIG_KSM is not set
252CONFIG_HAVE_MLOCK=y 302CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
253CONFIG_HAVE_MLOCKED_PAGE_BIT=y
254CONFIG_STDBINUTILS=y 303CONFIG_STDBINUTILS=y
255CONFIG_PPC_4K_PAGES=y 304CONFIG_PPC_4K_PAGES=y
256# CONFIG_PPC_16K_PAGES is not set 305# CONFIG_PPC_16K_PAGES is not set
@@ -356,6 +405,7 @@ CONFIG_NETFILTER_ADVANCED=y
356# CONFIG_IP_NF_ARPTABLES is not set 405# CONFIG_IP_NF_ARPTABLES is not set
357# CONFIG_IP_DCCP is not set 406# CONFIG_IP_DCCP is not set
358# CONFIG_IP_SCTP is not set 407# CONFIG_IP_SCTP is not set
408# CONFIG_RDS is not set
359# CONFIG_TIPC is not set 409# CONFIG_TIPC is not set
360# CONFIG_ATM is not set 410# CONFIG_ATM is not set
361# CONFIG_BRIDGE is not set 411# CONFIG_BRIDGE is not set
@@ -371,6 +421,7 @@ CONFIG_VLAN_8021Q=y
371# CONFIG_ECONET is not set 421# CONFIG_ECONET is not set
372# CONFIG_WAN_ROUTER is not set 422# CONFIG_WAN_ROUTER is not set
373# CONFIG_PHONET is not set 423# CONFIG_PHONET is not set
424# CONFIG_IEEE802154 is not set
374# CONFIG_NET_SCHED is not set 425# CONFIG_NET_SCHED is not set
375# CONFIG_DCB is not set 426# CONFIG_DCB is not set
376 427
@@ -383,7 +434,13 @@ CONFIG_VLAN_8021Q=y
383# CONFIG_IRDA is not set 434# CONFIG_IRDA is not set
384# CONFIG_BT is not set 435# CONFIG_BT is not set
385# CONFIG_AF_RXRPC is not set 436# CONFIG_AF_RXRPC is not set
386# CONFIG_WIRELESS is not set 437CONFIG_WIRELESS=y
438# CONFIG_CFG80211 is not set
439# CONFIG_LIB80211 is not set
440
441#
442# CFG80211 needs to be enabled for MAC80211
443#
387# CONFIG_WIMAX is not set 444# CONFIG_WIMAX is not set
388# CONFIG_RFKILL is not set 445# CONFIG_RFKILL is not set
389# CONFIG_NET_9P is not set 446# CONFIG_NET_9P is not set
@@ -396,6 +453,7 @@ CONFIG_VLAN_8021Q=y
396# Generic Driver Options 453# Generic Driver Options
397# 454#
398CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 455CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
456# CONFIG_DEVTMPFS is not set
399# CONFIG_STANDALONE is not set 457# CONFIG_STANDALONE is not set
400CONFIG_PREVENT_FIRMWARE_BUILD=y 458CONFIG_PREVENT_FIRMWARE_BUILD=y
401CONFIG_FW_LOADER=y 459CONFIG_FW_LOADER=y
@@ -407,9 +465,9 @@ CONFIG_EXTRA_FIRMWARE=""
407# CONFIG_CONNECTOR is not set 465# CONFIG_CONNECTOR is not set
408CONFIG_MTD=y 466CONFIG_MTD=y
409# CONFIG_MTD_DEBUG is not set 467# CONFIG_MTD_DEBUG is not set
468# CONFIG_MTD_TESTS is not set
410# CONFIG_MTD_CONCAT is not set 469# CONFIG_MTD_CONCAT is not set
411CONFIG_MTD_PARTITIONS=y 470CONFIG_MTD_PARTITIONS=y
412# CONFIG_MTD_TESTS is not set
413# CONFIG_MTD_REDBOOT_PARTS is not set 471# CONFIG_MTD_REDBOOT_PARTS is not set
414CONFIG_MTD_CMDLINE_PARTS=y 472CONFIG_MTD_CMDLINE_PARTS=y
415CONFIG_MTD_OF_PARTS=y 473CONFIG_MTD_OF_PARTS=y
@@ -513,6 +571,10 @@ CONFIG_BLK_DEV=y
513# CONFIG_BLK_DEV_FD is not set 571# CONFIG_BLK_DEV_FD is not set
514# CONFIG_BLK_DEV_COW_COMMON is not set 572# CONFIG_BLK_DEV_COW_COMMON is not set
515# CONFIG_BLK_DEV_LOOP is not set 573# CONFIG_BLK_DEV_LOOP is not set
574
575#
576# DRBD disabled because PROC_FS, INET or CONNECTOR not selected
577#
516# CONFIG_BLK_DEV_NBD is not set 578# CONFIG_BLK_DEV_NBD is not set
517# CONFIG_BLK_DEV_UB is not set 579# CONFIG_BLK_DEV_UB is not set
518CONFIG_BLK_DEV_RAM=y 580CONFIG_BLK_DEV_RAM=y
@@ -524,9 +586,11 @@ CONFIG_BLK_DEV_RAM_SIZE=4096
524# CONFIG_XILINX_SYSACE is not set 586# CONFIG_XILINX_SYSACE is not set
525# CONFIG_BLK_DEV_HD is not set 587# CONFIG_BLK_DEV_HD is not set
526CONFIG_MISC_DEVICES=y 588CONFIG_MISC_DEVICES=y
589# CONFIG_AD525X_DPOT is not set
527# CONFIG_ICS932S401 is not set 590# CONFIG_ICS932S401 is not set
528# CONFIG_ENCLOSURE_SERVICES is not set 591# CONFIG_ENCLOSURE_SERVICES is not set
529# CONFIG_ISL29003 is not set 592# CONFIG_ISL29003 is not set
593# CONFIG_DS1682 is not set
530# CONFIG_C2PORT is not set 594# CONFIG_C2PORT is not set
531 595
532# 596#
@@ -534,7 +598,9 @@ CONFIG_MISC_DEVICES=y
534# 598#
535CONFIG_EEPROM_AT24=y 599CONFIG_EEPROM_AT24=y
536# CONFIG_EEPROM_LEGACY is not set 600# CONFIG_EEPROM_LEGACY is not set
601# CONFIG_EEPROM_MAX6875 is not set
537# CONFIG_EEPROM_93CX6 is not set 602# CONFIG_EEPROM_93CX6 is not set
603# CONFIG_IWMC3200TOP is not set
538CONFIG_HAVE_IDE=y 604CONFIG_HAVE_IDE=y
539# CONFIG_IDE is not set 605# CONFIG_IDE is not set
540 606
@@ -557,15 +623,11 @@ CONFIG_BLK_DEV_SD=y
557# CONFIG_BLK_DEV_SR is not set 623# CONFIG_BLK_DEV_SR is not set
558# CONFIG_CHR_DEV_SG is not set 624# CONFIG_CHR_DEV_SG is not set
559# CONFIG_CHR_DEV_SCH is not set 625# CONFIG_CHR_DEV_SCH is not set
560
561#
562# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
563#
564# CONFIG_SCSI_MULTI_LUN is not set 626# CONFIG_SCSI_MULTI_LUN is not set
565# CONFIG_SCSI_CONSTANTS is not set 627# CONFIG_SCSI_CONSTANTS is not set
566# CONFIG_SCSI_LOGGING is not set 628# CONFIG_SCSI_LOGGING is not set
567# CONFIG_SCSI_SCAN_ASYNC is not set 629# CONFIG_SCSI_SCAN_ASYNC is not set
568# CONFIG_SCSI_WAIT_SCAN is not set 630CONFIG_SCSI_WAIT_SCAN=m
569 631
570# 632#
571# SCSI Transports 633# SCSI Transports
@@ -582,7 +644,6 @@ CONFIG_SCSI_SPI_ATTRS=y
582# CONFIG_MD is not set 644# CONFIG_MD is not set
583# CONFIG_MACINTOSH_DRIVERS is not set 645# CONFIG_MACINTOSH_DRIVERS is not set
584CONFIG_NETDEVICES=y 646CONFIG_NETDEVICES=y
585CONFIG_COMPAT_NET_DEV_OPS=y
586# CONFIG_DUMMY is not set 647# CONFIG_DUMMY is not set
587# CONFIG_BONDING is not set 648# CONFIG_BONDING is not set
588# CONFIG_MACVLAN is not set 649# CONFIG_MACVLAN is not set
@@ -609,14 +670,14 @@ CONFIG_IBM_NEW_EMAC_ZMII=y
609# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set 670# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
610# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set 671# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
611# CONFIG_B44 is not set 672# CONFIG_B44 is not set
673# CONFIG_KS8842 is not set
674# CONFIG_KS8851_MLL is not set
675# CONFIG_XILINX_EMACLITE is not set
612# CONFIG_NETDEV_1000 is not set 676# CONFIG_NETDEV_1000 is not set
613# CONFIG_NETDEV_10000 is not set 677# CONFIG_NETDEV_10000 is not set
614 678CONFIG_WLAN=y
615# 679# CONFIG_USB_ZD1201 is not set
616# Wireless LAN 680# CONFIG_HOSTAP is not set
617#
618# CONFIG_WLAN_PRE80211 is not set
619# CONFIG_WLAN_80211 is not set
620 681
621# 682#
622# Enable WiMAX (Networking options) to see the WiMAX drivers 683# Enable WiMAX (Networking options) to see the WiMAX drivers
@@ -678,6 +739,7 @@ CONFIG_SERIAL_CORE=y
678CONFIG_SERIAL_CORE_CONSOLE=y 739CONFIG_SERIAL_CORE_CONSOLE=y
679# CONFIG_SERIAL_OF_PLATFORM is not set 740# CONFIG_SERIAL_OF_PLATFORM is not set
680# CONFIG_SERIAL_OF_PLATFORM_NWPSERIAL is not set 741# CONFIG_SERIAL_OF_PLATFORM_NWPSERIAL is not set
742# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set
681CONFIG_UNIX98_PTYS=y 743CONFIG_UNIX98_PTYS=y
682# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set 744# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
683CONFIG_LEGACY_PTYS=y 745CONFIG_LEGACY_PTYS=y
@@ -693,6 +755,7 @@ CONFIG_HW_RANDOM=y
693# CONFIG_TCG_TPM is not set 755# CONFIG_TCG_TPM is not set
694CONFIG_I2C=y 756CONFIG_I2C=y
695CONFIG_I2C_BOARDINFO=y 757CONFIG_I2C_BOARDINFO=y
758CONFIG_I2C_COMPAT=y
696# CONFIG_I2C_CHARDEV is not set 759# CONFIG_I2C_CHARDEV is not set
697CONFIG_I2C_HELPER_AUTO=y 760CONFIG_I2C_HELPER_AUTO=y
698 761
@@ -725,17 +788,17 @@ CONFIG_I2C_IBM_IIC=y
725# 788#
726# Miscellaneous I2C Chip support 789# Miscellaneous I2C Chip support
727# 790#
728# CONFIG_DS1682 is not set
729# CONFIG_SENSORS_PCF8574 is not set
730# CONFIG_PCF8575 is not set
731# CONFIG_SENSORS_PCA9539 is not set
732# CONFIG_SENSORS_MAX6875 is not set
733# CONFIG_SENSORS_TSL2550 is not set 791# CONFIG_SENSORS_TSL2550 is not set
734# CONFIG_I2C_DEBUG_CORE is not set 792# CONFIG_I2C_DEBUG_CORE is not set
735# CONFIG_I2C_DEBUG_ALGO is not set 793# CONFIG_I2C_DEBUG_ALGO is not set
736# CONFIG_I2C_DEBUG_BUS is not set 794# CONFIG_I2C_DEBUG_BUS is not set
737# CONFIG_I2C_DEBUG_CHIP is not set 795# CONFIG_I2C_DEBUG_CHIP is not set
738# CONFIG_SPI is not set 796# CONFIG_SPI is not set
797
798#
799# PPS support
800#
801# CONFIG_PPS is not set
739CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y 802CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
740CONFIG_ARCH_REQUIRE_GPIOLIB=y 803CONFIG_ARCH_REQUIRE_GPIOLIB=y
741CONFIG_GPIOLIB=y 804CONFIG_GPIOLIB=y
@@ -761,10 +824,19 @@ CONFIG_GPIO_SYSFS=y
761# 824#
762# SPI GPIO expanders: 825# SPI GPIO expanders:
763# 826#
827
828#
829# AC97 GPIO expanders:
830#
764# CONFIG_W1 is not set 831# CONFIG_W1 is not set
765# CONFIG_POWER_SUPPLY is not set 832# CONFIG_POWER_SUPPLY is not set
766CONFIG_HWMON=y 833CONFIG_HWMON=y
767# CONFIG_HWMON_VID is not set 834# CONFIG_HWMON_VID is not set
835# CONFIG_HWMON_DEBUG_CHIP is not set
836
837#
838# Native drivers
839#
768CONFIG_SENSORS_AD7414=y 840CONFIG_SENSORS_AD7414=y
769# CONFIG_SENSORS_AD7418 is not set 841# CONFIG_SENSORS_AD7418 is not set
770# CONFIG_SENSORS_ADM1021 is not set 842# CONFIG_SENSORS_ADM1021 is not set
@@ -787,6 +859,7 @@ CONFIG_SENSORS_AD7414=y
787# CONFIG_SENSORS_GL520SM is not set 859# CONFIG_SENSORS_GL520SM is not set
788# CONFIG_SENSORS_IT87 is not set 860# CONFIG_SENSORS_IT87 is not set
789# CONFIG_SENSORS_LM63 is not set 861# CONFIG_SENSORS_LM63 is not set
862# CONFIG_SENSORS_LM73 is not set
790# CONFIG_SENSORS_LM75 is not set 863# CONFIG_SENSORS_LM75 is not set
791# CONFIG_SENSORS_LM77 is not set 864# CONFIG_SENSORS_LM77 is not set
792# CONFIG_SENSORS_LM78 is not set 865# CONFIG_SENSORS_LM78 is not set
@@ -812,6 +885,8 @@ CONFIG_SENSORS_AD7414=y
812# CONFIG_SENSORS_SMSC47B397 is not set 885# CONFIG_SENSORS_SMSC47B397 is not set
813# CONFIG_SENSORS_ADS7828 is not set 886# CONFIG_SENSORS_ADS7828 is not set
814# CONFIG_SENSORS_THMC50 is not set 887# CONFIG_SENSORS_THMC50 is not set
888# CONFIG_SENSORS_TMP401 is not set
889# CONFIG_SENSORS_TMP421 is not set
815# CONFIG_SENSORS_VT1211 is not set 890# CONFIG_SENSORS_VT1211 is not set
816# CONFIG_SENSORS_W83781D is not set 891# CONFIG_SENSORS_W83781D is not set
817# CONFIG_SENSORS_W83791D is not set 892# CONFIG_SENSORS_W83791D is not set
@@ -821,7 +896,6 @@ CONFIG_SENSORS_AD7414=y
821# CONFIG_SENSORS_W83L786NG is not set 896# CONFIG_SENSORS_W83L786NG is not set
822# CONFIG_SENSORS_W83627HF is not set 897# CONFIG_SENSORS_W83627HF is not set
823# CONFIG_SENSORS_W83627EHF is not set 898# CONFIG_SENSORS_W83627EHF is not set
824# CONFIG_HWMON_DEBUG_CHIP is not set
825CONFIG_THERMAL=y 899CONFIG_THERMAL=y
826CONFIG_THERMAL_HWMON=y 900CONFIG_THERMAL_HWMON=y
827CONFIG_WATCHDOG=y 901CONFIG_WATCHDOG=y
@@ -855,26 +929,15 @@ CONFIG_SSB_POSSIBLE=y
855# CONFIG_TWL4030_CORE is not set 929# CONFIG_TWL4030_CORE is not set
856# CONFIG_MFD_TMIO is not set 930# CONFIG_MFD_TMIO is not set
857# CONFIG_PMIC_DA903X is not set 931# CONFIG_PMIC_DA903X is not set
932# CONFIG_PMIC_ADP5520 is not set
858# CONFIG_MFD_WM8400 is not set 933# CONFIG_MFD_WM8400 is not set
934# CONFIG_MFD_WM831X is not set
859# CONFIG_MFD_WM8350_I2C is not set 935# CONFIG_MFD_WM8350_I2C is not set
860# CONFIG_MFD_PCF50633 is not set 936# CONFIG_MFD_PCF50633 is not set
937# CONFIG_AB3100_CORE is not set
938# CONFIG_MFD_88PM8607 is not set
861# CONFIG_REGULATOR is not set 939# CONFIG_REGULATOR is not set
862 940# CONFIG_MEDIA_SUPPORT is not set
863#
864# Multimedia devices
865#
866
867#
868# Multimedia core support
869#
870# CONFIG_VIDEO_DEV is not set
871# CONFIG_DVB_CORE is not set
872# CONFIG_VIDEO_MEDIA is not set
873
874#
875# Multimedia drivers
876#
877# CONFIG_DAB is not set
878 941
879# 942#
880# Graphics support 943# Graphics support
@@ -917,10 +980,11 @@ CONFIG_USB_MON=y
917# CONFIG_USB_OXU210HP_HCD is not set 980# CONFIG_USB_OXU210HP_HCD is not set
918# CONFIG_USB_ISP116X_HCD is not set 981# CONFIG_USB_ISP116X_HCD is not set
919# CONFIG_USB_ISP1760_HCD is not set 982# CONFIG_USB_ISP1760_HCD is not set
983# CONFIG_USB_ISP1362_HCD is not set
920CONFIG_USB_OHCI_HCD=y 984CONFIG_USB_OHCI_HCD=y
921CONFIG_USB_OHCI_HCD_PPC_OF=y
922CONFIG_USB_OHCI_HCD_PPC_OF_BE=y 985CONFIG_USB_OHCI_HCD_PPC_OF_BE=y
923# CONFIG_USB_OHCI_HCD_PPC_OF_LE is not set 986# CONFIG_USB_OHCI_HCD_PPC_OF_LE is not set
987CONFIG_USB_OHCI_HCD_PPC_OF=y
924CONFIG_USB_OHCI_BIG_ENDIAN_DESC=y 988CONFIG_USB_OHCI_BIG_ENDIAN_DESC=y
925CONFIG_USB_OHCI_BIG_ENDIAN_MMIO=y 989CONFIG_USB_OHCI_BIG_ENDIAN_MMIO=y
926CONFIG_USB_OHCI_LITTLE_ENDIAN=y 990CONFIG_USB_OHCI_LITTLE_ENDIAN=y
@@ -988,6 +1052,7 @@ CONFIG_USB_STORAGE=y
988# CONFIG_USB_LD is not set 1052# CONFIG_USB_LD is not set
989# CONFIG_USB_TRANCEVIBRATOR is not set 1053# CONFIG_USB_TRANCEVIBRATOR is not set
990# CONFIG_USB_IOWARRIOR is not set 1054# CONFIG_USB_IOWARRIOR is not set
1055# CONFIG_USB_TEST is not set
991# CONFIG_USB_ISIGHTFW is not set 1056# CONFIG_USB_ISIGHTFW is not set
992# CONFIG_USB_VST is not set 1057# CONFIG_USB_VST is not set
993# CONFIG_USB_GADGET is not set 1058# CONFIG_USB_GADGET is not set
@@ -1014,7 +1079,8 @@ CONFIG_MMC_BLOCK_BOUNCE=y
1014# 1079#
1015# CONFIG_MMC_SDHCI is not set 1080# CONFIG_MMC_SDHCI is not set
1016# CONFIG_MMC_WBSD is not set 1081# CONFIG_MMC_WBSD is not set
1017CONFIG_MMC_PIKASD=y 1082# CONFIG_MMC_AT91 is not set
1083# CONFIG_MMC_ATMELMCI is not set
1018# CONFIG_MEMSTICK is not set 1084# CONFIG_MEMSTICK is not set
1019CONFIG_NEW_LEDS=y 1085CONFIG_NEW_LEDS=y
1020CONFIG_LEDS_CLASS=y 1086CONFIG_LEDS_CLASS=y
@@ -1025,9 +1091,10 @@ CONFIG_LEDS_CLASS=y
1025CONFIG_LEDS_GPIO=y 1091CONFIG_LEDS_GPIO=y
1026# CONFIG_LEDS_GPIO_PLATFORM is not set 1092# CONFIG_LEDS_GPIO_PLATFORM is not set
1027CONFIG_LEDS_GPIO_OF=y 1093CONFIG_LEDS_GPIO_OF=y
1028# CONFIG_LEDS_LP5521 is not set 1094# CONFIG_LEDS_LP3944 is not set
1029# CONFIG_LEDS_PCA955X is not set 1095# CONFIG_LEDS_PCA955X is not set
1030# CONFIG_LEDS_BD2802 is not set 1096# CONFIG_LEDS_BD2802 is not set
1097# CONFIG_LEDS_LT3593 is not set
1031 1098
1032# 1099#
1033# LED Triggers 1100# LED Triggers
@@ -1048,6 +1115,10 @@ CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
1048# CONFIG_DMADEVICES is not set 1115# CONFIG_DMADEVICES is not set
1049# CONFIG_AUXDISPLAY is not set 1116# CONFIG_AUXDISPLAY is not set
1050# CONFIG_UIO is not set 1117# CONFIG_UIO is not set
1118
1119#
1120# TI VLYNQ
1121#
1051# CONFIG_STAGING is not set 1122# CONFIG_STAGING is not set
1052 1123
1053# 1124#
@@ -1065,10 +1136,13 @@ CONFIG_JBD=y
1065# CONFIG_REISERFS_FS is not set 1136# CONFIG_REISERFS_FS is not set
1066# CONFIG_JFS_FS is not set 1137# CONFIG_JFS_FS is not set
1067# CONFIG_FS_POSIX_ACL is not set 1138# CONFIG_FS_POSIX_ACL is not set
1068CONFIG_FILE_LOCKING=y
1069# CONFIG_XFS_FS is not set 1139# CONFIG_XFS_FS is not set
1140# CONFIG_GFS2_FS is not set
1070# CONFIG_OCFS2_FS is not set 1141# CONFIG_OCFS2_FS is not set
1071# CONFIG_BTRFS_FS is not set 1142# CONFIG_BTRFS_FS is not set
1143# CONFIG_NILFS2_FS is not set
1144CONFIG_FILE_LOCKING=y
1145CONFIG_FSNOTIFY=y
1072CONFIG_DNOTIFY=y 1146CONFIG_DNOTIFY=y
1073CONFIG_INOTIFY=y 1147CONFIG_INOTIFY=y
1074CONFIG_INOTIFY_USER=y 1148CONFIG_INOTIFY_USER=y
@@ -1145,7 +1219,6 @@ CONFIG_CRAMFS=y
1145# CONFIG_ROMFS_FS is not set 1219# CONFIG_ROMFS_FS is not set
1146# CONFIG_SYSV_FS is not set 1220# CONFIG_SYSV_FS is not set
1147# CONFIG_UFS_FS is not set 1221# CONFIG_UFS_FS is not set
1148# CONFIG_NILFS2_FS is not set
1149CONFIG_NETWORK_FILESYSTEMS=y 1222CONFIG_NETWORK_FILESYSTEMS=y
1150CONFIG_NFS_FS=y 1223CONFIG_NFS_FS=y
1151CONFIG_NFS_V3=y 1224CONFIG_NFS_V3=y
@@ -1235,6 +1308,7 @@ CONFIG_HAS_IOPORT=y
1235CONFIG_HAS_DMA=y 1308CONFIG_HAS_DMA=y
1236CONFIG_HAVE_LMB=y 1309CONFIG_HAVE_LMB=y
1237CONFIG_NLATTR=y 1310CONFIG_NLATTR=y
1311CONFIG_GENERIC_ATOMIC64=y
1238 1312
1239# 1313#
1240# Kernel hacking 1314# Kernel hacking
@@ -1244,6 +1318,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
1244CONFIG_ENABLE_MUST_CHECK=y 1318CONFIG_ENABLE_MUST_CHECK=y
1245CONFIG_FRAME_WARN=1024 1319CONFIG_FRAME_WARN=1024
1246CONFIG_MAGIC_SYSRQ=y 1320CONFIG_MAGIC_SYSRQ=y
1321# CONFIG_STRIP_ASM_SYMS is not set
1247# CONFIG_UNUSED_SYMBOLS is not set 1322# CONFIG_UNUSED_SYMBOLS is not set
1248CONFIG_DEBUG_FS=y 1323CONFIG_DEBUG_FS=y
1249# CONFIG_HEADERS_CHECK is not set 1324# CONFIG_HEADERS_CHECK is not set
@@ -1261,10 +1336,14 @@ CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
1261# CONFIG_DEBUG_OBJECTS is not set 1336# CONFIG_DEBUG_OBJECTS is not set
1262# CONFIG_SLUB_DEBUG_ON is not set 1337# CONFIG_SLUB_DEBUG_ON is not set
1263# CONFIG_SLUB_STATS is not set 1338# CONFIG_SLUB_STATS is not set
1339# CONFIG_DEBUG_KMEMLEAK is not set
1264# CONFIG_DEBUG_RT_MUTEXES is not set 1340# CONFIG_DEBUG_RT_MUTEXES is not set
1265# CONFIG_RT_MUTEX_TESTER is not set 1341# CONFIG_RT_MUTEX_TESTER is not set
1266# CONFIG_DEBUG_SPINLOCK is not set 1342# CONFIG_DEBUG_SPINLOCK is not set
1267# CONFIG_DEBUG_MUTEXES is not set 1343# CONFIG_DEBUG_MUTEXES is not set
1344# CONFIG_DEBUG_LOCK_ALLOC is not set
1345# CONFIG_PROVE_LOCKING is not set
1346# CONFIG_LOCK_STAT is not set
1268# CONFIG_DEBUG_SPINLOCK_SLEEP is not set 1347# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1269# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set 1348# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1270# CONFIG_DEBUG_KOBJECT is not set 1349# CONFIG_DEBUG_KOBJECT is not set
@@ -1276,11 +1355,12 @@ CONFIG_DEBUG_INFO=y
1276# CONFIG_DEBUG_LIST is not set 1355# CONFIG_DEBUG_LIST is not set
1277# CONFIG_DEBUG_SG is not set 1356# CONFIG_DEBUG_SG is not set
1278# CONFIG_DEBUG_NOTIFIERS is not set 1357# CONFIG_DEBUG_NOTIFIERS is not set
1279# CONFIG_BOOT_PRINTK_DELAY is not set 1358# CONFIG_DEBUG_CREDENTIALS is not set
1280# CONFIG_RCU_TORTURE_TEST is not set 1359# CONFIG_RCU_TORTURE_TEST is not set
1281# CONFIG_RCU_CPU_STALL_DETECTOR is not set 1360# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1282# CONFIG_BACKTRACE_SELF_TEST is not set 1361# CONFIG_BACKTRACE_SELF_TEST is not set
1283# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set 1362# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1363# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
1284# CONFIG_FAULT_INJECTION is not set 1364# CONFIG_FAULT_INJECTION is not set
1285# CONFIG_LATENCYTOP is not set 1365# CONFIG_LATENCYTOP is not set
1286CONFIG_SYSCTL_SYSCALL_CHECK=y 1366CONFIG_SYSCTL_SYSCALL_CHECK=y
@@ -1290,27 +1370,30 @@ CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
1290CONFIG_HAVE_DYNAMIC_FTRACE=y 1370CONFIG_HAVE_DYNAMIC_FTRACE=y
1291CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 1371CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1292CONFIG_TRACING_SUPPORT=y 1372CONFIG_TRACING_SUPPORT=y
1293 1373CONFIG_FTRACE=y
1294#
1295# Tracers
1296#
1297# CONFIG_FUNCTION_TRACER is not set 1374# CONFIG_FUNCTION_TRACER is not set
1375# CONFIG_IRQSOFF_TRACER is not set
1298# CONFIG_SCHED_TRACER is not set 1376# CONFIG_SCHED_TRACER is not set
1299# CONFIG_CONTEXT_SWITCH_TRACER is not set 1377# CONFIG_ENABLE_DEFAULT_TRACERS is not set
1300# CONFIG_EVENT_TRACER is not set
1301# CONFIG_BOOT_TRACER is not set 1378# CONFIG_BOOT_TRACER is not set
1302# CONFIG_TRACE_BRANCH_PROFILING is not set 1379CONFIG_BRANCH_PROFILE_NONE=y
1380# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
1381# CONFIG_PROFILE_ALL_BRANCHES is not set
1303# CONFIG_STACK_TRACER is not set 1382# CONFIG_STACK_TRACER is not set
1304# CONFIG_KMEMTRACE is not set 1383# CONFIG_KMEMTRACE is not set
1305# CONFIG_WORKQUEUE_TRACER is not set 1384# CONFIG_WORKQUEUE_TRACER is not set
1306# CONFIG_BLK_DEV_IO_TRACE is not set 1385# CONFIG_BLK_DEV_IO_TRACE is not set
1307# CONFIG_DYNAMIC_DEBUG is not set 1386# CONFIG_DYNAMIC_DEBUG is not set
1387# CONFIG_DMA_API_DEBUG is not set
1308# CONFIG_SAMPLES is not set 1388# CONFIG_SAMPLES is not set
1309CONFIG_HAVE_ARCH_KGDB=y 1389CONFIG_HAVE_ARCH_KGDB=y
1310# CONFIG_KGDB is not set 1390# CONFIG_KGDB is not set
1391# CONFIG_PPC_DISABLE_WERROR is not set
1392CONFIG_PPC_WERROR=y
1311CONFIG_PRINT_STACK_DEPTH=64 1393CONFIG_PRINT_STACK_DEPTH=64
1312# CONFIG_DEBUG_STACKOVERFLOW is not set 1394# CONFIG_DEBUG_STACKOVERFLOW is not set
1313# CONFIG_DEBUG_STACK_USAGE is not set 1395# CONFIG_DEBUG_STACK_USAGE is not set
1396# CONFIG_PPC_EMULATED_STATS is not set
1314# CONFIG_CODE_PATCHING_SELFTEST is not set 1397# CONFIG_CODE_PATCHING_SELFTEST is not set
1315# CONFIG_FTR_FIXUP_SELFTEST is not set 1398# CONFIG_FTR_FIXUP_SELFTEST is not set
1316# CONFIG_MSI_BITMAP_SELFTEST is not set 1399# CONFIG_MSI_BITMAP_SELFTEST is not set
@@ -1326,13 +1409,16 @@ CONFIG_IRQSTACKS=y
1326# CONFIG_KEYS is not set 1409# CONFIG_KEYS is not set
1327# CONFIG_SECURITY is not set 1410# CONFIG_SECURITY is not set
1328# CONFIG_SECURITYFS is not set 1411# CONFIG_SECURITYFS is not set
1329# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1412# CONFIG_DEFAULT_SECURITY_SELINUX is not set
1413# CONFIG_DEFAULT_SECURITY_SMACK is not set
1414# CONFIG_DEFAULT_SECURITY_TOMOYO is not set
1415CONFIG_DEFAULT_SECURITY_DAC=y
1416CONFIG_DEFAULT_SECURITY=""
1330CONFIG_CRYPTO=y 1417CONFIG_CRYPTO=y
1331 1418
1332# 1419#
1333# Crypto core or helper 1420# Crypto core or helper
1334# 1421#
1335# CONFIG_CRYPTO_FIPS is not set
1336CONFIG_CRYPTO_ALGAPI=y 1422CONFIG_CRYPTO_ALGAPI=y
1337CONFIG_CRYPTO_ALGAPI2=y 1423CONFIG_CRYPTO_ALGAPI2=y
1338# CONFIG_CRYPTO_MANAGER is not set 1424# CONFIG_CRYPTO_MANAGER is not set
@@ -1366,11 +1452,13 @@ CONFIG_CRYPTO_ALGAPI2=y
1366# 1452#
1367# CONFIG_CRYPTO_HMAC is not set 1453# CONFIG_CRYPTO_HMAC is not set
1368# CONFIG_CRYPTO_XCBC is not set 1454# CONFIG_CRYPTO_XCBC is not set
1455# CONFIG_CRYPTO_VMAC is not set
1369 1456
1370# 1457#
1371# Digest 1458# Digest
1372# 1459#
1373# CONFIG_CRYPTO_CRC32C is not set 1460# CONFIG_CRYPTO_CRC32C is not set
1461# CONFIG_CRYPTO_GHASH is not set
1374# CONFIG_CRYPTO_MD4 is not set 1462# CONFIG_CRYPTO_MD4 is not set
1375# CONFIG_CRYPTO_MD5 is not set 1463# CONFIG_CRYPTO_MD5 is not set
1376# CONFIG_CRYPTO_MICHAEL_MIC is not set 1464# CONFIG_CRYPTO_MICHAEL_MIC is not set
diff --git a/arch/powerpc/configs/52xx/cm5200_defconfig b/arch/powerpc/configs/52xx/cm5200_defconfig
index ff9bdb28197d..7664c83c17c2 100644
--- a/arch/powerpc/configs/52xx/cm5200_defconfig
+++ b/arch/powerpc/configs/52xx/cm5200_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-rc2 3# Linux kernel version: 2.6.34-rc1
4# Wed Dec 30 14:45:07 2009 4# Wed Mar 10 14:34:22 2010
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -94,14 +94,8 @@ CONFIG_RCU_FANOUT=32
94# CONFIG_TREE_RCU_TRACE is not set 94# CONFIG_TREE_RCU_TRACE is not set
95# CONFIG_IKCONFIG is not set 95# CONFIG_IKCONFIG is not set
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 98# CONFIG_SYSFS_DEPRECATED_V2 is not set
104CONFIG_SYSFS_DEPRECATED_V2=y
105# CONFIG_RELAY is not set 99# CONFIG_RELAY is not set
106# CONFIG_NAMESPACES is not set 100# CONFIG_NAMESPACES is not set
107CONFIG_BLK_DEV_INITRD=y 101CONFIG_BLK_DEV_INITRD=y
@@ -109,6 +103,7 @@ CONFIG_INITRAMFS_SOURCE=""
109CONFIG_RD_GZIP=y 103CONFIG_RD_GZIP=y
110# CONFIG_RD_BZIP2 is not set 104# CONFIG_RD_BZIP2 is not set
111# CONFIG_RD_LZMA is not set 105# CONFIG_RD_LZMA is not set
106# CONFIG_RD_LZO is not set
112# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 107# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
113CONFIG_SYSCTL=y 108CONFIG_SYSCTL=y
114CONFIG_ANON_INODES=y 109CONFIG_ANON_INODES=y
@@ -340,7 +335,6 @@ CONFIG_NET=y
340# Networking options 335# Networking options
341# 336#
342CONFIG_PACKET=y 337CONFIG_PACKET=y
343# CONFIG_PACKET_MMAP is not set
344CONFIG_UNIX=y 338CONFIG_UNIX=y
345CONFIG_XFRM=y 339CONFIG_XFRM=y
346CONFIG_XFRM_USER=y 340CONFIG_XFRM_USER=y
@@ -517,6 +511,8 @@ CONFIG_MTD_PHYSMAP_OF=y
517# UBI - Unsorted block images 511# UBI - Unsorted block images
518# 512#
519# CONFIG_MTD_UBI is not set 513# CONFIG_MTD_UBI is not set
514CONFIG_OF_FLATTREE=y
515CONFIG_OF_DYNAMIC=y
520CONFIG_OF_DEVICE=y 516CONFIG_OF_DEVICE=y
521CONFIG_OF_I2C=y 517CONFIG_OF_I2C=y
522CONFIG_OF_MDIO=y 518CONFIG_OF_MDIO=y
@@ -684,6 +680,7 @@ CONFIG_SERIAL_CORE_CONSOLE=y
684CONFIG_SERIAL_MPC52xx=y 680CONFIG_SERIAL_MPC52xx=y
685CONFIG_SERIAL_MPC52xx_CONSOLE=y 681CONFIG_SERIAL_MPC52xx_CONSOLE=y
686CONFIG_SERIAL_MPC52xx_CONSOLE_BAUD=57600 682CONFIG_SERIAL_MPC52xx_CONSOLE_BAUD=57600
683# CONFIG_SERIAL_TIMBERDALE is not set
687# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set 684# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set
688CONFIG_UNIX98_PTYS=y 685CONFIG_UNIX98_PTYS=y
689# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set 686# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
@@ -714,6 +711,7 @@ CONFIG_I2C_HELPER_AUTO=y
714CONFIG_I2C_MPC=y 711CONFIG_I2C_MPC=y
715# CONFIG_I2C_OCORES is not set 712# CONFIG_I2C_OCORES is not set
716# CONFIG_I2C_SIMTEC is not set 713# CONFIG_I2C_SIMTEC is not set
714# CONFIG_I2C_XILINX is not set
717 715
718# 716#
719# External I2C/SMBus adapter drivers 717# External I2C/SMBus adapter drivers
@@ -754,6 +752,7 @@ CONFIG_WATCHDOG=y
754# Watchdog Device Drivers 752# Watchdog Device Drivers
755# 753#
756# CONFIG_SOFT_WATCHDOG is not set 754# CONFIG_SOFT_WATCHDOG is not set
755# CONFIG_MAX63XX_WATCHDOG is not set
757# CONFIG_MPC5200_WDT is not set 756# CONFIG_MPC5200_WDT is not set
758 757
759# 758#
@@ -771,18 +770,20 @@ CONFIG_SSB_POSSIBLE=y
771# Multifunction device drivers 770# Multifunction device drivers
772# 771#
773# CONFIG_MFD_CORE is not set 772# CONFIG_MFD_CORE is not set
773# CONFIG_MFD_88PM860X is not set
774# CONFIG_MFD_SM501 is not set 774# CONFIG_MFD_SM501 is not set
775# CONFIG_HTC_PASIC3 is not set 775# CONFIG_HTC_PASIC3 is not set
776# CONFIG_TWL4030_CORE is not set 776# CONFIG_TWL4030_CORE is not set
777# CONFIG_MFD_TMIO is not set 777# CONFIG_MFD_TMIO is not set
778# CONFIG_PMIC_DA903X is not set 778# CONFIG_PMIC_DA903X is not set
779# CONFIG_PMIC_ADP5520 is not set 779# CONFIG_PMIC_ADP5520 is not set
780# CONFIG_MFD_MAX8925 is not set
780# CONFIG_MFD_WM8400 is not set 781# CONFIG_MFD_WM8400 is not set
781# CONFIG_MFD_WM831X is not set 782# CONFIG_MFD_WM831X is not set
782# CONFIG_MFD_WM8350_I2C is not set 783# CONFIG_MFD_WM8350_I2C is not set
784# CONFIG_MFD_WM8994 is not set
783# CONFIG_MFD_PCF50633 is not set 785# CONFIG_MFD_PCF50633 is not set
784# CONFIG_AB3100_CORE is not set 786# CONFIG_AB3100_CORE is not set
785# CONFIG_MFD_88PM8607 is not set
786# CONFIG_REGULATOR is not set 787# CONFIG_REGULATOR is not set
787# CONFIG_MEDIA_SUPPORT is not set 788# CONFIG_MEDIA_SUPPORT is not set
788 789
@@ -813,7 +814,6 @@ CONFIG_USB=y
813CONFIG_USB_DEVICEFS=y 814CONFIG_USB_DEVICEFS=y
814# CONFIG_USB_DEVICE_CLASS is not set 815# CONFIG_USB_DEVICE_CLASS is not set
815# CONFIG_USB_DYNAMIC_MINORS is not set 816# CONFIG_USB_DYNAMIC_MINORS is not set
816# CONFIG_USB_SUSPEND is not set
817# CONFIG_USB_OTG is not set 817# CONFIG_USB_OTG is not set
818# CONFIG_USB_OTG_WHITELIST is not set 818# CONFIG_USB_OTG_WHITELIST is not set
819# CONFIG_USB_OTG_BLACKLIST_HUB is not set 819# CONFIG_USB_OTG_BLACKLIST_HUB is not set
@@ -891,7 +891,6 @@ CONFIG_USB_STORAGE=y
891# CONFIG_USB_RIO500 is not set 891# CONFIG_USB_RIO500 is not set
892# CONFIG_USB_LEGOTOWER is not set 892# CONFIG_USB_LEGOTOWER is not set
893# CONFIG_USB_LCD is not set 893# CONFIG_USB_LCD is not set
894# CONFIG_USB_BERRY_CHARGE is not set
895# CONFIG_USB_LED is not set 894# CONFIG_USB_LED is not set
896# CONFIG_USB_CYPRESS_CY7C63 is not set 895# CONFIG_USB_CYPRESS_CY7C63 is not set
897# CONFIG_USB_CYTHERM is not set 896# CONFIG_USB_CYTHERM is not set
@@ -903,7 +902,6 @@ CONFIG_USB_STORAGE=y
903# CONFIG_USB_IOWARRIOR is not set 902# CONFIG_USB_IOWARRIOR is not set
904# CONFIG_USB_TEST is not set 903# CONFIG_USB_TEST is not set
905# CONFIG_USB_ISIGHTFW is not set 904# CONFIG_USB_ISIGHTFW is not set
906# CONFIG_USB_VST is not set
907# CONFIG_USB_GADGET is not set 905# CONFIG_USB_GADGET is not set
908 906
909# 907#
@@ -1009,6 +1007,7 @@ CONFIG_JFFS2_ZLIB=y
1009# CONFIG_JFFS2_LZO is not set 1007# CONFIG_JFFS2_LZO is not set
1010CONFIG_JFFS2_RTIME=y 1008CONFIG_JFFS2_RTIME=y
1011# CONFIG_JFFS2_RUBIN is not set 1009# CONFIG_JFFS2_RUBIN is not set
1010# CONFIG_LOGFS is not set
1012CONFIG_CRAMFS=y 1011CONFIG_CRAMFS=y
1013# CONFIG_SQUASHFS is not set 1012# CONFIG_SQUASHFS is not set
1014# CONFIG_VXFS_FS is not set 1013# CONFIG_VXFS_FS is not set
diff --git a/arch/powerpc/configs/52xx/lite5200b_defconfig b/arch/powerpc/configs/52xx/lite5200b_defconfig
index 7b3f4d0ed404..eac7c17eef34 100644
--- a/arch/powerpc/configs/52xx/lite5200b_defconfig
+++ b/arch/powerpc/configs/52xx/lite5200b_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-rc2 3# Linux kernel version: 2.6.34-rc1
4# Wed Dec 30 14:45:09 2009 4# Wed Mar 10 14:34:24 2010
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -95,14 +95,8 @@ CONFIG_RCU_FANOUT=32
95# CONFIG_TREE_RCU_TRACE is not set 95# CONFIG_TREE_RCU_TRACE is not set
96# CONFIG_IKCONFIG is not set 96# CONFIG_IKCONFIG is not set
97CONFIG_LOG_BUF_SHIFT=14 97CONFIG_LOG_BUF_SHIFT=14
98CONFIG_GROUP_SCHED=y
99# CONFIG_FAIR_GROUP_SCHED is not set
100# CONFIG_RT_GROUP_SCHED is not set
101CONFIG_USER_SCHED=y
102# CONFIG_CGROUP_SCHED is not set
103# CONFIG_CGROUPS is not set 98# CONFIG_CGROUPS is not set
104CONFIG_SYSFS_DEPRECATED=y 99# CONFIG_SYSFS_DEPRECATED_V2 is not set
105CONFIG_SYSFS_DEPRECATED_V2=y
106# CONFIG_RELAY is not set 100# CONFIG_RELAY is not set
107# CONFIG_NAMESPACES is not set 101# CONFIG_NAMESPACES is not set
108CONFIG_BLK_DEV_INITRD=y 102CONFIG_BLK_DEV_INITRD=y
@@ -110,6 +104,7 @@ CONFIG_INITRAMFS_SOURCE=""
110CONFIG_RD_GZIP=y 104CONFIG_RD_GZIP=y
111# CONFIG_RD_BZIP2 is not set 105# CONFIG_RD_BZIP2 is not set
112# CONFIG_RD_LZMA is not set 106# CONFIG_RD_LZMA is not set
107# CONFIG_RD_LZO is not set
113# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 108# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
114CONFIG_SYSCTL=y 109CONFIG_SYSCTL=y
115CONFIG_ANON_INODES=y 110CONFIG_ANON_INODES=y
@@ -317,6 +312,7 @@ CONFIG_SUSPEND=y
317CONFIG_SUSPEND_FREEZER=y 312CONFIG_SUSPEND_FREEZER=y
318# CONFIG_HIBERNATION is not set 313# CONFIG_HIBERNATION is not set
319# CONFIG_PM_RUNTIME is not set 314# CONFIG_PM_RUNTIME is not set
315CONFIG_PM_OPS=y
320CONFIG_SECCOMP=y 316CONFIG_SECCOMP=y
321CONFIG_ISA_DMA_API=y 317CONFIG_ISA_DMA_API=y
322 318
@@ -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
336CONFIG_PCI_LEGACY=y
337# CONFIG_PCI_DEBUG is not set 332# CONFIG_PCI_DEBUG 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
@@ -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
366CONFIG_XFRM_USER=m 360CONFIG_XFRM_USER=m
@@ -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
@@ -631,6 +627,7 @@ CONFIG_ATA_SFF=y
631# CONFIG_PATA_IT821X is not set 627# CONFIG_PATA_IT821X is not set
632# CONFIG_PATA_IT8213 is not set 628# CONFIG_PATA_IT8213 is not set
633# CONFIG_PATA_JMICRON is not set 629# CONFIG_PATA_JMICRON is not set
630# CONFIG_PATA_LEGACY is not set
634# CONFIG_PATA_TRIFLEX is not set 631# CONFIG_PATA_TRIFLEX is not set
635# CONFIG_PATA_MARVELL is not set 632# CONFIG_PATA_MARVELL is not set
636CONFIG_PATA_MPC52xx=y 633CONFIG_PATA_MPC52xx=y
@@ -668,7 +665,7 @@ CONFIG_PATA_MPC52xx=y
668# 665#
669 666
670# 667#
671# See the help texts for more information. 668# The newer stack is recommended.
672# 669#
673# CONFIG_FIREWIRE is not set 670# CONFIG_FIREWIRE is not set
674# CONFIG_IEEE1394 is not set 671# CONFIG_IEEE1394 is not set
@@ -768,6 +765,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
768# CONFIG_MLX4_CORE is not set 765# CONFIG_MLX4_CORE is not set
769# CONFIG_TEHUTI is not set 766# CONFIG_TEHUTI is not set
770# CONFIG_BNX2X is not set 767# CONFIG_BNX2X is not set
768# CONFIG_QLCNIC is not set
771# CONFIG_QLGE is not set 769# CONFIG_QLGE is not set
772# CONFIG_SFC is not set 770# CONFIG_SFC is not set
773# CONFIG_BE2NET is not set 771# CONFIG_BE2NET is not set
@@ -828,6 +826,7 @@ CONFIG_SERIAL_MPC52xx=y
828CONFIG_SERIAL_MPC52xx_CONSOLE=y 826CONFIG_SERIAL_MPC52xx_CONSOLE=y
829CONFIG_SERIAL_MPC52xx_CONSOLE_BAUD=115200 827CONFIG_SERIAL_MPC52xx_CONSOLE_BAUD=115200
830# CONFIG_SERIAL_JSM is not set 828# CONFIG_SERIAL_JSM is not set
829# CONFIG_SERIAL_TIMBERDALE is not set
831# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set 830# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set
832CONFIG_UNIX98_PTYS=y 831CONFIG_UNIX98_PTYS=y
833# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set 832# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
@@ -879,6 +878,7 @@ CONFIG_I2C_HELPER_AUTO=y
879CONFIG_I2C_MPC=y 878CONFIG_I2C_MPC=y
880# CONFIG_I2C_OCORES is not set 879# CONFIG_I2C_OCORES is not set
881# CONFIG_I2C_SIMTEC is not set 880# CONFIG_I2C_SIMTEC is not set
881# CONFIG_I2C_XILINX is not set
882 882
883# 883#
884# External I2C/SMBus adapter drivers 884# External I2C/SMBus adapter drivers
@@ -924,18 +924,21 @@ CONFIG_SSB_POSSIBLE=y
924# Multifunction device drivers 924# Multifunction device drivers
925# 925#
926# CONFIG_MFD_CORE is not set 926# CONFIG_MFD_CORE is not set
927# CONFIG_MFD_88PM860X is not set
927# CONFIG_MFD_SM501 is not set 928# CONFIG_MFD_SM501 is not set
928# CONFIG_HTC_PASIC3 is not set 929# CONFIG_HTC_PASIC3 is not set
929# CONFIG_TWL4030_CORE is not set 930# CONFIG_TWL4030_CORE is not set
930# CONFIG_MFD_TMIO is not set 931# CONFIG_MFD_TMIO is not set
931# CONFIG_PMIC_DA903X is not set 932# CONFIG_PMIC_DA903X is not set
932# CONFIG_PMIC_ADP5520 is not set 933# CONFIG_PMIC_ADP5520 is not set
934# CONFIG_MFD_MAX8925 is not set
933# CONFIG_MFD_WM8400 is not set 935# CONFIG_MFD_WM8400 is not set
934# CONFIG_MFD_WM831X is not set 936# CONFIG_MFD_WM831X is not set
935# CONFIG_MFD_WM8350_I2C is not set 937# CONFIG_MFD_WM8350_I2C is not set
938# CONFIG_MFD_WM8994 is not set
936# CONFIG_MFD_PCF50633 is not set 939# CONFIG_MFD_PCF50633 is not set
937# CONFIG_AB3100_CORE is not set 940# CONFIG_AB3100_CORE is not set
938# CONFIG_MFD_88PM8607 is not set 941# CONFIG_LPC_SCH is not set
939# CONFIG_REGULATOR is not set 942# CONFIG_REGULATOR is not set
940# CONFIG_MEDIA_SUPPORT is not set 943# CONFIG_MEDIA_SUPPORT is not set
941 944
@@ -944,6 +947,7 @@ CONFIG_SSB_POSSIBLE=y
944# 947#
945# CONFIG_AGP is not set 948# CONFIG_AGP is not set
946CONFIG_VGA_ARB=y 949CONFIG_VGA_ARB=y
950CONFIG_VGA_ARB_MAX_GPUS=16
947# CONFIG_DRM is not set 951# CONFIG_DRM is not set
948# CONFIG_VGASTATE is not set 952# CONFIG_VGASTATE is not set
949CONFIG_VIDEO_OUTPUT_CONTROL=m 953CONFIG_VIDEO_OUTPUT_CONTROL=m
@@ -1062,6 +1066,7 @@ CONFIG_MISC_FILESYSTEMS=y
1062# CONFIG_BEFS_FS is not set 1066# CONFIG_BEFS_FS is not set
1063# CONFIG_BFS_FS is not set 1067# CONFIG_BFS_FS is not set
1064# CONFIG_EFS_FS is not set 1068# CONFIG_EFS_FS is not set
1069# CONFIG_LOGFS is not set
1065# CONFIG_CRAMFS is not set 1070# CONFIG_CRAMFS is not set
1066# CONFIG_SQUASHFS is not set 1071# CONFIG_SQUASHFS is not set
1067# CONFIG_VXFS_FS is not set 1072# CONFIG_VXFS_FS is not set
diff --git a/arch/powerpc/configs/52xx/motionpro_defconfig b/arch/powerpc/configs/52xx/motionpro_defconfig
index eaae2d469aa0..27afb6ecdf61 100644
--- a/arch/powerpc/configs/52xx/motionpro_defconfig
+++ b/arch/powerpc/configs/52xx/motionpro_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-rc2 3# Linux kernel version: 2.6.34-rc1
4# Wed Dec 30 14:45:08 2009 4# Wed Mar 10 14:34:23 2010
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -94,14 +94,8 @@ CONFIG_RCU_FANOUT=32
94# CONFIG_TREE_RCU_TRACE is not set 94# CONFIG_TREE_RCU_TRACE is not set
95# CONFIG_IKCONFIG is not set 95# CONFIG_IKCONFIG is not set
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 98# CONFIG_SYSFS_DEPRECATED_V2 is not set
104CONFIG_SYSFS_DEPRECATED_V2=y
105# CONFIG_RELAY is not set 99# CONFIG_RELAY is not set
106# CONFIG_NAMESPACES is not set 100# CONFIG_NAMESPACES is not set
107CONFIG_BLK_DEV_INITRD=y 101CONFIG_BLK_DEV_INITRD=y
@@ -109,6 +103,7 @@ CONFIG_INITRAMFS_SOURCE=""
109CONFIG_RD_GZIP=y 103CONFIG_RD_GZIP=y
110# CONFIG_RD_BZIP2 is not set 104# CONFIG_RD_BZIP2 is not set
111# CONFIG_RD_LZMA is not set 105# CONFIG_RD_LZMA is not set
106# CONFIG_RD_LZO is not set
112# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 107# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
113CONFIG_SYSCTL=y 108CONFIG_SYSCTL=y
114CONFIG_ANON_INODES=y 109CONFIG_ANON_INODES=y
@@ -341,7 +336,6 @@ CONFIG_NET=y
341# Networking options 336# Networking options
342# 337#
343CONFIG_PACKET=y 338CONFIG_PACKET=y
344# CONFIG_PACKET_MMAP is not set
345CONFIG_UNIX=y 339CONFIG_UNIX=y
346CONFIG_XFRM=y 340CONFIG_XFRM=y
347CONFIG_XFRM_USER=y 341CONFIG_XFRM_USER=y
@@ -518,6 +512,8 @@ CONFIG_MTD_ROM=y
518# UBI - Unsorted block images 512# UBI - Unsorted block images
519# 513#
520# CONFIG_MTD_UBI is not set 514# CONFIG_MTD_UBI is not set
515CONFIG_OF_FLATTREE=y
516CONFIG_OF_DYNAMIC=y
521CONFIG_OF_DEVICE=y 517CONFIG_OF_DEVICE=y
522CONFIG_OF_I2C=y 518CONFIG_OF_I2C=y
523CONFIG_OF_MDIO=y 519CONFIG_OF_MDIO=y
@@ -699,6 +695,7 @@ CONFIG_SERIAL_CORE_CONSOLE=y
699CONFIG_SERIAL_MPC52xx=y 695CONFIG_SERIAL_MPC52xx=y
700CONFIG_SERIAL_MPC52xx_CONSOLE=y 696CONFIG_SERIAL_MPC52xx_CONSOLE=y
701CONFIG_SERIAL_MPC52xx_CONSOLE_BAUD=115200 697CONFIG_SERIAL_MPC52xx_CONSOLE_BAUD=115200
698# CONFIG_SERIAL_TIMBERDALE is not set
702# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set 699# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set
703CONFIG_UNIX98_PTYS=y 700CONFIG_UNIX98_PTYS=y
704# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set 701# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
@@ -728,6 +725,7 @@ CONFIG_I2C_HELPER_AUTO=y
728CONFIG_I2C_MPC=y 725CONFIG_I2C_MPC=y
729# CONFIG_I2C_OCORES is not set 726# CONFIG_I2C_OCORES is not set
730# CONFIG_I2C_SIMTEC is not set 727# CONFIG_I2C_SIMTEC is not set
728# CONFIG_I2C_XILINX is not set
731 729
732# 730#
733# External I2C/SMBus adapter drivers 731# External I2C/SMBus adapter drivers
@@ -773,10 +771,11 @@ CONFIG_HWMON=y
773# CONFIG_SENSORS_ADM1029 is not set 771# CONFIG_SENSORS_ADM1029 is not set
774# CONFIG_SENSORS_ADM1031 is not set 772# CONFIG_SENSORS_ADM1031 is not set
775# CONFIG_SENSORS_ADM9240 is not set 773# CONFIG_SENSORS_ADM9240 is not set
774# CONFIG_SENSORS_ADT7411 is not set
776# CONFIG_SENSORS_ADT7462 is not set 775# CONFIG_SENSORS_ADT7462 is not set
777# CONFIG_SENSORS_ADT7470 is not set 776# CONFIG_SENSORS_ADT7470 is not set
778# CONFIG_SENSORS_ADT7473 is not set
779# CONFIG_SENSORS_ADT7475 is not set 777# CONFIG_SENSORS_ADT7475 is not set
778# CONFIG_SENSORS_ASC7621 is not set
780# CONFIG_SENSORS_ATXP1 is not set 779# CONFIG_SENSORS_ATXP1 is not set
781# CONFIG_SENSORS_DS1621 is not set 780# CONFIG_SENSORS_DS1621 is not set
782# CONFIG_SENSORS_F71805F is not set 781# CONFIG_SENSORS_F71805F is not set
@@ -811,6 +810,7 @@ CONFIG_HWMON=y
811# CONFIG_SENSORS_SMSC47M192 is not set 810# CONFIG_SENSORS_SMSC47M192 is not set
812# CONFIG_SENSORS_SMSC47B397 is not set 811# CONFIG_SENSORS_SMSC47B397 is not set
813# CONFIG_SENSORS_ADS7828 is not set 812# CONFIG_SENSORS_ADS7828 is not set
813# CONFIG_SENSORS_AMC6821 is not set
814# CONFIG_SENSORS_THMC50 is not set 814# CONFIG_SENSORS_THMC50 is not set
815# CONFIG_SENSORS_TMP401 is not set 815# CONFIG_SENSORS_TMP401 is not set
816# CONFIG_SENSORS_TMP421 is not set 816# CONFIG_SENSORS_TMP421 is not set
@@ -831,6 +831,7 @@ CONFIG_WATCHDOG=y
831# Watchdog Device Drivers 831# Watchdog Device Drivers
832# 832#
833# CONFIG_SOFT_WATCHDOG is not set 833# CONFIG_SOFT_WATCHDOG is not set
834# CONFIG_MAX63XX_WATCHDOG is not set
834# CONFIG_MPC5200_WDT is not set 835# CONFIG_MPC5200_WDT is not set
835CONFIG_SSB_POSSIBLE=y 836CONFIG_SSB_POSSIBLE=y
836 837
@@ -843,18 +844,20 @@ CONFIG_SSB_POSSIBLE=y
843# Multifunction device drivers 844# Multifunction device drivers
844# 845#
845# CONFIG_MFD_CORE is not set 846# CONFIG_MFD_CORE is not set
847# CONFIG_MFD_88PM860X is not set
846# CONFIG_MFD_SM501 is not set 848# CONFIG_MFD_SM501 is not set
847# CONFIG_HTC_PASIC3 is not set 849# CONFIG_HTC_PASIC3 is not set
848# CONFIG_TWL4030_CORE is not set 850# CONFIG_TWL4030_CORE is not set
849# CONFIG_MFD_TMIO is not set 851# CONFIG_MFD_TMIO is not set
850# CONFIG_PMIC_DA903X is not set 852# CONFIG_PMIC_DA903X is not set
851# CONFIG_PMIC_ADP5520 is not set 853# CONFIG_PMIC_ADP5520 is not set
854# CONFIG_MFD_MAX8925 is not set
852# CONFIG_MFD_WM8400 is not set 855# CONFIG_MFD_WM8400 is not set
853# CONFIG_MFD_WM831X is not set 856# CONFIG_MFD_WM831X is not set
854# CONFIG_MFD_WM8350_I2C is not set 857# CONFIG_MFD_WM8350_I2C is not set
858# CONFIG_MFD_WM8994 is not set
855# CONFIG_MFD_PCF50633 is not set 859# CONFIG_MFD_PCF50633 is not set
856# CONFIG_AB3100_CORE is not set 860# CONFIG_AB3100_CORE is not set
857# CONFIG_MFD_88PM8607 is not set
858# CONFIG_REGULATOR is not set 861# CONFIG_REGULATOR is not set
859# CONFIG_MEDIA_SUPPORT is not set 862# CONFIG_MEDIA_SUPPORT is not set
860 863
@@ -1050,6 +1053,7 @@ CONFIG_JFFS2_ZLIB=y
1050# CONFIG_JFFS2_LZO is not set 1053# CONFIG_JFFS2_LZO is not set
1051CONFIG_JFFS2_RTIME=y 1054CONFIG_JFFS2_RTIME=y
1052# CONFIG_JFFS2_RUBIN is not set 1055# CONFIG_JFFS2_RUBIN is not set
1056# CONFIG_LOGFS is not set
1053CONFIG_CRAMFS=y 1057CONFIG_CRAMFS=y
1054# CONFIG_SQUASHFS is not set 1058# CONFIG_SQUASHFS is not set
1055# CONFIG_VXFS_FS is not set 1059# CONFIG_VXFS_FS is not set
diff --git a/arch/powerpc/configs/52xx/pcm030_defconfig b/arch/powerpc/configs/52xx/pcm030_defconfig
index 1742c0200b75..5fe39ddb4e14 100644
--- a/arch/powerpc/configs/52xx/pcm030_defconfig
+++ b/arch/powerpc/configs/52xx/pcm030_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-rc2 3# Linux kernel version: 2.6.34-rc1
4# Wed Dec 30 14:45:10 2009 4# Wed Mar 10 14:34:25 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
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
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
110# CONFIG_BLK_DEV_INITRD is not set 104# CONFIG_BLK_DEV_INITRD is not set
@@ -326,7 +320,6 @@ CONFIG_PCI_SYSCALL=y
326# CONFIG_PCIEPORTBUS is not set 320# CONFIG_PCIEPORTBUS is not set
327CONFIG_ARCH_SUPPORTS_MSI=y 321CONFIG_ARCH_SUPPORTS_MSI=y
328# CONFIG_PCI_MSI is not set 322# CONFIG_PCI_MSI is not set
329CONFIG_PCI_LEGACY=y
330# CONFIG_PCI_STUB is not set 323# CONFIG_PCI_STUB is not set
331# CONFIG_PCI_IOV is not set 324# CONFIG_PCI_IOV is not set
332# CONFIG_PCCARD is not set 325# CONFIG_PCCARD is not set
@@ -352,7 +345,6 @@ CONFIG_NET=y
352# Networking options 345# Networking options
353# 346#
354CONFIG_PACKET=y 347CONFIG_PACKET=y
355# CONFIG_PACKET_MMAP is not set
356CONFIG_UNIX=y 348CONFIG_UNIX=y
357# CONFIG_NET_KEY is not set 349# CONFIG_NET_KEY is not set
358CONFIG_INET=y 350CONFIG_INET=y
@@ -525,6 +517,8 @@ CONFIG_MTD_PHYSMAP=y
525# UBI - Unsorted block images 517# UBI - Unsorted block images
526# 518#
527# CONFIG_MTD_UBI is not set 519# CONFIG_MTD_UBI is not set
520CONFIG_OF_FLATTREE=y
521CONFIG_OF_DYNAMIC=y
528CONFIG_OF_DEVICE=y 522CONFIG_OF_DEVICE=y
529CONFIG_OF_I2C=y 523CONFIG_OF_I2C=y
530CONFIG_OF_MDIO=y 524CONFIG_OF_MDIO=y
@@ -610,6 +604,7 @@ CONFIG_ATA_SFF=y
610# CONFIG_PATA_IT821X is not set 604# CONFIG_PATA_IT821X is not set
611# CONFIG_PATA_IT8213 is not set 605# CONFIG_PATA_IT8213 is not set
612# CONFIG_PATA_JMICRON is not set 606# CONFIG_PATA_JMICRON is not set
607# CONFIG_PATA_LEGACY is not set
613# CONFIG_PATA_TRIFLEX is not set 608# CONFIG_PATA_TRIFLEX is not set
614# CONFIG_PATA_MARVELL is not set 609# CONFIG_PATA_MARVELL is not set
615CONFIG_PATA_MPC52xx=m 610CONFIG_PATA_MPC52xx=m
@@ -647,7 +642,7 @@ CONFIG_PATA_MPC52xx=m
647# 642#
648 643
649# 644#
650# See the help texts for more information. 645# The newer stack is recommended.
651# 646#
652# CONFIG_FIREWIRE is not set 647# CONFIG_FIREWIRE is not set
653# CONFIG_IEEE1394 is not set 648# CONFIG_IEEE1394 is not set
@@ -775,6 +770,7 @@ CONFIG_SERIAL_MPC52xx=y
775CONFIG_SERIAL_MPC52xx_CONSOLE=y 770CONFIG_SERIAL_MPC52xx_CONSOLE=y
776CONFIG_SERIAL_MPC52xx_CONSOLE_BAUD=9600 771CONFIG_SERIAL_MPC52xx_CONSOLE_BAUD=9600
777# CONFIG_SERIAL_JSM is not set 772# CONFIG_SERIAL_JSM is not set
773# CONFIG_SERIAL_TIMBERDALE is not set
778# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set 774# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set
779CONFIG_UNIX98_PTYS=y 775CONFIG_UNIX98_PTYS=y
780# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set 776# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
@@ -824,6 +820,7 @@ CONFIG_I2C_HELPER_AUTO=y
824CONFIG_I2C_MPC=y 820CONFIG_I2C_MPC=y
825# CONFIG_I2C_OCORES is not set 821# CONFIG_I2C_OCORES is not set
826# CONFIG_I2C_SIMTEC is not set 822# CONFIG_I2C_SIMTEC is not set
823# CONFIG_I2C_XILINX is not set
827 824
828# 825#
829# External I2C/SMBus adapter drivers 826# External I2C/SMBus adapter drivers
@@ -870,18 +867,21 @@ CONFIG_SSB_POSSIBLE=y
870# Multifunction device drivers 867# Multifunction device drivers
871# 868#
872# CONFIG_MFD_CORE is not set 869# CONFIG_MFD_CORE is not set
870# CONFIG_MFD_88PM860X is not set
873# CONFIG_MFD_SM501 is not set 871# CONFIG_MFD_SM501 is not set
874# CONFIG_HTC_PASIC3 is not set 872# CONFIG_HTC_PASIC3 is not set
875# CONFIG_TWL4030_CORE is not set 873# CONFIG_TWL4030_CORE is not set
876# CONFIG_MFD_TMIO is not set 874# CONFIG_MFD_TMIO is not set
877# CONFIG_PMIC_DA903X is not set 875# CONFIG_PMIC_DA903X is not set
878# CONFIG_PMIC_ADP5520 is not set 876# CONFIG_PMIC_ADP5520 is not set
877# CONFIG_MFD_MAX8925 is not set
879# CONFIG_MFD_WM8400 is not set 878# CONFIG_MFD_WM8400 is not set
880# CONFIG_MFD_WM831X is not set 879# CONFIG_MFD_WM831X is not set
881# CONFIG_MFD_WM8350_I2C is not set 880# CONFIG_MFD_WM8350_I2C is not set
881# CONFIG_MFD_WM8994 is not set
882# CONFIG_MFD_PCF50633 is not set 882# CONFIG_MFD_PCF50633 is not set
883# CONFIG_AB3100_CORE is not set 883# CONFIG_AB3100_CORE is not set
884# CONFIG_MFD_88PM8607 is not set 884# CONFIG_LPC_SCH is not set
885# CONFIG_REGULATOR is not set 885# CONFIG_REGULATOR is not set
886# CONFIG_MEDIA_SUPPORT is not set 886# CONFIG_MEDIA_SUPPORT is not set
887 887
@@ -890,6 +890,7 @@ CONFIG_SSB_POSSIBLE=y
890# 890#
891# CONFIG_AGP is not set 891# CONFIG_AGP is not set
892CONFIG_VGA_ARB=y 892CONFIG_VGA_ARB=y
893CONFIG_VGA_ARB_MAX_GPUS=16
893# CONFIG_DRM is not set 894# CONFIG_DRM is not set
894# CONFIG_VGASTATE is not set 895# CONFIG_VGASTATE is not set
895# CONFIG_VIDEO_OUTPUT_CONTROL is not set 896# CONFIG_VIDEO_OUTPUT_CONTROL is not set
@@ -997,7 +998,6 @@ CONFIG_USB_STORAGE=m
997# CONFIG_USB_RIO500 is not set 998# CONFIG_USB_RIO500 is not set
998# CONFIG_USB_LEGOTOWER is not set 999# CONFIG_USB_LEGOTOWER is not set
999# CONFIG_USB_LCD is not set 1000# CONFIG_USB_LCD is not set
1000# CONFIG_USB_BERRY_CHARGE is not set
1001# CONFIG_USB_LED is not set 1001# CONFIG_USB_LED is not set
1002# CONFIG_USB_CYPRESS_CY7C63 is not set 1002# CONFIG_USB_CYPRESS_CY7C63 is not set
1003# CONFIG_USB_CYTHERM is not set 1003# CONFIG_USB_CYTHERM is not set
@@ -1009,7 +1009,6 @@ CONFIG_USB_STORAGE=m
1009# CONFIG_USB_IOWARRIOR is not set 1009# CONFIG_USB_IOWARRIOR is not set
1010# CONFIG_USB_TEST is not set 1010# CONFIG_USB_TEST is not set
1011# CONFIG_USB_ISIGHTFW is not set 1011# CONFIG_USB_ISIGHTFW is not set
1012# CONFIG_USB_VST is not set
1013# CONFIG_USB_GADGET is not set 1012# CONFIG_USB_GADGET is not set
1014 1013
1015# 1014#
@@ -1172,6 +1171,7 @@ CONFIG_JFFS2_ZLIB=y
1172# CONFIG_JFFS2_LZO is not set 1171# CONFIG_JFFS2_LZO is not set
1173CONFIG_JFFS2_RTIME=y 1172CONFIG_JFFS2_RTIME=y
1174# CONFIG_JFFS2_RUBIN is not set 1173# CONFIG_JFFS2_RUBIN is not set
1174# CONFIG_LOGFS is not set
1175# CONFIG_CRAMFS is not set 1175# CONFIG_CRAMFS is not set
1176# CONFIG_SQUASHFS is not set 1176# CONFIG_SQUASHFS is not set
1177# CONFIG_VXFS_FS is not set 1177# CONFIG_VXFS_FS is not set
diff --git a/arch/powerpc/configs/52xx/tqm5200_defconfig b/arch/powerpc/configs/52xx/tqm5200_defconfig
index 3972438db719..a108b84c0074 100644
--- a/arch/powerpc/configs/52xx/tqm5200_defconfig
+++ b/arch/powerpc/configs/52xx/tqm5200_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-rc2 3# Linux kernel version: 2.6.34-rc1
4# Wed Dec 30 14:45:09 2009 4# Wed Mar 10 14:34:24 2010
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -94,14 +94,8 @@ CONFIG_RCU_FANOUT=32
94# CONFIG_TREE_RCU_TRACE is not set 94# CONFIG_TREE_RCU_TRACE is not set
95# CONFIG_IKCONFIG is not set 95# CONFIG_IKCONFIG is not set
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 98# CONFIG_SYSFS_DEPRECATED_V2 is not set
104CONFIG_SYSFS_DEPRECATED_V2=y
105# CONFIG_RELAY is not set 99# CONFIG_RELAY is not set
106# CONFIG_NAMESPACES is not set 100# CONFIG_NAMESPACES is not set
107CONFIG_BLK_DEV_INITRD=y 101CONFIG_BLK_DEV_INITRD=y
@@ -109,6 +103,7 @@ CONFIG_INITRAMFS_SOURCE=""
109CONFIG_RD_GZIP=y 103CONFIG_RD_GZIP=y
110# CONFIG_RD_BZIP2 is not set 104# CONFIG_RD_BZIP2 is not set
111# CONFIG_RD_LZMA is not set 105# CONFIG_RD_LZMA is not set
106# CONFIG_RD_LZO is not set
112# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 107# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
113CONFIG_SYSCTL=y 108CONFIG_SYSCTL=y
114CONFIG_ANON_INODES=y 109CONFIG_ANON_INODES=y
@@ -346,7 +341,6 @@ CONFIG_NET=y
346# Networking options 341# Networking options
347# 342#
348CONFIG_PACKET=y 343CONFIG_PACKET=y
349# CONFIG_PACKET_MMAP is not set
350CONFIG_UNIX=y 344CONFIG_UNIX=y
351CONFIG_XFRM=y 345CONFIG_XFRM=y
352CONFIG_XFRM_USER=y 346CONFIG_XFRM_USER=y
@@ -524,6 +518,8 @@ CONFIG_MTD_PHYSMAP_OF=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
529CONFIG_OF_MDIO=y 525CONFIG_OF_MDIO=y
@@ -704,6 +700,7 @@ CONFIG_SERIAL_CORE_CONSOLE=y
704CONFIG_SERIAL_MPC52xx=y 700CONFIG_SERIAL_MPC52xx=y
705CONFIG_SERIAL_MPC52xx_CONSOLE=y 701CONFIG_SERIAL_MPC52xx_CONSOLE=y
706CONFIG_SERIAL_MPC52xx_CONSOLE_BAUD=115200 702CONFIG_SERIAL_MPC52xx_CONSOLE_BAUD=115200
703# CONFIG_SERIAL_TIMBERDALE is not set
707# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set 704# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set
708CONFIG_UNIX98_PTYS=y 705CONFIG_UNIX98_PTYS=y
709# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set 706# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
@@ -733,6 +730,7 @@ CONFIG_I2C_HELPER_AUTO=y
733CONFIG_I2C_MPC=y 730CONFIG_I2C_MPC=y
734# CONFIG_I2C_OCORES is not set 731# CONFIG_I2C_OCORES is not set
735# CONFIG_I2C_SIMTEC is not set 732# CONFIG_I2C_SIMTEC is not set
733# CONFIG_I2C_XILINX is not set
736 734
737# 735#
738# External I2C/SMBus adapter drivers 736# External I2C/SMBus adapter drivers
@@ -780,10 +778,11 @@ CONFIG_HWMON=y
780# CONFIG_SENSORS_ADM1029 is not set 778# CONFIG_SENSORS_ADM1029 is not set
781# CONFIG_SENSORS_ADM1031 is not set 779# CONFIG_SENSORS_ADM1031 is not set
782# CONFIG_SENSORS_ADM9240 is not set 780# CONFIG_SENSORS_ADM9240 is not set
781# CONFIG_SENSORS_ADT7411 is not set
783# CONFIG_SENSORS_ADT7462 is not set 782# CONFIG_SENSORS_ADT7462 is not set
784# CONFIG_SENSORS_ADT7470 is not set 783# CONFIG_SENSORS_ADT7470 is not set
785# CONFIG_SENSORS_ADT7473 is not set
786# CONFIG_SENSORS_ADT7475 is not set 784# CONFIG_SENSORS_ADT7475 is not set
785# CONFIG_SENSORS_ASC7621 is not set
787# CONFIG_SENSORS_ATXP1 is not set 786# CONFIG_SENSORS_ATXP1 is not set
788# CONFIG_SENSORS_DS1621 is not set 787# CONFIG_SENSORS_DS1621 is not set
789# CONFIG_SENSORS_F71805F is not set 788# CONFIG_SENSORS_F71805F is not set
@@ -818,6 +817,7 @@ CONFIG_HWMON=y
818# CONFIG_SENSORS_SMSC47M192 is not set 817# CONFIG_SENSORS_SMSC47M192 is not set
819# CONFIG_SENSORS_SMSC47B397 is not set 818# CONFIG_SENSORS_SMSC47B397 is not set
820# CONFIG_SENSORS_ADS7828 is not set 819# CONFIG_SENSORS_ADS7828 is not set
820# CONFIG_SENSORS_AMC6821 is not set
821# CONFIG_SENSORS_THMC50 is not set 821# CONFIG_SENSORS_THMC50 is not set
822# CONFIG_SENSORS_TMP401 is not set 822# CONFIG_SENSORS_TMP401 is not set
823# CONFIG_SENSORS_TMP421 is not set 823# CONFIG_SENSORS_TMP421 is not set
@@ -838,6 +838,7 @@ CONFIG_WATCHDOG=y
838# Watchdog Device Drivers 838# Watchdog Device Drivers
839# 839#
840# CONFIG_SOFT_WATCHDOG is not set 840# CONFIG_SOFT_WATCHDOG is not set
841# CONFIG_MAX63XX_WATCHDOG is not set
841# CONFIG_MPC5200_WDT is not set 842# CONFIG_MPC5200_WDT is not set
842 843
843# 844#
@@ -855,18 +856,20 @@ CONFIG_SSB_POSSIBLE=y
855# Multifunction device drivers 856# Multifunction device drivers
856# 857#
857# CONFIG_MFD_CORE is not set 858# CONFIG_MFD_CORE is not set
859# CONFIG_MFD_88PM860X is not set
858# CONFIG_MFD_SM501 is not set 860# CONFIG_MFD_SM501 is not set
859# CONFIG_HTC_PASIC3 is not set 861# CONFIG_HTC_PASIC3 is not set
860# CONFIG_TWL4030_CORE is not set 862# CONFIG_TWL4030_CORE is not set
861# CONFIG_MFD_TMIO is not set 863# CONFIG_MFD_TMIO is not set
862# CONFIG_PMIC_DA903X is not set 864# CONFIG_PMIC_DA903X is not set
863# CONFIG_PMIC_ADP5520 is not set 865# CONFIG_PMIC_ADP5520 is not set
866# CONFIG_MFD_MAX8925 is not set
864# CONFIG_MFD_WM8400 is not set 867# CONFIG_MFD_WM8400 is not set
865# CONFIG_MFD_WM831X is not set 868# CONFIG_MFD_WM831X is not set
866# CONFIG_MFD_WM8350_I2C is not set 869# CONFIG_MFD_WM8350_I2C is not set
870# CONFIG_MFD_WM8994 is not set
867# CONFIG_MFD_PCF50633 is not set 871# CONFIG_MFD_PCF50633 is not set
868# CONFIG_AB3100_CORE is not set 872# CONFIG_AB3100_CORE is not set
869# CONFIG_MFD_88PM8607 is not set
870# CONFIG_REGULATOR is not set 873# CONFIG_REGULATOR is not set
871# CONFIG_MEDIA_SUPPORT is not set 874# CONFIG_MEDIA_SUPPORT is not set
872 875
@@ -897,7 +900,6 @@ CONFIG_USB=y
897CONFIG_USB_DEVICEFS=y 900CONFIG_USB_DEVICEFS=y
898# CONFIG_USB_DEVICE_CLASS is not set 901# CONFIG_USB_DEVICE_CLASS is not set
899# CONFIG_USB_DYNAMIC_MINORS is not set 902# CONFIG_USB_DYNAMIC_MINORS is not set
900# CONFIG_USB_SUSPEND is not set
901# CONFIG_USB_OTG is not set 903# CONFIG_USB_OTG is not set
902# CONFIG_USB_OTG_WHITELIST is not set 904# CONFIG_USB_OTG_WHITELIST is not set
903# CONFIG_USB_OTG_BLACKLIST_HUB is not set 905# CONFIG_USB_OTG_BLACKLIST_HUB is not set
@@ -975,7 +977,6 @@ CONFIG_USB_STORAGE=y
975# CONFIG_USB_RIO500 is not set 977# CONFIG_USB_RIO500 is not set
976# CONFIG_USB_LEGOTOWER is not set 978# CONFIG_USB_LEGOTOWER is not set
977# CONFIG_USB_LCD is not set 979# CONFIG_USB_LCD is not set
978# CONFIG_USB_BERRY_CHARGE is not set
979# CONFIG_USB_LED is not set 980# CONFIG_USB_LED is not set
980# CONFIG_USB_CYPRESS_CY7C63 is not set 981# CONFIG_USB_CYPRESS_CY7C63 is not set
981# CONFIG_USB_CYTHERM is not set 982# CONFIG_USB_CYTHERM is not set
@@ -987,7 +988,6 @@ CONFIG_USB_STORAGE=y
987# CONFIG_USB_IOWARRIOR is not set 988# CONFIG_USB_IOWARRIOR is not set
988# CONFIG_USB_TEST is not set 989# CONFIG_USB_TEST is not set
989# CONFIG_USB_ISIGHTFW is not set 990# CONFIG_USB_ISIGHTFW is not set
990# CONFIG_USB_VST is not set
991# CONFIG_USB_GADGET is not set 991# CONFIG_USB_GADGET is not set
992 992
993# 993#
@@ -1151,6 +1151,7 @@ CONFIG_JFFS2_ZLIB=y
1151# CONFIG_JFFS2_LZO is not set 1151# CONFIG_JFFS2_LZO is not set
1152CONFIG_JFFS2_RTIME=y 1152CONFIG_JFFS2_RTIME=y
1153# CONFIG_JFFS2_RUBIN is not set 1153# CONFIG_JFFS2_RUBIN is not set
1154# CONFIG_LOGFS is not set
1154CONFIG_CRAMFS=y 1155CONFIG_CRAMFS=y
1155# CONFIG_SQUASHFS is not set 1156# CONFIG_SQUASHFS is not set
1156# CONFIG_VXFS_FS is not set 1157# CONFIG_VXFS_FS is not set
diff --git a/arch/powerpc/configs/83xx/asp8347_defconfig b/arch/powerpc/configs/83xx/asp8347_defconfig
index baa2bbb6c096..04f16268e1c3 100644
--- a/arch/powerpc/configs/83xx/asp8347_defconfig
+++ b/arch/powerpc/configs/83xx/asp8347_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.33-rc3 3# Linux kernel version: 2.6.34-rc5
4# Wed Jan 6 09:24:14 2010 4# Mon Apr 19 23:16:38 2010
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -97,14 +97,8 @@ CONFIG_RCU_FANOUT=32
97# CONFIG_TREE_RCU_TRACE is not set 97# CONFIG_TREE_RCU_TRACE is not set
98# CONFIG_IKCONFIG is not set 98# CONFIG_IKCONFIG is not set
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 8b1aa806e548..1843ee11823b 100644
--- a/arch/powerpc/configs/83xx/kmeter1_defconfig
+++ b/arch/powerpc/configs/83xx/kmeter1_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.33-rc3 3# Linux kernel version: 2.6.34-rc5
4# Wed Jan 6 09:24:14 2010 4# Mon Apr 19 23:16:39 2010
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -98,7 +98,6 @@ CONFIG_RCU_FANOUT=32
98# CONFIG_TREE_RCU_TRACE is not set 98# CONFIG_TREE_RCU_TRACE is not set
99# CONFIG_IKCONFIG is not set 99# CONFIG_IKCONFIG is not set
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 2f2d98558e44..78ae3bf1e9c5 100644
--- a/arch/powerpc/configs/83xx/mpc8313_rdb_defconfig
+++ b/arch/powerpc/configs/83xx/mpc8313_rdb_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.33-rc3 3# Linux kernel version: 2.6.34-rc5
4# Wed Jan 6 09:24:15 2010 4# Mon Apr 19 23:16:40 2010
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -96,14 +96,8 @@ CONFIG_RCU_FANOUT=32
96# CONFIG_TREE_RCU_TRACE is not set 96# CONFIG_TREE_RCU_TRACE is not set
97# CONFIG_IKCONFIG is not set 97# CONFIG_IKCONFIG is not set
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 633e61194603..cccb71393aca 100644
--- a/arch/powerpc/configs/83xx/mpc8315_rdb_defconfig
+++ b/arch/powerpc/configs/83xx/mpc8315_rdb_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.33-rc3 3# Linux kernel version: 2.6.34-rc5
4# Wed Jan 6 09:24:16 2010 4# Mon Apr 19 23:16:40 2010
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -96,14 +96,8 @@ CONFIG_RCU_FANOUT=32
96# CONFIG_TREE_RCU_TRACE is not set 96# CONFIG_TREE_RCU_TRACE is not set
97# CONFIG_IKCONFIG is not set 97# CONFIG_IKCONFIG is not set
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 0b4262bd4917..74cb27aa9d17 100644
--- a/arch/powerpc/configs/83xx/mpc832x_mds_defconfig
+++ b/arch/powerpc/configs/83xx/mpc832x_mds_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.33-rc3 3# Linux kernel version: 2.6.34-rc5
4# Wed Jan 6 09:24:17 2010 4# Mon Apr 19 23:16:41 2010
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -96,14 +96,8 @@ CONFIG_RCU_FANOUT=32
96# CONFIG_TREE_RCU_TRACE is not set 96# CONFIG_TREE_RCU_TRACE is not set
97# CONFIG_IKCONFIG is not set 97# CONFIG_IKCONFIG is not set
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 155af009f7b5..10412a9c7f90 100644
--- a/arch/powerpc/configs/83xx/mpc832x_rdb_defconfig
+++ b/arch/powerpc/configs/83xx/mpc832x_rdb_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.33-rc3 3# Linux kernel version: 2.6.34-rc5
4# Wed Jan 6 09:24:18 2010 4# Mon Apr 19 23:16:42 2010
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -96,14 +96,8 @@ CONFIG_RCU_FANOUT=32
96# CONFIG_TREE_RCU_TRACE is not set 96# CONFIG_TREE_RCU_TRACE is not set
97# CONFIG_IKCONFIG is not set 97# CONFIG_IKCONFIG is not set
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 ff45f4904488..7b31fc3f3545 100644
--- a/arch/powerpc/configs/83xx/mpc834x_itx_defconfig
+++ b/arch/powerpc/configs/83xx/mpc834x_itx_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.33-rc3 3# Linux kernel version: 2.6.34-rc5
4# Wed Jan 6 09:24:19 2010 4# Mon Apr 19 23:16:43 2010
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -96,14 +96,8 @@ CONFIG_RCU_FANOUT=32
96# CONFIG_TREE_RCU_TRACE is not set 96# CONFIG_TREE_RCU_TRACE is not set
97# CONFIG_IKCONFIG is not set 97# CONFIG_IKCONFIG is not set
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 28d8ff3e8fca..41401a9b355e 100644
--- a/arch/powerpc/configs/83xx/mpc834x_itxgp_defconfig
+++ b/arch/powerpc/configs/83xx/mpc834x_itxgp_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.33-rc3 3# Linux kernel version: 2.6.34-rc5
4# Wed Jan 6 09:24:20 2010 4# Mon Apr 19 23:16:44 2010
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -96,14 +96,8 @@ CONFIG_RCU_FANOUT=32
96# CONFIG_TREE_RCU_TRACE is not set 96# CONFIG_TREE_RCU_TRACE is not set
97# CONFIG_IKCONFIG is not set 97# CONFIG_IKCONFIG is not set
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 6252ab5bf181..dc176b676dce 100644
--- a/arch/powerpc/configs/83xx/mpc834x_mds_defconfig
+++ b/arch/powerpc/configs/83xx/mpc834x_mds_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.33-rc3 3# Linux kernel version: 2.6.34-rc5
4# Wed Jan 6 09:24:21 2010 4# Mon Apr 19 23:16:45 2010
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -96,14 +96,8 @@ CONFIG_RCU_FANOUT=32
96# CONFIG_TREE_RCU_TRACE is not set 96# CONFIG_TREE_RCU_TRACE is not set
97# CONFIG_IKCONFIG is not set 97# CONFIG_IKCONFIG is not set
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 78227378e678..f512972c7176 100644
--- a/arch/powerpc/configs/83xx/mpc836x_mds_defconfig
+++ b/arch/powerpc/configs/83xx/mpc836x_mds_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.33-rc3 3# Linux kernel version: 2.6.34-rc5
4# Wed Jan 6 09:24:21 2010 4# Mon Apr 19 23:16:46 2010
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -96,14 +96,8 @@ CONFIG_RCU_FANOUT=32
96# CONFIG_TREE_RCU_TRACE is not set 96# CONFIG_TREE_RCU_TRACE is not set
97# CONFIG_IKCONFIG is not set 97# CONFIG_IKCONFIG is not set
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 9451d6e5c802..77abfe8ff198 100644
--- a/arch/powerpc/configs/83xx/mpc836x_rdk_defconfig
+++ b/arch/powerpc/configs/83xx/mpc836x_rdk_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.33-rc3 3# Linux kernel version: 2.6.34-rc5
4# Wed Jan 6 09:24:23 2010 4# Mon Apr 19 23:16:47 2010
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -97,14 +97,8 @@ CONFIG_RCU_FANOUT=32
97# CONFIG_TREE_RCU_TRACE is not set 97# CONFIG_TREE_RCU_TRACE is not set
98# CONFIG_IKCONFIG is not set 98# CONFIG_IKCONFIG is not set
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 f67b70d0b292..0cdb41418d58 100644
--- a/arch/powerpc/configs/83xx/mpc837x_mds_defconfig
+++ b/arch/powerpc/configs/83xx/mpc837x_mds_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.33-rc3 3# Linux kernel version: 2.6.34-rc5
4# Wed Jan 6 09:24:22 2010 4# Mon Apr 19 23:16:47 2010
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -96,14 +96,8 @@ CONFIG_RCU_FANOUT=32
96# CONFIG_TREE_RCU_TRACE is not set 96# CONFIG_TREE_RCU_TRACE is not set
97# CONFIG_IKCONFIG is not set 97# CONFIG_IKCONFIG is not set
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 a84fd1194e2b..e69ed1b61425 100644
--- a/arch/powerpc/configs/83xx/mpc837x_rdb_defconfig
+++ b/arch/powerpc/configs/83xx/mpc837x_rdb_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.33-rc3 3# Linux kernel version: 2.6.34-rc5
4# Wed Jan 6 09:24:24 2010 4# Mon Apr 19 23:16:48 2010
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -96,14 +96,8 @@ CONFIG_RCU_FANOUT=32
96# CONFIG_TREE_RCU_TRACE is not set 96# CONFIG_TREE_RCU_TRACE is not set
97# CONFIG_IKCONFIG is not set 97# CONFIG_IKCONFIG is not set
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 72c2067137b9..56e3995d898f 100644
--- a/arch/powerpc/configs/83xx/sbc834x_defconfig
+++ b/arch/powerpc/configs/83xx/sbc834x_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.33-rc3 3# Linux kernel version: 2.6.34-rc5
4# Wed Jan 6 09:24:25 2010 4# Mon Apr 19 23:16:49 2010
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -96,14 +96,8 @@ CONFIG_RCU_FANOUT=32
96# CONFIG_TREE_RCU_TRACE is not set 96# CONFIG_TREE_RCU_TRACE is not set
97# CONFIG_IKCONFIG is not set 97# CONFIG_IKCONFIG is not set
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 21dad38b156f..f67a8d1cd0b0 100644
--- a/arch/powerpc/configs/85xx/ksi8560_defconfig
+++ b/arch/powerpc/configs/85xx/ksi8560_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.33-rc3 3# Linux kernel version: 2.6.34-rc5
4# Wed Jan 6 09:24:26 2010 4# Mon Apr 19 23:16:50 2010
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -68,6 +68,10 @@ CONFIG_ARCH_SUSPEND_POSSIBLE=y
68# CONFIG_PPC_DCR_NATIVE is not set 68# CONFIG_PPC_DCR_NATIVE is not set
69# CONFIG_PPC_DCR_MMIO is not set 69# CONFIG_PPC_DCR_MMIO is not set
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 5db54cd274c6..61b122a25cdb 100644
--- a/arch/powerpc/configs/85xx/mpc8540_ads_defconfig
+++ b/arch/powerpc/configs/85xx/mpc8540_ads_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.33-rc3 3# Linux kernel version: 2.6.34-rc5
4# Wed Jan 6 09:24:27 2010 4# Mon Apr 19 23:16:51 2010
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -67,6 +67,10 @@ CONFIG_ARCH_SUSPEND_POSSIBLE=y
67# CONFIG_PPC_DCR_NATIVE is not set 67# CONFIG_PPC_DCR_NATIVE is not set
68# CONFIG_PPC_DCR_MMIO is not set 68# CONFIG_PPC_DCR_MMIO is not set
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 76c7018c5cd2..a5ceaa4b5e42 100644
--- a/arch/powerpc/configs/85xx/mpc8560_ads_defconfig
+++ b/arch/powerpc/configs/85xx/mpc8560_ads_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.33-rc3 3# Linux kernel version: 2.6.34-rc5
4# Wed Jan 6 09:24:28 2010 4# Mon Apr 19 23:16:52 2010
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -68,6 +68,10 @@ CONFIG_ARCH_SUSPEND_POSSIBLE=y
68# CONFIG_PPC_DCR_NATIVE is not set 68# CONFIG_PPC_DCR_NATIVE is not set
69# CONFIG_PPC_DCR_MMIO is not set 69# CONFIG_PPC_DCR_MMIO is not set
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 fab8adacbf79..4adb4eba2d4f 100644
--- a/arch/powerpc/configs/85xx/mpc85xx_cds_defconfig
+++ b/arch/powerpc/configs/85xx/mpc85xx_cds_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.33-rc3 3# Linux kernel version: 2.6.34-rc5
4# Wed Jan 6 09:24:29 2010 4# Mon Apr 19 23:16:53 2010
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -67,6 +67,10 @@ CONFIG_ARCH_SUSPEND_POSSIBLE=y
67# CONFIG_PPC_DCR_NATIVE is not set 67# CONFIG_PPC_DCR_NATIVE is not set
68# CONFIG_PPC_DCR_MMIO is not set 68# CONFIG_PPC_DCR_MMIO is not set
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 8290385e9b94..3de8450cd551 100644
--- a/arch/powerpc/configs/85xx/sbc8548_defconfig
+++ b/arch/powerpc/configs/85xx/sbc8548_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.33-rc3 3# Linux kernel version: 2.6.34-rc5
4# Wed Jan 6 09:24:29 2010 4# Mon Apr 19 23:16:54 2010
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -67,6 +67,10 @@ CONFIG_ARCH_SUSPEND_POSSIBLE=y
67# CONFIG_PPC_DCR_NATIVE is not set 67# CONFIG_PPC_DCR_NATIVE is not set
68# CONFIG_PPC_DCR_MMIO is not set 68# CONFIG_PPC_DCR_MMIO is not set
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 2499b5ba7141..bd467fe13932 100644
--- a/arch/powerpc/configs/85xx/sbc8560_defconfig
+++ b/arch/powerpc/configs/85xx/sbc8560_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.33-rc3 3# Linux kernel version: 2.6.34-rc5
4# Wed Jan 6 09:24:30 2010 4# Mon Apr 19 23:16:54 2010
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -67,6 +67,10 @@ CONFIG_ARCH_SUSPEND_POSSIBLE=y
67# CONFIG_PPC_DCR_NATIVE is not set 67# CONFIG_PPC_DCR_NATIVE is not set
68# CONFIG_PPC_DCR_MMIO is not set 68# CONFIG_PPC_DCR_MMIO is not set
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 e2edb79cfd1a..9803e031165c 100644
--- a/arch/powerpc/configs/85xx/socrates_defconfig
+++ b/arch/powerpc/configs/85xx/socrates_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.33-rc3 3# Linux kernel version: 2.6.34-rc5
4# Wed Jan 6 09:24:31 2010 4# Mon Apr 19 23:16:55 2010
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -67,6 +67,10 @@ CONFIG_ARCH_SUSPEND_POSSIBLE=y
67# CONFIG_PPC_DCR_NATIVE is not set 67# CONFIG_PPC_DCR_NATIVE is not set
68# CONFIG_PPC_DCR_MMIO is not set 68# CONFIG_PPC_DCR_MMIO is not set
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 ce313259df14..880ab7aaf202 100644
--- a/arch/powerpc/configs/85xx/stx_gp3_defconfig
+++ b/arch/powerpc/configs/85xx/stx_gp3_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.33-rc3 3# Linux kernel version: 2.6.34-rc5
4# Wed Jan 6 09:24:32 2010 4# Mon Apr 19 23:16:56 2010
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -68,6 +68,10 @@ CONFIG_ARCH_SUSPEND_POSSIBLE=y
68# CONFIG_PPC_DCR_NATIVE is not set 68# CONFIG_PPC_DCR_NATIVE is not set
69# CONFIG_PPC_DCR_MMIO is not set 69# CONFIG_PPC_DCR_MMIO is not set
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 0824b4667229..230aa2fc0629 100644
--- a/arch/powerpc/configs/85xx/tqm8540_defconfig
+++ b/arch/powerpc/configs/85xx/tqm8540_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.33-rc3 3# Linux kernel version: 2.6.34-rc5
4# Wed Jan 6 09:24:33 2010 4# Mon Apr 19 23:16:57 2010
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -67,6 +67,10 @@ CONFIG_ARCH_SUSPEND_POSSIBLE=y
67# CONFIG_PPC_DCR_NATIVE is not set 67# CONFIG_PPC_DCR_NATIVE is not set
68# CONFIG_PPC_DCR_MMIO is not set 68# CONFIG_PPC_DCR_MMIO is not set
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 2137be4100ed..dbe04b981b87 100644
--- a/arch/powerpc/configs/85xx/tqm8541_defconfig
+++ b/arch/powerpc/configs/85xx/tqm8541_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.33-rc3 3# Linux kernel version: 2.6.34-rc5
4# Wed Jan 6 09:24:34 2010 4# Mon Apr 19 23:16:58 2010
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -68,6 +68,10 @@ CONFIG_ARCH_SUSPEND_POSSIBLE=y
68# CONFIG_PPC_DCR_NATIVE is not set 68# CONFIG_PPC_DCR_NATIVE is not set
69# CONFIG_PPC_DCR_MMIO is not set 69# CONFIG_PPC_DCR_MMIO is not set
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 5cc89aac3fec..845efa79dd20 100644
--- a/arch/powerpc/configs/85xx/tqm8548_defconfig
+++ b/arch/powerpc/configs/85xx/tqm8548_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.33-rc3 3# Linux kernel version: 2.6.34-rc5
4# Wed Jan 6 09:24:35 2010 4# Mon Apr 19 23:16:59 2010
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -67,6 +67,10 @@ CONFIG_ARCH_SUSPEND_POSSIBLE=y
67# CONFIG_PPC_DCR_NATIVE is not set 67# CONFIG_PPC_DCR_NATIVE is not set
68# CONFIG_PPC_DCR_MMIO is not set 68# CONFIG_PPC_DCR_MMIO is not set
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 e7b9148e58cf..b958136a12f0 100644
--- a/arch/powerpc/configs/85xx/tqm8555_defconfig
+++ b/arch/powerpc/configs/85xx/tqm8555_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.33-rc3 3# Linux kernel version: 2.6.34-rc5
4# Wed Jan 6 09:24:36 2010 4# Mon Apr 19 23:17:00 2010
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -68,6 +68,10 @@ CONFIG_ARCH_SUSPEND_POSSIBLE=y
68# CONFIG_PPC_DCR_NATIVE is not set 68# CONFIG_PPC_DCR_NATIVE is not set
69# CONFIG_PPC_DCR_MMIO is not set 69# CONFIG_PPC_DCR_MMIO is not set
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 a998e401bbfc..008bc9754927 100644
--- a/arch/powerpc/configs/85xx/tqm8560_defconfig
+++ b/arch/powerpc/configs/85xx/tqm8560_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.33-rc3 3# Linux kernel version: 2.6.34-rc5
4# Wed Jan 6 09:24:36 2010 4# Mon Apr 19 23:17:01 2010
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -68,6 +68,10 @@ CONFIG_ARCH_SUSPEND_POSSIBLE=y
68# CONFIG_PPC_DCR_NATIVE is not set 68# CONFIG_PPC_DCR_NATIVE is not set
69# CONFIG_PPC_DCR_MMIO is not set 69# CONFIG_PPC_DCR_MMIO is not set
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 fc656af04ea1..2cf80dba0286 100644
--- a/arch/powerpc/configs/85xx/xes_mpc85xx_defconfig
+++ b/arch/powerpc/configs/85xx/xes_mpc85xx_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.33-rc3 3# Linux kernel version: 2.6.34-rc5
4# Wed Jan 6 09:24:37 2010 4# Mon Apr 19 23:17:01 2010
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -69,6 +69,10 @@ CONFIG_ARCH_SUSPEND_POSSIBLE=y
69# CONFIG_PPC_DCR_NATIVE is not set 69# CONFIG_PPC_DCR_NATIVE is not set
70# CONFIG_PPC_DCR_MMIO is not set 70# CONFIG_PPC_DCR_MMIO is not set
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 a85f927bf225..b728a7d64250 100644
--- a/arch/powerpc/configs/86xx/gef_ppc9a_defconfig
+++ b/arch/powerpc/configs/86xx/gef_ppc9a_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.33-rc3 3# Linux kernel version: 2.6.34-rc5
4# Wed Jan 6 09:24:43 2010 4# Mon Apr 19 23:17:07 2010
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -102,14 +102,8 @@ CONFIG_RCU_FANOUT=32
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 106# CONFIG_SYSFS_DEPRECATED_V2 is not set
112CONFIG_SYSFS_DEPRECATED_V2=y
113CONFIG_RELAY=y 107CONFIG_RELAY=y
114# CONFIG_NAMESPACES is not set 108# CONFIG_NAMESPACES is not set
115CONFIG_BLK_DEV_INITRD=y 109CONFIG_BLK_DEV_INITRD=y
@@ -117,6 +111,7 @@ CONFIG_INITRAMFS_SOURCE=""
117CONFIG_RD_GZIP=y 111CONFIG_RD_GZIP=y
118# CONFIG_RD_BZIP2 is not set 112# CONFIG_RD_BZIP2 is not set
119# CONFIG_RD_LZMA is not set 113# CONFIG_RD_LZMA is not set
114# CONFIG_RD_LZO is not set
120# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 115# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
121CONFIG_SYSCTL=y 116CONFIG_SYSCTL=y
122CONFIG_ANON_INODES=y 117CONFIG_ANON_INODES=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
@@ -340,13 +336,11 @@ CONFIG_PCIEAER=y
340# CONFIG_PCIEASPM is not set 336# CONFIG_PCIEASPM is not set
341CONFIG_ARCH_SUPPORTS_MSI=y 337CONFIG_ARCH_SUPPORTS_MSI=y
342# CONFIG_PCI_MSI is not set 338# CONFIG_PCI_MSI is not set
343# CONFIG_PCI_LEGACY is not set
344# CONFIG_PCI_STUB is not set 339# CONFIG_PCI_STUB is not set
345# CONFIG_PCI_IOV is not set 340# CONFIG_PCI_IOV is not set
346CONFIG_PCCARD=y 341CONFIG_PCCARD=y
347CONFIG_PCMCIA=y 342CONFIG_PCMCIA=y
348# CONFIG_PCMCIA_LOAD_CIS is not set 343# CONFIG_PCMCIA_LOAD_CIS is not set
349# CONFIG_PCMCIA_IOCTL is not set
350# CONFIG_CARDBUS is not set 344# CONFIG_CARDBUS is not set
351 345
352# 346#
@@ -382,7 +376,6 @@ CONFIG_NET=y
382# Networking options 376# Networking options
383# 377#
384CONFIG_PACKET=y 378CONFIG_PACKET=y
385CONFIG_PACKET_MMAP=y
386CONFIG_UNIX=y 379CONFIG_UNIX=y
387CONFIG_XFRM=y 380CONFIG_XFRM=y
388CONFIG_XFRM_USER=m 381CONFIG_XFRM_USER=m
@@ -592,6 +585,8 @@ CONFIG_MTD_PHYSMAP_OF=y
592# UBI - Unsorted block images 585# UBI - Unsorted block images
593# 586#
594# CONFIG_MTD_UBI is not set 587# CONFIG_MTD_UBI is not set
588CONFIG_OF_FLATTREE=y
589CONFIG_OF_DYNAMIC=y
595CONFIG_OF_DEVICE=y 590CONFIG_OF_DEVICE=y
596CONFIG_OF_GPIO=y 591CONFIG_OF_GPIO=y
597CONFIG_OF_I2C=y 592CONFIG_OF_I2C=y
@@ -629,6 +624,7 @@ CONFIG_MISC_DEVICES=y
629# CONFIG_ENCLOSURE_SERVICES is not set 624# CONFIG_ENCLOSURE_SERVICES is not set
630# CONFIG_HP_ILO is not set 625# CONFIG_HP_ILO is not set
631# CONFIG_ISL29003 is not set 626# CONFIG_ISL29003 is not set
627# CONFIG_SENSORS_TSL2550 is not set
632CONFIG_DS1682=y 628CONFIG_DS1682=y
633# CONFIG_C2PORT is not set 629# CONFIG_C2PORT is not set
634 630
@@ -695,6 +691,7 @@ CONFIG_IDE_PROC_FS=y
695# 691#
696# SCSI device support 692# SCSI device support
697# 693#
694CONFIG_SCSI_MOD=y
698# CONFIG_RAID_ATTRS is not set 695# CONFIG_RAID_ATTRS is not set
699CONFIG_SCSI=y 696CONFIG_SCSI=y
700CONFIG_SCSI_DMA=y 697CONFIG_SCSI_DMA=y
@@ -819,6 +816,7 @@ CONFIG_SATA_SIL=y
819# CONFIG_PATA_IT821X is not set 816# CONFIG_PATA_IT821X is not set
820# CONFIG_PATA_IT8213 is not set 817# CONFIG_PATA_IT8213 is not set
821# CONFIG_PATA_JMICRON is not set 818# CONFIG_PATA_JMICRON is not set
819# CONFIG_PATA_LEGACY is not set
822# CONFIG_PATA_TRIFLEX is not set 820# CONFIG_PATA_TRIFLEX is not set
823# CONFIG_PATA_MARVELL is not set 821# CONFIG_PATA_MARVELL is not set
824# CONFIG_PATA_MPIIX is not set 822# CONFIG_PATA_MPIIX is not set
@@ -1059,6 +1057,7 @@ CONFIG_SERIAL_CORE=y
1059CONFIG_SERIAL_CORE_CONSOLE=y 1057CONFIG_SERIAL_CORE_CONSOLE=y
1060# CONFIG_SERIAL_JSM is not set 1058# CONFIG_SERIAL_JSM is not set
1061# CONFIG_SERIAL_OF_PLATFORM is not set 1059# CONFIG_SERIAL_OF_PLATFORM is not set
1060# CONFIG_SERIAL_TIMBERDALE is not set
1062# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set 1061# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set
1063CONFIG_UNIX98_PTYS=y 1062CONFIG_UNIX98_PTYS=y
1064# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set 1063# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
@@ -1116,6 +1115,7 @@ CONFIG_I2C_HELPER_AUTO=y
1116CONFIG_I2C_MPC=y 1115CONFIG_I2C_MPC=y
1117# CONFIG_I2C_OCORES is not set 1116# CONFIG_I2C_OCORES is not set
1118# CONFIG_I2C_SIMTEC is not set 1117# CONFIG_I2C_SIMTEC is not set
1118# CONFIG_I2C_XILINX is not set
1119 1119
1120# 1120#
1121# External I2C/SMBus adapter drivers 1121# External I2C/SMBus adapter drivers
@@ -1129,15 +1129,9 @@ CONFIG_I2C_MPC=y
1129# 1129#
1130# CONFIG_I2C_PCA_PLATFORM is not set 1130# CONFIG_I2C_PCA_PLATFORM is not set
1131# CONFIG_I2C_STUB is not set 1131# CONFIG_I2C_STUB is not set
1132
1133#
1134# Miscellaneous I2C Chip support
1135#
1136# CONFIG_SENSORS_TSL2550 is not set
1137# CONFIG_I2C_DEBUG_CORE is not set 1132# CONFIG_I2C_DEBUG_CORE is not set
1138# CONFIG_I2C_DEBUG_ALGO is not set 1133# CONFIG_I2C_DEBUG_ALGO is not set
1139# CONFIG_I2C_DEBUG_BUS is not set 1134# CONFIG_I2C_DEBUG_BUS is not set
1140# CONFIG_I2C_DEBUG_CHIP is not set
1141# CONFIG_SPI is not set 1135# CONFIG_SPI is not set
1142 1136
1143# 1137#
@@ -1152,14 +1146,18 @@ CONFIG_GPIO_SYSFS=y
1152# 1146#
1153# Memory mapped GPIO expanders: 1147# Memory mapped GPIO expanders:
1154# 1148#
1149# CONFIG_GPIO_IT8761E is not set
1155# CONFIG_GPIO_XILINX is not set 1150# CONFIG_GPIO_XILINX is not set
1151# CONFIG_GPIO_SCH is not set
1156 1152
1157# 1153#
1158# I2C GPIO expanders: 1154# I2C GPIO expanders:
1159# 1155#
1156# CONFIG_GPIO_MAX7300 is not set
1160# CONFIG_GPIO_MAX732X is not set 1157# CONFIG_GPIO_MAX732X is not set
1161# CONFIG_GPIO_PCA953X is not set 1158# CONFIG_GPIO_PCA953X is not set
1162# CONFIG_GPIO_PCF857X is not set 1159# CONFIG_GPIO_PCF857X is not set
1160# CONFIG_GPIO_ADP5588 is not set
1163 1161
1164# 1162#
1165# PCI GPIO expanders: 1163# PCI GPIO expanders:
@@ -1192,10 +1190,11 @@ CONFIG_HWMON=y
1192# CONFIG_SENSORS_ADM1029 is not set 1190# CONFIG_SENSORS_ADM1029 is not set
1193# CONFIG_SENSORS_ADM1031 is not set 1191# CONFIG_SENSORS_ADM1031 is not set
1194# CONFIG_SENSORS_ADM9240 is not set 1192# CONFIG_SENSORS_ADM9240 is not set
1193# CONFIG_SENSORS_ADT7411 is not set
1195# CONFIG_SENSORS_ADT7462 is not set 1194# CONFIG_SENSORS_ADT7462 is not set
1196# CONFIG_SENSORS_ADT7470 is not set 1195# CONFIG_SENSORS_ADT7470 is not set
1197# CONFIG_SENSORS_ADT7473 is not set
1198# CONFIG_SENSORS_ADT7475 is not set 1196# CONFIG_SENSORS_ADT7475 is not set
1197# CONFIG_SENSORS_ASC7621 is not set
1199# CONFIG_SENSORS_ATXP1 is not set 1198# CONFIG_SENSORS_ATXP1 is not set
1200# CONFIG_SENSORS_DS1621 is not set 1199# CONFIG_SENSORS_DS1621 is not set
1201# CONFIG_SENSORS_I5K_AMB is not set 1200# CONFIG_SENSORS_I5K_AMB is not set
@@ -1233,6 +1232,7 @@ CONFIG_SENSORS_LM92=y
1233# CONFIG_SENSORS_SMSC47M192 is not set 1232# CONFIG_SENSORS_SMSC47M192 is not set
1234# CONFIG_SENSORS_SMSC47B397 is not set 1233# CONFIG_SENSORS_SMSC47B397 is not set
1235# CONFIG_SENSORS_ADS7828 is not set 1234# CONFIG_SENSORS_ADS7828 is not set
1235# CONFIG_SENSORS_AMC6821 is not set
1236# CONFIG_SENSORS_THMC50 is not set 1236# CONFIG_SENSORS_THMC50 is not set
1237# CONFIG_SENSORS_TMP401 is not set 1237# CONFIG_SENSORS_TMP401 is not set
1238# CONFIG_SENSORS_TMP421 is not set 1238# CONFIG_SENSORS_TMP421 is not set
@@ -1281,19 +1281,24 @@ CONFIG_SSB_POSSIBLE=y
1281# Multifunction device drivers 1281# Multifunction device drivers
1282# 1282#
1283# CONFIG_MFD_CORE is not set 1283# CONFIG_MFD_CORE is not set
1284# CONFIG_MFD_88PM860X is not set
1284# CONFIG_MFD_SM501 is not set 1285# CONFIG_MFD_SM501 is not set
1285# CONFIG_HTC_PASIC3 is not set 1286# CONFIG_HTC_PASIC3 is not set
1287# CONFIG_HTC_I2CPLD is not set
1286# CONFIG_TPS65010 is not set 1288# CONFIG_TPS65010 is not set
1287# CONFIG_TWL4030_CORE is not set 1289# CONFIG_TWL4030_CORE is not set
1288# CONFIG_MFD_TMIO is not set 1290# CONFIG_MFD_TMIO is not set
1289# CONFIG_PMIC_DA903X is not set 1291# CONFIG_PMIC_DA903X is not set
1290# CONFIG_PMIC_ADP5520 is not set 1292# CONFIG_PMIC_ADP5520 is not set
1293# CONFIG_MFD_MAX8925 is not set
1291# CONFIG_MFD_WM8400 is not set 1294# CONFIG_MFD_WM8400 is not set
1292# CONFIG_MFD_WM831X is not set 1295# CONFIG_MFD_WM831X is not set
1293# CONFIG_MFD_WM8350_I2C is not set 1296# CONFIG_MFD_WM8350_I2C is not set
1297# CONFIG_MFD_WM8994 is not set
1294# CONFIG_MFD_PCF50633 is not set 1298# CONFIG_MFD_PCF50633 is not set
1295# CONFIG_AB3100_CORE is not set 1299# CONFIG_AB3100_CORE is not set
1296# CONFIG_MFD_88PM8607 is not set 1300# CONFIG_MFD_TIMBERDALE is not set
1301# CONFIG_LPC_SCH is not set
1297# CONFIG_REGULATOR is not set 1302# CONFIG_REGULATOR is not set
1298# CONFIG_MEDIA_SUPPORT is not set 1303# CONFIG_MEDIA_SUPPORT is not set
1299 1304
@@ -1302,6 +1307,7 @@ CONFIG_SSB_POSSIBLE=y
1302# 1307#
1303# CONFIG_AGP is not set 1308# CONFIG_AGP is not set
1304CONFIG_VGA_ARB=y 1309CONFIG_VGA_ARB=y
1310CONFIG_VGA_ARB_MAX_GPUS=16
1305# CONFIG_DRM is not set 1311# CONFIG_DRM is not set
1306# CONFIG_VGASTATE is not set 1312# CONFIG_VGASTATE is not set
1307CONFIG_VIDEO_OUTPUT_CONTROL=m 1313CONFIG_VIDEO_OUTPUT_CONTROL=m
@@ -1334,6 +1340,7 @@ CONFIG_USB_HID=y
1334# 1340#
1335# Special HID drivers 1341# Special HID drivers
1336# 1342#
1343# CONFIG_HID_3M_PCT is not set
1337CONFIG_HID_A4TECH=y 1344CONFIG_HID_A4TECH=y
1338CONFIG_HID_APPLE=y 1345CONFIG_HID_APPLE=y
1339CONFIG_HID_BELKIN=y 1346CONFIG_HID_BELKIN=y
@@ -1349,14 +1356,19 @@ CONFIG_HID_GYRATION=y
1349CONFIG_HID_LOGITECH=y 1356CONFIG_HID_LOGITECH=y
1350# CONFIG_LOGITECH_FF is not set 1357# CONFIG_LOGITECH_FF is not set
1351# CONFIG_LOGIRUMBLEPAD2_FF is not set 1358# CONFIG_LOGIRUMBLEPAD2_FF is not set
1359# CONFIG_LOGIG940_FF is not set
1352CONFIG_HID_MICROSOFT=y 1360CONFIG_HID_MICROSOFT=y
1361# CONFIG_HID_MOSART is not set
1353CONFIG_HID_MONTEREY=y 1362CONFIG_HID_MONTEREY=y
1354# CONFIG_HID_NTRIG is not set 1363# CONFIG_HID_NTRIG is not set
1364# CONFIG_HID_ORTEK is not set
1355CONFIG_HID_PANTHERLORD=y 1365CONFIG_HID_PANTHERLORD=y
1356# CONFIG_PANTHERLORD_FF is not set 1366# CONFIG_PANTHERLORD_FF is not set
1357CONFIG_HID_PETALYNX=y 1367CONFIG_HID_PETALYNX=y
1368# CONFIG_HID_QUANTA is not set
1358CONFIG_HID_SAMSUNG=y 1369CONFIG_HID_SAMSUNG=y
1359CONFIG_HID_SONY=y 1370CONFIG_HID_SONY=y
1371# CONFIG_HID_STANTUM is not set
1360CONFIG_HID_SUNPLUS=y 1372CONFIG_HID_SUNPLUS=y
1361# CONFIG_HID_GREENASIA is not set 1373# CONFIG_HID_GREENASIA is not set
1362# CONFIG_HID_SMARTJOYPLUS is not set 1374# CONFIG_HID_SMARTJOYPLUS is not set
@@ -1463,7 +1475,6 @@ CONFIG_USB_STORAGE=y
1463# CONFIG_USB_RIO500 is not set 1475# CONFIG_USB_RIO500 is not set
1464# CONFIG_USB_LEGOTOWER is not set 1476# CONFIG_USB_LEGOTOWER is not set
1465# CONFIG_USB_LCD is not set 1477# CONFIG_USB_LCD is not set
1466# CONFIG_USB_BERRY_CHARGE is not set
1467# CONFIG_USB_LED is not set 1478# CONFIG_USB_LED is not set
1468# CONFIG_USB_CYPRESS_CY7C63 is not set 1479# CONFIG_USB_CYPRESS_CY7C63 is not set
1469# CONFIG_USB_CYTHERM is not set 1480# CONFIG_USB_CYTHERM is not set
@@ -1476,7 +1487,6 @@ CONFIG_USB_STORAGE=y
1476# CONFIG_USB_IOWARRIOR is not set 1487# CONFIG_USB_IOWARRIOR is not set
1477# CONFIG_USB_TEST is not set 1488# CONFIG_USB_TEST is not set
1478# CONFIG_USB_ISIGHTFW is not set 1489# CONFIG_USB_ISIGHTFW is not set
1479# CONFIG_USB_VST is not set
1480# CONFIG_USB_GADGET is not set 1490# CONFIG_USB_GADGET is not set
1481 1491
1482# 1492#
@@ -1557,7 +1567,62 @@ CONFIG_RTC_DRV_RX8581=y
1557# 1567#
1558# TI VLYNQ 1568# TI VLYNQ
1559# 1569#
1560# CONFIG_STAGING is not set 1570CONFIG_STAGING=y
1571# CONFIG_STAGING_EXCLUDE_BUILD is not set
1572# CONFIG_ET131X is not set
1573# CONFIG_USB_IP_COMMON is not set
1574# CONFIG_PRISM2_USB is not set
1575# CONFIG_ECHO is not set
1576# CONFIG_COMEDI is not set
1577# CONFIG_ASUS_OLED is not set
1578# CONFIG_R8187SE is not set
1579# CONFIG_RTL8192SU is not set
1580# CONFIG_RTL8192U is not set
1581# CONFIG_RTL8192E is not set
1582# CONFIG_TRANZPORT is not set
1583
1584#
1585# Qualcomm MSM Camera And Video
1586#
1587
1588#
1589# Camera Sensor Selection
1590#
1591# CONFIG_INPUT_GPIO is not set
1592# CONFIG_POHMELFS is not set
1593# CONFIG_IDE_PHISON is not set
1594# CONFIG_VT6655 is not set
1595# CONFIG_VT6656 is not set
1596CONFIG_VME_BUS=y
1597
1598#
1599# VME Bridge Drivers
1600#
1601# CONFIG_VME_CA91CX42 is not set
1602CONFIG_VME_TSI148=y
1603
1604#
1605# VME Device Drivers
1606#
1607# CONFIG_VME_USER is not set
1608
1609#
1610# VME Board Drivers
1611#
1612# CONFIG_VMIVME_7805 is not set
1613
1614#
1615# RAR Register Driver
1616#
1617# CONFIG_RAR_REGISTER is not set
1618# CONFIG_IIO is not set
1619# CONFIG_RAMZSWAP is not set
1620# CONFIG_BATMAN_ADV is not set
1621# CONFIG_STRIP is not set
1622# CONFIG_PCMCIA_WAVELAN is not set
1623# CONFIG_PCMCIA_NETWAVE is not set
1624# CONFIG_DT3155 is not set
1625# CONFIG_CRYSTALHD is not set
1561 1626
1562# 1627#
1563# File systems 1628# File systems
@@ -1648,6 +1713,7 @@ CONFIG_JFFS2_ZLIB=y
1648# CONFIG_JFFS2_LZO is not set 1713# CONFIG_JFFS2_LZO is not set
1649CONFIG_JFFS2_RTIME=y 1714CONFIG_JFFS2_RTIME=y
1650# CONFIG_JFFS2_RUBIN is not set 1715# CONFIG_JFFS2_RUBIN is not set
1716# CONFIG_LOGFS is not set
1651# CONFIG_CRAMFS is not set 1717# CONFIG_CRAMFS is not set
1652# CONFIG_SQUASHFS is not set 1718# CONFIG_SQUASHFS is not set
1653# CONFIG_VXFS_FS is not set 1719# CONFIG_VXFS_FS is not set
@@ -1674,6 +1740,7 @@ CONFIG_SUNRPC_GSS=y
1674CONFIG_RPCSEC_GSS_KRB5=y 1740CONFIG_RPCSEC_GSS_KRB5=y
1675# CONFIG_RPCSEC_GSS_SPKM3 is not set 1741# CONFIG_RPCSEC_GSS_SPKM3 is not set
1676# CONFIG_SMB_FS is not set 1742# CONFIG_SMB_FS is not set
1743# CONFIG_CEPH_FS is not set
1677CONFIG_CIFS=m 1744CONFIG_CIFS=m
1678# CONFIG_CIFS_STATS is not set 1745# CONFIG_CIFS_STATS is not set
1679# CONFIG_CIFS_WEAK_PW_HASH is not set 1746# CONFIG_CIFS_WEAK_PW_HASH is not set
@@ -1819,6 +1886,7 @@ CONFIG_CRYPTO_MANAGER=y
1819CONFIG_CRYPTO_MANAGER2=y 1886CONFIG_CRYPTO_MANAGER2=y
1820# CONFIG_CRYPTO_GF128MUL is not set 1887# CONFIG_CRYPTO_GF128MUL is not set
1821# CONFIG_CRYPTO_NULL is not set 1888# CONFIG_CRYPTO_NULL is not set
1889# CONFIG_CRYPTO_PCRYPT is not set
1822CONFIG_CRYPTO_WORKQUEUE=y 1890CONFIG_CRYPTO_WORKQUEUE=y
1823# CONFIG_CRYPTO_CRYPTD is not set 1891# CONFIG_CRYPTO_CRYPTD is not set
1824CONFIG_CRYPTO_AUTHENC=m 1892CONFIG_CRYPTO_AUTHENC=m
diff --git a/arch/powerpc/configs/86xx/gef_sbc310_defconfig b/arch/powerpc/configs/86xx/gef_sbc310_defconfig
index eb58dec11a61..8e738de5f6a5 100644
--- a/arch/powerpc/configs/86xx/gef_sbc310_defconfig
+++ b/arch/powerpc/configs/86xx/gef_sbc310_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.33-rc3 3# Linux kernel version: 2.6.34-rc5
4# Wed Jan 6 09:24:41 2010 4# Mon Apr 19 23:17:05 2010
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -102,14 +102,8 @@ CONFIG_RCU_FANOUT=32
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 106# CONFIG_SYSFS_DEPRECATED_V2 is not set
112CONFIG_SYSFS_DEPRECATED_V2=y
113CONFIG_RELAY=y 107CONFIG_RELAY=y
114# CONFIG_NAMESPACES is not set 108# CONFIG_NAMESPACES is not set
115CONFIG_BLK_DEV_INITRD=y 109CONFIG_BLK_DEV_INITRD=y
@@ -117,6 +111,7 @@ CONFIG_INITRAMFS_SOURCE=""
117CONFIG_RD_GZIP=y 111CONFIG_RD_GZIP=y
118# CONFIG_RD_BZIP2 is not set 112# CONFIG_RD_BZIP2 is not set
119# CONFIG_RD_LZMA is not set 113# CONFIG_RD_LZMA is not set
114# CONFIG_RD_LZO is not set
120# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 115# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
121CONFIG_SYSCTL=y 116CONFIG_SYSCTL=y
122CONFIG_ANON_INODES=y 117CONFIG_ANON_INODES=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
@@ -340,13 +336,11 @@ CONFIG_PCIEAER=y
340# CONFIG_PCIEASPM is not set 336# CONFIG_PCIEASPM is not set
341CONFIG_ARCH_SUPPORTS_MSI=y 337CONFIG_ARCH_SUPPORTS_MSI=y
342# CONFIG_PCI_MSI is not set 338# CONFIG_PCI_MSI is not set
343# CONFIG_PCI_LEGACY is not set
344# CONFIG_PCI_STUB is not set 339# CONFIG_PCI_STUB is not set
345# CONFIG_PCI_IOV is not set 340# CONFIG_PCI_IOV is not set
346CONFIG_PCCARD=y 341CONFIG_PCCARD=y
347CONFIG_PCMCIA=y 342CONFIG_PCMCIA=y
348# CONFIG_PCMCIA_LOAD_CIS is not set 343# CONFIG_PCMCIA_LOAD_CIS is not set
349# CONFIG_PCMCIA_IOCTL is not set
350# CONFIG_CARDBUS is not set 344# CONFIG_CARDBUS is not set
351 345
352# 346#
@@ -382,7 +376,6 @@ CONFIG_NET=y
382# Networking options 376# Networking options
383# 377#
384CONFIG_PACKET=y 378CONFIG_PACKET=y
385CONFIG_PACKET_MMAP=y
386CONFIG_UNIX=y 379CONFIG_UNIX=y
387CONFIG_XFRM=y 380CONFIG_XFRM=y
388CONFIG_XFRM_USER=m 381CONFIG_XFRM_USER=m
@@ -592,6 +585,8 @@ CONFIG_MTD_PHYSMAP_OF=y
592# UBI - Unsorted block images 585# UBI - Unsorted block images
593# 586#
594# CONFIG_MTD_UBI is not set 587# CONFIG_MTD_UBI is not set
588CONFIG_OF_FLATTREE=y
589CONFIG_OF_DYNAMIC=y
595CONFIG_OF_DEVICE=y 590CONFIG_OF_DEVICE=y
596CONFIG_OF_GPIO=y 591CONFIG_OF_GPIO=y
597CONFIG_OF_I2C=y 592CONFIG_OF_I2C=y
@@ -629,6 +624,7 @@ CONFIG_MISC_DEVICES=y
629# CONFIG_ENCLOSURE_SERVICES is not set 624# CONFIG_ENCLOSURE_SERVICES is not set
630# CONFIG_HP_ILO is not set 625# CONFIG_HP_ILO is not set
631# CONFIG_ISL29003 is not set 626# CONFIG_ISL29003 is not set
627# CONFIG_SENSORS_TSL2550 is not set
632CONFIG_DS1682=y 628CONFIG_DS1682=y
633# CONFIG_C2PORT is not set 629# CONFIG_C2PORT is not set
634 630
@@ -695,6 +691,7 @@ CONFIG_IDE_PROC_FS=y
695# 691#
696# SCSI device support 692# SCSI device support
697# 693#
694CONFIG_SCSI_MOD=y
698# CONFIG_RAID_ATTRS is not set 695# CONFIG_RAID_ATTRS is not set
699CONFIG_SCSI=y 696CONFIG_SCSI=y
700CONFIG_SCSI_DMA=y 697CONFIG_SCSI_DMA=y
@@ -1001,6 +998,7 @@ CONFIG_SERIAL_CORE=y
1001CONFIG_SERIAL_CORE_CONSOLE=y 998CONFIG_SERIAL_CORE_CONSOLE=y
1002# CONFIG_SERIAL_JSM is not set 999# CONFIG_SERIAL_JSM is not set
1003# CONFIG_SERIAL_OF_PLATFORM is not set 1000# CONFIG_SERIAL_OF_PLATFORM is not set
1001# CONFIG_SERIAL_TIMBERDALE is not set
1004# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set 1002# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set
1005CONFIG_UNIX98_PTYS=y 1003CONFIG_UNIX98_PTYS=y
1006# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set 1004# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
@@ -1058,6 +1056,7 @@ CONFIG_I2C_HELPER_AUTO=y
1058CONFIG_I2C_MPC=y 1056CONFIG_I2C_MPC=y
1059# CONFIG_I2C_OCORES is not set 1057# CONFIG_I2C_OCORES is not set
1060# CONFIG_I2C_SIMTEC is not set 1058# CONFIG_I2C_SIMTEC is not set
1059# CONFIG_I2C_XILINX is not set
1061 1060
1062# 1061#
1063# External I2C/SMBus adapter drivers 1062# External I2C/SMBus adapter drivers
@@ -1071,15 +1070,9 @@ CONFIG_I2C_MPC=y
1071# 1070#
1072# CONFIG_I2C_PCA_PLATFORM is not set 1071# CONFIG_I2C_PCA_PLATFORM is not set
1073# CONFIG_I2C_STUB is not set 1072# CONFIG_I2C_STUB is not set
1074
1075#
1076# Miscellaneous I2C Chip support
1077#
1078# CONFIG_SENSORS_TSL2550 is not set
1079# CONFIG_I2C_DEBUG_CORE is not set 1073# CONFIG_I2C_DEBUG_CORE is not set
1080# CONFIG_I2C_DEBUG_ALGO is not set 1074# CONFIG_I2C_DEBUG_ALGO is not set
1081# CONFIG_I2C_DEBUG_BUS is not set 1075# CONFIG_I2C_DEBUG_BUS is not set
1082# CONFIG_I2C_DEBUG_CHIP is not set
1083# CONFIG_SPI is not set 1076# CONFIG_SPI is not set
1084 1077
1085# 1078#
@@ -1094,14 +1087,18 @@ CONFIG_GPIO_SYSFS=y
1094# 1087#
1095# Memory mapped GPIO expanders: 1088# Memory mapped GPIO expanders:
1096# 1089#
1090# CONFIG_GPIO_IT8761E is not set
1097# CONFIG_GPIO_XILINX is not set 1091# CONFIG_GPIO_XILINX is not set
1092# CONFIG_GPIO_SCH is not set
1098 1093
1099# 1094#
1100# I2C GPIO expanders: 1095# I2C GPIO expanders:
1101# 1096#
1097# CONFIG_GPIO_MAX7300 is not set
1102# CONFIG_GPIO_MAX732X is not set 1098# CONFIG_GPIO_MAX732X is not set
1103# CONFIG_GPIO_PCA953X is not set 1099# CONFIG_GPIO_PCA953X is not set
1104# CONFIG_GPIO_PCF857X is not set 1100# CONFIG_GPIO_PCF857X is not set
1101# CONFIG_GPIO_ADP5588 is not set
1105 1102
1106# 1103#
1107# PCI GPIO expanders: 1104# PCI GPIO expanders:
@@ -1134,10 +1131,11 @@ CONFIG_HWMON=y
1134# CONFIG_SENSORS_ADM1029 is not set 1131# CONFIG_SENSORS_ADM1029 is not set
1135# CONFIG_SENSORS_ADM1031 is not set 1132# CONFIG_SENSORS_ADM1031 is not set
1136# CONFIG_SENSORS_ADM9240 is not set 1133# CONFIG_SENSORS_ADM9240 is not set
1134# CONFIG_SENSORS_ADT7411 is not set
1137# CONFIG_SENSORS_ADT7462 is not set 1135# CONFIG_SENSORS_ADT7462 is not set
1138# CONFIG_SENSORS_ADT7470 is not set 1136# CONFIG_SENSORS_ADT7470 is not set
1139# CONFIG_SENSORS_ADT7473 is not set
1140# CONFIG_SENSORS_ADT7475 is not set 1137# CONFIG_SENSORS_ADT7475 is not set
1138# CONFIG_SENSORS_ASC7621 is not set
1141# CONFIG_SENSORS_ATXP1 is not set 1139# CONFIG_SENSORS_ATXP1 is not set
1142# CONFIG_SENSORS_DS1621 is not set 1140# CONFIG_SENSORS_DS1621 is not set
1143# CONFIG_SENSORS_I5K_AMB is not set 1141# CONFIG_SENSORS_I5K_AMB is not set
@@ -1175,6 +1173,7 @@ CONFIG_SENSORS_LM92=y
1175# CONFIG_SENSORS_SMSC47M192 is not set 1173# CONFIG_SENSORS_SMSC47M192 is not set
1176# CONFIG_SENSORS_SMSC47B397 is not set 1174# CONFIG_SENSORS_SMSC47B397 is not set
1177# CONFIG_SENSORS_ADS7828 is not set 1175# CONFIG_SENSORS_ADS7828 is not set
1176# CONFIG_SENSORS_AMC6821 is not set
1178# CONFIG_SENSORS_THMC50 is not set 1177# CONFIG_SENSORS_THMC50 is not set
1179# CONFIG_SENSORS_TMP401 is not set 1178# CONFIG_SENSORS_TMP401 is not set
1180# CONFIG_SENSORS_TMP421 is not set 1179# CONFIG_SENSORS_TMP421 is not set
@@ -1223,19 +1222,24 @@ CONFIG_SSB_POSSIBLE=y
1223# Multifunction device drivers 1222# Multifunction device drivers
1224# 1223#
1225# CONFIG_MFD_CORE is not set 1224# CONFIG_MFD_CORE is not set
1225# CONFIG_MFD_88PM860X is not set
1226# CONFIG_MFD_SM501 is not set 1226# CONFIG_MFD_SM501 is not set
1227# CONFIG_HTC_PASIC3 is not set 1227# CONFIG_HTC_PASIC3 is not set
1228# CONFIG_HTC_I2CPLD is not set
1228# CONFIG_TPS65010 is not set 1229# CONFIG_TPS65010 is not set
1229# CONFIG_TWL4030_CORE is not set 1230# CONFIG_TWL4030_CORE is not set
1230# CONFIG_MFD_TMIO is not set 1231# CONFIG_MFD_TMIO is not set
1231# CONFIG_PMIC_DA903X is not set 1232# CONFIG_PMIC_DA903X is not set
1232# CONFIG_PMIC_ADP5520 is not set 1233# CONFIG_PMIC_ADP5520 is not set
1234# CONFIG_MFD_MAX8925 is not set
1233# CONFIG_MFD_WM8400 is not set 1235# CONFIG_MFD_WM8400 is not set
1234# CONFIG_MFD_WM831X is not set 1236# CONFIG_MFD_WM831X is not set
1235# CONFIG_MFD_WM8350_I2C is not set 1237# CONFIG_MFD_WM8350_I2C is not set
1238# CONFIG_MFD_WM8994 is not set
1236# CONFIG_MFD_PCF50633 is not set 1239# CONFIG_MFD_PCF50633 is not set
1237# CONFIG_AB3100_CORE is not set 1240# CONFIG_AB3100_CORE is not set
1238# CONFIG_MFD_88PM8607 is not set 1241# CONFIG_MFD_TIMBERDALE is not set
1242# CONFIG_LPC_SCH is not set
1239# CONFIG_REGULATOR is not set 1243# CONFIG_REGULATOR is not set
1240# CONFIG_MEDIA_SUPPORT is not set 1244# CONFIG_MEDIA_SUPPORT is not set
1241 1245
@@ -1244,6 +1248,7 @@ CONFIG_SSB_POSSIBLE=y
1244# 1248#
1245# CONFIG_AGP is not set 1249# CONFIG_AGP is not set
1246CONFIG_VGA_ARB=y 1250CONFIG_VGA_ARB=y
1251CONFIG_VGA_ARB_MAX_GPUS=16
1247# CONFIG_DRM is not set 1252# CONFIG_DRM is not set
1248# CONFIG_VGASTATE is not set 1253# CONFIG_VGASTATE is not set
1249CONFIG_VIDEO_OUTPUT_CONTROL=m 1254CONFIG_VIDEO_OUTPUT_CONTROL=m
@@ -1276,6 +1281,7 @@ CONFIG_USB_HID=y
1276# 1281#
1277# Special HID drivers 1282# Special HID drivers
1278# 1283#
1284# CONFIG_HID_3M_PCT is not set
1279CONFIG_HID_A4TECH=y 1285CONFIG_HID_A4TECH=y
1280CONFIG_HID_APPLE=y 1286CONFIG_HID_APPLE=y
1281CONFIG_HID_BELKIN=y 1287CONFIG_HID_BELKIN=y
@@ -1291,14 +1297,19 @@ CONFIG_HID_GYRATION=y
1291CONFIG_HID_LOGITECH=y 1297CONFIG_HID_LOGITECH=y
1292# CONFIG_LOGITECH_FF is not set 1298# CONFIG_LOGITECH_FF is not set
1293# CONFIG_LOGIRUMBLEPAD2_FF is not set 1299# CONFIG_LOGIRUMBLEPAD2_FF is not set
1300# CONFIG_LOGIG940_FF is not set
1294CONFIG_HID_MICROSOFT=y 1301CONFIG_HID_MICROSOFT=y
1302# CONFIG_HID_MOSART is not set
1295CONFIG_HID_MONTEREY=y 1303CONFIG_HID_MONTEREY=y
1296# CONFIG_HID_NTRIG is not set 1304# CONFIG_HID_NTRIG is not set
1305# CONFIG_HID_ORTEK is not set
1297CONFIG_HID_PANTHERLORD=y 1306CONFIG_HID_PANTHERLORD=y
1298# CONFIG_PANTHERLORD_FF is not set 1307# CONFIG_PANTHERLORD_FF is not set
1299CONFIG_HID_PETALYNX=y 1308CONFIG_HID_PETALYNX=y
1309# CONFIG_HID_QUANTA is not set
1300CONFIG_HID_SAMSUNG=y 1310CONFIG_HID_SAMSUNG=y
1301CONFIG_HID_SONY=y 1311CONFIG_HID_SONY=y
1312# CONFIG_HID_STANTUM is not set
1302CONFIG_HID_SUNPLUS=y 1313CONFIG_HID_SUNPLUS=y
1303# CONFIG_HID_GREENASIA is not set 1314# CONFIG_HID_GREENASIA is not set
1304# CONFIG_HID_SMARTJOYPLUS is not set 1315# CONFIG_HID_SMARTJOYPLUS is not set
@@ -1405,7 +1416,6 @@ CONFIG_USB_STORAGE=y
1405# CONFIG_USB_RIO500 is not set 1416# CONFIG_USB_RIO500 is not set
1406# CONFIG_USB_LEGOTOWER is not set 1417# CONFIG_USB_LEGOTOWER is not set
1407# CONFIG_USB_LCD is not set 1418# CONFIG_USB_LCD is not set
1408# CONFIG_USB_BERRY_CHARGE is not set
1409# CONFIG_USB_LED is not set 1419# CONFIG_USB_LED is not set
1410# CONFIG_USB_CYPRESS_CY7C63 is not set 1420# CONFIG_USB_CYPRESS_CY7C63 is not set
1411# CONFIG_USB_CYTHERM is not set 1421# CONFIG_USB_CYTHERM is not set
@@ -1418,7 +1428,6 @@ CONFIG_USB_STORAGE=y
1418# CONFIG_USB_IOWARRIOR is not set 1428# CONFIG_USB_IOWARRIOR is not set
1419# CONFIG_USB_TEST is not set 1429# CONFIG_USB_TEST is not set
1420# CONFIG_USB_ISIGHTFW is not set 1430# CONFIG_USB_ISIGHTFW is not set
1421# CONFIG_USB_VST is not set
1422# CONFIG_USB_GADGET is not set 1431# CONFIG_USB_GADGET is not set
1423 1432
1424# 1433#
@@ -1590,6 +1599,7 @@ CONFIG_JFFS2_ZLIB=y
1590# CONFIG_JFFS2_LZO is not set 1599# CONFIG_JFFS2_LZO is not set
1591CONFIG_JFFS2_RTIME=y 1600CONFIG_JFFS2_RTIME=y
1592# CONFIG_JFFS2_RUBIN is not set 1601# CONFIG_JFFS2_RUBIN is not set
1602# CONFIG_LOGFS is not set
1593# CONFIG_CRAMFS is not set 1603# CONFIG_CRAMFS is not set
1594# CONFIG_SQUASHFS is not set 1604# CONFIG_SQUASHFS is not set
1595# CONFIG_VXFS_FS is not set 1605# CONFIG_VXFS_FS is not set
@@ -1616,6 +1626,7 @@ CONFIG_SUNRPC_GSS=y
1616CONFIG_RPCSEC_GSS_KRB5=y 1626CONFIG_RPCSEC_GSS_KRB5=y
1617# CONFIG_RPCSEC_GSS_SPKM3 is not set 1627# CONFIG_RPCSEC_GSS_SPKM3 is not set
1618# CONFIG_SMB_FS is not set 1628# CONFIG_SMB_FS is not set
1629# CONFIG_CEPH_FS is not set
1619CONFIG_CIFS=m 1630CONFIG_CIFS=m
1620# CONFIG_CIFS_STATS is not set 1631# CONFIG_CIFS_STATS is not set
1621# CONFIG_CIFS_WEAK_PW_HASH is not set 1632# CONFIG_CIFS_WEAK_PW_HASH is not set
@@ -1761,6 +1772,7 @@ CONFIG_CRYPTO_MANAGER=y
1761CONFIG_CRYPTO_MANAGER2=y 1772CONFIG_CRYPTO_MANAGER2=y
1762# CONFIG_CRYPTO_GF128MUL is not set 1773# CONFIG_CRYPTO_GF128MUL is not set
1763# CONFIG_CRYPTO_NULL is not set 1774# CONFIG_CRYPTO_NULL is not set
1775# CONFIG_CRYPTO_PCRYPT is not set
1764CONFIG_CRYPTO_WORKQUEUE=y 1776CONFIG_CRYPTO_WORKQUEUE=y
1765# CONFIG_CRYPTO_CRYPTD is not set 1777# CONFIG_CRYPTO_CRYPTD is not set
1766CONFIG_CRYPTO_AUTHENC=m 1778CONFIG_CRYPTO_AUTHENC=m
diff --git a/arch/powerpc/configs/86xx/gef_sbc610_defconfig b/arch/powerpc/configs/86xx/gef_sbc610_defconfig
index 4554d9bb03e5..59bf9e27d7f2 100644
--- a/arch/powerpc/configs/86xx/gef_sbc610_defconfig
+++ b/arch/powerpc/configs/86xx/gef_sbc610_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.33-rc3 3# Linux kernel version: 2.6.34-rc5
4# Wed Jan 6 09:24:42 2010 4# Mon Apr 19 23:17:06 2010
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -102,14 +102,8 @@ CONFIG_RCU_FANOUT=32
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 106# CONFIG_SYSFS_DEPRECATED_V2 is not set
112CONFIG_SYSFS_DEPRECATED_V2=y
113CONFIG_RELAY=y 107CONFIG_RELAY=y
114# CONFIG_NAMESPACES is not set 108# CONFIG_NAMESPACES is not set
115CONFIG_BLK_DEV_INITRD=y 109CONFIG_BLK_DEV_INITRD=y
@@ -117,6 +111,7 @@ CONFIG_INITRAMFS_SOURCE=""
117CONFIG_RD_GZIP=y 111CONFIG_RD_GZIP=y
118# CONFIG_RD_BZIP2 is not set 112# CONFIG_RD_BZIP2 is not set
119# CONFIG_RD_LZMA is not set 113# CONFIG_RD_LZMA is not set
114# CONFIG_RD_LZO is not set
120# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 115# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
121CONFIG_SYSCTL=y 116CONFIG_SYSCTL=y
122CONFIG_ANON_INODES=y 117CONFIG_ANON_INODES=y
@@ -265,7 +260,7 @@ CONFIG_MMIO_NVRAM=y
265# 260#
266# Kernel options 261# Kernel options
267# 262#
268# CONFIG_HIGHMEM is not set 263CONFIG_HIGHMEM=y
269CONFIG_TICK_ONESHOT=y 264CONFIG_TICK_ONESHOT=y
270# CONFIG_NO_HZ is not set 265# CONFIG_NO_HZ is not set
271CONFIG_HIGH_RES_TIMERS=y 266CONFIG_HIGH_RES_TIMERS=y
@@ -326,6 +321,7 @@ CONFIG_ISA_DMA_API=y
326# Bus options 321# Bus options
327# 322#
328CONFIG_ZONE_DMA=y 323CONFIG_ZONE_DMA=y
324# CONFIG_NEED_DMA_MAP_STATE is not set
329CONFIG_GENERIC_ISA_DMA=y 325CONFIG_GENERIC_ISA_DMA=y
330CONFIG_PPC_INDIRECT_PCI=y 326CONFIG_PPC_INDIRECT_PCI=y
331CONFIG_FSL_SOC=y 327CONFIG_FSL_SOC=y
@@ -341,7 +337,6 @@ CONFIG_PCIEAER=y
341# CONFIG_PCIEASPM is not set 337# CONFIG_PCIEASPM is not set
342CONFIG_ARCH_SUPPORTS_MSI=y 338CONFIG_ARCH_SUPPORTS_MSI=y
343# CONFIG_PCI_MSI is not set 339# CONFIG_PCI_MSI is not set
344# CONFIG_PCI_LEGACY is not set
345CONFIG_PCI_DEBUG=y 340CONFIG_PCI_DEBUG=y
346# CONFIG_PCI_STUB is not set 341# CONFIG_PCI_STUB is not set
347# CONFIG_PCI_IOV is not set 342# CONFIG_PCI_IOV is not set
@@ -369,7 +364,6 @@ CONFIG_NET=y
369# Networking options 364# Networking options
370# 365#
371CONFIG_PACKET=y 366CONFIG_PACKET=y
372CONFIG_PACKET_MMAP=y
373CONFIG_UNIX=y 367CONFIG_UNIX=y
374CONFIG_XFRM=y 368CONFIG_XFRM=y
375CONFIG_XFRM_USER=m 369CONFIG_XFRM_USER=m
@@ -552,6 +546,7 @@ CONFIG_ATM_BR2684=m
552# CONFIG_ATM_BR2684_IPFILTER is not set 546# CONFIG_ATM_BR2684_IPFILTER is not set
553CONFIG_STP=m 547CONFIG_STP=m
554CONFIG_BRIDGE=m 548CONFIG_BRIDGE=m
549CONFIG_BRIDGE_IGMP_SNOOPING=y
555# CONFIG_NET_DSA is not set 550# CONFIG_NET_DSA is not set
556CONFIG_VLAN_8021Q=m 551CONFIG_VLAN_8021Q=m
557# CONFIG_VLAN_8021Q_GVRP is not set 552# CONFIG_VLAN_8021Q_GVRP is not set
@@ -651,7 +646,7 @@ CONFIG_MTD_CONCAT=y
651CONFIG_MTD_PARTITIONS=y 646CONFIG_MTD_PARTITIONS=y
652# CONFIG_MTD_REDBOOT_PARTS is not set 647# CONFIG_MTD_REDBOOT_PARTS is not set
653# CONFIG_MTD_CMDLINE_PARTS is not set 648# CONFIG_MTD_CMDLINE_PARTS is not set
654# CONFIG_MTD_OF_PARTS is not set 649CONFIG_MTD_OF_PARTS=y
655# CONFIG_MTD_AR7_PARTS is not set 650# CONFIG_MTD_AR7_PARTS is not set
656 651
657# 652#
@@ -671,13 +666,9 @@ CONFIG_MTD_BLOCK=y
671# RAM/ROM/Flash chip drivers 666# RAM/ROM/Flash chip drivers
672# 667#
673CONFIG_MTD_CFI=y 668CONFIG_MTD_CFI=y
674# CONFIG_MTD_JEDECPROBE is not set 669CONFIG_MTD_JEDECPROBE=y
675CONFIG_MTD_GEN_PROBE=y 670CONFIG_MTD_GEN_PROBE=y
676CONFIG_MTD_CFI_ADV_OPTIONS=y 671# CONFIG_MTD_CFI_ADV_OPTIONS is not set
677# CONFIG_MTD_CFI_NOSWAP is not set
678# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set
679CONFIG_MTD_CFI_LE_BYTE_SWAP=y
680# CONFIG_MTD_CFI_GEOMETRY is not set
681CONFIG_MTD_MAP_BANK_WIDTH_1=y 672CONFIG_MTD_MAP_BANK_WIDTH_1=y
682CONFIG_MTD_MAP_BANK_WIDTH_2=y 673CONFIG_MTD_MAP_BANK_WIDTH_2=y
683CONFIG_MTD_MAP_BANK_WIDTH_4=y 674CONFIG_MTD_MAP_BANK_WIDTH_4=y
@@ -688,7 +679,6 @@ CONFIG_MTD_CFI_I1=y
688CONFIG_MTD_CFI_I2=y 679CONFIG_MTD_CFI_I2=y
689# CONFIG_MTD_CFI_I4 is not set 680# CONFIG_MTD_CFI_I4 is not set
690# CONFIG_MTD_CFI_I8 is not set 681# CONFIG_MTD_CFI_I8 is not set
691# CONFIG_MTD_OTP is not set
692CONFIG_MTD_CFI_INTELEXT=y 682CONFIG_MTD_CFI_INTELEXT=y
693CONFIG_MTD_CFI_AMDSTD=y 683CONFIG_MTD_CFI_AMDSTD=y
694# CONFIG_MTD_CFI_STAA is not set 684# CONFIG_MTD_CFI_STAA is not set
@@ -733,6 +723,8 @@ CONFIG_MTD_PHYSMAP_OF=y
733# UBI - Unsorted block images 723# UBI - Unsorted block images
734# 724#
735# CONFIG_MTD_UBI is not set 725# CONFIG_MTD_UBI is not set
726CONFIG_OF_FLATTREE=y
727CONFIG_OF_DYNAMIC=y
736CONFIG_OF_DEVICE=y 728CONFIG_OF_DEVICE=y
737CONFIG_OF_GPIO=y 729CONFIG_OF_GPIO=y
738CONFIG_OF_I2C=y 730CONFIG_OF_I2C=y
@@ -770,6 +762,7 @@ CONFIG_MISC_DEVICES=y
770# CONFIG_ENCLOSURE_SERVICES is not set 762# CONFIG_ENCLOSURE_SERVICES is not set
771# CONFIG_HP_ILO is not set 763# CONFIG_HP_ILO is not set
772# CONFIG_ISL29003 is not set 764# CONFIG_ISL29003 is not set
765# CONFIG_SENSORS_TSL2550 is not set
773CONFIG_DS1682=y 766CONFIG_DS1682=y
774# CONFIG_C2PORT is not set 767# CONFIG_C2PORT is not set
775 768
@@ -787,6 +780,7 @@ CONFIG_HAVE_IDE=y
787# 780#
788# SCSI device support 781# SCSI device support
789# 782#
783CONFIG_SCSI_MOD=y
790# CONFIG_RAID_ATTRS is not set 784# CONFIG_RAID_ATTRS is not set
791CONFIG_SCSI=y 785CONFIG_SCSI=y
792CONFIG_SCSI_DMA=y 786CONFIG_SCSI_DMA=y
@@ -910,6 +904,7 @@ CONFIG_SATA_SIL=y
910# CONFIG_PATA_IT821X is not set 904# CONFIG_PATA_IT821X is not set
911# CONFIG_PATA_IT8213 is not set 905# CONFIG_PATA_IT8213 is not set
912# CONFIG_PATA_JMICRON is not set 906# CONFIG_PATA_JMICRON is not set
907# CONFIG_PATA_LEGACY is not set
913# CONFIG_PATA_TRIFLEX is not set 908# CONFIG_PATA_TRIFLEX is not set
914# CONFIG_PATA_MARVELL is not set 909# CONFIG_PATA_MARVELL is not set
915# CONFIG_PATA_MPIIX is not set 910# CONFIG_PATA_MPIIX is not set
@@ -1160,6 +1155,7 @@ CONFIG_SERIAL_CORE=y
1160CONFIG_SERIAL_CORE_CONSOLE=y 1155CONFIG_SERIAL_CORE_CONSOLE=y
1161# CONFIG_SERIAL_JSM is not set 1156# CONFIG_SERIAL_JSM is not set
1162# CONFIG_SERIAL_OF_PLATFORM is not set 1157# CONFIG_SERIAL_OF_PLATFORM is not set
1158# CONFIG_SERIAL_TIMBERDALE is not set
1163# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set 1159# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set
1164CONFIG_UNIX98_PTYS=y 1160CONFIG_UNIX98_PTYS=y
1165# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set 1161# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
@@ -1209,6 +1205,7 @@ CONFIG_I2C_HELPER_AUTO=y
1209CONFIG_I2C_MPC=y 1205CONFIG_I2C_MPC=y
1210# CONFIG_I2C_OCORES is not set 1206# CONFIG_I2C_OCORES is not set
1211# CONFIG_I2C_SIMTEC is not set 1207# CONFIG_I2C_SIMTEC is not set
1208# CONFIG_I2C_XILINX is not set
1212 1209
1213# 1210#
1214# External I2C/SMBus adapter drivers 1211# External I2C/SMBus adapter drivers
@@ -1222,15 +1219,9 @@ CONFIG_I2C_MPC=y
1222# 1219#
1223# CONFIG_I2C_PCA_PLATFORM is not set 1220# CONFIG_I2C_PCA_PLATFORM is not set
1224# CONFIG_I2C_STUB is not set 1221# CONFIG_I2C_STUB is not set
1225
1226#
1227# Miscellaneous I2C Chip support
1228#
1229# CONFIG_SENSORS_TSL2550 is not set
1230# CONFIG_I2C_DEBUG_CORE is not set 1222# CONFIG_I2C_DEBUG_CORE is not set
1231# CONFIG_I2C_DEBUG_ALGO is not set 1223# CONFIG_I2C_DEBUG_ALGO is not set
1232# CONFIG_I2C_DEBUG_BUS is not set 1224# CONFIG_I2C_DEBUG_BUS is not set
1233# CONFIG_I2C_DEBUG_CHIP is not set
1234# CONFIG_SPI is not set 1225# CONFIG_SPI is not set
1235 1226
1236# 1227#
@@ -1246,14 +1237,18 @@ CONFIG_GPIOLIB=y
1246# 1237#
1247# Memory mapped GPIO expanders: 1238# Memory mapped GPIO expanders:
1248# 1239#
1240# CONFIG_GPIO_IT8761E is not set
1249# CONFIG_GPIO_XILINX is not set 1241# CONFIG_GPIO_XILINX is not set
1242# CONFIG_GPIO_SCH is not set
1250 1243
1251# 1244#
1252# I2C GPIO expanders: 1245# I2C GPIO expanders:
1253# 1246#
1247# CONFIG_GPIO_MAX7300 is not set
1254# CONFIG_GPIO_MAX732X is not set 1248# CONFIG_GPIO_MAX732X is not set
1255# CONFIG_GPIO_PCA953X is not set 1249# CONFIG_GPIO_PCA953X is not set
1256# CONFIG_GPIO_PCF857X is not set 1250# CONFIG_GPIO_PCF857X is not set
1251# CONFIG_GPIO_ADP5588 is not set
1257 1252
1258# 1253#
1259# PCI GPIO expanders: 1254# PCI GPIO expanders:
@@ -1286,10 +1281,11 @@ CONFIG_HWMON=y
1286# CONFIG_SENSORS_ADM1029 is not set 1281# CONFIG_SENSORS_ADM1029 is not set
1287# CONFIG_SENSORS_ADM1031 is not set 1282# CONFIG_SENSORS_ADM1031 is not set
1288# CONFIG_SENSORS_ADM9240 is not set 1283# CONFIG_SENSORS_ADM9240 is not set
1284# CONFIG_SENSORS_ADT7411 is not set
1289# CONFIG_SENSORS_ADT7462 is not set 1285# CONFIG_SENSORS_ADT7462 is not set
1290# CONFIG_SENSORS_ADT7470 is not set 1286# CONFIG_SENSORS_ADT7470 is not set
1291# CONFIG_SENSORS_ADT7473 is not set
1292# CONFIG_SENSORS_ADT7475 is not set 1287# CONFIG_SENSORS_ADT7475 is not set
1288# CONFIG_SENSORS_ASC7621 is not set
1293# CONFIG_SENSORS_ATXP1 is not set 1289# CONFIG_SENSORS_ATXP1 is not set
1294# CONFIG_SENSORS_DS1621 is not set 1290# CONFIG_SENSORS_DS1621 is not set
1295# CONFIG_SENSORS_I5K_AMB is not set 1291# CONFIG_SENSORS_I5K_AMB is not set
@@ -1327,6 +1323,7 @@ CONFIG_SENSORS_LM92=y
1327# CONFIG_SENSORS_SMSC47M192 is not set 1323# CONFIG_SENSORS_SMSC47M192 is not set
1328# CONFIG_SENSORS_SMSC47B397 is not set 1324# CONFIG_SENSORS_SMSC47B397 is not set
1329# CONFIG_SENSORS_ADS7828 is not set 1325# CONFIG_SENSORS_ADS7828 is not set
1326# CONFIG_SENSORS_AMC6821 is not set
1330# CONFIG_SENSORS_THMC50 is not set 1327# CONFIG_SENSORS_THMC50 is not set
1331# CONFIG_SENSORS_TMP401 is not set 1328# CONFIG_SENSORS_TMP401 is not set
1332# CONFIG_SENSORS_TMP421 is not set 1329# CONFIG_SENSORS_TMP421 is not set
@@ -1375,19 +1372,24 @@ CONFIG_SSB_POSSIBLE=y
1375# Multifunction device drivers 1372# Multifunction device drivers
1376# 1373#
1377# CONFIG_MFD_CORE is not set 1374# CONFIG_MFD_CORE is not set
1375# CONFIG_MFD_88PM860X is not set
1378# CONFIG_MFD_SM501 is not set 1376# CONFIG_MFD_SM501 is not set
1379# CONFIG_HTC_PASIC3 is not set 1377# CONFIG_HTC_PASIC3 is not set
1378# CONFIG_HTC_I2CPLD is not set
1380# CONFIG_TPS65010 is not set 1379# CONFIG_TPS65010 is not set
1381# CONFIG_TWL4030_CORE is not set 1380# CONFIG_TWL4030_CORE is not set
1382# CONFIG_MFD_TMIO is not set 1381# CONFIG_MFD_TMIO is not set
1383# CONFIG_PMIC_DA903X is not set 1382# CONFIG_PMIC_DA903X is not set
1384# CONFIG_PMIC_ADP5520 is not set 1383# CONFIG_PMIC_ADP5520 is not set
1384# CONFIG_MFD_MAX8925 is not set
1385# CONFIG_MFD_WM8400 is not set 1385# CONFIG_MFD_WM8400 is not set
1386# CONFIG_MFD_WM831X is not set 1386# CONFIG_MFD_WM831X is not set
1387# CONFIG_MFD_WM8350_I2C is not set 1387# CONFIG_MFD_WM8350_I2C is not set
1388# CONFIG_MFD_WM8994 is not set
1388# CONFIG_MFD_PCF50633 is not set 1389# CONFIG_MFD_PCF50633 is not set
1389# CONFIG_AB3100_CORE is not set 1390# CONFIG_AB3100_CORE is not set
1390# CONFIG_MFD_88PM8607 is not set 1391# CONFIG_MFD_TIMBERDALE is not set
1392# CONFIG_LPC_SCH is not set
1391# CONFIG_REGULATOR is not set 1393# CONFIG_REGULATOR is not set
1392# CONFIG_MEDIA_SUPPORT is not set 1394# CONFIG_MEDIA_SUPPORT is not set
1393 1395
@@ -1396,6 +1398,7 @@ CONFIG_SSB_POSSIBLE=y
1396# 1398#
1397# CONFIG_AGP is not set 1399# CONFIG_AGP is not set
1398CONFIG_VGA_ARB=y 1400CONFIG_VGA_ARB=y
1401CONFIG_VGA_ARB_MAX_GPUS=16
1399# CONFIG_DRM is not set 1402# CONFIG_DRM is not set
1400# CONFIG_VGASTATE is not set 1403# CONFIG_VGASTATE is not set
1401CONFIG_VIDEO_OUTPUT_CONTROL=m 1404CONFIG_VIDEO_OUTPUT_CONTROL=m
@@ -1428,6 +1431,7 @@ CONFIG_USB_HID=y
1428# 1431#
1429# Special HID drivers 1432# Special HID drivers
1430# 1433#
1434# CONFIG_HID_3M_PCT is not set
1431CONFIG_HID_A4TECH=y 1435CONFIG_HID_A4TECH=y
1432CONFIG_HID_APPLE=y 1436CONFIG_HID_APPLE=y
1433CONFIG_HID_BELKIN=y 1437CONFIG_HID_BELKIN=y
@@ -1443,14 +1447,19 @@ CONFIG_HID_GYRATION=y
1443CONFIG_HID_LOGITECH=y 1447CONFIG_HID_LOGITECH=y
1444# CONFIG_LOGITECH_FF is not set 1448# CONFIG_LOGITECH_FF is not set
1445# CONFIG_LOGIRUMBLEPAD2_FF is not set 1449# CONFIG_LOGIRUMBLEPAD2_FF is not set
1450# CONFIG_LOGIG940_FF is not set
1446CONFIG_HID_MICROSOFT=y 1451CONFIG_HID_MICROSOFT=y
1452# CONFIG_HID_MOSART is not set
1447CONFIG_HID_MONTEREY=y 1453CONFIG_HID_MONTEREY=y
1448# CONFIG_HID_NTRIG is not set 1454# CONFIG_HID_NTRIG is not set
1455# CONFIG_HID_ORTEK is not set
1449CONFIG_HID_PANTHERLORD=y 1456CONFIG_HID_PANTHERLORD=y
1450# CONFIG_PANTHERLORD_FF is not set 1457# CONFIG_PANTHERLORD_FF is not set
1451CONFIG_HID_PETALYNX=y 1458CONFIG_HID_PETALYNX=y
1459# CONFIG_HID_QUANTA is not set
1452CONFIG_HID_SAMSUNG=y 1460CONFIG_HID_SAMSUNG=y
1453CONFIG_HID_SONY=y 1461CONFIG_HID_SONY=y
1462# CONFIG_HID_STANTUM is not set
1454CONFIG_HID_SUNPLUS=y 1463CONFIG_HID_SUNPLUS=y
1455# CONFIG_HID_GREENASIA is not set 1464# CONFIG_HID_GREENASIA is not set
1456# CONFIG_HID_SMARTJOYPLUS is not set 1465# CONFIG_HID_SMARTJOYPLUS is not set
@@ -1557,7 +1566,6 @@ CONFIG_USB_STORAGE=y
1557# CONFIG_USB_RIO500 is not set 1566# CONFIG_USB_RIO500 is not set
1558# CONFIG_USB_LEGOTOWER is not set 1567# CONFIG_USB_LEGOTOWER is not set
1559# CONFIG_USB_LCD is not set 1568# CONFIG_USB_LCD is not set
1560# CONFIG_USB_BERRY_CHARGE is not set
1561# CONFIG_USB_LED is not set 1569# CONFIG_USB_LED is not set
1562# CONFIG_USB_CYPRESS_CY7C63 is not set 1570# CONFIG_USB_CYPRESS_CY7C63 is not set
1563# CONFIG_USB_CYTHERM is not set 1571# CONFIG_USB_CYTHERM is not set
@@ -1570,7 +1578,6 @@ CONFIG_USB_STORAGE=y
1570# CONFIG_USB_IOWARRIOR is not set 1578# CONFIG_USB_IOWARRIOR is not set
1571# CONFIG_USB_TEST is not set 1579# CONFIG_USB_TEST is not set
1572# CONFIG_USB_ISIGHTFW is not set 1580# CONFIG_USB_ISIGHTFW is not set
1573# CONFIG_USB_VST is not set
1574# CONFIG_USB_ATM is not set 1581# CONFIG_USB_ATM is not set
1575# CONFIG_USB_GADGET is not set 1582# CONFIG_USB_GADGET is not set
1576 1583
@@ -1652,7 +1659,60 @@ CONFIG_RTC_DRV_RX8581=y
1652# 1659#
1653# TI VLYNQ 1660# TI VLYNQ
1654# 1661#
1655# CONFIG_STAGING is not set 1662CONFIG_STAGING=y
1663# CONFIG_STAGING_EXCLUDE_BUILD is not set
1664# CONFIG_ET131X is not set
1665# CONFIG_USB_IP_COMMON is not set
1666# CONFIG_PRISM2_USB is not set
1667# CONFIG_ECHO is not set
1668# CONFIG_COMEDI is not set
1669# CONFIG_ASUS_OLED is not set
1670# CONFIG_R8187SE is not set
1671# CONFIG_RTL8192SU is not set
1672# CONFIG_RTL8192U is not set
1673# CONFIG_RTL8192E is not set
1674# CONFIG_TRANZPORT is not set
1675
1676#
1677# Qualcomm MSM Camera And Video
1678#
1679
1680#
1681# Camera Sensor Selection
1682#
1683# CONFIG_INPUT_GPIO is not set
1684# CONFIG_POHMELFS is not set
1685# CONFIG_IDE_PHISON is not set
1686# CONFIG_VT6655 is not set
1687# CONFIG_VT6656 is not set
1688CONFIG_VME_BUS=y
1689
1690#
1691# VME Bridge Drivers
1692#
1693# CONFIG_VME_CA91CX42 is not set
1694CONFIG_VME_TSI148=y
1695
1696#
1697# VME Device Drivers
1698#
1699# CONFIG_VME_USER is not set
1700
1701#
1702# VME Board Drivers
1703#
1704# CONFIG_VMIVME_7805 is not set
1705
1706#
1707# RAR Register Driver
1708#
1709# CONFIG_RAR_REGISTER is not set
1710# CONFIG_IIO is not set
1711# CONFIG_RAMZSWAP is not set
1712# CONFIG_BATMAN_ADV is not set
1713# CONFIG_STRIP is not set
1714# CONFIG_DT3155 is not set
1715# CONFIG_CRYSTALHD is not set
1656 1716
1657# 1717#
1658# File systems 1718# File systems
@@ -1729,7 +1789,18 @@ CONFIG_MISC_FILESYSTEMS=y
1729# CONFIG_BEFS_FS is not set 1789# CONFIG_BEFS_FS is not set
1730# CONFIG_BFS_FS is not set 1790# CONFIG_BFS_FS is not set
1731# CONFIG_EFS_FS is not set 1791# CONFIG_EFS_FS is not set
1732# CONFIG_JFFS2_FS is not set 1792CONFIG_JFFS2_FS=y
1793CONFIG_JFFS2_FS_DEBUG=0
1794CONFIG_JFFS2_FS_WRITEBUFFER=y
1795# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
1796# CONFIG_JFFS2_SUMMARY is not set
1797# CONFIG_JFFS2_FS_XATTR is not set
1798# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
1799CONFIG_JFFS2_ZLIB=y
1800# CONFIG_JFFS2_LZO is not set
1801CONFIG_JFFS2_RTIME=y
1802# CONFIG_JFFS2_RUBIN is not set
1803# CONFIG_LOGFS is not set
1733# CONFIG_CRAMFS is not set 1804# CONFIG_CRAMFS is not set
1734# CONFIG_SQUASHFS is not set 1805# CONFIG_SQUASHFS is not set
1735# CONFIG_VXFS_FS is not set 1806# CONFIG_VXFS_FS is not set
@@ -1756,6 +1827,7 @@ CONFIG_SUNRPC_GSS=y
1756CONFIG_RPCSEC_GSS_KRB5=y 1827CONFIG_RPCSEC_GSS_KRB5=y
1757# CONFIG_RPCSEC_GSS_SPKM3 is not set 1828# CONFIG_RPCSEC_GSS_SPKM3 is not set
1758# CONFIG_SMB_FS is not set 1829# CONFIG_SMB_FS is not set
1830# CONFIG_CEPH_FS is not set
1759CONFIG_CIFS=m 1831CONFIG_CIFS=m
1760# CONFIG_CIFS_STATS is not set 1832# CONFIG_CIFS_STATS is not set
1761# CONFIG_CIFS_WEAK_PW_HASH is not set 1833# CONFIG_CIFS_WEAK_PW_HASH is not set
@@ -1828,7 +1900,7 @@ CONFIG_CRC32=y
1828# CONFIG_CRC7 is not set 1900# CONFIG_CRC7 is not set
1829CONFIG_LIBCRC32C=m 1901CONFIG_LIBCRC32C=m
1830CONFIG_ZLIB_INFLATE=y 1902CONFIG_ZLIB_INFLATE=y
1831CONFIG_ZLIB_DEFLATE=m 1903CONFIG_ZLIB_DEFLATE=y
1832CONFIG_DECOMPRESS_GZIP=y 1904CONFIG_DECOMPRESS_GZIP=y
1833CONFIG_HAS_IOMEM=y 1905CONFIG_HAS_IOMEM=y
1834CONFIG_HAS_IOPORT=y 1906CONFIG_HAS_IOPORT=y
@@ -1874,6 +1946,7 @@ CONFIG_DEBUG_PREEMPT=y
1874# CONFIG_DEBUG_SPINLOCK_SLEEP is not set 1946# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1875# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set 1947# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1876# CONFIG_DEBUG_KOBJECT is not set 1948# CONFIG_DEBUG_KOBJECT is not set
1949# CONFIG_DEBUG_HIGHMEM is not set
1877# CONFIG_DEBUG_BUGVERBOSE is not set 1950# CONFIG_DEBUG_BUGVERBOSE is not set
1878CONFIG_DEBUG_INFO=y 1951CONFIG_DEBUG_INFO=y
1879# CONFIG_DEBUG_VM is not set 1952# CONFIG_DEBUG_VM is not set
@@ -1963,6 +2036,7 @@ CONFIG_CRYPTO_MANAGER=y
1963CONFIG_CRYPTO_MANAGER2=y 2036CONFIG_CRYPTO_MANAGER2=y
1964# CONFIG_CRYPTO_GF128MUL is not set 2037# CONFIG_CRYPTO_GF128MUL is not set
1965CONFIG_CRYPTO_NULL=m 2038CONFIG_CRYPTO_NULL=m
2039# CONFIG_CRYPTO_PCRYPT is not set
1966CONFIG_CRYPTO_WORKQUEUE=y 2040CONFIG_CRYPTO_WORKQUEUE=y
1967# CONFIG_CRYPTO_CRYPTD is not set 2041# CONFIG_CRYPTO_CRYPTD is not set
1968CONFIG_CRYPTO_AUTHENC=m 2042CONFIG_CRYPTO_AUTHENC=m
diff --git a/arch/powerpc/configs/86xx/mpc8610_hpcd_defconfig b/arch/powerpc/configs/86xx/mpc8610_hpcd_defconfig
index aab3baebab8c..4e8b01e73245 100644
--- a/arch/powerpc/configs/86xx/mpc8610_hpcd_defconfig
+++ b/arch/powerpc/configs/86xx/mpc8610_hpcd_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.33-rc3 3# Linux kernel version: 2.6.34-rc5
4# Wed Jan 6 09:24:39 2010 4# Mon Apr 19 23:17:03 2010
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -97,14 +97,8 @@ CONFIG_RCU_FANOUT=32
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 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
@@ -320,6 +315,7 @@ CONFIG_ISA_DMA_API=y
320# Bus options 315# Bus options
321# 316#
322CONFIG_ZONE_DMA=y 317CONFIG_ZONE_DMA=y
318# CONFIG_NEED_DMA_MAP_STATE is not set
323CONFIG_GENERIC_ISA_DMA=y 319CONFIG_GENERIC_ISA_DMA=y
324CONFIG_PPC_INDIRECT_PCI=y 320CONFIG_PPC_INDIRECT_PCI=y
325CONFIG_FSL_SOC=y 321CONFIG_FSL_SOC=y
@@ -335,7 +331,6 @@ CONFIG_PCIEAER=y
335# CONFIG_PCIEASPM is not set 331# CONFIG_PCIEASPM 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
339CONFIG_PCI_DEBUG=y 334CONFIG_PCI_DEBUG=y
340# CONFIG_PCI_STUB is not set 335# CONFIG_PCI_STUB is not set
341# CONFIG_PCI_IOV is not set 336# CONFIG_PCI_IOV is not set
@@ -362,7 +357,6 @@ CONFIG_NET=y
362# Networking options 357# Networking options
363# 358#
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=y 362CONFIG_XFRM_USER=y
@@ -571,6 +565,8 @@ CONFIG_MTD_NAND_FSL_ELBC=y
571# UBI - Unsorted block images 565# UBI - Unsorted block images
572# 566#
573# CONFIG_MTD_UBI is not set 567# CONFIG_MTD_UBI is not set
568CONFIG_OF_FLATTREE=y
569CONFIG_OF_DYNAMIC=y
574CONFIG_OF_DEVICE=y 570CONFIG_OF_DEVICE=y
575CONFIG_OF_I2C=y 571CONFIG_OF_I2C=y
576# CONFIG_PARPORT is not set 572# CONFIG_PARPORT is not set
@@ -605,6 +601,7 @@ CONFIG_MISC_DEVICES=y
605# CONFIG_ENCLOSURE_SERVICES is not set 601# CONFIG_ENCLOSURE_SERVICES is not set
606# CONFIG_HP_ILO is not set 602# CONFIG_HP_ILO is not set
607# CONFIG_ISL29003 is not set 603# CONFIG_ISL29003 is not set
604# CONFIG_SENSORS_TSL2550 is not set
608# CONFIG_DS1682 is not set 605# CONFIG_DS1682 is not set
609# CONFIG_C2PORT is not set 606# CONFIG_C2PORT is not set
610 607
@@ -670,6 +667,7 @@ CONFIG_IDE_PROC_FS=y
670# 667#
671# SCSI device support 668# SCSI device support
672# 669#
670CONFIG_SCSI_MOD=y
673# CONFIG_RAID_ATTRS is not set 671# CONFIG_RAID_ATTRS is not set
674CONFIG_SCSI=y 672CONFIG_SCSI=y
675CONFIG_SCSI_DMA=y 673CONFIG_SCSI_DMA=y
@@ -792,6 +790,7 @@ CONFIG_PATA_ALI=y
792# CONFIG_PATA_IT821X is not set 790# CONFIG_PATA_IT821X is not set
793# CONFIG_PATA_IT8213 is not set 791# CONFIG_PATA_IT8213 is not set
794# CONFIG_PATA_JMICRON is not set 792# CONFIG_PATA_JMICRON is not set
793# CONFIG_PATA_LEGACY is not set
795# CONFIG_PATA_TRIFLEX is not set 794# CONFIG_PATA_TRIFLEX is not set
796# CONFIG_PATA_MARVELL is not set 795# CONFIG_PATA_MARVELL is not set
797# CONFIG_PATA_MPIIX is not set 796# CONFIG_PATA_MPIIX is not set
@@ -970,6 +969,7 @@ CONFIG_SERIAL_CORE=y
970CONFIG_SERIAL_CORE_CONSOLE=y 969CONFIG_SERIAL_CORE_CONSOLE=y
971# CONFIG_SERIAL_JSM is not set 970# CONFIG_SERIAL_JSM is not set
972# CONFIG_SERIAL_OF_PLATFORM is not set 971# CONFIG_SERIAL_OF_PLATFORM is not set
972# CONFIG_SERIAL_TIMBERDALE is not set
973# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set 973# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set
974CONFIG_UNIX98_PTYS=y 974CONFIG_UNIX98_PTYS=y
975# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set 975# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
@@ -1017,6 +1017,7 @@ CONFIG_I2C_HELPER_AUTO=y
1017CONFIG_I2C_MPC=y 1017CONFIG_I2C_MPC=y
1018# CONFIG_I2C_OCORES is not set 1018# CONFIG_I2C_OCORES is not set
1019# CONFIG_I2C_SIMTEC is not set 1019# CONFIG_I2C_SIMTEC is not set
1020# CONFIG_I2C_XILINX is not set
1020 1021
1021# 1022#
1022# External I2C/SMBus adapter drivers 1023# External I2C/SMBus adapter drivers
@@ -1029,15 +1030,9 @@ CONFIG_I2C_MPC=y
1029# 1030#
1030# CONFIG_I2C_PCA_PLATFORM is not set 1031# CONFIG_I2C_PCA_PLATFORM is not set
1031# CONFIG_I2C_STUB is not set 1032# CONFIG_I2C_STUB is not set
1032
1033#
1034# Miscellaneous I2C Chip support
1035#
1036# CONFIG_SENSORS_TSL2550 is not set
1037# CONFIG_I2C_DEBUG_CORE is not set 1033# CONFIG_I2C_DEBUG_CORE is not set
1038# CONFIG_I2C_DEBUG_ALGO is not set 1034# CONFIG_I2C_DEBUG_ALGO is not set
1039# CONFIG_I2C_DEBUG_BUS is not set 1035# CONFIG_I2C_DEBUG_BUS is not set
1040# CONFIG_I2C_DEBUG_CHIP is not set
1041# CONFIG_SPI is not set 1036# CONFIG_SPI is not set
1042 1037
1043# 1038#
@@ -1062,18 +1057,21 @@ CONFIG_SSB_POSSIBLE=y
1062# Multifunction device drivers 1057# Multifunction device drivers
1063# 1058#
1064# CONFIG_MFD_CORE is not set 1059# CONFIG_MFD_CORE is not set
1060# CONFIG_MFD_88PM860X is not set
1065# CONFIG_MFD_SM501 is not set 1061# CONFIG_MFD_SM501 is not set
1066# CONFIG_HTC_PASIC3 is not set 1062# CONFIG_HTC_PASIC3 is not set
1067# CONFIG_TWL4030_CORE is not set 1063# CONFIG_TWL4030_CORE is not set
1068# CONFIG_MFD_TMIO is not set 1064# CONFIG_MFD_TMIO is not set
1069# CONFIG_PMIC_DA903X is not set 1065# CONFIG_PMIC_DA903X is not set
1070# CONFIG_PMIC_ADP5520 is not set 1066# CONFIG_PMIC_ADP5520 is not set
1067# CONFIG_MFD_MAX8925 is not set
1071# CONFIG_MFD_WM8400 is not set 1068# CONFIG_MFD_WM8400 is not set
1072# CONFIG_MFD_WM831X is not set 1069# CONFIG_MFD_WM831X is not set
1073# CONFIG_MFD_WM8350_I2C is not set 1070# CONFIG_MFD_WM8350_I2C is not set
1071# CONFIG_MFD_WM8994 is not set
1074# CONFIG_MFD_PCF50633 is not set 1072# CONFIG_MFD_PCF50633 is not set
1075# CONFIG_AB3100_CORE is not set 1073# CONFIG_AB3100_CORE is not set
1076# CONFIG_MFD_88PM8607 is not set 1074# CONFIG_LPC_SCH is not set
1077# CONFIG_REGULATOR is not set 1075# CONFIG_REGULATOR is not set
1078# CONFIG_MEDIA_SUPPORT is not set 1076# CONFIG_MEDIA_SUPPORT is not set
1079 1077
@@ -1082,6 +1080,7 @@ CONFIG_SSB_POSSIBLE=y
1082# 1080#
1083# CONFIG_AGP is not set 1081# CONFIG_AGP is not set
1084CONFIG_VGA_ARB=y 1082CONFIG_VGA_ARB=y
1083CONFIG_VGA_ARB_MAX_GPUS=16
1085# CONFIG_DRM is not set 1084# CONFIG_DRM is not set
1086# CONFIG_VGASTATE is not set 1085# CONFIG_VGASTATE is not set
1087CONFIG_VIDEO_OUTPUT_CONTROL=y 1086CONFIG_VIDEO_OUTPUT_CONTROL=y
@@ -1434,6 +1433,7 @@ CONFIG_MISC_FILESYSTEMS=y
1434# CONFIG_BFS_FS is not set 1433# CONFIG_BFS_FS is not set
1435# CONFIG_EFS_FS is not set 1434# CONFIG_EFS_FS is not set
1436# CONFIG_JFFS2_FS is not set 1435# CONFIG_JFFS2_FS is not set
1436# CONFIG_LOGFS is not set
1437# CONFIG_CRAMFS is not set 1437# CONFIG_CRAMFS is not set
1438# CONFIG_SQUASHFS is not set 1438# CONFIG_SQUASHFS is not set
1439# CONFIG_VXFS_FS is not set 1439# CONFIG_VXFS_FS is not set
@@ -1461,6 +1461,7 @@ CONFIG_SUNRPC=y
1461# CONFIG_RPCSEC_GSS_KRB5 is not set 1461# CONFIG_RPCSEC_GSS_KRB5 is not set
1462# CONFIG_RPCSEC_GSS_SPKM3 is not set 1462# CONFIG_RPCSEC_GSS_SPKM3 is not set
1463# CONFIG_SMB_FS is not set 1463# CONFIG_SMB_FS is not set
1464# CONFIG_CEPH_FS is not set
1464# CONFIG_CIFS is not set 1465# CONFIG_CIFS is not set
1465# CONFIG_NCP_FS is not set 1466# CONFIG_NCP_FS is not set
1466# CONFIG_CODA_FS is not set 1467# CONFIG_CODA_FS is not set
diff --git a/arch/powerpc/configs/86xx/mpc8641_hpcn_defconfig b/arch/powerpc/configs/86xx/mpc8641_hpcn_defconfig
index 727a8c8d15b5..20fde6374aad 100644
--- a/arch/powerpc/configs/86xx/mpc8641_hpcn_defconfig
+++ b/arch/powerpc/configs/86xx/mpc8641_hpcn_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.33-rc3 3# Linux kernel version: 2.6.34-rc5
4# Wed Jan 6 09:24:40 2010 4# Mon Apr 19 23:17:04 2010
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -97,18 +97,13 @@ CONFIG_TREE_RCU=y
97# CONFIG_RCU_TRACE is not set 97# CONFIG_RCU_TRACE is not set
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 106# CONFIG_SYSFS_DEPRECATED_V2 is not set
111CONFIG_SYSFS_DEPRECATED_V2=y
112# CONFIG_RELAY is not set 107# CONFIG_RELAY is not set
113# CONFIG_NAMESPACES is not set 108# CONFIG_NAMESPACES is not set
114CONFIG_BLK_DEV_INITRD=y 109CONFIG_BLK_DEV_INITRD=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
@@ -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
@@ -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
@@ -365,7 +361,6 @@ CONFIG_NET=y
365# Networking options 361# Networking options
366# 362#
367CONFIG_PACKET=y 363CONFIG_PACKET=y
368# CONFIG_PACKET_MMAP is not set
369CONFIG_UNIX=y 364CONFIG_UNIX=y
370CONFIG_XFRM=y 365CONFIG_XFRM=y
371CONFIG_XFRM_USER=y 366CONFIG_XFRM_USER=y
@@ -498,6 +493,8 @@ CONFIG_EXTRA_FIRMWARE=""
498# CONFIG_SYS_HYPERVISOR is not set 493# CONFIG_SYS_HYPERVISOR is not set
499# CONFIG_CONNECTOR is not set 494# CONFIG_CONNECTOR is not set
500# CONFIG_MTD is not set 495# CONFIG_MTD is not set
496CONFIG_OF_FLATTREE=y
497CONFIG_OF_DYNAMIC=y
501CONFIG_OF_DEVICE=y 498CONFIG_OF_DEVICE=y
502CONFIG_OF_I2C=y 499CONFIG_OF_I2C=y
503CONFIG_OF_MDIO=y 500CONFIG_OF_MDIO=y
@@ -534,6 +531,7 @@ CONFIG_MISC_DEVICES=y
534# CONFIG_ENCLOSURE_SERVICES is not set 531# CONFIG_ENCLOSURE_SERVICES is not set
535# CONFIG_HP_ILO is not set 532# CONFIG_HP_ILO is not set
536# CONFIG_ISL29003 is not set 533# CONFIG_ISL29003 is not set
534# CONFIG_SENSORS_TSL2550 is not set
537# CONFIG_DS1682 is not set 535# CONFIG_DS1682 is not set
538# CONFIG_C2PORT is not set 536# CONFIG_C2PORT is not set
539 537
@@ -551,6 +549,7 @@ CONFIG_HAVE_IDE=y
551# 549#
552# SCSI device support 550# SCSI device support
553# 551#
552CONFIG_SCSI_MOD=y
554# CONFIG_RAID_ATTRS is not set 553# CONFIG_RAID_ATTRS is not set
555CONFIG_SCSI=y 554CONFIG_SCSI=y
556CONFIG_SCSI_DMA=y 555CONFIG_SCSI_DMA=y
@@ -675,6 +674,7 @@ CONFIG_PATA_ALI=y
675# CONFIG_PATA_IT821X is not set 674# CONFIG_PATA_IT821X is not set
676# CONFIG_PATA_IT8213 is not set 675# CONFIG_PATA_IT8213 is not set
677# CONFIG_PATA_JMICRON is not set 676# CONFIG_PATA_JMICRON is not set
677# CONFIG_PATA_LEGACY is not set
678# CONFIG_PATA_TRIFLEX is not set 678# CONFIG_PATA_TRIFLEX is not set
679# CONFIG_PATA_MARVELL is not set 679# CONFIG_PATA_MARVELL is not set
680# CONFIG_PATA_MPIIX is not set 680# CONFIG_PATA_MPIIX is not set
@@ -799,6 +799,8 @@ CONFIG_NETDEV_10000=y
799# CONFIG_CHELSIO_T1 is not set 799# CONFIG_CHELSIO_T1 is not set
800CONFIG_CHELSIO_T3_DEPENDS=y 800CONFIG_CHELSIO_T3_DEPENDS=y
801# CONFIG_CHELSIO_T3 is not set 801# CONFIG_CHELSIO_T3 is not set
802CONFIG_CHELSIO_T4_DEPENDS=y
803# CONFIG_CHELSIO_T4 is not set
802# CONFIG_ENIC is not set 804# CONFIG_ENIC is not set
803# CONFIG_IXGBE is not set 805# CONFIG_IXGBE is not set
804# CONFIG_IXGB is not set 806# CONFIG_IXGB is not set
@@ -811,6 +813,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
811# CONFIG_MLX4_CORE is not set 813# CONFIG_MLX4_CORE is not set
812# CONFIG_TEHUTI is not set 814# CONFIG_TEHUTI is not set
813# CONFIG_BNX2X is not set 815# CONFIG_BNX2X is not set
816# CONFIG_QLCNIC is not set
814# CONFIG_QLGE is not set 817# CONFIG_QLGE is not set
815# CONFIG_SFC is not set 818# CONFIG_SFC is not set
816# CONFIG_BE2NET is not set 819# CONFIG_BE2NET is not set
@@ -920,6 +923,7 @@ CONFIG_SERIAL_CORE=y
920CONFIG_SERIAL_CORE_CONSOLE=y 923CONFIG_SERIAL_CORE_CONSOLE=y
921# CONFIG_SERIAL_JSM is not set 924# CONFIG_SERIAL_JSM is not set
922# CONFIG_SERIAL_OF_PLATFORM is not set 925# CONFIG_SERIAL_OF_PLATFORM is not set
926# CONFIG_SERIAL_TIMBERDALE is not set
923# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set 927# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set
924CONFIG_UNIX98_PTYS=y 928CONFIG_UNIX98_PTYS=y
925# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set 929# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
@@ -968,6 +972,7 @@ CONFIG_I2C_HELPER_AUTO=y
968CONFIG_I2C_MPC=y 972CONFIG_I2C_MPC=y
969# CONFIG_I2C_OCORES is not set 973# CONFIG_I2C_OCORES is not set
970# CONFIG_I2C_SIMTEC is not set 974# CONFIG_I2C_SIMTEC is not set
975# CONFIG_I2C_XILINX is not set
971 976
972# 977#
973# External I2C/SMBus adapter drivers 978# External I2C/SMBus adapter drivers
@@ -981,15 +986,9 @@ CONFIG_I2C_MPC=y
981# 986#
982# CONFIG_I2C_PCA_PLATFORM is not set 987# CONFIG_I2C_PCA_PLATFORM is not set
983# CONFIG_I2C_STUB is not set 988# CONFIG_I2C_STUB is not set
984
985#
986# Miscellaneous I2C Chip support
987#
988# CONFIG_SENSORS_TSL2550 is not set
989# CONFIG_I2C_DEBUG_CORE is not set 989# CONFIG_I2C_DEBUG_CORE is not set
990# CONFIG_I2C_DEBUG_ALGO is not set 990# CONFIG_I2C_DEBUG_ALGO is not set
991# CONFIG_I2C_DEBUG_BUS is not set 991# CONFIG_I2C_DEBUG_BUS is not set
992# CONFIG_I2C_DEBUG_CHIP is not set
993# CONFIG_SPI is not set 992# CONFIG_SPI is not set
994 993
995# 994#
@@ -1014,18 +1013,21 @@ CONFIG_SSB_POSSIBLE=y
1014# Multifunction device drivers 1013# Multifunction device drivers
1015# 1014#
1016# CONFIG_MFD_CORE is not set 1015# CONFIG_MFD_CORE is not set
1016# CONFIG_MFD_88PM860X is not set
1017# CONFIG_MFD_SM501 is not set 1017# CONFIG_MFD_SM501 is not set
1018# CONFIG_HTC_PASIC3 is not set 1018# CONFIG_HTC_PASIC3 is not set
1019# CONFIG_TWL4030_CORE is not set 1019# CONFIG_TWL4030_CORE is not set
1020# CONFIG_MFD_TMIO is not set 1020# CONFIG_MFD_TMIO is not set
1021# CONFIG_PMIC_DA903X is not set 1021# CONFIG_PMIC_DA903X is not set
1022# CONFIG_PMIC_ADP5520 is not set 1022# CONFIG_PMIC_ADP5520 is not set
1023# CONFIG_MFD_MAX8925 is not set
1023# CONFIG_MFD_WM8400 is not set 1024# CONFIG_MFD_WM8400 is not set
1024# CONFIG_MFD_WM831X is not set 1025# CONFIG_MFD_WM831X is not set
1025# CONFIG_MFD_WM8350_I2C is not set 1026# CONFIG_MFD_WM8350_I2C is not set
1027# CONFIG_MFD_WM8994 is not set
1026# CONFIG_MFD_PCF50633 is not set 1028# CONFIG_MFD_PCF50633 is not set
1027# CONFIG_AB3100_CORE is not set 1029# CONFIG_AB3100_CORE is not set
1028# CONFIG_MFD_88PM8607 is not set 1030# CONFIG_LPC_SCH is not set
1029# CONFIG_REGULATOR is not set 1031# CONFIG_REGULATOR is not set
1030# CONFIG_MEDIA_SUPPORT is not set 1032# CONFIG_MEDIA_SUPPORT is not set
1031 1033
@@ -1034,6 +1036,7 @@ CONFIG_SSB_POSSIBLE=y
1034# 1036#
1035# CONFIG_AGP is not set 1037# CONFIG_AGP is not set
1036CONFIG_VGA_ARB=y 1038CONFIG_VGA_ARB=y
1039CONFIG_VGA_ARB_MAX_GPUS=16
1037# CONFIG_DRM is not set 1040# CONFIG_DRM is not set
1038# CONFIG_VGASTATE is not set 1041# CONFIG_VGASTATE is not set
1039CONFIG_VIDEO_OUTPUT_CONTROL=y 1042CONFIG_VIDEO_OUTPUT_CONTROL=y
@@ -1151,6 +1154,7 @@ CONFIG_SND_INTEL8X0=y
1151CONFIG_SND_PPC=y 1154CONFIG_SND_PPC=y
1152CONFIG_SND_USB=y 1155CONFIG_SND_USB=y
1153# CONFIG_SND_USB_AUDIO is not set 1156# CONFIG_SND_USB_AUDIO is not set
1157# CONFIG_SND_USB_UA101 is not set
1154# CONFIG_SND_USB_USX2Y is not set 1158# CONFIG_SND_USB_USX2Y is not set
1155# CONFIG_SND_USB_CAIAQ is not set 1159# CONFIG_SND_USB_CAIAQ is not set
1156# CONFIG_SND_SOC is not set 1160# CONFIG_SND_SOC is not set
@@ -1170,6 +1174,7 @@ CONFIG_USB_HID=y
1170# 1174#
1171# Special HID drivers 1175# Special HID drivers
1172# 1176#
1177# CONFIG_HID_3M_PCT is not set
1173CONFIG_HID_A4TECH=y 1178CONFIG_HID_A4TECH=y
1174CONFIG_HID_APPLE=y 1179CONFIG_HID_APPLE=y
1175CONFIG_HID_BELKIN=y 1180CONFIG_HID_BELKIN=y
@@ -1185,14 +1190,19 @@ CONFIG_HID_GYRATION=y
1185CONFIG_HID_LOGITECH=y 1190CONFIG_HID_LOGITECH=y
1186# CONFIG_LOGITECH_FF is not set 1191# CONFIG_LOGITECH_FF is not set
1187# CONFIG_LOGIRUMBLEPAD2_FF is not set 1192# CONFIG_LOGIRUMBLEPAD2_FF is not set
1193# CONFIG_LOGIG940_FF is not set
1188CONFIG_HID_MICROSOFT=y 1194CONFIG_HID_MICROSOFT=y
1195# CONFIG_HID_MOSART is not set
1189CONFIG_HID_MONTEREY=y 1196CONFIG_HID_MONTEREY=y
1190# CONFIG_HID_NTRIG is not set 1197# CONFIG_HID_NTRIG is not set
1198# CONFIG_HID_ORTEK is not set
1191CONFIG_HID_PANTHERLORD=y 1199CONFIG_HID_PANTHERLORD=y
1192# CONFIG_PANTHERLORD_FF is not set 1200# CONFIG_PANTHERLORD_FF is not set
1193CONFIG_HID_PETALYNX=y 1201CONFIG_HID_PETALYNX=y
1202# CONFIG_HID_QUANTA is not set
1194CONFIG_HID_SAMSUNG=y 1203CONFIG_HID_SAMSUNG=y
1195CONFIG_HID_SONY=y 1204CONFIG_HID_SONY=y
1205# CONFIG_HID_STANTUM is not set
1196CONFIG_HID_SUNPLUS=y 1206CONFIG_HID_SUNPLUS=y
1197# CONFIG_HID_GREENASIA is not set 1207# CONFIG_HID_GREENASIA is not set
1198# CONFIG_HID_SMARTJOYPLUS is not set 1208# CONFIG_HID_SMARTJOYPLUS is not set
@@ -1300,7 +1310,6 @@ CONFIG_USB_STORAGE=y
1300# CONFIG_USB_RIO500 is not set 1310# CONFIG_USB_RIO500 is not set
1301# CONFIG_USB_LEGOTOWER is not set 1311# CONFIG_USB_LEGOTOWER is not set
1302# CONFIG_USB_LCD is not set 1312# CONFIG_USB_LCD is not set
1303# CONFIG_USB_BERRY_CHARGE is not set
1304# CONFIG_USB_LED is not set 1313# CONFIG_USB_LED is not set
1305# CONFIG_USB_CYPRESS_CY7C63 is not set 1314# CONFIG_USB_CYPRESS_CY7C63 is not set
1306# CONFIG_USB_CYTHERM is not set 1315# CONFIG_USB_CYTHERM is not set
@@ -1313,7 +1322,6 @@ CONFIG_USB_STORAGE=y
1313# CONFIG_USB_IOWARRIOR is not set 1322# CONFIG_USB_IOWARRIOR is not set
1314# CONFIG_USB_TEST is not set 1323# CONFIG_USB_TEST is not set
1315# CONFIG_USB_ISIGHTFW is not set 1324# CONFIG_USB_ISIGHTFW is not set
1316# CONFIG_USB_VST is not set
1317# CONFIG_USB_GADGET is not set 1325# CONFIG_USB_GADGET is not set
1318 1326
1319# 1327#
@@ -1475,6 +1483,7 @@ CONFIG_BEFS_FS=m
1475# CONFIG_BEFS_DEBUG is not set 1483# CONFIG_BEFS_DEBUG is not set
1476CONFIG_BFS_FS=m 1484CONFIG_BFS_FS=m
1477CONFIG_EFS_FS=m 1485CONFIG_EFS_FS=m
1486# CONFIG_LOGFS is not set
1478CONFIG_CRAMFS=y 1487CONFIG_CRAMFS=y
1479# CONFIG_SQUASHFS is not set 1488# CONFIG_SQUASHFS is not set
1480CONFIG_VXFS_FS=m 1489CONFIG_VXFS_FS=m
@@ -1506,6 +1515,7 @@ CONFIG_SUNRPC_GSS=y
1506CONFIG_RPCSEC_GSS_KRB5=y 1515CONFIG_RPCSEC_GSS_KRB5=y
1507# CONFIG_RPCSEC_GSS_SPKM3 is not set 1516# CONFIG_RPCSEC_GSS_SPKM3 is not set
1508# CONFIG_SMB_FS is not set 1517# CONFIG_SMB_FS is not set
1518# CONFIG_CEPH_FS is not set
1509# CONFIG_CIFS is not set 1519# CONFIG_CIFS is not set
1510# CONFIG_NCP_FS is not set 1520# CONFIG_NCP_FS is not set
1511# CONFIG_CODA_FS is not set 1521# CONFIG_CODA_FS is not set
@@ -1717,6 +1727,7 @@ CONFIG_CRYPTO_MANAGER=y
1717CONFIG_CRYPTO_MANAGER2=y 1727CONFIG_CRYPTO_MANAGER2=y
1718# CONFIG_CRYPTO_GF128MUL is not set 1728# CONFIG_CRYPTO_GF128MUL is not set
1719# CONFIG_CRYPTO_NULL is not set 1729# CONFIG_CRYPTO_NULL is not set
1730# CONFIG_CRYPTO_PCRYPT is not set
1720CONFIG_CRYPTO_WORKQUEUE=y 1731CONFIG_CRYPTO_WORKQUEUE=y
1721# CONFIG_CRYPTO_CRYPTD is not set 1732# CONFIG_CRYPTO_CRYPTD is not set
1722# CONFIG_CRYPTO_AUTHENC is not set 1733# CONFIG_CRYPTO_AUTHENC is not set
diff --git a/arch/powerpc/configs/86xx/sbc8641d_defconfig b/arch/powerpc/configs/86xx/sbc8641d_defconfig
index 4fb04dd2cde3..74f714d85936 100644
--- a/arch/powerpc/configs/86xx/sbc8641d_defconfig
+++ b/arch/powerpc/configs/86xx/sbc8641d_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.33-rc3 3# Linux kernel version: 2.6.34-rc5
4# Wed Jan 6 09:24:38 2010 4# Mon Apr 19 23:17:02 2010
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -101,14 +101,8 @@ CONFIG_RCU_FANOUT=32
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 105# CONFIG_SYSFS_DEPRECATED_V2 is not set
111CONFIG_SYSFS_DEPRECATED_V2=y
112CONFIG_RELAY=y 106CONFIG_RELAY=y
113# CONFIG_NAMESPACES is not set 107# CONFIG_NAMESPACES is not set
114CONFIG_BLK_DEV_INITRD=y 108CONFIG_BLK_DEV_INITRD=y
@@ -116,6 +110,7 @@ CONFIG_INITRAMFS_SOURCE=""
116CONFIG_RD_GZIP=y 110CONFIG_RD_GZIP=y
117# CONFIG_RD_BZIP2 is not set 111# CONFIG_RD_BZIP2 is not set
118# CONFIG_RD_LZMA is not set 112# CONFIG_RD_LZMA is not set
113# CONFIG_RD_LZO is not set
119# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 114# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
120CONFIG_SYSCTL=y 115CONFIG_SYSCTL=y
121CONFIG_ANON_INODES=y 116CONFIG_ANON_INODES=y
@@ -327,6 +322,7 @@ CONFIG_ISA_DMA_API=y
327# Bus options 322# Bus options
328# 323#
329CONFIG_ZONE_DMA=y 324CONFIG_ZONE_DMA=y
325# CONFIG_NEED_DMA_MAP_STATE is not set
330CONFIG_GENERIC_ISA_DMA=y 326CONFIG_GENERIC_ISA_DMA=y
331CONFIG_PPC_INDIRECT_PCI=y 327CONFIG_PPC_INDIRECT_PCI=y
332CONFIG_FSL_SOC=y 328CONFIG_FSL_SOC=y
@@ -342,7 +338,6 @@ CONFIG_PCIEAER=y
342# CONFIG_PCIEASPM is not set 338# CONFIG_PCIEASPM is not set
343CONFIG_ARCH_SUPPORTS_MSI=y 339CONFIG_ARCH_SUPPORTS_MSI=y
344# CONFIG_PCI_MSI is not set 340# CONFIG_PCI_MSI is not set
345# CONFIG_PCI_LEGACY is not set
346# CONFIG_PCI_DEBUG is not set 341# CONFIG_PCI_DEBUG is not set
347# CONFIG_PCI_STUB is not set 342# CONFIG_PCI_STUB is not set
348# CONFIG_PCI_IOV is not set 343# CONFIG_PCI_IOV is not set
@@ -369,7 +364,6 @@ CONFIG_NET=y
369# Networking options 364# Networking options
370# 365#
371CONFIG_PACKET=y 366CONFIG_PACKET=y
372CONFIG_PACKET_MMAP=y
373CONFIG_UNIX=y 367CONFIG_UNIX=y
374CONFIG_XFRM=y 368CONFIG_XFRM=y
375CONFIG_XFRM_USER=m 369CONFIG_XFRM_USER=m
@@ -552,6 +546,7 @@ CONFIG_ATM_BR2684=m
552# CONFIG_ATM_BR2684_IPFILTER is not set 546# CONFIG_ATM_BR2684_IPFILTER is not set
553CONFIG_STP=m 547CONFIG_STP=m
554CONFIG_BRIDGE=m 548CONFIG_BRIDGE=m
549CONFIG_BRIDGE_IGMP_SNOOPING=y
555# CONFIG_NET_DSA is not set 550# CONFIG_NET_DSA is not set
556CONFIG_VLAN_8021Q=m 551CONFIG_VLAN_8021Q=m
557# CONFIG_VLAN_8021Q_GVRP is not set 552# CONFIG_VLAN_8021Q_GVRP is not set
@@ -733,6 +728,8 @@ CONFIG_MTD_PHYSMAP_OF=y
733# UBI - Unsorted block images 728# UBI - Unsorted block images
734# 729#
735# CONFIG_MTD_UBI is not set 730# CONFIG_MTD_UBI is not set
731CONFIG_OF_FLATTREE=y
732CONFIG_OF_DYNAMIC=y
736CONFIG_OF_DEVICE=y 733CONFIG_OF_DEVICE=y
737CONFIG_OF_I2C=y 734CONFIG_OF_I2C=y
738CONFIG_OF_MDIO=y 735CONFIG_OF_MDIO=y
@@ -768,6 +765,7 @@ CONFIG_MISC_DEVICES=y
768# CONFIG_ENCLOSURE_SERVICES is not set 765# CONFIG_ENCLOSURE_SERVICES is not set
769# CONFIG_HP_ILO is not set 766# CONFIG_HP_ILO is not set
770# CONFIG_ISL29003 is not set 767# CONFIG_ISL29003 is not set
768# CONFIG_SENSORS_TSL2550 is not set
771# CONFIG_DS1682 is not set 769# CONFIG_DS1682 is not set
772# CONFIG_C2PORT is not set 770# CONFIG_C2PORT is not set
773 771
@@ -785,6 +783,7 @@ CONFIG_HAVE_IDE=y
785# 783#
786# SCSI device support 784# SCSI device support
787# 785#
786CONFIG_SCSI_MOD=y
788# CONFIG_RAID_ATTRS is not set 787# CONFIG_RAID_ATTRS is not set
789# CONFIG_SCSI is not set 788# CONFIG_SCSI is not set
790# CONFIG_SCSI_DMA is not set 789# CONFIG_SCSI_DMA is not set
@@ -1024,6 +1023,7 @@ CONFIG_SERIAL_CORE=y
1024CONFIG_SERIAL_CORE_CONSOLE=y 1023CONFIG_SERIAL_CORE_CONSOLE=y
1025# CONFIG_SERIAL_JSM is not set 1024# CONFIG_SERIAL_JSM is not set
1026# CONFIG_SERIAL_OF_PLATFORM is not set 1025# CONFIG_SERIAL_OF_PLATFORM is not set
1026# CONFIG_SERIAL_TIMBERDALE is not set
1027# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set 1027# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set
1028CONFIG_UNIX98_PTYS=y 1028CONFIG_UNIX98_PTYS=y
1029# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set 1029# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
@@ -1074,6 +1074,7 @@ CONFIG_I2C_HELPER_AUTO=y
1074CONFIG_I2C_MPC=y 1074CONFIG_I2C_MPC=y
1075# CONFIG_I2C_OCORES is not set 1075# CONFIG_I2C_OCORES is not set
1076# CONFIG_I2C_SIMTEC is not set 1076# CONFIG_I2C_SIMTEC is not set
1077# CONFIG_I2C_XILINX is not set
1077 1078
1078# 1079#
1079# External I2C/SMBus adapter drivers 1080# External I2C/SMBus adapter drivers
@@ -1086,15 +1087,9 @@ CONFIG_I2C_MPC=y
1086# 1087#
1087# CONFIG_I2C_PCA_PLATFORM is not set 1088# CONFIG_I2C_PCA_PLATFORM is not set
1088# CONFIG_I2C_STUB is not set 1089# CONFIG_I2C_STUB is not set
1089
1090#
1091# Miscellaneous I2C Chip support
1092#
1093# CONFIG_SENSORS_TSL2550 is not set
1094# CONFIG_I2C_DEBUG_CORE is not set 1090# CONFIG_I2C_DEBUG_CORE is not set
1095# CONFIG_I2C_DEBUG_ALGO is not set 1091# CONFIG_I2C_DEBUG_ALGO is not set
1096# CONFIG_I2C_DEBUG_BUS is not set 1092# CONFIG_I2C_DEBUG_BUS is not set
1097# CONFIG_I2C_DEBUG_CHIP is not set
1098# CONFIG_SPI is not set 1093# CONFIG_SPI is not set
1099 1094
1100# 1095#
@@ -1120,10 +1115,11 @@ CONFIG_HWMON=y
1120# CONFIG_SENSORS_ADM1029 is not set 1115# CONFIG_SENSORS_ADM1029 is not set
1121# CONFIG_SENSORS_ADM1031 is not set 1116# CONFIG_SENSORS_ADM1031 is not set
1122# CONFIG_SENSORS_ADM9240 is not set 1117# CONFIG_SENSORS_ADM9240 is not set
1118# CONFIG_SENSORS_ADT7411 is not set
1123# CONFIG_SENSORS_ADT7462 is not set 1119# CONFIG_SENSORS_ADT7462 is not set
1124# CONFIG_SENSORS_ADT7470 is not set 1120# CONFIG_SENSORS_ADT7470 is not set
1125# CONFIG_SENSORS_ADT7473 is not set
1126# CONFIG_SENSORS_ADT7475 is not set 1121# CONFIG_SENSORS_ADT7475 is not set
1122# CONFIG_SENSORS_ASC7621 is not set
1127# CONFIG_SENSORS_ATXP1 is not set 1123# CONFIG_SENSORS_ATXP1 is not set
1128# CONFIG_SENSORS_DS1621 is not set 1124# CONFIG_SENSORS_DS1621 is not set
1129# CONFIG_SENSORS_I5K_AMB is not set 1125# CONFIG_SENSORS_I5K_AMB is not set
@@ -1160,6 +1156,7 @@ CONFIG_HWMON=y
1160# CONFIG_SENSORS_SMSC47M192 is not set 1156# CONFIG_SENSORS_SMSC47M192 is not set
1161# CONFIG_SENSORS_SMSC47B397 is not set 1157# CONFIG_SENSORS_SMSC47B397 is not set
1162# CONFIG_SENSORS_ADS7828 is not set 1158# CONFIG_SENSORS_ADS7828 is not set
1159# CONFIG_SENSORS_AMC6821 is not set
1163# CONFIG_SENSORS_THMC50 is not set 1160# CONFIG_SENSORS_THMC50 is not set
1164# CONFIG_SENSORS_TMP401 is not set 1161# CONFIG_SENSORS_TMP401 is not set
1165# CONFIG_SENSORS_TMP421 is not set 1162# CONFIG_SENSORS_TMP421 is not set
@@ -1202,18 +1199,21 @@ CONFIG_SSB_POSSIBLE=y
1202# Multifunction device drivers 1199# Multifunction device drivers
1203# 1200#
1204# CONFIG_MFD_CORE is not set 1201# CONFIG_MFD_CORE is not set
1202# CONFIG_MFD_88PM860X is not set
1205# CONFIG_MFD_SM501 is not set 1203# CONFIG_MFD_SM501 is not set
1206# CONFIG_HTC_PASIC3 is not set 1204# CONFIG_HTC_PASIC3 is not set
1207# CONFIG_TWL4030_CORE is not set 1205# CONFIG_TWL4030_CORE is not set
1208# CONFIG_MFD_TMIO is not set 1206# CONFIG_MFD_TMIO is not set
1209# CONFIG_PMIC_DA903X is not set 1207# CONFIG_PMIC_DA903X is not set
1210# CONFIG_PMIC_ADP5520 is not set 1208# CONFIG_PMIC_ADP5520 is not set
1209# CONFIG_MFD_MAX8925 is not set
1211# CONFIG_MFD_WM8400 is not set 1210# CONFIG_MFD_WM8400 is not set
1212# CONFIG_MFD_WM831X is not set 1211# CONFIG_MFD_WM831X is not set
1213# CONFIG_MFD_WM8350_I2C is not set 1212# CONFIG_MFD_WM8350_I2C is not set
1213# CONFIG_MFD_WM8994 is not set
1214# CONFIG_MFD_PCF50633 is not set 1214# CONFIG_MFD_PCF50633 is not set
1215# CONFIG_AB3100_CORE is not set 1215# CONFIG_AB3100_CORE is not set
1216# CONFIG_MFD_88PM8607 is not set 1216# CONFIG_LPC_SCH is not set
1217# CONFIG_REGULATOR is not set 1217# CONFIG_REGULATOR is not set
1218# CONFIG_MEDIA_SUPPORT is not set 1218# CONFIG_MEDIA_SUPPORT is not set
1219 1219
@@ -1222,6 +1222,7 @@ CONFIG_SSB_POSSIBLE=y
1222# 1222#
1223# CONFIG_AGP is not set 1223# CONFIG_AGP is not set
1224CONFIG_VGA_ARB=y 1224CONFIG_VGA_ARB=y
1225CONFIG_VGA_ARB_MAX_GPUS=16
1225# CONFIG_DRM is not set 1226# CONFIG_DRM is not set
1226# CONFIG_VGASTATE is not set 1227# CONFIG_VGASTATE is not set
1227CONFIG_VIDEO_OUTPUT_CONTROL=m 1228CONFIG_VIDEO_OUTPUT_CONTROL=m
@@ -1376,6 +1377,7 @@ CONFIG_MISC_FILESYSTEMS=y
1376# CONFIG_BFS_FS is not set 1377# CONFIG_BFS_FS is not set
1377# CONFIG_EFS_FS is not set 1378# CONFIG_EFS_FS is not set
1378# CONFIG_JFFS2_FS is not set 1379# CONFIG_JFFS2_FS is not set
1380# CONFIG_LOGFS is not set
1379# CONFIG_CRAMFS is not set 1381# CONFIG_CRAMFS is not set
1380# CONFIG_SQUASHFS is not set 1382# CONFIG_SQUASHFS is not set
1381# CONFIG_VXFS_FS is not set 1383# CONFIG_VXFS_FS is not set
@@ -1408,6 +1410,7 @@ CONFIG_RPCSEC_GSS_KRB5=y
1408CONFIG_SMB_FS=m 1410CONFIG_SMB_FS=m
1409CONFIG_SMB_NLS_DEFAULT=y 1411CONFIG_SMB_NLS_DEFAULT=y
1410CONFIG_SMB_NLS_REMOTE="cp437" 1412CONFIG_SMB_NLS_REMOTE="cp437"
1413# CONFIG_CEPH_FS is not set
1411CONFIG_CIFS=m 1414CONFIG_CIFS=m
1412# CONFIG_CIFS_STATS is not set 1415# CONFIG_CIFS_STATS is not set
1413# CONFIG_CIFS_WEAK_PW_HASH is not set 1416# CONFIG_CIFS_WEAK_PW_HASH is not set
@@ -1540,6 +1543,7 @@ CONFIG_DEBUG_INFO=y
1540# CONFIG_BACKTRACE_SELF_TEST is not set 1543# CONFIG_BACKTRACE_SELF_TEST is not set
1541# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set 1544# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1542# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set 1545# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
1546# CONFIG_LKDTM is not set
1543# CONFIG_FAULT_INJECTION is not set 1547# CONFIG_FAULT_INJECTION is not set
1544# CONFIG_LATENCYTOP is not set 1548# CONFIG_LATENCYTOP is not set
1545CONFIG_SYSCTL_SYSCALL_CHECK=y 1549CONFIG_SYSCTL_SYSCALL_CHECK=y
@@ -1618,6 +1622,7 @@ CONFIG_CRYPTO_MANAGER=y
1618CONFIG_CRYPTO_MANAGER2=y 1622CONFIG_CRYPTO_MANAGER2=y
1619# CONFIG_CRYPTO_GF128MUL is not set 1623# CONFIG_CRYPTO_GF128MUL is not set
1620CONFIG_CRYPTO_NULL=m 1624CONFIG_CRYPTO_NULL=m
1625# CONFIG_CRYPTO_PCRYPT is not set
1621CONFIG_CRYPTO_WORKQUEUE=y 1626CONFIG_CRYPTO_WORKQUEUE=y
1622# CONFIG_CRYPTO_CRYPTD is not set 1627# CONFIG_CRYPTO_CRYPTD is not set
1623CONFIG_CRYPTO_AUTHENC=m 1628CONFIG_CRYPTO_AUTHENC=m
diff --git a/arch/powerpc/configs/adder875_defconfig b/arch/powerpc/configs/adder875_defconfig
index 5c1dc768bbd8..a670cee255b9 100644
--- a/arch/powerpc/configs/adder875_defconfig
+++ b/arch/powerpc/configs/adder875_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.33-rc3 3# Linux kernel version: 2.6.34-rc5
4# Wed Jan 6 09:23:58 2010 4# Mon Apr 19 23:16:22 2010
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -91,14 +91,8 @@ CONFIG_RCU_FANOUT=32
91# CONFIG_TREE_RCU_TRACE is not set 91# CONFIG_TREE_RCU_TRACE is not set
92# CONFIG_IKCONFIG is not set 92# CONFIG_IKCONFIG is not set
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 95# CONFIG_SYSFS_DEPRECATED_V2 is not set
101CONFIG_SYSFS_DEPRECATED_V2=y
102# CONFIG_RELAY is not set 96# CONFIG_RELAY is not set
103# CONFIG_NAMESPACES is not set 97# CONFIG_NAMESPACES is not set
104# CONFIG_BLK_DEV_INITRD is not set 98# CONFIG_BLK_DEV_INITRD is not set
@@ -307,6 +301,7 @@ CONFIG_ISA_DMA_API=y
307# Bus options 301# Bus options
308# 302#
309CONFIG_ZONE_DMA=y 303CONFIG_ZONE_DMA=y
304CONFIG_NEED_DMA_MAP_STATE=y
310CONFIG_FSL_SOC=y 305CONFIG_FSL_SOC=y
311# CONFIG_PCI is not set 306# CONFIG_PCI is not set
312# CONFIG_PCI_DOMAINS is not set 307# CONFIG_PCI_DOMAINS is not set
@@ -336,7 +331,6 @@ CONFIG_NET=y
336# Networking options 331# Networking options
337# 332#
338CONFIG_PACKET=y 333CONFIG_PACKET=y
339# CONFIG_PACKET_MMAP is not set
340CONFIG_UNIX=y 334CONFIG_UNIX=y
341# CONFIG_NET_KEY is not set 335# CONFIG_NET_KEY is not set
342CONFIG_INET=y 336CONFIG_INET=y
@@ -505,6 +499,8 @@ CONFIG_MTD_PHYSMAP_OF=y
505# UBI - Unsorted block images 499# UBI - Unsorted block images
506# 500#
507# CONFIG_MTD_UBI is not set 501# CONFIG_MTD_UBI is not set
502CONFIG_OF_FLATTREE=y
503CONFIG_OF_DYNAMIC=y
508CONFIG_OF_DEVICE=y 504CONFIG_OF_DEVICE=y
509CONFIG_OF_MDIO=y 505CONFIG_OF_MDIO=y
510# CONFIG_PARPORT is not set 506# CONFIG_PARPORT is not set
@@ -516,6 +512,7 @@ CONFIG_HAVE_IDE=y
516# 512#
517# SCSI device support 513# SCSI device support
518# 514#
515CONFIG_SCSI_MOD=y
519# CONFIG_RAID_ATTRS is not set 516# CONFIG_RAID_ATTRS is not set
520# CONFIG_SCSI is not set 517# CONFIG_SCSI is not set
521# CONFIG_SCSI_DMA is not set 518# CONFIG_SCSI_DMA is not set
@@ -664,6 +661,7 @@ CONFIG_SERIAL_CORE=y
664CONFIG_SERIAL_CORE_CONSOLE=y 661CONFIG_SERIAL_CORE_CONSOLE=y
665CONFIG_SERIAL_CPM=y 662CONFIG_SERIAL_CPM=y
666CONFIG_SERIAL_CPM_CONSOLE=y 663CONFIG_SERIAL_CPM_CONSOLE=y
664# CONFIG_SERIAL_TIMBERDALE is not set
667# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set 665# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set
668CONFIG_UNIX98_PTYS=y 666CONFIG_UNIX98_PTYS=y
669# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set 667# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
@@ -802,6 +800,7 @@ CONFIG_MISC_FILESYSTEMS=y
802# CONFIG_BFS_FS is not set 800# CONFIG_BFS_FS is not set
803# CONFIG_EFS_FS is not set 801# CONFIG_EFS_FS is not set
804# CONFIG_JFFS2_FS is not set 802# CONFIG_JFFS2_FS is not set
803# CONFIG_LOGFS is not set
805CONFIG_CRAMFS=y 804CONFIG_CRAMFS=y
806# CONFIG_SQUASHFS is not set 805# CONFIG_SQUASHFS is not set
807# CONFIG_VXFS_FS is not set 806# CONFIG_VXFS_FS is not set
@@ -826,6 +825,7 @@ CONFIG_SUNRPC=y
826# CONFIG_RPCSEC_GSS_KRB5 is not set 825# CONFIG_RPCSEC_GSS_KRB5 is not set
827# CONFIG_RPCSEC_GSS_SPKM3 is not set 826# CONFIG_RPCSEC_GSS_SPKM3 is not set
828# CONFIG_SMB_FS is not set 827# CONFIG_SMB_FS is not set
828# CONFIG_CEPH_FS is not set
829# CONFIG_CIFS is not set 829# CONFIG_CIFS is not set
830# CONFIG_NCP_FS is not set 830# CONFIG_NCP_FS is not set
831# CONFIG_CODA_FS is not set 831# CONFIG_CODA_FS is not set
@@ -924,6 +924,7 @@ CONFIG_DEBUG_INFO=y
924# CONFIG_BACKTRACE_SELF_TEST is not set 924# CONFIG_BACKTRACE_SELF_TEST is not set
925# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set 925# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
926# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set 926# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
927# CONFIG_LKDTM is not set
927# CONFIG_FAULT_INJECTION is not set 928# CONFIG_FAULT_INJECTION is not set
928# CONFIG_LATENCYTOP is not set 929# CONFIG_LATENCYTOP is not set
929# CONFIG_SYSCTL_SYSCALL_CHECK is not set 930# CONFIG_SYSCTL_SYSCALL_CHECK is not set
diff --git a/arch/powerpc/configs/amigaone_defconfig b/arch/powerpc/configs/amigaone_defconfig
index b63cc38df6b1..851287e78fc3 100644
--- a/arch/powerpc/configs/amigaone_defconfig
+++ b/arch/powerpc/configs/amigaone_defconfig
@@ -87,8 +87,7 @@ CONFIG_IKCONFIG_PROC=y
87CONFIG_LOG_BUF_SHIFT=15 87CONFIG_LOG_BUF_SHIFT=15
88# CONFIG_GROUP_SCHED is not set 88# CONFIG_GROUP_SCHED is not set
89# CONFIG_CGROUPS is not set 89# CONFIG_CGROUPS is not set
90CONFIG_SYSFS_DEPRECATED=y 90# CONFIG_SYSFS_DEPRECATED_V2 is not set
91CONFIG_SYSFS_DEPRECATED_V2=y
92# CONFIG_RELAY is not set 91# CONFIG_RELAY is not set
93CONFIG_NAMESPACES=y 92CONFIG_NAMESPACES=y
94# CONFIG_UTS_NS is not set 93# CONFIG_UTS_NS is not set
diff --git a/arch/powerpc/configs/c2k_defconfig b/arch/powerpc/configs/c2k_defconfig
index 72137cd881da..b429a655b541 100644
--- a/arch/powerpc/configs/c2k_defconfig
+++ b/arch/powerpc/configs/c2k_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.33-rc3 3# Linux kernel version: 2.6.34-rc5
4# Wed Jan 6 09:23:59 2010 4# Mon Apr 19 23:16:23 2010
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -101,14 +101,8 @@ CONFIG_RCU_FANOUT=32
101# CONFIG_TREE_RCU_TRACE is not set 101# CONFIG_TREE_RCU_TRACE is not set
102# CONFIG_IKCONFIG is not set 102# CONFIG_IKCONFIG is not set
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 105# CONFIG_SYSFS_DEPRECATED_V2 is not set
111CONFIG_SYSFS_DEPRECATED_V2=y
112# CONFIG_RELAY is not set 106# CONFIG_RELAY is not set
113CONFIG_NAMESPACES=y 107CONFIG_NAMESPACES=y
114# CONFIG_UTS_NS is not set 108# CONFIG_UTS_NS is not set
@@ -121,6 +115,7 @@ CONFIG_INITRAMFS_SOURCE=""
121CONFIG_RD_GZIP=y 115CONFIG_RD_GZIP=y
122CONFIG_RD_BZIP2=y 116CONFIG_RD_BZIP2=y
123CONFIG_RD_LZMA=y 117CONFIG_RD_LZMA=y
118CONFIG_RD_LZO=y
124CONFIG_CC_OPTIMIZE_FOR_SIZE=y 119CONFIG_CC_OPTIMIZE_FOR_SIZE=y
125CONFIG_SYSCTL=y 120CONFIG_SYSCTL=y
126CONFIG_ANON_INODES=y 121CONFIG_ANON_INODES=y
@@ -147,7 +142,6 @@ CONFIG_HAVE_PERF_EVENTS=y
147# Kernel Performance Events And Counters 142# Kernel Performance Events And Counters
148# 143#
149CONFIG_PERF_EVENTS=y 144CONFIG_PERF_EVENTS=y
150CONFIG_EVENT_PROFILE=y
151# CONFIG_PERF_COUNTERS is not set 145# CONFIG_PERF_COUNTERS is not set
152# CONFIG_DEBUG_PERF_USE_VMALLOC is not set 146# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
153CONFIG_VM_EVENT_COUNTERS=y 147CONFIG_VM_EVENT_COUNTERS=y
@@ -158,7 +152,6 @@ CONFIG_COMPAT_BRK=y
158CONFIG_SLUB=y 152CONFIG_SLUB=y
159# CONFIG_SLOB is not set 153# CONFIG_SLOB is not set
160CONFIG_PROFILING=y 154CONFIG_PROFILING=y
161CONFIG_TRACEPOINTS=y
162CONFIG_OPROFILE=m 155CONFIG_OPROFILE=m
163CONFIG_HAVE_OPROFILE=y 156CONFIG_HAVE_OPROFILE=y
164CONFIG_KPROBES=y 157CONFIG_KPROBES=y
@@ -357,6 +350,7 @@ CONFIG_ISA_DMA_API=y
357# Bus options 350# Bus options
358# 351#
359CONFIG_ZONE_DMA=y 352CONFIG_ZONE_DMA=y
353CONFIG_NEED_DMA_MAP_STATE=y
360CONFIG_GENERIC_ISA_DMA=y 354CONFIG_GENERIC_ISA_DMA=y
361CONFIG_PPC_INDIRECT_PCI=y 355CONFIG_PPC_INDIRECT_PCI=y
362CONFIG_PCI=y 356CONFIG_PCI=y
@@ -365,7 +359,6 @@ CONFIG_PCI_SYSCALL=y
365# CONFIG_PCIEPORTBUS is not set 359# CONFIG_PCIEPORTBUS is not set
366CONFIG_ARCH_SUPPORTS_MSI=y 360CONFIG_ARCH_SUPPORTS_MSI=y
367CONFIG_PCI_MSI=y 361CONFIG_PCI_MSI=y
368# CONFIG_PCI_LEGACY is not set
369# CONFIG_PCI_DEBUG is not set 362# CONFIG_PCI_DEBUG is not set
370# CONFIG_PCI_STUB is not set 363# CONFIG_PCI_STUB is not set
371# CONFIG_PCI_IOV is not set 364# CONFIG_PCI_IOV is not set
@@ -396,7 +389,6 @@ CONFIG_NET=y
396# Networking options 389# Networking options
397# 390#
398CONFIG_PACKET=y 391CONFIG_PACKET=y
399CONFIG_PACKET_MMAP=y
400CONFIG_UNIX=y 392CONFIG_UNIX=y
401CONFIG_XFRM=y 393CONFIG_XFRM=y
402CONFIG_XFRM_USER=y 394CONFIG_XFRM_USER=y
@@ -527,6 +519,7 @@ CONFIG_IP_VS_PROTO_UDP=y
527CONFIG_IP_VS_PROTO_AH_ESP=y 519CONFIG_IP_VS_PROTO_AH_ESP=y
528CONFIG_IP_VS_PROTO_ESP=y 520CONFIG_IP_VS_PROTO_ESP=y
529CONFIG_IP_VS_PROTO_AH=y 521CONFIG_IP_VS_PROTO_AH=y
522# CONFIG_IP_VS_PROTO_SCTP is not set
530 523
531# 524#
532# IPVS scheduler 525# IPVS scheduler
@@ -630,6 +623,7 @@ CONFIG_ATM_BR2684=m
630# CONFIG_ATM_BR2684_IPFILTER is not set 623# CONFIG_ATM_BR2684_IPFILTER is not set
631CONFIG_STP=m 624CONFIG_STP=m
632CONFIG_BRIDGE=m 625CONFIG_BRIDGE=m
626CONFIG_BRIDGE_IGMP_SNOOPING=y
633# CONFIG_NET_DSA is not set 627# CONFIG_NET_DSA is not set
634CONFIG_VLAN_8021Q=m 628CONFIG_VLAN_8021Q=m
635# CONFIG_VLAN_8021Q_GVRP is not set 629# CONFIG_VLAN_8021Q_GVRP is not set
@@ -690,7 +684,6 @@ CONFIG_NET_SCH_FIFO=y
690# 684#
691# CONFIG_NET_PKTGEN is not set 685# CONFIG_NET_PKTGEN is not set
692# CONFIG_NET_TCPPROBE is not set 686# CONFIG_NET_TCPPROBE is not set
693# CONFIG_NET_DROP_MONITOR is not set
694# CONFIG_HAMRADIO is not set 687# CONFIG_HAMRADIO is not set
695# CONFIG_CAN is not set 688# CONFIG_CAN is not set
696# CONFIG_IRDA is not set 689# CONFIG_IRDA is not set
@@ -833,6 +826,8 @@ CONFIG_MTD_PHYSMAP_OF=y
833# UBI - Unsorted block images 826# UBI - Unsorted block images
834# 827#
835# CONFIG_MTD_UBI is not set 828# CONFIG_MTD_UBI is not set
829CONFIG_OF_FLATTREE=y
830CONFIG_OF_DYNAMIC=y
836CONFIG_OF_DEVICE=y 831CONFIG_OF_DEVICE=y
837CONFIG_OF_I2C=m 832CONFIG_OF_I2C=m
838CONFIG_OF_MDIO=y 833CONFIG_OF_MDIO=y
@@ -867,6 +862,7 @@ CONFIG_HAVE_IDE=y
867# 862#
868# SCSI device support 863# SCSI device support
869# 864#
865CONFIG_SCSI_MOD=m
870# CONFIG_RAID_ATTRS is not set 866# CONFIG_RAID_ATTRS is not set
871CONFIG_SCSI=m 867CONFIG_SCSI=m
872CONFIG_SCSI_DMA=y 868CONFIG_SCSI_DMA=y
@@ -1179,6 +1175,7 @@ CONFIG_SERIAL_MPSC_CONSOLE=y
1179CONFIG_SERIAL_CORE=y 1175CONFIG_SERIAL_CORE=y
1180CONFIG_SERIAL_CORE_CONSOLE=y 1176CONFIG_SERIAL_CORE_CONSOLE=y
1181# CONFIG_SERIAL_JSM is not set 1177# CONFIG_SERIAL_JSM is not set
1178# CONFIG_SERIAL_TIMBERDALE is not set
1182# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set 1179# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set
1183CONFIG_UNIX98_PTYS=y 1180CONFIG_UNIX98_PTYS=y
1184# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set 1181# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
@@ -1231,6 +1228,7 @@ CONFIG_I2C_HELPER_AUTO=y
1231CONFIG_I2C_MV64XXX=m 1228CONFIG_I2C_MV64XXX=m
1232# CONFIG_I2C_OCORES is not set 1229# CONFIG_I2C_OCORES is not set
1233# CONFIG_I2C_SIMTEC is not set 1230# CONFIG_I2C_SIMTEC is not set
1231# CONFIG_I2C_XILINX is not set
1234 1232
1235# 1233#
1236# External I2C/SMBus adapter drivers 1234# External I2C/SMBus adapter drivers
@@ -1244,15 +1242,9 @@ CONFIG_I2C_MV64XXX=m
1244# 1242#
1245# CONFIG_I2C_PCA_PLATFORM is not set 1243# CONFIG_I2C_PCA_PLATFORM is not set
1246# CONFIG_I2C_STUB is not set 1244# CONFIG_I2C_STUB is not set
1247
1248#
1249# Miscellaneous I2C Chip support
1250#
1251# CONFIG_SENSORS_TSL2550 is not set
1252# CONFIG_I2C_DEBUG_CORE is not set 1245# CONFIG_I2C_DEBUG_CORE is not set
1253# CONFIG_I2C_DEBUG_ALGO is not set 1246# CONFIG_I2C_DEBUG_ALGO is not set
1254# CONFIG_I2C_DEBUG_BUS is not set 1247# CONFIG_I2C_DEBUG_BUS is not set
1255# CONFIG_I2C_DEBUG_CHIP is not set
1256# CONFIG_SPI is not set 1248# CONFIG_SPI is not set
1257 1249
1258# 1250#
@@ -1278,10 +1270,11 @@ CONFIG_SENSORS_ADM1026=m
1278# CONFIG_SENSORS_ADM1029 is not set 1270# CONFIG_SENSORS_ADM1029 is not set
1279CONFIG_SENSORS_ADM1031=m 1271CONFIG_SENSORS_ADM1031=m
1280# CONFIG_SENSORS_ADM9240 is not set 1272# CONFIG_SENSORS_ADM9240 is not set
1273# CONFIG_SENSORS_ADT7411 is not set
1281# CONFIG_SENSORS_ADT7462 is not set 1274# CONFIG_SENSORS_ADT7462 is not set
1282# CONFIG_SENSORS_ADT7470 is not set 1275# CONFIG_SENSORS_ADT7470 is not set
1283# CONFIG_SENSORS_ADT7473 is not set
1284# CONFIG_SENSORS_ADT7475 is not set 1276# CONFIG_SENSORS_ADT7475 is not set
1277# CONFIG_SENSORS_ASC7621 is not set
1285# CONFIG_SENSORS_ATXP1 is not set 1278# CONFIG_SENSORS_ATXP1 is not set
1286CONFIG_SENSORS_DS1621=m 1279CONFIG_SENSORS_DS1621=m
1287# CONFIG_SENSORS_I5K_AMB is not set 1280# CONFIG_SENSORS_I5K_AMB is not set
@@ -1318,6 +1311,7 @@ CONFIG_SENSORS_SMSC47M1=m
1318# CONFIG_SENSORS_SMSC47M192 is not set 1311# CONFIG_SENSORS_SMSC47M192 is not set
1319CONFIG_SENSORS_SMSC47B397=m 1312CONFIG_SENSORS_SMSC47B397=m
1320# CONFIG_SENSORS_ADS7828 is not set 1313# CONFIG_SENSORS_ADS7828 is not set
1314# CONFIG_SENSORS_AMC6821 is not set
1321# CONFIG_SENSORS_THMC50 is not set 1315# CONFIG_SENSORS_THMC50 is not set
1322# CONFIG_SENSORS_TMP401 is not set 1316# CONFIG_SENSORS_TMP401 is not set
1323# CONFIG_SENSORS_TMP421 is not set 1317# CONFIG_SENSORS_TMP421 is not set
@@ -1369,9 +1363,9 @@ CONFIG_SSB_POSSIBLE=y
1369# CONFIG_HTC_PASIC3 is not set 1363# CONFIG_HTC_PASIC3 is not set
1370# CONFIG_MFD_TMIO is not set 1364# CONFIG_MFD_TMIO is not set
1371# CONFIG_MFD_WM8400 is not set 1365# CONFIG_MFD_WM8400 is not set
1372# CONFIG_MFD_WM8350_I2C is not set 1366# CONFIG_MFD_WM8994 is not set
1373# CONFIG_MFD_PCF50633 is not set 1367# CONFIG_MFD_PCF50633 is not set
1374# CONFIG_AB3100_CORE is not set 1368# CONFIG_LPC_SCH is not set
1375# CONFIG_REGULATOR is not set 1369# CONFIG_REGULATOR is not set
1376# CONFIG_MEDIA_SUPPORT is not set 1370# CONFIG_MEDIA_SUPPORT is not set
1377 1371
@@ -1380,6 +1374,7 @@ CONFIG_SSB_POSSIBLE=y
1380# 1374#
1381# CONFIG_AGP is not set 1375# CONFIG_AGP is not set
1382CONFIG_VGA_ARB=y 1376CONFIG_VGA_ARB=y
1377CONFIG_VGA_ARB_MAX_GPUS=16
1383# CONFIG_DRM is not set 1378# CONFIG_DRM is not set
1384# CONFIG_VGASTATE is not set 1379# CONFIG_VGASTATE is not set
1385# CONFIG_VIDEO_OUTPUT_CONTROL is not set 1380# CONFIG_VIDEO_OUTPUT_CONTROL is not set
@@ -1413,7 +1408,6 @@ CONFIG_USB=m
1413CONFIG_USB_DEVICEFS=y 1408CONFIG_USB_DEVICEFS=y
1414# CONFIG_USB_DEVICE_CLASS is not set 1409# CONFIG_USB_DEVICE_CLASS is not set
1415# CONFIG_USB_DYNAMIC_MINORS is not set 1410# CONFIG_USB_DYNAMIC_MINORS is not set
1416CONFIG_USB_SUSPEND=y
1417# CONFIG_USB_OTG is not set 1411# CONFIG_USB_OTG is not set
1418CONFIG_USB_MON=m 1412CONFIG_USB_MON=m
1419# CONFIG_USB_WUSB is not set 1413# CONFIG_USB_WUSB is not set
@@ -1535,6 +1529,7 @@ CONFIG_USB_SERIAL_MCT_U232=m
1535# CONFIG_USB_SERIAL_NAVMAN is not set 1529# CONFIG_USB_SERIAL_NAVMAN is not set
1536CONFIG_USB_SERIAL_PL2303=m 1530CONFIG_USB_SERIAL_PL2303=m
1537# CONFIG_USB_SERIAL_OTI6858 is not set 1531# CONFIG_USB_SERIAL_OTI6858 is not set
1532# CONFIG_USB_SERIAL_QCAUX is not set
1538# CONFIG_USB_SERIAL_QUALCOMM is not set 1533# CONFIG_USB_SERIAL_QUALCOMM is not set
1539# CONFIG_USB_SERIAL_SPCP8X5 is not set 1534# CONFIG_USB_SERIAL_SPCP8X5 is not set
1540# CONFIG_USB_SERIAL_HP4X is not set 1535# CONFIG_USB_SERIAL_HP4X is not set
@@ -1549,6 +1544,7 @@ CONFIG_USB_SERIAL_XIRCOM=m
1549# CONFIG_USB_SERIAL_OPTION is not set 1544# CONFIG_USB_SERIAL_OPTION is not set
1550CONFIG_USB_SERIAL_OMNINET=m 1545CONFIG_USB_SERIAL_OMNINET=m
1551# CONFIG_USB_SERIAL_OPTICON is not set 1546# CONFIG_USB_SERIAL_OPTICON is not set
1547# CONFIG_USB_SERIAL_VIVOPAY_SERIAL is not set
1552# CONFIG_USB_SERIAL_DEBUG is not set 1548# CONFIG_USB_SERIAL_DEBUG is not set
1553 1549
1554# 1550#
@@ -1561,7 +1557,6 @@ CONFIG_USB_EMI62=m
1561CONFIG_USB_RIO500=m 1557CONFIG_USB_RIO500=m
1562CONFIG_USB_LEGOTOWER=m 1558CONFIG_USB_LEGOTOWER=m
1563CONFIG_USB_LCD=m 1559CONFIG_USB_LCD=m
1564# CONFIG_USB_BERRY_CHARGE is not set
1565CONFIG_USB_LED=m 1560CONFIG_USB_LED=m
1566# CONFIG_USB_CYPRESS_CY7C63 is not set 1561# CONFIG_USB_CYPRESS_CY7C63 is not set
1567# CONFIG_USB_CYTHERM is not set 1562# CONFIG_USB_CYTHERM is not set
@@ -1574,7 +1569,6 @@ CONFIG_USB_LED=m
1574# CONFIG_USB_IOWARRIOR is not set 1569# CONFIG_USB_IOWARRIOR is not set
1575CONFIG_USB_TEST=m 1570CONFIG_USB_TEST=m
1576# CONFIG_USB_ISIGHTFW is not set 1571# CONFIG_USB_ISIGHTFW is not set
1577# CONFIG_USB_VST is not set
1578CONFIG_USB_ATM=m 1572CONFIG_USB_ATM=m
1579CONFIG_USB_SPEEDTOUCH=m 1573CONFIG_USB_SPEEDTOUCH=m
1580# CONFIG_USB_CXACRU is not set 1574# CONFIG_USB_CXACRU is not set
@@ -1611,6 +1605,7 @@ CONFIG_INFINIBAND_SRP=m
1611# CONFIG_EDAC is not set 1605# CONFIG_EDAC is not set
1612# CONFIG_RTC_CLASS is not set 1606# CONFIG_RTC_CLASS is not set
1613CONFIG_DMADEVICES=y 1607CONFIG_DMADEVICES=y
1608# CONFIG_DMADEVICES_DEBUG is not set
1614 1609
1615# 1610#
1616# DMA Devices 1611# DMA Devices
@@ -1714,6 +1709,7 @@ CONFIG_JFFS2_ZLIB=y
1714# CONFIG_JFFS2_LZO is not set 1709# CONFIG_JFFS2_LZO is not set
1715CONFIG_JFFS2_RTIME=y 1710CONFIG_JFFS2_RTIME=y
1716# CONFIG_JFFS2_RUBIN is not set 1711# CONFIG_JFFS2_RUBIN is not set
1712# CONFIG_LOGFS is not set
1717CONFIG_CRAMFS=m 1713CONFIG_CRAMFS=m
1718# CONFIG_SQUASHFS is not set 1714# CONFIG_SQUASHFS is not set
1719CONFIG_VXFS_FS=m 1715CONFIG_VXFS_FS=m
@@ -1742,6 +1738,7 @@ CONFIG_SUNRPC_XPRT_RDMA=m
1742CONFIG_RPCSEC_GSS_KRB5=y 1738CONFIG_RPCSEC_GSS_KRB5=y
1743CONFIG_RPCSEC_GSS_SPKM3=m 1739CONFIG_RPCSEC_GSS_SPKM3=m
1744# CONFIG_SMB_FS is not set 1740# CONFIG_SMB_FS is not set
1741# CONFIG_CEPH_FS is not set
1745CONFIG_CIFS=m 1742CONFIG_CIFS=m
1746# CONFIG_CIFS_STATS is not set 1743# CONFIG_CIFS_STATS is not set
1747# CONFIG_CIFS_WEAK_PW_HASH is not set 1744# CONFIG_CIFS_WEAK_PW_HASH is not set
@@ -1817,7 +1814,7 @@ CONFIG_NLS_KOI8_R=m
1817CONFIG_NLS_KOI8_U=m 1814CONFIG_NLS_KOI8_U=m
1818CONFIG_NLS_UTF8=m 1815CONFIG_NLS_UTF8=m
1819# CONFIG_DLM is not set 1816# CONFIG_DLM is not set
1820CONFIG_BINARY_PRINTF=y 1817# CONFIG_BINARY_PRINTF is not set
1821 1818
1822# 1819#
1823# Library routines 1820# Library routines
@@ -1833,9 +1830,11 @@ CONFIG_CRC32=y
1833CONFIG_LIBCRC32C=m 1830CONFIG_LIBCRC32C=m
1834CONFIG_ZLIB_INFLATE=y 1831CONFIG_ZLIB_INFLATE=y
1835CONFIG_ZLIB_DEFLATE=y 1832CONFIG_ZLIB_DEFLATE=y
1833CONFIG_LZO_DECOMPRESS=y
1836CONFIG_DECOMPRESS_GZIP=y 1834CONFIG_DECOMPRESS_GZIP=y
1837CONFIG_DECOMPRESS_BZIP2=y 1835CONFIG_DECOMPRESS_BZIP2=y
1838CONFIG_DECOMPRESS_LZMA=y 1836CONFIG_DECOMPRESS_LZMA=y
1837CONFIG_DECOMPRESS_LZO=y
1839CONFIG_HAS_IOMEM=y 1838CONFIG_HAS_IOMEM=y
1840CONFIG_HAS_IOPORT=y 1839CONFIG_HAS_IOPORT=y
1841CONFIG_HAS_DMA=y 1840CONFIG_HAS_DMA=y
@@ -1880,7 +1879,6 @@ CONFIG_DEBUG_SPINLOCK=y
1880# CONFIG_LOCK_STAT is not set 1879# CONFIG_LOCK_STAT is not set
1881CONFIG_DEBUG_SPINLOCK_SLEEP=y 1880CONFIG_DEBUG_SPINLOCK_SLEEP=y
1882# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set 1881# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1883CONFIG_STACKTRACE=y
1884# CONFIG_DEBUG_KOBJECT is not set 1882# CONFIG_DEBUG_KOBJECT is not set
1885CONFIG_DEBUG_HIGHMEM=y 1883CONFIG_DEBUG_HIGHMEM=y
1886CONFIG_DEBUG_BUGVERBOSE=y 1884CONFIG_DEBUG_BUGVERBOSE=y
@@ -1903,16 +1901,12 @@ CONFIG_DEBUG_MEMORY_INIT=y
1903# CONFIG_LATENCYTOP is not set 1901# CONFIG_LATENCYTOP is not set
1904CONFIG_SYSCTL_SYSCALL_CHECK=y 1902CONFIG_SYSCTL_SYSCALL_CHECK=y
1905# CONFIG_DEBUG_PAGEALLOC is not set 1903# CONFIG_DEBUG_PAGEALLOC is not set
1906CONFIG_NOP_TRACER=y
1907CONFIG_HAVE_FUNCTION_TRACER=y 1904CONFIG_HAVE_FUNCTION_TRACER=y
1908CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y 1905CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
1909CONFIG_HAVE_DYNAMIC_FTRACE=y 1906CONFIG_HAVE_DYNAMIC_FTRACE=y
1910CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 1907CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1911CONFIG_RING_BUFFER=y 1908CONFIG_RING_BUFFER=y
1912CONFIG_EVENT_TRACING=y
1913CONFIG_CONTEXT_SWITCH_TRACER=y
1914CONFIG_RING_BUFFER_ALLOW_SWAP=y 1909CONFIG_RING_BUFFER_ALLOW_SWAP=y
1915CONFIG_TRACING=y
1916CONFIG_TRACING_SUPPORT=y 1910CONFIG_TRACING_SUPPORT=y
1917CONFIG_FTRACE=y 1911CONFIG_FTRACE=y
1918# CONFIG_FUNCTION_TRACER is not set 1912# CONFIG_FUNCTION_TRACER is not set
diff --git a/arch/powerpc/configs/cell_defconfig b/arch/powerpc/configs/cell_defconfig
index c6d2baa7aaeb..943371954317 100644
--- a/arch/powerpc/configs/cell_defconfig
+++ b/arch/powerpc/configs/cell_defconfig
@@ -83,8 +83,7 @@ CONFIG_CPUSETS=y
83# CONFIG_CGROUP_SCHED is not set 83# CONFIG_CGROUP_SCHED is not set
84# CONFIG_CGROUP_CPUACCT is not set 84# CONFIG_CGROUP_CPUACCT is not set
85# CONFIG_RESOURCE_COUNTERS is not set 85# CONFIG_RESOURCE_COUNTERS is not set
86CONFIG_SYSFS_DEPRECATED=y 86# CONFIG_SYSFS_DEPRECATED_V2 is not set
87CONFIG_SYSFS_DEPRECATED_V2=y
88CONFIG_PROC_PID_CPUSET=y 87CONFIG_PROC_PID_CPUSET=y
89# CONFIG_RELAY is not set 88# CONFIG_RELAY is not set
90CONFIG_NAMESPACES=y 89CONFIG_NAMESPACES=y
diff --git a/arch/powerpc/configs/celleb_defconfig b/arch/powerpc/configs/celleb_defconfig
index d2123779512a..6be6c09eba6d 100644
--- a/arch/powerpc/configs/celleb_defconfig
+++ b/arch/powerpc/configs/celleb_defconfig
@@ -78,8 +78,7 @@ CONFIG_LOG_BUF_SHIFT=15
78# CONFIG_GROUP_SCHED is not set 78# CONFIG_GROUP_SCHED is not set
79# CONFIG_USER_SCHED is not set 79# CONFIG_USER_SCHED is not set
80# CONFIG_CGROUP_SCHED is not set 80# CONFIG_CGROUP_SCHED is not set
81CONFIG_SYSFS_DEPRECATED=y 81# CONFIG_SYSFS_DEPRECATED_V2 is not set
82CONFIG_SYSFS_DEPRECATED_V2=y
83# CONFIG_RELAY is not set 82# CONFIG_RELAY is not set
84CONFIG_NAMESPACES=y 83CONFIG_NAMESPACES=y
85# CONFIG_UTS_NS is not set 84# CONFIG_UTS_NS is not set
diff --git a/arch/powerpc/configs/chrp32_defconfig b/arch/powerpc/configs/chrp32_defconfig
index 5094a65a4493..2fdab660fce3 100644
--- a/arch/powerpc/configs/chrp32_defconfig
+++ b/arch/powerpc/configs/chrp32_defconfig
@@ -77,8 +77,7 @@ CONFIG_IKCONFIG_PROC=y
77CONFIG_LOG_BUF_SHIFT=15 77CONFIG_LOG_BUF_SHIFT=15
78# CONFIG_CGROUPS is not set 78# CONFIG_CGROUPS is not set
79# CONFIG_GROUP_SCHED is not set 79# CONFIG_GROUP_SCHED is not set
80CONFIG_SYSFS_DEPRECATED=y 80# CONFIG_SYSFS_DEPRECATED_V2 is not set
81CONFIG_SYSFS_DEPRECATED_V2=y
82# CONFIG_RELAY is not set 81# CONFIG_RELAY is not set
83CONFIG_NAMESPACES=y 82CONFIG_NAMESPACES=y
84# CONFIG_UTS_NS is not set 83# CONFIG_UTS_NS is not set
diff --git a/arch/powerpc/configs/ep8248e_defconfig b/arch/powerpc/configs/ep8248e_defconfig
index 79105413884e..6b708395a7c6 100644
--- a/arch/powerpc/configs/ep8248e_defconfig
+++ b/arch/powerpc/configs/ep8248e_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.33-rc3 3# Linux kernel version: 2.6.34-rc5
4# Wed Jan 6 09:23:59 2010 4# Mon Apr 19 23:16:24 2010
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -96,8 +96,7 @@ CONFIG_IKCONFIG=y
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
@@ -298,6 +297,7 @@ CONFIG_ISA_DMA_API=y
298# Bus options 297# Bus options
299# 298#
300CONFIG_ZONE_DMA=y 299CONFIG_ZONE_DMA=y
300# CONFIG_NEED_DMA_MAP_STATE is not set
301CONFIG_PPC_INDIRECT_PCI=y 301CONFIG_PPC_INDIRECT_PCI=y
302CONFIG_FSL_SOC=y 302CONFIG_FSL_SOC=y
303CONFIG_PPC_PCI_CHOICE=y 303CONFIG_PPC_PCI_CHOICE=y
@@ -308,7 +308,6 @@ CONFIG_PCI_8260=y
308# CONFIG_PCIEPORTBUS is not set 308# CONFIG_PCIEPORTBUS is not set
309CONFIG_ARCH_SUPPORTS_MSI=y 309CONFIG_ARCH_SUPPORTS_MSI=y
310# CONFIG_PCI_MSI is not set 310# CONFIG_PCI_MSI is not set
311# CONFIG_PCI_LEGACY is not set
312# CONFIG_PCI_DEBUG is not set 311# CONFIG_PCI_DEBUG is not set
313# CONFIG_PCI_STUB is not set 312# CONFIG_PCI_STUB is not set
314# CONFIG_PCI_IOV is not set 313# CONFIG_PCI_IOV is not set
@@ -335,7 +334,6 @@ CONFIG_NET=y
335# Networking options 334# Networking options
336# 335#
337CONFIG_PACKET=y 336CONFIG_PACKET=y
338# CONFIG_PACKET_MMAP is not set
339CONFIG_UNIX=y 337CONFIG_UNIX=y
340CONFIG_XFRM=y 338CONFIG_XFRM=y
341# CONFIG_XFRM_USER is not set 339# CONFIG_XFRM_USER is not set
@@ -537,6 +535,8 @@ CONFIG_MTD_PHYSMAP_OF=y
537# UBI - Unsorted block images 535# UBI - Unsorted block images
538# 536#
539# CONFIG_MTD_UBI is not set 537# CONFIG_MTD_UBI is not set
538CONFIG_OF_FLATTREE=y
539CONFIG_OF_DYNAMIC=y
540CONFIG_OF_DEVICE=y 540CONFIG_OF_DEVICE=y
541CONFIG_OF_GPIO=y 541CONFIG_OF_GPIO=y
542CONFIG_OF_MDIO=y 542CONFIG_OF_MDIO=y
@@ -566,6 +566,7 @@ CONFIG_HAVE_IDE=y
566# 566#
567# SCSI device support 567# SCSI device support
568# 568#
569CONFIG_SCSI_MOD=y
569# CONFIG_RAID_ATTRS is not set 570# CONFIG_RAID_ATTRS is not set
570# CONFIG_SCSI is not set 571# CONFIG_SCSI is not set
571# CONFIG_SCSI_DMA is not set 572# CONFIG_SCSI_DMA is not set
@@ -671,6 +672,8 @@ CONFIG_NETDEV_10000=y
671# CONFIG_CHELSIO_T1 is not set 672# CONFIG_CHELSIO_T1 is not set
672CONFIG_CHELSIO_T3_DEPENDS=y 673CONFIG_CHELSIO_T3_DEPENDS=y
673# CONFIG_CHELSIO_T3 is not set 674# CONFIG_CHELSIO_T3 is not set
675CONFIG_CHELSIO_T4_DEPENDS=y
676# CONFIG_CHELSIO_T4 is not set
674# CONFIG_ENIC is not set 677# CONFIG_ENIC is not set
675# CONFIG_IXGBE is not set 678# CONFIG_IXGBE is not set
676# CONFIG_IXGB is not set 679# CONFIG_IXGB is not set
@@ -683,6 +686,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
683# CONFIG_MLX4_CORE is not set 686# CONFIG_MLX4_CORE is not set
684# CONFIG_TEHUTI is not set 687# CONFIG_TEHUTI is not set
685# CONFIG_BNX2X is not set 688# CONFIG_BNX2X is not set
689# CONFIG_QLCNIC is not set
686# CONFIG_QLGE is not set 690# CONFIG_QLGE is not set
687# CONFIG_SFC is not set 691# CONFIG_SFC is not set
688# CONFIG_BE2NET is not set 692# CONFIG_BE2NET is not set
@@ -737,6 +741,7 @@ CONFIG_SERIAL_CORE_CONSOLE=y
737CONFIG_SERIAL_CPM=y 741CONFIG_SERIAL_CPM=y
738CONFIG_SERIAL_CPM_CONSOLE=y 742CONFIG_SERIAL_CPM_CONSOLE=y
739# CONFIG_SERIAL_JSM is not set 743# CONFIG_SERIAL_JSM is not set
744# CONFIG_SERIAL_TIMBERDALE is not set
740# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set 745# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set
741CONFIG_UNIX98_PTYS=y 746CONFIG_UNIX98_PTYS=y
742# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set 747# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
@@ -765,7 +770,9 @@ CONFIG_GPIOLIB=y
765# 770#
766# Memory mapped GPIO expanders: 771# Memory mapped GPIO expanders:
767# 772#
773# CONFIG_GPIO_IT8761E is not set
768# CONFIG_GPIO_XILINX is not set 774# CONFIG_GPIO_XILINX is not set
775# CONFIG_GPIO_SCH is not set
769 776
770# 777#
771# I2C GPIO expanders: 778# I2C GPIO expanders:
@@ -804,6 +811,8 @@ CONFIG_SSB_POSSIBLE=y
804# CONFIG_MFD_SM501 is not set 811# CONFIG_MFD_SM501 is not set
805# CONFIG_HTC_PASIC3 is not set 812# CONFIG_HTC_PASIC3 is not set
806# CONFIG_MFD_TMIO is not set 813# CONFIG_MFD_TMIO is not set
814# CONFIG_MFD_TIMBERDALE is not set
815# CONFIG_LPC_SCH is not set
807# CONFIG_REGULATOR is not set 816# CONFIG_REGULATOR is not set
808# CONFIG_MEDIA_SUPPORT is not set 817# CONFIG_MEDIA_SUPPORT is not set
809 818
@@ -812,6 +821,7 @@ CONFIG_SSB_POSSIBLE=y
812# 821#
813# CONFIG_AGP is not set 822# CONFIG_AGP is not set
814CONFIG_VGA_ARB=y 823CONFIG_VGA_ARB=y
824CONFIG_VGA_ARB_MAX_GPUS=16
815# CONFIG_DRM is not set 825# CONFIG_DRM is not set
816# CONFIG_VGASTATE is not set 826# CONFIG_VGASTATE is not set
817# CONFIG_VIDEO_OUTPUT_CONTROL is not set 827# CONFIG_VIDEO_OUTPUT_CONTROL is not set
@@ -869,6 +879,7 @@ CONFIG_AUTOFS4_FS=y
869# 879#
870# Caches 880# Caches
871# 881#
882# CONFIG_FSCACHE is not set
872 883
873# 884#
874# CD-ROM/DVD Filesystems 885# CD-ROM/DVD Filesystems
diff --git a/arch/powerpc/configs/ep88xc_defconfig b/arch/powerpc/configs/ep88xc_defconfig
index 58f7ca71a59d..1cee889dd9ec 100644
--- a/arch/powerpc/configs/ep88xc_defconfig
+++ b/arch/powerpc/configs/ep88xc_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.33-rc3 3# Linux kernel version: 2.6.34-rc5
4# Wed Jan 6 09:24:00 2010 4# Mon Apr 19 23:16:24 2010
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -90,14 +90,8 @@ CONFIG_RCU_FANOUT=32
90# CONFIG_TREE_RCU_TRACE is not set 90# CONFIG_TREE_RCU_TRACE is not set
91# CONFIG_IKCONFIG is not set 91# CONFIG_IKCONFIG is not set
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
@@ -306,6 +300,7 @@ CONFIG_ISA_DMA_API=y
306# Bus options 300# Bus options
307# 301#
308CONFIG_ZONE_DMA=y 302CONFIG_ZONE_DMA=y
303CONFIG_NEED_DMA_MAP_STATE=y
309CONFIG_FSL_SOC=y 304CONFIG_FSL_SOC=y
310# CONFIG_PCI is not set 305# CONFIG_PCI is not set
311# CONFIG_PCI_DOMAINS is not set 306# CONFIG_PCI_DOMAINS is not set
@@ -335,7 +330,6 @@ CONFIG_NET=y
335# Networking options 330# Networking options
336# 331#
337CONFIG_PACKET=y 332CONFIG_PACKET=y
338# CONFIG_PACKET_MMAP is not set
339CONFIG_UNIX=y 333CONFIG_UNIX=y
340# CONFIG_NET_KEY is not set 334# CONFIG_NET_KEY is not set
341CONFIG_INET=y 335CONFIG_INET=y
@@ -504,6 +498,8 @@ CONFIG_MTD_PHYSMAP_OF=y
504# UBI - Unsorted block images 498# UBI - Unsorted block images
505# 499#
506# CONFIG_MTD_UBI is not set 500# CONFIG_MTD_UBI is not set
501CONFIG_OF_FLATTREE=y
502CONFIG_OF_DYNAMIC=y
507CONFIG_OF_DEVICE=y 503CONFIG_OF_DEVICE=y
508CONFIG_OF_MDIO=y 504CONFIG_OF_MDIO=y
509# CONFIG_PARPORT is not set 505# CONFIG_PARPORT is not set
@@ -515,6 +511,7 @@ CONFIG_HAVE_IDE=y
515# 511#
516# SCSI device support 512# SCSI device support
517# 513#
514CONFIG_SCSI_MOD=y
518# CONFIG_RAID_ATTRS is not set 515# CONFIG_RAID_ATTRS is not set
519# CONFIG_SCSI is not set 516# CONFIG_SCSI is not set
520# CONFIG_SCSI_DMA is not set 517# CONFIG_SCSI_DMA is not set
@@ -616,6 +613,7 @@ CONFIG_SERIAL_CORE=y
616CONFIG_SERIAL_CORE_CONSOLE=y 613CONFIG_SERIAL_CORE_CONSOLE=y
617CONFIG_SERIAL_CPM=y 614CONFIG_SERIAL_CPM=y
618CONFIG_SERIAL_CPM_CONSOLE=y 615CONFIG_SERIAL_CPM_CONSOLE=y
616# CONFIG_SERIAL_TIMBERDALE is not set
619# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set 617# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set
620CONFIG_UNIX98_PTYS=y 618CONFIG_UNIX98_PTYS=y
621# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set 619# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
@@ -753,6 +751,7 @@ CONFIG_MISC_FILESYSTEMS=y
753# CONFIG_BFS_FS is not set 751# CONFIG_BFS_FS is not set
754# CONFIG_EFS_FS is not set 752# CONFIG_EFS_FS is not set
755# CONFIG_JFFS2_FS is not set 753# CONFIG_JFFS2_FS is not set
754# CONFIG_LOGFS is not set
756CONFIG_CRAMFS=y 755CONFIG_CRAMFS=y
757# CONFIG_SQUASHFS is not set 756# CONFIG_SQUASHFS is not set
758# CONFIG_VXFS_FS is not set 757# CONFIG_VXFS_FS is not set
@@ -777,6 +776,7 @@ CONFIG_SUNRPC=y
777# CONFIG_RPCSEC_GSS_KRB5 is not set 776# CONFIG_RPCSEC_GSS_KRB5 is not set
778# CONFIG_RPCSEC_GSS_SPKM3 is not set 777# CONFIG_RPCSEC_GSS_SPKM3 is not set
779# CONFIG_SMB_FS is not set 778# CONFIG_SMB_FS is not set
779# CONFIG_CEPH_FS is not set
780# CONFIG_CIFS is not set 780# CONFIG_CIFS is not set
781# CONFIG_NCP_FS is not set 781# CONFIG_NCP_FS is not set
782# CONFIG_CODA_FS is not set 782# CONFIG_CODA_FS is not set
diff --git a/arch/powerpc/configs/g5_defconfig b/arch/powerpc/configs/g5_defconfig
index 826a65d3f002..57d3ffa3026a 100644
--- a/arch/powerpc/configs/g5_defconfig
+++ b/arch/powerpc/configs/g5_defconfig
@@ -82,8 +82,7 @@ CONFIG_IKCONFIG_PROC=y
82CONFIG_LOG_BUF_SHIFT=17 82CONFIG_LOG_BUF_SHIFT=17
83# CONFIG_CGROUPS is not set 83# CONFIG_CGROUPS is not set
84# CONFIG_GROUP_SCHED is not set 84# CONFIG_GROUP_SCHED is not set
85CONFIG_SYSFS_DEPRECATED=y 85# CONFIG_SYSFS_DEPRECATED_V2 is not set
86CONFIG_SYSFS_DEPRECATED_V2=y
87# CONFIG_RELAY is not set 86# CONFIG_RELAY is not set
88CONFIG_NAMESPACES=y 87CONFIG_NAMESPACES=y
89# CONFIG_UTS_NS is not set 88# CONFIG_UTS_NS is not set
diff --git a/arch/powerpc/configs/gamecube_defconfig b/arch/powerpc/configs/gamecube_defconfig
index 942e1193e9e4..1c2dbf07ac35 100644
--- a/arch/powerpc/configs/gamecube_defconfig
+++ b/arch/powerpc/configs/gamecube_defconfig
@@ -101,8 +101,7 @@ CONFIG_FAIR_GROUP_SCHED=y
101CONFIG_USER_SCHED=y 101CONFIG_USER_SCHED=y
102# CONFIG_CGROUP_SCHED is not set 102# CONFIG_CGROUP_SCHED is not set
103# CONFIG_CGROUPS is not set 103# CONFIG_CGROUPS is not set
104CONFIG_SYSFS_DEPRECATED=y 104# CONFIG_SYSFS_DEPRECATED_V2 is not set
105CONFIG_SYSFS_DEPRECATED_V2=y
106# CONFIG_RELAY is not set 105# CONFIG_RELAY is not set
107# CONFIG_NAMESPACES is not set 106# CONFIG_NAMESPACES is not set
108CONFIG_BLK_DEV_INITRD=y 107CONFIG_BLK_DEV_INITRD=y
diff --git a/arch/powerpc/configs/holly_defconfig b/arch/powerpc/configs/holly_defconfig
index a211a79959ca..a60d61bee48d 100644
--- a/arch/powerpc/configs/holly_defconfig
+++ b/arch/powerpc/configs/holly_defconfig
@@ -73,7 +73,6 @@ CONFIG_SYSVIPC_SYSCTL=y
73CONFIG_LOG_BUF_SHIFT=14 73CONFIG_LOG_BUF_SHIFT=14
74# CONFIG_CGROUPS is not set 74# CONFIG_CGROUPS is not set
75# CONFIG_FAIR_GROUP_SCHED is not set 75# CONFIG_FAIR_GROUP_SCHED is not set
76CONFIG_SYSFS_DEPRECATED=y
77# CONFIG_RELAY is not set 76# CONFIG_RELAY is not set
78CONFIG_BLK_DEV_INITRD=y 77CONFIG_BLK_DEV_INITRD=y
79CONFIG_INITRAMFS_SOURCE="" 78CONFIG_INITRAMFS_SOURCE=""
diff --git a/arch/powerpc/configs/iseries_defconfig b/arch/powerpc/configs/iseries_defconfig
index 76982c51a4c7..151c8e14f3ab 100644
--- a/arch/powerpc/configs/iseries_defconfig
+++ b/arch/powerpc/configs/iseries_defconfig
@@ -81,8 +81,7 @@ CONFIG_IKCONFIG_PROC=y
81CONFIG_LOG_BUF_SHIFT=17 81CONFIG_LOG_BUF_SHIFT=17
82# CONFIG_CGROUPS is not set 82# CONFIG_CGROUPS is not set
83# CONFIG_GROUP_SCHED is not set 83# CONFIG_GROUP_SCHED is not set
84CONFIG_SYSFS_DEPRECATED=y 84# CONFIG_SYSFS_DEPRECATED_V2 is not set
85CONFIG_SYSFS_DEPRECATED_V2=y
86# CONFIG_RELAY is not set 85# CONFIG_RELAY is not set
87CONFIG_NAMESPACES=y 86CONFIG_NAMESPACES=y
88# CONFIG_UTS_NS is not set 87# CONFIG_UTS_NS is not set
diff --git a/arch/powerpc/configs/linkstation_defconfig b/arch/powerpc/configs/linkstation_defconfig
index 9a0c981277eb..8ecacf74d3e5 100644
--- a/arch/powerpc/configs/linkstation_defconfig
+++ b/arch/powerpc/configs/linkstation_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.33-rc3 3# Linux kernel version: 2.6.34-rc5
4# Wed Jan 6 09:24:01 2010 4# Mon Apr 19 23:16:25 2010
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -96,14 +96,8 @@ CONFIG_RCU_FANOUT=32
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 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
108CONFIG_NAMESPACES=y 102CONFIG_NAMESPACES=y
109# CONFIG_UTS_NS is not set 103# CONFIG_UTS_NS is not set
@@ -116,6 +110,7 @@ CONFIG_INITRAMFS_SOURCE=""
116CONFIG_RD_GZIP=y 110CONFIG_RD_GZIP=y
117CONFIG_RD_BZIP2=y 111CONFIG_RD_BZIP2=y
118CONFIG_RD_LZMA=y 112CONFIG_RD_LZMA=y
113CONFIG_RD_LZO=y
119CONFIG_CC_OPTIMIZE_FOR_SIZE=y 114CONFIG_CC_OPTIMIZE_FOR_SIZE=y
120CONFIG_SYSCTL=y 115CONFIG_SYSCTL=y
121CONFIG_ANON_INODES=y 116CONFIG_ANON_INODES=y
@@ -328,6 +323,7 @@ CONFIG_ISA_DMA_API=y
328# Bus options 323# Bus options
329# 324#
330CONFIG_ZONE_DMA=y 325CONFIG_ZONE_DMA=y
326# CONFIG_NEED_DMA_MAP_STATE is not set
331CONFIG_GENERIC_ISA_DMA=y 327CONFIG_GENERIC_ISA_DMA=y
332CONFIG_PPC_INDIRECT_PCI=y 328CONFIG_PPC_INDIRECT_PCI=y
333CONFIG_FSL_SOC=y 329CONFIG_FSL_SOC=y
@@ -337,7 +333,6 @@ CONFIG_PCI_SYSCALL=y
337# CONFIG_PCIEPORTBUS is not set 333# CONFIG_PCIEPORTBUS is not set
338CONFIG_ARCH_SUPPORTS_MSI=y 334CONFIG_ARCH_SUPPORTS_MSI=y
339# CONFIG_PCI_MSI is not set 335# CONFIG_PCI_MSI is not set
340# CONFIG_PCI_LEGACY is not set
341# CONFIG_PCI_DEBUG is not set 336# CONFIG_PCI_DEBUG is not set
342# CONFIG_PCI_STUB is not set 337# CONFIG_PCI_STUB is not set
343# CONFIG_PCI_IOV is not set 338# CONFIG_PCI_IOV is not set
@@ -364,7 +359,6 @@ CONFIG_NET=y
364# Networking options 359# Networking options
365# 360#
366CONFIG_PACKET=y 361CONFIG_PACKET=y
367CONFIG_PACKET_MMAP=y
368CONFIG_UNIX=y 362CONFIG_UNIX=y
369CONFIG_XFRM=y 363CONFIG_XFRM=y
370# CONFIG_XFRM_USER is not set 364# CONFIG_XFRM_USER is not set
@@ -433,6 +427,7 @@ CONFIG_NF_CONNTRACK_TFTP=m
433CONFIG_NETFILTER_XTABLES=m 427CONFIG_NETFILTER_XTABLES=m
434# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set 428# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set
435# CONFIG_NETFILTER_XT_TARGET_CONNMARK is not set 429# CONFIG_NETFILTER_XT_TARGET_CONNMARK is not set
430# CONFIG_NETFILTER_XT_TARGET_CT is not set
436# CONFIG_NETFILTER_XT_TARGET_DSCP is not set 431# CONFIG_NETFILTER_XT_TARGET_DSCP is not set
437CONFIG_NETFILTER_XT_TARGET_HL=m 432CONFIG_NETFILTER_XT_TARGET_HL=m
438# CONFIG_NETFILTER_XT_TARGET_MARK is not set 433# CONFIG_NETFILTER_XT_TARGET_MARK is not set
@@ -665,6 +660,8 @@ CONFIG_MTD_PHYSMAP=y
665# UBI - Unsorted block images 660# UBI - Unsorted block images
666# 661#
667# CONFIG_MTD_UBI is not set 662# CONFIG_MTD_UBI is not set
663CONFIG_OF_FLATTREE=y
664CONFIG_OF_DYNAMIC=y
668CONFIG_OF_DEVICE=y 665CONFIG_OF_DEVICE=y
669CONFIG_OF_I2C=y 666CONFIG_OF_I2C=y
670# CONFIG_PARPORT is not set 667# CONFIG_PARPORT is not set
@@ -700,6 +697,7 @@ CONFIG_MISC_DEVICES=y
700# CONFIG_ENCLOSURE_SERVICES is not set 697# CONFIG_ENCLOSURE_SERVICES is not set
701# CONFIG_HP_ILO is not set 698# CONFIG_HP_ILO is not set
702# CONFIG_ISL29003 is not set 699# CONFIG_ISL29003 is not set
700# CONFIG_SENSORS_TSL2550 is not set
703# CONFIG_DS1682 is not set 701# CONFIG_DS1682 is not set
704# CONFIG_C2PORT is not set 702# CONFIG_C2PORT is not set
705 703
@@ -717,6 +715,7 @@ CONFIG_HAVE_IDE=y
717# 715#
718# SCSI device support 716# SCSI device support
719# 717#
718CONFIG_SCSI_MOD=y
720# CONFIG_RAID_ATTRS is not set 719# CONFIG_RAID_ATTRS is not set
721CONFIG_SCSI=y 720CONFIG_SCSI=y
722CONFIG_SCSI_DMA=y 721CONFIG_SCSI_DMA=y
@@ -840,6 +839,7 @@ CONFIG_ATA_SFF=y
840CONFIG_PATA_IT821X=y 839CONFIG_PATA_IT821X=y
841# CONFIG_PATA_IT8213 is not set 840# CONFIG_PATA_IT8213 is not set
842# CONFIG_PATA_JMICRON is not set 841# CONFIG_PATA_JMICRON is not set
842# CONFIG_PATA_LEGACY is not set
843# CONFIG_PATA_TRIFLEX is not set 843# CONFIG_PATA_TRIFLEX is not set
844# CONFIG_PATA_MARVELL is not set 844# CONFIG_PATA_MARVELL is not set
845# CONFIG_PATA_MPIIX is not set 845# CONFIG_PATA_MPIIX is not set
@@ -954,6 +954,8 @@ CONFIG_NETDEV_10000=y
954# CONFIG_CHELSIO_T1 is not set 954# CONFIG_CHELSIO_T1 is not set
955CONFIG_CHELSIO_T3_DEPENDS=y 955CONFIG_CHELSIO_T3_DEPENDS=y
956# CONFIG_CHELSIO_T3 is not set 956# CONFIG_CHELSIO_T3 is not set
957CONFIG_CHELSIO_T4_DEPENDS=y
958# CONFIG_CHELSIO_T4 is not set
957# CONFIG_ENIC is not set 959# CONFIG_ENIC is not set
958# CONFIG_IXGBE is not set 960# CONFIG_IXGBE is not set
959# CONFIG_IXGB is not set 961# CONFIG_IXGB is not set
@@ -966,6 +968,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
966# CONFIG_MLX4_CORE is not set 968# CONFIG_MLX4_CORE is not set
967# CONFIG_TEHUTI is not set 969# CONFIG_TEHUTI is not set
968# CONFIG_BNX2X is not set 970# CONFIG_BNX2X is not set
971# CONFIG_QLCNIC is not set
969# CONFIG_QLGE is not set 972# CONFIG_QLGE is not set
970# CONFIG_SFC is not set 973# CONFIG_SFC is not set
971# CONFIG_BE2NET is not set 974# CONFIG_BE2NET is not set
@@ -1082,6 +1085,7 @@ CONFIG_SERIAL_CORE=y
1082CONFIG_SERIAL_CORE_CONSOLE=y 1085CONFIG_SERIAL_CORE_CONSOLE=y
1083# CONFIG_SERIAL_JSM is not set 1086# CONFIG_SERIAL_JSM is not set
1084# CONFIG_SERIAL_OF_PLATFORM is not set 1087# CONFIG_SERIAL_OF_PLATFORM is not set
1088# CONFIG_SERIAL_TIMBERDALE is not set
1085# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set 1089# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set
1086CONFIG_UNIX98_PTYS=y 1090CONFIG_UNIX98_PTYS=y
1087# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set 1091# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
@@ -1131,6 +1135,7 @@ CONFIG_I2C_HELPER_AUTO=y
1131CONFIG_I2C_MPC=y 1135CONFIG_I2C_MPC=y
1132# CONFIG_I2C_OCORES is not set 1136# CONFIG_I2C_OCORES is not set
1133# CONFIG_I2C_SIMTEC is not set 1137# CONFIG_I2C_SIMTEC is not set
1138# CONFIG_I2C_XILINX is not set
1134 1139
1135# 1140#
1136# External I2C/SMBus adapter drivers 1141# External I2C/SMBus adapter drivers
@@ -1144,15 +1149,9 @@ CONFIG_I2C_MPC=y
1144# 1149#
1145# CONFIG_I2C_PCA_PLATFORM is not set 1150# CONFIG_I2C_PCA_PLATFORM is not set
1146# CONFIG_I2C_STUB is not set 1151# CONFIG_I2C_STUB is not set
1147
1148#
1149# Miscellaneous I2C Chip support
1150#
1151# CONFIG_SENSORS_TSL2550 is not set
1152# CONFIG_I2C_DEBUG_CORE is not set 1152# CONFIG_I2C_DEBUG_CORE is not set
1153# CONFIG_I2C_DEBUG_ALGO is not set 1153# CONFIG_I2C_DEBUG_ALGO is not set
1154# CONFIG_I2C_DEBUG_BUS is not set 1154# CONFIG_I2C_DEBUG_BUS is not set
1155# CONFIG_I2C_DEBUG_CHIP is not set
1156# CONFIG_SPI is not set 1155# CONFIG_SPI is not set
1157 1156
1158# 1157#
@@ -1178,10 +1177,11 @@ CONFIG_HWMON=y
1178# CONFIG_SENSORS_ADM1029 is not set 1177# CONFIG_SENSORS_ADM1029 is not set
1179# CONFIG_SENSORS_ADM1031 is not set 1178# CONFIG_SENSORS_ADM1031 is not set
1180# CONFIG_SENSORS_ADM9240 is not set 1179# CONFIG_SENSORS_ADM9240 is not set
1180# CONFIG_SENSORS_ADT7411 is not set
1181# CONFIG_SENSORS_ADT7462 is not set 1181# CONFIG_SENSORS_ADT7462 is not set
1182# CONFIG_SENSORS_ADT7470 is not set 1182# CONFIG_SENSORS_ADT7470 is not set
1183# CONFIG_SENSORS_ADT7473 is not set
1184# CONFIG_SENSORS_ADT7475 is not set 1183# CONFIG_SENSORS_ADT7475 is not set
1184# CONFIG_SENSORS_ASC7621 is not set
1185# CONFIG_SENSORS_ATXP1 is not set 1185# CONFIG_SENSORS_ATXP1 is not set
1186# CONFIG_SENSORS_DS1621 is not set 1186# CONFIG_SENSORS_DS1621 is not set
1187# CONFIG_SENSORS_I5K_AMB is not set 1187# CONFIG_SENSORS_I5K_AMB is not set
@@ -1218,6 +1218,7 @@ CONFIG_HWMON=y
1218# CONFIG_SENSORS_SMSC47M192 is not set 1218# CONFIG_SENSORS_SMSC47M192 is not set
1219# CONFIG_SENSORS_SMSC47B397 is not set 1219# CONFIG_SENSORS_SMSC47B397 is not set
1220# CONFIG_SENSORS_ADS7828 is not set 1220# CONFIG_SENSORS_ADS7828 is not set
1221# CONFIG_SENSORS_AMC6821 is not set
1221# CONFIG_SENSORS_THMC50 is not set 1222# CONFIG_SENSORS_THMC50 is not set
1222# CONFIG_SENSORS_TMP401 is not set 1223# CONFIG_SENSORS_TMP401 is not set
1223# CONFIG_SENSORS_TMP421 is not set 1224# CONFIG_SENSORS_TMP421 is not set
@@ -1246,18 +1247,21 @@ CONFIG_SSB_POSSIBLE=y
1246# Multifunction device drivers 1247# Multifunction device drivers
1247# 1248#
1248# CONFIG_MFD_CORE is not set 1249# CONFIG_MFD_CORE is not set
1250# CONFIG_MFD_88PM860X is not set
1249# CONFIG_MFD_SM501 is not set 1251# CONFIG_MFD_SM501 is not set
1250# CONFIG_HTC_PASIC3 is not set 1252# CONFIG_HTC_PASIC3 is not set
1251# CONFIG_TWL4030_CORE is not set 1253# CONFIG_TWL4030_CORE is not set
1252# CONFIG_MFD_TMIO is not set 1254# CONFIG_MFD_TMIO is not set
1253# CONFIG_PMIC_DA903X is not set 1255# CONFIG_PMIC_DA903X is not set
1254# CONFIG_PMIC_ADP5520 is not set 1256# CONFIG_PMIC_ADP5520 is not set
1257# CONFIG_MFD_MAX8925 is not set
1255# CONFIG_MFD_WM8400 is not set 1258# CONFIG_MFD_WM8400 is not set
1256# CONFIG_MFD_WM831X is not set 1259# CONFIG_MFD_WM831X is not set
1257# CONFIG_MFD_WM8350_I2C is not set 1260# CONFIG_MFD_WM8350_I2C is not set
1261# CONFIG_MFD_WM8994 is not set
1258# CONFIG_MFD_PCF50633 is not set 1262# CONFIG_MFD_PCF50633 is not set
1259# CONFIG_AB3100_CORE is not set 1263# CONFIG_AB3100_CORE is not set
1260# CONFIG_MFD_88PM8607 is not set 1264# CONFIG_LPC_SCH is not set
1261# CONFIG_REGULATOR is not set 1265# CONFIG_REGULATOR is not set
1262# CONFIG_MEDIA_SUPPORT is not set 1266# CONFIG_MEDIA_SUPPORT is not set
1263 1267
@@ -1266,6 +1270,7 @@ CONFIG_SSB_POSSIBLE=y
1266# 1270#
1267# CONFIG_AGP is not set 1271# CONFIG_AGP is not set
1268CONFIG_VGA_ARB=y 1272CONFIG_VGA_ARB=y
1273CONFIG_VGA_ARB_MAX_GPUS=16
1269# CONFIG_DRM is not set 1274# CONFIG_DRM is not set
1270# CONFIG_VGASTATE is not set 1275# CONFIG_VGASTATE is not set
1271CONFIG_VIDEO_OUTPUT_CONTROL=m 1276CONFIG_VIDEO_OUTPUT_CONTROL=m
@@ -1417,6 +1422,7 @@ CONFIG_USB_SERIAL_FTDI_SIO=y
1417# CONFIG_USB_SERIAL_NAVMAN is not set 1422# CONFIG_USB_SERIAL_NAVMAN is not set
1418# CONFIG_USB_SERIAL_PL2303 is not set 1423# CONFIG_USB_SERIAL_PL2303 is not set
1419# CONFIG_USB_SERIAL_OTI6858 is not set 1424# CONFIG_USB_SERIAL_OTI6858 is not set
1425# CONFIG_USB_SERIAL_QCAUX is not set
1420# CONFIG_USB_SERIAL_QUALCOMM is not set 1426# CONFIG_USB_SERIAL_QUALCOMM is not set
1421# CONFIG_USB_SERIAL_SPCP8X5 is not set 1427# CONFIG_USB_SERIAL_SPCP8X5 is not set
1422# CONFIG_USB_SERIAL_HP4X is not set 1428# CONFIG_USB_SERIAL_HP4X is not set
@@ -1430,6 +1436,7 @@ CONFIG_USB_SERIAL_FTDI_SIO=y
1430# CONFIG_USB_SERIAL_OPTION is not set 1436# CONFIG_USB_SERIAL_OPTION is not set
1431# CONFIG_USB_SERIAL_OMNINET is not set 1437# CONFIG_USB_SERIAL_OMNINET is not set
1432# CONFIG_USB_SERIAL_OPTICON is not set 1438# CONFIG_USB_SERIAL_OPTICON is not set
1439# CONFIG_USB_SERIAL_VIVOPAY_SERIAL is not set
1433# CONFIG_USB_SERIAL_DEBUG is not set 1440# CONFIG_USB_SERIAL_DEBUG is not set
1434 1441
1435# 1442#
@@ -1442,7 +1449,6 @@ CONFIG_USB_SERIAL_FTDI_SIO=y
1442# CONFIG_USB_RIO500 is not set 1449# CONFIG_USB_RIO500 is not set
1443# CONFIG_USB_LEGOTOWER is not set 1450# CONFIG_USB_LEGOTOWER is not set
1444# CONFIG_USB_LCD is not set 1451# CONFIG_USB_LCD is not set
1445# CONFIG_USB_BERRY_CHARGE is not set
1446# CONFIG_USB_LED is not set 1452# CONFIG_USB_LED is not set
1447# CONFIG_USB_CYPRESS_CY7C63 is not set 1453# CONFIG_USB_CYPRESS_CY7C63 is not set
1448# CONFIG_USB_CYTHERM is not set 1454# CONFIG_USB_CYTHERM is not set
@@ -1455,7 +1461,6 @@ CONFIG_USB_SERIAL_FTDI_SIO=y
1455# CONFIG_USB_IOWARRIOR is not set 1461# CONFIG_USB_IOWARRIOR is not set
1456# CONFIG_USB_TEST is not set 1462# CONFIG_USB_TEST is not set
1457# CONFIG_USB_ISIGHTFW is not set 1463# CONFIG_USB_ISIGHTFW is not set
1458# CONFIG_USB_VST is not set
1459# CONFIG_USB_GADGET is not set 1464# CONFIG_USB_GADGET is not set
1460 1465
1461# 1466#
@@ -1620,6 +1625,7 @@ CONFIG_MISC_FILESYSTEMS=y
1620# CONFIG_BFS_FS is not set 1625# CONFIG_BFS_FS is not set
1621# CONFIG_EFS_FS is not set 1626# CONFIG_EFS_FS is not set
1622# CONFIG_JFFS2_FS is not set 1627# CONFIG_JFFS2_FS is not set
1628# CONFIG_LOGFS is not set
1623# CONFIG_CRAMFS is not set 1629# CONFIG_CRAMFS is not set
1624# CONFIG_SQUASHFS is not set 1630# CONFIG_SQUASHFS is not set
1625# CONFIG_VXFS_FS is not set 1631# CONFIG_VXFS_FS is not set
@@ -1651,6 +1657,7 @@ CONFIG_SUNRPC_GSS=y
1651CONFIG_RPCSEC_GSS_KRB5=y 1657CONFIG_RPCSEC_GSS_KRB5=y
1652# CONFIG_RPCSEC_GSS_SPKM3 is not set 1658# CONFIG_RPCSEC_GSS_SPKM3 is not set
1653# CONFIG_SMB_FS is not set 1659# CONFIG_SMB_FS is not set
1660# CONFIG_CEPH_FS is not set
1654CONFIG_CIFS=m 1661CONFIG_CIFS=m
1655# CONFIG_CIFS_STATS is not set 1662# CONFIG_CIFS_STATS is not set
1656# CONFIG_CIFS_WEAK_PW_HASH is not set 1663# CONFIG_CIFS_WEAK_PW_HASH is not set
@@ -1723,9 +1730,11 @@ CONFIG_CRC32=y
1723CONFIG_LIBCRC32C=m 1730CONFIG_LIBCRC32C=m
1724CONFIG_ZLIB_INFLATE=y 1731CONFIG_ZLIB_INFLATE=y
1725CONFIG_ZLIB_DEFLATE=m 1732CONFIG_ZLIB_DEFLATE=m
1733CONFIG_LZO_DECOMPRESS=y
1726CONFIG_DECOMPRESS_GZIP=y 1734CONFIG_DECOMPRESS_GZIP=y
1727CONFIG_DECOMPRESS_BZIP2=y 1735CONFIG_DECOMPRESS_BZIP2=y
1728CONFIG_DECOMPRESS_LZMA=y 1736CONFIG_DECOMPRESS_LZMA=y
1737CONFIG_DECOMPRESS_LZO=y
1729CONFIG_TEXTSEARCH=y 1738CONFIG_TEXTSEARCH=y
1730CONFIG_TEXTSEARCH_KMP=m 1739CONFIG_TEXTSEARCH_KMP=m
1731CONFIG_HAS_IOMEM=y 1740CONFIG_HAS_IOMEM=y
diff --git a/arch/powerpc/configs/maple_defconfig b/arch/powerpc/configs/maple_defconfig
index 8b244003b9e1..dc50eec58e78 100644
--- a/arch/powerpc/configs/maple_defconfig
+++ b/arch/powerpc/configs/maple_defconfig
@@ -78,8 +78,7 @@ CONFIG_IKCONFIG_PROC=y
78CONFIG_LOG_BUF_SHIFT=17 78CONFIG_LOG_BUF_SHIFT=17
79# CONFIG_CGROUPS is not set 79# CONFIG_CGROUPS is not set
80# CONFIG_GROUP_SCHED is not set 80# CONFIG_GROUP_SCHED is not set
81CONFIG_SYSFS_DEPRECATED=y 81# CONFIG_SYSFS_DEPRECATED_V2 is not set
82CONFIG_SYSFS_DEPRECATED_V2=y
83# CONFIG_RELAY is not set 82# CONFIG_RELAY is not set
84CONFIG_NAMESPACES=y 83CONFIG_NAMESPACES=y
85# CONFIG_UTS_NS is not set 84# CONFIG_UTS_NS is not set
diff --git a/arch/powerpc/configs/mgcoge_defconfig b/arch/powerpc/configs/mgcoge_defconfig
index 4c2c877f9363..b36ebb7e843e 100644
--- a/arch/powerpc/configs/mgcoge_defconfig
+++ b/arch/powerpc/configs/mgcoge_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.33-rc3 3# Linux kernel version: 2.6.34-rc5
4# Wed Jan 6 09:24:02 2010 4# Mon Apr 19 23:16:26 2010
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -96,8 +96,7 @@ CONFIG_IKCONFIG=y
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
103CONFIG_BLK_DEV_INITRD=y 102CONFIG_BLK_DEV_INITRD=y
@@ -105,6 +104,7 @@ CONFIG_INITRAMFS_SOURCE=""
105CONFIG_RD_GZIP=y 104CONFIG_RD_GZIP=y
106# CONFIG_RD_BZIP2 is not set 105# CONFIG_RD_BZIP2 is not set
107# CONFIG_RD_LZMA is not set 106# CONFIG_RD_LZMA is not set
107# CONFIG_RD_LZO is not set
108CONFIG_CC_OPTIMIZE_FOR_SIZE=y 108CONFIG_CC_OPTIMIZE_FOR_SIZE=y
109CONFIG_SYSCTL=y 109CONFIG_SYSCTL=y
110CONFIG_ANON_INODES=y 110CONFIG_ANON_INODES=y
@@ -311,6 +311,7 @@ CONFIG_ISA_DMA_API=y
311# 311#
312# CONFIG_ISA is not set 312# CONFIG_ISA is not set
313CONFIG_ZONE_DMA=y 313CONFIG_ZONE_DMA=y
314# CONFIG_NEED_DMA_MAP_STATE is not set
314CONFIG_PPC_INDIRECT_PCI=y 315CONFIG_PPC_INDIRECT_PCI=y
315CONFIG_FSL_SOC=y 316CONFIG_FSL_SOC=y
316CONFIG_PPC_PCI_CHOICE=y 317CONFIG_PPC_PCI_CHOICE=y
@@ -321,7 +322,6 @@ CONFIG_PCI_8260=y
321# CONFIG_PCIEPORTBUS is not set 322# CONFIG_PCIEPORTBUS is not set
322CONFIG_ARCH_SUPPORTS_MSI=y 323CONFIG_ARCH_SUPPORTS_MSI=y
323# CONFIG_PCI_MSI is not set 324# CONFIG_PCI_MSI is not set
324# CONFIG_PCI_LEGACY is not set
325# CONFIG_PCI_DEBUG is not set 325# CONFIG_PCI_DEBUG is not set
326# CONFIG_PCI_STUB is not set 326# CONFIG_PCI_STUB is not set
327# CONFIG_PCI_IOV is not set 327# CONFIG_PCI_IOV is not set
@@ -348,7 +348,6 @@ CONFIG_NET=y
348# Networking options 348# Networking options
349# 349#
350CONFIG_PACKET=y 350CONFIG_PACKET=y
351# CONFIG_PACKET_MMAP is not set
352CONFIG_UNIX=y 351CONFIG_UNIX=y
353CONFIG_XFRM=y 352CONFIG_XFRM=y
354# CONFIG_XFRM_USER is not set 353# CONFIG_XFRM_USER is not set
@@ -536,6 +535,8 @@ CONFIG_MTD_PHYSMAP_OF=y
536# UBI - Unsorted block images 535# UBI - Unsorted block images
537# 536#
538# CONFIG_MTD_UBI is not set 537# CONFIG_MTD_UBI is not set
538CONFIG_OF_FLATTREE=y
539CONFIG_OF_DYNAMIC=y
539CONFIG_OF_DEVICE=y 540CONFIG_OF_DEVICE=y
540CONFIG_OF_GPIO=y 541CONFIG_OF_GPIO=y
541CONFIG_OF_I2C=y 542CONFIG_OF_I2C=y
@@ -570,6 +571,7 @@ CONFIG_HAVE_IDE=y
570# 571#
571# SCSI device support 572# SCSI device support
572# 573#
574CONFIG_SCSI_MOD=y
573# CONFIG_RAID_ATTRS is not set 575# CONFIG_RAID_ATTRS is not set
574# CONFIG_SCSI is not set 576# CONFIG_SCSI is not set
575# CONFIG_SCSI_DMA is not set 577# CONFIG_SCSI_DMA is not set
@@ -704,6 +706,7 @@ CONFIG_SERIAL_CORE_CONSOLE=y
704CONFIG_SERIAL_CPM=y 706CONFIG_SERIAL_CPM=y
705CONFIG_SERIAL_CPM_CONSOLE=y 707CONFIG_SERIAL_CPM_CONSOLE=y
706# CONFIG_SERIAL_JSM is not set 708# CONFIG_SERIAL_JSM is not set
709# CONFIG_SERIAL_TIMBERDALE is not set
707# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set 710# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set
708CONFIG_UNIX98_PTYS=y 711CONFIG_UNIX98_PTYS=y
709# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set 712# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
@@ -769,14 +772,9 @@ CONFIG_I2C_CPM=y
769# Other I2C/SMBus bus drivers 772# Other I2C/SMBus bus drivers
770# 773#
771# CONFIG_I2C_PCA_PLATFORM is not set 774# CONFIG_I2C_PCA_PLATFORM is not set
772
773#
774# Miscellaneous I2C Chip support
775#
776# CONFIG_I2C_DEBUG_CORE is not set 775# CONFIG_I2C_DEBUG_CORE is not set
777# CONFIG_I2C_DEBUG_ALGO is not set 776# CONFIG_I2C_DEBUG_ALGO is not set
778# CONFIG_I2C_DEBUG_BUS is not set 777# CONFIG_I2C_DEBUG_BUS is not set
779# CONFIG_I2C_DEBUG_CHIP is not set
780# CONFIG_SPI is not set 778# CONFIG_SPI is not set
781 779
782# 780#
@@ -790,14 +788,18 @@ CONFIG_GPIOLIB=y
790# 788#
791# Memory mapped GPIO expanders: 789# Memory mapped GPIO expanders:
792# 790#
791# CONFIG_GPIO_IT8761E is not set
793# CONFIG_GPIO_XILINX is not set 792# CONFIG_GPIO_XILINX is not set
793# CONFIG_GPIO_SCH is not set
794 794
795# 795#
796# I2C GPIO expanders: 796# I2C GPIO expanders:
797# 797#
798# CONFIG_GPIO_MAX7300 is not set
798# CONFIG_GPIO_MAX732X is not set 799# CONFIG_GPIO_MAX732X is not set
799# CONFIG_GPIO_PCA953X is not set 800# CONFIG_GPIO_PCA953X is not set
800# CONFIG_GPIO_PCF857X is not set 801# CONFIG_GPIO_PCF857X is not set
802# CONFIG_GPIO_ADP5588 is not set
801 803
802# 804#
803# PCI GPIO expanders: 805# PCI GPIO expanders:
@@ -829,19 +831,24 @@ CONFIG_SSB_POSSIBLE=y
829# Multifunction device drivers 831# Multifunction device drivers
830# 832#
831# CONFIG_MFD_CORE is not set 833# CONFIG_MFD_CORE is not set
834# CONFIG_MFD_88PM860X is not set
832# CONFIG_MFD_SM501 is not set 835# CONFIG_MFD_SM501 is not set
833# CONFIG_HTC_PASIC3 is not set 836# CONFIG_HTC_PASIC3 is not set
837# CONFIG_HTC_I2CPLD is not set
834# CONFIG_TPS65010 is not set 838# CONFIG_TPS65010 is not set
835# CONFIG_TWL4030_CORE is not set 839# CONFIG_TWL4030_CORE is not set
836# CONFIG_MFD_TMIO is not set 840# CONFIG_MFD_TMIO is not set
837# CONFIG_PMIC_DA903X is not set 841# CONFIG_PMIC_DA903X is not set
838# CONFIG_PMIC_ADP5520 is not set 842# CONFIG_PMIC_ADP5520 is not set
843# CONFIG_MFD_MAX8925 is not set
839# CONFIG_MFD_WM8400 is not set 844# CONFIG_MFD_WM8400 is not set
840# CONFIG_MFD_WM831X is not set 845# CONFIG_MFD_WM831X is not set
841# CONFIG_MFD_WM8350_I2C is not set 846# CONFIG_MFD_WM8350_I2C is not set
847# CONFIG_MFD_WM8994 is not set
842# CONFIG_MFD_PCF50633 is not set 848# CONFIG_MFD_PCF50633 is not set
843# CONFIG_AB3100_CORE is not set 849# CONFIG_AB3100_CORE is not set
844# CONFIG_MFD_88PM8607 is not set 850# CONFIG_MFD_TIMBERDALE is not set
851# CONFIG_LPC_SCH is not set
845# CONFIG_REGULATOR is not set 852# CONFIG_REGULATOR is not set
846# CONFIG_MEDIA_SUPPORT is not set 853# CONFIG_MEDIA_SUPPORT is not set
847 854
@@ -850,6 +857,7 @@ CONFIG_SSB_POSSIBLE=y
850# 857#
851# CONFIG_AGP is not set 858# CONFIG_AGP is not set
852CONFIG_VGA_ARB=y 859CONFIG_VGA_ARB=y
860CONFIG_VGA_ARB_MAX_GPUS=16
853# CONFIG_DRM is not set 861# CONFIG_DRM is not set
854# CONFIG_VGASTATE is not set 862# CONFIG_VGASTATE is not set
855# CONFIG_VIDEO_OUTPUT_CONTROL is not set 863# CONFIG_VIDEO_OUTPUT_CONTROL is not set
@@ -908,6 +916,7 @@ CONFIG_AUTOFS4_FS=y
908# 916#
909# Caches 917# Caches
910# 918#
919# CONFIG_FSCACHE is not set
911 920
912# 921#
913# CD-ROM/DVD Filesystems 922# CD-ROM/DVD Filesystems
@@ -1100,6 +1109,7 @@ CONFIG_DEBUG_INFO=y
1100# CONFIG_BACKTRACE_SELF_TEST is not set 1109# CONFIG_BACKTRACE_SELF_TEST is not set
1101# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set 1110# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1102# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set 1111# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
1112# CONFIG_LKDTM is not set
1103# CONFIG_FAULT_INJECTION is not set 1113# CONFIG_FAULT_INJECTION is not set
1104# CONFIG_LATENCYTOP is not set 1114# CONFIG_LATENCYTOP is not set
1105CONFIG_SYSCTL_SYSCALL_CHECK=y 1115CONFIG_SYSCTL_SYSCALL_CHECK=y
diff --git a/arch/powerpc/configs/mgsuvd_defconfig b/arch/powerpc/configs/mgsuvd_defconfig
index 9e090f2c7e36..0dd5015ea81d 100644
--- a/arch/powerpc/configs/mgsuvd_defconfig
+++ b/arch/powerpc/configs/mgsuvd_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.33-rc3 3# Linux kernel version: 2.6.34-rc5
4# Wed Jan 6 09:24:03 2010 4# Mon Apr 19 23:16:27 2010
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -89,14 +89,8 @@ CONFIG_RCU_FANOUT=32
89# CONFIG_TREE_RCU_TRACE is not set 89# CONFIG_TREE_RCU_TRACE is not set
90# CONFIG_IKCONFIG is not set 90# CONFIG_IKCONFIG is not set
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 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
102CONFIG_BLK_DEV_INITRD=y 96CONFIG_BLK_DEV_INITRD=y
@@ -104,6 +98,7 @@ CONFIG_INITRAMFS_SOURCE=""
104CONFIG_RD_GZIP=y 98CONFIG_RD_GZIP=y
105# CONFIG_RD_BZIP2 is not set 99# CONFIG_RD_BZIP2 is not set
106# CONFIG_RD_LZMA is not set 100# CONFIG_RD_LZMA is not set
101# CONFIG_RD_LZO is not set
107# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 102# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
108CONFIG_SYSCTL=y 103CONFIG_SYSCTL=y
109CONFIG_ANON_INODES=y 104CONFIG_ANON_INODES=y
@@ -309,6 +304,7 @@ CONFIG_ISA_DMA_API=y
309# Bus options 304# Bus options
310# 305#
311CONFIG_ZONE_DMA=y 306CONFIG_ZONE_DMA=y
307CONFIG_NEED_DMA_MAP_STATE=y
312CONFIG_FSL_SOC=y 308CONFIG_FSL_SOC=y
313# CONFIG_PCI is not set 309# CONFIG_PCI is not set
314# CONFIG_PCI_DOMAINS is not set 310# CONFIG_PCI_DOMAINS is not set
@@ -337,7 +333,6 @@ CONFIG_NET=y
337# Networking options 333# Networking options
338# 334#
339CONFIG_PACKET=y 335CONFIG_PACKET=y
340# CONFIG_PACKET_MMAP is not set
341CONFIG_UNIX=y 336CONFIG_UNIX=y
342CONFIG_XFRM=y 337CONFIG_XFRM=y
343# CONFIG_XFRM_USER is not set 338# CONFIG_XFRM_USER is not set
@@ -515,6 +510,8 @@ CONFIG_MTD_PHYSMAP_OF=y
515# UBI - Unsorted block images 510# UBI - Unsorted block images
516# 511#
517# CONFIG_MTD_UBI is not set 512# CONFIG_MTD_UBI is not set
513CONFIG_OF_FLATTREE=y
514CONFIG_OF_DYNAMIC=y
518CONFIG_OF_DEVICE=y 515CONFIG_OF_DEVICE=y
519CONFIG_OF_MDIO=y 516CONFIG_OF_MDIO=y
520# CONFIG_PARPORT is not set 517# CONFIG_PARPORT is not set
@@ -542,6 +539,7 @@ CONFIG_HAVE_IDE=y
542# 539#
543# SCSI device support 540# SCSI device support
544# 541#
542CONFIG_SCSI_MOD=y
545# CONFIG_RAID_ATTRS is not set 543# CONFIG_RAID_ATTRS is not set
546# CONFIG_SCSI is not set 544# CONFIG_SCSI is not set
547# CONFIG_SCSI_DMA is not set 545# CONFIG_SCSI_DMA is not set
@@ -643,6 +641,7 @@ CONFIG_SERIAL_CORE=y
643CONFIG_SERIAL_CORE_CONSOLE=y 641CONFIG_SERIAL_CORE_CONSOLE=y
644CONFIG_SERIAL_CPM=y 642CONFIG_SERIAL_CPM=y
645CONFIG_SERIAL_CPM_CONSOLE=y 643CONFIG_SERIAL_CPM_CONSOLE=y
644# CONFIG_SERIAL_TIMBERDALE is not set
646# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set 645# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set
647CONFIG_UNIX98_PTYS=y 646CONFIG_UNIX98_PTYS=y
648# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set 647# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
@@ -801,6 +800,7 @@ CONFIG_JFFS2_ZLIB=y
801# CONFIG_JFFS2_LZO is not set 800# CONFIG_JFFS2_LZO is not set
802CONFIG_JFFS2_RTIME=y 801CONFIG_JFFS2_RTIME=y
803# CONFIG_JFFS2_RUBIN is not set 802# CONFIG_JFFS2_RUBIN is not set
803# CONFIG_LOGFS is not set
804CONFIG_CRAMFS=y 804CONFIG_CRAMFS=y
805# CONFIG_SQUASHFS is not set 805# CONFIG_SQUASHFS is not set
806# CONFIG_VXFS_FS is not set 806# CONFIG_VXFS_FS is not set
@@ -825,6 +825,7 @@ CONFIG_SUNRPC=y
825# CONFIG_RPCSEC_GSS_KRB5 is not set 825# CONFIG_RPCSEC_GSS_KRB5 is not set
826# CONFIG_RPCSEC_GSS_SPKM3 is not set 826# CONFIG_RPCSEC_GSS_SPKM3 is not set
827# CONFIG_SMB_FS is not set 827# CONFIG_SMB_FS is not set
828# CONFIG_CEPH_FS is not set
828# CONFIG_CIFS is not set 829# CONFIG_CIFS is not set
829# CONFIG_NCP_FS is not set 830# CONFIG_NCP_FS is not set
830# CONFIG_CODA_FS is not set 831# CONFIG_CODA_FS is not set
@@ -892,6 +893,7 @@ CONFIG_DEBUG_FS=y
892# CONFIG_DEBUG_KERNEL is not set 893# CONFIG_DEBUG_KERNEL is not set
893# CONFIG_DEBUG_MEMORY_INIT is not set 894# CONFIG_DEBUG_MEMORY_INIT is not set
894# CONFIG_RCU_CPU_STALL_DETECTOR is not set 895# CONFIG_RCU_CPU_STALL_DETECTOR is not set
896# CONFIG_LKDTM is not set
895# CONFIG_LATENCYTOP is not set 897# CONFIG_LATENCYTOP is not set
896# CONFIG_SYSCTL_SYSCALL_CHECK is not set 898# CONFIG_SYSCTL_SYSCALL_CHECK is not set
897CONFIG_HAVE_FUNCTION_TRACER=y 899CONFIG_HAVE_FUNCTION_TRACER=y
diff --git a/arch/powerpc/configs/mpc512x_defconfig b/arch/powerpc/configs/mpc512x_defconfig
new file mode 100644
index 000000000000..aa2654e6edeb
--- /dev/null
+++ b/arch/powerpc/configs/mpc512x_defconfig
@@ -0,0 +1,1693 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.33-rc6
4# Fri Feb 5 11:48:29 2010
5#
6# CONFIG_PPC64 is not set
7
8#
9# Processor support
10#
11CONFIG_PPC_BOOK3S_32=y
12# CONFIG_PPC_85xx is not set
13# CONFIG_PPC_8xx is not set
14# CONFIG_40x is not set
15# CONFIG_44x is not set
16# CONFIG_E200 is not set
17CONFIG_PPC_BOOK3S=y
18CONFIG_6xx=y
19CONFIG_PPC_FPU=y
20# CONFIG_ALTIVEC is not set
21CONFIG_PPC_STD_MMU=y
22CONFIG_PPC_STD_MMU_32=y
23# CONFIG_PPC_MM_SLICES is not set
24CONFIG_PPC_HAVE_PMU_SUPPORT=y
25# CONFIG_SMP is not set
26CONFIG_NOT_COHERENT_CACHE=y
27CONFIG_PPC32=y
28CONFIG_WORD_SIZE=32
29# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
30CONFIG_MMU=y
31CONFIG_GENERIC_CMOS_UPDATE=y
32CONFIG_GENERIC_TIME=y
33CONFIG_GENERIC_TIME_VSYSCALL=y
34CONFIG_GENERIC_CLOCKEVENTS=y
35CONFIG_GENERIC_HARDIRQS=y
36CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
37# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
38# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
39CONFIG_IRQ_PER_CPU=y
40CONFIG_NR_IRQS=512
41CONFIG_STACKTRACE_SUPPORT=y
42CONFIG_HAVE_LATENCYTOP_SUPPORT=y
43CONFIG_TRACE_IRQFLAGS_SUPPORT=y
44CONFIG_LOCKDEP_SUPPORT=y
45CONFIG_RWSEM_XCHGADD_ALGORITHM=y
46CONFIG_ARCH_HAS_ILOG2_U32=y
47CONFIG_GENERIC_HWEIGHT=y
48CONFIG_GENERIC_FIND_NEXT_BIT=y
49# CONFIG_ARCH_NO_VIRT_TO_BUS is not set
50CONFIG_PPC=y
51CONFIG_EARLY_PRINTK=y
52CONFIG_GENERIC_NVRAM=y
53CONFIG_SCHED_OMIT_FRAME_POINTER=y
54CONFIG_ARCH_MAY_HAVE_PC_FDC=y
55CONFIG_PPC_OF=y
56CONFIG_OF=y
57# CONFIG_PPC_UDBG_16550 is not set
58# CONFIG_GENERIC_TBSYNC is not set
59CONFIG_AUDIT_ARCH=y
60CONFIG_GENERIC_BUG=y
61CONFIG_DTC=y
62CONFIG_DEFAULT_UIMAGE=y
63CONFIG_ARCH_HIBERNATION_POSSIBLE=y
64# CONFIG_PPC_DCR_NATIVE is not set
65# CONFIG_PPC_DCR_MMIO is not set
66CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
67CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
68CONFIG_CONSTRUCTORS=y
69
70#
71# General setup
72#
73CONFIG_EXPERIMENTAL=y
74CONFIG_BROKEN_ON_SMP=y
75CONFIG_INIT_ENV_ARG_LIMIT=32
76CONFIG_LOCALVERSION=""
77CONFIG_LOCALVERSION_AUTO=y
78# CONFIG_SWAP is not set
79CONFIG_SYSVIPC=y
80CONFIG_SYSVIPC_SYSCTL=y
81# CONFIG_POSIX_MQUEUE is not set
82# CONFIG_BSD_PROCESS_ACCT is not set
83# CONFIG_TASKSTATS is not set
84# CONFIG_AUDIT is not set
85
86#
87# RCU Subsystem
88#
89CONFIG_TREE_RCU=y
90# CONFIG_TREE_PREEMPT_RCU is not set
91# CONFIG_TINY_RCU is not set
92# CONFIG_RCU_TRACE is not set
93CONFIG_RCU_FANOUT=32
94# CONFIG_RCU_FANOUT_EXACT is not set
95# CONFIG_TREE_RCU_TRACE is not set
96# CONFIG_IKCONFIG is not set
97CONFIG_LOG_BUF_SHIFT=16
98# CONFIG_GROUP_SCHED is not set
99# CONFIG_CGROUPS is not set
100# CONFIG_SYSFS_DEPRECATED_V2 is not set
101# CONFIG_RELAY is not set
102CONFIG_NAMESPACES=y
103# CONFIG_UTS_NS is not set
104# CONFIG_IPC_NS is not set
105# CONFIG_USER_NS is not set
106# CONFIG_PID_NS is not set
107# CONFIG_NET_NS is not set
108CONFIG_BLK_DEV_INITRD=y
109CONFIG_INITRAMFS_SOURCE=""
110CONFIG_RD_GZIP=y
111CONFIG_RD_BZIP2=y
112CONFIG_RD_LZMA=y
113CONFIG_RD_LZO=y
114# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
115CONFIG_SYSCTL=y
116CONFIG_ANON_INODES=y
117# CONFIG_EMBEDDED is not set
118CONFIG_SYSCTL_SYSCALL=y
119CONFIG_KALLSYMS=y
120# CONFIG_KALLSYMS_EXTRA_PASS is not set
121CONFIG_HOTPLUG=y
122CONFIG_PRINTK=y
123CONFIG_BUG=y
124CONFIG_ELF_CORE=y
125CONFIG_BASE_FULL=y
126CONFIG_FUTEX=y
127CONFIG_EPOLL=y
128CONFIG_SIGNALFD=y
129CONFIG_TIMERFD=y
130CONFIG_EVENTFD=y
131CONFIG_SHMEM=y
132CONFIG_AIO=y
133CONFIG_HAVE_PERF_EVENTS=y
134
135#
136# Kernel Performance Events And Counters
137#
138# CONFIG_PERF_EVENTS is not set
139# CONFIG_PERF_COUNTERS is not set
140CONFIG_VM_EVENT_COUNTERS=y
141# CONFIG_COMPAT_BRK is not set
142CONFIG_SLAB=y
143# CONFIG_SLUB is not set
144# CONFIG_SLOB is not set
145# CONFIG_PROFILING is not set
146CONFIG_HAVE_OPROFILE=y
147# CONFIG_KPROBES is not set
148CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
149CONFIG_HAVE_IOREMAP_PROT=y
150CONFIG_HAVE_KPROBES=y
151CONFIG_HAVE_KRETPROBES=y
152CONFIG_HAVE_ARCH_TRACEHOOK=y
153CONFIG_HAVE_DMA_ATTRS=y
154CONFIG_HAVE_CLK=y
155CONFIG_HAVE_DMA_API_DEBUG=y
156
157#
158# GCOV-based kernel profiling
159#
160# CONFIG_SLOW_WORK is not set
161# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
162CONFIG_SLABINFO=y
163CONFIG_RT_MUTEXES=y
164CONFIG_BASE_SMALL=0
165CONFIG_MODULES=y
166# CONFIG_MODULE_FORCE_LOAD is not set
167CONFIG_MODULE_UNLOAD=y
168# CONFIG_MODULE_FORCE_UNLOAD is not set
169# CONFIG_MODVERSIONS is not set
170# CONFIG_MODULE_SRCVERSION_ALL is not set
171CONFIG_BLOCK=y
172CONFIG_LBDAF=y
173# CONFIG_BLK_DEV_BSG is not set
174# CONFIG_BLK_DEV_INTEGRITY is not set
175
176#
177# IO Schedulers
178#
179CONFIG_IOSCHED_NOOP=y
180CONFIG_IOSCHED_DEADLINE=y
181# CONFIG_IOSCHED_CFQ is not set
182CONFIG_DEFAULT_DEADLINE=y
183# CONFIG_DEFAULT_CFQ is not set
184# CONFIG_DEFAULT_NOOP is not set
185CONFIG_DEFAULT_IOSCHED="deadline"
186# CONFIG_INLINE_SPIN_TRYLOCK is not set
187# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
188# CONFIG_INLINE_SPIN_LOCK is not set
189# CONFIG_INLINE_SPIN_LOCK_BH is not set
190# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
191# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
192CONFIG_INLINE_SPIN_UNLOCK=y
193# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
194CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
195# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
196# CONFIG_INLINE_READ_TRYLOCK is not set
197# CONFIG_INLINE_READ_LOCK is not set
198# CONFIG_INLINE_READ_LOCK_BH is not set
199# CONFIG_INLINE_READ_LOCK_IRQ is not set
200# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
201CONFIG_INLINE_READ_UNLOCK=y
202# CONFIG_INLINE_READ_UNLOCK_BH is not set
203CONFIG_INLINE_READ_UNLOCK_IRQ=y
204# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
205# CONFIG_INLINE_WRITE_TRYLOCK is not set
206# CONFIG_INLINE_WRITE_LOCK is not set
207# CONFIG_INLINE_WRITE_LOCK_BH is not set
208# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
209# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
210CONFIG_INLINE_WRITE_UNLOCK=y
211# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
212CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
213# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
214# CONFIG_MUTEX_SPIN_ON_OWNER is not set
215# CONFIG_FREEZER is not set
216
217#
218# Platform support
219#
220# CONFIG_PPC_CHRP is not set
221CONFIG_PPC_MPC512x=y
222CONFIG_PPC_MPC5121=y
223CONFIG_MPC5121_ADS=y
224# CONFIG_MPC5121_GENERIC is not set
225# CONFIG_PPC_MPC52xx is not set
226# CONFIG_PPC_PMAC is not set
227# CONFIG_PPC_CELL is not set
228# CONFIG_PPC_CELL_NATIVE is not set
229# CONFIG_PPC_82xx is not set
230# CONFIG_PQ2ADS is not set
231# CONFIG_PPC_83xx is not set
232# CONFIG_PPC_86xx is not set
233# CONFIG_EMBEDDED6xx is not set
234# CONFIG_AMIGAONE is not set
235CONFIG_PPC_OF_BOOT_TRAMPOLINE=y
236CONFIG_IPIC=y
237# CONFIG_MPIC is not set
238# CONFIG_MPIC_WEIRD is not set
239# CONFIG_PPC_I8259 is not set
240# CONFIG_PPC_RTAS is not set
241# CONFIG_MMIO_NVRAM is not set
242# CONFIG_PPC_MPC106 is not set
243# CONFIG_PPC_970_NAP is not set
244# CONFIG_PPC_INDIRECT_IO is not set
245# CONFIG_GENERIC_IOMAP is not set
246# CONFIG_CPU_FREQ is not set
247# CONFIG_TAU is not set
248# CONFIG_QUICC_ENGINE is not set
249# CONFIG_FSL_ULI1575 is not set
250# CONFIG_SIMPLE_GPIO is not set
251
252#
253# Kernel options
254#
255# CONFIG_HIGHMEM is not set
256CONFIG_TICK_ONESHOT=y
257CONFIG_NO_HZ=y
258# CONFIG_HIGH_RES_TIMERS is not set
259CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
260# CONFIG_HZ_100 is not set
261# CONFIG_HZ_250 is not set
262# CONFIG_HZ_300 is not set
263CONFIG_HZ_1000=y
264CONFIG_HZ=1000
265# CONFIG_SCHED_HRTICK is not set
266CONFIG_PREEMPT_NONE=y
267# CONFIG_PREEMPT_VOLUNTARY is not set
268# CONFIG_PREEMPT is not set
269CONFIG_BINFMT_ELF=y
270# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
271# CONFIG_HAVE_AOUT is not set
272# CONFIG_BINFMT_MISC is not set
273# CONFIG_IOMMU_HELPER is not set
274# CONFIG_SWIOTLB is not set
275CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
276CONFIG_ARCH_HAS_WALK_MEMORY=y
277CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
278# CONFIG_KEXEC is not set
279# CONFIG_CRASH_DUMP is not set
280CONFIG_SPARSE_IRQ=y
281CONFIG_MAX_ACTIVE_REGIONS=32
282CONFIG_ARCH_FLATMEM_ENABLE=y
283CONFIG_ARCH_POPULATES_NODE_MAP=y
284CONFIG_SELECT_MEMORY_MODEL=y
285CONFIG_FLATMEM_MANUAL=y
286# CONFIG_DISCONTIGMEM_MANUAL is not set
287# CONFIG_SPARSEMEM_MANUAL is not set
288CONFIG_FLATMEM=y
289CONFIG_FLAT_NODE_MEM_MAP=y
290CONFIG_PAGEFLAGS_EXTENDED=y
291CONFIG_SPLIT_PTLOCK_CPUS=4
292# CONFIG_MIGRATION is not set
293# CONFIG_PHYS_ADDR_T_64BIT is not set
294CONFIG_ZONE_DMA_FLAG=1
295CONFIG_BOUNCE=y
296CONFIG_VIRT_TO_BUS=y
297# CONFIG_KSM is not set
298CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
299CONFIG_PPC_4K_PAGES=y
300# CONFIG_PPC_16K_PAGES is not set
301# CONFIG_PPC_64K_PAGES is not set
302# CONFIG_PPC_256K_PAGES is not set
303CONFIG_FORCE_MAX_ZONEORDER=11
304CONFIG_PROC_DEVICETREE=y
305# CONFIG_CMDLINE_BOOL is not set
306CONFIG_EXTRA_TARGETS=""
307# CONFIG_PM is not set
308# CONFIG_SECCOMP is not set
309CONFIG_ISA_DMA_API=y
310
311#
312# Bus options
313#
314CONFIG_ZONE_DMA=y
315CONFIG_GENERIC_ISA_DMA=y
316CONFIG_FSL_SOC=y
317CONFIG_PPC_PCI_CHOICE=y
318# CONFIG_PCI is not set
319# CONFIG_PCI_DOMAINS is not set
320# CONFIG_PCI_SYSCALL is not set
321# CONFIG_ARCH_SUPPORTS_MSI is not set
322# CONFIG_PCCARD is not set
323# CONFIG_HAS_RAPIDIO is not set
324
325#
326# Advanced setup
327#
328# CONFIG_ADVANCED_OPTIONS is not set
329
330#
331# Default settings for advanced configuration options are used
332#
333CONFIG_LOWMEM_SIZE=0x30000000
334CONFIG_PAGE_OFFSET=0xc0000000
335CONFIG_KERNEL_START=0xc0000000
336CONFIG_PHYSICAL_START=0x00000000
337CONFIG_TASK_SIZE=0xc0000000
338CONFIG_CONSISTENT_SIZE=0x00200000
339CONFIG_NET=y
340
341#
342# Networking options
343#
344CONFIG_PACKET=y
345# CONFIG_PACKET_MMAP is not set
346CONFIG_UNIX=y
347# CONFIG_NET_KEY is not set
348CONFIG_INET=y
349# CONFIG_IP_MULTICAST is not set
350# CONFIG_IP_ADVANCED_ROUTER is not set
351CONFIG_IP_FIB_HASH=y
352CONFIG_IP_PNP=y
353# CONFIG_IP_PNP_DHCP is not set
354# CONFIG_IP_PNP_BOOTP is not set
355# CONFIG_IP_PNP_RARP is not set
356# CONFIG_NET_IPIP is not set
357# CONFIG_NET_IPGRE is not set
358# CONFIG_ARPD is not set
359# CONFIG_SYN_COOKIES is not set
360# CONFIG_INET_AH is not set
361# CONFIG_INET_ESP is not set
362# CONFIG_INET_IPCOMP is not set
363# CONFIG_INET_XFRM_TUNNEL is not set
364# CONFIG_INET_TUNNEL is not set
365# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
366# CONFIG_INET_XFRM_MODE_TUNNEL is not set
367# CONFIG_INET_XFRM_MODE_BEET is not set
368# CONFIG_INET_LRO is not set
369# CONFIG_INET_DIAG is not set
370# CONFIG_TCP_CONG_ADVANCED is not set
371CONFIG_TCP_CONG_CUBIC=y
372CONFIG_DEFAULT_TCP_CONG="cubic"
373# CONFIG_TCP_MD5SIG is not set
374# CONFIG_IPV6 is not set
375# CONFIG_NETWORK_SECMARK is not set
376# CONFIG_NETFILTER is not set
377# CONFIG_IP_DCCP is not set
378# CONFIG_IP_SCTP is not set
379# CONFIG_RDS is not set
380# CONFIG_TIPC is not set
381# CONFIG_ATM is not set
382# CONFIG_BRIDGE is not set
383# CONFIG_NET_DSA is not set
384# CONFIG_VLAN_8021Q is not set
385# CONFIG_DECNET is not set
386# CONFIG_LLC2 is not set
387# CONFIG_IPX is not set
388# CONFIG_ATALK is not set
389# CONFIG_X25 is not set
390# CONFIG_LAPB is not set
391# CONFIG_ECONET is not set
392# CONFIG_WAN_ROUTER is not set
393# CONFIG_PHONET is not set
394# CONFIG_IEEE802154 is not set
395# CONFIG_NET_SCHED is not set
396# CONFIG_DCB is not set
397
398#
399# Network testing
400#
401# CONFIG_NET_PKTGEN is not set
402# CONFIG_HAMRADIO is not set
403CONFIG_CAN=y
404CONFIG_CAN_RAW=y
405CONFIG_CAN_BCM=y
406
407#
408# CAN Device Drivers
409#
410CONFIG_CAN_VCAN=y
411CONFIG_CAN_DEV=y
412# CONFIG_CAN_CALC_BITTIMING is not set
413CONFIG_CAN_MSCAN=y
414# CONFIG_CAN_SJA1000 is not set
415
416#
417# CAN USB interfaces
418#
419# CONFIG_CAN_EMS_USB is not set
420CONFIG_CAN_DEBUG_DEVICES=y
421# CONFIG_IRDA is not set
422# CONFIG_BT is not set
423# CONFIG_AF_RXRPC is not set
424# CONFIG_WIRELESS is not set
425# CONFIG_WIMAX is not set
426# CONFIG_RFKILL is not set
427# CONFIG_NET_9P is not set
428
429#
430# Device Drivers
431#
432
433#
434# Generic Driver Options
435#
436CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
437# CONFIG_DEVTMPFS is not set
438CONFIG_STANDALONE=y
439# CONFIG_PREVENT_FIRMWARE_BUILD is not set
440CONFIG_FW_LOADER=y
441# CONFIG_FIRMWARE_IN_KERNEL is not set
442CONFIG_EXTRA_FIRMWARE=""
443# CONFIG_SYS_HYPERVISOR is not set
444# CONFIG_CONNECTOR is not set
445CONFIG_MTD=y
446# CONFIG_MTD_DEBUG is not set
447# CONFIG_MTD_TESTS is not set
448CONFIG_MTD_CONCAT=y
449CONFIG_MTD_PARTITIONS=y
450# CONFIG_MTD_REDBOOT_PARTS is not set
451CONFIG_MTD_CMDLINE_PARTS=y
452CONFIG_MTD_OF_PARTS=y
453# CONFIG_MTD_AR7_PARTS is not set
454
455#
456# User Modules And Translation Layers
457#
458CONFIG_MTD_CHAR=y
459CONFIG_MTD_BLKDEVS=y
460CONFIG_MTD_BLOCK=y
461# CONFIG_FTL is not set
462# CONFIG_NFTL is not set
463# CONFIG_INFTL is not set
464# CONFIG_RFD_FTL is not set
465# CONFIG_SSFDC is not set
466# CONFIG_MTD_OOPS is not set
467
468#
469# RAM/ROM/Flash chip drivers
470#
471CONFIG_MTD_CFI=y
472# CONFIG_MTD_JEDECPROBE is not set
473CONFIG_MTD_GEN_PROBE=y
474# CONFIG_MTD_CFI_ADV_OPTIONS is not set
475CONFIG_MTD_MAP_BANK_WIDTH_1=y
476CONFIG_MTD_MAP_BANK_WIDTH_2=y
477CONFIG_MTD_MAP_BANK_WIDTH_4=y
478# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
479# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
480# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
481CONFIG_MTD_CFI_I1=y
482CONFIG_MTD_CFI_I2=y
483# CONFIG_MTD_CFI_I4 is not set
484# CONFIG_MTD_CFI_I8 is not set
485# CONFIG_MTD_CFI_INTELEXT is not set
486CONFIG_MTD_CFI_AMDSTD=y
487# CONFIG_MTD_CFI_STAA is not set
488CONFIG_MTD_CFI_UTIL=y
489# CONFIG_MTD_RAM is not set
490CONFIG_MTD_ROM=y
491# CONFIG_MTD_ABSENT is not set
492
493#
494# Mapping drivers for chip access
495#
496# CONFIG_MTD_COMPLEX_MAPPINGS is not set
497# CONFIG_MTD_PHYSMAP is not set
498CONFIG_MTD_PHYSMAP_OF=y
499# CONFIG_MTD_PLATRAM is not set
500
501#
502# Self-contained MTD device drivers
503#
504# CONFIG_MTD_SLRAM is not set
505# CONFIG_MTD_PHRAM is not set
506# CONFIG_MTD_MTDRAM is not set
507# CONFIG_MTD_BLOCK2MTD is not set
508
509#
510# Disk-On-Chip Device Drivers
511#
512# CONFIG_MTD_DOC2000 is not set
513# CONFIG_MTD_DOC2001 is not set
514# CONFIG_MTD_DOC2001PLUS is not set
515CONFIG_MTD_NAND=y
516# CONFIG_MTD_NAND_VERIFY_WRITE is not set
517# CONFIG_MTD_NAND_ECC_SMC is not set
518# CONFIG_MTD_NAND_MUSEUM_IDS is not set
519CONFIG_MTD_NAND_IDS=y
520# CONFIG_MTD_NAND_DISKONCHIP is not set
521# CONFIG_MTD_NAND_NANDSIM is not set
522# CONFIG_MTD_NAND_PLATFORM is not set
523# CONFIG_MTD_ALAUDA is not set
524# CONFIG_MTD_NAND_FSL_ELBC is not set
525CONFIG_MTD_NAND_MPC5121_NFC=y
526# CONFIG_MTD_ONENAND is not set
527
528#
529# LPDDR flash memory drivers
530#
531# CONFIG_MTD_LPDDR is not set
532
533#
534# UBI - Unsorted block images
535#
536CONFIG_MTD_UBI=y
537CONFIG_MTD_UBI_WL_THRESHOLD=4096
538CONFIG_MTD_UBI_BEB_RESERVE=1
539# CONFIG_MTD_UBI_GLUEBI is not set
540
541#
542# UBI debugging options
543#
544# CONFIG_MTD_UBI_DEBUG is not set
545CONFIG_OF_DEVICE=y
546CONFIG_OF_I2C=y
547CONFIG_OF_MDIO=y
548# CONFIG_PARPORT is not set
549CONFIG_BLK_DEV=y
550# CONFIG_BLK_DEV_FD is not set
551# CONFIG_BLK_DEV_COW_COMMON is not set
552# CONFIG_BLK_DEV_LOOP is not set
553
554#
555# DRBD disabled because PROC_FS, INET or CONNECTOR not selected
556#
557# CONFIG_BLK_DEV_NBD is not set
558# CONFIG_BLK_DEV_UB is not set
559CONFIG_BLK_DEV_RAM=y
560CONFIG_BLK_DEV_RAM_COUNT=1
561CONFIG_BLK_DEV_RAM_SIZE=8192
562CONFIG_BLK_DEV_XIP=y
563# CONFIG_CDROM_PKTCDVD is not set
564# CONFIG_ATA_OVER_ETH is not set
565# CONFIG_BLK_DEV_HD is not set
566CONFIG_MISC_DEVICES=y
567# CONFIG_AD525X_DPOT is not set
568# CONFIG_ICS932S401 is not set
569# CONFIG_ENCLOSURE_SERVICES is not set
570# CONFIG_ISL29003 is not set
571# CONFIG_DS1682 is not set
572# CONFIG_C2PORT is not set
573
574#
575# EEPROM support
576#
577CONFIG_EEPROM_AT24=y
578# CONFIG_EEPROM_LEGACY is not set
579# CONFIG_EEPROM_MAX6875 is not set
580# CONFIG_EEPROM_93CX6 is not set
581CONFIG_HAVE_IDE=y
582# CONFIG_IDE is not set
583
584#
585# SCSI device support
586#
587# CONFIG_RAID_ATTRS is not set
588CONFIG_SCSI=y
589CONFIG_SCSI_DMA=y
590# CONFIG_SCSI_TGT is not set
591# CONFIG_SCSI_NETLINK is not set
592# CONFIG_SCSI_PROC_FS is not set
593
594#
595# SCSI support type (disk, tape, CD-ROM)
596#
597CONFIG_BLK_DEV_SD=y
598# CONFIG_CHR_DEV_ST is not set
599# CONFIG_CHR_DEV_OSST is not set
600# CONFIG_BLK_DEV_SR is not set
601CONFIG_CHR_DEV_SG=y
602# CONFIG_CHR_DEV_SCH is not set
603# CONFIG_SCSI_MULTI_LUN is not set
604# CONFIG_SCSI_CONSTANTS is not set
605# CONFIG_SCSI_LOGGING is not set
606# CONFIG_SCSI_SCAN_ASYNC is not set
607CONFIG_SCSI_WAIT_SCAN=m
608
609#
610# SCSI Transports
611#
612# CONFIG_SCSI_SPI_ATTRS is not set
613# CONFIG_SCSI_FC_ATTRS is not set
614# CONFIG_SCSI_ISCSI_ATTRS is not set
615# CONFIG_SCSI_SAS_LIBSAS is not set
616# CONFIG_SCSI_SRP_ATTRS is not set
617CONFIG_SCSI_LOWLEVEL=y
618# CONFIG_ISCSI_TCP is not set
619# CONFIG_LIBFC is not set
620# CONFIG_LIBFCOE is not set
621# CONFIG_SCSI_DEBUG is not set
622# CONFIG_SCSI_DH is not set
623# CONFIG_SCSI_OSD_INITIATOR is not set
624# CONFIG_ATA is not set
625# CONFIG_MD is not set
626# CONFIG_MACINTOSH_DRIVERS is not set
627CONFIG_NETDEVICES=y
628# CONFIG_DUMMY is not set
629# CONFIG_BONDING is not set
630# CONFIG_MACVLAN is not set
631# CONFIG_EQUALIZER is not set
632# CONFIG_TUN is not set
633# CONFIG_VETH is not set
634CONFIG_PHYLIB=y
635
636#
637# MII PHY device drivers
638#
639CONFIG_MARVELL_PHY=y
640CONFIG_DAVICOM_PHY=y
641CONFIG_QSEMI_PHY=y
642CONFIG_LXT_PHY=y
643CONFIG_CICADA_PHY=y
644CONFIG_VITESSE_PHY=y
645CONFIG_SMSC_PHY=y
646CONFIG_BROADCOM_PHY=y
647CONFIG_ICPLUS_PHY=y
648CONFIG_REALTEK_PHY=y
649CONFIG_NATIONAL_PHY=y
650CONFIG_STE10XP=y
651CONFIG_LSI_ET1011C_PHY=y
652CONFIG_FIXED_PHY=y
653CONFIG_MDIO_BITBANG=y
654CONFIG_NET_ETHERNET=y
655CONFIG_MII=y
656# CONFIG_ETHOC is not set
657# CONFIG_DNET is not set
658# CONFIG_IBM_NEW_EMAC_ZMII is not set
659# CONFIG_IBM_NEW_EMAC_RGMII is not set
660# CONFIG_IBM_NEW_EMAC_TAH is not set
661# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
662# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
663# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
664# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
665# CONFIG_B44 is not set
666# CONFIG_KS8842 is not set
667# CONFIG_KS8851_MLL is not set
668# CONFIG_XILINX_EMACLITE is not set
669CONFIG_FS_ENET=y
670CONFIG_FS_ENET_MPC5121_FEC=y
671CONFIG_FS_ENET_HAS_FEC=y
672CONFIG_FS_ENET_MDIO_FEC=y
673# CONFIG_NETDEV_1000 is not set
674# CONFIG_NETDEV_10000 is not set
675# CONFIG_WLAN is not set
676
677#
678# Enable WiMAX (Networking options) to see the WiMAX drivers
679#
680
681#
682# USB Network Adapters
683#
684# CONFIG_USB_CATC is not set
685# CONFIG_USB_KAWETH is not set
686# CONFIG_USB_PEGASUS is not set
687# CONFIG_USB_RTL8150 is not set
688# CONFIG_USB_USBNET is not set
689# CONFIG_WAN is not set
690# CONFIG_PPP is not set
691# CONFIG_SLIP is not set
692# CONFIG_NETCONSOLE is not set
693# CONFIG_NETPOLL is not set
694# CONFIG_NET_POLL_CONTROLLER is not set
695# CONFIG_ISDN is not set
696# CONFIG_PHONE is not set
697
698#
699# Input device support
700#
701CONFIG_INPUT=y
702# CONFIG_INPUT_FF_MEMLESS is not set
703# CONFIG_INPUT_POLLDEV is not set
704# CONFIG_INPUT_SPARSEKMAP is not set
705
706#
707# Userland interfaces
708#
709CONFIG_INPUT_MOUSEDEV=y
710# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
711CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
712CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
713# CONFIG_INPUT_JOYDEV is not set
714CONFIG_INPUT_EVDEV=y
715# CONFIG_INPUT_EVBUG is not set
716
717#
718# Input Device Drivers
719#
720CONFIG_INPUT_KEYBOARD=y
721# CONFIG_KEYBOARD_ADP5588 is not set
722CONFIG_KEYBOARD_ATKBD=y
723# CONFIG_QT2160 is not set
724# CONFIG_KEYBOARD_LKKBD is not set
725# CONFIG_KEYBOARD_MAX7359 is not set
726# CONFIG_KEYBOARD_NEWTON is not set
727# CONFIG_KEYBOARD_OPENCORES is not set
728# CONFIG_KEYBOARD_STOWAWAY is not set
729# CONFIG_KEYBOARD_SUNKBD is not set
730# CONFIG_KEYBOARD_XTKBD is not set
731CONFIG_INPUT_MOUSE=y
732CONFIG_MOUSE_PS2=y
733CONFIG_MOUSE_PS2_ALPS=y
734CONFIG_MOUSE_PS2_LOGIPS2PP=y
735CONFIG_MOUSE_PS2_SYNAPTICS=y
736CONFIG_MOUSE_PS2_TRACKPOINT=y
737# CONFIG_MOUSE_PS2_ELANTECH is not set
738# CONFIG_MOUSE_PS2_SENTELIC is not set
739# CONFIG_MOUSE_PS2_TOUCHKIT is not set
740# CONFIG_MOUSE_SERIAL is not set
741# CONFIG_MOUSE_APPLETOUCH is not set
742# CONFIG_MOUSE_BCM5974 is not set
743# CONFIG_MOUSE_VSXXXAA is not set
744# CONFIG_MOUSE_SYNAPTICS_I2C is not set
745# CONFIG_INPUT_JOYSTICK is not set
746# CONFIG_INPUT_TABLET is not set
747# CONFIG_INPUT_TOUCHSCREEN is not set
748# CONFIG_INPUT_MISC is not set
749
750#
751# Hardware I/O ports
752#
753CONFIG_SERIO=y
754CONFIG_SERIO_I8042=y
755CONFIG_SERIO_SERPORT=y
756CONFIG_SERIO_LIBPS2=y
757# CONFIG_SERIO_RAW is not set
758# CONFIG_SERIO_XILINX_XPS_PS2 is not set
759# CONFIG_SERIO_ALTERA_PS2 is not set
760# CONFIG_GAMEPORT is not set
761
762#
763# Character devices
764#
765CONFIG_VT=y
766CONFIG_CONSOLE_TRANSLATIONS=y
767CONFIG_VT_CONSOLE=y
768CONFIG_HW_CONSOLE=y
769CONFIG_VT_HW_CONSOLE_BINDING=y
770# CONFIG_DEVKMEM is not set
771# CONFIG_SERIAL_NONSTANDARD is not set
772
773#
774# Serial drivers
775#
776# CONFIG_SERIAL_8250 is not set
777
778#
779# Non-8250 serial port support
780#
781# CONFIG_SERIAL_UARTLITE is not set
782CONFIG_SERIAL_CORE=y
783CONFIG_SERIAL_CORE_CONSOLE=y
784CONFIG_SERIAL_MPC52xx=y
785CONFIG_SERIAL_MPC52xx_CONSOLE=y
786CONFIG_SERIAL_MPC52xx_CONSOLE_BAUD=115200
787# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set
788CONFIG_UNIX98_PTYS=y
789# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
790CONFIG_LEGACY_PTYS=y
791CONFIG_LEGACY_PTY_COUNT=256
792# CONFIG_HVC_UDBG is not set
793# CONFIG_IPMI_HANDLER is not set
794# CONFIG_HW_RANDOM is not set
795# CONFIG_NVRAM is not set
796# CONFIG_R3964 is not set
797# CONFIG_RAW_DRIVER is not set
798# CONFIG_TCG_TPM is not set
799CONFIG_I2C=y
800CONFIG_I2C_BOARDINFO=y
801CONFIG_I2C_COMPAT=y
802CONFIG_I2C_CHARDEV=y
803CONFIG_I2C_HELPER_AUTO=y
804
805#
806# I2C Hardware Bus support
807#
808
809#
810# I2C system bus drivers (mostly embedded / system-on-chip)
811#
812# CONFIG_I2C_DESIGNWARE is not set
813CONFIG_I2C_MPC=y
814# CONFIG_I2C_OCORES is not set
815# CONFIG_I2C_SIMTEC is not set
816
817#
818# External I2C/SMBus adapter drivers
819#
820# CONFIG_I2C_PARPORT_LIGHT is not set
821# CONFIG_I2C_TAOS_EVM is not set
822# CONFIG_I2C_TINY_USB is not set
823
824#
825# Other I2C/SMBus bus drivers
826#
827# CONFIG_I2C_PCA_PLATFORM is not set
828# CONFIG_I2C_STUB is not set
829
830#
831# Miscellaneous I2C Chip support
832#
833# CONFIG_SENSORS_TSL2550 is not set
834# CONFIG_I2C_DEBUG_CORE is not set
835# CONFIG_I2C_DEBUG_ALGO is not set
836# CONFIG_I2C_DEBUG_BUS is not set
837# CONFIG_I2C_DEBUG_CHIP is not set
838# CONFIG_SPI is not set
839
840#
841# PPS support
842#
843# CONFIG_PPS is not set
844CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
845# CONFIG_GPIOLIB is not set
846# CONFIG_W1 is not set
847# CONFIG_POWER_SUPPLY is not set
848# CONFIG_HWMON is not set
849# CONFIG_THERMAL is not set
850# CONFIG_WATCHDOG is not set
851CONFIG_SSB_POSSIBLE=y
852
853#
854# Sonics Silicon Backplane
855#
856# CONFIG_SSB is not set
857
858#
859# Multifunction device drivers
860#
861# CONFIG_MFD_CORE is not set
862# CONFIG_MFD_SM501 is not set
863# CONFIG_HTC_PASIC3 is not set
864# CONFIG_TWL4030_CORE is not set
865# CONFIG_MFD_TMIO is not set
866# CONFIG_PMIC_DA903X is not set
867# CONFIG_PMIC_ADP5520 is not set
868# CONFIG_MFD_WM8400 is not set
869# CONFIG_MFD_WM831X is not set
870# CONFIG_MFD_WM8350_I2C is not set
871# CONFIG_MFD_PCF50633 is not set
872# CONFIG_AB3100_CORE is not set
873# CONFIG_MFD_88PM8607 is not set
874# CONFIG_REGULATOR is not set
875CONFIG_MEDIA_SUPPORT=y
876
877#
878# Multimedia core support
879#
880CONFIG_VIDEO_DEV=y
881CONFIG_VIDEO_V4L2_COMMON=y
882# CONFIG_VIDEO_ALLOW_V4L1 is not set
883CONFIG_VIDEO_V4L1_COMPAT=y
884# CONFIG_DVB_CORE is not set
885CONFIG_VIDEO_MEDIA=y
886
887#
888# Multimedia drivers
889#
890CONFIG_IR_CORE=y
891CONFIG_VIDEO_IR=y
892# CONFIG_MEDIA_ATTACH is not set
893CONFIG_MEDIA_TUNER=y
894# CONFIG_MEDIA_TUNER_CUSTOMISE is not set
895CONFIG_MEDIA_TUNER_SIMPLE=y
896CONFIG_MEDIA_TUNER_TDA8290=y
897CONFIG_MEDIA_TUNER_TDA9887=y
898CONFIG_MEDIA_TUNER_TEA5761=y
899CONFIG_MEDIA_TUNER_TEA5767=y
900CONFIG_MEDIA_TUNER_MT20XX=y
901CONFIG_MEDIA_TUNER_XC2028=y
902CONFIG_MEDIA_TUNER_XC5000=y
903CONFIG_MEDIA_TUNER_MC44S803=y
904CONFIG_VIDEO_V4L2=y
905CONFIG_VIDEO_CAPTURE_DRIVERS=y
906CONFIG_VIDEO_ADV_DEBUG=y
907# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
908# CONFIG_VIDEO_HELPER_CHIPS_AUTO is not set
909CONFIG_VIDEO_IR_I2C=y
910
911#
912# Encoders/decoders and other helper chips
913#
914
915#
916# Audio decoders
917#
918# CONFIG_VIDEO_TVAUDIO is not set
919# CONFIG_VIDEO_TDA7432 is not set
920# CONFIG_VIDEO_TDA9840 is not set
921# CONFIG_VIDEO_TDA9875 is not set
922# CONFIG_VIDEO_TEA6415C is not set
923# CONFIG_VIDEO_TEA6420 is not set
924# CONFIG_VIDEO_MSP3400 is not set
925# CONFIG_VIDEO_CS5345 is not set
926# CONFIG_VIDEO_CS53L32A is not set
927# CONFIG_VIDEO_M52790 is not set
928# CONFIG_VIDEO_TLV320AIC23B is not set
929# CONFIG_VIDEO_WM8775 is not set
930# CONFIG_VIDEO_WM8739 is not set
931# CONFIG_VIDEO_VP27SMPX is not set
932
933#
934# RDS decoders
935#
936# CONFIG_VIDEO_SAA6588 is not set
937
938#
939# Video decoders
940#
941# CONFIG_VIDEO_ADV7180 is not set
942# CONFIG_VIDEO_BT819 is not set
943# CONFIG_VIDEO_BT856 is not set
944# CONFIG_VIDEO_BT866 is not set
945# CONFIG_VIDEO_KS0127 is not set
946# CONFIG_VIDEO_OV7670 is not set
947# CONFIG_VIDEO_MT9V011 is not set
948# CONFIG_VIDEO_TCM825X is not set
949# CONFIG_VIDEO_SAA7110 is not set
950CONFIG_VIDEO_SAA711X=y
951# CONFIG_VIDEO_SAA717X is not set
952# CONFIG_VIDEO_TVP514X is not set
953# CONFIG_VIDEO_TVP5150 is not set
954# CONFIG_VIDEO_VPX3220 is not set
955
956#
957# Video and audio decoders
958#
959# CONFIG_VIDEO_CX25840 is not set
960
961#
962# MPEG video encoders
963#
964# CONFIG_VIDEO_CX2341X is not set
965
966#
967# Video encoders
968#
969# CONFIG_VIDEO_SAA7127 is not set
970# CONFIG_VIDEO_SAA7185 is not set
971# CONFIG_VIDEO_ADV7170 is not set
972# CONFIG_VIDEO_ADV7175 is not set
973# CONFIG_VIDEO_THS7303 is not set
974# CONFIG_VIDEO_ADV7343 is not set
975
976#
977# Video improvement chips
978#
979# CONFIG_VIDEO_UPD64031A is not set
980# CONFIG_VIDEO_UPD64083 is not set
981# CONFIG_VIDEO_VIVI is not set
982# CONFIG_VIDEO_SAA5246A is not set
983# CONFIG_VIDEO_SAA5249 is not set
984# CONFIG_SOC_CAMERA is not set
985CONFIG_V4L_USB_DRIVERS=y
986# CONFIG_USB_VIDEO_CLASS is not set
987CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
988CONFIG_USB_GSPCA=m
989# CONFIG_USB_M5602 is not set
990# CONFIG_USB_STV06XX is not set
991# CONFIG_USB_GL860 is not set
992# CONFIG_USB_GSPCA_CONEX is not set
993# CONFIG_USB_GSPCA_ETOMS is not set
994# CONFIG_USB_GSPCA_FINEPIX is not set
995# CONFIG_USB_GSPCA_JEILINJ is not set
996# CONFIG_USB_GSPCA_MARS is not set
997# CONFIG_USB_GSPCA_MR97310A is not set
998# CONFIG_USB_GSPCA_OV519 is not set
999# CONFIG_USB_GSPCA_OV534 is not set
1000# CONFIG_USB_GSPCA_PAC207 is not set
1001# CONFIG_USB_GSPCA_PAC7302 is not set
1002# CONFIG_USB_GSPCA_PAC7311 is not set
1003# CONFIG_USB_GSPCA_SN9C20X is not set
1004# CONFIG_USB_GSPCA_SONIXB is not set
1005# CONFIG_USB_GSPCA_SONIXJ is not set
1006# CONFIG_USB_GSPCA_SPCA500 is not set
1007# CONFIG_USB_GSPCA_SPCA501 is not set
1008# CONFIG_USB_GSPCA_SPCA505 is not set
1009# CONFIG_USB_GSPCA_SPCA506 is not set
1010# CONFIG_USB_GSPCA_SPCA508 is not set
1011# CONFIG_USB_GSPCA_SPCA561 is not set
1012# CONFIG_USB_GSPCA_SQ905 is not set
1013# CONFIG_USB_GSPCA_SQ905C is not set
1014# CONFIG_USB_GSPCA_STK014 is not set
1015# CONFIG_USB_GSPCA_STV0680 is not set
1016# CONFIG_USB_GSPCA_SUNPLUS is not set
1017# CONFIG_USB_GSPCA_T613 is not set
1018# CONFIG_USB_GSPCA_TV8532 is not set
1019# CONFIG_USB_GSPCA_VC032X is not set
1020# CONFIG_USB_GSPCA_ZC3XX is not set
1021# CONFIG_VIDEO_PVRUSB2 is not set
1022# CONFIG_VIDEO_HDPVR is not set
1023# CONFIG_VIDEO_EM28XX is not set
1024# CONFIG_VIDEO_CX231XX is not set
1025# CONFIG_VIDEO_USBVISION is not set
1026# CONFIG_USB_ET61X251 is not set
1027# CONFIG_USB_SN9C102 is not set
1028# CONFIG_USB_ZC0301 is not set
1029CONFIG_USB_PWC_INPUT_EVDEV=y
1030# CONFIG_USB_ZR364XX is not set
1031# CONFIG_USB_STKWEBCAM is not set
1032# CONFIG_USB_S2255 is not set
1033CONFIG_RADIO_ADAPTERS=y
1034# CONFIG_I2C_SI4713 is not set
1035# CONFIG_RADIO_SI4713 is not set
1036# CONFIG_USB_DSBR is not set
1037# CONFIG_RADIO_SI470X is not set
1038# CONFIG_USB_MR800 is not set
1039# CONFIG_RADIO_TEA5764 is not set
1040# CONFIG_RADIO_TEF6862 is not set
1041# CONFIG_DAB is not set
1042
1043#
1044# Graphics support
1045#
1046# CONFIG_VGASTATE is not set
1047# CONFIG_VIDEO_OUTPUT_CONTROL is not set
1048CONFIG_FB=y
1049# CONFIG_FIRMWARE_EDID is not set
1050# CONFIG_FB_DDC is not set
1051# CONFIG_FB_BOOT_VESA_SUPPORT is not set
1052CONFIG_FB_CFB_FILLRECT=y
1053CONFIG_FB_CFB_COPYAREA=y
1054CONFIG_FB_CFB_IMAGEBLIT=y
1055# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
1056# CONFIG_FB_SYS_FILLRECT is not set
1057# CONFIG_FB_SYS_COPYAREA is not set
1058# CONFIG_FB_SYS_IMAGEBLIT is not set
1059# CONFIG_FB_FOREIGN_ENDIAN is not set
1060# CONFIG_FB_SYS_FOPS is not set
1061# CONFIG_FB_SVGALIB is not set
1062# CONFIG_FB_MACMODES is not set
1063# CONFIG_FB_BACKLIGHT is not set
1064# CONFIG_FB_MODE_HELPERS is not set
1065# CONFIG_FB_TILEBLITTING is not set
1066
1067#
1068# Frame buffer hardware drivers
1069#
1070# CONFIG_FB_OF is not set
1071# CONFIG_FB_VGA16 is not set
1072# CONFIG_FB_S1D13XXX is not set
1073CONFIG_FB_FSL_DIU=y
1074# CONFIG_FB_IBM_GXT4500 is not set
1075# CONFIG_FB_VIRTUAL is not set
1076# CONFIG_FB_METRONOME is not set
1077# CONFIG_FB_MB862XX is not set
1078# CONFIG_FB_BROADSHEET is not set
1079# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
1080
1081#
1082# Display device support
1083#
1084# CONFIG_DISPLAY_SUPPORT is not set
1085
1086#
1087# Console display driver support
1088#
1089# CONFIG_VGA_CONSOLE is not set
1090CONFIG_DUMMY_CONSOLE=y
1091CONFIG_FRAMEBUFFER_CONSOLE=y
1092# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
1093# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
1094# CONFIG_FONTS is not set
1095CONFIG_FONT_8x8=y
1096CONFIG_FONT_8x16=y
1097# CONFIG_LOGO is not set
1098# CONFIG_SOUND is not set
1099CONFIG_HID_SUPPORT=y
1100CONFIG_HID=y
1101# CONFIG_HIDRAW is not set
1102
1103#
1104# USB Input Devices
1105#
1106CONFIG_USB_HID=y
1107# CONFIG_HID_PID is not set
1108# CONFIG_USB_HIDDEV is not set
1109
1110#
1111# Special HID drivers
1112#
1113CONFIG_HID_A4TECH=y
1114CONFIG_HID_APPLE=y
1115CONFIG_HID_BELKIN=y
1116CONFIG_HID_CHERRY=y
1117CONFIG_HID_CHICONY=y
1118CONFIG_HID_CYPRESS=y
1119CONFIG_HID_DRAGONRISE=y
1120# CONFIG_DRAGONRISE_FF is not set
1121CONFIG_HID_EZKEY=y
1122CONFIG_HID_KYE=y
1123CONFIG_HID_GYRATION=y
1124CONFIG_HID_TWINHAN=y
1125CONFIG_HID_KENSINGTON=y
1126CONFIG_HID_LOGITECH=y
1127# CONFIG_LOGITECH_FF is not set
1128# CONFIG_LOGIRUMBLEPAD2_FF is not set
1129CONFIG_HID_MICROSOFT=y
1130CONFIG_HID_MONTEREY=y
1131CONFIG_HID_NTRIG=y
1132CONFIG_HID_PANTHERLORD=y
1133# CONFIG_PANTHERLORD_FF is not set
1134CONFIG_HID_PETALYNX=y
1135CONFIG_HID_SAMSUNG=y
1136CONFIG_HID_SONY=y
1137CONFIG_HID_SUNPLUS=y
1138CONFIG_HID_GREENASIA=y
1139# CONFIG_GREENASIA_FF is not set
1140CONFIG_HID_SMARTJOYPLUS=y
1141# CONFIG_SMARTJOYPLUS_FF is not set
1142CONFIG_HID_TOPSEED=y
1143CONFIG_HID_THRUSTMASTER=y
1144# CONFIG_THRUSTMASTER_FF is not set
1145CONFIG_HID_ZEROPLUS=y
1146# CONFIG_ZEROPLUS_FF is not set
1147CONFIG_USB_SUPPORT=y
1148CONFIG_USB_ARCH_HAS_HCD=y
1149# CONFIG_USB_ARCH_HAS_OHCI is not set
1150CONFIG_USB_ARCH_HAS_EHCI=y
1151CONFIG_USB=y
1152# CONFIG_USB_DEBUG is not set
1153# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
1154
1155#
1156# Miscellaneous USB options
1157#
1158# CONFIG_USB_DEVICEFS is not set
1159CONFIG_USB_DEVICE_CLASS=y
1160# CONFIG_USB_DYNAMIC_MINORS is not set
1161# CONFIG_USB_OTG is not set
1162# CONFIG_USB_MON is not set
1163# CONFIG_USB_WUSB is not set
1164# CONFIG_USB_WUSB_CBAF is not set
1165
1166#
1167# USB Host Controller Drivers
1168#
1169# CONFIG_USB_C67X00_HCD is not set
1170CONFIG_USB_EHCI_HCD=y
1171CONFIG_USB_EHCI_ROOT_HUB_TT=y
1172# CONFIG_USB_EHCI_TT_NEWSCHED is not set
1173CONFIG_USB_EHCI_BIG_ENDIAN_MMIO=y
1174CONFIG_USB_EHCI_BIG_ENDIAN_DESC=y
1175# CONFIG_XPS_USB_HCD_XILINX is not set
1176CONFIG_USB_EHCI_FSL=y
1177CONFIG_USB_EHCI_HCD_PPC_OF=y
1178# CONFIG_USB_OXU210HP_HCD is not set
1179# CONFIG_USB_ISP116X_HCD is not set
1180# CONFIG_USB_ISP1760_HCD is not set
1181# CONFIG_USB_ISP1362_HCD is not set
1182# CONFIG_USB_SL811_HCD is not set
1183# CONFIG_USB_R8A66597_HCD is not set
1184# CONFIG_USB_HWA_HCD is not set
1185
1186#
1187# USB Device Class drivers
1188#
1189# CONFIG_USB_ACM is not set
1190# CONFIG_USB_PRINTER is not set
1191# CONFIG_USB_WDM is not set
1192# CONFIG_USB_TMC is not set
1193
1194#
1195# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
1196#
1197
1198#
1199# also be needed; see USB_STORAGE Help for more info
1200#
1201CONFIG_USB_STORAGE=y
1202# CONFIG_USB_STORAGE_DEBUG is not set
1203# CONFIG_USB_STORAGE_DATAFAB is not set
1204# CONFIG_USB_STORAGE_FREECOM is not set
1205# CONFIG_USB_STORAGE_ISD200 is not set
1206# CONFIG_USB_STORAGE_USBAT is not set
1207# CONFIG_USB_STORAGE_SDDR09 is not set
1208# CONFIG_USB_STORAGE_SDDR55 is not set
1209# CONFIG_USB_STORAGE_JUMPSHOT is not set
1210# CONFIG_USB_STORAGE_ALAUDA is not set
1211# CONFIG_USB_STORAGE_ONETOUCH is not set
1212# CONFIG_USB_STORAGE_KARMA is not set
1213# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
1214# CONFIG_USB_LIBUSUAL is not set
1215
1216#
1217# USB Imaging devices
1218#
1219# CONFIG_USB_MDC800 is not set
1220# CONFIG_USB_MICROTEK is not set
1221
1222#
1223# USB port drivers
1224#
1225# CONFIG_USB_SERIAL is not set
1226
1227#
1228# USB Miscellaneous drivers
1229#
1230# CONFIG_USB_EMI62 is not set
1231# CONFIG_USB_EMI26 is not set
1232# CONFIG_USB_ADUTUX is not set
1233# CONFIG_USB_SEVSEG is not set
1234# CONFIG_USB_RIO500 is not set
1235# CONFIG_USB_LEGOTOWER is not set
1236# CONFIG_USB_LCD is not set
1237# CONFIG_USB_BERRY_CHARGE is not set
1238# CONFIG_USB_LED is not set
1239# CONFIG_USB_CYPRESS_CY7C63 is not set
1240# CONFIG_USB_CYTHERM is not set
1241# CONFIG_USB_IDMOUSE is not set
1242# CONFIG_USB_FTDI_ELAN is not set
1243# CONFIG_USB_APPLEDISPLAY is not set
1244# CONFIG_USB_SISUSBVGA is not set
1245# CONFIG_USB_LD is not set
1246# CONFIG_USB_TRANCEVIBRATOR is not set
1247# CONFIG_USB_IOWARRIOR is not set
1248# CONFIG_USB_TEST is not set
1249# CONFIG_USB_ISIGHTFW is not set
1250# CONFIG_USB_VST is not set
1251# CONFIG_USB_GADGET is not set
1252
1253#
1254# OTG and related infrastructure
1255#
1256# CONFIG_NOP_USB_XCEIV is not set
1257# CONFIG_MMC is not set
1258# CONFIG_MEMSTICK is not set
1259# CONFIG_NEW_LEDS is not set
1260# CONFIG_ACCESSIBILITY is not set
1261# CONFIG_EDAC is not set
1262CONFIG_RTC_LIB=y
1263CONFIG_RTC_CLASS=y
1264CONFIG_RTC_HCTOSYS=y
1265CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
1266# CONFIG_RTC_DEBUG is not set
1267
1268#
1269# RTC interfaces
1270#
1271CONFIG_RTC_INTF_SYSFS=y
1272CONFIG_RTC_INTF_PROC=y
1273CONFIG_RTC_INTF_DEV=y
1274# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
1275# CONFIG_RTC_DRV_TEST is not set
1276
1277#
1278# I2C RTC drivers
1279#
1280# CONFIG_RTC_DRV_DS1307 is not set
1281# CONFIG_RTC_DRV_DS1374 is not set
1282# CONFIG_RTC_DRV_DS1672 is not set
1283# CONFIG_RTC_DRV_MAX6900 is not set
1284# CONFIG_RTC_DRV_RS5C372 is not set
1285# CONFIG_RTC_DRV_ISL1208 is not set
1286# CONFIG_RTC_DRV_X1205 is not set
1287# CONFIG_RTC_DRV_PCF8563 is not set
1288# CONFIG_RTC_DRV_PCF8583 is not set
1289CONFIG_RTC_DRV_M41T80=y
1290# CONFIG_RTC_DRV_M41T80_WDT is not set
1291# CONFIG_RTC_DRV_BQ32K is not set
1292# CONFIG_RTC_DRV_S35390A is not set
1293# CONFIG_RTC_DRV_FM3130 is not set
1294# CONFIG_RTC_DRV_RX8581 is not set
1295# CONFIG_RTC_DRV_RX8025 is not set
1296
1297#
1298# SPI RTC drivers
1299#
1300
1301#
1302# Platform RTC drivers
1303#
1304# CONFIG_RTC_DRV_CMOS is not set
1305# CONFIG_RTC_DRV_DS1286 is not set
1306# CONFIG_RTC_DRV_DS1511 is not set
1307# CONFIG_RTC_DRV_DS1553 is not set
1308# CONFIG_RTC_DRV_DS1742 is not set
1309# CONFIG_RTC_DRV_STK17TA8 is not set
1310# CONFIG_RTC_DRV_M48T86 is not set
1311# CONFIG_RTC_DRV_M48T35 is not set
1312# CONFIG_RTC_DRV_M48T59 is not set
1313# CONFIG_RTC_DRV_MSM6242 is not set
1314# CONFIG_RTC_DRV_BQ4802 is not set
1315# CONFIG_RTC_DRV_RP5C01 is not set
1316# CONFIG_RTC_DRV_V3020 is not set
1317
1318#
1319# on-CPU RTC drivers
1320#
1321# CONFIG_RTC_DRV_GENERIC is not set
1322CONFIG_RTC_DRV_MPC5121=y
1323CONFIG_DMADEVICES=y
1324
1325#
1326# DMA Devices
1327#
1328# CONFIG_FSL_DMA is not set
1329CONFIG_MPC512X_DMA=y
1330CONFIG_DMA_ENGINE=y
1331
1332#
1333# DMA Clients
1334#
1335# CONFIG_NET_DMA is not set
1336# CONFIG_ASYNC_TX_DMA is not set
1337# CONFIG_DMATEST is not set
1338# CONFIG_AUXDISPLAY is not set
1339# CONFIG_UIO is not set
1340
1341#
1342# TI VLYNQ
1343#
1344# CONFIG_STAGING is not set
1345
1346#
1347# File systems
1348#
1349CONFIG_EXT2_FS=y
1350# CONFIG_EXT2_FS_XATTR is not set
1351CONFIG_EXT2_FS_XIP=y
1352CONFIG_EXT3_FS=y
1353# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
1354CONFIG_EXT3_FS_XATTR=y
1355# CONFIG_EXT3_FS_POSIX_ACL is not set
1356# CONFIG_EXT3_FS_SECURITY is not set
1357# CONFIG_EXT4_FS is not set
1358CONFIG_FS_XIP=y
1359CONFIG_JBD=y
1360CONFIG_FS_MBCACHE=y
1361# CONFIG_REISERFS_FS is not set
1362# CONFIG_JFS_FS is not set
1363# CONFIG_FS_POSIX_ACL is not set
1364# CONFIG_XFS_FS is not set
1365# CONFIG_GFS2_FS is not set
1366# CONFIG_OCFS2_FS is not set
1367# CONFIG_BTRFS_FS is not set
1368# CONFIG_NILFS2_FS is not set
1369CONFIG_FILE_LOCKING=y
1370CONFIG_FSNOTIFY=y
1371# CONFIG_DNOTIFY is not set
1372# CONFIG_INOTIFY is not set
1373CONFIG_INOTIFY_USER=y
1374# CONFIG_QUOTA is not set
1375# CONFIG_AUTOFS_FS is not set
1376# CONFIG_AUTOFS4_FS is not set
1377# CONFIG_FUSE_FS is not set
1378
1379#
1380# Caches
1381#
1382# CONFIG_FSCACHE is not set
1383
1384#
1385# CD-ROM/DVD Filesystems
1386#
1387# CONFIG_ISO9660_FS is not set
1388# CONFIG_UDF_FS is not set
1389
1390#
1391# DOS/FAT/NT Filesystems
1392#
1393CONFIG_FAT_FS=y
1394# CONFIG_MSDOS_FS is not set
1395CONFIG_VFAT_FS=y
1396CONFIG_FAT_DEFAULT_CODEPAGE=437
1397CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
1398# CONFIG_NTFS_FS is not set
1399
1400#
1401# Pseudo filesystems
1402#
1403CONFIG_PROC_FS=y
1404# CONFIG_PROC_KCORE is not set
1405CONFIG_PROC_SYSCTL=y
1406CONFIG_PROC_PAGE_MONITOR=y
1407CONFIG_SYSFS=y
1408CONFIG_TMPFS=y
1409# CONFIG_TMPFS_POSIX_ACL is not set
1410# CONFIG_HUGETLB_PAGE is not set
1411# CONFIG_CONFIGFS_FS is not set
1412CONFIG_MISC_FILESYSTEMS=y
1413# CONFIG_ADFS_FS is not set
1414# CONFIG_AFFS_FS is not set
1415# CONFIG_HFS_FS is not set
1416# CONFIG_HFSPLUS_FS is not set
1417# CONFIG_BEFS_FS is not set
1418# CONFIG_BFS_FS is not set
1419# CONFIG_EFS_FS is not set
1420CONFIG_JFFS2_FS=y
1421CONFIG_JFFS2_FS_DEBUG=0
1422CONFIG_JFFS2_FS_WRITEBUFFER=y
1423# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
1424# CONFIG_JFFS2_SUMMARY is not set
1425# CONFIG_JFFS2_FS_XATTR is not set
1426# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
1427CONFIG_JFFS2_ZLIB=y
1428# CONFIG_JFFS2_LZO is not set
1429CONFIG_JFFS2_RTIME=y
1430# CONFIG_JFFS2_RUBIN is not set
1431CONFIG_UBIFS_FS=y
1432# CONFIG_UBIFS_FS_XATTR is not set
1433# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set
1434CONFIG_UBIFS_FS_LZO=y
1435CONFIG_UBIFS_FS_ZLIB=y
1436# CONFIG_UBIFS_FS_DEBUG is not set
1437# CONFIG_CRAMFS is not set
1438# CONFIG_SQUASHFS is not set
1439# CONFIG_VXFS_FS is not set
1440# CONFIG_MINIX_FS is not set
1441# CONFIG_OMFS_FS is not set
1442# CONFIG_HPFS_FS is not set
1443# CONFIG_QNX4FS_FS is not set
1444# CONFIG_ROMFS_FS is not set
1445# CONFIG_SYSV_FS is not set
1446# CONFIG_UFS_FS is not set
1447CONFIG_NETWORK_FILESYSTEMS=y
1448CONFIG_NFS_FS=y
1449CONFIG_NFS_V3=y
1450# CONFIG_NFS_V3_ACL is not set
1451# CONFIG_NFS_V4 is not set
1452CONFIG_ROOT_NFS=y
1453# CONFIG_NFSD is not set
1454CONFIG_LOCKD=y
1455CONFIG_LOCKD_V4=y
1456CONFIG_NFS_COMMON=y
1457CONFIG_SUNRPC=y
1458# CONFIG_RPCSEC_GSS_KRB5 is not set
1459# CONFIG_RPCSEC_GSS_SPKM3 is not set
1460# CONFIG_SMB_FS is not set
1461# CONFIG_CIFS is not set
1462# CONFIG_NCP_FS is not set
1463# CONFIG_CODA_FS is not set
1464# CONFIG_AFS_FS is not set
1465
1466#
1467# Partition Types
1468#
1469CONFIG_PARTITION_ADVANCED=y
1470# CONFIG_ACORN_PARTITION is not set
1471# CONFIG_OSF_PARTITION is not set
1472# CONFIG_AMIGA_PARTITION is not set
1473# CONFIG_ATARI_PARTITION is not set
1474# CONFIG_MAC_PARTITION is not set
1475CONFIG_MSDOS_PARTITION=y
1476# CONFIG_BSD_DISKLABEL is not set
1477# CONFIG_MINIX_SUBPARTITION is not set
1478# CONFIG_SOLARIS_X86_PARTITION is not set
1479# CONFIG_UNIXWARE_DISKLABEL is not set
1480# CONFIG_LDM_PARTITION is not set
1481# CONFIG_SGI_PARTITION is not set
1482# CONFIG_ULTRIX_PARTITION is not set
1483# CONFIG_SUN_PARTITION is not set
1484# CONFIG_KARMA_PARTITION is not set
1485# CONFIG_EFI_PARTITION is not set
1486# CONFIG_SYSV68_PARTITION is not set
1487CONFIG_NLS=y
1488CONFIG_NLS_DEFAULT="iso8859-1"
1489CONFIG_NLS_CODEPAGE_437=y
1490# CONFIG_NLS_CODEPAGE_737 is not set
1491# CONFIG_NLS_CODEPAGE_775 is not set
1492# CONFIG_NLS_CODEPAGE_850 is not set
1493# CONFIG_NLS_CODEPAGE_852 is not set
1494# CONFIG_NLS_CODEPAGE_855 is not set
1495# CONFIG_NLS_CODEPAGE_857 is not set
1496# CONFIG_NLS_CODEPAGE_860 is not set
1497# CONFIG_NLS_CODEPAGE_861 is not set
1498# CONFIG_NLS_CODEPAGE_862 is not set
1499# CONFIG_NLS_CODEPAGE_863 is not set
1500# CONFIG_NLS_CODEPAGE_864 is not set
1501# CONFIG_NLS_CODEPAGE_865 is not set
1502# CONFIG_NLS_CODEPAGE_866 is not set
1503# CONFIG_NLS_CODEPAGE_869 is not set
1504# CONFIG_NLS_CODEPAGE_936 is not set
1505# CONFIG_NLS_CODEPAGE_950 is not set
1506# CONFIG_NLS_CODEPAGE_932 is not set
1507# CONFIG_NLS_CODEPAGE_949 is not set
1508# CONFIG_NLS_CODEPAGE_874 is not set
1509# CONFIG_NLS_ISO8859_8 is not set
1510# CONFIG_NLS_CODEPAGE_1250 is not set
1511# CONFIG_NLS_CODEPAGE_1251 is not set
1512# CONFIG_NLS_ASCII is not set
1513CONFIG_NLS_ISO8859_1=y
1514# CONFIG_NLS_ISO8859_2 is not set
1515# CONFIG_NLS_ISO8859_3 is not set
1516# CONFIG_NLS_ISO8859_4 is not set
1517# CONFIG_NLS_ISO8859_5 is not set
1518# CONFIG_NLS_ISO8859_6 is not set
1519# CONFIG_NLS_ISO8859_7 is not set
1520# CONFIG_NLS_ISO8859_9 is not set
1521# CONFIG_NLS_ISO8859_13 is not set
1522# CONFIG_NLS_ISO8859_14 is not set
1523# CONFIG_NLS_ISO8859_15 is not set
1524# CONFIG_NLS_KOI8_R is not set
1525# CONFIG_NLS_KOI8_U is not set
1526# CONFIG_NLS_UTF8 is not set
1527# CONFIG_DLM is not set
1528# CONFIG_BINARY_PRINTF is not set
1529
1530#
1531# Library routines
1532#
1533CONFIG_BITREVERSE=y
1534CONFIG_GENERIC_FIND_LAST_BIT=y
1535# CONFIG_CRC_CCITT is not set
1536CONFIG_CRC16=y
1537# CONFIG_CRC_T10DIF is not set
1538# CONFIG_CRC_ITU_T is not set
1539CONFIG_CRC32=y
1540# CONFIG_CRC7 is not set
1541# CONFIG_LIBCRC32C is not set
1542CONFIG_ZLIB_INFLATE=y
1543CONFIG_ZLIB_DEFLATE=y
1544CONFIG_LZO_COMPRESS=y
1545CONFIG_LZO_DECOMPRESS=y
1546CONFIG_DECOMPRESS_GZIP=y
1547CONFIG_DECOMPRESS_BZIP2=y
1548CONFIG_DECOMPRESS_LZMA=y
1549CONFIG_DECOMPRESS_LZO=y
1550CONFIG_HAS_IOMEM=y
1551CONFIG_HAS_IOPORT=y
1552CONFIG_HAS_DMA=y
1553CONFIG_HAVE_LMB=y
1554CONFIG_NLATTR=y
1555CONFIG_GENERIC_ATOMIC64=y
1556
1557#
1558# Kernel hacking
1559#
1560# CONFIG_PRINTK_TIME is not set
1561# CONFIG_ENABLE_WARN_DEPRECATED is not set
1562# CONFIG_ENABLE_MUST_CHECK is not set
1563CONFIG_FRAME_WARN=1024
1564# CONFIG_MAGIC_SYSRQ is not set
1565# CONFIG_STRIP_ASM_SYMS is not set
1566# CONFIG_UNUSED_SYMBOLS is not set
1567# CONFIG_DEBUG_FS is not set
1568# CONFIG_HEADERS_CHECK is not set
1569# CONFIG_DEBUG_KERNEL is not set
1570CONFIG_DEBUG_BUGVERBOSE=y
1571CONFIG_DEBUG_MEMORY_INIT=y
1572# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1573# CONFIG_LATENCYTOP is not set
1574# CONFIG_SYSCTL_SYSCALL_CHECK is not set
1575CONFIG_HAVE_FUNCTION_TRACER=y
1576CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
1577CONFIG_HAVE_DYNAMIC_FTRACE=y
1578CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1579CONFIG_TRACING_SUPPORT=y
1580# CONFIG_FTRACE is not set
1581# CONFIG_DMA_API_DEBUG is not set
1582# CONFIG_SAMPLES is not set
1583CONFIG_HAVE_ARCH_KGDB=y
1584# CONFIG_PPC_DISABLE_WERROR is not set
1585CONFIG_PPC_WERROR=y
1586CONFIG_PRINT_STACK_DEPTH=64
1587# CONFIG_IRQSTACKS is not set
1588# CONFIG_BOOTX_TEXT is not set
1589# CONFIG_PPC_EARLY_DEBUG is not set
1590
1591#
1592# Security options
1593#
1594# CONFIG_KEYS is not set
1595# CONFIG_SECURITY is not set
1596# CONFIG_SECURITYFS is not set
1597# CONFIG_DEFAULT_SECURITY_SELINUX is not set
1598# CONFIG_DEFAULT_SECURITY_SMACK is not set
1599# CONFIG_DEFAULT_SECURITY_TOMOYO is not set
1600CONFIG_DEFAULT_SECURITY_DAC=y
1601CONFIG_DEFAULT_SECURITY=""
1602CONFIG_CRYPTO=y
1603
1604#
1605# Crypto core or helper
1606#
1607CONFIG_CRYPTO_ALGAPI=y
1608CONFIG_CRYPTO_ALGAPI2=y
1609# CONFIG_CRYPTO_MANAGER is not set
1610# CONFIG_CRYPTO_MANAGER2 is not set
1611# CONFIG_CRYPTO_GF128MUL is not set
1612# CONFIG_CRYPTO_NULL is not set
1613# CONFIG_CRYPTO_CRYPTD is not set
1614# CONFIG_CRYPTO_AUTHENC is not set
1615# CONFIG_CRYPTO_TEST is not set
1616
1617#
1618# Authenticated Encryption with Associated Data
1619#
1620# CONFIG_CRYPTO_CCM is not set
1621# CONFIG_CRYPTO_GCM is not set
1622# CONFIG_CRYPTO_SEQIV is not set
1623
1624#
1625# Block modes
1626#
1627# CONFIG_CRYPTO_CBC is not set
1628# CONFIG_CRYPTO_CTR is not set
1629# CONFIG_CRYPTO_CTS is not set
1630# CONFIG_CRYPTO_ECB is not set
1631# CONFIG_CRYPTO_LRW is not set
1632# CONFIG_CRYPTO_PCBC is not set
1633# CONFIG_CRYPTO_XTS is not set
1634
1635#
1636# Hash modes
1637#
1638# CONFIG_CRYPTO_HMAC is not set
1639# CONFIG_CRYPTO_XCBC is not set
1640# CONFIG_CRYPTO_VMAC is not set
1641
1642#
1643# Digest
1644#
1645# CONFIG_CRYPTO_CRC32C is not set
1646# CONFIG_CRYPTO_GHASH is not set
1647# CONFIG_CRYPTO_MD4 is not set
1648# CONFIG_CRYPTO_MD5 is not set
1649# CONFIG_CRYPTO_MICHAEL_MIC is not set
1650# CONFIG_CRYPTO_RMD128 is not set
1651# CONFIG_CRYPTO_RMD160 is not set
1652# CONFIG_CRYPTO_RMD256 is not set
1653# CONFIG_CRYPTO_RMD320 is not set
1654# CONFIG_CRYPTO_SHA1 is not set
1655# CONFIG_CRYPTO_SHA256 is not set
1656# CONFIG_CRYPTO_SHA512 is not set
1657# CONFIG_CRYPTO_TGR192 is not set
1658# CONFIG_CRYPTO_WP512 is not set
1659
1660#
1661# Ciphers
1662#
1663# CONFIG_CRYPTO_AES is not set
1664# CONFIG_CRYPTO_ANUBIS is not set
1665# CONFIG_CRYPTO_ARC4 is not set
1666# CONFIG_CRYPTO_BLOWFISH is not set
1667# CONFIG_CRYPTO_CAMELLIA is not set
1668# CONFIG_CRYPTO_CAST5 is not set
1669# CONFIG_CRYPTO_CAST6 is not set
1670# CONFIG_CRYPTO_DES is not set
1671# CONFIG_CRYPTO_FCRYPT is not set
1672# CONFIG_CRYPTO_KHAZAD is not set
1673# CONFIG_CRYPTO_SALSA20 is not set
1674# CONFIG_CRYPTO_SEED is not set
1675# CONFIG_CRYPTO_SERPENT is not set
1676# CONFIG_CRYPTO_TEA is not set
1677# CONFIG_CRYPTO_TWOFISH is not set
1678
1679#
1680# Compression
1681#
1682CONFIG_CRYPTO_DEFLATE=y
1683# CONFIG_CRYPTO_ZLIB is not set
1684CONFIG_CRYPTO_LZO=y
1685
1686#
1687# Random Number Generation
1688#
1689# CONFIG_CRYPTO_ANSI_CPRNG is not set
1690# CONFIG_CRYPTO_HW is not set
1691CONFIG_PPC_CLOCK=y
1692CONFIG_PPC_LIB_RHEAP=y
1693# CONFIG_VIRTUALIZATION is not set
diff --git a/arch/powerpc/configs/mpc5200_defconfig b/arch/powerpc/configs/mpc5200_defconfig
index 61cf73d0000f..f875ec21c91c 100644
--- a/arch/powerpc/configs/mpc5200_defconfig
+++ b/arch/powerpc/configs/mpc5200_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-rc2 3# Linux kernel version: 2.6.34-rc1
4# Wed Dec 30 15:08:52 2009 4# Wed Mar 10 14:38:54 2010
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -96,30 +96,36 @@ 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
99# CONFIG_GROUP_SCHED is not set
100# CONFIG_CGROUPS is not set 99# CONFIG_CGROUPS is not set
101CONFIG_SYSFS_DEPRECATED=y 100# CONFIG_SYSFS_DEPRECATED_V2 is not set
102CONFIG_SYSFS_DEPRECATED_V2=y
103# CONFIG_RELAY is not set 101# CONFIG_RELAY is not set
104# CONFIG_NAMESPACES is not set 102CONFIG_NAMESPACES=y
103# CONFIG_UTS_NS is not set
104# CONFIG_IPC_NS is not set
105# CONFIG_USER_NS is not set
106# CONFIG_PID_NS is not set
107# CONFIG_NET_NS is not set
105CONFIG_BLK_DEV_INITRD=y 108CONFIG_BLK_DEV_INITRD=y
106CONFIG_INITRAMFS_SOURCE="" 109CONFIG_INITRAMFS_SOURCE=""
107CONFIG_RD_GZIP=y 110CONFIG_RD_GZIP=y
108# CONFIG_RD_BZIP2 is not set 111CONFIG_RD_BZIP2=y
109# CONFIG_RD_LZMA is not set 112CONFIG_RD_LZMA=y
113CONFIG_RD_LZO=y
110# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 114# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
111CONFIG_SYSCTL=y 115CONFIG_SYSCTL=y
112CONFIG_ANON_INODES=y 116CONFIG_ANON_INODES=y
113CONFIG_EMBEDDED=y 117# CONFIG_EMBEDDED is not set
114# CONFIG_SYSCTL_SYSCALL is not set 118CONFIG_SYSCTL_SYSCALL=y
115# CONFIG_KALLSYMS is not set 119CONFIG_KALLSYMS=y
120# CONFIG_KALLSYMS_ALL is not set
121# CONFIG_KALLSYMS_EXTRA_PASS is not set
116CONFIG_HOTPLUG=y 122CONFIG_HOTPLUG=y
117CONFIG_PRINTK=y 123CONFIG_PRINTK=y
118CONFIG_BUG=y 124CONFIG_BUG=y
119CONFIG_ELF_CORE=y 125CONFIG_ELF_CORE=y
120CONFIG_BASE_FULL=y 126CONFIG_BASE_FULL=y
121CONFIG_FUTEX=y 127CONFIG_FUTEX=y
122# CONFIG_EPOLL is not set 128CONFIG_EPOLL=y
123CONFIG_SIGNALFD=y 129CONFIG_SIGNALFD=y
124CONFIG_TIMERFD=y 130CONFIG_TIMERFD=y
125CONFIG_EVENTFD=y 131CONFIG_EVENTFD=y
@@ -141,6 +147,7 @@ CONFIG_SLUB=y
141# CONFIG_SLOB is not set 147# CONFIG_SLOB is not set
142# CONFIG_PROFILING is not set 148# CONFIG_PROFILING is not set
143CONFIG_HAVE_OPROFILE=y 149CONFIG_HAVE_OPROFILE=y
150# CONFIG_KPROBES is not set
144CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 151CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
145CONFIG_HAVE_IOREMAP_PROT=y 152CONFIG_HAVE_IOREMAP_PROT=y
146CONFIG_HAVE_KPROBES=y 153CONFIG_HAVE_KPROBES=y
@@ -320,6 +327,7 @@ CONFIG_SUSPEND=y
320CONFIG_SUSPEND_FREEZER=y 327CONFIG_SUSPEND_FREEZER=y
321# CONFIG_HIBERNATION is not set 328# CONFIG_HIBERNATION is not set
322# CONFIG_PM_RUNTIME is not set 329# CONFIG_PM_RUNTIME is not set
330CONFIG_PM_OPS=y
323CONFIG_SECCOMP=y 331CONFIG_SECCOMP=y
324CONFIG_ISA_DMA_API=y 332CONFIG_ISA_DMA_API=y
325 333
@@ -336,7 +344,6 @@ CONFIG_PCI_SYSCALL=y
336# CONFIG_PCIEPORTBUS is not set 344# CONFIG_PCIEPORTBUS is not set
337CONFIG_ARCH_SUPPORTS_MSI=y 345CONFIG_ARCH_SUPPORTS_MSI=y
338# CONFIG_PCI_MSI is not set 346# CONFIG_PCI_MSI is not set
339CONFIG_PCI_LEGACY=y
340# CONFIG_PCI_DEBUG is not set 347# CONFIG_PCI_DEBUG is not set
341# CONFIG_PCI_STUB is not set 348# CONFIG_PCI_STUB is not set
342# CONFIG_PCI_IOV is not set 349# CONFIG_PCI_IOV is not set
@@ -363,7 +370,6 @@ CONFIG_NET=y
363# Networking options 370# Networking options
364# 371#
365CONFIG_PACKET=y 372CONFIG_PACKET=y
366# CONFIG_PACKET_MMAP is not set
367CONFIG_UNIX=y 373CONFIG_UNIX=y
368CONFIG_XFRM=y 374CONFIG_XFRM=y
369CONFIG_XFRM_USER=m 375CONFIG_XFRM_USER=m
@@ -454,7 +460,9 @@ CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
454# CONFIG_DEVTMPFS is not set 460# CONFIG_DEVTMPFS is not set
455CONFIG_STANDALONE=y 461CONFIG_STANDALONE=y
456CONFIG_PREVENT_FIRMWARE_BUILD=y 462CONFIG_PREVENT_FIRMWARE_BUILD=y
457# CONFIG_FW_LOADER is not set 463CONFIG_FW_LOADER=y
464CONFIG_FIRMWARE_IN_KERNEL=y
465CONFIG_EXTRA_FIRMWARE=""
458# CONFIG_DEBUG_DRIVER is not set 466# CONFIG_DEBUG_DRIVER is not set
459# CONFIG_DEBUG_DEVRES is not set 467# CONFIG_DEBUG_DEVRES is not set
460# CONFIG_SYS_HYPERVISOR is not set 468# CONFIG_SYS_HYPERVISOR is not set
@@ -554,6 +562,8 @@ CONFIG_MTD_UBI_BEB_RESERVE=1
554# UBI debugging options 562# UBI debugging options
555# 563#
556# CONFIG_MTD_UBI_DEBUG is not set 564# CONFIG_MTD_UBI_DEBUG is not set
565CONFIG_OF_FLATTREE=y
566CONFIG_OF_DYNAMIC=y
557CONFIG_OF_DEVICE=y 567CONFIG_OF_DEVICE=y
558CONFIG_OF_GPIO=y 568CONFIG_OF_GPIO=y
559CONFIG_OF_I2C=y 569CONFIG_OF_I2C=y
@@ -732,6 +742,7 @@ CONFIG_ATA_SFF=y
732# CONFIG_PATA_IT821X is not set 742# CONFIG_PATA_IT821X is not set
733# CONFIG_PATA_IT8213 is not set 743# CONFIG_PATA_IT8213 is not set
734# CONFIG_PATA_JMICRON is not set 744# CONFIG_PATA_JMICRON is not set
745# CONFIG_PATA_LEGACY is not set
735# CONFIG_PATA_TRIFLEX is not set 746# CONFIG_PATA_TRIFLEX is not set
736# CONFIG_PATA_MARVELL is not set 747# CONFIG_PATA_MARVELL is not set
737CONFIG_PATA_MPC52xx=y 748CONFIG_PATA_MPC52xx=y
@@ -770,7 +781,7 @@ CONFIG_PATA_PLATFORM=y
770# 781#
771 782
772# 783#
773# See the help texts for more information. 784# The newer stack is recommended.
774# 785#
775# CONFIG_FIREWIRE is not set 786# CONFIG_FIREWIRE is not set
776# CONFIG_IEEE1394 is not set 787# CONFIG_IEEE1394 is not set
@@ -929,6 +940,7 @@ CONFIG_SERIAL_MPC52xx=y
929CONFIG_SERIAL_MPC52xx_CONSOLE=y 940CONFIG_SERIAL_MPC52xx_CONSOLE=y
930CONFIG_SERIAL_MPC52xx_CONSOLE_BAUD=115200 941CONFIG_SERIAL_MPC52xx_CONSOLE_BAUD=115200
931# CONFIG_SERIAL_JSM is not set 942# CONFIG_SERIAL_JSM is not set
943# CONFIG_SERIAL_TIMBERDALE is not set
932# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set 944# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set
933CONFIG_UNIX98_PTYS=y 945CONFIG_UNIX98_PTYS=y
934# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set 946# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
@@ -981,6 +993,7 @@ CONFIG_I2C_ALGOBIT=y
981CONFIG_I2C_MPC=y 993CONFIG_I2C_MPC=y
982# CONFIG_I2C_OCORES is not set 994# CONFIG_I2C_OCORES is not set
983# CONFIG_I2C_SIMTEC is not set 995# CONFIG_I2C_SIMTEC is not set
996# CONFIG_I2C_XILINX is not set
984 997
985# 998#
986# External I2C/SMBus adapter drivers 999# External I2C/SMBus adapter drivers
@@ -1010,9 +1023,9 @@ CONFIG_SPI_MASTER=y
1010# 1023#
1011# SPI Master Controller Drivers 1024# SPI Master Controller Drivers
1012# 1025#
1013# CONFIG_SPI_BITBANG is not set 1026CONFIG_SPI_BITBANG=m
1014# CONFIG_SPI_GPIO is not set 1027CONFIG_SPI_GPIO=m
1015# CONFIG_SPI_MPC52xx is not set 1028CONFIG_SPI_MPC52xx=m
1016CONFIG_SPI_MPC52xx_PSC=m 1029CONFIG_SPI_MPC52xx_PSC=m
1017# CONFIG_SPI_XILINX is not set 1030# CONFIG_SPI_XILINX is not set
1018# CONFIG_SPI_DESIGNWARE is not set 1031# CONFIG_SPI_DESIGNWARE is not set
@@ -1036,14 +1049,18 @@ CONFIG_GPIOLIB=y
1036# 1049#
1037# Memory mapped GPIO expanders: 1050# Memory mapped GPIO expanders:
1038# 1051#
1052# CONFIG_GPIO_IT8761E is not set
1039# CONFIG_GPIO_XILINX is not set 1053# CONFIG_GPIO_XILINX is not set
1054# CONFIG_GPIO_SCH is not set
1040 1055
1041# 1056#
1042# I2C GPIO expanders: 1057# I2C GPIO expanders:
1043# 1058#
1059# CONFIG_GPIO_MAX7300 is not set
1044# CONFIG_GPIO_MAX732X is not set 1060# CONFIG_GPIO_MAX732X is not set
1045# CONFIG_GPIO_PCA953X is not set 1061# CONFIG_GPIO_PCA953X is not set
1046# CONFIG_GPIO_PCF857X is not set 1062# CONFIG_GPIO_PCF857X is not set
1063# CONFIG_GPIO_ADP5588 is not set
1047 1064
1048# 1065#
1049# PCI GPIO expanders: 1066# PCI GPIO expanders:
@@ -1080,10 +1097,11 @@ CONFIG_HWMON=y
1080# CONFIG_SENSORS_ADM1029 is not set 1097# CONFIG_SENSORS_ADM1029 is not set
1081# CONFIG_SENSORS_ADM1031 is not set 1098# CONFIG_SENSORS_ADM1031 is not set
1082# CONFIG_SENSORS_ADM9240 is not set 1099# CONFIG_SENSORS_ADM9240 is not set
1100# CONFIG_SENSORS_ADT7411 is not set
1083# CONFIG_SENSORS_ADT7462 is not set 1101# CONFIG_SENSORS_ADT7462 is not set
1084# CONFIG_SENSORS_ADT7470 is not set 1102# CONFIG_SENSORS_ADT7470 is not set
1085# CONFIG_SENSORS_ADT7473 is not set
1086# CONFIG_SENSORS_ADT7475 is not set 1103# CONFIG_SENSORS_ADT7475 is not set
1104# CONFIG_SENSORS_ASC7621 is not set
1087# CONFIG_SENSORS_ATXP1 is not set 1105# CONFIG_SENSORS_ATXP1 is not set
1088# CONFIG_SENSORS_DS1621 is not set 1106# CONFIG_SENSORS_DS1621 is not set
1089# CONFIG_SENSORS_I5K_AMB is not set 1107# CONFIG_SENSORS_I5K_AMB is not set
@@ -1123,6 +1141,7 @@ CONFIG_HWMON=y
1123# CONFIG_SENSORS_SMSC47M192 is not set 1141# CONFIG_SENSORS_SMSC47M192 is not set
1124# CONFIG_SENSORS_SMSC47B397 is not set 1142# CONFIG_SENSORS_SMSC47B397 is not set
1125# CONFIG_SENSORS_ADS7828 is not set 1143# CONFIG_SENSORS_ADS7828 is not set
1144# CONFIG_SENSORS_AMC6821 is not set
1126# CONFIG_SENSORS_THMC50 is not set 1145# CONFIG_SENSORS_THMC50 is not set
1127# CONFIG_SENSORS_TMP401 is not set 1146# CONFIG_SENSORS_TMP401 is not set
1128# CONFIG_SENSORS_TMP421 is not set 1147# CONFIG_SENSORS_TMP421 is not set
@@ -1147,6 +1166,7 @@ CONFIG_WATCHDOG=y
1147# Watchdog Device Drivers 1166# Watchdog Device Drivers
1148# 1167#
1149# CONFIG_SOFT_WATCHDOG is not set 1168# CONFIG_SOFT_WATCHDOG is not set
1169# CONFIG_MAX63XX_WATCHDOG is not set
1150# CONFIG_ALIM7101_WDT is not set 1170# CONFIG_ALIM7101_WDT is not set
1151# CONFIG_MPC5200_WDT is not set 1171# CONFIG_MPC5200_WDT is not set
1152# CONFIG_WATCHDOG_RTAS is not set 1172# CONFIG_WATCHDOG_RTAS is not set
@@ -1172,22 +1192,27 @@ CONFIG_SSB_POSSIBLE=y
1172# Multifunction device drivers 1192# Multifunction device drivers
1173# 1193#
1174# CONFIG_MFD_CORE is not set 1194# CONFIG_MFD_CORE is not set
1195# CONFIG_MFD_88PM860X is not set
1175# CONFIG_MFD_SM501 is not set 1196# CONFIG_MFD_SM501 is not set
1176# CONFIG_HTC_PASIC3 is not set 1197# CONFIG_HTC_PASIC3 is not set
1198# CONFIG_HTC_I2CPLD is not set
1177# CONFIG_TPS65010 is not set 1199# CONFIG_TPS65010 is not set
1178# CONFIG_TWL4030_CORE is not set 1200# CONFIG_TWL4030_CORE is not set
1179# CONFIG_MFD_TMIO is not set 1201# CONFIG_MFD_TMIO is not set
1180# CONFIG_PMIC_DA903X is not set 1202# CONFIG_PMIC_DA903X is not set
1181# CONFIG_PMIC_ADP5520 is not set 1203# CONFIG_PMIC_ADP5520 is not set
1204# CONFIG_MFD_MAX8925 is not set
1182# CONFIG_MFD_WM8400 is not set 1205# CONFIG_MFD_WM8400 is not set
1183# CONFIG_MFD_WM831X is not set 1206# CONFIG_MFD_WM831X is not set
1184# CONFIG_MFD_WM8350_I2C is not set 1207# CONFIG_MFD_WM8350_I2C is not set
1208# CONFIG_MFD_WM8994 is not set
1185# CONFIG_MFD_PCF50633 is not set 1209# CONFIG_MFD_PCF50633 is not set
1186# CONFIG_MFD_MC13783 is not set 1210# CONFIG_MFD_MC13783 is not set
1187# CONFIG_AB3100_CORE is not set 1211# CONFIG_AB3100_CORE is not set
1188# CONFIG_EZX_PCAP is not set 1212# CONFIG_EZX_PCAP is not set
1189# CONFIG_MFD_88PM8607 is not set
1190# CONFIG_AB4500_CORE is not set 1213# CONFIG_AB4500_CORE is not set
1214# CONFIG_MFD_TIMBERDALE is not set
1215# CONFIG_LPC_SCH is not set
1191# CONFIG_REGULATOR is not set 1216# CONFIG_REGULATOR is not set
1192# CONFIG_MEDIA_SUPPORT is not set 1217# CONFIG_MEDIA_SUPPORT is not set
1193 1218
@@ -1196,6 +1221,7 @@ CONFIG_SSB_POSSIBLE=y
1196# 1221#
1197# CONFIG_AGP is not set 1222# CONFIG_AGP is not set
1198CONFIG_VGA_ARB=y 1223CONFIG_VGA_ARB=y
1224CONFIG_VGA_ARB_MAX_GPUS=16
1199CONFIG_DRM=y 1225CONFIG_DRM=y
1200# CONFIG_DRM_TDFX is not set 1226# CONFIG_DRM_TDFX is not set
1201# CONFIG_DRM_R128 is not set 1227# CONFIG_DRM_R128 is not set
@@ -1309,32 +1335,46 @@ CONFIG_USB_HID=y
1309# 1335#
1310# Special HID drivers 1336# Special HID drivers
1311# 1337#
1338# CONFIG_HID_3M_PCT is not set
1312CONFIG_HID_A4TECH=y 1339CONFIG_HID_A4TECH=y
1313# CONFIG_HID_APPLE is not set 1340CONFIG_HID_APPLE=y
1314CONFIG_HID_BELKIN=y 1341CONFIG_HID_BELKIN=y
1315CONFIG_HID_CHERRY=y 1342CONFIG_HID_CHERRY=y
1316# CONFIG_HID_CHICONY is not set 1343CONFIG_HID_CHICONY=y
1317CONFIG_HID_CYPRESS=y 1344CONFIG_HID_CYPRESS=y
1318# CONFIG_HID_DRAGONRISE is not set 1345CONFIG_HID_DRAGONRISE=y
1346# CONFIG_DRAGONRISE_FF is not set
1319CONFIG_HID_EZKEY=y 1347CONFIG_HID_EZKEY=y
1320# CONFIG_HID_KYE is not set 1348CONFIG_HID_KYE=y
1321# CONFIG_HID_GYRATION is not set 1349CONFIG_HID_GYRATION=y
1322# CONFIG_HID_TWINHAN is not set 1350CONFIG_HID_TWINHAN=y
1323# CONFIG_HID_KENSINGTON is not set 1351CONFIG_HID_KENSINGTON=y
1324# CONFIG_HID_LOGITECH is not set 1352CONFIG_HID_LOGITECH=y
1325# CONFIG_HID_MICROSOFT is not set 1353# CONFIG_LOGITECH_FF is not set
1326# CONFIG_HID_MONTEREY is not set 1354# CONFIG_LOGIRUMBLEPAD2_FF is not set
1355# CONFIG_LOGIG940_FF is not set
1356CONFIG_HID_MICROSOFT=y
1357# CONFIG_HID_MOSART is not set
1358CONFIG_HID_MONTEREY=y
1327# CONFIG_HID_NTRIG is not set 1359# CONFIG_HID_NTRIG is not set
1328# CONFIG_HID_PANTHERLORD is not set 1360CONFIG_HID_ORTEK=y
1329# CONFIG_HID_PETALYNX is not set 1361CONFIG_HID_PANTHERLORD=y
1330# CONFIG_HID_SAMSUNG is not set 1362# CONFIG_PANTHERLORD_FF is not set
1331# CONFIG_HID_SONY is not set 1363CONFIG_HID_PETALYNX=y
1332# CONFIG_HID_SUNPLUS is not set 1364# CONFIG_HID_QUANTA is not set
1333# CONFIG_HID_GREENASIA is not set 1365CONFIG_HID_SAMSUNG=y
1334# CONFIG_HID_SMARTJOYPLUS is not set 1366CONFIG_HID_SONY=y
1335# CONFIG_HID_TOPSEED is not set 1367# CONFIG_HID_STANTUM is not set
1336# CONFIG_HID_THRUSTMASTER is not set 1368CONFIG_HID_SUNPLUS=y
1337# CONFIG_HID_ZEROPLUS is not set 1369CONFIG_HID_GREENASIA=y
1370# CONFIG_GREENASIA_FF is not set
1371CONFIG_HID_SMARTJOYPLUS=y
1372# CONFIG_SMARTJOYPLUS_FF is not set
1373CONFIG_HID_TOPSEED=y
1374CONFIG_HID_THRUSTMASTER=y
1375# CONFIG_THRUSTMASTER_FF is not set
1376CONFIG_HID_ZEROPLUS=y
1377# CONFIG_ZEROPLUS_FF is not set
1338CONFIG_USB_SUPPORT=y 1378CONFIG_USB_SUPPORT=y
1339CONFIG_USB_ARCH_HAS_HCD=y 1379CONFIG_USB_ARCH_HAS_HCD=y
1340CONFIG_USB_ARCH_HAS_OHCI=y 1380CONFIG_USB_ARCH_HAS_OHCI=y
@@ -1349,10 +1389,7 @@ CONFIG_USB=y
1349CONFIG_USB_DEVICEFS=y 1389CONFIG_USB_DEVICEFS=y
1350# CONFIG_USB_DEVICE_CLASS is not set 1390# CONFIG_USB_DEVICE_CLASS is not set
1351# CONFIG_USB_DYNAMIC_MINORS is not set 1391# CONFIG_USB_DYNAMIC_MINORS is not set
1352# CONFIG_USB_SUSPEND is not set
1353# CONFIG_USB_OTG is not set 1392# CONFIG_USB_OTG is not set
1354# CONFIG_USB_OTG_WHITELIST is not set
1355# CONFIG_USB_OTG_BLACKLIST_HUB is not set
1356CONFIG_USB_MON=y 1393CONFIG_USB_MON=y
1357# CONFIG_USB_WUSB is not set 1394# CONFIG_USB_WUSB is not set
1358# CONFIG_USB_WUSB_CBAF is not set 1395# CONFIG_USB_WUSB_CBAF is not set
@@ -1433,7 +1470,6 @@ CONFIG_USB_STORAGE=y
1433# CONFIG_USB_RIO500 is not set 1470# CONFIG_USB_RIO500 is not set
1434# CONFIG_USB_LEGOTOWER is not set 1471# CONFIG_USB_LEGOTOWER is not set
1435# CONFIG_USB_LCD is not set 1472# CONFIG_USB_LCD is not set
1436# CONFIG_USB_BERRY_CHARGE is not set
1437# CONFIG_USB_LED is not set 1473# CONFIG_USB_LED is not set
1438# CONFIG_USB_CYPRESS_CY7C63 is not set 1474# CONFIG_USB_CYPRESS_CY7C63 is not set
1439# CONFIG_USB_CYTHERM is not set 1475# CONFIG_USB_CYTHERM is not set
@@ -1445,7 +1481,6 @@ CONFIG_USB_STORAGE=y
1445# CONFIG_USB_IOWARRIOR is not set 1481# CONFIG_USB_IOWARRIOR is not set
1446# CONFIG_USB_TEST is not set 1482# CONFIG_USB_TEST is not set
1447# CONFIG_USB_ISIGHTFW is not set 1483# CONFIG_USB_ISIGHTFW is not set
1448# CONFIG_USB_VST is not set
1449# CONFIG_USB_GADGET is not set 1484# CONFIG_USB_GADGET is not set
1450 1485
1451# 1486#
@@ -1636,6 +1671,7 @@ CONFIG_UBIFS_FS=m
1636CONFIG_UBIFS_FS_LZO=y 1671CONFIG_UBIFS_FS_LZO=y
1637CONFIG_UBIFS_FS_ZLIB=y 1672CONFIG_UBIFS_FS_ZLIB=y
1638# CONFIG_UBIFS_FS_DEBUG is not set 1673# CONFIG_UBIFS_FS_DEBUG is not set
1674# CONFIG_LOGFS is not set
1639CONFIG_CRAMFS=y 1675CONFIG_CRAMFS=y
1640# CONFIG_SQUASHFS is not set 1676# CONFIG_SQUASHFS is not set
1641# CONFIG_VXFS_FS is not set 1677# CONFIG_VXFS_FS is not set
@@ -1730,8 +1766,11 @@ CONFIG_CRC32=y
1730CONFIG_ZLIB_INFLATE=y 1766CONFIG_ZLIB_INFLATE=y
1731CONFIG_ZLIB_DEFLATE=y 1767CONFIG_ZLIB_DEFLATE=y
1732CONFIG_LZO_COMPRESS=m 1768CONFIG_LZO_COMPRESS=m
1733CONFIG_LZO_DECOMPRESS=m 1769CONFIG_LZO_DECOMPRESS=y
1734CONFIG_DECOMPRESS_GZIP=y 1770CONFIG_DECOMPRESS_GZIP=y
1771CONFIG_DECOMPRESS_BZIP2=y
1772CONFIG_DECOMPRESS_LZMA=y
1773CONFIG_DECOMPRESS_LZO=y
1735CONFIG_HAS_IOMEM=y 1774CONFIG_HAS_IOMEM=y
1736CONFIG_HAS_IOPORT=y 1775CONFIG_HAS_IOPORT=y
1737CONFIG_HAS_DMA=y 1776CONFIG_HAS_DMA=y
@@ -1776,11 +1815,11 @@ CONFIG_SCHED_DEBUG=y
1776# CONFIG_DEBUG_SPINLOCK_SLEEP is not set 1815# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1777# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set 1816# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1778# CONFIG_DEBUG_KOBJECT is not set 1817# CONFIG_DEBUG_KOBJECT is not set
1779# CONFIG_DEBUG_BUGVERBOSE is not set 1818CONFIG_DEBUG_BUGVERBOSE=y
1780CONFIG_DEBUG_INFO=y 1819CONFIG_DEBUG_INFO=y
1781# CONFIG_DEBUG_VM is not set 1820# CONFIG_DEBUG_VM is not set
1782# CONFIG_DEBUG_WRITECOUNT is not set 1821# CONFIG_DEBUG_WRITECOUNT is not set
1783# CONFIG_DEBUG_MEMORY_INIT is not set 1822CONFIG_DEBUG_MEMORY_INIT=y
1784# CONFIG_DEBUG_LIST is not set 1823# CONFIG_DEBUG_LIST is not set
1785# CONFIG_DEBUG_SG is not set 1824# CONFIG_DEBUG_SG is not set
1786# CONFIG_DEBUG_NOTIFIERS is not set 1825# CONFIG_DEBUG_NOTIFIERS is not set
diff --git a/arch/powerpc/configs/mpc7448_hpc2_defconfig b/arch/powerpc/configs/mpc7448_hpc2_defconfig
index 1315b775a6d2..b1e88fe1d9fb 100644
--- a/arch/powerpc/configs/mpc7448_hpc2_defconfig
+++ b/arch/powerpc/configs/mpc7448_hpc2_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.33-rc3 3# Linux kernel version: 2.6.34-rc5
4# Wed Jan 6 09:24:04 2010 4# Mon Apr 19 23:16:28 2010
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -94,14 +94,8 @@ CONFIG_RCU_FANOUT=32
94# CONFIG_TREE_RCU_TRACE is not set 94# CONFIG_TREE_RCU_TRACE is not set
95# CONFIG_IKCONFIG is not set 95# CONFIG_IKCONFIG is not set
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 98# CONFIG_SYSFS_DEPRECATED_V2 is not set
104CONFIG_SYSFS_DEPRECATED_V2=y
105# CONFIG_RELAY is not set 99# CONFIG_RELAY is not set
106# CONFIG_NAMESPACES is not set 100# CONFIG_NAMESPACES is not set
107CONFIG_BLK_DEV_INITRD=y 101CONFIG_BLK_DEV_INITRD=y
@@ -109,6 +103,7 @@ CONFIG_INITRAMFS_SOURCE=""
109CONFIG_RD_GZIP=y 103CONFIG_RD_GZIP=y
110# CONFIG_RD_BZIP2 is not set 104# CONFIG_RD_BZIP2 is not set
111# CONFIG_RD_LZMA is not set 105# CONFIG_RD_LZMA is not set
106# CONFIG_RD_LZO is not set
112# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 107# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
113CONFIG_SYSCTL=y 108CONFIG_SYSCTL=y
114CONFIG_ANON_INODES=y 109CONFIG_ANON_INODES=y
@@ -311,6 +306,7 @@ CONFIG_ISA_DMA_API=y
311# Bus options 306# Bus options
312# 307#
313CONFIG_ZONE_DMA=y 308CONFIG_ZONE_DMA=y
309# CONFIG_NEED_DMA_MAP_STATE is not set
314CONFIG_GENERIC_ISA_DMA=y 310CONFIG_GENERIC_ISA_DMA=y
315# CONFIG_PPC_INDIRECT_PCI is not set 311# CONFIG_PPC_INDIRECT_PCI is not set
316CONFIG_PCI=y 312CONFIG_PCI=y
@@ -319,7 +315,6 @@ CONFIG_PCI_SYSCALL=y
319# CONFIG_PCIEPORTBUS is not set 315# CONFIG_PCIEPORTBUS is not set
320CONFIG_ARCH_SUPPORTS_MSI=y 316CONFIG_ARCH_SUPPORTS_MSI=y
321# CONFIG_PCI_MSI is not set 317# CONFIG_PCI_MSI is not set
322# CONFIG_PCI_LEGACY is not set
323# CONFIG_PCI_STUB is not set 318# CONFIG_PCI_STUB is not set
324# CONFIG_PCI_IOV is not set 319# CONFIG_PCI_IOV is not set
325# CONFIG_PCCARD is not set 320# CONFIG_PCCARD is not set
@@ -345,7 +340,6 @@ CONFIG_NET=y
345# Networking options 340# Networking options
346# 341#
347CONFIG_PACKET=y 342CONFIG_PACKET=y
348# CONFIG_PACKET_MMAP is not set
349CONFIG_UNIX=y 343CONFIG_UNIX=y
350CONFIG_XFRM=y 344CONFIG_XFRM=y
351CONFIG_XFRM_USER=y 345CONFIG_XFRM_USER=y
@@ -440,6 +434,8 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
440# CONFIG_SYS_HYPERVISOR is not set 434# CONFIG_SYS_HYPERVISOR is not set
441# CONFIG_CONNECTOR is not set 435# CONFIG_CONNECTOR is not set
442# CONFIG_MTD is not set 436# CONFIG_MTD is not set
437CONFIG_OF_FLATTREE=y
438CONFIG_OF_DYNAMIC=y
443CONFIG_OF_DEVICE=y 439CONFIG_OF_DEVICE=y
444CONFIG_OF_MDIO=y 440CONFIG_OF_MDIO=y
445# CONFIG_PARPORT is not set 441# CONFIG_PARPORT is not set
@@ -484,6 +480,7 @@ CONFIG_HAVE_IDE=y
484# 480#
485# SCSI device support 481# SCSI device support
486# 482#
483CONFIG_SCSI_MOD=y
487# CONFIG_RAID_ATTRS is not set 484# CONFIG_RAID_ATTRS is not set
488CONFIG_SCSI=y 485CONFIG_SCSI=y
489CONFIG_SCSI_DMA=y 486CONFIG_SCSI_DMA=y
@@ -605,6 +602,7 @@ CONFIG_SATA_MV=y
605# CONFIG_PATA_IT821X is not set 602# CONFIG_PATA_IT821X is not set
606# CONFIG_PATA_IT8213 is not set 603# CONFIG_PATA_IT8213 is not set
607# CONFIG_PATA_JMICRON is not set 604# CONFIG_PATA_JMICRON is not set
605# CONFIG_PATA_LEGACY is not set
608# CONFIG_PATA_TRIFLEX is not set 606# CONFIG_PATA_TRIFLEX is not set
609# CONFIG_PATA_MARVELL is not set 607# CONFIG_PATA_MARVELL is not set
610# CONFIG_PATA_MPIIX is not set 608# CONFIG_PATA_MPIIX is not set
@@ -696,6 +694,7 @@ CONFIG_NET_PCI=y
696# CONFIG_PCNET32 is not set 694# CONFIG_PCNET32 is not set
697# CONFIG_AMD8111_ETH is not set 695# CONFIG_AMD8111_ETH is not set
698# CONFIG_ADAPTEC_STARFIRE is not set 696# CONFIG_ADAPTEC_STARFIRE is not set
697# CONFIG_KSZ884X_PCI is not set
699# CONFIG_B44 is not set 698# CONFIG_B44 is not set
700# CONFIG_FORCEDETH is not set 699# CONFIG_FORCEDETH is not set
701CONFIG_E100=y 700CONFIG_E100=y
@@ -750,6 +749,8 @@ CONFIG_NETDEV_10000=y
750# CONFIG_CHELSIO_T1 is not set 749# CONFIG_CHELSIO_T1 is not set
751CONFIG_CHELSIO_T3_DEPENDS=y 750CONFIG_CHELSIO_T3_DEPENDS=y
752# CONFIG_CHELSIO_T3 is not set 751# CONFIG_CHELSIO_T3 is not set
752CONFIG_CHELSIO_T4_DEPENDS=y
753# CONFIG_CHELSIO_T4 is not set
753# CONFIG_ENIC is not set 754# CONFIG_ENIC is not set
754# CONFIG_IXGBE is not set 755# CONFIG_IXGBE is not set
755# CONFIG_IXGB is not set 756# CONFIG_IXGB is not set
@@ -762,6 +763,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
762# CONFIG_MLX4_CORE is not set 763# CONFIG_MLX4_CORE is not set
763# CONFIG_TEHUTI is not set 764# CONFIG_TEHUTI is not set
764# CONFIG_BNX2X is not set 765# CONFIG_BNX2X is not set
766# CONFIG_QLCNIC is not set
765# CONFIG_QLGE is not set 767# CONFIG_QLGE is not set
766# CONFIG_SFC is not set 768# CONFIG_SFC is not set
767# CONFIG_BE2NET is not set 769# CONFIG_BE2NET is not set
@@ -846,6 +848,7 @@ CONFIG_SERIAL_CORE=y
846CONFIG_SERIAL_CORE_CONSOLE=y 848CONFIG_SERIAL_CORE_CONSOLE=y
847# CONFIG_SERIAL_JSM is not set 849# CONFIG_SERIAL_JSM is not set
848# CONFIG_SERIAL_OF_PLATFORM is not set 850# CONFIG_SERIAL_OF_PLATFORM is not set
851# CONFIG_SERIAL_TIMBERDALE is not set
849# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set 852# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set
850CONFIG_UNIX98_PTYS=y 853CONFIG_UNIX98_PTYS=y
851# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set 854# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
@@ -910,6 +913,7 @@ CONFIG_SSB_POSSIBLE=y
910# CONFIG_MFD_SM501 is not set 913# CONFIG_MFD_SM501 is not set
911# CONFIG_HTC_PASIC3 is not set 914# CONFIG_HTC_PASIC3 is not set
912# CONFIG_MFD_TMIO is not set 915# CONFIG_MFD_TMIO is not set
916# CONFIG_LPC_SCH is not set
913# CONFIG_REGULATOR is not set 917# CONFIG_REGULATOR is not set
914# CONFIG_MEDIA_SUPPORT is not set 918# CONFIG_MEDIA_SUPPORT is not set
915 919
@@ -918,6 +922,7 @@ CONFIG_SSB_POSSIBLE=y
918# 922#
919# CONFIG_AGP is not set 923# CONFIG_AGP is not set
920CONFIG_VGA_ARB=y 924CONFIG_VGA_ARB=y
925CONFIG_VGA_ARB_MAX_GPUS=16
921# CONFIG_DRM is not set 926# CONFIG_DRM is not set
922# CONFIG_VGASTATE is not set 927# CONFIG_VGASTATE is not set
923CONFIG_VIDEO_OUTPUT_CONTROL=y 928CONFIG_VIDEO_OUTPUT_CONTROL=y
@@ -1044,6 +1049,7 @@ CONFIG_MISC_FILESYSTEMS=y
1044# CONFIG_BEFS_FS is not set 1049# CONFIG_BEFS_FS is not set
1045# CONFIG_BFS_FS is not set 1050# CONFIG_BFS_FS is not set
1046# CONFIG_EFS_FS is not set 1051# CONFIG_EFS_FS is not set
1052# CONFIG_LOGFS is not set
1047# CONFIG_CRAMFS is not set 1053# CONFIG_CRAMFS is not set
1048# CONFIG_SQUASHFS is not set 1054# CONFIG_SQUASHFS is not set
1049# CONFIG_VXFS_FS is not set 1055# CONFIG_VXFS_FS is not set
@@ -1066,6 +1072,7 @@ CONFIG_SUNRPC=y
1066# CONFIG_RPCSEC_GSS_KRB5 is not set 1072# CONFIG_RPCSEC_GSS_KRB5 is not set
1067# CONFIG_RPCSEC_GSS_SPKM3 is not set 1073# CONFIG_RPCSEC_GSS_SPKM3 is not set
1068# CONFIG_SMB_FS is not set 1074# CONFIG_SMB_FS is not set
1075# CONFIG_CEPH_FS is not set
1069# CONFIG_CIFS is not set 1076# CONFIG_CIFS is not set
1070# CONFIG_NCP_FS is not set 1077# CONFIG_NCP_FS is not set
1071# CONFIG_CODA_FS is not set 1078# CONFIG_CODA_FS is not set
diff --git a/arch/powerpc/configs/mpc8272_ads_defconfig b/arch/powerpc/configs/mpc8272_ads_defconfig
index 9073778d3575..6875fb89377e 100644
--- a/arch/powerpc/configs/mpc8272_ads_defconfig
+++ b/arch/powerpc/configs/mpc8272_ads_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.33-rc3 3# Linux kernel version: 2.6.34-rc5
4# Wed Jan 6 09:24:05 2010 4# Mon Apr 19 23:16:29 2010
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -96,8 +96,7 @@ CONFIG_IKCONFIG=y
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 05bec4835687..bbe5ae61d979 100644
--- a/arch/powerpc/configs/mpc83xx_defconfig
+++ b/arch/powerpc/configs/mpc83xx_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.33-rc3 3# Linux kernel version: 2.6.34-rc5
4# Wed Jan 6 09:24:06 2010 4# Mon Apr 19 23:16:30 2010
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -98,14 +98,8 @@ CONFIG_RCU_FANOUT=32
98# CONFIG_TREE_RCU_TRACE is not set 98# CONFIG_TREE_RCU_TRACE is not set
99# CONFIG_IKCONFIG is not set 99# CONFIG_IKCONFIG is not set
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 8f35f8049c92..cfebef9f9123 100644
--- a/arch/powerpc/configs/mpc85xx_defconfig
+++ b/arch/powerpc/configs/mpc85xx_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.33-rc3 3# Linux kernel version: 2.6.34-rc5
4# Wed Jan 6 09:24:06 2010 4# Mon Apr 19 23:16:31 2010
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -68,6 +68,10 @@ CONFIG_ARCH_SUSPEND_POSSIBLE=y
68# CONFIG_PPC_DCR_NATIVE is not set 68# CONFIG_PPC_DCR_NATIVE is not set
69# CONFIG_PPC_DCR_MMIO is not set 69# CONFIG_PPC_DCR_MMIO is not set
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 8755ea3c7f5f..f5451d80f19b 100644
--- a/arch/powerpc/configs/mpc85xx_smp_defconfig
+++ b/arch/powerpc/configs/mpc85xx_smp_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.33-rc3 3# Linux kernel version: 2.6.34-rc5
4# Wed Jan 6 09:24:07 2010 4# Mon Apr 19 23:16:31 2010
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -69,6 +69,10 @@ CONFIG_ARCH_SUSPEND_POSSIBLE=y
69# CONFIG_PPC_DCR_NATIVE is not set 69# CONFIG_PPC_DCR_NATIVE is not set
70# CONFIG_PPC_DCR_MMIO is not set 70# CONFIG_PPC_DCR_MMIO is not set
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 3f6b11b6f4f3..d8d3d1d60c84 100644
--- a/arch/powerpc/configs/mpc866_ads_defconfig
+++ b/arch/powerpc/configs/mpc866_ads_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.33-rc3 3# Linux kernel version: 2.6.34-rc5
4# Wed Jan 6 09:24:08 2010 4# Mon Apr 19 23:16:32 2010
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -89,14 +89,8 @@ CONFIG_RCU_FANOUT=32
89# CONFIG_TREE_RCU_TRACE is not set 89# CONFIG_TREE_RCU_TRACE is not set
90# CONFIG_IKCONFIG is not set 90# CONFIG_IKCONFIG is not set
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 41884c97a4f3..624eae9a7e20 100644
--- a/arch/powerpc/configs/mpc86xx_defconfig
+++ b/arch/powerpc/configs/mpc86xx_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.33-rc3 3# Linux kernel version: 2.6.34-rc5
4# Wed Jan 6 09:24:09 2010 4# Mon Apr 19 23:16:33 2010
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -98,18 +98,13 @@ CONFIG_TREE_RCU=y
98# CONFIG_RCU_TRACE is not set 98# CONFIG_RCU_TRACE is not set
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 6b9e6bd2c98d..45bd499630d0 100644
--- a/arch/powerpc/configs/mpc885_ads_defconfig
+++ b/arch/powerpc/configs/mpc885_ads_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.33-rc3 3# Linux kernel version: 2.6.34-rc5
4# Wed Jan 6 09:24:10 2010 4# Mon Apr 19 23:16:34 2010
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -90,14 +90,8 @@ CONFIG_RCU_FANOUT=32
90# CONFIG_TREE_RCU_TRACE is not set 90# CONFIG_TREE_RCU_TRACE is not set
91# CONFIG_IKCONFIG is not set 91# CONFIG_IKCONFIG is not set
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/pasemi_defconfig b/arch/powerpc/configs/pasemi_defconfig
index 20ba0cfff8ba..74a7216183e8 100644
--- a/arch/powerpc/configs/pasemi_defconfig
+++ b/arch/powerpc/configs/pasemi_defconfig
@@ -98,8 +98,7 @@ CONFIG_RCU_FANOUT=64
98CONFIG_LOG_BUF_SHIFT=17 98CONFIG_LOG_BUF_SHIFT=17
99# CONFIG_GROUP_SCHED is not set 99# CONFIG_GROUP_SCHED is not set
100# CONFIG_CGROUPS is not set 100# CONFIG_CGROUPS is not set
101CONFIG_SYSFS_DEPRECATED=y 101# CONFIG_SYSFS_DEPRECATED_V2 is not set
102CONFIG_SYSFS_DEPRECATED_V2=y
103# CONFIG_RELAY is not set 102# CONFIG_RELAY is not set
104CONFIG_NAMESPACES=y 103CONFIG_NAMESPACES=y
105# CONFIG_UTS_NS is not set 104# CONFIG_UTS_NS is not set
diff --git a/arch/powerpc/configs/pmac32_defconfig b/arch/powerpc/configs/pmac32_defconfig
index ea8870a34482..753bb7912e28 100644
--- a/arch/powerpc/configs/pmac32_defconfig
+++ b/arch/powerpc/configs/pmac32_defconfig
@@ -93,8 +93,7 @@ CONFIG_IKCONFIG_PROC=y
93CONFIG_LOG_BUF_SHIFT=14 93CONFIG_LOG_BUF_SHIFT=14
94# CONFIG_GROUP_SCHED is not set 94# CONFIG_GROUP_SCHED is not set
95# CONFIG_CGROUPS is not set 95# CONFIG_CGROUPS is not set
96CONFIG_SYSFS_DEPRECATED=y 96# CONFIG_SYSFS_DEPRECATED_V2 is not set
97CONFIG_SYSFS_DEPRECATED_V2=y
98# CONFIG_RELAY is not set 97# CONFIG_RELAY is not set
99CONFIG_NAMESPACES=y 98CONFIG_NAMESPACES=y
100# CONFIG_UTS_NS is not set 99# CONFIG_UTS_NS is not set
diff --git a/arch/powerpc/configs/ppc40x_defconfig b/arch/powerpc/configs/ppc40x_defconfig
index 326205cabf77..afb4d1bb2ba9 100644
--- a/arch/powerpc/configs/ppc40x_defconfig
+++ b/arch/powerpc/configs/ppc40x_defconfig
@@ -1,14 +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.29-rc2 3# Linux kernel version: 2.6.33-rc1
4# Fri Jan 23 08:44:03 2009 4# Mon Jan 4 13:54:06 2010
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
8# 8#
9# Processor support 9# Processor support
10# 10#
11# CONFIG_6xx is not set 11# CONFIG_PPC_BOOK3S_32 is not set
12# CONFIG_PPC_85xx is not set 12# CONFIG_PPC_85xx is not set
13# CONFIG_PPC_8xx is not set 13# CONFIG_PPC_8xx is not set
14CONFIG_40x=y 14CONFIG_40x=y
@@ -16,6 +16,7 @@ CONFIG_40x=y
16# CONFIG_E200 is not set 16# CONFIG_E200 is not set
17CONFIG_4xx=y 17CONFIG_4xx=y
18CONFIG_PPC_MMU_NOHASH=y 18CONFIG_PPC_MMU_NOHASH=y
19CONFIG_PPC_MMU_NOHASH_32=y
19# CONFIG_PPC_MM_SLICES is not set 20# CONFIG_PPC_MM_SLICES is not set
20CONFIG_NOT_COHERENT_CACHE=y 21CONFIG_NOT_COHERENT_CACHE=y
21CONFIG_PPC32=y 22CONFIG_PPC32=y
@@ -27,15 +28,18 @@ CONFIG_GENERIC_TIME=y
27CONFIG_GENERIC_TIME_VSYSCALL=y 28CONFIG_GENERIC_TIME_VSYSCALL=y
28CONFIG_GENERIC_CLOCKEVENTS=y 29CONFIG_GENERIC_CLOCKEVENTS=y
29CONFIG_GENERIC_HARDIRQS=y 30CONFIG_GENERIC_HARDIRQS=y
31CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
30# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 32# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
33# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
31CONFIG_IRQ_PER_CPU=y 34CONFIG_IRQ_PER_CPU=y
35CONFIG_NR_IRQS=512
32CONFIG_STACKTRACE_SUPPORT=y 36CONFIG_STACKTRACE_SUPPORT=y
33CONFIG_HAVE_LATENCYTOP_SUPPORT=y 37CONFIG_HAVE_LATENCYTOP_SUPPORT=y
38CONFIG_TRACE_IRQFLAGS_SUPPORT=y
34CONFIG_LOCKDEP_SUPPORT=y 39CONFIG_LOCKDEP_SUPPORT=y
35CONFIG_RWSEM_XCHGADD_ALGORITHM=y 40CONFIG_RWSEM_XCHGADD_ALGORITHM=y
36CONFIG_ARCH_HAS_ILOG2_U32=y 41CONFIG_ARCH_HAS_ILOG2_U32=y
37CONFIG_GENERIC_HWEIGHT=y 42CONFIG_GENERIC_HWEIGHT=y
38CONFIG_GENERIC_CALIBRATE_DELAY=y
39CONFIG_GENERIC_FIND_NEXT_BIT=y 43CONFIG_GENERIC_FIND_NEXT_BIT=y
40CONFIG_GENERIC_GPIO=y 44CONFIG_GENERIC_GPIO=y
41# CONFIG_ARCH_NO_VIRT_TO_BUS is not set 45# CONFIG_ARCH_NO_VIRT_TO_BUS is not set
@@ -50,11 +54,15 @@ CONFIG_PPC_UDBG_16550=y
50# CONFIG_GENERIC_TBSYNC is not set 54# CONFIG_GENERIC_TBSYNC is not set
51CONFIG_AUDIT_ARCH=y 55CONFIG_AUDIT_ARCH=y
52CONFIG_GENERIC_BUG=y 56CONFIG_GENERIC_BUG=y
53# CONFIG_DEFAULT_UIMAGE is not set 57CONFIG_DTC=y
58CONFIG_DEFAULT_UIMAGE=y
59CONFIG_ARCH_HIBERNATION_POSSIBLE=y
54CONFIG_PPC_DCR_NATIVE=y 60CONFIG_PPC_DCR_NATIVE=y
55# CONFIG_PPC_DCR_MMIO is not set 61# CONFIG_PPC_DCR_MMIO is not set
56CONFIG_PPC_DCR=y 62CONFIG_PPC_DCR=y
63CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
57CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 64CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
65CONFIG_CONSTRUCTORS=y
58 66
59# 67#
60# General setup 68# General setup
@@ -68,9 +76,21 @@ CONFIG_SWAP=y
68CONFIG_SYSVIPC=y 76CONFIG_SYSVIPC=y
69CONFIG_SYSVIPC_SYSCTL=y 77CONFIG_SYSVIPC_SYSCTL=y
70CONFIG_POSIX_MQUEUE=y 78CONFIG_POSIX_MQUEUE=y
79CONFIG_POSIX_MQUEUE_SYSCTL=y
71# CONFIG_BSD_PROCESS_ACCT is not set 80# CONFIG_BSD_PROCESS_ACCT is not set
72# CONFIG_TASKSTATS is not set 81# CONFIG_TASKSTATS is not set
73# CONFIG_AUDIT is not set 82# CONFIG_AUDIT is not set
83
84#
85# RCU Subsystem
86#
87CONFIG_TREE_RCU=y
88# CONFIG_TREE_PREEMPT_RCU is not set
89# CONFIG_TINY_RCU is not set
90# CONFIG_RCU_TRACE is not set
91CONFIG_RCU_FANOUT=32
92# CONFIG_RCU_FANOUT_EXACT is not set
93# CONFIG_TREE_RCU_TRACE is not set
74# CONFIG_IKCONFIG is not set 94# CONFIG_IKCONFIG is not set
75CONFIG_LOG_BUF_SHIFT=14 95CONFIG_LOG_BUF_SHIFT=14
76CONFIG_GROUP_SCHED=y 96CONFIG_GROUP_SCHED=y
@@ -79,37 +99,45 @@ CONFIG_FAIR_GROUP_SCHED=y
79CONFIG_USER_SCHED=y 99CONFIG_USER_SCHED=y
80# CONFIG_CGROUP_SCHED is not set 100# CONFIG_CGROUP_SCHED is not set
81# CONFIG_CGROUPS is not set 101# CONFIG_CGROUPS is not set
82CONFIG_SYSFS_DEPRECATED=y 102# CONFIG_SYSFS_DEPRECATED_V2 is not set
83CONFIG_SYSFS_DEPRECATED_V2=y
84# CONFIG_RELAY is not set 103# CONFIG_RELAY is not set
85# CONFIG_NAMESPACES is not set 104# CONFIG_NAMESPACES is not set
86CONFIG_BLK_DEV_INITRD=y 105CONFIG_BLK_DEV_INITRD=y
87CONFIG_INITRAMFS_SOURCE="" 106CONFIG_INITRAMFS_SOURCE=""
107CONFIG_RD_GZIP=y
108# CONFIG_RD_BZIP2 is not set
109# CONFIG_RD_LZMA is not set
88# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 110# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
89CONFIG_SYSCTL=y 111CONFIG_SYSCTL=y
112CONFIG_ANON_INODES=y
90CONFIG_EMBEDDED=y 113CONFIG_EMBEDDED=y
91CONFIG_SYSCTL_SYSCALL=y 114CONFIG_SYSCTL_SYSCALL=y
92CONFIG_KALLSYMS=y 115CONFIG_KALLSYMS=y
93CONFIG_KALLSYMS_ALL=y 116CONFIG_KALLSYMS_ALL=y
94CONFIG_KALLSYMS_STRIP_GENERATED=y
95CONFIG_KALLSYMS_EXTRA_PASS=y 117CONFIG_KALLSYMS_EXTRA_PASS=y
96CONFIG_HOTPLUG=y 118CONFIG_HOTPLUG=y
97CONFIG_PRINTK=y 119CONFIG_PRINTK=y
98CONFIG_BUG=y 120CONFIG_BUG=y
99CONFIG_ELF_CORE=y 121CONFIG_ELF_CORE=y
100CONFIG_COMPAT_BRK=y
101CONFIG_BASE_FULL=y 122CONFIG_BASE_FULL=y
102CONFIG_FUTEX=y 123CONFIG_FUTEX=y
103CONFIG_ANON_INODES=y
104CONFIG_EPOLL=y 124CONFIG_EPOLL=y
105CONFIG_SIGNALFD=y 125CONFIG_SIGNALFD=y
106CONFIG_TIMERFD=y 126CONFIG_TIMERFD=y
107CONFIG_EVENTFD=y 127CONFIG_EVENTFD=y
108CONFIG_SHMEM=y 128CONFIG_SHMEM=y
109CONFIG_AIO=y 129CONFIG_AIO=y
130CONFIG_HAVE_PERF_EVENTS=y
131
132#
133# Kernel Performance Events And Counters
134#
135# CONFIG_PERF_EVENTS is not set
136# CONFIG_PERF_COUNTERS is not set
110CONFIG_VM_EVENT_COUNTERS=y 137CONFIG_VM_EVENT_COUNTERS=y
111CONFIG_PCI_QUIRKS=y 138CONFIG_PCI_QUIRKS=y
112CONFIG_SLUB_DEBUG=y 139CONFIG_SLUB_DEBUG=y
140CONFIG_COMPAT_BRK=y
113# CONFIG_SLAB is not set 141# CONFIG_SLAB is not set
114CONFIG_SLUB=y 142CONFIG_SLUB=y
115# CONFIG_SLOB is not set 143# CONFIG_SLOB is not set
@@ -121,6 +149,14 @@ CONFIG_HAVE_IOREMAP_PROT=y
121CONFIG_HAVE_KPROBES=y 149CONFIG_HAVE_KPROBES=y
122CONFIG_HAVE_KRETPROBES=y 150CONFIG_HAVE_KRETPROBES=y
123CONFIG_HAVE_ARCH_TRACEHOOK=y 151CONFIG_HAVE_ARCH_TRACEHOOK=y
152CONFIG_HAVE_DMA_ATTRS=y
153CONFIG_HAVE_DMA_API_DEBUG=y
154
155#
156# GCOV-based kernel profiling
157#
158# CONFIG_GCOV_KERNEL is not set
159# CONFIG_SLOW_WORK is not set
124# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 160# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
125CONFIG_SLABINFO=y 161CONFIG_SLABINFO=y
126CONFIG_RT_MUTEXES=y 162CONFIG_RT_MUTEXES=y
@@ -132,8 +168,7 @@ CONFIG_MODULE_UNLOAD=y
132# CONFIG_MODVERSIONS is not set 168# CONFIG_MODVERSIONS is not set
133# CONFIG_MODULE_SRCVERSION_ALL is not set 169# CONFIG_MODULE_SRCVERSION_ALL is not set
134CONFIG_BLOCK=y 170CONFIG_BLOCK=y
135CONFIG_LBD=y 171CONFIG_LBDAF=y
136# CONFIG_BLK_DEV_IO_TRACE is not set
137# CONFIG_BLK_DEV_BSG is not set 172# CONFIG_BLK_DEV_BSG is not set
138# CONFIG_BLK_DEV_INTEGRITY is not set 173# CONFIG_BLK_DEV_INTEGRITY is not set
139 174
@@ -141,19 +176,41 @@ CONFIG_LBD=y
141# IO Schedulers 176# IO Schedulers
142# 177#
143CONFIG_IOSCHED_NOOP=y 178CONFIG_IOSCHED_NOOP=y
144CONFIG_IOSCHED_AS=y
145CONFIG_IOSCHED_DEADLINE=y 179CONFIG_IOSCHED_DEADLINE=y
146CONFIG_IOSCHED_CFQ=y 180CONFIG_IOSCHED_CFQ=y
147CONFIG_DEFAULT_AS=y
148# CONFIG_DEFAULT_DEADLINE is not set 181# CONFIG_DEFAULT_DEADLINE is not set
149# CONFIG_DEFAULT_CFQ is not set 182CONFIG_DEFAULT_CFQ=y
150# CONFIG_DEFAULT_NOOP is not set 183# CONFIG_DEFAULT_NOOP is not set
151CONFIG_DEFAULT_IOSCHED="anticipatory" 184CONFIG_DEFAULT_IOSCHED="cfq"
152CONFIG_CLASSIC_RCU=y 185# CONFIG_INLINE_SPIN_TRYLOCK is not set
153# CONFIG_TREE_RCU is not set 186# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
154# CONFIG_PREEMPT_RCU is not set 187# CONFIG_INLINE_SPIN_LOCK is not set
155# CONFIG_TREE_RCU_TRACE is not set 188# CONFIG_INLINE_SPIN_LOCK_BH is not set
156# CONFIG_PREEMPT_RCU_TRACE is not set 189# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
190# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
191CONFIG_INLINE_SPIN_UNLOCK=y
192# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
193CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
194# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
195# CONFIG_INLINE_READ_TRYLOCK is not set
196# CONFIG_INLINE_READ_LOCK is not set
197# CONFIG_INLINE_READ_LOCK_BH is not set
198# CONFIG_INLINE_READ_LOCK_IRQ is not set
199# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
200CONFIG_INLINE_READ_UNLOCK=y
201# CONFIG_INLINE_READ_UNLOCK_BH is not set
202CONFIG_INLINE_READ_UNLOCK_IRQ=y
203# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
204# CONFIG_INLINE_WRITE_TRYLOCK is not set
205# CONFIG_INLINE_WRITE_LOCK is not set
206# CONFIG_INLINE_WRITE_LOCK_BH is not set
207# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
208# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
209CONFIG_INLINE_WRITE_UNLOCK=y
210# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
211CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
212# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
213# CONFIG_MUTEX_SPIN_ON_OWNER is not set
157# CONFIG_FREEZER is not set 214# CONFIG_FREEZER is not set
158CONFIG_PPC4xx_PCI_EXPRESS=y 215CONFIG_PPC4xx_PCI_EXPRESS=y
159 216
@@ -168,12 +225,14 @@ CONFIG_XILINX_VIRTEX=y
168CONFIG_ACADIA=y 225CONFIG_ACADIA=y
169CONFIG_EP405=y 226CONFIG_EP405=y
170CONFIG_HCU4=y 227CONFIG_HCU4=y
228CONFIG_HOTFOOT=y
171CONFIG_KILAUEA=y 229CONFIG_KILAUEA=y
172CONFIG_MAKALU=y 230CONFIG_MAKALU=y
173CONFIG_WALNUT=y 231CONFIG_WALNUT=y
174CONFIG_XILINX_VIRTEX_GENERIC_BOARD=y 232CONFIG_XILINX_VIRTEX_GENERIC_BOARD=y
175CONFIG_PPC40x_SIMPLE=y 233CONFIG_PPC40x_SIMPLE=y
176CONFIG_405GP=y 234CONFIG_405GP=y
235CONFIG_405EP=y
177CONFIG_405EX=y 236CONFIG_405EX=y
178CONFIG_405EZ=y 237CONFIG_405EZ=y
179CONFIG_405GPR=y 238CONFIG_405GPR=y
@@ -195,6 +254,7 @@ CONFIG_IBM405_ERR51=y
195# CONFIG_FSL_ULI1575 is not set 254# CONFIG_FSL_ULI1575 is not set
196CONFIG_OF_RTC=y 255CONFIG_OF_RTC=y
197# CONFIG_SIMPLE_GPIO is not set 256# CONFIG_SIMPLE_GPIO is not set
257# CONFIG_XILINX_PCI is not set
198 258
199# 259#
200# Kernel options 260# Kernel options
@@ -218,10 +278,12 @@ CONFIG_BINFMT_ELF=y
218# CONFIG_BINFMT_MISC is not set 278# CONFIG_BINFMT_MISC is not set
219# CONFIG_MATH_EMULATION is not set 279# CONFIG_MATH_EMULATION is not set
220# CONFIG_IOMMU_HELPER is not set 280# CONFIG_IOMMU_HELPER is not set
221CONFIG_PPC_NEED_DMA_SYNC_OPS=y 281# CONFIG_SWIOTLB is not set
222CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 282CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
223CONFIG_ARCH_HAS_WALK_MEMORY=y 283CONFIG_ARCH_HAS_WALK_MEMORY=y
224CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 284CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
285CONFIG_SPARSE_IRQ=y
286CONFIG_MAX_ACTIVE_REGIONS=32
225CONFIG_ARCH_FLATMEM_ENABLE=y 287CONFIG_ARCH_FLATMEM_ENABLE=y
226CONFIG_ARCH_POPULATES_NODE_MAP=y 288CONFIG_ARCH_POPULATES_NODE_MAP=y
227CONFIG_SELECT_MEMORY_MODEL=y 289CONFIG_SELECT_MEMORY_MODEL=y
@@ -237,10 +299,12 @@ CONFIG_MIGRATION=y
237CONFIG_ZONE_DMA_FLAG=1 299CONFIG_ZONE_DMA_FLAG=1
238CONFIG_BOUNCE=y 300CONFIG_BOUNCE=y
239CONFIG_VIRT_TO_BUS=y 301CONFIG_VIRT_TO_BUS=y
240CONFIG_UNEVICTABLE_LRU=y 302# CONFIG_KSM is not set
303CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
241CONFIG_PPC_4K_PAGES=y 304CONFIG_PPC_4K_PAGES=y
242# CONFIG_PPC_16K_PAGES is not set 305# CONFIG_PPC_16K_PAGES is not set
243# CONFIG_PPC_64K_PAGES is not set 306# CONFIG_PPC_64K_PAGES is not set
307# CONFIG_PPC_256K_PAGES is not set
244CONFIG_FORCE_MAX_ZONEORDER=11 308CONFIG_FORCE_MAX_ZONEORDER=11
245CONFIG_PROC_DEVICETREE=y 309CONFIG_PROC_DEVICETREE=y
246# CONFIG_CMDLINE_BOOL is not set 310# CONFIG_CMDLINE_BOOL is not set
@@ -265,6 +329,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
265# CONFIG_PCI_LEGACY is not set 329# CONFIG_PCI_LEGACY is not set
266# CONFIG_PCI_DEBUG is not set 330# CONFIG_PCI_DEBUG is not set
267# CONFIG_PCI_STUB is not set 331# CONFIG_PCI_STUB is not set
332# CONFIG_PCI_IOV is not set
268# CONFIG_PCCARD is not set 333# CONFIG_PCCARD is not set
269# CONFIG_HOTPLUG_PCI is not set 334# CONFIG_HOTPLUG_PCI is not set
270# CONFIG_HAS_RAPIDIO is not set 335# CONFIG_HAS_RAPIDIO is not set
@@ -282,14 +347,12 @@ CONFIG_PAGE_OFFSET=0xc0000000
282CONFIG_KERNEL_START=0xc0000000 347CONFIG_KERNEL_START=0xc0000000
283CONFIG_PHYSICAL_START=0x00000000 348CONFIG_PHYSICAL_START=0x00000000
284CONFIG_TASK_SIZE=0xc0000000 349CONFIG_TASK_SIZE=0xc0000000
285CONFIG_CONSISTENT_START=0xff100000
286CONFIG_CONSISTENT_SIZE=0x00200000 350CONFIG_CONSISTENT_SIZE=0x00200000
287CONFIG_NET=y 351CONFIG_NET=y
288 352
289# 353#
290# Networking options 354# Networking options
291# 355#
292CONFIG_COMPAT_NET_DEV_OPS=y
293CONFIG_PACKET=y 356CONFIG_PACKET=y
294# CONFIG_PACKET_MMAP is not set 357# CONFIG_PACKET_MMAP is not set
295CONFIG_UNIX=y 358CONFIG_UNIX=y
@@ -341,6 +404,7 @@ CONFIG_INET6_XFRM_MODE_TUNNEL=m
341CONFIG_INET6_XFRM_MODE_BEET=m 404CONFIG_INET6_XFRM_MODE_BEET=m
342# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set 405# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
343CONFIG_IPV6_SIT=m 406CONFIG_IPV6_SIT=m
407# CONFIG_IPV6_SIT_6RD is not set
344CONFIG_IPV6_NDISC_NODETYPE=y 408CONFIG_IPV6_NDISC_NODETYPE=y
345# CONFIG_IPV6_TUNNEL is not set 409# CONFIG_IPV6_TUNNEL is not set
346# CONFIG_IPV6_MULTIPLE_TABLES is not set 410# CONFIG_IPV6_MULTIPLE_TABLES is not set
@@ -349,6 +413,7 @@ CONFIG_IPV6_NDISC_NODETYPE=y
349# CONFIG_NETFILTER is not set 413# CONFIG_NETFILTER is not set
350# CONFIG_IP_DCCP is not set 414# CONFIG_IP_DCCP is not set
351# CONFIG_IP_SCTP is not set 415# CONFIG_IP_SCTP is not set
416# CONFIG_RDS is not set
352# CONFIG_TIPC is not set 417# CONFIG_TIPC is not set
353# CONFIG_ATM is not set 418# CONFIG_ATM is not set
354# CONFIG_BRIDGE is not set 419# CONFIG_BRIDGE is not set
@@ -362,6 +427,8 @@ CONFIG_IPV6_NDISC_NODETYPE=y
362# CONFIG_LAPB is not set 427# CONFIG_LAPB is not set
363# CONFIG_ECONET is not set 428# CONFIG_ECONET is not set
364# CONFIG_WAN_ROUTER is not set 429# CONFIG_WAN_ROUTER is not set
430# CONFIG_PHONET is not set
431# CONFIG_IEEE802154 is not set
365# CONFIG_NET_SCHED is not set 432# CONFIG_NET_SCHED is not set
366# CONFIG_DCB is not set 433# CONFIG_DCB is not set
367 434
@@ -374,13 +441,13 @@ CONFIG_IPV6_NDISC_NODETYPE=y
374# CONFIG_IRDA is not set 441# CONFIG_IRDA is not set
375# CONFIG_BT is not set 442# CONFIG_BT is not set
376# CONFIG_AF_RXRPC is not set 443# CONFIG_AF_RXRPC is not set
377# CONFIG_PHONET is not set
378CONFIG_WIRELESS=y 444CONFIG_WIRELESS=y
379# CONFIG_CFG80211 is not set 445# CONFIG_CFG80211 is not set
380CONFIG_WIRELESS_OLD_REGULATORY=y
381# CONFIG_WIRELESS_EXT is not set
382# CONFIG_LIB80211 is not set 446# CONFIG_LIB80211 is not set
383# CONFIG_MAC80211 is not set 447
448#
449# CFG80211 needs to be enabled for MAC80211
450#
384# CONFIG_WIMAX is not set 451# CONFIG_WIMAX is not set
385# CONFIG_RFKILL is not set 452# CONFIG_RFKILL is not set
386# CONFIG_NET_9P is not set 453# CONFIG_NET_9P is not set
@@ -393,6 +460,7 @@ CONFIG_WIRELESS_OLD_REGULATORY=y
393# Generic Driver Options 460# Generic Driver Options
394# 461#
395CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 462CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
463# CONFIG_DEVTMPFS is not set
396CONFIG_STANDALONE=y 464CONFIG_STANDALONE=y
397CONFIG_PREVENT_FIRMWARE_BUILD=y 465CONFIG_PREVENT_FIRMWARE_BUILD=y
398CONFIG_FW_LOADER=y 466CONFIG_FW_LOADER=y
@@ -405,9 +473,9 @@ CONFIG_CONNECTOR=y
405CONFIG_PROC_EVENTS=y 473CONFIG_PROC_EVENTS=y
406CONFIG_MTD=y 474CONFIG_MTD=y
407# CONFIG_MTD_DEBUG is not set 475# CONFIG_MTD_DEBUG is not set
476# CONFIG_MTD_TESTS is not set
408# CONFIG_MTD_CONCAT is not set 477# CONFIG_MTD_CONCAT is not set
409CONFIG_MTD_PARTITIONS=y 478CONFIG_MTD_PARTITIONS=y
410# CONFIG_MTD_TESTS is not set
411# CONFIG_MTD_REDBOOT_PARTS is not set 479# CONFIG_MTD_REDBOOT_PARTS is not set
412CONFIG_MTD_CMDLINE_PARTS=y 480CONFIG_MTD_CMDLINE_PARTS=y
413CONFIG_MTD_OF_PARTS=y 481CONFIG_MTD_OF_PARTS=y
@@ -483,7 +551,6 @@ CONFIG_MTD_PHYSMAP_OF=y
483# LPDDR flash memory drivers 551# LPDDR flash memory drivers
484# 552#
485# CONFIG_MTD_LPDDR is not set 553# CONFIG_MTD_LPDDR is not set
486# CONFIG_MTD_QINFO_PROBE is not set
487 554
488# 555#
489# UBI - Unsorted block images 556# UBI - Unsorted block images
@@ -491,7 +558,7 @@ CONFIG_MTD_PHYSMAP_OF=y
491CONFIG_MTD_UBI=m 558CONFIG_MTD_UBI=m
492CONFIG_MTD_UBI_WL_THRESHOLD=4096 559CONFIG_MTD_UBI_WL_THRESHOLD=4096
493CONFIG_MTD_UBI_BEB_RESERVE=1 560CONFIG_MTD_UBI_BEB_RESERVE=1
494CONFIG_MTD_UBI_GLUEBI=y 561CONFIG_MTD_UBI_GLUEBI=m
495 562
496# 563#
497# UBI debugging options 564# UBI debugging options
@@ -509,6 +576,7 @@ CONFIG_BLK_DEV=y
509# CONFIG_BLK_DEV_UMEM is not set 576# CONFIG_BLK_DEV_UMEM is not set
510# CONFIG_BLK_DEV_COW_COMMON is not set 577# CONFIG_BLK_DEV_COW_COMMON is not set
511# CONFIG_BLK_DEV_LOOP is not set 578# CONFIG_BLK_DEV_LOOP is not set
579# CONFIG_BLK_DEV_DRBD is not set
512# CONFIG_BLK_DEV_NBD is not set 580# CONFIG_BLK_DEV_NBD is not set
513# CONFIG_BLK_DEV_SX8 is not set 581# CONFIG_BLK_DEV_SX8 is not set
514CONFIG_BLK_DEV_RAM=y 582CONFIG_BLK_DEV_RAM=y
@@ -520,14 +588,25 @@ CONFIG_BLK_DEV_RAM_SIZE=35000
520CONFIG_XILINX_SYSACE=m 588CONFIG_XILINX_SYSACE=m
521# CONFIG_BLK_DEV_HD is not set 589# CONFIG_BLK_DEV_HD is not set
522CONFIG_MISC_DEVICES=y 590CONFIG_MISC_DEVICES=y
591# CONFIG_AD525X_DPOT is not set
523# CONFIG_PHANTOM is not set 592# CONFIG_PHANTOM is not set
524# CONFIG_EEPROM_93CX6 is not set
525# CONFIG_SGI_IOC4 is not set 593# CONFIG_SGI_IOC4 is not set
526# CONFIG_TIFM_CORE is not set 594# CONFIG_TIFM_CORE is not set
527# CONFIG_ICS932S401 is not set 595# CONFIG_ICS932S401 is not set
528# CONFIG_ENCLOSURE_SERVICES is not set 596# CONFIG_ENCLOSURE_SERVICES is not set
529# CONFIG_HP_ILO is not set 597# CONFIG_HP_ILO is not set
598# CONFIG_ISL29003 is not set
599# CONFIG_DS1682 is not set
530# CONFIG_C2PORT is not set 600# CONFIG_C2PORT is not set
601
602#
603# EEPROM support
604#
605# CONFIG_EEPROM_AT24 is not set
606# CONFIG_EEPROM_LEGACY is not set
607# CONFIG_EEPROM_MAX6875 is not set
608# CONFIG_EEPROM_93CX6 is not set
609# CONFIG_CB710_CORE is not set
531CONFIG_HAVE_IDE=y 610CONFIG_HAVE_IDE=y
532# CONFIG_IDE is not set 611# CONFIG_IDE is not set
533 612
@@ -547,7 +626,11 @@ CONFIG_HAVE_IDE=y
547# 626#
548 627
549# 628#
550# Enable only one of the two stacks, unless you know what you are doing 629# You can enable one or both FireWire driver stacks.
630#
631
632#
633# See the help texts for more information.
551# 634#
552# CONFIG_FIREWIRE is not set 635# CONFIG_FIREWIRE is not set
553# CONFIG_IEEE1394 is not set 636# CONFIG_IEEE1394 is not set
@@ -568,6 +651,8 @@ CONFIG_NET_ETHERNET=y
568# CONFIG_SUNGEM is not set 651# CONFIG_SUNGEM is not set
569# CONFIG_CASSINI is not set 652# CONFIG_CASSINI is not set
570# CONFIG_NET_VENDOR_3COM is not set 653# CONFIG_NET_VENDOR_3COM is not set
654# CONFIG_ETHOC is not set
655# CONFIG_DNET is not set
571# CONFIG_NET_TULIP is not set 656# CONFIG_NET_TULIP is not set
572# CONFIG_HP100 is not set 657# CONFIG_HP100 is not set
573CONFIG_IBM_NEW_EMAC=y 658CONFIG_IBM_NEW_EMAC=y
@@ -586,7 +671,10 @@ CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT=y
586CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR=y 671CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR=y
587# CONFIG_NET_PCI is not set 672# CONFIG_NET_PCI is not set
588# CONFIG_B44 is not set 673# CONFIG_B44 is not set
674# CONFIG_KS8842 is not set
675# CONFIG_KS8851_MLL is not set
589# CONFIG_ATL2 is not set 676# CONFIG_ATL2 is not set
677# CONFIG_XILINX_EMACLITE is not set
590CONFIG_NETDEV_1000=y 678CONFIG_NETDEV_1000=y
591# CONFIG_ACENIC is not set 679# CONFIG_ACENIC is not set
592# CONFIG_DL2K is not set 680# CONFIG_DL2K is not set
@@ -594,6 +682,7 @@ CONFIG_NETDEV_1000=y
594# CONFIG_E1000E is not set 682# CONFIG_E1000E is not set
595# CONFIG_IP1000 is not set 683# CONFIG_IP1000 is not set
596# CONFIG_IGB is not set 684# CONFIG_IGB is not set
685# CONFIG_IGBVF is not set
597# CONFIG_NS83820 is not set 686# CONFIG_NS83820 is not set
598# CONFIG_HAMACHI is not set 687# CONFIG_HAMACHI is not set
599# CONFIG_YELLOWFIN is not set 688# CONFIG_YELLOWFIN is not set
@@ -604,9 +693,13 @@ CONFIG_NETDEV_1000=y
604# CONFIG_VIA_VELOCITY is not set 693# CONFIG_VIA_VELOCITY is not set
605# CONFIG_TIGON3 is not set 694# CONFIG_TIGON3 is not set
606# CONFIG_BNX2 is not set 695# CONFIG_BNX2 is not set
696# CONFIG_CNIC is not set
697# CONFIG_MV643XX_ETH is not set
698# CONFIG_XILINX_LL_TEMAC is not set
607# CONFIG_QLA3XXX is not set 699# CONFIG_QLA3XXX is not set
608# CONFIG_ATL1 is not set 700# CONFIG_ATL1 is not set
609# CONFIG_ATL1E is not set 701# CONFIG_ATL1E is not set
702# CONFIG_ATL1C is not set
610# CONFIG_JME is not set 703# CONFIG_JME is not set
611CONFIG_NETDEV_10000=y 704CONFIG_NETDEV_10000=y
612# CONFIG_CHELSIO_T1 is not set 705# CONFIG_CHELSIO_T1 is not set
@@ -616,6 +709,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
616# CONFIG_IXGBE is not set 709# CONFIG_IXGBE is not set
617# CONFIG_IXGB is not set 710# CONFIG_IXGB is not set
618# CONFIG_S2IO is not set 711# CONFIG_S2IO is not set
712# CONFIG_VXGE is not set
619# CONFIG_MYRI10GE is not set 713# CONFIG_MYRI10GE is not set
620# CONFIG_NETXEN_NIC is not set 714# CONFIG_NETXEN_NIC is not set
621# CONFIG_NIU is not set 715# CONFIG_NIU is not set
@@ -625,14 +719,13 @@ CONFIG_CHELSIO_T3_DEPENDS=y
625# CONFIG_BNX2X is not set 719# CONFIG_BNX2X is not set
626# CONFIG_QLGE is not set 720# CONFIG_QLGE is not set
627# CONFIG_SFC is not set 721# CONFIG_SFC is not set
722# CONFIG_BE2NET is not set
628# CONFIG_TR is not set 723# CONFIG_TR is not set
629 724CONFIG_WLAN=y
630# 725# CONFIG_AIRO is not set
631# Wireless LAN 726# CONFIG_ATMEL is not set
632# 727# CONFIG_PRISM54 is not set
633# CONFIG_WLAN_PRE80211 is not set 728# CONFIG_HOSTAP is not set
634# CONFIG_WLAN_80211 is not set
635# CONFIG_IWLWIFI_LEDS is not set
636 729
637# 730#
638# Enable WiMAX (Networking options) to see the WiMAX drivers 731# Enable WiMAX (Networking options) to see the WiMAX drivers
@@ -645,6 +738,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
645# CONFIG_NETCONSOLE is not set 738# CONFIG_NETCONSOLE is not set
646# CONFIG_NETPOLL is not set 739# CONFIG_NETPOLL is not set
647# CONFIG_NET_POLL_CONTROLLER is not set 740# CONFIG_NET_POLL_CONTROLLER is not set
741# CONFIG_VMXNET3 is not set
648# CONFIG_ISDN is not set 742# CONFIG_ISDN is not set
649# CONFIG_PHONE is not set 743# CONFIG_PHONE is not set
650 744
@@ -663,6 +757,7 @@ CONFIG_SERIO=m
663# CONFIG_SERIO_LIBPS2 is not set 757# CONFIG_SERIO_LIBPS2 is not set
664# CONFIG_SERIO_RAW is not set 758# CONFIG_SERIO_RAW is not set
665CONFIG_SERIO_XILINX_XPS_PS2=m 759CONFIG_SERIO_XILINX_XPS_PS2=m
760# CONFIG_SERIO_ALTERA_PS2 is not set
666# CONFIG_GAMEPORT is not set 761# CONFIG_GAMEPORT is not set
667 762
668# 763#
@@ -697,6 +792,7 @@ CONFIG_SERIAL_CORE_CONSOLE=y
697# CONFIG_SERIAL_JSM is not set 792# CONFIG_SERIAL_JSM is not set
698CONFIG_SERIAL_OF_PLATFORM=y 793CONFIG_SERIAL_OF_PLATFORM=y
699# CONFIG_SERIAL_OF_PLATFORM_NWPSERIAL is not set 794# CONFIG_SERIAL_OF_PLATFORM_NWPSERIAL is not set
795# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set
700CONFIG_UNIX98_PTYS=y 796CONFIG_UNIX98_PTYS=y
701# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set 797# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
702CONFIG_LEGACY_PTYS=y 798CONFIG_LEGACY_PTYS=y
@@ -714,6 +810,7 @@ CONFIG_XILINX_HWICAP=m
714CONFIG_DEVPORT=y 810CONFIG_DEVPORT=y
715CONFIG_I2C=m 811CONFIG_I2C=m
716CONFIG_I2C_BOARDINFO=y 812CONFIG_I2C_BOARDINFO=y
813CONFIG_I2C_COMPAT=y
717CONFIG_I2C_CHARDEV=m 814CONFIG_I2C_CHARDEV=m
718CONFIG_I2C_HELPER_AUTO=y 815CONFIG_I2C_HELPER_AUTO=y
719CONFIG_I2C_ALGOBIT=m 816CONFIG_I2C_ALGOBIT=m
@@ -756,11 +853,6 @@ CONFIG_I2C_IBM_IIC=m
756# CONFIG_I2C_TAOS_EVM is not set 853# CONFIG_I2C_TAOS_EVM is not set
757 854
758# 855#
759# Graphics adapter I2C/DDC channel drivers
760#
761# CONFIG_I2C_VOODOO3 is not set
762
763#
764# Other I2C/SMBus bus drivers 856# Other I2C/SMBus bus drivers
765# 857#
766# CONFIG_I2C_PCA_PLATFORM is not set 858# CONFIG_I2C_PCA_PLATFORM is not set
@@ -769,20 +861,17 @@ CONFIG_I2C_IBM_IIC=m
769# 861#
770# Miscellaneous I2C Chip support 862# Miscellaneous I2C Chip support
771# 863#
772# CONFIG_DS1682 is not set
773# CONFIG_EEPROM_AT24 is not set
774# CONFIG_EEPROM_LEGACY is not set
775# CONFIG_SENSORS_PCF8574 is not set
776# CONFIG_PCF8575 is not set
777# CONFIG_SENSORS_PCA9539 is not set
778# CONFIG_SENSORS_PCF8591 is not set
779# CONFIG_SENSORS_MAX6875 is not set
780# CONFIG_SENSORS_TSL2550 is not set 864# CONFIG_SENSORS_TSL2550 is not set
781# CONFIG_I2C_DEBUG_CORE is not set 865# CONFIG_I2C_DEBUG_CORE is not set
782# CONFIG_I2C_DEBUG_ALGO is not set 866# CONFIG_I2C_DEBUG_ALGO is not set
783# CONFIG_I2C_DEBUG_BUS is not set 867# CONFIG_I2C_DEBUG_BUS is not set
784# CONFIG_I2C_DEBUG_CHIP is not set 868# CONFIG_I2C_DEBUG_CHIP is not set
785# CONFIG_SPI is not set 869# CONFIG_SPI is not set
870
871#
872# PPS support
873#
874# CONFIG_PPS is not set
786CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y 875CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
787CONFIG_ARCH_REQUIRE_GPIOLIB=y 876CONFIG_ARCH_REQUIRE_GPIOLIB=y
788CONFIG_GPIOLIB=y 877CONFIG_GPIOLIB=y
@@ -804,11 +893,17 @@ CONFIG_GPIO_XILINX=y
804# 893#
805# PCI GPIO expanders: 894# PCI GPIO expanders:
806# 895#
896# CONFIG_GPIO_CS5535 is not set
807# CONFIG_GPIO_BT8XX is not set 897# CONFIG_GPIO_BT8XX is not set
898# CONFIG_GPIO_LANGWELL is not set
808 899
809# 900#
810# SPI GPIO expanders: 901# SPI GPIO expanders:
811# 902#
903
904#
905# AC97 GPIO expanders:
906#
812# CONFIG_W1 is not set 907# CONFIG_W1 is not set
813# CONFIG_POWER_SUPPLY is not set 908# CONFIG_POWER_SUPPLY is not set
814# CONFIG_HWMON is not set 909# CONFIG_HWMON is not set
@@ -832,28 +927,15 @@ CONFIG_SSB_POSSIBLE=y
832# CONFIG_MFD_WM8400 is not set 927# CONFIG_MFD_WM8400 is not set
833# CONFIG_MFD_WM8350_I2C is not set 928# CONFIG_MFD_WM8350_I2C is not set
834# CONFIG_MFD_PCF50633 is not set 929# CONFIG_MFD_PCF50633 is not set
930# CONFIG_AB3100_CORE is not set
835# CONFIG_REGULATOR is not set 931# CONFIG_REGULATOR is not set
836 932# CONFIG_MEDIA_SUPPORT is not set
837#
838# Multimedia devices
839#
840
841#
842# Multimedia core support
843#
844# CONFIG_VIDEO_DEV is not set
845# CONFIG_DVB_CORE is not set
846# CONFIG_VIDEO_MEDIA is not set
847
848#
849# Multimedia drivers
850#
851# CONFIG_DAB is not set
852 933
853# 934#
854# Graphics support 935# Graphics support
855# 936#
856# CONFIG_AGP is not set 937# CONFIG_AGP is not set
938CONFIG_VGA_ARB=y
857# CONFIG_DRM is not set 939# CONFIG_DRM is not set
858# CONFIG_VGASTATE is not set 940# CONFIG_VGASTATE is not set
859CONFIG_VIDEO_OUTPUT_CONTROL=m 941CONFIG_VIDEO_OUTPUT_CONTROL=m
@@ -909,6 +991,7 @@ CONFIG_FB_XILINX=m
909# CONFIG_FB_VIRTUAL is not set 991# CONFIG_FB_VIRTUAL is not set
910# CONFIG_FB_METRONOME is not set 992# CONFIG_FB_METRONOME is not set
911# CONFIG_FB_MB862XX is not set 993# CONFIG_FB_MB862XX is not set
994# CONFIG_FB_BROADSHEET is not set
912# CONFIG_BACKLIGHT_LCD_SUPPORT is not set 995# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
913 996
914# 997#
@@ -930,7 +1013,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
930# 1013#
931 1014
932# 1015#
933# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; 1016# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
934# 1017#
935# CONFIG_USB_GADGET is not set 1018# CONFIG_USB_GADGET is not set
936 1019
@@ -946,7 +1029,12 @@ CONFIG_USB_ARCH_HAS_EHCI=y
946# CONFIG_EDAC is not set 1029# CONFIG_EDAC is not set
947# CONFIG_RTC_CLASS is not set 1030# CONFIG_RTC_CLASS is not set
948# CONFIG_DMADEVICES is not set 1031# CONFIG_DMADEVICES is not set
1032# CONFIG_AUXDISPLAY is not set
949# CONFIG_UIO is not set 1033# CONFIG_UIO is not set
1034
1035#
1036# TI VLYNQ
1037#
950# CONFIG_STAGING is not set 1038# CONFIG_STAGING is not set
951 1039
952# 1040#
@@ -956,6 +1044,7 @@ CONFIG_EXT2_FS=y
956# CONFIG_EXT2_FS_XATTR is not set 1044# CONFIG_EXT2_FS_XATTR is not set
957# CONFIG_EXT2_FS_XIP is not set 1045# CONFIG_EXT2_FS_XIP is not set
958CONFIG_EXT3_FS=m 1046CONFIG_EXT3_FS=m
1047# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
959CONFIG_EXT3_FS_XATTR=y 1048CONFIG_EXT3_FS_XATTR=y
960# CONFIG_EXT3_FS_POSIX_ACL is not set 1049# CONFIG_EXT3_FS_POSIX_ACL is not set
961# CONFIG_EXT3_FS_SECURITY is not set 1050# CONFIG_EXT3_FS_SECURITY is not set
@@ -966,11 +1055,13 @@ CONFIG_FS_MBCACHE=m
966# CONFIG_REISERFS_FS is not set 1055# CONFIG_REISERFS_FS is not set
967# CONFIG_JFS_FS is not set 1056# CONFIG_JFS_FS is not set
968# CONFIG_FS_POSIX_ACL is not set 1057# CONFIG_FS_POSIX_ACL is not set
969CONFIG_FILE_LOCKING=y
970# CONFIG_XFS_FS is not set 1058# CONFIG_XFS_FS is not set
971# CONFIG_GFS2_FS is not set 1059# CONFIG_GFS2_FS is not set
972# CONFIG_OCFS2_FS is not set 1060# CONFIG_OCFS2_FS is not set
973# CONFIG_BTRFS_FS is not set 1061# CONFIG_BTRFS_FS is not set
1062# CONFIG_NILFS2_FS is not set
1063CONFIG_FILE_LOCKING=y
1064CONFIG_FSNOTIFY=y
974CONFIG_DNOTIFY=y 1065CONFIG_DNOTIFY=y
975CONFIG_INOTIFY=y 1066CONFIG_INOTIFY=y
976CONFIG_INOTIFY_USER=y 1067CONFIG_INOTIFY_USER=y
@@ -980,6 +1071,11 @@ CONFIG_INOTIFY_USER=y
980# CONFIG_FUSE_FS is not set 1071# CONFIG_FUSE_FS is not set
981 1072
982# 1073#
1074# Caches
1075#
1076# CONFIG_FSCACHE is not set
1077
1078#
983# CD-ROM/DVD Filesystems 1079# CD-ROM/DVD Filesystems
984# 1080#
985# CONFIG_ISO9660_FS is not set 1081# CONFIG_ISO9660_FS is not set
@@ -1053,7 +1149,6 @@ CONFIG_LOCKD=y
1053CONFIG_LOCKD_V4=y 1149CONFIG_LOCKD_V4=y
1054CONFIG_NFS_COMMON=y 1150CONFIG_NFS_COMMON=y
1055CONFIG_SUNRPC=y 1151CONFIG_SUNRPC=y
1056# CONFIG_SUNRPC_REGISTER_V4 is not set
1057# CONFIG_RPCSEC_GSS_KRB5 is not set 1152# CONFIG_RPCSEC_GSS_KRB5 is not set
1058# CONFIG_RPCSEC_GSS_SPKM3 is not set 1153# CONFIG_RPCSEC_GSS_SPKM3 is not set
1059# CONFIG_SMB_FS is not set 1154# CONFIG_SMB_FS is not set
@@ -1108,6 +1203,7 @@ CONFIG_NLS_ISO8859_1=m
1108# CONFIG_NLS_KOI8_U is not set 1203# CONFIG_NLS_KOI8_U is not set
1109# CONFIG_NLS_UTF8 is not set 1204# CONFIG_NLS_UTF8 is not set
1110# CONFIG_DLM is not set 1205# CONFIG_DLM is not set
1206# CONFIG_BINARY_PRINTF is not set
1111 1207
1112# 1208#
1113# Library routines 1209# Library routines
@@ -1125,11 +1221,13 @@ CONFIG_ZLIB_INFLATE=y
1125CONFIG_ZLIB_DEFLATE=m 1221CONFIG_ZLIB_DEFLATE=m
1126CONFIG_LZO_COMPRESS=m 1222CONFIG_LZO_COMPRESS=m
1127CONFIG_LZO_DECOMPRESS=m 1223CONFIG_LZO_DECOMPRESS=m
1128CONFIG_PLIST=y 1224CONFIG_DECOMPRESS_GZIP=y
1129CONFIG_HAS_IOMEM=y 1225CONFIG_HAS_IOMEM=y
1130CONFIG_HAS_IOPORT=y 1226CONFIG_HAS_IOPORT=y
1131CONFIG_HAS_DMA=y 1227CONFIG_HAS_DMA=y
1132CONFIG_HAVE_LMB=y 1228CONFIG_HAVE_LMB=y
1229CONFIG_NLATTR=y
1230CONFIG_GENERIC_ATOMIC64=y
1133 1231
1134# 1232#
1135# Kernel hacking 1233# Kernel hacking
@@ -1139,6 +1237,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
1139CONFIG_ENABLE_MUST_CHECK=y 1237CONFIG_ENABLE_MUST_CHECK=y
1140CONFIG_FRAME_WARN=1024 1238CONFIG_FRAME_WARN=1024
1141CONFIG_MAGIC_SYSRQ=y 1239CONFIG_MAGIC_SYSRQ=y
1240# CONFIG_STRIP_ASM_SYMS is not set
1142# CONFIG_UNUSED_SYMBOLS is not set 1241# CONFIG_UNUSED_SYMBOLS is not set
1143CONFIG_DEBUG_FS=y 1242CONFIG_DEBUG_FS=y
1144# CONFIG_HEADERS_CHECK is not set 1243# CONFIG_HEADERS_CHECK is not set
@@ -1147,16 +1246,23 @@ CONFIG_DEBUG_KERNEL=y
1147CONFIG_DETECT_SOFTLOCKUP=y 1246CONFIG_DETECT_SOFTLOCKUP=y
1148# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set 1247# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
1149CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 1248CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
1249CONFIG_DETECT_HUNG_TASK=y
1250# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
1251CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
1150CONFIG_SCHED_DEBUG=y 1252CONFIG_SCHED_DEBUG=y
1151# CONFIG_SCHEDSTATS is not set 1253# CONFIG_SCHEDSTATS is not set
1152# CONFIG_TIMER_STATS is not set 1254# CONFIG_TIMER_STATS is not set
1153# CONFIG_DEBUG_OBJECTS is not set 1255# CONFIG_DEBUG_OBJECTS is not set
1154# CONFIG_SLUB_DEBUG_ON is not set 1256# CONFIG_SLUB_DEBUG_ON is not set
1155# CONFIG_SLUB_STATS is not set 1257# CONFIG_SLUB_STATS is not set
1258# CONFIG_DEBUG_KMEMLEAK is not set
1156# CONFIG_DEBUG_RT_MUTEXES is not set 1259# CONFIG_DEBUG_RT_MUTEXES is not set
1157# CONFIG_RT_MUTEX_TESTER is not set 1260# CONFIG_RT_MUTEX_TESTER is not set
1158# CONFIG_DEBUG_SPINLOCK is not set 1261# CONFIG_DEBUG_SPINLOCK is not set
1159# CONFIG_DEBUG_MUTEXES is not set 1262# CONFIG_DEBUG_MUTEXES is not set
1263# CONFIG_DEBUG_LOCK_ALLOC is not set
1264# CONFIG_PROVE_LOCKING is not set
1265# CONFIG_LOCK_STAT is not set
1160# CONFIG_DEBUG_SPINLOCK_SLEEP is not set 1266# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1161# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set 1267# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1162# CONFIG_DEBUG_KOBJECT is not set 1268# CONFIG_DEBUG_KOBJECT is not set
@@ -1168,35 +1274,45 @@ CONFIG_DEBUG_BUGVERBOSE=y
1168# CONFIG_DEBUG_LIST is not set 1274# CONFIG_DEBUG_LIST is not set
1169# CONFIG_DEBUG_SG is not set 1275# CONFIG_DEBUG_SG is not set
1170# CONFIG_DEBUG_NOTIFIERS is not set 1276# CONFIG_DEBUG_NOTIFIERS is not set
1171# CONFIG_BOOT_PRINTK_DELAY is not set 1277# CONFIG_DEBUG_CREDENTIALS is not set
1172# CONFIG_RCU_TORTURE_TEST is not set 1278# CONFIG_RCU_TORTURE_TEST is not set
1173# CONFIG_RCU_CPU_STALL_DETECTOR is not set 1279# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1174# CONFIG_BACKTRACE_SELF_TEST is not set 1280# CONFIG_BACKTRACE_SELF_TEST is not set
1175# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set 1281# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1282# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
1176# CONFIG_FAULT_INJECTION is not set 1283# CONFIG_FAULT_INJECTION is not set
1177# CONFIG_LATENCYTOP is not set 1284# CONFIG_LATENCYTOP is not set
1178CONFIG_SYSCTL_SYSCALL_CHECK=y 1285CONFIG_SYSCTL_SYSCALL_CHECK=y
1286# CONFIG_DEBUG_PAGEALLOC is not set
1179CONFIG_HAVE_FUNCTION_TRACER=y 1287CONFIG_HAVE_FUNCTION_TRACER=y
1288CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
1180CONFIG_HAVE_DYNAMIC_FTRACE=y 1289CONFIG_HAVE_DYNAMIC_FTRACE=y
1181CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 1290CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1182 1291CONFIG_TRACING_SUPPORT=y
1183# 1292CONFIG_FTRACE=y
1184# Tracers
1185#
1186# CONFIG_FUNCTION_TRACER is not set 1293# CONFIG_FUNCTION_TRACER is not set
1294# CONFIG_IRQSOFF_TRACER is not set
1187# CONFIG_SCHED_TRACER is not set 1295# CONFIG_SCHED_TRACER is not set
1188# CONFIG_CONTEXT_SWITCH_TRACER is not set 1296# CONFIG_ENABLE_DEFAULT_TRACERS is not set
1189# CONFIG_BOOT_TRACER is not set 1297# CONFIG_BOOT_TRACER is not set
1190# CONFIG_TRACE_BRANCH_PROFILING is not set 1298CONFIG_BRANCH_PROFILE_NONE=y
1299# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
1300# CONFIG_PROFILE_ALL_BRANCHES is not set
1191# CONFIG_STACK_TRACER is not set 1301# CONFIG_STACK_TRACER is not set
1192# CONFIG_DYNAMIC_PRINTK_DEBUG is not set 1302# CONFIG_KMEMTRACE is not set
1303# CONFIG_WORKQUEUE_TRACER is not set
1304# CONFIG_BLK_DEV_IO_TRACE is not set
1305# CONFIG_DYNAMIC_DEBUG is not set
1306# CONFIG_DMA_API_DEBUG is not set
1193# CONFIG_SAMPLES is not set 1307# CONFIG_SAMPLES is not set
1194CONFIG_HAVE_ARCH_KGDB=y 1308CONFIG_HAVE_ARCH_KGDB=y
1195# CONFIG_KGDB is not set 1309# CONFIG_KGDB is not set
1310# CONFIG_PPC_DISABLE_WERROR is not set
1311CONFIG_PPC_WERROR=y
1196CONFIG_PRINT_STACK_DEPTH=64 1312CONFIG_PRINT_STACK_DEPTH=64
1197# CONFIG_DEBUG_STACKOVERFLOW is not set 1313# CONFIG_DEBUG_STACKOVERFLOW is not set
1198# CONFIG_DEBUG_STACK_USAGE is not set 1314# CONFIG_DEBUG_STACK_USAGE is not set
1199# CONFIG_DEBUG_PAGEALLOC is not set 1315# CONFIG_PPC_EMULATED_STATS is not set
1200# CONFIG_CODE_PATCHING_SELFTEST is not set 1316# CONFIG_CODE_PATCHING_SELFTEST is not set
1201# CONFIG_FTR_FIXUP_SELFTEST is not set 1317# CONFIG_FTR_FIXUP_SELFTEST is not set
1202# CONFIG_MSI_BITMAP_SELFTEST is not set 1318# CONFIG_MSI_BITMAP_SELFTEST is not set
@@ -1212,13 +1328,16 @@ CONFIG_PRINT_STACK_DEPTH=64
1212# CONFIG_KEYS is not set 1328# CONFIG_KEYS is not set
1213# CONFIG_SECURITY is not set 1329# CONFIG_SECURITY is not set
1214# CONFIG_SECURITYFS is not set 1330# CONFIG_SECURITYFS is not set
1215# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1331# CONFIG_DEFAULT_SECURITY_SELINUX is not set
1332# CONFIG_DEFAULT_SECURITY_SMACK is not set
1333# CONFIG_DEFAULT_SECURITY_TOMOYO is not set
1334CONFIG_DEFAULT_SECURITY_DAC=y
1335CONFIG_DEFAULT_SECURITY=""
1216CONFIG_CRYPTO=y 1336CONFIG_CRYPTO=y
1217 1337
1218# 1338#
1219# Crypto core or helper 1339# Crypto core or helper
1220# 1340#
1221# CONFIG_CRYPTO_FIPS is not set
1222CONFIG_CRYPTO_ALGAPI=y 1341CONFIG_CRYPTO_ALGAPI=y
1223CONFIG_CRYPTO_ALGAPI2=y 1342CONFIG_CRYPTO_ALGAPI2=y
1224CONFIG_CRYPTO_AEAD2=y 1343CONFIG_CRYPTO_AEAD2=y
@@ -1227,10 +1346,12 @@ CONFIG_CRYPTO_BLKCIPHER2=y
1227CONFIG_CRYPTO_HASH=y 1346CONFIG_CRYPTO_HASH=y
1228CONFIG_CRYPTO_HASH2=y 1347CONFIG_CRYPTO_HASH2=y
1229CONFIG_CRYPTO_RNG2=y 1348CONFIG_CRYPTO_RNG2=y
1349CONFIG_CRYPTO_PCOMP=y
1230CONFIG_CRYPTO_MANAGER=y 1350CONFIG_CRYPTO_MANAGER=y
1231CONFIG_CRYPTO_MANAGER2=y 1351CONFIG_CRYPTO_MANAGER2=y
1232# CONFIG_CRYPTO_GF128MUL is not set 1352# CONFIG_CRYPTO_GF128MUL is not set
1233# CONFIG_CRYPTO_NULL is not set 1353# CONFIG_CRYPTO_NULL is not set
1354CONFIG_CRYPTO_WORKQUEUE=y
1234# CONFIG_CRYPTO_CRYPTD is not set 1355# CONFIG_CRYPTO_CRYPTD is not set
1235# CONFIG_CRYPTO_AUTHENC is not set 1356# CONFIG_CRYPTO_AUTHENC is not set
1236# CONFIG_CRYPTO_TEST is not set 1357# CONFIG_CRYPTO_TEST is not set
@@ -1258,11 +1379,13 @@ CONFIG_CRYPTO_PCBC=y
1258# 1379#
1259# CONFIG_CRYPTO_HMAC is not set 1380# CONFIG_CRYPTO_HMAC is not set
1260# CONFIG_CRYPTO_XCBC is not set 1381# CONFIG_CRYPTO_XCBC is not set
1382# CONFIG_CRYPTO_VMAC is not set
1261 1383
1262# 1384#
1263# Digest 1385# Digest
1264# 1386#
1265# CONFIG_CRYPTO_CRC32C is not set 1387# CONFIG_CRYPTO_CRC32C is not set
1388# CONFIG_CRYPTO_GHASH is not set
1266# CONFIG_CRYPTO_MD4 is not set 1389# CONFIG_CRYPTO_MD4 is not set
1267CONFIG_CRYPTO_MD5=y 1390CONFIG_CRYPTO_MD5=y
1268# CONFIG_CRYPTO_MICHAEL_MIC is not set 1391# CONFIG_CRYPTO_MICHAEL_MIC is not set
@@ -1299,6 +1422,7 @@ CONFIG_CRYPTO_DES=y
1299# Compression 1422# Compression
1300# 1423#
1301CONFIG_CRYPTO_DEFLATE=m 1424CONFIG_CRYPTO_DEFLATE=m
1425# CONFIG_CRYPTO_ZLIB is not set
1302CONFIG_CRYPTO_LZO=m 1426CONFIG_CRYPTO_LZO=m
1303 1427
1304# 1428#
@@ -1307,5 +1431,6 @@ CONFIG_CRYPTO_LZO=m
1307# CONFIG_CRYPTO_ANSI_CPRNG is not set 1431# CONFIG_CRYPTO_ANSI_CPRNG is not set
1308CONFIG_CRYPTO_HW=y 1432CONFIG_CRYPTO_HW=y
1309# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1433# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1434# CONFIG_CRYPTO_DEV_PPC4XX is not set
1310# CONFIG_PPC_CLOCK is not set 1435# CONFIG_PPC_CLOCK is not set
1311# CONFIG_VIRTUALIZATION is not set 1436# CONFIG_VIRTUALIZATION is not set
diff --git a/arch/powerpc/configs/ppc44x_defconfig b/arch/powerpc/configs/ppc44x_defconfig
index 5e6d55f006bb..bd3d23fb4dd3 100644
--- a/arch/powerpc/configs/ppc44x_defconfig
+++ b/arch/powerpc/configs/ppc44x_defconfig
@@ -1,14 +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.29-rc2 3# Linux kernel version: 2.6.33-rc1
4# Fri Jan 23 08:43:46 2009 4# Mon Jan 4 13:42:17 2010
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
8# 8#
9# Processor support 9# Processor support
10# 10#
11# CONFIG_6xx is not set 11# CONFIG_PPC_BOOK3S_32 is not set
12# CONFIG_PPC_85xx is not set 12# CONFIG_PPC_85xx is not set
13# CONFIG_PPC_8xx is not set 13# CONFIG_PPC_8xx is not set
14# CONFIG_40x is not set 14# CONFIG_40x is not set
@@ -20,6 +20,7 @@ CONFIG_BOOKE=y
20CONFIG_PTE_64BIT=y 20CONFIG_PTE_64BIT=y
21CONFIG_PHYS_64BIT=y 21CONFIG_PHYS_64BIT=y
22CONFIG_PPC_MMU_NOHASH=y 22CONFIG_PPC_MMU_NOHASH=y
23CONFIG_PPC_MMU_NOHASH_32=y
23# CONFIG_PPC_MM_SLICES is not set 24# CONFIG_PPC_MM_SLICES is not set
24CONFIG_NOT_COHERENT_CACHE=y 25CONFIG_NOT_COHERENT_CACHE=y
25CONFIG_PPC32=y 26CONFIG_PPC32=y
@@ -31,15 +32,18 @@ CONFIG_GENERIC_TIME=y
31CONFIG_GENERIC_TIME_VSYSCALL=y 32CONFIG_GENERIC_TIME_VSYSCALL=y
32CONFIG_GENERIC_CLOCKEVENTS=y 33CONFIG_GENERIC_CLOCKEVENTS=y
33CONFIG_GENERIC_HARDIRQS=y 34CONFIG_GENERIC_HARDIRQS=y
35CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
34# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 36# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
37# CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set
35CONFIG_IRQ_PER_CPU=y 38CONFIG_IRQ_PER_CPU=y
39CONFIG_NR_IRQS=512
36CONFIG_STACKTRACE_SUPPORT=y 40CONFIG_STACKTRACE_SUPPORT=y
37CONFIG_HAVE_LATENCYTOP_SUPPORT=y 41CONFIG_HAVE_LATENCYTOP_SUPPORT=y
42CONFIG_TRACE_IRQFLAGS_SUPPORT=y
38CONFIG_LOCKDEP_SUPPORT=y 43CONFIG_LOCKDEP_SUPPORT=y
39CONFIG_RWSEM_XCHGADD_ALGORITHM=y 44CONFIG_RWSEM_XCHGADD_ALGORITHM=y
40CONFIG_ARCH_HAS_ILOG2_U32=y 45CONFIG_ARCH_HAS_ILOG2_U32=y
41CONFIG_GENERIC_HWEIGHT=y 46CONFIG_GENERIC_HWEIGHT=y
42CONFIG_GENERIC_CALIBRATE_DELAY=y
43CONFIG_GENERIC_FIND_NEXT_BIT=y 47CONFIG_GENERIC_FIND_NEXT_BIT=y
44CONFIG_GENERIC_GPIO=y 48CONFIG_GENERIC_GPIO=y
45# CONFIG_ARCH_NO_VIRT_TO_BUS is not set 49# CONFIG_ARCH_NO_VIRT_TO_BUS is not set
@@ -54,11 +58,15 @@ CONFIG_PPC_UDBG_16550=y
54# CONFIG_GENERIC_TBSYNC is not set 58# CONFIG_GENERIC_TBSYNC is not set
55CONFIG_AUDIT_ARCH=y 59CONFIG_AUDIT_ARCH=y
56CONFIG_GENERIC_BUG=y 60CONFIG_GENERIC_BUG=y
57# CONFIG_DEFAULT_UIMAGE is not set 61CONFIG_DTC=y
62CONFIG_DEFAULT_UIMAGE=y
63CONFIG_ARCH_HIBERNATION_POSSIBLE=y
58CONFIG_PPC_DCR_NATIVE=y 64CONFIG_PPC_DCR_NATIVE=y
59# CONFIG_PPC_DCR_MMIO is not set 65# CONFIG_PPC_DCR_MMIO is not set
60CONFIG_PPC_DCR=y 66CONFIG_PPC_DCR=y
67CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
61CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 68CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
69CONFIG_CONSTRUCTORS=y
62 70
63# 71#
64# General setup 72# General setup
@@ -72,9 +80,21 @@ CONFIG_SWAP=y
72CONFIG_SYSVIPC=y 80CONFIG_SYSVIPC=y
73CONFIG_SYSVIPC_SYSCTL=y 81CONFIG_SYSVIPC_SYSCTL=y
74CONFIG_POSIX_MQUEUE=y 82CONFIG_POSIX_MQUEUE=y
83CONFIG_POSIX_MQUEUE_SYSCTL=y
75# CONFIG_BSD_PROCESS_ACCT is not set 84# CONFIG_BSD_PROCESS_ACCT is not set
76# CONFIG_TASKSTATS is not set 85# CONFIG_TASKSTATS is not set
77# CONFIG_AUDIT is not set 86# CONFIG_AUDIT is not set
87
88#
89# RCU Subsystem
90#
91CONFIG_TREE_RCU=y
92# CONFIG_TREE_PREEMPT_RCU is not set
93# CONFIG_TINY_RCU is not set
94# CONFIG_RCU_TRACE is not set
95CONFIG_RCU_FANOUT=32
96# CONFIG_RCU_FANOUT_EXACT is not set
97# CONFIG_TREE_RCU_TRACE is not set
78# CONFIG_IKCONFIG is not set 98# CONFIG_IKCONFIG is not set
79CONFIG_LOG_BUF_SHIFT=14 99CONFIG_LOG_BUF_SHIFT=14
80CONFIG_GROUP_SCHED=y 100CONFIG_GROUP_SCHED=y
@@ -83,37 +103,45 @@ CONFIG_FAIR_GROUP_SCHED=y
83CONFIG_USER_SCHED=y 103CONFIG_USER_SCHED=y
84# CONFIG_CGROUP_SCHED is not set 104# CONFIG_CGROUP_SCHED is not set
85# CONFIG_CGROUPS is not set 105# CONFIG_CGROUPS is not set
86CONFIG_SYSFS_DEPRECATED=y 106# CONFIG_SYSFS_DEPRECATED_V2 is not set
87CONFIG_SYSFS_DEPRECATED_V2=y
88# CONFIG_RELAY is not set 107# CONFIG_RELAY is not set
89# CONFIG_NAMESPACES is not set 108# CONFIG_NAMESPACES is not set
90CONFIG_BLK_DEV_INITRD=y 109CONFIG_BLK_DEV_INITRD=y
91CONFIG_INITRAMFS_SOURCE="" 110CONFIG_INITRAMFS_SOURCE=""
111CONFIG_RD_GZIP=y
112# CONFIG_RD_BZIP2 is not set
113# CONFIG_RD_LZMA is not set
92# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 114# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
93CONFIG_SYSCTL=y 115CONFIG_SYSCTL=y
116CONFIG_ANON_INODES=y
94CONFIG_EMBEDDED=y 117CONFIG_EMBEDDED=y
95CONFIG_SYSCTL_SYSCALL=y 118CONFIG_SYSCTL_SYSCALL=y
96CONFIG_KALLSYMS=y 119CONFIG_KALLSYMS=y
97CONFIG_KALLSYMS_ALL=y 120CONFIG_KALLSYMS_ALL=y
98CONFIG_KALLSYMS_STRIP_GENERATED=y
99CONFIG_KALLSYMS_EXTRA_PASS=y 121CONFIG_KALLSYMS_EXTRA_PASS=y
100CONFIG_HOTPLUG=y 122CONFIG_HOTPLUG=y
101CONFIG_PRINTK=y 123CONFIG_PRINTK=y
102CONFIG_BUG=y 124CONFIG_BUG=y
103CONFIG_ELF_CORE=y 125CONFIG_ELF_CORE=y
104CONFIG_COMPAT_BRK=y
105CONFIG_BASE_FULL=y 126CONFIG_BASE_FULL=y
106CONFIG_FUTEX=y 127CONFIG_FUTEX=y
107CONFIG_ANON_INODES=y
108CONFIG_EPOLL=y 128CONFIG_EPOLL=y
109CONFIG_SIGNALFD=y 129CONFIG_SIGNALFD=y
110CONFIG_TIMERFD=y 130CONFIG_TIMERFD=y
111CONFIG_EVENTFD=y 131CONFIG_EVENTFD=y
112CONFIG_SHMEM=y 132CONFIG_SHMEM=y
113CONFIG_AIO=y 133CONFIG_AIO=y
134CONFIG_HAVE_PERF_EVENTS=y
135
136#
137# Kernel Performance Events And Counters
138#
139# CONFIG_PERF_EVENTS is not set
140# CONFIG_PERF_COUNTERS is not set
114CONFIG_VM_EVENT_COUNTERS=y 141CONFIG_VM_EVENT_COUNTERS=y
115CONFIG_PCI_QUIRKS=y 142CONFIG_PCI_QUIRKS=y
116CONFIG_SLUB_DEBUG=y 143CONFIG_SLUB_DEBUG=y
144CONFIG_COMPAT_BRK=y
117# CONFIG_SLAB is not set 145# CONFIG_SLAB is not set
118CONFIG_SLUB=y 146CONFIG_SLUB=y
119# CONFIG_SLOB is not set 147# CONFIG_SLOB is not set
@@ -125,6 +153,13 @@ CONFIG_HAVE_IOREMAP_PROT=y
125CONFIG_HAVE_KPROBES=y 153CONFIG_HAVE_KPROBES=y
126CONFIG_HAVE_KRETPROBES=y 154CONFIG_HAVE_KRETPROBES=y
127CONFIG_HAVE_ARCH_TRACEHOOK=y 155CONFIG_HAVE_ARCH_TRACEHOOK=y
156CONFIG_HAVE_DMA_ATTRS=y
157CONFIG_HAVE_DMA_API_DEBUG=y
158
159#
160# GCOV-based kernel profiling
161#
162# CONFIG_SLOW_WORK is not set
128# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 163# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
129CONFIG_SLABINFO=y 164CONFIG_SLABINFO=y
130CONFIG_RT_MUTEXES=y 165CONFIG_RT_MUTEXES=y
@@ -136,8 +171,7 @@ CONFIG_MODULE_UNLOAD=y
136# CONFIG_MODVERSIONS is not set 171# CONFIG_MODVERSIONS is not set
137# CONFIG_MODULE_SRCVERSION_ALL is not set 172# CONFIG_MODULE_SRCVERSION_ALL is not set
138CONFIG_BLOCK=y 173CONFIG_BLOCK=y
139CONFIG_LBD=y 174CONFIG_LBDAF=y
140# CONFIG_BLK_DEV_IO_TRACE is not set
141# CONFIG_BLK_DEV_BSG is not set 175# CONFIG_BLK_DEV_BSG is not set
142# CONFIG_BLK_DEV_INTEGRITY is not set 176# CONFIG_BLK_DEV_INTEGRITY is not set
143 177
@@ -145,20 +179,42 @@ CONFIG_LBD=y
145# IO Schedulers 179# IO Schedulers
146# 180#
147CONFIG_IOSCHED_NOOP=y 181CONFIG_IOSCHED_NOOP=y
148CONFIG_IOSCHED_AS=y
149CONFIG_IOSCHED_DEADLINE=y 182CONFIG_IOSCHED_DEADLINE=y
150CONFIG_IOSCHED_CFQ=y 183CONFIG_IOSCHED_CFQ=y
151CONFIG_DEFAULT_AS=y
152# CONFIG_DEFAULT_DEADLINE is not set 184# CONFIG_DEFAULT_DEADLINE is not set
153# CONFIG_DEFAULT_CFQ is not set 185CONFIG_DEFAULT_CFQ=y
154# CONFIG_DEFAULT_NOOP is not set 186# CONFIG_DEFAULT_NOOP is not set
155CONFIG_DEFAULT_IOSCHED="anticipatory" 187CONFIG_DEFAULT_IOSCHED="cfq"
156CONFIG_PREEMPT_NOTIFIERS=y 188CONFIG_PREEMPT_NOTIFIERS=y
157CONFIG_CLASSIC_RCU=y 189# CONFIG_INLINE_SPIN_TRYLOCK is not set
158# CONFIG_TREE_RCU is not set 190# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
159# CONFIG_PREEMPT_RCU is not set 191# CONFIG_INLINE_SPIN_LOCK is not set
160# CONFIG_TREE_RCU_TRACE is not set 192# CONFIG_INLINE_SPIN_LOCK_BH is not set
161# CONFIG_PREEMPT_RCU_TRACE is not set 193# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
194# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
195CONFIG_INLINE_SPIN_UNLOCK=y
196# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
197CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
198# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
199# CONFIG_INLINE_READ_TRYLOCK is not set
200# CONFIG_INLINE_READ_LOCK is not set
201# CONFIG_INLINE_READ_LOCK_BH is not set
202# CONFIG_INLINE_READ_LOCK_IRQ is not set
203# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
204CONFIG_INLINE_READ_UNLOCK=y
205# CONFIG_INLINE_READ_UNLOCK_BH is not set
206CONFIG_INLINE_READ_UNLOCK_IRQ=y
207# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
208# CONFIG_INLINE_WRITE_TRYLOCK is not set
209# CONFIG_INLINE_WRITE_LOCK is not set
210# CONFIG_INLINE_WRITE_LOCK_BH is not set
211# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
212# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
213CONFIG_INLINE_WRITE_UNLOCK=y
214# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
215CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
216# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
217# CONFIG_MUTEX_SPIN_ON_OWNER is not set
162# CONFIG_FREEZER is not set 218# CONFIG_FREEZER is not set
163CONFIG_PPC4xx_PCI_EXPRESS=y 219CONFIG_PPC4xx_PCI_EXPRESS=y
164 220
@@ -179,8 +235,11 @@ CONFIG_WARP=y
179CONFIG_ARCHES=y 235CONFIG_ARCHES=y
180CONFIG_CANYONLANDS=y 236CONFIG_CANYONLANDS=y
181CONFIG_GLACIER=y 237CONFIG_GLACIER=y
238CONFIG_REDWOOD=y
239CONFIG_EIGER=y
182CONFIG_YOSEMITE=y 240CONFIG_YOSEMITE=y
183CONFIG_XILINX_VIRTEX440_GENERIC_BOARD=y 241CONFIG_XILINX_VIRTEX440_GENERIC_BOARD=y
242# CONFIG_XILINX_ML510 is not set
184CONFIG_PPC44x_SIMPLE=y 243CONFIG_PPC44x_SIMPLE=y
185CONFIG_PPC4xx_GPIO=y 244CONFIG_PPC4xx_GPIO=y
186CONFIG_440EP=y 245CONFIG_440EP=y
@@ -190,6 +249,7 @@ CONFIG_440GP=y
190CONFIG_440GX=y 249CONFIG_440GX=y
191CONFIG_440SPe=y 250CONFIG_440SPe=y
192CONFIG_460EX=y 251CONFIG_460EX=y
252CONFIG_460SX=y
193CONFIG_IBM440EP_ERR42=y 253CONFIG_IBM440EP_ERR42=y
194CONFIG_XILINX_VIRTEX=y 254CONFIG_XILINX_VIRTEX=y
195CONFIG_XILINX_VIRTEX_5_FXT=y 255CONFIG_XILINX_VIRTEX_5_FXT=y
@@ -207,6 +267,7 @@ CONFIG_XILINX_VIRTEX_5_FXT=y
207# CONFIG_FSL_ULI1575 is not set 267# CONFIG_FSL_ULI1575 is not set
208CONFIG_OF_RTC=y 268CONFIG_OF_RTC=y
209# CONFIG_SIMPLE_GPIO is not set 269# CONFIG_SIMPLE_GPIO is not set
270# CONFIG_XILINX_PCI is not set
210 271
211# 272#
212# Kernel options 273# Kernel options
@@ -230,10 +291,12 @@ CONFIG_BINFMT_ELF=y
230# CONFIG_BINFMT_MISC is not set 291# CONFIG_BINFMT_MISC is not set
231CONFIG_MATH_EMULATION=y 292CONFIG_MATH_EMULATION=y
232# CONFIG_IOMMU_HELPER is not set 293# CONFIG_IOMMU_HELPER is not set
233CONFIG_PPC_NEED_DMA_SYNC_OPS=y 294# CONFIG_SWIOTLB is not set
234CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 295CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
235CONFIG_ARCH_HAS_WALK_MEMORY=y 296CONFIG_ARCH_HAS_WALK_MEMORY=y
236CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 297CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
298CONFIG_SPARSE_IRQ=y
299CONFIG_MAX_ACTIVE_REGIONS=32
237CONFIG_ARCH_FLATMEM_ENABLE=y 300CONFIG_ARCH_FLATMEM_ENABLE=y
238CONFIG_ARCH_POPULATES_NODE_MAP=y 301CONFIG_ARCH_POPULATES_NODE_MAP=y
239CONFIG_SELECT_MEMORY_MODEL=y 302CONFIG_SELECT_MEMORY_MODEL=y
@@ -249,10 +312,13 @@ CONFIG_PHYS_ADDR_T_64BIT=y
249CONFIG_ZONE_DMA_FLAG=1 312CONFIG_ZONE_DMA_FLAG=1
250CONFIG_BOUNCE=y 313CONFIG_BOUNCE=y
251CONFIG_VIRT_TO_BUS=y 314CONFIG_VIRT_TO_BUS=y
252CONFIG_UNEVICTABLE_LRU=y 315# CONFIG_KSM is not set
316CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
317CONFIG_STDBINUTILS=y
253CONFIG_PPC_4K_PAGES=y 318CONFIG_PPC_4K_PAGES=y
254# CONFIG_PPC_16K_PAGES is not set 319# CONFIG_PPC_16K_PAGES is not set
255# CONFIG_PPC_64K_PAGES is not set 320# CONFIG_PPC_64K_PAGES is not set
321# CONFIG_PPC_256K_PAGES is not set
256CONFIG_FORCE_MAX_ZONEORDER=11 322CONFIG_FORCE_MAX_ZONEORDER=11
257CONFIG_PROC_DEVICETREE=y 323CONFIG_PROC_DEVICETREE=y
258# CONFIG_CMDLINE_BOOL is not set 324# CONFIG_CMDLINE_BOOL is not set
@@ -276,6 +342,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
276# CONFIG_PCI_LEGACY is not set 342# CONFIG_PCI_LEGACY is not set
277# CONFIG_PCI_DEBUG is not set 343# CONFIG_PCI_DEBUG is not set
278# CONFIG_PCI_STUB is not set 344# CONFIG_PCI_STUB is not set
345# CONFIG_PCI_IOV is not set
279# CONFIG_PCCARD is not set 346# CONFIG_PCCARD is not set
280# CONFIG_HOTPLUG_PCI is not set 347# CONFIG_HOTPLUG_PCI is not set
281# CONFIG_HAS_RAPIDIO is not set 348# CONFIG_HAS_RAPIDIO is not set
@@ -293,14 +360,12 @@ CONFIG_PAGE_OFFSET=0xc0000000
293CONFIG_KERNEL_START=0xc0000000 360CONFIG_KERNEL_START=0xc0000000
294CONFIG_PHYSICAL_START=0x00000000 361CONFIG_PHYSICAL_START=0x00000000
295CONFIG_TASK_SIZE=0xc0000000 362CONFIG_TASK_SIZE=0xc0000000
296CONFIG_CONSISTENT_START=0xff100000
297CONFIG_CONSISTENT_SIZE=0x00200000 363CONFIG_CONSISTENT_SIZE=0x00200000
298CONFIG_NET=y 364CONFIG_NET=y
299 365
300# 366#
301# Networking options 367# Networking options
302# 368#
303CONFIG_COMPAT_NET_DEV_OPS=y
304CONFIG_PACKET=y 369CONFIG_PACKET=y
305# CONFIG_PACKET_MMAP is not set 370# CONFIG_PACKET_MMAP is not set
306CONFIG_UNIX=y 371CONFIG_UNIX=y
@@ -352,6 +417,7 @@ CONFIG_INET6_XFRM_MODE_TUNNEL=m
352CONFIG_INET6_XFRM_MODE_BEET=m 417CONFIG_INET6_XFRM_MODE_BEET=m
353# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set 418# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
354CONFIG_IPV6_SIT=m 419CONFIG_IPV6_SIT=m
420# CONFIG_IPV6_SIT_6RD is not set
355CONFIG_IPV6_NDISC_NODETYPE=y 421CONFIG_IPV6_NDISC_NODETYPE=y
356# CONFIG_IPV6_TUNNEL is not set 422# CONFIG_IPV6_TUNNEL is not set
357# CONFIG_IPV6_MULTIPLE_TABLES is not set 423# CONFIG_IPV6_MULTIPLE_TABLES is not set
@@ -360,6 +426,7 @@ CONFIG_IPV6_NDISC_NODETYPE=y
360# CONFIG_NETFILTER is not set 426# CONFIG_NETFILTER is not set
361# CONFIG_IP_DCCP is not set 427# CONFIG_IP_DCCP is not set
362# CONFIG_IP_SCTP is not set 428# CONFIG_IP_SCTP is not set
429# CONFIG_RDS is not set
363# CONFIG_TIPC is not set 430# CONFIG_TIPC is not set
364# CONFIG_ATM is not set 431# CONFIG_ATM is not set
365CONFIG_STP=m 432CONFIG_STP=m
@@ -375,6 +442,8 @@ CONFIG_LLC=m
375# CONFIG_LAPB is not set 442# CONFIG_LAPB is not set
376# CONFIG_ECONET is not set 443# CONFIG_ECONET is not set
377# CONFIG_WAN_ROUTER is not set 444# CONFIG_WAN_ROUTER is not set
445# CONFIG_PHONET is not set
446# CONFIG_IEEE802154 is not set
378# CONFIG_NET_SCHED is not set 447# CONFIG_NET_SCHED is not set
379# CONFIG_DCB is not set 448# CONFIG_DCB is not set
380 449
@@ -387,8 +456,13 @@ CONFIG_LLC=m
387# CONFIG_IRDA is not set 456# CONFIG_IRDA is not set
388# CONFIG_BT is not set 457# CONFIG_BT is not set
389# CONFIG_AF_RXRPC is not set 458# CONFIG_AF_RXRPC is not set
390# CONFIG_PHONET is not set 459CONFIG_WIRELESS=y
391# CONFIG_WIRELESS is not set 460# CONFIG_CFG80211 is not set
461# CONFIG_LIB80211 is not set
462
463#
464# CFG80211 needs to be enabled for MAC80211
465#
392# CONFIG_WIMAX is not set 466# CONFIG_WIMAX is not set
393# CONFIG_RFKILL is not set 467# CONFIG_RFKILL is not set
394# CONFIG_NET_9P is not set 468# CONFIG_NET_9P is not set
@@ -401,6 +475,7 @@ CONFIG_LLC=m
401# Generic Driver Options 475# Generic Driver Options
402# 476#
403CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 477CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
478# CONFIG_DEVTMPFS is not set
404CONFIG_STANDALONE=y 479CONFIG_STANDALONE=y
405CONFIG_PREVENT_FIRMWARE_BUILD=y 480CONFIG_PREVENT_FIRMWARE_BUILD=y
406CONFIG_FW_LOADER=y 481CONFIG_FW_LOADER=y
@@ -413,9 +488,9 @@ CONFIG_CONNECTOR=y
413CONFIG_PROC_EVENTS=y 488CONFIG_PROC_EVENTS=y
414CONFIG_MTD=y 489CONFIG_MTD=y
415# CONFIG_MTD_DEBUG is not set 490# CONFIG_MTD_DEBUG is not set
491# CONFIG_MTD_TESTS is not set
416# CONFIG_MTD_CONCAT is not set 492# CONFIG_MTD_CONCAT is not set
417CONFIG_MTD_PARTITIONS=y 493CONFIG_MTD_PARTITIONS=y
418# CONFIG_MTD_TESTS is not set
419# CONFIG_MTD_REDBOOT_PARTS is not set 494# CONFIG_MTD_REDBOOT_PARTS is not set
420# CONFIG_MTD_CMDLINE_PARTS is not set 495# CONFIG_MTD_CMDLINE_PARTS is not set
421CONFIG_MTD_OF_PARTS=y 496CONFIG_MTD_OF_PARTS=y
@@ -490,7 +565,6 @@ CONFIG_MTD_PHYSMAP_OF=y
490# LPDDR flash memory drivers 565# LPDDR flash memory drivers
491# 566#
492# CONFIG_MTD_LPDDR is not set 567# CONFIG_MTD_LPDDR is not set
493# CONFIG_MTD_QINFO_PROBE is not set
494 568
495# 569#
496# UBI - Unsorted block images 570# UBI - Unsorted block images
@@ -498,7 +572,7 @@ CONFIG_MTD_PHYSMAP_OF=y
498CONFIG_MTD_UBI=m 572CONFIG_MTD_UBI=m
499CONFIG_MTD_UBI_WL_THRESHOLD=4096 573CONFIG_MTD_UBI_WL_THRESHOLD=4096
500CONFIG_MTD_UBI_BEB_RESERVE=1 574CONFIG_MTD_UBI_BEB_RESERVE=1
501CONFIG_MTD_UBI_GLUEBI=y 575CONFIG_MTD_UBI_GLUEBI=m
502 576
503# 577#
504# UBI debugging options 578# UBI debugging options
@@ -516,6 +590,7 @@ CONFIG_BLK_DEV=y
516# CONFIG_BLK_DEV_UMEM is not set 590# CONFIG_BLK_DEV_UMEM is not set
517# CONFIG_BLK_DEV_COW_COMMON is not set 591# CONFIG_BLK_DEV_COW_COMMON is not set
518# CONFIG_BLK_DEV_LOOP is not set 592# CONFIG_BLK_DEV_LOOP is not set
593# CONFIG_BLK_DEV_DRBD is not set
519# CONFIG_BLK_DEV_NBD is not set 594# CONFIG_BLK_DEV_NBD is not set
520# CONFIG_BLK_DEV_SX8 is not set 595# CONFIG_BLK_DEV_SX8 is not set
521# CONFIG_BLK_DEV_UB is not set 596# CONFIG_BLK_DEV_UB is not set
@@ -528,14 +603,25 @@ CONFIG_BLK_DEV_RAM_SIZE=35000
528CONFIG_XILINX_SYSACE=m 603CONFIG_XILINX_SYSACE=m
529# CONFIG_BLK_DEV_HD is not set 604# CONFIG_BLK_DEV_HD is not set
530CONFIG_MISC_DEVICES=y 605CONFIG_MISC_DEVICES=y
606# CONFIG_AD525X_DPOT is not set
531# CONFIG_PHANTOM is not set 607# CONFIG_PHANTOM is not set
532# CONFIG_EEPROM_93CX6 is not set
533# CONFIG_SGI_IOC4 is not set 608# CONFIG_SGI_IOC4 is not set
534# CONFIG_TIFM_CORE is not set 609# CONFIG_TIFM_CORE is not set
535# CONFIG_ICS932S401 is not set 610# CONFIG_ICS932S401 is not set
536# CONFIG_ENCLOSURE_SERVICES is not set 611# CONFIG_ENCLOSURE_SERVICES is not set
537# CONFIG_HP_ILO is not set 612# CONFIG_HP_ILO is not set
613# CONFIG_ISL29003 is not set
614# CONFIG_DS1682 is not set
538# CONFIG_C2PORT is not set 615# CONFIG_C2PORT is not set
616
617#
618# EEPROM support
619#
620# CONFIG_EEPROM_AT24 is not set
621# CONFIG_EEPROM_LEGACY is not set
622# CONFIG_EEPROM_MAX6875 is not set
623# CONFIG_EEPROM_93CX6 is not set
624# CONFIG_CB710_CORE is not set
539CONFIG_HAVE_IDE=y 625CONFIG_HAVE_IDE=y
540# CONFIG_IDE is not set 626# CONFIG_IDE is not set
541 627
@@ -558,10 +644,6 @@ CONFIG_BLK_DEV_SD=m
558# CONFIG_BLK_DEV_SR is not set 644# CONFIG_BLK_DEV_SR is not set
559# CONFIG_CHR_DEV_SG is not set 645# CONFIG_CHR_DEV_SG is not set
560# CONFIG_CHR_DEV_SCH is not set 646# CONFIG_CHR_DEV_SCH is not set
561
562#
563# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
564#
565# CONFIG_SCSI_MULTI_LUN is not set 647# CONFIG_SCSI_MULTI_LUN is not set
566# CONFIG_SCSI_CONSTANTS is not set 648# CONFIG_SCSI_CONSTANTS is not set
567# CONFIG_SCSI_LOGGING is not set 649# CONFIG_SCSI_LOGGING is not set
@@ -578,6 +660,7 @@ CONFIG_SCSI_WAIT_SCAN=m
578# CONFIG_SCSI_SRP_ATTRS is not set 660# CONFIG_SCSI_SRP_ATTRS is not set
579# CONFIG_SCSI_LOWLEVEL is not set 661# CONFIG_SCSI_LOWLEVEL is not set
580# CONFIG_SCSI_DH is not set 662# CONFIG_SCSI_DH is not set
663# CONFIG_SCSI_OSD_INITIATOR is not set
581# CONFIG_ATA is not set 664# CONFIG_ATA is not set
582# CONFIG_MD is not set 665# CONFIG_MD is not set
583# CONFIG_FUSION is not set 666# CONFIG_FUSION is not set
@@ -587,7 +670,11 @@ CONFIG_SCSI_WAIT_SCAN=m
587# 670#
588 671
589# 672#
590# Enable only one of the two stacks, unless you know what you are doing 673# You can enable one or both FireWire driver stacks.
674#
675
676#
677# See the help texts for more information.
591# 678#
592# CONFIG_FIREWIRE is not set 679# CONFIG_FIREWIRE is not set
593# CONFIG_IEEE1394 is not set 680# CONFIG_IEEE1394 is not set
@@ -608,6 +695,8 @@ CONFIG_NET_ETHERNET=y
608# CONFIG_SUNGEM is not set 695# CONFIG_SUNGEM is not set
609# CONFIG_CASSINI is not set 696# CONFIG_CASSINI is not set
610# CONFIG_NET_VENDOR_3COM is not set 697# CONFIG_NET_VENDOR_3COM is not set
698# CONFIG_ETHOC is not set
699# CONFIG_DNET is not set
611# CONFIG_NET_TULIP is not set 700# CONFIG_NET_TULIP is not set
612# CONFIG_HP100 is not set 701# CONFIG_HP100 is not set
613CONFIG_IBM_NEW_EMAC=y 702CONFIG_IBM_NEW_EMAC=y
@@ -626,7 +715,10 @@ CONFIG_IBM_NEW_EMAC_EMAC4=y
626# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set 715# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
627# CONFIG_NET_PCI is not set 716# CONFIG_NET_PCI is not set
628# CONFIG_B44 is not set 717# CONFIG_B44 is not set
718# CONFIG_KS8842 is not set
719# CONFIG_KS8851_MLL is not set
629# CONFIG_ATL2 is not set 720# CONFIG_ATL2 is not set
721# CONFIG_XILINX_EMACLITE is not set
630CONFIG_NETDEV_1000=y 722CONFIG_NETDEV_1000=y
631# CONFIG_ACENIC is not set 723# CONFIG_ACENIC is not set
632# CONFIG_DL2K is not set 724# CONFIG_DL2K is not set
@@ -634,6 +726,7 @@ CONFIG_NETDEV_1000=y
634# CONFIG_E1000E is not set 726# CONFIG_E1000E is not set
635# CONFIG_IP1000 is not set 727# CONFIG_IP1000 is not set
636# CONFIG_IGB is not set 728# CONFIG_IGB is not set
729# CONFIG_IGBVF is not set
637# CONFIG_NS83820 is not set 730# CONFIG_NS83820 is not set
638# CONFIG_HAMACHI is not set 731# CONFIG_HAMACHI is not set
639# CONFIG_YELLOWFIN is not set 732# CONFIG_YELLOWFIN is not set
@@ -644,9 +737,13 @@ CONFIG_NETDEV_1000=y
644# CONFIG_VIA_VELOCITY is not set 737# CONFIG_VIA_VELOCITY is not set
645# CONFIG_TIGON3 is not set 738# CONFIG_TIGON3 is not set
646# CONFIG_BNX2 is not set 739# CONFIG_BNX2 is not set
740# CONFIG_CNIC is not set
741# CONFIG_MV643XX_ETH is not set
742# CONFIG_XILINX_LL_TEMAC is not set
647# CONFIG_QLA3XXX is not set 743# CONFIG_QLA3XXX is not set
648# CONFIG_ATL1 is not set 744# CONFIG_ATL1 is not set
649# CONFIG_ATL1E is not set 745# CONFIG_ATL1E is not set
746# CONFIG_ATL1C is not set
650# CONFIG_JME is not set 747# CONFIG_JME is not set
651CONFIG_NETDEV_10000=y 748CONFIG_NETDEV_10000=y
652# CONFIG_CHELSIO_T1 is not set 749# CONFIG_CHELSIO_T1 is not set
@@ -656,6 +753,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
656# CONFIG_IXGBE is not set 753# CONFIG_IXGBE is not set
657# CONFIG_IXGB is not set 754# CONFIG_IXGB is not set
658# CONFIG_S2IO is not set 755# CONFIG_S2IO is not set
756# CONFIG_VXGE is not set
659# CONFIG_MYRI10GE is not set 757# CONFIG_MYRI10GE is not set
660# CONFIG_NETXEN_NIC is not set 758# CONFIG_NETXEN_NIC is not set
661# CONFIG_NIU is not set 759# CONFIG_NIU is not set
@@ -665,14 +763,14 @@ CONFIG_CHELSIO_T3_DEPENDS=y
665# CONFIG_BNX2X is not set 763# CONFIG_BNX2X is not set
666# CONFIG_QLGE is not set 764# CONFIG_QLGE is not set
667# CONFIG_SFC is not set 765# CONFIG_SFC is not set
766# CONFIG_BE2NET is not set
668# CONFIG_TR is not set 767# CONFIG_TR is not set
669 768CONFIG_WLAN=y
670# 769# CONFIG_AIRO is not set
671# Wireless LAN 770# CONFIG_ATMEL is not set
672# 771# CONFIG_PRISM54 is not set
673# CONFIG_WLAN_PRE80211 is not set 772# CONFIG_USB_ZD1201 is not set
674# CONFIG_WLAN_80211 is not set 773# CONFIG_HOSTAP is not set
675# CONFIG_IWLWIFI_LEDS is not set
676 774
677# 775#
678# Enable WiMAX (Networking options) to see the WiMAX drivers 776# Enable WiMAX (Networking options) to see the WiMAX drivers
@@ -695,6 +793,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
695# CONFIG_NETCONSOLE is not set 793# CONFIG_NETCONSOLE is not set
696# CONFIG_NETPOLL is not set 794# CONFIG_NETPOLL is not set
697# CONFIG_NET_POLL_CONTROLLER is not set 795# CONFIG_NET_POLL_CONTROLLER is not set
796# CONFIG_VMXNET3 is not set
698# CONFIG_ISDN is not set 797# CONFIG_ISDN is not set
699# CONFIG_PHONE is not set 798# CONFIG_PHONE is not set
700 799
@@ -713,6 +812,7 @@ CONFIG_SERIO=m
713# CONFIG_SERIO_LIBPS2 is not set 812# CONFIG_SERIO_LIBPS2 is not set
714# CONFIG_SERIO_RAW is not set 813# CONFIG_SERIO_RAW is not set
715CONFIG_SERIO_XILINX_XPS_PS2=m 814CONFIG_SERIO_XILINX_XPS_PS2=m
815# CONFIG_SERIO_ALTERA_PS2 is not set
716# CONFIG_GAMEPORT is not set 816# CONFIG_GAMEPORT is not set
717 817
718# 818#
@@ -747,6 +847,7 @@ CONFIG_SERIAL_CORE_CONSOLE=y
747# CONFIG_SERIAL_JSM is not set 847# CONFIG_SERIAL_JSM is not set
748CONFIG_SERIAL_OF_PLATFORM=y 848CONFIG_SERIAL_OF_PLATFORM=y
749# CONFIG_SERIAL_OF_PLATFORM_NWPSERIAL is not set 849# CONFIG_SERIAL_OF_PLATFORM_NWPSERIAL is not set
850# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set
750CONFIG_UNIX98_PTYS=y 851CONFIG_UNIX98_PTYS=y
751# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set 852# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
752CONFIG_LEGACY_PTYS=y 853CONFIG_LEGACY_PTYS=y
@@ -764,6 +865,7 @@ CONFIG_XILINX_HWICAP=m
764CONFIG_DEVPORT=y 865CONFIG_DEVPORT=y
765CONFIG_I2C=m 866CONFIG_I2C=m
766CONFIG_I2C_BOARDINFO=y 867CONFIG_I2C_BOARDINFO=y
868CONFIG_I2C_COMPAT=y
767CONFIG_I2C_CHARDEV=m 869CONFIG_I2C_CHARDEV=m
768CONFIG_I2C_HELPER_AUTO=y 870CONFIG_I2C_HELPER_AUTO=y
769CONFIG_I2C_ALGOBIT=m 871CONFIG_I2C_ALGOBIT=m
@@ -807,11 +909,6 @@ CONFIG_I2C_IBM_IIC=m
807# CONFIG_I2C_TINY_USB is not set 909# CONFIG_I2C_TINY_USB is not set
808 910
809# 911#
810# Graphics adapter I2C/DDC channel drivers
811#
812# CONFIG_I2C_VOODOO3 is not set
813
814#
815# Other I2C/SMBus bus drivers 912# Other I2C/SMBus bus drivers
816# 913#
817# CONFIG_I2C_PCA_PLATFORM is not set 914# CONFIG_I2C_PCA_PLATFORM is not set
@@ -820,20 +917,17 @@ CONFIG_I2C_IBM_IIC=m
820# 917#
821# Miscellaneous I2C Chip support 918# Miscellaneous I2C Chip support
822# 919#
823# CONFIG_DS1682 is not set
824# CONFIG_EEPROM_AT24 is not set
825# CONFIG_EEPROM_LEGACY is not set
826# CONFIG_SENSORS_PCF8574 is not set
827# CONFIG_PCF8575 is not set
828# CONFIG_SENSORS_PCA9539 is not set
829# CONFIG_SENSORS_PCF8591 is not set
830# CONFIG_SENSORS_MAX6875 is not set
831# CONFIG_SENSORS_TSL2550 is not set 920# CONFIG_SENSORS_TSL2550 is not set
832# CONFIG_I2C_DEBUG_CORE is not set 921# CONFIG_I2C_DEBUG_CORE is not set
833# CONFIG_I2C_DEBUG_ALGO is not set 922# CONFIG_I2C_DEBUG_ALGO is not set
834# CONFIG_I2C_DEBUG_BUS is not set 923# CONFIG_I2C_DEBUG_BUS is not set
835# CONFIG_I2C_DEBUG_CHIP is not set 924# CONFIG_I2C_DEBUG_CHIP is not set
836# CONFIG_SPI is not set 925# CONFIG_SPI is not set
926
927#
928# PPS support
929#
930# CONFIG_PPS is not set
837CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y 931CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
838CONFIG_ARCH_REQUIRE_GPIOLIB=y 932CONFIG_ARCH_REQUIRE_GPIOLIB=y
839CONFIG_GPIOLIB=y 933CONFIG_GPIOLIB=y
@@ -855,16 +949,21 @@ CONFIG_GPIO_XILINX=y
855# 949#
856# PCI GPIO expanders: 950# PCI GPIO expanders:
857# 951#
952# CONFIG_GPIO_CS5535 is not set
858# CONFIG_GPIO_BT8XX is not set 953# CONFIG_GPIO_BT8XX is not set
954# CONFIG_GPIO_LANGWELL is not set
859 955
860# 956#
861# SPI GPIO expanders: 957# SPI GPIO expanders:
862# 958#
959
960#
961# AC97 GPIO expanders:
962#
863# CONFIG_W1 is not set 963# CONFIG_W1 is not set
864# CONFIG_POWER_SUPPLY is not set 964# CONFIG_POWER_SUPPLY is not set
865# CONFIG_HWMON is not set 965# CONFIG_HWMON is not set
866# CONFIG_THERMAL is not set 966# CONFIG_THERMAL is not set
867# CONFIG_THERMAL_HWMON is not set
868# CONFIG_WATCHDOG is not set 967# CONFIG_WATCHDOG is not set
869CONFIG_SSB_POSSIBLE=y 968CONFIG_SSB_POSSIBLE=y
870 969
@@ -884,28 +983,15 @@ CONFIG_SSB_POSSIBLE=y
884# CONFIG_MFD_WM8400 is not set 983# CONFIG_MFD_WM8400 is not set
885# CONFIG_MFD_WM8350_I2C is not set 984# CONFIG_MFD_WM8350_I2C is not set
886# CONFIG_MFD_PCF50633 is not set 985# CONFIG_MFD_PCF50633 is not set
986# CONFIG_AB3100_CORE is not set
887# CONFIG_REGULATOR is not set 987# CONFIG_REGULATOR is not set
888 988# CONFIG_MEDIA_SUPPORT is not set
889#
890# Multimedia devices
891#
892
893#
894# Multimedia core support
895#
896# CONFIG_VIDEO_DEV is not set
897# CONFIG_DVB_CORE is not set
898# CONFIG_VIDEO_MEDIA is not set
899
900#
901# Multimedia drivers
902#
903# CONFIG_DAB is not set
904 989
905# 990#
906# Graphics support 991# Graphics support
907# 992#
908# CONFIG_AGP is not set 993# CONFIG_AGP is not set
994CONFIG_VGA_ARB=y
909# CONFIG_DRM is not set 995# CONFIG_DRM is not set
910# CONFIG_VGASTATE is not set 996# CONFIG_VGASTATE is not set
911# CONFIG_VIDEO_OUTPUT_CONTROL is not set 997# CONFIG_VIDEO_OUTPUT_CONTROL is not set
@@ -961,6 +1047,7 @@ CONFIG_FB_XILINX=m
961# CONFIG_FB_VIRTUAL is not set 1047# CONFIG_FB_VIRTUAL is not set
962# CONFIG_FB_METRONOME is not set 1048# CONFIG_FB_METRONOME is not set
963# CONFIG_FB_MB862XX is not set 1049# CONFIG_FB_MB862XX is not set
1050# CONFIG_FB_BROADSHEET is not set
964# CONFIG_BACKLIGHT_LCD_SUPPORT is not set 1051# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
965 1052
966# 1053#
@@ -994,19 +1081,22 @@ CONFIG_USB_DEVICE_CLASS=y
994# USB Host Controller Drivers 1081# USB Host Controller Drivers
995# 1082#
996# CONFIG_USB_C67X00_HCD is not set 1083# CONFIG_USB_C67X00_HCD is not set
1084# CONFIG_USB_XHCI_HCD is not set
997CONFIG_USB_EHCI_HCD=m 1085CONFIG_USB_EHCI_HCD=m
998# CONFIG_USB_EHCI_ROOT_HUB_TT is not set 1086# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
999# CONFIG_USB_EHCI_TT_NEWSCHED is not set 1087# CONFIG_USB_EHCI_TT_NEWSCHED is not set
1000CONFIG_USB_EHCI_BIG_ENDIAN_MMIO=y 1088CONFIG_USB_EHCI_BIG_ENDIAN_MMIO=y
1001CONFIG_USB_EHCI_BIG_ENDIAN_DESC=y 1089CONFIG_USB_EHCI_BIG_ENDIAN_DESC=y
1090# CONFIG_XPS_USB_HCD_XILINX is not set
1002CONFIG_USB_EHCI_HCD_PPC_OF=y 1091CONFIG_USB_EHCI_HCD_PPC_OF=y
1003# CONFIG_USB_OXU210HP_HCD is not set 1092# CONFIG_USB_OXU210HP_HCD is not set
1004# CONFIG_USB_ISP116X_HCD is not set 1093# CONFIG_USB_ISP116X_HCD is not set
1005# CONFIG_USB_ISP1760_HCD is not set 1094# CONFIG_USB_ISP1760_HCD is not set
1095# CONFIG_USB_ISP1362_HCD is not set
1006CONFIG_USB_OHCI_HCD=m 1096CONFIG_USB_OHCI_HCD=m
1007CONFIG_USB_OHCI_HCD_PPC_OF=y
1008CONFIG_USB_OHCI_HCD_PPC_OF_BE=y 1097CONFIG_USB_OHCI_HCD_PPC_OF_BE=y
1009# CONFIG_USB_OHCI_HCD_PPC_OF_LE is not set 1098# CONFIG_USB_OHCI_HCD_PPC_OF_LE is not set
1099CONFIG_USB_OHCI_HCD_PPC_OF=y
1010# CONFIG_USB_OHCI_HCD_PCI is not set 1100# CONFIG_USB_OHCI_HCD_PCI is not set
1011CONFIG_USB_OHCI_BIG_ENDIAN_DESC=y 1101CONFIG_USB_OHCI_BIG_ENDIAN_DESC=y
1012CONFIG_USB_OHCI_BIG_ENDIAN_MMIO=y 1102CONFIG_USB_OHCI_BIG_ENDIAN_MMIO=y
@@ -1030,11 +1120,11 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1030# CONFIG_USB_TMC is not set 1120# CONFIG_USB_TMC is not set
1031 1121
1032# 1122#
1033# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; 1123# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
1034# 1124#
1035 1125
1036# 1126#
1037# see USB_STORAGE Help for more information 1127# also be needed; see USB_STORAGE Help for more info
1038# 1128#
1039CONFIG_USB_STORAGE=m 1129CONFIG_USB_STORAGE=m
1040# CONFIG_USB_STORAGE_DEBUG is not set 1130# CONFIG_USB_STORAGE_DEBUG is not set
@@ -1075,7 +1165,6 @@ CONFIG_USB_STORAGE=m
1075# CONFIG_USB_LED is not set 1165# CONFIG_USB_LED is not set
1076# CONFIG_USB_CYPRESS_CY7C63 is not set 1166# CONFIG_USB_CYPRESS_CY7C63 is not set
1077# CONFIG_USB_CYTHERM is not set 1167# CONFIG_USB_CYTHERM is not set
1078# CONFIG_USB_PHIDGET is not set
1079# CONFIG_USB_IDMOUSE is not set 1168# CONFIG_USB_IDMOUSE is not set
1080# CONFIG_USB_FTDI_ELAN is not set 1169# CONFIG_USB_FTDI_ELAN is not set
1081# CONFIG_USB_APPLEDISPLAY is not set 1170# CONFIG_USB_APPLEDISPLAY is not set
@@ -1083,6 +1172,7 @@ CONFIG_USB_STORAGE=m
1083# CONFIG_USB_LD is not set 1172# CONFIG_USB_LD is not set
1084# CONFIG_USB_TRANCEVIBRATOR is not set 1173# CONFIG_USB_TRANCEVIBRATOR is not set
1085# CONFIG_USB_IOWARRIOR is not set 1174# CONFIG_USB_IOWARRIOR is not set
1175# CONFIG_USB_TEST is not set
1086# CONFIG_USB_ISIGHTFW is not set 1176# CONFIG_USB_ISIGHTFW is not set
1087# CONFIG_USB_VST is not set 1177# CONFIG_USB_VST is not set
1088# CONFIG_USB_GADGET is not set 1178# CONFIG_USB_GADGET is not set
@@ -1091,6 +1181,7 @@ CONFIG_USB_STORAGE=m
1091# OTG and related infrastructure 1181# OTG and related infrastructure
1092# 1182#
1093# CONFIG_USB_GPIO_VBUS is not set 1183# CONFIG_USB_GPIO_VBUS is not set
1184# CONFIG_NOP_USB_XCEIV is not set
1094# CONFIG_UWB is not set 1185# CONFIG_UWB is not set
1095# CONFIG_MMC is not set 1186# CONFIG_MMC is not set
1096# CONFIG_MEMSTICK is not set 1187# CONFIG_MEMSTICK is not set
@@ -1100,7 +1191,12 @@ CONFIG_USB_STORAGE=m
1100# CONFIG_EDAC is not set 1191# CONFIG_EDAC is not set
1101# CONFIG_RTC_CLASS is not set 1192# CONFIG_RTC_CLASS is not set
1102# CONFIG_DMADEVICES is not set 1193# CONFIG_DMADEVICES is not set
1194# CONFIG_AUXDISPLAY is not set
1103# CONFIG_UIO is not set 1195# CONFIG_UIO is not set
1196
1197#
1198# TI VLYNQ
1199#
1104# CONFIG_STAGING is not set 1200# CONFIG_STAGING is not set
1105 1201
1106# 1202#
@@ -1110,6 +1206,7 @@ CONFIG_EXT2_FS=y
1110# CONFIG_EXT2_FS_XATTR is not set 1206# CONFIG_EXT2_FS_XATTR is not set
1111# CONFIG_EXT2_FS_XIP is not set 1207# CONFIG_EXT2_FS_XIP is not set
1112CONFIG_EXT3_FS=m 1208CONFIG_EXT3_FS=m
1209# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
1113CONFIG_EXT3_FS_XATTR=y 1210CONFIG_EXT3_FS_XATTR=y
1114# CONFIG_EXT3_FS_POSIX_ACL is not set 1211# CONFIG_EXT3_FS_POSIX_ACL is not set
1115# CONFIG_EXT3_FS_SECURITY is not set 1212# CONFIG_EXT3_FS_SECURITY is not set
@@ -1119,11 +1216,13 @@ CONFIG_FS_MBCACHE=m
1119# CONFIG_REISERFS_FS is not set 1216# CONFIG_REISERFS_FS is not set
1120# CONFIG_JFS_FS is not set 1217# CONFIG_JFS_FS is not set
1121# CONFIG_FS_POSIX_ACL is not set 1218# CONFIG_FS_POSIX_ACL is not set
1122CONFIG_FILE_LOCKING=y
1123# CONFIG_XFS_FS is not set 1219# CONFIG_XFS_FS is not set
1124# CONFIG_GFS2_FS is not set 1220# CONFIG_GFS2_FS is not set
1125# CONFIG_OCFS2_FS is not set 1221# CONFIG_OCFS2_FS is not set
1126# CONFIG_BTRFS_FS is not set 1222# CONFIG_BTRFS_FS is not set
1223# CONFIG_NILFS2_FS is not set
1224CONFIG_FILE_LOCKING=y
1225CONFIG_FSNOTIFY=y
1127CONFIG_DNOTIFY=y 1226CONFIG_DNOTIFY=y
1128CONFIG_INOTIFY=y 1227CONFIG_INOTIFY=y
1129CONFIG_INOTIFY_USER=y 1228CONFIG_INOTIFY_USER=y
@@ -1133,6 +1232,11 @@ CONFIG_INOTIFY_USER=y
1133# CONFIG_FUSE_FS is not set 1232# CONFIG_FUSE_FS is not set
1134 1233
1135# 1234#
1235# Caches
1236#
1237# CONFIG_FSCACHE is not set
1238
1239#
1136# CD-ROM/DVD Filesystems 1240# CD-ROM/DVD Filesystems
1137# 1241#
1138# CONFIG_ISO9660_FS is not set 1242# CONFIG_ISO9660_FS is not set
@@ -1206,7 +1310,6 @@ CONFIG_LOCKD=y
1206CONFIG_LOCKD_V4=y 1310CONFIG_LOCKD_V4=y
1207CONFIG_NFS_COMMON=y 1311CONFIG_NFS_COMMON=y
1208CONFIG_SUNRPC=y 1312CONFIG_SUNRPC=y
1209# CONFIG_SUNRPC_REGISTER_V4 is not set
1210# CONFIG_RPCSEC_GSS_KRB5 is not set 1313# CONFIG_RPCSEC_GSS_KRB5 is not set
1211# CONFIG_RPCSEC_GSS_SPKM3 is not set 1314# CONFIG_RPCSEC_GSS_SPKM3 is not set
1212# CONFIG_SMB_FS is not set 1315# CONFIG_SMB_FS is not set
@@ -1261,6 +1364,7 @@ CONFIG_NLS_ISO8859_1=m
1261# CONFIG_NLS_KOI8_U is not set 1364# CONFIG_NLS_KOI8_U is not set
1262# CONFIG_NLS_UTF8 is not set 1365# CONFIG_NLS_UTF8 is not set
1263# CONFIG_DLM is not set 1366# CONFIG_DLM is not set
1367# CONFIG_BINARY_PRINTF is not set
1264 1368
1265# 1369#
1266# Library routines 1370# Library routines
@@ -1278,11 +1382,13 @@ CONFIG_ZLIB_INFLATE=y
1278CONFIG_ZLIB_DEFLATE=y 1382CONFIG_ZLIB_DEFLATE=y
1279CONFIG_LZO_COMPRESS=m 1383CONFIG_LZO_COMPRESS=m
1280CONFIG_LZO_DECOMPRESS=m 1384CONFIG_LZO_DECOMPRESS=m
1281CONFIG_PLIST=y 1385CONFIG_DECOMPRESS_GZIP=y
1282CONFIG_HAS_IOMEM=y 1386CONFIG_HAS_IOMEM=y
1283CONFIG_HAS_IOPORT=y 1387CONFIG_HAS_IOPORT=y
1284CONFIG_HAS_DMA=y 1388CONFIG_HAS_DMA=y
1285CONFIG_HAVE_LMB=y 1389CONFIG_HAVE_LMB=y
1390CONFIG_NLATTR=y
1391CONFIG_GENERIC_ATOMIC64=y
1286 1392
1287# 1393#
1288# Kernel hacking 1394# Kernel hacking
@@ -1292,6 +1398,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
1292CONFIG_ENABLE_MUST_CHECK=y 1398CONFIG_ENABLE_MUST_CHECK=y
1293CONFIG_FRAME_WARN=1024 1399CONFIG_FRAME_WARN=1024
1294CONFIG_MAGIC_SYSRQ=y 1400CONFIG_MAGIC_SYSRQ=y
1401# CONFIG_STRIP_ASM_SYMS is not set
1295# CONFIG_UNUSED_SYMBOLS is not set 1402# CONFIG_UNUSED_SYMBOLS is not set
1296# CONFIG_DEBUG_FS is not set 1403# CONFIG_DEBUG_FS is not set
1297# CONFIG_HEADERS_CHECK is not set 1404# CONFIG_HEADERS_CHECK is not set
@@ -1300,16 +1407,23 @@ CONFIG_DEBUG_KERNEL=y
1300CONFIG_DETECT_SOFTLOCKUP=y 1407CONFIG_DETECT_SOFTLOCKUP=y
1301# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set 1408# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
1302CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 1409CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
1410CONFIG_DETECT_HUNG_TASK=y
1411# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
1412CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
1303CONFIG_SCHED_DEBUG=y 1413CONFIG_SCHED_DEBUG=y
1304# CONFIG_SCHEDSTATS is not set 1414# CONFIG_SCHEDSTATS is not set
1305# CONFIG_TIMER_STATS is not set 1415# CONFIG_TIMER_STATS is not set
1306# CONFIG_DEBUG_OBJECTS is not set 1416# CONFIG_DEBUG_OBJECTS is not set
1307# CONFIG_SLUB_DEBUG_ON is not set 1417# CONFIG_SLUB_DEBUG_ON is not set
1308# CONFIG_SLUB_STATS is not set 1418# CONFIG_SLUB_STATS is not set
1419# CONFIG_DEBUG_KMEMLEAK is not set
1309# CONFIG_DEBUG_RT_MUTEXES is not set 1420# CONFIG_DEBUG_RT_MUTEXES is not set
1310# CONFIG_RT_MUTEX_TESTER is not set 1421# CONFIG_RT_MUTEX_TESTER is not set
1311# CONFIG_DEBUG_SPINLOCK is not set 1422# CONFIG_DEBUG_SPINLOCK is not set
1312# CONFIG_DEBUG_MUTEXES is not set 1423# CONFIG_DEBUG_MUTEXES is not set
1424# CONFIG_DEBUG_LOCK_ALLOC is not set
1425# CONFIG_PROVE_LOCKING is not set
1426# CONFIG_LOCK_STAT is not set
1313# CONFIG_DEBUG_SPINLOCK_SLEEP is not set 1427# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1314# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set 1428# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1315# CONFIG_DEBUG_KOBJECT is not set 1429# CONFIG_DEBUG_KOBJECT is not set
@@ -1321,35 +1435,43 @@ CONFIG_DEBUG_BUGVERBOSE=y
1321# CONFIG_DEBUG_LIST is not set 1435# CONFIG_DEBUG_LIST is not set
1322# CONFIG_DEBUG_SG is not set 1436# CONFIG_DEBUG_SG is not set
1323# CONFIG_DEBUG_NOTIFIERS is not set 1437# CONFIG_DEBUG_NOTIFIERS is not set
1324# CONFIG_BOOT_PRINTK_DELAY is not set 1438# CONFIG_DEBUG_CREDENTIALS is not set
1325# CONFIG_RCU_TORTURE_TEST is not set 1439# CONFIG_RCU_TORTURE_TEST is not set
1326# CONFIG_RCU_CPU_STALL_DETECTOR is not set 1440# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1327# CONFIG_BACKTRACE_SELF_TEST is not set 1441# CONFIG_BACKTRACE_SELF_TEST is not set
1328# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set 1442# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1443# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
1329# CONFIG_FAULT_INJECTION is not set 1444# CONFIG_FAULT_INJECTION is not set
1330# CONFIG_LATENCYTOP is not set 1445# CONFIG_LATENCYTOP is not set
1331CONFIG_SYSCTL_SYSCALL_CHECK=y 1446CONFIG_SYSCTL_SYSCALL_CHECK=y
1447# CONFIG_DEBUG_PAGEALLOC is not set
1332CONFIG_HAVE_FUNCTION_TRACER=y 1448CONFIG_HAVE_FUNCTION_TRACER=y
1449CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
1333CONFIG_HAVE_DYNAMIC_FTRACE=y 1450CONFIG_HAVE_DYNAMIC_FTRACE=y
1334CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 1451CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1335 1452CONFIG_TRACING_SUPPORT=y
1336# 1453CONFIG_FTRACE=y
1337# Tracers
1338#
1339# CONFIG_FUNCTION_TRACER is not set 1454# CONFIG_FUNCTION_TRACER is not set
1455# CONFIG_IRQSOFF_TRACER is not set
1340# CONFIG_SCHED_TRACER is not set 1456# CONFIG_SCHED_TRACER is not set
1341# CONFIG_CONTEXT_SWITCH_TRACER is not set 1457# CONFIG_ENABLE_DEFAULT_TRACERS is not set
1342# CONFIG_BOOT_TRACER is not set 1458# CONFIG_BOOT_TRACER is not set
1343# CONFIG_TRACE_BRANCH_PROFILING is not set 1459CONFIG_BRANCH_PROFILE_NONE=y
1460# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
1461# CONFIG_PROFILE_ALL_BRANCHES is not set
1344# CONFIG_STACK_TRACER is not set 1462# CONFIG_STACK_TRACER is not set
1345# CONFIG_DYNAMIC_PRINTK_DEBUG is not set 1463# CONFIG_KMEMTRACE is not set
1464# CONFIG_WORKQUEUE_TRACER is not set
1465# CONFIG_BLK_DEV_IO_TRACE is not set
1466# CONFIG_DMA_API_DEBUG is not set
1346# CONFIG_SAMPLES is not set 1467# CONFIG_SAMPLES is not set
1347CONFIG_HAVE_ARCH_KGDB=y 1468CONFIG_HAVE_ARCH_KGDB=y
1348# CONFIG_KGDB is not set 1469# CONFIG_KGDB is not set
1470# CONFIG_PPC_DISABLE_WERROR is not set
1471CONFIG_PPC_WERROR=y
1349CONFIG_PRINT_STACK_DEPTH=64 1472CONFIG_PRINT_STACK_DEPTH=64
1350# CONFIG_DEBUG_STACKOVERFLOW is not set 1473# CONFIG_DEBUG_STACKOVERFLOW is not set
1351# CONFIG_DEBUG_STACK_USAGE is not set 1474# CONFIG_DEBUG_STACK_USAGE is not set
1352# CONFIG_DEBUG_PAGEALLOC is not set
1353# CONFIG_CODE_PATCHING_SELFTEST is not set 1475# CONFIG_CODE_PATCHING_SELFTEST is not set
1354# CONFIG_FTR_FIXUP_SELFTEST is not set 1476# CONFIG_FTR_FIXUP_SELFTEST is not set
1355# CONFIG_MSI_BITMAP_SELFTEST is not set 1477# CONFIG_MSI_BITMAP_SELFTEST is not set
@@ -1363,13 +1485,16 @@ CONFIG_PRINT_STACK_DEPTH=64
1363# CONFIG_KEYS is not set 1485# CONFIG_KEYS is not set
1364# CONFIG_SECURITY is not set 1486# CONFIG_SECURITY is not set
1365# CONFIG_SECURITYFS is not set 1487# CONFIG_SECURITYFS is not set
1366# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1488# CONFIG_DEFAULT_SECURITY_SELINUX is not set
1489# CONFIG_DEFAULT_SECURITY_SMACK is not set
1490# CONFIG_DEFAULT_SECURITY_TOMOYO is not set
1491CONFIG_DEFAULT_SECURITY_DAC=y
1492CONFIG_DEFAULT_SECURITY=""
1367CONFIG_CRYPTO=y 1493CONFIG_CRYPTO=y
1368 1494
1369# 1495#
1370# Crypto core or helper 1496# Crypto core or helper
1371# 1497#
1372# CONFIG_CRYPTO_FIPS is not set
1373CONFIG_CRYPTO_ALGAPI=y 1498CONFIG_CRYPTO_ALGAPI=y
1374CONFIG_CRYPTO_ALGAPI2=y 1499CONFIG_CRYPTO_ALGAPI2=y
1375CONFIG_CRYPTO_AEAD2=y 1500CONFIG_CRYPTO_AEAD2=y
@@ -1378,10 +1503,12 @@ CONFIG_CRYPTO_BLKCIPHER2=y
1378CONFIG_CRYPTO_HASH=y 1503CONFIG_CRYPTO_HASH=y
1379CONFIG_CRYPTO_HASH2=y 1504CONFIG_CRYPTO_HASH2=y
1380CONFIG_CRYPTO_RNG2=y 1505CONFIG_CRYPTO_RNG2=y
1506CONFIG_CRYPTO_PCOMP=y
1381CONFIG_CRYPTO_MANAGER=y 1507CONFIG_CRYPTO_MANAGER=y
1382CONFIG_CRYPTO_MANAGER2=y 1508CONFIG_CRYPTO_MANAGER2=y
1383# CONFIG_CRYPTO_GF128MUL is not set 1509# CONFIG_CRYPTO_GF128MUL is not set
1384# CONFIG_CRYPTO_NULL is not set 1510# CONFIG_CRYPTO_NULL is not set
1511CONFIG_CRYPTO_WORKQUEUE=y
1385# CONFIG_CRYPTO_CRYPTD is not set 1512# CONFIG_CRYPTO_CRYPTD is not set
1386# CONFIG_CRYPTO_AUTHENC is not set 1513# CONFIG_CRYPTO_AUTHENC is not set
1387# CONFIG_CRYPTO_TEST is not set 1514# CONFIG_CRYPTO_TEST is not set
@@ -1409,11 +1536,13 @@ CONFIG_CRYPTO_PCBC=y
1409# 1536#
1410# CONFIG_CRYPTO_HMAC is not set 1537# CONFIG_CRYPTO_HMAC is not set
1411# CONFIG_CRYPTO_XCBC is not set 1538# CONFIG_CRYPTO_XCBC is not set
1539# CONFIG_CRYPTO_VMAC is not set
1412 1540
1413# 1541#
1414# Digest 1542# Digest
1415# 1543#
1416# CONFIG_CRYPTO_CRC32C is not set 1544# CONFIG_CRYPTO_CRC32C is not set
1545# CONFIG_CRYPTO_GHASH is not set
1417# CONFIG_CRYPTO_MD4 is not set 1546# CONFIG_CRYPTO_MD4 is not set
1418CONFIG_CRYPTO_MD5=y 1547CONFIG_CRYPTO_MD5=y
1419# CONFIG_CRYPTO_MICHAEL_MIC is not set 1548# CONFIG_CRYPTO_MICHAEL_MIC is not set
@@ -1450,6 +1579,7 @@ CONFIG_CRYPTO_DES=y
1450# Compression 1579# Compression
1451# 1580#
1452CONFIG_CRYPTO_DEFLATE=m 1581CONFIG_CRYPTO_DEFLATE=m
1582# CONFIG_CRYPTO_ZLIB is not set
1453CONFIG_CRYPTO_LZO=m 1583CONFIG_CRYPTO_LZO=m
1454 1584
1455# 1585#
diff --git a/arch/powerpc/configs/ppc64_defconfig b/arch/powerpc/configs/ppc64_defconfig
index 7b3804a6e363..369f4e02c5dd 100644
--- a/arch/powerpc/configs/ppc64_defconfig
+++ b/arch/powerpc/configs/ppc64_defconfig
@@ -93,8 +93,7 @@ CONFIG_CPUSETS=y
93# CONFIG_GROUP_SCHED is not set 93# CONFIG_GROUP_SCHED is not set
94# CONFIG_CGROUP_CPUACCT is not set 94# CONFIG_CGROUP_CPUACCT is not set
95# CONFIG_RESOURCE_COUNTERS is not set 95# CONFIG_RESOURCE_COUNTERS is not set
96CONFIG_SYSFS_DEPRECATED=y 96# CONFIG_SYSFS_DEPRECATED_V2 is not set
97CONFIG_SYSFS_DEPRECATED_V2=y
98CONFIG_PROC_PID_CPUSET=y 97CONFIG_PROC_PID_CPUSET=y
99CONFIG_RELAY=y 98CONFIG_RELAY=y
100CONFIG_NAMESPACES=y 99CONFIG_NAMESPACES=y
@@ -137,8 +136,9 @@ CONFIG_TRACEPOINTS=y
137CONFIG_MARKERS=y 136CONFIG_MARKERS=y
138CONFIG_OPROFILE=y 137CONFIG_OPROFILE=y
139CONFIG_HAVE_OPROFILE=y 138CONFIG_HAVE_OPROFILE=y
140# CONFIG_KPROBES is not set 139CONFIG_KPROBES=y
141CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 140CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
141CONFIG_KRETPROBES=y
142CONFIG_HAVE_IOREMAP_PROT=y 142CONFIG_HAVE_IOREMAP_PROT=y
143CONFIG_HAVE_KPROBES=y 143CONFIG_HAVE_KPROBES=y
144CONFIG_HAVE_KRETPROBES=y 144CONFIG_HAVE_KRETPROBES=y
@@ -191,6 +191,7 @@ CONFIG_SCANLOG=m
191CONFIG_LPARCFG=y 191CONFIG_LPARCFG=y
192CONFIG_PPC_SMLPAR=y 192CONFIG_PPC_SMLPAR=y
193CONFIG_CMM=y 193CONFIG_CMM=y
194CONFIG_DTL=y
194CONFIG_PPC_ISERIES=y 195CONFIG_PPC_ISERIES=y
195 196
196# 197#
@@ -328,9 +329,10 @@ CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
328CONFIG_KEXEC=y 329CONFIG_KEXEC=y
329# CONFIG_PHYP_DUMP is not set 330# CONFIG_PHYP_DUMP is not set
330CONFIG_IRQ_ALL_CPUS=y 331CONFIG_IRQ_ALL_CPUS=y
331# CONFIG_NUMA is not set 332CONFIG_NUMA=y
333CONFIG_NODES_SHIFT=8
334CONFIG_MAX_ACTIVE_REGIONS=256
332CONFIG_ARCH_SELECT_MEMORY_MODEL=y 335CONFIG_ARCH_SELECT_MEMORY_MODEL=y
333CONFIG_ARCH_FLATMEM_ENABLE=y
334CONFIG_ARCH_SPARSEMEM_ENABLE=y 336CONFIG_ARCH_SPARSEMEM_ENABLE=y
335CONFIG_ARCH_SPARSEMEM_DEFAULT=y 337CONFIG_ARCH_SPARSEMEM_DEFAULT=y
336CONFIG_ARCH_POPULATES_NODE_MAP=y 338CONFIG_ARCH_POPULATES_NODE_MAP=y
@@ -339,6 +341,7 @@ CONFIG_SELECT_MEMORY_MODEL=y
339# CONFIG_DISCONTIGMEM_MANUAL is not set 341# CONFIG_DISCONTIGMEM_MANUAL is not set
340CONFIG_SPARSEMEM_MANUAL=y 342CONFIG_SPARSEMEM_MANUAL=y
341CONFIG_SPARSEMEM=y 343CONFIG_SPARSEMEM=y
344CONFIG_NEED_MULTIPLE_NODES=y
342CONFIG_HAVE_MEMORY_PRESENT=y 345CONFIG_HAVE_MEMORY_PRESENT=y
343CONFIG_SPARSEMEM_EXTREME=y 346CONFIG_SPARSEMEM_EXTREME=y
344CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y 347CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
@@ -354,11 +357,12 @@ CONFIG_PHYS_ADDR_T_64BIT=y
354CONFIG_ZONE_DMA_FLAG=1 357CONFIG_ZONE_DMA_FLAG=1
355CONFIG_BOUNCE=y 358CONFIG_BOUNCE=y
356CONFIG_UNEVICTABLE_LRU=y 359CONFIG_UNEVICTABLE_LRU=y
360CONFIG_NODES_SPAN_OTHER_NODES=y
357CONFIG_ARCH_MEMORY_PROBE=y 361CONFIG_ARCH_MEMORY_PROBE=y
358CONFIG_PPC_HAS_HASH_64K=y 362CONFIG_PPC_HAS_HASH_64K=y
359# CONFIG_PPC_64K_PAGES is not set 363# CONFIG_PPC_64K_PAGES is not set
360CONFIG_FORCE_MAX_ZONEORDER=13 364CONFIG_FORCE_MAX_ZONEORDER=13
361# CONFIG_SCHED_SMT is not set 365CONFIG_SCHED_SMT=y
362CONFIG_PROC_DEVICETREE=y 366CONFIG_PROC_DEVICETREE=y
363# CONFIG_CMDLINE_BOOL is not set 367# CONFIG_CMDLINE_BOOL is not set
364CONFIG_EXTRA_TARGETS="" 368CONFIG_EXTRA_TARGETS=""
@@ -790,12 +794,12 @@ CONFIG_SCSI_IPR=y
790CONFIG_SCSI_IPR_TRACE=y 794CONFIG_SCSI_IPR_TRACE=y
791CONFIG_SCSI_IPR_DUMP=y 795CONFIG_SCSI_IPR_DUMP=y
792# CONFIG_SCSI_QLOGIC_1280 is not set 796# CONFIG_SCSI_QLOGIC_1280 is not set
793# CONFIG_SCSI_QLA_FC is not set 797CONFIG_SCSI_QLA_FC=m
794# CONFIG_SCSI_QLA_ISCSI is not set 798# CONFIG_SCSI_QLA_ISCSI is not set
795CONFIG_SCSI_LPFC=m 799CONFIG_SCSI_LPFC=m
796# CONFIG_SCSI_DC395x is not set 800# CONFIG_SCSI_DC395x is not set
797# CONFIG_SCSI_DC390T is not set 801# CONFIG_SCSI_DC390T is not set
798CONFIG_SCSI_DEBUG=m 802# CONFIG_SCSI_DEBUG is not set
799# CONFIG_SCSI_SRP is not set 803# CONFIG_SCSI_SRP is not set
800# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set 804# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set
801# CONFIG_SCSI_DH is not set 805# CONFIG_SCSI_DH is not set
@@ -867,9 +871,8 @@ CONFIG_MD_AUTODETECT=y
867CONFIG_MD_LINEAR=y 871CONFIG_MD_LINEAR=y
868CONFIG_MD_RAID0=y 872CONFIG_MD_RAID0=y
869CONFIG_MD_RAID1=y 873CONFIG_MD_RAID1=y
870CONFIG_MD_RAID10=y 874CONFIG_MD_RAID10=m
871CONFIG_MD_RAID456=y 875CONFIG_MD_RAID456=m
872CONFIG_MD_RAID5_RESHAPE=y
873CONFIG_MD_MULTIPATH=m 876CONFIG_MD_MULTIPATH=m
874CONFIG_MD_FAULTY=m 877CONFIG_MD_FAULTY=m
875CONFIG_BLK_DEV_DM=y 878CONFIG_BLK_DEV_DM=y
@@ -984,7 +987,7 @@ CONFIG_ACENIC=m
984CONFIG_ACENIC_OMIT_TIGON_I=y 987CONFIG_ACENIC_OMIT_TIGON_I=y
985# CONFIG_DL2K is not set 988# CONFIG_DL2K is not set
986CONFIG_E1000=y 989CONFIG_E1000=y
987# CONFIG_E1000E is not set 990CONFIG_E1000E=y
988# CONFIG_IP1000 is not set 991# CONFIG_IP1000 is not set
989# CONFIG_IGB is not set 992# CONFIG_IGB is not set
990# CONFIG_NS83820 is not set 993# CONFIG_NS83820 is not set
@@ -1000,25 +1003,24 @@ CONFIG_TIGON3=y
1000CONFIG_SPIDER_NET=m 1003CONFIG_SPIDER_NET=m
1001CONFIG_GELIC_NET=m 1004CONFIG_GELIC_NET=m
1002CONFIG_GELIC_WIRELESS=y 1005CONFIG_GELIC_WIRELESS=y
1003# CONFIG_GELIC_WIRELESS_OLD_PSK_INTERFACE is not set
1004# CONFIG_QLA3XXX is not set 1006# CONFIG_QLA3XXX is not set
1005# CONFIG_ATL1 is not set 1007# CONFIG_ATL1 is not set
1006# CONFIG_ATL1E is not set 1008# CONFIG_ATL1E is not set
1007# CONFIG_JME is not set 1009# CONFIG_JME is not set
1008CONFIG_NETDEV_10000=y 1010CONFIG_NETDEV_10000=y
1009# CONFIG_CHELSIO_T1 is not set 1011CONFIG_CHELSIO_T1=m
1010# CONFIG_CHELSIO_T3 is not set 1012CONFIG_CHELSIO_T3=m
1011CONFIG_EHEA=m 1013CONFIG_EHEA=m
1012# CONFIG_ENIC is not set 1014# CONFIG_ENIC is not set
1013# CONFIG_IXGBE is not set 1015CONFIG_IXGBE=m
1014CONFIG_IXGB=m 1016CONFIG_IXGB=m
1015# CONFIG_S2IO is not set 1017CONFIG_S2IO=m
1016# CONFIG_MYRI10GE is not set 1018CONFIG_MYRI10GE=m
1017# CONFIG_NETXEN_NIC is not set 1019CONFIG_NETXEN_NIC=m
1018# CONFIG_NIU is not set 1020# CONFIG_NIU is not set
1019CONFIG_PASEMI_MAC=y 1021CONFIG_PASEMI_MAC=y
1020# CONFIG_MLX4_EN is not set 1022CONFIG_MLX4_EN=m
1021# CONFIG_MLX4_CORE is not set 1023CONFIG_MLX4_CORE=m
1022# CONFIG_TEHUTI is not set 1024# CONFIG_TEHUTI is not set
1023# CONFIG_BNX2X is not set 1025# CONFIG_BNX2X is not set
1024# CONFIG_QLGE is not set 1026# CONFIG_QLGE is not set
@@ -1169,7 +1171,7 @@ CONFIG_SERIAL_TXX9=y
1169CONFIG_HAS_TXX9_SERIAL=y 1171CONFIG_HAS_TXX9_SERIAL=y
1170CONFIG_SERIAL_TXX9_NR_UARTS=6 1172CONFIG_SERIAL_TXX9_NR_UARTS=6
1171CONFIG_SERIAL_TXX9_CONSOLE=y 1173CONFIG_SERIAL_TXX9_CONSOLE=y
1172# CONFIG_SERIAL_JSM is not set 1174CONFIG_SERIAL_JSM=m
1173# CONFIG_SERIAL_OF_PLATFORM is not set 1175# CONFIG_SERIAL_OF_PLATFORM is not set
1174CONFIG_UNIX98_PTYS=y 1176CONFIG_UNIX98_PTYS=y
1175CONFIG_LEGACY_PTYS=y 1177CONFIG_LEGACY_PTYS=y
@@ -1586,7 +1588,7 @@ CONFIG_USB_DEVICEFS=y
1586CONFIG_USB_DEVICE_CLASS=y 1588CONFIG_USB_DEVICE_CLASS=y
1587# CONFIG_USB_DYNAMIC_MINORS is not set 1589# CONFIG_USB_DYNAMIC_MINORS is not set
1588# CONFIG_USB_OTG is not set 1590# CONFIG_USB_OTG is not set
1589# CONFIG_USB_MON is not set 1591CONFIG_USB_MON=m
1590# CONFIG_USB_WUSB is not set 1592# CONFIG_USB_WUSB is not set
1591# CONFIG_USB_WUSB_CBAF is not set 1593# CONFIG_USB_WUSB_CBAF is not set
1592 1594
@@ -1686,21 +1688,22 @@ CONFIG_USB_APPLEDISPLAY=m
1686# CONFIG_NEW_LEDS is not set 1688# CONFIG_NEW_LEDS is not set
1687# CONFIG_ACCESSIBILITY is not set 1689# CONFIG_ACCESSIBILITY is not set
1688CONFIG_INFINIBAND=m 1690CONFIG_INFINIBAND=m
1689# CONFIG_INFINIBAND_USER_MAD is not set 1691CONFIG_INFINIBAND_USER_MAD=m
1690# CONFIG_INFINIBAND_USER_ACCESS is not set 1692CONFIG_INFINIBAND_USER_ACCESS=m
1693CONFIG_INFINIBAND_USER_MEM=y
1691CONFIG_INFINIBAND_ADDR_TRANS=y 1694CONFIG_INFINIBAND_ADDR_TRANS=y
1692CONFIG_INFINIBAND_MTHCA=m 1695CONFIG_INFINIBAND_MTHCA=m
1693CONFIG_INFINIBAND_MTHCA_DEBUG=y 1696CONFIG_INFINIBAND_MTHCA_DEBUG=y
1694# CONFIG_INFINIBAND_IPATH is not set 1697CONFIG_INFINIBAND_IPATH=m
1695CONFIG_INFINIBAND_EHCA=m 1698CONFIG_INFINIBAND_EHCA=m
1696# CONFIG_INFINIBAND_AMSO1100 is not set 1699# CONFIG_INFINIBAND_AMSO1100 is not set
1697# CONFIG_MLX4_INFINIBAND is not set 1700CONFIG_MLX4_INFINIBAND=m
1698# CONFIG_INFINIBAND_NES is not set 1701# CONFIG_INFINIBAND_NES is not set
1699CONFIG_INFINIBAND_IPOIB=m 1702CONFIG_INFINIBAND_IPOIB=m
1700# CONFIG_INFINIBAND_IPOIB_CM is not set 1703CONFIG_INFINIBAND_IPOIB_CM=y
1701CONFIG_INFINIBAND_IPOIB_DEBUG=y 1704CONFIG_INFINIBAND_IPOIB_DEBUG=y
1702# CONFIG_INFINIBAND_IPOIB_DEBUG_DATA is not set 1705# CONFIG_INFINIBAND_IPOIB_DEBUG_DATA is not set
1703# CONFIG_INFINIBAND_SRP is not set 1706CONFIG_INFINIBAND_SRP=m
1704CONFIG_INFINIBAND_ISER=m 1707CONFIG_INFINIBAND_ISER=m
1705CONFIG_EDAC=y 1708CONFIG_EDAC=y
1706 1709
@@ -1798,7 +1801,7 @@ CONFIG_REISERFS_FS=y
1798CONFIG_REISERFS_FS_XATTR=y 1801CONFIG_REISERFS_FS_XATTR=y
1799CONFIG_REISERFS_FS_POSIX_ACL=y 1802CONFIG_REISERFS_FS_POSIX_ACL=y
1800CONFIG_REISERFS_FS_SECURITY=y 1803CONFIG_REISERFS_FS_SECURITY=y
1801CONFIG_JFS_FS=y 1804CONFIG_JFS_FS=m
1802CONFIG_JFS_POSIX_ACL=y 1805CONFIG_JFS_POSIX_ACL=y
1803CONFIG_JFS_SECURITY=y 1806CONFIG_JFS_SECURITY=y
1804# CONFIG_JFS_DEBUG is not set 1807# CONFIG_JFS_DEBUG is not set
@@ -1811,14 +1814,22 @@ CONFIG_XFS_POSIX_ACL=y
1811# CONFIG_XFS_RT is not set 1814# CONFIG_XFS_RT is not set
1812# CONFIG_XFS_DEBUG is not set 1815# CONFIG_XFS_DEBUG is not set
1813# CONFIG_GFS2_FS is not set 1816# CONFIG_GFS2_FS is not set
1814# CONFIG_OCFS2_FS is not set 1817CONFIG_OCFS2_FS=m
1818CONFIG_OCFS2_FS_O2CB=m
1819CONFIG_OCFS2_FS_STATS=y
1820CONFIG_OCFS2_DEBUG_MASKLOG=y
1821# CONFIG_OCFS2_DEBUG_FS is not set
1822# CONFIG_OCFS2_COMPAT_JBD is not set
1823CONFIG_BTRFS_FS=m
1824CONFIG_BTRFS_FS_POSIX_ACL=y
1825CONFIG_NILFS2_FS=m
1815CONFIG_DNOTIFY=y 1826CONFIG_DNOTIFY=y
1816CONFIG_INOTIFY=y 1827CONFIG_INOTIFY=y
1817CONFIG_INOTIFY_USER=y 1828CONFIG_INOTIFY_USER=y
1818# CONFIG_QUOTA is not set 1829# CONFIG_QUOTA is not set
1819# CONFIG_AUTOFS_FS is not set 1830# CONFIG_AUTOFS_FS is not set
1820CONFIG_AUTOFS4_FS=m 1831CONFIG_AUTOFS4_FS=m
1821# CONFIG_FUSE_FS is not set 1832CONFIG_FUSE_FS=m
1822 1833
1823# 1834#
1824# CD-ROM/DVD Filesystems 1835# CD-ROM/DVD Filesystems
@@ -1851,7 +1862,7 @@ CONFIG_TMPFS=y
1851# CONFIG_TMPFS_POSIX_ACL is not set 1862# CONFIG_TMPFS_POSIX_ACL is not set
1852CONFIG_HUGETLBFS=y 1863CONFIG_HUGETLBFS=y
1853CONFIG_HUGETLB_PAGE=y 1864CONFIG_HUGETLB_PAGE=y
1854# CONFIG_CONFIGFS_FS is not set 1865CONFIG_CONFIGFS_FS=m
1855 1866
1856# 1867#
1857# Miscellaneous filesystems 1868# Miscellaneous filesystems
@@ -2075,7 +2086,7 @@ CONFIG_XMON=y
2075CONFIG_XMON_DISASSEMBLY=y 2086CONFIG_XMON_DISASSEMBLY=y
2076CONFIG_DEBUGGER=y 2087CONFIG_DEBUGGER=y
2077CONFIG_IRQSTACKS=y 2088CONFIG_IRQSTACKS=y
2078# CONFIG_VIRQ_DEBUG is not set 2089CONFIG_VIRQ_DEBUG=y
2079CONFIG_BOOTX_TEXT=y 2090CONFIG_BOOTX_TEXT=y
2080# CONFIG_PPC_EARLY_DEBUG is not set 2091# CONFIG_PPC_EARLY_DEBUG is not set
2081 2092
diff --git a/arch/powerpc/configs/ppc64e_defconfig b/arch/powerpc/configs/ppc64e_defconfig
index 8195f1650cbf..403e82e2e83c 100644
--- a/arch/powerpc/configs/ppc64e_defconfig
+++ b/arch/powerpc/configs/ppc64e_defconfig
@@ -107,8 +107,7 @@ CONFIG_CPUSETS=y
107CONFIG_PROC_PID_CPUSET=y 107CONFIG_PROC_PID_CPUSET=y
108# CONFIG_CGROUP_CPUACCT is not set 108# CONFIG_CGROUP_CPUACCT is not set
109# CONFIG_RESOURCE_COUNTERS is not set 109# CONFIG_RESOURCE_COUNTERS is not set
110CONFIG_SYSFS_DEPRECATED=y 110# CONFIG_SYSFS_DEPRECATED_V2 is not set
111CONFIG_SYSFS_DEPRECATED_V2=y
112CONFIG_RELAY=y 111CONFIG_RELAY=y
113CONFIG_NAMESPACES=y 112CONFIG_NAMESPACES=y
114# CONFIG_UTS_NS is not set 113# CONFIG_UTS_NS is not set
diff --git a/arch/powerpc/configs/pq2fads_defconfig b/arch/powerpc/configs/pq2fads_defconfig
index 5d06f2cb8e5e..12c8ee8dd12b 100644
--- a/arch/powerpc/configs/pq2fads_defconfig
+++ b/arch/powerpc/configs/pq2fads_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.33-rc3 3# Linux kernel version: 2.6.34-rc5
4# Wed Jan 6 09:24:11 2010 4# Mon Apr 19 23:16:35 2010
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -96,8 +96,7 @@ CONFIG_IKCONFIG=y
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
103CONFIG_BLK_DEV_INITRD=y 102CONFIG_BLK_DEV_INITRD=y
@@ -105,6 +104,7 @@ CONFIG_INITRAMFS_SOURCE=""
105CONFIG_RD_GZIP=y 104CONFIG_RD_GZIP=y
106# CONFIG_RD_BZIP2 is not set 105# CONFIG_RD_BZIP2 is not set
107# CONFIG_RD_LZMA is not set 106# CONFIG_RD_LZMA is not set
107# CONFIG_RD_LZO is not set
108CONFIG_CC_OPTIMIZE_FOR_SIZE=y 108CONFIG_CC_OPTIMIZE_FOR_SIZE=y
109CONFIG_SYSCTL=y 109CONFIG_SYSCTL=y
110CONFIG_ANON_INODES=y 110CONFIG_ANON_INODES=y
@@ -304,6 +304,7 @@ CONFIG_ISA_DMA_API=y
304# Bus options 304# Bus options
305# 305#
306CONFIG_ZONE_DMA=y 306CONFIG_ZONE_DMA=y
307# CONFIG_NEED_DMA_MAP_STATE is not set
307CONFIG_PPC_INDIRECT_PCI=y 308CONFIG_PPC_INDIRECT_PCI=y
308CONFIG_FSL_SOC=y 309CONFIG_FSL_SOC=y
309CONFIG_PPC_PCI_CHOICE=y 310CONFIG_PPC_PCI_CHOICE=y
@@ -315,7 +316,6 @@ CONFIG_PCI_8260=y
315# CONFIG_PCIEPORTBUS is not set 316# CONFIG_PCIEPORTBUS is not set
316CONFIG_ARCH_SUPPORTS_MSI=y 317CONFIG_ARCH_SUPPORTS_MSI=y
317# CONFIG_PCI_MSI is not set 318# CONFIG_PCI_MSI is not set
318# CONFIG_PCI_LEGACY is not set
319# CONFIG_PCI_DEBUG is not set 319# CONFIG_PCI_DEBUG is not set
320# CONFIG_PCI_STUB is not set 320# CONFIG_PCI_STUB is not set
321# CONFIG_PCI_IOV is not set 321# CONFIG_PCI_IOV is not set
@@ -342,7 +342,6 @@ CONFIG_NET=y
342# Networking options 342# Networking options
343# 343#
344CONFIG_PACKET=y 344CONFIG_PACKET=y
345# CONFIG_PACKET_MMAP is not set
346CONFIG_UNIX=y 345CONFIG_UNIX=y
347CONFIG_XFRM=y 346CONFIG_XFRM=y
348# CONFIG_XFRM_USER is not set 347# CONFIG_XFRM_USER is not set
@@ -544,6 +543,8 @@ CONFIG_MTD_PHYSMAP_OF=y
544# UBI - Unsorted block images 543# UBI - Unsorted block images
545# 544#
546# CONFIG_MTD_UBI is not set 545# CONFIG_MTD_UBI is not set
546CONFIG_OF_FLATTREE=y
547CONFIG_OF_DYNAMIC=y
547CONFIG_OF_DEVICE=y 548CONFIG_OF_DEVICE=y
548CONFIG_OF_GPIO=y 549CONFIG_OF_GPIO=y
549CONFIG_OF_MDIO=y 550CONFIG_OF_MDIO=y
@@ -629,6 +630,7 @@ CONFIG_IDE_PROC_FS=y
629# 630#
630# SCSI device support 631# SCSI device support
631# 632#
633CONFIG_SCSI_MOD=y
632# CONFIG_RAID_ATTRS is not set 634# CONFIG_RAID_ATTRS is not set
633# CONFIG_SCSI is not set 635# CONFIG_SCSI is not set
634# CONFIG_SCSI_DMA is not set 636# CONFIG_SCSI_DMA is not set
@@ -734,6 +736,8 @@ CONFIG_NETDEV_10000=y
734# CONFIG_CHELSIO_T1 is not set 736# CONFIG_CHELSIO_T1 is not set
735CONFIG_CHELSIO_T3_DEPENDS=y 737CONFIG_CHELSIO_T3_DEPENDS=y
736# CONFIG_CHELSIO_T3 is not set 738# CONFIG_CHELSIO_T3 is not set
739CONFIG_CHELSIO_T4_DEPENDS=y
740# CONFIG_CHELSIO_T4 is not set
737# CONFIG_ENIC is not set 741# CONFIG_ENIC is not set
738# CONFIG_IXGBE is not set 742# CONFIG_IXGBE is not set
739# CONFIG_IXGB is not set 743# CONFIG_IXGB is not set
@@ -746,6 +750,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
746# CONFIG_MLX4_CORE is not set 750# CONFIG_MLX4_CORE is not set
747# CONFIG_TEHUTI is not set 751# CONFIG_TEHUTI is not set
748# CONFIG_BNX2X is not set 752# CONFIG_BNX2X is not set
753# CONFIG_QLCNIC is not set
749# CONFIG_QLGE is not set 754# CONFIG_QLGE is not set
750# CONFIG_SFC is not set 755# CONFIG_SFC is not set
751# CONFIG_BE2NET is not set 756# CONFIG_BE2NET is not set
@@ -859,6 +864,7 @@ CONFIG_SERIAL_CORE_CONSOLE=y
859CONFIG_SERIAL_CPM=y 864CONFIG_SERIAL_CPM=y
860CONFIG_SERIAL_CPM_CONSOLE=y 865CONFIG_SERIAL_CPM_CONSOLE=y
861# CONFIG_SERIAL_JSM is not set 866# CONFIG_SERIAL_JSM is not set
867# CONFIG_SERIAL_TIMBERDALE is not set
862# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set 868# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set
863CONFIG_UNIX98_PTYS=y 869CONFIG_UNIX98_PTYS=y
864# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set 870# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
@@ -887,7 +893,9 @@ CONFIG_GPIOLIB=y
887# 893#
888# Memory mapped GPIO expanders: 894# Memory mapped GPIO expanders:
889# 895#
896# CONFIG_GPIO_IT8761E is not set
890# CONFIG_GPIO_XILINX is not set 897# CONFIG_GPIO_XILINX is not set
898# CONFIG_GPIO_SCH is not set
891 899
892# 900#
893# I2C GPIO expanders: 901# I2C GPIO expanders:
@@ -926,6 +934,8 @@ CONFIG_SSB_POSSIBLE=y
926# CONFIG_MFD_SM501 is not set 934# CONFIG_MFD_SM501 is not set
927# CONFIG_HTC_PASIC3 is not set 935# CONFIG_HTC_PASIC3 is not set
928# CONFIG_MFD_TMIO is not set 936# CONFIG_MFD_TMIO is not set
937# CONFIG_MFD_TIMBERDALE is not set
938# CONFIG_LPC_SCH is not set
929# CONFIG_REGULATOR is not set 939# CONFIG_REGULATOR is not set
930# CONFIG_MEDIA_SUPPORT is not set 940# CONFIG_MEDIA_SUPPORT is not set
931 941
@@ -934,6 +944,7 @@ CONFIG_SSB_POSSIBLE=y
934# 944#
935# CONFIG_AGP is not set 945# CONFIG_AGP is not set
936CONFIG_VGA_ARB=y 946CONFIG_VGA_ARB=y
947CONFIG_VGA_ARB_MAX_GPUS=16
937# CONFIG_DRM is not set 948# CONFIG_DRM is not set
938# CONFIG_VGASTATE is not set 949# CONFIG_VGASTATE is not set
939CONFIG_VIDEO_OUTPUT_CONTROL=y 950CONFIG_VIDEO_OUTPUT_CONTROL=y
@@ -996,6 +1007,7 @@ CONFIG_USB_ETH_RNDIS=y
996# CONFIG_USB_MIDI_GADGET is not set 1007# CONFIG_USB_MIDI_GADGET is not set
997# CONFIG_USB_G_PRINTER is not set 1008# CONFIG_USB_G_PRINTER is not set
998# CONFIG_USB_CDC_COMPOSITE is not set 1009# CONFIG_USB_CDC_COMPOSITE is not set
1010# CONFIG_USB_G_NOKIA is not set
999# CONFIG_USB_G_MULTI is not set 1011# CONFIG_USB_G_MULTI is not set
1000 1012
1001# 1013#
@@ -1051,6 +1063,7 @@ CONFIG_AUTOFS4_FS=y
1051# 1063#
1052# Caches 1064# Caches
1053# 1065#
1066# CONFIG_FSCACHE is not set
1054 1067
1055# 1068#
1056# CD-ROM/DVD Filesystems 1069# CD-ROM/DVD Filesystems
diff --git a/arch/powerpc/configs/prpmc2800_defconfig b/arch/powerpc/configs/prpmc2800_defconfig
index 57ab5748a34d..a18f597c6e5f 100644
--- a/arch/powerpc/configs/prpmc2800_defconfig
+++ b/arch/powerpc/configs/prpmc2800_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.33-rc3 3# Linux kernel version: 2.6.34-rc5
4# Wed Jan 6 09:24:12 2010 4# Mon Apr 19 23:16:36 2010
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -97,14 +97,8 @@ CONFIG_RCU_FANOUT=32
97# CONFIG_TREE_RCU_TRACE is not set 97# CONFIG_TREE_RCU_TRACE is not set
98# CONFIG_IKCONFIG is not set 98# CONFIG_IKCONFIG is not set
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
109CONFIG_NAMESPACES=y 103CONFIG_NAMESPACES=y
110# CONFIG_UTS_NS is not set 104# CONFIG_UTS_NS is not set
@@ -117,6 +111,7 @@ CONFIG_INITRAMFS_SOURCE=""
117CONFIG_RD_GZIP=y 111CONFIG_RD_GZIP=y
118CONFIG_RD_BZIP2=y 112CONFIG_RD_BZIP2=y
119CONFIG_RD_LZMA=y 113CONFIG_RD_LZMA=y
114CONFIG_RD_LZO=y
120# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 115# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
121CONFIG_SYSCTL=y 116CONFIG_SYSCTL=y
122CONFIG_ANON_INODES=y 117CONFIG_ANON_INODES=y
@@ -319,6 +314,7 @@ CONFIG_ISA_DMA_API=y
319# Bus options 314# Bus options
320# 315#
321CONFIG_ZONE_DMA=y 316CONFIG_ZONE_DMA=y
317CONFIG_NEED_DMA_MAP_STATE=y
322CONFIG_GENERIC_ISA_DMA=y 318CONFIG_GENERIC_ISA_DMA=y
323CONFIG_PPC_INDIRECT_PCI=y 319CONFIG_PPC_INDIRECT_PCI=y
324CONFIG_PCI=y 320CONFIG_PCI=y
@@ -327,7 +323,6 @@ CONFIG_PCI_SYSCALL=y
327# CONFIG_PCIEPORTBUS is not set 323# CONFIG_PCIEPORTBUS is not set
328CONFIG_ARCH_SUPPORTS_MSI=y 324CONFIG_ARCH_SUPPORTS_MSI=y
329# CONFIG_PCI_MSI is not set 325# CONFIG_PCI_MSI is not set
330# CONFIG_PCI_LEGACY is not set
331# CONFIG_PCI_STUB is not set 326# CONFIG_PCI_STUB is not set
332# CONFIG_PCI_IOV is not set 327# CONFIG_PCI_IOV is not set
333# CONFIG_PCCARD is not set 328# CONFIG_PCCARD is not set
@@ -354,7 +349,6 @@ CONFIG_NET=y
354# Networking options 349# Networking options
355# 350#
356CONFIG_PACKET=y 351CONFIG_PACKET=y
357# CONFIG_PACKET_MMAP is not set
358CONFIG_UNIX=y 352CONFIG_UNIX=y
359CONFIG_XFRM=y 353CONFIG_XFRM=y
360CONFIG_XFRM_USER=y 354CONFIG_XFRM_USER=y
@@ -533,6 +527,8 @@ CONFIG_MTD_PHYSMAP_OF=y
533# UBI - Unsorted block images 527# UBI - Unsorted block images
534# 528#
535# CONFIG_MTD_UBI is not set 529# CONFIG_MTD_UBI is not set
530CONFIG_OF_FLATTREE=y
531CONFIG_OF_DYNAMIC=y
536CONFIG_OF_DEVICE=y 532CONFIG_OF_DEVICE=y
537CONFIG_OF_I2C=y 533CONFIG_OF_I2C=y
538CONFIG_OF_MDIO=y 534CONFIG_OF_MDIO=y
@@ -569,6 +565,7 @@ CONFIG_MISC_DEVICES=y
569# CONFIG_ENCLOSURE_SERVICES is not set 565# CONFIG_ENCLOSURE_SERVICES is not set
570# CONFIG_HP_ILO is not set 566# CONFIG_HP_ILO is not set
571# CONFIG_ISL29003 is not set 567# CONFIG_ISL29003 is not set
568# CONFIG_SENSORS_TSL2550 is not set
572# CONFIG_DS1682 is not set 569# CONFIG_DS1682 is not set
573# CONFIG_C2PORT is not set 570# CONFIG_C2PORT is not set
574 571
@@ -640,6 +637,7 @@ CONFIG_BLK_DEV_IDEDMA=y
640# 637#
641# SCSI device support 638# SCSI device support
642# 639#
640CONFIG_SCSI_MOD=y
643# CONFIG_RAID_ATTRS is not set 641# CONFIG_RAID_ATTRS is not set
644CONFIG_SCSI=y 642CONFIG_SCSI=y
645CONFIG_SCSI_DMA=y 643CONFIG_SCSI_DMA=y
@@ -761,6 +759,7 @@ CONFIG_SATA_MV=y
761# CONFIG_PATA_IT821X is not set 759# CONFIG_PATA_IT821X is not set
762# CONFIG_PATA_IT8213 is not set 760# CONFIG_PATA_IT8213 is not set
763# CONFIG_PATA_JMICRON is not set 761# CONFIG_PATA_JMICRON is not set
762# CONFIG_PATA_LEGACY is not set
764# CONFIG_PATA_TRIFLEX is not set 763# CONFIG_PATA_TRIFLEX is not set
765# CONFIG_PATA_MARVELL is not set 764# CONFIG_PATA_MARVELL is not set
766# CONFIG_PATA_MPIIX is not set 765# CONFIG_PATA_MPIIX is not set
@@ -854,6 +853,7 @@ CONFIG_NET_PCI=y
854# CONFIG_PCNET32 is not set 853# CONFIG_PCNET32 is not set
855# CONFIG_AMD8111_ETH is not set 854# CONFIG_AMD8111_ETH is not set
856# CONFIG_ADAPTEC_STARFIRE is not set 855# CONFIG_ADAPTEC_STARFIRE is not set
856# CONFIG_KSZ884X_PCI is not set
857# CONFIG_B44 is not set 857# CONFIG_B44 is not set
858# CONFIG_FORCEDETH is not set 858# CONFIG_FORCEDETH is not set
859CONFIG_E100=y 859CONFIG_E100=y
@@ -907,6 +907,8 @@ CONFIG_NETDEV_10000=y
907# CONFIG_CHELSIO_T1 is not set 907# CONFIG_CHELSIO_T1 is not set
908CONFIG_CHELSIO_T3_DEPENDS=y 908CONFIG_CHELSIO_T3_DEPENDS=y
909# CONFIG_CHELSIO_T3 is not set 909# CONFIG_CHELSIO_T3 is not set
910CONFIG_CHELSIO_T4_DEPENDS=y
911# CONFIG_CHELSIO_T4 is not set
910# CONFIG_ENIC is not set 912# CONFIG_ENIC is not set
911# CONFIG_IXGBE is not set 913# CONFIG_IXGBE is not set
912# CONFIG_IXGB is not set 914# CONFIG_IXGB is not set
@@ -919,6 +921,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y
919# CONFIG_MLX4_CORE is not set 921# CONFIG_MLX4_CORE is not set
920# CONFIG_TEHUTI is not set 922# CONFIG_TEHUTI is not set
921# CONFIG_BNX2X is not set 923# CONFIG_BNX2X is not set
924# CONFIG_QLCNIC is not set
922# CONFIG_QLGE is not set 925# CONFIG_QLGE is not set
923# CONFIG_SFC is not set 926# CONFIG_SFC is not set
924# CONFIG_BE2NET is not set 927# CONFIG_BE2NET is not set
@@ -1016,6 +1019,7 @@ CONFIG_SERIAL_MPSC_CONSOLE=y
1016CONFIG_SERIAL_CORE=y 1019CONFIG_SERIAL_CORE=y
1017CONFIG_SERIAL_CORE_CONSOLE=y 1020CONFIG_SERIAL_CORE_CONSOLE=y
1018# CONFIG_SERIAL_JSM is not set 1021# CONFIG_SERIAL_JSM is not set
1022# CONFIG_SERIAL_TIMBERDALE is not set
1019# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set 1023# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set
1020CONFIG_UNIX98_PTYS=y 1024CONFIG_UNIX98_PTYS=y
1021# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set 1025# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
@@ -1065,6 +1069,7 @@ CONFIG_I2C_HELPER_AUTO=y
1065CONFIG_I2C_MV64XXX=y 1069CONFIG_I2C_MV64XXX=y
1066# CONFIG_I2C_OCORES is not set 1070# CONFIG_I2C_OCORES is not set
1067# CONFIG_I2C_SIMTEC is not set 1071# CONFIG_I2C_SIMTEC is not set
1072# CONFIG_I2C_XILINX is not set
1068 1073
1069# 1074#
1070# External I2C/SMBus adapter drivers 1075# External I2C/SMBus adapter drivers
@@ -1077,15 +1082,9 @@ CONFIG_I2C_MV64XXX=y
1077# Other I2C/SMBus bus drivers 1082# Other I2C/SMBus bus drivers
1078# 1083#
1079# CONFIG_I2C_PCA_PLATFORM is not set 1084# CONFIG_I2C_PCA_PLATFORM is not set
1080
1081#
1082# Miscellaneous I2C Chip support
1083#
1084# CONFIG_SENSORS_TSL2550 is not set
1085# CONFIG_I2C_DEBUG_CORE is not set 1085# CONFIG_I2C_DEBUG_CORE is not set
1086# CONFIG_I2C_DEBUG_ALGO is not set 1086# CONFIG_I2C_DEBUG_ALGO is not set
1087# CONFIG_I2C_DEBUG_BUS is not set 1087# CONFIG_I2C_DEBUG_BUS is not set
1088# CONFIG_I2C_DEBUG_CHIP is not set
1089# CONFIG_SPI is not set 1088# CONFIG_SPI is not set
1090 1089
1091# 1090#
@@ -1111,10 +1110,11 @@ CONFIG_HWMON=y
1111# CONFIG_SENSORS_ADM1029 is not set 1110# CONFIG_SENSORS_ADM1029 is not set
1112# CONFIG_SENSORS_ADM1031 is not set 1111# CONFIG_SENSORS_ADM1031 is not set
1113# CONFIG_SENSORS_ADM9240 is not set 1112# CONFIG_SENSORS_ADM9240 is not set
1113# CONFIG_SENSORS_ADT7411 is not set
1114# CONFIG_SENSORS_ADT7462 is not set 1114# CONFIG_SENSORS_ADT7462 is not set
1115# CONFIG_SENSORS_ADT7470 is not set 1115# CONFIG_SENSORS_ADT7470 is not set
1116# CONFIG_SENSORS_ADT7473 is not set
1117# CONFIG_SENSORS_ADT7475 is not set 1116# CONFIG_SENSORS_ADT7475 is not set
1117# CONFIG_SENSORS_ASC7621 is not set
1118# CONFIG_SENSORS_ATXP1 is not set 1118# CONFIG_SENSORS_ATXP1 is not set
1119# CONFIG_SENSORS_DS1621 is not set 1119# CONFIG_SENSORS_DS1621 is not set
1120# CONFIG_SENSORS_I5K_AMB is not set 1120# CONFIG_SENSORS_I5K_AMB is not set
@@ -1151,6 +1151,7 @@ CONFIG_HWMON=y
1151# CONFIG_SENSORS_SMSC47M192 is not set 1151# CONFIG_SENSORS_SMSC47M192 is not set
1152# CONFIG_SENSORS_SMSC47B397 is not set 1152# CONFIG_SENSORS_SMSC47B397 is not set
1153# CONFIG_SENSORS_ADS7828 is not set 1153# CONFIG_SENSORS_ADS7828 is not set
1154# CONFIG_SENSORS_AMC6821 is not set
1154# CONFIG_SENSORS_THMC50 is not set 1155# CONFIG_SENSORS_THMC50 is not set
1155# CONFIG_SENSORS_TMP401 is not set 1156# CONFIG_SENSORS_TMP401 is not set
1156# CONFIG_SENSORS_TMP421 is not set 1157# CONFIG_SENSORS_TMP421 is not set
@@ -1179,18 +1180,21 @@ CONFIG_SSB_POSSIBLE=y
1179# Multifunction device drivers 1180# Multifunction device drivers
1180# 1181#
1181# CONFIG_MFD_CORE is not set 1182# CONFIG_MFD_CORE is not set
1183# CONFIG_MFD_88PM860X is not set
1182# CONFIG_MFD_SM501 is not set 1184# CONFIG_MFD_SM501 is not set
1183# CONFIG_HTC_PASIC3 is not set 1185# CONFIG_HTC_PASIC3 is not set
1184# CONFIG_TWL4030_CORE is not set 1186# CONFIG_TWL4030_CORE is not set
1185# CONFIG_MFD_TMIO is not set 1187# CONFIG_MFD_TMIO is not set
1186# CONFIG_PMIC_DA903X is not set 1188# CONFIG_PMIC_DA903X is not set
1187# CONFIG_PMIC_ADP5520 is not set 1189# CONFIG_PMIC_ADP5520 is not set
1190# CONFIG_MFD_MAX8925 is not set
1188# CONFIG_MFD_WM8400 is not set 1191# CONFIG_MFD_WM8400 is not set
1189# CONFIG_MFD_WM831X is not set 1192# CONFIG_MFD_WM831X is not set
1190# CONFIG_MFD_WM8350_I2C is not set 1193# CONFIG_MFD_WM8350_I2C is not set
1194# CONFIG_MFD_WM8994 is not set
1191# CONFIG_MFD_PCF50633 is not set 1195# CONFIG_MFD_PCF50633 is not set
1192# CONFIG_AB3100_CORE is not set 1196# CONFIG_AB3100_CORE is not set
1193# CONFIG_MFD_88PM8607 is not set 1197# CONFIG_LPC_SCH is not set
1194# CONFIG_REGULATOR is not set 1198# CONFIG_REGULATOR is not set
1195# CONFIG_MEDIA_SUPPORT is not set 1199# CONFIG_MEDIA_SUPPORT is not set
1196 1200
@@ -1199,6 +1203,7 @@ CONFIG_SSB_POSSIBLE=y
1199# 1203#
1200# CONFIG_AGP is not set 1204# CONFIG_AGP is not set
1201CONFIG_VGA_ARB=y 1205CONFIG_VGA_ARB=y
1206CONFIG_VGA_ARB_MAX_GPUS=16
1202# CONFIG_DRM is not set 1207# CONFIG_DRM is not set
1203# CONFIG_VGASTATE is not set 1208# CONFIG_VGASTATE is not set
1204CONFIG_VIDEO_OUTPUT_CONTROL=y 1209CONFIG_VIDEO_OUTPUT_CONTROL=y
@@ -1231,6 +1236,7 @@ CONFIG_USB_HID=y
1231# 1236#
1232# Special HID drivers 1237# Special HID drivers
1233# 1238#
1239# CONFIG_HID_3M_PCT is not set
1234CONFIG_HID_A4TECH=y 1240CONFIG_HID_A4TECH=y
1235CONFIG_HID_APPLE=y 1241CONFIG_HID_APPLE=y
1236CONFIG_HID_BELKIN=y 1242CONFIG_HID_BELKIN=y
@@ -1247,14 +1253,19 @@ CONFIG_HID_KENSINGTON=y
1247CONFIG_HID_LOGITECH=y 1253CONFIG_HID_LOGITECH=y
1248# CONFIG_LOGITECH_FF is not set 1254# CONFIG_LOGITECH_FF is not set
1249# CONFIG_LOGIRUMBLEPAD2_FF is not set 1255# CONFIG_LOGIRUMBLEPAD2_FF is not set
1256# CONFIG_LOGIG940_FF is not set
1250CONFIG_HID_MICROSOFT=y 1257CONFIG_HID_MICROSOFT=y
1258# CONFIG_HID_MOSART is not set
1251CONFIG_HID_MONTEREY=y 1259CONFIG_HID_MONTEREY=y
1252CONFIG_HID_NTRIG=y 1260CONFIG_HID_NTRIG=y
1261CONFIG_HID_ORTEK=y
1253CONFIG_HID_PANTHERLORD=y 1262CONFIG_HID_PANTHERLORD=y
1254# CONFIG_PANTHERLORD_FF is not set 1263# CONFIG_PANTHERLORD_FF is not set
1255CONFIG_HID_PETALYNX=y 1264CONFIG_HID_PETALYNX=y
1265# CONFIG_HID_QUANTA is not set
1256CONFIG_HID_SAMSUNG=y 1266CONFIG_HID_SAMSUNG=y
1257CONFIG_HID_SONY=y 1267CONFIG_HID_SONY=y
1268# CONFIG_HID_STANTUM is not set
1258CONFIG_HID_SUNPLUS=y 1269CONFIG_HID_SUNPLUS=y
1259CONFIG_HID_GREENASIA=y 1270CONFIG_HID_GREENASIA=y
1260# CONFIG_GREENASIA_FF is not set 1271# CONFIG_GREENASIA_FF is not set
@@ -1350,7 +1361,6 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1350# CONFIG_USB_RIO500 is not set 1361# CONFIG_USB_RIO500 is not set
1351# CONFIG_USB_LEGOTOWER is not set 1362# CONFIG_USB_LEGOTOWER is not set
1352# CONFIG_USB_LCD is not set 1363# CONFIG_USB_LCD is not set
1353# CONFIG_USB_BERRY_CHARGE is not set
1354# CONFIG_USB_LED is not set 1364# CONFIG_USB_LED is not set
1355# CONFIG_USB_CYPRESS_CY7C63 is not set 1365# CONFIG_USB_CYPRESS_CY7C63 is not set
1356# CONFIG_USB_CYTHERM is not set 1366# CONFIG_USB_CYTHERM is not set
@@ -1363,7 +1373,6 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1363# CONFIG_USB_IOWARRIOR is not set 1373# CONFIG_USB_IOWARRIOR is not set
1364# CONFIG_USB_TEST is not set 1374# CONFIG_USB_TEST is not set
1365# CONFIG_USB_ISIGHTFW is not set 1375# CONFIG_USB_ISIGHTFW is not set
1366# CONFIG_USB_VST is not set
1367# CONFIG_USB_GADGET is not set 1376# CONFIG_USB_GADGET is not set
1368 1377
1369# 1378#
@@ -1516,6 +1525,7 @@ CONFIG_MISC_FILESYSTEMS=y
1516# CONFIG_BFS_FS is not set 1525# CONFIG_BFS_FS is not set
1517# CONFIG_EFS_FS is not set 1526# CONFIG_EFS_FS is not set
1518# CONFIG_JFFS2_FS is not set 1527# CONFIG_JFFS2_FS is not set
1528# CONFIG_LOGFS is not set
1519# CONFIG_CRAMFS is not set 1529# CONFIG_CRAMFS is not set
1520# CONFIG_SQUASHFS is not set 1530# CONFIG_SQUASHFS is not set
1521# CONFIG_VXFS_FS is not set 1531# CONFIG_VXFS_FS is not set
@@ -1538,6 +1548,7 @@ CONFIG_SUNRPC=y
1538# CONFIG_RPCSEC_GSS_KRB5 is not set 1548# CONFIG_RPCSEC_GSS_KRB5 is not set
1539# CONFIG_RPCSEC_GSS_SPKM3 is not set 1549# CONFIG_RPCSEC_GSS_SPKM3 is not set
1540# CONFIG_SMB_FS is not set 1550# CONFIG_SMB_FS is not set
1551# CONFIG_CEPH_FS is not set
1541# CONFIG_CIFS is not set 1552# CONFIG_CIFS is not set
1542# CONFIG_NCP_FS is not set 1553# CONFIG_NCP_FS is not set
1543# CONFIG_CODA_FS is not set 1554# CONFIG_CODA_FS is not set
@@ -1620,9 +1631,11 @@ CONFIG_CRC32=y
1620# CONFIG_CRC7 is not set 1631# CONFIG_CRC7 is not set
1621# CONFIG_LIBCRC32C is not set 1632# CONFIG_LIBCRC32C is not set
1622CONFIG_ZLIB_INFLATE=y 1633CONFIG_ZLIB_INFLATE=y
1634CONFIG_LZO_DECOMPRESS=y
1623CONFIG_DECOMPRESS_GZIP=y 1635CONFIG_DECOMPRESS_GZIP=y
1624CONFIG_DECOMPRESS_BZIP2=y 1636CONFIG_DECOMPRESS_BZIP2=y
1625CONFIG_DECOMPRESS_LZMA=y 1637CONFIG_DECOMPRESS_LZMA=y
1638CONFIG_DECOMPRESS_LZO=y
1626CONFIG_HAS_IOMEM=y 1639CONFIG_HAS_IOMEM=y
1627CONFIG_HAS_IOPORT=y 1640CONFIG_HAS_IOPORT=y
1628CONFIG_HAS_DMA=y 1641CONFIG_HAS_DMA=y
diff --git a/arch/powerpc/configs/ps3_defconfig b/arch/powerpc/configs/ps3_defconfig
index 7de127e4ceef..3808bc2be86f 100644
--- a/arch/powerpc/configs/ps3_defconfig
+++ b/arch/powerpc/configs/ps3_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.31-rc7 3# Linux kernel version: 2.6.34-rc4
4# Mon Aug 24 17:38:50 2009 4# Thu Apr 15 11:32:15 2010
5# 5#
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,31 +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_GELIC_WIRELESS_OLD_PSK_INTERFACE is not set
597# CONFIG_NETDEV_10000 is not set 647# CONFIG_NETDEV_10000 is not set
598 648CONFIG_WLAN=y
599#
600# Wireless LAN
601#
602# CONFIG_WLAN_PRE80211 is not set
603CONFIG_WLAN_80211=y
604# CONFIG_LIBERTAS is not set
605# CONFIG_LIBERTAS_THINFIRM is not set 649# CONFIG_LIBERTAS_THINFIRM is not set
606# CONFIG_AT76C50X_USB is not set 650# CONFIG_AT76C50X_USB is not set
607# CONFIG_USB_ZD1201 is not set 651# CONFIG_USB_ZD1201 is not set
608# CONFIG_USB_NET_RNDIS_WLAN is not set 652# CONFIG_USB_NET_RNDIS_WLAN is not set
609# CONFIG_RTL8187 is not set 653# CONFIG_RTL8187 is not set
610# CONFIG_MAC80211_HWSIM is not set 654# CONFIG_MAC80211_HWSIM is not set
611# CONFIG_P54_COMMON is not set 655# CONFIG_ATH_COMMON is not set
612# CONFIG_AR9170_USB is not set
613# CONFIG_HOSTAP is not set
614# CONFIG_B43 is not set 656# CONFIG_B43 is not set
615# CONFIG_B43LEGACY is not set 657# CONFIG_B43LEGACY is not set
616# CONFIG_ZD1211RW is not set 658# CONFIG_HOSTAP is not set
659# CONFIG_LIBERTAS is not set
660# CONFIG_P54_COMMON is not set
617# CONFIG_RT2X00 is not set 661# CONFIG_RT2X00 is not set
662# CONFIG_WL12XX is not set
663# CONFIG_ZD1211RW is not set
618 664
619# 665#
620# Enable WiMAX (Networking options) to see the WiMAX drivers 666# Enable WiMAX (Networking options) to see the WiMAX drivers
@@ -632,6 +678,7 @@ CONFIG_USB_NET_AX8817X=m
632# CONFIG_USB_NET_CDCETHER is not set 678# CONFIG_USB_NET_CDCETHER is not set
633# CONFIG_USB_NET_CDC_EEM is not set 679# CONFIG_USB_NET_CDC_EEM is not set
634# CONFIG_USB_NET_DM9601 is not set 680# CONFIG_USB_NET_DM9601 is not set
681# CONFIG_USB_NET_SMSC75XX is not set
635# CONFIG_USB_NET_SMSC95XX is not set 682# CONFIG_USB_NET_SMSC95XX is not set
636# CONFIG_USB_NET_GL620A is not set 683# CONFIG_USB_NET_GL620A is not set
637# CONFIG_USB_NET_NET1080 is not set 684# CONFIG_USB_NET_NET1080 is not set
@@ -666,6 +713,7 @@ CONFIG_SLHC=m
666CONFIG_INPUT=y 713CONFIG_INPUT=y
667CONFIG_INPUT_FF_MEMLESS=m 714CONFIG_INPUT_FF_MEMLESS=m
668# CONFIG_INPUT_POLLDEV is not set 715# CONFIG_INPUT_POLLDEV is not set
716# CONFIG_INPUT_SPARSEKMAP is not set
669 717
670# 718#
671# Userland interfaces 719# Userland interfaces
@@ -713,6 +761,8 @@ CONFIG_DEVKMEM=y
713# 761#
714# Non-8250 serial port support 762# Non-8250 serial port support
715# 763#
764# CONFIG_SERIAL_TIMBERDALE is not set
765# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set
716CONFIG_UNIX98_PTYS=y 766CONFIG_UNIX98_PTYS=y
717# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set 767# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
718# CONFIG_LEGACY_PTYS is not set 768# CONFIG_LEGACY_PTYS is not set
@@ -736,7 +786,6 @@ CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
736# CONFIG_POWER_SUPPLY is not set 786# CONFIG_POWER_SUPPLY is not set
737# CONFIG_HWMON is not set 787# CONFIG_HWMON is not set
738# CONFIG_THERMAL is not set 788# CONFIG_THERMAL is not set
739# CONFIG_THERMAL_HWMON is not set
740# CONFIG_WATCHDOG is not set 789# CONFIG_WATCHDOG is not set
741CONFIG_SSB_POSSIBLE=y 790CONFIG_SSB_POSSIBLE=y
742 791
@@ -842,13 +891,13 @@ CONFIG_SND_PS3=m
842CONFIG_SND_PS3_DEFAULT_START_DELAY=2000 891CONFIG_SND_PS3_DEFAULT_START_DELAY=2000
843CONFIG_SND_USB=y 892CONFIG_SND_USB=y
844CONFIG_SND_USB_AUDIO=m 893CONFIG_SND_USB_AUDIO=m
894# CONFIG_SND_USB_UA101 is not set
845# CONFIG_SND_USB_USX2Y is not set 895# CONFIG_SND_USB_USX2Y is not set
846# CONFIG_SND_USB_CAIAQ is not set 896# CONFIG_SND_USB_CAIAQ is not set
847# CONFIG_SND_SOC is not set 897# CONFIG_SND_SOC is not set
848# CONFIG_SOUND_PRIME is not set 898# CONFIG_SOUND_PRIME is not set
849CONFIG_HID_SUPPORT=y 899CONFIG_HID_SUPPORT=y
850CONFIG_HID=y 900CONFIG_HID=y
851# CONFIG_HID_DEBUG is not set
852CONFIG_HIDRAW=y 901CONFIG_HIDRAW=y
853 902
854# 903#
@@ -867,6 +916,7 @@ CONFIG_USB_HIDDEV=y
867# 916#
868# Special HID drivers 917# Special HID drivers
869# 918#
919# CONFIG_HID_3M_PCT is not set
870# CONFIG_HID_A4TECH is not set 920# CONFIG_HID_A4TECH is not set
871CONFIG_HID_APPLE=m 921CONFIG_HID_APPLE=m
872CONFIG_HID_BELKIN=m 922CONFIG_HID_BELKIN=m
@@ -877,17 +927,24 @@ CONFIG_HID_CHERRY=m
877CONFIG_HID_EZKEY=m 927CONFIG_HID_EZKEY=m
878# CONFIG_HID_KYE is not set 928# CONFIG_HID_KYE is not set
879# CONFIG_HID_GYRATION is not set 929# CONFIG_HID_GYRATION is not set
930CONFIG_HID_TWINHAN=m
880# CONFIG_HID_KENSINGTON is not set 931# CONFIG_HID_KENSINGTON is not set
881CONFIG_HID_LOGITECH=m 932CONFIG_HID_LOGITECH=m
882# CONFIG_LOGITECH_FF is not set 933# CONFIG_LOGITECH_FF is not set
883# 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
884CONFIG_HID_MICROSOFT=m 937CONFIG_HID_MICROSOFT=m
938# CONFIG_HID_MOSART is not set
885# CONFIG_HID_MONTEREY is not set 939# CONFIG_HID_MONTEREY is not set
886# CONFIG_HID_NTRIG is not set 940# CONFIG_HID_NTRIG is not set
941# CONFIG_HID_ORTEK is not set
887# CONFIG_HID_PANTHERLORD is not set 942# CONFIG_HID_PANTHERLORD is not set
888# CONFIG_HID_PETALYNX is not set 943# CONFIG_HID_PETALYNX is not set
944# CONFIG_HID_QUANTA is not set
889# CONFIG_HID_SAMSUNG is not set 945# CONFIG_HID_SAMSUNG is not set
890CONFIG_HID_SONY=m 946CONFIG_HID_SONY=m
947# CONFIG_HID_STANTUM is not set
891CONFIG_HID_SUNPLUS=m 948CONFIG_HID_SUNPLUS=m
892# CONFIG_HID_GREENASIA is not set 949# CONFIG_HID_GREENASIA is not set
893CONFIG_HID_SMARTJOYPLUS=m 950CONFIG_HID_SMARTJOYPLUS=m
@@ -902,7 +959,7 @@ CONFIG_USB_ARCH_HAS_OHCI=y
902CONFIG_USB_ARCH_HAS_EHCI=y 959CONFIG_USB_ARCH_HAS_EHCI=y
903CONFIG_USB=m 960CONFIG_USB=m
904# CONFIG_USB_DEBUG is not set 961# CONFIG_USB_DEBUG is not set
905# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set 962CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
906 963
907# 964#
908# Miscellaneous USB options 965# Miscellaneous USB options
@@ -910,7 +967,6 @@ CONFIG_USB=m
910CONFIG_USB_DEVICEFS=y 967CONFIG_USB_DEVICEFS=y
911# CONFIG_USB_DEVICE_CLASS is not set 968# CONFIG_USB_DEVICE_CLASS is not set
912# CONFIG_USB_DYNAMIC_MINORS is not set 969# CONFIG_USB_DYNAMIC_MINORS is not set
913CONFIG_USB_SUSPEND=y
914# CONFIG_USB_OTG is not set 970# CONFIG_USB_OTG is not set
915# CONFIG_USB_OTG_WHITELIST is not set 971# CONFIG_USB_OTG_WHITELIST is not set
916# CONFIG_USB_OTG_BLACKLIST_HUB is not set 972# CONFIG_USB_OTG_BLACKLIST_HUB is not set
@@ -924,12 +980,13 @@ CONFIG_USB_MON=m
924# CONFIG_USB_C67X00_HCD is not set 980# CONFIG_USB_C67X00_HCD is not set
925CONFIG_USB_EHCI_HCD=m 981CONFIG_USB_EHCI_HCD=m
926# CONFIG_USB_EHCI_ROOT_HUB_TT is not set 982# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
927# CONFIG_USB_EHCI_TT_NEWSCHED is not set 983CONFIG_USB_EHCI_TT_NEWSCHED=y
928CONFIG_USB_EHCI_BIG_ENDIAN_MMIO=y 984CONFIG_USB_EHCI_BIG_ENDIAN_MMIO=y
929# CONFIG_USB_EHCI_HCD_PPC_OF is not set 985# CONFIG_USB_EHCI_HCD_PPC_OF is not set
930# CONFIG_USB_OXU210HP_HCD is not set 986# CONFIG_USB_OXU210HP_HCD is not set
931# CONFIG_USB_ISP116X_HCD is not set 987# CONFIG_USB_ISP116X_HCD is not set
932# CONFIG_USB_ISP1760_HCD is not set 988# CONFIG_USB_ISP1760_HCD is not set
989# CONFIG_USB_ISP1362_HCD is not set
933CONFIG_USB_OHCI_HCD=m 990CONFIG_USB_OHCI_HCD=m
934# CONFIG_USB_OHCI_HCD_PPC_OF_BE is not set 991# CONFIG_USB_OHCI_HCD_PPC_OF_BE is not set
935# CONFIG_USB_OHCI_HCD_PPC_OF_LE is not set 992# CONFIG_USB_OHCI_HCD_PPC_OF_LE is not set
@@ -996,7 +1053,6 @@ CONFIG_USB_STORAGE=m
996# CONFIG_USB_RIO500 is not set 1053# CONFIG_USB_RIO500 is not set
997# CONFIG_USB_LEGOTOWER is not set 1054# CONFIG_USB_LEGOTOWER is not set
998# CONFIG_USB_LCD is not set 1055# CONFIG_USB_LCD is not set
999# CONFIG_USB_BERRY_CHARGE is not set
1000# CONFIG_USB_LED is not set 1056# CONFIG_USB_LED is not set
1001# CONFIG_USB_CYPRESS_CY7C63 is not set 1057# CONFIG_USB_CYPRESS_CY7C63 is not set
1002# CONFIG_USB_CYTHERM is not set 1058# CONFIG_USB_CYTHERM is not set
@@ -1009,7 +1065,6 @@ CONFIG_USB_STORAGE=m
1009# CONFIG_USB_IOWARRIOR is not set 1065# CONFIG_USB_IOWARRIOR is not set
1010# CONFIG_USB_TEST is not set 1066# CONFIG_USB_TEST is not set
1011# CONFIG_USB_ISIGHTFW is not set 1067# CONFIG_USB_ISIGHTFW is not set
1012# CONFIG_USB_VST is not set
1013# CONFIG_USB_GADGET is not set 1068# CONFIG_USB_GADGET is not set
1014 1069
1015# 1070#
@@ -1049,7 +1104,9 @@ CONFIG_RTC_INTF_DEV=y
1049# CONFIG_RTC_DRV_M48T86 is not set 1104# CONFIG_RTC_DRV_M48T86 is not set
1050# CONFIG_RTC_DRV_M48T35 is not set 1105# CONFIG_RTC_DRV_M48T35 is not set
1051# CONFIG_RTC_DRV_M48T59 is not set 1106# CONFIG_RTC_DRV_M48T59 is not set
1107# CONFIG_RTC_DRV_MSM6242 is not set
1052# CONFIG_RTC_DRV_BQ4802 is not set 1108# CONFIG_RTC_DRV_BQ4802 is not set
1109# CONFIG_RTC_DRV_RP5C01 is not set
1053# CONFIG_RTC_DRV_V3020 is not set 1110# CONFIG_RTC_DRV_V3020 is not set
1054 1111
1055# 1112#
@@ -1078,10 +1135,10 @@ CONFIG_EXT3_FS_XATTR=y
1078# CONFIG_EXT3_FS_POSIX_ACL is not set 1135# CONFIG_EXT3_FS_POSIX_ACL is not set
1079# CONFIG_EXT3_FS_SECURITY is not set 1136# CONFIG_EXT3_FS_SECURITY is not set
1080CONFIG_EXT4_FS=y 1137CONFIG_EXT4_FS=y
1081# CONFIG_EXT4DEV_COMPAT is not set
1082CONFIG_EXT4_FS_XATTR=y 1138CONFIG_EXT4_FS_XATTR=y
1083# CONFIG_EXT4_FS_POSIX_ACL is not set 1139# CONFIG_EXT4_FS_POSIX_ACL is not set
1084# CONFIG_EXT4_FS_SECURITY is not set 1140# CONFIG_EXT4_FS_SECURITY is not set
1141# CONFIG_EXT4_DEBUG is not set
1085CONFIG_JBD=m 1142CONFIG_JBD=m
1086# CONFIG_JBD_DEBUG is not set 1143# CONFIG_JBD_DEBUG is not set
1087CONFIG_JBD2=y 1144CONFIG_JBD2=y
@@ -1094,6 +1151,7 @@ CONFIG_FS_MBCACHE=y
1094# CONFIG_GFS2_FS is not set 1151# CONFIG_GFS2_FS is not set
1095# CONFIG_OCFS2_FS is not set 1152# CONFIG_OCFS2_FS is not set
1096# CONFIG_BTRFS_FS is not set 1153# CONFIG_BTRFS_FS is not set
1154# CONFIG_NILFS2_FS is not set
1097CONFIG_FILE_LOCKING=y 1155CONFIG_FILE_LOCKING=y
1098CONFIG_FSNOTIFY=y 1156CONFIG_FSNOTIFY=y
1099CONFIG_DNOTIFY=y 1157CONFIG_DNOTIFY=y
@@ -1155,6 +1213,7 @@ CONFIG_MISC_FILESYSTEMS=y
1155# CONFIG_BEFS_FS is not set 1213# CONFIG_BEFS_FS is not set
1156# CONFIG_BFS_FS is not set 1214# CONFIG_BFS_FS is not set
1157# CONFIG_EFS_FS is not set 1215# CONFIG_EFS_FS is not set
1216# CONFIG_LOGFS is not set
1158# CONFIG_CRAMFS is not set 1217# CONFIG_CRAMFS is not set
1159# CONFIG_SQUASHFS is not set 1218# CONFIG_SQUASHFS is not set
1160# CONFIG_VXFS_FS is not set 1219# CONFIG_VXFS_FS is not set
@@ -1165,7 +1224,6 @@ CONFIG_MISC_FILESYSTEMS=y
1165# CONFIG_ROMFS_FS is not set 1224# CONFIG_ROMFS_FS is not set
1166# CONFIG_SYSV_FS is not set 1225# CONFIG_SYSV_FS is not set
1167# CONFIG_UFS_FS is not set 1226# CONFIG_UFS_FS is not set
1168# CONFIG_NILFS2_FS is not set
1169CONFIG_NETWORK_FILESYSTEMS=y 1227CONFIG_NETWORK_FILESYSTEMS=y
1170CONFIG_NFS_FS=y 1228CONFIG_NFS_FS=y
1171CONFIG_NFS_V3=y 1229CONFIG_NFS_V3=y
@@ -1182,6 +1240,7 @@ CONFIG_SUNRPC_GSS=y
1182CONFIG_RPCSEC_GSS_KRB5=y 1240CONFIG_RPCSEC_GSS_KRB5=y
1183# CONFIG_RPCSEC_GSS_SPKM3 is not set 1241# CONFIG_RPCSEC_GSS_SPKM3 is not set
1184# CONFIG_SMB_FS is not set 1242# CONFIG_SMB_FS is not set
1243# CONFIG_CEPH_FS is not set
1185CONFIG_CIFS=m 1244CONFIG_CIFS=m
1186# CONFIG_CIFS_STATS is not set 1245# CONFIG_CIFS_STATS is not set
1187# CONFIG_CIFS_WEAK_PW_HASH is not set 1246# CONFIG_CIFS_WEAK_PW_HASH is not set
@@ -1238,7 +1297,7 @@ CONFIG_NLS_ISO8859_1=y
1238# CONFIG_NLS_KOI8_U is not set 1297# CONFIG_NLS_KOI8_U is not set
1239# CONFIG_NLS_UTF8 is not set 1298# CONFIG_NLS_UTF8 is not set
1240# CONFIG_DLM is not set 1299# CONFIG_DLM is not set
1241CONFIG_BINARY_PRINTF=y 1300# CONFIG_BINARY_PRINTF is not set
1242 1301
1243# 1302#
1244# Library routines 1303# Library routines
@@ -1271,6 +1330,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
1271CONFIG_ENABLE_MUST_CHECK=y 1330CONFIG_ENABLE_MUST_CHECK=y
1272CONFIG_FRAME_WARN=2048 1331CONFIG_FRAME_WARN=2048
1273CONFIG_MAGIC_SYSRQ=y 1332CONFIG_MAGIC_SYSRQ=y
1333# CONFIG_STRIP_ASM_SYMS is not set
1274# CONFIG_UNUSED_SYMBOLS is not set 1334# CONFIG_UNUSED_SYMBOLS is not set
1275CONFIG_DEBUG_FS=y 1335CONFIG_DEBUG_FS=y
1276# CONFIG_HEADERS_CHECK is not set 1336# CONFIG_HEADERS_CHECK is not set
@@ -1293,6 +1353,7 @@ CONFIG_DEBUG_SPINLOCK=y
1293CONFIG_DEBUG_MUTEXES=y 1353CONFIG_DEBUG_MUTEXES=y
1294CONFIG_DEBUG_LOCK_ALLOC=y 1354CONFIG_DEBUG_LOCK_ALLOC=y
1295CONFIG_PROVE_LOCKING=y 1355CONFIG_PROVE_LOCKING=y
1356# CONFIG_PROVE_RCU is not set
1296CONFIG_LOCKDEP=y 1357CONFIG_LOCKDEP=y
1297# CONFIG_LOCK_STAT is not set 1358# CONFIG_LOCK_STAT is not set
1298CONFIG_DEBUG_LOCKDEP=y 1359CONFIG_DEBUG_LOCKDEP=y
@@ -1309,26 +1370,27 @@ CONFIG_DEBUG_MEMORY_INIT=y
1309CONFIG_DEBUG_LIST=y 1370CONFIG_DEBUG_LIST=y
1310# CONFIG_DEBUG_SG is not set 1371# CONFIG_DEBUG_SG is not set
1311# CONFIG_DEBUG_NOTIFIERS is not set 1372# CONFIG_DEBUG_NOTIFIERS is not set
1373# CONFIG_DEBUG_CREDENTIALS is not set
1312# CONFIG_RCU_TORTURE_TEST is not set 1374# CONFIG_RCU_TORTURE_TEST is not set
1313# CONFIG_RCU_CPU_STALL_DETECTOR is not set 1375# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1314# CONFIG_BACKTRACE_SELF_TEST is not set 1376# CONFIG_BACKTRACE_SELF_TEST is not set
1315# 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
1316# CONFIG_FAULT_INJECTION is not set 1380# CONFIG_FAULT_INJECTION is not set
1317# CONFIG_LATENCYTOP is not set 1381# CONFIG_LATENCYTOP is not set
1318CONFIG_SYSCTL_SYSCALL_CHECK=y 1382CONFIG_SYSCTL_SYSCALL_CHECK=y
1319# CONFIG_DEBUG_PAGEALLOC is not set 1383# CONFIG_DEBUG_PAGEALLOC is not set
1320CONFIG_NOP_TRACER=y
1321CONFIG_HAVE_FUNCTION_TRACER=y 1384CONFIG_HAVE_FUNCTION_TRACER=y
1322CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y 1385CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
1323CONFIG_HAVE_DYNAMIC_FTRACE=y 1386CONFIG_HAVE_DYNAMIC_FTRACE=y
1324CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y 1387CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1325CONFIG_RING_BUFFER=y 1388CONFIG_RING_BUFFER=y
1326CONFIG_EVENT_TRACING=y 1389CONFIG_RING_BUFFER_ALLOW_SWAP=y
1327CONFIG_CONTEXT_SWITCH_TRACER=y
1328CONFIG_TRACING=y
1329CONFIG_TRACING_SUPPORT=y 1390CONFIG_TRACING_SUPPORT=y
1330# CONFIG_FTRACE is not set 1391# CONFIG_FTRACE is not set
1331# CONFIG_DYNAMIC_DEBUG is not set 1392# CONFIG_DYNAMIC_DEBUG is not set
1393# CONFIG_DMA_API_DEBUG is not set
1332# CONFIG_SAMPLES is not set 1394# CONFIG_SAMPLES is not set
1333CONFIG_HAVE_ARCH_KGDB=y 1395CONFIG_HAVE_ARCH_KGDB=y
1334# CONFIG_KGDB is not set 1396# CONFIG_KGDB is not set
@@ -1353,13 +1415,16 @@ CONFIG_IRQSTACKS=y
1353# CONFIG_KEYS is not set 1415# CONFIG_KEYS is not set
1354# CONFIG_SECURITY is not set 1416# CONFIG_SECURITY is not set
1355# CONFIG_SECURITYFS is not set 1417# CONFIG_SECURITYFS is not set
1356# 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=""
1357CONFIG_CRYPTO=y 1423CONFIG_CRYPTO=y
1358 1424
1359# 1425#
1360# Crypto core or helper 1426# Crypto core or helper
1361# 1427#
1362# CONFIG_CRYPTO_FIPS is not set
1363CONFIG_CRYPTO_ALGAPI=y 1428CONFIG_CRYPTO_ALGAPI=y
1364CONFIG_CRYPTO_ALGAPI2=y 1429CONFIG_CRYPTO_ALGAPI2=y
1365CONFIG_CRYPTO_AEAD=m 1430CONFIG_CRYPTO_AEAD=m
@@ -1375,6 +1440,7 @@ CONFIG_CRYPTO_MANAGER=y
1375CONFIG_CRYPTO_MANAGER2=y 1440CONFIG_CRYPTO_MANAGER2=y
1376CONFIG_CRYPTO_GF128MUL=m 1441CONFIG_CRYPTO_GF128MUL=m
1377# CONFIG_CRYPTO_NULL is not set 1442# CONFIG_CRYPTO_NULL is not set
1443# CONFIG_CRYPTO_PCRYPT is not set
1378CONFIG_CRYPTO_WORKQUEUE=y 1444CONFIG_CRYPTO_WORKQUEUE=y
1379# CONFIG_CRYPTO_CRYPTD is not set 1445# CONFIG_CRYPTO_CRYPTD is not set
1380# CONFIG_CRYPTO_AUTHENC is not set 1446# CONFIG_CRYPTO_AUTHENC is not set
@@ -1403,11 +1469,13 @@ CONFIG_CRYPTO_PCBC=m
1403# 1469#
1404# CONFIG_CRYPTO_HMAC is not set 1470# CONFIG_CRYPTO_HMAC is not set
1405# CONFIG_CRYPTO_XCBC is not set 1471# CONFIG_CRYPTO_XCBC is not set
1472# CONFIG_CRYPTO_VMAC is not set
1406 1473
1407# 1474#
1408# Digest 1475# Digest
1409# 1476#
1410# CONFIG_CRYPTO_CRC32C is not set 1477# CONFIG_CRYPTO_CRC32C is not set
1478CONFIG_CRYPTO_GHASH=m
1411# CONFIG_CRYPTO_MD4 is not set 1479# CONFIG_CRYPTO_MD4 is not set
1412CONFIG_CRYPTO_MD5=y 1480CONFIG_CRYPTO_MD5=y
1413CONFIG_CRYPTO_MICHAEL_MIC=m 1481CONFIG_CRYPTO_MICHAEL_MIC=m
diff --git a/arch/powerpc/configs/pseries_defconfig b/arch/powerpc/configs/pseries_defconfig
index ca9ff9aad74a..16ae717d1958 100644
--- a/arch/powerpc/configs/pseries_defconfig
+++ b/arch/powerpc/configs/pseries_defconfig
@@ -92,8 +92,7 @@ CONFIG_CPUSETS=y
92# CONFIG_GROUP_SCHED is not set 92# CONFIG_GROUP_SCHED is not set
93CONFIG_CGROUP_CPUACCT=y 93CONFIG_CGROUP_CPUACCT=y
94# CONFIG_RESOURCE_COUNTERS is not set 94# CONFIG_RESOURCE_COUNTERS is not set
95CONFIG_SYSFS_DEPRECATED=y 95# CONFIG_SYSFS_DEPRECATED_V2 is not set
96CONFIG_SYSFS_DEPRECATED_V2=y
97CONFIG_PROC_PID_CPUSET=y 96CONFIG_PROC_PID_CPUSET=y
98CONFIG_RELAY=y 97CONFIG_RELAY=y
99CONFIG_NAMESPACES=y 98CONFIG_NAMESPACES=y
@@ -159,7 +158,7 @@ CONFIG_MODULE_SRCVERSION_ALL=y
159CONFIG_KMOD=y 158CONFIG_KMOD=y
160CONFIG_STOP_MACHINE=y 159CONFIG_STOP_MACHINE=y
161CONFIG_BLOCK=y 160CONFIG_BLOCK=y
162# CONFIG_BLK_DEV_IO_TRACE is not set 161CONFIG_BLK_DEV_IO_TRACE=y
163CONFIG_BLK_DEV_BSG=y 162CONFIG_BLK_DEV_BSG=y
164# CONFIG_BLK_DEV_INTEGRITY is not set 163# CONFIG_BLK_DEV_INTEGRITY is not set
165CONFIG_BLOCK_COMPAT=y 164CONFIG_BLOCK_COMPAT=y
@@ -191,6 +190,7 @@ CONFIG_SCANLOG=m
191CONFIG_LPARCFG=y 190CONFIG_LPARCFG=y
192CONFIG_PPC_SMLPAR=y 191CONFIG_PPC_SMLPAR=y
193CONFIG_CMM=y 192CONFIG_CMM=y
193CONFIG_DTL=y
194# CONFIG_PPC_ISERIES is not set 194# CONFIG_PPC_ISERIES is not set
195# CONFIG_PPC_PMAC is not set 195# CONFIG_PPC_PMAC is not set
196# CONFIG_PPC_MAPLE is not set 196# CONFIG_PPC_MAPLE is not set
@@ -255,7 +255,8 @@ CONFIG_KEXEC=y
255# CONFIG_PHYP_DUMP is not set 255# CONFIG_PHYP_DUMP is not set
256CONFIG_IRQ_ALL_CPUS=y 256CONFIG_IRQ_ALL_CPUS=y
257CONFIG_NUMA=y 257CONFIG_NUMA=y
258CONFIG_NODES_SHIFT=4 258CONFIG_NODES_SHIFT=8
259CONFIG_MAX_ACTIVE_REGIONS=256
259CONFIG_ARCH_SELECT_MEMORY_MODEL=y 260CONFIG_ARCH_SELECT_MEMORY_MODEL=y
260CONFIG_ARCH_SPARSEMEM_ENABLE=y 261CONFIG_ARCH_SPARSEMEM_ENABLE=y
261CONFIG_ARCH_SPARSEMEM_DEFAULT=y 262CONFIG_ARCH_SPARSEMEM_DEFAULT=y
@@ -270,7 +271,9 @@ CONFIG_HAVE_MEMORY_PRESENT=y
270CONFIG_SPARSEMEM_EXTREME=y 271CONFIG_SPARSEMEM_EXTREME=y
271CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y 272CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
272CONFIG_SPARSEMEM_VMEMMAP=y 273CONFIG_SPARSEMEM_VMEMMAP=y
273# CONFIG_MEMORY_HOTPLUG is not set 274CONFIG_MEMORY_HOTPLUG=y
275CONFIG_MEMORY_HOTPLUG_SPARSE=y
276CONFIG_MEMORY_HOTREMOVE=y
274CONFIG_PAGEFLAGS_EXTENDED=y 277CONFIG_PAGEFLAGS_EXTENDED=y
275CONFIG_SPLIT_PTLOCK_CPUS=4 278CONFIG_SPLIT_PTLOCK_CPUS=4
276CONFIG_MIGRATION=y 279CONFIG_MIGRATION=y
@@ -705,7 +708,7 @@ CONFIG_MD_LINEAR=y
705CONFIG_MD_RAID0=y 708CONFIG_MD_RAID0=y
706CONFIG_MD_RAID1=y 709CONFIG_MD_RAID1=y
707CONFIG_MD_RAID10=m 710CONFIG_MD_RAID10=m
708# CONFIG_MD_RAID456 is not set 711CONFIG_MD_RAID456=m
709CONFIG_MD_MULTIPATH=m 712CONFIG_MD_MULTIPATH=m
710CONFIG_MD_FAULTY=m 713CONFIG_MD_FAULTY=m
711CONFIG_BLK_DEV_DM=y 714CONFIG_BLK_DEV_DM=y
@@ -800,7 +803,7 @@ CONFIG_ACENIC=m
800CONFIG_ACENIC_OMIT_TIGON_I=y 803CONFIG_ACENIC_OMIT_TIGON_I=y
801# CONFIG_DL2K is not set 804# CONFIG_DL2K is not set
802CONFIG_E1000=y 805CONFIG_E1000=y
803# CONFIG_E1000E is not set 806CONFIG_E1000E=y
804# CONFIG_IP1000 is not set 807# CONFIG_IP1000 is not set
805# CONFIG_IGB is not set 808# CONFIG_IGB is not set
806# CONFIG_NS83820 is not set 809# CONFIG_NS83820 is not set
@@ -818,18 +821,18 @@ CONFIG_TIGON3=y
818# CONFIG_ATL1E is not set 821# CONFIG_ATL1E is not set
819# CONFIG_JME is not set 822# CONFIG_JME is not set
820CONFIG_NETDEV_10000=y 823CONFIG_NETDEV_10000=y
821# CONFIG_CHELSIO_T1 is not set 824CONFIG_CHELSIO_T1=m
822# CONFIG_CHELSIO_T3 is not set 825CONFIG_CHELSIO_T3=m
823CONFIG_EHEA=y 826CONFIG_EHEA=y
824# CONFIG_ENIC is not set 827# CONFIG_ENIC is not set
825# CONFIG_IXGBE is not set 828CONFIG_IXGBE=m
826CONFIG_IXGB=m 829CONFIG_IXGB=m
827CONFIG_S2IO=m 830CONFIG_S2IO=m
828# CONFIG_MYRI10GE is not set 831CONFIG_MYRI10GE=m
829# CONFIG_NETXEN_NIC is not set 832CONFIG_NETXEN_NIC=m
830# CONFIG_NIU is not set 833# CONFIG_NIU is not set
831# CONFIG_MLX4_EN is not set 834CONFIG_MLX4_EN=m
832# CONFIG_MLX4_CORE is not set 835CONFIG_MLX4_CORE=m
833# CONFIG_TEHUTI is not set 836# CONFIG_TEHUTI is not set
834# CONFIG_BNX2X is not set 837# CONFIG_BNX2X is not set
835# CONFIG_QLGE is not set 838# CONFIG_QLGE is not set
@@ -894,7 +897,7 @@ CONFIG_INPUT_MOUSEDEV=y
894CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 897CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
895CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 898CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
896# CONFIG_INPUT_JOYDEV is not set 899# CONFIG_INPUT_JOYDEV is not set
897# CONFIG_INPUT_EVDEV is not set 900CONFIG_INPUT_EVDEV=m
898# CONFIG_INPUT_EVBUG is not set 901# CONFIG_INPUT_EVBUG is not set
899 902
900# 903#
@@ -1271,7 +1274,7 @@ CONFIG_USB_DEVICEFS=y
1271CONFIG_USB_DEVICE_CLASS=y 1274CONFIG_USB_DEVICE_CLASS=y
1272# CONFIG_USB_DYNAMIC_MINORS is not set 1275# CONFIG_USB_DYNAMIC_MINORS is not set
1273# CONFIG_USB_OTG is not set 1276# CONFIG_USB_OTG is not set
1274CONFIG_USB_MON=y 1277CONFIG_USB_MON=m
1275# CONFIG_USB_WUSB is not set 1278# CONFIG_USB_WUSB is not set
1276# CONFIG_USB_WUSB_CBAF is not set 1279# CONFIG_USB_WUSB_CBAF is not set
1277 1280
@@ -1311,7 +1314,7 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1311# 1314#
1312# may also be needed; see USB_STORAGE Help for more information 1315# may also be needed; see USB_STORAGE Help for more information
1313# 1316#
1314CONFIG_USB_STORAGE=y 1317CONFIG_USB_STORAGE=m
1315# CONFIG_USB_STORAGE_DEBUG is not set 1318# CONFIG_USB_STORAGE_DEBUG is not set
1316# CONFIG_USB_STORAGE_DATAFAB is not set 1319# CONFIG_USB_STORAGE_DATAFAB is not set
1317# CONFIG_USB_STORAGE_FREECOM is not set 1320# CONFIG_USB_STORAGE_FREECOM is not set
@@ -1322,7 +1325,7 @@ CONFIG_USB_STORAGE=y
1322# CONFIG_USB_STORAGE_SDDR55 is not set 1325# CONFIG_USB_STORAGE_SDDR55 is not set
1323# CONFIG_USB_STORAGE_JUMPSHOT is not set 1326# CONFIG_USB_STORAGE_JUMPSHOT is not set
1324# CONFIG_USB_STORAGE_ALAUDA is not set 1327# CONFIG_USB_STORAGE_ALAUDA is not set
1325CONFIG_USB_STORAGE_ONETOUCH=y 1328# CONFIG_USB_STORAGE_ONETOUCH is not set
1326# CONFIG_USB_STORAGE_KARMA is not set 1329# CONFIG_USB_STORAGE_KARMA is not set
1327# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set 1330# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
1328# CONFIG_USB_LIBUSUAL is not set 1331# CONFIG_USB_LIBUSUAL is not set
@@ -1377,17 +1380,17 @@ CONFIG_INFINIBAND_USER_MEM=y
1377CONFIG_INFINIBAND_ADDR_TRANS=y 1380CONFIG_INFINIBAND_ADDR_TRANS=y
1378CONFIG_INFINIBAND_MTHCA=m 1381CONFIG_INFINIBAND_MTHCA=m
1379CONFIG_INFINIBAND_MTHCA_DEBUG=y 1382CONFIG_INFINIBAND_MTHCA_DEBUG=y
1380# CONFIG_INFINIBAND_IPATH is not set 1383CONFIG_INFINIBAND_IPATH=m
1381CONFIG_INFINIBAND_EHCA=m 1384CONFIG_INFINIBAND_EHCA=m
1382# CONFIG_INFINIBAND_AMSO1100 is not set 1385# CONFIG_INFINIBAND_AMSO1100 is not set
1383# CONFIG_MLX4_INFINIBAND is not set 1386CONFIG_MLX4_INFINIBAND=m
1384# CONFIG_INFINIBAND_NES is not set 1387# CONFIG_INFINIBAND_NES is not set
1385CONFIG_INFINIBAND_IPOIB=m 1388CONFIG_INFINIBAND_IPOIB=m
1386# CONFIG_INFINIBAND_IPOIB_CM is not set 1389CONFIG_INFINIBAND_IPOIB_CM=y
1387CONFIG_INFINIBAND_IPOIB_DEBUG=y 1390CONFIG_INFINIBAND_IPOIB_DEBUG=y
1388# CONFIG_INFINIBAND_IPOIB_DEBUG_DATA is not set 1391# CONFIG_INFINIBAND_IPOIB_DEBUG_DATA is not set
1389CONFIG_INFINIBAND_SRP=m 1392CONFIG_INFINIBAND_SRP=m
1390# CONFIG_INFINIBAND_ISER is not set 1393CONFIG_INFINIBAND_ISER=m
1391# CONFIG_EDAC is not set 1394# CONFIG_EDAC is not set
1392# CONFIG_RTC_CLASS is not set 1395# CONFIG_RTC_CLASS is not set
1393# CONFIG_DMADEVICES is not set 1396# CONFIG_DMADEVICES is not set
@@ -1443,6 +1446,9 @@ CONFIG_OCFS2_FS_STATS=y
1443CONFIG_OCFS2_DEBUG_MASKLOG=y 1446CONFIG_OCFS2_DEBUG_MASKLOG=y
1444# CONFIG_OCFS2_DEBUG_FS is not set 1447# CONFIG_OCFS2_DEBUG_FS is not set
1445# CONFIG_OCFS2_COMPAT_JBD is not set 1448# CONFIG_OCFS2_COMPAT_JBD is not set
1449CONFIG_BTRFS_FS=m
1450CONFIG_BTRFS_FS_POSIX_ACL=y
1451CONFIG_NILFS2_FS=m
1446CONFIG_DNOTIFY=y 1452CONFIG_DNOTIFY=y
1447CONFIG_INOTIFY=y 1453CONFIG_INOTIFY=y
1448CONFIG_INOTIFY_USER=y 1454CONFIG_INOTIFY_USER=y
@@ -1455,8 +1461,8 @@ CONFIG_FUSE_FS=m
1455# CD-ROM/DVD Filesystems 1461# CD-ROM/DVD Filesystems
1456# 1462#
1457CONFIG_ISO9660_FS=y 1463CONFIG_ISO9660_FS=y
1458CONFIG_JOLIET=y 1464# CONFIG_JOLIET is not set
1459CONFIG_ZISOFS=y 1465# CONFIG_ZISOFS is not set
1460CONFIG_UDF_FS=m 1466CONFIG_UDF_FS=m
1461CONFIG_UDF_NLS=y 1467CONFIG_UDF_NLS=y
1462 1468
@@ -1508,14 +1514,14 @@ CONFIG_NFS_FS=y
1508CONFIG_NFS_V3=y 1514CONFIG_NFS_V3=y
1509CONFIG_NFS_V3_ACL=y 1515CONFIG_NFS_V3_ACL=y
1510CONFIG_NFS_V4=y 1516CONFIG_NFS_V4=y
1511CONFIG_NFSD=y 1517CONFIG_NFSD=m
1512CONFIG_NFSD_V2_ACL=y 1518CONFIG_NFSD_V2_ACL=y
1513CONFIG_NFSD_V3=y 1519CONFIG_NFSD_V3=y
1514CONFIG_NFSD_V3_ACL=y 1520CONFIG_NFSD_V3_ACL=y
1515CONFIG_NFSD_V4=y 1521CONFIG_NFSD_V4=y
1516CONFIG_LOCKD=y 1522CONFIG_LOCKD=y
1517CONFIG_LOCKD_V4=y 1523CONFIG_LOCKD_V4=y
1518CONFIG_EXPORTFS=y 1524CONFIG_EXPORTFS=m
1519CONFIG_NFS_ACL_SUPPORT=y 1525CONFIG_NFS_ACL_SUPPORT=y
1520CONFIG_NFS_COMMON=y 1526CONFIG_NFS_COMMON=y
1521CONFIG_SUNRPC=y 1527CONFIG_SUNRPC=y
@@ -1681,12 +1687,12 @@ CONFIG_DYNAMIC_PRINTK_DEBUG=y
1681CONFIG_HAVE_ARCH_KGDB=y 1687CONFIG_HAVE_ARCH_KGDB=y
1682# CONFIG_KGDB is not set 1688# CONFIG_KGDB is not set
1683CONFIG_DEBUG_STACKOVERFLOW=y 1689CONFIG_DEBUG_STACKOVERFLOW=y
1684# CONFIG_DEBUG_STACK_USAGE is not set 1690CONFIG_DEBUG_STACK_USAGE=y
1685# CONFIG_DEBUG_PAGEALLOC is not set 1691# CONFIG_DEBUG_PAGEALLOC is not set
1686# CONFIG_HCALL_STATS is not set 1692# CONFIG_HCALL_STATS is not set
1687# CONFIG_CODE_PATCHING_SELFTEST is not set 1693CONFIG_CODE_PATCHING_SELFTEST=y
1688# CONFIG_FTR_FIXUP_SELFTEST is not set 1694CONFIG_FTR_FIXUP_SELFTEST=y
1689# CONFIG_MSI_BITMAP_SELFTEST is not set 1695CONFIG_MSI_BITMAP_SELFTEST=y
1690CONFIG_XMON=y 1696CONFIG_XMON=y
1691CONFIG_XMON_DEFAULT=y 1697CONFIG_XMON_DEFAULT=y
1692CONFIG_XMON_DISASSEMBLY=y 1698CONFIG_XMON_DISASSEMBLY=y
diff --git a/arch/powerpc/configs/storcenter_defconfig b/arch/powerpc/configs/storcenter_defconfig
index f2f832161463..01be0e207f40 100644
--- a/arch/powerpc/configs/storcenter_defconfig
+++ b/arch/powerpc/configs/storcenter_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.33-rc3 3# Linux kernel version: 2.6.34-rc5
4# Wed Jan 6 09:24:13 2010 4# Mon Apr 19 23:16:37 2010
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -94,14 +94,8 @@ CONFIG_RCU_FANOUT=32
94# CONFIG_TREE_RCU_TRACE is not set 94# CONFIG_TREE_RCU_TRACE is not set
95# CONFIG_IKCONFIG is not set 95# CONFIG_IKCONFIG is not set
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 98# CONFIG_SYSFS_DEPRECATED_V2 is not set
104CONFIG_SYSFS_DEPRECATED_V2=y
105# CONFIG_RELAY is not set 99# CONFIG_RELAY is not set
106# CONFIG_NAMESPACES is not set 100# CONFIG_NAMESPACES is not set
107# CONFIG_BLK_DEV_INITRD is not set 101# CONFIG_BLK_DEV_INITRD is not set
@@ -314,6 +308,7 @@ CONFIG_ISA_DMA_API=y
314# Bus options 308# Bus options
315# 309#
316CONFIG_ZONE_DMA=y 310CONFIG_ZONE_DMA=y
311# CONFIG_NEED_DMA_MAP_STATE is not set
317CONFIG_GENERIC_ISA_DMA=y 312CONFIG_GENERIC_ISA_DMA=y
318CONFIG_PPC_INDIRECT_PCI=y 313CONFIG_PPC_INDIRECT_PCI=y
319CONFIG_FSL_SOC=y 314CONFIG_FSL_SOC=y
@@ -323,7 +318,6 @@ CONFIG_PCI_SYSCALL=y
323# CONFIG_PCIEPORTBUS is not set 318# CONFIG_PCIEPORTBUS is not set
324CONFIG_ARCH_SUPPORTS_MSI=y 319CONFIG_ARCH_SUPPORTS_MSI=y
325# CONFIG_PCI_MSI is not set 320# CONFIG_PCI_MSI is not set
326# CONFIG_PCI_LEGACY is not set
327# CONFIG_PCI_STUB is not set 321# CONFIG_PCI_STUB is not set
328# CONFIG_PCI_IOV is not set 322# CONFIG_PCI_IOV is not set
329# CONFIG_PCCARD is not set 323# CONFIG_PCCARD is not set
@@ -349,7 +343,6 @@ CONFIG_NET=y
349# Networking options 343# Networking options
350# 344#
351CONFIG_PACKET=m 345CONFIG_PACKET=m
352# CONFIG_PACKET_MMAP is not set
353CONFIG_UNIX=y 346CONFIG_UNIX=y
354# CONFIG_NET_KEY is not set 347# CONFIG_NET_KEY is not set
355CONFIG_INET=y 348CONFIG_INET=y
@@ -524,6 +517,8 @@ CONFIG_MTD_PHYSMAP=y
524# UBI - Unsorted block images 517# UBI - Unsorted block images
525# 518#
526# CONFIG_MTD_UBI is not set 519# CONFIG_MTD_UBI is not set
520CONFIG_OF_FLATTREE=y
521CONFIG_OF_DYNAMIC=y
527CONFIG_OF_DEVICE=y 522CONFIG_OF_DEVICE=y
528CONFIG_OF_I2C=y 523CONFIG_OF_I2C=y
529# CONFIG_PARPORT is not set 524# CONFIG_PARPORT is not set
@@ -555,6 +550,7 @@ CONFIG_MISC_DEVICES=y
555# CONFIG_ENCLOSURE_SERVICES is not set 550# CONFIG_ENCLOSURE_SERVICES is not set
556# CONFIG_HP_ILO is not set 551# CONFIG_HP_ILO is not set
557# CONFIG_ISL29003 is not set 552# CONFIG_ISL29003 is not set
553# CONFIG_SENSORS_TSL2550 is not set
558# CONFIG_DS1682 is not set 554# CONFIG_DS1682 is not set
559# CONFIG_C2PORT is not set 555# CONFIG_C2PORT is not set
560 556
@@ -626,6 +622,7 @@ CONFIG_BLK_DEV_IDEDMA=y
626# 622#
627# SCSI device support 623# SCSI device support
628# 624#
625CONFIG_SCSI_MOD=y
629# CONFIG_RAID_ATTRS is not set 626# CONFIG_RAID_ATTRS is not set
630CONFIG_SCSI=y 627CONFIG_SCSI=y
631CONFIG_SCSI_DMA=y 628CONFIG_SCSI_DMA=y
@@ -846,6 +843,7 @@ CONFIG_SERIAL_CORE=y
846CONFIG_SERIAL_CORE_CONSOLE=y 843CONFIG_SERIAL_CORE_CONSOLE=y
847# CONFIG_SERIAL_JSM is not set 844# CONFIG_SERIAL_JSM is not set
848# CONFIG_SERIAL_OF_PLATFORM is not set 845# CONFIG_SERIAL_OF_PLATFORM is not set
846# CONFIG_SERIAL_TIMBERDALE is not set
849# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set 847# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set
850CONFIG_UNIX98_PTYS=y 848CONFIG_UNIX98_PTYS=y
851# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set 849# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
@@ -895,6 +893,7 @@ CONFIG_I2C_HELPER_AUTO=y
895CONFIG_I2C_MPC=y 893CONFIG_I2C_MPC=y
896# CONFIG_I2C_OCORES is not set 894# CONFIG_I2C_OCORES is not set
897# CONFIG_I2C_SIMTEC is not set 895# CONFIG_I2C_SIMTEC is not set
896# CONFIG_I2C_XILINX is not set
898 897
899# 898#
900# External I2C/SMBus adapter drivers 899# External I2C/SMBus adapter drivers
@@ -908,15 +907,9 @@ CONFIG_I2C_MPC=y
908# 907#
909# CONFIG_I2C_PCA_PLATFORM is not set 908# CONFIG_I2C_PCA_PLATFORM is not set
910# CONFIG_I2C_STUB is not set 909# CONFIG_I2C_STUB is not set
911
912#
913# Miscellaneous I2C Chip support
914#
915# CONFIG_SENSORS_TSL2550 is not set
916# CONFIG_I2C_DEBUG_CORE is not set 910# CONFIG_I2C_DEBUG_CORE is not set
917# CONFIG_I2C_DEBUG_ALGO is not set 911# CONFIG_I2C_DEBUG_ALGO is not set
918# CONFIG_I2C_DEBUG_BUS is not set 912# CONFIG_I2C_DEBUG_BUS is not set
919# CONFIG_I2C_DEBUG_CHIP is not set
920# CONFIG_SPI is not set 913# CONFIG_SPI is not set
921 914
922# 915#
@@ -941,18 +934,21 @@ CONFIG_SSB_POSSIBLE=y
941# Multifunction device drivers 934# Multifunction device drivers
942# 935#
943# CONFIG_MFD_CORE is not set 936# CONFIG_MFD_CORE is not set
937# CONFIG_MFD_88PM860X is not set
944# CONFIG_MFD_SM501 is not set 938# CONFIG_MFD_SM501 is not set
945# CONFIG_HTC_PASIC3 is not set 939# CONFIG_HTC_PASIC3 is not set
946# CONFIG_TWL4030_CORE is not set 940# CONFIG_TWL4030_CORE is not set
947# CONFIG_MFD_TMIO is not set 941# CONFIG_MFD_TMIO is not set
948# CONFIG_PMIC_DA903X is not set 942# CONFIG_PMIC_DA903X is not set
949# CONFIG_PMIC_ADP5520 is not set 943# CONFIG_PMIC_ADP5520 is not set
944# CONFIG_MFD_MAX8925 is not set
950# CONFIG_MFD_WM8400 is not set 945# CONFIG_MFD_WM8400 is not set
951# CONFIG_MFD_WM831X is not set 946# CONFIG_MFD_WM831X is not set
952# CONFIG_MFD_WM8350_I2C is not set 947# CONFIG_MFD_WM8350_I2C is not set
948# CONFIG_MFD_WM8994 is not set
953# CONFIG_MFD_PCF50633 is not set 949# CONFIG_MFD_PCF50633 is not set
954# CONFIG_AB3100_CORE is not set 950# CONFIG_AB3100_CORE is not set
955# CONFIG_MFD_88PM8607 is not set 951# CONFIG_LPC_SCH is not set
956# CONFIG_REGULATOR is not set 952# CONFIG_REGULATOR is not set
957# CONFIG_MEDIA_SUPPORT is not set 953# CONFIG_MEDIA_SUPPORT is not set
958 954
@@ -961,6 +957,7 @@ CONFIG_SSB_POSSIBLE=y
961# 957#
962# CONFIG_AGP is not set 958# CONFIG_AGP is not set
963CONFIG_VGA_ARB=y 959CONFIG_VGA_ARB=y
960CONFIG_VGA_ARB_MAX_GPUS=16
964# CONFIG_DRM is not set 961# CONFIG_DRM is not set
965# CONFIG_VGASTATE is not set 962# CONFIG_VGASTATE is not set
966# CONFIG_VIDEO_OUTPUT_CONTROL is not set 963# CONFIG_VIDEO_OUTPUT_CONTROL is not set
@@ -1071,7 +1068,6 @@ CONFIG_USB_STORAGE=y
1071# CONFIG_USB_RIO500 is not set 1068# CONFIG_USB_RIO500 is not set
1072# CONFIG_USB_LEGOTOWER is not set 1069# CONFIG_USB_LEGOTOWER is not set
1073# CONFIG_USB_LCD is not set 1070# CONFIG_USB_LCD is not set
1074# CONFIG_USB_BERRY_CHARGE is not set
1075# CONFIG_USB_LED is not set 1071# CONFIG_USB_LED is not set
1076# CONFIG_USB_CYPRESS_CY7C63 is not set 1072# CONFIG_USB_CYPRESS_CY7C63 is not set
1077# CONFIG_USB_CYTHERM is not set 1073# CONFIG_USB_CYTHERM is not set
@@ -1084,7 +1080,6 @@ CONFIG_USB_STORAGE=y
1084# CONFIG_USB_IOWARRIOR is not set 1080# CONFIG_USB_IOWARRIOR is not set
1085# CONFIG_USB_TEST is not set 1081# CONFIG_USB_TEST is not set
1086# CONFIG_USB_ISIGHTFW is not set 1082# CONFIG_USB_ISIGHTFW is not set
1087# CONFIG_USB_VST is not set
1088# CONFIG_USB_GADGET is not set 1083# CONFIG_USB_GADGET is not set
1089 1084
1090# 1085#
@@ -1251,6 +1246,7 @@ CONFIG_JFFS2_ZLIB=y
1251# CONFIG_JFFS2_LZO is not set 1246# CONFIG_JFFS2_LZO is not set
1252CONFIG_JFFS2_RTIME=y 1247CONFIG_JFFS2_RTIME=y
1253# CONFIG_JFFS2_RUBIN is not set 1248# CONFIG_JFFS2_RUBIN is not set
1249# CONFIG_LOGFS is not set
1254# CONFIG_CRAMFS is not set 1250# CONFIG_CRAMFS is not set
1255# CONFIG_SQUASHFS is not set 1251# CONFIG_SQUASHFS is not set
1256# CONFIG_VXFS_FS is not set 1252# CONFIG_VXFS_FS is not set
diff --git a/arch/powerpc/configs/wii_defconfig b/arch/powerpc/configs/wii_defconfig
index c386828c639a..ee054f8118be 100644
--- a/arch/powerpc/configs/wii_defconfig
+++ b/arch/powerpc/configs/wii_defconfig
@@ -102,8 +102,7 @@ CONFIG_FAIR_GROUP_SCHED=y
102CONFIG_USER_SCHED=y 102CONFIG_USER_SCHED=y
103# CONFIG_CGROUP_SCHED is not set 103# CONFIG_CGROUP_SCHED is not set
104# CONFIG_CGROUPS is not set 104# CONFIG_CGROUPS is not set
105CONFIG_SYSFS_DEPRECATED=y 105# CONFIG_SYSFS_DEPRECATED_V2 is not set
106CONFIG_SYSFS_DEPRECATED_V2=y
107CONFIG_RELAY=y 106CONFIG_RELAY=y
108# CONFIG_NAMESPACES is not set 107# CONFIG_NAMESPACES is not set
109CONFIG_BLK_DEV_INITRD=y 108CONFIG_BLK_DEV_INITRD=y
diff --git a/arch/powerpc/include/asm/abs_addr.h b/arch/powerpc/include/asm/abs_addr.h
index 98324c5a8286..9a846efe6382 100644
--- a/arch/powerpc/include/asm/abs_addr.h
+++ b/arch/powerpc/include/asm/abs_addr.h
@@ -12,7 +12,7 @@
12 * 2 of the License, or (at your option) any later version. 12 * 2 of the License, or (at your option) any later version.
13 */ 13 */
14 14
15#include <linux/lmb.h> 15#include <linux/memblock.h>
16 16
17#include <asm/types.h> 17#include <asm/types.h>
18#include <asm/page.h> 18#include <asm/page.h>
diff --git a/arch/powerpc/include/asm/asm-compat.h b/arch/powerpc/include/asm/asm-compat.h
index 8f0fe7971949..2048a6aeea91 100644
--- a/arch/powerpc/include/asm/asm-compat.h
+++ b/arch/powerpc/include/asm/asm-compat.h
@@ -2,6 +2,7 @@
2#define _ASM_POWERPC_ASM_COMPAT_H 2#define _ASM_POWERPC_ASM_COMPAT_H
3 3
4#include <asm/types.h> 4#include <asm/types.h>
5#include <asm/ppc-opcode.h>
5 6
6#ifdef __ASSEMBLY__ 7#ifdef __ASSEMBLY__
7# define stringify_in_c(...) __VA_ARGS__ 8# define stringify_in_c(...) __VA_ARGS__
@@ -20,13 +21,15 @@
20/* operations for longs and pointers */ 21/* operations for longs and pointers */
21#define PPC_LL stringify_in_c(ld) 22#define PPC_LL stringify_in_c(ld)
22#define PPC_STL stringify_in_c(std) 23#define PPC_STL stringify_in_c(std)
24#define PPC_STLU stringify_in_c(stdu)
23#define PPC_LCMPI stringify_in_c(cmpdi) 25#define PPC_LCMPI stringify_in_c(cmpdi)
24#define PPC_LONG stringify_in_c(.llong) 26#define PPC_LONG stringify_in_c(.llong)
25#define PPC_LONG_ALIGN stringify_in_c(.balign 8) 27#define PPC_LONG_ALIGN stringify_in_c(.balign 8)
26#define PPC_TLNEI stringify_in_c(tdnei) 28#define PPC_TLNEI stringify_in_c(tdnei)
27#define PPC_LLARX stringify_in_c(ldarx) 29#define PPC_LLARX(t, a, b, eh) PPC_LDARX(t, a, b, eh)
28#define PPC_STLCX stringify_in_c(stdcx.) 30#define PPC_STLCX stringify_in_c(stdcx.)
29#define PPC_CNTLZL stringify_in_c(cntlzd) 31#define PPC_CNTLZL stringify_in_c(cntlzd)
32#define PPC_LR_STKOFF 16
30 33
31/* Move to CR, single-entry optimized version. Only available 34/* Move to CR, single-entry optimized version. Only available
32 * on POWER4 and later. 35 * on POWER4 and later.
@@ -42,14 +45,16 @@
42/* operations for longs and pointers */ 45/* operations for longs and pointers */
43#define PPC_LL stringify_in_c(lwz) 46#define PPC_LL stringify_in_c(lwz)
44#define PPC_STL stringify_in_c(stw) 47#define PPC_STL stringify_in_c(stw)
48#define PPC_STLU stringify_in_c(stwu)
45#define PPC_LCMPI stringify_in_c(cmpwi) 49#define PPC_LCMPI stringify_in_c(cmpwi)
46#define PPC_LONG stringify_in_c(.long) 50#define PPC_LONG stringify_in_c(.long)
47#define PPC_LONG_ALIGN stringify_in_c(.balign 4) 51#define PPC_LONG_ALIGN stringify_in_c(.balign 4)
48#define PPC_TLNEI stringify_in_c(twnei) 52#define PPC_TLNEI stringify_in_c(twnei)
49#define PPC_LLARX stringify_in_c(lwarx) 53#define PPC_LLARX(t, a, b, eh) PPC_LWARX(t, a, b, eh)
50#define PPC_STLCX stringify_in_c(stwcx.) 54#define PPC_STLCX stringify_in_c(stwcx.)
51#define PPC_CNTLZL stringify_in_c(cntlzw) 55#define PPC_CNTLZL stringify_in_c(cntlzw)
52#define PPC_MTOCRF stringify_in_c(mtcrf) 56#define PPC_MTOCRF stringify_in_c(mtcrf)
57#define PPC_LR_STKOFF 4
53 58
54#endif 59#endif
55 60
diff --git a/arch/powerpc/include/asm/atomic.h b/arch/powerpc/include/asm/atomic.h
index 4012483b1899..b8f152ece025 100644
--- a/arch/powerpc/include/asm/atomic.h
+++ b/arch/powerpc/include/asm/atomic.h
@@ -49,13 +49,13 @@ static __inline__ int atomic_add_return(int a, atomic_t *v)
49 int t; 49 int t;
50 50
51 __asm__ __volatile__( 51 __asm__ __volatile__(
52 LWSYNC_ON_SMP 52 PPC_RELEASE_BARRIER
53"1: lwarx %0,0,%2 # atomic_add_return\n\ 53"1: lwarx %0,0,%2 # atomic_add_return\n\
54 add %0,%1,%0\n" 54 add %0,%1,%0\n"
55 PPC405_ERR77(0,%2) 55 PPC405_ERR77(0,%2)
56" stwcx. %0,0,%2 \n\ 56" stwcx. %0,0,%2 \n\
57 bne- 1b" 57 bne- 1b"
58 ISYNC_ON_SMP 58 PPC_ACQUIRE_BARRIER
59 : "=&r" (t) 59 : "=&r" (t)
60 : "r" (a), "r" (&v->counter) 60 : "r" (a), "r" (&v->counter)
61 : "cc", "memory"); 61 : "cc", "memory");
@@ -85,13 +85,13 @@ static __inline__ int atomic_sub_return(int a, atomic_t *v)
85 int t; 85 int t;
86 86
87 __asm__ __volatile__( 87 __asm__ __volatile__(
88 LWSYNC_ON_SMP 88 PPC_RELEASE_BARRIER
89"1: lwarx %0,0,%2 # atomic_sub_return\n\ 89"1: lwarx %0,0,%2 # atomic_sub_return\n\
90 subf %0,%1,%0\n" 90 subf %0,%1,%0\n"
91 PPC405_ERR77(0,%2) 91 PPC405_ERR77(0,%2)
92" stwcx. %0,0,%2 \n\ 92" stwcx. %0,0,%2 \n\
93 bne- 1b" 93 bne- 1b"
94 ISYNC_ON_SMP 94 PPC_ACQUIRE_BARRIER
95 : "=&r" (t) 95 : "=&r" (t)
96 : "r" (a), "r" (&v->counter) 96 : "r" (a), "r" (&v->counter)
97 : "cc", "memory"); 97 : "cc", "memory");
@@ -119,13 +119,13 @@ static __inline__ int atomic_inc_return(atomic_t *v)
119 int t; 119 int t;
120 120
121 __asm__ __volatile__( 121 __asm__ __volatile__(
122 LWSYNC_ON_SMP 122 PPC_RELEASE_BARRIER
123"1: lwarx %0,0,%1 # atomic_inc_return\n\ 123"1: lwarx %0,0,%1 # atomic_inc_return\n\
124 addic %0,%0,1\n" 124 addic %0,%0,1\n"
125 PPC405_ERR77(0,%1) 125 PPC405_ERR77(0,%1)
126" stwcx. %0,0,%1 \n\ 126" stwcx. %0,0,%1 \n\
127 bne- 1b" 127 bne- 1b"
128 ISYNC_ON_SMP 128 PPC_ACQUIRE_BARRIER
129 : "=&r" (t) 129 : "=&r" (t)
130 : "r" (&v->counter) 130 : "r" (&v->counter)
131 : "cc", "xer", "memory"); 131 : "cc", "xer", "memory");
@@ -163,13 +163,13 @@ static __inline__ int atomic_dec_return(atomic_t *v)
163 int t; 163 int t;
164 164
165 __asm__ __volatile__( 165 __asm__ __volatile__(
166 LWSYNC_ON_SMP 166 PPC_RELEASE_BARRIER
167"1: lwarx %0,0,%1 # atomic_dec_return\n\ 167"1: lwarx %0,0,%1 # atomic_dec_return\n\
168 addic %0,%0,-1\n" 168 addic %0,%0,-1\n"
169 PPC405_ERR77(0,%1) 169 PPC405_ERR77(0,%1)
170" stwcx. %0,0,%1\n\ 170" stwcx. %0,0,%1\n\
171 bne- 1b" 171 bne- 1b"
172 ISYNC_ON_SMP 172 PPC_ACQUIRE_BARRIER
173 : "=&r" (t) 173 : "=&r" (t)
174 : "r" (&v->counter) 174 : "r" (&v->counter)
175 : "cc", "xer", "memory"); 175 : "cc", "xer", "memory");
@@ -194,7 +194,7 @@ static __inline__ int atomic_add_unless(atomic_t *v, int a, int u)
194 int t; 194 int t;
195 195
196 __asm__ __volatile__ ( 196 __asm__ __volatile__ (
197 LWSYNC_ON_SMP 197 PPC_RELEASE_BARRIER
198"1: lwarx %0,0,%1 # atomic_add_unless\n\ 198"1: lwarx %0,0,%1 # atomic_add_unless\n\
199 cmpw 0,%0,%3 \n\ 199 cmpw 0,%0,%3 \n\
200 beq- 2f \n\ 200 beq- 2f \n\
@@ -202,7 +202,7 @@ static __inline__ int atomic_add_unless(atomic_t *v, int a, int u)
202 PPC405_ERR77(0,%2) 202 PPC405_ERR77(0,%2)
203" stwcx. %0,0,%1 \n\ 203" stwcx. %0,0,%1 \n\
204 bne- 1b \n" 204 bne- 1b \n"
205 ISYNC_ON_SMP 205 PPC_ACQUIRE_BARRIER
206" subf %0,%2,%0 \n\ 206" subf %0,%2,%0 \n\
2072:" 2072:"
208 : "=&r" (t) 208 : "=&r" (t)
@@ -227,7 +227,7 @@ static __inline__ int atomic_dec_if_positive(atomic_t *v)
227 int t; 227 int t;
228 228
229 __asm__ __volatile__( 229 __asm__ __volatile__(
230 LWSYNC_ON_SMP 230 PPC_RELEASE_BARRIER
231"1: lwarx %0,0,%1 # atomic_dec_if_positive\n\ 231"1: lwarx %0,0,%1 # atomic_dec_if_positive\n\
232 cmpwi %0,1\n\ 232 cmpwi %0,1\n\
233 addi %0,%0,-1\n\ 233 addi %0,%0,-1\n\
@@ -235,7 +235,7 @@ static __inline__ int atomic_dec_if_positive(atomic_t *v)
235 PPC405_ERR77(0,%1) 235 PPC405_ERR77(0,%1)
236" stwcx. %0,0,%1\n\ 236" stwcx. %0,0,%1\n\
237 bne- 1b" 237 bne- 1b"
238 ISYNC_ON_SMP 238 PPC_ACQUIRE_BARRIER
239 "\n\ 239 "\n\
2402:" : "=&b" (t) 2402:" : "=&b" (t)
241 : "r" (&v->counter) 241 : "r" (&v->counter)
@@ -286,12 +286,12 @@ static __inline__ long atomic64_add_return(long a, atomic64_t *v)
286 long t; 286 long t;
287 287
288 __asm__ __volatile__( 288 __asm__ __volatile__(
289 LWSYNC_ON_SMP 289 PPC_RELEASE_BARRIER
290"1: ldarx %0,0,%2 # atomic64_add_return\n\ 290"1: ldarx %0,0,%2 # atomic64_add_return\n\
291 add %0,%1,%0\n\ 291 add %0,%1,%0\n\
292 stdcx. %0,0,%2 \n\ 292 stdcx. %0,0,%2 \n\
293 bne- 1b" 293 bne- 1b"
294 ISYNC_ON_SMP 294 PPC_ACQUIRE_BARRIER
295 : "=&r" (t) 295 : "=&r" (t)
296 : "r" (a), "r" (&v->counter) 296 : "r" (a), "r" (&v->counter)
297 : "cc", "memory"); 297 : "cc", "memory");
@@ -320,12 +320,12 @@ static __inline__ long atomic64_sub_return(long a, atomic64_t *v)
320 long t; 320 long t;
321 321
322 __asm__ __volatile__( 322 __asm__ __volatile__(
323 LWSYNC_ON_SMP 323 PPC_RELEASE_BARRIER
324"1: ldarx %0,0,%2 # atomic64_sub_return\n\ 324"1: ldarx %0,0,%2 # atomic64_sub_return\n\
325 subf %0,%1,%0\n\ 325 subf %0,%1,%0\n\
326 stdcx. %0,0,%2 \n\ 326 stdcx. %0,0,%2 \n\
327 bne- 1b" 327 bne- 1b"
328 ISYNC_ON_SMP 328 PPC_ACQUIRE_BARRIER
329 : "=&r" (t) 329 : "=&r" (t)
330 : "r" (a), "r" (&v->counter) 330 : "r" (a), "r" (&v->counter)
331 : "cc", "memory"); 331 : "cc", "memory");
@@ -352,12 +352,12 @@ static __inline__ long atomic64_inc_return(atomic64_t *v)
352 long t; 352 long t;
353 353
354 __asm__ __volatile__( 354 __asm__ __volatile__(
355 LWSYNC_ON_SMP 355 PPC_RELEASE_BARRIER
356"1: ldarx %0,0,%1 # atomic64_inc_return\n\ 356"1: ldarx %0,0,%1 # atomic64_inc_return\n\
357 addic %0,%0,1\n\ 357 addic %0,%0,1\n\
358 stdcx. %0,0,%1 \n\ 358 stdcx. %0,0,%1 \n\
359 bne- 1b" 359 bne- 1b"
360 ISYNC_ON_SMP 360 PPC_ACQUIRE_BARRIER
361 : "=&r" (t) 361 : "=&r" (t)
362 : "r" (&v->counter) 362 : "r" (&v->counter)
363 : "cc", "xer", "memory"); 363 : "cc", "xer", "memory");
@@ -394,12 +394,12 @@ static __inline__ long atomic64_dec_return(atomic64_t *v)
394 long t; 394 long t;
395 395
396 __asm__ __volatile__( 396 __asm__ __volatile__(
397 LWSYNC_ON_SMP 397 PPC_RELEASE_BARRIER
398"1: ldarx %0,0,%1 # atomic64_dec_return\n\ 398"1: ldarx %0,0,%1 # atomic64_dec_return\n\
399 addic %0,%0,-1\n\ 399 addic %0,%0,-1\n\
400 stdcx. %0,0,%1\n\ 400 stdcx. %0,0,%1\n\
401 bne- 1b" 401 bne- 1b"
402 ISYNC_ON_SMP 402 PPC_ACQUIRE_BARRIER
403 : "=&r" (t) 403 : "=&r" (t)
404 : "r" (&v->counter) 404 : "r" (&v->counter)
405 : "cc", "xer", "memory"); 405 : "cc", "xer", "memory");
@@ -419,13 +419,13 @@ static __inline__ long atomic64_dec_if_positive(atomic64_t *v)
419 long t; 419 long t;
420 420
421 __asm__ __volatile__( 421 __asm__ __volatile__(
422 LWSYNC_ON_SMP 422 PPC_RELEASE_BARRIER
423"1: ldarx %0,0,%1 # atomic64_dec_if_positive\n\ 423"1: ldarx %0,0,%1 # atomic64_dec_if_positive\n\
424 addic. %0,%0,-1\n\ 424 addic. %0,%0,-1\n\
425 blt- 2f\n\ 425 blt- 2f\n\
426 stdcx. %0,0,%1\n\ 426 stdcx. %0,0,%1\n\
427 bne- 1b" 427 bne- 1b"
428 ISYNC_ON_SMP 428 PPC_ACQUIRE_BARRIER
429 "\n\ 429 "\n\
4302:" : "=&r" (t) 4302:" : "=&r" (t)
431 : "r" (&v->counter) 431 : "r" (&v->counter)
@@ -451,14 +451,14 @@ static __inline__ int atomic64_add_unless(atomic64_t *v, long a, long u)
451 long t; 451 long t;
452 452
453 __asm__ __volatile__ ( 453 __asm__ __volatile__ (
454 LWSYNC_ON_SMP 454 PPC_RELEASE_BARRIER
455"1: ldarx %0,0,%1 # atomic_add_unless\n\ 455"1: ldarx %0,0,%1 # atomic_add_unless\n\
456 cmpd 0,%0,%3 \n\ 456 cmpd 0,%0,%3 \n\
457 beq- 2f \n\ 457 beq- 2f \n\
458 add %0,%2,%0 \n" 458 add %0,%2,%0 \n"
459" stdcx. %0,0,%1 \n\ 459" stdcx. %0,0,%1 \n\
460 bne- 1b \n" 460 bne- 1b \n"
461 ISYNC_ON_SMP 461 PPC_ACQUIRE_BARRIER
462" subf %0,%2,%0 \n\ 462" subf %0,%2,%0 \n\
4632:" 4632:"
464 : "=&r" (t) 464 : "=&r" (t)
diff --git a/arch/powerpc/include/asm/bitops.h b/arch/powerpc/include/asm/bitops.h
index 56f2f2ea5631..30964ae2d096 100644
--- a/arch/powerpc/include/asm/bitops.h
+++ b/arch/powerpc/include/asm/bitops.h
@@ -65,7 +65,7 @@ static __inline__ void fn(unsigned long mask, \
65 unsigned long *p = (unsigned long *)_p; \ 65 unsigned long *p = (unsigned long *)_p; \
66 __asm__ __volatile__ ( \ 66 __asm__ __volatile__ ( \
67 prefix \ 67 prefix \
68"1:" PPC_LLARX "%0,0,%3\n" \ 68"1:" PPC_LLARX(%0,0,%3,0) "\n" \
69 stringify_in_c(op) "%0,%0,%2\n" \ 69 stringify_in_c(op) "%0,%0,%2\n" \
70 PPC405_ERR77(0,%3) \ 70 PPC405_ERR77(0,%3) \
71 PPC_STLCX "%0,0,%3\n" \ 71 PPC_STLCX "%0,0,%3\n" \
@@ -78,7 +78,7 @@ static __inline__ void fn(unsigned long mask, \
78 78
79DEFINE_BITOP(set_bits, or, "", "") 79DEFINE_BITOP(set_bits, or, "", "")
80DEFINE_BITOP(clear_bits, andc, "", "") 80DEFINE_BITOP(clear_bits, andc, "", "")
81DEFINE_BITOP(clear_bits_unlock, andc, LWSYNC_ON_SMP, "") 81DEFINE_BITOP(clear_bits_unlock, andc, PPC_RELEASE_BARRIER, "")
82DEFINE_BITOP(change_bits, xor, "", "") 82DEFINE_BITOP(change_bits, xor, "", "")
83 83
84static __inline__ void set_bit(int nr, volatile unsigned long *addr) 84static __inline__ void set_bit(int nr, volatile unsigned long *addr)
@@ -103,31 +103,35 @@ static __inline__ void change_bit(int nr, volatile unsigned long *addr)
103 103
104/* Like DEFINE_BITOP(), with changes to the arguments to 'op' and the output 104/* Like DEFINE_BITOP(), with changes to the arguments to 'op' and the output
105 * operands. */ 105 * operands. */
106#define DEFINE_TESTOP(fn, op, prefix, postfix) \ 106#define DEFINE_TESTOP(fn, op, prefix, postfix, eh) \
107static __inline__ unsigned long fn( \ 107static __inline__ unsigned long fn( \
108 unsigned long mask, \ 108 unsigned long mask, \
109 volatile unsigned long *_p) \ 109 volatile unsigned long *_p) \
110{ \ 110{ \
111 unsigned long old, t; \ 111 unsigned long old, t; \
112 unsigned long *p = (unsigned long *)_p; \ 112 unsigned long *p = (unsigned long *)_p; \
113 __asm__ __volatile__ ( \ 113 __asm__ __volatile__ ( \
114 prefix \ 114 prefix \
115"1:" PPC_LLARX "%0,0,%3\n" \ 115"1:" PPC_LLARX(%0,0,%3,eh) "\n" \
116 stringify_in_c(op) "%1,%0,%2\n" \ 116 stringify_in_c(op) "%1,%0,%2\n" \
117 PPC405_ERR77(0,%3) \ 117 PPC405_ERR77(0,%3) \
118 PPC_STLCX "%1,0,%3\n" \ 118 PPC_STLCX "%1,0,%3\n" \
119 "bne- 1b\n" \ 119 "bne- 1b\n" \
120 postfix \ 120 postfix \
121 : "=&r" (old), "=&r" (t) \ 121 : "=&r" (old), "=&r" (t) \
122 : "r" (mask), "r" (p) \ 122 : "r" (mask), "r" (p) \
123 : "cc", "memory"); \ 123 : "cc", "memory"); \
124 return (old & mask); \ 124 return (old & mask); \
125} 125}
126 126
127DEFINE_TESTOP(test_and_set_bits, or, LWSYNC_ON_SMP, ISYNC_ON_SMP) 127DEFINE_TESTOP(test_and_set_bits, or, PPC_RELEASE_BARRIER,
128DEFINE_TESTOP(test_and_set_bits_lock, or, "", ISYNC_ON_SMP) 128 PPC_ACQUIRE_BARRIER, 0)
129DEFINE_TESTOP(test_and_clear_bits, andc, LWSYNC_ON_SMP, ISYNC_ON_SMP) 129DEFINE_TESTOP(test_and_set_bits_lock, or, "",
130DEFINE_TESTOP(test_and_change_bits, xor, LWSYNC_ON_SMP, ISYNC_ON_SMP) 130 PPC_ACQUIRE_BARRIER, 1)
131DEFINE_TESTOP(test_and_clear_bits, andc, PPC_RELEASE_BARRIER,
132 PPC_ACQUIRE_BARRIER, 0)
133DEFINE_TESTOP(test_and_change_bits, xor, PPC_RELEASE_BARRIER,
134 PPC_ACQUIRE_BARRIER, 0)
131 135
132static __inline__ int test_and_set_bit(unsigned long nr, 136static __inline__ int test_and_set_bit(unsigned long nr,
133 volatile unsigned long *addr) 137 volatile unsigned long *addr)
@@ -158,7 +162,7 @@ static __inline__ int test_and_change_bit(unsigned long nr,
158 162
159static __inline__ void __clear_bit_unlock(int nr, volatile unsigned long *addr) 163static __inline__ void __clear_bit_unlock(int nr, volatile unsigned long *addr)
160{ 164{
161 __asm__ __volatile__(LWSYNC_ON_SMP "" ::: "memory"); 165 __asm__ __volatile__(PPC_RELEASE_BARRIER "" ::: "memory");
162 __clear_bit(nr, addr); 166 __clear_bit(nr, addr);
163} 167}
164 168
diff --git a/arch/powerpc/include/asm/bug.h b/arch/powerpc/include/asm/bug.h
index 2c15212e1700..065c590c991d 100644
--- a/arch/powerpc/include/asm/bug.h
+++ b/arch/powerpc/include/asm/bug.h
@@ -85,12 +85,12 @@
85 } \ 85 } \
86} while (0) 86} while (0)
87 87
88#define __WARN() do { \ 88#define __WARN_TAINT(taint) do { \
89 __asm__ __volatile__( \ 89 __asm__ __volatile__( \
90 "1: twi 31,0,0\n" \ 90 "1: twi 31,0,0\n" \
91 _EMIT_BUG_ENTRY \ 91 _EMIT_BUG_ENTRY \
92 : : "i" (__FILE__), "i" (__LINE__), \ 92 : : "i" (__FILE__), "i" (__LINE__), \
93 "i" (BUGFLAG_WARNING), \ 93 "i" (BUGFLAG_TAINT(taint)), \
94 "i" (sizeof(struct bug_entry))); \ 94 "i" (sizeof(struct bug_entry))); \
95} while (0) 95} while (0)
96 96
@@ -104,7 +104,7 @@
104 "1: "PPC_TLNEI" %4,0\n" \ 104 "1: "PPC_TLNEI" %4,0\n" \
105 _EMIT_BUG_ENTRY \ 105 _EMIT_BUG_ENTRY \
106 : : "i" (__FILE__), "i" (__LINE__), \ 106 : : "i" (__FILE__), "i" (__LINE__), \
107 "i" (BUGFLAG_WARNING), \ 107 "i" (BUGFLAG_TAINT(TAINT_WARN)), \
108 "i" (sizeof(struct bug_entry)), \ 108 "i" (sizeof(struct bug_entry)), \
109 "r" (__ret_warn_on)); \ 109 "r" (__ret_warn_on)); \
110 } \ 110 } \
diff --git a/arch/powerpc/include/asm/cache.h b/arch/powerpc/include/asm/cache.h
index 3f41ab9c1e4e..4b509411ad8a 100644
--- a/arch/powerpc/include/asm/cache.h
+++ b/arch/powerpc/include/asm/cache.h
@@ -12,8 +12,12 @@
12#define L1_CACHE_SHIFT 6 12#define L1_CACHE_SHIFT 6
13#define MAX_COPY_PREFETCH 4 13#define MAX_COPY_PREFETCH 4
14#elif defined(CONFIG_PPC32) 14#elif defined(CONFIG_PPC32)
15#define L1_CACHE_SHIFT 5
16#define MAX_COPY_PREFETCH 4 15#define MAX_COPY_PREFETCH 4
16#if defined(CONFIG_PPC_47x)
17#define L1_CACHE_SHIFT 7
18#else
19#define L1_CACHE_SHIFT 5
20#endif
17#else /* CONFIG_PPC64 */ 21#else /* CONFIG_PPC64 */
18#define L1_CACHE_SHIFT 7 22#define L1_CACHE_SHIFT 7
19#endif 23#endif
diff --git a/arch/powerpc/include/asm/compat.h b/arch/powerpc/include/asm/compat.h
index 4774c2f92232..396d21a80058 100644
--- a/arch/powerpc/include/asm/compat.h
+++ b/arch/powerpc/include/asm/compat.h
@@ -7,7 +7,8 @@
7#include <linux/types.h> 7#include <linux/types.h>
8#include <linux/sched.h> 8#include <linux/sched.h>
9 9
10#define COMPAT_USER_HZ 100 10#define COMPAT_USER_HZ 100
11#define COMPAT_UTS_MACHINE "ppc\0\0"
11 12
12typedef u32 compat_size_t; 13typedef u32 compat_size_t;
13typedef s32 compat_ssize_t; 14typedef s32 compat_ssize_t;
diff --git a/arch/powerpc/include/asm/cpm.h b/arch/powerpc/include/asm/cpm.h
index 0835eb977ba9..e50323fe941f 100644
--- a/arch/powerpc/include/asm/cpm.h
+++ b/arch/powerpc/include/asm/cpm.h
@@ -7,6 +7,30 @@
7#include <linux/of.h> 7#include <linux/of.h>
8 8
9/* 9/*
10 * SPI Parameter RAM common to QE and CPM.
11 */
12struct spi_pram {
13 __be16 rbase; /* Rx Buffer descriptor base address */
14 __be16 tbase; /* Tx Buffer descriptor base address */
15 u8 rfcr; /* Rx function code */
16 u8 tfcr; /* Tx function code */
17 __be16 mrblr; /* Max receive buffer length */
18 __be32 rstate; /* Internal */
19 __be32 rdp; /* Internal */
20 __be16 rbptr; /* Internal */
21 __be16 rbc; /* Internal */
22 __be32 rxtmp; /* Internal */
23 __be32 tstate; /* Internal */
24 __be32 tdp; /* Internal */
25 __be16 tbptr; /* Internal */
26 __be16 tbc; /* Internal */
27 __be32 txtmp; /* Internal */
28 __be32 res; /* Tx temp. */
29 __be16 rpbase; /* Relocation pointer (CPM1 only) */
30 __be16 res1; /* Reserved */
31};
32
33/*
10 * USB Controller pram common to QE and CPM. 34 * USB Controller pram common to QE and CPM.
11 */ 35 */
12struct usb_ctlr { 36struct usb_ctlr {
diff --git a/arch/powerpc/include/asm/cpm1.h b/arch/powerpc/include/asm/cpm1.h
index 81b01192f440..bd07650dca56 100644
--- a/arch/powerpc/include/asm/cpm1.h
+++ b/arch/powerpc/include/asm/cpm1.h
@@ -17,6 +17,7 @@
17#ifndef __CPM1__ 17#ifndef __CPM1__
18#define __CPM1__ 18#define __CPM1__
19 19
20#include <linux/init.h>
20#include <asm/8xx_immap.h> 21#include <asm/8xx_immap.h>
21#include <asm/ptrace.h> 22#include <asm/ptrace.h>
22#include <asm/cpm.h> 23#include <asm/cpm.h>
@@ -54,7 +55,7 @@ extern cpm8xx_t __iomem *cpmp; /* Pointer to comm processor */
54 55
55extern void cpm_setbrg(uint brg, uint rate); 56extern void cpm_setbrg(uint brg, uint rate);
56 57
57extern void cpm_load_patch(cpm8xx_t *cp); 58extern void __init cpm_load_patch(cpm8xx_t *cp);
58 59
59extern void cpm_reset(void); 60extern void cpm_reset(void);
60 61
diff --git a/arch/powerpc/include/asm/cputable.h b/arch/powerpc/include/asm/cputable.h
index 80f315e8a421..b0b21134f61a 100644
--- a/arch/powerpc/include/asm/cputable.h
+++ b/arch/powerpc/include/asm/cputable.h
@@ -70,8 +70,10 @@ struct pt_regs;
70extern int machine_check_generic(struct pt_regs *regs); 70extern int machine_check_generic(struct pt_regs *regs);
71extern int machine_check_4xx(struct pt_regs *regs); 71extern int machine_check_4xx(struct pt_regs *regs);
72extern int machine_check_440A(struct pt_regs *regs); 72extern int machine_check_440A(struct pt_regs *regs);
73extern int machine_check_e500mc(struct pt_regs *regs);
73extern int machine_check_e500(struct pt_regs *regs); 74extern int machine_check_e500(struct pt_regs *regs);
74extern int machine_check_e200(struct pt_regs *regs); 75extern int machine_check_e200(struct pt_regs *regs);
76extern int machine_check_47x(struct pt_regs *regs);
75 77
76/* NOTE WELL: Update identify_cpu() if fields are added or removed! */ 78/* NOTE WELL: Update identify_cpu() if fields are added or removed! */
77struct cpu_spec { 79struct cpu_spec {
@@ -365,6 +367,7 @@ extern const char *powerpc_base_platform;
365#define CPU_FTRS_44X (CPU_FTR_USE_TB | CPU_FTR_NODSISRALIGN | CPU_FTR_NOEXECUTE) 367#define CPU_FTRS_44X (CPU_FTR_USE_TB | CPU_FTR_NODSISRALIGN | CPU_FTR_NOEXECUTE)
366#define CPU_FTRS_440x6 (CPU_FTR_USE_TB | CPU_FTR_NODSISRALIGN | CPU_FTR_NOEXECUTE | \ 368#define CPU_FTRS_440x6 (CPU_FTR_USE_TB | CPU_FTR_NODSISRALIGN | CPU_FTR_NOEXECUTE | \
367 CPU_FTR_INDEXED_DCR) 369 CPU_FTR_INDEXED_DCR)
370#define CPU_FTRS_47X (CPU_FTRS_440x6)
368#define CPU_FTRS_E200 (CPU_FTR_USE_TB | CPU_FTR_SPE_COMP | \ 371#define CPU_FTRS_E200 (CPU_FTR_USE_TB | CPU_FTR_SPE_COMP | \
369 CPU_FTR_NODSISRALIGN | CPU_FTR_COHERENT_ICACHE | \ 372 CPU_FTR_NODSISRALIGN | CPU_FTR_COHERENT_ICACHE | \
370 CPU_FTR_UNIFIED_ID_CACHE | CPU_FTR_NOEXECUTE) 373 CPU_FTR_UNIFIED_ID_CACHE | CPU_FTR_NOEXECUTE)
@@ -381,9 +384,9 @@ extern const char *powerpc_base_platform;
381#define CPU_FTRS_GENERIC_32 (CPU_FTR_COMMON | CPU_FTR_NODSISRALIGN) 384#define CPU_FTRS_GENERIC_32 (CPU_FTR_COMMON | CPU_FTR_NODSISRALIGN)
382 385
383/* 64-bit CPUs */ 386/* 64-bit CPUs */
384#define CPU_FTRS_POWER3 (CPU_FTR_USE_TB | CPU_FTR_LWSYNC | \ 387#define CPU_FTRS_POWER3 (CPU_FTR_USE_TB | \
385 CPU_FTR_IABR | CPU_FTR_PPC_LE) 388 CPU_FTR_IABR | CPU_FTR_PPC_LE)
386#define CPU_FTRS_RS64 (CPU_FTR_USE_TB | CPU_FTR_LWSYNC | \ 389#define CPU_FTRS_RS64 (CPU_FTR_USE_TB | \
387 CPU_FTR_IABR | \ 390 CPU_FTR_IABR | \
388 CPU_FTR_MMCRA | CPU_FTR_CTRL) 391 CPU_FTR_MMCRA | CPU_FTR_CTRL)
389#define CPU_FTRS_POWER4 (CPU_FTR_USE_TB | CPU_FTR_LWSYNC | \ 392#define CPU_FTRS_POWER4 (CPU_FTR_USE_TB | CPU_FTR_LWSYNC | \
@@ -453,6 +456,9 @@ enum {
453#ifdef CONFIG_44x 456#ifdef CONFIG_44x
454 CPU_FTRS_44X | CPU_FTRS_440x6 | 457 CPU_FTRS_44X | CPU_FTRS_440x6 |
455#endif 458#endif
459#ifdef CONFIG_PPC_47x
460 CPU_FTRS_47X |
461#endif
456#ifdef CONFIG_E200 462#ifdef CONFIG_E200
457 CPU_FTRS_E200 | 463 CPU_FTRS_E200 |
458#endif 464#endif
diff --git a/arch/powerpc/include/asm/cputime.h b/arch/powerpc/include/asm/cputime.h
index fa19f3fe05ff..8bdc6a9e5773 100644
--- a/arch/powerpc/include/asm/cputime.h
+++ b/arch/powerpc/include/asm/cputime.h
@@ -73,10 +73,9 @@ static inline unsigned long cputime_to_jiffies(const cputime_t ct)
73static inline cputime_t cputime_to_scaled(const cputime_t ct) 73static inline cputime_t cputime_to_scaled(const cputime_t ct)
74{ 74{
75 if (cpu_has_feature(CPU_FTR_SPURR) && 75 if (cpu_has_feature(CPU_FTR_SPURR) &&
76 per_cpu(cputime_last_delta, smp_processor_id())) 76 __get_cpu_var(cputime_last_delta))
77 return ct * 77 return ct * __get_cpu_var(cputime_scaled_last_delta) /
78 per_cpu(cputime_scaled_last_delta, smp_processor_id())/ 78 __get_cpu_var(cputime_last_delta);
79 per_cpu(cputime_last_delta, smp_processor_id());
80 return ct; 79 return ct;
81} 80}
82 81
diff --git a/arch/powerpc/include/asm/device.h b/arch/powerpc/include/asm/device.h
index 6d94d27ed850..a3954e4fcbe2 100644
--- a/arch/powerpc/include/asm/device.h
+++ b/arch/powerpc/include/asm/device.h
@@ -10,9 +10,6 @@ struct dma_map_ops;
10struct device_node; 10struct device_node;
11 11
12struct dev_archdata { 12struct dev_archdata {
13 /* Optional pointer to an OF device node */
14 struct device_node *of_node;
15
16 /* DMA operations on that device */ 13 /* DMA operations on that device */
17 struct dma_map_ops *dma_ops; 14 struct dma_map_ops *dma_ops;
18 15
@@ -30,19 +27,8 @@ struct dev_archdata {
30#endif 27#endif
31}; 28};
32 29
33static inline void dev_archdata_set_node(struct dev_archdata *ad,
34 struct device_node *np)
35{
36 ad->of_node = np;
37}
38
39static inline struct device_node *
40dev_archdata_get_node(const struct dev_archdata *ad)
41{
42 return ad->of_node;
43}
44
45struct pdev_archdata { 30struct pdev_archdata {
31 u64 dma_mask;
46}; 32};
47 33
48#endif /* _ASM_POWERPC_DEVICE_H */ 34#endif /* _ASM_POWERPC_DEVICE_H */
diff --git a/arch/powerpc/include/asm/dma-mapping.h b/arch/powerpc/include/asm/dma-mapping.h
index 80a973bb9e71..c85ef230135b 100644
--- a/arch/powerpc/include/asm/dma-mapping.h
+++ b/arch/powerpc/include/asm/dma-mapping.h
@@ -127,9 +127,6 @@ static inline int dma_supported(struct device *dev, u64 mask)
127 return dma_ops->dma_supported(dev, mask); 127 return dma_ops->dma_supported(dev, mask);
128} 128}
129 129
130/* We have our own implementation of pci_set_dma_mask() */
131#define HAVE_ARCH_PCI_SET_DMA_MASK
132
133static inline int dma_set_mask(struct device *dev, u64 dma_mask) 130static inline int dma_set_mask(struct device *dev, u64 dma_mask)
134{ 131{
135 struct dma_map_ops *dma_ops = get_dma_ops(dev); 132 struct dma_map_ops *dma_ops = get_dma_ops(dev);
diff --git a/arch/powerpc/include/asm/elf.h b/arch/powerpc/include/asm/elf.h
index 17828ad411eb..c376eda15313 100644
--- a/arch/powerpc/include/asm/elf.h
+++ b/arch/powerpc/include/asm/elf.h
@@ -235,14 +235,10 @@ typedef elf_vrregset_t elf_fpxregset_t;
235#ifdef __powerpc64__ 235#ifdef __powerpc64__
236# define SET_PERSONALITY(ex) \ 236# define SET_PERSONALITY(ex) \
237do { \ 237do { \
238 unsigned long new_flags = 0; \
239 if ((ex).e_ident[EI_CLASS] == ELFCLASS32) \ 238 if ((ex).e_ident[EI_CLASS] == ELFCLASS32) \
240 new_flags = _TIF_32BIT; \ 239 set_thread_flag(TIF_32BIT); \
241 if ((current_thread_info()->flags & _TIF_32BIT) \
242 != new_flags) \
243 set_thread_flag(TIF_ABI_PENDING); \
244 else \ 240 else \
245 clear_thread_flag(TIF_ABI_PENDING); \ 241 clear_thread_flag(TIF_32BIT); \
246 if (personality(current->personality) != PER_LINUX32) \ 242 if (personality(current->personality) != PER_LINUX32) \
247 set_personality(PER_LINUX | \ 243 set_personality(PER_LINUX | \
248 (current->personality & (~PER_MASK))); \ 244 (current->personality & (~PER_MASK))); \
diff --git a/arch/powerpc/include/asm/feature-fixups.h b/arch/powerpc/include/asm/feature-fixups.h
index cbd4dfa4bce2..96a7d067fbb2 100644
--- a/arch/powerpc/include/asm/feature-fixups.h
+++ b/arch/powerpc/include/asm/feature-fixups.h
@@ -165,7 +165,7 @@ label##2: \
165 .pushsection sect,"a"; \ 165 .pushsection sect,"a"; \
166 .align 2; \ 166 .align 2; \
167label##3: \ 167label##3: \
168 .long label##1b-label##3b; \ 168 FTR_ENTRY_OFFSET label##1b-label##3b; \
169 .popsection; 169 .popsection;
170 170
171#endif /* __ASM_POWERPC_FEATURE_FIXUPS_H */ 171#endif /* __ASM_POWERPC_FEATURE_FIXUPS_H */
diff --git a/arch/powerpc/include/asm/futex.h b/arch/powerpc/include/asm/futex.h
index 9696cc36d2dc..7c589ef81fb0 100644
--- a/arch/powerpc/include/asm/futex.h
+++ b/arch/powerpc/include/asm/futex.h
@@ -11,7 +11,7 @@
11 11
12#define __futex_atomic_op(insn, ret, oldval, uaddr, oparg) \ 12#define __futex_atomic_op(insn, ret, oldval, uaddr, oparg) \
13 __asm__ __volatile ( \ 13 __asm__ __volatile ( \
14 LWSYNC_ON_SMP \ 14 PPC_RELEASE_BARRIER \
15"1: lwarx %0,0,%2\n" \ 15"1: lwarx %0,0,%2\n" \
16 insn \ 16 insn \
17 PPC405_ERR77(0, %2) \ 17 PPC405_ERR77(0, %2) \
@@ -90,14 +90,14 @@ futex_atomic_cmpxchg_inatomic(int __user *uaddr, int oldval, int newval)
90 return -EFAULT; 90 return -EFAULT;
91 91
92 __asm__ __volatile__ ( 92 __asm__ __volatile__ (
93 LWSYNC_ON_SMP 93 PPC_RELEASE_BARRIER
94"1: lwarx %0,0,%2 # futex_atomic_cmpxchg_inatomic\n\ 94"1: lwarx %0,0,%2 # futex_atomic_cmpxchg_inatomic\n\
95 cmpw 0,%0,%3\n\ 95 cmpw 0,%0,%3\n\
96 bne- 3f\n" 96 bne- 3f\n"
97 PPC405_ERR77(0,%2) 97 PPC405_ERR77(0,%2)
98"2: stwcx. %4,0,%2\n\ 98"2: stwcx. %4,0,%2\n\
99 bne- 1b\n" 99 bne- 1b\n"
100 ISYNC_ON_SMP 100 PPC_ACQUIRE_BARRIER
101"3: .section .fixup,\"ax\"\n\ 101"3: .section .fixup,\"ax\"\n\
1024: li %0,%5\n\ 1024: li %0,%5\n\
103 b 3b\n\ 103 b 3b\n\
diff --git a/arch/powerpc/include/asm/hardirq.h b/arch/powerpc/include/asm/hardirq.h
index fb3c05a0cbbf..3147a2970125 100644
--- a/arch/powerpc/include/asm/hardirq.h
+++ b/arch/powerpc/include/asm/hardirq.h
@@ -1 +1,29 @@
1#include <asm-generic/hardirq.h> 1#ifndef _ASM_POWERPC_HARDIRQ_H
2#define _ASM_POWERPC_HARDIRQ_H
3
4#include <linux/threads.h>
5#include <linux/irq.h>
6
7typedef struct {
8 unsigned int __softirq_pending;
9 unsigned int timer_irqs;
10 unsigned int pmu_irqs;
11 unsigned int mce_exceptions;
12 unsigned int spurious_irqs;
13} ____cacheline_aligned irq_cpustat_t;
14
15DECLARE_PER_CPU_SHARED_ALIGNED(irq_cpustat_t, irq_stat);
16
17#define __ARCH_IRQ_STAT
18
19#define local_softirq_pending() __get_cpu_var(irq_stat).__softirq_pending
20
21static inline void ack_bad_irq(unsigned int irq)
22{
23 printk(KERN_CRIT "unexpected IRQ trap at vector %02x\n", irq);
24}
25
26extern u64 arch_irq_stat_cpu(unsigned int cpu);
27#define arch_irq_stat_cpu arch_irq_stat_cpu
28
29#endif /* _ASM_POWERPC_HARDIRQ_H */
diff --git a/arch/powerpc/include/asm/hvcall.h b/arch/powerpc/include/asm/hvcall.h
index f0275818b95c..5119b7db3142 100644
--- a/arch/powerpc/include/asm/hvcall.h
+++ b/arch/powerpc/include/asm/hvcall.h
@@ -228,6 +228,7 @@
228#define H_JOIN 0x298 228#define H_JOIN 0x298
229#define H_VASI_STATE 0x2A4 229#define H_VASI_STATE 0x2A4
230#define H_ENABLE_CRQ 0x2B0 230#define H_ENABLE_CRQ 0x2B0
231#define H_GET_EM_PARMS 0x2B8
231#define H_SET_MPP 0x2D0 232#define H_SET_MPP 0x2D0
232#define H_GET_MPP 0x2D4 233#define H_GET_MPP 0x2D4
233#define MAX_HCALL_OPCODE H_GET_MPP 234#define MAX_HCALL_OPCODE H_GET_MPP
@@ -281,6 +282,7 @@ long plpar_hcall_raw(unsigned long opcode, unsigned long *retbuf, ...);
281 */ 282 */
282#define PLPAR_HCALL9_BUFSIZE 9 283#define PLPAR_HCALL9_BUFSIZE 9
283long plpar_hcall9(unsigned long opcode, unsigned long *retbuf, ...); 284long plpar_hcall9(unsigned long opcode, unsigned long *retbuf, ...);
285long plpar_hcall9_raw(unsigned long opcode, unsigned long *retbuf, ...);
284 286
285/* For hcall instrumentation. One structure per-hcall, per-CPU */ 287/* For hcall instrumentation. One structure per-hcall, per-CPU */
286struct hcall_stats { 288struct hcall_stats {
diff --git a/arch/powerpc/include/asm/hw_irq.h b/arch/powerpc/include/asm/hw_irq.h
index 9f4c9d4f5803..bd100fcf40d0 100644
--- a/arch/powerpc/include/asm/hw_irq.h
+++ b/arch/powerpc/include/asm/hw_irq.h
@@ -130,43 +130,5 @@ static inline int irqs_disabled_flags(unsigned long flags)
130 */ 130 */
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/irq.h b/arch/powerpc/include/asm/irq.h
index e054baef1845..ecba37a91749 100644
--- a/arch/powerpc/include/asm/irq.h
+++ b/arch/powerpc/include/asm/irq.h
@@ -358,7 +358,6 @@ extern void exc_lvl_ctx_init(void);
358#define exc_lvl_ctx_init() 358#define exc_lvl_ctx_init()
359#endif 359#endif
360 360
361#ifdef CONFIG_IRQSTACKS
362/* 361/*
363 * Per-cpu stacks for handling hard and soft interrupts. 362 * Per-cpu stacks for handling hard and soft interrupts.
364 */ 363 */
@@ -369,11 +368,6 @@ extern void irq_ctx_init(void);
369extern void call_do_softirq(struct thread_info *tp); 368extern void call_do_softirq(struct thread_info *tp);
370extern int call_handle_irq(int irq, void *p1, 369extern int call_handle_irq(int irq, void *p1,
371 struct thread_info *tp, void *func); 370 struct thread_info *tp, void *func);
372#else
373#define irq_ctx_init()
374
375#endif /* CONFIG_IRQSTACKS */
376
377extern void do_IRQ(struct pt_regs *regs); 371extern void do_IRQ(struct pt_regs *regs);
378 372
379#endif /* _ASM_IRQ_H */ 373#endif /* _ASM_IRQ_H */
diff --git a/arch/powerpc/include/asm/kdump.h b/arch/powerpc/include/asm/kdump.h
index 5ebfe5d3c61f..6857af58b02e 100644
--- a/arch/powerpc/include/asm/kdump.h
+++ b/arch/powerpc/include/asm/kdump.h
@@ -3,8 +3,17 @@
3 3
4#include <asm/page.h> 4#include <asm/page.h>
5 5
6/* Kdump kernel runs at 32 MB, change at your peril. */ 6/*
7 * If CONFIG_RELOCATABLE is enabled we can place the kdump kernel anywhere.
8 * To keep enough space in the RMO for the first stage kernel on 64bit, we
9 * place it at 64MB. If CONFIG_RELOCATABLE is not enabled we must place
10 * the second stage at 32MB.
11 */
12#if defined(CONFIG_RELOCATABLE) && defined(CONFIG_PPC64)
13#define KDUMP_KERNELBASE 0x4000000
14#else
7#define KDUMP_KERNELBASE 0x2000000 15#define KDUMP_KERNELBASE 0x2000000
16#endif
8 17
9/* How many bytes to reserve at zero for kdump. The reserve limit should 18/* How many bytes to reserve at zero for kdump. The reserve limit should
10 * be greater or equal to the trampoline's end address. 19 * be greater or equal to the trampoline's end address.
diff --git a/arch/powerpc/include/asm/kexec.h b/arch/powerpc/include/asm/kexec.h
index 7e06b43720d3..076327f2eff7 100644
--- a/arch/powerpc/include/asm/kexec.h
+++ b/arch/powerpc/include/asm/kexec.h
@@ -2,6 +2,18 @@
2#define _ASM_POWERPC_KEXEC_H 2#define _ASM_POWERPC_KEXEC_H
3#ifdef __KERNEL__ 3#ifdef __KERNEL__
4 4
5#ifdef CONFIG_FSL_BOOKE
6
7/*
8 * On FSL-BookE we setup a 1:1 mapping which covers the first 2GiB of memory
9 * and therefore we can only deal with memory within this range
10 */
11#define KEXEC_SOURCE_MEMORY_LIMIT (2 * 1024 * 1024 * 1024UL - 1)
12#define KEXEC_DESTINATION_MEMORY_LIMIT (2 * 1024 * 1024 * 1024UL - 1)
13#define KEXEC_CONTROL_MEMORY_LIMIT (2 * 1024 * 1024 * 1024UL - 1)
14
15#else
16
5/* 17/*
6 * Maximum page that is mapped directly into kernel memory. 18 * Maximum page that is mapped directly into kernel memory.
7 * XXX: Since we copy virt we can use any page we allocate 19 * XXX: Since we copy virt we can use any page we allocate
@@ -21,6 +33,7 @@
21/* TASK_SIZE, probably left over from use_mm ?? */ 33/* TASK_SIZE, probably left over from use_mm ?? */
22#define KEXEC_CONTROL_MEMORY_LIMIT TASK_SIZE 34#define KEXEC_CONTROL_MEMORY_LIMIT TASK_SIZE
23#endif 35#endif
36#endif
24 37
25#define KEXEC_CONTROL_PAGE_SIZE 4096 38#define KEXEC_CONTROL_PAGE_SIZE 4096
26 39
@@ -31,6 +44,10 @@
31#define KEXEC_ARCH KEXEC_ARCH_PPC 44#define KEXEC_ARCH KEXEC_ARCH_PPC
32#endif 45#endif
33 46
47#define KEXEC_STATE_NONE 0
48#define KEXEC_STATE_IRQS_OFF 1
49#define KEXEC_STATE_REAL_MODE 2
50
34#ifndef __ASSEMBLY__ 51#ifndef __ASSEMBLY__
35#include <linux/cpumask.h> 52#include <linux/cpumask.h>
36#include <asm/reg.h> 53#include <asm/reg.h>
diff --git a/arch/powerpc/include/asm/kmap_types.h b/arch/powerpc/include/asm/kmap_types.h
index 916369575c97..bca8fdcd2542 100644
--- a/arch/powerpc/include/asm/kmap_types.h
+++ b/arch/powerpc/include/asm/kmap_types.h
@@ -26,6 +26,7 @@ enum km_type {
26 KM_SOFTIRQ1, 26 KM_SOFTIRQ1,
27 KM_PPC_SYNC_PAGE, 27 KM_PPC_SYNC_PAGE,
28 KM_PPC_SYNC_ICACHE, 28 KM_PPC_SYNC_ICACHE,
29 KM_KDB,
29 KM_TYPE_NR 30 KM_TYPE_NR
30}; 31};
31 32
diff --git a/arch/powerpc/include/asm/kvm.h b/arch/powerpc/include/asm/kvm.h
index 81f3b0b5601e..6c5547d82bbe 100644
--- a/arch/powerpc/include/asm/kvm.h
+++ b/arch/powerpc/include/asm/kvm.h
@@ -77,4 +77,14 @@ struct kvm_debug_exit_arch {
77struct kvm_guest_debug_arch { 77struct kvm_guest_debug_arch {
78}; 78};
79 79
80#define KVM_REG_MASK 0x001f
81#define KVM_REG_EXT_MASK 0xffe0
82#define KVM_REG_GPR 0x0000
83#define KVM_REG_FPR 0x0020
84#define KVM_REG_QPR 0x0040
85#define KVM_REG_FQPR 0x0060
86
87#define KVM_INTERRUPT_SET -1U
88#define KVM_INTERRUPT_UNSET -2U
89
80#endif /* __LINUX_KVM_POWERPC_H */ 90#endif /* __LINUX_KVM_POWERPC_H */
diff --git a/arch/powerpc/include/asm/kvm_asm.h b/arch/powerpc/include/asm/kvm_asm.h
index af2abe74f544..c5ea4cda34b3 100644
--- a/arch/powerpc/include/asm/kvm_asm.h
+++ b/arch/powerpc/include/asm/kvm_asm.h
@@ -88,6 +88,8 @@
88 88
89#define BOOK3S_HFLAG_DCBZ32 0x1 89#define BOOK3S_HFLAG_DCBZ32 0x1
90#define BOOK3S_HFLAG_SLB 0x2 90#define BOOK3S_HFLAG_SLB 0x2
91#define BOOK3S_HFLAG_PAIRED_SINGLE 0x4
92#define BOOK3S_HFLAG_NATIVE_PS 0x8
91 93
92#define RESUME_FLAG_NV (1<<0) /* Reload guest nonvolatile state? */ 94#define RESUME_FLAG_NV (1<<0) /* Reload guest nonvolatile state? */
93#define RESUME_FLAG_HOST (1<<1) /* Resume host? */ 95#define RESUME_FLAG_HOST (1<<1) /* Resume host? */
@@ -97,4 +99,10 @@
97#define RESUME_HOST RESUME_FLAG_HOST 99#define RESUME_HOST RESUME_FLAG_HOST
98#define RESUME_HOST_NV (RESUME_FLAG_HOST|RESUME_FLAG_NV) 100#define RESUME_HOST_NV (RESUME_FLAG_HOST|RESUME_FLAG_NV)
99 101
102#define KVM_GUEST_MODE_NONE 0
103#define KVM_GUEST_MODE_GUEST 1
104#define KVM_GUEST_MODE_SKIP 2
105
106#define KVM_INST_FETCH_FAILED -1
107
100#endif /* __POWERPC_KVM_ASM_H__ */ 108#endif /* __POWERPC_KVM_ASM_H__ */
diff --git a/arch/powerpc/include/asm/kvm_book3s.h b/arch/powerpc/include/asm/kvm_book3s.h
index 74b7369770d0..6f74d93725a0 100644
--- a/arch/powerpc/include/asm/kvm_book3s.h
+++ b/arch/powerpc/include/asm/kvm_book3s.h
@@ -22,45 +22,47 @@
22 22
23#include <linux/types.h> 23#include <linux/types.h>
24#include <linux/kvm_host.h> 24#include <linux/kvm_host.h>
25#include <asm/kvm_ppc.h> 25#include <asm/kvm_book3s_asm.h>
26 26
27struct kvmppc_slb { 27struct kvmppc_slb {
28 u64 esid; 28 u64 esid;
29 u64 vsid; 29 u64 vsid;
30 u64 orige; 30 u64 orige;
31 u64 origv; 31 u64 origv;
32 bool valid; 32 bool valid : 1;
33 bool Ks; 33 bool Ks : 1;
34 bool Kp; 34 bool Kp : 1;
35 bool nx; 35 bool nx : 1;
36 bool large; 36 bool large : 1; /* PTEs are 16MB */
37 bool class; 37 bool tb : 1; /* 1TB segment */
38 bool class : 1;
38}; 39};
39 40
40struct kvmppc_sr { 41struct kvmppc_sr {
41 u32 raw; 42 u32 raw;
42 u32 vsid; 43 u32 vsid;
43 bool Ks; 44 bool Ks : 1;
44 bool Kp; 45 bool Kp : 1;
45 bool nx; 46 bool nx : 1;
47 bool valid : 1;
46}; 48};
47 49
48struct kvmppc_bat { 50struct kvmppc_bat {
49 u64 raw; 51 u64 raw;
50 u32 bepi; 52 u32 bepi;
51 u32 bepi_mask; 53 u32 bepi_mask;
52 bool vs;
53 bool vp;
54 u32 brpn; 54 u32 brpn;
55 u8 wimg; 55 u8 wimg;
56 u8 pp; 56 u8 pp;
57 bool vs : 1;
58 bool vp : 1;
57}; 59};
58 60
59struct kvmppc_sid_map { 61struct kvmppc_sid_map {
60 u64 guest_vsid; 62 u64 guest_vsid;
61 u64 guest_esid; 63 u64 guest_esid;
62 u64 host_vsid; 64 u64 host_vsid;
63 bool valid; 65 bool valid : 1;
64}; 66};
65 67
66#define SID_MAP_BITS 9 68#define SID_MAP_BITS 9
@@ -69,6 +71,7 @@ struct kvmppc_sid_map {
69 71
70struct kvmppc_vcpu_book3s { 72struct kvmppc_vcpu_book3s {
71 struct kvm_vcpu vcpu; 73 struct kvm_vcpu vcpu;
74 struct kvmppc_book3s_shadow_vcpu *shadow_vcpu;
72 struct kvmppc_sid_map sid_map[SID_MAP_NUM]; 75 struct kvmppc_sid_map sid_map[SID_MAP_NUM];
73 struct kvmppc_slb slb[64]; 76 struct kvmppc_slb slb[64];
74 struct { 77 struct {
@@ -80,30 +83,32 @@ struct kvmppc_vcpu_book3s {
80 struct kvmppc_bat ibat[8]; 83 struct kvmppc_bat ibat[8];
81 struct kvmppc_bat dbat[8]; 84 struct kvmppc_bat dbat[8];
82 u64 hid[6]; 85 u64 hid[6];
86 u64 gqr[8];
83 int slb_nr; 87 int slb_nr;
88 u32 dsisr;
84 u64 sdr1; 89 u64 sdr1;
85 u64 dsisr;
86 u64 hior; 90 u64 hior;
87 u64 msr_mask; 91 u64 msr_mask;
88 u64 vsid_first; 92 u64 vsid_first;
89 u64 vsid_next; 93 u64 vsid_next;
90 u64 vsid_max; 94 u64 vsid_max;
91 int context_id; 95 int context_id;
96 ulong prog_flags; /* flags to inject when giving a 700 trap */
92}; 97};
93 98
94#define CONTEXT_HOST 0 99#define CONTEXT_HOST 0
95#define CONTEXT_GUEST 1 100#define CONTEXT_GUEST 1
96#define CONTEXT_GUEST_END 2 101#define CONTEXT_GUEST_END 2
97 102
98#define VSID_REAL 0xfffffffffff00000 103#define VSID_REAL 0x1fffffffffc00000ULL
99#define VSID_REAL_DR 0xffffffffffe00000 104#define VSID_BAT 0x1fffffffffb00000ULL
100#define VSID_REAL_IR 0xffffffffffd00000 105#define VSID_REAL_DR 0x2000000000000000ULL
101#define VSID_BAT 0xffffffffffc00000 106#define VSID_REAL_IR 0x4000000000000000ULL
102#define VSID_PR 0x8000000000000000 107#define VSID_PR 0x8000000000000000ULL
103 108
104extern void kvmppc_mmu_pte_flush(struct kvm_vcpu *vcpu, u64 ea, u64 ea_mask); 109extern void kvmppc_mmu_pte_flush(struct kvm_vcpu *vcpu, ulong ea, ulong ea_mask);
105extern void kvmppc_mmu_pte_vflush(struct kvm_vcpu *vcpu, u64 vp, u64 vp_mask); 110extern void kvmppc_mmu_pte_vflush(struct kvm_vcpu *vcpu, u64 vp, u64 vp_mask);
106extern void kvmppc_mmu_pte_pflush(struct kvm_vcpu *vcpu, u64 pa_start, u64 pa_end); 111extern void kvmppc_mmu_pte_pflush(struct kvm_vcpu *vcpu, ulong pa_start, ulong pa_end);
107extern void kvmppc_set_msr(struct kvm_vcpu *vcpu, u64 new_msr); 112extern void kvmppc_set_msr(struct kvm_vcpu *vcpu, u64 new_msr);
108extern void kvmppc_mmu_book3s_64_init(struct kvm_vcpu *vcpu); 113extern void kvmppc_mmu_book3s_64_init(struct kvm_vcpu *vcpu);
109extern void kvmppc_mmu_book3s_32_init(struct kvm_vcpu *vcpu); 114extern void kvmppc_mmu_book3s_32_init(struct kvm_vcpu *vcpu);
@@ -111,14 +116,22 @@ extern int kvmppc_mmu_map_page(struct kvm_vcpu *vcpu, struct kvmppc_pte *pte);
111extern int kvmppc_mmu_map_segment(struct kvm_vcpu *vcpu, ulong eaddr); 116extern int kvmppc_mmu_map_segment(struct kvm_vcpu *vcpu, ulong eaddr);
112extern void kvmppc_mmu_flush_segments(struct kvm_vcpu *vcpu); 117extern void kvmppc_mmu_flush_segments(struct kvm_vcpu *vcpu);
113extern struct kvmppc_pte *kvmppc_mmu_find_pte(struct kvm_vcpu *vcpu, u64 ea, bool data); 118extern struct kvmppc_pte *kvmppc_mmu_find_pte(struct kvm_vcpu *vcpu, u64 ea, bool data);
114extern int kvmppc_ld(struct kvm_vcpu *vcpu, ulong eaddr, int size, void *ptr, bool data); 119extern int kvmppc_ld(struct kvm_vcpu *vcpu, ulong *eaddr, int size, void *ptr, bool data);
115extern int kvmppc_st(struct kvm_vcpu *vcpu, ulong eaddr, int size, void *ptr); 120extern int kvmppc_st(struct kvm_vcpu *vcpu, ulong *eaddr, int size, void *ptr, bool data);
116extern void kvmppc_book3s_queue_irqprio(struct kvm_vcpu *vcpu, unsigned int vec); 121extern void kvmppc_book3s_queue_irqprio(struct kvm_vcpu *vcpu, unsigned int vec);
117extern void kvmppc_set_bat(struct kvm_vcpu *vcpu, struct kvmppc_bat *bat, 122extern void kvmppc_set_bat(struct kvm_vcpu *vcpu, struct kvmppc_bat *bat,
118 bool upper, u32 val); 123 bool upper, u32 val);
124extern void kvmppc_giveup_ext(struct kvm_vcpu *vcpu, ulong msr);
125extern int kvmppc_emulate_paired_single(struct kvm_run *run, struct kvm_vcpu *vcpu);
119 126
120extern u32 kvmppc_trampoline_lowmem; 127extern u32 kvmppc_trampoline_lowmem;
121extern u32 kvmppc_trampoline_enter; 128extern u32 kvmppc_trampoline_enter;
129extern void kvmppc_rmcall(ulong srr0, ulong srr1);
130extern void kvmppc_load_up_fpu(void);
131extern void kvmppc_load_up_altivec(void);
132extern void kvmppc_load_up_vsx(void);
133extern u32 kvmppc_alignment_dsisr(struct kvm_vcpu *vcpu, unsigned int inst);
134extern ulong kvmppc_alignment_dar(struct kvm_vcpu *vcpu, unsigned int inst);
122 135
123static inline struct kvmppc_vcpu_book3s *to_book3s(struct kvm_vcpu *vcpu) 136static inline struct kvmppc_vcpu_book3s *to_book3s(struct kvm_vcpu *vcpu)
124{ 137{
@@ -133,7 +146,108 @@ static inline ulong dsisr(void)
133} 146}
134 147
135extern void kvm_return_point(void); 148extern void kvm_return_point(void);
149static inline struct kvmppc_book3s_shadow_vcpu *to_svcpu(struct kvm_vcpu *vcpu);
150
151static inline void kvmppc_set_gpr(struct kvm_vcpu *vcpu, int num, ulong val)
152{
153 if ( num < 14 ) {
154 to_svcpu(vcpu)->gpr[num] = val;
155 to_book3s(vcpu)->shadow_vcpu->gpr[num] = val;
156 } else
157 vcpu->arch.gpr[num] = val;
158}
159
160static inline ulong kvmppc_get_gpr(struct kvm_vcpu *vcpu, int num)
161{
162 if ( num < 14 )
163 return to_svcpu(vcpu)->gpr[num];
164 else
165 return vcpu->arch.gpr[num];
166}
167
168static inline void kvmppc_set_cr(struct kvm_vcpu *vcpu, u32 val)
169{
170 to_svcpu(vcpu)->cr = val;
171 to_book3s(vcpu)->shadow_vcpu->cr = val;
172}
173
174static inline u32 kvmppc_get_cr(struct kvm_vcpu *vcpu)
175{
176 return to_svcpu(vcpu)->cr;
177}
178
179static inline void kvmppc_set_xer(struct kvm_vcpu *vcpu, u32 val)
180{
181 to_svcpu(vcpu)->xer = val;
182 to_book3s(vcpu)->shadow_vcpu->xer = val;
183}
184
185static inline u32 kvmppc_get_xer(struct kvm_vcpu *vcpu)
186{
187 return to_svcpu(vcpu)->xer;
188}
189
190static inline void kvmppc_set_ctr(struct kvm_vcpu *vcpu, ulong val)
191{
192 to_svcpu(vcpu)->ctr = val;
193}
194
195static inline ulong kvmppc_get_ctr(struct kvm_vcpu *vcpu)
196{
197 return to_svcpu(vcpu)->ctr;
198}
199
200static inline void kvmppc_set_lr(struct kvm_vcpu *vcpu, ulong val)
201{
202 to_svcpu(vcpu)->lr = val;
203}
204
205static inline ulong kvmppc_get_lr(struct kvm_vcpu *vcpu)
206{
207 return to_svcpu(vcpu)->lr;
208}
209
210static inline void kvmppc_set_pc(struct kvm_vcpu *vcpu, ulong val)
211{
212 to_svcpu(vcpu)->pc = val;
213}
214
215static inline ulong kvmppc_get_pc(struct kvm_vcpu *vcpu)
216{
217 return to_svcpu(vcpu)->pc;
218}
219
220static inline u32 kvmppc_get_last_inst(struct kvm_vcpu *vcpu)
221{
222 ulong pc = kvmppc_get_pc(vcpu);
223 struct kvmppc_book3s_shadow_vcpu *svcpu = to_svcpu(vcpu);
224
225 /* Load the instruction manually if it failed to do so in the
226 * exit path */
227 if (svcpu->last_inst == KVM_INST_FETCH_FAILED)
228 kvmppc_ld(vcpu, &pc, sizeof(u32), &svcpu->last_inst, false);
229
230 return svcpu->last_inst;
231}
232
233static inline ulong kvmppc_get_fault_dar(struct kvm_vcpu *vcpu)
234{
235 return to_svcpu(vcpu)->fault_dar;
236}
237
238/* Magic register values loaded into r3 and r4 before the 'sc' assembly
239 * instruction for the OSI hypercalls */
240#define OSI_SC_MAGIC_R3 0x113724FA
241#define OSI_SC_MAGIC_R4 0x77810F9B
136 242
137#define INS_DCBZ 0x7c0007ec 243#define INS_DCBZ 0x7c0007ec
138 244
245/* Also add subarch specific defines */
246
247#ifdef CONFIG_PPC_BOOK3S_32
248#include <asm/kvm_book3s_32.h>
249#else
250#include <asm/kvm_book3s_64.h>
251#endif
252
139#endif /* __ASM_KVM_BOOK3S_H__ */ 253#endif /* __ASM_KVM_BOOK3S_H__ */
diff --git a/arch/powerpc/include/asm/kvm_book3s_32.h b/arch/powerpc/include/asm/kvm_book3s_32.h
new file mode 100644
index 000000000000..de604db135f5
--- /dev/null
+++ b/arch/powerpc/include/asm/kvm_book3s_32.h
@@ -0,0 +1,42 @@
1/*
2 * This program is free software; you can redistribute it and/or modify
3 * it under the terms of the GNU General Public License, version 2, as
4 * published by the Free Software Foundation.
5 *
6 * This program is distributed in the hope that it will be useful,
7 * but WITHOUT ANY WARRANTY; without even the implied warranty of
8 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
9 * GNU General Public License for more details.
10 *
11 * You should have received a copy of the GNU General Public License
12 * along with this program; if not, write to the Free Software
13 * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
14 *
15 * Copyright SUSE Linux Products GmbH 2010
16 *
17 * Authors: Alexander Graf <agraf@suse.de>
18 */
19
20#ifndef __ASM_KVM_BOOK3S_32_H__
21#define __ASM_KVM_BOOK3S_32_H__
22
23static inline struct kvmppc_book3s_shadow_vcpu *to_svcpu(struct kvm_vcpu *vcpu)
24{
25 return to_book3s(vcpu)->shadow_vcpu;
26}
27
28#define PTE_SIZE 12
29#define VSID_ALL 0
30#define SR_INVALID 0x00000001 /* VSID 1 should always be unused */
31#define SR_KP 0x20000000
32#define PTE_V 0x80000000
33#define PTE_SEC 0x00000040
34#define PTE_M 0x00000010
35#define PTE_R 0x00000100
36#define PTE_C 0x00000080
37
38#define SID_SHIFT 28
39#define ESID_MASK 0xf0000000
40#define VSID_MASK 0x00fffffff0000000ULL
41
42#endif /* __ASM_KVM_BOOK3S_32_H__ */
diff --git a/arch/powerpc/include/asm/kvm_book3s_64.h b/arch/powerpc/include/asm/kvm_book3s_64.h
new file mode 100644
index 000000000000..4cadd612d575
--- /dev/null
+++ b/arch/powerpc/include/asm/kvm_book3s_64.h
@@ -0,0 +1,28 @@
1/*
2 * This program is free software; you can redistribute it and/or modify
3 * it under the terms of the GNU General Public License, version 2, as
4 * published by the Free Software Foundation.
5 *
6 * This program is distributed in the hope that it will be useful,
7 * but WITHOUT ANY WARRANTY; without even the implied warranty of
8 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
9 * GNU General Public License for more details.
10 *
11 * You should have received a copy of the GNU General Public License
12 * along with this program; if not, write to the Free Software
13 * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
14 *
15 * Copyright SUSE Linux Products GmbH 2010
16 *
17 * Authors: Alexander Graf <agraf@suse.de>
18 */
19
20#ifndef __ASM_KVM_BOOK3S_64_H__
21#define __ASM_KVM_BOOK3S_64_H__
22
23static inline struct kvmppc_book3s_shadow_vcpu *to_svcpu(struct kvm_vcpu *vcpu)
24{
25 return &get_paca()->shadow_vcpu;
26}
27
28#endif /* __ASM_KVM_BOOK3S_64_H__ */
diff --git a/arch/powerpc/include/asm/kvm_book3s_64_asm.h b/arch/powerpc/include/asm/kvm_book3s_asm.h
index 2e06ee8184ef..36fdb3aff30b 100644
--- a/arch/powerpc/include/asm/kvm_book3s_64_asm.h
+++ b/arch/powerpc/include/asm/kvm_book3s_asm.h
@@ -20,7 +20,9 @@
20#ifndef __ASM_KVM_BOOK3S_ASM_H__ 20#ifndef __ASM_KVM_BOOK3S_ASM_H__
21#define __ASM_KVM_BOOK3S_ASM_H__ 21#define __ASM_KVM_BOOK3S_ASM_H__
22 22
23#ifdef CONFIG_KVM_BOOK3S_64_HANDLER 23#ifdef __ASSEMBLY__
24
25#ifdef CONFIG_KVM_BOOK3S_HANDLER
24 26
25#include <asm/kvm_asm.h> 27#include <asm/kvm_asm.h>
26 28
@@ -53,6 +55,43 @@ kvmppc_resume_\intno:
53.macro DO_KVM intno 55.macro DO_KVM intno
54.endm 56.endm
55 57
56#endif /* CONFIG_KVM_BOOK3S_64_HANDLER */ 58#endif /* CONFIG_KVM_BOOK3S_HANDLER */
59
60#else /*__ASSEMBLY__ */
61
62struct kvmppc_book3s_shadow_vcpu {
63 ulong gpr[14];
64 u32 cr;
65 u32 xer;
66
67 u32 fault_dsisr;
68 u32 last_inst;
69 ulong ctr;
70 ulong lr;
71 ulong pc;
72 ulong shadow_srr1;
73 ulong fault_dar;
74
75 ulong host_r1;
76 ulong host_r2;
77 ulong handler;
78 ulong scratch0;
79 ulong scratch1;
80 ulong vmhandler;
81 u8 in_guest;
82
83#ifdef CONFIG_PPC_BOOK3S_32
84 u32 sr[16]; /* Guest SRs */
85#endif
86#ifdef CONFIG_PPC_BOOK3S_64
87 u8 slb_max; /* highest used guest slb entry */
88 struct {
89 u64 esid;
90 u64 vsid;
91 } slb[64]; /* guest SLB */
92#endif
93};
94
95#endif /*__ASSEMBLY__ */
57 96
58#endif /* __ASM_KVM_BOOK3S_ASM_H__ */ 97#endif /* __ASM_KVM_BOOK3S_ASM_H__ */
diff --git a/arch/powerpc/include/asm/kvm_booke.h b/arch/powerpc/include/asm/kvm_booke.h
new file mode 100644
index 000000000000..9c9ba3d59b1b
--- /dev/null
+++ b/arch/powerpc/include/asm/kvm_booke.h
@@ -0,0 +1,96 @@
1/*
2 * This program is free software; you can redistribute it and/or modify
3 * it under the terms of the GNU General Public License, version 2, as
4 * published by the Free Software Foundation.
5 *
6 * This program is distributed in the hope that it will be useful,
7 * but WITHOUT ANY WARRANTY; without even the implied warranty of
8 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
9 * GNU General Public License for more details.
10 *
11 * You should have received a copy of the GNU General Public License
12 * along with this program; if not, write to the Free Software
13 * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
14 *
15 * Copyright SUSE Linux Products GmbH 2010
16 *
17 * Authors: Alexander Graf <agraf@suse.de>
18 */
19
20#ifndef __ASM_KVM_BOOKE_H__
21#define __ASM_KVM_BOOKE_H__
22
23#include <linux/types.h>
24#include <linux/kvm_host.h>
25
26static inline void kvmppc_set_gpr(struct kvm_vcpu *vcpu, int num, ulong val)
27{
28 vcpu->arch.gpr[num] = val;
29}
30
31static inline ulong kvmppc_get_gpr(struct kvm_vcpu *vcpu, int num)
32{
33 return vcpu->arch.gpr[num];
34}
35
36static inline void kvmppc_set_cr(struct kvm_vcpu *vcpu, u32 val)
37{
38 vcpu->arch.cr = val;
39}
40
41static inline u32 kvmppc_get_cr(struct kvm_vcpu *vcpu)
42{
43 return vcpu->arch.cr;
44}
45
46static inline void kvmppc_set_xer(struct kvm_vcpu *vcpu, u32 val)
47{
48 vcpu->arch.xer = val;
49}
50
51static inline u32 kvmppc_get_xer(struct kvm_vcpu *vcpu)
52{
53 return vcpu->arch.xer;
54}
55
56static inline u32 kvmppc_get_last_inst(struct kvm_vcpu *vcpu)
57{
58 return vcpu->arch.last_inst;
59}
60
61static inline void kvmppc_set_ctr(struct kvm_vcpu *vcpu, ulong val)
62{
63 vcpu->arch.ctr = val;
64}
65
66static inline ulong kvmppc_get_ctr(struct kvm_vcpu *vcpu)
67{
68 return vcpu->arch.ctr;
69}
70
71static inline void kvmppc_set_lr(struct kvm_vcpu *vcpu, ulong val)
72{
73 vcpu->arch.lr = val;
74}
75
76static inline ulong kvmppc_get_lr(struct kvm_vcpu *vcpu)
77{
78 return vcpu->arch.lr;
79}
80
81static inline void kvmppc_set_pc(struct kvm_vcpu *vcpu, ulong val)
82{
83 vcpu->arch.pc = val;
84}
85
86static inline ulong kvmppc_get_pc(struct kvm_vcpu *vcpu)
87{
88 return vcpu->arch.pc;
89}
90
91static inline ulong kvmppc_get_fault_dar(struct kvm_vcpu *vcpu)
92{
93 return vcpu->arch.fault_dear;
94}
95
96#endif /* __ASM_KVM_BOOKE_H__ */
diff --git a/arch/powerpc/include/asm/kvm_e500.h b/arch/powerpc/include/asm/kvm_e500.h
index 9d497ce49726..7fea26fffb25 100644
--- a/arch/powerpc/include/asm/kvm_e500.h
+++ b/arch/powerpc/include/asm/kvm_e500.h
@@ -52,9 +52,12 @@ struct kvmppc_vcpu_e500 {
52 u32 mas5; 52 u32 mas5;
53 u32 mas6; 53 u32 mas6;
54 u32 mas7; 54 u32 mas7;
55 u32 l1csr0;
55 u32 l1csr1; 56 u32 l1csr1;
56 u32 hid0; 57 u32 hid0;
57 u32 hid1; 58 u32 hid1;
59 u32 tlb0cfg;
60 u32 tlb1cfg;
58 61
59 struct kvm_vcpu vcpu; 62 struct kvm_vcpu vcpu;
60}; 63};
diff --git a/arch/powerpc/include/asm/kvm_fpu.h b/arch/powerpc/include/asm/kvm_fpu.h
new file mode 100644
index 000000000000..94f05de9ad04
--- /dev/null
+++ b/arch/powerpc/include/asm/kvm_fpu.h
@@ -0,0 +1,85 @@
1/*
2 * This program is free software; you can redistribute it and/or modify
3 * it under the terms of the GNU General Public License, version 2, as
4 * published by the Free Software Foundation.
5 *
6 * This program is distributed in the hope that it will be useful,
7 * but WITHOUT ANY WARRANTY; without even the implied warranty of
8 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
9 * GNU General Public License for more details.
10 *
11 * You should have received a copy of the GNU General Public License
12 * along with this program; if not, write to the Free Software
13 * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
14 *
15 * Copyright Novell Inc. 2010
16 *
17 * Authors: Alexander Graf <agraf@suse.de>
18 */
19
20#ifndef __ASM_KVM_FPU_H__
21#define __ASM_KVM_FPU_H__
22
23#include <linux/types.h>
24
25extern void fps_fres(struct thread_struct *t, u32 *dst, u32 *src1);
26extern void fps_frsqrte(struct thread_struct *t, u32 *dst, u32 *src1);
27extern void fps_fsqrts(struct thread_struct *t, u32 *dst, u32 *src1);
28
29extern void fps_fadds(struct thread_struct *t, u32 *dst, u32 *src1, u32 *src2);
30extern void fps_fdivs(struct thread_struct *t, u32 *dst, u32 *src1, u32 *src2);
31extern void fps_fmuls(struct thread_struct *t, u32 *dst, u32 *src1, u32 *src2);
32extern void fps_fsubs(struct thread_struct *t, u32 *dst, u32 *src1, u32 *src2);
33
34extern void fps_fmadds(struct thread_struct *t, u32 *dst, u32 *src1, u32 *src2,
35 u32 *src3);
36extern void fps_fmsubs(struct thread_struct *t, u32 *dst, u32 *src1, u32 *src2,
37 u32 *src3);
38extern void fps_fnmadds(struct thread_struct *t, u32 *dst, u32 *src1, u32 *src2,
39 u32 *src3);
40extern void fps_fnmsubs(struct thread_struct *t, u32 *dst, u32 *src1, u32 *src2,
41 u32 *src3);
42extern void fps_fsel(struct thread_struct *t, u32 *dst, u32 *src1, u32 *src2,
43 u32 *src3);
44
45#define FPD_ONE_IN(name) extern void fpd_ ## name(u64 *fpscr, u32 *cr, \
46 u64 *dst, u64 *src1);
47#define FPD_TWO_IN(name) extern void fpd_ ## name(u64 *fpscr, u32 *cr, \
48 u64 *dst, u64 *src1, u64 *src2);
49#define FPD_THREE_IN(name) extern void fpd_ ## name(u64 *fpscr, u32 *cr, \
50 u64 *dst, u64 *src1, u64 *src2, u64 *src3);
51
52extern void fpd_fcmpu(u64 *fpscr, u32 *cr, u64 *src1, u64 *src2);
53extern void fpd_fcmpo(u64 *fpscr, u32 *cr, u64 *src1, u64 *src2);
54
55FPD_ONE_IN(fsqrts)
56FPD_ONE_IN(frsqrtes)
57FPD_ONE_IN(fres)
58FPD_ONE_IN(frsp)
59FPD_ONE_IN(fctiw)
60FPD_ONE_IN(fctiwz)
61FPD_ONE_IN(fsqrt)
62FPD_ONE_IN(fre)
63FPD_ONE_IN(frsqrte)
64FPD_ONE_IN(fneg)
65FPD_ONE_IN(fabs)
66FPD_TWO_IN(fadds)
67FPD_TWO_IN(fsubs)
68FPD_TWO_IN(fdivs)
69FPD_TWO_IN(fmuls)
70FPD_TWO_IN(fcpsgn)
71FPD_TWO_IN(fdiv)
72FPD_TWO_IN(fadd)
73FPD_TWO_IN(fmul)
74FPD_TWO_IN(fsub)
75FPD_THREE_IN(fmsubs)
76FPD_THREE_IN(fmadds)
77FPD_THREE_IN(fnmsubs)
78FPD_THREE_IN(fnmadds)
79FPD_THREE_IN(fsel)
80FPD_THREE_IN(fmsub)
81FPD_THREE_IN(fmadd)
82FPD_THREE_IN(fnmsub)
83FPD_THREE_IN(fnmadd)
84
85#endif
diff --git a/arch/powerpc/include/asm/kvm_host.h b/arch/powerpc/include/asm/kvm_host.h
index 1201f62d0d73..0c9ad869decd 100644
--- a/arch/powerpc/include/asm/kvm_host.h
+++ b/arch/powerpc/include/asm/kvm_host.h
@@ -66,7 +66,7 @@ struct kvm_vcpu_stat {
66 u32 dec_exits; 66 u32 dec_exits;
67 u32 ext_intr_exits; 67 u32 ext_intr_exits;
68 u32 halt_wakeup; 68 u32 halt_wakeup;
69#ifdef CONFIG_PPC64 69#ifdef CONFIG_PPC_BOOK3S
70 u32 pf_storage; 70 u32 pf_storage;
71 u32 pf_instruc; 71 u32 pf_instruc;
72 u32 sp_storage; 72 u32 sp_storage;
@@ -124,12 +124,12 @@ struct kvm_arch {
124}; 124};
125 125
126struct kvmppc_pte { 126struct kvmppc_pte {
127 u64 eaddr; 127 ulong eaddr;
128 u64 vpage; 128 u64 vpage;
129 u64 raddr; 129 ulong raddr;
130 bool may_read; 130 bool may_read : 1;
131 bool may_write; 131 bool may_write : 1;
132 bool may_execute; 132 bool may_execute : 1;
133}; 133};
134 134
135struct kvmppc_mmu { 135struct kvmppc_mmu {
@@ -145,7 +145,7 @@ struct kvmppc_mmu {
145 int (*xlate)(struct kvm_vcpu *vcpu, gva_t eaddr, struct kvmppc_pte *pte, bool data); 145 int (*xlate)(struct kvm_vcpu *vcpu, gva_t eaddr, struct kvmppc_pte *pte, bool data);
146 void (*reset_msr)(struct kvm_vcpu *vcpu); 146 void (*reset_msr)(struct kvm_vcpu *vcpu);
147 void (*tlbie)(struct kvm_vcpu *vcpu, ulong addr, bool large); 147 void (*tlbie)(struct kvm_vcpu *vcpu, ulong addr, bool large);
148 int (*esid_to_vsid)(struct kvm_vcpu *vcpu, u64 esid, u64 *vsid); 148 int (*esid_to_vsid)(struct kvm_vcpu *vcpu, ulong esid, u64 *vsid);
149 u64 (*ea_to_vp)(struct kvm_vcpu *vcpu, gva_t eaddr, bool data); 149 u64 (*ea_to_vp)(struct kvm_vcpu *vcpu, gva_t eaddr, bool data);
150 bool (*is_dcbz32)(struct kvm_vcpu *vcpu); 150 bool (*is_dcbz32)(struct kvm_vcpu *vcpu);
151}; 151};
@@ -160,30 +160,51 @@ struct hpte_cache {
160struct kvm_vcpu_arch { 160struct kvm_vcpu_arch {
161 ulong host_stack; 161 ulong host_stack;
162 u32 host_pid; 162 u32 host_pid;
163#ifdef CONFIG_PPC64 163#ifdef CONFIG_PPC_BOOK3S
164 ulong host_msr; 164 ulong host_msr;
165 ulong host_r2; 165 ulong host_r2;
166 void *host_retip; 166 void *host_retip;
167 ulong trampoline_lowmem; 167 ulong trampoline_lowmem;
168 ulong trampoline_enter; 168 ulong trampoline_enter;
169 ulong highmem_handler; 169 ulong highmem_handler;
170 ulong rmcall;
170 ulong host_paca_phys; 171 ulong host_paca_phys;
171 struct kvmppc_mmu mmu; 172 struct kvmppc_mmu mmu;
172#endif 173#endif
173 174
174 u64 fpr[32];
175 ulong gpr[32]; 175 ulong gpr[32];
176 176
177 u64 fpr[32];
178 u64 fpscr;
179
180#ifdef CONFIG_ALTIVEC
181 vector128 vr[32];
182 vector128 vscr;
183#endif
184
185#ifdef CONFIG_VSX
186 u64 vsr[32];
187#endif
188
189#ifdef CONFIG_PPC_BOOK3S
190 /* For Gekko paired singles */
191 u32 qpr[32];
192#endif
193
194#ifdef CONFIG_BOOKE
177 ulong pc; 195 ulong pc;
178 u32 cr;
179 ulong ctr; 196 ulong ctr;
180 ulong lr; 197 ulong lr;
198
181 ulong xer; 199 ulong xer;
200 u32 cr;
201#endif
182 202
183 ulong msr; 203 ulong msr;
184#ifdef CONFIG_PPC64 204#ifdef CONFIG_PPC_BOOK3S
185 ulong shadow_msr; 205 ulong shadow_msr;
186 ulong hflags; 206 ulong hflags;
207 ulong guest_owned_ext;
187#endif 208#endif
188 u32 mmucr; 209 u32 mmucr;
189 ulong sprg0; 210 ulong sprg0;
@@ -236,18 +257,22 @@ struct kvm_vcpu_arch {
236 struct dentry *debugfs_exit_timing; 257 struct dentry *debugfs_exit_timing;
237#endif 258#endif
238 259
260#ifdef CONFIG_BOOKE
239 u32 last_inst; 261 u32 last_inst;
240#ifdef CONFIG_PPC64
241 ulong fault_dsisr;
242#endif
243 ulong fault_dear; 262 ulong fault_dear;
244 ulong fault_esr; 263 ulong fault_esr;
264 ulong queued_dear;
265 ulong queued_esr;
266#endif
245 gpa_t paddr_accessed; 267 gpa_t paddr_accessed;
246 268
247 u8 io_gpr; /* GPR used as IO source/target */ 269 u8 io_gpr; /* GPR used as IO source/target */
248 u8 mmio_is_bigendian; 270 u8 mmio_is_bigendian;
271 u8 mmio_sign_extend;
249 u8 dcr_needed; 272 u8 dcr_needed;
250 u8 dcr_is_write; 273 u8 dcr_is_write;
274 u8 osi_needed;
275 u8 osi_enabled;
251 276
252 u32 cpr0_cfgaddr; /* holds the last set cpr0_cfgaddr */ 277 u32 cpr0_cfgaddr; /* holds the last set cpr0_cfgaddr */
253 278
@@ -256,7 +281,7 @@ struct kvm_vcpu_arch {
256 u64 dec_jiffies; 281 u64 dec_jiffies;
257 unsigned long pending_exceptions; 282 unsigned long pending_exceptions;
258 283
259#ifdef CONFIG_PPC64 284#ifdef CONFIG_PPC_BOOK3S
260 struct hpte_cache hpte_cache[HPTEG_CACHE_NUM]; 285 struct hpte_cache hpte_cache[HPTEG_CACHE_NUM];
261 int hpte_cache_offset; 286 int hpte_cache_offset;
262#endif 287#endif
diff --git a/arch/powerpc/include/asm/kvm_ppc.h b/arch/powerpc/include/asm/kvm_ppc.h
index 269ee46ab028..18d139ec2d22 100644
--- a/arch/powerpc/include/asm/kvm_ppc.h
+++ b/arch/powerpc/include/asm/kvm_ppc.h
@@ -28,12 +28,18 @@
28#include <linux/types.h> 28#include <linux/types.h>
29#include <linux/kvm_types.h> 29#include <linux/kvm_types.h>
30#include <linux/kvm_host.h> 30#include <linux/kvm_host.h>
31#ifdef CONFIG_PPC_BOOK3S
32#include <asm/kvm_book3s.h>
33#else
34#include <asm/kvm_booke.h>
35#endif
31 36
32enum emulation_result { 37enum emulation_result {
33 EMULATE_DONE, /* no further processing */ 38 EMULATE_DONE, /* no further processing */
34 EMULATE_DO_MMIO, /* kvm_run filled with MMIO request */ 39 EMULATE_DO_MMIO, /* kvm_run filled with MMIO request */
35 EMULATE_DO_DCR, /* kvm_run filled with DCR request */ 40 EMULATE_DO_DCR, /* kvm_run filled with DCR request */
36 EMULATE_FAIL, /* can't emulate this instruction */ 41 EMULATE_FAIL, /* can't emulate this instruction */
42 EMULATE_AGAIN, /* something went wrong. go again */
37}; 43};
38 44
39extern int __kvmppc_vcpu_run(struct kvm_run *kvm_run, struct kvm_vcpu *vcpu); 45extern int __kvmppc_vcpu_run(struct kvm_run *kvm_run, struct kvm_vcpu *vcpu);
@@ -45,8 +51,11 @@ extern void kvmppc_dump_vcpu(struct kvm_vcpu *vcpu);
45extern int kvmppc_handle_load(struct kvm_run *run, struct kvm_vcpu *vcpu, 51extern int kvmppc_handle_load(struct kvm_run *run, struct kvm_vcpu *vcpu,
46 unsigned int rt, unsigned int bytes, 52 unsigned int rt, unsigned int bytes,
47 int is_bigendian); 53 int is_bigendian);
54extern int kvmppc_handle_loads(struct kvm_run *run, struct kvm_vcpu *vcpu,
55 unsigned int rt, unsigned int bytes,
56 int is_bigendian);
48extern int kvmppc_handle_store(struct kvm_run *run, struct kvm_vcpu *vcpu, 57extern int kvmppc_handle_store(struct kvm_run *run, struct kvm_vcpu *vcpu,
49 u32 val, unsigned int bytes, int is_bigendian); 58 u64 val, unsigned int bytes, int is_bigendian);
50 59
51extern int kvmppc_emulate_instruction(struct kvm_run *run, 60extern int kvmppc_emulate_instruction(struct kvm_run *run,
52 struct kvm_vcpu *vcpu); 61 struct kvm_vcpu *vcpu);
@@ -60,6 +69,7 @@ extern void kvmppc_mmu_map(struct kvm_vcpu *vcpu, u64 gvaddr, gpa_t gpaddr,
60extern void kvmppc_mmu_priv_switch(struct kvm_vcpu *vcpu, int usermode); 69extern void kvmppc_mmu_priv_switch(struct kvm_vcpu *vcpu, int usermode);
61extern void kvmppc_mmu_switch_pid(struct kvm_vcpu *vcpu, u32 pid); 70extern void kvmppc_mmu_switch_pid(struct kvm_vcpu *vcpu, u32 pid);
62extern void kvmppc_mmu_destroy(struct kvm_vcpu *vcpu); 71extern void kvmppc_mmu_destroy(struct kvm_vcpu *vcpu);
72extern int kvmppc_mmu_init(struct kvm_vcpu *vcpu);
63extern int kvmppc_mmu_dtlb_index(struct kvm_vcpu *vcpu, gva_t eaddr); 73extern int kvmppc_mmu_dtlb_index(struct kvm_vcpu *vcpu, gva_t eaddr);
64extern int kvmppc_mmu_itlb_index(struct kvm_vcpu *vcpu, gva_t eaddr); 74extern int kvmppc_mmu_itlb_index(struct kvm_vcpu *vcpu, gva_t eaddr);
65extern gpa_t kvmppc_mmu_xlate(struct kvm_vcpu *vcpu, unsigned int gtlb_index, 75extern gpa_t kvmppc_mmu_xlate(struct kvm_vcpu *vcpu, unsigned int gtlb_index,
@@ -80,10 +90,13 @@ extern void kvmppc_core_vcpu_put(struct kvm_vcpu *vcpu);
80 90
81extern void kvmppc_core_deliver_interrupts(struct kvm_vcpu *vcpu); 91extern void kvmppc_core_deliver_interrupts(struct kvm_vcpu *vcpu);
82extern int kvmppc_core_pending_dec(struct kvm_vcpu *vcpu); 92extern int kvmppc_core_pending_dec(struct kvm_vcpu *vcpu);
83extern void kvmppc_core_queue_program(struct kvm_vcpu *vcpu); 93extern void kvmppc_core_queue_program(struct kvm_vcpu *vcpu, ulong flags);
84extern void kvmppc_core_queue_dec(struct kvm_vcpu *vcpu); 94extern void kvmppc_core_queue_dec(struct kvm_vcpu *vcpu);
95extern void kvmppc_core_dequeue_dec(struct kvm_vcpu *vcpu);
85extern void kvmppc_core_queue_external(struct kvm_vcpu *vcpu, 96extern void kvmppc_core_queue_external(struct kvm_vcpu *vcpu,
86 struct kvm_interrupt *irq); 97 struct kvm_interrupt *irq);
98extern void kvmppc_core_dequeue_external(struct kvm_vcpu *vcpu,
99 struct kvm_interrupt *irq);
87 100
88extern int kvmppc_core_emulate_op(struct kvm_run *run, struct kvm_vcpu *vcpu, 101extern int kvmppc_core_emulate_op(struct kvm_run *run, struct kvm_vcpu *vcpu,
89 unsigned int op, int *advance); 102 unsigned int op, int *advance);
@@ -95,4 +108,37 @@ extern void kvmppc_booke_exit(void);
95 108
96extern void kvmppc_core_destroy_mmu(struct kvm_vcpu *vcpu); 109extern void kvmppc_core_destroy_mmu(struct kvm_vcpu *vcpu);
97 110
111/*
112 * Cuts out inst bits with ordering according to spec.
113 * That means the leftmost bit is zero. All given bits are included.
114 */
115static inline u32 kvmppc_get_field(u64 inst, int msb, int lsb)
116{
117 u32 r;
118 u32 mask;
119
120 BUG_ON(msb > lsb);
121
122 mask = (1 << (lsb - msb + 1)) - 1;
123 r = (inst >> (63 - lsb)) & mask;
124
125 return r;
126}
127
128/*
129 * Replaces inst bits with ordering according to spec.
130 */
131static inline u32 kvmppc_set_field(u64 inst, int msb, int lsb, int value)
132{
133 u32 r;
134 u32 mask;
135
136 BUG_ON(msb > lsb);
137
138 mask = ((1 << (lsb - msb + 1)) - 1) << (63 - lsb);
139 r = (inst & ~mask) | ((value << (63 - lsb)) & mask);
140
141 return r;
142}
143
98#endif /* __POWERPC_KVM_PPC_H__ */ 144#endif /* __POWERPC_KVM_PPC_H__ */
diff --git a/arch/powerpc/include/asm/lmb.h b/arch/powerpc/include/asm/lmb.h
deleted file mode 100644
index 6f5fdf0a19ae..000000000000
--- a/arch/powerpc/include/asm/lmb.h
+++ /dev/null
@@ -1,15 +0,0 @@
1#ifndef _ASM_POWERPC_LMB_H
2#define _ASM_POWERPC_LMB_H
3
4#include <asm/udbg.h>
5
6#define LMB_DBG(fmt...) udbg_printf(fmt)
7
8#ifdef CONFIG_PPC32
9extern phys_addr_t lowmem_end_addr;
10#define LMB_REAL_LIMIT lowmem_end_addr
11#else
12#define LMB_REAL_LIMIT 0
13#endif
14
15#endif /* _ASM_POWERPC_LMB_H */
diff --git a/arch/powerpc/include/asm/local.h b/arch/powerpc/include/asm/local.h
index 84b457a3c1bc..c2410af6bfd9 100644
--- a/arch/powerpc/include/asm/local.h
+++ b/arch/powerpc/include/asm/local.h
@@ -24,7 +24,7 @@ static __inline__ long local_add_return(long a, local_t *l)
24 long t; 24 long t;
25 25
26 __asm__ __volatile__( 26 __asm__ __volatile__(
27"1:" PPC_LLARX "%0,0,%2 # local_add_return\n\ 27"1:" PPC_LLARX(%0,0,%2,0) " # local_add_return\n\
28 add %0,%1,%0\n" 28 add %0,%1,%0\n"
29 PPC405_ERR77(0,%2) 29 PPC405_ERR77(0,%2)
30 PPC_STLCX "%0,0,%2 \n\ 30 PPC_STLCX "%0,0,%2 \n\
@@ -43,7 +43,7 @@ static __inline__ long local_sub_return(long a, local_t *l)
43 long t; 43 long t;
44 44
45 __asm__ __volatile__( 45 __asm__ __volatile__(
46"1:" PPC_LLARX "%0,0,%2 # local_sub_return\n\ 46"1:" PPC_LLARX(%0,0,%2,0) " # local_sub_return\n\
47 subf %0,%1,%0\n" 47 subf %0,%1,%0\n"
48 PPC405_ERR77(0,%2) 48 PPC405_ERR77(0,%2)
49 PPC_STLCX "%0,0,%2 \n\ 49 PPC_STLCX "%0,0,%2 \n\
@@ -60,7 +60,7 @@ static __inline__ long local_inc_return(local_t *l)
60 long t; 60 long t;
61 61
62 __asm__ __volatile__( 62 __asm__ __volatile__(
63"1:" PPC_LLARX "%0,0,%1 # local_inc_return\n\ 63"1:" PPC_LLARX(%0,0,%1,0) " # local_inc_return\n\
64 addic %0,%0,1\n" 64 addic %0,%0,1\n"
65 PPC405_ERR77(0,%1) 65 PPC405_ERR77(0,%1)
66 PPC_STLCX "%0,0,%1 \n\ 66 PPC_STLCX "%0,0,%1 \n\
@@ -87,7 +87,7 @@ static __inline__ long local_dec_return(local_t *l)
87 long t; 87 long t;
88 88
89 __asm__ __volatile__( 89 __asm__ __volatile__(
90"1:" PPC_LLARX "%0,0,%1 # local_dec_return\n\ 90"1:" PPC_LLARX(%0,0,%1,0) " # local_dec_return\n\
91 addic %0,%0,-1\n" 91 addic %0,%0,-1\n"
92 PPC405_ERR77(0,%1) 92 PPC405_ERR77(0,%1)
93 PPC_STLCX "%0,0,%1\n\ 93 PPC_STLCX "%0,0,%1\n\
@@ -117,7 +117,7 @@ static __inline__ int local_add_unless(local_t *l, long a, long u)
117 long t; 117 long t;
118 118
119 __asm__ __volatile__ ( 119 __asm__ __volatile__ (
120"1:" PPC_LLARX "%0,0,%1 # local_add_unless\n\ 120"1:" PPC_LLARX(%0,0,%1,0) " # local_add_unless\n\
121 cmpw 0,%0,%3 \n\ 121 cmpw 0,%0,%3 \n\
122 beq- 2f \n\ 122 beq- 2f \n\
123 add %0,%2,%0 \n" 123 add %0,%2,%0 \n"
@@ -147,7 +147,7 @@ static __inline__ long local_dec_if_positive(local_t *l)
147 long t; 147 long t;
148 148
149 __asm__ __volatile__( 149 __asm__ __volatile__(
150"1:" PPC_LLARX "%0,0,%1 # local_dec_if_positive\n\ 150"1:" PPC_LLARX(%0,0,%1,0) " # local_dec_if_positive\n\
151 cmpwi %0,1\n\ 151 cmpwi %0,1\n\
152 addi %0,%0,-1\n\ 152 addi %0,%0,-1\n\
153 blt- 2f\n" 153 blt- 2f\n"
@@ -172,29 +172,4 @@ static __inline__ long local_dec_if_positive(local_t *l)
172#define __local_add(i,l) ((l)->a.counter+=(i)) 172#define __local_add(i,l) ((l)->a.counter+=(i))
173#define __local_sub(i,l) ((l)->a.counter-=(i)) 173#define __local_sub(i,l) ((l)->a.counter-=(i))
174 174
175/* Need to disable preemption for the cpu local counters otherwise we could
176 still access a variable of a previous CPU in a non atomic way. */
177#define cpu_local_wrap_v(l) \
178 ({ local_t res__; \
179 preempt_disable(); \
180 res__ = (l); \
181 preempt_enable(); \
182 res__; })
183#define cpu_local_wrap(l) \
184 ({ preempt_disable(); \
185 l; \
186 preempt_enable(); }) \
187
188#define cpu_local_read(l) cpu_local_wrap_v(local_read(&__get_cpu_var(l)))
189#define cpu_local_set(l, i) cpu_local_wrap(local_set(&__get_cpu_var(l), (i)))
190#define cpu_local_inc(l) cpu_local_wrap(local_inc(&__get_cpu_var(l)))
191#define cpu_local_dec(l) cpu_local_wrap(local_dec(&__get_cpu_var(l)))
192#define cpu_local_add(i, l) cpu_local_wrap(local_add((i), &__get_cpu_var(l)))
193#define cpu_local_sub(i, l) cpu_local_wrap(local_sub((i), &__get_cpu_var(l)))
194
195#define __cpu_local_inc(l) cpu_local_inc(l)
196#define __cpu_local_dec(l) cpu_local_dec(l)
197#define __cpu_local_add(i, l) cpu_local_add((i), (l))
198#define __cpu_local_sub(i, l) cpu_local_sub((i), (l))
199
200#endif /* _ARCH_POWERPC_LOCAL_H */ 175#endif /* _ARCH_POWERPC_LOCAL_H */
diff --git a/arch/powerpc/include/asm/macio.h b/arch/powerpc/include/asm/macio.h
index a062c57696d0..675e159b5ef4 100644
--- a/arch/powerpc/include/asm/macio.h
+++ b/arch/powerpc/include/asm/macio.h
@@ -108,7 +108,7 @@ static inline void* macio_get_drvdata(struct macio_dev *dev)
108 108
109static inline struct device_node *macio_get_of_node(struct macio_dev *mdev) 109static inline struct device_node *macio_get_of_node(struct macio_dev *mdev)
110{ 110{
111 return mdev->ofdev.node; 111 return mdev->ofdev.dev.of_node;
112} 112}
113 113
114#ifdef CONFIG_PCI 114#ifdef CONFIG_PCI
@@ -123,10 +123,6 @@ static inline struct pci_dev *macio_get_pci_dev(struct macio_dev *mdev)
123 */ 123 */
124struct macio_driver 124struct macio_driver
125{ 125{
126 char *name;
127 struct of_device_id *match_table;
128 struct module *owner;
129
130 int (*probe)(struct macio_dev* dev, const struct of_device_id *match); 126 int (*probe)(struct macio_dev* dev, const struct of_device_id *match);
131 int (*remove)(struct macio_dev* dev); 127 int (*remove)(struct macio_dev* dev);
132 128
diff --git a/arch/powerpc/include/asm/memblock.h b/arch/powerpc/include/asm/memblock.h
new file mode 100644
index 000000000000..3c29728b56b1
--- /dev/null
+++ b/arch/powerpc/include/asm/memblock.h
@@ -0,0 +1,15 @@
1#ifndef _ASM_POWERPC_MEMBLOCK_H
2#define _ASM_POWERPC_MEMBLOCK_H
3
4#include <asm/udbg.h>
5
6#define MEMBLOCK_DBG(fmt...) udbg_printf(fmt)
7
8#ifdef CONFIG_PPC32
9extern phys_addr_t lowmem_end_addr;
10#define MEMBLOCK_REAL_LIMIT lowmem_end_addr
11#else
12#define MEMBLOCK_REAL_LIMIT 0
13#endif
14
15#endif /* _ASM_POWERPC_MEMBLOCK_H */
diff --git a/arch/powerpc/include/asm/mmu-44x.h b/arch/powerpc/include/asm/mmu-44x.h
index 0372669383a8..bf52d704fc47 100644
--- a/arch/powerpc/include/asm/mmu-44x.h
+++ b/arch/powerpc/include/asm/mmu-44x.h
@@ -40,7 +40,7 @@
40#define PPC44x_TLB_I 0x00000400 /* Caching is inhibited */ 40#define PPC44x_TLB_I 0x00000400 /* Caching is inhibited */
41#define PPC44x_TLB_M 0x00000200 /* Memory is coherent */ 41#define PPC44x_TLB_M 0x00000200 /* Memory is coherent */
42#define PPC44x_TLB_G 0x00000100 /* Memory is guarded */ 42#define PPC44x_TLB_G 0x00000100 /* Memory is guarded */
43#define PPC44x_TLB_E 0x00000080 /* Memory is guarded */ 43#define PPC44x_TLB_E 0x00000080 /* Memory is little endian */
44 44
45#define PPC44x_TLB_PERM_MASK 0x0000003f 45#define PPC44x_TLB_PERM_MASK 0x0000003f
46#define PPC44x_TLB_UX 0x00000020 /* User execution */ 46#define PPC44x_TLB_UX 0x00000020 /* User execution */
@@ -53,6 +53,52 @@
53/* Number of TLB entries */ 53/* Number of TLB entries */
54#define PPC44x_TLB_SIZE 64 54#define PPC44x_TLB_SIZE 64
55 55
56/* 47x bits */
57#define PPC47x_MMUCR_TID 0x0000ffff
58#define PPC47x_MMUCR_STS 0x00010000
59
60/* Page identification fields */
61#define PPC47x_TLB0_EPN_MASK 0xfffff000 /* Effective Page Number */
62#define PPC47x_TLB0_VALID 0x00000800 /* Valid flag */
63#define PPC47x_TLB0_TS 0x00000400 /* Translation address space */
64#define PPC47x_TLB0_4K 0x00000000
65#define PPC47x_TLB0_16K 0x00000010
66#define PPC47x_TLB0_64K 0x00000030
67#define PPC47x_TLB0_1M 0x00000070
68#define PPC47x_TLB0_16M 0x000000f0
69#define PPC47x_TLB0_256M 0x000001f0
70#define PPC47x_TLB0_1G 0x000003f0
71#define PPC47x_TLB0_BOLTED_R 0x00000008 /* tlbre only */
72
73/* Translation fields */
74#define PPC47x_TLB1_RPN_MASK 0xfffff000 /* Real Page Number */
75#define PPC47x_TLB1_ERPN_MASK 0x000003ff
76
77/* Storage attribute and access control fields */
78#define PPC47x_TLB2_ATTR_MASK 0x0003ff80
79#define PPC47x_TLB2_IL1I 0x00020000 /* Memory is guarded */
80#define PPC47x_TLB2_IL1D 0x00010000 /* Memory is guarded */
81#define PPC47x_TLB2_U0 0x00008000 /* User 0 */
82#define PPC47x_TLB2_U1 0x00004000 /* User 1 */
83#define PPC47x_TLB2_U2 0x00002000 /* User 2 */
84#define PPC47x_TLB2_U3 0x00001000 /* User 3 */
85#define PPC47x_TLB2_W 0x00000800 /* Caching is write-through */
86#define PPC47x_TLB2_I 0x00000400 /* Caching is inhibited */
87#define PPC47x_TLB2_M 0x00000200 /* Memory is coherent */
88#define PPC47x_TLB2_G 0x00000100 /* Memory is guarded */
89#define PPC47x_TLB2_E 0x00000080 /* Memory is little endian */
90#define PPC47x_TLB2_PERM_MASK 0x0000003f
91#define PPC47x_TLB2_UX 0x00000020 /* User execution */
92#define PPC47x_TLB2_UW 0x00000010 /* User write */
93#define PPC47x_TLB2_UR 0x00000008 /* User read */
94#define PPC47x_TLB2_SX 0x00000004 /* Super execution */
95#define PPC47x_TLB2_SW 0x00000002 /* Super write */
96#define PPC47x_TLB2_SR 0x00000001 /* Super read */
97#define PPC47x_TLB2_U_RWX (PPC47x_TLB2_UX|PPC47x_TLB2_UW|PPC47x_TLB2_UR)
98#define PPC47x_TLB2_S_RWX (PPC47x_TLB2_SX|PPC47x_TLB2_SW|PPC47x_TLB2_SR)
99#define PPC47x_TLB2_S_RW (PPC47x_TLB2_SW | PPC47x_TLB2_SR)
100#define PPC47x_TLB2_IMG (PPC47x_TLB2_I | PPC47x_TLB2_M | PPC47x_TLB2_G)
101
56#ifndef __ASSEMBLY__ 102#ifndef __ASSEMBLY__
57 103
58extern unsigned int tlb_44x_hwater; 104extern unsigned int tlb_44x_hwater;
@@ -79,12 +125,15 @@ typedef struct {
79 125
80#if (PAGE_SHIFT == 12) 126#if (PAGE_SHIFT == 12)
81#define PPC44x_TLBE_SIZE PPC44x_TLB_4K 127#define PPC44x_TLBE_SIZE PPC44x_TLB_4K
128#define PPC47x_TLBE_SIZE PPC47x_TLB0_4K
82#define mmu_virtual_psize MMU_PAGE_4K 129#define mmu_virtual_psize MMU_PAGE_4K
83#elif (PAGE_SHIFT == 14) 130#elif (PAGE_SHIFT == 14)
84#define PPC44x_TLBE_SIZE PPC44x_TLB_16K 131#define PPC44x_TLBE_SIZE PPC44x_TLB_16K
132#define PPC47x_TLBE_SIZE PPC47x_TLB0_16K
85#define mmu_virtual_psize MMU_PAGE_16K 133#define mmu_virtual_psize MMU_PAGE_16K
86#elif (PAGE_SHIFT == 16) 134#elif (PAGE_SHIFT == 16)
87#define PPC44x_TLBE_SIZE PPC44x_TLB_64K 135#define PPC44x_TLBE_SIZE PPC44x_TLB_64K
136#define PPC47x_TLBE_SIZE PPC47x_TLB0_64K
88#define mmu_virtual_psize MMU_PAGE_64K 137#define mmu_virtual_psize MMU_PAGE_64K
89#elif (PAGE_SHIFT == 18) 138#elif (PAGE_SHIFT == 18)
90#define PPC44x_TLBE_SIZE PPC44x_TLB_256K 139#define PPC44x_TLBE_SIZE PPC44x_TLB_256K
diff --git a/arch/powerpc/include/asm/mmu-hash64.h b/arch/powerpc/include/asm/mmu-hash64.h
index 2102b214a87c..0e398cfee2c8 100644
--- a/arch/powerpc/include/asm/mmu-hash64.h
+++ b/arch/powerpc/include/asm/mmu-hash64.h
@@ -250,7 +250,9 @@ extern int hash_page(unsigned long ea, unsigned long access, unsigned long trap)
250int __hash_page_huge(unsigned long ea, unsigned long access, unsigned long vsid, 250int __hash_page_huge(unsigned long ea, unsigned long access, unsigned long vsid,
251 pte_t *ptep, unsigned long trap, int local, int ssize, 251 pte_t *ptep, unsigned long trap, int local, int ssize,
252 unsigned int shift, unsigned int mmu_psize); 252 unsigned int shift, unsigned int mmu_psize);
253 253extern void hash_failure_debug(unsigned long ea, unsigned long access,
254 unsigned long vsid, unsigned long trap,
255 int ssize, int psize, unsigned long pte);
254extern int htab_bolt_mapping(unsigned long vstart, unsigned long vend, 256extern int htab_bolt_mapping(unsigned long vstart, unsigned long vend,
255 unsigned long pstart, unsigned long prot, 257 unsigned long pstart, unsigned long prot,
256 int psize, int ssize); 258 int psize, int ssize);
diff --git a/arch/powerpc/include/asm/mmu.h b/arch/powerpc/include/asm/mmu.h
index 7ffbb65ff7a9..7ebf42ed84a2 100644
--- a/arch/powerpc/include/asm/mmu.h
+++ b/arch/powerpc/include/asm/mmu.h
@@ -18,6 +18,7 @@
18#define MMU_FTR_TYPE_44x ASM_CONST(0x00000008) 18#define MMU_FTR_TYPE_44x ASM_CONST(0x00000008)
19#define MMU_FTR_TYPE_FSL_E ASM_CONST(0x00000010) 19#define MMU_FTR_TYPE_FSL_E ASM_CONST(0x00000010)
20#define MMU_FTR_TYPE_3E ASM_CONST(0x00000020) 20#define MMU_FTR_TYPE_3E ASM_CONST(0x00000020)
21#define MMU_FTR_TYPE_47x ASM_CONST(0x00000040)
21 22
22/* 23/*
23 * This is individual features 24 * This is individual features
diff --git a/arch/powerpc/include/asm/mmu_context.h b/arch/powerpc/include/asm/mmu_context.h
index 26383e0778aa..81fb41289d6c 100644
--- a/arch/powerpc/include/asm/mmu_context.h
+++ b/arch/powerpc/include/asm/mmu_context.h
@@ -27,6 +27,8 @@ extern int __init_new_context(void);
27extern void __destroy_context(int context_id); 27extern void __destroy_context(int context_id);
28static inline void mmu_context_init(void) { } 28static inline void mmu_context_init(void) { }
29#else 29#else
30extern unsigned long __init_new_context(void);
31extern void __destroy_context(unsigned long context_id);
30extern void mmu_context_init(void); 32extern void mmu_context_init(void);
31#endif 33#endif
32 34
diff --git a/arch/powerpc/include/asm/mmzone.h b/arch/powerpc/include/asm/mmzone.h
index 35acac90c8ca..aac87cbceb57 100644
--- a/arch/powerpc/include/asm/mmzone.h
+++ b/arch/powerpc/include/asm/mmzone.h
@@ -30,7 +30,7 @@ extern struct pglist_data *node_data[];
30 */ 30 */
31 31
32extern int numa_cpu_lookup_table[]; 32extern int numa_cpu_lookup_table[];
33extern cpumask_t numa_cpumask_lookup_table[]; 33extern cpumask_var_t node_to_cpumask_map[];
34#ifdef CONFIG_MEMORY_HOTPLUG 34#ifdef CONFIG_MEMORY_HOTPLUG
35extern unsigned long max_pfn; 35extern unsigned long max_pfn;
36#endif 36#endif
diff --git a/arch/powerpc/include/asm/mpc5121.h b/arch/powerpc/include/asm/mpc5121.h
new file mode 100644
index 000000000000..e6a30bb1d16a
--- /dev/null
+++ b/arch/powerpc/include/asm/mpc5121.h
@@ -0,0 +1,24 @@
1/*
2 * MPC5121 Prototypes and definitions
3 *
4 * This file is licensed under the terms of the GNU General Public
5 * License version 2.
6 */
7
8#ifndef __ASM_POWERPC_MPC5121_H__
9#define __ASM_POWERPC_MPC5121_H__
10
11/* MPC512x Reset module registers */
12struct mpc512x_reset_module {
13 u32 rcwlr; /* Reset Configuration Word Low Register */
14 u32 rcwhr; /* Reset Configuration Word High Register */
15 u32 reserved1;
16 u32 reserved2;
17 u32 rsr; /* Reset Status Register */
18 u32 rmr; /* Reset Mode Register */
19 u32 rpr; /* Reset Protection Register */
20 u32 rcr; /* Reset Control Register */
21 u32 rcer; /* Reset Control Enable Register */
22};
23
24#endif /* __ASM_POWERPC_MPC5121_H__ */
diff --git a/arch/powerpc/include/asm/mpc52xx_psc.h b/arch/powerpc/include/asm/mpc52xx_psc.h
index fb8412057450..ecc4fc69ac13 100644
--- a/arch/powerpc/include/asm/mpc52xx_psc.h
+++ b/arch/powerpc/include/asm/mpc52xx_psc.h
@@ -25,7 +25,11 @@
25#include <asm/types.h> 25#include <asm/types.h>
26 26
27/* Max number of PSCs */ 27/* Max number of PSCs */
28#ifdef CONFIG_PPC_MPC512x
29#define MPC52xx_PSC_MAXNUM 12
30#else
28#define MPC52xx_PSC_MAXNUM 6 31#define MPC52xx_PSC_MAXNUM 6
32#endif
29 33
30/* Programmable Serial Controller (PSC) status register bits */ 34/* Programmable Serial Controller (PSC) status register bits */
31#define MPC52xx_PSC_SR_UNEX_RX 0x0001 35#define MPC52xx_PSC_SR_UNEX_RX 0x0001
@@ -244,6 +248,7 @@ struct mpc52xx_psc_fifo {
244 u16 tflwfptr; /* PSC + 0x9e */ 248 u16 tflwfptr; /* PSC + 0x9e */
245}; 249};
246 250
251#define MPC512x_PSC_FIFO_EOF 0x100
247#define MPC512x_PSC_FIFO_RESET_SLICE 0x80 252#define MPC512x_PSC_FIFO_RESET_SLICE 0x80
248#define MPC512x_PSC_FIFO_ENABLE_SLICE 0x01 253#define MPC512x_PSC_FIFO_ENABLE_SLICE 0x01
249#define MPC512x_PSC_FIFO_ENABLE_DMA 0x04 254#define MPC512x_PSC_FIFO_ENABLE_DMA 0x04
diff --git a/arch/powerpc/include/asm/mpic.h b/arch/powerpc/include/asm/mpic.h
index a002682f3a6d..e000cce8f6dd 100644
--- a/arch/powerpc/include/asm/mpic.h
+++ b/arch/powerpc/include/asm/mpic.h
@@ -289,7 +289,7 @@ struct mpic
289#ifdef CONFIG_MPIC_U3_HT_IRQS 289#ifdef CONFIG_MPIC_U3_HT_IRQS
290 /* The fixup table */ 290 /* The fixup table */
291 struct mpic_irq_fixup *fixups; 291 struct mpic_irq_fixup *fixups;
292 spinlock_t fixup_lock; 292 raw_spinlock_t fixup_lock;
293#endif 293#endif
294 294
295 /* Register access method */ 295 /* Register access method */
@@ -463,9 +463,6 @@ extern void mpic_cpu_set_priority(int prio);
463/* Request IPIs on primary mpic */ 463/* Request IPIs on primary mpic */
464extern void mpic_request_ipis(void); 464extern void mpic_request_ipis(void);
465 465
466/* Send an IPI (non offseted number 0..3) */
467extern void mpic_send_ipi(unsigned int ipi_no, unsigned int cpu_mask);
468
469/* Send a message (IPI) to a given target (cpu number or MSG_*) */ 466/* Send a message (IPI) to a given target (cpu number or MSG_*) */
470void smp_mpic_message_pass(int target, int msg); 467void smp_mpic_message_pass(int target, int msg);
471 468
diff --git a/arch/powerpc/include/asm/mutex.h b/arch/powerpc/include/asm/mutex.h
index dabc01c727b8..5399f7e18102 100644
--- a/arch/powerpc/include/asm/mutex.h
+++ b/arch/powerpc/include/asm/mutex.h
@@ -15,7 +15,7 @@ static inline int __mutex_cmpxchg_lock(atomic_t *v, int old, int new)
15 PPC405_ERR77(0,%1) 15 PPC405_ERR77(0,%1)
16" stwcx. %3,0,%1\n\ 16" stwcx. %3,0,%1\n\
17 bne- 1b" 17 bne- 1b"
18 ISYNC_ON_SMP 18 PPC_ACQUIRE_BARRIER
19 "\n\ 19 "\n\
202:" 202:"
21 : "=&r" (t) 21 : "=&r" (t)
@@ -35,7 +35,7 @@ static inline int __mutex_dec_return_lock(atomic_t *v)
35 PPC405_ERR77(0,%1) 35 PPC405_ERR77(0,%1)
36" stwcx. %0,0,%1\n\ 36" stwcx. %0,0,%1\n\
37 bne- 1b" 37 bne- 1b"
38 ISYNC_ON_SMP 38 PPC_ACQUIRE_BARRIER
39 : "=&r" (t) 39 : "=&r" (t)
40 : "r" (&v->counter) 40 : "r" (&v->counter)
41 : "cc", "memory"); 41 : "cc", "memory");
@@ -48,7 +48,7 @@ static inline int __mutex_inc_return_unlock(atomic_t *v)
48 int t; 48 int t;
49 49
50 __asm__ __volatile__( 50 __asm__ __volatile__(
51 LWSYNC_ON_SMP 51 PPC_RELEASE_BARRIER
52"1: lwarx %0,0,%1 # mutex unlock\n\ 52"1: lwarx %0,0,%1 # mutex unlock\n\
53 addic %0,%0,1\n" 53 addic %0,%0,1\n"
54 PPC405_ERR77(0,%1) 54 PPC405_ERR77(0,%1)
diff --git a/arch/powerpc/include/asm/of_device.h b/arch/powerpc/include/asm/of_device.h
index a64debf177dc..444e97e2982e 100644
--- a/arch/powerpc/include/asm/of_device.h
+++ b/arch/powerpc/include/asm/of_device.h
@@ -12,9 +12,8 @@
12 */ 12 */
13struct of_device 13struct of_device
14{ 14{
15 struct device_node *node; /* to be obsoleted */
16 u64 dma_mask; /* DMA mask */
17 struct device dev; /* Generic device interface */ 15 struct device dev; /* Generic device interface */
16 struct pdev_archdata archdata;
18}; 17};
19 18
20extern struct of_device *of_device_alloc(struct device_node *np, 19extern struct of_device *of_device_alloc(struct device_node *np,
diff --git a/arch/powerpc/include/asm/paca.h b/arch/powerpc/include/asm/paca.h
index 5e9b4ef71415..8ce7963ad41d 100644
--- a/arch/powerpc/include/asm/paca.h
+++ b/arch/powerpc/include/asm/paca.h
@@ -14,11 +14,17 @@
14#define _ASM_POWERPC_PACA_H 14#define _ASM_POWERPC_PACA_H
15#ifdef __KERNEL__ 15#ifdef __KERNEL__
16 16
17#ifdef CONFIG_PPC64
18
19#include <linux/init.h>
17#include <asm/types.h> 20#include <asm/types.h>
18#include <asm/lppaca.h> 21#include <asm/lppaca.h>
19#include <asm/mmu.h> 22#include <asm/mmu.h>
20#include <asm/page.h> 23#include <asm/page.h>
21#include <asm/exception-64e.h> 24#include <asm/exception-64e.h>
25#ifdef CONFIG_KVM_BOOK3S_64_HANDLER
26#include <asm/kvm_book3s_asm.h>
27#endif
22 28
23register struct paca_struct *local_paca asm("r13"); 29register struct paca_struct *local_paca asm("r13");
24 30
@@ -76,6 +82,7 @@ struct paca_struct {
76 s16 hw_cpu_id; /* Physical processor number */ 82 s16 hw_cpu_id; /* Physical processor number */
77 u8 cpu_start; /* At startup, processor spins until */ 83 u8 cpu_start; /* At startup, processor spins until */
78 /* this becomes non-zero. */ 84 /* this becomes non-zero. */
85 u8 kexec_state; /* set when kexec down has irqs off */
79#ifdef CONFIG_PPC_STD_MMU_64 86#ifdef CONFIG_PPC_STD_MMU_64
80 struct slb_shadow *slb_shadow_ptr; 87 struct slb_shadow *slb_shadow_ptr;
81 88
@@ -130,18 +137,25 @@ struct paca_struct {
130 u64 startpurr; /* PURR/TB value snapshot */ 137 u64 startpurr; /* PURR/TB value snapshot */
131 u64 startspurr; /* SPURR value snapshot */ 138 u64 startspurr; /* SPURR value snapshot */
132 139
133#ifdef CONFIG_KVM_BOOK3S_64_HANDLER 140#ifdef CONFIG_KVM_BOOK3S_HANDLER
134 struct { 141 /* We use this to store guest state in */
135 u64 esid; 142 struct kvmppc_book3s_shadow_vcpu shadow_vcpu;
136 u64 vsid;
137 } kvm_slb[64]; /* guest SLB */
138 u8 kvm_slb_max; /* highest used guest slb entry */
139 u8 kvm_in_guest; /* are we inside the guest? */
140#endif 143#endif
141}; 144};
142 145
143extern struct paca_struct paca[]; 146extern struct paca_struct *paca;
144extern void initialise_pacas(void); 147extern __initdata struct paca_struct boot_paca;
148extern void initialise_paca(struct paca_struct *new_paca, int cpu);
149
150extern void allocate_pacas(void);
151extern void free_unused_pacas(void);
152
153#else /* CONFIG_PPC64 */
154
155static inline void allocate_pacas(void) { };
156static inline void free_unused_pacas(void) { };
157
158#endif /* CONFIG_PPC64 */
145 159
146#endif /* __KERNEL__ */ 160#endif /* __KERNEL__ */
147#endif /* _ASM_POWERPC_PACA_H */ 161#endif /* _ASM_POWERPC_PACA_H */
diff --git a/arch/powerpc/include/asm/page.h b/arch/powerpc/include/asm/page.h
index e96d52a516ba..53b64be40eb2 100644
--- a/arch/powerpc/include/asm/page.h
+++ b/arch/powerpc/include/asm/page.h
@@ -108,8 +108,21 @@ extern phys_addr_t kernstart_addr;
108#define pfn_to_kaddr(pfn) __va((pfn) << PAGE_SHIFT) 108#define pfn_to_kaddr(pfn) __va((pfn) << PAGE_SHIFT)
109#define virt_addr_valid(kaddr) pfn_valid(__pa(kaddr) >> PAGE_SHIFT) 109#define virt_addr_valid(kaddr) pfn_valid(__pa(kaddr) >> PAGE_SHIFT)
110 110
111#define __va(x) ((void *)((unsigned long)(x) + PAGE_OFFSET - MEMORY_START)) 111/*
112 * On Book-E parts we need __va to parse the device tree and we can't
113 * determine MEMORY_START until then. However we can determine PHYSICAL_START
114 * from information at hand (program counter, TLB lookup).
115 *
116 * On non-Book-E PPC64 PAGE_OFFSET and MEMORY_START are constants so use
117 * the other definitions for __va & __pa.
118 */
119#ifdef CONFIG_BOOKE
120#define __va(x) ((void *)(unsigned long)((phys_addr_t)(x) - PHYSICAL_START + KERNELBASE))
121#define __pa(x) ((unsigned long)(x) + PHYSICAL_START - KERNELBASE)
122#else
123#define __va(x) ((void *)(unsigned long)((phys_addr_t)(x) + PAGE_OFFSET - MEMORY_START))
112#define __pa(x) ((unsigned long)(x) - PAGE_OFFSET + MEMORY_START) 124#define __pa(x) ((unsigned long)(x) - PAGE_OFFSET + MEMORY_START)
125#endif
113 126
114/* 127/*
115 * Unfortunately the PLT is in the BSS in the PPC32 ELF ABI, 128 * Unfortunately the PLT is in the BSS in the PPC32 ELF ABI,
diff --git a/arch/powerpc/include/asm/param.h b/arch/powerpc/include/asm/param.h
index 094f63d4d5ca..965d45427975 100644
--- a/arch/powerpc/include/asm/param.h
+++ b/arch/powerpc/include/asm/param.h
@@ -1,22 +1 @@
1#ifndef _ASM_POWERPC_PARAM_H #include <asm-generic/param.h>
2#define _ASM_POWERPC_PARAM_H
3
4#ifdef __KERNEL__
5#define HZ CONFIG_HZ /* internal kernel timer frequency */
6#define USER_HZ 100 /* for user interfaces in "ticks" */
7#define CLOCKS_PER_SEC (USER_HZ) /* frequency at which times() counts */
8#endif /* __KERNEL__ */
9
10#ifndef HZ
11#define HZ 100
12#endif
13
14#define EXEC_PAGESIZE 4096
15
16#ifndef NOGROUP
17#define NOGROUP (-1)
18#endif
19
20#define MAXHOSTNAMELEN 64 /* max length of hostname */
21
22#endif /* _ASM_POWERPC_PARAM_H */
diff --git a/arch/powerpc/include/asm/parport.h b/arch/powerpc/include/asm/parport.h
index 94942d60ddfd..1ca1102b4a2f 100644
--- a/arch/powerpc/include/asm/parport.h
+++ b/arch/powerpc/include/asm/parport.h
@@ -19,6 +19,8 @@ static int __devinit parport_pc_find_nonpci_ports (int autoirq, int autodma)
19 u32 io1, io2; 19 u32 io1, io2;
20 int propsize; 20 int propsize;
21 int count = 0; 21 int count = 0;
22 int virq;
23
22 for (np = NULL; (np = of_find_compatible_node(np, 24 for (np = NULL; (np = of_find_compatible_node(np,
23 "parallel", 25 "parallel",
24 "pnpPNP,400")) != NULL;) { 26 "pnpPNP,400")) != NULL;) {
@@ -26,10 +28,13 @@ static int __devinit parport_pc_find_nonpci_ports (int autoirq, int autodma)
26 if (!prop || propsize > 6*sizeof(u32)) 28 if (!prop || propsize > 6*sizeof(u32))
27 continue; 29 continue;
28 io1 = prop[1]; io2 = prop[2]; 30 io1 = prop[1]; io2 = prop[2];
29 prop = of_get_property(np, "interrupts", NULL); 31
30 if (!prop) 32 virq = irq_of_parse_and_map(np, 0);
33 if (virq == NO_IRQ)
31 continue; 34 continue;
32 if (parport_pc_probe_port(io1, io2, prop[0], autodma, NULL, 0) != NULL) 35
36 if (parport_pc_probe_port(io1, io2, virq, autodma, NULL, 0)
37 != NULL)
33 count++; 38 count++;
34 } 39 }
35 return count; 40 return count;
diff --git a/arch/powerpc/include/asm/pci.h b/arch/powerpc/include/asm/pci.h
index b5ea626eea2d..a20a9ad2258b 100644
--- a/arch/powerpc/include/asm/pci.h
+++ b/arch/powerpc/include/asm/pci.h
@@ -141,38 +141,6 @@ extern int pci_mmap_legacy_page_range(struct pci_bus *bus,
141 141
142#define HAVE_PCI_LEGACY 1 142#define HAVE_PCI_LEGACY 1
143 143
144#if defined(CONFIG_PPC64) || defined(CONFIG_NOT_COHERENT_CACHE)
145/*
146 * For 64-bit kernels, pci_unmap_{single,page} is not a nop.
147 * For 32-bit non-coherent kernels, pci_dma_sync_single_for_cpu() and
148 * so on are not nops.
149 * and thus...
150 */
151#define DECLARE_PCI_UNMAP_ADDR(ADDR_NAME) \
152 dma_addr_t ADDR_NAME;
153#define DECLARE_PCI_UNMAP_LEN(LEN_NAME) \
154 __u32 LEN_NAME;
155#define pci_unmap_addr(PTR, ADDR_NAME) \
156 ((PTR)->ADDR_NAME)
157#define pci_unmap_addr_set(PTR, ADDR_NAME, VAL) \
158 (((PTR)->ADDR_NAME) = (VAL))
159#define pci_unmap_len(PTR, LEN_NAME) \
160 ((PTR)->LEN_NAME)
161#define pci_unmap_len_set(PTR, LEN_NAME, VAL) \
162 (((PTR)->LEN_NAME) = (VAL))
163
164#else /* 32-bit && coherent */
165
166/* pci_unmap_{page,single} is a nop so... */
167#define DECLARE_PCI_UNMAP_ADDR(ADDR_NAME)
168#define DECLARE_PCI_UNMAP_LEN(LEN_NAME)
169#define pci_unmap_addr(PTR, ADDR_NAME) (0)
170#define pci_unmap_addr_set(PTR, ADDR_NAME, VAL) do { } while (0)
171#define pci_unmap_len(PTR, LEN_NAME) (0)
172#define pci_unmap_len_set(PTR, LEN_NAME, VAL) do { } while (0)
173
174#endif /* CONFIG_PPC64 || CONFIG_NOT_COHERENT_CACHE */
175
176#ifdef CONFIG_PPC64 144#ifdef CONFIG_PPC64
177 145
178/* The PCI address space does not equal the physical memory address 146/* The PCI address space does not equal the physical memory address
diff --git a/arch/powerpc/include/asm/perf_event.h b/arch/powerpc/include/asm/perf_event.h
index 3288ce3997e0..e6d4ce69b126 100644
--- a/arch/powerpc/include/asm/perf_event.h
+++ b/arch/powerpc/include/asm/perf_event.h
@@ -1,110 +1,23 @@
1/* 1/*
2 * Performance event support - PowerPC-specific definitions. 2 * Performance event support - hardware-specific disambiguation
3 * 3 *
4 * Copyright 2008-2009 Paul Mackerras, IBM Corporation. 4 * For now this is a compile-time decision, but eventually it should be
5 * runtime. This would allow multiplatform perf event support for e300 (fsl
6 * embedded perf counters) plus server/classic, and would accommodate
7 * devices other than the core which provide their own performance counters.
8 *
9 * Copyright 2010 Freescale Semiconductor, Inc.
5 * 10 *
6 * This program is free software; you can redistribute it and/or 11 * This program is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU General Public License 12 * modify it under the terms of the GNU General Public License
8 * as published by the Free Software Foundation; either version 13 * as published by the Free Software Foundation; either version
9 * 2 of the License, or (at your option) any later version. 14 * 2 of the License, or (at your option) any later version.
10 */ 15 */
11#include <linux/types.h>
12
13#include <asm/hw_irq.h>
14
15#define MAX_HWEVENTS 8
16#define MAX_EVENT_ALTERNATIVES 8
17#define MAX_LIMITED_HWCOUNTERS 2
18
19/*
20 * This struct provides the constants and functions needed to
21 * describe the PMU on a particular POWER-family CPU.
22 */
23struct power_pmu {
24 const char *name;
25 int n_counter;
26 int max_alternatives;
27 unsigned long add_fields;
28 unsigned long test_adder;
29 int (*compute_mmcr)(u64 events[], int n_ev,
30 unsigned int hwc[], unsigned long mmcr[]);
31 int (*get_constraint)(u64 event_id, unsigned long *mskp,
32 unsigned long *valp);
33 int (*get_alternatives)(u64 event_id, unsigned int flags,
34 u64 alt[]);
35 void (*disable_pmc)(unsigned int pmc, unsigned long mmcr[]);
36 int (*limited_pmc_event)(u64 event_id);
37 u32 flags;
38 int n_generic;
39 int *generic_events;
40 int (*cache_events)[PERF_COUNT_HW_CACHE_MAX]
41 [PERF_COUNT_HW_CACHE_OP_MAX]
42 [PERF_COUNT_HW_CACHE_RESULT_MAX];
43};
44
45/*
46 * Values for power_pmu.flags
47 */
48#define PPMU_LIMITED_PMC5_6 1 /* PMC5/6 have limited function */
49#define PPMU_ALT_SIPR 2 /* uses alternate posn for SIPR/HV */
50
51/*
52 * Values for flags to get_alternatives()
53 */
54#define PPMU_LIMITED_PMC_OK 1 /* can put this on a limited PMC */
55#define PPMU_LIMITED_PMC_REQD 2 /* have to put this on a limited PMC */
56#define PPMU_ONLY_COUNT_RUN 4 /* only counting in run state */
57
58extern int register_power_pmu(struct power_pmu *);
59 16
60struct pt_regs;
61extern unsigned long perf_misc_flags(struct pt_regs *regs);
62extern unsigned long perf_instruction_pointer(struct pt_regs *regs);
63
64#define PERF_EVENT_INDEX_OFFSET 1
65
66/*
67 * Only override the default definitions in include/linux/perf_event.h
68 * if we have hardware PMU support.
69 */
70#ifdef CONFIG_PPC_PERF_CTRS 17#ifdef CONFIG_PPC_PERF_CTRS
71#define perf_misc_flags(regs) perf_misc_flags(regs) 18#include <asm/perf_event_server.h>
72#endif 19#endif
73 20
74/* 21#ifdef CONFIG_FSL_EMB_PERF_EVENT
75 * The power_pmu.get_constraint function returns a 32/64-bit value and 22#include <asm/perf_event_fsl_emb.h>
76 * a 32/64-bit mask that express the constraints between this event_id and 23#endif
77 * other events.
78 *
79 * The value and mask are divided up into (non-overlapping) bitfields
80 * of three different types:
81 *
82 * Select field: this expresses the constraint that some set of bits
83 * in MMCR* needs to be set to a specific value for this event_id. For a
84 * select field, the mask contains 1s in every bit of the field, and
85 * the value contains a unique value for each possible setting of the
86 * MMCR* bits. The constraint checking code will ensure that two events
87 * that set the same field in their masks have the same value in their
88 * value dwords.
89 *
90 * Add field: this expresses the constraint that there can be at most
91 * N events in a particular class. A field of k bits can be used for
92 * N <= 2^(k-1) - 1. The mask has the most significant bit of the field
93 * set (and the other bits 0), and the value has only the least significant
94 * bit of the field set. In addition, the 'add_fields' and 'test_adder'
95 * in the struct power_pmu for this processor come into play. The
96 * add_fields value contains 1 in the LSB of the field, and the
97 * test_adder contains 2^(k-1) - 1 - N in the field.
98 *
99 * NAND field: this expresses the constraint that you may not have events
100 * in all of a set of classes. (For example, on PPC970, you can't select
101 * events from the FPU, ISU and IDU simultaneously, although any two are
102 * possible.) For N classes, the field is N+1 bits wide, and each class
103 * is assigned one bit from the least-significant N bits. The mask has
104 * only the most-significant bit set, and the value has only the bit
105 * for the event_id's class set. The test_adder has the least significant
106 * bit set in the field.
107 *
108 * If an event_id is not subject to the constraint expressed by a particular
109 * field, then it will have 0 in both the mask and value for that field.
110 */
diff --git a/arch/powerpc/include/asm/perf_event_fsl_emb.h b/arch/powerpc/include/asm/perf_event_fsl_emb.h
new file mode 100644
index 000000000000..718a9fa94e68
--- /dev/null
+++ b/arch/powerpc/include/asm/perf_event_fsl_emb.h
@@ -0,0 +1,50 @@
1/*
2 * Performance event support - Freescale embedded specific definitions.
3 *
4 * Copyright 2008-2009 Paul Mackerras, IBM Corporation.
5 * Copyright 2010 Freescale Semiconductor, Inc.
6 *
7 * This program is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License
9 * as published by the Free Software Foundation; either version
10 * 2 of the License, or (at your option) any later version.
11 */
12
13#include <linux/types.h>
14#include <asm/hw_irq.h>
15
16#define MAX_HWEVENTS 4
17
18/* event flags */
19#define FSL_EMB_EVENT_VALID 1
20#define FSL_EMB_EVENT_RESTRICTED 2
21
22/* upper half of event flags is PMLCb */
23#define FSL_EMB_EVENT_THRESHMUL 0x0000070000000000ULL
24#define FSL_EMB_EVENT_THRESH 0x0000003f00000000ULL
25
26struct fsl_emb_pmu {
27 const char *name;
28 int n_counter; /* total number of counters */
29
30 /*
31 * The number of contiguous counters starting at zero that
32 * can hold restricted events, or zero if there are no
33 * restricted events.
34 *
35 * This isn't a very flexible method of expressing constraints,
36 * but it's very simple and is adequate for existing chips.
37 */
38 int n_restricted;
39
40 /* Returns event flags and PMLCb (FSL_EMB_EVENT_*) */
41 u64 (*xlate_event)(u64 event_id);
42
43 int n_generic;
44 int *generic_events;
45 int (*cache_events)[PERF_COUNT_HW_CACHE_MAX]
46 [PERF_COUNT_HW_CACHE_OP_MAX]
47 [PERF_COUNT_HW_CACHE_RESULT_MAX];
48};
49
50int register_fsl_emb_pmu(struct fsl_emb_pmu *);
diff --git a/arch/powerpc/include/asm/perf_event_server.h b/arch/powerpc/include/asm/perf_event_server.h
new file mode 100644
index 000000000000..8f1df1208d23
--- /dev/null
+++ b/arch/powerpc/include/asm/perf_event_server.h
@@ -0,0 +1,110 @@
1/*
2 * Performance event support - PowerPC classic/server specific definitions.
3 *
4 * Copyright 2008-2009 Paul Mackerras, IBM Corporation.
5 *
6 * This program is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU General Public License
8 * as published by the Free Software Foundation; either version
9 * 2 of the License, or (at your option) any later version.
10 */
11
12#include <linux/types.h>
13#include <asm/hw_irq.h>
14
15#define MAX_HWEVENTS 8
16#define MAX_EVENT_ALTERNATIVES 8
17#define MAX_LIMITED_HWCOUNTERS 2
18
19/*
20 * This struct provides the constants and functions needed to
21 * describe the PMU on a particular POWER-family CPU.
22 */
23struct power_pmu {
24 const char *name;
25 int n_counter;
26 int max_alternatives;
27 unsigned long add_fields;
28 unsigned long test_adder;
29 int (*compute_mmcr)(u64 events[], int n_ev,
30 unsigned int hwc[], unsigned long mmcr[]);
31 int (*get_constraint)(u64 event_id, unsigned long *mskp,
32 unsigned long *valp);
33 int (*get_alternatives)(u64 event_id, unsigned int flags,
34 u64 alt[]);
35 void (*disable_pmc)(unsigned int pmc, unsigned long mmcr[]);
36 int (*limited_pmc_event)(u64 event_id);
37 u32 flags;
38 int n_generic;
39 int *generic_events;
40 int (*cache_events)[PERF_COUNT_HW_CACHE_MAX]
41 [PERF_COUNT_HW_CACHE_OP_MAX]
42 [PERF_COUNT_HW_CACHE_RESULT_MAX];
43};
44
45/*
46 * Values for power_pmu.flags
47 */
48#define PPMU_LIMITED_PMC5_6 1 /* PMC5/6 have limited function */
49#define PPMU_ALT_SIPR 2 /* uses alternate posn for SIPR/HV */
50
51/*
52 * Values for flags to get_alternatives()
53 */
54#define PPMU_LIMITED_PMC_OK 1 /* can put this on a limited PMC */
55#define PPMU_LIMITED_PMC_REQD 2 /* have to put this on a limited PMC */
56#define PPMU_ONLY_COUNT_RUN 4 /* only counting in run state */
57
58extern int register_power_pmu(struct power_pmu *);
59
60struct pt_regs;
61extern unsigned long perf_misc_flags(struct pt_regs *regs);
62extern unsigned long perf_instruction_pointer(struct pt_regs *regs);
63
64#define PERF_EVENT_INDEX_OFFSET 1
65
66/*
67 * Only override the default definitions in include/linux/perf_event.h
68 * if we have hardware PMU support.
69 */
70#ifdef CONFIG_PPC_PERF_CTRS
71#define perf_misc_flags(regs) perf_misc_flags(regs)
72#endif
73
74/*
75 * The power_pmu.get_constraint function returns a 32/64-bit value and
76 * a 32/64-bit mask that express the constraints between this event_id and
77 * other events.
78 *
79 * The value and mask are divided up into (non-overlapping) bitfields
80 * of three different types:
81 *
82 * Select field: this expresses the constraint that some set of bits
83 * in MMCR* needs to be set to a specific value for this event_id. For a
84 * select field, the mask contains 1s in every bit of the field, and
85 * the value contains a unique value for each possible setting of the
86 * MMCR* bits. The constraint checking code will ensure that two events
87 * that set the same field in their masks have the same value in their
88 * value dwords.
89 *
90 * Add field: this expresses the constraint that there can be at most
91 * N events in a particular class. A field of k bits can be used for
92 * N <= 2^(k-1) - 1. The mask has the most significant bit of the field
93 * set (and the other bits 0), and the value has only the least significant
94 * bit of the field set. In addition, the 'add_fields' and 'test_adder'
95 * in the struct power_pmu for this processor come into play. The
96 * add_fields value contains 1 in the LSB of the field, and the
97 * test_adder contains 2^(k-1) - 1 - N in the field.
98 *
99 * NAND field: this expresses the constraint that you may not have events
100 * in all of a set of classes. (For example, on PPC970, you can't select
101 * events from the FPU, ISU and IDU simultaneously, although any two are
102 * possible.) For N classes, the field is N+1 bits wide, and each class
103 * is assigned one bit from the least-significant N bits. The mask has
104 * only the most-significant bit set, and the value has only the bit
105 * for the event_id's class set. The test_adder has the least significant
106 * bit set in the field.
107 *
108 * If an event_id is not subject to the constraint expressed by a particular
109 * field, then it will have 0 in both the mask and value for that field.
110 */
diff --git a/arch/powerpc/include/asm/pgalloc-64.h b/arch/powerpc/include/asm/pgalloc-64.h
index 605f5c5398d1..292725cec2e3 100644
--- a/arch/powerpc/include/asm/pgalloc-64.h
+++ b/arch/powerpc/include/asm/pgalloc-64.h
@@ -11,6 +11,12 @@
11#include <linux/cpumask.h> 11#include <linux/cpumask.h>
12#include <linux/percpu.h> 12#include <linux/percpu.h>
13 13
14struct vmemmap_backing {
15 struct vmemmap_backing *list;
16 unsigned long phys;
17 unsigned long virt_addr;
18};
19
14/* 20/*
15 * Functions that deal with pagetables that could be at any level of 21 * Functions that deal with pagetables that could be at any level of
16 * the table need to be passed an "index_size" so they know how to 22 * the table need to be passed an "index_size" so they know how to
diff --git a/arch/powerpc/include/asm/pgtable-ppc32.h b/arch/powerpc/include/asm/pgtable-ppc32.h
index 55646adfa843..a7db96f2b5c3 100644
--- a/arch/powerpc/include/asm/pgtable-ppc32.h
+++ b/arch/powerpc/include/asm/pgtable-ppc32.h
@@ -287,7 +287,7 @@ static inline void __ptep_set_access_flags(pte_t *ptep, pte_t entry)
287#define pmd_page_vaddr(pmd) \ 287#define pmd_page_vaddr(pmd) \
288 ((unsigned long) __va(pmd_val(pmd) & PAGE_MASK)) 288 ((unsigned long) __va(pmd_val(pmd) & PAGE_MASK))
289#define pmd_page(pmd) \ 289#define pmd_page(pmd) \
290 (mem_map + (pmd_val(pmd) >> PAGE_SHIFT)) 290 pfn_to_page(pmd_val(pmd) >> PAGE_SHIFT)
291#else 291#else
292#define pmd_page_vaddr(pmd) \ 292#define pmd_page_vaddr(pmd) \
293 ((unsigned long) (pmd_val(pmd) & PAGE_MASK)) 293 ((unsigned long) (pmd_val(pmd) & PAGE_MASK))
diff --git a/arch/powerpc/include/asm/pgtable.h b/arch/powerpc/include/asm/pgtable.h
index 21207e54825b..89f158731ce3 100644
--- a/arch/powerpc/include/asm/pgtable.h
+++ b/arch/powerpc/include/asm/pgtable.h
@@ -209,7 +209,7 @@ extern void paging_init(void);
209 * corresponding HPTE into the hash table ahead of time, instead of 209 * corresponding HPTE into the hash table ahead of time, instead of
210 * waiting for the inevitable extra hash-table miss exception. 210 * waiting for the inevitable extra hash-table miss exception.
211 */ 211 */
212extern void update_mmu_cache(struct vm_area_struct *, unsigned long, pte_t); 212extern void update_mmu_cache(struct vm_area_struct *, unsigned long, pte_t *);
213 213
214extern int gup_hugepd(hugepd_t *hugepd, unsigned pdshift, unsigned long addr, 214extern int gup_hugepd(hugepd_t *hugepd, unsigned pdshift, unsigned long addr,
215 unsigned long end, int write, struct page **pages, int *nr); 215 unsigned long end, int write, struct page **pages, int *nr);
diff --git a/arch/powerpc/include/asm/pmac_feature.h b/arch/powerpc/include/asm/pmac_feature.h
index 877c35a4356e..00eedc5a4e61 100644
--- a/arch/powerpc/include/asm/pmac_feature.h
+++ b/arch/powerpc/include/asm/pmac_feature.h
@@ -378,7 +378,7 @@ extern struct macio_chip* macio_find(struct device_node* child, int type);
378 * Those are exported by pmac feature for internal use by arch code 378 * Those are exported by pmac feature for internal use by arch code
379 * only like the platform function callbacks, do not use directly in drivers 379 * only like the platform function callbacks, do not use directly in drivers
380 */ 380 */
381extern spinlock_t feature_lock; 381extern raw_spinlock_t feature_lock;
382extern struct device_node *uninorth_node; 382extern struct device_node *uninorth_node;
383extern u32 __iomem *uninorth_base; 383extern u32 __iomem *uninorth_base;
384 384
diff --git a/arch/powerpc/include/asm/ppc-opcode.h b/arch/powerpc/include/asm/ppc-opcode.h
index ef9aa84cac5a..d553bbeb726c 100644
--- a/arch/powerpc/include/asm/ppc-opcode.h
+++ b/arch/powerpc/include/asm/ppc-opcode.h
@@ -22,8 +22,10 @@
22#define PPC_INST_DCBZL 0x7c2007ec 22#define PPC_INST_DCBZL 0x7c2007ec
23#define PPC_INST_ISEL 0x7c00001e 23#define PPC_INST_ISEL 0x7c00001e
24#define PPC_INST_ISEL_MASK 0xfc00003e 24#define PPC_INST_ISEL_MASK 0xfc00003e
25#define PPC_INST_LDARX 0x7c0000a8
25#define PPC_INST_LSWI 0x7c0004aa 26#define PPC_INST_LSWI 0x7c0004aa
26#define PPC_INST_LSWX 0x7c00042a 27#define PPC_INST_LSWX 0x7c00042a
28#define PPC_INST_LWARX 0x7c000028
27#define PPC_INST_LWSYNC 0x7c2004ac 29#define PPC_INST_LWSYNC 0x7c2004ac
28#define PPC_INST_LXVD2X 0x7c000698 30#define PPC_INST_LXVD2X 0x7c000698
29#define PPC_INST_MCRXR 0x7c000400 31#define PPC_INST_MCRXR 0x7c000400
@@ -55,15 +57,31 @@
55#define __PPC_RA(a) (((a) & 0x1f) << 16) 57#define __PPC_RA(a) (((a) & 0x1f) << 16)
56#define __PPC_RB(b) (((b) & 0x1f) << 11) 58#define __PPC_RB(b) (((b) & 0x1f) << 11)
57#define __PPC_RS(s) (((s) & 0x1f) << 21) 59#define __PPC_RS(s) (((s) & 0x1f) << 21)
60#define __PPC_RT(s) __PPC_RS(s)
58#define __PPC_XS(s) ((((s) & 0x1f) << 21) | (((s) & 0x20) >> 5)) 61#define __PPC_XS(s) ((((s) & 0x1f) << 21) | (((s) & 0x20) >> 5))
59#define __PPC_T_TLB(t) (((t) & 0x3) << 21) 62#define __PPC_T_TLB(t) (((t) & 0x3) << 21)
60#define __PPC_WC(w) (((w) & 0x3) << 21) 63#define __PPC_WC(w) (((w) & 0x3) << 21)
64/*
65 * Only use the larx hint bit on 64bit CPUs. e500v1/v2 based CPUs will treat a
66 * larx with EH set as an illegal instruction.
67 */
68#ifdef CONFIG_PPC64
69#define __PPC_EH(eh) (((eh) & 0x1) << 0)
70#else
71#define __PPC_EH(eh) 0
72#endif
61 73
62/* Deal with instructions that older assemblers aren't aware of */ 74/* Deal with instructions that older assemblers aren't aware of */
63#define PPC_DCBAL(a, b) stringify_in_c(.long PPC_INST_DCBAL | \ 75#define PPC_DCBAL(a, b) stringify_in_c(.long PPC_INST_DCBAL | \
64 __PPC_RA(a) | __PPC_RB(b)) 76 __PPC_RA(a) | __PPC_RB(b))
65#define PPC_DCBZL(a, b) stringify_in_c(.long PPC_INST_DCBZL | \ 77#define PPC_DCBZL(a, b) stringify_in_c(.long PPC_INST_DCBZL | \
66 __PPC_RA(a) | __PPC_RB(b)) 78 __PPC_RA(a) | __PPC_RB(b))
79#define PPC_LDARX(t, a, b, eh) stringify_in_c(.long PPC_INST_LDARX | \
80 __PPC_RT(t) | __PPC_RA(a) | \
81 __PPC_RB(b) | __PPC_EH(eh))
82#define PPC_LWARX(t, a, b, eh) stringify_in_c(.long PPC_INST_LWARX | \
83 __PPC_RT(t) | __PPC_RA(a) | \
84 __PPC_RB(b) | __PPC_EH(eh))
67#define PPC_MSGSND(b) stringify_in_c(.long PPC_INST_MSGSND | \ 85#define PPC_MSGSND(b) stringify_in_c(.long PPC_INST_MSGSND | \
68 __PPC_RB(b)) 86 __PPC_RB(b))
69#define PPC_RFCI stringify_in_c(.long PPC_INST_RFCI) 87#define PPC_RFCI stringify_in_c(.long PPC_INST_RFCI)
diff --git a/arch/powerpc/include/asm/ppc-pci.h b/arch/powerpc/include/asm/ppc-pci.h
index 2828f9d0f66d..42fdff0e4b32 100644
--- a/arch/powerpc/include/asm/ppc-pci.h
+++ b/arch/powerpc/include/asm/ppc-pci.h
@@ -137,6 +137,11 @@ struct device_node * find_device_pe(struct device_node *dn);
137void eeh_sysfs_add_device(struct pci_dev *pdev); 137void eeh_sysfs_add_device(struct pci_dev *pdev);
138void eeh_sysfs_remove_device(struct pci_dev *pdev); 138void eeh_sysfs_remove_device(struct pci_dev *pdev);
139 139
140static inline const char *eeh_pci_name(struct pci_dev *pdev)
141{
142 return pdev ? pci_name(pdev) : "<null>";
143}
144
140#endif /* CONFIG_EEH */ 145#endif /* CONFIG_EEH */
141 146
142#else /* CONFIG_PCI */ 147#else /* CONFIG_PCI */
diff --git a/arch/powerpc/include/asm/processor.h b/arch/powerpc/include/asm/processor.h
index 9eed29eee604..7492fe8ad6e4 100644
--- a/arch/powerpc/include/asm/processor.h
+++ b/arch/powerpc/include/asm/processor.h
@@ -161,9 +161,41 @@ struct thread_struct {
161#ifdef CONFIG_PPC32 161#ifdef CONFIG_PPC32
162 void *pgdir; /* root of page-table tree */ 162 void *pgdir; /* root of page-table tree */
163#endif 163#endif
164#if defined(CONFIG_4xx) || defined (CONFIG_BOOKE) 164#ifdef CONFIG_PPC_ADV_DEBUG_REGS
165 unsigned long dbcr0; /* debug control register values */ 165 /*
166 * The following help to manage the use of Debug Control Registers
167 * om the BookE platforms.
168 */
169 unsigned long dbcr0;
166 unsigned long dbcr1; 170 unsigned long dbcr1;
171#ifdef CONFIG_BOOKE
172 unsigned long dbcr2;
173#endif
174 /*
175 * The stored value of the DBSR register will be the value at the
176 * last debug interrupt. This register can only be read from the
177 * user (will never be written to) and has value while helping to
178 * describe the reason for the last debug trap. Torez
179 */
180 unsigned long dbsr;
181 /*
182 * The following will contain addresses used by debug applications
183 * to help trace and trap on particular address locations.
184 * The bits in the Debug Control Registers above help define which
185 * of the following registers will contain valid data and/or addresses.
186 */
187 unsigned long iac1;
188 unsigned long iac2;
189#if CONFIG_PPC_ADV_DEBUG_IACS > 2
190 unsigned long iac3;
191 unsigned long iac4;
192#endif
193 unsigned long dac1;
194 unsigned long dac2;
195#if CONFIG_PPC_ADV_DEBUG_DVCS > 0
196 unsigned long dvc1;
197 unsigned long dvc2;
198#endif
167#endif 199#endif
168 /* FP and VSX 0-31 register set */ 200 /* FP and VSX 0-31 register set */
169 double fpr[32][TS_FPRWIDTH]; 201 double fpr[32][TS_FPRWIDTH];
@@ -197,6 +229,9 @@ struct thread_struct {
197 unsigned long spefscr; /* SPE & eFP status */ 229 unsigned long spefscr; /* SPE & eFP status */
198 int used_spe; /* set if process has used spe */ 230 int used_spe; /* set if process has used spe */
199#endif /* CONFIG_SPE */ 231#endif /* CONFIG_SPE */
232#ifdef CONFIG_KVM_BOOK3S_32_HANDLER
233 void* kvm_shadow_vcpu; /* KVM internal data */
234#endif /* CONFIG_KVM_BOOK3S_32_HANDLER */
200}; 235};
201 236
202#define ARCH_MIN_TASKALIGN 16 237#define ARCH_MIN_TASKALIGN 16
diff --git a/arch/powerpc/include/asm/prom.h b/arch/powerpc/include/asm/prom.h
index 2ab9cbd98826..ddd408a93b5a 100644
--- a/arch/powerpc/include/asm/prom.h
+++ b/arch/powerpc/include/asm/prom.h
@@ -23,21 +23,8 @@
23#include <asm/irq.h> 23#include <asm/irq.h>
24#include <asm/atomic.h> 24#include <asm/atomic.h>
25 25
26#define OF_ROOT_NODE_ADDR_CELLS_DEFAULT 1
27#define OF_ROOT_NODE_SIZE_CELLS_DEFAULT 1
28
29#define of_compat_cmp(s1, s2, l) strcasecmp((s1), (s2))
30#define of_prop_cmp(s1, s2) strcmp((s1), (s2))
31#define of_node_cmp(s1, s2) strcasecmp((s1), (s2))
32
33extern struct device_node *of_chosen;
34
35#define HAVE_ARCH_DEVTREE_FIXUPS 26#define HAVE_ARCH_DEVTREE_FIXUPS
36 27
37/* For updating the device tree at runtime */
38extern void of_attach_node(struct device_node *);
39extern void of_detach_node(struct device_node *);
40
41#ifdef CONFIG_PPC32 28#ifdef CONFIG_PPC32
42/* 29/*
43 * PCI <-> OF matching functions 30 * PCI <-> OF matching functions
@@ -52,11 +39,6 @@ extern struct device_node* pci_device_to_OF_node(struct pci_dev *);
52extern void pci_create_OF_bus_map(void); 39extern void pci_create_OF_bus_map(void);
53#endif 40#endif
54 41
55extern struct resource *request_OF_resource(struct device_node* node,
56 int index, const char* name_postfix);
57extern int release_OF_resource(struct device_node* node, int index);
58
59
60/* 42/*
61 * OF address retreival & translation 43 * OF address retreival & translation
62 */ 44 */
diff --git a/arch/powerpc/include/asm/ptrace.h b/arch/powerpc/include/asm/ptrace.h
index cbd759e3cd78..0175a676b34b 100644
--- a/arch/powerpc/include/asm/ptrace.h
+++ b/arch/powerpc/include/asm/ptrace.h
@@ -24,6 +24,8 @@
24 * 2 of the License, or (at your option) any later version. 24 * 2 of the License, or (at your option) any later version.
25 */ 25 */
26 26
27#include <linux/types.h>
28
27#ifndef __ASSEMBLY__ 29#ifndef __ASSEMBLY__
28 30
29struct pt_regs { 31struct pt_regs {
@@ -83,6 +85,7 @@ struct pt_regs {
83 85
84#define instruction_pointer(regs) ((regs)->nip) 86#define instruction_pointer(regs) ((regs)->nip)
85#define user_stack_pointer(regs) ((regs)->gpr[1]) 87#define user_stack_pointer(regs) ((regs)->gpr[1])
88#define kernel_stack_pointer(regs) ((regs)->gpr[1])
86#define regs_return_value(regs) ((regs)->gpr[3]) 89#define regs_return_value(regs) ((regs)->gpr[3])
87 90
88#ifdef CONFIG_SMP 91#ifdef CONFIG_SMP
@@ -131,17 +134,73 @@ do { \
131} while (0) 134} while (0)
132#endif /* __powerpc64__ */ 135#endif /* __powerpc64__ */
133 136
134/*
135 * These are defined as per linux/ptrace.h, which see.
136 */
137#define arch_has_single_step() (1) 137#define arch_has_single_step() (1)
138#define arch_has_block_step() (!cpu_has_feature(CPU_FTR_601)) 138#define arch_has_block_step() (!cpu_has_feature(CPU_FTR_601))
139extern void user_enable_single_step(struct task_struct *);
140extern void user_enable_block_step(struct task_struct *);
141extern void user_disable_single_step(struct task_struct *);
142
143#define ARCH_HAS_USER_SINGLE_STEP_INFO 139#define ARCH_HAS_USER_SINGLE_STEP_INFO
144 140
141/*
142 * kprobe-based event tracer support
143 */
144
145#include <linux/stddef.h>
146#include <linux/thread_info.h>
147extern int regs_query_register_offset(const char *name);
148extern const char *regs_query_register_name(unsigned int offset);
149#define MAX_REG_OFFSET (offsetof(struct pt_regs, dsisr))
150
151/**
152 * regs_get_register() - get register value from its offset
153 * @regs: pt_regs from which register value is gotten
154 * @offset: offset number of the register.
155 *
156 * regs_get_register returns the value of a register whose offset from @regs.
157 * The @offset is the offset of the register in struct pt_regs.
158 * If @offset is bigger than MAX_REG_OFFSET, this returns 0.
159 */
160static inline unsigned long regs_get_register(struct pt_regs *regs,
161 unsigned int offset)
162{
163 if (unlikely(offset > MAX_REG_OFFSET))
164 return 0;
165 return *(unsigned long *)((unsigned long)regs + offset);
166}
167
168/**
169 * regs_within_kernel_stack() - check the address in the stack
170 * @regs: pt_regs which contains kernel stack pointer.
171 * @addr: address which is checked.
172 *
173 * regs_within_kernel_stack() checks @addr is within the kernel stack page(s).
174 * If @addr is within the kernel stack, it returns true. If not, returns false.
175 */
176
177static inline bool regs_within_kernel_stack(struct pt_regs *regs,
178 unsigned long addr)
179{
180 return ((addr & ~(THREAD_SIZE - 1)) ==
181 (kernel_stack_pointer(regs) & ~(THREAD_SIZE - 1)));
182}
183
184/**
185 * regs_get_kernel_stack_nth() - get Nth entry of the stack
186 * @regs: pt_regs which contains kernel stack pointer.
187 * @n: stack entry number.
188 *
189 * regs_get_kernel_stack_nth() returns @n th entry of the kernel stack which
190 * is specified by @regs. If the @n th entry is NOT in the kernel stack,
191 * this returns 0.
192 */
193static inline unsigned long regs_get_kernel_stack_nth(struct pt_regs *regs,
194 unsigned int n)
195{
196 unsigned long *addr = (unsigned long *)kernel_stack_pointer(regs);
197 addr += n;
198 if (regs_within_kernel_stack(regs, (unsigned long)addr))
199 return *addr;
200 else
201 return 0;
202}
203
145#endif /* __ASSEMBLY__ */ 204#endif /* __ASSEMBLY__ */
146 205
147#endif /* __KERNEL__ */ 206#endif /* __KERNEL__ */
@@ -294,4 +353,75 @@ extern void user_disable_single_step(struct task_struct *);
294 353
295#define PTRACE_SINGLEBLOCK 0x100 /* resume execution until next branch */ 354#define PTRACE_SINGLEBLOCK 0x100 /* resume execution until next branch */
296 355
356#define PPC_PTRACE_GETHWDBGINFO 0x89
357#define PPC_PTRACE_SETHWDEBUG 0x88
358#define PPC_PTRACE_DELHWDEBUG 0x87
359
360#ifndef __ASSEMBLY__
361
362struct ppc_debug_info {
363 __u32 version; /* Only version 1 exists to date */
364 __u32 num_instruction_bps;
365 __u32 num_data_bps;
366 __u32 num_condition_regs;
367 __u32 data_bp_alignment;
368 __u32 sizeof_condition; /* size of the DVC register */
369 __u64 features;
370};
371
372#endif /* __ASSEMBLY__ */
373
374/*
375 * features will have bits indication whether there is support for:
376 */
377#define PPC_DEBUG_FEATURE_INSN_BP_RANGE 0x0000000000000001
378#define PPC_DEBUG_FEATURE_INSN_BP_MASK 0x0000000000000002
379#define PPC_DEBUG_FEATURE_DATA_BP_RANGE 0x0000000000000004
380#define PPC_DEBUG_FEATURE_DATA_BP_MASK 0x0000000000000008
381
382#ifndef __ASSEMBLY__
383
384struct ppc_hw_breakpoint {
385 __u32 version; /* currently, version must be 1 */
386 __u32 trigger_type; /* only some combinations allowed */
387 __u32 addr_mode; /* address match mode */
388 __u32 condition_mode; /* break/watchpoint condition flags */
389 __u64 addr; /* break/watchpoint address */
390 __u64 addr2; /* range end or mask */
391 __u64 condition_value; /* contents of the DVC register */
392};
393
394#endif /* __ASSEMBLY__ */
395
396/*
397 * Trigger Type
398 */
399#define PPC_BREAKPOINT_TRIGGER_EXECUTE 0x00000001
400#define PPC_BREAKPOINT_TRIGGER_READ 0x00000002
401#define PPC_BREAKPOINT_TRIGGER_WRITE 0x00000004
402#define PPC_BREAKPOINT_TRIGGER_RW \
403 (PPC_BREAKPOINT_TRIGGER_READ | PPC_BREAKPOINT_TRIGGER_WRITE)
404
405/*
406 * Address Mode
407 */
408#define PPC_BREAKPOINT_MODE_EXACT 0x00000000
409#define PPC_BREAKPOINT_MODE_RANGE_INCLUSIVE 0x00000001
410#define PPC_BREAKPOINT_MODE_RANGE_EXCLUSIVE 0x00000002
411#define PPC_BREAKPOINT_MODE_MASK 0x00000003
412
413/*
414 * Condition Mode
415 */
416#define PPC_BREAKPOINT_CONDITION_MODE 0x00000003
417#define PPC_BREAKPOINT_CONDITION_NONE 0x00000000
418#define PPC_BREAKPOINT_CONDITION_AND 0x00000001
419#define PPC_BREAKPOINT_CONDITION_EXACT PPC_BREAKPOINT_CONDITION_AND
420#define PPC_BREAKPOINT_CONDITION_OR 0x00000002
421#define PPC_BREAKPOINT_CONDITION_AND_OR 0x00000003
422#define PPC_BREAKPOINT_CONDITION_BE_ALL 0x00ff0000
423#define PPC_BREAKPOINT_CONDITION_BE_SHIFT 16
424#define PPC_BREAKPOINT_CONDITION_BE(n) \
425 (1<<((n)+PPC_BREAKPOINT_CONDITION_BE_SHIFT))
426
297#endif /* _ASM_POWERPC_PTRACE_H */ 427#endif /* _ASM_POWERPC_PTRACE_H */
diff --git a/arch/powerpc/include/asm/reg.h b/arch/powerpc/include/asm/reg.h
index bc8dd53f718a..d62fdf4e504b 100644
--- a/arch/powerpc/include/asm/reg.h
+++ b/arch/powerpc/include/asm/reg.h
@@ -293,10 +293,12 @@
293#define HID1_ABE (1<<10) /* 7450 Address Broadcast Enable */ 293#define HID1_ABE (1<<10) /* 7450 Address Broadcast Enable */
294#define HID1_PS (1<<16) /* 750FX PLL selection */ 294#define HID1_PS (1<<16) /* 750FX PLL selection */
295#define SPRN_HID2 0x3F8 /* Hardware Implementation Register 2 */ 295#define SPRN_HID2 0x3F8 /* Hardware Implementation Register 2 */
296#define SPRN_HID2_GEKKO 0x398 /* Gekko HID2 Register */
296#define SPRN_IABR 0x3F2 /* Instruction Address Breakpoint Register */ 297#define SPRN_IABR 0x3F2 /* Instruction Address Breakpoint Register */
297#define SPRN_IABR2 0x3FA /* 83xx */ 298#define SPRN_IABR2 0x3FA /* 83xx */
298#define SPRN_IBCR 0x135 /* 83xx Insn Breakpoint Control Reg */ 299#define SPRN_IBCR 0x135 /* 83xx Insn Breakpoint Control Reg */
299#define SPRN_HID4 0x3F4 /* 970 HID4 */ 300#define SPRN_HID4 0x3F4 /* 970 HID4 */
301#define SPRN_HID4_GEKKO 0x3F3 /* Gekko HID4 */
300#define SPRN_HID5 0x3F6 /* 970 HID5 */ 302#define SPRN_HID5 0x3F6 /* 970 HID5 */
301#define SPRN_HID6 0x3F9 /* BE HID 6 */ 303#define SPRN_HID6 0x3F9 /* BE HID 6 */
302#define HID6_LB (0x0F<<12) /* Concurrent Large Page Modes */ 304#define HID6_LB (0x0F<<12) /* Concurrent Large Page Modes */
@@ -426,6 +428,10 @@
426#define SRR1_WAKEMT 0x00280000 /* mtctrl */ 428#define SRR1_WAKEMT 0x00280000 /* mtctrl */
427#define SRR1_WAKEDEC 0x00180000 /* Decrementer interrupt */ 429#define SRR1_WAKEDEC 0x00180000 /* Decrementer interrupt */
428#define SRR1_WAKETHERM 0x00100000 /* Thermal management interrupt */ 430#define SRR1_WAKETHERM 0x00100000 /* Thermal management interrupt */
431#define SRR1_PROGFPE 0x00100000 /* Floating Point Enabled */
432#define SRR1_PROGPRIV 0x00040000 /* Privileged instruction */
433#define SRR1_PROGTRAP 0x00020000 /* Trap */
434#define SRR1_PROGADDR 0x00010000 /* SRR0 contains subsequent addr */
429#define SPRN_HSRR0 0x13A /* Save/Restore Register 0 */ 435#define SPRN_HSRR0 0x13A /* Save/Restore Register 0 */
430#define SPRN_HSRR1 0x13B /* Save/Restore Register 1 */ 436#define SPRN_HSRR1 0x13B /* Save/Restore Register 1 */
431 437
@@ -461,6 +467,14 @@
461#define SPRN_VRSAVE 0x100 /* Vector Register Save Register */ 467#define SPRN_VRSAVE 0x100 /* Vector Register Save Register */
462#define SPRN_XER 0x001 /* Fixed Point Exception Register */ 468#define SPRN_XER 0x001 /* Fixed Point Exception Register */
463 469
470#define SPRN_MMCR0_GEKKO 0x3B8 /* Gekko Monitor Mode Control Register 0 */
471#define SPRN_MMCR1_GEKKO 0x3BC /* Gekko Monitor Mode Control Register 1 */
472#define SPRN_PMC1_GEKKO 0x3B9 /* Gekko Performance Monitor Control 1 */
473#define SPRN_PMC2_GEKKO 0x3BA /* Gekko Performance Monitor Control 2 */
474#define SPRN_PMC3_GEKKO 0x3BD /* Gekko Performance Monitor Control 3 */
475#define SPRN_PMC4_GEKKO 0x3BE /* Gekko Performance Monitor Control 4 */
476#define SPRN_WPAR_GEKKO 0x399 /* Gekko Write Pipe Address Register */
477
464#define SPRN_SCOMC 0x114 /* SCOM Access Control */ 478#define SPRN_SCOMC 0x114 /* SCOM Access Control */
465#define SPRN_SCOMD 0x115 /* SCOM Access DATA */ 479#define SPRN_SCOMD 0x115 /* SCOM Access DATA */
466 480
@@ -813,6 +827,7 @@
813#define PVR_403GC 0x00200200 827#define PVR_403GC 0x00200200
814#define PVR_403GCX 0x00201400 828#define PVR_403GCX 0x00201400
815#define PVR_405GP 0x40110000 829#define PVR_405GP 0x40110000
830#define PVR_476 0x11a52000
816#define PVR_STB03XXX 0x40310000 831#define PVR_STB03XXX 0x40310000
817#define PVR_NP405H 0x41410000 832#define PVR_NP405H 0x41410000
818#define PVR_NP405L 0x41610000 833#define PVR_NP405L 0x41610000
@@ -849,6 +864,9 @@
849#define PVR_8245 0x80811014 864#define PVR_8245 0x80811014
850#define PVR_8260 PVR_8240 865#define PVR_8260 PVR_8240
851 866
867/* 476 Simulator seems to currently have the PVR of the 602... */
868#define PVR_476_ISS 0x00052000
869
852/* 64-bit processors */ 870/* 64-bit processors */
853/* XXX the prefix should be PVR_, we'll do a global sweep to fix it one day */ 871/* XXX the prefix should be PVR_, we'll do a global sweep to fix it one day */
854#define PV_NORTHSTAR 0x0033 872#define PV_NORTHSTAR 0x0033
diff --git a/arch/powerpc/include/asm/reg_booke.h b/arch/powerpc/include/asm/reg_booke.h
index 3bf783505528..2360317179a9 100644
--- a/arch/powerpc/include/asm/reg_booke.h
+++ b/arch/powerpc/include/asm/reg_booke.h
@@ -4,6 +4,12 @@
4 * are not true Book E PowerPCs, they borrowed a number of features 4 * are not true Book E PowerPCs, they borrowed a number of features
5 * before Book E was finalized, and are included here as well. Unfortunatly, 5 * before Book E was finalized, and are included here as well. Unfortunatly,
6 * they sometimes used different locations than true Book E CPUs did. 6 * they sometimes used different locations than true Book E CPUs did.
7 *
8 * This program is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU General Public License version 2
10 * as published by the Free Software Foundation.
11 *
12 * Copyright 2009-2010 Freescale Semiconductor, Inc.
7 */ 13 */
8#ifdef __KERNEL__ 14#ifdef __KERNEL__
9#ifndef __ASM_POWERPC_REG_BOOKE_H__ 15#ifndef __ASM_POWERPC_REG_BOOKE_H__
@@ -88,6 +94,7 @@
88#define SPRN_IVOR35 0x213 /* Interrupt Vector Offset Register 35 */ 94#define SPRN_IVOR35 0x213 /* Interrupt Vector Offset Register 35 */
89#define SPRN_IVOR36 0x214 /* Interrupt Vector Offset Register 36 */ 95#define SPRN_IVOR36 0x214 /* Interrupt Vector Offset Register 36 */
90#define SPRN_IVOR37 0x215 /* Interrupt Vector Offset Register 37 */ 96#define SPRN_IVOR37 0x215 /* Interrupt Vector Offset Register 37 */
97#define SPRN_MCARU 0x239 /* Machine Check Address Register Upper */
91#define SPRN_MCSRR0 0x23A /* Machine Check Save and Restore Register 0 */ 98#define SPRN_MCSRR0 0x23A /* Machine Check Save and Restore Register 0 */
92#define SPRN_MCSRR1 0x23B /* Machine Check Save and Restore Register 1 */ 99#define SPRN_MCSRR1 0x23B /* Machine Check Save and Restore Register 1 */
93#define SPRN_MCSR 0x23C /* Machine Check Status Register */ 100#define SPRN_MCSR 0x23C /* Machine Check Status Register */
@@ -191,9 +198,16 @@
191#define MCSR_DCFP 0x01000000 /* D-Cache Flush Parity Error */ 198#define MCSR_DCFP 0x01000000 /* D-Cache Flush Parity Error */
192#define MCSR_IMPE 0x00800000 /* Imprecise Machine Check Exception */ 199#define MCSR_IMPE 0x00800000 /* Imprecise Machine Check Exception */
193 200
201#define PPC47x_MCSR_GPR 0x01000000 /* GPR parity error */
202#define PPC47x_MCSR_FPR 0x00800000 /* FPR parity error */
203#define PPC47x_MCSR_IPR 0x00400000 /* Imprecise Machine Check Exception */
204
194#ifdef CONFIG_E500 205#ifdef CONFIG_E500
206/* All e500 */
195#define MCSR_MCP 0x80000000UL /* Machine Check Input Pin */ 207#define MCSR_MCP 0x80000000UL /* Machine Check Input Pin */
196#define MCSR_ICPERR 0x40000000UL /* I-Cache Parity Error */ 208#define MCSR_ICPERR 0x40000000UL /* I-Cache Parity Error */
209
210/* e500v1/v2 */
197#define MCSR_DCP_PERR 0x20000000UL /* D-Cache Push Parity Error */ 211#define MCSR_DCP_PERR 0x20000000UL /* D-Cache Push Parity Error */
198#define MCSR_DCPERR 0x10000000UL /* D-Cache Parity Error */ 212#define MCSR_DCPERR 0x10000000UL /* D-Cache Parity Error */
199#define MCSR_BUS_IAERR 0x00000080UL /* Instruction Address Error */ 213#define MCSR_BUS_IAERR 0x00000080UL /* Instruction Address Error */
@@ -205,12 +219,20 @@
205#define MCSR_BUS_IPERR 0x00000002UL /* Instruction parity Error */ 219#define MCSR_BUS_IPERR 0x00000002UL /* Instruction parity Error */
206#define MCSR_BUS_RPERR 0x00000001UL /* Read parity Error */ 220#define MCSR_BUS_RPERR 0x00000001UL /* Read parity Error */
207 221
208/* e500 parts may set unused bits in MCSR; mask these off */ 222/* e500mc */
209#define MCSR_MASK (MCSR_MCP | MCSR_ICPERR | MCSR_DCP_PERR | \ 223#define MCSR_DCPERR_MC 0x20000000UL /* D-Cache Parity Error */
210 MCSR_DCPERR | MCSR_BUS_IAERR | MCSR_BUS_RAERR | \ 224#define MCSR_L2MMU_MHIT 0x04000000UL /* Hit on multiple TLB entries */
211 MCSR_BUS_WAERR | MCSR_BUS_IBERR | MCSR_BUS_RBERR | \ 225#define MCSR_NMI 0x00100000UL /* Non-Maskable Interrupt */
212 MCSR_BUS_WBERR | MCSR_BUS_IPERR | MCSR_BUS_RPERR) 226#define MCSR_MAV 0x00080000UL /* MCAR address valid */
227#define MCSR_MEA 0x00040000UL /* MCAR is effective address */
228#define MCSR_IF 0x00010000UL /* Instruction Fetch */
229#define MCSR_LD 0x00008000UL /* Load */
230#define MCSR_ST 0x00004000UL /* Store */
231#define MCSR_LDG 0x00002000UL /* Guarded Load */
232#define MCSR_TLBSYNC 0x00000002UL /* Multiple tlbsyncs detected */
233#define MCSR_BSL2_ERR 0x00000001UL /* Backside L2 cache error */
213#endif 234#endif
235
214#ifdef CONFIG_E200 236#ifdef CONFIG_E200
215#define MCSR_MCP 0x80000000UL /* Machine Check Input Pin */ 237#define MCSR_MCP 0x80000000UL /* Machine Check Input Pin */
216#define MCSR_CP_PERR 0x20000000UL /* Cache Push Parity Error */ 238#define MCSR_CP_PERR 0x20000000UL /* Cache Push Parity Error */
@@ -221,11 +243,6 @@
221#define MCSR_BUS_DRERR 0x00000008UL /* Read Bus Error on data load */ 243#define MCSR_BUS_DRERR 0x00000008UL /* Read Bus Error on data load */
222#define MCSR_BUS_WRERR 0x00000004UL /* Write Bus Error on buffered 244#define MCSR_BUS_WRERR 0x00000004UL /* Write Bus Error on buffered
223 store or cache line push */ 245 store or cache line push */
224
225/* e200 parts may set unused bits in MCSR; mask these off */
226#define MCSR_MASK (MCSR_MCP | MCSR_CP_PERR | MCSR_CPERR | \
227 MCSR_EXCP_ERR | MCSR_BUS_IRERR | MCSR_BUS_DRERR | \
228 MCSR_BUS_WRERR)
229#endif 246#endif
230 247
231/* Bit definitions for the DBSR. */ 248/* Bit definitions for the DBSR. */
@@ -248,6 +265,8 @@
248#define DBSR_RET 0x00008000 /* Return Debug Event */ 265#define DBSR_RET 0x00008000 /* Return Debug Event */
249#define DBSR_CIRPT 0x00000040 /* Critical Interrupt Taken Event */ 266#define DBSR_CIRPT 0x00000040 /* Critical Interrupt Taken Event */
250#define DBSR_CRET 0x00000020 /* Critical Return Debug Event */ 267#define DBSR_CRET 0x00000020 /* Critical Return Debug Event */
268#define DBSR_IAC12ATS 0x00000002 /* Instr Address Compare 1/2 Toggle */
269#define DBSR_IAC34ATS 0x00000001 /* Instr Address Compare 3/4 Toggle */
251#endif 270#endif
252#ifdef CONFIG_40x 271#ifdef CONFIG_40x
253#define DBSR_IC 0x80000000 /* Instruction Completion */ 272#define DBSR_IC 0x80000000 /* Instruction Completion */
@@ -313,6 +332,38 @@
313#define DBCR0_IA12T 0x00008000 /* Instr Addr 1-2 range Toggle */ 332#define DBCR0_IA12T 0x00008000 /* Instr Addr 1-2 range Toggle */
314#define DBCR0_IA34T 0x00004000 /* Instr Addr 3-4 range Toggle */ 333#define DBCR0_IA34T 0x00004000 /* Instr Addr 3-4 range Toggle */
315#define DBCR0_FT 0x00000001 /* Freeze Timers on debug event */ 334#define DBCR0_FT 0x00000001 /* Freeze Timers on debug event */
335
336#define dbcr_iac_range(task) ((task)->thread.dbcr0)
337#define DBCR_IAC12I DBCR0_IA12 /* Range Inclusive */
338#define DBCR_IAC12X (DBCR0_IA12 | DBCR0_IA12X) /* Range Exclusive */
339#define DBCR_IAC12MODE (DBCR0_IA12 | DBCR0_IA12X) /* IAC 1-2 Mode Bits */
340#define DBCR_IAC34I DBCR0_IA34 /* Range Inclusive */
341#define DBCR_IAC34X (DBCR0_IA34 | DBCR0_IA34X) /* Range Exclusive */
342#define DBCR_IAC34MODE (DBCR0_IA34 | DBCR0_IA34X) /* IAC 3-4 Mode Bits */
343
344/* Bit definitions related to the DBCR1. */
345#define DBCR1_DAC1R 0x80000000 /* DAC1 Read Debug Event */
346#define DBCR1_DAC2R 0x40000000 /* DAC2 Read Debug Event */
347#define DBCR1_DAC1W 0x20000000 /* DAC1 Write Debug Event */
348#define DBCR1_DAC2W 0x10000000 /* DAC2 Write Debug Event */
349
350#define dbcr_dac(task) ((task)->thread.dbcr1)
351#define DBCR_DAC1R DBCR1_DAC1R
352#define DBCR_DAC1W DBCR1_DAC1W
353#define DBCR_DAC2R DBCR1_DAC2R
354#define DBCR_DAC2W DBCR1_DAC2W
355
356/*
357 * Are there any active Debug Events represented in the
358 * Debug Control Registers?
359 */
360#define DBCR0_ACTIVE_EVENTS (DBCR0_ICMP | DBCR0_IAC1 | DBCR0_IAC2 | \
361 DBCR0_IAC3 | DBCR0_IAC4)
362#define DBCR1_ACTIVE_EVENTS (DBCR1_DAC1R | DBCR1_DAC2R | \
363 DBCR1_DAC1W | DBCR1_DAC2W)
364#define DBCR_ACTIVE_EVENTS(dbcr0, dbcr1) (((dbcr0) & DBCR0_ACTIVE_EVENTS) || \
365 ((dbcr1) & DBCR1_ACTIVE_EVENTS))
366
316#elif defined(CONFIG_BOOKE) 367#elif defined(CONFIG_BOOKE)
317#define DBCR0_EDM 0x80000000 /* External Debug Mode */ 368#define DBCR0_EDM 0x80000000 /* External Debug Mode */
318#define DBCR0_IDM 0x40000000 /* Internal Debug Mode */ 369#define DBCR0_IDM 0x40000000 /* Internal Debug Mode */
@@ -342,19 +393,79 @@
342#define DBCR0_CRET 0x00000020 /* Critical Return Debug Event */ 393#define DBCR0_CRET 0x00000020 /* Critical Return Debug Event */
343#define DBCR0_FT 0x00000001 /* Freeze Timers on debug event */ 394#define DBCR0_FT 0x00000001 /* Freeze Timers on debug event */
344 395
396#define dbcr_dac(task) ((task)->thread.dbcr0)
397#define DBCR_DAC1R DBCR0_DAC1R
398#define DBCR_DAC1W DBCR0_DAC1W
399#define DBCR_DAC2R DBCR0_DAC2R
400#define DBCR_DAC2W DBCR0_DAC2W
401
345/* Bit definitions related to the DBCR1. */ 402/* Bit definitions related to the DBCR1. */
403#define DBCR1_IAC1US 0xC0000000 /* Instr Addr Cmp 1 Sup/User */
404#define DBCR1_IAC1ER 0x30000000 /* Instr Addr Cmp 1 Eff/Real */
405#define DBCR1_IAC1ER_01 0x10000000 /* reserved */
406#define DBCR1_IAC1ER_10 0x20000000 /* Instr Addr Cmp 1 Eff/Real MSR[IS]=0 */
407#define DBCR1_IAC1ER_11 0x30000000 /* Instr Addr Cmp 1 Eff/Real MSR[IS]=1 */
408#define DBCR1_IAC2US 0x0C000000 /* Instr Addr Cmp 2 Sup/User */
409#define DBCR1_IAC2ER 0x03000000 /* Instr Addr Cmp 2 Eff/Real */
410#define DBCR1_IAC2ER_01 0x01000000 /* reserved */
411#define DBCR1_IAC2ER_10 0x02000000 /* Instr Addr Cmp 2 Eff/Real MSR[IS]=0 */
412#define DBCR1_IAC2ER_11 0x03000000 /* Instr Addr Cmp 2 Eff/Real MSR[IS]=1 */
346#define DBCR1_IAC12M 0x00800000 /* Instr Addr 1-2 range enable */ 413#define DBCR1_IAC12M 0x00800000 /* Instr Addr 1-2 range enable */
347#define DBCR1_IAC12MX 0x00C00000 /* Instr Addr 1-2 range eXclusive */ 414#define DBCR1_IAC12MX 0x00C00000 /* Instr Addr 1-2 range eXclusive */
348#define DBCR1_IAC12AT 0x00010000 /* Instr Addr 1-2 range Toggle */ 415#define DBCR1_IAC12AT 0x00010000 /* Instr Addr 1-2 range Toggle */
416#define DBCR1_IAC3US 0x0000C000 /* Instr Addr Cmp 3 Sup/User */
417#define DBCR1_IAC3ER 0x00003000 /* Instr Addr Cmp 3 Eff/Real */
418#define DBCR1_IAC3ER_01 0x00001000 /* reserved */
419#define DBCR1_IAC3ER_10 0x00002000 /* Instr Addr Cmp 3 Eff/Real MSR[IS]=0 */
420#define DBCR1_IAC3ER_11 0x00003000 /* Instr Addr Cmp 3 Eff/Real MSR[IS]=1 */
421#define DBCR1_IAC4US 0x00000C00 /* Instr Addr Cmp 4 Sup/User */
422#define DBCR1_IAC4ER 0x00000300 /* Instr Addr Cmp 4 Eff/Real */
423#define DBCR1_IAC4ER_01 0x00000100 /* Instr Addr Cmp 4 Eff/Real MSR[IS]=0 */
424#define DBCR1_IAC4ER_10 0x00000200 /* Instr Addr Cmp 4 Eff/Real MSR[IS]=0 */
425#define DBCR1_IAC4ER_11 0x00000300 /* Instr Addr Cmp 4 Eff/Real MSR[IS]=1 */
349#define DBCR1_IAC34M 0x00000080 /* Instr Addr 3-4 range enable */ 426#define DBCR1_IAC34M 0x00000080 /* Instr Addr 3-4 range enable */
350#define DBCR1_IAC34MX 0x000000C0 /* Instr Addr 3-4 range eXclusive */ 427#define DBCR1_IAC34MX 0x000000C0 /* Instr Addr 3-4 range eXclusive */
351#define DBCR1_IAC34AT 0x00000001 /* Instr Addr 3-4 range Toggle */ 428#define DBCR1_IAC34AT 0x00000001 /* Instr Addr 3-4 range Toggle */
352 429
430#define dbcr_iac_range(task) ((task)->thread.dbcr1)
431#define DBCR_IAC12I DBCR1_IAC12M /* Range Inclusive */
432#define DBCR_IAC12X DBCR1_IAC12MX /* Range Exclusive */
433#define DBCR_IAC12MODE DBCR1_IAC12MX /* IAC 1-2 Mode Bits */
434#define DBCR_IAC34I DBCR1_IAC34M /* Range Inclusive */
435#define DBCR_IAC34X DBCR1_IAC34MX /* Range Exclusive */
436#define DBCR_IAC34MODE DBCR1_IAC34MX /* IAC 3-4 Mode Bits */
437
353/* Bit definitions related to the DBCR2. */ 438/* Bit definitions related to the DBCR2. */
439#define DBCR2_DAC1US 0xC0000000 /* Data Addr Cmp 1 Sup/User */
440#define DBCR2_DAC1ER 0x30000000 /* Data Addr Cmp 1 Eff/Real */
441#define DBCR2_DAC2US 0x0C000000 /* Data Addr Cmp 2 Sup/User */
442#define DBCR2_DAC2ER 0x03000000 /* Data Addr Cmp 2 Eff/Real */
354#define DBCR2_DAC12M 0x00800000 /* DAC 1-2 range enable */ 443#define DBCR2_DAC12M 0x00800000 /* DAC 1-2 range enable */
444#define DBCR2_DAC12MM 0x00400000 /* DAC 1-2 Mask mode*/
355#define DBCR2_DAC12MX 0x00C00000 /* DAC 1-2 range eXclusive */ 445#define DBCR2_DAC12MX 0x00C00000 /* DAC 1-2 range eXclusive */
446#define DBCR2_DAC12MODE 0x00C00000 /* DAC 1-2 Mode Bits */
356#define DBCR2_DAC12A 0x00200000 /* DAC 1-2 Asynchronous */ 447#define DBCR2_DAC12A 0x00200000 /* DAC 1-2 Asynchronous */
357#endif 448#define DBCR2_DVC1M 0x000C0000 /* Data Value Comp 1 Mode */
449#define DBCR2_DVC1M_SHIFT 18 /* # of bits to shift DBCR2_DVC1M */
450#define DBCR2_DVC2M 0x00030000 /* Data Value Comp 2 Mode */
451#define DBCR2_DVC2M_SHIFT 16 /* # of bits to shift DBCR2_DVC2M */
452#define DBCR2_DVC1BE 0x00000F00 /* Data Value Comp 1 Byte */
453#define DBCR2_DVC1BE_SHIFT 8 /* # of bits to shift DBCR2_DVC1BE */
454#define DBCR2_DVC2BE 0x0000000F /* Data Value Comp 2 Byte */
455#define DBCR2_DVC2BE_SHIFT 0 /* # of bits to shift DBCR2_DVC2BE */
456
457/*
458 * Are there any active Debug Events represented in the
459 * Debug Control Registers?
460 */
461#define DBCR0_ACTIVE_EVENTS (DBCR0_ICMP | DBCR0_IAC1 | DBCR0_IAC2 | \
462 DBCR0_IAC3 | DBCR0_IAC4 | DBCR0_DAC1R | \
463 DBCR0_DAC1W | DBCR0_DAC2R | DBCR0_DAC2W)
464#define DBCR1_ACTIVE_EVENTS 0
465
466#define DBCR_ACTIVE_EVENTS(dbcr0, dbcr1) (((dbcr0) & DBCR0_ACTIVE_EVENTS) || \
467 ((dbcr1) & DBCR1_ACTIVE_EVENTS))
468#endif /* #elif defined(CONFIG_BOOKE) */
358 469
359/* Bit definitions related to the TCR. */ 470/* Bit definitions related to the TCR. */
360#define TCR_WP(x) (((x)&0x3)<<30) /* WDT Period */ 471#define TCR_WP(x) (((x)&0x3)<<30) /* WDT Period */
@@ -510,5 +621,25 @@
510#define DBCR_JOI 0x00000002 /* JTAG Serial Outbound Int. Enable */ 621#define DBCR_JOI 0x00000002 /* JTAG Serial Outbound Int. Enable */
511#define DBCR_JII 0x00000001 /* JTAG Serial Inbound Int. Enable */ 622#define DBCR_JII 0x00000001 /* JTAG Serial Inbound Int. Enable */
512#endif /* 403GCX */ 623#endif /* 403GCX */
624
625/* Some 476 specific registers */
626#define SPRN_SSPCR 830
627#define SPRN_USPCR 831
628#define SPRN_ISPCR 829
629#define SPRN_MMUBE0 820
630#define MMUBE0_IBE0_SHIFT 24
631#define MMUBE0_IBE1_SHIFT 16
632#define MMUBE0_IBE2_SHIFT 8
633#define MMUBE0_VBE0 0x00000004
634#define MMUBE0_VBE1 0x00000002
635#define MMUBE0_VBE2 0x00000001
636#define SPRN_MMUBE1 821
637#define MMUBE1_IBE3_SHIFT 24
638#define MMUBE1_IBE4_SHIFT 16
639#define MMUBE1_IBE5_SHIFT 8
640#define MMUBE1_VBE3 0x00000004
641#define MMUBE1_VBE4 0x00000002
642#define MMUBE1_VBE5 0x00000001
643
513#endif /* __ASM_POWERPC_REG_BOOKE_H__ */ 644#endif /* __ASM_POWERPC_REG_BOOKE_H__ */
514#endif /* __KERNEL__ */ 645#endif /* __KERNEL__ */
diff --git a/arch/powerpc/include/asm/reg_fsl_emb.h b/arch/powerpc/include/asm/reg_fsl_emb.h
index 0de404dfee8b..77bb71cfd991 100644
--- a/arch/powerpc/include/asm/reg_fsl_emb.h
+++ b/arch/powerpc/include/asm/reg_fsl_emb.h
@@ -31,7 +31,7 @@
31#define PMLCA_FCM0 0x08000000 /* Freeze when PMM==0 */ 31#define PMLCA_FCM0 0x08000000 /* Freeze when PMM==0 */
32#define PMLCA_CE 0x04000000 /* Condition Enable */ 32#define PMLCA_CE 0x04000000 /* Condition Enable */
33 33
34#define PMLCA_EVENT_MASK 0x007f0000 /* Event field */ 34#define PMLCA_EVENT_MASK 0x00ff0000 /* Event field */
35#define PMLCA_EVENT_SHIFT 16 35#define PMLCA_EVENT_SHIFT 16
36 36
37#define PMRN_PMLCB0 0x110 /* PM Local Control B0 */ 37#define PMRN_PMLCB0 0x110 /* PM Local Control B0 */
diff --git a/arch/powerpc/include/asm/scatterlist.h b/arch/powerpc/include/asm/scatterlist.h
index 912bf597870f..34cc78fd0ef4 100644
--- a/arch/powerpc/include/asm/scatterlist.h
+++ b/arch/powerpc/include/asm/scatterlist.h
@@ -9,38 +9,12 @@
9 * 2 of the License, or (at your option) any later version. 9 * 2 of the License, or (at your option) any later version.
10 */ 10 */
11 11
12#ifdef __KERNEL__
13#include <linux/types.h>
14#include <asm/dma.h> 12#include <asm/dma.h>
15 13#include <asm-generic/scatterlist.h>
16struct scatterlist {
17#ifdef CONFIG_DEBUG_SG
18 unsigned long sg_magic;
19#endif
20 unsigned long page_link;
21 unsigned int offset;
22 unsigned int length;
23
24 /* For TCE or SWIOTLB support */
25 dma_addr_t dma_address;
26 u32 dma_length;
27};
28
29/*
30 * These macros should be used after a dma_map_sg call has been done
31 * to get bus addresses of each of the SG entries and their lengths.
32 * You should only work with the number of sg entries pci_map_sg
33 * returns, or alternatively stop on the first sg_dma_len(sg) which
34 * is 0.
35 */
36#define sg_dma_address(sg) ((sg)->dma_address)
37#define sg_dma_len(sg) ((sg)->dma_length)
38 14
39#ifdef __powerpc64__ 15#ifdef __powerpc64__
40#define ISA_DMA_THRESHOLD (~0UL) 16#define ISA_DMA_THRESHOLD (~0UL)
41#endif 17#endif
42
43#define ARCH_HAS_SG_CHAIN 18#define ARCH_HAS_SG_CHAIN
44 19
45#endif /* __KERNEL__ */
46#endif /* _ASM_POWERPC_SCATTERLIST_H */ 20#endif /* _ASM_POWERPC_SCATTERLIST_H */
diff --git a/arch/powerpc/include/asm/smp.h b/arch/powerpc/include/asm/smp.h
index 1d3b270d3083..66e237bbe15f 100644
--- a/arch/powerpc/include/asm/smp.h
+++ b/arch/powerpc/include/asm/smp.h
@@ -40,7 +40,7 @@ extern void smp_message_recv(int);
40DECLARE_PER_CPU(unsigned int, cpu_pvr); 40DECLARE_PER_CPU(unsigned int, cpu_pvr);
41 41
42#ifdef CONFIG_HOTPLUG_CPU 42#ifdef CONFIG_HOTPLUG_CPU
43extern void fixup_irqs(cpumask_t map); 43extern void fixup_irqs(const struct cpumask *map);
44int generic_cpu_disable(void); 44int generic_cpu_disable(void);
45int generic_cpu_enable(unsigned int cpu); 45int generic_cpu_enable(unsigned int cpu);
46void generic_cpu_die(unsigned int cpu); 46void generic_cpu_die(unsigned int cpu);
@@ -68,8 +68,19 @@ static inline void set_hard_smp_processor_id(int cpu, int phys)
68} 68}
69#endif 69#endif
70 70
71DECLARE_PER_CPU(cpumask_t, cpu_sibling_map); 71DECLARE_PER_CPU(cpumask_var_t, cpu_sibling_map);
72DECLARE_PER_CPU(cpumask_t, cpu_core_map); 72DECLARE_PER_CPU(cpumask_var_t, cpu_core_map);
73
74static inline struct cpumask *cpu_sibling_mask(int cpu)
75{
76 return per_cpu(cpu_sibling_map, cpu);
77}
78
79static inline struct cpumask *cpu_core_mask(int cpu)
80{
81 return per_cpu(cpu_core_map, cpu);
82}
83
73extern int cpu_to_core_id(int cpu); 84extern int cpu_to_core_id(int cpu);
74 85
75/* Since OpenPIC has only 4 IPIs, we use slightly different message numbers. 86/* Since OpenPIC has only 4 IPIs, we use slightly different message numbers.
@@ -93,7 +104,6 @@ void smp_init_pSeries(void);
93void smp_init_cell(void); 104void smp_init_cell(void);
94void smp_init_celleb(void); 105void smp_init_celleb(void);
95void smp_setup_cpu_maps(void); 106void smp_setup_cpu_maps(void);
96void smp_setup_cpu_sibling_map(void);
97 107
98extern int __cpu_disable(void); 108extern int __cpu_disable(void);
99extern void __cpu_die(unsigned int cpu); 109extern void __cpu_die(unsigned int cpu);
diff --git a/arch/powerpc/include/asm/spinlock.h b/arch/powerpc/include/asm/spinlock.h
index 764094cff681..f9611bd69ed2 100644
--- a/arch/powerpc/include/asm/spinlock.h
+++ b/arch/powerpc/include/asm/spinlock.h
@@ -27,6 +27,7 @@
27#endif 27#endif
28#include <asm/asm-compat.h> 28#include <asm/asm-compat.h>
29#include <asm/synch.h> 29#include <asm/synch.h>
30#include <asm/ppc-opcode.h>
30 31
31#define arch_spin_is_locked(x) ((x)->slock != 0) 32#define arch_spin_is_locked(x) ((x)->slock != 0)
32 33
@@ -60,13 +61,14 @@ static inline unsigned long __arch_spin_trylock(arch_spinlock_t *lock)
60 61
61 token = LOCK_TOKEN; 62 token = LOCK_TOKEN;
62 __asm__ __volatile__( 63 __asm__ __volatile__(
63"1: lwarx %0,0,%2\n\ 64"1: " PPC_LWARX(%0,0,%2,1) "\n\
64 cmpwi 0,%0,0\n\ 65 cmpwi 0,%0,0\n\
65 bne- 2f\n\ 66 bne- 2f\n\
66 stwcx. %1,0,%2\n\ 67 stwcx. %1,0,%2\n\
67 bne- 1b\n\ 68 bne- 1b\n"
68 isync\n\ 69 PPC_ACQUIRE_BARRIER
692:" : "=&r" (tmp) 70"2:"
71 : "=&r" (tmp)
70 : "r" (token), "r" (&lock->slock) 72 : "r" (token), "r" (&lock->slock)
71 : "cr0", "memory"); 73 : "cr0", "memory");
72 74
@@ -144,7 +146,7 @@ static inline void arch_spin_unlock(arch_spinlock_t *lock)
144{ 146{
145 SYNC_IO; 147 SYNC_IO;
146 __asm__ __volatile__("# arch_spin_unlock\n\t" 148 __asm__ __volatile__("# arch_spin_unlock\n\t"
147 LWSYNC_ON_SMP: : :"memory"); 149 PPC_RELEASE_BARRIER: : :"memory");
148 lock->slock = 0; 150 lock->slock = 0;
149} 151}
150 152
@@ -186,15 +188,15 @@ static inline long __arch_read_trylock(arch_rwlock_t *rw)
186 long tmp; 188 long tmp;
187 189
188 __asm__ __volatile__( 190 __asm__ __volatile__(
189"1: lwarx %0,0,%1\n" 191"1: " PPC_LWARX(%0,0,%1,1) "\n"
190 __DO_SIGN_EXTEND 192 __DO_SIGN_EXTEND
191" addic. %0,%0,1\n\ 193" addic. %0,%0,1\n\
192 ble- 2f\n" 194 ble- 2f\n"
193 PPC405_ERR77(0,%1) 195 PPC405_ERR77(0,%1)
194" stwcx. %0,0,%1\n\ 196" stwcx. %0,0,%1\n\
195 bne- 1b\n\ 197 bne- 1b\n"
196 isync\n\ 198 PPC_ACQUIRE_BARRIER
1972:" : "=&r" (tmp) 199"2:" : "=&r" (tmp)
198 : "r" (&rw->lock) 200 : "r" (&rw->lock)
199 : "cr0", "xer", "memory"); 201 : "cr0", "xer", "memory");
200 202
@@ -211,14 +213,14 @@ static inline long __arch_write_trylock(arch_rwlock_t *rw)
211 213
212 token = WRLOCK_TOKEN; 214 token = WRLOCK_TOKEN;
213 __asm__ __volatile__( 215 __asm__ __volatile__(
214"1: lwarx %0,0,%2\n\ 216"1: " PPC_LWARX(%0,0,%2,1) "\n\
215 cmpwi 0,%0,0\n\ 217 cmpwi 0,%0,0\n\
216 bne- 2f\n" 218 bne- 2f\n"
217 PPC405_ERR77(0,%1) 219 PPC405_ERR77(0,%1)
218" stwcx. %1,0,%2\n\ 220" stwcx. %1,0,%2\n\
219 bne- 1b\n\ 221 bne- 1b\n"
220 isync\n\ 222 PPC_ACQUIRE_BARRIER
2212:" : "=&r" (tmp) 223"2:" : "=&r" (tmp)
222 : "r" (token), "r" (&rw->lock) 224 : "r" (token), "r" (&rw->lock)
223 : "cr0", "memory"); 225 : "cr0", "memory");
224 226
@@ -269,7 +271,7 @@ static inline void arch_read_unlock(arch_rwlock_t *rw)
269 271
270 __asm__ __volatile__( 272 __asm__ __volatile__(
271 "# read_unlock\n\t" 273 "# read_unlock\n\t"
272 LWSYNC_ON_SMP 274 PPC_RELEASE_BARRIER
273"1: lwarx %0,0,%1\n\ 275"1: lwarx %0,0,%1\n\
274 addic %0,%0,-1\n" 276 addic %0,%0,-1\n"
275 PPC405_ERR77(0,%1) 277 PPC405_ERR77(0,%1)
@@ -283,7 +285,7 @@ static inline void arch_read_unlock(arch_rwlock_t *rw)
283static inline void arch_write_unlock(arch_rwlock_t *rw) 285static inline void arch_write_unlock(arch_rwlock_t *rw)
284{ 286{
285 __asm__ __volatile__("# write_unlock\n\t" 287 __asm__ __volatile__("# write_unlock\n\t"
286 LWSYNC_ON_SMP: : :"memory"); 288 PPC_RELEASE_BARRIER: : :"memory");
287 rw->lock = 0; 289 rw->lock = 0;
288} 290}
289 291
diff --git a/arch/powerpc/include/asm/synch.h b/arch/powerpc/include/asm/synch.h
index 28f6ddbff4cf..d7cab44643c5 100644
--- a/arch/powerpc/include/asm/synch.h
+++ b/arch/powerpc/include/asm/synch.h
@@ -37,11 +37,15 @@ static inline void isync(void)
37#endif 37#endif
38 38
39#ifdef CONFIG_SMP 39#ifdef CONFIG_SMP
40#define ISYNC_ON_SMP "\n\tisync\n" 40#define __PPC_ACQUIRE_BARRIER \
41#define LWSYNC_ON_SMP stringify_in_c(LWSYNC) "\n" 41 START_LWSYNC_SECTION(97); \
42 isync; \
43 MAKE_LWSYNC_SECTION_ENTRY(97, __lwsync_fixup);
44#define PPC_ACQUIRE_BARRIER "\n" stringify_in_c(__PPC_ACQUIRE_BARRIER)
45#define PPC_RELEASE_BARRIER stringify_in_c(LWSYNC) "\n"
42#else 46#else
43#define ISYNC_ON_SMP 47#define PPC_ACQUIRE_BARRIER
44#define LWSYNC_ON_SMP 48#define PPC_RELEASE_BARRIER
45#endif 49#endif
46 50
47#endif /* __KERNEL__ */ 51#endif /* __KERNEL__ */
diff --git a/arch/powerpc/include/asm/syscall.h b/arch/powerpc/include/asm/syscall.h
index efa7f0b879f3..23913e902fc3 100644
--- a/arch/powerpc/include/asm/syscall.h
+++ b/arch/powerpc/include/asm/syscall.h
@@ -30,7 +30,7 @@ static inline void syscall_rollback(struct task_struct *task,
30static inline long syscall_get_error(struct task_struct *task, 30static inline long syscall_get_error(struct task_struct *task,
31 struct pt_regs *regs) 31 struct pt_regs *regs)
32{ 32{
33 return (regs->ccr & 0x1000) ? -regs->gpr[3] : 0; 33 return (regs->ccr & 0x10000000) ? -regs->gpr[3] : 0;
34} 34}
35 35
36static inline long syscall_get_return_value(struct task_struct *task, 36static inline long syscall_get_return_value(struct task_struct *task,
@@ -44,10 +44,10 @@ static inline void syscall_set_return_value(struct task_struct *task,
44 int error, long val) 44 int error, long val)
45{ 45{
46 if (error) { 46 if (error) {
47 regs->ccr |= 0x1000L; 47 regs->ccr |= 0x10000000L;
48 regs->gpr[3] = -error; 48 regs->gpr[3] = -error;
49 } else { 49 } else {
50 regs->ccr &= ~0x1000L; 50 regs->ccr &= ~0x10000000L;
51 regs->gpr[3] = val; 51 regs->gpr[3] = val;
52 } 52 }
53} 53}
diff --git a/arch/powerpc/include/asm/syscalls.h b/arch/powerpc/include/asm/syscalls.h
index eb8eb400c664..4084e567d28e 100644
--- a/arch/powerpc/include/asm/syscalls.h
+++ b/arch/powerpc/include/asm/syscalls.h
@@ -7,7 +7,6 @@
7#include <linux/types.h> 7#include <linux/types.h>
8#include <asm/signal.h> 8#include <asm/signal.h>
9 9
10struct new_utsname;
11struct pt_regs; 10struct pt_regs;
12struct rtas_args; 11struct rtas_args;
13struct sigaction; 12struct sigaction;
@@ -35,12 +34,9 @@ asmlinkage long sys_pipe2(int __user *fildes, int flags);
35asmlinkage long sys_rt_sigaction(int sig, 34asmlinkage long sys_rt_sigaction(int sig,
36 const struct sigaction __user *act, 35 const struct sigaction __user *act,
37 struct sigaction __user *oact, size_t sigsetsize); 36 struct sigaction __user *oact, size_t sigsetsize);
38asmlinkage int sys_ipc(uint call, int first, unsigned long second,
39 long third, void __user *ptr, long fifth);
40asmlinkage long ppc64_personality(unsigned long personality); 37asmlinkage long ppc64_personality(unsigned long personality);
41asmlinkage int ppc_rtas(struct rtas_args __user *uargs); 38asmlinkage int ppc_rtas(struct rtas_args __user *uargs);
42asmlinkage time_t sys64_time(time_t __user * tloc); 39asmlinkage time_t sys64_time(time_t __user * tloc);
43asmlinkage long ppc_newuname(struct new_utsname __user * name);
44 40
45asmlinkage long sys_rt_sigsuspend(sigset_t __user *unewset, 41asmlinkage long sys_rt_sigsuspend(sigset_t __user *unewset,
46 size_t sigsetsize); 42 size_t sigsetsize);
diff --git a/arch/powerpc/include/asm/systbl.h b/arch/powerpc/include/asm/systbl.h
index 07d2d19ab5e9..a5ee345b6a5c 100644
--- a/arch/powerpc/include/asm/systbl.h
+++ b/arch/powerpc/include/asm/systbl.h
@@ -125,7 +125,7 @@ SYSCALL_SPU(fsync)
125SYS32ONLY(sigreturn) 125SYS32ONLY(sigreturn)
126PPC_SYS(clone) 126PPC_SYS(clone)
127COMPAT_SYS_SPU(setdomainname) 127COMPAT_SYS_SPU(setdomainname)
128PPC_SYS_SPU(newuname) 128SYSCALL_SPU(newuname)
129SYSCALL(ni_syscall) 129SYSCALL(ni_syscall)
130COMPAT_SYS_SPU(adjtimex) 130COMPAT_SYS_SPU(adjtimex)
131SYSCALL_SPU(mprotect) 131SYSCALL_SPU(mprotect)
diff --git a/arch/powerpc/include/asm/system.h b/arch/powerpc/include/asm/system.h
index bb8e006a47c6..a6297c67c3d6 100644
--- a/arch/powerpc/include/asm/system.h
+++ b/arch/powerpc/include/asm/system.h
@@ -112,8 +112,13 @@ static inline int debugger_fault_handler(struct pt_regs *regs) { return 0; }
112#endif 112#endif
113 113
114extern int set_dabr(unsigned long dabr); 114extern int set_dabr(unsigned long dabr);
115#ifdef CONFIG_PPC_ADV_DEBUG_REGS
116extern void do_send_trap(struct pt_regs *regs, unsigned long address,
117 unsigned long error_code, int signal_code, int brkpt);
118#else
115extern void do_dabr(struct pt_regs *regs, unsigned long address, 119extern void do_dabr(struct pt_regs *regs, unsigned long address,
116 unsigned long error_code); 120 unsigned long error_code);
121#endif
117extern void print_backtrace(unsigned long *); 122extern void print_backtrace(unsigned long *);
118extern void show_regs(struct pt_regs * regs); 123extern void show_regs(struct pt_regs * regs);
119extern void flush_instruction_cache(void); 124extern void flush_instruction_cache(void);
@@ -232,12 +237,12 @@ __xchg_u32(volatile void *p, unsigned long val)
232 unsigned long prev; 237 unsigned long prev;
233 238
234 __asm__ __volatile__( 239 __asm__ __volatile__(
235 LWSYNC_ON_SMP 240 PPC_RELEASE_BARRIER
236"1: lwarx %0,0,%2 \n" 241"1: lwarx %0,0,%2 \n"
237 PPC405_ERR77(0,%2) 242 PPC405_ERR77(0,%2)
238" stwcx. %3,0,%2 \n\ 243" stwcx. %3,0,%2 \n\
239 bne- 1b" 244 bne- 1b"
240 ISYNC_ON_SMP 245 PPC_ACQUIRE_BARRIER
241 : "=&r" (prev), "+m" (*(volatile unsigned int *)p) 246 : "=&r" (prev), "+m" (*(volatile unsigned int *)p)
242 : "r" (p), "r" (val) 247 : "r" (p), "r" (val)
243 : "cc", "memory"); 248 : "cc", "memory");
@@ -275,12 +280,12 @@ __xchg_u64(volatile void *p, unsigned long val)
275 unsigned long prev; 280 unsigned long prev;
276 281
277 __asm__ __volatile__( 282 __asm__ __volatile__(
278 LWSYNC_ON_SMP 283 PPC_RELEASE_BARRIER
279"1: ldarx %0,0,%2 \n" 284"1: ldarx %0,0,%2 \n"
280 PPC405_ERR77(0,%2) 285 PPC405_ERR77(0,%2)
281" stdcx. %3,0,%2 \n\ 286" stdcx. %3,0,%2 \n\
282 bne- 1b" 287 bne- 1b"
283 ISYNC_ON_SMP 288 PPC_ACQUIRE_BARRIER
284 : "=&r" (prev), "+m" (*(volatile unsigned long *)p) 289 : "=&r" (prev), "+m" (*(volatile unsigned long *)p)
285 : "r" (p), "r" (val) 290 : "r" (p), "r" (val)
286 : "cc", "memory"); 291 : "cc", "memory");
@@ -366,14 +371,14 @@ __cmpxchg_u32(volatile unsigned int *p, unsigned long old, unsigned long new)
366 unsigned int prev; 371 unsigned int prev;
367 372
368 __asm__ __volatile__ ( 373 __asm__ __volatile__ (
369 LWSYNC_ON_SMP 374 PPC_RELEASE_BARRIER
370"1: lwarx %0,0,%2 # __cmpxchg_u32\n\ 375"1: lwarx %0,0,%2 # __cmpxchg_u32\n\
371 cmpw 0,%0,%3\n\ 376 cmpw 0,%0,%3\n\
372 bne- 2f\n" 377 bne- 2f\n"
373 PPC405_ERR77(0,%2) 378 PPC405_ERR77(0,%2)
374" stwcx. %4,0,%2\n\ 379" stwcx. %4,0,%2\n\
375 bne- 1b" 380 bne- 1b"
376 ISYNC_ON_SMP 381 PPC_ACQUIRE_BARRIER
377 "\n\ 382 "\n\
3782:" 3832:"
379 : "=&r" (prev), "+m" (*p) 384 : "=&r" (prev), "+m" (*p)
@@ -412,13 +417,13 @@ __cmpxchg_u64(volatile unsigned long *p, unsigned long old, unsigned long new)
412 unsigned long prev; 417 unsigned long prev;
413 418
414 __asm__ __volatile__ ( 419 __asm__ __volatile__ (
415 LWSYNC_ON_SMP 420 PPC_RELEASE_BARRIER
416"1: ldarx %0,0,%2 # __cmpxchg_u64\n\ 421"1: ldarx %0,0,%2 # __cmpxchg_u64\n\
417 cmpd 0,%0,%3\n\ 422 cmpd 0,%0,%3\n\
418 bne- 2f\n\ 423 bne- 2f\n\
419 stdcx. %4,0,%2\n\ 424 stdcx. %4,0,%2\n\
420 bne- 1b" 425 bne- 1b"
421 ISYNC_ON_SMP 426 PPC_ACQUIRE_BARRIER
422 "\n\ 427 "\n\
4232:" 4282:"
424 : "=&r" (prev), "+m" (*p) 429 : "=&r" (prev), "+m" (*p)
diff --git a/arch/powerpc/include/asm/thread_info.h b/arch/powerpc/include/asm/thread_info.h
index c8b329255678..65eb85976a03 100644
--- a/arch/powerpc/include/asm/thread_info.h
+++ b/arch/powerpc/include/asm/thread_info.h
@@ -104,14 +104,13 @@ static inline struct thread_info *current_thread_info(void)
104#define TIF_PERFMON_CTXSW 6 /* perfmon needs ctxsw calls */ 104#define TIF_PERFMON_CTXSW 6 /* perfmon needs ctxsw calls */
105#define TIF_SYSCALL_AUDIT 7 /* syscall auditing active */ 105#define TIF_SYSCALL_AUDIT 7 /* syscall auditing active */
106#define TIF_SINGLESTEP 8 /* singlestepping active */ 106#define TIF_SINGLESTEP 8 /* singlestepping active */
107#define TIF_MEMDIE 9 107#define TIF_MEMDIE 9 /* is terminating due to OOM killer */
108#define TIF_SECCOMP 10 /* secure computing */ 108#define TIF_SECCOMP 10 /* secure computing */
109#define TIF_RESTOREALL 11 /* Restore all regs (implies NOERROR) */ 109#define TIF_RESTOREALL 11 /* Restore all regs (implies NOERROR) */
110#define TIF_NOERROR 12 /* Force successful syscall return */ 110#define TIF_NOERROR 12 /* Force successful syscall return */
111#define TIF_NOTIFY_RESUME 13 /* callback before returning to user */ 111#define TIF_NOTIFY_RESUME 13 /* callback before returning to user */
112#define TIF_FREEZE 14 /* Freezing for suspend */ 112#define TIF_FREEZE 14 /* Freezing for suspend */
113#define TIF_RUNLATCH 15 /* Is the runlatch enabled? */ 113#define TIF_RUNLATCH 15 /* Is the runlatch enabled? */
114#define TIF_ABI_PENDING 16 /* 32/64 bit switch needed */
115 114
116/* as above, but as bit values */ 115/* as above, but as bit values */
117#define _TIF_SYSCALL_TRACE (1<<TIF_SYSCALL_TRACE) 116#define _TIF_SYSCALL_TRACE (1<<TIF_SYSCALL_TRACE)
@@ -129,7 +128,6 @@ static inline struct thread_info *current_thread_info(void)
129#define _TIF_NOTIFY_RESUME (1<<TIF_NOTIFY_RESUME) 128#define _TIF_NOTIFY_RESUME (1<<TIF_NOTIFY_RESUME)
130#define _TIF_FREEZE (1<<TIF_FREEZE) 129#define _TIF_FREEZE (1<<TIF_FREEZE)
131#define _TIF_RUNLATCH (1<<TIF_RUNLATCH) 130#define _TIF_RUNLATCH (1<<TIF_RUNLATCH)
132#define _TIF_ABI_PENDING (1<<TIF_ABI_PENDING)
133#define _TIF_SYSCALL_T_OR_A (_TIF_SYSCALL_TRACE|_TIF_SYSCALL_AUDIT|_TIF_SECCOMP) 131#define _TIF_SYSCALL_T_OR_A (_TIF_SYSCALL_TRACE|_TIF_SYSCALL_AUDIT|_TIF_SECCOMP)
134 132
135#define _TIF_USER_WORK_MASK (_TIF_SIGPENDING | _TIF_NEED_RESCHED | \ 133#define _TIF_USER_WORK_MASK (_TIF_SIGPENDING | _TIF_NEED_RESCHED | \
diff --git a/arch/powerpc/include/asm/topology.h b/arch/powerpc/include/asm/topology.h
index bbf89701d7a4..32adf7280720 100644
--- a/arch/powerpc/include/asm/topology.h
+++ b/arch/powerpc/include/asm/topology.h
@@ -8,6 +8,26 @@ struct device_node;
8 8
9#ifdef CONFIG_NUMA 9#ifdef CONFIG_NUMA
10 10
11/*
12 * Before going off node we want the VM to try and reclaim from the local
13 * node. It does this if the remote distance is larger than RECLAIM_DISTANCE.
14 * With the default REMOTE_DISTANCE of 20 and the default RECLAIM_DISTANCE of
15 * 20, we never reclaim and go off node straight away.
16 *
17 * To fix this we choose a smaller value of RECLAIM_DISTANCE.
18 */
19#define RECLAIM_DISTANCE 10
20
21/*
22 * Before going off node we want the VM to try and reclaim from the local
23 * node. It does this if the remote distance is larger than RECLAIM_DISTANCE.
24 * With the default REMOTE_DISTANCE of 20 and the default RECLAIM_DISTANCE of
25 * 20, we never reclaim and go off node straight away.
26 *
27 * To fix this we choose a smaller value of RECLAIM_DISTANCE.
28 */
29#define RECLAIM_DISTANCE 10
30
11#include <asm/mmzone.h> 31#include <asm/mmzone.h>
12 32
13static inline int cpu_to_node(int cpu) 33static inline int cpu_to_node(int cpu)
@@ -19,7 +39,7 @@ static inline int cpu_to_node(int cpu)
19 39
20#define cpumask_of_node(node) ((node) == -1 ? \ 40#define cpumask_of_node(node) ((node) == -1 ? \
21 cpu_all_mask : \ 41 cpu_all_mask : \
22 &numa_cpumask_lookup_table[node]) 42 node_to_cpumask_map[node])
23 43
24int of_node_to_nid(struct device_node *device); 44int of_node_to_nid(struct device_node *device);
25 45
@@ -38,27 +58,33 @@ static inline int pcibus_to_node(struct pci_bus *bus)
38 cpumask_of_node(pcibus_to_node(bus))) 58 cpumask_of_node(pcibus_to_node(bus)))
39 59
40/* sched_domains SD_NODE_INIT for PPC64 machines */ 60/* sched_domains SD_NODE_INIT for PPC64 machines */
41#define SD_NODE_INIT (struct sched_domain) { \ 61#define SD_NODE_INIT (struct sched_domain) { \
42 .parent = NULL, \ 62 .min_interval = 8, \
43 .child = NULL, \ 63 .max_interval = 32, \
44 .groups = NULL, \ 64 .busy_factor = 32, \
45 .min_interval = 8, \ 65 .imbalance_pct = 125, \
46 .max_interval = 32, \ 66 .cache_nice_tries = 1, \
47 .busy_factor = 32, \ 67 .busy_idx = 3, \
48 .imbalance_pct = 125, \ 68 .idle_idx = 1, \
49 .cache_nice_tries = 1, \ 69 .newidle_idx = 0, \
50 .busy_idx = 3, \ 70 .wake_idx = 0, \
51 .idle_idx = 1, \ 71 .forkexec_idx = 0, \
52 .newidle_idx = 0, \ 72 \
53 .wake_idx = 0, \ 73 .flags = 1*SD_LOAD_BALANCE \
54 .flags = SD_LOAD_BALANCE \ 74 | 1*SD_BALANCE_NEWIDLE \
55 | SD_BALANCE_EXEC \ 75 | 1*SD_BALANCE_EXEC \
56 | SD_BALANCE_FORK \ 76 | 1*SD_BALANCE_FORK \
57 | SD_BALANCE_NEWIDLE \ 77 | 0*SD_BALANCE_WAKE \
58 | SD_SERIALIZE, \ 78 | 0*SD_WAKE_AFFINE \
59 .last_balance = jiffies, \ 79 | 0*SD_PREFER_LOCAL \
60 .balance_interval = 1, \ 80 | 0*SD_SHARE_CPUPOWER \
61 .nr_balance_failed = 0, \ 81 | 0*SD_POWERSAVINGS_BALANCE \
82 | 0*SD_SHARE_PKG_RESOURCES \
83 | 1*SD_SERIALIZE \
84 | 0*SD_PREFER_SIBLING \
85 , \
86 .last_balance = jiffies, \
87 .balance_interval = 1, \
62} 88}
63 89
64extern void __init dump_numa_cpu_topology(void); 90extern void __init dump_numa_cpu_topology(void);
@@ -96,8 +122,8 @@ static inline void sysfs_remove_device_from_node(struct sys_device *dev,
96#ifdef CONFIG_PPC64 122#ifdef CONFIG_PPC64
97#include <asm/smp.h> 123#include <asm/smp.h>
98 124
99#define topology_thread_cpumask(cpu) (&per_cpu(cpu_sibling_map, cpu)) 125#define topology_thread_cpumask(cpu) (per_cpu(cpu_sibling_map, cpu))
100#define topology_core_cpumask(cpu) (&per_cpu(cpu_core_map, cpu)) 126#define topology_core_cpumask(cpu) (per_cpu(cpu_core_map, cpu))
101#define topology_core_id(cpu) (cpu_to_core_id(cpu)) 127#define topology_core_id(cpu) (cpu_to_core_id(cpu))
102#endif 128#endif
103#endif 129#endif
diff --git a/arch/powerpc/include/asm/unistd.h b/arch/powerpc/include/asm/unistd.h
index f6ca76176766..f0a10266e7f7 100644
--- a/arch/powerpc/include/asm/unistd.h
+++ b/arch/powerpc/include/asm/unistd.h
@@ -364,6 +364,7 @@
364#define __ARCH_WANT_STAT64 364#define __ARCH_WANT_STAT64
365#define __ARCH_WANT_SYS_ALARM 365#define __ARCH_WANT_SYS_ALARM
366#define __ARCH_WANT_SYS_GETHOSTNAME 366#define __ARCH_WANT_SYS_GETHOSTNAME
367#define __ARCH_WANT_SYS_IPC
367#define __ARCH_WANT_SYS_PAUSE 368#define __ARCH_WANT_SYS_PAUSE
368#define __ARCH_WANT_SYS_SGETMASK 369#define __ARCH_WANT_SYS_SGETMASK
369#define __ARCH_WANT_SYS_SIGNAL 370#define __ARCH_WANT_SYS_SIGNAL
@@ -376,6 +377,7 @@
376#define __ARCH_WANT_SYS_LLSEEK 377#define __ARCH_WANT_SYS_LLSEEK
377#define __ARCH_WANT_SYS_NICE 378#define __ARCH_WANT_SYS_NICE
378#define __ARCH_WANT_SYS_OLD_GETRLIMIT 379#define __ARCH_WANT_SYS_OLD_GETRLIMIT
380#define __ARCH_WANT_SYS_OLD_UNAME
379#define __ARCH_WANT_SYS_OLDUMOUNT 381#define __ARCH_WANT_SYS_OLDUMOUNT
380#define __ARCH_WANT_SYS_SIGPENDING 382#define __ARCH_WANT_SYS_SIGPENDING
381#define __ARCH_WANT_SYS_SIGPROCMASK 383#define __ARCH_WANT_SYS_SIGPROCMASK
diff --git a/arch/powerpc/kernel/Makefile b/arch/powerpc/kernel/Makefile
index c002b0410219..58d0572de6f9 100644
--- a/arch/powerpc/kernel/Makefile
+++ b/arch/powerpc/kernel/Makefile
@@ -57,8 +57,12 @@ obj-$(CONFIG_CRASH_DUMP) += crash_dump.o
57obj-$(CONFIG_E500) += idle_e500.o 57obj-$(CONFIG_E500) += idle_e500.o
58obj-$(CONFIG_6xx) += idle_6xx.o l2cr_6xx.o cpu_setup_6xx.o 58obj-$(CONFIG_6xx) += idle_6xx.o l2cr_6xx.o cpu_setup_6xx.o
59obj-$(CONFIG_TAU) += tau_6xx.o 59obj-$(CONFIG_TAU) += tau_6xx.o
60obj-$(CONFIG_HIBERNATION) += swsusp.o suspend.o \ 60obj-$(CONFIG_HIBERNATION) += swsusp.o suspend.o
61 swsusp_$(CONFIG_WORD_SIZE).o 61ifeq ($(CONFIG_FSL_BOOKE),y)
62obj-$(CONFIG_HIBERNATION) += swsusp_booke.o
63else
64obj-$(CONFIG_HIBERNATION) += swsusp_$(CONFIG_WORD_SIZE).o
65endif
62obj64-$(CONFIG_HIBERNATION) += swsusp_asm64.o 66obj64-$(CONFIG_HIBERNATION) += swsusp_asm64.o
63obj-$(CONFIG_MODULES) += module.o module_$(CONFIG_WORD_SIZE).o 67obj-$(CONFIG_MODULES) += module.o module_$(CONFIG_WORD_SIZE).o
64obj-$(CONFIG_44x) += cpu_setup_44x.o 68obj-$(CONFIG_44x) += cpu_setup_44x.o
@@ -98,11 +102,16 @@ obj64-$(CONFIG_AUDIT) += compat_audit.o
98 102
99obj-$(CONFIG_DYNAMIC_FTRACE) += ftrace.o 103obj-$(CONFIG_DYNAMIC_FTRACE) += ftrace.o
100obj-$(CONFIG_FUNCTION_GRAPH_TRACER) += ftrace.o 104obj-$(CONFIG_FUNCTION_GRAPH_TRACER) += ftrace.o
101obj-$(CONFIG_PPC_PERF_CTRS) += perf_event.o perf_callchain.o 105obj-$(CONFIG_PERF_EVENTS) += perf_callchain.o
106
107obj-$(CONFIG_PPC_PERF_CTRS) += perf_event.o
102obj64-$(CONFIG_PPC_PERF_CTRS) += power4-pmu.o ppc970-pmu.o power5-pmu.o \ 108obj64-$(CONFIG_PPC_PERF_CTRS) += power4-pmu.o ppc970-pmu.o power5-pmu.o \
103 power5+-pmu.o power6-pmu.o power7-pmu.o 109 power5+-pmu.o power6-pmu.o power7-pmu.o
104obj32-$(CONFIG_PPC_PERF_CTRS) += mpc7450-pmu.o 110obj32-$(CONFIG_PPC_PERF_CTRS) += mpc7450-pmu.o
105 111
112obj-$(CONFIG_FSL_EMB_PERF_EVENT) += perf_event_fsl_emb.o
113obj-$(CONFIG_FSL_EMB_PERF_EVENT_E500) += e500-pmu.o
114
106obj-$(CONFIG_8XX_MINIMAL_FPEMU) += softemu8xx.o 115obj-$(CONFIG_8XX_MINIMAL_FPEMU) += softemu8xx.o
107 116
108ifneq ($(CONFIG_PPC_INDIRECT_IO),y) 117ifneq ($(CONFIG_PPC_INDIRECT_IO),y)
diff --git a/arch/powerpc/kernel/asm-offsets.c b/arch/powerpc/kernel/asm-offsets.c
index a6c2b63227b3..496cc5b3984f 100644
--- a/arch/powerpc/kernel/asm-offsets.c
+++ b/arch/powerpc/kernel/asm-offsets.c
@@ -50,6 +50,9 @@
50#endif 50#endif
51#ifdef CONFIG_KVM 51#ifdef CONFIG_KVM
52#include <linux/kvm_host.h> 52#include <linux/kvm_host.h>
53#ifndef CONFIG_BOOKE
54#include <asm/kvm_book3s.h>
55#endif
53#endif 56#endif
54 57
55#ifdef CONFIG_PPC32 58#ifdef CONFIG_PPC32
@@ -105,6 +108,9 @@ int main(void)
105 DEFINE(THREAD_USED_SPE, offsetof(struct thread_struct, used_spe)); 108 DEFINE(THREAD_USED_SPE, offsetof(struct thread_struct, used_spe));
106#endif /* CONFIG_SPE */ 109#endif /* CONFIG_SPE */
107#endif /* CONFIG_PPC64 */ 110#endif /* CONFIG_PPC64 */
111#ifdef CONFIG_KVM_BOOK3S_32_HANDLER
112 DEFINE(THREAD_KVM_SVCPU, offsetof(struct thread_struct, kvm_shadow_vcpu));
113#endif
108 114
109 DEFINE(TI_FLAGS, offsetof(struct thread_info, flags)); 115 DEFINE(TI_FLAGS, offsetof(struct thread_info, flags));
110 DEFINE(TI_LOCAL_FLAGS, offsetof(struct thread_info, local_flags)); 116 DEFINE(TI_LOCAL_FLAGS, offsetof(struct thread_info, local_flags));
@@ -133,7 +139,6 @@ int main(void)
133 DEFINE(PACAKMSR, offsetof(struct paca_struct, kernel_msr)); 139 DEFINE(PACAKMSR, offsetof(struct paca_struct, kernel_msr));
134 DEFINE(PACASOFTIRQEN, offsetof(struct paca_struct, soft_enabled)); 140 DEFINE(PACASOFTIRQEN, offsetof(struct paca_struct, soft_enabled));
135 DEFINE(PACAHARDIRQEN, offsetof(struct paca_struct, hard_enabled)); 141 DEFINE(PACAHARDIRQEN, offsetof(struct paca_struct, hard_enabled));
136 DEFINE(PACAPERFPEND, offsetof(struct paca_struct, perf_event_pending));
137 DEFINE(PACACONTEXTID, offsetof(struct paca_struct, context.id)); 142 DEFINE(PACACONTEXTID, offsetof(struct paca_struct, context.id));
138#ifdef CONFIG_PPC_MM_SLICES 143#ifdef CONFIG_PPC_MM_SLICES
139 DEFINE(PACALOWSLICESPSIZE, offsetof(struct paca_struct, 144 DEFINE(PACALOWSLICESPSIZE, offsetof(struct paca_struct,
@@ -184,6 +189,7 @@ int main(void)
184#endif /* CONFIG_PPC_STD_MMU_64 */ 189#endif /* CONFIG_PPC_STD_MMU_64 */
185 DEFINE(PACAEMERGSP, offsetof(struct paca_struct, emergency_sp)); 190 DEFINE(PACAEMERGSP, offsetof(struct paca_struct, emergency_sp));
186 DEFINE(PACAHWCPUID, offsetof(struct paca_struct, hw_cpu_id)); 191 DEFINE(PACAHWCPUID, offsetof(struct paca_struct, hw_cpu_id));
192 DEFINE(PACAKEXECSTATE, offsetof(struct paca_struct, kexec_state));
187 DEFINE(PACA_STARTPURR, offsetof(struct paca_struct, startpurr)); 193 DEFINE(PACA_STARTPURR, offsetof(struct paca_struct, startpurr));
188 DEFINE(PACA_STARTSPURR, offsetof(struct paca_struct, startspurr)); 194 DEFINE(PACA_STARTSPURR, offsetof(struct paca_struct, startspurr));
189 DEFINE(PACA_USER_TIME, offsetof(struct paca_struct, user_time)); 195 DEFINE(PACA_USER_TIME, offsetof(struct paca_struct, user_time));
@@ -191,9 +197,9 @@ int main(void)
191 DEFINE(PACA_DATA_OFFSET, offsetof(struct paca_struct, data_offset)); 197 DEFINE(PACA_DATA_OFFSET, offsetof(struct paca_struct, data_offset));
192 DEFINE(PACA_TRAP_SAVE, offsetof(struct paca_struct, trap_save)); 198 DEFINE(PACA_TRAP_SAVE, offsetof(struct paca_struct, trap_save));
193#ifdef CONFIG_KVM_BOOK3S_64_HANDLER 199#ifdef CONFIG_KVM_BOOK3S_64_HANDLER
194 DEFINE(PACA_KVM_IN_GUEST, offsetof(struct paca_struct, kvm_in_guest)); 200 DEFINE(PACA_KVM_SVCPU, offsetof(struct paca_struct, shadow_vcpu));
195 DEFINE(PACA_KVM_SLB, offsetof(struct paca_struct, kvm_slb)); 201 DEFINE(SVCPU_SLB, offsetof(struct kvmppc_book3s_shadow_vcpu, slb));
196 DEFINE(PACA_KVM_SLB_MAX, offsetof(struct paca_struct, kvm_slb_max)); 202 DEFINE(SVCPU_SLB_MAX, offsetof(struct kvmppc_book3s_shadow_vcpu, slb_max));
197#endif 203#endif
198#endif /* CONFIG_PPC64 */ 204#endif /* CONFIG_PPC64 */
199 205
@@ -204,8 +210,8 @@ int main(void)
204 /* Interrupt register frame */ 210 /* Interrupt register frame */
205 DEFINE(STACK_FRAME_OVERHEAD, STACK_FRAME_OVERHEAD); 211 DEFINE(STACK_FRAME_OVERHEAD, STACK_FRAME_OVERHEAD);
206 DEFINE(INT_FRAME_SIZE, STACK_INT_FRAME_SIZE); 212 DEFINE(INT_FRAME_SIZE, STACK_INT_FRAME_SIZE);
207#ifdef CONFIG_PPC64
208 DEFINE(SWITCH_FRAME_SIZE, STACK_FRAME_OVERHEAD + sizeof(struct pt_regs)); 213 DEFINE(SWITCH_FRAME_SIZE, STACK_FRAME_OVERHEAD + sizeof(struct pt_regs));
214#ifdef CONFIG_PPC64
209 /* Create extra stack space for SRR0 and SRR1 when calling prom/rtas. */ 215 /* Create extra stack space for SRR0 and SRR1 when calling prom/rtas. */
210 DEFINE(PROM_FRAME_SIZE, STACK_FRAME_OVERHEAD + sizeof(struct pt_regs) + 16); 216 DEFINE(PROM_FRAME_SIZE, STACK_FRAME_OVERHEAD + sizeof(struct pt_regs) + 16);
211 DEFINE(RTAS_FRAME_SIZE, STACK_FRAME_OVERHEAD + sizeof(struct pt_regs) + 16); 217 DEFINE(RTAS_FRAME_SIZE, STACK_FRAME_OVERHEAD + sizeof(struct pt_regs) + 16);
@@ -388,11 +394,6 @@ int main(void)
388 DEFINE(VCPU_HOST_STACK, offsetof(struct kvm_vcpu, arch.host_stack)); 394 DEFINE(VCPU_HOST_STACK, offsetof(struct kvm_vcpu, arch.host_stack));
389 DEFINE(VCPU_HOST_PID, offsetof(struct kvm_vcpu, arch.host_pid)); 395 DEFINE(VCPU_HOST_PID, offsetof(struct kvm_vcpu, arch.host_pid));
390 DEFINE(VCPU_GPRS, offsetof(struct kvm_vcpu, arch.gpr)); 396 DEFINE(VCPU_GPRS, offsetof(struct kvm_vcpu, arch.gpr));
391 DEFINE(VCPU_LR, offsetof(struct kvm_vcpu, arch.lr));
392 DEFINE(VCPU_CR, offsetof(struct kvm_vcpu, arch.cr));
393 DEFINE(VCPU_XER, offsetof(struct kvm_vcpu, arch.xer));
394 DEFINE(VCPU_CTR, offsetof(struct kvm_vcpu, arch.ctr));
395 DEFINE(VCPU_PC, offsetof(struct kvm_vcpu, arch.pc));
396 DEFINE(VCPU_MSR, offsetof(struct kvm_vcpu, arch.msr)); 397 DEFINE(VCPU_MSR, offsetof(struct kvm_vcpu, arch.msr));
397 DEFINE(VCPU_SPRG4, offsetof(struct kvm_vcpu, arch.sprg4)); 398 DEFINE(VCPU_SPRG4, offsetof(struct kvm_vcpu, arch.sprg4));
398 DEFINE(VCPU_SPRG5, offsetof(struct kvm_vcpu, arch.sprg5)); 399 DEFINE(VCPU_SPRG5, offsetof(struct kvm_vcpu, arch.sprg5));
@@ -400,27 +401,81 @@ int main(void)
400 DEFINE(VCPU_SPRG7, offsetof(struct kvm_vcpu, arch.sprg7)); 401 DEFINE(VCPU_SPRG7, offsetof(struct kvm_vcpu, arch.sprg7));
401 DEFINE(VCPU_SHADOW_PID, offsetof(struct kvm_vcpu, arch.shadow_pid)); 402 DEFINE(VCPU_SHADOW_PID, offsetof(struct kvm_vcpu, arch.shadow_pid));
402 403
403 DEFINE(VCPU_LAST_INST, offsetof(struct kvm_vcpu, arch.last_inst)); 404 /* book3s */
404 DEFINE(VCPU_FAULT_DEAR, offsetof(struct kvm_vcpu, arch.fault_dear)); 405#ifdef CONFIG_PPC_BOOK3S
405 DEFINE(VCPU_FAULT_ESR, offsetof(struct kvm_vcpu, arch.fault_esr));
406
407 /* book3s_64 */
408#ifdef CONFIG_PPC64
409 DEFINE(VCPU_FAULT_DSISR, offsetof(struct kvm_vcpu, arch.fault_dsisr));
410 DEFINE(VCPU_HOST_RETIP, offsetof(struct kvm_vcpu, arch.host_retip)); 406 DEFINE(VCPU_HOST_RETIP, offsetof(struct kvm_vcpu, arch.host_retip));
411 DEFINE(VCPU_HOST_R2, offsetof(struct kvm_vcpu, arch.host_r2));
412 DEFINE(VCPU_HOST_MSR, offsetof(struct kvm_vcpu, arch.host_msr)); 407 DEFINE(VCPU_HOST_MSR, offsetof(struct kvm_vcpu, arch.host_msr));
413 DEFINE(VCPU_SHADOW_MSR, offsetof(struct kvm_vcpu, arch.shadow_msr)); 408 DEFINE(VCPU_SHADOW_MSR, offsetof(struct kvm_vcpu, arch.shadow_msr));
414 DEFINE(VCPU_TRAMPOLINE_LOWMEM, offsetof(struct kvm_vcpu, arch.trampoline_lowmem)); 409 DEFINE(VCPU_TRAMPOLINE_LOWMEM, offsetof(struct kvm_vcpu, arch.trampoline_lowmem));
415 DEFINE(VCPU_TRAMPOLINE_ENTER, offsetof(struct kvm_vcpu, arch.trampoline_enter)); 410 DEFINE(VCPU_TRAMPOLINE_ENTER, offsetof(struct kvm_vcpu, arch.trampoline_enter));
416 DEFINE(VCPU_HIGHMEM_HANDLER, offsetof(struct kvm_vcpu, arch.highmem_handler)); 411 DEFINE(VCPU_HIGHMEM_HANDLER, offsetof(struct kvm_vcpu, arch.highmem_handler));
412 DEFINE(VCPU_RMCALL, offsetof(struct kvm_vcpu, arch.rmcall));
417 DEFINE(VCPU_HFLAGS, offsetof(struct kvm_vcpu, arch.hflags)); 413 DEFINE(VCPU_HFLAGS, offsetof(struct kvm_vcpu, arch.hflags));
414 DEFINE(VCPU_SVCPU, offsetof(struct kvmppc_vcpu_book3s, shadow_vcpu) -
415 offsetof(struct kvmppc_vcpu_book3s, vcpu));
416 DEFINE(SVCPU_CR, offsetof(struct kvmppc_book3s_shadow_vcpu, cr));
417 DEFINE(SVCPU_XER, offsetof(struct kvmppc_book3s_shadow_vcpu, xer));
418 DEFINE(SVCPU_CTR, offsetof(struct kvmppc_book3s_shadow_vcpu, ctr));
419 DEFINE(SVCPU_LR, offsetof(struct kvmppc_book3s_shadow_vcpu, lr));
420 DEFINE(SVCPU_PC, offsetof(struct kvmppc_book3s_shadow_vcpu, pc));
421 DEFINE(SVCPU_R0, offsetof(struct kvmppc_book3s_shadow_vcpu, gpr[0]));
422 DEFINE(SVCPU_R1, offsetof(struct kvmppc_book3s_shadow_vcpu, gpr[1]));
423 DEFINE(SVCPU_R2, offsetof(struct kvmppc_book3s_shadow_vcpu, gpr[2]));
424 DEFINE(SVCPU_R3, offsetof(struct kvmppc_book3s_shadow_vcpu, gpr[3]));
425 DEFINE(SVCPU_R4, offsetof(struct kvmppc_book3s_shadow_vcpu, gpr[4]));
426 DEFINE(SVCPU_R5, offsetof(struct kvmppc_book3s_shadow_vcpu, gpr[5]));
427 DEFINE(SVCPU_R6, offsetof(struct kvmppc_book3s_shadow_vcpu, gpr[6]));
428 DEFINE(SVCPU_R7, offsetof(struct kvmppc_book3s_shadow_vcpu, gpr[7]));
429 DEFINE(SVCPU_R8, offsetof(struct kvmppc_book3s_shadow_vcpu, gpr[8]));
430 DEFINE(SVCPU_R9, offsetof(struct kvmppc_book3s_shadow_vcpu, gpr[9]));
431 DEFINE(SVCPU_R10, offsetof(struct kvmppc_book3s_shadow_vcpu, gpr[10]));
432 DEFINE(SVCPU_R11, offsetof(struct kvmppc_book3s_shadow_vcpu, gpr[11]));
433 DEFINE(SVCPU_R12, offsetof(struct kvmppc_book3s_shadow_vcpu, gpr[12]));
434 DEFINE(SVCPU_R13, offsetof(struct kvmppc_book3s_shadow_vcpu, gpr[13]));
435 DEFINE(SVCPU_HOST_R1, offsetof(struct kvmppc_book3s_shadow_vcpu, host_r1));
436 DEFINE(SVCPU_HOST_R2, offsetof(struct kvmppc_book3s_shadow_vcpu, host_r2));
437 DEFINE(SVCPU_VMHANDLER, offsetof(struct kvmppc_book3s_shadow_vcpu,
438 vmhandler));
439 DEFINE(SVCPU_SCRATCH0, offsetof(struct kvmppc_book3s_shadow_vcpu,
440 scratch0));
441 DEFINE(SVCPU_SCRATCH1, offsetof(struct kvmppc_book3s_shadow_vcpu,
442 scratch1));
443 DEFINE(SVCPU_IN_GUEST, offsetof(struct kvmppc_book3s_shadow_vcpu,
444 in_guest));
445 DEFINE(SVCPU_FAULT_DSISR, offsetof(struct kvmppc_book3s_shadow_vcpu,
446 fault_dsisr));
447 DEFINE(SVCPU_FAULT_DAR, offsetof(struct kvmppc_book3s_shadow_vcpu,
448 fault_dar));
449 DEFINE(SVCPU_LAST_INST, offsetof(struct kvmppc_book3s_shadow_vcpu,
450 last_inst));
451 DEFINE(SVCPU_SHADOW_SRR1, offsetof(struct kvmppc_book3s_shadow_vcpu,
452 shadow_srr1));
453#ifdef CONFIG_PPC_BOOK3S_32
454 DEFINE(SVCPU_SR, offsetof(struct kvmppc_book3s_shadow_vcpu, sr));
418#endif 455#endif
456#else
457 DEFINE(VCPU_CR, offsetof(struct kvm_vcpu, arch.cr));
458 DEFINE(VCPU_XER, offsetof(struct kvm_vcpu, arch.xer));
459 DEFINE(VCPU_LR, offsetof(struct kvm_vcpu, arch.lr));
460 DEFINE(VCPU_CTR, offsetof(struct kvm_vcpu, arch.ctr));
461 DEFINE(VCPU_PC, offsetof(struct kvm_vcpu, arch.pc));
462 DEFINE(VCPU_LAST_INST, offsetof(struct kvm_vcpu, arch.last_inst));
463 DEFINE(VCPU_FAULT_DEAR, offsetof(struct kvm_vcpu, arch.fault_dear));
464 DEFINE(VCPU_FAULT_ESR, offsetof(struct kvm_vcpu, arch.fault_esr));
465#endif /* CONFIG_PPC_BOOK3S */
419#endif 466#endif
420#ifdef CONFIG_44x 467#ifdef CONFIG_44x
421 DEFINE(PGD_T_LOG2, PGD_T_LOG2); 468 DEFINE(PGD_T_LOG2, PGD_T_LOG2);
422 DEFINE(PTE_T_LOG2, PTE_T_LOG2); 469 DEFINE(PTE_T_LOG2, PTE_T_LOG2);
423#endif 470#endif
471#ifdef CONFIG_FSL_BOOKE
472 DEFINE(TLBCAM_SIZE, sizeof(struct tlbcam));
473 DEFINE(TLBCAM_MAS0, offsetof(struct tlbcam, MAS0));
474 DEFINE(TLBCAM_MAS1, offsetof(struct tlbcam, MAS1));
475 DEFINE(TLBCAM_MAS2, offsetof(struct tlbcam, MAS2));
476 DEFINE(TLBCAM_MAS3, offsetof(struct tlbcam, MAS3));
477 DEFINE(TLBCAM_MAS7, offsetof(struct tlbcam, MAS7));
478#endif
424 479
425#ifdef CONFIG_KVM_EXIT_TIMING 480#ifdef CONFIG_KVM_EXIT_TIMING
426 DEFINE(VCPU_TIMING_EXIT_TBU, offsetof(struct kvm_vcpu, 481 DEFINE(VCPU_TIMING_EXIT_TBU, offsetof(struct kvm_vcpu,
diff --git a/arch/powerpc/kernel/btext.c b/arch/powerpc/kernel/btext.c
index 26e58630ed7b..625942ae5585 100644
--- a/arch/powerpc/kernel/btext.c
+++ b/arch/powerpc/kernel/btext.c
@@ -7,7 +7,7 @@
7#include <linux/string.h> 7#include <linux/string.h>
8#include <linux/init.h> 8#include <linux/init.h>
9#include <linux/module.h> 9#include <linux/module.h>
10#include <linux/lmb.h> 10#include <linux/memblock.h>
11 11
12#include <asm/sections.h> 12#include <asm/sections.h>
13#include <asm/prom.h> 13#include <asm/prom.h>
diff --git a/arch/powerpc/kernel/cacheinfo.c b/arch/powerpc/kernel/cacheinfo.c
index bb37b1d19a58..a3c684b4c862 100644
--- a/arch/powerpc/kernel/cacheinfo.c
+++ b/arch/powerpc/kernel/cacheinfo.c
@@ -19,6 +19,7 @@
19#include <linux/notifier.h> 19#include <linux/notifier.h>
20#include <linux/of.h> 20#include <linux/of.h>
21#include <linux/percpu.h> 21#include <linux/percpu.h>
22#include <linux/slab.h>
22#include <asm/prom.h> 23#include <asm/prom.h>
23 24
24#include "cacheinfo.h" 25#include "cacheinfo.h"
@@ -642,7 +643,7 @@ static struct kobj_attribute *cache_index_opt_attrs[] = {
642 &cache_assoc_attr, 643 &cache_assoc_attr,
643}; 644};
644 645
645static struct sysfs_ops cache_index_ops = { 646static const struct sysfs_ops cache_index_ops = {
646 .show = cache_index_show, 647 .show = cache_index_show,
647}; 648};
648 649
diff --git a/arch/powerpc/kernel/cputable.c b/arch/powerpc/kernel/cputable.c
index 2fc82bac3bbc..87aa0f3c6047 100644
--- a/arch/powerpc/kernel/cputable.c
+++ b/arch/powerpc/kernel/cputable.c
@@ -1701,6 +1701,35 @@ static struct cpu_spec __initdata cpu_specs[] = {
1701 .machine_check = machine_check_440A, 1701 .machine_check = machine_check_440A,
1702 .platform = "ppc440", 1702 .platform = "ppc440",
1703 }, 1703 },
1704 { /* 476 core */
1705 .pvr_mask = 0xffff0000,
1706 .pvr_value = 0x11a50000,
1707 .cpu_name = "476",
1708 .cpu_features = CPU_FTRS_47X,
1709 .cpu_user_features = COMMON_USER_BOOKE |
1710 PPC_FEATURE_HAS_FPU,
1711 .mmu_features = MMU_FTR_TYPE_47x |
1712 MMU_FTR_USE_TLBIVAX_BCAST | MMU_FTR_LOCK_BCAST_INVAL,
1713 .icache_bsize = 32,
1714 .dcache_bsize = 128,
1715 .machine_check = machine_check_47x,
1716 .platform = "ppc470",
1717 },
1718 { /* 476 iss */
1719 .pvr_mask = 0xffff0000,
1720 .pvr_value = 0x00050000,
1721 .cpu_name = "476",
1722 .cpu_features = CPU_FTRS_47X,
1723 .cpu_user_features = COMMON_USER_BOOKE |
1724 PPC_FEATURE_HAS_FPU,
1725 .cpu_user_features = COMMON_USER_BOOKE,
1726 .mmu_features = MMU_FTR_TYPE_47x |
1727 MMU_FTR_USE_TLBIVAX_BCAST | MMU_FTR_LOCK_BCAST_INVAL,
1728 .icache_bsize = 32,
1729 .dcache_bsize = 128,
1730 .machine_check = machine_check_47x,
1731 .platform = "ppc470",
1732 },
1704 { /* default match */ 1733 { /* default match */
1705 .pvr_mask = 0x00000000, 1734 .pvr_mask = 0x00000000,
1706 .pvr_value = 0x00000000, 1735 .pvr_value = 0x00000000,
@@ -1808,10 +1837,10 @@ static struct cpu_spec __initdata cpu_specs[] = {
1808 .icache_bsize = 64, 1837 .icache_bsize = 64,
1809 .dcache_bsize = 64, 1838 .dcache_bsize = 64,
1810 .num_pmcs = 4, 1839 .num_pmcs = 4,
1811 .oprofile_cpu_type = "ppc/e500", /* xxx - galak, e500mc? */ 1840 .oprofile_cpu_type = "ppc/e500mc",
1812 .oprofile_type = PPC_OPROFILE_FSL_EMB, 1841 .oprofile_type = PPC_OPROFILE_FSL_EMB,
1813 .cpu_setup = __setup_cpu_e500mc, 1842 .cpu_setup = __setup_cpu_e500mc,
1814 .machine_check = machine_check_e500, 1843 .machine_check = machine_check_e500mc,
1815 .platform = "ppce500mc", 1844 .platform = "ppce500mc",
1816 }, 1845 },
1817 { /* default match */ 1846 { /* default match */
diff --git a/arch/powerpc/kernel/crash.c b/arch/powerpc/kernel/crash.c
index 6f4613dd05ef..417f7b05a9ce 100644
--- a/arch/powerpc/kernel/crash.c
+++ b/arch/powerpc/kernel/crash.c
@@ -24,7 +24,7 @@
24#include <linux/init.h> 24#include <linux/init.h>
25#include <linux/irq.h> 25#include <linux/irq.h>
26#include <linux/types.h> 26#include <linux/types.h>
27#include <linux/lmb.h> 27#include <linux/memblock.h>
28 28
29#include <asm/processor.h> 29#include <asm/processor.h>
30#include <asm/machdep.h> 30#include <asm/machdep.h>
@@ -162,6 +162,34 @@ static void crash_kexec_prepare_cpus(int cpu)
162 /* Leave the IPI callback set */ 162 /* Leave the IPI callback set */
163} 163}
164 164
165/* wait for all the CPUs to hit real mode but timeout if they don't come in */
166#ifdef CONFIG_PPC_STD_MMU_64
167static void crash_kexec_wait_realmode(int cpu)
168{
169 unsigned int msecs;
170 int i;
171
172 msecs = 10000;
173 for (i=0; i < NR_CPUS && msecs > 0; i++) {
174 if (i == cpu)
175 continue;
176
177 while (paca[i].kexec_state < KEXEC_STATE_REAL_MODE) {
178 barrier();
179 if (!cpu_possible(i)) {
180 break;
181 }
182 if (!cpu_online(i)) {
183 break;
184 }
185 msecs--;
186 mdelay(1);
187 }
188 }
189 mb();
190}
191#endif
192
165/* 193/*
166 * This function will be called by secondary cpus or by kexec cpu 194 * This function will be called by secondary cpus or by kexec cpu
167 * if soft-reset is activated to stop some CPUs. 195 * if soft-reset is activated to stop some CPUs.
@@ -347,10 +375,12 @@ int crash_shutdown_unregister(crash_shutdown_t handler)
347EXPORT_SYMBOL(crash_shutdown_unregister); 375EXPORT_SYMBOL(crash_shutdown_unregister);
348 376
349static unsigned long crash_shutdown_buf[JMP_BUF_LEN]; 377static unsigned long crash_shutdown_buf[JMP_BUF_LEN];
378static int crash_shutdown_cpu = -1;
350 379
351static int handle_fault(struct pt_regs *regs) 380static int handle_fault(struct pt_regs *regs)
352{ 381{
353 longjmp(crash_shutdown_buf, 1); 382 if (crash_shutdown_cpu == smp_processor_id())
383 longjmp(crash_shutdown_buf, 1);
354 return 0; 384 return 0;
355} 385}
356 386
@@ -375,11 +405,14 @@ void default_machine_crash_shutdown(struct pt_regs *regs)
375 for_each_irq(i) { 405 for_each_irq(i) {
376 struct irq_desc *desc = irq_to_desc(i); 406 struct irq_desc *desc = irq_to_desc(i);
377 407
408 if (!desc || !desc->chip || !desc->chip->eoi)
409 continue;
410
378 if (desc->status & IRQ_INPROGRESS) 411 if (desc->status & IRQ_INPROGRESS)
379 desc->chip->eoi(i); 412 desc->chip->eoi(i);
380 413
381 if (!(desc->status & IRQ_DISABLED)) 414 if (!(desc->status & IRQ_DISABLED))
382 desc->chip->disable(i); 415 desc->chip->shutdown(i);
383 } 416 }
384 417
385 /* 418 /*
@@ -388,6 +421,7 @@ void default_machine_crash_shutdown(struct pt_regs *regs)
388 */ 421 */
389 old_handler = __debugger_fault_handler; 422 old_handler = __debugger_fault_handler;
390 __debugger_fault_handler = handle_fault; 423 __debugger_fault_handler = handle_fault;
424 crash_shutdown_cpu = smp_processor_id();
391 for (i = 0; crash_shutdown_handles[i]; i++) { 425 for (i = 0; crash_shutdown_handles[i]; i++) {
392 if (setjmp(crash_shutdown_buf) == 0) { 426 if (setjmp(crash_shutdown_buf) == 0) {
393 /* 427 /*
@@ -401,6 +435,7 @@ void default_machine_crash_shutdown(struct pt_regs *regs)
401 asm volatile("sync; isync"); 435 asm volatile("sync; isync");
402 } 436 }
403 } 437 }
438 crash_shutdown_cpu = -1;
404 __debugger_fault_handler = old_handler; 439 __debugger_fault_handler = old_handler;
405 440
406 /* 441 /*
@@ -412,6 +447,9 @@ void default_machine_crash_shutdown(struct pt_regs *regs)
412 crash_kexec_prepare_cpus(crashing_cpu); 447 crash_kexec_prepare_cpus(crashing_cpu);
413 cpu_set(crashing_cpu, cpus_in_crash); 448 cpu_set(crashing_cpu, cpus_in_crash);
414 crash_kexec_stop_spus(); 449 crash_kexec_stop_spus();
450#if defined(CONFIG_PPC_STD_MMU_64) && defined(CONFIG_SMP)
451 crash_kexec_wait_realmode(crashing_cpu);
452#endif
415 if (ppc_md.kexec_cpu_down) 453 if (ppc_md.kexec_cpu_down)
416 ppc_md.kexec_cpu_down(1, 0); 454 ppc_md.kexec_cpu_down(1, 0);
417} 455}
diff --git a/arch/powerpc/kernel/crash_dump.c b/arch/powerpc/kernel/crash_dump.c
index 5fb667a60894..40f524643ba6 100644
--- a/arch/powerpc/kernel/crash_dump.c
+++ b/arch/powerpc/kernel/crash_dump.c
@@ -13,7 +13,7 @@
13 13
14#include <linux/crash_dump.h> 14#include <linux/crash_dump.h>
15#include <linux/bootmem.h> 15#include <linux/bootmem.h>
16#include <linux/lmb.h> 16#include <linux/memblock.h>
17#include <asm/code-patching.h> 17#include <asm/code-patching.h>
18#include <asm/kdump.h> 18#include <asm/kdump.h>
19#include <asm/prom.h> 19#include <asm/prom.h>
@@ -33,7 +33,7 @@ unsigned long long elfcorehdr_addr = ELFCORE_ADDR_MAX;
33#ifndef CONFIG_RELOCATABLE 33#ifndef CONFIG_RELOCATABLE
34void __init reserve_kdump_trampoline(void) 34void __init reserve_kdump_trampoline(void)
35{ 35{
36 lmb_reserve(0, KDUMP_RESERVE_LIMIT); 36 memblock_reserve(0, KDUMP_RESERVE_LIMIT);
37} 37}
38 38
39static void __init create_trampoline(unsigned long addr) 39static void __init create_trampoline(unsigned long addr)
diff --git a/arch/powerpc/kernel/dma-swiotlb.c b/arch/powerpc/kernel/dma-swiotlb.c
index 59c928564a03..02f724f36753 100644
--- a/arch/powerpc/kernel/dma-swiotlb.c
+++ b/arch/powerpc/kernel/dma-swiotlb.c
@@ -1,7 +1,8 @@
1/* 1/*
2 * Contains routines needed to support swiotlb for ppc. 2 * Contains routines needed to support swiotlb for ppc.
3 * 3 *
4 * Copyright (C) 2009 Becky Bruce, Freescale Semiconductor 4 * Copyright (C) 2009-2010 Freescale Semiconductor, Inc.
5 * Author: Becky Bruce
5 * 6 *
6 * This program is free software; you can redistribute it and/or modify it 7 * This program is free software; you can redistribute it and/or modify it
7 * under the terms of the GNU General Public License as published by the 8 * under the terms of the GNU General Public License as published by the
@@ -38,8 +39,8 @@ struct dma_map_ops swiotlb_dma_ops = {
38 .dma_supported = swiotlb_dma_supported, 39 .dma_supported = swiotlb_dma_supported,
39 .map_page = swiotlb_map_page, 40 .map_page = swiotlb_map_page,
40 .unmap_page = swiotlb_unmap_page, 41 .unmap_page = swiotlb_unmap_page,
41 .sync_single_range_for_cpu = swiotlb_sync_single_range_for_cpu, 42 .sync_single_for_cpu = swiotlb_sync_single_for_cpu,
42 .sync_single_range_for_device = swiotlb_sync_single_range_for_device, 43 .sync_single_for_device = swiotlb_sync_single_for_device,
43 .sync_sg_for_cpu = swiotlb_sync_sg_for_cpu, 44 .sync_sg_for_cpu = swiotlb_sync_sg_for_cpu,
44 .sync_sg_for_device = swiotlb_sync_sg_for_device, 45 .sync_sg_for_device = swiotlb_sync_sg_for_device,
45 .mapping_error = swiotlb_dma_mapping_error, 46 .mapping_error = swiotlb_dma_mapping_error,
@@ -70,7 +71,7 @@ static int ppc_swiotlb_bus_notify(struct notifier_block *nb,
70 sd->max_direct_dma_addr = 0; 71 sd->max_direct_dma_addr = 0;
71 72
72 /* May need to bounce if the device can't address all of DRAM */ 73 /* May need to bounce if the device can't address all of DRAM */
73 if (dma_get_mask(dev) < lmb_end_of_DRAM()) 74 if ((dma_get_mask(dev) + 1) < memblock_end_of_DRAM())
74 set_dma_ops(dev, &swiotlb_dma_ops); 75 set_dma_ops(dev, &swiotlb_dma_ops);
75 76
76 return NOTIFY_DONE; 77 return NOTIFY_DONE;
diff --git a/arch/powerpc/kernel/dma.c b/arch/powerpc/kernel/dma.c
index 6215062caf8c..84d6367ec003 100644
--- a/arch/powerpc/kernel/dma.c
+++ b/arch/powerpc/kernel/dma.c
@@ -8,7 +8,8 @@
8#include <linux/device.h> 8#include <linux/device.h>
9#include <linux/dma-mapping.h> 9#include <linux/dma-mapping.h>
10#include <linux/dma-debug.h> 10#include <linux/dma-debug.h>
11#include <linux/lmb.h> 11#include <linux/gfp.h>
12#include <linux/memblock.h>
12#include <asm/bug.h> 13#include <asm/bug.h>
13#include <asm/abs_addr.h> 14#include <asm/abs_addr.h>
14 15
@@ -88,7 +89,7 @@ static int dma_direct_dma_supported(struct device *dev, u64 mask)
88 /* Could be improved so platforms can set the limit in case 89 /* Could be improved so platforms can set the limit in case
89 * they have limited DMA windows 90 * they have limited DMA windows
90 */ 91 */
91 return mask >= (lmb_end_of_DRAM() - 1); 92 return mask >= (memblock_end_of_DRAM() - 1);
92#else 93#else
93 return 1; 94 return 1;
94#endif 95#endif
@@ -126,11 +127,11 @@ static inline void dma_direct_sync_sg(struct device *dev,
126 __dma_sync_page(sg_page(sg), sg->offset, sg->length, direction); 127 __dma_sync_page(sg_page(sg), sg->offset, sg->length, direction);
127} 128}
128 129
129static inline void dma_direct_sync_single_range(struct device *dev, 130static inline void dma_direct_sync_single(struct device *dev,
130 dma_addr_t dma_handle, unsigned long offset, size_t size, 131 dma_addr_t dma_handle, size_t size,
131 enum dma_data_direction direction) 132 enum dma_data_direction direction)
132{ 133{
133 __dma_sync(bus_to_virt(dma_handle+offset), size, direction); 134 __dma_sync(bus_to_virt(dma_handle), size, direction);
134} 135}
135#endif 136#endif
136 137
@@ -143,8 +144,8 @@ struct dma_map_ops dma_direct_ops = {
143 .map_page = dma_direct_map_page, 144 .map_page = dma_direct_map_page,
144 .unmap_page = dma_direct_unmap_page, 145 .unmap_page = dma_direct_unmap_page,
145#ifdef CONFIG_NOT_COHERENT_CACHE 146#ifdef CONFIG_NOT_COHERENT_CACHE
146 .sync_single_range_for_cpu = dma_direct_sync_single_range, 147 .sync_single_for_cpu = dma_direct_sync_single,
147 .sync_single_range_for_device = dma_direct_sync_single_range, 148 .sync_single_for_device = dma_direct_sync_single,
148 .sync_sg_for_cpu = dma_direct_sync_sg, 149 .sync_sg_for_cpu = dma_direct_sync_sg,
149 .sync_sg_for_device = dma_direct_sync_sg, 150 .sync_sg_for_device = dma_direct_sync_sg,
150#endif 151#endif
diff --git a/arch/powerpc/kernel/e500-pmu.c b/arch/powerpc/kernel/e500-pmu.c
new file mode 100644
index 000000000000..7c07de0d8943
--- /dev/null
+++ b/arch/powerpc/kernel/e500-pmu.c
@@ -0,0 +1,129 @@
1/*
2 * Performance counter support for e500 family processors.
3 *
4 * Copyright 2008-2009 Paul Mackerras, IBM Corporation.
5 * Copyright 2010 Freescale Semiconductor, Inc.
6 *
7 * This program is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License
9 * as published by the Free Software Foundation; either version
10 * 2 of the License, or (at your option) any later version.
11 */
12#include <linux/string.h>
13#include <linux/perf_event.h>
14#include <asm/reg.h>
15#include <asm/cputable.h>
16
17/*
18 * Map of generic hardware event types to hardware events
19 * Zero if unsupported
20 */
21static int e500_generic_events[] = {
22 [PERF_COUNT_HW_CPU_CYCLES] = 1,
23 [PERF_COUNT_HW_INSTRUCTIONS] = 2,
24 [PERF_COUNT_HW_CACHE_MISSES] = 41, /* Data L1 cache reloads */
25 [PERF_COUNT_HW_BRANCH_INSTRUCTIONS] = 12,
26 [PERF_COUNT_HW_BRANCH_MISSES] = 15,
27};
28
29#define C(x) PERF_COUNT_HW_CACHE_##x
30
31/*
32 * Table of generalized cache-related events.
33 * 0 means not supported, -1 means nonsensical, other values
34 * are event codes.
35 */
36static int e500_cache_events[C(MAX)][C(OP_MAX)][C(RESULT_MAX)] = {
37 /*
38 * D-cache misses are not split into read/write/prefetch;
39 * use raw event 41.
40 */
41 [C(L1D)] = { /* RESULT_ACCESS RESULT_MISS */
42 [C(OP_READ)] = { 27, 0 },
43 [C(OP_WRITE)] = { 28, 0 },
44 [C(OP_PREFETCH)] = { 29, 0 },
45 },
46 [C(L1I)] = { /* RESULT_ACCESS RESULT_MISS */
47 [C(OP_READ)] = { 2, 60 },
48 [C(OP_WRITE)] = { -1, -1 },
49 [C(OP_PREFETCH)] = { 0, 0 },
50 },
51 /*
52 * Assuming LL means L2, it's not a good match for this model.
53 * It allocates only on L1 castout or explicit prefetch, and
54 * does not have separate read/write events (but it does have
55 * separate instruction/data events).
56 */
57 [C(LL)] = { /* RESULT_ACCESS RESULT_MISS */
58 [C(OP_READ)] = { 0, 0 },
59 [C(OP_WRITE)] = { 0, 0 },
60 [C(OP_PREFETCH)] = { 0, 0 },
61 },
62 /*
63 * There are data/instruction MMU misses, but that's a miss on
64 * the chip's internal level-one TLB which is probably not
65 * what the user wants. Instead, unified level-two TLB misses
66 * are reported here.
67 */
68 [C(DTLB)] = { /* RESULT_ACCESS RESULT_MISS */
69 [C(OP_READ)] = { 26, 66 },
70 [C(OP_WRITE)] = { -1, -1 },
71 [C(OP_PREFETCH)] = { -1, -1 },
72 },
73 [C(BPU)] = { /* RESULT_ACCESS RESULT_MISS */
74 [C(OP_READ)] = { 12, 15 },
75 [C(OP_WRITE)] = { -1, -1 },
76 [C(OP_PREFETCH)] = { -1, -1 },
77 },
78};
79
80static int num_events = 128;
81
82/* Upper half of event id is PMLCb, for threshold events */
83static u64 e500_xlate_event(u64 event_id)
84{
85 u32 event_low = (u32)event_id;
86 u64 ret;
87
88 if (event_low >= num_events)
89 return 0;
90
91 ret = FSL_EMB_EVENT_VALID;
92
93 if (event_low >= 76 && event_low <= 81) {
94 ret |= FSL_EMB_EVENT_RESTRICTED;
95 ret |= event_id &
96 (FSL_EMB_EVENT_THRESHMUL | FSL_EMB_EVENT_THRESH);
97 } else if (event_id &
98 (FSL_EMB_EVENT_THRESHMUL | FSL_EMB_EVENT_THRESH)) {
99 /* Threshold requested on non-threshold event */
100 return 0;
101 }
102
103 return ret;
104}
105
106static struct fsl_emb_pmu e500_pmu = {
107 .name = "e500 family",
108 .n_counter = 4,
109 .n_restricted = 2,
110 .xlate_event = e500_xlate_event,
111 .n_generic = ARRAY_SIZE(e500_generic_events),
112 .generic_events = e500_generic_events,
113 .cache_events = &e500_cache_events,
114};
115
116static int init_e500_pmu(void)
117{
118 if (!cur_cpu_spec->oprofile_cpu_type)
119 return -ENODEV;
120
121 if (!strcmp(cur_cpu_spec->oprofile_cpu_type, "ppc/e500mc"))
122 num_events = 256;
123 else if (strcmp(cur_cpu_spec->oprofile_cpu_type, "ppc/e500"))
124 return -ENODEV;
125
126 return register_fsl_emb_pmu(&e500_pmu);
127}
128
129arch_initcall(init_e500_pmu);
diff --git a/arch/powerpc/kernel/entry_32.S b/arch/powerpc/kernel/entry_32.S
index 1175a8539e6c..ed4aeb96398b 100644
--- a/arch/powerpc/kernel/entry_32.S
+++ b/arch/powerpc/kernel/entry_32.S
@@ -373,11 +373,13 @@ syscall_exit_cont:
373 bnel- load_dbcr0 373 bnel- load_dbcr0
374#endif 374#endif
375#ifdef CONFIG_44x 375#ifdef CONFIG_44x
376BEGIN_MMU_FTR_SECTION
376 lis r4,icache_44x_need_flush@ha 377 lis r4,icache_44x_need_flush@ha
377 lwz r5,icache_44x_need_flush@l(r4) 378 lwz r5,icache_44x_need_flush@l(r4)
378 cmplwi cr0,r5,0 379 cmplwi cr0,r5,0
379 bne- 2f 380 bne- 2f
3801: 3811:
382END_MMU_FTR_SECTION_IFCLR(MMU_FTR_TYPE_47x)
381#endif /* CONFIG_44x */ 383#endif /* CONFIG_44x */
382BEGIN_FTR_SECTION 384BEGIN_FTR_SECTION
383 lwarx r7,0,r1 385 lwarx r7,0,r1
@@ -848,6 +850,9 @@ resume_kernel:
848 /* interrupts are hard-disabled at this point */ 850 /* interrupts are hard-disabled at this point */
849restore: 851restore:
850#ifdef CONFIG_44x 852#ifdef CONFIG_44x
853BEGIN_MMU_FTR_SECTION
854 b 1f
855END_MMU_FTR_SECTION_IFSET(MMU_FTR_TYPE_47x)
851 lis r4,icache_44x_need_flush@ha 856 lis r4,icache_44x_need_flush@ha
852 lwz r5,icache_44x_need_flush@l(r4) 857 lwz r5,icache_44x_need_flush@l(r4)
853 cmplwi cr0,r5,0 858 cmplwi cr0,r5,0
diff --git a/arch/powerpc/kernel/entry_64.S b/arch/powerpc/kernel/entry_64.S
index bdcb557d470a..42e9d908914a 100644
--- a/arch/powerpc/kernel/entry_64.S
+++ b/arch/powerpc/kernel/entry_64.S
@@ -556,15 +556,6 @@ ALT_FW_FTR_SECTION_END_IFCLR(FW_FEATURE_ISERIES)
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 */
@@ -791,9 +782,8 @@ _GLOBAL(enter_rtas)
791 782
792 li r9,1 783 li r9,1
793 rldicr r9,r9,MSR_SF_LG,(63-MSR_SF_LG) 784 rldicr r9,r9,MSR_SF_LG,(63-MSR_SF_LG)
794 ori r9,r9,MSR_IR|MSR_DR|MSR_FE0|MSR_FE1|MSR_FP 785 ori r9,r9,MSR_IR|MSR_DR|MSR_FE0|MSR_FE1|MSR_FP|MSR_RI
795 andc r6,r0,r9 786 andc r6,r0,r9
796 ori r6,r6,MSR_RI
797 sync /* disable interrupts so SRR0/1 */ 787 sync /* disable interrupts so SRR0/1 */
798 mtmsrd r0 /* don't get trashed */ 788 mtmsrd r0 /* don't get trashed */
799 789
diff --git a/arch/powerpc/kernel/exceptions-64s.S b/arch/powerpc/kernel/exceptions-64s.S
index e3be98ffe2a7..3e423fbad6bc 100644
--- a/arch/powerpc/kernel/exceptions-64s.S
+++ b/arch/powerpc/kernel/exceptions-64s.S
@@ -735,8 +735,11 @@ _STATIC(do_hash_page)
735 std r3,_DAR(r1) 735 std r3,_DAR(r1)
736 std r4,_DSISR(r1) 736 std r4,_DSISR(r1)
737 737
738 andis. r0,r4,0xa450 /* weird error? */ 738 andis. r0,r4,0xa410 /* weird error? */
739 bne- handle_page_fault /* if not, try to insert a HPTE */ 739 bne- handle_page_fault /* if not, try to insert a HPTE */
740 andis. r0,r4,DSISR_DABRMATCH@h
741 bne- handle_dabr_fault
742
740BEGIN_FTR_SECTION 743BEGIN_FTR_SECTION
741 andis. r0,r4,0x0020 /* Is it a segment table fault? */ 744 andis. r0,r4,0x0020 /* Is it a segment table fault? */
742 bne- do_ste_alloc /* If so handle it */ 745 bne- do_ste_alloc /* If so handle it */
@@ -823,6 +826,14 @@ END_FW_FTR_SECTION_IFCLR(FW_FEATURE_ISERIES)
823 bl .raw_local_irq_restore 826 bl .raw_local_irq_restore
824 b 11f 827 b 11f
825 828
829/* We have a data breakpoint exception - handle it */
830handle_dabr_fault:
831 ld r4,_DAR(r1)
832 ld r5,_DSISR(r1)
833 addi r3,r1,STACK_FRAME_OVERHEAD
834 bl .do_dabr
835 b .ret_from_except_lite
836
826/* Here we have a page fault that hash_page can't handle. */ 837/* Here we have a page fault that hash_page can't handle. */
827handle_page_fault: 838handle_page_fault:
828 ENABLE_INTS 839 ENABLE_INTS
diff --git a/arch/powerpc/kernel/firmware.c b/arch/powerpc/kernel/firmware.c
index 1679a70bbcad..6b1f4271eb53 100644
--- a/arch/powerpc/kernel/firmware.c
+++ b/arch/powerpc/kernel/firmware.c
@@ -17,5 +17,5 @@
17 17
18#include <asm/firmware.h> 18#include <asm/firmware.h>
19 19
20unsigned long powerpc_firmware_features; 20unsigned long powerpc_firmware_features __read_mostly;
21EXPORT_SYMBOL_GPL(powerpc_firmware_features); 21EXPORT_SYMBOL_GPL(powerpc_firmware_features);
diff --git a/arch/powerpc/kernel/fsl_booke_entry_mapping.S b/arch/powerpc/kernel/fsl_booke_entry_mapping.S
new file mode 100644
index 000000000000..a92c79be2728
--- /dev/null
+++ b/arch/powerpc/kernel/fsl_booke_entry_mapping.S
@@ -0,0 +1,235 @@
1
2/* 1. Find the index of the entry we're executing in */
3 bl invstr /* Find our address */
4invstr: mflr r6 /* Make it accessible */
5 mfmsr r7
6 rlwinm r4,r7,27,31,31 /* extract MSR[IS] */
7 mfspr r7, SPRN_PID0
8 slwi r7,r7,16
9 or r7,r7,r4
10 mtspr SPRN_MAS6,r7
11 tlbsx 0,r6 /* search MSR[IS], SPID=PID0 */
12 mfspr r7,SPRN_MAS1
13 andis. r7,r7,MAS1_VALID@h
14 bne match_TLB
15
16 mfspr r7,SPRN_MMUCFG
17 rlwinm r7,r7,21,28,31 /* extract MMUCFG[NPIDS] */
18 cmpwi r7,3
19 bne match_TLB /* skip if NPIDS != 3 */
20
21 mfspr r7,SPRN_PID1
22 slwi r7,r7,16
23 or r7,r7,r4
24 mtspr SPRN_MAS6,r7
25 tlbsx 0,r6 /* search MSR[IS], SPID=PID1 */
26 mfspr r7,SPRN_MAS1
27 andis. r7,r7,MAS1_VALID@h
28 bne match_TLB
29 mfspr r7, SPRN_PID2
30 slwi r7,r7,16
31 or r7,r7,r4
32 mtspr SPRN_MAS6,r7
33 tlbsx 0,r6 /* Fall through, we had to match */
34
35match_TLB:
36 mfspr r7,SPRN_MAS0
37 rlwinm r3,r7,16,20,31 /* Extract MAS0(Entry) */
38
39 mfspr r7,SPRN_MAS1 /* Insure IPROT set */
40 oris r7,r7,MAS1_IPROT@h
41 mtspr SPRN_MAS1,r7
42 tlbwe
43
44/* 2. Invalidate all entries except the entry we're executing in */
45 mfspr r9,SPRN_TLB1CFG
46 andi. r9,r9,0xfff
47 li r6,0 /* Set Entry counter to 0 */
481: lis r7,0x1000 /* Set MAS0(TLBSEL) = 1 */
49 rlwimi r7,r6,16,4,15 /* Setup MAS0 = TLBSEL | ESEL(r6) */
50 mtspr SPRN_MAS0,r7
51 tlbre
52 mfspr r7,SPRN_MAS1
53 rlwinm r7,r7,0,2,31 /* Clear MAS1 Valid and IPROT */
54 cmpw r3,r6
55 beq skpinv /* Dont update the current execution TLB */
56 mtspr SPRN_MAS1,r7
57 tlbwe
58 isync
59skpinv: addi r6,r6,1 /* Increment */
60 cmpw r6,r9 /* Are we done? */
61 bne 1b /* If not, repeat */
62
63 /* Invalidate TLB0 */
64 li r6,0x04
65 tlbivax 0,r6
66 TLBSYNC
67 /* Invalidate TLB1 */
68 li r6,0x0c
69 tlbivax 0,r6
70 TLBSYNC
71
72/* 3. Setup a temp mapping and jump to it */
73 andi. r5, r3, 0x1 /* Find an entry not used and is non-zero */
74 addi r5, r5, 0x1
75 lis r7,0x1000 /* Set MAS0(TLBSEL) = 1 */
76 rlwimi r7,r3,16,4,15 /* Setup MAS0 = TLBSEL | ESEL(r3) */
77 mtspr SPRN_MAS0,r7
78 tlbre
79
80 /* grab and fixup the RPN */
81 mfspr r6,SPRN_MAS1 /* extract MAS1[SIZE] */
82 rlwinm r6,r6,25,27,31
83 li r8,-1
84 addi r6,r6,10
85 slw r6,r8,r6 /* convert to mask */
86
87 bl 1f /* Find our address */
881: mflr r7
89
90 mfspr r8,SPRN_MAS3
91#ifdef CONFIG_PHYS_64BIT
92 mfspr r23,SPRN_MAS7
93#endif
94 and r8,r6,r8
95 subfic r9,r6,-4096
96 and r9,r9,r7
97
98 or r25,r8,r9
99 ori r8,r25,(MAS3_SX|MAS3_SW|MAS3_SR)
100
101 /* Just modify the entry ID and EPN for the temp mapping */
102 lis r7,0x1000 /* Set MAS0(TLBSEL) = 1 */
103 rlwimi r7,r5,16,4,15 /* Setup MAS0 = TLBSEL | ESEL(r5) */
104 mtspr SPRN_MAS0,r7
105 xori r6,r4,1 /* Setup TMP mapping in the other Address space */
106 slwi r6,r6,12
107 oris r6,r6,(MAS1_VALID|MAS1_IPROT)@h
108 ori r6,r6,(MAS1_TSIZE(BOOK3E_PAGESZ_4K))@l
109 mtspr SPRN_MAS1,r6
110 mfspr r6,SPRN_MAS2
111 li r7,0 /* temp EPN = 0 */
112 rlwimi r7,r6,0,20,31
113 mtspr SPRN_MAS2,r7
114 mtspr SPRN_MAS3,r8
115 tlbwe
116
117 xori r6,r4,1
118 slwi r6,r6,5 /* setup new context with other address space */
119 bl 1f /* Find our address */
1201: mflr r9
121 rlwimi r7,r9,0,20,31
122 addi r7,r7,(2f - 1b)
123 mtspr SPRN_SRR0,r7
124 mtspr SPRN_SRR1,r6
125 rfi
1262:
127/* 4. Clear out PIDs & Search info */
128 li r6,0
129 mtspr SPRN_MAS6,r6
130 mtspr SPRN_PID0,r6
131
132 mfspr r7,SPRN_MMUCFG
133 rlwinm r7,r7,21,28,31 /* extract MMUCFG[NPIDS] */
134 cmpwi r7,3
135 bne 2f /* skip if NPIDS != 3 */
136
137 mtspr SPRN_PID1,r6
138 mtspr SPRN_PID2,r6
139
140/* 5. Invalidate mapping we started in */
1412:
142 lis r7,0x1000 /* Set MAS0(TLBSEL) = 1 */
143 rlwimi r7,r3,16,4,15 /* Setup MAS0 = TLBSEL | ESEL(r3) */
144 mtspr SPRN_MAS0,r7
145 tlbre
146 mfspr r6,SPRN_MAS1
147 rlwinm r6,r6,0,2,0 /* clear IPROT */
148 mtspr SPRN_MAS1,r6
149 tlbwe
150 /* Invalidate TLB1 */
151 li r9,0x0c
152 tlbivax 0,r9
153 TLBSYNC
154
155/* The mapping only needs to be cache-coherent on SMP */
156#ifdef CONFIG_SMP
157#define M_IF_SMP MAS2_M
158#else
159#define M_IF_SMP 0
160#endif
161
162#if defined(ENTRY_MAPPING_BOOT_SETUP)
163
164/* 6. Setup KERNELBASE mapping in TLB1[0] */
165 lis r6,0x1000 /* Set MAS0(TLBSEL) = TLB1(1), ESEL = 0 */
166 mtspr SPRN_MAS0,r6
167 lis r6,(MAS1_VALID|MAS1_IPROT)@h
168 ori r6,r6,(MAS1_TSIZE(BOOK3E_PAGESZ_64M))@l
169 mtspr SPRN_MAS1,r6
170 lis r6,MAS2_VAL(PAGE_OFFSET, BOOK3E_PAGESZ_64M, M_IF_SMP)@h
171 ori r6,r6,MAS2_VAL(PAGE_OFFSET, BOOK3E_PAGESZ_64M, M_IF_SMP)@l
172 mtspr SPRN_MAS2,r6
173 mtspr SPRN_MAS3,r8
174 tlbwe
175
176/* 7. Jump to KERNELBASE mapping */
177 lis r6,(KERNELBASE & ~0xfff)@h
178 ori r6,r6,(KERNELBASE & ~0xfff)@l
179
180#elif defined(ENTRY_MAPPING_KEXEC_SETUP)
181/*
182 * 6. Setup a 1:1 mapping in TLB1. Esel 0 is unsued, 1 or 2 contains the tmp
183 * mapping so we start at 3. We setup 8 mappings, each 256MiB in size. This
184 * will cover the first 2GiB of memory.
185 */
186
187 lis r10, (MAS1_VALID|MAS1_IPROT)@h
188 ori r10,r10, (MAS1_TSIZE(BOOK3E_PAGESZ_256M))@l
189 li r11, 0
190 li r0, 8
191 mtctr r0
192
193next_tlb_setup:
194 addi r0, r11, 3
195 rlwinm r0, r0, 16, 4, 15 // Compute esel
196 rlwinm r9, r11, 28, 0, 3 // Compute [ER]PN
197 oris r0, r0, (MAS0_TLBSEL(1))@h
198 mtspr SPRN_MAS0,r0
199 mtspr SPRN_MAS1,r10
200 mtspr SPRN_MAS2,r9
201 ori r9, r9, (MAS3_SX|MAS3_SW|MAS3_SR)
202 mtspr SPRN_MAS3,r9
203 tlbwe
204 addi r11, r11, 1
205 bdnz+ next_tlb_setup
206
207/* 7. Jump to our 1:1 mapping */
208 mr r6, r25
209#else
210 #error You need to specify the mapping or not use this at all.
211#endif
212
213 lis r7,MSR_KERNEL@h
214 ori r7,r7,MSR_KERNEL@l
215 bl 1f /* Find our address */
2161: mflr r9
217 rlwimi r6,r9,0,20,31
218 addi r6,r6,(2f - 1b)
219 mtspr SPRN_SRR0,r6
220 mtspr SPRN_SRR1,r7
221 rfi /* start execution out of TLB1[0] entry */
222
223/* 8. Clear out the temp mapping */
2242: lis r7,0x1000 /* Set MAS0(TLBSEL) = 1 */
225 rlwimi r7,r5,16,4,15 /* Setup MAS0 = TLBSEL | ESEL(r5) */
226 mtspr SPRN_MAS0,r7
227 tlbre
228 mfspr r8,SPRN_MAS1
229 rlwinm r8,r8,0,2,0 /* clear IPROT */
230 mtspr SPRN_MAS1,r8
231 tlbwe
232 /* Invalidate TLB1 */
233 li r9,0x0c
234 tlbivax 0,r9
235 TLBSYNC
diff --git a/arch/powerpc/kernel/head_32.S b/arch/powerpc/kernel/head_32.S
index e025e89fe93e..98c4b29a56f4 100644
--- a/arch/powerpc/kernel/head_32.S
+++ b/arch/powerpc/kernel/head_32.S
@@ -33,6 +33,7 @@
33#include <asm/asm-offsets.h> 33#include <asm/asm-offsets.h>
34#include <asm/ptrace.h> 34#include <asm/ptrace.h>
35#include <asm/bug.h> 35#include <asm/bug.h>
36#include <asm/kvm_book3s_asm.h>
36 37
37/* 601 only have IBAT; cr0.eq is set on 601 when using this macro */ 38/* 601 only have IBAT; cr0.eq is set on 601 when using this macro */
38#define LOAD_BAT(n, reg, RA, RB) \ 39#define LOAD_BAT(n, reg, RA, RB) \
@@ -303,6 +304,7 @@ __secondary_hold_acknowledge:
303 */ 304 */
304#define EXCEPTION(n, label, hdlr, xfer) \ 305#define EXCEPTION(n, label, hdlr, xfer) \
305 . = n; \ 306 . = n; \
307 DO_KVM n; \
306label: \ 308label: \
307 EXCEPTION_PROLOG; \ 309 EXCEPTION_PROLOG; \
308 addi r3,r1,STACK_FRAME_OVERHEAD; \ 310 addi r3,r1,STACK_FRAME_OVERHEAD; \
@@ -358,6 +360,7 @@ i##n: \
358 * -- paulus. 360 * -- paulus.
359 */ 361 */
360 . = 0x200 362 . = 0x200
363 DO_KVM 0x200
361 mtspr SPRN_SPRG_SCRATCH0,r10 364 mtspr SPRN_SPRG_SCRATCH0,r10
362 mtspr SPRN_SPRG_SCRATCH1,r11 365 mtspr SPRN_SPRG_SCRATCH1,r11
363 mfcr r10 366 mfcr r10
@@ -381,6 +384,7 @@ i##n: \
381 384
382/* Data access exception. */ 385/* Data access exception. */
383 . = 0x300 386 . = 0x300
387 DO_KVM 0x300
384DataAccess: 388DataAccess:
385 EXCEPTION_PROLOG 389 EXCEPTION_PROLOG
386 mfspr r10,SPRN_DSISR 390 mfspr r10,SPRN_DSISR
@@ -397,6 +401,7 @@ DataAccess:
397 401
398/* Instruction access exception. */ 402/* Instruction access exception. */
399 . = 0x400 403 . = 0x400
404 DO_KVM 0x400
400InstructionAccess: 405InstructionAccess:
401 EXCEPTION_PROLOG 406 EXCEPTION_PROLOG
402 andis. r0,r9,0x4000 /* no pte found? */ 407 andis. r0,r9,0x4000 /* no pte found? */
@@ -413,6 +418,7 @@ InstructionAccess:
413 418
414/* Alignment exception */ 419/* Alignment exception */
415 . = 0x600 420 . = 0x600
421 DO_KVM 0x600
416Alignment: 422Alignment:
417 EXCEPTION_PROLOG 423 EXCEPTION_PROLOG
418 mfspr r4,SPRN_DAR 424 mfspr r4,SPRN_DAR
@@ -427,6 +433,7 @@ Alignment:
427 433
428/* Floating-point unavailable */ 434/* Floating-point unavailable */
429 . = 0x800 435 . = 0x800
436 DO_KVM 0x800
430FPUnavailable: 437FPUnavailable:
431BEGIN_FTR_SECTION 438BEGIN_FTR_SECTION
432/* 439/*
@@ -450,6 +457,7 @@ END_FTR_SECTION_IFSET(CPU_FTR_FPU_UNAVAILABLE)
450 457
451/* System call */ 458/* System call */
452 . = 0xc00 459 . = 0xc00
460 DO_KVM 0xc00
453SystemCall: 461SystemCall:
454 EXCEPTION_PROLOG 462 EXCEPTION_PROLOG
455 EXC_XFER_EE_LITE(0xc00, DoSyscall) 463 EXC_XFER_EE_LITE(0xc00, DoSyscall)
@@ -467,9 +475,11 @@ SystemCall:
467 * by executing an altivec instruction. 475 * by executing an altivec instruction.
468 */ 476 */
469 . = 0xf00 477 . = 0xf00
478 DO_KVM 0xf00
470 b PerformanceMonitor 479 b PerformanceMonitor
471 480
472 . = 0xf20 481 . = 0xf20
482 DO_KVM 0xf20
473 b AltiVecUnavailable 483 b AltiVecUnavailable
474 484
475/* 485/*
@@ -882,6 +892,10 @@ __secondary_start:
882 RFI 892 RFI
883#endif /* CONFIG_SMP */ 893#endif /* CONFIG_SMP */
884 894
895#ifdef CONFIG_KVM_BOOK3S_HANDLER
896#include "../kvm/book3s_rmhandlers.S"
897#endif
898
885/* 899/*
886 * Those generic dummy functions are kept for CPUs not 900 * Those generic dummy functions are kept for CPUs not
887 * included in CONFIG_6xx 901 * included in CONFIG_6xx
diff --git a/arch/powerpc/kernel/head_44x.S b/arch/powerpc/kernel/head_44x.S
index 711368b993f2..5ab484ef06a7 100644
--- a/arch/powerpc/kernel/head_44x.S
+++ b/arch/powerpc/kernel/head_44x.S
@@ -37,6 +37,7 @@
37#include <asm/thread_info.h> 37#include <asm/thread_info.h>
38#include <asm/ppc_asm.h> 38#include <asm/ppc_asm.h>
39#include <asm/asm-offsets.h> 39#include <asm/asm-offsets.h>
40#include <asm/synch.h>
40#include "head_booke.h" 41#include "head_booke.h"
41 42
42 43
@@ -69,165 +70,7 @@ _ENTRY(_start);
69 mr r27,r7 70 mr r27,r7
70 li r24,0 /* CPU number */ 71 li r24,0 /* CPU number */
71 72
72/* 73 bl init_cpu_state
73 * In case the firmware didn't do it, we apply some workarounds
74 * that are good for all 440 core variants here
75 */
76 mfspr r3,SPRN_CCR0
77 rlwinm r3,r3,0,0,27 /* disable icache prefetch */
78 isync
79 mtspr SPRN_CCR0,r3
80 isync
81 sync
82
83/*
84 * Set up the initial MMU state
85 *
86 * We are still executing code at the virtual address
87 * mappings set by the firmware for the base of RAM.
88 *
89 * We first invalidate all TLB entries but the one
90 * we are running from. We then load the KERNELBASE
91 * mappings so we can begin to use kernel addresses
92 * natively and so the interrupt vector locations are
93 * permanently pinned (necessary since Book E
94 * implementations always have translation enabled).
95 *
96 * TODO: Use the known TLB entry we are running from to
97 * determine which physical region we are located
98 * in. This can be used to determine where in RAM
99 * (on a shared CPU system) or PCI memory space
100 * (on a DRAMless system) we are located.
101 * For now, we assume a perfect world which means
102 * we are located at the base of DRAM (physical 0).
103 */
104
105/*
106 * Search TLB for entry that we are currently using.
107 * Invalidate all entries but the one we are using.
108 */
109 /* Load our current PID->MMUCR TID and MSR IS->MMUCR STS */
110 mfspr r3,SPRN_PID /* Get PID */
111 mfmsr r4 /* Get MSR */
112 andi. r4,r4,MSR_IS@l /* TS=1? */
113 beq wmmucr /* If not, leave STS=0 */
114 oris r3,r3,PPC44x_MMUCR_STS@h /* Set STS=1 */
115wmmucr: mtspr SPRN_MMUCR,r3 /* Put MMUCR */
116 sync
117
118 bl invstr /* Find our address */
119invstr: mflr r5 /* Make it accessible */
120 tlbsx r23,0,r5 /* Find entry we are in */
121 li r4,0 /* Start at TLB entry 0 */
122 li r3,0 /* Set PAGEID inval value */
1231: cmpw r23,r4 /* Is this our entry? */
124 beq skpinv /* If so, skip the inval */
125 tlbwe r3,r4,PPC44x_TLB_PAGEID /* If not, inval the entry */
126skpinv: addi r4,r4,1 /* Increment */
127 cmpwi r4,64 /* Are we done? */
128 bne 1b /* If not, repeat */
129 isync /* If so, context change */
130
131/*
132 * Configure and load pinned entry into TLB slot 63.
133 */
134
135 lis r3,PAGE_OFFSET@h
136 ori r3,r3,PAGE_OFFSET@l
137
138 /* Kernel is at the base of RAM */
139 li r4, 0 /* Load the kernel physical address */
140
141 /* Load the kernel PID = 0 */
142 li r0,0
143 mtspr SPRN_PID,r0
144 sync
145
146 /* Initialize MMUCR */
147 li r5,0
148 mtspr SPRN_MMUCR,r5
149 sync
150
151 /* pageid fields */
152 clrrwi r3,r3,10 /* Mask off the effective page number */
153 ori r3,r3,PPC44x_TLB_VALID | PPC44x_TLB_256M
154
155 /* xlat fields */
156 clrrwi r4,r4,10 /* Mask off the real page number */
157 /* ERPN is 0 for first 4GB page */
158
159 /* attrib fields */
160 /* Added guarded bit to protect against speculative loads/stores */
161 li r5,0
162 ori r5,r5,(PPC44x_TLB_SW | PPC44x_TLB_SR | PPC44x_TLB_SX | PPC44x_TLB_G)
163
164 li r0,63 /* TLB slot 63 */
165
166 tlbwe r3,r0,PPC44x_TLB_PAGEID /* Load the pageid fields */
167 tlbwe r4,r0,PPC44x_TLB_XLAT /* Load the translation fields */
168 tlbwe r5,r0,PPC44x_TLB_ATTRIB /* Load the attrib/access fields */
169
170 /* Force context change */
171 mfmsr r0
172 mtspr SPRN_SRR1, r0
173 lis r0,3f@h
174 ori r0,r0,3f@l
175 mtspr SPRN_SRR0,r0
176 sync
177 rfi
178
179 /* If necessary, invalidate original entry we used */
1803: cmpwi r23,63
181 beq 4f
182 li r6,0
183 tlbwe r6,r23,PPC44x_TLB_PAGEID
184 isync
185
1864:
187#ifdef CONFIG_PPC_EARLY_DEBUG_44x
188 /* Add UART mapping for early debug. */
189
190 /* pageid fields */
191 lis r3,PPC44x_EARLY_DEBUG_VIRTADDR@h
192 ori r3,r3,PPC44x_TLB_VALID|PPC44x_TLB_TS|PPC44x_TLB_64K
193
194 /* xlat fields */
195 lis r4,CONFIG_PPC_EARLY_DEBUG_44x_PHYSLOW@h
196 ori r4,r4,CONFIG_PPC_EARLY_DEBUG_44x_PHYSHIGH
197
198 /* attrib fields */
199 li r5,(PPC44x_TLB_SW|PPC44x_TLB_SR|PPC44x_TLB_I|PPC44x_TLB_G)
200 li r0,62 /* TLB slot 0 */
201
202 tlbwe r3,r0,PPC44x_TLB_PAGEID
203 tlbwe r4,r0,PPC44x_TLB_XLAT
204 tlbwe r5,r0,PPC44x_TLB_ATTRIB
205
206 /* Force context change */
207 isync
208#endif /* CONFIG_PPC_EARLY_DEBUG_44x */
209
210 /* Establish the interrupt vector offsets */
211 SET_IVOR(0, CriticalInput);
212 SET_IVOR(1, MachineCheck);
213 SET_IVOR(2, DataStorage);
214 SET_IVOR(3, InstructionStorage);
215 SET_IVOR(4, ExternalInput);
216 SET_IVOR(5, Alignment);
217 SET_IVOR(6, Program);
218 SET_IVOR(7, FloatingPointUnavailable);
219 SET_IVOR(8, SystemCall);
220 SET_IVOR(9, AuxillaryProcessorUnavailable);
221 SET_IVOR(10, Decrementer);
222 SET_IVOR(11, FixedIntervalTimer);
223 SET_IVOR(12, WatchdogTimer);
224 SET_IVOR(13, DataTLBError);
225 SET_IVOR(14, InstructionTLBError);
226 SET_IVOR(15, DebugCrit);
227
228 /* Establish the interrupt vector base */
229 lis r4,interrupt_base@h /* IVPR only uses the high 16-bits */
230 mtspr SPRN_IVPR,r4
231 74
232 /* 75 /*
233 * This is where the main kernel code starts. 76 * This is where the main kernel code starts.
@@ -349,7 +192,7 @@ interrupt_base:
349#endif 192#endif
350 193
351 /* Data TLB Error Interrupt */ 194 /* Data TLB Error Interrupt */
352 START_EXCEPTION(DataTLBError) 195 START_EXCEPTION(DataTLBError44x)
353 mtspr SPRN_SPRG_WSCRATCH0, r10 /* Save some working registers */ 196 mtspr SPRN_SPRG_WSCRATCH0, r10 /* Save some working registers */
354 mtspr SPRN_SPRG_WSCRATCH1, r11 197 mtspr SPRN_SPRG_WSCRATCH1, r11
355 mtspr SPRN_SPRG_WSCRATCH2, r12 198 mtspr SPRN_SPRG_WSCRATCH2, r12
@@ -440,7 +283,7 @@ tlb_44x_patch_hwater_D:
440 mfspr r10,SPRN_DEAR 283 mfspr r10,SPRN_DEAR
441 284
442 /* Jump to common tlb load */ 285 /* Jump to common tlb load */
443 b finish_tlb_load 286 b finish_tlb_load_44x
444 287
4452: 2882:
446 /* The bailout. Restore registers to pre-exception conditions 289 /* The bailout. Restore registers to pre-exception conditions
@@ -460,7 +303,7 @@ tlb_44x_patch_hwater_D:
460 * information from different registers and bailout 303 * information from different registers and bailout
461 * to a different point. 304 * to a different point.
462 */ 305 */
463 START_EXCEPTION(InstructionTLBError) 306 START_EXCEPTION(InstructionTLBError44x)
464 mtspr SPRN_SPRG_WSCRATCH0, r10 /* Save some working registers */ 307 mtspr SPRN_SPRG_WSCRATCH0, r10 /* Save some working registers */
465 mtspr SPRN_SPRG_WSCRATCH1, r11 308 mtspr SPRN_SPRG_WSCRATCH1, r11
466 mtspr SPRN_SPRG_WSCRATCH2, r12 309 mtspr SPRN_SPRG_WSCRATCH2, r12
@@ -536,7 +379,7 @@ tlb_44x_patch_hwater_I:
536 mfspr r10,SPRN_SRR0 379 mfspr r10,SPRN_SRR0
537 380
538 /* Jump to common TLB load point */ 381 /* Jump to common TLB load point */
539 b finish_tlb_load 382 b finish_tlb_load_44x
540 383
5412: 3842:
542 /* The bailout. Restore registers to pre-exception conditions 385 /* The bailout. Restore registers to pre-exception conditions
@@ -550,15 +393,7 @@ tlb_44x_patch_hwater_I:
550 mfspr r10, SPRN_SPRG_RSCRATCH0 393 mfspr r10, SPRN_SPRG_RSCRATCH0
551 b InstructionStorage 394 b InstructionStorage
552 395
553 /* Debug Interrupt */
554 DEBUG_CRIT_EXCEPTION
555
556/*
557 * Local functions
558 */
559
560/* 396/*
561
562 * Both the instruction and data TLB miss get to this 397 * Both the instruction and data TLB miss get to this
563 * point to load the TLB. 398 * point to load the TLB.
564 * r10 - EA of fault 399 * r10 - EA of fault
@@ -568,7 +403,7 @@ tlb_44x_patch_hwater_I:
568 * MMUCR - loaded with proper value when we get here 403 * MMUCR - loaded with proper value when we get here
569 * Upon exit, we reload everything and RFI. 404 * Upon exit, we reload everything and RFI.
570 */ 405 */
571finish_tlb_load: 406finish_tlb_load_44x:
572 /* Combine RPN & ERPN an write WS 0 */ 407 /* Combine RPN & ERPN an write WS 0 */
573 rlwimi r11,r12,0,0,31-PAGE_SHIFT 408 rlwimi r11,r12,0,0,31-PAGE_SHIFT
574 tlbwe r11,r13,PPC44x_TLB_XLAT 409 tlbwe r11,r13,PPC44x_TLB_XLAT
@@ -601,6 +436,227 @@ finish_tlb_load:
601 mfspr r10, SPRN_SPRG_RSCRATCH0 436 mfspr r10, SPRN_SPRG_RSCRATCH0
602 rfi /* Force context change */ 437 rfi /* Force context change */
603 438
439/* TLB error interrupts for 476
440 */
441#ifdef CONFIG_PPC_47x
442 START_EXCEPTION(DataTLBError47x)
443 mtspr SPRN_SPRG_WSCRATCH0,r10 /* Save some working registers */
444 mtspr SPRN_SPRG_WSCRATCH1,r11
445 mtspr SPRN_SPRG_WSCRATCH2,r12
446 mtspr SPRN_SPRG_WSCRATCH3,r13
447 mfcr r11
448 mtspr SPRN_SPRG_WSCRATCH4,r11
449 mfspr r10,SPRN_DEAR /* Get faulting address */
450
451 /* If we are faulting a kernel address, we have to use the
452 * kernel page tables.
453 */
454 lis r11,PAGE_OFFSET@h
455 cmplw cr0,r10,r11
456 blt+ 3f
457 lis r11,swapper_pg_dir@h
458 ori r11,r11, swapper_pg_dir@l
459 li r12,0 /* MMUCR = 0 */
460 b 4f
461
462 /* Get the PGD for the current thread and setup MMUCR */
4633: mfspr r11,SPRN_SPRG3
464 lwz r11,PGDIR(r11)
465 mfspr r12,SPRN_PID /* Get PID */
4664: mtspr SPRN_MMUCR,r12 /* Set MMUCR */
467
468 /* Mask of required permission bits. Note that while we
469 * do copy ESR:ST to _PAGE_RW position as trying to write
470 * to an RO page is pretty common, we don't do it with
471 * _PAGE_DIRTY. We could do it, but it's a fairly rare
472 * event so I'd rather take the overhead when it happens
473 * rather than adding an instruction here. We should measure
474 * whether the whole thing is worth it in the first place
475 * as we could avoid loading SPRN_ESR completely in the first
476 * place...
477 *
478 * TODO: Is it worth doing that mfspr & rlwimi in the first
479 * place or can we save a couple of instructions here ?
480 */
481 mfspr r12,SPRN_ESR
482 li r13,_PAGE_PRESENT|_PAGE_ACCESSED
483 rlwimi r13,r12,10,30,30
484
485 /* Load the PTE */
486 /* Compute pgdir/pmd offset */
487 rlwinm r12,r10,PPC44x_PGD_OFF_SHIFT,PPC44x_PGD_OFF_MASK_BIT,29
488 lwzx r11,r12,r11 /* Get pgd/pmd entry */
489
490 /* Word 0 is EPN,V,TS,DSIZ */
491 li r12,PPC47x_TLB0_VALID | PPC47x_TLBE_SIZE
492 rlwimi r10,r12,0,32-PAGE_SHIFT,31 /* Insert valid and page size*/
493 li r12,0
494 tlbwe r10,r12,0
495
496 /* XXX can we do better ? Need to make sure tlbwe has established
497 * latch V bit in MMUCR0 before the PTE is loaded further down */
498#ifdef CONFIG_SMP
499 isync
500#endif
501
502 rlwinm. r12,r11,0,0,20 /* Extract pt base address */
503 /* Compute pte address */
504 rlwimi r12,r10,PPC44x_PTE_ADD_SHIFT,PPC44x_PTE_ADD_MASK_BIT,28
505 beq 2f /* Bail if no table */
506 lwz r11,0(r12) /* Get high word of pte entry */
507
508 /* XXX can we do better ? maybe insert a known 0 bit from r11 into the
509 * bottom of r12 to create a data dependency... We can also use r10
510 * as destination nowadays
511 */
512#ifdef CONFIG_SMP
513 lwsync
514#endif
515 lwz r12,4(r12) /* Get low word of pte entry */
516
517 andc. r13,r13,r12 /* Check permission */
518
519 /* Jump to common tlb load */
520 beq finish_tlb_load_47x
521
5222: /* The bailout. Restore registers to pre-exception conditions
523 * and call the heavyweights to help us out.
524 */
525 mfspr r11,SPRN_SPRG_RSCRATCH4
526 mtcr r11
527 mfspr r13,SPRN_SPRG_RSCRATCH3
528 mfspr r12,SPRN_SPRG_RSCRATCH2
529 mfspr r11,SPRN_SPRG_RSCRATCH1
530 mfspr r10,SPRN_SPRG_RSCRATCH0
531 b DataStorage
532
533 /* Instruction TLB Error Interrupt */
534 /*
535 * Nearly the same as above, except we get our
536 * information from different registers and bailout
537 * to a different point.
538 */
539 START_EXCEPTION(InstructionTLBError47x)
540 mtspr SPRN_SPRG_WSCRATCH0,r10 /* Save some working registers */
541 mtspr SPRN_SPRG_WSCRATCH1,r11
542 mtspr SPRN_SPRG_WSCRATCH2,r12
543 mtspr SPRN_SPRG_WSCRATCH3,r13
544 mfcr r11
545 mtspr SPRN_SPRG_WSCRATCH4,r11
546 mfspr r10,SPRN_SRR0 /* Get faulting address */
547
548 /* If we are faulting a kernel address, we have to use the
549 * kernel page tables.
550 */
551 lis r11,PAGE_OFFSET@h
552 cmplw cr0,r10,r11
553 blt+ 3f
554 lis r11,swapper_pg_dir@h
555 ori r11,r11, swapper_pg_dir@l
556 li r12,0 /* MMUCR = 0 */
557 b 4f
558
559 /* Get the PGD for the current thread and setup MMUCR */
5603: mfspr r11,SPRN_SPRG_THREAD
561 lwz r11,PGDIR(r11)
562 mfspr r12,SPRN_PID /* Get PID */
5634: mtspr SPRN_MMUCR,r12 /* Set MMUCR */
564
565 /* Make up the required permissions */
566 li r13,_PAGE_PRESENT | _PAGE_ACCESSED | _PAGE_EXEC
567
568 /* Load PTE */
569 /* Compute pgdir/pmd offset */
570 rlwinm r12,r10,PPC44x_PGD_OFF_SHIFT,PPC44x_PGD_OFF_MASK_BIT,29
571 lwzx r11,r12,r11 /* Get pgd/pmd entry */
572
573 /* Word 0 is EPN,V,TS,DSIZ */
574 li r12,PPC47x_TLB0_VALID | PPC47x_TLBE_SIZE
575 rlwimi r10,r12,0,32-PAGE_SHIFT,31 /* Insert valid and page size*/
576 li r12,0
577 tlbwe r10,r12,0
578
579 /* XXX can we do better ? Need to make sure tlbwe has established
580 * latch V bit in MMUCR0 before the PTE is loaded further down */
581#ifdef CONFIG_SMP
582 isync
583#endif
584
585 rlwinm. r12,r11,0,0,20 /* Extract pt base address */
586 /* Compute pte address */
587 rlwimi r12,r10,PPC44x_PTE_ADD_SHIFT,PPC44x_PTE_ADD_MASK_BIT,28
588 beq 2f /* Bail if no table */
589
590 lwz r11,0(r12) /* Get high word of pte entry */
591 /* XXX can we do better ? maybe insert a known 0 bit from r11 into the
592 * bottom of r12 to create a data dependency... We can also use r10
593 * as destination nowadays
594 */
595#ifdef CONFIG_SMP
596 lwsync
597#endif
598 lwz r12,4(r12) /* Get low word of pte entry */
599
600 andc. r13,r13,r12 /* Check permission */
601
602 /* Jump to common TLB load point */
603 beq finish_tlb_load_47x
604
6052: /* The bailout. Restore registers to pre-exception conditions
606 * and call the heavyweights to help us out.
607 */
608 mfspr r11, SPRN_SPRG_RSCRATCH4
609 mtcr r11
610 mfspr r13, SPRN_SPRG_RSCRATCH3
611 mfspr r12, SPRN_SPRG_RSCRATCH2
612 mfspr r11, SPRN_SPRG_RSCRATCH1
613 mfspr r10, SPRN_SPRG_RSCRATCH0
614 b InstructionStorage
615
616/*
617 * Both the instruction and data TLB miss get to this
618 * point to load the TLB.
619 * r10 - free to use
620 * r11 - PTE high word value
621 * r12 - PTE low word value
622 * r13 - free to use
623 * MMUCR - loaded with proper value when we get here
624 * Upon exit, we reload everything and RFI.
625 */
626finish_tlb_load_47x:
627 /* Combine RPN & ERPN an write WS 1 */
628 rlwimi r11,r12,0,0,31-PAGE_SHIFT
629 tlbwe r11,r13,1
630
631 /* And make up word 2 */
632 li r10,0xf85 /* Mask to apply from PTE */
633 rlwimi r10,r12,29,30,30 /* DIRTY -> SW position */
634 and r11,r12,r10 /* Mask PTE bits to keep */
635 andi. r10,r12,_PAGE_USER /* User page ? */
636 beq 1f /* nope, leave U bits empty */
637 rlwimi r11,r11,3,26,28 /* yes, copy S bits to U */
6381: tlbwe r11,r13,2
639
640 /* Done...restore registers and get out of here.
641 */
642 mfspr r11, SPRN_SPRG_RSCRATCH4
643 mtcr r11
644 mfspr r13, SPRN_SPRG_RSCRATCH3
645 mfspr r12, SPRN_SPRG_RSCRATCH2
646 mfspr r11, SPRN_SPRG_RSCRATCH1
647 mfspr r10, SPRN_SPRG_RSCRATCH0
648 rfi
649
650#endif /* CONFIG_PPC_47x */
651
652 /* Debug Interrupt */
653 /*
654 * This statement needs to exist at the end of the IVPR
655 * definition just in case you end up taking a debug
656 * exception within another exception.
657 */
658 DEBUG_CRIT_EXCEPTION
659
604/* 660/*
605 * Global functions 661 * Global functions
606 */ 662 */
@@ -647,6 +703,428 @@ _GLOBAL(set_context)
647 blr 703 blr
648 704
649/* 705/*
706 * Init CPU state. This is called at boot time or for secondary CPUs
707 * to setup initial TLB entries, setup IVORs, etc...
708 *
709 */
710_GLOBAL(init_cpu_state)
711 mflr r22
712#ifdef CONFIG_PPC_47x
713 /* We use the PVR to differenciate 44x cores from 476 */
714 mfspr r3,SPRN_PVR
715 srwi r3,r3,16
716 cmplwi cr0,r3,PVR_476@h
717 beq head_start_47x
718 cmplwi cr0,r3,PVR_476_ISS@h
719 beq head_start_47x
720#endif /* CONFIG_PPC_47x */
721
722/*
723 * In case the firmware didn't do it, we apply some workarounds
724 * that are good for all 440 core variants here
725 */
726 mfspr r3,SPRN_CCR0
727 rlwinm r3,r3,0,0,27 /* disable icache prefetch */
728 isync
729 mtspr SPRN_CCR0,r3
730 isync
731 sync
732
733/*
734 * Set up the initial MMU state for 44x
735 *
736 * We are still executing code at the virtual address
737 * mappings set by the firmware for the base of RAM.
738 *
739 * We first invalidate all TLB entries but the one
740 * we are running from. We then load the KERNELBASE
741 * mappings so we can begin to use kernel addresses
742 * natively and so the interrupt vector locations are
743 * permanently pinned (necessary since Book E
744 * implementations always have translation enabled).
745 *
746 * TODO: Use the known TLB entry we are running from to
747 * determine which physical region we are located
748 * in. This can be used to determine where in RAM
749 * (on a shared CPU system) or PCI memory space
750 * (on a DRAMless system) we are located.
751 * For now, we assume a perfect world which means
752 * we are located at the base of DRAM (physical 0).
753 */
754
755/*
756 * Search TLB for entry that we are currently using.
757 * Invalidate all entries but the one we are using.
758 */
759 /* Load our current PID->MMUCR TID and MSR IS->MMUCR STS */
760 mfspr r3,SPRN_PID /* Get PID */
761 mfmsr r4 /* Get MSR */
762 andi. r4,r4,MSR_IS@l /* TS=1? */
763 beq wmmucr /* If not, leave STS=0 */
764 oris r3,r3,PPC44x_MMUCR_STS@h /* Set STS=1 */
765wmmucr: mtspr SPRN_MMUCR,r3 /* Put MMUCR */
766 sync
767
768 bl invstr /* Find our address */
769invstr: mflr r5 /* Make it accessible */
770 tlbsx r23,0,r5 /* Find entry we are in */
771 li r4,0 /* Start at TLB entry 0 */
772 li r3,0 /* Set PAGEID inval value */
7731: cmpw r23,r4 /* Is this our entry? */
774 beq skpinv /* If so, skip the inval */
775 tlbwe r3,r4,PPC44x_TLB_PAGEID /* If not, inval the entry */
776skpinv: addi r4,r4,1 /* Increment */
777 cmpwi r4,64 /* Are we done? */
778 bne 1b /* If not, repeat */
779 isync /* If so, context change */
780
781/*
782 * Configure and load pinned entry into TLB slot 63.
783 */
784
785 lis r3,PAGE_OFFSET@h
786 ori r3,r3,PAGE_OFFSET@l
787
788 /* Kernel is at the base of RAM */
789 li r4, 0 /* Load the kernel physical address */
790
791 /* Load the kernel PID = 0 */
792 li r0,0
793 mtspr SPRN_PID,r0
794 sync
795
796 /* Initialize MMUCR */
797 li r5,0
798 mtspr SPRN_MMUCR,r5
799 sync
800
801 /* pageid fields */
802 clrrwi r3,r3,10 /* Mask off the effective page number */
803 ori r3,r3,PPC44x_TLB_VALID | PPC44x_TLB_256M
804
805 /* xlat fields */
806 clrrwi r4,r4,10 /* Mask off the real page number */
807 /* ERPN is 0 for first 4GB page */
808
809 /* attrib fields */
810 /* Added guarded bit to protect against speculative loads/stores */
811 li r5,0
812 ori r5,r5,(PPC44x_TLB_SW | PPC44x_TLB_SR | PPC44x_TLB_SX | PPC44x_TLB_G)
813
814 li r0,63 /* TLB slot 63 */
815
816 tlbwe r3,r0,PPC44x_TLB_PAGEID /* Load the pageid fields */
817 tlbwe r4,r0,PPC44x_TLB_XLAT /* Load the translation fields */
818 tlbwe r5,r0,PPC44x_TLB_ATTRIB /* Load the attrib/access fields */
819
820 /* Force context change */
821 mfmsr r0
822 mtspr SPRN_SRR1, r0
823 lis r0,3f@h
824 ori r0,r0,3f@l
825 mtspr SPRN_SRR0,r0
826 sync
827 rfi
828
829 /* If necessary, invalidate original entry we used */
8303: cmpwi r23,63
831 beq 4f
832 li r6,0
833 tlbwe r6,r23,PPC44x_TLB_PAGEID
834 isync
835
8364:
837#ifdef CONFIG_PPC_EARLY_DEBUG_44x
838 /* Add UART mapping for early debug. */
839
840 /* pageid fields */
841 lis r3,PPC44x_EARLY_DEBUG_VIRTADDR@h
842 ori r3,r3,PPC44x_TLB_VALID|PPC44x_TLB_TS|PPC44x_TLB_64K
843
844 /* xlat fields */
845 lis r4,CONFIG_PPC_EARLY_DEBUG_44x_PHYSLOW@h
846 ori r4,r4,CONFIG_PPC_EARLY_DEBUG_44x_PHYSHIGH
847
848 /* attrib fields */
849 li r5,(PPC44x_TLB_SW|PPC44x_TLB_SR|PPC44x_TLB_I|PPC44x_TLB_G)
850 li r0,62 /* TLB slot 0 */
851
852 tlbwe r3,r0,PPC44x_TLB_PAGEID
853 tlbwe r4,r0,PPC44x_TLB_XLAT
854 tlbwe r5,r0,PPC44x_TLB_ATTRIB
855
856 /* Force context change */
857 isync
858#endif /* CONFIG_PPC_EARLY_DEBUG_44x */
859
860 /* Establish the interrupt vector offsets */
861 SET_IVOR(0, CriticalInput);
862 SET_IVOR(1, MachineCheck);
863 SET_IVOR(2, DataStorage);
864 SET_IVOR(3, InstructionStorage);
865 SET_IVOR(4, ExternalInput);
866 SET_IVOR(5, Alignment);
867 SET_IVOR(6, Program);
868 SET_IVOR(7, FloatingPointUnavailable);
869 SET_IVOR(8, SystemCall);
870 SET_IVOR(9, AuxillaryProcessorUnavailable);
871 SET_IVOR(10, Decrementer);
872 SET_IVOR(11, FixedIntervalTimer);
873 SET_IVOR(12, WatchdogTimer);
874 SET_IVOR(13, DataTLBError44x);
875 SET_IVOR(14, InstructionTLBError44x);
876 SET_IVOR(15, DebugCrit);
877
878 b head_start_common
879
880
881#ifdef CONFIG_PPC_47x
882
883#ifdef CONFIG_SMP
884
885/* Entry point for secondary 47x processors */
886_GLOBAL(start_secondary_47x)
887 mr r24,r3 /* CPU number */
888
889 bl init_cpu_state
890
891 /* Now we need to bolt the rest of kernel memory which
892 * is done in C code. We must be careful because our task
893 * struct or our stack can (and will probably) be out
894 * of reach of the initial 256M TLB entry, so we use a
895 * small temporary stack in .bss for that. This works
896 * because only one CPU at a time can be in this code
897 */
898 lis r1,temp_boot_stack@h
899 ori r1,r1,temp_boot_stack@l
900 addi r1,r1,1024-STACK_FRAME_OVERHEAD
901 li r0,0
902 stw r0,0(r1)
903 bl mmu_init_secondary
904
905 /* Now we can get our task struct and real stack pointer */
906
907 /* Get current_thread_info and current */
908 lis r1,secondary_ti@ha
909 lwz r1,secondary_ti@l(r1)
910 lwz r2,TI_TASK(r1)
911
912 /* Current stack pointer */
913 addi r1,r1,THREAD_SIZE-STACK_FRAME_OVERHEAD
914 li r0,0
915 stw r0,0(r1)
916
917 /* Kernel stack for exception entry in SPRG3 */
918 addi r4,r2,THREAD /* init task's THREAD */
919 mtspr SPRN_SPRG3,r4
920
921 b start_secondary
922
923#endif /* CONFIG_SMP */
924
925/*
926 * Set up the initial MMU state for 44x
927 *
928 * We are still executing code at the virtual address
929 * mappings set by the firmware for the base of RAM.
930 */
931
932head_start_47x:
933 /* Load our current PID->MMUCR TID and MSR IS->MMUCR STS */
934 mfspr r3,SPRN_PID /* Get PID */
935 mfmsr r4 /* Get MSR */
936 andi. r4,r4,MSR_IS@l /* TS=1? */
937 beq 1f /* If not, leave STS=0 */
938 oris r3,r3,PPC47x_MMUCR_STS@h /* Set STS=1 */
9391: mtspr SPRN_MMUCR,r3 /* Put MMUCR */
940 sync
941
942 /* Find the entry we are running from */
943 bl 1f
9441: mflr r23
945 tlbsx r23,0,r23
946 tlbre r24,r23,0
947 tlbre r25,r23,1
948 tlbre r26,r23,2
949
950/*
951 * Cleanup time
952 */
953
954 /* Initialize MMUCR */
955 li r5,0
956 mtspr SPRN_MMUCR,r5
957 sync
958
959clear_all_utlb_entries:
960
961 #; Set initial values.
962
963 addis r3,0,0x8000
964 addi r4,0,0
965 addi r5,0,0
966 b clear_utlb_entry
967
968 #; Align the loop to speed things up.
969
970 .align 6
971
972clear_utlb_entry:
973
974 tlbwe r4,r3,0
975 tlbwe r5,r3,1
976 tlbwe r5,r3,2
977 addis r3,r3,0x2000
978 cmpwi r3,0
979 bne clear_utlb_entry
980 addis r3,0,0x8000
981 addis r4,r4,0x100
982 cmpwi r4,0
983 bne clear_utlb_entry
984
985 #; Restore original entry.
986
987 oris r23,r23,0x8000 /* specify the way */
988 tlbwe r24,r23,0
989 tlbwe r25,r23,1
990 tlbwe r26,r23,2
991
992/*
993 * Configure and load pinned entry into TLB for the kernel core
994 */
995
996 lis r3,PAGE_OFFSET@h
997 ori r3,r3,PAGE_OFFSET@l
998
999 /* Kernel is at the base of RAM */
1000 li r4, 0 /* Load the kernel physical address */
1001
1002 /* Load the kernel PID = 0 */
1003 li r0,0
1004 mtspr SPRN_PID,r0
1005 sync
1006
1007 /* Word 0 */
1008 clrrwi r3,r3,12 /* Mask off the effective page number */
1009 ori r3,r3,PPC47x_TLB0_VALID | PPC47x_TLB0_256M
1010
1011 /* Word 1 */
1012 clrrwi r4,r4,12 /* Mask off the real page number */
1013 /* ERPN is 0 for first 4GB page */
1014 /* Word 2 */
1015 li r5,0
1016 ori r5,r5,PPC47x_TLB2_S_RWX
1017#ifdef CONFIG_SMP
1018 ori r5,r5,PPC47x_TLB2_M
1019#endif
1020
1021 /* We write to way 0 and bolted 0 */
1022 lis r0,0x8800
1023 tlbwe r3,r0,0
1024 tlbwe r4,r0,1
1025 tlbwe r5,r0,2
1026
1027/*
1028 * Configure SSPCR, ISPCR and USPCR for now to search everything, we can fix
1029 * them up later
1030 */
1031 LOAD_REG_IMMEDIATE(r3, 0x9abcdef0)
1032 mtspr SPRN_SSPCR,r3
1033 mtspr SPRN_USPCR,r3
1034 LOAD_REG_IMMEDIATE(r3, 0x12345670)
1035 mtspr SPRN_ISPCR,r3
1036
1037 /* Force context change */
1038 mfmsr r0
1039 mtspr SPRN_SRR1, r0
1040 lis r0,3f@h
1041 ori r0,r0,3f@l
1042 mtspr SPRN_SRR0,r0
1043 sync
1044 rfi
1045
1046 /* Invalidate original entry we used */
10473:
1048 rlwinm r24,r24,0,21,19 /* clear the "valid" bit */
1049 tlbwe r24,r23,0
1050 addi r24,0,0
1051 tlbwe r24,r23,1
1052 tlbwe r24,r23,2
1053 isync /* Clear out the shadow TLB entries */
1054
1055#ifdef CONFIG_PPC_EARLY_DEBUG_44x
1056 /* Add UART mapping for early debug. */
1057
1058 /* Word 0 */
1059 lis r3,PPC44x_EARLY_DEBUG_VIRTADDR@h
1060 ori r3,r3,PPC47x_TLB0_VALID | PPC47x_TLB0_TS | PPC47x_TLB0_1M
1061
1062 /* Word 1 */
1063 lis r4,CONFIG_PPC_EARLY_DEBUG_44x_PHYSLOW@h
1064 ori r4,r4,CONFIG_PPC_EARLY_DEBUG_44x_PHYSHIGH
1065
1066 /* Word 2 */
1067 li r5,(PPC47x_TLB2_S_RW | PPC47x_TLB2_IMG)
1068
1069 /* Bolted in way 0, bolt slot 5, we -hope- we don't hit the same
1070 * congruence class as the kernel, we need to make sure of it at
1071 * some point
1072 */
1073 lis r0,0x8d00
1074 tlbwe r3,r0,0
1075 tlbwe r4,r0,1
1076 tlbwe r5,r0,2
1077
1078 /* Force context change */
1079 isync
1080#endif /* CONFIG_PPC_EARLY_DEBUG_44x */
1081
1082 /* Establish the interrupt vector offsets */
1083 SET_IVOR(0, CriticalInput);
1084 SET_IVOR(1, MachineCheckA);
1085 SET_IVOR(2, DataStorage);
1086 SET_IVOR(3, InstructionStorage);
1087 SET_IVOR(4, ExternalInput);
1088 SET_IVOR(5, Alignment);
1089 SET_IVOR(6, Program);
1090 SET_IVOR(7, FloatingPointUnavailable);
1091 SET_IVOR(8, SystemCall);
1092 SET_IVOR(9, AuxillaryProcessorUnavailable);
1093 SET_IVOR(10, Decrementer);
1094 SET_IVOR(11, FixedIntervalTimer);
1095 SET_IVOR(12, WatchdogTimer);
1096 SET_IVOR(13, DataTLBError47x);
1097 SET_IVOR(14, InstructionTLBError47x);
1098 SET_IVOR(15, DebugCrit);
1099
1100 /* We configure icbi to invalidate 128 bytes at a time since the
1101 * current 32-bit kernel code isn't too happy with icache != dcache
1102 * block size
1103 */
1104 mfspr r3,SPRN_CCR0
1105 oris r3,r3,0x0020
1106 mtspr SPRN_CCR0,r3
1107 isync
1108
1109#endif /* CONFIG_PPC_47x */
1110
1111/*
1112 * Here we are back to code that is common between 44x and 47x
1113 *
1114 * We proceed to further kernel initialization and return to the
1115 * main kernel entry
1116 */
1117head_start_common:
1118 /* Establish the interrupt vector base */
1119 lis r4,interrupt_base@h /* IVPR only uses the high 16-bits */
1120 mtspr SPRN_IVPR,r4
1121
1122 addis r22,r22,KERNELBASE@h
1123 mtlr r22
1124 isync
1125 blr
1126
1127/*
650 * We put a few things here that have to be page-aligned. This stuff 1128 * We put a few things here that have to be page-aligned. This stuff
651 * goes at the beginning of the data segment, which is page-aligned. 1129 * goes at the beginning of the data segment, which is page-aligned.
652 */ 1130 */
@@ -671,3 +1149,9 @@ swapper_pg_dir:
671 */ 1149 */
672abatron_pteptrs: 1150abatron_pteptrs:
673 .space 8 1151 .space 8
1152
1153#ifdef CONFIG_SMP
1154 .align 12
1155temp_boot_stack:
1156 .space 1024
1157#endif /* CONFIG_SMP */
diff --git a/arch/powerpc/kernel/head_64.S b/arch/powerpc/kernel/head_64.S
index 925807488022..844a44b64472 100644
--- a/arch/powerpc/kernel/head_64.S
+++ b/arch/powerpc/kernel/head_64.S
@@ -37,7 +37,7 @@
37#include <asm/firmware.h> 37#include <asm/firmware.h>
38#include <asm/page_64.h> 38#include <asm/page_64.h>
39#include <asm/irqflags.h> 39#include <asm/irqflags.h>
40#include <asm/kvm_book3s_64_asm.h> 40#include <asm/kvm_book3s_asm.h>
41 41
42/* The physical memory is layed out such that the secondary processor 42/* The physical memory is layed out such that the secondary processor
43 * spin code sits at 0x0000...0x00ff. On server, the vectors follow 43 * spin code sits at 0x0000...0x00ff. On server, the vectors follow
@@ -169,7 +169,7 @@ exception_marker:
169/* KVM trampoline code needs to be close to the interrupt handlers */ 169/* KVM trampoline code needs to be close to the interrupt handlers */
170 170
171#ifdef CONFIG_KVM_BOOK3S_64_HANDLER 171#ifdef CONFIG_KVM_BOOK3S_64_HANDLER
172#include "../kvm/book3s_64_rmhandlers.S" 172#include "../kvm/book3s_rmhandlers.S"
173#endif 173#endif
174 174
175_GLOBAL(generic_secondary_thread_init) 175_GLOBAL(generic_secondary_thread_init)
@@ -219,7 +219,8 @@ generic_secondary_common_init:
219 * physical cpu id in r24, we need to search the pacas to find 219 * physical cpu id in r24, we need to search the pacas to find
220 * which logical id maps to our physical one. 220 * which logical id maps to our physical one.
221 */ 221 */
222 LOAD_REG_ADDR(r13, paca) /* Get base vaddr of paca array */ 222 LOAD_REG_ADDR(r13, paca) /* Load paca pointer */
223 ld r13,0(r13) /* Get base vaddr of paca array */
223 li r5,0 /* logical cpu id */ 224 li r5,0 /* logical cpu id */
2241: lhz r6,PACAHWCPUID(r13) /* Load HW procid from paca */ 2251: lhz r6,PACAHWCPUID(r13) /* Load HW procid from paca */
225 cmpw r6,r24 /* Compare to our id */ 226 cmpw r6,r24 /* Compare to our id */
@@ -536,7 +537,8 @@ _GLOBAL(pmac_secondary_start)
536 mtmsrd r3 /* RI on */ 537 mtmsrd r3 /* RI on */
537 538
538 /* Set up a paca value for this processor. */ 539 /* Set up a paca value for this processor. */
539 LOAD_REG_ADDR(r4,paca) /* Get base vaddr of paca array */ 540 LOAD_REG_ADDR(r4,paca) /* Load paca pointer */
541 ld r4,0(r4) /* Get base vaddr of paca array */
540 mulli r13,r24,PACA_SIZE /* Calculate vaddr of right paca */ 542 mulli r13,r24,PACA_SIZE /* Calculate vaddr of right paca */
541 add r13,r13,r4 /* for this processor. */ 543 add r13,r13,r4 /* for this processor. */
542 mtspr SPRN_SPRG_PACA,r13 /* Save vaddr of paca in an SPRG*/ 544 mtspr SPRN_SPRG_PACA,r13 /* Save vaddr of paca in an SPRG*/
@@ -615,6 +617,17 @@ _GLOBAL(start_secondary_prolog)
615 std r3,0(r1) /* Zero the stack frame pointer */ 617 std r3,0(r1) /* Zero the stack frame pointer */
616 bl .start_secondary 618 bl .start_secondary
617 b . 619 b .
620/*
621 * Reset stack pointer and call start_secondary
622 * to continue with online operation when woken up
623 * from cede in cpu offline.
624 */
625_GLOBAL(start_secondary_resume)
626 ld r1,PACAKSAVE(r13) /* Reload kernel stack pointer */
627 li r3,0
628 std r3,0(r1) /* Zero the stack frame pointer */
629 bl .start_secondary
630 b .
618#endif 631#endif
619 632
620/* 633/*
diff --git a/arch/powerpc/kernel/head_8xx.S b/arch/powerpc/kernel/head_8xx.S
index 3ef743fa5d7c..1f1a04b5c2a4 100644
--- a/arch/powerpc/kernel/head_8xx.S
+++ b/arch/powerpc/kernel/head_8xx.S
@@ -71,9 +71,6 @@ _ENTRY(_start);
71 * in the first level table, but that would require many changes to the 71 * in the first level table, but that would require many changes to the
72 * Linux page directory/table functions that I don't want to do right now. 72 * Linux page directory/table functions that I don't want to do right now.
73 * 73 *
74 * I used to use SPRG2 for a temporary register in the TLB handler, but it
75 * has since been put to other uses. I now use a hack to save a register
76 * and the CCR at memory location 0.....Someday I'll fix this.....
77 * -- Dan 74 * -- Dan
78 */ 75 */
79 .globl __start 76 .globl __start
@@ -302,8 +299,13 @@ InstructionTLBMiss:
302 DO_8xx_CPU6(0x3f80, r3) 299 DO_8xx_CPU6(0x3f80, r3)
303 mtspr SPRN_M_TW, r10 /* Save a couple of working registers */ 300 mtspr SPRN_M_TW, r10 /* Save a couple of working registers */
304 mfcr r10 301 mfcr r10
302#ifdef CONFIG_8xx_CPU6
305 stw r10, 0(r0) 303 stw r10, 0(r0)
306 stw r11, 4(r0) 304 stw r11, 4(r0)
305#else
306 mtspr SPRN_DAR, r10
307 mtspr SPRN_SPRG2, r11
308#endif
307 mfspr r10, SPRN_SRR0 /* Get effective address of fault */ 309 mfspr r10, SPRN_SRR0 /* Get effective address of fault */
308#ifdef CONFIG_8xx_CPU15 310#ifdef CONFIG_8xx_CPU15
309 addi r11, r10, 0x1000 311 addi r11, r10, 0x1000
@@ -318,12 +320,16 @@ InstructionTLBMiss:
318 /* If we are faulting a kernel address, we have to use the 320 /* If we are faulting a kernel address, we have to use the
319 * kernel page tables. 321 * kernel page tables.
320 */ 322 */
323#ifdef CONFIG_MODULES
324 /* Only modules will cause ITLB Misses as we always
325 * pin the first 8MB of kernel memory */
321 andi. r11, r10, 0x0800 /* Address >= 0x80000000 */ 326 andi. r11, r10, 0x0800 /* Address >= 0x80000000 */
322 beq 3f 327 beq 3f
323 lis r11, swapper_pg_dir@h 328 lis r11, swapper_pg_dir@h
324 ori r11, r11, swapper_pg_dir@l 329 ori r11, r11, swapper_pg_dir@l
325 rlwimi r10, r11, 0, 2, 19 330 rlwimi r10, r11, 0, 2, 19
3263: 3313:
332#endif
327 lwz r11, 0(r10) /* Get the level 1 entry */ 333 lwz r11, 0(r10) /* Get the level 1 entry */
328 rlwinm. r10, r11,0,0,19 /* Extract page descriptor page address */ 334 rlwinm. r10, r11,0,0,19 /* Extract page descriptor page address */
329 beq 2f /* If zero, don't try to find a pte */ 335 beq 2f /* If zero, don't try to find a pte */
@@ -339,31 +345,35 @@ InstructionTLBMiss:
339 mfspr r11, SPRN_MD_TWC /* ....and get the pte address */ 345 mfspr r11, SPRN_MD_TWC /* ....and get the pte address */
340 lwz r10, 0(r11) /* Get the pte */ 346 lwz r10, 0(r11) /* Get the pte */
341 347
348#ifdef CONFIG_SWAP
342 andi. r11, r10, _PAGE_ACCESSED | _PAGE_PRESENT 349 andi. r11, r10, _PAGE_ACCESSED | _PAGE_PRESENT
343 cmpwi cr0, r11, _PAGE_ACCESSED | _PAGE_PRESENT 350 cmpwi cr0, r11, _PAGE_ACCESSED | _PAGE_PRESENT
344 bne- cr0, 2f 351 bne- cr0, 2f
345 352#endif
346 /* Clear PP lsb, 0x400 */
347 rlwinm r10, r10, 0, 22, 20
348
349 /* The Linux PTE won't go exactly into the MMU TLB. 353 /* The Linux PTE won't go exactly into the MMU TLB.
350 * Software indicator bits 22 and 28 must be clear. 354 * Software indicator bits 21 and 28 must be clear.
351 * Software indicator bits 24, 25, 26, and 27 must be 355 * Software indicator bits 24, 25, 26, and 27 must be
352 * set. All other Linux PTE bits control the behavior 356 * set. All other Linux PTE bits control the behavior
353 * of the MMU. 357 * of the MMU.
354 */ 358 */
355 li r11, 0x00f0 359 li r11, 0x00f0
356 rlwimi r10, r11, 0, 24, 28 /* Set 24-27, clear 28 */ 360 rlwimi r10, r11, 0, 0x07f8 /* Set 24-27, clear 21-23,28 */
357 DO_8xx_CPU6(0x2d80, r3) 361 DO_8xx_CPU6(0x2d80, r3)
358 mtspr SPRN_MI_RPN, r10 /* Update TLB entry */ 362 mtspr SPRN_MI_RPN, r10 /* Update TLB entry */
359 363
360 mfspr r10, SPRN_M_TW /* Restore registers */ 364 /* Restore registers */
365#ifndef CONFIG_8xx_CPU6
366 mfspr r10, SPRN_DAR
367 mtcr r10
368 mtspr SPRN_DAR, r11 /* Tag DAR */
369 mfspr r11, SPRN_SPRG2
370#else
361 lwz r11, 0(r0) 371 lwz r11, 0(r0)
362 mtcr r11 372 mtcr r11
363 lwz r11, 4(r0) 373 lwz r11, 4(r0)
364#ifdef CONFIG_8xx_CPU6
365 lwz r3, 8(r0) 374 lwz r3, 8(r0)
366#endif 375#endif
376 mfspr r10, SPRN_M_TW
367 rfi 377 rfi
3682: 3782:
369 mfspr r11, SPRN_SRR1 379 mfspr r11, SPRN_SRR1
@@ -373,13 +383,20 @@ InstructionTLBMiss:
373 rlwinm r11, r11, 0, 0xffff 383 rlwinm r11, r11, 0, 0xffff
374 mtspr SPRN_SRR1, r11 384 mtspr SPRN_SRR1, r11
375 385
376 mfspr r10, SPRN_M_TW /* Restore registers */ 386 /* Restore registers */
387#ifndef CONFIG_8xx_CPU6
388 mfspr r10, SPRN_DAR
389 mtcr r10
390 li r11, 0x00f0
391 mtspr SPRN_DAR, r11 /* Tag DAR */
392 mfspr r11, SPRN_SPRG2
393#else
377 lwz r11, 0(r0) 394 lwz r11, 0(r0)
378 mtcr r11 395 mtcr r11
379 lwz r11, 4(r0) 396 lwz r11, 4(r0)
380#ifdef CONFIG_8xx_CPU6
381 lwz r3, 8(r0) 397 lwz r3, 8(r0)
382#endif 398#endif
399 mfspr r10, SPRN_M_TW
383 b InstructionAccess 400 b InstructionAccess
384 401
385 . = 0x1200 402 . = 0x1200
@@ -390,8 +407,13 @@ DataStoreTLBMiss:
390 DO_8xx_CPU6(0x3f80, r3) 407 DO_8xx_CPU6(0x3f80, r3)
391 mtspr SPRN_M_TW, r10 /* Save a couple of working registers */ 408 mtspr SPRN_M_TW, r10 /* Save a couple of working registers */
392 mfcr r10 409 mfcr r10
410#ifdef CONFIG_8xx_CPU6
393 stw r10, 0(r0) 411 stw r10, 0(r0)
394 stw r11, 4(r0) 412 stw r11, 4(r0)
413#else
414 mtspr SPRN_DAR, r10
415 mtspr SPRN_SPRG2, r11
416#endif
395 mfspr r10, SPRN_M_TWB /* Get level 1 table entry address */ 417 mfspr r10, SPRN_M_TWB /* Get level 1 table entry address */
396 418
397 /* If we are faulting a kernel address, we have to use the 419 /* If we are faulting a kernel address, we have to use the
@@ -438,15 +460,14 @@ DataStoreTLBMiss:
438 * r11 = ((r10 & PRESENT) & ((r10 & ACCESSED) >> 5)); 460 * r11 = ((r10 & PRESENT) & ((r10 & ACCESSED) >> 5));
439 * r10 = (r10 & ~PRESENT) | r11; 461 * r10 = (r10 & ~PRESENT) | r11;
440 */ 462 */
463#ifdef CONFIG_SWAP
441 rlwinm r11, r10, 32-5, _PAGE_PRESENT 464 rlwinm r11, r10, 32-5, _PAGE_PRESENT
442 and r11, r11, r10 465 and r11, r11, r10
443 rlwimi r10, r11, 0, _PAGE_PRESENT 466 rlwimi r10, r11, 0, _PAGE_PRESENT
444 467#endif
445 /* Honour kernel RO, User NA */ 468 /* Honour kernel RO, User NA */
446 /* 0x200 == Extended encoding, bit 22 */ 469 /* 0x200 == Extended encoding, bit 22 */
447 /* r11 = (r10 & _PAGE_USER) >> 2 */ 470 rlwimi r10, r10, 32-2, 0x200 /* Copy USER to bit 22, 0x200 */
448 rlwinm r11, r10, 32-2, 0x200
449 or r10, r11, r10
450 /* r11 = (r10 & _PAGE_RW) >> 1 */ 471 /* r11 = (r10 & _PAGE_RW) >> 1 */
451 rlwinm r11, r10, 32-1, 0x200 472 rlwinm r11, r10, 32-1, 0x200
452 or r10, r11, r10 473 or r10, r11, r10
@@ -460,18 +481,24 @@ DataStoreTLBMiss:
460 * of the MMU. 481 * of the MMU.
461 */ 482 */
4622: li r11, 0x00f0 4832: li r11, 0x00f0
463 mtspr SPRN_DAR,r11 /* Tag DAR */
464 rlwimi r10, r11, 0, 24, 28 /* Set 24-27, clear 28 */ 484 rlwimi r10, r11, 0, 24, 28 /* Set 24-27, clear 28 */
465 DO_8xx_CPU6(0x3d80, r3) 485 DO_8xx_CPU6(0x3d80, r3)
466 mtspr SPRN_MD_RPN, r10 /* Update TLB entry */ 486 mtspr SPRN_MD_RPN, r10 /* Update TLB entry */
467 487
468 mfspr r10, SPRN_M_TW /* Restore registers */ 488 /* Restore registers */
489#ifndef CONFIG_8xx_CPU6
490 mfspr r10, SPRN_DAR
491 mtcr r10
492 mtspr SPRN_DAR, r11 /* Tag DAR */
493 mfspr r11, SPRN_SPRG2
494#else
495 mtspr SPRN_DAR, r11 /* Tag DAR */
469 lwz r11, 0(r0) 496 lwz r11, 0(r0)
470 mtcr r11 497 mtcr r11
471 lwz r11, 4(r0) 498 lwz r11, 4(r0)
472#ifdef CONFIG_8xx_CPU6
473 lwz r3, 8(r0) 499 lwz r3, 8(r0)
474#endif 500#endif
501 mfspr r10, SPRN_M_TW
475 rfi 502 rfi
476 503
477/* This is an instruction TLB error on the MPC8xx. This could be due 504/* This is an instruction TLB error on the MPC8xx. This could be due
@@ -683,9 +710,6 @@ start_here:
683 tophys(r4,r2) 710 tophys(r4,r2)
684 addi r4,r4,THREAD /* init task's THREAD */ 711 addi r4,r4,THREAD /* init task's THREAD */
685 mtspr SPRN_SPRG_THREAD,r4 712 mtspr SPRN_SPRG_THREAD,r4
686 li r3,0
687 /* XXX What is that for ? SPRG2 appears otherwise unused on 8xx */
688 mtspr SPRN_SPRG2,r3 /* 0 => r1 has kernel sp */
689 713
690 /* stack */ 714 /* stack */
691 lis r1,init_thread_union@ha 715 lis r1,init_thread_union@ha
diff --git a/arch/powerpc/kernel/head_booke.h b/arch/powerpc/kernel/head_booke.h
index 50504ae39cb7..a0bf158c8b47 100644
--- a/arch/powerpc/kernel/head_booke.h
+++ b/arch/powerpc/kernel/head_booke.h
@@ -1,6 +1,7 @@
1#ifndef __HEAD_BOOKE_H__ 1#ifndef __HEAD_BOOKE_H__
2#define __HEAD_BOOKE_H__ 2#define __HEAD_BOOKE_H__
3 3
4#include <asm/ptrace.h> /* for STACK_FRAME_REGS_MARKER */
4/* 5/*
5 * Macros used for common Book-e exception handling 6 * Macros used for common Book-e exception handling
6 */ 7 */
@@ -48,6 +49,9 @@
48 stw r10,0(r11); \ 49 stw r10,0(r11); \
49 rlwinm r9,r9,0,14,12; /* clear MSR_WE (necessary?) */\ 50 rlwinm r9,r9,0,14,12; /* clear MSR_WE (necessary?) */\
50 stw r0,GPR0(r11); \ 51 stw r0,GPR0(r11); \
52 lis r10, STACK_FRAME_REGS_MARKER@ha;/* exception frame marker */ \
53 addi r10, r10, STACK_FRAME_REGS_MARKER@l; \
54 stw r10, 8(r11); \
51 SAVE_4GPRS(3, r11); \ 55 SAVE_4GPRS(3, r11); \
52 SAVE_2GPRS(7, r11) 56 SAVE_2GPRS(7, r11)
53 57
diff --git a/arch/powerpc/kernel/head_fsl_booke.S b/arch/powerpc/kernel/head_fsl_booke.S
index 7f4bd7f3b6af..4faeba247854 100644
--- a/arch/powerpc/kernel/head_fsl_booke.S
+++ b/arch/powerpc/kernel/head_fsl_booke.S
@@ -94,204 +94,10 @@ _ENTRY(_start);
94 */ 94 */
95 95
96_ENTRY(__early_start) 96_ENTRY(__early_start)
97/* 1. Find the index of the entry we're executing in */
98 bl invstr /* Find our address */
99invstr: mflr r6 /* Make it accessible */
100 mfmsr r7
101 rlwinm r4,r7,27,31,31 /* extract MSR[IS] */
102 mfspr r7, SPRN_PID0
103 slwi r7,r7,16
104 or r7,r7,r4
105 mtspr SPRN_MAS6,r7
106 tlbsx 0,r6 /* search MSR[IS], SPID=PID0 */
107 mfspr r7,SPRN_MAS1
108 andis. r7,r7,MAS1_VALID@h
109 bne match_TLB
110
111 mfspr r7,SPRN_MMUCFG
112 rlwinm r7,r7,21,28,31 /* extract MMUCFG[NPIDS] */
113 cmpwi r7,3
114 bne match_TLB /* skip if NPIDS != 3 */
115
116 mfspr r7,SPRN_PID1
117 slwi r7,r7,16
118 or r7,r7,r4
119 mtspr SPRN_MAS6,r7
120 tlbsx 0,r6 /* search MSR[IS], SPID=PID1 */
121 mfspr r7,SPRN_MAS1
122 andis. r7,r7,MAS1_VALID@h
123 bne match_TLB
124 mfspr r7, SPRN_PID2
125 slwi r7,r7,16
126 or r7,r7,r4
127 mtspr SPRN_MAS6,r7
128 tlbsx 0,r6 /* Fall through, we had to match */
129
130match_TLB:
131 mfspr r7,SPRN_MAS0
132 rlwinm r3,r7,16,20,31 /* Extract MAS0(Entry) */
133
134 mfspr r7,SPRN_MAS1 /* Insure IPROT set */
135 oris r7,r7,MAS1_IPROT@h
136 mtspr SPRN_MAS1,r7
137 tlbwe
138
139/* 2. Invalidate all entries except the entry we're executing in */
140 mfspr r9,SPRN_TLB1CFG
141 andi. r9,r9,0xfff
142 li r6,0 /* Set Entry counter to 0 */
1431: lis r7,0x1000 /* Set MAS0(TLBSEL) = 1 */
144 rlwimi r7,r6,16,4,15 /* Setup MAS0 = TLBSEL | ESEL(r6) */
145 mtspr SPRN_MAS0,r7
146 tlbre
147 mfspr r7,SPRN_MAS1
148 rlwinm r7,r7,0,2,31 /* Clear MAS1 Valid and IPROT */
149 cmpw r3,r6
150 beq skpinv /* Dont update the current execution TLB */
151 mtspr SPRN_MAS1,r7
152 tlbwe
153 isync
154skpinv: addi r6,r6,1 /* Increment */
155 cmpw r6,r9 /* Are we done? */
156 bne 1b /* If not, repeat */
157
158 /* Invalidate TLB0 */
159 li r6,0x04
160 tlbivax 0,r6
161 TLBSYNC
162 /* Invalidate TLB1 */
163 li r6,0x0c
164 tlbivax 0,r6
165 TLBSYNC
166
167/* 3. Setup a temp mapping and jump to it */
168 andi. r5, r3, 0x1 /* Find an entry not used and is non-zero */
169 addi r5, r5, 0x1
170 lis r7,0x1000 /* Set MAS0(TLBSEL) = 1 */
171 rlwimi r7,r3,16,4,15 /* Setup MAS0 = TLBSEL | ESEL(r3) */
172 mtspr SPRN_MAS0,r7
173 tlbre
174
175 /* grab and fixup the RPN */
176 mfspr r6,SPRN_MAS1 /* extract MAS1[SIZE] */
177 rlwinm r6,r6,25,27,31
178 li r8,-1
179 addi r6,r6,10
180 slw r6,r8,r6 /* convert to mask */
181
182 bl 1f /* Find our address */
1831: mflr r7
184
185 mfspr r8,SPRN_MAS3
186#ifdef CONFIG_PHYS_64BIT
187 mfspr r23,SPRN_MAS7
188#endif
189 and r8,r6,r8
190 subfic r9,r6,-4096
191 and r9,r9,r7
192
193 or r25,r8,r9
194 ori r8,r25,(MAS3_SX|MAS3_SW|MAS3_SR)
195
196 /* Just modify the entry ID and EPN for the temp mapping */
197 lis r7,0x1000 /* Set MAS0(TLBSEL) = 1 */
198 rlwimi r7,r5,16,4,15 /* Setup MAS0 = TLBSEL | ESEL(r5) */
199 mtspr SPRN_MAS0,r7
200 xori r6,r4,1 /* Setup TMP mapping in the other Address space */
201 slwi r6,r6,12
202 oris r6,r6,(MAS1_VALID|MAS1_IPROT)@h
203 ori r6,r6,(MAS1_TSIZE(BOOK3E_PAGESZ_4K))@l
204 mtspr SPRN_MAS1,r6
205 mfspr r6,SPRN_MAS2
206 li r7,0 /* temp EPN = 0 */
207 rlwimi r7,r6,0,20,31
208 mtspr SPRN_MAS2,r7
209 mtspr SPRN_MAS3,r8
210 tlbwe
211
212 xori r6,r4,1
213 slwi r6,r6,5 /* setup new context with other address space */
214 bl 1f /* Find our address */
2151: mflr r9
216 rlwimi r7,r9,0,20,31
217 addi r7,r7,24
218 mtspr SPRN_SRR0,r7
219 mtspr SPRN_SRR1,r6
220 rfi
221 97
222/* 4. Clear out PIDs & Search info */ 98#define ENTRY_MAPPING_BOOT_SETUP
223 li r6,0 99#include "fsl_booke_entry_mapping.S"
224 mtspr SPRN_MAS6,r6 100#undef ENTRY_MAPPING_BOOT_SETUP
225 mtspr SPRN_PID0,r6
226
227 mfspr r7,SPRN_MMUCFG
228 rlwinm r7,r7,21,28,31 /* extract MMUCFG[NPIDS] */
229 cmpwi r7,3
230 bne 2f /* skip if NPIDS != 3 */
231
232 mtspr SPRN_PID1,r6
233 mtspr SPRN_PID2,r6
234
235/* 5. Invalidate mapping we started in */
2362:
237 lis r7,0x1000 /* Set MAS0(TLBSEL) = 1 */
238 rlwimi r7,r3,16,4,15 /* Setup MAS0 = TLBSEL | ESEL(r3) */
239 mtspr SPRN_MAS0,r7
240 tlbre
241 mfspr r6,SPRN_MAS1
242 rlwinm r6,r6,0,2,0 /* clear IPROT */
243 mtspr SPRN_MAS1,r6
244 tlbwe
245 /* Invalidate TLB1 */
246 li r9,0x0c
247 tlbivax 0,r9
248 TLBSYNC
249
250/* The mapping only needs to be cache-coherent on SMP */
251#ifdef CONFIG_SMP
252#define M_IF_SMP MAS2_M
253#else
254#define M_IF_SMP 0
255#endif
256
257/* 6. Setup KERNELBASE mapping in TLB1[0] */
258 lis r6,0x1000 /* Set MAS0(TLBSEL) = TLB1(1), ESEL = 0 */
259 mtspr SPRN_MAS0,r6
260 lis r6,(MAS1_VALID|MAS1_IPROT)@h
261 ori r6,r6,(MAS1_TSIZE(BOOK3E_PAGESZ_64M))@l
262 mtspr SPRN_MAS1,r6
263 lis r6,MAS2_VAL(PAGE_OFFSET, BOOK3E_PAGESZ_64M, M_IF_SMP)@h
264 ori r6,r6,MAS2_VAL(PAGE_OFFSET, BOOK3E_PAGESZ_64M, M_IF_SMP)@l
265 mtspr SPRN_MAS2,r6
266 mtspr SPRN_MAS3,r8
267 tlbwe
268
269/* 7. Jump to KERNELBASE mapping */
270 lis r6,(KERNELBASE & ~0xfff)@h
271 ori r6,r6,(KERNELBASE & ~0xfff)@l
272 lis r7,MSR_KERNEL@h
273 ori r7,r7,MSR_KERNEL@l
274 bl 1f /* Find our address */
2751: mflr r9
276 rlwimi r6,r9,0,20,31
277 addi r6,r6,(2f - 1b)
278 mtspr SPRN_SRR0,r6
279 mtspr SPRN_SRR1,r7
280 rfi /* start execution out of TLB1[0] entry */
281
282/* 8. Clear out the temp mapping */
2832: lis r7,0x1000 /* Set MAS0(TLBSEL) = 1 */
284 rlwimi r7,r5,16,4,15 /* Setup MAS0 = TLBSEL | ESEL(r5) */
285 mtspr SPRN_MAS0,r7
286 tlbre
287 mfspr r8,SPRN_MAS1
288 rlwinm r8,r8,0,2,0 /* clear IPROT */
289 mtspr SPRN_MAS1,r8
290 tlbwe
291 /* Invalidate TLB1 */
292 li r9,0x0c
293 tlbivax 0,r9
294 TLBSYNC
295 101
296 /* Establish the interrupt vector offsets */ 102 /* Establish the interrupt vector offsets */
297 SET_IVOR(0, CriticalInput); 103 SET_IVOR(0, CriticalInput);
@@ -639,6 +445,13 @@ interrupt_base:
639 rlwinm r12,r12,0,16,1 445 rlwinm r12,r12,0,16,1
640 mtspr SPRN_MAS1,r12 446 mtspr SPRN_MAS1,r12
641 447
448 /* Make up the required permissions for kernel code */
449#ifdef CONFIG_PTE_64BIT
450 li r13,_PAGE_PRESENT | _PAGE_BAP_SX
451 oris r13,r13,_PAGE_ACCESSED@h
452#else
453 li r13,_PAGE_PRESENT | _PAGE_ACCESSED | _PAGE_EXEC
454#endif
642 b 4f 455 b 4f
643 456
644 /* Get the PGD for the current thread */ 457 /* Get the PGD for the current thread */
@@ -646,15 +459,15 @@ interrupt_base:
646 mfspr r11,SPRN_SPRG_THREAD 459 mfspr r11,SPRN_SPRG_THREAD
647 lwz r11,PGDIR(r11) 460 lwz r11,PGDIR(r11)
648 461
6494: 462 /* Make up the required permissions for user code */
650 /* Make up the required permissions */
651#ifdef CONFIG_PTE_64BIT 463#ifdef CONFIG_PTE_64BIT
652 li r13,_PAGE_PRESENT | _PAGE_EXEC 464 li r13,_PAGE_PRESENT | _PAGE_BAP_UX
653 oris r13,r13,_PAGE_ACCESSED@h 465 oris r13,r13,_PAGE_ACCESSED@h
654#else 466#else
655 li r13,_PAGE_PRESENT | _PAGE_ACCESSED | _PAGE_EXEC 467 li r13,_PAGE_PRESENT | _PAGE_ACCESSED | _PAGE_EXEC
656#endif 468#endif
657 469
4704:
658 FIND_PTE 471 FIND_PTE
659 andc. r13,r13,r11 /* Check permission */ 472 andc. r13,r13,r11 /* Check permission */
660 473
@@ -747,9 +560,6 @@ finish_tlb_load:
747#else 560#else
748 rlwimi r12, r11, 26, 27, 31 /* extract WIMGE from pte */ 561 rlwimi r12, r11, 26, 27, 31 /* extract WIMGE from pte */
749#endif 562#endif
750#ifdef CONFIG_SMP
751 ori r12, r12, MAS2_M
752#endif
753 mtspr SPRN_MAS2, r12 563 mtspr SPRN_MAS2, r12
754 564
755#ifdef CONFIG_PTE_64BIT 565#ifdef CONFIG_PTE_64BIT
@@ -887,13 +697,17 @@ KernelSPE:
887 lwz r3,_MSR(r1) 697 lwz r3,_MSR(r1)
888 oris r3,r3,MSR_SPE@h 698 oris r3,r3,MSR_SPE@h
889 stw r3,_MSR(r1) /* enable use of SPE after return */ 699 stw r3,_MSR(r1) /* enable use of SPE after return */
700#ifdef CONFIG_PRINTK
890 lis r3,87f@h 701 lis r3,87f@h
891 ori r3,r3,87f@l 702 ori r3,r3,87f@l
892 mr r4,r2 /* current */ 703 mr r4,r2 /* current */
893 lwz r5,_NIP(r1) 704 lwz r5,_NIP(r1)
894 bl printk 705 bl printk
706#endif
895 b ret_from_except 707 b ret_from_except
708#ifdef CONFIG_PRINTK
89687: .string "SPE used in kernel (task=%p, pc=%x) \n" 70987: .string "SPE used in kernel (task=%p, pc=%x) \n"
710#endif
897 .align 4,0 711 .align 4,0
898 712
899#endif /* CONFIG_SPE */ 713#endif /* CONFIG_SPE */
diff --git a/arch/powerpc/kernel/ibmebus.c b/arch/powerpc/kernel/ibmebus.c
index a4c8b38b0ba1..21266abfbda6 100644
--- a/arch/powerpc/kernel/ibmebus.c
+++ b/arch/powerpc/kernel/ibmebus.c
@@ -42,6 +42,7 @@
42#include <linux/dma-mapping.h> 42#include <linux/dma-mapping.h>
43#include <linux/interrupt.h> 43#include <linux/interrupt.h>
44#include <linux/of.h> 44#include <linux/of.h>
45#include <linux/slab.h>
45#include <linux/of_platform.h> 46#include <linux/of_platform.h>
46#include <asm/ibmebus.h> 47#include <asm/ibmebus.h>
47#include <asm/abs_addr.h> 48#include <asm/abs_addr.h>
@@ -139,14 +140,14 @@ static struct dma_map_ops ibmebus_dma_ops = {
139 140
140static int ibmebus_match_path(struct device *dev, void *data) 141static int ibmebus_match_path(struct device *dev, void *data)
141{ 142{
142 struct device_node *dn = to_of_device(dev)->node; 143 struct device_node *dn = to_of_device(dev)->dev.of_node;
143 return (dn->full_name && 144 return (dn->full_name &&
144 (strcasecmp((char *)data, dn->full_name) == 0)); 145 (strcasecmp((char *)data, dn->full_name) == 0));
145} 146}
146 147
147static int ibmebus_match_node(struct device *dev, void *data) 148static int ibmebus_match_node(struct device *dev, void *data)
148{ 149{
149 return to_of_device(dev)->node == data; 150 return to_of_device(dev)->dev.of_node == data;
150} 151}
151 152
152static int ibmebus_create_device(struct device_node *dn) 153static int ibmebus_create_device(struct device_node *dn)
@@ -201,7 +202,7 @@ static int ibmebus_create_devices(const struct of_device_id *matches)
201int ibmebus_register_driver(struct of_platform_driver *drv) 202int ibmebus_register_driver(struct of_platform_driver *drv)
202{ 203{
203 /* If the driver uses devices that ibmebus doesn't know, add them */ 204 /* If the driver uses devices that ibmebus doesn't know, add them */
204 ibmebus_create_devices(drv->match_table); 205 ibmebus_create_devices(drv->driver.of_match_table);
205 206
206 return of_register_driver(drv, &ibmebus_bus_type); 207 return of_register_driver(drv, &ibmebus_bus_type);
207} 208}
diff --git a/arch/powerpc/kernel/iommu.c b/arch/powerpc/kernel/iommu.c
index 5547ae6e6b0b..d5839179ec77 100644
--- a/arch/powerpc/kernel/iommu.c
+++ b/arch/powerpc/kernel/iommu.c
@@ -42,26 +42,10 @@
42 42
43#define DBG(...) 43#define DBG(...)
44 44
45#ifdef CONFIG_IOMMU_VMERGE 45static int novmerge;
46static int novmerge = 0;
47#else
48static int novmerge = 1;
49#endif
50
51static int protect4gb = 1;
52 46
53static void __iommu_free(struct iommu_table *, dma_addr_t, unsigned int); 47static void __iommu_free(struct iommu_table *, dma_addr_t, unsigned int);
54 48
55static int __init setup_protect4gb(char *str)
56{
57 if (strcmp(str, "on") == 0)
58 protect4gb = 1;
59 else if (strcmp(str, "off") == 0)
60 protect4gb = 0;
61
62 return 1;
63}
64
65static int __init setup_iommu(char *str) 49static int __init setup_iommu(char *str)
66{ 50{
67 if (!strcmp(str, "novmerge")) 51 if (!strcmp(str, "novmerge"))
@@ -71,7 +55,6 @@ static int __init setup_iommu(char *str)
71 return 1; 55 return 1;
72} 56}
73 57
74__setup("protect4gb=", setup_protect4gb);
75__setup("iommu=", setup_iommu); 58__setup("iommu=", setup_iommu);
76 59
77static unsigned long iommu_range_alloc(struct device *dev, 60static unsigned long iommu_range_alloc(struct device *dev,
diff --git a/arch/powerpc/kernel/irq.c b/arch/powerpc/kernel/irq.c
index 9040330b0530..77be3d058a65 100644
--- a/arch/powerpc/kernel/irq.c
+++ b/arch/powerpc/kernel/irq.c
@@ -53,7 +53,6 @@
53#include <linux/bootmem.h> 53#include <linux/bootmem.h>
54#include <linux/pci.h> 54#include <linux/pci.h>
55#include <linux/debugfs.h> 55#include <linux/debugfs.h>
56#include <linux/perf_event.h>
57 56
58#include <asm/uaccess.h> 57#include <asm/uaccess.h>
59#include <asm/system.h> 58#include <asm/system.h>
@@ -73,8 +72,10 @@
73#define CREATE_TRACE_POINTS 72#define CREATE_TRACE_POINTS
74#include <asm/trace.h> 73#include <asm/trace.h>
75 74
75DEFINE_PER_CPU_SHARED_ALIGNED(irq_cpustat_t, irq_stat);
76EXPORT_PER_CPU_SYMBOL(irq_stat);
77
76int __irq_offset_value; 78int __irq_offset_value;
77static int ppc_spurious_interrupts;
78 79
79#ifdef CONFIG_PPC32 80#ifdef CONFIG_PPC32
80EXPORT_SYMBOL(__irq_offset_value); 81EXPORT_SYMBOL(__irq_offset_value);
@@ -143,11 +144,6 @@ notrace void raw_local_irq_restore(unsigned long en)
143 } 144 }
144#endif /* CONFIG_PPC_STD_MMU_64 */ 145#endif /* CONFIG_PPC_STD_MMU_64 */
145 146
146 if (test_perf_event_pending()) {
147 clear_perf_event_pending();
148 perf_event_do_pending();
149 }
150
151 /* 147 /*
152 * if (get_paca()->hard_enabled) return; 148 * if (get_paca()->hard_enabled) return;
153 * 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
@@ -180,30 +176,64 @@ notrace void raw_local_irq_restore(unsigned long en)
180EXPORT_SYMBOL(raw_local_irq_restore); 176EXPORT_SYMBOL(raw_local_irq_restore);
181#endif /* CONFIG_PPC64 */ 177#endif /* CONFIG_PPC64 */
182 178
179static int show_other_interrupts(struct seq_file *p, int prec)
180{
181 int j;
182
183#if defined(CONFIG_PPC32) && defined(CONFIG_TAU_INT)
184 if (tau_initialized) {
185 seq_printf(p, "%*s: ", prec, "TAU");
186 for_each_online_cpu(j)
187 seq_printf(p, "%10u ", tau_interrupts(j));
188 seq_puts(p, " PowerPC Thermal Assist (cpu temp)\n");
189 }
190#endif /* CONFIG_PPC32 && CONFIG_TAU_INT */
191
192 seq_printf(p, "%*s: ", prec, "LOC");
193 for_each_online_cpu(j)
194 seq_printf(p, "%10u ", per_cpu(irq_stat, j).timer_irqs);
195 seq_printf(p, " Local timer interrupts\n");
196
197 seq_printf(p, "%*s: ", prec, "SPU");
198 for_each_online_cpu(j)
199 seq_printf(p, "%10u ", per_cpu(irq_stat, j).spurious_irqs);
200 seq_printf(p, " Spurious interrupts\n");
201
202 seq_printf(p, "%*s: ", prec, "CNT");
203 for_each_online_cpu(j)
204 seq_printf(p, "%10u ", per_cpu(irq_stat, j).pmu_irqs);
205 seq_printf(p, " Performance monitoring interrupts\n");
206
207 seq_printf(p, "%*s: ", prec, "MCE");
208 for_each_online_cpu(j)
209 seq_printf(p, "%10u ", per_cpu(irq_stat, j).mce_exceptions);
210 seq_printf(p, " Machine check exceptions\n");
211
212 return 0;
213}
214
183int show_interrupts(struct seq_file *p, void *v) 215int show_interrupts(struct seq_file *p, void *v)
184{ 216{
185 int i = *(loff_t *)v, j; 217 unsigned long flags, any_count = 0;
218 int i = *(loff_t *) v, j, prec;
186 struct irqaction *action; 219 struct irqaction *action;
187 struct irq_desc *desc; 220 struct irq_desc *desc;
188 unsigned long flags;
189 221
222 if (i > nr_irqs)
223 return 0;
224
225 for (prec = 3, j = 1000; prec < 10 && j <= nr_irqs; ++prec)
226 j *= 10;
227
228 if (i == nr_irqs)
229 return show_other_interrupts(p, prec);
230
231 /* print header */
190 if (i == 0) { 232 if (i == 0) {
191 seq_puts(p, " "); 233 seq_printf(p, "%*s", prec + 8, "");
192 for_each_online_cpu(j) 234 for_each_online_cpu(j)
193 seq_printf(p, "CPU%d ", j); 235 seq_printf(p, "CPU%-8d", j);
194 seq_putc(p, '\n'); 236 seq_putc(p, '\n');
195 } else if (i == nr_irqs) {
196#if defined(CONFIG_PPC32) && defined(CONFIG_TAU_INT)
197 if (tau_initialized){
198 seq_puts(p, "TAU: ");
199 for_each_online_cpu(j)
200 seq_printf(p, "%10u ", tau_interrupts(j));
201 seq_puts(p, " PowerPC Thermal Assist (cpu temp)\n");
202 }
203#endif /* CONFIG_PPC32 && CONFIG_TAU_INT*/
204 seq_printf(p, "BAD: %10u\n", ppc_spurious_interrupts);
205
206 return 0;
207 } 237 }
208 238
209 desc = irq_to_desc(i); 239 desc = irq_to_desc(i);
@@ -211,69 +241,85 @@ int show_interrupts(struct seq_file *p, void *v)
211 return 0; 241 return 0;
212 242
213 raw_spin_lock_irqsave(&desc->lock, flags); 243 raw_spin_lock_irqsave(&desc->lock, flags);
214 244 for_each_online_cpu(j)
245 any_count |= kstat_irqs_cpu(i, j);
215 action = desc->action; 246 action = desc->action;
216 if (!action || !action->handler) 247 if (!action && !any_count)
217 goto skip; 248 goto out;
218 249
219 seq_printf(p, "%3d: ", i); 250 seq_printf(p, "%*d: ", prec, i);
220#ifdef CONFIG_SMP
221 for_each_online_cpu(j) 251 for_each_online_cpu(j)
222 seq_printf(p, "%10u ", kstat_irqs_cpu(i, j)); 252 seq_printf(p, "%10u ", kstat_irqs_cpu(i, j));
223#else
224 seq_printf(p, "%10u ", kstat_irqs(i));
225#endif /* CONFIG_SMP */
226 253
227 if (desc->chip) 254 if (desc->chip)
228 seq_printf(p, " %s ", desc->chip->name); 255 seq_printf(p, " %-16s", desc->chip->name);
229 else 256 else
230 seq_puts(p, " None "); 257 seq_printf(p, " %-16s", "None");
258 seq_printf(p, " %-8s", (desc->status & IRQ_LEVEL) ? "Level" : "Edge");
231 259
232 seq_printf(p, "%s", (desc->status & IRQ_LEVEL) ? "Level " : "Edge "); 260 if (action) {
233 seq_printf(p, " %s", action->name); 261 seq_printf(p, " %s", action->name);
262 while ((action = action->next) != NULL)
263 seq_printf(p, ", %s", action->name);
264 }
234 265
235 for (action = action->next; action; action = action->next)
236 seq_printf(p, ", %s", action->name);
237 seq_putc(p, '\n'); 266 seq_putc(p, '\n');
238 267out:
239skip:
240 raw_spin_unlock_irqrestore(&desc->lock, flags); 268 raw_spin_unlock_irqrestore(&desc->lock, flags);
241
242 return 0; 269 return 0;
243} 270}
244 271
272/*
273 * /proc/stat helpers
274 */
275u64 arch_irq_stat_cpu(unsigned int cpu)
276{
277 u64 sum = per_cpu(irq_stat, cpu).timer_irqs;
278
279 sum += per_cpu(irq_stat, cpu).pmu_irqs;
280 sum += per_cpu(irq_stat, cpu).mce_exceptions;
281 sum += per_cpu(irq_stat, cpu).spurious_irqs;
282
283 return sum;
284}
285
245#ifdef CONFIG_HOTPLUG_CPU 286#ifdef CONFIG_HOTPLUG_CPU
246void fixup_irqs(cpumask_t map) 287void fixup_irqs(const struct cpumask *map)
247{ 288{
248 struct irq_desc *desc; 289 struct irq_desc *desc;
249 unsigned int irq; 290 unsigned int irq;
250 static int warned; 291 static int warned;
292 cpumask_var_t mask;
251 293
252 for_each_irq(irq) { 294 alloc_cpumask_var(&mask, GFP_KERNEL);
253 cpumask_t mask;
254 295
296 for_each_irq(irq) {
255 desc = irq_to_desc(irq); 297 desc = irq_to_desc(irq);
256 if (desc && desc->status & IRQ_PER_CPU) 298 if (!desc)
299 continue;
300
301 if (desc->status & IRQ_PER_CPU)
257 continue; 302 continue;
258 303
259 cpumask_and(&mask, desc->affinity, &map); 304 cpumask_and(mask, desc->affinity, map);
260 if (any_online_cpu(mask) == NR_CPUS) { 305 if (cpumask_any(mask) >= nr_cpu_ids) {
261 printk("Breaking affinity for irq %i\n", irq); 306 printk("Breaking affinity for irq %i\n", irq);
262 mask = map; 307 cpumask_copy(mask, map);
263 } 308 }
264 if (desc->chip->set_affinity) 309 if (desc->chip->set_affinity)
265 desc->chip->set_affinity(irq, &mask); 310 desc->chip->set_affinity(irq, mask);
266 else if (desc->action && !(warned++)) 311 else if (desc->action && !(warned++))
267 printk("Cannot set affinity for irq %i\n", irq); 312 printk("Cannot set affinity for irq %i\n", irq);
268 } 313 }
269 314
315 free_cpumask_var(mask);
316
270 local_irq_enable(); 317 local_irq_enable();
271 mdelay(1); 318 mdelay(1);
272 local_irq_disable(); 319 local_irq_disable();
273} 320}
274#endif 321#endif
275 322
276#ifdef CONFIG_IRQSTACKS
277static inline void handle_one_irq(unsigned int irq) 323static inline void handle_one_irq(unsigned int irq)
278{ 324{
279 struct thread_info *curtp, *irqtp; 325 struct thread_info *curtp, *irqtp;
@@ -314,12 +360,6 @@ static inline void handle_one_irq(unsigned int irq)
314 if (irqtp->flags) 360 if (irqtp->flags)
315 set_bits(irqtp->flags, &curtp->flags); 361 set_bits(irqtp->flags, &curtp->flags);
316} 362}
317#else
318static inline void handle_one_irq(unsigned int irq)
319{
320 generic_handle_irq(irq);
321}
322#endif
323 363
324static inline void check_stack_overflow(void) 364static inline void check_stack_overflow(void)
325{ 365{
@@ -353,8 +393,7 @@ void do_IRQ(struct pt_regs *regs)
353 if (irq != NO_IRQ && irq != NO_IRQ_IGNORE) 393 if (irq != NO_IRQ && irq != NO_IRQ_IGNORE)
354 handle_one_irq(irq); 394 handle_one_irq(irq);
355 else if (irq != NO_IRQ_IGNORE) 395 else if (irq != NO_IRQ_IGNORE)
356 /* That's not SMP safe ... but who cares ? */ 396 __get_cpu_var(irq_stat).spurious_irqs++;
357 ppc_spurious_interrupts++;
358 397
359 irq_exit(); 398 irq_exit();
360 set_irq_regs(old_regs); 399 set_irq_regs(old_regs);
@@ -412,7 +451,6 @@ void exc_lvl_ctx_init(void)
412} 451}
413#endif 452#endif
414 453
415#ifdef CONFIG_IRQSTACKS
416struct thread_info *softirq_ctx[NR_CPUS] __read_mostly; 454struct thread_info *softirq_ctx[NR_CPUS] __read_mostly;
417struct thread_info *hardirq_ctx[NR_CPUS] __read_mostly; 455struct thread_info *hardirq_ctx[NR_CPUS] __read_mostly;
418 456
@@ -449,10 +487,6 @@ static inline void do_softirq_onstack(void)
449 irqtp->task = NULL; 487 irqtp->task = NULL;
450} 488}
451 489
452#else
453#define do_softirq_onstack() __do_softirq()
454#endif /* CONFIG_IRQSTACKS */
455
456void do_softirq(void) 490void do_softirq(void)
457{ 491{
458 unsigned long flags; 492 unsigned long flags;
@@ -474,7 +508,7 @@ void do_softirq(void)
474 */ 508 */
475 509
476static LIST_HEAD(irq_hosts); 510static LIST_HEAD(irq_hosts);
477static DEFINE_SPINLOCK(irq_big_lock); 511static DEFINE_RAW_SPINLOCK(irq_big_lock);
478static unsigned int revmap_trees_allocated; 512static unsigned int revmap_trees_allocated;
479static DEFINE_MUTEX(revmap_trees_mutex); 513static DEFINE_MUTEX(revmap_trees_mutex);
480struct irq_map_entry irq_map[NR_IRQS]; 514struct irq_map_entry irq_map[NR_IRQS];
@@ -520,14 +554,14 @@ struct irq_host *irq_alloc_host(struct device_node *of_node,
520 if (host->ops->match == NULL) 554 if (host->ops->match == NULL)
521 host->ops->match = default_irq_host_match; 555 host->ops->match = default_irq_host_match;
522 556
523 spin_lock_irqsave(&irq_big_lock, flags); 557 raw_spin_lock_irqsave(&irq_big_lock, flags);
524 558
525 /* If it's a legacy controller, check for duplicates and 559 /* If it's a legacy controller, check for duplicates and
526 * mark it as allocated (we use irq 0 host pointer for that 560 * mark it as allocated (we use irq 0 host pointer for that
527 */ 561 */
528 if (revmap_type == IRQ_HOST_MAP_LEGACY) { 562 if (revmap_type == IRQ_HOST_MAP_LEGACY) {
529 if (irq_map[0].host != NULL) { 563 if (irq_map[0].host != NULL) {
530 spin_unlock_irqrestore(&irq_big_lock, flags); 564 raw_spin_unlock_irqrestore(&irq_big_lock, flags);
531 /* If we are early boot, we can't free the structure, 565 /* If we are early boot, we can't free the structure,
532 * too bad... 566 * too bad...
533 * this will be fixed once slab is made available early 567 * this will be fixed once slab is made available early
@@ -541,7 +575,7 @@ struct irq_host *irq_alloc_host(struct device_node *of_node,
541 } 575 }
542 576
543 list_add(&host->link, &irq_hosts); 577 list_add(&host->link, &irq_hosts);
544 spin_unlock_irqrestore(&irq_big_lock, flags); 578 raw_spin_unlock_irqrestore(&irq_big_lock, flags);
545 579
546 /* Additional setups per revmap type */ 580 /* Additional setups per revmap type */
547 switch(revmap_type) { 581 switch(revmap_type) {
@@ -592,13 +626,13 @@ struct irq_host *irq_find_host(struct device_node *node)
592 * the absence of a device node. This isn't a problem so far 626 * the absence of a device node. This isn't a problem so far
593 * yet though... 627 * yet though...
594 */ 628 */
595 spin_lock_irqsave(&irq_big_lock, flags); 629 raw_spin_lock_irqsave(&irq_big_lock, flags);
596 list_for_each_entry(h, &irq_hosts, link) 630 list_for_each_entry(h, &irq_hosts, link)
597 if (h->ops->match(h, node)) { 631 if (h->ops->match(h, node)) {
598 found = h; 632 found = h;
599 break; 633 break;
600 } 634 }
601 spin_unlock_irqrestore(&irq_big_lock, flags); 635 raw_spin_unlock_irqrestore(&irq_big_lock, flags);
602 return found; 636 return found;
603} 637}
604EXPORT_SYMBOL_GPL(irq_find_host); 638EXPORT_SYMBOL_GPL(irq_find_host);
@@ -967,7 +1001,7 @@ unsigned int irq_alloc_virt(struct irq_host *host,
967 if (count == 0 || count > (irq_virq_count - NUM_ISA_INTERRUPTS)) 1001 if (count == 0 || count > (irq_virq_count - NUM_ISA_INTERRUPTS))
968 return NO_IRQ; 1002 return NO_IRQ;
969 1003
970 spin_lock_irqsave(&irq_big_lock, flags); 1004 raw_spin_lock_irqsave(&irq_big_lock, flags);
971 1005
972 /* Use hint for 1 interrupt if any */ 1006 /* Use hint for 1 interrupt if any */
973 if (count == 1 && hint >= NUM_ISA_INTERRUPTS && 1007 if (count == 1 && hint >= NUM_ISA_INTERRUPTS &&
@@ -991,7 +1025,7 @@ unsigned int irq_alloc_virt(struct irq_host *host,
991 } 1025 }
992 } 1026 }
993 if (found == NO_IRQ) { 1027 if (found == NO_IRQ) {
994 spin_unlock_irqrestore(&irq_big_lock, flags); 1028 raw_spin_unlock_irqrestore(&irq_big_lock, flags);
995 return NO_IRQ; 1029 return NO_IRQ;
996 } 1030 }
997 hint_found: 1031 hint_found:
@@ -1000,7 +1034,7 @@ unsigned int irq_alloc_virt(struct irq_host *host,
1000 smp_wmb(); 1034 smp_wmb();
1001 irq_map[i].host = host; 1035 irq_map[i].host = host;
1002 } 1036 }
1003 spin_unlock_irqrestore(&irq_big_lock, flags); 1037 raw_spin_unlock_irqrestore(&irq_big_lock, flags);
1004 return found; 1038 return found;
1005} 1039}
1006 1040
@@ -1012,7 +1046,7 @@ void irq_free_virt(unsigned int virq, unsigned int count)
1012 WARN_ON (virq < NUM_ISA_INTERRUPTS); 1046 WARN_ON (virq < NUM_ISA_INTERRUPTS);
1013 WARN_ON (count == 0 || (virq + count) > irq_virq_count); 1047 WARN_ON (count == 0 || (virq + count) > irq_virq_count);
1014 1048
1015 spin_lock_irqsave(&irq_big_lock, flags); 1049 raw_spin_lock_irqsave(&irq_big_lock, flags);
1016 for (i = virq; i < (virq + count); i++) { 1050 for (i = virq; i < (virq + count); i++) {
1017 struct irq_host *host; 1051 struct irq_host *host;
1018 1052
@@ -1025,7 +1059,7 @@ void irq_free_virt(unsigned int virq, unsigned int count)
1025 smp_wmb(); 1059 smp_wmb();
1026 irq_map[i].host = NULL; 1060 irq_map[i].host = NULL;
1027 } 1061 }
1028 spin_unlock_irqrestore(&irq_big_lock, flags); 1062 raw_spin_unlock_irqrestore(&irq_big_lock, flags);
1029} 1063}
1030 1064
1031int arch_early_irq_init(void) 1065int arch_early_irq_init(void)
diff --git a/arch/powerpc/kernel/kgdb.c b/arch/powerpc/kernel/kgdb.c
index b6bd1eaa1c24..82a7b228c81a 100644
--- a/arch/powerpc/kernel/kgdb.c
+++ b/arch/powerpc/kernel/kgdb.c
@@ -20,6 +20,7 @@
20#include <linux/smp.h> 20#include <linux/smp.h>
21#include <linux/signal.h> 21#include <linux/signal.h>
22#include <linux/ptrace.h> 22#include <linux/ptrace.h>
23#include <linux/kdebug.h>
23#include <asm/current.h> 24#include <asm/current.h>
24#include <asm/processor.h> 25#include <asm/processor.h>
25#include <asm/machdep.h> 26#include <asm/machdep.h>
@@ -115,7 +116,8 @@ void kgdb_roundup_cpus(unsigned long flags)
115/* KGDB functions to use existing PowerPC64 hooks. */ 116/* KGDB functions to use existing PowerPC64 hooks. */
116static int kgdb_debugger(struct pt_regs *regs) 117static int kgdb_debugger(struct pt_regs *regs)
117{ 118{
118 return kgdb_handle_exception(0, computeSignal(TRAP(regs)), 0, regs); 119 return !kgdb_handle_exception(1, computeSignal(TRAP(regs)),
120 DIE_OOPS, regs);
119} 121}
120 122
121static int kgdb_handle_breakpoint(struct pt_regs *regs) 123static int kgdb_handle_breakpoint(struct pt_regs *regs)
@@ -123,7 +125,7 @@ static int kgdb_handle_breakpoint(struct pt_regs *regs)
123 if (user_mode(regs)) 125 if (user_mode(regs))
124 return 0; 126 return 0;
125 127
126 if (kgdb_handle_exception(0, SIGTRAP, 0, regs) != 0) 128 if (kgdb_handle_exception(1, SIGTRAP, 0, regs) != 0)
127 return 0; 129 return 0;
128 130
129 if (*(u32 *) (regs->nip) == *(u32 *) (&arch_kgdb_ops.gdb_bpt_instr)) 131 if (*(u32 *) (regs->nip) == *(u32 *) (&arch_kgdb_ops.gdb_bpt_instr))
@@ -309,6 +311,11 @@ void gdb_regs_to_pt_regs(unsigned long *gdb_regs, struct pt_regs *regs)
309 (unsigned long)(((void *)gdb_regs) + NUMREGBYTES)); 311 (unsigned long)(((void *)gdb_regs) + NUMREGBYTES));
310} 312}
311 313
314void kgdb_arch_set_pc(struct pt_regs *regs, unsigned long pc)
315{
316 regs->nip = pc;
317}
318
312/* 319/*
313 * This function does PowerPC specific procesing for interfacing to gdb. 320 * This function does PowerPC specific procesing for interfacing to gdb.
314 */ 321 */
@@ -333,7 +340,7 @@ int kgdb_arch_handle_exception(int vector, int signo, int err_code,
333 atomic_set(&kgdb_cpu_doing_single_step, -1); 340 atomic_set(&kgdb_cpu_doing_single_step, -1);
334 /* set the trace bit if we're stepping */ 341 /* set the trace bit if we're stepping */
335 if (remcom_in_buffer[0] == 's') { 342 if (remcom_in_buffer[0] == 's') {
336#if defined(CONFIG_40x) || defined(CONFIG_BOOKE) 343#ifdef CONFIG_PPC_ADV_DEBUG_REGS
337 mtspr(SPRN_DBCR0, 344 mtspr(SPRN_DBCR0,
338 mfspr(SPRN_DBCR0) | DBCR0_IC | DBCR0_IDM); 345 mfspr(SPRN_DBCR0) | DBCR0_IC | DBCR0_IDM);
339 linux_regs->msr |= MSR_DE; 346 linux_regs->msr |= MSR_DE;
diff --git a/arch/powerpc/kernel/kprobes.c b/arch/powerpc/kernel/kprobes.c
index c9329786073b..bc47352deb1f 100644
--- a/arch/powerpc/kernel/kprobes.c
+++ b/arch/powerpc/kernel/kprobes.c
@@ -31,12 +31,13 @@
31#include <linux/preempt.h> 31#include <linux/preempt.h>
32#include <linux/module.h> 32#include <linux/module.h>
33#include <linux/kdebug.h> 33#include <linux/kdebug.h>
34#include <linux/slab.h>
34#include <asm/cacheflush.h> 35#include <asm/cacheflush.h>
35#include <asm/sstep.h> 36#include <asm/sstep.h>
36#include <asm/uaccess.h> 37#include <asm/uaccess.h>
37#include <asm/system.h> 38#include <asm/system.h>
38 39
39#ifdef CONFIG_BOOKE 40#ifdef CONFIG_PPC_ADV_DEBUG_REGS
40#define MSR_SINGLESTEP (MSR_DE) 41#define MSR_SINGLESTEP (MSR_DE)
41#else 42#else
42#define MSR_SINGLESTEP (MSR_SE) 43#define MSR_SINGLESTEP (MSR_SE)
@@ -110,9 +111,12 @@ static void __kprobes prepare_singlestep(struct kprobe *p, struct pt_regs *regs)
110 * like Decrementer or External Interrupt */ 111 * like Decrementer or External Interrupt */
111 regs->msr &= ~MSR_EE; 112 regs->msr &= ~MSR_EE;
112 regs->msr |= MSR_SINGLESTEP; 113 regs->msr |= MSR_SINGLESTEP;
113#ifdef CONFIG_BOOKE 114#ifdef CONFIG_PPC_ADV_DEBUG_REGS
114 regs->msr &= ~MSR_CE; 115 regs->msr &= ~MSR_CE;
115 mtspr(SPRN_DBCR0, mfspr(SPRN_DBCR0) | DBCR0_IC | DBCR0_IDM); 116 mtspr(SPRN_DBCR0, mfspr(SPRN_DBCR0) | DBCR0_IC | DBCR0_IDM);
117#ifdef CONFIG_PPC_47x
118 isync();
119#endif
116#endif 120#endif
117 121
118 /* 122 /*
@@ -374,17 +378,6 @@ static int __kprobes trampoline_probe_handler(struct kprobe *p,
374 * single-stepped a copy of the instruction. The address of this 378 * single-stepped a copy of the instruction. The address of this
375 * copy is p->ainsn.insn. 379 * copy is p->ainsn.insn.
376 */ 380 */
377static void __kprobes resume_execution(struct kprobe *p, struct pt_regs *regs)
378{
379 int ret;
380 unsigned int insn = *p->ainsn.insn;
381
382 regs->nip = (unsigned long)p->addr;
383 ret = emulate_step(regs, insn);
384 if (ret == 0)
385 regs->nip = (unsigned long)p->addr + 4;
386}
387
388static int __kprobes post_kprobe_handler(struct pt_regs *regs) 381static int __kprobes post_kprobe_handler(struct pt_regs *regs)
389{ 382{
390 struct kprobe *cur = kprobe_running(); 383 struct kprobe *cur = kprobe_running();
@@ -402,7 +395,8 @@ static int __kprobes post_kprobe_handler(struct pt_regs *regs)
402 cur->post_handler(cur, regs, 0); 395 cur->post_handler(cur, regs, 0);
403 } 396 }
404 397
405 resume_execution(cur, regs); 398 /* Adjust nip to after the single-stepped instruction */
399 regs->nip = (unsigned long)cur->addr + 4;
406 regs->msr |= kcb->kprobe_saved_msr; 400 regs->msr |= kcb->kprobe_saved_msr;
407 401
408 /*Restore back the original saved kprobes variables and continue. */ 402 /*Restore back the original saved kprobes variables and continue. */
diff --git a/arch/powerpc/kernel/legacy_serial.c b/arch/powerpc/kernel/legacy_serial.c
index 9ddfaef1a184..035ada5443ee 100644
--- a/arch/powerpc/kernel/legacy_serial.c
+++ b/arch/powerpc/kernel/legacy_serial.c
@@ -469,7 +469,7 @@ static int __init serial_dev_init(void)
469 return -ENODEV; 469 return -ENODEV;
470 470
471 /* 471 /*
472 * Before we register the platfrom serial devices, we need 472 * Before we register the platform serial devices, we need
473 * to fixup their interrupts and their IO ports. 473 * to fixup their interrupts and their IO ports.
474 */ 474 */
475 DBG("Fixing serial ports interrupts and IO ports ...\n"); 475 DBG("Fixing serial ports interrupts and IO ports ...\n");
diff --git a/arch/powerpc/kernel/lparcfg.c b/arch/powerpc/kernel/lparcfg.c
index 79a00bb9c64c..50362b6ef6e9 100644
--- a/arch/powerpc/kernel/lparcfg.c
+++ b/arch/powerpc/kernel/lparcfg.c
@@ -24,6 +24,7 @@
24#include <linux/proc_fs.h> 24#include <linux/proc_fs.h>
25#include <linux/init.h> 25#include <linux/init.h>
26#include <linux/seq_file.h> 26#include <linux/seq_file.h>
27#include <linux/slab.h>
27#include <asm/uaccess.h> 28#include <asm/uaccess.h>
28#include <asm/iseries/hv_lp_config.h> 29#include <asm/iseries/hv_lp_config.h>
29#include <asm/lppaca.h> 30#include <asm/lppaca.h>
@@ -37,7 +38,7 @@
37#include <asm/vio.h> 38#include <asm/vio.h>
38#include <asm/mmu.h> 39#include <asm/mmu.h>
39 40
40#define MODULE_VERS "1.8" 41#define MODULE_VERS "1.9"
41#define MODULE_NAME "lparcfg" 42#define MODULE_NAME "lparcfg"
42 43
43/* #define LPARCFG_DEBUG */ 44/* #define LPARCFG_DEBUG */
@@ -359,7 +360,7 @@ static void parse_system_parameter_string(struct seq_file *m)
359 360
360 unsigned char *local_buffer = kmalloc(SPLPAR_MAXLENGTH, GFP_KERNEL); 361 unsigned char *local_buffer = kmalloc(SPLPAR_MAXLENGTH, GFP_KERNEL);
361 if (!local_buffer) { 362 if (!local_buffer) {
362 printk(KERN_ERR "%s %s kmalloc failure at line %d \n", 363 printk(KERN_ERR "%s %s kmalloc failure at line %d\n",
363 __FILE__, __func__, __LINE__); 364 __FILE__, __func__, __LINE__);
364 return; 365 return;
365 } 366 }
@@ -383,13 +384,13 @@ static void parse_system_parameter_string(struct seq_file *m)
383 int idx, w_idx; 384 int idx, w_idx;
384 char *workbuffer = kzalloc(SPLPAR_MAXLENGTH, GFP_KERNEL); 385 char *workbuffer = kzalloc(SPLPAR_MAXLENGTH, GFP_KERNEL);
385 if (!workbuffer) { 386 if (!workbuffer) {
386 printk(KERN_ERR "%s %s kmalloc failure at line %d \n", 387 printk(KERN_ERR "%s %s kmalloc failure at line %d\n",
387 __FILE__, __func__, __LINE__); 388 __FILE__, __func__, __LINE__);
388 kfree(local_buffer); 389 kfree(local_buffer);
389 return; 390 return;
390 } 391 }
391#ifdef LPARCFG_DEBUG 392#ifdef LPARCFG_DEBUG
392 printk(KERN_INFO "success calling get-system-parameter \n"); 393 printk(KERN_INFO "success calling get-system-parameter\n");
393#endif 394#endif
394 splpar_strlen = local_buffer[0] * 256 + local_buffer[1]; 395 splpar_strlen = local_buffer[0] * 256 + local_buffer[1];
395 local_buffer += 2; /* step over strlen value */ 396 local_buffer += 2; /* step over strlen value */
@@ -440,7 +441,7 @@ static int lparcfg_count_active_processors(void)
440 441
441 while ((cpus_dn = of_find_node_by_type(cpus_dn, "cpu"))) { 442 while ((cpus_dn = of_find_node_by_type(cpus_dn, "cpu"))) {
442#ifdef LPARCFG_DEBUG 443#ifdef LPARCFG_DEBUG
443 printk(KERN_ERR "cpus_dn %p \n", cpus_dn); 444 printk(KERN_ERR "cpus_dn %p\n", cpus_dn);
444#endif 445#endif
445 count++; 446 count++;
446 } 447 }
@@ -486,6 +487,14 @@ static void splpar_dispatch_data(struct seq_file *m)
486 seq_printf(m, "dispatch_dispersions=%lu\n", dispatch_dispersions); 487 seq_printf(m, "dispatch_dispersions=%lu\n", dispatch_dispersions);
487} 488}
488 489
490static void parse_em_data(struct seq_file *m)
491{
492 unsigned long retbuf[PLPAR_HCALL_BUFSIZE];
493
494 if (plpar_hcall(H_GET_EM_PARMS, retbuf) == H_SUCCESS)
495 seq_printf(m, "power_mode_data=%016lx\n", retbuf[0]);
496}
497
489static int pseries_lparcfg_data(struct seq_file *m, void *v) 498static int pseries_lparcfg_data(struct seq_file *m, void *v)
490{ 499{
491 int partition_potential_processors; 500 int partition_potential_processors;
@@ -540,6 +549,8 @@ static int pseries_lparcfg_data(struct seq_file *m, void *v)
540 549
541 seq_printf(m, "slb_size=%d\n", mmu_slb_size); 550 seq_printf(m, "slb_size=%d\n", mmu_slb_size);
542 551
552 parse_em_data(m);
553
543 return 0; 554 return 0;
544} 555}
545 556
@@ -725,7 +736,7 @@ static int lparcfg_data(struct seq_file *m, void *v)
725 const unsigned int *lp_index_ptr; 736 const unsigned int *lp_index_ptr;
726 unsigned int lp_index = 0; 737 unsigned int lp_index = 0;
727 738
728 seq_printf(m, "%s %s \n", MODULE_NAME, MODULE_VERS); 739 seq_printf(m, "%s %s\n", MODULE_NAME, MODULE_VERS);
729 740
730 rootdn = of_find_node_by_path("/"); 741 rootdn = of_find_node_by_path("/");
731 if (rootdn) { 742 if (rootdn) {
diff --git a/arch/powerpc/kernel/machine_kexec.c b/arch/powerpc/kernel/machine_kexec.c
index bb3d893a8353..89f005116aac 100644
--- a/arch/powerpc/kernel/machine_kexec.c
+++ b/arch/powerpc/kernel/machine_kexec.c
@@ -12,7 +12,7 @@
12#include <linux/kexec.h> 12#include <linux/kexec.h>
13#include <linux/reboot.h> 13#include <linux/reboot.h>
14#include <linux/threads.h> 14#include <linux/threads.h>
15#include <linux/lmb.h> 15#include <linux/memblock.h>
16#include <linux/of.h> 16#include <linux/of.h>
17#include <asm/machdep.h> 17#include <asm/machdep.h>
18#include <asm/prom.h> 18#include <asm/prom.h>
@@ -66,11 +66,11 @@ void __init reserve_crashkernel(void)
66 unsigned long long crash_size, crash_base; 66 unsigned long long crash_size, crash_base;
67 int ret; 67 int ret;
68 68
69 /* this is necessary because of lmb_phys_mem_size() */ 69 /* this is necessary because of memblock_phys_mem_size() */
70 lmb_analyze(); 70 memblock_analyze();
71 71
72 /* use common parsing */ 72 /* use common parsing */
73 ret = parse_crashkernel(boot_command_line, lmb_phys_mem_size(), 73 ret = parse_crashkernel(boot_command_line, memblock_phys_mem_size(),
74 &crash_size, &crash_base); 74 &crash_size, &crash_base);
75 if (ret == 0 && crash_size > 0) { 75 if (ret == 0 && crash_size > 0) {
76 crashk_res.start = crash_base; 76 crashk_res.start = crash_base;
@@ -133,9 +133,9 @@ void __init reserve_crashkernel(void)
133 "for crashkernel (System RAM: %ldMB)\n", 133 "for crashkernel (System RAM: %ldMB)\n",
134 (unsigned long)(crash_size >> 20), 134 (unsigned long)(crash_size >> 20),
135 (unsigned long)(crashk_res.start >> 20), 135 (unsigned long)(crashk_res.start >> 20),
136 (unsigned long)(lmb_phys_mem_size() >> 20)); 136 (unsigned long)(memblock_phys_mem_size() >> 20));
137 137
138 lmb_reserve(crashk_res.start, crash_size); 138 memblock_reserve(crashk_res.start, crash_size);
139} 139}
140 140
141int overlaps_crashkernel(unsigned long start, unsigned long size) 141int overlaps_crashkernel(unsigned long start, unsigned long size)
diff --git a/arch/powerpc/kernel/machine_kexec_64.c b/arch/powerpc/kernel/machine_kexec_64.c
index 040bd1de8d99..ed31a29c4ff7 100644
--- a/arch/powerpc/kernel/machine_kexec_64.c
+++ b/arch/powerpc/kernel/machine_kexec_64.c
@@ -155,66 +155,70 @@ void kexec_copy_flush(struct kimage *image)
155 155
156#ifdef CONFIG_SMP 156#ifdef CONFIG_SMP
157 157
158/* FIXME: we should schedule this function to be called on all cpus based 158static int kexec_all_irq_disabled = 0;
159 * on calling the interrupts, but we would like to call it off irq level 159
160 * so that the interrupt controller is clean.
161 */
162static void kexec_smp_down(void *arg) 160static void kexec_smp_down(void *arg)
163{ 161{
162 local_irq_disable();
163 mb(); /* make sure our irqs are disabled before we say they are */
164 get_paca()->kexec_state = KEXEC_STATE_IRQS_OFF;
165 while(kexec_all_irq_disabled == 0)
166 cpu_relax();
167 mb(); /* make sure all irqs are disabled before this */
168 /*
169 * Now every CPU has IRQs off, we can clear out any pending
170 * IPIs and be sure that no more will come in after this.
171 */
164 if (ppc_md.kexec_cpu_down) 172 if (ppc_md.kexec_cpu_down)
165 ppc_md.kexec_cpu_down(0, 1); 173 ppc_md.kexec_cpu_down(0, 1);
166 174
167 local_irq_disable();
168 kexec_smp_wait(); 175 kexec_smp_wait();
169 /* NOTREACHED */ 176 /* NOTREACHED */
170} 177}
171 178
172static void kexec_prepare_cpus(void) 179static void kexec_prepare_cpus_wait(int wait_state)
173{ 180{
174 int my_cpu, i, notified=-1; 181 int my_cpu, i, notified=-1;
175 182
176 smp_call_function(kexec_smp_down, NULL, /* wait */0);
177 my_cpu = get_cpu(); 183 my_cpu = get_cpu();
178 184 /* Make sure each CPU has atleast made it to the state we need */
179 /* check the others cpus are now down (via paca hw cpu id == -1) */ 185 for_each_online_cpu(i) {
180 for (i=0; i < NR_CPUS; i++) {
181 if (i == my_cpu) 186 if (i == my_cpu)
182 continue; 187 continue;
183 188
184 while (paca[i].hw_cpu_id != -1) { 189 while (paca[i].kexec_state < wait_state) {
185 barrier(); 190 barrier();
186 if (!cpu_possible(i)) {
187 printk("kexec: cpu %d hw_cpu_id %d is not"
188 " possible, ignoring\n",
189 i, paca[i].hw_cpu_id);
190 break;
191 }
192 if (!cpu_online(i)) {
193 /* Fixme: this can be spinning in
194 * pSeries_secondary_wait with a paca
195 * waiting for it to go online.
196 */
197 printk("kexec: cpu %d hw_cpu_id %d is not"
198 " online, ignoring\n",
199 i, paca[i].hw_cpu_id);
200 break;
201 }
202 if (i != notified) { 191 if (i != notified) {
203 printk( "kexec: waiting for cpu %d (physical" 192 printk( "kexec: waiting for cpu %d (physical"
204 " %d) to go down\n", 193 " %d) to enter %i state\n",
205 i, paca[i].hw_cpu_id); 194 i, paca[i].hw_cpu_id, wait_state);
206 notified = i; 195 notified = i;
207 } 196 }
208 } 197 }
209 } 198 }
199 mb();
200}
201
202static void kexec_prepare_cpus(void)
203{
204
205 smp_call_function(kexec_smp_down, NULL, /* wait */0);
206 local_irq_disable();
207 mb(); /* make sure IRQs are disabled before we say they are */
208 get_paca()->kexec_state = KEXEC_STATE_IRQS_OFF;
209
210 kexec_prepare_cpus_wait(KEXEC_STATE_IRQS_OFF);
211 /* we are sure every CPU has IRQs off at this point */
212 kexec_all_irq_disabled = 1;
210 213
211 /* after we tell the others to go down */ 214 /* after we tell the others to go down */
212 if (ppc_md.kexec_cpu_down) 215 if (ppc_md.kexec_cpu_down)
213 ppc_md.kexec_cpu_down(0, 0); 216 ppc_md.kexec_cpu_down(0, 0);
214 217
215 put_cpu(); 218 /* Before removing MMU mapings make sure all CPUs have entered real mode */
219 kexec_prepare_cpus_wait(KEXEC_STATE_REAL_MODE);
216 220
217 local_irq_disable(); 221 put_cpu();
218} 222}
219 223
220#else /* ! SMP */ 224#else /* ! SMP */
diff --git a/arch/powerpc/kernel/misc.S b/arch/powerpc/kernel/misc.S
index 2d29752cbe16..22e507c8a556 100644
--- a/arch/powerpc/kernel/misc.S
+++ b/arch/powerpc/kernel/misc.S
@@ -127,3 +127,29 @@ _GLOBAL(__setup_cpu_power7)
127_GLOBAL(__restore_cpu_power7) 127_GLOBAL(__restore_cpu_power7)
128 /* place holder */ 128 /* place holder */
129 blr 129 blr
130
131/*
132 * Get a minimal set of registers for our caller's nth caller.
133 * r3 = regs pointer, r5 = n.
134 *
135 * We only get R1 (stack pointer), NIP (next instruction pointer)
136 * and LR (link register). These are all we can get in the
137 * general case without doing complicated stack unwinding, but
138 * fortunately they are enough to do a stack backtrace, which
139 * is all we need them for.
140 */
141_GLOBAL(perf_arch_fetch_caller_regs)
142 mr r6,r1
143 cmpwi r5,0
144 mflr r4
145 ble 2f
146 mtctr r5
1471: PPC_LL r6,0(r6)
148 bdnz 1b
149 PPC_LL r4,PPC_LR_STKOFF(r6)
1502: PPC_LL r7,0(r6)
151 PPC_LL r7,PPC_LR_STKOFF(r7)
152 PPC_STL r6,GPR1-STACK_FRAME_OVERHEAD(r3)
153 PPC_STL r4,_NIP-STACK_FRAME_OVERHEAD(r3)
154 PPC_STL r7,_LINK-STACK_FRAME_OVERHEAD(r3)
155 blr
diff --git a/arch/powerpc/kernel/misc_32.S b/arch/powerpc/kernel/misc_32.S
index 8649f536f8df..6bbd7a604d24 100644
--- a/arch/powerpc/kernel/misc_32.S
+++ b/arch/powerpc/kernel/misc_32.S
@@ -33,7 +33,6 @@
33 33
34 .text 34 .text
35 35
36#ifdef CONFIG_IRQSTACKS
37_GLOBAL(call_do_softirq) 36_GLOBAL(call_do_softirq)
38 mflr r0 37 mflr r0
39 stw r0,4(r1) 38 stw r0,4(r1)
@@ -56,7 +55,6 @@ _GLOBAL(call_handle_irq)
56 lwz r0,4(r1) 55 lwz r0,4(r1)
57 mtlr r0 56 mtlr r0
58 blr 57 blr
59#endif /* CONFIG_IRQSTACKS */
60 58
61/* 59/*
62 * This returns the high 64 bits of the product of two 64-bit numbers. 60 * This returns the high 64 bits of the product of two 64-bit numbers.
@@ -441,7 +439,7 @@ END_FTR_SECTION_IFSET(CPU_FTR_COHERENT_ICACHE)
441 addi r3,r3,L1_CACHE_BYTES 439 addi r3,r3,L1_CACHE_BYTES
442 bdnz 0b 440 bdnz 0b
443 sync 441 sync
444#ifndef CONFIG_44x 442#ifdef CONFIG_44x
445 /* We don't flush the icache on 44x. Those have a virtual icache 443 /* We don't flush the icache on 44x. Those have a virtual icache
446 * and we don't have access to the virtual address here (it's 444 * and we don't have access to the virtual address here (it's
447 * not the page vaddr but where it's mapped in user space). The 445 * not the page vaddr but where it's mapped in user space). The
@@ -449,15 +447,19 @@ END_FTR_SECTION_IFSET(CPU_FTR_COHERENT_ICACHE)
449 * a change in the address space occurs, before returning to 447 * a change in the address space occurs, before returning to
450 * user space 448 * user space
451 */ 449 */
450BEGIN_MMU_FTR_SECTION
451 blr
452END_MMU_FTR_SECTION_IFSET(MMU_FTR_TYPE_44x)
453#endif /* CONFIG_44x */
452 mtctr r4 454 mtctr r4
4531: icbi 0,r6 4551: icbi 0,r6
454 addi r6,r6,L1_CACHE_BYTES 456 addi r6,r6,L1_CACHE_BYTES
455 bdnz 1b 457 bdnz 1b
456 sync 458 sync
457 isync 459 isync
458#endif /* CONFIG_44x */
459 blr 460 blr
460 461
462#ifndef CONFIG_BOOKE
461/* 463/*
462 * Flush a particular page from the data cache to RAM, identified 464 * Flush a particular page from the data cache to RAM, identified
463 * by its physical address. We turn off the MMU so we can just use 465 * by its physical address. We turn off the MMU so we can just use
@@ -490,6 +492,7 @@ END_FTR_SECTION_IFSET(CPU_FTR_COHERENT_ICACHE)
490 mtmsr r10 /* restore DR */ 492 mtmsr r10 /* restore DR */
491 isync 493 isync
492 blr 494 blr
495#endif /* CONFIG_BOOKE */
493 496
494/* 497/*
495 * Clear pages using the dcbz instruction, which doesn't cause any 498 * Clear pages using the dcbz instruction, which doesn't cause any
@@ -706,6 +709,22 @@ relocate_new_kernel:
706 /* r4 = reboot_code_buffer */ 709 /* r4 = reboot_code_buffer */
707 /* r5 = start_address */ 710 /* r5 = start_address */
708 711
712#ifdef CONFIG_FSL_BOOKE
713
714 mr r29, r3
715 mr r30, r4
716 mr r31, r5
717
718#define ENTRY_MAPPING_KEXEC_SETUP
719#include "fsl_booke_entry_mapping.S"
720#undef ENTRY_MAPPING_KEXEC_SETUP
721
722 mr r3, r29
723 mr r4, r30
724 mr r5, r31
725
726 li r0, 0
727#else
709 li r0, 0 728 li r0, 0
710 729
711 /* 730 /*
@@ -722,6 +741,7 @@ relocate_new_kernel:
722 rfi 741 rfi
723 742
7241: 7431:
744#endif
725 /* from this point address translation is turned off */ 745 /* from this point address translation is turned off */
726 /* and interrupts are disabled */ 746 /* and interrupts are disabled */
727 747
diff --git a/arch/powerpc/kernel/misc_64.S b/arch/powerpc/kernel/misc_64.S
index a5cf9c1356a6..e5144906a56d 100644
--- a/arch/powerpc/kernel/misc_64.S
+++ b/arch/powerpc/kernel/misc_64.S
@@ -24,10 +24,10 @@
24#include <asm/asm-offsets.h> 24#include <asm/asm-offsets.h>
25#include <asm/cputable.h> 25#include <asm/cputable.h>
26#include <asm/thread_info.h> 26#include <asm/thread_info.h>
27#include <asm/kexec.h>
27 28
28 .text 29 .text
29 30
30#ifdef CONFIG_IRQSTACKS
31_GLOBAL(call_do_softirq) 31_GLOBAL(call_do_softirq)
32 mflr r0 32 mflr r0
33 std r0,16(r1) 33 std r0,16(r1)
@@ -51,7 +51,6 @@ _GLOBAL(call_handle_irq)
51 ld r0,16(r1) 51 ld r0,16(r1)
52 mtlr r0 52 mtlr r0
53 blr 53 blr
54#endif /* CONFIG_IRQSTACKS */
55 54
56 .section ".toc","aw" 55 .section ".toc","aw"
57PPC64_CACHES: 56PPC64_CACHES:
@@ -471,6 +470,10 @@ _GLOBAL(kexec_wait)
4711: mflr r5 4701: mflr r5
472 addi r5,r5,kexec_flag-1b 471 addi r5,r5,kexec_flag-1b
473 472
473 li r4,KEXEC_STATE_REAL_MODE
474 stb r4,PACAKEXECSTATE(r13)
475 SYNC
476
47499: HMT_LOW 47799: HMT_LOW
475#ifdef CONFIG_KEXEC /* use no memory without kexec */ 478#ifdef CONFIG_KEXEC /* use no memory without kexec */
476 lwz r4,0(r5) 479 lwz r4,0(r5)
@@ -494,14 +497,11 @@ kexec_flag:
494 * note: this is a terminal routine, it does not save lr 497 * note: this is a terminal routine, it does not save lr
495 * 498 *
496 * get phys id from paca 499 * get phys id from paca
497 * set paca id to -1 to say we got here
498 * switch to real mode 500 * switch to real mode
499 * join other cpus in kexec_wait(phys_id) 501 * join other cpus in kexec_wait(phys_id)
500 */ 502 */
501_GLOBAL(kexec_smp_wait) 503_GLOBAL(kexec_smp_wait)
502 lhz r3,PACAHWCPUID(r13) 504 lhz r3,PACAHWCPUID(r13)
503 li r4,-1
504 sth r4,PACAHWCPUID(r13) /* let others know we left */
505 bl real_mode 505 bl real_mode
506 b .kexec_wait 506 b .kexec_wait
507 507
diff --git a/arch/powerpc/kernel/nvram_64.c b/arch/powerpc/kernel/nvram_64.c
index ad461e735aec..9cf197f01e94 100644
--- a/arch/powerpc/kernel/nvram_64.c
+++ b/arch/powerpc/kernel/nvram_64.c
@@ -338,8 +338,8 @@ static int __init nvram_create_os_partition(void)
338 338
339 rc = nvram_write_header(new_part); 339 rc = nvram_write_header(new_part);
340 if (rc <= 0) { 340 if (rc <= 0) {
341 printk(KERN_ERR "nvram_create_os_partition: nvram_write_header \ 341 printk(KERN_ERR "nvram_create_os_partition: nvram_write_header "
342 failed (%d)\n", rc); 342 "failed (%d)\n", rc);
343 return rc; 343 return rc;
344 } 344 }
345 345
@@ -349,7 +349,7 @@ static int __init nvram_create_os_partition(void)
349 rc = ppc_md.nvram_write((char *)&seq_init, sizeof(seq_init), &tmp_index); 349 rc = ppc_md.nvram_write((char *)&seq_init, sizeof(seq_init), &tmp_index);
350 if (rc <= 0) { 350 if (rc <= 0) {
351 printk(KERN_ERR "nvram_create_os_partition: nvram_write " 351 printk(KERN_ERR "nvram_create_os_partition: nvram_write "
352 "failed (%d)\n", rc); 352 "failed (%d)\n", rc);
353 return rc; 353 return rc;
354 } 354 }
355 355
diff --git a/arch/powerpc/kernel/of_device.c b/arch/powerpc/kernel/of_device.c
index a359cb08e900..df78e0236a02 100644
--- a/arch/powerpc/kernel/of_device.c
+++ b/arch/powerpc/kernel/of_device.c
@@ -13,7 +13,7 @@
13static void of_device_make_bus_id(struct of_device *dev) 13static void of_device_make_bus_id(struct of_device *dev)
14{ 14{
15 static atomic_t bus_no_reg_magic; 15 static atomic_t bus_no_reg_magic;
16 struct device_node *node = dev->node; 16 struct device_node *node = dev->dev.of_node;
17 const u32 *reg; 17 const u32 *reg;
18 u64 addr; 18 u64 addr;
19 int magic; 19 int magic;
@@ -69,11 +69,10 @@ struct of_device *of_device_alloc(struct device_node *np,
69 if (!dev) 69 if (!dev)
70 return NULL; 70 return NULL;
71 71
72 dev->node = of_node_get(np); 72 dev->dev.of_node = of_node_get(np);
73 dev->dev.dma_mask = &dev->dma_mask; 73 dev->dev.dma_mask = &dev->archdata.dma_mask;
74 dev->dev.parent = parent; 74 dev->dev.parent = parent;
75 dev->dev.release = of_release_dev; 75 dev->dev.release = of_release_dev;
76 dev->dev.archdata.of_node = np;
77 76
78 if (bus_id) 77 if (bus_id)
79 dev_set_name(&dev->dev, "%s", bus_id); 78 dev_set_name(&dev->dev, "%s", bus_id);
@@ -95,17 +94,17 @@ int of_device_uevent(struct device *dev, struct kobj_uevent_env *env)
95 94
96 ofdev = to_of_device(dev); 95 ofdev = to_of_device(dev);
97 96
98 if (add_uevent_var(env, "OF_NAME=%s", ofdev->node->name)) 97 if (add_uevent_var(env, "OF_NAME=%s", ofdev->dev.of_node->name))
99 return -ENOMEM; 98 return -ENOMEM;
100 99
101 if (add_uevent_var(env, "OF_TYPE=%s", ofdev->node->type)) 100 if (add_uevent_var(env, "OF_TYPE=%s", ofdev->dev.of_node->type))
102 return -ENOMEM; 101 return -ENOMEM;
103 102
104 /* Since the compatible field can contain pretty much anything 103 /* Since the compatible field can contain pretty much anything
105 * it's not really legal to split it out with commas. We split it 104 * it's not really legal to split it out with commas. We split it
106 * up using a number of environment variables instead. */ 105 * up using a number of environment variables instead. */
107 106
108 compat = of_get_property(ofdev->node, "compatible", &cplen); 107 compat = of_get_property(ofdev->dev.of_node, "compatible", &cplen);
109 while (compat && *compat && cplen > 0) { 108 while (compat && *compat && cplen > 0) {
110 if (add_uevent_var(env, "OF_COMPATIBLE_%d=%s", seen, compat)) 109 if (add_uevent_var(env, "OF_COMPATIBLE_%d=%s", seen, compat))
111 return -ENOMEM; 110 return -ENOMEM;
diff --git a/arch/powerpc/kernel/of_platform.c b/arch/powerpc/kernel/of_platform.c
index 1a4fc0d11a03..487a98851ba6 100644
--- a/arch/powerpc/kernel/of_platform.c
+++ b/arch/powerpc/kernel/of_platform.c
@@ -17,7 +17,6 @@
17#include <linux/init.h> 17#include <linux/init.h>
18#include <linux/module.h> 18#include <linux/module.h>
19#include <linux/mod_devicetable.h> 19#include <linux/mod_devicetable.h>
20#include <linux/slab.h>
21#include <linux/pci.h> 20#include <linux/pci.h>
22#include <linux/of.h> 21#include <linux/of.h>
23#include <linux/of_device.h> 22#include <linux/of_device.h>
@@ -75,7 +74,7 @@ struct of_device* of_platform_device_create(struct device_node *np,
75 if (!dev) 74 if (!dev)
76 return NULL; 75 return NULL;
77 76
78 dev->dma_mask = 0xffffffffUL; 77 dev->archdata.dma_mask = 0xffffffffUL;
79 dev->dev.coherent_dma_mask = DMA_BIT_MASK(32); 78 dev->dev.coherent_dma_mask = DMA_BIT_MASK(32);
80 79
81 dev->dev.bus = &of_platform_bus_type; 80 dev->dev.bus = &of_platform_bus_type;
@@ -196,7 +195,7 @@ EXPORT_SYMBOL(of_platform_bus_probe);
196 195
197static int of_dev_node_match(struct device *dev, void *data) 196static int of_dev_node_match(struct device *dev, void *data)
198{ 197{
199 return to_of_device(dev)->node == data; 198 return to_of_device(dev)->dev.of_node == data;
200} 199}
201 200
202struct of_device *of_find_device_by_node(struct device_node *np) 201struct of_device *of_find_device_by_node(struct device_node *np)
@@ -214,7 +213,7 @@ EXPORT_SYMBOL(of_find_device_by_node);
214static int of_dev_phandle_match(struct device *dev, void *data) 213static int of_dev_phandle_match(struct device *dev, void *data)
215{ 214{
216 phandle *ph = data; 215 phandle *ph = data;
217 return to_of_device(dev)->node->linux_phandle == *ph; 216 return to_of_device(dev)->dev.of_node->phandle == *ph;
218} 217}
219 218
220struct of_device *of_find_device_by_phandle(phandle ph) 219struct of_device *of_find_device_by_phandle(phandle ph)
@@ -247,10 +246,10 @@ static int __devinit of_pci_phb_probe(struct of_device *dev,
247 if (ppc_md.pci_setup_phb == NULL) 246 if (ppc_md.pci_setup_phb == NULL)
248 return -ENODEV; 247 return -ENODEV;
249 248
250 printk(KERN_INFO "Setting up PCI bus %s\n", dev->node->full_name); 249 pr_info("Setting up PCI bus %s\n", dev->dev.of_node->full_name);
251 250
252 /* Alloc and setup PHB data structure */ 251 /* Alloc and setup PHB data structure */
253 phb = pcibios_alloc_controller(dev->node); 252 phb = pcibios_alloc_controller(dev->dev.of_node);
254 if (!phb) 253 if (!phb)
255 return -ENODEV; 254 return -ENODEV;
256 255
@@ -264,19 +263,19 @@ static int __devinit of_pci_phb_probe(struct of_device *dev,
264 } 263 }
265 264
266 /* Process "ranges" property */ 265 /* Process "ranges" property */
267 pci_process_bridge_OF_ranges(phb, dev->node, 0); 266 pci_process_bridge_OF_ranges(phb, dev->dev.of_node, 0);
268 267
269 /* Init pci_dn data structures */ 268 /* Init pci_dn data structures */
270 pci_devs_phb_init_dynamic(phb); 269 pci_devs_phb_init_dynamic(phb);
271 270
272 /* Register devices with EEH */ 271 /* Register devices with EEH */
273#ifdef CONFIG_EEH 272#ifdef CONFIG_EEH
274 if (dev->node->child) 273 if (dev->dev.of_node->child)
275 eeh_add_device_tree_early(dev->node); 274 eeh_add_device_tree_early(dev->dev.of_node);
276#endif /* CONFIG_EEH */ 275#endif /* CONFIG_EEH */
277 276
278 /* Scan the bus */ 277 /* Scan the bus */
279 pcibios_scan_phb(phb, dev->node); 278 pcibios_scan_phb(phb, dev->dev.of_node);
280 if (phb->bus == NULL) 279 if (phb->bus == NULL)
281 return -ENXIO; 280 return -ENXIO;
282 281
@@ -307,10 +306,11 @@ static struct of_device_id of_pci_phb_ids[] = {
307}; 306};
308 307
309static struct of_platform_driver of_pci_phb_driver = { 308static struct of_platform_driver of_pci_phb_driver = {
310 .match_table = of_pci_phb_ids,
311 .probe = of_pci_phb_probe, 309 .probe = of_pci_phb_probe,
312 .driver = { 310 .driver = {
313 .name = "of-pci", 311 .name = "of-pci",
312 .owner = THIS_MODULE,
313 .of_match_table = of_pci_phb_ids,
314 }, 314 },
315}; 315};
316 316
diff --git a/arch/powerpc/kernel/paca.c b/arch/powerpc/kernel/paca.c
index d16b1ea55d44..139a773853f4 100644
--- a/arch/powerpc/kernel/paca.c
+++ b/arch/powerpc/kernel/paca.c
@@ -9,11 +9,16 @@
9 9
10#include <linux/threads.h> 10#include <linux/threads.h>
11#include <linux/module.h> 11#include <linux/module.h>
12#include <linux/memblock.h>
12 13
14#include <asm/firmware.h>
13#include <asm/lppaca.h> 15#include <asm/lppaca.h>
14#include <asm/paca.h> 16#include <asm/paca.h>
15#include <asm/sections.h> 17#include <asm/sections.h>
16#include <asm/pgtable.h> 18#include <asm/pgtable.h>
19#include <asm/iseries/lpar_map.h>
20#include <asm/iseries/hv_types.h>
21#include <asm/kexec.h>
17 22
18/* This symbol is provided by the linker - let it fill in the paca 23/* This symbol is provided by the linker - let it fill in the paca
19 * field correctly */ 24 * field correctly */
@@ -70,37 +75,83 @@ struct slb_shadow slb_shadow[] __cacheline_aligned = {
70 * processors. The processor VPD array needs one entry per physical 75 * processors. The processor VPD array needs one entry per physical
71 * processor (not thread). 76 * processor (not thread).
72 */ 77 */
73struct paca_struct paca[NR_CPUS]; 78struct paca_struct *paca;
74EXPORT_SYMBOL(paca); 79EXPORT_SYMBOL(paca);
75 80
76void __init initialise_pacas(void) 81struct paca_struct boot_paca;
77{
78 int cpu;
79 82
80 /* The TOC register (GPR2) points 32kB into the TOC, so that 64kB 83void __init initialise_paca(struct paca_struct *new_paca, int cpu)
81 * of the TOC can be addressed using a single machine instruction. 84{
82 */ 85 /* The TOC register (GPR2) points 32kB into the TOC, so that 64kB
86 * of the TOC can be addressed using a single machine instruction.
87 */
83 unsigned long kernel_toc = (unsigned long)(&__toc_start) + 0x8000UL; 88 unsigned long kernel_toc = (unsigned long)(&__toc_start) + 0x8000UL;
84 89
85 /* Can't use for_each_*_cpu, as they aren't functional yet */
86 for (cpu = 0; cpu < NR_CPUS; cpu++) {
87 struct paca_struct *new_paca = &paca[cpu];
88
89#ifdef CONFIG_PPC_BOOK3S 90#ifdef CONFIG_PPC_BOOK3S
90 new_paca->lppaca_ptr = &lppaca[cpu]; 91 new_paca->lppaca_ptr = &lppaca[cpu];
91#else 92#else
92 new_paca->kernel_pgd = swapper_pg_dir; 93 new_paca->kernel_pgd = swapper_pg_dir;
93#endif 94#endif
94 new_paca->lock_token = 0x8000; 95 new_paca->lock_token = 0x8000;
95 new_paca->paca_index = cpu; 96 new_paca->paca_index = cpu;
96 new_paca->kernel_toc = kernel_toc; 97 new_paca->kernel_toc = kernel_toc;
97 new_paca->kernelbase = (unsigned long) _stext; 98 new_paca->kernelbase = (unsigned long) _stext;
98 new_paca->kernel_msr = MSR_KERNEL; 99 new_paca->kernel_msr = MSR_KERNEL;
99 new_paca->hw_cpu_id = 0xffff; 100 new_paca->hw_cpu_id = 0xffff;
100 new_paca->__current = &init_task; 101 new_paca->kexec_state = KEXEC_STATE_NONE;
102 new_paca->__current = &init_task;
101#ifdef CONFIG_PPC_STD_MMU_64 103#ifdef CONFIG_PPC_STD_MMU_64
102 new_paca->slb_shadow_ptr = &slb_shadow[cpu]; 104 new_paca->slb_shadow_ptr = &slb_shadow[cpu];
103#endif /* CONFIG_PPC_STD_MMU_64 */ 105#endif /* CONFIG_PPC_STD_MMU_64 */
106}
107
108static int __initdata paca_size;
109
110void __init allocate_pacas(void)
111{
112 int nr_cpus, cpu, limit;
113
114 /*
115 * We can't take SLB misses on the paca, and we want to access them
116 * in real mode, so allocate them within the RMA and also within
117 * the first segment. On iSeries they must be within the area mapped
118 * by the HV, which is HvPagesToMap * HVPAGESIZE bytes.
119 */
120 limit = min(0x10000000ULL, memblock.rmo_size);
121 if (firmware_has_feature(FW_FEATURE_ISERIES))
122 limit = min(limit, HvPagesToMap * HVPAGESIZE);
123
124 nr_cpus = NR_CPUS;
125 /* On iSeries we know we can never have more than 64 cpus */
126 if (firmware_has_feature(FW_FEATURE_ISERIES))
127 nr_cpus = min(64, nr_cpus);
128
129 paca_size = PAGE_ALIGN(sizeof(struct paca_struct) * nr_cpus);
130
131 paca = __va(memblock_alloc_base(paca_size, PAGE_SIZE, limit));
132 memset(paca, 0, paca_size);
133
134 printk(KERN_DEBUG "Allocated %u bytes for %d pacas at %p\n",
135 paca_size, nr_cpus, paca);
136
137 /* Can't use for_each_*_cpu, as they aren't functional yet */
138 for (cpu = 0; cpu < nr_cpus; cpu++)
139 initialise_paca(&paca[cpu], cpu);
140}
141
142void __init free_unused_pacas(void)
143{
144 int new_size;
145
146 new_size = PAGE_ALIGN(sizeof(struct paca_struct) * num_possible_cpus());
147
148 if (new_size >= paca_size)
149 return;
150
151 memblock_free(__pa(paca) + new_size, paca_size - new_size);
152
153 printk(KERN_DEBUG "Freed %u bytes for unused pacas\n",
154 paca_size - new_size);
104 155
105 } 156 paca_size = new_size;
106} 157}
diff --git a/arch/powerpc/kernel/pci-common.c b/arch/powerpc/kernel/pci-common.c
index cadbed679fbb..5b38f6ae2b29 100644
--- a/arch/powerpc/kernel/pci-common.c
+++ b/arch/powerpc/kernel/pci-common.c
@@ -26,6 +26,7 @@
26#include <linux/syscalls.h> 26#include <linux/syscalls.h>
27#include <linux/irq.h> 27#include <linux/irq.h>
28#include <linux/vmalloc.h> 28#include <linux/vmalloc.h>
29#include <linux/slab.h>
29 30
30#include <asm/processor.h> 31#include <asm/processor.h>
31#include <asm/io.h> 32#include <asm/io.h>
@@ -63,21 +64,6 @@ struct dma_map_ops *get_pci_dma_ops(void)
63} 64}
64EXPORT_SYMBOL(get_pci_dma_ops); 65EXPORT_SYMBOL(get_pci_dma_ops);
65 66
66int pci_set_dma_mask(struct pci_dev *dev, u64 mask)
67{
68 return dma_set_mask(&dev->dev, mask);
69}
70
71int pci_set_consistent_dma_mask(struct pci_dev *dev, u64 mask)
72{
73 int rc;
74
75 rc = dma_set_mask(&dev->dev, mask);
76 dev->dev.coherent_dma_mask = dev->dma_mask;
77
78 return rc;
79}
80
81struct pci_controller *pcibios_alloc_controller(struct device_node *dev) 67struct pci_controller *pcibios_alloc_controller(struct device_node *dev)
82{ 68{
83 struct pci_controller *phb; 69 struct pci_controller *phb;
@@ -1047,10 +1033,8 @@ static void __devinit pcibios_fixup_bridge(struct pci_bus *bus)
1047 1033
1048 struct pci_dev *dev = bus->self; 1034 struct pci_dev *dev = bus->self;
1049 1035
1050 for (i = 0; i < PCI_BUS_NUM_RESOURCES; ++i) { 1036 pci_bus_for_each_resource(bus, res, i) {
1051 if ((res = bus->resource[i]) == NULL) 1037 if (!res || !res->flags)
1052 continue;
1053 if (!res->flags)
1054 continue; 1038 continue;
1055 if (i >= 3 && bus->self->transparent) 1039 if (i >= 3 && bus->self->transparent)
1056 continue; 1040 continue;
@@ -1113,8 +1097,8 @@ void __devinit pcibios_setup_bus_devices(struct pci_bus *bus)
1113 if (dev->is_added) 1097 if (dev->is_added)
1114 continue; 1098 continue;
1115 1099
1116 /* Setup OF node pointer in archdata */ 1100 /* Setup OF node pointer in the device */
1117 sd->of_node = pci_device_to_OF_node(dev); 1101 dev->dev.of_node = pci_device_to_OF_node(dev);
1118 1102
1119 /* Fixup NUMA node as it may not be setup yet by the generic 1103 /* Fixup NUMA node as it may not be setup yet by the generic
1120 * code and is needed by the DMA init 1104 * code and is needed by the DMA init
@@ -1181,21 +1165,20 @@ static int skip_isa_ioresource_align(struct pci_dev *dev)
1181 * but we want to try to avoid allocating at 0x2900-0x2bff 1165 * but we want to try to avoid allocating at 0x2900-0x2bff
1182 * which might have be mirrored at 0x0100-0x03ff.. 1166 * which might have be mirrored at 0x0100-0x03ff..
1183 */ 1167 */
1184void pcibios_align_resource(void *data, struct resource *res, 1168resource_size_t pcibios_align_resource(void *data, const struct resource *res,
1185 resource_size_t size, resource_size_t align) 1169 resource_size_t size, resource_size_t align)
1186{ 1170{
1187 struct pci_dev *dev = data; 1171 struct pci_dev *dev = data;
1172 resource_size_t start = res->start;
1188 1173
1189 if (res->flags & IORESOURCE_IO) { 1174 if (res->flags & IORESOURCE_IO) {
1190 resource_size_t start = res->start;
1191
1192 if (skip_isa_ioresource_align(dev)) 1175 if (skip_isa_ioresource_align(dev))
1193 return; 1176 return start;
1194 if (start & 0x300) { 1177 if (start & 0x300)
1195 start = (start + 0x3ff) & ~0x3ff; 1178 start = (start + 0x3ff) & ~0x3ff;
1196 res->start = start;
1197 }
1198 } 1179 }
1180
1181 return start;
1199} 1182}
1200EXPORT_SYMBOL(pcibios_align_resource); 1183EXPORT_SYMBOL(pcibios_align_resource);
1201 1184
@@ -1278,9 +1261,8 @@ void pcibios_allocate_bus_resources(struct pci_bus *bus)
1278 pr_debug("PCI: Allocating bus resources for %04x:%02x...\n", 1261 pr_debug("PCI: Allocating bus resources for %04x:%02x...\n",
1279 pci_domain_nr(bus), bus->number); 1262 pci_domain_nr(bus), bus->number);
1280 1263
1281 for (i = 0; i < PCI_BUS_NUM_RESOURCES; ++i) { 1264 pci_bus_for_each_resource(bus, res, i) {
1282 if ((res = bus->resource[i]) == NULL || !res->flags 1265 if (!res || !res->flags || res->start > res->end || res->parent)
1283 || res->start > res->end || res->parent)
1284 continue; 1266 continue;
1285 if (bus->parent == NULL) 1267 if (bus->parent == NULL)
1286 pr = (res->flags & IORESOURCE_IO) ? 1268 pr = (res->flags & IORESOURCE_IO) ?
@@ -1327,6 +1309,7 @@ void pcibios_allocate_bus_resources(struct pci_bus *bus)
1327 printk(KERN_WARNING "PCI: Cannot allocate resource region " 1309 printk(KERN_WARNING "PCI: Cannot allocate resource region "
1328 "%d of PCI bridge %d, will remap\n", i, bus->number); 1310 "%d of PCI bridge %d, will remap\n", i, bus->number);
1329clear_resource: 1311clear_resource:
1312 res->start = res->end = 0;
1330 res->flags = 0; 1313 res->flags = 0;
1331 } 1314 }
1332 1315
diff --git a/arch/powerpc/kernel/pci_32.c b/arch/powerpc/kernel/pci_32.c
index c13668cf36d9..e7db5b48004a 100644
--- a/arch/powerpc/kernel/pci_32.c
+++ b/arch/powerpc/kernel/pci_32.c
@@ -14,6 +14,7 @@
14#include <linux/irq.h> 14#include <linux/irq.h>
15#include <linux/list.h> 15#include <linux/list.h>
16#include <linux/of.h> 16#include <linux/of.h>
17#include <linux/slab.h>
17 18
18#include <asm/processor.h> 19#include <asm/processor.h>
19#include <asm/io.h> 20#include <asm/io.h>
diff --git a/arch/powerpc/kernel/pci_64.c b/arch/powerpc/kernel/pci_64.c
index ccf56ac92de5..d43fc65749c1 100644
--- a/arch/powerpc/kernel/pci_64.c
+++ b/arch/powerpc/kernel/pci_64.c
@@ -224,7 +224,7 @@ long sys_pciconfig_iobase(long which, unsigned long in_bus,
224 * G5 machines... So when something asks for bus 0 io base 224 * G5 machines... So when something asks for bus 0 io base
225 * (bus 0 is HT root), we return the AGP one instead. 225 * (bus 0 is HT root), we return the AGP one instead.
226 */ 226 */
227 if (in_bus == 0 && machine_is_compatible("MacRISC4")) { 227 if (in_bus == 0 && of_machine_is_compatible("MacRISC4")) {
228 struct device_node *agp; 228 struct device_node *agp;
229 229
230 agp = of_find_compatible_node(NULL, NULL, "u3-agp"); 230 agp = of_find_compatible_node(NULL, NULL, "u3-agp");
diff --git a/arch/powerpc/kernel/pci_dn.c b/arch/powerpc/kernel/pci_dn.c
index d5e36e5dc7c2..d56b35ee7f74 100644
--- a/arch/powerpc/kernel/pci_dn.c
+++ b/arch/powerpc/kernel/pci_dn.c
@@ -23,6 +23,7 @@
23#include <linux/pci.h> 23#include <linux/pci.h>
24#include <linux/string.h> 24#include <linux/string.h>
25#include <linux/init.h> 25#include <linux/init.h>
26#include <linux/gfp.h>
26 27
27#include <asm/io.h> 28#include <asm/io.h>
28#include <asm/prom.h> 29#include <asm/prom.h>
diff --git a/arch/powerpc/kernel/pci_of_scan.c b/arch/powerpc/kernel/pci_of_scan.c
index 7311fdfb9bf8..6ddb795f83e8 100644
--- a/arch/powerpc/kernel/pci_of_scan.c
+++ b/arch/powerpc/kernel/pci_of_scan.c
@@ -123,6 +123,7 @@ struct pci_dev *of_create_pci_dev(struct device_node *node,
123{ 123{
124 struct pci_dev *dev; 124 struct pci_dev *dev;
125 const char *type; 125 const char *type;
126 struct pci_slot *slot;
126 127
127 dev = alloc_pci_dev(); 128 dev = alloc_pci_dev();
128 if (!dev) 129 if (!dev)
@@ -140,6 +141,11 @@ struct pci_dev *of_create_pci_dev(struct device_node *node,
140 dev->devfn = devfn; 141 dev->devfn = devfn;
141 dev->multifunction = 0; /* maybe a lie? */ 142 dev->multifunction = 0; /* maybe a lie? */
142 dev->needs_freset = 0; /* pcie fundamental reset required */ 143 dev->needs_freset = 0; /* pcie fundamental reset required */
144 set_pcie_port_type(dev);
145
146 list_for_each_entry(slot, &dev->bus->slots, list)
147 if (PCI_SLOT(dev->devfn) == slot->number)
148 dev->slot = slot;
143 149
144 dev->vendor = get_int_prop(node, "vendor-id", 0xffff); 150 dev->vendor = get_int_prop(node, "vendor-id", 0xffff);
145 dev->device = get_int_prop(node, "device-id", 0xffff); 151 dev->device = get_int_prop(node, "device-id", 0xffff);
@@ -160,10 +166,14 @@ struct pci_dev *of_create_pci_dev(struct device_node *node,
160 dev->error_state = pci_channel_io_normal; 166 dev->error_state = pci_channel_io_normal;
161 dev->dma_mask = 0xffffffff; 167 dev->dma_mask = 0xffffffff;
162 168
169 /* Early fixups, before probing the BARs */
170 pci_fixup_device(pci_fixup_early, dev);
171
163 if (!strcmp(type, "pci") || !strcmp(type, "pciex")) { 172 if (!strcmp(type, "pci") || !strcmp(type, "pciex")) {
164 /* a PCI-PCI bridge */ 173 /* a PCI-PCI bridge */
165 dev->hdr_type = PCI_HEADER_TYPE_BRIDGE; 174 dev->hdr_type = PCI_HEADER_TYPE_BRIDGE;
166 dev->rom_base_reg = PCI_ROM_ADDRESS1; 175 dev->rom_base_reg = PCI_ROM_ADDRESS1;
176 set_pcie_hotplug_bridge(dev);
167 } else if (!strcmp(type, "cardbus")) { 177 } else if (!strcmp(type, "cardbus")) {
168 dev->hdr_type = PCI_HEADER_TYPE_CARDBUS; 178 dev->hdr_type = PCI_HEADER_TYPE_CARDBUS;
169 } else { 179 } else {
@@ -294,12 +304,14 @@ static void __devinit __of_scan_bus(struct device_node *node,
294 int reglen, devfn; 304 int reglen, devfn;
295 struct pci_dev *dev; 305 struct pci_dev *dev;
296 306
297 pr_debug("of_scan_bus(%s) bus no %d... \n", 307 pr_debug("of_scan_bus(%s) bus no %d...\n",
298 node->full_name, bus->number); 308 node->full_name, bus->number);
299 309
300 /* Scan direct children */ 310 /* Scan direct children */
301 for_each_child_of_node(node, child) { 311 for_each_child_of_node(node, child) {
302 pr_debug(" * %s\n", child->full_name); 312 pr_debug(" * %s\n", child->full_name);
313 if (!of_device_is_available(child))
314 continue;
303 reg = of_get_property(child, "reg", &reglen); 315 reg = of_get_property(child, "reg", &reglen);
304 if (reg == NULL || reglen < 20) 316 if (reg == NULL || reglen < 20)
305 continue; 317 continue;
diff --git a/arch/powerpc/kernel/perf_callchain.c b/arch/powerpc/kernel/perf_callchain.c
index a3c11cac3d71..95ad9dad298e 100644
--- a/arch/powerpc/kernel/perf_callchain.c
+++ b/arch/powerpc/kernel/perf_callchain.c
@@ -495,9 +495,6 @@ struct perf_callchain_entry *perf_callchain(struct pt_regs *regs)
495 495
496 entry->nr = 0; 496 entry->nr = 0;
497 497
498 if (current->pid == 0) /* idle task? */
499 return entry;
500
501 if (!user_mode(regs)) { 498 if (!user_mode(regs)) {
502 perf_callchain_kernel(regs, entry); 499 perf_callchain_kernel(regs, entry);
503 if (current->mm) 500 if (current->mm)
diff --git a/arch/powerpc/kernel/perf_event.c b/arch/powerpc/kernel/perf_event.c
index 1eb85fbf53a5..5c14ffe51258 100644
--- a/arch/powerpc/kernel/perf_event.c
+++ b/arch/powerpc/kernel/perf_event.c
@@ -35,6 +35,9 @@ struct cpu_hw_events {
35 u64 alternatives[MAX_HWEVENTS][MAX_EVENT_ALTERNATIVES]; 35 u64 alternatives[MAX_HWEVENTS][MAX_EVENT_ALTERNATIVES];
36 unsigned long amasks[MAX_HWEVENTS][MAX_EVENT_ALTERNATIVES]; 36 unsigned long amasks[MAX_HWEVENTS][MAX_EVENT_ALTERNATIVES];
37 unsigned long avalues[MAX_HWEVENTS][MAX_EVENT_ALTERNATIVES]; 37 unsigned long avalues[MAX_HWEVENTS][MAX_EVENT_ALTERNATIVES];
38
39 unsigned int group_flag;
40 int n_txn_start;
38}; 41};
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, int cpu)
722{
723 event->state = PERF_EVENT_STATE_ACTIVE;
724 event->oncpu = cpu;
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, int cpu)
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, cpu);
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, cpu);
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
@@ -838,8 +791,11 @@ static void power_pmu_disable(struct perf_event *event)
838 cpuhw = &__get_cpu_var(cpu_hw_events); 791 cpuhw = &__get_cpu_var(cpu_hw_events);
839 for (i = 0; i < cpuhw->n_events; ++i) { 792 for (i = 0; i < cpuhw->n_events; ++i) {
840 if (event == cpuhw->event[i]) { 793 if (event == cpuhw->event[i]) {
841 while (++i < cpuhw->n_events) 794 while (++i < cpuhw->n_events) {
842 cpuhw->event[i-1] = cpuhw->event[i]; 795 cpuhw->event[i-1] = cpuhw->event[i];
796 cpuhw->events[i-1] = cpuhw->events[i];
797 cpuhw->flags[i-1] = cpuhw->flags[i];
798 }
843 --cpuhw->n_events; 799 --cpuhw->n_events;
844 ppmu->disable_pmc(event->hw.idx - 1, cpuhw->mmcr); 800 ppmu->disable_pmc(event->hw.idx - 1, cpuhw->mmcr);
845 if (event->hw.idx) { 801 if (event->hw.idx) {
@@ -896,11 +852,65 @@ static void power_pmu_unthrottle(struct perf_event *event)
896 local_irq_restore(flags); 852 local_irq_restore(flags);
897} 853}
898 854
855/*
856 * Start group events scheduling transaction
857 * Set the flag to make pmu::enable() not perform the
858 * schedulability test, it will be performed at commit time
859 */
860void power_pmu_start_txn(const struct pmu *pmu)
861{
862 struct cpu_hw_events *cpuhw = &__get_cpu_var(cpu_hw_events);
863
864 cpuhw->group_flag |= PERF_EVENT_TXN_STARTED;
865 cpuhw->n_txn_start = cpuhw->n_events;
866}
867
868/*
869 * Stop group events scheduling transaction
870 * Clear the flag and pmu::enable() will perform the
871 * schedulability test.
872 */
873void power_pmu_cancel_txn(const struct pmu *pmu)
874{
875 struct cpu_hw_events *cpuhw = &__get_cpu_var(cpu_hw_events);
876
877 cpuhw->group_flag &= ~PERF_EVENT_TXN_STARTED;
878}
879
880/*
881 * Commit group events scheduling transaction
882 * Perform the group schedulability test as a whole
883 * Return 0 if success
884 */
885int power_pmu_commit_txn(const struct pmu *pmu)
886{
887 struct cpu_hw_events *cpuhw;
888 long i, n;
889
890 if (!ppmu)
891 return -EAGAIN;
892 cpuhw = &__get_cpu_var(cpu_hw_events);
893 n = cpuhw->n_events;
894 if (check_excludes(cpuhw->event, cpuhw->flags, 0, n))
895 return -EAGAIN;
896 i = power_check_constraints(cpuhw, cpuhw->events, cpuhw->flags, n);
897 if (i < 0)
898 return -EAGAIN;
899
900 for (i = cpuhw->n_txn_start; i < n; ++i)
901 cpuhw->event[i]->hw.config = cpuhw->events[i];
902
903 return 0;
904}
905
899struct pmu power_pmu = { 906struct pmu power_pmu = {
900 .enable = power_pmu_enable, 907 .enable = power_pmu_enable,
901 .disable = power_pmu_disable, 908 .disable = power_pmu_disable,
902 .read = power_pmu_read, 909 .read = power_pmu_read,
903 .unthrottle = power_pmu_unthrottle, 910 .unthrottle = power_pmu_unthrottle,
911 .start_txn = power_pmu_start_txn,
912 .cancel_txn = power_pmu_cancel_txn,
913 .commit_txn = power_pmu_commit_txn,
904}; 914};
905 915
906/* 916/*
@@ -1164,10 +1174,10 @@ static void record_and_restart(struct perf_event *event, unsigned long val,
1164 * Finally record data if requested. 1174 * Finally record data if requested.
1165 */ 1175 */
1166 if (record) { 1176 if (record) {
1167 struct perf_sample_data data = { 1177 struct perf_sample_data data;
1168 .addr = ~0ULL, 1178
1169 .period = event->hw.last_period, 1179 perf_sample_data_init(&data, ~0ULL);
1170 }; 1180 data.period = event->hw.last_period;
1171 1181
1172 if (event->attr.sample_type & PERF_SAMPLE_ADDR) 1182 if (event->attr.sample_type & PERF_SAMPLE_ADDR)
1173 perf_get_data_addr(regs, &data.addr); 1183 perf_get_data_addr(regs, &data.addr);
@@ -1287,7 +1297,7 @@ static void perf_event_interrupt(struct pt_regs *regs)
1287 irq_exit(); 1297 irq_exit();
1288} 1298}
1289 1299
1290void hw_perf_event_setup(int cpu) 1300static void power_pmu_setup(int cpu)
1291{ 1301{
1292 struct cpu_hw_events *cpuhw = &per_cpu(cpu_hw_events, cpu); 1302 struct cpu_hw_events *cpuhw = &per_cpu(cpu_hw_events, cpu);
1293 1303
@@ -1297,6 +1307,23 @@ void hw_perf_event_setup(int cpu)
1297 cpuhw->mmcr[0] = MMCR0_FC; 1307 cpuhw->mmcr[0] = MMCR0_FC;
1298} 1308}
1299 1309
1310static int __cpuinit
1311power_pmu_notifier(struct notifier_block *self, unsigned long action, void *hcpu)
1312{
1313 unsigned int cpu = (long)hcpu;
1314
1315 switch (action & ~CPU_TASKS_FROZEN) {
1316 case CPU_UP_PREPARE:
1317 power_pmu_setup(cpu);
1318 break;
1319
1320 default:
1321 break;
1322 }
1323
1324 return NOTIFY_OK;
1325}
1326
1300int register_power_pmu(struct power_pmu *pmu) 1327int register_power_pmu(struct power_pmu *pmu)
1301{ 1328{
1302 if (ppmu) 1329 if (ppmu)
@@ -1314,5 +1341,7 @@ int register_power_pmu(struct power_pmu *pmu)
1314 freeze_events_kernel = MMCR0_FCHV; 1341 freeze_events_kernel = MMCR0_FCHV;
1315#endif /* CONFIG_PPC64 */ 1342#endif /* CONFIG_PPC64 */
1316 1343
1344 perf_cpu_notifier(power_pmu_notifier);
1345
1317 return 0; 1346 return 0;
1318} 1347}
diff --git a/arch/powerpc/kernel/perf_event_fsl_emb.c b/arch/powerpc/kernel/perf_event_fsl_emb.c
new file mode 100644
index 000000000000..babcceecd2ea
--- /dev/null
+++ b/arch/powerpc/kernel/perf_event_fsl_emb.c
@@ -0,0 +1,654 @@
1/*
2 * Performance event support - Freescale Embedded Performance Monitor
3 *
4 * Copyright 2008-2009 Paul Mackerras, IBM Corporation.
5 * Copyright 2010 Freescale Semiconductor, Inc.
6 *
7 * This program is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License
9 * as published by the Free Software Foundation; either version
10 * 2 of the License, or (at your option) any later version.
11 */
12#include <linux/kernel.h>
13#include <linux/sched.h>
14#include <linux/perf_event.h>
15#include <linux/percpu.h>
16#include <linux/hardirq.h>
17#include <asm/reg_fsl_emb.h>
18#include <asm/pmc.h>
19#include <asm/machdep.h>
20#include <asm/firmware.h>
21#include <asm/ptrace.h>
22
23struct cpu_hw_events {
24 int n_events;
25 int disabled;
26 u8 pmcs_enabled;
27 struct perf_event *event[MAX_HWEVENTS];
28};
29static DEFINE_PER_CPU(struct cpu_hw_events, cpu_hw_events);
30
31static struct fsl_emb_pmu *ppmu;
32
33/* Number of perf_events counting hardware events */
34static atomic_t num_events;
35/* Used to avoid races in calling reserve/release_pmc_hardware */
36static DEFINE_MUTEX(pmc_reserve_mutex);
37
38/*
39 * If interrupts were soft-disabled when a PMU interrupt occurs, treat
40 * it as an NMI.
41 */
42static inline int perf_intr_is_nmi(struct pt_regs *regs)
43{
44#ifdef __powerpc64__
45 return !regs->softe;
46#else
47 return 0;
48#endif
49}
50
51static void perf_event_interrupt(struct pt_regs *regs);
52
53/*
54 * Read one performance monitor counter (PMC).
55 */
56static unsigned long read_pmc(int idx)
57{
58 unsigned long val;
59
60 switch (idx) {
61 case 0:
62 val = mfpmr(PMRN_PMC0);
63 break;
64 case 1:
65 val = mfpmr(PMRN_PMC1);
66 break;
67 case 2:
68 val = mfpmr(PMRN_PMC2);
69 break;
70 case 3:
71 val = mfpmr(PMRN_PMC3);
72 break;
73 default:
74 printk(KERN_ERR "oops trying to read PMC%d\n", idx);
75 val = 0;
76 }
77 return val;
78}
79
80/*
81 * Write one PMC.
82 */
83static void write_pmc(int idx, unsigned long val)
84{
85 switch (idx) {
86 case 0:
87 mtpmr(PMRN_PMC0, val);
88 break;
89 case 1:
90 mtpmr(PMRN_PMC1, val);
91 break;
92 case 2:
93 mtpmr(PMRN_PMC2, val);
94 break;
95 case 3:
96 mtpmr(PMRN_PMC3, val);
97 break;
98 default:
99 printk(KERN_ERR "oops trying to write PMC%d\n", idx);
100 }
101
102 isync();
103}
104
105/*
106 * Write one local control A register
107 */
108static void write_pmlca(int idx, unsigned long val)
109{
110 switch (idx) {
111 case 0:
112 mtpmr(PMRN_PMLCA0, val);
113 break;
114 case 1:
115 mtpmr(PMRN_PMLCA1, val);
116 break;
117 case 2:
118 mtpmr(PMRN_PMLCA2, val);
119 break;
120 case 3:
121 mtpmr(PMRN_PMLCA3, val);
122 break;
123 default:
124 printk(KERN_ERR "oops trying to write PMLCA%d\n", idx);
125 }
126
127 isync();
128}
129
130/*
131 * Write one local control B register
132 */
133static void write_pmlcb(int idx, unsigned long val)
134{
135 switch (idx) {
136 case 0:
137 mtpmr(PMRN_PMLCB0, val);
138 break;
139 case 1:
140 mtpmr(PMRN_PMLCB1, val);
141 break;
142 case 2:
143 mtpmr(PMRN_PMLCB2, val);
144 break;
145 case 3:
146 mtpmr(PMRN_PMLCB3, val);
147 break;
148 default:
149 printk(KERN_ERR "oops trying to write PMLCB%d\n", idx);
150 }
151
152 isync();
153}
154
155static void fsl_emb_pmu_read(struct perf_event *event)
156{
157 s64 val, delta, prev;
158
159 /*
160 * Performance monitor interrupts come even when interrupts
161 * are soft-disabled, as long as interrupts are hard-enabled.
162 * Therefore we treat them like NMIs.
163 */
164 do {
165 prev = atomic64_read(&event->hw.prev_count);
166 barrier();
167 val = read_pmc(event->hw.idx);
168 } while (atomic64_cmpxchg(&event->hw.prev_count, prev, val) != prev);
169
170 /* The counters are only 32 bits wide */
171 delta = (val - prev) & 0xfffffffful;
172 atomic64_add(delta, &event->count);
173 atomic64_sub(delta, &event->hw.period_left);
174}
175
176/*
177 * Disable all events to prevent PMU interrupts and to allow
178 * events to be added or removed.
179 */
180void hw_perf_disable(void)
181{
182 struct cpu_hw_events *cpuhw;
183 unsigned long flags;
184
185 local_irq_save(flags);
186 cpuhw = &__get_cpu_var(cpu_hw_events);
187
188 if (!cpuhw->disabled) {
189 cpuhw->disabled = 1;
190
191 /*
192 * Check if we ever enabled the PMU on this cpu.
193 */
194 if (!cpuhw->pmcs_enabled) {
195 ppc_enable_pmcs();
196 cpuhw->pmcs_enabled = 1;
197 }
198
199 if (atomic_read(&num_events)) {
200 /*
201 * Set the 'freeze all counters' bit, and disable
202 * interrupts. The barrier is to make sure the
203 * mtpmr has been executed and the PMU has frozen
204 * the events before we return.
205 */
206
207 mtpmr(PMRN_PMGC0, PMGC0_FAC);
208 isync();
209 }
210 }
211 local_irq_restore(flags);
212}
213
214/*
215 * Re-enable all events if disable == 0.
216 * If we were previously disabled and events were added, then
217 * put the new config on the PMU.
218 */
219void hw_perf_enable(void)
220{
221 struct cpu_hw_events *cpuhw;
222 unsigned long flags;
223
224 local_irq_save(flags);
225 cpuhw = &__get_cpu_var(cpu_hw_events);
226 if (!cpuhw->disabled)
227 goto out;
228
229 cpuhw->disabled = 0;
230 ppc_set_pmu_inuse(cpuhw->n_events != 0);
231
232 if (cpuhw->n_events > 0) {
233 mtpmr(PMRN_PMGC0, PMGC0_PMIE | PMGC0_FCECE);
234 isync();
235 }
236
237 out:
238 local_irq_restore(flags);
239}
240
241static int collect_events(struct perf_event *group, int max_count,
242 struct perf_event *ctrs[])
243{
244 int n = 0;
245 struct perf_event *event;
246
247 if (!is_software_event(group)) {
248 if (n >= max_count)
249 return -1;
250 ctrs[n] = group;
251 n++;
252 }
253 list_for_each_entry(event, &group->sibling_list, group_entry) {
254 if (!is_software_event(event) &&
255 event->state != PERF_EVENT_STATE_OFF) {
256 if (n >= max_count)
257 return -1;
258 ctrs[n] = event;
259 n++;
260 }
261 }
262 return n;
263}
264
265/* perf must be disabled, context locked on entry */
266static int fsl_emb_pmu_enable(struct perf_event *event)
267{
268 struct cpu_hw_events *cpuhw;
269 int ret = -EAGAIN;
270 int num_counters = ppmu->n_counter;
271 u64 val;
272 int i;
273
274 cpuhw = &get_cpu_var(cpu_hw_events);
275
276 if (event->hw.config & FSL_EMB_EVENT_RESTRICTED)
277 num_counters = ppmu->n_restricted;
278
279 /*
280 * Allocate counters from top-down, so that restricted-capable
281 * counters are kept free as long as possible.
282 */
283 for (i = num_counters - 1; i >= 0; i--) {
284 if (cpuhw->event[i])
285 continue;
286
287 break;
288 }
289
290 if (i < 0)
291 goto out;
292
293 event->hw.idx = i;
294 cpuhw->event[i] = event;
295 ++cpuhw->n_events;
296
297 val = 0;
298 if (event->hw.sample_period) {
299 s64 left = atomic64_read(&event->hw.period_left);
300 if (left < 0x80000000L)
301 val = 0x80000000L - left;
302 }
303 atomic64_set(&event->hw.prev_count, val);
304 write_pmc(i, val);
305 perf_event_update_userpage(event);
306
307 write_pmlcb(i, event->hw.config >> 32);
308 write_pmlca(i, event->hw.config_base);
309
310 ret = 0;
311 out:
312 put_cpu_var(cpu_hw_events);
313 return ret;
314}
315
316/* perf must be disabled, context locked on entry */
317static void fsl_emb_pmu_disable(struct perf_event *event)
318{
319 struct cpu_hw_events *cpuhw;
320 int i = event->hw.idx;
321
322 if (i < 0)
323 goto out;
324
325 fsl_emb_pmu_read(event);
326
327 cpuhw = &get_cpu_var(cpu_hw_events);
328
329 WARN_ON(event != cpuhw->event[event->hw.idx]);
330
331 write_pmlca(i, 0);
332 write_pmlcb(i, 0);
333 write_pmc(i, 0);
334
335 cpuhw->event[i] = NULL;
336 event->hw.idx = -1;
337
338 /*
339 * TODO: if at least one restricted event exists, and we
340 * just freed up a non-restricted-capable counter, and
341 * there is a restricted-capable counter occupied by
342 * a non-restricted event, migrate that event to the
343 * vacated counter.
344 */
345
346 cpuhw->n_events--;
347
348 out:
349 put_cpu_var(cpu_hw_events);
350}
351
352/*
353 * Re-enable interrupts on a event after they were throttled
354 * because they were coming too fast.
355 *
356 * Context is locked on entry, but perf is not disabled.
357 */
358static void fsl_emb_pmu_unthrottle(struct perf_event *event)
359{
360 s64 val, left;
361 unsigned long flags;
362
363 if (event->hw.idx < 0 || !event->hw.sample_period)
364 return;
365 local_irq_save(flags);
366 perf_disable();
367 fsl_emb_pmu_read(event);
368 left = event->hw.sample_period;
369 event->hw.last_period = left;
370 val = 0;
371 if (left < 0x80000000L)
372 val = 0x80000000L - left;
373 write_pmc(event->hw.idx, val);
374 atomic64_set(&event->hw.prev_count, val);
375 atomic64_set(&event->hw.period_left, left);
376 perf_event_update_userpage(event);
377 perf_enable();
378 local_irq_restore(flags);
379}
380
381static struct pmu fsl_emb_pmu = {
382 .enable = fsl_emb_pmu_enable,
383 .disable = fsl_emb_pmu_disable,
384 .read = fsl_emb_pmu_read,
385 .unthrottle = fsl_emb_pmu_unthrottle,
386};
387
388/*
389 * Release the PMU if this is the last perf_event.
390 */
391static void hw_perf_event_destroy(struct perf_event *event)
392{
393 if (!atomic_add_unless(&num_events, -1, 1)) {
394 mutex_lock(&pmc_reserve_mutex);
395 if (atomic_dec_return(&num_events) == 0)
396 release_pmc_hardware();
397 mutex_unlock(&pmc_reserve_mutex);
398 }
399}
400
401/*
402 * Translate a generic cache event_id config to a raw event_id code.
403 */
404static int hw_perf_cache_event(u64 config, u64 *eventp)
405{
406 unsigned long type, op, result;
407 int ev;
408
409 if (!ppmu->cache_events)
410 return -EINVAL;
411
412 /* unpack config */
413 type = config & 0xff;
414 op = (config >> 8) & 0xff;
415 result = (config >> 16) & 0xff;
416
417 if (type >= PERF_COUNT_HW_CACHE_MAX ||
418 op >= PERF_COUNT_HW_CACHE_OP_MAX ||
419 result >= PERF_COUNT_HW_CACHE_RESULT_MAX)
420 return -EINVAL;
421
422 ev = (*ppmu->cache_events)[type][op][result];
423 if (ev == 0)
424 return -EOPNOTSUPP;
425 if (ev == -1)
426 return -EINVAL;
427 *eventp = ev;
428 return 0;
429}
430
431const struct pmu *hw_perf_event_init(struct perf_event *event)
432{
433 u64 ev;
434 struct perf_event *events[MAX_HWEVENTS];
435 int n;
436 int err;
437 int num_restricted;
438 int i;
439
440 switch (event->attr.type) {
441 case PERF_TYPE_HARDWARE:
442 ev = event->attr.config;
443 if (ev >= ppmu->n_generic || ppmu->generic_events[ev] == 0)
444 return ERR_PTR(-EOPNOTSUPP);
445 ev = ppmu->generic_events[ev];
446 break;
447
448 case PERF_TYPE_HW_CACHE:
449 err = hw_perf_cache_event(event->attr.config, &ev);
450 if (err)
451 return ERR_PTR(err);
452 break;
453
454 case PERF_TYPE_RAW:
455 ev = event->attr.config;
456 break;
457
458 default:
459 return ERR_PTR(-EINVAL);
460 }
461
462 event->hw.config = ppmu->xlate_event(ev);
463 if (!(event->hw.config & FSL_EMB_EVENT_VALID))
464 return ERR_PTR(-EINVAL);
465
466 /*
467 * If this is in a group, check if it can go on with all the
468 * other hardware events in the group. We assume the event
469 * hasn't been linked into its leader's sibling list at this point.
470 */
471 n = 0;
472 if (event->group_leader != event) {
473 n = collect_events(event->group_leader,
474 ppmu->n_counter - 1, events);
475 if (n < 0)
476 return ERR_PTR(-EINVAL);
477 }
478
479 if (event->hw.config & FSL_EMB_EVENT_RESTRICTED) {
480 num_restricted = 0;
481 for (i = 0; i < n; i++) {
482 if (events[i]->hw.config & FSL_EMB_EVENT_RESTRICTED)
483 num_restricted++;
484 }
485
486 if (num_restricted >= ppmu->n_restricted)
487 return ERR_PTR(-EINVAL);
488 }
489
490 event->hw.idx = -1;
491
492 event->hw.config_base = PMLCA_CE | PMLCA_FCM1 |
493 (u32)((ev << 16) & PMLCA_EVENT_MASK);
494
495 if (event->attr.exclude_user)
496 event->hw.config_base |= PMLCA_FCU;
497 if (event->attr.exclude_kernel)
498 event->hw.config_base |= PMLCA_FCS;
499 if (event->attr.exclude_idle)
500 return ERR_PTR(-ENOTSUPP);
501
502 event->hw.last_period = event->hw.sample_period;
503 atomic64_set(&event->hw.period_left, event->hw.last_period);
504
505 /*
506 * See if we need to reserve the PMU.
507 * If no events are currently in use, then we have to take a
508 * mutex to ensure that we don't race with another task doing
509 * reserve_pmc_hardware or release_pmc_hardware.
510 */
511 err = 0;
512 if (!atomic_inc_not_zero(&num_events)) {
513 mutex_lock(&pmc_reserve_mutex);
514 if (atomic_read(&num_events) == 0 &&
515 reserve_pmc_hardware(perf_event_interrupt))
516 err = -EBUSY;
517 else
518 atomic_inc(&num_events);
519 mutex_unlock(&pmc_reserve_mutex);
520
521 mtpmr(PMRN_PMGC0, PMGC0_FAC);
522 isync();
523 }
524 event->destroy = hw_perf_event_destroy;
525
526 if (err)
527 return ERR_PTR(err);
528 return &fsl_emb_pmu;
529}
530
531/*
532 * A counter has overflowed; update its count and record
533 * things if requested. Note that interrupts are hard-disabled
534 * here so there is no possibility of being interrupted.
535 */
536static void record_and_restart(struct perf_event *event, unsigned long val,
537 struct pt_regs *regs, int nmi)
538{
539 u64 period = event->hw.sample_period;
540 s64 prev, delta, left;
541 int record = 0;
542
543 /* we don't have to worry about interrupts here */
544 prev = atomic64_read(&event->hw.prev_count);
545 delta = (val - prev) & 0xfffffffful;
546 atomic64_add(delta, &event->count);
547
548 /*
549 * See if the total period for this event has expired,
550 * and update for the next period.
551 */
552 val = 0;
553 left = atomic64_read(&event->hw.period_left) - delta;
554 if (period) {
555 if (left <= 0) {
556 left += period;
557 if (left <= 0)
558 left = period;
559 record = 1;
560 }
561 if (left < 0x80000000LL)
562 val = 0x80000000LL - left;
563 }
564
565 /*
566 * Finally record data if requested.
567 */
568 if (record) {
569 struct perf_sample_data data;
570
571 perf_sample_data_init(&data, 0);
572
573 if (perf_event_overflow(event, nmi, &data, regs)) {
574 /*
575 * Interrupts are coming too fast - throttle them
576 * by setting the event to 0, so it will be
577 * at least 2^30 cycles until the next interrupt
578 * (assuming each event counts at most 2 counts
579 * per cycle).
580 */
581 val = 0;
582 left = ~0ULL >> 1;
583 }
584 }
585
586 write_pmc(event->hw.idx, val);
587 atomic64_set(&event->hw.prev_count, val);
588 atomic64_set(&event->hw.period_left, left);
589 perf_event_update_userpage(event);
590}
591
592static void perf_event_interrupt(struct pt_regs *regs)
593{
594 int i;
595 struct cpu_hw_events *cpuhw = &__get_cpu_var(cpu_hw_events);
596 struct perf_event *event;
597 unsigned long val;
598 int found = 0;
599 int nmi;
600
601 nmi = perf_intr_is_nmi(regs);
602 if (nmi)
603 nmi_enter();
604 else
605 irq_enter();
606
607 for (i = 0; i < ppmu->n_counter; ++i) {
608 event = cpuhw->event[i];
609
610 val = read_pmc(i);
611 if ((int)val < 0) {
612 if (event) {
613 /* event has overflowed */
614 found = 1;
615 record_and_restart(event, val, regs, nmi);
616 } else {
617 /*
618 * Disabled counter is negative,
619 * reset it just in case.
620 */
621 write_pmc(i, 0);
622 }
623 }
624 }
625
626 /* PMM will keep counters frozen until we return from the interrupt. */
627 mtmsr(mfmsr() | MSR_PMM);
628 mtpmr(PMRN_PMGC0, PMGC0_PMIE | PMGC0_FCECE);
629 isync();
630
631 if (nmi)
632 nmi_exit();
633 else
634 irq_exit();
635}
636
637void hw_perf_event_setup(int cpu)
638{
639 struct cpu_hw_events *cpuhw = &per_cpu(cpu_hw_events, cpu);
640
641 memset(cpuhw, 0, sizeof(*cpuhw));
642}
643
644int register_fsl_emb_pmu(struct fsl_emb_pmu *pmu)
645{
646 if (ppmu)
647 return -EBUSY; /* something's already registered */
648
649 ppmu = pmu;
650 pr_info("%s performance monitor hardware support registered\n",
651 pmu->name);
652
653 return 0;
654}
diff --git a/arch/powerpc/kernel/pmc.c b/arch/powerpc/kernel/pmc.c
index 0516e2d3e02e..461499b43cff 100644
--- a/arch/powerpc/kernel/pmc.c
+++ b/arch/powerpc/kernel/pmc.c
@@ -37,7 +37,7 @@ static void dummy_perf(struct pt_regs *regs)
37} 37}
38 38
39 39
40static DEFINE_SPINLOCK(pmc_owner_lock); 40static DEFINE_RAW_SPINLOCK(pmc_owner_lock);
41static void *pmc_owner_caller; /* mostly for debugging */ 41static void *pmc_owner_caller; /* mostly for debugging */
42perf_irq_t perf_irq = dummy_perf; 42perf_irq_t perf_irq = dummy_perf;
43 43
@@ -45,7 +45,7 @@ int reserve_pmc_hardware(perf_irq_t new_perf_irq)
45{ 45{
46 int err = 0; 46 int err = 0;
47 47
48 spin_lock(&pmc_owner_lock); 48 raw_spin_lock(&pmc_owner_lock);
49 49
50 if (pmc_owner_caller) { 50 if (pmc_owner_caller) {
51 printk(KERN_WARNING "reserve_pmc_hardware: " 51 printk(KERN_WARNING "reserve_pmc_hardware: "
@@ -59,21 +59,21 @@ int reserve_pmc_hardware(perf_irq_t new_perf_irq)
59 perf_irq = new_perf_irq ? new_perf_irq : dummy_perf; 59 perf_irq = new_perf_irq ? new_perf_irq : dummy_perf;
60 60
61 out: 61 out:
62 spin_unlock(&pmc_owner_lock); 62 raw_spin_unlock(&pmc_owner_lock);
63 return err; 63 return err;
64} 64}
65EXPORT_SYMBOL_GPL(reserve_pmc_hardware); 65EXPORT_SYMBOL_GPL(reserve_pmc_hardware);
66 66
67void release_pmc_hardware(void) 67void release_pmc_hardware(void)
68{ 68{
69 spin_lock(&pmc_owner_lock); 69 raw_spin_lock(&pmc_owner_lock);
70 70
71 WARN_ON(! pmc_owner_caller); 71 WARN_ON(! pmc_owner_caller);
72 72
73 pmc_owner_caller = NULL; 73 pmc_owner_caller = NULL;
74 perf_irq = dummy_perf; 74 perf_irq = dummy_perf;
75 75
76 spin_unlock(&pmc_owner_lock); 76 raw_spin_unlock(&pmc_owner_lock);
77} 77}
78EXPORT_SYMBOL_GPL(release_pmc_hardware); 78EXPORT_SYMBOL_GPL(release_pmc_hardware);
79 79
diff --git a/arch/powerpc/kernel/ppc_ksyms.c b/arch/powerpc/kernel/ppc_ksyms.c
index 425451453e96..3b4dcc82a4c1 100644
--- a/arch/powerpc/kernel/ppc_ksyms.c
+++ b/arch/powerpc/kernel/ppc_ksyms.c
@@ -101,12 +101,17 @@ EXPORT_SYMBOL(pci_dram_offset);
101EXPORT_SYMBOL(start_thread); 101EXPORT_SYMBOL(start_thread);
102EXPORT_SYMBOL(kernel_thread); 102EXPORT_SYMBOL(kernel_thread);
103 103
104#ifdef CONFIG_PPC_FPU
105EXPORT_SYMBOL_GPL(cvt_df);
106EXPORT_SYMBOL_GPL(cvt_fd);
107#endif
104EXPORT_SYMBOL(giveup_fpu); 108EXPORT_SYMBOL(giveup_fpu);
105#ifdef CONFIG_ALTIVEC 109#ifdef CONFIG_ALTIVEC
106EXPORT_SYMBOL(giveup_altivec); 110EXPORT_SYMBOL(giveup_altivec);
107#endif /* CONFIG_ALTIVEC */ 111#endif /* CONFIG_ALTIVEC */
108#ifdef CONFIG_VSX 112#ifdef CONFIG_VSX
109EXPORT_SYMBOL(giveup_vsx); 113EXPORT_SYMBOL(giveup_vsx);
114EXPORT_SYMBOL_GPL(__giveup_vsx);
110#endif /* CONFIG_VSX */ 115#endif /* CONFIG_VSX */
111#ifdef CONFIG_SPE 116#ifdef CONFIG_SPE
112EXPORT_SYMBOL(giveup_spe); 117EXPORT_SYMBOL(giveup_spe);
diff --git a/arch/powerpc/kernel/proc_powerpc.c b/arch/powerpc/kernel/proc_powerpc.c
index 1ed3b8d7981e..c8ae3714e79b 100644
--- a/arch/powerpc/kernel/proc_powerpc.c
+++ b/arch/powerpc/kernel/proc_powerpc.c
@@ -19,7 +19,6 @@
19#include <linux/init.h> 19#include <linux/init.h>
20#include <linux/mm.h> 20#include <linux/mm.h>
21#include <linux/proc_fs.h> 21#include <linux/proc_fs.h>
22#include <linux/slab.h>
23#include <linux/kernel.h> 22#include <linux/kernel.h>
24 23
25#include <asm/machdep.h> 24#include <asm/machdep.h>
diff --git a/arch/powerpc/kernel/process.c b/arch/powerpc/kernel/process.c
index c930ac38e59f..773424df828a 100644
--- a/arch/powerpc/kernel/process.c
+++ b/arch/powerpc/kernel/process.c
@@ -245,6 +245,24 @@ void discard_lazy_cpu_state(void)
245} 245}
246#endif /* CONFIG_SMP */ 246#endif /* CONFIG_SMP */
247 247
248#ifdef CONFIG_PPC_ADV_DEBUG_REGS
249void do_send_trap(struct pt_regs *regs, unsigned long address,
250 unsigned long error_code, int signal_code, int breakpt)
251{
252 siginfo_t info;
253
254 if (notify_die(DIE_DABR_MATCH, "dabr_match", regs, error_code,
255 11, SIGSEGV) == NOTIFY_STOP)
256 return;
257
258 /* Deliver the signal to userspace */
259 info.si_signo = SIGTRAP;
260 info.si_errno = breakpt; /* breakpoint or watchpoint id */
261 info.si_code = signal_code;
262 info.si_addr = (void __user *)address;
263 force_sig_info(SIGTRAP, &info, current);
264}
265#else /* !CONFIG_PPC_ADV_DEBUG_REGS */
248void do_dabr(struct pt_regs *regs, unsigned long address, 266void do_dabr(struct pt_regs *regs, unsigned long address,
249 unsigned long error_code) 267 unsigned long error_code)
250{ 268{
@@ -257,12 +275,6 @@ void do_dabr(struct pt_regs *regs, unsigned long address,
257 if (debugger_dabr_match(regs)) 275 if (debugger_dabr_match(regs))
258 return; 276 return;
259 277
260 /* Clear the DAC and struct entries. One shot trigger */
261#if defined(CONFIG_BOOKE)
262 mtspr(SPRN_DBCR0, mfspr(SPRN_DBCR0) & ~(DBSR_DAC1R | DBSR_DAC1W
263 | DBCR0_IDM));
264#endif
265
266 /* Clear the DABR */ 278 /* Clear the DABR */
267 set_dabr(0); 279 set_dabr(0);
268 280
@@ -273,9 +285,82 @@ void do_dabr(struct pt_regs *regs, unsigned long address,
273 info.si_addr = (void __user *)address; 285 info.si_addr = (void __user *)address;
274 force_sig_info(SIGTRAP, &info, current); 286 force_sig_info(SIGTRAP, &info, current);
275} 287}
288#endif /* CONFIG_PPC_ADV_DEBUG_REGS */
276 289
277static DEFINE_PER_CPU(unsigned long, current_dabr); 290static DEFINE_PER_CPU(unsigned long, current_dabr);
278 291
292#ifdef CONFIG_PPC_ADV_DEBUG_REGS
293/*
294 * Set the debug registers back to their default "safe" values.
295 */
296static void set_debug_reg_defaults(struct thread_struct *thread)
297{
298 thread->iac1 = thread->iac2 = 0;
299#if CONFIG_PPC_ADV_DEBUG_IACS > 2
300 thread->iac3 = thread->iac4 = 0;
301#endif
302 thread->dac1 = thread->dac2 = 0;
303#if CONFIG_PPC_ADV_DEBUG_DVCS > 0
304 thread->dvc1 = thread->dvc2 = 0;
305#endif
306 thread->dbcr0 = 0;
307#ifdef CONFIG_BOOKE
308 /*
309 * Force User/Supervisor bits to b11 (user-only MSR[PR]=1)
310 */
311 thread->dbcr1 = DBCR1_IAC1US | DBCR1_IAC2US | \
312 DBCR1_IAC3US | DBCR1_IAC4US;
313 /*
314 * Force Data Address Compare User/Supervisor bits to be User-only
315 * (0b11 MSR[PR]=1) and set all other bits in DBCR2 register to be 0.
316 */
317 thread->dbcr2 = DBCR2_DAC1US | DBCR2_DAC2US;
318#else
319 thread->dbcr1 = 0;
320#endif
321}
322
323static void prime_debug_regs(struct thread_struct *thread)
324{
325 mtspr(SPRN_IAC1, thread->iac1);
326 mtspr(SPRN_IAC2, thread->iac2);
327#if CONFIG_PPC_ADV_DEBUG_IACS > 2
328 mtspr(SPRN_IAC3, thread->iac3);
329 mtspr(SPRN_IAC4, thread->iac4);
330#endif
331 mtspr(SPRN_DAC1, thread->dac1);
332 mtspr(SPRN_DAC2, thread->dac2);
333#if CONFIG_PPC_ADV_DEBUG_DVCS > 0
334 mtspr(SPRN_DVC1, thread->dvc1);
335 mtspr(SPRN_DVC2, thread->dvc2);
336#endif
337 mtspr(SPRN_DBCR0, thread->dbcr0);
338 mtspr(SPRN_DBCR1, thread->dbcr1);
339#ifdef CONFIG_BOOKE
340 mtspr(SPRN_DBCR2, thread->dbcr2);
341#endif
342}
343/*
344 * Unless neither the old or new thread are making use of the
345 * debug registers, set the debug registers from the values
346 * stored in the new thread.
347 */
348static void switch_booke_debug_regs(struct thread_struct *new_thread)
349{
350 if ((current->thread.dbcr0 & DBCR0_IDM)
351 || (new_thread->dbcr0 & DBCR0_IDM))
352 prime_debug_regs(new_thread);
353}
354#else /* !CONFIG_PPC_ADV_DEBUG_REGS */
355static void set_debug_reg_defaults(struct thread_struct *thread)
356{
357 if (thread->dabr) {
358 thread->dabr = 0;
359 set_dabr(0);
360 }
361}
362#endif /* CONFIG_PPC_ADV_DEBUG_REGS */
363
279int set_dabr(unsigned long dabr) 364int set_dabr(unsigned long dabr)
280{ 365{
281 __get_cpu_var(current_dabr) = dabr; 366 __get_cpu_var(current_dabr) = dabr;
@@ -284,8 +369,11 @@ int set_dabr(unsigned long dabr)
284 return ppc_md.set_dabr(dabr); 369 return ppc_md.set_dabr(dabr);
285 370
286 /* XXX should we have a CPU_FTR_HAS_DABR ? */ 371 /* XXX should we have a CPU_FTR_HAS_DABR ? */
287#if defined(CONFIG_BOOKE) 372#ifdef CONFIG_PPC_ADV_DEBUG_REGS
288 mtspr(SPRN_DAC1, dabr); 373 mtspr(SPRN_DAC1, dabr);
374#ifdef CONFIG_PPC_47x
375 isync();
376#endif
289#elif defined(CONFIG_PPC_BOOK3S) 377#elif defined(CONFIG_PPC_BOOK3S)
290 mtspr(SPRN_DABR, dabr); 378 mtspr(SPRN_DABR, dabr);
291#endif 379#endif
@@ -371,10 +459,8 @@ struct task_struct *__switch_to(struct task_struct *prev,
371 459
372#endif /* CONFIG_SMP */ 460#endif /* CONFIG_SMP */
373 461
374#if defined(CONFIG_BOOKE) 462#ifdef CONFIG_PPC_ADV_DEBUG_REGS
375 /* If new thread DAC (HW breakpoint) is the same then leave it */ 463 switch_booke_debug_regs(&new->thread);
376 if (new->thread.dabr)
377 set_dabr(new->thread.dabr);
378#else 464#else
379 if (unlikely(__get_cpu_var(current_dabr) != new->thread.dabr)) 465 if (unlikely(__get_cpu_var(current_dabr) != new->thread.dabr))
380 set_dabr(new->thread.dabr); 466 set_dabr(new->thread.dabr);
@@ -514,7 +600,7 @@ void show_regs(struct pt_regs * regs)
514 printk(" CR: %08lx XER: %08lx\n", regs->ccr, regs->xer); 600 printk(" CR: %08lx XER: %08lx\n", regs->ccr, regs->xer);
515 trap = TRAP(regs); 601 trap = TRAP(regs);
516 if (trap == 0x300 || trap == 0x600) 602 if (trap == 0x300 || trap == 0x600)
517#if defined(CONFIG_4xx) || defined(CONFIG_BOOKE) 603#ifdef CONFIG_PPC_ADV_DEBUG_REGS
518 printk("DEAR: "REG", ESR: "REG"\n", regs->dar, regs->dsisr); 604 printk("DEAR: "REG", ESR: "REG"\n", regs->dar, regs->dsisr);
519#else 605#else
520 printk("DAR: "REG", DSISR: "REG"\n", regs->dar, regs->dsisr); 606 printk("DAR: "REG", DSISR: "REG"\n", regs->dar, regs->dsisr);
@@ -554,28 +640,9 @@ void exit_thread(void)
554 640
555void flush_thread(void) 641void flush_thread(void)
556{ 642{
557#ifdef CONFIG_PPC64
558 struct thread_info *t = current_thread_info();
559
560 if (test_ti_thread_flag(t, TIF_ABI_PENDING)) {
561 clear_ti_thread_flag(t, TIF_ABI_PENDING);
562 if (test_ti_thread_flag(t, TIF_32BIT))
563 clear_ti_thread_flag(t, TIF_32BIT);
564 else
565 set_ti_thread_flag(t, TIF_32BIT);
566 }
567#endif
568
569 discard_lazy_cpu_state(); 643 discard_lazy_cpu_state();
570 644
571 if (current->thread.dabr) { 645 set_debug_reg_defaults(&current->thread);
572 current->thread.dabr = 0;
573 set_dabr(0);
574
575#if defined(CONFIG_BOOKE)
576 current->thread.dbcr0 &= ~(DBSR_DAC1R | DBSR_DAC1W);
577#endif
578 }
579} 646}
580 647
581void 648void
@@ -938,7 +1005,6 @@ out:
938 return error; 1005 return error;
939} 1006}
940 1007
941#ifdef CONFIG_IRQSTACKS
942static inline int valid_irq_stack(unsigned long sp, struct task_struct *p, 1008static inline int valid_irq_stack(unsigned long sp, struct task_struct *p,
943 unsigned long nbytes) 1009 unsigned long nbytes)
944{ 1010{
@@ -963,10 +1029,6 @@ static inline int valid_irq_stack(unsigned long sp, struct task_struct *p,
963 return 0; 1029 return 0;
964} 1030}
965 1031
966#else
967#define valid_irq_stack(sp, p, nb) 0
968#endif /* CONFIG_IRQSTACKS */
969
970int validate_sp(unsigned long sp, struct task_struct *p, 1032int validate_sp(unsigned long sp, struct task_struct *p,
971 unsigned long nbytes) 1033 unsigned long nbytes)
972{ 1034{
diff --git a/arch/powerpc/kernel/prom.c b/arch/powerpc/kernel/prom.c
index 4ec300862466..fed9bf6187d1 100644
--- a/arch/powerpc/kernel/prom.c
+++ b/arch/powerpc/kernel/prom.c
@@ -31,7 +31,7 @@
31#include <linux/kexec.h> 31#include <linux/kexec.h>
32#include <linux/debugfs.h> 32#include <linux/debugfs.h>
33#include <linux/irq.h> 33#include <linux/irq.h>
34#include <linux/lmb.h> 34#include <linux/memblock.h>
35 35
36#include <asm/prom.h> 36#include <asm/prom.h>
37#include <asm/rtas.h> 37#include <asm/rtas.h>
@@ -43,6 +43,7 @@
43#include <asm/smp.h> 43#include <asm/smp.h>
44#include <asm/system.h> 44#include <asm/system.h>
45#include <asm/mmu.h> 45#include <asm/mmu.h>
46#include <asm/paca.h>
46#include <asm/pgtable.h> 47#include <asm/pgtable.h>
47#include <asm/pci.h> 48#include <asm/pci.h>
48#include <asm/iommu.h> 49#include <asm/iommu.h>
@@ -61,365 +62,12 @@
61#define DBG(fmt...) 62#define DBG(fmt...)
62#endif 63#endif
63 64
64
65static int __initdata dt_root_addr_cells;
66static int __initdata dt_root_size_cells;
67
68#ifdef CONFIG_PPC64 65#ifdef CONFIG_PPC64
69int __initdata iommu_is_off; 66int __initdata iommu_is_off;
70int __initdata iommu_force_on; 67int __initdata iommu_force_on;
71unsigned long tce_alloc_start, tce_alloc_end; 68unsigned long tce_alloc_start, tce_alloc_end;
72#endif 69#endif
73 70
74typedef u32 cell_t;
75
76#if 0
77static struct boot_param_header *initial_boot_params __initdata;
78#else
79struct boot_param_header *initial_boot_params;
80#endif
81
82extern struct device_node *allnodes; /* temporary while merging */
83
84extern rwlock_t devtree_lock; /* temporary while merging */
85
86/* export that to outside world */
87struct device_node *of_chosen;
88
89static inline char *find_flat_dt_string(u32 offset)
90{
91 return ((char *)initial_boot_params) +
92 initial_boot_params->off_dt_strings + offset;
93}
94
95/**
96 * This function is used to scan the flattened device-tree, it is
97 * used to extract the memory informations at boot before we can
98 * unflatten the tree
99 */
100int __init of_scan_flat_dt(int (*it)(unsigned long node,
101 const char *uname, int depth,
102 void *data),
103 void *data)
104{
105 unsigned long p = ((unsigned long)initial_boot_params) +
106 initial_boot_params->off_dt_struct;
107 int rc = 0;
108 int depth = -1;
109
110 do {
111 u32 tag = *((u32 *)p);
112 char *pathp;
113
114 p += 4;
115 if (tag == OF_DT_END_NODE) {
116 depth --;
117 continue;
118 }
119 if (tag == OF_DT_NOP)
120 continue;
121 if (tag == OF_DT_END)
122 break;
123 if (tag == OF_DT_PROP) {
124 u32 sz = *((u32 *)p);
125 p += 8;
126 if (initial_boot_params->version < 0x10)
127 p = _ALIGN(p, sz >= 8 ? 8 : 4);
128 p += sz;
129 p = _ALIGN(p, 4);
130 continue;
131 }
132 if (tag != OF_DT_BEGIN_NODE) {
133 printk(KERN_WARNING "Invalid tag %x scanning flattened"
134 " device tree !\n", tag);
135 return -EINVAL;
136 }
137 depth++;
138 pathp = (char *)p;
139 p = _ALIGN(p + strlen(pathp) + 1, 4);
140 if ((*pathp) == '/') {
141 char *lp, *np;
142 for (lp = NULL, np = pathp; *np; np++)
143 if ((*np) == '/')
144 lp = np+1;
145 if (lp != NULL)
146 pathp = lp;
147 }
148 rc = it(p, pathp, depth, data);
149 if (rc != 0)
150 break;
151 } while(1);
152
153 return rc;
154}
155
156unsigned long __init of_get_flat_dt_root(void)
157{
158 unsigned long p = ((unsigned long)initial_boot_params) +
159 initial_boot_params->off_dt_struct;
160
161 while(*((u32 *)p) == OF_DT_NOP)
162 p += 4;
163 BUG_ON (*((u32 *)p) != OF_DT_BEGIN_NODE);
164 p += 4;
165 return _ALIGN(p + strlen((char *)p) + 1, 4);
166}
167
168/**
169 * This function can be used within scan_flattened_dt callback to get
170 * access to properties
171 */
172void* __init of_get_flat_dt_prop(unsigned long node, const char *name,
173 unsigned long *size)
174{
175 unsigned long p = node;
176
177 do {
178 u32 tag = *((u32 *)p);
179 u32 sz, noff;
180 const char *nstr;
181
182 p += 4;
183 if (tag == OF_DT_NOP)
184 continue;
185 if (tag != OF_DT_PROP)
186 return NULL;
187
188 sz = *((u32 *)p);
189 noff = *((u32 *)(p + 4));
190 p += 8;
191 if (initial_boot_params->version < 0x10)
192 p = _ALIGN(p, sz >= 8 ? 8 : 4);
193
194 nstr = find_flat_dt_string(noff);
195 if (nstr == NULL) {
196 printk(KERN_WARNING "Can't find property index"
197 " name !\n");
198 return NULL;
199 }
200 if (strcmp(name, nstr) == 0) {
201 if (size)
202 *size = sz;
203 return (void *)p;
204 }
205 p += sz;
206 p = _ALIGN(p, 4);
207 } while(1);
208}
209
210int __init of_flat_dt_is_compatible(unsigned long node, const char *compat)
211{
212 const char* cp;
213 unsigned long cplen, l;
214
215 cp = of_get_flat_dt_prop(node, "compatible", &cplen);
216 if (cp == NULL)
217 return 0;
218 while (cplen > 0) {
219 if (strncasecmp(cp, compat, strlen(compat)) == 0)
220 return 1;
221 l = strlen(cp) + 1;
222 cp += l;
223 cplen -= l;
224 }
225
226 return 0;
227}
228
229static void *__init unflatten_dt_alloc(unsigned long *mem, unsigned long size,
230 unsigned long align)
231{
232 void *res;
233
234 *mem = _ALIGN(*mem, align);
235 res = (void *)*mem;
236 *mem += size;
237
238 return res;
239}
240
241static unsigned long __init unflatten_dt_node(unsigned long mem,
242 unsigned long *p,
243 struct device_node *dad,
244 struct device_node ***allnextpp,
245 unsigned long fpsize)
246{
247 struct device_node *np;
248 struct property *pp, **prev_pp = NULL;
249 char *pathp;
250 u32 tag;
251 unsigned int l, allocl;
252 int has_name = 0;
253 int new_format = 0;
254
255 tag = *((u32 *)(*p));
256 if (tag != OF_DT_BEGIN_NODE) {
257 printk("Weird tag at start of node: %x\n", tag);
258 return mem;
259 }
260 *p += 4;
261 pathp = (char *)*p;
262 l = allocl = strlen(pathp) + 1;
263 *p = _ALIGN(*p + l, 4);
264
265 /* version 0x10 has a more compact unit name here instead of the full
266 * path. we accumulate the full path size using "fpsize", we'll rebuild
267 * it later. We detect this because the first character of the name is
268 * not '/'.
269 */
270 if ((*pathp) != '/') {
271 new_format = 1;
272 if (fpsize == 0) {
273 /* root node: special case. fpsize accounts for path
274 * plus terminating zero. root node only has '/', so
275 * fpsize should be 2, but we want to avoid the first
276 * level nodes to have two '/' so we use fpsize 1 here
277 */
278 fpsize = 1;
279 allocl = 2;
280 } else {
281 /* account for '/' and path size minus terminal 0
282 * already in 'l'
283 */
284 fpsize += l;
285 allocl = fpsize;
286 }
287 }
288
289
290 np = unflatten_dt_alloc(&mem, sizeof(struct device_node) + allocl,
291 __alignof__(struct device_node));
292 if (allnextpp) {
293 memset(np, 0, sizeof(*np));
294 np->full_name = ((char*)np) + sizeof(struct device_node);
295 if (new_format) {
296 char *p = np->full_name;
297 /* rebuild full path for new format */
298 if (dad && dad->parent) {
299 strcpy(p, dad->full_name);
300#ifdef DEBUG
301 if ((strlen(p) + l + 1) != allocl) {
302 DBG("%s: p: %d, l: %d, a: %d\n",
303 pathp, (int)strlen(p), l, allocl);
304 }
305#endif
306 p += strlen(p);
307 }
308 *(p++) = '/';
309 memcpy(p, pathp, l);
310 } else
311 memcpy(np->full_name, pathp, l);
312 prev_pp = &np->properties;
313 **allnextpp = np;
314 *allnextpp = &np->allnext;
315 if (dad != NULL) {
316 np->parent = dad;
317 /* we temporarily use the next field as `last_child'*/
318 if (dad->next == 0)
319 dad->child = np;
320 else
321 dad->next->sibling = np;
322 dad->next = np;
323 }
324 kref_init(&np->kref);
325 }
326 while(1) {
327 u32 sz, noff;
328 char *pname;
329
330 tag = *((u32 *)(*p));
331 if (tag == OF_DT_NOP) {
332 *p += 4;
333 continue;
334 }
335 if (tag != OF_DT_PROP)
336 break;
337 *p += 4;
338 sz = *((u32 *)(*p));
339 noff = *((u32 *)((*p) + 4));
340 *p += 8;
341 if (initial_boot_params->version < 0x10)
342 *p = _ALIGN(*p, sz >= 8 ? 8 : 4);
343
344 pname = find_flat_dt_string(noff);
345 if (pname == NULL) {
346 printk("Can't find property name in list !\n");
347 break;
348 }
349 if (strcmp(pname, "name") == 0)
350 has_name = 1;
351 l = strlen(pname) + 1;
352 pp = unflatten_dt_alloc(&mem, sizeof(struct property),
353 __alignof__(struct property));
354 if (allnextpp) {
355 if (strcmp(pname, "linux,phandle") == 0) {
356 np->node = *((u32 *)*p);
357 if (np->linux_phandle == 0)
358 np->linux_phandle = np->node;
359 }
360 if (strcmp(pname, "ibm,phandle") == 0)
361 np->linux_phandle = *((u32 *)*p);
362 pp->name = pname;
363 pp->length = sz;
364 pp->value = (void *)*p;
365 *prev_pp = pp;
366 prev_pp = &pp->next;
367 }
368 *p = _ALIGN((*p) + sz, 4);
369 }
370 /* with version 0x10 we may not have the name property, recreate
371 * it here from the unit name if absent
372 */
373 if (!has_name) {
374 char *p = pathp, *ps = pathp, *pa = NULL;
375 int sz;
376
377 while (*p) {
378 if ((*p) == '@')
379 pa = p;
380 if ((*p) == '/')
381 ps = p + 1;
382 p++;
383 }
384 if (pa < ps)
385 pa = p;
386 sz = (pa - ps) + 1;
387 pp = unflatten_dt_alloc(&mem, sizeof(struct property) + sz,
388 __alignof__(struct property));
389 if (allnextpp) {
390 pp->name = "name";
391 pp->length = sz;
392 pp->value = pp + 1;
393 *prev_pp = pp;
394 prev_pp = &pp->next;
395 memcpy(pp->value, ps, sz - 1);
396 ((char *)pp->value)[sz - 1] = 0;
397 DBG("fixed up name for %s -> %s\n", pathp,
398 (char *)pp->value);
399 }
400 }
401 if (allnextpp) {
402 *prev_pp = NULL;
403 np->name = of_get_property(np, "name", NULL);
404 np->type = of_get_property(np, "device_type", NULL);
405
406 if (!np->name)
407 np->name = "<NULL>";
408 if (!np->type)
409 np->type = "<NULL>";
410 }
411 while (tag == OF_DT_BEGIN_NODE) {
412 mem = unflatten_dt_node(mem, p, np, allnextpp, fpsize);
413 tag = *((u32 *)(*p));
414 }
415 if (tag != OF_DT_END_NODE) {
416 printk("Weird tag at end of node: %x\n", tag);
417 return mem;
418 }
419 *p += 4;
420 return mem;
421}
422
423static int __init early_parse_mem(char *p) 71static int __init early_parse_mem(char *p)
424{ 72{
425 if (!p) 73 if (!p)
@@ -446,11 +94,11 @@ static void __init move_device_tree(void)
446 DBG("-> move_device_tree\n"); 94 DBG("-> move_device_tree\n");
447 95
448 start = __pa(initial_boot_params); 96 start = __pa(initial_boot_params);
449 size = initial_boot_params->totalsize; 97 size = be32_to_cpu(initial_boot_params->totalsize);
450 98
451 if ((memory_limit && (start + size) > memory_limit) || 99 if ((memory_limit && (start + size) > memory_limit) ||
452 overlaps_crashkernel(start, size)) { 100 overlaps_crashkernel(start, size)) {
453 p = __va(lmb_alloc_base(size, PAGE_SIZE, lmb.rmo_size)); 101 p = __va(memblock_alloc_base(size, PAGE_SIZE, memblock.rmo_size));
454 memcpy(p, initial_boot_params, size); 102 memcpy(p, initial_boot_params, size);
455 initial_boot_params = (struct boot_param_header *)p; 103 initial_boot_params = (struct boot_param_header *)p;
456 DBG("Moved device tree to 0x%p\n", p); 104 DBG("Moved device tree to 0x%p\n", p);
@@ -459,54 +107,6 @@ static void __init move_device_tree(void)
459 DBG("<- move_device_tree\n"); 107 DBG("<- move_device_tree\n");
460} 108}
461 109
462/**
463 * unflattens the device-tree passed by the firmware, creating the
464 * tree of struct device_node. It also fills the "name" and "type"
465 * pointers of the nodes so the normal device-tree walking functions
466 * can be used (this used to be done by finish_device_tree)
467 */
468void __init unflatten_device_tree(void)
469{
470 unsigned long start, mem, size;
471 struct device_node **allnextp = &allnodes;
472
473 DBG(" -> unflatten_device_tree()\n");
474
475 /* First pass, scan for size */
476 start = ((unsigned long)initial_boot_params) +
477 initial_boot_params->off_dt_struct;
478 size = unflatten_dt_node(0, &start, NULL, NULL, 0);
479 size = (size | 3) + 1;
480
481 DBG(" size is %lx, allocating...\n", size);
482
483 /* Allocate memory for the expanded device tree */
484 mem = lmb_alloc(size + 4, __alignof__(struct device_node));
485 mem = (unsigned long) __va(mem);
486
487 ((u32 *)mem)[size / 4] = 0xdeadbeef;
488
489 DBG(" unflattening %lx...\n", mem);
490
491 /* Second pass, do actual unflattening */
492 start = ((unsigned long)initial_boot_params) +
493 initial_boot_params->off_dt_struct;
494 unflatten_dt_node(mem, &start, NULL, &allnextp, 0);
495 if (*((u32 *)start) != OF_DT_END)
496 printk(KERN_WARNING "Weird tag at end of tree: %08x\n", *((u32 *)start));
497 if (((u32 *)mem)[size / 4] != 0xdeadbeef)
498 printk(KERN_WARNING "End of tree marker overwritten: %08x\n",
499 ((u32 *)mem)[size / 4] );
500 *allnextp = NULL;
501
502 /* Get pointer to OF "/chosen" node for use everywhere */
503 of_chosen = of_find_node_by_path("/chosen");
504 if (of_chosen == NULL)
505 of_chosen = of_find_node_by_path("/chosen@0");
506
507 DBG(" <- unflatten_device_tree()\n");
508}
509
510/* 110/*
511 * ibm,pa-features is a per-cpu property that contains a string of 111 * ibm,pa-features is a per-cpu property that contains a string of
512 * attribute descriptors, each of which has a 2 byte header plus up 112 * attribute descriptors, each of which has a 2 byte header plus up
@@ -763,48 +363,9 @@ static int __init early_init_dt_scan_cpus(unsigned long node,
763 return 0; 363 return 0;
764} 364}
765 365
766#ifdef CONFIG_BLK_DEV_INITRD 366void __init early_init_dt_scan_chosen_arch(unsigned long node)
767static void __init early_init_dt_check_for_initrd(unsigned long node)
768{
769 unsigned long l;
770 u32 *prop;
771
772 DBG("Looking for initrd properties... ");
773
774 prop = of_get_flat_dt_prop(node, "linux,initrd-start", &l);
775 if (prop) {
776 initrd_start = (unsigned long)__va(of_read_ulong(prop, l/4));
777
778 prop = of_get_flat_dt_prop(node, "linux,initrd-end", &l);
779 if (prop) {
780 initrd_end = (unsigned long)
781 __va(of_read_ulong(prop, l/4));
782 initrd_below_start_ok = 1;
783 } else {
784 initrd_start = 0;
785 }
786 }
787
788 DBG("initrd_start=0x%lx initrd_end=0x%lx\n", initrd_start, initrd_end);
789}
790#else
791static inline void early_init_dt_check_for_initrd(unsigned long node)
792{
793}
794#endif /* CONFIG_BLK_DEV_INITRD */
795
796static int __init early_init_dt_scan_chosen(unsigned long node,
797 const char *uname, int depth, void *data)
798{ 367{
799 unsigned long *lprop; 368 unsigned long *lprop;
800 unsigned long l;
801 char *p;
802
803 DBG("search \"chosen\", depth: %d, uname: %s\n", depth, uname);
804
805 if (depth != 1 ||
806 (strcmp(uname, "chosen") != 0 && strcmp(uname, "chosen@0") != 0))
807 return 0;
808 369
809#ifdef CONFIG_PPC64 370#ifdef CONFIG_PPC64
810 /* check if iommu is forced on or off */ 371 /* check if iommu is forced on or off */
@@ -815,17 +376,17 @@ static int __init early_init_dt_scan_chosen(unsigned long node,
815#endif 376#endif
816 377
817 /* mem=x on the command line is the preferred mechanism */ 378 /* mem=x on the command line is the preferred mechanism */
818 lprop = of_get_flat_dt_prop(node, "linux,memory-limit", NULL); 379 lprop = of_get_flat_dt_prop(node, "linux,memory-limit", NULL);
819 if (lprop) 380 if (lprop)
820 memory_limit = *lprop; 381 memory_limit = *lprop;
821 382
822#ifdef CONFIG_PPC64 383#ifdef CONFIG_PPC64
823 lprop = of_get_flat_dt_prop(node, "linux,tce-alloc-start", NULL); 384 lprop = of_get_flat_dt_prop(node, "linux,tce-alloc-start", NULL);
824 if (lprop) 385 if (lprop)
825 tce_alloc_start = *lprop; 386 tce_alloc_start = *lprop;
826 lprop = of_get_flat_dt_prop(node, "linux,tce-alloc-end", NULL); 387 lprop = of_get_flat_dt_prop(node, "linux,tce-alloc-end", NULL);
827 if (lprop) 388 if (lprop)
828 tce_alloc_end = *lprop; 389 tce_alloc_end = *lprop;
829#endif 390#endif
830 391
831#ifdef CONFIG_KEXEC 392#ifdef CONFIG_KEXEC
@@ -837,51 +398,6 @@ static int __init early_init_dt_scan_chosen(unsigned long node,
837 if (lprop) 398 if (lprop)
838 crashk_res.end = crashk_res.start + *lprop - 1; 399 crashk_res.end = crashk_res.start + *lprop - 1;
839#endif 400#endif
840
841 early_init_dt_check_for_initrd(node);
842
843 /* Retreive command line */
844 p = of_get_flat_dt_prop(node, "bootargs", &l);
845 if (p != NULL && l > 0)
846 strlcpy(cmd_line, p, min((int)l, COMMAND_LINE_SIZE));
847
848#ifdef CONFIG_CMDLINE
849 if (p == NULL || l == 0 || (l == 1 && (*p) == 0))
850 strlcpy(cmd_line, CONFIG_CMDLINE, COMMAND_LINE_SIZE);
851#endif /* CONFIG_CMDLINE */
852
853 DBG("Command line is: %s\n", cmd_line);
854
855 /* break now */
856 return 1;
857}
858
859static int __init early_init_dt_scan_root(unsigned long node,
860 const char *uname, int depth, void *data)
861{
862 u32 *prop;
863
864 if (depth != 0)
865 return 0;
866
867 prop = of_get_flat_dt_prop(node, "#size-cells", NULL);
868 dt_root_size_cells = (prop == NULL) ? 1 : *prop;
869 DBG("dt_root_size_cells = %x\n", dt_root_size_cells);
870
871 prop = of_get_flat_dt_prop(node, "#address-cells", NULL);
872 dt_root_addr_cells = (prop == NULL) ? 2 : *prop;
873 DBG("dt_root_addr_cells = %x\n", dt_root_addr_cells);
874
875 /* break now */
876 return 1;
877}
878
879static u64 __init dt_mem_next_cell(int s, cell_t **cellp)
880{
881 cell_t *p = *cellp;
882
883 *cellp = p + s;
884 return of_read_number(p, s);
885} 401}
886 402
887#ifdef CONFIG_PPC_PSERIES 403#ifdef CONFIG_PPC_PSERIES
@@ -893,22 +409,22 @@ static u64 __init dt_mem_next_cell(int s, cell_t **cellp)
893 */ 409 */
894static int __init early_init_dt_scan_drconf_memory(unsigned long node) 410static int __init early_init_dt_scan_drconf_memory(unsigned long node)
895{ 411{
896 cell_t *dm, *ls, *usm; 412 __be32 *dm, *ls, *usm;
897 unsigned long l, n, flags; 413 unsigned long l, n, flags;
898 u64 base, size, lmb_size; 414 u64 base, size, memblock_size;
899 unsigned int is_kexec_kdump = 0, rngs; 415 unsigned int is_kexec_kdump = 0, rngs;
900 416
901 ls = of_get_flat_dt_prop(node, "ibm,lmb-size", &l); 417 ls = of_get_flat_dt_prop(node, "ibm,lmb-size", &l);
902 if (ls == NULL || l < dt_root_size_cells * sizeof(cell_t)) 418 if (ls == NULL || l < dt_root_size_cells * sizeof(__be32))
903 return 0; 419 return 0;
904 lmb_size = dt_mem_next_cell(dt_root_size_cells, &ls); 420 memblock_size = dt_mem_next_cell(dt_root_size_cells, &ls);
905 421
906 dm = of_get_flat_dt_prop(node, "ibm,dynamic-memory", &l); 422 dm = of_get_flat_dt_prop(node, "ibm,dynamic-memory", &l);
907 if (dm == NULL || l < sizeof(cell_t)) 423 if (dm == NULL || l < sizeof(__be32))
908 return 0; 424 return 0;
909 425
910 n = *dm++; /* number of entries */ 426 n = *dm++; /* number of entries */
911 if (l < (n * (dt_root_addr_cells + 4) + 1) * sizeof(cell_t)) 427 if (l < (n * (dt_root_addr_cells + 4) + 1) * sizeof(__be32))
912 return 0; 428 return 0;
913 429
914 /* check if this is a kexec/kdump kernel. */ 430 /* check if this is a kexec/kdump kernel. */
@@ -926,11 +442,11 @@ static int __init early_init_dt_scan_drconf_memory(unsigned long node)
926 or if the block is not assigned to this partition (0x8) */ 442 or if the block is not assigned to this partition (0x8) */
927 if ((flags & 0x80) || !(flags & 0x8)) 443 if ((flags & 0x80) || !(flags & 0x8))
928 continue; 444 continue;
929 size = lmb_size; 445 size = memblock_size;
930 rngs = 1; 446 rngs = 1;
931 if (is_kexec_kdump) { 447 if (is_kexec_kdump) {
932 /* 448 /*
933 * For each lmb in ibm,dynamic-memory, a corresponding 449 * For each memblock in ibm,dynamic-memory, a corresponding
934 * entry in linux,drconf-usable-memory property contains 450 * entry in linux,drconf-usable-memory property contains
935 * a counter 'p' followed by 'p' (base, size) duple. 451 * a counter 'p' followed by 'p' (base, size) duple.
936 * Now read the counter from 452 * Now read the counter from
@@ -953,75 +469,57 @@ static int __init early_init_dt_scan_drconf_memory(unsigned long node)
953 if ((base + size) > 0x80000000ul) 469 if ((base + size) > 0x80000000ul)
954 size = 0x80000000ul - base; 470 size = 0x80000000ul - base;
955 } 471 }
956 lmb_add(base, size); 472 memblock_add(base, size);
957 } while (--rngs); 473 } while (--rngs);
958 } 474 }
959 lmb_dump_all(); 475 memblock_dump_all();
960 return 0; 476 return 0;
961} 477}
962#else 478#else
963#define early_init_dt_scan_drconf_memory(node) 0 479#define early_init_dt_scan_drconf_memory(node) 0
964#endif /* CONFIG_PPC_PSERIES */ 480#endif /* CONFIG_PPC_PSERIES */
965 481
966static int __init early_init_dt_scan_memory(unsigned long node, 482static int __init early_init_dt_scan_memory_ppc(unsigned long node,
967 const char *uname, int depth, void *data) 483 const char *uname,
484 int depth, void *data)
968{ 485{
969 char *type = of_get_flat_dt_prop(node, "device_type", NULL);
970 cell_t *reg, *endp;
971 unsigned long l;
972
973 /* Look for the ibm,dynamic-reconfiguration-memory node */
974 if (depth == 1 && 486 if (depth == 1 &&
975 strcmp(uname, "ibm,dynamic-reconfiguration-memory") == 0) 487 strcmp(uname, "ibm,dynamic-reconfiguration-memory") == 0)
976 return early_init_dt_scan_drconf_memory(node); 488 return early_init_dt_scan_drconf_memory(node);
489
490 return early_init_dt_scan_memory(node, uname, depth, data);
491}
977 492
978 /* We are scanning "memory" nodes only */ 493void __init early_init_dt_add_memory_arch(u64 base, u64 size)
979 if (type == NULL) { 494{
980 /* 495#if defined(CONFIG_PPC64)
981 * The longtrail doesn't have a device_type on the 496 if (iommu_is_off) {
982 * /memory node, so look for the node called /memory@0. 497 if (base >= 0x80000000ul)
983 */ 498 return;
984 if (depth != 1 || strcmp(uname, "memory@0") != 0) 499 if ((base + size) > 0x80000000ul)
985 return 0; 500 size = 0x80000000ul - base;
986 } else if (strcmp(type, "memory") != 0) 501 }
987 return 0; 502#endif
988
989 reg = of_get_flat_dt_prop(node, "linux,usable-memory", &l);
990 if (reg == NULL)
991 reg = of_get_flat_dt_prop(node, "reg", &l);
992 if (reg == NULL)
993 return 0;
994
995 endp = reg + (l / sizeof(cell_t));
996
997 DBG("memory scan node %s, reg size %ld, data: %x %x %x %x,\n",
998 uname, l, reg[0], reg[1], reg[2], reg[3]);
999
1000 while ((endp - reg) >= (dt_root_addr_cells + dt_root_size_cells)) {
1001 u64 base, size;
1002 503
1003 base = dt_mem_next_cell(dt_root_addr_cells, &reg); 504 memblock_add(base, size);
1004 size = dt_mem_next_cell(dt_root_size_cells, &reg);
1005 505
1006 if (size == 0) 506 memstart_addr = min((u64)memstart_addr, base);
1007 continue; 507}
1008 DBG(" - %llx , %llx\n", (unsigned long long)base,
1009 (unsigned long long)size);
1010#ifdef CONFIG_PPC64
1011 if (iommu_is_off) {
1012 if (base >= 0x80000000ul)
1013 continue;
1014 if ((base + size) > 0x80000000ul)
1015 size = 0x80000000ul - base;
1016 }
1017#endif
1018 lmb_add(base, size);
1019 508
1020 memstart_addr = min((u64)memstart_addr, base); 509u64 __init early_init_dt_alloc_memory_arch(u64 size, u64 align)
1021 } 510{
511 return memblock_alloc(size, align);
512}
1022 513
1023 return 0; 514#ifdef CONFIG_BLK_DEV_INITRD
515void __init early_init_dt_setup_initrd_arch(unsigned long start,
516 unsigned long end)
517{
518 initrd_start = (unsigned long)__va(start);
519 initrd_end = (unsigned long)__va(end);
520 initrd_below_start_ok = 1;
1024} 521}
522#endif
1025 523
1026static void __init early_reserve_mem(void) 524static void __init early_reserve_mem(void)
1027{ 525{
@@ -1036,12 +534,12 @@ static void __init early_reserve_mem(void)
1036 /* before we do anything, lets reserve the dt blob */ 534 /* before we do anything, lets reserve the dt blob */
1037 self_base = __pa((unsigned long)initial_boot_params); 535 self_base = __pa((unsigned long)initial_boot_params);
1038 self_size = initial_boot_params->totalsize; 536 self_size = initial_boot_params->totalsize;
1039 lmb_reserve(self_base, self_size); 537 memblock_reserve(self_base, self_size);
1040 538
1041#ifdef CONFIG_BLK_DEV_INITRD 539#ifdef CONFIG_BLK_DEV_INITRD
1042 /* then reserve the initrd, if any */ 540 /* then reserve the initrd, if any */
1043 if (initrd_start && (initrd_end > initrd_start)) 541 if (initrd_start && (initrd_end > initrd_start))
1044 lmb_reserve(__pa(initrd_start), initrd_end - initrd_start); 542 memblock_reserve(__pa(initrd_start), initrd_end - initrd_start);
1045#endif /* CONFIG_BLK_DEV_INITRD */ 543#endif /* CONFIG_BLK_DEV_INITRD */
1046 544
1047#ifdef CONFIG_PPC32 545#ifdef CONFIG_PPC32
@@ -1062,7 +560,7 @@ static void __init early_reserve_mem(void)
1062 if (base_32 == self_base && size_32 == self_size) 560 if (base_32 == self_base && size_32 == self_size)
1063 continue; 561 continue;
1064 DBG("reserving: %x -> %x\n", base_32, size_32); 562 DBG("reserving: %x -> %x\n", base_32, size_32);
1065 lmb_reserve(base_32, size_32); 563 memblock_reserve(base_32, size_32);
1066 } 564 }
1067 return; 565 return;
1068 } 566 }
@@ -1073,7 +571,7 @@ static void __init early_reserve_mem(void)
1073 if (size == 0) 571 if (size == 0)
1074 break; 572 break;
1075 DBG("reserving: %llx -> %llx\n", base, size); 573 DBG("reserving: %llx -> %llx\n", base, size);
1076 lmb_reserve(base, size); 574 memblock_reserve(base, size);
1077 } 575 }
1078} 576}
1079 577
@@ -1096,7 +594,7 @@ static inline unsigned long phyp_dump_calculate_reserve_size(void)
1096 return phyp_dump_info->reserve_bootvar; 594 return phyp_dump_info->reserve_bootvar;
1097 595
1098 /* divide by 20 to get 5% of value */ 596 /* divide by 20 to get 5% of value */
1099 tmp = lmb_end_of_DRAM(); 597 tmp = memblock_end_of_DRAM();
1100 do_div(tmp, 20); 598 do_div(tmp, 20);
1101 599
1102 /* round it down in multiples of 256 */ 600 /* round it down in multiples of 256 */
@@ -1135,11 +633,11 @@ static void __init phyp_dump_reserve_mem(void)
1135 if (phyp_dump_info->phyp_dump_is_active) { 633 if (phyp_dump_info->phyp_dump_is_active) {
1136 /* Reserve *everything* above RMR.Area freed by userland tools*/ 634 /* Reserve *everything* above RMR.Area freed by userland tools*/
1137 base = variable_reserve_size; 635 base = variable_reserve_size;
1138 size = lmb_end_of_DRAM() - base; 636 size = memblock_end_of_DRAM() - base;
1139 637
1140 /* XXX crashed_ram_end is wrong, since it may be beyond 638 /* XXX crashed_ram_end is wrong, since it may be beyond
1141 * the memory_limit, it will need to be adjusted. */ 639 * the memory_limit, it will need to be adjusted. */
1142 lmb_reserve(base, size); 640 memblock_reserve(base, size);
1143 641
1144 phyp_dump_info->init_reserve_start = base; 642 phyp_dump_info->init_reserve_start = base;
1145 phyp_dump_info->init_reserve_size = size; 643 phyp_dump_info->init_reserve_size = size;
@@ -1147,8 +645,8 @@ static void __init phyp_dump_reserve_mem(void)
1147 size = phyp_dump_info->cpu_state_size + 645 size = phyp_dump_info->cpu_state_size +
1148 phyp_dump_info->hpte_region_size + 646 phyp_dump_info->hpte_region_size +
1149 variable_reserve_size; 647 variable_reserve_size;
1150 base = lmb_end_of_DRAM() - size; 648 base = memblock_end_of_DRAM() - size;
1151 lmb_reserve(base, size); 649 memblock_reserve(base, size);
1152 phyp_dump_info->init_reserve_start = base; 650 phyp_dump_info->init_reserve_start = base;
1153 phyp_dump_info->init_reserve_size = size; 651 phyp_dump_info->init_reserve_size = size;
1154 } 652 }
@@ -1183,20 +681,20 @@ void __init early_init_devtree(void *params)
1183 */ 681 */
1184 of_scan_flat_dt(early_init_dt_scan_chosen, NULL); 682 of_scan_flat_dt(early_init_dt_scan_chosen, NULL);
1185 683
1186 /* Scan memory nodes and rebuild LMBs */ 684 /* Scan memory nodes and rebuild MEMBLOCKs */
1187 lmb_init(); 685 memblock_init();
1188 of_scan_flat_dt(early_init_dt_scan_root, NULL); 686 of_scan_flat_dt(early_init_dt_scan_root, NULL);
1189 of_scan_flat_dt(early_init_dt_scan_memory, NULL); 687 of_scan_flat_dt(early_init_dt_scan_memory_ppc, NULL);
1190 688
1191 /* Save command line for /proc/cmdline and then parse parameters */ 689 /* Save command line for /proc/cmdline and then parse parameters */
1192 strlcpy(boot_command_line, cmd_line, COMMAND_LINE_SIZE); 690 strlcpy(boot_command_line, cmd_line, COMMAND_LINE_SIZE);
1193 parse_early_param(); 691 parse_early_param();
1194 692
1195 /* Reserve LMB regions used by kernel, initrd, dt, etc... */ 693 /* Reserve MEMBLOCK regions used by kernel, initrd, dt, etc... */
1196 lmb_reserve(PHYSICAL_START, __pa(klimit) - PHYSICAL_START); 694 memblock_reserve(PHYSICAL_START, __pa(klimit) - PHYSICAL_START);
1197 /* If relocatable, reserve first 32k for interrupt vectors etc. */ 695 /* If relocatable, reserve first 32k for interrupt vectors etc. */
1198 if (PHYSICAL_START > MEMORY_START) 696 if (PHYSICAL_START > MEMORY_START)
1199 lmb_reserve(MEMORY_START, 0x8000); 697 memblock_reserve(MEMORY_START, 0x8000);
1200 reserve_kdump_trampoline(); 698 reserve_kdump_trampoline();
1201 reserve_crashkernel(); 699 reserve_crashkernel();
1202 early_reserve_mem(); 700 early_reserve_mem();
@@ -1208,22 +706,24 @@ void __init early_init_devtree(void *params)
1208 706
1209 /* Ensure that total memory size is page-aligned, because 707 /* Ensure that total memory size is page-aligned, because
1210 * otherwise mark_bootmem() gets upset. */ 708 * otherwise mark_bootmem() gets upset. */
1211 lmb_analyze(); 709 memblock_analyze();
1212 memsize = lmb_phys_mem_size(); 710 memsize = memblock_phys_mem_size();
1213 if ((memsize & PAGE_MASK) != memsize) 711 if ((memsize & PAGE_MASK) != memsize)
1214 limit = memsize & PAGE_MASK; 712 limit = memsize & PAGE_MASK;
1215 } 713 }
1216 lmb_enforce_memory_limit(limit); 714 memblock_enforce_memory_limit(limit);
1217 715
1218 lmb_analyze(); 716 memblock_analyze();
1219 lmb_dump_all(); 717 memblock_dump_all();
1220 718
1221 DBG("Phys. mem: %llx\n", lmb_phys_mem_size()); 719 DBG("Phys. mem: %llx\n", memblock_phys_mem_size());
1222 720
1223 /* We may need to relocate the flat tree, do it now. 721 /* We may need to relocate the flat tree, do it now.
1224 * FIXME .. and the initrd too? */ 722 * FIXME .. and the initrd too? */
1225 move_device_tree(); 723 move_device_tree();
1226 724
725 allocate_pacas();
726
1227 DBG("Scanning CPUs ...\n"); 727 DBG("Scanning CPUs ...\n");
1228 728
1229 /* Retreive CPU related informations from the flat tree 729 /* Retreive CPU related informations from the flat tree
@@ -1234,25 +734,6 @@ void __init early_init_devtree(void *params)
1234 DBG(" <- early_init_devtree()\n"); 734 DBG(" <- early_init_devtree()\n");
1235} 735}
1236 736
1237
1238/**
1239 * Indicates whether the root node has a given value in its
1240 * compatible property.
1241 */
1242int machine_is_compatible(const char *compat)
1243{
1244 struct device_node *root;
1245 int rc = 0;
1246
1247 root = of_find_node_by_path("/");
1248 if (root) {
1249 rc = of_device_is_compatible(root, compat);
1250 of_node_put(root);
1251 }
1252 return rc;
1253}
1254EXPORT_SYMBOL(machine_is_compatible);
1255
1256/******* 737/*******
1257 * 738 *
1258 * New implementation of the OF "find" APIs, return a refcounted 739 * New implementation of the OF "find" APIs, return a refcounted
@@ -1265,27 +746,6 @@ EXPORT_SYMBOL(machine_is_compatible);
1265 *******/ 746 *******/
1266 747
1267/** 748/**
1268 * of_find_node_by_phandle - Find a node given a phandle
1269 * @handle: phandle of the node to find
1270 *
1271 * Returns a node pointer with refcount incremented, use
1272 * of_node_put() on it when done.
1273 */
1274struct device_node *of_find_node_by_phandle(phandle handle)
1275{
1276 struct device_node *np;
1277
1278 read_lock(&devtree_lock);
1279 for (np = allnodes; np != 0; np = np->allnext)
1280 if (np->linux_phandle == handle)
1281 break;
1282 of_node_get(np);
1283 read_unlock(&devtree_lock);
1284 return np;
1285}
1286EXPORT_SYMBOL(of_find_node_by_phandle);
1287
1288/**
1289 * of_find_next_cache_node - Find a node's subsidiary cache 749 * of_find_next_cache_node - Find a node's subsidiary cache
1290 * @np: node of type "cpu" or "cache" 750 * @np: node of type "cpu" or "cache"
1291 * 751 *
@@ -1316,138 +776,6 @@ struct device_node *of_find_next_cache_node(struct device_node *np)
1316 return NULL; 776 return NULL;
1317} 777}
1318 778
1319/**
1320 * of_node_get - Increment refcount of a node
1321 * @node: Node to inc refcount, NULL is supported to
1322 * simplify writing of callers
1323 *
1324 * Returns node.
1325 */
1326struct device_node *of_node_get(struct device_node *node)
1327{
1328 if (node)
1329 kref_get(&node->kref);
1330 return node;
1331}
1332EXPORT_SYMBOL(of_node_get);
1333
1334static inline struct device_node * kref_to_device_node(struct kref *kref)
1335{
1336 return container_of(kref, struct device_node, kref);
1337}
1338
1339/**
1340 * of_node_release - release a dynamically allocated node
1341 * @kref: kref element of the node to be released
1342 *
1343 * In of_node_put() this function is passed to kref_put()
1344 * as the destructor.
1345 */
1346static void of_node_release(struct kref *kref)
1347{
1348 struct device_node *node = kref_to_device_node(kref);
1349 struct property *prop = node->properties;
1350
1351 /* We should never be releasing nodes that haven't been detached. */
1352 if (!of_node_check_flag(node, OF_DETACHED)) {
1353 printk("WARNING: Bad of_node_put() on %s\n", node->full_name);
1354 dump_stack();
1355 kref_init(&node->kref);
1356 return;
1357 }
1358
1359 if (!of_node_check_flag(node, OF_DYNAMIC))
1360 return;
1361
1362 while (prop) {
1363 struct property *next = prop->next;
1364 kfree(prop->name);
1365 kfree(prop->value);
1366 kfree(prop);
1367 prop = next;
1368
1369 if (!prop) {
1370 prop = node->deadprops;
1371 node->deadprops = NULL;
1372 }
1373 }
1374 kfree(node->full_name);
1375 kfree(node->data);
1376 kfree(node);
1377}
1378
1379/**
1380 * of_node_put - Decrement refcount of a node
1381 * @node: Node to dec refcount, NULL is supported to
1382 * simplify writing of callers
1383 *
1384 */
1385void of_node_put(struct device_node *node)
1386{
1387 if (node)
1388 kref_put(&node->kref, of_node_release);
1389}
1390EXPORT_SYMBOL(of_node_put);
1391
1392/*
1393 * Plug a device node into the tree and global list.
1394 */
1395void of_attach_node(struct device_node *np)
1396{
1397 unsigned long flags;
1398
1399 write_lock_irqsave(&devtree_lock, flags);
1400 np->sibling = np->parent->child;
1401 np->allnext = allnodes;
1402 np->parent->child = np;
1403 allnodes = np;
1404 write_unlock_irqrestore(&devtree_lock, flags);
1405}
1406
1407/*
1408 * "Unplug" a node from the device tree. The caller must hold
1409 * a reference to the node. The memory associated with the node
1410 * is not freed until its refcount goes to zero.
1411 */
1412void of_detach_node(struct device_node *np)
1413{
1414 struct device_node *parent;
1415 unsigned long flags;
1416
1417 write_lock_irqsave(&devtree_lock, flags);
1418
1419 parent = np->parent;
1420 if (!parent)
1421 goto out_unlock;
1422
1423 if (allnodes == np)
1424 allnodes = np->allnext;
1425 else {
1426 struct device_node *prev;
1427 for (prev = allnodes;
1428 prev->allnext != np;
1429 prev = prev->allnext)
1430 ;
1431 prev->allnext = np->allnext;
1432 }
1433
1434 if (parent->child == np)
1435 parent->child = np->sibling;
1436 else {
1437 struct device_node *prevsib;
1438 for (prevsib = np->parent->child;
1439 prevsib->sibling != np;
1440 prevsib = prevsib->sibling)
1441 ;
1442 prevsib->sibling = np->sibling;
1443 }
1444
1445 of_node_set_flag(np, OF_DETACHED);
1446
1447out_unlock:
1448 write_unlock_irqrestore(&devtree_lock, flags);
1449}
1450
1451#ifdef CONFIG_PPC_PSERIES 779#ifdef CONFIG_PPC_PSERIES
1452/* 780/*
1453 * Fix up the uninitialized fields in a new device node: 781 * Fix up the uninitialized fields in a new device node:
@@ -1479,9 +807,9 @@ static int of_finish_dynamic_node(struct device_node *node)
1479 if (machine_is(powermac)) 807 if (machine_is(powermac))
1480 return -ENODEV; 808 return -ENODEV;
1481 809
1482 /* fix up new node's linux_phandle field */ 810 /* fix up new node's phandle field */
1483 if ((ibm_phandle = of_get_property(node, "ibm,phandle", NULL))) 811 if ((ibm_phandle = of_get_property(node, "ibm,phandle", NULL)))
1484 node->linux_phandle = *ibm_phandle; 812 node->phandle = *ibm_phandle;
1485 813
1486out: 814out:
1487 of_node_put(parent); 815 of_node_put(parent);
@@ -1520,120 +848,6 @@ static int __init prom_reconfig_setup(void)
1520__initcall(prom_reconfig_setup); 848__initcall(prom_reconfig_setup);
1521#endif 849#endif
1522 850
1523/*
1524 * Add a property to a node
1525 */
1526int prom_add_property(struct device_node* np, struct property* prop)
1527{
1528 struct property **next;
1529 unsigned long flags;
1530
1531 prop->next = NULL;
1532 write_lock_irqsave(&devtree_lock, flags);
1533 next = &np->properties;
1534 while (*next) {
1535 if (strcmp(prop->name, (*next)->name) == 0) {
1536 /* duplicate ! don't insert it */
1537 write_unlock_irqrestore(&devtree_lock, flags);
1538 return -1;
1539 }
1540 next = &(*next)->next;
1541 }
1542 *next = prop;
1543 write_unlock_irqrestore(&devtree_lock, flags);
1544
1545#ifdef CONFIG_PROC_DEVICETREE
1546 /* try to add to proc as well if it was initialized */
1547 if (np->pde)
1548 proc_device_tree_add_prop(np->pde, prop);
1549#endif /* CONFIG_PROC_DEVICETREE */
1550
1551 return 0;
1552}
1553
1554/*
1555 * Remove a property from a node. Note that we don't actually
1556 * remove it, since we have given out who-knows-how-many pointers
1557 * to the data using get-property. Instead we just move the property
1558 * to the "dead properties" list, so it won't be found any more.
1559 */
1560int prom_remove_property(struct device_node *np, struct property *prop)
1561{
1562 struct property **next;
1563 unsigned long flags;
1564 int found = 0;
1565
1566 write_lock_irqsave(&devtree_lock, flags);
1567 next = &np->properties;
1568 while (*next) {
1569 if (*next == prop) {
1570 /* found the node */
1571 *next = prop->next;
1572 prop->next = np->deadprops;
1573 np->deadprops = prop;
1574 found = 1;
1575 break;
1576 }
1577 next = &(*next)->next;
1578 }
1579 write_unlock_irqrestore(&devtree_lock, flags);
1580
1581 if (!found)
1582 return -ENODEV;
1583
1584#ifdef CONFIG_PROC_DEVICETREE
1585 /* try to remove the proc node as well */
1586 if (np->pde)
1587 proc_device_tree_remove_prop(np->pde, prop);
1588#endif /* CONFIG_PROC_DEVICETREE */
1589
1590 return 0;
1591}
1592
1593/*
1594 * Update a property in a node. Note that we don't actually
1595 * remove it, since we have given out who-knows-how-many pointers
1596 * to the data using get-property. Instead we just move the property
1597 * to the "dead properties" list, and add the new property to the
1598 * property list
1599 */
1600int prom_update_property(struct device_node *np,
1601 struct property *newprop,
1602 struct property *oldprop)
1603{
1604 struct property **next;
1605 unsigned long flags;
1606 int found = 0;
1607
1608 write_lock_irqsave(&devtree_lock, flags);
1609 next = &np->properties;
1610 while (*next) {
1611 if (*next == oldprop) {
1612 /* found the node */
1613 newprop->next = oldprop->next;
1614 *next = newprop;
1615 oldprop->next = np->deadprops;
1616 np->deadprops = oldprop;
1617 found = 1;
1618 break;
1619 }
1620 next = &(*next)->next;
1621 }
1622 write_unlock_irqrestore(&devtree_lock, flags);
1623
1624 if (!found)
1625 return -ENODEV;
1626
1627#ifdef CONFIG_PROC_DEVICETREE
1628 /* try to add to proc as well if it was initialized */
1629 if (np->pde)
1630 proc_device_tree_update_prop(np->pde, newprop, oldprop);
1631#endif /* CONFIG_PROC_DEVICETREE */
1632
1633 return 0;
1634}
1635
1636
1637/* Find the device node for a given logical cpu number, also returns the cpu 851/* Find the device node for a given logical cpu number, also returns the cpu
1638 * local thread number (index in ibm,interrupt-server#s) if relevant and 852 * local thread number (index in ibm,interrupt-server#s) if relevant and
1639 * asked for (non NULL) 853 * asked for (non NULL)
diff --git a/arch/powerpc/kernel/prom_init.c b/arch/powerpc/kernel/prom_init.c
index bafac2e41ae1..3b6f8ae9b8cc 100644
--- a/arch/powerpc/kernel/prom_init.c
+++ b/arch/powerpc/kernel/prom_init.c
@@ -653,6 +653,10 @@ 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 */
657
658/* Option Vector 6: IBM PAPR hints */
659#define OV6_LINUX 0x02 /* Linux is our OS */
656 660
657/* 661/*
658 * The architecture vector has an array of PVR mask/value pairs, 662 * The architecture vector has an array of PVR mask/value pairs,
@@ -665,7 +669,7 @@ static unsigned char ibm_architecture_vec[] = {
665 W(0xffffffff), W(0x0f000003), /* all 2.06-compliant */ 669 W(0xffffffff), W(0x0f000003), /* all 2.06-compliant */
666 W(0xffffffff), W(0x0f000002), /* all 2.05-compliant */ 670 W(0xffffffff), W(0x0f000002), /* all 2.05-compliant */
667 W(0xfffffffe), W(0x0f000001), /* all 2.04-compliant and earlier */ 671 W(0xfffffffe), W(0x0f000001), /* all 2.04-compliant and earlier */
668 5 - 1, /* 5 option vectors */ 672 6 - 1, /* 6 option vectors */
669 673
670 /* option vector 1: processor architectures supported */ 674 /* option vector 1: processor architectures supported */
671 3 - 2, /* length */ 675 3 - 2, /* length */
@@ -697,12 +701,29 @@ static unsigned char ibm_architecture_vec[] = {
697 0, /* don't halt */ 701 0, /* don't halt */
698 702
699 /* option vector 5: PAPR/OF options */ 703 /* option vector 5: PAPR/OF options */
700 5 - 2, /* length */ 704 13 - 2, /* length */
701 0, /* don't ignore, don't halt */ 705 0, /* don't ignore, don't halt */
702 OV5_LPAR | OV5_SPLPAR | OV5_LARGE_PAGES | OV5_DRCONF_MEMORY | 706 OV5_LPAR | OV5_SPLPAR | OV5_LARGE_PAGES | OV5_DRCONF_MEMORY |
703 OV5_DONATE_DEDICATE_CPU | OV5_MSI, 707 OV5_DONATE_DEDICATE_CPU | OV5_MSI,
704 0, 708 0,
705 OV5_CMO, 709 OV5_CMO,
710 OV5_TYPE1_AFFINITY,
711 0,
712 0,
713 0,
714 /* WARNING: The offset of the "number of cores" field below
715 * must match by the macro below. Update the definition if
716 * the structure layout changes.
717 */
718#define IBM_ARCH_VEC_NRCORES_OFFSET 100
719 W(NR_CPUS), /* number of cores supported */
720
721 /* option vector 6: IBM PAPR hints */
722 4 - 2, /* length */
723 0,
724 0,
725 OV6_LINUX,
726
706}; 727};
707 728
708/* Old method - ELF header with PT_NOTE sections */ 729/* Old method - ELF header with PT_NOTE sections */
@@ -792,13 +813,70 @@ static struct fake_elf {
792 } 813 }
793}; 814};
794 815
816static int __init prom_count_smt_threads(void)
817{
818 phandle node;
819 char type[64];
820 unsigned int plen;
821
822 /* Pick up th first CPU node we can find */
823 for (node = 0; prom_next_node(&node); ) {
824 type[0] = 0;
825 prom_getprop(node, "device_type", type, sizeof(type));
826
827 if (strcmp(type, RELOC("cpu")))
828 continue;
829 /*
830 * There is an entry for each smt thread, each entry being
831 * 4 bytes long. All cpus should have the same number of
832 * smt threads, so return after finding the first.
833 */
834 plen = prom_getproplen(node, "ibm,ppc-interrupt-server#s");
835 if (plen == PROM_ERROR)
836 break;
837 plen >>= 2;
838 prom_debug("Found 0x%x smt threads per core\n", (unsigned long)plen);
839
840 /* Sanity check */
841 if (plen < 1 || plen > 64) {
842 prom_printf("Threads per core 0x%x out of bounds, assuming 1\n",
843 (unsigned long)plen);
844 return 1;
845 }
846 return plen;
847 }
848 prom_debug("No threads found, assuming 1 per core\n");
849
850 return 1;
851
852}
853
854
795static void __init prom_send_capabilities(void) 855static void __init prom_send_capabilities(void)
796{ 856{
797 ihandle elfloader, root; 857 ihandle elfloader, root;
798 prom_arg_t ret; 858 prom_arg_t ret;
859 u32 *cores;
799 860
800 root = call_prom("open", 1, 1, ADDR("/")); 861 root = call_prom("open", 1, 1, ADDR("/"));
801 if (root != 0) { 862 if (root != 0) {
863 /* We need to tell the FW about the number of cores we support.
864 *
865 * To do that, we count the number of threads on the first core
866 * (we assume this is the same for all cores) and use it to
867 * divide NR_CPUS.
868 */
869 cores = (u32 *)PTRRELOC(&ibm_architecture_vec[IBM_ARCH_VEC_NRCORES_OFFSET]);
870 if (*cores != NR_CPUS) {
871 prom_printf("WARNING ! "
872 "ibm_architecture_vec structure inconsistent: 0x%x !\n",
873 *cores);
874 } else {
875 *cores = DIV_ROUND_UP(NR_CPUS, prom_count_smt_threads());
876 prom_printf("Max number of cores passed to firmware: 0x%x\n",
877 (unsigned long)*cores);
878 }
879
802 /* try calling the ibm,client-architecture-support method */ 880 /* try calling the ibm,client-architecture-support method */
803 prom_printf("Calling ibm,client-architecture-support..."); 881 prom_printf("Calling ibm,client-architecture-support...");
804 if (call_prom_ret("call-method", 3, 2, &ret, 882 if (call_prom_ret("call-method", 3, 2, &ret,
diff --git a/arch/powerpc/kernel/prom_init_check.sh b/arch/powerpc/kernel/prom_init_check.sh
index 1ac136b128f0..9f82f4937892 100644
--- a/arch/powerpc/kernel/prom_init_check.sh
+++ b/arch/powerpc/kernel/prom_init_check.sh
@@ -52,12 +52,18 @@ do
52 if [ "${UNDEF:0:9}" = "_restgpr_" ]; then 52 if [ "${UNDEF:0:9}" = "_restgpr_" ]; then
53 OK=1 53 OK=1
54 fi 54 fi
55 if [ "${UNDEF:0:10}" = "_restgpr0_" ]; then
56 OK=1
57 fi
55 if [ "${UNDEF:0:11}" = "_rest32gpr_" ]; then 58 if [ "${UNDEF:0:11}" = "_rest32gpr_" ]; then
56 OK=1 59 OK=1
57 fi 60 fi
58 if [ "${UNDEF:0:9}" = "_savegpr_" ]; then 61 if [ "${UNDEF:0:9}" = "_savegpr_" ]; then
59 OK=1 62 OK=1
60 fi 63 fi
64 if [ "${UNDEF:0:10}" = "_savegpr0_" ]; then
65 OK=1
66 fi
61 if [ "${UNDEF:0:11}" = "_save32gpr_" ]; then 67 if [ "${UNDEF:0:11}" = "_save32gpr_" ]; then
62 OK=1 68 OK=1
63 fi 69 fi
diff --git a/arch/powerpc/kernel/ptrace.c b/arch/powerpc/kernel/ptrace.c
index ef149880c145..7a0c0199ea28 100644
--- a/arch/powerpc/kernel/ptrace.c
+++ b/arch/powerpc/kernel/ptrace.c
@@ -39,6 +39,109 @@
39#include <asm/system.h> 39#include <asm/system.h>
40 40
41/* 41/*
42 * The parameter save area on the stack is used to store arguments being passed
43 * to callee function and is located at fixed offset from stack pointer.
44 */
45#ifdef CONFIG_PPC32
46#define PARAMETER_SAVE_AREA_OFFSET 24 /* bytes */
47#else /* CONFIG_PPC32 */
48#define PARAMETER_SAVE_AREA_OFFSET 48 /* bytes */
49#endif
50
51struct pt_regs_offset {
52 const char *name;
53 int offset;
54};
55
56#define STR(s) #s /* convert to string */
57#define REG_OFFSET_NAME(r) {.name = #r, .offset = offsetof(struct pt_regs, r)}
58#define GPR_OFFSET_NAME(num) \
59 {.name = STR(gpr##num), .offset = offsetof(struct pt_regs, gpr[num])}
60#define REG_OFFSET_END {.name = NULL, .offset = 0}
61
62static const struct pt_regs_offset regoffset_table[] = {
63 GPR_OFFSET_NAME(0),
64 GPR_OFFSET_NAME(1),
65 GPR_OFFSET_NAME(2),
66 GPR_OFFSET_NAME(3),
67 GPR_OFFSET_NAME(4),
68 GPR_OFFSET_NAME(5),
69 GPR_OFFSET_NAME(6),
70 GPR_OFFSET_NAME(7),
71 GPR_OFFSET_NAME(8),
72 GPR_OFFSET_NAME(9),
73 GPR_OFFSET_NAME(10),
74 GPR_OFFSET_NAME(11),
75 GPR_OFFSET_NAME(12),
76 GPR_OFFSET_NAME(13),
77 GPR_OFFSET_NAME(14),
78 GPR_OFFSET_NAME(15),
79 GPR_OFFSET_NAME(16),
80 GPR_OFFSET_NAME(17),
81 GPR_OFFSET_NAME(18),
82 GPR_OFFSET_NAME(19),
83 GPR_OFFSET_NAME(20),
84 GPR_OFFSET_NAME(21),
85 GPR_OFFSET_NAME(22),
86 GPR_OFFSET_NAME(23),
87 GPR_OFFSET_NAME(24),
88 GPR_OFFSET_NAME(25),
89 GPR_OFFSET_NAME(26),
90 GPR_OFFSET_NAME(27),
91 GPR_OFFSET_NAME(28),
92 GPR_OFFSET_NAME(29),
93 GPR_OFFSET_NAME(30),
94 GPR_OFFSET_NAME(31),
95 REG_OFFSET_NAME(nip),
96 REG_OFFSET_NAME(msr),
97 REG_OFFSET_NAME(ctr),
98 REG_OFFSET_NAME(link),
99 REG_OFFSET_NAME(xer),
100 REG_OFFSET_NAME(ccr),
101#ifdef CONFIG_PPC64
102 REG_OFFSET_NAME(softe),
103#else
104 REG_OFFSET_NAME(mq),
105#endif
106 REG_OFFSET_NAME(trap),
107 REG_OFFSET_NAME(dar),
108 REG_OFFSET_NAME(dsisr),
109 REG_OFFSET_END,
110};
111
112/**
113 * regs_query_register_offset() - query register offset from its name
114 * @name: the name of a register
115 *
116 * regs_query_register_offset() returns the offset of a register in struct
117 * pt_regs from its name. If the name is invalid, this returns -EINVAL;
118 */
119int regs_query_register_offset(const char *name)
120{
121 const struct pt_regs_offset *roff;
122 for (roff = regoffset_table; roff->name != NULL; roff++)
123 if (!strcmp(roff->name, name))
124 return roff->offset;
125 return -EINVAL;
126}
127
128/**
129 * regs_query_register_name() - query register name from its offset
130 * @offset: the offset of a register in struct pt_regs.
131 *
132 * regs_query_register_name() returns the name of a register from its
133 * offset in struct pt_regs. If the @offset is invalid, this returns NULL;
134 */
135const char *regs_query_register_name(unsigned int offset)
136{
137 const struct pt_regs_offset *roff;
138 for (roff = regoffset_table; roff->name != NULL; roff++)
139 if (roff->offset == offset)
140 return roff->name;
141 return NULL;
142}
143
144/*
42 * does not yet catch signals sent when the child dies. 145 * does not yet catch signals sent when the child dies.
43 * in exit.c or in signal.c. 146 * in exit.c or in signal.c.
44 */ 147 */
@@ -46,7 +149,7 @@
46/* 149/*
47 * Set of msr bits that gdb can change on behalf of a process. 150 * Set of msr bits that gdb can change on behalf of a process.
48 */ 151 */
49#if defined(CONFIG_40x) || defined(CONFIG_BOOKE) 152#ifdef CONFIG_PPC_ADV_DEBUG_REGS
50#define MSR_DEBUGCHANGE 0 153#define MSR_DEBUGCHANGE 0
51#else 154#else
52#define MSR_DEBUGCHANGE (MSR_SE | MSR_BE) 155#define MSR_DEBUGCHANGE (MSR_SE | MSR_BE)
@@ -703,7 +806,7 @@ void user_enable_single_step(struct task_struct *task)
703 struct pt_regs *regs = task->thread.regs; 806 struct pt_regs *regs = task->thread.regs;
704 807
705 if (regs != NULL) { 808 if (regs != NULL) {
706#if defined(CONFIG_40x) || defined(CONFIG_BOOKE) 809#ifdef CONFIG_PPC_ADV_DEBUG_REGS
707 task->thread.dbcr0 &= ~DBCR0_BT; 810 task->thread.dbcr0 &= ~DBCR0_BT;
708 task->thread.dbcr0 |= DBCR0_IDM | DBCR0_IC; 811 task->thread.dbcr0 |= DBCR0_IDM | DBCR0_IC;
709 regs->msr |= MSR_DE; 812 regs->msr |= MSR_DE;
@@ -720,7 +823,7 @@ void user_enable_block_step(struct task_struct *task)
720 struct pt_regs *regs = task->thread.regs; 823 struct pt_regs *regs = task->thread.regs;
721 824
722 if (regs != NULL) { 825 if (regs != NULL) {
723#if defined(CONFIG_40x) || defined(CONFIG_BOOKE) 826#ifdef CONFIG_PPC_ADV_DEBUG_REGS
724 task->thread.dbcr0 &= ~DBCR0_IC; 827 task->thread.dbcr0 &= ~DBCR0_IC;
725 task->thread.dbcr0 = DBCR0_IDM | DBCR0_BT; 828 task->thread.dbcr0 = DBCR0_IDM | DBCR0_BT;
726 regs->msr |= MSR_DE; 829 regs->msr |= MSR_DE;
@@ -737,17 +840,25 @@ void user_disable_single_step(struct task_struct *task)
737 struct pt_regs *regs = task->thread.regs; 840 struct pt_regs *regs = task->thread.regs;
738 841
739 if (regs != NULL) { 842 if (regs != NULL) {
740#if defined(CONFIG_BOOKE) 843#ifdef CONFIG_PPC_ADV_DEBUG_REGS
741 /* If DAC don't clear DBCRO_IDM or MSR_DE */ 844 /*
742 if (task->thread.dabr) 845 * The logic to disable single stepping should be as
743 task->thread.dbcr0 &= ~(DBCR0_IC | DBCR0_BT); 846 * simple as turning off the Instruction Complete flag.
744 else { 847 * And, after doing so, if all debug flags are off, turn
745 task->thread.dbcr0 &= ~(DBCR0_IC | DBCR0_BT | DBCR0_IDM); 848 * off DBCR0(IDM) and MSR(DE) .... Torez
849 */
850 task->thread.dbcr0 &= ~DBCR0_IC;
851 /*
852 * Test to see if any of the DBCR_ACTIVE_EVENTS bits are set.
853 */
854 if (!DBCR_ACTIVE_EVENTS(task->thread.dbcr0,
855 task->thread.dbcr1)) {
856 /*
857 * All debug events were off.....
858 */
859 task->thread.dbcr0 &= ~DBCR0_IDM;
746 regs->msr &= ~MSR_DE; 860 regs->msr &= ~MSR_DE;
747 } 861 }
748#elif defined(CONFIG_40x)
749 task->thread.dbcr0 &= ~(DBCR0_IC | DBCR0_BT | DBCR0_IDM);
750 regs->msr &= ~MSR_DE;
751#else 862#else
752 regs->msr &= ~(MSR_SE | MSR_BE); 863 regs->msr &= ~(MSR_SE | MSR_BE);
753#endif 864#endif
@@ -769,8 +880,7 @@ int ptrace_set_debugreg(struct task_struct *task, unsigned long addr,
769 if ((data & ~0x7UL) >= TASK_SIZE) 880 if ((data & ~0x7UL) >= TASK_SIZE)
770 return -EIO; 881 return -EIO;
771 882
772#ifndef CONFIG_BOOKE 883#ifndef CONFIG_PPC_ADV_DEBUG_REGS
773
774 /* For processors using DABR (i.e. 970), the bottom 3 bits are flags. 884 /* For processors using DABR (i.e. 970), the bottom 3 bits are flags.
775 * It was assumed, on previous implementations, that 3 bits were 885 * It was assumed, on previous implementations, that 3 bits were
776 * passed together with the data address, fitting the design of the 886 * passed together with the data address, fitting the design of the
@@ -789,21 +899,22 @@ int ptrace_set_debugreg(struct task_struct *task, unsigned long addr,
789 899
790 /* Move contents to the DABR register */ 900 /* Move contents to the DABR register */
791 task->thread.dabr = data; 901 task->thread.dabr = data;
792 902#else /* CONFIG_PPC_ADV_DEBUG_REGS */
793#endif
794#if defined(CONFIG_BOOKE)
795
796 /* As described above, it was assumed 3 bits were passed with the data 903 /* As described above, it was assumed 3 bits were passed with the data
797 * address, but we will assume only the mode bits will be passed 904 * address, but we will assume only the mode bits will be passed
798 * as to not cause alignment restrictions for DAC-based processors. 905 * as to not cause alignment restrictions for DAC-based processors.
799 */ 906 */
800 907
801 /* DAC's hold the whole address without any mode flags */ 908 /* DAC's hold the whole address without any mode flags */
802 task->thread.dabr = data & ~0x3UL; 909 task->thread.dac1 = data & ~0x3UL;
803 910
804 if (task->thread.dabr == 0) { 911 if (task->thread.dac1 == 0) {
805 task->thread.dbcr0 &= ~(DBSR_DAC1R | DBSR_DAC1W | DBCR0_IDM); 912 dbcr_dac(task) &= ~(DBCR_DAC1R | DBCR_DAC1W);
806 task->thread.regs->msr &= ~MSR_DE; 913 if (!DBCR_ACTIVE_EVENTS(task->thread.dbcr0,
914 task->thread.dbcr1)) {
915 task->thread.regs->msr &= ~MSR_DE;
916 task->thread.dbcr0 &= ~DBCR0_IDM;
917 }
807 return 0; 918 return 0;
808 } 919 }
809 920
@@ -814,17 +925,17 @@ int ptrace_set_debugreg(struct task_struct *task, unsigned long addr,
814 925
815 /* Set the Internal Debugging flag (IDM bit 1) for the DBCR0 926 /* Set the Internal Debugging flag (IDM bit 1) for the DBCR0
816 register */ 927 register */
817 task->thread.dbcr0 = DBCR0_IDM; 928 task->thread.dbcr0 |= DBCR0_IDM;
818 929
819 /* Check for write and read flags and set DBCR0 930 /* Check for write and read flags and set DBCR0
820 accordingly */ 931 accordingly */
932 dbcr_dac(task) &= ~(DBCR_DAC1R|DBCR_DAC1W);
821 if (data & 0x1UL) 933 if (data & 0x1UL)
822 task->thread.dbcr0 |= DBSR_DAC1R; 934 dbcr_dac(task) |= DBCR_DAC1R;
823 if (data & 0x2UL) 935 if (data & 0x2UL)
824 task->thread.dbcr0 |= DBSR_DAC1W; 936 dbcr_dac(task) |= DBCR_DAC1W;
825
826 task->thread.regs->msr |= MSR_DE; 937 task->thread.regs->msr |= MSR_DE;
827#endif 938#endif /* CONFIG_PPC_ADV_DEBUG_REGS */
828 return 0; 939 return 0;
829} 940}
830 941
@@ -839,6 +950,394 @@ void ptrace_disable(struct task_struct *child)
839 user_disable_single_step(child); 950 user_disable_single_step(child);
840} 951}
841 952
953#ifdef CONFIG_PPC_ADV_DEBUG_REGS
954static long set_intruction_bp(struct task_struct *child,
955 struct ppc_hw_breakpoint *bp_info)
956{
957 int slot;
958 int slot1_in_use = ((child->thread.dbcr0 & DBCR0_IAC1) != 0);
959 int slot2_in_use = ((child->thread.dbcr0 & DBCR0_IAC2) != 0);
960 int slot3_in_use = ((child->thread.dbcr0 & DBCR0_IAC3) != 0);
961 int slot4_in_use = ((child->thread.dbcr0 & DBCR0_IAC4) != 0);
962
963 if (dbcr_iac_range(child) & DBCR_IAC12MODE)
964 slot2_in_use = 1;
965 if (dbcr_iac_range(child) & DBCR_IAC34MODE)
966 slot4_in_use = 1;
967
968 if (bp_info->addr >= TASK_SIZE)
969 return -EIO;
970
971 if (bp_info->addr_mode != PPC_BREAKPOINT_MODE_EXACT) {
972
973 /* Make sure range is valid. */
974 if (bp_info->addr2 >= TASK_SIZE)
975 return -EIO;
976
977 /* We need a pair of IAC regsisters */
978 if ((!slot1_in_use) && (!slot2_in_use)) {
979 slot = 1;
980 child->thread.iac1 = bp_info->addr;
981 child->thread.iac2 = bp_info->addr2;
982 child->thread.dbcr0 |= DBCR0_IAC1;
983 if (bp_info->addr_mode ==
984 PPC_BREAKPOINT_MODE_RANGE_EXCLUSIVE)
985 dbcr_iac_range(child) |= DBCR_IAC12X;
986 else
987 dbcr_iac_range(child) |= DBCR_IAC12I;
988#if CONFIG_PPC_ADV_DEBUG_IACS > 2
989 } else if ((!slot3_in_use) && (!slot4_in_use)) {
990 slot = 3;
991 child->thread.iac3 = bp_info->addr;
992 child->thread.iac4 = bp_info->addr2;
993 child->thread.dbcr0 |= DBCR0_IAC3;
994 if (bp_info->addr_mode ==
995 PPC_BREAKPOINT_MODE_RANGE_EXCLUSIVE)
996 dbcr_iac_range(child) |= DBCR_IAC34X;
997 else
998 dbcr_iac_range(child) |= DBCR_IAC34I;
999#endif
1000 } else
1001 return -ENOSPC;
1002 } else {
1003 /* We only need one. If possible leave a pair free in
1004 * case a range is needed later
1005 */
1006 if (!slot1_in_use) {
1007 /*
1008 * Don't use iac1 if iac1-iac2 are free and either
1009 * iac3 or iac4 (but not both) are free
1010 */
1011 if (slot2_in_use || (slot3_in_use == slot4_in_use)) {
1012 slot = 1;
1013 child->thread.iac1 = bp_info->addr;
1014 child->thread.dbcr0 |= DBCR0_IAC1;
1015 goto out;
1016 }
1017 }
1018 if (!slot2_in_use) {
1019 slot = 2;
1020 child->thread.iac2 = bp_info->addr;
1021 child->thread.dbcr0 |= DBCR0_IAC2;
1022#if CONFIG_PPC_ADV_DEBUG_IACS > 2
1023 } else if (!slot3_in_use) {
1024 slot = 3;
1025 child->thread.iac3 = bp_info->addr;
1026 child->thread.dbcr0 |= DBCR0_IAC3;
1027 } else if (!slot4_in_use) {
1028 slot = 4;
1029 child->thread.iac4 = bp_info->addr;
1030 child->thread.dbcr0 |= DBCR0_IAC4;
1031#endif
1032 } else
1033 return -ENOSPC;
1034 }
1035out:
1036 child->thread.dbcr0 |= DBCR0_IDM;
1037 child->thread.regs->msr |= MSR_DE;
1038
1039 return slot;
1040}
1041
1042static int del_instruction_bp(struct task_struct *child, int slot)
1043{
1044 switch (slot) {
1045 case 1:
1046 if ((child->thread.dbcr0 & DBCR0_IAC1) == 0)
1047 return -ENOENT;
1048
1049 if (dbcr_iac_range(child) & DBCR_IAC12MODE) {
1050 /* address range - clear slots 1 & 2 */
1051 child->thread.iac2 = 0;
1052 dbcr_iac_range(child) &= ~DBCR_IAC12MODE;
1053 }
1054 child->thread.iac1 = 0;
1055 child->thread.dbcr0 &= ~DBCR0_IAC1;
1056 break;
1057 case 2:
1058 if ((child->thread.dbcr0 & DBCR0_IAC2) == 0)
1059 return -ENOENT;
1060
1061 if (dbcr_iac_range(child) & DBCR_IAC12MODE)
1062 /* used in a range */
1063 return -EINVAL;
1064 child->thread.iac2 = 0;
1065 child->thread.dbcr0 &= ~DBCR0_IAC2;
1066 break;
1067#if CONFIG_PPC_ADV_DEBUG_IACS > 2
1068 case 3:
1069 if ((child->thread.dbcr0 & DBCR0_IAC3) == 0)
1070 return -ENOENT;
1071
1072 if (dbcr_iac_range(child) & DBCR_IAC34MODE) {
1073 /* address range - clear slots 3 & 4 */
1074 child->thread.iac4 = 0;
1075 dbcr_iac_range(child) &= ~DBCR_IAC34MODE;
1076 }
1077 child->thread.iac3 = 0;
1078 child->thread.dbcr0 &= ~DBCR0_IAC3;
1079 break;
1080 case 4:
1081 if ((child->thread.dbcr0 & DBCR0_IAC4) == 0)
1082 return -ENOENT;
1083
1084 if (dbcr_iac_range(child) & DBCR_IAC34MODE)
1085 /* Used in a range */
1086 return -EINVAL;
1087 child->thread.iac4 = 0;
1088 child->thread.dbcr0 &= ~DBCR0_IAC4;
1089 break;
1090#endif
1091 default:
1092 return -EINVAL;
1093 }
1094 return 0;
1095}
1096
1097static int set_dac(struct task_struct *child, struct ppc_hw_breakpoint *bp_info)
1098{
1099 int byte_enable =
1100 (bp_info->condition_mode >> PPC_BREAKPOINT_CONDITION_BE_SHIFT)
1101 & 0xf;
1102 int condition_mode =
1103 bp_info->condition_mode & PPC_BREAKPOINT_CONDITION_MODE;
1104 int slot;
1105
1106 if (byte_enable && (condition_mode == 0))
1107 return -EINVAL;
1108
1109 if (bp_info->addr >= TASK_SIZE)
1110 return -EIO;
1111
1112 if ((dbcr_dac(child) & (DBCR_DAC1R | DBCR_DAC1W)) == 0) {
1113 slot = 1;
1114 if (bp_info->trigger_type & PPC_BREAKPOINT_TRIGGER_READ)
1115 dbcr_dac(child) |= DBCR_DAC1R;
1116 if (bp_info->trigger_type & PPC_BREAKPOINT_TRIGGER_WRITE)
1117 dbcr_dac(child) |= DBCR_DAC1W;
1118 child->thread.dac1 = (unsigned long)bp_info->addr;
1119#if CONFIG_PPC_ADV_DEBUG_DVCS > 0
1120 if (byte_enable) {
1121 child->thread.dvc1 =
1122 (unsigned long)bp_info->condition_value;
1123 child->thread.dbcr2 |=
1124 ((byte_enable << DBCR2_DVC1BE_SHIFT) |
1125 (condition_mode << DBCR2_DVC1M_SHIFT));
1126 }
1127#endif
1128#ifdef CONFIG_PPC_ADV_DEBUG_DAC_RANGE
1129 } else if (child->thread.dbcr2 & DBCR2_DAC12MODE) {
1130 /* Both dac1 and dac2 are part of a range */
1131 return -ENOSPC;
1132#endif
1133 } else if ((dbcr_dac(child) & (DBCR_DAC2R | DBCR_DAC2W)) == 0) {
1134 slot = 2;
1135 if (bp_info->trigger_type & PPC_BREAKPOINT_TRIGGER_READ)
1136 dbcr_dac(child) |= DBCR_DAC2R;
1137 if (bp_info->trigger_type & PPC_BREAKPOINT_TRIGGER_WRITE)
1138 dbcr_dac(child) |= DBCR_DAC2W;
1139 child->thread.dac2 = (unsigned long)bp_info->addr;
1140#if CONFIG_PPC_ADV_DEBUG_DVCS > 0
1141 if (byte_enable) {
1142 child->thread.dvc2 =
1143 (unsigned long)bp_info->condition_value;
1144 child->thread.dbcr2 |=
1145 ((byte_enable << DBCR2_DVC2BE_SHIFT) |
1146 (condition_mode << DBCR2_DVC2M_SHIFT));
1147 }
1148#endif
1149 } else
1150 return -ENOSPC;
1151 child->thread.dbcr0 |= DBCR0_IDM;
1152 child->thread.regs->msr |= MSR_DE;
1153
1154 return slot + 4;
1155}
1156
1157static int del_dac(struct task_struct *child, int slot)
1158{
1159 if (slot == 1) {
1160 if ((dbcr_dac(child) & (DBCR_DAC1R | DBCR_DAC1W)) == 0)
1161 return -ENOENT;
1162
1163 child->thread.dac1 = 0;
1164 dbcr_dac(child) &= ~(DBCR_DAC1R | DBCR_DAC1W);
1165#ifdef CONFIG_PPC_ADV_DEBUG_DAC_RANGE
1166 if (child->thread.dbcr2 & DBCR2_DAC12MODE) {
1167 child->thread.dac2 = 0;
1168 child->thread.dbcr2 &= ~DBCR2_DAC12MODE;
1169 }
1170 child->thread.dbcr2 &= ~(DBCR2_DVC1M | DBCR2_DVC1BE);
1171#endif
1172#if CONFIG_PPC_ADV_DEBUG_DVCS > 0
1173 child->thread.dvc1 = 0;
1174#endif
1175 } else if (slot == 2) {
1176 if ((dbcr_dac(child) & (DBCR_DAC2R | DBCR_DAC2W)) == 0)
1177 return -ENOENT;
1178
1179#ifdef CONFIG_PPC_ADV_DEBUG_DAC_RANGE
1180 if (child->thread.dbcr2 & DBCR2_DAC12MODE)
1181 /* Part of a range */
1182 return -EINVAL;
1183 child->thread.dbcr2 &= ~(DBCR2_DVC2M | DBCR2_DVC2BE);
1184#endif
1185#if CONFIG_PPC_ADV_DEBUG_DVCS > 0
1186 child->thread.dvc2 = 0;
1187#endif
1188 child->thread.dac2 = 0;
1189 dbcr_dac(child) &= ~(DBCR_DAC2R | DBCR_DAC2W);
1190 } else
1191 return -EINVAL;
1192
1193 return 0;
1194}
1195#endif /* CONFIG_PPC_ADV_DEBUG_REGS */
1196
1197#ifdef CONFIG_PPC_ADV_DEBUG_DAC_RANGE
1198static int set_dac_range(struct task_struct *child,
1199 struct ppc_hw_breakpoint *bp_info)
1200{
1201 int mode = bp_info->addr_mode & PPC_BREAKPOINT_MODE_MASK;
1202
1203 /* We don't allow range watchpoints to be used with DVC */
1204 if (bp_info->condition_mode)
1205 return -EINVAL;
1206
1207 /*
1208 * Best effort to verify the address range. The user/supervisor bits
1209 * prevent trapping in kernel space, but let's fail on an obvious bad
1210 * range. The simple test on the mask is not fool-proof, and any
1211 * exclusive range will spill over into kernel space.
1212 */
1213 if (bp_info->addr >= TASK_SIZE)
1214 return -EIO;
1215 if (mode == PPC_BREAKPOINT_MODE_MASK) {
1216 /*
1217 * dac2 is a bitmask. Don't allow a mask that makes a
1218 * kernel space address from a valid dac1 value
1219 */
1220 if (~((unsigned long)bp_info->addr2) >= TASK_SIZE)
1221 return -EIO;
1222 } else {
1223 /*
1224 * For range breakpoints, addr2 must also be a valid address
1225 */
1226 if (bp_info->addr2 >= TASK_SIZE)
1227 return -EIO;
1228 }
1229
1230 if (child->thread.dbcr0 &
1231 (DBCR0_DAC1R | DBCR0_DAC1W | DBCR0_DAC2R | DBCR0_DAC2W))
1232 return -ENOSPC;
1233
1234 if (bp_info->trigger_type & PPC_BREAKPOINT_TRIGGER_READ)
1235 child->thread.dbcr0 |= (DBCR0_DAC1R | DBCR0_IDM);
1236 if (bp_info->trigger_type & PPC_BREAKPOINT_TRIGGER_WRITE)
1237 child->thread.dbcr0 |= (DBCR0_DAC1W | DBCR0_IDM);
1238 child->thread.dac1 = bp_info->addr;
1239 child->thread.dac2 = bp_info->addr2;
1240 if (mode == PPC_BREAKPOINT_MODE_RANGE_INCLUSIVE)
1241 child->thread.dbcr2 |= DBCR2_DAC12M;
1242 else if (mode == PPC_BREAKPOINT_MODE_RANGE_EXCLUSIVE)
1243 child->thread.dbcr2 |= DBCR2_DAC12MX;
1244 else /* PPC_BREAKPOINT_MODE_MASK */
1245 child->thread.dbcr2 |= DBCR2_DAC12MM;
1246 child->thread.regs->msr |= MSR_DE;
1247
1248 return 5;
1249}
1250#endif /* CONFIG_PPC_ADV_DEBUG_DAC_RANGE */
1251
1252static long ppc_set_hwdebug(struct task_struct *child,
1253 struct ppc_hw_breakpoint *bp_info)
1254{
1255 if (bp_info->version != 1)
1256 return -ENOTSUPP;
1257#ifdef CONFIG_PPC_ADV_DEBUG_REGS
1258 /*
1259 * Check for invalid flags and combinations
1260 */
1261 if ((bp_info->trigger_type == 0) ||
1262 (bp_info->trigger_type & ~(PPC_BREAKPOINT_TRIGGER_EXECUTE |
1263 PPC_BREAKPOINT_TRIGGER_RW)) ||
1264 (bp_info->addr_mode & ~PPC_BREAKPOINT_MODE_MASK) ||
1265 (bp_info->condition_mode &
1266 ~(PPC_BREAKPOINT_CONDITION_MODE |
1267 PPC_BREAKPOINT_CONDITION_BE_ALL)))
1268 return -EINVAL;
1269#if CONFIG_PPC_ADV_DEBUG_DVCS == 0
1270 if (bp_info->condition_mode != PPC_BREAKPOINT_CONDITION_NONE)
1271 return -EINVAL;
1272#endif
1273
1274 if (bp_info->trigger_type & PPC_BREAKPOINT_TRIGGER_EXECUTE) {
1275 if ((bp_info->trigger_type != PPC_BREAKPOINT_TRIGGER_EXECUTE) ||
1276 (bp_info->condition_mode != PPC_BREAKPOINT_CONDITION_NONE))
1277 return -EINVAL;
1278 return set_intruction_bp(child, bp_info);
1279 }
1280 if (bp_info->addr_mode == PPC_BREAKPOINT_MODE_EXACT)
1281 return set_dac(child, bp_info);
1282
1283#ifdef CONFIG_PPC_ADV_DEBUG_DAC_RANGE
1284 return set_dac_range(child, bp_info);
1285#else
1286 return -EINVAL;
1287#endif
1288#else /* !CONFIG_PPC_ADV_DEBUG_DVCS */
1289 /*
1290 * We only support one data breakpoint
1291 */
1292 if (((bp_info->trigger_type & PPC_BREAKPOINT_TRIGGER_RW) == 0) ||
1293 ((bp_info->trigger_type & ~PPC_BREAKPOINT_TRIGGER_RW) != 0) ||
1294 (bp_info->trigger_type != PPC_BREAKPOINT_TRIGGER_WRITE) ||
1295 (bp_info->addr_mode != PPC_BREAKPOINT_MODE_EXACT) ||
1296 (bp_info->condition_mode != PPC_BREAKPOINT_CONDITION_NONE))
1297 return -EINVAL;
1298
1299 if (child->thread.dabr)
1300 return -ENOSPC;
1301
1302 if ((unsigned long)bp_info->addr >= TASK_SIZE)
1303 return -EIO;
1304
1305 child->thread.dabr = (unsigned long)bp_info->addr;
1306
1307 return 1;
1308#endif /* !CONFIG_PPC_ADV_DEBUG_DVCS */
1309}
1310
1311static long ppc_del_hwdebug(struct task_struct *child, long addr, long data)
1312{
1313#ifdef CONFIG_PPC_ADV_DEBUG_REGS
1314 int rc;
1315
1316 if (data <= 4)
1317 rc = del_instruction_bp(child, (int)data);
1318 else
1319 rc = del_dac(child, (int)data - 4);
1320
1321 if (!rc) {
1322 if (!DBCR_ACTIVE_EVENTS(child->thread.dbcr0,
1323 child->thread.dbcr1)) {
1324 child->thread.dbcr0 &= ~DBCR0_IDM;
1325 child->thread.regs->msr &= ~MSR_DE;
1326 }
1327 }
1328 return rc;
1329#else
1330 if (data != 1)
1331 return -EINVAL;
1332 if (child->thread.dabr == 0)
1333 return -ENOENT;
1334
1335 child->thread.dabr = 0;
1336
1337 return 0;
1338#endif
1339}
1340
842/* 1341/*
843 * Here are the old "legacy" powerpc specific getregs/setregs ptrace calls, 1342 * Here are the old "legacy" powerpc specific getregs/setregs ptrace calls,
844 * we mark them as obsolete now, they will be removed in a future version 1343 * we mark them as obsolete now, they will be removed in a future version
@@ -932,13 +1431,77 @@ long arch_ptrace(struct task_struct *child, long request, long addr, long data)
932 break; 1431 break;
933 } 1432 }
934 1433
1434 case PPC_PTRACE_GETHWDBGINFO: {
1435 struct ppc_debug_info dbginfo;
1436
1437 dbginfo.version = 1;
1438#ifdef CONFIG_PPC_ADV_DEBUG_REGS
1439 dbginfo.num_instruction_bps = CONFIG_PPC_ADV_DEBUG_IACS;
1440 dbginfo.num_data_bps = CONFIG_PPC_ADV_DEBUG_DACS;
1441 dbginfo.num_condition_regs = CONFIG_PPC_ADV_DEBUG_DVCS;
1442 dbginfo.data_bp_alignment = 4;
1443 dbginfo.sizeof_condition = 4;
1444 dbginfo.features = PPC_DEBUG_FEATURE_INSN_BP_RANGE |
1445 PPC_DEBUG_FEATURE_INSN_BP_MASK;
1446#ifdef CONFIG_PPC_ADV_DEBUG_DAC_RANGE
1447 dbginfo.features |=
1448 PPC_DEBUG_FEATURE_DATA_BP_RANGE |
1449 PPC_DEBUG_FEATURE_DATA_BP_MASK;
1450#endif
1451#else /* !CONFIG_PPC_ADV_DEBUG_REGS */
1452 dbginfo.num_instruction_bps = 0;
1453 dbginfo.num_data_bps = 1;
1454 dbginfo.num_condition_regs = 0;
1455#ifdef CONFIG_PPC64
1456 dbginfo.data_bp_alignment = 8;
1457#else
1458 dbginfo.data_bp_alignment = 4;
1459#endif
1460 dbginfo.sizeof_condition = 0;
1461 dbginfo.features = 0;
1462#endif /* CONFIG_PPC_ADV_DEBUG_REGS */
1463
1464 if (!access_ok(VERIFY_WRITE, data,
1465 sizeof(struct ppc_debug_info)))
1466 return -EFAULT;
1467 ret = __copy_to_user((struct ppc_debug_info __user *)data,
1468 &dbginfo, sizeof(struct ppc_debug_info)) ?
1469 -EFAULT : 0;
1470 break;
1471 }
1472
1473 case PPC_PTRACE_SETHWDEBUG: {
1474 struct ppc_hw_breakpoint bp_info;
1475
1476 if (!access_ok(VERIFY_READ, data,
1477 sizeof(struct ppc_hw_breakpoint)))
1478 return -EFAULT;
1479 ret = __copy_from_user(&bp_info,
1480 (struct ppc_hw_breakpoint __user *)data,
1481 sizeof(struct ppc_hw_breakpoint)) ?
1482 -EFAULT : 0;
1483 if (!ret)
1484 ret = ppc_set_hwdebug(child, &bp_info);
1485 break;
1486 }
1487
1488 case PPC_PTRACE_DELHWDEBUG: {
1489 ret = ppc_del_hwdebug(child, addr, data);
1490 break;
1491 }
1492
935 case PTRACE_GET_DEBUGREG: { 1493 case PTRACE_GET_DEBUGREG: {
936 ret = -EINVAL; 1494 ret = -EINVAL;
937 /* We only support one DABR and no IABRS at the moment */ 1495 /* We only support one DABR and no IABRS at the moment */
938 if (addr > 0) 1496 if (addr > 0)
939 break; 1497 break;
1498#ifdef CONFIG_PPC_ADV_DEBUG_REGS
1499 ret = put_user(child->thread.dac1,
1500 (unsigned long __user *)data);
1501#else
940 ret = put_user(child->thread.dabr, 1502 ret = put_user(child->thread.dabr,
941 (unsigned long __user *)data); 1503 (unsigned long __user *)data);
1504#endif
942 break; 1505 break;
943 } 1506 }
944 1507
diff --git a/arch/powerpc/kernel/rtas.c b/arch/powerpc/kernel/rtas.c
index fd0d29493fd6..d0516dbee762 100644
--- a/arch/powerpc/kernel/rtas.c
+++ b/arch/powerpc/kernel/rtas.c
@@ -22,7 +22,8 @@
22#include <linux/smp.h> 22#include <linux/smp.h>
23#include <linux/completion.h> 23#include <linux/completion.h>
24#include <linux/cpumask.h> 24#include <linux/cpumask.h>
25#include <linux/lmb.h> 25#include <linux/memblock.h>
26#include <linux/slab.h>
26 27
27#include <asm/prom.h> 28#include <asm/prom.h>
28#include <asm/rtas.h> 29#include <asm/rtas.h>
@@ -690,10 +691,14 @@ void rtas_os_term(char *str)
690{ 691{
691 int status; 692 int status;
692 693
693 if (panic_timeout) 694 /*
694 return; 695 * Firmware with the ibm,extended-os-term property is guaranteed
695 696 * to always return from an ibm,os-term call. Earlier versions without
696 if (RTAS_UNKNOWN_SERVICE == rtas_token("ibm,os-term")) 697 * this property may terminate the partition which we want to avoid
698 * since it interferes with panic_timeout.
699 */
700 if (RTAS_UNKNOWN_SERVICE == rtas_token("ibm,os-term") ||
701 RTAS_UNKNOWN_SERVICE == rtas_token("ibm,extended-os-term"))
697 return; 702 return;
698 703
699 snprintf(rtas_os_term_buf, 2048, "OS panic: %s", str); 704 snprintf(rtas_os_term_buf, 2048, "OS panic: %s", str);
@@ -704,8 +709,7 @@ void rtas_os_term(char *str)
704 } while (rtas_busy_delay(status)); 709 } while (rtas_busy_delay(status));
705 710
706 if (status != 0) 711 if (status != 0)
707 printk(KERN_EMERG "ibm,os-term call failed %d\n", 712 printk(KERN_EMERG "ibm,os-term call failed %d\n", status);
708 status);
709} 713}
710 714
711static int ibm_suspend_me_token = RTAS_UNKNOWN_SERVICE; 715static int ibm_suspend_me_token = RTAS_UNKNOWN_SERVICE;
@@ -930,11 +934,11 @@ void __init rtas_initialize(void)
930 */ 934 */
931#ifdef CONFIG_PPC64 935#ifdef CONFIG_PPC64
932 if (machine_is(pseries) && firmware_has_feature(FW_FEATURE_LPAR)) { 936 if (machine_is(pseries) && firmware_has_feature(FW_FEATURE_LPAR)) {
933 rtas_region = min(lmb.rmo_size, RTAS_INSTANTIATE_MAX); 937 rtas_region = min(memblock.rmo_size, RTAS_INSTANTIATE_MAX);
934 ibm_suspend_me_token = rtas_token("ibm,suspend-me"); 938 ibm_suspend_me_token = rtas_token("ibm,suspend-me");
935 } 939 }
936#endif 940#endif
937 rtas_rmo_buf = lmb_alloc_base(RTAS_RMOBUF_MAX, PAGE_SIZE, rtas_region); 941 rtas_rmo_buf = memblock_alloc_base(RTAS_RMOBUF_MAX, PAGE_SIZE, rtas_region);
938 942
939#ifdef CONFIG_RTAS_ERROR_LOGGING 943#ifdef CONFIG_RTAS_ERROR_LOGGING
940 rtas_last_error_token = rtas_token("rtas-last-error"); 944 rtas_last_error_token = rtas_token("rtas-last-error");
diff --git a/arch/powerpc/kernel/rtas_flash.c b/arch/powerpc/kernel/rtas_flash.c
index a85117d5c9a4..67a84d8f118d 100644
--- a/arch/powerpc/kernel/rtas_flash.c
+++ b/arch/powerpc/kernel/rtas_flash.c
@@ -15,6 +15,7 @@
15 15
16#include <linux/module.h> 16#include <linux/module.h>
17#include <linux/init.h> 17#include <linux/init.h>
18#include <linux/slab.h>
18#include <linux/proc_fs.h> 19#include <linux/proc_fs.h>
19#include <asm/delay.h> 20#include <asm/delay.h>
20#include <asm/uaccess.h> 21#include <asm/uaccess.h>
@@ -93,12 +94,8 @@ struct flash_block_list {
93 struct flash_block_list *next; 94 struct flash_block_list *next;
94 struct flash_block blocks[FLASH_BLOCKS_PER_NODE]; 95 struct flash_block blocks[FLASH_BLOCKS_PER_NODE];
95}; 96};
96struct flash_block_list_header { /* just the header of flash_block_list */
97 unsigned long num_blocks;
98 struct flash_block_list *next;
99};
100 97
101static struct flash_block_list_header rtas_firmware_flash_list = {0, NULL}; 98static struct flash_block_list *rtas_firmware_flash_list;
102 99
103/* Use slab cache to guarantee 4k alignment */ 100/* Use slab cache to guarantee 4k alignment */
104static struct kmem_cache *flash_block_cache = NULL; 101static struct kmem_cache *flash_block_cache = NULL;
@@ -107,13 +104,14 @@ static struct kmem_cache *flash_block_cache = NULL;
107 104
108/* Local copy of the flash block list. 105/* Local copy of the flash block list.
109 * We only allow one open of the flash proc file and create this 106 * We only allow one open of the flash proc file and create this
110 * list as we go. This list will be put in the 107 * list as we go. The rtas_firmware_flash_list varable will be
111 * rtas_firmware_flash_list var once it is fully read. 108 * set once the data is fully read.
112 * 109 *
113 * For convenience as we build the list we use virtual addrs, 110 * For convenience as we build the list we use virtual addrs,
114 * we do not fill in the version number, and the length field 111 * we do not fill in the version number, and the length field
115 * is treated as the number of entries currently in the block 112 * is treated as the number of entries currently in the block
116 * (i.e. not a byte count). This is all fixed on release. 113 * (i.e. not a byte count). This is all fixed when calling
114 * the flash routine.
117 */ 115 */
118 116
119/* Status int must be first member of struct */ 117/* Status int must be first member of struct */
@@ -200,16 +198,16 @@ static int rtas_flash_release(struct inode *inode, struct file *file)
200 if (uf->flist) { 198 if (uf->flist) {
201 /* File was opened in write mode for a new flash attempt */ 199 /* File was opened in write mode for a new flash attempt */
202 /* Clear saved list */ 200 /* Clear saved list */
203 if (rtas_firmware_flash_list.next) { 201 if (rtas_firmware_flash_list) {
204 free_flash_list(rtas_firmware_flash_list.next); 202 free_flash_list(rtas_firmware_flash_list);
205 rtas_firmware_flash_list.next = NULL; 203 rtas_firmware_flash_list = NULL;
206 } 204 }
207 205
208 if (uf->status != FLASH_AUTH) 206 if (uf->status != FLASH_AUTH)
209 uf->status = flash_list_valid(uf->flist); 207 uf->status = flash_list_valid(uf->flist);
210 208
211 if (uf->status == FLASH_IMG_READY) 209 if (uf->status == FLASH_IMG_READY)
212 rtas_firmware_flash_list.next = uf->flist; 210 rtas_firmware_flash_list = uf->flist;
213 else 211 else
214 free_flash_list(uf->flist); 212 free_flash_list(uf->flist);
215 213
@@ -592,7 +590,7 @@ static void rtas_flash_firmware(int reboot_type)
592 unsigned long rtas_block_list; 590 unsigned long rtas_block_list;
593 int i, status, update_token; 591 int i, status, update_token;
594 592
595 if (rtas_firmware_flash_list.next == NULL) 593 if (rtas_firmware_flash_list == NULL)
596 return; /* nothing to do */ 594 return; /* nothing to do */
597 595
598 if (reboot_type != SYS_RESTART) { 596 if (reboot_type != SYS_RESTART) {
@@ -609,20 +607,25 @@ static void rtas_flash_firmware(int reboot_type)
609 return; 607 return;
610 } 608 }
611 609
612 /* NOTE: the "first" block list is a global var with no data 610 /*
613 * blocks in the kernel data segment. We do this because 611 * NOTE: the "first" block must be under 4GB, so we create
614 * we want to ensure this block_list addr is under 4GB. 612 * an entry with no data blocks in the reserved buffer in
613 * the kernel data segment.
615 */ 614 */
616 rtas_firmware_flash_list.num_blocks = 0; 615 spin_lock(&rtas_data_buf_lock);
617 flist = (struct flash_block_list *)&rtas_firmware_flash_list; 616 flist = (struct flash_block_list *)&rtas_data_buf[0];
617 flist->num_blocks = 0;
618 flist->next = rtas_firmware_flash_list;
618 rtas_block_list = virt_to_abs(flist); 619 rtas_block_list = virt_to_abs(flist);
619 if (rtas_block_list >= 4UL*1024*1024*1024) { 620 if (rtas_block_list >= 4UL*1024*1024*1024) {
620 printk(KERN_ALERT "FLASH: kernel bug...flash list header addr above 4GB\n"); 621 printk(KERN_ALERT "FLASH: kernel bug...flash list header addr above 4GB\n");
622 spin_unlock(&rtas_data_buf_lock);
621 return; 623 return;
622 } 624 }
623 625
624 printk(KERN_ALERT "FLASH: preparing saved firmware image for flash\n"); 626 printk(KERN_ALERT "FLASH: preparing saved firmware image for flash\n");
625 /* Update the block_list in place. */ 627 /* Update the block_list in place. */
628 rtas_firmware_flash_list = NULL; /* too hard to backout on error */
626 image_size = 0; 629 image_size = 0;
627 for (f = flist; f; f = next) { 630 for (f = flist; f; f = next) {
628 /* Translate data addrs to absolute */ 631 /* Translate data addrs to absolute */
@@ -663,6 +666,7 @@ static void rtas_flash_firmware(int reboot_type)
663 printk(KERN_ALERT "FLASH: unknown flash return code %d\n", status); 666 printk(KERN_ALERT "FLASH: unknown flash return code %d\n", status);
664 break; 667 break;
665 } 668 }
669 spin_unlock(&rtas_data_buf_lock);
666} 670}
667 671
668static void remove_flash_pde(struct proc_dir_entry *dp) 672static void remove_flash_pde(struct proc_dir_entry *dp)
diff --git a/arch/powerpc/kernel/rtasd.c b/arch/powerpc/kernel/rtasd.c
index 2e4832ab2108..638883e23e3a 100644
--- a/arch/powerpc/kernel/rtasd.c
+++ b/arch/powerpc/kernel/rtasd.c
@@ -20,6 +20,7 @@
20#include <linux/spinlock.h> 20#include <linux/spinlock.h>
21#include <linux/cpu.h> 21#include <linux/cpu.h>
22#include <linux/workqueue.h> 22#include <linux/workqueue.h>
23#include <linux/slab.h>
23 24
24#include <asm/uaccess.h> 25#include <asm/uaccess.h>
25#include <asm/io.h> 26#include <asm/io.h>
@@ -410,9 +411,9 @@ static void rtas_event_scan(struct work_struct *w)
410 411
411 get_online_cpus(); 412 get_online_cpus();
412 413
413 cpu = next_cpu(smp_processor_id(), cpu_online_map); 414 cpu = cpumask_next(smp_processor_id(), cpu_online_mask);
414 if (cpu == NR_CPUS) { 415 if (cpu >= nr_cpu_ids) {
415 cpu = first_cpu(cpu_online_map); 416 cpu = cpumask_first(cpu_online_mask);
416 417
417 if (first_pass) { 418 if (first_pass) {
418 first_pass = 0; 419 first_pass = 0;
@@ -465,8 +466,8 @@ static void start_event_scan(void)
465 /* Retreive errors from nvram if any */ 466 /* Retreive errors from nvram if any */
466 retreive_nvram_error_log(); 467 retreive_nvram_error_log();
467 468
468 schedule_delayed_work_on(first_cpu(cpu_online_map), &event_scan_work, 469 schedule_delayed_work_on(cpumask_first(cpu_online_mask),
469 event_scan_delay); 470 &event_scan_work, event_scan_delay);
470} 471}
471 472
472static int __init rtas_init(void) 473static int __init rtas_init(void)
@@ -489,6 +490,12 @@ static int __init rtas_init(void)
489 return -ENODEV; 490 return -ENODEV;
490 } 491 }
491 492
493 if (!rtas_event_scan_rate) {
494 /* Broken firmware: take a rate of zero to mean don't scan */
495 printk(KERN_DEBUG "rtasd: scan rate is 0, not scanning\n");
496 return 0;
497 }
498
492 /* Make room for the sequence number */ 499 /* Make room for the sequence number */
493 rtas_error_log_max = rtas_get_error_log_max(); 500 rtas_error_log_max = rtas_get_error_log_max();
494 rtas_error_log_buffer_max = rtas_error_log_max + sizeof(int); 501 rtas_error_log_buffer_max = rtas_error_log_max + sizeof(int);
diff --git a/arch/powerpc/kernel/setup-common.c b/arch/powerpc/kernel/setup-common.c
index 03dd6a248198..b7e6c7e193ae 100644
--- a/arch/powerpc/kernel/setup-common.c
+++ b/arch/powerpc/kernel/setup-common.c
@@ -33,9 +33,10 @@
33#include <linux/serial_8250.h> 33#include <linux/serial_8250.h>
34#include <linux/debugfs.h> 34#include <linux/debugfs.h>
35#include <linux/percpu.h> 35#include <linux/percpu.h>
36#include <linux/lmb.h> 36#include <linux/memblock.h>
37#include <linux/of_platform.h> 37#include <linux/of_platform.h>
38#include <asm/io.h> 38#include <asm/io.h>
39#include <asm/paca.h>
39#include <asm/prom.h> 40#include <asm/prom.h>
40#include <asm/processor.h> 41#include <asm/processor.h>
41#include <asm/vdso_datapage.h> 42#include <asm/vdso_datapage.h>
@@ -160,45 +161,44 @@ extern u32 cpu_temp_both(unsigned long cpu);
160DEFINE_PER_CPU(unsigned int, cpu_pvr); 161DEFINE_PER_CPU(unsigned int, cpu_pvr);
161#endif 162#endif
162 163
163static int show_cpuinfo(struct seq_file *m, void *v) 164static void show_cpuinfo_summary(struct seq_file *m)
164{ 165{
165 unsigned long cpu_id = (unsigned long)v - 1; 166 struct device_node *root;
166 unsigned int pvr; 167 const char *model = NULL;
167 unsigned short maj;
168 unsigned short min;
169
170 if (cpu_id == NR_CPUS) {
171 struct device_node *root;
172 const char *model = NULL;
173#if defined(CONFIG_SMP) && defined(CONFIG_PPC32) 168#if defined(CONFIG_SMP) && defined(CONFIG_PPC32)
174 unsigned long bogosum = 0; 169 unsigned long bogosum = 0;
175 int i; 170 int i;
176 for_each_online_cpu(i) 171 for_each_online_cpu(i)
177 bogosum += loops_per_jiffy; 172 bogosum += loops_per_jiffy;
178 seq_printf(m, "total bogomips\t: %lu.%02lu\n", 173 seq_printf(m, "total bogomips\t: %lu.%02lu\n",
179 bogosum/(500000/HZ), bogosum/(5000/HZ) % 100); 174 bogosum/(500000/HZ), bogosum/(5000/HZ) % 100);
180#endif /* CONFIG_SMP && CONFIG_PPC32 */ 175#endif /* CONFIG_SMP && CONFIG_PPC32 */
181 seq_printf(m, "timebase\t: %lu\n", ppc_tb_freq); 176 seq_printf(m, "timebase\t: %lu\n", ppc_tb_freq);
182 if (ppc_md.name) 177 if (ppc_md.name)
183 seq_printf(m, "platform\t: %s\n", ppc_md.name); 178 seq_printf(m, "platform\t: %s\n", ppc_md.name);
184 root = of_find_node_by_path("/"); 179 root = of_find_node_by_path("/");
185 if (root) 180 if (root)
186 model = of_get_property(root, "model", NULL); 181 model = of_get_property(root, "model", NULL);
187 if (model) 182 if (model)
188 seq_printf(m, "model\t\t: %s\n", model); 183 seq_printf(m, "model\t\t: %s\n", model);
189 of_node_put(root); 184 of_node_put(root);
190 185
191 if (ppc_md.show_cpuinfo != NULL) 186 if (ppc_md.show_cpuinfo != NULL)
192 ppc_md.show_cpuinfo(m); 187 ppc_md.show_cpuinfo(m);
193 188
194#ifdef CONFIG_PPC32 189#ifdef CONFIG_PPC32
195 /* Display the amount of memory */ 190 /* Display the amount of memory */
196 seq_printf(m, "Memory\t\t: %d MB\n", 191 seq_printf(m, "Memory\t\t: %d MB\n",
197 (unsigned int)(total_memory / (1024 * 1024))); 192 (unsigned int)(total_memory / (1024 * 1024)));
198#endif 193#endif
194}
199 195
200 return 0; 196static int show_cpuinfo(struct seq_file *m, void *v)
201 } 197{
198 unsigned long cpu_id = (unsigned long)v - 1;
199 unsigned int pvr;
200 unsigned short maj;
201 unsigned short min;
202 202
203 /* We only show online cpus: disable preempt (overzealous, I 203 /* We only show online cpus: disable preempt (overzealous, I
204 * knew) to prevent cpu going down. */ 204 * knew) to prevent cpu going down. */
@@ -307,19 +307,28 @@ static int show_cpuinfo(struct seq_file *m, void *v)
307#endif 307#endif
308 308
309 preempt_enable(); 309 preempt_enable();
310
311 /* If this is the last cpu, print the summary */
312 if (cpumask_next(cpu_id, cpu_online_mask) >= nr_cpu_ids)
313 show_cpuinfo_summary(m);
314
310 return 0; 315 return 0;
311} 316}
312 317
313static void *c_start(struct seq_file *m, loff_t *pos) 318static void *c_start(struct seq_file *m, loff_t *pos)
314{ 319{
315 unsigned long i = *pos; 320 if (*pos == 0) /* just in case, cpu 0 is not the first */
316 321 *pos = cpumask_first(cpu_online_mask);
317 return i <= NR_CPUS ? (void *)(i + 1) : NULL; 322 else
323 *pos = cpumask_next(*pos - 1, cpu_online_mask);
324 if ((*pos) < nr_cpu_ids)
325 return (void *)(unsigned long)(*pos + 1);
326 return NULL;
318} 327}
319 328
320static void *c_next(struct seq_file *m, void *v, loff_t *pos) 329static void *c_next(struct seq_file *m, void *v, loff_t *pos)
321{ 330{
322 ++*pos; 331 (*pos)++;
323 return c_start(m, pos); 332 return c_start(m, pos);
324} 333}
325 334
@@ -385,14 +394,14 @@ static void __init cpu_init_thread_core_maps(int tpc)
385 394
386/** 395/**
387 * setup_cpu_maps - initialize the following cpu maps: 396 * setup_cpu_maps - initialize the following cpu maps:
388 * cpu_possible_map 397 * cpu_possible_mask
389 * cpu_present_map 398 * cpu_present_mask
390 * 399 *
391 * Having the possible map set up early allows us to restrict allocations 400 * Having the possible map set up early allows us to restrict allocations
392 * of things like irqstacks to num_possible_cpus() rather than NR_CPUS. 401 * of things like irqstacks to num_possible_cpus() rather than NR_CPUS.
393 * 402 *
394 * We do not initialize the online map here; cpus set their own bits in 403 * We do not initialize the online map here; cpus set their own bits in
395 * cpu_online_map as they come up. 404 * cpu_online_mask as they come up.
396 * 405 *
397 * This function is valid only for Open Firmware systems. finish_device_tree 406 * This function is valid only for Open Firmware systems. finish_device_tree
398 * must be called before using this. 407 * must be called before using this.
@@ -493,6 +502,8 @@ void __init smp_setup_cpu_maps(void)
493 * here will have to be reworked 502 * here will have to be reworked
494 */ 503 */
495 cpu_init_thread_core_maps(nthreads); 504 cpu_init_thread_core_maps(nthreads);
505
506 free_unused_pacas();
496} 507}
497#endif /* CONFIG_SMP */ 508#endif /* CONFIG_SMP */
498 509
diff --git a/arch/powerpc/kernel/setup_32.c b/arch/powerpc/kernel/setup_32.c
index b152de3e64d4..a10ffc85ada7 100644
--- a/arch/powerpc/kernel/setup_32.c
+++ b/arch/powerpc/kernel/setup_32.c
@@ -16,7 +16,7 @@
16#include <linux/root_dev.h> 16#include <linux/root_dev.h>
17#include <linux/cpu.h> 17#include <linux/cpu.h>
18#include <linux/console.h> 18#include <linux/console.h>
19#include <linux/lmb.h> 19#include <linux/memblock.h>
20 20
21#include <asm/io.h> 21#include <asm/io.h>
22#include <asm/prom.h> 22#include <asm/prom.h>
@@ -39,7 +39,6 @@
39#include <asm/serial.h> 39#include <asm/serial.h>
40#include <asm/udbg.h> 40#include <asm/udbg.h>
41#include <asm/mmu_context.h> 41#include <asm/mmu_context.h>
42#include <asm/swiotlb.h>
43 42
44#include "setup.h" 43#include "setup.h"
45 44
@@ -242,23 +241,19 @@ int __init ppc_init(void)
242 241
243arch_initcall(ppc_init); 242arch_initcall(ppc_init);
244 243
245#ifdef CONFIG_IRQSTACKS
246static void __init irqstack_early_init(void) 244static void __init irqstack_early_init(void)
247{ 245{
248 unsigned int i; 246 unsigned int i;
249 247
250 /* interrupt stacks must be in lowmem, we get that for free on ppc32 248 /* interrupt stacks must be in lowmem, we get that for free on ppc32
251 * as the lmb is limited to lowmem by LMB_REAL_LIMIT */ 249 * as the memblock is limited to lowmem by MEMBLOCK_REAL_LIMIT */
252 for_each_possible_cpu(i) { 250 for_each_possible_cpu(i) {
253 softirq_ctx[i] = (struct thread_info *) 251 softirq_ctx[i] = (struct thread_info *)
254 __va(lmb_alloc(THREAD_SIZE, THREAD_SIZE)); 252 __va(memblock_alloc(THREAD_SIZE, THREAD_SIZE));
255 hardirq_ctx[i] = (struct thread_info *) 253 hardirq_ctx[i] = (struct thread_info *)
256 __va(lmb_alloc(THREAD_SIZE, THREAD_SIZE)); 254 __va(memblock_alloc(THREAD_SIZE, THREAD_SIZE));
257 } 255 }
258} 256}
259#else
260#define irqstack_early_init()
261#endif
262 257
263#if defined(CONFIG_BOOKE) || defined(CONFIG_40x) 258#if defined(CONFIG_BOOKE) || defined(CONFIG_40x)
264static void __init exc_lvl_early_init(void) 259static void __init exc_lvl_early_init(void)
@@ -266,15 +261,15 @@ static void __init exc_lvl_early_init(void)
266 unsigned int i; 261 unsigned int i;
267 262
268 /* interrupt stacks must be in lowmem, we get that for free on ppc32 263 /* interrupt stacks must be in lowmem, we get that for free on ppc32
269 * as the lmb is limited to lowmem by LMB_REAL_LIMIT */ 264 * as the memblock is limited to lowmem by MEMBLOCK_REAL_LIMIT */
270 for_each_possible_cpu(i) { 265 for_each_possible_cpu(i) {
271 critirq_ctx[i] = (struct thread_info *) 266 critirq_ctx[i] = (struct thread_info *)
272 __va(lmb_alloc(THREAD_SIZE, THREAD_SIZE)); 267 __va(memblock_alloc(THREAD_SIZE, THREAD_SIZE));
273#ifdef CONFIG_BOOKE 268#ifdef CONFIG_BOOKE
274 dbgirq_ctx[i] = (struct thread_info *) 269 dbgirq_ctx[i] = (struct thread_info *)
275 __va(lmb_alloc(THREAD_SIZE, THREAD_SIZE)); 270 __va(memblock_alloc(THREAD_SIZE, THREAD_SIZE));
276 mcheckirq_ctx[i] = (struct thread_info *) 271 mcheckirq_ctx[i] = (struct thread_info *)
277 __va(lmb_alloc(THREAD_SIZE, THREAD_SIZE)); 272 __va(memblock_alloc(THREAD_SIZE, THREAD_SIZE));
278#endif 273#endif
279 } 274 }
280} 275}
@@ -343,11 +338,6 @@ void __init setup_arch(char **cmdline_p)
343 ppc_md.setup_arch(); 338 ppc_md.setup_arch();
344 if ( ppc_md.progress ) ppc_md.progress("arch: exit", 0x3eab); 339 if ( ppc_md.progress ) ppc_md.progress("arch: exit", 0x3eab);
345 340
346#ifdef CONFIG_SWIOTLB
347 if (ppc_swiotlb_enable)
348 swiotlb_init(1);
349#endif
350
351 paging_init(); 341 paging_init();
352 342
353 /* Initialize the MMU context management stuff */ 343 /* Initialize the MMU context management stuff */
diff --git a/arch/powerpc/kernel/setup_64.c b/arch/powerpc/kernel/setup_64.c
index 6568406b2a30..d135f93cb0f6 100644
--- a/arch/powerpc/kernel/setup_64.c
+++ b/arch/powerpc/kernel/setup_64.c
@@ -34,7 +34,7 @@
34#include <linux/bootmem.h> 34#include <linux/bootmem.h>
35#include <linux/pci.h> 35#include <linux/pci.h>
36#include <linux/lockdep.h> 36#include <linux/lockdep.h>
37#include <linux/lmb.h> 37#include <linux/memblock.h>
38#include <asm/io.h> 38#include <asm/io.h>
39#include <asm/kdump.h> 39#include <asm/kdump.h>
40#include <asm/prom.h> 40#include <asm/prom.h>
@@ -61,7 +61,6 @@
61#include <asm/xmon.h> 61#include <asm/xmon.h>
62#include <asm/udbg.h> 62#include <asm/udbg.h>
63#include <asm/kexec.h> 63#include <asm/kexec.h>
64#include <asm/swiotlb.h>
65#include <asm/mmu_context.h> 64#include <asm/mmu_context.h>
66 65
67#include "setup.h" 66#include "setup.h"
@@ -144,9 +143,9 @@ early_param("smt-enabled", early_smt_enabled);
144#endif /* CONFIG_SMP */ 143#endif /* CONFIG_SMP */
145 144
146/* Put the paca pointer into r13 and SPRG_PACA */ 145/* Put the paca pointer into r13 and SPRG_PACA */
147void __init setup_paca(int cpu) 146static void __init setup_paca(struct paca_struct *new_paca)
148{ 147{
149 local_paca = &paca[cpu]; 148 local_paca = new_paca;
150 mtspr(SPRN_SPRG_PACA, local_paca); 149 mtspr(SPRN_SPRG_PACA, local_paca);
151#ifdef CONFIG_PPC_BOOK3E 150#ifdef CONFIG_PPC_BOOK3E
152 mtspr(SPRN_SPRG_TLB_EXFRAME, local_paca->extlb); 151 mtspr(SPRN_SPRG_TLB_EXFRAME, local_paca->extlb);
@@ -159,7 +158,7 @@ void __init setup_paca(int cpu)
159 * the CPU that ignores the top 2 bits of the address in real 158 * the CPU that ignores the top 2 bits of the address in real
160 * mode so we can access kernel globals normally provided we 159 * mode so we can access kernel globals normally provided we
161 * only toy with things in the RMO region. From here, we do 160 * only toy with things in the RMO region. From here, we do
162 * some early parsing of the device-tree to setup out LMB 161 * some early parsing of the device-tree to setup out MEMBLOCK
163 * data structures, and allocate & initialize the hash table 162 * data structures, and allocate & initialize the hash table
164 * and segment tables so we can start running with translation 163 * and segment tables so we can start running with translation
165 * enabled. 164 * enabled.
@@ -176,14 +175,12 @@ void __init early_setup(unsigned long dt_ptr)
176{ 175{
177 /* -------- printk is _NOT_ safe to use here ! ------- */ 176 /* -------- printk is _NOT_ safe to use here ! ------- */
178 177
179 /* Fill in any unititialised pacas */
180 initialise_pacas();
181
182 /* Identify CPU type */ 178 /* Identify CPU type */
183 identify_cpu(0, mfspr(SPRN_PVR)); 179 identify_cpu(0, mfspr(SPRN_PVR));
184 180
185 /* Assume we're on cpu 0 for now. Don't write to the paca yet! */ 181 /* Assume we're on cpu 0 for now. Don't write to the paca yet! */
186 setup_paca(0); 182 initialise_paca(&boot_paca, 0);
183 setup_paca(&boot_paca);
187 184
188 /* Initialize lockdep early or else spinlocks will blow */ 185 /* Initialize lockdep early or else spinlocks will blow */
189 lockdep_init(); 186 lockdep_init();
@@ -203,7 +200,7 @@ void __init early_setup(unsigned long dt_ptr)
203 early_init_devtree(__va(dt_ptr)); 200 early_init_devtree(__va(dt_ptr));
204 201
205 /* Now we know the logical id of our boot cpu, setup the paca. */ 202 /* Now we know the logical id of our boot cpu, setup the paca. */
206 setup_paca(boot_cpuid); 203 setup_paca(&paca[boot_cpuid]);
207 204
208 /* Fix up paca fields required for the boot cpu */ 205 /* Fix up paca fields required for the boot cpu */
209 get_paca()->cpu_start = 1; 206 get_paca()->cpu_start = 1;
@@ -407,7 +404,7 @@ void __init setup_system(void)
407 404
408 printk("-----------------------------------------------------\n"); 405 printk("-----------------------------------------------------\n");
409 printk("ppc64_pft_size = 0x%llx\n", ppc64_pft_size); 406 printk("ppc64_pft_size = 0x%llx\n", ppc64_pft_size);
410 printk("physicalMemorySize = 0x%llx\n", lmb_phys_mem_size()); 407 printk("physicalMemorySize = 0x%llx\n", memblock_phys_mem_size());
411 if (ppc64_caches.dline_size != 0x80) 408 if (ppc64_caches.dline_size != 0x80)
412 printk("ppc64_caches.dcache_line_size = 0x%x\n", 409 printk("ppc64_caches.dcache_line_size = 0x%x\n",
413 ppc64_caches.dline_size); 410 ppc64_caches.dline_size);
@@ -427,9 +424,17 @@ void __init setup_system(void)
427 DBG(" <- setup_system()\n"); 424 DBG(" <- setup_system()\n");
428} 425}
429 426
430#ifdef CONFIG_IRQSTACKS 427static u64 slb0_limit(void)
428{
429 if (cpu_has_feature(CPU_FTR_1T_SEGMENT)) {
430 return 1UL << SID_SHIFT_1T;
431 }
432 return 1UL << SID_SHIFT;
433}
434
431static void __init irqstack_early_init(void) 435static void __init irqstack_early_init(void)
432{ 436{
437 u64 limit = slb0_limit();
433 unsigned int i; 438 unsigned int i;
434 439
435 /* 440 /*
@@ -438,16 +443,13 @@ static void __init irqstack_early_init(void)
438 */ 443 */
439 for_each_possible_cpu(i) { 444 for_each_possible_cpu(i) {
440 softirq_ctx[i] = (struct thread_info *) 445 softirq_ctx[i] = (struct thread_info *)
441 __va(lmb_alloc_base(THREAD_SIZE, 446 __va(memblock_alloc_base(THREAD_SIZE,
442 THREAD_SIZE, 0x10000000)); 447 THREAD_SIZE, limit));
443 hardirq_ctx[i] = (struct thread_info *) 448 hardirq_ctx[i] = (struct thread_info *)
444 __va(lmb_alloc_base(THREAD_SIZE, 449 __va(memblock_alloc_base(THREAD_SIZE,
445 THREAD_SIZE, 0x10000000)); 450 THREAD_SIZE, limit));
446 } 451 }
447} 452}
448#else
449#define irqstack_early_init()
450#endif
451 453
452#ifdef CONFIG_PPC_BOOK3E 454#ifdef CONFIG_PPC_BOOK3E
453static void __init exc_lvl_early_init(void) 455static void __init exc_lvl_early_init(void)
@@ -456,11 +458,11 @@ static void __init exc_lvl_early_init(void)
456 458
457 for_each_possible_cpu(i) { 459 for_each_possible_cpu(i) {
458 critirq_ctx[i] = (struct thread_info *) 460 critirq_ctx[i] = (struct thread_info *)
459 __va(lmb_alloc(THREAD_SIZE, THREAD_SIZE)); 461 __va(memblock_alloc(THREAD_SIZE, THREAD_SIZE));
460 dbgirq_ctx[i] = (struct thread_info *) 462 dbgirq_ctx[i] = (struct thread_info *)
461 __va(lmb_alloc(THREAD_SIZE, THREAD_SIZE)); 463 __va(memblock_alloc(THREAD_SIZE, THREAD_SIZE));
462 mcheckirq_ctx[i] = (struct thread_info *) 464 mcheckirq_ctx[i] = (struct thread_info *)
463 __va(lmb_alloc(THREAD_SIZE, THREAD_SIZE)); 465 __va(memblock_alloc(THREAD_SIZE, THREAD_SIZE));
464 } 466 }
465} 467}
466#else 468#else
@@ -473,7 +475,7 @@ static void __init exc_lvl_early_init(void)
473 */ 475 */
474static void __init emergency_stack_init(void) 476static void __init emergency_stack_init(void)
475{ 477{
476 unsigned long limit; 478 u64 limit;
477 unsigned int i; 479 unsigned int i;
478 480
479 /* 481 /*
@@ -485,11 +487,11 @@ static void __init emergency_stack_init(void)
485 * bringup, we need to get at them in real mode. This means they 487 * bringup, we need to get at them in real mode. This means they
486 * must also be within the RMO region. 488 * must also be within the RMO region.
487 */ 489 */
488 limit = min(0x10000000ULL, lmb.rmo_size); 490 limit = min(slb0_limit(), memblock.rmo_size);
489 491
490 for_each_possible_cpu(i) { 492 for_each_possible_cpu(i) {
491 unsigned long sp; 493 unsigned long sp;
492 sp = lmb_alloc_base(THREAD_SIZE, THREAD_SIZE, limit); 494 sp = memblock_alloc_base(THREAD_SIZE, THREAD_SIZE, limit);
493 sp += THREAD_SIZE; 495 sp += THREAD_SIZE;
494 paca[i].emergency_sp = __va(sp); 496 paca[i].emergency_sp = __va(sp);
495 } 497 }
@@ -543,11 +545,6 @@ void __init setup_arch(char **cmdline_p)
543 if (ppc_md.setup_arch) 545 if (ppc_md.setup_arch)
544 ppc_md.setup_arch(); 546 ppc_md.setup_arch();
545 547
546#ifdef CONFIG_SWIOTLB
547 if (ppc_swiotlb_enable)
548 swiotlb_init(1);
549#endif
550
551 paging_init(); 548 paging_init();
552 549
553 /* Initialize the MMU context management stuff */ 550 /* Initialize the MMU context management stuff */
@@ -581,12 +578,6 @@ void ppc64_boot_msg(unsigned int src, const char *msg)
581 printk("[boot]%04x %s\n", src, msg); 578 printk("[boot]%04x %s\n", src, msg);
582} 579}
583 580
584void cpu_die(void)
585{
586 if (ppc_md.cpu_die)
587 ppc_md.cpu_die();
588}
589
590#ifdef CONFIG_SMP 581#ifdef CONFIG_SMP
591#define PCPU_DYN_SIZE () 582#define PCPU_DYN_SIZE ()
592 583
diff --git a/arch/powerpc/kernel/signal.c b/arch/powerpc/kernel/signal.c
index 00b5078da9a3..a0afb555a7c9 100644
--- a/arch/powerpc/kernel/signal.c
+++ b/arch/powerpc/kernel/signal.c
@@ -140,17 +140,15 @@ static int do_signal_pending(sigset_t *oldset, struct pt_regs *regs)
140 return 0; /* no signals delivered */ 140 return 0; /* no signals delivered */
141 } 141 }
142 142
143#ifndef CONFIG_PPC_ADV_DEBUG_REGS
143 /* 144 /*
144 * Reenable the DABR before delivering the signal to 145 * Reenable the DABR before delivering the signal to
145 * user space. The DABR will have been cleared if it 146 * user space. The DABR will have been cleared if it
146 * triggered inside the kernel. 147 * triggered inside the kernel.
147 */ 148 */
148 if (current->thread.dabr) { 149 if (current->thread.dabr)
149 set_dabr(current->thread.dabr); 150 set_dabr(current->thread.dabr);
150#if defined(CONFIG_BOOKE)
151 mtspr(SPRN_DBCR0, current->thread.dbcr0);
152#endif 151#endif
153 }
154 152
155 if (is32) { 153 if (is32) {
156 if (ka.sa.sa_flags & SA_SIGINFO) 154 if (ka.sa.sa_flags & SA_SIGINFO)
diff --git a/arch/powerpc/kernel/signal_32.c b/arch/powerpc/kernel/signal_32.c
index d670429a1608..266610119f66 100644
--- a/arch/powerpc/kernel/signal_32.c
+++ b/arch/powerpc/kernel/signal_32.c
@@ -1078,7 +1078,7 @@ int sys_debug_setcontext(struct ucontext __user *ctx,
1078 int i; 1078 int i;
1079 unsigned char tmp; 1079 unsigned char tmp;
1080 unsigned long new_msr = regs->msr; 1080 unsigned long new_msr = regs->msr;
1081#if defined(CONFIG_4xx) || defined(CONFIG_BOOKE) 1081#ifdef CONFIG_PPC_ADV_DEBUG_REGS
1082 unsigned long new_dbcr0 = current->thread.dbcr0; 1082 unsigned long new_dbcr0 = current->thread.dbcr0;
1083#endif 1083#endif
1084 1084
@@ -1087,13 +1087,17 @@ int sys_debug_setcontext(struct ucontext __user *ctx,
1087 return -EFAULT; 1087 return -EFAULT;
1088 switch (op.dbg_type) { 1088 switch (op.dbg_type) {
1089 case SIG_DBG_SINGLE_STEPPING: 1089 case SIG_DBG_SINGLE_STEPPING:
1090#if defined(CONFIG_4xx) || defined(CONFIG_BOOKE) 1090#ifdef CONFIG_PPC_ADV_DEBUG_REGS
1091 if (op.dbg_value) { 1091 if (op.dbg_value) {
1092 new_msr |= MSR_DE; 1092 new_msr |= MSR_DE;
1093 new_dbcr0 |= (DBCR0_IDM | DBCR0_IC); 1093 new_dbcr0 |= (DBCR0_IDM | DBCR0_IC);
1094 } else { 1094 } else {
1095 new_msr &= ~MSR_DE; 1095 new_dbcr0 &= ~DBCR0_IC;
1096 new_dbcr0 &= ~(DBCR0_IDM | DBCR0_IC); 1096 if (!DBCR_ACTIVE_EVENTS(new_dbcr0,
1097 current->thread.dbcr1)) {
1098 new_msr &= ~MSR_DE;
1099 new_dbcr0 &= ~DBCR0_IDM;
1100 }
1097 } 1101 }
1098#else 1102#else
1099 if (op.dbg_value) 1103 if (op.dbg_value)
@@ -1103,7 +1107,7 @@ int sys_debug_setcontext(struct ucontext __user *ctx,
1103#endif 1107#endif
1104 break; 1108 break;
1105 case SIG_DBG_BRANCH_TRACING: 1109 case SIG_DBG_BRANCH_TRACING:
1106#if defined(CONFIG_4xx) || defined(CONFIG_BOOKE) 1110#ifdef CONFIG_PPC_ADV_DEBUG_REGS
1107 return -EINVAL; 1111 return -EINVAL;
1108#else 1112#else
1109 if (op.dbg_value) 1113 if (op.dbg_value)
@@ -1124,7 +1128,7 @@ int sys_debug_setcontext(struct ucontext __user *ctx,
1124 failure is a problem, anyway, and it's very unlikely unless 1128 failure is a problem, anyway, and it's very unlikely unless
1125 the user is really doing something wrong. */ 1129 the user is really doing something wrong. */
1126 regs->msr = new_msr; 1130 regs->msr = new_msr;
1127#if defined(CONFIG_4xx) || defined(CONFIG_BOOKE) 1131#ifdef CONFIG_PPC_ADV_DEBUG_REGS
1128 current->thread.dbcr0 = new_dbcr0; 1132 current->thread.dbcr0 = new_dbcr0;
1129#endif 1133#endif
1130 1134
diff --git a/arch/powerpc/kernel/smp-tbsync.c b/arch/powerpc/kernel/smp-tbsync.c
index a5e54526403d..03e45c4a9ef1 100644
--- a/arch/powerpc/kernel/smp-tbsync.c
+++ b/arch/powerpc/kernel/smp-tbsync.c
@@ -10,6 +10,7 @@
10#include <linux/smp.h> 10#include <linux/smp.h>
11#include <linux/unistd.h> 11#include <linux/unistd.h>
12#include <linux/init.h> 12#include <linux/init.h>
13#include <linux/slab.h>
13#include <asm/atomic.h> 14#include <asm/atomic.h>
14#include <asm/smp.h> 15#include <asm/smp.h>
15#include <asm/time.h> 16#include <asm/time.h>
diff --git a/arch/powerpc/kernel/smp.c b/arch/powerpc/kernel/smp.c
index c2ee14498077..5c196d1086d9 100644
--- a/arch/powerpc/kernel/smp.c
+++ b/arch/powerpc/kernel/smp.c
@@ -59,8 +59,8 @@
59 59
60struct thread_info *secondary_ti; 60struct thread_info *secondary_ti;
61 61
62DEFINE_PER_CPU(cpumask_t, cpu_sibling_map) = CPU_MASK_NONE; 62DEFINE_PER_CPU(cpumask_var_t, cpu_sibling_map);
63DEFINE_PER_CPU(cpumask_t, cpu_core_map) = CPU_MASK_NONE; 63DEFINE_PER_CPU(cpumask_var_t, cpu_core_map);
64 64
65EXPORT_PER_CPU_SYMBOL(cpu_sibling_map); 65EXPORT_PER_CPU_SYMBOL(cpu_sibling_map);
66EXPORT_PER_CPU_SYMBOL(cpu_core_map); 66EXPORT_PER_CPU_SYMBOL(cpu_core_map);
@@ -271,6 +271,16 @@ void __init smp_prepare_cpus(unsigned int max_cpus)
271 smp_store_cpu_info(boot_cpuid); 271 smp_store_cpu_info(boot_cpuid);
272 cpu_callin_map[boot_cpuid] = 1; 272 cpu_callin_map[boot_cpuid] = 1;
273 273
274 for_each_possible_cpu(cpu) {
275 zalloc_cpumask_var_node(&per_cpu(cpu_sibling_map, cpu),
276 GFP_KERNEL, cpu_to_node(cpu));
277 zalloc_cpumask_var_node(&per_cpu(cpu_core_map, cpu),
278 GFP_KERNEL, cpu_to_node(cpu));
279 }
280
281 cpumask_set_cpu(boot_cpuid, cpu_sibling_mask(boot_cpuid));
282 cpumask_set_cpu(boot_cpuid, cpu_core_mask(boot_cpuid));
283
274 if (smp_ops) 284 if (smp_ops)
275 if (smp_ops->probe) 285 if (smp_ops->probe)
276 max_cpus = smp_ops->probe(); 286 max_cpus = smp_ops->probe();
@@ -289,10 +299,6 @@ void __init smp_prepare_cpus(unsigned int max_cpus)
289void __devinit smp_prepare_boot_cpu(void) 299void __devinit smp_prepare_boot_cpu(void)
290{ 300{
291 BUG_ON(smp_processor_id() != boot_cpuid); 301 BUG_ON(smp_processor_id() != boot_cpuid);
292
293 set_cpu_online(boot_cpuid, true);
294 cpu_set(boot_cpuid, per_cpu(cpu_sibling_map, boot_cpuid));
295 cpu_set(boot_cpuid, per_cpu(cpu_core_map, boot_cpuid));
296#ifdef CONFIG_PPC64 302#ifdef CONFIG_PPC64
297 paca[boot_cpuid].__current = current; 303 paca[boot_cpuid].__current = current;
298#endif 304#endif
@@ -313,7 +319,7 @@ int generic_cpu_disable(void)
313 set_cpu_online(cpu, false); 319 set_cpu_online(cpu, false);
314#ifdef CONFIG_PPC64 320#ifdef CONFIG_PPC64
315 vdso_data->processorCount--; 321 vdso_data->processorCount--;
316 fixup_irqs(cpu_online_map); 322 fixup_irqs(cpu_online_mask);
317#endif 323#endif
318 return 0; 324 return 0;
319} 325}
@@ -333,7 +339,7 @@ int generic_cpu_enable(unsigned int cpu)
333 cpu_relax(); 339 cpu_relax();
334 340
335#ifdef CONFIG_PPC64 341#ifdef CONFIG_PPC64
336 fixup_irqs(cpu_online_map); 342 fixup_irqs(cpu_online_mask);
337 /* counter the irq disable in fixup_irqs */ 343 /* counter the irq disable in fixup_irqs */
338 local_irq_enable(); 344 local_irq_enable();
339#endif 345#endif
@@ -462,7 +468,7 @@ out:
462 return id; 468 return id;
463} 469}
464 470
465/* Must be called when no change can occur to cpu_present_map, 471/* Must be called when no change can occur to cpu_present_mask,
466 * i.e. during cpu online or offline. 472 * i.e. during cpu online or offline.
467 */ 473 */
468static struct device_node *cpu_to_l2cache(int cpu) 474static struct device_node *cpu_to_l2cache(int cpu)
@@ -495,6 +501,14 @@ int __devinit start_secondary(void *unused)
495 current->active_mm = &init_mm; 501 current->active_mm = &init_mm;
496 502
497 smp_store_cpu_info(cpu); 503 smp_store_cpu_info(cpu);
504
505#if defined(CONFIG_BOOKE) || defined(CONFIG_40x)
506 /* Clear any pending timer interrupts */
507 mtspr(SPRN_TSR, TSR_ENW | TSR_WIS | TSR_DIS | TSR_FIS);
508
509 /* Enable decrementer interrupt */
510 mtspr(SPRN_TCR, TCR_DIE);
511#endif
498 set_dec(tb_ticks_per_jiffy); 512 set_dec(tb_ticks_per_jiffy);
499 preempt_disable(); 513 preempt_disable();
500 cpu_callin_map[cpu] = 1; 514 cpu_callin_map[cpu] = 1;
@@ -517,15 +531,15 @@ int __devinit start_secondary(void *unused)
517 for (i = 0; i < threads_per_core; i++) { 531 for (i = 0; i < threads_per_core; i++) {
518 if (cpu_is_offline(base + i)) 532 if (cpu_is_offline(base + i))
519 continue; 533 continue;
520 cpu_set(cpu, per_cpu(cpu_sibling_map, base + i)); 534 cpumask_set_cpu(cpu, cpu_sibling_mask(base + i));
521 cpu_set(base + i, per_cpu(cpu_sibling_map, cpu)); 535 cpumask_set_cpu(base + i, cpu_sibling_mask(cpu));
522 536
523 /* cpu_core_map should be a superset of 537 /* cpu_core_map should be a superset of
524 * cpu_sibling_map even if we don't have cache 538 * cpu_sibling_map even if we don't have cache
525 * information, so update the former here, too. 539 * information, so update the former here, too.
526 */ 540 */
527 cpu_set(cpu, per_cpu(cpu_core_map, base +i)); 541 cpumask_set_cpu(cpu, cpu_core_mask(base + i));
528 cpu_set(base + i, per_cpu(cpu_core_map, cpu)); 542 cpumask_set_cpu(base + i, cpu_core_mask(cpu));
529 } 543 }
530 l2_cache = cpu_to_l2cache(cpu); 544 l2_cache = cpu_to_l2cache(cpu);
531 for_each_online_cpu(i) { 545 for_each_online_cpu(i) {
@@ -533,8 +547,8 @@ int __devinit start_secondary(void *unused)
533 if (!np) 547 if (!np)
534 continue; 548 continue;
535 if (np == l2_cache) { 549 if (np == l2_cache) {
536 cpu_set(cpu, per_cpu(cpu_core_map, i)); 550 cpumask_set_cpu(cpu, cpu_core_mask(i));
537 cpu_set(i, per_cpu(cpu_core_map, cpu)); 551 cpumask_set_cpu(i, cpu_core_mask(cpu));
538 } 552 }
539 of_node_put(np); 553 of_node_put(np);
540 } 554 }
@@ -554,19 +568,22 @@ int setup_profiling_timer(unsigned int multiplier)
554 568
555void __init smp_cpus_done(unsigned int max_cpus) 569void __init smp_cpus_done(unsigned int max_cpus)
556{ 570{
557 cpumask_t old_mask; 571 cpumask_var_t old_mask;
558 572
559 /* We want the setup_cpu() here to be called from CPU 0, but our 573 /* We want the setup_cpu() here to be called from CPU 0, but our
560 * init thread may have been "borrowed" by another CPU in the meantime 574 * init thread may have been "borrowed" by another CPU in the meantime
561 * se we pin us down to CPU 0 for a short while 575 * se we pin us down to CPU 0 for a short while
562 */ 576 */
563 old_mask = current->cpus_allowed; 577 alloc_cpumask_var(&old_mask, GFP_NOWAIT);
564 set_cpus_allowed(current, cpumask_of_cpu(boot_cpuid)); 578 cpumask_copy(old_mask, &current->cpus_allowed);
579 set_cpus_allowed_ptr(current, cpumask_of(boot_cpuid));
565 580
566 if (smp_ops && smp_ops->setup_cpu) 581 if (smp_ops && smp_ops->setup_cpu)
567 smp_ops->setup_cpu(boot_cpuid); 582 smp_ops->setup_cpu(boot_cpuid);
568 583
569 set_cpus_allowed(current, old_mask); 584 set_cpus_allowed_ptr(current, old_mask);
585
586 free_cpumask_var(old_mask);
570 587
571 snapshot_timebases(); 588 snapshot_timebases();
572 589
@@ -591,10 +608,10 @@ int __cpu_disable(void)
591 /* Update sibling maps */ 608 /* Update sibling maps */
592 base = cpu_first_thread_in_core(cpu); 609 base = cpu_first_thread_in_core(cpu);
593 for (i = 0; i < threads_per_core; i++) { 610 for (i = 0; i < threads_per_core; i++) {
594 cpu_clear(cpu, per_cpu(cpu_sibling_map, base + i)); 611 cpumask_clear_cpu(cpu, cpu_sibling_mask(base + i));
595 cpu_clear(base + i, per_cpu(cpu_sibling_map, cpu)); 612 cpumask_clear_cpu(base + i, cpu_sibling_mask(cpu));
596 cpu_clear(cpu, per_cpu(cpu_core_map, base +i)); 613 cpumask_clear_cpu(cpu, cpu_core_mask(base + i));
597 cpu_clear(base + i, per_cpu(cpu_core_map, cpu)); 614 cpumask_clear_cpu(base + i, cpu_core_mask(cpu));
598 } 615 }
599 616
600 l2_cache = cpu_to_l2cache(cpu); 617 l2_cache = cpu_to_l2cache(cpu);
@@ -603,8 +620,8 @@ int __cpu_disable(void)
603 if (!np) 620 if (!np)
604 continue; 621 continue;
605 if (np == l2_cache) { 622 if (np == l2_cache) {
606 cpu_clear(cpu, per_cpu(cpu_core_map, i)); 623 cpumask_clear_cpu(cpu, cpu_core_mask(i));
607 cpu_clear(i, per_cpu(cpu_core_map, cpu)); 624 cpumask_clear_cpu(i, cpu_core_mask(cpu));
608 } 625 }
609 of_node_put(np); 626 of_node_put(np);
610 } 627 }
@@ -631,4 +648,10 @@ void cpu_hotplug_driver_unlock()
631{ 648{
632 mutex_unlock(&powerpc_cpu_hotplug_driver_mutex); 649 mutex_unlock(&powerpc_cpu_hotplug_driver_mutex);
633} 650}
651
652void cpu_die(void)
653{
654 if (ppc_md.cpu_die)
655 ppc_md.cpu_die();
656}
634#endif 657#endif
diff --git a/arch/powerpc/kernel/softemu8xx.c b/arch/powerpc/kernel/softemu8xx.c
index 23c8c5e7dc4d..af0e8290b4fc 100644
--- a/arch/powerpc/kernel/softemu8xx.c
+++ b/arch/powerpc/kernel/softemu8xx.c
@@ -21,7 +21,6 @@
21#include <linux/stddef.h> 21#include <linux/stddef.h>
22#include <linux/unistd.h> 22#include <linux/unistd.h>
23#include <linux/ptrace.h> 23#include <linux/ptrace.h>
24#include <linux/slab.h>
25#include <linux/user.h> 24#include <linux/user.h>
26#include <linux/interrupt.h> 25#include <linux/interrupt.h>
27 26
diff --git a/arch/powerpc/kernel/swsusp_booke.S b/arch/powerpc/kernel/swsusp_booke.S
new file mode 100644
index 000000000000..11a39307dd71
--- /dev/null
+++ b/arch/powerpc/kernel/swsusp_booke.S
@@ -0,0 +1,193 @@
1/*
2 * Based on swsusp_32.S, modified for FSL BookE by
3 * Anton Vorontsov <avorontsov@ru.mvista.com>
4 * Copyright (c) 2009-2010 MontaVista Software, LLC.
5 */
6
7#include <linux/threads.h>
8#include <asm/processor.h>
9#include <asm/page.h>
10#include <asm/cputable.h>
11#include <asm/thread_info.h>
12#include <asm/ppc_asm.h>
13#include <asm/asm-offsets.h>
14#include <asm/mmu.h>
15
16/*
17 * Structure for storing CPU registers on the save area.
18 */
19#define SL_SP 0
20#define SL_PC 4
21#define SL_MSR 8
22#define SL_TCR 0xc
23#define SL_SPRG0 0x10
24#define SL_SPRG1 0x14
25#define SL_SPRG2 0x18
26#define SL_SPRG3 0x1c
27#define SL_SPRG4 0x20
28#define SL_SPRG5 0x24
29#define SL_SPRG6 0x28
30#define SL_SPRG7 0x2c
31#define SL_TBU 0x30
32#define SL_TBL 0x34
33#define SL_R2 0x38
34#define SL_CR 0x3c
35#define SL_LR 0x40
36#define SL_R12 0x44 /* r12 to r31 */
37#define SL_SIZE (SL_R12 + 80)
38
39 .section .data
40 .align 5
41
42_GLOBAL(swsusp_save_area)
43 .space SL_SIZE
44
45
46 .section .text
47 .align 5
48
49_GLOBAL(swsusp_arch_suspend)
50 lis r11,swsusp_save_area@h
51 ori r11,r11,swsusp_save_area@l
52
53 mflr r0
54 stw r0,SL_LR(r11)
55 mfcr r0
56 stw r0,SL_CR(r11)
57 stw r1,SL_SP(r11)
58 stw r2,SL_R2(r11)
59 stmw r12,SL_R12(r11)
60
61 /* Save MSR & TCR */
62 mfmsr r4
63 stw r4,SL_MSR(r11)
64 mfspr r4,SPRN_TCR
65 stw r4,SL_TCR(r11)
66
67 /* Get a stable timebase and save it */
681: mfspr r4,SPRN_TBRU
69 stw r4,SL_TBU(r11)
70 mfspr r5,SPRN_TBRL
71 stw r5,SL_TBL(r11)
72 mfspr r3,SPRN_TBRU
73 cmpw r3,r4
74 bne 1b
75
76 /* Save SPRGs */
77 mfsprg r4,0
78 stw r4,SL_SPRG0(r11)
79 mfsprg r4,1
80 stw r4,SL_SPRG1(r11)
81 mfsprg r4,2
82 stw r4,SL_SPRG2(r11)
83 mfsprg r4,3
84 stw r4,SL_SPRG3(r11)
85 mfsprg r4,4
86 stw r4,SL_SPRG4(r11)
87 mfsprg r4,5
88 stw r4,SL_SPRG5(r11)
89 mfsprg r4,6
90 stw r4,SL_SPRG6(r11)
91 mfsprg r4,7
92 stw r4,SL_SPRG7(r11)
93
94 /* Call the low level suspend stuff (we should probably have made
95 * a stackframe...
96 */
97 bl swsusp_save
98
99 /* Restore LR from the save area */
100 lis r11,swsusp_save_area@h
101 ori r11,r11,swsusp_save_area@l
102 lwz r0,SL_LR(r11)
103 mtlr r0
104
105 blr
106
107_GLOBAL(swsusp_arch_resume)
108 sync
109
110 /* Load ptr the list of pages to copy in r3 */
111 lis r11,(restore_pblist)@h
112 ori r11,r11,restore_pblist@l
113 lwz r3,0(r11)
114
115 /* Copy the pages. This is a very basic implementation, to
116 * be replaced by something more cache efficient */
1171:
118 li r0,256
119 mtctr r0
120 lwz r5,pbe_address(r3) /* source */
121 lwz r6,pbe_orig_address(r3) /* destination */
1222:
123 lwz r8,0(r5)
124 lwz r9,4(r5)
125 lwz r10,8(r5)
126 lwz r11,12(r5)
127 addi r5,r5,16
128 stw r8,0(r6)
129 stw r9,4(r6)
130 stw r10,8(r6)
131 stw r11,12(r6)
132 addi r6,r6,16
133 bdnz 2b
134 lwz r3,pbe_next(r3)
135 cmpwi 0,r3,0
136 bne 1b
137
138 bl flush_dcache_L1
139 bl flush_instruction_cache
140
141 lis r11,swsusp_save_area@h
142 ori r11,r11,swsusp_save_area@l
143
144 lwz r4,SL_SPRG0(r11)
145 mtsprg 0,r4
146 lwz r4,SL_SPRG1(r11)
147 mtsprg 1,r4
148 lwz r4,SL_SPRG2(r11)
149 mtsprg 2,r4
150 lwz r4,SL_SPRG3(r11)
151 mtsprg 3,r4
152 lwz r4,SL_SPRG4(r11)
153 mtsprg 4,r4
154 lwz r4,SL_SPRG5(r11)
155 mtsprg 5,r4
156 lwz r4,SL_SPRG6(r11)
157 mtsprg 6,r4
158 lwz r4,SL_SPRG7(r11)
159 mtsprg 7,r4
160
161 /* restore the MSR */
162 lwz r3,SL_MSR(r11)
163 mtmsr r3
164
165 /* Restore TB */
166 li r3,0
167 mtspr SPRN_TBWL,r3
168 lwz r3,SL_TBU(r11)
169 lwz r4,SL_TBL(r11)
170 mtspr SPRN_TBWU,r3
171 mtspr SPRN_TBWL,r4
172
173 /* Restore TCR and clear any pending bits in TSR. */
174 lwz r4,SL_TCR(r11)
175 mtspr SPRN_TCR,r4
176 lis r4, (TSR_ENW | TSR_WIS | TSR_DIS | TSR_FIS)@h
177 mtspr SPRN_TSR,r4
178
179 /* Kick decrementer */
180 li r0,1
181 mtdec r0
182
183 /* Restore the callee-saved registers and return */
184 lwz r0,SL_CR(r11)
185 mtcr r0
186 lwz r2,SL_R2(r11)
187 lmw r12,SL_R12(r11)
188 lwz r1,SL_SP(r11)
189 lwz r0,SL_LR(r11)
190 mtlr r0
191
192 li r3,0
193 blr
diff --git a/arch/powerpc/kernel/sys_ppc32.c b/arch/powerpc/kernel/sys_ppc32.c
index c5a4732bcc48..19471a1cef1a 100644
--- a/arch/powerpc/kernel/sys_ppc32.c
+++ b/arch/powerpc/kernel/sys_ppc32.c
@@ -41,6 +41,7 @@
41#include <linux/ptrace.h> 41#include <linux/ptrace.h>
42#include <linux/elf.h> 42#include <linux/elf.h>
43#include <linux/ipc.h> 43#include <linux/ipc.h>
44#include <linux/slab.h>
44 45
45#include <asm/ptrace.h> 46#include <asm/ptrace.h>
46#include <asm/types.h> 47#include <asm/types.h>
diff --git a/arch/powerpc/kernel/syscalls.c b/arch/powerpc/kernel/syscalls.c
index 3370e62e43d4..f2496f2faecc 100644
--- a/arch/powerpc/kernel/syscalls.c
+++ b/arch/powerpc/kernel/syscalls.c
@@ -42,100 +42,6 @@
42#include <asm/time.h> 42#include <asm/time.h>
43#include <asm/unistd.h> 43#include <asm/unistd.h>
44 44
45/*
46 * sys_ipc() is the de-multiplexer for the SysV IPC calls..
47 *
48 * This is really horribly ugly.
49 */
50int sys_ipc(uint call, int first, unsigned long second, long third,
51 void __user *ptr, long fifth)
52{
53 int version, ret;
54
55 version = call >> 16; /* hack for backward compatibility */
56 call &= 0xffff;
57
58 ret = -ENOSYS;
59 switch (call) {
60 case SEMOP:
61 ret = sys_semtimedop(first, (struct sembuf __user *)ptr,
62 (unsigned)second, NULL);
63 break;
64 case SEMTIMEDOP:
65 ret = sys_semtimedop(first, (struct sembuf __user *)ptr,
66 (unsigned)second,
67 (const struct timespec __user *) fifth);
68 break;
69 case SEMGET:
70 ret = sys_semget (first, (int)second, third);
71 break;
72 case SEMCTL: {
73 union semun fourth;
74
75 ret = -EINVAL;
76 if (!ptr)
77 break;
78 if ((ret = get_user(fourth.__pad, (void __user * __user *)ptr)))
79 break;
80 ret = sys_semctl(first, (int)second, third, fourth);
81 break;
82 }
83 case MSGSND:
84 ret = sys_msgsnd(first, (struct msgbuf __user *)ptr,
85 (size_t)second, third);
86 break;
87 case MSGRCV:
88 switch (version) {
89 case 0: {
90 struct ipc_kludge tmp;
91
92 ret = -EINVAL;
93 if (!ptr)
94 break;
95 if ((ret = copy_from_user(&tmp,
96 (struct ipc_kludge __user *) ptr,
97 sizeof (tmp)) ? -EFAULT : 0))
98 break;
99 ret = sys_msgrcv(first, tmp.msgp, (size_t) second,
100 tmp.msgtyp, third);
101 break;
102 }
103 default:
104 ret = sys_msgrcv (first, (struct msgbuf __user *) ptr,
105 (size_t)second, fifth, third);
106 break;
107 }
108 break;
109 case MSGGET:
110 ret = sys_msgget((key_t)first, (int)second);
111 break;
112 case MSGCTL:
113 ret = sys_msgctl(first, (int)second,
114 (struct msqid_ds __user *)ptr);
115 break;
116 case SHMAT: {
117 ulong raddr;
118 ret = do_shmat(first, (char __user *)ptr, (int)second, &raddr);
119 if (ret)
120 break;
121 ret = put_user(raddr, (ulong __user *) third);
122 break;
123 }
124 case SHMDT:
125 ret = sys_shmdt((char __user *)ptr);
126 break;
127 case SHMGET:
128 ret = sys_shmget(first, (size_t)second, third);
129 break;
130 case SHMCTL:
131 ret = sys_shmctl(first, (int)second,
132 (struct shmid_ds __user *)ptr);
133 break;
134 }
135
136 return ret;
137}
138
139static inline unsigned long do_mmap2(unsigned long addr, size_t len, 45static inline unsigned long do_mmap2(unsigned long addr, size_t len,
140 unsigned long prot, unsigned long flags, 46 unsigned long prot, unsigned long flags,
141 unsigned long fd, unsigned long off, int shift) 47 unsigned long fd, unsigned long off, int shift)
@@ -210,76 +116,6 @@ long ppc64_personality(unsigned long personality)
210} 116}
211#endif 117#endif
212 118
213#ifdef CONFIG_PPC64
214#define OVERRIDE_MACHINE (personality(current->personality) == PER_LINUX32)
215#else
216#define OVERRIDE_MACHINE 0
217#endif
218
219static inline int override_machine(char __user *mach)
220{
221 if (OVERRIDE_MACHINE) {
222 /* change ppc64 to ppc */
223 if (__put_user(0, mach+3) || __put_user(0, mach+4))
224 return -EFAULT;
225 }
226 return 0;
227}
228
229long ppc_newuname(struct new_utsname __user * name)
230{
231 int err = 0;
232
233 down_read(&uts_sem);
234 if (copy_to_user(name, utsname(), sizeof(*name)))
235 err = -EFAULT;
236 up_read(&uts_sem);
237 if (!err)
238 err = override_machine(name->machine);
239 return err;
240}
241
242int sys_uname(struct old_utsname __user *name)
243{
244 int err = 0;
245
246 down_read(&uts_sem);
247 if (copy_to_user(name, utsname(), sizeof(*name)))
248 err = -EFAULT;
249 up_read(&uts_sem);
250 if (!err)
251 err = override_machine(name->machine);
252 return err;
253}
254
255int sys_olduname(struct oldold_utsname __user *name)
256{
257 int error;
258
259 if (!access_ok(VERIFY_WRITE, name, sizeof(struct oldold_utsname)))
260 return -EFAULT;
261
262 down_read(&uts_sem);
263 error = __copy_to_user(&name->sysname, &utsname()->sysname,
264 __OLD_UTS_LEN);
265 error |= __put_user(0, name->sysname + __OLD_UTS_LEN);
266 error |= __copy_to_user(&name->nodename, &utsname()->nodename,
267 __OLD_UTS_LEN);
268 error |= __put_user(0, name->nodename + __OLD_UTS_LEN);
269 error |= __copy_to_user(&name->release, &utsname()->release,
270 __OLD_UTS_LEN);
271 error |= __put_user(0, name->release + __OLD_UTS_LEN);
272 error |= __copy_to_user(&name->version, &utsname()->version,
273 __OLD_UTS_LEN);
274 error |= __put_user(0, name->version + __OLD_UTS_LEN);
275 error |= __copy_to_user(&name->machine, &utsname()->machine,
276 __OLD_UTS_LEN);
277 error |= override_machine(name->machine);
278 up_read(&uts_sem);
279
280 return error? -EFAULT: 0;
281}
282
283long ppc_fadvise64_64(int fd, int advice, u32 offset_high, u32 offset_low, 119long ppc_fadvise64_64(int fd, int advice, u32 offset_high, u32 offset_low,
284 u32 len_high, u32 len_low) 120 u32 len_high, u32 len_low)
285{ 121{
diff --git a/arch/powerpc/kernel/sysfs.c b/arch/powerpc/kernel/sysfs.c
index e235e52dc4fe..c0d8c2006bf4 100644
--- a/arch/powerpc/kernel/sysfs.c
+++ b/arch/powerpc/kernel/sysfs.c
@@ -35,7 +35,7 @@ static DEFINE_PER_CPU(struct cpu, cpu_devices);
35#ifdef CONFIG_PPC64 35#ifdef CONFIG_PPC64
36 36
37/* Time in microseconds we delay before sleeping in the idle loop */ 37/* Time in microseconds we delay before sleeping in the idle loop */
38DEFINE_PER_CPU(unsigned long, smt_snooze_delay) = { 100 }; 38DEFINE_PER_CPU(long, smt_snooze_delay) = { 100 };
39 39
40static ssize_t store_smt_snooze_delay(struct sys_device *dev, 40static ssize_t store_smt_snooze_delay(struct sys_device *dev,
41 struct sysdev_attribute *attr, 41 struct sysdev_attribute *attr,
@@ -44,9 +44,9 @@ static ssize_t store_smt_snooze_delay(struct sys_device *dev,
44{ 44{
45 struct cpu *cpu = container_of(dev, struct cpu, sysdev); 45 struct cpu *cpu = container_of(dev, struct cpu, sysdev);
46 ssize_t ret; 46 ssize_t ret;
47 unsigned long snooze; 47 long snooze;
48 48
49 ret = sscanf(buf, "%lu", &snooze); 49 ret = sscanf(buf, "%ld", &snooze);
50 if (ret != 1) 50 if (ret != 1)
51 return -EINVAL; 51 return -EINVAL;
52 52
@@ -61,53 +61,23 @@ static ssize_t show_smt_snooze_delay(struct sys_device *dev,
61{ 61{
62 struct cpu *cpu = container_of(dev, struct cpu, sysdev); 62 struct cpu *cpu = container_of(dev, struct cpu, sysdev);
63 63
64 return sprintf(buf, "%lu\n", per_cpu(smt_snooze_delay, cpu->sysdev.id)); 64 return sprintf(buf, "%ld\n", per_cpu(smt_snooze_delay, cpu->sysdev.id));
65} 65}
66 66
67static SYSDEV_ATTR(smt_snooze_delay, 0644, show_smt_snooze_delay, 67static SYSDEV_ATTR(smt_snooze_delay, 0644, show_smt_snooze_delay,
68 store_smt_snooze_delay); 68 store_smt_snooze_delay);
69 69
70/* Only parse OF options if the matching cmdline option was not specified */
71static int smt_snooze_cmdline;
72
73static int __init smt_setup(void)
74{
75 struct device_node *options;
76 const unsigned int *val;
77 unsigned int cpu;
78
79 if (!cpu_has_feature(CPU_FTR_SMT))
80 return -ENODEV;
81
82 options = of_find_node_by_path("/options");
83 if (!options)
84 return -ENODEV;
85
86 val = of_get_property(options, "ibm,smt-snooze-delay", NULL);
87 if (!smt_snooze_cmdline && val) {
88 for_each_possible_cpu(cpu)
89 per_cpu(smt_snooze_delay, cpu) = *val;
90 }
91
92 of_node_put(options);
93 return 0;
94}
95__initcall(smt_setup);
96
97static int __init setup_smt_snooze_delay(char *str) 70static int __init setup_smt_snooze_delay(char *str)
98{ 71{
99 unsigned int cpu; 72 unsigned int cpu;
100 int snooze; 73 long snooze;
101 74
102 if (!cpu_has_feature(CPU_FTR_SMT)) 75 if (!cpu_has_feature(CPU_FTR_SMT))
103 return 1; 76 return 1;
104 77
105 smt_snooze_cmdline = 1; 78 snooze = simple_strtol(str, NULL, 10);
106 79 for_each_possible_cpu(cpu)
107 if (get_option(&str, &snooze)) { 80 per_cpu(smt_snooze_delay, cpu) = snooze;
108 for_each_possible_cpu(cpu)
109 per_cpu(smt_snooze_delay, cpu) = snooze;
110 }
111 81
112 return 1; 82 return 1;
113} 83}
diff --git a/arch/powerpc/kernel/time.c b/arch/powerpc/kernel/time.c
index 6c6093d67f30..0441bbdadbd1 100644
--- a/arch/powerpc/kernel/time.c
+++ b/arch/powerpc/kernel/time.c
@@ -265,8 +265,8 @@ void account_system_vtime(struct task_struct *tsk)
265 account_system_time(tsk, 0, delta, deltascaled); 265 account_system_time(tsk, 0, delta, deltascaled);
266 else 266 else
267 account_idle_time(delta); 267 account_idle_time(delta);
268 per_cpu(cputime_last_delta, smp_processor_id()) = delta; 268 __get_cpu_var(cputime_last_delta) = delta;
269 per_cpu(cputime_scaled_last_delta, smp_processor_id()) = deltascaled; 269 __get_cpu_var(cputime_scaled_last_delta) = deltascaled;
270 local_irq_restore(flags); 270 local_irq_restore(flags);
271} 271}
272EXPORT_SYMBOL_GPL(account_system_vtime); 272EXPORT_SYMBOL_GPL(account_system_vtime);
@@ -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
@@ -575,15 +610,13 @@ void timer_interrupt(struct pt_regs * regs)
575 610
576 trace_timer_interrupt_entry(regs); 611 trace_timer_interrupt_entry(regs);
577 612
613 __get_cpu_var(irq_stat).timer_irqs++;
614
578 /* Ensure a positive value is written to the decrementer, or else 615 /* Ensure a positive value is written to the decrementer, or else
579 * some CPUs will continuue to take decrementer exceptions */ 616 * some CPUs will continuue to take decrementer exceptions */
580 set_dec(DECREMENTER_MAX); 617 set_dec(DECREMENTER_MAX);
581 618
582#ifdef CONFIG_PPC32 619#ifdef CONFIG_PPC32
583 if (test_perf_event_pending()) {
584 clear_perf_event_pending();
585 perf_event_do_pending();
586 }
587 if (atomic_read(&ppc_n_lost_interrupts) != 0) 620 if (atomic_read(&ppc_n_lost_interrupts) != 0)
588 do_IRQ(regs); 621 do_IRQ(regs);
589#endif 622#endif
@@ -602,6 +635,11 @@ void timer_interrupt(struct pt_regs * regs)
602 635
603 calculate_steal_time(); 636 calculate_steal_time();
604 637
638 if (test_perf_event_pending()) {
639 clear_perf_event_pending();
640 perf_event_do_pending();
641 }
642
605#ifdef CONFIG_PPC_ISERIES 643#ifdef CONFIG_PPC_ISERIES
606 if (firmware_has_feature(FW_FEATURE_ISERIES)) 644 if (firmware_has_feature(FW_FEATURE_ISERIES))
607 get_lppaca()->int_dword.fields.decr_int = 0; 645 get_lppaca()->int_dword.fields.decr_int = 0;
@@ -935,8 +973,8 @@ static void register_decrementer_clockevent(int cpu)
935 *dec = decrementer_clockevent; 973 *dec = decrementer_clockevent;
936 dec->cpumask = cpumask_of(cpu); 974 dec->cpumask = cpumask_of(cpu);
937 975
938 printk(KERN_DEBUG "clockevent: %s mult[%x] shift[%d] cpu[%d]\n", 976 printk_once(KERN_DEBUG "clockevent: %s mult[%x] shift[%d] cpu[%d]\n",
939 dec->name, dec->mult, dec->shift, cpu); 977 dec->name, dec->mult, dec->shift, cpu);
940 978
941 clockevents_register_device(dec); 979 clockevents_register_device(dec);
942} 980}
diff --git a/arch/powerpc/kernel/traps.c b/arch/powerpc/kernel/traps.c
index d069ff8a7e03..25fc33984c2b 100644
--- a/arch/powerpc/kernel/traps.c
+++ b/arch/powerpc/kernel/traps.c
@@ -1,5 +1,6 @@
1/* 1/*
2 * Copyright (C) 1995-1996 Gary Thomas (gdt@linuxppc.org) 2 * Copyright (C) 1995-1996 Gary Thomas (gdt@linuxppc.org)
3 * Copyright 2007-2010 Freescale Semiconductor, Inc.
3 * 4 *
4 * This program is free software; you can redistribute it and/or 5 * This program is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU General Public License 6 * modify it under the terms of the GNU General Public License
@@ -21,7 +22,6 @@
21#include <linux/stddef.h> 22#include <linux/stddef.h>
22#include <linux/unistd.h> 23#include <linux/unistd.h>
23#include <linux/ptrace.h> 24#include <linux/ptrace.h>
24#include <linux/slab.h>
25#include <linux/user.h> 25#include <linux/user.h>
26#include <linux/interrupt.h> 26#include <linux/interrupt.h>
27#include <linux/init.h> 27#include <linux/init.h>
@@ -60,13 +60,13 @@
60#endif 60#endif
61 61
62#if defined(CONFIG_DEBUGGER) || defined(CONFIG_KEXEC) 62#if defined(CONFIG_DEBUGGER) || defined(CONFIG_KEXEC)
63int (*__debugger)(struct pt_regs *regs); 63int (*__debugger)(struct pt_regs *regs) __read_mostly;
64int (*__debugger_ipi)(struct pt_regs *regs); 64int (*__debugger_ipi)(struct pt_regs *regs) __read_mostly;
65int (*__debugger_bpt)(struct pt_regs *regs); 65int (*__debugger_bpt)(struct pt_regs *regs) __read_mostly;
66int (*__debugger_sstep)(struct pt_regs *regs); 66int (*__debugger_sstep)(struct pt_regs *regs) __read_mostly;
67int (*__debugger_iabr_match)(struct pt_regs *regs); 67int (*__debugger_iabr_match)(struct pt_regs *regs) __read_mostly;
68int (*__debugger_dabr_match)(struct pt_regs *regs); 68int (*__debugger_dabr_match)(struct pt_regs *regs) __read_mostly;
69int (*__debugger_fault_handler)(struct pt_regs *regs); 69int (*__debugger_fault_handler)(struct pt_regs *regs) __read_mostly;
70 70
71EXPORT_SYMBOL(__debugger); 71EXPORT_SYMBOL(__debugger);
72EXPORT_SYMBOL(__debugger_ipi); 72EXPORT_SYMBOL(__debugger_ipi);
@@ -102,11 +102,11 @@ static inline void pmac_backlight_unblank(void) { }
102int die(const char *str, struct pt_regs *regs, long err) 102int die(const char *str, struct pt_regs *regs, long err)
103{ 103{
104 static struct { 104 static struct {
105 spinlock_t lock; 105 raw_spinlock_t lock;
106 u32 lock_owner; 106 u32 lock_owner;
107 int lock_owner_depth; 107 int lock_owner_depth;
108 } die = { 108 } die = {
109 .lock = __SPIN_LOCK_UNLOCKED(die.lock), 109 .lock = __RAW_SPIN_LOCK_UNLOCKED(die.lock),
110 .lock_owner = -1, 110 .lock_owner = -1,
111 .lock_owner_depth = 0 111 .lock_owner_depth = 0
112 }; 112 };
@@ -120,7 +120,7 @@ int die(const char *str, struct pt_regs *regs, long err)
120 120
121 if (die.lock_owner != raw_smp_processor_id()) { 121 if (die.lock_owner != raw_smp_processor_id()) {
122 console_verbose(); 122 console_verbose();
123 spin_lock_irqsave(&die.lock, flags); 123 raw_spin_lock_irqsave(&die.lock, flags);
124 die.lock_owner = smp_processor_id(); 124 die.lock_owner = smp_processor_id();
125 die.lock_owner_depth = 0; 125 die.lock_owner_depth = 0;
126 bust_spinlocks(1); 126 bust_spinlocks(1);
@@ -146,6 +146,11 @@ int die(const char *str, struct pt_regs *regs, long err)
146#endif 146#endif
147 printk("%s\n", ppc_md.name ? ppc_md.name : ""); 147 printk("%s\n", ppc_md.name ? ppc_md.name : "");
148 148
149 sysfs_printk_last_file();
150 if (notify_die(DIE_OOPS, str, regs, err, 255,
151 SIGSEGV) == NOTIFY_STOP)
152 return 1;
153
149 print_modules(); 154 print_modules();
150 show_regs(regs); 155 show_regs(regs);
151 } else { 156 } else {
@@ -155,7 +160,7 @@ int die(const char *str, struct pt_regs *regs, long err)
155 bust_spinlocks(0); 160 bust_spinlocks(0);
156 die.lock_owner = -1; 161 die.lock_owner = -1;
157 add_taint(TAINT_DIE); 162 add_taint(TAINT_DIE);
158 spin_unlock_irqrestore(&die.lock, flags); 163 raw_spin_unlock_irqrestore(&die.lock, flags);
159 164
160 if (kexec_should_crash(current) || 165 if (kexec_should_crash(current) ||
161 kexec_sr_activated(smp_processor_id())) 166 kexec_sr_activated(smp_processor_id()))
@@ -294,14 +299,14 @@ static inline int check_io_access(struct pt_regs *regs)
294 return 0; 299 return 0;
295} 300}
296 301
297#if defined(CONFIG_4xx) || defined(CONFIG_BOOKE) 302#ifdef CONFIG_PPC_ADV_DEBUG_REGS
298/* On 4xx, the reason for the machine check or program exception 303/* On 4xx, the reason for the machine check or program exception
299 is in the ESR. */ 304 is in the ESR. */
300#define get_reason(regs) ((regs)->dsisr) 305#define get_reason(regs) ((regs)->dsisr)
301#ifndef CONFIG_FSL_BOOKE 306#ifndef CONFIG_FSL_BOOKE
302#define get_mc_reason(regs) ((regs)->dsisr) 307#define get_mc_reason(regs) ((regs)->dsisr)
303#else 308#else
304#define get_mc_reason(regs) (mfspr(SPRN_MCSR) & MCSR_MASK) 309#define get_mc_reason(regs) (mfspr(SPRN_MCSR))
305#endif 310#endif
306#define REASON_FP ESR_FP 311#define REASON_FP ESR_FP
307#define REASON_ILLEGAL (ESR_PIL | ESR_PUO) 312#define REASON_ILLEGAL (ESR_PIL | ESR_PUO)
@@ -376,7 +381,132 @@ int machine_check_440A(struct pt_regs *regs)
376 } 381 }
377 return 0; 382 return 0;
378} 383}
384
385int machine_check_47x(struct pt_regs *regs)
386{
387 unsigned long reason = get_mc_reason(regs);
388 u32 mcsr;
389
390 printk(KERN_ERR "Machine check in kernel mode.\n");
391 if (reason & ESR_IMCP) {
392 printk(KERN_ERR
393 "Instruction Synchronous Machine Check exception\n");
394 mtspr(SPRN_ESR, reason & ~ESR_IMCP);
395 return 0;
396 }
397 mcsr = mfspr(SPRN_MCSR);
398 if (mcsr & MCSR_IB)
399 printk(KERN_ERR "Instruction Read PLB Error\n");
400 if (mcsr & MCSR_DRB)
401 printk(KERN_ERR "Data Read PLB Error\n");
402 if (mcsr & MCSR_DWB)
403 printk(KERN_ERR "Data Write PLB Error\n");
404 if (mcsr & MCSR_TLBP)
405 printk(KERN_ERR "TLB Parity Error\n");
406 if (mcsr & MCSR_ICP) {
407 flush_instruction_cache();
408 printk(KERN_ERR "I-Cache Parity Error\n");
409 }
410 if (mcsr & MCSR_DCSP)
411 printk(KERN_ERR "D-Cache Search Parity Error\n");
412 if (mcsr & PPC47x_MCSR_GPR)
413 printk(KERN_ERR "GPR Parity Error\n");
414 if (mcsr & PPC47x_MCSR_FPR)
415 printk(KERN_ERR "FPR Parity Error\n");
416 if (mcsr & PPC47x_MCSR_IPR)
417 printk(KERN_ERR "Machine Check exception is imprecise\n");
418
419 /* Clear MCSR */
420 mtspr(SPRN_MCSR, mcsr);
421
422 return 0;
423}
379#elif defined(CONFIG_E500) 424#elif defined(CONFIG_E500)
425int machine_check_e500mc(struct pt_regs *regs)
426{
427 unsigned long mcsr = mfspr(SPRN_MCSR);
428 unsigned long reason = mcsr;
429 int recoverable = 1;
430
431 printk("Machine check in kernel mode.\n");
432 printk("Caused by (from MCSR=%lx): ", reason);
433
434 if (reason & MCSR_MCP)
435 printk("Machine Check Signal\n");
436
437 if (reason & MCSR_ICPERR) {
438 printk("Instruction Cache Parity Error\n");
439
440 /*
441 * This is recoverable by invalidating the i-cache.
442 */
443 mtspr(SPRN_L1CSR1, mfspr(SPRN_L1CSR1) | L1CSR1_ICFI);
444 while (mfspr(SPRN_L1CSR1) & L1CSR1_ICFI)
445 ;
446
447 /*
448 * This will generally be accompanied by an instruction
449 * fetch error report -- only treat MCSR_IF as fatal
450 * if it wasn't due to an L1 parity error.
451 */
452 reason &= ~MCSR_IF;
453 }
454
455 if (reason & MCSR_DCPERR_MC) {
456 printk("Data Cache Parity Error\n");
457 recoverable = 0;
458 }
459
460 if (reason & MCSR_L2MMU_MHIT) {
461 printk("Hit on multiple TLB entries\n");
462 recoverable = 0;
463 }
464
465 if (reason & MCSR_NMI)
466 printk("Non-maskable interrupt\n");
467
468 if (reason & MCSR_IF) {
469 printk("Instruction Fetch Error Report\n");
470 recoverable = 0;
471 }
472
473 if (reason & MCSR_LD) {
474 printk("Load Error Report\n");
475 recoverable = 0;
476 }
477
478 if (reason & MCSR_ST) {
479 printk("Store Error Report\n");
480 recoverable = 0;
481 }
482
483 if (reason & MCSR_LDG) {
484 printk("Guarded Load Error Report\n");
485 recoverable = 0;
486 }
487
488 if (reason & MCSR_TLBSYNC)
489 printk("Simultaneous tlbsync operations\n");
490
491 if (reason & MCSR_BSL2_ERR) {
492 printk("Level 2 Cache Error\n");
493 recoverable = 0;
494 }
495
496 if (reason & MCSR_MAV) {
497 u64 addr;
498
499 addr = mfspr(SPRN_MCAR);
500 addr |= (u64)mfspr(SPRN_MCARU) << 32;
501
502 printk("Machine Check %s Address: %#llx\n",
503 reason & MCSR_MEA ? "Effective" : "Physical", addr);
504 }
505
506 mtspr(SPRN_MCSR, mcsr);
507 return mfspr(SPRN_MCSR) == 0 && recoverable;
508}
509
380int machine_check_e500(struct pt_regs *regs) 510int machine_check_e500(struct pt_regs *regs)
381{ 511{
382 unsigned long reason = get_mc_reason(regs); 512 unsigned long reason = get_mc_reason(regs);
@@ -478,6 +608,8 @@ void machine_check_exception(struct pt_regs *regs)
478{ 608{
479 int recover = 0; 609 int recover = 0;
480 610
611 __get_cpu_var(irq_stat).mce_exceptions++;
612
481 /* See if any machine dependent calls. In theory, we would want 613 /* See if any machine dependent calls. In theory, we would want
482 * to call the CPU first, and call the ppc_md. one if the CPU 614 * to call the CPU first, and call the ppc_md. one if the CPU
483 * one returns a positive number. However there is existing code 615 * one returns a positive number. However there is existing code
@@ -809,12 +941,15 @@ void __kprobes program_check_exception(struct pt_regs *regs)
809 return; 941 return;
810 } 942 }
811 if (reason & REASON_TRAP) { 943 if (reason & REASON_TRAP) {
944 /* Debugger is first in line to stop recursive faults in
945 * rcu_lock, notify_die, or atomic_notifier_call_chain */
946 if (debugger_bpt(regs))
947 return;
948
812 /* trap exception */ 949 /* trap exception */
813 if (notify_die(DIE_BPT, "breakpoint", regs, 5, 5, SIGTRAP) 950 if (notify_die(DIE_BPT, "breakpoint", regs, 5, 5, SIGTRAP)
814 == NOTIFY_STOP) 951 == NOTIFY_STOP)
815 return; 952 return;
816 if (debugger_bpt(regs))
817 return;
818 953
819 if (!(regs->msr & MSR_PR) && /* not user-mode */ 954 if (!(regs->msr & MSR_PR) && /* not user-mode */
820 report_bug(regs->nip, regs) == BUG_TRAP_TYPE_WARN) { 955 report_bug(regs->nip, regs) == BUG_TRAP_TYPE_WARN) {
@@ -960,6 +1095,8 @@ void vsx_unavailable_exception(struct pt_regs *regs)
960 1095
961void performance_monitor_exception(struct pt_regs *regs) 1096void performance_monitor_exception(struct pt_regs *regs)
962{ 1097{
1098 __get_cpu_var(irq_stat).pmu_irqs++;
1099
963 perf_irq(regs); 1100 perf_irq(regs);
964} 1101}
965 1102
@@ -1024,10 +1161,69 @@ void SoftwareEmulation(struct pt_regs *regs)
1024} 1161}
1025#endif /* CONFIG_8xx */ 1162#endif /* CONFIG_8xx */
1026 1163
1027#if defined(CONFIG_40x) || defined(CONFIG_BOOKE) 1164#ifdef CONFIG_PPC_ADV_DEBUG_REGS
1165static void handle_debug(struct pt_regs *regs, unsigned long debug_status)
1166{
1167 int changed = 0;
1168 /*
1169 * Determine the cause of the debug event, clear the
1170 * event flags and send a trap to the handler. Torez
1171 */
1172 if (debug_status & (DBSR_DAC1R | DBSR_DAC1W)) {
1173 dbcr_dac(current) &= ~(DBCR_DAC1R | DBCR_DAC1W);
1174#ifdef CONFIG_PPC_ADV_DEBUG_DAC_RANGE
1175 current->thread.dbcr2 &= ~DBCR2_DAC12MODE;
1176#endif
1177 do_send_trap(regs, mfspr(SPRN_DAC1), debug_status, TRAP_HWBKPT,
1178 5);
1179 changed |= 0x01;
1180 } else if (debug_status & (DBSR_DAC2R | DBSR_DAC2W)) {
1181 dbcr_dac(current) &= ~(DBCR_DAC2R | DBCR_DAC2W);
1182 do_send_trap(regs, mfspr(SPRN_DAC2), debug_status, TRAP_HWBKPT,
1183 6);
1184 changed |= 0x01;
1185 } else if (debug_status & DBSR_IAC1) {
1186 current->thread.dbcr0 &= ~DBCR0_IAC1;
1187 dbcr_iac_range(current) &= ~DBCR_IAC12MODE;
1188 do_send_trap(regs, mfspr(SPRN_IAC1), debug_status, TRAP_HWBKPT,
1189 1);
1190 changed |= 0x01;
1191 } else if (debug_status & DBSR_IAC2) {
1192 current->thread.dbcr0 &= ~DBCR0_IAC2;
1193 do_send_trap(regs, mfspr(SPRN_IAC2), debug_status, TRAP_HWBKPT,
1194 2);
1195 changed |= 0x01;
1196 } else if (debug_status & DBSR_IAC3) {
1197 current->thread.dbcr0 &= ~DBCR0_IAC3;
1198 dbcr_iac_range(current) &= ~DBCR_IAC34MODE;
1199 do_send_trap(regs, mfspr(SPRN_IAC3), debug_status, TRAP_HWBKPT,
1200 3);
1201 changed |= 0x01;
1202 } else if (debug_status & DBSR_IAC4) {
1203 current->thread.dbcr0 &= ~DBCR0_IAC4;
1204 do_send_trap(regs, mfspr(SPRN_IAC4), debug_status, TRAP_HWBKPT,
1205 4);
1206 changed |= 0x01;
1207 }
1208 /*
1209 * At the point this routine was called, the MSR(DE) was turned off.
1210 * Check all other debug flags and see if that bit needs to be turned
1211 * back on or not.
1212 */
1213 if (DBCR_ACTIVE_EVENTS(current->thread.dbcr0, current->thread.dbcr1))
1214 regs->msr |= MSR_DE;
1215 else
1216 /* Make sure the IDM flag is off */
1217 current->thread.dbcr0 &= ~DBCR0_IDM;
1218
1219 if (changed & 0x01)
1220 mtspr(SPRN_DBCR0, current->thread.dbcr0);
1221}
1028 1222
1029void __kprobes DebugException(struct pt_regs *regs, unsigned long debug_status) 1223void __kprobes DebugException(struct pt_regs *regs, unsigned long debug_status)
1030{ 1224{
1225 current->thread.dbsr = debug_status;
1226
1031 /* Hack alert: On BookE, Branch Taken stops on the branch itself, while 1227 /* Hack alert: On BookE, Branch Taken stops on the branch itself, while
1032 * on server, it stops on the target of the branch. In order to simulate 1228 * on server, it stops on the target of the branch. In order to simulate
1033 * the server behaviour, we thus restart right away with a single step 1229 * the server behaviour, we thus restart right away with a single step
@@ -1071,29 +1267,23 @@ void __kprobes DebugException(struct pt_regs *regs, unsigned long debug_status)
1071 if (debugger_sstep(regs)) 1267 if (debugger_sstep(regs))
1072 return; 1268 return;
1073 1269
1074 if (user_mode(regs))
1075 current->thread.dbcr0 &= ~(DBCR0_IC);
1076
1077 _exception(SIGTRAP, regs, TRAP_TRACE, regs->nip);
1078 } else if (debug_status & (DBSR_DAC1R | DBSR_DAC1W)) {
1079 regs->msr &= ~MSR_DE;
1080
1081 if (user_mode(regs)) { 1270 if (user_mode(regs)) {
1082 current->thread.dbcr0 &= ~(DBSR_DAC1R | DBSR_DAC1W | 1271 current->thread.dbcr0 &= ~DBCR0_IC;
1083 DBCR0_IDM); 1272#ifdef CONFIG_PPC_ADV_DEBUG_REGS
1084 } else { 1273 if (DBCR_ACTIVE_EVENTS(current->thread.dbcr0,
1085 /* Disable DAC interupts */ 1274 current->thread.dbcr1))
1086 mtspr(SPRN_DBCR0, mfspr(SPRN_DBCR0) & ~(DBSR_DAC1R | 1275 regs->msr |= MSR_DE;
1087 DBSR_DAC1W | DBCR0_IDM)); 1276 else
1088 1277 /* Make sure the IDM bit is off */
1089 /* Clear the DAC event */ 1278 current->thread.dbcr0 &= ~DBCR0_IDM;
1090 mtspr(SPRN_DBSR, (DBSR_DAC1R | DBSR_DAC1W)); 1279#endif
1091 } 1280 }
1092 /* Setup and send the trap to the handler */ 1281
1093 do_dabr(regs, mfspr(SPRN_DAC1), debug_status); 1282 _exception(SIGTRAP, regs, TRAP_TRACE, regs->nip);
1094 } 1283 } else
1284 handle_debug(regs, debug_status);
1095} 1285}
1096#endif /* CONFIG_4xx || CONFIG_BOOKE */ 1286#endif /* CONFIG_PPC_ADV_DEBUG_REGS */
1097 1287
1098#if !defined(CONFIG_TAU_INT) 1288#if !defined(CONFIG_TAU_INT)
1099void TAUException(struct pt_regs *regs) 1289void TAUException(struct pt_regs *regs)
diff --git a/arch/powerpc/kernel/vdso.c b/arch/powerpc/kernel/vdso.c
index d84d19224a95..13002fe206e7 100644
--- a/arch/powerpc/kernel/vdso.c
+++ b/arch/powerpc/kernel/vdso.c
@@ -22,7 +22,7 @@
22#include <linux/elf.h> 22#include <linux/elf.h>
23#include <linux/security.h> 23#include <linux/security.h>
24#include <linux/bootmem.h> 24#include <linux/bootmem.h>
25#include <linux/lmb.h> 25#include <linux/memblock.h>
26 26
27#include <asm/pgtable.h> 27#include <asm/pgtable.h>
28#include <asm/system.h> 28#include <asm/system.h>
@@ -734,7 +734,7 @@ static int __init vdso_init(void)
734 vdso_data->platform = machine_is(iseries) ? 0x200 : 0x100; 734 vdso_data->platform = machine_is(iseries) ? 0x200 : 0x100;
735 if (firmware_has_feature(FW_FEATURE_LPAR)) 735 if (firmware_has_feature(FW_FEATURE_LPAR))
736 vdso_data->platform |= 1; 736 vdso_data->platform |= 1;
737 vdso_data->physicalMemorySize = lmb_phys_mem_size(); 737 vdso_data->physicalMemorySize = memblock_phys_mem_size();
738 vdso_data->dcache_size = ppc64_caches.dsize; 738 vdso_data->dcache_size = ppc64_caches.dsize;
739 vdso_data->dcache_line_size = ppc64_caches.dline_size; 739 vdso_data->dcache_line_size = ppc64_caches.dline_size;
740 vdso_data->icache_size = ppc64_caches.isize; 740 vdso_data->icache_size = ppc64_caches.isize;
diff --git a/arch/powerpc/kernel/vio.c b/arch/powerpc/kernel/vio.c
index 77f64218abf3..00b9436f7652 100644
--- a/arch/powerpc/kernel/vio.c
+++ b/arch/powerpc/kernel/vio.c
@@ -17,6 +17,7 @@
17#include <linux/types.h> 17#include <linux/types.h>
18#include <linux/device.h> 18#include <linux/device.h>
19#include <linux/init.h> 19#include <linux/init.h>
20#include <linux/slab.h>
20#include <linux/console.h> 21#include <linux/console.h>
21#include <linux/module.h> 22#include <linux/module.h>
22#include <linux/mm.h> 23#include <linux/mm.h>
@@ -644,8 +645,10 @@ void vio_cmo_set_dev_desired(struct vio_dev *viodev, size_t desired)
644 found = 1; 645 found = 1;
645 break; 646 break;
646 } 647 }
647 if (!found) 648 if (!found) {
649 spin_unlock_irqrestore(&vio_cmo.lock, flags);
648 return; 650 return;
651 }
649 652
650 /* Increase/decrease in desired device entitlement */ 653 /* Increase/decrease in desired device entitlement */
651 if (desired >= viodev->cmo.desired) { 654 if (desired >= viodev->cmo.desired) {
@@ -704,7 +707,7 @@ static int vio_cmo_bus_probe(struct vio_dev *viodev)
704 * Check to see that device has a DMA window and configure 707 * Check to see that device has a DMA window and configure
705 * entitlement for the device. 708 * entitlement for the device.
706 */ 709 */
707 if (of_get_property(viodev->dev.archdata.of_node, 710 if (of_get_property(viodev->dev.of_node,
708 "ibm,my-dma-window", NULL)) { 711 "ibm,my-dma-window", NULL)) {
709 /* Check that the driver is CMO enabled and get desired DMA */ 712 /* Check that the driver is CMO enabled and get desired DMA */
710 if (!viodrv->get_desired_dma) { 713 if (!viodrv->get_desired_dma) {
@@ -957,9 +960,12 @@ viodev_cmo_rd_attr(allocated);
957 960
958static ssize_t name_show(struct device *, struct device_attribute *, char *); 961static ssize_t name_show(struct device *, struct device_attribute *, char *);
959static ssize_t devspec_show(struct device *, struct device_attribute *, char *); 962static ssize_t devspec_show(struct device *, struct device_attribute *, char *);
963static ssize_t modalias_show(struct device *dev, struct device_attribute *attr,
964 char *buf);
960static struct device_attribute vio_cmo_dev_attrs[] = { 965static struct device_attribute vio_cmo_dev_attrs[] = {
961 __ATTR_RO(name), 966 __ATTR_RO(name),
962 __ATTR_RO(devspec), 967 __ATTR_RO(devspec),
968 __ATTR_RO(modalias),
963 __ATTR(cmo_desired, S_IWUSR|S_IRUSR|S_IWGRP|S_IRGRP|S_IROTH, 969 __ATTR(cmo_desired, S_IWUSR|S_IRUSR|S_IWGRP|S_IRGRP|S_IROTH,
964 viodev_cmo_desired_show, viodev_cmo_desired_set), 970 viodev_cmo_desired_show, viodev_cmo_desired_set),
965 __ATTR(cmo_entitled, S_IRUGO, viodev_cmo_entitled_show, NULL), 971 __ATTR(cmo_entitled, S_IRUGO, viodev_cmo_entitled_show, NULL),
@@ -1048,7 +1054,7 @@ static struct iommu_table *vio_build_iommu_table(struct vio_dev *dev)
1048 if (firmware_has_feature(FW_FEATURE_ISERIES)) 1054 if (firmware_has_feature(FW_FEATURE_ISERIES))
1049 return vio_build_iommu_table_iseries(dev); 1055 return vio_build_iommu_table_iseries(dev);
1050 1056
1051 dma_window = of_get_property(dev->dev.archdata.of_node, 1057 dma_window = of_get_property(dev->dev.of_node,
1052 "ibm,my-dma-window", NULL); 1058 "ibm,my-dma-window", NULL);
1053 if (!dma_window) 1059 if (!dma_window)
1054 return NULL; 1060 return NULL;
@@ -1057,7 +1063,7 @@ static struct iommu_table *vio_build_iommu_table(struct vio_dev *dev)
1057 if (tbl == NULL) 1063 if (tbl == NULL)
1058 return NULL; 1064 return NULL;
1059 1065
1060 of_parse_dma_window(dev->dev.archdata.of_node, dma_window, 1066 of_parse_dma_window(dev->dev.of_node, dma_window,
1061 &tbl->it_index, &offset, &size); 1067 &tbl->it_index, &offset, &size);
1062 1068
1063 /* TCE table size - measured in tce entries */ 1069 /* TCE table size - measured in tce entries */
@@ -1085,7 +1091,7 @@ static const struct vio_device_id *vio_match_device(
1085{ 1091{
1086 while (ids->type[0] != '\0') { 1092 while (ids->type[0] != '\0') {
1087 if ((strncmp(dev->type, ids->type, strlen(ids->type)) == 0) && 1093 if ((strncmp(dev->type, ids->type, strlen(ids->type)) == 0) &&
1088 of_device_is_compatible(dev->dev.archdata.of_node, 1094 of_device_is_compatible(dev->dev.of_node,
1089 ids->compat)) 1095 ids->compat))
1090 return ids; 1096 return ids;
1091 ids++; 1097 ids++;
@@ -1178,7 +1184,7 @@ EXPORT_SYMBOL(vio_unregister_driver);
1178static void __devinit vio_dev_release(struct device *dev) 1184static void __devinit vio_dev_release(struct device *dev)
1179{ 1185{
1180 /* XXX should free TCE table */ 1186 /* XXX should free TCE table */
1181 of_node_put(dev->archdata.of_node); 1187 of_node_put(dev->of_node);
1182 kfree(to_vio_dev(dev)); 1188 kfree(to_vio_dev(dev));
1183} 1189}
1184 1190
@@ -1229,7 +1235,7 @@ struct vio_dev *vio_register_device_node(struct device_node *of_node)
1229 if (unit_address != NULL) 1235 if (unit_address != NULL)
1230 viodev->unit_address = *unit_address; 1236 viodev->unit_address = *unit_address;
1231 } 1237 }
1232 viodev->dev.archdata.of_node = of_node_get(of_node); 1238 viodev->dev.of_node = of_node_get(of_node);
1233 1239
1234 if (firmware_has_feature(FW_FEATURE_CMO)) 1240 if (firmware_has_feature(FW_FEATURE_CMO))
1235 vio_cmo_set_dma_ops(viodev); 1241 vio_cmo_set_dma_ops(viodev);
@@ -1314,14 +1320,32 @@ static ssize_t name_show(struct device *dev,
1314static ssize_t devspec_show(struct device *dev, 1320static ssize_t devspec_show(struct device *dev,
1315 struct device_attribute *attr, char *buf) 1321 struct device_attribute *attr, char *buf)
1316{ 1322{
1317 struct device_node *of_node = dev->archdata.of_node; 1323 struct device_node *of_node = dev->of_node;
1318 1324
1319 return sprintf(buf, "%s\n", of_node ? of_node->full_name : "none"); 1325 return sprintf(buf, "%s\n", of_node ? of_node->full_name : "none");
1320} 1326}
1321 1327
1328static ssize_t modalias_show(struct device *dev, struct device_attribute *attr,
1329 char *buf)
1330{
1331 const struct vio_dev *vio_dev = to_vio_dev(dev);
1332 struct device_node *dn;
1333 const char *cp;
1334
1335 dn = dev->of_node;
1336 if (!dn)
1337 return -ENODEV;
1338 cp = of_get_property(dn, "compatible", NULL);
1339 if (!cp)
1340 return -ENODEV;
1341
1342 return sprintf(buf, "vio:T%sS%s\n", vio_dev->type, cp);
1343}
1344
1322static struct device_attribute vio_dev_attrs[] = { 1345static struct device_attribute vio_dev_attrs[] = {
1323 __ATTR_RO(name), 1346 __ATTR_RO(name),
1324 __ATTR_RO(devspec), 1347 __ATTR_RO(devspec),
1348 __ATTR_RO(modalias),
1325 __ATTR_NULL 1349 __ATTR_NULL
1326}; 1350};
1327 1351
@@ -1346,7 +1370,7 @@ static int vio_hotplug(struct device *dev, struct kobj_uevent_env *env)
1346 struct device_node *dn; 1370 struct device_node *dn;
1347 const char *cp; 1371 const char *cp;
1348 1372
1349 dn = dev->archdata.of_node; 1373 dn = dev->of_node;
1350 if (!dn) 1374 if (!dn)
1351 return -ENODEV; 1375 return -ENODEV;
1352 cp = of_get_property(dn, "compatible", NULL); 1376 cp = of_get_property(dn, "compatible", NULL);
@@ -1364,6 +1388,7 @@ static struct bus_type vio_bus_type = {
1364 .match = vio_bus_match, 1388 .match = vio_bus_match,
1365 .probe = vio_bus_probe, 1389 .probe = vio_bus_probe,
1366 .remove = vio_bus_remove, 1390 .remove = vio_bus_remove,
1391 .pm = GENERIC_SUBSYS_PM_OPS,
1367}; 1392};
1368 1393
1369/** 1394/**
@@ -1377,7 +1402,7 @@ static struct bus_type vio_bus_type = {
1377*/ 1402*/
1378const void *vio_get_attribute(struct vio_dev *vdev, char *which, int *length) 1403const void *vio_get_attribute(struct vio_dev *vdev, char *which, int *length)
1379{ 1404{
1380 return of_get_property(vdev->dev.archdata.of_node, which, length); 1405 return of_get_property(vdev->dev.of_node, which, length);
1381} 1406}
1382EXPORT_SYMBOL(vio_get_attribute); 1407EXPORT_SYMBOL(vio_get_attribute);
1383 1408
diff --git a/arch/powerpc/kvm/44x.c b/arch/powerpc/kvm/44x.c
index f4d1b55aa70b..73c0a3f64ed1 100644
--- a/arch/powerpc/kvm/44x.c
+++ b/arch/powerpc/kvm/44x.c
@@ -18,6 +18,7 @@
18 */ 18 */
19 19
20#include <linux/kvm_host.h> 20#include <linux/kvm_host.h>
21#include <linux/slab.h>
21#include <linux/err.h> 22#include <linux/err.h>
22 23
23#include <asm/reg.h> 24#include <asm/reg.h>
@@ -146,7 +147,7 @@ static int __init kvmppc_44x_init(void)
146 if (r) 147 if (r)
147 return r; 148 return r;
148 149
149 return kvm_init(NULL, sizeof(struct kvmppc_vcpu_44x), THIS_MODULE); 150 return kvm_init(NULL, sizeof(struct kvmppc_vcpu_44x), 0, THIS_MODULE);
150} 151}
151 152
152static void __exit kvmppc_44x_exit(void) 153static void __exit kvmppc_44x_exit(void)
diff --git a/arch/powerpc/kvm/44x_emulate.c b/arch/powerpc/kvm/44x_emulate.c
index 61af58fcecee..65ea083a5b27 100644
--- a/arch/powerpc/kvm/44x_emulate.c
+++ b/arch/powerpc/kvm/44x_emulate.c
@@ -65,13 +65,14 @@ int kvmppc_core_emulate_op(struct kvm_run *run, struct kvm_vcpu *vcpu,
65 */ 65 */
66 switch (dcrn) { 66 switch (dcrn) {
67 case DCRN_CPR0_CONFIG_ADDR: 67 case DCRN_CPR0_CONFIG_ADDR:
68 vcpu->arch.gpr[rt] = vcpu->arch.cpr0_cfgaddr; 68 kvmppc_set_gpr(vcpu, rt, vcpu->arch.cpr0_cfgaddr);
69 break; 69 break;
70 case DCRN_CPR0_CONFIG_DATA: 70 case DCRN_CPR0_CONFIG_DATA:
71 local_irq_disable(); 71 local_irq_disable();
72 mtdcr(DCRN_CPR0_CONFIG_ADDR, 72 mtdcr(DCRN_CPR0_CONFIG_ADDR,
73 vcpu->arch.cpr0_cfgaddr); 73 vcpu->arch.cpr0_cfgaddr);
74 vcpu->arch.gpr[rt] = mfdcr(DCRN_CPR0_CONFIG_DATA); 74 kvmppc_set_gpr(vcpu, rt,
75 mfdcr(DCRN_CPR0_CONFIG_DATA));
75 local_irq_enable(); 76 local_irq_enable();
76 break; 77 break;
77 default: 78 default:
@@ -93,11 +94,11 @@ int kvmppc_core_emulate_op(struct kvm_run *run, struct kvm_vcpu *vcpu,
93 /* emulate some access in kernel */ 94 /* emulate some access in kernel */
94 switch (dcrn) { 95 switch (dcrn) {
95 case DCRN_CPR0_CONFIG_ADDR: 96 case DCRN_CPR0_CONFIG_ADDR:
96 vcpu->arch.cpr0_cfgaddr = vcpu->arch.gpr[rs]; 97 vcpu->arch.cpr0_cfgaddr = kvmppc_get_gpr(vcpu, rs);
97 break; 98 break;
98 default: 99 default:
99 run->dcr.dcrn = dcrn; 100 run->dcr.dcrn = dcrn;
100 run->dcr.data = vcpu->arch.gpr[rs]; 101 run->dcr.data = kvmppc_get_gpr(vcpu, rs);
101 run->dcr.is_write = 1; 102 run->dcr.is_write = 1;
102 vcpu->arch.dcr_needed = 1; 103 vcpu->arch.dcr_needed = 1;
103 kvmppc_account_exit(vcpu, DCR_EXITS); 104 kvmppc_account_exit(vcpu, DCR_EXITS);
@@ -146,13 +147,13 @@ int kvmppc_core_emulate_mtspr(struct kvm_vcpu *vcpu, int sprn, int rs)
146 147
147 switch (sprn) { 148 switch (sprn) {
148 case SPRN_PID: 149 case SPRN_PID:
149 kvmppc_set_pid(vcpu, vcpu->arch.gpr[rs]); break; 150 kvmppc_set_pid(vcpu, kvmppc_get_gpr(vcpu, rs)); break;
150 case SPRN_MMUCR: 151 case SPRN_MMUCR:
151 vcpu->arch.mmucr = vcpu->arch.gpr[rs]; break; 152 vcpu->arch.mmucr = kvmppc_get_gpr(vcpu, rs); break;
152 case SPRN_CCR0: 153 case SPRN_CCR0:
153 vcpu->arch.ccr0 = vcpu->arch.gpr[rs]; break; 154 vcpu->arch.ccr0 = kvmppc_get_gpr(vcpu, rs); break;
154 case SPRN_CCR1: 155 case SPRN_CCR1:
155 vcpu->arch.ccr1 = vcpu->arch.gpr[rs]; break; 156 vcpu->arch.ccr1 = kvmppc_get_gpr(vcpu, rs); break;
156 default: 157 default:
157 emulated = kvmppc_booke_emulate_mtspr(vcpu, sprn, rs); 158 emulated = kvmppc_booke_emulate_mtspr(vcpu, sprn, rs);
158 } 159 }
@@ -167,13 +168,13 @@ int kvmppc_core_emulate_mfspr(struct kvm_vcpu *vcpu, int sprn, int rt)
167 168
168 switch (sprn) { 169 switch (sprn) {
169 case SPRN_PID: 170 case SPRN_PID:
170 vcpu->arch.gpr[rt] = vcpu->arch.pid; break; 171 kvmppc_set_gpr(vcpu, rt, vcpu->arch.pid); break;
171 case SPRN_MMUCR: 172 case SPRN_MMUCR:
172 vcpu->arch.gpr[rt] = vcpu->arch.mmucr; break; 173 kvmppc_set_gpr(vcpu, rt, vcpu->arch.mmucr); break;
173 case SPRN_CCR0: 174 case SPRN_CCR0:
174 vcpu->arch.gpr[rt] = vcpu->arch.ccr0; break; 175 kvmppc_set_gpr(vcpu, rt, vcpu->arch.ccr0); break;
175 case SPRN_CCR1: 176 case SPRN_CCR1:
176 vcpu->arch.gpr[rt] = vcpu->arch.ccr1; break; 177 kvmppc_set_gpr(vcpu, rt, vcpu->arch.ccr1); break;
177 default: 178 default:
178 emulated = kvmppc_booke_emulate_mfspr(vcpu, sprn, rt); 179 emulated = kvmppc_booke_emulate_mfspr(vcpu, sprn, rt);
179 } 180 }
diff --git a/arch/powerpc/kvm/44x_tlb.c b/arch/powerpc/kvm/44x_tlb.c
index ff3cb63b8117..812312542e50 100644
--- a/arch/powerpc/kvm/44x_tlb.c
+++ b/arch/powerpc/kvm/44x_tlb.c
@@ -439,8 +439,8 @@ int kvmppc_44x_emul_tlbwe(struct kvm_vcpu *vcpu, u8 ra, u8 rs, u8 ws)
439 struct kvmppc_44x_tlbe *tlbe; 439 struct kvmppc_44x_tlbe *tlbe;
440 unsigned int gtlb_index; 440 unsigned int gtlb_index;
441 441
442 gtlb_index = vcpu->arch.gpr[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;
@@ -455,15 +455,15 @@ int kvmppc_44x_emul_tlbwe(struct kvm_vcpu *vcpu, u8 ra, u8 rs, u8 ws)
455 switch (ws) { 455 switch (ws) {
456 case PPC44x_TLB_PAGEID: 456 case PPC44x_TLB_PAGEID:
457 tlbe->tid = get_mmucr_stid(vcpu); 457 tlbe->tid = get_mmucr_stid(vcpu);
458 tlbe->word0 = vcpu->arch.gpr[rs]; 458 tlbe->word0 = kvmppc_get_gpr(vcpu, rs);
459 break; 459 break;
460 460
461 case PPC44x_TLB_XLAT: 461 case PPC44x_TLB_XLAT:
462 tlbe->word1 = vcpu->arch.gpr[rs]; 462 tlbe->word1 = kvmppc_get_gpr(vcpu, rs);
463 break; 463 break;
464 464
465 case PPC44x_TLB_ATTRIB: 465 case PPC44x_TLB_ATTRIB:
466 tlbe->word2 = vcpu->arch.gpr[rs]; 466 tlbe->word2 = kvmppc_get_gpr(vcpu, rs);
467 break; 467 break;
468 468
469 default: 469 default:
@@ -500,18 +500,20 @@ int kvmppc_44x_emul_tlbsx(struct kvm_vcpu *vcpu, u8 rt, u8 ra, u8 rb, u8 rc)
500 unsigned int as = get_mmucr_sts(vcpu); 500 unsigned int as = get_mmucr_sts(vcpu);
501 unsigned int pid = get_mmucr_stid(vcpu); 501 unsigned int pid = get_mmucr_stid(vcpu);
502 502
503 ea = vcpu->arch.gpr[rb]; 503 ea = kvmppc_get_gpr(vcpu, rb);
504 if (ra) 504 if (ra)
505 ea += vcpu->arch.gpr[ra]; 505 ea += kvmppc_get_gpr(vcpu, ra);
506 506
507 gtlb_index = kvmppc_44x_tlb_index(vcpu, ea, pid, as); 507 gtlb_index = kvmppc_44x_tlb_index(vcpu, ea, pid, as);
508 if (rc) { 508 if (rc) {
509 u32 cr = kvmppc_get_cr(vcpu);
510
509 if (gtlb_index < 0) 511 if (gtlb_index < 0)
510 vcpu->arch.cr &= ~0x20000000; 512 kvmppc_set_cr(vcpu, cr & ~0x20000000);
511 else 513 else
512 vcpu->arch.cr |= 0x20000000; 514 kvmppc_set_cr(vcpu, cr | 0x20000000);
513 } 515 }
514 vcpu->arch.gpr[rt] = gtlb_index; 516 kvmppc_set_gpr(vcpu, rt, gtlb_index);
515 517
516 kvmppc_set_exit_type(vcpu, EMULATED_TLBSX_EXITS); 518 kvmppc_set_exit_type(vcpu, EMULATED_TLBSX_EXITS);
517 return EMULATE_DONE; 519 return EMULATE_DONE;
diff --git a/arch/powerpc/kvm/Kconfig b/arch/powerpc/kvm/Kconfig
index 6fb6e8aa3890..b7baff78f90c 100644
--- a/arch/powerpc/kvm/Kconfig
+++ b/arch/powerpc/kvm/Kconfig
@@ -20,13 +20,36 @@ config KVM
20 bool 20 bool
21 select PREEMPT_NOTIFIERS 21 select PREEMPT_NOTIFIERS
22 select ANON_INODES 22 select ANON_INODES
23 select KVM_MMIO
24
25config KVM_BOOK3S_HANDLER
26 bool
27
28config KVM_BOOK3S_32_HANDLER
29 bool
30 select KVM_BOOK3S_HANDLER
23 31
24config KVM_BOOK3S_64_HANDLER 32config KVM_BOOK3S_64_HANDLER
25 bool 33 bool
34 select KVM_BOOK3S_HANDLER
35
36config KVM_BOOK3S_32
37 tristate "KVM support for PowerPC book3s_32 processors"
38 depends on EXPERIMENTAL && PPC_BOOK3S_32 && !SMP && !PTE_64BIT
39 select KVM
40 select KVM_BOOK3S_32_HANDLER
41 ---help---
42 Support running unmodified book3s_32 guest kernels
43 in virtual machines on book3s_32 host processors.
44
45 This module provides access to the hardware capabilities through
46 a character device node named /dev/kvm.
47
48 If unsure, say N.
26 49
27config KVM_BOOK3S_64 50config KVM_BOOK3S_64
28 tristate "KVM support for PowerPC book3s_64 processors" 51 tristate "KVM support for PowerPC book3s_64 processors"
29 depends on EXPERIMENTAL && PPC64 52 depends on EXPERIMENTAL && PPC_BOOK3S_64
30 select KVM 53 select KVM
31 select KVM_BOOK3S_64_HANDLER 54 select KVM_BOOK3S_64_HANDLER
32 ---help--- 55 ---help---
@@ -75,6 +98,7 @@ config KVM_E500
75 98
76 If unsure, say N. 99 If unsure, say N.
77 100
101source drivers/vhost/Kconfig
78source drivers/virtio/Kconfig 102source drivers/virtio/Kconfig
79 103
80endif # VIRTUALIZATION 104endif # VIRTUALIZATION
diff --git a/arch/powerpc/kvm/Makefile b/arch/powerpc/kvm/Makefile
index 56484d652377..ff436066bf77 100644
--- a/arch/powerpc/kvm/Makefile
+++ b/arch/powerpc/kvm/Makefile
@@ -14,7 +14,7 @@ CFLAGS_emulate.o := -I.
14 14
15common-objs-y += powerpc.o emulate.o 15common-objs-y += powerpc.o emulate.o
16obj-$(CONFIG_KVM_EXIT_TIMING) += timing.o 16obj-$(CONFIG_KVM_EXIT_TIMING) += timing.o
17obj-$(CONFIG_KVM_BOOK3S_64_HANDLER) += book3s_64_exports.o 17obj-$(CONFIG_KVM_BOOK3S_HANDLER) += book3s_exports.o
18 18
19AFLAGS_booke_interrupts.o := -I$(obj) 19AFLAGS_booke_interrupts.o := -I$(obj)
20 20
@@ -40,17 +40,31 @@ kvm-objs-$(CONFIG_KVM_E500) := $(kvm-e500-objs)
40 40
41kvm-book3s_64-objs := \ 41kvm-book3s_64-objs := \
42 $(common-objs-y) \ 42 $(common-objs-y) \
43 fpu.o \
44 book3s_paired_singles.o \
43 book3s.o \ 45 book3s.o \
44 book3s_64_emulate.o \ 46 book3s_emulate.o \
45 book3s_64_interrupts.o \ 47 book3s_interrupts.o \
46 book3s_64_mmu_host.o \ 48 book3s_64_mmu_host.o \
47 book3s_64_mmu.o \ 49 book3s_64_mmu.o \
48 book3s_32_mmu.o 50 book3s_32_mmu.o
49kvm-objs-$(CONFIG_KVM_BOOK3S_64) := $(kvm-book3s_64-objs) 51kvm-objs-$(CONFIG_KVM_BOOK3S_64) := $(kvm-book3s_64-objs)
50 52
53kvm-book3s_32-objs := \
54 $(common-objs-y) \
55 fpu.o \
56 book3s_paired_singles.o \
57 book3s.o \
58 book3s_emulate.o \
59 book3s_interrupts.o \
60 book3s_32_mmu_host.o \
61 book3s_32_mmu.o
62kvm-objs-$(CONFIG_KVM_BOOK3S_32) := $(kvm-book3s_32-objs)
63
51kvm-objs := $(kvm-objs-m) $(kvm-objs-y) 64kvm-objs := $(kvm-objs-m) $(kvm-objs-y)
52 65
53obj-$(CONFIG_KVM_440) += kvm.o 66obj-$(CONFIG_KVM_440) += kvm.o
54obj-$(CONFIG_KVM_E500) += kvm.o 67obj-$(CONFIG_KVM_E500) += kvm.o
55obj-$(CONFIG_KVM_BOOK3S_64) += kvm.o 68obj-$(CONFIG_KVM_BOOK3S_64) += kvm.o
69obj-$(CONFIG_KVM_BOOK3S_32) += kvm.o
56 70
diff --git a/arch/powerpc/kvm/book3s.c b/arch/powerpc/kvm/book3s.c
index 3e294bd9b8c6..b998abf1a63d 100644
--- a/arch/powerpc/kvm/book3s.c
+++ b/arch/powerpc/kvm/book3s.c
@@ -16,6 +16,7 @@
16 16
17#include <linux/kvm_host.h> 17#include <linux/kvm_host.h>
18#include <linux/err.h> 18#include <linux/err.h>
19#include <linux/slab.h>
19 20
20#include <asm/reg.h> 21#include <asm/reg.h>
21#include <asm/cputable.h> 22#include <asm/cputable.h>
@@ -26,19 +27,26 @@
26#include <asm/kvm_ppc.h> 27#include <asm/kvm_ppc.h>
27#include <asm/kvm_book3s.h> 28#include <asm/kvm_book3s.h>
28#include <asm/mmu_context.h> 29#include <asm/mmu_context.h>
30#include <linux/gfp.h>
29#include <linux/sched.h> 31#include <linux/sched.h>
30#include <linux/vmalloc.h> 32#include <linux/vmalloc.h>
33#include <linux/highmem.h>
31 34
32#define VCPU_STAT(x) offsetof(struct kvm_vcpu, stat.x), KVM_STAT_VCPU 35#define VCPU_STAT(x) offsetof(struct kvm_vcpu, stat.x), KVM_STAT_VCPU
33 36
34/* #define EXIT_DEBUG */ 37/* #define EXIT_DEBUG */
35/* #define EXIT_DEBUG_SIMPLE */ 38/* #define EXIT_DEBUG_SIMPLE */
39/* #define DEBUG_EXT */
36 40
37/* Without AGGRESSIVE_DEC we only fire off a DEC interrupt when DEC turns 0. 41static int kvmppc_handle_ext(struct kvm_vcpu *vcpu, unsigned int exit_nr,
38 * When set, we retrigger a DEC interrupt after that if DEC <= 0. 42 ulong msr);
39 * PPC32 Linux runs faster without AGGRESSIVE_DEC, PPC64 Linux requires it. */
40 43
41/* #define AGGRESSIVE_DEC */ 44/* Some compatibility defines */
45#ifdef CONFIG_PPC_BOOK3S_32
46#define MSR_USER32 MSR_USER
47#define MSR_USER64 MSR_USER
48#define HW_PAGE_SIZE PAGE_SIZE
49#endif
42 50
43struct kvm_stats_debugfs_item debugfs_entries[] = { 51struct kvm_stats_debugfs_item debugfs_entries[] = {
44 { "exits", VCPU_STAT(sum_exits) }, 52 { "exits", VCPU_STAT(sum_exits) },
@@ -71,17 +79,33 @@ void kvmppc_core_load_guest_debugstate(struct kvm_vcpu *vcpu)
71 79
72void kvmppc_core_vcpu_load(struct kvm_vcpu *vcpu, int cpu) 80void kvmppc_core_vcpu_load(struct kvm_vcpu *vcpu, int cpu)
73{ 81{
74 memcpy(get_paca()->kvm_slb, to_book3s(vcpu)->slb_shadow, sizeof(get_paca()->kvm_slb)); 82#ifdef CONFIG_PPC_BOOK3S_64
75 get_paca()->kvm_slb_max = to_book3s(vcpu)->slb_shadow_max; 83 memcpy(to_svcpu(vcpu)->slb, to_book3s(vcpu)->slb_shadow, sizeof(to_svcpu(vcpu)->slb));
84 memcpy(&get_paca()->shadow_vcpu, to_book3s(vcpu)->shadow_vcpu,
85 sizeof(get_paca()->shadow_vcpu));
86 to_svcpu(vcpu)->slb_max = to_book3s(vcpu)->slb_shadow_max;
87#endif
88
89#ifdef CONFIG_PPC_BOOK3S_32
90 current->thread.kvm_shadow_vcpu = to_book3s(vcpu)->shadow_vcpu;
91#endif
76} 92}
77 93
78void kvmppc_core_vcpu_put(struct kvm_vcpu *vcpu) 94void kvmppc_core_vcpu_put(struct kvm_vcpu *vcpu)
79{ 95{
80 memcpy(to_book3s(vcpu)->slb_shadow, get_paca()->kvm_slb, sizeof(get_paca()->kvm_slb)); 96#ifdef CONFIG_PPC_BOOK3S_64
81 to_book3s(vcpu)->slb_shadow_max = get_paca()->kvm_slb_max; 97 memcpy(to_book3s(vcpu)->slb_shadow, to_svcpu(vcpu)->slb, sizeof(to_svcpu(vcpu)->slb));
98 memcpy(to_book3s(vcpu)->shadow_vcpu, &get_paca()->shadow_vcpu,
99 sizeof(get_paca()->shadow_vcpu));
100 to_book3s(vcpu)->slb_shadow_max = to_svcpu(vcpu)->slb_max;
101#endif
102
103 kvmppc_giveup_ext(vcpu, MSR_FP);
104 kvmppc_giveup_ext(vcpu, MSR_VEC);
105 kvmppc_giveup_ext(vcpu, MSR_VSX);
82} 106}
83 107
84#if defined(AGGRESSIVE_DEC) || defined(EXIT_DEBUG) 108#if defined(EXIT_DEBUG)
85static u32 kvmppc_get_dec(struct kvm_vcpu *vcpu) 109static u32 kvmppc_get_dec(struct kvm_vcpu *vcpu)
86{ 110{
87 u64 jd = mftb() - vcpu->arch.dec_jiffies; 111 u64 jd = mftb() - vcpu->arch.dec_jiffies;
@@ -89,6 +113,23 @@ static u32 kvmppc_get_dec(struct kvm_vcpu *vcpu)
89} 113}
90#endif 114#endif
91 115
116static void kvmppc_recalc_shadow_msr(struct kvm_vcpu *vcpu)
117{
118 vcpu->arch.shadow_msr = vcpu->arch.msr;
119 /* Guest MSR values */
120 vcpu->arch.shadow_msr &= MSR_FE0 | MSR_FE1 | MSR_SF | MSR_SE |
121 MSR_BE | MSR_DE;
122 /* Process MSR values */
123 vcpu->arch.shadow_msr |= MSR_ME | MSR_RI | MSR_IR | MSR_DR | MSR_PR |
124 MSR_EE;
125 /* External providers the guest reserved */
126 vcpu->arch.shadow_msr |= (vcpu->arch.msr & vcpu->arch.guest_owned_ext);
127 /* 64-bit Process MSR values */
128#ifdef CONFIG_PPC_BOOK3S_64
129 vcpu->arch.shadow_msr |= MSR_ISF | MSR_HV;
130#endif
131}
132
92void kvmppc_set_msr(struct kvm_vcpu *vcpu, u64 msr) 133void kvmppc_set_msr(struct kvm_vcpu *vcpu, u64 msr)
93{ 134{
94 ulong old_msr = vcpu->arch.msr; 135 ulong old_msr = vcpu->arch.msr;
@@ -96,12 +137,10 @@ void kvmppc_set_msr(struct kvm_vcpu *vcpu, u64 msr)
96#ifdef EXIT_DEBUG 137#ifdef EXIT_DEBUG
97 printk(KERN_INFO "KVM: Set MSR to 0x%llx\n", msr); 138 printk(KERN_INFO "KVM: Set MSR to 0x%llx\n", msr);
98#endif 139#endif
140
99 msr &= to_book3s(vcpu)->msr_mask; 141 msr &= to_book3s(vcpu)->msr_mask;
100 vcpu->arch.msr = msr; 142 vcpu->arch.msr = msr;
101 vcpu->arch.shadow_msr = msr | MSR_USER32; 143 kvmppc_recalc_shadow_msr(vcpu);
102 vcpu->arch.shadow_msr &= ( MSR_VEC | MSR_VSX | MSR_FP | MSR_FE0 |
103 MSR_USER64 | MSR_SE | MSR_BE | MSR_DE |
104 MSR_FE1);
105 144
106 if (msr & (MSR_WE|MSR_POW)) { 145 if (msr & (MSR_WE|MSR_POW)) {
107 if (!vcpu->arch.pending_exceptions) { 146 if (!vcpu->arch.pending_exceptions) {
@@ -110,26 +149,29 @@ void kvmppc_set_msr(struct kvm_vcpu *vcpu, u64 msr)
110 } 149 }
111 } 150 }
112 151
113 if (((vcpu->arch.msr & (MSR_IR|MSR_DR)) != (old_msr & (MSR_IR|MSR_DR))) || 152 if ((vcpu->arch.msr & (MSR_PR|MSR_IR|MSR_DR)) !=
114 (vcpu->arch.msr & MSR_PR) != (old_msr & MSR_PR)) { 153 (old_msr & (MSR_PR|MSR_IR|MSR_DR))) {
115 kvmppc_mmu_flush_segments(vcpu); 154 kvmppc_mmu_flush_segments(vcpu);
116 kvmppc_mmu_map_segment(vcpu, vcpu->arch.pc); 155 kvmppc_mmu_map_segment(vcpu, kvmppc_get_pc(vcpu));
117 } 156 }
157
158 /* Preload FPU if it's enabled */
159 if (vcpu->arch.msr & MSR_FP)
160 kvmppc_handle_ext(vcpu, BOOK3S_INTERRUPT_FP_UNAVAIL, MSR_FP);
118} 161}
119 162
120void kvmppc_inject_interrupt(struct kvm_vcpu *vcpu, int vec, u64 flags) 163void kvmppc_inject_interrupt(struct kvm_vcpu *vcpu, int vec, u64 flags)
121{ 164{
122 vcpu->arch.srr0 = vcpu->arch.pc; 165 vcpu->arch.srr0 = kvmppc_get_pc(vcpu);
123 vcpu->arch.srr1 = vcpu->arch.msr | flags; 166 vcpu->arch.srr1 = vcpu->arch.msr | flags;
124 vcpu->arch.pc = to_book3s(vcpu)->hior + vec; 167 kvmppc_set_pc(vcpu, to_book3s(vcpu)->hior + vec);
125 vcpu->arch.mmu.reset_msr(vcpu); 168 vcpu->arch.mmu.reset_msr(vcpu);
126} 169}
127 170
128void kvmppc_book3s_queue_irqprio(struct kvm_vcpu *vcpu, unsigned int vec) 171static int kvmppc_book3s_vec2irqprio(unsigned int vec)
129{ 172{
130 unsigned int prio; 173 unsigned int prio;
131 174
132 vcpu->stat.queue_intr++;
133 switch (vec) { 175 switch (vec) {
134 case 0x100: prio = BOOK3S_IRQPRIO_SYSTEM_RESET; break; 176 case 0x100: prio = BOOK3S_IRQPRIO_SYSTEM_RESET; break;
135 case 0x200: prio = BOOK3S_IRQPRIO_MACHINE_CHECK; break; 177 case 0x200: prio = BOOK3S_IRQPRIO_MACHINE_CHECK; break;
@@ -149,15 +191,31 @@ void kvmppc_book3s_queue_irqprio(struct kvm_vcpu *vcpu, unsigned int vec)
149 default: prio = BOOK3S_IRQPRIO_MAX; break; 191 default: prio = BOOK3S_IRQPRIO_MAX; break;
150 } 192 }
151 193
152 set_bit(prio, &vcpu->arch.pending_exceptions); 194 return prio;
195}
196
197static void kvmppc_book3s_dequeue_irqprio(struct kvm_vcpu *vcpu,
198 unsigned int vec)
199{
200 clear_bit(kvmppc_book3s_vec2irqprio(vec),
201 &vcpu->arch.pending_exceptions);
202}
203
204void kvmppc_book3s_queue_irqprio(struct kvm_vcpu *vcpu, unsigned int vec)
205{
206 vcpu->stat.queue_intr++;
207
208 set_bit(kvmppc_book3s_vec2irqprio(vec),
209 &vcpu->arch.pending_exceptions);
153#ifdef EXIT_DEBUG 210#ifdef EXIT_DEBUG
154 printk(KERN_INFO "Queueing interrupt %x\n", vec); 211 printk(KERN_INFO "Queueing interrupt %x\n", vec);
155#endif 212#endif
156} 213}
157 214
158 215
159void kvmppc_core_queue_program(struct kvm_vcpu *vcpu) 216void kvmppc_core_queue_program(struct kvm_vcpu *vcpu, ulong flags)
160{ 217{
218 to_book3s(vcpu)->prog_flags = flags;
161 kvmppc_book3s_queue_irqprio(vcpu, BOOK3S_INTERRUPT_PROGRAM); 219 kvmppc_book3s_queue_irqprio(vcpu, BOOK3S_INTERRUPT_PROGRAM);
162} 220}
163 221
@@ -171,16 +229,28 @@ int kvmppc_core_pending_dec(struct kvm_vcpu *vcpu)
171 return test_bit(BOOK3S_INTERRUPT_DECREMENTER >> 7, &vcpu->arch.pending_exceptions); 229 return test_bit(BOOK3S_INTERRUPT_DECREMENTER >> 7, &vcpu->arch.pending_exceptions);
172} 230}
173 231
232void kvmppc_core_dequeue_dec(struct kvm_vcpu *vcpu)
233{
234 kvmppc_book3s_dequeue_irqprio(vcpu, BOOK3S_INTERRUPT_DECREMENTER);
235}
236
174void kvmppc_core_queue_external(struct kvm_vcpu *vcpu, 237void kvmppc_core_queue_external(struct kvm_vcpu *vcpu,
175 struct kvm_interrupt *irq) 238 struct kvm_interrupt *irq)
176{ 239{
177 kvmppc_book3s_queue_irqprio(vcpu, BOOK3S_INTERRUPT_EXTERNAL); 240 kvmppc_book3s_queue_irqprio(vcpu, BOOK3S_INTERRUPT_EXTERNAL);
178} 241}
179 242
243void kvmppc_core_dequeue_external(struct kvm_vcpu *vcpu,
244 struct kvm_interrupt *irq)
245{
246 kvmppc_book3s_dequeue_irqprio(vcpu, BOOK3S_INTERRUPT_EXTERNAL);
247}
248
180int kvmppc_book3s_irqprio_deliver(struct kvm_vcpu *vcpu, unsigned int priority) 249int kvmppc_book3s_irqprio_deliver(struct kvm_vcpu *vcpu, unsigned int priority)
181{ 250{
182 int deliver = 1; 251 int deliver = 1;
183 int vec = 0; 252 int vec = 0;
253 ulong flags = 0ULL;
184 254
185 switch (priority) { 255 switch (priority) {
186 case BOOK3S_IRQPRIO_DECREMENTER: 256 case BOOK3S_IRQPRIO_DECREMENTER:
@@ -214,6 +284,7 @@ int kvmppc_book3s_irqprio_deliver(struct kvm_vcpu *vcpu, unsigned int priority)
214 break; 284 break;
215 case BOOK3S_IRQPRIO_PROGRAM: 285 case BOOK3S_IRQPRIO_PROGRAM:
216 vec = BOOK3S_INTERRUPT_PROGRAM; 286 vec = BOOK3S_INTERRUPT_PROGRAM;
287 flags = to_book3s(vcpu)->prog_flags;
217 break; 288 break;
218 case BOOK3S_IRQPRIO_VSX: 289 case BOOK3S_IRQPRIO_VSX:
219 vec = BOOK3S_INTERRUPT_VSX; 290 vec = BOOK3S_INTERRUPT_VSX;
@@ -244,7 +315,7 @@ int kvmppc_book3s_irqprio_deliver(struct kvm_vcpu *vcpu, unsigned int priority)
244#endif 315#endif
245 316
246 if (deliver) 317 if (deliver)
247 kvmppc_inject_interrupt(vcpu, vec, 0ULL); 318 kvmppc_inject_interrupt(vcpu, vec, flags);
248 319
249 return deliver; 320 return deliver;
250} 321}
@@ -254,21 +325,15 @@ void kvmppc_core_deliver_interrupts(struct kvm_vcpu *vcpu)
254 unsigned long *pending = &vcpu->arch.pending_exceptions; 325 unsigned long *pending = &vcpu->arch.pending_exceptions;
255 unsigned int priority; 326 unsigned int priority;
256 327
257 /* XXX be more clever here - no need to mftb() on every entry */
258 /* Issue DEC again if it's still active */
259#ifdef AGGRESSIVE_DEC
260 if (vcpu->arch.msr & MSR_EE)
261 if (kvmppc_get_dec(vcpu) & 0x80000000)
262 kvmppc_core_queue_dec(vcpu);
263#endif
264
265#ifdef EXIT_DEBUG 328#ifdef EXIT_DEBUG
266 if (vcpu->arch.pending_exceptions) 329 if (vcpu->arch.pending_exceptions)
267 printk(KERN_EMERG "KVM: Check pending: %lx\n", vcpu->arch.pending_exceptions); 330 printk(KERN_EMERG "KVM: Check pending: %lx\n", vcpu->arch.pending_exceptions);
268#endif 331#endif
269 priority = __ffs(*pending); 332 priority = __ffs(*pending);
270 while (priority <= (sizeof(unsigned int) * 8)) { 333 while (priority < BOOK3S_IRQPRIO_MAX) {
271 if (kvmppc_book3s_irqprio_deliver(vcpu, priority)) { 334 if (kvmppc_book3s_irqprio_deliver(vcpu, priority) &&
335 (priority != BOOK3S_IRQPRIO_DECREMENTER)) {
336 /* DEC interrupts get cleared by mtdec */
272 clear_bit(priority, &vcpu->arch.pending_exceptions); 337 clear_bit(priority, &vcpu->arch.pending_exceptions);
273 break; 338 break;
274 } 339 }
@@ -281,13 +346,18 @@ void kvmppc_core_deliver_interrupts(struct kvm_vcpu *vcpu)
281 346
282void kvmppc_set_pvr(struct kvm_vcpu *vcpu, u32 pvr) 347void kvmppc_set_pvr(struct kvm_vcpu *vcpu, u32 pvr)
283{ 348{
349 u32 host_pvr;
350
284 vcpu->arch.hflags &= ~BOOK3S_HFLAG_SLB; 351 vcpu->arch.hflags &= ~BOOK3S_HFLAG_SLB;
285 vcpu->arch.pvr = pvr; 352 vcpu->arch.pvr = pvr;
353#ifdef CONFIG_PPC_BOOK3S_64
286 if ((pvr >= 0x330000) && (pvr < 0x70330000)) { 354 if ((pvr >= 0x330000) && (pvr < 0x70330000)) {
287 kvmppc_mmu_book3s_64_init(vcpu); 355 kvmppc_mmu_book3s_64_init(vcpu);
288 to_book3s(vcpu)->hior = 0xfff00000; 356 to_book3s(vcpu)->hior = 0xfff00000;
289 to_book3s(vcpu)->msr_mask = 0xffffffffffffffffULL; 357 to_book3s(vcpu)->msr_mask = 0xffffffffffffffffULL;
290 } else { 358 } else
359#endif
360 {
291 kvmppc_mmu_book3s_32_init(vcpu); 361 kvmppc_mmu_book3s_32_init(vcpu);
292 to_book3s(vcpu)->hior = 0; 362 to_book3s(vcpu)->hior = 0;
293 to_book3s(vcpu)->msr_mask = 0xffffffffULL; 363 to_book3s(vcpu)->msr_mask = 0xffffffffULL;
@@ -300,6 +370,32 @@ void kvmppc_set_pvr(struct kvm_vcpu *vcpu, u32 pvr)
300 !strcmp(cur_cpu_spec->platform, "ppc970")) 370 !strcmp(cur_cpu_spec->platform, "ppc970"))
301 vcpu->arch.hflags |= BOOK3S_HFLAG_DCBZ32; 371 vcpu->arch.hflags |= BOOK3S_HFLAG_DCBZ32;
302 372
373 /* Cell performs badly if MSR_FEx are set. So let's hope nobody
374 really needs them in a VM on Cell and force disable them. */
375 if (!strcmp(cur_cpu_spec->platform, "ppc-cell-be"))
376 to_book3s(vcpu)->msr_mask &= ~(MSR_FE0 | MSR_FE1);
377
378#ifdef CONFIG_PPC_BOOK3S_32
379 /* 32 bit Book3S always has 32 byte dcbz */
380 vcpu->arch.hflags |= BOOK3S_HFLAG_DCBZ32;
381#endif
382
383 /* On some CPUs we can execute paired single operations natively */
384 asm ( "mfpvr %0" : "=r"(host_pvr));
385 switch (host_pvr) {
386 case 0x00080200: /* lonestar 2.0 */
387 case 0x00088202: /* lonestar 2.2 */
388 case 0x70000100: /* gekko 1.0 */
389 case 0x00080100: /* gekko 2.0 */
390 case 0x00083203: /* gekko 2.3a */
391 case 0x00083213: /* gekko 2.3b */
392 case 0x00083204: /* gekko 2.4 */
393 case 0x00083214: /* gekko 2.4e (8SE) - retail HW2 */
394 case 0x00087200: /* broadway */
395 vcpu->arch.hflags |= BOOK3S_HFLAG_NATIVE_PS;
396 /* Enable HID2.PSE - in case we need it later */
397 mtspr(SPRN_HID2_GEKKO, mfspr(SPRN_HID2_GEKKO) | (1 << 29));
398 }
303} 399}
304 400
305/* Book3s_32 CPUs always have 32 bytes cache line size, which Linux assumes. To 401/* Book3s_32 CPUs always have 32 bytes cache line size, which Linux assumes. To
@@ -313,34 +409,29 @@ void kvmppc_set_pvr(struct kvm_vcpu *vcpu, u32 pvr)
313 */ 409 */
314static void kvmppc_patch_dcbz(struct kvm_vcpu *vcpu, struct kvmppc_pte *pte) 410static void kvmppc_patch_dcbz(struct kvm_vcpu *vcpu, struct kvmppc_pte *pte)
315{ 411{
316 bool touched = false; 412 struct page *hpage;
317 hva_t hpage; 413 u64 hpage_offset;
318 u32 *page; 414 u32 *page;
319 int i; 415 int i;
320 416
321 hpage = gfn_to_hva(vcpu->kvm, pte->raddr >> PAGE_SHIFT); 417 hpage = gfn_to_page(vcpu->kvm, pte->raddr >> PAGE_SHIFT);
322 if (kvm_is_error_hva(hpage)) 418 if (is_error_page(hpage))
323 return; 419 return;
324 420
325 hpage |= pte->raddr & ~PAGE_MASK; 421 hpage_offset = pte->raddr & ~PAGE_MASK;
326 hpage &= ~0xFFFULL; 422 hpage_offset &= ~0xFFFULL;
423 hpage_offset /= 4;
327 424
328 page = vmalloc(HW_PAGE_SIZE); 425 get_page(hpage);
426 page = kmap_atomic(hpage, KM_USER0);
329 427
330 if (copy_from_user(page, (void __user *)hpage, HW_PAGE_SIZE)) 428 /* patch dcbz into reserved instruction, so we trap */
331 goto out; 429 for (i=hpage_offset; i < hpage_offset + (HW_PAGE_SIZE / 4); i++)
332 430 if ((page[i] & 0xff0007ff) == INS_DCBZ)
333 for (i=0; i < HW_PAGE_SIZE / 4; i++) 431 page[i] &= 0xfffffff7;
334 if ((page[i] & 0xff0007ff) == INS_DCBZ) {
335 page[i] &= 0xfffffff7; // reserved instruction, so we trap
336 touched = true;
337 }
338
339 if (touched)
340 copy_to_user((void __user *)hpage, page, HW_PAGE_SIZE);
341 432
342out: 433 kunmap_atomic(page, KM_USER0);
343 vfree(page); 434 put_page(hpage);
344} 435}
345 436
346static int kvmppc_xlate(struct kvm_vcpu *vcpu, ulong eaddr, bool data, 437static int kvmppc_xlate(struct kvm_vcpu *vcpu, ulong eaddr, bool data,
@@ -354,15 +445,7 @@ static int kvmppc_xlate(struct kvm_vcpu *vcpu, ulong eaddr, bool data,
354 } else { 445 } else {
355 pte->eaddr = eaddr; 446 pte->eaddr = eaddr;
356 pte->raddr = eaddr & 0xffffffff; 447 pte->raddr = eaddr & 0xffffffff;
357 pte->vpage = eaddr >> 12; 448 pte->vpage = VSID_REAL | eaddr >> 12;
358 switch (vcpu->arch.msr & (MSR_DR|MSR_IR)) {
359 case 0:
360 pte->vpage |= VSID_REAL;
361 case MSR_DR:
362 pte->vpage |= VSID_REAL_DR;
363 case MSR_IR:
364 pte->vpage |= VSID_REAL_IR;
365 }
366 pte->may_read = true; 449 pte->may_read = true;
367 pte->may_write = true; 450 pte->may_write = true;
368 pte->may_execute = true; 451 pte->may_execute = true;
@@ -397,55 +480,55 @@ err:
397 return kvmppc_bad_hva(); 480 return kvmppc_bad_hva();
398} 481}
399 482
400int kvmppc_st(struct kvm_vcpu *vcpu, ulong eaddr, int size, void *ptr) 483int kvmppc_st(struct kvm_vcpu *vcpu, ulong *eaddr, int size, void *ptr,
484 bool data)
401{ 485{
402 struct kvmppc_pte pte; 486 struct kvmppc_pte pte;
403 hva_t hva = eaddr;
404 487
405 vcpu->stat.st++; 488 vcpu->stat.st++;
406 489
407 if (kvmppc_xlate(vcpu, eaddr, false, &pte)) 490 if (kvmppc_xlate(vcpu, *eaddr, data, &pte))
408 goto err; 491 return -ENOENT;
409 492
410 hva = kvmppc_pte_to_hva(vcpu, &pte, false); 493 *eaddr = pte.raddr;
411 if (kvm_is_error_hva(hva))
412 goto err;
413 494
414 if (copy_to_user((void __user *)hva, ptr, size)) { 495 if (!pte.may_write)
415 printk(KERN_INFO "kvmppc_st at 0x%lx failed\n", hva); 496 return -EPERM;
416 goto err;
417 }
418 497
419 return 0; 498 if (kvm_write_guest(vcpu->kvm, pte.raddr, ptr, size))
499 return EMULATE_DO_MMIO;
420 500
421err: 501 return EMULATE_DONE;
422 return -ENOENT;
423} 502}
424 503
425int kvmppc_ld(struct kvm_vcpu *vcpu, ulong eaddr, int size, void *ptr, 504int kvmppc_ld(struct kvm_vcpu *vcpu, ulong *eaddr, int size, void *ptr,
426 bool data) 505 bool data)
427{ 506{
428 struct kvmppc_pte pte; 507 struct kvmppc_pte pte;
429 hva_t hva = eaddr; 508 hva_t hva = *eaddr;
430 509
431 vcpu->stat.ld++; 510 vcpu->stat.ld++;
432 511
433 if (kvmppc_xlate(vcpu, eaddr, data, &pte)) 512 if (kvmppc_xlate(vcpu, *eaddr, data, &pte))
434 goto err; 513 goto nopte;
514
515 *eaddr = pte.raddr;
435 516
436 hva = kvmppc_pte_to_hva(vcpu, &pte, true); 517 hva = kvmppc_pte_to_hva(vcpu, &pte, true);
437 if (kvm_is_error_hva(hva)) 518 if (kvm_is_error_hva(hva))
438 goto err; 519 goto mmio;
439 520
440 if (copy_from_user(ptr, (void __user *)hva, size)) { 521 if (copy_from_user(ptr, (void __user *)hva, size)) {
441 printk(KERN_INFO "kvmppc_ld at 0x%lx failed\n", hva); 522 printk(KERN_INFO "kvmppc_ld at 0x%lx failed\n", hva);
442 goto err; 523 goto mmio;
443 } 524 }
444 525
445 return 0; 526 return EMULATE_DONE;
446 527
447err: 528nopte:
448 return -ENOENT; 529 return -ENOENT;
530mmio:
531 return EMULATE_DO_MMIO;
449} 532}
450 533
451static int kvmppc_visible_gfn(struct kvm_vcpu *vcpu, gfn_t gfn) 534static int kvmppc_visible_gfn(struct kvm_vcpu *vcpu, gfn_t gfn)
@@ -462,12 +545,11 @@ int kvmppc_handle_pagefault(struct kvm_run *run, struct kvm_vcpu *vcpu,
462 int page_found = 0; 545 int page_found = 0;
463 struct kvmppc_pte pte; 546 struct kvmppc_pte pte;
464 bool is_mmio = false; 547 bool is_mmio = false;
548 bool dr = (vcpu->arch.msr & MSR_DR) ? true : false;
549 bool ir = (vcpu->arch.msr & MSR_IR) ? true : false;
550 u64 vsid;
465 551
466 if ( vec == BOOK3S_INTERRUPT_DATA_STORAGE ) { 552 relocated = data ? dr : ir;
467 relocated = (vcpu->arch.msr & MSR_DR);
468 } else {
469 relocated = (vcpu->arch.msr & MSR_IR);
470 }
471 553
472 /* Resolve real address if translation turned on */ 554 /* Resolve real address if translation turned on */
473 if (relocated) { 555 if (relocated) {
@@ -479,14 +561,25 @@ int kvmppc_handle_pagefault(struct kvm_run *run, struct kvm_vcpu *vcpu,
479 pte.raddr = eaddr & 0xffffffff; 561 pte.raddr = eaddr & 0xffffffff;
480 pte.eaddr = eaddr; 562 pte.eaddr = eaddr;
481 pte.vpage = eaddr >> 12; 563 pte.vpage = eaddr >> 12;
482 switch (vcpu->arch.msr & (MSR_DR|MSR_IR)) { 564 }
483 case 0: 565
484 pte.vpage |= VSID_REAL; 566 switch (vcpu->arch.msr & (MSR_DR|MSR_IR)) {
485 case MSR_DR: 567 case 0:
486 pte.vpage |= VSID_REAL_DR; 568 pte.vpage |= ((u64)VSID_REAL << (SID_SHIFT - 12));
487 case MSR_IR: 569 break;
488 pte.vpage |= VSID_REAL_IR; 570 case MSR_DR:
489 } 571 case MSR_IR:
572 vcpu->arch.mmu.esid_to_vsid(vcpu, eaddr >> SID_SHIFT, &vsid);
573
574 if ((vcpu->arch.msr & (MSR_DR|MSR_IR)) == MSR_DR)
575 pte.vpage |= ((u64)VSID_REAL_DR << (SID_SHIFT - 12));
576 else
577 pte.vpage |= ((u64)VSID_REAL_IR << (SID_SHIFT - 12));
578 pte.vpage |= vsid;
579
580 if (vsid == -1)
581 page_found = -EINVAL;
582 break;
490 } 583 }
491 584
492 if (vcpu->arch.mmu.is_dcbz32(vcpu) && 585 if (vcpu->arch.mmu.is_dcbz32(vcpu) &&
@@ -501,20 +594,20 @@ int kvmppc_handle_pagefault(struct kvm_run *run, struct kvm_vcpu *vcpu,
501 594
502 if (page_found == -ENOENT) { 595 if (page_found == -ENOENT) {
503 /* Page not found in guest PTE entries */ 596 /* Page not found in guest PTE entries */
504 vcpu->arch.dear = vcpu->arch.fault_dear; 597 vcpu->arch.dear = kvmppc_get_fault_dar(vcpu);
505 to_book3s(vcpu)->dsisr = vcpu->arch.fault_dsisr; 598 to_book3s(vcpu)->dsisr = to_svcpu(vcpu)->fault_dsisr;
506 vcpu->arch.msr |= (vcpu->arch.shadow_msr & 0x00000000f8000000ULL); 599 vcpu->arch.msr |= (to_svcpu(vcpu)->shadow_srr1 & 0x00000000f8000000ULL);
507 kvmppc_book3s_queue_irqprio(vcpu, vec); 600 kvmppc_book3s_queue_irqprio(vcpu, vec);
508 } else if (page_found == -EPERM) { 601 } else if (page_found == -EPERM) {
509 /* Storage protection */ 602 /* Storage protection */
510 vcpu->arch.dear = vcpu->arch.fault_dear; 603 vcpu->arch.dear = kvmppc_get_fault_dar(vcpu);
511 to_book3s(vcpu)->dsisr = vcpu->arch.fault_dsisr & ~DSISR_NOHPTE; 604 to_book3s(vcpu)->dsisr = to_svcpu(vcpu)->fault_dsisr & ~DSISR_NOHPTE;
512 to_book3s(vcpu)->dsisr |= DSISR_PROTFAULT; 605 to_book3s(vcpu)->dsisr |= DSISR_PROTFAULT;
513 vcpu->arch.msr |= (vcpu->arch.shadow_msr & 0x00000000f8000000ULL); 606 vcpu->arch.msr |= (to_svcpu(vcpu)->shadow_srr1 & 0x00000000f8000000ULL);
514 kvmppc_book3s_queue_irqprio(vcpu, vec); 607 kvmppc_book3s_queue_irqprio(vcpu, vec);
515 } else if (page_found == -EINVAL) { 608 } else if (page_found == -EINVAL) {
516 /* Page not found in guest SLB */ 609 /* Page not found in guest SLB */
517 vcpu->arch.dear = vcpu->arch.fault_dear; 610 vcpu->arch.dear = kvmppc_get_fault_dar(vcpu);
518 kvmppc_book3s_queue_irqprio(vcpu, vec + 0x80); 611 kvmppc_book3s_queue_irqprio(vcpu, vec + 0x80);
519 } else if (!is_mmio && 612 } else if (!is_mmio &&
520 kvmppc_visible_gfn(vcpu, pte.raddr >> PAGE_SHIFT)) { 613 kvmppc_visible_gfn(vcpu, pte.raddr >> PAGE_SHIFT)) {
@@ -532,13 +625,168 @@ int kvmppc_handle_pagefault(struct kvm_run *run, struct kvm_vcpu *vcpu,
532 r = kvmppc_emulate_mmio(run, vcpu); 625 r = kvmppc_emulate_mmio(run, vcpu);
533 if ( r == RESUME_HOST_NV ) 626 if ( r == RESUME_HOST_NV )
534 r = RESUME_HOST; 627 r = RESUME_HOST;
535 if ( r == RESUME_GUEST_NV )
536 r = RESUME_GUEST;
537 } 628 }
538 629
539 return r; 630 return r;
540} 631}
541 632
633static inline int get_fpr_index(int i)
634{
635#ifdef CONFIG_VSX
636 i *= 2;
637#endif
638 return i;
639}
640
641/* Give up external provider (FPU, Altivec, VSX) */
642void kvmppc_giveup_ext(struct kvm_vcpu *vcpu, ulong msr)
643{
644 struct thread_struct *t = &current->thread;
645 u64 *vcpu_fpr = vcpu->arch.fpr;
646#ifdef CONFIG_VSX
647 u64 *vcpu_vsx = vcpu->arch.vsr;
648#endif
649 u64 *thread_fpr = (u64*)t->fpr;
650 int i;
651
652 if (!(vcpu->arch.guest_owned_ext & msr))
653 return;
654
655#ifdef DEBUG_EXT
656 printk(KERN_INFO "Giving up ext 0x%lx\n", msr);
657#endif
658
659 switch (msr) {
660 case MSR_FP:
661 giveup_fpu(current);
662 for (i = 0; i < ARRAY_SIZE(vcpu->arch.fpr); i++)
663 vcpu_fpr[i] = thread_fpr[get_fpr_index(i)];
664
665 vcpu->arch.fpscr = t->fpscr.val;
666 break;
667 case MSR_VEC:
668#ifdef CONFIG_ALTIVEC
669 giveup_altivec(current);
670 memcpy(vcpu->arch.vr, t->vr, sizeof(vcpu->arch.vr));
671 vcpu->arch.vscr = t->vscr;
672#endif
673 break;
674 case MSR_VSX:
675#ifdef CONFIG_VSX
676 __giveup_vsx(current);
677 for (i = 0; i < ARRAY_SIZE(vcpu->arch.vsr); i++)
678 vcpu_vsx[i] = thread_fpr[get_fpr_index(i) + 1];
679#endif
680 break;
681 default:
682 BUG();
683 }
684
685 vcpu->arch.guest_owned_ext &= ~msr;
686 current->thread.regs->msr &= ~msr;
687 kvmppc_recalc_shadow_msr(vcpu);
688}
689
690static int kvmppc_read_inst(struct kvm_vcpu *vcpu)
691{
692 ulong srr0 = kvmppc_get_pc(vcpu);
693 u32 last_inst = kvmppc_get_last_inst(vcpu);
694 int ret;
695
696 ret = kvmppc_ld(vcpu, &srr0, sizeof(u32), &last_inst, false);
697 if (ret == -ENOENT) {
698 vcpu->arch.msr = kvmppc_set_field(vcpu->arch.msr, 33, 33, 1);
699 vcpu->arch.msr = kvmppc_set_field(vcpu->arch.msr, 34, 36, 0);
700 vcpu->arch.msr = kvmppc_set_field(vcpu->arch.msr, 42, 47, 0);
701 kvmppc_book3s_queue_irqprio(vcpu, BOOK3S_INTERRUPT_INST_STORAGE);
702 return EMULATE_AGAIN;
703 }
704
705 return EMULATE_DONE;
706}
707
708static int kvmppc_check_ext(struct kvm_vcpu *vcpu, unsigned int exit_nr)
709{
710
711 /* Need to do paired single emulation? */
712 if (!(vcpu->arch.hflags & BOOK3S_HFLAG_PAIRED_SINGLE))
713 return EMULATE_DONE;
714
715 /* Read out the instruction */
716 if (kvmppc_read_inst(vcpu) == EMULATE_DONE)
717 /* Need to emulate */
718 return EMULATE_FAIL;
719
720 return EMULATE_AGAIN;
721}
722
723/* Handle external providers (FPU, Altivec, VSX) */
724static int kvmppc_handle_ext(struct kvm_vcpu *vcpu, unsigned int exit_nr,
725 ulong msr)
726{
727 struct thread_struct *t = &current->thread;
728 u64 *vcpu_fpr = vcpu->arch.fpr;
729#ifdef CONFIG_VSX
730 u64 *vcpu_vsx = vcpu->arch.vsr;
731#endif
732 u64 *thread_fpr = (u64*)t->fpr;
733 int i;
734
735 /* When we have paired singles, we emulate in software */
736 if (vcpu->arch.hflags & BOOK3S_HFLAG_PAIRED_SINGLE)
737 return RESUME_GUEST;
738
739 if (!(vcpu->arch.msr & msr)) {
740 kvmppc_book3s_queue_irqprio(vcpu, exit_nr);
741 return RESUME_GUEST;
742 }
743
744 /* We already own the ext */
745 if (vcpu->arch.guest_owned_ext & msr) {
746 return RESUME_GUEST;
747 }
748
749#ifdef DEBUG_EXT
750 printk(KERN_INFO "Loading up ext 0x%lx\n", msr);
751#endif
752
753 current->thread.regs->msr |= msr;
754
755 switch (msr) {
756 case MSR_FP:
757 for (i = 0; i < ARRAY_SIZE(vcpu->arch.fpr); i++)
758 thread_fpr[get_fpr_index(i)] = vcpu_fpr[i];
759
760 t->fpscr.val = vcpu->arch.fpscr;
761 t->fpexc_mode = 0;
762 kvmppc_load_up_fpu();
763 break;
764 case MSR_VEC:
765#ifdef CONFIG_ALTIVEC
766 memcpy(t->vr, vcpu->arch.vr, sizeof(vcpu->arch.vr));
767 t->vscr = vcpu->arch.vscr;
768 t->vrsave = -1;
769 kvmppc_load_up_altivec();
770#endif
771 break;
772 case MSR_VSX:
773#ifdef CONFIG_VSX
774 for (i = 0; i < ARRAY_SIZE(vcpu->arch.vsr); i++)
775 thread_fpr[get_fpr_index(i) + 1] = vcpu_vsx[i];
776 kvmppc_load_up_vsx();
777#endif
778 break;
779 default:
780 BUG();
781 }
782
783 vcpu->arch.guest_owned_ext |= msr;
784
785 kvmppc_recalc_shadow_msr(vcpu);
786
787 return RESUME_GUEST;
788}
789
542int kvmppc_handle_exit(struct kvm_run *run, struct kvm_vcpu *vcpu, 790int kvmppc_handle_exit(struct kvm_run *run, struct kvm_vcpu *vcpu,
543 unsigned int exit_nr) 791 unsigned int exit_nr)
544{ 792{
@@ -550,21 +798,33 @@ int kvmppc_handle_exit(struct kvm_run *run, struct kvm_vcpu *vcpu,
550 run->ready_for_interrupt_injection = 1; 798 run->ready_for_interrupt_injection = 1;
551#ifdef EXIT_DEBUG 799#ifdef EXIT_DEBUG
552 printk(KERN_EMERG "exit_nr=0x%x | pc=0x%lx | dar=0x%lx | dec=0x%x | msr=0x%lx\n", 800 printk(KERN_EMERG "exit_nr=0x%x | pc=0x%lx | dar=0x%lx | dec=0x%x | msr=0x%lx\n",
553 exit_nr, vcpu->arch.pc, vcpu->arch.fault_dear, 801 exit_nr, kvmppc_get_pc(vcpu), kvmppc_get_fault_dar(vcpu),
554 kvmppc_get_dec(vcpu), vcpu->arch.msr); 802 kvmppc_get_dec(vcpu), to_svcpu(vcpu)->shadow_srr1);
555#elif defined (EXIT_DEBUG_SIMPLE) 803#elif defined (EXIT_DEBUG_SIMPLE)
556 if ((exit_nr != 0x900) && (exit_nr != 0x500)) 804 if ((exit_nr != 0x900) && (exit_nr != 0x500))
557 printk(KERN_EMERG "exit_nr=0x%x | pc=0x%lx | dar=0x%lx | msr=0x%lx\n", 805 printk(KERN_EMERG "exit_nr=0x%x | pc=0x%lx | dar=0x%lx | msr=0x%lx\n",
558 exit_nr, vcpu->arch.pc, vcpu->arch.fault_dear, 806 exit_nr, kvmppc_get_pc(vcpu), kvmppc_get_fault_dar(vcpu),
559 vcpu->arch.msr); 807 vcpu->arch.msr);
560#endif 808#endif
561 kvm_resched(vcpu); 809 kvm_resched(vcpu);
562 switch (exit_nr) { 810 switch (exit_nr) {
563 case BOOK3S_INTERRUPT_INST_STORAGE: 811 case BOOK3S_INTERRUPT_INST_STORAGE:
564 vcpu->stat.pf_instruc++; 812 vcpu->stat.pf_instruc++;
813
814#ifdef CONFIG_PPC_BOOK3S_32
815 /* We set segments as unused segments when invalidating them. So
816 * treat the respective fault as segment fault. */
817 if (to_svcpu(vcpu)->sr[kvmppc_get_pc(vcpu) >> SID_SHIFT]
818 == SR_INVALID) {
819 kvmppc_mmu_map_segment(vcpu, kvmppc_get_pc(vcpu));
820 r = RESUME_GUEST;
821 break;
822 }
823#endif
824
565 /* only care about PTEG not found errors, but leave NX alone */ 825 /* only care about PTEG not found errors, but leave NX alone */
566 if (vcpu->arch.shadow_msr & 0x40000000) { 826 if (to_svcpu(vcpu)->shadow_srr1 & 0x40000000) {
567 r = kvmppc_handle_pagefault(run, vcpu, vcpu->arch.pc, exit_nr); 827 r = kvmppc_handle_pagefault(run, vcpu, kvmppc_get_pc(vcpu), exit_nr);
568 vcpu->stat.sp_instruc++; 828 vcpu->stat.sp_instruc++;
569 } else if (vcpu->arch.mmu.is_dcbz32(vcpu) && 829 } else if (vcpu->arch.mmu.is_dcbz32(vcpu) &&
570 (!(vcpu->arch.hflags & BOOK3S_HFLAG_DCBZ32))) { 830 (!(vcpu->arch.hflags & BOOK3S_HFLAG_DCBZ32))) {
@@ -573,37 +833,52 @@ int kvmppc_handle_exit(struct kvm_run *run, struct kvm_vcpu *vcpu,
573 * so we can't use the NX bit inside the guest. Let's cross our fingers, 833 * so we can't use the NX bit inside the guest. Let's cross our fingers,
574 * that no guest that needs the dcbz hack does NX. 834 * that no guest that needs the dcbz hack does NX.
575 */ 835 */
576 kvmppc_mmu_pte_flush(vcpu, vcpu->arch.pc, ~0xFFFULL); 836 kvmppc_mmu_pte_flush(vcpu, kvmppc_get_pc(vcpu), ~0xFFFUL);
837 r = RESUME_GUEST;
577 } else { 838 } else {
578 vcpu->arch.msr |= (vcpu->arch.shadow_msr & 0x58000000); 839 vcpu->arch.msr |= to_svcpu(vcpu)->shadow_srr1 & 0x58000000;
579 kvmppc_book3s_queue_irqprio(vcpu, exit_nr); 840 kvmppc_book3s_queue_irqprio(vcpu, exit_nr);
580 kvmppc_mmu_pte_flush(vcpu, vcpu->arch.pc, ~0xFFFULL); 841 kvmppc_mmu_pte_flush(vcpu, kvmppc_get_pc(vcpu), ~0xFFFUL);
581 r = RESUME_GUEST; 842 r = RESUME_GUEST;
582 } 843 }
583 break; 844 break;
584 case BOOK3S_INTERRUPT_DATA_STORAGE: 845 case BOOK3S_INTERRUPT_DATA_STORAGE:
846 {
847 ulong dar = kvmppc_get_fault_dar(vcpu);
585 vcpu->stat.pf_storage++; 848 vcpu->stat.pf_storage++;
849
850#ifdef CONFIG_PPC_BOOK3S_32
851 /* We set segments as unused segments when invalidating them. So
852 * treat the respective fault as segment fault. */
853 if ((to_svcpu(vcpu)->sr[dar >> SID_SHIFT]) == SR_INVALID) {
854 kvmppc_mmu_map_segment(vcpu, dar);
855 r = RESUME_GUEST;
856 break;
857 }
858#endif
859
586 /* The only case we need to handle is missing shadow PTEs */ 860 /* The only case we need to handle is missing shadow PTEs */
587 if (vcpu->arch.fault_dsisr & DSISR_NOHPTE) { 861 if (to_svcpu(vcpu)->fault_dsisr & DSISR_NOHPTE) {
588 r = kvmppc_handle_pagefault(run, vcpu, vcpu->arch.fault_dear, exit_nr); 862 r = kvmppc_handle_pagefault(run, vcpu, dar, exit_nr);
589 } else { 863 } else {
590 vcpu->arch.dear = vcpu->arch.fault_dear; 864 vcpu->arch.dear = dar;
591 to_book3s(vcpu)->dsisr = vcpu->arch.fault_dsisr; 865 to_book3s(vcpu)->dsisr = to_svcpu(vcpu)->fault_dsisr;
592 kvmppc_book3s_queue_irqprio(vcpu, exit_nr); 866 kvmppc_book3s_queue_irqprio(vcpu, exit_nr);
593 kvmppc_mmu_pte_flush(vcpu, vcpu->arch.dear, ~0xFFFULL); 867 kvmppc_mmu_pte_flush(vcpu, vcpu->arch.dear, ~0xFFFUL);
594 r = RESUME_GUEST; 868 r = RESUME_GUEST;
595 } 869 }
596 break; 870 break;
871 }
597 case BOOK3S_INTERRUPT_DATA_SEGMENT: 872 case BOOK3S_INTERRUPT_DATA_SEGMENT:
598 if (kvmppc_mmu_map_segment(vcpu, vcpu->arch.fault_dear) < 0) { 873 if (kvmppc_mmu_map_segment(vcpu, kvmppc_get_fault_dar(vcpu)) < 0) {
599 vcpu->arch.dear = vcpu->arch.fault_dear; 874 vcpu->arch.dear = kvmppc_get_fault_dar(vcpu);
600 kvmppc_book3s_queue_irqprio(vcpu, 875 kvmppc_book3s_queue_irqprio(vcpu,
601 BOOK3S_INTERRUPT_DATA_SEGMENT); 876 BOOK3S_INTERRUPT_DATA_SEGMENT);
602 } 877 }
603 r = RESUME_GUEST; 878 r = RESUME_GUEST;
604 break; 879 break;
605 case BOOK3S_INTERRUPT_INST_SEGMENT: 880 case BOOK3S_INTERRUPT_INST_SEGMENT:
606 if (kvmppc_mmu_map_segment(vcpu, vcpu->arch.pc) < 0) { 881 if (kvmppc_mmu_map_segment(vcpu, kvmppc_get_pc(vcpu)) < 0) {
607 kvmppc_book3s_queue_irqprio(vcpu, 882 kvmppc_book3s_queue_irqprio(vcpu,
608 BOOK3S_INTERRUPT_INST_SEGMENT); 883 BOOK3S_INTERRUPT_INST_SEGMENT);
609 } 884 }
@@ -618,17 +893,24 @@ int kvmppc_handle_exit(struct kvm_run *run, struct kvm_vcpu *vcpu,
618 vcpu->stat.ext_intr_exits++; 893 vcpu->stat.ext_intr_exits++;
619 r = RESUME_GUEST; 894 r = RESUME_GUEST;
620 break; 895 break;
896 case BOOK3S_INTERRUPT_PERFMON:
897 r = RESUME_GUEST;
898 break;
621 case BOOK3S_INTERRUPT_PROGRAM: 899 case BOOK3S_INTERRUPT_PROGRAM:
622 { 900 {
623 enum emulation_result er; 901 enum emulation_result er;
902 ulong flags;
903
904program_interrupt:
905 flags = to_svcpu(vcpu)->shadow_srr1 & 0x1f0000ull;
624 906
625 if (vcpu->arch.msr & MSR_PR) { 907 if (vcpu->arch.msr & MSR_PR) {
626#ifdef EXIT_DEBUG 908#ifdef EXIT_DEBUG
627 printk(KERN_INFO "Userspace triggered 0x700 exception at 0x%lx (0x%x)\n", vcpu->arch.pc, vcpu->arch.last_inst); 909 printk(KERN_INFO "Userspace triggered 0x700 exception at 0x%lx (0x%x)\n", kvmppc_get_pc(vcpu), kvmppc_get_last_inst(vcpu));
628#endif 910#endif
629 if ((vcpu->arch.last_inst & 0xff0007ff) != 911 if ((kvmppc_get_last_inst(vcpu) & 0xff0007ff) !=
630 (INS_DCBZ & 0xfffffff7)) { 912 (INS_DCBZ & 0xfffffff7)) {
631 kvmppc_book3s_queue_irqprio(vcpu, exit_nr); 913 kvmppc_core_queue_program(vcpu, flags);
632 r = RESUME_GUEST; 914 r = RESUME_GUEST;
633 break; 915 break;
634 } 916 }
@@ -638,38 +920,92 @@ int kvmppc_handle_exit(struct kvm_run *run, struct kvm_vcpu *vcpu,
638 er = kvmppc_emulate_instruction(run, vcpu); 920 er = kvmppc_emulate_instruction(run, vcpu);
639 switch (er) { 921 switch (er) {
640 case EMULATE_DONE: 922 case EMULATE_DONE:
923 r = RESUME_GUEST_NV;
924 break;
925 case EMULATE_AGAIN:
641 r = RESUME_GUEST; 926 r = RESUME_GUEST;
642 break; 927 break;
643 case EMULATE_FAIL: 928 case EMULATE_FAIL:
644 printk(KERN_CRIT "%s: emulation at %lx failed (%08x)\n", 929 printk(KERN_CRIT "%s: emulation at %lx failed (%08x)\n",
645 __func__, vcpu->arch.pc, vcpu->arch.last_inst); 930 __func__, kvmppc_get_pc(vcpu), kvmppc_get_last_inst(vcpu));
646 kvmppc_book3s_queue_irqprio(vcpu, exit_nr); 931 kvmppc_core_queue_program(vcpu, flags);
647 r = RESUME_GUEST; 932 r = RESUME_GUEST;
648 break; 933 break;
934 case EMULATE_DO_MMIO:
935 run->exit_reason = KVM_EXIT_MMIO;
936 r = RESUME_HOST_NV;
937 break;
649 default: 938 default:
650 BUG(); 939 BUG();
651 } 940 }
652 break; 941 break;
653 } 942 }
654 case BOOK3S_INTERRUPT_SYSCALL: 943 case BOOK3S_INTERRUPT_SYSCALL:
655#ifdef EXIT_DEBUG 944 // XXX make user settable
656 printk(KERN_INFO "Syscall Nr %d\n", (int)vcpu->arch.gpr[0]); 945 if (vcpu->arch.osi_enabled &&
657#endif 946 (((u32)kvmppc_get_gpr(vcpu, 3)) == OSI_SC_MAGIC_R3) &&
658 vcpu->stat.syscall_exits++; 947 (((u32)kvmppc_get_gpr(vcpu, 4)) == OSI_SC_MAGIC_R4)) {
659 kvmppc_book3s_queue_irqprio(vcpu, exit_nr); 948 u64 *gprs = run->osi.gprs;
660 r = RESUME_GUEST; 949 int i;
950
951 run->exit_reason = KVM_EXIT_OSI;
952 for (i = 0; i < 32; i++)
953 gprs[i] = kvmppc_get_gpr(vcpu, i);
954 vcpu->arch.osi_needed = 1;
955 r = RESUME_HOST_NV;
956
957 } else {
958 vcpu->stat.syscall_exits++;
959 kvmppc_book3s_queue_irqprio(vcpu, exit_nr);
960 r = RESUME_GUEST;
961 }
661 break; 962 break;
662 case BOOK3S_INTERRUPT_MACHINE_CHECK:
663 case BOOK3S_INTERRUPT_FP_UNAVAIL: 963 case BOOK3S_INTERRUPT_FP_UNAVAIL:
664 case BOOK3S_INTERRUPT_TRACE:
665 case BOOK3S_INTERRUPT_ALTIVEC: 964 case BOOK3S_INTERRUPT_ALTIVEC:
666 case BOOK3S_INTERRUPT_VSX: 965 case BOOK3S_INTERRUPT_VSX:
966 {
967 int ext_msr = 0;
968
969 switch (exit_nr) {
970 case BOOK3S_INTERRUPT_FP_UNAVAIL: ext_msr = MSR_FP; break;
971 case BOOK3S_INTERRUPT_ALTIVEC: ext_msr = MSR_VEC; break;
972 case BOOK3S_INTERRUPT_VSX: ext_msr = MSR_VSX; break;
973 }
974
975 switch (kvmppc_check_ext(vcpu, exit_nr)) {
976 case EMULATE_DONE:
977 /* everything ok - let's enable the ext */
978 r = kvmppc_handle_ext(vcpu, exit_nr, ext_msr);
979 break;
980 case EMULATE_FAIL:
981 /* we need to emulate this instruction */
982 goto program_interrupt;
983 break;
984 default:
985 /* nothing to worry about - go again */
986 break;
987 }
988 break;
989 }
990 case BOOK3S_INTERRUPT_ALIGNMENT:
991 if (kvmppc_read_inst(vcpu) == EMULATE_DONE) {
992 to_book3s(vcpu)->dsisr = kvmppc_alignment_dsisr(vcpu,
993 kvmppc_get_last_inst(vcpu));
994 vcpu->arch.dear = kvmppc_alignment_dar(vcpu,
995 kvmppc_get_last_inst(vcpu));
996 kvmppc_book3s_queue_irqprio(vcpu, exit_nr);
997 }
998 r = RESUME_GUEST;
999 break;
1000 case BOOK3S_INTERRUPT_MACHINE_CHECK:
1001 case BOOK3S_INTERRUPT_TRACE:
667 kvmppc_book3s_queue_irqprio(vcpu, exit_nr); 1002 kvmppc_book3s_queue_irqprio(vcpu, exit_nr);
668 r = RESUME_GUEST; 1003 r = RESUME_GUEST;
669 break; 1004 break;
670 default: 1005 default:
671 /* Ugh - bork here! What did we get? */ 1006 /* Ugh - bork here! What did we get? */
672 printk(KERN_EMERG "exit_nr=0x%x | pc=0x%lx | msr=0x%lx\n", exit_nr, vcpu->arch.pc, vcpu->arch.shadow_msr); 1007 printk(KERN_EMERG "exit_nr=0x%x | pc=0x%lx | msr=0x%lx\n",
1008 exit_nr, kvmppc_get_pc(vcpu), to_svcpu(vcpu)->shadow_srr1);
673 r = RESUME_HOST; 1009 r = RESUME_HOST;
674 BUG(); 1010 BUG();
675 break; 1011 break;
@@ -696,7 +1032,7 @@ int kvmppc_handle_exit(struct kvm_run *run, struct kvm_vcpu *vcpu,
696 } 1032 }
697 1033
698#ifdef EXIT_DEBUG 1034#ifdef EXIT_DEBUG
699 printk(KERN_EMERG "KVM exit: vcpu=0x%p pc=0x%lx r=0x%x\n", vcpu, vcpu->arch.pc, r); 1035 printk(KERN_EMERG "KVM exit: vcpu=0x%p pc=0x%lx r=0x%x\n", vcpu, kvmppc_get_pc(vcpu), r);
700#endif 1036#endif
701 1037
702 return r; 1038 return r;
@@ -711,11 +1047,13 @@ int kvm_arch_vcpu_ioctl_get_regs(struct kvm_vcpu *vcpu, struct kvm_regs *regs)
711{ 1047{
712 int i; 1048 int i;
713 1049
714 regs->pc = vcpu->arch.pc; 1050 vcpu_load(vcpu);
715 regs->cr = vcpu->arch.cr; 1051
716 regs->ctr = vcpu->arch.ctr; 1052 regs->pc = kvmppc_get_pc(vcpu);
717 regs->lr = vcpu->arch.lr; 1053 regs->cr = kvmppc_get_cr(vcpu);
718 regs->xer = vcpu->arch.xer; 1054 regs->ctr = kvmppc_get_ctr(vcpu);
1055 regs->lr = kvmppc_get_lr(vcpu);
1056 regs->xer = kvmppc_get_xer(vcpu);
719 regs->msr = vcpu->arch.msr; 1057 regs->msr = vcpu->arch.msr;
720 regs->srr0 = vcpu->arch.srr0; 1058 regs->srr0 = vcpu->arch.srr0;
721 regs->srr1 = vcpu->arch.srr1; 1059 regs->srr1 = vcpu->arch.srr1;
@@ -729,7 +1067,9 @@ int kvm_arch_vcpu_ioctl_get_regs(struct kvm_vcpu *vcpu, struct kvm_regs *regs)
729 regs->sprg7 = vcpu->arch.sprg6; 1067 regs->sprg7 = vcpu->arch.sprg6;
730 1068
731 for (i = 0; i < ARRAY_SIZE(regs->gpr); i++) 1069 for (i = 0; i < ARRAY_SIZE(regs->gpr); i++)
732 regs->gpr[i] = vcpu->arch.gpr[i]; 1070 regs->gpr[i] = kvmppc_get_gpr(vcpu, i);
1071
1072 vcpu_put(vcpu);
733 1073
734 return 0; 1074 return 0;
735} 1075}
@@ -738,11 +1078,13 @@ int kvm_arch_vcpu_ioctl_set_regs(struct kvm_vcpu *vcpu, struct kvm_regs *regs)
738{ 1078{
739 int i; 1079 int i;
740 1080
741 vcpu->arch.pc = regs->pc; 1081 vcpu_load(vcpu);
742 vcpu->arch.cr = regs->cr; 1082
743 vcpu->arch.ctr = regs->ctr; 1083 kvmppc_set_pc(vcpu, regs->pc);
744 vcpu->arch.lr = regs->lr; 1084 kvmppc_set_cr(vcpu, regs->cr);
745 vcpu->arch.xer = regs->xer; 1085 kvmppc_set_ctr(vcpu, regs->ctr);
1086 kvmppc_set_lr(vcpu, regs->lr);
1087 kvmppc_set_xer(vcpu, regs->xer);
746 kvmppc_set_msr(vcpu, regs->msr); 1088 kvmppc_set_msr(vcpu, regs->msr);
747 vcpu->arch.srr0 = regs->srr0; 1089 vcpu->arch.srr0 = regs->srr0;
748 vcpu->arch.srr1 = regs->srr1; 1090 vcpu->arch.srr1 = regs->srr1;
@@ -754,8 +1096,10 @@ int kvm_arch_vcpu_ioctl_set_regs(struct kvm_vcpu *vcpu, struct kvm_regs *regs)
754 vcpu->arch.sprg6 = regs->sprg5; 1096 vcpu->arch.sprg6 = regs->sprg5;
755 vcpu->arch.sprg7 = regs->sprg6; 1097 vcpu->arch.sprg7 = regs->sprg6;
756 1098
757 for (i = 0; i < ARRAY_SIZE(vcpu->arch.gpr); i++) 1099 for (i = 0; i < ARRAY_SIZE(regs->gpr); i++)
758 vcpu->arch.gpr[i] = regs->gpr[i]; 1100 kvmppc_set_gpr(vcpu, i, regs->gpr[i]);
1101
1102 vcpu_put(vcpu);
759 1103
760 return 0; 1104 return 0;
761} 1105}
@@ -766,6 +1110,8 @@ int kvm_arch_vcpu_ioctl_get_sregs(struct kvm_vcpu *vcpu,
766 struct kvmppc_vcpu_book3s *vcpu3s = to_book3s(vcpu); 1110 struct kvmppc_vcpu_book3s *vcpu3s = to_book3s(vcpu);
767 int i; 1111 int i;
768 1112
1113 vcpu_load(vcpu);
1114
769 sregs->pvr = vcpu->arch.pvr; 1115 sregs->pvr = vcpu->arch.pvr;
770 1116
771 sregs->u.s.sdr1 = to_book3s(vcpu)->sdr1; 1117 sregs->u.s.sdr1 = to_book3s(vcpu)->sdr1;
@@ -784,6 +1130,9 @@ int kvm_arch_vcpu_ioctl_get_sregs(struct kvm_vcpu *vcpu,
784 sregs->u.s.ppc32.dbat[i] = vcpu3s->dbat[i].raw; 1130 sregs->u.s.ppc32.dbat[i] = vcpu3s->dbat[i].raw;
785 } 1131 }
786 } 1132 }
1133
1134 vcpu_put(vcpu);
1135
787 return 0; 1136 return 0;
788} 1137}
789 1138
@@ -793,6 +1142,8 @@ int kvm_arch_vcpu_ioctl_set_sregs(struct kvm_vcpu *vcpu,
793 struct kvmppc_vcpu_book3s *vcpu3s = to_book3s(vcpu); 1142 struct kvmppc_vcpu_book3s *vcpu3s = to_book3s(vcpu);
794 int i; 1143 int i;
795 1144
1145 vcpu_load(vcpu);
1146
796 kvmppc_set_pvr(vcpu, sregs->pvr); 1147 kvmppc_set_pvr(vcpu, sregs->pvr);
797 1148
798 vcpu3s->sdr1 = sregs->u.s.sdr1; 1149 vcpu3s->sdr1 = sregs->u.s.sdr1;
@@ -819,6 +1170,9 @@ int kvm_arch_vcpu_ioctl_set_sregs(struct kvm_vcpu *vcpu,
819 1170
820 /* Flush the MMU after messing with the segments */ 1171 /* Flush the MMU after messing with the segments */
821 kvmppc_mmu_pte_flush(vcpu, 0, 0); 1172 kvmppc_mmu_pte_flush(vcpu, 0, 0);
1173
1174 vcpu_put(vcpu);
1175
822 return 0; 1176 return 0;
823} 1177}
824 1178
@@ -848,9 +1202,10 @@ int kvm_vm_ioctl_get_dirty_log(struct kvm *kvm,
848 struct kvm_vcpu *vcpu; 1202 struct kvm_vcpu *vcpu;
849 ulong ga, ga_end; 1203 ulong ga, ga_end;
850 int is_dirty = 0; 1204 int is_dirty = 0;
851 int r, n; 1205 int r;
1206 unsigned long n;
852 1207
853 down_write(&kvm->slots_lock); 1208 mutex_lock(&kvm->slots_lock);
854 1209
855 r = kvm_get_dirty_log(kvm, log, &is_dirty); 1210 r = kvm_get_dirty_log(kvm, log, &is_dirty);
856 if (r) 1211 if (r)
@@ -858,7 +1213,7 @@ int kvm_vm_ioctl_get_dirty_log(struct kvm *kvm,
858 1213
859 /* If nothing is dirty, don't bother messing with page tables. */ 1214 /* If nothing is dirty, don't bother messing with page tables. */
860 if (is_dirty) { 1215 if (is_dirty) {
861 memslot = &kvm->memslots[log->slot]; 1216 memslot = &kvm->memslots->memslots[log->slot];
862 1217
863 ga = memslot->base_gfn << PAGE_SHIFT; 1218 ga = memslot->base_gfn << PAGE_SHIFT;
864 ga_end = ga + (memslot->npages << PAGE_SHIFT); 1219 ga_end = ga + (memslot->npages << PAGE_SHIFT);
@@ -866,13 +1221,13 @@ int kvm_vm_ioctl_get_dirty_log(struct kvm *kvm,
866 kvm_for_each_vcpu(n, vcpu, kvm) 1221 kvm_for_each_vcpu(n, vcpu, kvm)
867 kvmppc_mmu_pte_pflush(vcpu, ga, ga_end); 1222 kvmppc_mmu_pte_pflush(vcpu, ga, ga_end);
868 1223
869 n = ALIGN(memslot->npages, BITS_PER_LONG) / 8; 1224 n = kvm_dirty_bitmap_bytes(memslot);
870 memset(memslot->dirty_bitmap, 0, n); 1225 memset(memslot->dirty_bitmap, 0, n);
871 } 1226 }
872 1227
873 r = 0; 1228 r = 0;
874out: 1229out:
875 up_write(&kvm->slots_lock); 1230 mutex_unlock(&kvm->slots_lock);
876 return r; 1231 return r;
877} 1232}
878 1233
@@ -885,24 +1240,33 @@ struct kvm_vcpu *kvmppc_core_vcpu_create(struct kvm *kvm, unsigned int id)
885{ 1240{
886 struct kvmppc_vcpu_book3s *vcpu_book3s; 1241 struct kvmppc_vcpu_book3s *vcpu_book3s;
887 struct kvm_vcpu *vcpu; 1242 struct kvm_vcpu *vcpu;
888 int err; 1243 int err = -ENOMEM;
889 1244
890 vcpu_book3s = (struct kvmppc_vcpu_book3s *)__get_free_pages( GFP_KERNEL | __GFP_ZERO, 1245 vcpu_book3s = vmalloc(sizeof(struct kvmppc_vcpu_book3s));
891 get_order(sizeof(struct kvmppc_vcpu_book3s))); 1246 if (!vcpu_book3s)
892 if (!vcpu_book3s) {
893 err = -ENOMEM;
894 goto out; 1247 goto out;
895 } 1248
1249 memset(vcpu_book3s, 0, sizeof(struct kvmppc_vcpu_book3s));
1250
1251 vcpu_book3s->shadow_vcpu = (struct kvmppc_book3s_shadow_vcpu *)
1252 kzalloc(sizeof(*vcpu_book3s->shadow_vcpu), GFP_KERNEL);
1253 if (!vcpu_book3s->shadow_vcpu)
1254 goto free_vcpu;
896 1255
897 vcpu = &vcpu_book3s->vcpu; 1256 vcpu = &vcpu_book3s->vcpu;
898 err = kvm_vcpu_init(vcpu, kvm, id); 1257 err = kvm_vcpu_init(vcpu, kvm, id);
899 if (err) 1258 if (err)
900 goto free_vcpu; 1259 goto free_shadow_vcpu;
901 1260
902 vcpu->arch.host_retip = kvm_return_point; 1261 vcpu->arch.host_retip = kvm_return_point;
903 vcpu->arch.host_msr = mfmsr(); 1262 vcpu->arch.host_msr = mfmsr();
1263#ifdef CONFIG_PPC_BOOK3S_64
904 /* default to book3s_64 (970fx) */ 1264 /* default to book3s_64 (970fx) */
905 vcpu->arch.pvr = 0x3C0301; 1265 vcpu->arch.pvr = 0x3C0301;
1266#else
1267 /* default to book3s_32 (750) */
1268 vcpu->arch.pvr = 0x84202;
1269#endif
906 kvmppc_set_pvr(vcpu, vcpu->arch.pvr); 1270 kvmppc_set_pvr(vcpu, vcpu->arch.pvr);
907 vcpu_book3s->slb_nr = 64; 1271 vcpu_book3s->slb_nr = 64;
908 1272
@@ -910,22 +1274,24 @@ struct kvm_vcpu *kvmppc_core_vcpu_create(struct kvm *kvm, unsigned int id)
910 vcpu->arch.trampoline_lowmem = kvmppc_trampoline_lowmem; 1274 vcpu->arch.trampoline_lowmem = kvmppc_trampoline_lowmem;
911 vcpu->arch.trampoline_enter = kvmppc_trampoline_enter; 1275 vcpu->arch.trampoline_enter = kvmppc_trampoline_enter;
912 vcpu->arch.highmem_handler = (ulong)kvmppc_handler_highmem; 1276 vcpu->arch.highmem_handler = (ulong)kvmppc_handler_highmem;
1277#ifdef CONFIG_PPC_BOOK3S_64
1278 vcpu->arch.rmcall = *(ulong*)kvmppc_rmcall;
1279#else
1280 vcpu->arch.rmcall = (ulong)kvmppc_rmcall;
1281#endif
913 1282
914 vcpu->arch.shadow_msr = MSR_USER64; 1283 vcpu->arch.shadow_msr = MSR_USER64;
915 1284
916 err = __init_new_context(); 1285 err = kvmppc_mmu_init(vcpu);
917 if (err < 0) 1286 if (err < 0)
918 goto free_vcpu; 1287 goto free_shadow_vcpu;
919 vcpu_book3s->context_id = err;
920
921 vcpu_book3s->vsid_max = ((vcpu_book3s->context_id + 1) << USER_ESID_BITS) - 1;
922 vcpu_book3s->vsid_first = vcpu_book3s->context_id << USER_ESID_BITS;
923 vcpu_book3s->vsid_next = vcpu_book3s->vsid_first;
924 1288
925 return vcpu; 1289 return vcpu;
926 1290
1291free_shadow_vcpu:
1292 kfree(vcpu_book3s->shadow_vcpu);
927free_vcpu: 1293free_vcpu:
928 free_pages((long)vcpu_book3s, get_order(sizeof(struct kvmppc_vcpu_book3s))); 1294 vfree(vcpu_book3s);
929out: 1295out:
930 return ERR_PTR(err); 1296 return ERR_PTR(err);
931} 1297}
@@ -934,15 +1300,23 @@ void kvmppc_core_vcpu_free(struct kvm_vcpu *vcpu)
934{ 1300{
935 struct kvmppc_vcpu_book3s *vcpu_book3s = to_book3s(vcpu); 1301 struct kvmppc_vcpu_book3s *vcpu_book3s = to_book3s(vcpu);
936 1302
937 __destroy_context(vcpu_book3s->context_id);
938 kvm_vcpu_uninit(vcpu); 1303 kvm_vcpu_uninit(vcpu);
939 free_pages((long)vcpu_book3s, get_order(sizeof(struct kvmppc_vcpu_book3s))); 1304 kfree(vcpu_book3s->shadow_vcpu);
1305 vfree(vcpu_book3s);
940} 1306}
941 1307
942extern int __kvmppc_vcpu_entry(struct kvm_run *kvm_run, struct kvm_vcpu *vcpu); 1308extern int __kvmppc_vcpu_entry(struct kvm_run *kvm_run, struct kvm_vcpu *vcpu);
943int __kvmppc_vcpu_run(struct kvm_run *kvm_run, struct kvm_vcpu *vcpu) 1309int __kvmppc_vcpu_run(struct kvm_run *kvm_run, struct kvm_vcpu *vcpu)
944{ 1310{
945 int ret; 1311 int ret;
1312 struct thread_struct ext_bkp;
1313#ifdef CONFIG_ALTIVEC
1314 bool save_vec = current->thread.used_vr;
1315#endif
1316#ifdef CONFIG_VSX
1317 bool save_vsx = current->thread.used_vsr;
1318#endif
1319 ulong ext_msr;
946 1320
947 /* No need to go into the guest when all we do is going out */ 1321 /* No need to go into the guest when all we do is going out */
948 if (signal_pending(current)) { 1322 if (signal_pending(current)) {
@@ -950,19 +1324,79 @@ int __kvmppc_vcpu_run(struct kvm_run *kvm_run, struct kvm_vcpu *vcpu)
950 return -EINTR; 1324 return -EINTR;
951 } 1325 }
952 1326
1327 /* Save FPU state in stack */
1328 if (current->thread.regs->msr & MSR_FP)
1329 giveup_fpu(current);
1330 memcpy(ext_bkp.fpr, current->thread.fpr, sizeof(current->thread.fpr));
1331 ext_bkp.fpscr = current->thread.fpscr;
1332 ext_bkp.fpexc_mode = current->thread.fpexc_mode;
1333
1334#ifdef CONFIG_ALTIVEC
1335 /* Save Altivec state in stack */
1336 if (save_vec) {
1337 if (current->thread.regs->msr & MSR_VEC)
1338 giveup_altivec(current);
1339 memcpy(ext_bkp.vr, current->thread.vr, sizeof(ext_bkp.vr));
1340 ext_bkp.vscr = current->thread.vscr;
1341 ext_bkp.vrsave = current->thread.vrsave;
1342 }
1343 ext_bkp.used_vr = current->thread.used_vr;
1344#endif
1345
1346#ifdef CONFIG_VSX
1347 /* Save VSX state in stack */
1348 if (save_vsx && (current->thread.regs->msr & MSR_VSX))
1349 __giveup_vsx(current);
1350 ext_bkp.used_vsr = current->thread.used_vsr;
1351#endif
1352
1353 /* Remember the MSR with disabled extensions */
1354 ext_msr = current->thread.regs->msr;
1355
953 /* XXX we get called with irq disabled - change that! */ 1356 /* XXX we get called with irq disabled - change that! */
954 local_irq_enable(); 1357 local_irq_enable();
955 1358
1359 /* Preload FPU if it's enabled */
1360 if (vcpu->arch.msr & MSR_FP)
1361 kvmppc_handle_ext(vcpu, BOOK3S_INTERRUPT_FP_UNAVAIL, MSR_FP);
1362
956 ret = __kvmppc_vcpu_entry(kvm_run, vcpu); 1363 ret = __kvmppc_vcpu_entry(kvm_run, vcpu);
957 1364
958 local_irq_disable(); 1365 local_irq_disable();
959 1366
1367 current->thread.regs->msr = ext_msr;
1368
1369 /* Make sure we save the guest FPU/Altivec/VSX state */
1370 kvmppc_giveup_ext(vcpu, MSR_FP);
1371 kvmppc_giveup_ext(vcpu, MSR_VEC);
1372 kvmppc_giveup_ext(vcpu, MSR_VSX);
1373
1374 /* Restore FPU state from stack */
1375 memcpy(current->thread.fpr, ext_bkp.fpr, sizeof(ext_bkp.fpr));
1376 current->thread.fpscr = ext_bkp.fpscr;
1377 current->thread.fpexc_mode = ext_bkp.fpexc_mode;
1378
1379#ifdef CONFIG_ALTIVEC
1380 /* Restore Altivec state from stack */
1381 if (save_vec && current->thread.used_vr) {
1382 memcpy(current->thread.vr, ext_bkp.vr, sizeof(ext_bkp.vr));
1383 current->thread.vscr = ext_bkp.vscr;
1384 current->thread.vrsave= ext_bkp.vrsave;
1385 }
1386 current->thread.used_vr = ext_bkp.used_vr;
1387#endif
1388
1389#ifdef CONFIG_VSX
1390 current->thread.used_vsr = ext_bkp.used_vsr;
1391#endif
1392
960 return ret; 1393 return ret;
961} 1394}
962 1395
963static int kvmppc_book3s_init(void) 1396static int kvmppc_book3s_init(void)
964{ 1397{
965 return kvm_init(NULL, sizeof(struct kvmppc_vcpu_book3s), THIS_MODULE); 1398 return kvm_init(NULL, sizeof(struct kvmppc_vcpu_book3s), 0,
1399 THIS_MODULE);
966} 1400}
967 1401
968static void kvmppc_book3s_exit(void) 1402static void kvmppc_book3s_exit(void)
diff --git a/arch/powerpc/kvm/book3s_32_mmu.c b/arch/powerpc/kvm/book3s_32_mmu.c
index faf99f20d993..0b10503c8a4a 100644
--- a/arch/powerpc/kvm/book3s_32_mmu.c
+++ b/arch/powerpc/kvm/book3s_32_mmu.c
@@ -37,7 +37,7 @@
37#define dprintk(X...) do { } while(0) 37#define dprintk(X...) do { } while(0)
38#endif 38#endif
39 39
40#ifdef DEBUG_PTE 40#ifdef DEBUG_MMU_PTE
41#define dprintk_pte(X...) printk(KERN_INFO X) 41#define dprintk_pte(X...) printk(KERN_INFO X)
42#else 42#else
43#define dprintk_pte(X...) do { } while(0) 43#define dprintk_pte(X...) do { } while(0)
@@ -45,6 +45,9 @@
45 45
46#define PTEG_FLAG_ACCESSED 0x00000100 46#define PTEG_FLAG_ACCESSED 0x00000100
47#define PTEG_FLAG_DIRTY 0x00000080 47#define PTEG_FLAG_DIRTY 0x00000080
48#ifndef SID_SHIFT
49#define SID_SHIFT 28
50#endif
48 51
49static inline bool check_debug_ip(struct kvm_vcpu *vcpu) 52static inline bool check_debug_ip(struct kvm_vcpu *vcpu)
50{ 53{
@@ -57,6 +60,8 @@ static inline bool check_debug_ip(struct kvm_vcpu *vcpu)
57 60
58static int kvmppc_mmu_book3s_32_xlate_bat(struct kvm_vcpu *vcpu, gva_t eaddr, 61static int kvmppc_mmu_book3s_32_xlate_bat(struct kvm_vcpu *vcpu, gva_t eaddr,
59 struct kvmppc_pte *pte, bool data); 62 struct kvmppc_pte *pte, bool data);
63static int kvmppc_mmu_book3s_32_esid_to_vsid(struct kvm_vcpu *vcpu, ulong esid,
64 u64 *vsid);
60 65
61static struct kvmppc_sr *find_sr(struct kvmppc_vcpu_book3s *vcpu_book3s, gva_t eaddr) 66static struct kvmppc_sr *find_sr(struct kvmppc_vcpu_book3s *vcpu_book3s, gva_t eaddr)
62{ 67{
@@ -66,13 +71,14 @@ static struct kvmppc_sr *find_sr(struct kvmppc_vcpu_book3s *vcpu_book3s, gva_t e
66static u64 kvmppc_mmu_book3s_32_ea_to_vp(struct kvm_vcpu *vcpu, gva_t eaddr, 71static u64 kvmppc_mmu_book3s_32_ea_to_vp(struct kvm_vcpu *vcpu, gva_t eaddr,
67 bool data) 72 bool data)
68{ 73{
69 struct kvmppc_sr *sre = find_sr(to_book3s(vcpu), eaddr); 74 u64 vsid;
70 struct kvmppc_pte pte; 75 struct kvmppc_pte pte;
71 76
72 if (!kvmppc_mmu_book3s_32_xlate_bat(vcpu, eaddr, &pte, data)) 77 if (!kvmppc_mmu_book3s_32_xlate_bat(vcpu, eaddr, &pte, data))
73 return pte.vpage; 78 return pte.vpage;
74 79
75 return (((u64)eaddr >> 12) & 0xffff) | (((u64)sre->vsid) << 16); 80 kvmppc_mmu_book3s_32_esid_to_vsid(vcpu, eaddr >> SID_SHIFT, &vsid);
81 return (((u64)eaddr >> 12) & 0xffff) | (vsid << 16);
76} 82}
77 83
78static void kvmppc_mmu_book3s_32_reset_msr(struct kvm_vcpu *vcpu) 84static void kvmppc_mmu_book3s_32_reset_msr(struct kvm_vcpu *vcpu)
@@ -142,8 +148,13 @@ static int kvmppc_mmu_book3s_32_xlate_bat(struct kvm_vcpu *vcpu, gva_t eaddr,
142 bat->bepi_mask); 148 bat->bepi_mask);
143 } 149 }
144 if ((eaddr & bat->bepi_mask) == bat->bepi) { 150 if ((eaddr & bat->bepi_mask) == bat->bepi) {
151 u64 vsid;
152 kvmppc_mmu_book3s_32_esid_to_vsid(vcpu,
153 eaddr >> SID_SHIFT, &vsid);
154 vsid <<= 16;
155 pte->vpage = (((u64)eaddr >> 12) & 0xffff) | vsid;
156
145 pte->raddr = bat->brpn | (eaddr & ~bat->bepi_mask); 157 pte->raddr = bat->brpn | (eaddr & ~bat->bepi_mask);
146 pte->vpage = (eaddr >> 12) | VSID_BAT;
147 pte->may_read = bat->pp; 158 pte->may_read = bat->pp;
148 pte->may_write = bat->pp > 1; 159 pte->may_write = bat->pp > 1;
149 pte->may_execute = true; 160 pte->may_execute = true;
@@ -172,7 +183,7 @@ static int kvmppc_mmu_book3s_32_xlate_pte(struct kvm_vcpu *vcpu, gva_t eaddr,
172 struct kvmppc_sr *sre; 183 struct kvmppc_sr *sre;
173 hva_t ptegp; 184 hva_t ptegp;
174 u32 pteg[16]; 185 u32 pteg[16];
175 u64 ptem = 0; 186 u32 ptem = 0;
176 int i; 187 int i;
177 int found = 0; 188 int found = 0;
178 189
@@ -302,6 +313,7 @@ static void kvmppc_mmu_book3s_32_mtsrin(struct kvm_vcpu *vcpu, u32 srnum,
302 /* And then put in the new SR */ 313 /* And then put in the new SR */
303 sre->raw = value; 314 sre->raw = value;
304 sre->vsid = (value & 0x0fffffff); 315 sre->vsid = (value & 0x0fffffff);
316 sre->valid = (value & 0x80000000) ? false : true;
305 sre->Ks = (value & 0x40000000) ? true : false; 317 sre->Ks = (value & 0x40000000) ? true : false;
306 sre->Kp = (value & 0x20000000) ? true : false; 318 sre->Kp = (value & 0x20000000) ? true : false;
307 sre->nx = (value & 0x10000000) ? true : false; 319 sre->nx = (value & 0x10000000) ? true : false;
@@ -312,36 +324,48 @@ static void kvmppc_mmu_book3s_32_mtsrin(struct kvm_vcpu *vcpu, u32 srnum,
312 324
313static void kvmppc_mmu_book3s_32_tlbie(struct kvm_vcpu *vcpu, ulong ea, bool large) 325static void kvmppc_mmu_book3s_32_tlbie(struct kvm_vcpu *vcpu, ulong ea, bool large)
314{ 326{
315 kvmppc_mmu_pte_flush(vcpu, ea, ~0xFFFULL); 327 kvmppc_mmu_pte_flush(vcpu, ea, 0x0FFFF000);
316} 328}
317 329
318static int kvmppc_mmu_book3s_32_esid_to_vsid(struct kvm_vcpu *vcpu, u64 esid, 330static int kvmppc_mmu_book3s_32_esid_to_vsid(struct kvm_vcpu *vcpu, ulong esid,
319 u64 *vsid) 331 u64 *vsid)
320{ 332{
333 ulong ea = esid << SID_SHIFT;
334 struct kvmppc_sr *sr;
335 u64 gvsid = esid;
336
337 if (vcpu->arch.msr & (MSR_DR|MSR_IR)) {
338 sr = find_sr(to_book3s(vcpu), ea);
339 if (sr->valid)
340 gvsid = sr->vsid;
341 }
342
321 /* In case we only have one of MSR_IR or MSR_DR set, let's put 343 /* In case we only have one of MSR_IR or MSR_DR set, let's put
322 that in the real-mode context (and hope RM doesn't access 344 that in the real-mode context (and hope RM doesn't access
323 high memory) */ 345 high memory) */
324 switch (vcpu->arch.msr & (MSR_DR|MSR_IR)) { 346 switch (vcpu->arch.msr & (MSR_DR|MSR_IR)) {
325 case 0: 347 case 0:
326 *vsid = (VSID_REAL >> 16) | esid; 348 *vsid = VSID_REAL | esid;
327 break; 349 break;
328 case MSR_IR: 350 case MSR_IR:
329 *vsid = (VSID_REAL_IR >> 16) | esid; 351 *vsid = VSID_REAL_IR | gvsid;
330 break; 352 break;
331 case MSR_DR: 353 case MSR_DR:
332 *vsid = (VSID_REAL_DR >> 16) | esid; 354 *vsid = VSID_REAL_DR | gvsid;
333 break; 355 break;
334 case MSR_DR|MSR_IR: 356 case MSR_DR|MSR_IR:
335 { 357 if (!sr->valid)
336 ulong ea; 358 return -1;
337 ea = esid << SID_SHIFT; 359
338 *vsid = find_sr(to_book3s(vcpu), ea)->vsid; 360 *vsid = sr->vsid;
339 break; 361 break;
340 }
341 default: 362 default:
342 BUG(); 363 BUG();
343 } 364 }
344 365
366 if (vcpu->arch.msr & MSR_PR)
367 *vsid |= VSID_PR;
368
345 return 0; 369 return 0;
346} 370}
347 371
diff --git a/arch/powerpc/kvm/book3s_32_mmu_host.c b/arch/powerpc/kvm/book3s_32_mmu_host.c
new file mode 100644
index 000000000000..0bb66005338f
--- /dev/null
+++ b/arch/powerpc/kvm/book3s_32_mmu_host.c
@@ -0,0 +1,483 @@
1/*
2 * Copyright (C) 2010 SUSE Linux Products GmbH. All rights reserved.
3 *
4 * Authors:
5 * Alexander Graf <agraf@suse.de>
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License, version 2, as
9 * published by the Free Software Foundation.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19 */
20
21#include <linux/kvm_host.h>
22
23#include <asm/kvm_ppc.h>
24#include <asm/kvm_book3s.h>
25#include <asm/mmu-hash32.h>
26#include <asm/machdep.h>
27#include <asm/mmu_context.h>
28#include <asm/hw_irq.h>
29
30/* #define DEBUG_MMU */
31/* #define DEBUG_SR */
32
33#ifdef DEBUG_MMU
34#define dprintk_mmu(a, ...) printk(KERN_INFO a, __VA_ARGS__)
35#else
36#define dprintk_mmu(a, ...) do { } while(0)
37#endif
38
39#ifdef DEBUG_SR
40#define dprintk_sr(a, ...) printk(KERN_INFO a, __VA_ARGS__)
41#else
42#define dprintk_sr(a, ...) do { } while(0)
43#endif
44
45#if PAGE_SHIFT != 12
46#error Unknown page size
47#endif
48
49#ifdef CONFIG_SMP
50#error XXX need to grab mmu_hash_lock
51#endif
52
53#ifdef CONFIG_PTE_64BIT
54#error Only 32 bit pages are supported for now
55#endif
56
57static ulong htab;
58static u32 htabmask;
59
60static void invalidate_pte(struct kvm_vcpu *vcpu, struct hpte_cache *pte)
61{
62 volatile u32 *pteg;
63
64 dprintk_mmu("KVM: Flushing SPTE: 0x%llx (0x%llx) -> 0x%llx\n",
65 pte->pte.eaddr, pte->pte.vpage, pte->host_va);
66
67 pteg = (u32*)pte->slot;
68
69 pteg[0] = 0;
70 asm volatile ("sync");
71 asm volatile ("tlbie %0" : : "r" (pte->pte.eaddr) : "memory");
72 asm volatile ("sync");
73 asm volatile ("tlbsync");
74
75 pte->host_va = 0;
76
77 if (pte->pte.may_write)
78 kvm_release_pfn_dirty(pte->pfn);
79 else
80 kvm_release_pfn_clean(pte->pfn);
81}
82
83void kvmppc_mmu_pte_flush(struct kvm_vcpu *vcpu, ulong guest_ea, ulong ea_mask)
84{
85 int i;
86
87 dprintk_mmu("KVM: Flushing %d Shadow PTEs: 0x%x & 0x%x\n",
88 vcpu->arch.hpte_cache_offset, guest_ea, ea_mask);
89 BUG_ON(vcpu->arch.hpte_cache_offset > HPTEG_CACHE_NUM);
90
91 guest_ea &= ea_mask;
92 for (i = 0; i < vcpu->arch.hpte_cache_offset; i++) {
93 struct hpte_cache *pte;
94
95 pte = &vcpu->arch.hpte_cache[i];
96 if (!pte->host_va)
97 continue;
98
99 if ((pte->pte.eaddr & ea_mask) == guest_ea) {
100 invalidate_pte(vcpu, pte);
101 }
102 }
103
104 /* Doing a complete flush -> start from scratch */
105 if (!ea_mask)
106 vcpu->arch.hpte_cache_offset = 0;
107}
108
109void kvmppc_mmu_pte_vflush(struct kvm_vcpu *vcpu, u64 guest_vp, u64 vp_mask)
110{
111 int i;
112
113 dprintk_mmu("KVM: Flushing %d Shadow vPTEs: 0x%llx & 0x%llx\n",
114 vcpu->arch.hpte_cache_offset, guest_vp, vp_mask);
115 BUG_ON(vcpu->arch.hpte_cache_offset > HPTEG_CACHE_NUM);
116
117 guest_vp &= vp_mask;
118 for (i = 0; i < vcpu->arch.hpte_cache_offset; i++) {
119 struct hpte_cache *pte;
120
121 pte = &vcpu->arch.hpte_cache[i];
122 if (!pte->host_va)
123 continue;
124
125 if ((pte->pte.vpage & vp_mask) == guest_vp) {
126 invalidate_pte(vcpu, pte);
127 }
128 }
129}
130
131void kvmppc_mmu_pte_pflush(struct kvm_vcpu *vcpu, ulong pa_start, ulong pa_end)
132{
133 int i;
134
135 dprintk_mmu("KVM: Flushing %d Shadow pPTEs: 0x%llx & 0x%llx\n",
136 vcpu->arch.hpte_cache_offset, pa_start, pa_end);
137 BUG_ON(vcpu->arch.hpte_cache_offset > HPTEG_CACHE_NUM);
138
139 for (i = 0; i < vcpu->arch.hpte_cache_offset; i++) {
140 struct hpte_cache *pte;
141
142 pte = &vcpu->arch.hpte_cache[i];
143 if (!pte->host_va)
144 continue;
145
146 if ((pte->pte.raddr >= pa_start) &&
147 (pte->pte.raddr < pa_end)) {
148 invalidate_pte(vcpu, pte);
149 }
150 }
151}
152
153struct kvmppc_pte *kvmppc_mmu_find_pte(struct kvm_vcpu *vcpu, u64 ea, bool data)
154{
155 int i;
156 u64 guest_vp;
157
158 guest_vp = vcpu->arch.mmu.ea_to_vp(vcpu, ea, false);
159 for (i=0; i<vcpu->arch.hpte_cache_offset; i++) {
160 struct hpte_cache *pte;
161
162 pte = &vcpu->arch.hpte_cache[i];
163 if (!pte->host_va)
164 continue;
165
166 if (pte->pte.vpage == guest_vp)
167 return &pte->pte;
168 }
169
170 return NULL;
171}
172
173static int kvmppc_mmu_hpte_cache_next(struct kvm_vcpu *vcpu)
174{
175 if (vcpu->arch.hpte_cache_offset == HPTEG_CACHE_NUM)
176 kvmppc_mmu_pte_flush(vcpu, 0, 0);
177
178 return vcpu->arch.hpte_cache_offset++;
179}
180
181/* We keep 512 gvsid->hvsid entries, mapping the guest ones to the array using
182 * a hash, so we don't waste cycles on looping */
183static u16 kvmppc_sid_hash(struct kvm_vcpu *vcpu, u64 gvsid)
184{
185 return (u16)(((gvsid >> (SID_MAP_BITS * 7)) & SID_MAP_MASK) ^
186 ((gvsid >> (SID_MAP_BITS * 6)) & SID_MAP_MASK) ^
187 ((gvsid >> (SID_MAP_BITS * 5)) & SID_MAP_MASK) ^
188 ((gvsid >> (SID_MAP_BITS * 4)) & SID_MAP_MASK) ^
189 ((gvsid >> (SID_MAP_BITS * 3)) & SID_MAP_MASK) ^
190 ((gvsid >> (SID_MAP_BITS * 2)) & SID_MAP_MASK) ^
191 ((gvsid >> (SID_MAP_BITS * 1)) & SID_MAP_MASK) ^
192 ((gvsid >> (SID_MAP_BITS * 0)) & SID_MAP_MASK));
193}
194
195
196static struct kvmppc_sid_map *find_sid_vsid(struct kvm_vcpu *vcpu, u64 gvsid)
197{
198 struct kvmppc_sid_map *map;
199 u16 sid_map_mask;
200
201 if (vcpu->arch.msr & MSR_PR)
202 gvsid |= VSID_PR;
203
204 sid_map_mask = kvmppc_sid_hash(vcpu, gvsid);
205 map = &to_book3s(vcpu)->sid_map[sid_map_mask];
206 if (map->guest_vsid == gvsid) {
207 dprintk_sr("SR: Searching 0x%llx -> 0x%llx\n",
208 gvsid, map->host_vsid);
209 return map;
210 }
211
212 map = &to_book3s(vcpu)->sid_map[SID_MAP_MASK - sid_map_mask];
213 if (map->guest_vsid == gvsid) {
214 dprintk_sr("SR: Searching 0x%llx -> 0x%llx\n",
215 gvsid, map->host_vsid);
216 return map;
217 }
218
219 dprintk_sr("SR: Searching 0x%llx -> not found\n", gvsid);
220 return NULL;
221}
222
223static u32 *kvmppc_mmu_get_pteg(struct kvm_vcpu *vcpu, u32 vsid, u32 eaddr,
224 bool primary)
225{
226 u32 page, hash;
227 ulong pteg = htab;
228
229 page = (eaddr & ~ESID_MASK) >> 12;
230
231 hash = ((vsid ^ page) << 6);
232 if (!primary)
233 hash = ~hash;
234
235 hash &= htabmask;
236
237 pteg |= hash;
238
239 dprintk_mmu("htab: %lx | hash: %x | htabmask: %x | pteg: %lx\n",
240 htab, hash, htabmask, pteg);
241
242 return (u32*)pteg;
243}
244
245extern char etext[];
246
247int kvmppc_mmu_map_page(struct kvm_vcpu *vcpu, struct kvmppc_pte *orig_pte)
248{
249 pfn_t hpaddr;
250 u64 va;
251 u64 vsid;
252 struct kvmppc_sid_map *map;
253 volatile u32 *pteg;
254 u32 eaddr = orig_pte->eaddr;
255 u32 pteg0, pteg1;
256 register int rr = 0;
257 bool primary = false;
258 bool evict = false;
259 int hpte_id;
260 struct hpte_cache *pte;
261
262 /* Get host physical address for gpa */
263 hpaddr = gfn_to_pfn(vcpu->kvm, orig_pte->raddr >> PAGE_SHIFT);
264 if (kvm_is_error_hva(hpaddr)) {
265 printk(KERN_INFO "Couldn't get guest page for gfn %lx!\n",
266 orig_pte->eaddr);
267 return -EINVAL;
268 }
269 hpaddr <<= PAGE_SHIFT;
270
271 /* and write the mapping ea -> hpa into the pt */
272 vcpu->arch.mmu.esid_to_vsid(vcpu, orig_pte->eaddr >> SID_SHIFT, &vsid);
273 map = find_sid_vsid(vcpu, vsid);
274 if (!map) {
275 kvmppc_mmu_map_segment(vcpu, eaddr);
276 map = find_sid_vsid(vcpu, vsid);
277 }
278 BUG_ON(!map);
279
280 vsid = map->host_vsid;
281 va = (vsid << SID_SHIFT) | (eaddr & ~ESID_MASK);
282
283next_pteg:
284 if (rr == 16) {
285 primary = !primary;
286 evict = true;
287 rr = 0;
288 }
289
290 pteg = kvmppc_mmu_get_pteg(vcpu, vsid, eaddr, primary);
291
292 /* not evicting yet */
293 if (!evict && (pteg[rr] & PTE_V)) {
294 rr += 2;
295 goto next_pteg;
296 }
297
298 dprintk_mmu("KVM: old PTEG: %p (%d)\n", pteg, rr);
299 dprintk_mmu("KVM: %08x - %08x\n", pteg[0], pteg[1]);
300 dprintk_mmu("KVM: %08x - %08x\n", pteg[2], pteg[3]);
301 dprintk_mmu("KVM: %08x - %08x\n", pteg[4], pteg[5]);
302 dprintk_mmu("KVM: %08x - %08x\n", pteg[6], pteg[7]);
303 dprintk_mmu("KVM: %08x - %08x\n", pteg[8], pteg[9]);
304 dprintk_mmu("KVM: %08x - %08x\n", pteg[10], pteg[11]);
305 dprintk_mmu("KVM: %08x - %08x\n", pteg[12], pteg[13]);
306 dprintk_mmu("KVM: %08x - %08x\n", pteg[14], pteg[15]);
307
308 pteg0 = ((eaddr & 0x0fffffff) >> 22) | (vsid << 7) | PTE_V |
309 (primary ? 0 : PTE_SEC);
310 pteg1 = hpaddr | PTE_M | PTE_R | PTE_C;
311
312 if (orig_pte->may_write) {
313 pteg1 |= PP_RWRW;
314 mark_page_dirty(vcpu->kvm, orig_pte->raddr >> PAGE_SHIFT);
315 } else {
316 pteg1 |= PP_RWRX;
317 }
318
319 local_irq_disable();
320
321 if (pteg[rr]) {
322 pteg[rr] = 0;
323 asm volatile ("sync");
324 }
325 pteg[rr + 1] = pteg1;
326 pteg[rr] = pteg0;
327 asm volatile ("sync");
328
329 local_irq_enable();
330
331 dprintk_mmu("KVM: new PTEG: %p\n", pteg);
332 dprintk_mmu("KVM: %08x - %08x\n", pteg[0], pteg[1]);
333 dprintk_mmu("KVM: %08x - %08x\n", pteg[2], pteg[3]);
334 dprintk_mmu("KVM: %08x - %08x\n", pteg[4], pteg[5]);
335 dprintk_mmu("KVM: %08x - %08x\n", pteg[6], pteg[7]);
336 dprintk_mmu("KVM: %08x - %08x\n", pteg[8], pteg[9]);
337 dprintk_mmu("KVM: %08x - %08x\n", pteg[10], pteg[11]);
338 dprintk_mmu("KVM: %08x - %08x\n", pteg[12], pteg[13]);
339 dprintk_mmu("KVM: %08x - %08x\n", pteg[14], pteg[15]);
340
341
342 /* Now tell our Shadow PTE code about the new page */
343
344 hpte_id = kvmppc_mmu_hpte_cache_next(vcpu);
345 pte = &vcpu->arch.hpte_cache[hpte_id];
346
347 dprintk_mmu("KVM: %c%c Map 0x%llx: [%lx] 0x%llx (0x%llx) -> %lx\n",
348 orig_pte->may_write ? 'w' : '-',
349 orig_pte->may_execute ? 'x' : '-',
350 orig_pte->eaddr, (ulong)pteg, va,
351 orig_pte->vpage, hpaddr);
352
353 pte->slot = (ulong)&pteg[rr];
354 pte->host_va = va;
355 pte->pte = *orig_pte;
356 pte->pfn = hpaddr >> PAGE_SHIFT;
357
358 return 0;
359}
360
361static struct kvmppc_sid_map *create_sid_map(struct kvm_vcpu *vcpu, u64 gvsid)
362{
363 struct kvmppc_sid_map *map;
364 struct kvmppc_vcpu_book3s *vcpu_book3s = to_book3s(vcpu);
365 u16 sid_map_mask;
366 static int backwards_map = 0;
367
368 if (vcpu->arch.msr & MSR_PR)
369 gvsid |= VSID_PR;
370
371 /* We might get collisions that trap in preceding order, so let's
372 map them differently */
373
374 sid_map_mask = kvmppc_sid_hash(vcpu, gvsid);
375 if (backwards_map)
376 sid_map_mask = SID_MAP_MASK - sid_map_mask;
377
378 map = &to_book3s(vcpu)->sid_map[sid_map_mask];
379
380 /* Make sure we're taking the other map next time */
381 backwards_map = !backwards_map;
382
383 /* Uh-oh ... out of mappings. Let's flush! */
384 if (vcpu_book3s->vsid_next >= vcpu_book3s->vsid_max) {
385 vcpu_book3s->vsid_next = vcpu_book3s->vsid_first;
386 memset(vcpu_book3s->sid_map, 0,
387 sizeof(struct kvmppc_sid_map) * SID_MAP_NUM);
388 kvmppc_mmu_pte_flush(vcpu, 0, 0);
389 kvmppc_mmu_flush_segments(vcpu);
390 }
391 map->host_vsid = vcpu_book3s->vsid_next;
392
393 /* Would have to be 111 to be completely aligned with the rest of
394 Linux, but that is just way too little space! */
395 vcpu_book3s->vsid_next+=1;
396
397 map->guest_vsid = gvsid;
398 map->valid = true;
399
400 return map;
401}
402
403int kvmppc_mmu_map_segment(struct kvm_vcpu *vcpu, ulong eaddr)
404{
405 u32 esid = eaddr >> SID_SHIFT;
406 u64 gvsid;
407 u32 sr;
408 struct kvmppc_sid_map *map;
409 struct kvmppc_book3s_shadow_vcpu *svcpu = to_svcpu(vcpu);
410
411 if (vcpu->arch.mmu.esid_to_vsid(vcpu, esid, &gvsid)) {
412 /* Invalidate an entry */
413 svcpu->sr[esid] = SR_INVALID;
414 return -ENOENT;
415 }
416
417 map = find_sid_vsid(vcpu, gvsid);
418 if (!map)
419 map = create_sid_map(vcpu, gvsid);
420
421 map->guest_esid = esid;
422 sr = map->host_vsid | SR_KP;
423 svcpu->sr[esid] = sr;
424
425 dprintk_sr("MMU: mtsr %d, 0x%x\n", esid, sr);
426
427 return 0;
428}
429
430void kvmppc_mmu_flush_segments(struct kvm_vcpu *vcpu)
431{
432 int i;
433 struct kvmppc_book3s_shadow_vcpu *svcpu = to_svcpu(vcpu);
434
435 dprintk_sr("MMU: flushing all segments (%d)\n", ARRAY_SIZE(svcpu->sr));
436 for (i = 0; i < ARRAY_SIZE(svcpu->sr); i++)
437 svcpu->sr[i] = SR_INVALID;
438}
439
440void kvmppc_mmu_destroy(struct kvm_vcpu *vcpu)
441{
442 kvmppc_mmu_pte_flush(vcpu, 0, 0);
443 preempt_disable();
444 __destroy_context(to_book3s(vcpu)->context_id);
445 preempt_enable();
446}
447
448/* From mm/mmu_context_hash32.c */
449#define CTX_TO_VSID(ctx) (((ctx) * (897 * 16)) & 0xffffff)
450
451int kvmppc_mmu_init(struct kvm_vcpu *vcpu)
452{
453 struct kvmppc_vcpu_book3s *vcpu3s = to_book3s(vcpu);
454 int err;
455 ulong sdr1;
456
457 err = __init_new_context();
458 if (err < 0)
459 return -1;
460 vcpu3s->context_id = err;
461
462 vcpu3s->vsid_max = CTX_TO_VSID(vcpu3s->context_id + 1) - 1;
463 vcpu3s->vsid_first = CTX_TO_VSID(vcpu3s->context_id);
464
465#if 0 /* XXX still doesn't guarantee uniqueness */
466 /* We could collide with the Linux vsid space because the vsid
467 * wraps around at 24 bits. We're safe if we do our own space
468 * though, so let's always set the highest bit. */
469
470 vcpu3s->vsid_max |= 0x00800000;
471 vcpu3s->vsid_first |= 0x00800000;
472#endif
473 BUG_ON(vcpu3s->vsid_max < vcpu3s->vsid_first);
474
475 vcpu3s->vsid_next = vcpu3s->vsid_first;
476
477 /* Remember where the HTAB is */
478 asm ( "mfsdr1 %0" : "=r"(sdr1) );
479 htabmask = ((sdr1 & 0x1FF) << 16) | 0xFFC0;
480 htab = (ulong)__va(sdr1 & 0xffff0000);
481
482 return 0;
483}
diff --git a/arch/powerpc/kvm/book3s_32_sr.S b/arch/powerpc/kvm/book3s_32_sr.S
new file mode 100644
index 000000000000..3608471ad2d8
--- /dev/null
+++ b/arch/powerpc/kvm/book3s_32_sr.S
@@ -0,0 +1,143 @@
1/*
2 * This program is free software; you can redistribute it and/or modify
3 * it under the terms of the GNU General Public License, version 2, as
4 * published by the Free Software Foundation.
5 *
6 * This program is distributed in the hope that it will be useful,
7 * but WITHOUT ANY WARRANTY; without even the implied warranty of
8 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
9 * GNU General Public License for more details.
10 *
11 * You should have received a copy of the GNU General Public License
12 * along with this program; if not, write to the Free Software
13 * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
14 *
15 * Copyright SUSE Linux Products GmbH 2009
16 *
17 * Authors: Alexander Graf <agraf@suse.de>
18 */
19
20/******************************************************************************
21 * *
22 * Entry code *
23 * *
24 *****************************************************************************/
25
26.macro LOAD_GUEST_SEGMENTS
27
28 /* Required state:
29 *
30 * MSR = ~IR|DR
31 * R1 = host R1
32 * R2 = host R2
33 * R3 = shadow vcpu
34 * all other volatile GPRS = free
35 * SVCPU[CR] = guest CR
36 * SVCPU[XER] = guest XER
37 * SVCPU[CTR] = guest CTR
38 * SVCPU[LR] = guest LR
39 */
40
41#define XCHG_SR(n) lwz r9, (SVCPU_SR+(n*4))(r3); \
42 mtsr n, r9
43
44 XCHG_SR(0)
45 XCHG_SR(1)
46 XCHG_SR(2)
47 XCHG_SR(3)
48 XCHG_SR(4)
49 XCHG_SR(5)
50 XCHG_SR(6)
51 XCHG_SR(7)
52 XCHG_SR(8)
53 XCHG_SR(9)
54 XCHG_SR(10)
55 XCHG_SR(11)
56 XCHG_SR(12)
57 XCHG_SR(13)
58 XCHG_SR(14)
59 XCHG_SR(15)
60
61 /* Clear BATs. */
62
63#define KVM_KILL_BAT(n, reg) \
64 mtspr SPRN_IBAT##n##U,reg; \
65 mtspr SPRN_IBAT##n##L,reg; \
66 mtspr SPRN_DBAT##n##U,reg; \
67 mtspr SPRN_DBAT##n##L,reg; \
68
69 li r9, 0
70 KVM_KILL_BAT(0, r9)
71 KVM_KILL_BAT(1, r9)
72 KVM_KILL_BAT(2, r9)
73 KVM_KILL_BAT(3, r9)
74
75.endm
76
77/******************************************************************************
78 * *
79 * Exit code *
80 * *
81 *****************************************************************************/
82
83.macro LOAD_HOST_SEGMENTS
84
85 /* Register usage at this point:
86 *
87 * R1 = host R1
88 * R2 = host R2
89 * R12 = exit handler id
90 * R13 = shadow vcpu - SHADOW_VCPU_OFF
91 * SVCPU.* = guest *
92 * SVCPU[CR] = guest CR
93 * SVCPU[XER] = guest XER
94 * SVCPU[CTR] = guest CTR
95 * SVCPU[LR] = guest LR
96 *
97 */
98
99 /* Restore BATs */
100
101 /* We only overwrite the upper part, so we only restoree
102 the upper part. */
103#define KVM_LOAD_BAT(n, reg, RA, RB) \
104 lwz RA,(n*16)+0(reg); \
105 lwz RB,(n*16)+4(reg); \
106 mtspr SPRN_IBAT##n##U,RA; \
107 mtspr SPRN_IBAT##n##L,RB; \
108 lwz RA,(n*16)+8(reg); \
109 lwz RB,(n*16)+12(reg); \
110 mtspr SPRN_DBAT##n##U,RA; \
111 mtspr SPRN_DBAT##n##L,RB; \
112
113 lis r9, BATS@ha
114 addi r9, r9, BATS@l
115 tophys(r9, r9)
116 KVM_LOAD_BAT(0, r9, r10, r11)
117 KVM_LOAD_BAT(1, r9, r10, r11)
118 KVM_LOAD_BAT(2, r9, r10, r11)
119 KVM_LOAD_BAT(3, r9, r10, r11)
120
121 /* Restore Segment Registers */
122
123 /* 0xc - 0xf */
124
125 li r0, 4
126 mtctr r0
127 LOAD_REG_IMMEDIATE(r3, 0x20000000 | (0x111 * 0xc))
128 lis r4, 0xc000
1293: mtsrin r3, r4
130 addi r3, r3, 0x111 /* increment VSID */
131 addis r4, r4, 0x1000 /* address of next segment */
132 bdnz 3b
133
134 /* 0x0 - 0xb */
135
136 /* 'current->mm' needs to be in r4 */
137 tophys(r4, r2)
138 lwz r4, MM(r4)
139 tophys(r4, r4)
140 /* This only clobbers r0, r3, r4 and r5 */
141 bl switch_mmu_context
142
143.endm
diff --git a/arch/powerpc/kvm/book3s_64_emulate.c b/arch/powerpc/kvm/book3s_64_emulate.c
deleted file mode 100644
index 1027eac6d474..000000000000
--- a/arch/powerpc/kvm/book3s_64_emulate.c
+++ /dev/null
@@ -1,345 +0,0 @@
1/*
2 * This program is free software; you can redistribute it and/or modify
3 * it under the terms of the GNU General Public License, version 2, as
4 * published by the Free Software Foundation.
5 *
6 * This program is distributed in the hope that it will be useful,
7 * but WITHOUT ANY WARRANTY; without even the implied warranty of
8 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
9 * GNU General Public License for more details.
10 *
11 * You should have received a copy of the GNU General Public License
12 * along with this program; if not, write to the Free Software
13 * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
14 *
15 * Copyright SUSE Linux Products GmbH 2009
16 *
17 * Authors: Alexander Graf <agraf@suse.de>
18 */
19
20#include <asm/kvm_ppc.h>
21#include <asm/disassemble.h>
22#include <asm/kvm_book3s.h>
23#include <asm/reg.h>
24
25#define OP_19_XOP_RFID 18
26#define OP_19_XOP_RFI 50
27
28#define OP_31_XOP_MFMSR 83
29#define OP_31_XOP_MTMSR 146
30#define OP_31_XOP_MTMSRD 178
31#define OP_31_XOP_MTSRIN 242
32#define OP_31_XOP_TLBIEL 274
33#define OP_31_XOP_TLBIE 306
34#define OP_31_XOP_SLBMTE 402
35#define OP_31_XOP_SLBIE 434
36#define OP_31_XOP_SLBIA 498
37#define OP_31_XOP_MFSRIN 659
38#define OP_31_XOP_SLBMFEV 851
39#define OP_31_XOP_EIOIO 854
40#define OP_31_XOP_SLBMFEE 915
41
42/* DCBZ is actually 1014, but we patch it to 1010 so we get a trap */
43#define OP_31_XOP_DCBZ 1010
44
45int kvmppc_core_emulate_op(struct kvm_run *run, struct kvm_vcpu *vcpu,
46 unsigned int inst, int *advance)
47{
48 int emulated = EMULATE_DONE;
49
50 switch (get_op(inst)) {
51 case 19:
52 switch (get_xop(inst)) {
53 case OP_19_XOP_RFID:
54 case OP_19_XOP_RFI:
55 vcpu->arch.pc = vcpu->arch.srr0;
56 kvmppc_set_msr(vcpu, vcpu->arch.srr1);
57 *advance = 0;
58 break;
59
60 default:
61 emulated = EMULATE_FAIL;
62 break;
63 }
64 break;
65 case 31:
66 switch (get_xop(inst)) {
67 case OP_31_XOP_MFMSR:
68 vcpu->arch.gpr[get_rt(inst)] = vcpu->arch.msr;
69 break;
70 case OP_31_XOP_MTMSRD:
71 {
72 ulong rs = vcpu->arch.gpr[get_rs(inst)];
73 if (inst & 0x10000) {
74 vcpu->arch.msr &= ~(MSR_RI | MSR_EE);
75 vcpu->arch.msr |= rs & (MSR_RI | MSR_EE);
76 } else
77 kvmppc_set_msr(vcpu, rs);
78 break;
79 }
80 case OP_31_XOP_MTMSR:
81 kvmppc_set_msr(vcpu, vcpu->arch.gpr[get_rs(inst)]);
82 break;
83 case OP_31_XOP_MFSRIN:
84 {
85 int srnum;
86
87 srnum = (vcpu->arch.gpr[get_rb(inst)] >> 28) & 0xf;
88 if (vcpu->arch.mmu.mfsrin) {
89 u32 sr;
90 sr = vcpu->arch.mmu.mfsrin(vcpu, srnum);
91 vcpu->arch.gpr[get_rt(inst)] = sr;
92 }
93 break;
94 }
95 case OP_31_XOP_MTSRIN:
96 vcpu->arch.mmu.mtsrin(vcpu,
97 (vcpu->arch.gpr[get_rb(inst)] >> 28) & 0xf,
98 vcpu->arch.gpr[get_rs(inst)]);
99 break;
100 case OP_31_XOP_TLBIE:
101 case OP_31_XOP_TLBIEL:
102 {
103 bool large = (inst & 0x00200000) ? true : false;
104 ulong addr = vcpu->arch.gpr[get_rb(inst)];
105 vcpu->arch.mmu.tlbie(vcpu, addr, large);
106 break;
107 }
108 case OP_31_XOP_EIOIO:
109 break;
110 case OP_31_XOP_SLBMTE:
111 if (!vcpu->arch.mmu.slbmte)
112 return EMULATE_FAIL;
113
114 vcpu->arch.mmu.slbmte(vcpu, vcpu->arch.gpr[get_rs(inst)],
115 vcpu->arch.gpr[get_rb(inst)]);
116 break;
117 case OP_31_XOP_SLBIE:
118 if (!vcpu->arch.mmu.slbie)
119 return EMULATE_FAIL;
120
121 vcpu->arch.mmu.slbie(vcpu, vcpu->arch.gpr[get_rb(inst)]);
122 break;
123 case OP_31_XOP_SLBIA:
124 if (!vcpu->arch.mmu.slbia)
125 return EMULATE_FAIL;
126
127 vcpu->arch.mmu.slbia(vcpu);
128 break;
129 case OP_31_XOP_SLBMFEE:
130 if (!vcpu->arch.mmu.slbmfee) {
131 emulated = EMULATE_FAIL;
132 } else {
133 ulong t, rb;
134
135 rb = vcpu->arch.gpr[get_rb(inst)];
136 t = vcpu->arch.mmu.slbmfee(vcpu, rb);
137 vcpu->arch.gpr[get_rt(inst)] = t;
138 }
139 break;
140 case OP_31_XOP_SLBMFEV:
141 if (!vcpu->arch.mmu.slbmfev) {
142 emulated = EMULATE_FAIL;
143 } else {
144 ulong t, rb;
145
146 rb = vcpu->arch.gpr[get_rb(inst)];
147 t = vcpu->arch.mmu.slbmfev(vcpu, rb);
148 vcpu->arch.gpr[get_rt(inst)] = t;
149 }
150 break;
151 case OP_31_XOP_DCBZ:
152 {
153 ulong rb = vcpu->arch.gpr[get_rb(inst)];
154 ulong ra = 0;
155 ulong addr;
156 u32 zeros[8] = { 0, 0, 0, 0, 0, 0, 0, 0 };
157
158 if (get_ra(inst))
159 ra = vcpu->arch.gpr[get_ra(inst)];
160
161 addr = (ra + rb) & ~31ULL;
162 if (!(vcpu->arch.msr & MSR_SF))
163 addr &= 0xffffffff;
164
165 if (kvmppc_st(vcpu, addr, 32, zeros)) {
166 vcpu->arch.dear = addr;
167 vcpu->arch.fault_dear = addr;
168 to_book3s(vcpu)->dsisr = DSISR_PROTFAULT |
169 DSISR_ISSTORE;
170 kvmppc_book3s_queue_irqprio(vcpu,
171 BOOK3S_INTERRUPT_DATA_STORAGE);
172 kvmppc_mmu_pte_flush(vcpu, addr, ~0xFFFULL);
173 }
174
175 break;
176 }
177 default:
178 emulated = EMULATE_FAIL;
179 }
180 break;
181 default:
182 emulated = EMULATE_FAIL;
183 }
184
185 return emulated;
186}
187
188void kvmppc_set_bat(struct kvm_vcpu *vcpu, struct kvmppc_bat *bat, bool upper,
189 u32 val)
190{
191 if (upper) {
192 /* Upper BAT */
193 u32 bl = (val >> 2) & 0x7ff;
194 bat->bepi_mask = (~bl << 17);
195 bat->bepi = val & 0xfffe0000;
196 bat->vs = (val & 2) ? 1 : 0;
197 bat->vp = (val & 1) ? 1 : 0;
198 bat->raw = (bat->raw & 0xffffffff00000000ULL) | val;
199 } else {
200 /* Lower BAT */
201 bat->brpn = val & 0xfffe0000;
202 bat->wimg = (val >> 3) & 0xf;
203 bat->pp = val & 3;
204 bat->raw = (bat->raw & 0x00000000ffffffffULL) | ((u64)val << 32);
205 }
206}
207
208static void kvmppc_write_bat(struct kvm_vcpu *vcpu, int sprn, u32 val)
209{
210 struct kvmppc_vcpu_book3s *vcpu_book3s = to_book3s(vcpu);
211 struct kvmppc_bat *bat;
212
213 switch (sprn) {
214 case SPRN_IBAT0U ... SPRN_IBAT3L:
215 bat = &vcpu_book3s->ibat[(sprn - SPRN_IBAT0U) / 2];
216 break;
217 case SPRN_IBAT4U ... SPRN_IBAT7L:
218 bat = &vcpu_book3s->ibat[(sprn - SPRN_IBAT4U) / 2];
219 break;
220 case SPRN_DBAT0U ... SPRN_DBAT3L:
221 bat = &vcpu_book3s->dbat[(sprn - SPRN_DBAT0U) / 2];
222 break;
223 case SPRN_DBAT4U ... SPRN_DBAT7L:
224 bat = &vcpu_book3s->dbat[(sprn - SPRN_DBAT4U) / 2];
225 break;
226 default:
227 BUG();
228 }
229
230 kvmppc_set_bat(vcpu, bat, !(sprn % 2), val);
231}
232
233int kvmppc_core_emulate_mtspr(struct kvm_vcpu *vcpu, int sprn, int rs)
234{
235 int emulated = EMULATE_DONE;
236
237 switch (sprn) {
238 case SPRN_SDR1:
239 to_book3s(vcpu)->sdr1 = vcpu->arch.gpr[rs];
240 break;
241 case SPRN_DSISR:
242 to_book3s(vcpu)->dsisr = vcpu->arch.gpr[rs];
243 break;
244 case SPRN_DAR:
245 vcpu->arch.dear = vcpu->arch.gpr[rs];
246 break;
247 case SPRN_HIOR:
248 to_book3s(vcpu)->hior = vcpu->arch.gpr[rs];
249 break;
250 case SPRN_IBAT0U ... SPRN_IBAT3L:
251 case SPRN_IBAT4U ... SPRN_IBAT7L:
252 case SPRN_DBAT0U ... SPRN_DBAT3L:
253 case SPRN_DBAT4U ... SPRN_DBAT7L:
254 kvmppc_write_bat(vcpu, sprn, (u32)vcpu->arch.gpr[rs]);
255 /* BAT writes happen so rarely that we're ok to flush
256 * everything here */
257 kvmppc_mmu_pte_flush(vcpu, 0, 0);
258 break;
259 case SPRN_HID0:
260 to_book3s(vcpu)->hid[0] = vcpu->arch.gpr[rs];
261 break;
262 case SPRN_HID1:
263 to_book3s(vcpu)->hid[1] = vcpu->arch.gpr[rs];
264 break;
265 case SPRN_HID2:
266 to_book3s(vcpu)->hid[2] = vcpu->arch.gpr[rs];
267 break;
268 case SPRN_HID4:
269 to_book3s(vcpu)->hid[4] = vcpu->arch.gpr[rs];
270 break;
271 case SPRN_HID5:
272 to_book3s(vcpu)->hid[5] = vcpu->arch.gpr[rs];
273 /* guest HID5 set can change is_dcbz32 */
274 if (vcpu->arch.mmu.is_dcbz32(vcpu) &&
275 (mfmsr() & MSR_HV))
276 vcpu->arch.hflags |= BOOK3S_HFLAG_DCBZ32;
277 break;
278 case SPRN_ICTC:
279 case SPRN_THRM1:
280 case SPRN_THRM2:
281 case SPRN_THRM3:
282 case SPRN_CTRLF:
283 case SPRN_CTRLT:
284 break;
285 default:
286 printk(KERN_INFO "KVM: invalid SPR write: %d\n", sprn);
287#ifndef DEBUG_SPR
288 emulated = EMULATE_FAIL;
289#endif
290 break;
291 }
292
293 return emulated;
294}
295
296int kvmppc_core_emulate_mfspr(struct kvm_vcpu *vcpu, int sprn, int rt)
297{
298 int emulated = EMULATE_DONE;
299
300 switch (sprn) {
301 case SPRN_SDR1:
302 vcpu->arch.gpr[rt] = to_book3s(vcpu)->sdr1;
303 break;
304 case SPRN_DSISR:
305 vcpu->arch.gpr[rt] = to_book3s(vcpu)->dsisr;
306 break;
307 case SPRN_DAR:
308 vcpu->arch.gpr[rt] = vcpu->arch.dear;
309 break;
310 case SPRN_HIOR:
311 vcpu->arch.gpr[rt] = to_book3s(vcpu)->hior;
312 break;
313 case SPRN_HID0:
314 vcpu->arch.gpr[rt] = to_book3s(vcpu)->hid[0];
315 break;
316 case SPRN_HID1:
317 vcpu->arch.gpr[rt] = to_book3s(vcpu)->hid[1];
318 break;
319 case SPRN_HID2:
320 vcpu->arch.gpr[rt] = to_book3s(vcpu)->hid[2];
321 break;
322 case SPRN_HID4:
323 vcpu->arch.gpr[rt] = to_book3s(vcpu)->hid[4];
324 break;
325 case SPRN_HID5:
326 vcpu->arch.gpr[rt] = to_book3s(vcpu)->hid[5];
327 break;
328 case SPRN_THRM1:
329 case SPRN_THRM2:
330 case SPRN_THRM3:
331 case SPRN_CTRLF:
332 case SPRN_CTRLT:
333 vcpu->arch.gpr[rt] = 0;
334 break;
335 default:
336 printk(KERN_INFO "KVM: invalid SPR read: %d\n", sprn);
337#ifndef DEBUG_SPR
338 emulated = EMULATE_FAIL;
339#endif
340 break;
341 }
342
343 return emulated;
344}
345
diff --git a/arch/powerpc/kvm/book3s_64_interrupts.S b/arch/powerpc/kvm/book3s_64_interrupts.S
deleted file mode 100644
index 7b55d8094c8b..000000000000
--- a/arch/powerpc/kvm/book3s_64_interrupts.S
+++ /dev/null
@@ -1,392 +0,0 @@
1/*
2 * This program is free software; you can redistribute it and/or modify
3 * it under the terms of the GNU General Public License, version 2, as
4 * published by the Free Software Foundation.
5 *
6 * This program is distributed in the hope that it will be useful,
7 * but WITHOUT ANY WARRANTY; without even the implied warranty of
8 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
9 * GNU General Public License for more details.
10 *
11 * You should have received a copy of the GNU General Public License
12 * along with this program; if not, write to the Free Software
13 * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
14 *
15 * Copyright SUSE Linux Products GmbH 2009
16 *
17 * Authors: Alexander Graf <agraf@suse.de>
18 */
19
20#include <asm/ppc_asm.h>
21#include <asm/kvm_asm.h>
22#include <asm/reg.h>
23#include <asm/page.h>
24#include <asm/asm-offsets.h>
25#include <asm/exception-64s.h>
26
27#define KVMPPC_HANDLE_EXIT .kvmppc_handle_exit
28#define ULONG_SIZE 8
29#define VCPU_GPR(n) (VCPU_GPRS + (n * ULONG_SIZE))
30
31.macro mfpaca tmp_reg, src_reg, offset, vcpu_reg
32 ld \tmp_reg, (PACA_EXMC+\offset)(r13)
33 std \tmp_reg, VCPU_GPR(\src_reg)(\vcpu_reg)
34.endm
35
36.macro DISABLE_INTERRUPTS
37 mfmsr r0
38 rldicl r0,r0,48,1
39 rotldi r0,r0,16
40 mtmsrd r0,1
41.endm
42
43/*****************************************************************************
44 * *
45 * Guest entry / exit code that is in kernel module memory (highmem) *
46 * *
47 ****************************************************************************/
48
49/* Registers:
50 * r3: kvm_run pointer
51 * r4: vcpu pointer
52 */
53_GLOBAL(__kvmppc_vcpu_entry)
54
55kvm_start_entry:
56 /* Write correct stack frame */
57 mflr r0
58 std r0,16(r1)
59
60 /* Save host state to the stack */
61 stdu r1, -SWITCH_FRAME_SIZE(r1)
62
63 /* Save r3 (kvm_run) and r4 (vcpu) */
64 SAVE_2GPRS(3, r1)
65
66 /* Save non-volatile registers (r14 - r31) */
67 SAVE_NVGPRS(r1)
68
69 /* Save LR */
70 mflr r14
71 std r14, _LINK(r1)
72
73/* XXX optimize non-volatile loading away */
74kvm_start_lightweight:
75
76 DISABLE_INTERRUPTS
77
78 /* Save R1/R2 in the PACA */
79 std r1, PACAR1(r13)
80 std r2, (PACA_EXMC+EX_SRR0)(r13)
81 ld r3, VCPU_HIGHMEM_HANDLER(r4)
82 std r3, PACASAVEDMSR(r13)
83
84 /* Load non-volatile guest state from the vcpu */
85 ld r14, VCPU_GPR(r14)(r4)
86 ld r15, VCPU_GPR(r15)(r4)
87 ld r16, VCPU_GPR(r16)(r4)
88 ld r17, VCPU_GPR(r17)(r4)
89 ld r18, VCPU_GPR(r18)(r4)
90 ld r19, VCPU_GPR(r19)(r4)
91 ld r20, VCPU_GPR(r20)(r4)
92 ld r21, VCPU_GPR(r21)(r4)
93 ld r22, VCPU_GPR(r22)(r4)
94 ld r23, VCPU_GPR(r23)(r4)
95 ld r24, VCPU_GPR(r24)(r4)
96 ld r25, VCPU_GPR(r25)(r4)
97 ld r26, VCPU_GPR(r26)(r4)
98 ld r27, VCPU_GPR(r27)(r4)
99 ld r28, VCPU_GPR(r28)(r4)
100 ld r29, VCPU_GPR(r29)(r4)
101 ld r30, VCPU_GPR(r30)(r4)
102 ld r31, VCPU_GPR(r31)(r4)
103
104 ld r9, VCPU_PC(r4) /* r9 = vcpu->arch.pc */
105 ld r10, VCPU_SHADOW_MSR(r4) /* r10 = vcpu->arch.shadow_msr */
106
107 ld r3, VCPU_TRAMPOLINE_ENTER(r4)
108 mtsrr0 r3
109
110 LOAD_REG_IMMEDIATE(r3, MSR_KERNEL & ~(MSR_IR | MSR_DR))
111 mtsrr1 r3
112
113 /* Load guest state in the respective registers */
114 lwz r3, VCPU_CR(r4) /* r3 = vcpu->arch.cr */
115 stw r3, (PACA_EXMC + EX_CCR)(r13)
116
117 ld r3, VCPU_CTR(r4) /* r3 = vcpu->arch.ctr */
118 mtctr r3 /* CTR = r3 */
119
120 ld r3, VCPU_LR(r4) /* r3 = vcpu->arch.lr */
121 mtlr r3 /* LR = r3 */
122
123 ld r3, VCPU_XER(r4) /* r3 = vcpu->arch.xer */
124 std r3, (PACA_EXMC + EX_R3)(r13)
125
126 /* Some guests may need to have dcbz set to 32 byte length.
127 *
128 * Usually we ensure that by patching the guest's instructions
129 * to trap on dcbz and emulate it in the hypervisor.
130 *
131 * If we can, we should tell the CPU to use 32 byte dcbz though,
132 * because that's a lot faster.
133 */
134
135 ld r3, VCPU_HFLAGS(r4)
136 rldicl. r3, r3, 0, 63 /* CR = ((r3 & 1) == 0) */
137 beq no_dcbz32_on
138
139 mfspr r3,SPRN_HID5
140 ori r3, r3, 0x80 /* XXX HID5_dcbz32 = 0x80 */
141 mtspr SPRN_HID5,r3
142
143no_dcbz32_on:
144 /* Load guest GPRs */
145
146 ld r3, VCPU_GPR(r9)(r4)
147 std r3, (PACA_EXMC + EX_R9)(r13)
148 ld r3, VCPU_GPR(r10)(r4)
149 std r3, (PACA_EXMC + EX_R10)(r13)
150 ld r3, VCPU_GPR(r11)(r4)
151 std r3, (PACA_EXMC + EX_R11)(r13)
152 ld r3, VCPU_GPR(r12)(r4)
153 std r3, (PACA_EXMC + EX_R12)(r13)
154 ld r3, VCPU_GPR(r13)(r4)
155 std r3, (PACA_EXMC + EX_R13)(r13)
156
157 ld r0, VCPU_GPR(r0)(r4)
158 ld r1, VCPU_GPR(r1)(r4)
159 ld r2, VCPU_GPR(r2)(r4)
160 ld r3, VCPU_GPR(r3)(r4)
161 ld r5, VCPU_GPR(r5)(r4)
162 ld r6, VCPU_GPR(r6)(r4)
163 ld r7, VCPU_GPR(r7)(r4)
164 ld r8, VCPU_GPR(r8)(r4)
165 ld r4, VCPU_GPR(r4)(r4)
166
167 /* This sets the Magic value for the trampoline */
168
169 li r11, 1
170 stb r11, PACA_KVM_IN_GUEST(r13)
171
172 /* Jump to SLB patching handlder and into our guest */
173 RFI
174
175/*
176 * This is the handler in module memory. It gets jumped at from the
177 * lowmem trampoline code, so it's basically the guest exit code.
178 *
179 */
180
181.global kvmppc_handler_highmem
182kvmppc_handler_highmem:
183
184 /*
185 * Register usage at this point:
186 *
187 * R00 = guest R13
188 * R01 = host R1
189 * R02 = host R2
190 * R10 = guest PC
191 * R11 = guest MSR
192 * R12 = exit handler id
193 * R13 = PACA
194 * PACA.exmc.R9 = guest R1
195 * PACA.exmc.R10 = guest R10
196 * PACA.exmc.R11 = guest R11
197 * PACA.exmc.R12 = guest R12
198 * PACA.exmc.R13 = guest R2
199 * PACA.exmc.DAR = guest DAR
200 * PACA.exmc.DSISR = guest DSISR
201 * PACA.exmc.LR = guest instruction
202 * PACA.exmc.CCR = guest CR
203 * PACA.exmc.SRR0 = guest R0
204 *
205 */
206
207 std r3, (PACA_EXMC+EX_R3)(r13)
208
209 /* save the exit id in R3 */
210 mr r3, r12
211
212 /* R12 = vcpu */
213 ld r12, GPR4(r1)
214
215 /* Now save the guest state */
216
217 std r0, VCPU_GPR(r13)(r12)
218 std r4, VCPU_GPR(r4)(r12)
219 std r5, VCPU_GPR(r5)(r12)
220 std r6, VCPU_GPR(r6)(r12)
221 std r7, VCPU_GPR(r7)(r12)
222 std r8, VCPU_GPR(r8)(r12)
223 std r9, VCPU_GPR(r9)(r12)
224
225 /* get registers from PACA */
226 mfpaca r5, r0, EX_SRR0, r12
227 mfpaca r5, r3, EX_R3, r12
228 mfpaca r5, r1, EX_R9, r12
229 mfpaca r5, r10, EX_R10, r12
230 mfpaca r5, r11, EX_R11, r12
231 mfpaca r5, r12, EX_R12, r12
232 mfpaca r5, r2, EX_R13, r12
233
234 lwz r5, (PACA_EXMC+EX_LR)(r13)
235 stw r5, VCPU_LAST_INST(r12)
236
237 lwz r5, (PACA_EXMC+EX_CCR)(r13)
238 stw r5, VCPU_CR(r12)
239
240 ld r5, VCPU_HFLAGS(r12)
241 rldicl. r5, r5, 0, 63 /* CR = ((r5 & 1) == 0) */
242 beq no_dcbz32_off
243
244 mfspr r5,SPRN_HID5
245 rldimi r5,r5,6,56
246 mtspr SPRN_HID5,r5
247
248no_dcbz32_off:
249
250 /* XXX maybe skip on lightweight? */
251 std r14, VCPU_GPR(r14)(r12)
252 std r15, VCPU_GPR(r15)(r12)
253 std r16, VCPU_GPR(r16)(r12)
254 std r17, VCPU_GPR(r17)(r12)
255 std r18, VCPU_GPR(r18)(r12)
256 std r19, VCPU_GPR(r19)(r12)
257 std r20, VCPU_GPR(r20)(r12)
258 std r21, VCPU_GPR(r21)(r12)
259 std r22, VCPU_GPR(r22)(r12)
260 std r23, VCPU_GPR(r23)(r12)
261 std r24, VCPU_GPR(r24)(r12)
262 std r25, VCPU_GPR(r25)(r12)
263 std r26, VCPU_GPR(r26)(r12)
264 std r27, VCPU_GPR(r27)(r12)
265 std r28, VCPU_GPR(r28)(r12)
266 std r29, VCPU_GPR(r29)(r12)
267 std r30, VCPU_GPR(r30)(r12)
268 std r31, VCPU_GPR(r31)(r12)
269
270 /* Restore non-volatile host registers (r14 - r31) */
271 REST_NVGPRS(r1)
272
273 /* Save guest PC (R10) */
274 std r10, VCPU_PC(r12)
275
276 /* Save guest msr (R11) */
277 std r11, VCPU_SHADOW_MSR(r12)
278
279 /* Save guest CTR (in R12) */
280 mfctr r5
281 std r5, VCPU_CTR(r12)
282
283 /* Save guest LR */
284 mflr r5
285 std r5, VCPU_LR(r12)
286
287 /* Save guest XER */
288 mfxer r5
289 std r5, VCPU_XER(r12)
290
291 /* Save guest DAR */
292 ld r5, (PACA_EXMC+EX_DAR)(r13)
293 std r5, VCPU_FAULT_DEAR(r12)
294
295 /* Save guest DSISR */
296 lwz r5, (PACA_EXMC+EX_DSISR)(r13)
297 std r5, VCPU_FAULT_DSISR(r12)
298
299 /* Restore host msr -> SRR1 */
300 ld r7, VCPU_HOST_MSR(r12)
301 mtsrr1 r7
302
303 /* Restore host IP -> SRR0 */
304 ld r6, VCPU_HOST_RETIP(r12)
305 mtsrr0 r6
306
307 /*
308 * For some interrupts, we need to call the real Linux
309 * handler, so it can do work for us. This has to happen
310 * as if the interrupt arrived from the kernel though,
311 * so let's fake it here where most state is restored.
312 *
313 * Call Linux for hardware interrupts/decrementer
314 * r3 = address of interrupt handler (exit reason)
315 */
316
317 cmpwi r3, BOOK3S_INTERRUPT_EXTERNAL
318 beq call_linux_handler
319 cmpwi r3, BOOK3S_INTERRUPT_DECREMENTER
320 beq call_linux_handler
321
322 /* Back to Interruptable Mode! (goto kvm_return_point) */
323 RFI
324
325call_linux_handler:
326
327 /*
328 * If we land here we need to jump back to the handler we
329 * came from.
330 *
331 * We have a page that we can access from real mode, so let's
332 * jump back to that and use it as a trampoline to get back into the
333 * interrupt handler!
334 *
335 * R3 still contains the exit code,
336 * R6 VCPU_HOST_RETIP and
337 * R7 VCPU_HOST_MSR
338 */
339
340 mtlr r3
341
342 ld r5, VCPU_TRAMPOLINE_LOWMEM(r12)
343 mtsrr0 r5
344 LOAD_REG_IMMEDIATE(r5, MSR_KERNEL & ~(MSR_IR | MSR_DR))
345 mtsrr1 r5
346
347 RFI
348
349.global kvm_return_point
350kvm_return_point:
351
352 /* Jump back to lightweight entry if we're supposed to */
353 /* go back into the guest */
354 mr r5, r3
355 /* Restore r3 (kvm_run) and r4 (vcpu) */
356 REST_2GPRS(3, r1)
357 bl KVMPPC_HANDLE_EXIT
358
359#if 0 /* XXX get lightweight exits back */
360 cmpwi r3, RESUME_GUEST
361 bne kvm_exit_heavyweight
362
363 /* put VCPU and KVM_RUN back into place and roll again! */
364 REST_2GPRS(3, r1)
365 b kvm_start_lightweight
366
367kvm_exit_heavyweight:
368 /* Restore non-volatile host registers */
369 ld r14, _LINK(r1)
370 mtlr r14
371 REST_NVGPRS(r1)
372
373 addi r1, r1, SWITCH_FRAME_SIZE
374#else
375 ld r4, _LINK(r1)
376 mtlr r4
377
378 cmpwi r3, RESUME_GUEST
379 bne kvm_exit_heavyweight
380
381 REST_2GPRS(3, r1)
382
383 addi r1, r1, SWITCH_FRAME_SIZE
384
385 b kvm_start_entry
386
387kvm_exit_heavyweight:
388
389 addi r1, r1, SWITCH_FRAME_SIZE
390#endif
391
392 blr
diff --git a/arch/powerpc/kvm/book3s_64_mmu.c b/arch/powerpc/kvm/book3s_64_mmu.c
index e4beeb371a73..4025ea26b3c1 100644
--- a/arch/powerpc/kvm/book3s_64_mmu.c
+++ b/arch/powerpc/kvm/book3s_64_mmu.c
@@ -54,7 +54,7 @@ static struct kvmppc_slb *kvmppc_mmu_book3s_64_find_slbe(
54 if (!vcpu_book3s->slb[i].valid) 54 if (!vcpu_book3s->slb[i].valid)
55 continue; 55 continue;
56 56
57 if (vcpu_book3s->slb[i].large) 57 if (vcpu_book3s->slb[i].tb)
58 cmp_esid = esid_1t; 58 cmp_esid = esid_1t;
59 59
60 if (vcpu_book3s->slb[i].esid == cmp_esid) 60 if (vcpu_book3s->slb[i].esid == cmp_esid)
@@ -65,9 +65,10 @@ static struct kvmppc_slb *kvmppc_mmu_book3s_64_find_slbe(
65 eaddr, esid, esid_1t); 65 eaddr, esid, esid_1t);
66 for (i = 0; i < vcpu_book3s->slb_nr; i++) { 66 for (i = 0; i < vcpu_book3s->slb_nr; i++) {
67 if (vcpu_book3s->slb[i].vsid) 67 if (vcpu_book3s->slb[i].vsid)
68 dprintk(" %d: %c%c %llx %llx\n", i, 68 dprintk(" %d: %c%c%c %llx %llx\n", i,
69 vcpu_book3s->slb[i].valid ? 'v' : ' ', 69 vcpu_book3s->slb[i].valid ? 'v' : ' ',
70 vcpu_book3s->slb[i].large ? 'l' : ' ', 70 vcpu_book3s->slb[i].large ? 'l' : ' ',
71 vcpu_book3s->slb[i].tb ? 't' : ' ',
71 vcpu_book3s->slb[i].esid, 72 vcpu_book3s->slb[i].esid,
72 vcpu_book3s->slb[i].vsid); 73 vcpu_book3s->slb[i].vsid);
73 } 74 }
@@ -84,7 +85,7 @@ static u64 kvmppc_mmu_book3s_64_ea_to_vp(struct kvm_vcpu *vcpu, gva_t eaddr,
84 if (!slb) 85 if (!slb)
85 return 0; 86 return 0;
86 87
87 if (slb->large) 88 if (slb->tb)
88 return (((u64)eaddr >> 12) & 0xfffffff) | 89 return (((u64)eaddr >> 12) & 0xfffffff) |
89 (((u64)slb->vsid) << 28); 90 (((u64)slb->vsid) << 28);
90 91
@@ -231,7 +232,7 @@ do_second:
231 } 232 }
232 233
233 dprintk("KVM MMU: Translated 0x%lx [0x%llx] -> 0x%llx " 234 dprintk("KVM MMU: Translated 0x%lx [0x%llx] -> 0x%llx "
234 "-> 0x%llx\n", 235 "-> 0x%lx\n",
235 eaddr, avpn, gpte->vpage, gpte->raddr); 236 eaddr, avpn, gpte->vpage, gpte->raddr);
236 found = true; 237 found = true;
237 break; 238 break;
@@ -309,7 +310,8 @@ static void kvmppc_mmu_book3s_64_slbmte(struct kvm_vcpu *vcpu, u64 rs, u64 rb)
309 slbe = &vcpu_book3s->slb[slb_nr]; 310 slbe = &vcpu_book3s->slb[slb_nr];
310 311
311 slbe->large = (rs & SLB_VSID_L) ? 1 : 0; 312 slbe->large = (rs & SLB_VSID_L) ? 1 : 0;
312 slbe->esid = slbe->large ? esid_1t : esid; 313 slbe->tb = (rs & SLB_VSID_B_1T) ? 1 : 0;
314 slbe->esid = slbe->tb ? esid_1t : esid;
313 slbe->vsid = rs >> 12; 315 slbe->vsid = rs >> 12;
314 slbe->valid = (rb & SLB_ESID_V) ? 1 : 0; 316 slbe->valid = (rb & SLB_ESID_V) ? 1 : 0;
315 slbe->Ks = (rs & SLB_VSID_KS) ? 1 : 0; 317 slbe->Ks = (rs & SLB_VSID_KS) ? 1 : 0;
@@ -381,7 +383,7 @@ static void kvmppc_mmu_book3s_64_slbia(struct kvm_vcpu *vcpu)
381 383
382 if (vcpu->arch.msr & MSR_IR) { 384 if (vcpu->arch.msr & MSR_IR) {
383 kvmppc_mmu_flush_segments(vcpu); 385 kvmppc_mmu_flush_segments(vcpu);
384 kvmppc_mmu_map_segment(vcpu, vcpu->arch.pc); 386 kvmppc_mmu_map_segment(vcpu, kvmppc_get_pc(vcpu));
385 } 387 }
386} 388}
387 389
@@ -437,37 +439,43 @@ static void kvmppc_mmu_book3s_64_tlbie(struct kvm_vcpu *vcpu, ulong va,
437 kvmppc_mmu_pte_vflush(vcpu, va >> 12, mask); 439 kvmppc_mmu_pte_vflush(vcpu, va >> 12, mask);
438} 440}
439 441
440static int kvmppc_mmu_book3s_64_esid_to_vsid(struct kvm_vcpu *vcpu, u64 esid, 442static int kvmppc_mmu_book3s_64_esid_to_vsid(struct kvm_vcpu *vcpu, ulong esid,
441 u64 *vsid) 443 u64 *vsid)
442{ 444{
445 ulong ea = esid << SID_SHIFT;
446 struct kvmppc_slb *slb;
447 u64 gvsid = esid;
448
449 if (vcpu->arch.msr & (MSR_DR|MSR_IR)) {
450 slb = kvmppc_mmu_book3s_64_find_slbe(to_book3s(vcpu), ea);
451 if (slb)
452 gvsid = slb->vsid;
453 }
454
443 switch (vcpu->arch.msr & (MSR_DR|MSR_IR)) { 455 switch (vcpu->arch.msr & (MSR_DR|MSR_IR)) {
444 case 0: 456 case 0:
445 *vsid = (VSID_REAL >> 16) | esid; 457 *vsid = VSID_REAL | esid;
446 break; 458 break;
447 case MSR_IR: 459 case MSR_IR:
448 *vsid = (VSID_REAL_IR >> 16) | esid; 460 *vsid = VSID_REAL_IR | gvsid;
449 break; 461 break;
450 case MSR_DR: 462 case MSR_DR:
451 *vsid = (VSID_REAL_DR >> 16) | esid; 463 *vsid = VSID_REAL_DR | gvsid;
452 break; 464 break;
453 case MSR_DR|MSR_IR: 465 case MSR_DR|MSR_IR:
454 { 466 if (!slb)
455 ulong ea;
456 struct kvmppc_slb *slb;
457 ea = esid << SID_SHIFT;
458 slb = kvmppc_mmu_book3s_64_find_slbe(to_book3s(vcpu), ea);
459 if (slb)
460 *vsid = slb->vsid;
461 else
462 return -ENOENT; 467 return -ENOENT;
463 468
469 *vsid = gvsid;
464 break; 470 break;
465 }
466 default: 471 default:
467 BUG(); 472 BUG();
468 break; 473 break;
469 } 474 }
470 475
476 if (vcpu->arch.msr & MSR_PR)
477 *vsid |= VSID_PR;
478
471 return 0; 479 return 0;
472} 480}
473 481
diff --git a/arch/powerpc/kvm/book3s_64_mmu_host.c b/arch/powerpc/kvm/book3s_64_mmu_host.c
index f2899b297ffd..e4b5744977f6 100644
--- a/arch/powerpc/kvm/book3s_64_mmu_host.c
+++ b/arch/powerpc/kvm/book3s_64_mmu_host.c
@@ -48,21 +48,25 @@
48 48
49static void invalidate_pte(struct hpte_cache *pte) 49static void invalidate_pte(struct hpte_cache *pte)
50{ 50{
51 dprintk_mmu("KVM: Flushing SPT %d: 0x%llx (0x%llx) -> 0x%llx\n", 51 dprintk_mmu("KVM: Flushing SPT: 0x%lx (0x%llx) -> 0x%llx\n",
52 i, pte->pte.eaddr, pte->pte.vpage, pte->host_va); 52 pte->pte.eaddr, pte->pte.vpage, pte->host_va);
53 53
54 ppc_md.hpte_invalidate(pte->slot, pte->host_va, 54 ppc_md.hpte_invalidate(pte->slot, pte->host_va,
55 MMU_PAGE_4K, MMU_SEGSIZE_256M, 55 MMU_PAGE_4K, MMU_SEGSIZE_256M,
56 false); 56 false);
57 pte->host_va = 0; 57 pte->host_va = 0;
58 kvm_release_pfn_dirty(pte->pfn); 58
59 if (pte->pte.may_write)
60 kvm_release_pfn_dirty(pte->pfn);
61 else
62 kvm_release_pfn_clean(pte->pfn);
59} 63}
60 64
61void kvmppc_mmu_pte_flush(struct kvm_vcpu *vcpu, u64 guest_ea, u64 ea_mask) 65void kvmppc_mmu_pte_flush(struct kvm_vcpu *vcpu, ulong guest_ea, ulong ea_mask)
62{ 66{
63 int i; 67 int i;
64 68
65 dprintk_mmu("KVM: Flushing %d Shadow PTEs: 0x%llx & 0x%llx\n", 69 dprintk_mmu("KVM: Flushing %d Shadow PTEs: 0x%lx & 0x%lx\n",
66 vcpu->arch.hpte_cache_offset, guest_ea, ea_mask); 70 vcpu->arch.hpte_cache_offset, guest_ea, ea_mask);
67 BUG_ON(vcpu->arch.hpte_cache_offset > HPTEG_CACHE_NUM); 71 BUG_ON(vcpu->arch.hpte_cache_offset > HPTEG_CACHE_NUM);
68 72
@@ -106,12 +110,12 @@ void kvmppc_mmu_pte_vflush(struct kvm_vcpu *vcpu, u64 guest_vp, u64 vp_mask)
106 } 110 }
107} 111}
108 112
109void kvmppc_mmu_pte_pflush(struct kvm_vcpu *vcpu, u64 pa_start, u64 pa_end) 113void kvmppc_mmu_pte_pflush(struct kvm_vcpu *vcpu, ulong pa_start, ulong pa_end)
110{ 114{
111 int i; 115 int i;
112 116
113 dprintk_mmu("KVM: Flushing %d Shadow pPTEs: 0x%llx & 0x%llx\n", 117 dprintk_mmu("KVM: Flushing %d Shadow pPTEs: 0x%lx & 0x%lx\n",
114 vcpu->arch.hpte_cache_offset, guest_pa, pa_mask); 118 vcpu->arch.hpte_cache_offset, pa_start, pa_end);
115 BUG_ON(vcpu->arch.hpte_cache_offset > HPTEG_CACHE_NUM); 119 BUG_ON(vcpu->arch.hpte_cache_offset > HPTEG_CACHE_NUM);
116 120
117 for (i = 0; i < vcpu->arch.hpte_cache_offset; i++) { 121 for (i = 0; i < vcpu->arch.hpte_cache_offset; i++) {
@@ -182,7 +186,7 @@ static struct kvmppc_sid_map *find_sid_vsid(struct kvm_vcpu *vcpu, u64 gvsid)
182 sid_map_mask = kvmppc_sid_hash(vcpu, gvsid); 186 sid_map_mask = kvmppc_sid_hash(vcpu, gvsid);
183 map = &to_book3s(vcpu)->sid_map[sid_map_mask]; 187 map = &to_book3s(vcpu)->sid_map[sid_map_mask];
184 if (map->guest_vsid == gvsid) { 188 if (map->guest_vsid == gvsid) {
185 dprintk_slb("SLB: Searching 0x%llx -> 0x%llx\n", 189 dprintk_slb("SLB: Searching: 0x%llx -> 0x%llx\n",
186 gvsid, map->host_vsid); 190 gvsid, map->host_vsid);
187 return map; 191 return map;
188 } 192 }
@@ -194,7 +198,8 @@ static struct kvmppc_sid_map *find_sid_vsid(struct kvm_vcpu *vcpu, u64 gvsid)
194 return map; 198 return map;
195 } 199 }
196 200
197 dprintk_slb("SLB: Searching 0x%llx -> not found\n", gvsid); 201 dprintk_slb("SLB: Searching %d/%d: 0x%llx -> not found\n",
202 sid_map_mask, SID_MAP_MASK - sid_map_mask, gvsid);
198 return NULL; 203 return NULL;
199} 204}
200 205
@@ -212,7 +217,7 @@ int kvmppc_mmu_map_page(struct kvm_vcpu *vcpu, struct kvmppc_pte *orig_pte)
212 /* Get host physical address for gpa */ 217 /* Get host physical address for gpa */
213 hpaddr = gfn_to_pfn(vcpu->kvm, orig_pte->raddr >> PAGE_SHIFT); 218 hpaddr = gfn_to_pfn(vcpu->kvm, orig_pte->raddr >> PAGE_SHIFT);
214 if (kvm_is_error_hva(hpaddr)) { 219 if (kvm_is_error_hva(hpaddr)) {
215 printk(KERN_INFO "Couldn't get guest page for gfn %llx!\n", orig_pte->eaddr); 220 printk(KERN_INFO "Couldn't get guest page for gfn %lx!\n", orig_pte->eaddr);
216 return -EINVAL; 221 return -EINVAL;
217 } 222 }
218 hpaddr <<= PAGE_SHIFT; 223 hpaddr <<= PAGE_SHIFT;
@@ -227,10 +232,16 @@ int kvmppc_mmu_map_page(struct kvm_vcpu *vcpu, struct kvmppc_pte *orig_pte)
227 vcpu->arch.mmu.esid_to_vsid(vcpu, orig_pte->eaddr >> SID_SHIFT, &vsid); 232 vcpu->arch.mmu.esid_to_vsid(vcpu, orig_pte->eaddr >> SID_SHIFT, &vsid);
228 map = find_sid_vsid(vcpu, vsid); 233 map = find_sid_vsid(vcpu, vsid);
229 if (!map) { 234 if (!map) {
230 kvmppc_mmu_map_segment(vcpu, orig_pte->eaddr); 235 ret = kvmppc_mmu_map_segment(vcpu, orig_pte->eaddr);
236 WARN_ON(ret < 0);
231 map = find_sid_vsid(vcpu, vsid); 237 map = find_sid_vsid(vcpu, vsid);
232 } 238 }
233 BUG_ON(!map); 239 if (!map) {
240 printk(KERN_ERR "KVM: Segment map for 0x%llx (0x%lx) failed\n",
241 vsid, orig_pte->eaddr);
242 WARN_ON(true);
243 return -EINVAL;
244 }
234 245
235 vsid = map->host_vsid; 246 vsid = map->host_vsid;
236 va = hpt_va(orig_pte->eaddr, vsid, MMU_SEGSIZE_256M); 247 va = hpt_va(orig_pte->eaddr, vsid, MMU_SEGSIZE_256M);
@@ -257,26 +268,26 @@ map_again:
257 268
258 if (ret < 0) { 269 if (ret < 0) {
259 /* If we couldn't map a primary PTE, try a secondary */ 270 /* If we couldn't map a primary PTE, try a secondary */
260#ifdef USE_SECONDARY
261 hash = ~hash; 271 hash = ~hash;
272 vflags ^= HPTE_V_SECONDARY;
262 attempt++; 273 attempt++;
263 if (attempt % 2)
264 vflags = HPTE_V_SECONDARY;
265 else
266 vflags = 0;
267#else
268 attempt = 2;
269#endif
270 goto map_again; 274 goto map_again;
271 } else { 275 } else {
272 int hpte_id = kvmppc_mmu_hpte_cache_next(vcpu); 276 int hpte_id = kvmppc_mmu_hpte_cache_next(vcpu);
273 struct hpte_cache *pte = &vcpu->arch.hpte_cache[hpte_id]; 277 struct hpte_cache *pte = &vcpu->arch.hpte_cache[hpte_id];
274 278
275 dprintk_mmu("KVM: %c%c Map 0x%llx: [%lx] 0x%lx (0x%llx) -> %lx\n", 279 dprintk_mmu("KVM: %c%c Map 0x%lx: [%lx] 0x%lx (0x%llx) -> %lx\n",
276 ((rflags & HPTE_R_PP) == 3) ? '-' : 'w', 280 ((rflags & HPTE_R_PP) == 3) ? '-' : 'w',
277 (rflags & HPTE_R_N) ? '-' : 'x', 281 (rflags & HPTE_R_N) ? '-' : 'x',
278 orig_pte->eaddr, hpteg, va, orig_pte->vpage, hpaddr); 282 orig_pte->eaddr, hpteg, va, orig_pte->vpage, hpaddr);
279 283
284 /* The ppc_md code may give us a secondary entry even though we
285 asked for a primary. Fix up. */
286 if ((ret & _PTEIDX_SECONDARY) && !(vflags & HPTE_V_SECONDARY)) {
287 hash = ~hash;
288 hpteg = ((hash & htab_hash_mask) * HPTES_PER_GROUP);
289 }
290
280 pte->slot = hpteg + (ret & 7); 291 pte->slot = hpteg + (ret & 7);
281 pte->host_va = va; 292 pte->host_va = va;
282 pte->pte = *orig_pte; 293 pte->pte = *orig_pte;
@@ -321,6 +332,9 @@ static struct kvmppc_sid_map *create_sid_map(struct kvm_vcpu *vcpu, u64 gvsid)
321 map->guest_vsid = gvsid; 332 map->guest_vsid = gvsid;
322 map->valid = true; 333 map->valid = true;
323 334
335 dprintk_slb("SLB: New mapping at %d: 0x%llx -> 0x%llx\n",
336 sid_map_mask, gvsid, map->host_vsid);
337
324 return map; 338 return map;
325} 339}
326 340
@@ -331,14 +345,14 @@ static int kvmppc_mmu_next_segment(struct kvm_vcpu *vcpu, ulong esid)
331 int found_inval = -1; 345 int found_inval = -1;
332 int r; 346 int r;
333 347
334 if (!get_paca()->kvm_slb_max) 348 if (!to_svcpu(vcpu)->slb_max)
335 get_paca()->kvm_slb_max = 1; 349 to_svcpu(vcpu)->slb_max = 1;
336 350
337 /* Are we overwriting? */ 351 /* Are we overwriting? */
338 for (i = 1; i < get_paca()->kvm_slb_max; i++) { 352 for (i = 1; i < to_svcpu(vcpu)->slb_max; i++) {
339 if (!(get_paca()->kvm_slb[i].esid & SLB_ESID_V)) 353 if (!(to_svcpu(vcpu)->slb[i].esid & SLB_ESID_V))
340 found_inval = i; 354 found_inval = i;
341 else if ((get_paca()->kvm_slb[i].esid & ESID_MASK) == esid) 355 else if ((to_svcpu(vcpu)->slb[i].esid & ESID_MASK) == esid)
342 return i; 356 return i;
343 } 357 }
344 358
@@ -352,11 +366,11 @@ static int kvmppc_mmu_next_segment(struct kvm_vcpu *vcpu, ulong esid)
352 max_slb_size = mmu_slb_size; 366 max_slb_size = mmu_slb_size;
353 367
354 /* Overflowing -> purge */ 368 /* Overflowing -> purge */
355 if ((get_paca()->kvm_slb_max) == max_slb_size) 369 if ((to_svcpu(vcpu)->slb_max) == max_slb_size)
356 kvmppc_mmu_flush_segments(vcpu); 370 kvmppc_mmu_flush_segments(vcpu);
357 371
358 r = get_paca()->kvm_slb_max; 372 r = to_svcpu(vcpu)->slb_max;
359 get_paca()->kvm_slb_max++; 373 to_svcpu(vcpu)->slb_max++;
360 374
361 return r; 375 return r;
362} 376}
@@ -374,7 +388,7 @@ int kvmppc_mmu_map_segment(struct kvm_vcpu *vcpu, ulong eaddr)
374 388
375 if (vcpu->arch.mmu.esid_to_vsid(vcpu, esid, &gvsid)) { 389 if (vcpu->arch.mmu.esid_to_vsid(vcpu, esid, &gvsid)) {
376 /* Invalidate an entry */ 390 /* Invalidate an entry */
377 get_paca()->kvm_slb[slb_index].esid = 0; 391 to_svcpu(vcpu)->slb[slb_index].esid = 0;
378 return -ENOENT; 392 return -ENOENT;
379 } 393 }
380 394
@@ -388,8 +402,8 @@ int kvmppc_mmu_map_segment(struct kvm_vcpu *vcpu, ulong eaddr)
388 slb_vsid &= ~SLB_VSID_KP; 402 slb_vsid &= ~SLB_VSID_KP;
389 slb_esid |= slb_index; 403 slb_esid |= slb_index;
390 404
391 get_paca()->kvm_slb[slb_index].esid = slb_esid; 405 to_svcpu(vcpu)->slb[slb_index].esid = slb_esid;
392 get_paca()->kvm_slb[slb_index].vsid = slb_vsid; 406 to_svcpu(vcpu)->slb[slb_index].vsid = slb_vsid;
393 407
394 dprintk_slb("slbmte %#llx, %#llx\n", slb_vsid, slb_esid); 408 dprintk_slb("slbmte %#llx, %#llx\n", slb_vsid, slb_esid);
395 409
@@ -398,11 +412,29 @@ int kvmppc_mmu_map_segment(struct kvm_vcpu *vcpu, ulong eaddr)
398 412
399void kvmppc_mmu_flush_segments(struct kvm_vcpu *vcpu) 413void kvmppc_mmu_flush_segments(struct kvm_vcpu *vcpu)
400{ 414{
401 get_paca()->kvm_slb_max = 1; 415 to_svcpu(vcpu)->slb_max = 1;
402 get_paca()->kvm_slb[0].esid = 0; 416 to_svcpu(vcpu)->slb[0].esid = 0;
403} 417}
404 418
405void kvmppc_mmu_destroy(struct kvm_vcpu *vcpu) 419void kvmppc_mmu_destroy(struct kvm_vcpu *vcpu)
406{ 420{
407 kvmppc_mmu_pte_flush(vcpu, 0, 0); 421 kvmppc_mmu_pte_flush(vcpu, 0, 0);
422 __destroy_context(to_book3s(vcpu)->context_id);
423}
424
425int kvmppc_mmu_init(struct kvm_vcpu *vcpu)
426{
427 struct kvmppc_vcpu_book3s *vcpu3s = to_book3s(vcpu);
428 int err;
429
430 err = __init_new_context();
431 if (err < 0)
432 return -1;
433 vcpu3s->context_id = err;
434
435 vcpu3s->vsid_max = ((vcpu3s->context_id + 1) << USER_ESID_BITS) - 1;
436 vcpu3s->vsid_first = vcpu3s->context_id << USER_ESID_BITS;
437 vcpu3s->vsid_next = vcpu3s->vsid_first;
438
439 return 0;
408} 440}
diff --git a/arch/powerpc/kvm/book3s_64_rmhandlers.S b/arch/powerpc/kvm/book3s_64_rmhandlers.S
deleted file mode 100644
index fb7dd2e9ac88..000000000000
--- a/arch/powerpc/kvm/book3s_64_rmhandlers.S
+++ /dev/null
@@ -1,131 +0,0 @@
1/*
2 * This program is free software; you can redistribute it and/or modify
3 * it under the terms of the GNU General Public License, version 2, as
4 * published by the Free Software Foundation.
5 *
6 * This program is distributed in the hope that it will be useful,
7 * but WITHOUT ANY WARRANTY; without even the implied warranty of
8 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
9 * GNU General Public License for more details.
10 *
11 * You should have received a copy of the GNU General Public License
12 * along with this program; if not, write to the Free Software
13 * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
14 *
15 * Copyright SUSE Linux Products GmbH 2009
16 *
17 * Authors: Alexander Graf <agraf@suse.de>
18 */
19
20#include <asm/ppc_asm.h>
21#include <asm/kvm_asm.h>
22#include <asm/reg.h>
23#include <asm/page.h>
24#include <asm/asm-offsets.h>
25#include <asm/exception-64s.h>
26
27/*****************************************************************************
28 * *
29 * Real Mode handlers that need to be in low physical memory *
30 * *
31 ****************************************************************************/
32
33
34.macro INTERRUPT_TRAMPOLINE intno
35
36.global kvmppc_trampoline_\intno
37kvmppc_trampoline_\intno:
38
39 mtspr SPRN_SPRG_SCRATCH0, r13 /* Save r13 */
40
41 /*
42 * First thing to do is to find out if we're coming
43 * from a KVM guest or a Linux process.
44 *
45 * To distinguish, we check a magic byte in the PACA
46 */
47 mfspr r13, SPRN_SPRG_PACA /* r13 = PACA */
48 std r12, (PACA_EXMC + EX_R12)(r13)
49 mfcr r12
50 stw r12, (PACA_EXMC + EX_CCR)(r13)
51 lbz r12, PACA_KVM_IN_GUEST(r13)
52 cmpwi r12, 0
53 bne ..kvmppc_handler_hasmagic_\intno
54 /* No KVM guest? Then jump back to the Linux handler! */
55 lwz r12, (PACA_EXMC + EX_CCR)(r13)
56 mtcr r12
57 ld r12, (PACA_EXMC + EX_R12)(r13)
58 mfspr r13, SPRN_SPRG_SCRATCH0 /* r13 = original r13 */
59 b kvmppc_resume_\intno /* Get back original handler */
60
61 /* Now we know we're handling a KVM guest */
62..kvmppc_handler_hasmagic_\intno:
63 /* Unset guest state */
64 li r12, 0
65 stb r12, PACA_KVM_IN_GUEST(r13)
66
67 std r1, (PACA_EXMC+EX_R9)(r13)
68 std r10, (PACA_EXMC+EX_R10)(r13)
69 std r11, (PACA_EXMC+EX_R11)(r13)
70 std r2, (PACA_EXMC+EX_R13)(r13)
71
72 mfsrr0 r10
73 mfsrr1 r11
74
75 /* Restore R1/R2 so we can handle faults */
76 ld r1, PACAR1(r13)
77 ld r2, (PACA_EXMC+EX_SRR0)(r13)
78
79 /* Let's store which interrupt we're handling */
80 li r12, \intno
81
82 /* Jump into the SLB exit code that goes to the highmem handler */
83 b kvmppc_handler_trampoline_exit
84
85.endm
86
87INTERRUPT_TRAMPOLINE BOOK3S_INTERRUPT_SYSTEM_RESET
88INTERRUPT_TRAMPOLINE BOOK3S_INTERRUPT_MACHINE_CHECK
89INTERRUPT_TRAMPOLINE BOOK3S_INTERRUPT_DATA_STORAGE
90INTERRUPT_TRAMPOLINE BOOK3S_INTERRUPT_DATA_SEGMENT
91INTERRUPT_TRAMPOLINE BOOK3S_INTERRUPT_INST_STORAGE
92INTERRUPT_TRAMPOLINE BOOK3S_INTERRUPT_INST_SEGMENT
93INTERRUPT_TRAMPOLINE BOOK3S_INTERRUPT_EXTERNAL
94INTERRUPT_TRAMPOLINE BOOK3S_INTERRUPT_ALIGNMENT
95INTERRUPT_TRAMPOLINE BOOK3S_INTERRUPT_PROGRAM
96INTERRUPT_TRAMPOLINE BOOK3S_INTERRUPT_FP_UNAVAIL
97INTERRUPT_TRAMPOLINE BOOK3S_INTERRUPT_DECREMENTER
98INTERRUPT_TRAMPOLINE BOOK3S_INTERRUPT_SYSCALL
99INTERRUPT_TRAMPOLINE BOOK3S_INTERRUPT_TRACE
100INTERRUPT_TRAMPOLINE BOOK3S_INTERRUPT_PERFMON
101INTERRUPT_TRAMPOLINE BOOK3S_INTERRUPT_ALTIVEC
102INTERRUPT_TRAMPOLINE BOOK3S_INTERRUPT_VSX
103
104/*
105 * This trampoline brings us back to a real mode handler
106 *
107 * Input Registers:
108 *
109 * R6 = SRR0
110 * R7 = SRR1
111 * LR = real-mode IP
112 *
113 */
114.global kvmppc_handler_lowmem_trampoline
115kvmppc_handler_lowmem_trampoline:
116
117 mtsrr0 r6
118 mtsrr1 r7
119 blr
120kvmppc_handler_lowmem_trampoline_end:
121
122.global kvmppc_trampoline_lowmem
123kvmppc_trampoline_lowmem:
124 .long kvmppc_handler_lowmem_trampoline - _stext
125
126.global kvmppc_trampoline_enter
127kvmppc_trampoline_enter:
128 .long kvmppc_handler_trampoline_enter - _stext
129
130#include "book3s_64_slb.S"
131
diff --git a/arch/powerpc/kvm/book3s_64_slb.S b/arch/powerpc/kvm/book3s_64_slb.S
index ecd237a03fd0..04e7d3bbfe8b 100644
--- a/arch/powerpc/kvm/book3s_64_slb.S
+++ b/arch/powerpc/kvm/book3s_64_slb.S
@@ -31,7 +31,7 @@
31#define REBOLT_SLB_ENTRY(num) \ 31#define REBOLT_SLB_ENTRY(num) \
32 ld r10, SHADOW_SLB_ESID(num)(r11); \ 32 ld r10, SHADOW_SLB_ESID(num)(r11); \
33 cmpdi r10, 0; \ 33 cmpdi r10, 0; \
34 beq slb_exit_skip_1; \ 34 beq slb_exit_skip_ ## num; \
35 oris r10, r10, SLB_ESID_V@h; \ 35 oris r10, r10, SLB_ESID_V@h; \
36 ld r9, SHADOW_SLB_VSID(num)(r11); \ 36 ld r9, SHADOW_SLB_VSID(num)(r11); \
37 slbmte r9, r10; \ 37 slbmte r9, r10; \
@@ -44,31 +44,22 @@ slb_exit_skip_ ## num:
44 * * 44 * *
45 *****************************************************************************/ 45 *****************************************************************************/
46 46
47.global kvmppc_handler_trampoline_enter 47.macro LOAD_GUEST_SEGMENTS
48kvmppc_handler_trampoline_enter:
49 48
50 /* Required state: 49 /* Required state:
51 * 50 *
52 * MSR = ~IR|DR 51 * MSR = ~IR|DR
53 * R13 = PACA 52 * R13 = PACA
54 * R9 = guest IP 53 * R1 = host R1
55 * R10 = guest MSR 54 * R2 = host R2
56 * R11 = free 55 * R3 = shadow vcpu
57 * R12 = free 56 * all other volatile GPRS = free
58 * PACA[PACA_EXMC + EX_R9] = guest R9 57 * SVCPU[CR] = guest CR
59 * PACA[PACA_EXMC + EX_R10] = guest R10 58 * SVCPU[XER] = guest XER
60 * PACA[PACA_EXMC + EX_R11] = guest R11 59 * SVCPU[CTR] = guest CTR
61 * PACA[PACA_EXMC + EX_R12] = guest R12 60 * SVCPU[LR] = guest LR
62 * PACA[PACA_EXMC + EX_R13] = guest R13
63 * PACA[PACA_EXMC + EX_CCR] = guest CR
64 * PACA[PACA_EXMC + EX_R3] = guest XER
65 */ 61 */
66 62
67 mtsrr0 r9
68 mtsrr1 r10
69
70 mtspr SPRN_SPRG_SCRATCH0, r0
71
72 /* Remove LPAR shadow entries */ 63 /* Remove LPAR shadow entries */
73 64
74#if SLB_NUM_BOLTED == 3 65#if SLB_NUM_BOLTED == 3
@@ -103,14 +94,14 @@ kvmppc_handler_trampoline_enter:
103 94
104 /* Fill SLB with our shadow */ 95 /* Fill SLB with our shadow */
105 96
106 lbz r12, PACA_KVM_SLB_MAX(r13) 97 lbz r12, SVCPU_SLB_MAX(r3)
107 mulli r12, r12, 16 98 mulli r12, r12, 16
108 addi r12, r12, PACA_KVM_SLB 99 addi r12, r12, SVCPU_SLB
109 add r12, r12, r13 100 add r12, r12, r3
110 101
111 /* for (r11 = kvm_slb; r11 < kvm_slb + kvm_slb_size; r11+=slb_entry) */ 102 /* for (r11 = kvm_slb; r11 < kvm_slb + kvm_slb_size; r11+=slb_entry) */
112 li r11, PACA_KVM_SLB 103 li r11, SVCPU_SLB
113 add r11, r11, r13 104 add r11, r11, r3
114 105
115slb_loop_enter: 106slb_loop_enter:
116 107
@@ -129,27 +120,7 @@ slb_loop_enter_skip:
129 120
130slb_do_enter: 121slb_do_enter:
131 122
132 /* Enter guest */ 123.endm
133
134 mfspr r0, SPRN_SPRG_SCRATCH0
135
136 ld r9, (PACA_EXMC+EX_R9)(r13)
137 ld r10, (PACA_EXMC+EX_R10)(r13)
138 ld r12, (PACA_EXMC+EX_R12)(r13)
139
140 lwz r11, (PACA_EXMC+EX_CCR)(r13)
141 mtcr r11
142
143 ld r11, (PACA_EXMC+EX_R3)(r13)
144 mtxer r11
145
146 ld r11, (PACA_EXMC+EX_R11)(r13)
147 ld r13, (PACA_EXMC+EX_R13)(r13)
148
149 RFI
150kvmppc_handler_trampoline_enter_end:
151
152
153 124
154/****************************************************************************** 125/******************************************************************************
155 * * 126 * *
@@ -157,62 +128,22 @@ kvmppc_handler_trampoline_enter_end:
157 * * 128 * *
158 *****************************************************************************/ 129 *****************************************************************************/
159 130
160.global kvmppc_handler_trampoline_exit 131.macro LOAD_HOST_SEGMENTS
161kvmppc_handler_trampoline_exit:
162 132
163 /* Register usage at this point: 133 /* Register usage at this point:
164 * 134 *
165 * SPRG_SCRATCH0 = guest R13 135 * R1 = host R1
166 * R01 = host R1 136 * R2 = host R2
167 * R02 = host R2 137 * R12 = exit handler id
168 * R10 = guest PC 138 * R13 = shadow vcpu - SHADOW_VCPU_OFF [=PACA on PPC64]
169 * R11 = guest MSR 139 * SVCPU.* = guest *
170 * R12 = exit handler id 140 * SVCPU[CR] = guest CR
171 * R13 = PACA 141 * SVCPU[XER] = guest XER
172 * PACA.exmc.CCR = guest CR 142 * SVCPU[CTR] = guest CTR
173 * PACA.exmc.R9 = guest R1 143 * SVCPU[LR] = guest LR
174 * PACA.exmc.R10 = guest R10
175 * PACA.exmc.R11 = guest R11
176 * PACA.exmc.R12 = guest R12
177 * PACA.exmc.R13 = guest R2
178 * 144 *
179 */ 145 */
180 146
181 /* Save registers */
182
183 std r0, (PACA_EXMC+EX_SRR0)(r13)
184 std r9, (PACA_EXMC+EX_R3)(r13)
185 std r10, (PACA_EXMC+EX_LR)(r13)
186 std r11, (PACA_EXMC+EX_DAR)(r13)
187
188 /*
189 * In order for us to easily get the last instruction,
190 * we got the #vmexit at, we exploit the fact that the
191 * virtual layout is still the same here, so we can just
192 * ld from the guest's PC address
193 */
194
195 /* We only load the last instruction when it's safe */
196 cmpwi r12, BOOK3S_INTERRUPT_DATA_STORAGE
197 beq ld_last_inst
198 cmpwi r12, BOOK3S_INTERRUPT_PROGRAM
199 beq ld_last_inst
200
201 b no_ld_last_inst
202
203ld_last_inst:
204 /* Save off the guest instruction we're at */
205 /* 1) enable paging for data */
206 mfmsr r9
207 ori r11, r9, MSR_DR /* Enable paging for data */
208 mtmsr r11
209 /* 2) fetch the instruction */
210 lwz r0, 0(r10)
211 /* 3) disable paging again */
212 mtmsr r9
213
214no_ld_last_inst:
215
216 /* Restore bolted entries from the shadow and fix it along the way */ 147 /* Restore bolted entries from the shadow and fix it along the way */
217 148
218 /* We don't store anything in entry 0, so we don't need to take care of it */ 149 /* We don't store anything in entry 0, so we don't need to take care of it */
@@ -233,30 +164,4 @@ no_ld_last_inst:
233 164
234slb_do_exit: 165slb_do_exit:
235 166
236 /* Restore registers */ 167.endm
237
238 ld r11, (PACA_EXMC+EX_DAR)(r13)
239 ld r10, (PACA_EXMC+EX_LR)(r13)
240 ld r9, (PACA_EXMC+EX_R3)(r13)
241
242 /* Save last inst */
243 stw r0, (PACA_EXMC+EX_LR)(r13)
244
245 /* Save DAR and DSISR before going to paged mode */
246 mfdar r0
247 std r0, (PACA_EXMC+EX_DAR)(r13)
248 mfdsisr r0
249 stw r0, (PACA_EXMC+EX_DSISR)(r13)
250
251 /* RFI into the highmem handler */
252 mfmsr r0
253 ori r0, r0, MSR_IR|MSR_DR|MSR_RI /* Enable paging */
254 mtsrr1 r0
255 ld r0, PACASAVEDMSR(r13) /* Highmem handler address */
256 mtsrr0 r0
257
258 mfspr r0, SPRN_SPRG_SCRATCH0
259
260 RFI
261kvmppc_handler_trampoline_exit_end:
262
diff --git a/arch/powerpc/kvm/book3s_emulate.c b/arch/powerpc/kvm/book3s_emulate.c
new file mode 100644
index 000000000000..c85f906038ce
--- /dev/null
+++ b/arch/powerpc/kvm/book3s_emulate.c
@@ -0,0 +1,573 @@
1/*
2 * This program is free software; you can redistribute it and/or modify
3 * it under the terms of the GNU General Public License, version 2, as
4 * published by the Free Software Foundation.
5 *
6 * This program is distributed in the hope that it will be useful,
7 * but WITHOUT ANY WARRANTY; without even the implied warranty of
8 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
9 * GNU General Public License for more details.
10 *
11 * You should have received a copy of the GNU General Public License
12 * along with this program; if not, write to the Free Software
13 * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
14 *
15 * Copyright SUSE Linux Products GmbH 2009
16 *
17 * Authors: Alexander Graf <agraf@suse.de>
18 */
19
20#include <asm/kvm_ppc.h>
21#include <asm/disassemble.h>
22#include <asm/kvm_book3s.h>
23#include <asm/reg.h>
24
25#define OP_19_XOP_RFID 18
26#define OP_19_XOP_RFI 50
27
28#define OP_31_XOP_MFMSR 83
29#define OP_31_XOP_MTMSR 146
30#define OP_31_XOP_MTMSRD 178
31#define OP_31_XOP_MTSR 210
32#define OP_31_XOP_MTSRIN 242
33#define OP_31_XOP_TLBIEL 274
34#define OP_31_XOP_TLBIE 306
35#define OP_31_XOP_SLBMTE 402
36#define OP_31_XOP_SLBIE 434
37#define OP_31_XOP_SLBIA 498
38#define OP_31_XOP_MFSR 595
39#define OP_31_XOP_MFSRIN 659
40#define OP_31_XOP_DCBA 758
41#define OP_31_XOP_SLBMFEV 851
42#define OP_31_XOP_EIOIO 854
43#define OP_31_XOP_SLBMFEE 915
44
45/* DCBZ is actually 1014, but we patch it to 1010 so we get a trap */
46#define OP_31_XOP_DCBZ 1010
47
48#define OP_LFS 48
49#define OP_LFD 50
50#define OP_STFS 52
51#define OP_STFD 54
52
53#define SPRN_GQR0 912
54#define SPRN_GQR1 913
55#define SPRN_GQR2 914
56#define SPRN_GQR3 915
57#define SPRN_GQR4 916
58#define SPRN_GQR5 917
59#define SPRN_GQR6 918
60#define SPRN_GQR7 919
61
62/* Book3S_32 defines mfsrin(v) - but that messes up our abstract
63 * function pointers, so let's just disable the define. */
64#undef mfsrin
65
66int kvmppc_core_emulate_op(struct kvm_run *run, struct kvm_vcpu *vcpu,
67 unsigned int inst, int *advance)
68{
69 int emulated = EMULATE_DONE;
70
71 switch (get_op(inst)) {
72 case 19:
73 switch (get_xop(inst)) {
74 case OP_19_XOP_RFID:
75 case OP_19_XOP_RFI:
76 kvmppc_set_pc(vcpu, vcpu->arch.srr0);
77 kvmppc_set_msr(vcpu, vcpu->arch.srr1);
78 *advance = 0;
79 break;
80
81 default:
82 emulated = EMULATE_FAIL;
83 break;
84 }
85 break;
86 case 31:
87 switch (get_xop(inst)) {
88 case OP_31_XOP_MFMSR:
89 kvmppc_set_gpr(vcpu, get_rt(inst), vcpu->arch.msr);
90 break;
91 case OP_31_XOP_MTMSRD:
92 {
93 ulong rs = kvmppc_get_gpr(vcpu, get_rs(inst));
94 if (inst & 0x10000) {
95 vcpu->arch.msr &= ~(MSR_RI | MSR_EE);
96 vcpu->arch.msr |= rs & (MSR_RI | MSR_EE);
97 } else
98 kvmppc_set_msr(vcpu, rs);
99 break;
100 }
101 case OP_31_XOP_MTMSR:
102 kvmppc_set_msr(vcpu, kvmppc_get_gpr(vcpu, get_rs(inst)));
103 break;
104 case OP_31_XOP_MFSR:
105 {
106 int srnum;
107
108 srnum = kvmppc_get_field(inst, 12 + 32, 15 + 32);
109 if (vcpu->arch.mmu.mfsrin) {
110 u32 sr;
111 sr = vcpu->arch.mmu.mfsrin(vcpu, srnum);
112 kvmppc_set_gpr(vcpu, get_rt(inst), sr);
113 }
114 break;
115 }
116 case OP_31_XOP_MFSRIN:
117 {
118 int srnum;
119
120 srnum = (kvmppc_get_gpr(vcpu, get_rb(inst)) >> 28) & 0xf;
121 if (vcpu->arch.mmu.mfsrin) {
122 u32 sr;
123 sr = vcpu->arch.mmu.mfsrin(vcpu, srnum);
124 kvmppc_set_gpr(vcpu, get_rt(inst), sr);
125 }
126 break;
127 }
128 case OP_31_XOP_MTSR:
129 vcpu->arch.mmu.mtsrin(vcpu,
130 (inst >> 16) & 0xf,
131 kvmppc_get_gpr(vcpu, get_rs(inst)));
132 break;
133 case OP_31_XOP_MTSRIN:
134 vcpu->arch.mmu.mtsrin(vcpu,
135 (kvmppc_get_gpr(vcpu, get_rb(inst)) >> 28) & 0xf,
136 kvmppc_get_gpr(vcpu, get_rs(inst)));
137 break;
138 case OP_31_XOP_TLBIE:
139 case OP_31_XOP_TLBIEL:
140 {
141 bool large = (inst & 0x00200000) ? true : false;
142 ulong addr = kvmppc_get_gpr(vcpu, get_rb(inst));
143 vcpu->arch.mmu.tlbie(vcpu, addr, large);
144 break;
145 }
146 case OP_31_XOP_EIOIO:
147 break;
148 case OP_31_XOP_SLBMTE:
149 if (!vcpu->arch.mmu.slbmte)
150 return EMULATE_FAIL;
151
152 vcpu->arch.mmu.slbmte(vcpu,
153 kvmppc_get_gpr(vcpu, get_rs(inst)),
154 kvmppc_get_gpr(vcpu, get_rb(inst)));
155 break;
156 case OP_31_XOP_SLBIE:
157 if (!vcpu->arch.mmu.slbie)
158 return EMULATE_FAIL;
159
160 vcpu->arch.mmu.slbie(vcpu,
161 kvmppc_get_gpr(vcpu, get_rb(inst)));
162 break;
163 case OP_31_XOP_SLBIA:
164 if (!vcpu->arch.mmu.slbia)
165 return EMULATE_FAIL;
166
167 vcpu->arch.mmu.slbia(vcpu);
168 break;
169 case OP_31_XOP_SLBMFEE:
170 if (!vcpu->arch.mmu.slbmfee) {
171 emulated = EMULATE_FAIL;
172 } else {
173 ulong t, rb;
174
175 rb = kvmppc_get_gpr(vcpu, get_rb(inst));
176 t = vcpu->arch.mmu.slbmfee(vcpu, rb);
177 kvmppc_set_gpr(vcpu, get_rt(inst), t);
178 }
179 break;
180 case OP_31_XOP_SLBMFEV:
181 if (!vcpu->arch.mmu.slbmfev) {
182 emulated = EMULATE_FAIL;
183 } else {
184 ulong t, rb;
185
186 rb = kvmppc_get_gpr(vcpu, get_rb(inst));
187 t = vcpu->arch.mmu.slbmfev(vcpu, rb);
188 kvmppc_set_gpr(vcpu, get_rt(inst), t);
189 }
190 break;
191 case OP_31_XOP_DCBA:
192 /* Gets treated as NOP */
193 break;
194 case OP_31_XOP_DCBZ:
195 {
196 ulong rb = kvmppc_get_gpr(vcpu, get_rb(inst));
197 ulong ra = 0;
198 ulong addr, vaddr;
199 u32 zeros[8] = { 0, 0, 0, 0, 0, 0, 0, 0 };
200 u32 dsisr;
201 int r;
202
203 if (get_ra(inst))
204 ra = kvmppc_get_gpr(vcpu, get_ra(inst));
205
206 addr = (ra + rb) & ~31ULL;
207 if (!(vcpu->arch.msr & MSR_SF))
208 addr &= 0xffffffff;
209 vaddr = addr;
210
211 r = kvmppc_st(vcpu, &addr, 32, zeros, true);
212 if ((r == -ENOENT) || (r == -EPERM)) {
213 *advance = 0;
214 vcpu->arch.dear = vaddr;
215 to_svcpu(vcpu)->fault_dar = vaddr;
216
217 dsisr = DSISR_ISSTORE;
218 if (r == -ENOENT)
219 dsisr |= DSISR_NOHPTE;
220 else if (r == -EPERM)
221 dsisr |= DSISR_PROTFAULT;
222
223 to_book3s(vcpu)->dsisr = dsisr;
224 to_svcpu(vcpu)->fault_dsisr = dsisr;
225
226 kvmppc_book3s_queue_irqprio(vcpu,
227 BOOK3S_INTERRUPT_DATA_STORAGE);
228 }
229
230 break;
231 }
232 default:
233 emulated = EMULATE_FAIL;
234 }
235 break;
236 default:
237 emulated = EMULATE_FAIL;
238 }
239
240 if (emulated == EMULATE_FAIL)
241 emulated = kvmppc_emulate_paired_single(run, vcpu);
242
243 return emulated;
244}
245
246void kvmppc_set_bat(struct kvm_vcpu *vcpu, struct kvmppc_bat *bat, bool upper,
247 u32 val)
248{
249 if (upper) {
250 /* Upper BAT */
251 u32 bl = (val >> 2) & 0x7ff;
252 bat->bepi_mask = (~bl << 17);
253 bat->bepi = val & 0xfffe0000;
254 bat->vs = (val & 2) ? 1 : 0;
255 bat->vp = (val & 1) ? 1 : 0;
256 bat->raw = (bat->raw & 0xffffffff00000000ULL) | val;
257 } else {
258 /* Lower BAT */
259 bat->brpn = val & 0xfffe0000;
260 bat->wimg = (val >> 3) & 0xf;
261 bat->pp = val & 3;
262 bat->raw = (bat->raw & 0x00000000ffffffffULL) | ((u64)val << 32);
263 }
264}
265
266static u32 kvmppc_read_bat(struct kvm_vcpu *vcpu, int sprn)
267{
268 struct kvmppc_vcpu_book3s *vcpu_book3s = to_book3s(vcpu);
269 struct kvmppc_bat *bat;
270
271 switch (sprn) {
272 case SPRN_IBAT0U ... SPRN_IBAT3L:
273 bat = &vcpu_book3s->ibat[(sprn - SPRN_IBAT0U) / 2];
274 break;
275 case SPRN_IBAT4U ... SPRN_IBAT7L:
276 bat = &vcpu_book3s->ibat[4 + ((sprn - SPRN_IBAT4U) / 2)];
277 break;
278 case SPRN_DBAT0U ... SPRN_DBAT3L:
279 bat = &vcpu_book3s->dbat[(sprn - SPRN_DBAT0U) / 2];
280 break;
281 case SPRN_DBAT4U ... SPRN_DBAT7L:
282 bat = &vcpu_book3s->dbat[4 + ((sprn - SPRN_DBAT4U) / 2)];
283 break;
284 default:
285 BUG();
286 }
287
288 if (sprn % 2)
289 return bat->raw >> 32;
290 else
291 return bat->raw;
292}
293
294static void kvmppc_write_bat(struct kvm_vcpu *vcpu, int sprn, u32 val)
295{
296 struct kvmppc_vcpu_book3s *vcpu_book3s = to_book3s(vcpu);
297 struct kvmppc_bat *bat;
298
299 switch (sprn) {
300 case SPRN_IBAT0U ... SPRN_IBAT3L:
301 bat = &vcpu_book3s->ibat[(sprn - SPRN_IBAT0U) / 2];
302 break;
303 case SPRN_IBAT4U ... SPRN_IBAT7L:
304 bat = &vcpu_book3s->ibat[4 + ((sprn - SPRN_IBAT4U) / 2)];
305 break;
306 case SPRN_DBAT0U ... SPRN_DBAT3L:
307 bat = &vcpu_book3s->dbat[(sprn - SPRN_DBAT0U) / 2];
308 break;
309 case SPRN_DBAT4U ... SPRN_DBAT7L:
310 bat = &vcpu_book3s->dbat[4 + ((sprn - SPRN_DBAT4U) / 2)];
311 break;
312 default:
313 BUG();
314 }
315
316 kvmppc_set_bat(vcpu, bat, !(sprn % 2), val);
317}
318
319int kvmppc_core_emulate_mtspr(struct kvm_vcpu *vcpu, int sprn, int rs)
320{
321 int emulated = EMULATE_DONE;
322 ulong spr_val = kvmppc_get_gpr(vcpu, rs);
323
324 switch (sprn) {
325 case SPRN_SDR1:
326 to_book3s(vcpu)->sdr1 = spr_val;
327 break;
328 case SPRN_DSISR:
329 to_book3s(vcpu)->dsisr = spr_val;
330 break;
331 case SPRN_DAR:
332 vcpu->arch.dear = spr_val;
333 break;
334 case SPRN_HIOR:
335 to_book3s(vcpu)->hior = spr_val;
336 break;
337 case SPRN_IBAT0U ... SPRN_IBAT3L:
338 case SPRN_IBAT4U ... SPRN_IBAT7L:
339 case SPRN_DBAT0U ... SPRN_DBAT3L:
340 case SPRN_DBAT4U ... SPRN_DBAT7L:
341 kvmppc_write_bat(vcpu, sprn, (u32)spr_val);
342 /* BAT writes happen so rarely that we're ok to flush
343 * everything here */
344 kvmppc_mmu_pte_flush(vcpu, 0, 0);
345 kvmppc_mmu_flush_segments(vcpu);
346 break;
347 case SPRN_HID0:
348 to_book3s(vcpu)->hid[0] = spr_val;
349 break;
350 case SPRN_HID1:
351 to_book3s(vcpu)->hid[1] = spr_val;
352 break;
353 case SPRN_HID2:
354 to_book3s(vcpu)->hid[2] = spr_val;
355 break;
356 case SPRN_HID2_GEKKO:
357 to_book3s(vcpu)->hid[2] = spr_val;
358 /* HID2.PSE controls paired single on gekko */
359 switch (vcpu->arch.pvr) {
360 case 0x00080200: /* lonestar 2.0 */
361 case 0x00088202: /* lonestar 2.2 */
362 case 0x70000100: /* gekko 1.0 */
363 case 0x00080100: /* gekko 2.0 */
364 case 0x00083203: /* gekko 2.3a */
365 case 0x00083213: /* gekko 2.3b */
366 case 0x00083204: /* gekko 2.4 */
367 case 0x00083214: /* gekko 2.4e (8SE) - retail HW2 */
368 case 0x00087200: /* broadway */
369 if (vcpu->arch.hflags & BOOK3S_HFLAG_NATIVE_PS) {
370 /* Native paired singles */
371 } else if (spr_val & (1 << 29)) { /* HID2.PSE */
372 vcpu->arch.hflags |= BOOK3S_HFLAG_PAIRED_SINGLE;
373 kvmppc_giveup_ext(vcpu, MSR_FP);
374 } else {
375 vcpu->arch.hflags &= ~BOOK3S_HFLAG_PAIRED_SINGLE;
376 }
377 break;
378 }
379 break;
380 case SPRN_HID4:
381 case SPRN_HID4_GEKKO:
382 to_book3s(vcpu)->hid[4] = spr_val;
383 break;
384 case SPRN_HID5:
385 to_book3s(vcpu)->hid[5] = spr_val;
386 /* guest HID5 set can change is_dcbz32 */
387 if (vcpu->arch.mmu.is_dcbz32(vcpu) &&
388 (mfmsr() & MSR_HV))
389 vcpu->arch.hflags |= BOOK3S_HFLAG_DCBZ32;
390 break;
391 case SPRN_GQR0:
392 case SPRN_GQR1:
393 case SPRN_GQR2:
394 case SPRN_GQR3:
395 case SPRN_GQR4:
396 case SPRN_GQR5:
397 case SPRN_GQR6:
398 case SPRN_GQR7:
399 to_book3s(vcpu)->gqr[sprn - SPRN_GQR0] = spr_val;
400 break;
401 case SPRN_ICTC:
402 case SPRN_THRM1:
403 case SPRN_THRM2:
404 case SPRN_THRM3:
405 case SPRN_CTRLF:
406 case SPRN_CTRLT:
407 case SPRN_L2CR:
408 case SPRN_MMCR0_GEKKO:
409 case SPRN_MMCR1_GEKKO:
410 case SPRN_PMC1_GEKKO:
411 case SPRN_PMC2_GEKKO:
412 case SPRN_PMC3_GEKKO:
413 case SPRN_PMC4_GEKKO:
414 case SPRN_WPAR_GEKKO:
415 break;
416 default:
417 printk(KERN_INFO "KVM: invalid SPR write: %d\n", sprn);
418#ifndef DEBUG_SPR
419 emulated = EMULATE_FAIL;
420#endif
421 break;
422 }
423
424 return emulated;
425}
426
427int kvmppc_core_emulate_mfspr(struct kvm_vcpu *vcpu, int sprn, int rt)
428{
429 int emulated = EMULATE_DONE;
430
431 switch (sprn) {
432 case SPRN_IBAT0U ... SPRN_IBAT3L:
433 case SPRN_IBAT4U ... SPRN_IBAT7L:
434 case SPRN_DBAT0U ... SPRN_DBAT3L:
435 case SPRN_DBAT4U ... SPRN_DBAT7L:
436 kvmppc_set_gpr(vcpu, rt, kvmppc_read_bat(vcpu, sprn));
437 break;
438 case SPRN_SDR1:
439 kvmppc_set_gpr(vcpu, rt, to_book3s(vcpu)->sdr1);
440 break;
441 case SPRN_DSISR:
442 kvmppc_set_gpr(vcpu, rt, to_book3s(vcpu)->dsisr);
443 break;
444 case SPRN_DAR:
445 kvmppc_set_gpr(vcpu, rt, vcpu->arch.dear);
446 break;
447 case SPRN_HIOR:
448 kvmppc_set_gpr(vcpu, rt, to_book3s(vcpu)->hior);
449 break;
450 case SPRN_HID0:
451 kvmppc_set_gpr(vcpu, rt, to_book3s(vcpu)->hid[0]);
452 break;
453 case SPRN_HID1:
454 kvmppc_set_gpr(vcpu, rt, to_book3s(vcpu)->hid[1]);
455 break;
456 case SPRN_HID2:
457 case SPRN_HID2_GEKKO:
458 kvmppc_set_gpr(vcpu, rt, to_book3s(vcpu)->hid[2]);
459 break;
460 case SPRN_HID4:
461 case SPRN_HID4_GEKKO:
462 kvmppc_set_gpr(vcpu, rt, to_book3s(vcpu)->hid[4]);
463 break;
464 case SPRN_HID5:
465 kvmppc_set_gpr(vcpu, rt, to_book3s(vcpu)->hid[5]);
466 break;
467 case SPRN_GQR0:
468 case SPRN_GQR1:
469 case SPRN_GQR2:
470 case SPRN_GQR3:
471 case SPRN_GQR4:
472 case SPRN_GQR5:
473 case SPRN_GQR6:
474 case SPRN_GQR7:
475 kvmppc_set_gpr(vcpu, rt,
476 to_book3s(vcpu)->gqr[sprn - SPRN_GQR0]);
477 break;
478 case SPRN_THRM1:
479 case SPRN_THRM2:
480 case SPRN_THRM3:
481 case SPRN_CTRLF:
482 case SPRN_CTRLT:
483 case SPRN_L2CR:
484 case SPRN_MMCR0_GEKKO:
485 case SPRN_MMCR1_GEKKO:
486 case SPRN_PMC1_GEKKO:
487 case SPRN_PMC2_GEKKO:
488 case SPRN_PMC3_GEKKO:
489 case SPRN_PMC4_GEKKO:
490 case SPRN_WPAR_GEKKO:
491 kvmppc_set_gpr(vcpu, rt, 0);
492 break;
493 default:
494 printk(KERN_INFO "KVM: invalid SPR read: %d\n", sprn);
495#ifndef DEBUG_SPR
496 emulated = EMULATE_FAIL;
497#endif
498 break;
499 }
500
501 return emulated;
502}
503
504u32 kvmppc_alignment_dsisr(struct kvm_vcpu *vcpu, unsigned int inst)
505{
506 u32 dsisr = 0;
507
508 /*
509 * This is what the spec says about DSISR bits (not mentioned = 0):
510 *
511 * 12:13 [DS] Set to bits 30:31
512 * 15:16 [X] Set to bits 29:30
513 * 17 [X] Set to bit 25
514 * [D/DS] Set to bit 5
515 * 18:21 [X] Set to bits 21:24
516 * [D/DS] Set to bits 1:4
517 * 22:26 Set to bits 6:10 (RT/RS/FRT/FRS)
518 * 27:31 Set to bits 11:15 (RA)
519 */
520
521 switch (get_op(inst)) {
522 /* D-form */
523 case OP_LFS:
524 case OP_LFD:
525 case OP_STFD:
526 case OP_STFS:
527 dsisr |= (inst >> 12) & 0x4000; /* bit 17 */
528 dsisr |= (inst >> 17) & 0x3c00; /* bits 18:21 */
529 break;
530 /* X-form */
531 case 31:
532 dsisr |= (inst << 14) & 0x18000; /* bits 15:16 */
533 dsisr |= (inst << 8) & 0x04000; /* bit 17 */
534 dsisr |= (inst << 3) & 0x03c00; /* bits 18:21 */
535 break;
536 default:
537 printk(KERN_INFO "KVM: Unaligned instruction 0x%x\n", inst);
538 break;
539 }
540
541 dsisr |= (inst >> 16) & 0x03ff; /* bits 22:31 */
542
543 return dsisr;
544}
545
546ulong kvmppc_alignment_dar(struct kvm_vcpu *vcpu, unsigned int inst)
547{
548 ulong dar = 0;
549 ulong ra;
550
551 switch (get_op(inst)) {
552 case OP_LFS:
553 case OP_LFD:
554 case OP_STFD:
555 case OP_STFS:
556 ra = get_ra(inst);
557 if (ra)
558 dar = kvmppc_get_gpr(vcpu, ra);
559 dar += (s32)((s16)inst);
560 break;
561 case 31:
562 ra = get_ra(inst);
563 if (ra)
564 dar = kvmppc_get_gpr(vcpu, ra);
565 dar += kvmppc_get_gpr(vcpu, get_rb(inst));
566 break;
567 default:
568 printk(KERN_INFO "KVM: Unaligned instruction 0x%x\n", inst);
569 break;
570 }
571
572 return dar;
573}
diff --git a/arch/powerpc/kvm/book3s_64_exports.c b/arch/powerpc/kvm/book3s_exports.c
index 5b2db38ed86c..1dd5a1ddfd0d 100644
--- a/arch/powerpc/kvm/book3s_64_exports.c
+++ b/arch/powerpc/kvm/book3s_exports.c
@@ -22,3 +22,11 @@
22 22
23EXPORT_SYMBOL_GPL(kvmppc_trampoline_enter); 23EXPORT_SYMBOL_GPL(kvmppc_trampoline_enter);
24EXPORT_SYMBOL_GPL(kvmppc_trampoline_lowmem); 24EXPORT_SYMBOL_GPL(kvmppc_trampoline_lowmem);
25EXPORT_SYMBOL_GPL(kvmppc_rmcall);
26EXPORT_SYMBOL_GPL(kvmppc_load_up_fpu);
27#ifdef CONFIG_ALTIVEC
28EXPORT_SYMBOL_GPL(kvmppc_load_up_altivec);
29#endif
30#ifdef CONFIG_VSX
31EXPORT_SYMBOL_GPL(kvmppc_load_up_vsx);
32#endif
diff --git a/arch/powerpc/kvm/book3s_interrupts.S b/arch/powerpc/kvm/book3s_interrupts.S
new file mode 100644
index 000000000000..2f0bc928b08a
--- /dev/null
+++ b/arch/powerpc/kvm/book3s_interrupts.S
@@ -0,0 +1,320 @@
1/*
2 * This program is free software; you can redistribute it and/or modify
3 * it under the terms of the GNU General Public License, version 2, as
4 * published by the Free Software Foundation.
5 *
6 * This program is distributed in the hope that it will be useful,
7 * but WITHOUT ANY WARRANTY; without even the implied warranty of
8 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
9 * GNU General Public License for more details.
10 *
11 * You should have received a copy of the GNU General Public License
12 * along with this program; if not, write to the Free Software
13 * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
14 *
15 * Copyright SUSE Linux Products GmbH 2009
16 *
17 * Authors: Alexander Graf <agraf@suse.de>
18 */
19
20#include <asm/ppc_asm.h>
21#include <asm/kvm_asm.h>
22#include <asm/reg.h>
23#include <asm/page.h>
24#include <asm/asm-offsets.h>
25#include <asm/exception-64s.h>
26
27#if defined(CONFIG_PPC_BOOK3S_64)
28
29#define ULONG_SIZE 8
30#define FUNC(name) GLUE(.,name)
31
32#define GET_SHADOW_VCPU(reg) \
33 addi reg, r13, PACA_KVM_SVCPU
34
35#define DISABLE_INTERRUPTS \
36 mfmsr r0; \
37 rldicl r0,r0,48,1; \
38 rotldi r0,r0,16; \
39 mtmsrd r0,1; \
40
41#elif defined(CONFIG_PPC_BOOK3S_32)
42
43#define ULONG_SIZE 4
44#define FUNC(name) name
45
46#define GET_SHADOW_VCPU(reg) \
47 lwz reg, (THREAD + THREAD_KVM_SVCPU)(r2)
48
49#define DISABLE_INTERRUPTS \
50 mfmsr r0; \
51 rlwinm r0,r0,0,17,15; \
52 mtmsr r0; \
53
54#endif /* CONFIG_PPC_BOOK3S_XX */
55
56
57#define VCPU_GPR(n) (VCPU_GPRS + (n * ULONG_SIZE))
58#define VCPU_LOAD_NVGPRS(vcpu) \
59 PPC_LL r14, VCPU_GPR(r14)(vcpu); \
60 PPC_LL r15, VCPU_GPR(r15)(vcpu); \
61 PPC_LL r16, VCPU_GPR(r16)(vcpu); \
62 PPC_LL r17, VCPU_GPR(r17)(vcpu); \
63 PPC_LL r18, VCPU_GPR(r18)(vcpu); \
64 PPC_LL r19, VCPU_GPR(r19)(vcpu); \
65 PPC_LL r20, VCPU_GPR(r20)(vcpu); \
66 PPC_LL r21, VCPU_GPR(r21)(vcpu); \
67 PPC_LL r22, VCPU_GPR(r22)(vcpu); \
68 PPC_LL r23, VCPU_GPR(r23)(vcpu); \
69 PPC_LL r24, VCPU_GPR(r24)(vcpu); \
70 PPC_LL r25, VCPU_GPR(r25)(vcpu); \
71 PPC_LL r26, VCPU_GPR(r26)(vcpu); \
72 PPC_LL r27, VCPU_GPR(r27)(vcpu); \
73 PPC_LL r28, VCPU_GPR(r28)(vcpu); \
74 PPC_LL r29, VCPU_GPR(r29)(vcpu); \
75 PPC_LL r30, VCPU_GPR(r30)(vcpu); \
76 PPC_LL r31, VCPU_GPR(r31)(vcpu); \
77
78/*****************************************************************************
79 * *
80 * Guest entry / exit code that is in kernel module memory (highmem) *
81 * *
82 ****************************************************************************/
83
84/* Registers:
85 * r3: kvm_run pointer
86 * r4: vcpu pointer
87 */
88_GLOBAL(__kvmppc_vcpu_entry)
89
90kvm_start_entry:
91 /* Write correct stack frame */
92 mflr r0
93 PPC_STL r0,PPC_LR_STKOFF(r1)
94
95 /* Save host state to the stack */
96 PPC_STLU r1, -SWITCH_FRAME_SIZE(r1)
97
98 /* Save r3 (kvm_run) and r4 (vcpu) */
99 SAVE_2GPRS(3, r1)
100
101 /* Save non-volatile registers (r14 - r31) */
102 SAVE_NVGPRS(r1)
103
104 /* Save LR */
105 PPC_STL r0, _LINK(r1)
106
107 /* Load non-volatile guest state from the vcpu */
108 VCPU_LOAD_NVGPRS(r4)
109
110 GET_SHADOW_VCPU(r5)
111
112 /* Save R1/R2 in the PACA */
113 PPC_STL r1, SVCPU_HOST_R1(r5)
114 PPC_STL r2, SVCPU_HOST_R2(r5)
115
116 /* XXX swap in/out on load? */
117 PPC_LL r3, VCPU_HIGHMEM_HANDLER(r4)
118 PPC_STL r3, SVCPU_VMHANDLER(r5)
119
120kvm_start_lightweight:
121
122 PPC_LL r10, VCPU_SHADOW_MSR(r4) /* r10 = vcpu->arch.shadow_msr */
123
124 DISABLE_INTERRUPTS
125
126#ifdef CONFIG_PPC_BOOK3S_64
127 /* Some guests may need to have dcbz set to 32 byte length.
128 *
129 * Usually we ensure that by patching the guest's instructions
130 * to trap on dcbz and emulate it in the hypervisor.
131 *
132 * If we can, we should tell the CPU to use 32 byte dcbz though,
133 * because that's a lot faster.
134 */
135
136 PPC_LL r3, VCPU_HFLAGS(r4)
137 rldicl. r3, r3, 0, 63 /* CR = ((r3 & 1) == 0) */
138 beq no_dcbz32_on
139
140 mfspr r3,SPRN_HID5
141 ori r3, r3, 0x80 /* XXX HID5_dcbz32 = 0x80 */
142 mtspr SPRN_HID5,r3
143
144no_dcbz32_on:
145
146#endif /* CONFIG_PPC_BOOK3S_64 */
147
148 PPC_LL r6, VCPU_RMCALL(r4)
149 mtctr r6
150
151 PPC_LL r3, VCPU_TRAMPOLINE_ENTER(r4)
152 LOAD_REG_IMMEDIATE(r4, MSR_KERNEL & ~(MSR_IR | MSR_DR))
153
154 /* Jump to segment patching handler and into our guest */
155 bctr
156
157/*
158 * This is the handler in module memory. It gets jumped at from the
159 * lowmem trampoline code, so it's basically the guest exit code.
160 *
161 */
162
163.global kvmppc_handler_highmem
164kvmppc_handler_highmem:
165
166 /*
167 * Register usage at this point:
168 *
169 * R1 = host R1
170 * R2 = host R2
171 * R12 = exit handler id
172 * R13 = PACA
173 * SVCPU.* = guest *
174 *
175 */
176
177 /* R7 = vcpu */
178 PPC_LL r7, GPR4(r1)
179
180#ifdef CONFIG_PPC_BOOK3S_64
181
182 PPC_LL r5, VCPU_HFLAGS(r7)
183 rldicl. r5, r5, 0, 63 /* CR = ((r5 & 1) == 0) */
184 beq no_dcbz32_off
185
186 li r4, 0
187 mfspr r5,SPRN_HID5
188 rldimi r5,r4,6,56
189 mtspr SPRN_HID5,r5
190
191no_dcbz32_off:
192
193#endif /* CONFIG_PPC_BOOK3S_64 */
194
195 PPC_STL r14, VCPU_GPR(r14)(r7)
196 PPC_STL r15, VCPU_GPR(r15)(r7)
197 PPC_STL r16, VCPU_GPR(r16)(r7)
198 PPC_STL r17, VCPU_GPR(r17)(r7)
199 PPC_STL r18, VCPU_GPR(r18)(r7)
200 PPC_STL r19, VCPU_GPR(r19)(r7)
201 PPC_STL r20, VCPU_GPR(r20)(r7)
202 PPC_STL r21, VCPU_GPR(r21)(r7)
203 PPC_STL r22, VCPU_GPR(r22)(r7)
204 PPC_STL r23, VCPU_GPR(r23)(r7)
205 PPC_STL r24, VCPU_GPR(r24)(r7)
206 PPC_STL r25, VCPU_GPR(r25)(r7)
207 PPC_STL r26, VCPU_GPR(r26)(r7)
208 PPC_STL r27, VCPU_GPR(r27)(r7)
209 PPC_STL r28, VCPU_GPR(r28)(r7)
210 PPC_STL r29, VCPU_GPR(r29)(r7)
211 PPC_STL r30, VCPU_GPR(r30)(r7)
212 PPC_STL r31, VCPU_GPR(r31)(r7)
213
214 /* Restore host msr -> SRR1 */
215 PPC_LL r6, VCPU_HOST_MSR(r7)
216
217 /*
218 * For some interrupts, we need to call the real Linux
219 * handler, so it can do work for us. This has to happen
220 * as if the interrupt arrived from the kernel though,
221 * so let's fake it here where most state is restored.
222 *
223 * Call Linux for hardware interrupts/decrementer
224 * r3 = address of interrupt handler (exit reason)
225 */
226
227 cmpwi r12, BOOK3S_INTERRUPT_EXTERNAL
228 beq call_linux_handler
229 cmpwi r12, BOOK3S_INTERRUPT_DECREMENTER
230 beq call_linux_handler
231 cmpwi r12, BOOK3S_INTERRUPT_PERFMON
232 beq call_linux_handler
233
234 /* Back to EE=1 */
235 mtmsr r6
236 sync
237 b kvm_return_point
238
239call_linux_handler:
240
241 /*
242 * If we land here we need to jump back to the handler we
243 * came from.
244 *
245 * We have a page that we can access from real mode, so let's
246 * jump back to that and use it as a trampoline to get back into the
247 * interrupt handler!
248 *
249 * R3 still contains the exit code,
250 * R5 VCPU_HOST_RETIP and
251 * R6 VCPU_HOST_MSR
252 */
253
254 /* Restore host IP -> SRR0 */
255 PPC_LL r5, VCPU_HOST_RETIP(r7)
256
257 /* XXX Better move to a safe function?
258 * What if we get an HTAB flush in between mtsrr0 and mtsrr1? */
259
260 mtlr r12
261
262 PPC_LL r4, VCPU_TRAMPOLINE_LOWMEM(r7)
263 mtsrr0 r4
264 LOAD_REG_IMMEDIATE(r3, MSR_KERNEL & ~(MSR_IR | MSR_DR))
265 mtsrr1 r3
266
267 RFI
268
269.global kvm_return_point
270kvm_return_point:
271
272 /* Jump back to lightweight entry if we're supposed to */
273 /* go back into the guest */
274
275 /* Pass the exit number as 3rd argument to kvmppc_handle_exit */
276 mr r5, r12
277
278 /* Restore r3 (kvm_run) and r4 (vcpu) */
279 REST_2GPRS(3, r1)
280 bl FUNC(kvmppc_handle_exit)
281
282 /* If RESUME_GUEST, get back in the loop */
283 cmpwi r3, RESUME_GUEST
284 beq kvm_loop_lightweight
285
286 cmpwi r3, RESUME_GUEST_NV
287 beq kvm_loop_heavyweight
288
289kvm_exit_loop:
290
291 PPC_LL r4, _LINK(r1)
292 mtlr r4
293
294 /* Restore non-volatile host registers (r14 - r31) */
295 REST_NVGPRS(r1)
296
297 addi r1, r1, SWITCH_FRAME_SIZE
298 blr
299
300kvm_loop_heavyweight:
301
302 PPC_LL r4, _LINK(r1)
303 PPC_STL r4, (PPC_LR_STKOFF + SWITCH_FRAME_SIZE)(r1)
304
305 /* Load vcpu and cpu_run */
306 REST_2GPRS(3, r1)
307
308 /* Load non-volatile guest state from the vcpu */
309 VCPU_LOAD_NVGPRS(r4)
310
311 /* Jump back into the beginning of this function */
312 b kvm_start_lightweight
313
314kvm_loop_lightweight:
315
316 /* We'll need the vcpu pointer */
317 REST_GPR(4, r1)
318
319 /* Jump back into the beginning of this function */
320 b kvm_start_lightweight
diff --git a/arch/powerpc/kvm/book3s_paired_singles.c b/arch/powerpc/kvm/book3s_paired_singles.c
new file mode 100644
index 000000000000..a9f66abafcb3
--- /dev/null
+++ b/arch/powerpc/kvm/book3s_paired_singles.c
@@ -0,0 +1,1289 @@
1/*
2 * This program is free software; you can redistribute it and/or modify
3 * it under the terms of the GNU General Public License, version 2, as
4 * published by the Free Software Foundation.
5 *
6 * This program is distributed in the hope that it will be useful,
7 * but WITHOUT ANY WARRANTY; without even the implied warranty of
8 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
9 * GNU General Public License for more details.
10 *
11 * You should have received a copy of the GNU General Public License
12 * along with this program; if not, write to the Free Software
13 * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
14 *
15 * Copyright Novell Inc 2010
16 *
17 * Authors: Alexander Graf <agraf@suse.de>
18 */
19
20#include <asm/kvm.h>
21#include <asm/kvm_ppc.h>
22#include <asm/disassemble.h>
23#include <asm/kvm_book3s.h>
24#include <asm/kvm_fpu.h>
25#include <asm/reg.h>
26#include <asm/cacheflush.h>
27#include <linux/vmalloc.h>
28
29/* #define DEBUG */
30
31#ifdef DEBUG
32#define dprintk printk
33#else
34#define dprintk(...) do { } while(0);
35#endif
36
37#define OP_LFS 48
38#define OP_LFSU 49
39#define OP_LFD 50
40#define OP_LFDU 51
41#define OP_STFS 52
42#define OP_STFSU 53
43#define OP_STFD 54
44#define OP_STFDU 55
45#define OP_PSQ_L 56
46#define OP_PSQ_LU 57
47#define OP_PSQ_ST 60
48#define OP_PSQ_STU 61
49
50#define OP_31_LFSX 535
51#define OP_31_LFSUX 567
52#define OP_31_LFDX 599
53#define OP_31_LFDUX 631
54#define OP_31_STFSX 663
55#define OP_31_STFSUX 695
56#define OP_31_STFX 727
57#define OP_31_STFUX 759
58#define OP_31_LWIZX 887
59#define OP_31_STFIWX 983
60
61#define OP_59_FADDS 21
62#define OP_59_FSUBS 20
63#define OP_59_FSQRTS 22
64#define OP_59_FDIVS 18
65#define OP_59_FRES 24
66#define OP_59_FMULS 25
67#define OP_59_FRSQRTES 26
68#define OP_59_FMSUBS 28
69#define OP_59_FMADDS 29
70#define OP_59_FNMSUBS 30
71#define OP_59_FNMADDS 31
72
73#define OP_63_FCMPU 0
74#define OP_63_FCPSGN 8
75#define OP_63_FRSP 12
76#define OP_63_FCTIW 14
77#define OP_63_FCTIWZ 15
78#define OP_63_FDIV 18
79#define OP_63_FADD 21
80#define OP_63_FSQRT 22
81#define OP_63_FSEL 23
82#define OP_63_FRE 24
83#define OP_63_FMUL 25
84#define OP_63_FRSQRTE 26
85#define OP_63_FMSUB 28
86#define OP_63_FMADD 29
87#define OP_63_FNMSUB 30
88#define OP_63_FNMADD 31
89#define OP_63_FCMPO 32
90#define OP_63_MTFSB1 38 // XXX
91#define OP_63_FSUB 20
92#define OP_63_FNEG 40
93#define OP_63_MCRFS 64
94#define OP_63_MTFSB0 70
95#define OP_63_FMR 72
96#define OP_63_MTFSFI 134
97#define OP_63_FABS 264
98#define OP_63_MFFS 583
99#define OP_63_MTFSF 711
100
101#define OP_4X_PS_CMPU0 0
102#define OP_4X_PSQ_LX 6
103#define OP_4XW_PSQ_STX 7
104#define OP_4A_PS_SUM0 10
105#define OP_4A_PS_SUM1 11
106#define OP_4A_PS_MULS0 12
107#define OP_4A_PS_MULS1 13
108#define OP_4A_PS_MADDS0 14
109#define OP_4A_PS_MADDS1 15
110#define OP_4A_PS_DIV 18
111#define OP_4A_PS_SUB 20
112#define OP_4A_PS_ADD 21
113#define OP_4A_PS_SEL 23
114#define OP_4A_PS_RES 24
115#define OP_4A_PS_MUL 25
116#define OP_4A_PS_RSQRTE 26
117#define OP_4A_PS_MSUB 28
118#define OP_4A_PS_MADD 29
119#define OP_4A_PS_NMSUB 30
120#define OP_4A_PS_NMADD 31
121#define OP_4X_PS_CMPO0 32
122#define OP_4X_PSQ_LUX 38
123#define OP_4XW_PSQ_STUX 39
124#define OP_4X_PS_NEG 40
125#define OP_4X_PS_CMPU1 64
126#define OP_4X_PS_MR 72
127#define OP_4X_PS_CMPO1 96
128#define OP_4X_PS_NABS 136
129#define OP_4X_PS_ABS 264
130#define OP_4X_PS_MERGE00 528
131#define OP_4X_PS_MERGE01 560
132#define OP_4X_PS_MERGE10 592
133#define OP_4X_PS_MERGE11 624
134
135#define SCALAR_NONE 0
136#define SCALAR_HIGH (1 << 0)
137#define SCALAR_LOW (1 << 1)
138#define SCALAR_NO_PS0 (1 << 2)
139#define SCALAR_NO_PS1 (1 << 3)
140
141#define GQR_ST_TYPE_MASK 0x00000007
142#define GQR_ST_TYPE_SHIFT 0
143#define GQR_ST_SCALE_MASK 0x00003f00
144#define GQR_ST_SCALE_SHIFT 8
145#define GQR_LD_TYPE_MASK 0x00070000
146#define GQR_LD_TYPE_SHIFT 16
147#define GQR_LD_SCALE_MASK 0x3f000000
148#define GQR_LD_SCALE_SHIFT 24
149
150#define GQR_QUANTIZE_FLOAT 0
151#define GQR_QUANTIZE_U8 4
152#define GQR_QUANTIZE_U16 5
153#define GQR_QUANTIZE_S8 6
154#define GQR_QUANTIZE_S16 7
155
156#define FPU_LS_SINGLE 0
157#define FPU_LS_DOUBLE 1
158#define FPU_LS_SINGLE_LOW 2
159
160static inline void kvmppc_sync_qpr(struct kvm_vcpu *vcpu, int rt)
161{
162 struct thread_struct t;
163
164 t.fpscr.val = vcpu->arch.fpscr;
165 cvt_df((double*)&vcpu->arch.fpr[rt], (float*)&vcpu->arch.qpr[rt], &t);
166}
167
168static void kvmppc_inject_pf(struct kvm_vcpu *vcpu, ulong eaddr, bool is_store)
169{
170 u64 dsisr;
171
172 vcpu->arch.msr = kvmppc_set_field(vcpu->arch.msr, 33, 36, 0);
173 vcpu->arch.msr = kvmppc_set_field(vcpu->arch.msr, 42, 47, 0);
174 vcpu->arch.dear = eaddr;
175 /* Page Fault */
176 dsisr = kvmppc_set_field(0, 33, 33, 1);
177 if (is_store)
178 to_book3s(vcpu)->dsisr = kvmppc_set_field(dsisr, 38, 38, 1);
179 kvmppc_book3s_queue_irqprio(vcpu, BOOK3S_INTERRUPT_DATA_STORAGE);
180}
181
182static int kvmppc_emulate_fpr_load(struct kvm_run *run, struct kvm_vcpu *vcpu,
183 int rs, ulong addr, int ls_type)
184{
185 int emulated = EMULATE_FAIL;
186 struct thread_struct t;
187 int r;
188 char tmp[8];
189 int len = sizeof(u32);
190
191 if (ls_type == FPU_LS_DOUBLE)
192 len = sizeof(u64);
193
194 t.fpscr.val = vcpu->arch.fpscr;
195
196 /* read from memory */
197 r = kvmppc_ld(vcpu, &addr, len, tmp, true);
198 vcpu->arch.paddr_accessed = addr;
199
200 if (r < 0) {
201 kvmppc_inject_pf(vcpu, addr, false);
202 goto done_load;
203 } else if (r == EMULATE_DO_MMIO) {
204 emulated = kvmppc_handle_load(run, vcpu, KVM_REG_FPR | rs, len, 1);
205 goto done_load;
206 }
207
208 emulated = EMULATE_DONE;
209
210 /* put in registers */
211 switch (ls_type) {
212 case FPU_LS_SINGLE:
213 cvt_fd((float*)tmp, (double*)&vcpu->arch.fpr[rs], &t);
214 vcpu->arch.qpr[rs] = *((u32*)tmp);
215 break;
216 case FPU_LS_DOUBLE:
217 vcpu->arch.fpr[rs] = *((u64*)tmp);
218 break;
219 }
220
221 dprintk(KERN_INFO "KVM: FPR_LD [0x%llx] at 0x%lx (%d)\n", *(u64*)tmp,
222 addr, len);
223
224done_load:
225 return emulated;
226}
227
228static int kvmppc_emulate_fpr_store(struct kvm_run *run, struct kvm_vcpu *vcpu,
229 int rs, ulong addr, int ls_type)
230{
231 int emulated = EMULATE_FAIL;
232 struct thread_struct t;
233 int r;
234 char tmp[8];
235 u64 val;
236 int len;
237
238 t.fpscr.val = vcpu->arch.fpscr;
239
240 switch (ls_type) {
241 case FPU_LS_SINGLE:
242 cvt_df((double*)&vcpu->arch.fpr[rs], (float*)tmp, &t);
243 val = *((u32*)tmp);
244 len = sizeof(u32);
245 break;
246 case FPU_LS_SINGLE_LOW:
247 *((u32*)tmp) = vcpu->arch.fpr[rs];
248 val = vcpu->arch.fpr[rs] & 0xffffffff;
249 len = sizeof(u32);
250 break;
251 case FPU_LS_DOUBLE:
252 *((u64*)tmp) = vcpu->arch.fpr[rs];
253 val = vcpu->arch.fpr[rs];
254 len = sizeof(u64);
255 break;
256 default:
257 val = 0;
258 len = 0;
259 }
260
261 r = kvmppc_st(vcpu, &addr, len, tmp, true);
262 vcpu->arch.paddr_accessed = addr;
263 if (r < 0) {
264 kvmppc_inject_pf(vcpu, addr, true);
265 } else if (r == EMULATE_DO_MMIO) {
266 emulated = kvmppc_handle_store(run, vcpu, val, len, 1);
267 } else {
268 emulated = EMULATE_DONE;
269 }
270
271 dprintk(KERN_INFO "KVM: FPR_ST [0x%llx] at 0x%lx (%d)\n",
272 val, addr, len);
273
274 return emulated;
275}
276
277static int kvmppc_emulate_psq_load(struct kvm_run *run, struct kvm_vcpu *vcpu,
278 int rs, ulong addr, bool w, int i)
279{
280 int emulated = EMULATE_FAIL;
281 struct thread_struct t;
282 int r;
283 float one = 1.0;
284 u32 tmp[2];
285
286 t.fpscr.val = vcpu->arch.fpscr;
287
288 /* read from memory */
289 if (w) {
290 r = kvmppc_ld(vcpu, &addr, sizeof(u32), tmp, true);
291 memcpy(&tmp[1], &one, sizeof(u32));
292 } else {
293 r = kvmppc_ld(vcpu, &addr, sizeof(u32) * 2, tmp, true);
294 }
295 vcpu->arch.paddr_accessed = addr;
296 if (r < 0) {
297 kvmppc_inject_pf(vcpu, addr, false);
298 goto done_load;
299 } else if ((r == EMULATE_DO_MMIO) && w) {
300 emulated = kvmppc_handle_load(run, vcpu, KVM_REG_FPR | rs, 4, 1);
301 vcpu->arch.qpr[rs] = tmp[1];
302 goto done_load;
303 } else if (r == EMULATE_DO_MMIO) {
304 emulated = kvmppc_handle_load(run, vcpu, KVM_REG_FQPR | rs, 8, 1);
305 goto done_load;
306 }
307
308 emulated = EMULATE_DONE;
309
310 /* put in registers */
311 cvt_fd((float*)&tmp[0], (double*)&vcpu->arch.fpr[rs], &t);
312 vcpu->arch.qpr[rs] = tmp[1];
313
314 dprintk(KERN_INFO "KVM: PSQ_LD [0x%x, 0x%x] at 0x%lx (%d)\n", tmp[0],
315 tmp[1], addr, w ? 4 : 8);
316
317done_load:
318 return emulated;
319}
320
321static int kvmppc_emulate_psq_store(struct kvm_run *run, struct kvm_vcpu *vcpu,
322 int rs, ulong addr, bool w, int i)
323{
324 int emulated = EMULATE_FAIL;
325 struct thread_struct t;
326 int r;
327 u32 tmp[2];
328 int len = w ? sizeof(u32) : sizeof(u64);
329
330 t.fpscr.val = vcpu->arch.fpscr;
331
332 cvt_df((double*)&vcpu->arch.fpr[rs], (float*)&tmp[0], &t);
333 tmp[1] = vcpu->arch.qpr[rs];
334
335 r = kvmppc_st(vcpu, &addr, len, tmp, true);
336 vcpu->arch.paddr_accessed = addr;
337 if (r < 0) {
338 kvmppc_inject_pf(vcpu, addr, true);
339 } else if ((r == EMULATE_DO_MMIO) && w) {
340 emulated = kvmppc_handle_store(run, vcpu, tmp[0], 4, 1);
341 } else if (r == EMULATE_DO_MMIO) {
342 u64 val = ((u64)tmp[0] << 32) | tmp[1];
343 emulated = kvmppc_handle_store(run, vcpu, val, 8, 1);
344 } else {
345 emulated = EMULATE_DONE;
346 }
347
348 dprintk(KERN_INFO "KVM: PSQ_ST [0x%x, 0x%x] at 0x%lx (%d)\n",
349 tmp[0], tmp[1], addr, len);
350
351 return emulated;
352}
353
354/*
355 * Cuts out inst bits with ordering according to spec.
356 * That means the leftmost bit is zero. All given bits are included.
357 */
358static inline u32 inst_get_field(u32 inst, int msb, int lsb)
359{
360 return kvmppc_get_field(inst, msb + 32, lsb + 32);
361}
362
363/*
364 * Replaces inst bits with ordering according to spec.
365 */
366static inline u32 inst_set_field(u32 inst, int msb, int lsb, int value)
367{
368 return kvmppc_set_field(inst, msb + 32, lsb + 32, value);
369}
370
371bool kvmppc_inst_is_paired_single(struct kvm_vcpu *vcpu, u32 inst)
372{
373 if (!(vcpu->arch.hflags & BOOK3S_HFLAG_PAIRED_SINGLE))
374 return false;
375
376 switch (get_op(inst)) {
377 case OP_PSQ_L:
378 case OP_PSQ_LU:
379 case OP_PSQ_ST:
380 case OP_PSQ_STU:
381 case OP_LFS:
382 case OP_LFSU:
383 case OP_LFD:
384 case OP_LFDU:
385 case OP_STFS:
386 case OP_STFSU:
387 case OP_STFD:
388 case OP_STFDU:
389 return true;
390 case 4:
391 /* X form */
392 switch (inst_get_field(inst, 21, 30)) {
393 case OP_4X_PS_CMPU0:
394 case OP_4X_PSQ_LX:
395 case OP_4X_PS_CMPO0:
396 case OP_4X_PSQ_LUX:
397 case OP_4X_PS_NEG:
398 case OP_4X_PS_CMPU1:
399 case OP_4X_PS_MR:
400 case OP_4X_PS_CMPO1:
401 case OP_4X_PS_NABS:
402 case OP_4X_PS_ABS:
403 case OP_4X_PS_MERGE00:
404 case OP_4X_PS_MERGE01:
405 case OP_4X_PS_MERGE10:
406 case OP_4X_PS_MERGE11:
407 return true;
408 }
409 /* XW form */
410 switch (inst_get_field(inst, 25, 30)) {
411 case OP_4XW_PSQ_STX:
412 case OP_4XW_PSQ_STUX:
413 return true;
414 }
415 /* A form */
416 switch (inst_get_field(inst, 26, 30)) {
417 case OP_4A_PS_SUM1:
418 case OP_4A_PS_SUM0:
419 case OP_4A_PS_MULS0:
420 case OP_4A_PS_MULS1:
421 case OP_4A_PS_MADDS0:
422 case OP_4A_PS_MADDS1:
423 case OP_4A_PS_DIV:
424 case OP_4A_PS_SUB:
425 case OP_4A_PS_ADD:
426 case OP_4A_PS_SEL:
427 case OP_4A_PS_RES:
428 case OP_4A_PS_MUL:
429 case OP_4A_PS_RSQRTE:
430 case OP_4A_PS_MSUB:
431 case OP_4A_PS_MADD:
432 case OP_4A_PS_NMSUB:
433 case OP_4A_PS_NMADD:
434 return true;
435 }
436 break;
437 case 59:
438 switch (inst_get_field(inst, 21, 30)) {
439 case OP_59_FADDS:
440 case OP_59_FSUBS:
441 case OP_59_FDIVS:
442 case OP_59_FRES:
443 case OP_59_FRSQRTES:
444 return true;
445 }
446 switch (inst_get_field(inst, 26, 30)) {
447 case OP_59_FMULS:
448 case OP_59_FMSUBS:
449 case OP_59_FMADDS:
450 case OP_59_FNMSUBS:
451 case OP_59_FNMADDS:
452 return true;
453 }
454 break;
455 case 63:
456 switch (inst_get_field(inst, 21, 30)) {
457 case OP_63_MTFSB0:
458 case OP_63_MTFSB1:
459 case OP_63_MTFSF:
460 case OP_63_MTFSFI:
461 case OP_63_MCRFS:
462 case OP_63_MFFS:
463 case OP_63_FCMPU:
464 case OP_63_FCMPO:
465 case OP_63_FNEG:
466 case OP_63_FMR:
467 case OP_63_FABS:
468 case OP_63_FRSP:
469 case OP_63_FDIV:
470 case OP_63_FADD:
471 case OP_63_FSUB:
472 case OP_63_FCTIW:
473 case OP_63_FCTIWZ:
474 case OP_63_FRSQRTE:
475 case OP_63_FCPSGN:
476 return true;
477 }
478 switch (inst_get_field(inst, 26, 30)) {
479 case OP_63_FMUL:
480 case OP_63_FSEL:
481 case OP_63_FMSUB:
482 case OP_63_FMADD:
483 case OP_63_FNMSUB:
484 case OP_63_FNMADD:
485 return true;
486 }
487 break;
488 case 31:
489 switch (inst_get_field(inst, 21, 30)) {
490 case OP_31_LFSX:
491 case OP_31_LFSUX:
492 case OP_31_LFDX:
493 case OP_31_LFDUX:
494 case OP_31_STFSX:
495 case OP_31_STFSUX:
496 case OP_31_STFX:
497 case OP_31_STFUX:
498 case OP_31_STFIWX:
499 return true;
500 }
501 break;
502 }
503
504 return false;
505}
506
507static int get_d_signext(u32 inst)
508{
509 int d = inst & 0x8ff;
510
511 if (d & 0x800)
512 return -(d & 0x7ff);
513
514 return (d & 0x7ff);
515}
516
517static int kvmppc_ps_three_in(struct kvm_vcpu *vcpu, bool rc,
518 int reg_out, int reg_in1, int reg_in2,
519 int reg_in3, int scalar,
520 void (*func)(struct thread_struct *t,
521 u32 *dst, u32 *src1,
522 u32 *src2, u32 *src3))
523{
524 u32 *qpr = vcpu->arch.qpr;
525 u64 *fpr = vcpu->arch.fpr;
526 u32 ps0_out;
527 u32 ps0_in1, ps0_in2, ps0_in3;
528 u32 ps1_in1, ps1_in2, ps1_in3;
529 struct thread_struct t;
530 t.fpscr.val = vcpu->arch.fpscr;
531
532 /* RC */
533 WARN_ON(rc);
534
535 /* PS0 */
536 cvt_df((double*)&fpr[reg_in1], (float*)&ps0_in1, &t);
537 cvt_df((double*)&fpr[reg_in2], (float*)&ps0_in2, &t);
538 cvt_df((double*)&fpr[reg_in3], (float*)&ps0_in3, &t);
539
540 if (scalar & SCALAR_LOW)
541 ps0_in2 = qpr[reg_in2];
542
543 func(&t, &ps0_out, &ps0_in1, &ps0_in2, &ps0_in3);
544
545 dprintk(KERN_INFO "PS3 ps0 -> f(0x%x, 0x%x, 0x%x) = 0x%x\n",
546 ps0_in1, ps0_in2, ps0_in3, ps0_out);
547
548 if (!(scalar & SCALAR_NO_PS0))
549 cvt_fd((float*)&ps0_out, (double*)&fpr[reg_out], &t);
550
551 /* PS1 */
552 ps1_in1 = qpr[reg_in1];
553 ps1_in2 = qpr[reg_in2];
554 ps1_in3 = qpr[reg_in3];
555
556 if (scalar & SCALAR_HIGH)
557 ps1_in2 = ps0_in2;
558
559 if (!(scalar & SCALAR_NO_PS1))
560 func(&t, &qpr[reg_out], &ps1_in1, &ps1_in2, &ps1_in3);
561
562 dprintk(KERN_INFO "PS3 ps1 -> f(0x%x, 0x%x, 0x%x) = 0x%x\n",
563 ps1_in1, ps1_in2, ps1_in3, qpr[reg_out]);
564
565 return EMULATE_DONE;
566}
567
568static int kvmppc_ps_two_in(struct kvm_vcpu *vcpu, bool rc,
569 int reg_out, int reg_in1, int reg_in2,
570 int scalar,
571 void (*func)(struct thread_struct *t,
572 u32 *dst, u32 *src1,
573 u32 *src2))
574{
575 u32 *qpr = vcpu->arch.qpr;
576 u64 *fpr = vcpu->arch.fpr;
577 u32 ps0_out;
578 u32 ps0_in1, ps0_in2;
579 u32 ps1_out;
580 u32 ps1_in1, ps1_in2;
581 struct thread_struct t;
582 t.fpscr.val = vcpu->arch.fpscr;
583
584 /* RC */
585 WARN_ON(rc);
586
587 /* PS0 */
588 cvt_df((double*)&fpr[reg_in1], (float*)&ps0_in1, &t);
589
590 if (scalar & SCALAR_LOW)
591 ps0_in2 = qpr[reg_in2];
592 else
593 cvt_df((double*)&fpr[reg_in2], (float*)&ps0_in2, &t);
594
595 func(&t, &ps0_out, &ps0_in1, &ps0_in2);
596
597 if (!(scalar & SCALAR_NO_PS0)) {
598 dprintk(KERN_INFO "PS2 ps0 -> f(0x%x, 0x%x) = 0x%x\n",
599 ps0_in1, ps0_in2, ps0_out);
600
601 cvt_fd((float*)&ps0_out, (double*)&fpr[reg_out], &t);
602 }
603
604 /* PS1 */
605 ps1_in1 = qpr[reg_in1];
606 ps1_in2 = qpr[reg_in2];
607
608 if (scalar & SCALAR_HIGH)
609 ps1_in2 = ps0_in2;
610
611 func(&t, &ps1_out, &ps1_in1, &ps1_in2);
612
613 if (!(scalar & SCALAR_NO_PS1)) {
614 qpr[reg_out] = ps1_out;
615
616 dprintk(KERN_INFO "PS2 ps1 -> f(0x%x, 0x%x) = 0x%x\n",
617 ps1_in1, ps1_in2, qpr[reg_out]);
618 }
619
620 return EMULATE_DONE;
621}
622
623static int kvmppc_ps_one_in(struct kvm_vcpu *vcpu, bool rc,
624 int reg_out, int reg_in,
625 void (*func)(struct thread_struct *t,
626 u32 *dst, u32 *src1))
627{
628 u32 *qpr = vcpu->arch.qpr;
629 u64 *fpr = vcpu->arch.fpr;
630 u32 ps0_out, ps0_in;
631 u32 ps1_in;
632 struct thread_struct t;
633 t.fpscr.val = vcpu->arch.fpscr;
634
635 /* RC */
636 WARN_ON(rc);
637
638 /* PS0 */
639 cvt_df((double*)&fpr[reg_in], (float*)&ps0_in, &t);
640 func(&t, &ps0_out, &ps0_in);
641
642 dprintk(KERN_INFO "PS1 ps0 -> f(0x%x) = 0x%x\n",
643 ps0_in, ps0_out);
644
645 cvt_fd((float*)&ps0_out, (double*)&fpr[reg_out], &t);
646
647 /* PS1 */
648 ps1_in = qpr[reg_in];
649 func(&t, &qpr[reg_out], &ps1_in);
650
651 dprintk(KERN_INFO "PS1 ps1 -> f(0x%x) = 0x%x\n",
652 ps1_in, qpr[reg_out]);
653
654 return EMULATE_DONE;
655}
656
657int kvmppc_emulate_paired_single(struct kvm_run *run, struct kvm_vcpu *vcpu)
658{
659 u32 inst = kvmppc_get_last_inst(vcpu);
660 enum emulation_result emulated = EMULATE_DONE;
661
662 int ax_rd = inst_get_field(inst, 6, 10);
663 int ax_ra = inst_get_field(inst, 11, 15);
664 int ax_rb = inst_get_field(inst, 16, 20);
665 int ax_rc = inst_get_field(inst, 21, 25);
666 short full_d = inst_get_field(inst, 16, 31);
667
668 u64 *fpr_d = &vcpu->arch.fpr[ax_rd];
669 u64 *fpr_a = &vcpu->arch.fpr[ax_ra];
670 u64 *fpr_b = &vcpu->arch.fpr[ax_rb];
671 u64 *fpr_c = &vcpu->arch.fpr[ax_rc];
672
673 bool rcomp = (inst & 1) ? true : false;
674 u32 cr = kvmppc_get_cr(vcpu);
675 struct thread_struct t;
676#ifdef DEBUG
677 int i;
678#endif
679
680 t.fpscr.val = vcpu->arch.fpscr;
681
682 if (!kvmppc_inst_is_paired_single(vcpu, inst))
683 return EMULATE_FAIL;
684
685 if (!(vcpu->arch.msr & MSR_FP)) {
686 kvmppc_book3s_queue_irqprio(vcpu, BOOK3S_INTERRUPT_FP_UNAVAIL);
687 return EMULATE_AGAIN;
688 }
689
690 kvmppc_giveup_ext(vcpu, MSR_FP);
691 preempt_disable();
692 enable_kernel_fp();
693 /* Do we need to clear FE0 / FE1 here? Don't think so. */
694
695#ifdef DEBUG
696 for (i = 0; i < ARRAY_SIZE(vcpu->arch.fpr); i++) {
697 u32 f;
698 cvt_df((double*)&vcpu->arch.fpr[i], (float*)&f, &t);
699 dprintk(KERN_INFO "FPR[%d] = 0x%x / 0x%llx QPR[%d] = 0x%x\n",
700 i, f, vcpu->arch.fpr[i], i, vcpu->arch.qpr[i]);
701 }
702#endif
703
704 switch (get_op(inst)) {
705 case OP_PSQ_L:
706 {
707 ulong addr = ax_ra ? kvmppc_get_gpr(vcpu, ax_ra) : 0;
708 bool w = inst_get_field(inst, 16, 16) ? true : false;
709 int i = inst_get_field(inst, 17, 19);
710
711 addr += get_d_signext(inst);
712 emulated = kvmppc_emulate_psq_load(run, vcpu, ax_rd, addr, w, i);
713 break;
714 }
715 case OP_PSQ_LU:
716 {
717 ulong addr = kvmppc_get_gpr(vcpu, ax_ra);
718 bool w = inst_get_field(inst, 16, 16) ? true : false;
719 int i = inst_get_field(inst, 17, 19);
720
721 addr += get_d_signext(inst);
722 emulated = kvmppc_emulate_psq_load(run, vcpu, ax_rd, addr, w, i);
723
724 if (emulated == EMULATE_DONE)
725 kvmppc_set_gpr(vcpu, ax_ra, addr);
726 break;
727 }
728 case OP_PSQ_ST:
729 {
730 ulong addr = ax_ra ? kvmppc_get_gpr(vcpu, ax_ra) : 0;
731 bool w = inst_get_field(inst, 16, 16) ? true : false;
732 int i = inst_get_field(inst, 17, 19);
733
734 addr += get_d_signext(inst);
735 emulated = kvmppc_emulate_psq_store(run, vcpu, ax_rd, addr, w, i);
736 break;
737 }
738 case OP_PSQ_STU:
739 {
740 ulong addr = kvmppc_get_gpr(vcpu, ax_ra);
741 bool w = inst_get_field(inst, 16, 16) ? true : false;
742 int i = inst_get_field(inst, 17, 19);
743
744 addr += get_d_signext(inst);
745 emulated = kvmppc_emulate_psq_store(run, vcpu, ax_rd, addr, w, i);
746
747 if (emulated == EMULATE_DONE)
748 kvmppc_set_gpr(vcpu, ax_ra, addr);
749 break;
750 }
751 case 4:
752 /* X form */
753 switch (inst_get_field(inst, 21, 30)) {
754 case OP_4X_PS_CMPU0:
755 /* XXX */
756 emulated = EMULATE_FAIL;
757 break;
758 case OP_4X_PSQ_LX:
759 {
760 ulong addr = ax_ra ? kvmppc_get_gpr(vcpu, ax_ra) : 0;
761 bool w = inst_get_field(inst, 21, 21) ? true : false;
762 int i = inst_get_field(inst, 22, 24);
763
764 addr += kvmppc_get_gpr(vcpu, ax_rb);
765 emulated = kvmppc_emulate_psq_load(run, vcpu, ax_rd, addr, w, i);
766 break;
767 }
768 case OP_4X_PS_CMPO0:
769 /* XXX */
770 emulated = EMULATE_FAIL;
771 break;
772 case OP_4X_PSQ_LUX:
773 {
774 ulong addr = kvmppc_get_gpr(vcpu, ax_ra);
775 bool w = inst_get_field(inst, 21, 21) ? true : false;
776 int i = inst_get_field(inst, 22, 24);
777
778 addr += kvmppc_get_gpr(vcpu, ax_rb);
779 emulated = kvmppc_emulate_psq_load(run, vcpu, ax_rd, addr, w, i);
780
781 if (emulated == EMULATE_DONE)
782 kvmppc_set_gpr(vcpu, ax_ra, addr);
783 break;
784 }
785 case OP_4X_PS_NEG:
786 vcpu->arch.fpr[ax_rd] = vcpu->arch.fpr[ax_rb];
787 vcpu->arch.fpr[ax_rd] ^= 0x8000000000000000ULL;
788 vcpu->arch.qpr[ax_rd] = vcpu->arch.qpr[ax_rb];
789 vcpu->arch.qpr[ax_rd] ^= 0x80000000;
790 break;
791 case OP_4X_PS_CMPU1:
792 /* XXX */
793 emulated = EMULATE_FAIL;
794 break;
795 case OP_4X_PS_MR:
796 WARN_ON(rcomp);
797 vcpu->arch.fpr[ax_rd] = vcpu->arch.fpr[ax_rb];
798 vcpu->arch.qpr[ax_rd] = vcpu->arch.qpr[ax_rb];
799 break;
800 case OP_4X_PS_CMPO1:
801 /* XXX */
802 emulated = EMULATE_FAIL;
803 break;
804 case OP_4X_PS_NABS:
805 WARN_ON(rcomp);
806 vcpu->arch.fpr[ax_rd] = vcpu->arch.fpr[ax_rb];
807 vcpu->arch.fpr[ax_rd] |= 0x8000000000000000ULL;
808 vcpu->arch.qpr[ax_rd] = vcpu->arch.qpr[ax_rb];
809 vcpu->arch.qpr[ax_rd] |= 0x80000000;
810 break;
811 case OP_4X_PS_ABS:
812 WARN_ON(rcomp);
813 vcpu->arch.fpr[ax_rd] = vcpu->arch.fpr[ax_rb];
814 vcpu->arch.fpr[ax_rd] &= ~0x8000000000000000ULL;
815 vcpu->arch.qpr[ax_rd] = vcpu->arch.qpr[ax_rb];
816 vcpu->arch.qpr[ax_rd] &= ~0x80000000;
817 break;
818 case OP_4X_PS_MERGE00:
819 WARN_ON(rcomp);
820 vcpu->arch.fpr[ax_rd] = vcpu->arch.fpr[ax_ra];
821 /* vcpu->arch.qpr[ax_rd] = vcpu->arch.fpr[ax_rb]; */
822 cvt_df((double*)&vcpu->arch.fpr[ax_rb],
823 (float*)&vcpu->arch.qpr[ax_rd], &t);
824 break;
825 case OP_4X_PS_MERGE01:
826 WARN_ON(rcomp);
827 vcpu->arch.fpr[ax_rd] = vcpu->arch.fpr[ax_ra];
828 vcpu->arch.qpr[ax_rd] = vcpu->arch.qpr[ax_rb];
829 break;
830 case OP_4X_PS_MERGE10:
831 WARN_ON(rcomp);
832 /* vcpu->arch.fpr[ax_rd] = vcpu->arch.qpr[ax_ra]; */
833 cvt_fd((float*)&vcpu->arch.qpr[ax_ra],
834 (double*)&vcpu->arch.fpr[ax_rd], &t);
835 /* vcpu->arch.qpr[ax_rd] = vcpu->arch.fpr[ax_rb]; */
836 cvt_df((double*)&vcpu->arch.fpr[ax_rb],
837 (float*)&vcpu->arch.qpr[ax_rd], &t);
838 break;
839 case OP_4X_PS_MERGE11:
840 WARN_ON(rcomp);
841 /* vcpu->arch.fpr[ax_rd] = vcpu->arch.qpr[ax_ra]; */
842 cvt_fd((float*)&vcpu->arch.qpr[ax_ra],
843 (double*)&vcpu->arch.fpr[ax_rd], &t);
844 vcpu->arch.qpr[ax_rd] = vcpu->arch.qpr[ax_rb];
845 break;
846 }
847 /* XW form */
848 switch (inst_get_field(inst, 25, 30)) {
849 case OP_4XW_PSQ_STX:
850 {
851 ulong addr = ax_ra ? kvmppc_get_gpr(vcpu, ax_ra) : 0;
852 bool w = inst_get_field(inst, 21, 21) ? true : false;
853 int i = inst_get_field(inst, 22, 24);
854
855 addr += kvmppc_get_gpr(vcpu, ax_rb);
856 emulated = kvmppc_emulate_psq_store(run, vcpu, ax_rd, addr, w, i);
857 break;
858 }
859 case OP_4XW_PSQ_STUX:
860 {
861 ulong addr = kvmppc_get_gpr(vcpu, ax_ra);
862 bool w = inst_get_field(inst, 21, 21) ? true : false;
863 int i = inst_get_field(inst, 22, 24);
864
865 addr += kvmppc_get_gpr(vcpu, ax_rb);
866 emulated = kvmppc_emulate_psq_store(run, vcpu, ax_rd, addr, w, i);
867
868 if (emulated == EMULATE_DONE)
869 kvmppc_set_gpr(vcpu, ax_ra, addr);
870 break;
871 }
872 }
873 /* A form */
874 switch (inst_get_field(inst, 26, 30)) {
875 case OP_4A_PS_SUM1:
876 emulated = kvmppc_ps_two_in(vcpu, rcomp, ax_rd,
877 ax_rb, ax_ra, SCALAR_NO_PS0 | SCALAR_HIGH, fps_fadds);
878 vcpu->arch.fpr[ax_rd] = vcpu->arch.fpr[ax_rc];
879 break;
880 case OP_4A_PS_SUM0:
881 emulated = kvmppc_ps_two_in(vcpu, rcomp, ax_rd,
882 ax_ra, ax_rb, SCALAR_NO_PS1 | SCALAR_LOW, fps_fadds);
883 vcpu->arch.qpr[ax_rd] = vcpu->arch.qpr[ax_rc];
884 break;
885 case OP_4A_PS_MULS0:
886 emulated = kvmppc_ps_two_in(vcpu, rcomp, ax_rd,
887 ax_ra, ax_rc, SCALAR_HIGH, fps_fmuls);
888 break;
889 case OP_4A_PS_MULS1:
890 emulated = kvmppc_ps_two_in(vcpu, rcomp, ax_rd,
891 ax_ra, ax_rc, SCALAR_LOW, fps_fmuls);
892 break;
893 case OP_4A_PS_MADDS0:
894 emulated = kvmppc_ps_three_in(vcpu, rcomp, ax_rd,
895 ax_ra, ax_rc, ax_rb, SCALAR_HIGH, fps_fmadds);
896 break;
897 case OP_4A_PS_MADDS1:
898 emulated = kvmppc_ps_three_in(vcpu, rcomp, ax_rd,
899 ax_ra, ax_rc, ax_rb, SCALAR_LOW, fps_fmadds);
900 break;
901 case OP_4A_PS_DIV:
902 emulated = kvmppc_ps_two_in(vcpu, rcomp, ax_rd,
903 ax_ra, ax_rb, SCALAR_NONE, fps_fdivs);
904 break;
905 case OP_4A_PS_SUB:
906 emulated = kvmppc_ps_two_in(vcpu, rcomp, ax_rd,
907 ax_ra, ax_rb, SCALAR_NONE, fps_fsubs);
908 break;
909 case OP_4A_PS_ADD:
910 emulated = kvmppc_ps_two_in(vcpu, rcomp, ax_rd,
911 ax_ra, ax_rb, SCALAR_NONE, fps_fadds);
912 break;
913 case OP_4A_PS_SEL:
914 emulated = kvmppc_ps_three_in(vcpu, rcomp, ax_rd,
915 ax_ra, ax_rc, ax_rb, SCALAR_NONE, fps_fsel);
916 break;
917 case OP_4A_PS_RES:
918 emulated = kvmppc_ps_one_in(vcpu, rcomp, ax_rd,
919 ax_rb, fps_fres);
920 break;
921 case OP_4A_PS_MUL:
922 emulated = kvmppc_ps_two_in(vcpu, rcomp, ax_rd,
923 ax_ra, ax_rc, SCALAR_NONE, fps_fmuls);
924 break;
925 case OP_4A_PS_RSQRTE:
926 emulated = kvmppc_ps_one_in(vcpu, rcomp, ax_rd,
927 ax_rb, fps_frsqrte);
928 break;
929 case OP_4A_PS_MSUB:
930 emulated = kvmppc_ps_three_in(vcpu, rcomp, ax_rd,
931 ax_ra, ax_rc, ax_rb, SCALAR_NONE, fps_fmsubs);
932 break;
933 case OP_4A_PS_MADD:
934 emulated = kvmppc_ps_three_in(vcpu, rcomp, ax_rd,
935 ax_ra, ax_rc, ax_rb, SCALAR_NONE, fps_fmadds);
936 break;
937 case OP_4A_PS_NMSUB:
938 emulated = kvmppc_ps_three_in(vcpu, rcomp, ax_rd,
939 ax_ra, ax_rc, ax_rb, SCALAR_NONE, fps_fnmsubs);
940 break;
941 case OP_4A_PS_NMADD:
942 emulated = kvmppc_ps_three_in(vcpu, rcomp, ax_rd,
943 ax_ra, ax_rc, ax_rb, SCALAR_NONE, fps_fnmadds);
944 break;
945 }
946 break;
947
948 /* Real FPU operations */
949
950 case OP_LFS:
951 {
952 ulong addr = (ax_ra ? kvmppc_get_gpr(vcpu, ax_ra) : 0) + full_d;
953
954 emulated = kvmppc_emulate_fpr_load(run, vcpu, ax_rd, addr,
955 FPU_LS_SINGLE);
956 break;
957 }
958 case OP_LFSU:
959 {
960 ulong addr = kvmppc_get_gpr(vcpu, ax_ra) + full_d;
961
962 emulated = kvmppc_emulate_fpr_load(run, vcpu, ax_rd, addr,
963 FPU_LS_SINGLE);
964
965 if (emulated == EMULATE_DONE)
966 kvmppc_set_gpr(vcpu, ax_ra, addr);
967 break;
968 }
969 case OP_LFD:
970 {
971 ulong addr = (ax_ra ? kvmppc_get_gpr(vcpu, ax_ra) : 0) + full_d;
972
973 emulated = kvmppc_emulate_fpr_load(run, vcpu, ax_rd, addr,
974 FPU_LS_DOUBLE);
975 break;
976 }
977 case OP_LFDU:
978 {
979 ulong addr = kvmppc_get_gpr(vcpu, ax_ra) + full_d;
980
981 emulated = kvmppc_emulate_fpr_load(run, vcpu, ax_rd, addr,
982 FPU_LS_DOUBLE);
983
984 if (emulated == EMULATE_DONE)
985 kvmppc_set_gpr(vcpu, ax_ra, addr);
986 break;
987 }
988 case OP_STFS:
989 {
990 ulong addr = (ax_ra ? kvmppc_get_gpr(vcpu, ax_ra) : 0) + full_d;
991
992 emulated = kvmppc_emulate_fpr_store(run, vcpu, ax_rd, addr,
993 FPU_LS_SINGLE);
994 break;
995 }
996 case OP_STFSU:
997 {
998 ulong addr = kvmppc_get_gpr(vcpu, ax_ra) + full_d;
999
1000 emulated = kvmppc_emulate_fpr_store(run, vcpu, ax_rd, addr,
1001 FPU_LS_SINGLE);
1002
1003 if (emulated == EMULATE_DONE)
1004 kvmppc_set_gpr(vcpu, ax_ra, addr);
1005 break;
1006 }
1007 case OP_STFD:
1008 {
1009 ulong addr = (ax_ra ? kvmppc_get_gpr(vcpu, ax_ra) : 0) + full_d;
1010
1011 emulated = kvmppc_emulate_fpr_store(run, vcpu, ax_rd, addr,
1012 FPU_LS_DOUBLE);
1013 break;
1014 }
1015 case OP_STFDU:
1016 {
1017 ulong addr = kvmppc_get_gpr(vcpu, ax_ra) + full_d;
1018
1019 emulated = kvmppc_emulate_fpr_store(run, vcpu, ax_rd, addr,
1020 FPU_LS_DOUBLE);
1021
1022 if (emulated == EMULATE_DONE)
1023 kvmppc_set_gpr(vcpu, ax_ra, addr);
1024 break;
1025 }
1026 case 31:
1027 switch (inst_get_field(inst, 21, 30)) {
1028 case OP_31_LFSX:
1029 {
1030 ulong addr = ax_ra ? kvmppc_get_gpr(vcpu, ax_ra) : 0;
1031
1032 addr += kvmppc_get_gpr(vcpu, ax_rb);
1033 emulated = kvmppc_emulate_fpr_load(run, vcpu, ax_rd,
1034 addr, FPU_LS_SINGLE);
1035 break;
1036 }
1037 case OP_31_LFSUX:
1038 {
1039 ulong addr = kvmppc_get_gpr(vcpu, ax_ra) +
1040 kvmppc_get_gpr(vcpu, ax_rb);
1041
1042 emulated = kvmppc_emulate_fpr_load(run, vcpu, ax_rd,
1043 addr, FPU_LS_SINGLE);
1044
1045 if (emulated == EMULATE_DONE)
1046 kvmppc_set_gpr(vcpu, ax_ra, addr);
1047 break;
1048 }
1049 case OP_31_LFDX:
1050 {
1051 ulong addr = (ax_ra ? kvmppc_get_gpr(vcpu, ax_ra) : 0) +
1052 kvmppc_get_gpr(vcpu, ax_rb);
1053
1054 emulated = kvmppc_emulate_fpr_load(run, vcpu, ax_rd,
1055 addr, FPU_LS_DOUBLE);
1056 break;
1057 }
1058 case OP_31_LFDUX:
1059 {
1060 ulong addr = kvmppc_get_gpr(vcpu, ax_ra) +
1061 kvmppc_get_gpr(vcpu, ax_rb);
1062
1063 emulated = kvmppc_emulate_fpr_load(run, vcpu, ax_rd,
1064 addr, FPU_LS_DOUBLE);
1065
1066 if (emulated == EMULATE_DONE)
1067 kvmppc_set_gpr(vcpu, ax_ra, addr);
1068 break;
1069 }
1070 case OP_31_STFSX:
1071 {
1072 ulong addr = (ax_ra ? kvmppc_get_gpr(vcpu, ax_ra) : 0) +
1073 kvmppc_get_gpr(vcpu, ax_rb);
1074
1075 emulated = kvmppc_emulate_fpr_store(run, vcpu, ax_rd,
1076 addr, FPU_LS_SINGLE);
1077 break;
1078 }
1079 case OP_31_STFSUX:
1080 {
1081 ulong addr = kvmppc_get_gpr(vcpu, ax_ra) +
1082 kvmppc_get_gpr(vcpu, ax_rb);
1083
1084 emulated = kvmppc_emulate_fpr_store(run, vcpu, ax_rd,
1085 addr, FPU_LS_SINGLE);
1086
1087 if (emulated == EMULATE_DONE)
1088 kvmppc_set_gpr(vcpu, ax_ra, addr);
1089 break;
1090 }
1091 case OP_31_STFX:
1092 {
1093 ulong addr = (ax_ra ? kvmppc_get_gpr(vcpu, ax_ra) : 0) +
1094 kvmppc_get_gpr(vcpu, ax_rb);
1095
1096 emulated = kvmppc_emulate_fpr_store(run, vcpu, ax_rd,
1097 addr, FPU_LS_DOUBLE);
1098 break;
1099 }
1100 case OP_31_STFUX:
1101 {
1102 ulong addr = kvmppc_get_gpr(vcpu, ax_ra) +
1103 kvmppc_get_gpr(vcpu, ax_rb);
1104
1105 emulated = kvmppc_emulate_fpr_store(run, vcpu, ax_rd,
1106 addr, FPU_LS_DOUBLE);
1107
1108 if (emulated == EMULATE_DONE)
1109 kvmppc_set_gpr(vcpu, ax_ra, addr);
1110 break;
1111 }
1112 case OP_31_STFIWX:
1113 {
1114 ulong addr = (ax_ra ? kvmppc_get_gpr(vcpu, ax_ra) : 0) +
1115 kvmppc_get_gpr(vcpu, ax_rb);
1116
1117 emulated = kvmppc_emulate_fpr_store(run, vcpu, ax_rd,
1118 addr,
1119 FPU_LS_SINGLE_LOW);
1120 break;
1121 }
1122 break;
1123 }
1124 break;
1125 case 59:
1126 switch (inst_get_field(inst, 21, 30)) {
1127 case OP_59_FADDS:
1128 fpd_fadds(&vcpu->arch.fpscr, &cr, fpr_d, fpr_a, fpr_b);
1129 kvmppc_sync_qpr(vcpu, ax_rd);
1130 break;
1131 case OP_59_FSUBS:
1132 fpd_fsubs(&vcpu->arch.fpscr, &cr, fpr_d, fpr_a, fpr_b);
1133 kvmppc_sync_qpr(vcpu, ax_rd);
1134 break;
1135 case OP_59_FDIVS:
1136 fpd_fdivs(&vcpu->arch.fpscr, &cr, fpr_d, fpr_a, fpr_b);
1137 kvmppc_sync_qpr(vcpu, ax_rd);
1138 break;
1139 case OP_59_FRES:
1140 fpd_fres(&vcpu->arch.fpscr, &cr, fpr_d, fpr_b);
1141 kvmppc_sync_qpr(vcpu, ax_rd);
1142 break;
1143 case OP_59_FRSQRTES:
1144 fpd_frsqrtes(&vcpu->arch.fpscr, &cr, fpr_d, fpr_b);
1145 kvmppc_sync_qpr(vcpu, ax_rd);
1146 break;
1147 }
1148 switch (inst_get_field(inst, 26, 30)) {
1149 case OP_59_FMULS:
1150 fpd_fmuls(&vcpu->arch.fpscr, &cr, fpr_d, fpr_a, fpr_c);
1151 kvmppc_sync_qpr(vcpu, ax_rd);
1152 break;
1153 case OP_59_FMSUBS:
1154 fpd_fmsubs(&vcpu->arch.fpscr, &cr, fpr_d, fpr_a, fpr_c, fpr_b);
1155 kvmppc_sync_qpr(vcpu, ax_rd);
1156 break;
1157 case OP_59_FMADDS:
1158 fpd_fmadds(&vcpu->arch.fpscr, &cr, fpr_d, fpr_a, fpr_c, fpr_b);
1159 kvmppc_sync_qpr(vcpu, ax_rd);
1160 break;
1161 case OP_59_FNMSUBS:
1162 fpd_fnmsubs(&vcpu->arch.fpscr, &cr, fpr_d, fpr_a, fpr_c, fpr_b);
1163 kvmppc_sync_qpr(vcpu, ax_rd);
1164 break;
1165 case OP_59_FNMADDS:
1166 fpd_fnmadds(&vcpu->arch.fpscr, &cr, fpr_d, fpr_a, fpr_c, fpr_b);
1167 kvmppc_sync_qpr(vcpu, ax_rd);
1168 break;
1169 }
1170 break;
1171 case 63:
1172 switch (inst_get_field(inst, 21, 30)) {
1173 case OP_63_MTFSB0:
1174 case OP_63_MTFSB1:
1175 case OP_63_MCRFS:
1176 case OP_63_MTFSFI:
1177 /* XXX need to implement */
1178 break;
1179 case OP_63_MFFS:
1180 /* XXX missing CR */
1181 *fpr_d = vcpu->arch.fpscr;
1182 break;
1183 case OP_63_MTFSF:
1184 /* XXX missing fm bits */
1185 /* XXX missing CR */
1186 vcpu->arch.fpscr = *fpr_b;
1187 break;
1188 case OP_63_FCMPU:
1189 {
1190 u32 tmp_cr;
1191 u32 cr0_mask = 0xf0000000;
1192 u32 cr_shift = inst_get_field(inst, 6, 8) * 4;
1193
1194 fpd_fcmpu(&vcpu->arch.fpscr, &tmp_cr, fpr_a, fpr_b);
1195 cr &= ~(cr0_mask >> cr_shift);
1196 cr |= (cr & cr0_mask) >> cr_shift;
1197 break;
1198 }
1199 case OP_63_FCMPO:
1200 {
1201 u32 tmp_cr;
1202 u32 cr0_mask = 0xf0000000;
1203 u32 cr_shift = inst_get_field(inst, 6, 8) * 4;
1204
1205 fpd_fcmpo(&vcpu->arch.fpscr, &tmp_cr, fpr_a, fpr_b);
1206 cr &= ~(cr0_mask >> cr_shift);
1207 cr |= (cr & cr0_mask) >> cr_shift;
1208 break;
1209 }
1210 case OP_63_FNEG:
1211 fpd_fneg(&vcpu->arch.fpscr, &cr, fpr_d, fpr_b);
1212 break;
1213 case OP_63_FMR:
1214 *fpr_d = *fpr_b;
1215 break;
1216 case OP_63_FABS:
1217 fpd_fabs(&vcpu->arch.fpscr, &cr, fpr_d, fpr_b);
1218 break;
1219 case OP_63_FCPSGN:
1220 fpd_fcpsgn(&vcpu->arch.fpscr, &cr, fpr_d, fpr_a, fpr_b);
1221 break;
1222 case OP_63_FDIV:
1223 fpd_fdiv(&vcpu->arch.fpscr, &cr, fpr_d, fpr_a, fpr_b);
1224 break;
1225 case OP_63_FADD:
1226 fpd_fadd(&vcpu->arch.fpscr, &cr, fpr_d, fpr_a, fpr_b);
1227 break;
1228 case OP_63_FSUB:
1229 fpd_fsub(&vcpu->arch.fpscr, &cr, fpr_d, fpr_a, fpr_b);
1230 break;
1231 case OP_63_FCTIW:
1232 fpd_fctiw(&vcpu->arch.fpscr, &cr, fpr_d, fpr_b);
1233 break;
1234 case OP_63_FCTIWZ:
1235 fpd_fctiwz(&vcpu->arch.fpscr, &cr, fpr_d, fpr_b);
1236 break;
1237 case OP_63_FRSP:
1238 fpd_frsp(&vcpu->arch.fpscr, &cr, fpr_d, fpr_b);
1239 kvmppc_sync_qpr(vcpu, ax_rd);
1240 break;
1241 case OP_63_FRSQRTE:
1242 {
1243 double one = 1.0f;
1244
1245 /* fD = sqrt(fB) */
1246 fpd_fsqrt(&vcpu->arch.fpscr, &cr, fpr_d, fpr_b);
1247 /* fD = 1.0f / fD */
1248 fpd_fdiv(&vcpu->arch.fpscr, &cr, fpr_d, (u64*)&one, fpr_d);
1249 break;
1250 }
1251 }
1252 switch (inst_get_field(inst, 26, 30)) {
1253 case OP_63_FMUL:
1254 fpd_fmul(&vcpu->arch.fpscr, &cr, fpr_d, fpr_a, fpr_c);
1255 break;
1256 case OP_63_FSEL:
1257 fpd_fsel(&vcpu->arch.fpscr, &cr, fpr_d, fpr_a, fpr_c, fpr_b);
1258 break;
1259 case OP_63_FMSUB:
1260 fpd_fmsub(&vcpu->arch.fpscr, &cr, fpr_d, fpr_a, fpr_c, fpr_b);
1261 break;
1262 case OP_63_FMADD:
1263 fpd_fmadd(&vcpu->arch.fpscr, &cr, fpr_d, fpr_a, fpr_c, fpr_b);
1264 break;
1265 case OP_63_FNMSUB:
1266 fpd_fnmsub(&vcpu->arch.fpscr, &cr, fpr_d, fpr_a, fpr_c, fpr_b);
1267 break;
1268 case OP_63_FNMADD:
1269 fpd_fnmadd(&vcpu->arch.fpscr, &cr, fpr_d, fpr_a, fpr_c, fpr_b);
1270 break;
1271 }
1272 break;
1273 }
1274
1275#ifdef DEBUG
1276 for (i = 0; i < ARRAY_SIZE(vcpu->arch.fpr); i++) {
1277 u32 f;
1278 cvt_df((double*)&vcpu->arch.fpr[i], (float*)&f, &t);
1279 dprintk(KERN_INFO "FPR[%d] = 0x%x\n", i, f);
1280 }
1281#endif
1282
1283 if (rcomp)
1284 kvmppc_set_cr(vcpu, cr);
1285
1286 preempt_enable();
1287
1288 return emulated;
1289}
diff --git a/arch/powerpc/kvm/book3s_rmhandlers.S b/arch/powerpc/kvm/book3s_rmhandlers.S
new file mode 100644
index 000000000000..506d5c316c96
--- /dev/null
+++ b/arch/powerpc/kvm/book3s_rmhandlers.S
@@ -0,0 +1,251 @@
1/*
2 * This program is free software; you can redistribute it and/or modify
3 * it under the terms of the GNU General Public License, version 2, as
4 * published by the Free Software Foundation.
5 *
6 * This program is distributed in the hope that it will be useful,
7 * but WITHOUT ANY WARRANTY; without even the implied warranty of
8 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
9 * GNU General Public License for more details.
10 *
11 * You should have received a copy of the GNU General Public License
12 * along with this program; if not, write to the Free Software
13 * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
14 *
15 * Copyright SUSE Linux Products GmbH 2009
16 *
17 * Authors: Alexander Graf <agraf@suse.de>
18 */
19
20#include <asm/ppc_asm.h>
21#include <asm/kvm_asm.h>
22#include <asm/reg.h>
23#include <asm/page.h>
24#include <asm/asm-offsets.h>
25
26#ifdef CONFIG_PPC_BOOK3S_64
27#include <asm/exception-64s.h>
28#endif
29
30/*****************************************************************************
31 * *
32 * Real Mode handlers that need to be in low physical memory *
33 * *
34 ****************************************************************************/
35
36#if defined(CONFIG_PPC_BOOK3S_64)
37
38#define LOAD_SHADOW_VCPU(reg) \
39 mfspr reg, SPRN_SPRG_PACA
40
41#define SHADOW_VCPU_OFF PACA_KVM_SVCPU
42#define MSR_NOIRQ MSR_KERNEL & ~(MSR_IR | MSR_DR)
43#define FUNC(name) GLUE(.,name)
44
45#elif defined(CONFIG_PPC_BOOK3S_32)
46
47#define LOAD_SHADOW_VCPU(reg) \
48 mfspr reg, SPRN_SPRG_THREAD; \
49 lwz reg, THREAD_KVM_SVCPU(reg); \
50 /* PPC32 can have a NULL pointer - let's check for that */ \
51 mtspr SPRN_SPRG_SCRATCH1, r12; /* Save r12 */ \
52 mfcr r12; \
53 cmpwi reg, 0; \
54 bne 1f; \
55 mfspr reg, SPRN_SPRG_SCRATCH0; \
56 mtcr r12; \
57 mfspr r12, SPRN_SPRG_SCRATCH1; \
58 b kvmppc_resume_\intno; \
591:; \
60 mtcr r12; \
61 mfspr r12, SPRN_SPRG_SCRATCH1; \
62 tophys(reg, reg)
63
64#define SHADOW_VCPU_OFF 0
65#define MSR_NOIRQ MSR_KERNEL
66#define FUNC(name) name
67
68#endif
69
70.macro INTERRUPT_TRAMPOLINE intno
71
72.global kvmppc_trampoline_\intno
73kvmppc_trampoline_\intno:
74
75 mtspr SPRN_SPRG_SCRATCH0, r13 /* Save r13 */
76
77 /*
78 * First thing to do is to find out if we're coming
79 * from a KVM guest or a Linux process.
80 *
81 * To distinguish, we check a magic byte in the PACA/current
82 */
83 LOAD_SHADOW_VCPU(r13)
84 PPC_STL r12, (SHADOW_VCPU_OFF + SVCPU_SCRATCH0)(r13)
85 mfcr r12
86 stw r12, (SHADOW_VCPU_OFF + SVCPU_SCRATCH1)(r13)
87 lbz r12, (SHADOW_VCPU_OFF + SVCPU_IN_GUEST)(r13)
88 cmpwi r12, KVM_GUEST_MODE_NONE
89 bne ..kvmppc_handler_hasmagic_\intno
90 /* No KVM guest? Then jump back to the Linux handler! */
91 lwz r12, (SHADOW_VCPU_OFF + SVCPU_SCRATCH1)(r13)
92 mtcr r12
93 PPC_LL r12, (SHADOW_VCPU_OFF + SVCPU_SCRATCH0)(r13)
94 mfspr r13, SPRN_SPRG_SCRATCH0 /* r13 = original r13 */
95 b kvmppc_resume_\intno /* Get back original handler */
96
97 /* Now we know we're handling a KVM guest */
98..kvmppc_handler_hasmagic_\intno:
99
100 /* Should we just skip the faulting instruction? */
101 cmpwi r12, KVM_GUEST_MODE_SKIP
102 beq kvmppc_handler_skip_ins
103
104 /* Let's store which interrupt we're handling */
105 li r12, \intno
106
107 /* Jump into the SLB exit code that goes to the highmem handler */
108 b kvmppc_handler_trampoline_exit
109
110.endm
111
112INTERRUPT_TRAMPOLINE BOOK3S_INTERRUPT_SYSTEM_RESET
113INTERRUPT_TRAMPOLINE BOOK3S_INTERRUPT_MACHINE_CHECK
114INTERRUPT_TRAMPOLINE BOOK3S_INTERRUPT_DATA_STORAGE
115INTERRUPT_TRAMPOLINE BOOK3S_INTERRUPT_INST_STORAGE
116INTERRUPT_TRAMPOLINE BOOK3S_INTERRUPT_EXTERNAL
117INTERRUPT_TRAMPOLINE BOOK3S_INTERRUPT_ALIGNMENT
118INTERRUPT_TRAMPOLINE BOOK3S_INTERRUPT_PROGRAM
119INTERRUPT_TRAMPOLINE BOOK3S_INTERRUPT_FP_UNAVAIL
120INTERRUPT_TRAMPOLINE BOOK3S_INTERRUPT_DECREMENTER
121INTERRUPT_TRAMPOLINE BOOK3S_INTERRUPT_SYSCALL
122INTERRUPT_TRAMPOLINE BOOK3S_INTERRUPT_TRACE
123INTERRUPT_TRAMPOLINE BOOK3S_INTERRUPT_PERFMON
124INTERRUPT_TRAMPOLINE BOOK3S_INTERRUPT_ALTIVEC
125
126/* Those are only available on 64 bit machines */
127
128#ifdef CONFIG_PPC_BOOK3S_64
129INTERRUPT_TRAMPOLINE BOOK3S_INTERRUPT_DATA_SEGMENT
130INTERRUPT_TRAMPOLINE BOOK3S_INTERRUPT_INST_SEGMENT
131INTERRUPT_TRAMPOLINE BOOK3S_INTERRUPT_VSX
132#endif
133
134/*
135 * Bring us back to the faulting code, but skip the
136 * faulting instruction.
137 *
138 * This is a generic exit path from the interrupt
139 * trampolines above.
140 *
141 * Input Registers:
142 *
143 * R12 = free
144 * R13 = Shadow VCPU (PACA)
145 * SVCPU.SCRATCH0 = guest R12
146 * SVCPU.SCRATCH1 = guest CR
147 * SPRG_SCRATCH0 = guest R13
148 *
149 */
150kvmppc_handler_skip_ins:
151
152 /* Patch the IP to the next instruction */
153 mfsrr0 r12
154 addi r12, r12, 4
155 mtsrr0 r12
156
157 /* Clean up all state */
158 lwz r12, (SHADOW_VCPU_OFF + SVCPU_SCRATCH1)(r13)
159 mtcr r12
160 PPC_LL r12, (SHADOW_VCPU_OFF + SVCPU_SCRATCH0)(r13)
161 mfspr r13, SPRN_SPRG_SCRATCH0
162
163 /* And get back into the code */
164 RFI
165
166/*
167 * This trampoline brings us back to a real mode handler
168 *
169 * Input Registers:
170 *
171 * R5 = SRR0
172 * R6 = SRR1
173 * LR = real-mode IP
174 *
175 */
176.global kvmppc_handler_lowmem_trampoline
177kvmppc_handler_lowmem_trampoline:
178
179 mtsrr0 r5
180 mtsrr1 r6
181 blr
182kvmppc_handler_lowmem_trampoline_end:
183
184/*
185 * Call a function in real mode
186 *
187 * Input Registers:
188 *
189 * R3 = function
190 * R4 = MSR
191 * R5 = scratch register
192 *
193 */
194_GLOBAL(kvmppc_rmcall)
195 LOAD_REG_IMMEDIATE(r5, MSR_NOIRQ)
196 mtmsr r5 /* Disable relocation and interrupts, so mtsrr
197 doesn't get interrupted */
198 sync
199 mtsrr0 r3
200 mtsrr1 r4
201 RFI
202
203#if defined(CONFIG_PPC_BOOK3S_32)
204#define STACK_LR INT_FRAME_SIZE+4
205#elif defined(CONFIG_PPC_BOOK3S_64)
206#define STACK_LR _LINK
207#endif
208
209/*
210 * Activate current's external feature (FPU/Altivec/VSX)
211 */
212#define define_load_up(what) \
213 \
214_GLOBAL(kvmppc_load_up_ ## what); \
215 PPC_STLU r1, -INT_FRAME_SIZE(r1); \
216 mflr r3; \
217 PPC_STL r3, STACK_LR(r1); \
218 PPC_STL r20, _NIP(r1); \
219 mfmsr r20; \
220 LOAD_REG_IMMEDIATE(r3, MSR_DR|MSR_EE); \
221 andc r3,r20,r3; /* Disable DR,EE */ \
222 mtmsr r3; \
223 sync; \
224 \
225 bl FUNC(load_up_ ## what); \
226 \
227 mtmsr r20; /* Enable DR,EE */ \
228 sync; \
229 PPC_LL r3, STACK_LR(r1); \
230 PPC_LL r20, _NIP(r1); \
231 mtlr r3; \
232 addi r1, r1, INT_FRAME_SIZE; \
233 blr
234
235define_load_up(fpu)
236#ifdef CONFIG_ALTIVEC
237define_load_up(altivec)
238#endif
239#ifdef CONFIG_VSX
240define_load_up(vsx)
241#endif
242
243.global kvmppc_trampoline_lowmem
244kvmppc_trampoline_lowmem:
245 .long kvmppc_handler_lowmem_trampoline - CONFIG_KERNEL_START
246
247.global kvmppc_trampoline_enter
248kvmppc_trampoline_enter:
249 .long kvmppc_handler_trampoline_enter - CONFIG_KERNEL_START
250
251#include "book3s_segment.S"
diff --git a/arch/powerpc/kvm/book3s_segment.S b/arch/powerpc/kvm/book3s_segment.S
new file mode 100644
index 000000000000..7c52ed0b7051
--- /dev/null
+++ b/arch/powerpc/kvm/book3s_segment.S
@@ -0,0 +1,259 @@
1/*
2 * This program is free software; you can redistribute it and/or modify
3 * it under the terms of the GNU General Public License, version 2, as
4 * published by the Free Software Foundation.
5 *
6 * This program is distributed in the hope that it will be useful,
7 * but WITHOUT ANY WARRANTY; without even the implied warranty of
8 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
9 * GNU General Public License for more details.
10 *
11 * You should have received a copy of the GNU General Public License
12 * along with this program; if not, write to the Free Software
13 * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
14 *
15 * Copyright SUSE Linux Products GmbH 2010
16 *
17 * Authors: Alexander Graf <agraf@suse.de>
18 */
19
20/* Real mode helpers */
21
22#if defined(CONFIG_PPC_BOOK3S_64)
23
24#define GET_SHADOW_VCPU(reg) \
25 addi reg, r13, PACA_KVM_SVCPU
26
27#elif defined(CONFIG_PPC_BOOK3S_32)
28
29#define GET_SHADOW_VCPU(reg) \
30 tophys(reg, r2); \
31 lwz reg, (THREAD + THREAD_KVM_SVCPU)(reg); \
32 tophys(reg, reg)
33
34#endif
35
36/* Disable for nested KVM */
37#define USE_QUICK_LAST_INST
38
39
40/* Get helper functions for subarch specific functionality */
41
42#if defined(CONFIG_PPC_BOOK3S_64)
43#include "book3s_64_slb.S"
44#elif defined(CONFIG_PPC_BOOK3S_32)
45#include "book3s_32_sr.S"
46#endif
47
48/******************************************************************************
49 * *
50 * Entry code *
51 * *
52 *****************************************************************************/
53
54.global kvmppc_handler_trampoline_enter
55kvmppc_handler_trampoline_enter:
56
57 /* Required state:
58 *
59 * MSR = ~IR|DR
60 * R13 = PACA
61 * R1 = host R1
62 * R2 = host R2
63 * R10 = guest MSR
64 * all other volatile GPRS = free
65 * SVCPU[CR] = guest CR
66 * SVCPU[XER] = guest XER
67 * SVCPU[CTR] = guest CTR
68 * SVCPU[LR] = guest LR
69 */
70
71 /* r3 = shadow vcpu */
72 GET_SHADOW_VCPU(r3)
73
74 /* Move SRR0 and SRR1 into the respective regs */
75 PPC_LL r9, SVCPU_PC(r3)
76 mtsrr0 r9
77 mtsrr1 r10
78
79 /* Activate guest mode, so faults get handled by KVM */
80 li r11, KVM_GUEST_MODE_GUEST
81 stb r11, SVCPU_IN_GUEST(r3)
82
83 /* Switch to guest segment. This is subarch specific. */
84 LOAD_GUEST_SEGMENTS
85
86 /* Enter guest */
87
88 PPC_LL r4, (SVCPU_CTR)(r3)
89 PPC_LL r5, (SVCPU_LR)(r3)
90 lwz r6, (SVCPU_CR)(r3)
91 lwz r7, (SVCPU_XER)(r3)
92
93 mtctr r4
94 mtlr r5
95 mtcr r6
96 mtxer r7
97
98 PPC_LL r0, (SVCPU_R0)(r3)
99 PPC_LL r1, (SVCPU_R1)(r3)
100 PPC_LL r2, (SVCPU_R2)(r3)
101 PPC_LL r4, (SVCPU_R4)(r3)
102 PPC_LL r5, (SVCPU_R5)(r3)
103 PPC_LL r6, (SVCPU_R6)(r3)
104 PPC_LL r7, (SVCPU_R7)(r3)
105 PPC_LL r8, (SVCPU_R8)(r3)
106 PPC_LL r9, (SVCPU_R9)(r3)
107 PPC_LL r10, (SVCPU_R10)(r3)
108 PPC_LL r11, (SVCPU_R11)(r3)
109 PPC_LL r12, (SVCPU_R12)(r3)
110 PPC_LL r13, (SVCPU_R13)(r3)
111
112 PPC_LL r3, (SVCPU_R3)(r3)
113
114 RFI
115kvmppc_handler_trampoline_enter_end:
116
117
118
119/******************************************************************************
120 * *
121 * Exit code *
122 * *
123 *****************************************************************************/
124
125.global kvmppc_handler_trampoline_exit
126kvmppc_handler_trampoline_exit:
127
128 /* Register usage at this point:
129 *
130 * SPRG_SCRATCH0 = guest R13
131 * R12 = exit handler id
132 * R13 = shadow vcpu - SHADOW_VCPU_OFF [=PACA on PPC64]
133 * SVCPU.SCRATCH0 = guest R12
134 * SVCPU.SCRATCH1 = guest CR
135 *
136 */
137
138 /* Save registers */
139
140 PPC_STL r0, (SHADOW_VCPU_OFF + SVCPU_R0)(r13)
141 PPC_STL r1, (SHADOW_VCPU_OFF + SVCPU_R1)(r13)
142 PPC_STL r2, (SHADOW_VCPU_OFF + SVCPU_R2)(r13)
143 PPC_STL r3, (SHADOW_VCPU_OFF + SVCPU_R3)(r13)
144 PPC_STL r4, (SHADOW_VCPU_OFF + SVCPU_R4)(r13)
145 PPC_STL r5, (SHADOW_VCPU_OFF + SVCPU_R5)(r13)
146 PPC_STL r6, (SHADOW_VCPU_OFF + SVCPU_R6)(r13)
147 PPC_STL r7, (SHADOW_VCPU_OFF + SVCPU_R7)(r13)
148 PPC_STL r8, (SHADOW_VCPU_OFF + SVCPU_R8)(r13)
149 PPC_STL r9, (SHADOW_VCPU_OFF + SVCPU_R9)(r13)
150 PPC_STL r10, (SHADOW_VCPU_OFF + SVCPU_R10)(r13)
151 PPC_STL r11, (SHADOW_VCPU_OFF + SVCPU_R11)(r13)
152
153 /* Restore R1/R2 so we can handle faults */
154 PPC_LL r1, (SHADOW_VCPU_OFF + SVCPU_HOST_R1)(r13)
155 PPC_LL r2, (SHADOW_VCPU_OFF + SVCPU_HOST_R2)(r13)
156
157 /* Save guest PC and MSR */
158 mfsrr0 r3
159 mfsrr1 r4
160
161 PPC_STL r3, (SHADOW_VCPU_OFF + SVCPU_PC)(r13)
162 PPC_STL r4, (SHADOW_VCPU_OFF + SVCPU_SHADOW_SRR1)(r13)
163
164 /* Get scratch'ed off registers */
165 mfspr r9, SPRN_SPRG_SCRATCH0
166 PPC_LL r8, (SHADOW_VCPU_OFF + SVCPU_SCRATCH0)(r13)
167 lwz r7, (SHADOW_VCPU_OFF + SVCPU_SCRATCH1)(r13)
168
169 PPC_STL r9, (SHADOW_VCPU_OFF + SVCPU_R13)(r13)
170 PPC_STL r8, (SHADOW_VCPU_OFF + SVCPU_R12)(r13)
171 stw r7, (SHADOW_VCPU_OFF + SVCPU_CR)(r13)
172
173 /* Save more register state */
174
175 mfxer r5
176 mfdar r6
177 mfdsisr r7
178 mfctr r8
179 mflr r9
180
181 stw r5, (SHADOW_VCPU_OFF + SVCPU_XER)(r13)
182 PPC_STL r6, (SHADOW_VCPU_OFF + SVCPU_FAULT_DAR)(r13)
183 stw r7, (SHADOW_VCPU_OFF + SVCPU_FAULT_DSISR)(r13)
184 PPC_STL r8, (SHADOW_VCPU_OFF + SVCPU_CTR)(r13)
185 PPC_STL r9, (SHADOW_VCPU_OFF + SVCPU_LR)(r13)
186
187 /*
188 * In order for us to easily get the last instruction,
189 * we got the #vmexit at, we exploit the fact that the
190 * virtual layout is still the same here, so we can just
191 * ld from the guest's PC address
192 */
193
194 /* We only load the last instruction when it's safe */
195 cmpwi r12, BOOK3S_INTERRUPT_DATA_STORAGE
196 beq ld_last_inst
197 cmpwi r12, BOOK3S_INTERRUPT_PROGRAM
198 beq ld_last_inst
199 cmpwi r12, BOOK3S_INTERRUPT_ALIGNMENT
200 beq- ld_last_inst
201
202 b no_ld_last_inst
203
204ld_last_inst:
205 /* Save off the guest instruction we're at */
206
207 /* In case lwz faults */
208 li r0, KVM_INST_FETCH_FAILED
209
210#ifdef USE_QUICK_LAST_INST
211
212 /* Set guest mode to 'jump over instruction' so if lwz faults
213 * we'll just continue at the next IP. */
214 li r9, KVM_GUEST_MODE_SKIP
215 stb r9, (SHADOW_VCPU_OFF + SVCPU_IN_GUEST)(r13)
216
217 /* 1) enable paging for data */
218 mfmsr r9
219 ori r11, r9, MSR_DR /* Enable paging for data */
220 mtmsr r11
221 sync
222 /* 2) fetch the instruction */
223 lwz r0, 0(r3)
224 /* 3) disable paging again */
225 mtmsr r9
226 sync
227
228#endif
229 stw r0, (SHADOW_VCPU_OFF + SVCPU_LAST_INST)(r13)
230
231no_ld_last_inst:
232
233 /* Unset guest mode */
234 li r9, KVM_GUEST_MODE_NONE
235 stb r9, (SHADOW_VCPU_OFF + SVCPU_IN_GUEST)(r13)
236
237 /* Switch back to host MMU */
238 LOAD_HOST_SEGMENTS
239
240 /* Register usage at this point:
241 *
242 * R1 = host R1
243 * R2 = host R2
244 * R12 = exit handler id
245 * R13 = shadow vcpu - SHADOW_VCPU_OFF [=PACA on PPC64]
246 * SVCPU.* = guest *
247 *
248 */
249
250 /* RFI into the highmem handler */
251 mfmsr r7
252 ori r7, r7, MSR_IR|MSR_DR|MSR_RI|MSR_ME /* Enable paging */
253 mtsrr1 r7
254 /* Load highmem handler address */
255 PPC_LL r8, (SHADOW_VCPU_OFF + SVCPU_VMHANDLER)(r13)
256 mtsrr0 r8
257
258 RFI
259kvmppc_handler_trampoline_exit_end:
diff --git a/arch/powerpc/kvm/booke.c b/arch/powerpc/kvm/booke.c
index 06f5a9ecc42c..a33ab8cc2ccc 100644
--- a/arch/powerpc/kvm/booke.c
+++ b/arch/powerpc/kvm/booke.c
@@ -21,6 +21,7 @@
21#include <linux/errno.h> 21#include <linux/errno.h>
22#include <linux/err.h> 22#include <linux/err.h>
23#include <linux/kvm_host.h> 23#include <linux/kvm_host.h>
24#include <linux/gfp.h>
24#include <linux/module.h> 25#include <linux/module.h>
25#include <linux/vmalloc.h> 26#include <linux/vmalloc.h>
26#include <linux/fs.h> 27#include <linux/fs.h>
@@ -69,10 +70,10 @@ void kvmppc_dump_vcpu(struct kvm_vcpu *vcpu)
69 70
70 for (i = 0; i < 32; i += 4) { 71 for (i = 0; i < 32; i += 4) {
71 printk("gpr%02d: %08lx %08lx %08lx %08lx\n", i, 72 printk("gpr%02d: %08lx %08lx %08lx %08lx\n", i,
72 vcpu->arch.gpr[i], 73 kvmppc_get_gpr(vcpu, i),
73 vcpu->arch.gpr[i+1], 74 kvmppc_get_gpr(vcpu, i+1),
74 vcpu->arch.gpr[i+2], 75 kvmppc_get_gpr(vcpu, i+2),
75 vcpu->arch.gpr[i+3]); 76 kvmppc_get_gpr(vcpu, i+3));
76 } 77 }
77} 78}
78 79
@@ -82,8 +83,32 @@ static void kvmppc_booke_queue_irqprio(struct kvm_vcpu *vcpu,
82 set_bit(priority, &vcpu->arch.pending_exceptions); 83 set_bit(priority, &vcpu->arch.pending_exceptions);
83} 84}
84 85
85void kvmppc_core_queue_program(struct kvm_vcpu *vcpu) 86static void kvmppc_core_queue_dtlb_miss(struct kvm_vcpu *vcpu,
87 ulong dear_flags, ulong esr_flags)
86{ 88{
89 vcpu->arch.queued_dear = dear_flags;
90 vcpu->arch.queued_esr = esr_flags;
91 kvmppc_booke_queue_irqprio(vcpu, BOOKE_IRQPRIO_DTLB_MISS);
92}
93
94static void kvmppc_core_queue_data_storage(struct kvm_vcpu *vcpu,
95 ulong dear_flags, ulong esr_flags)
96{
97 vcpu->arch.queued_dear = dear_flags;
98 vcpu->arch.queued_esr = esr_flags;
99 kvmppc_booke_queue_irqprio(vcpu, BOOKE_IRQPRIO_DATA_STORAGE);
100}
101
102static void kvmppc_core_queue_inst_storage(struct kvm_vcpu *vcpu,
103 ulong esr_flags)
104{
105 vcpu->arch.queued_esr = esr_flags;
106 kvmppc_booke_queue_irqprio(vcpu, BOOKE_IRQPRIO_INST_STORAGE);
107}
108
109void kvmppc_core_queue_program(struct kvm_vcpu *vcpu, ulong esr_flags)
110{
111 vcpu->arch.queued_esr = esr_flags;
87 kvmppc_booke_queue_irqprio(vcpu, BOOKE_IRQPRIO_PROGRAM); 112 kvmppc_booke_queue_irqprio(vcpu, BOOKE_IRQPRIO_PROGRAM);
88} 113}
89 114
@@ -97,26 +122,42 @@ int kvmppc_core_pending_dec(struct kvm_vcpu *vcpu)
97 return test_bit(BOOKE_IRQPRIO_DECREMENTER, &vcpu->arch.pending_exceptions); 122 return test_bit(BOOKE_IRQPRIO_DECREMENTER, &vcpu->arch.pending_exceptions);
98} 123}
99 124
125void kvmppc_core_dequeue_dec(struct kvm_vcpu *vcpu)
126{
127 clear_bit(BOOKE_IRQPRIO_DECREMENTER, &vcpu->arch.pending_exceptions);
128}
129
100void kvmppc_core_queue_external(struct kvm_vcpu *vcpu, 130void kvmppc_core_queue_external(struct kvm_vcpu *vcpu,
101 struct kvm_interrupt *irq) 131 struct kvm_interrupt *irq)
102{ 132{
103 kvmppc_booke_queue_irqprio(vcpu, BOOKE_IRQPRIO_EXTERNAL); 133 kvmppc_booke_queue_irqprio(vcpu, BOOKE_IRQPRIO_EXTERNAL);
104} 134}
105 135
136void kvmppc_core_dequeue_external(struct kvm_vcpu *vcpu,
137 struct kvm_interrupt *irq)
138{
139 clear_bit(BOOKE_IRQPRIO_EXTERNAL, &vcpu->arch.pending_exceptions);
140}
141
106/* Deliver the interrupt of the corresponding priority, if possible. */ 142/* Deliver the interrupt of the corresponding priority, if possible. */
107static int kvmppc_booke_irqprio_deliver(struct kvm_vcpu *vcpu, 143static int kvmppc_booke_irqprio_deliver(struct kvm_vcpu *vcpu,
108 unsigned int priority) 144 unsigned int priority)
109{ 145{
110 int allowed = 0; 146 int allowed = 0;
111 ulong msr_mask; 147 ulong msr_mask;
148 bool update_esr = false, update_dear = false;
112 149
113 switch (priority) { 150 switch (priority) {
114 case BOOKE_IRQPRIO_PROGRAM:
115 case BOOKE_IRQPRIO_DTLB_MISS: 151 case BOOKE_IRQPRIO_DTLB_MISS:
116 case BOOKE_IRQPRIO_ITLB_MISS:
117 case BOOKE_IRQPRIO_SYSCALL:
118 case BOOKE_IRQPRIO_DATA_STORAGE: 152 case BOOKE_IRQPRIO_DATA_STORAGE:
153 update_dear = true;
154 /* fall through */
119 case BOOKE_IRQPRIO_INST_STORAGE: 155 case BOOKE_IRQPRIO_INST_STORAGE:
156 case BOOKE_IRQPRIO_PROGRAM:
157 update_esr = true;
158 /* fall through */
159 case BOOKE_IRQPRIO_ITLB_MISS:
160 case BOOKE_IRQPRIO_SYSCALL:
120 case BOOKE_IRQPRIO_FP_UNAVAIL: 161 case BOOKE_IRQPRIO_FP_UNAVAIL:
121 case BOOKE_IRQPRIO_SPE_UNAVAIL: 162 case BOOKE_IRQPRIO_SPE_UNAVAIL:
122 case BOOKE_IRQPRIO_SPE_FP_DATA: 163 case BOOKE_IRQPRIO_SPE_FP_DATA:
@@ -151,6 +192,10 @@ static int kvmppc_booke_irqprio_deliver(struct kvm_vcpu *vcpu,
151 vcpu->arch.srr0 = vcpu->arch.pc; 192 vcpu->arch.srr0 = vcpu->arch.pc;
152 vcpu->arch.srr1 = vcpu->arch.msr; 193 vcpu->arch.srr1 = vcpu->arch.msr;
153 vcpu->arch.pc = vcpu->arch.ivpr | vcpu->arch.ivor[priority]; 194 vcpu->arch.pc = vcpu->arch.ivpr | vcpu->arch.ivor[priority];
195 if (update_esr == true)
196 vcpu->arch.esr = vcpu->arch.queued_esr;
197 if (update_dear == true)
198 vcpu->arch.dear = vcpu->arch.queued_dear;
154 kvmppc_set_msr(vcpu, vcpu->arch.msr & msr_mask); 199 kvmppc_set_msr(vcpu, vcpu->arch.msr & msr_mask);
155 200
156 clear_bit(priority, &vcpu->arch.pending_exceptions); 201 clear_bit(priority, &vcpu->arch.pending_exceptions);
@@ -223,8 +268,7 @@ int kvmppc_handle_exit(struct kvm_run *run, struct kvm_vcpu *vcpu,
223 if (vcpu->arch.msr & MSR_PR) { 268 if (vcpu->arch.msr & MSR_PR) {
224 /* Program traps generated by user-level software must be handled 269 /* Program traps generated by user-level software must be handled
225 * by the guest kernel. */ 270 * by the guest kernel. */
226 vcpu->arch.esr = vcpu->arch.fault_esr; 271 kvmppc_core_queue_program(vcpu, vcpu->arch.fault_esr);
227 kvmppc_booke_queue_irqprio(vcpu, BOOKE_IRQPRIO_PROGRAM);
228 r = RESUME_GUEST; 272 r = RESUME_GUEST;
229 kvmppc_account_exit(vcpu, USR_PR_INST); 273 kvmppc_account_exit(vcpu, USR_PR_INST);
230 break; 274 break;
@@ -280,16 +324,14 @@ int kvmppc_handle_exit(struct kvm_run *run, struct kvm_vcpu *vcpu,
280 break; 324 break;
281 325
282 case BOOKE_INTERRUPT_DATA_STORAGE: 326 case BOOKE_INTERRUPT_DATA_STORAGE:
283 vcpu->arch.dear = vcpu->arch.fault_dear; 327 kvmppc_core_queue_data_storage(vcpu, vcpu->arch.fault_dear,
284 vcpu->arch.esr = vcpu->arch.fault_esr; 328 vcpu->arch.fault_esr);
285 kvmppc_booke_queue_irqprio(vcpu, BOOKE_IRQPRIO_DATA_STORAGE);
286 kvmppc_account_exit(vcpu, DSI_EXITS); 329 kvmppc_account_exit(vcpu, DSI_EXITS);
287 r = RESUME_GUEST; 330 r = RESUME_GUEST;
288 break; 331 break;
289 332
290 case BOOKE_INTERRUPT_INST_STORAGE: 333 case BOOKE_INTERRUPT_INST_STORAGE:
291 vcpu->arch.esr = vcpu->arch.fault_esr; 334 kvmppc_core_queue_inst_storage(vcpu, vcpu->arch.fault_esr);
292 kvmppc_booke_queue_irqprio(vcpu, BOOKE_IRQPRIO_INST_STORAGE);
293 kvmppc_account_exit(vcpu, ISI_EXITS); 335 kvmppc_account_exit(vcpu, ISI_EXITS);
294 r = RESUME_GUEST; 336 r = RESUME_GUEST;
295 break; 337 break;
@@ -310,9 +352,9 @@ int kvmppc_handle_exit(struct kvm_run *run, struct kvm_vcpu *vcpu,
310 gtlb_index = kvmppc_mmu_dtlb_index(vcpu, eaddr); 352 gtlb_index = kvmppc_mmu_dtlb_index(vcpu, eaddr);
311 if (gtlb_index < 0) { 353 if (gtlb_index < 0) {
312 /* The guest didn't have a mapping for it. */ 354 /* The guest didn't have a mapping for it. */
313 kvmppc_booke_queue_irqprio(vcpu, BOOKE_IRQPRIO_DTLB_MISS); 355 kvmppc_core_queue_dtlb_miss(vcpu,
314 vcpu->arch.dear = vcpu->arch.fault_dear; 356 vcpu->arch.fault_dear,
315 vcpu->arch.esr = vcpu->arch.fault_esr; 357 vcpu->arch.fault_esr);
316 kvmppc_mmu_dtlb_miss(vcpu); 358 kvmppc_mmu_dtlb_miss(vcpu);
317 kvmppc_account_exit(vcpu, DTLB_REAL_MISS_EXITS); 359 kvmppc_account_exit(vcpu, DTLB_REAL_MISS_EXITS);
318 r = RESUME_GUEST; 360 r = RESUME_GUEST;
@@ -426,7 +468,7 @@ int kvm_arch_vcpu_setup(struct kvm_vcpu *vcpu)
426{ 468{
427 vcpu->arch.pc = 0; 469 vcpu->arch.pc = 0;
428 vcpu->arch.msr = 0; 470 vcpu->arch.msr = 0;
429 vcpu->arch.gpr[1] = (16<<20) - 8; /* -8 for the callee-save LR slot */ 471 kvmppc_set_gpr(vcpu, 1, (16<<20) - 8); /* -8 for the callee-save LR slot */
430 472
431 vcpu->arch.shadow_pid = 1; 473 vcpu->arch.shadow_pid = 1;
432 474
@@ -443,11 +485,13 @@ int kvm_arch_vcpu_ioctl_get_regs(struct kvm_vcpu *vcpu, struct kvm_regs *regs)
443{ 485{
444 int i; 486 int i;
445 487
488 vcpu_load(vcpu);
489
446 regs->pc = vcpu->arch.pc; 490 regs->pc = vcpu->arch.pc;
447 regs->cr = vcpu->arch.cr; 491 regs->cr = kvmppc_get_cr(vcpu);
448 regs->ctr = vcpu->arch.ctr; 492 regs->ctr = vcpu->arch.ctr;
449 regs->lr = vcpu->arch.lr; 493 regs->lr = vcpu->arch.lr;
450 regs->xer = vcpu->arch.xer; 494 regs->xer = kvmppc_get_xer(vcpu);
451 regs->msr = vcpu->arch.msr; 495 regs->msr = vcpu->arch.msr;
452 regs->srr0 = vcpu->arch.srr0; 496 regs->srr0 = vcpu->arch.srr0;
453 regs->srr1 = vcpu->arch.srr1; 497 regs->srr1 = vcpu->arch.srr1;
@@ -461,7 +505,9 @@ int kvm_arch_vcpu_ioctl_get_regs(struct kvm_vcpu *vcpu, struct kvm_regs *regs)
461 regs->sprg7 = vcpu->arch.sprg6; 505 regs->sprg7 = vcpu->arch.sprg6;
462 506
463 for (i = 0; i < ARRAY_SIZE(regs->gpr); i++) 507 for (i = 0; i < ARRAY_SIZE(regs->gpr); i++)
464 regs->gpr[i] = vcpu->arch.gpr[i]; 508 regs->gpr[i] = kvmppc_get_gpr(vcpu, i);
509
510 vcpu_put(vcpu);
465 511
466 return 0; 512 return 0;
467} 513}
@@ -470,11 +516,13 @@ int kvm_arch_vcpu_ioctl_set_regs(struct kvm_vcpu *vcpu, struct kvm_regs *regs)
470{ 516{
471 int i; 517 int i;
472 518
519 vcpu_load(vcpu);
520
473 vcpu->arch.pc = regs->pc; 521 vcpu->arch.pc = regs->pc;
474 vcpu->arch.cr = regs->cr; 522 kvmppc_set_cr(vcpu, regs->cr);
475 vcpu->arch.ctr = regs->ctr; 523 vcpu->arch.ctr = regs->ctr;
476 vcpu->arch.lr = regs->lr; 524 vcpu->arch.lr = regs->lr;
477 vcpu->arch.xer = regs->xer; 525 kvmppc_set_xer(vcpu, regs->xer);
478 kvmppc_set_msr(vcpu, regs->msr); 526 kvmppc_set_msr(vcpu, regs->msr);
479 vcpu->arch.srr0 = regs->srr0; 527 vcpu->arch.srr0 = regs->srr0;
480 vcpu->arch.srr1 = regs->srr1; 528 vcpu->arch.srr1 = regs->srr1;
@@ -486,8 +534,10 @@ int kvm_arch_vcpu_ioctl_set_regs(struct kvm_vcpu *vcpu, struct kvm_regs *regs)
486 vcpu->arch.sprg6 = regs->sprg5; 534 vcpu->arch.sprg6 = regs->sprg5;
487 vcpu->arch.sprg7 = regs->sprg6; 535 vcpu->arch.sprg7 = regs->sprg6;
488 536
489 for (i = 0; i < ARRAY_SIZE(vcpu->arch.gpr); i++) 537 for (i = 0; i < ARRAY_SIZE(regs->gpr); i++)
490 vcpu->arch.gpr[i] = regs->gpr[i]; 538 kvmppc_set_gpr(vcpu, i, regs->gpr[i]);
539
540 vcpu_put(vcpu);
491 541
492 return 0; 542 return 0;
493} 543}
@@ -517,7 +567,12 @@ int kvm_arch_vcpu_ioctl_set_fpu(struct kvm_vcpu *vcpu, struct kvm_fpu *fpu)
517int kvm_arch_vcpu_ioctl_translate(struct kvm_vcpu *vcpu, 567int kvm_arch_vcpu_ioctl_translate(struct kvm_vcpu *vcpu,
518 struct kvm_translation *tr) 568 struct kvm_translation *tr)
519{ 569{
520 return kvmppc_core_vcpu_translate(vcpu, tr); 570 int r;
571
572 vcpu_load(vcpu);
573 r = kvmppc_core_vcpu_translate(vcpu, tr);
574 vcpu_put(vcpu);
575 return r;
521} 576}
522 577
523int kvm_vm_ioctl_get_dirty_log(struct kvm *kvm, struct kvm_dirty_log *log) 578int kvm_vm_ioctl_get_dirty_log(struct kvm *kvm, struct kvm_dirty_log *log)
diff --git a/arch/powerpc/kvm/booke_emulate.c b/arch/powerpc/kvm/booke_emulate.c
index aebc65e93f4b..cbc790ee1928 100644
--- a/arch/powerpc/kvm/booke_emulate.c
+++ b/arch/powerpc/kvm/booke_emulate.c
@@ -62,20 +62,20 @@ int kvmppc_booke_emulate_op(struct kvm_run *run, struct kvm_vcpu *vcpu,
62 62
63 case OP_31_XOP_MFMSR: 63 case OP_31_XOP_MFMSR:
64 rt = get_rt(inst); 64 rt = get_rt(inst);
65 vcpu->arch.gpr[rt] = vcpu->arch.msr; 65 kvmppc_set_gpr(vcpu, rt, vcpu->arch.msr);
66 kvmppc_set_exit_type(vcpu, EMULATED_MFMSR_EXITS); 66 kvmppc_set_exit_type(vcpu, EMULATED_MFMSR_EXITS);
67 break; 67 break;
68 68
69 case OP_31_XOP_MTMSR: 69 case OP_31_XOP_MTMSR:
70 rs = get_rs(inst); 70 rs = get_rs(inst);
71 kvmppc_set_exit_type(vcpu, EMULATED_MTMSR_EXITS); 71 kvmppc_set_exit_type(vcpu, EMULATED_MTMSR_EXITS);
72 kvmppc_set_msr(vcpu, vcpu->arch.gpr[rs]); 72 kvmppc_set_msr(vcpu, kvmppc_get_gpr(vcpu, rs));
73 break; 73 break;
74 74
75 case OP_31_XOP_WRTEE: 75 case OP_31_XOP_WRTEE:
76 rs = get_rs(inst); 76 rs = get_rs(inst);
77 vcpu->arch.msr = (vcpu->arch.msr & ~MSR_EE) 77 vcpu->arch.msr = (vcpu->arch.msr & ~MSR_EE)
78 | (vcpu->arch.gpr[rs] & MSR_EE); 78 | (kvmppc_get_gpr(vcpu, rs) & MSR_EE);
79 kvmppc_set_exit_type(vcpu, EMULATED_WRTEE_EXITS); 79 kvmppc_set_exit_type(vcpu, EMULATED_WRTEE_EXITS);
80 break; 80 break;
81 81
@@ -101,22 +101,23 @@ int kvmppc_booke_emulate_op(struct kvm_run *run, struct kvm_vcpu *vcpu,
101int kvmppc_booke_emulate_mtspr(struct kvm_vcpu *vcpu, int sprn, int rs) 101int kvmppc_booke_emulate_mtspr(struct kvm_vcpu *vcpu, int sprn, int rs)
102{ 102{
103 int emulated = EMULATE_DONE; 103 int emulated = EMULATE_DONE;
104 ulong spr_val = kvmppc_get_gpr(vcpu, rs);
104 105
105 switch (sprn) { 106 switch (sprn) {
106 case SPRN_DEAR: 107 case SPRN_DEAR:
107 vcpu->arch.dear = vcpu->arch.gpr[rs]; break; 108 vcpu->arch.dear = spr_val; break;
108 case SPRN_ESR: 109 case SPRN_ESR:
109 vcpu->arch.esr = vcpu->arch.gpr[rs]; break; 110 vcpu->arch.esr = spr_val; break;
110 case SPRN_DBCR0: 111 case SPRN_DBCR0:
111 vcpu->arch.dbcr0 = vcpu->arch.gpr[rs]; break; 112 vcpu->arch.dbcr0 = spr_val; break;
112 case SPRN_DBCR1: 113 case SPRN_DBCR1:
113 vcpu->arch.dbcr1 = vcpu->arch.gpr[rs]; break; 114 vcpu->arch.dbcr1 = spr_val; break;
114 case SPRN_DBSR: 115 case SPRN_DBSR:
115 vcpu->arch.dbsr &= ~vcpu->arch.gpr[rs]; break; 116 vcpu->arch.dbsr &= ~spr_val; break;
116 case SPRN_TSR: 117 case SPRN_TSR:
117 vcpu->arch.tsr &= ~vcpu->arch.gpr[rs]; break; 118 vcpu->arch.tsr &= ~spr_val; break;
118 case SPRN_TCR: 119 case SPRN_TCR:
119 vcpu->arch.tcr = vcpu->arch.gpr[rs]; 120 vcpu->arch.tcr = spr_val;
120 kvmppc_emulate_dec(vcpu); 121 kvmppc_emulate_dec(vcpu);
121 break; 122 break;
122 123
@@ -124,64 +125,64 @@ int kvmppc_booke_emulate_mtspr(struct kvm_vcpu *vcpu, int sprn, int rs)
124 * loaded into the real SPRGs when resuming the 125 * loaded into the real SPRGs when resuming the
125 * guest. */ 126 * guest. */
126 case SPRN_SPRG4: 127 case SPRN_SPRG4:
127 vcpu->arch.sprg4 = vcpu->arch.gpr[rs]; break; 128 vcpu->arch.sprg4 = spr_val; break;
128 case SPRN_SPRG5: 129 case SPRN_SPRG5:
129 vcpu->arch.sprg5 = vcpu->arch.gpr[rs]; break; 130 vcpu->arch.sprg5 = spr_val; break;
130 case SPRN_SPRG6: 131 case SPRN_SPRG6:
131 vcpu->arch.sprg6 = vcpu->arch.gpr[rs]; break; 132 vcpu->arch.sprg6 = spr_val; break;
132 case SPRN_SPRG7: 133 case SPRN_SPRG7:
133 vcpu->arch.sprg7 = vcpu->arch.gpr[rs]; break; 134 vcpu->arch.sprg7 = spr_val; break;
134 135
135 case SPRN_IVPR: 136 case SPRN_IVPR:
136 vcpu->arch.ivpr = vcpu->arch.gpr[rs]; 137 vcpu->arch.ivpr = spr_val;
137 break; 138 break;
138 case SPRN_IVOR0: 139 case SPRN_IVOR0:
139 vcpu->arch.ivor[BOOKE_IRQPRIO_CRITICAL] = vcpu->arch.gpr[rs]; 140 vcpu->arch.ivor[BOOKE_IRQPRIO_CRITICAL] = spr_val;
140 break; 141 break;
141 case SPRN_IVOR1: 142 case SPRN_IVOR1:
142 vcpu->arch.ivor[BOOKE_IRQPRIO_MACHINE_CHECK] = vcpu->arch.gpr[rs]; 143 vcpu->arch.ivor[BOOKE_IRQPRIO_MACHINE_CHECK] = spr_val;
143 break; 144 break;
144 case SPRN_IVOR2: 145 case SPRN_IVOR2:
145 vcpu->arch.ivor[BOOKE_IRQPRIO_DATA_STORAGE] = vcpu->arch.gpr[rs]; 146 vcpu->arch.ivor[BOOKE_IRQPRIO_DATA_STORAGE] = spr_val;
146 break; 147 break;
147 case SPRN_IVOR3: 148 case SPRN_IVOR3:
148 vcpu->arch.ivor[BOOKE_IRQPRIO_INST_STORAGE] = vcpu->arch.gpr[rs]; 149 vcpu->arch.ivor[BOOKE_IRQPRIO_INST_STORAGE] = spr_val;
149 break; 150 break;
150 case SPRN_IVOR4: 151 case SPRN_IVOR4:
151 vcpu->arch.ivor[BOOKE_IRQPRIO_EXTERNAL] = vcpu->arch.gpr[rs]; 152 vcpu->arch.ivor[BOOKE_IRQPRIO_EXTERNAL] = spr_val;
152 break; 153 break;
153 case SPRN_IVOR5: 154 case SPRN_IVOR5:
154 vcpu->arch.ivor[BOOKE_IRQPRIO_ALIGNMENT] = vcpu->arch.gpr[rs]; 155 vcpu->arch.ivor[BOOKE_IRQPRIO_ALIGNMENT] = spr_val;
155 break; 156 break;
156 case SPRN_IVOR6: 157 case SPRN_IVOR6:
157 vcpu->arch.ivor[BOOKE_IRQPRIO_PROGRAM] = vcpu->arch.gpr[rs]; 158 vcpu->arch.ivor[BOOKE_IRQPRIO_PROGRAM] = spr_val;
158 break; 159 break;
159 case SPRN_IVOR7: 160 case SPRN_IVOR7:
160 vcpu->arch.ivor[BOOKE_IRQPRIO_FP_UNAVAIL] = vcpu->arch.gpr[rs]; 161 vcpu->arch.ivor[BOOKE_IRQPRIO_FP_UNAVAIL] = spr_val;
161 break; 162 break;
162 case SPRN_IVOR8: 163 case SPRN_IVOR8:
163 vcpu->arch.ivor[BOOKE_IRQPRIO_SYSCALL] = vcpu->arch.gpr[rs]; 164 vcpu->arch.ivor[BOOKE_IRQPRIO_SYSCALL] = spr_val;
164 break; 165 break;
165 case SPRN_IVOR9: 166 case SPRN_IVOR9:
166 vcpu->arch.ivor[BOOKE_IRQPRIO_AP_UNAVAIL] = vcpu->arch.gpr[rs]; 167 vcpu->arch.ivor[BOOKE_IRQPRIO_AP_UNAVAIL] = spr_val;
167 break; 168 break;
168 case SPRN_IVOR10: 169 case SPRN_IVOR10:
169 vcpu->arch.ivor[BOOKE_IRQPRIO_DECREMENTER] = vcpu->arch.gpr[rs]; 170 vcpu->arch.ivor[BOOKE_IRQPRIO_DECREMENTER] = spr_val;
170 break; 171 break;
171 case SPRN_IVOR11: 172 case SPRN_IVOR11:
172 vcpu->arch.ivor[BOOKE_IRQPRIO_FIT] = vcpu->arch.gpr[rs]; 173 vcpu->arch.ivor[BOOKE_IRQPRIO_FIT] = spr_val;
173 break; 174 break;
174 case SPRN_IVOR12: 175 case SPRN_IVOR12:
175 vcpu->arch.ivor[BOOKE_IRQPRIO_WATCHDOG] = vcpu->arch.gpr[rs]; 176 vcpu->arch.ivor[BOOKE_IRQPRIO_WATCHDOG] = spr_val;
176 break; 177 break;
177 case SPRN_IVOR13: 178 case SPRN_IVOR13:
178 vcpu->arch.ivor[BOOKE_IRQPRIO_DTLB_MISS] = vcpu->arch.gpr[rs]; 179 vcpu->arch.ivor[BOOKE_IRQPRIO_DTLB_MISS] = spr_val;
179 break; 180 break;
180 case SPRN_IVOR14: 181 case SPRN_IVOR14:
181 vcpu->arch.ivor[BOOKE_IRQPRIO_ITLB_MISS] = vcpu->arch.gpr[rs]; 182 vcpu->arch.ivor[BOOKE_IRQPRIO_ITLB_MISS] = spr_val;
182 break; 183 break;
183 case SPRN_IVOR15: 184 case SPRN_IVOR15:
184 vcpu->arch.ivor[BOOKE_IRQPRIO_DEBUG] = vcpu->arch.gpr[rs]; 185 vcpu->arch.ivor[BOOKE_IRQPRIO_DEBUG] = spr_val;
185 break; 186 break;
186 187
187 default: 188 default:
@@ -197,65 +198,65 @@ int kvmppc_booke_emulate_mfspr(struct kvm_vcpu *vcpu, int sprn, int rt)
197 198
198 switch (sprn) { 199 switch (sprn) {
199 case SPRN_IVPR: 200 case SPRN_IVPR:
200 vcpu->arch.gpr[rt] = vcpu->arch.ivpr; break; 201 kvmppc_set_gpr(vcpu, rt, vcpu->arch.ivpr); break;
201 case SPRN_DEAR: 202 case SPRN_DEAR:
202 vcpu->arch.gpr[rt] = vcpu->arch.dear; break; 203 kvmppc_set_gpr(vcpu, rt, vcpu->arch.dear); break;
203 case SPRN_ESR: 204 case SPRN_ESR:
204 vcpu->arch.gpr[rt] = vcpu->arch.esr; break; 205 kvmppc_set_gpr(vcpu, rt, vcpu->arch.esr); break;
205 case SPRN_DBCR0: 206 case SPRN_DBCR0:
206 vcpu->arch.gpr[rt] = vcpu->arch.dbcr0; break; 207 kvmppc_set_gpr(vcpu, rt, vcpu->arch.dbcr0); break;
207 case SPRN_DBCR1: 208 case SPRN_DBCR1:
208 vcpu->arch.gpr[rt] = vcpu->arch.dbcr1; break; 209 kvmppc_set_gpr(vcpu, rt, vcpu->arch.dbcr1); break;
209 case SPRN_DBSR: 210 case SPRN_DBSR:
210 vcpu->arch.gpr[rt] = vcpu->arch.dbsr; break; 211 kvmppc_set_gpr(vcpu, rt, vcpu->arch.dbsr); break;
211 212
212 case SPRN_IVOR0: 213 case SPRN_IVOR0:
213 vcpu->arch.gpr[rt] = vcpu->arch.ivor[BOOKE_IRQPRIO_CRITICAL]; 214 kvmppc_set_gpr(vcpu, rt, vcpu->arch.ivor[BOOKE_IRQPRIO_CRITICAL]);
214 break; 215 break;
215 case SPRN_IVOR1: 216 case SPRN_IVOR1:
216 vcpu->arch.gpr[rt] = vcpu->arch.ivor[BOOKE_IRQPRIO_MACHINE_CHECK]; 217 kvmppc_set_gpr(vcpu, rt, vcpu->arch.ivor[BOOKE_IRQPRIO_MACHINE_CHECK]);
217 break; 218 break;
218 case SPRN_IVOR2: 219 case SPRN_IVOR2:
219 vcpu->arch.gpr[rt] = vcpu->arch.ivor[BOOKE_IRQPRIO_DATA_STORAGE]; 220 kvmppc_set_gpr(vcpu, rt, vcpu->arch.ivor[BOOKE_IRQPRIO_DATA_STORAGE]);
220 break; 221 break;
221 case SPRN_IVOR3: 222 case SPRN_IVOR3:
222 vcpu->arch.gpr[rt] = vcpu->arch.ivor[BOOKE_IRQPRIO_INST_STORAGE]; 223 kvmppc_set_gpr(vcpu, rt, vcpu->arch.ivor[BOOKE_IRQPRIO_INST_STORAGE]);
223 break; 224 break;
224 case SPRN_IVOR4: 225 case SPRN_IVOR4:
225 vcpu->arch.gpr[rt] = vcpu->arch.ivor[BOOKE_IRQPRIO_EXTERNAL]; 226 kvmppc_set_gpr(vcpu, rt, vcpu->arch.ivor[BOOKE_IRQPRIO_EXTERNAL]);
226 break; 227 break;
227 case SPRN_IVOR5: 228 case SPRN_IVOR5:
228 vcpu->arch.gpr[rt] = vcpu->arch.ivor[BOOKE_IRQPRIO_ALIGNMENT]; 229 kvmppc_set_gpr(vcpu, rt, vcpu->arch.ivor[BOOKE_IRQPRIO_ALIGNMENT]);
229 break; 230 break;
230 case SPRN_IVOR6: 231 case SPRN_IVOR6:
231 vcpu->arch.gpr[rt] = vcpu->arch.ivor[BOOKE_IRQPRIO_PROGRAM]; 232 kvmppc_set_gpr(vcpu, rt, vcpu->arch.ivor[BOOKE_IRQPRIO_PROGRAM]);
232 break; 233 break;
233 case SPRN_IVOR7: 234 case SPRN_IVOR7:
234 vcpu->arch.gpr[rt] = vcpu->arch.ivor[BOOKE_IRQPRIO_FP_UNAVAIL]; 235 kvmppc_set_gpr(vcpu, rt, vcpu->arch.ivor[BOOKE_IRQPRIO_FP_UNAVAIL]);
235 break; 236 break;
236 case SPRN_IVOR8: 237 case SPRN_IVOR8:
237 vcpu->arch.gpr[rt] = vcpu->arch.ivor[BOOKE_IRQPRIO_SYSCALL]; 238 kvmppc_set_gpr(vcpu, rt, vcpu->arch.ivor[BOOKE_IRQPRIO_SYSCALL]);
238 break; 239 break;
239 case SPRN_IVOR9: 240 case SPRN_IVOR9:
240 vcpu->arch.gpr[rt] = vcpu->arch.ivor[BOOKE_IRQPRIO_AP_UNAVAIL]; 241 kvmppc_set_gpr(vcpu, rt, vcpu->arch.ivor[BOOKE_IRQPRIO_AP_UNAVAIL]);
241 break; 242 break;
242 case SPRN_IVOR10: 243 case SPRN_IVOR10:
243 vcpu->arch.gpr[rt] = vcpu->arch.ivor[BOOKE_IRQPRIO_DECREMENTER]; 244 kvmppc_set_gpr(vcpu, rt, vcpu->arch.ivor[BOOKE_IRQPRIO_DECREMENTER]);
244 break; 245 break;
245 case SPRN_IVOR11: 246 case SPRN_IVOR11:
246 vcpu->arch.gpr[rt] = vcpu->arch.ivor[BOOKE_IRQPRIO_FIT]; 247 kvmppc_set_gpr(vcpu, rt, vcpu->arch.ivor[BOOKE_IRQPRIO_FIT]);
247 break; 248 break;
248 case SPRN_IVOR12: 249 case SPRN_IVOR12:
249 vcpu->arch.gpr[rt] = vcpu->arch.ivor[BOOKE_IRQPRIO_WATCHDOG]; 250 kvmppc_set_gpr(vcpu, rt, vcpu->arch.ivor[BOOKE_IRQPRIO_WATCHDOG]);
250 break; 251 break;
251 case SPRN_IVOR13: 252 case SPRN_IVOR13:
252 vcpu->arch.gpr[rt] = vcpu->arch.ivor[BOOKE_IRQPRIO_DTLB_MISS]; 253 kvmppc_set_gpr(vcpu, rt, vcpu->arch.ivor[BOOKE_IRQPRIO_DTLB_MISS]);
253 break; 254 break;
254 case SPRN_IVOR14: 255 case SPRN_IVOR14:
255 vcpu->arch.gpr[rt] = vcpu->arch.ivor[BOOKE_IRQPRIO_ITLB_MISS]; 256 kvmppc_set_gpr(vcpu, rt, vcpu->arch.ivor[BOOKE_IRQPRIO_ITLB_MISS]);
256 break; 257 break;
257 case SPRN_IVOR15: 258 case SPRN_IVOR15:
258 vcpu->arch.gpr[rt] = vcpu->arch.ivor[BOOKE_IRQPRIO_DEBUG]; 259 kvmppc_set_gpr(vcpu, rt, vcpu->arch.ivor[BOOKE_IRQPRIO_DEBUG]);
259 break; 260 break;
260 261
261 default: 262 default:
diff --git a/arch/powerpc/kvm/e500.c b/arch/powerpc/kvm/e500.c
index 64949eef43f1..e8a00b0c4449 100644
--- a/arch/powerpc/kvm/e500.c
+++ b/arch/powerpc/kvm/e500.c
@@ -13,6 +13,7 @@
13 */ 13 */
14 14
15#include <linux/kvm_host.h> 15#include <linux/kvm_host.h>
16#include <linux/slab.h>
16#include <linux/err.h> 17#include <linux/err.h>
17 18
18#include <asm/reg.h> 19#include <asm/reg.h>
@@ -60,6 +61,12 @@ int kvmppc_core_vcpu_setup(struct kvm_vcpu *vcpu)
60 61
61 kvmppc_e500_tlb_setup(vcpu_e500); 62 kvmppc_e500_tlb_setup(vcpu_e500);
62 63
64 /* Registers init */
65 vcpu->arch.pvr = mfspr(SPRN_PVR);
66
67 /* Since booke kvm only support one core, update all vcpus' PIR to 0 */
68 vcpu->vcpu_id = 0;
69
63 return 0; 70 return 0;
64} 71}
65 72
@@ -154,10 +161,10 @@ static int __init kvmppc_e500_init(void)
154 flush_icache_range(kvmppc_booke_handlers, 161 flush_icache_range(kvmppc_booke_handlers,
155 kvmppc_booke_handlers + max_ivor + kvmppc_handler_len); 162 kvmppc_booke_handlers + max_ivor + kvmppc_handler_len);
156 163
157 return kvm_init(NULL, sizeof(struct kvmppc_vcpu_e500), THIS_MODULE); 164 return kvm_init(NULL, sizeof(struct kvmppc_vcpu_e500), 0, THIS_MODULE);
158} 165}
159 166
160static void __init kvmppc_e500_exit(void) 167static void __exit kvmppc_e500_exit(void)
161{ 168{
162 kvmppc_booke_exit(); 169 kvmppc_booke_exit();
163} 170}
diff --git a/arch/powerpc/kvm/e500_emulate.c b/arch/powerpc/kvm/e500_emulate.c
index be95b8d8e3b7..8e3edfbc9634 100644
--- a/arch/powerpc/kvm/e500_emulate.c
+++ b/arch/powerpc/kvm/e500_emulate.c
@@ -74,54 +74,59 @@ int kvmppc_core_emulate_mtspr(struct kvm_vcpu *vcpu, int sprn, int rs)
74{ 74{
75 struct kvmppc_vcpu_e500 *vcpu_e500 = to_e500(vcpu); 75 struct kvmppc_vcpu_e500 *vcpu_e500 = to_e500(vcpu);
76 int emulated = EMULATE_DONE; 76 int emulated = EMULATE_DONE;
77 ulong spr_val = kvmppc_get_gpr(vcpu, rs);
77 78
78 switch (sprn) { 79 switch (sprn) {
79 case SPRN_PID: 80 case SPRN_PID:
80 vcpu_e500->pid[0] = vcpu->arch.shadow_pid = 81 vcpu_e500->pid[0] = vcpu->arch.shadow_pid =
81 vcpu->arch.pid = vcpu->arch.gpr[rs]; 82 vcpu->arch.pid = spr_val;
82 break; 83 break;
83 case SPRN_PID1: 84 case SPRN_PID1:
84 vcpu_e500->pid[1] = vcpu->arch.gpr[rs]; break; 85 vcpu_e500->pid[1] = spr_val; break;
85 case SPRN_PID2: 86 case SPRN_PID2:
86 vcpu_e500->pid[2] = vcpu->arch.gpr[rs]; break; 87 vcpu_e500->pid[2] = spr_val; break;
87 case SPRN_MAS0: 88 case SPRN_MAS0:
88 vcpu_e500->mas0 = vcpu->arch.gpr[rs]; break; 89 vcpu_e500->mas0 = spr_val; break;
89 case SPRN_MAS1: 90 case SPRN_MAS1:
90 vcpu_e500->mas1 = vcpu->arch.gpr[rs]; break; 91 vcpu_e500->mas1 = spr_val; break;
91 case SPRN_MAS2: 92 case SPRN_MAS2:
92 vcpu_e500->mas2 = vcpu->arch.gpr[rs]; break; 93 vcpu_e500->mas2 = spr_val; break;
93 case SPRN_MAS3: 94 case SPRN_MAS3:
94 vcpu_e500->mas3 = vcpu->arch.gpr[rs]; break; 95 vcpu_e500->mas3 = spr_val; break;
95 case SPRN_MAS4: 96 case SPRN_MAS4:
96 vcpu_e500->mas4 = vcpu->arch.gpr[rs]; break; 97 vcpu_e500->mas4 = spr_val; break;
97 case SPRN_MAS6: 98 case SPRN_MAS6:
98 vcpu_e500->mas6 = vcpu->arch.gpr[rs]; break; 99 vcpu_e500->mas6 = spr_val; break;
99 case SPRN_MAS7: 100 case SPRN_MAS7:
100 vcpu_e500->mas7 = vcpu->arch.gpr[rs]; break; 101 vcpu_e500->mas7 = spr_val; break;
102 case SPRN_L1CSR0:
103 vcpu_e500->l1csr0 = spr_val;
104 vcpu_e500->l1csr0 &= ~(L1CSR0_DCFI | L1CSR0_CLFC);
105 break;
101 case SPRN_L1CSR1: 106 case SPRN_L1CSR1:
102 vcpu_e500->l1csr1 = vcpu->arch.gpr[rs]; break; 107 vcpu_e500->l1csr1 = spr_val; break;
103 case SPRN_HID0: 108 case SPRN_HID0:
104 vcpu_e500->hid0 = vcpu->arch.gpr[rs]; break; 109 vcpu_e500->hid0 = spr_val; break;
105 case SPRN_HID1: 110 case SPRN_HID1:
106 vcpu_e500->hid1 = vcpu->arch.gpr[rs]; break; 111 vcpu_e500->hid1 = spr_val; break;
107 112
108 case SPRN_MMUCSR0: 113 case SPRN_MMUCSR0:
109 emulated = kvmppc_e500_emul_mt_mmucsr0(vcpu_e500, 114 emulated = kvmppc_e500_emul_mt_mmucsr0(vcpu_e500,
110 vcpu->arch.gpr[rs]); 115 spr_val);
111 break; 116 break;
112 117
113 /* extra exceptions */ 118 /* extra exceptions */
114 case SPRN_IVOR32: 119 case SPRN_IVOR32:
115 vcpu->arch.ivor[BOOKE_IRQPRIO_SPE_UNAVAIL] = vcpu->arch.gpr[rs]; 120 vcpu->arch.ivor[BOOKE_IRQPRIO_SPE_UNAVAIL] = spr_val;
116 break; 121 break;
117 case SPRN_IVOR33: 122 case SPRN_IVOR33:
118 vcpu->arch.ivor[BOOKE_IRQPRIO_SPE_FP_DATA] = vcpu->arch.gpr[rs]; 123 vcpu->arch.ivor[BOOKE_IRQPRIO_SPE_FP_DATA] = spr_val;
119 break; 124 break;
120 case SPRN_IVOR34: 125 case SPRN_IVOR34:
121 vcpu->arch.ivor[BOOKE_IRQPRIO_SPE_FP_ROUND] = vcpu->arch.gpr[rs]; 126 vcpu->arch.ivor[BOOKE_IRQPRIO_SPE_FP_ROUND] = spr_val;
122 break; 127 break;
123 case SPRN_IVOR35: 128 case SPRN_IVOR35:
124 vcpu->arch.ivor[BOOKE_IRQPRIO_PERFORMANCE_MONITOR] = vcpu->arch.gpr[rs]; 129 vcpu->arch.ivor[BOOKE_IRQPRIO_PERFORMANCE_MONITOR] = spr_val;
125 break; 130 break;
126 131
127 default: 132 default:
@@ -138,63 +143,57 @@ int kvmppc_core_emulate_mfspr(struct kvm_vcpu *vcpu, int sprn, int rt)
138 143
139 switch (sprn) { 144 switch (sprn) {
140 case SPRN_PID: 145 case SPRN_PID:
141 vcpu->arch.gpr[rt] = vcpu_e500->pid[0]; break; 146 kvmppc_set_gpr(vcpu, rt, vcpu_e500->pid[0]); break;
142 case SPRN_PID1: 147 case SPRN_PID1:
143 vcpu->arch.gpr[rt] = vcpu_e500->pid[1]; break; 148 kvmppc_set_gpr(vcpu, rt, vcpu_e500->pid[1]); break;
144 case SPRN_PID2: 149 case SPRN_PID2:
145 vcpu->arch.gpr[rt] = vcpu_e500->pid[2]; break; 150 kvmppc_set_gpr(vcpu, rt, vcpu_e500->pid[2]); break;
146 case SPRN_MAS0: 151 case SPRN_MAS0:
147 vcpu->arch.gpr[rt] = vcpu_e500->mas0; break; 152 kvmppc_set_gpr(vcpu, rt, vcpu_e500->mas0); break;
148 case SPRN_MAS1: 153 case SPRN_MAS1:
149 vcpu->arch.gpr[rt] = vcpu_e500->mas1; break; 154 kvmppc_set_gpr(vcpu, rt, vcpu_e500->mas1); break;
150 case SPRN_MAS2: 155 case SPRN_MAS2:
151 vcpu->arch.gpr[rt] = vcpu_e500->mas2; break; 156 kvmppc_set_gpr(vcpu, rt, vcpu_e500->mas2); break;
152 case SPRN_MAS3: 157 case SPRN_MAS3:
153 vcpu->arch.gpr[rt] = vcpu_e500->mas3; break; 158 kvmppc_set_gpr(vcpu, rt, vcpu_e500->mas3); break;
154 case SPRN_MAS4: 159 case SPRN_MAS4:
155 vcpu->arch.gpr[rt] = vcpu_e500->mas4; break; 160 kvmppc_set_gpr(vcpu, rt, vcpu_e500->mas4); break;
156 case SPRN_MAS6: 161 case SPRN_MAS6:
157 vcpu->arch.gpr[rt] = vcpu_e500->mas6; break; 162 kvmppc_set_gpr(vcpu, rt, vcpu_e500->mas6); break;
158 case SPRN_MAS7: 163 case SPRN_MAS7:
159 vcpu->arch.gpr[rt] = vcpu_e500->mas7; break; 164 kvmppc_set_gpr(vcpu, rt, vcpu_e500->mas7); break;
160 165
161 case SPRN_TLB0CFG: 166 case SPRN_TLB0CFG:
162 vcpu->arch.gpr[rt] = mfspr(SPRN_TLB0CFG); 167 kvmppc_set_gpr(vcpu, rt, vcpu_e500->tlb0cfg); break;
163 vcpu->arch.gpr[rt] &= ~0xfffUL;
164 vcpu->arch.gpr[rt] |= vcpu_e500->guest_tlb_size[0];
165 break;
166
167 case SPRN_TLB1CFG: 168 case SPRN_TLB1CFG:
168 vcpu->arch.gpr[rt] = mfspr(SPRN_TLB1CFG); 169 kvmppc_set_gpr(vcpu, rt, vcpu_e500->tlb1cfg); break;
169 vcpu->arch.gpr[rt] &= ~0xfffUL; 170 case SPRN_L1CSR0:
170 vcpu->arch.gpr[rt] |= vcpu_e500->guest_tlb_size[1]; 171 kvmppc_set_gpr(vcpu, rt, vcpu_e500->l1csr0); break;
171 break;
172
173 case SPRN_L1CSR1: 172 case SPRN_L1CSR1:
174 vcpu->arch.gpr[rt] = vcpu_e500->l1csr1; break; 173 kvmppc_set_gpr(vcpu, rt, vcpu_e500->l1csr1); break;
175 case SPRN_HID0: 174 case SPRN_HID0:
176 vcpu->arch.gpr[rt] = vcpu_e500->hid0; break; 175 kvmppc_set_gpr(vcpu, rt, vcpu_e500->hid0); break;
177 case SPRN_HID1: 176 case SPRN_HID1:
178 vcpu->arch.gpr[rt] = vcpu_e500->hid1; break; 177 kvmppc_set_gpr(vcpu, rt, vcpu_e500->hid1); break;
179 178
180 case SPRN_MMUCSR0: 179 case SPRN_MMUCSR0:
181 vcpu->arch.gpr[rt] = 0; break; 180 kvmppc_set_gpr(vcpu, rt, 0); break;
182 181
183 case SPRN_MMUCFG: 182 case SPRN_MMUCFG:
184 vcpu->arch.gpr[rt] = mfspr(SPRN_MMUCFG); break; 183 kvmppc_set_gpr(vcpu, rt, mfspr(SPRN_MMUCFG)); break;
185 184
186 /* extra exceptions */ 185 /* extra exceptions */
187 case SPRN_IVOR32: 186 case SPRN_IVOR32:
188 vcpu->arch.gpr[rt] = vcpu->arch.ivor[BOOKE_IRQPRIO_SPE_UNAVAIL]; 187 kvmppc_set_gpr(vcpu, rt, vcpu->arch.ivor[BOOKE_IRQPRIO_SPE_UNAVAIL]);
189 break; 188 break;
190 case SPRN_IVOR33: 189 case SPRN_IVOR33:
191 vcpu->arch.gpr[rt] = vcpu->arch.ivor[BOOKE_IRQPRIO_SPE_FP_DATA]; 190 kvmppc_set_gpr(vcpu, rt, vcpu->arch.ivor[BOOKE_IRQPRIO_SPE_FP_DATA]);
192 break; 191 break;
193 case SPRN_IVOR34: 192 case SPRN_IVOR34:
194 vcpu->arch.gpr[rt] = vcpu->arch.ivor[BOOKE_IRQPRIO_SPE_FP_ROUND]; 193 kvmppc_set_gpr(vcpu, rt, vcpu->arch.ivor[BOOKE_IRQPRIO_SPE_FP_ROUND]);
195 break; 194 break;
196 case SPRN_IVOR35: 195 case SPRN_IVOR35:
197 vcpu->arch.gpr[rt] = vcpu->arch.ivor[BOOKE_IRQPRIO_PERFORMANCE_MONITOR]; 196 kvmppc_set_gpr(vcpu, rt, vcpu->arch.ivor[BOOKE_IRQPRIO_PERFORMANCE_MONITOR]);
198 break; 197 break;
199 default: 198 default:
200 emulated = kvmppc_booke_emulate_mfspr(vcpu, sprn, rt); 199 emulated = kvmppc_booke_emulate_mfspr(vcpu, sprn, rt);
diff --git a/arch/powerpc/kvm/e500_tlb.c b/arch/powerpc/kvm/e500_tlb.c
index fb1e1dc11ba5..21011e12caeb 100644
--- a/arch/powerpc/kvm/e500_tlb.c
+++ b/arch/powerpc/kvm/e500_tlb.c
@@ -13,6 +13,7 @@
13 */ 13 */
14 14
15#include <linux/types.h> 15#include <linux/types.h>
16#include <linux/slab.h>
16#include <linux/string.h> 17#include <linux/string.h>
17#include <linux/kvm.h> 18#include <linux/kvm.h>
18#include <linux/kvm_host.h> 19#include <linux/kvm_host.h>
@@ -417,7 +418,7 @@ int kvmppc_e500_emul_tlbivax(struct kvm_vcpu *vcpu, int ra, int rb)
417 int esel, tlbsel; 418 int esel, tlbsel;
418 gva_t ea; 419 gva_t ea;
419 420
420 ea = ((ra) ? vcpu->arch.gpr[ra] : 0) + vcpu->arch.gpr[rb]; 421 ea = ((ra) ? kvmppc_get_gpr(vcpu, ra) : 0) + kvmppc_get_gpr(vcpu, rb);
421 422
422 ia = (ea >> 2) & 0x1; 423 ia = (ea >> 2) & 0x1;
423 424
@@ -470,7 +471,7 @@ int kvmppc_e500_emul_tlbsx(struct kvm_vcpu *vcpu, int rb)
470 struct tlbe *gtlbe = NULL; 471 struct tlbe *gtlbe = NULL;
471 gva_t ea; 472 gva_t ea;
472 473
473 ea = vcpu->arch.gpr[rb]; 474 ea = kvmppc_get_gpr(vcpu, rb);
474 475
475 for (tlbsel = 0; tlbsel < 2; tlbsel++) { 476 for (tlbsel = 0; tlbsel < 2; tlbsel++) {
476 esel = kvmppc_e500_tlb_index(vcpu_e500, ea, tlbsel, pid, as); 477 esel = kvmppc_e500_tlb_index(vcpu_e500, ea, tlbsel, pid, as);
@@ -728,6 +729,12 @@ int kvmppc_e500_tlb_init(struct kvmppc_vcpu_e500 *vcpu_e500)
728 if (vcpu_e500->shadow_pages[1] == NULL) 729 if (vcpu_e500->shadow_pages[1] == NULL)
729 goto err_out_page0; 730 goto err_out_page0;
730 731
732 /* Init TLB configuration register */
733 vcpu_e500->tlb0cfg = mfspr(SPRN_TLB0CFG) & ~0xfffUL;
734 vcpu_e500->tlb0cfg |= vcpu_e500->guest_tlb_size[0];
735 vcpu_e500->tlb1cfg = mfspr(SPRN_TLB1CFG) & ~0xfffUL;
736 vcpu_e500->tlb1cfg |= vcpu_e500->guest_tlb_size[1];
737
731 return 0; 738 return 0;
732 739
733err_out_page0: 740err_out_page0:
diff --git a/arch/powerpc/kvm/emulate.c b/arch/powerpc/kvm/emulate.c
index 4a9ac6640fad..4568ec386c2a 100644
--- a/arch/powerpc/kvm/emulate.c
+++ b/arch/powerpc/kvm/emulate.c
@@ -38,10 +38,12 @@
38#define OP_31_XOP_LBZX 87 38#define OP_31_XOP_LBZX 87
39#define OP_31_XOP_STWX 151 39#define OP_31_XOP_STWX 151
40#define OP_31_XOP_STBX 215 40#define OP_31_XOP_STBX 215
41#define OP_31_XOP_LBZUX 119
41#define OP_31_XOP_STBUX 247 42#define OP_31_XOP_STBUX 247
42#define OP_31_XOP_LHZX 279 43#define OP_31_XOP_LHZX 279
43#define OP_31_XOP_LHZUX 311 44#define OP_31_XOP_LHZUX 311
44#define OP_31_XOP_MFSPR 339 45#define OP_31_XOP_MFSPR 339
46#define OP_31_XOP_LHAX 343
45#define OP_31_XOP_STHX 407 47#define OP_31_XOP_STHX 407
46#define OP_31_XOP_STHUX 439 48#define OP_31_XOP_STHUX 439
47#define OP_31_XOP_MTSPR 467 49#define OP_31_XOP_MTSPR 467
@@ -62,10 +64,12 @@
62#define OP_STBU 39 64#define OP_STBU 39
63#define OP_LHZ 40 65#define OP_LHZ 40
64#define OP_LHZU 41 66#define OP_LHZU 41
67#define OP_LHA 42
68#define OP_LHAU 43
65#define OP_STH 44 69#define OP_STH 44
66#define OP_STHU 45 70#define OP_STHU 45
67 71
68#ifdef CONFIG_PPC64 72#ifdef CONFIG_PPC_BOOK3S
69static int kvmppc_dec_enabled(struct kvm_vcpu *vcpu) 73static int kvmppc_dec_enabled(struct kvm_vcpu *vcpu)
70{ 74{
71 return 1; 75 return 1;
@@ -82,7 +86,10 @@ void kvmppc_emulate_dec(struct kvm_vcpu *vcpu)
82 unsigned long dec_nsec; 86 unsigned long dec_nsec;
83 87
84 pr_debug("mtDEC: %x\n", vcpu->arch.dec); 88 pr_debug("mtDEC: %x\n", vcpu->arch.dec);
85#ifdef CONFIG_PPC64 89#ifdef CONFIG_PPC_BOOK3S
90 /* mtdec lowers the interrupt line when positive. */
91 kvmppc_core_dequeue_dec(vcpu);
92
86 /* POWER4+ triggers a dec interrupt if the value is < 0 */ 93 /* POWER4+ triggers a dec interrupt if the value is < 0 */
87 if (vcpu->arch.dec & 0x80000000) { 94 if (vcpu->arch.dec & 0x80000000) {
88 hrtimer_try_to_cancel(&vcpu->arch.dec_timer); 95 hrtimer_try_to_cancel(&vcpu->arch.dec_timer);
@@ -125,7 +132,7 @@ void kvmppc_emulate_dec(struct kvm_vcpu *vcpu)
125 * from opcode tables in the future. */ 132 * from opcode tables in the future. */
126int kvmppc_emulate_instruction(struct kvm_run *run, struct kvm_vcpu *vcpu) 133int kvmppc_emulate_instruction(struct kvm_run *run, struct kvm_vcpu *vcpu)
127{ 134{
128 u32 inst = vcpu->arch.last_inst; 135 u32 inst = kvmppc_get_last_inst(vcpu);
129 u32 ea; 136 u32 ea;
130 int ra; 137 int ra;
131 int rb; 138 int rb;
@@ -142,12 +149,12 @@ int kvmppc_emulate_instruction(struct kvm_run *run, struct kvm_vcpu *vcpu)
142 149
143 switch (get_op(inst)) { 150 switch (get_op(inst)) {
144 case OP_TRAP: 151 case OP_TRAP:
145#ifdef CONFIG_PPC64 152#ifdef CONFIG_PPC_BOOK3S
146 case OP_TRAP_64: 153 case OP_TRAP_64:
154 kvmppc_core_queue_program(vcpu, SRR1_PROGTRAP);
147#else 155#else
148 vcpu->arch.esr |= ESR_PTR; 156 kvmppc_core_queue_program(vcpu, vcpu->arch.esr | ESR_PTR);
149#endif 157#endif
150 kvmppc_core_queue_program(vcpu);
151 advance = 0; 158 advance = 0;
152 break; 159 break;
153 160
@@ -164,17 +171,30 @@ int kvmppc_emulate_instruction(struct kvm_run *run, struct kvm_vcpu *vcpu)
164 emulated = kvmppc_handle_load(run, vcpu, rt, 1, 1); 171 emulated = kvmppc_handle_load(run, vcpu, rt, 1, 1);
165 break; 172 break;
166 173
174 case OP_31_XOP_LBZUX:
175 rt = get_rt(inst);
176 ra = get_ra(inst);
177 rb = get_rb(inst);
178
179 ea = kvmppc_get_gpr(vcpu, rb);
180 if (ra)
181 ea += kvmppc_get_gpr(vcpu, ra);
182
183 emulated = kvmppc_handle_load(run, vcpu, rt, 1, 1);
184 kvmppc_set_gpr(vcpu, ra, ea);
185 break;
186
167 case OP_31_XOP_STWX: 187 case OP_31_XOP_STWX:
168 rs = get_rs(inst); 188 rs = get_rs(inst);
169 emulated = kvmppc_handle_store(run, vcpu, 189 emulated = kvmppc_handle_store(run, vcpu,
170 vcpu->arch.gpr[rs], 190 kvmppc_get_gpr(vcpu, rs),
171 4, 1); 191 4, 1);
172 break; 192 break;
173 193
174 case OP_31_XOP_STBX: 194 case OP_31_XOP_STBX:
175 rs = get_rs(inst); 195 rs = get_rs(inst);
176 emulated = kvmppc_handle_store(run, vcpu, 196 emulated = kvmppc_handle_store(run, vcpu,
177 vcpu->arch.gpr[rs], 197 kvmppc_get_gpr(vcpu, rs),
178 1, 1); 198 1, 1);
179 break; 199 break;
180 200
@@ -183,14 +203,19 @@ int kvmppc_emulate_instruction(struct kvm_run *run, struct kvm_vcpu *vcpu)
183 ra = get_ra(inst); 203 ra = get_ra(inst);
184 rb = get_rb(inst); 204 rb = get_rb(inst);
185 205
186 ea = vcpu->arch.gpr[rb]; 206 ea = kvmppc_get_gpr(vcpu, rb);
187 if (ra) 207 if (ra)
188 ea += vcpu->arch.gpr[ra]; 208 ea += kvmppc_get_gpr(vcpu, ra);
189 209
190 emulated = kvmppc_handle_store(run, vcpu, 210 emulated = kvmppc_handle_store(run, vcpu,
191 vcpu->arch.gpr[rs], 211 kvmppc_get_gpr(vcpu, rs),
192 1, 1); 212 1, 1);
193 vcpu->arch.gpr[rs] = ea; 213 kvmppc_set_gpr(vcpu, rs, ea);
214 break;
215
216 case OP_31_XOP_LHAX:
217 rt = get_rt(inst);
218 emulated = kvmppc_handle_loads(run, vcpu, rt, 2, 1);
194 break; 219 break;
195 220
196 case OP_31_XOP_LHZX: 221 case OP_31_XOP_LHZX:
@@ -203,12 +228,12 @@ int kvmppc_emulate_instruction(struct kvm_run *run, struct kvm_vcpu *vcpu)
203 ra = get_ra(inst); 228 ra = get_ra(inst);
204 rb = get_rb(inst); 229 rb = get_rb(inst);
205 230
206 ea = vcpu->arch.gpr[rb]; 231 ea = kvmppc_get_gpr(vcpu, rb);
207 if (ra) 232 if (ra)
208 ea += vcpu->arch.gpr[ra]; 233 ea += kvmppc_get_gpr(vcpu, ra);
209 234
210 emulated = kvmppc_handle_load(run, vcpu, rt, 2, 1); 235 emulated = kvmppc_handle_load(run, vcpu, rt, 2, 1);
211 vcpu->arch.gpr[ra] = ea; 236 kvmppc_set_gpr(vcpu, ra, ea);
212 break; 237 break;
213 238
214 case OP_31_XOP_MFSPR: 239 case OP_31_XOP_MFSPR:
@@ -217,47 +242,49 @@ int kvmppc_emulate_instruction(struct kvm_run *run, struct kvm_vcpu *vcpu)
217 242
218 switch (sprn) { 243 switch (sprn) {
219 case SPRN_SRR0: 244 case SPRN_SRR0:
220 vcpu->arch.gpr[rt] = vcpu->arch.srr0; break; 245 kvmppc_set_gpr(vcpu, rt, vcpu->arch.srr0); break;
221 case SPRN_SRR1: 246 case SPRN_SRR1:
222 vcpu->arch.gpr[rt] = vcpu->arch.srr1; break; 247 kvmppc_set_gpr(vcpu, rt, vcpu->arch.srr1); break;
223 case SPRN_PVR: 248 case SPRN_PVR:
224 vcpu->arch.gpr[rt] = vcpu->arch.pvr; break; 249 kvmppc_set_gpr(vcpu, rt, vcpu->arch.pvr); break;
225 case SPRN_PIR: 250 case SPRN_PIR:
226 vcpu->arch.gpr[rt] = vcpu->vcpu_id; break; 251 kvmppc_set_gpr(vcpu, rt, vcpu->vcpu_id); break;
227 case SPRN_MSSSR0: 252 case SPRN_MSSSR0:
228 vcpu->arch.gpr[rt] = 0; break; 253 kvmppc_set_gpr(vcpu, rt, 0); break;
229 254
230 /* Note: mftb and TBRL/TBWL are user-accessible, so 255 /* Note: mftb and TBRL/TBWL are user-accessible, so
231 * the guest can always access the real TB anyways. 256 * the guest can always access the real TB anyways.
232 * In fact, we probably will never see these traps. */ 257 * In fact, we probably will never see these traps. */
233 case SPRN_TBWL: 258 case SPRN_TBWL:
234 vcpu->arch.gpr[rt] = get_tb() >> 32; break; 259 kvmppc_set_gpr(vcpu, rt, get_tb() >> 32); break;
235 case SPRN_TBWU: 260 case SPRN_TBWU:
236 vcpu->arch.gpr[rt] = get_tb(); break; 261 kvmppc_set_gpr(vcpu, rt, get_tb()); break;
237 262
238 case SPRN_SPRG0: 263 case SPRN_SPRG0:
239 vcpu->arch.gpr[rt] = vcpu->arch.sprg0; break; 264 kvmppc_set_gpr(vcpu, rt, vcpu->arch.sprg0); break;
240 case SPRN_SPRG1: 265 case SPRN_SPRG1:
241 vcpu->arch.gpr[rt] = vcpu->arch.sprg1; break; 266 kvmppc_set_gpr(vcpu, rt, vcpu->arch.sprg1); break;
242 case SPRN_SPRG2: 267 case SPRN_SPRG2:
243 vcpu->arch.gpr[rt] = vcpu->arch.sprg2; break; 268 kvmppc_set_gpr(vcpu, rt, vcpu->arch.sprg2); break;
244 case SPRN_SPRG3: 269 case SPRN_SPRG3:
245 vcpu->arch.gpr[rt] = vcpu->arch.sprg3; break; 270 kvmppc_set_gpr(vcpu, rt, vcpu->arch.sprg3); break;
246 /* Note: SPRG4-7 are user-readable, so we don't get 271 /* Note: SPRG4-7 are user-readable, so we don't get
247 * a trap. */ 272 * a trap. */
248 273
249 case SPRN_DEC: 274 case SPRN_DEC:
250 { 275 {
251 u64 jd = get_tb() - vcpu->arch.dec_jiffies; 276 u64 jd = get_tb() - vcpu->arch.dec_jiffies;
252 vcpu->arch.gpr[rt] = vcpu->arch.dec - jd; 277 kvmppc_set_gpr(vcpu, rt, vcpu->arch.dec - jd);
253 pr_debug(KERN_INFO "mfDEC: %x - %llx = %lx\n", vcpu->arch.dec, jd, vcpu->arch.gpr[rt]); 278 pr_debug(KERN_INFO "mfDEC: %x - %llx = %lx\n",
279 vcpu->arch.dec, jd,
280 kvmppc_get_gpr(vcpu, rt));
254 break; 281 break;
255 } 282 }
256 default: 283 default:
257 emulated = kvmppc_core_emulate_mfspr(vcpu, sprn, rt); 284 emulated = kvmppc_core_emulate_mfspr(vcpu, sprn, rt);
258 if (emulated == EMULATE_FAIL) { 285 if (emulated == EMULATE_FAIL) {
259 printk("mfspr: unknown spr %x\n", sprn); 286 printk("mfspr: unknown spr %x\n", sprn);
260 vcpu->arch.gpr[rt] = 0; 287 kvmppc_set_gpr(vcpu, rt, 0);
261 } 288 }
262 break; 289 break;
263 } 290 }
@@ -269,7 +296,7 @@ int kvmppc_emulate_instruction(struct kvm_run *run, struct kvm_vcpu *vcpu)
269 rb = get_rb(inst); 296 rb = get_rb(inst);
270 297
271 emulated = kvmppc_handle_store(run, vcpu, 298 emulated = kvmppc_handle_store(run, vcpu,
272 vcpu->arch.gpr[rs], 299 kvmppc_get_gpr(vcpu, rs),
273 2, 1); 300 2, 1);
274 break; 301 break;
275 302
@@ -278,14 +305,14 @@ int kvmppc_emulate_instruction(struct kvm_run *run, struct kvm_vcpu *vcpu)
278 ra = get_ra(inst); 305 ra = get_ra(inst);
279 rb = get_rb(inst); 306 rb = get_rb(inst);
280 307
281 ea = vcpu->arch.gpr[rb]; 308 ea = kvmppc_get_gpr(vcpu, rb);
282 if (ra) 309 if (ra)
283 ea += vcpu->arch.gpr[ra]; 310 ea += kvmppc_get_gpr(vcpu, ra);
284 311
285 emulated = kvmppc_handle_store(run, vcpu, 312 emulated = kvmppc_handle_store(run, vcpu,
286 vcpu->arch.gpr[rs], 313 kvmppc_get_gpr(vcpu, rs),
287 2, 1); 314 2, 1);
288 vcpu->arch.gpr[ra] = ea; 315 kvmppc_set_gpr(vcpu, ra, ea);
289 break; 316 break;
290 317
291 case OP_31_XOP_MTSPR: 318 case OP_31_XOP_MTSPR:
@@ -293,9 +320,9 @@ int kvmppc_emulate_instruction(struct kvm_run *run, struct kvm_vcpu *vcpu)
293 rs = get_rs(inst); 320 rs = get_rs(inst);
294 switch (sprn) { 321 switch (sprn) {
295 case SPRN_SRR0: 322 case SPRN_SRR0:
296 vcpu->arch.srr0 = vcpu->arch.gpr[rs]; break; 323 vcpu->arch.srr0 = kvmppc_get_gpr(vcpu, rs); break;
297 case SPRN_SRR1: 324 case SPRN_SRR1:
298 vcpu->arch.srr1 = vcpu->arch.gpr[rs]; break; 325 vcpu->arch.srr1 = kvmppc_get_gpr(vcpu, rs); break;
299 326
300 /* XXX We need to context-switch the timebase for 327 /* XXX We need to context-switch the timebase for
301 * watchdog and FIT. */ 328 * watchdog and FIT. */
@@ -305,18 +332,18 @@ int kvmppc_emulate_instruction(struct kvm_run *run, struct kvm_vcpu *vcpu)
305 case SPRN_MSSSR0: break; 332 case SPRN_MSSSR0: break;
306 333
307 case SPRN_DEC: 334 case SPRN_DEC:
308 vcpu->arch.dec = vcpu->arch.gpr[rs]; 335 vcpu->arch.dec = kvmppc_get_gpr(vcpu, rs);
309 kvmppc_emulate_dec(vcpu); 336 kvmppc_emulate_dec(vcpu);
310 break; 337 break;
311 338
312 case SPRN_SPRG0: 339 case SPRN_SPRG0:
313 vcpu->arch.sprg0 = vcpu->arch.gpr[rs]; break; 340 vcpu->arch.sprg0 = kvmppc_get_gpr(vcpu, rs); break;
314 case SPRN_SPRG1: 341 case SPRN_SPRG1:
315 vcpu->arch.sprg1 = vcpu->arch.gpr[rs]; break; 342 vcpu->arch.sprg1 = kvmppc_get_gpr(vcpu, rs); break;
316 case SPRN_SPRG2: 343 case SPRN_SPRG2:
317 vcpu->arch.sprg2 = vcpu->arch.gpr[rs]; break; 344 vcpu->arch.sprg2 = kvmppc_get_gpr(vcpu, rs); break;
318 case SPRN_SPRG3: 345 case SPRN_SPRG3:
319 vcpu->arch.sprg3 = vcpu->arch.gpr[rs]; break; 346 vcpu->arch.sprg3 = kvmppc_get_gpr(vcpu, rs); break;
320 347
321 default: 348 default:
322 emulated = kvmppc_core_emulate_mtspr(vcpu, sprn, rs); 349 emulated = kvmppc_core_emulate_mtspr(vcpu, sprn, rs);
@@ -348,7 +375,7 @@ int kvmppc_emulate_instruction(struct kvm_run *run, struct kvm_vcpu *vcpu)
348 rb = get_rb(inst); 375 rb = get_rb(inst);
349 376
350 emulated = kvmppc_handle_store(run, vcpu, 377 emulated = kvmppc_handle_store(run, vcpu,
351 vcpu->arch.gpr[rs], 378 kvmppc_get_gpr(vcpu, rs),
352 4, 0); 379 4, 0);
353 break; 380 break;
354 381
@@ -363,7 +390,7 @@ int kvmppc_emulate_instruction(struct kvm_run *run, struct kvm_vcpu *vcpu)
363 rb = get_rb(inst); 390 rb = get_rb(inst);
364 391
365 emulated = kvmppc_handle_store(run, vcpu, 392 emulated = kvmppc_handle_store(run, vcpu,
366 vcpu->arch.gpr[rs], 393 kvmppc_get_gpr(vcpu, rs),
367 2, 0); 394 2, 0);
368 break; 395 break;
369 396
@@ -382,7 +409,7 @@ int kvmppc_emulate_instruction(struct kvm_run *run, struct kvm_vcpu *vcpu)
382 ra = get_ra(inst); 409 ra = get_ra(inst);
383 rt = get_rt(inst); 410 rt = get_rt(inst);
384 emulated = kvmppc_handle_load(run, vcpu, rt, 4, 1); 411 emulated = kvmppc_handle_load(run, vcpu, rt, 4, 1);
385 vcpu->arch.gpr[ra] = vcpu->arch.paddr_accessed; 412 kvmppc_set_gpr(vcpu, ra, vcpu->arch.paddr_accessed);
386 break; 413 break;
387 414
388 case OP_LBZ: 415 case OP_LBZ:
@@ -394,35 +421,39 @@ int kvmppc_emulate_instruction(struct kvm_run *run, struct kvm_vcpu *vcpu)
394 ra = get_ra(inst); 421 ra = get_ra(inst);
395 rt = get_rt(inst); 422 rt = get_rt(inst);
396 emulated = kvmppc_handle_load(run, vcpu, rt, 1, 1); 423 emulated = kvmppc_handle_load(run, vcpu, rt, 1, 1);
397 vcpu->arch.gpr[ra] = vcpu->arch.paddr_accessed; 424 kvmppc_set_gpr(vcpu, ra, vcpu->arch.paddr_accessed);
398 break; 425 break;
399 426
400 case OP_STW: 427 case OP_STW:
401 rs = get_rs(inst); 428 rs = get_rs(inst);
402 emulated = kvmppc_handle_store(run, vcpu, vcpu->arch.gpr[rs], 429 emulated = kvmppc_handle_store(run, vcpu,
430 kvmppc_get_gpr(vcpu, rs),
403 4, 1); 431 4, 1);
404 break; 432 break;
405 433
406 case OP_STWU: 434 case OP_STWU:
407 ra = get_ra(inst); 435 ra = get_ra(inst);
408 rs = get_rs(inst); 436 rs = get_rs(inst);
409 emulated = kvmppc_handle_store(run, vcpu, vcpu->arch.gpr[rs], 437 emulated = kvmppc_handle_store(run, vcpu,
438 kvmppc_get_gpr(vcpu, rs),
410 4, 1); 439 4, 1);
411 vcpu->arch.gpr[ra] = vcpu->arch.paddr_accessed; 440 kvmppc_set_gpr(vcpu, ra, vcpu->arch.paddr_accessed);
412 break; 441 break;
413 442
414 case OP_STB: 443 case OP_STB:
415 rs = get_rs(inst); 444 rs = get_rs(inst);
416 emulated = kvmppc_handle_store(run, vcpu, vcpu->arch.gpr[rs], 445 emulated = kvmppc_handle_store(run, vcpu,
446 kvmppc_get_gpr(vcpu, rs),
417 1, 1); 447 1, 1);
418 break; 448 break;
419 449
420 case OP_STBU: 450 case OP_STBU:
421 ra = get_ra(inst); 451 ra = get_ra(inst);
422 rs = get_rs(inst); 452 rs = get_rs(inst);
423 emulated = kvmppc_handle_store(run, vcpu, vcpu->arch.gpr[rs], 453 emulated = kvmppc_handle_store(run, vcpu,
454 kvmppc_get_gpr(vcpu, rs),
424 1, 1); 455 1, 1);
425 vcpu->arch.gpr[ra] = vcpu->arch.paddr_accessed; 456 kvmppc_set_gpr(vcpu, ra, vcpu->arch.paddr_accessed);
426 break; 457 break;
427 458
428 case OP_LHZ: 459 case OP_LHZ:
@@ -434,21 +465,35 @@ int kvmppc_emulate_instruction(struct kvm_run *run, struct kvm_vcpu *vcpu)
434 ra = get_ra(inst); 465 ra = get_ra(inst);
435 rt = get_rt(inst); 466 rt = get_rt(inst);
436 emulated = kvmppc_handle_load(run, vcpu, rt, 2, 1); 467 emulated = kvmppc_handle_load(run, vcpu, rt, 2, 1);
437 vcpu->arch.gpr[ra] = vcpu->arch.paddr_accessed; 468 kvmppc_set_gpr(vcpu, ra, vcpu->arch.paddr_accessed);
469 break;
470
471 case OP_LHA:
472 rt = get_rt(inst);
473 emulated = kvmppc_handle_loads(run, vcpu, rt, 2, 1);
474 break;
475
476 case OP_LHAU:
477 ra = get_ra(inst);
478 rt = get_rt(inst);
479 emulated = kvmppc_handle_loads(run, vcpu, rt, 2, 1);
480 kvmppc_set_gpr(vcpu, ra, vcpu->arch.paddr_accessed);
438 break; 481 break;
439 482
440 case OP_STH: 483 case OP_STH:
441 rs = get_rs(inst); 484 rs = get_rs(inst);
442 emulated = kvmppc_handle_store(run, vcpu, vcpu->arch.gpr[rs], 485 emulated = kvmppc_handle_store(run, vcpu,
486 kvmppc_get_gpr(vcpu, rs),
443 2, 1); 487 2, 1);
444 break; 488 break;
445 489
446 case OP_STHU: 490 case OP_STHU:
447 ra = get_ra(inst); 491 ra = get_ra(inst);
448 rs = get_rs(inst); 492 rs = get_rs(inst);
449 emulated = kvmppc_handle_store(run, vcpu, vcpu->arch.gpr[rs], 493 emulated = kvmppc_handle_store(run, vcpu,
494 kvmppc_get_gpr(vcpu, rs),
450 2, 1); 495 2, 1);
451 vcpu->arch.gpr[ra] = vcpu->arch.paddr_accessed; 496 kvmppc_set_gpr(vcpu, ra, vcpu->arch.paddr_accessed);
452 break; 497 break;
453 498
454 default: 499 default:
@@ -457,17 +502,21 @@ int kvmppc_emulate_instruction(struct kvm_run *run, struct kvm_vcpu *vcpu)
457 502
458 if (emulated == EMULATE_FAIL) { 503 if (emulated == EMULATE_FAIL) {
459 emulated = kvmppc_core_emulate_op(run, vcpu, inst, &advance); 504 emulated = kvmppc_core_emulate_op(run, vcpu, inst, &advance);
460 if (emulated == EMULATE_FAIL) { 505 if (emulated == EMULATE_AGAIN) {
506 advance = 0;
507 } else if (emulated == EMULATE_FAIL) {
461 advance = 0; 508 advance = 0;
462 printk(KERN_ERR "Couldn't emulate instruction 0x%08x " 509 printk(KERN_ERR "Couldn't emulate instruction 0x%08x "
463 "(op %d xop %d)\n", inst, get_op(inst), get_xop(inst)); 510 "(op %d xop %d)\n", inst, get_op(inst), get_xop(inst));
511 kvmppc_core_queue_program(vcpu, 0);
464 } 512 }
465 } 513 }
466 514
467 trace_kvm_ppc_instr(inst, vcpu->arch.pc, emulated); 515 trace_kvm_ppc_instr(inst, kvmppc_get_pc(vcpu), emulated);
468 516
517 /* Advance past emulated instruction. */
469 if (advance) 518 if (advance)
470 vcpu->arch.pc += 4; /* Advance past emulated instruction. */ 519 kvmppc_set_pc(vcpu, kvmppc_get_pc(vcpu) + 4);
471 520
472 return emulated; 521 return emulated;
473} 522}
diff --git a/arch/powerpc/kvm/fpu.S b/arch/powerpc/kvm/fpu.S
new file mode 100644
index 000000000000..2b340a3eee90
--- /dev/null
+++ b/arch/powerpc/kvm/fpu.S
@@ -0,0 +1,273 @@
1/*
2 * FPU helper code to use FPU operations from inside the kernel
3 *
4 * Copyright (C) 2010 Alexander Graf (agraf@suse.de)
5 *
6 * This program is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU General Public License
8 * as published by the Free Software Foundation; either version
9 * 2 of the License, or (at your option) any later version.
10 *
11 */
12
13#include <asm/reg.h>
14#include <asm/page.h>
15#include <asm/mmu.h>
16#include <asm/pgtable.h>
17#include <asm/cputable.h>
18#include <asm/cache.h>
19#include <asm/thread_info.h>
20#include <asm/ppc_asm.h>
21#include <asm/asm-offsets.h>
22
23/* Instructions operating on single parameters */
24
25/*
26 * Single operation with one input operand
27 *
28 * R3 = (double*)&fpscr
29 * R4 = (short*)&result
30 * R5 = (short*)&param1
31 */
32#define FPS_ONE_IN(name) \
33_GLOBAL(fps_ ## name); \
34 lfd 0,0(r3); /* load up fpscr value */ \
35 MTFSF_L(0); \
36 lfs 0,0(r5); \
37 \
38 name 0,0; \
39 \
40 stfs 0,0(r4); \
41 mffs 0; \
42 stfd 0,0(r3); /* save new fpscr value */ \
43 blr
44
45/*
46 * Single operation with two input operands
47 *
48 * R3 = (double*)&fpscr
49 * R4 = (short*)&result
50 * R5 = (short*)&param1
51 * R6 = (short*)&param2
52 */
53#define FPS_TWO_IN(name) \
54_GLOBAL(fps_ ## name); \
55 lfd 0,0(r3); /* load up fpscr value */ \
56 MTFSF_L(0); \
57 lfs 0,0(r5); \
58 lfs 1,0(r6); \
59 \
60 name 0,0,1; \
61 \
62 stfs 0,0(r4); \
63 mffs 0; \
64 stfd 0,0(r3); /* save new fpscr value */ \
65 blr
66
67/*
68 * Single operation with three input operands
69 *
70 * R3 = (double*)&fpscr
71 * R4 = (short*)&result
72 * R5 = (short*)&param1
73 * R6 = (short*)&param2
74 * R7 = (short*)&param3
75 */
76#define FPS_THREE_IN(name) \
77_GLOBAL(fps_ ## name); \
78 lfd 0,0(r3); /* load up fpscr value */ \
79 MTFSF_L(0); \
80 lfs 0,0(r5); \
81 lfs 1,0(r6); \
82 lfs 2,0(r7); \
83 \
84 name 0,0,1,2; \
85 \
86 stfs 0,0(r4); \
87 mffs 0; \
88 stfd 0,0(r3); /* save new fpscr value */ \
89 blr
90
91FPS_ONE_IN(fres)
92FPS_ONE_IN(frsqrte)
93FPS_ONE_IN(fsqrts)
94FPS_TWO_IN(fadds)
95FPS_TWO_IN(fdivs)
96FPS_TWO_IN(fmuls)
97FPS_TWO_IN(fsubs)
98FPS_THREE_IN(fmadds)
99FPS_THREE_IN(fmsubs)
100FPS_THREE_IN(fnmadds)
101FPS_THREE_IN(fnmsubs)
102FPS_THREE_IN(fsel)
103
104
105/* Instructions operating on double parameters */
106
107/*
108 * Beginning of double instruction processing
109 *
110 * R3 = (double*)&fpscr
111 * R4 = (u32*)&cr
112 * R5 = (double*)&result
113 * R6 = (double*)&param1
114 * R7 = (double*)&param2 [load_two]
115 * R8 = (double*)&param3 [load_three]
116 * LR = instruction call function
117 */
118fpd_load_three:
119 lfd 2,0(r8) /* load param3 */
120fpd_load_two:
121 lfd 1,0(r7) /* load param2 */
122fpd_load_one:
123 lfd 0,0(r6) /* load param1 */
124fpd_load_none:
125 lfd 3,0(r3) /* load up fpscr value */
126 MTFSF_L(3)
127 lwz r6, 0(r4) /* load cr */
128 mtcr r6
129 blr
130
131/*
132 * End of double instruction processing
133 *
134 * R3 = (double*)&fpscr
135 * R4 = (u32*)&cr
136 * R5 = (double*)&result
137 * LR = caller of instruction call function
138 */
139fpd_return:
140 mfcr r6
141 stfd 0,0(r5) /* save result */
142 mffs 0
143 stfd 0,0(r3) /* save new fpscr value */
144 stw r6,0(r4) /* save new cr value */
145 blr
146
147/*
148 * Double operation with no input operand
149 *
150 * R3 = (double*)&fpscr
151 * R4 = (u32*)&cr
152 * R5 = (double*)&result
153 */
154#define FPD_NONE_IN(name) \
155_GLOBAL(fpd_ ## name); \
156 mflr r12; \
157 bl fpd_load_none; \
158 mtlr r12; \
159 \
160 name. 0; /* call instruction */ \
161 b fpd_return
162
163/*
164 * Double operation with one input operand
165 *
166 * R3 = (double*)&fpscr
167 * R4 = (u32*)&cr
168 * R5 = (double*)&result
169 * R6 = (double*)&param1
170 */
171#define FPD_ONE_IN(name) \
172_GLOBAL(fpd_ ## name); \
173 mflr r12; \
174 bl fpd_load_one; \
175 mtlr r12; \
176 \
177 name. 0,0; /* call instruction */ \
178 b fpd_return
179
180/*
181 * Double operation with two input operands
182 *
183 * R3 = (double*)&fpscr
184 * R4 = (u32*)&cr
185 * R5 = (double*)&result
186 * R6 = (double*)&param1
187 * R7 = (double*)&param2
188 * R8 = (double*)&param3
189 */
190#define FPD_TWO_IN(name) \
191_GLOBAL(fpd_ ## name); \
192 mflr r12; \
193 bl fpd_load_two; \
194 mtlr r12; \
195 \
196 name. 0,0,1; /* call instruction */ \
197 b fpd_return
198
199/*
200 * CR Double operation with two input operands
201 *
202 * R3 = (double*)&fpscr
203 * R4 = (u32*)&cr
204 * R5 = (double*)&param1
205 * R6 = (double*)&param2
206 * R7 = (double*)&param3
207 */
208#define FPD_TWO_IN_CR(name) \
209_GLOBAL(fpd_ ## name); \
210 lfd 1,0(r6); /* load param2 */ \
211 lfd 0,0(r5); /* load param1 */ \
212 lfd 3,0(r3); /* load up fpscr value */ \
213 MTFSF_L(3); \
214 lwz r6, 0(r4); /* load cr */ \
215 mtcr r6; \
216 \
217 name 0,0,1; /* call instruction */ \
218 mfcr r6; \
219 mffs 0; \
220 stfd 0,0(r3); /* save new fpscr value */ \
221 stw r6,0(r4); /* save new cr value */ \
222 blr
223
224/*
225 * Double operation with three input operands
226 *
227 * R3 = (double*)&fpscr
228 * R4 = (u32*)&cr
229 * R5 = (double*)&result
230 * R6 = (double*)&param1
231 * R7 = (double*)&param2
232 * R8 = (double*)&param3
233 */
234#define FPD_THREE_IN(name) \
235_GLOBAL(fpd_ ## name); \
236 mflr r12; \
237 bl fpd_load_three; \
238 mtlr r12; \
239 \
240 name. 0,0,1,2; /* call instruction */ \
241 b fpd_return
242
243FPD_ONE_IN(fsqrts)
244FPD_ONE_IN(frsqrtes)
245FPD_ONE_IN(fres)
246FPD_ONE_IN(frsp)
247FPD_ONE_IN(fctiw)
248FPD_ONE_IN(fctiwz)
249FPD_ONE_IN(fsqrt)
250FPD_ONE_IN(fre)
251FPD_ONE_IN(frsqrte)
252FPD_ONE_IN(fneg)
253FPD_ONE_IN(fabs)
254FPD_TWO_IN(fadds)
255FPD_TWO_IN(fsubs)
256FPD_TWO_IN(fdivs)
257FPD_TWO_IN(fmuls)
258FPD_TWO_IN_CR(fcmpu)
259FPD_TWO_IN(fcpsgn)
260FPD_TWO_IN(fdiv)
261FPD_TWO_IN(fadd)
262FPD_TWO_IN(fmul)
263FPD_TWO_IN_CR(fcmpo)
264FPD_TWO_IN(fsub)
265FPD_THREE_IN(fmsubs)
266FPD_THREE_IN(fmadds)
267FPD_THREE_IN(fnmsubs)
268FPD_THREE_IN(fnmadds)
269FPD_THREE_IN(fsel)
270FPD_THREE_IN(fmsub)
271FPD_THREE_IN(fmadd)
272FPD_THREE_IN(fnmsub)
273FPD_THREE_IN(fnmadd)
diff --git a/arch/powerpc/kvm/powerpc.c b/arch/powerpc/kvm/powerpc.c
index f06cf93b178e..9b8683f39e05 100644
--- a/arch/powerpc/kvm/powerpc.c
+++ b/arch/powerpc/kvm/powerpc.c
@@ -25,6 +25,7 @@
25#include <linux/vmalloc.h> 25#include <linux/vmalloc.h>
26#include <linux/hrtimer.h> 26#include <linux/hrtimer.h>
27#include <linux/fs.h> 27#include <linux/fs.h>
28#include <linux/slab.h>
28#include <asm/cputable.h> 29#include <asm/cputable.h>
29#include <asm/uaccess.h> 30#include <asm/uaccess.h>
30#include <asm/kvm_ppc.h> 31#include <asm/kvm_ppc.h>
@@ -69,7 +70,7 @@ int kvmppc_emulate_mmio(struct kvm_run *run, struct kvm_vcpu *vcpu)
69 case EMULATE_FAIL: 70 case EMULATE_FAIL:
70 /* XXX Deliver Program interrupt to guest. */ 71 /* XXX Deliver Program interrupt to guest. */
71 printk(KERN_EMERG "%s: emulation failed (%08x)\n", __func__, 72 printk(KERN_EMERG "%s: emulation failed (%08x)\n", __func__,
72 vcpu->arch.last_inst); 73 kvmppc_get_last_inst(vcpu));
73 r = RESUME_HOST; 74 r = RESUME_HOST;
74 break; 75 break;
75 default: 76 default:
@@ -137,6 +138,7 @@ void kvm_arch_destroy_vm(struct kvm *kvm)
137{ 138{
138 kvmppc_free_vcpus(kvm); 139 kvmppc_free_vcpus(kvm);
139 kvm_free_physmem(kvm); 140 kvm_free_physmem(kvm);
141 cleanup_srcu_struct(&kvm->srcu);
140 kfree(kvm); 142 kfree(kvm);
141} 143}
142 144
@@ -146,6 +148,10 @@ int kvm_dev_ioctl_check_extension(long ext)
146 148
147 switch (ext) { 149 switch (ext) {
148 case KVM_CAP_PPC_SEGSTATE: 150 case KVM_CAP_PPC_SEGSTATE:
151 case KVM_CAP_PPC_PAIRED_SINGLES:
152 case KVM_CAP_PPC_UNSET_IRQ:
153 case KVM_CAP_ENABLE_CAP:
154 case KVM_CAP_PPC_OSI:
149 r = 1; 155 r = 1;
150 break; 156 break;
151 case KVM_CAP_COALESCED_MMIO: 157 case KVM_CAP_COALESCED_MMIO:
@@ -165,14 +171,24 @@ long kvm_arch_dev_ioctl(struct file *filp,
165 return -EINVAL; 171 return -EINVAL;
166} 172}
167 173
168int kvm_arch_set_memory_region(struct kvm *kvm, 174int kvm_arch_prepare_memory_region(struct kvm *kvm,
169 struct kvm_userspace_memory_region *mem, 175 struct kvm_memory_slot *memslot,
170 struct kvm_memory_slot old, 176 struct kvm_memory_slot old,
171 int user_alloc) 177 struct kvm_userspace_memory_region *mem,
178 int user_alloc)
172{ 179{
173 return 0; 180 return 0;
174} 181}
175 182
183void kvm_arch_commit_memory_region(struct kvm *kvm,
184 struct kvm_userspace_memory_region *mem,
185 struct kvm_memory_slot old,
186 int user_alloc)
187{
188 return;
189}
190
191
176void kvm_arch_flush_shadow(struct kvm *kvm) 192void kvm_arch_flush_shadow(struct kvm *kvm)
177{ 193{
178} 194}
@@ -181,12 +197,17 @@ struct kvm_vcpu *kvm_arch_vcpu_create(struct kvm *kvm, unsigned int id)
181{ 197{
182 struct kvm_vcpu *vcpu; 198 struct kvm_vcpu *vcpu;
183 vcpu = kvmppc_core_vcpu_create(kvm, id); 199 vcpu = kvmppc_core_vcpu_create(kvm, id);
184 kvmppc_create_vcpu_debugfs(vcpu, id); 200 if (!IS_ERR(vcpu))
201 kvmppc_create_vcpu_debugfs(vcpu, id);
185 return vcpu; 202 return vcpu;
186} 203}
187 204
188void kvm_arch_vcpu_free(struct kvm_vcpu *vcpu) 205void kvm_arch_vcpu_free(struct kvm_vcpu *vcpu)
189{ 206{
207 /* Make sure we're not using the vcpu anymore */
208 hrtimer_cancel(&vcpu->arch.dec_timer);
209 tasklet_kill(&vcpu->arch.tasklet);
210
190 kvmppc_remove_vcpu_debugfs(vcpu); 211 kvmppc_remove_vcpu_debugfs(vcpu);
191 kvmppc_core_vcpu_free(vcpu); 212 kvmppc_core_vcpu_free(vcpu);
192} 213}
@@ -260,34 +281,72 @@ int kvm_arch_vcpu_ioctl_set_guest_debug(struct kvm_vcpu *vcpu,
260static void kvmppc_complete_dcr_load(struct kvm_vcpu *vcpu, 281static void kvmppc_complete_dcr_load(struct kvm_vcpu *vcpu,
261 struct kvm_run *run) 282 struct kvm_run *run)
262{ 283{
263 ulong *gpr = &vcpu->arch.gpr[vcpu->arch.io_gpr]; 284 kvmppc_set_gpr(vcpu, vcpu->arch.io_gpr, run->dcr.data);
264 *gpr = run->dcr.data;
265} 285}
266 286
267static void kvmppc_complete_mmio_load(struct kvm_vcpu *vcpu, 287static void kvmppc_complete_mmio_load(struct kvm_vcpu *vcpu,
268 struct kvm_run *run) 288 struct kvm_run *run)
269{ 289{
270 ulong *gpr = &vcpu->arch.gpr[vcpu->arch.io_gpr]; 290 u64 gpr;
271 291
272 if (run->mmio.len > sizeof(*gpr)) { 292 if (run->mmio.len > sizeof(gpr)) {
273 printk(KERN_ERR "bad MMIO length: %d\n", run->mmio.len); 293 printk(KERN_ERR "bad MMIO length: %d\n", run->mmio.len);
274 return; 294 return;
275 } 295 }
276 296
277 if (vcpu->arch.mmio_is_bigendian) { 297 if (vcpu->arch.mmio_is_bigendian) {
278 switch (run->mmio.len) { 298 switch (run->mmio.len) {
279 case 4: *gpr = *(u32 *)run->mmio.data; break; 299 case 8: gpr = *(u64 *)run->mmio.data; break;
280 case 2: *gpr = *(u16 *)run->mmio.data; break; 300 case 4: gpr = *(u32 *)run->mmio.data; break;
281 case 1: *gpr = *(u8 *)run->mmio.data; break; 301 case 2: gpr = *(u16 *)run->mmio.data; break;
302 case 1: gpr = *(u8 *)run->mmio.data; break;
282 } 303 }
283 } else { 304 } else {
284 /* Convert BE data from userland back to LE. */ 305 /* Convert BE data from userland back to LE. */
285 switch (run->mmio.len) { 306 switch (run->mmio.len) {
286 case 4: *gpr = ld_le32((u32 *)run->mmio.data); break; 307 case 4: gpr = ld_le32((u32 *)run->mmio.data); break;
287 case 2: *gpr = ld_le16((u16 *)run->mmio.data); break; 308 case 2: gpr = ld_le16((u16 *)run->mmio.data); break;
288 case 1: *gpr = *(u8 *)run->mmio.data; break; 309 case 1: gpr = *(u8 *)run->mmio.data; break;
289 } 310 }
290 } 311 }
312
313 if (vcpu->arch.mmio_sign_extend) {
314 switch (run->mmio.len) {
315#ifdef CONFIG_PPC64
316 case 4:
317 gpr = (s64)(s32)gpr;
318 break;
319#endif
320 case 2:
321 gpr = (s64)(s16)gpr;
322 break;
323 case 1:
324 gpr = (s64)(s8)gpr;
325 break;
326 }
327 }
328
329 kvmppc_set_gpr(vcpu, vcpu->arch.io_gpr, gpr);
330
331 switch (vcpu->arch.io_gpr & KVM_REG_EXT_MASK) {
332 case KVM_REG_GPR:
333 kvmppc_set_gpr(vcpu, vcpu->arch.io_gpr, gpr);
334 break;
335 case KVM_REG_FPR:
336 vcpu->arch.fpr[vcpu->arch.io_gpr & KVM_REG_MASK] = gpr;
337 break;
338#ifdef CONFIG_PPC_BOOK3S
339 case KVM_REG_QPR:
340 vcpu->arch.qpr[vcpu->arch.io_gpr & KVM_REG_MASK] = gpr;
341 break;
342 case KVM_REG_FQPR:
343 vcpu->arch.fpr[vcpu->arch.io_gpr & KVM_REG_MASK] = gpr;
344 vcpu->arch.qpr[vcpu->arch.io_gpr & KVM_REG_MASK] = gpr;
345 break;
346#endif
347 default:
348 BUG();
349 }
291} 350}
292 351
293int kvmppc_handle_load(struct kvm_run *run, struct kvm_vcpu *vcpu, 352int kvmppc_handle_load(struct kvm_run *run, struct kvm_vcpu *vcpu,
@@ -306,12 +365,25 @@ int kvmppc_handle_load(struct kvm_run *run, struct kvm_vcpu *vcpu,
306 vcpu->arch.mmio_is_bigendian = is_bigendian; 365 vcpu->arch.mmio_is_bigendian = is_bigendian;
307 vcpu->mmio_needed = 1; 366 vcpu->mmio_needed = 1;
308 vcpu->mmio_is_write = 0; 367 vcpu->mmio_is_write = 0;
368 vcpu->arch.mmio_sign_extend = 0;
309 369
310 return EMULATE_DO_MMIO; 370 return EMULATE_DO_MMIO;
311} 371}
312 372
373/* Same as above, but sign extends */
374int kvmppc_handle_loads(struct kvm_run *run, struct kvm_vcpu *vcpu,
375 unsigned int rt, unsigned int bytes, int is_bigendian)
376{
377 int r;
378
379 r = kvmppc_handle_load(run, vcpu, rt, bytes, is_bigendian);
380 vcpu->arch.mmio_sign_extend = 1;
381
382 return r;
383}
384
313int kvmppc_handle_store(struct kvm_run *run, struct kvm_vcpu *vcpu, 385int kvmppc_handle_store(struct kvm_run *run, struct kvm_vcpu *vcpu,
314 u32 val, unsigned int bytes, int is_bigendian) 386 u64 val, unsigned int bytes, int is_bigendian)
315{ 387{
316 void *data = run->mmio.data; 388 void *data = run->mmio.data;
317 389
@@ -329,6 +401,7 @@ int kvmppc_handle_store(struct kvm_run *run, struct kvm_vcpu *vcpu,
329 /* Store the value at the lowest bytes in 'data'. */ 401 /* Store the value at the lowest bytes in 'data'. */
330 if (is_bigendian) { 402 if (is_bigendian) {
331 switch (bytes) { 403 switch (bytes) {
404 case 8: *(u64 *)data = val; break;
332 case 4: *(u32 *)data = val; break; 405 case 4: *(u32 *)data = val; break;
333 case 2: *(u16 *)data = val; break; 406 case 2: *(u16 *)data = val; break;
334 case 1: *(u8 *)data = val; break; 407 case 1: *(u8 *)data = val; break;
@@ -363,6 +436,13 @@ int kvm_arch_vcpu_ioctl_run(struct kvm_vcpu *vcpu, struct kvm_run *run)
363 if (!vcpu->arch.dcr_is_write) 436 if (!vcpu->arch.dcr_is_write)
364 kvmppc_complete_dcr_load(vcpu, run); 437 kvmppc_complete_dcr_load(vcpu, run);
365 vcpu->arch.dcr_needed = 0; 438 vcpu->arch.dcr_needed = 0;
439 } else if (vcpu->arch.osi_needed) {
440 u64 *gprs = run->osi.gprs;
441 int i;
442
443 for (i = 0; i < 32; i++)
444 kvmppc_set_gpr(vcpu, i, gprs[i]);
445 vcpu->arch.osi_needed = 0;
366 } 446 }
367 447
368 kvmppc_core_deliver_interrupts(vcpu); 448 kvmppc_core_deliver_interrupts(vcpu);
@@ -383,7 +463,10 @@ int kvm_arch_vcpu_ioctl_run(struct kvm_vcpu *vcpu, struct kvm_run *run)
383 463
384int kvm_vcpu_ioctl_interrupt(struct kvm_vcpu *vcpu, struct kvm_interrupt *irq) 464int kvm_vcpu_ioctl_interrupt(struct kvm_vcpu *vcpu, struct kvm_interrupt *irq)
385{ 465{
386 kvmppc_core_queue_external(vcpu, irq); 466 if (irq->irq == KVM_INTERRUPT_UNSET)
467 kvmppc_core_dequeue_external(vcpu, irq);
468 else
469 kvmppc_core_queue_external(vcpu, irq);
387 470
388 if (waitqueue_active(&vcpu->wq)) { 471 if (waitqueue_active(&vcpu->wq)) {
389 wake_up_interruptible(&vcpu->wq); 472 wake_up_interruptible(&vcpu->wq);
@@ -393,6 +476,27 @@ int kvm_vcpu_ioctl_interrupt(struct kvm_vcpu *vcpu, struct kvm_interrupt *irq)
393 return 0; 476 return 0;
394} 477}
395 478
479static int kvm_vcpu_ioctl_enable_cap(struct kvm_vcpu *vcpu,
480 struct kvm_enable_cap *cap)
481{
482 int r;
483
484 if (cap->flags)
485 return -EINVAL;
486
487 switch (cap->cap) {
488 case KVM_CAP_PPC_OSI:
489 r = 0;
490 vcpu->arch.osi_enabled = true;
491 break;
492 default:
493 r = -EINVAL;
494 break;
495 }
496
497 return r;
498}
499
396int kvm_arch_vcpu_ioctl_get_mpstate(struct kvm_vcpu *vcpu, 500int kvm_arch_vcpu_ioctl_get_mpstate(struct kvm_vcpu *vcpu,
397 struct kvm_mp_state *mp_state) 501 struct kvm_mp_state *mp_state)
398{ 502{
@@ -421,6 +525,15 @@ long kvm_arch_vcpu_ioctl(struct file *filp,
421 r = kvm_vcpu_ioctl_interrupt(vcpu, &irq); 525 r = kvm_vcpu_ioctl_interrupt(vcpu, &irq);
422 break; 526 break;
423 } 527 }
528 case KVM_ENABLE_CAP:
529 {
530 struct kvm_enable_cap cap;
531 r = -EFAULT;
532 if (copy_from_user(&cap, argp, sizeof(cap)))
533 goto out;
534 r = kvm_vcpu_ioctl_enable_cap(vcpu, &cap);
535 break;
536 }
424 default: 537 default:
425 r = -EINVAL; 538 r = -EINVAL;
426 } 539 }
diff --git a/arch/powerpc/lib/Makefile b/arch/powerpc/lib/Makefile
index 3040dac18a37..111da1c03a11 100644
--- a/arch/powerpc/lib/Makefile
+++ b/arch/powerpc/lib/Makefile
@@ -12,8 +12,8 @@ CFLAGS_REMOVE_code-patching.o = -pg
12CFLAGS_REMOVE_feature-fixups.o = -pg 12CFLAGS_REMOVE_feature-fixups.o = -pg
13 13
14obj-y := string.o alloc.o \ 14obj-y := string.o alloc.o \
15 checksum_$(CONFIG_WORD_SIZE).o 15 checksum_$(CONFIG_WORD_SIZE).o crtsavres.o
16obj-$(CONFIG_PPC32) += div64.o copy_32.o crtsavres.o 16obj-$(CONFIG_PPC32) += div64.o copy_32.o
17obj-$(CONFIG_HAS_IOMEM) += devres.o 17obj-$(CONFIG_HAS_IOMEM) += devres.o
18 18
19obj-$(CONFIG_PPC64) += copypage_64.o copyuser_64.o \ 19obj-$(CONFIG_PPC64) += copypage_64.o copyuser_64.o \
diff --git a/arch/powerpc/lib/copypage_64.S b/arch/powerpc/lib/copypage_64.S
index e68beac0a171..4d4eeb900486 100644
--- a/arch/powerpc/lib/copypage_64.S
+++ b/arch/powerpc/lib/copypage_64.S
@@ -43,62 +43,62 @@ END_FTR_SECTION_IFSET(CPU_FTR_CP_USE_DCBTZ)
43 ld r7,16(r4) 43 ld r7,16(r4)
44 ldu r8,24(r4) 44 ldu r8,24(r4)
451: std r5,8(r3) 451: std r5,8(r3)
46 ld r9,8(r4)
47 std r6,16(r3) 46 std r6,16(r3)
47 ld r9,8(r4)
48 ld r10,16(r4) 48 ld r10,16(r4)
49 std r7,24(r3) 49 std r7,24(r3)
50 ld r11,24(r4)
51 std r8,32(r3) 50 std r8,32(r3)
51 ld r11,24(r4)
52 ld r12,32(r4) 52 ld r12,32(r4)
53 std r9,40(r3) 53 std r9,40(r3)
54 ld r5,40(r4)
55 std r10,48(r3) 54 std r10,48(r3)
55 ld r5,40(r4)
56 ld r6,48(r4) 56 ld r6,48(r4)
57 std r11,56(r3) 57 std r11,56(r3)
58 ld r7,56(r4)
59 std r12,64(r3) 58 std r12,64(r3)
59 ld r7,56(r4)
60 ld r8,64(r4) 60 ld r8,64(r4)
61 std r5,72(r3) 61 std r5,72(r3)
62 ld r9,72(r4)
63 std r6,80(r3) 62 std r6,80(r3)
63 ld r9,72(r4)
64 ld r10,80(r4) 64 ld r10,80(r4)
65 std r7,88(r3) 65 std r7,88(r3)
66 ld r11,88(r4)
67 std r8,96(r3) 66 std r8,96(r3)
67 ld r11,88(r4)
68 ld r12,96(r4) 68 ld r12,96(r4)
69 std r9,104(r3) 69 std r9,104(r3)
70 ld r5,104(r4)
71 std r10,112(r3) 70 std r10,112(r3)
71 ld r5,104(r4)
72 ld r6,112(r4) 72 ld r6,112(r4)
73 std r11,120(r3) 73 std r11,120(r3)
74 ld r7,120(r4)
75 stdu r12,128(r3) 74 stdu r12,128(r3)
75 ld r7,120(r4)
76 ldu r8,128(r4) 76 ldu r8,128(r4)
77 bdnz 1b 77 bdnz 1b
78 78
79 std r5,8(r3) 79 std r5,8(r3)
80 ld r9,8(r4)
81 std r6,16(r3) 80 std r6,16(r3)
81 ld r9,8(r4)
82 ld r10,16(r4) 82 ld r10,16(r4)
83 std r7,24(r3) 83 std r7,24(r3)
84 ld r11,24(r4)
85 std r8,32(r3) 84 std r8,32(r3)
85 ld r11,24(r4)
86 ld r12,32(r4) 86 ld r12,32(r4)
87 std r9,40(r3) 87 std r9,40(r3)
88 ld r5,40(r4)
89 std r10,48(r3) 88 std r10,48(r3)
89 ld r5,40(r4)
90 ld r6,48(r4) 90 ld r6,48(r4)
91 std r11,56(r3) 91 std r11,56(r3)
92 ld r7,56(r4)
93 std r12,64(r3) 92 std r12,64(r3)
93 ld r7,56(r4)
94 ld r8,64(r4) 94 ld r8,64(r4)
95 std r5,72(r3) 95 std r5,72(r3)
96 ld r9,72(r4)
97 std r6,80(r3) 96 std r6,80(r3)
97 ld r9,72(r4)
98 ld r10,80(r4) 98 ld r10,80(r4)
99 std r7,88(r3) 99 std r7,88(r3)
100 ld r11,88(r4)
101 std r8,96(r3) 100 std r8,96(r3)
101 ld r11,88(r4)
102 ld r12,96(r4) 102 ld r12,96(r4)
103 std r9,104(r3) 103 std r9,104(r3)
104 std r10,112(r3) 104 std r10,112(r3)
diff --git a/arch/powerpc/lib/copyuser_64.S b/arch/powerpc/lib/copyuser_64.S
index 693b14a778fa..578b625d6a3c 100644
--- a/arch/powerpc/lib/copyuser_64.S
+++ b/arch/powerpc/lib/copyuser_64.S
@@ -44,37 +44,55 @@ BEGIN_FTR_SECTION
44 andi. r0,r4,7 44 andi. r0,r4,7
45 bne .Lsrc_unaligned 45 bne .Lsrc_unaligned
46END_FTR_SECTION_IFCLR(CPU_FTR_UNALIGNED_LD_STD) 46END_FTR_SECTION_IFCLR(CPU_FTR_UNALIGNED_LD_STD)
47 srdi r7,r5,4 47 blt cr1,.Ldo_tail /* if < 16 bytes to copy */
4820: ld r9,0(r4) 48 srdi r0,r5,5
49 addi r4,r4,-8 49 cmpdi cr1,r0,0
50 mtctr r7 5020: ld r7,0(r4)
51 andi. r5,r5,7 51220: ld r6,8(r4)
52 bf cr7*4+0,22f 52 addi r4,r4,16
53 addi r3,r3,8 53 mtctr r0
54 addi r4,r4,8 54 andi. r0,r5,0x10
55 mr r8,r9 55 beq 22f
56 blt cr1,72f 56 addi r3,r3,16
5721: ld r9,8(r4) 57 addi r4,r4,-16
5870: std r8,8(r3) 58 mr r9,r7
5922: ldu r8,16(r4) 59 mr r8,r6
6071: stdu r9,16(r3) 60 beq cr1,72f
6121: ld r7,16(r4)
62221: ld r6,24(r4)
63 addi r4,r4,32
6470: std r9,0(r3)
65270: std r8,8(r3)
6622: ld r9,0(r4)
67222: ld r8,8(r4)
6871: std r7,16(r3)
69271: std r6,24(r3)
70 addi r3,r3,32
61 bdnz 21b 71 bdnz 21b
6272: std r8,8(r3) 7272: std r9,0(r3)
73272: std r8,8(r3)
74 andi. r5,r5,0xf
63 beq+ 3f 75 beq+ 3f
64 addi r3,r3,16 76 addi r4,r4,16
65.Ldo_tail: 77.Ldo_tail:
66 bf cr7*4+1,1f 78 addi r3,r3,16
6723: lwz r9,8(r4) 79 bf cr7*4+0,246f
80244: ld r9,0(r4)
81 addi r4,r4,8
82245: std r9,0(r3)
83 addi r3,r3,8
84246: bf cr7*4+1,1f
8523: lwz r9,0(r4)
68 addi r4,r4,4 86 addi r4,r4,4
6973: stw r9,0(r3) 8773: stw r9,0(r3)
70 addi r3,r3,4 88 addi r3,r3,4
711: bf cr7*4+2,2f 891: bf cr7*4+2,2f
7244: lhz r9,8(r4) 9044: lhz r9,0(r4)
73 addi r4,r4,2 91 addi r4,r4,2
7474: sth r9,0(r3) 9274: sth r9,0(r3)
75 addi r3,r3,2 93 addi r3,r3,2
762: bf cr7*4+3,3f 942: bf cr7*4+3,3f
7745: lbz r9,8(r4) 9545: lbz r9,0(r4)
7875: stb r9,0(r3) 9675: stb r9,0(r3)
793: li r3,0 973: li r3,0
80 blr 98 blr
@@ -220,7 +238,9 @@ END_FTR_SECTION_IFCLR(CPU_FTR_UNALIGNED_LD_STD)
220131: 238131:
221 addi r3,r3,8 239 addi r3,r3,8
222120: 240120:
241320:
223122: 242122:
243322:
224124: 244124:
225125: 245125:
226126: 246126:
@@ -229,9 +249,11 @@ END_FTR_SECTION_IFCLR(CPU_FTR_UNALIGNED_LD_STD)
229129: 249129:
230133: 250133:
231 addi r3,r3,8 251 addi r3,r3,8
232121:
233132: 252132:
234 addi r3,r3,8 253 addi r3,r3,8
254121:
255321:
256344:
235134: 257134:
236135: 258135:
237138: 259138:
@@ -303,18 +325,22 @@ END_FTR_SECTION_IFCLR(CPU_FTR_UNALIGNED_LD_STD)
303183: 325183:
304 add r3,r3,r7 326 add r3,r3,r7
305 b 1f 327 b 1f
328371:
306180: 329180:
307 addi r3,r3,8 330 addi r3,r3,8
308171: 331171:
309177: 332177:
310 addi r3,r3,8 333 addi r3,r3,8
311170: 334370:
312172: 335372:
313176: 336176:
314178: 337178:
315 addi r3,r3,4 338 addi r3,r3,4
316185: 339185:
317 addi r3,r3,4 340 addi r3,r3,4
341170:
342172:
343345:
318173: 344173:
319174: 345174:
320175: 346175:
@@ -341,11 +367,19 @@ END_FTR_SECTION_IFCLR(CPU_FTR_UNALIGNED_LD_STD)
341 .section __ex_table,"a" 367 .section __ex_table,"a"
342 .align 3 368 .align 3
343 .llong 20b,120b 369 .llong 20b,120b
370 .llong 220b,320b
344 .llong 21b,121b 371 .llong 21b,121b
372 .llong 221b,321b
345 .llong 70b,170b 373 .llong 70b,170b
374 .llong 270b,370b
346 .llong 22b,122b 375 .llong 22b,122b
376 .llong 222b,322b
347 .llong 71b,171b 377 .llong 71b,171b
378 .llong 271b,371b
348 .llong 72b,172b 379 .llong 72b,172b
380 .llong 272b,372b
381 .llong 244b,344b
382 .llong 245b,345b
349 .llong 23b,123b 383 .llong 23b,123b
350 .llong 73b,173b 384 .llong 73b,173b
351 .llong 44b,144b 385 .llong 44b,144b
diff --git a/arch/powerpc/lib/crtsavres.S b/arch/powerpc/lib/crtsavres.S
index 70a9cd8a3008..1c893f05d224 100644
--- a/arch/powerpc/lib/crtsavres.S
+++ b/arch/powerpc/lib/crtsavres.S
@@ -6,6 +6,7 @@
6 * Written By Michael Meissner 6 * Written By Michael Meissner
7 * 7 *
8 * Based on gcc/config/rs6000/crtsavres.asm from gcc 8 * Based on gcc/config/rs6000/crtsavres.asm from gcc
9 * 64 bit additions from reading the PPC elf64abi document.
9 * 10 *
10 * This file is free software; you can redistribute it and/or modify it 11 * This file is free software; you can redistribute it and/or modify it
11 * under the terms of the GNU General Public License as published by the 12 * under the terms of the GNU General Public License as published by the
@@ -44,6 +45,8 @@
44 45
45#ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE 46#ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE
46 47
48#ifndef CONFIG_PPC64
49
47/* Routines for saving integer registers, called by the compiler. */ 50/* Routines for saving integer registers, called by the compiler. */
48/* Called with r11 pointing to the stack header word of the caller of the */ 51/* Called with r11 pointing to the stack header word of the caller of the */
49/* function, just beyond the end of the integer save area. */ 52/* function, just beyond the end of the integer save area. */
@@ -226,4 +229,130 @@ _GLOBAL(_rest32gpr_31_x)
226 mtlr 0 229 mtlr 0
227 mr 1,11 230 mr 1,11
228 blr 231 blr
232
233#else /* CONFIG_PPC64 */
234
235.globl _savegpr0_14
236_savegpr0_14:
237 std r14,-144(r1)
238.globl _savegpr0_15
239_savegpr0_15:
240 std r15,-136(r1)
241.globl _savegpr0_16
242_savegpr0_16:
243 std r16,-128(r1)
244.globl _savegpr0_17
245_savegpr0_17:
246 std r17,-120(r1)
247.globl _savegpr0_18
248_savegpr0_18:
249 std r18,-112(r1)
250.globl _savegpr0_19
251_savegpr0_19:
252 std r19,-104(r1)
253.globl _savegpr0_20
254_savegpr0_20:
255 std r20,-96(r1)
256.globl _savegpr0_21
257_savegpr0_21:
258 std r21,-88(r1)
259.globl _savegpr0_22
260_savegpr0_22:
261 std r22,-80(r1)
262.globl _savegpr0_23
263_savegpr0_23:
264 std r23,-72(r1)
265.globl _savegpr0_24
266_savegpr0_24:
267 std r24,-64(r1)
268.globl _savegpr0_25
269_savegpr0_25:
270 std r25,-56(r1)
271.globl _savegpr0_26
272_savegpr0_26:
273 std r26,-48(r1)
274.globl _savegpr0_27
275_savegpr0_27:
276 std r27,-40(r1)
277.globl _savegpr0_28
278_savegpr0_28:
279 std r28,-32(r1)
280.globl _savegpr0_29
281_savegpr0_29:
282 std r29,-24(r1)
283.globl _savegpr0_30
284_savegpr0_30:
285 std r30,-16(r1)
286.globl _savegpr0_31
287_savegpr0_31:
288 std r31,-8(r1)
289 std r0,16(r1)
290 blr
291
292.globl _restgpr0_14
293_restgpr0_14:
294 ld r14,-144(r1)
295.globl _restgpr0_15
296_restgpr0_15:
297 ld r15,-136(r1)
298.globl _restgpr0_16
299_restgpr0_16:
300 ld r16,-128(r1)
301.globl _restgpr0_17
302_restgpr0_17:
303 ld r17,-120(r1)
304.globl _restgpr0_18
305_restgpr0_18:
306 ld r18,-112(r1)
307.globl _restgpr0_19
308_restgpr0_19:
309 ld r19,-104(r1)
310.globl _restgpr0_20
311_restgpr0_20:
312 ld r20,-96(r1)
313.globl _restgpr0_21
314_restgpr0_21:
315 ld r21,-88(r1)
316.globl _restgpr0_22
317_restgpr0_22:
318 ld r22,-80(r1)
319.globl _restgpr0_23
320_restgpr0_23:
321 ld r23,-72(r1)
322.globl _restgpr0_24
323_restgpr0_24:
324 ld r24,-64(r1)
325.globl _restgpr0_25
326_restgpr0_25:
327 ld r25,-56(r1)
328.globl _restgpr0_26
329_restgpr0_26:
330 ld r26,-48(r1)
331.globl _restgpr0_27
332_restgpr0_27:
333 ld r27,-40(r1)
334.globl _restgpr0_28
335_restgpr0_28:
336 ld r28,-32(r1)
337.globl _restgpr0_29
338_restgpr0_29:
339 ld r0,16(r1)
340 ld r29,-24(r1)
341 mtlr r0
342 ld r30,-16(r1)
343 ld r31,-8(r1)
344 blr
345
346.globl _restgpr0_30
347_restgpr0_30:
348 ld r30,-16(r1)
349.globl _restgpr0_31
350_restgpr0_31:
351 ld r0,16(r1)
352 ld r31,-8(r1)
353 mtlr r0
354 blr
355
356#endif /* CONFIG_PPC64 */
357
229#endif 358#endif
diff --git a/arch/powerpc/lib/devres.c b/arch/powerpc/lib/devres.c
index 292115d98ea9..deac4d30daf4 100644
--- a/arch/powerpc/lib/devres.c
+++ b/arch/powerpc/lib/devres.c
@@ -8,6 +8,7 @@
8 */ 8 */
9 9
10#include <linux/device.h> /* devres_*(), devm_ioremap_release() */ 10#include <linux/device.h> /* devres_*(), devm_ioremap_release() */
11#include <linux/gfp.h>
11#include <linux/io.h> /* ioremap_flags() */ 12#include <linux/io.h> /* ioremap_flags() */
12#include <linux/module.h> /* EXPORT_SYMBOL() */ 13#include <linux/module.h> /* EXPORT_SYMBOL() */
13 14
diff --git a/arch/powerpc/lib/feature-fixups.c b/arch/powerpc/lib/feature-fixups.c
index 7e8865bcd683..0d08d0171392 100644
--- a/arch/powerpc/lib/feature-fixups.c
+++ b/arch/powerpc/lib/feature-fixups.c
@@ -12,6 +12,7 @@
12 * 2 of the License, or (at your option) any later version. 12 * 2 of the License, or (at your option) any later version.
13 */ 13 */
14 14
15#include <linux/types.h>
15#include <linux/kernel.h> 16#include <linux/kernel.h>
16#include <linux/string.h> 17#include <linux/string.h>
17#include <linux/init.h> 18#include <linux/init.h>
@@ -112,7 +113,8 @@ void do_feature_fixups(unsigned long value, void *fixup_start, void *fixup_end)
112 113
113void do_lwsync_fixups(unsigned long value, void *fixup_start, void *fixup_end) 114void do_lwsync_fixups(unsigned long value, void *fixup_start, void *fixup_end)
114{ 115{
115 unsigned int *start, *end, *dest; 116 long *start, *end;
117 unsigned int *dest;
116 118
117 if (!(value & CPU_FTR_LWSYNC)) 119 if (!(value & CPU_FTR_LWSYNC))
118 return ; 120 return ;
@@ -287,8 +289,8 @@ static void test_alternative_case_with_external_branch(void)
287 289
288static void test_cpu_macros(void) 290static void test_cpu_macros(void)
289{ 291{
290 extern void ftr_fixup_test_FTR_macros; 292 extern u8 ftr_fixup_test_FTR_macros;
291 extern void ftr_fixup_test_FTR_macros_expected; 293 extern u8 ftr_fixup_test_FTR_macros_expected;
292 unsigned long size = &ftr_fixup_test_FTR_macros_expected - 294 unsigned long size = &ftr_fixup_test_FTR_macros_expected -
293 &ftr_fixup_test_FTR_macros; 295 &ftr_fixup_test_FTR_macros;
294 296
@@ -300,8 +302,8 @@ static void test_cpu_macros(void)
300static void test_fw_macros(void) 302static void test_fw_macros(void)
301{ 303{
302#ifdef CONFIG_PPC64 304#ifdef CONFIG_PPC64
303 extern void ftr_fixup_test_FW_FTR_macros; 305 extern u8 ftr_fixup_test_FW_FTR_macros;
304 extern void ftr_fixup_test_FW_FTR_macros_expected; 306 extern u8 ftr_fixup_test_FW_FTR_macros_expected;
305 unsigned long size = &ftr_fixup_test_FW_FTR_macros_expected - 307 unsigned long size = &ftr_fixup_test_FW_FTR_macros_expected -
306 &ftr_fixup_test_FW_FTR_macros; 308 &ftr_fixup_test_FW_FTR_macros;
307 309
@@ -313,10 +315,10 @@ static void test_fw_macros(void)
313 315
314static void test_lwsync_macros(void) 316static void test_lwsync_macros(void)
315{ 317{
316 extern void lwsync_fixup_test; 318 extern u8 lwsync_fixup_test;
317 extern void end_lwsync_fixup_test; 319 extern u8 end_lwsync_fixup_test;
318 extern void lwsync_fixup_test_expected_LWSYNC; 320 extern u8 lwsync_fixup_test_expected_LWSYNC;
319 extern void lwsync_fixup_test_expected_SYNC; 321 extern u8 lwsync_fixup_test_expected_SYNC;
320 unsigned long size = &end_lwsync_fixup_test - 322 unsigned long size = &end_lwsync_fixup_test -
321 &lwsync_fixup_test; 323 &lwsync_fixup_test;
322 324
diff --git a/arch/powerpc/lib/string.S b/arch/powerpc/lib/string.S
index 64e2e499e32a..455881a5563f 100644
--- a/arch/powerpc/lib/string.S
+++ b/arch/powerpc/lib/string.S
@@ -28,7 +28,7 @@ _GLOBAL(strcpy)
28/* This clears out any unused part of the destination buffer, 28/* This clears out any unused part of the destination buffer,
29 just as the libc version does. -- paulus */ 29 just as the libc version does. -- paulus */
30_GLOBAL(strncpy) 30_GLOBAL(strncpy)
31 cmpwi 0,r5,0 31 PPC_LCMPI 0,r5,0
32 beqlr 32 beqlr
33 mtctr r5 33 mtctr r5
34 addi r6,r3,-1 34 addi r6,r3,-1
@@ -39,7 +39,7 @@ _GLOBAL(strncpy)
39 bdnzf 2,1b /* dec ctr, branch if ctr != 0 && !cr0.eq */ 39 bdnzf 2,1b /* dec ctr, branch if ctr != 0 && !cr0.eq */
40 bnelr /* if we didn't hit a null char, we're done */ 40 bnelr /* if we didn't hit a null char, we're done */
41 mfctr r5 41 mfctr r5
42 cmpwi 0,r5,0 /* any space left in destination buffer? */ 42 PPC_LCMPI 0,r5,0 /* any space left in destination buffer? */
43 beqlr /* we know r0 == 0 here */ 43 beqlr /* we know r0 == 0 here */
442: stbu r0,1(r6) /* clear it out if so */ 442: stbu r0,1(r6) /* clear it out if so */
45 bdnz 2b 45 bdnz 2b
@@ -70,8 +70,8 @@ _GLOBAL(strcmp)
70 blr 70 blr
71 71
72_GLOBAL(strncmp) 72_GLOBAL(strncmp)
73 PPC_LCMPI r5,0 73 PPC_LCMPI 0,r5,0
74 beqlr 74 beq- 2f
75 mtctr r5 75 mtctr r5
76 addi r5,r3,-1 76 addi r5,r3,-1
77 addi r4,r4,-1 77 addi r4,r4,-1
@@ -82,6 +82,8 @@ _GLOBAL(strncmp)
82 beqlr 1 82 beqlr 1
83 bdnzt eq,1b 83 bdnzt eq,1b
84 blr 84 blr
852: li r3,0
86 blr
85 87
86_GLOBAL(strlen) 88_GLOBAL(strlen)
87 addi r4,r3,-1 89 addi r4,r3,-1
@@ -92,8 +94,8 @@ _GLOBAL(strlen)
92 blr 94 blr
93 95
94_GLOBAL(memcmp) 96_GLOBAL(memcmp)
95 cmpwi 0,r5,0 97 PPC_LCMPI 0,r5,0
96 ble- 2f 98 beq- 2f
97 mtctr r5 99 mtctr r5
98 addi r6,r3,-1 100 addi r6,r3,-1
99 addi r4,r4,-1 101 addi r4,r4,-1
@@ -106,8 +108,8 @@ _GLOBAL(memcmp)
106 blr 108 blr
107 109
108_GLOBAL(memchr) 110_GLOBAL(memchr)
109 cmpwi 0,r5,0 111 PPC_LCMPI 0,r5,0
110 ble- 2f 112 beq- 2f
111 mtctr r5 113 mtctr r5
112 addi r3,r3,-1 114 addi r3,r3,-1
1131: lbzu r0,1(r3) 1151: lbzu r0,1(r3)
diff --git a/arch/powerpc/mm/40x_mmu.c b/arch/powerpc/mm/40x_mmu.c
index 08dfa8e6d86f..1dc2fa5ce1bd 100644
--- a/arch/powerpc/mm/40x_mmu.c
+++ b/arch/powerpc/mm/40x_mmu.c
@@ -84,8 +84,8 @@ void __init MMU_init_hw(void)
84 * vectors and the kernel live in real-mode. 84 * vectors and the kernel live in real-mode.
85 */ 85 */
86 86
87 mtspr(SPRN_DCCR, 0xF0000000); /* 512 MB of data space at 0x0. */ 87 mtspr(SPRN_DCCR, 0xFFFF0000); /* 2GByte of data space at 0x0. */
88 mtspr(SPRN_ICCR, 0xF0000000); /* 512 MB of instr. space at 0x0. */ 88 mtspr(SPRN_ICCR, 0xFFFF0000); /* 2GByte of instr. space at 0x0. */
89} 89}
90 90
91#define LARGE_PAGE_SIZE_16M (1<<24) 91#define LARGE_PAGE_SIZE_16M (1<<24)
@@ -135,7 +135,7 @@ unsigned long __init mmu_mapin_ram(unsigned long top)
135 /* If the size of RAM is not an exact power of two, we may not 135 /* If the size of RAM is not an exact power of two, we may not
136 * have covered RAM in its entirety with 16 and 4 MiB 136 * have covered RAM in its entirety with 16 and 4 MiB
137 * pages. Consequently, restrict the top end of RAM currently 137 * pages. Consequently, restrict the top end of RAM currently
138 * allocable so that calls to the LMB to allocate PTEs for "tail" 138 * allocable so that calls to the MEMBLOCK to allocate PTEs for "tail"
139 * coverage with normal-sized pages (or other reasons) do not 139 * coverage with normal-sized pages (or other reasons) do not
140 * attempt to allocate outside the allowed range. 140 * attempt to allocate outside the allowed range.
141 */ 141 */
diff --git a/arch/powerpc/mm/44x_mmu.c b/arch/powerpc/mm/44x_mmu.c
index 3986264b0993..d8c6efb32bc6 100644
--- a/arch/powerpc/mm/44x_mmu.c
+++ b/arch/powerpc/mm/44x_mmu.c
@@ -38,7 +38,9 @@ unsigned int tlb_44x_index; /* = 0 */
38unsigned int tlb_44x_hwater = PPC44x_TLB_SIZE - 1 - PPC44x_EARLY_TLBS; 38unsigned int tlb_44x_hwater = PPC44x_TLB_SIZE - 1 - PPC44x_EARLY_TLBS;
39int icache_44x_need_flush; 39int icache_44x_need_flush;
40 40
41static void __init ppc44x_update_tlb_hwater(void) 41unsigned long tlb_47x_boltmap[1024/8];
42
43static void __cpuinit ppc44x_update_tlb_hwater(void)
42{ 44{
43 extern unsigned int tlb_44x_patch_hwater_D[]; 45 extern unsigned int tlb_44x_patch_hwater_D[];
44 extern unsigned int tlb_44x_patch_hwater_I[]; 46 extern unsigned int tlb_44x_patch_hwater_I[];
@@ -59,7 +61,7 @@ static void __init ppc44x_update_tlb_hwater(void)
59} 61}
60 62
61/* 63/*
62 * "Pins" a 256MB TLB entry in AS0 for kernel lowmem 64 * "Pins" a 256MB TLB entry in AS0 for kernel lowmem for 44x type MMU
63 */ 65 */
64static void __init ppc44x_pin_tlb(unsigned int virt, unsigned int phys) 66static void __init ppc44x_pin_tlb(unsigned int virt, unsigned int phys)
65{ 67{
@@ -67,12 +69,18 @@ static void __init ppc44x_pin_tlb(unsigned int virt, unsigned int phys)
67 69
68 ppc44x_update_tlb_hwater(); 70 ppc44x_update_tlb_hwater();
69 71
72 mtspr(SPRN_MMUCR, 0);
73
70 __asm__ __volatile__( 74 __asm__ __volatile__(
71 "tlbwe %2,%3,%4\n" 75 "tlbwe %2,%3,%4\n"
72 "tlbwe %1,%3,%5\n" 76 "tlbwe %1,%3,%5\n"
73 "tlbwe %0,%3,%6\n" 77 "tlbwe %0,%3,%6\n"
74 : 78 :
79#ifdef CONFIG_PPC47x
80 : "r" (PPC47x_TLB2_S_RWX),
81#else
75 : "r" (PPC44x_TLB_SW | PPC44x_TLB_SR | PPC44x_TLB_SX | PPC44x_TLB_G), 82 : "r" (PPC44x_TLB_SW | PPC44x_TLB_SR | PPC44x_TLB_SX | PPC44x_TLB_G),
83#endif
76 "r" (phys), 84 "r" (phys),
77 "r" (virt | PPC44x_TLB_VALID | PPC44x_TLB_256M), 85 "r" (virt | PPC44x_TLB_VALID | PPC44x_TLB_256M),
78 "r" (entry), 86 "r" (entry),
@@ -81,8 +89,93 @@ static void __init ppc44x_pin_tlb(unsigned int virt, unsigned int phys)
81 "i" (PPC44x_TLB_ATTRIB)); 89 "i" (PPC44x_TLB_ATTRIB));
82} 90}
83 91
92static int __init ppc47x_find_free_bolted(void)
93{
94 unsigned int mmube0 = mfspr(SPRN_MMUBE0);
95 unsigned int mmube1 = mfspr(SPRN_MMUBE1);
96
97 if (!(mmube0 & MMUBE0_VBE0))
98 return 0;
99 if (!(mmube0 & MMUBE0_VBE1))
100 return 1;
101 if (!(mmube0 & MMUBE0_VBE2))
102 return 2;
103 if (!(mmube1 & MMUBE1_VBE3))
104 return 3;
105 if (!(mmube1 & MMUBE1_VBE4))
106 return 4;
107 if (!(mmube1 & MMUBE1_VBE5))
108 return 5;
109 return -1;
110}
111
112static void __init ppc47x_update_boltmap(void)
113{
114 unsigned int mmube0 = mfspr(SPRN_MMUBE0);
115 unsigned int mmube1 = mfspr(SPRN_MMUBE1);
116
117 if (mmube0 & MMUBE0_VBE0)
118 __set_bit((mmube0 >> MMUBE0_IBE0_SHIFT) & 0xff,
119 tlb_47x_boltmap);
120 if (mmube0 & MMUBE0_VBE1)
121 __set_bit((mmube0 >> MMUBE0_IBE1_SHIFT) & 0xff,
122 tlb_47x_boltmap);
123 if (mmube0 & MMUBE0_VBE2)
124 __set_bit((mmube0 >> MMUBE0_IBE2_SHIFT) & 0xff,
125 tlb_47x_boltmap);
126 if (mmube1 & MMUBE1_VBE3)
127 __set_bit((mmube1 >> MMUBE1_IBE3_SHIFT) & 0xff,
128 tlb_47x_boltmap);
129 if (mmube1 & MMUBE1_VBE4)
130 __set_bit((mmube1 >> MMUBE1_IBE4_SHIFT) & 0xff,
131 tlb_47x_boltmap);
132 if (mmube1 & MMUBE1_VBE5)
133 __set_bit((mmube1 >> MMUBE1_IBE5_SHIFT) & 0xff,
134 tlb_47x_boltmap);
135}
136
137/*
138 * "Pins" a 256MB TLB entry in AS0 for kernel lowmem for 47x type MMU
139 */
140static void __cpuinit ppc47x_pin_tlb(unsigned int virt, unsigned int phys)
141{
142 unsigned int rA;
143 int bolted;
144
145 /* Base rA is HW way select, way 0, bolted bit set */
146 rA = 0x88000000;
147
148 /* Look for a bolted entry slot */
149 bolted = ppc47x_find_free_bolted();
150 BUG_ON(bolted < 0);
151
152 /* Insert bolted slot number */
153 rA |= bolted << 24;
154
155 pr_debug("256M TLB entry for 0x%08x->0x%08x in bolt slot %d\n",
156 virt, phys, bolted);
157
158 mtspr(SPRN_MMUCR, 0);
159
160 __asm__ __volatile__(
161 "tlbwe %2,%3,0\n"
162 "tlbwe %1,%3,1\n"
163 "tlbwe %0,%3,2\n"
164 :
165 : "r" (PPC47x_TLB2_SW | PPC47x_TLB2_SR |
166 PPC47x_TLB2_SX
167#ifdef CONFIG_SMP
168 | PPC47x_TLB2_M
169#endif
170 ),
171 "r" (phys),
172 "r" (virt | PPC47x_TLB0_VALID | PPC47x_TLB0_256M),
173 "r" (rA));
174}
175
84void __init MMU_init_hw(void) 176void __init MMU_init_hw(void)
85{ 177{
178 /* This is not useful on 47x but won't hurt either */
86 ppc44x_update_tlb_hwater(); 179 ppc44x_update_tlb_hwater();
87 180
88 flush_instruction_cache(); 181 flush_instruction_cache();
@@ -95,8 +188,51 @@ unsigned long __init mmu_mapin_ram(unsigned long top)
95 /* Pin in enough TLBs to cover any lowmem not covered by the 188 /* Pin in enough TLBs to cover any lowmem not covered by the
96 * initial 256M mapping established in head_44x.S */ 189 * initial 256M mapping established in head_44x.S */
97 for (addr = PPC_PIN_SIZE; addr < lowmem_end_addr; 190 for (addr = PPC_PIN_SIZE; addr < lowmem_end_addr;
98 addr += PPC_PIN_SIZE) 191 addr += PPC_PIN_SIZE) {
99 ppc44x_pin_tlb(addr + PAGE_OFFSET, addr); 192 if (mmu_has_feature(MMU_FTR_TYPE_47x))
193 ppc47x_pin_tlb(addr + PAGE_OFFSET, addr);
194 else
195 ppc44x_pin_tlb(addr + PAGE_OFFSET, addr);
196 }
197 if (mmu_has_feature(MMU_FTR_TYPE_47x)) {
198 ppc47x_update_boltmap();
100 199
200#ifdef DEBUG
201 {
202 int i;
203
204 printk(KERN_DEBUG "bolted entries: ");
205 for (i = 0; i < 255; i++) {
206 if (test_bit(i, tlb_47x_boltmap))
207 printk("%d ", i);
208 }
209 printk("\n");
210 }
211#endif /* DEBUG */
212 }
101 return total_lowmem; 213 return total_lowmem;
102} 214}
215
216#ifdef CONFIG_SMP
217void __cpuinit mmu_init_secondary(int cpu)
218{
219 unsigned long addr;
220
221 /* Pin in enough TLBs to cover any lowmem not covered by the
222 * initial 256M mapping established in head_44x.S
223 *
224 * WARNING: This is called with only the first 256M of the
225 * linear mapping in the TLB and we can't take faults yet
226 * so beware of what this code uses. It runs off a temporary
227 * stack. current (r2) isn't initialized, smp_processor_id()
228 * will not work, current thread info isn't accessible, ...
229 */
230 for (addr = PPC_PIN_SIZE; addr < lowmem_end_addr;
231 addr += PPC_PIN_SIZE) {
232 if (mmu_has_feature(MMU_FTR_TYPE_47x))
233 ppc47x_pin_tlb(addr + PAGE_OFFSET, addr);
234 else
235 ppc44x_pin_tlb(addr + PAGE_OFFSET, addr);
236 }
237}
238#endif /* CONFIG_SMP */
diff --git a/arch/powerpc/mm/dma-noncoherent.c b/arch/powerpc/mm/dma-noncoherent.c
index 36692f5c9a76..757c0bed9a91 100644
--- a/arch/powerpc/mm/dma-noncoherent.c
+++ b/arch/powerpc/mm/dma-noncoherent.c
@@ -23,6 +23,7 @@
23 */ 23 */
24 24
25#include <linux/sched.h> 25#include <linux/sched.h>
26#include <linux/slab.h>
26#include <linux/kernel.h> 27#include <linux/kernel.h>
27#include <linux/errno.h> 28#include <linux/errno.h>
28#include <linux/string.h> 29#include <linux/string.h>
diff --git a/arch/powerpc/mm/fault.c b/arch/powerpc/mm/fault.c
index 26fb6b990b0a..1bd712c33ce2 100644
--- a/arch/powerpc/mm/fault.c
+++ b/arch/powerpc/mm/fault.c
@@ -151,13 +151,14 @@ int __kprobes do_page_fault(struct pt_regs *regs, unsigned long address,
151 if (!user_mode(regs) && (address >= TASK_SIZE)) 151 if (!user_mode(regs) && (address >= TASK_SIZE))
152 return SIGSEGV; 152 return SIGSEGV;
153 153
154#if !(defined(CONFIG_4xx) || defined(CONFIG_BOOKE)) 154#if !(defined(CONFIG_4xx) || defined(CONFIG_BOOKE) || \
155 defined(CONFIG_PPC_BOOK3S_64))
155 if (error_code & DSISR_DABRMATCH) { 156 if (error_code & DSISR_DABRMATCH) {
156 /* DABR match */ 157 /* DABR match */
157 do_dabr(regs, address, error_code); 158 do_dabr(regs, address, error_code);
158 return 0; 159 return 0;
159 } 160 }
160#endif /* !(CONFIG_4xx || CONFIG_BOOKE)*/ 161#endif
161 162
162 if (in_atomic() || mm == NULL) { 163 if (in_atomic() || mm == NULL) {
163 if (!user_mode(regs)) 164 if (!user_mode(regs))
@@ -307,7 +308,6 @@ good_area:
307 * make sure we exit gracefully rather than endlessly redo 308 * make sure we exit gracefully rather than endlessly redo
308 * the fault. 309 * the fault.
309 */ 310 */
310 survive:
311 ret = handle_mm_fault(mm, vma, address, is_write ? FAULT_FLAG_WRITE : 0); 311 ret = handle_mm_fault(mm, vma, address, is_write ? FAULT_FLAG_WRITE : 0);
312 if (unlikely(ret & VM_FAULT_ERROR)) { 312 if (unlikely(ret & VM_FAULT_ERROR)) {
313 if (ret & VM_FAULT_OOM) 313 if (ret & VM_FAULT_OOM)
@@ -359,15 +359,10 @@ bad_area_nosemaphore:
359 */ 359 */
360out_of_memory: 360out_of_memory:
361 up_read(&mm->mmap_sem); 361 up_read(&mm->mmap_sem);
362 if (is_global_init(current)) { 362 if (!user_mode(regs))
363 yield(); 363 return SIGKILL;
364 down_read(&mm->mmap_sem); 364 pagefault_out_of_memory();
365 goto survive; 365 return 0;
366 }
367 printk("VM: killing process %s\n", current->comm);
368 if (user_mode(regs))
369 do_group_exit(SIGKILL);
370 return SIGKILL;
371 366
372do_sigbus: 367do_sigbus:
373 up_read(&mm->mmap_sem); 368 up_read(&mm->mmap_sem);
diff --git a/arch/powerpc/mm/fsl_booke_mmu.c b/arch/powerpc/mm/fsl_booke_mmu.c
index c5394728bf2e..cdc7526e9c93 100644
--- a/arch/powerpc/mm/fsl_booke_mmu.c
+++ b/arch/powerpc/mm/fsl_booke_mmu.c
@@ -2,7 +2,7 @@
2 * Modifications by Kumar Gala (galak@kernel.crashing.org) to support 2 * Modifications by Kumar Gala (galak@kernel.crashing.org) to support
3 * E500 Book E processors. 3 * E500 Book E processors.
4 * 4 *
5 * Copyright 2004 Freescale Semiconductor, Inc 5 * Copyright 2004,2010 Freescale Semiconductor, Inc.
6 * 6 *
7 * This file contains the routines for initializing the MMU 7 * This file contains the routines for initializing the MMU
8 * on the 4xx series of chips. 8 * on the 4xx series of chips.
@@ -56,19 +56,13 @@
56 56
57unsigned int tlbcam_index; 57unsigned int tlbcam_index;
58 58
59#define NUM_TLBCAMS (64)
60 59
61#if defined(CONFIG_LOWMEM_CAM_NUM_BOOL) && (CONFIG_LOWMEM_CAM_NUM >= NUM_TLBCAMS) 60#if defined(CONFIG_LOWMEM_CAM_NUM_BOOL) && (CONFIG_LOWMEM_CAM_NUM >= NUM_TLBCAMS)
62#error "LOWMEM_CAM_NUM must be less than NUM_TLBCAMS" 61#error "LOWMEM_CAM_NUM must be less than NUM_TLBCAMS"
63#endif 62#endif
64 63
65struct tlbcam { 64#define NUM_TLBCAMS (64)
66 u32 MAS0; 65struct tlbcam TLBCAM[NUM_TLBCAMS];
67 u32 MAS1;
68 unsigned long MAS2;
69 u32 MAS3;
70 u32 MAS7;
71} TLBCAM[NUM_TLBCAMS];
72 66
73struct tlbcamrange { 67struct tlbcamrange {
74 unsigned long start; 68 unsigned long start;
@@ -109,19 +103,6 @@ unsigned long p_mapped_by_tlbcam(phys_addr_t pa)
109 return 0; 103 return 0;
110} 104}
111 105
112void loadcam_entry(int idx)
113{
114 mtspr(SPRN_MAS0, TLBCAM[idx].MAS0);
115 mtspr(SPRN_MAS1, TLBCAM[idx].MAS1);
116 mtspr(SPRN_MAS2, TLBCAM[idx].MAS2);
117 mtspr(SPRN_MAS3, TLBCAM[idx].MAS3);
118
119 if (cur_cpu_spec->cpu_features & MMU_FTR_BIG_PHYS)
120 mtspr(SPRN_MAS7, TLBCAM[idx].MAS7);
121
122 asm volatile("isync;tlbwe;isync" : : : "memory");
123}
124
125/* 106/*
126 * Set up one of the I/D BAT (block address translation) register pairs. 107 * Set up one of the I/D BAT (block address translation) register pairs.
127 * The parameters are not checked; in particular size must be a power 108 * The parameters are not checked; in particular size must be a power
@@ -152,18 +133,13 @@ static void settlbcam(int index, unsigned long virt, phys_addr_t phys,
152 133
153 TLBCAM[index].MAS3 = (phys & MAS3_RPN) | MAS3_SX | MAS3_SR; 134 TLBCAM[index].MAS3 = (phys & MAS3_RPN) | MAS3_SX | MAS3_SR;
154 TLBCAM[index].MAS3 |= ((flags & _PAGE_RW) ? MAS3_SW : 0); 135 TLBCAM[index].MAS3 |= ((flags & _PAGE_RW) ? MAS3_SW : 0);
155 if (cur_cpu_spec->cpu_features & MMU_FTR_BIG_PHYS) 136 if (mmu_has_feature(MMU_FTR_BIG_PHYS))
156 TLBCAM[index].MAS7 = (u64)phys >> 32; 137 TLBCAM[index].MAS7 = (u64)phys >> 32;
157 138
158#ifndef CONFIG_KGDB /* want user access for breakpoints */
159 if (flags & _PAGE_USER) { 139 if (flags & _PAGE_USER) {
160 TLBCAM[index].MAS3 |= MAS3_UX | MAS3_UR; 140 TLBCAM[index].MAS3 |= MAS3_UX | MAS3_UR;
161 TLBCAM[index].MAS3 |= ((flags & _PAGE_RW) ? MAS3_UW : 0); 141 TLBCAM[index].MAS3 |= ((flags & _PAGE_RW) ? MAS3_UW : 0);
162 } 142 }
163#else
164 TLBCAM[index].MAS3 |= MAS3_UX | MAS3_UR;
165 TLBCAM[index].MAS3 |= ((flags & _PAGE_RW) ? MAS3_UW : 0);
166#endif
167 143
168 tlbcam_addrs[index].start = virt; 144 tlbcam_addrs[index].start = virt;
169 tlbcam_addrs[index].limit = virt + size - 1; 145 tlbcam_addrs[index].limit = virt + size - 1;
diff --git a/arch/powerpc/mm/hash_low_64.S b/arch/powerpc/mm/hash_low_64.S
index a719f53921a5..3079f6b44cf5 100644
--- a/arch/powerpc/mm/hash_low_64.S
+++ b/arch/powerpc/mm/hash_low_64.S
@@ -68,9 +68,6 @@ _GLOBAL(__hash_page_4K)
68 std r8,STK_PARM(r8)(r1) 68 std r8,STK_PARM(r8)(r1)
69 std r9,STK_PARM(r9)(r1) 69 std r9,STK_PARM(r9)(r1)
70 70
71 /* Add _PAGE_PRESENT to access */
72 ori r4,r4,_PAGE_PRESENT
73
74 /* Save non-volatile registers. 71 /* Save non-volatile registers.
75 * r31 will hold "old PTE" 72 * r31 will hold "old PTE"
76 * r30 is "new PTE" 73 * r30 is "new PTE"
@@ -347,9 +344,6 @@ _GLOBAL(__hash_page_4K)
347 std r8,STK_PARM(r8)(r1) 344 std r8,STK_PARM(r8)(r1)
348 std r9,STK_PARM(r9)(r1) 345 std r9,STK_PARM(r9)(r1)
349 346
350 /* Add _PAGE_PRESENT to access */
351 ori r4,r4,_PAGE_PRESENT
352
353 /* Save non-volatile registers. 347 /* Save non-volatile registers.
354 * r31 will hold "old PTE" 348 * r31 will hold "old PTE"
355 * r30 is "new PTE" 349 * r30 is "new PTE"
@@ -687,9 +681,6 @@ _GLOBAL(__hash_page_64K)
687 std r8,STK_PARM(r8)(r1) 681 std r8,STK_PARM(r8)(r1)
688 std r9,STK_PARM(r9)(r1) 682 std r9,STK_PARM(r9)(r1)
689 683
690 /* Add _PAGE_PRESENT to access */
691 ori r4,r4,_PAGE_PRESENT
692
693 /* Save non-volatile registers. 684 /* Save non-volatile registers.
694 * r31 will hold "old PTE" 685 * r31 will hold "old PTE"
695 * r30 is "new PTE" 686 * r30 is "new PTE"
diff --git a/arch/powerpc/mm/hash_native_64.c b/arch/powerpc/mm/hash_native_64.c
index 056d23a1b105..784a400e0781 100644
--- a/arch/powerpc/mm/hash_native_64.c
+++ b/arch/powerpc/mm/hash_native_64.c
@@ -37,7 +37,7 @@
37 37
38#define HPTE_LOCK_BIT 3 38#define HPTE_LOCK_BIT 3
39 39
40static DEFINE_SPINLOCK(native_tlbie_lock); 40static DEFINE_RAW_SPINLOCK(native_tlbie_lock);
41 41
42static inline void __tlbie(unsigned long va, int psize, int ssize) 42static inline void __tlbie(unsigned long va, int psize, int ssize)
43{ 43{
@@ -104,7 +104,7 @@ static inline void tlbie(unsigned long va, int psize, int ssize, int local)
104 if (use_local) 104 if (use_local)
105 use_local = mmu_psize_defs[psize].tlbiel; 105 use_local = mmu_psize_defs[psize].tlbiel;
106 if (lock_tlbie && !use_local) 106 if (lock_tlbie && !use_local)
107 spin_lock(&native_tlbie_lock); 107 raw_spin_lock(&native_tlbie_lock);
108 asm volatile("ptesync": : :"memory"); 108 asm volatile("ptesync": : :"memory");
109 if (use_local) { 109 if (use_local) {
110 __tlbiel(va, psize, ssize); 110 __tlbiel(va, psize, ssize);
@@ -114,7 +114,7 @@ static inline void tlbie(unsigned long va, int psize, int ssize, int local)
114 asm volatile("eieio; tlbsync; ptesync": : :"memory"); 114 asm volatile("eieio; tlbsync; ptesync": : :"memory");
115 } 115 }
116 if (lock_tlbie && !use_local) 116 if (lock_tlbie && !use_local)
117 spin_unlock(&native_tlbie_lock); 117 raw_spin_unlock(&native_tlbie_lock);
118} 118}
119 119
120static inline void native_lock_hpte(struct hash_pte *hptep) 120static inline void native_lock_hpte(struct hash_pte *hptep)
@@ -122,7 +122,7 @@ static inline void native_lock_hpte(struct hash_pte *hptep)
122 unsigned long *word = &hptep->v; 122 unsigned long *word = &hptep->v;
123 123
124 while (1) { 124 while (1) {
125 if (!test_and_set_bit(HPTE_LOCK_BIT, word)) 125 if (!test_and_set_bit_lock(HPTE_LOCK_BIT, word))
126 break; 126 break;
127 while(test_bit(HPTE_LOCK_BIT, word)) 127 while(test_bit(HPTE_LOCK_BIT, word))
128 cpu_relax(); 128 cpu_relax();
@@ -133,8 +133,7 @@ static inline void native_unlock_hpte(struct hash_pte *hptep)
133{ 133{
134 unsigned long *word = &hptep->v; 134 unsigned long *word = &hptep->v;
135 135
136 asm volatile("lwsync":::"memory"); 136 clear_bit_unlock(HPTE_LOCK_BIT, word);
137 clear_bit(HPTE_LOCK_BIT, word);
138} 137}
139 138
140static long native_hpte_insert(unsigned long hpte_group, unsigned long va, 139static long native_hpte_insert(unsigned long hpte_group, unsigned long va,
@@ -434,7 +433,7 @@ static void native_hpte_clear(void)
434 /* we take the tlbie lock and hold it. Some hardware will 433 /* we take the tlbie lock and hold it. Some hardware will
435 * deadlock if we try to tlbie from two processors at once. 434 * deadlock if we try to tlbie from two processors at once.
436 */ 435 */
437 spin_lock(&native_tlbie_lock); 436 raw_spin_lock(&native_tlbie_lock);
438 437
439 slots = pteg_count * HPTES_PER_GROUP; 438 slots = pteg_count * HPTES_PER_GROUP;
440 439
@@ -458,7 +457,7 @@ static void native_hpte_clear(void)
458 } 457 }
459 458
460 asm volatile("eieio; tlbsync; ptesync":::"memory"); 459 asm volatile("eieio; tlbsync; ptesync":::"memory");
461 spin_unlock(&native_tlbie_lock); 460 raw_spin_unlock(&native_tlbie_lock);
462 local_irq_restore(flags); 461 local_irq_restore(flags);
463} 462}
464 463
@@ -521,7 +520,7 @@ static void native_flush_hash_range(unsigned long number, int local)
521 int lock_tlbie = !cpu_has_feature(CPU_FTR_LOCKLESS_TLBIE); 520 int lock_tlbie = !cpu_has_feature(CPU_FTR_LOCKLESS_TLBIE);
522 521
523 if (lock_tlbie) 522 if (lock_tlbie)
524 spin_lock(&native_tlbie_lock); 523 raw_spin_lock(&native_tlbie_lock);
525 524
526 asm volatile("ptesync":::"memory"); 525 asm volatile("ptesync":::"memory");
527 for (i = 0; i < number; i++) { 526 for (i = 0; i < number; i++) {
@@ -536,7 +535,7 @@ static void native_flush_hash_range(unsigned long number, int local)
536 asm volatile("eieio; tlbsync; ptesync":::"memory"); 535 asm volatile("eieio; tlbsync; ptesync":::"memory");
537 536
538 if (lock_tlbie) 537 if (lock_tlbie)
539 spin_unlock(&native_tlbie_lock); 538 raw_spin_unlock(&native_tlbie_lock);
540 } 539 }
541 540
542 local_irq_restore(flags); 541 local_irq_restore(flags);
diff --git a/arch/powerpc/mm/hash_utils_64.c b/arch/powerpc/mm/hash_utils_64.c
index 3ecdcec0a39e..09dffe6efa46 100644
--- a/arch/powerpc/mm/hash_utils_64.c
+++ b/arch/powerpc/mm/hash_utils_64.c
@@ -31,7 +31,7 @@
31#include <linux/cache.h> 31#include <linux/cache.h>
32#include <linux/init.h> 32#include <linux/init.h>
33#include <linux/signal.h> 33#include <linux/signal.h>
34#include <linux/lmb.h> 34#include <linux/memblock.h>
35 35
36#include <asm/processor.h> 36#include <asm/processor.h>
37#include <asm/pgtable.h> 37#include <asm/pgtable.h>
@@ -384,8 +384,8 @@ static int __init htab_dt_scan_hugepage_blocks(unsigned long node,
384 printk(KERN_INFO "Huge page(16GB) memory: " 384 printk(KERN_INFO "Huge page(16GB) memory: "
385 "addr = 0x%lX size = 0x%lX pages = %d\n", 385 "addr = 0x%lX size = 0x%lX pages = %d\n",
386 phys_addr, block_size, expected_pages); 386 phys_addr, block_size, expected_pages);
387 if (phys_addr + (16 * GB) <= lmb_end_of_DRAM()) { 387 if (phys_addr + (16 * GB) <= memblock_end_of_DRAM()) {
388 lmb_reserve(phys_addr, block_size * expected_pages); 388 memblock_reserve(phys_addr, block_size * expected_pages);
389 add_gpage(phys_addr, block_size, expected_pages); 389 add_gpage(phys_addr, block_size, expected_pages);
390 } 390 }
391 return 0; 391 return 0;
@@ -458,7 +458,7 @@ static void __init htab_init_page_sizes(void)
458 * and we have at least 1G of RAM at boot 458 * and we have at least 1G of RAM at boot
459 */ 459 */
460 if (mmu_psize_defs[MMU_PAGE_16M].shift && 460 if (mmu_psize_defs[MMU_PAGE_16M].shift &&
461 lmb_phys_mem_size() >= 0x40000000) 461 memblock_phys_mem_size() >= 0x40000000)
462 mmu_vmemmap_psize = MMU_PAGE_16M; 462 mmu_vmemmap_psize = MMU_PAGE_16M;
463 else if (mmu_psize_defs[MMU_PAGE_64K].shift) 463 else if (mmu_psize_defs[MMU_PAGE_64K].shift)
464 mmu_vmemmap_psize = MMU_PAGE_64K; 464 mmu_vmemmap_psize = MMU_PAGE_64K;
@@ -520,7 +520,7 @@ static unsigned long __init htab_get_table_size(void)
520 return 1UL << ppc64_pft_size; 520 return 1UL << ppc64_pft_size;
521 521
522 /* round mem_size up to next power of 2 */ 522 /* round mem_size up to next power of 2 */
523 mem_size = lmb_phys_mem_size(); 523 mem_size = memblock_phys_mem_size();
524 rnd_mem_size = 1UL << __ilog2(mem_size); 524 rnd_mem_size = 1UL << __ilog2(mem_size);
525 if (rnd_mem_size < mem_size) 525 if (rnd_mem_size < mem_size)
526 rnd_mem_size <<= 1; 526 rnd_mem_size <<= 1;
@@ -627,7 +627,7 @@ static void __init htab_initialize(void)
627 else 627 else
628 limit = 0; 628 limit = 0;
629 629
630 table = lmb_alloc_base(htab_size_bytes, htab_size_bytes, limit); 630 table = memblock_alloc_base(htab_size_bytes, htab_size_bytes, limit);
631 631
632 DBG("Hash table allocated at %lx, size: %lx\n", table, 632 DBG("Hash table allocated at %lx, size: %lx\n", table,
633 htab_size_bytes); 633 htab_size_bytes);
@@ -647,9 +647,9 @@ static void __init htab_initialize(void)
647 prot = pgprot_val(PAGE_KERNEL); 647 prot = pgprot_val(PAGE_KERNEL);
648 648
649#ifdef CONFIG_DEBUG_PAGEALLOC 649#ifdef CONFIG_DEBUG_PAGEALLOC
650 linear_map_hash_count = lmb_end_of_DRAM() >> PAGE_SHIFT; 650 linear_map_hash_count = memblock_end_of_DRAM() >> PAGE_SHIFT;
651 linear_map_hash_slots = __va(lmb_alloc_base(linear_map_hash_count, 651 linear_map_hash_slots = __va(memblock_alloc_base(linear_map_hash_count,
652 1, lmb.rmo_size)); 652 1, memblock.rmo_size));
653 memset(linear_map_hash_slots, 0, linear_map_hash_count); 653 memset(linear_map_hash_slots, 0, linear_map_hash_count);
654#endif /* CONFIG_DEBUG_PAGEALLOC */ 654#endif /* CONFIG_DEBUG_PAGEALLOC */
655 655
@@ -659,16 +659,16 @@ static void __init htab_initialize(void)
659 */ 659 */
660 660
661 /* create bolted the linear mapping in the hash table */ 661 /* create bolted the linear mapping in the hash table */
662 for (i=0; i < lmb.memory.cnt; i++) { 662 for (i=0; i < memblock.memory.cnt; i++) {
663 base = (unsigned long)__va(lmb.memory.region[i].base); 663 base = (unsigned long)__va(memblock.memory.region[i].base);
664 size = lmb.memory.region[i].size; 664 size = memblock.memory.region[i].size;
665 665
666 DBG("creating mapping for region: %lx..%lx (prot: %lx)\n", 666 DBG("creating mapping for region: %lx..%lx (prot: %lx)\n",
667 base, size, prot); 667 base, size, prot);
668 668
669#ifdef CONFIG_U3_DART 669#ifdef CONFIG_U3_DART
670 /* Do not map the DART space. Fortunately, it will be aligned 670 /* Do not map the DART space. Fortunately, it will be aligned
671 * in such a way that it will not cross two lmb regions and 671 * in such a way that it will not cross two memblock regions and
672 * will fit within a single 16Mb page. 672 * will fit within a single 16Mb page.
673 * The DART space is assumed to be a full 16Mb region even if 673 * The DART space is assumed to be a full 16Mb region even if
674 * we only use 2Mb of that space. We will use more of it later 674 * we only use 2Mb of that space. We will use more of it later
@@ -871,6 +871,18 @@ static inline int subpage_protection(struct mm_struct *mm, unsigned long ea)
871} 871}
872#endif 872#endif
873 873
874void hash_failure_debug(unsigned long ea, unsigned long access,
875 unsigned long vsid, unsigned long trap,
876 int ssize, int psize, unsigned long pte)
877{
878 if (!printk_ratelimit())
879 return;
880 pr_info("mm: Hashing failure ! EA=0x%lx access=0x%lx current=%s\n",
881 ea, access, current->comm);
882 pr_info(" trap=0x%lx vsid=0x%lx ssize=%d psize=%d pte=0x%lx\n",
883 trap, vsid, ssize, psize, pte);
884}
885
874/* Result code is: 886/* Result code is:
875 * 0 - handled 887 * 0 - handled
876 * 1 - normal page fault 888 * 1 - normal page fault
@@ -955,6 +967,17 @@ int hash_page(unsigned long ea, unsigned long access, unsigned long trap)
955 return 1; 967 return 1;
956 } 968 }
957 969
970 /* Add _PAGE_PRESENT to the required access perm */
971 access |= _PAGE_PRESENT;
972
973 /* Pre-check access permissions (will be re-checked atomically
974 * in __hash_page_XX but this pre-check is a fast path
975 */
976 if (access & ~pte_val(*ptep)) {
977 DBG_LOW(" no access !\n");
978 return 1;
979 }
980
958#ifdef CONFIG_HUGETLB_PAGE 981#ifdef CONFIG_HUGETLB_PAGE
959 if (hugeshift) 982 if (hugeshift)
960 return __hash_page_huge(ea, access, vsid, ptep, trap, local, 983 return __hash_page_huge(ea, access, vsid, ptep, trap, local,
@@ -967,14 +990,6 @@ int hash_page(unsigned long ea, unsigned long access, unsigned long trap)
967 DBG_LOW(" i-pte: %016lx %016lx\n", pte_val(*ptep), 990 DBG_LOW(" i-pte: %016lx %016lx\n", pte_val(*ptep),
968 pte_val(*(ptep + PTRS_PER_PTE))); 991 pte_val(*(ptep + PTRS_PER_PTE)));
969#endif 992#endif
970 /* Pre-check access permissions (will be re-checked atomically
971 * in __hash_page_XX but this pre-check is a fast path
972 */
973 if (access & ~pte_val(*ptep)) {
974 DBG_LOW(" no access !\n");
975 return 1;
976 }
977
978 /* Do actual hashing */ 993 /* Do actual hashing */
979#ifdef CONFIG_PPC_64K_PAGES 994#ifdef CONFIG_PPC_64K_PAGES
980 /* If _PAGE_4K_PFN is set, make sure this is a 4k segment */ 995 /* If _PAGE_4K_PFN is set, make sure this is a 4k segment */
@@ -1033,6 +1048,12 @@ int hash_page(unsigned long ea, unsigned long access, unsigned long trap)
1033 local, ssize, spp); 1048 local, ssize, spp);
1034 } 1049 }
1035 1050
1051 /* Dump some info in case of hash insertion failure, they should
1052 * never happen so it is really useful to know if/when they do
1053 */
1054 if (rc == -1)
1055 hash_failure_debug(ea, access, vsid, trap, ssize, psize,
1056 pte_val(*ptep));
1036#ifndef CONFIG_PPC_64K_PAGES 1057#ifndef CONFIG_PPC_64K_PAGES
1037 DBG_LOW(" o-pte: %016lx\n", pte_val(*ptep)); 1058 DBG_LOW(" o-pte: %016lx\n", pte_val(*ptep));
1038#else 1059#else
@@ -1051,8 +1072,7 @@ void hash_preload(struct mm_struct *mm, unsigned long ea,
1051 void *pgdir; 1072 void *pgdir;
1052 pte_t *ptep; 1073 pte_t *ptep;
1053 unsigned long flags; 1074 unsigned long flags;
1054 int local = 0; 1075 int rc, ssize, local = 0;
1055 int ssize;
1056 1076
1057 BUG_ON(REGION_ID(ea) != USER_REGION_ID); 1077 BUG_ON(REGION_ID(ea) != USER_REGION_ID);
1058 1078
@@ -1098,11 +1118,18 @@ void hash_preload(struct mm_struct *mm, unsigned long ea,
1098 /* Hash it in */ 1118 /* Hash it in */
1099#ifdef CONFIG_PPC_HAS_HASH_64K 1119#ifdef CONFIG_PPC_HAS_HASH_64K
1100 if (mm->context.user_psize == MMU_PAGE_64K) 1120 if (mm->context.user_psize == MMU_PAGE_64K)
1101 __hash_page_64K(ea, access, vsid, ptep, trap, local, ssize); 1121 rc = __hash_page_64K(ea, access, vsid, ptep, trap, local, ssize);
1102 else 1122 else
1103#endif /* CONFIG_PPC_HAS_HASH_64K */ 1123#endif /* CONFIG_PPC_HAS_HASH_64K */
1104 __hash_page_4K(ea, access, vsid, ptep, trap, local, ssize, 1124 rc = __hash_page_4K(ea, access, vsid, ptep, trap, local, ssize,
1105 subpage_protection(pgdir, ea)); 1125 subpage_protection(pgdir, ea));
1126
1127 /* Dump some info in case of hash insertion failure, they should
1128 * never happen so it is really useful to know if/when they do
1129 */
1130 if (rc == -1)
1131 hash_failure_debug(ea, access, vsid, trap, ssize,
1132 mm->context.user_psize, pte_val(*ptep));
1106 1133
1107 local_irq_restore(flags); 1134 local_irq_restore(flags);
1108} 1135}
diff --git a/arch/powerpc/mm/hugetlbpage-hash64.c b/arch/powerpc/mm/hugetlbpage-hash64.c
index 199539882f92..cc5c273086cf 100644
--- a/arch/powerpc/mm/hugetlbpage-hash64.c
+++ b/arch/powerpc/mm/hugetlbpage-hash64.c
@@ -21,21 +21,13 @@ int __hash_page_huge(unsigned long ea, unsigned long access, unsigned long vsid,
21 unsigned long old_pte, new_pte; 21 unsigned long old_pte, new_pte;
22 unsigned long va, rflags, pa, sz; 22 unsigned long va, rflags, pa, sz;
23 long slot; 23 long slot;
24 int err = 1;
25 24
26 BUG_ON(shift != mmu_psize_defs[mmu_psize].shift); 25 BUG_ON(shift != mmu_psize_defs[mmu_psize].shift);
27 26
28 /* Search the Linux page table for a match with va */ 27 /* Search the Linux page table for a match with va */
29 va = hpt_va(ea, vsid, ssize); 28 va = hpt_va(ea, vsid, ssize);
30 29
31 /* 30 /* At this point, we have a pte (old_pte) which can be used to build
32 * Check the user's access rights to the page. If access should be
33 * prevented then send the problem up to do_page_fault.
34 */
35 if (unlikely(access & ~pte_val(*ptep)))
36 goto out;
37 /*
38 * At this point, we have a pte (old_pte) which can be used to build
39 * or update an HPTE. There are 2 cases: 31 * or update an HPTE. There are 2 cases:
40 * 32 *
41 * 1. There is a valid (present) pte with no associated HPTE (this is 33 * 1. There is a valid (present) pte with no associated HPTE (this is
@@ -49,9 +41,17 @@ int __hash_page_huge(unsigned long ea, unsigned long access, unsigned long vsid,
49 41
50 do { 42 do {
51 old_pte = pte_val(*ptep); 43 old_pte = pte_val(*ptep);
52 if (old_pte & _PAGE_BUSY) 44 /* If PTE busy, retry the access */
53 goto out; 45 if (unlikely(old_pte & _PAGE_BUSY))
46 return 0;
47 /* If PTE permissions don't match, take page fault */
48 if (unlikely(access & ~old_pte))
49 return 1;
50 /* Try to lock the PTE, add ACCESSED and DIRTY if it was
51 * a write access */
54 new_pte = old_pte | _PAGE_BUSY | _PAGE_ACCESSED; 52 new_pte = old_pte | _PAGE_BUSY | _PAGE_ACCESSED;
53 if (access & _PAGE_RW)
54 new_pte |= _PAGE_DIRTY;
55 } while(old_pte != __cmpxchg_u64((unsigned long *)ptep, 55 } while(old_pte != __cmpxchg_u64((unsigned long *)ptep,
56 old_pte, new_pte)); 56 old_pte, new_pte));
57 57
@@ -121,8 +121,16 @@ repeat:
121 } 121 }
122 } 122 }
123 123
124 if (unlikely(slot == -2)) 124 /*
125 panic("hash_huge_page: pte_insert failed\n"); 125 * Hypervisor failure. Restore old pte and return -1
126 * similar to __hash_page_*
127 */
128 if (unlikely(slot == -2)) {
129 *ptep = __pte(old_pte);
130 hash_failure_debug(ea, access, vsid, trap, ssize,
131 mmu_psize, old_pte);
132 return -1;
133 }
126 134
127 new_pte |= (slot << 12) & (_PAGE_F_SECOND | _PAGE_F_GIX); 135 new_pte |= (slot << 12) & (_PAGE_F_SECOND | _PAGE_F_GIX);
128 } 136 }
@@ -131,9 +139,5 @@ repeat:
131 * No need to use ldarx/stdcx here 139 * No need to use ldarx/stdcx here
132 */ 140 */
133 *ptep = __pte(new_pte & ~_PAGE_BUSY); 141 *ptep = __pte(new_pte & ~_PAGE_BUSY);
134 142 return 0;
135 err = 0;
136
137 out:
138 return err;
139} 143}
diff --git a/arch/powerpc/mm/hugetlbpage.c b/arch/powerpc/mm/hugetlbpage.c
index 123f7070238a..9bb249c3046e 100644
--- a/arch/powerpc/mm/hugetlbpage.c
+++ b/arch/powerpc/mm/hugetlbpage.c
@@ -9,6 +9,7 @@
9 9
10#include <linux/mm.h> 10#include <linux/mm.h>
11#include <linux/io.h> 11#include <linux/io.h>
12#include <linux/slab.h>
12#include <linux/hugetlb.h> 13#include <linux/hugetlb.h>
13#include <asm/pgtable.h> 14#include <asm/pgtable.h>
14#include <asm/pgalloc.h> 15#include <asm/pgalloc.h>
diff --git a/arch/powerpc/mm/init_32.c b/arch/powerpc/mm/init_32.c
index 4ec900af332f..6a6975dc2654 100644
--- a/arch/powerpc/mm/init_32.c
+++ b/arch/powerpc/mm/init_32.c
@@ -30,7 +30,8 @@
30#include <linux/highmem.h> 30#include <linux/highmem.h>
31#include <linux/initrd.h> 31#include <linux/initrd.h>
32#include <linux/pagemap.h> 32#include <linux/pagemap.h>
33#include <linux/lmb.h> 33#include <linux/memblock.h>
34#include <linux/gfp.h>
34 35
35#include <asm/pgalloc.h> 36#include <asm/pgalloc.h>
36#include <asm/prom.h> 37#include <asm/prom.h>
@@ -47,7 +48,7 @@
47#include "mmu_decl.h" 48#include "mmu_decl.h"
48 49
49#if defined(CONFIG_KERNEL_START_BOOL) || defined(CONFIG_LOWMEM_SIZE_BOOL) 50#if defined(CONFIG_KERNEL_START_BOOL) || defined(CONFIG_LOWMEM_SIZE_BOOL)
50/* The ammount of lowmem must be within 0xF0000000 - KERNELBASE. */ 51/* The amount of lowmem must be within 0xF0000000 - KERNELBASE. */
51#if (CONFIG_LOWMEM_SIZE > (0xF0000000 - PAGE_OFFSET)) 52#if (CONFIG_LOWMEM_SIZE > (0xF0000000 - PAGE_OFFSET))
52#error "You must adjust CONFIG_LOWMEM_SIZE or CONFIG_START_KERNEL" 53#error "You must adjust CONFIG_LOWMEM_SIZE or CONFIG_START_KERNEL"
53#endif 54#endif
@@ -135,17 +136,17 @@ void __init MMU_init(void)
135 /* parse args from command line */ 136 /* parse args from command line */
136 MMU_setup(); 137 MMU_setup();
137 138
138 if (lmb.memory.cnt > 1) { 139 if (memblock.memory.cnt > 1) {
139#ifndef CONFIG_WII 140#ifndef CONFIG_WII
140 lmb.memory.cnt = 1; 141 memblock.memory.cnt = 1;
141 lmb_analyze(); 142 memblock_analyze();
142 printk(KERN_WARNING "Only using first contiguous memory region"); 143 printk(KERN_WARNING "Only using first contiguous memory region");
143#else 144#else
144 wii_memory_fixups(); 145 wii_memory_fixups();
145#endif 146#endif
146 } 147 }
147 148
148 total_lowmem = total_memory = lmb_end_of_DRAM() - memstart_addr; 149 total_lowmem = total_memory = memblock_end_of_DRAM() - memstart_addr;
149 lowmem_end_addr = memstart_addr + total_lowmem; 150 lowmem_end_addr = memstart_addr + total_lowmem;
150 151
151#ifdef CONFIG_FSL_BOOKE 152#ifdef CONFIG_FSL_BOOKE
@@ -160,8 +161,8 @@ void __init MMU_init(void)
160 lowmem_end_addr = memstart_addr + total_lowmem; 161 lowmem_end_addr = memstart_addr + total_lowmem;
161#ifndef CONFIG_HIGHMEM 162#ifndef CONFIG_HIGHMEM
162 total_memory = total_lowmem; 163 total_memory = total_lowmem;
163 lmb_enforce_memory_limit(lowmem_end_addr); 164 memblock_enforce_memory_limit(lowmem_end_addr);
164 lmb_analyze(); 165 memblock_analyze();
165#endif /* CONFIG_HIGHMEM */ 166#endif /* CONFIG_HIGHMEM */
166 } 167 }
167 168
@@ -199,7 +200,7 @@ void __init *early_get_page(void)
199 if (init_bootmem_done) { 200 if (init_bootmem_done) {
200 p = alloc_bootmem_pages(PAGE_SIZE); 201 p = alloc_bootmem_pages(PAGE_SIZE);
201 } else { 202 } else {
202 p = __va(lmb_alloc_base(PAGE_SIZE, PAGE_SIZE, 203 p = __va(memblock_alloc_base(PAGE_SIZE, PAGE_SIZE,
203 __initial_memory_limit_addr)); 204 __initial_memory_limit_addr));
204 } 205 }
205 return p; 206 return p;
diff --git a/arch/powerpc/mm/init_64.c b/arch/powerpc/mm/init_64.c
index 776f28d02b6b..71f1415e2472 100644
--- a/arch/powerpc/mm/init_64.c
+++ b/arch/powerpc/mm/init_64.c
@@ -40,8 +40,9 @@
40#include <linux/nodemask.h> 40#include <linux/nodemask.h>
41#include <linux/module.h> 41#include <linux/module.h>
42#include <linux/poison.h> 42#include <linux/poison.h>
43#include <linux/lmb.h> 43#include <linux/memblock.h>
44#include <linux/hugetlb.h> 44#include <linux/hugetlb.h>
45#include <linux/slab.h>
45 46
46#include <asm/pgalloc.h> 47#include <asm/pgalloc.h>
47#include <asm/page.h> 48#include <asm/page.h>
@@ -251,6 +252,47 @@ static void __meminit vmemmap_create_mapping(unsigned long start,
251} 252}
252#endif /* CONFIG_PPC_BOOK3E */ 253#endif /* CONFIG_PPC_BOOK3E */
253 254
255struct vmemmap_backing *vmemmap_list;
256
257static __meminit struct vmemmap_backing * vmemmap_list_alloc(int node)
258{
259 static struct vmemmap_backing *next;
260 static int num_left;
261
262 /* allocate a page when required and hand out chunks */
263 if (!next || !num_left) {
264 next = vmemmap_alloc_block(PAGE_SIZE, node);
265 if (unlikely(!next)) {
266 WARN_ON(1);
267 return NULL;
268 }
269 num_left = PAGE_SIZE / sizeof(struct vmemmap_backing);
270 }
271
272 num_left--;
273
274 return next++;
275}
276
277static __meminit void vmemmap_list_populate(unsigned long phys,
278 unsigned long start,
279 int node)
280{
281 struct vmemmap_backing *vmem_back;
282
283 vmem_back = vmemmap_list_alloc(node);
284 if (unlikely(!vmem_back)) {
285 WARN_ON(1);
286 return;
287 }
288
289 vmem_back->phys = phys;
290 vmem_back->virt_addr = start;
291 vmem_back->list = vmemmap_list;
292
293 vmemmap_list = vmem_back;
294}
295
254int __meminit vmemmap_populate(struct page *start_page, 296int __meminit vmemmap_populate(struct page *start_page,
255 unsigned long nr_pages, int node) 297 unsigned long nr_pages, int node)
256{ 298{
@@ -275,6 +317,8 @@ int __meminit vmemmap_populate(struct page *start_page,
275 if (!p) 317 if (!p)
276 return -ENOMEM; 318 return -ENOMEM;
277 319
320 vmemmap_list_populate(__pa(p), start, node);
321
278 pr_debug(" * %016lx..%016lx allocated at %p\n", 322 pr_debug(" * %016lx..%016lx allocated at %p\n",
279 start, start + page_size, p); 323 start, start + page_size, p);
280 324
diff --git a/arch/powerpc/mm/mem.c b/arch/powerpc/mm/mem.c
index b9b152558f9c..1a84a8d00005 100644
--- a/arch/powerpc/mm/mem.c
+++ b/arch/powerpc/mm/mem.c
@@ -22,6 +22,7 @@
22#include <linux/kernel.h> 22#include <linux/kernel.h>
23#include <linux/errno.h> 23#include <linux/errno.h>
24#include <linux/string.h> 24#include <linux/string.h>
25#include <linux/gfp.h>
25#include <linux/types.h> 26#include <linux/types.h>
26#include <linux/mm.h> 27#include <linux/mm.h>
27#include <linux/stddef.h> 28#include <linux/stddef.h>
@@ -31,7 +32,7 @@
31#include <linux/initrd.h> 32#include <linux/initrd.h>
32#include <linux/pagemap.h> 33#include <linux/pagemap.h>
33#include <linux/suspend.h> 34#include <linux/suspend.h>
34#include <linux/lmb.h> 35#include <linux/memblock.h>
35#include <linux/hugetlb.h> 36#include <linux/hugetlb.h>
36 37
37#include <asm/pgalloc.h> 38#include <asm/pgalloc.h>
@@ -48,6 +49,7 @@
48#include <asm/sparsemem.h> 49#include <asm/sparsemem.h>
49#include <asm/vdso.h> 50#include <asm/vdso.h>
50#include <asm/fixmap.h> 51#include <asm/fixmap.h>
52#include <asm/swiotlb.h>
51 53
52#include "mmu_decl.h" 54#include "mmu_decl.h"
53 55
@@ -81,13 +83,13 @@ int page_is_ram(unsigned long pfn)
81#else 83#else
82 unsigned long paddr = (pfn << PAGE_SHIFT); 84 unsigned long paddr = (pfn << PAGE_SHIFT);
83 int i; 85 int i;
84 for (i=0; i < lmb.memory.cnt; i++) { 86 for (i=0; i < memblock.memory.cnt; i++) {
85 unsigned long base; 87 unsigned long base;
86 88
87 base = lmb.memory.region[i].base; 89 base = memblock.memory.region[i].base;
88 90
89 if ((paddr >= base) && 91 if ((paddr >= base) &&
90 (paddr < (base + lmb.memory.region[i].size))) { 92 (paddr < (base + memblock.memory.region[i].size))) {
91 return 1; 93 return 1;
92 } 94 }
93 } 95 }
@@ -140,14 +142,14 @@ int arch_add_memory(int nid, u64 start, u64 size)
140/* 142/*
141 * walk_memory_resource() needs to make sure there is no holes in a given 143 * walk_memory_resource() needs to make sure there is no holes in a given
142 * memory range. PPC64 does not maintain the memory layout in /proc/iomem. 144 * memory range. PPC64 does not maintain the memory layout in /proc/iomem.
143 * Instead it maintains it in lmb.memory structures. Walk through the 145 * Instead it maintains it in memblock.memory structures. Walk through the
144 * memory regions, find holes and callback for contiguous regions. 146 * memory regions, find holes and callback for contiguous regions.
145 */ 147 */
146int 148int
147walk_system_ram_range(unsigned long start_pfn, unsigned long nr_pages, 149walk_system_ram_range(unsigned long start_pfn, unsigned long nr_pages,
148 void *arg, int (*func)(unsigned long, unsigned long, void *)) 150 void *arg, int (*func)(unsigned long, unsigned long, void *))
149{ 151{
150 struct lmb_property res; 152 struct memblock_property res;
151 unsigned long pfn, len; 153 unsigned long pfn, len;
152 u64 end; 154 u64 end;
153 int ret = -1; 155 int ret = -1;
@@ -156,7 +158,7 @@ walk_system_ram_range(unsigned long start_pfn, unsigned long nr_pages,
156 res.size = (u64) nr_pages << PAGE_SHIFT; 158 res.size = (u64) nr_pages << PAGE_SHIFT;
157 159
158 end = res.base + res.size - 1; 160 end = res.base + res.size - 1;
159 while ((res.base < end) && (lmb_find(&res) >= 0)) { 161 while ((res.base < end) && (memblock_find(&res) >= 0)) {
160 pfn = (unsigned long)(res.base >> PAGE_SHIFT); 162 pfn = (unsigned long)(res.base >> PAGE_SHIFT);
161 len = (unsigned long)(res.size >> PAGE_SHIFT); 163 len = (unsigned long)(res.size >> PAGE_SHIFT);
162 ret = (*func)(pfn, len, arg); 164 ret = (*func)(pfn, len, arg);
@@ -182,8 +184,8 @@ void __init do_init_bootmem(void)
182 unsigned long total_pages; 184 unsigned long total_pages;
183 int boot_mapsize; 185 int boot_mapsize;
184 186
185 max_low_pfn = max_pfn = lmb_end_of_DRAM() >> PAGE_SHIFT; 187 max_low_pfn = max_pfn = memblock_end_of_DRAM() >> PAGE_SHIFT;
186 total_pages = (lmb_end_of_DRAM() - memstart_addr) >> PAGE_SHIFT; 188 total_pages = (memblock_end_of_DRAM() - memstart_addr) >> PAGE_SHIFT;
187#ifdef CONFIG_HIGHMEM 189#ifdef CONFIG_HIGHMEM
188 total_pages = total_lowmem >> PAGE_SHIFT; 190 total_pages = total_lowmem >> PAGE_SHIFT;
189 max_low_pfn = lowmem_end_addr >> PAGE_SHIFT; 191 max_low_pfn = lowmem_end_addr >> PAGE_SHIFT;
@@ -196,16 +198,16 @@ void __init do_init_bootmem(void)
196 */ 198 */
197 bootmap_pages = bootmem_bootmap_pages(total_pages); 199 bootmap_pages = bootmem_bootmap_pages(total_pages);
198 200
199 start = lmb_alloc(bootmap_pages << PAGE_SHIFT, PAGE_SIZE); 201 start = memblock_alloc(bootmap_pages << PAGE_SHIFT, PAGE_SIZE);
200 202
201 min_low_pfn = MEMORY_START >> PAGE_SHIFT; 203 min_low_pfn = MEMORY_START >> PAGE_SHIFT;
202 boot_mapsize = init_bootmem_node(NODE_DATA(0), start >> PAGE_SHIFT, min_low_pfn, max_low_pfn); 204 boot_mapsize = init_bootmem_node(NODE_DATA(0), start >> PAGE_SHIFT, min_low_pfn, max_low_pfn);
203 205
204 /* Add active regions with valid PFNs */ 206 /* Add active regions with valid PFNs */
205 for (i = 0; i < lmb.memory.cnt; i++) { 207 for (i = 0; i < memblock.memory.cnt; i++) {
206 unsigned long start_pfn, end_pfn; 208 unsigned long start_pfn, end_pfn;
207 start_pfn = lmb.memory.region[i].base >> PAGE_SHIFT; 209 start_pfn = memblock.memory.region[i].base >> PAGE_SHIFT;
208 end_pfn = start_pfn + lmb_size_pages(&lmb.memory, i); 210 end_pfn = start_pfn + memblock_size_pages(&memblock.memory, i);
209 add_active_range(0, start_pfn, end_pfn); 211 add_active_range(0, start_pfn, end_pfn);
210 } 212 }
211 213
@@ -216,17 +218,17 @@ void __init do_init_bootmem(void)
216 free_bootmem_with_active_regions(0, lowmem_end_addr >> PAGE_SHIFT); 218 free_bootmem_with_active_regions(0, lowmem_end_addr >> PAGE_SHIFT);
217 219
218 /* reserve the sections we're already using */ 220 /* reserve the sections we're already using */
219 for (i = 0; i < lmb.reserved.cnt; i++) { 221 for (i = 0; i < memblock.reserved.cnt; i++) {
220 unsigned long addr = lmb.reserved.region[i].base + 222 unsigned long addr = memblock.reserved.region[i].base +
221 lmb_size_bytes(&lmb.reserved, i) - 1; 223 memblock_size_bytes(&memblock.reserved, i) - 1;
222 if (addr < lowmem_end_addr) 224 if (addr < lowmem_end_addr)
223 reserve_bootmem(lmb.reserved.region[i].base, 225 reserve_bootmem(memblock.reserved.region[i].base,
224 lmb_size_bytes(&lmb.reserved, i), 226 memblock_size_bytes(&memblock.reserved, i),
225 BOOTMEM_DEFAULT); 227 BOOTMEM_DEFAULT);
226 else if (lmb.reserved.region[i].base < lowmem_end_addr) { 228 else if (memblock.reserved.region[i].base < lowmem_end_addr) {
227 unsigned long adjusted_size = lowmem_end_addr - 229 unsigned long adjusted_size = lowmem_end_addr -
228 lmb.reserved.region[i].base; 230 memblock.reserved.region[i].base;
229 reserve_bootmem(lmb.reserved.region[i].base, 231 reserve_bootmem(memblock.reserved.region[i].base,
230 adjusted_size, BOOTMEM_DEFAULT); 232 adjusted_size, BOOTMEM_DEFAULT);
231 } 233 }
232 } 234 }
@@ -234,9 +236,9 @@ void __init do_init_bootmem(void)
234 free_bootmem_with_active_regions(0, max_pfn); 236 free_bootmem_with_active_regions(0, max_pfn);
235 237
236 /* reserve the sections we're already using */ 238 /* reserve the sections we're already using */
237 for (i = 0; i < lmb.reserved.cnt; i++) 239 for (i = 0; i < memblock.reserved.cnt; i++)
238 reserve_bootmem(lmb.reserved.region[i].base, 240 reserve_bootmem(memblock.reserved.region[i].base,
239 lmb_size_bytes(&lmb.reserved, i), 241 memblock_size_bytes(&memblock.reserved, i),
240 BOOTMEM_DEFAULT); 242 BOOTMEM_DEFAULT);
241 243
242#endif 244#endif
@@ -249,20 +251,20 @@ void __init do_init_bootmem(void)
249/* mark pages that don't exist as nosave */ 251/* mark pages that don't exist as nosave */
250static int __init mark_nonram_nosave(void) 252static int __init mark_nonram_nosave(void)
251{ 253{
252 unsigned long lmb_next_region_start_pfn, 254 unsigned long memblock_next_region_start_pfn,
253 lmb_region_max_pfn; 255 memblock_region_max_pfn;
254 int i; 256 int i;
255 257
256 for (i = 0; i < lmb.memory.cnt - 1; i++) { 258 for (i = 0; i < memblock.memory.cnt - 1; i++) {
257 lmb_region_max_pfn = 259 memblock_region_max_pfn =
258 (lmb.memory.region[i].base >> PAGE_SHIFT) + 260 (memblock.memory.region[i].base >> PAGE_SHIFT) +
259 (lmb.memory.region[i].size >> PAGE_SHIFT); 261 (memblock.memory.region[i].size >> PAGE_SHIFT);
260 lmb_next_region_start_pfn = 262 memblock_next_region_start_pfn =
261 lmb.memory.region[i+1].base >> PAGE_SHIFT; 263 memblock.memory.region[i+1].base >> PAGE_SHIFT;
262 264
263 if (lmb_region_max_pfn < lmb_next_region_start_pfn) 265 if (memblock_region_max_pfn < memblock_next_region_start_pfn)
264 register_nosave_region(lmb_region_max_pfn, 266 register_nosave_region(memblock_region_max_pfn,
265 lmb_next_region_start_pfn); 267 memblock_next_region_start_pfn);
266 } 268 }
267 269
268 return 0; 270 return 0;
@@ -273,8 +275,8 @@ static int __init mark_nonram_nosave(void)
273 */ 275 */
274void __init paging_init(void) 276void __init paging_init(void)
275{ 277{
276 unsigned long total_ram = lmb_phys_mem_size(); 278 unsigned long total_ram = memblock_phys_mem_size();
277 phys_addr_t top_of_ram = lmb_end_of_DRAM(); 279 phys_addr_t top_of_ram = memblock_end_of_DRAM();
278 unsigned long max_zone_pfns[MAX_NR_ZONES]; 280 unsigned long max_zone_pfns[MAX_NR_ZONES];
279 281
280#ifdef CONFIG_PPC32 282#ifdef CONFIG_PPC32
@@ -320,7 +322,12 @@ void __init mem_init(void)
320 struct page *page; 322 struct page *page;
321 unsigned long reservedpages = 0, codesize, initsize, datasize, bsssize; 323 unsigned long reservedpages = 0, codesize, initsize, datasize, bsssize;
322 324
323 num_physpages = lmb.memory.size >> PAGE_SHIFT; 325#ifdef CONFIG_SWIOTLB
326 if (ppc_swiotlb_enable)
327 swiotlb_init(1);
328#endif
329
330 num_physpages = memblock.memory.size >> PAGE_SHIFT;
324 high_memory = (void *) __va(max_low_pfn * PAGE_SIZE); 331 high_memory = (void *) __va(max_low_pfn * PAGE_SIZE);
325 332
326#ifdef CONFIG_NEED_MULTIPLE_NODES 333#ifdef CONFIG_NEED_MULTIPLE_NODES
@@ -357,7 +364,7 @@ void __init mem_init(void)
357 highmem_mapnr = lowmem_end_addr >> PAGE_SHIFT; 364 highmem_mapnr = lowmem_end_addr >> PAGE_SHIFT;
358 for (pfn = highmem_mapnr; pfn < max_mapnr; ++pfn) { 365 for (pfn = highmem_mapnr; pfn < max_mapnr; ++pfn) {
359 struct page *page = pfn_to_page(pfn); 366 struct page *page = pfn_to_page(pfn);
360 if (lmb_is_reserved(pfn << PAGE_SHIFT)) 367 if (memblock_is_reserved(pfn << PAGE_SHIFT))
361 continue; 368 continue;
362 ClearPageReserved(page); 369 ClearPageReserved(page);
363 init_page_count(page); 370 init_page_count(page);
@@ -494,13 +501,13 @@ EXPORT_SYMBOL(flush_icache_user_range);
494 * This must always be called with the pte lock held. 501 * This must always be called with the pte lock held.
495 */ 502 */
496void update_mmu_cache(struct vm_area_struct *vma, unsigned long address, 503void update_mmu_cache(struct vm_area_struct *vma, unsigned long address,
497 pte_t pte) 504 pte_t *ptep)
498{ 505{
499#ifdef CONFIG_PPC_STD_MMU 506#ifdef CONFIG_PPC_STD_MMU
500 unsigned long access = 0, trap; 507 unsigned long access = 0, trap;
501 508
502 /* We only want HPTEs for linux PTEs that have _PAGE_ACCESSED set */ 509 /* We only want HPTEs for linux PTEs that have _PAGE_ACCESSED set */
503 if (!pte_young(pte) || address >= TASK_SIZE) 510 if (!pte_young(*ptep) || address >= TASK_SIZE)
504 return; 511 return;
505 512
506 /* We try to figure out if we are coming from an instruction 513 /* We try to figure out if we are coming from an instruction
diff --git a/arch/powerpc/mm/mmu_context_hash32.c b/arch/powerpc/mm/mmu_context_hash32.c
index 0dfba2bf7f31..d0ee554e86e4 100644
--- a/arch/powerpc/mm/mmu_context_hash32.c
+++ b/arch/powerpc/mm/mmu_context_hash32.c
@@ -60,11 +60,7 @@
60static unsigned long next_mmu_context; 60static unsigned long next_mmu_context;
61static unsigned long context_map[LAST_CONTEXT / BITS_PER_LONG + 1]; 61static unsigned long context_map[LAST_CONTEXT / BITS_PER_LONG + 1];
62 62
63 63unsigned long __init_new_context(void)
64/*
65 * Set up the context for a new address space.
66 */
67int init_new_context(struct task_struct *t, struct mm_struct *mm)
68{ 64{
69 unsigned long ctx = next_mmu_context; 65 unsigned long ctx = next_mmu_context;
70 66
@@ -74,19 +70,38 @@ int init_new_context(struct task_struct *t, struct mm_struct *mm)
74 ctx = 0; 70 ctx = 0;
75 } 71 }
76 next_mmu_context = (ctx + 1) & LAST_CONTEXT; 72 next_mmu_context = (ctx + 1) & LAST_CONTEXT;
77 mm->context.id = ctx; 73
74 return ctx;
75}
76EXPORT_SYMBOL_GPL(__init_new_context);
77
78/*
79 * Set up the context for a new address space.
80 */
81int init_new_context(struct task_struct *t, struct mm_struct *mm)
82{
83 mm->context.id = __init_new_context();
78 84
79 return 0; 85 return 0;
80} 86}
81 87
82/* 88/*
89 * Free a context ID. Make sure to call this with preempt disabled!
90 */
91void __destroy_context(unsigned long ctx)
92{
93 clear_bit(ctx, context_map);
94}
95EXPORT_SYMBOL_GPL(__destroy_context);
96
97/*
83 * We're finished using the context for an address space. 98 * We're finished using the context for an address space.
84 */ 99 */
85void destroy_context(struct mm_struct *mm) 100void destroy_context(struct mm_struct *mm)
86{ 101{
87 preempt_disable(); 102 preempt_disable();
88 if (mm->context.id != NO_CONTEXT) { 103 if (mm->context.id != NO_CONTEXT) {
89 clear_bit(mm->context.id, context_map); 104 __destroy_context(mm->context.id);
90 mm->context.id = NO_CONTEXT; 105 mm->context.id = NO_CONTEXT;
91 } 106 }
92 preempt_enable(); 107 preempt_enable();
diff --git a/arch/powerpc/mm/mmu_context_hash64.c b/arch/powerpc/mm/mmu_context_hash64.c
index b910d37aea1a..2535828aa84b 100644
--- a/arch/powerpc/mm/mmu_context_hash64.c
+++ b/arch/powerpc/mm/mmu_context_hash64.c
@@ -19,11 +19,12 @@
19#include <linux/spinlock.h> 19#include <linux/spinlock.h>
20#include <linux/idr.h> 20#include <linux/idr.h>
21#include <linux/module.h> 21#include <linux/module.h>
22#include <linux/gfp.h>
22 23
23#include <asm/mmu_context.h> 24#include <asm/mmu_context.h>
24 25
25static DEFINE_SPINLOCK(mmu_context_lock); 26static DEFINE_SPINLOCK(mmu_context_lock);
26static DEFINE_IDR(mmu_context_idr); 27static DEFINE_IDA(mmu_context_ida);
27 28
28/* 29/*
29 * The proto-VSID space has 2^35 - 1 segments available for user mappings. 30 * The proto-VSID space has 2^35 - 1 segments available for user mappings.
@@ -39,11 +40,11 @@ int __init_new_context(void)
39 int err; 40 int err;
40 41
41again: 42again:
42 if (!idr_pre_get(&mmu_context_idr, GFP_KERNEL)) 43 if (!ida_pre_get(&mmu_context_ida, GFP_KERNEL))
43 return -ENOMEM; 44 return -ENOMEM;
44 45
45 spin_lock(&mmu_context_lock); 46 spin_lock(&mmu_context_lock);
46 err = idr_get_new_above(&mmu_context_idr, NULL, 1, &index); 47 err = ida_get_new_above(&mmu_context_ida, 1, &index);
47 spin_unlock(&mmu_context_lock); 48 spin_unlock(&mmu_context_lock);
48 49
49 if (err == -EAGAIN) 50 if (err == -EAGAIN)
@@ -53,7 +54,7 @@ again:
53 54
54 if (index > MAX_CONTEXT) { 55 if (index > MAX_CONTEXT) {
55 spin_lock(&mmu_context_lock); 56 spin_lock(&mmu_context_lock);
56 idr_remove(&mmu_context_idr, index); 57 ida_remove(&mmu_context_ida, index);
57 spin_unlock(&mmu_context_lock); 58 spin_unlock(&mmu_context_lock);
58 return -ENOMEM; 59 return -ENOMEM;
59 } 60 }
@@ -85,7 +86,7 @@ int init_new_context(struct task_struct *tsk, struct mm_struct *mm)
85void __destroy_context(int context_id) 86void __destroy_context(int context_id)
86{ 87{
87 spin_lock(&mmu_context_lock); 88 spin_lock(&mmu_context_lock);
88 idr_remove(&mmu_context_idr, context_id); 89 ida_remove(&mmu_context_ida, context_id);
89 spin_unlock(&mmu_context_lock); 90 spin_unlock(&mmu_context_lock);
90} 91}
91EXPORT_SYMBOL_GPL(__destroy_context); 92EXPORT_SYMBOL_GPL(__destroy_context);
diff --git a/arch/powerpc/mm/mmu_context_nohash.c b/arch/powerpc/mm/mmu_context_nohash.c
index 1044a634b6d0..ddfd7ad4e1d6 100644
--- a/arch/powerpc/mm/mmu_context_nohash.c
+++ b/arch/powerpc/mm/mmu_context_nohash.c
@@ -47,6 +47,7 @@
47#include <linux/bootmem.h> 47#include <linux/bootmem.h>
48#include <linux/notifier.h> 48#include <linux/notifier.h>
49#include <linux/cpu.h> 49#include <linux/cpu.h>
50#include <linux/slab.h>
50 51
51#include <asm/mmu_context.h> 52#include <asm/mmu_context.h>
52#include <asm/tlbflush.h> 53#include <asm/tlbflush.h>
@@ -56,7 +57,7 @@ static unsigned int next_context, nr_free_contexts;
56static unsigned long *context_map; 57static unsigned long *context_map;
57static unsigned long *stale_map[NR_CPUS]; 58static unsigned long *stale_map[NR_CPUS];
58static struct mm_struct **context_mm; 59static struct mm_struct **context_mm;
59static DEFINE_SPINLOCK(context_lock); 60static DEFINE_RAW_SPINLOCK(context_lock);
60 61
61#define CTX_MAP_SIZE \ 62#define CTX_MAP_SIZE \
62 (sizeof(unsigned long) * (last_context / BITS_PER_LONG + 1)) 63 (sizeof(unsigned long) * (last_context / BITS_PER_LONG + 1))
@@ -121,9 +122,9 @@ static unsigned int steal_context_smp(unsigned int id)
121 /* This will happen if you have more CPUs than available contexts, 122 /* This will happen if you have more CPUs than available contexts,
122 * all we can do here is wait a bit and try again 123 * all we can do here is wait a bit and try again
123 */ 124 */
124 spin_unlock(&context_lock); 125 raw_spin_unlock(&context_lock);
125 cpu_relax(); 126 cpu_relax();
126 spin_lock(&context_lock); 127 raw_spin_lock(&context_lock);
127 128
128 /* This will cause the caller to try again */ 129 /* This will cause the caller to try again */
129 return MMU_NO_CONTEXT; 130 return MMU_NO_CONTEXT;
@@ -194,7 +195,7 @@ void switch_mmu_context(struct mm_struct *prev, struct mm_struct *next)
194 unsigned long *map; 195 unsigned long *map;
195 196
196 /* No lockless fast path .. yet */ 197 /* No lockless fast path .. yet */
197 spin_lock(&context_lock); 198 raw_spin_lock(&context_lock);
198 199
199 pr_hard("[%d] activating context for mm @%p, active=%d, id=%d", 200 pr_hard("[%d] activating context for mm @%p, active=%d, id=%d",
200 cpu, next, next->context.active, next->context.id); 201 cpu, next, next->context.active, next->context.id);
@@ -278,7 +279,7 @@ void switch_mmu_context(struct mm_struct *prev, struct mm_struct *next)
278 /* Flick the MMU and release lock */ 279 /* Flick the MMU and release lock */
279 pr_hardcont(" -> %d\n", id); 280 pr_hardcont(" -> %d\n", id);
280 set_context(id, next->pgd); 281 set_context(id, next->pgd);
281 spin_unlock(&context_lock); 282 raw_spin_unlock(&context_lock);
282} 283}
283 284
284/* 285/*
@@ -307,7 +308,7 @@ void destroy_context(struct mm_struct *mm)
307 308
308 WARN_ON(mm->context.active != 0); 309 WARN_ON(mm->context.active != 0);
309 310
310 spin_lock_irqsave(&context_lock, flags); 311 raw_spin_lock_irqsave(&context_lock, flags);
311 id = mm->context.id; 312 id = mm->context.id;
312 if (id != MMU_NO_CONTEXT) { 313 if (id != MMU_NO_CONTEXT) {
313 __clear_bit(id, context_map); 314 __clear_bit(id, context_map);
@@ -318,7 +319,7 @@ void destroy_context(struct mm_struct *mm)
318 context_mm[id] = NULL; 319 context_mm[id] = NULL;
319 nr_free_contexts++; 320 nr_free_contexts++;
320 } 321 }
321 spin_unlock_irqrestore(&context_lock, flags); 322 raw_spin_unlock_irqrestore(&context_lock, flags);
322} 323}
323 324
324#ifdef CONFIG_SMP 325#ifdef CONFIG_SMP
@@ -394,10 +395,18 @@ void __init mmu_context_init(void)
394 * the PID/TID comparison is disabled, so we can use a TID of zero 395 * the PID/TID comparison is disabled, so we can use a TID of zero
395 * to represent all kernel pages as shared among all contexts. 396 * to represent all kernel pages as shared among all contexts.
396 * -- Dan 397 * -- Dan
398 *
399 * The IBM 47x core supports 16-bit PIDs, thus 65535 contexts. We
400 * should normally never have to steal though the facility is
401 * present if needed.
402 * -- BenH
397 */ 403 */
398 if (mmu_has_feature(MMU_FTR_TYPE_8xx)) { 404 if (mmu_has_feature(MMU_FTR_TYPE_8xx)) {
399 first_context = 0; 405 first_context = 0;
400 last_context = 15; 406 last_context = 15;
407 } else if (mmu_has_feature(MMU_FTR_TYPE_47x)) {
408 first_context = 1;
409 last_context = 65535;
401 } else { 410 } else {
402 first_context = 1; 411 first_context = 1;
403 last_context = 255; 412 last_context = 255;
diff --git a/arch/powerpc/mm/mmu_decl.h b/arch/powerpc/mm/mmu_decl.h
index d49a77503e19..63b84a0d3b10 100644
--- a/arch/powerpc/mm/mmu_decl.h
+++ b/arch/powerpc/mm/mmu_decl.h
@@ -69,12 +69,7 @@ static inline void _tlbil_va(unsigned long address, unsigned int pid,
69} 69}
70#endif /* CONIFG_8xx */ 70#endif /* CONIFG_8xx */
71 71
72/* 72#if defined(CONFIG_PPC_BOOK3E) || defined(CONFIG_PPC_47x)
73 * As of today, we don't support tlbivax broadcast on any
74 * implementation. When that becomes the case, this will be
75 * an extern.
76 */
77#ifdef CONFIG_PPC_BOOK3E
78extern void _tlbivax_bcast(unsigned long address, unsigned int pid, 73extern void _tlbivax_bcast(unsigned long address, unsigned int pid,
79 unsigned int tsize, unsigned int ind); 74 unsigned int tsize, unsigned int ind);
80#else 75#else
@@ -149,7 +144,15 @@ extern unsigned long mmu_mapin_ram(unsigned long top);
149extern void MMU_init_hw(void); 144extern void MMU_init_hw(void);
150extern unsigned long mmu_mapin_ram(unsigned long top); 145extern unsigned long mmu_mapin_ram(unsigned long top);
151extern void adjust_total_lowmem(void); 146extern void adjust_total_lowmem(void);
152 147extern void loadcam_entry(unsigned int index);
148
149struct tlbcam {
150 u32 MAS0;
151 u32 MAS1;
152 unsigned long MAS2;
153 u32 MAS3;
154 u32 MAS7;
155};
153#elif defined(CONFIG_PPC32) 156#elif defined(CONFIG_PPC32)
154/* anything 32-bit except 4xx or 8xx */ 157/* anything 32-bit except 4xx or 8xx */
155extern void MMU_init_hw(void); 158extern void MMU_init_hw(void);
diff --git a/arch/powerpc/mm/numa.c b/arch/powerpc/mm/numa.c
index b037d95eeadc..aa731af720c0 100644
--- a/arch/powerpc/mm/numa.c
+++ b/arch/powerpc/mm/numa.c
@@ -17,7 +17,7 @@
17#include <linux/nodemask.h> 17#include <linux/nodemask.h>
18#include <linux/cpu.h> 18#include <linux/cpu.h>
19#include <linux/notifier.h> 19#include <linux/notifier.h>
20#include <linux/lmb.h> 20#include <linux/memblock.h>
21#include <linux/of.h> 21#include <linux/of.h>
22#include <linux/pfn.h> 22#include <linux/pfn.h>
23#include <asm/sparsemem.h> 23#include <asm/sparsemem.h>
@@ -33,16 +33,41 @@ static int numa_debug;
33#define dbg(args...) if (numa_debug) { printk(KERN_INFO args); } 33#define dbg(args...) if (numa_debug) { printk(KERN_INFO args); }
34 34
35int numa_cpu_lookup_table[NR_CPUS]; 35int numa_cpu_lookup_table[NR_CPUS];
36cpumask_t numa_cpumask_lookup_table[MAX_NUMNODES]; 36cpumask_var_t node_to_cpumask_map[MAX_NUMNODES];
37struct pglist_data *node_data[MAX_NUMNODES]; 37struct pglist_data *node_data[MAX_NUMNODES];
38 38
39EXPORT_SYMBOL(numa_cpu_lookup_table); 39EXPORT_SYMBOL(numa_cpu_lookup_table);
40EXPORT_SYMBOL(numa_cpumask_lookup_table); 40EXPORT_SYMBOL(node_to_cpumask_map);
41EXPORT_SYMBOL(node_data); 41EXPORT_SYMBOL(node_data);
42 42
43static int min_common_depth; 43static int min_common_depth;
44static int n_mem_addr_cells, n_mem_size_cells; 44static int n_mem_addr_cells, n_mem_size_cells;
45 45
46/*
47 * Allocate node_to_cpumask_map based on number of available nodes
48 * Requires node_possible_map to be valid.
49 *
50 * Note: node_to_cpumask() is not valid until after this is done.
51 */
52static void __init setup_node_to_cpumask_map(void)
53{
54 unsigned int node, num = 0;
55
56 /* setup nr_node_ids if not done yet */
57 if (nr_node_ids == MAX_NUMNODES) {
58 for_each_node_mask(node, node_possible_map)
59 num = node;
60 nr_node_ids = num + 1;
61 }
62
63 /* allocate the map */
64 for (node = 0; node < nr_node_ids; node++)
65 alloc_bootmem_cpumask_var(&node_to_cpumask_map[node]);
66
67 /* cpumask_of_node() will now work */
68 dbg("Node to cpumask map for %d nodes\n", nr_node_ids);
69}
70
46static int __cpuinit fake_numa_create_new_node(unsigned long end_pfn, 71static int __cpuinit fake_numa_create_new_node(unsigned long end_pfn,
47 unsigned int *nid) 72 unsigned int *nid)
48{ 73{
@@ -138,8 +163,8 @@ static void __cpuinit map_cpu_to_node(int cpu, int node)
138 163
139 dbg("adding cpu %d to node %d\n", cpu, node); 164 dbg("adding cpu %d to node %d\n", cpu, node);
140 165
141 if (!(cpu_isset(cpu, numa_cpumask_lookup_table[node]))) 166 if (!(cpumask_test_cpu(cpu, node_to_cpumask_map[node])))
142 cpu_set(cpu, numa_cpumask_lookup_table[node]); 167 cpumask_set_cpu(cpu, node_to_cpumask_map[node]);
143} 168}
144 169
145#ifdef CONFIG_HOTPLUG_CPU 170#ifdef CONFIG_HOTPLUG_CPU
@@ -149,8 +174,8 @@ static void unmap_cpu_from_node(unsigned long cpu)
149 174
150 dbg("removing cpu %lu from node %d\n", cpu, node); 175 dbg("removing cpu %lu from node %d\n", cpu, node);
151 176
152 if (cpu_isset(cpu, numa_cpumask_lookup_table[node])) { 177 if (cpumask_test_cpu(cpu, node_to_cpumask_map[node])) {
153 cpu_clear(cpu, numa_cpumask_lookup_table[node]); 178 cpumask_set_cpu(cpu, node_to_cpumask_map[node]);
154 } else { 179 } else {
155 printk(KERN_ERR "WARNING: cpu %lu not found in node %d\n", 180 printk(KERN_ERR "WARNING: cpu %lu not found in node %d\n",
156 cpu, node); 181 cpu, node);
@@ -242,10 +267,12 @@ EXPORT_SYMBOL_GPL(of_node_to_nid);
242 */ 267 */
243static int __init find_min_common_depth(void) 268static int __init find_min_common_depth(void)
244{ 269{
245 int depth; 270 int depth, index;
246 const unsigned int *ref_points; 271 const unsigned int *ref_points;
247 struct device_node *rtas_root; 272 struct device_node *rtas_root;
248 unsigned int len; 273 unsigned int len;
274 struct device_node *chosen;
275 const char *vec5;
249 276
250 rtas_root = of_find_node_by_path("/rtas"); 277 rtas_root = of_find_node_by_path("/rtas");
251 278
@@ -258,11 +285,26 @@ static int __init find_min_common_depth(void)
258 * configuration (should be all 0's) and the second is for a normal 285 * configuration (should be all 0's) and the second is for a normal
259 * NUMA configuration. 286 * NUMA configuration.
260 */ 287 */
288 index = 1;
261 ref_points = of_get_property(rtas_root, 289 ref_points = of_get_property(rtas_root,
262 "ibm,associativity-reference-points", &len); 290 "ibm,associativity-reference-points", &len);
263 291
292 /*
293 * For form 1 affinity information we want the first field
294 */
295#define VEC5_AFFINITY_BYTE 5
296#define VEC5_AFFINITY 0x80
297 chosen = of_find_node_by_path("/chosen");
298 if (chosen) {
299 vec5 = of_get_property(chosen, "ibm,architecture-vec-5", NULL);
300 if (vec5 && (vec5[VEC5_AFFINITY_BYTE] & VEC5_AFFINITY)) {
301 dbg("Using form 1 affinity\n");
302 index = 0;
303 }
304 }
305
264 if ((len >= 2 * sizeof(unsigned int)) && ref_points) { 306 if ((len >= 2 * sizeof(unsigned int)) && ref_points) {
265 depth = ref_points[1]; 307 depth = ref_points[index];
266 } else { 308 } else {
267 dbg("NUMA: ibm,associativity-reference-points not found.\n"); 309 dbg("NUMA: ibm,associativity-reference-points not found.\n");
268 depth = -1; 310 depth = -1;
@@ -309,7 +351,7 @@ struct of_drconf_cell {
309#define DRCONF_MEM_RESERVED 0x00000080 351#define DRCONF_MEM_RESERVED 0x00000080
310 352
311/* 353/*
312 * Read the next lmb list entry from the ibm,dynamic-memory property 354 * Read the next memblock list entry from the ibm,dynamic-memory property
313 * and return the information in the provided of_drconf_cell structure. 355 * and return the information in the provided of_drconf_cell structure.
314 */ 356 */
315static void read_drconf_cell(struct of_drconf_cell *drmem, const u32 **cellp) 357static void read_drconf_cell(struct of_drconf_cell *drmem, const u32 **cellp)
@@ -330,8 +372,8 @@ static void read_drconf_cell(struct of_drconf_cell *drmem, const u32 **cellp)
330/* 372/*
331 * Retreive and validate the ibm,dynamic-memory property of the device tree. 373 * Retreive and validate the ibm,dynamic-memory property of the device tree.
332 * 374 *
333 * The layout of the ibm,dynamic-memory property is a number N of lmb 375 * The layout of the ibm,dynamic-memory property is a number N of memblock
334 * list entries followed by N lmb list entries. Each lmb list entry 376 * list entries followed by N memblock list entries. Each memblock list entry
335 * contains information as layed out in the of_drconf_cell struct above. 377 * contains information as layed out in the of_drconf_cell struct above.
336 */ 378 */
337static int of_get_drconf_memory(struct device_node *memory, const u32 **dm) 379static int of_get_drconf_memory(struct device_node *memory, const u32 **dm)
@@ -451,7 +493,7 @@ static int __cpuinit numa_setup_cpu(unsigned long lcpu)
451 nid = of_node_to_nid_single(cpu); 493 nid = of_node_to_nid_single(cpu);
452 494
453 if (nid < 0 || !node_online(nid)) 495 if (nid < 0 || !node_online(nid))
454 nid = any_online_node(NODE_MASK_ALL); 496 nid = first_online_node;
455out: 497out:
456 map_cpu_to_node(lcpu, nid); 498 map_cpu_to_node(lcpu, nid);
457 499
@@ -498,19 +540,19 @@ static unsigned long __init numa_enforce_memory_limit(unsigned long start,
498 unsigned long size) 540 unsigned long size)
499{ 541{
500 /* 542 /*
501 * We use lmb_end_of_DRAM() in here instead of memory_limit because 543 * We use memblock_end_of_DRAM() in here instead of memory_limit because
502 * we've already adjusted it for the limit and it takes care of 544 * we've already adjusted it for the limit and it takes care of
503 * having memory holes below the limit. Also, in the case of 545 * having memory holes below the limit. Also, in the case of
504 * iommu_is_off, memory_limit is not set but is implicitly enforced. 546 * iommu_is_off, memory_limit is not set but is implicitly enforced.
505 */ 547 */
506 548
507 if (start + size <= lmb_end_of_DRAM()) 549 if (start + size <= memblock_end_of_DRAM())
508 return size; 550 return size;
509 551
510 if (start >= lmb_end_of_DRAM()) 552 if (start >= memblock_end_of_DRAM())
511 return 0; 553 return 0;
512 554
513 return lmb_end_of_DRAM() - start; 555 return memblock_end_of_DRAM() - start;
514} 556}
515 557
516/* 558/*
@@ -689,7 +731,7 @@ new_range:
689 } 731 }
690 732
691 /* 733 /*
692 * Now do the same thing for each LMB listed in the ibm,dynamic-memory 734 * Now do the same thing for each MEMBLOCK listed in the ibm,dynamic-memory
693 * property in the ibm,dynamic-reconfiguration-memory node. 735 * property in the ibm,dynamic-reconfiguration-memory node.
694 */ 736 */
695 memory = of_find_node_by_path("/ibm,dynamic-reconfiguration-memory"); 737 memory = of_find_node_by_path("/ibm,dynamic-reconfiguration-memory");
@@ -701,8 +743,8 @@ new_range:
701 743
702static void __init setup_nonnuma(void) 744static void __init setup_nonnuma(void)
703{ 745{
704 unsigned long top_of_ram = lmb_end_of_DRAM(); 746 unsigned long top_of_ram = memblock_end_of_DRAM();
705 unsigned long total_ram = lmb_phys_mem_size(); 747 unsigned long total_ram = memblock_phys_mem_size();
706 unsigned long start_pfn, end_pfn; 748 unsigned long start_pfn, end_pfn;
707 unsigned int i, nid = 0; 749 unsigned int i, nid = 0;
708 750
@@ -711,9 +753,9 @@ static void __init setup_nonnuma(void)
711 printk(KERN_DEBUG "Memory hole size: %ldMB\n", 753 printk(KERN_DEBUG "Memory hole size: %ldMB\n",
712 (top_of_ram - total_ram) >> 20); 754 (top_of_ram - total_ram) >> 20);
713 755
714 for (i = 0; i < lmb.memory.cnt; ++i) { 756 for (i = 0; i < memblock.memory.cnt; ++i) {
715 start_pfn = lmb.memory.region[i].base >> PAGE_SHIFT; 757 start_pfn = memblock.memory.region[i].base >> PAGE_SHIFT;
716 end_pfn = start_pfn + lmb_size_pages(&lmb.memory, i); 758 end_pfn = start_pfn + memblock_size_pages(&memblock.memory, i);
717 759
718 fake_numa_create_new_node(end_pfn, &nid); 760 fake_numa_create_new_node(end_pfn, &nid);
719 add_active_range(nid, start_pfn, end_pfn); 761 add_active_range(nid, start_pfn, end_pfn);
@@ -737,8 +779,9 @@ void __init dump_numa_cpu_topology(void)
737 * If we used a CPU iterator here we would miss printing 779 * If we used a CPU iterator here we would miss printing
738 * the holes in the cpumap. 780 * the holes in the cpumap.
739 */ 781 */
740 for (cpu = 0; cpu < NR_CPUS; cpu++) { 782 for (cpu = 0; cpu < nr_cpu_ids; cpu++) {
741 if (cpu_isset(cpu, numa_cpumask_lookup_table[node])) { 783 if (cpumask_test_cpu(cpu,
784 node_to_cpumask_map[node])) {
742 if (count == 0) 785 if (count == 0)
743 printk(" %u", cpu); 786 printk(" %u", cpu);
744 ++count; 787 ++count;
@@ -750,7 +793,7 @@ void __init dump_numa_cpu_topology(void)
750 } 793 }
751 794
752 if (count > 1) 795 if (count > 1)
753 printk("-%u", NR_CPUS - 1); 796 printk("-%u", nr_cpu_ids - 1);
754 printk("\n"); 797 printk("\n");
755 } 798 }
756} 799}
@@ -770,7 +813,7 @@ static void __init dump_numa_memory_topology(void)
770 813
771 count = 0; 814 count = 0;
772 815
773 for (i = 0; i < lmb_end_of_DRAM(); 816 for (i = 0; i < memblock_end_of_DRAM();
774 i += (1 << SECTION_SIZE_BITS)) { 817 i += (1 << SECTION_SIZE_BITS)) {
775 if (early_pfn_to_nid(i >> PAGE_SHIFT) == node) { 818 if (early_pfn_to_nid(i >> PAGE_SHIFT) == node) {
776 if (count == 0) 819 if (count == 0)
@@ -790,7 +833,7 @@ static void __init dump_numa_memory_topology(void)
790} 833}
791 834
792/* 835/*
793 * Allocate some memory, satisfying the lmb or bootmem allocator where 836 * Allocate some memory, satisfying the memblock or bootmem allocator where
794 * required. nid is the preferred node and end is the physical address of 837 * required. nid is the preferred node and end is the physical address of
795 * the highest address in the node. 838 * the highest address in the node.
796 * 839 *
@@ -804,11 +847,11 @@ static void __init *careful_zallocation(int nid, unsigned long size,
804 int new_nid; 847 int new_nid;
805 unsigned long ret_paddr; 848 unsigned long ret_paddr;
806 849
807 ret_paddr = __lmb_alloc_base(size, align, end_pfn << PAGE_SHIFT); 850 ret_paddr = __memblock_alloc_base(size, align, end_pfn << PAGE_SHIFT);
808 851
809 /* retry over all memory */ 852 /* retry over all memory */
810 if (!ret_paddr) 853 if (!ret_paddr)
811 ret_paddr = __lmb_alloc_base(size, align, lmb_end_of_DRAM()); 854 ret_paddr = __memblock_alloc_base(size, align, memblock_end_of_DRAM());
812 855
813 if (!ret_paddr) 856 if (!ret_paddr)
814 panic("numa.c: cannot allocate %lu bytes for node %d", 857 panic("numa.c: cannot allocate %lu bytes for node %d",
@@ -818,14 +861,14 @@ static void __init *careful_zallocation(int nid, unsigned long size,
818 861
819 /* 862 /*
820 * We initialize the nodes in numeric order: 0, 1, 2... 863 * We initialize the nodes in numeric order: 0, 1, 2...
821 * and hand over control from the LMB allocator to the 864 * and hand over control from the MEMBLOCK allocator to the
822 * bootmem allocator. If this function is called for 865 * bootmem allocator. If this function is called for
823 * node 5, then we know that all nodes <5 are using the 866 * node 5, then we know that all nodes <5 are using the
824 * bootmem allocator instead of the LMB allocator. 867 * bootmem allocator instead of the MEMBLOCK allocator.
825 * 868 *
826 * So, check the nid from which this allocation came 869 * So, check the nid from which this allocation came
827 * and double check to see if we need to use bootmem 870 * and double check to see if we need to use bootmem
828 * instead of the LMB. We don't free the LMB memory 871 * instead of the MEMBLOCK. We don't free the MEMBLOCK memory
829 * since it would be useless. 872 * since it would be useless.
830 */ 873 */
831 new_nid = early_pfn_to_nid(ret_paddr >> PAGE_SHIFT); 874 new_nid = early_pfn_to_nid(ret_paddr >> PAGE_SHIFT);
@@ -850,9 +893,9 @@ static void mark_reserved_regions_for_nid(int nid)
850 struct pglist_data *node = NODE_DATA(nid); 893 struct pglist_data *node = NODE_DATA(nid);
851 int i; 894 int i;
852 895
853 for (i = 0; i < lmb.reserved.cnt; i++) { 896 for (i = 0; i < memblock.reserved.cnt; i++) {
854 unsigned long physbase = lmb.reserved.region[i].base; 897 unsigned long physbase = memblock.reserved.region[i].base;
855 unsigned long size = lmb.reserved.region[i].size; 898 unsigned long size = memblock.reserved.region[i].size;
856 unsigned long start_pfn = physbase >> PAGE_SHIFT; 899 unsigned long start_pfn = physbase >> PAGE_SHIFT;
857 unsigned long end_pfn = PFN_UP(physbase + size); 900 unsigned long end_pfn = PFN_UP(physbase + size);
858 struct node_active_region node_ar; 901 struct node_active_region node_ar;
@@ -860,7 +903,7 @@ static void mark_reserved_regions_for_nid(int nid)
860 node->node_spanned_pages; 903 node->node_spanned_pages;
861 904
862 /* 905 /*
863 * Check to make sure that this lmb.reserved area is 906 * Check to make sure that this memblock.reserved area is
864 * within the bounds of the node that we care about. 907 * within the bounds of the node that we care about.
865 * Checking the nid of the start and end points is not 908 * Checking the nid of the start and end points is not
866 * sufficient because the reserved area could span the 909 * sufficient because the reserved area could span the
@@ -918,7 +961,7 @@ void __init do_init_bootmem(void)
918 int nid; 961 int nid;
919 962
920 min_low_pfn = 0; 963 min_low_pfn = 0;
921 max_low_pfn = lmb_end_of_DRAM() >> PAGE_SHIFT; 964 max_low_pfn = memblock_end_of_DRAM() >> PAGE_SHIFT;
922 max_pfn = max_low_pfn; 965 max_pfn = max_low_pfn;
923 966
924 if (parse_numa_properties()) 967 if (parse_numa_properties())
@@ -926,10 +969,6 @@ void __init do_init_bootmem(void)
926 else 969 else
927 dump_numa_memory_topology(); 970 dump_numa_memory_topology();
928 971
929 register_cpu_notifier(&ppc64_numa_nb);
930 cpu_numa_callback(&ppc64_numa_nb, CPU_UP_PREPARE,
931 (void *)(unsigned long)boot_cpuid);
932
933 for_each_online_node(nid) { 972 for_each_online_node(nid) {
934 unsigned long start_pfn, end_pfn; 973 unsigned long start_pfn, end_pfn;
935 void *bootmem_vaddr; 974 void *bootmem_vaddr;
@@ -983,13 +1022,23 @@ void __init do_init_bootmem(void)
983 } 1022 }
984 1023
985 init_bootmem_done = 1; 1024 init_bootmem_done = 1;
1025
1026 /*
1027 * Now bootmem is initialised we can create the node to cpumask
1028 * lookup tables and setup the cpu callback to populate them.
1029 */
1030 setup_node_to_cpumask_map();
1031
1032 register_cpu_notifier(&ppc64_numa_nb);
1033 cpu_numa_callback(&ppc64_numa_nb, CPU_UP_PREPARE,
1034 (void *)(unsigned long)boot_cpuid);
986} 1035}
987 1036
988void __init paging_init(void) 1037void __init paging_init(void)
989{ 1038{
990 unsigned long max_zone_pfns[MAX_NR_ZONES]; 1039 unsigned long max_zone_pfns[MAX_NR_ZONES];
991 memset(max_zone_pfns, 0, sizeof(max_zone_pfns)); 1040 memset(max_zone_pfns, 0, sizeof(max_zone_pfns));
992 max_zone_pfns[ZONE_DMA] = lmb_end_of_DRAM() >> PAGE_SHIFT; 1041 max_zone_pfns[ZONE_DMA] = memblock_end_of_DRAM() >> PAGE_SHIFT;
993 free_area_init_nodes(max_zone_pfns); 1042 free_area_init_nodes(max_zone_pfns);
994} 1043}
995 1044
@@ -1064,7 +1113,7 @@ static int hot_add_drconf_scn_to_nid(struct device_node *memory,
1064/* 1113/*
1065 * Find the node associated with a hot added memory section for memory 1114 * Find the node associated with a hot added memory section for memory
1066 * represented in the device tree as a node (i.e. memory@XXXX) for 1115 * represented in the device tree as a node (i.e. memory@XXXX) for
1067 * each lmb. 1116 * each memblock.
1068 */ 1117 */
1069int hot_add_node_scn_to_nid(unsigned long scn_addr) 1118int hot_add_node_scn_to_nid(unsigned long scn_addr)
1070{ 1119{
@@ -1105,8 +1154,8 @@ int hot_add_node_scn_to_nid(unsigned long scn_addr)
1105 1154
1106/* 1155/*
1107 * Find the node associated with a hot added memory section. Section 1156 * Find the node associated with a hot added memory section. Section
1108 * corresponds to a SPARSEMEM section, not an LMB. It is assumed that 1157 * corresponds to a SPARSEMEM section, not an MEMBLOCK. It is assumed that
1109 * sections are fully contained within a single LMB. 1158 * sections are fully contained within a single MEMBLOCK.
1110 */ 1159 */
1111int hot_add_scn_to_nid(unsigned long scn_addr) 1160int hot_add_scn_to_nid(unsigned long scn_addr)
1112{ 1161{
@@ -1114,7 +1163,7 @@ int hot_add_scn_to_nid(unsigned long scn_addr)
1114 int nid, found = 0; 1163 int nid, found = 0;
1115 1164
1116 if (!numa_enabled || (min_common_depth < 0)) 1165 if (!numa_enabled || (min_common_depth < 0))
1117 return any_online_node(NODE_MASK_ALL); 1166 return first_online_node;
1118 1167
1119 memory = of_find_node_by_path("/ibm,dynamic-reconfiguration-memory"); 1168 memory = of_find_node_by_path("/ibm,dynamic-reconfiguration-memory");
1120 if (memory) { 1169 if (memory) {
@@ -1125,7 +1174,7 @@ int hot_add_scn_to_nid(unsigned long scn_addr)
1125 } 1174 }
1126 1175
1127 if (nid < 0 || !node_online(nid)) 1176 if (nid < 0 || !node_online(nid))
1128 nid = any_online_node(NODE_MASK_ALL); 1177 nid = first_online_node;
1129 1178
1130 if (NODE_DATA(nid)->node_spanned_pages) 1179 if (NODE_DATA(nid)->node_spanned_pages)
1131 return nid; 1180 return nid;
diff --git a/arch/powerpc/mm/pgtable.c b/arch/powerpc/mm/pgtable.c
index 99df697c601a..ebc2f38eb381 100644
--- a/arch/powerpc/mm/pgtable.c
+++ b/arch/powerpc/mm/pgtable.c
@@ -22,6 +22,7 @@
22 */ 22 */
23 23
24#include <linux/kernel.h> 24#include <linux/kernel.h>
25#include <linux/gfp.h>
25#include <linux/mm.h> 26#include <linux/mm.h>
26#include <linux/init.h> 27#include <linux/init.h>
27#include <linux/percpu.h> 28#include <linux/percpu.h>
diff --git a/arch/powerpc/mm/pgtable_32.c b/arch/powerpc/mm/pgtable_32.c
index 573b3bd1c45b..a87ead0138b4 100644
--- a/arch/powerpc/mm/pgtable_32.c
+++ b/arch/powerpc/mm/pgtable_32.c
@@ -26,7 +26,8 @@
26#include <linux/vmalloc.h> 26#include <linux/vmalloc.h>
27#include <linux/init.h> 27#include <linux/init.h>
28#include <linux/highmem.h> 28#include <linux/highmem.h>
29#include <linux/lmb.h> 29#include <linux/memblock.h>
30#include <linux/slab.h>
30 31
31#include <asm/pgtable.h> 32#include <asm/pgtable.h>
32#include <asm/pgalloc.h> 33#include <asm/pgalloc.h>
@@ -114,11 +115,7 @@ pgtable_t pte_alloc_one(struct mm_struct *mm, unsigned long address)
114{ 115{
115 struct page *ptepage; 116 struct page *ptepage;
116 117
117#ifdef CONFIG_HIGHPTE
118 gfp_t flags = GFP_KERNEL | __GFP_HIGHMEM | __GFP_REPEAT | __GFP_ZERO;
119#else
120 gfp_t flags = GFP_KERNEL | __GFP_REPEAT | __GFP_ZERO; 118 gfp_t flags = GFP_KERNEL | __GFP_REPEAT | __GFP_ZERO;
121#endif
122 119
123 ptepage = alloc_pages(flags, 0); 120 ptepage = alloc_pages(flags, 0);
124 if (!ptepage) 121 if (!ptepage)
@@ -145,6 +142,14 @@ ioremap_flags(phys_addr_t addr, unsigned long size, unsigned long flags)
145 /* we don't want to let _PAGE_USER and _PAGE_EXEC leak out */ 142 /* we don't want to let _PAGE_USER and _PAGE_EXEC leak out */
146 flags &= ~(_PAGE_USER | _PAGE_EXEC); 143 flags &= ~(_PAGE_USER | _PAGE_EXEC);
147 144
145#ifdef _PAGE_BAP_SR
146 /* _PAGE_USER contains _PAGE_BAP_SR on BookE using the new PTE format
147 * which means that we just cleared supervisor access... oops ;-) This
148 * restores it
149 */
150 flags |= _PAGE_BAP_SR;
151#endif
152
148 return __ioremap_caller(addr, size, flags, __builtin_return_address(0)); 153 return __ioremap_caller(addr, size, flags, __builtin_return_address(0));
149} 154}
150EXPORT_SYMBOL(ioremap_flags); 155EXPORT_SYMBOL(ioremap_flags);
@@ -193,7 +198,7 @@ __ioremap_caller(phys_addr_t addr, unsigned long size, unsigned long flags,
193 * mem_init() sets high_memory so only do the check after that. 198 * mem_init() sets high_memory so only do the check after that.
194 */ 199 */
195 if (mem_init_done && (p < virt_to_phys(high_memory)) && 200 if (mem_init_done && (p < virt_to_phys(high_memory)) &&
196 !(__allow_ioremap_reserved && lmb_is_region_reserved(p, size))) { 201 !(__allow_ioremap_reserved && memblock_is_region_reserved(p, size))) {
197 printk("__ioremap(): phys addr 0x%llx is RAM lr %p\n", 202 printk("__ioremap(): phys addr 0x%llx is RAM lr %p\n",
198 (unsigned long long)p, __builtin_return_address(0)); 203 (unsigned long long)p, __builtin_return_address(0));
199 return NULL; 204 return NULL;
@@ -326,7 +331,7 @@ void __init mapin_ram(void)
326 s = mmu_mapin_ram(top); 331 s = mmu_mapin_ram(top);
327 __mapin_ram_chunk(s, top); 332 __mapin_ram_chunk(s, top);
328 333
329 top = lmb_end_of_DRAM(); 334 top = memblock_end_of_DRAM();
330 s = wii_mmu_mapin_mem2(top); 335 s = wii_mmu_mapin_mem2(top);
331 __mapin_ram_chunk(s, top); 336 __mapin_ram_chunk(s, top);
332 } 337 }
@@ -384,11 +389,7 @@ static int __change_page_attr(struct page *page, pgprot_t prot)
384 return -EINVAL; 389 return -EINVAL;
385 __set_pte_at(&init_mm, address, kpte, mk_pte(page, prot), 0); 390 __set_pte_at(&init_mm, address, kpte, mk_pte(page, prot), 0);
386 wmb(); 391 wmb();
387#ifdef CONFIG_PPC_STD_MMU
388 flush_hash_pages(0, address, pmd_val(*kpmd), 1);
389#else
390 flush_tlb_page(NULL, address); 392 flush_tlb_page(NULL, address);
391#endif
392 pte_unmap(kpte); 393 pte_unmap(kpte);
393 394
394 return 0; 395 return 0;
diff --git a/arch/powerpc/mm/pgtable_64.c b/arch/powerpc/mm/pgtable_64.c
index 853d5565eed5..21d6dfab7942 100644
--- a/arch/powerpc/mm/pgtable_64.c
+++ b/arch/powerpc/mm/pgtable_64.c
@@ -34,7 +34,8 @@
34#include <linux/vmalloc.h> 34#include <linux/vmalloc.h>
35#include <linux/init.h> 35#include <linux/init.h>
36#include <linux/bootmem.h> 36#include <linux/bootmem.h>
37#include <linux/lmb.h> 37#include <linux/memblock.h>
38#include <linux/slab.h>
38 39
39#include <asm/pgalloc.h> 40#include <asm/pgalloc.h>
40#include <asm/page.h> 41#include <asm/page.h>
@@ -66,7 +67,7 @@ static void *early_alloc_pgtable(unsigned long size)
66 if (init_bootmem_done) 67 if (init_bootmem_done)
67 pt = __alloc_bootmem(size, size, __pa(MAX_DMA_ADDRESS)); 68 pt = __alloc_bootmem(size, size, __pa(MAX_DMA_ADDRESS));
68 else 69 else
69 pt = __va(lmb_alloc_base(size, size, 70 pt = __va(memblock_alloc_base(size, size,
70 __pa(MAX_DMA_ADDRESS))); 71 __pa(MAX_DMA_ADDRESS)));
71 memset(pt, 0, size); 72 memset(pt, 0, size);
72 73
@@ -264,6 +265,14 @@ void __iomem * ioremap_flags(phys_addr_t addr, unsigned long size,
264 /* we don't want to let _PAGE_USER and _PAGE_EXEC leak out */ 265 /* we don't want to let _PAGE_USER and _PAGE_EXEC leak out */
265 flags &= ~(_PAGE_USER | _PAGE_EXEC); 266 flags &= ~(_PAGE_USER | _PAGE_EXEC);
266 267
268#ifdef _PAGE_BAP_SR
269 /* _PAGE_USER contains _PAGE_BAP_SR on BookE using the new PTE format
270 * which means that we just cleared supervisor access... oops ;-) This
271 * restores it
272 */
273 flags |= _PAGE_BAP_SR;
274#endif
275
267 if (ppc_md.ioremap) 276 if (ppc_md.ioremap)
268 return ppc_md.ioremap(addr, size, flags, caller); 277 return ppc_md.ioremap(addr, size, flags, caller);
269 return __ioremap_caller(addr, size, flags, caller); 278 return __ioremap_caller(addr, size, flags, caller);
diff --git a/arch/powerpc/mm/ppc_mmu_32.c b/arch/powerpc/mm/ppc_mmu_32.c
index f11c2cdcb0fe..f8a01829d64f 100644
--- a/arch/powerpc/mm/ppc_mmu_32.c
+++ b/arch/powerpc/mm/ppc_mmu_32.c
@@ -26,7 +26,7 @@
26#include <linux/mm.h> 26#include <linux/mm.h>
27#include <linux/init.h> 27#include <linux/init.h>
28#include <linux/highmem.h> 28#include <linux/highmem.h>
29#include <linux/lmb.h> 29#include <linux/memblock.h>
30 30
31#include <asm/prom.h> 31#include <asm/prom.h>
32#include <asm/mmu.h> 32#include <asm/mmu.h>
@@ -223,7 +223,7 @@ void __init MMU_init_hw(void)
223 * Find some memory for the hash table. 223 * Find some memory for the hash table.
224 */ 224 */
225 if ( ppc_md.progress ) ppc_md.progress("hash:find piece", 0x322); 225 if ( ppc_md.progress ) ppc_md.progress("hash:find piece", 0x322);
226 Hash = __va(lmb_alloc_base(Hash_size, Hash_size, 226 Hash = __va(memblock_alloc_base(Hash_size, Hash_size,
227 __initial_memory_limit_addr)); 227 __initial_memory_limit_addr));
228 cacheable_memzero(Hash, Hash_size); 228 cacheable_memzero(Hash, Hash_size);
229 _SDR1 = __pa(Hash) | SDR1_LOW_BITS; 229 _SDR1 = __pa(Hash) | SDR1_LOW_BITS;
diff --git a/arch/powerpc/mm/stab.c b/arch/powerpc/mm/stab.c
index 687fddaa24c5..446a01842a73 100644
--- a/arch/powerpc/mm/stab.c
+++ b/arch/powerpc/mm/stab.c
@@ -12,7 +12,7 @@
12 * 2 of the License, or (at your option) any later version. 12 * 2 of the License, or (at your option) any later version.
13 */ 13 */
14 14
15#include <linux/lmb.h> 15#include <linux/memblock.h>
16 16
17#include <asm/pgtable.h> 17#include <asm/pgtable.h>
18#include <asm/mmu.h> 18#include <asm/mmu.h>
@@ -252,7 +252,7 @@ void __init stabs_alloc(void)
252 if (cpu == 0) 252 if (cpu == 0)
253 continue; /* stab for CPU 0 is statically allocated */ 253 continue; /* stab for CPU 0 is statically allocated */
254 254
255 newstab = lmb_alloc_base(HW_PAGE_SIZE, HW_PAGE_SIZE, 255 newstab = memblock_alloc_base(HW_PAGE_SIZE, HW_PAGE_SIZE,
256 1<<SID_SHIFT); 256 1<<SID_SHIFT);
257 newstab = (unsigned long)__va(newstab); 257 newstab = (unsigned long)__va(newstab);
258 258
diff --git a/arch/powerpc/mm/subpage-prot.c b/arch/powerpc/mm/subpage-prot.c
index a040b81e93bd..e4f8f1fc81a5 100644
--- a/arch/powerpc/mm/subpage-prot.c
+++ b/arch/powerpc/mm/subpage-prot.c
@@ -10,7 +10,6 @@
10#include <linux/errno.h> 10#include <linux/errno.h>
11#include <linux/kernel.h> 11#include <linux/kernel.h>
12#include <linux/gfp.h> 12#include <linux/gfp.h>
13#include <linux/slab.h>
14#include <linux/types.h> 13#include <linux/types.h>
15#include <linux/mm.h> 14#include <linux/mm.h>
16#include <linux/hugetlb.h> 15#include <linux/hugetlb.h>
diff --git a/arch/powerpc/mm/tlb_hash64.c b/arch/powerpc/mm/tlb_hash64.c
index 282d9306361f..1ec06576f619 100644
--- a/arch/powerpc/mm/tlb_hash64.c
+++ b/arch/powerpc/mm/tlb_hash64.c
@@ -63,15 +63,21 @@ void hpte_need_flush(struct mm_struct *mm, unsigned long addr,
63 if (huge) { 63 if (huge) {
64#ifdef CONFIG_HUGETLB_PAGE 64#ifdef CONFIG_HUGETLB_PAGE
65 psize = get_slice_psize(mm, addr); 65 psize = get_slice_psize(mm, addr);
66 /* Mask the address for the correct page size */
67 addr &= ~((1UL << mmu_psize_defs[psize].shift) - 1);
66#else 68#else
67 BUG(); 69 BUG();
68 psize = pte_pagesize_index(mm, addr, pte); /* shutup gcc */ 70 psize = pte_pagesize_index(mm, addr, pte); /* shutup gcc */
69#endif 71#endif
70 } else 72 } else {
71 psize = pte_pagesize_index(mm, addr, pte); 73 psize = pte_pagesize_index(mm, addr, pte);
74 /* Mask the address for the standard page size. If we
75 * have a 64k page kernel, but the hardware does not
76 * support 64k pages, this might be different from the
77 * hardware page size encoded in the slice table. */
78 addr &= PAGE_MASK;
79 }
72 80
73 /* Mask the address for the correct page size */
74 addr &= ~((1UL << mmu_psize_defs[psize].shift) - 1);
75 81
76 /* Build full vaddr */ 82 /* Build full vaddr */
77 if (!is_kernel_addr(addr)) { 83 if (!is_kernel_addr(addr)) {
diff --git a/arch/powerpc/mm/tlb_low_64e.S b/arch/powerpc/mm/tlb_low_64e.S
index f288279e679d..8b04c54e596f 100644
--- a/arch/powerpc/mm/tlb_low_64e.S
+++ b/arch/powerpc/mm/tlb_low_64e.S
@@ -1,5 +1,5 @@
1/* 1/*
2 * Low leve TLB miss handlers for Book3E 2 * Low level TLB miss handlers for Book3E
3 * 3 *
4 * Copyright (C) 2008-2009 4 * Copyright (C) 2008-2009
5 * Ben. Herrenschmidt (benh@kernel.crashing.org), IBM Corp. 5 * Ben. Herrenschmidt (benh@kernel.crashing.org), IBM Corp.
diff --git a/arch/powerpc/mm/tlb_nohash.c b/arch/powerpc/mm/tlb_nohash.c
index 2fbc680c2c71..d8695b02a968 100644
--- a/arch/powerpc/mm/tlb_nohash.c
+++ b/arch/powerpc/mm/tlb_nohash.c
@@ -34,7 +34,7 @@
34#include <linux/pagemap.h> 34#include <linux/pagemap.h>
35#include <linux/preempt.h> 35#include <linux/preempt.h>
36#include <linux/spinlock.h> 36#include <linux/spinlock.h>
37#include <linux/lmb.h> 37#include <linux/memblock.h>
38 38
39#include <asm/tlbflush.h> 39#include <asm/tlbflush.h>
40#include <asm/tlb.h> 40#include <asm/tlb.h>
@@ -150,7 +150,7 @@ EXPORT_SYMBOL(local_flush_tlb_page);
150 */ 150 */
151#ifdef CONFIG_SMP 151#ifdef CONFIG_SMP
152 152
153static DEFINE_SPINLOCK(tlbivax_lock); 153static DEFINE_RAW_SPINLOCK(tlbivax_lock);
154 154
155static int mm_is_core_local(struct mm_struct *mm) 155static int mm_is_core_local(struct mm_struct *mm)
156{ 156{
@@ -232,10 +232,10 @@ void __flush_tlb_page(struct mm_struct *mm, unsigned long vmaddr,
232 if (mmu_has_feature(MMU_FTR_USE_TLBIVAX_BCAST)) { 232 if (mmu_has_feature(MMU_FTR_USE_TLBIVAX_BCAST)) {
233 int lock = mmu_has_feature(MMU_FTR_LOCK_BCAST_INVAL); 233 int lock = mmu_has_feature(MMU_FTR_LOCK_BCAST_INVAL);
234 if (lock) 234 if (lock)
235 spin_lock(&tlbivax_lock); 235 raw_spin_lock(&tlbivax_lock);
236 _tlbivax_bcast(vmaddr, pid, tsize, ind); 236 _tlbivax_bcast(vmaddr, pid, tsize, ind);
237 if (lock) 237 if (lock)
238 spin_unlock(&tlbivax_lock); 238 raw_spin_unlock(&tlbivax_lock);
239 goto bail; 239 goto bail;
240 } else { 240 } else {
241 struct tlb_flush_param p = { 241 struct tlb_flush_param p = {
@@ -426,7 +426,7 @@ static void __early_init_mmu(int boot_cpu)
426 /* Set the global containing the top of the linear mapping 426 /* Set the global containing the top of the linear mapping
427 * for use by the TLB miss code 427 * for use by the TLB miss code
428 */ 428 */
429 linear_map_top = lmb_end_of_DRAM(); 429 linear_map_top = memblock_end_of_DRAM();
430 430
431 /* A sync won't hurt us after mucking around with 431 /* A sync won't hurt us after mucking around with
432 * the MMU configuration 432 * the MMU configuration
diff --git a/arch/powerpc/mm/tlb_nohash_low.S b/arch/powerpc/mm/tlb_nohash_low.S
index bbdc5b577b85..cfa768203d08 100644
--- a/arch/powerpc/mm/tlb_nohash_low.S
+++ b/arch/powerpc/mm/tlb_nohash_low.S
@@ -10,7 +10,7 @@
10 * - tlbil_va 10 * - tlbil_va
11 * - tlbil_pid 11 * - tlbil_pid
12 * - tlbil_all 12 * - tlbil_all
13 * - tlbivax_bcast (not yet) 13 * - tlbivax_bcast
14 * 14 *
15 * Code mostly moved over from misc_32.S 15 * Code mostly moved over from misc_32.S
16 * 16 *
@@ -33,6 +33,7 @@
33#include <asm/ppc_asm.h> 33#include <asm/ppc_asm.h>
34#include <asm/asm-offsets.h> 34#include <asm/asm-offsets.h>
35#include <asm/processor.h> 35#include <asm/processor.h>
36#include <asm/bug.h>
36 37
37#if defined(CONFIG_40x) 38#if defined(CONFIG_40x)
38 39
@@ -65,7 +66,7 @@ _GLOBAL(__tlbil_va)
65 * Nothing to do for 8xx, everything is inline 66 * Nothing to do for 8xx, everything is inline
66 */ 67 */
67 68
68#elif defined(CONFIG_44x) 69#elif defined(CONFIG_44x) /* Includes 47x */
69 70
70/* 71/*
71 * 440 implementation uses tlbsx/we for tlbil_va and a full sweep 72 * 440 implementation uses tlbsx/we for tlbil_va and a full sweep
@@ -73,7 +74,13 @@ _GLOBAL(__tlbil_va)
73 */ 74 */
74_GLOBAL(__tlbil_va) 75_GLOBAL(__tlbil_va)
75 mfspr r5,SPRN_MMUCR 76 mfspr r5,SPRN_MMUCR
76 rlwimi r5,r4,0,24,31 /* Set TID */ 77 mfmsr r10
78
79 /*
80 * We write 16 bits of STID since 47x supports that much, we
81 * will never be passed out of bounds values on 440 (hopefully)
82 */
83 rlwimi r5,r4,0,16,31
77 84
78 /* We have to run the search with interrupts disabled, otherwise 85 /* We have to run the search with interrupts disabled, otherwise
79 * an interrupt which causes a TLB miss can clobber the MMUCR 86 * an interrupt which causes a TLB miss can clobber the MMUCR
@@ -83,24 +90,41 @@ _GLOBAL(__tlbil_va)
83 * and restoring MMUCR, so only normal interrupts have to be 90 * and restoring MMUCR, so only normal interrupts have to be
84 * taken care of. 91 * taken care of.
85 */ 92 */
86 mfmsr r4
87 wrteei 0 93 wrteei 0
88 mtspr SPRN_MMUCR,r5 94 mtspr SPRN_MMUCR,r5
89 tlbsx. r3, 0, r3 95 tlbsx. r6,0,r3
90 wrtee r4 96 bne 10f
91 bne 1f
92 sync 97 sync
93 /* There are only 64 TLB entries, so r3 < 64, 98BEGIN_MMU_FTR_SECTION
94 * which means bit 22, is clear. Since 22 is 99 b 2f
95 * the V bit in the TLB_PAGEID, loading this 100END_MMU_FTR_SECTION_IFSET(MMU_FTR_TYPE_47x)
101 /* On 440 There are only 64 TLB entries, so r3 < 64, which means bit
102 * 22, is clear. Since 22 is the V bit in the TLB_PAGEID, loading this
96 * value will invalidate the TLB entry. 103 * value will invalidate the TLB entry.
97 */ 104 */
98 tlbwe r3, r3, PPC44x_TLB_PAGEID 105 tlbwe r6,r6,PPC44x_TLB_PAGEID
99 isync 106 isync
1001: blr 10710: wrtee r10
108 blr
1092:
110#ifdef CONFIG_PPC_47x
111 oris r7,r6,0x8000 /* specify way explicitely */
112 clrrwi r4,r3,12 /* get an EPN for the hashing with V = 0 */
113 ori r4,r4,PPC47x_TLBE_SIZE
114 tlbwe r4,r7,0 /* write it */
115 isync
116 wrtee r10
117 blr
118#else /* CONFIG_PPC_47x */
1191: trap
120 EMIT_BUG_ENTRY 1b,__FILE__,__LINE__,0;
121#endif /* !CONFIG_PPC_47x */
101 122
102_GLOBAL(_tlbil_all) 123_GLOBAL(_tlbil_all)
103_GLOBAL(_tlbil_pid) 124_GLOBAL(_tlbil_pid)
125BEGIN_MMU_FTR_SECTION
126 b 2f
127END_MMU_FTR_SECTION_IFSET(MMU_FTR_TYPE_47x)
104 li r3,0 128 li r3,0
105 sync 129 sync
106 130
@@ -115,6 +139,76 @@ _GLOBAL(_tlbil_pid)
115 139
116 isync 140 isync
117 blr 141 blr
1422:
143#ifdef CONFIG_PPC_47x
144 /* 476 variant. There's not simple way to do this, hopefully we'll
145 * try to limit the amount of such full invalidates
146 */
147 mfmsr r11 /* Interrupts off */
148 wrteei 0
149 li r3,-1 /* Current set */
150 lis r10,tlb_47x_boltmap@h
151 ori r10,r10,tlb_47x_boltmap@l
152 lis r7,0x8000 /* Specify way explicitely */
153
154 b 9f /* For each set */
155
1561: li r9,4 /* Number of ways */
157 li r4,0 /* Current way */
158 li r6,0 /* Default entry value 0 */
159 andi. r0,r8,1 /* Check if way 0 is bolted */
160 mtctr r9 /* Load way counter */
161 bne- 3f /* Bolted, skip loading it */
162
1632: /* For each way */
164 or r5,r3,r4 /* Make way|index for tlbre */
165 rlwimi r5,r5,16,8,15 /* Copy index into position */
166 tlbre r6,r5,0 /* Read entry */
1673: addis r4,r4,0x2000 /* Next way */
168 andi. r0,r6,PPC47x_TLB0_VALID /* Valid entry ? */
169 beq 4f /* Nope, skip it */
170 rlwimi r7,r5,0,1,2 /* Insert way number */
171 rlwinm r6,r6,0,21,19 /* Clear V */
172 tlbwe r6,r7,0 /* Write it */
1734: bdnz 2b /* Loop for each way */
174 srwi r8,r8,1 /* Next boltmap bit */
1759: cmpwi cr1,r3,255 /* Last set done ? */
176 addi r3,r3,1 /* Next set */
177 beq cr1,1f /* End of loop */
178 andi. r0,r3,0x1f /* Need to load a new boltmap word ? */
179 bne 1b /* No, loop */
180 lwz r8,0(r10) /* Load boltmap entry */
181 addi r10,r10,4 /* Next word */
182 b 1b /* Then loop */
1831: isync /* Sync shadows */
184 wrtee r11
185#else /* CONFIG_PPC_47x */
1861: trap
187 EMIT_BUG_ENTRY 1b,__FILE__,__LINE__,0;
188#endif /* !CONFIG_PPC_47x */
189 blr
190
191#ifdef CONFIG_PPC_47x
192/*
193 * _tlbivax_bcast is only on 47x. We don't bother doing a runtime
194 * check though, it will blow up soon enough if we mistakenly try
195 * to use it on a 440.
196 */
197_GLOBAL(_tlbivax_bcast)
198 mfspr r5,SPRN_MMUCR
199 mfmsr r10
200 rlwimi r5,r4,0,16,31
201 wrteei 0
202 mtspr SPRN_MMUCR,r5
203/* tlbivax 0,r3 - use .long to avoid binutils deps */
204 .long 0x7c000624 | (r3 << 11)
205 isync
206 eieio
207 tlbsync
208 sync
209 wrtee r10
210 blr
211#endif /* CONFIG_PPC_47x */
118 212
119#elif defined(CONFIG_FSL_BOOKE) 213#elif defined(CONFIG_FSL_BOOKE)
120/* 214/*
@@ -271,3 +365,31 @@ _GLOBAL(set_context)
271#else 365#else
272#error Unsupported processor type ! 366#error Unsupported processor type !
273#endif 367#endif
368
369#if defined(CONFIG_FSL_BOOKE)
370/*
371 * extern void loadcam_entry(unsigned int index)
372 *
373 * Load TLBCAM[index] entry in to the L2 CAM MMU
374 */
375_GLOBAL(loadcam_entry)
376 LOAD_REG_ADDR(r4, TLBCAM)
377 mulli r5,r3,TLBCAM_SIZE
378 add r3,r5,r4
379 lwz r4,TLBCAM_MAS0(r3)
380 mtspr SPRN_MAS0,r4
381 lwz r4,TLBCAM_MAS1(r3)
382 mtspr SPRN_MAS1,r4
383 PPC_LL r4,TLBCAM_MAS2(r3)
384 mtspr SPRN_MAS2,r4
385 lwz r4,TLBCAM_MAS3(r3)
386 mtspr SPRN_MAS3,r4
387BEGIN_MMU_FTR_SECTION
388 lwz r4,TLBCAM_MAS7(r3)
389 mtspr SPRN_MAS7,r4
390END_MMU_FTR_SECTION_IFSET(MMU_FTR_BIG_PHYS)
391 isync
392 tlbwe
393 isync
394 blr
395#endif
diff --git a/arch/powerpc/oprofile/cell/spu_task_sync.c b/arch/powerpc/oprofile/cell/spu_task_sync.c
index 6b793aeda72e..642fca137ccb 100644
--- a/arch/powerpc/oprofile/cell/spu_task_sync.c
+++ b/arch/powerpc/oprofile/cell/spu_task_sync.c
@@ -26,6 +26,7 @@
26#include <linux/notifier.h> 26#include <linux/notifier.h>
27#include <linux/numa.h> 27#include <linux/numa.h>
28#include <linux/oprofile.h> 28#include <linux/oprofile.h>
29#include <linux/slab.h>
29#include <linux/spinlock.h> 30#include <linux/spinlock.h>
30#include "pr_util.h" 31#include "pr_util.h"
31 32
diff --git a/arch/powerpc/oprofile/cell/vma_map.c b/arch/powerpc/oprofile/cell/vma_map.c
index c591339daf58..c579b16845da 100644
--- a/arch/powerpc/oprofile/cell/vma_map.c
+++ b/arch/powerpc/oprofile/cell/vma_map.c
@@ -20,6 +20,7 @@
20#include <linux/string.h> 20#include <linux/string.h>
21#include <linux/uaccess.h> 21#include <linux/uaccess.h>
22#include <linux/elf.h> 22#include <linux/elf.h>
23#include <linux/slab.h>
23#include "pr_util.h" 24#include "pr_util.h"
24 25
25 26
diff --git a/arch/powerpc/oprofile/op_model_cell.c b/arch/powerpc/oprofile/op_model_cell.c
index 2c9e52267292..7fd90d02d8c6 100644
--- a/arch/powerpc/oprofile/op_model_cell.c
+++ b/arch/powerpc/oprofile/op_model_cell.c
@@ -1077,7 +1077,7 @@ static int calculate_lfsr(int n)
1077 index = ENTRIES-1; 1077 index = ENTRIES-1;
1078 1078
1079 /* make sure index is valid */ 1079 /* make sure index is valid */
1080 if ((index > ENTRIES) || (index < 0)) 1080 if ((index >= ENTRIES) || (index < 0))
1081 index = ENTRIES-1; 1081 index = ENTRIES-1;
1082 1082
1083 return initial_lfsr[index]; 1083 return initial_lfsr[index];
diff --git a/arch/powerpc/platforms/44x/Kconfig b/arch/powerpc/platforms/44x/Kconfig
index 7486bffd3ebb..69d668c072ae 100644
--- a/arch/powerpc/platforms/44x/Kconfig
+++ b/arch/powerpc/platforms/44x/Kconfig
@@ -1,3 +1,12 @@
1config PPC_47x
2 bool "Support for 47x variant"
3 depends on 44x
4 default n
5 select MPIC
6 help
7 This option enables support for the 47x family of processors and is
8 not currently compatible with other 44x or 46x varients
9
1config BAMBOO 10config BAMBOO
2 bool "Bamboo" 11 bool "Bamboo"
3 depends on 44x 12 depends on 44x
@@ -151,6 +160,28 @@ config YOSEMITE
151 help 160 help
152 This option enables support for the AMCC PPC440EP evaluation board. 161 This option enables support for the AMCC PPC440EP evaluation board.
153 162
163config ISS4xx
164 bool "ISS 4xx Simulator"
165 depends on (44x || 40x)
166 default n
167 select 405GP if 40x
168 select 440GP if 44x && !PPC_47x
169 select PPC_FPU
170 select OF_RTC
171 help
172 This option enables support for the IBM ISS simulation environment
173
174config ICON
175 bool "Icon"
176 depends on 44x
177 default n
178 select PPC44x_SIMPLE
179 select 440SPe
180 select PCI
181 select PPC4xx_PCI_EXPRESS
182 help
183 This option enables support for the AMCC PPC440SPe evaluation board.
184
154#config LUAN 185#config LUAN
155# bool "Luan" 186# bool "Luan"
156# depends on 44x 187# depends on 44x
diff --git a/arch/powerpc/platforms/44x/Makefile b/arch/powerpc/platforms/44x/Makefile
index ee6185aeaa3b..82ff326e0795 100644
--- a/arch/powerpc/platforms/44x/Makefile
+++ b/arch/powerpc/platforms/44x/Makefile
@@ -5,3 +5,4 @@ obj-$(CONFIG_SAM440EP) += sam440ep.o
5obj-$(CONFIG_WARP) += warp.o 5obj-$(CONFIG_WARP) += warp.o
6obj-$(CONFIG_XILINX_VIRTEX_5_FXT) += virtex.o 6obj-$(CONFIG_XILINX_VIRTEX_5_FXT) += virtex.o
7obj-$(CONFIG_XILINX_ML510) += virtex_ml510.o 7obj-$(CONFIG_XILINX_ML510) += virtex_ml510.o
8obj-$(CONFIG_ISS4xx) += iss4xx.o
diff --git a/arch/powerpc/platforms/44x/iss4xx.c b/arch/powerpc/platforms/44x/iss4xx.c
new file mode 100644
index 000000000000..aa46e9d1e771
--- /dev/null
+++ b/arch/powerpc/platforms/44x/iss4xx.c
@@ -0,0 +1,167 @@
1/*
2 * PPC476 board specific routines
3 *
4 * Copyright 2010 Torez Smith, IBM Corporation.
5 *
6 * Based on earlier code:
7 * Matt Porter <mporter@kernel.crashing.org>
8 * Copyright 2002-2005 MontaVista Software Inc.
9 *
10 * Eugene Surovegin <eugene.surovegin@zultys.com> or <ebs@ebshome.net>
11 * Copyright (c) 2003-2005 Zultys Technologies
12 *
13 * Rewritten and ported to the merged powerpc tree:
14 * Copyright 2007 David Gibson <dwg@au1.ibm.com>, IBM Corporation.
15 *
16 * This program is free software; you can redistribute it and/or modify it
17 * under the terms of the GNU General Public License as published by the
18 * Free Software Foundation; either version 2 of the License, or (at your
19 * option) any later version.
20 */
21
22#include <linux/init.h>
23#include <linux/of_platform.h>
24#include <linux/rtc.h>
25
26#include <asm/machdep.h>
27#include <asm/prom.h>
28#include <asm/udbg.h>
29#include <asm/time.h>
30#include <asm/uic.h>
31#include <asm/ppc4xx.h>
32#include <asm/mpic.h>
33#include <asm/mmu.h>
34
35static __initdata struct of_device_id iss4xx_of_bus[] = {
36 { .compatible = "ibm,plb4", },
37 { .compatible = "ibm,plb6", },
38 { .compatible = "ibm,opb", },
39 { .compatible = "ibm,ebc", },
40 {},
41};
42
43static int __init iss4xx_device_probe(void)
44{
45 of_platform_bus_probe(NULL, iss4xx_of_bus, NULL);
46 of_instantiate_rtc();
47
48 return 0;
49}
50machine_device_initcall(iss4xx, iss4xx_device_probe);
51
52/* We can have either UICs or MPICs */
53static void __init iss4xx_init_irq(void)
54{
55 struct device_node *np;
56
57 /* Find top level interrupt controller */
58 for_each_node_with_property(np, "interrupt-controller") {
59 if (of_get_property(np, "interrupts", NULL) == NULL)
60 break;
61 }
62 if (np == NULL)
63 panic("Can't find top level interrupt controller");
64
65 /* Check type and do appropriate initialization */
66 if (of_device_is_compatible(np, "ibm,uic")) {
67 uic_init_tree();
68 ppc_md.get_irq = uic_get_irq;
69#ifdef CONFIG_MPIC
70 } else if (of_device_is_compatible(np, "chrp,open-pic")) {
71 /* The MPIC driver will get everything it needs from the
72 * device-tree, just pass 0 to all arguments
73 */
74 struct mpic *mpic = mpic_alloc(np, 0, MPIC_PRIMARY, 0, 0,
75 " MPIC ");
76 BUG_ON(mpic == NULL);
77 mpic_init(mpic);
78 ppc_md.get_irq = mpic_get_irq;
79#endif
80 } else
81 panic("Unrecognized top level interrupt controller");
82}
83
84#ifdef CONFIG_SMP
85static void __cpuinit smp_iss4xx_setup_cpu(int cpu)
86{
87 mpic_setup_this_cpu();
88}
89
90static void __cpuinit smp_iss4xx_kick_cpu(int cpu)
91{
92 struct device_node *cpunode = of_get_cpu_node(cpu, NULL);
93 const u64 *spin_table_addr_prop;
94 u32 *spin_table;
95 extern void start_secondary_47x(void);
96
97 BUG_ON(cpunode == NULL);
98
99 /* Assume spin table. We could test for the enable-method in
100 * the device-tree but currently there's little point as it's
101 * our only supported method
102 */
103 spin_table_addr_prop = of_get_property(cpunode, "cpu-release-addr",
104 NULL);
105 if (spin_table_addr_prop == NULL) {
106 pr_err("CPU%d: Can't start, missing cpu-release-addr !\n", cpu);
107 return;
108 }
109
110 /* Assume it's mapped as part of the linear mapping. This is a bit
111 * fishy but will work fine for now
112 */
113 spin_table = (u32 *)__va(*spin_table_addr_prop);
114 pr_debug("CPU%d: Spin table mapped at %p\n", cpu, spin_table);
115
116 spin_table[3] = cpu;
117 smp_wmb();
118 spin_table[1] = __pa(start_secondary_47x);
119 mb();
120}
121
122static struct smp_ops_t iss_smp_ops = {
123 .probe = smp_mpic_probe,
124 .message_pass = smp_mpic_message_pass,
125 .setup_cpu = smp_iss4xx_setup_cpu,
126 .kick_cpu = smp_iss4xx_kick_cpu,
127 .give_timebase = smp_generic_give_timebase,
128 .take_timebase = smp_generic_take_timebase,
129};
130
131static void __init iss4xx_smp_init(void)
132{
133 if (mmu_has_feature(MMU_FTR_TYPE_47x))
134 smp_ops = &iss_smp_ops;
135}
136
137#else /* CONFIG_SMP */
138static void __init iss4xx_smp_init(void) { }
139#endif /* CONFIG_SMP */
140
141static void __init iss4xx_setup_arch(void)
142{
143 iss4xx_smp_init();
144}
145
146/*
147 * Called very early, MMU is off, device-tree isn't unflattened
148 */
149static int __init iss4xx_probe(void)
150{
151 unsigned long root = of_get_flat_dt_root();
152
153 if (!of_flat_dt_is_compatible(root, "ibm,iss-4xx"))
154 return 0;
155
156 return 1;
157}
158
159define_machine(iss4xx) {
160 .name = "ISS-4xx",
161 .probe = iss4xx_probe,
162 .progress = udbg_progress,
163 .init_IRQ = iss4xx_init_irq,
164 .setup_arch = iss4xx_setup_arch,
165 .restart = ppc4xx_reset_system,
166 .calibrate_decr = generic_calibrate_decr,
167};
diff --git a/arch/powerpc/platforms/44x/ppc44x_simple.c b/arch/powerpc/platforms/44x/ppc44x_simple.c
index e8c23ccaa1fc..5f7a29d7f590 100644
--- a/arch/powerpc/platforms/44x/ppc44x_simple.c
+++ b/arch/powerpc/platforms/44x/ppc44x_simple.c
@@ -61,7 +61,8 @@ static char *board[] __initdata = {
61 "amcc,redwood", 61 "amcc,redwood",
62 "amcc,sequoia", 62 "amcc,sequoia",
63 "amcc,taishan", 63 "amcc,taishan",
64 "amcc,yosemite" 64 "amcc,yosemite",
65 "mosaixtech,icon"
65}; 66};
66 67
67static int __init ppc44x_probe(void) 68static int __init ppc44x_probe(void)
diff --git a/arch/powerpc/platforms/44x/warp.c b/arch/powerpc/platforms/44x/warp.c
index e5c1b096c3e1..8f771395f424 100644
--- a/arch/powerpc/platforms/44x/warp.c
+++ b/arch/powerpc/platforms/44x/warp.c
@@ -17,6 +17,7 @@
17#include <linux/delay.h> 17#include <linux/delay.h>
18#include <linux/of_gpio.h> 18#include <linux/of_gpio.h>
19#include <linux/of_i2c.h> 19#include <linux/of_i2c.h>
20#include <linux/slab.h>
20 21
21#include <asm/machdep.h> 22#include <asm/machdep.h>
22#include <asm/prom.h> 23#include <asm/prom.h>
diff --git a/arch/powerpc/platforms/512x/clock.c b/arch/powerpc/platforms/512x/clock.c
index 84544d072043..4c42246b86a7 100644
--- a/arch/powerpc/platforms/512x/clock.c
+++ b/arch/powerpc/platforms/512x/clock.c
@@ -698,8 +698,7 @@ static struct clk_interface mpc5121_clk_functions = {
698 .clk_get_parent = NULL, 698 .clk_get_parent = NULL,
699}; 699};
700 700
701static int 701int __init mpc5121_clk_init(void)
702mpc5121_clk_init(void)
703{ 702{
704 struct device_node *np; 703 struct device_node *np;
705 704
@@ -724,6 +723,3 @@ mpc5121_clk_init(void)
724 clk_functions = mpc5121_clk_functions; 723 clk_functions = mpc5121_clk_functions;
725 return 0; 724 return 0;
726} 725}
727
728
729arch_initcall(mpc5121_clk_init);
diff --git a/arch/powerpc/platforms/512x/mpc5121_ads.c b/arch/powerpc/platforms/512x/mpc5121_ads.c
index 441abc488851..ee6ae129c25c 100644
--- a/arch/powerpc/platforms/512x/mpc5121_ads.c
+++ b/arch/powerpc/platforms/512x/mpc5121_ads.c
@@ -64,8 +64,9 @@ define_machine(mpc5121_ads) {
64 .name = "MPC5121 ADS", 64 .name = "MPC5121 ADS",
65 .probe = mpc5121_ads_probe, 65 .probe = mpc5121_ads_probe,
66 .setup_arch = mpc5121_ads_setup_arch, 66 .setup_arch = mpc5121_ads_setup_arch,
67 .init = mpc512x_declare_of_platform_devices, 67 .init = mpc512x_init,
68 .init_IRQ = mpc5121_ads_init_IRQ, 68 .init_IRQ = mpc5121_ads_init_IRQ,
69 .get_irq = ipic_get_irq, 69 .get_irq = ipic_get_irq,
70 .calibrate_decr = generic_calibrate_decr, 70 .calibrate_decr = generic_calibrate_decr,
71 .restart = mpc512x_restart,
71}; 72};
diff --git a/arch/powerpc/platforms/512x/mpc5121_ads_cpld.c b/arch/powerpc/platforms/512x/mpc5121_ads_cpld.c
index da9b20a63769..4ecf4cf9a51b 100644
--- a/arch/powerpc/platforms/512x/mpc5121_ads_cpld.c
+++ b/arch/powerpc/platforms/512x/mpc5121_ads_cpld.c
@@ -79,7 +79,7 @@ cpld_unmask_irq(unsigned int irq)
79} 79}
80 80
81static struct irq_chip cpld_pic = { 81static struct irq_chip cpld_pic = {
82 .name = " CPLD PIC ", 82 .name = "CPLD PIC",
83 .mask = cpld_mask_irq, 83 .mask = cpld_mask_irq,
84 .ack = cpld_mask_irq, 84 .ack = cpld_mask_irq,
85 .unmask = cpld_unmask_irq, 85 .unmask = cpld_unmask_irq,
diff --git a/arch/powerpc/platforms/512x/mpc5121_generic.c b/arch/powerpc/platforms/512x/mpc5121_generic.c
index 2479de9e2d12..a6c0e3a2615d 100644
--- a/arch/powerpc/platforms/512x/mpc5121_generic.c
+++ b/arch/powerpc/platforms/512x/mpc5121_generic.c
@@ -51,8 +51,9 @@ static int __init mpc5121_generic_probe(void)
51define_machine(mpc5121_generic) { 51define_machine(mpc5121_generic) {
52 .name = "MPC5121 generic", 52 .name = "MPC5121 generic",
53 .probe = mpc5121_generic_probe, 53 .probe = mpc5121_generic_probe,
54 .init = mpc512x_declare_of_platform_devices, 54 .init = mpc512x_init,
55 .init_IRQ = mpc512x_init_IRQ, 55 .init_IRQ = mpc512x_init_IRQ,
56 .get_irq = ipic_get_irq, 56 .get_irq = ipic_get_irq,
57 .calibrate_decr = generic_calibrate_decr, 57 .calibrate_decr = generic_calibrate_decr,
58 .restart = mpc512x_restart,
58}; 59};
diff --git a/arch/powerpc/platforms/512x/mpc512x.h b/arch/powerpc/platforms/512x/mpc512x.h
index 22a5352407e0..b2daca0d1488 100644
--- a/arch/powerpc/platforms/512x/mpc512x.h
+++ b/arch/powerpc/platforms/512x/mpc512x.h
@@ -12,5 +12,8 @@
12#ifndef __MPC512X_H__ 12#ifndef __MPC512X_H__
13#define __MPC512X_H__ 13#define __MPC512X_H__
14extern void __init mpc512x_init_IRQ(void); 14extern void __init mpc512x_init_IRQ(void);
15extern void __init mpc512x_init(void);
16extern int __init mpc5121_clk_init(void);
15void __init mpc512x_declare_of_platform_devices(void); 17void __init mpc512x_declare_of_platform_devices(void);
18extern void mpc512x_restart(char *cmd);
16#endif /* __MPC512X_H__ */ 19#endif /* __MPC512X_H__ */
diff --git a/arch/powerpc/platforms/512x/mpc512x_shared.c b/arch/powerpc/platforms/512x/mpc512x_shared.c
index 434d683df5a0..707e572b7c40 100644
--- a/arch/powerpc/platforms/512x/mpc512x_shared.c
+++ b/arch/powerpc/platforms/512x/mpc512x_shared.c
@@ -21,9 +21,39 @@
21#include <asm/ipic.h> 21#include <asm/ipic.h>
22#include <asm/prom.h> 22#include <asm/prom.h>
23#include <asm/time.h> 23#include <asm/time.h>
24#include <asm/mpc5121.h>
25#include <asm/mpc52xx_psc.h>
24 26
25#include "mpc512x.h" 27#include "mpc512x.h"
26 28
29static struct mpc512x_reset_module __iomem *reset_module_base;
30
31static void __init mpc512x_restart_init(void)
32{
33 struct device_node *np;
34
35 np = of_find_compatible_node(NULL, NULL, "fsl,mpc5121-reset");
36 if (!np)
37 return;
38
39 reset_module_base = of_iomap(np, 0);
40 of_node_put(np);
41}
42
43void mpc512x_restart(char *cmd)
44{
45 if (reset_module_base) {
46 /* Enable software reset "RSTE" */
47 out_be32(&reset_module_base->rpr, 0x52535445);
48 /* Set software hard reset */
49 out_be32(&reset_module_base->rcr, 0x2);
50 } else {
51 pr_err("Restart module not mapped.\n");
52 }
53 for (;;)
54 ;
55}
56
27void __init mpc512x_init_IRQ(void) 57void __init mpc512x_init_IRQ(void)
28{ 58{
29 struct device_node *np; 59 struct device_node *np;
@@ -53,8 +83,99 @@ static struct of_device_id __initdata of_bus_ids[] = {
53 83
54void __init mpc512x_declare_of_platform_devices(void) 84void __init mpc512x_declare_of_platform_devices(void)
55{ 85{
86 struct device_node *np;
87
56 if (of_platform_bus_probe(NULL, of_bus_ids, NULL)) 88 if (of_platform_bus_probe(NULL, of_bus_ids, NULL))
57 printk(KERN_ERR __FILE__ ": " 89 printk(KERN_ERR __FILE__ ": "
58 "Error while probing of_platform bus\n"); 90 "Error while probing of_platform bus\n");
91
92 np = of_find_compatible_node(NULL, NULL, "fsl,mpc5121-nfc");
93 if (np) {
94 of_platform_device_create(np, NULL, NULL);
95 of_node_put(np);
96 }
59} 97}
60 98
99#define DEFAULT_FIFO_SIZE 16
100
101static unsigned int __init get_fifo_size(struct device_node *np,
102 char *prop_name)
103{
104 const unsigned int *fp;
105
106 fp = of_get_property(np, prop_name, NULL);
107 if (fp)
108 return *fp;
109
110 pr_warning("no %s property in %s node, defaulting to %d\n",
111 prop_name, np->full_name, DEFAULT_FIFO_SIZE);
112
113 return DEFAULT_FIFO_SIZE;
114}
115
116#define FIFOC(_base) ((struct mpc512x_psc_fifo __iomem *) \
117 ((u32)(_base) + sizeof(struct mpc52xx_psc)))
118
119/* Init PSC FIFO space for TX and RX slices */
120void __init mpc512x_psc_fifo_init(void)
121{
122 struct device_node *np;
123 void __iomem *psc;
124 unsigned int tx_fifo_size;
125 unsigned int rx_fifo_size;
126 int fifobase = 0; /* current fifo address in 32 bit words */
127
128 for_each_compatible_node(np, NULL, "fsl,mpc5121-psc") {
129 tx_fifo_size = get_fifo_size(np, "fsl,tx-fifo-size");
130 rx_fifo_size = get_fifo_size(np, "fsl,rx-fifo-size");
131
132 /* size in register is in 4 byte units */
133 tx_fifo_size /= 4;
134 rx_fifo_size /= 4;
135 if (!tx_fifo_size)
136 tx_fifo_size = 1;
137 if (!rx_fifo_size)
138 rx_fifo_size = 1;
139
140 psc = of_iomap(np, 0);
141 if (!psc) {
142 pr_err("%s: Can't map %s device\n",
143 __func__, np->full_name);
144 continue;
145 }
146
147 /* FIFO space is 4KiB, check if requested size is available */
148 if ((fifobase + tx_fifo_size + rx_fifo_size) > 0x1000) {
149 pr_err("%s: no fifo space available for %s\n",
150 __func__, np->full_name);
151 iounmap(psc);
152 /*
153 * chances are that another device requests less
154 * fifo space, so we continue.
155 */
156 continue;
157 }
158
159 /* set tx and rx fifo size registers */
160 out_be32(&FIFOC(psc)->txsz, (fifobase << 16) | tx_fifo_size);
161 fifobase += tx_fifo_size;
162 out_be32(&FIFOC(psc)->rxsz, (fifobase << 16) | rx_fifo_size);
163 fifobase += rx_fifo_size;
164
165 /* reset and enable the slices */
166 out_be32(&FIFOC(psc)->txcmd, 0x80);
167 out_be32(&FIFOC(psc)->txcmd, 0x01);
168 out_be32(&FIFOC(psc)->rxcmd, 0x80);
169 out_be32(&FIFOC(psc)->rxcmd, 0x01);
170
171 iounmap(psc);
172 }
173}
174
175void __init mpc512x_init(void)
176{
177 mpc512x_declare_of_platform_devices();
178 mpc5121_clk_init();
179 mpc512x_restart_init();
180 mpc512x_psc_fifo_init();
181}
diff --git a/arch/powerpc/platforms/52xx/mpc52xx_gpio.c b/arch/powerpc/platforms/52xx/mpc52xx_gpio.c
index 2b8d8ef32e4e..ca5305a5bd61 100644
--- a/arch/powerpc/platforms/52xx/mpc52xx_gpio.c
+++ b/arch/powerpc/platforms/52xx/mpc52xx_gpio.c
@@ -19,6 +19,7 @@
19 19
20#include <linux/of.h> 20#include <linux/of.h>
21#include <linux/kernel.h> 21#include <linux/kernel.h>
22#include <linux/slab.h>
22#include <linux/of_gpio.h> 23#include <linux/of_gpio.h>
23#include <linux/io.h> 24#include <linux/io.h>
24#include <linux/of_platform.h> 25#include <linux/of_platform.h>
@@ -167,7 +168,7 @@ static int __devinit mpc52xx_wkup_gpiochip_probe(struct of_device *ofdev,
167 ofchip->gc.get = mpc52xx_wkup_gpio_get; 168 ofchip->gc.get = mpc52xx_wkup_gpio_get;
168 ofchip->gc.set = mpc52xx_wkup_gpio_set; 169 ofchip->gc.set = mpc52xx_wkup_gpio_set;
169 170
170 ret = of_mm_gpiochip_add(ofdev->node, &chip->mmchip); 171 ret = of_mm_gpiochip_add(ofdev->dev.of_node, &chip->mmchip);
171 if (ret) 172 if (ret)
172 return ret; 173 return ret;
173 174
@@ -192,8 +193,11 @@ static const struct of_device_id mpc52xx_wkup_gpiochip_match[] = {
192}; 193};
193 194
194static struct of_platform_driver mpc52xx_wkup_gpiochip_driver = { 195static struct of_platform_driver mpc52xx_wkup_gpiochip_driver = {
195 .name = "gpio_wkup", 196 .driver = {
196 .match_table = mpc52xx_wkup_gpiochip_match, 197 .name = "gpio_wkup",
198 .owner = THIS_MODULE,
199 .of_match_table = mpc52xx_wkup_gpiochip_match,
200 },
197 .probe = mpc52xx_wkup_gpiochip_probe, 201 .probe = mpc52xx_wkup_gpiochip_probe,
198 .remove = mpc52xx_gpiochip_remove, 202 .remove = mpc52xx_gpiochip_remove,
199}; 203};
@@ -328,7 +332,7 @@ static int __devinit mpc52xx_simple_gpiochip_probe(struct of_device *ofdev,
328 ofchip->gc.get = mpc52xx_simple_gpio_get; 332 ofchip->gc.get = mpc52xx_simple_gpio_get;
329 ofchip->gc.set = mpc52xx_simple_gpio_set; 333 ofchip->gc.set = mpc52xx_simple_gpio_set;
330 334
331 ret = of_mm_gpiochip_add(ofdev->node, &chip->mmchip); 335 ret = of_mm_gpiochip_add(ofdev->dev.of_node, &chip->mmchip);
332 if (ret) 336 if (ret)
333 return ret; 337 return ret;
334 338
@@ -348,8 +352,11 @@ static const struct of_device_id mpc52xx_simple_gpiochip_match[] = {
348}; 352};
349 353
350static struct of_platform_driver mpc52xx_simple_gpiochip_driver = { 354static struct of_platform_driver mpc52xx_simple_gpiochip_driver = {
351 .name = "gpio", 355 .driver = {
352 .match_table = mpc52xx_simple_gpiochip_match, 356 .name = "gpio",
357 .owner = THIS_MODULE,
358 .of_match_table = mpc52xx_simple_gpiochip_match,
359 },
353 .probe = mpc52xx_simple_gpiochip_probe, 360 .probe = mpc52xx_simple_gpiochip_probe,
354 .remove = mpc52xx_gpiochip_remove, 361 .remove = mpc52xx_gpiochip_remove,
355}; 362};
diff --git a/arch/powerpc/platforms/52xx/mpc52xx_gpt.c b/arch/powerpc/platforms/52xx/mpc52xx_gpt.c
index 6f8ebe1085b3..46c93578cbf0 100644
--- a/arch/powerpc/platforms/52xx/mpc52xx_gpt.c
+++ b/arch/powerpc/platforms/52xx/mpc52xx_gpt.c
@@ -62,6 +62,7 @@
62#include <linux/of_platform.h> 62#include <linux/of_platform.h>
63#include <linux/of_gpio.h> 63#include <linux/of_gpio.h>
64#include <linux/kernel.h> 64#include <linux/kernel.h>
65#include <linux/slab.h>
65#include <linux/watchdog.h> 66#include <linux/watchdog.h>
66#include <linux/miscdevice.h> 67#include <linux/miscdevice.h>
67#include <linux/uaccess.h> 68#include <linux/uaccess.h>
@@ -553,7 +554,7 @@ static ssize_t mpc52xx_wdt_write(struct file *file, const char __user *data,
553 return 0; 554 return 0;
554} 555}
555 556
556static struct watchdog_info mpc5200_wdt_info = { 557static const struct watchdog_info mpc5200_wdt_info = {
557 .options = WDIOF_SETTIMEOUT | WDIOF_KEEPALIVEPING, 558 .options = WDIOF_SETTIMEOUT | WDIOF_KEEPALIVEPING,
558 .identity = WDT_IDENTITY, 559 .identity = WDT_IDENTITY,
559}; 560};
@@ -711,7 +712,11 @@ static int __devinit mpc52xx_gpt_wdt_init(void)
711 return 0; 712 return 0;
712} 713}
713 714
714#define mpc52xx_gpt_wdt_setup(x, y) (0) 715static inline int mpc52xx_gpt_wdt_setup(struct mpc52xx_gpt_priv *gpt,
716 const u32 *period)
717{
718 return 0;
719}
715 720
716#endif /* CONFIG_MPC5200_WDT */ 721#endif /* CONFIG_MPC5200_WDT */
717 722
@@ -729,8 +734,8 @@ static int __devinit mpc52xx_gpt_probe(struct of_device *ofdev,
729 734
730 spin_lock_init(&gpt->lock); 735 spin_lock_init(&gpt->lock);
731 gpt->dev = &ofdev->dev; 736 gpt->dev = &ofdev->dev;
732 gpt->ipb_freq = mpc5xxx_get_bus_frequency(ofdev->node); 737 gpt->ipb_freq = mpc5xxx_get_bus_frequency(ofdev->dev.of_node);
733 gpt->regs = of_iomap(ofdev->node, 0); 738 gpt->regs = of_iomap(ofdev->dev.of_node, 0);
734 if (!gpt->regs) { 739 if (!gpt->regs) {
735 kfree(gpt); 740 kfree(gpt);
736 return -ENOMEM; 741 return -ENOMEM;
@@ -738,21 +743,21 @@ static int __devinit mpc52xx_gpt_probe(struct of_device *ofdev,
738 743
739 dev_set_drvdata(&ofdev->dev, gpt); 744 dev_set_drvdata(&ofdev->dev, gpt);
740 745
741 mpc52xx_gpt_gpio_setup(gpt, ofdev->node); 746 mpc52xx_gpt_gpio_setup(gpt, ofdev->dev.of_node);
742 mpc52xx_gpt_irq_setup(gpt, ofdev->node); 747 mpc52xx_gpt_irq_setup(gpt, ofdev->dev.of_node);
743 748
744 mutex_lock(&mpc52xx_gpt_list_mutex); 749 mutex_lock(&mpc52xx_gpt_list_mutex);
745 list_add(&gpt->list, &mpc52xx_gpt_list); 750 list_add(&gpt->list, &mpc52xx_gpt_list);
746 mutex_unlock(&mpc52xx_gpt_list_mutex); 751 mutex_unlock(&mpc52xx_gpt_list_mutex);
747 752
748 /* check if this device could be a watchdog */ 753 /* check if this device could be a watchdog */
749 if (of_get_property(ofdev->node, "fsl,has-wdt", NULL) || 754 if (of_get_property(ofdev->dev.of_node, "fsl,has-wdt", NULL) ||
750 of_get_property(ofdev->node, "has-wdt", NULL)) { 755 of_get_property(ofdev->dev.of_node, "has-wdt", NULL)) {
751 const u32 *on_boot_wdt; 756 const u32 *on_boot_wdt;
752 757
753 gpt->wdt_mode = MPC52xx_GPT_CAN_WDT; 758 gpt->wdt_mode = MPC52xx_GPT_CAN_WDT;
754 on_boot_wdt = of_get_property(ofdev->node, "fsl,wdt-on-boot", 759 on_boot_wdt = of_get_property(ofdev->dev.of_node,
755 NULL); 760 "fsl,wdt-on-boot", NULL);
756 if (on_boot_wdt) { 761 if (on_boot_wdt) {
757 dev_info(gpt->dev, "used as watchdog\n"); 762 dev_info(gpt->dev, "used as watchdog\n");
758 gpt->wdt_mode |= MPC52xx_GPT_IS_WDT; 763 gpt->wdt_mode |= MPC52xx_GPT_IS_WDT;
@@ -779,8 +784,11 @@ static const struct of_device_id mpc52xx_gpt_match[] = {
779}; 784};
780 785
781static struct of_platform_driver mpc52xx_gpt_driver = { 786static struct of_platform_driver mpc52xx_gpt_driver = {
782 .name = "mpc52xx-gpt", 787 .driver = {
783 .match_table = mpc52xx_gpt_match, 788 .name = "mpc52xx-gpt",
789 .owner = THIS_MODULE,
790 .of_match_table = mpc52xx_gpt_match,
791 },
784 .probe = mpc52xx_gpt_probe, 792 .probe = mpc52xx_gpt_probe,
785 .remove = mpc52xx_gpt_remove, 793 .remove = mpc52xx_gpt_remove,
786}; 794};
diff --git a/arch/powerpc/platforms/52xx/mpc52xx_lpbfifo.c b/arch/powerpc/platforms/52xx/mpc52xx_lpbfifo.c
index 929d017535a3..e86aec644501 100644
--- a/arch/powerpc/platforms/52xx/mpc52xx_lpbfifo.c
+++ b/arch/powerpc/platforms/52xx/mpc52xx_lpbfifo.c
@@ -445,14 +445,14 @@ mpc52xx_lpbfifo_probe(struct of_device *op, const struct of_device_id *match)
445 if (lpbfifo.dev != NULL) 445 if (lpbfifo.dev != NULL)
446 return -ENOSPC; 446 return -ENOSPC;
447 447
448 lpbfifo.irq = irq_of_parse_and_map(op->node, 0); 448 lpbfifo.irq = irq_of_parse_and_map(op->dev.of_node, 0);
449 if (!lpbfifo.irq) 449 if (!lpbfifo.irq)
450 return -ENODEV; 450 return -ENODEV;
451 451
452 if (of_address_to_resource(op->node, 0, &res)) 452 if (of_address_to_resource(op->dev.of_node, 0, &res))
453 return -ENODEV; 453 return -ENODEV;
454 lpbfifo.regs_phys = res.start; 454 lpbfifo.regs_phys = res.start;
455 lpbfifo.regs = of_iomap(op->node, 0); 455 lpbfifo.regs = of_iomap(op->dev.of_node, 0);
456 if (!lpbfifo.regs) 456 if (!lpbfifo.regs)
457 return -ENOMEM; 457 return -ENOMEM;
458 458
@@ -481,6 +481,8 @@ mpc52xx_lpbfifo_probe(struct of_device *op, const struct of_device_id *match)
481 if (rc) 481 if (rc)
482 goto err_bcom_rx_irq; 482 goto err_bcom_rx_irq;
483 483
484 lpbfifo.dma_irqs_enabled = 1;
485
484 /* Request the Bestcomm transmit (memory --> fifo) task and IRQ */ 486 /* Request the Bestcomm transmit (memory --> fifo) task and IRQ */
485 lpbfifo.bcom_tx_task = 487 lpbfifo.bcom_tx_task =
486 bcom_gen_bd_tx_init(2, res.start + LPBFIFO_REG_FIFO_DATA, 488 bcom_gen_bd_tx_init(2, res.start + LPBFIFO_REG_FIFO_DATA,
@@ -535,9 +537,11 @@ static struct of_device_id mpc52xx_lpbfifo_match[] __devinitconst = {
535}; 537};
536 538
537static struct of_platform_driver mpc52xx_lpbfifo_driver = { 539static struct of_platform_driver mpc52xx_lpbfifo_driver = {
538 .owner = THIS_MODULE, 540 .driver = {
539 .name = "mpc52xx-lpbfifo", 541 .name = "mpc52xx-lpbfifo",
540 .match_table = mpc52xx_lpbfifo_match, 542 .owner = THIS_MODULE,
543 .of_match_table = mpc52xx_lpbfifo_match,
544 },
541 .probe = mpc52xx_lpbfifo_probe, 545 .probe = mpc52xx_lpbfifo_probe,
542 .remove = __devexit_p(mpc52xx_lpbfifo_remove), 546 .remove = __devexit_p(mpc52xx_lpbfifo_remove),
543}; 547};
diff --git a/arch/powerpc/platforms/52xx/mpc52xx_pm.c b/arch/powerpc/platforms/52xx/mpc52xx_pm.c
index a55b0b6813ed..76722532bd95 100644
--- a/arch/powerpc/platforms/52xx/mpc52xx_pm.c
+++ b/arch/powerpc/platforms/52xx/mpc52xx_pm.c
@@ -64,10 +64,19 @@ int mpc52xx_pm_prepare(void)
64 { .type = "builtin", .compatible = "mpc5200", }, /* efika */ 64 { .type = "builtin", .compatible = "mpc5200", }, /* efika */
65 {} 65 {}
66 }; 66 };
67 struct resource res;
67 68
68 /* map the whole register space */ 69 /* map the whole register space */
69 np = of_find_matching_node(NULL, immr_ids); 70 np = of_find_matching_node(NULL, immr_ids);
70 mbar = of_iomap(np, 0); 71
72 if (of_address_to_resource(np, 0, &res)) {
73 pr_err("mpc52xx_pm_prepare(): could not get IMMR address\n");
74 of_node_put(np);
75 return -ENOSYS;
76 }
77
78 mbar = ioremap(res.start, 0xc000); /* we should map whole region including SRAM */
79
71 of_node_put(np); 80 of_node_put(np);
72 if (!mbar) { 81 if (!mbar) {
73 pr_err("mpc52xx_pm_prepare(): could not map registers\n"); 82 pr_err("mpc52xx_pm_prepare(): could not map registers\n");
diff --git a/arch/powerpc/platforms/82xx/ep8248e.c b/arch/powerpc/platforms/82xx/ep8248e.c
index f9aee182e6f7..9f2e52b36f91 100644
--- a/arch/powerpc/platforms/82xx/ep8248e.c
+++ b/arch/powerpc/platforms/82xx/ep8248e.c
@@ -15,6 +15,7 @@
15#include <linux/fsl_devices.h> 15#include <linux/fsl_devices.h>
16#include <linux/mdio-bitbang.h> 16#include <linux/mdio-bitbang.h>
17#include <linux/of_mdio.h> 17#include <linux/of_mdio.h>
18#include <linux/slab.h>
18#include <linux/of_platform.h> 19#include <linux/of_platform.h>
19 20
20#include <asm/io.h> 21#include <asm/io.h>
@@ -118,12 +119,12 @@ static int __devinit ep8248e_mdio_probe(struct of_device *ofdev,
118 struct device_node *node; 119 struct device_node *node;
119 int ret; 120 int ret;
120 121
121 node = of_get_parent(ofdev->node); 122 node = of_get_parent(ofdev->dev.of_node);
122 of_node_put(node); 123 of_node_put(node);
123 if (node != ep8248e_bcsr_node) 124 if (node != ep8248e_bcsr_node)
124 return -ENODEV; 125 return -ENODEV;
125 126
126 ret = of_address_to_resource(ofdev->node, 0, &res); 127 ret = of_address_to_resource(ofdev->dev.of_node, 0, &res);
127 if (ret) 128 if (ret)
128 return ret; 129 return ret;
129 130
@@ -141,7 +142,7 @@ static int __devinit ep8248e_mdio_probe(struct of_device *ofdev,
141 bus->parent = &ofdev->dev; 142 bus->parent = &ofdev->dev;
142 snprintf(bus->id, MII_BUS_ID_SIZE, "%x", res.start); 143 snprintf(bus->id, MII_BUS_ID_SIZE, "%x", res.start);
143 144
144 ret = of_mdiobus_register(bus, ofdev->node); 145 ret = of_mdiobus_register(bus, ofdev->dev.of_node);
145 if (ret) 146 if (ret)
146 goto err_free_irq; 147 goto err_free_irq;
147 148
@@ -169,8 +170,9 @@ static const struct of_device_id ep8248e_mdio_match[] = {
169static struct of_platform_driver ep8248e_mdio_driver = { 170static struct of_platform_driver ep8248e_mdio_driver = {
170 .driver = { 171 .driver = {
171 .name = "ep8248e-mdio-bitbang", 172 .name = "ep8248e-mdio-bitbang",
173 .owner = THIS_MODULE,
174 .of_match_table = ep8248e_mdio_match,
172 }, 175 },
173 .match_table = ep8248e_mdio_match,
174 .probe = ep8248e_mdio_probe, 176 .probe = ep8248e_mdio_probe,
175 .remove = ep8248e_mdio_remove, 177 .remove = ep8248e_mdio_remove,
176}; 178};
diff --git a/arch/powerpc/platforms/82xx/pq2ads-pci-pic.c b/arch/powerpc/platforms/82xx/pq2ads-pci-pic.c
index 9d962d7c72c1..5a55d87d6bd6 100644
--- a/arch/powerpc/platforms/82xx/pq2ads-pci-pic.c
+++ b/arch/powerpc/platforms/82xx/pq2ads-pci-pic.c
@@ -17,6 +17,7 @@
17#include <linux/irq.h> 17#include <linux/irq.h>
18#include <linux/types.h> 18#include <linux/types.h>
19#include <linux/bootmem.h> 19#include <linux/bootmem.h>
20#include <linux/slab.h>
20 21
21#include <asm/io.h> 22#include <asm/io.h>
22#include <asm/prom.h> 23#include <asm/prom.h>
@@ -24,7 +25,7 @@
24 25
25#include "pq2.h" 26#include "pq2.h"
26 27
27static DEFINE_SPINLOCK(pci_pic_lock); 28static DEFINE_RAW_SPINLOCK(pci_pic_lock);
28 29
29struct pq2ads_pci_pic { 30struct pq2ads_pci_pic {
30 struct device_node *node; 31 struct device_node *node;
@@ -45,12 +46,12 @@ static void pq2ads_pci_mask_irq(unsigned int virq)
45 46
46 if (irq != -1) { 47 if (irq != -1) {
47 unsigned long flags; 48 unsigned long flags;
48 spin_lock_irqsave(&pci_pic_lock, flags); 49 raw_spin_lock_irqsave(&pci_pic_lock, flags);
49 50
50 setbits32(&priv->regs->mask, 1 << irq); 51 setbits32(&priv->regs->mask, 1 << irq);
51 mb(); 52 mb();
52 53
53 spin_unlock_irqrestore(&pci_pic_lock, flags); 54 raw_spin_unlock_irqrestore(&pci_pic_lock, flags);
54 } 55 }
55} 56}
56 57
@@ -62,9 +63,9 @@ static void pq2ads_pci_unmask_irq(unsigned int virq)
62 if (irq != -1) { 63 if (irq != -1) {
63 unsigned long flags; 64 unsigned long flags;
64 65
65 spin_lock_irqsave(&pci_pic_lock, flags); 66 raw_spin_lock_irqsave(&pci_pic_lock, flags);
66 clrbits32(&priv->regs->mask, 1 << irq); 67 clrbits32(&priv->regs->mask, 1 << irq);
67 spin_unlock_irqrestore(&pci_pic_lock, flags); 68 raw_spin_unlock_irqrestore(&pci_pic_lock, flags);
68 } 69 }
69} 70}
70 71
diff --git a/arch/powerpc/platforms/83xx/mcu_mpc8349emitx.c b/arch/powerpc/platforms/83xx/mcu_mpc8349emitx.c
index 82a9bcb858b6..d119a7c1c17a 100644
--- a/arch/powerpc/platforms/83xx/mcu_mpc8349emitx.c
+++ b/arch/powerpc/platforms/83xx/mcu_mpc8349emitx.c
@@ -20,6 +20,7 @@
20#include <linux/gpio.h> 20#include <linux/gpio.h>
21#include <linux/of.h> 21#include <linux/of.h>
22#include <linux/of_gpio.h> 22#include <linux/of_gpio.h>
23#include <linux/slab.h>
23#include <asm/prom.h> 24#include <asm/prom.h>
24#include <asm/machdep.h> 25#include <asm/machdep.h>
25 26
diff --git a/arch/powerpc/platforms/83xx/mpc831x_rdb.c b/arch/powerpc/platforms/83xx/mpc831x_rdb.c
index 0b4f883b20eb..ae525e4745d2 100644
--- a/arch/powerpc/platforms/83xx/mpc831x_rdb.c
+++ b/arch/powerpc/platforms/83xx/mpc831x_rdb.c
@@ -74,6 +74,7 @@ static int __init mpc831x_rdb_probe(void)
74static struct of_device_id __initdata of_bus_ids[] = { 74static struct of_device_id __initdata of_bus_ids[] = {
75 { .compatible = "simple-bus" }, 75 { .compatible = "simple-bus" },
76 { .compatible = "gianfar" }, 76 { .compatible = "gianfar" },
77 { .compatible = "gpio-leds", },
77 {}, 78 {},
78}; 79};
79 80
diff --git a/arch/powerpc/platforms/83xx/mpc837x_rdb.c b/arch/powerpc/platforms/83xx/mpc837x_rdb.c
index a1908d261240..e00801c42540 100644
--- a/arch/powerpc/platforms/83xx/mpc837x_rdb.c
+++ b/arch/powerpc/platforms/83xx/mpc837x_rdb.c
@@ -72,6 +72,7 @@ static struct of_device_id mpc837x_ids[] = {
72 { .compatible = "soc", }, 72 { .compatible = "soc", },
73 { .compatible = "simple-bus", }, 73 { .compatible = "simple-bus", },
74 { .compatible = "gianfar", }, 74 { .compatible = "gianfar", },
75 { .compatible = "gpio-leds", },
75 {}, 76 {},
76}; 77};
77 78
diff --git a/arch/powerpc/platforms/83xx/suspend.c b/arch/powerpc/platforms/83xx/suspend.c
index 43805348b81e..ebe6c3537209 100644
--- a/arch/powerpc/platforms/83xx/suspend.c
+++ b/arch/powerpc/platforms/83xx/suspend.c
@@ -321,7 +321,7 @@ static struct platform_suspend_ops mpc83xx_suspend_ops = {
321static int pmc_probe(struct of_device *ofdev, 321static int pmc_probe(struct of_device *ofdev,
322 const struct of_device_id *match) 322 const struct of_device_id *match)
323{ 323{
324 struct device_node *np = ofdev->node; 324 struct device_node *np = ofdev->dev.of_node;
325 struct resource res; 325 struct resource res;
326 struct pmc_type *type = match->data; 326 struct pmc_type *type = match->data;
327 int ret = 0; 327 int ret = 0;
@@ -423,8 +423,11 @@ static struct of_device_id pmc_match[] = {
423}; 423};
424 424
425static struct of_platform_driver pmc_driver = { 425static struct of_platform_driver pmc_driver = {
426 .name = "mpc83xx-pmc", 426 .driver = {
427 .match_table = pmc_match, 427 .name = "mpc83xx-pmc",
428 .owner = THIS_MODULE,
429 .of_match_table = pmc_match,
430 },
428 .probe = pmc_probe, 431 .probe = pmc_probe,
429 .remove = pmc_remove 432 .remove = pmc_remove
430}; 433};
diff --git a/arch/powerpc/platforms/85xx/Kconfig b/arch/powerpc/platforms/85xx/Kconfig
index d95121894eb7..3a2ade2e443f 100644
--- a/arch/powerpc/platforms/85xx/Kconfig
+++ b/arch/powerpc/platforms/85xx/Kconfig
@@ -51,7 +51,7 @@ config MPC85xx_DS
51 bool "Freescale MPC85xx DS" 51 bool "Freescale MPC85xx DS"
52 select PPC_I8259 52 select PPC_I8259
53 select DEFAULT_UIMAGE 53 select DEFAULT_UIMAGE
54 select FSL_ULI1575 54 select FSL_ULI1575 if PCI
55 select SWIOTLB 55 select SWIOTLB
56 help 56 help
57 This option enables support for the MPC85xx DS (MPC8544 DS) board 57 This option enables support for the MPC85xx DS (MPC8544 DS) board
@@ -60,7 +60,7 @@ config MPC85xx_RDB
60 bool "Freescale MPC85xx RDB" 60 bool "Freescale MPC85xx RDB"
61 select PPC_I8259 61 select PPC_I8259
62 select DEFAULT_UIMAGE 62 select DEFAULT_UIMAGE
63 select FSL_ULI1575 63 select FSL_ULI1575 if PCI
64 select SWIOTLB 64 select SWIOTLB
65 help 65 help
66 This option enables support for the MPC85xx RDB (P2020 RDB) board 66 This option enables support for the MPC85xx RDB (P2020 RDB) board
diff --git a/arch/powerpc/platforms/85xx/corenet_ds.c b/arch/powerpc/platforms/85xx/corenet_ds.c
index 534c2ecc89d9..2ab338c9ac37 100644
--- a/arch/powerpc/platforms/85xx/corenet_ds.c
+++ b/arch/powerpc/platforms/85xx/corenet_ds.c
@@ -16,7 +16,7 @@
16#include <linux/kdev_t.h> 16#include <linux/kdev_t.h>
17#include <linux/delay.h> 17#include <linux/delay.h>
18#include <linux/interrupt.h> 18#include <linux/interrupt.h>
19#include <linux/lmb.h> 19#include <linux/memblock.h>
20 20
21#include <asm/system.h> 21#include <asm/system.h>
22#include <asm/time.h> 22#include <asm/time.h>
@@ -100,7 +100,7 @@ void __init corenet_ds_setup_arch(void)
100#endif 100#endif
101 101
102#ifdef CONFIG_SWIOTLB 102#ifdef CONFIG_SWIOTLB
103 if (lmb_end_of_DRAM() > max) { 103 if (memblock_end_of_DRAM() > max) {
104 ppc_swiotlb_enable = 1; 104 ppc_swiotlb_enable = 1;
105 set_pci_dma_ops(&swiotlb_dma_ops); 105 set_pci_dma_ops(&swiotlb_dma_ops);
106 ppc_md.pci_dma_dev_setup = pci_dma_dev_setup_swiotlb; 106 ppc_md.pci_dma_dev_setup = pci_dma_dev_setup_swiotlb;
diff --git a/arch/powerpc/platforms/85xx/mpc8536_ds.c b/arch/powerpc/platforms/85xx/mpc8536_ds.c
index 004b7d36cdb7..f79f2f102141 100644
--- a/arch/powerpc/platforms/85xx/mpc8536_ds.c
+++ b/arch/powerpc/platforms/85xx/mpc8536_ds.c
@@ -17,7 +17,7 @@
17#include <linux/seq_file.h> 17#include <linux/seq_file.h>
18#include <linux/interrupt.h> 18#include <linux/interrupt.h>
19#include <linux/of_platform.h> 19#include <linux/of_platform.h>
20#include <linux/lmb.h> 20#include <linux/memblock.h>
21 21
22#include <asm/system.h> 22#include <asm/system.h>
23#include <asm/time.h> 23#include <asm/time.h>
@@ -94,7 +94,7 @@ static void __init mpc8536_ds_setup_arch(void)
94#endif 94#endif
95 95
96#ifdef CONFIG_SWIOTLB 96#ifdef CONFIG_SWIOTLB
97 if (lmb_end_of_DRAM() > max) { 97 if (memblock_end_of_DRAM() > max) {
98 ppc_swiotlb_enable = 1; 98 ppc_swiotlb_enable = 1;
99 set_pci_dma_ops(&swiotlb_dma_ops); 99 set_pci_dma_ops(&swiotlb_dma_ops);
100 ppc_md.pci_dma_dev_setup = pci_dma_dev_setup_swiotlb; 100 ppc_md.pci_dma_dev_setup = pci_dma_dev_setup_swiotlb;
diff --git a/arch/powerpc/platforms/85xx/mpc85xx_ds.c b/arch/powerpc/platforms/85xx/mpc85xx_ds.c
index 544011a562fb..8190bc25bf27 100644
--- a/arch/powerpc/platforms/85xx/mpc85xx_ds.c
+++ b/arch/powerpc/platforms/85xx/mpc85xx_ds.c
@@ -20,7 +20,7 @@
20#include <linux/seq_file.h> 20#include <linux/seq_file.h>
21#include <linux/interrupt.h> 21#include <linux/interrupt.h>
22#include <linux/of_platform.h> 22#include <linux/of_platform.h>
23#include <linux/lmb.h> 23#include <linux/memblock.h>
24 24
25#include <asm/system.h> 25#include <asm/system.h>
26#include <asm/time.h> 26#include <asm/time.h>
@@ -190,7 +190,7 @@ static void __init mpc85xx_ds_setup_arch(void)
190#endif 190#endif
191 191
192#ifdef CONFIG_SWIOTLB 192#ifdef CONFIG_SWIOTLB
193 if (lmb_end_of_DRAM() > max) { 193 if (memblock_end_of_DRAM() > max) {
194 ppc_swiotlb_enable = 1; 194 ppc_swiotlb_enable = 1;
195 set_pci_dma_ops(&swiotlb_dma_ops); 195 set_pci_dma_ops(&swiotlb_dma_ops);
196 ppc_md.pci_dma_dev_setup = pci_dma_dev_setup_swiotlb; 196 ppc_md.pci_dma_dev_setup = pci_dma_dev_setup_swiotlb;
diff --git a/arch/powerpc/platforms/85xx/mpc85xx_mds.c b/arch/powerpc/platforms/85xx/mpc85xx_mds.c
index 21f61b8c445b..494513682d70 100644
--- a/arch/powerpc/platforms/85xx/mpc85xx_mds.c
+++ b/arch/powerpc/platforms/85xx/mpc85xx_mds.c
@@ -1,5 +1,5 @@
1/* 1/*
2 * Copyright (C) Freescale Semicondutor, Inc. 2006-2007. All rights reserved. 2 * Copyright (C) Freescale Semicondutor, Inc. 2006-2010. All rights reserved.
3 * 3 *
4 * Author: Andy Fleming <afleming@freescale.com> 4 * Author: Andy Fleming <afleming@freescale.com>
5 * 5 *
@@ -33,7 +33,7 @@
33#include <linux/of_platform.h> 33#include <linux/of_platform.h>
34#include <linux/of_device.h> 34#include <linux/of_device.h>
35#include <linux/phy.h> 35#include <linux/phy.h>
36#include <linux/lmb.h> 36#include <linux/memblock.h>
37 37
38#include <asm/system.h> 38#include <asm/system.h>
39#include <asm/atomic.h> 39#include <asm/atomic.h>
@@ -154,6 +154,10 @@ static int mpc8568_mds_phy_fixups(struct phy_device *phydev)
154 * Setup the architecture 154 * Setup the architecture
155 * 155 *
156 */ 156 */
157#ifdef CONFIG_SMP
158extern void __init mpc85xx_smp_init(void);
159#endif
160
157static void __init mpc85xx_mds_setup_arch(void) 161static void __init mpc85xx_mds_setup_arch(void)
158{ 162{
159 struct device_node *np; 163 struct device_node *np;
@@ -194,6 +198,10 @@ static void __init mpc85xx_mds_setup_arch(void)
194 } 198 }
195#endif 199#endif
196 200
201#ifdef CONFIG_SMP
202 mpc85xx_smp_init();
203#endif
204
197#ifdef CONFIG_QUICC_ENGINE 205#ifdef CONFIG_QUICC_ENGINE
198 np = of_find_compatible_node(NULL, NULL, "fsl,qe"); 206 np = of_find_compatible_node(NULL, NULL, "fsl,qe");
199 if (!np) { 207 if (!np) {
@@ -237,6 +245,8 @@ static void __init mpc85xx_mds_setup_arch(void)
237 } else if (machine_is(mpc8569_mds)) { 245 } else if (machine_is(mpc8569_mds)) {
238#define BCSR7_UCC12_GETHnRST (0x1 << 2) 246#define BCSR7_UCC12_GETHnRST (0x1 << 2)
239#define BCSR8_UEM_MARVELL_RST (0x1 << 1) 247#define BCSR8_UEM_MARVELL_RST (0x1 << 1)
248#define BCSR_UCC_RGMII (0x1 << 6)
249#define BCSR_UCC_RTBI (0x1 << 5)
240 /* 250 /*
241 * U-Boot mangles interrupt polarity for Marvell PHYs, 251 * U-Boot mangles interrupt polarity for Marvell PHYs,
242 * so reset built-in and UEM Marvell PHYs, this puts 252 * so reset built-in and UEM Marvell PHYs, this puts
@@ -247,13 +257,75 @@ static void __init mpc85xx_mds_setup_arch(void)
247 257
248 setbits8(&bcsr_regs[7], BCSR7_UCC12_GETHnRST); 258 setbits8(&bcsr_regs[7], BCSR7_UCC12_GETHnRST);
249 clrbits8(&bcsr_regs[8], BCSR8_UEM_MARVELL_RST); 259 clrbits8(&bcsr_regs[8], BCSR8_UEM_MARVELL_RST);
260
261 for (np = NULL; (np = of_find_compatible_node(np,
262 "network",
263 "ucc_geth")) != NULL;) {
264 const unsigned int *prop;
265 int ucc_num;
266
267 prop = of_get_property(np, "cell-index", NULL);
268 if (prop == NULL)
269 continue;
270
271 ucc_num = *prop - 1;
272
273 prop = of_get_property(np, "phy-connection-type", NULL);
274 if (prop == NULL)
275 continue;
276
277 if (strcmp("rtbi", (const char *)prop) == 0)
278 clrsetbits_8(&bcsr_regs[7 + ucc_num],
279 BCSR_UCC_RGMII, BCSR_UCC_RTBI);
280 }
281
282 } else if (machine_is(p1021_mds)) {
283#define BCSR11_ENET_MICRST (0x1 << 5)
284 /* Reset Micrel PHY */
285 clrbits8(&bcsr_regs[11], BCSR11_ENET_MICRST);
286 setbits8(&bcsr_regs[11], BCSR11_ENET_MICRST);
250 } 287 }
288
251 iounmap(bcsr_regs); 289 iounmap(bcsr_regs);
252 } 290 }
291
292 if (machine_is(p1021_mds)) {
293#define MPC85xx_PMUXCR_OFFSET 0x60
294#define MPC85xx_PMUXCR_QE0 0x00008000
295#define MPC85xx_PMUXCR_QE3 0x00001000
296#define MPC85xx_PMUXCR_QE9 0x00000040
297#define MPC85xx_PMUXCR_QE12 0x00000008
298 static __be32 __iomem *pmuxcr;
299
300 np = of_find_node_by_name(NULL, "global-utilities");
301
302 if (np) {
303 pmuxcr = of_iomap(np, 0) + MPC85xx_PMUXCR_OFFSET;
304
305 if (!pmuxcr)
306 printk(KERN_EMERG "Error: Alternate function"
307 " signal multiplex control register not"
308 " mapped!\n");
309 else
310 /* P1021 has pins muxed for QE and other functions. To
311 * enable QE UEC mode, we need to set bit QE0 for UCC1
312 * in Eth mode, QE0 and QE3 for UCC5 in Eth mode, QE9
313 * and QE12 for QE MII management singals in PMUXCR
314 * register.
315 */
316 setbits32(pmuxcr, MPC85xx_PMUXCR_QE0 |
317 MPC85xx_PMUXCR_QE3 |
318 MPC85xx_PMUXCR_QE9 |
319 MPC85xx_PMUXCR_QE12);
320
321 of_node_put(np);
322 }
323
324 }
253#endif /* CONFIG_QUICC_ENGINE */ 325#endif /* CONFIG_QUICC_ENGINE */
254 326
255#ifdef CONFIG_SWIOTLB 327#ifdef CONFIG_SWIOTLB
256 if (lmb_end_of_DRAM() > max) { 328 if (memblock_end_of_DRAM() > max) {
257 ppc_swiotlb_enable = 1; 329 ppc_swiotlb_enable = 1;
258 set_pci_dma_ops(&swiotlb_dma_ops); 330 set_pci_dma_ops(&swiotlb_dma_ops);
259 ppc_md.pci_dma_dev_setup = pci_dma_dev_setup_swiotlb; 331 ppc_md.pci_dma_dev_setup = pci_dma_dev_setup_swiotlb;
@@ -302,11 +374,24 @@ static struct of_device_id mpc85xx_ids[] = {
302 { .compatible = "gianfar", }, 374 { .compatible = "gianfar", },
303 { .compatible = "fsl,rapidio-delta", }, 375 { .compatible = "fsl,rapidio-delta", },
304 { .compatible = "fsl,mpc8548-guts", }, 376 { .compatible = "fsl,mpc8548-guts", },
377 { .compatible = "gpio-leds", },
378 {},
379};
380
381static struct of_device_id p1021_ids[] = {
382 { .type = "soc", },
383 { .compatible = "soc", },
384 { .compatible = "simple-bus", },
385 { .type = "qe", },
386 { .compatible = "fsl,qe", },
387 { .compatible = "gianfar", },
305 {}, 388 {},
306}; 389};
307 390
308static int __init mpc85xx_publish_devices(void) 391static int __init mpc85xx_publish_devices(void)
309{ 392{
393 if (machine_is(mpc8568_mds))
394 simple_gpiochip_init("fsl,mpc8568mds-bcsr-gpio");
310 if (machine_is(mpc8569_mds)) 395 if (machine_is(mpc8569_mds))
311 simple_gpiochip_init("fsl,mpc8569mds-bcsr-gpio"); 396 simple_gpiochip_init("fsl,mpc8569mds-bcsr-gpio");
312 397
@@ -315,11 +400,22 @@ static int __init mpc85xx_publish_devices(void)
315 400
316 return 0; 401 return 0;
317} 402}
403
404static int __init p1021_publish_devices(void)
405{
406 /* Publish the QE devices */
407 of_platform_bus_probe(NULL, p1021_ids, NULL);
408
409 return 0;
410}
411
318machine_device_initcall(mpc8568_mds, mpc85xx_publish_devices); 412machine_device_initcall(mpc8568_mds, mpc85xx_publish_devices);
319machine_device_initcall(mpc8569_mds, mpc85xx_publish_devices); 413machine_device_initcall(mpc8569_mds, mpc85xx_publish_devices);
414machine_device_initcall(p1021_mds, p1021_publish_devices);
320 415
321machine_arch_initcall(mpc8568_mds, swiotlb_setup_bus_notifier); 416machine_arch_initcall(mpc8568_mds, swiotlb_setup_bus_notifier);
322machine_arch_initcall(mpc8569_mds, swiotlb_setup_bus_notifier); 417machine_arch_initcall(mpc8569_mds, swiotlb_setup_bus_notifier);
418machine_arch_initcall(p1021_mds, swiotlb_setup_bus_notifier);
323 419
324static void __init mpc85xx_mds_pic_init(void) 420static void __init mpc85xx_mds_pic_init(void)
325{ 421{
@@ -338,7 +434,8 @@ static void __init mpc85xx_mds_pic_init(void)
338 } 434 }
339 435
340 mpic = mpic_alloc(np, r.start, 436 mpic = mpic_alloc(np, r.start,
341 MPIC_PRIMARY | MPIC_WANTS_RESET | MPIC_BIG_ENDIAN, 437 MPIC_PRIMARY | MPIC_WANTS_RESET | MPIC_BIG_ENDIAN |
438 MPIC_BROKEN_FRR_NIRQS | MPIC_SINGLE_DEST_CPU,
342 0, 256, " OpenPIC "); 439 0, 256, " OpenPIC ");
343 BUG_ON(mpic == NULL); 440 BUG_ON(mpic == NULL);
344 of_node_put(np); 441 of_node_put(np);
@@ -352,7 +449,11 @@ static void __init mpc85xx_mds_pic_init(void)
352 if (!np) 449 if (!np)
353 return; 450 return;
354 } 451 }
355 qe_ic_init(np, 0, qe_ic_cascade_muxed_mpic, NULL); 452 if (machine_is(p1021_mds))
453 qe_ic_init(np, 0, qe_ic_cascade_low_mpic,
454 qe_ic_cascade_high_mpic);
455 else
456 qe_ic_init(np, 0, qe_ic_cascade_muxed_mpic, NULL);
356 of_node_put(np); 457 of_node_put(np);
357#endif /* CONFIG_QUICC_ENGINE */ 458#endif /* CONFIG_QUICC_ENGINE */
358} 459}
@@ -398,3 +499,26 @@ define_machine(mpc8569_mds) {
398 .pcibios_fixup_bus = fsl_pcibios_fixup_bus, 499 .pcibios_fixup_bus = fsl_pcibios_fixup_bus,
399#endif 500#endif
400}; 501};
502
503static int __init p1021_mds_probe(void)
504{
505 unsigned long root = of_get_flat_dt_root();
506
507 return of_flat_dt_is_compatible(root, "fsl,P1021MDS");
508
509}
510
511define_machine(p1021_mds) {
512 .name = "P1021 MDS",
513 .probe = p1021_mds_probe,
514 .setup_arch = mpc85xx_mds_setup_arch,
515 .init_IRQ = mpc85xx_mds_pic_init,
516 .get_irq = mpic_get_irq,
517 .restart = fsl_rstcr_restart,
518 .calibrate_decr = generic_calibrate_decr,
519 .progress = udbg_progress,
520#ifdef CONFIG_PCI
521 .pcibios_fixup_bus = fsl_pcibios_fixup_bus,
522#endif
523};
524
diff --git a/arch/powerpc/platforms/85xx/smp.c b/arch/powerpc/platforms/85xx/smp.c
index 04160a4cc699..a15f582300d8 100644
--- a/arch/powerpc/platforms/85xx/smp.c
+++ b/arch/powerpc/platforms/85xx/smp.c
@@ -46,6 +46,7 @@ smp_85xx_kick_cpu(int nr)
46 __iomem u32 *bptr_vaddr; 46 __iomem u32 *bptr_vaddr;
47 struct device_node *np; 47 struct device_node *np;
48 int n = 0; 48 int n = 0;
49 int ioremappable;
49 50
50 WARN_ON (nr < 0 || nr >= NR_CPUS); 51 WARN_ON (nr < 0 || nr >= NR_CPUS);
51 52
@@ -59,21 +60,37 @@ smp_85xx_kick_cpu(int nr)
59 return; 60 return;
60 } 61 }
61 62
63 /*
64 * A secondary core could be in a spinloop in the bootpage
65 * (0xfffff000), somewhere in highmem, or somewhere in lowmem.
66 * The bootpage and highmem can be accessed via ioremap(), but
67 * we need to directly access the spinloop if its in lowmem.
68 */
69 ioremappable = *cpu_rel_addr > virt_to_phys(high_memory);
70
62 /* Map the spin table */ 71 /* Map the spin table */
63 bptr_vaddr = ioremap(*cpu_rel_addr, SIZE_BOOT_ENTRY); 72 if (ioremappable)
73 bptr_vaddr = ioremap(*cpu_rel_addr, SIZE_BOOT_ENTRY);
74 else
75 bptr_vaddr = phys_to_virt(*cpu_rel_addr);
64 76
65 local_irq_save(flags); 77 local_irq_save(flags);
66 78
67 out_be32(bptr_vaddr + BOOT_ENTRY_PIR, nr); 79 out_be32(bptr_vaddr + BOOT_ENTRY_PIR, nr);
68 out_be32(bptr_vaddr + BOOT_ENTRY_ADDR_LOWER, __pa(__early_start)); 80 out_be32(bptr_vaddr + BOOT_ENTRY_ADDR_LOWER, __pa(__early_start));
69 81
82 if (!ioremappable)
83 flush_dcache_range((ulong)bptr_vaddr,
84 (ulong)(bptr_vaddr + SIZE_BOOT_ENTRY));
85
70 /* Wait a bit for the CPU to ack. */ 86 /* Wait a bit for the CPU to ack. */
71 while ((__secondary_hold_acknowledge != nr) && (++n < 1000)) 87 while ((__secondary_hold_acknowledge != nr) && (++n < 1000))
72 mdelay(1); 88 mdelay(1);
73 89
74 local_irq_restore(flags); 90 local_irq_restore(flags);
75 91
76 iounmap(bptr_vaddr); 92 if (ioremappable)
93 iounmap(bptr_vaddr);
77 94
78 pr_debug("waited %d msecs for CPU #%d.\n", n, nr); 95 pr_debug("waited %d msecs for CPU #%d.\n", n, nr);
79} 96}
diff --git a/arch/powerpc/platforms/85xx/socrates_fpga_pic.c b/arch/powerpc/platforms/85xx/socrates_fpga_pic.c
index e5da5f62b24a..d48527ffc425 100644
--- a/arch/powerpc/platforms/85xx/socrates_fpga_pic.c
+++ b/arch/powerpc/platforms/85xx/socrates_fpga_pic.c
@@ -50,7 +50,7 @@ static struct socrates_fpga_irq_info fpga_irqs[SOCRATES_FPGA_NUM_IRQS] = {
50 50
51#define socrates_fpga_irq_to_hw(virq) ((unsigned int)irq_map[virq].hwirq) 51#define socrates_fpga_irq_to_hw(virq) ((unsigned int)irq_map[virq].hwirq)
52 52
53static DEFINE_SPINLOCK(socrates_fpga_pic_lock); 53static DEFINE_RAW_SPINLOCK(socrates_fpga_pic_lock);
54 54
55static void __iomem *socrates_fpga_pic_iobase; 55static void __iomem *socrates_fpga_pic_iobase;
56static struct irq_host *socrates_fpga_pic_irq_host; 56static struct irq_host *socrates_fpga_pic_irq_host;
@@ -80,9 +80,9 @@ static inline unsigned int socrates_fpga_pic_get_irq(unsigned int irq)
80 if (i == 3) 80 if (i == 3)
81 return NO_IRQ; 81 return NO_IRQ;
82 82
83 spin_lock_irqsave(&socrates_fpga_pic_lock, flags); 83 raw_spin_lock_irqsave(&socrates_fpga_pic_lock, flags);
84 cause = socrates_fpga_pic_read(FPGA_PIC_IRQMASK(i)); 84 cause = socrates_fpga_pic_read(FPGA_PIC_IRQMASK(i));
85 spin_unlock_irqrestore(&socrates_fpga_pic_lock, flags); 85 raw_spin_unlock_irqrestore(&socrates_fpga_pic_lock, flags);
86 for (i = SOCRATES_FPGA_NUM_IRQS - 1; i >= 0; i--) { 86 for (i = SOCRATES_FPGA_NUM_IRQS - 1; i >= 0; i--) {
87 if (cause >> (i + 16)) 87 if (cause >> (i + 16))
88 break; 88 break;
@@ -116,12 +116,12 @@ static void socrates_fpga_pic_ack(unsigned int virq)
116 hwirq = socrates_fpga_irq_to_hw(virq); 116 hwirq = socrates_fpga_irq_to_hw(virq);
117 117
118 irq_line = fpga_irqs[hwirq].irq_line; 118 irq_line = fpga_irqs[hwirq].irq_line;
119 spin_lock_irqsave(&socrates_fpga_pic_lock, flags); 119 raw_spin_lock_irqsave(&socrates_fpga_pic_lock, flags);
120 mask = socrates_fpga_pic_read(FPGA_PIC_IRQMASK(irq_line)) 120 mask = socrates_fpga_pic_read(FPGA_PIC_IRQMASK(irq_line))
121 & SOCRATES_FPGA_IRQ_MASK; 121 & SOCRATES_FPGA_IRQ_MASK;
122 mask |= (1 << (hwirq + 16)); 122 mask |= (1 << (hwirq + 16));
123 socrates_fpga_pic_write(FPGA_PIC_IRQMASK(irq_line), mask); 123 socrates_fpga_pic_write(FPGA_PIC_IRQMASK(irq_line), mask);
124 spin_unlock_irqrestore(&socrates_fpga_pic_lock, flags); 124 raw_spin_unlock_irqrestore(&socrates_fpga_pic_lock, flags);
125} 125}
126 126
127static void socrates_fpga_pic_mask(unsigned int virq) 127static void socrates_fpga_pic_mask(unsigned int virq)
@@ -134,12 +134,12 @@ static void socrates_fpga_pic_mask(unsigned int virq)
134 hwirq = socrates_fpga_irq_to_hw(virq); 134 hwirq = socrates_fpga_irq_to_hw(virq);
135 135
136 irq_line = fpga_irqs[hwirq].irq_line; 136 irq_line = fpga_irqs[hwirq].irq_line;
137 spin_lock_irqsave(&socrates_fpga_pic_lock, flags); 137 raw_spin_lock_irqsave(&socrates_fpga_pic_lock, flags);
138 mask = socrates_fpga_pic_read(FPGA_PIC_IRQMASK(irq_line)) 138 mask = socrates_fpga_pic_read(FPGA_PIC_IRQMASK(irq_line))
139 & SOCRATES_FPGA_IRQ_MASK; 139 & SOCRATES_FPGA_IRQ_MASK;
140 mask &= ~(1 << hwirq); 140 mask &= ~(1 << hwirq);
141 socrates_fpga_pic_write(FPGA_PIC_IRQMASK(irq_line), mask); 141 socrates_fpga_pic_write(FPGA_PIC_IRQMASK(irq_line), mask);
142 spin_unlock_irqrestore(&socrates_fpga_pic_lock, flags); 142 raw_spin_unlock_irqrestore(&socrates_fpga_pic_lock, flags);
143} 143}
144 144
145static void socrates_fpga_pic_mask_ack(unsigned int virq) 145static void socrates_fpga_pic_mask_ack(unsigned int virq)
@@ -152,13 +152,13 @@ static void socrates_fpga_pic_mask_ack(unsigned int virq)
152 hwirq = socrates_fpga_irq_to_hw(virq); 152 hwirq = socrates_fpga_irq_to_hw(virq);
153 153
154 irq_line = fpga_irqs[hwirq].irq_line; 154 irq_line = fpga_irqs[hwirq].irq_line;
155 spin_lock_irqsave(&socrates_fpga_pic_lock, flags); 155 raw_spin_lock_irqsave(&socrates_fpga_pic_lock, flags);
156 mask = socrates_fpga_pic_read(FPGA_PIC_IRQMASK(irq_line)) 156 mask = socrates_fpga_pic_read(FPGA_PIC_IRQMASK(irq_line))
157 & SOCRATES_FPGA_IRQ_MASK; 157 & SOCRATES_FPGA_IRQ_MASK;
158 mask &= ~(1 << hwirq); 158 mask &= ~(1 << hwirq);
159 mask |= (1 << (hwirq + 16)); 159 mask |= (1 << (hwirq + 16));
160 socrates_fpga_pic_write(FPGA_PIC_IRQMASK(irq_line), mask); 160 socrates_fpga_pic_write(FPGA_PIC_IRQMASK(irq_line), mask);
161 spin_unlock_irqrestore(&socrates_fpga_pic_lock, flags); 161 raw_spin_unlock_irqrestore(&socrates_fpga_pic_lock, flags);
162} 162}
163 163
164static void socrates_fpga_pic_unmask(unsigned int virq) 164static void socrates_fpga_pic_unmask(unsigned int virq)
@@ -171,12 +171,12 @@ static void socrates_fpga_pic_unmask(unsigned int virq)
171 hwirq = socrates_fpga_irq_to_hw(virq); 171 hwirq = socrates_fpga_irq_to_hw(virq);
172 172
173 irq_line = fpga_irqs[hwirq].irq_line; 173 irq_line = fpga_irqs[hwirq].irq_line;
174 spin_lock_irqsave(&socrates_fpga_pic_lock, flags); 174 raw_spin_lock_irqsave(&socrates_fpga_pic_lock, flags);
175 mask = socrates_fpga_pic_read(FPGA_PIC_IRQMASK(irq_line)) 175 mask = socrates_fpga_pic_read(FPGA_PIC_IRQMASK(irq_line))
176 & SOCRATES_FPGA_IRQ_MASK; 176 & SOCRATES_FPGA_IRQ_MASK;
177 mask |= (1 << hwirq); 177 mask |= (1 << hwirq);
178 socrates_fpga_pic_write(FPGA_PIC_IRQMASK(irq_line), mask); 178 socrates_fpga_pic_write(FPGA_PIC_IRQMASK(irq_line), mask);
179 spin_unlock_irqrestore(&socrates_fpga_pic_lock, flags); 179 raw_spin_unlock_irqrestore(&socrates_fpga_pic_lock, flags);
180} 180}
181 181
182static void socrates_fpga_pic_eoi(unsigned int virq) 182static void socrates_fpga_pic_eoi(unsigned int virq)
@@ -189,12 +189,12 @@ static void socrates_fpga_pic_eoi(unsigned int virq)
189 hwirq = socrates_fpga_irq_to_hw(virq); 189 hwirq = socrates_fpga_irq_to_hw(virq);
190 190
191 irq_line = fpga_irqs[hwirq].irq_line; 191 irq_line = fpga_irqs[hwirq].irq_line;
192 spin_lock_irqsave(&socrates_fpga_pic_lock, flags); 192 raw_spin_lock_irqsave(&socrates_fpga_pic_lock, flags);
193 mask = socrates_fpga_pic_read(FPGA_PIC_IRQMASK(irq_line)) 193 mask = socrates_fpga_pic_read(FPGA_PIC_IRQMASK(irq_line))
194 & SOCRATES_FPGA_IRQ_MASK; 194 & SOCRATES_FPGA_IRQ_MASK;
195 mask |= (1 << (hwirq + 16)); 195 mask |= (1 << (hwirq + 16));
196 socrates_fpga_pic_write(FPGA_PIC_IRQMASK(irq_line), mask); 196 socrates_fpga_pic_write(FPGA_PIC_IRQMASK(irq_line), mask);
197 spin_unlock_irqrestore(&socrates_fpga_pic_lock, flags); 197 raw_spin_unlock_irqrestore(&socrates_fpga_pic_lock, flags);
198} 198}
199 199
200static int socrates_fpga_pic_set_type(unsigned int virq, 200static int socrates_fpga_pic_set_type(unsigned int virq,
@@ -220,19 +220,19 @@ static int socrates_fpga_pic_set_type(unsigned int virq,
220 default: 220 default:
221 return -EINVAL; 221 return -EINVAL;
222 } 222 }
223 spin_lock_irqsave(&socrates_fpga_pic_lock, flags); 223 raw_spin_lock_irqsave(&socrates_fpga_pic_lock, flags);
224 mask = socrates_fpga_pic_read(FPGA_PIC_IRQCFG); 224 mask = socrates_fpga_pic_read(FPGA_PIC_IRQCFG);
225 if (polarity) 225 if (polarity)
226 mask |= (1 << hwirq); 226 mask |= (1 << hwirq);
227 else 227 else
228 mask &= ~(1 << hwirq); 228 mask &= ~(1 << hwirq);
229 socrates_fpga_pic_write(FPGA_PIC_IRQCFG, mask); 229 socrates_fpga_pic_write(FPGA_PIC_IRQCFG, mask);
230 spin_unlock_irqrestore(&socrates_fpga_pic_lock, flags); 230 raw_spin_unlock_irqrestore(&socrates_fpga_pic_lock, flags);
231 return 0; 231 return 0;
232} 232}
233 233
234static struct irq_chip socrates_fpga_pic_chip = { 234static struct irq_chip socrates_fpga_pic_chip = {
235 .name = " FPGA-PIC ", 235 .name = "FPGA-PIC",
236 .ack = socrates_fpga_pic_ack, 236 .ack = socrates_fpga_pic_ack,
237 .mask = socrates_fpga_pic_mask, 237 .mask = socrates_fpga_pic_mask,
238 .mask_ack = socrates_fpga_pic_mask_ack, 238 .mask_ack = socrates_fpga_pic_mask_ack,
@@ -314,14 +314,14 @@ void socrates_fpga_pic_init(struct device_node *pic)
314 314
315 socrates_fpga_pic_iobase = of_iomap(pic, 0); 315 socrates_fpga_pic_iobase = of_iomap(pic, 0);
316 316
317 spin_lock_irqsave(&socrates_fpga_pic_lock, flags); 317 raw_spin_lock_irqsave(&socrates_fpga_pic_lock, flags);
318 socrates_fpga_pic_write(FPGA_PIC_IRQMASK(0), 318 socrates_fpga_pic_write(FPGA_PIC_IRQMASK(0),
319 SOCRATES_FPGA_IRQ_MASK << 16); 319 SOCRATES_FPGA_IRQ_MASK << 16);
320 socrates_fpga_pic_write(FPGA_PIC_IRQMASK(1), 320 socrates_fpga_pic_write(FPGA_PIC_IRQMASK(1),
321 SOCRATES_FPGA_IRQ_MASK << 16); 321 SOCRATES_FPGA_IRQ_MASK << 16);
322 socrates_fpga_pic_write(FPGA_PIC_IRQMASK(2), 322 socrates_fpga_pic_write(FPGA_PIC_IRQMASK(2),
323 SOCRATES_FPGA_IRQ_MASK << 16); 323 SOCRATES_FPGA_IRQ_MASK << 16);
324 spin_unlock_irqrestore(&socrates_fpga_pic_lock, flags); 324 raw_spin_unlock_irqrestore(&socrates_fpga_pic_lock, flags);
325 325
326 pr_info("FPGA PIC: Setting up Socrates FPGA PIC\n"); 326 pr_info("FPGA PIC: Setting up Socrates FPGA PIC\n");
327} 327}
diff --git a/arch/powerpc/platforms/85xx/stx_gp3.c b/arch/powerpc/platforms/85xx/stx_gp3.c
index f559918f3c6f..bc33d1859ae7 100644
--- a/arch/powerpc/platforms/85xx/stx_gp3.c
+++ b/arch/powerpc/platforms/85xx/stx_gp3.c
@@ -134,7 +134,7 @@ static void stx_gp3_show_cpuinfo(struct seq_file *m)
134 pvid = mfspr(SPRN_PVR); 134 pvid = mfspr(SPRN_PVR);
135 svid = mfspr(SPRN_SVR); 135 svid = mfspr(SPRN_SVR);
136 136
137 seq_printf(m, "Vendor\t\t: RPC Electronics STx \n"); 137 seq_printf(m, "Vendor\t\t: RPC Electronics STx\n");
138 seq_printf(m, "PVR\t\t: 0x%x\n", pvid); 138 seq_printf(m, "PVR\t\t: 0x%x\n", pvid);
139 seq_printf(m, "SVR\t\t: 0x%x\n", svid); 139 seq_printf(m, "SVR\t\t: 0x%x\n", svid);
140 140
diff --git a/arch/powerpc/platforms/85xx/xes_mpc85xx.c b/arch/powerpc/platforms/85xx/xes_mpc85xx.c
index 1b426050a2f9..0125604d096e 100644
--- a/arch/powerpc/platforms/85xx/xes_mpc85xx.c
+++ b/arch/powerpc/platforms/85xx/xes_mpc85xx.c
@@ -80,8 +80,8 @@ static void xes_mpc85xx_configure_l2(void __iomem *l2_base)
80 printk(KERN_INFO "xes_mpc85xx: Enabling L2 as cache\n"); 80 printk(KERN_INFO "xes_mpc85xx: Enabling L2 as cache\n");
81 81
82 ctl = MPC85xx_L2CTL_L2E | MPC85xx_L2CTL_L2I; 82 ctl = MPC85xx_L2CTL_L2E | MPC85xx_L2CTL_L2I;
83 if (machine_is_compatible("MPC8540") || 83 if (of_machine_is_compatible("MPC8540") ||
84 machine_is_compatible("MPC8560")) 84 of_machine_is_compatible("MPC8560"))
85 /* 85 /*
86 * Assume L2 SRAM is used fully for cache, so set 86 * Assume L2 SRAM is used fully for cache, so set
87 * L2BLKSZ (bits 4:5) to match L2SIZ (bits 2:3). 87 * L2BLKSZ (bits 4:5) to match L2SIZ (bits 2:3).
diff --git a/arch/powerpc/platforms/86xx/Kconfig b/arch/powerpc/platforms/86xx/Kconfig
index 2bbfd530d6d8..a0b5638c5dc8 100644
--- a/arch/powerpc/platforms/86xx/Kconfig
+++ b/arch/powerpc/platforms/86xx/Kconfig
@@ -13,7 +13,7 @@ config MPC8641_HPCN
13 bool "Freescale MPC8641 HPCN" 13 bool "Freescale MPC8641 HPCN"
14 select PPC_I8259 14 select PPC_I8259
15 select DEFAULT_UIMAGE 15 select DEFAULT_UIMAGE
16 select FSL_ULI1575 16 select FSL_ULI1575 if PCI
17 select HAS_RAPIDIO 17 select HAS_RAPIDIO
18 select SWIOTLB 18 select SWIOTLB
19 help 19 help
@@ -28,37 +28,37 @@ 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
35config GEF_PPC9A 35config GEF_PPC9A
36 bool "GE Fanuc PPC9A" 36 bool "GE PPC9A"
37 select DEFAULT_UIMAGE 37 select DEFAULT_UIMAGE
38 select MMIO_NVRAM 38 select MMIO_NVRAM
39 select GENERIC_GPIO 39 select GENERIC_GPIO
40 select ARCH_REQUIRE_GPIOLIB 40 select ARCH_REQUIRE_GPIOLIB
41 help 41 help
42 This option enables support for GE Fanuc's PPC9A. 42 This option enables support for the GE PPC9A.
43 43
44config GEF_SBC310 44config GEF_SBC310
45 bool "GE Fanuc SBC310" 45 bool "GE SBC310"
46 select DEFAULT_UIMAGE 46 select DEFAULT_UIMAGE
47 select MMIO_NVRAM 47 select MMIO_NVRAM
48 select GENERIC_GPIO 48 select GENERIC_GPIO
49 select ARCH_REQUIRE_GPIOLIB 49 select ARCH_REQUIRE_GPIOLIB
50 help 50 help
51 This option enables support for GE Fanuc's SBC310. 51 This option enables support for the GE SBC310.
52 52
53config GEF_SBC610 53config GEF_SBC610
54 bool "GE Fanuc SBC610" 54 bool "GE SBC610"
55 select DEFAULT_UIMAGE 55 select DEFAULT_UIMAGE
56 select MMIO_NVRAM 56 select MMIO_NVRAM
57 select GENERIC_GPIO 57 select GENERIC_GPIO
58 select ARCH_REQUIRE_GPIOLIB 58 select ARCH_REQUIRE_GPIOLIB
59 select HAS_RAPIDIO 59 select HAS_RAPIDIO
60 help 60 help
61 This option enables support for GE Fanuc's SBC610. 61 This option enables support for the GE SBC610.
62 62
63endif 63endif
64 64
diff --git a/arch/powerpc/platforms/86xx/gef_gpio.c b/arch/powerpc/platforms/86xx/gef_gpio.c
index b2ea8875adba..b8cb08dbd89c 100644
--- a/arch/powerpc/platforms/86xx/gef_gpio.c
+++ b/arch/powerpc/platforms/86xx/gef_gpio.c
@@ -1,9 +1,9 @@
1/* 1/*
2 * Driver for GE Fanuc's FPGA based GPIO pins 2 * Driver for GE FPGA based GPIO
3 * 3 *
4 * Author: Martyn Welch <martyn.welch@gefanuc.com> 4 * Author: Martyn Welch <martyn.welch@ge.com>
5 * 5 *
6 * 2008 (c) GE Fanuc Intelligent Platforms Embedded Systems, Inc. 6 * 2008 (c) GE Intelligent Platforms Embedded Systems, Inc.
7 * 7 *
8 * This file is licensed under the terms of the GNU General Public License 8 * This file is licensed under the terms of the GNU General Public License
9 * version 2. This program is licensed "as is" without any warranty of any 9 * version 2. This program is licensed "as is" without any warranty of any
@@ -26,6 +26,7 @@
26#include <linux/of_platform.h> 26#include <linux/of_platform.h>
27#include <linux/of_gpio.h> 27#include <linux/of_gpio.h>
28#include <linux/gpio.h> 28#include <linux/gpio.h>
29#include <linux/slab.h>
29 30
30#define GEF_GPIO_DIRECT 0x00 31#define GEF_GPIO_DIRECT 0x00
31#define GEF_GPIO_IN 0x04 32#define GEF_GPIO_IN 0x04
@@ -164,6 +165,6 @@ static int __init gef_gpio_init(void)
164}; 165};
165arch_initcall(gef_gpio_init); 166arch_initcall(gef_gpio_init);
166 167
167MODULE_DESCRIPTION("GE Fanuc I/O FPGA GPIO driver"); 168MODULE_DESCRIPTION("GE I/O FPGA GPIO driver");
168MODULE_AUTHOR("Martyn Welch <martyn.welch@gefanuc.com"); 169MODULE_AUTHOR("Martyn Welch <martyn.welch@ge.com");
169MODULE_LICENSE("GPL"); 170MODULE_LICENSE("GPL");
diff --git a/arch/powerpc/platforms/86xx/gef_pic.c b/arch/powerpc/platforms/86xx/gef_pic.c
index 0110a8736d33..6df9e2561c06 100644
--- a/arch/powerpc/platforms/86xx/gef_pic.c
+++ b/arch/powerpc/platforms/86xx/gef_pic.c
@@ -1,9 +1,9 @@
1/* 1/*
2 * Interrupt handling for GE Fanuc's FPGA based PIC 2 * Interrupt handling for GE FPGA based PIC
3 * 3 *
4 * Author: Martyn Welch <martyn.welch@gefanuc.com> 4 * Author: Martyn Welch <martyn.welch@ge.com>
5 * 5 *
6 * 2008 (c) GE Fanuc Intelligent Platforms Embedded Systems, Inc. 6 * 2008 (c) GE Intelligent Platforms Embedded Systems, Inc.
7 * 7 *
8 * This file is licensed under the terms of the GNU General Public License 8 * This file is licensed under the terms of the GNU General Public License
9 * version 2. This program is licensed "as is" without any warranty of any 9 * version 2. This program is licensed "as is" without any warranty of any
@@ -49,7 +49,7 @@
49#define gef_irq_to_hw(virq) ((unsigned int)irq_map[virq].hwirq) 49#define gef_irq_to_hw(virq) ((unsigned int)irq_map[virq].hwirq)
50 50
51 51
52static DEFINE_SPINLOCK(gef_pic_lock); 52static DEFINE_RAW_SPINLOCK(gef_pic_lock);
53 53
54static void __iomem *gef_pic_irq_reg_base; 54static void __iomem *gef_pic_irq_reg_base;
55static struct irq_host *gef_pic_irq_host; 55static struct irq_host *gef_pic_irq_host;
@@ -118,11 +118,11 @@ static void gef_pic_mask(unsigned int virq)
118 118
119 hwirq = gef_irq_to_hw(virq); 119 hwirq = gef_irq_to_hw(virq);
120 120
121 spin_lock_irqsave(&gef_pic_lock, flags); 121 raw_spin_lock_irqsave(&gef_pic_lock, flags);
122 mask = in_be32(gef_pic_irq_reg_base + GEF_PIC_INTR_MASK(0)); 122 mask = in_be32(gef_pic_irq_reg_base + GEF_PIC_INTR_MASK(0));
123 mask &= ~(1 << hwirq); 123 mask &= ~(1 << hwirq);
124 out_be32(gef_pic_irq_reg_base + GEF_PIC_INTR_MASK(0), mask); 124 out_be32(gef_pic_irq_reg_base + GEF_PIC_INTR_MASK(0), mask);
125 spin_unlock_irqrestore(&gef_pic_lock, flags); 125 raw_spin_unlock_irqrestore(&gef_pic_lock, flags);
126} 126}
127 127
128static void gef_pic_mask_ack(unsigned int virq) 128static void gef_pic_mask_ack(unsigned int virq)
@@ -141,11 +141,11 @@ static void gef_pic_unmask(unsigned int virq)
141 141
142 hwirq = gef_irq_to_hw(virq); 142 hwirq = gef_irq_to_hw(virq);
143 143
144 spin_lock_irqsave(&gef_pic_lock, flags); 144 raw_spin_lock_irqsave(&gef_pic_lock, flags);
145 mask = in_be32(gef_pic_irq_reg_base + GEF_PIC_INTR_MASK(0)); 145 mask = in_be32(gef_pic_irq_reg_base + GEF_PIC_INTR_MASK(0));
146 mask |= (1 << hwirq); 146 mask |= (1 << hwirq);
147 out_be32(gef_pic_irq_reg_base + GEF_PIC_INTR_MASK(0), mask); 147 out_be32(gef_pic_irq_reg_base + GEF_PIC_INTR_MASK(0), mask);
148 spin_unlock_irqrestore(&gef_pic_lock, flags); 148 raw_spin_unlock_irqrestore(&gef_pic_lock, flags);
149} 149}
150 150
151static struct irq_chip gef_pic_chip = { 151static struct irq_chip gef_pic_chip = {
@@ -199,7 +199,7 @@ void __init gef_pic_init(struct device_node *np)
199 /* Map the devices registers into memory */ 199 /* Map the devices registers into memory */
200 gef_pic_irq_reg_base = of_iomap(np, 0); 200 gef_pic_irq_reg_base = of_iomap(np, 0);
201 201
202 spin_lock_irqsave(&gef_pic_lock, flags); 202 raw_spin_lock_irqsave(&gef_pic_lock, flags);
203 203
204 /* Initialise everything as masked. */ 204 /* Initialise everything as masked. */
205 out_be32(gef_pic_irq_reg_base + GEF_PIC_CPU0_INTR_MASK, 0); 205 out_be32(gef_pic_irq_reg_base + GEF_PIC_CPU0_INTR_MASK, 0);
@@ -208,7 +208,7 @@ void __init gef_pic_init(struct device_node *np)
208 out_be32(gef_pic_irq_reg_base + GEF_PIC_CPU0_MCP_MASK, 0); 208 out_be32(gef_pic_irq_reg_base + GEF_PIC_CPU0_MCP_MASK, 0);
209 out_be32(gef_pic_irq_reg_base + GEF_PIC_CPU1_MCP_MASK, 0); 209 out_be32(gef_pic_irq_reg_base + GEF_PIC_CPU1_MCP_MASK, 0);
210 210
211 spin_unlock_irqrestore(&gef_pic_lock, flags); 211 raw_spin_unlock_irqrestore(&gef_pic_lock, flags);
212 212
213 /* Map controller */ 213 /* Map controller */
214 gef_pic_cascade_irq = irq_of_parse_and_map(np, 0); 214 gef_pic_cascade_irq = irq_of_parse_and_map(np, 0);
diff --git a/arch/powerpc/platforms/86xx/gef_ppc9a.c b/arch/powerpc/platforms/86xx/gef_ppc9a.c
index a792e5d85813..60ce07e39100 100644
--- a/arch/powerpc/platforms/86xx/gef_ppc9a.c
+++ b/arch/powerpc/platforms/86xx/gef_ppc9a.c
@@ -1,9 +1,9 @@
1/* 1/*
2 * GE Fanuc PPC9A board support 2 * GE PPC9A board support
3 * 3 *
4 * Author: Martyn Welch <martyn.welch@gefanuc.com> 4 * Author: Martyn Welch <martyn.welch@ge.com>
5 * 5 *
6 * Copyright 2008 GE Fanuc Intelligent Platforms Embedded Systems, Inc. 6 * Copyright 2008 GE Intelligent Platforms Embedded Systems, Inc.
7 * 7 *
8 * This program is free software; you can redistribute it and/or modify it 8 * This program is free software; you can redistribute it and/or modify it
9 * under the terms of the GNU General Public License as published by the 9 * under the terms of the GNU General Public License as published by the
@@ -82,7 +82,7 @@ static void __init gef_ppc9a_setup_arch(void)
82 } 82 }
83#endif 83#endif
84 84
85 printk(KERN_INFO "GE Fanuc Intelligent Platforms PPC9A 6U VME SBC\n"); 85 printk(KERN_INFO "GE Intelligent Platforms PPC9A 6U VME SBC\n");
86 86
87#ifdef CONFIG_SMP 87#ifdef CONFIG_SMP
88 mpc86xx_smp_init(); 88 mpc86xx_smp_init();
@@ -151,7 +151,7 @@ static void gef_ppc9a_show_cpuinfo(struct seq_file *m)
151{ 151{
152 uint svid = mfspr(SPRN_SVR); 152 uint svid = mfspr(SPRN_SVR);
153 153
154 seq_printf(m, "Vendor\t\t: GE Fanuc Intelligent Platforms\n"); 154 seq_printf(m, "Vendor\t\t: GE Intelligent Platforms\n");
155 155
156 seq_printf(m, "Revision\t: %u%c\n", gef_ppc9a_get_pcb_rev(), 156 seq_printf(m, "Revision\t: %u%c\n", gef_ppc9a_get_pcb_rev(),
157 ('A' + gef_ppc9a_get_board_rev())); 157 ('A' + gef_ppc9a_get_board_rev()));
@@ -235,7 +235,7 @@ static int __init declare_of_platform_devices(void)
235machine_device_initcall(gef_ppc9a, declare_of_platform_devices); 235machine_device_initcall(gef_ppc9a, declare_of_platform_devices);
236 236
237define_machine(gef_ppc9a) { 237define_machine(gef_ppc9a) {
238 .name = "GE Fanuc PPC9A", 238 .name = "GE PPC9A",
239 .probe = gef_ppc9a_probe, 239 .probe = gef_ppc9a_probe,
240 .setup_arch = gef_ppc9a_setup_arch, 240 .setup_arch = gef_ppc9a_setup_arch,
241 .init_IRQ = gef_ppc9a_init_irq, 241 .init_IRQ = gef_ppc9a_init_irq,
diff --git a/arch/powerpc/platforms/86xx/gef_sbc310.c b/arch/powerpc/platforms/86xx/gef_sbc310.c
index 6a1a613836c2..3ecee25bf3ed 100644
--- a/arch/powerpc/platforms/86xx/gef_sbc310.c
+++ b/arch/powerpc/platforms/86xx/gef_sbc310.c
@@ -1,9 +1,9 @@
1/* 1/*
2 * GE Fanuc SBC310 board support 2 * GE SBC310 board support
3 * 3 *
4 * Author: Martyn Welch <martyn.welch@gefanuc.com> 4 * Author: Martyn Welch <martyn.welch@ge.com>
5 * 5 *
6 * Copyright 2008 GE Fanuc Intelligent Platforms Embedded Systems, Inc. 6 * Copyright 2008 GE Intelligent Platforms Embedded Systems, Inc.
7 * 7 *
8 * This program is free software; you can redistribute it and/or modify it 8 * This program is free software; you can redistribute it and/or modify it
9 * under the terms of the GNU General Public License as published by the 9 * under the terms of the GNU General Public License as published by the
@@ -82,7 +82,7 @@ static void __init gef_sbc310_setup_arch(void)
82 } 82 }
83#endif 83#endif
84 84
85 printk(KERN_INFO "GE Fanuc Intelligent Platforms SBC310 6U VPX SBC\n"); 85 printk(KERN_INFO "GE Intelligent Platforms SBC310 6U VPX SBC\n");
86 86
87#ifdef CONFIG_SMP 87#ifdef CONFIG_SMP
88 mpc86xx_smp_init(); 88 mpc86xx_smp_init();
@@ -142,7 +142,7 @@ static void gef_sbc310_show_cpuinfo(struct seq_file *m)
142{ 142{
143 uint svid = mfspr(SPRN_SVR); 143 uint svid = mfspr(SPRN_SVR);
144 144
145 seq_printf(m, "Vendor\t\t: GE Fanuc Intelligent Platforms\n"); 145 seq_printf(m, "Vendor\t\t: GE Intelligent Platforms\n");
146 146
147 seq_printf(m, "Board ID\t: 0x%2.2x\n", gef_sbc310_get_board_id()); 147 seq_printf(m, "Board ID\t: 0x%2.2x\n", gef_sbc310_get_board_id());
148 seq_printf(m, "Revision\t: %u%c\n", gef_sbc310_get_pcb_rev(), 148 seq_printf(m, "Revision\t: %u%c\n", gef_sbc310_get_pcb_rev(),
@@ -223,7 +223,7 @@ static int __init declare_of_platform_devices(void)
223machine_device_initcall(gef_sbc310, declare_of_platform_devices); 223machine_device_initcall(gef_sbc310, declare_of_platform_devices);
224 224
225define_machine(gef_sbc310) { 225define_machine(gef_sbc310) {
226 .name = "GE Fanuc SBC310", 226 .name = "GE SBC310",
227 .probe = gef_sbc310_probe, 227 .probe = gef_sbc310_probe,
228 .setup_arch = gef_sbc310_setup_arch, 228 .setup_arch = gef_sbc310_setup_arch,
229 .init_IRQ = gef_sbc310_init_irq, 229 .init_IRQ = gef_sbc310_init_irq,
diff --git a/arch/powerpc/platforms/86xx/gef_sbc610.c b/arch/powerpc/platforms/86xx/gef_sbc610.c
index e10688a0fc4e..5090d608d9ee 100644
--- a/arch/powerpc/platforms/86xx/gef_sbc610.c
+++ b/arch/powerpc/platforms/86xx/gef_sbc610.c
@@ -1,9 +1,9 @@
1/* 1/*
2 * GE Fanuc SBC610 board support 2 * GE SBC610 board support
3 * 3 *
4 * Author: Martyn Welch <martyn.welch@gefanuc.com> 4 * Author: Martyn Welch <martyn.welch@ge.com>
5 * 5 *
6 * Copyright 2008 GE Fanuc Intelligent Platforms Embedded Systems, Inc. 6 * Copyright 2008 GE Intelligent Platforms Embedded Systems, Inc.
7 * 7 *
8 * This program is free software; you can redistribute it and/or modify it 8 * This program is free software; you can redistribute it and/or modify it
9 * under the terms of the GNU General Public License as published by the 9 * under the terms of the GNU General Public License as published by the
@@ -82,7 +82,7 @@ static void __init gef_sbc610_setup_arch(void)
82 } 82 }
83#endif 83#endif
84 84
85 printk(KERN_INFO "GE Fanuc Intelligent Platforms SBC610 6U VPX SBC\n"); 85 printk(KERN_INFO "GE Intelligent Platforms SBC610 6U VPX SBC\n");
86 86
87#ifdef CONFIG_SMP 87#ifdef CONFIG_SMP
88 mpc86xx_smp_init(); 88 mpc86xx_smp_init();
@@ -133,7 +133,7 @@ static void gef_sbc610_show_cpuinfo(struct seq_file *m)
133{ 133{
134 uint svid = mfspr(SPRN_SVR); 134 uint svid = mfspr(SPRN_SVR);
135 135
136 seq_printf(m, "Vendor\t\t: GE Fanuc Intelligent Platforms\n"); 136 seq_printf(m, "Vendor\t\t: GE Intelligent Platforms\n");
137 137
138 seq_printf(m, "Revision\t: %u%c\n", gef_sbc610_get_pcb_rev(), 138 seq_printf(m, "Revision\t: %u%c\n", gef_sbc610_get_pcb_rev(),
139 ('A' + gef_sbc610_get_board_rev() - 1)); 139 ('A' + gef_sbc610_get_board_rev() - 1));
@@ -212,7 +212,7 @@ static int __init declare_of_platform_devices(void)
212machine_device_initcall(gef_sbc610, declare_of_platform_devices); 212machine_device_initcall(gef_sbc610, declare_of_platform_devices);
213 213
214define_machine(gef_sbc610) { 214define_machine(gef_sbc610) {
215 .name = "GE Fanuc SBC610", 215 .name = "GE SBC610",
216 .probe = gef_sbc610_probe, 216 .probe = gef_sbc610_probe,
217 .setup_arch = gef_sbc610_setup_arch, 217 .setup_arch = gef_sbc610_setup_arch,
218 .init_IRQ = gef_sbc610_init_irq, 218 .init_IRQ = gef_sbc610_init_irq,
diff --git a/arch/powerpc/platforms/86xx/mpc8610_hpcd.c b/arch/powerpc/platforms/86xx/mpc8610_hpcd.c
index 5abe137f6309..018cc67be426 100644
--- a/arch/powerpc/platforms/86xx/mpc8610_hpcd.c
+++ b/arch/powerpc/platforms/86xx/mpc8610_hpcd.c
@@ -83,7 +83,8 @@ static struct of_device_id __initdata mpc8610_ids[] = {
83 { .compatible = "fsl,mpc8610-immr", }, 83 { .compatible = "fsl,mpc8610-immr", },
84 { .compatible = "fsl,mpc8610-guts", }, 84 { .compatible = "fsl,mpc8610-guts", },
85 { .compatible = "simple-bus", }, 85 { .compatible = "simple-bus", },
86 { .compatible = "gianfar", }, 86 /* So that the DMA channel nodes can be probed individually: */
87 { .compatible = "fsl,eloplus-dma", },
87 {} 88 {}
88}; 89};
89 90
diff --git a/arch/powerpc/platforms/86xx/mpc86xx_hpcn.c b/arch/powerpc/platforms/86xx/mpc86xx_hpcn.c
index 2aa69a69bcc8..b11c3535f350 100644
--- a/arch/powerpc/platforms/86xx/mpc86xx_hpcn.c
+++ b/arch/powerpc/platforms/86xx/mpc86xx_hpcn.c
@@ -19,7 +19,7 @@
19#include <linux/delay.h> 19#include <linux/delay.h>
20#include <linux/seq_file.h> 20#include <linux/seq_file.h>
21#include <linux/of_platform.h> 21#include <linux/of_platform.h>
22#include <linux/lmb.h> 22#include <linux/memblock.h>
23 23
24#include <asm/system.h> 24#include <asm/system.h>
25#include <asm/time.h> 25#include <asm/time.h>
@@ -103,7 +103,7 @@ mpc86xx_hpcn_setup_arch(void)
103#endif 103#endif
104 104
105#ifdef CONFIG_SWIOTLB 105#ifdef CONFIG_SWIOTLB
106 if (lmb_end_of_DRAM() > max) { 106 if (memblock_end_of_DRAM() > max) {
107 ppc_swiotlb_enable = 1; 107 ppc_swiotlb_enable = 1;
108 set_pci_dma_ops(&swiotlb_dma_ops); 108 set_pci_dma_ops(&swiotlb_dma_ops);
109 ppc_md.pci_dma_dev_setup = pci_dma_dev_setup_swiotlb; 109 ppc_md.pci_dma_dev_setup = pci_dma_dev_setup_swiotlb;
diff --git a/arch/powerpc/platforms/8xx/m8xx_setup.c b/arch/powerpc/platforms/8xx/m8xx_setup.c
index 242954c4293f..60168c1f98fe 100644
--- a/arch/powerpc/platforms/8xx/m8xx_setup.c
+++ b/arch/powerpc/platforms/8xx/m8xx_setup.c
@@ -11,7 +11,6 @@
11 */ 11 */
12 12
13#include <linux/kernel.h> 13#include <linux/kernel.h>
14#include <linux/slab.h>
15#include <linux/interrupt.h> 14#include <linux/interrupt.h>
16#include <linux/init.h> 15#include <linux/init.h>
17#include <linux/time.h> 16#include <linux/time.h>
diff --git a/arch/powerpc/platforms/Kconfig.cputype b/arch/powerpc/platforms/Kconfig.cputype
index fa0f690d3867..d361f8119b1e 100644
--- a/arch/powerpc/platforms/Kconfig.cputype
+++ b/arch/powerpc/platforms/Kconfig.cputype
@@ -43,7 +43,7 @@ config 40x
43 select PPC_PCI_CHOICE 43 select PPC_PCI_CHOICE
44 44
45config 44x 45config 44x
46 bool "AMCC 44x" 46 bool "AMCC 44x, 46x or 47x"
47 select PPC_DCR_NATIVE 47 select PPC_DCR_NATIVE
48 select PPC_UDBG_16550 48 select PPC_UDBG_16550
49 select 4xx_SOC 49 select 4xx_SOC
@@ -144,6 +144,16 @@ config FSL_EMB_PERFMON
144 and some e300 cores (c3 and c4). Select this only if your 144 and some e300 cores (c3 and c4). Select this only if your
145 core supports the Embedded Performance Monitor APU 145 core supports the Embedded Performance Monitor APU
146 146
147config FSL_EMB_PERF_EVENT
148 bool
149 depends on FSL_EMB_PERFMON && PERF_EVENTS && !PPC_PERF_CTRS
150 default y
151
152config FSL_EMB_PERF_EVENT_E500
153 bool
154 depends on FSL_EMB_PERF_EVENT && E500
155 default y
156
147config 4xx 157config 4xx
148 bool 158 bool
149 depends on 40x || 44x 159 depends on 40x || 44x
@@ -284,7 +294,7 @@ config PPC_PERF_CTRS
284 This enables the powerpc-specific perf_event back-end. 294 This enables the powerpc-specific perf_event back-end.
285 295
286config SMP 296config SMP
287 depends on PPC_BOOK3S || PPC_BOOK3E || FSL_BOOKE 297 depends on PPC_BOOK3S || PPC_BOOK3E || FSL_BOOKE || PPC_47x
288 bool "Symmetric multi-processing support" 298 bool "Symmetric multi-processing support"
289 ---help--- 299 ---help---
290 This enables support for systems with more than one CPU. If you have 300 This enables support for systems with more than one CPU. If you have
@@ -312,6 +322,7 @@ config NR_CPUS
312config NOT_COHERENT_CACHE 322config NOT_COHERENT_CACHE
313 bool 323 bool
314 depends on 4xx || 8xx || E200 || PPC_MPC512x || GAMECUBE_COMMON 324 depends on 4xx || 8xx || E200 || PPC_MPC512x || GAMECUBE_COMMON
325 default n if PPC_47x
315 default y 326 default y
316 327
317config CHECK_CACHE_COHERENCY 328config CHECK_CACHE_COHERENCY
diff --git a/arch/powerpc/platforms/cell/axon_msi.c b/arch/powerpc/platforms/cell/axon_msi.c
index 96fe896f6df3..6257e5378615 100644
--- a/arch/powerpc/platforms/cell/axon_msi.c
+++ b/arch/powerpc/platforms/cell/axon_msi.c
@@ -15,6 +15,7 @@
15#include <linux/msi.h> 15#include <linux/msi.h>
16#include <linux/of_platform.h> 16#include <linux/of_platform.h>
17#include <linux/debugfs.h> 17#include <linux/debugfs.h>
18#include <linux/slab.h>
18 19
19#include <asm/dcr.h> 20#include <asm/dcr.h>
20#include <asm/machdep.h> 21#include <asm/machdep.h>
@@ -344,7 +345,7 @@ static int axon_msi_shutdown(struct of_device *device)
344static int axon_msi_probe(struct of_device *device, 345static int axon_msi_probe(struct of_device *device,
345 const struct of_device_id *device_id) 346 const struct of_device_id *device_id)
346{ 347{
347 struct device_node *dn = device->node; 348 struct device_node *dn = device->dev.of_node;
348 struct axon_msic *msic; 349 struct axon_msic *msic;
349 unsigned int virq; 350 unsigned int virq;
350 int dcr_base, dcr_len; 351 int dcr_base, dcr_len;
@@ -446,11 +447,12 @@ static const struct of_device_id axon_msi_device_id[] = {
446}; 447};
447 448
448static struct of_platform_driver axon_msi_driver = { 449static struct of_platform_driver axon_msi_driver = {
449 .match_table = axon_msi_device_id,
450 .probe = axon_msi_probe, 450 .probe = axon_msi_probe,
451 .shutdown = axon_msi_shutdown, 451 .shutdown = axon_msi_shutdown,
452 .driver = { 452 .driver = {
453 .name = "axon-msi" 453 .name = "axon-msi",
454 .owner = THIS_MODULE,
455 .of_match_table = axon_msi_device_id,
454 }, 456 },
455}; 457};
456 458
diff --git a/arch/powerpc/platforms/cell/beat_htab.c b/arch/powerpc/platforms/cell/beat_htab.c
index 35b1ec492715..2516c1cf8467 100644
--- a/arch/powerpc/platforms/cell/beat_htab.c
+++ b/arch/powerpc/platforms/cell/beat_htab.c
@@ -40,7 +40,7 @@
40#define DBG_LOW(fmt...) do { } while (0) 40#define DBG_LOW(fmt...) do { } while (0)
41#endif 41#endif
42 42
43static DEFINE_SPINLOCK(beat_htab_lock); 43static DEFINE_RAW_SPINLOCK(beat_htab_lock);
44 44
45static inline unsigned int beat_read_mask(unsigned hpte_group) 45static inline unsigned int beat_read_mask(unsigned hpte_group)
46{ 46{
@@ -114,18 +114,18 @@ static long beat_lpar_hpte_insert(unsigned long hpte_group,
114 if (rflags & _PAGE_NO_CACHE) 114 if (rflags & _PAGE_NO_CACHE)
115 hpte_r &= ~_PAGE_COHERENT; 115 hpte_r &= ~_PAGE_COHERENT;
116 116
117 spin_lock(&beat_htab_lock); 117 raw_spin_lock(&beat_htab_lock);
118 lpar_rc = beat_read_mask(hpte_group); 118 lpar_rc = beat_read_mask(hpte_group);
119 if (lpar_rc == 0) { 119 if (lpar_rc == 0) {
120 if (!(vflags & HPTE_V_BOLTED)) 120 if (!(vflags & HPTE_V_BOLTED))
121 DBG_LOW(" full\n"); 121 DBG_LOW(" full\n");
122 spin_unlock(&beat_htab_lock); 122 raw_spin_unlock(&beat_htab_lock);
123 return -1; 123 return -1;
124 } 124 }
125 125
126 lpar_rc = beat_insert_htab_entry(0, hpte_group, lpar_rc << 48, 126 lpar_rc = beat_insert_htab_entry(0, hpte_group, lpar_rc << 48,
127 hpte_v, hpte_r, &slot); 127 hpte_v, hpte_r, &slot);
128 spin_unlock(&beat_htab_lock); 128 raw_spin_unlock(&beat_htab_lock);
129 129
130 /* 130 /*
131 * Since we try and ioremap PHBs we don't own, the pte insert 131 * Since we try and ioremap PHBs we don't own, the pte insert
@@ -198,17 +198,17 @@ static long beat_lpar_hpte_updatepp(unsigned long slot,
198 "avpnv=%016lx, slot=%016lx, psize: %d, newpp %016lx ... ", 198 "avpnv=%016lx, slot=%016lx, psize: %d, newpp %016lx ... ",
199 want_v & HPTE_V_AVPN, slot, psize, newpp); 199 want_v & HPTE_V_AVPN, slot, psize, newpp);
200 200
201 spin_lock(&beat_htab_lock); 201 raw_spin_lock(&beat_htab_lock);
202 dummy0 = beat_lpar_hpte_getword0(slot); 202 dummy0 = beat_lpar_hpte_getword0(slot);
203 if ((dummy0 & ~0x7FUL) != (want_v & ~0x7FUL)) { 203 if ((dummy0 & ~0x7FUL) != (want_v & ~0x7FUL)) {
204 DBG_LOW("not found !\n"); 204 DBG_LOW("not found !\n");
205 spin_unlock(&beat_htab_lock); 205 raw_spin_unlock(&beat_htab_lock);
206 return -1; 206 return -1;
207 } 207 }
208 208
209 lpar_rc = beat_write_htab_entry(0, slot, 0, newpp, 0, 7, &dummy0, 209 lpar_rc = beat_write_htab_entry(0, slot, 0, newpp, 0, 7, &dummy0,
210 &dummy1); 210 &dummy1);
211 spin_unlock(&beat_htab_lock); 211 raw_spin_unlock(&beat_htab_lock);
212 if (lpar_rc != 0 || dummy0 == 0) { 212 if (lpar_rc != 0 || dummy0 == 0) {
213 DBG_LOW("not found !\n"); 213 DBG_LOW("not found !\n");
214 return -1; 214 return -1;
@@ -262,13 +262,13 @@ static void beat_lpar_hpte_updateboltedpp(unsigned long newpp,
262 vsid = get_kernel_vsid(ea, MMU_SEGSIZE_256M); 262 vsid = get_kernel_vsid(ea, MMU_SEGSIZE_256M);
263 va = (vsid << 28) | (ea & 0x0fffffff); 263 va = (vsid << 28) | (ea & 0x0fffffff);
264 264
265 spin_lock(&beat_htab_lock); 265 raw_spin_lock(&beat_htab_lock);
266 slot = beat_lpar_hpte_find(va, psize); 266 slot = beat_lpar_hpte_find(va, psize);
267 BUG_ON(slot == -1); 267 BUG_ON(slot == -1);
268 268
269 lpar_rc = beat_write_htab_entry(0, slot, 0, newpp, 0, 7, 269 lpar_rc = beat_write_htab_entry(0, slot, 0, newpp, 0, 7,
270 &dummy0, &dummy1); 270 &dummy0, &dummy1);
271 spin_unlock(&beat_htab_lock); 271 raw_spin_unlock(&beat_htab_lock);
272 272
273 BUG_ON(lpar_rc != 0); 273 BUG_ON(lpar_rc != 0);
274} 274}
@@ -285,18 +285,18 @@ static void beat_lpar_hpte_invalidate(unsigned long slot, unsigned long va,
285 slot, va, psize, local); 285 slot, va, psize, local);
286 want_v = hpte_encode_v(va, psize, MMU_SEGSIZE_256M); 286 want_v = hpte_encode_v(va, psize, MMU_SEGSIZE_256M);
287 287
288 spin_lock_irqsave(&beat_htab_lock, flags); 288 raw_spin_lock_irqsave(&beat_htab_lock, flags);
289 dummy1 = beat_lpar_hpte_getword0(slot); 289 dummy1 = beat_lpar_hpte_getword0(slot);
290 290
291 if ((dummy1 & ~0x7FUL) != (want_v & ~0x7FUL)) { 291 if ((dummy1 & ~0x7FUL) != (want_v & ~0x7FUL)) {
292 DBG_LOW("not found !\n"); 292 DBG_LOW("not found !\n");
293 spin_unlock_irqrestore(&beat_htab_lock, flags); 293 raw_spin_unlock_irqrestore(&beat_htab_lock, flags);
294 return; 294 return;
295 } 295 }
296 296
297 lpar_rc = beat_write_htab_entry(0, slot, 0, 0, HPTE_V_VALID, 0, 297 lpar_rc = beat_write_htab_entry(0, slot, 0, 0, HPTE_V_VALID, 0,
298 &dummy1, &dummy2); 298 &dummy1, &dummy2);
299 spin_unlock_irqrestore(&beat_htab_lock, flags); 299 raw_spin_unlock_irqrestore(&beat_htab_lock, flags);
300 300
301 BUG_ON(lpar_rc != 0); 301 BUG_ON(lpar_rc != 0);
302} 302}
diff --git a/arch/powerpc/platforms/cell/beat_interrupt.c b/arch/powerpc/platforms/cell/beat_interrupt.c
index 36052a9ebcda..682af97321a8 100644
--- a/arch/powerpc/platforms/cell/beat_interrupt.c
+++ b/arch/powerpc/platforms/cell/beat_interrupt.c
@@ -30,7 +30,7 @@
30#include "beat_wrapper.h" 30#include "beat_wrapper.h"
31 31
32#define MAX_IRQS NR_IRQS 32#define MAX_IRQS NR_IRQS
33static DEFINE_SPINLOCK(beatic_irq_mask_lock); 33static DEFINE_RAW_SPINLOCK(beatic_irq_mask_lock);
34static uint64_t beatic_irq_mask_enable[(MAX_IRQS+255)/64]; 34static uint64_t beatic_irq_mask_enable[(MAX_IRQS+255)/64];
35static uint64_t beatic_irq_mask_ack[(MAX_IRQS+255)/64]; 35static uint64_t beatic_irq_mask_ack[(MAX_IRQS+255)/64];
36 36
@@ -65,30 +65,30 @@ static void beatic_mask_irq(unsigned int irq_plug)
65{ 65{
66 unsigned long flags; 66 unsigned long flags;
67 67
68 spin_lock_irqsave(&beatic_irq_mask_lock, flags); 68 raw_spin_lock_irqsave(&beatic_irq_mask_lock, flags);
69 beatic_irq_mask_enable[irq_plug/64] &= ~(1UL << (63 - (irq_plug%64))); 69 beatic_irq_mask_enable[irq_plug/64] &= ~(1UL << (63 - (irq_plug%64)));
70 beatic_update_irq_mask(irq_plug); 70 beatic_update_irq_mask(irq_plug);
71 spin_unlock_irqrestore(&beatic_irq_mask_lock, flags); 71 raw_spin_unlock_irqrestore(&beatic_irq_mask_lock, flags);
72} 72}
73 73
74static void beatic_unmask_irq(unsigned int irq_plug) 74static void beatic_unmask_irq(unsigned int irq_plug)
75{ 75{
76 unsigned long flags; 76 unsigned long flags;
77 77
78 spin_lock_irqsave(&beatic_irq_mask_lock, flags); 78 raw_spin_lock_irqsave(&beatic_irq_mask_lock, flags);
79 beatic_irq_mask_enable[irq_plug/64] |= 1UL << (63 - (irq_plug%64)); 79 beatic_irq_mask_enable[irq_plug/64] |= 1UL << (63 - (irq_plug%64));
80 beatic_update_irq_mask(irq_plug); 80 beatic_update_irq_mask(irq_plug);
81 spin_unlock_irqrestore(&beatic_irq_mask_lock, flags); 81 raw_spin_unlock_irqrestore(&beatic_irq_mask_lock, flags);
82} 82}
83 83
84static void beatic_ack_irq(unsigned int irq_plug) 84static void beatic_ack_irq(unsigned int irq_plug)
85{ 85{
86 unsigned long flags; 86 unsigned long flags;
87 87
88 spin_lock_irqsave(&beatic_irq_mask_lock, flags); 88 raw_spin_lock_irqsave(&beatic_irq_mask_lock, flags);
89 beatic_irq_mask_ack[irq_plug/64] &= ~(1UL << (63 - (irq_plug%64))); 89 beatic_irq_mask_ack[irq_plug/64] &= ~(1UL << (63 - (irq_plug%64)));
90 beatic_update_irq_mask(irq_plug); 90 beatic_update_irq_mask(irq_plug);
91 spin_unlock_irqrestore(&beatic_irq_mask_lock, flags); 91 raw_spin_unlock_irqrestore(&beatic_irq_mask_lock, flags);
92} 92}
93 93
94static void beatic_end_irq(unsigned int irq_plug) 94static void beatic_end_irq(unsigned int irq_plug)
@@ -103,14 +103,14 @@ static void beatic_end_irq(unsigned int irq_plug)
103 103
104 printk(KERN_ERR "IRQ over-downcounted, plug %d\n", irq_plug); 104 printk(KERN_ERR "IRQ over-downcounted, plug %d\n", irq_plug);
105 } 105 }
106 spin_lock_irqsave(&beatic_irq_mask_lock, flags); 106 raw_spin_lock_irqsave(&beatic_irq_mask_lock, flags);
107 beatic_irq_mask_ack[irq_plug/64] |= 1UL << (63 - (irq_plug%64)); 107 beatic_irq_mask_ack[irq_plug/64] |= 1UL << (63 - (irq_plug%64));
108 beatic_update_irq_mask(irq_plug); 108 beatic_update_irq_mask(irq_plug);
109 spin_unlock_irqrestore(&beatic_irq_mask_lock, flags); 109 raw_spin_unlock_irqrestore(&beatic_irq_mask_lock, flags);
110} 110}
111 111
112static struct irq_chip beatic_pic = { 112static struct irq_chip beatic_pic = {
113 .name = " CELL-BEAT ", 113 .name = "CELL-BEAT",
114 .unmask = beatic_unmask_irq, 114 .unmask = beatic_unmask_irq,
115 .mask = beatic_mask_irq, 115 .mask = beatic_mask_irq,
116 .eoi = beatic_end_irq, 116 .eoi = beatic_end_irq,
diff --git a/arch/powerpc/platforms/cell/cbe_cpufreq.c b/arch/powerpc/platforms/cell/cbe_cpufreq.c
index e6506cd0ff94..bfa2c0cb3d1e 100644
--- a/arch/powerpc/platforms/cell/cbe_cpufreq.c
+++ b/arch/powerpc/platforms/cell/cbe_cpufreq.c
@@ -118,7 +118,7 @@ static int cbe_cpufreq_cpu_init(struct cpufreq_policy *policy)
118 policy->cur = cbe_freqs[cur_pmode].frequency; 118 policy->cur = cbe_freqs[cur_pmode].frequency;
119 119
120#ifdef CONFIG_SMP 120#ifdef CONFIG_SMP
121 cpumask_copy(policy->cpus, &per_cpu(cpu_sibling_map, policy->cpu)); 121 cpumask_copy(policy->cpus, cpu_sibling_mask(policy->cpu));
122#endif 122#endif
123 123
124 cpufreq_frequency_table_get_attr(cbe_freqs, policy->cpu); 124 cpufreq_frequency_table_get_attr(cbe_freqs, policy->cpu);
diff --git a/arch/powerpc/platforms/cell/cbe_powerbutton.c b/arch/powerpc/platforms/cell/cbe_powerbutton.c
index dcddaa5fcb66..f75a4daa4ca2 100644
--- a/arch/powerpc/platforms/cell/cbe_powerbutton.c
+++ b/arch/powerpc/platforms/cell/cbe_powerbutton.c
@@ -48,7 +48,7 @@ static int __init cbe_powerbutton_init(void)
48 int ret = 0; 48 int ret = 0;
49 struct input_dev *dev; 49 struct input_dev *dev;
50 50
51 if (!machine_is_compatible("IBM,CBPLUS-1.0")) { 51 if (!of_machine_is_compatible("IBM,CBPLUS-1.0")) {
52 printk(KERN_ERR "%s: Not a cell blade.\n", __func__); 52 printk(KERN_ERR "%s: Not a cell blade.\n", __func__);
53 ret = -ENODEV; 53 ret = -ENODEV;
54 goto out; 54 goto out;
diff --git a/arch/powerpc/platforms/cell/celleb_pci.c b/arch/powerpc/platforms/cell/celleb_pci.c
index 00eaaa71630f..404d1fc04d59 100644
--- a/arch/powerpc/platforms/cell/celleb_pci.c
+++ b/arch/powerpc/platforms/cell/celleb_pci.c
@@ -33,6 +33,7 @@
33#include <linux/pci_regs.h> 33#include <linux/pci_regs.h>
34#include <linux/of.h> 34#include <linux/of.h>
35#include <linux/of_device.h> 35#include <linux/of_device.h>
36#include <linux/slab.h>
36 37
37#include <asm/io.h> 38#include <asm/io.h>
38#include <asm/irq.h> 39#include <asm/irq.h>
diff --git a/arch/powerpc/platforms/cell/celleb_scc_pciex.c b/arch/powerpc/platforms/cell/celleb_scc_pciex.c
index 7fca09f990ba..a881bbee8de0 100644
--- a/arch/powerpc/platforms/cell/celleb_scc_pciex.c
+++ b/arch/powerpc/platforms/cell/celleb_scc_pciex.c
@@ -23,6 +23,7 @@
23#include <linux/kernel.h> 23#include <linux/kernel.h>
24#include <linux/pci.h> 24#include <linux/pci.h>
25#include <linux/string.h> 25#include <linux/string.h>
26#include <linux/slab.h>
26#include <linux/init.h> 27#include <linux/init.h>
27#include <linux/bootmem.h> 28#include <linux/bootmem.h>
28#include <linux/delay.h> 29#include <linux/delay.h>
diff --git a/arch/powerpc/platforms/cell/interrupt.c b/arch/powerpc/platforms/cell/interrupt.c
index 6829cf7e2bda..10eb1a443626 100644
--- a/arch/powerpc/platforms/cell/interrupt.c
+++ b/arch/powerpc/platforms/cell/interrupt.c
@@ -88,7 +88,7 @@ static void iic_eoi(unsigned int irq)
88} 88}
89 89
90static struct irq_chip iic_chip = { 90static struct irq_chip iic_chip = {
91 .name = " CELL-IIC ", 91 .name = "CELL-IIC",
92 .mask = iic_mask, 92 .mask = iic_mask,
93 .unmask = iic_unmask, 93 .unmask = iic_unmask,
94 .eoi = iic_eoi, 94 .eoi = iic_eoi,
@@ -133,7 +133,7 @@ static void iic_ioexc_cascade(unsigned int irq, struct irq_desc *desc)
133 133
134 134
135static struct irq_chip iic_ioexc_chip = { 135static struct irq_chip iic_ioexc_chip = {
136 .name = " CELL-IOEX", 136 .name = "CELL-IOEX",
137 .mask = iic_mask, 137 .mask = iic_mask,
138 .unmask = iic_unmask, 138 .unmask = iic_unmask,
139 .eoi = iic_ioexc_eoi, 139 .eoi = iic_ioexc_eoi,
diff --git a/arch/powerpc/platforms/cell/iommu.c b/arch/powerpc/platforms/cell/iommu.c
index ca5bfdfe47f2..3712900471ba 100644
--- a/arch/powerpc/platforms/cell/iommu.c
+++ b/arch/powerpc/platforms/cell/iommu.c
@@ -28,7 +28,8 @@
28#include <linux/notifier.h> 28#include <linux/notifier.h>
29#include <linux/of.h> 29#include <linux/of.h>
30#include <linux/of_platform.h> 30#include <linux/of_platform.h>
31#include <linux/lmb.h> 31#include <linux/slab.h>
32#include <linux/memblock.h>
32 33
33#include <asm/prom.h> 34#include <asm/prom.h>
34#include <asm/iommu.h> 35#include <asm/iommu.h>
@@ -544,7 +545,6 @@ static struct iommu_table *cell_get_iommu_table(struct device *dev)
544{ 545{
545 struct iommu_window *window; 546 struct iommu_window *window;
546 struct cbe_iommu *iommu; 547 struct cbe_iommu *iommu;
547 struct dev_archdata *archdata = &dev->archdata;
548 548
549 /* Current implementation uses the first window available in that 549 /* Current implementation uses the first window available in that
550 * node's iommu. We -might- do something smarter later though it may 550 * node's iommu. We -might- do something smarter later though it may
@@ -553,7 +553,7 @@ static struct iommu_table *cell_get_iommu_table(struct device *dev)
553 iommu = cell_iommu_for_node(dev_to_node(dev)); 553 iommu = cell_iommu_for_node(dev_to_node(dev));
554 if (iommu == NULL || list_empty(&iommu->windows)) { 554 if (iommu == NULL || list_empty(&iommu->windows)) {
555 printk(KERN_ERR "iommu: missing iommu for %s (node %d)\n", 555 printk(KERN_ERR "iommu: missing iommu for %s (node %d)\n",
556 archdata->of_node ? archdata->of_node->full_name : "?", 556 dev->of_node ? dev->of_node->full_name : "?",
557 dev_to_node(dev)); 557 dev_to_node(dev));
558 return NULL; 558 return NULL;
559 } 559 }
@@ -845,10 +845,10 @@ static int __init cell_iommu_init_disabled(void)
845 /* If we found a DMA window, we check if it's big enough to enclose 845 /* If we found a DMA window, we check if it's big enough to enclose
846 * all of physical memory. If not, we force enable IOMMU 846 * all of physical memory. If not, we force enable IOMMU
847 */ 847 */
848 if (np && size < lmb_end_of_DRAM()) { 848 if (np && size < memblock_end_of_DRAM()) {
849 printk(KERN_WARNING "iommu: force-enabled, dma window" 849 printk(KERN_WARNING "iommu: force-enabled, dma window"
850 " (%ldMB) smaller than total memory (%lldMB)\n", 850 " (%ldMB) smaller than total memory (%lldMB)\n",
851 size >> 20, lmb_end_of_DRAM() >> 20); 851 size >> 20, memblock_end_of_DRAM() >> 20);
852 return -ENODEV; 852 return -ENODEV;
853 } 853 }
854 854
@@ -896,7 +896,7 @@ static u64 cell_iommu_get_fixed_address(struct device *dev)
896 const u32 *ranges = NULL; 896 const u32 *ranges = NULL;
897 int i, len, best, naddr, nsize, pna, range_size; 897 int i, len, best, naddr, nsize, pna, range_size;
898 898
899 np = of_node_get(dev->archdata.of_node); 899 np = of_node_get(dev->of_node);
900 while (1) { 900 while (1) {
901 naddr = of_n_addr_cells(np); 901 naddr = of_n_addr_cells(np);
902 nsize = of_n_size_cells(np); 902 nsize = of_n_size_cells(np);
@@ -1064,9 +1064,9 @@ static int __init cell_iommu_fixed_mapping_init(void)
1064 } 1064 }
1065 1065
1066 fbase = _ALIGN_UP(fbase, 1 << IO_SEGMENT_SHIFT); 1066 fbase = _ALIGN_UP(fbase, 1 << IO_SEGMENT_SHIFT);
1067 fsize = lmb_phys_mem_size(); 1067 fsize = memblock_phys_mem_size();
1068 1068
1069 if ((fbase + fsize) <= 0x800000000) 1069 if ((fbase + fsize) <= 0x800000000ul)
1070 hbase = 0; /* use the device tree window */ 1070 hbase = 0; /* use the device tree window */
1071 else { 1071 else {
1072 /* If we're over 32 GB we need to cheat. We can't map all of 1072 /* If we're over 32 GB we need to cheat. We can't map all of
@@ -1169,7 +1169,7 @@ static int __init cell_iommu_init(void)
1169 * Note: should we make sure we have the IOMMU actually disabled ? 1169 * Note: should we make sure we have the IOMMU actually disabled ?
1170 */ 1170 */
1171 if (iommu_is_off || 1171 if (iommu_is_off ||
1172 (!iommu_force_on && lmb_end_of_DRAM() <= 0x80000000ull)) 1172 (!iommu_force_on && memblock_end_of_DRAM() <= 0x80000000ull))
1173 if (cell_iommu_init_disabled() == 0) 1173 if (cell_iommu_init_disabled() == 0)
1174 goto bail; 1174 goto bail;
1175 1175
diff --git a/arch/powerpc/platforms/cell/ras.c b/arch/powerpc/platforms/cell/ras.c
index 5e0a191764fc..1d3c4effea10 100644
--- a/arch/powerpc/platforms/cell/ras.c
+++ b/arch/powerpc/platforms/cell/ras.c
@@ -11,6 +11,7 @@
11 11
12#include <linux/types.h> 12#include <linux/types.h>
13#include <linux/kernel.h> 13#include <linux/kernel.h>
14#include <linux/slab.h>
14#include <linux/smp.h> 15#include <linux/smp.h>
15#include <linux/reboot.h> 16#include <linux/reboot.h>
16#include <linux/kexec.h> 17#include <linux/kexec.h>
@@ -255,7 +256,7 @@ static int __init cbe_sysreset_init(void)
255{ 256{
256 struct cbe_pmd_regs __iomem *regs; 257 struct cbe_pmd_regs __iomem *regs;
257 258
258 sysreset_hack = machine_is_compatible("IBM,CBPLUS-1.0"); 259 sysreset_hack = of_machine_is_compatible("IBM,CBPLUS-1.0");
259 if (!sysreset_hack) 260 if (!sysreset_hack)
260 return 0; 261 return 0;
261 262
diff --git a/arch/powerpc/platforms/cell/setup.c b/arch/powerpc/platforms/cell/setup.c
index 59305369f6b2..50385db586bd 100644
--- a/arch/powerpc/platforms/cell/setup.c
+++ b/arch/powerpc/platforms/cell/setup.c
@@ -19,7 +19,6 @@
19#include <linux/mm.h> 19#include <linux/mm.h>
20#include <linux/stddef.h> 20#include <linux/stddef.h>
21#include <linux/unistd.h> 21#include <linux/unistd.h>
22#include <linux/slab.h>
23#include <linux/user.h> 22#include <linux/user.h>
24#include <linux/reboot.h> 23#include <linux/reboot.h>
25#include <linux/init.h> 24#include <linux/init.h>
diff --git a/arch/powerpc/platforms/cell/spider-pci.c b/arch/powerpc/platforms/cell/spider-pci.c
index 5122ec145271..ca7731c0b595 100644
--- a/arch/powerpc/platforms/cell/spider-pci.c
+++ b/arch/powerpc/platforms/cell/spider-pci.c
@@ -22,6 +22,7 @@
22 22
23#include <linux/kernel.h> 23#include <linux/kernel.h>
24#include <linux/of_platform.h> 24#include <linux/of_platform.h>
25#include <linux/slab.h>
25#include <linux/io.h> 26#include <linux/io.h>
26 27
27#include <asm/ppc-pci.h> 28#include <asm/ppc-pci.h>
diff --git a/arch/powerpc/platforms/cell/spider-pic.c b/arch/powerpc/platforms/cell/spider-pic.c
index 01244f254a11..5876e888e412 100644
--- a/arch/powerpc/platforms/cell/spider-pic.c
+++ b/arch/powerpc/platforms/cell/spider-pic.c
@@ -168,7 +168,7 @@ static int spider_set_irq_type(unsigned int virq, unsigned int type)
168} 168}
169 169
170static struct irq_chip spider_pic = { 170static struct irq_chip spider_pic = {
171 .name = " SPIDER ", 171 .name = "SPIDER",
172 .unmask = spider_unmask_irq, 172 .unmask = spider_unmask_irq,
173 .mask = spider_mask_irq, 173 .mask = spider_mask_irq,
174 .ack = spider_ack_irq, 174 .ack = spider_ack_irq,
diff --git a/arch/powerpc/platforms/cell/spu_manage.c b/arch/powerpc/platforms/cell/spu_manage.c
index 4c506c1463cd..f465d474ad9b 100644
--- a/arch/powerpc/platforms/cell/spu_manage.c
+++ b/arch/powerpc/platforms/cell/spu_manage.c
@@ -23,7 +23,6 @@
23#include <linux/list.h> 23#include <linux/list.h>
24#include <linux/module.h> 24#include <linux/module.h>
25#include <linux/ptrace.h> 25#include <linux/ptrace.h>
26#include <linux/slab.h>
27#include <linux/wait.h> 26#include <linux/wait.h>
28#include <linux/mm.h> 27#include <linux/mm.h>
29#include <linux/io.h> 28#include <linux/io.h>
@@ -457,7 +456,7 @@ neighbour_spu(int cbe, struct device_node *target, struct device_node *avoid)
457 continue; 456 continue;
458 vic_handles = of_get_property(spu_dn, "vicinity", &lenp); 457 vic_handles = of_get_property(spu_dn, "vicinity", &lenp);
459 for (i=0; i < (lenp / sizeof(phandle)); i++) { 458 for (i=0; i < (lenp / sizeof(phandle)); i++) {
460 if (vic_handles[i] == target->linux_phandle) 459 if (vic_handles[i] == target->phandle)
461 return spu; 460 return spu;
462 } 461 }
463 } 462 }
@@ -499,7 +498,7 @@ static void init_affinity_node(int cbe)
499 498
500 if (strcmp(name, "spe") == 0) { 499 if (strcmp(name, "spe") == 0) {
501 spu = devnode_spu(cbe, vic_dn); 500 spu = devnode_spu(cbe, vic_dn);
502 avoid_ph = last_spu_dn->linux_phandle; 501 avoid_ph = last_spu_dn->phandle;
503 } else { 502 } else {
504 /* 503 /*
505 * "mic-tm" and "bif0" nodes do not have 504 * "mic-tm" and "bif0" nodes do not have
@@ -514,7 +513,7 @@ static void init_affinity_node(int cbe)
514 last_spu->has_mem_affinity = 1; 513 last_spu->has_mem_affinity = 1;
515 spu->has_mem_affinity = 1; 514 spu->has_mem_affinity = 1;
516 } 515 }
517 avoid_ph = vic_dn->linux_phandle; 516 avoid_ph = vic_dn->phandle;
518 } 517 }
519 518
520 list_add_tail(&spu->aff_list, &last_spu->aff_list); 519 list_add_tail(&spu->aff_list, &last_spu->aff_list);
diff --git a/arch/powerpc/platforms/cell/spu_priv1_mmio.c b/arch/powerpc/platforms/cell/spu_priv1_mmio.c
index 1410443731eb..121aec353f26 100644
--- a/arch/powerpc/platforms/cell/spu_priv1_mmio.c
+++ b/arch/powerpc/platforms/cell/spu_priv1_mmio.c
@@ -22,7 +22,6 @@
22#include <linux/list.h> 22#include <linux/list.h>
23#include <linux/module.h> 23#include <linux/module.h>
24#include <linux/ptrace.h> 24#include <linux/ptrace.h>
25#include <linux/slab.h>
26#include <linux/wait.h> 25#include <linux/wait.h>
27#include <linux/mm.h> 26#include <linux/mm.h>
28#include <linux/io.h> 27#include <linux/io.h>
diff --git a/arch/powerpc/platforms/cell/spufs/coredump.c b/arch/powerpc/platforms/cell/spufs/coredump.c
index eea120229cdb..6cf3ec628527 100644
--- a/arch/powerpc/platforms/cell/spufs/coredump.c
+++ b/arch/powerpc/platforms/cell/spufs/coredump.c
@@ -24,6 +24,7 @@
24#include <linux/file.h> 24#include <linux/file.h>
25#include <linux/fdtable.h> 25#include <linux/fdtable.h>
26#include <linux/fs.h> 26#include <linux/fs.h>
27#include <linux/gfp.h>
27#include <linux/list.h> 28#include <linux/list.h>
28#include <linux/module.h> 29#include <linux/module.h>
29#include <linux/syscalls.h> 30#include <linux/syscalls.h>
diff --git a/arch/powerpc/platforms/cell/spufs/file.c b/arch/powerpc/platforms/cell/spufs/file.c
index 64a4c2d85f7c..1a40da92154c 100644
--- a/arch/powerpc/platforms/cell/spufs/file.c
+++ b/arch/powerpc/platforms/cell/spufs/file.c
@@ -29,6 +29,7 @@
29#include <linux/poll.h> 29#include <linux/poll.h>
30#include <linux/ptrace.h> 30#include <linux/ptrace.h>
31#include <linux/seq_file.h> 31#include <linux/seq_file.h>
32#include <linux/slab.h>
32 33
33#include <asm/io.h> 34#include <asm/io.h>
34#include <asm/time.h> 35#include <asm/time.h>
@@ -1848,8 +1849,7 @@ out:
1848 return ret; 1849 return ret;
1849} 1850}
1850 1851
1851static int spufs_mfc_fsync(struct file *file, struct dentry *dentry, 1852static int spufs_mfc_fsync(struct file *file, int datasync)
1852 int datasync)
1853{ 1853{
1854 return spufs_mfc_flush(file, NULL); 1854 return spufs_mfc_flush(file, NULL);
1855} 1855}
diff --git a/arch/powerpc/platforms/cell/spufs/inode.c b/arch/powerpc/platforms/cell/spufs/inode.c
index fc1b1c42b1dc..e5e5f823d687 100644
--- a/arch/powerpc/platforms/cell/spufs/inode.c
+++ b/arch/powerpc/platforms/cell/spufs/inode.c
@@ -251,7 +251,7 @@ const struct file_operations spufs_context_fops = {
251 .llseek = dcache_dir_lseek, 251 .llseek = dcache_dir_lseek,
252 .read = generic_read_dir, 252 .read = generic_read_dir,
253 .readdir = dcache_readdir, 253 .readdir = dcache_readdir,
254 .fsync = simple_sync_file, 254 .fsync = noop_fsync,
255}; 255};
256EXPORT_SYMBOL_GPL(spufs_context_fops); 256EXPORT_SYMBOL_GPL(spufs_context_fops);
257 257
diff --git a/arch/powerpc/platforms/cell/spufs/lscsa_alloc.c b/arch/powerpc/platforms/cell/spufs/lscsa_alloc.c
index 0e9f325c9ff7..a101abf17504 100644
--- a/arch/powerpc/platforms/cell/spufs/lscsa_alloc.c
+++ b/arch/powerpc/platforms/cell/spufs/lscsa_alloc.c
@@ -22,6 +22,7 @@
22 22
23#include <linux/kernel.h> 23#include <linux/kernel.h>
24#include <linux/mm.h> 24#include <linux/mm.h>
25#include <linux/slab.h>
25#include <linux/vmalloc.h> 26#include <linux/vmalloc.h>
26 27
27#include <asm/spu.h> 28#include <asm/spu.h>
diff --git a/arch/powerpc/platforms/cell/spufs/sched.c b/arch/powerpc/platforms/cell/spufs/sched.c
index 4678078fede8..0b0466284932 100644
--- a/arch/powerpc/platforms/cell/spufs/sched.c
+++ b/arch/powerpc/platforms/cell/spufs/sched.c
@@ -27,6 +27,7 @@
27#include <linux/sched.h> 27#include <linux/sched.h>
28#include <linux/kernel.h> 28#include <linux/kernel.h>
29#include <linux/mm.h> 29#include <linux/mm.h>
30#include <linux/slab.h>
30#include <linux/completion.h> 31#include <linux/completion.h>
31#include <linux/vmalloc.h> 32#include <linux/vmalloc.h>
32#include <linux/smp.h> 33#include <linux/smp.h>
diff --git a/arch/powerpc/platforms/cell/spufs/syscalls.c b/arch/powerpc/platforms/cell/spufs/syscalls.c
index c23617c6baf3..187a7d32f86a 100644
--- a/arch/powerpc/platforms/cell/spufs/syscalls.c
+++ b/arch/powerpc/platforms/cell/spufs/syscalls.c
@@ -3,6 +3,7 @@
3#include <linux/module.h> 3#include <linux/module.h>
4#include <linux/mount.h> 4#include <linux/mount.h>
5#include <linux/namei.h> 5#include <linux/namei.h>
6#include <linux/slab.h>
6 7
7#include <asm/uaccess.h> 8#include <asm/uaccess.h>
8 9
diff --git a/arch/powerpc/platforms/chrp/nvram.c b/arch/powerpc/platforms/chrp/nvram.c
index 8efd4244701c..ba3588f2d8e0 100644
--- a/arch/powerpc/platforms/chrp/nvram.c
+++ b/arch/powerpc/platforms/chrp/nvram.c
@@ -12,7 +12,6 @@
12 12
13#include <linux/kernel.h> 13#include <linux/kernel.h>
14#include <linux/init.h> 14#include <linux/init.h>
15#include <linux/slab.h>
16#include <linux/spinlock.h> 15#include <linux/spinlock.h>
17#include <asm/uaccess.h> 16#include <asm/uaccess.h>
18#include <asm/prom.h> 17#include <asm/prom.h>
diff --git a/arch/powerpc/platforms/chrp/setup.c b/arch/powerpc/platforms/chrp/setup.c
index 8f41685d8f42..8553cc49e0d6 100644
--- a/arch/powerpc/platforms/chrp/setup.c
+++ b/arch/powerpc/platforms/chrp/setup.c
@@ -15,7 +15,6 @@
15#include <linux/stddef.h> 15#include <linux/stddef.h>
16#include <linux/unistd.h> 16#include <linux/unistd.h>
17#include <linux/ptrace.h> 17#include <linux/ptrace.h>
18#include <linux/slab.h>
19#include <linux/user.h> 18#include <linux/user.h>
20#include <linux/tty.h> 19#include <linux/tty.h>
21#include <linux/major.h> 20#include <linux/major.h>
diff --git a/arch/powerpc/platforms/embedded6xx/wii.c b/arch/powerpc/platforms/embedded6xx/wii.c
index 57e5b608fa1a..5cdcc7c8d973 100644
--- a/arch/powerpc/platforms/embedded6xx/wii.c
+++ b/arch/powerpc/platforms/embedded6xx/wii.c
@@ -20,7 +20,7 @@
20#include <linux/seq_file.h> 20#include <linux/seq_file.h>
21#include <linux/kexec.h> 21#include <linux/kexec.h>
22#include <linux/of_platform.h> 22#include <linux/of_platform.h>
23#include <linux/lmb.h> 23#include <linux/memblock.h>
24#include <mm/mmu_decl.h> 24#include <mm/mmu_decl.h>
25 25
26#include <asm/io.h> 26#include <asm/io.h>
@@ -65,19 +65,19 @@ static int __init page_aligned(unsigned long x)
65 65
66void __init wii_memory_fixups(void) 66void __init wii_memory_fixups(void)
67{ 67{
68 struct lmb_property *p = lmb.memory.region; 68 struct memblock_property *p = memblock.memory.region;
69 69
70 /* 70 /*
71 * This is part of a workaround to allow the use of two 71 * This is part of a workaround to allow the use of two
72 * discontiguous RAM ranges on the Wii, even if this is 72 * discontinuous RAM ranges on the Wii, even if this is
73 * currently unsupported on 32-bit PowerPC Linux. 73 * currently unsupported on 32-bit PowerPC Linux.
74 * 74 *
75 * We coealesce the two memory ranges of the Wii into a 75 * We coalesce the two memory ranges of the Wii into a
76 * single range, then create a reservation for the "hole" 76 * single range, then create a reservation for the "hole"
77 * between both ranges. 77 * between both ranges.
78 */ 78 */
79 79
80 BUG_ON(lmb.memory.cnt != 2); 80 BUG_ON(memblock.memory.cnt != 2);
81 BUG_ON(!page_aligned(p[0].base) || !page_aligned(p[1].base)); 81 BUG_ON(!page_aligned(p[0].base) || !page_aligned(p[1].base));
82 82
83 p[0].size = _ALIGN_DOWN(p[0].size, PAGE_SIZE); 83 p[0].size = _ALIGN_DOWN(p[0].size, PAGE_SIZE);
@@ -92,11 +92,11 @@ void __init wii_memory_fixups(void)
92 92
93 p[0].size += wii_hole_size + p[1].size; 93 p[0].size += wii_hole_size + p[1].size;
94 94
95 lmb.memory.cnt = 1; 95 memblock.memory.cnt = 1;
96 lmb_analyze(); 96 memblock_analyze();
97 97
98 /* reserve the hole */ 98 /* reserve the hole */
99 lmb_reserve(wii_hole_start, wii_hole_size); 99 memblock_reserve(wii_hole_start, wii_hole_size);
100 100
101 /* allow ioremapping the address space in the hole */ 101 /* allow ioremapping the address space in the hole */
102 __allow_ioremap_reserved = 1; 102 __allow_ioremap_reserved = 1;
diff --git a/arch/powerpc/platforms/fsl_uli1575.c b/arch/powerpc/platforms/fsl_uli1575.c
index fd23a1d4b39d..8b0c2082a783 100644
--- a/arch/powerpc/platforms/fsl_uli1575.c
+++ b/arch/powerpc/platforms/fsl_uli1575.c
@@ -222,6 +222,7 @@ static void __devinit quirk_final_uli5249(struct pci_dev *dev)
222 int i; 222 int i;
223 u8 *dummy; 223 u8 *dummy;
224 struct pci_bus *bus = dev->bus; 224 struct pci_bus *bus = dev->bus;
225 struct resource *res;
225 resource_size_t end = 0; 226 resource_size_t end = 0;
226 227
227 for (i = PCI_BRIDGE_RESOURCES; i < PCI_BRIDGE_RESOURCES+3; i++) { 228 for (i = PCI_BRIDGE_RESOURCES; i < PCI_BRIDGE_RESOURCES+3; i++) {
@@ -230,13 +231,12 @@ static void __devinit quirk_final_uli5249(struct pci_dev *dev)
230 end = pci_resource_end(dev, i); 231 end = pci_resource_end(dev, i);
231 } 232 }
232 233
233 for (i = 0; i < PCI_BUS_NUM_RESOURCES; i++) { 234 pci_bus_for_each_resource(bus, res, i) {
234 if ((bus->resource[i]) && 235 if (res && res->flags & IORESOURCE_MEM) {
235 (bus->resource[i]->flags & IORESOURCE_MEM)) { 236 if (res->end == end)
236 if (bus->resource[i]->end == end) 237 dummy = ioremap(res->start, 0x4);
237 dummy = ioremap(bus->resource[i]->start, 0x4);
238 else 238 else
239 dummy = ioremap(bus->resource[i]->end - 3, 0x4); 239 dummy = ioremap(res->end - 3, 0x4);
240 if (dummy) { 240 if (dummy) {
241 in_8(dummy); 241 in_8(dummy);
242 iounmap(dummy); 242 iounmap(dummy);
diff --git a/arch/powerpc/platforms/iseries/exception.S b/arch/powerpc/platforms/iseries/exception.S
index 5369653dcf6a..32a56c6dfa72 100644
--- a/arch/powerpc/platforms/iseries/exception.S
+++ b/arch/powerpc/platforms/iseries/exception.S
@@ -43,17 +43,14 @@ system_reset_iSeries:
43 LOAD_REG_ADDR(r23, alpaca) 43 LOAD_REG_ADDR(r23, alpaca)
44 li r0,ALPACA_SIZE 44 li r0,ALPACA_SIZE
45 sub r23,r13,r23 45 sub r23,r13,r23
46 divdu r23,r23,r0 /* r23 has cpu number */ 46 divdu r24,r23,r0 /* r24 has cpu number */
47 LOAD_REG_ADDR(r13, paca)
48 mulli r0,r23,PACA_SIZE
49 add r13,r13,r0
50 mtspr SPRN_SPRG_PACA,r13 /* Save it away for the future */
51 mfmsr r24
52 ori r24,r24,MSR_RI
53 mtmsrd r24 /* RI on */
54 mr r24,r23
55 cmpwi 0,r24,0 /* Are we processor 0? */ 47 cmpwi 0,r24,0 /* Are we processor 0? */
56 bne 1f 48 bne 1f
49 LOAD_REG_ADDR(r13, boot_paca)
50 mtspr SPRN_SPRG_PACA,r13 /* Save it away for the future */
51 mfmsr r23
52 ori r23,r23,MSR_RI
53 mtmsrd r23 /* RI on */
57 b .__start_initialization_iSeries /* Start up the first processor */ 54 b .__start_initialization_iSeries /* Start up the first processor */
581: mfspr r4,SPRN_CTRLF 551: mfspr r4,SPRN_CTRLF
59 li r5,CTRL_RUNLATCH /* Turn off the run light */ 56 li r5,CTRL_RUNLATCH /* Turn off the run light */
@@ -86,6 +83,16 @@ system_reset_iSeries:
86#endif 83#endif
87 84
882: 852:
86 /* Load our paca now that it's been allocated */
87 LOAD_REG_ADDR(r13, paca)
88 ld r13,0(r13)
89 mulli r0,r24,PACA_SIZE
90 add r13,r13,r0
91 mtspr SPRN_SPRG_PACA,r13 /* Save it away for the future */
92 mfmsr r23
93 ori r23,r23,MSR_RI
94 mtmsrd r23 /* RI on */
95
89 HMT_LOW 96 HMT_LOW
90#ifdef CONFIG_SMP 97#ifdef CONFIG_SMP
91 lbz r23,PACAPROCSTART(r13) /* Test if this processor 98 lbz r23,PACAPROCSTART(r13) /* Test if this processor
@@ -245,8 +252,8 @@ decrementer_iSeries_masked:
245 li r11,1 252 li r11,1
246 ld r12,PACALPPACAPTR(r13) 253 ld r12,PACALPPACAPTR(r13)
247 stb r11,LPPACADECRINT(r12) 254 stb r11,LPPACADECRINT(r12)
248 LOAD_REG_IMMEDIATE(r12, tb_ticks_per_jiffy) 255 li r12,-1
249 lwz r12,0(r12) 256 clrldi r12,r12,33 /* set DEC to 0x7fffffff */
250 mtspr SPRN_DEC,r12 257 mtspr SPRN_DEC,r12
251 /* fall through */ 258 /* fall through */
252 259
diff --git a/arch/powerpc/platforms/iseries/iommu.c b/arch/powerpc/platforms/iseries/iommu.c
index 9d53cb481a7c..ce61cea0afb5 100644
--- a/arch/powerpc/platforms/iseries/iommu.c
+++ b/arch/powerpc/platforms/iseries/iommu.c
@@ -29,6 +29,7 @@
29#include <linux/list.h> 29#include <linux/list.h>
30#include <linux/pci.h> 30#include <linux/pci.h>
31#include <linux/module.h> 31#include <linux/module.h>
32#include <linux/slab.h>
32 33
33#include <asm/iommu.h> 34#include <asm/iommu.h>
34#include <asm/vio.h> 35#include <asm/vio.h>
diff --git a/arch/powerpc/platforms/iseries/irq.c b/arch/powerpc/platforms/iseries/irq.c
index 86c4b29eea89..ba446bf355a9 100644
--- a/arch/powerpc/platforms/iseries/irq.c
+++ b/arch/powerpc/platforms/iseries/irq.c
@@ -273,7 +273,7 @@ static void iseries_end_IRQ(unsigned int irq)
273} 273}
274 274
275static struct irq_chip iseries_pic = { 275static struct irq_chip iseries_pic = {
276 .name = "iSeries irq controller", 276 .name = "iSeries",
277 .startup = iseries_startup_IRQ, 277 .startup = iseries_startup_IRQ,
278 .shutdown = iseries_shutdown_IRQ, 278 .shutdown = iseries_shutdown_IRQ,
279 .unmask = iseries_enable_IRQ, 279 .unmask = iseries_enable_IRQ,
diff --git a/arch/powerpc/platforms/iseries/mf.c b/arch/powerpc/platforms/iseries/mf.c
index 6617915bcb1a..d2c1d497846e 100644
--- a/arch/powerpc/platforms/iseries/mf.c
+++ b/arch/powerpc/platforms/iseries/mf.c
@@ -33,6 +33,7 @@
33#include <linux/dma-mapping.h> 33#include <linux/dma-mapping.h>
34#include <linux/bcd.h> 34#include <linux/bcd.h>
35#include <linux/rtc.h> 35#include <linux/rtc.h>
36#include <linux/slab.h>
36 37
37#include <asm/time.h> 38#include <asm/time.h>
38#include <asm/uaccess.h> 39#include <asm/uaccess.h>
diff --git a/arch/powerpc/platforms/iseries/pci.c b/arch/powerpc/platforms/iseries/pci.c
index 175aac8ca7e5..ab3962b0d246 100644
--- a/arch/powerpc/platforms/iseries/pci.c
+++ b/arch/powerpc/platforms/iseries/pci.c
@@ -27,10 +27,12 @@
27#include <linux/kernel.h> 27#include <linux/kernel.h>
28#include <linux/list.h> 28#include <linux/list.h>
29#include <linux/string.h> 29#include <linux/string.h>
30#include <linux/slab.h>
30#include <linux/init.h> 31#include <linux/init.h>
31#include <linux/module.h> 32#include <linux/module.h>
32#include <linux/pci.h> 33#include <linux/pci.h>
33#include <linux/of.h> 34#include <linux/of.h>
35#include <linux/ratelimit.h>
34 36
35#include <asm/types.h> 37#include <asm/types.h>
36#include <asm/io.h> 38#include <asm/io.h>
@@ -443,7 +445,11 @@ void __init iSeries_pcibios_fixup_resources(struct pci_dev *pdev)
443 } 445 }
444 446
445 allocate_device_bars(pdev); 447 allocate_device_bars(pdev);
446 iseries_device_information(pdev, bus, *sub_bus); 448 if (likely(sub_bus))
449 iseries_device_information(pdev, bus, *sub_bus);
450 else
451 printk(KERN_ERR "PCI: Device node %s has missing or invalid "
452 "linux,subbus property\n", node->full_name);
447} 453}
448 454
449/* 455/*
@@ -583,14 +589,9 @@ static inline struct device_node *xlate_iomm_address(
583 589
584 orig_addr = (unsigned long __force)addr; 590 orig_addr = (unsigned long __force)addr;
585 if ((orig_addr < BASE_IO_MEMORY) || (orig_addr >= max_io_memory)) { 591 if ((orig_addr < BASE_IO_MEMORY) || (orig_addr >= max_io_memory)) {
586 static unsigned long last_jiffies; 592 static DEFINE_RATELIMIT_STATE(ratelimit, 60 * HZ, 10);
587 static int num_printed;
588 593
589 if (time_after(jiffies, last_jiffies + 60 * HZ)) { 594 if (__ratelimit(&ratelimit))
590 last_jiffies = jiffies;
591 num_printed = 0;
592 }
593 if (num_printed++ < 10)
594 printk(KERN_ERR 595 printk(KERN_ERR
595 "iSeries_%s: invalid access at IO address %p\n", 596 "iSeries_%s: invalid access at IO address %p\n",
596 func, addr); 597 func, addr);
diff --git a/arch/powerpc/platforms/iseries/proc.c b/arch/powerpc/platforms/iseries/proc.c
index 91f4c6cd4b99..06763682db47 100644
--- a/arch/powerpc/platforms/iseries/proc.c
+++ b/arch/powerpc/platforms/iseries/proc.c
@@ -85,7 +85,7 @@ static int proc_titantod_show(struct seq_file *m, void *v)
85 85
86 seq_printf(m, " titan elapsed = %lu uSec\n", titan_usec); 86 seq_printf(m, " titan elapsed = %lu uSec\n", titan_usec);
87 seq_printf(m, " tb elapsed = %lu ticks\n", tb_ticks); 87 seq_printf(m, " tb elapsed = %lu ticks\n", tb_ticks);
88 seq_printf(m, " titan jiffies = %lu.%04lu \n", titan_jiffies, 88 seq_printf(m, " titan jiffies = %lu.%04lu\n", titan_jiffies,
89 titan_jiff_rem_usec); 89 titan_jiff_rem_usec);
90 seq_printf(m, " tb jiffies = %lu.%04lu\n", tb_jiffies, 90 seq_printf(m, " tb jiffies = %lu.%04lu\n", tb_jiffies,
91 tb_jiff_rem_usec); 91 tb_jiff_rem_usec);
diff --git a/arch/powerpc/platforms/iseries/setup.c b/arch/powerpc/platforms/iseries/setup.c
index a6cd3394feaa..b0863410517f 100644
--- a/arch/powerpc/platforms/iseries/setup.c
+++ b/arch/powerpc/platforms/iseries/setup.c
@@ -256,7 +256,7 @@ static unsigned long iSeries_process_mainstore_vpd(struct MemoryBlock *mb_array,
256 mem_blocks = iSeries_process_Condor_mainstore_vpd(mb_array, 256 mem_blocks = iSeries_process_Condor_mainstore_vpd(mb_array,
257 max_entries); 257 max_entries);
258 258
259 printk("Mainstore_VPD: numMemoryBlocks = %ld \n", mem_blocks); 259 printk("Mainstore_VPD: numMemoryBlocks = %ld\n", mem_blocks);
260 for (i = 0; i < mem_blocks; ++i) { 260 for (i = 0; i < mem_blocks; ++i) {
261 printk("Mainstore_VPD: block %3ld logical chunks %016lx - %016lx\n" 261 printk("Mainstore_VPD: block %3ld logical chunks %016lx - %016lx\n"
262 " abs chunks %016lx - %016lx\n", 262 " abs chunks %016lx - %016lx\n",
diff --git a/arch/powerpc/platforms/iseries/smp.c b/arch/powerpc/platforms/iseries/smp.c
index 722335e32fd4..6590850045af 100644
--- a/arch/powerpc/platforms/iseries/smp.c
+++ b/arch/powerpc/platforms/iseries/smp.c
@@ -83,7 +83,7 @@ static void smp_iSeries_message_pass(int target, int msg)
83 83
84static int smp_iSeries_probe(void) 84static int smp_iSeries_probe(void)
85{ 85{
86 return cpus_weight(cpu_possible_map); 86 return cpumask_weight(cpu_possible_mask);
87} 87}
88 88
89static void smp_iSeries_kick_cpu(int nr) 89static void smp_iSeries_kick_cpu(int nr)
diff --git a/arch/powerpc/platforms/iseries/vio.c b/arch/powerpc/platforms/iseries/vio.c
index 2aa8b5631beb..00b6730bc48f 100644
--- a/arch/powerpc/platforms/iseries/vio.c
+++ b/arch/powerpc/platforms/iseries/vio.c
@@ -22,7 +22,7 @@
22 */ 22 */
23#include <linux/of.h> 23#include <linux/of.h>
24#include <linux/init.h> 24#include <linux/init.h>
25#include <linux/gfp.h> 25#include <linux/slab.h>
26#include <linux/completion.h> 26#include <linux/completion.h>
27#include <linux/proc_fs.h> 27#include <linux/proc_fs.h>
28#include <linux/module.h> 28#include <linux/module.h>
diff --git a/arch/powerpc/platforms/iseries/viopath.c b/arch/powerpc/platforms/iseries/viopath.c
index 5aea94f30836..b5f05d943a90 100644
--- a/arch/powerpc/platforms/iseries/viopath.c
+++ b/arch/powerpc/platforms/iseries/viopath.c
@@ -29,6 +29,7 @@
29 */ 29 */
30#include <linux/module.h> 30#include <linux/module.h>
31#include <linux/kernel.h> 31#include <linux/kernel.h>
32#include <linux/slab.h>
32#include <linux/errno.h> 33#include <linux/errno.h>
33#include <linux/vmalloc.h> 34#include <linux/vmalloc.h>
34#include <linux/string.h> 35#include <linux/string.h>
diff --git a/arch/powerpc/platforms/maple/setup.c b/arch/powerpc/platforms/maple/setup.c
index 0636a3df6978..3fff8d979b41 100644
--- a/arch/powerpc/platforms/maple/setup.c
+++ b/arch/powerpc/platforms/maple/setup.c
@@ -21,7 +21,6 @@
21#include <linux/stddef.h> 21#include <linux/stddef.h>
22#include <linux/unistd.h> 22#include <linux/unistd.h>
23#include <linux/ptrace.h> 23#include <linux/ptrace.h>
24#include <linux/slab.h>
25#include <linux/user.h> 24#include <linux/user.h>
26#include <linux/tty.h> 25#include <linux/tty.h>
27#include <linux/string.h> 26#include <linux/string.h>
@@ -42,7 +41,7 @@
42#include <linux/smp.h> 41#include <linux/smp.h>
43#include <linux/bitops.h> 42#include <linux/bitops.h>
44#include <linux/of_device.h> 43#include <linux/of_device.h>
45#include <linux/lmb.h> 44#include <linux/memblock.h>
46 45
47#include <asm/processor.h> 46#include <asm/processor.h>
48#include <asm/sections.h> 47#include <asm/sections.h>
diff --git a/arch/powerpc/platforms/pasemi/cpufreq.c b/arch/powerpc/platforms/pasemi/cpufreq.c
index be2527a516ea..c16537bc0c6e 100644
--- a/arch/powerpc/platforms/pasemi/cpufreq.c
+++ b/arch/powerpc/platforms/pasemi/cpufreq.c
@@ -213,7 +213,7 @@ static int pas_cpufreq_cpu_init(struct cpufreq_policy *policy)
213 pr_debug("current astate is at %d\n",cur_astate); 213 pr_debug("current astate is at %d\n",cur_astate);
214 214
215 policy->cur = pas_freqs[cur_astate].frequency; 215 policy->cur = pas_freqs[cur_astate].frequency;
216 cpumask_copy(policy->cpus, &cpu_online_map); 216 cpumask_copy(policy->cpus, cpu_online_mask);
217 217
218 ppc_proc_freq = policy->cur * 1000ul; 218 ppc_proc_freq = policy->cur * 1000ul;
219 219
@@ -304,8 +304,8 @@ static struct cpufreq_driver pas_cpufreq_driver = {
304 304
305static int __init pas_cpufreq_init(void) 305static int __init pas_cpufreq_init(void)
306{ 306{
307 if (!machine_is_compatible("PA6T-1682M") && 307 if (!of_machine_is_compatible("PA6T-1682M") &&
308 !machine_is_compatible("pasemi,pwrficient")) 308 !of_machine_is_compatible("pasemi,pwrficient"))
309 return -ENODEV; 309 return -ENODEV;
310 310
311 return cpufreq_register_driver(&pas_cpufreq_driver); 311 return cpufreq_register_driver(&pas_cpufreq_driver);
diff --git a/arch/powerpc/platforms/pasemi/dma_lib.c b/arch/powerpc/platforms/pasemi/dma_lib.c
index a6152d922243..09695ae50f91 100644
--- a/arch/powerpc/platforms/pasemi/dma_lib.c
+++ b/arch/powerpc/platforms/pasemi/dma_lib.c
@@ -21,6 +21,7 @@
21#include <linux/init.h> 21#include <linux/init.h>
22#include <linux/module.h> 22#include <linux/module.h>
23#include <linux/pci.h> 23#include <linux/pci.h>
24#include <linux/slab.h>
24#include <linux/of.h> 25#include <linux/of.h>
25 26
26#include <asm/pasemi_dma.h> 27#include <asm/pasemi_dma.h>
diff --git a/arch/powerpc/platforms/pasemi/gpio_mdio.c b/arch/powerpc/platforms/pasemi/gpio_mdio.c
index 3bf546797cbb..627ee089e75d 100644
--- a/arch/powerpc/platforms/pasemi/gpio_mdio.c
+++ b/arch/powerpc/platforms/pasemi/gpio_mdio.c
@@ -24,6 +24,7 @@
24#include <linux/io.h> 24#include <linux/io.h>
25#include <linux/module.h> 25#include <linux/module.h>
26#include <linux/types.h> 26#include <linux/types.h>
27#include <linux/slab.h>
27#include <linux/sched.h> 28#include <linux/sched.h>
28#include <linux/errno.h> 29#include <linux/errno.h>
29#include <linux/ioport.h> 30#include <linux/ioport.h>
@@ -219,7 +220,7 @@ static int __devinit gpio_mdio_probe(struct of_device *ofdev,
219 const struct of_device_id *match) 220 const struct of_device_id *match)
220{ 221{
221 struct device *dev = &ofdev->dev; 222 struct device *dev = &ofdev->dev;
222 struct device_node *np = ofdev->node; 223 struct device_node *np = ofdev->dev.of_node;
223 struct mii_bus *new_bus; 224 struct mii_bus *new_bus;
224 struct gpio_priv *priv; 225 struct gpio_priv *priv;
225 const unsigned int *prop; 226 const unsigned int *prop;
@@ -300,11 +301,12 @@ MODULE_DEVICE_TABLE(of, gpio_mdio_match);
300 301
301static struct of_platform_driver gpio_mdio_driver = 302static struct of_platform_driver gpio_mdio_driver =
302{ 303{
303 .match_table = gpio_mdio_match,
304 .probe = gpio_mdio_probe, 304 .probe = gpio_mdio_probe,
305 .remove = gpio_mdio_remove, 305 .remove = gpio_mdio_remove,
306 .driver = { 306 .driver = {
307 .name = "gpio-mdio-bitbang", 307 .name = "gpio-mdio-bitbang",
308 .owner = THIS_MODULE,
309 .of_match_table = gpio_mdio_match,
308 }, 310 },
309}; 311};
310 312
diff --git a/arch/powerpc/platforms/pasemi/iommu.c b/arch/powerpc/platforms/pasemi/iommu.c
index 7b1d608ea3c8..1f9fb2c57761 100644
--- a/arch/powerpc/platforms/pasemi/iommu.c
+++ b/arch/powerpc/platforms/pasemi/iommu.c
@@ -204,7 +204,7 @@ int __init iob_init(struct device_node *dn)
204 pr_debug(" -> %s\n", __func__); 204 pr_debug(" -> %s\n", __func__);
205 205
206 /* Allocate a spare page to map all invalid IOTLB pages. */ 206 /* Allocate a spare page to map all invalid IOTLB pages. */
207 tmp = lmb_alloc(IOBMAP_PAGE_SIZE, IOBMAP_PAGE_SIZE); 207 tmp = memblock_alloc(IOBMAP_PAGE_SIZE, IOBMAP_PAGE_SIZE);
208 if (!tmp) 208 if (!tmp)
209 panic("IOBMAP: Cannot allocate spare page!"); 209 panic("IOBMAP: Cannot allocate spare page!");
210 /* Empty l1 is marked invalid */ 210 /* Empty l1 is marked invalid */
@@ -275,7 +275,7 @@ void __init alloc_iobmap_l2(void)
275 return; 275 return;
276#endif 276#endif
277 /* For 2G space, 8x64 pages (2^21 bytes) is max total l2 size */ 277 /* For 2G space, 8x64 pages (2^21 bytes) is max total l2 size */
278 iob_l2_base = (u32 *)abs_to_virt(lmb_alloc_base(1UL<<21, 1UL<<21, 0x80000000)); 278 iob_l2_base = (u32 *)abs_to_virt(memblock_alloc_base(1UL<<21, 1UL<<21, 0x80000000));
279 279
280 printk(KERN_INFO "IOBMAP L2 allocated at: %p\n", iob_l2_base); 280 printk(KERN_INFO "IOBMAP L2 allocated at: %p\n", iob_l2_base);
281} 281}
diff --git a/arch/powerpc/platforms/pasemi/setup.c b/arch/powerpc/platforms/pasemi/setup.c
index 242f8095c2df..f372ec1691a3 100644
--- a/arch/powerpc/platforms/pasemi/setup.c
+++ b/arch/powerpc/platforms/pasemi/setup.c
@@ -28,6 +28,7 @@
28#include <linux/console.h> 28#include <linux/console.h>
29#include <linux/pci.h> 29#include <linux/pci.h>
30#include <linux/of_platform.h> 30#include <linux/of_platform.h>
31#include <linux/gfp.h>
31 32
32#include <asm/prom.h> 33#include <asm/prom.h>
33#include <asm/system.h> 34#include <asm/system.h>
@@ -359,10 +360,10 @@ static int pcmcia_notify(struct notifier_block *nb, unsigned long action,
359 /* We know electra_cf devices will always have of_node set, since 360 /* We know electra_cf devices will always have of_node set, since
360 * electra_cf is an of_platform driver. 361 * electra_cf is an of_platform driver.
361 */ 362 */
362 if (!parent->archdata.of_node) 363 if (!parent->of_node)
363 return 0; 364 return 0;
364 365
365 if (!of_device_is_compatible(parent->archdata.of_node, "electra-cf")) 366 if (!of_device_is_compatible(parent->of_node, "electra-cf"))
366 return 0; 367 return 0;
367 368
368 /* We use the direct ops for localbus */ 369 /* We use the direct ops for localbus */
diff --git a/arch/powerpc/platforms/powermac/bootx_init.c b/arch/powerpc/platforms/powermac/bootx_init.c
index 9dd789a7370d..84d7fd9bcc69 100644
--- a/arch/powerpc/platforms/powermac/bootx_init.c
+++ b/arch/powerpc/platforms/powermac/bootx_init.c
@@ -539,7 +539,7 @@ void __init bootx_init(unsigned long r3, unsigned long r4)
539 if (model 539 if (model
540 && (strcmp(model, "iMac,1") == 0 540 && (strcmp(model, "iMac,1") == 0
541 || strcmp(model, "PowerMac1,1") == 0)) { 541 || strcmp(model, "PowerMac1,1") == 0)) {
542 bootx_printf("iMac,1 detected, shutting down USB \n"); 542 bootx_printf("iMac,1 detected, shutting down USB\n");
543 out_le32((unsigned __iomem *)0x80880008, 1); /* XXX */ 543 out_le32((unsigned __iomem *)0x80880008, 1); /* XXX */
544 } 544 }
545 } 545 }
@@ -554,7 +554,7 @@ void __init bootx_init(unsigned long r3, unsigned long r4)
554 } else 554 } else
555 space = bi->totalParamsSize; 555 space = bi->totalParamsSize;
556 556
557 bootx_printf("Total space used by parameters & ramdisk: 0x%x \n", space); 557 bootx_printf("Total space used by parameters & ramdisk: 0x%x\n", space);
558 558
559 /* New BootX will have flushed all TLBs and enters kernel with 559 /* New BootX will have flushed all TLBs and enters kernel with
560 * MMU switched OFF, so this should not be useful anymore. 560 * MMU switched OFF, so this should not be useful anymore.
diff --git a/arch/powerpc/platforms/powermac/cpufreq_32.c b/arch/powerpc/platforms/powermac/cpufreq_32.c
index 08d94e4cedd3..1e9eba175ff0 100644
--- a/arch/powerpc/platforms/powermac/cpufreq_32.c
+++ b/arch/powerpc/platforms/powermac/cpufreq_32.c
@@ -21,7 +21,6 @@
21#include <linux/sched.h> 21#include <linux/sched.h>
22#include <linux/adb.h> 22#include <linux/adb.h>
23#include <linux/pmu.h> 23#include <linux/pmu.h>
24#include <linux/slab.h>
25#include <linux/cpufreq.h> 24#include <linux/cpufreq.h>
26#include <linux/init.h> 25#include <linux/init.h>
27#include <linux/sysdev.h> 26#include <linux/sysdev.h>
@@ -657,31 +656,31 @@ static int __init pmac_cpufreq_setup(void)
657 cur_freq = (*value) / 1000; 656 cur_freq = (*value) / 1000;
658 657
659 /* Check for 7447A based MacRISC3 */ 658 /* Check for 7447A based MacRISC3 */
660 if (machine_is_compatible("MacRISC3") && 659 if (of_machine_is_compatible("MacRISC3") &&
661 of_get_property(cpunode, "dynamic-power-step", NULL) && 660 of_get_property(cpunode, "dynamic-power-step", NULL) &&
662 PVR_VER(mfspr(SPRN_PVR)) == 0x8003) { 661 PVR_VER(mfspr(SPRN_PVR)) == 0x8003) {
663 pmac_cpufreq_init_7447A(cpunode); 662 pmac_cpufreq_init_7447A(cpunode);
664 /* Check for other MacRISC3 machines */ 663 /* Check for other MacRISC3 machines */
665 } else if (machine_is_compatible("PowerBook3,4") || 664 } else if (of_machine_is_compatible("PowerBook3,4") ||
666 machine_is_compatible("PowerBook3,5") || 665 of_machine_is_compatible("PowerBook3,5") ||
667 machine_is_compatible("MacRISC3")) { 666 of_machine_is_compatible("MacRISC3")) {
668 pmac_cpufreq_init_MacRISC3(cpunode); 667 pmac_cpufreq_init_MacRISC3(cpunode);
669 /* Else check for iBook2 500/600 */ 668 /* Else check for iBook2 500/600 */
670 } else if (machine_is_compatible("PowerBook4,1")) { 669 } else if (of_machine_is_compatible("PowerBook4,1")) {
671 hi_freq = cur_freq; 670 hi_freq = cur_freq;
672 low_freq = 400000; 671 low_freq = 400000;
673 set_speed_proc = pmu_set_cpu_speed; 672 set_speed_proc = pmu_set_cpu_speed;
674 is_pmu_based = 1; 673 is_pmu_based = 1;
675 } 674 }
676 /* Else check for TiPb 550 */ 675 /* Else check for TiPb 550 */
677 else if (machine_is_compatible("PowerBook3,3") && cur_freq == 550000) { 676 else if (of_machine_is_compatible("PowerBook3,3") && cur_freq == 550000) {
678 hi_freq = cur_freq; 677 hi_freq = cur_freq;
679 low_freq = 500000; 678 low_freq = 500000;
680 set_speed_proc = pmu_set_cpu_speed; 679 set_speed_proc = pmu_set_cpu_speed;
681 is_pmu_based = 1; 680 is_pmu_based = 1;
682 } 681 }
683 /* Else check for TiPb 400 & 500 */ 682 /* Else check for TiPb 400 & 500 */
684 else if (machine_is_compatible("PowerBook3,2")) { 683 else if (of_machine_is_compatible("PowerBook3,2")) {
685 /* We only know about the 400 MHz and the 500Mhz model 684 /* We only know about the 400 MHz and the 500Mhz model
686 * they both have 300 MHz as low frequency 685 * they both have 300 MHz as low frequency
687 */ 686 */
diff --git a/arch/powerpc/platforms/powermac/cpufreq_64.c b/arch/powerpc/platforms/powermac/cpufreq_64.c
index 708c75133377..9650c6029c82 100644
--- a/arch/powerpc/platforms/powermac/cpufreq_64.c
+++ b/arch/powerpc/platforms/powermac/cpufreq_64.c
@@ -18,7 +18,6 @@
18#include <linux/kernel.h> 18#include <linux/kernel.h>
19#include <linux/delay.h> 19#include <linux/delay.h>
20#include <linux/sched.h> 20#include <linux/sched.h>
21#include <linux/slab.h>
22#include <linux/cpufreq.h> 21#include <linux/cpufreq.h>
23#include <linux/init.h> 22#include <linux/init.h>
24#include <linux/completion.h> 23#include <linux/completion.h>
@@ -363,7 +362,7 @@ static int g5_cpufreq_cpu_init(struct cpufreq_policy *policy)
363 /* secondary CPUs are tied to the primary one by the 362 /* secondary CPUs are tied to the primary one by the
364 * cpufreq core if in the secondary policy we tell it that 363 * cpufreq core if in the secondary policy we tell it that
365 * it actually must be one policy together with all others. */ 364 * it actually must be one policy together with all others. */
366 cpumask_copy(policy->cpus, &cpu_online_map); 365 cpumask_copy(policy->cpus, cpu_online_mask);
367 cpufreq_frequency_table_get_attr(g5_cpu_freqs, policy->cpu); 366 cpufreq_frequency_table_get_attr(g5_cpu_freqs, policy->cpu);
368 367
369 return cpufreq_frequency_table_cpuinfo(policy, 368 return cpufreq_frequency_table_cpuinfo(policy,
@@ -398,11 +397,11 @@ static int __init g5_neo2_cpufreq_init(struct device_node *cpus)
398 int rc = -ENODEV; 397 int rc = -ENODEV;
399 398
400 /* Check supported platforms */ 399 /* Check supported platforms */
401 if (machine_is_compatible("PowerMac8,1") || 400 if (of_machine_is_compatible("PowerMac8,1") ||
402 machine_is_compatible("PowerMac8,2") || 401 of_machine_is_compatible("PowerMac8,2") ||
403 machine_is_compatible("PowerMac9,1")) 402 of_machine_is_compatible("PowerMac9,1"))
404 use_volts_smu = 1; 403 use_volts_smu = 1;
405 else if (machine_is_compatible("PowerMac11,2")) 404 else if (of_machine_is_compatible("PowerMac11,2"))
406 use_volts_vdnap = 1; 405 use_volts_vdnap = 1;
407 else 406 else
408 return -ENODEV; 407 return -ENODEV;
@@ -729,9 +728,9 @@ static int __init g5_cpufreq_init(void)
729 return -ENODEV; 728 return -ENODEV;
730 } 729 }
731 730
732 if (machine_is_compatible("PowerMac7,2") || 731 if (of_machine_is_compatible("PowerMac7,2") ||
733 machine_is_compatible("PowerMac7,3") || 732 of_machine_is_compatible("PowerMac7,3") ||
734 machine_is_compatible("RackMac3,1")) 733 of_machine_is_compatible("RackMac3,1"))
735 rc = g5_pm72_cpufreq_init(cpus); 734 rc = g5_pm72_cpufreq_init(cpus);
736#ifdef CONFIG_PMAC_SMU 735#ifdef CONFIG_PMAC_SMU
737 else 736 else
diff --git a/arch/powerpc/platforms/powermac/feature.c b/arch/powerpc/platforms/powermac/feature.c
index fbc9bbd74dbd..9e1b9fd75206 100644
--- a/arch/powerpc/platforms/powermac/feature.c
+++ b/arch/powerpc/platforms/powermac/feature.c
@@ -59,10 +59,10 @@ extern struct device_node *k2_skiplist[2];
59 * We use a single global lock to protect accesses. Each driver has 59 * We use a single global lock to protect accesses. Each driver has
60 * to take care of its own locking 60 * to take care of its own locking
61 */ 61 */
62DEFINE_SPINLOCK(feature_lock); 62DEFINE_RAW_SPINLOCK(feature_lock);
63 63
64#define LOCK(flags) spin_lock_irqsave(&feature_lock, flags); 64#define LOCK(flags) raw_spin_lock_irqsave(&feature_lock, flags);
65#define UNLOCK(flags) spin_unlock_irqrestore(&feature_lock, flags); 65#define UNLOCK(flags) raw_spin_unlock_irqrestore(&feature_lock, flags);
66 66
67 67
68/* 68/*
@@ -2426,7 +2426,7 @@ static int __init probe_motherboard(void)
2426 } 2426 }
2427 } 2427 }
2428 for(i=0; i<ARRAY_SIZE(pmac_mb_defs); i++) { 2428 for(i=0; i<ARRAY_SIZE(pmac_mb_defs); i++) {
2429 if (machine_is_compatible(pmac_mb_defs[i].model_string)) { 2429 if (of_machine_is_compatible(pmac_mb_defs[i].model_string)) {
2430 pmac_mb = pmac_mb_defs[i]; 2430 pmac_mb = pmac_mb_defs[i];
2431 goto found; 2431 goto found;
2432 } 2432 }
diff --git a/arch/powerpc/platforms/powermac/low_i2c.c b/arch/powerpc/platforms/powermac/low_i2c.c
index 345e2da56767..06a137c5b8bb 100644
--- a/arch/powerpc/platforms/powermac/low_i2c.c
+++ b/arch/powerpc/platforms/powermac/low_i2c.c
@@ -43,6 +43,7 @@
43#include <linux/timer.h> 43#include <linux/timer.h>
44#include <linux/mutex.h> 44#include <linux/mutex.h>
45#include <linux/i2c.h> 45#include <linux/i2c.h>
46#include <linux/slab.h>
46#include <asm/keylargo.h> 47#include <asm/keylargo.h>
47#include <asm/uninorth.h> 48#include <asm/uninorth.h>
48#include <asm/io.h> 49#include <asm/io.h>
@@ -591,7 +592,7 @@ static void __init kw_i2c_probe(void)
591 /* Probe keywest-i2c busses */ 592 /* Probe keywest-i2c busses */
592 for_each_compatible_node(np, "i2c","keywest-i2c") { 593 for_each_compatible_node(np, "i2c","keywest-i2c") {
593 struct pmac_i2c_host_kw *host; 594 struct pmac_i2c_host_kw *host;
594 int multibus, chans, i; 595 int multibus;
595 596
596 /* Found one, init a host structure */ 597 /* Found one, init a host structure */
597 host = kw_i2c_host_init(np); 598 host = kw_i2c_host_init(np);
@@ -613,6 +614,8 @@ static void __init kw_i2c_probe(void)
613 * parent type 614 * parent type
614 */ 615 */
615 if (multibus) { 616 if (multibus) {
617 int chans, i;
618
616 parent = of_get_parent(np); 619 parent = of_get_parent(np);
617 if (parent == NULL) 620 if (parent == NULL)
618 continue; 621 continue;
@@ -1257,8 +1260,7 @@ static void pmac_i2c_do_end(struct pmf_function *func, void *instdata)
1257 if (inst == NULL) 1260 if (inst == NULL)
1258 return; 1261 return;
1259 pmac_i2c_close(inst->bus); 1262 pmac_i2c_close(inst->bus);
1260 if (inst) 1263 kfree(inst);
1261 kfree(inst);
1262} 1264}
1263 1265
1264static int pmac_i2c_do_read(PMF_STD_ARGS, u32 len) 1266static int pmac_i2c_do_read(PMF_STD_ARGS, u32 len)
diff --git a/arch/powerpc/platforms/powermac/nvram.c b/arch/powerpc/platforms/powermac/nvram.c
index c6f0f9e738e5..b1cdcf94aa8e 100644
--- a/arch/powerpc/platforms/powermac/nvram.c
+++ b/arch/powerpc/platforms/powermac/nvram.c
@@ -14,7 +14,6 @@
14#include <linux/string.h> 14#include <linux/string.h>
15#include <linux/nvram.h> 15#include <linux/nvram.h>
16#include <linux/init.h> 16#include <linux/init.h>
17#include <linux/slab.h>
18#include <linux/delay.h> 17#include <linux/delay.h>
19#include <linux/errno.h> 18#include <linux/errno.h>
20#include <linux/adb.h> 19#include <linux/adb.h>
@@ -80,7 +79,7 @@ static int is_core_99;
80static int core99_bank = 0; 79static int core99_bank = 0;
81static int nvram_partitions[3]; 80static int nvram_partitions[3];
82// XXX Turn that into a sem 81// XXX Turn that into a sem
83static DEFINE_SPINLOCK(nv_lock); 82static DEFINE_RAW_SPINLOCK(nv_lock);
84 83
85static int (*core99_write_bank)(int bank, u8* datas); 84static int (*core99_write_bank)(int bank, u8* datas);
86static int (*core99_erase_bank)(int bank); 85static int (*core99_erase_bank)(int bank);
@@ -165,10 +164,10 @@ static unsigned char indirect_nvram_read_byte(int addr)
165 unsigned char val; 164 unsigned char val;
166 unsigned long flags; 165 unsigned long flags;
167 166
168 spin_lock_irqsave(&nv_lock, flags); 167 raw_spin_lock_irqsave(&nv_lock, flags);
169 out_8(nvram_addr, addr >> 5); 168 out_8(nvram_addr, addr >> 5);
170 val = in_8(&nvram_data[(addr & 0x1f) << 4]); 169 val = in_8(&nvram_data[(addr & 0x1f) << 4]);
171 spin_unlock_irqrestore(&nv_lock, flags); 170 raw_spin_unlock_irqrestore(&nv_lock, flags);
172 171
173 return val; 172 return val;
174} 173}
@@ -177,10 +176,10 @@ static void indirect_nvram_write_byte(int addr, unsigned char val)
177{ 176{
178 unsigned long flags; 177 unsigned long flags;
179 178
180 spin_lock_irqsave(&nv_lock, flags); 179 raw_spin_lock_irqsave(&nv_lock, flags);
181 out_8(nvram_addr, addr >> 5); 180 out_8(nvram_addr, addr >> 5);
182 out_8(&nvram_data[(addr & 0x1f) << 4], val); 181 out_8(&nvram_data[(addr & 0x1f) << 4], val);
183 spin_unlock_irqrestore(&nv_lock, flags); 182 raw_spin_unlock_irqrestore(&nv_lock, flags);
184} 183}
185 184
186 185
@@ -481,7 +480,7 @@ static void core99_nvram_sync(void)
481 if (!is_core_99 || !nvram_data || !nvram_image) 480 if (!is_core_99 || !nvram_data || !nvram_image)
482 return; 481 return;
483 482
484 spin_lock_irqsave(&nv_lock, flags); 483 raw_spin_lock_irqsave(&nv_lock, flags);
485 if (!memcmp(nvram_image, (u8*)nvram_data + core99_bank*NVRAM_SIZE, 484 if (!memcmp(nvram_image, (u8*)nvram_data + core99_bank*NVRAM_SIZE,
486 NVRAM_SIZE)) 485 NVRAM_SIZE))
487 goto bail; 486 goto bail;
@@ -503,7 +502,7 @@ static void core99_nvram_sync(void)
503 if (core99_write_bank(core99_bank, nvram_image)) 502 if (core99_write_bank(core99_bank, nvram_image))
504 printk("nvram: Error writing bank %d\n", core99_bank); 503 printk("nvram: Error writing bank %d\n", core99_bank);
505 bail: 504 bail:
506 spin_unlock_irqrestore(&nv_lock, flags); 505 raw_spin_unlock_irqrestore(&nv_lock, flags);
507 506
508#ifdef DEBUG 507#ifdef DEBUG
509 mdelay(2000); 508 mdelay(2000);
diff --git a/arch/powerpc/platforms/powermac/pfunc_base.c b/arch/powerpc/platforms/powermac/pfunc_base.c
index db20de512f3e..f5e3cda6660e 100644
--- a/arch/powerpc/platforms/powermac/pfunc_base.c
+++ b/arch/powerpc/platforms/powermac/pfunc_base.c
@@ -50,13 +50,13 @@ static int macio_do_gpio_write(PMF_STD_ARGS, u8 value, u8 mask)
50 value = ~value; 50 value = ~value;
51 51
52 /* Toggle the GPIO */ 52 /* Toggle the GPIO */
53 spin_lock_irqsave(&feature_lock, flags); 53 raw_spin_lock_irqsave(&feature_lock, flags);
54 tmp = readb(addr); 54 tmp = readb(addr);
55 tmp = (tmp & ~mask) | (value & mask); 55 tmp = (tmp & ~mask) | (value & mask);
56 DBG("Do write 0x%02x to GPIO %s (%p)\n", 56 DBG("Do write 0x%02x to GPIO %s (%p)\n",
57 tmp, func->node->full_name, addr); 57 tmp, func->node->full_name, addr);
58 writeb(tmp, addr); 58 writeb(tmp, addr);
59 spin_unlock_irqrestore(&feature_lock, flags); 59 raw_spin_unlock_irqrestore(&feature_lock, flags);
60 60
61 return 0; 61 return 0;
62} 62}
@@ -145,9 +145,9 @@ static int macio_do_write_reg32(PMF_STD_ARGS, u32 offset, u32 value, u32 mask)
145 struct macio_chip *macio = func->driver_data; 145 struct macio_chip *macio = func->driver_data;
146 unsigned long flags; 146 unsigned long flags;
147 147
148 spin_lock_irqsave(&feature_lock, flags); 148 raw_spin_lock_irqsave(&feature_lock, flags);
149 MACIO_OUT32(offset, (MACIO_IN32(offset) & ~mask) | (value & mask)); 149 MACIO_OUT32(offset, (MACIO_IN32(offset) & ~mask) | (value & mask));
150 spin_unlock_irqrestore(&feature_lock, flags); 150 raw_spin_unlock_irqrestore(&feature_lock, flags);
151 return 0; 151 return 0;
152} 152}
153 153
@@ -168,9 +168,9 @@ static int macio_do_write_reg8(PMF_STD_ARGS, u32 offset, u8 value, u8 mask)
168 struct macio_chip *macio = func->driver_data; 168 struct macio_chip *macio = func->driver_data;
169 unsigned long flags; 169 unsigned long flags;
170 170
171 spin_lock_irqsave(&feature_lock, flags); 171 raw_spin_lock_irqsave(&feature_lock, flags);
172 MACIO_OUT8(offset, (MACIO_IN8(offset) & ~mask) | (value & mask)); 172 MACIO_OUT8(offset, (MACIO_IN8(offset) & ~mask) | (value & mask));
173 spin_unlock_irqrestore(&feature_lock, flags); 173 raw_spin_unlock_irqrestore(&feature_lock, flags);
174 return 0; 174 return 0;
175} 175}
176 176
@@ -223,12 +223,12 @@ static int macio_do_write_reg32_slm(PMF_STD_ARGS, u32 offset, u32 shift,
223 if (args == NULL || args->count == 0) 223 if (args == NULL || args->count == 0)
224 return -EINVAL; 224 return -EINVAL;
225 225
226 spin_lock_irqsave(&feature_lock, flags); 226 raw_spin_lock_irqsave(&feature_lock, flags);
227 tmp = MACIO_IN32(offset); 227 tmp = MACIO_IN32(offset);
228 val = args->u[0].v << shift; 228 val = args->u[0].v << shift;
229 tmp = (tmp & ~mask) | (val & mask); 229 tmp = (tmp & ~mask) | (val & mask);
230 MACIO_OUT32(offset, tmp); 230 MACIO_OUT32(offset, tmp);
231 spin_unlock_irqrestore(&feature_lock, flags); 231 raw_spin_unlock_irqrestore(&feature_lock, flags);
232 return 0; 232 return 0;
233} 233}
234 234
@@ -243,12 +243,12 @@ static int macio_do_write_reg8_slm(PMF_STD_ARGS, u32 offset, u32 shift,
243 if (args == NULL || args->count == 0) 243 if (args == NULL || args->count == 0)
244 return -EINVAL; 244 return -EINVAL;
245 245
246 spin_lock_irqsave(&feature_lock, flags); 246 raw_spin_lock_irqsave(&feature_lock, flags);
247 tmp = MACIO_IN8(offset); 247 tmp = MACIO_IN8(offset);
248 val = args->u[0].v << shift; 248 val = args->u[0].v << shift;
249 tmp = (tmp & ~mask) | (val & mask); 249 tmp = (tmp & ~mask) | (val & mask);
250 MACIO_OUT8(offset, tmp); 250 MACIO_OUT8(offset, tmp);
251 spin_unlock_irqrestore(&feature_lock, flags); 251 raw_spin_unlock_irqrestore(&feature_lock, flags);
252 return 0; 252 return 0;
253} 253}
254 254
@@ -278,12 +278,12 @@ static int unin_do_write_reg32(PMF_STD_ARGS, u32 offset, u32 value, u32 mask)
278{ 278{
279 unsigned long flags; 279 unsigned long flags;
280 280
281 spin_lock_irqsave(&feature_lock, flags); 281 raw_spin_lock_irqsave(&feature_lock, flags);
282 /* This is fairly bogus in darwin, but it should work for our needs 282 /* This is fairly bogus in darwin, but it should work for our needs
283 * implemeted that way: 283 * implemeted that way:
284 */ 284 */
285 UN_OUT(offset, (UN_IN(offset) & ~mask) | (value & mask)); 285 UN_OUT(offset, (UN_IN(offset) & ~mask) | (value & mask));
286 spin_unlock_irqrestore(&feature_lock, flags); 286 raw_spin_unlock_irqrestore(&feature_lock, flags);
287 return 0; 287 return 0;
288} 288}
289 289
diff --git a/arch/powerpc/platforms/powermac/pfunc_core.c b/arch/powerpc/platforms/powermac/pfunc_core.c
index 96d5ce50364e..cec635942657 100644
--- a/arch/powerpc/platforms/powermac/pfunc_core.c
+++ b/arch/powerpc/platforms/powermac/pfunc_core.c
@@ -9,6 +9,7 @@
9#include <linux/delay.h> 9#include <linux/delay.h>
10#include <linux/kernel.h> 10#include <linux/kernel.h>
11#include <linux/spinlock.h> 11#include <linux/spinlock.h>
12#include <linux/slab.h>
12#include <linux/module.h> 13#include <linux/module.h>
13#include <linux/mutex.h> 14#include <linux/mutex.h>
14 15
@@ -842,7 +843,7 @@ struct pmf_function *__pmf_find_function(struct device_node *target,
842 list_for_each_entry(func, &dev->functions, link) { 843 list_for_each_entry(func, &dev->functions, link) {
843 if (name && strcmp(name, func->name)) 844 if (name && strcmp(name, func->name))
844 continue; 845 continue;
845 if (func->phandle && target->node != func->phandle) 846 if (func->phandle && target->phandle != func->phandle)
846 continue; 847 continue;
847 if ((func->flags & flags) == 0) 848 if ((func->flags & flags) == 0)
848 continue; 849 continue;
diff --git a/arch/powerpc/platforms/powermac/pic.c b/arch/powerpc/platforms/powermac/pic.c
index 09e827296276..630a533d0e59 100644
--- a/arch/powerpc/platforms/powermac/pic.c
+++ b/arch/powerpc/platforms/powermac/pic.c
@@ -57,7 +57,7 @@ static int max_irqs;
57static int max_real_irqs; 57static int max_real_irqs;
58static u32 level_mask[4]; 58static u32 level_mask[4];
59 59
60static DEFINE_SPINLOCK(pmac_pic_lock); 60static DEFINE_RAW_SPINLOCK(pmac_pic_lock);
61 61
62#define NR_MASK_WORDS ((NR_IRQS + 31) / 32) 62#define NR_MASK_WORDS ((NR_IRQS + 31) / 32)
63static unsigned long ppc_lost_interrupts[NR_MASK_WORDS]; 63static unsigned long ppc_lost_interrupts[NR_MASK_WORDS];
@@ -85,7 +85,7 @@ static void pmac_mask_and_ack_irq(unsigned int virq)
85 int i = src >> 5; 85 int i = src >> 5;
86 unsigned long flags; 86 unsigned long flags;
87 87
88 spin_lock_irqsave(&pmac_pic_lock, flags); 88 raw_spin_lock_irqsave(&pmac_pic_lock, flags);
89 __clear_bit(src, ppc_cached_irq_mask); 89 __clear_bit(src, ppc_cached_irq_mask);
90 if (__test_and_clear_bit(src, ppc_lost_interrupts)) 90 if (__test_and_clear_bit(src, ppc_lost_interrupts))
91 atomic_dec(&ppc_n_lost_interrupts); 91 atomic_dec(&ppc_n_lost_interrupts);
@@ -97,7 +97,7 @@ static void pmac_mask_and_ack_irq(unsigned int virq)
97 mb(); 97 mb();
98 } while((in_le32(&pmac_irq_hw[i]->enable) & bit) 98 } while((in_le32(&pmac_irq_hw[i]->enable) & bit)
99 != (ppc_cached_irq_mask[i] & bit)); 99 != (ppc_cached_irq_mask[i] & bit));
100 spin_unlock_irqrestore(&pmac_pic_lock, flags); 100 raw_spin_unlock_irqrestore(&pmac_pic_lock, flags);
101} 101}
102 102
103static void pmac_ack_irq(unsigned int virq) 103static void pmac_ack_irq(unsigned int virq)
@@ -107,12 +107,12 @@ static void pmac_ack_irq(unsigned int virq)
107 int i = src >> 5; 107 int i = src >> 5;
108 unsigned long flags; 108 unsigned long flags;
109 109
110 spin_lock_irqsave(&pmac_pic_lock, flags); 110 raw_spin_lock_irqsave(&pmac_pic_lock, flags);
111 if (__test_and_clear_bit(src, ppc_lost_interrupts)) 111 if (__test_and_clear_bit(src, ppc_lost_interrupts))
112 atomic_dec(&ppc_n_lost_interrupts); 112 atomic_dec(&ppc_n_lost_interrupts);
113 out_le32(&pmac_irq_hw[i]->ack, bit); 113 out_le32(&pmac_irq_hw[i]->ack, bit);
114 (void)in_le32(&pmac_irq_hw[i]->ack); 114 (void)in_le32(&pmac_irq_hw[i]->ack);
115 spin_unlock_irqrestore(&pmac_pic_lock, flags); 115 raw_spin_unlock_irqrestore(&pmac_pic_lock, flags);
116} 116}
117 117
118static void __pmac_set_irq_mask(unsigned int irq_nr, int nokicklost) 118static void __pmac_set_irq_mask(unsigned int irq_nr, int nokicklost)
@@ -152,12 +152,12 @@ static unsigned int pmac_startup_irq(unsigned int virq)
152 unsigned long bit = 1UL << (src & 0x1f); 152 unsigned long bit = 1UL << (src & 0x1f);
153 int i = src >> 5; 153 int i = src >> 5;
154 154
155 spin_lock_irqsave(&pmac_pic_lock, flags); 155 raw_spin_lock_irqsave(&pmac_pic_lock, flags);
156 if ((irq_to_desc(virq)->status & IRQ_LEVEL) == 0) 156 if ((irq_to_desc(virq)->status & IRQ_LEVEL) == 0)
157 out_le32(&pmac_irq_hw[i]->ack, bit); 157 out_le32(&pmac_irq_hw[i]->ack, bit);
158 __set_bit(src, ppc_cached_irq_mask); 158 __set_bit(src, ppc_cached_irq_mask);
159 __pmac_set_irq_mask(src, 0); 159 __pmac_set_irq_mask(src, 0);
160 spin_unlock_irqrestore(&pmac_pic_lock, flags); 160 raw_spin_unlock_irqrestore(&pmac_pic_lock, flags);
161 161
162 return 0; 162 return 0;
163} 163}
@@ -167,10 +167,10 @@ static void pmac_mask_irq(unsigned int virq)
167 unsigned long flags; 167 unsigned long flags;
168 unsigned int src = irq_map[virq].hwirq; 168 unsigned int src = irq_map[virq].hwirq;
169 169
170 spin_lock_irqsave(&pmac_pic_lock, flags); 170 raw_spin_lock_irqsave(&pmac_pic_lock, flags);
171 __clear_bit(src, ppc_cached_irq_mask); 171 __clear_bit(src, ppc_cached_irq_mask);
172 __pmac_set_irq_mask(src, 1); 172 __pmac_set_irq_mask(src, 1);
173 spin_unlock_irqrestore(&pmac_pic_lock, flags); 173 raw_spin_unlock_irqrestore(&pmac_pic_lock, flags);
174} 174}
175 175
176static void pmac_unmask_irq(unsigned int virq) 176static void pmac_unmask_irq(unsigned int virq)
@@ -178,24 +178,24 @@ static void pmac_unmask_irq(unsigned int virq)
178 unsigned long flags; 178 unsigned long flags;
179 unsigned int src = irq_map[virq].hwirq; 179 unsigned int src = irq_map[virq].hwirq;
180 180
181 spin_lock_irqsave(&pmac_pic_lock, flags); 181 raw_spin_lock_irqsave(&pmac_pic_lock, flags);
182 __set_bit(src, ppc_cached_irq_mask); 182 __set_bit(src, ppc_cached_irq_mask);
183 __pmac_set_irq_mask(src, 0); 183 __pmac_set_irq_mask(src, 0);
184 spin_unlock_irqrestore(&pmac_pic_lock, flags); 184 raw_spin_unlock_irqrestore(&pmac_pic_lock, flags);
185} 185}
186 186
187static int pmac_retrigger(unsigned int virq) 187static int pmac_retrigger(unsigned int virq)
188{ 188{
189 unsigned long flags; 189 unsigned long flags;
190 190
191 spin_lock_irqsave(&pmac_pic_lock, flags); 191 raw_spin_lock_irqsave(&pmac_pic_lock, flags);
192 __pmac_retrigger(irq_map[virq].hwirq); 192 __pmac_retrigger(irq_map[virq].hwirq);
193 spin_unlock_irqrestore(&pmac_pic_lock, flags); 193 raw_spin_unlock_irqrestore(&pmac_pic_lock, flags);
194 return 1; 194 return 1;
195} 195}
196 196
197static struct irq_chip pmac_pic = { 197static struct irq_chip pmac_pic = {
198 .name = " PMAC-PIC ", 198 .name = "PMAC-PIC",
199 .startup = pmac_startup_irq, 199 .startup = pmac_startup_irq,
200 .mask = pmac_mask_irq, 200 .mask = pmac_mask_irq,
201 .ack = pmac_ack_irq, 201 .ack = pmac_ack_irq,
@@ -210,7 +210,7 @@ static irqreturn_t gatwick_action(int cpl, void *dev_id)
210 int irq, bits; 210 int irq, bits;
211 int rc = IRQ_NONE; 211 int rc = IRQ_NONE;
212 212
213 spin_lock_irqsave(&pmac_pic_lock, flags); 213 raw_spin_lock_irqsave(&pmac_pic_lock, flags);
214 for (irq = max_irqs; (irq -= 32) >= max_real_irqs; ) { 214 for (irq = max_irqs; (irq -= 32) >= max_real_irqs; ) {
215 int i = irq >> 5; 215 int i = irq >> 5;
216 bits = in_le32(&pmac_irq_hw[i]->event) | ppc_lost_interrupts[i]; 216 bits = in_le32(&pmac_irq_hw[i]->event) | ppc_lost_interrupts[i];
@@ -220,12 +220,12 @@ static irqreturn_t gatwick_action(int cpl, void *dev_id)
220 if (bits == 0) 220 if (bits == 0)
221 continue; 221 continue;
222 irq += __ilog2(bits); 222 irq += __ilog2(bits);
223 spin_unlock_irqrestore(&pmac_pic_lock, flags); 223 raw_spin_unlock_irqrestore(&pmac_pic_lock, flags);
224 generic_handle_irq(irq); 224 generic_handle_irq(irq);
225 spin_lock_irqsave(&pmac_pic_lock, flags); 225 raw_spin_lock_irqsave(&pmac_pic_lock, flags);
226 rc = IRQ_HANDLED; 226 rc = IRQ_HANDLED;
227 } 227 }
228 spin_unlock_irqrestore(&pmac_pic_lock, flags); 228 raw_spin_unlock_irqrestore(&pmac_pic_lock, flags);
229 return rc; 229 return rc;
230} 230}
231 231
@@ -244,7 +244,7 @@ static unsigned int pmac_pic_get_irq(void)
244 return NO_IRQ_IGNORE; /* ignore, already handled */ 244 return NO_IRQ_IGNORE; /* ignore, already handled */
245 } 245 }
246#endif /* CONFIG_SMP */ 246#endif /* CONFIG_SMP */
247 spin_lock_irqsave(&pmac_pic_lock, flags); 247 raw_spin_lock_irqsave(&pmac_pic_lock, flags);
248 for (irq = max_real_irqs; (irq -= 32) >= 0; ) { 248 for (irq = max_real_irqs; (irq -= 32) >= 0; ) {
249 int i = irq >> 5; 249 int i = irq >> 5;
250 bits = in_le32(&pmac_irq_hw[i]->event) | ppc_lost_interrupts[i]; 250 bits = in_le32(&pmac_irq_hw[i]->event) | ppc_lost_interrupts[i];
@@ -256,7 +256,7 @@ static unsigned int pmac_pic_get_irq(void)
256 irq += __ilog2(bits); 256 irq += __ilog2(bits);
257 break; 257 break;
258 } 258 }
259 spin_unlock_irqrestore(&pmac_pic_lock, flags); 259 raw_spin_unlock_irqrestore(&pmac_pic_lock, flags);
260 if (unlikely(irq < 0)) 260 if (unlikely(irq < 0))
261 return NO_IRQ; 261 return NO_IRQ;
262 return irq_linear_revmap(pmac_pic_host, irq); 262 return irq_linear_revmap(pmac_pic_host, irq);
diff --git a/arch/powerpc/platforms/powermac/pmac.h b/arch/powerpc/platforms/powermac/pmac.h
index 3362e781b6a7..f0bc08f6c1f0 100644
--- a/arch/powerpc/platforms/powermac/pmac.h
+++ b/arch/powerpc/platforms/powermac/pmac.h
@@ -33,6 +33,8 @@ extern void pmac_setup_pci_dma(void);
33extern void pmac_check_ht_link(void); 33extern void pmac_check_ht_link(void);
34 34
35extern void pmac_setup_smp(void); 35extern void pmac_setup_smp(void);
36extern void pmac32_cpu_die(void);
37extern void low_cpu_die(void) __attribute__((noreturn));
36 38
37extern int pmac_nvram_init(void); 39extern int pmac_nvram_init(void);
38extern void pmac_pic_init(void); 40extern void pmac_pic_init(void);
diff --git a/arch/powerpc/platforms/powermac/setup.c b/arch/powerpc/platforms/powermac/setup.c
index c20522656367..9deb274841f1 100644
--- a/arch/powerpc/platforms/powermac/setup.c
+++ b/arch/powerpc/platforms/powermac/setup.c
@@ -31,7 +31,6 @@
31#include <linux/stddef.h> 31#include <linux/stddef.h>
32#include <linux/unistd.h> 32#include <linux/unistd.h>
33#include <linux/ptrace.h> 33#include <linux/ptrace.h>
34#include <linux/slab.h>
35#include <linux/user.h> 34#include <linux/user.h>
36#include <linux/tty.h> 35#include <linux/tty.h>
37#include <linux/string.h> 36#include <linux/string.h>
@@ -52,7 +51,7 @@
52#include <linux/suspend.h> 51#include <linux/suspend.h>
53#include <linux/of_device.h> 52#include <linux/of_device.h>
54#include <linux/of_platform.h> 53#include <linux/of_platform.h>
55#include <linux/lmb.h> 54#include <linux/memblock.h>
56 55
57#include <asm/reg.h> 56#include <asm/reg.h>
58#include <asm/sections.h> 57#include <asm/sections.h>
@@ -481,7 +480,7 @@ static void __init pmac_init_early(void)
481#endif 480#endif
482 481
483 /* SMP Init has to be done early as we need to patch up 482 /* SMP Init has to be done early as we need to patch up
484 * cpu_possible_map before interrupt stacks are allocated 483 * cpu_possible_mask before interrupt stacks are allocated
485 * or kaboom... 484 * or kaboom...
486 */ 485 */
487#ifdef CONFIG_SMP 486#ifdef CONFIG_SMP
@@ -620,7 +619,7 @@ static int __init pmac_probe(void)
620 * driver needs that. We have to allocate it now. We allocate 4k 619 * driver needs that. We have to allocate it now. We allocate 4k
621 * (1 small page) for now. 620 * (1 small page) for now.
622 */ 621 */
623 smu_cmdbuf_abs = lmb_alloc_base(4096, 4096, 0x80000000UL); 622 smu_cmdbuf_abs = memblock_alloc_base(4096, 4096, 0x80000000UL);
624#endif /* CONFIG_PMAC_SMU */ 623#endif /* CONFIG_PMAC_SMU */
625 624
626 return 1; 625 return 1;
@@ -647,7 +646,7 @@ static int pmac_pci_probe_mode(struct pci_bus *bus)
647/* access per cpu vars from generic smp.c */ 646/* access per cpu vars from generic smp.c */
648DECLARE_PER_CPU(int, cpu_state); 647DECLARE_PER_CPU(int, cpu_state);
649 648
650static void pmac_cpu_die(void) 649static void pmac64_cpu_die(void)
651{ 650{
652 /* 651 /*
653 * turn off as much as possible, we'll be 652 * turn off as much as possible, we'll be
@@ -718,8 +717,13 @@ define_machine(powermac) {
718 .pcibios_after_init = pmac_pcibios_after_init, 717 .pcibios_after_init = pmac_pcibios_after_init,
719 .phys_mem_access_prot = pci_phys_mem_access_prot, 718 .phys_mem_access_prot = pci_phys_mem_access_prot,
720#endif 719#endif
721#if defined(CONFIG_HOTPLUG_CPU) && defined(CONFIG_PPC64) 720#ifdef CONFIG_HOTPLUG_CPU
722 .cpu_die = pmac_cpu_die, 721#ifdef CONFIG_PPC64
722 .cpu_die = pmac64_cpu_die,
723#endif
724#ifdef CONFIG_PPC32
725 .cpu_die = pmac32_cpu_die,
726#endif
723#endif 727#endif
724#if defined(CONFIG_HOTPLUG_CPU) && defined(CONFIG_PPC32) 728#if defined(CONFIG_HOTPLUG_CPU) && defined(CONFIG_PPC32)
725 .cpu_die = generic_mach_cpu_die, 729 .cpu_die = generic_mach_cpu_die,
diff --git a/arch/powerpc/platforms/powermac/smp.c b/arch/powerpc/platforms/powermac/smp.c
index b40c22d697f0..c95215f4f8b6 100644
--- a/arch/powerpc/platforms/powermac/smp.c
+++ b/arch/powerpc/platforms/powermac/smp.c
@@ -53,6 +53,8 @@
53#include <asm/pmac_low_i2c.h> 53#include <asm/pmac_low_i2c.h>
54#include <asm/pmac_pfunc.h> 54#include <asm/pmac_pfunc.h>
55 55
56#include "pmac.h"
57
56#undef DEBUG 58#undef DEBUG
57 59
58#ifdef DEBUG 60#ifdef DEBUG
@@ -315,7 +317,7 @@ static int __init smp_psurge_probe(void)
315 /* This is necessary because OF doesn't know about the 317 /* This is necessary because OF doesn't know about the
316 * secondary cpu(s), and thus there aren't nodes in the 318 * secondary cpu(s), and thus there aren't nodes in the
317 * device tree for them, and smp_setup_cpu_maps hasn't 319 * device tree for them, and smp_setup_cpu_maps hasn't
318 * set their bits in cpu_present_map. 320 * set their bits in cpu_present_mask.
319 */ 321 */
320 if (ncpus > NR_CPUS) 322 if (ncpus > NR_CPUS)
321 ncpus = NR_CPUS; 323 ncpus = NR_CPUS;
@@ -693,9 +695,9 @@ static void __init smp_core99_setup(int ncpus)
693#ifdef CONFIG_PPC64 695#ifdef CONFIG_PPC64
694 696
695 /* i2c based HW sync on some G5s */ 697 /* i2c based HW sync on some G5s */
696 if (machine_is_compatible("PowerMac7,2") || 698 if (of_machine_is_compatible("PowerMac7,2") ||
697 machine_is_compatible("PowerMac7,3") || 699 of_machine_is_compatible("PowerMac7,3") ||
698 machine_is_compatible("RackMac3,1")) 700 of_machine_is_compatible("RackMac3,1"))
699 smp_core99_setup_i2c_hwsync(ncpus); 701 smp_core99_setup_i2c_hwsync(ncpus);
700 702
701 /* pfunc based HW sync on recent G5s */ 703 /* pfunc based HW sync on recent G5s */
@@ -713,7 +715,7 @@ static void __init smp_core99_setup(int ncpus)
713#else /* CONFIG_PPC64 */ 715#else /* CONFIG_PPC64 */
714 716
715 /* GPIO based HW sync on ppc32 Core99 */ 717 /* GPIO based HW sync on ppc32 Core99 */
716 if (pmac_tb_freeze == NULL && !machine_is_compatible("MacRISC4")) { 718 if (pmac_tb_freeze == NULL && !of_machine_is_compatible("MacRISC4")) {
717 struct device_node *cpu; 719 struct device_node *cpu;
718 const u32 *tbprop = NULL; 720 const u32 *tbprop = NULL;
719 721
@@ -750,7 +752,7 @@ static void __init smp_core99_setup(int ncpus)
750#endif 752#endif
751 753
752 /* 32 bits SMP can't NAP */ 754 /* 32 bits SMP can't NAP */
753 if (!machine_is_compatible("MacRISC4")) 755 if (!of_machine_is_compatible("MacRISC4"))
754 powersave_nap = 0; 756 powersave_nap = 0;
755} 757}
756 758
@@ -852,7 +854,7 @@ static void __devinit smp_core99_setup_cpu(int cpu_nr)
852 /* If we didn't start the second CPU, we must take 854 /* If we didn't start the second CPU, we must take
853 * it off the bus 855 * it off the bus
854 */ 856 */
855 if (machine_is_compatible("MacRISC4") && 857 if (of_machine_is_compatible("MacRISC4") &&
856 num_online_cpus() < 2) 858 num_online_cpus() < 2)
857 g5_phy_disable_cpu1(); 859 g5_phy_disable_cpu1();
858#endif /* CONFIG_PPC64 */ 860#endif /* CONFIG_PPC64 */
@@ -878,10 +880,9 @@ int smp_core99_cpu_disable(void)
878 return 0; 880 return 0;
879} 881}
880 882
881extern void low_cpu_die(void) __attribute__((noreturn)); /* in sleep.S */
882static int cpu_dead[NR_CPUS]; 883static int cpu_dead[NR_CPUS];
883 884
884void cpu_die(void) 885void pmac32_cpu_die(void)
885{ 886{
886 local_irq_disable(); 887 local_irq_disable();
887 cpu_dead[smp_processor_id()] = 1; 888 cpu_dead[smp_processor_id()] = 1;
@@ -944,7 +945,7 @@ void __init pmac_setup_smp(void)
944 } 945 }
945#ifdef CONFIG_PPC32 946#ifdef CONFIG_PPC32
946 else { 947 else {
947 /* We have to set bits in cpu_possible_map here since the 948 /* We have to set bits in cpu_possible_mask here since the
948 * secondary CPU(s) aren't in the device tree. Various 949 * secondary CPU(s) aren't in the device tree. Various
949 * things won't be initialized for CPUs not in the possible 950 * things won't be initialized for CPUs not in the possible
950 * map, so we really need to fix it up here. 951 * map, so we really need to fix it up here.
diff --git a/arch/powerpc/platforms/powermac/time.c b/arch/powerpc/platforms/powermac/time.c
index 1810e4226e56..48211ca134c3 100644
--- a/arch/powerpc/platforms/powermac/time.c
+++ b/arch/powerpc/platforms/powermac/time.c
@@ -317,9 +317,9 @@ void __init pmac_calibrate_decr(void)
317 * calibration. That's better since the VIA itself seems 317 * calibration. That's better since the VIA itself seems
318 * to be slightly off. --BenH 318 * to be slightly off. --BenH
319 */ 319 */
320 if (!machine_is_compatible("MacRISC2") && 320 if (!of_machine_is_compatible("MacRISC2") &&
321 !machine_is_compatible("MacRISC3") && 321 !of_machine_is_compatible("MacRISC3") &&
322 !machine_is_compatible("MacRISC4")) 322 !of_machine_is_compatible("MacRISC4"))
323 if (via_calibrate_decr()) 323 if (via_calibrate_decr())
324 return; 324 return;
325 325
@@ -328,7 +328,7 @@ void __init pmac_calibrate_decr(void)
328 * probably implement calibration based on the KL timer on these 328 * probably implement calibration based on the KL timer on these
329 * machines anyway... -BenH 329 * machines anyway... -BenH
330 */ 330 */
331 if (machine_is_compatible("PowerMac3,5")) 331 if (of_machine_is_compatible("PowerMac3,5"))
332 if (via_calibrate_decr()) 332 if (via_calibrate_decr())
333 return; 333 return;
334#endif 334#endif
diff --git a/arch/powerpc/platforms/powermac/udbg_scc.c b/arch/powerpc/platforms/powermac/udbg_scc.c
index 9490157da62e..d83135a9830e 100644
--- a/arch/powerpc/platforms/powermac/udbg_scc.c
+++ b/arch/powerpc/platforms/powermac/udbg_scc.c
@@ -132,9 +132,9 @@ void udbg_scc_init(int force_scc)
132 scc_inittab[1] = in_8(sccc); 132 scc_inittab[1] = in_8(sccc);
133 out_8(sccc, 12); 133 out_8(sccc, 12);
134 scc_inittab[3] = in_8(sccc); 134 scc_inittab[3] = in_8(sccc);
135 } else if (machine_is_compatible("RackMac1,1") 135 } else if (of_machine_is_compatible("RackMac1,1")
136 || machine_is_compatible("RackMac1,2") 136 || of_machine_is_compatible("RackMac1,2")
137 || machine_is_compatible("MacRISC4")) { 137 || of_machine_is_compatible("MacRISC4")) {
138 /* Xserves and G5s default to 57600 */ 138 /* Xserves and G5s default to 57600 */
139 scc_inittab[1] = 0; 139 scc_inittab[1] = 0;
140 scc_inittab[3] = 0; 140 scc_inittab[3] = 0;
diff --git a/arch/powerpc/platforms/ps3/device-init.c b/arch/powerpc/platforms/ps3/device-init.c
index bb028f165fb3..b341018326df 100644
--- a/arch/powerpc/platforms/ps3/device-init.c
+++ b/arch/powerpc/platforms/ps3/device-init.c
@@ -23,6 +23,7 @@
23#include <linux/kernel.h> 23#include <linux/kernel.h>
24#include <linux/kthread.h> 24#include <linux/kthread.h>
25#include <linux/init.h> 25#include <linux/init.h>
26#include <linux/slab.h>
26#include <linux/reboot.h> 27#include <linux/reboot.h>
27 28
28#include <asm/firmware.h> 29#include <asm/firmware.h>
diff --git a/arch/powerpc/platforms/ps3/htab.c b/arch/powerpc/platforms/ps3/htab.c
index 1e8a1e39dfe8..2c0ed87f2024 100644
--- a/arch/powerpc/platforms/ps3/htab.c
+++ b/arch/powerpc/platforms/ps3/htab.c
@@ -19,7 +19,7 @@
19 */ 19 */
20 20
21#include <linux/kernel.h> 21#include <linux/kernel.h>
22#include <linux/lmb.h> 22#include <linux/memblock.h>
23 23
24#include <asm/machdep.h> 24#include <asm/machdep.h>
25#include <asm/prom.h> 25#include <asm/prom.h>
diff --git a/arch/powerpc/platforms/ps3/mm.c b/arch/powerpc/platforms/ps3/mm.c
index e81b028a2a48..c2045880e674 100644
--- a/arch/powerpc/platforms/ps3/mm.c
+++ b/arch/powerpc/platforms/ps3/mm.c
@@ -21,7 +21,8 @@
21#include <linux/kernel.h> 21#include <linux/kernel.h>
22#include <linux/module.h> 22#include <linux/module.h>
23#include <linux/memory_hotplug.h> 23#include <linux/memory_hotplug.h>
24#include <linux/lmb.h> 24#include <linux/memblock.h>
25#include <linux/slab.h>
25 26
26#include <asm/cell-regs.h> 27#include <asm/cell-regs.h>
27#include <asm/firmware.h> 28#include <asm/firmware.h>
@@ -317,8 +318,8 @@ static int __init ps3_mm_add_memory(void)
317 return result; 318 return result;
318 } 319 }
319 320
320 lmb_add(start_addr, map.r1.size); 321 memblock_add(start_addr, map.r1.size);
321 lmb_analyze(); 322 memblock_analyze();
322 323
323 result = online_pages(start_pfn, nr_pages); 324 result = online_pages(start_pfn, nr_pages);
324 325
diff --git a/arch/powerpc/platforms/ps3/os-area.c b/arch/powerpc/platforms/ps3/os-area.c
index d6487a9c8019..5b759b669598 100644
--- a/arch/powerpc/platforms/ps3/os-area.c
+++ b/arch/powerpc/platforms/ps3/os-area.c
@@ -24,8 +24,9 @@
24#include <linux/fs.h> 24#include <linux/fs.h>
25#include <linux/syscalls.h> 25#include <linux/syscalls.h>
26#include <linux/ctype.h> 26#include <linux/ctype.h>
27#include <linux/lmb.h> 27#include <linux/memblock.h>
28#include <linux/of.h> 28#include <linux/of.h>
29#include <linux/slab.h>
29 30
30#include <asm/prom.h> 31#include <asm/prom.h>
31 32
@@ -722,7 +723,7 @@ static void os_area_queue_work(void)
722 * flash to a high address in the boot memory region and then puts that RAM 723 * flash to a high address in the boot memory region and then puts that RAM
723 * address and the byte count into the repository for retrieval by the guest. 724 * address and the byte count into the repository for retrieval by the guest.
724 * We copy the data we want into a static variable and allow the memory setup 725 * We copy the data we want into a static variable and allow the memory setup
725 * by the HV to be claimed by the lmb manager. 726 * by the HV to be claimed by the memblock manager.
726 * 727 *
727 * The os area mirror will not be available to a second stage kernel, and 728 * The os area mirror will not be available to a second stage kernel, and
728 * the header verify will fail. In this case, the saved_params values will 729 * the header verify will fail. In this case, the saved_params values will
diff --git a/arch/powerpc/platforms/ps3/spu.c b/arch/powerpc/platforms/ps3/spu.c
index b3c6a993f9f3..39a472e9e80f 100644
--- a/arch/powerpc/platforms/ps3/spu.c
+++ b/arch/powerpc/platforms/ps3/spu.c
@@ -20,6 +20,7 @@
20 20
21#include <linux/kernel.h> 21#include <linux/kernel.h>
22#include <linux/init.h> 22#include <linux/init.h>
23#include <linux/slab.h>
23#include <linux/mmzone.h> 24#include <linux/mmzone.h>
24#include <linux/io.h> 25#include <linux/io.h>
25#include <linux/mm.h> 26#include <linux/mm.h>
diff --git a/arch/powerpc/platforms/ps3/system-bus.c b/arch/powerpc/platforms/ps3/system-bus.c
index e34b305a7a52..23083c397528 100644
--- a/arch/powerpc/platforms/ps3/system-bus.c
+++ b/arch/powerpc/platforms/ps3/system-bus.c
@@ -23,6 +23,7 @@
23#include <linux/module.h> 23#include <linux/module.h>
24#include <linux/dma-mapping.h> 24#include <linux/dma-mapping.h>
25#include <linux/err.h> 25#include <linux/err.h>
26#include <linux/slab.h>
26 27
27#include <asm/udbg.h> 28#include <asm/udbg.h>
28#include <asm/lv1call.h> 29#include <asm/lv1call.h>
@@ -765,7 +766,7 @@ int ps3_system_bus_device_register(struct ps3_system_bus_device *dev)
765 BUG(); 766 BUG();
766 }; 767 };
767 768
768 dev->core.archdata.of_node = NULL; 769 dev->core.of_node = NULL;
769 set_dev_node(&dev->core, 0); 770 set_dev_node(&dev->core, 0);
770 771
771 pr_debug("%s:%d add %s\n", __func__, __LINE__, dev_name(&dev->core)); 772 pr_debug("%s:%d add %s\n", __func__, __LINE__, dev_name(&dev->core));
diff --git a/arch/powerpc/platforms/pseries/Makefile b/arch/powerpc/platforms/pseries/Makefile
index 0ff5174ae4f5..3dbef309bc8d 100644
--- a/arch/powerpc/platforms/pseries/Makefile
+++ b/arch/powerpc/platforms/pseries/Makefile
@@ -7,7 +7,7 @@ EXTRA_CFLAGS += -DDEBUG
7endif 7endif
8 8
9obj-y := lpar.o hvCall.o nvram.o reconfig.o \ 9obj-y := lpar.o hvCall.o nvram.o reconfig.o \
10 setup.o iommu.o ras.o \ 10 setup.o iommu.o event_sources.o ras.o \
11 firmware.o power.o dlpar.o 11 firmware.o power.o dlpar.o
12obj-$(CONFIG_SMP) += smp.o 12obj-$(CONFIG_SMP) += smp.o
13obj-$(CONFIG_XICS) += xics.o 13obj-$(CONFIG_XICS) += xics.o
diff --git a/arch/powerpc/platforms/pseries/cmm.c b/arch/powerpc/platforms/pseries/cmm.c
index a277f2e28dbc..f4803868642c 100644
--- a/arch/powerpc/platforms/pseries/cmm.c
+++ b/arch/powerpc/platforms/pseries/cmm.c
@@ -24,6 +24,7 @@
24#include <linux/delay.h> 24#include <linux/delay.h>
25#include <linux/errno.h> 25#include <linux/errno.h>
26#include <linux/fs.h> 26#include <linux/fs.h>
27#include <linux/gfp.h>
27#include <linux/init.h> 28#include <linux/init.h>
28#include <linux/kthread.h> 29#include <linux/kthread.h>
29#include <linux/module.h> 30#include <linux/module.h>
diff --git a/arch/powerpc/platforms/pseries/dlpar.c b/arch/powerpc/platforms/pseries/dlpar.c
index 37bce52526da..d71e58584086 100644
--- a/arch/powerpc/platforms/pseries/dlpar.c
+++ b/arch/powerpc/platforms/pseries/dlpar.c
@@ -16,6 +16,7 @@
16#include <linux/proc_fs.h> 16#include <linux/proc_fs.h>
17#include <linux/spinlock.h> 17#include <linux/spinlock.h>
18#include <linux/cpu.h> 18#include <linux/cpu.h>
19#include <linux/slab.h>
19#include "offline_states.h" 20#include "offline_states.h"
20 21
21#include <asm/prom.h> 22#include <asm/prom.h>
@@ -78,13 +79,12 @@ static struct device_node *dlpar_parse_cc_node(struct cc_workarea *ccwa)
78 * prepend this to the full_name. 79 * prepend this to the full_name.
79 */ 80 */
80 name = (char *)ccwa + ccwa->name_offset; 81 name = (char *)ccwa + ccwa->name_offset;
81 dn->full_name = kmalloc(strlen(name) + 2, GFP_KERNEL); 82 dn->full_name = kasprintf(GFP_KERNEL, "/%s", name);
82 if (!dn->full_name) { 83 if (!dn->full_name) {
83 kfree(dn); 84 kfree(dn);
84 return NULL; 85 return NULL;
85 } 86 }
86 87
87 sprintf(dn->full_name, "/%s", name);
88 return dn; 88 return dn;
89} 89}
90 90
@@ -409,15 +409,13 @@ static ssize_t dlpar_cpu_probe(const char *buf, size_t count)
409 * directory of the device tree. CPUs actually live in the 409 * directory of the device tree. CPUs actually live in the
410 * cpus directory so we need to fixup the full_name. 410 * cpus directory so we need to fixup the full_name.
411 */ 411 */
412 cpu_name = kzalloc(strlen(dn->full_name) + strlen("/cpus") + 1, 412 cpu_name = kasprintf(GFP_KERNEL, "/cpus%s", dn->full_name);
413 GFP_KERNEL);
414 if (!cpu_name) { 413 if (!cpu_name) {
415 dlpar_free_cc_nodes(dn); 414 dlpar_free_cc_nodes(dn);
416 rc = -ENOMEM; 415 rc = -ENOMEM;
417 goto out; 416 goto out;
418 } 417 }
419 418
420 sprintf(cpu_name, "/cpus%s", dn->full_name);
421 kfree(dn->full_name); 419 kfree(dn->full_name);
422 dn->full_name = cpu_name; 420 dn->full_name = cpu_name;
423 421
@@ -432,6 +430,7 @@ static ssize_t dlpar_cpu_probe(const char *buf, size_t count)
432 if (rc) { 430 if (rc) {
433 dlpar_release_drc(drc_index); 431 dlpar_release_drc(drc_index);
434 dlpar_free_cc_nodes(dn); 432 dlpar_free_cc_nodes(dn);
433 goto out;
435 } 434 }
436 435
437 rc = dlpar_online_cpu(dn); 436 rc = dlpar_online_cpu(dn);
diff --git a/arch/powerpc/platforms/pseries/dtl.c b/arch/powerpc/platforms/pseries/dtl.c
index c5f3116b6ca5..a00addb55945 100644
--- a/arch/powerpc/platforms/pseries/dtl.c
+++ b/arch/powerpc/platforms/pseries/dtl.c
@@ -21,6 +21,7 @@
21 */ 21 */
22 22
23#include <linux/init.h> 23#include <linux/init.h>
24#include <linux/slab.h>
24#include <linux/debugfs.h> 25#include <linux/debugfs.h>
25#include <asm/smp.h> 26#include <asm/smp.h>
26#include <asm/system.h> 27#include <asm/system.h>
diff --git a/arch/powerpc/platforms/pseries/eeh.c b/arch/powerpc/platforms/pseries/eeh.c
index ccd8dd03b8c9..34b7dc12e731 100644
--- a/arch/powerpc/platforms/pseries/eeh.c
+++ b/arch/powerpc/platforms/pseries/eeh.c
@@ -100,7 +100,7 @@ int eeh_subsystem_enabled;
100EXPORT_SYMBOL(eeh_subsystem_enabled); 100EXPORT_SYMBOL(eeh_subsystem_enabled);
101 101
102/* Lock to avoid races due to multiple reports of an error */ 102/* Lock to avoid races due to multiple reports of an error */
103static DEFINE_SPINLOCK(confirm_error_lock); 103static DEFINE_RAW_SPINLOCK(confirm_error_lock);
104 104
105/* Buffer for reporting slot-error-detail rtas calls. Its here 105/* Buffer for reporting slot-error-detail rtas calls. Its here
106 * in BSS, and not dynamically alloced, so that it ends up in 106 * in BSS, and not dynamically alloced, so that it ends up in
@@ -436,7 +436,7 @@ static void __eeh_clear_slot(struct device_node *parent, int mode_flag)
436void eeh_clear_slot (struct device_node *dn, int mode_flag) 436void eeh_clear_slot (struct device_node *dn, int mode_flag)
437{ 437{
438 unsigned long flags; 438 unsigned long flags;
439 spin_lock_irqsave(&confirm_error_lock, flags); 439 raw_spin_lock_irqsave(&confirm_error_lock, flags);
440 440
441 dn = find_device_pe (dn); 441 dn = find_device_pe (dn);
442 442
@@ -447,7 +447,7 @@ void eeh_clear_slot (struct device_node *dn, int mode_flag)
447 PCI_DN(dn)->eeh_mode &= ~mode_flag; 447 PCI_DN(dn)->eeh_mode &= ~mode_flag;
448 PCI_DN(dn)->eeh_check_count = 0; 448 PCI_DN(dn)->eeh_check_count = 0;
449 __eeh_clear_slot(dn, mode_flag); 449 __eeh_clear_slot(dn, mode_flag);
450 spin_unlock_irqrestore(&confirm_error_lock, flags); 450 raw_spin_unlock_irqrestore(&confirm_error_lock, flags);
451} 451}
452 452
453/** 453/**
@@ -491,7 +491,7 @@ int eeh_dn_check_failure(struct device_node *dn, struct pci_dev *dev)
491 pdn->eeh_mode & EEH_MODE_NOCHECK) { 491 pdn->eeh_mode & EEH_MODE_NOCHECK) {
492 ignored_check++; 492 ignored_check++;
493 pr_debug("EEH: Ignored check (%x) for %s %s\n", 493 pr_debug("EEH: Ignored check (%x) for %s %s\n",
494 pdn->eeh_mode, pci_name (dev), dn->full_name); 494 pdn->eeh_mode, eeh_pci_name(dev), dn->full_name);
495 return 0; 495 return 0;
496 } 496 }
497 497
@@ -506,7 +506,7 @@ int eeh_dn_check_failure(struct device_node *dn, struct pci_dev *dev)
506 * in one slot might report errors simultaneously, and we 506 * in one slot might report errors simultaneously, and we
507 * only want one error recovery routine running. 507 * only want one error recovery routine running.
508 */ 508 */
509 spin_lock_irqsave(&confirm_error_lock, flags); 509 raw_spin_lock_irqsave(&confirm_error_lock, flags);
510 rc = 1; 510 rc = 1;
511 if (pdn->eeh_mode & EEH_MODE_ISOLATED) { 511 if (pdn->eeh_mode & EEH_MODE_ISOLATED) {
512 pdn->eeh_check_count ++; 512 pdn->eeh_check_count ++;
@@ -515,7 +515,7 @@ int eeh_dn_check_failure(struct device_node *dn, struct pci_dev *dev)
515 printk (KERN_ERR "EEH: %d reads ignored for recovering device at " 515 printk (KERN_ERR "EEH: %d reads ignored for recovering device at "
516 "location=%s driver=%s pci addr=%s\n", 516 "location=%s driver=%s pci addr=%s\n",
517 pdn->eeh_check_count, location, 517 pdn->eeh_check_count, location,
518 dev->driver->name, pci_name(dev)); 518 dev->driver->name, eeh_pci_name(dev));
519 printk (KERN_ERR "EEH: Might be infinite loop in %s driver\n", 519 printk (KERN_ERR "EEH: Might be infinite loop in %s driver\n",
520 dev->driver->name); 520 dev->driver->name);
521 dump_stack(); 521 dump_stack();
@@ -575,7 +575,7 @@ int eeh_dn_check_failure(struct device_node *dn, struct pci_dev *dev)
575 * with other functions on this device, and functions under 575 * with other functions on this device, and functions under
576 * bridges. */ 576 * bridges. */
577 eeh_mark_slot (dn, EEH_MODE_ISOLATED); 577 eeh_mark_slot (dn, EEH_MODE_ISOLATED);
578 spin_unlock_irqrestore(&confirm_error_lock, flags); 578 raw_spin_unlock_irqrestore(&confirm_error_lock, flags);
579 579
580 eeh_send_failure_event (dn, dev); 580 eeh_send_failure_event (dn, dev);
581 581
@@ -586,7 +586,7 @@ int eeh_dn_check_failure(struct device_node *dn, struct pci_dev *dev)
586 return 1; 586 return 1;
587 587
588dn_unlock: 588dn_unlock:
589 spin_unlock_irqrestore(&confirm_error_lock, flags); 589 raw_spin_unlock_irqrestore(&confirm_error_lock, flags);
590 return rc; 590 return rc;
591} 591}
592 592
@@ -749,7 +749,7 @@ static void __rtas_set_slot_reset(struct pci_dn *pdn)
749 /* Determine type of EEH reset required by device, 749 /* Determine type of EEH reset required by device,
750 * default hot reset or fundamental reset 750 * default hot reset or fundamental reset
751 */ 751 */
752 if (dev->needs_freset) 752 if (dev && dev->needs_freset)
753 rtas_pci_slot_reset(pdn, 3); 753 rtas_pci_slot_reset(pdn, 3);
754 else 754 else
755 rtas_pci_slot_reset(pdn, 1); 755 rtas_pci_slot_reset(pdn, 1);
@@ -1064,7 +1064,7 @@ void __init eeh_init(void)
1064 struct device_node *phb, *np; 1064 struct device_node *phb, *np;
1065 struct eeh_early_enable_info info; 1065 struct eeh_early_enable_info info;
1066 1066
1067 spin_lock_init(&confirm_error_lock); 1067 raw_spin_lock_init(&confirm_error_lock);
1068 spin_lock_init(&slot_errbuf_lock); 1068 spin_lock_init(&slot_errbuf_lock);
1069 1069
1070 np = of_find_node_by_path("/rtas"); 1070 np = of_find_node_by_path("/rtas");
diff --git a/arch/powerpc/platforms/pseries/eeh_cache.c b/arch/powerpc/platforms/pseries/eeh_cache.c
index ce37040af870..30b987b73c20 100644
--- a/arch/powerpc/platforms/pseries/eeh_cache.c
+++ b/arch/powerpc/platforms/pseries/eeh_cache.c
@@ -23,6 +23,7 @@
23#include <linux/list.h> 23#include <linux/list.h>
24#include <linux/pci.h> 24#include <linux/pci.h>
25#include <linux/rbtree.h> 25#include <linux/rbtree.h>
26#include <linux/slab.h>
26#include <linux/spinlock.h> 27#include <linux/spinlock.h>
27#include <asm/atomic.h> 28#include <asm/atomic.h>
28#include <asm/pci-bridge.h> 29#include <asm/pci-bridge.h>
diff --git a/arch/powerpc/platforms/pseries/eeh_driver.c b/arch/powerpc/platforms/pseries/eeh_driver.c
index ef8e45448480..b8d70f5d9aa9 100644
--- a/arch/powerpc/platforms/pseries/eeh_driver.c
+++ b/arch/powerpc/platforms/pseries/eeh_driver.c
@@ -337,7 +337,7 @@ struct pci_dn * handle_eeh_events (struct eeh_event *event)
337 location = location ? location : "unknown"; 337 location = location ? location : "unknown";
338 printk(KERN_ERR "EEH: Error: Cannot find partition endpoint " 338 printk(KERN_ERR "EEH: Error: Cannot find partition endpoint "
339 "for location=%s pci addr=%s\n", 339 "for location=%s pci addr=%s\n",
340 location, pci_name(event->dev)); 340 location, eeh_pci_name(event->dev));
341 return NULL; 341 return NULL;
342 } 342 }
343 343
@@ -368,7 +368,7 @@ struct pci_dn * handle_eeh_events (struct eeh_event *event)
368 pci_str = pci_name (frozen_pdn->pcidev); 368 pci_str = pci_name (frozen_pdn->pcidev);
369 drv_str = pcid_name (frozen_pdn->pcidev); 369 drv_str = pcid_name (frozen_pdn->pcidev);
370 } else { 370 } else {
371 pci_str = pci_name (event->dev); 371 pci_str = eeh_pci_name(event->dev);
372 drv_str = pcid_name (event->dev); 372 drv_str = pcid_name (event->dev);
373 } 373 }
374 374
@@ -478,9 +478,9 @@ excess_failures:
478 * due to actual, failed cards. 478 * due to actual, failed cards.
479 */ 479 */
480 printk(KERN_ERR 480 printk(KERN_ERR
481 "EEH: PCI device at location=%s driver=%s pci addr=%s \n" 481 "EEH: PCI device at location=%s driver=%s pci addr=%s\n"
482 "has failed %d times in the last hour " 482 "has failed %d times in the last hour "
483 "and has been permanently disabled. \n" 483 "and has been permanently disabled.\n"
484 "Please try reseating this device or replacing it.\n", 484 "Please try reseating this device or replacing it.\n",
485 location, drv_str, pci_str, frozen_pdn->eeh_freeze_count); 485 location, drv_str, pci_str, frozen_pdn->eeh_freeze_count);
486 goto perm_error; 486 goto perm_error;
@@ -488,7 +488,7 @@ excess_failures:
488hard_fail: 488hard_fail:
489 printk(KERN_ERR 489 printk(KERN_ERR
490 "EEH: Unable to recover from failure of PCI device " 490 "EEH: Unable to recover from failure of PCI device "
491 "at location=%s driver=%s pci addr=%s \n" 491 "at location=%s driver=%s pci addr=%s\n"
492 "Please try reseating this device or replacing it.\n", 492 "Please try reseating this device or replacing it.\n",
493 location, drv_str, pci_str); 493 location, drv_str, pci_str);
494 494
diff --git a/arch/powerpc/platforms/pseries/eeh_event.c b/arch/powerpc/platforms/pseries/eeh_event.c
index ddb80f5d850b..2ec500c130b5 100644
--- a/arch/powerpc/platforms/pseries/eeh_event.c
+++ b/arch/powerpc/platforms/pseries/eeh_event.c
@@ -22,6 +22,7 @@
22#include <linux/list.h> 22#include <linux/list.h>
23#include <linux/mutex.h> 23#include <linux/mutex.h>
24#include <linux/pci.h> 24#include <linux/pci.h>
25#include <linux/slab.h>
25#include <linux/workqueue.h> 26#include <linux/workqueue.h>
26#include <asm/eeh_event.h> 27#include <asm/eeh_event.h>
27#include <asm/ppc-pci.h> 28#include <asm/ppc-pci.h>
@@ -80,7 +81,7 @@ static int eeh_event_handler(void * dummy)
80 eeh_mark_slot(event->dn, EEH_MODE_RECOVERING); 81 eeh_mark_slot(event->dn, EEH_MODE_RECOVERING);
81 82
82 printk(KERN_INFO "EEH: Detected PCI bus error on device %s\n", 83 printk(KERN_INFO "EEH: Detected PCI bus error on device %s\n",
83 pci_name(event->dev)); 84 eeh_pci_name(event->dev));
84 85
85 pdn = handle_eeh_events(event); 86 pdn = handle_eeh_events(event);
86 87
diff --git a/arch/powerpc/platforms/pseries/event_sources.c b/arch/powerpc/platforms/pseries/event_sources.c
new file mode 100644
index 000000000000..e889c9d9586a
--- /dev/null
+++ b/arch/powerpc/platforms/pseries/event_sources.c
@@ -0,0 +1,79 @@
1/*
2 * Copyright (C) 2001 Dave Engebretsen IBM Corporation
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program; if not, write to the Free Software
16 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17 */
18
19#include <asm/prom.h>
20
21#include "pseries.h"
22
23void request_event_sources_irqs(struct device_node *np,
24 irq_handler_t handler,
25 const char *name)
26{
27 int i, index, count = 0;
28 struct of_irq oirq;
29 const u32 *opicprop;
30 unsigned int opicplen;
31 unsigned int virqs[16];
32
33 /* Check for obsolete "open-pic-interrupt" property. If present, then
34 * map those interrupts using the default interrupt host and default
35 * trigger
36 */
37 opicprop = of_get_property(np, "open-pic-interrupt", &opicplen);
38 if (opicprop) {
39 opicplen /= sizeof(u32);
40 for (i = 0; i < opicplen; i++) {
41 if (count > 15)
42 break;
43 virqs[count] = irq_create_mapping(NULL, *(opicprop++));
44 if (virqs[count] == NO_IRQ)
45 printk(KERN_ERR "Unable to allocate interrupt "
46 "number for %s\n", np->full_name);
47 else
48 count++;
49
50 }
51 }
52 /* Else use normal interrupt tree parsing */
53 else {
54 /* First try to do a proper OF tree parsing */
55 for (index = 0; of_irq_map_one(np, index, &oirq) == 0;
56 index++) {
57 if (count > 15)
58 break;
59 virqs[count] = irq_create_of_mapping(oirq.controller,
60 oirq.specifier,
61 oirq.size);
62 if (virqs[count] == NO_IRQ)
63 printk(KERN_ERR "Unable to allocate interrupt "
64 "number for %s\n", np->full_name);
65 else
66 count++;
67 }
68 }
69
70 /* Now request them */
71 for (i = 0; i < count; i++) {
72 if (request_irq(virqs[i], handler, 0, name, NULL)) {
73 printk(KERN_ERR "Unable to request interrupt %d for "
74 "%s\n", virqs[i], np->full_name);
75 return;
76 }
77 }
78}
79
diff --git a/arch/powerpc/platforms/pseries/hotplug-cpu.c b/arch/powerpc/platforms/pseries/hotplug-cpu.c
index 6ea4698d9176..8f85f399ab9f 100644
--- a/arch/powerpc/platforms/pseries/hotplug-cpu.c
+++ b/arch/powerpc/platforms/pseries/hotplug-cpu.c
@@ -122,74 +122,38 @@ static void pseries_mach_cpu_die(void)
122 if (!get_lppaca()->shared_proc) 122 if (!get_lppaca()->shared_proc)
123 get_lppaca()->donate_dedicated_cpu = 1; 123 get_lppaca()->donate_dedicated_cpu = 1;
124 124
125 printk(KERN_INFO
126 "cpu %u (hwid %u) ceding for offline with hint %d\n",
127 cpu, hwcpu, cede_latency_hint);
128 while (get_preferred_offline_state(cpu) == CPU_STATE_INACTIVE) { 125 while (get_preferred_offline_state(cpu) == CPU_STATE_INACTIVE) {
129 extended_cede_processor(cede_latency_hint); 126 extended_cede_processor(cede_latency_hint);
130 printk(KERN_INFO "cpu %u (hwid %u) returned from cede.\n",
131 cpu, hwcpu);
132 printk(KERN_INFO
133 "Decrementer value = %x Timebase value = %llx\n",
134 get_dec(), get_tb());
135 } 127 }
136 128
137 printk(KERN_INFO "cpu %u (hwid %u) got prodded to go online\n",
138 cpu, hwcpu);
139
140 if (!get_lppaca()->shared_proc) 129 if (!get_lppaca()->shared_proc)
141 get_lppaca()->donate_dedicated_cpu = 0; 130 get_lppaca()->donate_dedicated_cpu = 0;
142 get_lppaca()->idle = 0; 131 get_lppaca()->idle = 0;
143 }
144 132
145 if (get_preferred_offline_state(cpu) == CPU_STATE_ONLINE) { 133 if (get_preferred_offline_state(cpu) == CPU_STATE_ONLINE) {
146 unregister_slb_shadow(hwcpu, __pa(get_slb_shadow())); 134 unregister_slb_shadow(hwcpu, __pa(get_slb_shadow()));
147 135
148 /* 136 /*
149 * NOTE: Calling start_secondary() here for now to 137 * Call to start_secondary_resume() will not return.
150 * start new context. 138 * Kernel stack will be reset and start_secondary()
151 * However, need to do it cleanly by resetting the 139 * will be called to continue the online operation.
152 * stack pointer. 140 */
153 */ 141 start_secondary_resume();
154 start_secondary(); 142 }
143 }
155 144
156 } else if (get_preferred_offline_state(cpu) == CPU_STATE_OFFLINE) { 145 /* Requested state is CPU_STATE_OFFLINE at this point */
146 WARN_ON(get_preferred_offline_state(cpu) != CPU_STATE_OFFLINE);
157 147
158 set_cpu_current_state(cpu, CPU_STATE_OFFLINE); 148 set_cpu_current_state(cpu, CPU_STATE_OFFLINE);
159 unregister_slb_shadow(hard_smp_processor_id(), 149 unregister_slb_shadow(hwcpu, __pa(get_slb_shadow()));
160 __pa(get_slb_shadow())); 150 rtas_stop_self();
161 rtas_stop_self();
162 }
163 151
164 /* Should never get here... */ 152 /* Should never get here... */
165 BUG(); 153 BUG();
166 for(;;); 154 for(;;);
167} 155}
168 156
169static int qcss_tok; /* query-cpu-stopped-state token */
170
171/* Get state of physical CPU.
172 * Return codes:
173 * 0 - The processor is in the RTAS stopped state
174 * 1 - stop-self is in progress
175 * 2 - The processor is not in the RTAS stopped state
176 * -1 - Hardware Error
177 * -2 - Hardware Busy, Try again later.
178 */
179static int query_cpu_stopped(unsigned int pcpu)
180{
181 int cpu_status, status;
182
183 status = rtas_call(qcss_tok, 1, 2, &cpu_status, pcpu);
184 if (status != 0) {
185 printk(KERN_ERR
186 "RTAS query-cpu-stopped-state failed: %i\n", status);
187 return status;
188 }
189
190 return cpu_status;
191}
192
193static int pseries_cpu_disable(void) 157static int pseries_cpu_disable(void)
194{ 158{
195 int cpu = smp_processor_id(); 159 int cpu = smp_processor_id();
@@ -199,7 +163,7 @@ static int pseries_cpu_disable(void)
199 163
200 /*fix boot_cpuid here*/ 164 /*fix boot_cpuid here*/
201 if (cpu == boot_cpuid) 165 if (cpu == boot_cpuid)
202 boot_cpuid = any_online_cpu(cpu_online_map); 166 boot_cpuid = cpumask_any(cpu_online_mask);
203 167
204 /* FIXME: abstract this to not be platform specific later on */ 168 /* FIXME: abstract this to not be platform specific later on */
205 xics_migrate_irqs_away(); 169 xics_migrate_irqs_away();
@@ -236,8 +200,9 @@ static void pseries_cpu_die(unsigned int cpu)
236 } else if (get_preferred_offline_state(cpu) == CPU_STATE_OFFLINE) { 200 } else if (get_preferred_offline_state(cpu) == CPU_STATE_OFFLINE) {
237 201
238 for (tries = 0; tries < 25; tries++) { 202 for (tries = 0; tries < 25; tries++) {
239 cpu_status = query_cpu_stopped(pcpu); 203 cpu_status = smp_query_cpu_stopped(pcpu);
240 if (cpu_status == 0 || cpu_status == -1) 204 if (cpu_status == QCSS_STOPPED ||
205 cpu_status == QCSS_HARDWARE_ERROR)
241 break; 206 break;
242 cpu_relax(); 207 cpu_relax();
243 } 208 }
@@ -257,7 +222,7 @@ static void pseries_cpu_die(unsigned int cpu)
257} 222}
258 223
259/* 224/*
260 * Update cpu_present_map and paca(s) for a new cpu node. The wrinkle 225 * Update cpu_present_mask and paca(s) for a new cpu node. The wrinkle
261 * here is that a cpu device node may represent up to two logical cpus 226 * here is that a cpu device node may represent up to two logical cpus
262 * in the SMT case. We must honor the assumption in other code that 227 * in the SMT case. We must honor the assumption in other code that
263 * the logical ids for sibling SMT threads x and y are adjacent, such 228 * the logical ids for sibling SMT threads x and y are adjacent, such
@@ -266,7 +231,7 @@ static void pseries_cpu_die(unsigned int cpu)
266static int pseries_add_processor(struct device_node *np) 231static int pseries_add_processor(struct device_node *np)
267{ 232{
268 unsigned int cpu; 233 unsigned int cpu;
269 cpumask_t candidate_map, tmp = CPU_MASK_NONE; 234 cpumask_var_t candidate_mask, tmp;
270 int err = -ENOSPC, len, nthreads, i; 235 int err = -ENOSPC, len, nthreads, i;
271 const u32 *intserv; 236 const u32 *intserv;
272 237
@@ -274,48 +239,53 @@ static int pseries_add_processor(struct device_node *np)
274 if (!intserv) 239 if (!intserv)
275 return 0; 240 return 0;
276 241
242 zalloc_cpumask_var(&candidate_mask, GFP_KERNEL);
243 zalloc_cpumask_var(&tmp, GFP_KERNEL);
244
277 nthreads = len / sizeof(u32); 245 nthreads = len / sizeof(u32);
278 for (i = 0; i < nthreads; i++) 246 for (i = 0; i < nthreads; i++)
279 cpu_set(i, tmp); 247 cpumask_set_cpu(i, tmp);
280 248
281 cpu_maps_update_begin(); 249 cpu_maps_update_begin();
282 250
283 BUG_ON(!cpus_subset(cpu_present_map, cpu_possible_map)); 251 BUG_ON(!cpumask_subset(cpu_present_mask, cpu_possible_mask));
284 252
285 /* Get a bitmap of unoccupied slots. */ 253 /* Get a bitmap of unoccupied slots. */
286 cpus_xor(candidate_map, cpu_possible_map, cpu_present_map); 254 cpumask_xor(candidate_mask, cpu_possible_mask, cpu_present_mask);
287 if (cpus_empty(candidate_map)) { 255 if (cpumask_empty(candidate_mask)) {
288 /* If we get here, it most likely means that NR_CPUS is 256 /* If we get here, it most likely means that NR_CPUS is
289 * less than the partition's max processors setting. 257 * less than the partition's max processors setting.
290 */ 258 */
291 printk(KERN_ERR "Cannot add cpu %s; this system configuration" 259 printk(KERN_ERR "Cannot add cpu %s; this system configuration"
292 " supports %d logical cpus.\n", np->full_name, 260 " supports %d logical cpus.\n", np->full_name,
293 cpus_weight(cpu_possible_map)); 261 cpumask_weight(cpu_possible_mask));
294 goto out_unlock; 262 goto out_unlock;
295 } 263 }
296 264
297 while (!cpus_empty(tmp)) 265 while (!cpumask_empty(tmp))
298 if (cpus_subset(tmp, candidate_map)) 266 if (cpumask_subset(tmp, candidate_mask))
299 /* Found a range where we can insert the new cpu(s) */ 267 /* Found a range where we can insert the new cpu(s) */
300 break; 268 break;
301 else 269 else
302 cpus_shift_left(tmp, tmp, nthreads); 270 cpumask_shift_left(tmp, tmp, nthreads);
303 271
304 if (cpus_empty(tmp)) { 272 if (cpumask_empty(tmp)) {
305 printk(KERN_ERR "Unable to find space in cpu_present_map for" 273 printk(KERN_ERR "Unable to find space in cpu_present_mask for"
306 " processor %s with %d thread(s)\n", np->name, 274 " processor %s with %d thread(s)\n", np->name,
307 nthreads); 275 nthreads);
308 goto out_unlock; 276 goto out_unlock;
309 } 277 }
310 278
311 for_each_cpu_mask(cpu, tmp) { 279 for_each_cpu(cpu, tmp) {
312 BUG_ON(cpu_isset(cpu, cpu_present_map)); 280 BUG_ON(cpumask_test_cpu(cpu, cpu_present_mask));
313 set_cpu_present(cpu, true); 281 set_cpu_present(cpu, true);
314 set_hard_smp_processor_id(cpu, *intserv++); 282 set_hard_smp_processor_id(cpu, *intserv++);
315 } 283 }
316 err = 0; 284 err = 0;
317out_unlock: 285out_unlock:
318 cpu_maps_update_done(); 286 cpu_maps_update_done();
287 free_cpumask_var(candidate_mask);
288 free_cpumask_var(tmp);
319 return err; 289 return err;
320} 290}
321 291
@@ -346,7 +316,7 @@ static void pseries_remove_processor(struct device_node *np)
346 set_hard_smp_processor_id(cpu, -1); 316 set_hard_smp_processor_id(cpu, -1);
347 break; 317 break;
348 } 318 }
349 if (cpu == NR_CPUS) 319 if (cpu >= nr_cpu_ids)
350 printk(KERN_WARNING "Could not find cpu to remove " 320 printk(KERN_WARNING "Could not find cpu to remove "
351 "with physical id 0x%x\n", intserv[i]); 321 "with physical id 0x%x\n", intserv[i]);
352 } 322 }
@@ -387,24 +357,12 @@ static char cede_parameters[CEDE_LATENCY_PARAM_MAX_LENGTH];
387 357
388static int parse_cede_parameters(void) 358static int parse_cede_parameters(void)
389{ 359{
390 int call_status;
391
392 memset(cede_parameters, 0, CEDE_LATENCY_PARAM_MAX_LENGTH); 360 memset(cede_parameters, 0, CEDE_LATENCY_PARAM_MAX_LENGTH);
393 call_status = rtas_call(rtas_token("ibm,get-system-parameter"), 3, 1, 361 return rtas_call(rtas_token("ibm,get-system-parameter"), 3, 1,
394 NULL, 362 NULL,
395 CEDE_LATENCY_TOKEN, 363 CEDE_LATENCY_TOKEN,
396 __pa(cede_parameters), 364 __pa(cede_parameters),
397 CEDE_LATENCY_PARAM_MAX_LENGTH); 365 CEDE_LATENCY_PARAM_MAX_LENGTH);
398
399 if (call_status != 0)
400 printk(KERN_INFO "CEDE_LATENCY: \
401 %s %s Error calling get-system-parameter(0x%x)\n",
402 __FILE__, __func__, call_status);
403 else
404 printk(KERN_INFO "CEDE_LATENCY: \
405 get-system-parameter successful.\n");
406
407 return call_status;
408} 366}
409 367
410static int __init pseries_cpu_hotplug_init(void) 368static int __init pseries_cpu_hotplug_init(void)
@@ -412,6 +370,7 @@ static int __init pseries_cpu_hotplug_init(void)
412 struct device_node *np; 370 struct device_node *np;
413 const char *typep; 371 const char *typep;
414 int cpu; 372 int cpu;
373 int qcss_tok;
415 374
416 for_each_node_by_name(np, "interrupt-controller") { 375 for_each_node_by_name(np, "interrupt-controller") {
417 typep = of_get_property(np, "compatible", NULL); 376 typep = of_get_property(np, "compatible", NULL);
diff --git a/arch/powerpc/platforms/pseries/hotplug-memory.c b/arch/powerpc/platforms/pseries/hotplug-memory.c
index 9b21ee68ea50..bc8803664140 100644
--- a/arch/powerpc/platforms/pseries/hotplug-memory.c
+++ b/arch/powerpc/platforms/pseries/hotplug-memory.c
@@ -10,13 +10,14 @@
10 */ 10 */
11 11
12#include <linux/of.h> 12#include <linux/of.h>
13#include <linux/lmb.h> 13#include <linux/memblock.h>
14#include <linux/vmalloc.h>
14#include <asm/firmware.h> 15#include <asm/firmware.h>
15#include <asm/machdep.h> 16#include <asm/machdep.h>
16#include <asm/pSeries_reconfig.h> 17#include <asm/pSeries_reconfig.h>
17#include <asm/sparsemem.h> 18#include <asm/sparsemem.h>
18 19
19static int pseries_remove_lmb(unsigned long base, unsigned int lmb_size) 20static int pseries_remove_memblock(unsigned long base, unsigned int memblock_size)
20{ 21{
21 unsigned long start, start_pfn; 22 unsigned long start, start_pfn;
22 struct zone *zone; 23 struct zone *zone;
@@ -25,7 +26,7 @@ static int pseries_remove_lmb(unsigned long base, unsigned int lmb_size)
25 start_pfn = base >> PAGE_SHIFT; 26 start_pfn = base >> PAGE_SHIFT;
26 27
27 if (!pfn_valid(start_pfn)) { 28 if (!pfn_valid(start_pfn)) {
28 lmb_remove(base, lmb_size); 29 memblock_remove(base, memblock_size);
29 return 0; 30 return 0;
30 } 31 }
31 32
@@ -40,20 +41,26 @@ static int pseries_remove_lmb(unsigned long base, unsigned int lmb_size)
40 * to sysfs "state" file and we can't remove sysfs entries 41 * to sysfs "state" file and we can't remove sysfs entries
41 * while writing to it. So we have to defer it to here. 42 * while writing to it. So we have to defer it to here.
42 */ 43 */
43 ret = __remove_pages(zone, start_pfn, lmb_size >> PAGE_SHIFT); 44 ret = __remove_pages(zone, start_pfn, memblock_size >> PAGE_SHIFT);
44 if (ret) 45 if (ret)
45 return ret; 46 return ret;
46 47
47 /* 48 /*
48 * Update memory regions for memory remove 49 * Update memory regions for memory remove
49 */ 50 */
50 lmb_remove(base, lmb_size); 51 memblock_remove(base, memblock_size);
51 52
52 /* 53 /*
53 * Remove htab bolted mappings for this section of memory 54 * Remove htab bolted mappings for this section of memory
54 */ 55 */
55 start = (unsigned long)__va(base); 56 start = (unsigned long)__va(base);
56 ret = remove_section_mapping(start, start + lmb_size); 57 ret = remove_section_mapping(start, start + memblock_size);
58
59 /* Ensure all vmalloc mappings are flushed in case they also
60 * hit that section of memory
61 */
62 vm_unmap_aliases();
63
57 return ret; 64 return ret;
58} 65}
59 66
@@ -73,7 +80,7 @@ static int pseries_remove_memory(struct device_node *np)
73 return 0; 80 return 0;
74 81
75 /* 82 /*
76 * Find the bae address and size of the lmb 83 * Find the bae address and size of the memblock
77 */ 84 */
78 regs = of_get_property(np, "reg", NULL); 85 regs = of_get_property(np, "reg", NULL);
79 if (!regs) 86 if (!regs)
@@ -82,7 +89,7 @@ static int pseries_remove_memory(struct device_node *np)
82 base = *(unsigned long *)regs; 89 base = *(unsigned long *)regs;
83 lmb_size = regs[3]; 90 lmb_size = regs[3];
84 91
85 ret = pseries_remove_lmb(base, lmb_size); 92 ret = pseries_remove_memblock(base, lmb_size);
86 return ret; 93 return ret;
87} 94}
88 95
@@ -102,7 +109,7 @@ static int pseries_add_memory(struct device_node *np)
102 return 0; 109 return 0;
103 110
104 /* 111 /*
105 * Find the base and size of the lmb 112 * Find the base and size of the memblock
106 */ 113 */
107 regs = of_get_property(np, "reg", NULL); 114 regs = of_get_property(np, "reg", NULL);
108 if (!regs) 115 if (!regs)
@@ -114,7 +121,7 @@ static int pseries_add_memory(struct device_node *np)
114 /* 121 /*
115 * Update memory region to represent the memory add 122 * Update memory region to represent the memory add
116 */ 123 */
117 ret = lmb_add(base, lmb_size); 124 ret = memblock_add(base, lmb_size);
118 return (ret < 0) ? -EINVAL : 0; 125 return (ret < 0) ? -EINVAL : 0;
119} 126}
120 127
@@ -135,10 +142,10 @@ static int pseries_drconf_memory(unsigned long *base, unsigned int action)
135 } 142 }
136 143
137 if (action == PSERIES_DRCONF_MEM_ADD) { 144 if (action == PSERIES_DRCONF_MEM_ADD) {
138 rc = lmb_add(*base, *lmb_size); 145 rc = memblock_add(*base, *lmb_size);
139 rc = (rc < 0) ? -EINVAL : 0; 146 rc = (rc < 0) ? -EINVAL : 0;
140 } else if (action == PSERIES_DRCONF_MEM_REMOVE) { 147 } else if (action == PSERIES_DRCONF_MEM_REMOVE) {
141 rc = pseries_remove_lmb(*base, *lmb_size); 148 rc = pseries_remove_memblock(*base, *lmb_size);
142 } else { 149 } else {
143 rc = -EINVAL; 150 rc = -EINVAL;
144 } 151 }
diff --git a/arch/powerpc/platforms/pseries/hvCall.S b/arch/powerpc/platforms/pseries/hvCall.S
index 383a5d0e9818..48d20573e4de 100644
--- a/arch/powerpc/platforms/pseries/hvCall.S
+++ b/arch/powerpc/platforms/pseries/hvCall.S
@@ -228,3 +228,41 @@ _GLOBAL(plpar_hcall9)
228 mtcrf 0xff,r0 228 mtcrf 0xff,r0
229 229
230 blr /* return r3 = status */ 230 blr /* return r3 = status */
231
232/* See plpar_hcall_raw to see why this is needed */
233_GLOBAL(plpar_hcall9_raw)
234 HMT_MEDIUM
235
236 mfcr r0
237 stw r0,8(r1)
238
239 std r4,STK_PARM(r4)(r1) /* Save ret buffer */
240
241 mr r4,r5
242 mr r5,r6
243 mr r6,r7
244 mr r7,r8
245 mr r8,r9
246 mr r9,r10
247 ld r10,STK_PARM(r11)(r1) /* put arg7 in R10 */
248 ld r11,STK_PARM(r12)(r1) /* put arg8 in R11 */
249 ld r12,STK_PARM(r13)(r1) /* put arg9 in R12 */
250
251 HVSC /* invoke the hypervisor */
252
253 mr r0,r12
254 ld r12,STK_PARM(r4)(r1)
255 std r4, 0(r12)
256 std r5, 8(r12)
257 std r6, 16(r12)
258 std r7, 24(r12)
259 std r8, 32(r12)
260 std r9, 40(r12)
261 std r10,48(r12)
262 std r11,56(r12)
263 std r0, 64(r12)
264
265 lwz r0,8(r1)
266 mtcrf 0xff,r0
267
268 blr /* return r3 = status */
diff --git a/arch/powerpc/platforms/pseries/hvCall_inst.c b/arch/powerpc/platforms/pseries/hvCall_inst.c
index 2f58c71b7259..e19ff021e711 100644
--- a/arch/powerpc/platforms/pseries/hvCall_inst.c
+++ b/arch/powerpc/platforms/pseries/hvCall_inst.c
@@ -102,7 +102,7 @@ static const struct file_operations hcall_inst_seq_fops = {
102#define CPU_NAME_BUF_SIZE 32 102#define CPU_NAME_BUF_SIZE 32
103 103
104 104
105static void probe_hcall_entry(unsigned long opcode, unsigned long *args) 105static void probe_hcall_entry(void *ignored, unsigned long opcode, unsigned long *args)
106{ 106{
107 struct hcall_stats *h; 107 struct hcall_stats *h;
108 108
@@ -114,7 +114,7 @@ static void probe_hcall_entry(unsigned long opcode, unsigned long *args)
114 h->purr_start = mfspr(SPRN_PURR); 114 h->purr_start = mfspr(SPRN_PURR);
115} 115}
116 116
117static void probe_hcall_exit(unsigned long opcode, unsigned long retval, 117static void probe_hcall_exit(void *ignored, unsigned long opcode, unsigned long retval,
118 unsigned long *retbuf) 118 unsigned long *retbuf)
119{ 119{
120 struct hcall_stats *h; 120 struct hcall_stats *h;
@@ -124,8 +124,8 @@ static void probe_hcall_exit(unsigned long opcode, unsigned long retval,
124 124
125 h = &__get_cpu_var(hcall_stats)[opcode / 4]; 125 h = &__get_cpu_var(hcall_stats)[opcode / 4];
126 h->num_calls++; 126 h->num_calls++;
127 h->tb_total = mftb() - h->tb_start; 127 h->tb_total += mftb() - h->tb_start;
128 h->purr_total = mfspr(SPRN_PURR) - h->purr_start; 128 h->purr_total += mfspr(SPRN_PURR) - h->purr_start;
129 129
130 put_cpu_var(hcall_stats); 130 put_cpu_var(hcall_stats);
131} 131}
@@ -140,11 +140,11 @@ static int __init hcall_inst_init(void)
140 if (!firmware_has_feature(FW_FEATURE_LPAR)) 140 if (!firmware_has_feature(FW_FEATURE_LPAR))
141 return 0; 141 return 0;
142 142
143 if (register_trace_hcall_entry(probe_hcall_entry)) 143 if (register_trace_hcall_entry(probe_hcall_entry, NULL))
144 return -EINVAL; 144 return -EINVAL;
145 145
146 if (register_trace_hcall_exit(probe_hcall_exit)) { 146 if (register_trace_hcall_exit(probe_hcall_exit, NULL)) {
147 unregister_trace_hcall_entry(probe_hcall_entry); 147 unregister_trace_hcall_entry(probe_hcall_entry, NULL);
148 return -EINVAL; 148 return -EINVAL;
149 } 149 }
150 150
diff --git a/arch/powerpc/platforms/pseries/iommu.c b/arch/powerpc/platforms/pseries/iommu.c
index 1a0000a4b6d6..395848e30c52 100644
--- a/arch/powerpc/platforms/pseries/iommu.c
+++ b/arch/powerpc/platforms/pseries/iommu.c
@@ -66,7 +66,7 @@ static int tce_build_pSeries(struct iommu_table *tbl, long index,
66 tcep = ((u64 *)tbl->it_base) + index; 66 tcep = ((u64 *)tbl->it_base) + index;
67 67
68 while (npages--) { 68 while (npages--) {
69 /* can't move this out since we might cross LMB boundary */ 69 /* can't move this out since we might cross MEMBLOCK boundary */
70 rpn = (virt_to_abs(uaddr)) >> TCE_SHIFT; 70 rpn = (virt_to_abs(uaddr)) >> TCE_SHIFT;
71 *tcep = proto_tce | (rpn & TCE_RPN_MASK) << TCE_RPN_SHIFT; 71 *tcep = proto_tce | (rpn & TCE_RPN_MASK) << TCE_RPN_SHIFT;
72 72
@@ -468,7 +468,7 @@ static void pci_dma_dev_setup_pSeries(struct pci_dev *dev)
468 468
469 pr_debug("pci_dma_dev_setup_pSeries: %s\n", pci_name(dev)); 469 pr_debug("pci_dma_dev_setup_pSeries: %s\n", pci_name(dev));
470 470
471 dn = dev->dev.archdata.of_node; 471 dn = dev->dev.of_node;
472 472
473 /* If we're the direct child of a root bus, then we need to allocate 473 /* If we're the direct child of a root bus, then we need to allocate
474 * an iommu table ourselves. The bus setup code should have setup 474 * an iommu table ourselves. The bus setup code should have setup
diff --git a/arch/powerpc/platforms/pseries/lpar.c b/arch/powerpc/platforms/pseries/lpar.c
index 0707653612ba..cf79b46d8f88 100644
--- a/arch/powerpc/platforms/pseries/lpar.c
+++ b/arch/powerpc/platforms/pseries/lpar.c
@@ -367,21 +367,28 @@ static void pSeries_lpar_hptab_clear(void)
367{ 367{
368 unsigned long size_bytes = 1UL << ppc64_pft_size; 368 unsigned long size_bytes = 1UL << ppc64_pft_size;
369 unsigned long hpte_count = size_bytes >> 4; 369 unsigned long hpte_count = size_bytes >> 4;
370 unsigned long dummy1, dummy2, dword0; 370 struct {
371 unsigned long pteh;
372 unsigned long ptel;
373 } ptes[4];
371 long lpar_rc; 374 long lpar_rc;
372 int i; 375 int i, j;
373 376
374 /* TODO: Use bulk call */ 377 /* Read in batches of 4,
375 for (i = 0; i < hpte_count; i++) { 378 * invalidate only valid entries not in the VRMA
376 /* dont remove HPTEs with VRMA mappings */ 379 * hpte_count will be a multiple of 4
377 lpar_rc = plpar_pte_remove_raw(H_ANDCOND, i, HPTE_V_1TB_SEG, 380 */
378 &dummy1, &dummy2); 381 for (i = 0; i < hpte_count; i += 4) {
379 if (lpar_rc == H_NOT_FOUND) { 382 lpar_rc = plpar_pte_read_4_raw(0, i, (void *)ptes);
380 lpar_rc = plpar_pte_read_raw(0, i, &dword0, &dummy1); 383 if (lpar_rc != H_SUCCESS)
381 if (!lpar_rc && ((dword0 & HPTE_V_VRMA_MASK) 384 continue;
382 != HPTE_V_VRMA_MASK)) 385 for (j = 0; j < 4; j++){
383 /* Can be hpte for 1TB Seg. So remove it */ 386 if ((ptes[j].pteh & HPTE_V_VRMA_MASK) ==
384 plpar_pte_remove_raw(0, i, 0, &dummy1, &dummy2); 387 HPTE_V_VRMA_MASK)
388 continue;
389 if (ptes[j].pteh & HPTE_V_VALID)
390 plpar_pte_remove_raw(0, i + j, 0,
391 &(ptes[j].pteh), &(ptes[j].ptel));
385 } 392 }
386 } 393 }
387} 394}
diff --git a/arch/powerpc/platforms/pseries/nvram.c b/arch/powerpc/platforms/pseries/nvram.c
index 42f7e384e6c4..bc3c7f2abd79 100644
--- a/arch/powerpc/platforms/pseries/nvram.c
+++ b/arch/powerpc/platforms/pseries/nvram.c
@@ -15,7 +15,6 @@
15#include <linux/types.h> 15#include <linux/types.h>
16#include <linux/errno.h> 16#include <linux/errno.h>
17#include <linux/init.h> 17#include <linux/init.h>
18#include <linux/slab.h>
19#include <linux/spinlock.h> 18#include <linux/spinlock.h>
20#include <asm/uaccess.h> 19#include <asm/uaccess.h>
21#include <asm/nvram.h> 20#include <asm/nvram.h>
diff --git a/arch/powerpc/platforms/pseries/offline_states.h b/arch/powerpc/platforms/pseries/offline_states.h
index 22574e0d9d91..75a6f480d931 100644
--- a/arch/powerpc/platforms/pseries/offline_states.h
+++ b/arch/powerpc/platforms/pseries/offline_states.h
@@ -9,10 +9,31 @@ enum cpu_state_vals {
9 CPU_MAX_OFFLINE_STATES 9 CPU_MAX_OFFLINE_STATES
10}; 10};
11 11
12#ifdef CONFIG_HOTPLUG_CPU
12extern enum cpu_state_vals get_cpu_current_state(int cpu); 13extern enum cpu_state_vals get_cpu_current_state(int cpu);
13extern void set_cpu_current_state(int cpu, enum cpu_state_vals state); 14extern void set_cpu_current_state(int cpu, enum cpu_state_vals state);
14extern enum cpu_state_vals get_preferred_offline_state(int cpu);
15extern void set_preferred_offline_state(int cpu, enum cpu_state_vals state); 15extern void set_preferred_offline_state(int cpu, enum cpu_state_vals state);
16extern void set_default_offline_state(int cpu); 16extern void set_default_offline_state(int cpu);
17#else
18static inline enum cpu_state_vals get_cpu_current_state(int cpu)
19{
20 return CPU_STATE_ONLINE;
21}
22
23static inline void set_cpu_current_state(int cpu, enum cpu_state_vals state)
24{
25}
26
27static inline void set_preferred_offline_state(int cpu, enum cpu_state_vals state)
28{
29}
30
31static inline void set_default_offline_state(int cpu)
32{
33}
34#endif
35
36extern enum cpu_state_vals get_preferred_offline_state(int cpu);
17extern int start_secondary(void); 37extern int start_secondary(void);
38extern void start_secondary_resume(void);
18#endif 39#endif
diff --git a/arch/powerpc/platforms/pseries/pci_dlpar.c b/arch/powerpc/platforms/pseries/pci_dlpar.c
index b6fa3e4b51b5..4b7a062dee15 100644
--- a/arch/powerpc/platforms/pseries/pci_dlpar.c
+++ b/arch/powerpc/platforms/pseries/pci_dlpar.c
@@ -165,7 +165,7 @@ int remove_phb_dynamic(struct pci_controller *phb)
165 struct resource *res; 165 struct resource *res;
166 int rc, i; 166 int rc, i;
167 167
168 pr_debug("PCI: Removing PHB %04x:%02x... \n", 168 pr_debug("PCI: Removing PHB %04x:%02x...\n",
169 pci_domain_nr(b), b->number); 169 pci_domain_nr(b), b->number);
170 170
171 /* We cannot to remove a root bus that has children */ 171 /* We cannot to remove a root bus that has children */
diff --git a/arch/powerpc/platforms/pseries/phyp_dump.c b/arch/powerpc/platforms/pseries/phyp_dump.c
index 15eb6107bcd2..6e7742da0072 100644
--- a/arch/powerpc/platforms/pseries/phyp_dump.c
+++ b/arch/powerpc/platforms/pseries/phyp_dump.c
@@ -11,6 +11,7 @@
11 * 11 *
12 */ 12 */
13 13
14#include <linux/gfp.h>
14#include <linux/init.h> 15#include <linux/init.h>
15#include <linux/kobject.h> 16#include <linux/kobject.h>
16#include <linux/mm.h> 17#include <linux/mm.h>
@@ -150,7 +151,7 @@ static void print_dump_header(const struct phyp_dump_header *ph)
150 printk(KERN_INFO "Max auto time= %d\n", ph->maxtime_to_auto); 151 printk(KERN_INFO "Max auto time= %d\n", ph->maxtime_to_auto);
151 152
152 /*set cpu state and hpte states as well scratch pad area */ 153 /*set cpu state and hpte states as well scratch pad area */
153 printk(KERN_INFO " CPU AREA \n"); 154 printk(KERN_INFO " CPU AREA\n");
154 printk(KERN_INFO "cpu dump_flags =%d\n", ph->cpu_data.dump_flags); 155 printk(KERN_INFO "cpu dump_flags =%d\n", ph->cpu_data.dump_flags);
155 printk(KERN_INFO "cpu source_type =%d\n", ph->cpu_data.source_type); 156 printk(KERN_INFO "cpu source_type =%d\n", ph->cpu_data.source_type);
156 printk(KERN_INFO "cpu error_flags =%d\n", ph->cpu_data.error_flags); 157 printk(KERN_INFO "cpu error_flags =%d\n", ph->cpu_data.error_flags);
@@ -161,7 +162,7 @@ static void print_dump_header(const struct phyp_dump_header *ph)
161 printk(KERN_INFO "cpu length_copied =%llx\n", 162 printk(KERN_INFO "cpu length_copied =%llx\n",
162 ph->cpu_data.length_copied); 163 ph->cpu_data.length_copied);
163 164
164 printk(KERN_INFO " HPTE AREA \n"); 165 printk(KERN_INFO " HPTE AREA\n");
165 printk(KERN_INFO "HPTE dump_flags =%d\n", ph->hpte_data.dump_flags); 166 printk(KERN_INFO "HPTE dump_flags =%d\n", ph->hpte_data.dump_flags);
166 printk(KERN_INFO "HPTE source_type =%d\n", ph->hpte_data.source_type); 167 printk(KERN_INFO "HPTE source_type =%d\n", ph->hpte_data.source_type);
167 printk(KERN_INFO "HPTE error_flags =%d\n", ph->hpte_data.error_flags); 168 printk(KERN_INFO "HPTE error_flags =%d\n", ph->hpte_data.error_flags);
@@ -172,7 +173,7 @@ static void print_dump_header(const struct phyp_dump_header *ph)
172 printk(KERN_INFO "HPTE length_copied =%llx\n", 173 printk(KERN_INFO "HPTE length_copied =%llx\n",
173 ph->hpte_data.length_copied); 174 ph->hpte_data.length_copied);
174 175
175 printk(KERN_INFO " SRSD AREA \n"); 176 printk(KERN_INFO " SRSD AREA\n");
176 printk(KERN_INFO "SRSD dump_flags =%d\n", ph->kernel_data.dump_flags); 177 printk(KERN_INFO "SRSD dump_flags =%d\n", ph->kernel_data.dump_flags);
177 printk(KERN_INFO "SRSD source_type =%d\n", ph->kernel_data.source_type); 178 printk(KERN_INFO "SRSD source_type =%d\n", ph->kernel_data.source_type);
178 printk(KERN_INFO "SRSD error_flags =%d\n", ph->kernel_data.error_flags); 179 printk(KERN_INFO "SRSD error_flags =%d\n", ph->kernel_data.error_flags);
@@ -254,12 +255,12 @@ void invalidate_last_dump(struct phyp_dump_header *ph, unsigned long addr)
254 255
255/* ------------------------------------------------- */ 256/* ------------------------------------------------- */
256/** 257/**
257 * release_memory_range -- release memory previously lmb_reserved 258 * release_memory_range -- release memory previously memblock_reserved
258 * @start_pfn: starting physical frame number 259 * @start_pfn: starting physical frame number
259 * @nr_pages: number of pages to free. 260 * @nr_pages: number of pages to free.
260 * 261 *
261 * This routine will release memory that had been previously 262 * This routine will release memory that had been previously
262 * lmb_reserved in early boot. The released memory becomes 263 * memblock_reserved in early boot. The released memory becomes
263 * available for genreal use. 264 * available for genreal use.
264 */ 265 */
265static void release_memory_range(unsigned long start_pfn, 266static void release_memory_range(unsigned long start_pfn,
diff --git a/arch/powerpc/platforms/pseries/plpar_wrappers.h b/arch/powerpc/platforms/pseries/plpar_wrappers.h
index 0603c91538ae..d9801117124b 100644
--- a/arch/powerpc/platforms/pseries/plpar_wrappers.h
+++ b/arch/powerpc/platforms/pseries/plpar_wrappers.h
@@ -4,6 +4,14 @@
4#include <asm/hvcall.h> 4#include <asm/hvcall.h>
5#include <asm/page.h> 5#include <asm/page.h>
6 6
7/* Get state of physical CPU from query_cpu_stopped */
8int smp_query_cpu_stopped(unsigned int pcpu);
9#define QCSS_STOPPED 0
10#define QCSS_STOPPING 1
11#define QCSS_NOT_STOPPED 2
12#define QCSS_HARDWARE_ERROR -1
13#define QCSS_HARDWARE_BUSY -2
14
7static inline long poll_pending(void) 15static inline long poll_pending(void)
8{ 16{
9 return plpar_hcall_norets(H_POLL_PENDING); 17 return plpar_hcall_norets(H_POLL_PENDING);
@@ -183,6 +191,24 @@ static inline long plpar_pte_read_raw(unsigned long flags, unsigned long ptex,
183 return rc; 191 return rc;
184} 192}
185 193
194/*
195 * plpar_pte_read_4_raw can be called in real mode.
196 * ptes must be 8*sizeof(unsigned long)
197 */
198static inline long plpar_pte_read_4_raw(unsigned long flags, unsigned long ptex,
199 unsigned long *ptes)
200
201{
202 long rc;
203 unsigned long retbuf[PLPAR_HCALL9_BUFSIZE];
204
205 rc = plpar_hcall9_raw(H_READ, retbuf, flags | H_READ_4, ptex);
206
207 memcpy(ptes, retbuf, 8*sizeof(unsigned long));
208
209 return rc;
210}
211
186static inline long plpar_pte_protect(unsigned long flags, unsigned long ptex, 212static inline long plpar_pte_protect(unsigned long flags, unsigned long ptex,
187 unsigned long avpn) 213 unsigned long avpn)
188{ 214{
@@ -259,12 +285,12 @@ static inline long plpar_ipi(unsigned long servernum, unsigned long mfrr)
259 return plpar_hcall_norets(H_IPI, servernum, mfrr); 285 return plpar_hcall_norets(H_IPI, servernum, mfrr);
260} 286}
261 287
262static inline long plpar_xirr(unsigned long *xirr_ret) 288static inline long plpar_xirr(unsigned long *xirr_ret, unsigned char cppr)
263{ 289{
264 long rc; 290 long rc;
265 unsigned long retbuf[PLPAR_HCALL_BUFSIZE]; 291 unsigned long retbuf[PLPAR_HCALL_BUFSIZE];
266 292
267 rc = plpar_hcall(H_XIRR, retbuf); 293 rc = plpar_hcall(H_XIRR, retbuf, cppr);
268 294
269 *xirr_ret = retbuf[0]; 295 *xirr_ret = retbuf[0];
270 296
diff --git a/arch/powerpc/platforms/pseries/pseries.h b/arch/powerpc/platforms/pseries/pseries.h
index 9e17c0d2a0c8..40c93cad91d2 100644
--- a/arch/powerpc/platforms/pseries/pseries.h
+++ b/arch/powerpc/platforms/pseries/pseries.h
@@ -10,6 +10,13 @@
10#ifndef _PSERIES_PSERIES_H 10#ifndef _PSERIES_PSERIES_H
11#define _PSERIES_PSERIES_H 11#define _PSERIES_PSERIES_H
12 12
13#include <linux/interrupt.h>
14
15struct device_node;
16
17extern void request_event_sources_irqs(struct device_node *np,
18 irq_handler_t handler, const char *name);
19
13extern void __init fw_feature_init(const char *hypertas, unsigned long len); 20extern void __init fw_feature_init(const char *hypertas, unsigned long len);
14 21
15struct pt_regs; 22struct pt_regs;
diff --git a/arch/powerpc/platforms/pseries/ras.c b/arch/powerpc/platforms/pseries/ras.c
index d20b96e22c2e..41a3e9a039ed 100644
--- a/arch/powerpc/platforms/pseries/ras.c
+++ b/arch/powerpc/platforms/pseries/ras.c
@@ -30,7 +30,6 @@
30#include <linux/interrupt.h> 30#include <linux/interrupt.h>
31#include <linux/timex.h> 31#include <linux/timex.h>
32#include <linux/init.h> 32#include <linux/init.h>
33#include <linux/slab.h>
34#include <linux/delay.h> 33#include <linux/delay.h>
35#include <linux/irq.h> 34#include <linux/irq.h>
36#include <linux/random.h> 35#include <linux/random.h>
@@ -68,63 +67,6 @@ static irqreturn_t ras_epow_interrupt(int irq, void *dev_id);
68static irqreturn_t ras_error_interrupt(int irq, void *dev_id); 67static irqreturn_t ras_error_interrupt(int irq, void *dev_id);
69 68
70 69
71static void request_ras_irqs(struct device_node *np,
72 irq_handler_t handler,
73 const char *name)
74{
75 int i, index, count = 0;
76 struct of_irq oirq;
77 const u32 *opicprop;
78 unsigned int opicplen;
79 unsigned int virqs[16];
80
81 /* Check for obsolete "open-pic-interrupt" property. If present, then
82 * map those interrupts using the default interrupt host and default
83 * trigger
84 */
85 opicprop = of_get_property(np, "open-pic-interrupt", &opicplen);
86 if (opicprop) {
87 opicplen /= sizeof(u32);
88 for (i = 0; i < opicplen; i++) {
89 if (count > 15)
90 break;
91 virqs[count] = irq_create_mapping(NULL, *(opicprop++));
92 if (virqs[count] == NO_IRQ)
93 printk(KERN_ERR "Unable to allocate interrupt "
94 "number for %s\n", np->full_name);
95 else
96 count++;
97
98 }
99 }
100 /* Else use normal interrupt tree parsing */
101 else {
102 /* First try to do a proper OF tree parsing */
103 for (index = 0; of_irq_map_one(np, index, &oirq) == 0;
104 index++) {
105 if (count > 15)
106 break;
107 virqs[count] = irq_create_of_mapping(oirq.controller,
108 oirq.specifier,
109 oirq.size);
110 if (virqs[count] == NO_IRQ)
111 printk(KERN_ERR "Unable to allocate interrupt "
112 "number for %s\n", np->full_name);
113 else
114 count++;
115 }
116 }
117
118 /* Now request them */
119 for (i = 0; i < count; i++) {
120 if (request_irq(virqs[i], handler, 0, name, NULL)) {
121 printk(KERN_ERR "Unable to request interrupt %d for "
122 "%s\n", virqs[i], np->full_name);
123 return;
124 }
125 }
126}
127
128/* 70/*
129 * Initialize handlers for the set of interrupts caused by hardware errors 71 * Initialize handlers for the set of interrupts caused by hardware errors
130 * and power system events. 72 * and power system events.
@@ -139,14 +81,15 @@ static int __init init_ras_IRQ(void)
139 /* Internal Errors */ 81 /* Internal Errors */
140 np = of_find_node_by_path("/event-sources/internal-errors"); 82 np = of_find_node_by_path("/event-sources/internal-errors");
141 if (np != NULL) { 83 if (np != NULL) {
142 request_ras_irqs(np, ras_error_interrupt, "RAS_ERROR"); 84 request_event_sources_irqs(np, ras_error_interrupt,
85 "RAS_ERROR");
143 of_node_put(np); 86 of_node_put(np);
144 } 87 }
145 88
146 /* EPOW Events */ 89 /* EPOW Events */
147 np = of_find_node_by_path("/event-sources/epow-events"); 90 np = of_find_node_by_path("/event-sources/epow-events");
148 if (np != NULL) { 91 if (np != NULL) {
149 request_ras_irqs(np, ras_epow_interrupt, "RAS_EPOW"); 92 request_event_sources_irqs(np, ras_epow_interrupt, "RAS_EPOW");
150 of_node_put(np); 93 of_node_put(np);
151 } 94 }
152 95
diff --git a/arch/powerpc/platforms/pseries/reconfig.c b/arch/powerpc/platforms/pseries/reconfig.c
index a2305d29bbbd..1a58637bcea5 100644
--- a/arch/powerpc/platforms/pseries/reconfig.c
+++ b/arch/powerpc/platforms/pseries/reconfig.c
@@ -15,6 +15,7 @@
15#include <linux/kref.h> 15#include <linux/kref.h>
16#include <linux/notifier.h> 16#include <linux/notifier.h>
17#include <linux/proc_fs.h> 17#include <linux/proc_fs.h>
18#include <linux/slab.h>
18 19
19#include <asm/prom.h> 20#include <asm/prom.h>
20#include <asm/machdep.h> 21#include <asm/machdep.h>
diff --git a/arch/powerpc/platforms/pseries/scanlog.c b/arch/powerpc/platforms/pseries/scanlog.c
index 1b45c458f952..80e9e7652a4d 100644
--- a/arch/powerpc/platforms/pseries/scanlog.c
+++ b/arch/powerpc/platforms/pseries/scanlog.c
@@ -26,6 +26,7 @@
26#include <linux/proc_fs.h> 26#include <linux/proc_fs.h>
27#include <linux/init.h> 27#include <linux/init.h>
28#include <linux/delay.h> 28#include <linux/delay.h>
29#include <linux/slab.h>
29#include <asm/uaccess.h> 30#include <asm/uaccess.h>
30#include <asm/rtas.h> 31#include <asm/rtas.h>
31#include <asm/prom.h> 32#include <asm/prom.h>
diff --git a/arch/powerpc/platforms/pseries/setup.c b/arch/powerpc/platforms/pseries/setup.c
index ca5f2e10972c..a6d19e3a505e 100644
--- a/arch/powerpc/platforms/pseries/setup.c
+++ b/arch/powerpc/platforms/pseries/setup.c
@@ -23,7 +23,6 @@
23#include <linux/mm.h> 23#include <linux/mm.h>
24#include <linux/stddef.h> 24#include <linux/stddef.h>
25#include <linux/unistd.h> 25#include <linux/unistd.h>
26#include <linux/slab.h>
27#include <linux/user.h> 26#include <linux/user.h>
28#include <linux/tty.h> 27#include <linux/tty.h>
29#include <linux/major.h> 28#include <linux/major.h>
@@ -497,13 +496,14 @@ static int __init pSeries_probe(void)
497} 496}
498 497
499 498
500DECLARE_PER_CPU(unsigned long, smt_snooze_delay); 499DECLARE_PER_CPU(long, smt_snooze_delay);
501 500
502static void pseries_dedicated_idle_sleep(void) 501static void pseries_dedicated_idle_sleep(void)
503{ 502{
504 unsigned int cpu = smp_processor_id(); 503 unsigned int cpu = smp_processor_id();
505 unsigned long start_snooze; 504 unsigned long start_snooze;
506 unsigned long in_purr, out_purr; 505 unsigned long in_purr, out_purr;
506 long snooze = __get_cpu_var(smt_snooze_delay);
507 507
508 /* 508 /*
509 * Indicate to the HV that we are idle. Now would be 509 * Indicate to the HV that we are idle. Now would be
@@ -518,13 +518,12 @@ static void pseries_dedicated_idle_sleep(void)
518 * has been checked recently. If we should poll for a little 518 * has been checked recently. If we should poll for a little
519 * while, do so. 519 * while, do so.
520 */ 520 */
521 if (__get_cpu_var(smt_snooze_delay)) { 521 if (snooze) {
522 start_snooze = get_tb() + 522 start_snooze = get_tb() + snooze * tb_ticks_per_usec;
523 __get_cpu_var(smt_snooze_delay) * tb_ticks_per_usec;
524 local_irq_enable(); 523 local_irq_enable();
525 set_thread_flag(TIF_POLLING_NRFLAG); 524 set_thread_flag(TIF_POLLING_NRFLAG);
526 525
527 while (get_tb() < start_snooze) { 526 while ((snooze < 0) || (get_tb() < start_snooze)) {
528 if (need_resched() || cpu_is_offline(cpu)) 527 if (need_resched() || cpu_is_offline(cpu))
529 goto out; 528 goto out;
530 ppc64_runlatch_off(); 529 ppc64_runlatch_off();
diff --git a/arch/powerpc/platforms/pseries/smp.c b/arch/powerpc/platforms/pseries/smp.c
index b4886635972c..3b1bf61c45be 100644
--- a/arch/powerpc/platforms/pseries/smp.c
+++ b/arch/powerpc/platforms/pseries/smp.c
@@ -55,7 +55,29 @@
55 * The Primary thread of each non-boot processor was started from the OF client 55 * The Primary thread of each non-boot processor was started from the OF client
56 * interface by prom_hold_cpus and is spinning on secondary_hold_spinloop. 56 * interface by prom_hold_cpus and is spinning on secondary_hold_spinloop.
57 */ 57 */
58static cpumask_t of_spin_map; 58static cpumask_var_t of_spin_mask;
59
60/* Query where a cpu is now. Return codes #defined in plpar_wrappers.h */
61int smp_query_cpu_stopped(unsigned int pcpu)
62{
63 int cpu_status, status;
64 int qcss_tok = rtas_token("query-cpu-stopped-state");
65
66 if (qcss_tok == RTAS_UNKNOWN_SERVICE) {
67 printk(KERN_INFO "Firmware doesn't support "
68 "query-cpu-stopped-state\n");
69 return QCSS_HARDWARE_ERROR;
70 }
71
72 status = rtas_call(qcss_tok, 1, 2, &cpu_status, pcpu);
73 if (status != 0) {
74 printk(KERN_ERR
75 "RTAS query-cpu-stopped-state failed: %i\n", status);
76 return status;
77 }
78
79 return cpu_status;
80}
59 81
60/** 82/**
61 * smp_startup_cpu() - start the given cpu 83 * smp_startup_cpu() - start the given cpu
@@ -76,12 +98,18 @@ static inline int __devinit smp_startup_cpu(unsigned int lcpu)
76 unsigned int pcpu; 98 unsigned int pcpu;
77 int start_cpu; 99 int start_cpu;
78 100
79 if (cpu_isset(lcpu, of_spin_map)) 101 if (cpumask_test_cpu(lcpu, of_spin_mask))
80 /* Already started by OF and sitting in spin loop */ 102 /* Already started by OF and sitting in spin loop */
81 return 1; 103 return 1;
82 104
83 pcpu = get_hard_smp_processor_id(lcpu); 105 pcpu = get_hard_smp_processor_id(lcpu);
84 106
107 /* Check to see if the CPU out of FW already for kexec */
108 if (smp_query_cpu_stopped(pcpu) == QCSS_NOT_STOPPED){
109 cpumask_set_cpu(lcpu, of_spin_mask);
110 return 1;
111 }
112
85 /* Fixup atomic count: it exited inside IRQ handler. */ 113 /* Fixup atomic count: it exited inside IRQ handler. */
86 task_thread_info(paca[lcpu].__current)->preempt_count = 0; 114 task_thread_info(paca[lcpu].__current)->preempt_count = 0;
87 115
@@ -115,7 +143,7 @@ static void __devinit smp_xics_setup_cpu(int cpu)
115 if (firmware_has_feature(FW_FEATURE_SPLPAR)) 143 if (firmware_has_feature(FW_FEATURE_SPLPAR))
116 vpa_init(cpu); 144 vpa_init(cpu);
117 145
118 cpu_clear(cpu, of_spin_map); 146 cpumask_clear_cpu(cpu, of_spin_mask);
119 set_cpu_current_state(cpu, CPU_STATE_ONLINE); 147 set_cpu_current_state(cpu, CPU_STATE_ONLINE);
120 set_default_offline_state(cpu); 148 set_default_offline_state(cpu);
121 149
@@ -144,8 +172,8 @@ static void __devinit smp_pSeries_kick_cpu(int nr)
144 hcpuid = get_hard_smp_processor_id(nr); 172 hcpuid = get_hard_smp_processor_id(nr);
145 rc = plpar_hcall_norets(H_PROD, hcpuid); 173 rc = plpar_hcall_norets(H_PROD, hcpuid);
146 if (rc != H_SUCCESS) 174 if (rc != H_SUCCESS)
147 printk(KERN_ERR "Error: Prod to wake up processor %d\ 175 printk(KERN_ERR "Error: Prod to wake up processor %d "
148 Ret= %ld\n", nr, rc); 176 "Ret= %ld\n", nr, rc);
149 } 177 }
150} 178}
151 179
@@ -186,17 +214,19 @@ static void __init smp_init_pseries(void)
186 214
187 pr_debug(" -> smp_init_pSeries()\n"); 215 pr_debug(" -> smp_init_pSeries()\n");
188 216
217 alloc_bootmem_cpumask_var(&of_spin_mask);
218
189 /* Mark threads which are still spinning in hold loops. */ 219 /* Mark threads which are still spinning in hold loops. */
190 if (cpu_has_feature(CPU_FTR_SMT)) { 220 if (cpu_has_feature(CPU_FTR_SMT)) {
191 for_each_present_cpu(i) { 221 for_each_present_cpu(i) {
192 if (cpu_thread_in_core(i) == 0) 222 if (cpu_thread_in_core(i) == 0)
193 cpu_set(i, of_spin_map); 223 cpumask_set_cpu(i, of_spin_mask);
194 } 224 }
195 } else { 225 } else {
196 of_spin_map = cpu_present_map; 226 cpumask_copy(of_spin_mask, cpu_present_mask);
197 } 227 }
198 228
199 cpu_clear(boot_cpuid, of_spin_map); 229 cpumask_clear_cpu(boot_cpuid, of_spin_mask);
200 230
201 /* Non-lpar has additional take/give timebase */ 231 /* Non-lpar has additional take/give timebase */
202 if (rtas_token("freeze-time-base") != RTAS_UNKNOWN_SERVICE) { 232 if (rtas_token("freeze-time-base") != RTAS_UNKNOWN_SERVICE) {
diff --git a/arch/powerpc/platforms/pseries/xics.c b/arch/powerpc/platforms/pseries/xics.c
index d80f193cd871..f19d19468393 100644
--- a/arch/powerpc/platforms/pseries/xics.c
+++ b/arch/powerpc/platforms/pseries/xics.c
@@ -120,14 +120,14 @@ static inline void direct_qirr_info(int n_cpu, u8 value)
120 120
121/* LPAR low level accessors */ 121/* LPAR low level accessors */
122 122
123static inline unsigned int lpar_xirr_info_get(void) 123static inline unsigned int lpar_xirr_info_get(unsigned char cppr)
124{ 124{
125 unsigned long lpar_rc; 125 unsigned long lpar_rc;
126 unsigned long return_value; 126 unsigned long return_value;
127 127
128 lpar_rc = plpar_xirr(&return_value); 128 lpar_rc = plpar_xirr(&return_value, cppr);
129 if (lpar_rc != H_SUCCESS) 129 if (lpar_rc != H_SUCCESS)
130 panic(" bad return code xirr - rc = %lx \n", lpar_rc); 130 panic(" bad return code xirr - rc = %lx\n", lpar_rc);
131 return (unsigned int)return_value; 131 return (unsigned int)return_value;
132} 132}
133 133
@@ -163,39 +163,43 @@ static inline void lpar_qirr_info(int n_cpu , u8 value)
163/* Interface to generic irq subsystem */ 163/* Interface to generic irq subsystem */
164 164
165#ifdef CONFIG_SMP 165#ifdef CONFIG_SMP
166static int get_irq_server(unsigned int virq, cpumask_t cpumask, 166/*
167 * For the moment we only implement delivery to all cpus or one cpu.
168 *
169 * If the requested affinity is cpu_all_mask, we set global affinity.
170 * If not we set it to the first cpu in the mask, even if multiple cpus
171 * are set. This is so things like irqbalance (which set core and package
172 * wide affinities) do the right thing.
173 */
174static int get_irq_server(unsigned int virq, const struct cpumask *cpumask,
167 unsigned int strict_check) 175 unsigned int strict_check)
168{ 176{
169 int server;
170 /* For the moment only implement delivery to all cpus or one cpu */
171 cpumask_t tmp = CPU_MASK_NONE;
172 177
173 if (!distribute_irqs) 178 if (!distribute_irqs)
174 return default_server; 179 return default_server;
175 180
176 if (!cpus_equal(cpumask, CPU_MASK_ALL)) { 181 if (!cpumask_equal(cpumask, cpu_all_mask)) {
177 cpus_and(tmp, cpu_online_map, cpumask); 182 int server = cpumask_first_and(cpu_online_mask, cpumask);
178
179 server = first_cpu(tmp);
180 183
181 if (server < NR_CPUS) 184 if (server < nr_cpu_ids)
182 return get_hard_smp_processor_id(server); 185 return get_hard_smp_processor_id(server);
183 186
184 if (strict_check) 187 if (strict_check)
185 return -1; 188 return -1;
186 } 189 }
187 190
188 if (cpus_equal(cpu_online_map, cpu_present_map)) 191 /*
192 * Workaround issue with some versions of JS20 firmware that
193 * deliver interrupts to cpus which haven't been started. This
194 * happens when using the maxcpus= boot option.
195 */
196 if (cpumask_equal(cpu_online_mask, cpu_present_mask))
189 return default_distrib_server; 197 return default_distrib_server;
190 198
191 return default_server; 199 return default_server;
192} 200}
193#else 201#else
194static int get_irq_server(unsigned int virq, cpumask_t cpumask, 202#define get_irq_server(virq, cpumask, strict_check) (default_server)
195 unsigned int strict_check)
196{
197 return default_server;
198}
199#endif 203#endif
200 204
201static void xics_unmask_irq(unsigned int virq) 205static void xics_unmask_irq(unsigned int virq)
@@ -211,7 +215,7 @@ static void xics_unmask_irq(unsigned int virq)
211 if (irq == XICS_IPI || irq == XICS_IRQ_SPURIOUS) 215 if (irq == XICS_IPI || irq == XICS_IRQ_SPURIOUS)
212 return; 216 return;
213 217
214 server = get_irq_server(virq, *(irq_to_desc(virq)->affinity), 0); 218 server = get_irq_server(virq, irq_to_desc(virq)->affinity, 0);
215 219
216 call_status = rtas_call(ibm_set_xive, 3, 1, NULL, irq, server, 220 call_status = rtas_call(ibm_set_xive, 3, 1, NULL, irq, server,
217 DEFAULT_PRIORITY); 221 DEFAULT_PRIORITY);
@@ -335,7 +339,8 @@ static unsigned int xics_get_irq_direct(void)
335 339
336static unsigned int xics_get_irq_lpar(void) 340static unsigned int xics_get_irq_lpar(void)
337{ 341{
338 unsigned int xirr = lpar_xirr_info_get(); 342 struct xics_cppr *os_cppr = &__get_cpu_var(xics_cppr);
343 unsigned int xirr = lpar_xirr_info_get(os_cppr->stack[os_cppr->index]);
339 unsigned int vec = xics_xirr_vector(xirr); 344 unsigned int vec = xics_xirr_vector(xirr);
340 unsigned int irq; 345 unsigned int irq;
341 346
@@ -401,11 +406,7 @@ static int xics_set_affinity(unsigned int virq, const struct cpumask *cpumask)
401 return -1; 406 return -1;
402 } 407 }
403 408
404 /* 409 irq_server = get_irq_server(virq, cpumask, 1);
405 * For the moment only implement delivery to all cpus or one cpu.
406 * Get current irq_server for the given irq
407 */
408 irq_server = get_irq_server(virq, *cpumask, 1);
409 if (irq_server == -1) { 410 if (irq_server == -1) {
410 char cpulist[128]; 411 char cpulist[128];
411 cpumask_scnprintf(cpulist, sizeof(cpulist), cpumask); 412 cpumask_scnprintf(cpulist, sizeof(cpulist), cpumask);
@@ -428,7 +429,7 @@ static int xics_set_affinity(unsigned int virq, const struct cpumask *cpumask)
428} 429}
429 430
430static struct irq_chip xics_pic_direct = { 431static struct irq_chip xics_pic_direct = {
431 .name = " XICS ", 432 .name = "XICS",
432 .startup = xics_startup, 433 .startup = xics_startup,
433 .mask = xics_mask_irq, 434 .mask = xics_mask_irq,
434 .unmask = xics_unmask_irq, 435 .unmask = xics_unmask_irq,
@@ -437,7 +438,7 @@ static struct irq_chip xics_pic_direct = {
437}; 438};
438 439
439static struct irq_chip xics_pic_lpar = { 440static struct irq_chip xics_pic_lpar = {
440 .name = " XICS ", 441 .name = "XICS",
441 .startup = xics_startup, 442 .startup = xics_startup,
442 .mask = xics_mask_irq, 443 .mask = xics_mask_irq,
443 .unmask = xics_unmask_irq, 444 .unmask = xics_unmask_irq,
@@ -514,15 +515,13 @@ static void __init xics_init_host(void)
514/* 515/*
515 * XICS only has a single IPI, so encode the messages per CPU 516 * XICS only has a single IPI, so encode the messages per CPU
516 */ 517 */
517struct xics_ipi_struct { 518static DEFINE_PER_CPU_SHARED_ALIGNED(unsigned long, xics_ipi_message);
518 unsigned long value;
519 } ____cacheline_aligned;
520
521static struct xics_ipi_struct xics_ipi_message[NR_CPUS] __cacheline_aligned;
522 519
523static inline void smp_xics_do_message(int cpu, int msg) 520static inline void smp_xics_do_message(int cpu, int msg)
524{ 521{
525 set_bit(msg, &xics_ipi_message[cpu].value); 522 unsigned long *tgt = &per_cpu(xics_ipi_message, cpu);
523
524 set_bit(msg, tgt);
526 mb(); 525 mb();
527 if (firmware_has_feature(FW_FEATURE_LPAR)) 526 if (firmware_has_feature(FW_FEATURE_LPAR))
528 lpar_qirr_info(cpu, IPI_PRIORITY); 527 lpar_qirr_info(cpu, IPI_PRIORITY);
@@ -548,25 +547,23 @@ void smp_xics_message_pass(int target, int msg)
548 547
549static irqreturn_t xics_ipi_dispatch(int cpu) 548static irqreturn_t xics_ipi_dispatch(int cpu)
550{ 549{
550 unsigned long *tgt = &per_cpu(xics_ipi_message, cpu);
551
551 WARN_ON(cpu_is_offline(cpu)); 552 WARN_ON(cpu_is_offline(cpu));
552 553
553 mb(); /* order mmio clearing qirr */ 554 mb(); /* order mmio clearing qirr */
554 while (xics_ipi_message[cpu].value) { 555 while (*tgt) {
555 if (test_and_clear_bit(PPC_MSG_CALL_FUNCTION, 556 if (test_and_clear_bit(PPC_MSG_CALL_FUNCTION, tgt)) {
556 &xics_ipi_message[cpu].value)) {
557 smp_message_recv(PPC_MSG_CALL_FUNCTION); 557 smp_message_recv(PPC_MSG_CALL_FUNCTION);
558 } 558 }
559 if (test_and_clear_bit(PPC_MSG_RESCHEDULE, 559 if (test_and_clear_bit(PPC_MSG_RESCHEDULE, tgt)) {
560 &xics_ipi_message[cpu].value)) {
561 smp_message_recv(PPC_MSG_RESCHEDULE); 560 smp_message_recv(PPC_MSG_RESCHEDULE);
562 } 561 }
563 if (test_and_clear_bit(PPC_MSG_CALL_FUNC_SINGLE, 562 if (test_and_clear_bit(PPC_MSG_CALL_FUNC_SINGLE, tgt)) {
564 &xics_ipi_message[cpu].value)) {
565 smp_message_recv(PPC_MSG_CALL_FUNC_SINGLE); 563 smp_message_recv(PPC_MSG_CALL_FUNC_SINGLE);
566 } 564 }
567#if defined(CONFIG_DEBUGGER) || defined(CONFIG_KEXEC) 565#if defined(CONFIG_DEBUGGER) || defined(CONFIG_KEXEC)
568 if (test_and_clear_bit(PPC_MSG_DEBUGGER_BREAK, 566 if (test_and_clear_bit(PPC_MSG_DEBUGGER_BREAK, tgt)) {
569 &xics_ipi_message[cpu].value)) {
570 smp_message_recv(PPC_MSG_DEBUGGER_BREAK); 567 smp_message_recv(PPC_MSG_DEBUGGER_BREAK);
571 } 568 }
572#endif 569#endif
@@ -618,7 +615,7 @@ int __init smp_xics_probe(void)
618{ 615{
619 xics_request_ipi(); 616 xics_request_ipi();
620 617
621 return cpus_weight(cpu_possible_map); 618 return cpumask_weight(cpu_possible_mask);
622} 619}
623 620
624#endif /* CONFIG_SMP */ 621#endif /* CONFIG_SMP */
@@ -788,9 +785,13 @@ static void xics_set_cpu_priority(unsigned char cppr)
788{ 785{
789 struct xics_cppr *os_cppr = &__get_cpu_var(xics_cppr); 786 struct xics_cppr *os_cppr = &__get_cpu_var(xics_cppr);
790 787
791 BUG_ON(os_cppr->index != 0); 788 /*
789 * we only really want to set the priority when there's
790 * just one cppr value on the stack
791 */
792 WARN_ON(os_cppr->index != 0);
792 793
793 os_cppr->stack[os_cppr->index] = cppr; 794 os_cppr->stack[0] = cppr;
794 795
795 if (firmware_has_feature(FW_FEATURE_LPAR)) 796 if (firmware_has_feature(FW_FEATURE_LPAR))
796 lpar_cppr_info(cppr); 797 lpar_cppr_info(cppr);
@@ -825,8 +826,14 @@ void xics_setup_cpu(void)
825 826
826void xics_teardown_cpu(void) 827void xics_teardown_cpu(void)
827{ 828{
829 struct xics_cppr *os_cppr = &__get_cpu_var(xics_cppr);
828 int cpu = smp_processor_id(); 830 int cpu = smp_processor_id();
829 831
832 /*
833 * we have to reset the cppr index to 0 because we're
834 * not going to return from the IPI
835 */
836 os_cppr->index = 0;
830 xics_set_cpu_priority(0); 837 xics_set_cpu_priority(0);
831 838
832 /* Clear any pending IPI request */ 839 /* Clear any pending IPI request */
diff --git a/arch/powerpc/sysdev/axonram.c b/arch/powerpc/sysdev/axonram.c
index 88f4ae787832..402d2212162f 100644
--- a/arch/powerpc/sysdev/axonram.c
+++ b/arch/powerpc/sysdev/axonram.c
@@ -185,7 +185,7 @@ axon_ram_probe(struct of_device *device, const struct of_device_id *device_id)
185 axon_ram_bank_id++; 185 axon_ram_bank_id++;
186 186
187 dev_info(&device->dev, "Found memory controller on %s\n", 187 dev_info(&device->dev, "Found memory controller on %s\n",
188 device->node->full_name); 188 device->dev.of_node->full_name);
189 189
190 bank = kzalloc(sizeof(struct axon_ram_bank), GFP_KERNEL); 190 bank = kzalloc(sizeof(struct axon_ram_bank), GFP_KERNEL);
191 if (bank == NULL) { 191 if (bank == NULL) {
@@ -198,7 +198,7 @@ axon_ram_probe(struct of_device *device, const struct of_device_id *device_id)
198 198
199 bank->device = device; 199 bank->device = device;
200 200
201 if (of_address_to_resource(device->node, 0, &resource) != 0) { 201 if (of_address_to_resource(device->dev.of_node, 0, &resource) != 0) {
202 dev_err(&device->dev, "Cannot access device tree\n"); 202 dev_err(&device->dev, "Cannot access device tree\n");
203 rc = -EFAULT; 203 rc = -EFAULT;
204 goto failed; 204 goto failed;
@@ -253,7 +253,7 @@ axon_ram_probe(struct of_device *device, const struct of_device_id *device_id)
253 blk_queue_logical_block_size(bank->disk->queue, AXON_RAM_SECTOR_SIZE); 253 blk_queue_logical_block_size(bank->disk->queue, AXON_RAM_SECTOR_SIZE);
254 add_disk(bank->disk); 254 add_disk(bank->disk);
255 255
256 bank->irq_id = irq_of_parse_and_map(device->node, 0); 256 bank->irq_id = irq_of_parse_and_map(device->dev.of_node, 0);
257 if (bank->irq_id == NO_IRQ) { 257 if (bank->irq_id == NO_IRQ) {
258 dev_err(&device->dev, "Cannot access ECC interrupt ID\n"); 258 dev_err(&device->dev, "Cannot access ECC interrupt ID\n");
259 rc = -EFAULT; 259 rc = -EFAULT;
@@ -327,12 +327,12 @@ static struct of_device_id axon_ram_device_id[] = {
327}; 327};
328 328
329static struct of_platform_driver axon_ram_driver = { 329static struct of_platform_driver axon_ram_driver = {
330 .match_table = axon_ram_device_id,
331 .probe = axon_ram_probe, 330 .probe = axon_ram_probe,
332 .remove = axon_ram_remove, 331 .remove = axon_ram_remove,
333 .driver = { 332 .driver = {
334 .owner = THIS_MODULE, 333 .name = AXON_RAM_MODULE_NAME,
335 .name = AXON_RAM_MODULE_NAME, 334 .owner = THIS_MODULE,
335 .of_match_table = axon_ram_device_id,
336 }, 336 },
337}; 337};
338 338
diff --git a/arch/powerpc/sysdev/bestcomm/bestcomm.c b/arch/powerpc/sysdev/bestcomm/bestcomm.c
index 378ebd9aac18..a7c5c470af14 100644
--- a/arch/powerpc/sysdev/bestcomm/bestcomm.c
+++ b/arch/powerpc/sysdev/bestcomm/bestcomm.c
@@ -377,7 +377,7 @@ mpc52xx_bcom_probe(struct of_device *op, const struct of_device_id *match)
377 printk(KERN_INFO "DMA: MPC52xx BestComm driver\n"); 377 printk(KERN_INFO "DMA: MPC52xx BestComm driver\n");
378 378
379 /* Get the bestcomm node */ 379 /* Get the bestcomm node */
380 of_node_get(op->node); 380 of_node_get(op->dev.of_node);
381 381
382 /* Prepare SRAM */ 382 /* Prepare SRAM */
383 ofn_sram = of_find_matching_node(NULL, mpc52xx_sram_ids); 383 ofn_sram = of_find_matching_node(NULL, mpc52xx_sram_ids);
@@ -406,10 +406,10 @@ mpc52xx_bcom_probe(struct of_device *op, const struct of_device_id *match)
406 } 406 }
407 407
408 /* Save the node */ 408 /* Save the node */
409 bcom_eng->ofnode = op->node; 409 bcom_eng->ofnode = op->dev.of_node;
410 410
411 /* Get, reserve & map io */ 411 /* Get, reserve & map io */
412 if (of_address_to_resource(op->node, 0, &res_bcom)) { 412 if (of_address_to_resource(op->dev.of_node, 0, &res_bcom)) {
413 printk(KERN_ERR DRIVER_NAME ": " 413 printk(KERN_ERR DRIVER_NAME ": "
414 "Can't get resource\n"); 414 "Can't get resource\n");
415 rv = -EINVAL; 415 rv = -EINVAL;
@@ -453,7 +453,7 @@ error_sramclean:
453 kfree(bcom_eng); 453 kfree(bcom_eng);
454 bcom_sram_cleanup(); 454 bcom_sram_cleanup();
455error_ofput: 455error_ofput:
456 of_node_put(op->node); 456 of_node_put(op->dev.of_node);
457 457
458 printk(KERN_ERR "DMA: MPC52xx BestComm init failed !\n"); 458 printk(KERN_ERR "DMA: MPC52xx BestComm init failed !\n");
459 459
@@ -494,14 +494,12 @@ MODULE_DEVICE_TABLE(of, mpc52xx_bcom_of_match);
494 494
495 495
496static struct of_platform_driver mpc52xx_bcom_of_platform_driver = { 496static struct of_platform_driver mpc52xx_bcom_of_platform_driver = {
497 .owner = THIS_MODULE,
498 .name = DRIVER_NAME,
499 .match_table = mpc52xx_bcom_of_match,
500 .probe = mpc52xx_bcom_probe, 497 .probe = mpc52xx_bcom_probe,
501 .remove = mpc52xx_bcom_remove, 498 .remove = mpc52xx_bcom_remove,
502 .driver = { 499 .driver = {
503 .name = DRIVER_NAME, 500 .name = DRIVER_NAME,
504 .owner = THIS_MODULE, 501 .owner = THIS_MODULE,
502 .of_match_table = mpc52xx_bcom_of_match,
505 }, 503 },
506}; 504};
507 505
diff --git a/arch/powerpc/sysdev/cpm1.c b/arch/powerpc/sysdev/cpm1.c
index a4b41dbde128..8d103ca6d6ab 100644
--- a/arch/powerpc/sysdev/cpm1.c
+++ b/arch/powerpc/sysdev/cpm1.c
@@ -31,6 +31,7 @@
31#include <linux/irq.h> 31#include <linux/irq.h>
32#include <linux/module.h> 32#include <linux/module.h>
33#include <linux/spinlock.h> 33#include <linux/spinlock.h>
34#include <linux/slab.h>
34#include <asm/page.h> 35#include <asm/page.h>
35#include <asm/pgtable.h> 36#include <asm/pgtable.h>
36#include <asm/8xx_immap.h> 37#include <asm/8xx_immap.h>
@@ -77,7 +78,7 @@ static void cpm_end_irq(unsigned int irq)
77} 78}
78 79
79static struct irq_chip cpm_pic = { 80static struct irq_chip cpm_pic = {
80 .name = " CPM PIC ", 81 .name = "CPM PIC",
81 .mask = cpm_mask_irq, 82 .mask = cpm_mask_irq,
82 .unmask = cpm_unmask_irq, 83 .unmask = cpm_unmask_irq,
83 .eoi = cpm_end_irq, 84 .eoi = cpm_end_irq,
@@ -485,9 +486,6 @@ int cpm1_clk_setup(enum cpm_clk_target target, int clock, int mode)
485 return -EINVAL; 486 return -EINVAL;
486 } 487 }
487 488
488 if (reg == &mpc8xx_immr->im_cpm.cp_sicr && mode == CPM_CLK_RX)
489 shift += 3;
490
491 for (i = 0; i < ARRAY_SIZE(clk_map); i++) { 489 for (i = 0; i < ARRAY_SIZE(clk_map); i++) {
492 if (clk_map[i][0] == target && clk_map[i][1] == clock) { 490 if (clk_map[i][0] == target && clk_map[i][1] == clock) {
493 bits = clk_map[i][2]; 491 bits = clk_map[i][2];
@@ -502,6 +500,17 @@ int cpm1_clk_setup(enum cpm_clk_target target, int clock, int mode)
502 500
503 bits <<= shift; 501 bits <<= shift;
504 mask <<= shift; 502 mask <<= shift;
503
504 if (reg == &mpc8xx_immr->im_cpm.cp_sicr) {
505 if (mode == CPM_CLK_RTX) {
506 bits |= bits << 3;
507 mask |= mask << 3;
508 } else if (mode == CPM_CLK_RX) {
509 bits <<= 3;
510 mask <<= 3;
511 }
512 }
513
505 out_be32(reg, (in_be32(reg) & ~mask) | bits); 514 out_be32(reg, (in_be32(reg) & ~mask) | bits);
506 515
507 return 0; 516 return 0;
diff --git a/arch/powerpc/sysdev/cpm2.c b/arch/powerpc/sysdev/cpm2.c
index eb5927212fab..8dc1e24f3c23 100644
--- a/arch/powerpc/sysdev/cpm2.c
+++ b/arch/powerpc/sysdev/cpm2.c
@@ -244,9 +244,6 @@ int cpm2_clk_setup(enum cpm_clk_target target, int clock, int mode)
244 return -EINVAL; 244 return -EINVAL;
245 } 245 }
246 246
247 if (mode == CPM_CLK_RX)
248 shift += 3;
249
250 for (i = 0; i < ARRAY_SIZE(clk_map); i++) { 247 for (i = 0; i < ARRAY_SIZE(clk_map); i++) {
251 if (clk_map[i][0] == target && clk_map[i][1] == clock) { 248 if (clk_map[i][0] == target && clk_map[i][1] == clock) {
252 bits = clk_map[i][2]; 249 bits = clk_map[i][2];
@@ -259,6 +256,14 @@ int cpm2_clk_setup(enum cpm_clk_target target, int clock, int mode)
259 bits <<= shift; 256 bits <<= shift;
260 mask <<= shift; 257 mask <<= shift;
261 258
259 if (mode == CPM_CLK_RTX) {
260 bits |= bits << 3;
261 mask |= mask << 3;
262 } else if (mode == CPM_CLK_RX) {
263 bits <<= 3;
264 mask <<= 3;
265 }
266
262 out_be32(reg, (in_be32(reg) & ~mask) | bits); 267 out_be32(reg, (in_be32(reg) & ~mask) | bits);
263 268
264 cpm2_unmap(im_cpmux); 269 cpm2_unmap(im_cpmux);
diff --git a/arch/powerpc/sysdev/cpm2_pic.c b/arch/powerpc/sysdev/cpm2_pic.c
index 1709ac5aac7c..fcea4ff825dd 100644
--- a/arch/powerpc/sysdev/cpm2_pic.c
+++ b/arch/powerpc/sysdev/cpm2_pic.c
@@ -198,7 +198,7 @@ err_sense:
198} 198}
199 199
200static struct irq_chip cpm2_pic = { 200static struct irq_chip cpm2_pic = {
201 .name = " CPM2 SIU ", 201 .name = "CPM2 SIU",
202 .mask = cpm2_mask_irq, 202 .mask = cpm2_mask_irq,
203 .unmask = cpm2_unmask_irq, 203 .unmask = cpm2_unmask_irq,
204 .ack = cpm2_ack, 204 .ack = cpm2_ack,
diff --git a/arch/powerpc/sysdev/cpm2_pic.h b/arch/powerpc/sysdev/cpm2_pic.h
index 30e5828a2781..2c5f70c24485 100644
--- a/arch/powerpc/sysdev/cpm2_pic.h
+++ b/arch/powerpc/sysdev/cpm2_pic.h
@@ -3,6 +3,6 @@
3 3
4extern unsigned int cpm2_get_irq(void); 4extern unsigned int cpm2_get_irq(void);
5 5
6extern void cpm2_pic_init(struct device_node*); 6extern void cpm2_pic_init(struct device_node *);
7 7
8#endif /* _PPC_KERNEL_CPM2_H */ 8#endif /* _PPC_KERNEL_CPM2_H */
diff --git a/arch/powerpc/sysdev/cpm_common.c b/arch/powerpc/sysdev/cpm_common.c
index 9de72c96e6d1..88b9812c854f 100644
--- a/arch/powerpc/sysdev/cpm_common.c
+++ b/arch/powerpc/sysdev/cpm_common.c
@@ -21,6 +21,7 @@
21#include <linux/of_device.h> 21#include <linux/of_device.h>
22#include <linux/spinlock.h> 22#include <linux/spinlock.h>
23#include <linux/of.h> 23#include <linux/of.h>
24#include <linux/slab.h>
24 25
25#include <asm/udbg.h> 26#include <asm/udbg.h>
26#include <asm/io.h> 27#include <asm/io.h>
diff --git a/arch/powerpc/sysdev/dart_iommu.c b/arch/powerpc/sysdev/dart_iommu.c
index bafc3f85360d..559db2b846a9 100644
--- a/arch/powerpc/sysdev/dart_iommu.c
+++ b/arch/powerpc/sysdev/dart_iommu.c
@@ -29,7 +29,6 @@
29 29
30#include <linux/init.h> 30#include <linux/init.h>
31#include <linux/types.h> 31#include <linux/types.h>
32#include <linux/slab.h>
33#include <linux/mm.h> 32#include <linux/mm.h>
34#include <linux/spinlock.h> 33#include <linux/spinlock.h>
35#include <linux/string.h> 34#include <linux/string.h>
@@ -37,7 +36,8 @@
37#include <linux/dma-mapping.h> 36#include <linux/dma-mapping.h>
38#include <linux/vmalloc.h> 37#include <linux/vmalloc.h>
39#include <linux/suspend.h> 38#include <linux/suspend.h>
40#include <linux/lmb.h> 39#include <linux/memblock.h>
40#include <linux/gfp.h>
41#include <asm/io.h> 41#include <asm/io.h>
42#include <asm/prom.h> 42#include <asm/prom.h>
43#include <asm/iommu.h> 43#include <asm/iommu.h>
@@ -232,7 +232,7 @@ static int __init dart_init(struct device_node *dart_node)
232 * that to work around what looks like a problem with the HT bridge 232 * that to work around what looks like a problem with the HT bridge
233 * prefetching into invalid pages and corrupting data 233 * prefetching into invalid pages and corrupting data
234 */ 234 */
235 tmp = lmb_alloc(DART_PAGE_SIZE, DART_PAGE_SIZE); 235 tmp = memblock_alloc(DART_PAGE_SIZE, DART_PAGE_SIZE);
236 dart_emptyval = DARTMAP_VALID | ((tmp >> DART_PAGE_SHIFT) & 236 dart_emptyval = DARTMAP_VALID | ((tmp >> DART_PAGE_SHIFT) &
237 DARTMAP_RPNMASK); 237 DARTMAP_RPNMASK);
238 238
@@ -407,7 +407,7 @@ void __init alloc_dart_table(void)
407 if (iommu_is_off) 407 if (iommu_is_off)
408 return; 408 return;
409 409
410 if (!iommu_force_on && lmb_end_of_DRAM() <= 0x40000000ull) 410 if (!iommu_force_on && memblock_end_of_DRAM() <= 0x40000000ull)
411 return; 411 return;
412 412
413 /* 512 pages (2MB) is max DART tablesize. */ 413 /* 512 pages (2MB) is max DART tablesize. */
@@ -416,7 +416,7 @@ void __init alloc_dart_table(void)
416 * will blow up an entire large page anyway in the kernel mapping 416 * will blow up an entire large page anyway in the kernel mapping
417 */ 417 */
418 dart_tablebase = (unsigned long) 418 dart_tablebase = (unsigned long)
419 abs_to_virt(lmb_alloc_base(1UL<<24, 1UL<<24, 0x80000000L)); 419 abs_to_virt(memblock_alloc_base(1UL<<24, 1UL<<24, 0x80000000L));
420 420
421 printk(KERN_INFO "DART table allocated at: %lx\n", dart_tablebase); 421 printk(KERN_INFO "DART table allocated at: %lx\n", dart_tablebase);
422} 422}
diff --git a/arch/powerpc/sysdev/fsl_gtm.c b/arch/powerpc/sysdev/fsl_gtm.c
index 714ec02fed2e..eca4545dd52e 100644
--- a/arch/powerpc/sysdev/fsl_gtm.c
+++ b/arch/powerpc/sysdev/fsl_gtm.c
@@ -20,6 +20,7 @@
20#include <linux/of.h> 20#include <linux/of.h>
21#include <linux/spinlock.h> 21#include <linux/spinlock.h>
22#include <linux/bitops.h> 22#include <linux/bitops.h>
23#include <linux/slab.h>
23#include <asm/fsl_gtm.h> 24#include <asm/fsl_gtm.h>
24 25
25#define GTCFR_STP(x) ((x) & 1 ? 1 << 5 : 1 << 1) 26#define GTCFR_STP(x) ((x) & 1 ? 1 << 5 : 1 << 1)
diff --git a/arch/powerpc/sysdev/fsl_msi.c b/arch/powerpc/sysdev/fsl_msi.c
index c6e11b077108..962c2d8dd8d9 100644
--- a/arch/powerpc/sysdev/fsl_msi.c
+++ b/arch/powerpc/sysdev/fsl_msi.c
@@ -1,5 +1,5 @@
1/* 1/*
2 * Copyright (C) 2007-2008 Freescale Semiconductor, Inc. All rights reserved. 2 * Copyright (C) 2007-2010 Freescale Semiconductor, Inc.
3 * 3 *
4 * Author: Tony Li <tony.li@freescale.com> 4 * Author: Tony Li <tony.li@freescale.com>
5 * Jason Jin <Jason.jin@freescale.com> 5 * Jason Jin <Jason.jin@freescale.com>
@@ -16,19 +16,26 @@
16#include <linux/bootmem.h> 16#include <linux/bootmem.h>
17#include <linux/msi.h> 17#include <linux/msi.h>
18#include <linux/pci.h> 18#include <linux/pci.h>
19#include <linux/slab.h>
19#include <linux/of_platform.h> 20#include <linux/of_platform.h>
20#include <sysdev/fsl_soc.h> 21#include <sysdev/fsl_soc.h>
21#include <asm/prom.h> 22#include <asm/prom.h>
22#include <asm/hw_irq.h> 23#include <asm/hw_irq.h>
23#include <asm/ppc-pci.h> 24#include <asm/ppc-pci.h>
25#include <asm/mpic.h>
24#include "fsl_msi.h" 26#include "fsl_msi.h"
25 27
28LIST_HEAD(msi_head);
29
26struct fsl_msi_feature { 30struct fsl_msi_feature {
27 u32 fsl_pic_ip; 31 u32 fsl_pic_ip;
28 u32 msiir_offset; 32 u32 msiir_offset;
29}; 33};
30 34
31static struct fsl_msi *fsl_msi; 35struct fsl_msi_cascade_data {
36 struct fsl_msi *msi_data;
37 int index;
38};
32 39
33static inline u32 fsl_msi_read(u32 __iomem *base, unsigned int reg) 40static inline u32 fsl_msi_read(u32 __iomem *base, unsigned int reg)
34{ 41{
@@ -47,16 +54,18 @@ static struct irq_chip fsl_msi_chip = {
47 .mask = mask_msi_irq, 54 .mask = mask_msi_irq,
48 .unmask = unmask_msi_irq, 55 .unmask = unmask_msi_irq,
49 .ack = fsl_msi_end_irq, 56 .ack = fsl_msi_end_irq,
50 .name = " FSL-MSI ", 57 .name = "FSL-MSI",
51}; 58};
52 59
53static int fsl_msi_host_map(struct irq_host *h, unsigned int virq, 60static int fsl_msi_host_map(struct irq_host *h, unsigned int virq,
54 irq_hw_number_t hw) 61 irq_hw_number_t hw)
55{ 62{
63 struct fsl_msi *msi_data = h->host_data;
56 struct irq_chip *chip = &fsl_msi_chip; 64 struct irq_chip *chip = &fsl_msi_chip;
57 65
58 irq_to_desc(virq)->status |= IRQ_TYPE_EDGE_FALLING; 66 irq_to_desc(virq)->status |= IRQ_TYPE_EDGE_FALLING;
59 67
68 set_irq_chip_data(virq, msi_data);
60 set_irq_chip_and_handler(virq, chip, handle_edge_irq); 69 set_irq_chip_and_handler(virq, chip, handle_edge_irq);
61 70
62 return 0; 71 return 0;
@@ -95,11 +104,12 @@ static int fsl_msi_check_device(struct pci_dev *pdev, int nvec, int type)
95static void fsl_teardown_msi_irqs(struct pci_dev *pdev) 104static void fsl_teardown_msi_irqs(struct pci_dev *pdev)
96{ 105{
97 struct msi_desc *entry; 106 struct msi_desc *entry;
98 struct fsl_msi *msi_data = fsl_msi; 107 struct fsl_msi *msi_data;
99 108
100 list_for_each_entry(entry, &pdev->msi_list, list) { 109 list_for_each_entry(entry, &pdev->msi_list, list) {
101 if (entry->irq == NO_IRQ) 110 if (entry->irq == NO_IRQ)
102 continue; 111 continue;
112 msi_data = get_irq_data(entry->irq);
103 set_irq_msi(entry->irq, NULL); 113 set_irq_msi(entry->irq, NULL);
104 msi_bitmap_free_hwirqs(&msi_data->bitmap, 114 msi_bitmap_free_hwirqs(&msi_data->bitmap,
105 virq_to_hw(entry->irq), 1); 115 virq_to_hw(entry->irq), 1);
@@ -110,9 +120,10 @@ static void fsl_teardown_msi_irqs(struct pci_dev *pdev)
110} 120}
111 121
112static void fsl_compose_msi_msg(struct pci_dev *pdev, int hwirq, 122static void fsl_compose_msi_msg(struct pci_dev *pdev, int hwirq,
113 struct msi_msg *msg) 123 struct msi_msg *msg,
124 struct fsl_msi *fsl_msi_data)
114{ 125{
115 struct fsl_msi *msi_data = fsl_msi; 126 struct fsl_msi *msi_data = fsl_msi_data;
116 struct pci_controller *hose = pci_bus_to_host(pdev->bus); 127 struct pci_controller *hose = pci_bus_to_host(pdev->bus);
117 u32 base = 0; 128 u32 base = 0;
118 129
@@ -129,14 +140,19 @@ static void fsl_compose_msi_msg(struct pci_dev *pdev, int hwirq,
129 140
130static int fsl_setup_msi_irqs(struct pci_dev *pdev, int nvec, int type) 141static int fsl_setup_msi_irqs(struct pci_dev *pdev, int nvec, int type)
131{ 142{
132 int rc, hwirq; 143 int rc, hwirq = -ENOMEM;
133 unsigned int virq; 144 unsigned int virq;
134 struct msi_desc *entry; 145 struct msi_desc *entry;
135 struct msi_msg msg; 146 struct msi_msg msg;
136 struct fsl_msi *msi_data = fsl_msi; 147 struct fsl_msi *msi_data;
137 148
138 list_for_each_entry(entry, &pdev->msi_list, list) { 149 list_for_each_entry(entry, &pdev->msi_list, list) {
139 hwirq = msi_bitmap_alloc_hwirqs(&msi_data->bitmap, 1); 150 list_for_each_entry(msi_data, &msi_head, list) {
151 hwirq = msi_bitmap_alloc_hwirqs(&msi_data->bitmap, 1);
152 if (hwirq >= 0)
153 break;
154 }
155
140 if (hwirq < 0) { 156 if (hwirq < 0) {
141 rc = hwirq; 157 rc = hwirq;
142 pr_debug("%s: fail allocating msi interrupt\n", 158 pr_debug("%s: fail allocating msi interrupt\n",
@@ -153,25 +169,31 @@ static int fsl_setup_msi_irqs(struct pci_dev *pdev, int nvec, int type)
153 rc = -ENOSPC; 169 rc = -ENOSPC;
154 goto out_free; 170 goto out_free;
155 } 171 }
172 set_irq_data(virq, msi_data);
156 set_irq_msi(virq, entry); 173 set_irq_msi(virq, entry);
157 174
158 fsl_compose_msi_msg(pdev, hwirq, &msg); 175 fsl_compose_msi_msg(pdev, hwirq, &msg, msi_data);
159 write_msi_msg(virq, &msg); 176 write_msi_msg(virq, &msg);
160 } 177 }
161 return 0; 178 return 0;
162 179
163out_free: 180out_free:
181 /* free by the caller of this function */
164 return rc; 182 return rc;
165} 183}
166 184
167static void fsl_msi_cascade(unsigned int irq, struct irq_desc *desc) 185static void fsl_msi_cascade(unsigned int irq, struct irq_desc *desc)
168{ 186{
169 unsigned int cascade_irq; 187 unsigned int cascade_irq;
170 struct fsl_msi *msi_data = fsl_msi; 188 struct fsl_msi *msi_data;
171 int msir_index = -1; 189 int msir_index = -1;
172 u32 msir_value = 0; 190 u32 msir_value = 0;
173 u32 intr_index; 191 u32 intr_index;
174 u32 have_shift = 0; 192 u32 have_shift = 0;
193 struct fsl_msi_cascade_data *cascade_data;
194
195 cascade_data = (struct fsl_msi_cascade_data *)get_irq_data(irq);
196 msi_data = cascade_data->msi_data;
175 197
176 raw_spin_lock(&desc->lock); 198 raw_spin_lock(&desc->lock);
177 if ((msi_data->feature & FSL_PIC_IP_MASK) == FSL_PIC_IP_IPIC) { 199 if ((msi_data->feature & FSL_PIC_IP_MASK) == FSL_PIC_IP_IPIC) {
@@ -186,13 +208,13 @@ static void fsl_msi_cascade(unsigned int irq, struct irq_desc *desc)
186 if (unlikely(desc->status & IRQ_INPROGRESS)) 208 if (unlikely(desc->status & IRQ_INPROGRESS))
187 goto unlock; 209 goto unlock;
188 210
189 msir_index = (int)desc->handler_data; 211 msir_index = cascade_data->index;
190 212
191 if (msir_index >= NR_MSI_REG) 213 if (msir_index >= NR_MSI_REG)
192 cascade_irq = NO_IRQ; 214 cascade_irq = NO_IRQ;
193 215
194 desc->status |= IRQ_INPROGRESS; 216 desc->status |= IRQ_INPROGRESS;
195 switch (fsl_msi->feature & FSL_PIC_IP_MASK) { 217 switch (msi_data->feature & FSL_PIC_IP_MASK) {
196 case FSL_PIC_IP_MPIC: 218 case FSL_PIC_IP_MPIC:
197 msir_value = fsl_msi_read(msi_data->msi_regs, 219 msir_value = fsl_msi_read(msi_data->msi_regs,
198 msir_index * 0x10); 220 msir_index * 0x10);
@@ -228,6 +250,30 @@ unlock:
228 raw_spin_unlock(&desc->lock); 250 raw_spin_unlock(&desc->lock);
229} 251}
230 252
253static int fsl_of_msi_remove(struct of_device *ofdev)
254{
255 struct fsl_msi *msi = ofdev->dev.platform_data;
256 int virq, i;
257 struct fsl_msi_cascade_data *cascade_data;
258
259 if (msi->list.prev != NULL)
260 list_del(&msi->list);
261 for (i = 0; i < NR_MSI_REG; i++) {
262 virq = msi->msi_virqs[i];
263 if (virq != NO_IRQ) {
264 cascade_data = get_irq_data(virq);
265 kfree(cascade_data);
266 irq_dispose_mapping(virq);
267 }
268 }
269 if (msi->bitmap.bitmap)
270 msi_bitmap_free(&msi->bitmap);
271 iounmap(msi->msi_regs);
272 kfree(msi);
273
274 return 0;
275}
276
231static int __devinit fsl_of_msi_probe(struct of_device *dev, 277static int __devinit fsl_of_msi_probe(struct of_device *dev,
232 const struct of_device_id *match) 278 const struct of_device_id *match)
233{ 279{
@@ -238,17 +284,20 @@ static int __devinit fsl_of_msi_probe(struct of_device *dev,
238 int virt_msir; 284 int virt_msir;
239 const u32 *p; 285 const u32 *p;
240 struct fsl_msi_feature *features = match->data; 286 struct fsl_msi_feature *features = match->data;
287 struct fsl_msi_cascade_data *cascade_data = NULL;
288 int len;
289 u32 offset;
241 290
242 printk(KERN_DEBUG "Setting up Freescale MSI support\n"); 291 printk(KERN_DEBUG "Setting up Freescale MSI support\n");
243 292
244 msi = kzalloc(sizeof(struct fsl_msi), GFP_KERNEL); 293 msi = kzalloc(sizeof(struct fsl_msi), GFP_KERNEL);
245 if (!msi) { 294 if (!msi) {
246 dev_err(&dev->dev, "No memory for MSI structure\n"); 295 dev_err(&dev->dev, "No memory for MSI structure\n");
247 err = -ENOMEM; 296 return -ENOMEM;
248 goto error_out;
249 } 297 }
298 dev->dev.platform_data = msi;
250 299
251 msi->irqhost = irq_alloc_host(dev->node, IRQ_HOST_MAP_LINEAR, 300 msi->irqhost = irq_alloc_host(dev->dev.of_node, IRQ_HOST_MAP_LINEAR,
252 NR_MSI_IRQS, &fsl_msi_host_ops, 0); 301 NR_MSI_IRQS, &fsl_msi_host_ops, 0);
253 302
254 if (msi->irqhost == NULL) { 303 if (msi->irqhost == NULL) {
@@ -258,10 +307,10 @@ static int __devinit fsl_of_msi_probe(struct of_device *dev,
258 } 307 }
259 308
260 /* Get the MSI reg base */ 309 /* Get the MSI reg base */
261 err = of_address_to_resource(dev->node, 0, &res); 310 err = of_address_to_resource(dev->dev.of_node, 0, &res);
262 if (err) { 311 if (err) {
263 dev_err(&dev->dev, "%s resource error!\n", 312 dev_err(&dev->dev, "%s resource error!\n",
264 dev->node->full_name); 313 dev->dev.of_node->full_name);
265 goto error_out; 314 goto error_out;
266 } 315 }
267 316
@@ -284,40 +333,60 @@ static int __devinit fsl_of_msi_probe(struct of_device *dev,
284 goto error_out; 333 goto error_out;
285 } 334 }
286 335
287 p = of_get_property(dev->node, "interrupts", &count); 336 p = of_get_property(dev->dev.of_node, "interrupts", &count);
288 if (!p) { 337 if (!p) {
289 dev_err(&dev->dev, "no interrupts property found on %s\n", 338 dev_err(&dev->dev, "no interrupts property found on %s\n",
290 dev->node->full_name); 339 dev->dev.of_node->full_name);
291 err = -ENODEV; 340 err = -ENODEV;
292 goto error_out; 341 goto error_out;
293 } 342 }
294 if (count % 8 != 0) { 343 if (count % 8 != 0) {
295 dev_err(&dev->dev, "Malformed interrupts property on %s\n", 344 dev_err(&dev->dev, "Malformed interrupts property on %s\n",
296 dev->node->full_name); 345 dev->dev.of_node->full_name);
297 err = -EINVAL; 346 err = -EINVAL;
298 goto error_out; 347 goto error_out;
299 } 348 }
349 offset = 0;
350 p = of_get_property(dev->dev.of_node, "msi-available-ranges", &len);
351 if (p)
352 offset = *p / IRQS_PER_MSI_REG;
300 353
301 count /= sizeof(u32); 354 count /= sizeof(u32);
302 for (i = 0; i < count / 2; i++) { 355 for (i = 0; i < min(count / 2, NR_MSI_REG); i++) {
303 if (i > NR_MSI_REG) 356 virt_msir = irq_of_parse_and_map(dev->dev.of_node, i);
304 break;
305 virt_msir = irq_of_parse_and_map(dev->node, i);
306 if (virt_msir != NO_IRQ) { 357 if (virt_msir != NO_IRQ) {
307 set_irq_data(virt_msir, (void *)i); 358 cascade_data = kzalloc(
359 sizeof(struct fsl_msi_cascade_data),
360 GFP_KERNEL);
361 if (!cascade_data) {
362 dev_err(&dev->dev,
363 "No memory for MSI cascade data\n");
364 err = -ENOMEM;
365 goto error_out;
366 }
367 msi->msi_virqs[i] = virt_msir;
368 cascade_data->index = i + offset;
369 cascade_data->msi_data = msi;
370 set_irq_data(virt_msir, (void *)cascade_data);
308 set_irq_chained_handler(virt_msir, fsl_msi_cascade); 371 set_irq_chained_handler(virt_msir, fsl_msi_cascade);
309 } 372 }
310 } 373 }
311 374
312 fsl_msi = msi; 375 list_add_tail(&msi->list, &msi_head);
313 376
314 WARN_ON(ppc_md.setup_msi_irqs); 377 /* The multiple setting ppc_md.setup_msi_irqs will not harm things */
315 ppc_md.setup_msi_irqs = fsl_setup_msi_irqs; 378 if (!ppc_md.setup_msi_irqs) {
316 ppc_md.teardown_msi_irqs = fsl_teardown_msi_irqs; 379 ppc_md.setup_msi_irqs = fsl_setup_msi_irqs;
317 ppc_md.msi_check_device = fsl_msi_check_device; 380 ppc_md.teardown_msi_irqs = fsl_teardown_msi_irqs;
381 ppc_md.msi_check_device = fsl_msi_check_device;
382 } else if (ppc_md.setup_msi_irqs != fsl_setup_msi_irqs) {
383 dev_err(&dev->dev, "Different MSI driver already installed!\n");
384 err = -ENODEV;
385 goto error_out;
386 }
318 return 0; 387 return 0;
319error_out: 388error_out:
320 kfree(msi); 389 fsl_of_msi_remove(dev);
321 return err; 390 return err;
322} 391}
323 392
@@ -344,9 +413,13 @@ static const struct of_device_id fsl_of_msi_ids[] = {
344}; 413};
345 414
346static struct of_platform_driver fsl_of_msi_driver = { 415static struct of_platform_driver fsl_of_msi_driver = {
347 .name = "fsl-msi", 416 .driver = {
348 .match_table = fsl_of_msi_ids, 417 .name = "fsl-msi",
418 .owner = THIS_MODULE,
419 .of_match_table = fsl_of_msi_ids,
420 },
349 .probe = fsl_of_msi_probe, 421 .probe = fsl_of_msi_probe,
422 .remove = fsl_of_msi_remove,
350}; 423};
351 424
352static __init int fsl_of_msi_init(void) 425static __init int fsl_of_msi_init(void)
diff --git a/arch/powerpc/sysdev/fsl_msi.h b/arch/powerpc/sysdev/fsl_msi.h
index 331c7e7025b7..624580c252d7 100644
--- a/arch/powerpc/sysdev/fsl_msi.h
+++ b/arch/powerpc/sysdev/fsl_msi.h
@@ -32,8 +32,11 @@ struct fsl_msi {
32 u32 msi_addr_hi; 32 u32 msi_addr_hi;
33 void __iomem *msi_regs; 33 void __iomem *msi_regs;
34 u32 feature; 34 u32 feature;
35 int msi_virqs[NR_MSI_REG];
35 36
36 struct msi_bitmap bitmap; 37 struct msi_bitmap bitmap;
38
39 struct list_head list; /* support multiple MSI banks */
37}; 40};
38 41
39#endif /* _POWERPC_SYSDEV_FSL_MSI_H */ 42#endif /* _POWERPC_SYSDEV_FSL_MSI_H */
diff --git a/arch/powerpc/sysdev/fsl_pci.c b/arch/powerpc/sysdev/fsl_pci.c
index e1a028c1f18d..356c6a0e1b23 100644
--- a/arch/powerpc/sysdev/fsl_pci.c
+++ b/arch/powerpc/sysdev/fsl_pci.c
@@ -23,8 +23,9 @@
23#include <linux/string.h> 23#include <linux/string.h>
24#include <linux/init.h> 24#include <linux/init.h>
25#include <linux/bootmem.h> 25#include <linux/bootmem.h>
26#include <linux/lmb.h> 26#include <linux/memblock.h>
27#include <linux/log2.h> 27#include <linux/log2.h>
28#include <linux/slab.h>
28 29
29#include <asm/io.h> 30#include <asm/io.h>
30#include <asm/prom.h> 31#include <asm/prom.h>
@@ -189,7 +190,7 @@ static void __init setup_pci_atmu(struct pci_controller *hose,
189 pr_info("%s: PCICSRBAR @ 0x%x\n", name, pcicsrbar); 190 pr_info("%s: PCICSRBAR @ 0x%x\n", name, pcicsrbar);
190 191
191 /* Setup inbound mem window */ 192 /* Setup inbound mem window */
192 mem = lmb_end_of_DRAM(); 193 mem = memblock_end_of_DRAM();
193 sz = min(mem, paddr_lo); 194 sz = min(mem, paddr_lo);
194 mem_log = __ilog2_u64(sz); 195 mem_log = __ilog2_u64(sz);
195 196
diff --git a/arch/powerpc/sysdev/fsl_pmc.c b/arch/powerpc/sysdev/fsl_pmc.c
index a7635a993dca..9082eb921ad9 100644
--- a/arch/powerpc/sysdev/fsl_pmc.c
+++ b/arch/powerpc/sysdev/fsl_pmc.c
@@ -60,7 +60,7 @@ static struct platform_suspend_ops pmc_suspend_ops = {
60 60
61static int pmc_probe(struct of_device *ofdev, const struct of_device_id *id) 61static int pmc_probe(struct of_device *ofdev, const struct of_device_id *id)
62{ 62{
63 pmc_regs = of_iomap(ofdev->node, 0); 63 pmc_regs = of_iomap(ofdev->dev.of_node, 0);
64 if (!pmc_regs) 64 if (!pmc_regs)
65 return -ENOMEM; 65 return -ENOMEM;
66 66
@@ -76,8 +76,11 @@ static const struct of_device_id pmc_ids[] = {
76}; 76};
77 77
78static struct of_platform_driver pmc_driver = { 78static struct of_platform_driver pmc_driver = {
79 .driver.name = "fsl-pmc", 79 .driver = {
80 .match_table = pmc_ids, 80 .name = "fsl-pmc",
81 .owner = THIS_MODULE,
82 .of_match_table = pmc_ids,
83 },
81 .probe = pmc_probe, 84 .probe = pmc_probe,
82}; 85};
83 86
diff --git a/arch/powerpc/sysdev/fsl_rio.c b/arch/powerpc/sysdev/fsl_rio.c
index 757a83fe5e59..30e1626b2e85 100644
--- a/arch/powerpc/sysdev/fsl_rio.c
+++ b/arch/powerpc/sysdev/fsl_rio.c
@@ -1,6 +1,15 @@
1/* 1/*
2 * Freescale MPC85xx/MPC86xx RapidIO support 2 * Freescale MPC85xx/MPC86xx RapidIO support
3 * 3 *
4 * Copyright 2009 Sysgo AG
5 * Thomas Moll <thomas.moll@sysgo.com>
6 * - fixed maintenance access routines, check for aligned access
7 *
8 * Copyright 2009 Integrated Device Technology, Inc.
9 * Alex Bounine <alexandre.bounine@idt.com>
10 * - Added Port-Write message handling
11 * - Added Machine Check exception handling
12 *
4 * Copyright (C) 2007, 2008 Freescale Semiconductor, Inc. 13 * Copyright (C) 2007, 2008 Freescale Semiconductor, Inc.
5 * Zhang Wei <wei.zhang@freescale.com> 14 * Zhang Wei <wei.zhang@freescale.com>
6 * 15 *
@@ -23,19 +32,31 @@
23#include <linux/rio_drv.h> 32#include <linux/rio_drv.h>
24#include <linux/of_platform.h> 33#include <linux/of_platform.h>
25#include <linux/delay.h> 34#include <linux/delay.h>
35#include <linux/slab.h>
36#include <linux/kfifo.h>
26 37
27#include <asm/io.h> 38#include <asm/io.h>
39#include <asm/machdep.h>
40#include <asm/uaccess.h>
41
42#undef DEBUG_PW /* Port-Write debugging */
28 43
29/* RapidIO definition irq, which read from OF-tree */ 44/* RapidIO definition irq, which read from OF-tree */
30#define IRQ_RIO_BELL(m) (((struct rio_priv *)(m->priv))->bellirq) 45#define IRQ_RIO_BELL(m) (((struct rio_priv *)(m->priv))->bellirq)
31#define IRQ_RIO_TX(m) (((struct rio_priv *)(m->priv))->txirq) 46#define IRQ_RIO_TX(m) (((struct rio_priv *)(m->priv))->txirq)
32#define IRQ_RIO_RX(m) (((struct rio_priv *)(m->priv))->rxirq) 47#define IRQ_RIO_RX(m) (((struct rio_priv *)(m->priv))->rxirq)
48#define IRQ_RIO_PW(m) (((struct rio_priv *)(m->priv))->pwirq)
33 49
34#define RIO_ATMU_REGS_OFFSET 0x10c00 50#define RIO_ATMU_REGS_OFFSET 0x10c00
35#define RIO_P_MSG_REGS_OFFSET 0x11000 51#define RIO_P_MSG_REGS_OFFSET 0x11000
36#define RIO_S_MSG_REGS_OFFSET 0x13000 52#define RIO_S_MSG_REGS_OFFSET 0x13000
37#define RIO_ESCSR 0x158 53#define RIO_ESCSR 0x158
38#define RIO_CCSR 0x15c 54#define RIO_CCSR 0x15c
55#define RIO_LTLEDCSR 0x0608
56#define RIO_LTLEDCSR_IER 0x80000000
57#define RIO_LTLEDCSR_PRT 0x01000000
58#define RIO_LTLEECSR 0x060c
59#define RIO_EPWISR 0x10010
39#define RIO_ISR_AACR 0x10120 60#define RIO_ISR_AACR 0x10120
40#define RIO_ISR_AACR_AA 0x1 /* Accept All ID */ 61#define RIO_ISR_AACR_AA 0x1 /* Accept All ID */
41#define RIO_MAINT_WIN_SIZE 0x400000 62#define RIO_MAINT_WIN_SIZE 0x400000
@@ -54,6 +75,18 @@
54#define RIO_MSG_ISR_QFI 0x00000010 75#define RIO_MSG_ISR_QFI 0x00000010
55#define RIO_MSG_ISR_DIQI 0x00000001 76#define RIO_MSG_ISR_DIQI 0x00000001
56 77
78#define RIO_IPWMR_SEN 0x00100000
79#define RIO_IPWMR_QFIE 0x00000100
80#define RIO_IPWMR_EIE 0x00000020
81#define RIO_IPWMR_CQ 0x00000002
82#define RIO_IPWMR_PWE 0x00000001
83
84#define RIO_IPWSR_QF 0x00100000
85#define RIO_IPWSR_TE 0x00000080
86#define RIO_IPWSR_QFI 0x00000010
87#define RIO_IPWSR_PWD 0x00000008
88#define RIO_IPWSR_PWB 0x00000004
89
57#define RIO_MSG_DESC_SIZE 32 90#define RIO_MSG_DESC_SIZE 32
58#define RIO_MSG_BUFFER_SIZE 4096 91#define RIO_MSG_BUFFER_SIZE 4096
59#define RIO_MIN_TX_RING_SIZE 2 92#define RIO_MIN_TX_RING_SIZE 2
@@ -120,7 +153,7 @@ struct rio_msg_regs {
120 u32 pad10[26]; 153 u32 pad10[26];
121 u32 pwmr; 154 u32 pwmr;
122 u32 pwsr; 155 u32 pwsr;
123 u32 pad11; 156 u32 epwqbar;
124 u32 pwqbar; 157 u32 pwqbar;
125}; 158};
126 159
@@ -159,6 +192,14 @@ struct rio_msg_rx_ring {
159 void *dev_id; 192 void *dev_id;
160}; 193};
161 194
195struct rio_port_write_msg {
196 void *virt;
197 dma_addr_t phys;
198 u32 msg_count;
199 u32 err_count;
200 u32 discard_count;
201};
202
162struct rio_priv { 203struct rio_priv {
163 struct device *dev; 204 struct device *dev;
164 void __iomem *regs_win; 205 void __iomem *regs_win;
@@ -171,11 +212,64 @@ struct rio_priv {
171 struct rio_dbell_ring dbell_ring; 212 struct rio_dbell_ring dbell_ring;
172 struct rio_msg_tx_ring msg_tx_ring; 213 struct rio_msg_tx_ring msg_tx_ring;
173 struct rio_msg_rx_ring msg_rx_ring; 214 struct rio_msg_rx_ring msg_rx_ring;
215 struct rio_port_write_msg port_write_msg;
174 int bellirq; 216 int bellirq;
175 int txirq; 217 int txirq;
176 int rxirq; 218 int rxirq;
219 int pwirq;
220 struct work_struct pw_work;
221 struct kfifo pw_fifo;
222 spinlock_t pw_fifo_lock;
177}; 223};
178 224
225#define __fsl_read_rio_config(x, addr, err, op) \
226 __asm__ __volatile__( \
227 "1: "op" %1,0(%2)\n" \
228 " eieio\n" \
229 "2:\n" \
230 ".section .fixup,\"ax\"\n" \
231 "3: li %1,-1\n" \
232 " li %0,%3\n" \
233 " b 2b\n" \
234 ".section __ex_table,\"a\"\n" \
235 " .align 2\n" \
236 " .long 1b,3b\n" \
237 ".text" \
238 : "=r" (err), "=r" (x) \
239 : "b" (addr), "i" (-EFAULT), "0" (err))
240
241static void __iomem *rio_regs_win;
242
243static int (*saved_mcheck_exception)(struct pt_regs *regs);
244
245static int fsl_rio_mcheck_exception(struct pt_regs *regs)
246{
247 const struct exception_table_entry *entry = NULL;
248 unsigned long reason = (mfspr(SPRN_MCSR) & MCSR_MASK);
249
250 if (reason & MCSR_BUS_RBERR) {
251 reason = in_be32((u32 *)(rio_regs_win + RIO_LTLEDCSR));
252 if (reason & (RIO_LTLEDCSR_IER | RIO_LTLEDCSR_PRT)) {
253 /* Check if we are prepared to handle this fault */
254 entry = search_exception_tables(regs->nip);
255 if (entry) {
256 pr_debug("RIO: %s - MC Exception handled\n",
257 __func__);
258 out_be32((u32 *)(rio_regs_win + RIO_LTLEDCSR),
259 0);
260 regs->msr |= MSR_RI;
261 regs->nip = entry->fixup;
262 return 1;
263 }
264 }
265 }
266
267 if (saved_mcheck_exception)
268 return saved_mcheck_exception(regs);
269 else
270 return cur_cpu_spec->machine_check(regs);
271}
272
179/** 273/**
180 * fsl_rio_doorbell_send - Send a MPC85xx doorbell message 274 * fsl_rio_doorbell_send - Send a MPC85xx doorbell message
181 * @mport: RapidIO master port info 275 * @mport: RapidIO master port info
@@ -276,27 +370,44 @@ fsl_rio_config_read(struct rio_mport *mport, int index, u16 destid,
276{ 370{
277 struct rio_priv *priv = mport->priv; 371 struct rio_priv *priv = mport->priv;
278 u8 *data; 372 u8 *data;
373 u32 rval, err = 0;
279 374
280 pr_debug 375 pr_debug
281 ("fsl_rio_config_read: index %d destid %d hopcount %d offset %8.8x len %d\n", 376 ("fsl_rio_config_read: index %d destid %d hopcount %d offset %8.8x len %d\n",
282 index, destid, hopcount, offset, len); 377 index, destid, hopcount, offset, len);
378
379 /* 16MB maintenance window possible */
380 /* allow only aligned access to maintenance registers */
381 if (offset > (0x1000000 - len) || !IS_ALIGNED(offset, len))
382 return -EINVAL;
383
283 out_be32(&priv->maint_atmu_regs->rowtar, 384 out_be32(&priv->maint_atmu_regs->rowtar,
284 (destid << 22) | (hopcount << 12) | ((offset & ~0x3) >> 9)); 385 (destid << 22) | (hopcount << 12) | (offset >> 12));
386 out_be32(&priv->maint_atmu_regs->rowtear, (destid >> 10));
285 387
286 data = (u8 *) priv->maint_win + offset; 388 data = (u8 *) priv->maint_win + (offset & (RIO_MAINT_WIN_SIZE - 1));
287 switch (len) { 389 switch (len) {
288 case 1: 390 case 1:
289 *val = in_8((u8 *) data); 391 __fsl_read_rio_config(rval, data, err, "lbz");
290 break; 392 break;
291 case 2: 393 case 2:
292 *val = in_be16((u16 *) data); 394 __fsl_read_rio_config(rval, data, err, "lhz");
293 break; 395 break;
294 default: 396 case 4:
295 *val = in_be32((u32 *) data); 397 __fsl_read_rio_config(rval, data, err, "lwz");
296 break; 398 break;
399 default:
400 return -EINVAL;
297 } 401 }
298 402
299 return 0; 403 if (err) {
404 pr_debug("RIO: cfg_read error %d for %x:%x:%x\n",
405 err, destid, hopcount, offset);
406 }
407
408 *val = rval;
409
410 return err;
300} 411}
301 412
302/** 413/**
@@ -321,10 +432,17 @@ fsl_rio_config_write(struct rio_mport *mport, int index, u16 destid,
321 pr_debug 432 pr_debug
322 ("fsl_rio_config_write: index %d destid %d hopcount %d offset %8.8x len %d val %8.8x\n", 433 ("fsl_rio_config_write: index %d destid %d hopcount %d offset %8.8x len %d val %8.8x\n",
323 index, destid, hopcount, offset, len, val); 434 index, destid, hopcount, offset, len, val);
435
436 /* 16MB maintenance windows possible */
437 /* allow only aligned access to maintenance registers */
438 if (offset > (0x1000000 - len) || !IS_ALIGNED(offset, len))
439 return -EINVAL;
440
324 out_be32(&priv->maint_atmu_regs->rowtar, 441 out_be32(&priv->maint_atmu_regs->rowtar,
325 (destid << 22) | (hopcount << 12) | ((offset & ~0x3) >> 9)); 442 (destid << 22) | (hopcount << 12) | (offset >> 12));
443 out_be32(&priv->maint_atmu_regs->rowtear, (destid >> 10));
326 444
327 data = (u8 *) priv->maint_win + offset; 445 data = (u8 *) priv->maint_win + (offset & (RIO_MAINT_WIN_SIZE - 1));
328 switch (len) { 446 switch (len) {
329 case 1: 447 case 1:
330 out_8((u8 *) data, val); 448 out_8((u8 *) data, val);
@@ -332,9 +450,11 @@ fsl_rio_config_write(struct rio_mport *mport, int index, u16 destid,
332 case 2: 450 case 2:
333 out_be16((u16 *) data, val); 451 out_be16((u16 *) data, val);
334 break; 452 break;
335 default: 453 case 4:
336 out_be32((u32 *) data, val); 454 out_be32((u32 *) data, val);
337 break; 455 break;
456 default:
457 return -EINVAL;
338 } 458 }
339 459
340 return 0; 460 return 0;
@@ -929,6 +1049,223 @@ static int fsl_rio_doorbell_init(struct rio_mport *mport)
929 return rc; 1049 return rc;
930} 1050}
931 1051
1052/**
1053 * fsl_rio_port_write_handler - MPC85xx port write interrupt handler
1054 * @irq: Linux interrupt number
1055 * @dev_instance: Pointer to interrupt-specific data
1056 *
1057 * Handles port write interrupts. Parses a list of registered
1058 * port write event handlers and executes a matching event handler.
1059 */
1060static irqreturn_t
1061fsl_rio_port_write_handler(int irq, void *dev_instance)
1062{
1063 u32 ipwmr, ipwsr;
1064 struct rio_mport *port = (struct rio_mport *)dev_instance;
1065 struct rio_priv *priv = port->priv;
1066 u32 epwisr, tmp;
1067
1068 ipwmr = in_be32(&priv->msg_regs->pwmr);
1069 ipwsr = in_be32(&priv->msg_regs->pwsr);
1070
1071 epwisr = in_be32(priv->regs_win + RIO_EPWISR);
1072 if (epwisr & 0x80000000) {
1073 tmp = in_be32(priv->regs_win + RIO_LTLEDCSR);
1074 pr_info("RIO_LTLEDCSR = 0x%x\n", tmp);
1075 out_be32(priv->regs_win + RIO_LTLEDCSR, 0);
1076 }
1077
1078 if (!(epwisr & 0x00000001))
1079 return IRQ_HANDLED;
1080
1081#ifdef DEBUG_PW
1082 pr_debug("PW Int->IPWMR: 0x%08x IPWSR: 0x%08x (", ipwmr, ipwsr);
1083 if (ipwsr & RIO_IPWSR_QF)
1084 pr_debug(" QF");
1085 if (ipwsr & RIO_IPWSR_TE)
1086 pr_debug(" TE");
1087 if (ipwsr & RIO_IPWSR_QFI)
1088 pr_debug(" QFI");
1089 if (ipwsr & RIO_IPWSR_PWD)
1090 pr_debug(" PWD");
1091 if (ipwsr & RIO_IPWSR_PWB)
1092 pr_debug(" PWB");
1093 pr_debug(" )\n");
1094#endif
1095 out_be32(&priv->msg_regs->pwsr,
1096 ipwsr & (RIO_IPWSR_TE | RIO_IPWSR_QFI | RIO_IPWSR_PWD));
1097
1098 if ((ipwmr & RIO_IPWMR_EIE) && (ipwsr & RIO_IPWSR_TE)) {
1099 priv->port_write_msg.err_count++;
1100 pr_info("RIO: Port-Write Transaction Err (%d)\n",
1101 priv->port_write_msg.err_count);
1102 }
1103 if (ipwsr & RIO_IPWSR_PWD) {
1104 priv->port_write_msg.discard_count++;
1105 pr_info("RIO: Port Discarded Port-Write Msg(s) (%d)\n",
1106 priv->port_write_msg.discard_count);
1107 }
1108
1109 /* Schedule deferred processing if PW was received */
1110 if (ipwsr & RIO_IPWSR_QFI) {
1111 /* Save PW message (if there is room in FIFO),
1112 * otherwise discard it.
1113 */
1114 if (kfifo_avail(&priv->pw_fifo) >= RIO_PW_MSG_SIZE) {
1115 priv->port_write_msg.msg_count++;
1116 kfifo_in(&priv->pw_fifo, priv->port_write_msg.virt,
1117 RIO_PW_MSG_SIZE);
1118 } else {
1119 priv->port_write_msg.discard_count++;
1120 pr_info("RIO: ISR Discarded Port-Write Msg(s) (%d)\n",
1121 priv->port_write_msg.discard_count);
1122 }
1123 schedule_work(&priv->pw_work);
1124 }
1125
1126 /* Issue Clear Queue command. This allows another
1127 * port-write to be received.
1128 */
1129 out_be32(&priv->msg_regs->pwmr, ipwmr | RIO_IPWMR_CQ);
1130
1131 return IRQ_HANDLED;
1132}
1133
1134static void fsl_pw_dpc(struct work_struct *work)
1135{
1136 struct rio_priv *priv = container_of(work, struct rio_priv, pw_work);
1137 unsigned long flags;
1138 u32 msg_buffer[RIO_PW_MSG_SIZE/sizeof(u32)];
1139
1140 /*
1141 * Process port-write messages
1142 */
1143 spin_lock_irqsave(&priv->pw_fifo_lock, flags);
1144 while (kfifo_out(&priv->pw_fifo, (unsigned char *)msg_buffer,
1145 RIO_PW_MSG_SIZE)) {
1146 /* Process one message */
1147 spin_unlock_irqrestore(&priv->pw_fifo_lock, flags);
1148#ifdef DEBUG_PW
1149 {
1150 u32 i;
1151 pr_debug("%s : Port-Write Message:", __func__);
1152 for (i = 0; i < RIO_PW_MSG_SIZE/sizeof(u32); i++) {
1153 if ((i%4) == 0)
1154 pr_debug("\n0x%02x: 0x%08x", i*4,
1155 msg_buffer[i]);
1156 else
1157 pr_debug(" 0x%08x", msg_buffer[i]);
1158 }
1159 pr_debug("\n");
1160 }
1161#endif
1162 /* Pass the port-write message to RIO core for processing */
1163 rio_inb_pwrite_handler((union rio_pw_msg *)msg_buffer);
1164 spin_lock_irqsave(&priv->pw_fifo_lock, flags);
1165 }
1166 spin_unlock_irqrestore(&priv->pw_fifo_lock, flags);
1167}
1168
1169/**
1170 * fsl_rio_pw_enable - enable/disable port-write interface init
1171 * @mport: Master port implementing the port write unit
1172 * @enable: 1=enable; 0=disable port-write message handling
1173 */
1174static int fsl_rio_pw_enable(struct rio_mport *mport, int enable)
1175{
1176 struct rio_priv *priv = mport->priv;
1177 u32 rval;
1178
1179 rval = in_be32(&priv->msg_regs->pwmr);
1180
1181 if (enable)
1182 rval |= RIO_IPWMR_PWE;
1183 else
1184 rval &= ~RIO_IPWMR_PWE;
1185
1186 out_be32(&priv->msg_regs->pwmr, rval);
1187
1188 return 0;
1189}
1190
1191/**
1192 * fsl_rio_port_write_init - MPC85xx port write interface init
1193 * @mport: Master port implementing the port write unit
1194 *
1195 * Initializes port write unit hardware and DMA buffer
1196 * ring. Called from fsl_rio_setup(). Returns %0 on success
1197 * or %-ENOMEM on failure.
1198 */
1199static int fsl_rio_port_write_init(struct rio_mport *mport)
1200{
1201 struct rio_priv *priv = mport->priv;
1202 int rc = 0;
1203
1204 /* Following configurations require a disabled port write controller */
1205 out_be32(&priv->msg_regs->pwmr,
1206 in_be32(&priv->msg_regs->pwmr) & ~RIO_IPWMR_PWE);
1207
1208 /* Initialize port write */
1209 priv->port_write_msg.virt = dma_alloc_coherent(priv->dev,
1210 RIO_PW_MSG_SIZE,
1211 &priv->port_write_msg.phys, GFP_KERNEL);
1212 if (!priv->port_write_msg.virt) {
1213 pr_err("RIO: unable allocate port write queue\n");
1214 return -ENOMEM;
1215 }
1216
1217 priv->port_write_msg.err_count = 0;
1218 priv->port_write_msg.discard_count = 0;
1219
1220 /* Point dequeue/enqueue pointers at first entry */
1221 out_be32(&priv->msg_regs->epwqbar, 0);
1222 out_be32(&priv->msg_regs->pwqbar, (u32) priv->port_write_msg.phys);
1223
1224 pr_debug("EIPWQBAR: 0x%08x IPWQBAR: 0x%08x\n",
1225 in_be32(&priv->msg_regs->epwqbar),
1226 in_be32(&priv->msg_regs->pwqbar));
1227
1228 /* Clear interrupt status IPWSR */
1229 out_be32(&priv->msg_regs->pwsr,
1230 (RIO_IPWSR_TE | RIO_IPWSR_QFI | RIO_IPWSR_PWD));
1231
1232 /* Configure port write contoller for snooping enable all reporting,
1233 clear queue full */
1234 out_be32(&priv->msg_regs->pwmr,
1235 RIO_IPWMR_SEN | RIO_IPWMR_QFIE | RIO_IPWMR_EIE | RIO_IPWMR_CQ);
1236
1237
1238 /* Hook up port-write handler */
1239 rc = request_irq(IRQ_RIO_PW(mport), fsl_rio_port_write_handler, 0,
1240 "port-write", (void *)mport);
1241 if (rc < 0) {
1242 pr_err("MPC85xx RIO: unable to request inbound doorbell irq");
1243 goto err_out;
1244 }
1245
1246 INIT_WORK(&priv->pw_work, fsl_pw_dpc);
1247 spin_lock_init(&priv->pw_fifo_lock);
1248 if (kfifo_alloc(&priv->pw_fifo, RIO_PW_MSG_SIZE * 32, GFP_KERNEL)) {
1249 pr_err("FIFO allocation failed\n");
1250 rc = -ENOMEM;
1251 goto err_out_irq;
1252 }
1253
1254 pr_debug("IPWMR: 0x%08x IPWSR: 0x%08x\n",
1255 in_be32(&priv->msg_regs->pwmr),
1256 in_be32(&priv->msg_regs->pwsr));
1257
1258 return rc;
1259
1260err_out_irq:
1261 free_irq(IRQ_RIO_PW(mport), (void *)mport);
1262err_out:
1263 dma_free_coherent(priv->dev, RIO_PW_MSG_SIZE,
1264 priv->port_write_msg.virt,
1265 priv->port_write_msg.phys);
1266 return rc;
1267}
1268
932static char *cmdline = NULL; 1269static char *cmdline = NULL;
933 1270
934static int fsl_rio_get_hdid(int index) 1271static int fsl_rio_get_hdid(int index)
@@ -1014,41 +1351,41 @@ int fsl_rio_setup(struct of_device *dev)
1014 u64 law_start, law_size; 1351 u64 law_start, law_size;
1015 int paw, aw, sw; 1352 int paw, aw, sw;
1016 1353
1017 if (!dev->node) { 1354 if (!dev->dev.of_node) {
1018 dev_err(&dev->dev, "Device OF-Node is NULL"); 1355 dev_err(&dev->dev, "Device OF-Node is NULL");
1019 return -EFAULT; 1356 return -EFAULT;
1020 } 1357 }
1021 1358
1022 rc = of_address_to_resource(dev->node, 0, &regs); 1359 rc = of_address_to_resource(dev->dev.of_node, 0, &regs);
1023 if (rc) { 1360 if (rc) {
1024 dev_err(&dev->dev, "Can't get %s property 'reg'\n", 1361 dev_err(&dev->dev, "Can't get %s property 'reg'\n",
1025 dev->node->full_name); 1362 dev->dev.of_node->full_name);
1026 return -EFAULT; 1363 return -EFAULT;
1027 } 1364 }
1028 dev_info(&dev->dev, "Of-device full name %s\n", dev->node->full_name); 1365 dev_info(&dev->dev, "Of-device full name %s\n", dev->dev.of_node->full_name);
1029 dev_info(&dev->dev, "Regs: %pR\n", &regs); 1366 dev_info(&dev->dev, "Regs: %pR\n", &regs);
1030 1367
1031 dt_range = of_get_property(dev->node, "ranges", &rlen); 1368 dt_range = of_get_property(dev->dev.of_node, "ranges", &rlen);
1032 if (!dt_range) { 1369 if (!dt_range) {
1033 dev_err(&dev->dev, "Can't get %s property 'ranges'\n", 1370 dev_err(&dev->dev, "Can't get %s property 'ranges'\n",
1034 dev->node->full_name); 1371 dev->dev.of_node->full_name);
1035 return -EFAULT; 1372 return -EFAULT;
1036 } 1373 }
1037 1374
1038 /* Get node address wide */ 1375 /* Get node address wide */
1039 cell = of_get_property(dev->node, "#address-cells", NULL); 1376 cell = of_get_property(dev->dev.of_node, "#address-cells", NULL);
1040 if (cell) 1377 if (cell)
1041 aw = *cell; 1378 aw = *cell;
1042 else 1379 else
1043 aw = of_n_addr_cells(dev->node); 1380 aw = of_n_addr_cells(dev->dev.of_node);
1044 /* Get node size wide */ 1381 /* Get node size wide */
1045 cell = of_get_property(dev->node, "#size-cells", NULL); 1382 cell = of_get_property(dev->dev.of_node, "#size-cells", NULL);
1046 if (cell) 1383 if (cell)
1047 sw = *cell; 1384 sw = *cell;
1048 else 1385 else
1049 sw = of_n_size_cells(dev->node); 1386 sw = of_n_size_cells(dev->dev.of_node);
1050 /* Get parent address wide wide */ 1387 /* Get parent address wide wide */
1051 paw = of_n_addr_cells(dev->node); 1388 paw = of_n_addr_cells(dev->dev.of_node);
1052 1389
1053 law_start = of_read_number(dt_range + aw, paw); 1390 law_start = of_read_number(dt_range + aw, paw);
1054 law_size = of_read_number(dt_range + aw + paw, sw); 1391 law_size = of_read_number(dt_range + aw + paw, sw);
@@ -1056,7 +1393,7 @@ int fsl_rio_setup(struct of_device *dev)
1056 dev_info(&dev->dev, "LAW start 0x%016llx, size 0x%016llx.\n", 1393 dev_info(&dev->dev, "LAW start 0x%016llx, size 0x%016llx.\n",
1057 law_start, law_size); 1394 law_start, law_size);
1058 1395
1059 ops = kmalloc(sizeof(struct rio_ops), GFP_KERNEL); 1396 ops = kzalloc(sizeof(struct rio_ops), GFP_KERNEL);
1060 if (!ops) { 1397 if (!ops) {
1061 rc = -ENOMEM; 1398 rc = -ENOMEM;
1062 goto err_ops; 1399 goto err_ops;
@@ -1066,6 +1403,7 @@ int fsl_rio_setup(struct of_device *dev)
1066 ops->cread = fsl_rio_config_read; 1403 ops->cread = fsl_rio_config_read;
1067 ops->cwrite = fsl_rio_config_write; 1404 ops->cwrite = fsl_rio_config_write;
1068 ops->dsend = fsl_rio_doorbell_send; 1405 ops->dsend = fsl_rio_doorbell_send;
1406 ops->pwenable = fsl_rio_pw_enable;
1069 1407
1070 port = kzalloc(sizeof(struct rio_mport), GFP_KERNEL); 1408 port = kzalloc(sizeof(struct rio_mport), GFP_KERNEL);
1071 if (!port) { 1409 if (!port) {
@@ -1088,11 +1426,12 @@ int fsl_rio_setup(struct of_device *dev)
1088 port->iores.flags = IORESOURCE_MEM; 1426 port->iores.flags = IORESOURCE_MEM;
1089 port->iores.name = "rio_io_win"; 1427 port->iores.name = "rio_io_win";
1090 1428
1091 priv->bellirq = irq_of_parse_and_map(dev->node, 2); 1429 priv->pwirq = irq_of_parse_and_map(dev->dev.of_node, 0);
1092 priv->txirq = irq_of_parse_and_map(dev->node, 3); 1430 priv->bellirq = irq_of_parse_and_map(dev->dev.of_node, 2);
1093 priv->rxirq = irq_of_parse_and_map(dev->node, 4); 1431 priv->txirq = irq_of_parse_and_map(dev->dev.of_node, 3);
1094 dev_info(&dev->dev, "bellirq: %d, txirq: %d, rxirq %d\n", priv->bellirq, 1432 priv->rxirq = irq_of_parse_and_map(dev->dev.of_node, 4);
1095 priv->txirq, priv->rxirq); 1433 dev_info(&dev->dev, "pwirq: %d, bellirq: %d, txirq: %d, rxirq %d\n",
1434 priv->pwirq, priv->bellirq, priv->txirq, priv->rxirq);
1096 1435
1097 rio_init_dbell_res(&port->riores[RIO_DOORBELL_RESOURCE], 0, 0xffff); 1436 rio_init_dbell_res(&port->riores[RIO_DOORBELL_RESOURCE], 0, 0xffff);
1098 rio_init_mbox_res(&port->riores[RIO_INB_MBOX_RESOURCE], 0, 0); 1437 rio_init_mbox_res(&port->riores[RIO_INB_MBOX_RESOURCE], 0, 0);
@@ -1108,6 +1447,7 @@ int fsl_rio_setup(struct of_device *dev)
1108 rio_register_mport(port); 1447 rio_register_mport(port);
1109 1448
1110 priv->regs_win = ioremap(regs.start, regs.end - regs.start + 1); 1449 priv->regs_win = ioremap(regs.start, regs.end - regs.start + 1);
1450 rio_regs_win = priv->regs_win;
1111 1451
1112 /* Probe the master port phy type */ 1452 /* Probe the master port phy type */
1113 ccsr = in_be32(priv->regs_win + RIO_CCSR); 1453 ccsr = in_be32(priv->regs_win + RIO_CCSR);
@@ -1165,7 +1505,8 @@ int fsl_rio_setup(struct of_device *dev)
1165 1505
1166 /* Configure maintenance transaction window */ 1506 /* Configure maintenance transaction window */
1167 out_be32(&priv->maint_atmu_regs->rowbar, law_start >> 12); 1507 out_be32(&priv->maint_atmu_regs->rowbar, law_start >> 12);
1168 out_be32(&priv->maint_atmu_regs->rowar, 0x80077015); /* 4M */ 1508 out_be32(&priv->maint_atmu_regs->rowar,
1509 0x80077000 | (ilog2(RIO_MAINT_WIN_SIZE) - 1));
1169 1510
1170 priv->maint_win = ioremap(law_start, RIO_MAINT_WIN_SIZE); 1511 priv->maint_win = ioremap(law_start, RIO_MAINT_WIN_SIZE);
1171 1512
@@ -1174,6 +1515,12 @@ int fsl_rio_setup(struct of_device *dev)
1174 (law_start + RIO_MAINT_WIN_SIZE) >> 12); 1515 (law_start + RIO_MAINT_WIN_SIZE) >> 12);
1175 out_be32(&priv->dbell_atmu_regs->rowar, 0x8004200b); /* 4k */ 1516 out_be32(&priv->dbell_atmu_regs->rowar, 0x8004200b); /* 4k */
1176 fsl_rio_doorbell_init(port); 1517 fsl_rio_doorbell_init(port);
1518 fsl_rio_port_write_init(port);
1519
1520 saved_mcheck_exception = ppc_md.machine_check_exception;
1521 ppc_md.machine_check_exception = fsl_rio_mcheck_exception;
1522 /* Ensure that RFXE is set */
1523 mtspr(SPRN_HID1, (mfspr(SPRN_HID1) | 0x20000));
1177 1524
1178 return 0; 1525 return 0;
1179err: 1526err:
@@ -1194,7 +1541,7 @@ static int __devinit fsl_of_rio_rpn_probe(struct of_device *dev,
1194{ 1541{
1195 int rc; 1542 int rc;
1196 printk(KERN_INFO "Setting up RapidIO peer-to-peer network %s\n", 1543 printk(KERN_INFO "Setting up RapidIO peer-to-peer network %s\n",
1197 dev->node->full_name); 1544 dev->dev.of_node->full_name);
1198 1545
1199 rc = fsl_rio_setup(dev); 1546 rc = fsl_rio_setup(dev);
1200 if (rc) 1547 if (rc)
@@ -1214,8 +1561,11 @@ static const struct of_device_id fsl_of_rio_rpn_ids[] = {
1214}; 1561};
1215 1562
1216static struct of_platform_driver fsl_of_rio_rpn_driver = { 1563static struct of_platform_driver fsl_of_rio_rpn_driver = {
1217 .name = "fsl-of-rio", 1564 .driver = {
1218 .match_table = fsl_of_rio_rpn_ids, 1565 .name = "fsl-of-rio",
1566 .owner = THIS_MODULE,
1567 .of_match_table = fsl_of_rio_rpn_ids,
1568 },
1219 .probe = fsl_of_rio_rpn_probe, 1569 .probe = fsl_of_rio_rpn_probe,
1220}; 1570};
1221 1571
diff --git a/arch/powerpc/sysdev/grackle.c b/arch/powerpc/sysdev/grackle.c
index 5da37c2f22ee..cf27df6e508b 100644
--- a/arch/powerpc/sysdev/grackle.c
+++ b/arch/powerpc/sysdev/grackle.c
@@ -56,9 +56,9 @@ static inline void grackle_set_loop_snoop(struct pci_controller *bp, int enable)
56void __init setup_grackle(struct pci_controller *hose) 56void __init setup_grackle(struct pci_controller *hose)
57{ 57{
58 setup_indirect_pci(hose, 0xfec00000, 0xfee00000, 0); 58 setup_indirect_pci(hose, 0xfec00000, 0xfee00000, 0);
59 if (machine_is_compatible("PowerMac1,1")) 59 if (of_machine_is_compatible("PowerMac1,1"))
60 ppc_pci_add_flags(PPC_PCI_REASSIGN_ALL_BUS); 60 ppc_pci_add_flags(PPC_PCI_REASSIGN_ALL_BUS);
61 if (machine_is_compatible("AAPL,PowerBook1998")) 61 if (of_machine_is_compatible("AAPL,PowerBook1998"))
62 grackle_set_loop_snoop(hose, 1); 62 grackle_set_loop_snoop(hose, 1);
63#if 0 /* Disabled for now, HW problems ??? */ 63#if 0 /* Disabled for now, HW problems ??? */
64 grackle_set_stg(hose, 1); 64 grackle_set_stg(hose, 1);
diff --git a/arch/powerpc/sysdev/i8259.c b/arch/powerpc/sysdev/i8259.c
index 0a55db8a5a29..6323e70e6bf4 100644
--- a/arch/powerpc/sysdev/i8259.c
+++ b/arch/powerpc/sysdev/i8259.c
@@ -23,7 +23,7 @@ static unsigned char cached_8259[2] = { 0xff, 0xff };
23#define cached_A1 (cached_8259[0]) 23#define cached_A1 (cached_8259[0])
24#define cached_21 (cached_8259[1]) 24#define cached_21 (cached_8259[1])
25 25
26static DEFINE_SPINLOCK(i8259_lock); 26static DEFINE_RAW_SPINLOCK(i8259_lock);
27 27
28static struct irq_host *i8259_host; 28static struct irq_host *i8259_host;
29 29
@@ -42,7 +42,7 @@ unsigned int i8259_irq(void)
42 if (pci_intack) 42 if (pci_intack)
43 irq = readb(pci_intack); 43 irq = readb(pci_intack);
44 else { 44 else {
45 spin_lock(&i8259_lock); 45 raw_spin_lock(&i8259_lock);
46 lock = 1; 46 lock = 1;
47 47
48 /* Perform an interrupt acknowledge cycle on controller 1. */ 48 /* Perform an interrupt acknowledge cycle on controller 1. */
@@ -74,7 +74,7 @@ unsigned int i8259_irq(void)
74 irq = NO_IRQ; 74 irq = NO_IRQ;
75 75
76 if (lock) 76 if (lock)
77 spin_unlock(&i8259_lock); 77 raw_spin_unlock(&i8259_lock);
78 return irq; 78 return irq;
79} 79}
80 80
@@ -82,7 +82,7 @@ static void i8259_mask_and_ack_irq(unsigned int irq_nr)
82{ 82{
83 unsigned long flags; 83 unsigned long flags;
84 84
85 spin_lock_irqsave(&i8259_lock, flags); 85 raw_spin_lock_irqsave(&i8259_lock, flags);
86 if (irq_nr > 7) { 86 if (irq_nr > 7) {
87 cached_A1 |= 1 << (irq_nr-8); 87 cached_A1 |= 1 << (irq_nr-8);
88 inb(0xA1); /* DUMMY */ 88 inb(0xA1); /* DUMMY */
@@ -95,7 +95,7 @@ static void i8259_mask_and_ack_irq(unsigned int irq_nr)
95 outb(cached_21, 0x21); 95 outb(cached_21, 0x21);
96 outb(0x20, 0x20); /* Non-specific EOI */ 96 outb(0x20, 0x20); /* Non-specific EOI */
97 } 97 }
98 spin_unlock_irqrestore(&i8259_lock, flags); 98 raw_spin_unlock_irqrestore(&i8259_lock, flags);
99} 99}
100 100
101static void i8259_set_irq_mask(int irq_nr) 101static void i8259_set_irq_mask(int irq_nr)
@@ -110,13 +110,13 @@ static void i8259_mask_irq(unsigned int irq_nr)
110 110
111 pr_debug("i8259_mask_irq(%d)\n", irq_nr); 111 pr_debug("i8259_mask_irq(%d)\n", irq_nr);
112 112
113 spin_lock_irqsave(&i8259_lock, flags); 113 raw_spin_lock_irqsave(&i8259_lock, flags);
114 if (irq_nr < 8) 114 if (irq_nr < 8)
115 cached_21 |= 1 << irq_nr; 115 cached_21 |= 1 << irq_nr;
116 else 116 else
117 cached_A1 |= 1 << (irq_nr-8); 117 cached_A1 |= 1 << (irq_nr-8);
118 i8259_set_irq_mask(irq_nr); 118 i8259_set_irq_mask(irq_nr);
119 spin_unlock_irqrestore(&i8259_lock, flags); 119 raw_spin_unlock_irqrestore(&i8259_lock, flags);
120} 120}
121 121
122static void i8259_unmask_irq(unsigned int irq_nr) 122static void i8259_unmask_irq(unsigned int irq_nr)
@@ -125,17 +125,17 @@ static void i8259_unmask_irq(unsigned int irq_nr)
125 125
126 pr_debug("i8259_unmask_irq(%d)\n", irq_nr); 126 pr_debug("i8259_unmask_irq(%d)\n", irq_nr);
127 127
128 spin_lock_irqsave(&i8259_lock, flags); 128 raw_spin_lock_irqsave(&i8259_lock, flags);
129 if (irq_nr < 8) 129 if (irq_nr < 8)
130 cached_21 &= ~(1 << irq_nr); 130 cached_21 &= ~(1 << irq_nr);
131 else 131 else
132 cached_A1 &= ~(1 << (irq_nr-8)); 132 cached_A1 &= ~(1 << (irq_nr-8));
133 i8259_set_irq_mask(irq_nr); 133 i8259_set_irq_mask(irq_nr);
134 spin_unlock_irqrestore(&i8259_lock, flags); 134 raw_spin_unlock_irqrestore(&i8259_lock, flags);
135} 135}
136 136
137static struct irq_chip i8259_pic = { 137static struct irq_chip i8259_pic = {
138 .name = " i8259 ", 138 .name = "i8259",
139 .mask = i8259_mask_irq, 139 .mask = i8259_mask_irq,
140 .disable = i8259_mask_irq, 140 .disable = i8259_mask_irq,
141 .unmask = i8259_unmask_irq, 141 .unmask = i8259_unmask_irq,
@@ -241,7 +241,7 @@ void i8259_init(struct device_node *node, unsigned long intack_addr)
241 unsigned long flags; 241 unsigned long flags;
242 242
243 /* initialize the controller */ 243 /* initialize the controller */
244 spin_lock_irqsave(&i8259_lock, flags); 244 raw_spin_lock_irqsave(&i8259_lock, flags);
245 245
246 /* Mask all first */ 246 /* Mask all first */
247 outb(0xff, 0xA1); 247 outb(0xff, 0xA1);
@@ -273,7 +273,7 @@ void i8259_init(struct device_node *node, unsigned long intack_addr)
273 outb(cached_A1, 0xA1); 273 outb(cached_A1, 0xA1);
274 outb(cached_21, 0x21); 274 outb(cached_21, 0x21);
275 275
276 spin_unlock_irqrestore(&i8259_lock, flags); 276 raw_spin_unlock_irqrestore(&i8259_lock, flags);
277 277
278 /* create a legacy host */ 278 /* create a legacy host */
279 i8259_host = irq_alloc_host(node, IRQ_HOST_MAP_LEGACY, 279 i8259_host = irq_alloc_host(node, IRQ_HOST_MAP_LEGACY,
diff --git a/arch/powerpc/sysdev/ipic.c b/arch/powerpc/sysdev/ipic.c
index 28cdddd2f89e..d7b9b9c69287 100644
--- a/arch/powerpc/sysdev/ipic.c
+++ b/arch/powerpc/sysdev/ipic.c
@@ -32,7 +32,7 @@
32 32
33static struct ipic * primary_ipic; 33static struct ipic * primary_ipic;
34static struct irq_chip ipic_level_irq_chip, ipic_edge_irq_chip; 34static struct irq_chip ipic_level_irq_chip, ipic_edge_irq_chip;
35static DEFINE_SPINLOCK(ipic_lock); 35static DEFINE_RAW_SPINLOCK(ipic_lock);
36 36
37static struct ipic_info ipic_info[] = { 37static struct ipic_info ipic_info[] = {
38 [1] = { 38 [1] = {
@@ -530,13 +530,13 @@ static void ipic_unmask_irq(unsigned int virq)
530 unsigned long flags; 530 unsigned long flags;
531 u32 temp; 531 u32 temp;
532 532
533 spin_lock_irqsave(&ipic_lock, flags); 533 raw_spin_lock_irqsave(&ipic_lock, flags);
534 534
535 temp = ipic_read(ipic->regs, ipic_info[src].mask); 535 temp = ipic_read(ipic->regs, ipic_info[src].mask);
536 temp |= (1 << (31 - ipic_info[src].bit)); 536 temp |= (1 << (31 - ipic_info[src].bit));
537 ipic_write(ipic->regs, ipic_info[src].mask, temp); 537 ipic_write(ipic->regs, ipic_info[src].mask, temp);
538 538
539 spin_unlock_irqrestore(&ipic_lock, flags); 539 raw_spin_unlock_irqrestore(&ipic_lock, flags);
540} 540}
541 541
542static void ipic_mask_irq(unsigned int virq) 542static void ipic_mask_irq(unsigned int virq)
@@ -546,7 +546,7 @@ static void ipic_mask_irq(unsigned int virq)
546 unsigned long flags; 546 unsigned long flags;
547 u32 temp; 547 u32 temp;
548 548
549 spin_lock_irqsave(&ipic_lock, flags); 549 raw_spin_lock_irqsave(&ipic_lock, flags);
550 550
551 temp = ipic_read(ipic->regs, ipic_info[src].mask); 551 temp = ipic_read(ipic->regs, ipic_info[src].mask);
552 temp &= ~(1 << (31 - ipic_info[src].bit)); 552 temp &= ~(1 << (31 - ipic_info[src].bit));
@@ -556,7 +556,7 @@ static void ipic_mask_irq(unsigned int virq)
556 * for nearly all cases. */ 556 * for nearly all cases. */
557 mb(); 557 mb();
558 558
559 spin_unlock_irqrestore(&ipic_lock, flags); 559 raw_spin_unlock_irqrestore(&ipic_lock, flags);
560} 560}
561 561
562static void ipic_ack_irq(unsigned int virq) 562static void ipic_ack_irq(unsigned int virq)
@@ -566,7 +566,7 @@ static void ipic_ack_irq(unsigned int virq)
566 unsigned long flags; 566 unsigned long flags;
567 u32 temp; 567 u32 temp;
568 568
569 spin_lock_irqsave(&ipic_lock, flags); 569 raw_spin_lock_irqsave(&ipic_lock, flags);
570 570
571 temp = 1 << (31 - ipic_info[src].bit); 571 temp = 1 << (31 - ipic_info[src].bit);
572 ipic_write(ipic->regs, ipic_info[src].ack, temp); 572 ipic_write(ipic->regs, ipic_info[src].ack, temp);
@@ -575,7 +575,7 @@ static void ipic_ack_irq(unsigned int virq)
575 * for nearly all cases. */ 575 * for nearly all cases. */
576 mb(); 576 mb();
577 577
578 spin_unlock_irqrestore(&ipic_lock, flags); 578 raw_spin_unlock_irqrestore(&ipic_lock, flags);
579} 579}
580 580
581static void ipic_mask_irq_and_ack(unsigned int virq) 581static void ipic_mask_irq_and_ack(unsigned int virq)
@@ -585,7 +585,7 @@ static void ipic_mask_irq_and_ack(unsigned int virq)
585 unsigned long flags; 585 unsigned long flags;
586 u32 temp; 586 u32 temp;
587 587
588 spin_lock_irqsave(&ipic_lock, flags); 588 raw_spin_lock_irqsave(&ipic_lock, flags);
589 589
590 temp = ipic_read(ipic->regs, ipic_info[src].mask); 590 temp = ipic_read(ipic->regs, ipic_info[src].mask);
591 temp &= ~(1 << (31 - ipic_info[src].bit)); 591 temp &= ~(1 << (31 - ipic_info[src].bit));
@@ -598,7 +598,7 @@ static void ipic_mask_irq_and_ack(unsigned int virq)
598 * for nearly all cases. */ 598 * for nearly all cases. */
599 mb(); 599 mb();
600 600
601 spin_unlock_irqrestore(&ipic_lock, flags); 601 raw_spin_unlock_irqrestore(&ipic_lock, flags);
602} 602}
603 603
604static int ipic_set_irq_type(unsigned int virq, unsigned int flow_type) 604static int ipic_set_irq_type(unsigned int virq, unsigned int flow_type)
@@ -660,7 +660,7 @@ static int ipic_set_irq_type(unsigned int virq, unsigned int flow_type)
660 660
661/* level interrupts and edge interrupts have different ack operations */ 661/* level interrupts and edge interrupts have different ack operations */
662static struct irq_chip ipic_level_irq_chip = { 662static struct irq_chip ipic_level_irq_chip = {
663 .name = " IPIC ", 663 .name = "IPIC",
664 .unmask = ipic_unmask_irq, 664 .unmask = ipic_unmask_irq,
665 .mask = ipic_mask_irq, 665 .mask = ipic_mask_irq,
666 .mask_ack = ipic_mask_irq, 666 .mask_ack = ipic_mask_irq,
@@ -668,7 +668,7 @@ static struct irq_chip ipic_level_irq_chip = {
668}; 668};
669 669
670static struct irq_chip ipic_edge_irq_chip = { 670static struct irq_chip ipic_edge_irq_chip = {
671 .name = " IPIC ", 671 .name = "IPIC",
672 .unmask = ipic_unmask_irq, 672 .unmask = ipic_unmask_irq,
673 .mask = ipic_mask_irq, 673 .mask = ipic_mask_irq,
674 .mask_ack = ipic_mask_irq_and_ack, 674 .mask_ack = ipic_mask_irq_and_ack,
diff --git a/arch/powerpc/sysdev/micropatch.c b/arch/powerpc/sysdev/micropatch.c
index d8d602840757..c0bb76ef7242 100644
--- a/arch/powerpc/sysdev/micropatch.c
+++ b/arch/powerpc/sysdev/micropatch.c
@@ -4,6 +4,7 @@
4 * also relocates SMC2, but this would require additional changes 4 * also relocates SMC2, but this would require additional changes
5 * to uart.c, so I am holding off on that for a moment. 5 * to uart.c, so I am holding off on that for a moment.
6 */ 6 */
7#include <linux/init.h>
7#include <linux/errno.h> 8#include <linux/errno.h>
8#include <linux/sched.h> 9#include <linux/sched.h>
9#include <linux/kernel.h> 10#include <linux/kernel.h>
@@ -16,6 +17,7 @@
16#include <asm/page.h> 17#include <asm/page.h>
17#include <asm/pgtable.h> 18#include <asm/pgtable.h>
18#include <asm/8xx_immap.h> 19#include <asm/8xx_immap.h>
20#include <asm/cpm.h>
19#include <asm/cpm1.h> 21#include <asm/cpm1.h>
20 22
21/* 23/*
@@ -24,7 +26,7 @@
24 26
25#ifdef CONFIG_I2C_SPI_UCODE_PATCH 27#ifdef CONFIG_I2C_SPI_UCODE_PATCH
26 28
27uint patch_2000[] = { 29static uint patch_2000[] __initdata = {
28 0x7FFFEFD9, 30 0x7FFFEFD9,
29 0x3FFD0000, 31 0x3FFD0000,
30 0x7FFB49F7, 32 0x7FFB49F7,
@@ -143,7 +145,7 @@ uint patch_2000[] = {
143 0x5F8247F8 145 0x5F8247F8
144}; 146};
145 147
146uint patch_2f00[] = { 148static uint patch_2f00[] __initdata = {
147 0x3E303430, 149 0x3E303430,
148 0x34343737, 150 0x34343737,
149 0xABF7BF9B, 151 0xABF7BF9B,
@@ -182,7 +184,7 @@ uint patch_2f00[] = {
182 184
183#ifdef CONFIG_I2C_SPI_SMC1_UCODE_PATCH 185#ifdef CONFIG_I2C_SPI_SMC1_UCODE_PATCH
184 186
185uint patch_2000[] = { 187static uint patch_2000[] __initdata = {
186 0x3fff0000, 188 0x3fff0000,
187 0x3ffd0000, 189 0x3ffd0000,
188 0x3ffb0000, 190 0x3ffb0000,
@@ -505,7 +507,7 @@ uint patch_2000[] = {
505 0x6079e2bb 507 0x6079e2bb
506}; 508};
507 509
508uint patch_2f00[] = { 510static uint patch_2f00[] __initdata = {
509 0x30303030, 511 0x30303030,
510 0x3e3e3434, 512 0x3e3e3434,
511 0xabbf9b99, 513 0xabbf9b99,
@@ -572,7 +574,7 @@ uint patch_2f00[] = {
572 0xf22f3f23 574 0xf22f3f23
573}; 575};
574 576
575uint patch_2e00[] = { 577static uint patch_2e00[] __initdata = {
576 0x27eeeeee, 578 0x27eeeeee,
577 0xeeeeeeee, 579 0xeeeeeeee,
578 0xeeeeeeee, 580 0xeeeeeeee,
@@ -598,7 +600,7 @@ uint patch_2e00[] = {
598 600
599#ifdef CONFIG_USB_SOF_UCODE_PATCH 601#ifdef CONFIG_USB_SOF_UCODE_PATCH
600 602
601uint patch_2000[] = { 603static uint patch_2000[] __initdata = {
602 0x7fff0000, 604 0x7fff0000,
603 0x7ffd0000, 605 0x7ffd0000,
604 0x7ffb0000, 606 0x7ffb0000,
@@ -613,21 +615,25 @@ uint patch_2000[] = {
613 0x60750000 615 0x60750000
614}; 616};
615 617
616uint patch_2f00[] = { 618static uint patch_2f00[] __initdata = {
617 0x3030304c, 619 0x3030304c,
618 0xcab9e441, 620 0xcab9e441,
619 0xa1aaf220 621 0xa1aaf220
620}; 622};
621#endif 623#endif
622 624
623void 625void __init cpm_load_patch(cpm8xx_t *cp)
624cpm_load_patch(cpm8xx_t *cp)
625{ 626{
626 volatile uint *dp; /* Dual-ported RAM. */ 627 volatile uint *dp; /* Dual-ported RAM. */
627 volatile cpm8xx_t *commproc; 628 volatile cpm8xx_t *commproc;
629#if defined(CONFIG_I2C_SPI_UCODE_PATCH) || \
630 defined(CONFIG_I2C_SPI_SMC1_UCODE_PATCH)
628 volatile iic_t *iip; 631 volatile iic_t *iip;
629 volatile spi_t *spp; 632 volatile struct spi_pram *spp;
633#ifdef CONFIG_I2C_SPI_SMC1_UCODE_PATCH
630 volatile smc_uart_t *smp; 634 volatile smc_uart_t *smp;
635#endif
636#endif
631 int i; 637 int i;
632 638
633 commproc = cp; 639 commproc = cp;
@@ -668,8 +674,8 @@ cpm_load_patch(cpm8xx_t *cp)
668 /* Put SPI above the IIC, also 32-byte aligned. 674 /* Put SPI above the IIC, also 32-byte aligned.
669 */ 675 */
670 i = (RPBASE + sizeof(iic_t) + 31) & ~31; 676 i = (RPBASE + sizeof(iic_t) + 31) & ~31;
671 spp = (spi_t *)&commproc->cp_dparam[PROFF_SPI]; 677 spp = (struct spi_pram *)&commproc->cp_dparam[PROFF_SPI];
672 spp->spi_rpbase = i; 678 spp->rpbase = i;
673 679
674# if defined(CONFIG_I2C_SPI_UCODE_PATCH) 680# if defined(CONFIG_I2C_SPI_UCODE_PATCH)
675 commproc->cp_cpmcr1 = 0x802a; 681 commproc->cp_cpmcr1 = 0x802a;
diff --git a/arch/powerpc/sysdev/mpc8xx_pic.c b/arch/powerpc/sysdev/mpc8xx_pic.c
index 69bd6f4dff83..8c27d261aba8 100644
--- a/arch/powerpc/sysdev/mpc8xx_pic.c
+++ b/arch/powerpc/sysdev/mpc8xx_pic.c
@@ -94,7 +94,7 @@ static int mpc8xx_set_irq_type(unsigned int virq, unsigned int flow_type)
94} 94}
95 95
96static struct irq_chip mpc8xx_pic = { 96static struct irq_chip mpc8xx_pic = {
97 .name = " MPC8XX SIU ", 97 .name = "MPC8XX SIU",
98 .unmask = mpc8xx_unmask_irq, 98 .unmask = mpc8xx_unmask_irq,
99 .mask = mpc8xx_mask_irq, 99 .mask = mpc8xx_mask_irq,
100 .ack = mpc8xx_ack, 100 .ack = mpc8xx_ack,
diff --git a/arch/powerpc/sysdev/mpc8xxx_gpio.c b/arch/powerpc/sysdev/mpc8xxx_gpio.c
index ee1c0e1cf4a7..83f519655fac 100644
--- a/arch/powerpc/sysdev/mpc8xxx_gpio.c
+++ b/arch/powerpc/sysdev/mpc8xxx_gpio.c
@@ -15,6 +15,8 @@
15#include <linux/of.h> 15#include <linux/of.h>
16#include <linux/of_gpio.h> 16#include <linux/of_gpio.h>
17#include <linux/gpio.h> 17#include <linux/gpio.h>
18#include <linux/slab.h>
19#include <linux/irq.h>
18 20
19#define MPC8XXX_GPIO_PINS 32 21#define MPC8XXX_GPIO_PINS 32
20 22
@@ -34,6 +36,7 @@ struct mpc8xxx_gpio_chip {
34 * open drain mode safely 36 * open drain mode safely
35 */ 37 */
36 u32 data; 38 u32 data;
39 struct irq_host *irq;
37}; 40};
38 41
39static inline u32 mpc8xxx_gpio2mask(unsigned int gpio) 42static inline u32 mpc8xxx_gpio2mask(unsigned int gpio)
@@ -127,12 +130,136 @@ static int mpc8xxx_gpio_dir_out(struct gpio_chip *gc, unsigned int gpio, int val
127 return 0; 130 return 0;
128} 131}
129 132
133static int mpc8xxx_gpio_to_irq(struct gpio_chip *gc, unsigned offset)
134{
135 struct of_mm_gpio_chip *mm = to_of_mm_gpio_chip(gc);
136 struct mpc8xxx_gpio_chip *mpc8xxx_gc = to_mpc8xxx_gpio_chip(mm);
137
138 if (mpc8xxx_gc->irq && offset < MPC8XXX_GPIO_PINS)
139 return irq_create_mapping(mpc8xxx_gc->irq, offset);
140 else
141 return -ENXIO;
142}
143
144static void mpc8xxx_gpio_irq_cascade(unsigned int irq, struct irq_desc *desc)
145{
146 struct mpc8xxx_gpio_chip *mpc8xxx_gc = get_irq_desc_data(desc);
147 struct of_mm_gpio_chip *mm = &mpc8xxx_gc->mm_gc;
148 unsigned int mask;
149
150 mask = in_be32(mm->regs + GPIO_IER) & in_be32(mm->regs + GPIO_IMR);
151 if (mask)
152 generic_handle_irq(irq_linear_revmap(mpc8xxx_gc->irq,
153 32 - ffs(mask)));
154}
155
156static void mpc8xxx_irq_unmask(unsigned int virq)
157{
158 struct mpc8xxx_gpio_chip *mpc8xxx_gc = get_irq_chip_data(virq);
159 struct of_mm_gpio_chip *mm = &mpc8xxx_gc->mm_gc;
160 unsigned long flags;
161
162 spin_lock_irqsave(&mpc8xxx_gc->lock, flags);
163
164 setbits32(mm->regs + GPIO_IMR, mpc8xxx_gpio2mask(virq_to_hw(virq)));
165
166 spin_unlock_irqrestore(&mpc8xxx_gc->lock, flags);
167}
168
169static void mpc8xxx_irq_mask(unsigned int virq)
170{
171 struct mpc8xxx_gpio_chip *mpc8xxx_gc = get_irq_chip_data(virq);
172 struct of_mm_gpio_chip *mm = &mpc8xxx_gc->mm_gc;
173 unsigned long flags;
174
175 spin_lock_irqsave(&mpc8xxx_gc->lock, flags);
176
177 clrbits32(mm->regs + GPIO_IMR, mpc8xxx_gpio2mask(virq_to_hw(virq)));
178
179 spin_unlock_irqrestore(&mpc8xxx_gc->lock, flags);
180}
181
182static void mpc8xxx_irq_ack(unsigned int virq)
183{
184 struct mpc8xxx_gpio_chip *mpc8xxx_gc = get_irq_chip_data(virq);
185 struct of_mm_gpio_chip *mm = &mpc8xxx_gc->mm_gc;
186
187 out_be32(mm->regs + GPIO_IER, mpc8xxx_gpio2mask(virq_to_hw(virq)));
188}
189
190static int mpc8xxx_irq_set_type(unsigned int virq, unsigned int flow_type)
191{
192 struct mpc8xxx_gpio_chip *mpc8xxx_gc = get_irq_chip_data(virq);
193 struct of_mm_gpio_chip *mm = &mpc8xxx_gc->mm_gc;
194 unsigned long flags;
195
196 switch (flow_type) {
197 case IRQ_TYPE_EDGE_FALLING:
198 spin_lock_irqsave(&mpc8xxx_gc->lock, flags);
199 setbits32(mm->regs + GPIO_ICR,
200 mpc8xxx_gpio2mask(virq_to_hw(virq)));
201 spin_unlock_irqrestore(&mpc8xxx_gc->lock, flags);
202 break;
203
204 case IRQ_TYPE_EDGE_BOTH:
205 spin_lock_irqsave(&mpc8xxx_gc->lock, flags);
206 clrbits32(mm->regs + GPIO_ICR,
207 mpc8xxx_gpio2mask(virq_to_hw(virq)));
208 spin_unlock_irqrestore(&mpc8xxx_gc->lock, flags);
209 break;
210
211 default:
212 return -EINVAL;
213 }
214
215 return 0;
216}
217
218static struct irq_chip mpc8xxx_irq_chip = {
219 .name = "mpc8xxx-gpio",
220 .unmask = mpc8xxx_irq_unmask,
221 .mask = mpc8xxx_irq_mask,
222 .ack = mpc8xxx_irq_ack,
223 .set_type = mpc8xxx_irq_set_type,
224};
225
226static int mpc8xxx_gpio_irq_map(struct irq_host *h, unsigned int virq,
227 irq_hw_number_t hw)
228{
229 set_irq_chip_data(virq, h->host_data);
230 set_irq_chip_and_handler(virq, &mpc8xxx_irq_chip, handle_level_irq);
231 set_irq_type(virq, IRQ_TYPE_NONE);
232
233 return 0;
234}
235
236static int mpc8xxx_gpio_irq_xlate(struct irq_host *h, struct device_node *ct,
237 const u32 *intspec, unsigned int intsize,
238 irq_hw_number_t *out_hwirq,
239 unsigned int *out_flags)
240
241{
242 /* interrupt sense values coming from the device tree equal either
243 * EDGE_FALLING or EDGE_BOTH
244 */
245 *out_hwirq = intspec[0];
246 *out_flags = intspec[1];
247
248 return 0;
249}
250
251static struct irq_host_ops mpc8xxx_gpio_irq_ops = {
252 .map = mpc8xxx_gpio_irq_map,
253 .xlate = mpc8xxx_gpio_irq_xlate,
254};
255
130static void __init mpc8xxx_add_controller(struct device_node *np) 256static void __init mpc8xxx_add_controller(struct device_node *np)
131{ 257{
132 struct mpc8xxx_gpio_chip *mpc8xxx_gc; 258 struct mpc8xxx_gpio_chip *mpc8xxx_gc;
133 struct of_mm_gpio_chip *mm_gc; 259 struct of_mm_gpio_chip *mm_gc;
134 struct of_gpio_chip *of_gc; 260 struct of_gpio_chip *of_gc;
135 struct gpio_chip *gc; 261 struct gpio_chip *gc;
262 unsigned hwirq;
136 int ret; 263 int ret;
137 264
138 mpc8xxx_gc = kzalloc(sizeof(*mpc8xxx_gc), GFP_KERNEL); 265 mpc8xxx_gc = kzalloc(sizeof(*mpc8xxx_gc), GFP_KERNEL);
@@ -157,11 +284,32 @@ static void __init mpc8xxx_add_controller(struct device_node *np)
157 else 284 else
158 gc->get = mpc8xxx_gpio_get; 285 gc->get = mpc8xxx_gpio_get;
159 gc->set = mpc8xxx_gpio_set; 286 gc->set = mpc8xxx_gpio_set;
287 gc->to_irq = mpc8xxx_gpio_to_irq;
160 288
161 ret = of_mm_gpiochip_add(np, mm_gc); 289 ret = of_mm_gpiochip_add(np, mm_gc);
162 if (ret) 290 if (ret)
163 goto err; 291 goto err;
164 292
293 hwirq = irq_of_parse_and_map(np, 0);
294 if (hwirq == NO_IRQ)
295 goto skip_irq;
296
297 mpc8xxx_gc->irq =
298 irq_alloc_host(np, IRQ_HOST_MAP_LINEAR, MPC8XXX_GPIO_PINS,
299 &mpc8xxx_gpio_irq_ops, MPC8XXX_GPIO_PINS);
300 if (!mpc8xxx_gc->irq)
301 goto skip_irq;
302
303 mpc8xxx_gc->irq->host_data = mpc8xxx_gc;
304
305 /* ack and mask all irqs */
306 out_be32(mm_gc->regs + GPIO_IER, 0xffffffff);
307 out_be32(mm_gc->regs + GPIO_IMR, 0);
308
309 set_irq_data(hwirq, mpc8xxx_gc);
310 set_irq_chained_handler(hwirq, mpc8xxx_gpio_irq_cascade);
311
312skip_irq:
165 return; 313 return;
166 314
167err: 315err:
diff --git a/arch/powerpc/sysdev/mpic.c b/arch/powerpc/sysdev/mpic.c
index 470dc6c11d57..20b73c025a45 100644
--- a/arch/powerpc/sysdev/mpic.c
+++ b/arch/powerpc/sysdev/mpic.c
@@ -26,6 +26,7 @@
26#include <linux/bootmem.h> 26#include <linux/bootmem.h>
27#include <linux/spinlock.h> 27#include <linux/spinlock.h>
28#include <linux/pci.h> 28#include <linux/pci.h>
29#include <linux/slab.h>
29 30
30#include <asm/ptrace.h> 31#include <asm/ptrace.h>
31#include <asm/signal.h> 32#include <asm/signal.h>
@@ -46,7 +47,7 @@
46 47
47static struct mpic *mpics; 48static struct mpic *mpics;
48static struct mpic *mpic_primary; 49static struct mpic *mpic_primary;
49static DEFINE_SPINLOCK(mpic_lock); 50static DEFINE_RAW_SPINLOCK(mpic_lock);
50 51
51#ifdef CONFIG_PPC32 /* XXX for now */ 52#ifdef CONFIG_PPC32 /* XXX for now */
52#ifdef CONFIG_IRQ_ALL_CPUS 53#ifdef CONFIG_IRQ_ALL_CPUS
@@ -347,10 +348,10 @@ static inline void mpic_ht_end_irq(struct mpic *mpic, unsigned int source)
347 unsigned int mask = 1U << (fixup->index & 0x1f); 348 unsigned int mask = 1U << (fixup->index & 0x1f);
348 writel(mask, fixup->applebase + soff); 349 writel(mask, fixup->applebase + soff);
349 } else { 350 } else {
350 spin_lock(&mpic->fixup_lock); 351 raw_spin_lock(&mpic->fixup_lock);
351 writeb(0x11 + 2 * fixup->index, fixup->base + 2); 352 writeb(0x11 + 2 * fixup->index, fixup->base + 2);
352 writel(fixup->data, fixup->base + 4); 353 writel(fixup->data, fixup->base + 4);
353 spin_unlock(&mpic->fixup_lock); 354 raw_spin_unlock(&mpic->fixup_lock);
354 } 355 }
355} 356}
356 357
@@ -366,7 +367,7 @@ static void mpic_startup_ht_interrupt(struct mpic *mpic, unsigned int source,
366 367
367 DBG("startup_ht_interrupt(0x%x, 0x%x) index: %d\n", 368 DBG("startup_ht_interrupt(0x%x, 0x%x) index: %d\n",
368 source, irqflags, fixup->index); 369 source, irqflags, fixup->index);
369 spin_lock_irqsave(&mpic->fixup_lock, flags); 370 raw_spin_lock_irqsave(&mpic->fixup_lock, flags);
370 /* Enable and configure */ 371 /* Enable and configure */
371 writeb(0x10 + 2 * fixup->index, fixup->base + 2); 372 writeb(0x10 + 2 * fixup->index, fixup->base + 2);
372 tmp = readl(fixup->base + 4); 373 tmp = readl(fixup->base + 4);
@@ -374,7 +375,7 @@ static void mpic_startup_ht_interrupt(struct mpic *mpic, unsigned int source,
374 if (irqflags & IRQ_LEVEL) 375 if (irqflags & IRQ_LEVEL)
375 tmp |= 0x22; 376 tmp |= 0x22;
376 writel(tmp, fixup->base + 4); 377 writel(tmp, fixup->base + 4);
377 spin_unlock_irqrestore(&mpic->fixup_lock, flags); 378 raw_spin_unlock_irqrestore(&mpic->fixup_lock, flags);
378 379
379#ifdef CONFIG_PM 380#ifdef CONFIG_PM
380 /* use the lowest bit inverted to the actual HW, 381 /* use the lowest bit inverted to the actual HW,
@@ -396,12 +397,12 @@ static void mpic_shutdown_ht_interrupt(struct mpic *mpic, unsigned int source,
396 DBG("shutdown_ht_interrupt(0x%x, 0x%x)\n", source, irqflags); 397 DBG("shutdown_ht_interrupt(0x%x, 0x%x)\n", source, irqflags);
397 398
398 /* Disable */ 399 /* Disable */
399 spin_lock_irqsave(&mpic->fixup_lock, flags); 400 raw_spin_lock_irqsave(&mpic->fixup_lock, flags);
400 writeb(0x10 + 2 * fixup->index, fixup->base + 2); 401 writeb(0x10 + 2 * fixup->index, fixup->base + 2);
401 tmp = readl(fixup->base + 4); 402 tmp = readl(fixup->base + 4);
402 tmp |= 1; 403 tmp |= 1;
403 writel(tmp, fixup->base + 4); 404 writel(tmp, fixup->base + 4);
404 spin_unlock_irqrestore(&mpic->fixup_lock, flags); 405 raw_spin_unlock_irqrestore(&mpic->fixup_lock, flags);
405 406
406#ifdef CONFIG_PM 407#ifdef CONFIG_PM
407 /* use the lowest bit inverted to the actual HW, 408 /* use the lowest bit inverted to the actual HW,
@@ -515,7 +516,7 @@ static void __init mpic_scan_ht_pics(struct mpic *mpic)
515 BUG_ON(mpic->fixups == NULL); 516 BUG_ON(mpic->fixups == NULL);
516 517
517 /* Init spinlock */ 518 /* Init spinlock */
518 spin_lock_init(&mpic->fixup_lock); 519 raw_spin_lock_init(&mpic->fixup_lock);
519 520
520 /* Map U3 config space. We assume all IO-APICs are on the primary bus 521 /* Map U3 config space. We assume all IO-APICs are on the primary bus
521 * so we only need to map 64kB. 522 * so we only need to map 64kB.
@@ -567,30 +568,26 @@ static void __init mpic_scan_ht_pics(struct mpic *mpic)
567#endif /* CONFIG_MPIC_U3_HT_IRQS */ 568#endif /* CONFIG_MPIC_U3_HT_IRQS */
568 569
569#ifdef CONFIG_SMP 570#ifdef CONFIG_SMP
570static int irq_choose_cpu(const cpumask_t *mask) 571static int irq_choose_cpu(const struct cpumask *mask)
571{ 572{
572 int cpuid; 573 int cpuid;
573 574
574 if (cpumask_equal(mask, cpu_all_mask)) { 575 if (cpumask_equal(mask, cpu_all_mask)) {
575 static int irq_rover; 576 static int irq_rover = 0;
576 static DEFINE_SPINLOCK(irq_rover_lock); 577 static DEFINE_RAW_SPINLOCK(irq_rover_lock);
577 unsigned long flags; 578 unsigned long flags;
578 579
579 /* Round-robin distribution... */ 580 /* Round-robin distribution... */
580 do_round_robin: 581 do_round_robin:
581 spin_lock_irqsave(&irq_rover_lock, flags); 582 raw_spin_lock_irqsave(&irq_rover_lock, flags);
583
584 irq_rover = cpumask_next(irq_rover, cpu_online_mask);
585 if (irq_rover >= nr_cpu_ids)
586 irq_rover = cpumask_first(cpu_online_mask);
582 587
583 while (!cpu_online(irq_rover)) {
584 if (++irq_rover >= NR_CPUS)
585 irq_rover = 0;
586 }
587 cpuid = irq_rover; 588 cpuid = irq_rover;
588 do {
589 if (++irq_rover >= NR_CPUS)
590 irq_rover = 0;
591 } while (!cpu_online(irq_rover));
592 589
593 spin_unlock_irqrestore(&irq_rover_lock, flags); 590 raw_spin_unlock_irqrestore(&irq_rover_lock, flags);
594 } else { 591 } else {
595 cpuid = cpumask_first_and(mask, cpu_online_mask); 592 cpuid = cpumask_first_and(mask, cpu_online_mask);
596 if (cpuid >= nr_cpu_ids) 593 if (cpuid >= nr_cpu_ids)
@@ -600,7 +597,7 @@ static int irq_choose_cpu(const cpumask_t *mask)
600 return get_hard_smp_processor_id(cpuid); 597 return get_hard_smp_processor_id(cpuid);
601} 598}
602#else 599#else
603static int irq_choose_cpu(const cpumask_t *mask) 600static int irq_choose_cpu(const struct cpumask *mask)
604{ 601{
605 return hard_smp_processor_id(); 602 return hard_smp_processor_id();
606} 603}
@@ -813,12 +810,16 @@ int mpic_set_affinity(unsigned int irq, const struct cpumask *cpumask)
813 810
814 mpic_irq_write(src, MPIC_INFO(IRQ_DESTINATION), 1 << cpuid); 811 mpic_irq_write(src, MPIC_INFO(IRQ_DESTINATION), 1 << cpuid);
815 } else { 812 } else {
816 cpumask_t tmp; 813 cpumask_var_t tmp;
817 814
818 cpumask_and(&tmp, cpumask, cpu_online_mask); 815 alloc_cpumask_var(&tmp, GFP_KERNEL);
816
817 cpumask_and(tmp, cpumask, cpu_online_mask);
819 818
820 mpic_irq_write(src, MPIC_INFO(IRQ_DESTINATION), 819 mpic_irq_write(src, MPIC_INFO(IRQ_DESTINATION),
821 mpic_physmask(cpus_addr(tmp)[0])); 820 mpic_physmask(cpumask_bits(tmp)[0]));
821
822 free_cpumask_var(tmp);
822 } 823 }
823 824
824 return 0; 825 return 0;
@@ -1368,14 +1369,14 @@ void __init mpic_set_serial_int(struct mpic *mpic, int enable)
1368 unsigned long flags; 1369 unsigned long flags;
1369 u32 v; 1370 u32 v;
1370 1371
1371 spin_lock_irqsave(&mpic_lock, flags); 1372 raw_spin_lock_irqsave(&mpic_lock, flags);
1372 v = mpic_read(mpic->gregs, MPIC_GREG_GLOBAL_CONF_1); 1373 v = mpic_read(mpic->gregs, MPIC_GREG_GLOBAL_CONF_1);
1373 if (enable) 1374 if (enable)
1374 v |= MPIC_GREG_GLOBAL_CONF_1_SIE; 1375 v |= MPIC_GREG_GLOBAL_CONF_1_SIE;
1375 else 1376 else
1376 v &= ~MPIC_GREG_GLOBAL_CONF_1_SIE; 1377 v &= ~MPIC_GREG_GLOBAL_CONF_1_SIE;
1377 mpic_write(mpic->gregs, MPIC_GREG_GLOBAL_CONF_1, v); 1378 mpic_write(mpic->gregs, MPIC_GREG_GLOBAL_CONF_1, v);
1378 spin_unlock_irqrestore(&mpic_lock, flags); 1379 raw_spin_unlock_irqrestore(&mpic_lock, flags);
1379} 1380}
1380 1381
1381void mpic_irq_set_priority(unsigned int irq, unsigned int pri) 1382void mpic_irq_set_priority(unsigned int irq, unsigned int pri)
@@ -1388,7 +1389,7 @@ void mpic_irq_set_priority(unsigned int irq, unsigned int pri)
1388 if (!mpic) 1389 if (!mpic)
1389 return; 1390 return;
1390 1391
1391 spin_lock_irqsave(&mpic_lock, flags); 1392 raw_spin_lock_irqsave(&mpic_lock, flags);
1392 if (mpic_is_ipi(mpic, irq)) { 1393 if (mpic_is_ipi(mpic, irq)) {
1393 reg = mpic_ipi_read(src - mpic->ipi_vecs[0]) & 1394 reg = mpic_ipi_read(src - mpic->ipi_vecs[0]) &
1394 ~MPIC_VECPRI_PRIORITY_MASK; 1395 ~MPIC_VECPRI_PRIORITY_MASK;
@@ -1400,7 +1401,7 @@ void mpic_irq_set_priority(unsigned int irq, unsigned int pri)
1400 mpic_irq_write(src, MPIC_INFO(IRQ_VECTOR_PRI), 1401 mpic_irq_write(src, MPIC_INFO(IRQ_VECTOR_PRI),
1401 reg | (pri << MPIC_VECPRI_PRIORITY_SHIFT)); 1402 reg | (pri << MPIC_VECPRI_PRIORITY_SHIFT));
1402 } 1403 }
1403 spin_unlock_irqrestore(&mpic_lock, flags); 1404 raw_spin_unlock_irqrestore(&mpic_lock, flags);
1404} 1405}
1405 1406
1406void mpic_setup_this_cpu(void) 1407void mpic_setup_this_cpu(void)
@@ -1415,7 +1416,7 @@ void mpic_setup_this_cpu(void)
1415 1416
1416 DBG("%s: setup_this_cpu(%d)\n", mpic->name, hard_smp_processor_id()); 1417 DBG("%s: setup_this_cpu(%d)\n", mpic->name, hard_smp_processor_id());
1417 1418
1418 spin_lock_irqsave(&mpic_lock, flags); 1419 raw_spin_lock_irqsave(&mpic_lock, flags);
1419 1420
1420 /* let the mpic know we want intrs. default affinity is 0xffffffff 1421 /* let the mpic know we want intrs. default affinity is 0xffffffff
1421 * until changed via /proc. That's how it's done on x86. If we want 1422 * until changed via /proc. That's how it's done on x86. If we want
@@ -1431,7 +1432,7 @@ void mpic_setup_this_cpu(void)
1431 /* Set current processor priority to 0 */ 1432 /* Set current processor priority to 0 */
1432 mpic_cpu_write(MPIC_INFO(CPU_CURRENT_TASK_PRI), 0); 1433 mpic_cpu_write(MPIC_INFO(CPU_CURRENT_TASK_PRI), 0);
1433 1434
1434 spin_unlock_irqrestore(&mpic_lock, flags); 1435 raw_spin_unlock_irqrestore(&mpic_lock, flags);
1435#endif /* CONFIG_SMP */ 1436#endif /* CONFIG_SMP */
1436} 1437}
1437 1438
@@ -1460,7 +1461,7 @@ void mpic_teardown_this_cpu(int secondary)
1460 BUG_ON(mpic == NULL); 1461 BUG_ON(mpic == NULL);
1461 1462
1462 DBG("%s: teardown_this_cpu(%d)\n", mpic->name, hard_smp_processor_id()); 1463 DBG("%s: teardown_this_cpu(%d)\n", mpic->name, hard_smp_processor_id());
1463 spin_lock_irqsave(&mpic_lock, flags); 1464 raw_spin_lock_irqsave(&mpic_lock, flags);
1464 1465
1465 /* let the mpic know we don't want intrs. */ 1466 /* let the mpic know we don't want intrs. */
1466 for (i = 0; i < mpic->num_sources ; i++) 1467 for (i = 0; i < mpic->num_sources ; i++)
@@ -1474,25 +1475,10 @@ void mpic_teardown_this_cpu(int secondary)
1474 */ 1475 */
1475 mpic_eoi(mpic); 1476 mpic_eoi(mpic);
1476 1477
1477 spin_unlock_irqrestore(&mpic_lock, flags); 1478 raw_spin_unlock_irqrestore(&mpic_lock, flags);
1478} 1479}
1479 1480
1480 1481
1481void mpic_send_ipi(unsigned int ipi_no, unsigned int cpu_mask)
1482{
1483 struct mpic *mpic = mpic_primary;
1484
1485 BUG_ON(mpic == NULL);
1486
1487#ifdef DEBUG_IPI
1488 DBG("%s: send_ipi(ipi_no: %d)\n", mpic->name, ipi_no);
1489#endif
1490
1491 mpic_cpu_write(MPIC_INFO(CPU_IPI_DISPATCH_0) +
1492 ipi_no * MPIC_INFO(CPU_IPI_DISPATCH_STRIDE),
1493 mpic_physmask(cpu_mask & cpus_addr(cpu_online_map)[0]));
1494}
1495
1496static unsigned int _mpic_get_one_irq(struct mpic *mpic, int reg) 1482static unsigned int _mpic_get_one_irq(struct mpic *mpic, int reg)
1497{ 1483{
1498 u32 src; 1484 u32 src;
@@ -1575,7 +1561,7 @@ void mpic_request_ipis(void)
1575 int i; 1561 int i;
1576 BUG_ON(mpic == NULL); 1562 BUG_ON(mpic == NULL);
1577 1563
1578 printk(KERN_INFO "mpic: requesting IPIs ... \n"); 1564 printk(KERN_INFO "mpic: requesting IPIs...\n");
1579 1565
1580 for (i = 0; i < 4; i++) { 1566 for (i = 0; i < 4; i++) {
1581 unsigned int vipi = irq_create_mapping(mpic->irqhost, 1567 unsigned int vipi = irq_create_mapping(mpic->irqhost,
@@ -1588,8 +1574,25 @@ void mpic_request_ipis(void)
1588 } 1574 }
1589} 1575}
1590 1576
1577static void mpic_send_ipi(unsigned int ipi_no, const struct cpumask *cpu_mask)
1578{
1579 struct mpic *mpic = mpic_primary;
1580
1581 BUG_ON(mpic == NULL);
1582
1583#ifdef DEBUG_IPI
1584 DBG("%s: send_ipi(ipi_no: %d)\n", mpic->name, ipi_no);
1585#endif
1586
1587 mpic_cpu_write(MPIC_INFO(CPU_IPI_DISPATCH_0) +
1588 ipi_no * MPIC_INFO(CPU_IPI_DISPATCH_STRIDE),
1589 mpic_physmask(cpumask_bits(cpu_mask)[0]));
1590}
1591
1591void smp_mpic_message_pass(int target, int msg) 1592void smp_mpic_message_pass(int target, int msg)
1592{ 1593{
1594 cpumask_var_t tmp;
1595
1593 /* make sure we're sending something that translates to an IPI */ 1596 /* make sure we're sending something that translates to an IPI */
1594 if ((unsigned int)msg > 3) { 1597 if ((unsigned int)msg > 3) {
1595 printk("SMP %d: smp_message_pass: unknown msg %d\n", 1598 printk("SMP %d: smp_message_pass: unknown msg %d\n",
@@ -1598,13 +1601,17 @@ void smp_mpic_message_pass(int target, int msg)
1598 } 1601 }
1599 switch (target) { 1602 switch (target) {
1600 case MSG_ALL: 1603 case MSG_ALL:
1601 mpic_send_ipi(msg, 0xffffffff); 1604 mpic_send_ipi(msg, cpu_online_mask);
1602 break; 1605 break;
1603 case MSG_ALL_BUT_SELF: 1606 case MSG_ALL_BUT_SELF:
1604 mpic_send_ipi(msg, 0xffffffff & ~(1 << smp_processor_id())); 1607 alloc_cpumask_var(&tmp, GFP_NOWAIT);
1608 cpumask_andnot(tmp, cpu_online_mask,
1609 cpumask_of(smp_processor_id()));
1610 mpic_send_ipi(msg, tmp);
1611 free_cpumask_var(tmp);
1605 break; 1612 break;
1606 default: 1613 default:
1607 mpic_send_ipi(msg, 1 << target); 1614 mpic_send_ipi(msg, cpumask_of(target));
1608 break; 1615 break;
1609 } 1616 }
1610} 1617}
@@ -1615,7 +1622,7 @@ int __init smp_mpic_probe(void)
1615 1622
1616 DBG("smp_mpic_probe()...\n"); 1623 DBG("smp_mpic_probe()...\n");
1617 1624
1618 nr_cpus = cpus_weight(cpu_possible_map); 1625 nr_cpus = cpumask_weight(cpu_possible_mask);
1619 1626
1620 DBG("nr_cpus: %d\n", nr_cpus); 1627 DBG("nr_cpus: %d\n", nr_cpus);
1621 1628
@@ -1659,7 +1666,7 @@ static int mpic_resume(struct sys_device *dev)
1659 mpic->save_data[i].dest); 1666 mpic->save_data[i].dest);
1660 1667
1661#ifdef CONFIG_MPIC_U3_HT_IRQS 1668#ifdef CONFIG_MPIC_U3_HT_IRQS
1662 { 1669 if (mpic->fixups) {
1663 struct mpic_irq_fixup *fixup = &mpic->fixups[i]; 1670 struct mpic_irq_fixup *fixup = &mpic->fixups[i];
1664 1671
1665 if (fixup->base) { 1672 if (fixup->base) {
diff --git a/arch/powerpc/sysdev/mpic_pasemi_msi.c b/arch/powerpc/sysdev/mpic_pasemi_msi.c
index 0f6ab06f8474..3b6a9a43718f 100644
--- a/arch/powerpc/sysdev/mpic_pasemi_msi.c
+++ b/arch/powerpc/sysdev/mpic_pasemi_msi.c
@@ -60,7 +60,7 @@ static struct irq_chip mpic_pasemi_msi_chip = {
60 .eoi = mpic_end_irq, 60 .eoi = mpic_end_irq,
61 .set_type = mpic_set_irq_type, 61 .set_type = mpic_set_irq_type,
62 .set_affinity = mpic_set_affinity, 62 .set_affinity = mpic_set_affinity,
63 .name = "PASEMI-MSI ", 63 .name = "PASEMI-MSI",
64}; 64};
65 65
66static int pasemi_msi_check_device(struct pci_dev *pdev, int nvec, int type) 66static int pasemi_msi_check_device(struct pci_dev *pdev, int nvec, int type)
diff --git a/arch/powerpc/sysdev/msi_bitmap.c b/arch/powerpc/sysdev/msi_bitmap.c
index 5a32cbef9b6c..5287e95cec3a 100644
--- a/arch/powerpc/sysdev/msi_bitmap.c
+++ b/arch/powerpc/sysdev/msi_bitmap.c
@@ -8,6 +8,7 @@
8 * 8 *
9 */ 9 */
10 10
11#include <linux/slab.h>
11#include <linux/kernel.h> 12#include <linux/kernel.h>
12#include <linux/bitmap.h> 13#include <linux/bitmap.h>
13#include <asm/msi_bitmap.h> 14#include <asm/msi_bitmap.h>
diff --git a/arch/powerpc/sysdev/mv64x60_dev.c b/arch/powerpc/sysdev/mv64x60_dev.c
index b6bd775d2e22..31acd3b1718b 100644
--- a/arch/powerpc/sysdev/mv64x60_dev.c
+++ b/arch/powerpc/sysdev/mv64x60_dev.c
@@ -16,6 +16,7 @@
16#include <linux/mv643xx.h> 16#include <linux/mv643xx.h>
17#include <linux/platform_device.h> 17#include <linux/platform_device.h>
18#include <linux/of_platform.h> 18#include <linux/of_platform.h>
19#include <linux/dma-mapping.h>
19 20
20#include <asm/prom.h> 21#include <asm/prom.h>
21 22
@@ -189,6 +190,7 @@ static int __init mv64x60_mpsc_device_setup(struct device_node *np, int id)
189 pdev = platform_device_alloc(MPSC_CTLR_NAME, port_number); 190 pdev = platform_device_alloc(MPSC_CTLR_NAME, port_number);
190 if (!pdev) 191 if (!pdev)
191 return -ENOMEM; 192 return -ENOMEM;
193 pdev->dev.coherent_dma_mask = DMA_BIT_MASK(32);
192 194
193 err = platform_device_add_resources(pdev, r, 5); 195 err = platform_device_add_resources(pdev, r, 5);
194 if (err) 196 if (err)
@@ -302,6 +304,7 @@ static int __init mv64x60_eth_device_setup(struct device_node *np, int id,
302 if (!pdev) 304 if (!pdev)
303 return -ENOMEM; 305 return -ENOMEM;
304 306
307 pdev->dev.coherent_dma_mask = DMA_BIT_MASK(32);
305 err = platform_device_add_resources(pdev, r, 1); 308 err = platform_device_add_resources(pdev, r, 1);
306 if (err) 309 if (err)
307 goto error; 310 goto error;
diff --git a/arch/powerpc/sysdev/mv64x60_pci.c b/arch/powerpc/sysdev/mv64x60_pci.c
index 1456015a22d8..198f288570cc 100644
--- a/arch/powerpc/sysdev/mv64x60_pci.c
+++ b/arch/powerpc/sysdev/mv64x60_pci.c
@@ -24,7 +24,7 @@
24#define MV64X60_VAL_LEN_MAX 11 24#define MV64X60_VAL_LEN_MAX 11
25#define MV64X60_PCICFG_CPCI_HOTSWAP 0x68 25#define MV64X60_PCICFG_CPCI_HOTSWAP 0x68
26 26
27static ssize_t mv64x60_hs_reg_read(struct kobject *kobj, 27static ssize_t mv64x60_hs_reg_read(struct file *filp, struct kobject *kobj,
28 struct bin_attribute *attr, char *buf, 28 struct bin_attribute *attr, char *buf,
29 loff_t off, size_t count) 29 loff_t off, size_t count)
30{ 30{
@@ -45,7 +45,7 @@ static ssize_t mv64x60_hs_reg_read(struct kobject *kobj,
45 return sprintf(buf, "0x%08x\n", v); 45 return sprintf(buf, "0x%08x\n", v);
46} 46}
47 47
48static ssize_t mv64x60_hs_reg_write(struct kobject *kobj, 48static ssize_t mv64x60_hs_reg_write(struct file *filp, struct kobject *kobj,
49 struct bin_attribute *attr, char *buf, 49 struct bin_attribute *attr, char *buf,
50 loff_t off, size_t count) 50 loff_t off, size_t count)
51{ 51{
diff --git a/arch/powerpc/sysdev/of_rtc.c b/arch/powerpc/sysdev/of_rtc.c
index 3d54450640c1..c9e803f3e267 100644
--- a/arch/powerpc/sysdev/of_rtc.c
+++ b/arch/powerpc/sysdev/of_rtc.c
@@ -12,6 +12,7 @@
12#include <linux/of.h> 12#include <linux/of.h>
13#include <linux/init.h> 13#include <linux/init.h>
14#include <linux/of_platform.h> 14#include <linux/of_platform.h>
15#include <linux/slab.h>
15 16
16static __initdata struct { 17static __initdata struct {
17 const char *compatible; 18 const char *compatible;
diff --git a/arch/powerpc/sysdev/pmi.c b/arch/powerpc/sysdev/pmi.c
index aaa915998eb6..d07137a07d75 100644
--- a/arch/powerpc/sysdev/pmi.c
+++ b/arch/powerpc/sysdev/pmi.c
@@ -25,6 +25,7 @@
25 */ 25 */
26 26
27#include <linux/interrupt.h> 27#include <linux/interrupt.h>
28#include <linux/slab.h>
28#include <linux/completion.h> 29#include <linux/completion.h>
29#include <linux/spinlock.h> 30#include <linux/spinlock.h>
30#include <linux/workqueue.h> 31#include <linux/workqueue.h>
@@ -123,7 +124,7 @@ static void pmi_notify_handlers(struct work_struct *work)
123static int pmi_of_probe(struct of_device *dev, 124static int pmi_of_probe(struct of_device *dev,
124 const struct of_device_id *match) 125 const struct of_device_id *match)
125{ 126{
126 struct device_node *np = dev->node; 127 struct device_node *np = dev->dev.of_node;
127 int rc; 128 int rc;
128 129
129 if (data) { 130 if (data) {
@@ -205,11 +206,12 @@ static int pmi_of_remove(struct of_device *dev)
205} 206}
206 207
207static struct of_platform_driver pmi_of_platform_driver = { 208static struct of_platform_driver pmi_of_platform_driver = {
208 .match_table = pmi_match,
209 .probe = pmi_of_probe, 209 .probe = pmi_of_probe,
210 .remove = pmi_of_remove, 210 .remove = pmi_of_remove,
211 .driver = { 211 .driver = {
212 .name = "pmi", 212 .name = "pmi",
213 .owner = THIS_MODULE,
214 .of_match_table = pmi_match,
213 }, 215 },
214}; 216};
215 217
diff --git a/arch/powerpc/sysdev/ppc4xx_gpio.c b/arch/powerpc/sysdev/ppc4xx_gpio.c
index 110efe2a54fc..3812fc366bec 100644
--- a/arch/powerpc/sysdev/ppc4xx_gpio.c
+++ b/arch/powerpc/sysdev/ppc4xx_gpio.c
@@ -29,6 +29,7 @@
29#include <linux/of_gpio.h> 29#include <linux/of_gpio.h>
30#include <linux/gpio.h> 30#include <linux/gpio.h>
31#include <linux/types.h> 31#include <linux/types.h>
32#include <linux/slab.h>
32 33
33#define GPIO_MASK(gpio) (0x80000000 >> (gpio)) 34#define GPIO_MASK(gpio) (0x80000000 >> (gpio))
34#define GPIO_MASK2(gpio) (0xc0000000 >> ((gpio) * 2)) 35#define GPIO_MASK2(gpio) (0xc0000000 >> ((gpio) * 2))
diff --git a/arch/powerpc/sysdev/ppc4xx_pci.c b/arch/powerpc/sysdev/ppc4xx_pci.c
index 6ff9d71b4c0d..156aa7d36258 100644
--- a/arch/powerpc/sysdev/ppc4xx_pci.c
+++ b/arch/powerpc/sysdev/ppc4xx_pci.c
@@ -24,6 +24,7 @@
24#include <linux/of.h> 24#include <linux/of.h>
25#include <linux/bootmem.h> 25#include <linux/bootmem.h>
26#include <linux/delay.h> 26#include <linux/delay.h>
27#include <linux/slab.h>
27 28
28#include <asm/io.h> 29#include <asm/io.h>
29#include <asm/pci-bridge.h> 30#include <asm/pci-bridge.h>
@@ -569,7 +570,8 @@ static void __init ppc4xx_probe_pcix_bridge(struct device_node *np)
569 hose->last_busno = bus_range ? bus_range[1] : 0xff; 570 hose->last_busno = bus_range ? bus_range[1] : 0xff;
570 571
571 /* Setup config space */ 572 /* Setup config space */
572 setup_indirect_pci(hose, rsrc_cfg.start, rsrc_cfg.start + 0x4, 0); 573 setup_indirect_pci(hose, rsrc_cfg.start, rsrc_cfg.start + 0x4,
574 PPC_INDIRECT_TYPE_SET_CFG_TYPE);
573 575
574 /* Disable all windows */ 576 /* Disable all windows */
575 writel(0, reg + PCIX0_POM0SA); 577 writel(0, reg + PCIX0_POM0SA);
@@ -972,6 +974,123 @@ static struct ppc4xx_pciex_hwops ppc460ex_pcie_hwops __initdata =
972 .setup_utl = ppc460ex_pciex_init_utl, 974 .setup_utl = ppc460ex_pciex_init_utl,
973}; 975};
974 976
977static int __init ppc460sx_pciex_core_init(struct device_node *np)
978{
979 /* HSS drive amplitude */
980 mtdcri(SDR0, PESDR0_460SX_HSSL0DAMP, 0xB9843211);
981 mtdcri(SDR0, PESDR0_460SX_HSSL1DAMP, 0xB9843211);
982 mtdcri(SDR0, PESDR0_460SX_HSSL2DAMP, 0xB9843211);
983 mtdcri(SDR0, PESDR0_460SX_HSSL3DAMP, 0xB9843211);
984 mtdcri(SDR0, PESDR0_460SX_HSSL4DAMP, 0xB9843211);
985 mtdcri(SDR0, PESDR0_460SX_HSSL5DAMP, 0xB9843211);
986 mtdcri(SDR0, PESDR0_460SX_HSSL6DAMP, 0xB9843211);
987 mtdcri(SDR0, PESDR0_460SX_HSSL7DAMP, 0xB9843211);
988
989 mtdcri(SDR0, PESDR1_460SX_HSSL0DAMP, 0xB9843211);
990 mtdcri(SDR0, PESDR1_460SX_HSSL1DAMP, 0xB9843211);
991 mtdcri(SDR0, PESDR1_460SX_HSSL2DAMP, 0xB9843211);
992 mtdcri(SDR0, PESDR1_460SX_HSSL3DAMP, 0xB9843211);
993
994 mtdcri(SDR0, PESDR2_460SX_HSSL0DAMP, 0xB9843211);
995 mtdcri(SDR0, PESDR2_460SX_HSSL1DAMP, 0xB9843211);
996 mtdcri(SDR0, PESDR2_460SX_HSSL2DAMP, 0xB9843211);
997 mtdcri(SDR0, PESDR2_460SX_HSSL3DAMP, 0xB9843211);
998
999 /* HSS TX pre-emphasis */
1000 mtdcri(SDR0, PESDR0_460SX_HSSL0COEFA, 0xDCB98987);
1001 mtdcri(SDR0, PESDR0_460SX_HSSL1COEFA, 0xDCB98987);
1002 mtdcri(SDR0, PESDR0_460SX_HSSL2COEFA, 0xDCB98987);
1003 mtdcri(SDR0, PESDR0_460SX_HSSL3COEFA, 0xDCB98987);
1004 mtdcri(SDR0, PESDR0_460SX_HSSL4COEFA, 0xDCB98987);
1005 mtdcri(SDR0, PESDR0_460SX_HSSL5COEFA, 0xDCB98987);
1006 mtdcri(SDR0, PESDR0_460SX_HSSL6COEFA, 0xDCB98987);
1007 mtdcri(SDR0, PESDR0_460SX_HSSL7COEFA, 0xDCB98987);
1008
1009 mtdcri(SDR0, PESDR1_460SX_HSSL0COEFA, 0xDCB98987);
1010 mtdcri(SDR0, PESDR1_460SX_HSSL1COEFA, 0xDCB98987);
1011 mtdcri(SDR0, PESDR1_460SX_HSSL2COEFA, 0xDCB98987);
1012 mtdcri(SDR0, PESDR1_460SX_HSSL3COEFA, 0xDCB98987);
1013
1014 mtdcri(SDR0, PESDR2_460SX_HSSL0COEFA, 0xDCB98987);
1015 mtdcri(SDR0, PESDR2_460SX_HSSL1COEFA, 0xDCB98987);
1016 mtdcri(SDR0, PESDR2_460SX_HSSL2COEFA, 0xDCB98987);
1017 mtdcri(SDR0, PESDR2_460SX_HSSL3COEFA, 0xDCB98987);
1018
1019 /* HSS TX calibration control */
1020 mtdcri(SDR0, PESDR0_460SX_HSSL1CALDRV, 0x22222222);
1021 mtdcri(SDR0, PESDR1_460SX_HSSL1CALDRV, 0x22220000);
1022 mtdcri(SDR0, PESDR2_460SX_HSSL1CALDRV, 0x22220000);
1023
1024 /* HSS TX slew control */
1025 mtdcri(SDR0, PESDR0_460SX_HSSSLEW, 0xFFFFFFFF);
1026 mtdcri(SDR0, PESDR1_460SX_HSSSLEW, 0xFFFF0000);
1027 mtdcri(SDR0, PESDR2_460SX_HSSSLEW, 0xFFFF0000);
1028
1029 udelay(100);
1030
1031 /* De-assert PLLRESET */
1032 dcri_clrset(SDR0, PESDR0_PLLLCT2, 0x00000100, 0);
1033
1034 /* Reset DL, UTL, GPL before configuration */
1035 mtdcri(SDR0, PESDR0_460SX_RCSSET,
1036 PESDRx_RCSSET_RSTDL | PESDRx_RCSSET_RSTGU);
1037 mtdcri(SDR0, PESDR1_460SX_RCSSET,
1038 PESDRx_RCSSET_RSTDL | PESDRx_RCSSET_RSTGU);
1039 mtdcri(SDR0, PESDR2_460SX_RCSSET,
1040 PESDRx_RCSSET_RSTDL | PESDRx_RCSSET_RSTGU);
1041
1042 udelay(100);
1043
1044 /*
1045 * If bifurcation is not enabled, u-boot would have disabled the
1046 * third PCIe port
1047 */
1048 if (((mfdcri(SDR0, PESDR1_460SX_HSSCTLSET) & 0x00000001) ==
1049 0x00000001)) {
1050 printk(KERN_INFO "PCI: PCIE bifurcation setup successfully.\n");
1051 printk(KERN_INFO "PCI: Total 3 PCIE ports are present\n");
1052 return 3;
1053 }
1054
1055 printk(KERN_INFO "PCI: Total 2 PCIE ports are present\n");
1056 return 2;
1057}
1058
1059static int ppc460sx_pciex_init_port_hw(struct ppc4xx_pciex_port *port)
1060{
1061
1062 if (port->endpoint)
1063 dcri_clrset(SDR0, port->sdr_base + PESDRn_UTLSET2,
1064 0x01000000, 0);
1065 else
1066 dcri_clrset(SDR0, port->sdr_base + PESDRn_UTLSET2,
1067 0, 0x01000000);
1068
1069 /*Gen-1*/
1070 mtdcri(SDR0, port->sdr_base + PESDRn_460SX_RCEI, 0x08000000);
1071
1072 dcri_clrset(SDR0, port->sdr_base + PESDRn_RCSSET,
1073 (PESDRx_RCSSET_RSTGU | PESDRx_RCSSET_RSTDL),
1074 PESDRx_RCSSET_RSTPYN);
1075
1076 port->has_ibpre = 1;
1077
1078 return 0;
1079}
1080
1081static int ppc460sx_pciex_init_utl(struct ppc4xx_pciex_port *port)
1082{
1083 /* Max 128 Bytes */
1084 out_be32 (port->utl_base + PEUTL_PBBSZ, 0x00000000);
1085 return 0;
1086}
1087
1088static struct ppc4xx_pciex_hwops ppc460sx_pcie_hwops __initdata = {
1089 .core_init = ppc460sx_pciex_core_init,
1090 .port_init_hw = ppc460sx_pciex_init_port_hw,
1091 .setup_utl = ppc460sx_pciex_init_utl,
1092};
1093
975#endif /* CONFIG_44x */ 1094#endif /* CONFIG_44x */
976 1095
977#ifdef CONFIG_40x 1096#ifdef CONFIG_40x
@@ -1087,6 +1206,8 @@ static int __init ppc4xx_pciex_check_core_init(struct device_node *np)
1087 } 1206 }
1088 if (of_device_is_compatible(np, "ibm,plb-pciex-460ex")) 1207 if (of_device_is_compatible(np, "ibm,plb-pciex-460ex"))
1089 ppc4xx_pciex_hwops = &ppc460ex_pcie_hwops; 1208 ppc4xx_pciex_hwops = &ppc460ex_pcie_hwops;
1209 if (of_device_is_compatible(np, "ibm,plb-pciex-460sx"))
1210 ppc4xx_pciex_hwops = &ppc460sx_pcie_hwops;
1090#endif /* CONFIG_44x */ 1211#endif /* CONFIG_44x */
1091#ifdef CONFIG_40x 1212#ifdef CONFIG_40x
1092 if (of_device_is_compatible(np, "ibm,plb-pciex-405ex")) 1213 if (of_device_is_compatible(np, "ibm,plb-pciex-405ex"))
diff --git a/arch/powerpc/sysdev/ppc4xx_pci.h b/arch/powerpc/sysdev/ppc4xx_pci.h
index d04e40b306fb..56d9e5deccbf 100644
--- a/arch/powerpc/sysdev/ppc4xx_pci.h
+++ b/arch/powerpc/sysdev/ppc4xx_pci.h
@@ -324,6 +324,64 @@
324#define PESDR0_460EX_IHS2 0x036D 324#define PESDR0_460EX_IHS2 0x036D
325 325
326/* 326/*
327 * 460SX addtional DCRs
328 */
329#define PESDRn_460SX_RCEI 0x02
330
331#define PESDR0_460SX_HSSL0DAMP 0x320
332#define PESDR0_460SX_HSSL1DAMP 0x321
333#define PESDR0_460SX_HSSL2DAMP 0x322
334#define PESDR0_460SX_HSSL3DAMP 0x323
335#define PESDR0_460SX_HSSL4DAMP 0x324
336#define PESDR0_460SX_HSSL5DAMP 0x325
337#define PESDR0_460SX_HSSL6DAMP 0x326
338#define PESDR0_460SX_HSSL7DAMP 0x327
339
340#define PESDR1_460SX_HSSL0DAMP 0x354
341#define PESDR1_460SX_HSSL1DAMP 0x355
342#define PESDR1_460SX_HSSL2DAMP 0x356
343#define PESDR1_460SX_HSSL3DAMP 0x357
344
345#define PESDR2_460SX_HSSL0DAMP 0x384
346#define PESDR2_460SX_HSSL1DAMP 0x385
347#define PESDR2_460SX_HSSL2DAMP 0x386
348#define PESDR2_460SX_HSSL3DAMP 0x387
349
350#define PESDR0_460SX_HSSL0COEFA 0x328
351#define PESDR0_460SX_HSSL1COEFA 0x329
352#define PESDR0_460SX_HSSL2COEFA 0x32A
353#define PESDR0_460SX_HSSL3COEFA 0x32B
354#define PESDR0_460SX_HSSL4COEFA 0x32C
355#define PESDR0_460SX_HSSL5COEFA 0x32D
356#define PESDR0_460SX_HSSL6COEFA 0x32E
357#define PESDR0_460SX_HSSL7COEFA 0x32F
358
359#define PESDR1_460SX_HSSL0COEFA 0x358
360#define PESDR1_460SX_HSSL1COEFA 0x359
361#define PESDR1_460SX_HSSL2COEFA 0x35A
362#define PESDR1_460SX_HSSL3COEFA 0x35B
363
364#define PESDR2_460SX_HSSL0COEFA 0x388
365#define PESDR2_460SX_HSSL1COEFA 0x389
366#define PESDR2_460SX_HSSL2COEFA 0x38A
367#define PESDR2_460SX_HSSL3COEFA 0x38B
368
369#define PESDR0_460SX_HSSL1CALDRV 0x339
370#define PESDR1_460SX_HSSL1CALDRV 0x361
371#define PESDR2_460SX_HSSL1CALDRV 0x391
372
373#define PESDR0_460SX_HSSSLEW 0x338
374#define PESDR1_460SX_HSSSLEW 0x360
375#define PESDR2_460SX_HSSSLEW 0x390
376
377#define PESDR0_460SX_HSSCTLSET 0x31E
378#define PESDR1_460SX_HSSCTLSET 0x352
379#define PESDR2_460SX_HSSCTLSET 0x382
380
381#define PESDR0_460SX_RCSSET 0x304
382#define PESDR1_460SX_RCSSET 0x344
383#define PESDR2_460SX_RCSSET 0x374
384/*
327 * Of the above, some are common offsets from the base 385 * Of the above, some are common offsets from the base
328 */ 386 */
329#define PESDRn_UTLSET1 0x00 387#define PESDRn_UTLSET1 0x00
diff --git a/arch/powerpc/sysdev/ppc4xx_soc.c b/arch/powerpc/sysdev/ppc4xx_soc.c
index 5b32adc9a9b2..d3d6ce3c33b4 100644
--- a/arch/powerpc/sysdev/ppc4xx_soc.c
+++ b/arch/powerpc/sysdev/ppc4xx_soc.c
@@ -174,7 +174,8 @@ static int __init ppc4xx_l2c_probe(void)
174 | L2C_CFG_CPIM | L2C_CFG_TPIM | L2C_CFG_LIM | L2C_CFG_SMCM; 174 | L2C_CFG_CPIM | L2C_CFG_TPIM | L2C_CFG_LIM | L2C_CFG_SMCM;
175 175
176 /* Check for 460EX/GT special handling */ 176 /* Check for 460EX/GT special handling */
177 if (of_device_is_compatible(np, "ibm,l2-cache-460ex")) 177 if (of_device_is_compatible(np, "ibm,l2-cache-460ex") ||
178 of_device_is_compatible(np, "ibm,l2-cache-460gt"))
178 r |= L2C_CFG_RDBW; 179 r |= L2C_CFG_RDBW;
179 180
180 mtdcr(dcrbase_l2c + DCRN_L2C0_CFG, r); 181 mtdcr(dcrbase_l2c + DCRN_L2C0_CFG, r);
@@ -190,11 +191,31 @@ static int __init ppc4xx_l2c_probe(void)
190arch_initcall(ppc4xx_l2c_probe); 191arch_initcall(ppc4xx_l2c_probe);
191 192
192/* 193/*
193 * At present, this routine just applies a system reset. 194 * Apply a system reset. Alternatively a board specific value may be
195 * provided via the "reset-type" property in the cpu node.
194 */ 196 */
195void ppc4xx_reset_system(char *cmd) 197void ppc4xx_reset_system(char *cmd)
196{ 198{
197 mtspr(SPRN_DBCR0, mfspr(SPRN_DBCR0) | DBCR0_RST_SYSTEM); 199 struct device_node *np;
200 u32 reset_type = DBCR0_RST_SYSTEM;
201 const u32 *prop;
202
203 np = of_find_node_by_type(NULL, "cpu");
204 if (np) {
205 prop = of_get_property(np, "reset-type", NULL);
206
207 /*
208 * Check if property exists and if it is in range:
209 * 1 - PPC4xx core reset
210 * 2 - PPC4xx chip reset
211 * 3 - PPC4xx system reset (default)
212 */
213 if ((prop) && ((prop[0] >= 1) && (prop[0] <= 3)))
214 reset_type = prop[0] << 28;
215 }
216
217 mtspr(SPRN_DBCR0, mfspr(SPRN_DBCR0) | reset_type);
218
198 while (1) 219 while (1)
199 ; /* Just in case the reset doesn't work */ 220 ; /* Just in case the reset doesn't work */
200} 221}
diff --git a/arch/powerpc/sysdev/qe_lib/gpio.c b/arch/powerpc/sysdev/qe_lib/gpio.c
index 8e7a7767dd5c..dc8f8d618074 100644
--- a/arch/powerpc/sysdev/qe_lib/gpio.c
+++ b/arch/powerpc/sysdev/qe_lib/gpio.c
@@ -19,6 +19,7 @@
19#include <linux/of.h> 19#include <linux/of.h>
20#include <linux/of_gpio.h> 20#include <linux/of_gpio.h>
21#include <linux/gpio.h> 21#include <linux/gpio.h>
22#include <linux/slab.h>
22#include <asm/qe.h> 23#include <asm/qe.h>
23 24
24struct qe_gpio_chip { 25struct qe_gpio_chip {
diff --git a/arch/powerpc/sysdev/qe_lib/qe.c b/arch/powerpc/sysdev/qe_lib/qe.c
index 149393c02c3f..093e0ae1a941 100644
--- a/arch/powerpc/sysdev/qe_lib/qe.c
+++ b/arch/powerpc/sysdev/qe_lib/qe.c
@@ -669,8 +669,11 @@ static const struct of_device_id qe_ids[] = {
669}; 669};
670 670
671static struct of_platform_driver qe_driver = { 671static struct of_platform_driver qe_driver = {
672 .driver.name = "fsl-qe", 672 .driver = {
673 .match_table = qe_ids, 673 .name = "fsl-qe",
674 .owner = THIS_MODULE,
675 .of_match_table = qe_ids,
676 },
674 .probe = qe_probe, 677 .probe = qe_probe,
675 .resume = qe_resume, 678 .resume = qe_resume,
676}; 679};
diff --git a/arch/powerpc/sysdev/qe_lib/qe_ic.c b/arch/powerpc/sysdev/qe_lib/qe_ic.c
index 2acc928d1920..541ba9863647 100644
--- a/arch/powerpc/sysdev/qe_lib/qe_ic.c
+++ b/arch/powerpc/sysdev/qe_lib/qe_ic.c
@@ -33,7 +33,7 @@
33 33
34#include "qe_ic.h" 34#include "qe_ic.h"
35 35
36static DEFINE_SPINLOCK(qe_ic_lock); 36static DEFINE_RAW_SPINLOCK(qe_ic_lock);
37 37
38static struct qe_ic_info qe_ic_info[] = { 38static struct qe_ic_info qe_ic_info[] = {
39 [1] = { 39 [1] = {
@@ -201,13 +201,13 @@ static void qe_ic_unmask_irq(unsigned int virq)
201 unsigned long flags; 201 unsigned long flags;
202 u32 temp; 202 u32 temp;
203 203
204 spin_lock_irqsave(&qe_ic_lock, flags); 204 raw_spin_lock_irqsave(&qe_ic_lock, flags);
205 205
206 temp = qe_ic_read(qe_ic->regs, qe_ic_info[src].mask_reg); 206 temp = qe_ic_read(qe_ic->regs, qe_ic_info[src].mask_reg);
207 qe_ic_write(qe_ic->regs, qe_ic_info[src].mask_reg, 207 qe_ic_write(qe_ic->regs, qe_ic_info[src].mask_reg,
208 temp | qe_ic_info[src].mask); 208 temp | qe_ic_info[src].mask);
209 209
210 spin_unlock_irqrestore(&qe_ic_lock, flags); 210 raw_spin_unlock_irqrestore(&qe_ic_lock, flags);
211} 211}
212 212
213static void qe_ic_mask_irq(unsigned int virq) 213static void qe_ic_mask_irq(unsigned int virq)
@@ -217,7 +217,7 @@ static void qe_ic_mask_irq(unsigned int virq)
217 unsigned long flags; 217 unsigned long flags;
218 u32 temp; 218 u32 temp;
219 219
220 spin_lock_irqsave(&qe_ic_lock, flags); 220 raw_spin_lock_irqsave(&qe_ic_lock, flags);
221 221
222 temp = qe_ic_read(qe_ic->regs, qe_ic_info[src].mask_reg); 222 temp = qe_ic_read(qe_ic->regs, qe_ic_info[src].mask_reg);
223 qe_ic_write(qe_ic->regs, qe_ic_info[src].mask_reg, 223 qe_ic_write(qe_ic->regs, qe_ic_info[src].mask_reg,
@@ -233,11 +233,11 @@ static void qe_ic_mask_irq(unsigned int virq)
233 */ 233 */
234 mb(); 234 mb();
235 235
236 spin_unlock_irqrestore(&qe_ic_lock, flags); 236 raw_spin_unlock_irqrestore(&qe_ic_lock, flags);
237} 237}
238 238
239static struct irq_chip qe_ic_irq_chip = { 239static struct irq_chip qe_ic_irq_chip = {
240 .name = " QEIC ", 240 .name = "QEIC",
241 .unmask = qe_ic_unmask_irq, 241 .unmask = qe_ic_unmask_irq,
242 .mask = qe_ic_mask_irq, 242 .mask = qe_ic_mask_irq,
243 .mask_ack = qe_ic_mask_irq, 243 .mask_ack = qe_ic_mask_irq,
@@ -256,7 +256,7 @@ static int qe_ic_host_map(struct irq_host *h, unsigned int virq,
256 struct irq_chip *chip; 256 struct irq_chip *chip;
257 257
258 if (qe_ic_info[hw].mask == 0) { 258 if (qe_ic_info[hw].mask == 0) {
259 printk(KERN_ERR "Can't map reserved IRQ \n"); 259 printk(KERN_ERR "Can't map reserved IRQ\n");
260 return -EINVAL; 260 return -EINVAL;
261 } 261 }
262 /* Default chip */ 262 /* Default chip */
diff --git a/arch/powerpc/sysdev/qe_lib/qe_io.c b/arch/powerpc/sysdev/qe_lib/qe_io.c
index 7c87460179ef..77e4934b88c5 100644
--- a/arch/powerpc/sysdev/qe_lib/qe_io.c
+++ b/arch/powerpc/sysdev/qe_lib/qe_io.c
@@ -157,13 +157,13 @@ int par_io_of_config(struct device_node *np)
157 const unsigned int *pio_map; 157 const unsigned int *pio_map;
158 158
159 if (par_io == NULL) { 159 if (par_io == NULL) {
160 printk(KERN_ERR "par_io not initialized \n"); 160 printk(KERN_ERR "par_io not initialized\n");
161 return -1; 161 return -1;
162 } 162 }
163 163
164 ph = of_get_property(np, "pio-handle", NULL); 164 ph = of_get_property(np, "pio-handle", NULL);
165 if (ph == NULL) { 165 if (ph == NULL) {
166 printk(KERN_ERR "pio-handle not available \n"); 166 printk(KERN_ERR "pio-handle not available\n");
167 return -1; 167 return -1;
168 } 168 }
169 169
@@ -171,12 +171,12 @@ int par_io_of_config(struct device_node *np)
171 171
172 pio_map = of_get_property(pio, "pio-map", &pio_map_len); 172 pio_map = of_get_property(pio, "pio-map", &pio_map_len);
173 if (pio_map == NULL) { 173 if (pio_map == NULL) {
174 printk(KERN_ERR "pio-map is not set! \n"); 174 printk(KERN_ERR "pio-map is not set!\n");
175 return -1; 175 return -1;
176 } 176 }
177 pio_map_len /= sizeof(unsigned int); 177 pio_map_len /= sizeof(unsigned int);
178 if ((pio_map_len % 6) != 0) { 178 if ((pio_map_len % 6) != 0) {
179 printk(KERN_ERR "pio-map format wrong! \n"); 179 printk(KERN_ERR "pio-map format wrong!\n");
180 return -1; 180 return -1;
181 } 181 }
182 182
diff --git a/arch/powerpc/sysdev/qe_lib/ucc.c b/arch/powerpc/sysdev/qe_lib/ucc.c
index ebb442ea1917..fa589b21dbcd 100644
--- a/arch/powerpc/sysdev/qe_lib/ucc.c
+++ b/arch/powerpc/sysdev/qe_lib/ucc.c
@@ -16,7 +16,6 @@
16#include <linux/kernel.h> 16#include <linux/kernel.h>
17#include <linux/init.h> 17#include <linux/init.h>
18#include <linux/errno.h> 18#include <linux/errno.h>
19#include <linux/slab.h>
20#include <linux/stddef.h> 19#include <linux/stddef.h>
21#include <linux/spinlock.h> 20#include <linux/spinlock.h>
22#include <linux/module.h> 21#include <linux/module.h>
diff --git a/arch/powerpc/sysdev/simple_gpio.c b/arch/powerpc/sysdev/simple_gpio.c
index 43c4569e24b7..d5fb173e588c 100644
--- a/arch/powerpc/sysdev/simple_gpio.c
+++ b/arch/powerpc/sysdev/simple_gpio.c
@@ -21,6 +21,7 @@
21#include <linux/of.h> 21#include <linux/of.h>
22#include <linux/of_gpio.h> 22#include <linux/of_gpio.h>
23#include <linux/gpio.h> 23#include <linux/gpio.h>
24#include <linux/slab.h>
24#include <asm/prom.h> 25#include <asm/prom.h>
25#include "simple_gpio.h" 26#include "simple_gpio.h"
26 27
diff --git a/arch/powerpc/sysdev/tsi108_pci.c b/arch/powerpc/sysdev/tsi108_pci.c
index 595034cfb85a..0ab9281e49ae 100644
--- a/arch/powerpc/sysdev/tsi108_pci.c
+++ b/arch/powerpc/sysdev/tsi108_pci.c
@@ -24,7 +24,6 @@
24#include <linux/kernel.h> 24#include <linux/kernel.h>
25#include <linux/init.h> 25#include <linux/init.h>
26#include <linux/pci.h> 26#include <linux/pci.h>
27#include <linux/slab.h>
28#include <linux/irq.h> 27#include <linux/irq.h>
29#include <linux/interrupt.h> 28#include <linux/interrupt.h>
30 29
diff --git a/arch/powerpc/sysdev/uic.c b/arch/powerpc/sysdev/uic.c
index 6f220a913e42..0038fb78f094 100644
--- a/arch/powerpc/sysdev/uic.c
+++ b/arch/powerpc/sysdev/uic.c
@@ -177,7 +177,7 @@ static int uic_set_irq_type(unsigned int virq, unsigned int flow_type)
177} 177}
178 178
179static struct irq_chip uic_irq_chip = { 179static struct irq_chip uic_irq_chip = {
180 .name = " UIC ", 180 .name = "UIC",
181 .unmask = uic_unmask_irq, 181 .unmask = uic_unmask_irq,
182 .mask = uic_mask_irq, 182 .mask = uic_mask_irq,
183 .mask_ack = uic_mask_ack_irq, 183 .mask_ack = uic_mask_ack_irq,
diff --git a/arch/powerpc/xmon/xmon.c b/arch/powerpc/xmon/xmon.c
index 4e6152c13764..8bad7d5f32af 100644
--- a/arch/powerpc/xmon/xmon.c
+++ b/arch/powerpc/xmon/xmon.c
@@ -61,7 +61,7 @@ static int xmon_owner;
61static int xmon_gate; 61static int xmon_gate;
62#endif /* CONFIG_SMP */ 62#endif /* CONFIG_SMP */
63 63
64static unsigned long in_xmon = 0; 64static unsigned long in_xmon __read_mostly = 0;
65 65
66static unsigned long adrs; 66static unsigned long adrs;
67static int size = 1; 67static int size = 1;