aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
Diffstat (limited to 'arch')
-rw-r--r--arch/alpha/kernel/alpha_ksyms.c1
-rw-r--r--arch/alpha/kernel/err_ev7.c8
-rw-r--r--arch/alpha/kernel/osf_sys.c4
-rw-r--r--arch/alpha/kernel/process.c1
-rw-r--r--arch/alpha/kernel/setup.c52
-rw-r--r--arch/alpha/kernel/sys_ruffian.c8
-rw-r--r--arch/alpha/kernel/sys_sio.c2
-rw-r--r--arch/alpha/kernel/time.c2
-rw-r--r--arch/arm/common/gic.c3
-rw-r--r--arch/arm/common/locomo.c18
-rw-r--r--arch/arm/common/sa1111.c6
-rw-r--r--arch/arm/common/sharpsl_pm.c4
-rw-r--r--arch/arm/common/vic.c3
-rw-r--r--arch/arm/configs/ep93xx_defconfig75
-rw-r--r--arch/arm/configs/ixp2000_defconfig55
-rw-r--r--arch/arm/configs/ixp23xx_defconfig59
-rw-r--r--arch/arm/configs/lpd270_defconfig34
-rw-r--r--arch/arm/configs/onearm_defconfig36
-rw-r--r--arch/arm/kernel/bios32.c11
-rw-r--r--arch/arm/kernel/ecard.c3
-rw-r--r--arch/arm/kernel/head.S6
-rw-r--r--arch/arm/kernel/irq.c11
-rw-r--r--arch/arm/kernel/setup.c2
-rw-r--r--arch/arm/kernel/traps.c7
-rw-r--r--arch/arm/mach-at91rm9200/at91rm9200.c45
-rw-r--r--arch/arm/mach-at91rm9200/generic.h8
-rw-r--r--arch/arm/mach-at91rm9200/gpio.c3
-rw-r--r--arch/arm/mach-at91rm9200/irq.c71
-rw-r--r--arch/arm/mach-footbridge/cats-hw.c2
-rw-r--r--arch/arm/mach-imx/irq.c6
-rw-r--r--arch/arm/mach-integrator/integrator_ap.c3
-rw-r--r--arch/arm/mach-integrator/integrator_cp.c9
-rw-r--r--arch/arm/mach-iop3xx/iop321-irq.c3
-rw-r--r--arch/arm/mach-iop3xx/iop331-irq.c6
-rw-r--r--arch/arm/mach-lh7a40x/arch-kev7a400.c3
-rw-r--r--arch/arm/mach-lh7a40x/arch-lpd7a40x.c3
-rw-r--r--arch/arm/mach-lh7a40x/irq-kev7a400.c3
-rw-r--r--arch/arm/mach-lh7a40x/irq-lh7a400.c6
-rw-r--r--arch/arm/mach-lh7a40x/irq-lh7a404.c12
-rw-r--r--arch/arm/mach-lh7a40x/irq-lpd7a40x.c3
-rw-r--r--arch/arm/mach-omap1/fpga.c6
-rw-r--r--arch/arm/mach-omap1/irq.c3
-rw-r--r--arch/arm/mach-omap2/irq.c3
-rw-r--r--arch/arm/mach-pnx4008/core.c2
-rw-r--r--arch/arm/mach-pnx4008/dma.c1
-rw-r--r--arch/arm/mach-pnx4008/irq.c22
-rw-r--r--arch/arm/mach-pnx4008/time.c8
-rw-r--r--arch/arm/mach-pxa/irq.c12
-rw-r--r--arch/arm/mach-pxa/lpd270.c3
-rw-r--r--arch/arm/mach-pxa/lubbock.c3
-rw-r--r--arch/arm/mach-pxa/mainstone.c3
-rw-r--r--arch/arm/mach-s3c2410/mach-anubis.c49
-rw-r--r--arch/arm/mach-s3c2410/mach-osiris.c20
-rw-r--r--arch/arm/mach-sa1100/collie.c4
-rw-r--r--arch/arm/mach-sa1100/collie_pm.c69
-rw-r--r--arch/arm/mach-sa1100/irq.c9
-rw-r--r--arch/arm/mach-shark/irq.c3
-rw-r--r--arch/arm/mach-versatile/core.c14
-rw-r--r--arch/arm/mm/ioremap.c2
-rw-r--r--arch/arm/mm/proc-syms.c8
-rw-r--r--arch/arm/mm/proc-xscale.S30
-rw-r--r--arch/arm/nwfpe/softfloat.h2
-rw-r--r--arch/arm/plat-omap/gpio.c8
-rw-r--r--arch/arm26/kernel/setup.c2
-rw-r--r--arch/cris/arch-v10/drivers/eeprom.c4
-rw-r--r--arch/cris/arch-v10/drivers/gpio.c2
-rw-r--r--arch/cris/arch-v32/drivers/cryptocop.c2
-rw-r--r--arch/cris/arch-v32/drivers/gpio.c2
-rw-r--r--arch/cris/arch-v32/drivers/pcf8563.c2
-rw-r--r--arch/cris/arch-v32/drivers/sync_serial.c12
-rw-r--r--arch/cris/kernel/setup.c2
-rw-r--r--arch/frv/kernel/asm-offsets.c116
-rw-r--r--arch/frv/kernel/break.S34
-rw-r--r--arch/frv/kernel/debug-stub.c13
-rw-r--r--arch/frv/kernel/entry.S1
-rw-r--r--arch/frv/kernel/gdb-stub.c159
-rw-r--r--arch/frv/kernel/head.S1
-rw-r--r--arch/frv/kernel/local.h3
-rw-r--r--arch/frv/kernel/pm.c5
-rw-r--r--arch/frv/kernel/process.c15
-rw-r--r--arch/frv/kernel/switch_to.S3
-rw-r--r--arch/frv/kernel/traps.c25
-rw-r--r--arch/frv/mb93090-mb00/pci-vdk.c11
-rw-r--r--arch/i386/Kconfig2
-rw-r--r--arch/i386/defconfig2
-rw-r--r--arch/i386/kernel/Makefile3
-rw-r--r--arch/i386/kernel/cpu/cpufreq/Kconfig3
-rw-r--r--arch/i386/kernel/cpu/cpufreq/acpi-cpufreq.c3
-rw-r--r--arch/i386/kernel/cpu/cpufreq/longhaul.c221
-rw-r--r--arch/i386/kernel/cpu/intel_cacheinfo.c2
-rw-r--r--arch/i386/kernel/cpu/mcheck/mce.h2
-rw-r--r--arch/i386/kernel/crash.c2
-rw-r--r--arch/i386/kernel/entry.S2
-rw-r--r--arch/i386/kernel/ioport.c1
-rw-r--r--arch/i386/kernel/kprobes.c9
-rw-r--r--arch/i386/kernel/machine_kexec.c13
-rw-r--r--arch/i386/kernel/nmi.c1
-rw-r--r--arch/i386/kernel/process.c50
-rw-r--r--arch/i386/kernel/ptrace.c5
-rw-r--r--arch/i386/kernel/setup.c7
-rw-r--r--arch/i386/kernel/smpboot.c62
-rw-r--r--arch/i386/kernel/time.c7
-rw-r--r--arch/i386/kernel/traps.c73
-rw-r--r--arch/i386/kernel/vsyscall.lds.S1
-rw-r--r--arch/i386/lib/usercopy.c2
-rw-r--r--arch/i386/oprofile/nmi_int.c5
-rw-r--r--arch/i386/pci/common.c4
-rw-r--r--arch/i386/pci/pci.h2
-rw-r--r--arch/ia64/configs/sn2_defconfig2
-rw-r--r--arch/ia64/defconfig2
-rw-r--r--arch/ia64/dig/setup.c2
-rw-r--r--arch/ia64/hp/sim/simscsi.c4
-rw-r--r--arch/ia64/kernel/Makefile3
-rw-r--r--arch/ia64/kernel/efi.c8
-rw-r--r--arch/ia64/kernel/gate.lds.S1
-rw-r--r--arch/ia64/kernel/head.S2
-rw-r--r--arch/ia64/kernel/ia64_ksyms.c2
-rw-r--r--arch/ia64/kernel/kprobes.c9
-rw-r--r--arch/ia64/kernel/pal.S18
-rw-r--r--arch/ia64/kernel/palinfo.c47
-rw-r--r--arch/ia64/kernel/setup.c2
-rw-r--r--arch/ia64/kernel/topology.c2
-rw-r--r--arch/ia64/kernel/traps.c7
-rw-r--r--arch/ia64/kernel/uncached.c86
-rw-r--r--arch/ia64/lib/Makefile2
-rw-r--r--arch/ia64/mm/contig.c16
-rw-r--r--arch/ia64/mm/discontig.c68
-rw-r--r--arch/ia64/mm/init.c55
-rw-r--r--arch/ia64/mm/ioremap.c6
-rw-r--r--arch/ia64/pci/pci.c2
-rw-r--r--arch/ia64/sn/kernel/setup.c2
-rw-r--r--arch/ia64/sn/kernel/xpc_main.c2
-rw-r--r--arch/ia64/sn/pci/tioce_provider.c6
-rw-r--r--arch/m32r/kernel/setup.c2
-rw-r--r--arch/mips/Kconfig10
-rw-r--r--arch/mips/Kconfig.debug4
-rw-r--r--arch/mips/Makefile6
-rw-r--r--arch/mips/au1000/common/irq.c8
-rw-r--r--arch/mips/au1000/common/prom.c26
-rw-r--r--arch/mips/au1000/common/setup.c2
-rw-r--r--arch/mips/au1000/common/time.c2
-rw-r--r--arch/mips/au1000/csb250/Makefile8
-rw-r--r--arch/mips/au1000/csb250/board_setup.c238
-rw-r--r--arch/mips/au1000/csb250/init.c94
-rw-r--r--arch/mips/au1000/csb250/irqmap.c60
-rw-r--r--arch/mips/au1000/hydrogen3/Makefile9
-rw-r--r--arch/mips/au1000/hydrogen3/board_setup.c69
-rw-r--r--arch/mips/au1000/hydrogen3/init.c75
-rw-r--r--arch/mips/au1000/hydrogen3/irqmap.c56
-rw-r--r--arch/mips/au1000/pb1200/irqmap.c2
-rw-r--r--arch/mips/basler/excite/excite_dbg_io.c1
-rw-r--r--arch/mips/basler/excite/excite_device.c1
-rw-r--r--arch/mips/basler/excite/excite_iodev.c1
-rw-r--r--arch/mips/basler/excite/excite_procfs.c1
-rw-r--r--arch/mips/basler/excite/excite_prom.c1
-rw-r--r--arch/mips/basler/excite/excite_setup.c4
-rw-r--r--arch/mips/cobalt/setup.c4
-rw-r--r--arch/mips/configs/atlas_defconfig68
-rw-r--r--arch/mips/configs/bigsur_defconfig59
-rw-r--r--arch/mips/configs/capcella_defconfig49
-rw-r--r--arch/mips/configs/cobalt_defconfig46
-rw-r--r--arch/mips/configs/db1000_defconfig50
-rw-r--r--arch/mips/configs/db1100_defconfig52
-rw-r--r--arch/mips/configs/db1200_defconfig51
-rw-r--r--arch/mips/configs/db1500_defconfig66
-rw-r--r--arch/mips/configs/db1550_defconfig51
-rw-r--r--arch/mips/configs/ddb5477_defconfig46
-rw-r--r--arch/mips/configs/decstation_defconfig55
-rw-r--r--arch/mips/configs/e55_defconfig39
-rw-r--r--arch/mips/configs/emma2rh_defconfig44
-rw-r--r--arch/mips/configs/ev64120_defconfig45
-rw-r--r--arch/mips/configs/ev96100_defconfig44
-rw-r--r--arch/mips/configs/excite_defconfig135
-rw-r--r--arch/mips/configs/ip22_defconfig57
-rw-r--r--arch/mips/configs/ip27_defconfig65
-rw-r--r--arch/mips/configs/ip32_defconfig47
-rw-r--r--arch/mips/configs/it8172_defconfig45
-rw-r--r--arch/mips/configs/ivr_defconfig45
-rw-r--r--arch/mips/configs/jaguar-atx_defconfig48
-rw-r--r--arch/mips/configs/jmr3927_defconfig48
-rw-r--r--arch/mips/configs/lasat200_defconfig46
-rw-r--r--arch/mips/configs/malta_defconfig64
-rw-r--r--arch/mips/configs/mipssim_defconfig51
-rw-r--r--arch/mips/configs/mpc30x_defconfig48
-rw-r--r--arch/mips/configs/ocelot_3_defconfig55
-rw-r--r--arch/mips/configs/ocelot_c_defconfig46
-rw-r--r--arch/mips/configs/ocelot_defconfig45
-rw-r--r--arch/mips/configs/ocelot_g_defconfig46
-rw-r--r--arch/mips/configs/pb1100_defconfig48
-rw-r--r--arch/mips/configs/pb1500_defconfig50
-rw-r--r--arch/mips/configs/pb1550_defconfig50
-rw-r--r--arch/mips/configs/pnx8550-jbs_defconfig349
-rw-r--r--arch/mips/configs/pnx8550-v2pci_defconfig401
-rw-r--r--arch/mips/configs/qemu_defconfig44
-rw-r--r--arch/mips/configs/rbhma4500_defconfig64
-rw-r--r--arch/mips/configs/rm200_defconfig74
-rw-r--r--arch/mips/configs/sb1250-swarm_defconfig51
-rw-r--r--arch/mips/configs/sead_defconfig38
-rw-r--r--arch/mips/configs/tb0226_defconfig55
-rw-r--r--arch/mips/configs/tb0229_defconfig55
-rw-r--r--arch/mips/configs/tb0287_defconfig55
-rw-r--r--arch/mips/configs/workpad_defconfig44
-rw-r--r--arch/mips/configs/wrppmc_defconfig88
-rw-r--r--arch/mips/configs/yosemite_defconfig58
-rw-r--r--arch/mips/ddb5xxx/ddb5477/irq.c1
-rw-r--r--arch/mips/ddb5xxx/ddb5477/irq_5477.c2
-rw-r--r--arch/mips/ddb5xxx/ddb5477/setup.c6
-rw-r--r--arch/mips/dec/ioasic-irq.c4
-rw-r--r--arch/mips/dec/kn02-irq.c2
-rw-r--r--arch/mips/dec/setup.c2
-rw-r--r--arch/mips/dec/time.c2
-rw-r--r--arch/mips/defconfig57
-rw-r--r--arch/mips/emma2rh/common/irq.c1
-rw-r--r--arch/mips/emma2rh/common/irq_emma2rh.c2
-rw-r--r--arch/mips/emma2rh/common/prom.c1
-rw-r--r--arch/mips/emma2rh/markeins/irq.c1
-rw-r--r--arch/mips/emma2rh/markeins/irq_markeins.c4
-rw-r--r--arch/mips/emma2rh/markeins/platform.c1
-rw-r--r--arch/mips/emma2rh/markeins/setup.c4
-rw-r--r--arch/mips/gt64120/ev64120/irq.c4
-rw-r--r--arch/mips/gt64120/wrppmc/setup.c3
-rw-r--r--arch/mips/gt64120/wrppmc/time.c3
-rw-r--r--arch/mips/ite-boards/generic/irq.c4
-rw-r--r--arch/mips/ite-boards/generic/it8172_setup.c5
-rw-r--r--arch/mips/ite-boards/generic/time.c3
-rw-r--r--arch/mips/jazz/irq.c2
-rw-r--r--arch/mips/jazz/setup.c3
-rw-r--r--arch/mips/jmr3927/rbhma3100/irq.c2
-rw-r--r--arch/mips/jmr3927/rbhma3100/setup.c5
-rw-r--r--arch/mips/kernel/apm.c1
-rw-r--r--arch/mips/kernel/cpu-probe.c6
-rw-r--r--arch/mips/kernel/entry.S15
-rw-r--r--arch/mips/kernel/gdb-low.S2
-rw-r--r--arch/mips/kernel/genex.S8
-rw-r--r--arch/mips/kernel/head.S3
-rw-r--r--arch/mips/kernel/i8259.c2
-rw-r--r--arch/mips/kernel/irixelf.c2
-rw-r--r--arch/mips/kernel/irq-msc01.c4
-rw-r--r--arch/mips/kernel/irq-mv6434x.c2
-rw-r--r--arch/mips/kernel/irq-rm7000.c2
-rw-r--r--arch/mips/kernel/irq-rm9000.c4
-rw-r--r--arch/mips/kernel/irq.c2
-rw-r--r--arch/mips/kernel/irq_cpu.c4
-rw-r--r--arch/mips/kernel/mips-mt.c1
-rw-r--r--arch/mips/kernel/scall32-o32.S17
-rw-r--r--arch/mips/kernel/scall64-64.S4
-rw-r--r--arch/mips/kernel/scall64-n32.S4
-rw-r--r--arch/mips/kernel/scall64-o32.S4
-rw-r--r--arch/mips/kernel/setup.c2
-rw-r--r--arch/mips/kernel/smp.c35
-rw-r--r--arch/mips/kernel/smtc-asm.S1
-rw-r--r--arch/mips/kernel/smtc.c60
-rw-r--r--arch/mips/kernel/time.c5
-rw-r--r--arch/mips/kernel/traps.c24
-rw-r--r--arch/mips/kernel/vpe.c1
-rw-r--r--arch/mips/lasat/interrupt.c2
-rw-r--r--arch/mips/lasat/setup.c8
-rw-r--r--arch/mips/mips-boards/atlas/atlas_int.c2
-rw-r--r--arch/mips/mips-boards/atlas/atlas_setup.c2
-rw-r--r--arch/mips/mips-boards/generic/memory.c50
-rw-r--r--arch/mips/mips-boards/generic/time.c8
-rw-r--r--arch/mips/mips-boards/malta/malta_setup.c4
-rw-r--r--arch/mips/mips-boards/sead/sead_setup.c2
-rw-r--r--arch/mips/mips-boards/sim/Makefile3
-rw-r--r--arch/mips/mips-boards/sim/sim_IRQ.c147
-rw-r--r--arch/mips/mips-boards/sim/sim_irq.S100
-rw-r--r--arch/mips/mips-boards/sim/sim_setup.c2
-rw-r--r--arch/mips/mips-boards/sim/sim_time.c4
-rw-r--r--arch/mips/mm/c-r4k.c21
-rw-r--r--arch/mips/mm/init.c65
-rw-r--r--arch/mips/mm/pgtable.c2
-rw-r--r--arch/mips/mm/tlbex.c159
-rw-r--r--arch/mips/momentum/jaguar_atx/setup.c3
-rw-r--r--arch/mips/momentum/ocelot_3/setup.c3
-rw-r--r--arch/mips/momentum/ocelot_c/cpci-irq.c2
-rw-r--r--arch/mips/momentum/ocelot_c/setup.c3
-rw-r--r--arch/mips/momentum/ocelot_c/uart-irq.c2
-rw-r--r--arch/mips/oprofile/op_model_mipsxx.c2
-rw-r--r--arch/mips/pci/fixup-emma2rh.c1
-rw-r--r--arch/mips/pci/fixup-mpc30x.c1
-rw-r--r--arch/mips/pci/ops-emma2rh.c1
-rw-r--r--arch/mips/pci/pci-emma2rh.c1
-rw-r--r--arch/mips/philips/pnx8550/common/int.c2
-rw-r--r--arch/mips/philips/pnx8550/common/setup.c5
-rw-r--r--arch/mips/philips/pnx8550/common/time.c11
-rw-r--r--arch/mips/pmc-sierra/yosemite/setup.c3
-rw-r--r--arch/mips/qemu/q-reset.c1
-rw-r--r--arch/mips/qemu/q-setup.c4
-rw-r--r--arch/mips/sgi-ip22/ip22-eisa.c4
-rw-r--r--arch/mips/sgi-ip22/ip22-int.c10
-rw-r--r--arch/mips/sgi-ip22/ip22-time.c10
-rw-r--r--arch/mips/sgi-ip27/ip27-irq.c4
-rw-r--r--arch/mips/sgi-ip27/ip27-timer.c23
-rw-r--r--arch/mips/sgi-ip32/ip32-irq.c20
-rw-r--r--arch/mips/sgi-ip32/ip32-setup.c4
-rw-r--r--arch/mips/sibyte/bcm1480/irq.c17
-rw-r--r--arch/mips/sibyte/sb1250/irq.c18
-rw-r--r--arch/mips/sibyte/swarm/setup.c5
-rw-r--r--arch/mips/sni/irq.c2
-rw-r--r--arch/mips/sni/setup.c5
-rw-r--r--arch/mips/tx4927/common/tx4927_irq.c4
-rw-r--r--arch/mips/tx4927/common/tx4927_setup.c4
-rw-r--r--arch/mips/tx4927/toshiba_rbtx4927/toshiba_rbtx4927_irq.c4
-rw-r--r--arch/mips/tx4938/common/irq.c4
-rw-r--r--arch/mips/tx4938/common/setup.c5
-rw-r--r--arch/mips/tx4938/toshiba_rbtx4938/irq.c2
-rw-r--r--arch/mips/vr41xx/Kconfig6
-rw-r--r--arch/mips/vr41xx/casio-e55/setup.c15
-rw-r--r--arch/mips/vr41xx/common/Makefile3
-rw-r--r--arch/mips/vr41xx/common/icu.c45
-rw-r--r--arch/mips/vr41xx/common/init.c4
-rw-r--r--arch/mips/vr41xx/common/irq.c4
-rw-r--r--arch/mips/vr41xx/common/vrc4173.c581
-rw-r--r--arch/mips/vr41xx/ibm-workpad/setup.c15
-rw-r--r--arch/mips/vr41xx/nec-cmbvr4133/irq.c2
-rw-r--r--arch/parisc/kernel/pdc_cons.c2
-rw-r--r--arch/parisc/kernel/vmlinux.lds.S1
-rw-r--r--arch/powerpc/Kconfig2
-rw-r--r--arch/powerpc/configs/pmac32_defconfig112
-rw-r--r--arch/powerpc/kernel/head_64.S35
-rw-r--r--arch/powerpc/kernel/ibmebus.c2
-rw-r--r--arch/powerpc/kernel/irq.c47
-rw-r--r--arch/powerpc/kernel/legacy_serial.c13
-rw-r--r--arch/powerpc/kernel/misc_64.S2
-rw-r--r--arch/powerpc/kernel/pci_32.c36
-rw-r--r--arch/powerpc/kernel/pci_64.c36
-rw-r--r--arch/powerpc/kernel/ppc_ksyms.c2
-rw-r--r--arch/powerpc/kernel/prom_init.c36
-rw-r--r--arch/powerpc/kernel/prom_parse.c2
-rw-r--r--arch/powerpc/kernel/setup-common.c2
-rw-r--r--arch/powerpc/kernel/smp.c24
-rw-r--r--arch/powerpc/kernel/sysfs.c4
-rw-r--r--arch/powerpc/kernel/traps.c10
-rw-r--r--arch/powerpc/kernel/udbg_16550.c6
-rw-r--r--arch/powerpc/kernel/vdso32/Makefile3
-rw-r--r--arch/powerpc/kernel/vdso32/vdso32.lds.S1
-rw-r--r--arch/powerpc/kernel/vdso64/Makefile3
-rw-r--r--arch/powerpc/kernel/vdso64/vdso64.lds.S1
-rw-r--r--arch/powerpc/mm/lmb.c3
-rw-r--r--arch/powerpc/platforms/cell/interrupt.c4
-rw-r--r--arch/powerpc/platforms/cell/spider-pic.c70
-rw-r--r--arch/powerpc/platforms/cell/spu_base.c6
-rw-r--r--arch/powerpc/platforms/chrp/setup.c12
-rw-r--r--arch/powerpc/platforms/iseries/irq.c4
-rw-r--r--arch/powerpc/platforms/maple/setup.c17
-rw-r--r--arch/powerpc/platforms/powermac/backlight.c85
-rw-r--r--arch/powerpc/platforms/powermac/bootx_init.c35
-rw-r--r--arch/powerpc/platforms/powermac/cpufreq_64.c78
-rw-r--r--arch/powerpc/platforms/powermac/pci.c13
-rw-r--r--arch/powerpc/platforms/powermac/pic.c8
-rw-r--r--arch/powerpc/platforms/pseries/ras.c3
-rw-r--r--arch/powerpc/platforms/pseries/setup.c6
-rw-r--r--arch/powerpc/platforms/pseries/xics.c34
-rw-r--r--arch/powerpc/sysdev/i8259.c4
-rw-r--r--arch/powerpc/sysdev/mpic.c210
-rw-r--r--arch/ppc/kernel/ppc_ksyms.c2
-rw-r--r--arch/ppc/kernel/setup.c2
-rw-r--r--arch/ppc/kernel/vmlinux.lds.S1
-rw-r--r--arch/ppc/platforms/prep_setup.c2
-rw-r--r--arch/s390/Kconfig7
-rw-r--r--arch/s390/appldata/appldata_base.c10
-rw-r--r--arch/s390/defconfig44
-rw-r--r--arch/s390/hypfs/hypfs_diag.c2
-rw-r--r--arch/s390/kernel/Makefile4
-rw-r--r--arch/s390/kernel/compat_linux.c19
-rw-r--r--arch/s390/kernel/head31.S4
-rw-r--r--arch/s390/kernel/head64.S4
-rw-r--r--arch/s390/kernel/machine_kexec.c1
-rw-r--r--arch/s390/kernel/module.c2
-rw-r--r--arch/s390/kernel/process.c2
-rw-r--r--arch/s390/kernel/profile.c2
-rw-r--r--arch/s390/kernel/s390_ext.c2
-rw-r--r--arch/s390/kernel/setup.c46
-rw-r--r--arch/s390/kernel/time.c2
-rw-r--r--arch/s390/kernel/traps.c18
-rw-r--r--arch/s390/lib/string.c4
-rw-r--r--arch/s390/mm/cmm.c2
-rw-r--r--arch/s390/mm/fault.c2
-rw-r--r--arch/sh/kernel/setup.c2
-rw-r--r--arch/sh64/kernel/setup.c2
-rw-r--r--arch/sh64/kernel/sh_ksyms.c2
-rw-r--r--arch/sparc/kernel/devices.c25
-rw-r--r--arch/sparc/kernel/irq.c2
-rw-r--r--arch/sparc/kernel/of_device.c207
-rw-r--r--arch/sparc/kernel/prom.c9
-rw-r--r--arch/sparc/kernel/setup.c2
-rw-r--r--arch/sparc/kernel/smp.c96
-rw-r--r--arch/sparc/kernel/sparc_ksyms.c1
-rw-r--r--arch/sparc/kernel/sun4d_smp.c103
-rw-r--r--arch/sparc/kernel/sys_sparc.c18
-rw-r--r--arch/sparc/kernel/time.c74
-rw-r--r--arch/sparc/mm/io-unit.c1
-rw-r--r--arch/sparc/prom/tree.c18
-rw-r--r--arch/sparc64/Kconfig2
-rw-r--r--arch/sparc64/defconfig41
-rw-r--r--arch/sparc64/kernel/devices.c3
-rw-r--r--arch/sparc64/kernel/head.S13
-rw-r--r--arch/sparc64/kernel/of_device.c348
-rw-r--r--arch/sparc64/kernel/pci_psycho.c6
-rw-r--r--arch/sparc64/kernel/prom.c65
-rw-r--r--arch/sparc64/kernel/setup.c2
-rw-r--r--arch/sparc64/kernel/sparc64_ksyms.c11
-rw-r--r--arch/sparc64/kernel/sys_sparc.c18
-rw-r--r--arch/sparc64/kernel/time.c7
-rw-r--r--arch/sparc64/mm/fault.c3
-rw-r--r--arch/sparc64/prom/tree.c85
-rw-r--r--arch/um/Kconfig.debug9
-rw-r--r--arch/um/Makefile-x86_641
-rw-r--r--arch/um/defconfig1
-rw-r--r--arch/um/drivers/mconsole_user.c7
-rw-r--r--arch/um/drivers/net_user.c80
-rw-r--r--arch/um/drivers/tty.c31
-rw-r--r--arch/um/drivers/ubd_kern.c1
-rw-r--r--arch/um/include/irq_user.h9
-rw-r--r--arch/um/include/kern_util.h2
-rw-r--r--arch/um/include/longjmp.h4
-rw-r--r--arch/um/include/os.h74
-rw-r--r--arch/um/include/skas/mode_kern_skas.h3
-rw-r--r--arch/um/include/tt/mode_kern_tt.h3
-rw-r--r--arch/um/kernel/Makefile10
-rw-r--r--arch/um/kernel/dyn.lds.S1
-rw-r--r--arch/um/kernel/exec.c (renamed from arch/um/kernel/exec_kern.c)13
-rw-r--r--arch/um/kernel/irq.c62
-rw-r--r--arch/um/kernel/ksyms.c6
-rw-r--r--arch/um/kernel/mem.c11
-rw-r--r--arch/um/kernel/physmem.c2
-rw-r--r--arch/um/kernel/sigio.c (renamed from arch/um/kernel/sigio_kern.c)16
-rw-r--r--arch/um/kernel/signal.c (renamed from arch/um/kernel/signal_kern.c)10
-rw-r--r--arch/um/kernel/skas/mem.c24
-rw-r--r--arch/um/kernel/skas/process_kern.c2
-rw-r--r--arch/um/kernel/skas/syscall.c7
-rw-r--r--arch/um/kernel/syscall.c174
-rw-r--r--arch/um/kernel/syscall_kern.c166
-rw-r--r--arch/um/kernel/time.c (renamed from arch/um/kernel/time_kern.c)84
-rw-r--r--arch/um/kernel/trap.c (renamed from arch/um/kernel/trap_kern.c)18
-rw-r--r--arch/um/kernel/tt/exec_kern.c2
-rw-r--r--arch/um/kernel/tt/mem.c21
-rw-r--r--arch/um/kernel/tt/process_kern.c2
-rw-r--r--arch/um/kernel/tt/syscall_kern.c12
-rw-r--r--arch/um/kernel/tt/tracer.c22
-rw-r--r--arch/um/kernel/um_arch.c9
-rw-r--r--arch/um/kernel/uml.lds.S13
-rw-r--r--arch/um/kernel/vmlinux.lds.S2
-rw-r--r--arch/um/os-Linux/file.c143
-rw-r--r--arch/um/os-Linux/irq.c16
-rw-r--r--arch/um/os-Linux/process.c27
-rw-r--r--arch/um/os-Linux/sigio.c33
-rw-r--r--arch/um/os-Linux/signal.c23
-rw-r--r--arch/um/os-Linux/skas/process.c18
-rw-r--r--arch/um/os-Linux/time.c23
-rw-r--r--arch/um/os-Linux/uaccess.c3
-rw-r--r--arch/v850/kernel/setup.c6
-rw-r--r--arch/v850/kernel/v850_ksyms.c16
-rw-r--r--arch/x86_64/defconfig39
-rw-r--r--arch/x86_64/ia32/Makefile1
-rw-r--r--arch/x86_64/ia32/ia32_binfmt.c2
-rw-r--r--arch/x86_64/ia32/ia32entry.S2
-rw-r--r--arch/x86_64/ia32/ptrace32.c13
-rw-r--r--arch/x86_64/ia32/vsyscall.lds1
-rw-r--r--arch/x86_64/kernel/e820.c1
-rw-r--r--arch/x86_64/kernel/early_printk.c2
-rw-r--r--arch/x86_64/kernel/entry.S18
-rw-r--r--arch/x86_64/kernel/machine_kexec.c13
-rw-r--r--arch/x86_64/kernel/mce.c12
-rw-r--r--arch/x86_64/kernel/mce_amd.c21
-rw-r--r--arch/x86_64/kernel/pci-calgary.c83
-rw-r--r--arch/x86_64/kernel/pci-nommu.c2
-rw-r--r--arch/x86_64/kernel/pci-swiotlb.c5
-rw-r--r--arch/x86_64/kernel/setup.c2
-rw-r--r--arch/x86_64/kernel/smpboot.c4
-rw-r--r--arch/x86_64/kernel/tce.c10
-rw-r--r--arch/x86_64/kernel/time.c18
-rw-r--r--arch/x86_64/kernel/traps.c28
-rw-r--r--arch/x86_64/pci/k8-bus.c10
-rw-r--r--arch/xtensa/kernel/setup.c2
-rw-r--r--arch/xtensa/kernel/traps.c8
476 files changed, 6257 insertions, 5370 deletions
diff --git a/arch/alpha/kernel/alpha_ksyms.c b/arch/alpha/kernel/alpha_ksyms.c
index 425643762bf5..f042cc42b00f 100644
--- a/arch/alpha/kernel/alpha_ksyms.c
+++ b/arch/alpha/kernel/alpha_ksyms.c
@@ -14,6 +14,7 @@
14#include <linux/in.h> 14#include <linux/in.h>
15#include <linux/in6.h> 15#include <linux/in6.h>
16#include <linux/pci.h> 16#include <linux/pci.h>
17#include <linux/screen_info.h>
17#include <linux/tty.h> 18#include <linux/tty.h>
18#include <linux/mm.h> 19#include <linux/mm.h>
19#include <linux/delay.h> 20#include <linux/delay.h>
diff --git a/arch/alpha/kernel/err_ev7.c b/arch/alpha/kernel/err_ev7.c
index bf52ba691957..fed6b3d1b803 100644
--- a/arch/alpha/kernel/err_ev7.c
+++ b/arch/alpha/kernel/err_ev7.c
@@ -274,16 +274,14 @@ ev7_process_pal_subpacket(struct el_subpacket *header)
274struct el_subpacket_handler ev7_pal_subpacket_handler = 274struct el_subpacket_handler ev7_pal_subpacket_handler =
275 SUBPACKET_HANDLER_INIT(EL_CLASS__PAL, ev7_process_pal_subpacket); 275 SUBPACKET_HANDLER_INIT(EL_CLASS__PAL, ev7_process_pal_subpacket);
276 276
277void 277void
278ev7_register_error_handlers(void) 278ev7_register_error_handlers(void)
279{ 279{
280 int i; 280 int i;
281 281
282 for(i = 0; 282 for (i = 0; i < ARRAY_SIZE(el_ev7_pal_annotations); i++)
283 i<sizeof(el_ev7_pal_annotations)/sizeof(el_ev7_pal_annotations[1]);
284 i++) {
285 cdl_register_subpacket_annotation(&el_ev7_pal_annotations[i]); 283 cdl_register_subpacket_annotation(&el_ev7_pal_annotations[i]);
286 } 284
287 cdl_register_subpacket_handler(&ev7_pal_subpacket_handler); 285 cdl_register_subpacket_handler(&ev7_pal_subpacket_handler);
288} 286}
289 287
diff --git a/arch/alpha/kernel/osf_sys.c b/arch/alpha/kernel/osf_sys.c
index e15dcf4f3dcd..73c7622b5297 100644
--- a/arch/alpha/kernel/osf_sys.c
+++ b/arch/alpha/kernel/osf_sys.c
@@ -623,12 +623,12 @@ osf_sysinfo(int command, char __user *buf, long count)
623 long len, err = -EINVAL; 623 long len, err = -EINVAL;
624 624
625 offset = command-1; 625 offset = command-1;
626 if (offset >= sizeof(sysinfo_table)/sizeof(char *)) { 626 if (offset >= ARRAY_SIZE(sysinfo_table)) {
627 /* Digital UNIX has a few unpublished interfaces here */ 627 /* Digital UNIX has a few unpublished interfaces here */
628 printk("sysinfo(%d)", command); 628 printk("sysinfo(%d)", command);
629 goto out; 629 goto out;
630 } 630 }
631 631
632 down_read(&uts_sem); 632 down_read(&uts_sem);
633 res = sysinfo_table[offset]; 633 res = sysinfo_table[offset];
634 len = strlen(res)+1; 634 len = strlen(res)+1;
diff --git a/arch/alpha/kernel/process.c b/arch/alpha/kernel/process.c
index 41ebf51a107a..b3a8a2980365 100644
--- a/arch/alpha/kernel/process.c
+++ b/arch/alpha/kernel/process.c
@@ -25,6 +25,7 @@
25#include <linux/time.h> 25#include <linux/time.h>
26#include <linux/major.h> 26#include <linux/major.h>
27#include <linux/stat.h> 27#include <linux/stat.h>
28#include <linux/vt.h>
28#include <linux/mman.h> 29#include <linux/mman.h>
29#include <linux/elfcore.h> 30#include <linux/elfcore.h>
30#include <linux/reboot.h> 31#include <linux/reboot.h>
diff --git a/arch/alpha/kernel/setup.c b/arch/alpha/kernel/setup.c
index 254c507a608c..fd4a8fa0c93d 100644
--- a/arch/alpha/kernel/setup.c
+++ b/arch/alpha/kernel/setup.c
@@ -19,7 +19,7 @@
19#include <linux/slab.h> 19#include <linux/slab.h>
20#include <linux/user.h> 20#include <linux/user.h>
21#include <linux/a.out.h> 21#include <linux/a.out.h>
22#include <linux/tty.h> 22#include <linux/screen_info.h>
23#include <linux/delay.h> 23#include <linux/delay.h>
24#include <linux/config.h> /* CONFIG_ALPHA_LCA etc */ 24#include <linux/config.h> /* CONFIG_ALPHA_LCA etc */
25#include <linux/mc146818rtc.h> 25#include <linux/mc146818rtc.h>
@@ -114,8 +114,6 @@ struct alpha_machine_vector alpha_mv;
114int alpha_using_srm; 114int alpha_using_srm;
115#endif 115#endif
116 116
117#define N(a) (sizeof(a)/sizeof(a[0]))
118
119static struct alpha_machine_vector *get_sysvec(unsigned long, unsigned long, 117static struct alpha_machine_vector *get_sysvec(unsigned long, unsigned long,
120 unsigned long); 118 unsigned long);
121static struct alpha_machine_vector *get_sysvec_byname(const char *); 119static struct alpha_machine_vector *get_sysvec_byname(const char *);
@@ -240,7 +238,7 @@ reserve_std_resources(void)
240 standard_io_resources[0].start = RTC_PORT(0); 238 standard_io_resources[0].start = RTC_PORT(0);
241 standard_io_resources[0].end = RTC_PORT(0) + 0x10; 239 standard_io_resources[0].end = RTC_PORT(0) + 0x10;
242 240
243 for (i = 0; i < N(standard_io_resources); ++i) 241 for (i = 0; i < ARRAY_SIZE(standard_io_resources); ++i)
244 request_resource(io, standard_io_resources+i); 242 request_resource(io, standard_io_resources+i);
245} 243}
246 244
@@ -918,13 +916,13 @@ get_sysvec(unsigned long type, unsigned long variation, unsigned long cpu)
918 916
919 /* Search the system tables first... */ 917 /* Search the system tables first... */
920 vec = NULL; 918 vec = NULL;
921 if (type < N(systype_vecs)) { 919 if (type < ARRAY_SIZE(systype_vecs)) {
922 vec = systype_vecs[type]; 920 vec = systype_vecs[type];
923 } else if ((type > ST_API_BIAS) && 921 } else if ((type > ST_API_BIAS) &&
924 (type - ST_API_BIAS) < N(api_vecs)) { 922 (type - ST_API_BIAS) < ARRAY_SIZE(api_vecs)) {
925 vec = api_vecs[type - ST_API_BIAS]; 923 vec = api_vecs[type - ST_API_BIAS];
926 } else if ((type > ST_UNOFFICIAL_BIAS) && 924 } else if ((type > ST_UNOFFICIAL_BIAS) &&
927 (type - ST_UNOFFICIAL_BIAS) < N(unofficial_vecs)) { 925 (type - ST_UNOFFICIAL_BIAS) < ARRAY_SIZE(unofficial_vecs)) {
928 vec = unofficial_vecs[type - ST_UNOFFICIAL_BIAS]; 926 vec = unofficial_vecs[type - ST_UNOFFICIAL_BIAS];
929 } 927 }
930 928
@@ -938,11 +936,11 @@ get_sysvec(unsigned long type, unsigned long variation, unsigned long cpu)
938 936
939 switch (type) { 937 switch (type) {
940 case ST_DEC_ALCOR: 938 case ST_DEC_ALCOR:
941 if (member < N(alcor_indices)) 939 if (member < ARRAY_SIZE(alcor_indices))
942 vec = alcor_vecs[alcor_indices[member]]; 940 vec = alcor_vecs[alcor_indices[member]];
943 break; 941 break;
944 case ST_DEC_EB164: 942 case ST_DEC_EB164:
945 if (member < N(eb164_indices)) 943 if (member < ARRAY_SIZE(eb164_indices))
946 vec = eb164_vecs[eb164_indices[member]]; 944 vec = eb164_vecs[eb164_indices[member]];
947 /* PC164 may show as EB164 variation with EV56 CPU, 945 /* PC164 may show as EB164 variation with EV56 CPU,
948 but, since no true EB164 had anything but EV5... */ 946 but, since no true EB164 had anything but EV5... */
@@ -950,24 +948,24 @@ get_sysvec(unsigned long type, unsigned long variation, unsigned long cpu)
950 vec = &pc164_mv; 948 vec = &pc164_mv;
951 break; 949 break;
952 case ST_DEC_EB64P: 950 case ST_DEC_EB64P:
953 if (member < N(eb64p_indices)) 951 if (member < ARRAY_SIZE(eb64p_indices))
954 vec = eb64p_vecs[eb64p_indices[member]]; 952 vec = eb64p_vecs[eb64p_indices[member]];
955 break; 953 break;
956 case ST_DEC_EB66: 954 case ST_DEC_EB66:
957 if (member < N(eb66_indices)) 955 if (member < ARRAY_SIZE(eb66_indices))
958 vec = eb66_vecs[eb66_indices[member]]; 956 vec = eb66_vecs[eb66_indices[member]];
959 break; 957 break;
960 case ST_DEC_MARVEL: 958 case ST_DEC_MARVEL:
961 if (member < N(marvel_indices)) 959 if (member < ARRAY_SIZE(marvel_indices))
962 vec = marvel_vecs[marvel_indices[member]]; 960 vec = marvel_vecs[marvel_indices[member]];
963 break; 961 break;
964 case ST_DEC_TITAN: 962 case ST_DEC_TITAN:
965 vec = titan_vecs[0]; /* default */ 963 vec = titan_vecs[0]; /* default */
966 if (member < N(titan_indices)) 964 if (member < ARRAY_SIZE(titan_indices))
967 vec = titan_vecs[titan_indices[member]]; 965 vec = titan_vecs[titan_indices[member]];
968 break; 966 break;
969 case ST_DEC_TSUNAMI: 967 case ST_DEC_TSUNAMI:
970 if (member < N(tsunami_indices)) 968 if (member < ARRAY_SIZE(tsunami_indices))
971 vec = tsunami_vecs[tsunami_indices[member]]; 969 vec = tsunami_vecs[tsunami_indices[member]];
972 break; 970 break;
973 case ST_DEC_1000: 971 case ST_DEC_1000:
@@ -1039,7 +1037,7 @@ get_sysvec_byname(const char *name)
1039 1037
1040 size_t i; 1038 size_t i;
1041 1039
1042 for (i = 0; i < N(all_vecs); ++i) { 1040 for (i = 0; i < ARRAY_SIZE(all_vecs); ++i) {
1043 struct alpha_machine_vector *mv = all_vecs[i]; 1041 struct alpha_machine_vector *mv = all_vecs[i];
1044 if (strcasecmp(mv->vector_name, name) == 0) 1042 if (strcasecmp(mv->vector_name, name) == 0)
1045 return mv; 1043 return mv;
@@ -1055,13 +1053,13 @@ get_sysnames(unsigned long type, unsigned long variation, unsigned long cpu,
1055 1053
1056 /* If not in the tables, make it UNKNOWN, 1054 /* If not in the tables, make it UNKNOWN,
1057 else set type name to family */ 1055 else set type name to family */
1058 if (type < N(systype_names)) { 1056 if (type < ARRAY_SIZE(systype_names)) {
1059 *type_name = systype_names[type]; 1057 *type_name = systype_names[type];
1060 } else if ((type > ST_API_BIAS) && 1058 } else if ((type > ST_API_BIAS) &&
1061 (type - ST_API_BIAS) < N(api_names)) { 1059 (type - ST_API_BIAS) < ARRAY_SIZE(api_names)) {
1062 *type_name = api_names[type - ST_API_BIAS]; 1060 *type_name = api_names[type - ST_API_BIAS];
1063 } else if ((type > ST_UNOFFICIAL_BIAS) && 1061 } else if ((type > ST_UNOFFICIAL_BIAS) &&
1064 (type - ST_UNOFFICIAL_BIAS) < N(unofficial_names)) { 1062 (type - ST_UNOFFICIAL_BIAS) < ARRAY_SIZE(unofficial_names)) {
1065 *type_name = unofficial_names[type - ST_UNOFFICIAL_BIAS]; 1063 *type_name = unofficial_names[type - ST_UNOFFICIAL_BIAS];
1066 } else { 1064 } else {
1067 *type_name = sys_unknown; 1065 *type_name = sys_unknown;
@@ -1083,7 +1081,7 @@ get_sysnames(unsigned long type, unsigned long variation, unsigned long cpu,
1083 default: /* default to variation "0" for now */ 1081 default: /* default to variation "0" for now */
1084 break; 1082 break;
1085 case ST_DEC_EB164: 1083 case ST_DEC_EB164:
1086 if (member < N(eb164_indices)) 1084 if (member < ARRAY_SIZE(eb164_indices))
1087 *variation_name = eb164_names[eb164_indices[member]]; 1085 *variation_name = eb164_names[eb164_indices[member]];
1088 /* PC164 may show as EB164 variation, but with EV56 CPU, 1086 /* PC164 may show as EB164 variation, but with EV56 CPU,
1089 so, since no true EB164 had anything but EV5... */ 1087 so, since no true EB164 had anything but EV5... */
@@ -1091,32 +1089,32 @@ get_sysnames(unsigned long type, unsigned long variation, unsigned long cpu,
1091 *variation_name = eb164_names[1]; /* make it PC164 */ 1089 *variation_name = eb164_names[1]; /* make it PC164 */
1092 break; 1090 break;
1093 case ST_DEC_ALCOR: 1091 case ST_DEC_ALCOR:
1094 if (member < N(alcor_indices)) 1092 if (member < ARRAY_SIZE(alcor_indices))
1095 *variation_name = alcor_names[alcor_indices[member]]; 1093 *variation_name = alcor_names[alcor_indices[member]];
1096 break; 1094 break;
1097 case ST_DEC_EB64P: 1095 case ST_DEC_EB64P:
1098 if (member < N(eb64p_indices)) 1096 if (member < ARRAY_SIZE(eb64p_indices))
1099 *variation_name = eb64p_names[eb64p_indices[member]]; 1097 *variation_name = eb64p_names[eb64p_indices[member]];
1100 break; 1098 break;
1101 case ST_DEC_EB66: 1099 case ST_DEC_EB66:
1102 if (member < N(eb66_indices)) 1100 if (member < ARRAY_SIZE(eb66_indices))
1103 *variation_name = eb66_names[eb66_indices[member]]; 1101 *variation_name = eb66_names[eb66_indices[member]];
1104 break; 1102 break;
1105 case ST_DEC_MARVEL: 1103 case ST_DEC_MARVEL:
1106 if (member < N(marvel_indices)) 1104 if (member < ARRAY_SIZE(marvel_indices))
1107 *variation_name = marvel_names[marvel_indices[member]]; 1105 *variation_name = marvel_names[marvel_indices[member]];
1108 break; 1106 break;
1109 case ST_DEC_RAWHIDE: 1107 case ST_DEC_RAWHIDE:
1110 if (member < N(rawhide_indices)) 1108 if (member < ARRAY_SIZE(rawhide_indices))
1111 *variation_name = rawhide_names[rawhide_indices[member]]; 1109 *variation_name = rawhide_names[rawhide_indices[member]];
1112 break; 1110 break;
1113 case ST_DEC_TITAN: 1111 case ST_DEC_TITAN:
1114 *variation_name = titan_names[0]; /* default */ 1112 *variation_name = titan_names[0]; /* default */
1115 if (member < N(titan_indices)) 1113 if (member < ARRAY_SIZE(titan_indices))
1116 *variation_name = titan_names[titan_indices[member]]; 1114 *variation_name = titan_names[titan_indices[member]];
1117 break; 1115 break;
1118 case ST_DEC_TSUNAMI: 1116 case ST_DEC_TSUNAMI:
1119 if (member < N(tsunami_indices)) 1117 if (member < ARRAY_SIZE(tsunami_indices))
1120 *variation_name = tsunami_names[tsunami_indices[member]]; 1118 *variation_name = tsunami_names[tsunami_indices[member]];
1121 break; 1119 break;
1122 } 1120 }
@@ -1211,7 +1209,7 @@ show_cpuinfo(struct seq_file *f, void *slot)
1211 1209
1212 cpu_index = (unsigned) (cpu->type - 1); 1210 cpu_index = (unsigned) (cpu->type - 1);
1213 cpu_name = "Unknown"; 1211 cpu_name = "Unknown";
1214 if (cpu_index < N(cpu_names)) 1212 if (cpu_index < ARRAY_SIZE(cpu_names))
1215 cpu_name = cpu_names[cpu_index]; 1213 cpu_name = cpu_names[cpu_index];
1216 1214
1217 get_sysnames(hwrpb->sys_type, hwrpb->sys_variation, 1215 get_sysnames(hwrpb->sys_type, hwrpb->sys_variation,
diff --git a/arch/alpha/kernel/sys_ruffian.c b/arch/alpha/kernel/sys_ruffian.c
index 78c30decf3ff..5b99cf3cd69c 100644
--- a/arch/alpha/kernel/sys_ruffian.c
+++ b/arch/alpha/kernel/sys_ruffian.c
@@ -182,16 +182,16 @@ static unsigned long __init
182ruffian_get_bank_size(unsigned long offset) 182ruffian_get_bank_size(unsigned long offset)
183{ 183{
184 unsigned long bank_addr, bank, ret = 0; 184 unsigned long bank_addr, bank, ret = 0;
185 185
186 /* Valid offsets are: 0x800, 0x840 and 0x880 186 /* Valid offsets are: 0x800, 0x840 and 0x880
187 since Ruffian only uses three banks. */ 187 since Ruffian only uses three banks. */
188 bank_addr = (unsigned long)PYXIS_MCR + offset; 188 bank_addr = (unsigned long)PYXIS_MCR + offset;
189 bank = *(vulp)bank_addr; 189 bank = *(vulp)bank_addr;
190 190
191 /* Check BANK_ENABLE */ 191 /* Check BANK_ENABLE */
192 if (bank & 0x01) { 192 if (bank & 0x01) {
193 static unsigned long size[] __initdata = { 193 static unsigned long size[] __initdata = {
194 0x40000000UL, /* 0x00, 1G */ 194 0x40000000UL, /* 0x00, 1G */
195 0x20000000UL, /* 0x02, 512M */ 195 0x20000000UL, /* 0x02, 512M */
196 0x10000000UL, /* 0x04, 256M */ 196 0x10000000UL, /* 0x04, 256M */
197 0x08000000UL, /* 0x06, 128M */ 197 0x08000000UL, /* 0x06, 128M */
@@ -203,7 +203,7 @@ ruffian_get_bank_size(unsigned long offset)
203 }; 203 };
204 204
205 bank = (bank & 0x1e) >> 1; 205 bank = (bank & 0x1e) >> 1;
206 if (bank < sizeof(size)/sizeof(*size)) 206 if (bank < ARRAY_SIZE(size))
207 ret = size[bank]; 207 ret = size[bank];
208 } 208 }
209 209
diff --git a/arch/alpha/kernel/sys_sio.c b/arch/alpha/kernel/sys_sio.c
index cd85ef725e0e..a654014d202a 100644
--- a/arch/alpha/kernel/sys_sio.c
+++ b/arch/alpha/kernel/sys_sio.c
@@ -16,7 +16,7 @@
16#include <linux/sched.h> 16#include <linux/sched.h>
17#include <linux/pci.h> 17#include <linux/pci.h>
18#include <linux/init.h> 18#include <linux/init.h>
19#include <linux/tty.h> 19#include <linux/screen_info.h>
20 20
21#include <asm/compiler.h> 21#include <asm/compiler.h>
22#include <asm/ptrace.h> 22#include <asm/ptrace.h>
diff --git a/arch/alpha/kernel/time.c b/arch/alpha/kernel/time.c
index 50eccde2dcd8..b191cc759737 100644
--- a/arch/alpha/kernel/time.c
+++ b/arch/alpha/kernel/time.c
@@ -233,7 +233,7 @@ validate_cc_value(unsigned long cc)
233 index = cpu->type & 0xffffffff; 233 index = cpu->type & 0xffffffff;
234 234
235 /* If index out of bounds, no way to validate. */ 235 /* If index out of bounds, no way to validate. */
236 if (index >= sizeof(cpu_hz)/sizeof(cpu_hz[0])) 236 if (index >= ARRAY_SIZE(cpu_hz))
237 return cc; 237 return cc;
238 238
239 /* If index contains no data, no way to validate. */ 239 /* If index contains no data, no way to validate. */
diff --git a/arch/arm/common/gic.c b/arch/arm/common/gic.c
index f3c1ebfdd0aa..f3e020f2227f 100644
--- a/arch/arm/common/gic.c
+++ b/arch/arm/common/gic.c
@@ -95,7 +95,8 @@ static void gic_set_cpu(unsigned int irq, cpumask_t mask_val)
95} 95}
96#endif 96#endif
97 97
98static struct irqchip gic_chip = { 98static struct irq_chip gic_chip = {
99 .name = "GIC",
99 .ack = gic_ack_irq, 100 .ack = gic_ack_irq,
100 .mask = gic_mask_irq, 101 .mask = gic_mask_irq,
101 .unmask = gic_unmask_irq, 102 .unmask = gic_unmask_irq,
diff --git a/arch/arm/common/locomo.c b/arch/arm/common/locomo.c
index fbc3ab0e1011..4e0dcaef6eb2 100644
--- a/arch/arm/common/locomo.c
+++ b/arch/arm/common/locomo.c
@@ -204,7 +204,8 @@ static void locomo_unmask_irq(unsigned int irq)
204 locomo_writel(r, mapbase + LOCOMO_ICR); 204 locomo_writel(r, mapbase + LOCOMO_ICR);
205} 205}
206 206
207static struct irqchip locomo_chip = { 207static struct irq_chip locomo_chip = {
208 .name = "LOCOMO",
208 .ack = locomo_ack_irq, 209 .ack = locomo_ack_irq,
209 .mask = locomo_mask_irq, 210 .mask = locomo_mask_irq,
210 .unmask = locomo_unmask_irq, 211 .unmask = locomo_unmask_irq,
@@ -249,7 +250,8 @@ static void locomo_key_unmask_irq(unsigned int irq)
249 locomo_writel(r, mapbase + LOCOMO_KEYBOARD + LOCOMO_KIC); 250 locomo_writel(r, mapbase + LOCOMO_KEYBOARD + LOCOMO_KIC);
250} 251}
251 252
252static struct irqchip locomo_key_chip = { 253static struct irq_chip locomo_key_chip = {
254 .name = "LOCOMO-key",
253 .ack = locomo_key_ack_irq, 255 .ack = locomo_key_ack_irq,
254 .mask = locomo_key_mask_irq, 256 .mask = locomo_key_mask_irq,
255 .unmask = locomo_key_unmask_irq, 257 .unmask = locomo_key_unmask_irq,
@@ -312,7 +314,8 @@ static void locomo_gpio_unmask_irq(unsigned int irq)
312 locomo_writel(r, mapbase + LOCOMO_GIE); 314 locomo_writel(r, mapbase + LOCOMO_GIE);
313} 315}
314 316
315static struct irqchip locomo_gpio_chip = { 317static struct irq_chip locomo_gpio_chip = {
318 .name = "LOCOMO-gpio",
316 .ack = locomo_gpio_ack_irq, 319 .ack = locomo_gpio_ack_irq,
317 .mask = locomo_gpio_mask_irq, 320 .mask = locomo_gpio_mask_irq,
318 .unmask = locomo_gpio_unmask_irq, 321 .unmask = locomo_gpio_unmask_irq,
@@ -357,7 +360,8 @@ static void locomo_lt_unmask_irq(unsigned int irq)
357 locomo_writel(r, mapbase + LOCOMO_LTINT); 360 locomo_writel(r, mapbase + LOCOMO_LTINT);
358} 361}
359 362
360static struct irqchip locomo_lt_chip = { 363static struct irq_chip locomo_lt_chip = {
364 .name = "LOCOMO-lt",
361 .ack = locomo_lt_ack_irq, 365 .ack = locomo_lt_ack_irq,
362 .mask = locomo_lt_mask_irq, 366 .mask = locomo_lt_mask_irq,
363 .unmask = locomo_lt_unmask_irq, 367 .unmask = locomo_lt_unmask_irq,
@@ -418,7 +422,8 @@ static void locomo_spi_unmask_irq(unsigned int irq)
418 locomo_writel(r, mapbase + LOCOMO_SPIIE); 422 locomo_writel(r, mapbase + LOCOMO_SPIIE);
419} 423}
420 424
421static struct irqchip locomo_spi_chip = { 425static struct irq_chip locomo_spi_chip = {
426 .name = "LOCOMO-spi",
422 .ack = locomo_spi_ack_irq, 427 .ack = locomo_spi_ack_irq,
423 .mask = locomo_spi_mask_irq, 428 .mask = locomo_spi_mask_irq,
424 .unmask = locomo_spi_unmask_irq, 429 .unmask = locomo_spi_unmask_irq,
@@ -506,7 +511,7 @@ locomo_init_one_child(struct locomo *lchip, struct locomo_dev_info *info)
506 goto out; 511 goto out;
507 } 512 }
508 513
509 strncpy(dev->dev.bus_id,info->name,sizeof(dev->dev.bus_id)); 514 strncpy(dev->dev.bus_id, info->name, sizeof(dev->dev.bus_id));
510 /* 515 /*
511 * If the parent device has a DMA mask associated with it, 516 * If the parent device has a DMA mask associated with it,
512 * propagate it down to the children. 517 * propagate it down to the children.
@@ -729,7 +734,6 @@ __locomo_probe(struct device *me, struct resource *mem, int irq)
729 734
730 for (i = 0; i < ARRAY_SIZE(locomo_devices); i++) 735 for (i = 0; i < ARRAY_SIZE(locomo_devices); i++)
731 locomo_init_one_child(lchip, &locomo_devices[i]); 736 locomo_init_one_child(lchip, &locomo_devices[i]);
732
733 return 0; 737 return 0;
734 738
735 out: 739 out:
diff --git a/arch/arm/common/sa1111.c b/arch/arm/common/sa1111.c
index 1cdb26a47e1f..a331c12cead9 100644
--- a/arch/arm/common/sa1111.c
+++ b/arch/arm/common/sa1111.c
@@ -272,7 +272,8 @@ static int sa1111_wake_lowirq(unsigned int irq, unsigned int on)
272 return 0; 272 return 0;
273} 273}
274 274
275static struct irqchip sa1111_low_chip = { 275static struct irq_chip sa1111_low_chip = {
276 .name = "SA1111-l",
276 .ack = sa1111_ack_irq, 277 .ack = sa1111_ack_irq,
277 .mask = sa1111_mask_lowirq, 278 .mask = sa1111_mask_lowirq,
278 .unmask = sa1111_unmask_lowirq, 279 .unmask = sa1111_unmask_lowirq,
@@ -368,7 +369,8 @@ static int sa1111_wake_highirq(unsigned int irq, unsigned int on)
368 return 0; 369 return 0;
369} 370}
370 371
371static struct irqchip sa1111_high_chip = { 372static struct irq_chip sa1111_high_chip = {
373 .name = "SA1111-h",
372 .ack = sa1111_ack_irq, 374 .ack = sa1111_ack_irq,
373 .mask = sa1111_mask_highirq, 375 .mask = sa1111_mask_highirq,
374 .unmask = sa1111_unmask_highirq, 376 .unmask = sa1111_unmask_highirq,
diff --git a/arch/arm/common/sharpsl_pm.c b/arch/arm/common/sharpsl_pm.c
index 045e37e07330..59b5ddec480f 100644
--- a/arch/arm/common/sharpsl_pm.c
+++ b/arch/arm/common/sharpsl_pm.c
@@ -412,8 +412,10 @@ static int sharpsl_check_battery_temp(void)
412 val = get_select_val(buff); 412 val = get_select_val(buff);
413 413
414 dev_dbg(sharpsl_pm.dev, "Temperature: %d\n", val); 414 dev_dbg(sharpsl_pm.dev, "Temperature: %d\n", val);
415 if (val > sharpsl_pm.machinfo->charge_on_temp) 415 if (val > sharpsl_pm.machinfo->charge_on_temp) {
416 printk(KERN_WARNING "Not charging: temperature out of limits.\n");
416 return -1; 417 return -1;
418 }
417 419
418 return 0; 420 return 0;
419} 421}
diff --git a/arch/arm/common/vic.c b/arch/arm/common/vic.c
index a19bc4a6196d..43d278134521 100644
--- a/arch/arm/common/vic.c
+++ b/arch/arm/common/vic.c
@@ -39,7 +39,8 @@ static void vic_unmask_irq(unsigned int irq)
39 writel(1 << irq, base + VIC_INT_ENABLE); 39 writel(1 << irq, base + VIC_INT_ENABLE);
40} 40}
41 41
42static struct irqchip vic_chip = { 42static struct irq_chip vic_chip = {
43 .name = "VIC",
43 .ack = vic_mask_irq, 44 .ack = vic_mask_irq,
44 .mask = vic_mask_irq, 45 .mask = vic_mask_irq,
45 .unmask = vic_unmask_irq, 46 .unmask = vic_unmask_irq,
diff --git a/arch/arm/configs/ep93xx_defconfig b/arch/arm/configs/ep93xx_defconfig
index b69e88bbc909..2948b4589a8b 100644
--- a/arch/arm/configs/ep93xx_defconfig
+++ b/arch/arm/configs/ep93xx_defconfig
@@ -1,14 +1,18 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.17-rc2 3# Linux kernel version: 2.6.18-rc1-git9
4# Wed Apr 19 21:21:01 2006 4# Sat Jul 15 15:08:10 2006
5# 5#
6CONFIG_ARM=y 6CONFIG_ARM=y
7CONFIG_MMU=y 7CONFIG_MMU=y
8CONFIG_GENERIC_HARDIRQS=y
9CONFIG_HARDIRQS_SW_RESEND=y
10CONFIG_GENERIC_IRQ_PROBE=y
8CONFIG_RWSEM_GENERIC_SPINLOCK=y 11CONFIG_RWSEM_GENERIC_SPINLOCK=y
9CONFIG_GENERIC_HWEIGHT=y 12CONFIG_GENERIC_HWEIGHT=y
10CONFIG_GENERIC_CALIBRATE_DELAY=y 13CONFIG_GENERIC_CALIBRATE_DELAY=y
11CONFIG_VECTORS_BASE=0xffff0000 14CONFIG_VECTORS_BASE=0xffff0000
15CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
12 16
13# 17#
14# Code maturity level options 18# Code maturity level options
@@ -26,6 +30,7 @@ CONFIG_SWAP=y
26CONFIG_SYSVIPC=y 30CONFIG_SYSVIPC=y
27# CONFIG_POSIX_MQUEUE is not set 31# CONFIG_POSIX_MQUEUE is not set
28# CONFIG_BSD_PROCESS_ACCT is not set 32# CONFIG_BSD_PROCESS_ACCT is not set
33# CONFIG_TASKSTATS is not set
29CONFIG_SYSCTL=y 34CONFIG_SYSCTL=y
30# CONFIG_AUDIT is not set 35# CONFIG_AUDIT is not set
31CONFIG_IKCONFIG=y 36CONFIG_IKCONFIG=y
@@ -43,14 +48,15 @@ CONFIG_PRINTK=y
43CONFIG_BUG=y 48CONFIG_BUG=y
44CONFIG_ELF_CORE=y 49CONFIG_ELF_CORE=y
45CONFIG_BASE_FULL=y 50CONFIG_BASE_FULL=y
51CONFIG_RT_MUTEXES=y
46CONFIG_FUTEX=y 52CONFIG_FUTEX=y
47CONFIG_EPOLL=y 53CONFIG_EPOLL=y
48CONFIG_SHMEM=y 54CONFIG_SHMEM=y
49CONFIG_SLAB=y 55CONFIG_SLAB=y
56CONFIG_VM_EVENT_COUNTERS=y
50# CONFIG_TINY_SHMEM is not set 57# CONFIG_TINY_SHMEM is not set
51CONFIG_BASE_SMALL=0 58CONFIG_BASE_SMALL=0
52# CONFIG_SLOB is not set 59# CONFIG_SLOB is not set
53CONFIG_OBSOLETE_INTERMODULE=y
54 60
55# 61#
56# Loadable module support 62# Loadable module support
@@ -83,18 +89,26 @@ CONFIG_DEFAULT_IOSCHED="deadline"
83# 89#
84# System Type 90# System Type
85# 91#
92# CONFIG_ARCH_AAEC2000 is not set
93# CONFIG_ARCH_INTEGRATOR is not set
94# CONFIG_ARCH_REALVIEW is not set
95# CONFIG_ARCH_VERSATILE is not set
96# CONFIG_ARCH_AT91 is not set
86# CONFIG_ARCH_CLPS7500 is not set 97# CONFIG_ARCH_CLPS7500 is not set
87# CONFIG_ARCH_CLPS711X is not set 98# CONFIG_ARCH_CLPS711X is not set
88# CONFIG_ARCH_CO285 is not set 99# CONFIG_ARCH_CO285 is not set
89# CONFIG_ARCH_EBSA110 is not set 100# CONFIG_ARCH_EBSA110 is not set
90CONFIG_ARCH_EP93XX=y 101CONFIG_ARCH_EP93XX=y
91# CONFIG_ARCH_FOOTBRIDGE is not set 102# CONFIG_ARCH_FOOTBRIDGE is not set
92# CONFIG_ARCH_INTEGRATOR is not set 103# CONFIG_ARCH_NETX is not set
104# CONFIG_ARCH_H720X is not set
105# CONFIG_ARCH_IMX is not set
93# CONFIG_ARCH_IOP3XX is not set 106# CONFIG_ARCH_IOP3XX is not set
94# CONFIG_ARCH_IXP4XX is not set 107# CONFIG_ARCH_IXP4XX is not set
95# CONFIG_ARCH_IXP2000 is not set 108# CONFIG_ARCH_IXP2000 is not set
96# CONFIG_ARCH_IXP23XX is not set 109# CONFIG_ARCH_IXP23XX is not set
97# CONFIG_ARCH_L7200 is not set 110# CONFIG_ARCH_L7200 is not set
111# CONFIG_ARCH_PNX4008 is not set
98# CONFIG_ARCH_PXA is not set 112# CONFIG_ARCH_PXA is not set
99# CONFIG_ARCH_RPC is not set 113# CONFIG_ARCH_RPC is not set
100# CONFIG_ARCH_SA1100 is not set 114# CONFIG_ARCH_SA1100 is not set
@@ -102,20 +116,18 @@ CONFIG_ARCH_EP93XX=y
102# CONFIG_ARCH_SHARK is not set 116# CONFIG_ARCH_SHARK is not set
103# CONFIG_ARCH_LH7A40X is not set 117# CONFIG_ARCH_LH7A40X is not set
104# CONFIG_ARCH_OMAP is not set 118# CONFIG_ARCH_OMAP is not set
105# CONFIG_ARCH_VERSATILE is not set
106# CONFIG_ARCH_REALVIEW is not set
107# CONFIG_ARCH_IMX is not set
108# CONFIG_ARCH_H720X is not set
109# CONFIG_ARCH_AAEC2000 is not set
110# CONFIG_ARCH_AT91RM9200 is not set
111 119
112# 120#
113# Cirrus EP93xx Implementation Options 121# Cirrus EP93xx Implementation Options
114# 122#
123CONFIG_CRUNCH=y
115 124
116# 125#
117# EP93xx Platforms 126# EP93xx Platforms
118# 127#
128CONFIG_MACH_EDB9302=y
129CONFIG_MACH_EDB9315=y
130CONFIG_MACH_EDB9315A=y
119CONFIG_MACH_GESBC9312=y 131CONFIG_MACH_GESBC9312=y
120CONFIG_MACH_TS72XX=y 132CONFIG_MACH_TS72XX=y
121 133
@@ -166,6 +178,7 @@ CONFIG_FLATMEM=y
166CONFIG_FLAT_NODE_MEM_MAP=y 178CONFIG_FLAT_NODE_MEM_MAP=y
167# CONFIG_SPARSEMEM_STATIC is not set 179# CONFIG_SPARSEMEM_STATIC is not set
168CONFIG_SPLIT_PTLOCK_CPUS=4096 180CONFIG_SPLIT_PTLOCK_CPUS=4096
181# CONFIG_RESOURCES_64BIT is not set
169CONFIG_ALIGNMENT_TRAP=y 182CONFIG_ALIGNMENT_TRAP=y
170 183
171# 184#
@@ -233,6 +246,8 @@ CONFIG_SYN_COOKIES=y
233# CONFIG_INET_IPCOMP is not set 246# CONFIG_INET_IPCOMP is not set
234# CONFIG_INET_XFRM_TUNNEL is not set 247# CONFIG_INET_XFRM_TUNNEL is not set
235# CONFIG_INET_TUNNEL is not set 248# CONFIG_INET_TUNNEL is not set
249CONFIG_INET_XFRM_MODE_TRANSPORT=y
250CONFIG_INET_XFRM_MODE_TUNNEL=y
236CONFIG_INET_DIAG=y 251CONFIG_INET_DIAG=y
237CONFIG_INET_TCP_DIAG=y 252CONFIG_INET_TCP_DIAG=y
238# CONFIG_TCP_CONG_ADVANCED is not set 253# CONFIG_TCP_CONG_ADVANCED is not set
@@ -240,6 +255,7 @@ CONFIG_TCP_CONG_BIC=y
240# CONFIG_IPV6 is not set 255# CONFIG_IPV6 is not set
241# CONFIG_INET6_XFRM_TUNNEL is not set 256# CONFIG_INET6_XFRM_TUNNEL is not set
242# CONFIG_INET6_TUNNEL is not set 257# CONFIG_INET6_TUNNEL is not set
258# CONFIG_NETWORK_SECMARK is not set
243# CONFIG_NETFILTER is not set 259# CONFIG_NETFILTER is not set
244 260
245# 261#
@@ -294,6 +310,7 @@ CONFIG_STANDALONE=y
294CONFIG_PREVENT_FIRMWARE_BUILD=y 310CONFIG_PREVENT_FIRMWARE_BUILD=y
295# CONFIG_FW_LOADER is not set 311# CONFIG_FW_LOADER is not set
296# CONFIG_DEBUG_DRIVER is not set 312# CONFIG_DEBUG_DRIVER is not set
313# CONFIG_SYS_HYPERVISOR is not set
297 314
298# 315#
299# Connector - unified userspace <-> kernelspace linker 316# Connector - unified userspace <-> kernelspace linker
@@ -386,6 +403,8 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=1
386# 403#
387CONFIG_MTD_NAND=y 404CONFIG_MTD_NAND=y
388CONFIG_MTD_NAND_VERIFY_WRITE=y 405CONFIG_MTD_NAND_VERIFY_WRITE=y
406# CONFIG_MTD_NAND_ECC_SMC is not set
407CONFIG_MTD_NAND_TS7250=y
389CONFIG_MTD_NAND_IDS=y 408CONFIG_MTD_NAND_IDS=y
390# CONFIG_MTD_NAND_DISKONCHIP is not set 409# CONFIG_MTD_NAND_DISKONCHIP is not set
391# CONFIG_MTD_NAND_NANDSIM is not set 410# CONFIG_MTD_NAND_NANDSIM is not set
@@ -582,6 +601,7 @@ CONFIG_EP93XX_WATCHDOG=y
582# USB-based Watchdog Cards 601# USB-based Watchdog Cards
583# 602#
584# CONFIG_USBPCWATCHDOG is not set 603# CONFIG_USBPCWATCHDOG is not set
604# CONFIG_HW_RANDOM is not set
585# CONFIG_NVRAM is not set 605# CONFIG_NVRAM is not set
586# CONFIG_DTLK is not set 606# CONFIG_DTLK is not set
587# CONFIG_R3964 is not set 607# CONFIG_R3964 is not set
@@ -613,6 +633,7 @@ CONFIG_I2C_ALGOBIT=y
613# 633#
614# I2C Hardware Bus support 634# I2C Hardware Bus support
615# 635#
636# CONFIG_I2C_OCORES is not set
616# CONFIG_I2C_PARPORT_LIGHT is not set 637# CONFIG_I2C_PARPORT_LIGHT is not set
617# CONFIG_I2C_STUB is not set 638# CONFIG_I2C_STUB is not set
618# CONFIG_I2C_PCA_ISA is not set 639# CONFIG_I2C_PCA_ISA is not set
@@ -641,13 +662,13 @@ CONFIG_I2C_DEBUG_CHIP=y
641# 662#
642# Dallas's 1-wire bus 663# Dallas's 1-wire bus
643# 664#
644# CONFIG_W1 is not set
645 665
646# 666#
647# Hardware Monitoring support 667# Hardware Monitoring support
648# 668#
649CONFIG_HWMON=y 669CONFIG_HWMON=y
650# CONFIG_HWMON_VID is not set 670# CONFIG_HWMON_VID is not set
671# CONFIG_SENSORS_ABITUGURU is not set
651# CONFIG_SENSORS_ADM1021 is not set 672# CONFIG_SENSORS_ADM1021 is not set
652# CONFIG_SENSORS_ADM1025 is not set 673# CONFIG_SENSORS_ADM1025 is not set
653# CONFIG_SENSORS_ADM1026 is not set 674# CONFIG_SENSORS_ADM1026 is not set
@@ -675,8 +696,10 @@ CONFIG_HWMON=y
675# CONFIG_SENSORS_MAX1619 is not set 696# CONFIG_SENSORS_MAX1619 is not set
676# CONFIG_SENSORS_PC87360 is not set 697# CONFIG_SENSORS_PC87360 is not set
677# CONFIG_SENSORS_SMSC47M1 is not set 698# CONFIG_SENSORS_SMSC47M1 is not set
699# CONFIG_SENSORS_SMSC47M192 is not set
678# CONFIG_SENSORS_SMSC47B397 is not set 700# CONFIG_SENSORS_SMSC47B397 is not set
679# CONFIG_SENSORS_W83781D is not set 701# CONFIG_SENSORS_W83781D is not set
702# CONFIG_SENSORS_W83791D is not set
680# CONFIG_SENSORS_W83792D is not set 703# CONFIG_SENSORS_W83792D is not set
681# CONFIG_SENSORS_W83L785TS is not set 704# CONFIG_SENSORS_W83L785TS is not set
682# CONFIG_SENSORS_W83627HF is not set 705# CONFIG_SENSORS_W83627HF is not set
@@ -704,6 +727,7 @@ CONFIG_HWMON=y
704# Multimedia devices 727# Multimedia devices
705# 728#
706# CONFIG_VIDEO_DEV is not set 729# CONFIG_VIDEO_DEV is not set
730CONFIG_VIDEO_V4L2=y
707 731
708# 732#
709# Digital Video Broadcasting Devices 733# Digital Video Broadcasting Devices
@@ -714,6 +738,7 @@ CONFIG_HWMON=y
714# 738#
715# Graphics support 739# Graphics support
716# 740#
741# CONFIG_FIRMWARE_EDID is not set
717# CONFIG_FB is not set 742# CONFIG_FB is not set
718 743
719# 744#
@@ -725,7 +750,7 @@ CONFIG_HWMON=y
725# USB support 750# USB support
726# 751#
727CONFIG_USB_ARCH_HAS_HCD=y 752CONFIG_USB_ARCH_HAS_HCD=y
728# CONFIG_USB_ARCH_HAS_OHCI is not set 753CONFIG_USB_ARCH_HAS_OHCI=y
729# CONFIG_USB_ARCH_HAS_EHCI is not set 754# CONFIG_USB_ARCH_HAS_EHCI is not set
730CONFIG_USB=y 755CONFIG_USB=y
731CONFIG_USB_DEBUG=y 756CONFIG_USB_DEBUG=y
@@ -742,6 +767,9 @@ CONFIG_USB_DYNAMIC_MINORS=y
742# USB Host Controller Drivers 767# USB Host Controller Drivers
743# 768#
744# CONFIG_USB_ISP116X_HCD is not set 769# CONFIG_USB_ISP116X_HCD is not set
770CONFIG_USB_OHCI_HCD=y
771# CONFIG_USB_OHCI_BIG_ENDIAN is not set
772CONFIG_USB_OHCI_LITTLE_ENDIAN=y
745# CONFIG_USB_SL811_HCD is not set 773# CONFIG_USB_SL811_HCD is not set
746 774
747# 775#
@@ -806,6 +834,7 @@ CONFIG_USB_SERIAL_CONSOLE=y
806# CONFIG_USB_SERIAL_GENERIC is not set 834# CONFIG_USB_SERIAL_GENERIC is not set
807# CONFIG_USB_SERIAL_AIRPRIME is not set 835# CONFIG_USB_SERIAL_AIRPRIME is not set
808# CONFIG_USB_SERIAL_ANYDATA is not set 836# CONFIG_USB_SERIAL_ANYDATA is not set
837# CONFIG_USB_SERIAL_ARK3116 is not set
809# CONFIG_USB_SERIAL_BELKIN is not set 838# CONFIG_USB_SERIAL_BELKIN is not set
810# CONFIG_USB_SERIAL_WHITEHEAT is not set 839# CONFIG_USB_SERIAL_WHITEHEAT is not set
811# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set 840# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set
@@ -830,9 +859,11 @@ CONFIG_USB_SERIAL_CONSOLE=y
830CONFIG_USB_SERIAL_PL2303=y 859CONFIG_USB_SERIAL_PL2303=y
831# CONFIG_USB_SERIAL_HP4X is not set 860# CONFIG_USB_SERIAL_HP4X is not set
832# CONFIG_USB_SERIAL_SAFE is not set 861# CONFIG_USB_SERIAL_SAFE is not set
862# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set
833# CONFIG_USB_SERIAL_TI is not set 863# CONFIG_USB_SERIAL_TI is not set
834# CONFIG_USB_SERIAL_CYBERJACK is not set 864# CONFIG_USB_SERIAL_CYBERJACK is not set
835# CONFIG_USB_SERIAL_XIRCOM is not set 865# CONFIG_USB_SERIAL_XIRCOM is not set
866# CONFIG_USB_SERIAL_OPTION is not set
836# CONFIG_USB_SERIAL_OMNINET is not set 867# CONFIG_USB_SERIAL_OMNINET is not set
837 868
838# 869#
@@ -845,10 +876,12 @@ CONFIG_USB_SERIAL_PL2303=y
845# CONFIG_USB_LEGOTOWER is not set 876# CONFIG_USB_LEGOTOWER is not set
846# CONFIG_USB_LCD is not set 877# CONFIG_USB_LCD is not set
847# CONFIG_USB_LED is not set 878# CONFIG_USB_LED is not set
879# CONFIG_USB_CYPRESS_CY7C63 is not set
848# CONFIG_USB_CYTHERM is not set 880# CONFIG_USB_CYTHERM is not set
849# CONFIG_USB_PHIDGETKIT is not set 881# CONFIG_USB_PHIDGETKIT is not set
850# CONFIG_USB_PHIDGETSERVO is not set 882# CONFIG_USB_PHIDGETSERVO is not set
851# CONFIG_USB_IDMOUSE is not set 883# CONFIG_USB_IDMOUSE is not set
884# CONFIG_USB_APPLEDISPLAY is not set
852# CONFIG_USB_LD is not set 885# CONFIG_USB_LD is not set
853# CONFIG_USB_TEST is not set 886# CONFIG_USB_TEST is not set
854 887
@@ -880,17 +913,25 @@ CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
880CONFIG_RTC_INTF_SYSFS=y 913CONFIG_RTC_INTF_SYSFS=y
881CONFIG_RTC_INTF_PROC=y 914CONFIG_RTC_INTF_PROC=y
882CONFIG_RTC_INTF_DEV=y 915CONFIG_RTC_INTF_DEV=y
916# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
883 917
884# 918#
885# RTC drivers 919# RTC drivers
886# 920#
887# CONFIG_RTC_DRV_X1205 is not set 921# CONFIG_RTC_DRV_X1205 is not set
922# CONFIG_RTC_DRV_DS1307 is not set
923# CONFIG_RTC_DRV_DS1553 is not set
924# CONFIG_RTC_DRV_ISL1208 is not set
888# CONFIG_RTC_DRV_DS1672 is not set 925# CONFIG_RTC_DRV_DS1672 is not set
926# CONFIG_RTC_DRV_DS1742 is not set
889# CONFIG_RTC_DRV_PCF8563 is not set 927# CONFIG_RTC_DRV_PCF8563 is not set
928# CONFIG_RTC_DRV_PCF8583 is not set
890# CONFIG_RTC_DRV_RS5C372 is not set 929# CONFIG_RTC_DRV_RS5C372 is not set
891CONFIG_RTC_DRV_M48T86=y 930CONFIG_RTC_DRV_M48T86=y
892CONFIG_RTC_DRV_EP93XX=y 931CONFIG_RTC_DRV_EP93XX=y
932# CONFIG_RTC_DRV_PL031 is not set
893# CONFIG_RTC_DRV_TEST is not set 933# CONFIG_RTC_DRV_TEST is not set
934# CONFIG_RTC_DRV_V3020 is not set
894 935
895# 936#
896# File systems 937# File systems
@@ -910,6 +951,7 @@ CONFIG_JBD=y
910# CONFIG_MINIX_FS is not set 951# CONFIG_MINIX_FS is not set
911# CONFIG_ROMFS_FS is not set 952# CONFIG_ROMFS_FS is not set
912CONFIG_INOTIFY=y 953CONFIG_INOTIFY=y
954CONFIG_INOTIFY_USER=y
913# CONFIG_QUOTA is not set 955# CONFIG_QUOTA is not set
914CONFIG_DNOTIFY=y 956CONFIG_DNOTIFY=y
915# CONFIG_AUTOFS_FS is not set 957# CONFIG_AUTOFS_FS is not set
@@ -957,6 +999,7 @@ CONFIG_JFFS2_FS=y
957CONFIG_JFFS2_FS_DEBUG=0 999CONFIG_JFFS2_FS_DEBUG=0
958CONFIG_JFFS2_FS_WRITEBUFFER=y 1000CONFIG_JFFS2_FS_WRITEBUFFER=y
959# CONFIG_JFFS2_SUMMARY is not set 1001# CONFIG_JFFS2_SUMMARY is not set
1002# CONFIG_JFFS2_FS_XATTR is not set
960# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set 1003# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
961CONFIG_JFFS2_ZLIB=y 1004CONFIG_JFFS2_ZLIB=y
962CONFIG_JFFS2_RTIME=y 1005CONFIG_JFFS2_RTIME=y
@@ -1066,15 +1109,20 @@ CONFIG_NLS_ISO8859_1=y
1066# 1109#
1067# CONFIG_PRINTK_TIME is not set 1110# CONFIG_PRINTK_TIME is not set
1068CONFIG_MAGIC_SYSRQ=y 1111CONFIG_MAGIC_SYSRQ=y
1112# CONFIG_UNUSED_SYMBOLS is not set
1069CONFIG_DEBUG_KERNEL=y 1113CONFIG_DEBUG_KERNEL=y
1070CONFIG_LOG_BUF_SHIFT=14 1114CONFIG_LOG_BUF_SHIFT=14
1071CONFIG_DETECT_SOFTLOCKUP=y 1115CONFIG_DETECT_SOFTLOCKUP=y
1072# CONFIG_SCHEDSTATS is not set 1116# CONFIG_SCHEDSTATS is not set
1073CONFIG_DEBUG_SLAB=y 1117CONFIG_DEBUG_SLAB=y
1074# CONFIG_DEBUG_SLAB_LEAK is not set 1118# CONFIG_DEBUG_SLAB_LEAK is not set
1075CONFIG_DEBUG_MUTEXES=y 1119# CONFIG_DEBUG_RT_MUTEXES is not set
1120# CONFIG_RT_MUTEX_TESTER is not set
1076CONFIG_DEBUG_SPINLOCK=y 1121CONFIG_DEBUG_SPINLOCK=y
1122CONFIG_DEBUG_MUTEXES=y
1123# CONFIG_DEBUG_RWSEMS is not set
1077# CONFIG_DEBUG_SPINLOCK_SLEEP is not set 1124# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1125# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1078# CONFIG_DEBUG_KOBJECT is not set 1126# CONFIG_DEBUG_KOBJECT is not set
1079CONFIG_DEBUG_BUGVERBOSE=y 1127CONFIG_DEBUG_BUGVERBOSE=y
1080# CONFIG_DEBUG_INFO is not set 1128# CONFIG_DEBUG_INFO is not set
@@ -1114,3 +1162,4 @@ CONFIG_CRC32=y
1114CONFIG_LIBCRC32C=y 1162CONFIG_LIBCRC32C=y
1115CONFIG_ZLIB_INFLATE=y 1163CONFIG_ZLIB_INFLATE=y
1116CONFIG_ZLIB_DEFLATE=y 1164CONFIG_ZLIB_DEFLATE=y
1165CONFIG_PLIST=y
diff --git a/arch/arm/configs/ixp2000_defconfig b/arch/arm/configs/ixp2000_defconfig
index e6f3e4873d6c..27b3e31a8ad8 100644
--- a/arch/arm/configs/ixp2000_defconfig
+++ b/arch/arm/configs/ixp2000_defconfig
@@ -1,14 +1,18 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.17-rc2 3# Linux kernel version: 2.6.18-rc1
4# Wed Apr 19 21:12:49 2006 4# Sun Jul 9 15:28:50 2006
5# 5#
6CONFIG_ARM=y 6CONFIG_ARM=y
7CONFIG_MMU=y 7CONFIG_MMU=y
8CONFIG_GENERIC_HARDIRQS=y
9CONFIG_HARDIRQS_SW_RESEND=y
10CONFIG_GENERIC_IRQ_PROBE=y
8CONFIG_RWSEM_GENERIC_SPINLOCK=y 11CONFIG_RWSEM_GENERIC_SPINLOCK=y
9CONFIG_GENERIC_HWEIGHT=y 12CONFIG_GENERIC_HWEIGHT=y
10CONFIG_GENERIC_CALIBRATE_DELAY=y 13CONFIG_GENERIC_CALIBRATE_DELAY=y
11CONFIG_VECTORS_BASE=0xffff0000 14CONFIG_VECTORS_BASE=0xffff0000
15CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
12 16
13# 17#
14# Code maturity level options 18# Code maturity level options
@@ -43,14 +47,15 @@ CONFIG_PRINTK=y
43CONFIG_BUG=y 47CONFIG_BUG=y
44CONFIG_ELF_CORE=y 48CONFIG_ELF_CORE=y
45CONFIG_BASE_FULL=y 49CONFIG_BASE_FULL=y
50CONFIG_RT_MUTEXES=y
46CONFIG_FUTEX=y 51CONFIG_FUTEX=y
47CONFIG_EPOLL=y 52CONFIG_EPOLL=y
48CONFIG_SHMEM=y 53CONFIG_SHMEM=y
49CONFIG_SLAB=y 54CONFIG_SLAB=y
55CONFIG_VM_EVENT_COUNTERS=y
50# CONFIG_TINY_SHMEM is not set 56# CONFIG_TINY_SHMEM is not set
51CONFIG_BASE_SMALL=0 57CONFIG_BASE_SMALL=0
52# CONFIG_SLOB is not set 58# CONFIG_SLOB is not set
53CONFIG_OBSOLETE_INTERMODULE=y
54 59
55# 60#
56# Loadable module support 61# Loadable module support
@@ -83,18 +88,26 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
83# 88#
84# System Type 89# System Type
85# 90#
91# CONFIG_ARCH_AAEC2000 is not set
92# CONFIG_ARCH_INTEGRATOR is not set
93# CONFIG_ARCH_REALVIEW is not set
94# CONFIG_ARCH_VERSATILE is not set
95# CONFIG_ARCH_AT91 is not set
86# CONFIG_ARCH_CLPS7500 is not set 96# CONFIG_ARCH_CLPS7500 is not set
87# CONFIG_ARCH_CLPS711X is not set 97# CONFIG_ARCH_CLPS711X is not set
88# CONFIG_ARCH_CO285 is not set 98# CONFIG_ARCH_CO285 is not set
89# CONFIG_ARCH_EBSA110 is not set 99# CONFIG_ARCH_EBSA110 is not set
90# CONFIG_ARCH_EP93XX is not set 100# CONFIG_ARCH_EP93XX is not set
91# CONFIG_ARCH_FOOTBRIDGE is not set 101# CONFIG_ARCH_FOOTBRIDGE is not set
92# CONFIG_ARCH_INTEGRATOR is not set 102# CONFIG_ARCH_NETX is not set
103# CONFIG_ARCH_H720X is not set
104# CONFIG_ARCH_IMX is not set
93# CONFIG_ARCH_IOP3XX is not set 105# CONFIG_ARCH_IOP3XX is not set
94# CONFIG_ARCH_IXP4XX is not set 106# CONFIG_ARCH_IXP4XX is not set
95CONFIG_ARCH_IXP2000=y 107CONFIG_ARCH_IXP2000=y
96# CONFIG_ARCH_IXP23XX is not set 108# CONFIG_ARCH_IXP23XX is not set
97# CONFIG_ARCH_L7200 is not set 109# CONFIG_ARCH_L7200 is not set
110# CONFIG_ARCH_PNX4008 is not set
98# CONFIG_ARCH_PXA is not set 111# CONFIG_ARCH_PXA is not set
99# CONFIG_ARCH_RPC is not set 112# CONFIG_ARCH_RPC is not set
100# CONFIG_ARCH_SA1100 is not set 113# CONFIG_ARCH_SA1100 is not set
@@ -102,12 +115,6 @@ CONFIG_ARCH_IXP2000=y
102# CONFIG_ARCH_SHARK is not set 115# CONFIG_ARCH_SHARK is not set
103# CONFIG_ARCH_LH7A40X is not set 116# CONFIG_ARCH_LH7A40X is not set
104# CONFIG_ARCH_OMAP is not set 117# CONFIG_ARCH_OMAP is not set
105# CONFIG_ARCH_VERSATILE is not set
106# CONFIG_ARCH_REALVIEW is not set
107# CONFIG_ARCH_IMX is not set
108# CONFIG_ARCH_H720X is not set
109# CONFIG_ARCH_AAEC2000 is not set
110# CONFIG_ARCH_AT91RM9200 is not set
111CONFIG_ARCH_SUPPORTS_BIG_ENDIAN=y 118CONFIG_ARCH_SUPPORTS_BIG_ENDIAN=y
112 119
113# 120#
@@ -171,6 +178,7 @@ CONFIG_FLATMEM=y
171CONFIG_FLAT_NODE_MEM_MAP=y 178CONFIG_FLAT_NODE_MEM_MAP=y
172# CONFIG_SPARSEMEM_STATIC is not set 179# CONFIG_SPARSEMEM_STATIC is not set
173CONFIG_SPLIT_PTLOCK_CPUS=4096 180CONFIG_SPLIT_PTLOCK_CPUS=4096
181# CONFIG_RESOURCES_64BIT is not set
174CONFIG_ALIGNMENT_TRAP=y 182CONFIG_ALIGNMENT_TRAP=y
175 183
176# 184#
@@ -218,6 +226,8 @@ CONFIG_NET=y
218CONFIG_PACKET=y 226CONFIG_PACKET=y
219CONFIG_PACKET_MMAP=y 227CONFIG_PACKET_MMAP=y
220CONFIG_UNIX=y 228CONFIG_UNIX=y
229CONFIG_XFRM=y
230# CONFIG_XFRM_USER is not set
221# CONFIG_NET_KEY is not set 231# CONFIG_NET_KEY is not set
222CONFIG_INET=y 232CONFIG_INET=y
223# CONFIG_IP_MULTICAST is not set 233# CONFIG_IP_MULTICAST is not set
@@ -236,6 +246,8 @@ CONFIG_SYN_COOKIES=y
236# CONFIG_INET_IPCOMP is not set 246# CONFIG_INET_IPCOMP is not set
237# CONFIG_INET_XFRM_TUNNEL is not set 247# CONFIG_INET_XFRM_TUNNEL is not set
238# CONFIG_INET_TUNNEL is not set 248# CONFIG_INET_TUNNEL is not set
249CONFIG_INET_XFRM_MODE_TRANSPORT=y
250CONFIG_INET_XFRM_MODE_TUNNEL=y
239CONFIG_INET_DIAG=y 251CONFIG_INET_DIAG=y
240CONFIG_INET_TCP_DIAG=y 252CONFIG_INET_TCP_DIAG=y
241# CONFIG_TCP_CONG_ADVANCED is not set 253# CONFIG_TCP_CONG_ADVANCED is not set
@@ -243,6 +255,7 @@ CONFIG_TCP_CONG_BIC=y
243# CONFIG_IPV6 is not set 255# CONFIG_IPV6 is not set
244# CONFIG_INET6_XFRM_TUNNEL is not set 256# CONFIG_INET6_XFRM_TUNNEL is not set
245# CONFIG_INET6_TUNNEL is not set 257# CONFIG_INET6_TUNNEL is not set
258# CONFIG_NETWORK_SECMARK is not set
246# CONFIG_NETFILTER is not set 259# CONFIG_NETFILTER is not set
247 260
248# 261#
@@ -297,6 +310,7 @@ CONFIG_STANDALONE=y
297# CONFIG_PREVENT_FIRMWARE_BUILD is not set 310# CONFIG_PREVENT_FIRMWARE_BUILD is not set
298# CONFIG_FW_LOADER is not set 311# CONFIG_FW_LOADER is not set
299# CONFIG_DEBUG_DRIVER is not set 312# CONFIG_DEBUG_DRIVER is not set
313# CONFIG_SYS_HYPERVISOR is not set
300 314
301# 315#
302# Connector - unified userspace <-> kernelspace linker 316# Connector - unified userspace <-> kernelspace linker
@@ -525,6 +539,7 @@ CONFIG_ENP2611_MSF_NET=y
525# CONFIG_CHELSIO_T1 is not set 539# CONFIG_CHELSIO_T1 is not set
526# CONFIG_IXGB is not set 540# CONFIG_IXGB is not set
527# CONFIG_S2IO is not set 541# CONFIG_S2IO is not set
542# CONFIG_MYRI10GE is not set
528 543
529# 544#
530# Token Ring devices 545# Token Ring devices
@@ -542,7 +557,6 @@ CONFIG_ENP2611_MSF_NET=y
542CONFIG_WAN=y 557CONFIG_WAN=y
543# CONFIG_DSCC4 is not set 558# CONFIG_DSCC4 is not set
544# CONFIG_LANMEDIA is not set 559# CONFIG_LANMEDIA is not set
545# CONFIG_SYNCLINK_SYNCPPP is not set
546CONFIG_HDLC=y 560CONFIG_HDLC=y
547CONFIG_HDLC_RAW=y 561CONFIG_HDLC_RAW=y
548# CONFIG_HDLC_RAW_ETH is not set 562# CONFIG_HDLC_RAW_ETH is not set
@@ -654,6 +668,7 @@ CONFIG_IXP2000_WATCHDOG=y
654# 668#
655# CONFIG_PCIPCWATCHDOG is not set 669# CONFIG_PCIPCWATCHDOG is not set
656# CONFIG_WDTPCI is not set 670# CONFIG_WDTPCI is not set
671# CONFIG_HW_RANDOM is not set
657# CONFIG_NVRAM is not set 672# CONFIG_NVRAM is not set
658# CONFIG_DTLK is not set 673# CONFIG_DTLK is not set
659# CONFIG_R3964 is not set 674# CONFIG_R3964 is not set
@@ -697,6 +712,7 @@ CONFIG_I2C_ALGOBIT=y
697# CONFIG_I2C_PIIX4 is not set 712# CONFIG_I2C_PIIX4 is not set
698CONFIG_I2C_IXP2000=y 713CONFIG_I2C_IXP2000=y
699# CONFIG_I2C_NFORCE2 is not set 714# CONFIG_I2C_NFORCE2 is not set
715# CONFIG_I2C_OCORES is not set
700# CONFIG_I2C_PARPORT_LIGHT is not set 716# CONFIG_I2C_PARPORT_LIGHT is not set
701# CONFIG_I2C_PROSAVAGE is not set 717# CONFIG_I2C_PROSAVAGE is not set
702# CONFIG_I2C_SAVAGE4 is not set 718# CONFIG_I2C_SAVAGE4 is not set
@@ -733,13 +749,13 @@ CONFIG_SENSORS_EEPROM=y
733# 749#
734# Dallas's 1-wire bus 750# Dallas's 1-wire bus
735# 751#
736# CONFIG_W1 is not set
737 752
738# 753#
739# Hardware Monitoring support 754# Hardware Monitoring support
740# 755#
741CONFIG_HWMON=y 756CONFIG_HWMON=y
742# CONFIG_HWMON_VID is not set 757# CONFIG_HWMON_VID is not set
758# CONFIG_SENSORS_ABITUGURU is not set
743# CONFIG_SENSORS_ADM1021 is not set 759# CONFIG_SENSORS_ADM1021 is not set
744# CONFIG_SENSORS_ADM1025 is not set 760# CONFIG_SENSORS_ADM1025 is not set
745# CONFIG_SENSORS_ADM1026 is not set 761# CONFIG_SENSORS_ADM1026 is not set
@@ -768,10 +784,12 @@ CONFIG_HWMON=y
768# CONFIG_SENSORS_PC87360 is not set 784# CONFIG_SENSORS_PC87360 is not set
769# CONFIG_SENSORS_SIS5595 is not set 785# CONFIG_SENSORS_SIS5595 is not set
770# CONFIG_SENSORS_SMSC47M1 is not set 786# CONFIG_SENSORS_SMSC47M1 is not set
787# CONFIG_SENSORS_SMSC47M192 is not set
771# CONFIG_SENSORS_SMSC47B397 is not set 788# CONFIG_SENSORS_SMSC47B397 is not set
772# CONFIG_SENSORS_VIA686A is not set 789# CONFIG_SENSORS_VIA686A is not set
773# CONFIG_SENSORS_VT8231 is not set 790# CONFIG_SENSORS_VT8231 is not set
774# CONFIG_SENSORS_W83781D is not set 791# CONFIG_SENSORS_W83781D is not set
792# CONFIG_SENSORS_W83791D is not set
775# CONFIG_SENSORS_W83792D is not set 793# CONFIG_SENSORS_W83792D is not set
776# CONFIG_SENSORS_W83L785TS is not set 794# CONFIG_SENSORS_W83L785TS is not set
777# CONFIG_SENSORS_W83627HF is not set 795# CONFIG_SENSORS_W83627HF is not set
@@ -799,6 +817,7 @@ CONFIG_HWMON=y
799# Multimedia devices 817# Multimedia devices
800# 818#
801# CONFIG_VIDEO_DEV is not set 819# CONFIG_VIDEO_DEV is not set
820CONFIG_VIDEO_V4L2=y
802 821
803# 822#
804# Digital Video Broadcasting Devices 823# Digital Video Broadcasting Devices
@@ -808,6 +827,7 @@ CONFIG_HWMON=y
808# 827#
809# Graphics support 828# Graphics support
810# 829#
830# CONFIG_FIRMWARE_EDID is not set
811# CONFIG_FB is not set 831# CONFIG_FB is not set
812 832
813# 833#
@@ -866,6 +886,7 @@ CONFIG_FS_POSIX_ACL=y
866# CONFIG_MINIX_FS is not set 886# CONFIG_MINIX_FS is not set
867# CONFIG_ROMFS_FS is not set 887# CONFIG_ROMFS_FS is not set
868CONFIG_INOTIFY=y 888CONFIG_INOTIFY=y
889CONFIG_INOTIFY_USER=y
869# CONFIG_QUOTA is not set 890# CONFIG_QUOTA is not set
870CONFIG_DNOTIFY=y 891CONFIG_DNOTIFY=y
871# CONFIG_AUTOFS_FS is not set 892# CONFIG_AUTOFS_FS is not set
@@ -910,6 +931,7 @@ CONFIG_JFFS2_FS=y
910CONFIG_JFFS2_FS_DEBUG=0 931CONFIG_JFFS2_FS_DEBUG=0
911CONFIG_JFFS2_FS_WRITEBUFFER=y 932CONFIG_JFFS2_FS_WRITEBUFFER=y
912# CONFIG_JFFS2_SUMMARY is not set 933# CONFIG_JFFS2_SUMMARY is not set
934# CONFIG_JFFS2_FS_XATTR is not set
913# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set 935# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
914CONFIG_JFFS2_ZLIB=y 936CONFIG_JFFS2_ZLIB=y
915CONFIG_JFFS2_RTIME=y 937CONFIG_JFFS2_RTIME=y
@@ -939,6 +961,7 @@ CONFIG_SUNRPC=y
939# CONFIG_RPCSEC_GSS_SPKM3 is not set 961# CONFIG_RPCSEC_GSS_SPKM3 is not set
940# CONFIG_SMB_FS is not set 962# CONFIG_SMB_FS is not set
941# CONFIG_CIFS is not set 963# CONFIG_CIFS is not set
964# CONFIG_CIFS_DEBUG2 is not set
942# CONFIG_NCP_FS is not set 965# CONFIG_NCP_FS is not set
943# CONFIG_CODA_FS is not set 966# CONFIG_CODA_FS is not set
944# CONFIG_AFS_FS is not set 967# CONFIG_AFS_FS is not set
@@ -980,14 +1003,19 @@ CONFIG_MSDOS_PARTITION=y
980# 1003#
981# CONFIG_PRINTK_TIME is not set 1004# CONFIG_PRINTK_TIME is not set
982CONFIG_MAGIC_SYSRQ=y 1005CONFIG_MAGIC_SYSRQ=y
1006# CONFIG_UNUSED_SYMBOLS is not set
983CONFIG_DEBUG_KERNEL=y 1007CONFIG_DEBUG_KERNEL=y
984CONFIG_LOG_BUF_SHIFT=14 1008CONFIG_LOG_BUF_SHIFT=14
985CONFIG_DETECT_SOFTLOCKUP=y 1009CONFIG_DETECT_SOFTLOCKUP=y
986# CONFIG_SCHEDSTATS is not set 1010# CONFIG_SCHEDSTATS is not set
987# CONFIG_DEBUG_SLAB is not set 1011# CONFIG_DEBUG_SLAB is not set
988CONFIG_DEBUG_MUTEXES=y 1012# CONFIG_DEBUG_RT_MUTEXES is not set
1013# CONFIG_RT_MUTEX_TESTER is not set
989# CONFIG_DEBUG_SPINLOCK is not set 1014# CONFIG_DEBUG_SPINLOCK is not set
1015CONFIG_DEBUG_MUTEXES=y
1016# CONFIG_DEBUG_RWSEMS is not set
990# CONFIG_DEBUG_SPINLOCK_SLEEP is not set 1017# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1018# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
991# CONFIG_DEBUG_KOBJECT is not set 1019# CONFIG_DEBUG_KOBJECT is not set
992CONFIG_DEBUG_BUGVERBOSE=y 1020CONFIG_DEBUG_BUGVERBOSE=y
993# CONFIG_DEBUG_INFO is not set 1021# CONFIG_DEBUG_INFO is not set
@@ -1027,3 +1055,4 @@ CONFIG_CRC32=y
1027# CONFIG_LIBCRC32C is not set 1055# CONFIG_LIBCRC32C is not set
1028CONFIG_ZLIB_INFLATE=y 1056CONFIG_ZLIB_INFLATE=y
1029CONFIG_ZLIB_DEFLATE=y 1057CONFIG_ZLIB_DEFLATE=y
1058CONFIG_PLIST=y
diff --git a/arch/arm/configs/ixp23xx_defconfig b/arch/arm/configs/ixp23xx_defconfig
index 9ce898a6cf87..7b18997083ce 100644
--- a/arch/arm/configs/ixp23xx_defconfig
+++ b/arch/arm/configs/ixp23xx_defconfig
@@ -1,14 +1,18 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.17-rc2 3# Linux kernel version: 2.6.18-rc1
4# Wed Apr 19 21:13:50 2006 4# Sun Jul 9 14:13:35 2006
5# 5#
6CONFIG_ARM=y 6CONFIG_ARM=y
7CONFIG_MMU=y 7CONFIG_MMU=y
8CONFIG_GENERIC_HARDIRQS=y
9CONFIG_HARDIRQS_SW_RESEND=y
10CONFIG_GENERIC_IRQ_PROBE=y
8CONFIG_RWSEM_GENERIC_SPINLOCK=y 11CONFIG_RWSEM_GENERIC_SPINLOCK=y
9CONFIG_GENERIC_HWEIGHT=y 12CONFIG_GENERIC_HWEIGHT=y
10CONFIG_GENERIC_CALIBRATE_DELAY=y 13CONFIG_GENERIC_CALIBRATE_DELAY=y
11CONFIG_VECTORS_BASE=0xffff0000 14CONFIG_VECTORS_BASE=0xffff0000
15CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
12 16
13# 17#
14# Code maturity level options 18# Code maturity level options
@@ -43,14 +47,15 @@ CONFIG_PRINTK=y
43CONFIG_BUG=y 47CONFIG_BUG=y
44CONFIG_ELF_CORE=y 48CONFIG_ELF_CORE=y
45CONFIG_BASE_FULL=y 49CONFIG_BASE_FULL=y
50CONFIG_RT_MUTEXES=y
46CONFIG_FUTEX=y 51CONFIG_FUTEX=y
47CONFIG_EPOLL=y 52CONFIG_EPOLL=y
48CONFIG_SHMEM=y 53CONFIG_SHMEM=y
49CONFIG_SLAB=y 54CONFIG_SLAB=y
55CONFIG_VM_EVENT_COUNTERS=y
50# CONFIG_TINY_SHMEM is not set 56# CONFIG_TINY_SHMEM is not set
51CONFIG_BASE_SMALL=0 57CONFIG_BASE_SMALL=0
52# CONFIG_SLOB is not set 58# CONFIG_SLOB is not set
53CONFIG_OBSOLETE_INTERMODULE=y
54 59
55# 60#
56# Loadable module support 61# Loadable module support
@@ -83,18 +88,26 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
83# 88#
84# System Type 89# System Type
85# 90#
91# CONFIG_ARCH_AAEC2000 is not set
92# CONFIG_ARCH_INTEGRATOR is not set
93# CONFIG_ARCH_REALVIEW is not set
94# CONFIG_ARCH_VERSATILE is not set
95# CONFIG_ARCH_AT91 is not set
86# CONFIG_ARCH_CLPS7500 is not set 96# CONFIG_ARCH_CLPS7500 is not set
87# CONFIG_ARCH_CLPS711X is not set 97# CONFIG_ARCH_CLPS711X is not set
88# CONFIG_ARCH_CO285 is not set 98# CONFIG_ARCH_CO285 is not set
89# CONFIG_ARCH_EBSA110 is not set 99# CONFIG_ARCH_EBSA110 is not set
90# CONFIG_ARCH_EP93XX is not set 100# CONFIG_ARCH_EP93XX is not set
91# CONFIG_ARCH_FOOTBRIDGE is not set 101# CONFIG_ARCH_FOOTBRIDGE is not set
92# CONFIG_ARCH_INTEGRATOR is not set 102# CONFIG_ARCH_NETX is not set
103# CONFIG_ARCH_H720X is not set
104# CONFIG_ARCH_IMX is not set
93# CONFIG_ARCH_IOP3XX is not set 105# CONFIG_ARCH_IOP3XX is not set
94# CONFIG_ARCH_IXP4XX is not set 106# CONFIG_ARCH_IXP4XX is not set
95# CONFIG_ARCH_IXP2000 is not set 107# CONFIG_ARCH_IXP2000 is not set
96CONFIG_ARCH_IXP23XX=y 108CONFIG_ARCH_IXP23XX=y
97# CONFIG_ARCH_L7200 is not set 109# CONFIG_ARCH_L7200 is not set
110# CONFIG_ARCH_PNX4008 is not set
98# CONFIG_ARCH_PXA is not set 111# CONFIG_ARCH_PXA is not set
99# CONFIG_ARCH_RPC is not set 112# CONFIG_ARCH_RPC is not set
100# CONFIG_ARCH_SA1100 is not set 113# CONFIG_ARCH_SA1100 is not set
@@ -102,12 +115,6 @@ CONFIG_ARCH_IXP23XX=y
102# CONFIG_ARCH_SHARK is not set 115# CONFIG_ARCH_SHARK is not set
103# CONFIG_ARCH_LH7A40X is not set 116# CONFIG_ARCH_LH7A40X is not set
104# CONFIG_ARCH_OMAP is not set 117# CONFIG_ARCH_OMAP is not set
105# CONFIG_ARCH_VERSATILE is not set
106# CONFIG_ARCH_REALVIEW is not set
107# CONFIG_ARCH_IMX is not set
108# CONFIG_ARCH_H720X is not set
109# CONFIG_ARCH_AAEC2000 is not set
110# CONFIG_ARCH_AT91RM9200 is not set
111CONFIG_ARCH_SUPPORTS_BIG_ENDIAN=y 118CONFIG_ARCH_SUPPORTS_BIG_ENDIAN=y
112 119
113# 120#
@@ -165,6 +172,7 @@ CONFIG_FLATMEM=y
165CONFIG_FLAT_NODE_MEM_MAP=y 172CONFIG_FLAT_NODE_MEM_MAP=y
166# CONFIG_SPARSEMEM_STATIC is not set 173# CONFIG_SPARSEMEM_STATIC is not set
167CONFIG_SPLIT_PTLOCK_CPUS=4096 174CONFIG_SPLIT_PTLOCK_CPUS=4096
175CONFIG_RESOURCES_64BIT=y
168CONFIG_ALIGNMENT_TRAP=y 176CONFIG_ALIGNMENT_TRAP=y
169 177
170# 178#
@@ -212,6 +220,8 @@ CONFIG_NET=y
212CONFIG_PACKET=y 220CONFIG_PACKET=y
213CONFIG_PACKET_MMAP=y 221CONFIG_PACKET_MMAP=y
214CONFIG_UNIX=y 222CONFIG_UNIX=y
223CONFIG_XFRM=y
224# CONFIG_XFRM_USER is not set
215# CONFIG_NET_KEY is not set 225# CONFIG_NET_KEY is not set
216CONFIG_INET=y 226CONFIG_INET=y
217# CONFIG_IP_MULTICAST is not set 227# CONFIG_IP_MULTICAST is not set
@@ -230,6 +240,8 @@ CONFIG_SYN_COOKIES=y
230# CONFIG_INET_IPCOMP is not set 240# CONFIG_INET_IPCOMP is not set
231# CONFIG_INET_XFRM_TUNNEL is not set 241# CONFIG_INET_XFRM_TUNNEL is not set
232# CONFIG_INET_TUNNEL is not set 242# CONFIG_INET_TUNNEL is not set
243CONFIG_INET_XFRM_MODE_TRANSPORT=y
244CONFIG_INET_XFRM_MODE_TUNNEL=y
233CONFIG_INET_DIAG=y 245CONFIG_INET_DIAG=y
234CONFIG_INET_TCP_DIAG=y 246CONFIG_INET_TCP_DIAG=y
235# CONFIG_TCP_CONG_ADVANCED is not set 247# CONFIG_TCP_CONG_ADVANCED is not set
@@ -237,6 +249,7 @@ CONFIG_TCP_CONG_BIC=y
237# CONFIG_IPV6 is not set 249# CONFIG_IPV6 is not set
238# CONFIG_INET6_XFRM_TUNNEL is not set 250# CONFIG_INET6_XFRM_TUNNEL is not set
239# CONFIG_INET6_TUNNEL is not set 251# CONFIG_INET6_TUNNEL is not set
252# CONFIG_NETWORK_SECMARK is not set
240# CONFIG_NETFILTER is not set 253# CONFIG_NETFILTER is not set
241 254
242# 255#
@@ -291,6 +304,7 @@ CONFIG_STANDALONE=y
291# CONFIG_PREVENT_FIRMWARE_BUILD is not set 304# CONFIG_PREVENT_FIRMWARE_BUILD is not set
292# CONFIG_FW_LOADER is not set 305# CONFIG_FW_LOADER is not set
293# CONFIG_DEBUG_DRIVER is not set 306# CONFIG_DEBUG_DRIVER is not set
307# CONFIG_SYS_HYPERVISOR is not set
294 308
295# 309#
296# Connector - unified userspace <-> kernelspace linker 310# Connector - unified userspace <-> kernelspace linker
@@ -520,6 +534,7 @@ CONFIG_BLK_DEV_SD=y
520# CONFIG_MEGARAID_LEGACY is not set 534# CONFIG_MEGARAID_LEGACY is not set
521# CONFIG_MEGARAID_SAS is not set 535# CONFIG_MEGARAID_SAS is not set
522# CONFIG_SCSI_SATA is not set 536# CONFIG_SCSI_SATA is not set
537# CONFIG_SCSI_HPTIOP is not set
523# CONFIG_SCSI_DMX3191D is not set 538# CONFIG_SCSI_DMX3191D is not set
524# CONFIG_SCSI_FUTURE_DOMAIN is not set 539# CONFIG_SCSI_FUTURE_DOMAIN is not set
525# CONFIG_SCSI_IPS is not set 540# CONFIG_SCSI_IPS is not set
@@ -641,6 +656,7 @@ CONFIG_E1000_NAPI=y
641# CONFIG_CHELSIO_T1 is not set 656# CONFIG_CHELSIO_T1 is not set
642# CONFIG_IXGB is not set 657# CONFIG_IXGB is not set
643# CONFIG_S2IO is not set 658# CONFIG_S2IO is not set
659# CONFIG_MYRI10GE is not set
644 660
645# 661#
646# Token Ring devices 662# Token Ring devices
@@ -658,7 +674,6 @@ CONFIG_E1000_NAPI=y
658CONFIG_WAN=y 674CONFIG_WAN=y
659# CONFIG_DSCC4 is not set 675# CONFIG_DSCC4 is not set
660# CONFIG_LANMEDIA is not set 676# CONFIG_LANMEDIA is not set
661# CONFIG_SYNCLINK_SYNCPPP is not set
662CONFIG_HDLC=y 677CONFIG_HDLC=y
663CONFIG_HDLC_RAW=y 678CONFIG_HDLC_RAW=y
664# CONFIG_HDLC_RAW_ETH is not set 679# CONFIG_HDLC_RAW_ETH is not set
@@ -775,6 +790,7 @@ CONFIG_WATCHDOG=y
775# USB-based Watchdog Cards 790# USB-based Watchdog Cards
776# 791#
777# CONFIG_USBPCWATCHDOG is not set 792# CONFIG_USBPCWATCHDOG is not set
793# CONFIG_HW_RANDOM is not set
778# CONFIG_NVRAM is not set 794# CONFIG_NVRAM is not set
779# CONFIG_DTLK is not set 795# CONFIG_DTLK is not set
780# CONFIG_R3964 is not set 796# CONFIG_R3964 is not set
@@ -817,6 +833,7 @@ CONFIG_I2C_ALGOBIT=y
817# CONFIG_I2C_I810 is not set 833# CONFIG_I2C_I810 is not set
818# CONFIG_I2C_PIIX4 is not set 834# CONFIG_I2C_PIIX4 is not set
819# CONFIG_I2C_NFORCE2 is not set 835# CONFIG_I2C_NFORCE2 is not set
836# CONFIG_I2C_OCORES is not set
820# CONFIG_I2C_PARPORT_LIGHT is not set 837# CONFIG_I2C_PARPORT_LIGHT is not set
821# CONFIG_I2C_PROSAVAGE is not set 838# CONFIG_I2C_PROSAVAGE is not set
822# CONFIG_I2C_SAVAGE4 is not set 839# CONFIG_I2C_SAVAGE4 is not set
@@ -853,13 +870,13 @@ CONFIG_SENSORS_EEPROM=y
853# 870#
854# Dallas's 1-wire bus 871# Dallas's 1-wire bus
855# 872#
856# CONFIG_W1 is not set
857 873
858# 874#
859# Hardware Monitoring support 875# Hardware Monitoring support
860# 876#
861CONFIG_HWMON=y 877CONFIG_HWMON=y
862# CONFIG_HWMON_VID is not set 878# CONFIG_HWMON_VID is not set
879# CONFIG_SENSORS_ABITUGURU is not set
863# CONFIG_SENSORS_ADM1021 is not set 880# CONFIG_SENSORS_ADM1021 is not set
864# CONFIG_SENSORS_ADM1025 is not set 881# CONFIG_SENSORS_ADM1025 is not set
865# CONFIG_SENSORS_ADM1026 is not set 882# CONFIG_SENSORS_ADM1026 is not set
@@ -888,10 +905,12 @@ CONFIG_HWMON=y
888# CONFIG_SENSORS_PC87360 is not set 905# CONFIG_SENSORS_PC87360 is not set
889# CONFIG_SENSORS_SIS5595 is not set 906# CONFIG_SENSORS_SIS5595 is not set
890# CONFIG_SENSORS_SMSC47M1 is not set 907# CONFIG_SENSORS_SMSC47M1 is not set
908# CONFIG_SENSORS_SMSC47M192 is not set
891# CONFIG_SENSORS_SMSC47B397 is not set 909# CONFIG_SENSORS_SMSC47B397 is not set
892# CONFIG_SENSORS_VIA686A is not set 910# CONFIG_SENSORS_VIA686A is not set
893# CONFIG_SENSORS_VT8231 is not set 911# CONFIG_SENSORS_VT8231 is not set
894# CONFIG_SENSORS_W83781D is not set 912# CONFIG_SENSORS_W83781D is not set
913# CONFIG_SENSORS_W83791D is not set
895# CONFIG_SENSORS_W83792D is not set 914# CONFIG_SENSORS_W83792D is not set
896# CONFIG_SENSORS_W83L785TS is not set 915# CONFIG_SENSORS_W83L785TS is not set
897# CONFIG_SENSORS_W83627HF is not set 916# CONFIG_SENSORS_W83627HF is not set
@@ -919,6 +938,7 @@ CONFIG_HWMON=y
919# Multimedia devices 938# Multimedia devices
920# 939#
921# CONFIG_VIDEO_DEV is not set 940# CONFIG_VIDEO_DEV is not set
941CONFIG_VIDEO_V4L2=y
922 942
923# 943#
924# Digital Video Broadcasting Devices 944# Digital Video Broadcasting Devices
@@ -929,6 +949,7 @@ CONFIG_HWMON=y
929# 949#
930# Graphics support 950# Graphics support
931# 951#
952# CONFIG_FIRMWARE_EDID is not set
932# CONFIG_FB is not set 953# CONFIG_FB is not set
933 954
934# 955#
@@ -959,6 +980,7 @@ CONFIG_USB=y
959CONFIG_USB_EHCI_HCD=y 980CONFIG_USB_EHCI_HCD=y
960# CONFIG_USB_EHCI_SPLIT_ISO is not set 981# CONFIG_USB_EHCI_SPLIT_ISO is not set
961# CONFIG_USB_EHCI_ROOT_HUB_TT is not set 982# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
983# CONFIG_USB_EHCI_TT_NEWSCHED is not set
962# CONFIG_USB_ISP116X_HCD is not set 984# CONFIG_USB_ISP116X_HCD is not set
963CONFIG_USB_OHCI_HCD=y 985CONFIG_USB_OHCI_HCD=y
964# CONFIG_USB_OHCI_BIG_ENDIAN is not set 986# CONFIG_USB_OHCI_BIG_ENDIAN is not set
@@ -1050,10 +1072,12 @@ CONFIG_USB_MON=y
1050# CONFIG_USB_LEGOTOWER is not set 1072# CONFIG_USB_LEGOTOWER is not set
1051# CONFIG_USB_LCD is not set 1073# CONFIG_USB_LCD is not set
1052# CONFIG_USB_LED is not set 1074# CONFIG_USB_LED is not set
1075# CONFIG_USB_CY7C63 is not set
1053# CONFIG_USB_CYTHERM is not set 1076# CONFIG_USB_CYTHERM is not set
1054# CONFIG_USB_PHIDGETKIT is not set 1077# CONFIG_USB_PHIDGETKIT is not set
1055# CONFIG_USB_PHIDGETSERVO is not set 1078# CONFIG_USB_PHIDGETSERVO is not set
1056# CONFIG_USB_IDMOUSE is not set 1079# CONFIG_USB_IDMOUSE is not set
1080# CONFIG_USB_APPLEDISPLAY is not set
1057# CONFIG_USB_SISUSBVGA is not set 1081# CONFIG_USB_SISUSBVGA is not set
1058# CONFIG_USB_LD is not set 1082# CONFIG_USB_LD is not set
1059 1083
@@ -1100,6 +1124,7 @@ CONFIG_FS_POSIX_ACL=y
1100# CONFIG_MINIX_FS is not set 1124# CONFIG_MINIX_FS is not set
1101# CONFIG_ROMFS_FS is not set 1125# CONFIG_ROMFS_FS is not set
1102CONFIG_INOTIFY=y 1126CONFIG_INOTIFY=y
1127CONFIG_INOTIFY_USER=y
1103# CONFIG_QUOTA is not set 1128# CONFIG_QUOTA is not set
1104CONFIG_DNOTIFY=y 1129CONFIG_DNOTIFY=y
1105# CONFIG_AUTOFS_FS is not set 1130# CONFIG_AUTOFS_FS is not set
@@ -1146,6 +1171,7 @@ CONFIG_JFFS2_FS=y
1146CONFIG_JFFS2_FS_DEBUG=0 1171CONFIG_JFFS2_FS_DEBUG=0
1147CONFIG_JFFS2_FS_WRITEBUFFER=y 1172CONFIG_JFFS2_FS_WRITEBUFFER=y
1148# CONFIG_JFFS2_SUMMARY is not set 1173# CONFIG_JFFS2_SUMMARY is not set
1174# CONFIG_JFFS2_FS_XATTR is not set
1149# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set 1175# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
1150CONFIG_JFFS2_ZLIB=y 1176CONFIG_JFFS2_ZLIB=y
1151CONFIG_JFFS2_RTIME=y 1177CONFIG_JFFS2_RTIME=y
@@ -1175,6 +1201,7 @@ CONFIG_SUNRPC=y
1175# CONFIG_RPCSEC_GSS_SPKM3 is not set 1201# CONFIG_RPCSEC_GSS_SPKM3 is not set
1176# CONFIG_SMB_FS is not set 1202# CONFIG_SMB_FS is not set
1177# CONFIG_CIFS is not set 1203# CONFIG_CIFS is not set
1204# CONFIG_CIFS_DEBUG2 is not set
1178# CONFIG_NCP_FS is not set 1205# CONFIG_NCP_FS is not set
1179# CONFIG_CODA_FS is not set 1206# CONFIG_CODA_FS is not set
1180# CONFIG_AFS_FS is not set 1207# CONFIG_AFS_FS is not set
@@ -1255,14 +1282,19 @@ CONFIG_NLS_CODEPAGE_437=y
1255# 1282#
1256# CONFIG_PRINTK_TIME is not set 1283# CONFIG_PRINTK_TIME is not set
1257CONFIG_MAGIC_SYSRQ=y 1284CONFIG_MAGIC_SYSRQ=y
1285# CONFIG_UNUSED_SYMBOLS is not set
1258CONFIG_DEBUG_KERNEL=y 1286CONFIG_DEBUG_KERNEL=y
1259CONFIG_LOG_BUF_SHIFT=14 1287CONFIG_LOG_BUF_SHIFT=14
1260CONFIG_DETECT_SOFTLOCKUP=y 1288CONFIG_DETECT_SOFTLOCKUP=y
1261# CONFIG_SCHEDSTATS is not set 1289# CONFIG_SCHEDSTATS is not set
1262# CONFIG_DEBUG_SLAB is not set 1290# CONFIG_DEBUG_SLAB is not set
1263CONFIG_DEBUG_MUTEXES=y 1291# CONFIG_DEBUG_RT_MUTEXES is not set
1292# CONFIG_RT_MUTEX_TESTER is not set
1264# CONFIG_DEBUG_SPINLOCK is not set 1293# CONFIG_DEBUG_SPINLOCK is not set
1294CONFIG_DEBUG_MUTEXES=y
1295# CONFIG_DEBUG_RWSEMS is not set
1265# CONFIG_DEBUG_SPINLOCK_SLEEP is not set 1296# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1297# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1266# CONFIG_DEBUG_KOBJECT is not set 1298# CONFIG_DEBUG_KOBJECT is not set
1267CONFIG_DEBUG_BUGVERBOSE=y 1299CONFIG_DEBUG_BUGVERBOSE=y
1268# CONFIG_DEBUG_INFO is not set 1300# CONFIG_DEBUG_INFO is not set
@@ -1302,3 +1334,4 @@ CONFIG_CRC32=y
1302# CONFIG_LIBCRC32C is not set 1334# CONFIG_LIBCRC32C is not set
1303CONFIG_ZLIB_INFLATE=y 1335CONFIG_ZLIB_INFLATE=y
1304CONFIG_ZLIB_DEFLATE=y 1336CONFIG_ZLIB_DEFLATE=y
1337CONFIG_PLIST=y
diff --git a/arch/arm/configs/lpd270_defconfig b/arch/arm/configs/lpd270_defconfig
index d08bbe59483a..4b29e099640d 100644
--- a/arch/arm/configs/lpd270_defconfig
+++ b/arch/arm/configs/lpd270_defconfig
@@ -1,15 +1,19 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.17-git2 3# Linux kernel version: 2.6.18-rc1
4# Wed Jun 21 22:20:18 2006 4# Sun Jul 9 14:15:23 2006
5# 5#
6CONFIG_ARM=y 6CONFIG_ARM=y
7CONFIG_MMU=y 7CONFIG_MMU=y
8CONFIG_GENERIC_HARDIRQS=y
9CONFIG_HARDIRQS_SW_RESEND=y
10CONFIG_GENERIC_IRQ_PROBE=y
8CONFIG_RWSEM_GENERIC_SPINLOCK=y 11CONFIG_RWSEM_GENERIC_SPINLOCK=y
9CONFIG_GENERIC_HWEIGHT=y 12CONFIG_GENERIC_HWEIGHT=y
10CONFIG_GENERIC_CALIBRATE_DELAY=y 13CONFIG_GENERIC_CALIBRATE_DELAY=y
11CONFIG_ARCH_MTD_XIP=y 14CONFIG_ARCH_MTD_XIP=y
12CONFIG_VECTORS_BASE=0xffff0000 15CONFIG_VECTORS_BASE=0xffff0000
16CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
13 17
14# 18#
15# Code maturity level options 19# Code maturity level options
@@ -43,10 +47,12 @@ CONFIG_PRINTK=y
43CONFIG_BUG=y 47CONFIG_BUG=y
44CONFIG_ELF_CORE=y 48CONFIG_ELF_CORE=y
45CONFIG_BASE_FULL=y 49CONFIG_BASE_FULL=y
50CONFIG_RT_MUTEXES=y
46CONFIG_FUTEX=y 51CONFIG_FUTEX=y
47CONFIG_EPOLL=y 52CONFIG_EPOLL=y
48CONFIG_SHMEM=y 53CONFIG_SHMEM=y
49CONFIG_SLAB=y 54CONFIG_SLAB=y
55CONFIG_VM_EVENT_COUNTERS=y
50# CONFIG_TINY_SHMEM is not set 56# CONFIG_TINY_SHMEM is not set
51CONFIG_BASE_SMALL=0 57CONFIG_BASE_SMALL=0
52# CONFIG_SLOB is not set 58# CONFIG_SLOB is not set
@@ -85,7 +91,7 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
85# CONFIG_ARCH_INTEGRATOR is not set 91# CONFIG_ARCH_INTEGRATOR is not set
86# CONFIG_ARCH_REALVIEW is not set 92# CONFIG_ARCH_REALVIEW is not set
87# CONFIG_ARCH_VERSATILE is not set 93# CONFIG_ARCH_VERSATILE is not set
88# CONFIG_ARCH_AT91RM9200 is not set 94# CONFIG_ARCH_AT91 is not set
89# CONFIG_ARCH_CLPS7500 is not set 95# CONFIG_ARCH_CLPS7500 is not set
90# CONFIG_ARCH_CLPS711X is not set 96# CONFIG_ARCH_CLPS711X is not set
91# CONFIG_ARCH_CO285 is not set 97# CONFIG_ARCH_CO285 is not set
@@ -117,6 +123,7 @@ CONFIG_MACH_LOGICPD_PXA270=y
117# CONFIG_MACH_MAINSTONE is not set 123# CONFIG_MACH_MAINSTONE is not set
118# CONFIG_ARCH_PXA_IDP is not set 124# CONFIG_ARCH_PXA_IDP is not set
119# CONFIG_PXA_SHARPSL is not set 125# CONFIG_PXA_SHARPSL is not set
126# CONFIG_MACH_TRIZEPS4 is not set
120CONFIG_PXA27x=y 127CONFIG_PXA27x=y
121CONFIG_IWMMXT=y 128CONFIG_IWMMXT=y
122 129
@@ -161,6 +168,7 @@ CONFIG_FLATMEM=y
161CONFIG_FLAT_NODE_MEM_MAP=y 168CONFIG_FLAT_NODE_MEM_MAP=y
162# CONFIG_SPARSEMEM_STATIC is not set 169# CONFIG_SPARSEMEM_STATIC is not set
163CONFIG_SPLIT_PTLOCK_CPUS=4096 170CONFIG_SPLIT_PTLOCK_CPUS=4096
171# CONFIG_RESOURCES_64BIT is not set
164CONFIG_ALIGNMENT_TRAP=y 172CONFIG_ALIGNMENT_TRAP=y
165 173
166# 174#
@@ -194,8 +202,6 @@ CONFIG_BINFMT_ELF=y
194# Power management options 202# Power management options
195# 203#
196# CONFIG_PM is not set 204# CONFIG_PM is not set
197# CONFIG_PM_LEGACY is not set
198# CONFIG_PM_DEBUG is not set
199# CONFIG_APM is not set 205# CONFIG_APM is not set
200 206
201# 207#
@@ -293,6 +299,7 @@ CONFIG_STANDALONE=y
293CONFIG_PREVENT_FIRMWARE_BUILD=y 299CONFIG_PREVENT_FIRMWARE_BUILD=y
294# CONFIG_FW_LOADER is not set 300# CONFIG_FW_LOADER is not set
295# CONFIG_DEBUG_DRIVER is not set 301# CONFIG_DEBUG_DRIVER is not set
302# CONFIG_SYS_HYPERVISOR is not set
296 303
297# 304#
298# Connector - unified userspace <-> kernelspace linker 305# Connector - unified userspace <-> kernelspace linker
@@ -561,6 +568,7 @@ CONFIG_SERIO_LIBPS2=y
561CONFIG_VT=y 568CONFIG_VT=y
562CONFIG_VT_CONSOLE=y 569CONFIG_VT_CONSOLE=y
563CONFIG_HW_CONSOLE=y 570CONFIG_HW_CONSOLE=y
571# CONFIG_VT_HW_CONSOLE_BINDING is not set
564# CONFIG_SERIAL_NONSTANDARD is not set 572# CONFIG_SERIAL_NONSTANDARD is not set
565 573
566# 574#
@@ -588,6 +596,7 @@ CONFIG_LEGACY_PTY_COUNT=256
588# Watchdog Cards 596# Watchdog Cards
589# 597#
590# CONFIG_WATCHDOG is not set 598# CONFIG_WATCHDOG is not set
599# CONFIG_HW_RANDOM is not set
591# CONFIG_NVRAM is not set 600# CONFIG_NVRAM is not set
592# CONFIG_DTLK is not set 601# CONFIG_DTLK is not set
593# CONFIG_R3964 is not set 602# CONFIG_R3964 is not set
@@ -617,13 +626,13 @@ CONFIG_LEGACY_PTY_COUNT=256
617# 626#
618# Dallas's 1-wire bus 627# Dallas's 1-wire bus
619# 628#
620# CONFIG_W1 is not set
621 629
622# 630#
623# Hardware Monitoring support 631# Hardware Monitoring support
624# 632#
625CONFIG_HWMON=y 633CONFIG_HWMON=y
626# CONFIG_HWMON_VID is not set 634# CONFIG_HWMON_VID is not set
635# CONFIG_SENSORS_ABITUGURU is not set
627# CONFIG_SENSORS_F71805F is not set 636# CONFIG_SENSORS_F71805F is not set
628# CONFIG_HWMON_DEBUG_CHIP is not set 637# CONFIG_HWMON_DEBUG_CHIP is not set
629 638
@@ -658,12 +667,13 @@ CONFIG_VIDEO_V4L2=y
658# 667#
659# Graphics support 668# Graphics support
660# 669#
670# CONFIG_FIRMWARE_EDID is not set
661CONFIG_FB=y 671CONFIG_FB=y
662CONFIG_FB_CFB_FILLRECT=y 672CONFIG_FB_CFB_FILLRECT=y
663CONFIG_FB_CFB_COPYAREA=y 673CONFIG_FB_CFB_COPYAREA=y
664CONFIG_FB_CFB_IMAGEBLIT=y 674CONFIG_FB_CFB_IMAGEBLIT=y
665# CONFIG_FB_MACMODES is not set 675# CONFIG_FB_MACMODES is not set
666CONFIG_FB_FIRMWARE_EDID=y 676# CONFIG_FB_BACKLIGHT is not set
667# CONFIG_FB_MODE_HELPERS is not set 677# CONFIG_FB_MODE_HELPERS is not set
668# CONFIG_FB_TILEBLITTING is not set 678# CONFIG_FB_TILEBLITTING is not set
669# CONFIG_FB_S1D13XXX is not set 679# CONFIG_FB_S1D13XXX is not set
@@ -822,6 +832,7 @@ CONFIG_JFFS2_FS=y
822CONFIG_JFFS2_FS_DEBUG=0 832CONFIG_JFFS2_FS_DEBUG=0
823CONFIG_JFFS2_FS_WRITEBUFFER=y 833CONFIG_JFFS2_FS_WRITEBUFFER=y
824# CONFIG_JFFS2_SUMMARY is not set 834# CONFIG_JFFS2_SUMMARY is not set
835# CONFIG_JFFS2_FS_XATTR is not set
825# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set 836# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
826CONFIG_JFFS2_ZLIB=y 837CONFIG_JFFS2_ZLIB=y
827CONFIG_JFFS2_RTIME=y 838CONFIG_JFFS2_RTIME=y
@@ -849,6 +860,7 @@ CONFIG_SUNRPC=y
849# CONFIG_RPCSEC_GSS_SPKM3 is not set 860# CONFIG_RPCSEC_GSS_SPKM3 is not set
850# CONFIG_SMB_FS is not set 861# CONFIG_SMB_FS is not set
851# CONFIG_CIFS is not set 862# CONFIG_CIFS is not set
863# CONFIG_CIFS_DEBUG2 is not set
852# CONFIG_NCP_FS is not set 864# CONFIG_NCP_FS is not set
853# CONFIG_CODA_FS is not set 865# CONFIG_CODA_FS is not set
854# CONFIG_AFS_FS is not set 866# CONFIG_AFS_FS is not set
@@ -914,14 +926,19 @@ CONFIG_NLS_ISO8859_1=y
914# 926#
915# CONFIG_PRINTK_TIME is not set 927# CONFIG_PRINTK_TIME is not set
916CONFIG_MAGIC_SYSRQ=y 928CONFIG_MAGIC_SYSRQ=y
929# CONFIG_UNUSED_SYMBOLS is not set
917CONFIG_DEBUG_KERNEL=y 930CONFIG_DEBUG_KERNEL=y
918CONFIG_LOG_BUF_SHIFT=14 931CONFIG_LOG_BUF_SHIFT=14
919CONFIG_DETECT_SOFTLOCKUP=y 932CONFIG_DETECT_SOFTLOCKUP=y
920# CONFIG_SCHEDSTATS is not set 933# CONFIG_SCHEDSTATS is not set
921# CONFIG_DEBUG_SLAB is not set 934# CONFIG_DEBUG_SLAB is not set
922# CONFIG_DEBUG_MUTEXES is not set 935# CONFIG_DEBUG_RT_MUTEXES is not set
936# CONFIG_RT_MUTEX_TESTER is not set
923# CONFIG_DEBUG_SPINLOCK is not set 937# CONFIG_DEBUG_SPINLOCK is not set
938# CONFIG_DEBUG_MUTEXES is not set
939# CONFIG_DEBUG_RWSEMS is not set
924# CONFIG_DEBUG_SPINLOCK_SLEEP is not set 940# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
941# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
925# CONFIG_DEBUG_KOBJECT is not set 942# CONFIG_DEBUG_KOBJECT is not set
926CONFIG_DEBUG_BUGVERBOSE=y 943CONFIG_DEBUG_BUGVERBOSE=y
927CONFIG_DEBUG_INFO=y 944CONFIG_DEBUG_INFO=y
@@ -961,3 +978,4 @@ CONFIG_CRC32=y
961# CONFIG_LIBCRC32C is not set 978# CONFIG_LIBCRC32C is not set
962CONFIG_ZLIB_INFLATE=y 979CONFIG_ZLIB_INFLATE=y
963CONFIG_ZLIB_DEFLATE=y 980CONFIG_ZLIB_DEFLATE=y
981CONFIG_PLIST=y
diff --git a/arch/arm/configs/onearm_defconfig b/arch/arm/configs/onearm_defconfig
index 2b4a63be03f7..6a93e3aae106 100644
--- a/arch/arm/configs/onearm_defconfig
+++ b/arch/arm/configs/onearm_defconfig
@@ -1,14 +1,18 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.17-git10 3# Linux kernel version: 2.6.18-rc1
4# Mon Jun 26 13:45:44 2006 4# Sun Jul 9 14:16:20 2006
5# 5#
6CONFIG_ARM=y 6CONFIG_ARM=y
7CONFIG_MMU=y 7CONFIG_MMU=y
8CONFIG_GENERIC_HARDIRQS=y
9CONFIG_HARDIRQS_SW_RESEND=y
10CONFIG_GENERIC_IRQ_PROBE=y
8CONFIG_RWSEM_GENERIC_SPINLOCK=y 11CONFIG_RWSEM_GENERIC_SPINLOCK=y
9CONFIG_GENERIC_HWEIGHT=y 12CONFIG_GENERIC_HWEIGHT=y
10CONFIG_GENERIC_CALIBRATE_DELAY=y 13CONFIG_GENERIC_CALIBRATE_DELAY=y
11CONFIG_VECTORS_BASE=0xffff0000 14CONFIG_VECTORS_BASE=0xffff0000
15CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
12 16
13# 17#
14# Code maturity level options 18# Code maturity level options
@@ -42,10 +46,12 @@ CONFIG_PRINTK=y
42CONFIG_BUG=y 46CONFIG_BUG=y
43CONFIG_ELF_CORE=y 47CONFIG_ELF_CORE=y
44CONFIG_BASE_FULL=y 48CONFIG_BASE_FULL=y
49CONFIG_RT_MUTEXES=y
45CONFIG_FUTEX=y 50CONFIG_FUTEX=y
46CONFIG_EPOLL=y 51CONFIG_EPOLL=y
47CONFIG_SHMEM=y 52CONFIG_SHMEM=y
48CONFIG_SLAB=y 53CONFIG_SLAB=y
54CONFIG_VM_EVENT_COUNTERS=y
49# CONFIG_TINY_SHMEM is not set 55# CONFIG_TINY_SHMEM is not set
50CONFIG_BASE_SMALL=0 56CONFIG_BASE_SMALL=0
51# CONFIG_SLOB is not set 57# CONFIG_SLOB is not set
@@ -86,7 +92,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
86# CONFIG_ARCH_REALVIEW is not set 92# CONFIG_ARCH_REALVIEW is not set
87# CONFIG_ARCH_VERSATILE is not set 93# CONFIG_ARCH_VERSATILE is not set
88CONFIG_ARCH_AT91=y 94CONFIG_ARCH_AT91=y
89CONFIG_ARCH_AT91RM9200=y
90# CONFIG_ARCH_CLPS7500 is not set 95# CONFIG_ARCH_CLPS7500 is not set
91# CONFIG_ARCH_CLPS711X is not set 96# CONFIG_ARCH_CLPS711X is not set
92# CONFIG_ARCH_CO285 is not set 97# CONFIG_ARCH_CO285 is not set
@@ -111,8 +116,15 @@ CONFIG_ARCH_AT91RM9200=y
111# CONFIG_ARCH_OMAP is not set 116# CONFIG_ARCH_OMAP is not set
112 117
113# 118#
114# AT91RM9200 Implementations 119# Atmel AT91 System-on-Chip
120#
121
115# 122#
123# Atmel AT91 Processors
124#
125CONFIG_ARCH_AT91RM9200=y
126# CONFIG_ARCH_AT91SAM9260 is not set
127# CONFIG_ARCH_AT91SAM9261 is not set
116 128
117# 129#
118# AT91RM9200 Board Type 130# AT91RM9200 Board Type
@@ -123,12 +135,12 @@ CONFIG_MACH_ONEARM=y
123# CONFIG_MACH_CSB337 is not set 135# CONFIG_MACH_CSB337 is not set
124# CONFIG_MACH_CSB637 is not set 136# CONFIG_MACH_CSB637 is not set
125# CONFIG_MACH_CARMEVA is not set 137# CONFIG_MACH_CARMEVA is not set
126# CONFIG_MACH_KB9200 is not set
127# CONFIG_MACH_ATEB9200 is not set 138# CONFIG_MACH_ATEB9200 is not set
139# CONFIG_MACH_KB9200 is not set
128# CONFIG_MACH_KAFA is not set 140# CONFIG_MACH_KAFA is not set
129 141
130# 142#
131# AT91RM9200 Feature Selections 143# AT91 Feature Selections
132# 144#
133CONFIG_AT91_PROGRAMMABLE_CLOCKS=y 145CONFIG_AT91_PROGRAMMABLE_CLOCKS=y
134 146
@@ -186,6 +198,7 @@ CONFIG_FLATMEM=y
186CONFIG_FLAT_NODE_MEM_MAP=y 198CONFIG_FLAT_NODE_MEM_MAP=y
187# CONFIG_SPARSEMEM_STATIC is not set 199# CONFIG_SPARSEMEM_STATIC is not set
188CONFIG_SPLIT_PTLOCK_CPUS=4096 200CONFIG_SPLIT_PTLOCK_CPUS=4096
201# CONFIG_RESOURCES_64BIT is not set
189CONFIG_LEDS=y 202CONFIG_LEDS=y
190CONFIG_LEDS_TIMER=y 203CONFIG_LEDS_TIMER=y
191# CONFIG_LEDS_CPU is not set 204# CONFIG_LEDS_CPU is not set
@@ -600,6 +613,7 @@ CONFIG_AT91_WATCHDOG=y
600# USB-based Watchdog Cards 613# USB-based Watchdog Cards
601# 614#
602# CONFIG_USBPCWATCHDOG is not set 615# CONFIG_USBPCWATCHDOG is not set
616# CONFIG_HW_RANDOM is not set
603# CONFIG_NVRAM is not set 617# CONFIG_NVRAM is not set
604# CONFIG_DTLK is not set 618# CONFIG_DTLK is not set
605# CONFIG_R3964 is not set 619# CONFIG_R3964 is not set
@@ -743,6 +757,7 @@ CONFIG_VIDEO_V4L2=y
743# 757#
744# Graphics support 758# Graphics support
745# 759#
760# CONFIG_FIRMWARE_EDID is not set
746# CONFIG_FB is not set 761# CONFIG_FB is not set
747 762
748# 763#
@@ -980,6 +995,7 @@ CONFIG_SUNRPC=y
980# CONFIG_RPCSEC_GSS_SPKM3 is not set 995# CONFIG_RPCSEC_GSS_SPKM3 is not set
981# CONFIG_SMB_FS is not set 996# CONFIG_SMB_FS is not set
982# CONFIG_CIFS is not set 997# CONFIG_CIFS is not set
998# CONFIG_CIFS_DEBUG2 is not set
983# CONFIG_NCP_FS is not set 999# CONFIG_NCP_FS is not set
984# CONFIG_CODA_FS is not set 1000# CONFIG_CODA_FS is not set
985# CONFIG_AFS_FS is not set 1001# CONFIG_AFS_FS is not set
@@ -1006,14 +1022,19 @@ CONFIG_MSDOS_PARTITION=y
1006# 1022#
1007# CONFIG_PRINTK_TIME is not set 1023# CONFIG_PRINTK_TIME is not set
1008# CONFIG_MAGIC_SYSRQ is not set 1024# CONFIG_MAGIC_SYSRQ is not set
1025# CONFIG_UNUSED_SYMBOLS is not set
1009CONFIG_DEBUG_KERNEL=y 1026CONFIG_DEBUG_KERNEL=y
1010CONFIG_LOG_BUF_SHIFT=14 1027CONFIG_LOG_BUF_SHIFT=14
1011CONFIG_DETECT_SOFTLOCKUP=y 1028CONFIG_DETECT_SOFTLOCKUP=y
1012# CONFIG_SCHEDSTATS is not set 1029# CONFIG_SCHEDSTATS is not set
1013# CONFIG_DEBUG_SLAB is not set 1030# CONFIG_DEBUG_SLAB is not set
1014# CONFIG_DEBUG_MUTEXES is not set 1031# CONFIG_DEBUG_RT_MUTEXES is not set
1032# CONFIG_RT_MUTEX_TESTER is not set
1015# CONFIG_DEBUG_SPINLOCK is not set 1033# CONFIG_DEBUG_SPINLOCK is not set
1034# CONFIG_DEBUG_MUTEXES is not set
1035# CONFIG_DEBUG_RWSEMS is not set
1016# CONFIG_DEBUG_SPINLOCK_SLEEP is not set 1036# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1037# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1017# CONFIG_DEBUG_KOBJECT is not set 1038# CONFIG_DEBUG_KOBJECT is not set
1018CONFIG_DEBUG_BUGVERBOSE=y 1039CONFIG_DEBUG_BUGVERBOSE=y
1019# CONFIG_DEBUG_INFO is not set 1040# CONFIG_DEBUG_INFO is not set
@@ -1052,3 +1073,4 @@ CONFIG_DEBUG_LL=y
1052CONFIG_CRC32=y 1073CONFIG_CRC32=y
1053# CONFIG_LIBCRC32C is not set 1074# CONFIG_LIBCRC32C is not set
1054CONFIG_ZLIB_INFLATE=y 1075CONFIG_ZLIB_INFLATE=y
1076CONFIG_PLIST=y
diff --git a/arch/arm/kernel/bios32.c b/arch/arm/kernel/bios32.c
index 964faac104fb..240c448ec31c 100644
--- a/arch/arm/kernel/bios32.c
+++ b/arch/arm/kernel/bios32.c
@@ -370,17 +370,6 @@ void __devinit pcibios_fixup_bus(struct pci_bus *bus)
370 features &= ~(PCI_COMMAND_SERR | PCI_COMMAND_PARITY); 370 features &= ~(PCI_COMMAND_SERR | PCI_COMMAND_PARITY);
371 371
372 switch (dev->class >> 8) { 372 switch (dev->class >> 8) {
373#if defined(CONFIG_ISA) || defined(CONFIG_EISA)
374 case PCI_CLASS_BRIDGE_ISA:
375 case PCI_CLASS_BRIDGE_EISA:
376 /*
377 * If this device is an ISA bridge, set isa_bridge
378 * to point at this device. We will then go looking
379 * for things like keyboard, etc.
380 */
381 isa_bridge = dev;
382 break;
383#endif
384 case PCI_CLASS_BRIDGE_PCI: 373 case PCI_CLASS_BRIDGE_PCI:
385 pci_read_config_word(dev, PCI_BRIDGE_CONTROL, &status); 374 pci_read_config_word(dev, PCI_BRIDGE_CONTROL, &status);
386 status |= PCI_BRIDGE_CTL_PARITY|PCI_BRIDGE_CTL_MASTER_ABORT; 375 status |= PCI_BRIDGE_CTL_PARITY|PCI_BRIDGE_CTL_MASTER_ABORT;
diff --git a/arch/arm/kernel/ecard.c b/arch/arm/kernel/ecard.c
index b9a74a741d00..eca248d9eba4 100644
--- a/arch/arm/kernel/ecard.c
+++ b/arch/arm/kernel/ecard.c
@@ -470,7 +470,8 @@ static void ecard_irq_mask(unsigned int irqnr)
470 } 470 }
471} 471}
472 472
473static struct irqchip ecard_chip = { 473static struct irq_chip ecard_chip = {
474 .name = "ECARD",
474 .ack = ecard_irq_mask, 475 .ack = ecard_irq_mask,
475 .mask = ecard_irq_mask, 476 .mask = ecard_irq_mask,
476 .unmask = ecard_irq_unmask, 477 .unmask = ecard_irq_unmask,
diff --git a/arch/arm/kernel/head.S b/arch/arm/kernel/head.S
index 2242f5f7cb7d..4fe386eea4b4 100644
--- a/arch/arm/kernel/head.S
+++ b/arch/arm/kernel/head.S
@@ -114,9 +114,9 @@ ENTRY(secondary_startup)
114 * Use the page tables supplied from __cpu_up. 114 * Use the page tables supplied from __cpu_up.
115 */ 115 */
116 adr r4, __secondary_data 116 adr r4, __secondary_data
117 ldmia r4, {r5, r6, r13} @ address to jump to after 117 ldmia r4, {r5, r7, r13} @ address to jump to after
118 sub r4, r4, r5 @ mmu has been enabled 118 sub r4, r4, r5 @ mmu has been enabled
119 ldr r4, [r6, r4] @ get secondary_data.pgdir 119 ldr r4, [r7, r4] @ get secondary_data.pgdir
120 adr lr, __enable_mmu @ return address 120 adr lr, __enable_mmu @ return address
121 add pc, r10, #12 @ initialise processor 121 add pc, r10, #12 @ initialise processor
122 @ (return control reg) 122 @ (return control reg)
@@ -125,7 +125,7 @@ ENTRY(secondary_startup)
125 * r6 = &secondary_data 125 * r6 = &secondary_data
126 */ 126 */
127ENTRY(__secondary_switched) 127ENTRY(__secondary_switched)
128 ldr sp, [r6, #4] @ get secondary_data.stack 128 ldr sp, [r7, #4] @ get secondary_data.stack
129 mov fp, #0 129 mov fp, #0
130 b secondary_start_kernel 130 b secondary_start_kernel
131 131
diff --git a/arch/arm/kernel/irq.c b/arch/arm/kernel/irq.c
index c3d4e94ef5bf..2e1bf830fe11 100644
--- a/arch/arm/kernel/irq.c
+++ b/arch/arm/kernel/irq.c
@@ -77,6 +77,7 @@ int show_interrupts(struct seq_file *p, void *v)
77 seq_printf(p, "%3d: ", i); 77 seq_printf(p, "%3d: ", i);
78 for_each_present_cpu(cpu) 78 for_each_present_cpu(cpu)
79 seq_printf(p, "%10u ", kstat_cpu(cpu).irqs[i]); 79 seq_printf(p, "%10u ", kstat_cpu(cpu).irqs[i]);
80 seq_printf(p, " %10s", irq_desc[i].chip->name ? : "-");
80 seq_printf(p, " %s", action->name); 81 seq_printf(p, " %s", action->name);
81 for (action = action->next; action; action = action->next) 82 for (action = action->next; action; action = action->next)
82 seq_printf(p, ", %s", action->name); 83 seq_printf(p, ", %s", action->name);
@@ -167,6 +168,16 @@ void __init init_IRQ(void)
167} 168}
168 169
169#ifdef CONFIG_HOTPLUG_CPU 170#ifdef CONFIG_HOTPLUG_CPU
171
172static void route_irq(struct irqdesc *desc, unsigned int irq, unsigned int cpu)
173{
174 pr_debug("IRQ%u: moving from cpu%u to cpu%u\n", irq, desc->cpu, cpu);
175
176 spin_lock_irq(&desc->lock);
177 desc->chip->set_affinity(irq, cpumask_of_cpu(cpu));
178 spin_unlock_irq(&desc->lock);
179}
180
170/* 181/*
171 * The CPU has been marked offline. Migrate IRQs off this CPU. If 182 * The CPU has been marked offline. Migrate IRQs off this CPU. If
172 * the affinity settings do not allow other CPUs, force them onto any 183 * the affinity settings do not allow other CPUs, force them onto any
diff --git a/arch/arm/kernel/setup.c b/arch/arm/kernel/setup.c
index ed1c4d62d999..0a722e77c143 100644
--- a/arch/arm/kernel/setup.c
+++ b/arch/arm/kernel/setup.c
@@ -17,7 +17,7 @@
17#include <linux/console.h> 17#include <linux/console.h>
18#include <linux/bootmem.h> 18#include <linux/bootmem.h>
19#include <linux/seq_file.h> 19#include <linux/seq_file.h>
20#include <linux/tty.h> 20#include <linux/screen_info.h>
21#include <linux/init.h> 21#include <linux/init.h>
22#include <linux/root_dev.h> 22#include <linux/root_dev.h>
23#include <linux/cpu.h> 23#include <linux/cpu.h>
diff --git a/arch/arm/kernel/traps.c b/arch/arm/kernel/traps.c
index 35a052fc177a..4e29dd03e582 100644
--- a/arch/arm/kernel/traps.c
+++ b/arch/arm/kernel/traps.c
@@ -232,11 +232,8 @@ NORET_TYPE void die(const char *str, struct pt_regs *regs, int err)
232 bust_spinlocks(0); 232 bust_spinlocks(0);
233 spin_unlock_irq(&die_lock); 233 spin_unlock_irq(&die_lock);
234 234
235 if (panic_on_oops) { 235 if (panic_on_oops)
236 printk(KERN_EMERG "Fatal exception: panic in 5 seconds\n"); 236 panic("Fatal exception: panic_on_oops");
237 ssleep(5);
238 panic("Fatal exception");
239 }
240 237
241 do_exit(SIGSEGV); 238 do_exit(SIGSEGV);
242} 239}
diff --git a/arch/arm/mach-at91rm9200/at91rm9200.c b/arch/arm/mach-at91rm9200/at91rm9200.c
index 7e1d072bdd80..0985b1c42c7c 100644
--- a/arch/arm/mach-at91rm9200/at91rm9200.c
+++ b/arch/arm/mach-at91rm9200/at91rm9200.c
@@ -107,3 +107,48 @@ void __init at91rm9200_map_io(void)
107 iotable_init(at91rm9200_io_desc, ARRAY_SIZE(at91rm9200_io_desc)); 107 iotable_init(at91rm9200_io_desc, ARRAY_SIZE(at91rm9200_io_desc));
108} 108}
109 109
110/*
111 * The default interrupt priority levels (0 = lowest, 7 = highest).
112 */
113static unsigned int at91rm9200_default_irq_priority[NR_AIC_IRQS] __initdata = {
114 7, /* Advanced Interrupt Controller (FIQ) */
115 7, /* System Peripherals */
116 0, /* Parallel IO Controller A */
117 0, /* Parallel IO Controller B */
118 0, /* Parallel IO Controller C */
119 0, /* Parallel IO Controller D */
120 6, /* USART 0 */
121 6, /* USART 1 */
122 6, /* USART 2 */
123 6, /* USART 3 */
124 0, /* Multimedia Card Interface */
125 4, /* USB Device Port */
126 0, /* Two-Wire Interface */
127 6, /* Serial Peripheral Interface */
128 5, /* Serial Synchronous Controller 0 */
129 5, /* Serial Synchronous Controller 1 */
130 5, /* Serial Synchronous Controller 2 */
131 0, /* Timer Counter 0 */
132 0, /* Timer Counter 1 */
133 0, /* Timer Counter 2 */
134 0, /* Timer Counter 3 */
135 0, /* Timer Counter 4 */
136 0, /* Timer Counter 5 */
137 3, /* USB Host port */
138 3, /* Ethernet MAC */
139 0, /* Advanced Interrupt Controller (IRQ0) */
140 0, /* Advanced Interrupt Controller (IRQ1) */
141 0, /* Advanced Interrupt Controller (IRQ2) */
142 0, /* Advanced Interrupt Controller (IRQ3) */
143 0, /* Advanced Interrupt Controller (IRQ4) */
144 0, /* Advanced Interrupt Controller (IRQ5) */
145 0 /* Advanced Interrupt Controller (IRQ6) */
146};
147
148void __init at91rm9200_init_irq(unsigned int priority[NR_AIC_IRQS])
149{
150 if (!priority)
151 priority = at91rm9200_default_irq_priority;
152
153 at91_aic_init(priority);
154}
diff --git a/arch/arm/mach-at91rm9200/generic.h b/arch/arm/mach-at91rm9200/generic.h
index f0d969d7d874..7979d8ab7e07 100644
--- a/arch/arm/mach-at91rm9200/generic.h
+++ b/arch/arm/mach-at91rm9200/generic.h
@@ -8,13 +8,19 @@
8 * published by the Free Software Foundation. 8 * published by the Free Software Foundation.
9 */ 9 */
10 10
11void at91_gpio_irq_setup(unsigned banks); 11 /* Interrupts */
12extern void __init at91rm9200_init_irq(unsigned int priority[]);
13extern void __init at91_aic_init(unsigned int priority[]);
14extern void __init at91_gpio_irq_setup(unsigned banks);
12 15
16 /* Timer */
13struct sys_timer; 17struct sys_timer;
14extern struct sys_timer at91rm9200_timer; 18extern struct sys_timer at91rm9200_timer;
15 19
20 /* Memory Map */
16extern void __init at91rm9200_map_io(void); 21extern void __init at91rm9200_map_io(void);
17 22
23 /* Clocks */
18extern int __init at91_clock_init(unsigned long main_clock); 24extern int __init at91_clock_init(unsigned long main_clock);
19struct device; 25struct device;
20extern void __init at91_clock_associate(const char *id, struct device *dev, const char *func); 26extern void __init at91_clock_associate(const char *id, struct device *dev, const char *func);
diff --git a/arch/arm/mach-at91rm9200/gpio.c b/arch/arm/mach-at91rm9200/gpio.c
index 5783c282ae7b..cec199fd6721 100644
--- a/arch/arm/mach-at91rm9200/gpio.c
+++ b/arch/arm/mach-at91rm9200/gpio.c
@@ -327,7 +327,8 @@ static int gpio_irq_type(unsigned pin, unsigned type)
327 return (type == IRQT_BOTHEDGE) ? 0 : -EINVAL; 327 return (type == IRQT_BOTHEDGE) ? 0 : -EINVAL;
328} 328}
329 329
330static struct irqchip gpio_irqchip = { 330static struct irq_chip gpio_irqchip = {
331 .name = "GPIO",
331 .mask = gpio_irq_mask, 332 .mask = gpio_irq_mask,
332 .unmask = gpio_irq_unmask, 333 .unmask = gpio_irq_unmask,
333 .set_type = gpio_irq_type, 334 .set_type = gpio_irq_type,
diff --git a/arch/arm/mach-at91rm9200/irq.c b/arch/arm/mach-at91rm9200/irq.c
index dcd560dbcfb7..c3a5e777f9f8 100644
--- a/arch/arm/mach-at91rm9200/irq.c
+++ b/arch/arm/mach-at91rm9200/irq.c
@@ -36,58 +36,20 @@
36 36
37#include "generic.h" 37#include "generic.h"
38 38
39/*
40 * The default interrupt priority levels (0 = lowest, 7 = highest).
41 */
42static unsigned int at91rm9200_default_irq_priority[NR_AIC_IRQS] __initdata = {
43 7, /* Advanced Interrupt Controller */
44 7, /* System Peripheral */
45 0, /* Parallel IO Controller A */
46 0, /* Parallel IO Controller B */
47 0, /* Parallel IO Controller C */
48 0, /* Parallel IO Controller D */
49 6, /* USART 0 */
50 6, /* USART 1 */
51 6, /* USART 2 */
52 6, /* USART 3 */
53 0, /* Multimedia Card Interface */
54 4, /* USB Device Port */
55 0, /* Two-Wire Interface */
56 6, /* Serial Peripheral Interface */
57 5, /* Serial Synchronous Controller */
58 5, /* Serial Synchronous Controller */
59 5, /* Serial Synchronous Controller */
60 0, /* Timer Counter 0 */
61 0, /* Timer Counter 1 */
62 0, /* Timer Counter 2 */
63 0, /* Timer Counter 3 */
64 0, /* Timer Counter 4 */
65 0, /* Timer Counter 5 */
66 3, /* USB Host port */
67 3, /* Ethernet MAC */
68 0, /* Advanced Interrupt Controller */
69 0, /* Advanced Interrupt Controller */
70 0, /* Advanced Interrupt Controller */
71 0, /* Advanced Interrupt Controller */
72 0, /* Advanced Interrupt Controller */
73 0, /* Advanced Interrupt Controller */
74 0 /* Advanced Interrupt Controller */
75};
76 39
77 40static void at91_aic_mask_irq(unsigned int irq)
78static void at91rm9200_mask_irq(unsigned int irq)
79{ 41{
80 /* Disable interrupt on AIC */ 42 /* Disable interrupt on AIC */
81 at91_sys_write(AT91_AIC_IDCR, 1 << irq); 43 at91_sys_write(AT91_AIC_IDCR, 1 << irq);
82} 44}
83 45
84static void at91rm9200_unmask_irq(unsigned int irq) 46static void at91_aic_unmask_irq(unsigned int irq)
85{ 47{
86 /* Enable interrupt on AIC */ 48 /* Enable interrupt on AIC */
87 at91_sys_write(AT91_AIC_IECR, 1 << irq); 49 at91_sys_write(AT91_AIC_IECR, 1 << irq);
88} 50}
89 51
90static int at91rm9200_irq_type(unsigned irq, unsigned type) 52static int at91_aic_set_type(unsigned irq, unsigned type)
91{ 53{
92 unsigned int smr, srctype; 54 unsigned int smr, srctype;
93 55
@@ -122,7 +84,7 @@ static int at91rm9200_irq_type(unsigned irq, unsigned type)
122static u32 wakeups; 84static u32 wakeups;
123static u32 backups; 85static u32 backups;
124 86
125static int at91rm9200_irq_set_wake(unsigned irq, unsigned value) 87static int at91_aic_set_wake(unsigned irq, unsigned value)
126{ 88{
127 if (unlikely(irq >= 32)) 89 if (unlikely(irq >= 32))
128 return -EINVAL; 90 return -EINVAL;
@@ -149,28 +111,25 @@ void at91_irq_resume(void)
149} 111}
150 112
151#else 113#else
152#define at91rm9200_irq_set_wake NULL 114#define at91_aic_set_wake NULL
153#endif 115#endif
154 116
155static struct irqchip at91rm9200_irq_chip = { 117static struct irq_chip at91_aic_chip = {
156 .ack = at91rm9200_mask_irq, 118 .name = "AIC",
157 .mask = at91rm9200_mask_irq, 119 .ack = at91_aic_mask_irq,
158 .unmask = at91rm9200_unmask_irq, 120 .mask = at91_aic_mask_irq,
159 .set_type = at91rm9200_irq_type, 121 .unmask = at91_aic_unmask_irq,
160 .set_wake = at91rm9200_irq_set_wake, 122 .set_type = at91_aic_set_type,
123 .set_wake = at91_aic_set_wake,
161}; 124};
162 125
163/* 126/*
164 * Initialize the AIC interrupt controller. 127 * Initialize the AIC interrupt controller.
165 */ 128 */
166void __init at91rm9200_init_irq(unsigned int priority[NR_AIC_IRQS]) 129void __init at91_aic_init(unsigned int priority[NR_AIC_IRQS])
167{ 130{
168 unsigned int i; 131 unsigned int i;
169 132
170 /* No priority list specified for this board -> use defaults */
171 if (priority == NULL)
172 priority = at91rm9200_default_irq_priority;
173
174 /* 133 /*
175 * The IVR is used by macro get_irqnr_and_base to read and verify. 134 * The IVR is used by macro get_irqnr_and_base to read and verify.
176 * The irq number is NR_AIC_IRQS when a spurious interrupt has occurred. 135 * The irq number is NR_AIC_IRQS when a spurious interrupt has occurred.
@@ -178,10 +137,10 @@ void __init at91rm9200_init_irq(unsigned int priority[NR_AIC_IRQS])
178 for (i = 0; i < NR_AIC_IRQS; i++) { 137 for (i = 0; i < NR_AIC_IRQS; i++) {
179 /* Put irq number in Source Vector Register: */ 138 /* Put irq number in Source Vector Register: */
180 at91_sys_write(AT91_AIC_SVR(i), i); 139 at91_sys_write(AT91_AIC_SVR(i), i);
181 /* Store the Source Mode Register as defined in table above */ 140 /* Active Low interrupt, with the specified priority */
182 at91_sys_write(AT91_AIC_SMR(i), AT91_AIC_SRCTYPE_LOW | priority[i]); 141 at91_sys_write(AT91_AIC_SMR(i), AT91_AIC_SRCTYPE_LOW | priority[i]);
183 142
184 set_irq_chip(i, &at91rm9200_irq_chip); 143 set_irq_chip(i, &at91_aic_chip);
185 set_irq_handler(i, do_level_IRQ); 144 set_irq_handler(i, do_level_IRQ);
186 set_irq_flags(i, IRQF_VALID | IRQF_PROBE); 145 set_irq_flags(i, IRQF_VALID | IRQF_PROBE);
187 146
diff --git a/arch/arm/mach-footbridge/cats-hw.c b/arch/arm/mach-footbridge/cats-hw.c
index 5b64d5c5b967..ef6ccc8993e9 100644
--- a/arch/arm/mach-footbridge/cats-hw.c
+++ b/arch/arm/mach-footbridge/cats-hw.c
@@ -8,7 +8,7 @@
8#include <linux/ioport.h> 8#include <linux/ioport.h>
9#include <linux/kernel.h> 9#include <linux/kernel.h>
10#include <linux/init.h> 10#include <linux/init.h>
11#include <linux/tty.h> 11#include <linux/screen_info.h>
12 12
13#include <asm/hardware/dec21285.h> 13#include <asm/hardware/dec21285.h>
14#include <asm/io.h> 14#include <asm/io.h>
diff --git a/arch/arm/mach-imx/irq.c b/arch/arm/mach-imx/irq.c
index a5de5f1da9f2..2688bd82c2a2 100644
--- a/arch/arm/mach-imx/irq.c
+++ b/arch/arm/mach-imx/irq.c
@@ -204,13 +204,15 @@ imx_gpiod_demux_handler(unsigned int irq_unused, struct irqdesc *desc,
204 imx_gpio_handler(mask, irq, desc, regs); 204 imx_gpio_handler(mask, irq, desc, regs);
205} 205}
206 206
207static struct irqchip imx_internal_chip = { 207static struct irq_chip imx_internal_chip = {
208 .name = "MPU",
208 .ack = imx_mask_irq, 209 .ack = imx_mask_irq,
209 .mask = imx_mask_irq, 210 .mask = imx_mask_irq,
210 .unmask = imx_unmask_irq, 211 .unmask = imx_unmask_irq,
211}; 212};
212 213
213static struct irqchip imx_gpio_chip = { 214static struct irq_chip imx_gpio_chip = {
215 .name = "GPIO",
214 .ack = imx_gpio_ack_irq, 216 .ack = imx_gpio_ack_irq,
215 .mask = imx_gpio_mask_irq, 217 .mask = imx_gpio_mask_irq,
216 .unmask = imx_gpio_unmask_irq, 218 .unmask = imx_gpio_unmask_irq,
diff --git a/arch/arm/mach-integrator/integrator_ap.c b/arch/arm/mach-integrator/integrator_ap.c
index 6d65c96ebfd2..191c57a3b997 100644
--- a/arch/arm/mach-integrator/integrator_ap.c
+++ b/arch/arm/mach-integrator/integrator_ap.c
@@ -161,7 +161,8 @@ static void sc_unmask_irq(unsigned int irq)
161 writel(1 << irq, VA_IC_BASE + IRQ_ENABLE_SET); 161 writel(1 << irq, VA_IC_BASE + IRQ_ENABLE_SET);
162} 162}
163 163
164static struct irqchip sc_chip = { 164static struct irq_chip sc_chip = {
165 .name = "SC",
165 .ack = sc_mask_irq, 166 .ack = sc_mask_irq,
166 .mask = sc_mask_irq, 167 .mask = sc_mask_irq,
167 .unmask = sc_unmask_irq, 168 .unmask = sc_unmask_irq,
diff --git a/arch/arm/mach-integrator/integrator_cp.c b/arch/arm/mach-integrator/integrator_cp.c
index 9f55f5ae1044..678b6ba2b463 100644
--- a/arch/arm/mach-integrator/integrator_cp.c
+++ b/arch/arm/mach-integrator/integrator_cp.c
@@ -156,7 +156,8 @@ static void cic_unmask_irq(unsigned int irq)
156 cic_writel(1 << irq, INTCP_VA_CIC_BASE + IRQ_ENABLE_SET); 156 cic_writel(1 << irq, INTCP_VA_CIC_BASE + IRQ_ENABLE_SET);
157} 157}
158 158
159static struct irqchip cic_chip = { 159static struct irq_chip cic_chip = {
160 .name = "CIC",
160 .ack = cic_mask_irq, 161 .ack = cic_mask_irq,
161 .mask = cic_mask_irq, 162 .mask = cic_mask_irq,
162 .unmask = cic_unmask_irq, 163 .unmask = cic_unmask_irq,
@@ -174,7 +175,8 @@ static void pic_unmask_irq(unsigned int irq)
174 pic_writel(1 << irq, INTCP_VA_PIC_BASE + IRQ_ENABLE_SET); 175 pic_writel(1 << irq, INTCP_VA_PIC_BASE + IRQ_ENABLE_SET);
175} 176}
176 177
177static struct irqchip pic_chip = { 178static struct irq_chip pic_chip = {
179 .name = "PIC",
178 .ack = pic_mask_irq, 180 .ack = pic_mask_irq,
179 .mask = pic_mask_irq, 181 .mask = pic_mask_irq,
180 .unmask = pic_unmask_irq, 182 .unmask = pic_unmask_irq,
@@ -192,7 +194,8 @@ static void sic_unmask_irq(unsigned int irq)
192 sic_writel(1 << irq, INTCP_VA_SIC_BASE + IRQ_ENABLE_SET); 194 sic_writel(1 << irq, INTCP_VA_SIC_BASE + IRQ_ENABLE_SET);
193} 195}
194 196
195static struct irqchip sic_chip = { 197static struct irq_chip sic_chip = {
198 .name = "SIC",
196 .ack = sic_mask_irq, 199 .ack = sic_mask_irq,
197 .mask = sic_mask_irq, 200 .mask = sic_mask_irq,
198 .unmask = sic_unmask_irq, 201 .unmask = sic_unmask_irq,
diff --git a/arch/arm/mach-iop3xx/iop321-irq.c b/arch/arm/mach-iop3xx/iop321-irq.c
index d42aae6aef03..88ac333472c8 100644
--- a/arch/arm/mach-iop3xx/iop321-irq.c
+++ b/arch/arm/mach-iop3xx/iop321-irq.c
@@ -52,7 +52,8 @@ iop321_irq_unmask (unsigned int irq)
52 intctl_write(iop321_mask); 52 intctl_write(iop321_mask);
53} 53}
54 54
55struct irqchip ext_chip = { 55struct irq_chip ext_chip = {
56 .name = "IOP",
56 .ack = iop321_irq_mask, 57 .ack = iop321_irq_mask,
57 .mask = iop321_irq_mask, 58 .mask = iop321_irq_mask,
58 .unmask = iop321_irq_unmask, 59 .unmask = iop321_irq_unmask,
diff --git a/arch/arm/mach-iop3xx/iop331-irq.c b/arch/arm/mach-iop3xx/iop331-irq.c
index f4d4321737a4..cab11722ced2 100644
--- a/arch/arm/mach-iop3xx/iop331-irq.c
+++ b/arch/arm/mach-iop3xx/iop331-irq.c
@@ -77,13 +77,15 @@ iop331_irq_unmask2(unsigned int irq)
77 intctl_write1(iop331_mask1); 77 intctl_write1(iop331_mask1);
78} 78}
79 79
80struct irqchip iop331_irqchip1 = { 80struct irq_chip iop331_irqchip1 = {
81 .name = "IOP-1",
81 .ack = iop331_irq_mask1, 82 .ack = iop331_irq_mask1,
82 .mask = iop331_irq_mask1, 83 .mask = iop331_irq_mask1,
83 .unmask = iop331_irq_unmask1, 84 .unmask = iop331_irq_unmask1,
84}; 85};
85 86
86struct irqchip iop331_irqchip2 = { 87struct irq_chip iop331_irqchip2 = {
88 .name = "IOP-2",
87 .ack = iop331_irq_mask2, 89 .ack = iop331_irq_mask2,
88 .mask = iop331_irq_mask2, 90 .mask = iop331_irq_mask2,
89 .unmask = iop331_irq_unmask2, 91 .unmask = iop331_irq_unmask2,
diff --git a/arch/arm/mach-lh7a40x/arch-kev7a400.c b/arch/arm/mach-lh7a40x/arch-kev7a400.c
index 2cccc27c62e4..4f2ab48800a5 100644
--- a/arch/arm/mach-lh7a40x/arch-kev7a400.c
+++ b/arch/arm/mach-lh7a40x/arch-kev7a400.c
@@ -63,7 +63,8 @@ static void kev7a400_unmask_cpld_irq (u32 irq)
63 CPLD_WR_PB_INT_MASK = CPLD_IRQ_mask; 63 CPLD_WR_PB_INT_MASK = CPLD_IRQ_mask;
64} 64}
65 65
66static struct irqchip kev7a400_cpld_chip = { 66static struct irq_chip kev7a400_cpld_chip = {
67 .name = "CPLD",
67 .ack = kev7a400_ack_cpld_irq, 68 .ack = kev7a400_ack_cpld_irq,
68 .mask = kev7a400_mask_cpld_irq, 69 .mask = kev7a400_mask_cpld_irq,
69 .unmask = kev7a400_unmask_cpld_irq, 70 .unmask = kev7a400_unmask_cpld_irq,
diff --git a/arch/arm/mach-lh7a40x/arch-lpd7a40x.c b/arch/arm/mach-lh7a40x/arch-lpd7a40x.c
index 35c3606a2079..a6910114b24c 100644
--- a/arch/arm/mach-lh7a40x/arch-lpd7a40x.c
+++ b/arch/arm/mach-lh7a40x/arch-lpd7a40x.c
@@ -200,7 +200,8 @@ static void lh7a40x_unmask_cpld_irq (u32 irq)
200 } 200 }
201} 201}
202 202
203static struct irqchip lpd7a40x_cpld_chip = { 203static struct irq_chip lpd7a40x_cpld_chip = {
204 .name = "CPLD",
204 .ack = lh7a40x_ack_cpld_irq, 205 .ack = lh7a40x_ack_cpld_irq,
205 .mask = lh7a40x_mask_cpld_irq, 206 .mask = lh7a40x_mask_cpld_irq,
206 .unmask = lh7a40x_unmask_cpld_irq, 207 .unmask = lh7a40x_unmask_cpld_irq,
diff --git a/arch/arm/mach-lh7a40x/irq-kev7a400.c b/arch/arm/mach-lh7a40x/irq-kev7a400.c
index 8535764d89ca..f9b3fe9174a5 100644
--- a/arch/arm/mach-lh7a40x/irq-kev7a400.c
+++ b/arch/arm/mach-lh7a40x/irq-kev7a400.c
@@ -43,7 +43,8 @@ lh7a400_unmask_cpld_irq (u32 irq)
43} 43}
44 44
45static struct 45static struct
46irqchip lh7a400_cpld_chip = { 46irq_chip lh7a400_cpld_chip = {
47 .name = "CPLD",
47 .ack = lh7a400_ack_cpld_irq, 48 .ack = lh7a400_ack_cpld_irq,
48 .mask = lh7a400_mask_cpld_irq, 49 .mask = lh7a400_mask_cpld_irq,
49 .unmask = lh7a400_unmask_cpld_irq, 50 .unmask = lh7a400_unmask_cpld_irq,
diff --git a/arch/arm/mach-lh7a40x/irq-lh7a400.c b/arch/arm/mach-lh7a40x/irq-lh7a400.c
index f9fdefef6d6f..091b2dc58d25 100644
--- a/arch/arm/mach-lh7a40x/irq-lh7a400.c
+++ b/arch/arm/mach-lh7a40x/irq-lh7a400.c
@@ -38,13 +38,15 @@ static void lh7a400_ack_gpio_irq (u32 irq)
38 INTC_INTENC = (1 << irq); 38 INTC_INTENC = (1 << irq);
39} 39}
40 40
41static struct irqchip lh7a400_internal_chip = { 41static struct irq_chip lh7a400_internal_chip = {
42 .name = "MPU",
42 .ack = lh7a400_mask_irq, /* Level triggering -> mask is ack */ 43 .ack = lh7a400_mask_irq, /* Level triggering -> mask is ack */
43 .mask = lh7a400_mask_irq, 44 .mask = lh7a400_mask_irq,
44 .unmask = lh7a400_unmask_irq, 45 .unmask = lh7a400_unmask_irq,
45}; 46};
46 47
47static struct irqchip lh7a400_gpio_chip = { 48static struct irq_chip lh7a400_gpio_chip = {
49 .name = "GPIO",
48 .ack = lh7a400_ack_gpio_irq, 50 .ack = lh7a400_ack_gpio_irq,
49 .mask = lh7a400_mask_irq, 51 .mask = lh7a400_mask_irq,
50 .unmask = lh7a400_unmask_irq, 52 .unmask = lh7a400_unmask_irq,
diff --git a/arch/arm/mach-lh7a40x/irq-lh7a404.c b/arch/arm/mach-lh7a40x/irq-lh7a404.c
index 2685a81454d2..7059b983724f 100644
--- a/arch/arm/mach-lh7a40x/irq-lh7a404.c
+++ b/arch/arm/mach-lh7a40x/irq-lh7a404.c
@@ -76,25 +76,29 @@ static void lh7a404_vic2_ack_gpio_irq (u32 irq)
76 VIC2_INTENCLR = (1 << irq); 76 VIC2_INTENCLR = (1 << irq);
77} 77}
78 78
79static struct irqchip lh7a404_vic1_chip = { 79static struct irq_chip lh7a404_vic1_chip = {
80 .name = "VIC1",
80 .ack = lh7a404_vic1_mask_irq, /* Because level-triggered */ 81 .ack = lh7a404_vic1_mask_irq, /* Because level-triggered */
81 .mask = lh7a404_vic1_mask_irq, 82 .mask = lh7a404_vic1_mask_irq,
82 .unmask = lh7a404_vic1_unmask_irq, 83 .unmask = lh7a404_vic1_unmask_irq,
83}; 84};
84 85
85static struct irqchip lh7a404_vic2_chip = { 86static struct irq_chip lh7a404_vic2_chip = {
87 .name = "VIC2",
86 .ack = lh7a404_vic2_mask_irq, /* Because level-triggered */ 88 .ack = lh7a404_vic2_mask_irq, /* Because level-triggered */
87 .mask = lh7a404_vic2_mask_irq, 89 .mask = lh7a404_vic2_mask_irq,
88 .unmask = lh7a404_vic2_unmask_irq, 90 .unmask = lh7a404_vic2_unmask_irq,
89}; 91};
90 92
91static struct irqchip lh7a404_gpio_vic1_chip = { 93static struct irq_chip lh7a404_gpio_vic1_chip = {
94 .name = "GPIO-VIC1",
92 .ack = lh7a404_vic1_ack_gpio_irq, 95 .ack = lh7a404_vic1_ack_gpio_irq,
93 .mask = lh7a404_vic1_mask_irq, 96 .mask = lh7a404_vic1_mask_irq,
94 .unmask = lh7a404_vic1_unmask_irq, 97 .unmask = lh7a404_vic1_unmask_irq,
95}; 98};
96 99
97static struct irqchip lh7a404_gpio_vic2_chip = { 100static struct irq_chip lh7a404_gpio_vic2_chip = {
101 .name = "GPIO-VIC2",
98 .ack = lh7a404_vic2_ack_gpio_irq, 102 .ack = lh7a404_vic2_ack_gpio_irq,
99 .mask = lh7a404_vic2_mask_irq, 103 .mask = lh7a404_vic2_mask_irq,
100 .unmask = lh7a404_vic2_unmask_irq, 104 .unmask = lh7a404_vic2_unmask_irq,
diff --git a/arch/arm/mach-lh7a40x/irq-lpd7a40x.c b/arch/arm/mach-lh7a40x/irq-lpd7a40x.c
index dcb4e17b9419..d6055dde6468 100644
--- a/arch/arm/mach-lh7a40x/irq-lpd7a40x.c
+++ b/arch/arm/mach-lh7a40x/irq-lpd7a40x.c
@@ -50,7 +50,8 @@ static void lh7a40x_unmask_cpld_irq (u32 irq)
50 } 50 }
51} 51}
52 52
53static struct irqchip lh7a40x_cpld_chip = { 53static struct irq_chip lh7a40x_cpld_chip = {
54 .name = "CPLD",
54 .ack = lh7a40x_ack_cpld_irq, 55 .ack = lh7a40x_ack_cpld_irq,
55 .mask = lh7a40x_mask_cpld_irq, 56 .mask = lh7a40x_mask_cpld_irq,
56 .unmask = lh7a40x_unmask_cpld_irq, 57 .unmask = lh7a40x_unmask_cpld_irq,
diff --git a/arch/arm/mach-omap1/fpga.c b/arch/arm/mach-omap1/fpga.c
index 34eb79ee6e61..efe9bfc6e55f 100644
--- a/arch/arm/mach-omap1/fpga.c
+++ b/arch/arm/mach-omap1/fpga.c
@@ -106,14 +106,16 @@ void innovator_fpga_IRQ_demux(unsigned int irq, struct irqdesc *desc,
106 } 106 }
107} 107}
108 108
109static struct irqchip omap_fpga_irq_ack = { 109static struct irq_chip omap_fpga_irq_ack = {
110 .name = "FPGA-ack",
110 .ack = fpga_mask_ack_irq, 111 .ack = fpga_mask_ack_irq,
111 .mask = fpga_mask_irq, 112 .mask = fpga_mask_irq,
112 .unmask = fpga_unmask_irq, 113 .unmask = fpga_unmask_irq,
113}; 114};
114 115
115 116
116static struct irqchip omap_fpga_irq = { 117static struct irq_chip omap_fpga_irq = {
118 .name = "FPGA",
117 .ack = fpga_ack_irq, 119 .ack = fpga_ack_irq,
118 .mask = fpga_mask_irq, 120 .mask = fpga_mask_irq,
119 .unmask = fpga_unmask_irq, 121 .unmask = fpga_unmask_irq,
diff --git a/arch/arm/mach-omap1/irq.c b/arch/arm/mach-omap1/irq.c
index 9e039845b50e..3ea140bb9eba 100644
--- a/arch/arm/mach-omap1/irq.c
+++ b/arch/arm/mach-omap1/irq.c
@@ -168,7 +168,8 @@ static struct omap_irq_bank omap1610_irq_banks[] = {
168}; 168};
169#endif 169#endif
170 170
171static struct irqchip omap_irq_chip = { 171static struct irq_chip omap_irq_chip = {
172 .name = "MPU",
172 .ack = omap_mask_ack_irq, 173 .ack = omap_mask_ack_irq,
173 .mask = omap_mask_irq, 174 .mask = omap_mask_irq,
174 .unmask = omap_unmask_irq, 175 .unmask = omap_unmask_irq,
diff --git a/arch/arm/mach-omap2/irq.c b/arch/arm/mach-omap2/irq.c
index 3eed6a737bf8..dfc3b35cc1ff 100644
--- a/arch/arm/mach-omap2/irq.c
+++ b/arch/arm/mach-omap2/irq.c
@@ -94,7 +94,8 @@ static void omap_mask_ack_irq(unsigned int irq)
94 omap_ack_irq(irq); 94 omap_ack_irq(irq);
95} 95}
96 96
97static struct irqchip omap_irq_chip = { 97static struct irq_chip omap_irq_chip = {
98 .name = "INTC",
98 .ack = omap_mask_ack_irq, 99 .ack = omap_mask_ack_irq,
99 .mask = omap_mask_irq, 100 .mask = omap_mask_irq,
100 .unmask = omap_unmask_irq, 101 .unmask = omap_unmask_irq,
diff --git a/arch/arm/mach-pnx4008/core.c b/arch/arm/mach-pnx4008/core.c
index ba91daad64fb..3d73c1e93752 100644
--- a/arch/arm/mach-pnx4008/core.c
+++ b/arch/arm/mach-pnx4008/core.c
@@ -27,7 +27,6 @@
27#include <linux/spi/spi.h> 27#include <linux/spi/spi.h>
28 28
29#include <asm/hardware.h> 29#include <asm/hardware.h>
30#include <asm/irq.h>
31#include <asm/io.h> 30#include <asm/io.h>
32#include <asm/setup.h> 31#include <asm/setup.h>
33#include <asm/mach-types.h> 32#include <asm/mach-types.h>
@@ -36,7 +35,6 @@
36#include <asm/system.h> 35#include <asm/system.h>
37 36
38#include <asm/mach/arch.h> 37#include <asm/mach/arch.h>
39#include <asm/mach/irq.h>
40#include <asm/mach/map.h> 38#include <asm/mach/map.h>
41#include <asm/mach/time.h> 39#include <asm/mach/time.h>
42 40
diff --git a/arch/arm/mach-pnx4008/dma.c b/arch/arm/mach-pnx4008/dma.c
index 981aa9dcdede..ec01574f88ac 100644
--- a/arch/arm/mach-pnx4008/dma.c
+++ b/arch/arm/mach-pnx4008/dma.c
@@ -23,7 +23,6 @@
23#include <linux/clk.h> 23#include <linux/clk.h>
24 24
25#include <asm/system.h> 25#include <asm/system.h>
26#include <asm/irq.h>
27#include <asm/hardware.h> 26#include <asm/hardware.h>
28#include <asm/dma.h> 27#include <asm/dma.h>
29#include <asm/dma-mapping.h> 28#include <asm/dma-mapping.h>
diff --git a/arch/arm/mach-pnx4008/irq.c b/arch/arm/mach-pnx4008/irq.c
index 9b0a8e084e99..3a4bcf3d91fa 100644
--- a/arch/arm/mach-pnx4008/irq.c
+++ b/arch/arm/mach-pnx4008/irq.c
@@ -22,8 +22,8 @@
22#include <linux/init.h> 22#include <linux/init.h>
23#include <linux/ioport.h> 23#include <linux/ioport.h>
24#include <linux/device.h> 24#include <linux/device.h>
25#include <linux/irq.h>
25#include <asm/hardware.h> 26#include <asm/hardware.h>
26#include <asm/irq.h>
27#include <asm/io.h> 27#include <asm/io.h>
28#include <asm/setup.h> 28#include <asm/setup.h>
29#include <asm/mach-types.h> 29#include <asm/mach-types.h>
@@ -96,26 +96,24 @@ void __init pnx4008_init_irq(void)
96{ 96{
97 unsigned int i; 97 unsigned int i;
98 98
99 /* configure and enable IRQ 0,1,30,31 (cascade interrupts) mask all others */ 99 /* configure IRQ's */
100 for (i = 0; i < NR_IRQS; i++) {
101 set_irq_flags(i, IRQF_VALID);
102 set_irq_chip(i, &pnx4008_irq_chip);
103 pnx4008_set_irq_type(i, pnx4008_irq_type[i]);
104 }
105
106 /* configure and enable IRQ 0,1,30,31 (cascade interrupts) */
100 pnx4008_set_irq_type(SUB1_IRQ_N, pnx4008_irq_type[SUB1_IRQ_N]); 107 pnx4008_set_irq_type(SUB1_IRQ_N, pnx4008_irq_type[SUB1_IRQ_N]);
101 pnx4008_set_irq_type(SUB2_IRQ_N, pnx4008_irq_type[SUB2_IRQ_N]); 108 pnx4008_set_irq_type(SUB2_IRQ_N, pnx4008_irq_type[SUB2_IRQ_N]);
102 pnx4008_set_irq_type(SUB1_FIQ_N, pnx4008_irq_type[SUB1_FIQ_N]); 109 pnx4008_set_irq_type(SUB1_FIQ_N, pnx4008_irq_type[SUB1_FIQ_N]);
103 pnx4008_set_irq_type(SUB2_FIQ_N, pnx4008_irq_type[SUB2_FIQ_N]); 110 pnx4008_set_irq_type(SUB2_FIQ_N, pnx4008_irq_type[SUB2_FIQ_N]);
104 111
112 /* mask all others */
105 __raw_writel((1 << SUB2_FIQ_N) | (1 << SUB1_FIQ_N) | 113 __raw_writel((1 << SUB2_FIQ_N) | (1 << SUB1_FIQ_N) |
106 (1 << SUB2_IRQ_N) | (1 << SUB1_IRQ_N), 114 (1 << SUB2_IRQ_N) | (1 << SUB1_IRQ_N),
107 INTC_ER(MAIN_BASE_INT)); 115 INTC_ER(MAIN_BASE_INT));
108 __raw_writel(0, INTC_ER(SIC1_BASE_INT)); 116 __raw_writel(0, INTC_ER(SIC1_BASE_INT));
109 __raw_writel(0, INTC_ER(SIC2_BASE_INT)); 117 __raw_writel(0, INTC_ER(SIC2_BASE_INT));
110
111 /* configure all other IRQ's */
112 for (i = 0; i < NR_IRQS; i++) {
113 if (i == SUB2_FIQ_N || i == SUB1_FIQ_N ||
114 i == SUB2_IRQ_N || i == SUB1_IRQ_N)
115 continue;
116 set_irq_flags(i, IRQF_VALID);
117 set_irq_chip(i, &pnx4008_irq_chip);
118 pnx4008_set_irq_type(i, pnx4008_irq_type[i]);
119 }
120} 118}
121 119
diff --git a/arch/arm/mach-pnx4008/time.c b/arch/arm/mach-pnx4008/time.c
index 888bf6cfba8a..756228ddd035 100644
--- a/arch/arm/mach-pnx4008/time.c
+++ b/arch/arm/mach-pnx4008/time.c
@@ -20,17 +20,15 @@
20#include <linux/spinlock.h> 20#include <linux/spinlock.h>
21#include <linux/module.h> 21#include <linux/module.h>
22#include <linux/kallsyms.h> 22#include <linux/kallsyms.h>
23#include <linux/time.h>
24#include <linux/timex.h>
25#include <linux/irq.h>
23 26
24#include <asm/system.h> 27#include <asm/system.h>
25#include <asm/hardware.h> 28#include <asm/hardware.h>
26#include <asm/io.h> 29#include <asm/io.h>
27#include <asm/leds.h> 30#include <asm/leds.h>
28#include <asm/irq.h>
29#include <asm/mach/irq.h>
30#include <asm/mach/time.h> 31#include <asm/mach/time.h>
31
32#include <linux/time.h>
33#include <linux/timex.h>
34#include <asm/errno.h> 32#include <asm/errno.h>
35 33
36/*! Note: all timers are UPCOUNTING */ 34/*! Note: all timers are UPCOUNTING */
diff --git a/arch/arm/mach-pxa/irq.c b/arch/arm/mach-pxa/irq.c
index d9635ff4b10c..12141e2a50cc 100644
--- a/arch/arm/mach-pxa/irq.c
+++ b/arch/arm/mach-pxa/irq.c
@@ -39,7 +39,8 @@ static void pxa_unmask_low_irq(unsigned int irq)
39 ICMR |= (1 << (irq + PXA_IRQ_SKIP)); 39 ICMR |= (1 << (irq + PXA_IRQ_SKIP));
40} 40}
41 41
42static struct irqchip pxa_internal_chip_low = { 42static struct irq_chip pxa_internal_chip_low = {
43 .name = "SC",
43 .ack = pxa_mask_low_irq, 44 .ack = pxa_mask_low_irq,
44 .mask = pxa_mask_low_irq, 45 .mask = pxa_mask_low_irq,
45 .unmask = pxa_unmask_low_irq, 46 .unmask = pxa_unmask_low_irq,
@@ -61,7 +62,8 @@ static void pxa_unmask_high_irq(unsigned int irq)
61 ICMR2 |= (1 << (irq - 32 + PXA_IRQ_SKIP)); 62 ICMR2 |= (1 << (irq - 32 + PXA_IRQ_SKIP));
62} 63}
63 64
64static struct irqchip pxa_internal_chip_high = { 65static struct irq_chip pxa_internal_chip_high = {
66 .name = "SC-hi",
65 .ack = pxa_mask_high_irq, 67 .ack = pxa_mask_high_irq,
66 .mask = pxa_mask_high_irq, 68 .mask = pxa_mask_high_irq,
67 .unmask = pxa_unmask_high_irq, 69 .unmask = pxa_unmask_high_irq,
@@ -129,7 +131,8 @@ static void pxa_ack_low_gpio(unsigned int irq)
129 GEDR0 = (1 << (irq - IRQ_GPIO0)); 131 GEDR0 = (1 << (irq - IRQ_GPIO0));
130} 132}
131 133
132static struct irqchip pxa_low_gpio_chip = { 134static struct irq_chip pxa_low_gpio_chip = {
135 .name = "GPIO-l",
133 .ack = pxa_ack_low_gpio, 136 .ack = pxa_ack_low_gpio,
134 .mask = pxa_mask_low_irq, 137 .mask = pxa_mask_low_irq,
135 .unmask = pxa_unmask_low_irq, 138 .unmask = pxa_unmask_low_irq,
@@ -237,7 +240,8 @@ static void pxa_unmask_muxed_gpio(unsigned int irq)
237 GFER(gpio) = GPIO_IRQ_falling_edge[idx] & GPIO_IRQ_mask[idx]; 240 GFER(gpio) = GPIO_IRQ_falling_edge[idx] & GPIO_IRQ_mask[idx];
238} 241}
239 242
240static struct irqchip pxa_muxed_gpio_chip = { 243static struct irq_chip pxa_muxed_gpio_chip = {
244 .name = "GPIO",
241 .ack = pxa_ack_muxed_gpio, 245 .ack = pxa_ack_muxed_gpio,
242 .mask = pxa_mask_muxed_gpio, 246 .mask = pxa_mask_muxed_gpio,
243 .unmask = pxa_unmask_muxed_gpio, 247 .unmask = pxa_unmask_muxed_gpio,
diff --git a/arch/arm/mach-pxa/lpd270.c b/arch/arm/mach-pxa/lpd270.c
index 1a5f5c21481e..12479ae26db2 100644
--- a/arch/arm/mach-pxa/lpd270.c
+++ b/arch/arm/mach-pxa/lpd270.c
@@ -68,7 +68,8 @@ static void lpd270_unmask_irq(unsigned int irq)
68 __raw_writew(lpd270_irq_enabled, LPD270_INT_MASK); 68 __raw_writew(lpd270_irq_enabled, LPD270_INT_MASK);
69} 69}
70 70
71static struct irqchip lpd270_irq_chip = { 71static struct irq_chip lpd270_irq_chip = {
72 .name = "CPLD",
72 .ack = lpd270_mask_irq, 73 .ack = lpd270_mask_irq,
73 .mask = lpd270_mask_irq, 74 .mask = lpd270_mask_irq,
74 .unmask = lpd270_unmask_irq, 75 .unmask = lpd270_unmask_irq,
diff --git a/arch/arm/mach-pxa/lubbock.c b/arch/arm/mach-pxa/lubbock.c
index 6a9a669d60de..83ff5cee64d9 100644
--- a/arch/arm/mach-pxa/lubbock.c
+++ b/arch/arm/mach-pxa/lubbock.c
@@ -78,7 +78,8 @@ static void lubbock_unmask_irq(unsigned int irq)
78 LUB_IRQ_MASK_EN = (lubbock_irq_enabled |= (1 << lubbock_irq)); 78 LUB_IRQ_MASK_EN = (lubbock_irq_enabled |= (1 << lubbock_irq));
79} 79}
80 80
81static struct irqchip lubbock_irq_chip = { 81static struct irq_chip lubbock_irq_chip = {
82 .name = "FPGA",
82 .ack = lubbock_mask_irq, 83 .ack = lubbock_mask_irq,
83 .mask = lubbock_mask_irq, 84 .mask = lubbock_mask_irq,
84 .unmask = lubbock_unmask_irq, 85 .unmask = lubbock_unmask_irq,
diff --git a/arch/arm/mach-pxa/mainstone.c b/arch/arm/mach-pxa/mainstone.c
index 21ddf3de2f6e..a7e9b96f258a 100644
--- a/arch/arm/mach-pxa/mainstone.c
+++ b/arch/arm/mach-pxa/mainstone.c
@@ -64,7 +64,8 @@ static void mainstone_unmask_irq(unsigned int irq)
64 MST_INTMSKENA = (mainstone_irq_enabled |= (1 << mainstone_irq)); 64 MST_INTMSKENA = (mainstone_irq_enabled |= (1 << mainstone_irq));
65} 65}
66 66
67static struct irqchip mainstone_irq_chip = { 67static struct irq_chip mainstone_irq_chip = {
68 .name = "FPGA",
68 .ack = mainstone_mask_irq, 69 .ack = mainstone_mask_irq,
69 .mask = mainstone_mask_irq, 70 .mask = mainstone_mask_irq,
70 .unmask = mainstone_unmask_irq, 71 .unmask = mainstone_unmask_irq,
diff --git a/arch/arm/mach-s3c2410/mach-anubis.c b/arch/arm/mach-s3c2410/mach-anubis.c
index 4a92d6f92d6b..60641d452db3 100644
--- a/arch/arm/mach-s3c2410/mach-anubis.c
+++ b/arch/arm/mach-s3c2410/mach-anubis.c
@@ -60,11 +60,12 @@ static struct map_desc anubis_iodesc[] __initdata = {
60 .virtual = (u32)S3C24XX_VA_ISA_BYTE, 60 .virtual = (u32)S3C24XX_VA_ISA_BYTE,
61 .pfn = __phys_to_pfn(0x0), 61 .pfn = __phys_to_pfn(0x0),
62 .length = SZ_4M, 62 .length = SZ_4M,
63 .type = MT_DEVICE 63 .type = MT_DEVICE,
64 }, { 64 }, {
65 .virtual = (u32)S3C24XX_VA_ISA_WORD, 65 .virtual = (u32)S3C24XX_VA_ISA_WORD,
66 .pfn = __phys_to_pfn(0x0), 66 .pfn = __phys_to_pfn(0x0),
67 .length = SZ_4M, MT_DEVICE 67 .length = SZ_4M,
68 .type = MT_DEVICE,
68 }, 69 },
69 70
70 /* we could possibly compress the next set down into a set of smaller tables 71 /* we could possibly compress the next set down into a set of smaller tables
@@ -78,36 +79,12 @@ static struct map_desc anubis_iodesc[] __initdata = {
78 .virtual = (u32)ANUBIS_VA_CTRL1, 79 .virtual = (u32)ANUBIS_VA_CTRL1,
79 .pfn = __phys_to_pfn(ANUBIS_PA_CTRL1), 80 .pfn = __phys_to_pfn(ANUBIS_PA_CTRL1),
80 .length = SZ_4K, 81 .length = SZ_4K,
81 .type = MT_DEVICE 82 .type = MT_DEVICE,
82 }, { 83 }, {
83 .virtual = (u32)ANUBIS_VA_CTRL2, 84 .virtual = (u32)ANUBIS_VA_CTRL2,
84 .pfn = __phys_to_pfn(ANUBIS_PA_CTRL2), 85 .pfn = __phys_to_pfn(ANUBIS_PA_CTRL2),
85 .length = SZ_4K, 86 .length = SZ_4K,
86 .type =MT_DEVICE 87 .type = MT_DEVICE,
87 },
88
89 /* IDE drives */
90
91 {
92 .virtual = (u32)ANUBIS_IDEPRI,
93 .pfn = __phys_to_pfn(S3C2410_CS3),
94 .length = SZ_1M,
95 .type = MT_DEVICE
96 }, {
97 .virtual = (u32)ANUBIS_IDEPRIAUX,
98 .pfn = __phys_to_pfn(S3C2410_CS3+(1<<26)),
99 .length = SZ_1M,
100 .type = MT_DEVICE
101 }, {
102 .virtual = (u32)ANUBIS_IDESEC,
103 .pfn = __phys_to_pfn(S3C2410_CS4),
104 .length = SZ_1M,
105 .type = MT_DEVICE
106 }, {
107 .virtual = (u32)ANUBIS_IDESECAUX,
108 .pfn = __phys_to_pfn(S3C2410_CS4+(1<<26)),
109 .length = SZ_1M,
110 .type = MT_DEVICE
111 }, 88 },
112}; 89};
113 90
@@ -126,7 +103,7 @@ static struct s3c24xx_uart_clksrc anubis_serial_clocks[] = {
126 .name = "pclk", 103 .name = "pclk",
127 .divisor = 1, 104 .divisor = 1,
128 .min_baud = 0, 105 .min_baud = 0,
129 .max_baud = 0. 106 .max_baud = 0,
130 } 107 }
131}; 108};
132 109
@@ -139,7 +116,7 @@ static struct s3c2410_uartcfg anubis_uartcfgs[] __initdata = {
139 .ulcon = ULCON, 116 .ulcon = ULCON,
140 .ufcon = UFCON, 117 .ufcon = UFCON,
141 .clocks = anubis_serial_clocks, 118 .clocks = anubis_serial_clocks,
142 .clocks_size = ARRAY_SIZE(anubis_serial_clocks) 119 .clocks_size = ARRAY_SIZE(anubis_serial_clocks),
143 }, 120 },
144 [1] = { 121 [1] = {
145 .hwport = 2, 122 .hwport = 2,
@@ -148,7 +125,7 @@ static struct s3c2410_uartcfg anubis_uartcfgs[] __initdata = {
148 .ulcon = ULCON, 125 .ulcon = ULCON,
149 .ufcon = UFCON, 126 .ufcon = UFCON,
150 .clocks = anubis_serial_clocks, 127 .clocks = anubis_serial_clocks,
151 .clocks_size = ARRAY_SIZE(anubis_serial_clocks) 128 .clocks_size = ARRAY_SIZE(anubis_serial_clocks),
152 }, 129 },
153}; 130};
154 131
@@ -162,7 +139,7 @@ static struct mtd_partition anubis_default_nand_part[] = {
162 [0] = { 139 [0] = {
163 .name = "Boot Agent", 140 .name = "Boot Agent",
164 .size = SZ_16K, 141 .size = SZ_16K,
165 .offset = 0 142 .offset = 0,
166 }, 143 },
167 [1] = { 144 [1] = {
168 .name = "/boot", 145 .name = "/boot",
@@ -194,21 +171,21 @@ static struct s3c2410_nand_set anubis_nand_sets[] = {
194 .nr_chips = 1, 171 .nr_chips = 1,
195 .nr_map = external_map, 172 .nr_map = external_map,
196 .nr_partitions = ARRAY_SIZE(anubis_default_nand_part), 173 .nr_partitions = ARRAY_SIZE(anubis_default_nand_part),
197 .partitions = anubis_default_nand_part 174 .partitions = anubis_default_nand_part,
198 }, 175 },
199 [0] = { 176 [0] = {
200 .name = "chip0", 177 .name = "chip0",
201 .nr_chips = 1, 178 .nr_chips = 1,
202 .nr_map = chip0_map, 179 .nr_map = chip0_map,
203 .nr_partitions = ARRAY_SIZE(anubis_default_nand_part), 180 .nr_partitions = ARRAY_SIZE(anubis_default_nand_part),
204 .partitions = anubis_default_nand_part 181 .partitions = anubis_default_nand_part,
205 }, 182 },
206 [2] = { 183 [2] = {
207 .name = "chip1", 184 .name = "chip1",
208 .nr_chips = 1, 185 .nr_chips = 1,
209 .nr_map = chip1_map, 186 .nr_map = chip1_map,
210 .nr_partitions = ARRAY_SIZE(anubis_default_nand_part), 187 .nr_partitions = ARRAY_SIZE(anubis_default_nand_part),
211 .partitions = anubis_default_nand_part 188 .partitions = anubis_default_nand_part,
212 }, 189 },
213}; 190};
214 191
@@ -313,7 +290,7 @@ static struct s3c24xx_board anubis_board __initdata = {
313 .devices = anubis_devices, 290 .devices = anubis_devices,
314 .devices_count = ARRAY_SIZE(anubis_devices), 291 .devices_count = ARRAY_SIZE(anubis_devices),
315 .clocks = anubis_clocks, 292 .clocks = anubis_clocks,
316 .clocks_count = ARRAY_SIZE(anubis_clocks) 293 .clocks_count = ARRAY_SIZE(anubis_clocks),
317}; 294};
318 295
319static void __init anubis_map_io(void) 296static void __init anubis_map_io(void)
diff --git a/arch/arm/mach-s3c2410/mach-osiris.c b/arch/arm/mach-s3c2410/mach-osiris.c
index 858fd03c6bc5..e193ba69e652 100644
--- a/arch/arm/mach-s3c2410/mach-osiris.c
+++ b/arch/arm/mach-s3c2410/mach-osiris.c
@@ -67,12 +67,12 @@ static struct map_desc osiris_iodesc[] __initdata = {
67 .virtual = (u32)OSIRIS_VA_CTRL1, 67 .virtual = (u32)OSIRIS_VA_CTRL1,
68 .pfn = __phys_to_pfn(OSIRIS_PA_CTRL1), 68 .pfn = __phys_to_pfn(OSIRIS_PA_CTRL1),
69 .length = SZ_16K, 69 .length = SZ_16K,
70 .type = MT_DEVICE 70 .type = MT_DEVICE,
71 }, { 71 }, {
72 .virtual = (u32)OSIRIS_VA_CTRL2, 72 .virtual = (u32)OSIRIS_VA_CTRL2,
73 .pfn = __phys_to_pfn(OSIRIS_PA_CTRL2), 73 .pfn = __phys_to_pfn(OSIRIS_PA_CTRL2),
74 .length = SZ_16K, 74 .length = SZ_16K,
75 .type = MT_DEVICE 75 .type = MT_DEVICE,
76 }, 76 },
77}; 77};
78 78
@@ -91,7 +91,7 @@ static struct s3c24xx_uart_clksrc osiris_serial_clocks[] = {
91 .name = "pclk", 91 .name = "pclk",
92 .divisor = 1, 92 .divisor = 1,
93 .min_baud = 0, 93 .min_baud = 0,
94 .max_baud = 0. 94 .max_baud = 0,
95 } 95 }
96}; 96};
97 97
@@ -103,7 +103,7 @@ static struct s3c2410_uartcfg osiris_uartcfgs[] __initdata = {
103 .ulcon = ULCON, 103 .ulcon = ULCON,
104 .ufcon = UFCON, 104 .ufcon = UFCON,
105 .clocks = osiris_serial_clocks, 105 .clocks = osiris_serial_clocks,
106 .clocks_size = ARRAY_SIZE(osiris_serial_clocks) 106 .clocks_size = ARRAY_SIZE(osiris_serial_clocks),
107 }, 107 },
108 [1] = { 108 [1] = {
109 .hwport = 1, 109 .hwport = 1,
@@ -112,7 +112,7 @@ static struct s3c2410_uartcfg osiris_uartcfgs[] __initdata = {
112 .ulcon = ULCON, 112 .ulcon = ULCON,
113 .ufcon = UFCON, 113 .ufcon = UFCON,
114 .clocks = osiris_serial_clocks, 114 .clocks = osiris_serial_clocks,
115 .clocks_size = ARRAY_SIZE(osiris_serial_clocks) 115 .clocks_size = ARRAY_SIZE(osiris_serial_clocks),
116 }, 116 },
117}; 117};
118 118
@@ -126,7 +126,7 @@ static struct mtd_partition osiris_default_nand_part[] = {
126 [0] = { 126 [0] = {
127 .name = "Boot Agent", 127 .name = "Boot Agent",
128 .size = SZ_16K, 128 .size = SZ_16K,
129 .offset = 0 129 .offset = 0,
130 }, 130 },
131 [1] = { 131 [1] = {
132 .name = "/boot", 132 .name = "/boot",
@@ -158,21 +158,21 @@ static struct s3c2410_nand_set osiris_nand_sets[] = {
158 .nr_chips = 1, 158 .nr_chips = 1,
159 .nr_map = external_map, 159 .nr_map = external_map,
160 .nr_partitions = ARRAY_SIZE(osiris_default_nand_part), 160 .nr_partitions = ARRAY_SIZE(osiris_default_nand_part),
161 .partitions = osiris_default_nand_part 161 .partitions = osiris_default_nand_part,
162 }, 162 },
163 [0] = { 163 [0] = {
164 .name = "chip0", 164 .name = "chip0",
165 .nr_chips = 1, 165 .nr_chips = 1,
166 .nr_map = chip0_map, 166 .nr_map = chip0_map,
167 .nr_partitions = ARRAY_SIZE(osiris_default_nand_part), 167 .nr_partitions = ARRAY_SIZE(osiris_default_nand_part),
168 .partitions = osiris_default_nand_part 168 .partitions = osiris_default_nand_part,
169 }, 169 },
170 [2] = { 170 [2] = {
171 .name = "chip1", 171 .name = "chip1",
172 .nr_chips = 1, 172 .nr_chips = 1,
173 .nr_map = chip1_map, 173 .nr_map = chip1_map,
174 .nr_partitions = ARRAY_SIZE(osiris_default_nand_part), 174 .nr_partitions = ARRAY_SIZE(osiris_default_nand_part),
175 .partitions = osiris_default_nand_part 175 .partitions = osiris_default_nand_part,
176 }, 176 },
177}; 177};
178 178
@@ -245,7 +245,7 @@ static struct s3c24xx_board osiris_board __initdata = {
245 .devices = osiris_devices, 245 .devices = osiris_devices,
246 .devices_count = ARRAY_SIZE(osiris_devices), 246 .devices_count = ARRAY_SIZE(osiris_devices),
247 .clocks = osiris_clocks, 247 .clocks = osiris_clocks,
248 .clocks_count = ARRAY_SIZE(osiris_clocks) 248 .clocks_count = ARRAY_SIZE(osiris_clocks),
249}; 249};
250 250
251static void __init osiris_map_io(void) 251static void __init osiris_map_io(void)
diff --git a/arch/arm/mach-sa1100/collie.c b/arch/arm/mach-sa1100/collie.c
index a6bab50dab61..a0dfa390e34b 100644
--- a/arch/arm/mach-sa1100/collie.c
+++ b/arch/arm/mach-sa1100/collie.c
@@ -83,8 +83,8 @@ static struct scoop_pcmcia_config collie_pcmcia_config = {
83 83
84 84
85static struct mcp_plat_data collie_mcp_data = { 85static struct mcp_plat_data collie_mcp_data = {
86 .mccr0 = MCCR0_ADM, 86 .mccr0 = MCCR0_ADM | MCCR0_ExtClk,
87 .sclk_rate = 11981000, 87 .sclk_rate = 9216000,
88}; 88};
89 89
90#ifdef CONFIG_SHARP_LOCOMO 90#ifdef CONFIG_SHARP_LOCOMO
diff --git a/arch/arm/mach-sa1100/collie_pm.c b/arch/arm/mach-sa1100/collie_pm.c
index 45b1e71f111d..1e25b1d19fce 100644
--- a/arch/arm/mach-sa1100/collie_pm.c
+++ b/arch/arm/mach-sa1100/collie_pm.c
@@ -9,6 +9,9 @@
9 * Li-ion batteries are angry beasts, and they like to explode. This driver is not finished, 9 * Li-ion batteries are angry beasts, and they like to explode. This driver is not finished,
10 * and sometimes charges them when it should not. If it makes angry lithium to come your way... 10 * and sometimes charges them when it should not. If it makes angry lithium to come your way...
11 * ...well, you have been warned. 11 * ...well, you have been warned.
12 *
13 * Actually, this should be quite safe, it seems sharp leaves charger enabled by default,
14 * and my collie did not explode (yet).
12 */ 15 */
13 16
14#include <linux/module.h> 17#include <linux/module.h>
@@ -40,9 +43,8 @@ static void collie_charger_init(void)
40{ 43{
41 int err; 44 int err;
42 45
43 if (sharpsl_param.adadj != -1) { 46 if (sharpsl_param.adadj != -1)
44 ad_revise = sharpsl_param.adadj; 47 ad_revise = sharpsl_param.adadj;
45 }
46 48
47 /* Register interrupt handler. */ 49 /* Register interrupt handler. */
48 if ((err = request_irq(COLLIE_IRQ_GPIO_AC_IN, sharpsl_ac_isr, IRQF_DISABLED, 50 if ((err = request_irq(COLLIE_IRQ_GPIO_AC_IN, sharpsl_ac_isr, IRQF_DISABLED,
@@ -72,27 +74,17 @@ static void collie_measure_temp(int on)
72 74
73static void collie_charge(int on) 75static void collie_charge(int on)
74{ 76{
75 if (on) { 77 extern struct platform_device colliescoop_device;
76 printk("Should start charger\n");
77 } else {
78 printk("Should stop charger\n");
79 }
80#ifdef I_AM_SURE
81 78
82 /* Zaurus seems to contain LTC1731 ; it should know when to 79 /* Zaurus seems to contain LTC1731; it should know when to
83 * stop charging itself, so setting charge on should be 80 * stop charging itself, so setting charge on should be
84 * relatively harmless (as long as it is not done too often). 81 * relatively harmless (as long as it is not done too often).
85 */ 82 */
86#define CF_BUF_CTRL_BASE 0xF0800000
87#define SCOOP_REG(adr) (*(volatile unsigned short*)(CF_BUF_CTRL_BASE+(adr)))
88#define SCOOP_REG_GPWR SCOOP_REG(SCOOP_GPWR)
89
90 if (on) { 83 if (on) {
91 set_scoop_gpio(&colliescoop_device.dev, COLLIE_SCP_CHARGE_ON); 84 set_scoop_gpio(&colliescoop_device.dev, COLLIE_SCP_CHARGE_ON);
92 } else { 85 } else {
93 reset_scoop_gpio(&colliescoop_device.dev, COLLIE_SCP_CHARGE_ON); 86 reset_scoop_gpio(&colliescoop_device.dev, COLLIE_SCP_CHARGE_ON);
94 } 87 }
95#endif
96} 88}
97 89
98static void collie_discharge(int on) 90static void collie_discharge(int on)
@@ -127,7 +119,6 @@ int collie_read_backup_battery(void)
127 119
128 ucb1x00_adc_enable(ucb); 120 ucb1x00_adc_enable(ucb);
129 121
130 /* Gives 75..130 */
131 ucb1x00_io_write(ucb, COLLIE_TC35143_GPIO_BBAT_ON, 0); 122 ucb1x00_io_write(ucb, COLLIE_TC35143_GPIO_BBAT_ON, 0);
132 voltage = ucb1x00_adc_read(ucb, UCB_ADC_INP_AD1, UCB_SYNC); 123 voltage = ucb1x00_adc_read(ucb, UCB_ADC_INP_AD1, UCB_SYNC);
133 124
@@ -146,9 +137,8 @@ int collie_read_main_battery(void)
146 ucb1x00_adc_enable(ucb); 137 ucb1x00_adc_enable(ucb);
147 ucb1x00_io_write(ucb, 0, COLLIE_TC35143_GPIO_BBAT_ON); 138 ucb1x00_io_write(ucb, 0, COLLIE_TC35143_GPIO_BBAT_ON);
148 ucb1x00_io_write(ucb, COLLIE_TC35143_GPIO_MBAT_ON, 0); 139 ucb1x00_io_write(ucb, COLLIE_TC35143_GPIO_MBAT_ON, 0);
149 /* gives values 160..255 with battery removed... and 140
150 145..255 with battery inserted. (on AC), goes as low as 141 mdelay(1);
151 80 on DC. */
152 voltage = ucb1x00_adc_read(ucb, UCB_ADC_INP_AD1, UCB_SYNC); 142 voltage = ucb1x00_adc_read(ucb, UCB_ADC_INP_AD1, UCB_SYNC);
153 143
154 ucb1x00_io_write(ucb, 0, COLLIE_TC35143_GPIO_MBAT_ON); 144 ucb1x00_io_write(ucb, 0, COLLIE_TC35143_GPIO_MBAT_ON);
@@ -192,7 +182,7 @@ static unsigned long read_devdata(int which)
192 case SHARPSL_BATT_TEMP: 182 case SHARPSL_BATT_TEMP:
193 return collie_read_temp(); 183 return collie_read_temp();
194 case SHARPSL_ACIN_VOLT: 184 case SHARPSL_ACIN_VOLT:
195 return 0x1; 185 return 500;
196 case SHARPSL_STATUS_ACIN: { 186 case SHARPSL_STATUS_ACIN: {
197 int ret = GPLR & COLLIE_GPIO_AC_IN; 187 int ret = GPLR & COLLIE_GPIO_AC_IN;
198 printk("AC status = %d\n", ret); 188 printk("AC status = %d\n", ret);
@@ -208,10 +198,33 @@ static unsigned long read_devdata(int which)
208 } 198 }
209} 199}
210 200
201struct battery_thresh collie_battery_levels_acin[] = {
202 { 420, 100},
203 { 417, 95},
204 { 415, 90},
205 { 413, 80},
206 { 411, 75},
207 { 408, 70},
208 { 406, 60},
209 { 403, 50},
210 { 398, 40},
211 { 391, 25},
212 { 10, 5},
213 { 0, 0},
214};
215
211struct battery_thresh collie_battery_levels[] = { 216struct battery_thresh collie_battery_levels[] = {
212 { 368, 100}, 217 { 394, 100},
213 { 358, 25}, 218 { 390, 95},
214 { 356, 5}, 219 { 380, 90},
220 { 370, 80},
221 { 368, 75}, /* From sharp code: battery high with frontlight */
222 { 366, 70}, /* 60..90 -- fake values invented by me for testing */
223 { 364, 60},
224 { 362, 50},
225 { 360, 40},
226 { 358, 25}, /* From sharp code: battery low with frontlight */
227 { 356, 5}, /* From sharp code: battery verylow with frontlight */
215 { 0, 0}, 228 { 0, 0},
216}; 229};
217 230
@@ -226,13 +239,21 @@ struct sharpsl_charger_machinfo collie_pm_machinfo = {
226 .postsuspend = collie_postsuspend, 239 .postsuspend = collie_postsuspend,
227 .charger_wakeup = collie_charger_wakeup, 240 .charger_wakeup = collie_charger_wakeup,
228 .should_wakeup = collie_should_wakeup, 241 .should_wakeup = collie_should_wakeup,
229 .bat_levels = 3, 242 .bat_levels = 12,
230 .bat_levels_noac = collie_battery_levels, 243 .bat_levels_noac = collie_battery_levels,
231 .bat_levels_acin = collie_battery_levels, 244 .bat_levels_acin = collie_battery_levels_acin,
232 .status_high_acin = 368, 245 .status_high_acin = 368,
233 .status_low_acin = 358, 246 .status_low_acin = 358,
234 .status_high_noac = 368, 247 .status_high_noac = 368,
235 .status_low_noac = 358, 248 .status_low_noac = 358,
249 .charge_on_volt = 350, /* spitz uses 2.90V, but lets play it safe. */
250 .charge_on_temp = 550,
251 .charge_acin_high = 550, /* collie does not seem to have sensor for this, anyway */
252 .charge_acin_low = 450, /* ignored, too */
253 .fatal_acin_volt = 356,
254 .fatal_noacin_volt = 356,
255
256 .batfull_irq = 1, /* We do not want periodical charge restarts */
236}; 257};
237 258
238static int __init collie_pm_ucb_add(struct ucb1x00_dev *pdev) 259static int __init collie_pm_ucb_add(struct ucb1x00_dev *pdev)
diff --git a/arch/arm/mach-sa1100/irq.c b/arch/arm/mach-sa1100/irq.c
index 2891b8ca86dd..b55b90a2e8fe 100644
--- a/arch/arm/mach-sa1100/irq.c
+++ b/arch/arm/mach-sa1100/irq.c
@@ -95,7 +95,8 @@ static int sa1100_low_gpio_wake(unsigned int irq, unsigned int on)
95 return 0; 95 return 0;
96} 96}
97 97
98static struct irqchip sa1100_low_gpio_chip = { 98static struct irq_chip sa1100_low_gpio_chip = {
99 .name = "GPIO-l",
99 .ack = sa1100_low_gpio_ack, 100 .ack = sa1100_low_gpio_ack,
100 .mask = sa1100_low_gpio_mask, 101 .mask = sa1100_low_gpio_mask,
101 .unmask = sa1100_low_gpio_unmask, 102 .unmask = sa1100_low_gpio_unmask,
@@ -178,7 +179,8 @@ static int sa1100_high_gpio_wake(unsigned int irq, unsigned int on)
178 return 0; 179 return 0;
179} 180}
180 181
181static struct irqchip sa1100_high_gpio_chip = { 182static struct irq_chip sa1100_high_gpio_chip = {
183 .name = "GPIO-h",
182 .ack = sa1100_high_gpio_ack, 184 .ack = sa1100_high_gpio_ack,
183 .mask = sa1100_high_gpio_mask, 185 .mask = sa1100_high_gpio_mask,
184 .unmask = sa1100_high_gpio_unmask, 186 .unmask = sa1100_high_gpio_unmask,
@@ -215,7 +217,8 @@ static int sa1100_set_wake(unsigned int irq, unsigned int on)
215 return -EINVAL; 217 return -EINVAL;
216} 218}
217 219
218static struct irqchip sa1100_normal_chip = { 220static struct irq_chip sa1100_normal_chip = {
221 .name = "SC",
219 .ack = sa1100_mask_irq, 222 .ack = sa1100_mask_irq,
220 .mask = sa1100_mask_irq, 223 .mask = sa1100_mask_irq,
221 .unmask = sa1100_unmask_irq, 224 .unmask = sa1100_unmask_irq,
diff --git a/arch/arm/mach-shark/irq.c b/arch/arm/mach-shark/irq.c
index 6cb67bd3dfd3..b227052296cf 100644
--- a/arch/arm/mach-shark/irq.c
+++ b/arch/arm/mach-shark/irq.c
@@ -69,7 +69,8 @@ static irqreturn_t bogus_int(int irq, void *dev_id, struct pt_regs *regs)
69 69
70static struct irqaction cascade; 70static struct irqaction cascade;
71 71
72static struct irqchip fb_chip = { 72static struct irq_chip fb_chip = {
73 .name = "XT-PIC",
73 .ack = shark_ack_8259A_irq, 74 .ack = shark_ack_8259A_irq,
74 .mask = shark_disable_8259A_irq, 75 .mask = shark_disable_8259A_irq,
75 .unmask = shark_enable_8259A_irq, 76 .unmask = shark_enable_8259A_irq,
diff --git a/arch/arm/mach-versatile/core.c b/arch/arm/mach-versatile/core.c
index a432539cc1bd..c4e3f8c68479 100644
--- a/arch/arm/mach-versatile/core.c
+++ b/arch/arm/mach-versatile/core.c
@@ -35,6 +35,7 @@
35#include <asm/hardware/arm_timer.h> 35#include <asm/hardware/arm_timer.h>
36#include <asm/hardware/icst307.h> 36#include <asm/hardware/icst307.h>
37#include <asm/hardware/vic.h> 37#include <asm/hardware/vic.h>
38#include <asm/mach-types.h>
38 39
39#include <asm/mach/arch.h> 40#include <asm/mach/arch.h>
40#include <asm/mach/flash.h> 41#include <asm/mach/flash.h>
@@ -68,7 +69,8 @@ static void sic_unmask_irq(unsigned int irq)
68 writel(1 << irq, VA_SIC_BASE + SIC_IRQ_ENABLE_SET); 69 writel(1 << irq, VA_SIC_BASE + SIC_IRQ_ENABLE_SET);
69} 70}
70 71
71static struct irqchip sic_chip = { 72static struct irq_chip sic_chip = {
73 .name = "SIC",
72 .ack = sic_mask_irq, 74 .ack = sic_mask_irq,
73 .mask = sic_mask_irq, 75 .mask = sic_mask_irq,
74 .unmask = sic_unmask_irq, 76 .unmask = sic_unmask_irq,
@@ -352,11 +354,7 @@ static const struct icst307_params versatile_oscvco_params = {
352static void versatile_oscvco_set(struct clk *clk, struct icst307_vco vco) 354static void versatile_oscvco_set(struct clk *clk, struct icst307_vco vco)
353{ 355{
354 void __iomem *sys_lock = __io_address(VERSATILE_SYS_BASE) + VERSATILE_SYS_LOCK_OFFSET; 356 void __iomem *sys_lock = __io_address(VERSATILE_SYS_BASE) + VERSATILE_SYS_LOCK_OFFSET;
355#if defined(CONFIG_ARCH_VERSATILE_PB) 357 void __iomem *sys_osc = __io_address(VERSATILE_SYS_BASE) + VERSATILE_SYS_OSCCLCD_OFFSET;
356 void __iomem *sys_osc = __io_address(VERSATILE_SYS_BASE) + VERSATILE_SYS_OSC4_OFFSET;
357#elif defined(CONFIG_MACH_VERSATILE_AB)
358 void __iomem *sys_osc = __io_address(VERSATILE_SYS_BASE) + VERSATILE_SYS_OSC1_OFFSET;
359#endif
360 u32 val; 358 u32 val;
361 359
362 val = readl(sys_osc) & ~0x7ffff; 360 val = readl(sys_osc) & ~0x7ffff;
@@ -529,7 +527,7 @@ static void versatile_clcd_disable(struct clcd_fb *fb)
529 /* 527 /*
530 * If the LCD is Sanyo 2x5 in on the IB2 board, turn the back-light off 528 * If the LCD is Sanyo 2x5 in on the IB2 board, turn the back-light off
531 */ 529 */
532 if (fb->panel == &sanyo_2_5_in) { 530 if (machine_is_versatile_ab() && fb->panel == &sanyo_2_5_in) {
533 void __iomem *versatile_ib2_ctrl = __io_address(VERSATILE_IB2_CTRL); 531 void __iomem *versatile_ib2_ctrl = __io_address(VERSATILE_IB2_CTRL);
534 unsigned long ctrl; 532 unsigned long ctrl;
535 533
@@ -578,7 +576,7 @@ static void versatile_clcd_enable(struct clcd_fb *fb)
578 /* 576 /*
579 * If the LCD is Sanyo 2x5 in on the IB2 board, turn the back-light on 577 * If the LCD is Sanyo 2x5 in on the IB2 board, turn the back-light on
580 */ 578 */
581 if (fb->panel == &sanyo_2_5_in) { 579 if (machine_is_versatile_ab() && fb->panel == &sanyo_2_5_in) {
582 void __iomem *versatile_ib2_ctrl = __io_address(VERSATILE_IB2_CTRL); 580 void __iomem *versatile_ib2_ctrl = __io_address(VERSATILE_IB2_CTRL);
583 unsigned long ctrl; 581 unsigned long ctrl;
584 582
diff --git a/arch/arm/mm/ioremap.c b/arch/arm/mm/ioremap.c
index dba7dddfe57d..88a999df0ab3 100644
--- a/arch/arm/mm/ioremap.c
+++ b/arch/arm/mm/ioremap.c
@@ -363,7 +363,9 @@ EXPORT_SYMBOL(__ioremap);
363 363
364void __iounmap(void __iomem *addr) 364void __iounmap(void __iomem *addr)
365{ 365{
366#ifndef CONFIG_SMP
366 struct vm_struct **p, *tmp; 367 struct vm_struct **p, *tmp;
368#endif
367 unsigned int section_mapping = 0; 369 unsigned int section_mapping = 0;
368 370
369 addr = (void __iomem *)(PAGE_MASK & (unsigned long)addr); 371 addr = (void __iomem *)(PAGE_MASK & (unsigned long)addr);
diff --git a/arch/arm/mm/proc-syms.c b/arch/arm/mm/proc-syms.c
index 6c5f0fe578a5..ab143557e688 100644
--- a/arch/arm/mm/proc-syms.c
+++ b/arch/arm/mm/proc-syms.c
@@ -13,6 +13,7 @@
13#include <asm/cacheflush.h> 13#include <asm/cacheflush.h>
14#include <asm/proc-fns.h> 14#include <asm/proc-fns.h>
15#include <asm/tlbflush.h> 15#include <asm/tlbflush.h>
16#include <asm/page.h>
16 17
17#ifndef MULTI_CPU 18#ifndef MULTI_CPU
18EXPORT_SYMBOL(cpu_dcache_clean_area); 19EXPORT_SYMBOL(cpu_dcache_clean_area);
@@ -30,6 +31,13 @@ EXPORT_SYMBOL(__cpuc_coherent_kern_range);
30EXPORT_SYMBOL(cpu_cache); 31EXPORT_SYMBOL(cpu_cache);
31#endif 32#endif
32 33
34#ifndef MULTI_USER
35EXPORT_SYMBOL(__cpu_clear_user_page);
36EXPORT_SYMBOL(__cpu_copy_user_page);
37#else
38EXPORT_SYMBOL(cpu_user);
39#endif
40
33/* 41/*
34 * No module should need to touch the TLB (and currently 42 * No module should need to touch the TLB (and currently
35 * no modules do. We export this for "loadkernel" support 43 * no modules do. We export this for "loadkernel" support
diff --git a/arch/arm/mm/proc-xscale.S b/arch/arm/mm/proc-xscale.S
index 521538671f4c..561bff73a036 100644
--- a/arch/arm/mm/proc-xscale.S
+++ b/arch/arm/mm/proc-xscale.S
@@ -536,6 +536,11 @@ cpu_80200_name:
536 .asciz "XScale-80200" 536 .asciz "XScale-80200"
537 .size cpu_80200_name, . - cpu_80200_name 537 .size cpu_80200_name, . - cpu_80200_name
538 538
539 .type cpu_80219_name, #object
540cpu_80219_name:
541 .asciz "XScale-80219"
542 .size cpu_80219_name, . - cpu_80219_name
543
539 .type cpu_8032x_name, #object 544 .type cpu_8032x_name, #object
540cpu_8032x_name: 545cpu_8032x_name:
541 .asciz "XScale-IOP8032x Family" 546 .asciz "XScale-IOP8032x Family"
@@ -613,10 +618,33 @@ __80200_proc_info:
613 .long xscale_cache_fns 618 .long xscale_cache_fns
614 .size __80200_proc_info, . - __80200_proc_info 619 .size __80200_proc_info, . - __80200_proc_info
615 620
621 .type __80219_proc_info,#object
622__80219_proc_info:
623 .long 0x69052e20
624 .long 0xffffffe0
625 .long PMD_TYPE_SECT | \
626 PMD_SECT_BUFFERABLE | \
627 PMD_SECT_CACHEABLE | \
628 PMD_SECT_AP_WRITE | \
629 PMD_SECT_AP_READ
630 .long PMD_TYPE_SECT | \
631 PMD_SECT_AP_WRITE | \
632 PMD_SECT_AP_READ
633 b __xscale_setup
634 .long cpu_arch_name
635 .long cpu_elf_name
636 .long HWCAP_SWP|HWCAP_HALF|HWCAP_THUMB|HWCAP_FAST_MULT|HWCAP_EDSP
637 .long cpu_80219_name
638 .long xscale_processor_functions
639 .long v4wbi_tlb_fns
640 .long xscale_mc_user_fns
641 .long xscale_cache_fns
642 .size __80219_proc_info, . - __80219_proc_info
643
616 .type __8032x_proc_info,#object 644 .type __8032x_proc_info,#object
617__8032x_proc_info: 645__8032x_proc_info:
618 .long 0x69052420 646 .long 0x69052420
619 .long 0xfffff5e0 @ mask should accomodate IOP80219 also 647 .long 0xffffffe0
620 .long PMD_TYPE_SECT | \ 648 .long PMD_TYPE_SECT | \
621 PMD_SECT_BUFFERABLE | \ 649 PMD_SECT_BUFFERABLE | \
622 PMD_SECT_CACHEABLE | \ 650 PMD_SECT_CACHEABLE | \
diff --git a/arch/arm/nwfpe/softfloat.h b/arch/arm/nwfpe/softfloat.h
index e1125bc39ee4..0a3067452cd2 100644
--- a/arch/arm/nwfpe/softfloat.h
+++ b/arch/arm/nwfpe/softfloat.h
@@ -61,7 +61,7 @@ typedef struct {
61 u16 __padding; 61 u16 __padding;
62#endif 62#endif
63 u64 low; 63 u64 low;
64} floatx80; 64} __attribute__ ((packed,aligned(4))) floatx80;
65 65
66/* 66/*
67------------------------------------------------------------------------------- 67-------------------------------------------------------------------------------
diff --git a/arch/arm/plat-omap/gpio.c b/arch/arm/plat-omap/gpio.c
index fec7970e564d..cd7f973fb286 100644
--- a/arch/arm/plat-omap/gpio.c
+++ b/arch/arm/plat-omap/gpio.c
@@ -944,7 +944,8 @@ static void mpuio_unmask_irq(unsigned int irq)
944 _set_gpio_irqenable(bank, gpio, 1); 944 _set_gpio_irqenable(bank, gpio, 1);
945} 945}
946 946
947static struct irqchip gpio_irq_chip = { 947static struct irq_chip gpio_irq_chip = {
948 .name = "GPIO",
948 .ack = gpio_ack_irq, 949 .ack = gpio_ack_irq,
949 .mask = gpio_mask_irq, 950 .mask = gpio_mask_irq,
950 .unmask = gpio_unmask_irq, 951 .unmask = gpio_unmask_irq,
@@ -952,10 +953,11 @@ static struct irqchip gpio_irq_chip = {
952 .set_wake = gpio_wake_enable, 953 .set_wake = gpio_wake_enable,
953}; 954};
954 955
955static struct irqchip mpuio_irq_chip = { 956static struct irq_chip mpuio_irq_chip = {
957 .name = "MPUIO",
956 .ack = mpuio_ack_irq, 958 .ack = mpuio_ack_irq,
957 .mask = mpuio_mask_irq, 959 .mask = mpuio_mask_irq,
958 .unmask = mpuio_unmask_irq 960 .unmask = mpuio_unmask_irq
959}; 961};
960 962
961static int initialized; 963static int initialized;
diff --git a/arch/arm26/kernel/setup.c b/arch/arm26/kernel/setup.c
index 843c29fe9af5..e7eb070f794f 100644
--- a/arch/arm26/kernel/setup.c
+++ b/arch/arm26/kernel/setup.c
@@ -17,7 +17,7 @@
17#include <linux/console.h> 17#include <linux/console.h>
18#include <linux/bootmem.h> 18#include <linux/bootmem.h>
19#include <linux/seq_file.h> 19#include <linux/seq_file.h>
20#include <linux/tty.h> 20#include <linux/screen_info.h>
21#include <linux/init.h> 21#include <linux/init.h>
22#include <linux/root_dev.h> 22#include <linux/root_dev.h>
23 23
diff --git a/arch/cris/arch-v10/drivers/eeprom.c b/arch/cris/arch-v10/drivers/eeprom.c
index 037582028560..6e1f191a71e3 100644
--- a/arch/cris/arch-v10/drivers/eeprom.c
+++ b/arch/cris/arch-v10/drivers/eeprom.c
@@ -450,9 +450,9 @@ int __init eeprom_init(void)
450static int eeprom_open(struct inode * inode, struct file * file) 450static int eeprom_open(struct inode * inode, struct file * file)
451{ 451{
452 452
453 if(MINOR(inode->i_rdev) != EEPROM_MINOR_NR) 453 if(iminor(inode) != EEPROM_MINOR_NR)
454 return -ENXIO; 454 return -ENXIO;
455 if(MAJOR(inode->i_rdev) != EEPROM_MAJOR_NR) 455 if(imajor(inode) != EEPROM_MAJOR_NR)
456 return -ENXIO; 456 return -ENXIO;
457 457
458 if( eeprom.size > 0 ) 458 if( eeprom.size > 0 )
diff --git a/arch/cris/arch-v10/drivers/gpio.c b/arch/cris/arch-v10/drivers/gpio.c
index 48fd801792d1..fcba6632ed7b 100644
--- a/arch/cris/arch-v10/drivers/gpio.c
+++ b/arch/cris/arch-v10/drivers/gpio.c
@@ -435,7 +435,7 @@ static int
435gpio_open(struct inode *inode, struct file *filp) 435gpio_open(struct inode *inode, struct file *filp)
436{ 436{
437 struct gpio_private *priv; 437 struct gpio_private *priv;
438 int p = MINOR(inode->i_rdev); 438 int p = iminor(inode);
439 439
440 if (p > GPIO_MINOR_LAST) 440 if (p > GPIO_MINOR_LAST)
441 return -EINVAL; 441 return -EINVAL;
diff --git a/arch/cris/arch-v32/drivers/cryptocop.c b/arch/cris/arch-v32/drivers/cryptocop.c
index c59ee28a35f4..ba096ebb0b15 100644
--- a/arch/cris/arch-v32/drivers/cryptocop.c
+++ b/arch/cris/arch-v32/drivers/cryptocop.c
@@ -2302,7 +2302,7 @@ static int cryptocop_job_setup(struct cryptocop_prio_job **pj, struct cryptocop_
2302 2302
2303static int cryptocop_open(struct inode *inode, struct file *filp) 2303static int cryptocop_open(struct inode *inode, struct file *filp)
2304{ 2304{
2305 int p = MINOR(inode->i_rdev); 2305 int p = iminor(inode);
2306 2306
2307 if (p != CRYPTOCOP_MINOR) return -EINVAL; 2307 if (p != CRYPTOCOP_MINOR) return -EINVAL;
2308 2308
diff --git a/arch/cris/arch-v32/drivers/gpio.c b/arch/cris/arch-v32/drivers/gpio.c
index 00e9167de530..c3f876b4da6b 100644
--- a/arch/cris/arch-v32/drivers/gpio.c
+++ b/arch/cris/arch-v32/drivers/gpio.c
@@ -418,7 +418,7 @@ static int
418gpio_open(struct inode *inode, struct file *filp) 418gpio_open(struct inode *inode, struct file *filp)
419{ 419{
420 struct gpio_private *priv; 420 struct gpio_private *priv;
421 int p = MINOR(inode->i_rdev); 421 int p = iminor(inode);
422 422
423 if (p > GPIO_MINOR_LAST) 423 if (p > GPIO_MINOR_LAST)
424 return -EINVAL; 424 return -EINVAL;
diff --git a/arch/cris/arch-v32/drivers/pcf8563.c b/arch/cris/arch-v32/drivers/pcf8563.c
index ffc6d2572f2b..2fc7d75a35de 100644
--- a/arch/cris/arch-v32/drivers/pcf8563.c
+++ b/arch/cris/arch-v32/drivers/pcf8563.c
@@ -324,14 +324,12 @@ pcf8563_ioctl(struct inode *inode, struct file *filp, unsigned int cmd, unsigned
324int 324int
325pcf8563_open(struct inode *inode, struct file *filp) 325pcf8563_open(struct inode *inode, struct file *filp)
326{ 326{
327 MOD_INC_USE_COUNT;
328 return 0; 327 return 0;
329} 328}
330 329
331int 330int
332pcf8563_release(struct inode *inode, struct file *filp) 331pcf8563_release(struct inode *inode, struct file *filp)
333{ 332{
334 MOD_DEC_USE_COUNT;
335 return 0; 333 return 0;
336} 334}
337 335
diff --git a/arch/cris/arch-v32/drivers/sync_serial.c b/arch/cris/arch-v32/drivers/sync_serial.c
index 7c29957f5f02..e067806b2208 100644
--- a/arch/cris/arch-v32/drivers/sync_serial.c
+++ b/arch/cris/arch-v32/drivers/sync_serial.c
@@ -340,7 +340,7 @@ static inline int sync_data_avail_to_end(struct sync_port *port)
340 340
341static int sync_serial_open(struct inode *inode, struct file *file) 341static int sync_serial_open(struct inode *inode, struct file *file)
342{ 342{
343 int dev = MINOR(inode->i_rdev); 343 int dev = iminor(inode);
344 sync_port* port; 344 sync_port* port;
345 reg_dma_rw_cfg cfg = {.en = regk_dma_yes}; 345 reg_dma_rw_cfg cfg = {.en = regk_dma_yes};
346 reg_dma_rw_intr_mask intr_mask = {.data = regk_dma_yes}; 346 reg_dma_rw_intr_mask intr_mask = {.data = regk_dma_yes};
@@ -486,7 +486,7 @@ static int sync_serial_open(struct inode *inode, struct file *file)
486 486
487static int sync_serial_release(struct inode *inode, struct file *file) 487static int sync_serial_release(struct inode *inode, struct file *file)
488{ 488{
489 int dev = MINOR(inode->i_rdev); 489 int dev = iminor(inode);
490 sync_port* port; 490 sync_port* port;
491 491
492 if (dev < 0 || dev >= NUMBER_OF_PORTS || !ports[dev].enabled) 492 if (dev < 0 || dev >= NUMBER_OF_PORTS || !ports[dev].enabled)
@@ -504,7 +504,7 @@ static int sync_serial_release(struct inode *inode, struct file *file)
504 504
505static unsigned int sync_serial_poll(struct file *file, poll_table *wait) 505static unsigned int sync_serial_poll(struct file *file, poll_table *wait)
506{ 506{
507 int dev = MINOR(file->f_dentry->d_inode->i_rdev); 507 int dev = iminor(file->f_dentry->d_inode);
508 unsigned int mask = 0; 508 unsigned int mask = 0;
509 sync_port* port; 509 sync_port* port;
510 DEBUGPOLL( static unsigned int prev_mask = 0; ); 510 DEBUGPOLL( static unsigned int prev_mask = 0; );
@@ -531,7 +531,7 @@ static int sync_serial_ioctl(struct inode *inode, struct file *file,
531 unsigned int cmd, unsigned long arg) 531 unsigned int cmd, unsigned long arg)
532{ 532{
533 int return_val = 0; 533 int return_val = 0;
534 int dev = MINOR(file->f_dentry->d_inode->i_rdev); 534 int dev = iminor(file->f_dentry->d_inode);
535 sync_port* port; 535 sync_port* port;
536 reg_sser_rw_tr_cfg tr_cfg; 536 reg_sser_rw_tr_cfg tr_cfg;
537 reg_sser_rw_rec_cfg rec_cfg; 537 reg_sser_rw_rec_cfg rec_cfg;
@@ -789,7 +789,7 @@ static int sync_serial_ioctl(struct inode *inode, struct file *file,
789static ssize_t sync_serial_write(struct file * file, const char * buf, 789static ssize_t sync_serial_write(struct file * file, const char * buf,
790 size_t count, loff_t *ppos) 790 size_t count, loff_t *ppos)
791{ 791{
792 int dev = MINOR(file->f_dentry->d_inode->i_rdev); 792 int dev = iminor(file->f_dentry->d_inode);
793 DECLARE_WAITQUEUE(wait, current); 793 DECLARE_WAITQUEUE(wait, current);
794 sync_port *port; 794 sync_port *port;
795 unsigned long c, c1; 795 unsigned long c, c1;
@@ -919,7 +919,7 @@ static ssize_t sync_serial_write(struct file * file, const char * buf,
919static ssize_t sync_serial_read(struct file * file, char * buf, 919static ssize_t sync_serial_read(struct file * file, char * buf,
920 size_t count, loff_t *ppos) 920 size_t count, loff_t *ppos)
921{ 921{
922 int dev = MINOR(file->f_dentry->d_inode->i_rdev); 922 int dev = iminor(file->f_dentry->d_inode);
923 int avail; 923 int avail;
924 sync_port *port; 924 sync_port *port;
925 unsigned char* start; 925 unsigned char* start;
diff --git a/arch/cris/kernel/setup.c b/arch/cris/kernel/setup.c
index 6d941fb9f379..7af3d5d43e43 100644
--- a/arch/cris/kernel/setup.c
+++ b/arch/cris/kernel/setup.c
@@ -15,7 +15,7 @@
15#include <linux/bootmem.h> 15#include <linux/bootmem.h>
16#include <asm/pgtable.h> 16#include <asm/pgtable.h>
17#include <linux/seq_file.h> 17#include <linux/seq_file.h>
18#include <linux/tty.h> 18#include <linux/screen_info.h>
19#include <linux/utsname.h> 19#include <linux/utsname.h>
20#include <linux/pfn.h> 20#include <linux/pfn.h>
21 21
diff --git a/arch/frv/kernel/asm-offsets.c b/arch/frv/kernel/asm-offsets.c
index 9e263112a6e2..fbb19fc1af40 100644
--- a/arch/frv/kernel/asm-offsets.c
+++ b/arch/frv/kernel/asm-offsets.c
@@ -1 +1,115 @@
1/* Dummy asm-offsets.c file. Required by kbuild and ready to be used - hint! */ 1/*
2 * Generate definitions needed by assembly language modules.
3 * This code generates raw asm output which is post-processed
4 * to extract and format the required data.
5 */
6
7#include <linux/sched.h>
8#include <linux/signal.h>
9#include <linux/personality.h>
10#include <asm/registers.h>
11#include <asm/ucontext.h>
12#include <asm/processor.h>
13#include <asm/thread_info.h>
14#include <asm/gdb-stub.h>
15
16#define DEFINE(sym, val) \
17 asm volatile("\n->" #sym " %0 " #val : : "i" (val))
18
19#define DEF_PTREG(sym, reg) \
20 asm volatile("\n->" #sym " %0 offsetof(struct pt_regs, " #reg ")" \
21 : : "i" (offsetof(struct pt_regs, reg)))
22
23#define DEF_IREG(sym, reg) \
24 asm volatile("\n->" #sym " %0 offsetof(struct user_context, " #reg ")" \
25 : : "i" (offsetof(struct user_context, reg)))
26
27#define DEF_FREG(sym, reg) \
28 asm volatile("\n->" #sym " %0 offsetof(struct user_context, " #reg ")" \
29 : : "i" (offsetof(struct user_context, reg)))
30
31#define DEF_0REG(sym, reg) \
32 asm volatile("\n->" #sym " %0 offsetof(struct frv_frame0, " #reg ")" \
33 : : "i" (offsetof(struct frv_frame0, reg)))
34
35#define BLANK() asm volatile("\n->" : : )
36
37#define OFFSET(sym, str, mem) \
38 DEFINE(sym, offsetof(struct str, mem));
39
40void foo(void)
41{
42 /* offsets into the thread_info structure */
43 OFFSET(TI_TASK, thread_info, task);
44 OFFSET(TI_EXEC_DOMAIN, thread_info, exec_domain);
45 OFFSET(TI_FLAGS, thread_info, flags);
46 OFFSET(TI_STATUS, thread_info, status);
47 OFFSET(TI_CPU, thread_info, cpu);
48 OFFSET(TI_PREEMPT_COUNT, thread_info, preempt_count);
49 OFFSET(TI_ADDR_LIMIT, thread_info, addr_limit);
50 OFFSET(TI_RESTART_BLOCK, thread_info, restart_block);
51 BLANK();
52
53 /* offsets into register file storage */
54 DEF_PTREG(REG_PSR, psr);
55 DEF_PTREG(REG_ISR, isr);
56 DEF_PTREG(REG_CCR, ccr);
57 DEF_PTREG(REG_CCCR, cccr);
58 DEF_PTREG(REG_LR, lr);
59 DEF_PTREG(REG_LCR, lcr);
60 DEF_PTREG(REG_PC, pc);
61 DEF_PTREG(REG__STATUS, __status);
62 DEF_PTREG(REG_SYSCALLNO, syscallno);
63 DEF_PTREG(REG_ORIG_GR8, orig_gr8);
64 DEF_PTREG(REG_GNER0, gner0);
65 DEF_PTREG(REG_GNER1, gner1);
66 DEF_PTREG(REG_IACC0, iacc0);
67 DEF_PTREG(REG_TBR, tbr);
68 DEF_PTREG(REG_GR0, tbr);
69 DEFINE(REG__END, sizeof(struct pt_regs));
70 BLANK();
71
72 DEF_0REG(REG_DCR, debug.dcr);
73 DEF_0REG(REG_IBAR0, debug.ibar[0]);
74 DEF_0REG(REG_DBAR0, debug.dbar[0]);
75 DEF_0REG(REG_DBDR00, debug.dbdr[0][0]);
76 DEF_0REG(REG_DBMR00, debug.dbmr[0][0]);
77 BLANK();
78
79 DEF_IREG(__INT_GR0, i.gr[0]);
80 DEF_FREG(__USER_FPMEDIA, f);
81 DEF_FREG(__FPMEDIA_FR0, f.fr[0]);
82 DEF_FREG(__FPMEDIA_FNER0, f.fner[0]);
83 DEF_FREG(__FPMEDIA_MSR0, f.msr[0]);
84 DEF_FREG(__FPMEDIA_ACC0, f.acc[0]);
85 DEF_FREG(__FPMEDIA_ACCG0, f.accg[0]);
86 DEF_FREG(__FPMEDIA_FSR0, f.fsr[0]);
87 BLANK();
88
89 DEFINE(NR_PT_REGS, sizeof(struct pt_regs) / 4);
90 DEFINE(NR_USER_INT_REGS, sizeof(struct user_int_regs) / 4);
91 DEFINE(NR_USER_FPMEDIA_REGS, sizeof(struct user_fpmedia_regs) / 4);
92 DEFINE(NR_USER_CONTEXT, sizeof(struct user_context) / 4);
93 DEFINE(FRV_FRAME0_SIZE, sizeof(struct frv_frame0));
94 BLANK();
95
96 /* offsets into thread_struct */
97 OFFSET(__THREAD_FRAME, thread_struct, frame);
98 OFFSET(__THREAD_CURR, thread_struct, curr);
99 OFFSET(__THREAD_SP, thread_struct, sp);
100 OFFSET(__THREAD_FP, thread_struct, fp);
101 OFFSET(__THREAD_LR, thread_struct, lr);
102 OFFSET(__THREAD_PC, thread_struct, pc);
103 OFFSET(__THREAD_GR16, thread_struct, gr[0]);
104 OFFSET(__THREAD_SCHED_LR, thread_struct, sched_lr);
105 OFFSET(__THREAD_FRAME0, thread_struct, frame0);
106 OFFSET(__THREAD_USER, thread_struct, user);
107 BLANK();
108
109 /* offsets into frv_debug_status */
110 OFFSET(DEBUG_BPSR, frv_debug_status, bpsr);
111 OFFSET(DEBUG_DCR, frv_debug_status, dcr);
112 OFFSET(DEBUG_BRR, frv_debug_status, brr);
113 OFFSET(DEBUG_NMAR, frv_debug_status, nmar);
114 BLANK();
115}
diff --git a/arch/frv/kernel/break.S b/arch/frv/kernel/break.S
index ea161f0ca427..dac4a5f68c2e 100644
--- a/arch/frv/kernel/break.S
+++ b/arch/frv/kernel/break.S
@@ -9,11 +9,11 @@
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#include <linux/sys.h>
13#include <linux/linkage.h> 12#include <linux/linkage.h>
14#include <asm/setup.h> 13#include <asm/setup.h>
15#include <asm/segment.h> 14#include <asm/segment.h>
16#include <asm/ptrace.h> 15#include <asm/ptrace.h>
16#include <asm/thread_info.h>
17#include <asm/spr-regs.h> 17#include <asm/spr-regs.h>
18 18
19#include <asm/errno.h> 19#include <asm/errno.h>
@@ -23,13 +23,11 @@
23# 23#
24 .section .bss.stack 24 .section .bss.stack
25 .globl __break_user_context 25 .globl __break_user_context
26 .balign 8192 26 .balign THREAD_SIZE
27__break_stack: 27__break_stack:
28 .space (8192 - (USER_CONTEXT_SIZE + REG__DEBUG_XTRA)) & ~7 28 .space THREAD_SIZE - FRV_FRAME0_SIZE
29__break_stack_tos: 29__break_frame_0:
30 .space REG__DEBUG_XTRA 30 .space FRV_FRAME0_SIZE
31__break_user_context:
32 .space USER_CONTEXT_SIZE
33 31
34# 32#
35# miscellaneous variables 33# miscellaneous variables
@@ -74,8 +72,8 @@ __entry_break:
74#endif 72#endif
75 LEDS 0x1001,gr31 73 LEDS 0x1001,gr31
76 74
77 sethi.p %hi(__break_user_context),gr31 75 sethi.p %hi(__break_frame_0),gr31
78 setlo %lo(__break_user_context),gr31 76 setlo %lo(__break_frame_0),gr31
79 77
80 stdi gr2,@(gr31,#REG_GR(2)) 78 stdi gr2,@(gr31,#REG_GR(2))
81 movsg ccr,gr3 79 movsg ccr,gr3
@@ -585,8 +583,8 @@ __break_continue:
585 # set up the kernel stack pointer 583 # set up the kernel stack pointer
586 sti sp,@(gr31,#REG_SP) 584 sti sp,@(gr31,#REG_SP)
587 585
588 sethi.p %hi(__break_stack_tos),sp 586 sethi.p %hi(__break_frame_0),sp
589 setlo %lo(__break_stack_tos),sp 587 setlo %lo(__break_frame_0),sp
590 588
591 # finish building the exception frame 589 # finish building the exception frame
592 stdi gr4 ,@(gr31,#REG_GR(4)) 590 stdi gr4 ,@(gr31,#REG_GR(4))
@@ -651,9 +649,12 @@ __break_continue:
651 movsg nmar,gr5 649 movsg nmar,gr5
652 movsg dcr,gr6 650 movsg dcr,gr6
653 651
654 stdi gr4 ,@(gr31,#REG_BRR) 652 sethi.p %hi(__debug_status),gr7
655 sti gr19,@(gr31,#REG_BPSR) 653 setlo %lo(__debug_status),gr7
656 sti.p gr6 ,@(gr31,#REG_DCR) 654
655 stdi gr4 ,@(gr7,#DEBUG_BRR)
656 sti gr19,@(gr7,#DEBUG_BPSR)
657 sti.p gr6 ,@(gr7,#DEBUG_DCR)
657 658
658 # trap exceptions during break handling and disable h/w breakpoints/watchpoints 659 # trap exceptions during break handling and disable h/w breakpoints/watchpoints
659 sethi %hi(DCR_EBE),gr5 660 sethi %hi(DCR_EBE),gr5
@@ -698,7 +699,10 @@ __break_continue:
698 lddi @(gr31,#REG_PSR) ,gr22 699 lddi @(gr31,#REG_PSR) ,gr22
699 ldi @(gr31,#REG_PC) ,gr21 700 ldi @(gr31,#REG_PC) ,gr21
700 ldi @(gr31,#REG_TBR) ,gr20 701 ldi @(gr31,#REG_TBR) ,gr20
701 ldi.p @(gr31,#REG_DCR) ,gr6 702
703 sethi.p %hi(__debug_status),gr6
704 setlo %lo(__debug_status),gr6
705 ldi.p @(gr6,#DEBUG_DCR) ,gr6
702 706
703 andi gr22,#PSR_S,gr19 /* rebuild BPSR */ 707 andi gr22,#PSR_S,gr19 /* rebuild BPSR */
704 andi.p gr22,#PSR_ET,gr5 708 andi.p gr22,#PSR_ET,gr5
diff --git a/arch/frv/kernel/debug-stub.c b/arch/frv/kernel/debug-stub.c
index 4761cc4b4a90..2f6c60c921e0 100644
--- a/arch/frv/kernel/debug-stub.c
+++ b/arch/frv/kernel/debug-stub.c
@@ -39,10 +39,9 @@ do { \
39 gdbstub_do_rx(); \ 39 gdbstub_do_rx(); \
40} while(!FLOWCTL_QUERY(LINE)) 40} while(!FLOWCTL_QUERY(LINE))
41 41
42static void __init debug_stub_init(void); 42struct frv_debug_status __debug_status;
43 43
44extern asmlinkage void __break_hijack_kernel_event(void); 44static void __init debug_stub_init(void);
45extern asmlinkage void __break_hijack_kernel_event_breaks_here(void);
46 45
47/*****************************************************************************/ 46/*****************************************************************************/
48/* 47/*
@@ -67,7 +66,7 @@ asmlinkage void debug_stub(void)
67 __set_HSR(0, hsr0 & ~HSR0_ETMD); 66 __set_HSR(0, hsr0 & ~HSR0_ETMD);
68 67
69 /* disable single stepping */ 68 /* disable single stepping */
70 __debug_regs->dcr &= ~DCR_SE; 69 __debug_status.dcr &= ~DCR_SE;
71 70
72 /* kernel mode can propose an exception be handled in debug mode by jumping to a special 71 /* kernel mode can propose an exception be handled in debug mode by jumping to a special
73 * location */ 72 * location */
@@ -76,8 +75,8 @@ asmlinkage void debug_stub(void)
76 * the top kernel context */ 75 * the top kernel context */
77 *__debug_frame = *__frame; 76 *__debug_frame = *__frame;
78 __frame = __debug_frame->next_frame; 77 __frame = __debug_frame->next_frame;
79 __debug_regs->brr = (__debug_frame->tbr & TBR_TT) << 12; 78 __debug_status.brr = (__debug_frame->tbr & TBR_TT) << 12;
80 __debug_regs->brr |= BRR_EB; 79 __debug_status.brr |= BRR_EB;
81 } 80 }
82 81
83 if (__debug_frame->pc == (unsigned long) __debug_bug_trap + 4) { 82 if (__debug_frame->pc == (unsigned long) __debug_bug_trap + 4) {
@@ -124,7 +123,7 @@ static void __init debug_stub_init(void)
124 __debug_frame->pc = (unsigned long) start_kernel; 123 __debug_frame->pc = (unsigned long) start_kernel;
125 124
126 /* enable the debug events we want to trap */ 125 /* enable the debug events we want to trap */
127 __debug_regs->dcr = DCR_EBE; 126 __debug_status.dcr = DCR_EBE;
128 127
129#ifdef CONFIG_GDBSTUB 128#ifdef CONFIG_GDBSTUB
130 gdbstub_init(); 129 gdbstub_init();
diff --git a/arch/frv/kernel/entry.S b/arch/frv/kernel/entry.S
index 2a1ff1ff8692..940ac306e9a0 100644
--- a/arch/frv/kernel/entry.S
+++ b/arch/frv/kernel/entry.S
@@ -27,7 +27,6 @@
27 * 27 *
28 */ 28 */
29 29
30#include <linux/sys.h>
31#include <linux/linkage.h> 30#include <linux/linkage.h>
32#include <asm/thread_info.h> 31#include <asm/thread_info.h>
33#include <asm/setup.h> 32#include <asm/setup.h>
diff --git a/arch/frv/kernel/gdb-stub.c b/arch/frv/kernel/gdb-stub.c
index 508601fad079..9550f37fb62c 100644
--- a/arch/frv/kernel/gdb-stub.c
+++ b/arch/frv/kernel/gdb-stub.c
@@ -124,6 +124,7 @@
124#include <linux/slab.h> 124#include <linux/slab.h>
125#include <linux/nmi.h> 125#include <linux/nmi.h>
126 126
127#include <asm/asm-offsets.h>
127#include <asm/pgtable.h> 128#include <asm/pgtable.h>
128#include <asm/system.h> 129#include <asm/system.h>
129#include <asm/gdb-stub.h> 130#include <asm/gdb-stub.h>
@@ -136,7 +137,6 @@ extern void debug_to_serial(const char *p, int n);
136extern void gdbstub_console_write(struct console *co, const char *p, unsigned n); 137extern void gdbstub_console_write(struct console *co, const char *p, unsigned n);
137 138
138extern volatile uint32_t __break_error_detect[3]; /* ESFR1, ESR15, EAR15 */ 139extern volatile uint32_t __break_error_detect[3]; /* ESFR1, ESR15, EAR15 */
139extern struct user_context __break_user_context;
140 140
141struct __debug_amr { 141struct __debug_amr {
142 unsigned long L, P; 142 unsigned long L, P;
@@ -926,6 +926,7 @@ static int gdbstub_set_breakpoint(unsigned long type, unsigned long addr, unsign
926 if (!(__debug_regs->dcr & DCR_IBE0)) { 926 if (!(__debug_regs->dcr & DCR_IBE0)) {
927 //gdbstub_printk("set h/w break 0: %08lx\n", addr); 927 //gdbstub_printk("set h/w break 0: %08lx\n", addr);
928 __debug_regs->dcr |= DCR_IBE0; 928 __debug_regs->dcr |= DCR_IBE0;
929 __debug_regs->ibar[0] = addr;
929 asm volatile("movgs %0,ibar0" : : "r"(addr)); 930 asm volatile("movgs %0,ibar0" : : "r"(addr));
930 return 0; 931 return 0;
931 } 932 }
@@ -933,6 +934,7 @@ static int gdbstub_set_breakpoint(unsigned long type, unsigned long addr, unsign
933 if (!(__debug_regs->dcr & DCR_IBE1)) { 934 if (!(__debug_regs->dcr & DCR_IBE1)) {
934 //gdbstub_printk("set h/w break 1: %08lx\n", addr); 935 //gdbstub_printk("set h/w break 1: %08lx\n", addr);
935 __debug_regs->dcr |= DCR_IBE1; 936 __debug_regs->dcr |= DCR_IBE1;
937 __debug_regs->ibar[1] = addr;
936 asm volatile("movgs %0,ibar1" : : "r"(addr)); 938 asm volatile("movgs %0,ibar1" : : "r"(addr));
937 return 0; 939 return 0;
938 } 940 }
@@ -940,6 +942,7 @@ static int gdbstub_set_breakpoint(unsigned long type, unsigned long addr, unsign
940 if (!(__debug_regs->dcr & DCR_IBE2)) { 942 if (!(__debug_regs->dcr & DCR_IBE2)) {
941 //gdbstub_printk("set h/w break 2: %08lx\n", addr); 943 //gdbstub_printk("set h/w break 2: %08lx\n", addr);
942 __debug_regs->dcr |= DCR_IBE2; 944 __debug_regs->dcr |= DCR_IBE2;
945 __debug_regs->ibar[2] = addr;
943 asm volatile("movgs %0,ibar2" : : "r"(addr)); 946 asm volatile("movgs %0,ibar2" : : "r"(addr));
944 return 0; 947 return 0;
945 } 948 }
@@ -947,6 +950,7 @@ static int gdbstub_set_breakpoint(unsigned long type, unsigned long addr, unsign
947 if (!(__debug_regs->dcr & DCR_IBE3)) { 950 if (!(__debug_regs->dcr & DCR_IBE3)) {
948 //gdbstub_printk("set h/w break 3: %08lx\n", addr); 951 //gdbstub_printk("set h/w break 3: %08lx\n", addr);
949 __debug_regs->dcr |= DCR_IBE3; 952 __debug_regs->dcr |= DCR_IBE3;
953 __debug_regs->ibar[3] = addr;
950 asm volatile("movgs %0,ibar3" : : "r"(addr)); 954 asm volatile("movgs %0,ibar3" : : "r"(addr));
951 return 0; 955 return 0;
952 } 956 }
@@ -971,7 +975,14 @@ static int gdbstub_set_breakpoint(unsigned long type, unsigned long addr, unsign
971 if (!(__debug_regs->dcr & (DCR_DRBE0|DCR_DWBE0))) { 975 if (!(__debug_regs->dcr & (DCR_DRBE0|DCR_DWBE0))) {
972 //gdbstub_printk("set h/w watchpoint 0 type %ld: %08lx\n", type, addr); 976 //gdbstub_printk("set h/w watchpoint 0 type %ld: %08lx\n", type, addr);
973 tmp = type==2 ? DCR_DWBE0 : type==3 ? DCR_DRBE0 : DCR_DRBE0|DCR_DWBE0; 977 tmp = type==2 ? DCR_DWBE0 : type==3 ? DCR_DRBE0 : DCR_DRBE0|DCR_DWBE0;
978
974 __debug_regs->dcr |= tmp; 979 __debug_regs->dcr |= tmp;
980 __debug_regs->dbar[0] = addr;
981 __debug_regs->dbmr[0][0] = dbmr.mask0;
982 __debug_regs->dbmr[0][1] = dbmr.mask1;
983 __debug_regs->dbdr[0][0] = 0;
984 __debug_regs->dbdr[0][1] = 0;
985
975 asm volatile(" movgs %0,dbar0 \n" 986 asm volatile(" movgs %0,dbar0 \n"
976 " movgs %1,dbmr00 \n" 987 " movgs %1,dbmr00 \n"
977 " movgs %2,dbmr01 \n" 988 " movgs %2,dbmr01 \n"
@@ -984,7 +995,14 @@ static int gdbstub_set_breakpoint(unsigned long type, unsigned long addr, unsign
984 if (!(__debug_regs->dcr & (DCR_DRBE1|DCR_DWBE1))) { 995 if (!(__debug_regs->dcr & (DCR_DRBE1|DCR_DWBE1))) {
985 //gdbstub_printk("set h/w watchpoint 1 type %ld: %08lx\n", type, addr); 996 //gdbstub_printk("set h/w watchpoint 1 type %ld: %08lx\n", type, addr);
986 tmp = type==2 ? DCR_DWBE1 : type==3 ? DCR_DRBE1 : DCR_DRBE1|DCR_DWBE1; 997 tmp = type==2 ? DCR_DWBE1 : type==3 ? DCR_DRBE1 : DCR_DRBE1|DCR_DWBE1;
998
987 __debug_regs->dcr |= tmp; 999 __debug_regs->dcr |= tmp;
1000 __debug_regs->dbar[1] = addr;
1001 __debug_regs->dbmr[1][0] = dbmr.mask0;
1002 __debug_regs->dbmr[1][1] = dbmr.mask1;
1003 __debug_regs->dbdr[1][0] = 0;
1004 __debug_regs->dbdr[1][1] = 0;
1005
988 asm volatile(" movgs %0,dbar1 \n" 1006 asm volatile(" movgs %0,dbar1 \n"
989 " movgs %1,dbmr10 \n" 1007 " movgs %1,dbmr10 \n"
990 " movgs %2,dbmr11 \n" 1008 " movgs %2,dbmr11 \n"
@@ -1047,6 +1065,7 @@ int gdbstub_clear_breakpoint(unsigned long type, unsigned long addr, unsigned lo
1047 if (__debug_regs->dcr & DCR_IBE0 && __get_ibar(0) == addr) { 1065 if (__debug_regs->dcr & DCR_IBE0 && __get_ibar(0) == addr) {
1048 //gdbstub_printk("clear h/w break 0: %08lx\n", addr); 1066 //gdbstub_printk("clear h/w break 0: %08lx\n", addr);
1049 __debug_regs->dcr &= ~DCR_IBE0; 1067 __debug_regs->dcr &= ~DCR_IBE0;
1068 __debug_regs->ibar[0] = 0;
1050 asm volatile("movgs gr0,ibar0"); 1069 asm volatile("movgs gr0,ibar0");
1051 return 0; 1070 return 0;
1052 } 1071 }
@@ -1054,6 +1073,7 @@ int gdbstub_clear_breakpoint(unsigned long type, unsigned long addr, unsigned lo
1054 if (__debug_regs->dcr & DCR_IBE1 && __get_ibar(1) == addr) { 1073 if (__debug_regs->dcr & DCR_IBE1 && __get_ibar(1) == addr) {
1055 //gdbstub_printk("clear h/w break 1: %08lx\n", addr); 1074 //gdbstub_printk("clear h/w break 1: %08lx\n", addr);
1056 __debug_regs->dcr &= ~DCR_IBE1; 1075 __debug_regs->dcr &= ~DCR_IBE1;
1076 __debug_regs->ibar[1] = 0;
1057 asm volatile("movgs gr0,ibar1"); 1077 asm volatile("movgs gr0,ibar1");
1058 return 0; 1078 return 0;
1059 } 1079 }
@@ -1061,6 +1081,7 @@ int gdbstub_clear_breakpoint(unsigned long type, unsigned long addr, unsigned lo
1061 if (__debug_regs->dcr & DCR_IBE2 && __get_ibar(2) == addr) { 1081 if (__debug_regs->dcr & DCR_IBE2 && __get_ibar(2) == addr) {
1062 //gdbstub_printk("clear h/w break 2: %08lx\n", addr); 1082 //gdbstub_printk("clear h/w break 2: %08lx\n", addr);
1063 __debug_regs->dcr &= ~DCR_IBE2; 1083 __debug_regs->dcr &= ~DCR_IBE2;
1084 __debug_regs->ibar[2] = 0;
1064 asm volatile("movgs gr0,ibar2"); 1085 asm volatile("movgs gr0,ibar2");
1065 return 0; 1086 return 0;
1066 } 1087 }
@@ -1068,6 +1089,7 @@ int gdbstub_clear_breakpoint(unsigned long type, unsigned long addr, unsigned lo
1068 if (__debug_regs->dcr & DCR_IBE3 && __get_ibar(3) == addr) { 1089 if (__debug_regs->dcr & DCR_IBE3 && __get_ibar(3) == addr) {
1069 //gdbstub_printk("clear h/w break 3: %08lx\n", addr); 1090 //gdbstub_printk("clear h/w break 3: %08lx\n", addr);
1070 __debug_regs->dcr &= ~DCR_IBE3; 1091 __debug_regs->dcr &= ~DCR_IBE3;
1092 __debug_regs->ibar[3] = 0;
1071 asm volatile("movgs gr0,ibar3"); 1093 asm volatile("movgs gr0,ibar3");
1072 return 0; 1094 return 0;
1073 } 1095 }
@@ -1104,6 +1126,12 @@ int gdbstub_clear_breakpoint(unsigned long type, unsigned long addr, unsigned lo
1104 1126
1105 //gdbstub_printk("clear h/w watchpoint 0 type %ld: %08lx\n", type, addr); 1127 //gdbstub_printk("clear h/w watchpoint 0 type %ld: %08lx\n", type, addr);
1106 __debug_regs->dcr &= ~(DCR_DRBE0|DCR_DWBE0); 1128 __debug_regs->dcr &= ~(DCR_DRBE0|DCR_DWBE0);
1129 __debug_regs->dbar[0] = 0;
1130 __debug_regs->dbmr[0][0] = 0;
1131 __debug_regs->dbmr[0][1] = 0;
1132 __debug_regs->dbdr[0][0] = 0;
1133 __debug_regs->dbdr[0][1] = 0;
1134
1107 asm volatile(" movgs gr0,dbar0 \n" 1135 asm volatile(" movgs gr0,dbar0 \n"
1108 " movgs gr0,dbmr00 \n" 1136 " movgs gr0,dbmr00 \n"
1109 " movgs gr0,dbmr01 \n" 1137 " movgs gr0,dbmr01 \n"
@@ -1123,6 +1151,12 @@ int gdbstub_clear_breakpoint(unsigned long type, unsigned long addr, unsigned lo
1123 1151
1124 //gdbstub_printk("clear h/w watchpoint 1 type %ld: %08lx\n", type, addr); 1152 //gdbstub_printk("clear h/w watchpoint 1 type %ld: %08lx\n", type, addr);
1125 __debug_regs->dcr &= ~(DCR_DRBE1|DCR_DWBE1); 1153 __debug_regs->dcr &= ~(DCR_DRBE1|DCR_DWBE1);
1154 __debug_regs->dbar[1] = 0;
1155 __debug_regs->dbmr[1][0] = 0;
1156 __debug_regs->dbmr[1][1] = 0;
1157 __debug_regs->dbdr[1][0] = 0;
1158 __debug_regs->dbdr[1][1] = 0;
1159
1126 asm volatile(" movgs gr0,dbar1 \n" 1160 asm volatile(" movgs gr0,dbar1 \n"
1127 " movgs gr0,dbmr10 \n" 1161 " movgs gr0,dbmr10 \n"
1128 " movgs gr0,dbmr11 \n" 1162 " movgs gr0,dbmr11 \n"
@@ -1163,7 +1197,7 @@ static void gdbstub_check_breakpoint(void)
1163 */ 1197 */
1164static void __attribute__((unused)) gdbstub_show_regs(void) 1198static void __attribute__((unused)) gdbstub_show_regs(void)
1165{ 1199{
1166 uint32_t *reg; 1200 unsigned long *reg;
1167 int loop; 1201 int loop;
1168 1202
1169 gdbstub_printk("\n"); 1203 gdbstub_printk("\n");
@@ -1172,11 +1206,11 @@ static void __attribute__((unused)) gdbstub_show_regs(void)
1172 __debug_frame, 1206 __debug_frame,
1173 __debug_frame->psr & PSR_S ? "kernel" : "user"); 1207 __debug_frame->psr & PSR_S ? "kernel" : "user");
1174 1208
1175 reg = (uint32_t *) __debug_frame; 1209 reg = (unsigned long *) __debug_frame;
1176 for (loop = 0; loop < REG__END; loop++) { 1210 for (loop = 0; loop < NR_PT_REGS; loop++) {
1177 printk("%s %08x", regnames[loop + 0], reg[loop + 0]); 1211 printk("%s %08lx", regnames[loop + 0], reg[loop + 0]);
1178 1212
1179 if (loop == REG__END - 1 || loop % 5 == 4) 1213 if (loop == NR_PT_REGS - 1 || loop % 5 == 4)
1180 printk("\n"); 1214 printk("\n");
1181 else 1215 else
1182 printk(" | "); 1216 printk(" | ");
@@ -1191,13 +1225,8 @@ static void __attribute__((unused)) gdbstub_show_regs(void)
1191 */ 1225 */
1192static void __attribute__((unused)) gdbstub_dump_debugregs(void) 1226static void __attribute__((unused)) gdbstub_dump_debugregs(void)
1193{ 1227{
1194 unsigned long x; 1228 gdbstub_printk("DCR %08lx ", __debug_status.dcr);
1195 1229 gdbstub_printk("BRR %08lx\n", __debug_status.brr);
1196 x = __debug_regs->dcr;
1197 gdbstub_printk("DCR %08lx ", x);
1198
1199 x = __debug_regs->brr;
1200 gdbstub_printk("BRR %08lx\n", x);
1201 1230
1202 gdbstub_printk("IBAR0 %08lx ", __get_ibar(0)); 1231 gdbstub_printk("IBAR0 %08lx ", __get_ibar(0));
1203 gdbstub_printk("IBAR1 %08lx ", __get_ibar(1)); 1232 gdbstub_printk("IBAR1 %08lx ", __get_ibar(1));
@@ -1360,7 +1389,7 @@ void gdbstub(int sigval)
1360#endif 1389#endif
1361 } 1390 }
1362 1391
1363 save_user_regs(&__break_user_context); 1392 save_user_regs(&__debug_frame0->uc);
1364 1393
1365#if 0 1394#if 0
1366 gdbstub_printk("--> gdbstub() %08x %p %08x %08x\n", 1395 gdbstub_printk("--> gdbstub() %08x %p %08x %08x\n",
@@ -1389,8 +1418,8 @@ void gdbstub(int sigval)
1389 __debug_frame->psr &= ~PSR_S; 1418 __debug_frame->psr &= ~PSR_S;
1390 if (__debug_frame->psr & PSR_PS) 1419 if (__debug_frame->psr & PSR_PS)
1391 __debug_frame->psr |= PSR_S; 1420 __debug_frame->psr |= PSR_S;
1392 __debug_regs->brr = (__debug_frame->tbr & TBR_TT) << 12; 1421 __debug_status.brr = (__debug_frame->tbr & TBR_TT) << 12;
1393 __debug_regs->brr |= BRR_EB; 1422 __debug_status.brr |= BRR_EB;
1394 sigval = SIGINT; 1423 sigval = SIGINT;
1395 } 1424 }
1396 1425
@@ -1404,15 +1433,15 @@ void gdbstub(int sigval)
1404 __debug_frame->psr &= ~PSR_S; 1433 __debug_frame->psr &= ~PSR_S;
1405 if (__debug_frame->psr & PSR_PS) 1434 if (__debug_frame->psr & PSR_PS)
1406 __debug_frame->psr |= PSR_S; 1435 __debug_frame->psr |= PSR_S;
1407 __debug_regs->brr = (__debug_frame->tbr & TBR_TT) << 12; 1436 __debug_status.brr = (__debug_frame->tbr & TBR_TT) << 12;
1408 __debug_regs->brr |= BRR_EB; 1437 __debug_status.brr |= BRR_EB;
1409 sigval = SIGXCPU; 1438 sigval = SIGXCPU;
1410 } 1439 }
1411 1440
1412 LEDS(0x5002); 1441 LEDS(0x5002);
1413 1442
1414 /* after a BREAK insn, the PC lands on the far side of it */ 1443 /* after a BREAK insn, the PC lands on the far side of it */
1415 if (__debug_regs->brr & BRR_SB) 1444 if (__debug_status.brr & BRR_SB)
1416 gdbstub_check_breakpoint(); 1445 gdbstub_check_breakpoint();
1417 1446
1418 LEDS(0x5003); 1447 LEDS(0x5003);
@@ -1431,7 +1460,7 @@ void gdbstub(int sigval)
1431 } 1460 }
1432 1461
1433 if (!sigval) 1462 if (!sigval)
1434 sigval = gdbstub_compute_signal(__debug_regs->brr); 1463 sigval = gdbstub_compute_signal(__debug_status.brr);
1435 1464
1436 LEDS(0x5004); 1465 LEDS(0x5004);
1437 1466
@@ -1441,7 +1470,7 @@ void gdbstub(int sigval)
1441 if (sigval != SIGINT && sigval != SIGTRAP && sigval != SIGILL) { 1470 if (sigval != SIGINT && sigval != SIGTRAP && sigval != SIGILL) {
1442 static const char title[] = "Break "; 1471 static const char title[] = "Break ";
1443 static const char crlf[] = "\r\n"; 1472 static const char crlf[] = "\r\n";
1444 unsigned long brr = __debug_regs->brr; 1473 unsigned long brr = __debug_status.brr;
1445 char hx; 1474 char hx;
1446 1475
1447 ptr = output_buffer; 1476 ptr = output_buffer;
@@ -1565,28 +1594,24 @@ void gdbstub(int sigval)
1565 ptr = mem2hex(&zero, ptr, 4, 0); 1594 ptr = mem2hex(&zero, ptr, 4, 0);
1566 1595
1567 for (loop = 1; loop <= 27; loop++) 1596 for (loop = 1; loop <= 27; loop++)
1568 ptr = mem2hex((unsigned long *)__debug_frame + REG_GR(loop), 1597 ptr = mem2hex(&__debug_user_context->i.gr[loop], ptr, 4, 0);
1569 ptr, 4, 0);
1570 temp = (unsigned long) __frame; 1598 temp = (unsigned long) __frame;
1571 ptr = mem2hex(&temp, ptr, 4, 0); 1599 ptr = mem2hex(&temp, ptr, 4, 0);
1572 ptr = mem2hex((unsigned long *)__debug_frame + REG_GR(29), ptr, 4, 0); 1600 ptr = mem2hex(&__debug_user_context->i.gr[29], ptr, 4, 0);
1573 ptr = mem2hex((unsigned long *)__debug_frame + REG_GR(30), ptr, 4, 0); 1601 ptr = mem2hex(&__debug_user_context->i.gr[30], ptr, 4, 0);
1574#ifdef CONFIG_MMU 1602#ifdef CONFIG_MMU
1575 ptr = mem2hex((unsigned long *)__debug_frame + REG_GR(31), ptr, 4, 0); 1603 ptr = mem2hex(&__debug_user_context->i.gr[31], ptr, 4, 0);
1576#else 1604#else
1577 temp = (unsigned long) __debug_frame; 1605 temp = (unsigned long) __debug_frame;
1578 ptr = mem2hex(&temp, ptr, 4, 0); 1606 ptr = mem2hex(&temp, ptr, 4, 0);
1579#endif 1607#endif
1580 1608
1581 for (loop = 32; loop <= 63; loop++) 1609 for (loop = 32; loop <= 63; loop++)
1582 ptr = mem2hex((unsigned long *)__debug_frame + REG_GR(loop), 1610 ptr = mem2hex(&__debug_user_context->i.gr[loop], ptr, 4, 0);
1583 ptr, 4, 0);
1584 1611
1585 /* deal with FR0-FR63 */ 1612 /* deal with FR0-FR63 */
1586 for (loop = 0; loop <= 63; loop++) 1613 for (loop = 0; loop <= 63; loop++)
1587 ptr = mem2hex((unsigned long *)&__break_user_context + 1614 ptr = mem2hex(&__debug_user_context->f.fr[loop], ptr, 4, 0);
1588 __FPMEDIA_FR(loop),
1589 ptr, 4, 0);
1590 1615
1591 /* deal with special registers */ 1616 /* deal with special registers */
1592 ptr = mem2hex(&__debug_frame->pc, ptr, 4, 0); 1617 ptr = mem2hex(&__debug_frame->pc, ptr, 4, 0);
@@ -1597,7 +1622,7 @@ void gdbstub(int sigval)
1597 ptr = mem2hex(&zero, ptr, 4, 0); 1622 ptr = mem2hex(&zero, ptr, 4, 0);
1598 ptr = mem2hex(&zero, ptr, 4, 0); 1623 ptr = mem2hex(&zero, ptr, 4, 0);
1599 ptr = mem2hex(&__debug_frame->tbr, ptr, 4, 0); 1624 ptr = mem2hex(&__debug_frame->tbr, ptr, 4, 0);
1600 ptr = mem2hex(&__debug_regs->brr , ptr, 4, 0); 1625 ptr = mem2hex(&__debug_status.brr , ptr, 4, 0);
1601 1626
1602 asm volatile("movsg dbar0,%0" : "=r"(dbar)); 1627 asm volatile("movsg dbar0,%0" : "=r"(dbar));
1603 ptr = mem2hex(&dbar, ptr, 4, 0); 1628 ptr = mem2hex(&dbar, ptr, 4, 0);
@@ -1622,21 +1647,21 @@ void gdbstub(int sigval)
1622 1647
1623 ptr = mem2hex(&__debug_frame->iacc0, ptr, 8, 0); 1648 ptr = mem2hex(&__debug_frame->iacc0, ptr, 8, 0);
1624 1649
1625 ptr = mem2hex(&__break_user_context.f.fsr[0], ptr, 4, 0); 1650 ptr = mem2hex(&__debug_user_context->f.fsr[0], ptr, 4, 0);
1626 1651
1627 for (loop = 0; loop <= 7; loop++) 1652 for (loop = 0; loop <= 7; loop++)
1628 ptr = mem2hex(&__break_user_context.f.acc[loop], ptr, 4, 0); 1653 ptr = mem2hex(&__debug_user_context->f.acc[loop], ptr, 4, 0);
1629 1654
1630 ptr = mem2hex(&__break_user_context.f.accg, ptr, 8, 0); 1655 ptr = mem2hex(&__debug_user_context->f.accg, ptr, 8, 0);
1631 1656
1632 for (loop = 0; loop <= 1; loop++) 1657 for (loop = 0; loop <= 1; loop++)
1633 ptr = mem2hex(&__break_user_context.f.msr[loop], ptr, 4, 0); 1658 ptr = mem2hex(&__debug_user_context->f.msr[loop], ptr, 4, 0);
1634 1659
1635 ptr = mem2hex(&__debug_frame->gner0, ptr, 4, 0); 1660 ptr = mem2hex(&__debug_frame->gner0, ptr, 4, 0);
1636 ptr = mem2hex(&__debug_frame->gner1, ptr, 4, 0); 1661 ptr = mem2hex(&__debug_frame->gner1, ptr, 4, 0);
1637 1662
1638 ptr = mem2hex(&__break_user_context.f.fner[0], ptr, 4, 0); 1663 ptr = mem2hex(&__debug_user_context->f.fner[0], ptr, 4, 0);
1639 ptr = mem2hex(&__break_user_context.f.fner[1], ptr, 4, 0); 1664 ptr = mem2hex(&__debug_user_context->f.fner[1], ptr, 4, 0);
1640 1665
1641 break; 1666 break;
1642 1667
@@ -1648,8 +1673,7 @@ void gdbstub(int sigval)
1648 ptr = hex2mem(ptr, &temp, 4); 1673 ptr = hex2mem(ptr, &temp, 4);
1649 1674
1650 for (loop = 1; loop <= 27; loop++) 1675 for (loop = 1; loop <= 27; loop++)
1651 ptr = hex2mem(ptr, (unsigned long *)__debug_frame + REG_GR(loop), 1676 ptr = hex2mem(ptr, &__debug_user_context->i.gr[loop], 4);
1652 4);
1653 1677
1654 ptr = hex2mem(ptr, &temp, 4); 1678 ptr = hex2mem(ptr, &temp, 4);
1655 __frame = (struct pt_regs *) temp; 1679 __frame = (struct pt_regs *) temp;
@@ -1662,14 +1686,11 @@ void gdbstub(int sigval)
1662#endif 1686#endif
1663 1687
1664 for (loop = 32; loop <= 63; loop++) 1688 for (loop = 32; loop <= 63; loop++)
1665 ptr = hex2mem(ptr, (unsigned long *)__debug_frame + REG_GR(loop), 1689 ptr = hex2mem(ptr, &__debug_user_context->i.gr[loop], 4);
1666 4);
1667 1690
1668 /* deal with FR0-FR63 */ 1691 /* deal with FR0-FR63 */
1669 for (loop = 0; loop <= 63; loop++) 1692 for (loop = 0; loop <= 63; loop++)
1670 ptr = mem2hex((unsigned long *)&__break_user_context + 1693 ptr = mem2hex(&__debug_user_context->f.fr[loop], ptr, 4, 0);
1671 __FPMEDIA_FR(loop),
1672 ptr, 4, 0);
1673 1694
1674 /* deal with special registers */ 1695 /* deal with special registers */
1675 ptr = hex2mem(ptr, &__debug_frame->pc, 4); 1696 ptr = hex2mem(ptr, &__debug_frame->pc, 4);
@@ -1694,21 +1715,21 @@ void gdbstub(int sigval)
1694 1715
1695 ptr = hex2mem(ptr, &__debug_frame->iacc0, 8); 1716 ptr = hex2mem(ptr, &__debug_frame->iacc0, 8);
1696 1717
1697 ptr = hex2mem(ptr, &__break_user_context.f.fsr[0], 4); 1718 ptr = hex2mem(ptr, &__debug_user_context->f.fsr[0], 4);
1698 1719
1699 for (loop = 0; loop <= 7; loop++) 1720 for (loop = 0; loop <= 7; loop++)
1700 ptr = hex2mem(ptr, &__break_user_context.f.acc[loop], 4); 1721 ptr = hex2mem(ptr, &__debug_user_context->f.acc[loop], 4);
1701 1722
1702 ptr = hex2mem(ptr, &__break_user_context.f.accg, 8); 1723 ptr = hex2mem(ptr, &__debug_user_context->f.accg, 8);
1703 1724
1704 for (loop = 0; loop <= 1; loop++) 1725 for (loop = 0; loop <= 1; loop++)
1705 ptr = hex2mem(ptr, &__break_user_context.f.msr[loop], 4); 1726 ptr = hex2mem(ptr, &__debug_user_context->f.msr[loop], 4);
1706 1727
1707 ptr = hex2mem(ptr, &__debug_frame->gner0, 4); 1728 ptr = hex2mem(ptr, &__debug_frame->gner0, 4);
1708 ptr = hex2mem(ptr, &__debug_frame->gner1, 4); 1729 ptr = hex2mem(ptr, &__debug_frame->gner1, 4);
1709 1730
1710 ptr = hex2mem(ptr, &__break_user_context.f.fner[0], 4); 1731 ptr = hex2mem(ptr, &__debug_user_context->f.fner[0], 4);
1711 ptr = hex2mem(ptr, &__break_user_context.f.fner[1], 4); 1732 ptr = hex2mem(ptr, &__debug_user_context->f.fner[1], 4);
1712 1733
1713 gdbstub_strcpy(output_buffer,"OK"); 1734 gdbstub_strcpy(output_buffer,"OK");
1714 break; 1735 break;
@@ -1769,52 +1790,52 @@ void gdbstub(int sigval)
1769 case GDB_REG_GR(0): 1790 case GDB_REG_GR(0):
1770 break; 1791 break;
1771 case GDB_REG_GR(1) ... GDB_REG_GR(63): 1792 case GDB_REG_GR(1) ... GDB_REG_GR(63):
1772 __break_user_context.i.gr[addr - GDB_REG_GR(0)] = temp; 1793 __debug_user_context->i.gr[addr - GDB_REG_GR(0)] = temp;
1773 break; 1794 break;
1774 case GDB_REG_FR(0) ... GDB_REG_FR(63): 1795 case GDB_REG_FR(0) ... GDB_REG_FR(63):
1775 __break_user_context.f.fr[addr - GDB_REG_FR(0)] = temp; 1796 __debug_user_context->f.fr[addr - GDB_REG_FR(0)] = temp;
1776 break; 1797 break;
1777 case GDB_REG_PC: 1798 case GDB_REG_PC:
1778 __break_user_context.i.pc = temp; 1799 __debug_user_context->i.pc = temp;
1779 break; 1800 break;
1780 case GDB_REG_PSR: 1801 case GDB_REG_PSR:
1781 __break_user_context.i.psr = temp; 1802 __debug_user_context->i.psr = temp;
1782 break; 1803 break;
1783 case GDB_REG_CCR: 1804 case GDB_REG_CCR:
1784 __break_user_context.i.ccr = temp; 1805 __debug_user_context->i.ccr = temp;
1785 break; 1806 break;
1786 case GDB_REG_CCCR: 1807 case GDB_REG_CCCR:
1787 __break_user_context.i.cccr = temp; 1808 __debug_user_context->i.cccr = temp;
1788 break; 1809 break;
1789 case GDB_REG_BRR: 1810 case GDB_REG_BRR:
1790 __debug_regs->brr = temp; 1811 __debug_status.brr = temp;
1791 break; 1812 break;
1792 case GDB_REG_LR: 1813 case GDB_REG_LR:
1793 __break_user_context.i.lr = temp; 1814 __debug_user_context->i.lr = temp;
1794 break; 1815 break;
1795 case GDB_REG_LCR: 1816 case GDB_REG_LCR:
1796 __break_user_context.i.lcr = temp; 1817 __debug_user_context->i.lcr = temp;
1797 break; 1818 break;
1798 case GDB_REG_FSR0: 1819 case GDB_REG_FSR0:
1799 __break_user_context.f.fsr[0] = temp; 1820 __debug_user_context->f.fsr[0] = temp;
1800 break; 1821 break;
1801 case GDB_REG_ACC(0) ... GDB_REG_ACC(7): 1822 case GDB_REG_ACC(0) ... GDB_REG_ACC(7):
1802 __break_user_context.f.acc[addr - GDB_REG_ACC(0)] = temp; 1823 __debug_user_context->f.acc[addr - GDB_REG_ACC(0)] = temp;
1803 break; 1824 break;
1804 case GDB_REG_ACCG(0): 1825 case GDB_REG_ACCG(0):
1805 *(uint32_t *) &__break_user_context.f.accg[0] = temp; 1826 *(uint32_t *) &__debug_user_context->f.accg[0] = temp;
1806 break; 1827 break;
1807 case GDB_REG_ACCG(4): 1828 case GDB_REG_ACCG(4):
1808 *(uint32_t *) &__break_user_context.f.accg[4] = temp; 1829 *(uint32_t *) &__debug_user_context->f.accg[4] = temp;
1809 break; 1830 break;
1810 case GDB_REG_MSR(0) ... GDB_REG_MSR(1): 1831 case GDB_REG_MSR(0) ... GDB_REG_MSR(1):
1811 __break_user_context.f.msr[addr - GDB_REG_MSR(0)] = temp; 1832 __debug_user_context->f.msr[addr - GDB_REG_MSR(0)] = temp;
1812 break; 1833 break;
1813 case GDB_REG_GNER(0) ... GDB_REG_GNER(1): 1834 case GDB_REG_GNER(0) ... GDB_REG_GNER(1):
1814 __break_user_context.i.gner[addr - GDB_REG_GNER(0)] = temp; 1835 __debug_user_context->i.gner[addr - GDB_REG_GNER(0)] = temp;
1815 break; 1836 break;
1816 case GDB_REG_FNER(0) ... GDB_REG_FNER(1): 1837 case GDB_REG_FNER(0) ... GDB_REG_FNER(1):
1817 __break_user_context.f.fner[addr - GDB_REG_FNER(0)] = temp; 1838 __debug_user_context->f.fner[addr - GDB_REG_FNER(0)] = temp;
1818 break; 1839 break;
1819 default: 1840 default:
1820 temp2 = 0; 1841 temp2 = 0;
@@ -1850,6 +1871,7 @@ void gdbstub(int sigval)
1850 /* step to next instruction */ 1871 /* step to next instruction */
1851 case 's': 1872 case 's':
1852 __debug_regs->dcr |= DCR_SE; 1873 __debug_regs->dcr |= DCR_SE;
1874 __debug_status.dcr |= DCR_SE;
1853 goto done; 1875 goto done;
1854 1876
1855 /* set baud rate (bBB) */ 1877 /* set baud rate (bBB) */
@@ -1934,7 +1956,7 @@ void gdbstub(int sigval)
1934 } 1956 }
1935 1957
1936 done: 1958 done:
1937 restore_user_regs(&__break_user_context); 1959 restore_user_regs(&__debug_frame0->uc);
1938 1960
1939 //gdbstub_dump_debugregs(); 1961 //gdbstub_dump_debugregs();
1940 //gdbstub_printk("<-- gdbstub() %08x\n", __debug_frame->pc); 1962 //gdbstub_printk("<-- gdbstub() %08x\n", __debug_frame->pc);
@@ -1966,7 +1988,6 @@ void __init gdbstub_init(void)
1966#endif 1988#endif
1967 1989
1968 gdbstub_printk("%s", gdbstub_banner); 1990 gdbstub_printk("%s", gdbstub_banner);
1969 gdbstub_printk("DCR: %x\n", __debug_regs->dcr);
1970 1991
1971 gdbstub_io_init(); 1992 gdbstub_io_init();
1972 1993
diff --git a/arch/frv/kernel/head.S b/arch/frv/kernel/head.S
index 47c990af2e06..fecf751c5cae 100644
--- a/arch/frv/kernel/head.S
+++ b/arch/frv/kernel/head.S
@@ -11,6 +11,7 @@
11 11
12#include <linux/threads.h> 12#include <linux/threads.h>
13#include <linux/linkage.h> 13#include <linux/linkage.h>
14#include <asm/thread_info.h>
14#include <asm/ptrace.h> 15#include <asm/ptrace.h>
15#include <asm/page.h> 16#include <asm/page.h>
16#include <asm/spr-regs.h> 17#include <asm/spr-regs.h>
diff --git a/arch/frv/kernel/local.h b/arch/frv/kernel/local.h
index e9471761d78b..76606d13b1aa 100644
--- a/arch/frv/kernel/local.h
+++ b/arch/frv/kernel/local.h
@@ -51,6 +51,9 @@ extern void (*__power_switch_wake_cleanup)(void);
51/* time.c */ 51/* time.c */
52extern void time_divisor_init(void); 52extern void time_divisor_init(void);
53 53
54/* cmode.S */
55extern asmlinkage void frv_change_cmode(int);
56
54 57
55#endif /* __ASSEMBLY__ */ 58#endif /* __ASSEMBLY__ */
56#endif /* _FRV_LOCAL_H */ 59#endif /* _FRV_LOCAL_H */
diff --git a/arch/frv/kernel/pm.c b/arch/frv/kernel/pm.c
index e65a9f1c0c26..c1d9fc8f1a85 100644
--- a/arch/frv/kernel/pm.c
+++ b/arch/frv/kernel/pm.c
@@ -26,11 +26,6 @@
26 26
27#include "local.h" 27#include "local.h"
28 28
29void (*pm_power_off)(void);
30EXPORT_SYMBOL(pm_power_off);
31
32extern void frv_change_cmode(int);
33
34/* 29/*
35 * Debug macros 30 * Debug macros
36 */ 31 */
diff --git a/arch/frv/kernel/process.c b/arch/frv/kernel/process.c
index eeeb1e2641d5..515a5cea5469 100644
--- a/arch/frv/kernel/process.c
+++ b/arch/frv/kernel/process.c
@@ -10,6 +10,7 @@
10 * 2 of the License, or (at your option) any later version. 10 * 2 of the License, or (at your option) any later version.
11 */ 11 */
12 12
13#include <linux/module.h>
13#include <linux/errno.h> 14#include <linux/errno.h>
14#include <linux/sched.h> 15#include <linux/sched.h>
15#include <linux/kernel.h> 16#include <linux/kernel.h>
@@ -25,6 +26,7 @@
25#include <linux/reboot.h> 26#include <linux/reboot.h>
26#include <linux/interrupt.h> 27#include <linux/interrupt.h>
27 28
29#include <asm/asm-offsets.h>
28#include <asm/uaccess.h> 30#include <asm/uaccess.h>
29#include <asm/system.h> 31#include <asm/system.h>
30#include <asm/setup.h> 32#include <asm/setup.h>
@@ -38,6 +40,9 @@ asmlinkage void ret_from_fork(void);
38 40
39#include <asm/pgalloc.h> 41#include <asm/pgalloc.h>
40 42
43void (*pm_power_off)(void);
44EXPORT_SYMBOL(pm_power_off);
45
41struct task_struct *alloc_task_struct(void) 46struct task_struct *alloc_task_struct(void)
42{ 47{
43 struct task_struct *p = kmalloc(THREAD_SIZE, GFP_KERNEL); 48 struct task_struct *p = kmalloc(THREAD_SIZE, GFP_KERNEL);
@@ -203,7 +208,7 @@ int copy_thread(int nr, unsigned long clone_flags,
203 208
204 regs0 = __kernel_frame0_ptr; 209 regs0 = __kernel_frame0_ptr;
205 childregs0 = (struct pt_regs *) 210 childregs0 = (struct pt_regs *)
206 (task_stack_page(p) + THREAD_SIZE - USER_CONTEXT_SIZE); 211 (task_stack_page(p) + THREAD_SIZE - FRV_FRAME0_SIZE);
207 childregs = childregs0; 212 childregs = childregs0;
208 213
209 /* set up the userspace frame (the only place that the USP is stored) */ 214 /* set up the userspace frame (the only place that the USP is stored) */
@@ -367,3 +372,11 @@ int elf_check_arch(const struct elf32_hdr *hdr)
367 372
368 return 1; 373 return 1;
369} 374}
375
376int dump_fpu(struct pt_regs *regs, elf_fpregset_t *fpregs)
377{
378 memcpy(fpregs,
379 &current->thread.user->f,
380 sizeof(current->thread.user->f));
381 return 1;
382}
diff --git a/arch/frv/kernel/switch_to.S b/arch/frv/kernel/switch_to.S
index 9e5a583991a3..b5275fa9cd0d 100644
--- a/arch/frv/kernel/switch_to.S
+++ b/arch/frv/kernel/switch_to.S
@@ -11,6 +11,7 @@
11# 2 of the License, or (at your option) any later version. 11# 2 of the License, or (at your option) any later version.
12# 12#
13############################################################################### 13###############################################################################
14
14#include <linux/linkage.h> 15#include <linux/linkage.h>
15#include <asm/thread_info.h> 16#include <asm/thread_info.h>
16#include <asm/processor.h> 17#include <asm/processor.h>
@@ -30,7 +31,7 @@
30 # address of frame 0 (userspace) on current kernel stack 31 # address of frame 0 (userspace) on current kernel stack
31 .globl __kernel_frame0_ptr 32 .globl __kernel_frame0_ptr
32__kernel_frame0_ptr: 33__kernel_frame0_ptr:
33 .long init_thread_union + THREAD_SIZE - USER_CONTEXT_SIZE 34 .long init_thread_union + THREAD_SIZE - FRV_FRAME0_SIZE
34 35
35 # address of current task 36 # address of current task
36 .globl __kernel_current_task 37 .globl __kernel_current_task
diff --git a/arch/frv/kernel/traps.c b/arch/frv/kernel/traps.c
index 98ce3628ebde..2e6098c85578 100644
--- a/arch/frv/kernel/traps.c
+++ b/arch/frv/kernel/traps.c
@@ -20,6 +20,7 @@
20#include <linux/init.h> 20#include <linux/init.h>
21#include <linux/module.h> 21#include <linux/module.h>
22 22
23#include <asm/asm-offsets.h>
23#include <asm/setup.h> 24#include <asm/setup.h>
24#include <asm/fpu.h> 25#include <asm/fpu.h>
25#include <asm/system.h> 26#include <asm/system.h>
@@ -279,20 +280,20 @@ static const char *regnames[] = {
279 280
280void show_regs(struct pt_regs *regs) 281void show_regs(struct pt_regs *regs)
281{ 282{
282 uint32_t *reg; 283 unsigned long *reg;
283 int loop; 284 int loop;
284 285
285 printk("\n"); 286 printk("\n");
286 287
287 printk("Frame: @%08x [%s]\n", 288 printk("Frame: @%08lx [%s]\n",
288 (uint32_t) regs, 289 (unsigned long) regs,
289 regs->psr & PSR_S ? "kernel" : "user"); 290 regs->psr & PSR_S ? "kernel" : "user");
290 291
291 reg = (uint32_t *) regs; 292 reg = (unsigned long *) regs;
292 for (loop = 0; loop < REG__END; loop++) { 293 for (loop = 0; loop < NR_PT_REGS; loop++) {
293 printk("%s %08x", regnames[loop + 0], reg[loop + 0]); 294 printk("%s %08lx", regnames[loop + 0], reg[loop + 0]);
294 295
295 if (loop == REG__END - 1 || loop % 5 == 4) 296 if (loop == NR_PT_REGS - 1 || loop % 5 == 4)
296 printk("\n"); 297 printk("\n");
297 else 298 else
298 printk(" | "); 299 printk(" | ");
@@ -328,7 +329,7 @@ void die_if_kernel(const char *str, ...)
328 */ 329 */
329static void show_backtrace_regs(struct pt_regs *frame) 330static void show_backtrace_regs(struct pt_regs *frame)
330{ 331{
331 uint32_t *reg; 332 unsigned long *reg;
332 int loop; 333 int loop;
333 334
334 /* print the registers for this frame */ 335 /* print the registers for this frame */
@@ -336,11 +337,11 @@ static void show_backtrace_regs(struct pt_regs *frame)
336 frame->psr & PSR_S ? "Kernel Mode" : "User Mode", 337 frame->psr & PSR_S ? "Kernel Mode" : "User Mode",
337 frame); 338 frame);
338 339
339 reg = (uint32_t *) frame; 340 reg = (unsigned long *) frame;
340 for (loop = 0; loop < REG__END; loop++) { 341 for (loop = 0; loop < NR_PT_REGS; loop++) {
341 printk("%s %08x", regnames[loop + 0], reg[loop + 0]); 342 printk("%s %08lx", regnames[loop + 0], reg[loop + 0]);
342 343
343 if (loop == REG__END - 1 || loop % 5 == 4) 344 if (loop == NR_PT_REGS - 1 || loop % 5 == 4)
344 printk("\n"); 345 printk("\n");
345 else 346 else
346 printk(" | "); 347 printk(" | ");
diff --git a/arch/frv/mb93090-mb00/pci-vdk.c b/arch/frv/mb93090-mb00/pci-vdk.c
index fb98e90c5794..f7279d78995a 100644
--- a/arch/frv/mb93090-mb00/pci-vdk.c
+++ b/arch/frv/mb93090-mb00/pci-vdk.c
@@ -406,7 +406,9 @@ int __init pcibios_init(void)
406 ioport_resource.end = (__reg_MB86943_sl_pci_io_range << 9) | 0x3ff; 406 ioport_resource.end = (__reg_MB86943_sl_pci_io_range << 9) | 0x3ff;
407 ioport_resource.end += ioport_resource.start; 407 ioport_resource.end += ioport_resource.start;
408 408
409 printk("PCI IO window: %08lx-%08lx\n", ioport_resource.start, ioport_resource.end); 409 printk("PCI IO window: %08llx-%08llx\n",
410 (unsigned long long) ioport_resource.start,
411 (unsigned long long) ioport_resource.end);
410 412
411 iomem_resource.start = (__reg_MB86943_sl_pci_mem_base << 9) & 0xfffffc00; 413 iomem_resource.start = (__reg_MB86943_sl_pci_mem_base << 9) & 0xfffffc00;
412 414
@@ -416,8 +418,11 @@ int __init pcibios_init(void)
416 iomem_resource.end = (__reg_MB86943_sl_pci_mem_range << 9) | 0x3ff; 418 iomem_resource.end = (__reg_MB86943_sl_pci_mem_range << 9) | 0x3ff;
417 iomem_resource.end += iomem_resource.start; 419 iomem_resource.end += iomem_resource.start;
418 420
419 printk("PCI MEM window: %08lx-%08lx\n", iomem_resource.start, iomem_resource.end); 421 printk("PCI MEM window: %08llx-%08llx\n",
420 printk("PCI DMA memory: %08lx-%08lx\n", dma_coherent_mem_start, dma_coherent_mem_end); 422 (unsigned long long) iomem_resource.start,
423 (unsigned long long) iomem_resource.end);
424 printk("PCI DMA memory: %08lx-%08lx\n",
425 dma_coherent_mem_start, dma_coherent_mem_end);
421 426
422 if (!pci_probe) 427 if (!pci_probe)
423 return -ENXIO; 428 return -ENXIO;
diff --git a/arch/i386/Kconfig b/arch/i386/Kconfig
index daa75ce4b777..f71fb4a029cb 100644
--- a/arch/i386/Kconfig
+++ b/arch/i386/Kconfig
@@ -672,7 +672,7 @@ config MTRR
672 See <file:Documentation/mtrr.txt> for more information. 672 See <file:Documentation/mtrr.txt> for more information.
673 673
674config EFI 674config EFI
675 bool "Boot from EFI support (EXPERIMENTAL)" 675 bool "Boot from EFI support"
676 depends on ACPI 676 depends on ACPI
677 default n 677 default n
678 ---help--- 678 ---help---
diff --git a/arch/i386/defconfig b/arch/i386/defconfig
index 1629c3ac9bee..89ebb7a316ab 100644
--- a/arch/i386/defconfig
+++ b/arch/i386/defconfig
@@ -197,7 +197,7 @@ CONFIG_PM=y
197# CONFIG_PM_LEGACY is not set 197# CONFIG_PM_LEGACY is not set
198# CONFIG_PM_DEBUG is not set 198# CONFIG_PM_DEBUG is not set
199CONFIG_SOFTWARE_SUSPEND=y 199CONFIG_SOFTWARE_SUSPEND=y
200CONFIG_PM_STD_PARTITION="/dev/hda2" 200CONFIG_PM_STD_PARTITION=""
201 201
202# 202#
203# ACPI (Advanced Configuration and Power Interface) Support 203# ACPI (Advanced Configuration and Power Interface) Support
diff --git a/arch/i386/kernel/Makefile b/arch/i386/kernel/Makefile
index 1b452a1665c4..ab98fc21a541 100644
--- a/arch/i386/kernel/Makefile
+++ b/arch/i386/kernel/Makefile
@@ -59,7 +59,8 @@ quiet_cmd_syscall = SYSCALL $@
59 59
60export CPPFLAGS_vsyscall.lds += -P -C -U$(ARCH) 60export CPPFLAGS_vsyscall.lds += -P -C -U$(ARCH)
61 61
62vsyscall-flags = -shared -s -Wl,-soname=linux-gate.so.1 62vsyscall-flags = -shared -s -Wl,-soname=linux-gate.so.1 \
63 $(call ld-option, -Wl$(comma)--hash-style=sysv)
63SYSCFLAGS_vsyscall-sysenter.so = $(vsyscall-flags) 64SYSCFLAGS_vsyscall-sysenter.so = $(vsyscall-flags)
64SYSCFLAGS_vsyscall-int80.so = $(vsyscall-flags) 65SYSCFLAGS_vsyscall-int80.so = $(vsyscall-flags)
65 66
diff --git a/arch/i386/kernel/cpu/cpufreq/Kconfig b/arch/i386/kernel/cpu/cpufreq/Kconfig
index e44a4c6a4fe5..ccc1edff5c97 100644
--- a/arch/i386/kernel/cpu/cpufreq/Kconfig
+++ b/arch/i386/kernel/cpu/cpufreq/Kconfig
@@ -96,6 +96,7 @@ config X86_POWERNOW_K8_ACPI
96 96
97config X86_GX_SUSPMOD 97config X86_GX_SUSPMOD
98 tristate "Cyrix MediaGX/NatSemi Geode Suspend Modulation" 98 tristate "Cyrix MediaGX/NatSemi Geode Suspend Modulation"
99 depends on PCI
99 help 100 help
100 This add the CPUFreq driver for NatSemi Geode processors which 101 This add the CPUFreq driver for NatSemi Geode processors which
101 support suspend modulation. 102 support suspend modulation.
@@ -202,7 +203,7 @@ config X86_LONGRUN
202config X86_LONGHAUL 203config X86_LONGHAUL
203 tristate "VIA Cyrix III Longhaul" 204 tristate "VIA Cyrix III Longhaul"
204 select CPU_FREQ_TABLE 205 select CPU_FREQ_TABLE
205 depends on BROKEN 206 depends on ACPI_PROCESSOR
206 help 207 help
207 This adds the CPUFreq driver for VIA Samuel/CyrixIII, 208 This adds the CPUFreq driver for VIA Samuel/CyrixIII,
208 VIA Cyrix Samuel/C3, VIA Cyrix Ezra and VIA Cyrix Ezra-T 209 VIA Cyrix Samuel/C3, VIA Cyrix Ezra and VIA Cyrix Ezra-T
diff --git a/arch/i386/kernel/cpu/cpufreq/acpi-cpufreq.c b/arch/i386/kernel/cpu/cpufreq/acpi-cpufreq.c
index 567b39bea07e..efb41e81351c 100644
--- a/arch/i386/kernel/cpu/cpufreq/acpi-cpufreq.c
+++ b/arch/i386/kernel/cpu/cpufreq/acpi-cpufreq.c
@@ -384,8 +384,7 @@ static int acpi_cpufreq_early_init_acpi(void)
384 } 384 }
385 385
386 /* Do initialization in ACPI core */ 386 /* Do initialization in ACPI core */
387 acpi_processor_preregister_performance(acpi_perf_data); 387 return acpi_processor_preregister_performance(acpi_perf_data);
388 return 0;
389} 388}
390 389
391static int 390static int
diff --git a/arch/i386/kernel/cpu/cpufreq/longhaul.c b/arch/i386/kernel/cpu/cpufreq/longhaul.c
index 146f607e9c44..4f2c3aeef724 100644
--- a/arch/i386/kernel/cpu/cpufreq/longhaul.c
+++ b/arch/i386/kernel/cpu/cpufreq/longhaul.c
@@ -29,11 +29,13 @@
29#include <linux/cpufreq.h> 29#include <linux/cpufreq.h>
30#include <linux/slab.h> 30#include <linux/slab.h>
31#include <linux/string.h> 31#include <linux/string.h>
32#include <linux/pci.h>
33 32
34#include <asm/msr.h> 33#include <asm/msr.h>
35#include <asm/timex.h> 34#include <asm/timex.h>
36#include <asm/io.h> 35#include <asm/io.h>
36#include <asm/acpi.h>
37#include <linux/acpi.h>
38#include <acpi/processor.h>
37 39
38#include "longhaul.h" 40#include "longhaul.h"
39 41
@@ -56,6 +58,8 @@ static int minvid, maxvid;
56static unsigned int minmult, maxmult; 58static unsigned int minmult, maxmult;
57static int can_scale_voltage; 59static int can_scale_voltage;
58static int vrmrev; 60static int vrmrev;
61static struct acpi_processor *pr = NULL;
62static struct acpi_processor_cx *cx = NULL;
59 63
60/* Module parameters */ 64/* Module parameters */
61static int dont_scale_voltage; 65static int dont_scale_voltage;
@@ -118,84 +122,65 @@ static int longhaul_get_cpu_mult(void)
118 return eblcr_table[invalue]; 122 return eblcr_table[invalue];
119} 123}
120 124
125/* For processor with BCR2 MSR */
121 126
122static void do_powersaver(union msr_longhaul *longhaul, 127static void do_longhaul1(int cx_address, unsigned int clock_ratio_index)
123 unsigned int clock_ratio_index)
124{ 128{
125 struct pci_dev *dev; 129 union msr_bcr2 bcr2;
126 unsigned long flags; 130 u32 t;
127 unsigned int tmp_mask;
128 int version;
129 int i;
130 u16 pci_cmd;
131 u16 cmd_state[64];
132 131
133 switch (cpu_model) { 132 rdmsrl(MSR_VIA_BCR2, bcr2.val);
134 case CPU_EZRA_T: 133 /* Enable software clock multiplier */
135 version = 3; 134 bcr2.bits.ESOFTBF = 1;
136 break; 135 bcr2.bits.CLOCKMUL = clock_ratio_index;
137 case CPU_NEHEMIAH:
138 version = 0xf;
139 break;
140 default:
141 return;
142 }
143 136
144 rdmsrl(MSR_VIA_LONGHAUL, longhaul->val); 137 /* Sync to timer tick */
145 longhaul->bits.SoftBusRatio = clock_ratio_index & 0xf; 138 safe_halt();
146 longhaul->bits.SoftBusRatio4 = (clock_ratio_index & 0x10) >> 4; 139 ACPI_FLUSH_CPU_CACHE();
147 longhaul->bits.EnableSoftBusRatio = 1; 140 /* Change frequency on next halt or sleep */
148 longhaul->bits.RevisionKey = 0; 141 wrmsrl(MSR_VIA_BCR2, bcr2.val);
142 /* Invoke C3 */
143 inb(cx_address);
144 /* Dummy op - must do something useless after P_LVL3 read */
145 t = inl(acpi_fadt.xpm_tmr_blk.address);
146
147 /* Disable software clock multiplier */
148 local_irq_disable();
149 rdmsrl(MSR_VIA_BCR2, bcr2.val);
150 bcr2.bits.ESOFTBF = 0;
151 wrmsrl(MSR_VIA_BCR2, bcr2.val);
152}
149 153
150 preempt_disable(); 154/* For processor with Longhaul MSR */
151 local_irq_save(flags);
152 155
153 /* 156static void do_powersaver(int cx_address, unsigned int clock_ratio_index)
154 * get current pci bus master state for all devices 157{
155 * and clear bus master bit 158 union msr_longhaul longhaul;
156 */ 159 u32 t;
157 dev = NULL;
158 i = 0;
159 do {
160 dev = pci_get_device(PCI_ANY_ID, PCI_ANY_ID, dev);
161 if (dev != NULL) {
162 pci_read_config_word(dev, PCI_COMMAND, &pci_cmd);
163 cmd_state[i++] = pci_cmd;
164 pci_cmd &= ~PCI_COMMAND_MASTER;
165 pci_write_config_word(dev, PCI_COMMAND, pci_cmd);
166 }
167 } while (dev != NULL);
168 160
169 tmp_mask=inb(0x21); /* works on C3. save mask. */ 161 rdmsrl(MSR_VIA_LONGHAUL, longhaul.val);
170 outb(0xFE,0x21); /* TMR0 only */ 162 longhaul.bits.RevisionKey = longhaul.bits.RevisionID;
171 outb(0xFF,0x80); /* delay */ 163 longhaul.bits.SoftBusRatio = clock_ratio_index & 0xf;
164 longhaul.bits.SoftBusRatio4 = (clock_ratio_index & 0x10) >> 4;
165 longhaul.bits.EnableSoftBusRatio = 1;
172 166
167 /* Sync to timer tick */
173 safe_halt(); 168 safe_halt();
174 wrmsrl(MSR_VIA_LONGHAUL, longhaul->val); 169 ACPI_FLUSH_CPU_CACHE();
175 halt(); 170 /* Change frequency on next halt or sleep */
176 171 wrmsrl(MSR_VIA_LONGHAUL, longhaul.val);
172 /* Invoke C3 */
173 inb(cx_address);
174 /* Dummy op - must do something useless after P_LVL3 read */
175 t = inl(acpi_fadt.xpm_tmr_blk.address);
176
177 /* Disable bus ratio bit */
177 local_irq_disable(); 178 local_irq_disable();
178 179 longhaul.bits.RevisionKey = longhaul.bits.RevisionID;
179 outb(tmp_mask,0x21); /* restore mask */ 180 longhaul.bits.EnableSoftBusRatio = 0;
180 181 longhaul.bits.EnableSoftBSEL = 0;
181 /* restore pci bus master state for all devices */ 182 longhaul.bits.EnableSoftVID = 0;
182 dev = NULL; 183 wrmsrl(MSR_VIA_LONGHAUL, longhaul.val);
183 i = 0;
184 do {
185 dev = pci_get_device(PCI_ANY_ID, PCI_ANY_ID, dev);
186 if (dev != NULL) {
187 pci_cmd = cmd_state[i++];
188 pci_write_config_byte(dev, PCI_COMMAND, pci_cmd);
189 }
190 } while (dev != NULL);
191 local_irq_restore(flags);
192 preempt_enable();
193
194 /* disable bus ratio bit */
195 rdmsrl(MSR_VIA_LONGHAUL, longhaul->val);
196 longhaul->bits.EnableSoftBusRatio = 0;
197 longhaul->bits.RevisionKey = version;
198 wrmsrl(MSR_VIA_LONGHAUL, longhaul->val);
199} 184}
200 185
201/** 186/**
@@ -209,9 +194,9 @@ static void longhaul_setstate(unsigned int clock_ratio_index)
209{ 194{
210 int speed, mult; 195 int speed, mult;
211 struct cpufreq_freqs freqs; 196 struct cpufreq_freqs freqs;
212 union msr_longhaul longhaul;
213 union msr_bcr2 bcr2;
214 static unsigned int old_ratio=-1; 197 static unsigned int old_ratio=-1;
198 unsigned long flags;
199 unsigned int pic1_mask, pic2_mask;
215 200
216 if (old_ratio == clock_ratio_index) 201 if (old_ratio == clock_ratio_index)
217 return; 202 return;
@@ -234,6 +219,20 @@ static void longhaul_setstate(unsigned int clock_ratio_index)
234 dprintk ("Setting to FSB:%dMHz Mult:%d.%dx (%s)\n", 219 dprintk ("Setting to FSB:%dMHz Mult:%d.%dx (%s)\n",
235 fsb, mult/10, mult%10, print_speed(speed/1000)); 220 fsb, mult/10, mult%10, print_speed(speed/1000));
236 221
222 preempt_disable();
223 local_irq_save(flags);
224
225 pic2_mask = inb(0xA1);
226 pic1_mask = inb(0x21); /* works on C3. save mask. */
227 outb(0xFF,0xA1); /* Overkill */
228 outb(0xFE,0x21); /* TMR0 only */
229
230 /* Disable bus master arbitration */
231 if (pr->flags.bm_check) {
232 acpi_set_register(ACPI_BITREG_ARB_DISABLE, 1,
233 ACPI_MTX_DO_NOT_LOCK);
234 }
235
237 switch (longhaul_version) { 236 switch (longhaul_version) {
238 237
239 /* 238 /*
@@ -245,20 +244,7 @@ static void longhaul_setstate(unsigned int clock_ratio_index)
245 */ 244 */
246 case TYPE_LONGHAUL_V1: 245 case TYPE_LONGHAUL_V1:
247 case TYPE_LONGHAUL_V2: 246 case TYPE_LONGHAUL_V2:
248 rdmsrl (MSR_VIA_BCR2, bcr2.val); 247 do_longhaul1(cx->address, clock_ratio_index);
249 /* Enable software clock multiplier */
250 bcr2.bits.ESOFTBF = 1;
251 bcr2.bits.CLOCKMUL = clock_ratio_index;
252 local_irq_disable();
253 wrmsrl (MSR_VIA_BCR2, bcr2.val);
254 safe_halt();
255
256 /* Disable software clock multiplier */
257 rdmsrl (MSR_VIA_BCR2, bcr2.val);
258 bcr2.bits.ESOFTBF = 0;
259 local_irq_disable();
260 wrmsrl (MSR_VIA_BCR2, bcr2.val);
261 local_irq_enable();
262 break; 248 break;
263 249
264 /* 250 /*
@@ -273,10 +259,22 @@ static void longhaul_setstate(unsigned int clock_ratio_index)
273 * to work in practice. 259 * to work in practice.
274 */ 260 */
275 case TYPE_POWERSAVER: 261 case TYPE_POWERSAVER:
276 do_powersaver(&longhaul, clock_ratio_index); 262 do_powersaver(cx->address, clock_ratio_index);
277 break; 263 break;
278 } 264 }
279 265
266 /* Enable bus master arbitration */
267 if (pr->flags.bm_check) {
268 acpi_set_register(ACPI_BITREG_ARB_DISABLE, 0,
269 ACPI_MTX_DO_NOT_LOCK);
270 }
271
272 outb(pic2_mask,0xA1); /* restore mask */
273 outb(pic1_mask,0x21);
274
275 local_irq_restore(flags);
276 preempt_enable();
277
280 cpufreq_notify_transition(&freqs, CPUFREQ_POSTCHANGE); 278 cpufreq_notify_transition(&freqs, CPUFREQ_POSTCHANGE);
281} 279}
282 280
@@ -324,9 +322,11 @@ static int guess_fsb(void)
324static int __init longhaul_get_ranges(void) 322static int __init longhaul_get_ranges(void)
325{ 323{
326 unsigned long invalue; 324 unsigned long invalue;
327 unsigned int multipliers[32]= { 325 unsigned int ezra_t_multipliers[32]= {
328 50,30,40,100,55,35,45,95,90,70,80,60,120,75,85,65, 326 90, 30, 40, 100, 55, 35, 45, 95,
329 -1,110,120,-1,135,115,125,105,130,150,160,140,-1,155,-1,145 }; 327 50, 70, 80, 60, 120, 75, 85, 65,
328 -1, 110, 120, -1, 135, 115, 125, 105,
329 130, 150, 160, 140, -1, 155, -1, 145 };
330 unsigned int j, k = 0; 330 unsigned int j, k = 0;
331 union msr_longhaul longhaul; 331 union msr_longhaul longhaul;
332 unsigned long lo, hi; 332 unsigned long lo, hi;
@@ -355,13 +355,13 @@ static int __init longhaul_get_ranges(void)
355 invalue = longhaul.bits.MaxMHzBR; 355 invalue = longhaul.bits.MaxMHzBR;
356 if (longhaul.bits.MaxMHzBR4) 356 if (longhaul.bits.MaxMHzBR4)
357 invalue += 16; 357 invalue += 16;
358 maxmult=multipliers[invalue]; 358 maxmult=ezra_t_multipliers[invalue];
359 359
360 invalue = longhaul.bits.MinMHzBR; 360 invalue = longhaul.bits.MinMHzBR;
361 if (longhaul.bits.MinMHzBR4 == 1) 361 if (longhaul.bits.MinMHzBR4 == 1)
362 minmult = 30; 362 minmult = 30;
363 else 363 else
364 minmult = multipliers[invalue]; 364 minmult = ezra_t_multipliers[invalue];
365 fsb = eblcr_fsb_table_v2[longhaul.bits.MaxMHzFSB]; 365 fsb = eblcr_fsb_table_v2[longhaul.bits.MaxMHzFSB];
366 break; 366 break;
367 } 367 }
@@ -527,6 +527,18 @@ static unsigned int longhaul_get(unsigned int cpu)
527 return calc_speed(longhaul_get_cpu_mult()); 527 return calc_speed(longhaul_get_cpu_mult());
528} 528}
529 529
530static acpi_status longhaul_walk_callback(acpi_handle obj_handle,
531 u32 nesting_level,
532 void *context, void **return_value)
533{
534 struct acpi_device *d;
535
536 if ( acpi_bus_get_device(obj_handle, &d) ) {
537 return 0;
538 }
539 *return_value = (void *)acpi_driver_data(d);
540 return 1;
541}
530 542
531static int __init longhaul_cpu_init(struct cpufreq_policy *policy) 543static int __init longhaul_cpu_init(struct cpufreq_policy *policy)
532{ 544{
@@ -534,6 +546,15 @@ static int __init longhaul_cpu_init(struct cpufreq_policy *policy)
534 char *cpuname=NULL; 546 char *cpuname=NULL;
535 int ret; 547 int ret;
536 548
549 /* Check ACPI support for C3 state */
550 acpi_walk_namespace(ACPI_TYPE_PROCESSOR, ACPI_ROOT_OBJECT, ACPI_UINT32_MAX,
551 &longhaul_walk_callback, NULL, (void *)&pr);
552 if (pr == NULL) goto err_acpi;
553
554 cx = &pr->power.states[ACPI_STATE_C3];
555 if (cx->address == 0 || cx->latency > 1000) goto err_acpi;
556
557 /* Now check what we have on this motherboard */
537 switch (c->x86_model) { 558 switch (c->x86_model) {
538 case 6: 559 case 6:
539 cpu_model = CPU_SAMUEL; 560 cpu_model = CPU_SAMUEL;
@@ -634,6 +655,10 @@ static int __init longhaul_cpu_init(struct cpufreq_policy *policy)
634 cpufreq_frequency_table_get_attr(longhaul_table, policy->cpu); 655 cpufreq_frequency_table_get_attr(longhaul_table, policy->cpu);
635 656
636 return 0; 657 return 0;
658
659err_acpi:
660 printk(KERN_ERR PFX "No ACPI support for CPU frequency changes.\n");
661 return -ENODEV;
637} 662}
638 663
639static int __devexit longhaul_cpu_exit(struct cpufreq_policy *policy) 664static int __devexit longhaul_cpu_exit(struct cpufreq_policy *policy)
@@ -666,6 +691,18 @@ static int __init longhaul_init(void)
666 if (c->x86_vendor != X86_VENDOR_CENTAUR || c->x86 != 6) 691 if (c->x86_vendor != X86_VENDOR_CENTAUR || c->x86 != 6)
667 return -ENODEV; 692 return -ENODEV;
668 693
694#ifdef CONFIG_SMP
695 if (num_online_cpus() > 1) {
696 return -ENODEV;
697 printk(KERN_ERR PFX "More than 1 CPU detected, longhaul disabled.\n");
698 }
699#endif
700#ifdef CONFIG_X86_IO_APIC
701 if (cpu_has_apic) {
702 printk(KERN_ERR PFX "APIC detected. Longhaul is currently broken in this configuration.\n");
703 return -ENODEV;
704 }
705#endif
669 switch (c->x86_model) { 706 switch (c->x86_model) {
670 case 6 ... 9: 707 case 6 ... 9:
671 return cpufreq_register_driver(&longhaul_driver); 708 return cpufreq_register_driver(&longhaul_driver);
@@ -699,6 +736,6 @@ MODULE_AUTHOR ("Dave Jones <davej@codemonkey.org.uk>");
699MODULE_DESCRIPTION ("Longhaul driver for VIA Cyrix processors."); 736MODULE_DESCRIPTION ("Longhaul driver for VIA Cyrix processors.");
700MODULE_LICENSE ("GPL"); 737MODULE_LICENSE ("GPL");
701 738
702module_init(longhaul_init); 739late_initcall(longhaul_init);
703module_exit(longhaul_exit); 740module_exit(longhaul_exit);
704 741
diff --git a/arch/i386/kernel/cpu/intel_cacheinfo.c b/arch/i386/kernel/cpu/intel_cacheinfo.c
index e9f0b928b0a9..5c43be47587f 100644
--- a/arch/i386/kernel/cpu/intel_cacheinfo.c
+++ b/arch/i386/kernel/cpu/intel_cacheinfo.c
@@ -759,7 +759,7 @@ static int __cpuinit cache_sysfs_init(void)
759 if (num_cache_leaves == 0) 759 if (num_cache_leaves == 0)
760 return 0; 760 return 0;
761 761
762 register_cpu_notifier(&cacheinfo_cpu_notifier); 762 register_hotcpu_notifier(&cacheinfo_cpu_notifier);
763 763
764 for_each_online_cpu(i) { 764 for_each_online_cpu(i) {
765 cacheinfo_cpu_callback(&cacheinfo_cpu_notifier, CPU_ONLINE, 765 cacheinfo_cpu_callback(&cacheinfo_cpu_notifier, CPU_ONLINE,
diff --git a/arch/i386/kernel/cpu/mcheck/mce.h b/arch/i386/kernel/cpu/mcheck/mce.h
index dc2416dfef15..84fd4cf7d0fb 100644
--- a/arch/i386/kernel/cpu/mcheck/mce.h
+++ b/arch/i386/kernel/cpu/mcheck/mce.h
@@ -9,6 +9,6 @@ void winchip_mcheck_init(struct cpuinfo_x86 *c);
9/* Call the installed machine check handler for this CPU setup. */ 9/* Call the installed machine check handler for this CPU setup. */
10extern fastcall void (*machine_check_vector)(struct pt_regs *, long error_code); 10extern fastcall void (*machine_check_vector)(struct pt_regs *, long error_code);
11 11
12extern int mce_disabled __initdata; 12extern int mce_disabled;
13extern int nr_mce_banks; 13extern int nr_mce_banks;
14 14
diff --git a/arch/i386/kernel/crash.c b/arch/i386/kernel/crash.c
index 48f0f62f781c..5b96f038367f 100644
--- a/arch/i386/kernel/crash.c
+++ b/arch/i386/kernel/crash.c
@@ -90,7 +90,7 @@ static void crash_save_self(struct pt_regs *regs)
90 crash_save_this_cpu(regs, cpu); 90 crash_save_this_cpu(regs, cpu);
91} 91}
92 92
93#ifdef CONFIG_SMP 93#if defined(CONFIG_SMP) && defined(CONFIG_X86_LOCAL_APIC)
94static atomic_t waiting_for_crash_ipi; 94static atomic_t waiting_for_crash_ipi;
95 95
96static int crash_nmi_callback(struct pt_regs *regs, int cpu) 96static int crash_nmi_callback(struct pt_regs *regs, int cpu)
diff --git a/arch/i386/kernel/entry.S b/arch/i386/kernel/entry.S
index d9a260f2efb4..37a7d2eaf4a0 100644
--- a/arch/i386/kernel/entry.S
+++ b/arch/i386/kernel/entry.S
@@ -204,7 +204,7 @@ VM_MASK = 0x00020000
204ENTRY(ret_from_fork) 204ENTRY(ret_from_fork)
205 CFI_STARTPROC 205 CFI_STARTPROC
206 pushl %eax 206 pushl %eax
207 CFI_ADJUST_CFA_OFFSET -4 207 CFI_ADJUST_CFA_OFFSET 4
208 call schedule_tail 208 call schedule_tail
209 GET_THREAD_INFO(%ebp) 209 GET_THREAD_INFO(%ebp)
210 popl %eax 210 popl %eax
diff --git a/arch/i386/kernel/ioport.c b/arch/i386/kernel/ioport.c
index 79026f026b85..498e8bc197d5 100644
--- a/arch/i386/kernel/ioport.c
+++ b/arch/i386/kernel/ioport.c
@@ -79,6 +79,7 @@ asmlinkage long sys_ioperm(unsigned long from, unsigned long num, int turn_on)
79 79
80 memset(bitmap, 0xff, IO_BITMAP_BYTES); 80 memset(bitmap, 0xff, IO_BITMAP_BYTES);
81 t->io_bitmap_ptr = bitmap; 81 t->io_bitmap_ptr = bitmap;
82 set_thread_flag(TIF_IO_BITMAP);
82 } 83 }
83 84
84 /* 85 /*
diff --git a/arch/i386/kernel/kprobes.c b/arch/i386/kernel/kprobes.c
index de2e16e561c0..afe6505ca0b3 100644
--- a/arch/i386/kernel/kprobes.c
+++ b/arch/i386/kernel/kprobes.c
@@ -256,11 +256,6 @@ static int __kprobes kprobe_handler(struct pt_regs *regs)
256 int ret = 0; 256 int ret = 0;
257 kprobe_opcode_t *addr; 257 kprobe_opcode_t *addr;
258 struct kprobe_ctlblk *kcb; 258 struct kprobe_ctlblk *kcb;
259#ifdef CONFIG_PREEMPT
260 unsigned pre_preempt_count = preempt_count();
261#else
262 unsigned pre_preempt_count = 1;
263#endif
264 259
265 addr = (kprobe_opcode_t *)(regs->eip - sizeof(kprobe_opcode_t)); 260 addr = (kprobe_opcode_t *)(regs->eip - sizeof(kprobe_opcode_t));
266 261
@@ -338,13 +333,15 @@ static int __kprobes kprobe_handler(struct pt_regs *regs)
338 return 1; 333 return 1;
339 334
340ss_probe: 335ss_probe:
341 if (pre_preempt_count && p->ainsn.boostable == 1 && !p->post_handler){ 336#ifndef CONFIG_PREEMPT
337 if (p->ainsn.boostable == 1 && !p->post_handler){
342 /* Boost up -- we can execute copied instructions directly */ 338 /* Boost up -- we can execute copied instructions directly */
343 reset_current_kprobe(); 339 reset_current_kprobe();
344 regs->eip = (unsigned long)p->ainsn.insn; 340 regs->eip = (unsigned long)p->ainsn.insn;
345 preempt_enable_no_resched(); 341 preempt_enable_no_resched();
346 return 1; 342 return 1;
347 } 343 }
344#endif
348 prepare_singlestep(p, regs); 345 prepare_singlestep(p, regs);
349 kcb->kprobe_status = KPROBE_HIT_SS; 346 kcb->kprobe_status = KPROBE_HIT_SS;
350 return 1; 347 return 1;
diff --git a/arch/i386/kernel/machine_kexec.c b/arch/i386/kernel/machine_kexec.c
index 511abe52a94e..6b1ae6ba76f0 100644
--- a/arch/i386/kernel/machine_kexec.c
+++ b/arch/i386/kernel/machine_kexec.c
@@ -189,14 +189,11 @@ NORET_TYPE void machine_kexec(struct kimage *image)
189 memcpy((void *)reboot_code_buffer, relocate_new_kernel, 189 memcpy((void *)reboot_code_buffer, relocate_new_kernel,
190 relocate_new_kernel_size); 190 relocate_new_kernel_size);
191 191
192 /* The segment registers are funny things, they are 192 /* The segment registers are funny things, they have both a
193 * automatically loaded from a table, in memory wherever you 193 * visible and an invisible part. Whenever the visible part is
194 * set them to a specific selector, but this table is never 194 * set to a specific selector, the invisible part is loaded
195 * accessed again you set the segment to a different selector. 195 * with from a table in memory. At no other time is the
196 * 196 * descriptor table in memory accessed.
197 * The more common model is are caches where the behide
198 * the scenes work is done, but is also dropped at arbitrary
199 * times.
200 * 197 *
201 * I take advantage of this here by force loading the 198 * I take advantage of this here by force loading the
202 * segments, before I zap the gdt with an invalid value. 199 * segments, before I zap the gdt with an invalid value.
diff --git a/arch/i386/kernel/nmi.c b/arch/i386/kernel/nmi.c
index 2dd928a84645..acb351478e42 100644
--- a/arch/i386/kernel/nmi.c
+++ b/arch/i386/kernel/nmi.c
@@ -575,6 +575,7 @@ void touch_nmi_watchdog (void)
575 */ 575 */
576 touch_softlockup_watchdog(); 576 touch_softlockup_watchdog();
577} 577}
578EXPORT_SYMBOL(touch_nmi_watchdog);
578 579
579extern void die_nmi(struct pt_regs *, const char *msg); 580extern void die_nmi(struct pt_regs *, const char *msg);
580 581
diff --git a/arch/i386/kernel/process.c b/arch/i386/kernel/process.c
index 94e2c87edeaa..8657c739656a 100644
--- a/arch/i386/kernel/process.c
+++ b/arch/i386/kernel/process.c
@@ -359,16 +359,16 @@ EXPORT_SYMBOL(kernel_thread);
359 */ 359 */
360void exit_thread(void) 360void exit_thread(void)
361{ 361{
362 struct task_struct *tsk = current;
363 struct thread_struct *t = &tsk->thread;
364
365 /* The process may have allocated an io port bitmap... nuke it. */ 362 /* The process may have allocated an io port bitmap... nuke it. */
366 if (unlikely(NULL != t->io_bitmap_ptr)) { 363 if (unlikely(test_thread_flag(TIF_IO_BITMAP))) {
364 struct task_struct *tsk = current;
365 struct thread_struct *t = &tsk->thread;
367 int cpu = get_cpu(); 366 int cpu = get_cpu();
368 struct tss_struct *tss = &per_cpu(init_tss, cpu); 367 struct tss_struct *tss = &per_cpu(init_tss, cpu);
369 368
370 kfree(t->io_bitmap_ptr); 369 kfree(t->io_bitmap_ptr);
371 t->io_bitmap_ptr = NULL; 370 t->io_bitmap_ptr = NULL;
371 clear_thread_flag(TIF_IO_BITMAP);
372 /* 372 /*
373 * Careful, clear this in the TSS too: 373 * Careful, clear this in the TSS too:
374 */ 374 */
@@ -387,6 +387,7 @@ void flush_thread(void)
387 387
388 memset(tsk->thread.debugreg, 0, sizeof(unsigned long)*8); 388 memset(tsk->thread.debugreg, 0, sizeof(unsigned long)*8);
389 memset(tsk->thread.tls_array, 0, sizeof(tsk->thread.tls_array)); 389 memset(tsk->thread.tls_array, 0, sizeof(tsk->thread.tls_array));
390 clear_tsk_thread_flag(tsk, TIF_DEBUG);
390 /* 391 /*
391 * Forget coprocessor state.. 392 * Forget coprocessor state..
392 */ 393 */
@@ -431,7 +432,7 @@ int copy_thread(int nr, unsigned long clone_flags, unsigned long esp,
431 savesegment(gs,p->thread.gs); 432 savesegment(gs,p->thread.gs);
432 433
433 tsk = current; 434 tsk = current;
434 if (unlikely(NULL != tsk->thread.io_bitmap_ptr)) { 435 if (unlikely(test_tsk_thread_flag(tsk, TIF_IO_BITMAP))) {
435 p->thread.io_bitmap_ptr = kmalloc(IO_BITMAP_BYTES, GFP_KERNEL); 436 p->thread.io_bitmap_ptr = kmalloc(IO_BITMAP_BYTES, GFP_KERNEL);
436 if (!p->thread.io_bitmap_ptr) { 437 if (!p->thread.io_bitmap_ptr) {
437 p->thread.io_bitmap_max = 0; 438 p->thread.io_bitmap_max = 0;
@@ -439,6 +440,7 @@ int copy_thread(int nr, unsigned long clone_flags, unsigned long esp,
439 } 440 }
440 memcpy(p->thread.io_bitmap_ptr, tsk->thread.io_bitmap_ptr, 441 memcpy(p->thread.io_bitmap_ptr, tsk->thread.io_bitmap_ptr,
441 IO_BITMAP_BYTES); 442 IO_BITMAP_BYTES);
443 set_tsk_thread_flag(p, TIF_IO_BITMAP);
442 } 444 }
443 445
444 /* 446 /*
@@ -533,10 +535,24 @@ int dump_task_regs(struct task_struct *tsk, elf_gregset_t *regs)
533 return 1; 535 return 1;
534} 536}
535 537
536static inline void 538static noinline void __switch_to_xtra(struct task_struct *next_p,
537handle_io_bitmap(struct thread_struct *next, struct tss_struct *tss) 539 struct tss_struct *tss)
538{ 540{
539 if (!next->io_bitmap_ptr) { 541 struct thread_struct *next;
542
543 next = &next_p->thread;
544
545 if (test_tsk_thread_flag(next_p, TIF_DEBUG)) {
546 set_debugreg(next->debugreg[0], 0);
547 set_debugreg(next->debugreg[1], 1);
548 set_debugreg(next->debugreg[2], 2);
549 set_debugreg(next->debugreg[3], 3);
550 /* no 4 and 5 */
551 set_debugreg(next->debugreg[6], 6);
552 set_debugreg(next->debugreg[7], 7);
553 }
554
555 if (!test_tsk_thread_flag(next_p, TIF_IO_BITMAP)) {
540 /* 556 /*
541 * Disable the bitmap via an invalid offset. We still cache 557 * Disable the bitmap via an invalid offset. We still cache
542 * the previous bitmap owner and the IO bitmap contents: 558 * the previous bitmap owner and the IO bitmap contents:
@@ -544,6 +560,7 @@ handle_io_bitmap(struct thread_struct *next, struct tss_struct *tss)
544 tss->io_bitmap_base = INVALID_IO_BITMAP_OFFSET; 560 tss->io_bitmap_base = INVALID_IO_BITMAP_OFFSET;
545 return; 561 return;
546 } 562 }
563
547 if (likely(next == tss->io_bitmap_owner)) { 564 if (likely(next == tss->io_bitmap_owner)) {
548 /* 565 /*
549 * Previous owner of the bitmap (hence the bitmap content) 566 * Previous owner of the bitmap (hence the bitmap content)
@@ -671,20 +688,11 @@ struct task_struct fastcall * __switch_to(struct task_struct *prev_p, struct tas
671 set_iopl_mask(next->iopl); 688 set_iopl_mask(next->iopl);
672 689
673 /* 690 /*
674 * Now maybe reload the debug registers 691 * Now maybe handle debug registers and/or IO bitmaps
675 */ 692 */
676 if (unlikely(next->debugreg[7])) { 693 if (unlikely((task_thread_info(next_p)->flags & _TIF_WORK_CTXSW)
677 set_debugreg(next->debugreg[0], 0); 694 || test_tsk_thread_flag(prev_p, TIF_IO_BITMAP)))
678 set_debugreg(next->debugreg[1], 1); 695 __switch_to_xtra(next_p, tss);
679 set_debugreg(next->debugreg[2], 2);
680 set_debugreg(next->debugreg[3], 3);
681 /* no 4 and 5 */
682 set_debugreg(next->debugreg[6], 6);
683 set_debugreg(next->debugreg[7], 7);
684 }
685
686 if (unlikely(prev->io_bitmap_ptr || next->io_bitmap_ptr))
687 handle_io_bitmap(next, tss);
688 696
689 disable_tsc(prev_p, next_p); 697 disable_tsc(prev_p, next_p);
690 698
diff --git a/arch/i386/kernel/ptrace.c b/arch/i386/kernel/ptrace.c
index fd7eaf7866e0..d3db03f4085d 100644
--- a/arch/i386/kernel/ptrace.c
+++ b/arch/i386/kernel/ptrace.c
@@ -468,8 +468,11 @@ long arch_ptrace(struct task_struct *child, long request, long addr, long data)
468 for(i=0; i<4; i++) 468 for(i=0; i<4; i++)
469 if ((0x5f54 >> ((data >> (16 + 4*i)) & 0xf)) & 1) 469 if ((0x5f54 >> ((data >> (16 + 4*i)) & 0xf)) & 1)
470 goto out_tsk; 470 goto out_tsk;
471 if (data)
472 set_tsk_thread_flag(child, TIF_DEBUG);
473 else
474 clear_tsk_thread_flag(child, TIF_DEBUG);
471 } 475 }
472
473 addr -= (long) &dummy->u_debugreg; 476 addr -= (long) &dummy->u_debugreg;
474 addr = addr >> 2; 477 addr = addr >> 2;
475 child->thread.debugreg[addr] = data; 478 child->thread.debugreg[addr] = data;
diff --git a/arch/i386/kernel/setup.c b/arch/i386/kernel/setup.c
index 08c00d20f162..f1682206d304 100644
--- a/arch/i386/kernel/setup.c
+++ b/arch/i386/kernel/setup.c
@@ -26,7 +26,7 @@
26#include <linux/sched.h> 26#include <linux/sched.h>
27#include <linux/mm.h> 27#include <linux/mm.h>
28#include <linux/mmzone.h> 28#include <linux/mmzone.h>
29#include <linux/tty.h> 29#include <linux/screen_info.h>
30#include <linux/ioport.h> 30#include <linux/ioport.h>
31#include <linux/acpi.h> 31#include <linux/acpi.h>
32#include <linux/apm_bios.h> 32#include <linux/apm_bios.h>
@@ -1327,7 +1327,10 @@ legacy_init_iomem_resources(struct resource *code_resource, struct resource *dat
1327 res->start = e820.map[i].addr; 1327 res->start = e820.map[i].addr;
1328 res->end = res->start + e820.map[i].size - 1; 1328 res->end = res->start + e820.map[i].size - 1;
1329 res->flags = IORESOURCE_MEM | IORESOURCE_BUSY; 1329 res->flags = IORESOURCE_MEM | IORESOURCE_BUSY;
1330 request_resource(&iomem_resource, res); 1330 if (request_resource(&iomem_resource, res)) {
1331 kfree(res);
1332 continue;
1333 }
1331 if (e820.map[i].type == E820_RAM) { 1334 if (e820.map[i].type == E820_RAM) {
1332 /* 1335 /*
1333 * We don't know which RAM region contains kernel data, 1336 * We don't know which RAM region contains kernel data,
diff --git a/arch/i386/kernel/smpboot.c b/arch/i386/kernel/smpboot.c
index 6f5fea05f1d7..f948419c888a 100644
--- a/arch/i386/kernel/smpboot.c
+++ b/arch/i386/kernel/smpboot.c
@@ -212,14 +212,20 @@ valid_k7:
212 * then we print a warning if not, and always resync. 212 * then we print a warning if not, and always resync.
213 */ 213 */
214 214
215static atomic_t tsc_start_flag = ATOMIC_INIT(0); 215static struct {
216static atomic_t tsc_count_start = ATOMIC_INIT(0); 216 atomic_t start_flag;
217static atomic_t tsc_count_stop = ATOMIC_INIT(0); 217 atomic_t count_start;
218static unsigned long long tsc_values[NR_CPUS]; 218 atomic_t count_stop;
219 unsigned long long values[NR_CPUS];
220} tsc __initdata = {
221 .start_flag = ATOMIC_INIT(0),
222 .count_start = ATOMIC_INIT(0),
223 .count_stop = ATOMIC_INIT(0),
224};
219 225
220#define NR_LOOPS 5 226#define NR_LOOPS 5
221 227
222static void __init synchronize_tsc_bp (void) 228static void __init synchronize_tsc_bp(void)
223{ 229{
224 int i; 230 int i;
225 unsigned long long t0; 231 unsigned long long t0;
@@ -233,7 +239,7 @@ static void __init synchronize_tsc_bp (void)
233 /* convert from kcyc/sec to cyc/usec */ 239 /* convert from kcyc/sec to cyc/usec */
234 one_usec = cpu_khz / 1000; 240 one_usec = cpu_khz / 1000;
235 241
236 atomic_set(&tsc_start_flag, 1); 242 atomic_set(&tsc.start_flag, 1);
237 wmb(); 243 wmb();
238 244
239 /* 245 /*
@@ -250,16 +256,16 @@ static void __init synchronize_tsc_bp (void)
250 /* 256 /*
251 * all APs synchronize but they loop on '== num_cpus' 257 * all APs synchronize but they loop on '== num_cpus'
252 */ 258 */
253 while (atomic_read(&tsc_count_start) != num_booting_cpus()-1) 259 while (atomic_read(&tsc.count_start) != num_booting_cpus()-1)
254 cpu_relax(); 260 cpu_relax();
255 atomic_set(&tsc_count_stop, 0); 261 atomic_set(&tsc.count_stop, 0);
256 wmb(); 262 wmb();
257 /* 263 /*
258 * this lets the APs save their current TSC: 264 * this lets the APs save their current TSC:
259 */ 265 */
260 atomic_inc(&tsc_count_start); 266 atomic_inc(&tsc.count_start);
261 267
262 rdtscll(tsc_values[smp_processor_id()]); 268 rdtscll(tsc.values[smp_processor_id()]);
263 /* 269 /*
264 * We clear the TSC in the last loop: 270 * We clear the TSC in the last loop:
265 */ 271 */
@@ -269,56 +275,54 @@ static void __init synchronize_tsc_bp (void)
269 /* 275 /*
270 * Wait for all APs to leave the synchronization point: 276 * Wait for all APs to leave the synchronization point:
271 */ 277 */
272 while (atomic_read(&tsc_count_stop) != num_booting_cpus()-1) 278 while (atomic_read(&tsc.count_stop) != num_booting_cpus()-1)
273 cpu_relax(); 279 cpu_relax();
274 atomic_set(&tsc_count_start, 0); 280 atomic_set(&tsc.count_start, 0);
275 wmb(); 281 wmb();
276 atomic_inc(&tsc_count_stop); 282 atomic_inc(&tsc.count_stop);
277 } 283 }
278 284
279 sum = 0; 285 sum = 0;
280 for (i = 0; i < NR_CPUS; i++) { 286 for (i = 0; i < NR_CPUS; i++) {
281 if (cpu_isset(i, cpu_callout_map)) { 287 if (cpu_isset(i, cpu_callout_map)) {
282 t0 = tsc_values[i]; 288 t0 = tsc.values[i];
283 sum += t0; 289 sum += t0;
284 } 290 }
285 } 291 }
286 avg = sum; 292 avg = sum;
287 do_div(avg, num_booting_cpus()); 293 do_div(avg, num_booting_cpus());
288 294
289 sum = 0;
290 for (i = 0; i < NR_CPUS; i++) { 295 for (i = 0; i < NR_CPUS; i++) {
291 if (!cpu_isset(i, cpu_callout_map)) 296 if (!cpu_isset(i, cpu_callout_map))
292 continue; 297 continue;
293 delta = tsc_values[i] - avg; 298 delta = tsc.values[i] - avg;
294 if (delta < 0) 299 if (delta < 0)
295 delta = -delta; 300 delta = -delta;
296 /* 301 /*
297 * We report bigger than 2 microseconds clock differences. 302 * We report bigger than 2 microseconds clock differences.
298 */ 303 */
299 if (delta > 2*one_usec) { 304 if (delta > 2*one_usec) {
300 long realdelta; 305 long long realdelta;
306
301 if (!buggy) { 307 if (!buggy) {
302 buggy = 1; 308 buggy = 1;
303 printk("\n"); 309 printk("\n");
304 } 310 }
305 realdelta = delta; 311 realdelta = delta;
306 do_div(realdelta, one_usec); 312 do_div(realdelta, one_usec);
307 if (tsc_values[i] < avg) 313 if (tsc.values[i] < avg)
308 realdelta = -realdelta; 314 realdelta = -realdelta;
309 315
310 if (realdelta > 0) 316 if (realdelta)
311 printk(KERN_INFO "CPU#%d had %ld usecs TSC " 317 printk(KERN_INFO "CPU#%d had %Ld usecs TSC "
312 "skew, fixed it up.\n", i, realdelta); 318 "skew, fixed it up.\n", i, realdelta);
313 } 319 }
314
315 sum += delta;
316 } 320 }
317 if (!buggy) 321 if (!buggy)
318 printk("passed.\n"); 322 printk("passed.\n");
319} 323}
320 324
321static void __init synchronize_tsc_ap (void) 325static void __init synchronize_tsc_ap(void)
322{ 326{
323 int i; 327 int i;
324 328
@@ -327,20 +331,20 @@ static void __init synchronize_tsc_ap (void)
327 * this gets called, so we first wait for the BP to 331 * this gets called, so we first wait for the BP to
328 * finish SMP initialization: 332 * finish SMP initialization:
329 */ 333 */
330 while (!atomic_read(&tsc_start_flag)) 334 while (!atomic_read(&tsc.start_flag))
331 cpu_relax(); 335 cpu_relax();
332 336
333 for (i = 0; i < NR_LOOPS; i++) { 337 for (i = 0; i < NR_LOOPS; i++) {
334 atomic_inc(&tsc_count_start); 338 atomic_inc(&tsc.count_start);
335 while (atomic_read(&tsc_count_start) != num_booting_cpus()) 339 while (atomic_read(&tsc.count_start) != num_booting_cpus())
336 cpu_relax(); 340 cpu_relax();
337 341
338 rdtscll(tsc_values[smp_processor_id()]); 342 rdtscll(tsc.values[smp_processor_id()]);
339 if (i == NR_LOOPS-1) 343 if (i == NR_LOOPS-1)
340 write_tsc(0, 0); 344 write_tsc(0, 0);
341 345
342 atomic_inc(&tsc_count_stop); 346 atomic_inc(&tsc.count_stop);
343 while (atomic_read(&tsc_count_stop) != num_booting_cpus()) 347 while (atomic_read(&tsc.count_stop) != num_booting_cpus())
344 cpu_relax(); 348 cpu_relax();
345 } 349 }
346} 350}
diff --git a/arch/i386/kernel/time.c b/arch/i386/kernel/time.c
index 316421a7f56f..edd00f6cee37 100644
--- a/arch/i386/kernel/time.c
+++ b/arch/i386/kernel/time.c
@@ -135,7 +135,7 @@ unsigned long profile_pc(struct pt_regs *regs)
135{ 135{
136 unsigned long pc = instruction_pointer(regs); 136 unsigned long pc = instruction_pointer(regs);
137 137
138 if (in_lock_functions(pc)) 138 if (!user_mode_vm(regs) && in_lock_functions(pc))
139 return *(unsigned long *)(regs->ebp + 4); 139 return *(unsigned long *)(regs->ebp + 4);
140 140
141 return pc; 141 return pc;
@@ -206,15 +206,16 @@ irqreturn_t timer_interrupt(int irq, void *dev_id, struct pt_regs *regs)
206unsigned long get_cmos_time(void) 206unsigned long get_cmos_time(void)
207{ 207{
208 unsigned long retval; 208 unsigned long retval;
209 unsigned long flags;
209 210
210 spin_lock(&rtc_lock); 211 spin_lock_irqsave(&rtc_lock, flags);
211 212
212 if (efi_enabled) 213 if (efi_enabled)
213 retval = efi_get_time(); 214 retval = efi_get_time();
214 else 215 else
215 retval = mach_get_cmos_time(); 216 retval = mach_get_cmos_time();
216 217
217 spin_unlock(&rtc_lock); 218 spin_unlock_irqrestore(&rtc_lock, flags);
218 219
219 return retval; 220 return retval;
220} 221}
diff --git a/arch/i386/kernel/traps.c b/arch/i386/kernel/traps.c
index 2bf8b55b91f8..0d4005dc06c5 100644
--- a/arch/i386/kernel/traps.c
+++ b/arch/i386/kernel/traps.c
@@ -100,13 +100,13 @@ int register_die_notifier(struct notifier_block *nb)
100 vmalloc_sync_all(); 100 vmalloc_sync_all();
101 return atomic_notifier_chain_register(&i386die_chain, nb); 101 return atomic_notifier_chain_register(&i386die_chain, nb);
102} 102}
103EXPORT_SYMBOL(register_die_notifier); 103EXPORT_SYMBOL(register_die_notifier); /* used modular by kdb */
104 104
105int unregister_die_notifier(struct notifier_block *nb) 105int unregister_die_notifier(struct notifier_block *nb)
106{ 106{
107 return atomic_notifier_chain_unregister(&i386die_chain, nb); 107 return atomic_notifier_chain_unregister(&i386die_chain, nb);
108} 108}
109EXPORT_SYMBOL(unregister_die_notifier); 109EXPORT_SYMBOL(unregister_die_notifier); /* used modular by kdb */
110 110
111static inline int valid_stack_ptr(struct thread_info *tinfo, void *p) 111static inline int valid_stack_ptr(struct thread_info *tinfo, void *p)
112{ 112{
@@ -187,10 +187,21 @@ static void show_trace_log_lvl(struct task_struct *task, struct pt_regs *regs,
187 if (unwind_init_blocked(&info, task) == 0) 187 if (unwind_init_blocked(&info, task) == 0)
188 unw_ret = show_trace_unwind(&info, log_lvl); 188 unw_ret = show_trace_unwind(&info, log_lvl);
189 } 189 }
190 if (unw_ret > 0) { 190 if (unw_ret > 0 && !arch_unw_user_mode(&info)) {
191 if (call_trace > 0) 191#ifdef CONFIG_STACK_UNWIND
192 print_symbol("DWARF2 unwinder stuck at %s\n",
193 UNW_PC(&info));
194 if (call_trace == 1) {
195 printk("Leftover inexact backtrace:\n");
196 if (UNW_SP(&info))
197 stack = (void *)UNW_SP(&info);
198 } else if (call_trace > 1)
192 return; 199 return;
193 printk("%sLegacy call trace:\n", log_lvl); 200 else
201 printk("Full inexact backtrace again:\n");
202#else
203 printk("Inexact backtrace:\n");
204#endif
194 } 205 }
195 } 206 }
196 207
@@ -324,35 +335,35 @@ void show_registers(struct pt_regs *regs)
324 335
325static void handle_BUG(struct pt_regs *regs) 336static void handle_BUG(struct pt_regs *regs)
326{ 337{
338 unsigned long eip = regs->eip;
327 unsigned short ud2; 339 unsigned short ud2;
328 unsigned short line;
329 char *file;
330 char c;
331 unsigned long eip;
332
333 eip = regs->eip;
334 340
335 if (eip < PAGE_OFFSET) 341 if (eip < PAGE_OFFSET)
336 goto no_bug; 342 return;
337 if (__get_user(ud2, (unsigned short __user *)eip)) 343 if (__get_user(ud2, (unsigned short __user *)eip))
338 goto no_bug; 344 return;
339 if (ud2 != 0x0b0f) 345 if (ud2 != 0x0b0f)
340 goto no_bug; 346 return;
341 if (__get_user(line, (unsigned short __user *)(eip + 2)))
342 goto bug;
343 if (__get_user(file, (char * __user *)(eip + 4)) ||
344 (unsigned long)file < PAGE_OFFSET || __get_user(c, file))
345 file = "<bad filename>";
346 347
347 printk(KERN_EMERG "------------[ cut here ]------------\n"); 348 printk(KERN_EMERG "------------[ cut here ]------------\n");
348 printk(KERN_EMERG "kernel BUG at %s:%d!\n", file, line);
349 349
350no_bug: 350#ifdef CONFIG_DEBUG_BUGVERBOSE
351 return; 351 do {
352 unsigned short line;
353 char *file;
354 char c;
355
356 if (__get_user(line, (unsigned short __user *)(eip + 2)))
357 break;
358 if (__get_user(file, (char * __user *)(eip + 4)) ||
359 (unsigned long)file < PAGE_OFFSET || __get_user(c, file))
360 file = "<bad filename>";
352 361
353 /* Here we know it was a BUG but file-n-line is unavailable */ 362 printk(KERN_EMERG "kernel BUG at %s:%d!\n", file, line);
354bug: 363 return;
355 printk(KERN_EMERG "Kernel BUG\n"); 364 } while (0);
365#endif
366 printk(KERN_EMERG "Kernel BUG at [verbose debug info unavailable]\n");
356} 367}
357 368
358/* This is gone through when something in the kernel 369/* This is gone through when something in the kernel
@@ -442,11 +453,9 @@ void die(const char * str, struct pt_regs * regs, long err)
442 if (in_interrupt()) 453 if (in_interrupt())
443 panic("Fatal exception in interrupt"); 454 panic("Fatal exception in interrupt");
444 455
445 if (panic_on_oops) { 456 if (panic_on_oops)
446 printk(KERN_EMERG "Fatal exception: panic in 5 seconds\n"); 457 panic("Fatal exception: panic_on_oops");
447 ssleep(5); 458
448 panic("Fatal exception");
449 }
450 oops_exit(); 459 oops_exit();
451 do_exit(SIGSEGV); 460 do_exit(SIGSEGV);
452} 461}
@@ -1238,8 +1247,10 @@ static int __init call_trace_setup(char *s)
1238 call_trace = -1; 1247 call_trace = -1;
1239 else if (strcmp(s, "both") == 0) 1248 else if (strcmp(s, "both") == 0)
1240 call_trace = 0; 1249 call_trace = 0;
1241 else if (strcmp(s, "new") == 0) 1250 else if (strcmp(s, "newfallback") == 0)
1242 call_trace = 1; 1251 call_trace = 1;
1252 else if (strcmp(s, "new") == 2)
1253 call_trace = 2;
1243 return 1; 1254 return 1;
1244} 1255}
1245__setup("call_trace=", call_trace_setup); 1256__setup("call_trace=", call_trace_setup);
diff --git a/arch/i386/kernel/vsyscall.lds.S b/arch/i386/kernel/vsyscall.lds.S
index e26975fc68b6..f66cd11adb72 100644
--- a/arch/i386/kernel/vsyscall.lds.S
+++ b/arch/i386/kernel/vsyscall.lds.S
@@ -10,6 +10,7 @@ SECTIONS
10 . = VDSO_PRELINK + SIZEOF_HEADERS; 10 . = VDSO_PRELINK + SIZEOF_HEADERS;
11 11
12 .hash : { *(.hash) } :text 12 .hash : { *(.hash) } :text
13 .gnu.hash : { *(.gnu.hash) }
13 .dynsym : { *(.dynsym) } 14 .dynsym : { *(.dynsym) }
14 .dynstr : { *(.dynstr) } 15 .dynstr : { *(.dynstr) }
15 .gnu.version : { *(.gnu.version) } 16 .gnu.version : { *(.gnu.version) }
diff --git a/arch/i386/lib/usercopy.c b/arch/i386/lib/usercopy.c
index 4b75212ab6dd..efc7e7d5f4d0 100644
--- a/arch/i386/lib/usercopy.c
+++ b/arch/i386/lib/usercopy.c
@@ -843,7 +843,6 @@ unsigned long __copy_from_user_ll_nocache_nozero(void *to, const void __user *fr
843unsigned long 843unsigned long
844copy_to_user(void __user *to, const void *from, unsigned long n) 844copy_to_user(void __user *to, const void *from, unsigned long n)
845{ 845{
846 might_sleep();
847 BUG_ON((long) n < 0); 846 BUG_ON((long) n < 0);
848 if (access_ok(VERIFY_WRITE, to, n)) 847 if (access_ok(VERIFY_WRITE, to, n))
849 n = __copy_to_user(to, from, n); 848 n = __copy_to_user(to, from, n);
@@ -870,7 +869,6 @@ EXPORT_SYMBOL(copy_to_user);
870unsigned long 869unsigned long
871copy_from_user(void *to, const void __user *from, unsigned long n) 870copy_from_user(void *to, const void __user *from, unsigned long n)
872{ 871{
873 might_sleep();
874 BUG_ON((long) n < 0); 872 BUG_ON((long) n < 0);
875 if (access_ok(VERIFY_READ, from, n)) 873 if (access_ok(VERIFY_READ, from, n))
876 n = __copy_from_user(to, from, n); 874 n = __copy_from_user(to, from, n);
diff --git a/arch/i386/oprofile/nmi_int.c b/arch/i386/oprofile/nmi_int.c
index fa8a37bcb391..c8c1df8ff2b4 100644
--- a/arch/i386/oprofile/nmi_int.c
+++ b/arch/i386/oprofile/nmi_int.c
@@ -13,6 +13,7 @@
13#include <linux/oprofile.h> 13#include <linux/oprofile.h>
14#include <linux/sysdev.h> 14#include <linux/sysdev.h>
15#include <linux/slab.h> 15#include <linux/slab.h>
16#include <linux/moduleparam.h>
16#include <asm/nmi.h> 17#include <asm/nmi.h>
17#include <asm/msr.h> 18#include <asm/msr.h>
18#include <asm/apic.h> 19#include <asm/apic.h>
@@ -296,12 +297,14 @@ static int nmi_create_files(struct super_block * sb, struct dentry * root)
296 return 0; 297 return 0;
297} 298}
298 299
300static int p4force;
301module_param(p4force, int, 0);
299 302
300static int __init p4_init(char ** cpu_type) 303static int __init p4_init(char ** cpu_type)
301{ 304{
302 __u8 cpu_model = boot_cpu_data.x86_model; 305 __u8 cpu_model = boot_cpu_data.x86_model;
303 306
304 if (cpu_model > 4) 307 if (!p4force && (cpu_model > 6 || cpu_model == 5))
305 return 0; 308 return 0;
306 309
307#ifndef CONFIG_SMP 310#ifndef CONFIG_SMP
diff --git a/arch/i386/pci/common.c b/arch/i386/pci/common.c
index c624b61e1104..0a362e3aeac5 100644
--- a/arch/i386/pci/common.c
+++ b/arch/i386/pci/common.c
@@ -17,10 +17,6 @@
17 17
18#include "pci.h" 18#include "pci.h"
19 19
20#ifdef CONFIG_PCI_BIOS
21extern void pcibios_sort(void);
22#endif
23
24unsigned int pci_probe = PCI_PROBE_BIOS | PCI_PROBE_CONF1 | PCI_PROBE_CONF2 | 20unsigned int pci_probe = PCI_PROBE_BIOS | PCI_PROBE_CONF1 | PCI_PROBE_CONF2 |
25 PCI_PROBE_MMCONF; 21 PCI_PROBE_MMCONF;
26 22
diff --git a/arch/i386/pci/pci.h b/arch/i386/pci/pci.h
index 12bf3d8dda29..bf4e79335388 100644
--- a/arch/i386/pci/pci.h
+++ b/arch/i386/pci/pci.h
@@ -84,4 +84,4 @@ extern int pci_conf1_read(unsigned int seg, unsigned int bus,
84extern void pci_direct_init(void); 84extern void pci_direct_init(void);
85extern void pci_pcbios_init(void); 85extern void pci_pcbios_init(void);
86extern void pci_mmcfg_init(void); 86extern void pci_mmcfg_init(void);
87 87extern void pcibios_sort(void);
diff --git a/arch/ia64/configs/sn2_defconfig b/arch/ia64/configs/sn2_defconfig
index 9ea35398e10d..0f14a82b856e 100644
--- a/arch/ia64/configs/sn2_defconfig
+++ b/arch/ia64/configs/sn2_defconfig
@@ -363,7 +363,7 @@ CONFIG_BLK_DEV_IDECD=y
363# 363#
364CONFIG_IDE_GENERIC=y 364CONFIG_IDE_GENERIC=y
365CONFIG_BLK_DEV_IDEPCI=y 365CONFIG_BLK_DEV_IDEPCI=y
366# CONFIG_IDEPCI_SHARE_IRQ is not set 366CONFIG_IDEPCI_SHARE_IRQ=y
367# CONFIG_BLK_DEV_OFFBOARD is not set 367# CONFIG_BLK_DEV_OFFBOARD is not set
368# CONFIG_BLK_DEV_GENERIC is not set 368# CONFIG_BLK_DEV_GENERIC is not set
369# CONFIG_BLK_DEV_OPTI621 is not set 369# CONFIG_BLK_DEV_OPTI621 is not set
diff --git a/arch/ia64/defconfig b/arch/ia64/defconfig
index 6cba55da572a..9001b3fbaa32 100644
--- a/arch/ia64/defconfig
+++ b/arch/ia64/defconfig
@@ -366,7 +366,7 @@ CONFIG_BLK_DEV_IDESCSI=m
366# CONFIG_IDE_GENERIC is not set 366# CONFIG_IDE_GENERIC is not set
367# CONFIG_BLK_DEV_IDEPNP is not set 367# CONFIG_BLK_DEV_IDEPNP is not set
368CONFIG_BLK_DEV_IDEPCI=y 368CONFIG_BLK_DEV_IDEPCI=y
369# CONFIG_IDEPCI_SHARE_IRQ is not set 369CONFIG_IDEPCI_SHARE_IRQ=y
370# CONFIG_BLK_DEV_OFFBOARD is not set 370# CONFIG_BLK_DEV_OFFBOARD is not set
371CONFIG_BLK_DEV_GENERIC=y 371CONFIG_BLK_DEV_GENERIC=y
372# CONFIG_BLK_DEV_OPTI621 is not set 372# CONFIG_BLK_DEV_OPTI621 is not set
diff --git a/arch/ia64/dig/setup.c b/arch/ia64/dig/setup.c
index 5ab12b8351d0..9196b330ff7f 100644
--- a/arch/ia64/dig/setup.c
+++ b/arch/ia64/dig/setup.c
@@ -14,7 +14,7 @@
14#include <linux/kernel.h> 14#include <linux/kernel.h>
15#include <linux/kdev_t.h> 15#include <linux/kdev_t.h>
16#include <linux/string.h> 16#include <linux/string.h>
17#include <linux/tty.h> 17#include <linux/screen_info.h>
18#include <linux/console.h> 18#include <linux/console.h>
19#include <linux/timex.h> 19#include <linux/timex.h>
20#include <linux/sched.h> 20#include <linux/sched.h>
diff --git a/arch/ia64/hp/sim/simscsi.c b/arch/ia64/hp/sim/simscsi.c
index a3fe97531134..8a4f0d0d17a3 100644
--- a/arch/ia64/hp/sim/simscsi.c
+++ b/arch/ia64/hp/sim/simscsi.c
@@ -151,7 +151,7 @@ static void
151simscsi_sg_readwrite (struct scsi_cmnd *sc, int mode, unsigned long offset) 151simscsi_sg_readwrite (struct scsi_cmnd *sc, int mode, unsigned long offset)
152{ 152{
153 int list_len = sc->use_sg; 153 int list_len = sc->use_sg;
154 struct scatterlist *sl = (struct scatterlist *)sc->buffer; 154 struct scatterlist *sl = (struct scatterlist *)sc->request_buffer;
155 struct disk_stat stat; 155 struct disk_stat stat;
156 struct disk_req req; 156 struct disk_req req;
157 157
@@ -244,7 +244,7 @@ static void simscsi_fillresult(struct scsi_cmnd *sc, char *buf, unsigned len)
244 244
245 if (scatterlen == 0) 245 if (scatterlen == 0)
246 memcpy(sc->request_buffer, buf, len); 246 memcpy(sc->request_buffer, buf, len);
247 else for (slp = (struct scatterlist *)sc->buffer; scatterlen-- > 0 && len > 0; slp++) { 247 else for (slp = (struct scatterlist *)sc->request_buffer; scatterlen-- > 0 && len > 0; slp++) {
248 unsigned thislen = min(len, slp->length); 248 unsigned thislen = min(len, slp->length);
249 249
250 memcpy(page_address(slp->page) + slp->offset, buf, thislen); 250 memcpy(page_address(slp->page) + slp->offset, buf, thislen);
diff --git a/arch/ia64/kernel/Makefile b/arch/ia64/kernel/Makefile
index 0e4553f320bf..ad8215a3c586 100644
--- a/arch/ia64/kernel/Makefile
+++ b/arch/ia64/kernel/Makefile
@@ -45,7 +45,8 @@ CPPFLAGS_gate.lds := -P -C -U$(ARCH)
45quiet_cmd_gate = GATE $@ 45quiet_cmd_gate = GATE $@
46 cmd_gate = $(CC) -nostdlib $(GATECFLAGS_$(@F)) -Wl,-T,$(filter-out FORCE,$^) -o $@ 46 cmd_gate = $(CC) -nostdlib $(GATECFLAGS_$(@F)) -Wl,-T,$(filter-out FORCE,$^) -o $@
47 47
48GATECFLAGS_gate.so = -shared -s -Wl,-soname=linux-gate.so.1 48GATECFLAGS_gate.so = -shared -s -Wl,-soname=linux-gate.so.1 \
49 $(call ld-option, -Wl$(comma)--hash-style=sysv)
49$(obj)/gate.so: $(obj)/gate.lds $(obj)/gate.o FORCE 50$(obj)/gate.so: $(obj)/gate.lds $(obj)/gate.o FORCE
50 $(call if_changed,gate) 51 $(call if_changed,gate)
51 52
diff --git a/arch/ia64/kernel/efi.c b/arch/ia64/kernel/efi.c
index b13c0555c3ba..bb8770a177b5 100644
--- a/arch/ia64/kernel/efi.c
+++ b/arch/ia64/kernel/efi.c
@@ -632,7 +632,7 @@ kern_memory_descriptor (unsigned long phys_addr)
632 if (phys_addr - md->start < (md->num_pages << EFI_PAGE_SHIFT)) 632 if (phys_addr - md->start < (md->num_pages << EFI_PAGE_SHIFT))
633 return md; 633 return md;
634 } 634 }
635 return 0; 635 return NULL;
636} 636}
637 637
638static efi_memory_desc_t * 638static efi_memory_desc_t *
@@ -652,7 +652,7 @@ efi_memory_descriptor (unsigned long phys_addr)
652 if (phys_addr - md->phys_addr < (md->num_pages << EFI_PAGE_SHIFT)) 652 if (phys_addr - md->phys_addr < (md->num_pages << EFI_PAGE_SHIFT))
653 return md; 653 return md;
654 } 654 }
655 return 0; 655 return NULL;
656} 656}
657 657
658u32 658u32
@@ -759,7 +759,7 @@ valid_phys_addr_range (unsigned long phys_addr, unsigned long size)
759} 759}
760 760
761int 761int
762valid_mmap_phys_addr_range (unsigned long phys_addr, unsigned long size) 762valid_mmap_phys_addr_range (unsigned long pfn, unsigned long size)
763{ 763{
764 /* 764 /*
765 * MMIO regions are often missing from the EFI memory map. 765 * MMIO regions are often missing from the EFI memory map.
@@ -923,7 +923,7 @@ find_memmap_space (void)
923void 923void
924efi_memmap_init(unsigned long *s, unsigned long *e) 924efi_memmap_init(unsigned long *s, unsigned long *e)
925{ 925{
926 struct kern_memdesc *k, *prev = 0; 926 struct kern_memdesc *k, *prev = NULL;
927 u64 contig_low=0, contig_high=0; 927 u64 contig_low=0, contig_high=0;
928 u64 as, ae, lim; 928 u64 as, ae, lim;
929 void *efi_map_start, *efi_map_end, *p, *q; 929 void *efi_map_start, *efi_map_end, *p, *q;
diff --git a/arch/ia64/kernel/gate.lds.S b/arch/ia64/kernel/gate.lds.S
index cc35cddfd4cf..6d198339bf85 100644
--- a/arch/ia64/kernel/gate.lds.S
+++ b/arch/ia64/kernel/gate.lds.S
@@ -12,6 +12,7 @@ SECTIONS
12 . = GATE_ADDR + SIZEOF_HEADERS; 12 . = GATE_ADDR + SIZEOF_HEADERS;
13 13
14 .hash : { *(.hash) } :readable 14 .hash : { *(.hash) } :readable
15 .gnu.hash : { *(.gnu.hash) }
15 .dynsym : { *(.dynsym) } 16 .dynsym : { *(.dynsym) }
16 .dynstr : { *(.dynstr) } 17 .dynstr : { *(.dynstr) }
17 .gnu.version : { *(.gnu.version) } 18 .gnu.version : { *(.gnu.version) }
diff --git a/arch/ia64/kernel/head.S b/arch/ia64/kernel/head.S
index 561b8f1d3bc7..29236f0c62b5 100644
--- a/arch/ia64/kernel/head.S
+++ b/arch/ia64/kernel/head.S
@@ -853,7 +853,6 @@ END(__ia64_init_fpu)
853 */ 853 */
854GLOBAL_ENTRY(ia64_switch_mode_phys) 854GLOBAL_ENTRY(ia64_switch_mode_phys)
855 { 855 {
856 alloc r2=ar.pfs,0,0,0,0
857 rsm psr.i | psr.ic // disable interrupts and interrupt collection 856 rsm psr.i | psr.ic // disable interrupts and interrupt collection
858 mov r15=ip 857 mov r15=ip
859 } 858 }
@@ -902,7 +901,6 @@ END(ia64_switch_mode_phys)
902 */ 901 */
903GLOBAL_ENTRY(ia64_switch_mode_virt) 902GLOBAL_ENTRY(ia64_switch_mode_virt)
904 { 903 {
905 alloc r2=ar.pfs,0,0,0,0
906 rsm psr.i | psr.ic // disable interrupts and interrupt collection 904 rsm psr.i | psr.ic // disable interrupts and interrupt collection
907 mov r15=ip 905 mov r15=ip
908 } 906 }
diff --git a/arch/ia64/kernel/ia64_ksyms.c b/arch/ia64/kernel/ia64_ksyms.c
index b7cf651ceb14..3ead20fb6f4b 100644
--- a/arch/ia64/kernel/ia64_ksyms.c
+++ b/arch/ia64/kernel/ia64_ksyms.c
@@ -62,7 +62,7 @@ EXPORT_SYMBOL(__udivdi3);
62EXPORT_SYMBOL(__moddi3); 62EXPORT_SYMBOL(__moddi3);
63EXPORT_SYMBOL(__umoddi3); 63EXPORT_SYMBOL(__umoddi3);
64 64
65#if defined(CONFIG_MD_RAID5) || defined(CONFIG_MD_RAID5_MODULE) 65#if defined(CONFIG_MD_RAID456) || defined(CONFIG_MD_RAID456_MODULE)
66extern void xor_ia64_2(void); 66extern void xor_ia64_2(void);
67extern void xor_ia64_3(void); 67extern void xor_ia64_3(void);
68extern void xor_ia64_4(void); 68extern void xor_ia64_4(void);
diff --git a/arch/ia64/kernel/kprobes.c b/arch/ia64/kernel/kprobes.c
index 00d9c83b8020..781960f80b6f 100644
--- a/arch/ia64/kernel/kprobes.c
+++ b/arch/ia64/kernel/kprobes.c
@@ -448,11 +448,20 @@ int __kprobes arch_prepare_kprobe(struct kprobe *p)
448 return 0; 448 return 0;
449} 449}
450 450
451void __kprobes flush_insn_slot(struct kprobe *p)
452{
453 unsigned long arm_addr;
454
455 arm_addr = ((unsigned long)&p->opcode.bundle) & ~0xFULL;
456 flush_icache_range(arm_addr, arm_addr + sizeof(bundle_t));
457}
458
451void __kprobes arch_arm_kprobe(struct kprobe *p) 459void __kprobes arch_arm_kprobe(struct kprobe *p)
452{ 460{
453 unsigned long addr = (unsigned long)p->addr; 461 unsigned long addr = (unsigned long)p->addr;
454 unsigned long arm_addr = addr & ~0xFULL; 462 unsigned long arm_addr = addr & ~0xFULL;
455 463
464 flush_insn_slot(p);
456 memcpy((char *)arm_addr, &p->ainsn.insn.bundle, sizeof(bundle_t)); 465 memcpy((char *)arm_addr, &p->ainsn.insn.bundle, sizeof(bundle_t));
457 flush_icache_range(arm_addr, arm_addr + sizeof(bundle_t)); 466 flush_icache_range(arm_addr, arm_addr + sizeof(bundle_t));
458} 467}
diff --git a/arch/ia64/kernel/pal.S b/arch/ia64/kernel/pal.S
index 5018c7f2e7a8..ebaf1e685f5e 100644
--- a/arch/ia64/kernel/pal.S
+++ b/arch/ia64/kernel/pal.S
@@ -217,12 +217,7 @@ GLOBAL_ENTRY(ia64_pal_call_phys_stacked)
217 .body 217 .body
218 ;; 218 ;;
219 ld8 loc2 = [loc2] // loc2 <- entry point 219 ld8 loc2 = [loc2] // loc2 <- entry point
220 mov out0 = in0 // first argument 220 mov loc3 = psr // save psr
221 mov out1 = in1 // copy arg2
222 mov out2 = in2 // copy arg3
223 mov out3 = in3 // copy arg3
224 ;;
225 mov loc3 = psr // save psr
226 ;; 221 ;;
227 mov loc4=ar.rsc // save RSE configuration 222 mov loc4=ar.rsc // save RSE configuration
228 dep.z loc2=loc2,0,61 // convert pal entry point to physical 223 dep.z loc2=loc2,0,61 // convert pal entry point to physical
@@ -236,18 +231,23 @@ GLOBAL_ENTRY(ia64_pal_call_phys_stacked)
236 ;; 231 ;;
237 andcm r16=loc3,r16 // removes bits to clear from psr 232 andcm r16=loc3,r16 // removes bits to clear from psr
238 br.call.sptk.many rp=ia64_switch_mode_phys 233 br.call.sptk.many rp=ia64_switch_mode_phys
239.ret6: 234
235 mov out0 = in0 // first argument
236 mov out1 = in1 // copy arg2
237 mov out2 = in2 // copy arg3
238 mov out3 = in3 // copy arg3
240 mov loc5 = r19 239 mov loc5 = r19
241 mov loc6 = r20 240 mov loc6 = r20
241
242 br.call.sptk.many rp=b7 // now make the call 242 br.call.sptk.many rp=b7 // now make the call
243.ret7: 243
244 mov ar.rsc=0 // put RSE in enforced lazy, LE mode 244 mov ar.rsc=0 // put RSE in enforced lazy, LE mode
245 mov r16=loc3 // r16= original psr 245 mov r16=loc3 // r16= original psr
246 mov r19=loc5 246 mov r19=loc5
247 mov r20=loc6 247 mov r20=loc6
248 br.call.sptk.many rp=ia64_switch_mode_virt // return to virtual mode 248 br.call.sptk.many rp=ia64_switch_mode_virt // return to virtual mode
249 249
250.ret8: mov psr.l = loc3 // restore init PSR 250 mov psr.l = loc3 // restore init PSR
251 mov ar.pfs = loc1 251 mov ar.pfs = loc1
252 mov rp = loc0 252 mov rp = loc0
253 ;; 253 ;;
diff --git a/arch/ia64/kernel/palinfo.c b/arch/ia64/kernel/palinfo.c
index 3f5bac59209a..0b546e2b36ac 100644
--- a/arch/ia64/kernel/palinfo.c
+++ b/arch/ia64/kernel/palinfo.c
@@ -566,29 +566,23 @@ version_info(char *page)
566 pal_version_u_t min_ver, cur_ver; 566 pal_version_u_t min_ver, cur_ver;
567 char *p = page; 567 char *p = page;
568 568
569 /* The PAL_VERSION call is advertised as being able to support 569 if (ia64_pal_version(&min_ver, &cur_ver) != 0)
570 * both physical and virtual mode calls. This seems to be a documentation 570 return 0;
571 * bug rather than firmware bug. In fact, it does only support physical mode.
572 * So now the code reflects this fact and the pal_version() has been updated
573 * accordingly.
574 */
575 if (ia64_pal_version(&min_ver, &cur_ver) != 0) return 0;
576 571
577 p += sprintf(p, 572 p += sprintf(p,
578 "PAL_vendor : 0x%02x (min=0x%02x)\n" 573 "PAL_vendor : 0x%02x (min=0x%02x)\n"
579 "PAL_A : %x.%x.%x (min=%x.%x.%x)\n" 574 "PAL_A : %02x.%02x (min=%02x.%02x)\n"
580 "PAL_B : %x.%x.%x (min=%x.%x.%x)\n", 575 "PAL_B : %02x.%02x (min=%02x.%02x)\n",
581 cur_ver.pal_version_s.pv_pal_vendor, min_ver.pal_version_s.pv_pal_vendor, 576 cur_ver.pal_version_s.pv_pal_vendor,
582 577 min_ver.pal_version_s.pv_pal_vendor,
583 cur_ver.pal_version_s.pv_pal_a_model>>4, 578 cur_ver.pal_version_s.pv_pal_a_model,
584 cur_ver.pal_version_s.pv_pal_a_model&0xf, cur_ver.pal_version_s.pv_pal_a_rev, 579 cur_ver.pal_version_s.pv_pal_a_rev,
585 min_ver.pal_version_s.pv_pal_a_model>>4, 580 min_ver.pal_version_s.pv_pal_a_model,
586 min_ver.pal_version_s.pv_pal_a_model&0xf, min_ver.pal_version_s.pv_pal_a_rev, 581 min_ver.pal_version_s.pv_pal_a_rev,
587 582 cur_ver.pal_version_s.pv_pal_b_model,
588 cur_ver.pal_version_s.pv_pal_b_model>>4, 583 cur_ver.pal_version_s.pv_pal_b_rev,
589 cur_ver.pal_version_s.pv_pal_b_model&0xf, cur_ver.pal_version_s.pv_pal_b_rev, 584 min_ver.pal_version_s.pv_pal_b_model,
590 min_ver.pal_version_s.pv_pal_b_model>>4, 585 min_ver.pal_version_s.pv_pal_b_rev);
591 min_ver.pal_version_s.pv_pal_b_model&0xf, min_ver.pal_version_s.pv_pal_b_rev);
592 return p - page; 586 return p - page;
593} 587}
594 588
@@ -958,9 +952,9 @@ remove_palinfo_proc_entries(unsigned int hcpu)
958 } 952 }
959} 953}
960 954
961static int __cpuinit palinfo_cpu_callback(struct notifier_block *nfb, 955#ifdef CONFIG_HOTPLUG_CPU
962 unsigned long action, 956static int palinfo_cpu_callback(struct notifier_block *nfb,
963 void *hcpu) 957 unsigned long action, void *hcpu)
964{ 958{
965 unsigned int hotcpu = (unsigned long)hcpu; 959 unsigned int hotcpu = (unsigned long)hcpu;
966 960
@@ -968,20 +962,19 @@ static int __cpuinit palinfo_cpu_callback(struct notifier_block *nfb,
968 case CPU_ONLINE: 962 case CPU_ONLINE:
969 create_palinfo_proc_entries(hotcpu); 963 create_palinfo_proc_entries(hotcpu);
970 break; 964 break;
971#ifdef CONFIG_HOTPLUG_CPU
972 case CPU_DEAD: 965 case CPU_DEAD:
973 remove_palinfo_proc_entries(hotcpu); 966 remove_palinfo_proc_entries(hotcpu);
974 break; 967 break;
975#endif
976 } 968 }
977 return NOTIFY_OK; 969 return NOTIFY_OK;
978} 970}
979 971
980static struct notifier_block __cpuinitdata palinfo_cpu_notifier = 972static struct notifier_block palinfo_cpu_notifier =
981{ 973{
982 .notifier_call = palinfo_cpu_callback, 974 .notifier_call = palinfo_cpu_callback,
983 .priority = 0, 975 .priority = 0,
984}; 976};
977#endif
985 978
986static int __init 979static int __init
987palinfo_init(void) 980palinfo_init(void)
@@ -1020,7 +1013,7 @@ palinfo_exit(void)
1020 /* 1013 /*
1021 * Unregister from cpu notifier callbacks 1014 * Unregister from cpu notifier callbacks
1022 */ 1015 */
1023 unregister_cpu_notifier(&palinfo_cpu_notifier); 1016 unregister_hotcpu_notifier(&palinfo_cpu_notifier);
1024} 1017}
1025 1018
1026module_init(palinfo_init); 1019module_init(palinfo_init);
diff --git a/arch/ia64/kernel/setup.c b/arch/ia64/kernel/setup.c
index 6a33f414de58..7ad0d9cc6db6 100644
--- a/arch/ia64/kernel/setup.c
+++ b/arch/ia64/kernel/setup.c
@@ -35,7 +35,7 @@
35#include <linux/seq_file.h> 35#include <linux/seq_file.h>
36#include <linux/string.h> 36#include <linux/string.h>
37#include <linux/threads.h> 37#include <linux/threads.h>
38#include <linux/tty.h> 38#include <linux/screen_info.h>
39#include <linux/dmi.h> 39#include <linux/dmi.h>
40#include <linux/serial.h> 40#include <linux/serial.h>
41#include <linux/serial_core.h> 41#include <linux/serial_core.h>
diff --git a/arch/ia64/kernel/topology.c b/arch/ia64/kernel/topology.c
index b146f1cfad31..d24fa393b182 100644
--- a/arch/ia64/kernel/topology.c
+++ b/arch/ia64/kernel/topology.c
@@ -435,7 +435,7 @@ static int __cpuinit cache_sysfs_init(void)
435 (void *)(long)i); 435 (void *)(long)i);
436 } 436 }
437 437
438 register_cpu_notifier(&cache_cpu_notifier); 438 register_hotcpu_notifier(&cache_cpu_notifier);
439 439
440 return 0; 440 return 0;
441} 441}
diff --git a/arch/ia64/kernel/traps.c b/arch/ia64/kernel/traps.c
index e7bbb0f40aa2..5a0420464c6c 100644
--- a/arch/ia64/kernel/traps.c
+++ b/arch/ia64/kernel/traps.c
@@ -117,11 +117,8 @@ die (const char *str, struct pt_regs *regs, long err)
117 die.lock_owner = -1; 117 die.lock_owner = -1;
118 spin_unlock_irq(&die.lock); 118 spin_unlock_irq(&die.lock);
119 119
120 if (panic_on_oops) { 120 if (panic_on_oops)
121 printk(KERN_EMERG "Fatal exception: panic in 5 seconds\n"); 121 panic("Fatal exception: panic_on_oops");
122 ssleep(5);
123 panic("Fatal exception");
124 }
125 122
126 do_exit(SIGSEGV); 123 do_exit(SIGSEGV);
127} 124}
diff --git a/arch/ia64/kernel/uncached.c b/arch/ia64/kernel/uncached.c
index 5f03b9e524dd..4c73a6763669 100644
--- a/arch/ia64/kernel/uncached.c
+++ b/arch/ia64/kernel/uncached.c
@@ -32,32 +32,38 @@
32 32
33extern void __init efi_memmap_walk_uc(efi_freemem_callback_t, void *); 33extern void __init efi_memmap_walk_uc(efi_freemem_callback_t, void *);
34 34
35#define MAX_UNCACHED_GRANULES 5 35struct uncached_pool {
36static int allocated_granules; 36 struct gen_pool *pool;
37 struct mutex add_chunk_mutex; /* serialize adding a converted chunk */
38 int nchunks_added; /* #of converted chunks added to pool */
39 atomic_t status; /* smp called function's return status*/
40};
41
42#define MAX_CONVERTED_CHUNKS_PER_NODE 2
37 43
38struct gen_pool *uncached_pool[MAX_NUMNODES]; 44struct uncached_pool uncached_pools[MAX_NUMNODES];
39 45
40 46
41static void uncached_ipi_visibility(void *data) 47static void uncached_ipi_visibility(void *data)
42{ 48{
43 int status; 49 int status;
50 struct uncached_pool *uc_pool = (struct uncached_pool *)data;
44 51
45 status = ia64_pal_prefetch_visibility(PAL_VISIBILITY_PHYSICAL); 52 status = ia64_pal_prefetch_visibility(PAL_VISIBILITY_PHYSICAL);
46 if ((status != PAL_VISIBILITY_OK) && 53 if ((status != PAL_VISIBILITY_OK) &&
47 (status != PAL_VISIBILITY_OK_REMOTE_NEEDED)) 54 (status != PAL_VISIBILITY_OK_REMOTE_NEEDED))
48 printk(KERN_DEBUG "pal_prefetch_visibility() returns %i on " 55 atomic_inc(&uc_pool->status);
49 "CPU %i\n", status, raw_smp_processor_id());
50} 56}
51 57
52 58
53static void uncached_ipi_mc_drain(void *data) 59static void uncached_ipi_mc_drain(void *data)
54{ 60{
55 int status; 61 int status;
62 struct uncached_pool *uc_pool = (struct uncached_pool *)data;
56 63
57 status = ia64_pal_mc_drain(); 64 status = ia64_pal_mc_drain();
58 if (status) 65 if (status != PAL_STATUS_SUCCESS)
59 printk(KERN_WARNING "ia64_pal_mc_drain() failed with %i on " 66 atomic_inc(&uc_pool->status);
60 "CPU %i\n", status, raw_smp_processor_id());
61} 67}
62 68
63 69
@@ -70,21 +76,34 @@ static void uncached_ipi_mc_drain(void *data)
70 * This is accomplished by first allocating a granule of cached memory pages 76 * This is accomplished by first allocating a granule of cached memory pages
71 * and then converting them to uncached memory pages. 77 * and then converting them to uncached memory pages.
72 */ 78 */
73static int uncached_add_chunk(struct gen_pool *pool, int nid) 79static int uncached_add_chunk(struct uncached_pool *uc_pool, int nid)
74{ 80{
75 struct page *page; 81 struct page *page;
76 int status, i; 82 int status, i, nchunks_added = uc_pool->nchunks_added;
77 unsigned long c_addr, uc_addr; 83 unsigned long c_addr, uc_addr;
78 84
79 if (allocated_granules >= MAX_UNCACHED_GRANULES) 85 if (mutex_lock_interruptible(&uc_pool->add_chunk_mutex) != 0)
86 return -1; /* interrupted by a signal */
87
88 if (uc_pool->nchunks_added > nchunks_added) {
89 /* someone added a new chunk while we were waiting */
90 mutex_unlock(&uc_pool->add_chunk_mutex);
91 return 0;
92 }
93
94 if (uc_pool->nchunks_added >= MAX_CONVERTED_CHUNKS_PER_NODE) {
95 mutex_unlock(&uc_pool->add_chunk_mutex);
80 return -1; 96 return -1;
97 }
81 98
82 /* attempt to allocate a granule's worth of cached memory pages */ 99 /* attempt to allocate a granule's worth of cached memory pages */
83 100
84 page = alloc_pages_node(nid, GFP_KERNEL | __GFP_ZERO, 101 page = alloc_pages_node(nid, GFP_KERNEL | __GFP_ZERO,
85 IA64_GRANULE_SHIFT-PAGE_SHIFT); 102 IA64_GRANULE_SHIFT-PAGE_SHIFT);
86 if (!page) 103 if (!page) {
104 mutex_unlock(&uc_pool->add_chunk_mutex);
87 return -1; 105 return -1;
106 }
88 107
89 /* convert the memory pages from cached to uncached */ 108 /* convert the memory pages from cached to uncached */
90 109
@@ -102,11 +121,14 @@ static int uncached_add_chunk(struct gen_pool *pool, int nid)
102 flush_tlb_kernel_range(uc_addr, uc_adddr + IA64_GRANULE_SIZE); 121 flush_tlb_kernel_range(uc_addr, uc_adddr + IA64_GRANULE_SIZE);
103 122
104 status = ia64_pal_prefetch_visibility(PAL_VISIBILITY_PHYSICAL); 123 status = ia64_pal_prefetch_visibility(PAL_VISIBILITY_PHYSICAL);
105 if (!status) { 124 if (status == PAL_VISIBILITY_OK_REMOTE_NEEDED) {
106 status = smp_call_function(uncached_ipi_visibility, NULL, 0, 1); 125 atomic_set(&uc_pool->status, 0);
107 if (status) 126 status = smp_call_function(uncached_ipi_visibility, uc_pool,
127 0, 1);
128 if (status || atomic_read(&uc_pool->status))
108 goto failed; 129 goto failed;
109 } 130 } else if (status != PAL_VISIBILITY_OK)
131 goto failed;
110 132
111 preempt_disable(); 133 preempt_disable();
112 134
@@ -120,20 +142,24 @@ static int uncached_add_chunk(struct gen_pool *pool, int nid)
120 142
121 preempt_enable(); 143 preempt_enable();
122 144
123 ia64_pal_mc_drain(); 145 status = ia64_pal_mc_drain();
124 status = smp_call_function(uncached_ipi_mc_drain, NULL, 0, 1); 146 if (status != PAL_STATUS_SUCCESS)
125 if (status) 147 goto failed;
148 atomic_set(&uc_pool->status, 0);
149 status = smp_call_function(uncached_ipi_mc_drain, uc_pool, 0, 1);
150 if (status || atomic_read(&uc_pool->status))
126 goto failed; 151 goto failed;
127 152
128 /* 153 /*
129 * The chunk of memory pages has been converted to uncached so now we 154 * The chunk of memory pages has been converted to uncached so now we
130 * can add it to the pool. 155 * can add it to the pool.
131 */ 156 */
132 status = gen_pool_add(pool, uc_addr, IA64_GRANULE_SIZE, nid); 157 status = gen_pool_add(uc_pool->pool, uc_addr, IA64_GRANULE_SIZE, nid);
133 if (status) 158 if (status)
134 goto failed; 159 goto failed;
135 160
136 allocated_granules++; 161 uc_pool->nchunks_added++;
162 mutex_unlock(&uc_pool->add_chunk_mutex);
137 return 0; 163 return 0;
138 164
139 /* failed to convert or add the chunk so give it back to the kernel */ 165 /* failed to convert or add the chunk so give it back to the kernel */
@@ -142,6 +168,7 @@ failed:
142 ClearPageUncached(&page[i]); 168 ClearPageUncached(&page[i]);
143 169
144 free_pages(c_addr, IA64_GRANULE_SHIFT-PAGE_SHIFT); 170 free_pages(c_addr, IA64_GRANULE_SHIFT-PAGE_SHIFT);
171 mutex_unlock(&uc_pool->add_chunk_mutex);
145 return -1; 172 return -1;
146} 173}
147 174
@@ -158,7 +185,7 @@ failed:
158unsigned long uncached_alloc_page(int starting_nid) 185unsigned long uncached_alloc_page(int starting_nid)
159{ 186{
160 unsigned long uc_addr; 187 unsigned long uc_addr;
161 struct gen_pool *pool; 188 struct uncached_pool *uc_pool;
162 int nid; 189 int nid;
163 190
164 if (unlikely(starting_nid >= MAX_NUMNODES)) 191 if (unlikely(starting_nid >= MAX_NUMNODES))
@@ -171,14 +198,14 @@ unsigned long uncached_alloc_page(int starting_nid)
171 do { 198 do {
172 if (!node_online(nid)) 199 if (!node_online(nid))
173 continue; 200 continue;
174 pool = uncached_pool[nid]; 201 uc_pool = &uncached_pools[nid];
175 if (pool == NULL) 202 if (uc_pool->pool == NULL)
176 continue; 203 continue;
177 do { 204 do {
178 uc_addr = gen_pool_alloc(pool, PAGE_SIZE); 205 uc_addr = gen_pool_alloc(uc_pool->pool, PAGE_SIZE);
179 if (uc_addr != 0) 206 if (uc_addr != 0)
180 return uc_addr; 207 return uc_addr;
181 } while (uncached_add_chunk(pool, nid) == 0); 208 } while (uncached_add_chunk(uc_pool, nid) == 0);
182 209
183 } while ((nid = (nid + 1) % MAX_NUMNODES) != starting_nid); 210 } while ((nid = (nid + 1) % MAX_NUMNODES) != starting_nid);
184 211
@@ -197,7 +224,7 @@ EXPORT_SYMBOL(uncached_alloc_page);
197void uncached_free_page(unsigned long uc_addr) 224void uncached_free_page(unsigned long uc_addr)
198{ 225{
199 int nid = paddr_to_nid(uc_addr - __IA64_UNCACHED_OFFSET); 226 int nid = paddr_to_nid(uc_addr - __IA64_UNCACHED_OFFSET);
200 struct gen_pool *pool = uncached_pool[nid]; 227 struct gen_pool *pool = uncached_pools[nid].pool;
201 228
202 if (unlikely(pool == NULL)) 229 if (unlikely(pool == NULL))
203 return; 230 return;
@@ -224,7 +251,7 @@ static int __init uncached_build_memmap(unsigned long uc_start,
224 unsigned long uc_end, void *arg) 251 unsigned long uc_end, void *arg)
225{ 252{
226 int nid = paddr_to_nid(uc_start - __IA64_UNCACHED_OFFSET); 253 int nid = paddr_to_nid(uc_start - __IA64_UNCACHED_OFFSET);
227 struct gen_pool *pool = uncached_pool[nid]; 254 struct gen_pool *pool = uncached_pools[nid].pool;
228 size_t size = uc_end - uc_start; 255 size_t size = uc_end - uc_start;
229 256
230 touch_softlockup_watchdog(); 257 touch_softlockup_watchdog();
@@ -242,7 +269,8 @@ static int __init uncached_init(void)
242 int nid; 269 int nid;
243 270
244 for_each_online_node(nid) { 271 for_each_online_node(nid) {
245 uncached_pool[nid] = gen_pool_create(PAGE_SHIFT, nid); 272 uncached_pools[nid].pool = gen_pool_create(PAGE_SHIFT, nid);
273 mutex_init(&uncached_pools[nid].add_chunk_mutex);
246 } 274 }
247 275
248 efi_memmap_walk_uc(uncached_build_memmap, NULL); 276 efi_memmap_walk_uc(uncached_build_memmap, NULL);
diff --git a/arch/ia64/lib/Makefile b/arch/ia64/lib/Makefile
index d8536a2c22a9..38fa6e49e791 100644
--- a/arch/ia64/lib/Makefile
+++ b/arch/ia64/lib/Makefile
@@ -14,7 +14,7 @@ lib-y := __divsi3.o __udivsi3.o __modsi3.o __umodsi3.o \
14lib-$(CONFIG_ITANIUM) += copy_page.o copy_user.o memcpy.o 14lib-$(CONFIG_ITANIUM) += copy_page.o copy_user.o memcpy.o
15lib-$(CONFIG_MCKINLEY) += copy_page_mck.o memcpy_mck.o 15lib-$(CONFIG_MCKINLEY) += copy_page_mck.o memcpy_mck.o
16lib-$(CONFIG_PERFMON) += carta_random.o 16lib-$(CONFIG_PERFMON) += carta_random.o
17lib-$(CONFIG_MD_RAID5) += xor.o 17lib-$(CONFIG_MD_RAID456) += xor.o
18 18
19AFLAGS___divdi3.o = 19AFLAGS___divdi3.o =
20AFLAGS___udivdi3.o = -DUNSIGNED 20AFLAGS___udivdi3.o = -DUNSIGNED
diff --git a/arch/ia64/mm/contig.c b/arch/ia64/mm/contig.c
index 2a88cdd6d924..e004143ba86b 100644
--- a/arch/ia64/mm/contig.c
+++ b/arch/ia64/mm/contig.c
@@ -27,6 +27,7 @@
27 27
28#ifdef CONFIG_VIRTUAL_MEM_MAP 28#ifdef CONFIG_VIRTUAL_MEM_MAP
29static unsigned long num_dma_physpages; 29static unsigned long num_dma_physpages;
30static unsigned long max_gap;
30#endif 31#endif
31 32
32/** 33/**
@@ -45,9 +46,15 @@ show_mem (void)
45 46
46 printk("Free swap: %6ldkB\n", nr_swap_pages<<(PAGE_SHIFT-10)); 47 printk("Free swap: %6ldkB\n", nr_swap_pages<<(PAGE_SHIFT-10));
47 i = max_mapnr; 48 i = max_mapnr;
48 while (i-- > 0) { 49 for (i = 0; i < max_mapnr; i++) {
49 if (!pfn_valid(i)) 50 if (!pfn_valid(i)) {
51#ifdef CONFIG_VIRTUAL_MEM_MAP
52 if (max_gap < LARGE_GAP)
53 continue;
54 i = vmemmap_find_next_valid_pfn(0, i) - 1;
55#endif
50 continue; 56 continue;
57 }
51 total++; 58 total++;
52 if (PageReserved(mem_map+i)) 59 if (PageReserved(mem_map+i))
53 reserved++; 60 reserved++;
@@ -234,7 +241,6 @@ paging_init (void)
234 unsigned long zones_size[MAX_NR_ZONES]; 241 unsigned long zones_size[MAX_NR_ZONES];
235#ifdef CONFIG_VIRTUAL_MEM_MAP 242#ifdef CONFIG_VIRTUAL_MEM_MAP
236 unsigned long zholes_size[MAX_NR_ZONES]; 243 unsigned long zholes_size[MAX_NR_ZONES];
237 unsigned long max_gap;
238#endif 244#endif
239 245
240 /* initialize mem_map[] */ 246 /* initialize mem_map[] */
@@ -266,7 +272,6 @@ paging_init (void)
266 } 272 }
267 } 273 }
268 274
269 max_gap = 0;
270 efi_memmap_walk(find_largest_hole, (u64 *)&max_gap); 275 efi_memmap_walk(find_largest_hole, (u64 *)&max_gap);
271 if (max_gap < LARGE_GAP) { 276 if (max_gap < LARGE_GAP) {
272 vmem_map = (struct page *) 0; 277 vmem_map = (struct page *) 0;
@@ -277,7 +282,8 @@ paging_init (void)
277 282
278 /* allocate virtual_mem_map */ 283 /* allocate virtual_mem_map */
279 284
280 map_size = PAGE_ALIGN(max_low_pfn * sizeof(struct page)); 285 map_size = PAGE_ALIGN(ALIGN(max_low_pfn, MAX_ORDER_NR_PAGES) *
286 sizeof(struct page));
281 vmalloc_end -= map_size; 287 vmalloc_end -= map_size;
282 vmem_map = (struct page *) vmalloc_end; 288 vmem_map = (struct page *) vmalloc_end;
283 efi_memmap_walk(create_mem_map_page_table, NULL); 289 efi_memmap_walk(create_mem_map_page_table, NULL);
diff --git a/arch/ia64/mm/discontig.c b/arch/ia64/mm/discontig.c
index 99bd9e30db96..d260bffa01ab 100644
--- a/arch/ia64/mm/discontig.c
+++ b/arch/ia64/mm/discontig.c
@@ -534,68 +534,6 @@ void __cpuinit *per_cpu_init(void)
534} 534}
535#endif /* CONFIG_SMP */ 535#endif /* CONFIG_SMP */
536 536
537#ifdef CONFIG_VIRTUAL_MEM_MAP
538static inline int find_next_valid_pfn_for_pgdat(pg_data_t *pgdat, int i)
539{
540 unsigned long end_address, hole_next_pfn;
541 unsigned long stop_address;
542
543 end_address = (unsigned long) &vmem_map[pgdat->node_start_pfn + i];
544 end_address = PAGE_ALIGN(end_address);
545
546 stop_address = (unsigned long) &vmem_map[
547 pgdat->node_start_pfn + pgdat->node_spanned_pages];
548
549 do {
550 pgd_t *pgd;
551 pud_t *pud;
552 pmd_t *pmd;
553 pte_t *pte;
554
555 pgd = pgd_offset_k(end_address);
556 if (pgd_none(*pgd)) {
557 end_address += PGDIR_SIZE;
558 continue;
559 }
560
561 pud = pud_offset(pgd, end_address);
562 if (pud_none(*pud)) {
563 end_address += PUD_SIZE;
564 continue;
565 }
566
567 pmd = pmd_offset(pud, end_address);
568 if (pmd_none(*pmd)) {
569 end_address += PMD_SIZE;
570 continue;
571 }
572
573 pte = pte_offset_kernel(pmd, end_address);
574retry_pte:
575 if (pte_none(*pte)) {
576 end_address += PAGE_SIZE;
577 pte++;
578 if ((end_address < stop_address) &&
579 (end_address != ALIGN(end_address, 1UL << PMD_SHIFT)))
580 goto retry_pte;
581 continue;
582 }
583 /* Found next valid vmem_map page */
584 break;
585 } while (end_address < stop_address);
586
587 end_address = min(end_address, stop_address);
588 end_address = end_address - (unsigned long) vmem_map + sizeof(struct page) - 1;
589 hole_next_pfn = end_address / sizeof(struct page);
590 return hole_next_pfn - pgdat->node_start_pfn;
591}
592#else
593static inline int find_next_valid_pfn_for_pgdat(pg_data_t *pgdat, int i)
594{
595 return i + 1;
596}
597#endif
598
599/** 537/**
600 * show_mem - give short summary of memory stats 538 * show_mem - give short summary of memory stats
601 * 539 *
@@ -625,7 +563,8 @@ void show_mem(void)
625 if (pfn_valid(pgdat->node_start_pfn + i)) 563 if (pfn_valid(pgdat->node_start_pfn + i))
626 page = pfn_to_page(pgdat->node_start_pfn + i); 564 page = pfn_to_page(pgdat->node_start_pfn + i);
627 else { 565 else {
628 i = find_next_valid_pfn_for_pgdat(pgdat, i) - 1; 566 i = vmemmap_find_next_valid_pfn(pgdat->node_id,
567 i) - 1;
629 continue; 568 continue;
630 } 569 }
631 if (PageReserved(page)) 570 if (PageReserved(page))
@@ -751,7 +690,8 @@ void __init paging_init(void)
751 efi_memmap_walk(filter_rsvd_memory, count_node_pages); 690 efi_memmap_walk(filter_rsvd_memory, count_node_pages);
752 691
753#ifdef CONFIG_VIRTUAL_MEM_MAP 692#ifdef CONFIG_VIRTUAL_MEM_MAP
754 vmalloc_end -= PAGE_ALIGN(max_low_pfn * sizeof(struct page)); 693 vmalloc_end -= PAGE_ALIGN(ALIGN(max_low_pfn, MAX_ORDER_NR_PAGES) *
694 sizeof(struct page));
755 vmem_map = (struct page *) vmalloc_end; 695 vmem_map = (struct page *) vmalloc_end;
756 efi_memmap_walk(create_mem_map_page_table, NULL); 696 efi_memmap_walk(create_mem_map_page_table, NULL);
757 printk("Virtual mem_map starts at 0x%p\n", vmem_map); 697 printk("Virtual mem_map starts at 0x%p\n", vmem_map);
diff --git a/arch/ia64/mm/init.c b/arch/ia64/mm/init.c
index 2f50c064513c..30617ccb4f7e 100644
--- a/arch/ia64/mm/init.c
+++ b/arch/ia64/mm/init.c
@@ -415,6 +415,61 @@ ia64_mmu_init (void *my_cpu_data)
415} 415}
416 416
417#ifdef CONFIG_VIRTUAL_MEM_MAP 417#ifdef CONFIG_VIRTUAL_MEM_MAP
418int vmemmap_find_next_valid_pfn(int node, int i)
419{
420 unsigned long end_address, hole_next_pfn;
421 unsigned long stop_address;
422 pg_data_t *pgdat = NODE_DATA(node);
423
424 end_address = (unsigned long) &vmem_map[pgdat->node_start_pfn + i];
425 end_address = PAGE_ALIGN(end_address);
426
427 stop_address = (unsigned long) &vmem_map[
428 pgdat->node_start_pfn + pgdat->node_spanned_pages];
429
430 do {
431 pgd_t *pgd;
432 pud_t *pud;
433 pmd_t *pmd;
434 pte_t *pte;
435
436 pgd = pgd_offset_k(end_address);
437 if (pgd_none(*pgd)) {
438 end_address += PGDIR_SIZE;
439 continue;
440 }
441
442 pud = pud_offset(pgd, end_address);
443 if (pud_none(*pud)) {
444 end_address += PUD_SIZE;
445 continue;
446 }
447
448 pmd = pmd_offset(pud, end_address);
449 if (pmd_none(*pmd)) {
450 end_address += PMD_SIZE;
451 continue;
452 }
453
454 pte = pte_offset_kernel(pmd, end_address);
455retry_pte:
456 if (pte_none(*pte)) {
457 end_address += PAGE_SIZE;
458 pte++;
459 if ((end_address < stop_address) &&
460 (end_address != ALIGN(end_address, 1UL << PMD_SHIFT)))
461 goto retry_pte;
462 continue;
463 }
464 /* Found next valid vmem_map page */
465 break;
466 } while (end_address < stop_address);
467
468 end_address = min(end_address, stop_address);
469 end_address = end_address - (unsigned long) vmem_map + sizeof(struct page) - 1;
470 hole_next_pfn = end_address / sizeof(struct page);
471 return hole_next_pfn - pgdat->node_start_pfn;
472}
418 473
419int __init 474int __init
420create_mem_map_page_table (u64 start, u64 end, void *arg) 475create_mem_map_page_table (u64 start, u64 end, void *arg)
diff --git a/arch/ia64/mm/ioremap.c b/arch/ia64/mm/ioremap.c
index 07bd02b6c372..4280c074d64e 100644
--- a/arch/ia64/mm/ioremap.c
+++ b/arch/ia64/mm/ioremap.c
@@ -32,7 +32,7 @@ ioremap (unsigned long offset, unsigned long size)
32 */ 32 */
33 attr = kern_mem_attribute(offset, size); 33 attr = kern_mem_attribute(offset, size);
34 if (attr & EFI_MEMORY_WB) 34 if (attr & EFI_MEMORY_WB)
35 return phys_to_virt(offset); 35 return (void __iomem *) phys_to_virt(offset);
36 else if (attr & EFI_MEMORY_UC) 36 else if (attr & EFI_MEMORY_UC)
37 return __ioremap(offset, size); 37 return __ioremap(offset, size);
38 38
@@ -43,7 +43,7 @@ ioremap (unsigned long offset, unsigned long size)
43 gran_base = GRANULEROUNDDOWN(offset); 43 gran_base = GRANULEROUNDDOWN(offset);
44 gran_size = GRANULEROUNDUP(offset + size) - gran_base; 44 gran_size = GRANULEROUNDUP(offset + size) - gran_base;
45 if (efi_mem_attribute(gran_base, gran_size) & EFI_MEMORY_WB) 45 if (efi_mem_attribute(gran_base, gran_size) & EFI_MEMORY_WB)
46 return phys_to_virt(offset); 46 return (void __iomem *) phys_to_virt(offset);
47 47
48 return __ioremap(offset, size); 48 return __ioremap(offset, size);
49} 49}
@@ -53,7 +53,7 @@ void __iomem *
53ioremap_nocache (unsigned long offset, unsigned long size) 53ioremap_nocache (unsigned long offset, unsigned long size)
54{ 54{
55 if (kern_mem_attribute(offset, size) & EFI_MEMORY_WB) 55 if (kern_mem_attribute(offset, size) & EFI_MEMORY_WB)
56 return 0; 56 return NULL;
57 57
58 return __ioremap(offset, size); 58 return __ioremap(offset, size);
59} 59}
diff --git a/arch/ia64/pci/pci.c b/arch/ia64/pci/pci.c
index 276512fd8922..60b45e79f080 100644
--- a/arch/ia64/pci/pci.c
+++ b/arch/ia64/pci/pci.c
@@ -650,7 +650,7 @@ pci_mmap_legacy_page_range(struct pci_bus *bus, struct vm_area_struct *vma)
650 * Avoid attribute aliasing. See Documentation/ia64/aliasing.txt 650 * Avoid attribute aliasing. See Documentation/ia64/aliasing.txt
651 * for more details. 651 * for more details.
652 */ 652 */
653 if (!valid_mmap_phys_addr_range(vma->vm_pgoff << PAGE_SHIFT, size)) 653 if (!valid_mmap_phys_addr_range(vma->vm_pgoff, size))
654 return -EINVAL; 654 return -EINVAL;
655 prot = phys_mem_access_prot(NULL, vma->vm_pgoff, size, 655 prot = phys_mem_access_prot(NULL, vma->vm_pgoff, size,
656 vma->vm_page_prot); 656 vma->vm_page_prot);
diff --git a/arch/ia64/sn/kernel/setup.c b/arch/ia64/sn/kernel/setup.c
index dd6bcf4d58bf..c119e8b620de 100644
--- a/arch/ia64/sn/kernel/setup.c
+++ b/arch/ia64/sn/kernel/setup.c
@@ -12,7 +12,7 @@
12#include <linux/kernel.h> 12#include <linux/kernel.h>
13#include <linux/kdev_t.h> 13#include <linux/kdev_t.h>
14#include <linux/string.h> 14#include <linux/string.h>
15#include <linux/tty.h> 15#include <linux/screen_info.h>
16#include <linux/console.h> 16#include <linux/console.h>
17#include <linux/timex.h> 17#include <linux/timex.h>
18#include <linux/sched.h> 18#include <linux/sched.h>
diff --git a/arch/ia64/sn/kernel/xpc_main.c b/arch/ia64/sn/kernel/xpc_main.c
index 99b123a6421a..5e8e59efb347 100644
--- a/arch/ia64/sn/kernel/xpc_main.c
+++ b/arch/ia64/sn/kernel/xpc_main.c
@@ -480,7 +480,7 @@ xpc_activating(void *__partid)
480 partid_t partid = (u64) __partid; 480 partid_t partid = (u64) __partid;
481 struct xpc_partition *part = &xpc_partitions[partid]; 481 struct xpc_partition *part = &xpc_partitions[partid];
482 unsigned long irq_flags; 482 unsigned long irq_flags;
483 struct sched_param param = { sched_priority: MAX_RT_PRIO - 1 }; 483 struct sched_param param = { .sched_priority = MAX_RT_PRIO - 1 };
484 int ret; 484 int ret;
485 485
486 486
diff --git a/arch/ia64/sn/pci/tioce_provider.c b/arch/ia64/sn/pci/tioce_provider.c
index 17cd34284886..af7171adcd2c 100644
--- a/arch/ia64/sn/pci/tioce_provider.c
+++ b/arch/ia64/sn/pci/tioce_provider.c
@@ -74,7 +74,7 @@ tioce_mmr_war_pre(struct tioce_kernel *kern, void *mmr_addr)
74 else 74 else
75 mmr_war_offset = 0x158; 75 mmr_war_offset = 0x158;
76 76
77 readq_relaxed((void *)(mmr_base + mmr_war_offset)); 77 readq_relaxed((void __iomem *)(mmr_base + mmr_war_offset));
78 } 78 }
79} 79}
80 80
@@ -92,8 +92,8 @@ tioce_mmr_war_post(struct tioce_kernel *kern, void *mmr_addr)
92 92
93 if (mmr_offset < 0x45000) { 93 if (mmr_offset < 0x45000) {
94 if (mmr_offset == 0x100) 94 if (mmr_offset == 0x100)
95 readq_relaxed((void *)(mmr_base + 0x38)); 95 readq_relaxed((void __iomem *)(mmr_base + 0x38));
96 readq_relaxed((void *)(mmr_base + 0xb050)); 96 readq_relaxed((void __iomem *)(mmr_base + 0xb050));
97 } 97 }
98} 98}
99 99
diff --git a/arch/m32r/kernel/setup.c b/arch/m32r/kernel/setup.c
index 0a6c6e677afe..3f35ab3d2dc2 100644
--- a/arch/m32r/kernel/setup.c
+++ b/arch/m32r/kernel/setup.c
@@ -21,7 +21,7 @@
21#include <linux/root_dev.h> 21#include <linux/root_dev.h>
22#include <linux/seq_file.h> 22#include <linux/seq_file.h>
23#include <linux/timex.h> 23#include <linux/timex.h>
24#include <linux/tty.h> 24#include <linux/screen_info.h>
25#include <linux/cpu.h> 25#include <linux/cpu.h>
26#include <linux/nodemask.h> 26#include <linux/nodemask.h>
27#include <linux/pfn.h> 27#include <linux/pfn.h>
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index 747a9c1228f2..330f6abc7703 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -480,6 +480,7 @@ config MOMENCO_OCELOT_G
480 select SYS_SUPPORTS_32BIT_KERNEL 480 select SYS_SUPPORTS_32BIT_KERNEL
481 select SYS_SUPPORTS_64BIT_KERNEL 481 select SYS_SUPPORTS_64BIT_KERNEL
482 select SYS_SUPPORTS_BIG_ENDIAN 482 select SYS_SUPPORTS_BIG_ENDIAN
483 select ARCH_SPARSEMEM_ENABLE
483 help 484 help
484 The Ocelot is a MIPS-based Single Board Computer (SBC) made by 485 The Ocelot is a MIPS-based Single Board Computer (SBC) made by
485 Momentum Computer <http://www.momenco.com/>. 486 Momentum Computer <http://www.momenco.com/>.
@@ -556,6 +557,7 @@ config QEMU
556 select SYS_HAS_CPU_MIPS32_R1 557 select SYS_HAS_CPU_MIPS32_R1
557 select SYS_SUPPORTS_32BIT_KERNEL 558 select SYS_SUPPORTS_32BIT_KERNEL
558 select SYS_SUPPORTS_BIG_ENDIAN 559 select SYS_SUPPORTS_BIG_ENDIAN
560 select ARCH_SPARSEMEM_ENABLE
559 help 561 help
560 Qemu is a software emulator which among other architectures also 562 Qemu is a software emulator which among other architectures also
561 can simulate a MIPS32 4Kc system. This patch adds support for the 563 can simulate a MIPS32 4Kc system. This patch adds support for the
@@ -594,7 +596,6 @@ config SGI_IP22
594 select SYS_SUPPORTS_32BIT_KERNEL 596 select SYS_SUPPORTS_32BIT_KERNEL
595 select SYS_SUPPORTS_64BIT_KERNEL 597 select SYS_SUPPORTS_64BIT_KERNEL
596 select SYS_SUPPORTS_BIG_ENDIAN 598 select SYS_SUPPORTS_BIG_ENDIAN
597 select SYS_SUPPORTS_SMP
598 help 599 help
599 This are the SGI Indy, Challenge S and Indigo2, as well as certain 600 This are the SGI Indy, Challenge S and Indigo2, as well as certain
600 OEM variants like the Tandem CMN B006S. To compile a Linux kernel 601 OEM variants like the Tandem CMN B006S. To compile a Linux kernel
@@ -1688,6 +1689,13 @@ config ARCH_DISCONTIGMEM_ENABLE
1688 or have huge holes in the physical address space for other reasons. 1689 or have huge holes in the physical address space for other reasons.
1689 See <file:Documentation/vm/numa> for more. 1690 See <file:Documentation/vm/numa> for more.
1690 1691
1692config ARCH_SPARSEMEM_ENABLE
1693 bool
1694
1695config ARCH_SPARSEMEM_ENABLE
1696 bool
1697 select SPARSEMEM_STATIC
1698
1691config NUMA 1699config NUMA
1692 bool "NUMA Support" 1700 bool "NUMA Support"
1693 depends on SYS_SUPPORTS_NUMA 1701 depends on SYS_SUPPORTS_NUMA
diff --git a/arch/mips/Kconfig.debug b/arch/mips/Kconfig.debug
index 515f9e611307..5d6afb52d904 100644
--- a/arch/mips/Kconfig.debug
+++ b/arch/mips/Kconfig.debug
@@ -1,5 +1,9 @@
1menu "Kernel hacking" 1menu "Kernel hacking"
2 2
3config TRACE_IRQFLAGS_SUPPORT
4 bool
5 default y
6
3source "lib/Kconfig.debug" 7source "lib/Kconfig.debug"
4 8
5config CROSSCOMPILE 9config CROSSCOMPILE
diff --git a/arch/mips/Makefile b/arch/mips/Makefile
index ebbb9adc0e2f..d333ce4ba26b 100644
--- a/arch/mips/Makefile
+++ b/arch/mips/Makefile
@@ -712,16 +712,14 @@ endif
712vmlinux.bin: $(vmlinux-32) 712vmlinux.bin: $(vmlinux-32)
713 +@$(call makeboot,$@) 713 +@$(call makeboot,$@)
714 714
715vmlinux.ecoff vmlinux.rm200: $(vmlinux-32) 715vmlinux.ecoff: $(vmlinux-32)
716 +@$(call makeboot,$@) 716 +@$(call makeboot,$@)
717 717
718vmlinux.srec: $(vmlinux-32) 718vmlinux.srec: $(vmlinux-32)
719 +@$(call makeboot,$@) 719 +@$(call makeboot,$@)
720 720
721CLEAN_FILES += vmlinux.ecoff \ 721CLEAN_FILES += vmlinux.ecoff \
722 vmlinux.srec \ 722 vmlinux.srec
723 vmlinux.rm200.tmp \
724 vmlinux.rm200
725 723
726archclean: 724archclean:
727 @$(MAKE) $(clean)=arch/mips/boot 725 @$(MAKE) $(clean)=arch/mips/boot
diff --git a/arch/mips/au1000/common/irq.c b/arch/mips/au1000/common/irq.c
index 29d6f8178bad..316722ee8cf5 100644
--- a/arch/mips/au1000/common/irq.c
+++ b/arch/mips/au1000/common/irq.c
@@ -251,7 +251,7 @@ void restore_local_and_enable(int controller, unsigned long mask)
251} 251}
252 252
253 253
254static struct hw_interrupt_type rise_edge_irq_type = { 254static struct irq_chip rise_edge_irq_type = {
255 .typename = "Au1000 Rise Edge", 255 .typename = "Au1000 Rise Edge",
256 .startup = startup_irq, 256 .startup = startup_irq,
257 .shutdown = shutdown_irq, 257 .shutdown = shutdown_irq,
@@ -261,7 +261,7 @@ static struct hw_interrupt_type rise_edge_irq_type = {
261 .end = end_irq, 261 .end = end_irq,
262}; 262};
263 263
264static struct hw_interrupt_type fall_edge_irq_type = { 264static struct irq_chip fall_edge_irq_type = {
265 .typename = "Au1000 Fall Edge", 265 .typename = "Au1000 Fall Edge",
266 .startup = startup_irq, 266 .startup = startup_irq,
267 .shutdown = shutdown_irq, 267 .shutdown = shutdown_irq,
@@ -271,7 +271,7 @@ static struct hw_interrupt_type fall_edge_irq_type = {
271 .end = end_irq, 271 .end = end_irq,
272}; 272};
273 273
274static struct hw_interrupt_type either_edge_irq_type = { 274static struct irq_chip either_edge_irq_type = {
275 .typename = "Au1000 Rise or Fall Edge", 275 .typename = "Au1000 Rise or Fall Edge",
276 .startup = startup_irq, 276 .startup = startup_irq,
277 .shutdown = shutdown_irq, 277 .shutdown = shutdown_irq,
@@ -281,7 +281,7 @@ static struct hw_interrupt_type either_edge_irq_type = {
281 .end = end_irq, 281 .end = end_irq,
282}; 282};
283 283
284static struct hw_interrupt_type level_irq_type = { 284static struct irq_chip level_irq_type = {
285 .typename = "Au1000 Level", 285 .typename = "Au1000 Level",
286 .startup = startup_irq, 286 .startup = startup_irq,
287 .shutdown = shutdown_irq, 287 .shutdown = shutdown_irq,
diff --git a/arch/mips/au1000/common/prom.c b/arch/mips/au1000/common/prom.c
index ae7d8c57bf3f..b4b010a2fe36 100644
--- a/arch/mips/au1000/common/prom.c
+++ b/arch/mips/au1000/common/prom.c
@@ -1,7 +1,7 @@
1/* 1/*
2 * 2 *
3 * BRIEF MODULE DESCRIPTION 3 * BRIEF MODULE DESCRIPTION
4 * PROM library initialisation code, assuming YAMON is the boot loader. 4 * PROM library initialisation code, supports YAMON and U-Boot.
5 * 5 *
6 * Copyright 2000, 2001, 2006 MontaVista Software Inc. 6 * Copyright 2000, 2001, 2006 MontaVista Software Inc.
7 * Author: MontaVista Software, Inc. 7 * Author: MontaVista Software, Inc.
@@ -46,12 +46,6 @@
46extern int prom_argc; 46extern int prom_argc;
47extern char **prom_argv, **prom_envp; 47extern char **prom_argv, **prom_envp;
48 48
49typedef struct
50{
51 char *name;
52 char *val;
53} t_env_var;
54
55 49
56char * prom_getcmdline(void) 50char * prom_getcmdline(void)
57{ 51{
@@ -84,13 +78,21 @@ char *prom_getenv(char *envname)
84{ 78{
85 /* 79 /*
86 * Return a pointer to the given environment variable. 80 * Return a pointer to the given environment variable.
81 * YAMON uses "name", "value" pairs, while U-Boot uses "name=value".
87 */ 82 */
88 83
89 t_env_var *env = (t_env_var *)prom_envp; 84 char **env = prom_envp;
90 85 int i = strlen(envname);
91 while (env->name) { 86 int yamon = (*env && strchr(*env, '=') == NULL);
92 if (strcmp(envname, env->name) == 0) 87
93 return env->val; 88 while (*env) {
89 if (yamon) {
90 if (strcmp(envname, *env++) == 0)
91 return *env;
92 } else {
93 if (strncmp(envname, *env, i) == 0 && (*env)[i] == '=')
94 return *env + i + 1;
95 }
94 env++; 96 env++;
95 } 97 }
96 return NULL; 98 return NULL;
diff --git a/arch/mips/au1000/common/setup.c b/arch/mips/au1000/common/setup.c
index cc5138ce9c95..377ae0d8ff00 100644
--- a/arch/mips/au1000/common/setup.c
+++ b/arch/mips/au1000/common/setup.c
@@ -51,7 +51,6 @@ extern void au1000_power_off(void);
51extern void au1x_time_init(void); 51extern void au1x_time_init(void);
52extern void au1x_timer_setup(struct irqaction *irq); 52extern void au1x_timer_setup(struct irqaction *irq);
53extern void au1xxx_time_init(void); 53extern void au1xxx_time_init(void);
54extern void au1xxx_timer_setup(struct irqaction *irq);
55extern void set_cpuspec(void); 54extern void set_cpuspec(void);
56 55
57void __init plat_mem_setup(void) 56void __init plat_mem_setup(void)
@@ -123,7 +122,6 @@ void __init plat_mem_setup(void)
123 _machine_halt = au1000_halt; 122 _machine_halt = au1000_halt;
124 pm_power_off = au1000_power_off; 123 pm_power_off = au1000_power_off;
125 board_time_init = au1xxx_time_init; 124 board_time_init = au1xxx_time_init;
126 board_timer_setup = au1xxx_timer_setup;
127 125
128 /* IO/MEM resources. */ 126 /* IO/MEM resources. */
129 set_io_port_base(0); 127 set_io_port_base(0);
diff --git a/arch/mips/au1000/common/time.c b/arch/mips/au1000/common/time.c
index 7e988b0b0130..7fbea1bf7b48 100644
--- a/arch/mips/au1000/common/time.c
+++ b/arch/mips/au1000/common/time.c
@@ -383,7 +383,7 @@ static unsigned long do_fast_pm_gettimeoffset(void)
383} 383}
384#endif 384#endif
385 385
386void __init au1xxx_timer_setup(struct irqaction *irq) 386void __init plat_timer_setup(struct irqaction *irq)
387{ 387{
388 unsigned int est_freq; 388 unsigned int est_freq;
389 389
diff --git a/arch/mips/au1000/csb250/Makefile b/arch/mips/au1000/csb250/Makefile
deleted file mode 100644
index c0c4dcdccae8..000000000000
--- a/arch/mips/au1000/csb250/Makefile
+++ /dev/null
@@ -1,8 +0,0 @@
1#
2# Copyright 2002 Cogent Computer Systems
3# dan@embeddededge.com
4#
5# Makefile for the Cogent CSB250 Au1500 board. Copied from Pb1500.
6#
7
8obj-y := init.o board_setup.o irqmap.o
diff --git a/arch/mips/au1000/csb250/board_setup.c b/arch/mips/au1000/csb250/board_setup.c
deleted file mode 100644
index 348c3024d3d1..000000000000
--- a/arch/mips/au1000/csb250/board_setup.c
+++ /dev/null
@@ -1,238 +0,0 @@
1/*
2 *
3 * BRIEF MODULE DESCRIPTION
4 * Cogent CSB250 board setup.
5 *
6 * Copyright 2002 Cogent Computer Systems, Inc.
7 * dan@embeddededge.com
8 *
9 * This program is free software; you can redistribute it and/or modify it
10 * under the terms of the GNU General Public License as published by the
11 * Free Software Foundation; either version 2 of the License, or (at your
12 * option) any later version.
13 *
14 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
15 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
16 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN
17 * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
18 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
19 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
20 * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
21 * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
23 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24 *
25 * You should have received a copy of the GNU General Public License along
26 * with this program; if not, write to the Free Software Foundation, Inc.,
27 * 675 Mass Ave, Cambridge, MA 02139, USA.
28 */
29#include <linux/init.h>
30#include <linux/sched.h>
31#include <linux/ioport.h>
32#include <linux/mm.h>
33#include <linux/console.h>
34#include <linux/mc146818rtc.h>
35#include <linux/delay.h>
36
37#include <asm/cpu.h>
38#include <asm/bootinfo.h>
39#include <asm/irq.h>
40#include <asm/keyboard.h>
41#include <asm/mipsregs.h>
42#include <asm/reboot.h>
43#include <asm/pgtable.h>
44#include <asm/au1000.h>
45#include <asm/csb250.h>
46
47extern int (*board_pci_idsel)(unsigned int devsel, int assert);
48int csb250_pci_idsel(unsigned int devsel, int assert);
49
50void __init board_setup(void)
51{
52 u32 pin_func, pin_val;
53 u32 sys_freqctrl, sys_clksrc;
54
55
56 // set AUX clock to 12MHz * 8 = 96 MHz
57 au_writel(8, SYS_AUXPLL);
58 au_writel(0, SYS_PINSTATERD);
59 udelay(100);
60
61#if defined (CONFIG_USB_OHCI) || defined (CONFIG_AU1X00_USB_DEVICE)
62
63 /* GPIO201 is input for PCMCIA card detect */
64 /* GPIO203 is input for PCMCIA interrupt request */
65 au_writel(au_readl(GPIO2_DIR) & (u32)(~((1<<1)|(1<<3))), GPIO2_DIR);
66
67 /* zero and disable FREQ2 */
68 sys_freqctrl = au_readl(SYS_FREQCTRL0);
69 sys_freqctrl &= ~0xFFF00000;
70 au_writel(sys_freqctrl, SYS_FREQCTRL0);
71
72 /* zero and disable USBH/USBD clocks */
73 sys_clksrc = au_readl(SYS_CLKSRC);
74 sys_clksrc &= ~0x00007FE0;
75 au_writel(sys_clksrc, SYS_CLKSRC);
76
77 sys_freqctrl = au_readl(SYS_FREQCTRL0);
78 sys_freqctrl &= ~0xFFF00000;
79
80 sys_clksrc = au_readl(SYS_CLKSRC);
81 sys_clksrc &= ~0x00007FE0;
82
83 // FREQ2 = aux/2 = 48 MHz
84 sys_freqctrl |= ((0<<22) | (1<<21) | (1<<20));
85 au_writel(sys_freqctrl, SYS_FREQCTRL0);
86
87 /*
88 * Route 48MHz FREQ2 into USB Host and/or Device
89 */
90#ifdef CONFIG_USB_OHCI
91 sys_clksrc |= ((4<<12) | (0<<11) | (0<<10));
92#endif
93#ifdef CONFIG_AU1X00_USB_DEVICE
94 sys_clksrc |= ((4<<7) | (0<<6) | (0<<5));
95#endif
96 au_writel(sys_clksrc, SYS_CLKSRC);
97
98
99 pin_func = au_readl(SYS_PINFUNC) & (u32)(~0x8000);
100#ifndef CONFIG_AU1X00_USB_DEVICE
101 // 2nd USB port is USB host
102 pin_func |= 0x8000;
103#endif
104 au_writel(pin_func, SYS_PINFUNC);
105#endif // defined (CONFIG_USB_OHCI) || defined (CONFIG_AU1X00_USB_DEVICE)
106
107 /* Configure GPIO2....it's used by PCI among other things.
108 */
109
110 /* Make everything but GP200 (PCI RST) an input until we get
111 * the pins set correctly.
112 */
113 au_writel(0x00000001, GPIO2_DIR);
114
115 /* Set the pins used for output.
116 * A zero bit will leave PCI reset, LEDs off, power up USB,
117 * IDSEL disabled.
118 */
119 pin_val = ((3 << 30) | (7 << 19) | (1 << 17) | (1 << 16));
120 au_writel(pin_val, GPIO2_OUTPUT);
121
122 /* Set the output direction.
123 */
124 pin_val = ((3 << 14) | (7 << 3) | (1 << 1) | (1 << 0));
125 au_writel(pin_val, GPIO2_DIR);
126
127#ifdef CONFIG_PCI
128 /* Use FREQ1 for the PCI output clock. We use the
129 * CPU clock of 384 MHz divided by 12 to get 32 MHz PCI.
130 * If Michael changes the CPU speed, we need to adjust
131 * that here as well :-).
132 */
133
134 /* zero and disable FREQ1
135 */
136 sys_freqctrl = au_readl(SYS_FREQCTRL0);
137 sys_freqctrl &= ~0x000ffc00;
138 au_writel(sys_freqctrl, SYS_FREQCTRL0);
139
140 /* zero and disable PCI clock
141 */
142 sys_clksrc = au_readl(SYS_CLKSRC);
143 sys_clksrc &= ~0x000f8000;
144 au_writel(sys_clksrc, SYS_CLKSRC);
145
146 /* Get current values (which really should match above).
147 */
148 sys_freqctrl = au_readl(SYS_FREQCTRL0);
149 sys_freqctrl &= ~0x000ffc00;
150
151 sys_clksrc = au_readl(SYS_CLKSRC);
152 sys_clksrc &= ~0x000f8000;
153
154 /* FREQ1 = cpu/12 = 32 MHz
155 */
156 sys_freqctrl |= ((5<<12) | (1<<11) | (0<<10));
157 au_writel(sys_freqctrl, SYS_FREQCTRL0);
158
159 /* Just connect the clock without further dividing.
160 */
161 sys_clksrc |= ((3<<17) | (0<<16) | (0<<15));
162 au_writel(sys_clksrc, SYS_CLKSRC);
163
164 udelay(1);
165
166 /* Now that clocks should be running, take PCI out of reset.
167 */
168 pin_val = au_readl(GPIO2_OUTPUT);
169 pin_val |= ((1 << 16) | 1);
170 au_writel(pin_val, GPIO2_OUTPUT);
171
172 // Setup PCI bus controller
173 au_writel(0, Au1500_PCI_CMEM);
174 au_writel(0x00003fff, Au1500_CFG_BASE);
175
176 /* We run big endian without any of the software byte swapping,
177 * so configure the PCI bridge to help us out.
178 */
179 au_writel(0xf | (2<<6) | (1<<5) | (1<<4), Au1500_PCI_CFG);
180
181 au_writel(0xf0000000, Au1500_PCI_MWMASK_DEV);
182 au_writel(0, Au1500_PCI_MWBASE_REV_CCL);
183 au_writel(0x02a00356, Au1500_PCI_STATCMD);
184 au_writel(0x00003c04, Au1500_PCI_HDRTYPE);
185 au_writel(0x00000008, Au1500_PCI_MBAR);
186 au_sync();
187
188 board_pci_idsel = csb250_pci_idsel;
189#endif
190
191 /* Enable sys bus clock divider when IDLE state or no bus activity. */
192 au_writel(au_readl(SYS_POWERCTRL) | (0x3 << 5), SYS_POWERCTRL);
193
194#ifdef CONFIG_RTC
195 // Enable the RTC if not already enabled
196 if (!(au_readl(0xac000028) & 0x20)) {
197 printk("enabling clock ...\n");
198 au_writel((au_readl(0xac000028) | 0x20), 0xac000028);
199 }
200 // Put the clock in BCD mode
201 if (readl(0xac00002C) & 0x4) { /* reg B */
202 au_writel(au_readl(0xac00002c) & ~0x4, 0xac00002c);
203 au_sync();
204 }
205#endif
206}
207
208/* The IDSEL is selected in the GPIO2 register. We will make device
209 * 12 appear in slot 0 and device 13 appear in slot 1.
210 */
211int
212csb250_pci_idsel(unsigned int devsel, int assert)
213{
214 int retval;
215 unsigned int gpio2_pins;
216
217 retval = 1;
218
219 /* First, disable both selects, then assert the one requested.
220 */
221 au_writel(0xc000c000, GPIO2_OUTPUT);
222 au_sync();
223
224 if (assert) {
225 if (devsel == 12)
226 gpio2_pins = 0x40000000;
227 else if (devsel == 13)
228 gpio2_pins = 0x80000000;
229 else {
230 gpio2_pins = 0xc000c000;
231 retval = 0;
232 }
233 au_writel(gpio2_pins, GPIO2_OUTPUT);
234 }
235 au_sync();
236
237 return retval;
238}
diff --git a/arch/mips/au1000/csb250/init.c b/arch/mips/au1000/csb250/init.c
deleted file mode 100644
index 83f1b31a0b8e..000000000000
--- a/arch/mips/au1000/csb250/init.c
+++ /dev/null
@@ -1,94 +0,0 @@
1/*
2 *
3 * BRIEF MODULE DESCRIPTION
4 * Cogent CSB250 board setup
5 *
6 * Copyright 2002 Cogent Computer Systems, Inc.
7 * dan@embeddededge.com
8 *
9 * This program is free software; you can redistribute it and/or modify it
10 * under the terms of the GNU General Public License as published by the
11 * Free Software Foundation; either version 2 of the License, or (at your
12 * option) any later version.
13 *
14 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
15 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
16 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN
17 * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
18 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
19 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
20 * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
21 * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
23 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24 *
25 * You should have received a copy of the GNU General Public License along
26 * with this program; if not, write to the Free Software Foundation, Inc.,
27 * 675 Mass Ave, Cambridge, MA 02139, USA.
28 */
29
30#include <linux/init.h>
31#include <linux/mm.h>
32#include <linux/sched.h>
33#include <linux/bootmem.h>
34#include <asm/addrspace.h>
35#include <asm/bootinfo.h>
36#include <linux/string.h>
37#include <linux/kernel.h>
38
39int prom_argc;
40char **prom_argv, **prom_envp;
41extern void __init prom_init_cmdline(void);
42extern char *prom_getenv(char *envname);
43
44/* When we get initrd working someday.........
45*/
46int my_initrd_start, my_initrd_size;
47
48/* Start arguments and environment.
49*/
50static char *csb_env[2];
51static char *csb_arg[4];
52static char *arg1 = "console=ttyS3,38400";
53static char *arg2 = "root=/dev/nfs rw ip=any";
54static char *env1 = "ethaddr=00:30:23:50:00:00";
55
56const char *get_system_type(void)
57{
58 return "Cogent CSB250";
59}
60
61int __init prom_init(int argc, char **argv, char **envp, int *prom_vec)
62{
63 unsigned char *memsize_str;
64 unsigned long memsize;
65
66 /* We use a0 and a1 to pass initrd start and size.
67 */
68 if (((unsigned int) argc > 0) && ((uint)argv > 0)) {
69 my_initrd_start = (unsigned int)argc;
70 my_initrd_size = (unsigned int)argv;
71 }
72
73 /* First argv is ignored.
74 */
75 prom_argc = 3;
76 prom_argv = csb_arg;
77 prom_envp = csb_env;
78 csb_arg[1] = arg1;
79 csb_arg[2] = arg2;
80 csb_env[0] = env1;
81
82 mips_machgroup = MACH_GROUP_ALCHEMY;
83 mips_machtype = MACH_CSB250;
84
85 prom_init_cmdline();
86 memsize_str = prom_getenv("memsize");
87 if (!memsize_str) {
88 memsize = 0x02000000;
89 } else {
90 memsize = simple_strtol(memsize_str, NULL, 0);
91 }
92 add_memory_region(0, memsize, BOOT_MEM_RAM);
93 return 0;
94}
diff --git a/arch/mips/au1000/csb250/irqmap.c b/arch/mips/au1000/csb250/irqmap.c
deleted file mode 100644
index 57d60401905e..000000000000
--- a/arch/mips/au1000/csb250/irqmap.c
+++ /dev/null
@@ -1,60 +0,0 @@
1/*
2 * BRIEF MODULE DESCRIPTION
3 * Au1xxx irq map table
4 *
5 * Copyright 2003 Embedded Edge, LLC
6 * dan@embeddededge.com
7 *
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
10 * Free Software Foundation; either version 2 of the License, or (at your
11 * option) any later version.
12 *
13 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
14 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
15 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN
16 * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
17 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
18 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
19 * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
20 * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
21 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
22 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
23 *
24 * You should have received a copy of the GNU General Public License along
25 * with this program; if not, write to the Free Software Foundation, Inc.,
26 * 675 Mass Ave, Cambridge, MA 02139, USA.
27 */
28#include <linux/errno.h>
29#include <linux/init.h>
30#include <linux/irq.h>
31#include <linux/kernel_stat.h>
32#include <linux/module.h>
33#include <linux/signal.h>
34#include <linux/sched.h>
35#include <linux/types.h>
36#include <linux/interrupt.h>
37#include <linux/ioport.h>
38#include <linux/timex.h>
39#include <linux/slab.h>
40#include <linux/random.h>
41#include <linux/delay.h>
42#include <linux/bitops.h>
43
44#include <asm/bootinfo.h>
45#include <asm/io.h>
46#include <asm/mipsregs.h>
47#include <asm/system.h>
48#include <asm/au1000.h>
49
50au1xxx_irq_map_t __initdata au1xxx_irq_map[] = {
51
52 { AU1500_GPIO_204, INTC_INT_HIGH_LEVEL, 0},
53 { AU1500_GPIO_201, INTC_INT_LOW_LEVEL, 0 },
54 { AU1500_GPIO_202, INTC_INT_LOW_LEVEL, 0 },
55 { AU1500_GPIO_203, INTC_INT_LOW_LEVEL, 0 },
56 { AU1500_GPIO_205, INTC_INT_LOW_LEVEL, 0 },
57 { AU1500_GPIO_207, INTC_INT_LOW_LEVEL, 0 },
58};
59
60int __initdata au1xxx_nr_irqs = ARRAY_SIZE(au1xxx_irq_map);
diff --git a/arch/mips/au1000/hydrogen3/Makefile b/arch/mips/au1000/hydrogen3/Makefile
deleted file mode 100644
index 974f79256bb3..000000000000
--- a/arch/mips/au1000/hydrogen3/Makefile
+++ /dev/null
@@ -1,9 +0,0 @@
1#
2# Copyright 2000 MontaVista Software Inc.
3# Author: MontaVista Software, Inc.
4# ppopov@mvista.com or source@mvista.com
5#
6# Makefile for the Alchemy Semiconductor PB1000 board.
7#
8
9obj-y := init.o board_setup.o irqmap.o
diff --git a/arch/mips/au1000/hydrogen3/board_setup.c b/arch/mips/au1000/hydrogen3/board_setup.c
deleted file mode 100644
index d081640e2e00..000000000000
--- a/arch/mips/au1000/hydrogen3/board_setup.c
+++ /dev/null
@@ -1,69 +0,0 @@
1/*
2 *
3 * BRIEF MODULE DESCRIPTION
4 * Alchemy Db1x00 board setup.
5 *
6 * Copyright 2000 MontaVista Software Inc.
7 * Author: MontaVista Software, Inc.
8 * ppopov@mvista.com or source@mvista.com
9 *
10 * This program 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 * Free Software Foundation; either version 2 of the License, or (at your
13 * option) any later version.
14 *
15 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
16 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
17 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN
18 * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
19 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
20 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
21 * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
22 * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
24 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 *
26 * You should have received a copy of the GNU General Public License along
27 * with this program; if not, write to the Free Software Foundation, Inc.,
28 * 675 Mass Ave, Cambridge, MA 02139, USA.
29 */
30#include <linux/init.h>
31#include <linux/sched.h>
32#include <linux/ioport.h>
33#include <linux/mm.h>
34#include <linux/console.h>
35#include <linux/mc146818rtc.h>
36#include <linux/delay.h>
37
38#include <asm/cpu.h>
39#include <asm/bootinfo.h>
40#include <asm/irq.h>
41#include <asm/keyboard.h>
42#include <asm/mipsregs.h>
43#include <asm/reboot.h>
44#include <asm/pgtable.h>
45#include <asm/au1000.h>
46
47void board_reset (void)
48{
49}
50
51void __init board_setup(void)
52{
53 u32 pin_func;
54
55#ifdef CONFIG_AU1X00_USB_DEVICE
56 // 2nd USB port is USB device
57 pin_func = au_readl(SYS_PINFUNC) & (u32)(~0x8000);
58 au_writel(pin_func, SYS_PINFUNC);
59#endif
60
61#if defined(CONFIG_IRDA) && (defined(CONFIG_SOC_AU1000) || defined(CONFIG_SOC_AU1100))
62 /* set IRFIRSEL instead of GPIO15 */
63 pin_func = au_readl(SYS_PINFUNC) | (u32)((1<<8));
64 au_writel(pin_func, SYS_PINFUNC);
65 au_sync();
66#endif
67
68 printk("AMD Alchemy Hydrogen3 Board\n");
69}
diff --git a/arch/mips/au1000/hydrogen3/init.c b/arch/mips/au1000/hydrogen3/init.c
deleted file mode 100644
index 8f02bb80a55a..000000000000
--- a/arch/mips/au1000/hydrogen3/init.c
+++ /dev/null
@@ -1,75 +0,0 @@
1/*
2 *
3 * BRIEF MODULE DESCRIPTION
4 * PB1000 board setup
5 *
6 * Copyright 2001 MontaVista Software Inc.
7 * Author: MontaVista Software, Inc.
8 * ppopov@mvista.com or source@mvista.com
9 *
10 * This program 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 * Free Software Foundation; either version 2 of the License, or (at your
13 * option) any later version.
14 *
15 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
16 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
17 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN
18 * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
19 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
20 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
21 * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
22 * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
24 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 *
26 * You should have received a copy of the GNU General Public License along
27 * with this program; if not, write to the Free Software Foundation, Inc.,
28 * 675 Mass Ave, Cambridge, MA 02139, USA.
29 */
30
31#include <linux/init.h>
32#include <linux/mm.h>
33#include <linux/sched.h>
34#include <linux/bootmem.h>
35#include <asm/addrspace.h>
36#include <asm/bootinfo.h>
37#include <linux/string.h>
38#include <linux/kernel.h>
39
40int prom_argc;
41char **prom_argv, **prom_envp;
42extern void __init prom_init_cmdline(void);
43extern char *prom_getenv(char *envname);
44
45const char *get_system_type(void)
46{
47#ifdef CONFIG_MIPS_BOSPORUS
48 return "Alchemy Bosporus Gateway Reference";
49#else
50 return "Alchemy Db1x00";
51#endif
52}
53
54int __init prom_init(int argc, char **argv, char **envp, int *prom_vec)
55{
56 unsigned char *memsize_str;
57 unsigned long memsize;
58
59 prom_argc = argc;
60 prom_argv = argv;
61 prom_envp = envp;
62
63 mips_machgroup = MACH_GROUP_ALCHEMY;
64 mips_machtype = MACH_DB1000; /* set the platform # */
65 prom_init_cmdline();
66
67 memsize_str = prom_getenv("memsize");
68 if (!memsize_str) {
69 memsize = 0x04000000;
70 } else {
71 memsize = simple_strtol(memsize_str, NULL, 0);
72 }
73 add_memory_region(0, memsize, BOOT_MEM_RAM);
74 return 0;
75}
diff --git a/arch/mips/au1000/hydrogen3/irqmap.c b/arch/mips/au1000/hydrogen3/irqmap.c
deleted file mode 100644
index 14e1ed37cf6b..000000000000
--- a/arch/mips/au1000/hydrogen3/irqmap.c
+++ /dev/null
@@ -1,56 +0,0 @@
1/*
2 * BRIEF MODULE DESCRIPTION
3 * Au1xxx irq map table
4 *
5 * Copyright 2003 Embedded Edge, LLC
6 * dan@embeddededge.com
7 *
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
10 * Free Software Foundation; either version 2 of the License, or (at your
11 * option) any later version.
12 *
13 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
14 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
15 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN
16 * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
17 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
18 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
19 * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
20 * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
21 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
22 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
23 *
24 * You should have received a copy of the GNU General Public License along
25 * with this program; if not, write to the Free Software Foundation, Inc.,
26 * 675 Mass Ave, Cambridge, MA 02139, USA.
27 */
28#include <linux/errno.h>
29#include <linux/init.h>
30#include <linux/irq.h>
31#include <linux/kernel_stat.h>
32#include <linux/module.h>
33#include <linux/signal.h>
34#include <linux/sched.h>
35#include <linux/types.h>
36#include <linux/interrupt.h>
37#include <linux/ioport.h>
38#include <linux/timex.h>
39#include <linux/slab.h>
40#include <linux/random.h>
41#include <linux/delay.h>
42#include <linux/bitops.h>
43
44#include <asm/bootinfo.h>
45#include <asm/io.h>
46#include <asm/mipsregs.h>
47#include <asm/system.h>
48#include <asm/au1000.h>
49
50au1xxx_irq_map_t __initdata au1xxx_irq_map[] = {
51
52 /* { AU1500_GPIO_205, INTC_INT_LOW_LEVEL, 0 }, */
53 { AU1000_GPIO_21, INTC_INT_LOW_LEVEL, 0 },
54};
55
56int __initdata au1xxx_nr_irqs = ARRAY_SIZE(au1xxx_irq_map);
diff --git a/arch/mips/au1000/pb1200/irqmap.c b/arch/mips/au1000/pb1200/irqmap.c
index 2d49f32f4622..f66779f0d4cd 100644
--- a/arch/mips/au1000/pb1200/irqmap.c
+++ b/arch/mips/au1000/pb1200/irqmap.c
@@ -148,7 +148,7 @@ static void pb1200_end_irq(unsigned int irq_nr)
148 } 148 }
149} 149}
150 150
151static struct hw_interrupt_type external_irq_type = 151static struct irq_chip external_irq_type =
152{ 152{
153#ifdef CONFIG_MIPS_PB1200 153#ifdef CONFIG_MIPS_PB1200
154 "Pb1200 Ext", 154 "Pb1200 Ext",
diff --git a/arch/mips/basler/excite/excite_dbg_io.c b/arch/mips/basler/excite/excite_dbg_io.c
index 83f6bddf578b..c04505afa47f 100644
--- a/arch/mips/basler/excite/excite_dbg_io.c
+++ b/arch/mips/basler/excite/excite_dbg_io.c
@@ -17,7 +17,6 @@
17 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 17 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 */ 18 */
19 19
20#include <linux/config.h>
21#include <linux/linkage.h> 20#include <linux/linkage.h>
22#include <linux/init.h> 21#include <linux/init.h>
23#include <linux/kernel.h> 22#include <linux/kernel.h>
diff --git a/arch/mips/basler/excite/excite_device.c b/arch/mips/basler/excite/excite_device.c
index 34ec76716fa0..bbb4ea43da88 100644
--- a/arch/mips/basler/excite/excite_device.c
+++ b/arch/mips/basler/excite/excite_device.c
@@ -17,7 +17,6 @@
17 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 17 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 */ 18 */
19 19
20#include <linux/config.h>
21#include <linux/kernel.h> 20#include <linux/kernel.h>
22#include <linux/init.h> 21#include <linux/init.h>
23#include <linux/platform_device.h> 22#include <linux/platform_device.h>
diff --git a/arch/mips/basler/excite/excite_iodev.c b/arch/mips/basler/excite/excite_iodev.c
index b288151b532e..10bbb8cfb964 100644
--- a/arch/mips/basler/excite/excite_iodev.c
+++ b/arch/mips/basler/excite/excite_iodev.c
@@ -17,7 +17,6 @@
17 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 17 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 */ 18 */
19 19
20#include <linux/config.h>
21#include <linux/compiler.h> 20#include <linux/compiler.h>
22#include <linux/init.h> 21#include <linux/init.h>
23#include <linux/module.h> 22#include <linux/module.h>
diff --git a/arch/mips/basler/excite/excite_procfs.c b/arch/mips/basler/excite/excite_procfs.c
index c62be0341fb8..9ee67a95f6b9 100644
--- a/arch/mips/basler/excite/excite_procfs.c
+++ b/arch/mips/basler/excite/excite_procfs.c
@@ -19,7 +19,6 @@
19 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 19 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 */ 20 */
21 21
22#include <linux/config.h>
23#include <linux/proc_fs.h> 22#include <linux/proc_fs.h>
24#include <linux/stat.h> 23#include <linux/stat.h>
25#include <asm/page.h> 24#include <asm/page.h>
diff --git a/arch/mips/basler/excite/excite_prom.c b/arch/mips/basler/excite/excite_prom.c
index 84724b270753..6ecd512b999d 100644
--- a/arch/mips/basler/excite/excite_prom.c
+++ b/arch/mips/basler/excite/excite_prom.c
@@ -18,7 +18,6 @@
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 */ 19 */
20 20
21#include <linux/config.h>
22#include <linux/init.h> 21#include <linux/init.h>
23#include <linux/sched.h> 22#include <linux/sched.h>
24#include <linux/mm.h> 23#include <linux/mm.h>
diff --git a/arch/mips/basler/excite/excite_setup.c b/arch/mips/basler/excite/excite_setup.c
index 3d7670edd5cd..a1ce4580058d 100644
--- a/arch/mips/basler/excite/excite_setup.c
+++ b/arch/mips/basler/excite/excite_setup.c
@@ -19,7 +19,6 @@
19 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 19 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 */ 20 */
21 21
22#include <linux/config.h>
23#include <linux/types.h> 22#include <linux/types.h>
24#include <linux/kernel.h> 23#include <linux/kernel.h>
25#include <linux/module.h> 24#include <linux/module.h>
@@ -79,7 +78,7 @@ static void excite_timer_init(void)
79 mips_hpt_frequency = EXCITE_CPU_EXT_CLOCK * mult / div / 2; 78 mips_hpt_frequency = EXCITE_CPU_EXT_CLOCK * mult / div / 2;
80} 79}
81 80
82static void excite_timer_setup(struct irqaction *irq) 81void __init plat_timer_setup(struct irqaction *irq)
83{ 82{
84 /* The eXcite platform uses the alternate timer interrupt */ 83 /* The eXcite platform uses the alternate timer interrupt */
85 set_c0_intcontrol(0x80); 84 set_c0_intcontrol(0x80);
@@ -263,7 +262,6 @@ void __init plat_mem_setup(void)
263 262
264 /* Set up timer initialization hooks */ 263 /* Set up timer initialization hooks */
265 board_time_init = excite_timer_init; 264 board_time_init = excite_timer_init;
266 board_timer_setup = excite_timer_setup;
267 265
268 /* Set up the peripheral address map */ 266 /* Set up the peripheral address map */
269 *(boot_ocd_base + (LKB9 / sizeof (u32))) = 0; 267 *(boot_ocd_base + (LKB9 / sizeof (u32))) = 0;
diff --git a/arch/mips/cobalt/setup.c b/arch/mips/cobalt/setup.c
index c99714587ce8..c01a0170e590 100644
--- a/arch/mips/cobalt/setup.c
+++ b/arch/mips/cobalt/setup.c
@@ -49,7 +49,7 @@ const char *get_system_type(void)
49 return "MIPS Cobalt"; 49 return "MIPS Cobalt";
50} 50}
51 51
52static void __init cobalt_timer_setup(struct irqaction *irq) 52void __init plat_timer_setup(struct irqaction *irq)
53{ 53{
54 /* Load timer value for 1KHz (TCLK is 50MHz) */ 54 /* Load timer value for 1KHz (TCLK is 50MHz) */
55 GALILEO_OUTL(50*1000*1000 / 1000, GT_TC0_OFS); 55 GALILEO_OUTL(50*1000*1000 / 1000, GT_TC0_OFS);
@@ -129,8 +129,6 @@ void __init plat_mem_setup(void)
129 _machine_halt = cobalt_machine_halt; 129 _machine_halt = cobalt_machine_halt;
130 pm_power_off = cobalt_machine_power_off; 130 pm_power_off = cobalt_machine_power_off;
131 131
132 board_timer_setup = cobalt_timer_setup;
133
134 set_io_port_base(CKSEG1ADDR(GT64111_IO_BASE)); 132 set_io_port_base(CKSEG1ADDR(GT64111_IO_BASE));
135 133
136 /* I/O port resource must include UART and LCD/buttons */ 134 /* I/O port resource must include UART and LCD/buttons */
diff --git a/arch/mips/configs/atlas_defconfig b/arch/mips/configs/atlas_defconfig
index 0cc1b3c51959..54274065e9a5 100644
--- a/arch/mips/configs/atlas_defconfig
+++ b/arch/mips/configs/atlas_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.17-rc2 3# Linux kernel version: 2.6.18-rc1
4# Mon Apr 24 14:50:55 2006 4# Thu Jul 6 09:59:39 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -21,6 +21,7 @@ CONFIG_MIPS=y
21# CONFIG_MIPS_DB1550 is not set 21# CONFIG_MIPS_DB1550 is not set
22# CONFIG_MIPS_DB1200 is not set 22# CONFIG_MIPS_DB1200 is not set
23# CONFIG_MIPS_MIRAGE is not set 23# CONFIG_MIPS_MIRAGE is not set
24# CONFIG_BASLER_EXCITE is not set
24# CONFIG_MIPS_COBALT is not set 25# CONFIG_MIPS_COBALT is not set
25# CONFIG_MACH_DECSTATION is not set 26# CONFIG_MACH_DECSTATION is not set
26# CONFIG_MIPS_EV64120 is not set 27# CONFIG_MIPS_EV64120 is not set
@@ -32,6 +33,7 @@ CONFIG_MIPS=y
32CONFIG_MIPS_ATLAS=y 33CONFIG_MIPS_ATLAS=y
33# CONFIG_MIPS_MALTA is not set 34# CONFIG_MIPS_MALTA is not set
34# CONFIG_MIPS_SEAD is not set 35# CONFIG_MIPS_SEAD is not set
36# CONFIG_WR_PPMC is not set
35# CONFIG_MIPS_SIM is not set 37# CONFIG_MIPS_SIM is not set
36# CONFIG_MOMENCO_JAGUAR_ATX is not set 38# CONFIG_MOMENCO_JAGUAR_ATX is not set
37# CONFIG_MOMENCO_OCELOT is not set 39# CONFIG_MOMENCO_OCELOT is not set
@@ -45,6 +47,7 @@ CONFIG_MIPS_ATLAS=y
45# CONFIG_MACH_VR41XX is not set 47# CONFIG_MACH_VR41XX is not set
46# CONFIG_PMC_YOSEMITE is not set 48# CONFIG_PMC_YOSEMITE is not set
47# CONFIG_QEMU is not set 49# CONFIG_QEMU is not set
50# CONFIG_MARKEINS is not set
48# CONFIG_SGI_IP22 is not set 51# CONFIG_SGI_IP22 is not set
49# CONFIG_SGI_IP27 is not set 52# CONFIG_SGI_IP27 is not set
50# CONFIG_SGI_IP32 is not set 53# CONFIG_SGI_IP32 is not set
@@ -65,6 +68,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y
65CONFIG_GENERIC_FIND_NEXT_BIT=y 68CONFIG_GENERIC_FIND_NEXT_BIT=y
66CONFIG_GENERIC_HWEIGHT=y 69CONFIG_GENERIC_HWEIGHT=y
67CONFIG_GENERIC_CALIBRATE_DELAY=y 70CONFIG_GENERIC_CALIBRATE_DELAY=y
71CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
68CONFIG_DMA_NONCOHERENT=y 72CONFIG_DMA_NONCOHERENT=y
69CONFIG_DMA_NEED_PCI_MAP_STATE=y 73CONFIG_DMA_NEED_PCI_MAP_STATE=y
70CONFIG_MIPS_BONITO64=y 74CONFIG_MIPS_BONITO64=y
@@ -125,7 +129,11 @@ CONFIG_PAGE_SIZE_4KB=y
125CONFIG_BOARD_SCACHE=y 129CONFIG_BOARD_SCACHE=y
126CONFIG_RM7000_CPU_SCACHE=y 130CONFIG_RM7000_CPU_SCACHE=y
127CONFIG_CPU_HAS_PREFETCH=y 131CONFIG_CPU_HAS_PREFETCH=y
128# CONFIG_MIPS_MT is not set 132CONFIG_MIPS_MT_DISABLED=y
133# CONFIG_MIPS_MT_SMTC is not set
134# CONFIG_MIPS_MT_SMP is not set
135# CONFIG_MIPS_VPE_LOADER is not set
136CONFIG_SYS_SUPPORTS_MULTITHREADING=y
129# CONFIG_64BIT_PHYS_ADDR is not set 137# CONFIG_64BIT_PHYS_ADDR is not set
130CONFIG_CPU_HAS_LLSC=y 138CONFIG_CPU_HAS_LLSC=y
131CONFIG_CPU_HAS_SYNC=y 139CONFIG_CPU_HAS_SYNC=y
@@ -141,6 +149,7 @@ CONFIG_FLATMEM=y
141CONFIG_FLAT_NODE_MEM_MAP=y 149CONFIG_FLAT_NODE_MEM_MAP=y
142# CONFIG_SPARSEMEM_STATIC is not set 150# CONFIG_SPARSEMEM_STATIC is not set
143CONFIG_SPLIT_PTLOCK_CPUS=4 151CONFIG_SPLIT_PTLOCK_CPUS=4
152# CONFIG_RESOURCES_64BIT is not set
144# CONFIG_HZ_48 is not set 153# CONFIG_HZ_48 is not set
145CONFIG_HZ_100=y 154CONFIG_HZ_100=y
146# CONFIG_HZ_128 is not set 155# CONFIG_HZ_128 is not set
@@ -153,6 +162,7 @@ CONFIG_HZ=100
153CONFIG_PREEMPT_NONE=y 162CONFIG_PREEMPT_NONE=y
154# CONFIG_PREEMPT_VOLUNTARY is not set 163# CONFIG_PREEMPT_VOLUNTARY is not set
155# CONFIG_PREEMPT is not set 164# CONFIG_PREEMPT is not set
165CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
156 166
157# 167#
158# Code maturity level options 168# Code maturity level options
@@ -184,10 +194,12 @@ CONFIG_PRINTK=y
184CONFIG_BUG=y 194CONFIG_BUG=y
185CONFIG_ELF_CORE=y 195CONFIG_ELF_CORE=y
186CONFIG_BASE_FULL=y 196CONFIG_BASE_FULL=y
197CONFIG_RT_MUTEXES=y
187CONFIG_FUTEX=y 198CONFIG_FUTEX=y
188CONFIG_EPOLL=y 199CONFIG_EPOLL=y
189CONFIG_SHMEM=y 200CONFIG_SHMEM=y
190CONFIG_SLAB=y 201CONFIG_SLAB=y
202CONFIG_VM_EVENT_COUNTERS=y
191# CONFIG_TINY_SHMEM is not set 203# CONFIG_TINY_SHMEM is not set
192CONFIG_BASE_SMALL=0 204CONFIG_BASE_SMALL=0
193# CONFIG_SLOB is not set 205# CONFIG_SLOB is not set
@@ -289,6 +301,8 @@ CONFIG_INET_ESP=m
289CONFIG_INET_IPCOMP=m 301CONFIG_INET_IPCOMP=m
290CONFIG_INET_XFRM_TUNNEL=m 302CONFIG_INET_XFRM_TUNNEL=m
291CONFIG_INET_TUNNEL=m 303CONFIG_INET_TUNNEL=m
304CONFIG_INET_XFRM_MODE_TRANSPORT=m
305CONFIG_INET_XFRM_MODE_TUNNEL=m
292CONFIG_INET_DIAG=y 306CONFIG_INET_DIAG=y
293CONFIG_INET_TCP_DIAG=y 307CONFIG_INET_TCP_DIAG=y
294# CONFIG_TCP_CONG_ADVANCED is not set 308# CONFIG_TCP_CONG_ADVANCED is not set
@@ -336,7 +350,10 @@ CONFIG_INET6_ESP=m
336CONFIG_INET6_IPCOMP=m 350CONFIG_INET6_IPCOMP=m
337CONFIG_INET6_XFRM_TUNNEL=m 351CONFIG_INET6_XFRM_TUNNEL=m
338CONFIG_INET6_TUNNEL=m 352CONFIG_INET6_TUNNEL=m
353CONFIG_INET6_XFRM_MODE_TRANSPORT=m
354CONFIG_INET6_XFRM_MODE_TUNNEL=m
339CONFIG_IPV6_TUNNEL=m 355CONFIG_IPV6_TUNNEL=m
356CONFIG_NETWORK_SECMARK=y
340CONFIG_NETFILTER=y 357CONFIG_NETFILTER=y
341# CONFIG_NETFILTER_DEBUG is not set 358# CONFIG_NETFILTER_DEBUG is not set
342CONFIG_BRIDGE_NETFILTER=y 359CONFIG_BRIDGE_NETFILTER=y
@@ -353,6 +370,8 @@ CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
353CONFIG_NETFILTER_XT_TARGET_MARK=m 370CONFIG_NETFILTER_XT_TARGET_MARK=m
354CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m 371CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
355CONFIG_NETFILTER_XT_TARGET_NOTRACK=m 372CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
373CONFIG_NETFILTER_XT_TARGET_SECMARK=m
374CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m
356CONFIG_NETFILTER_XT_MATCH_COMMENT=m 375CONFIG_NETFILTER_XT_MATCH_COMMENT=m
357CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m 376CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
358CONFIG_NETFILTER_XT_MATCH_CONNMARK=m 377CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
@@ -368,9 +387,11 @@ CONFIG_NETFILTER_XT_MATCH_POLICY=m
368CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m 387CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
369CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m 388CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
370CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m 389CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
390CONFIG_NETFILTER_XT_MATCH_QUOTA=m
371CONFIG_NETFILTER_XT_MATCH_REALM=m 391CONFIG_NETFILTER_XT_MATCH_REALM=m
372CONFIG_NETFILTER_XT_MATCH_SCTP=m 392CONFIG_NETFILTER_XT_MATCH_SCTP=m
373CONFIG_NETFILTER_XT_MATCH_STATE=m 393CONFIG_NETFILTER_XT_MATCH_STATE=m
394CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
374CONFIG_NETFILTER_XT_MATCH_STRING=m 395CONFIG_NETFILTER_XT_MATCH_STRING=m
375CONFIG_NETFILTER_XT_MATCH_TCPMSS=m 396CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
376 397
@@ -380,6 +401,7 @@ CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
380CONFIG_IP_NF_CONNTRACK=m 401CONFIG_IP_NF_CONNTRACK=m
381CONFIG_IP_NF_CT_ACCT=y 402CONFIG_IP_NF_CT_ACCT=y
382CONFIG_IP_NF_CONNTRACK_MARK=y 403CONFIG_IP_NF_CONNTRACK_MARK=y
404CONFIG_IP_NF_CONNTRACK_SECMARK=y
383CONFIG_IP_NF_CONNTRACK_EVENTS=y 405CONFIG_IP_NF_CONNTRACK_EVENTS=y
384CONFIG_IP_NF_CONNTRACK_NETLINK=m 406CONFIG_IP_NF_CONNTRACK_NETLINK=m
385CONFIG_IP_NF_CT_PROTO_SCTP=m 407CONFIG_IP_NF_CT_PROTO_SCTP=m
@@ -390,6 +412,7 @@ CONFIG_IP_NF_TFTP=m
390CONFIG_IP_NF_AMANDA=m 412CONFIG_IP_NF_AMANDA=m
391CONFIG_IP_NF_PPTP=m 413CONFIG_IP_NF_PPTP=m
392CONFIG_IP_NF_H323=m 414CONFIG_IP_NF_H323=m
415CONFIG_IP_NF_SIP=m
393CONFIG_IP_NF_QUEUE=m 416CONFIG_IP_NF_QUEUE=m
394CONFIG_IP_NF_IPTABLES=m 417CONFIG_IP_NF_IPTABLES=m
395CONFIG_IP_NF_MATCH_IPRANGE=m 418CONFIG_IP_NF_MATCH_IPRANGE=m
@@ -420,6 +443,7 @@ CONFIG_IP_NF_NAT_TFTP=m
420CONFIG_IP_NF_NAT_AMANDA=m 443CONFIG_IP_NF_NAT_AMANDA=m
421CONFIG_IP_NF_NAT_PPTP=m 444CONFIG_IP_NF_NAT_PPTP=m
422CONFIG_IP_NF_NAT_H323=m 445CONFIG_IP_NF_NAT_H323=m
446CONFIG_IP_NF_NAT_SIP=m
423CONFIG_IP_NF_MANGLE=m 447CONFIG_IP_NF_MANGLE=m
424CONFIG_IP_NF_TARGET_TOS=m 448CONFIG_IP_NF_TARGET_TOS=m
425CONFIG_IP_NF_TARGET_ECN=m 449CONFIG_IP_NF_TARGET_ECN=m
@@ -581,6 +605,7 @@ CONFIG_WIRELESS_EXT=y
581CONFIG_STANDALONE=y 605CONFIG_STANDALONE=y
582CONFIG_PREVENT_FIRMWARE_BUILD=y 606CONFIG_PREVENT_FIRMWARE_BUILD=y
583CONFIG_FW_LOADER=y 607CONFIG_FW_LOADER=y
608# CONFIG_SYS_HYPERVISOR is not set
584 609
585# 610#
586# Connector - unified userspace <-> kernelspace linker 611# Connector - unified userspace <-> kernelspace linker
@@ -699,6 +724,7 @@ CONFIG_ISCSI_TCP=m
699# CONFIG_MEGARAID_LEGACY is not set 724# CONFIG_MEGARAID_LEGACY is not set
700# CONFIG_MEGARAID_SAS is not set 725# CONFIG_MEGARAID_SAS is not set
701# CONFIG_SCSI_SATA is not set 726# CONFIG_SCSI_SATA is not set
727# CONFIG_SCSI_HPTIOP is not set
702# CONFIG_SCSI_DMX3191D is not set 728# CONFIG_SCSI_DMX3191D is not set
703# CONFIG_SCSI_FUTURE_DOMAIN is not set 729# CONFIG_SCSI_FUTURE_DOMAIN is not set
704# CONFIG_SCSI_IPS is not set 730# CONFIG_SCSI_IPS is not set
@@ -727,9 +753,8 @@ CONFIG_MD_LINEAR=m
727CONFIG_MD_RAID0=m 753CONFIG_MD_RAID0=m
728CONFIG_MD_RAID1=m 754CONFIG_MD_RAID1=m
729CONFIG_MD_RAID10=m 755CONFIG_MD_RAID10=m
730CONFIG_MD_RAID5=m 756CONFIG_MD_RAID456=m
731CONFIG_MD_RAID5_RESHAPE=y 757CONFIG_MD_RAID5_RESHAPE=y
732CONFIG_MD_RAID6=m
733CONFIG_MD_MULTIPATH=m 758CONFIG_MD_MULTIPATH=m
734CONFIG_MD_FAULTY=m 759CONFIG_MD_FAULTY=m
735CONFIG_BLK_DEV_DM=m 760CONFIG_BLK_DEV_DM=m
@@ -785,6 +810,8 @@ CONFIG_DAVICOM_PHY=m
785CONFIG_QSEMI_PHY=m 810CONFIG_QSEMI_PHY=m
786CONFIG_LXT_PHY=m 811CONFIG_LXT_PHY=m
787CONFIG_CICADA_PHY=m 812CONFIG_CICADA_PHY=m
813CONFIG_VITESSE_PHY=m
814CONFIG_SMSC_PHY=m
788 815
789# 816#
790# Ethernet (10 or 100Mbit) 817# Ethernet (10 or 100Mbit)
@@ -847,6 +874,7 @@ CONFIG_LAN_SAA9730=y
847# CONFIG_CHELSIO_T1 is not set 874# CONFIG_CHELSIO_T1 is not set
848# CONFIG_IXGB is not set 875# CONFIG_IXGB is not set
849# CONFIG_S2IO is not set 876# CONFIG_S2IO is not set
877# CONFIG_MYRI10GE is not set
850 878
851# 879#
852# Token Ring devices 880# Token Ring devices
@@ -928,6 +956,7 @@ CONFIG_SERIO_RAW=y
928CONFIG_VT=y 956CONFIG_VT=y
929CONFIG_VT_CONSOLE=y 957CONFIG_VT_CONSOLE=y
930CONFIG_HW_CONSOLE=y 958CONFIG_HW_CONSOLE=y
959CONFIG_VT_HW_CONSOLE_BINDING=y
931# CONFIG_SERIAL_NONSTANDARD is not set 960# CONFIG_SERIAL_NONSTANDARD is not set
932 961
933# 962#
@@ -959,6 +988,7 @@ CONFIG_LEGACY_PTY_COUNT=256
959# Watchdog Cards 988# Watchdog Cards
960# 989#
961# CONFIG_WATCHDOG is not set 990# CONFIG_WATCHDOG is not set
991# CONFIG_HW_RANDOM is not set
962# CONFIG_RTC is not set 992# CONFIG_RTC is not set
963# CONFIG_GEN_RTC is not set 993# CONFIG_GEN_RTC is not set
964# CONFIG_DTLK is not set 994# CONFIG_DTLK is not set
@@ -1007,6 +1037,7 @@ CONFIG_LEGACY_PTY_COUNT=256
1007# Multimedia devices 1037# Multimedia devices
1008# 1038#
1009# CONFIG_VIDEO_DEV is not set 1039# CONFIG_VIDEO_DEV is not set
1040CONFIG_VIDEO_V4L2=y
1010 1041
1011# 1042#
1012# Digital Video Broadcasting Devices 1043# Digital Video Broadcasting Devices
@@ -1016,6 +1047,7 @@ CONFIG_LEGACY_PTY_COUNT=256
1016# 1047#
1017# Graphics support 1048# Graphics support
1018# 1049#
1050# CONFIG_FIRMWARE_EDID is not set
1019# CONFIG_FB is not set 1051# CONFIG_FB is not set
1020 1052
1021# 1053#
@@ -1079,6 +1111,19 @@ CONFIG_USB_ARCH_HAS_EHCI=y
1079# CONFIG_RTC_CLASS is not set 1111# CONFIG_RTC_CLASS is not set
1080 1112
1081# 1113#
1114# DMA Engine support
1115#
1116# CONFIG_DMA_ENGINE is not set
1117
1118#
1119# DMA Clients
1120#
1121
1122#
1123# DMA Devices
1124#
1125
1126#
1082# File systems 1127# File systems
1083# 1128#
1084CONFIG_EXT2_FS=y 1129CONFIG_EXT2_FS=y
@@ -1104,7 +1149,6 @@ CONFIG_JFS_SECURITY=y
1104# CONFIG_JFS_STATISTICS is not set 1149# CONFIG_JFS_STATISTICS is not set
1105CONFIG_FS_POSIX_ACL=y 1150CONFIG_FS_POSIX_ACL=y
1106CONFIG_XFS_FS=m 1151CONFIG_XFS_FS=m
1107CONFIG_XFS_EXPORT=y
1108CONFIG_XFS_QUOTA=y 1152CONFIG_XFS_QUOTA=y
1109CONFIG_XFS_SECURITY=y 1153CONFIG_XFS_SECURITY=y
1110CONFIG_XFS_POSIX_ACL=y 1154CONFIG_XFS_POSIX_ACL=y
@@ -1113,6 +1157,7 @@ CONFIG_XFS_POSIX_ACL=y
1113CONFIG_MINIX_FS=m 1157CONFIG_MINIX_FS=m
1114CONFIG_ROMFS_FS=m 1158CONFIG_ROMFS_FS=m
1115CONFIG_INOTIFY=y 1159CONFIG_INOTIFY=y
1160CONFIG_INOTIFY_USER=y
1116CONFIG_QUOTA=y 1161CONFIG_QUOTA=y
1117# CONFIG_QFMT_V1 is not set 1162# CONFIG_QFMT_V1 is not set
1118CONFIG_QFMT_V2=y 1163CONFIG_QFMT_V2=y
@@ -1170,6 +1215,8 @@ CONFIG_VXFS_FS=m
1170# CONFIG_QNX4FS_FS is not set 1215# CONFIG_QNX4FS_FS is not set
1171CONFIG_SYSV_FS=m 1216CONFIG_SYSV_FS=m
1172CONFIG_UFS_FS=m 1217CONFIG_UFS_FS=m
1218# CONFIG_UFS_FS_WRITE is not set
1219# CONFIG_UFS_DEBUG is not set
1173 1220
1174# 1221#
1175# Network File Systems 1222# Network File Systems
@@ -1194,6 +1241,7 @@ CONFIG_SUNRPC=y
1194# CONFIG_RPCSEC_GSS_SPKM3 is not set 1241# CONFIG_RPCSEC_GSS_SPKM3 is not set
1195# CONFIG_SMB_FS is not set 1242# CONFIG_SMB_FS is not set
1196# CONFIG_CIFS is not set 1243# CONFIG_CIFS is not set
1244# CONFIG_CIFS_DEBUG2 is not set
1197# CONFIG_NCP_FS is not set 1245# CONFIG_NCP_FS is not set
1198# CONFIG_CODA_FS is not set 1246# CONFIG_CODA_FS is not set
1199# CONFIG_AFS_FS is not set 1247# CONFIG_AFS_FS is not set
@@ -1259,6 +1307,7 @@ CONFIG_NLS_UTF8=m
1259# 1307#
1260# CONFIG_PRINTK_TIME is not set 1308# CONFIG_PRINTK_TIME is not set
1261# CONFIG_MAGIC_SYSRQ is not set 1309# CONFIG_MAGIC_SYSRQ is not set
1310# CONFIG_UNUSED_SYMBOLS is not set
1262# CONFIG_DEBUG_KERNEL is not set 1311# CONFIG_DEBUG_KERNEL is not set
1263CONFIG_LOG_BUF_SHIFT=14 1312CONFIG_LOG_BUF_SHIFT=14
1264# CONFIG_DEBUG_FS is not set 1313# CONFIG_DEBUG_FS is not set
@@ -1317,3 +1366,10 @@ CONFIG_TEXTSEARCH=y
1317CONFIG_TEXTSEARCH_KMP=m 1366CONFIG_TEXTSEARCH_KMP=m
1318CONFIG_TEXTSEARCH_BM=m 1367CONFIG_TEXTSEARCH_BM=m
1319CONFIG_TEXTSEARCH_FSM=m 1368CONFIG_TEXTSEARCH_FSM=m
1369CONFIG_PLIST=y
1370CONFIG_RIO=n
1371CONFIG_I2C_OCORES=n
1372CONFIG_DEBUG_RT_MUTEXES=n
1373CONFIG_RT_MUTEX_TESTER=n
1374CONFIG_DEBUG_RWSEMS=n
1375CONFIG_DEBUG_LOCKING_API_SELFTESTS=n
diff --git a/arch/mips/configs/bigsur_defconfig b/arch/mips/configs/bigsur_defconfig
index dabf90a94b21..887fd959482a 100644
--- a/arch/mips/configs/bigsur_defconfig
+++ b/arch/mips/configs/bigsur_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.17-rc2 3# Linux kernel version: 2.6.18-rc1
4# Mon Apr 24 14:50:55 2006 4# Thu Jul 6 10:02:58 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -21,6 +21,7 @@ CONFIG_MIPS=y
21# CONFIG_MIPS_DB1550 is not set 21# CONFIG_MIPS_DB1550 is not set
22# CONFIG_MIPS_DB1200 is not set 22# CONFIG_MIPS_DB1200 is not set
23# CONFIG_MIPS_MIRAGE is not set 23# CONFIG_MIPS_MIRAGE is not set
24# CONFIG_BASLER_EXCITE is not set
24# CONFIG_MIPS_COBALT is not set 25# CONFIG_MIPS_COBALT is not set
25# CONFIG_MACH_DECSTATION is not set 26# CONFIG_MACH_DECSTATION is not set
26# CONFIG_MIPS_EV64120 is not set 27# CONFIG_MIPS_EV64120 is not set
@@ -32,6 +33,7 @@ CONFIG_MIPS=y
32# CONFIG_MIPS_ATLAS is not set 33# CONFIG_MIPS_ATLAS is not set
33# CONFIG_MIPS_MALTA is not set 34# CONFIG_MIPS_MALTA is not set
34# CONFIG_MIPS_SEAD is not set 35# CONFIG_MIPS_SEAD is not set
36# CONFIG_WR_PPMC is not set
35# CONFIG_MIPS_SIM is not set 37# CONFIG_MIPS_SIM is not set
36# CONFIG_MOMENCO_JAGUAR_ATX is not set 38# CONFIG_MOMENCO_JAGUAR_ATX is not set
37# CONFIG_MOMENCO_OCELOT is not set 39# CONFIG_MOMENCO_OCELOT is not set
@@ -45,6 +47,7 @@ CONFIG_MIPS=y
45# CONFIG_MACH_VR41XX is not set 47# CONFIG_MACH_VR41XX is not set
46# CONFIG_PMC_YOSEMITE is not set 48# CONFIG_PMC_YOSEMITE is not set
47# CONFIG_QEMU is not set 49# CONFIG_QEMU is not set
50# CONFIG_MARKEINS is not set
48# CONFIG_SGI_IP22 is not set 51# CONFIG_SGI_IP22 is not set
49# CONFIG_SGI_IP27 is not set 52# CONFIG_SGI_IP27 is not set
50# CONFIG_SGI_IP32 is not set 53# CONFIG_SGI_IP32 is not set
@@ -81,6 +84,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y
81CONFIG_GENERIC_FIND_NEXT_BIT=y 84CONFIG_GENERIC_FIND_NEXT_BIT=y
82CONFIG_GENERIC_HWEIGHT=y 85CONFIG_GENERIC_HWEIGHT=y
83CONFIG_GENERIC_CALIBRATE_DELAY=y 86CONFIG_GENERIC_CALIBRATE_DELAY=y
87CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
84CONFIG_DMA_COHERENT=y 88CONFIG_DMA_COHERENT=y
85CONFIG_CPU_BIG_ENDIAN=y 89CONFIG_CPU_BIG_ENDIAN=y
86# CONFIG_CPU_LITTLE_ENDIAN is not set 90# CONFIG_CPU_LITTLE_ENDIAN is not set
@@ -128,11 +132,15 @@ CONFIG_PAGE_SIZE_4KB=y
128# CONFIG_PAGE_SIZE_16KB is not set 132# CONFIG_PAGE_SIZE_16KB is not set
129# CONFIG_PAGE_SIZE_64KB is not set 133# CONFIG_PAGE_SIZE_64KB is not set
130# CONFIG_SIBYTE_DMA_PAGEOPS is not set 134# CONFIG_SIBYTE_DMA_PAGEOPS is not set
131# CONFIG_MIPS_MT is not set 135CONFIG_MIPS_MT_DISABLED=y
136# CONFIG_MIPS_MT_SMTC is not set
137# CONFIG_MIPS_MT_SMP is not set
138# CONFIG_MIPS_VPE_LOADER is not set
132CONFIG_CPU_HAS_LLSC=y 139CONFIG_CPU_HAS_LLSC=y
133CONFIG_CPU_HAS_SYNC=y 140CONFIG_CPU_HAS_SYNC=y
134CONFIG_GENERIC_HARDIRQS=y 141CONFIG_GENERIC_HARDIRQS=y
135CONFIG_GENERIC_IRQ_PROBE=y 142CONFIG_GENERIC_IRQ_PROBE=y
143CONFIG_IRQ_PER_CPU=y
136CONFIG_CPU_SUPPORTS_HIGHMEM=y 144CONFIG_CPU_SUPPORTS_HIGHMEM=y
137CONFIG_ARCH_FLATMEM_ENABLE=y 145CONFIG_ARCH_FLATMEM_ENABLE=y
138CONFIG_SELECT_MEMORY_MODEL=y 146CONFIG_SELECT_MEMORY_MODEL=y
@@ -143,6 +151,10 @@ CONFIG_FLATMEM=y
143CONFIG_FLAT_NODE_MEM_MAP=y 151CONFIG_FLAT_NODE_MEM_MAP=y
144# CONFIG_SPARSEMEM_STATIC is not set 152# CONFIG_SPARSEMEM_STATIC is not set
145CONFIG_SPLIT_PTLOCK_CPUS=4 153CONFIG_SPLIT_PTLOCK_CPUS=4
154CONFIG_RESOURCES_64BIT=y
155CONFIG_SMP=y
156CONFIG_SYS_SUPPORTS_SMP=y
157CONFIG_NR_CPUS=4
146# CONFIG_HZ_48 is not set 158# CONFIG_HZ_48 is not set
147# CONFIG_HZ_100 is not set 159# CONFIG_HZ_100 is not set
148# CONFIG_HZ_128 is not set 160# CONFIG_HZ_128 is not set
@@ -152,12 +164,11 @@ CONFIG_HZ_1000=y
152# CONFIG_HZ_1024 is not set 164# CONFIG_HZ_1024 is not set
153CONFIG_SYS_SUPPORTS_ARBIT_HZ=y 165CONFIG_SYS_SUPPORTS_ARBIT_HZ=y
154CONFIG_HZ=1000 166CONFIG_HZ=1000
155CONFIG_SMP=y
156CONFIG_NR_CPUS=4
157CONFIG_PREEMPT_NONE=y 167CONFIG_PREEMPT_NONE=y
158# CONFIG_PREEMPT_VOLUNTARY is not set 168# CONFIG_PREEMPT_VOLUNTARY is not set
159# CONFIG_PREEMPT is not set 169# CONFIG_PREEMPT is not set
160# CONFIG_PREEMPT_BKL is not set 170# CONFIG_PREEMPT_BKL is not set
171CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
161 172
162# 173#
163# Code maturity level options 174# Code maturity level options
@@ -192,10 +203,12 @@ CONFIG_PRINTK=y
192CONFIG_BUG=y 203CONFIG_BUG=y
193CONFIG_ELF_CORE=y 204CONFIG_ELF_CORE=y
194CONFIG_BASE_FULL=y 205CONFIG_BASE_FULL=y
206CONFIG_RT_MUTEXES=y
195CONFIG_FUTEX=y 207CONFIG_FUTEX=y
196CONFIG_EPOLL=y 208CONFIG_EPOLL=y
197CONFIG_SHMEM=y 209CONFIG_SHMEM=y
198CONFIG_SLAB=y 210CONFIG_SLAB=y
211CONFIG_VM_EVENT_COUNTERS=y
199# CONFIG_TINY_SHMEM is not set 212# CONFIG_TINY_SHMEM is not set
200CONFIG_BASE_SMALL=0 213CONFIG_BASE_SMALL=0
201# CONFIG_SLOB is not set 214# CONFIG_SLOB is not set
@@ -253,7 +266,7 @@ CONFIG_MMU=y
253# 266#
254CONFIG_BINFMT_ELF=y 267CONFIG_BINFMT_ELF=y
255# CONFIG_BINFMT_MISC is not set 268# CONFIG_BINFMT_MISC is not set
256CONFIG_BUILD_ELF64=y 269# CONFIG_BUILD_ELF64 is not set
257CONFIG_MIPS32_COMPAT=y 270CONFIG_MIPS32_COMPAT=y
258CONFIG_COMPAT=y 271CONFIG_COMPAT=y
259CONFIG_MIPS32_O32=y 272CONFIG_MIPS32_O32=y
@@ -292,6 +305,8 @@ CONFIG_IP_PNP_BOOTP=y
292# CONFIG_INET_IPCOMP is not set 305# CONFIG_INET_IPCOMP is not set
293# CONFIG_INET_XFRM_TUNNEL is not set 306# CONFIG_INET_XFRM_TUNNEL is not set
294# CONFIG_INET_TUNNEL is not set 307# CONFIG_INET_TUNNEL is not set
308CONFIG_INET_XFRM_MODE_TRANSPORT=m
309CONFIG_INET_XFRM_MODE_TUNNEL=m
295CONFIG_INET_DIAG=y 310CONFIG_INET_DIAG=y
296CONFIG_INET_TCP_DIAG=y 311CONFIG_INET_TCP_DIAG=y
297# CONFIG_TCP_CONG_ADVANCED is not set 312# CONFIG_TCP_CONG_ADVANCED is not set
@@ -299,6 +314,7 @@ CONFIG_TCP_CONG_BIC=y
299# CONFIG_IPV6 is not set 314# CONFIG_IPV6 is not set
300# CONFIG_INET6_XFRM_TUNNEL is not set 315# CONFIG_INET6_XFRM_TUNNEL is not set
301# CONFIG_INET6_TUNNEL is not set 316# CONFIG_INET6_TUNNEL is not set
317CONFIG_NETWORK_SECMARK=y
302# CONFIG_NETFILTER is not set 318# CONFIG_NETFILTER is not set
303 319
304# 320#
@@ -353,6 +369,7 @@ CONFIG_STANDALONE=y
353CONFIG_PREVENT_FIRMWARE_BUILD=y 369CONFIG_PREVENT_FIRMWARE_BUILD=y
354# CONFIG_FW_LOADER is not set 370# CONFIG_FW_LOADER is not set
355# CONFIG_DEBUG_DRIVER is not set 371# CONFIG_DEBUG_DRIVER is not set
372# CONFIG_SYS_HYPERVISOR is not set
356 373
357# 374#
358# Connector - unified userspace <-> kernelspace linker 375# Connector - unified userspace <-> kernelspace linker
@@ -505,6 +522,7 @@ CONFIG_NET_SB1250_MAC=y
505# CONFIG_CHELSIO_T1 is not set 522# CONFIG_CHELSIO_T1 is not set
506# CONFIG_IXGB is not set 523# CONFIG_IXGB is not set
507# CONFIG_S2IO is not set 524# CONFIG_S2IO is not set
525# CONFIG_MYRI10GE is not set
508 526
509# 527#
510# Token Ring devices 528# Token Ring devices
@@ -572,6 +590,7 @@ CONFIG_SERIAL_NONSTANDARD=y
572# CONFIG_N_HDLC is not set 590# CONFIG_N_HDLC is not set
573# CONFIG_SPECIALIX is not set 591# CONFIG_SPECIALIX is not set
574# CONFIG_SX is not set 592# CONFIG_SX is not set
593# CONFIG_RIO is not set
575# CONFIG_STALDRV is not set 594# CONFIG_STALDRV is not set
576CONFIG_SIBYTE_SB1250_DUART=y 595CONFIG_SIBYTE_SB1250_DUART=y
577CONFIG_SIBYTE_SB1250_DUART_CONSOLE=y 596CONFIG_SIBYTE_SB1250_DUART_CONSOLE=y
@@ -598,6 +617,7 @@ CONFIG_LEGACY_PTY_COUNT=256
598# Watchdog Cards 617# Watchdog Cards
599# 618#
600# CONFIG_WATCHDOG is not set 619# CONFIG_WATCHDOG is not set
620# CONFIG_HW_RANDOM is not set
601# CONFIG_RTC is not set 621# CONFIG_RTC is not set
602CONFIG_GEN_RTC=y 622CONFIG_GEN_RTC=y
603# CONFIG_GEN_RTC_X is not set 623# CONFIG_GEN_RTC_X is not set
@@ -643,6 +663,7 @@ CONFIG_I2C_ALGO_SIBYTE=y
643# CONFIG_I2C_I810 is not set 663# CONFIG_I2C_I810 is not set
644# CONFIG_I2C_PIIX4 is not set 664# CONFIG_I2C_PIIX4 is not set
645# CONFIG_I2C_NFORCE2 is not set 665# CONFIG_I2C_NFORCE2 is not set
666# CONFIG_I2C_OCORES is not set
646# CONFIG_I2C_PARPORT_LIGHT is not set 667# CONFIG_I2C_PARPORT_LIGHT is not set
647# CONFIG_I2C_PROSAVAGE is not set 668# CONFIG_I2C_PROSAVAGE is not set
648# CONFIG_I2C_SAVAGE4 is not set 669# CONFIG_I2C_SAVAGE4 is not set
@@ -680,7 +701,6 @@ CONFIG_I2C_DEBUG_CHIP=y
680# 701#
681# Dallas's 1-wire bus 702# Dallas's 1-wire bus
682# 703#
683# CONFIG_W1 is not set
684 704
685# 705#
686# Hardware Monitoring support 706# Hardware Monitoring support
@@ -696,6 +716,7 @@ CONFIG_I2C_DEBUG_CHIP=y
696# Multimedia devices 716# Multimedia devices
697# 717#
698# CONFIG_VIDEO_DEV is not set 718# CONFIG_VIDEO_DEV is not set
719CONFIG_VIDEO_V4L2=y
699 720
700# 721#
701# Digital Video Broadcasting Devices 722# Digital Video Broadcasting Devices
@@ -705,6 +726,7 @@ CONFIG_I2C_DEBUG_CHIP=y
705# 726#
706# Graphics support 727# Graphics support
707# 728#
729# CONFIG_FIRMWARE_EDID is not set
708# CONFIG_FB is not set 730# CONFIG_FB is not set
709 731
710# 732#
@@ -762,6 +784,19 @@ CONFIG_USB_ARCH_HAS_EHCI=y
762# CONFIG_RTC_CLASS is not set 784# CONFIG_RTC_CLASS is not set
763 785
764# 786#
787# DMA Engine support
788#
789# CONFIG_DMA_ENGINE is not set
790
791#
792# DMA Clients
793#
794
795#
796# DMA Devices
797#
798
799#
765# File systems 800# File systems
766# 801#
767CONFIG_EXT2_FS=y 802CONFIG_EXT2_FS=y
@@ -779,6 +814,7 @@ CONFIG_FS_POSIX_ACL=y
779# CONFIG_MINIX_FS is not set 814# CONFIG_MINIX_FS is not set
780# CONFIG_ROMFS_FS is not set 815# CONFIG_ROMFS_FS is not set
781CONFIG_INOTIFY=y 816CONFIG_INOTIFY=y
817CONFIG_INOTIFY_USER=y
782# CONFIG_QUOTA is not set 818# CONFIG_QUOTA is not set
783CONFIG_DNOTIFY=y 819CONFIG_DNOTIFY=y
784# CONFIG_AUTOFS_FS is not set 820# CONFIG_AUTOFS_FS is not set
@@ -844,6 +880,7 @@ CONFIG_SUNRPC=y
844# CONFIG_RPCSEC_GSS_SPKM3 is not set 880# CONFIG_RPCSEC_GSS_SPKM3 is not set
845# CONFIG_SMB_FS is not set 881# CONFIG_SMB_FS is not set
846# CONFIG_CIFS is not set 882# CONFIG_CIFS is not set
883# CONFIG_CIFS_DEBUG2 is not set
847# CONFIG_NCP_FS is not set 884# CONFIG_NCP_FS is not set
848# CONFIG_CODA_FS is not set 885# CONFIG_CODA_FS is not set
849# CONFIG_AFS_FS is not set 886# CONFIG_AFS_FS is not set
@@ -870,14 +907,19 @@ CONFIG_MSDOS_PARTITION=y
870# 907#
871CONFIG_PRINTK_TIME=y 908CONFIG_PRINTK_TIME=y
872CONFIG_MAGIC_SYSRQ=y 909CONFIG_MAGIC_SYSRQ=y
910# CONFIG_UNUSED_SYMBOLS is not set
873CONFIG_DEBUG_KERNEL=y 911CONFIG_DEBUG_KERNEL=y
874CONFIG_LOG_BUF_SHIFT=16 912CONFIG_LOG_BUF_SHIFT=16
875CONFIG_DETECT_SOFTLOCKUP=y 913CONFIG_DETECT_SOFTLOCKUP=y
876# CONFIG_SCHEDSTATS is not set 914# CONFIG_SCHEDSTATS is not set
877# CONFIG_DEBUG_SLAB is not set 915# CONFIG_DEBUG_SLAB is not set
878CONFIG_DEBUG_MUTEXES=y 916# CONFIG_DEBUG_RT_MUTEXES is not set
917# CONFIG_RT_MUTEX_TESTER is not set
879# CONFIG_DEBUG_SPINLOCK is not set 918# CONFIG_DEBUG_SPINLOCK is not set
919CONFIG_DEBUG_MUTEXES=y
920# CONFIG_DEBUG_RWSEMS is not set
880# CONFIG_DEBUG_SPINLOCK_SLEEP is not set 921# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
922# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
881# CONFIG_DEBUG_KOBJECT is not set 923# CONFIG_DEBUG_KOBJECT is not set
882# CONFIG_DEBUG_INFO is not set 924# CONFIG_DEBUG_INFO is not set
883# CONFIG_DEBUG_FS is not set 925# CONFIG_DEBUG_FS is not set
@@ -940,3 +982,4 @@ CONFIG_CRC32=y
940# CONFIG_LIBCRC32C is not set 982# CONFIG_LIBCRC32C is not set
941CONFIG_ZLIB_INFLATE=y 983CONFIG_ZLIB_INFLATE=y
942CONFIG_ZLIB_DEFLATE=y 984CONFIG_ZLIB_DEFLATE=y
985CONFIG_PLIST=y
diff --git a/arch/mips/configs/capcella_defconfig b/arch/mips/configs/capcella_defconfig
index aeb7be804799..a01344f3a4c2 100644
--- a/arch/mips/configs/capcella_defconfig
+++ b/arch/mips/configs/capcella_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.17-rc2 3# Linux kernel version: 2.6.18-rc1
4# Tue Apr 25 00:08:06 2006 4# Thu Jul 6 10:03:24 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -21,6 +21,7 @@ CONFIG_MIPS=y
21# CONFIG_MIPS_DB1550 is not set 21# CONFIG_MIPS_DB1550 is not set
22# CONFIG_MIPS_DB1200 is not set 22# CONFIG_MIPS_DB1200 is not set
23# CONFIG_MIPS_MIRAGE is not set 23# CONFIG_MIPS_MIRAGE is not set
24# CONFIG_BASLER_EXCITE is not set
24# CONFIG_MIPS_COBALT is not set 25# CONFIG_MIPS_COBALT is not set
25# CONFIG_MACH_DECSTATION is not set 26# CONFIG_MACH_DECSTATION is not set
26# CONFIG_MIPS_EV64120 is not set 27# CONFIG_MIPS_EV64120 is not set
@@ -32,6 +33,7 @@ CONFIG_MIPS=y
32# CONFIG_MIPS_ATLAS is not set 33# CONFIG_MIPS_ATLAS is not set
33# CONFIG_MIPS_MALTA is not set 34# CONFIG_MIPS_MALTA is not set
34# CONFIG_MIPS_SEAD is not set 35# CONFIG_MIPS_SEAD is not set
36# CONFIG_WR_PPMC is not set
35# CONFIG_MIPS_SIM is not set 37# CONFIG_MIPS_SIM is not set
36# CONFIG_MOMENCO_JAGUAR_ATX is not set 38# CONFIG_MOMENCO_JAGUAR_ATX is not set
37# CONFIG_MOMENCO_OCELOT is not set 39# CONFIG_MOMENCO_OCELOT is not set
@@ -45,6 +47,7 @@ CONFIG_MIPS=y
45CONFIG_MACH_VR41XX=y 47CONFIG_MACH_VR41XX=y
46# CONFIG_PMC_YOSEMITE is not set 48# CONFIG_PMC_YOSEMITE is not set
47# CONFIG_QEMU is not set 49# CONFIG_QEMU is not set
50# CONFIG_MARKEINS is not set
48# CONFIG_SGI_IP22 is not set 51# CONFIG_SGI_IP22 is not set
49# CONFIG_SGI_IP27 is not set 52# CONFIG_SGI_IP27 is not set
50# CONFIG_SGI_IP32 is not set 53# CONFIG_SGI_IP32 is not set
@@ -73,6 +76,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y
73CONFIG_GENERIC_FIND_NEXT_BIT=y 76CONFIG_GENERIC_FIND_NEXT_BIT=y
74CONFIG_GENERIC_HWEIGHT=y 77CONFIG_GENERIC_HWEIGHT=y
75CONFIG_GENERIC_CALIBRATE_DELAY=y 78CONFIG_GENERIC_CALIBRATE_DELAY=y
79CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
76CONFIG_DMA_NONCOHERENT=y 80CONFIG_DMA_NONCOHERENT=y
77CONFIG_DMA_NEED_PCI_MAP_STATE=y 81CONFIG_DMA_NEED_PCI_MAP_STATE=y
78# CONFIG_CPU_BIG_ENDIAN is not set 82# CONFIG_CPU_BIG_ENDIAN is not set
@@ -117,7 +121,10 @@ CONFIG_PAGE_SIZE_4KB=y
117# CONFIG_PAGE_SIZE_8KB is not set 121# CONFIG_PAGE_SIZE_8KB is not set
118# CONFIG_PAGE_SIZE_16KB is not set 122# CONFIG_PAGE_SIZE_16KB is not set
119# CONFIG_PAGE_SIZE_64KB is not set 123# CONFIG_PAGE_SIZE_64KB is not set
120# CONFIG_MIPS_MT is not set 124CONFIG_MIPS_MT_DISABLED=y
125# CONFIG_MIPS_MT_SMTC is not set
126# CONFIG_MIPS_MT_SMP is not set
127# CONFIG_MIPS_VPE_LOADER is not set
121CONFIG_CPU_HAS_SYNC=y 128CONFIG_CPU_HAS_SYNC=y
122CONFIG_GENERIC_HARDIRQS=y 129CONFIG_GENERIC_HARDIRQS=y
123CONFIG_GENERIC_IRQ_PROBE=y 130CONFIG_GENERIC_IRQ_PROBE=y
@@ -130,6 +137,7 @@ CONFIG_FLATMEM=y
130CONFIG_FLAT_NODE_MEM_MAP=y 137CONFIG_FLAT_NODE_MEM_MAP=y
131# CONFIG_SPARSEMEM_STATIC is not set 138# CONFIG_SPARSEMEM_STATIC is not set
132CONFIG_SPLIT_PTLOCK_CPUS=4 139CONFIG_SPLIT_PTLOCK_CPUS=4
140# CONFIG_RESOURCES_64BIT is not set
133# CONFIG_HZ_48 is not set 141# CONFIG_HZ_48 is not set
134# CONFIG_HZ_100 is not set 142# CONFIG_HZ_100 is not set
135# CONFIG_HZ_128 is not set 143# CONFIG_HZ_128 is not set
@@ -142,6 +150,7 @@ CONFIG_HZ=1000
142CONFIG_PREEMPT_NONE=y 150CONFIG_PREEMPT_NONE=y
143# CONFIG_PREEMPT_VOLUNTARY is not set 151# CONFIG_PREEMPT_VOLUNTARY is not set
144# CONFIG_PREEMPT is not set 152# CONFIG_PREEMPT is not set
153CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
145 154
146# 155#
147# Code maturity level options 156# Code maturity level options
@@ -173,10 +182,12 @@ CONFIG_PRINTK=y
173CONFIG_BUG=y 182CONFIG_BUG=y
174CONFIG_ELF_CORE=y 183CONFIG_ELF_CORE=y
175CONFIG_BASE_FULL=y 184CONFIG_BASE_FULL=y
185CONFIG_RT_MUTEXES=y
176CONFIG_FUTEX=y 186CONFIG_FUTEX=y
177CONFIG_EPOLL=y 187CONFIG_EPOLL=y
178CONFIG_SHMEM=y 188CONFIG_SHMEM=y
179CONFIG_SLAB=y 189CONFIG_SLAB=y
190CONFIG_VM_EVENT_COUNTERS=y
180# CONFIG_TINY_SHMEM is not set 191# CONFIG_TINY_SHMEM is not set
181CONFIG_BASE_SMALL=0 192CONFIG_BASE_SMALL=0
182# CONFIG_SLOB is not set 193# CONFIG_SLOB is not set
@@ -268,6 +279,8 @@ CONFIG_IP_PNP_BOOTP=y
268# CONFIG_INET_IPCOMP is not set 279# CONFIG_INET_IPCOMP is not set
269# CONFIG_INET_XFRM_TUNNEL is not set 280# CONFIG_INET_XFRM_TUNNEL is not set
270# CONFIG_INET_TUNNEL is not set 281# CONFIG_INET_TUNNEL is not set
282CONFIG_INET_XFRM_MODE_TRANSPORT=m
283CONFIG_INET_XFRM_MODE_TUNNEL=m
271CONFIG_INET_DIAG=y 284CONFIG_INET_DIAG=y
272CONFIG_INET_TCP_DIAG=y 285CONFIG_INET_TCP_DIAG=y
273# CONFIG_TCP_CONG_ADVANCED is not set 286# CONFIG_TCP_CONG_ADVANCED is not set
@@ -275,6 +288,7 @@ CONFIG_TCP_CONG_BIC=y
275# CONFIG_IPV6 is not set 288# CONFIG_IPV6 is not set
276# CONFIG_INET6_XFRM_TUNNEL is not set 289# CONFIG_INET6_XFRM_TUNNEL is not set
277# CONFIG_INET6_TUNNEL is not set 290# CONFIG_INET6_TUNNEL is not set
291CONFIG_NETWORK_SECMARK=y
278# CONFIG_NETFILTER is not set 292# CONFIG_NETFILTER is not set
279 293
280# 294#
@@ -328,6 +342,7 @@ CONFIG_TCP_CONG_BIC=y
328CONFIG_STANDALONE=y 342CONFIG_STANDALONE=y
329CONFIG_PREVENT_FIRMWARE_BUILD=y 343CONFIG_PREVENT_FIRMWARE_BUILD=y
330CONFIG_FW_LOADER=m 344CONFIG_FW_LOADER=m
345# CONFIG_SYS_HYPERVISOR is not set
331 346
332# 347#
333# Connector - unified userspace <-> kernelspace linker 348# Connector - unified userspace <-> kernelspace linker
@@ -446,6 +461,8 @@ CONFIG_DAVICOM_PHY=m
446CONFIG_QSEMI_PHY=m 461CONFIG_QSEMI_PHY=m
447CONFIG_LXT_PHY=m 462CONFIG_LXT_PHY=m
448CONFIG_CICADA_PHY=m 463CONFIG_CICADA_PHY=m
464CONFIG_VITESSE_PHY=m
465CONFIG_SMSC_PHY=m
449 466
450# 467#
451# Ethernet (10 or 100Mbit) 468# Ethernet (10 or 100Mbit)
@@ -512,6 +529,7 @@ CONFIG_8139TOO_PIO=y
512# CONFIG_CHELSIO_T1 is not set 529# CONFIG_CHELSIO_T1 is not set
513# CONFIG_IXGB is not set 530# CONFIG_IXGB is not set
514# CONFIG_S2IO is not set 531# CONFIG_S2IO is not set
532# CONFIG_MYRI10GE is not set
515 533
516# 534#
517# Token Ring devices 535# Token Ring devices
@@ -581,6 +599,7 @@ CONFIG_INPUT=y
581CONFIG_VT=y 599CONFIG_VT=y
582CONFIG_VT_CONSOLE=y 600CONFIG_VT_CONSOLE=y
583CONFIG_HW_CONSOLE=y 601CONFIG_HW_CONSOLE=y
602CONFIG_VT_HW_CONSOLE_BINDING=y
584# CONFIG_SERIAL_NONSTANDARD is not set 603# CONFIG_SERIAL_NONSTANDARD is not set
585 604
586# 605#
@@ -609,6 +628,7 @@ CONFIG_LEGACY_PTY_COUNT=256
609# Watchdog Cards 628# Watchdog Cards
610# 629#
611# CONFIG_WATCHDOG is not set 630# CONFIG_WATCHDOG is not set
631# CONFIG_HW_RANDOM is not set
612# CONFIG_RTC is not set 632# CONFIG_RTC is not set
613# CONFIG_GEN_RTC is not set 633# CONFIG_GEN_RTC is not set
614# CONFIG_DTLK is not set 634# CONFIG_DTLK is not set
@@ -658,6 +678,7 @@ CONFIG_GPIO_VR41XX=y
658# Multimedia devices 678# Multimedia devices
659# 679#
660# CONFIG_VIDEO_DEV is not set 680# CONFIG_VIDEO_DEV is not set
681CONFIG_VIDEO_V4L2=y
661 682
662# 683#
663# Digital Video Broadcasting Devices 684# Digital Video Broadcasting Devices
@@ -667,6 +688,7 @@ CONFIG_GPIO_VR41XX=y
667# 688#
668# Graphics support 689# Graphics support
669# 690#
691# CONFIG_FIRMWARE_EDID is not set
670# CONFIG_FB is not set 692# CONFIG_FB is not set
671 693
672# 694#
@@ -738,13 +760,30 @@ CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
738CONFIG_RTC_INTF_SYSFS=y 760CONFIG_RTC_INTF_SYSFS=y
739CONFIG_RTC_INTF_PROC=y 761CONFIG_RTC_INTF_PROC=y
740CONFIG_RTC_INTF_DEV=y 762CONFIG_RTC_INTF_DEV=y
763# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
741 764
742# 765#
743# RTC drivers 766# RTC drivers
744# 767#
768# CONFIG_RTC_DRV_DS1553 is not set
769# CONFIG_RTC_DRV_DS1742 is not set
745# CONFIG_RTC_DRV_M48T86 is not set 770# CONFIG_RTC_DRV_M48T86 is not set
746CONFIG_RTC_DRV_VR41XX=y 771CONFIG_RTC_DRV_VR41XX=y
747# CONFIG_RTC_DRV_TEST is not set 772# CONFIG_RTC_DRV_TEST is not set
773# CONFIG_RTC_DRV_V3020 is not set
774
775#
776# DMA Engine support
777#
778# CONFIG_DMA_ENGINE is not set
779
780#
781# DMA Clients
782#
783
784#
785# DMA Devices
786#
748 787
749# 788#
750# File systems 789# File systems
@@ -761,6 +800,7 @@ CONFIG_EXT2_FS=y
761# CONFIG_MINIX_FS is not set 800# CONFIG_MINIX_FS is not set
762# CONFIG_ROMFS_FS is not set 801# CONFIG_ROMFS_FS is not set
763CONFIG_INOTIFY=y 802CONFIG_INOTIFY=y
803CONFIG_INOTIFY_USER=y
764# CONFIG_QUOTA is not set 804# CONFIG_QUOTA is not set
765CONFIG_DNOTIFY=y 805CONFIG_DNOTIFY=y
766# CONFIG_AUTOFS_FS is not set 806# CONFIG_AUTOFS_FS is not set
@@ -827,6 +867,7 @@ CONFIG_SUNRPC=y
827# CONFIG_RPCSEC_GSS_SPKM3 is not set 867# CONFIG_RPCSEC_GSS_SPKM3 is not set
828# CONFIG_SMB_FS is not set 868# CONFIG_SMB_FS is not set
829# CONFIG_CIFS is not set 869# CONFIG_CIFS is not set
870# CONFIG_CIFS_DEBUG2 is not set
830# CONFIG_NCP_FS is not set 871# CONFIG_NCP_FS is not set
831# CONFIG_CODA_FS is not set 872# CONFIG_CODA_FS is not set
832# CONFIG_AFS_FS is not set 873# CONFIG_AFS_FS is not set
@@ -853,6 +894,7 @@ CONFIG_MSDOS_PARTITION=y
853# 894#
854# CONFIG_PRINTK_TIME is not set 895# CONFIG_PRINTK_TIME is not set
855# CONFIG_MAGIC_SYSRQ is not set 896# CONFIG_MAGIC_SYSRQ is not set
897# CONFIG_UNUSED_SYMBOLS is not set
856# CONFIG_DEBUG_KERNEL is not set 898# CONFIG_DEBUG_KERNEL is not set
857CONFIG_LOG_BUF_SHIFT=14 899CONFIG_LOG_BUF_SHIFT=14
858# CONFIG_DEBUG_FS is not set 900# CONFIG_DEBUG_FS is not set
@@ -881,3 +923,4 @@ CONFIG_CMDLINE="mem=32M console=ttyVR0,38400"
881# CONFIG_CRC16 is not set 923# CONFIG_CRC16 is not set
882CONFIG_CRC32=y 924CONFIG_CRC32=y
883# CONFIG_LIBCRC32C is not set 925# CONFIG_LIBCRC32C is not set
926CONFIG_PLIST=y
diff --git a/arch/mips/configs/cobalt_defconfig b/arch/mips/configs/cobalt_defconfig
index d680d3e17112..c95682445a28 100644
--- a/arch/mips/configs/cobalt_defconfig
+++ b/arch/mips/configs/cobalt_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.17-rc2 3# Linux kernel version: 2.6.18-rc1
4# Mon Apr 24 14:50:57 2006 4# Thu Jul 6 10:03:25 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -21,6 +21,7 @@ CONFIG_MIPS=y
21# CONFIG_MIPS_DB1550 is not set 21# CONFIG_MIPS_DB1550 is not set
22# CONFIG_MIPS_DB1200 is not set 22# CONFIG_MIPS_DB1200 is not set
23# CONFIG_MIPS_MIRAGE is not set 23# CONFIG_MIPS_MIRAGE is not set
24# CONFIG_BASLER_EXCITE is not set
24CONFIG_MIPS_COBALT=y 25CONFIG_MIPS_COBALT=y
25# CONFIG_MACH_DECSTATION is not set 26# CONFIG_MACH_DECSTATION is not set
26# CONFIG_MIPS_EV64120 is not set 27# CONFIG_MIPS_EV64120 is not set
@@ -32,6 +33,7 @@ CONFIG_MIPS_COBALT=y
32# CONFIG_MIPS_ATLAS is not set 33# CONFIG_MIPS_ATLAS is not set
33# CONFIG_MIPS_MALTA is not set 34# CONFIG_MIPS_MALTA is not set
34# CONFIG_MIPS_SEAD is not set 35# CONFIG_MIPS_SEAD is not set
36# CONFIG_WR_PPMC is not set
35# CONFIG_MIPS_SIM is not set 37# CONFIG_MIPS_SIM is not set
36# CONFIG_MOMENCO_JAGUAR_ATX is not set 38# CONFIG_MOMENCO_JAGUAR_ATX is not set
37# CONFIG_MOMENCO_OCELOT is not set 39# CONFIG_MOMENCO_OCELOT is not set
@@ -45,6 +47,7 @@ CONFIG_MIPS_COBALT=y
45# CONFIG_MACH_VR41XX is not set 47# CONFIG_MACH_VR41XX is not set
46# CONFIG_PMC_YOSEMITE is not set 48# CONFIG_PMC_YOSEMITE is not set
47# CONFIG_QEMU is not set 49# CONFIG_QEMU is not set
50# CONFIG_MARKEINS is not set
48# CONFIG_SGI_IP22 is not set 51# CONFIG_SGI_IP22 is not set
49# CONFIG_SGI_IP27 is not set 52# CONFIG_SGI_IP27 is not set
50# CONFIG_SGI_IP32 is not set 53# CONFIG_SGI_IP32 is not set
@@ -66,6 +69,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y
66CONFIG_GENERIC_FIND_NEXT_BIT=y 69CONFIG_GENERIC_FIND_NEXT_BIT=y
67CONFIG_GENERIC_HWEIGHT=y 70CONFIG_GENERIC_HWEIGHT=y
68CONFIG_GENERIC_CALIBRATE_DELAY=y 71CONFIG_GENERIC_CALIBRATE_DELAY=y
72CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
69CONFIG_DMA_NONCOHERENT=y 73CONFIG_DMA_NONCOHERENT=y
70CONFIG_DMA_NEED_PCI_MAP_STATE=y 74CONFIG_DMA_NEED_PCI_MAP_STATE=y
71CONFIG_I8259=y 75CONFIG_I8259=y
@@ -113,7 +117,10 @@ CONFIG_PAGE_SIZE_4KB=y
113# CONFIG_PAGE_SIZE_8KB is not set 117# CONFIG_PAGE_SIZE_8KB is not set
114# CONFIG_PAGE_SIZE_16KB is not set 118# CONFIG_PAGE_SIZE_16KB is not set
115# CONFIG_PAGE_SIZE_64KB is not set 119# CONFIG_PAGE_SIZE_64KB is not set
116# CONFIG_MIPS_MT is not set 120CONFIG_MIPS_MT_DISABLED=y
121# CONFIG_MIPS_MT_SMTC is not set
122# CONFIG_MIPS_MT_SMP is not set
123# CONFIG_MIPS_VPE_LOADER is not set
117CONFIG_CPU_HAS_LLSC=y 124CONFIG_CPU_HAS_LLSC=y
118CONFIG_CPU_HAS_SYNC=y 125CONFIG_CPU_HAS_SYNC=y
119CONFIG_GENERIC_HARDIRQS=y 126CONFIG_GENERIC_HARDIRQS=y
@@ -127,6 +134,7 @@ CONFIG_FLATMEM=y
127CONFIG_FLAT_NODE_MEM_MAP=y 134CONFIG_FLAT_NODE_MEM_MAP=y
128# CONFIG_SPARSEMEM_STATIC is not set 135# CONFIG_SPARSEMEM_STATIC is not set
129CONFIG_SPLIT_PTLOCK_CPUS=4 136CONFIG_SPLIT_PTLOCK_CPUS=4
137# CONFIG_RESOURCES_64BIT is not set
130# CONFIG_HZ_48 is not set 138# CONFIG_HZ_48 is not set
131# CONFIG_HZ_100 is not set 139# CONFIG_HZ_100 is not set
132# CONFIG_HZ_128 is not set 140# CONFIG_HZ_128 is not set
@@ -139,6 +147,7 @@ CONFIG_HZ=1000
139CONFIG_PREEMPT_NONE=y 147CONFIG_PREEMPT_NONE=y
140# CONFIG_PREEMPT_VOLUNTARY is not set 148# CONFIG_PREEMPT_VOLUNTARY is not set
141# CONFIG_PREEMPT is not set 149# CONFIG_PREEMPT is not set
150CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
142 151
143# 152#
144# Code maturity level options 153# Code maturity level options
@@ -170,10 +179,12 @@ CONFIG_PRINTK=y
170CONFIG_BUG=y 179CONFIG_BUG=y
171CONFIG_ELF_CORE=y 180CONFIG_ELF_CORE=y
172CONFIG_BASE_FULL=y 181CONFIG_BASE_FULL=y
182CONFIG_RT_MUTEXES=y
173CONFIG_FUTEX=y 183CONFIG_FUTEX=y
174CONFIG_EPOLL=y 184CONFIG_EPOLL=y
175CONFIG_SHMEM=y 185CONFIG_SHMEM=y
176CONFIG_SLAB=y 186CONFIG_SLAB=y
187CONFIG_VM_EVENT_COUNTERS=y
177# CONFIG_TINY_SHMEM is not set 188# CONFIG_TINY_SHMEM is not set
178CONFIG_BASE_SMALL=0 189CONFIG_BASE_SMALL=0
179# CONFIG_SLOB is not set 190# CONFIG_SLOB is not set
@@ -256,6 +267,8 @@ CONFIG_IP_FIB_HASH=y
256# CONFIG_INET_IPCOMP is not set 267# CONFIG_INET_IPCOMP is not set
257# CONFIG_INET_XFRM_TUNNEL is not set 268# CONFIG_INET_XFRM_TUNNEL is not set
258# CONFIG_INET_TUNNEL is not set 269# CONFIG_INET_TUNNEL is not set
270CONFIG_INET_XFRM_MODE_TRANSPORT=y
271CONFIG_INET_XFRM_MODE_TUNNEL=y
259CONFIG_INET_DIAG=y 272CONFIG_INET_DIAG=y
260CONFIG_INET_TCP_DIAG=y 273CONFIG_INET_TCP_DIAG=y
261# CONFIG_TCP_CONG_ADVANCED is not set 274# CONFIG_TCP_CONG_ADVANCED is not set
@@ -263,6 +276,7 @@ CONFIG_TCP_CONG_BIC=y
263# CONFIG_IPV6 is not set 276# CONFIG_IPV6 is not set
264# CONFIG_INET6_XFRM_TUNNEL is not set 277# CONFIG_INET6_XFRM_TUNNEL is not set
265# CONFIG_INET6_TUNNEL is not set 278# CONFIG_INET6_TUNNEL is not set
279CONFIG_NETWORK_SECMARK=y
266# CONFIG_NETFILTER is not set 280# CONFIG_NETFILTER is not set
267 281
268# 282#
@@ -322,6 +336,7 @@ CONFIG_WIRELESS_EXT=y
322CONFIG_STANDALONE=y 336CONFIG_STANDALONE=y
323CONFIG_PREVENT_FIRMWARE_BUILD=y 337CONFIG_PREVENT_FIRMWARE_BUILD=y
324CONFIG_FW_LOADER=y 338CONFIG_FW_LOADER=y
339# CONFIG_SYS_HYPERVISOR is not set
325 340
326# 341#
327# Connector - unified userspace <-> kernelspace linker 342# Connector - unified userspace <-> kernelspace linker
@@ -471,6 +486,8 @@ CONFIG_DAVICOM_PHY=y
471CONFIG_QSEMI_PHY=y 486CONFIG_QSEMI_PHY=y
472CONFIG_LXT_PHY=y 487CONFIG_LXT_PHY=y
473CONFIG_CICADA_PHY=y 488CONFIG_CICADA_PHY=y
489CONFIG_VITESSE_PHY=y
490CONFIG_SMSC_PHY=y
474 491
475# 492#
476# Ethernet (10 or 100Mbit) 493# Ethernet (10 or 100Mbit)
@@ -522,6 +539,7 @@ CONFIG_TULIP=y
522# CONFIG_CHELSIO_T1 is not set 539# CONFIG_CHELSIO_T1 is not set
523# CONFIG_IXGB is not set 540# CONFIG_IXGB is not set
524# CONFIG_S2IO is not set 541# CONFIG_S2IO is not set
542# CONFIG_MYRI10GE is not set
525 543
526# 544#
527# Token Ring devices 545# Token Ring devices
@@ -599,6 +617,7 @@ CONFIG_SERIO_RAW=y
599CONFIG_VT=y 617CONFIG_VT=y
600CONFIG_VT_CONSOLE=y 618CONFIG_VT_CONSOLE=y
601CONFIG_HW_CONSOLE=y 619CONFIG_HW_CONSOLE=y
620CONFIG_VT_HW_CONSOLE_BINDING=y
602# CONFIG_SERIAL_NONSTANDARD is not set 621# CONFIG_SERIAL_NONSTANDARD is not set
603 622
604# 623#
@@ -630,6 +649,7 @@ CONFIG_LEGACY_PTY_COUNT=256
630# Watchdog Cards 649# Watchdog Cards
631# 650#
632# CONFIG_WATCHDOG is not set 651# CONFIG_WATCHDOG is not set
652# CONFIG_HW_RANDOM is not set
633CONFIG_RTC=y 653CONFIG_RTC=y
634CONFIG_COBALT_LCD=y 654CONFIG_COBALT_LCD=y
635# CONFIG_DTLK is not set 655# CONFIG_DTLK is not set
@@ -678,6 +698,7 @@ CONFIG_COBALT_LCD=y
678# Multimedia devices 698# Multimedia devices
679# 699#
680# CONFIG_VIDEO_DEV is not set 700# CONFIG_VIDEO_DEV is not set
701CONFIG_VIDEO_V4L2=y
681 702
682# 703#
683# Digital Video Broadcasting Devices 704# Digital Video Broadcasting Devices
@@ -687,6 +708,7 @@ CONFIG_COBALT_LCD=y
687# 708#
688# Graphics support 709# Graphics support
689# 710#
711# CONFIG_FIRMWARE_EDID is not set
690# CONFIG_FB is not set 712# CONFIG_FB is not set
691 713
692# 714#
@@ -750,6 +772,19 @@ CONFIG_USB_ARCH_HAS_EHCI=y
750# CONFIG_RTC_CLASS is not set 772# CONFIG_RTC_CLASS is not set
751 773
752# 774#
775# DMA Engine support
776#
777# CONFIG_DMA_ENGINE is not set
778
779#
780# DMA Clients
781#
782
783#
784# DMA Devices
785#
786
787#
753# File systems 788# File systems
754# 789#
755CONFIG_EXT2_FS=y 790CONFIG_EXT2_FS=y
@@ -767,6 +802,7 @@ CONFIG_FS_POSIX_ACL=y
767# CONFIG_MINIX_FS is not set 802# CONFIG_MINIX_FS is not set
768# CONFIG_ROMFS_FS is not set 803# CONFIG_ROMFS_FS is not set
769CONFIG_INOTIFY=y 804CONFIG_INOTIFY=y
805CONFIG_INOTIFY_USER=y
770# CONFIG_QUOTA is not set 806# CONFIG_QUOTA is not set
771CONFIG_DNOTIFY=y 807CONFIG_DNOTIFY=y
772# CONFIG_AUTOFS_FS is not set 808# CONFIG_AUTOFS_FS is not set
@@ -829,6 +865,7 @@ CONFIG_SUNRPC=y
829# CONFIG_RPCSEC_GSS_SPKM3 is not set 865# CONFIG_RPCSEC_GSS_SPKM3 is not set
830# CONFIG_SMB_FS is not set 866# CONFIG_SMB_FS is not set
831# CONFIG_CIFS is not set 867# CONFIG_CIFS is not set
868# CONFIG_CIFS_DEBUG2 is not set
832# CONFIG_NCP_FS is not set 869# CONFIG_NCP_FS is not set
833# CONFIG_CODA_FS is not set 870# CONFIG_CODA_FS is not set
834# CONFIG_AFS_FS is not set 871# CONFIG_AFS_FS is not set
@@ -855,6 +892,7 @@ CONFIG_MSDOS_PARTITION=y
855# 892#
856# CONFIG_PRINTK_TIME is not set 893# CONFIG_PRINTK_TIME is not set
857# CONFIG_MAGIC_SYSRQ is not set 894# CONFIG_MAGIC_SYSRQ is not set
895# CONFIG_UNUSED_SYMBOLS is not set
858# CONFIG_DEBUG_KERNEL is not set 896# CONFIG_DEBUG_KERNEL is not set
859CONFIG_LOG_BUF_SHIFT=14 897CONFIG_LOG_BUF_SHIFT=14
860# CONFIG_DEBUG_FS is not set 898# CONFIG_DEBUG_FS is not set
@@ -896,7 +934,6 @@ CONFIG_CRYPTO_ANUBIS=y
896CONFIG_CRYPTO_DEFLATE=y 934CONFIG_CRYPTO_DEFLATE=y
897CONFIG_CRYPTO_MICHAEL_MIC=y 935CONFIG_CRYPTO_MICHAEL_MIC=y
898CONFIG_CRYPTO_CRC32C=y 936CONFIG_CRYPTO_CRC32C=y
899# CONFIG_CRYPTO_TEST is not set
900 937
901# 938#
902# Hardware crypto devices 939# Hardware crypto devices
@@ -911,3 +948,4 @@ CONFIG_CRC32=y
911CONFIG_LIBCRC32C=y 948CONFIG_LIBCRC32C=y
912CONFIG_ZLIB_INFLATE=y 949CONFIG_ZLIB_INFLATE=y
913CONFIG_ZLIB_DEFLATE=y 950CONFIG_ZLIB_DEFLATE=y
951CONFIG_PLIST=y
diff --git a/arch/mips/configs/db1000_defconfig b/arch/mips/configs/db1000_defconfig
index 6a7aa401462f..c2f33d3af62c 100644
--- a/arch/mips/configs/db1000_defconfig
+++ b/arch/mips/configs/db1000_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.17-rc2 3# Linux kernel version: 2.6.18-rc1
4# Mon Apr 24 14:50:57 2006 4# Thu Jul 6 10:03:33 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -21,6 +21,7 @@ CONFIG_MIPS_DB1000=y
21# CONFIG_MIPS_DB1550 is not set 21# CONFIG_MIPS_DB1550 is not set
22# CONFIG_MIPS_DB1200 is not set 22# CONFIG_MIPS_DB1200 is not set
23# CONFIG_MIPS_MIRAGE is not set 23# CONFIG_MIPS_MIRAGE is not set
24# CONFIG_BASLER_EXCITE is not set
24# CONFIG_MIPS_COBALT is not set 25# CONFIG_MIPS_COBALT is not set
25# CONFIG_MACH_DECSTATION is not set 26# CONFIG_MACH_DECSTATION is not set
26# CONFIG_MIPS_EV64120 is not set 27# CONFIG_MIPS_EV64120 is not set
@@ -32,6 +33,7 @@ CONFIG_MIPS_DB1000=y
32# CONFIG_MIPS_ATLAS is not set 33# CONFIG_MIPS_ATLAS is not set
33# CONFIG_MIPS_MALTA is not set 34# CONFIG_MIPS_MALTA is not set
34# CONFIG_MIPS_SEAD is not set 35# CONFIG_MIPS_SEAD is not set
36# CONFIG_WR_PPMC is not set
35# CONFIG_MIPS_SIM is not set 37# CONFIG_MIPS_SIM is not set
36# CONFIG_MOMENCO_JAGUAR_ATX is not set 38# CONFIG_MOMENCO_JAGUAR_ATX is not set
37# CONFIG_MOMENCO_OCELOT is not set 39# CONFIG_MOMENCO_OCELOT is not set
@@ -45,6 +47,7 @@ CONFIG_MIPS_DB1000=y
45# CONFIG_MACH_VR41XX is not set 47# CONFIG_MACH_VR41XX is not set
46# CONFIG_PMC_YOSEMITE is not set 48# CONFIG_PMC_YOSEMITE is not set
47# CONFIG_QEMU is not set 49# CONFIG_QEMU is not set
50# CONFIG_MARKEINS is not set
48# CONFIG_SGI_IP22 is not set 51# CONFIG_SGI_IP22 is not set
49# CONFIG_SGI_IP27 is not set 52# CONFIG_SGI_IP27 is not set
50# CONFIG_SGI_IP32 is not set 53# CONFIG_SGI_IP32 is not set
@@ -65,6 +68,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y
65CONFIG_GENERIC_FIND_NEXT_BIT=y 68CONFIG_GENERIC_FIND_NEXT_BIT=y
66CONFIG_GENERIC_HWEIGHT=y 69CONFIG_GENERIC_HWEIGHT=y
67CONFIG_GENERIC_CALIBRATE_DELAY=y 70CONFIG_GENERIC_CALIBRATE_DELAY=y
71CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
68CONFIG_DMA_NONCOHERENT=y 72CONFIG_DMA_NONCOHERENT=y
69CONFIG_DMA_NEED_PCI_MAP_STATE=y 73CONFIG_DMA_NEED_PCI_MAP_STATE=y
70# CONFIG_CPU_BIG_ENDIAN is not set 74# CONFIG_CPU_BIG_ENDIAN is not set
@@ -112,7 +116,10 @@ CONFIG_PAGE_SIZE_4KB=y
112# CONFIG_PAGE_SIZE_16KB is not set 116# CONFIG_PAGE_SIZE_16KB is not set
113# CONFIG_PAGE_SIZE_64KB is not set 117# CONFIG_PAGE_SIZE_64KB is not set
114CONFIG_CPU_HAS_PREFETCH=y 118CONFIG_CPU_HAS_PREFETCH=y
115# CONFIG_MIPS_MT is not set 119CONFIG_MIPS_MT_DISABLED=y
120# CONFIG_MIPS_MT_SMTC is not set
121# CONFIG_MIPS_MT_SMP is not set
122# CONFIG_MIPS_VPE_LOADER is not set
116CONFIG_64BIT_PHYS_ADDR=y 123CONFIG_64BIT_PHYS_ADDR=y
117CONFIG_CPU_HAS_LLSC=y 124CONFIG_CPU_HAS_LLSC=y
118CONFIG_CPU_HAS_SYNC=y 125CONFIG_CPU_HAS_SYNC=y
@@ -128,6 +135,7 @@ CONFIG_FLATMEM=y
128CONFIG_FLAT_NODE_MEM_MAP=y 135CONFIG_FLAT_NODE_MEM_MAP=y
129# CONFIG_SPARSEMEM_STATIC is not set 136# CONFIG_SPARSEMEM_STATIC is not set
130CONFIG_SPLIT_PTLOCK_CPUS=4 137CONFIG_SPLIT_PTLOCK_CPUS=4
138# CONFIG_RESOURCES_64BIT is not set
131# CONFIG_HZ_48 is not set 139# CONFIG_HZ_48 is not set
132# CONFIG_HZ_100 is not set 140# CONFIG_HZ_100 is not set
133# CONFIG_HZ_128 is not set 141# CONFIG_HZ_128 is not set
@@ -140,6 +148,7 @@ CONFIG_HZ=1000
140CONFIG_PREEMPT_NONE=y 148CONFIG_PREEMPT_NONE=y
141# CONFIG_PREEMPT_VOLUNTARY is not set 149# CONFIG_PREEMPT_VOLUNTARY is not set
142# CONFIG_PREEMPT is not set 150# CONFIG_PREEMPT is not set
151CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
143 152
144# 153#
145# Code maturity level options 154# Code maturity level options
@@ -171,14 +180,15 @@ CONFIG_PRINTK=y
171CONFIG_BUG=y 180CONFIG_BUG=y
172CONFIG_ELF_CORE=y 181CONFIG_ELF_CORE=y
173CONFIG_BASE_FULL=y 182CONFIG_BASE_FULL=y
183CONFIG_RT_MUTEXES=y
174CONFIG_FUTEX=y 184CONFIG_FUTEX=y
175CONFIG_EPOLL=y 185CONFIG_EPOLL=y
176CONFIG_SHMEM=y 186CONFIG_SHMEM=y
177CONFIG_SLAB=y 187CONFIG_SLAB=y
188CONFIG_VM_EVENT_COUNTERS=y
178# CONFIG_TINY_SHMEM is not set 189# CONFIG_TINY_SHMEM is not set
179CONFIG_BASE_SMALL=0 190CONFIG_BASE_SMALL=0
180# CONFIG_SLOB is not set 191# CONFIG_SLOB is not set
181CONFIG_OBSOLETE_INTERMODULE=y
182 192
183# 193#
184# Loadable module support 194# Loadable module support
@@ -276,6 +286,8 @@ CONFIG_IP_PNP_BOOTP=y
276# CONFIG_INET_IPCOMP is not set 286# CONFIG_INET_IPCOMP is not set
277# CONFIG_INET_XFRM_TUNNEL is not set 287# CONFIG_INET_XFRM_TUNNEL is not set
278# CONFIG_INET_TUNNEL is not set 288# CONFIG_INET_TUNNEL is not set
289CONFIG_INET_XFRM_MODE_TRANSPORT=m
290CONFIG_INET_XFRM_MODE_TUNNEL=m
279CONFIG_INET_DIAG=y 291CONFIG_INET_DIAG=y
280CONFIG_INET_TCP_DIAG=y 292CONFIG_INET_TCP_DIAG=y
281# CONFIG_TCP_CONG_ADVANCED is not set 293# CONFIG_TCP_CONG_ADVANCED is not set
@@ -288,6 +300,7 @@ CONFIG_TCP_CONG_BIC=y
288# CONFIG_IPV6 is not set 300# CONFIG_IPV6 is not set
289# CONFIG_INET6_XFRM_TUNNEL is not set 301# CONFIG_INET6_XFRM_TUNNEL is not set
290# CONFIG_INET6_TUNNEL is not set 302# CONFIG_INET6_TUNNEL is not set
303CONFIG_NETWORK_SECMARK=y
291CONFIG_NETFILTER=y 304CONFIG_NETFILTER=y
292# CONFIG_NETFILTER_DEBUG is not set 305# CONFIG_NETFILTER_DEBUG is not set
293 306
@@ -302,6 +315,7 @@ CONFIG_NETFILTER_XTABLES=m
302CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m 315CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
303CONFIG_NETFILTER_XT_TARGET_MARK=m 316CONFIG_NETFILTER_XT_TARGET_MARK=m
304CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m 317CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
318CONFIG_NETFILTER_XT_TARGET_SECMARK=m
305CONFIG_NETFILTER_XT_MATCH_COMMENT=m 319CONFIG_NETFILTER_XT_MATCH_COMMENT=m
306CONFIG_NETFILTER_XT_MATCH_DCCP=m 320CONFIG_NETFILTER_XT_MATCH_DCCP=m
307CONFIG_NETFILTER_XT_MATCH_ESP=m 321CONFIG_NETFILTER_XT_MATCH_ESP=m
@@ -312,8 +326,10 @@ CONFIG_NETFILTER_XT_MATCH_MARK=m
312CONFIG_NETFILTER_XT_MATCH_POLICY=m 326CONFIG_NETFILTER_XT_MATCH_POLICY=m
313CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m 327CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
314CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m 328CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
329CONFIG_NETFILTER_XT_MATCH_QUOTA=m
315CONFIG_NETFILTER_XT_MATCH_REALM=m 330CONFIG_NETFILTER_XT_MATCH_REALM=m
316CONFIG_NETFILTER_XT_MATCH_SCTP=m 331CONFIG_NETFILTER_XT_MATCH_SCTP=m
332CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
317CONFIG_NETFILTER_XT_MATCH_STRING=m 333CONFIG_NETFILTER_XT_MATCH_STRING=m
318CONFIG_NETFILTER_XT_MATCH_TCPMSS=m 334CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
319 335
@@ -383,6 +399,7 @@ CONFIG_WIRELESS_EXT=y
383CONFIG_STANDALONE=y 399CONFIG_STANDALONE=y
384CONFIG_PREVENT_FIRMWARE_BUILD=y 400CONFIG_PREVENT_FIRMWARE_BUILD=y
385CONFIG_FW_LOADER=m 401CONFIG_FW_LOADER=m
402# CONFIG_SYS_HYPERVISOR is not set
386 403
387# 404#
388# Connector - unified userspace <-> kernelspace linker 405# Connector - unified userspace <-> kernelspace linker
@@ -532,7 +549,7 @@ CONFIG_NETDEVICES=y
532# 549#
533# PHY device support 550# PHY device support
534# 551#
535CONFIG_PHYLIB=m 552CONFIG_PHYLIB=y
536 553
537# 554#
538# MII PHY device drivers 555# MII PHY device drivers
@@ -542,6 +559,8 @@ CONFIG_DAVICOM_PHY=m
542CONFIG_QSEMI_PHY=m 559CONFIG_QSEMI_PHY=m
543CONFIG_LXT_PHY=m 560CONFIG_LXT_PHY=m
544CONFIG_CICADA_PHY=m 561CONFIG_CICADA_PHY=m
562CONFIG_VITESSE_PHY=m
563CONFIG_SMSC_PHY=m
545 564
546# 565#
547# Ethernet (10 or 100Mbit) 566# Ethernet (10 or 100Mbit)
@@ -653,6 +672,7 @@ CONFIG_SERIO_RAW=m
653CONFIG_VT=y 672CONFIG_VT=y
654CONFIG_VT_CONSOLE=y 673CONFIG_VT_CONSOLE=y
655CONFIG_HW_CONSOLE=y 674CONFIG_HW_CONSOLE=y
675CONFIG_VT_HW_CONSOLE_BINDING=y
656# CONFIG_SERIAL_NONSTANDARD is not set 676# CONFIG_SERIAL_NONSTANDARD is not set
657# CONFIG_AU1X00_GPIO is not set 677# CONFIG_AU1X00_GPIO is not set
658# CONFIG_TS_AU1X00_ADS7846 is not set 678# CONFIG_TS_AU1X00_ADS7846 is not set
@@ -686,6 +706,7 @@ CONFIG_LEGACY_PTY_COUNT=256
686# Watchdog Cards 706# Watchdog Cards
687# 707#
688# CONFIG_WATCHDOG is not set 708# CONFIG_WATCHDOG is not set
709# CONFIG_HW_RANDOM is not set
689# CONFIG_RTC is not set 710# CONFIG_RTC is not set
690# CONFIG_GEN_RTC is not set 711# CONFIG_GEN_RTC is not set
691# CONFIG_DTLK is not set 712# CONFIG_DTLK is not set
@@ -739,6 +760,7 @@ CONFIG_SYNCLINK_CS=m
739# Multimedia devices 760# Multimedia devices
740# 761#
741# CONFIG_VIDEO_DEV is not set 762# CONFIG_VIDEO_DEV is not set
763CONFIG_VIDEO_V4L2=y
742 764
743# 765#
744# Digital Video Broadcasting Devices 766# Digital Video Broadcasting Devices
@@ -748,6 +770,7 @@ CONFIG_SYNCLINK_CS=m
748# 770#
749# Graphics support 771# Graphics support
750# 772#
773# CONFIG_FIRMWARE_EDID is not set
751# CONFIG_FB is not set 774# CONFIG_FB is not set
752 775
753# 776#
@@ -810,6 +833,19 @@ CONFIG_USB_ARCH_HAS_OHCI=y
810# CONFIG_RTC_CLASS is not set 833# CONFIG_RTC_CLASS is not set
811 834
812# 835#
836# DMA Engine support
837#
838# CONFIG_DMA_ENGINE is not set
839
840#
841# DMA Clients
842#
843
844#
845# DMA Devices
846#
847
848#
813# File systems 849# File systems
814# 850#
815CONFIG_EXT2_FS=y 851CONFIG_EXT2_FS=y
@@ -837,6 +873,7 @@ CONFIG_FS_POSIX_ACL=y
837# CONFIG_MINIX_FS is not set 873# CONFIG_MINIX_FS is not set
838# CONFIG_ROMFS_FS is not set 874# CONFIG_ROMFS_FS is not set
839CONFIG_INOTIFY=y 875CONFIG_INOTIFY=y
876CONFIG_INOTIFY_USER=y
840# CONFIG_QUOTA is not set 877# CONFIG_QUOTA is not set
841CONFIG_DNOTIFY=y 878CONFIG_DNOTIFY=y
842CONFIG_AUTOFS_FS=m 879CONFIG_AUTOFS_FS=m
@@ -906,6 +943,7 @@ CONFIG_SUNRPC=y
906CONFIG_SMB_FS=m 943CONFIG_SMB_FS=m
907# CONFIG_SMB_NLS_DEFAULT is not set 944# CONFIG_SMB_NLS_DEFAULT is not set
908# CONFIG_CIFS is not set 945# CONFIG_CIFS is not set
946# CONFIG_CIFS_DEBUG2 is not set
909# CONFIG_NCP_FS is not set 947# CONFIG_NCP_FS is not set
910# CONFIG_CODA_FS is not set 948# CONFIG_CODA_FS is not set
911# CONFIG_AFS_FS is not set 949# CONFIG_AFS_FS is not set
@@ -971,6 +1009,7 @@ CONFIG_NLS_DEFAULT="iso8859-1"
971# 1009#
972# CONFIG_PRINTK_TIME is not set 1010# CONFIG_PRINTK_TIME is not set
973# CONFIG_MAGIC_SYSRQ is not set 1011# CONFIG_MAGIC_SYSRQ is not set
1012# CONFIG_UNUSED_SYMBOLS is not set
974# CONFIG_DEBUG_KERNEL is not set 1013# CONFIG_DEBUG_KERNEL is not set
975CONFIG_LOG_BUF_SHIFT=14 1014CONFIG_LOG_BUF_SHIFT=14
976# CONFIG_DEBUG_FS is not set 1015# CONFIG_DEBUG_FS is not set
@@ -1030,3 +1069,4 @@ CONFIG_TEXTSEARCH=y
1030CONFIG_TEXTSEARCH_KMP=m 1069CONFIG_TEXTSEARCH_KMP=m
1031CONFIG_TEXTSEARCH_BM=m 1070CONFIG_TEXTSEARCH_BM=m
1032CONFIG_TEXTSEARCH_FSM=m 1071CONFIG_TEXTSEARCH_FSM=m
1072CONFIG_PLIST=y
diff --git a/arch/mips/configs/db1100_defconfig b/arch/mips/configs/db1100_defconfig
index 5c2da563e528..8c44d16ae9a2 100644
--- a/arch/mips/configs/db1100_defconfig
+++ b/arch/mips/configs/db1100_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.17-rc2 3# Linux kernel version: 2.6.18-rc1
4# Mon Apr 24 14:50:58 2006 4# Thu Jul 6 10:03:34 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -21,6 +21,7 @@ CONFIG_MIPS_DB1100=y
21# CONFIG_MIPS_DB1550 is not set 21# CONFIG_MIPS_DB1550 is not set
22# CONFIG_MIPS_DB1200 is not set 22# CONFIG_MIPS_DB1200 is not set
23# CONFIG_MIPS_MIRAGE is not set 23# CONFIG_MIPS_MIRAGE is not set
24# CONFIG_BASLER_EXCITE is not set
24# CONFIG_MIPS_COBALT is not set 25# CONFIG_MIPS_COBALT is not set
25# CONFIG_MACH_DECSTATION is not set 26# CONFIG_MACH_DECSTATION is not set
26# CONFIG_MIPS_EV64120 is not set 27# CONFIG_MIPS_EV64120 is not set
@@ -32,6 +33,7 @@ CONFIG_MIPS_DB1100=y
32# CONFIG_MIPS_ATLAS is not set 33# CONFIG_MIPS_ATLAS is not set
33# CONFIG_MIPS_MALTA is not set 34# CONFIG_MIPS_MALTA is not set
34# CONFIG_MIPS_SEAD is not set 35# CONFIG_MIPS_SEAD is not set
36# CONFIG_WR_PPMC is not set
35# CONFIG_MIPS_SIM is not set 37# CONFIG_MIPS_SIM is not set
36# CONFIG_MOMENCO_JAGUAR_ATX is not set 38# CONFIG_MOMENCO_JAGUAR_ATX is not set
37# CONFIG_MOMENCO_OCELOT is not set 39# CONFIG_MOMENCO_OCELOT is not set
@@ -45,6 +47,7 @@ CONFIG_MIPS_DB1100=y
45# CONFIG_MACH_VR41XX is not set 47# CONFIG_MACH_VR41XX is not set
46# CONFIG_PMC_YOSEMITE is not set 48# CONFIG_PMC_YOSEMITE is not set
47# CONFIG_QEMU is not set 49# CONFIG_QEMU is not set
50# CONFIG_MARKEINS is not set
48# CONFIG_SGI_IP22 is not set 51# CONFIG_SGI_IP22 is not set
49# CONFIG_SGI_IP27 is not set 52# CONFIG_SGI_IP27 is not set
50# CONFIG_SGI_IP32 is not set 53# CONFIG_SGI_IP32 is not set
@@ -65,6 +68,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y
65CONFIG_GENERIC_FIND_NEXT_BIT=y 68CONFIG_GENERIC_FIND_NEXT_BIT=y
66CONFIG_GENERIC_HWEIGHT=y 69CONFIG_GENERIC_HWEIGHT=y
67CONFIG_GENERIC_CALIBRATE_DELAY=y 70CONFIG_GENERIC_CALIBRATE_DELAY=y
71CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
68CONFIG_DMA_NONCOHERENT=y 72CONFIG_DMA_NONCOHERENT=y
69CONFIG_DMA_NEED_PCI_MAP_STATE=y 73CONFIG_DMA_NEED_PCI_MAP_STATE=y
70# CONFIG_CPU_BIG_ENDIAN is not set 74# CONFIG_CPU_BIG_ENDIAN is not set
@@ -112,7 +116,10 @@ CONFIG_PAGE_SIZE_4KB=y
112# CONFIG_PAGE_SIZE_16KB is not set 116# CONFIG_PAGE_SIZE_16KB is not set
113# CONFIG_PAGE_SIZE_64KB is not set 117# CONFIG_PAGE_SIZE_64KB is not set
114CONFIG_CPU_HAS_PREFETCH=y 118CONFIG_CPU_HAS_PREFETCH=y
115# CONFIG_MIPS_MT is not set 119CONFIG_MIPS_MT_DISABLED=y
120# CONFIG_MIPS_MT_SMTC is not set
121# CONFIG_MIPS_MT_SMP is not set
122# CONFIG_MIPS_VPE_LOADER is not set
116CONFIG_64BIT_PHYS_ADDR=y 123CONFIG_64BIT_PHYS_ADDR=y
117CONFIG_CPU_HAS_LLSC=y 124CONFIG_CPU_HAS_LLSC=y
118CONFIG_CPU_HAS_SYNC=y 125CONFIG_CPU_HAS_SYNC=y
@@ -128,6 +135,7 @@ CONFIG_FLATMEM=y
128CONFIG_FLAT_NODE_MEM_MAP=y 135CONFIG_FLAT_NODE_MEM_MAP=y
129# CONFIG_SPARSEMEM_STATIC is not set 136# CONFIG_SPARSEMEM_STATIC is not set
130CONFIG_SPLIT_PTLOCK_CPUS=4 137CONFIG_SPLIT_PTLOCK_CPUS=4
138# CONFIG_RESOURCES_64BIT is not set
131# CONFIG_HZ_48 is not set 139# CONFIG_HZ_48 is not set
132# CONFIG_HZ_100 is not set 140# CONFIG_HZ_100 is not set
133# CONFIG_HZ_128 is not set 141# CONFIG_HZ_128 is not set
@@ -140,6 +148,7 @@ CONFIG_HZ=1000
140CONFIG_PREEMPT_NONE=y 148CONFIG_PREEMPT_NONE=y
141# CONFIG_PREEMPT_VOLUNTARY is not set 149# CONFIG_PREEMPT_VOLUNTARY is not set
142# CONFIG_PREEMPT is not set 150# CONFIG_PREEMPT is not set
151CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
143 152
144# 153#
145# Code maturity level options 154# Code maturity level options
@@ -171,14 +180,15 @@ CONFIG_PRINTK=y
171CONFIG_BUG=y 180CONFIG_BUG=y
172CONFIG_ELF_CORE=y 181CONFIG_ELF_CORE=y
173CONFIG_BASE_FULL=y 182CONFIG_BASE_FULL=y
183CONFIG_RT_MUTEXES=y
174CONFIG_FUTEX=y 184CONFIG_FUTEX=y
175CONFIG_EPOLL=y 185CONFIG_EPOLL=y
176CONFIG_SHMEM=y 186CONFIG_SHMEM=y
177CONFIG_SLAB=y 187CONFIG_SLAB=y
188CONFIG_VM_EVENT_COUNTERS=y
178# CONFIG_TINY_SHMEM is not set 189# CONFIG_TINY_SHMEM is not set
179CONFIG_BASE_SMALL=0 190CONFIG_BASE_SMALL=0
180# CONFIG_SLOB is not set 191# CONFIG_SLOB is not set
181CONFIG_OBSOLETE_INTERMODULE=y
182 192
183# 193#
184# Loadable module support 194# Loadable module support
@@ -265,6 +275,8 @@ CONFIG_IP_PNP_BOOTP=y
265# CONFIG_INET_IPCOMP is not set 275# CONFIG_INET_IPCOMP is not set
266# CONFIG_INET_XFRM_TUNNEL is not set 276# CONFIG_INET_XFRM_TUNNEL is not set
267# CONFIG_INET_TUNNEL is not set 277# CONFIG_INET_TUNNEL is not set
278CONFIG_INET_XFRM_MODE_TRANSPORT=m
279CONFIG_INET_XFRM_MODE_TUNNEL=m
268CONFIG_INET_DIAG=y 280CONFIG_INET_DIAG=y
269CONFIG_INET_TCP_DIAG=y 281CONFIG_INET_TCP_DIAG=y
270# CONFIG_TCP_CONG_ADVANCED is not set 282# CONFIG_TCP_CONG_ADVANCED is not set
@@ -277,6 +289,7 @@ CONFIG_TCP_CONG_BIC=y
277# CONFIG_IPV6 is not set 289# CONFIG_IPV6 is not set
278# CONFIG_INET6_XFRM_TUNNEL is not set 290# CONFIG_INET6_XFRM_TUNNEL is not set
279# CONFIG_INET6_TUNNEL is not set 291# CONFIG_INET6_TUNNEL is not set
292CONFIG_NETWORK_SECMARK=y
280CONFIG_NETFILTER=y 293CONFIG_NETFILTER=y
281# CONFIG_NETFILTER_DEBUG is not set 294# CONFIG_NETFILTER_DEBUG is not set
282 295
@@ -291,6 +304,7 @@ CONFIG_NETFILTER_XTABLES=m
291CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m 304CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
292CONFIG_NETFILTER_XT_TARGET_MARK=m 305CONFIG_NETFILTER_XT_TARGET_MARK=m
293CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m 306CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
307CONFIG_NETFILTER_XT_TARGET_SECMARK=m
294CONFIG_NETFILTER_XT_MATCH_COMMENT=m 308CONFIG_NETFILTER_XT_MATCH_COMMENT=m
295CONFIG_NETFILTER_XT_MATCH_DCCP=m 309CONFIG_NETFILTER_XT_MATCH_DCCP=m
296CONFIG_NETFILTER_XT_MATCH_ESP=m 310CONFIG_NETFILTER_XT_MATCH_ESP=m
@@ -301,8 +315,10 @@ CONFIG_NETFILTER_XT_MATCH_MARK=m
301CONFIG_NETFILTER_XT_MATCH_POLICY=m 315CONFIG_NETFILTER_XT_MATCH_POLICY=m
302CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m 316CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
303CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m 317CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
318CONFIG_NETFILTER_XT_MATCH_QUOTA=m
304CONFIG_NETFILTER_XT_MATCH_REALM=m 319CONFIG_NETFILTER_XT_MATCH_REALM=m
305CONFIG_NETFILTER_XT_MATCH_SCTP=m 320CONFIG_NETFILTER_XT_MATCH_SCTP=m
321CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
306CONFIG_NETFILTER_XT_MATCH_STRING=m 322CONFIG_NETFILTER_XT_MATCH_STRING=m
307CONFIG_NETFILTER_XT_MATCH_TCPMSS=m 323CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
308 324
@@ -372,6 +388,7 @@ CONFIG_WIRELESS_EXT=y
372CONFIG_STANDALONE=y 388CONFIG_STANDALONE=y
373CONFIG_PREVENT_FIRMWARE_BUILD=y 389CONFIG_PREVENT_FIRMWARE_BUILD=y
374# CONFIG_FW_LOADER is not set 390# CONFIG_FW_LOADER is not set
391# CONFIG_SYS_HYPERVISOR is not set
375 392
376# 393#
377# Connector - unified userspace <-> kernelspace linker 394# Connector - unified userspace <-> kernelspace linker
@@ -521,7 +538,7 @@ CONFIG_NETDEVICES=y
521# 538#
522# PHY device support 539# PHY device support
523# 540#
524CONFIG_PHYLIB=m 541CONFIG_PHYLIB=y
525 542
526# 543#
527# MII PHY device drivers 544# MII PHY device drivers
@@ -531,6 +548,8 @@ CONFIG_DAVICOM_PHY=m
531CONFIG_QSEMI_PHY=m 548CONFIG_QSEMI_PHY=m
532CONFIG_LXT_PHY=m 549CONFIG_LXT_PHY=m
533CONFIG_CICADA_PHY=m 550CONFIG_CICADA_PHY=m
551CONFIG_VITESSE_PHY=m
552CONFIG_SMSC_PHY=m
534 553
535# 554#
536# Ethernet (10 or 100Mbit) 555# Ethernet (10 or 100Mbit)
@@ -629,6 +648,7 @@ CONFIG_SERIO_RAW=m
629CONFIG_VT=y 648CONFIG_VT=y
630CONFIG_VT_CONSOLE=y 649CONFIG_VT_CONSOLE=y
631CONFIG_HW_CONSOLE=y 650CONFIG_HW_CONSOLE=y
651CONFIG_VT_HW_CONSOLE_BINDING=y
632# CONFIG_SERIAL_NONSTANDARD is not set 652# CONFIG_SERIAL_NONSTANDARD is not set
633# CONFIG_AU1X00_GPIO is not set 653# CONFIG_AU1X00_GPIO is not set
634# CONFIG_TS_AU1X00_ADS7846 is not set 654# CONFIG_TS_AU1X00_ADS7846 is not set
@@ -661,6 +681,7 @@ CONFIG_LEGACY_PTY_COUNT=256
661# Watchdog Cards 681# Watchdog Cards
662# 682#
663# CONFIG_WATCHDOG is not set 683# CONFIG_WATCHDOG is not set
684# CONFIG_HW_RANDOM is not set
664# CONFIG_RTC is not set 685# CONFIG_RTC is not set
665# CONFIG_GEN_RTC is not set 686# CONFIG_GEN_RTC is not set
666# CONFIG_DTLK is not set 687# CONFIG_DTLK is not set
@@ -707,6 +728,7 @@ CONFIG_LEGACY_PTY_COUNT=256
707# Multimedia devices 728# Multimedia devices
708# 729#
709# CONFIG_VIDEO_DEV is not set 730# CONFIG_VIDEO_DEV is not set
731CONFIG_VIDEO_V4L2=y
710 732
711# 733#
712# Digital Video Broadcasting Devices 734# Digital Video Broadcasting Devices
@@ -716,12 +738,13 @@ CONFIG_LEGACY_PTY_COUNT=256
716# 738#
717# Graphics support 739# Graphics support
718# 740#
741# CONFIG_FIRMWARE_EDID is not set
719CONFIG_FB=y 742CONFIG_FB=y
720CONFIG_FB_CFB_FILLRECT=y 743CONFIG_FB_CFB_FILLRECT=y
721CONFIG_FB_CFB_COPYAREA=y 744CONFIG_FB_CFB_COPYAREA=y
722CONFIG_FB_CFB_IMAGEBLIT=y 745CONFIG_FB_CFB_IMAGEBLIT=y
723# CONFIG_FB_MACMODES is not set 746# CONFIG_FB_MACMODES is not set
724CONFIG_FB_FIRMWARE_EDID=y 747# CONFIG_FB_BACKLIGHT is not set
725# CONFIG_FB_MODE_HELPERS is not set 748# CONFIG_FB_MODE_HELPERS is not set
726# CONFIG_FB_TILEBLITTING is not set 749# CONFIG_FB_TILEBLITTING is not set
727# CONFIG_FB_S1D13XXX is not set 750# CONFIG_FB_S1D13XXX is not set
@@ -810,6 +833,19 @@ CONFIG_USB_ARCH_HAS_OHCI=y
810# CONFIG_RTC_CLASS is not set 833# CONFIG_RTC_CLASS is not set
811 834
812# 835#
836# DMA Engine support
837#
838# CONFIG_DMA_ENGINE is not set
839
840#
841# DMA Clients
842#
843
844#
845# DMA Devices
846#
847
848#
813# File systems 849# File systems
814# 850#
815CONFIG_EXT2_FS=y 851CONFIG_EXT2_FS=y
@@ -837,6 +873,7 @@ CONFIG_FS_POSIX_ACL=y
837# CONFIG_MINIX_FS is not set 873# CONFIG_MINIX_FS is not set
838# CONFIG_ROMFS_FS is not set 874# CONFIG_ROMFS_FS is not set
839CONFIG_INOTIFY=y 875CONFIG_INOTIFY=y
876CONFIG_INOTIFY_USER=y
840# CONFIG_QUOTA is not set 877# CONFIG_QUOTA is not set
841CONFIG_DNOTIFY=y 878CONFIG_DNOTIFY=y
842CONFIG_AUTOFS_FS=m 879CONFIG_AUTOFS_FS=m
@@ -906,6 +943,7 @@ CONFIG_SUNRPC=y
906CONFIG_SMB_FS=m 943CONFIG_SMB_FS=m
907# CONFIG_SMB_NLS_DEFAULT is not set 944# CONFIG_SMB_NLS_DEFAULT is not set
908# CONFIG_CIFS is not set 945# CONFIG_CIFS is not set
946# CONFIG_CIFS_DEBUG2 is not set
909# CONFIG_NCP_FS is not set 947# CONFIG_NCP_FS is not set
910# CONFIG_CODA_FS is not set 948# CONFIG_CODA_FS is not set
911# CONFIG_AFS_FS is not set 949# CONFIG_AFS_FS is not set
@@ -971,6 +1009,7 @@ CONFIG_NLS_DEFAULT="iso8859-1"
971# 1009#
972# CONFIG_PRINTK_TIME is not set 1010# CONFIG_PRINTK_TIME is not set
973# CONFIG_MAGIC_SYSRQ is not set 1011# CONFIG_MAGIC_SYSRQ is not set
1012# CONFIG_UNUSED_SYMBOLS is not set
974# CONFIG_DEBUG_KERNEL is not set 1013# CONFIG_DEBUG_KERNEL is not set
975CONFIG_LOG_BUF_SHIFT=14 1014CONFIG_LOG_BUF_SHIFT=14
976# CONFIG_DEBUG_FS is not set 1015# CONFIG_DEBUG_FS is not set
@@ -1030,3 +1069,4 @@ CONFIG_TEXTSEARCH=y
1030CONFIG_TEXTSEARCH_KMP=m 1069CONFIG_TEXTSEARCH_KMP=m
1031CONFIG_TEXTSEARCH_BM=m 1070CONFIG_TEXTSEARCH_BM=m
1032CONFIG_TEXTSEARCH_FSM=m 1071CONFIG_TEXTSEARCH_FSM=m
1072CONFIG_PLIST=y
diff --git a/arch/mips/configs/db1200_defconfig b/arch/mips/configs/db1200_defconfig
index 85ef90ce0944..c13768e75ac5 100644
--- a/arch/mips/configs/db1200_defconfig
+++ b/arch/mips/configs/db1200_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.17-rc2 3# Linux kernel version: 2.6.18-rc1
4# Mon Apr 24 14:50:58 2006 4# Thu Jul 6 10:03:43 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -21,6 +21,7 @@ CONFIG_MIPS=y
21# CONFIG_MIPS_DB1550 is not set 21# CONFIG_MIPS_DB1550 is not set
22CONFIG_MIPS_DB1200=y 22CONFIG_MIPS_DB1200=y
23# CONFIG_MIPS_MIRAGE is not set 23# CONFIG_MIPS_MIRAGE is not set
24# CONFIG_BASLER_EXCITE is not set
24# CONFIG_MIPS_COBALT is not set 25# CONFIG_MIPS_COBALT is not set
25# CONFIG_MACH_DECSTATION is not set 26# CONFIG_MACH_DECSTATION is not set
26# CONFIG_MIPS_EV64120 is not set 27# CONFIG_MIPS_EV64120 is not set
@@ -32,6 +33,7 @@ CONFIG_MIPS_DB1200=y
32# CONFIG_MIPS_ATLAS is not set 33# CONFIG_MIPS_ATLAS is not set
33# CONFIG_MIPS_MALTA is not set 34# CONFIG_MIPS_MALTA is not set
34# CONFIG_MIPS_SEAD is not set 35# CONFIG_MIPS_SEAD is not set
36# CONFIG_WR_PPMC is not set
35# CONFIG_MIPS_SIM is not set 37# CONFIG_MIPS_SIM is not set
36# CONFIG_MOMENCO_JAGUAR_ATX is not set 38# CONFIG_MOMENCO_JAGUAR_ATX is not set
37# CONFIG_MOMENCO_OCELOT is not set 39# CONFIG_MOMENCO_OCELOT is not set
@@ -45,6 +47,7 @@ CONFIG_MIPS_DB1200=y
45# CONFIG_MACH_VR41XX is not set 47# CONFIG_MACH_VR41XX is not set
46# CONFIG_PMC_YOSEMITE is not set 48# CONFIG_PMC_YOSEMITE is not set
47# CONFIG_QEMU is not set 49# CONFIG_QEMU is not set
50# CONFIG_MARKEINS is not set
48# CONFIG_SGI_IP22 is not set 51# CONFIG_SGI_IP22 is not set
49# CONFIG_SGI_IP27 is not set 52# CONFIG_SGI_IP27 is not set
50# CONFIG_SGI_IP32 is not set 53# CONFIG_SGI_IP32 is not set
@@ -65,6 +68,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y
65CONFIG_GENERIC_FIND_NEXT_BIT=y 68CONFIG_GENERIC_FIND_NEXT_BIT=y
66CONFIG_GENERIC_HWEIGHT=y 69CONFIG_GENERIC_HWEIGHT=y
67CONFIG_GENERIC_CALIBRATE_DELAY=y 70CONFIG_GENERIC_CALIBRATE_DELAY=y
71CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
68CONFIG_DMA_COHERENT=y 72CONFIG_DMA_COHERENT=y
69CONFIG_MIPS_DISABLE_OBSOLETE_IDE=y 73CONFIG_MIPS_DISABLE_OBSOLETE_IDE=y
70# CONFIG_CPU_BIG_ENDIAN is not set 74# CONFIG_CPU_BIG_ENDIAN is not set
@@ -112,7 +116,10 @@ CONFIG_PAGE_SIZE_4KB=y
112# CONFIG_PAGE_SIZE_16KB is not set 116# CONFIG_PAGE_SIZE_16KB is not set
113# CONFIG_PAGE_SIZE_64KB is not set 117# CONFIG_PAGE_SIZE_64KB is not set
114CONFIG_CPU_HAS_PREFETCH=y 118CONFIG_CPU_HAS_PREFETCH=y
115# CONFIG_MIPS_MT is not set 119CONFIG_MIPS_MT_DISABLED=y
120# CONFIG_MIPS_MT_SMTC is not set
121# CONFIG_MIPS_MT_SMP is not set
122# CONFIG_MIPS_VPE_LOADER is not set
116CONFIG_64BIT_PHYS_ADDR=y 123CONFIG_64BIT_PHYS_ADDR=y
117CONFIG_CPU_HAS_LLSC=y 124CONFIG_CPU_HAS_LLSC=y
118CONFIG_CPU_HAS_SYNC=y 125CONFIG_CPU_HAS_SYNC=y
@@ -128,6 +135,7 @@ CONFIG_FLATMEM=y
128CONFIG_FLAT_NODE_MEM_MAP=y 135CONFIG_FLAT_NODE_MEM_MAP=y
129# CONFIG_SPARSEMEM_STATIC is not set 136# CONFIG_SPARSEMEM_STATIC is not set
130CONFIG_SPLIT_PTLOCK_CPUS=4 137CONFIG_SPLIT_PTLOCK_CPUS=4
138# CONFIG_RESOURCES_64BIT is not set
131# CONFIG_HZ_48 is not set 139# CONFIG_HZ_48 is not set
132# CONFIG_HZ_100 is not set 140# CONFIG_HZ_100 is not set
133# CONFIG_HZ_128 is not set 141# CONFIG_HZ_128 is not set
@@ -140,6 +148,7 @@ CONFIG_HZ=1000
140CONFIG_PREEMPT_NONE=y 148CONFIG_PREEMPT_NONE=y
141# CONFIG_PREEMPT_VOLUNTARY is not set 149# CONFIG_PREEMPT_VOLUNTARY is not set
142# CONFIG_PREEMPT is not set 150# CONFIG_PREEMPT is not set
151CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
143 152
144# 153#
145# Code maturity level options 154# Code maturity level options
@@ -172,14 +181,15 @@ CONFIG_PRINTK=y
172CONFIG_BUG=y 181CONFIG_BUG=y
173CONFIG_ELF_CORE=y 182CONFIG_ELF_CORE=y
174CONFIG_BASE_FULL=y 183CONFIG_BASE_FULL=y
184CONFIG_RT_MUTEXES=y
175CONFIG_FUTEX=y 185CONFIG_FUTEX=y
176CONFIG_EPOLL=y 186CONFIG_EPOLL=y
177CONFIG_SHMEM=y 187CONFIG_SHMEM=y
178CONFIG_SLAB=y 188CONFIG_SLAB=y
189CONFIG_VM_EVENT_COUNTERS=y
179# CONFIG_TINY_SHMEM is not set 190# CONFIG_TINY_SHMEM is not set
180CONFIG_BASE_SMALL=0 191CONFIG_BASE_SMALL=0
181# CONFIG_SLOB is not set 192# CONFIG_SLOB is not set
182CONFIG_OBSOLETE_INTERMODULE=y
183 193
184# 194#
185# Loadable module support 195# Loadable module support
@@ -272,6 +282,8 @@ CONFIG_IP_FIB_HASH=y
272# CONFIG_INET_IPCOMP is not set 282# CONFIG_INET_IPCOMP is not set
273# CONFIG_INET_XFRM_TUNNEL is not set 283# CONFIG_INET_XFRM_TUNNEL is not set
274# CONFIG_INET_TUNNEL is not set 284# CONFIG_INET_TUNNEL is not set
285CONFIG_INET_XFRM_MODE_TRANSPORT=m
286CONFIG_INET_XFRM_MODE_TUNNEL=m
275CONFIG_INET_DIAG=y 287CONFIG_INET_DIAG=y
276CONFIG_INET_TCP_DIAG=y 288CONFIG_INET_TCP_DIAG=y
277# CONFIG_TCP_CONG_ADVANCED is not set 289# CONFIG_TCP_CONG_ADVANCED is not set
@@ -284,6 +296,7 @@ CONFIG_TCP_CONG_BIC=y
284# CONFIG_IPV6 is not set 296# CONFIG_IPV6 is not set
285# CONFIG_INET6_XFRM_TUNNEL is not set 297# CONFIG_INET6_XFRM_TUNNEL is not set
286# CONFIG_INET6_TUNNEL is not set 298# CONFIG_INET6_TUNNEL is not set
299CONFIG_NETWORK_SECMARK=y
287CONFIG_NETFILTER=y 300CONFIG_NETFILTER=y
288# CONFIG_NETFILTER_DEBUG is not set 301# CONFIG_NETFILTER_DEBUG is not set
289 302
@@ -296,6 +309,7 @@ CONFIG_NETFILTER_XTABLES=m
296CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m 309CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
297CONFIG_NETFILTER_XT_TARGET_MARK=m 310CONFIG_NETFILTER_XT_TARGET_MARK=m
298CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m 311CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
312CONFIG_NETFILTER_XT_TARGET_SECMARK=m
299CONFIG_NETFILTER_XT_MATCH_COMMENT=m 313CONFIG_NETFILTER_XT_MATCH_COMMENT=m
300CONFIG_NETFILTER_XT_MATCH_DCCP=m 314CONFIG_NETFILTER_XT_MATCH_DCCP=m
301CONFIG_NETFILTER_XT_MATCH_ESP=m 315CONFIG_NETFILTER_XT_MATCH_ESP=m
@@ -306,8 +320,10 @@ CONFIG_NETFILTER_XT_MATCH_MARK=m
306CONFIG_NETFILTER_XT_MATCH_POLICY=m 320CONFIG_NETFILTER_XT_MATCH_POLICY=m
307CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m 321CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
308CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m 322CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
323CONFIG_NETFILTER_XT_MATCH_QUOTA=m
309CONFIG_NETFILTER_XT_MATCH_REALM=m 324CONFIG_NETFILTER_XT_MATCH_REALM=m
310CONFIG_NETFILTER_XT_MATCH_SCTP=m 325CONFIG_NETFILTER_XT_MATCH_SCTP=m
326CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
311CONFIG_NETFILTER_XT_MATCH_STRING=m 327CONFIG_NETFILTER_XT_MATCH_STRING=m
312CONFIG_NETFILTER_XT_MATCH_TCPMSS=m 328CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
313 329
@@ -371,6 +387,7 @@ CONFIG_NET_CLS_ROUTE=y
371CONFIG_STANDALONE=y 387CONFIG_STANDALONE=y
372CONFIG_PREVENT_FIRMWARE_BUILD=y 388CONFIG_PREVENT_FIRMWARE_BUILD=y
373CONFIG_FW_LOADER=y 389CONFIG_FW_LOADER=y
390# CONFIG_SYS_HYPERVISOR is not set
374 391
375# 392#
376# Connector - unified userspace <-> kernelspace linker 393# Connector - unified userspace <-> kernelspace linker
@@ -451,6 +468,7 @@ CONFIG_MTD_ALCHEMY=y
451# 468#
452CONFIG_MTD_NAND=y 469CONFIG_MTD_NAND=y
453# CONFIG_MTD_NAND_VERIFY_WRITE is not set 470# CONFIG_MTD_NAND_VERIFY_WRITE is not set
471# CONFIG_MTD_NAND_ECC_SMC is not set
454CONFIG_MTD_NAND_IDS=y 472CONFIG_MTD_NAND_IDS=y
455# CONFIG_MTD_NAND_AU1550 is not set 473# CONFIG_MTD_NAND_AU1550 is not set
456# CONFIG_MTD_NAND_DISKONCHIP is not set 474# CONFIG_MTD_NAND_DISKONCHIP is not set
@@ -691,6 +709,7 @@ CONFIG_SERIO_RAW=y
691CONFIG_VT=y 709CONFIG_VT=y
692CONFIG_VT_CONSOLE=y 710CONFIG_VT_CONSOLE=y
693CONFIG_HW_CONSOLE=y 711CONFIG_HW_CONSOLE=y
712CONFIG_VT_HW_CONSOLE_BINDING=y
694# CONFIG_SERIAL_NONSTANDARD is not set 713# CONFIG_SERIAL_NONSTANDARD is not set
695# CONFIG_AU1X00_GPIO is not set 714# CONFIG_AU1X00_GPIO is not set
696# CONFIG_TS_AU1X00_ADS7846 is not set 715# CONFIG_TS_AU1X00_ADS7846 is not set
@@ -724,6 +743,7 @@ CONFIG_LEGACY_PTY_COUNT=256
724# Watchdog Cards 743# Watchdog Cards
725# 744#
726# CONFIG_WATCHDOG is not set 745# CONFIG_WATCHDOG is not set
746# CONFIG_HW_RANDOM is not set
727# CONFIG_RTC is not set 747# CONFIG_RTC is not set
728# CONFIG_GEN_RTC is not set 748# CONFIG_GEN_RTC is not set
729# CONFIG_DTLK is not set 749# CONFIG_DTLK is not set
@@ -761,7 +781,6 @@ CONFIG_LEGACY_PTY_COUNT=256
761# 781#
762# Dallas's 1-wire bus 782# Dallas's 1-wire bus
763# 783#
764# CONFIG_W1 is not set
765 784
766# 785#
767# Hardware Monitoring support 786# Hardware Monitoring support
@@ -777,6 +796,7 @@ CONFIG_LEGACY_PTY_COUNT=256
777# Multimedia devices 796# Multimedia devices
778# 797#
779# CONFIG_VIDEO_DEV is not set 798# CONFIG_VIDEO_DEV is not set
799CONFIG_VIDEO_V4L2=y
780 800
781# 801#
782# Digital Video Broadcasting Devices 802# Digital Video Broadcasting Devices
@@ -786,12 +806,13 @@ CONFIG_LEGACY_PTY_COUNT=256
786# 806#
787# Graphics support 807# Graphics support
788# 808#
809# CONFIG_FIRMWARE_EDID is not set
789CONFIG_FB=y 810CONFIG_FB=y
790CONFIG_FB_CFB_FILLRECT=y 811CONFIG_FB_CFB_FILLRECT=y
791CONFIG_FB_CFB_COPYAREA=y 812CONFIG_FB_CFB_COPYAREA=y
792CONFIG_FB_CFB_IMAGEBLIT=y 813CONFIG_FB_CFB_IMAGEBLIT=y
793# CONFIG_FB_MACMODES is not set 814# CONFIG_FB_MACMODES is not set
794CONFIG_FB_FIRMWARE_EDID=y 815# CONFIG_FB_BACKLIGHT is not set
795# CONFIG_FB_MODE_HELPERS is not set 816# CONFIG_FB_MODE_HELPERS is not set
796# CONFIG_FB_TILEBLITTING is not set 817# CONFIG_FB_TILEBLITTING is not set
797# CONFIG_FB_S1D13XXX is not set 818# CONFIG_FB_S1D13XXX is not set
@@ -881,6 +902,19 @@ CONFIG_MMC_AU1X=y
881# CONFIG_RTC_CLASS is not set 902# CONFIG_RTC_CLASS is not set
882 903
883# 904#
905# DMA Engine support
906#
907# CONFIG_DMA_ENGINE is not set
908
909#
910# DMA Clients
911#
912
913#
914# DMA Devices
915#
916
917#
884# File systems 918# File systems
885# 919#
886CONFIG_EXT2_FS=y 920CONFIG_EXT2_FS=y
@@ -907,6 +941,7 @@ CONFIG_FS_POSIX_ACL=y
907# CONFIG_MINIX_FS is not set 941# CONFIG_MINIX_FS is not set
908# CONFIG_ROMFS_FS is not set 942# CONFIG_ROMFS_FS is not set
909CONFIG_INOTIFY=y 943CONFIG_INOTIFY=y
944CONFIG_INOTIFY_USER=y
910# CONFIG_QUOTA is not set 945# CONFIG_QUOTA is not set
911CONFIG_DNOTIFY=y 946CONFIG_DNOTIFY=y
912# CONFIG_AUTOFS_FS is not set 947# CONFIG_AUTOFS_FS is not set
@@ -959,6 +994,7 @@ CONFIG_JFFS2_FS=y
959CONFIG_JFFS2_FS_DEBUG=0 994CONFIG_JFFS2_FS_DEBUG=0
960CONFIG_JFFS2_FS_WRITEBUFFER=y 995CONFIG_JFFS2_FS_WRITEBUFFER=y
961# CONFIG_JFFS2_SUMMARY is not set 996# CONFIG_JFFS2_SUMMARY is not set
997# CONFIG_JFFS2_FS_XATTR is not set
962# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set 998# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
963CONFIG_JFFS2_ZLIB=y 999CONFIG_JFFS2_ZLIB=y
964CONFIG_JFFS2_RTIME=y 1000CONFIG_JFFS2_RTIME=y
@@ -988,6 +1024,7 @@ CONFIG_SUNRPC=y
988CONFIG_SMB_FS=y 1024CONFIG_SMB_FS=y
989# CONFIG_SMB_NLS_DEFAULT is not set 1025# CONFIG_SMB_NLS_DEFAULT is not set
990# CONFIG_CIFS is not set 1026# CONFIG_CIFS is not set
1027# CONFIG_CIFS_DEBUG2 is not set
991# CONFIG_NCP_FS is not set 1028# CONFIG_NCP_FS is not set
992# CONFIG_CODA_FS is not set 1029# CONFIG_CODA_FS is not set
993# CONFIG_AFS_FS is not set 1030# CONFIG_AFS_FS is not set
@@ -1053,6 +1090,7 @@ CONFIG_NLS_UTF8=m
1053# 1090#
1054# CONFIG_PRINTK_TIME is not set 1091# CONFIG_PRINTK_TIME is not set
1055# CONFIG_MAGIC_SYSRQ is not set 1092# CONFIG_MAGIC_SYSRQ is not set
1093# CONFIG_UNUSED_SYMBOLS is not set
1056# CONFIG_DEBUG_KERNEL is not set 1094# CONFIG_DEBUG_KERNEL is not set
1057CONFIG_LOG_BUF_SHIFT=14 1095CONFIG_LOG_BUF_SHIFT=14
1058# CONFIG_DEBUG_FS is not set 1096# CONFIG_DEBUG_FS is not set
@@ -1088,3 +1126,4 @@ CONFIG_TEXTSEARCH=y
1088CONFIG_TEXTSEARCH_KMP=m 1126CONFIG_TEXTSEARCH_KMP=m
1089CONFIG_TEXTSEARCH_BM=m 1127CONFIG_TEXTSEARCH_BM=m
1090CONFIG_TEXTSEARCH_FSM=m 1128CONFIG_TEXTSEARCH_FSM=m
1129CONFIG_PLIST=y
diff --git a/arch/mips/configs/db1500_defconfig b/arch/mips/configs/db1500_defconfig
index 6f757d8a5a6c..8aea73fae7fb 100644
--- a/arch/mips/configs/db1500_defconfig
+++ b/arch/mips/configs/db1500_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.17-rc2 3# Linux kernel version: 2.6.18-rc1
4# Mon Apr 24 14:50:59 2006 4# Thu Jul 6 10:03:56 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -21,6 +21,7 @@ CONFIG_MIPS_DB1500=y
21# CONFIG_MIPS_DB1550 is not set 21# CONFIG_MIPS_DB1550 is not set
22# CONFIG_MIPS_DB1200 is not set 22# CONFIG_MIPS_DB1200 is not set
23# CONFIG_MIPS_MIRAGE is not set 23# CONFIG_MIPS_MIRAGE is not set
24# CONFIG_BASLER_EXCITE is not set
24# CONFIG_MIPS_COBALT is not set 25# CONFIG_MIPS_COBALT is not set
25# CONFIG_MACH_DECSTATION is not set 26# CONFIG_MACH_DECSTATION is not set
26# CONFIG_MIPS_EV64120 is not set 27# CONFIG_MIPS_EV64120 is not set
@@ -32,6 +33,7 @@ CONFIG_MIPS_DB1500=y
32# CONFIG_MIPS_ATLAS is not set 33# CONFIG_MIPS_ATLAS is not set
33# CONFIG_MIPS_MALTA is not set 34# CONFIG_MIPS_MALTA is not set
34# CONFIG_MIPS_SEAD is not set 35# CONFIG_MIPS_SEAD is not set
36# CONFIG_WR_PPMC is not set
35# CONFIG_MIPS_SIM is not set 37# CONFIG_MIPS_SIM is not set
36# CONFIG_MOMENCO_JAGUAR_ATX is not set 38# CONFIG_MOMENCO_JAGUAR_ATX is not set
37# CONFIG_MOMENCO_OCELOT is not set 39# CONFIG_MOMENCO_OCELOT is not set
@@ -45,6 +47,7 @@ CONFIG_MIPS_DB1500=y
45# CONFIG_MACH_VR41XX is not set 47# CONFIG_MACH_VR41XX is not set
46# CONFIG_PMC_YOSEMITE is not set 48# CONFIG_PMC_YOSEMITE is not set
47# CONFIG_QEMU is not set 49# CONFIG_QEMU is not set
50# CONFIG_MARKEINS is not set
48# CONFIG_SGI_IP22 is not set 51# CONFIG_SGI_IP22 is not set
49# CONFIG_SGI_IP27 is not set 52# CONFIG_SGI_IP27 is not set
50# CONFIG_SGI_IP32 is not set 53# CONFIG_SGI_IP32 is not set
@@ -65,6 +68,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y
65CONFIG_GENERIC_FIND_NEXT_BIT=y 68CONFIG_GENERIC_FIND_NEXT_BIT=y
66CONFIG_GENERIC_HWEIGHT=y 69CONFIG_GENERIC_HWEIGHT=y
67CONFIG_GENERIC_CALIBRATE_DELAY=y 70CONFIG_GENERIC_CALIBRATE_DELAY=y
71CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
68CONFIG_DMA_NONCOHERENT=y 72CONFIG_DMA_NONCOHERENT=y
69CONFIG_DMA_NEED_PCI_MAP_STATE=y 73CONFIG_DMA_NEED_PCI_MAP_STATE=y
70CONFIG_MIPS_DISABLE_OBSOLETE_IDE=y 74CONFIG_MIPS_DISABLE_OBSOLETE_IDE=y
@@ -114,7 +118,10 @@ CONFIG_PAGE_SIZE_4KB=y
114# CONFIG_PAGE_SIZE_16KB is not set 118# CONFIG_PAGE_SIZE_16KB is not set
115# CONFIG_PAGE_SIZE_64KB is not set 119# CONFIG_PAGE_SIZE_64KB is not set
116CONFIG_CPU_HAS_PREFETCH=y 120CONFIG_CPU_HAS_PREFETCH=y
117# CONFIG_MIPS_MT is not set 121CONFIG_MIPS_MT_DISABLED=y
122# CONFIG_MIPS_MT_SMTC is not set
123# CONFIG_MIPS_MT_SMP is not set
124# CONFIG_MIPS_VPE_LOADER is not set
118CONFIG_64BIT_PHYS_ADDR=y 125CONFIG_64BIT_PHYS_ADDR=y
119CONFIG_CPU_HAS_LLSC=y 126CONFIG_CPU_HAS_LLSC=y
120CONFIG_CPU_HAS_SYNC=y 127CONFIG_CPU_HAS_SYNC=y
@@ -130,6 +137,7 @@ CONFIG_FLATMEM=y
130CONFIG_FLAT_NODE_MEM_MAP=y 137CONFIG_FLAT_NODE_MEM_MAP=y
131# CONFIG_SPARSEMEM_STATIC is not set 138# CONFIG_SPARSEMEM_STATIC is not set
132CONFIG_SPLIT_PTLOCK_CPUS=4 139CONFIG_SPLIT_PTLOCK_CPUS=4
140# CONFIG_RESOURCES_64BIT is not set
133# CONFIG_HZ_48 is not set 141# CONFIG_HZ_48 is not set
134# CONFIG_HZ_100 is not set 142# CONFIG_HZ_100 is not set
135# CONFIG_HZ_128 is not set 143# CONFIG_HZ_128 is not set
@@ -142,6 +150,7 @@ CONFIG_HZ=1000
142CONFIG_PREEMPT_NONE=y 150CONFIG_PREEMPT_NONE=y
143# CONFIG_PREEMPT_VOLUNTARY is not set 151# CONFIG_PREEMPT_VOLUNTARY is not set
144# CONFIG_PREEMPT is not set 152# CONFIG_PREEMPT is not set
153CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
145 154
146# 155#
147# Code maturity level options 156# Code maturity level options
@@ -173,14 +182,15 @@ CONFIG_PRINTK=y
173CONFIG_BUG=y 182CONFIG_BUG=y
174CONFIG_ELF_CORE=y 183CONFIG_ELF_CORE=y
175CONFIG_BASE_FULL=y 184CONFIG_BASE_FULL=y
185CONFIG_RT_MUTEXES=y
176CONFIG_FUTEX=y 186CONFIG_FUTEX=y
177CONFIG_EPOLL=y 187CONFIG_EPOLL=y
178CONFIG_SHMEM=y 188CONFIG_SHMEM=y
179CONFIG_SLAB=y 189CONFIG_SLAB=y
190CONFIG_VM_EVENT_COUNTERS=y
180# CONFIG_TINY_SHMEM is not set 191# CONFIG_TINY_SHMEM is not set
181CONFIG_BASE_SMALL=0 192CONFIG_BASE_SMALL=0
182# CONFIG_SLOB is not set 193# CONFIG_SLOB is not set
183CONFIG_OBSOLETE_INTERMODULE=y
184 194
185# 195#
186# Loadable module support 196# Loadable module support
@@ -283,6 +293,8 @@ CONFIG_IP_PNP_BOOTP=y
283# CONFIG_INET_IPCOMP is not set 293# CONFIG_INET_IPCOMP is not set
284# CONFIG_INET_XFRM_TUNNEL is not set 294# CONFIG_INET_XFRM_TUNNEL is not set
285# CONFIG_INET_TUNNEL is not set 295# CONFIG_INET_TUNNEL is not set
296CONFIG_INET_XFRM_MODE_TRANSPORT=m
297CONFIG_INET_XFRM_MODE_TUNNEL=m
286CONFIG_INET_DIAG=y 298CONFIG_INET_DIAG=y
287CONFIG_INET_TCP_DIAG=y 299CONFIG_INET_TCP_DIAG=y
288# CONFIG_TCP_CONG_ADVANCED is not set 300# CONFIG_TCP_CONG_ADVANCED is not set
@@ -295,6 +307,7 @@ CONFIG_TCP_CONG_BIC=y
295# CONFIG_IPV6 is not set 307# CONFIG_IPV6 is not set
296# CONFIG_INET6_XFRM_TUNNEL is not set 308# CONFIG_INET6_XFRM_TUNNEL is not set
297# CONFIG_INET6_TUNNEL is not set 309# CONFIG_INET6_TUNNEL is not set
310CONFIG_NETWORK_SECMARK=y
298CONFIG_NETFILTER=y 311CONFIG_NETFILTER=y
299# CONFIG_NETFILTER_DEBUG is not set 312# CONFIG_NETFILTER_DEBUG is not set
300 313
@@ -309,6 +322,7 @@ CONFIG_NETFILTER_XTABLES=m
309CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m 322CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
310CONFIG_NETFILTER_XT_TARGET_MARK=m 323CONFIG_NETFILTER_XT_TARGET_MARK=m
311CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m 324CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
325CONFIG_NETFILTER_XT_TARGET_SECMARK=m
312CONFIG_NETFILTER_XT_MATCH_COMMENT=m 326CONFIG_NETFILTER_XT_MATCH_COMMENT=m
313CONFIG_NETFILTER_XT_MATCH_DCCP=m 327CONFIG_NETFILTER_XT_MATCH_DCCP=m
314CONFIG_NETFILTER_XT_MATCH_ESP=m 328CONFIG_NETFILTER_XT_MATCH_ESP=m
@@ -319,8 +333,10 @@ CONFIG_NETFILTER_XT_MATCH_MARK=m
319CONFIG_NETFILTER_XT_MATCH_POLICY=m 333CONFIG_NETFILTER_XT_MATCH_POLICY=m
320CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m 334CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
321CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m 335CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
336CONFIG_NETFILTER_XT_MATCH_QUOTA=m
322CONFIG_NETFILTER_XT_MATCH_REALM=m 337CONFIG_NETFILTER_XT_MATCH_REALM=m
323CONFIG_NETFILTER_XT_MATCH_SCTP=m 338CONFIG_NETFILTER_XT_MATCH_SCTP=m
339CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
324CONFIG_NETFILTER_XT_MATCH_STRING=m 340CONFIG_NETFILTER_XT_MATCH_STRING=m
325CONFIG_NETFILTER_XT_MATCH_TCPMSS=m 341CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
326 342
@@ -390,6 +406,7 @@ CONFIG_WIRELESS_EXT=y
390CONFIG_STANDALONE=y 406CONFIG_STANDALONE=y
391CONFIG_PREVENT_FIRMWARE_BUILD=y 407CONFIG_PREVENT_FIRMWARE_BUILD=y
392CONFIG_FW_LOADER=m 408CONFIG_FW_LOADER=m
409# CONFIG_SYS_HYPERVISOR is not set
393 410
394# 411#
395# Connector - unified userspace <-> kernelspace linker 412# Connector - unified userspace <-> kernelspace linker
@@ -576,7 +593,7 @@ CONFIG_NETDEVICES=y
576# 593#
577# PHY device support 594# PHY device support
578# 595#
579CONFIG_PHYLIB=m 596CONFIG_PHYLIB=y
580 597
581# 598#
582# MII PHY device drivers 599# MII PHY device drivers
@@ -586,6 +603,8 @@ CONFIG_DAVICOM_PHY=m
586CONFIG_QSEMI_PHY=m 603CONFIG_QSEMI_PHY=m
587CONFIG_LXT_PHY=m 604CONFIG_LXT_PHY=m
588CONFIG_CICADA_PHY=m 605CONFIG_CICADA_PHY=m
606CONFIG_VITESSE_PHY=m
607CONFIG_SMSC_PHY=m
589 608
590# 609#
591# Ethernet (10 or 100Mbit) 610# Ethernet (10 or 100Mbit)
@@ -630,6 +649,7 @@ CONFIG_MIPS_AU1X00_ENET=y
630# CONFIG_CHELSIO_T1 is not set 649# CONFIG_CHELSIO_T1 is not set
631# CONFIG_IXGB is not set 650# CONFIG_IXGB is not set
632# CONFIG_S2IO is not set 651# CONFIG_S2IO is not set
652# CONFIG_MYRI10GE is not set
633 653
634# 654#
635# Token Ring devices 655# Token Ring devices
@@ -753,6 +773,7 @@ CONFIG_LEGACY_PTY_COUNT=256
753# Watchdog Cards 773# Watchdog Cards
754# 774#
755# CONFIG_WATCHDOG is not set 775# CONFIG_WATCHDOG is not set
776# CONFIG_HW_RANDOM is not set
756# CONFIG_RTC is not set 777# CONFIG_RTC is not set
757# CONFIG_GEN_RTC is not set 778# CONFIG_GEN_RTC is not set
758# CONFIG_DTLK is not set 779# CONFIG_DTLK is not set
@@ -808,6 +829,7 @@ CONFIG_SYNCLINK_CS=m
808# Multimedia devices 829# Multimedia devices
809# 830#
810# CONFIG_VIDEO_DEV is not set 831# CONFIG_VIDEO_DEV is not set
832CONFIG_VIDEO_V4L2=y
811 833
812# 834#
813# Digital Video Broadcasting Devices 835# Digital Video Broadcasting Devices
@@ -818,6 +840,7 @@ CONFIG_SYNCLINK_CS=m
818# 840#
819# Graphics support 841# Graphics support
820# 842#
843# CONFIG_FIRMWARE_EDID is not set
821# CONFIG_FB is not set 844# CONFIG_FB is not set
822 845
823# 846#
@@ -873,6 +896,18 @@ CONFIG_SND_MTPAV=m
873# CONFIG_SND_CMIPCI is not set 896# CONFIG_SND_CMIPCI is not set
874# CONFIG_SND_CS4281 is not set 897# CONFIG_SND_CS4281 is not set
875# CONFIG_SND_CS46XX is not set 898# CONFIG_SND_CS46XX is not set
899# CONFIG_SND_DARLA20 is not set
900# CONFIG_SND_GINA20 is not set
901# CONFIG_SND_LAYLA20 is not set
902# CONFIG_SND_DARLA24 is not set
903# CONFIG_SND_GINA24 is not set
904# CONFIG_SND_LAYLA24 is not set
905# CONFIG_SND_MONA is not set
906# CONFIG_SND_MIA is not set
907# CONFIG_SND_ECHO3G is not set
908# CONFIG_SND_INDIGO is not set
909# CONFIG_SND_INDIGOIO is not set
910# CONFIG_SND_INDIGODJ is not set
876# CONFIG_SND_EMU10K1 is not set 911# CONFIG_SND_EMU10K1 is not set
877# CONFIG_SND_EMU10K1X is not set 912# CONFIG_SND_EMU10K1X is not set
878# CONFIG_SND_ENS1370 is not set 913# CONFIG_SND_ENS1370 is not set
@@ -916,6 +951,8 @@ CONFIG_SND_AU1X00=m
916# 951#
917# PCMCIA devices 952# PCMCIA devices
918# 953#
954# CONFIG_SND_VXPOCKET is not set
955# CONFIG_SND_PDAUDIOCF is not set
919 956
920# 957#
921# Open Sound System 958# Open Sound System
@@ -1030,10 +1067,12 @@ CONFIG_USB_MON=y
1030# CONFIG_USB_LEGOTOWER is not set 1067# CONFIG_USB_LEGOTOWER is not set
1031# CONFIG_USB_LCD is not set 1068# CONFIG_USB_LCD is not set
1032# CONFIG_USB_LED is not set 1069# CONFIG_USB_LED is not set
1070# CONFIG_USB_CY7C63 is not set
1033# CONFIG_USB_CYTHERM is not set 1071# CONFIG_USB_CYTHERM is not set
1034# CONFIG_USB_PHIDGETKIT is not set 1072# CONFIG_USB_PHIDGETKIT is not set
1035# CONFIG_USB_PHIDGETSERVO is not set 1073# CONFIG_USB_PHIDGETSERVO is not set
1036# CONFIG_USB_IDMOUSE is not set 1074# CONFIG_USB_IDMOUSE is not set
1075# CONFIG_USB_APPLEDISPLAY is not set
1037CONFIG_USB_LD=m 1076CONFIG_USB_LD=m
1038 1077
1039# 1078#
@@ -1078,6 +1117,19 @@ CONFIG_USB_LD=m
1078# CONFIG_RTC_CLASS is not set 1117# CONFIG_RTC_CLASS is not set
1079 1118
1080# 1119#
1120# DMA Engine support
1121#
1122# CONFIG_DMA_ENGINE is not set
1123
1124#
1125# DMA Clients
1126#
1127
1128#
1129# DMA Devices
1130#
1131
1132#
1081# File systems 1133# File systems
1082# 1134#
1083CONFIG_EXT2_FS=y 1135CONFIG_EXT2_FS=y
@@ -1105,6 +1157,7 @@ CONFIG_FS_POSIX_ACL=y
1105# CONFIG_MINIX_FS is not set 1157# CONFIG_MINIX_FS is not set
1106# CONFIG_ROMFS_FS is not set 1158# CONFIG_ROMFS_FS is not set
1107CONFIG_INOTIFY=y 1159CONFIG_INOTIFY=y
1160CONFIG_INOTIFY_USER=y
1108# CONFIG_QUOTA is not set 1161# CONFIG_QUOTA is not set
1109CONFIG_DNOTIFY=y 1162CONFIG_DNOTIFY=y
1110CONFIG_AUTOFS_FS=m 1163CONFIG_AUTOFS_FS=m
@@ -1174,6 +1227,7 @@ CONFIG_SUNRPC=y
1174CONFIG_SMB_FS=m 1227CONFIG_SMB_FS=m
1175# CONFIG_SMB_NLS_DEFAULT is not set 1228# CONFIG_SMB_NLS_DEFAULT is not set
1176# CONFIG_CIFS is not set 1229# CONFIG_CIFS is not set
1230# CONFIG_CIFS_DEBUG2 is not set
1177# CONFIG_NCP_FS is not set 1231# CONFIG_NCP_FS is not set
1178# CONFIG_CODA_FS is not set 1232# CONFIG_CODA_FS is not set
1179# CONFIG_AFS_FS is not set 1233# CONFIG_AFS_FS is not set
@@ -1239,6 +1293,7 @@ CONFIG_NLS_DEFAULT="iso8859-1"
1239# 1293#
1240# CONFIG_PRINTK_TIME is not set 1294# CONFIG_PRINTK_TIME is not set
1241# CONFIG_MAGIC_SYSRQ is not set 1295# CONFIG_MAGIC_SYSRQ is not set
1296# CONFIG_UNUSED_SYMBOLS is not set
1242# CONFIG_DEBUG_KERNEL is not set 1297# CONFIG_DEBUG_KERNEL is not set
1243CONFIG_LOG_BUF_SHIFT=14 1298CONFIG_LOG_BUF_SHIFT=14
1244# CONFIG_DEBUG_FS is not set 1299# CONFIG_DEBUG_FS is not set
@@ -1298,3 +1353,4 @@ CONFIG_TEXTSEARCH=y
1298CONFIG_TEXTSEARCH_KMP=m 1353CONFIG_TEXTSEARCH_KMP=m
1299CONFIG_TEXTSEARCH_BM=m 1354CONFIG_TEXTSEARCH_BM=m
1300CONFIG_TEXTSEARCH_FSM=m 1355CONFIG_TEXTSEARCH_FSM=m
1356CONFIG_PLIST=y
diff --git a/arch/mips/configs/db1550_defconfig b/arch/mips/configs/db1550_defconfig
index da4c7e811bef..90ccb7359630 100644
--- a/arch/mips/configs/db1550_defconfig
+++ b/arch/mips/configs/db1550_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.17-rc2 3# Linux kernel version: 2.6.18-rc1
4# Mon Apr 24 14:51:00 2006 4# Thu Jul 6 10:03:59 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -21,6 +21,7 @@ CONFIG_MIPS=y
21CONFIG_MIPS_DB1550=y 21CONFIG_MIPS_DB1550=y
22# CONFIG_MIPS_DB1200 is not set 22# CONFIG_MIPS_DB1200 is not set
23# CONFIG_MIPS_MIRAGE is not set 23# CONFIG_MIPS_MIRAGE is not set
24# CONFIG_BASLER_EXCITE is not set
24# CONFIG_MIPS_COBALT is not set 25# CONFIG_MIPS_COBALT is not set
25# CONFIG_MACH_DECSTATION is not set 26# CONFIG_MACH_DECSTATION is not set
26# CONFIG_MIPS_EV64120 is not set 27# CONFIG_MIPS_EV64120 is not set
@@ -32,6 +33,7 @@ CONFIG_MIPS_DB1550=y
32# CONFIG_MIPS_ATLAS is not set 33# CONFIG_MIPS_ATLAS is not set
33# CONFIG_MIPS_MALTA is not set 34# CONFIG_MIPS_MALTA is not set
34# CONFIG_MIPS_SEAD is not set 35# CONFIG_MIPS_SEAD is not set
36# CONFIG_WR_PPMC is not set
35# CONFIG_MIPS_SIM is not set 37# CONFIG_MIPS_SIM is not set
36# CONFIG_MOMENCO_JAGUAR_ATX is not set 38# CONFIG_MOMENCO_JAGUAR_ATX is not set
37# CONFIG_MOMENCO_OCELOT is not set 39# CONFIG_MOMENCO_OCELOT is not set
@@ -45,6 +47,7 @@ CONFIG_MIPS_DB1550=y
45# CONFIG_MACH_VR41XX is not set 47# CONFIG_MACH_VR41XX is not set
46# CONFIG_PMC_YOSEMITE is not set 48# CONFIG_PMC_YOSEMITE is not set
47# CONFIG_QEMU is not set 49# CONFIG_QEMU is not set
50# CONFIG_MARKEINS is not set
48# CONFIG_SGI_IP22 is not set 51# CONFIG_SGI_IP22 is not set
49# CONFIG_SGI_IP27 is not set 52# CONFIG_SGI_IP27 is not set
50# CONFIG_SGI_IP32 is not set 53# CONFIG_SGI_IP32 is not set
@@ -65,6 +68,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y
65CONFIG_GENERIC_FIND_NEXT_BIT=y 68CONFIG_GENERIC_FIND_NEXT_BIT=y
66CONFIG_GENERIC_HWEIGHT=y 69CONFIG_GENERIC_HWEIGHT=y
67CONFIG_GENERIC_CALIBRATE_DELAY=y 70CONFIG_GENERIC_CALIBRATE_DELAY=y
71CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
68CONFIG_DMA_NONCOHERENT=y 72CONFIG_DMA_NONCOHERENT=y
69CONFIG_DMA_NEED_PCI_MAP_STATE=y 73CONFIG_DMA_NEED_PCI_MAP_STATE=y
70CONFIG_MIPS_DISABLE_OBSOLETE_IDE=y 74CONFIG_MIPS_DISABLE_OBSOLETE_IDE=y
@@ -113,7 +117,10 @@ CONFIG_PAGE_SIZE_4KB=y
113# CONFIG_PAGE_SIZE_16KB is not set 117# CONFIG_PAGE_SIZE_16KB is not set
114# CONFIG_PAGE_SIZE_64KB is not set 118# CONFIG_PAGE_SIZE_64KB is not set
115CONFIG_CPU_HAS_PREFETCH=y 119CONFIG_CPU_HAS_PREFETCH=y
116# CONFIG_MIPS_MT is not set 120CONFIG_MIPS_MT_DISABLED=y
121# CONFIG_MIPS_MT_SMTC is not set
122# CONFIG_MIPS_MT_SMP is not set
123# CONFIG_MIPS_VPE_LOADER is not set
117CONFIG_64BIT_PHYS_ADDR=y 124CONFIG_64BIT_PHYS_ADDR=y
118CONFIG_CPU_HAS_LLSC=y 125CONFIG_CPU_HAS_LLSC=y
119CONFIG_CPU_HAS_SYNC=y 126CONFIG_CPU_HAS_SYNC=y
@@ -129,6 +136,7 @@ CONFIG_FLATMEM=y
129CONFIG_FLAT_NODE_MEM_MAP=y 136CONFIG_FLAT_NODE_MEM_MAP=y
130# CONFIG_SPARSEMEM_STATIC is not set 137# CONFIG_SPARSEMEM_STATIC is not set
131CONFIG_SPLIT_PTLOCK_CPUS=4 138CONFIG_SPLIT_PTLOCK_CPUS=4
139# CONFIG_RESOURCES_64BIT is not set
132# CONFIG_HZ_48 is not set 140# CONFIG_HZ_48 is not set
133# CONFIG_HZ_100 is not set 141# CONFIG_HZ_100 is not set
134# CONFIG_HZ_128 is not set 142# CONFIG_HZ_128 is not set
@@ -141,6 +149,7 @@ CONFIG_HZ=1000
141CONFIG_PREEMPT_NONE=y 149CONFIG_PREEMPT_NONE=y
142# CONFIG_PREEMPT_VOLUNTARY is not set 150# CONFIG_PREEMPT_VOLUNTARY is not set
143# CONFIG_PREEMPT is not set 151# CONFIG_PREEMPT is not set
152CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
144 153
145# 154#
146# Code maturity level options 155# Code maturity level options
@@ -172,14 +181,15 @@ CONFIG_PRINTK=y
172CONFIG_BUG=y 181CONFIG_BUG=y
173CONFIG_ELF_CORE=y 182CONFIG_ELF_CORE=y
174CONFIG_BASE_FULL=y 183CONFIG_BASE_FULL=y
184CONFIG_RT_MUTEXES=y
175CONFIG_FUTEX=y 185CONFIG_FUTEX=y
176CONFIG_EPOLL=y 186CONFIG_EPOLL=y
177CONFIG_SHMEM=y 187CONFIG_SHMEM=y
178CONFIG_SLAB=y 188CONFIG_SLAB=y
189CONFIG_VM_EVENT_COUNTERS=y
179# CONFIG_TINY_SHMEM is not set 190# CONFIG_TINY_SHMEM is not set
180CONFIG_BASE_SMALL=0 191CONFIG_BASE_SMALL=0
181# CONFIG_SLOB is not set 192# CONFIG_SLOB is not set
182CONFIG_OBSOLETE_INTERMODULE=y
183 193
184# 194#
185# Loadable module support 195# Loadable module support
@@ -282,6 +292,8 @@ CONFIG_IP_PNP_BOOTP=y
282# CONFIG_INET_IPCOMP is not set 292# CONFIG_INET_IPCOMP is not set
283# CONFIG_INET_XFRM_TUNNEL is not set 293# CONFIG_INET_XFRM_TUNNEL is not set
284# CONFIG_INET_TUNNEL is not set 294# CONFIG_INET_TUNNEL is not set
295CONFIG_INET_XFRM_MODE_TRANSPORT=m
296CONFIG_INET_XFRM_MODE_TUNNEL=m
285CONFIG_INET_DIAG=y 297CONFIG_INET_DIAG=y
286CONFIG_INET_TCP_DIAG=y 298CONFIG_INET_TCP_DIAG=y
287# CONFIG_TCP_CONG_ADVANCED is not set 299# CONFIG_TCP_CONG_ADVANCED is not set
@@ -294,6 +306,7 @@ CONFIG_TCP_CONG_BIC=y
294# CONFIG_IPV6 is not set 306# CONFIG_IPV6 is not set
295# CONFIG_INET6_XFRM_TUNNEL is not set 307# CONFIG_INET6_XFRM_TUNNEL is not set
296# CONFIG_INET6_TUNNEL is not set 308# CONFIG_INET6_TUNNEL is not set
309CONFIG_NETWORK_SECMARK=y
297CONFIG_NETFILTER=y 310CONFIG_NETFILTER=y
298# CONFIG_NETFILTER_DEBUG is not set 311# CONFIG_NETFILTER_DEBUG is not set
299 312
@@ -308,6 +321,7 @@ CONFIG_NETFILTER_XTABLES=m
308CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m 321CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
309CONFIG_NETFILTER_XT_TARGET_MARK=m 322CONFIG_NETFILTER_XT_TARGET_MARK=m
310CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m 323CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
324CONFIG_NETFILTER_XT_TARGET_SECMARK=m
311CONFIG_NETFILTER_XT_MATCH_COMMENT=m 325CONFIG_NETFILTER_XT_MATCH_COMMENT=m
312CONFIG_NETFILTER_XT_MATCH_DCCP=m 326CONFIG_NETFILTER_XT_MATCH_DCCP=m
313CONFIG_NETFILTER_XT_MATCH_ESP=m 327CONFIG_NETFILTER_XT_MATCH_ESP=m
@@ -318,8 +332,10 @@ CONFIG_NETFILTER_XT_MATCH_MARK=m
318CONFIG_NETFILTER_XT_MATCH_POLICY=m 332CONFIG_NETFILTER_XT_MATCH_POLICY=m
319CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m 333CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
320CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m 334CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
335CONFIG_NETFILTER_XT_MATCH_QUOTA=m
321CONFIG_NETFILTER_XT_MATCH_REALM=m 336CONFIG_NETFILTER_XT_MATCH_REALM=m
322CONFIG_NETFILTER_XT_MATCH_SCTP=m 337CONFIG_NETFILTER_XT_MATCH_SCTP=m
338CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
323CONFIG_NETFILTER_XT_MATCH_STRING=m 339CONFIG_NETFILTER_XT_MATCH_STRING=m
324CONFIG_NETFILTER_XT_MATCH_TCPMSS=m 340CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
325 341
@@ -389,6 +405,7 @@ CONFIG_WIRELESS_EXT=y
389CONFIG_STANDALONE=y 405CONFIG_STANDALONE=y
390CONFIG_PREVENT_FIRMWARE_BUILD=y 406CONFIG_PREVENT_FIRMWARE_BUILD=y
391CONFIG_FW_LOADER=m 407CONFIG_FW_LOADER=m
408# CONFIG_SYS_HYPERVISOR is not set
392 409
393# 410#
394# Connector - unified userspace <-> kernelspace linker 411# Connector - unified userspace <-> kernelspace linker
@@ -470,6 +487,7 @@ CONFIG_MTD_ALCHEMY=y
470# 487#
471CONFIG_MTD_NAND=m 488CONFIG_MTD_NAND=m
472# CONFIG_MTD_NAND_VERIFY_WRITE is not set 489# CONFIG_MTD_NAND_VERIFY_WRITE is not set
490# CONFIG_MTD_NAND_ECC_SMC is not set
473CONFIG_MTD_NAND_IDS=m 491CONFIG_MTD_NAND_IDS=m
474CONFIG_MTD_NAND_AU1550=m 492CONFIG_MTD_NAND_AU1550=m
475# CONFIG_MTD_NAND_DISKONCHIP is not set 493# CONFIG_MTD_NAND_DISKONCHIP is not set
@@ -608,7 +626,7 @@ CONFIG_NETDEVICES=y
608# 626#
609# PHY device support 627# PHY device support
610# 628#
611CONFIG_PHYLIB=m 629CONFIG_PHYLIB=y
612 630
613# 631#
614# MII PHY device drivers 632# MII PHY device drivers
@@ -618,6 +636,8 @@ CONFIG_DAVICOM_PHY=m
618CONFIG_QSEMI_PHY=m 636CONFIG_QSEMI_PHY=m
619CONFIG_LXT_PHY=m 637CONFIG_LXT_PHY=m
620CONFIG_CICADA_PHY=m 638CONFIG_CICADA_PHY=m
639CONFIG_VITESSE_PHY=m
640CONFIG_SMSC_PHY=m
621 641
622# 642#
623# Ethernet (10 or 100Mbit) 643# Ethernet (10 or 100Mbit)
@@ -662,6 +682,7 @@ CONFIG_MIPS_AU1X00_ENET=y
662# CONFIG_CHELSIO_T1 is not set 682# CONFIG_CHELSIO_T1 is not set
663# CONFIG_IXGB is not set 683# CONFIG_IXGB is not set
664# CONFIG_S2IO is not set 684# CONFIG_S2IO is not set
685# CONFIG_MYRI10GE is not set
665 686
666# 687#
667# Token Ring devices 688# Token Ring devices
@@ -793,6 +814,7 @@ CONFIG_LEGACY_PTY_COUNT=256
793# Watchdog Cards 814# Watchdog Cards
794# 815#
795# CONFIG_WATCHDOG is not set 816# CONFIG_WATCHDOG is not set
817# CONFIG_HW_RANDOM is not set
796# CONFIG_RTC is not set 818# CONFIG_RTC is not set
797# CONFIG_GEN_RTC is not set 819# CONFIG_GEN_RTC is not set
798# CONFIG_DTLK is not set 820# CONFIG_DTLK is not set
@@ -848,6 +870,7 @@ CONFIG_SYNCLINK_CS=m
848# Multimedia devices 870# Multimedia devices
849# 871#
850# CONFIG_VIDEO_DEV is not set 872# CONFIG_VIDEO_DEV is not set
873CONFIG_VIDEO_V4L2=y
851 874
852# 875#
853# Digital Video Broadcasting Devices 876# Digital Video Broadcasting Devices
@@ -857,6 +880,7 @@ CONFIG_SYNCLINK_CS=m
857# 880#
858# Graphics support 881# Graphics support
859# 882#
883# CONFIG_FIRMWARE_EDID is not set
860# CONFIG_FB is not set 884# CONFIG_FB is not set
861 885
862# 886#
@@ -914,6 +938,19 @@ CONFIG_USB_ARCH_HAS_EHCI=y
914# CONFIG_RTC_CLASS is not set 938# CONFIG_RTC_CLASS is not set
915 939
916# 940#
941# DMA Engine support
942#
943# CONFIG_DMA_ENGINE is not set
944
945#
946# DMA Clients
947#
948
949#
950# DMA Devices
951#
952
953#
917# File systems 954# File systems
918# 955#
919CONFIG_EXT2_FS=y 956CONFIG_EXT2_FS=y
@@ -941,6 +978,7 @@ CONFIG_FS_POSIX_ACL=y
941# CONFIG_MINIX_FS is not set 978# CONFIG_MINIX_FS is not set
942# CONFIG_ROMFS_FS is not set 979# CONFIG_ROMFS_FS is not set
943CONFIG_INOTIFY=y 980CONFIG_INOTIFY=y
981CONFIG_INOTIFY_USER=y
944# CONFIG_QUOTA is not set 982# CONFIG_QUOTA is not set
945CONFIG_DNOTIFY=y 983CONFIG_DNOTIFY=y
946CONFIG_AUTOFS_FS=m 984CONFIG_AUTOFS_FS=m
@@ -1010,6 +1048,7 @@ CONFIG_SUNRPC=y
1010CONFIG_SMB_FS=m 1048CONFIG_SMB_FS=m
1011# CONFIG_SMB_NLS_DEFAULT is not set 1049# CONFIG_SMB_NLS_DEFAULT is not set
1012# CONFIG_CIFS is not set 1050# CONFIG_CIFS is not set
1051# CONFIG_CIFS_DEBUG2 is not set
1013# CONFIG_NCP_FS is not set 1052# CONFIG_NCP_FS is not set
1014# CONFIG_CODA_FS is not set 1053# CONFIG_CODA_FS is not set
1015# CONFIG_AFS_FS is not set 1054# CONFIG_AFS_FS is not set
@@ -1075,6 +1114,7 @@ CONFIG_NLS_DEFAULT="iso8859-1"
1075# 1114#
1076# CONFIG_PRINTK_TIME is not set 1115# CONFIG_PRINTK_TIME is not set
1077# CONFIG_MAGIC_SYSRQ is not set 1116# CONFIG_MAGIC_SYSRQ is not set
1117# CONFIG_UNUSED_SYMBOLS is not set
1078# CONFIG_DEBUG_KERNEL is not set 1118# CONFIG_DEBUG_KERNEL is not set
1079CONFIG_LOG_BUF_SHIFT=14 1119CONFIG_LOG_BUF_SHIFT=14
1080# CONFIG_DEBUG_FS is not set 1120# CONFIG_DEBUG_FS is not set
@@ -1134,3 +1174,4 @@ CONFIG_TEXTSEARCH=y
1134CONFIG_TEXTSEARCH_KMP=m 1174CONFIG_TEXTSEARCH_KMP=m
1135CONFIG_TEXTSEARCH_BM=m 1175CONFIG_TEXTSEARCH_BM=m
1136CONFIG_TEXTSEARCH_FSM=m 1176CONFIG_TEXTSEARCH_FSM=m
1177CONFIG_PLIST=y
diff --git a/arch/mips/configs/ddb5477_defconfig b/arch/mips/configs/ddb5477_defconfig
index c1c6bfee970e..b598cf08f156 100644
--- a/arch/mips/configs/ddb5477_defconfig
+++ b/arch/mips/configs/ddb5477_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.17-rc2 3# Linux kernel version: 2.6.18-rc1
4# Mon Apr 24 14:51:01 2006 4# Thu Jul 6 10:04:00 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -21,6 +21,7 @@ CONFIG_MIPS=y
21# CONFIG_MIPS_DB1550 is not set 21# CONFIG_MIPS_DB1550 is not set
22# CONFIG_MIPS_DB1200 is not set 22# CONFIG_MIPS_DB1200 is not set
23# CONFIG_MIPS_MIRAGE is not set 23# CONFIG_MIPS_MIRAGE is not set
24# CONFIG_BASLER_EXCITE is not set
24# CONFIG_MIPS_COBALT is not set 25# CONFIG_MIPS_COBALT is not set
25# CONFIG_MACH_DECSTATION is not set 26# CONFIG_MACH_DECSTATION is not set
26# CONFIG_MIPS_EV64120 is not set 27# CONFIG_MIPS_EV64120 is not set
@@ -32,6 +33,7 @@ CONFIG_MIPS=y
32# CONFIG_MIPS_ATLAS is not set 33# CONFIG_MIPS_ATLAS is not set
33# CONFIG_MIPS_MALTA is not set 34# CONFIG_MIPS_MALTA is not set
34# CONFIG_MIPS_SEAD is not set 35# CONFIG_MIPS_SEAD is not set
36# CONFIG_WR_PPMC is not set
35# CONFIG_MIPS_SIM is not set 37# CONFIG_MIPS_SIM is not set
36# CONFIG_MOMENCO_JAGUAR_ATX is not set 38# CONFIG_MOMENCO_JAGUAR_ATX is not set
37# CONFIG_MOMENCO_OCELOT is not set 39# CONFIG_MOMENCO_OCELOT is not set
@@ -45,6 +47,7 @@ CONFIG_DDB5477=y
45# CONFIG_MACH_VR41XX is not set 47# CONFIG_MACH_VR41XX is not set
46# CONFIG_PMC_YOSEMITE is not set 48# CONFIG_PMC_YOSEMITE is not set
47# CONFIG_QEMU is not set 49# CONFIG_QEMU is not set
50# CONFIG_MARKEINS is not set
48# CONFIG_SGI_IP22 is not set 51# CONFIG_SGI_IP22 is not set
49# CONFIG_SGI_IP27 is not set 52# CONFIG_SGI_IP27 is not set
50# CONFIG_SGI_IP32 is not set 53# CONFIG_SGI_IP32 is not set
@@ -66,6 +69,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y
66CONFIG_GENERIC_FIND_NEXT_BIT=y 69CONFIG_GENERIC_FIND_NEXT_BIT=y
67CONFIG_GENERIC_HWEIGHT=y 70CONFIG_GENERIC_HWEIGHT=y
68CONFIG_GENERIC_CALIBRATE_DELAY=y 71CONFIG_GENERIC_CALIBRATE_DELAY=y
72CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
69CONFIG_DMA_NONCOHERENT=y 73CONFIG_DMA_NONCOHERENT=y
70CONFIG_DMA_NEED_PCI_MAP_STATE=y 74CONFIG_DMA_NEED_PCI_MAP_STATE=y
71CONFIG_I8259=y 75CONFIG_I8259=y
@@ -113,7 +117,10 @@ CONFIG_PAGE_SIZE_4KB=y
113# CONFIG_PAGE_SIZE_8KB is not set 117# CONFIG_PAGE_SIZE_8KB is not set
114# CONFIG_PAGE_SIZE_16KB is not set 118# CONFIG_PAGE_SIZE_16KB is not set
115# CONFIG_PAGE_SIZE_64KB is not set 119# CONFIG_PAGE_SIZE_64KB is not set
116# CONFIG_MIPS_MT is not set 120CONFIG_MIPS_MT_DISABLED=y
121# CONFIG_MIPS_MT_SMTC is not set
122# CONFIG_MIPS_MT_SMP is not set
123# CONFIG_MIPS_VPE_LOADER is not set
117CONFIG_CPU_HAS_LLSC=y 124CONFIG_CPU_HAS_LLSC=y
118CONFIG_CPU_HAS_SYNC=y 125CONFIG_CPU_HAS_SYNC=y
119CONFIG_GENERIC_HARDIRQS=y 126CONFIG_GENERIC_HARDIRQS=y
@@ -127,6 +134,7 @@ CONFIG_FLATMEM=y
127CONFIG_FLAT_NODE_MEM_MAP=y 134CONFIG_FLAT_NODE_MEM_MAP=y
128# CONFIG_SPARSEMEM_STATIC is not set 135# CONFIG_SPARSEMEM_STATIC is not set
129CONFIG_SPLIT_PTLOCK_CPUS=4 136CONFIG_SPLIT_PTLOCK_CPUS=4
137# CONFIG_RESOURCES_64BIT is not set
130# CONFIG_HZ_48 is not set 138# CONFIG_HZ_48 is not set
131# CONFIG_HZ_100 is not set 139# CONFIG_HZ_100 is not set
132# CONFIG_HZ_128 is not set 140# CONFIG_HZ_128 is not set
@@ -139,6 +147,7 @@ CONFIG_HZ=1000
139CONFIG_PREEMPT_NONE=y 147CONFIG_PREEMPT_NONE=y
140# CONFIG_PREEMPT_VOLUNTARY is not set 148# CONFIG_PREEMPT_VOLUNTARY is not set
141# CONFIG_PREEMPT is not set 149# CONFIG_PREEMPT is not set
150CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
142 151
143# 152#
144# Code maturity level options 153# Code maturity level options
@@ -170,10 +179,12 @@ CONFIG_PRINTK=y
170CONFIG_BUG=y 179CONFIG_BUG=y
171CONFIG_ELF_CORE=y 180CONFIG_ELF_CORE=y
172CONFIG_BASE_FULL=y 181CONFIG_BASE_FULL=y
182CONFIG_RT_MUTEXES=y
173CONFIG_FUTEX=y 183CONFIG_FUTEX=y
174CONFIG_EPOLL=y 184CONFIG_EPOLL=y
175CONFIG_SHMEM=y 185CONFIG_SHMEM=y
176CONFIG_SLAB=y 186CONFIG_SLAB=y
187CONFIG_VM_EVENT_COUNTERS=y
177# CONFIG_TINY_SHMEM is not set 188# CONFIG_TINY_SHMEM is not set
178CONFIG_BASE_SMALL=0 189CONFIG_BASE_SMALL=0
179# CONFIG_SLOB is not set 190# CONFIG_SLOB is not set
@@ -259,6 +270,8 @@ CONFIG_IP_PNP_BOOTP=y
259# CONFIG_INET_IPCOMP is not set 270# CONFIG_INET_IPCOMP is not set
260# CONFIG_INET_XFRM_TUNNEL is not set 271# CONFIG_INET_XFRM_TUNNEL is not set
261# CONFIG_INET_TUNNEL is not set 272# CONFIG_INET_TUNNEL is not set
273CONFIG_INET_XFRM_MODE_TRANSPORT=y
274CONFIG_INET_XFRM_MODE_TUNNEL=y
262CONFIG_INET_DIAG=y 275CONFIG_INET_DIAG=y
263CONFIG_INET_TCP_DIAG=y 276CONFIG_INET_TCP_DIAG=y
264# CONFIG_TCP_CONG_ADVANCED is not set 277# CONFIG_TCP_CONG_ADVANCED is not set
@@ -266,6 +279,7 @@ CONFIG_TCP_CONG_BIC=y
266# CONFIG_IPV6 is not set 279# CONFIG_IPV6 is not set
267# CONFIG_INET6_XFRM_TUNNEL is not set 280# CONFIG_INET6_XFRM_TUNNEL is not set
268# CONFIG_INET6_TUNNEL is not set 281# CONFIG_INET6_TUNNEL is not set
282CONFIG_NETWORK_SECMARK=y
269# CONFIG_NETFILTER is not set 283# CONFIG_NETFILTER is not set
270 284
271# 285#
@@ -325,6 +339,7 @@ CONFIG_WIRELESS_EXT=y
325CONFIG_STANDALONE=y 339CONFIG_STANDALONE=y
326CONFIG_PREVENT_FIRMWARE_BUILD=y 340CONFIG_PREVENT_FIRMWARE_BUILD=y
327CONFIG_FW_LOADER=y 341CONFIG_FW_LOADER=y
342# CONFIG_SYS_HYPERVISOR is not set
328 343
329# 344#
330# Connector - unified userspace <-> kernelspace linker 345# Connector - unified userspace <-> kernelspace linker
@@ -422,6 +437,8 @@ CONFIG_DAVICOM_PHY=y
422CONFIG_QSEMI_PHY=y 437CONFIG_QSEMI_PHY=y
423CONFIG_LXT_PHY=y 438CONFIG_LXT_PHY=y
424CONFIG_CICADA_PHY=y 439CONFIG_CICADA_PHY=y
440CONFIG_VITESSE_PHY=y
441CONFIG_SMSC_PHY=y
425 442
426# 443#
427# Ethernet (10 or 100Mbit) 444# Ethernet (10 or 100Mbit)
@@ -484,6 +501,7 @@ CONFIG_PCNET32=y
484# CONFIG_CHELSIO_T1 is not set 501# CONFIG_CHELSIO_T1 is not set
485# CONFIG_IXGB is not set 502# CONFIG_IXGB is not set
486# CONFIG_S2IO is not set 503# CONFIG_S2IO is not set
504# CONFIG_MYRI10GE is not set
487 505
488# 506#
489# Token Ring devices 507# Token Ring devices
@@ -561,6 +579,7 @@ CONFIG_SERIO_RAW=y
561CONFIG_VT=y 579CONFIG_VT=y
562CONFIG_VT_CONSOLE=y 580CONFIG_VT_CONSOLE=y
563CONFIG_HW_CONSOLE=y 581CONFIG_HW_CONSOLE=y
582CONFIG_VT_HW_CONSOLE_BINDING=y
564# CONFIG_SERIAL_NONSTANDARD is not set 583# CONFIG_SERIAL_NONSTANDARD is not set
565 584
566# 585#
@@ -592,6 +611,7 @@ CONFIG_LEGACY_PTY_COUNT=256
592# Watchdog Cards 611# Watchdog Cards
593# 612#
594# CONFIG_WATCHDOG is not set 613# CONFIG_WATCHDOG is not set
614# CONFIG_HW_RANDOM is not set
595# CONFIG_RTC is not set 615# CONFIG_RTC is not set
596# CONFIG_GEN_RTC is not set 616# CONFIG_GEN_RTC is not set
597# CONFIG_DTLK is not set 617# CONFIG_DTLK is not set
@@ -640,6 +660,7 @@ CONFIG_LEGACY_PTY_COUNT=256
640# Multimedia devices 660# Multimedia devices
641# 661#
642# CONFIG_VIDEO_DEV is not set 662# CONFIG_VIDEO_DEV is not set
663CONFIG_VIDEO_V4L2=y
643 664
644# 665#
645# Digital Video Broadcasting Devices 666# Digital Video Broadcasting Devices
@@ -649,6 +670,7 @@ CONFIG_LEGACY_PTY_COUNT=256
649# 670#
650# Graphics support 671# Graphics support
651# 672#
673# CONFIG_FIRMWARE_EDID is not set
652# CONFIG_FB is not set 674# CONFIG_FB is not set
653 675
654# 676#
@@ -712,6 +734,19 @@ CONFIG_USB_ARCH_HAS_EHCI=y
712# CONFIG_RTC_CLASS is not set 734# CONFIG_RTC_CLASS is not set
713 735
714# 736#
737# DMA Engine support
738#
739# CONFIG_DMA_ENGINE is not set
740
741#
742# DMA Clients
743#
744
745#
746# DMA Devices
747#
748
749#
715# File systems 750# File systems
716# 751#
717CONFIG_EXT2_FS=y 752CONFIG_EXT2_FS=y
@@ -726,6 +761,7 @@ CONFIG_EXT2_FS=y
726# CONFIG_MINIX_FS is not set 761# CONFIG_MINIX_FS is not set
727# CONFIG_ROMFS_FS is not set 762# CONFIG_ROMFS_FS is not set
728CONFIG_INOTIFY=y 763CONFIG_INOTIFY=y
764CONFIG_INOTIFY_USER=y
729# CONFIG_QUOTA is not set 765# CONFIG_QUOTA is not set
730CONFIG_DNOTIFY=y 766CONFIG_DNOTIFY=y
731CONFIG_AUTOFS_FS=y 767CONFIG_AUTOFS_FS=y
@@ -792,6 +828,7 @@ CONFIG_SUNRPC=y
792# CONFIG_RPCSEC_GSS_SPKM3 is not set 828# CONFIG_RPCSEC_GSS_SPKM3 is not set
793# CONFIG_SMB_FS is not set 829# CONFIG_SMB_FS is not set
794# CONFIG_CIFS is not set 830# CONFIG_CIFS is not set
831# CONFIG_CIFS_DEBUG2 is not set
795# CONFIG_NCP_FS is not set 832# CONFIG_NCP_FS is not set
796# CONFIG_CODA_FS is not set 833# CONFIG_CODA_FS is not set
797# CONFIG_AFS_FS is not set 834# CONFIG_AFS_FS is not set
@@ -818,6 +855,7 @@ CONFIG_MSDOS_PARTITION=y
818# 855#
819# CONFIG_PRINTK_TIME is not set 856# CONFIG_PRINTK_TIME is not set
820# CONFIG_MAGIC_SYSRQ is not set 857# CONFIG_MAGIC_SYSRQ is not set
858# CONFIG_UNUSED_SYMBOLS is not set
821# CONFIG_DEBUG_KERNEL is not set 859# CONFIG_DEBUG_KERNEL is not set
822CONFIG_LOG_BUF_SHIFT=14 860CONFIG_LOG_BUF_SHIFT=14
823# CONFIG_DEBUG_FS is not set 861# CONFIG_DEBUG_FS is not set
@@ -859,7 +897,6 @@ CONFIG_CRYPTO_ANUBIS=y
859CONFIG_CRYPTO_DEFLATE=y 897CONFIG_CRYPTO_DEFLATE=y
860CONFIG_CRYPTO_MICHAEL_MIC=y 898CONFIG_CRYPTO_MICHAEL_MIC=y
861CONFIG_CRYPTO_CRC32C=y 899CONFIG_CRYPTO_CRC32C=y
862# CONFIG_CRYPTO_TEST is not set
863 900
864# 901#
865# Hardware crypto devices 902# Hardware crypto devices
@@ -874,3 +911,4 @@ CONFIG_CRC32=y
874CONFIG_LIBCRC32C=y 911CONFIG_LIBCRC32C=y
875CONFIG_ZLIB_INFLATE=y 912CONFIG_ZLIB_INFLATE=y
876CONFIG_ZLIB_DEFLATE=y 913CONFIG_ZLIB_DEFLATE=y
914CONFIG_PLIST=y
diff --git a/arch/mips/configs/decstation_defconfig b/arch/mips/configs/decstation_defconfig
index d5d0d3faae94..597150b14077 100644
--- a/arch/mips/configs/decstation_defconfig
+++ b/arch/mips/configs/decstation_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.17-rc2 3# Linux kernel version: 2.6.18-rc1
4# Mon Apr 24 14:51:01 2006 4# Thu Jul 6 10:04:01 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -21,6 +21,7 @@ CONFIG_MIPS=y
21# CONFIG_MIPS_DB1550 is not set 21# CONFIG_MIPS_DB1550 is not set
22# CONFIG_MIPS_DB1200 is not set 22# CONFIG_MIPS_DB1200 is not set
23# CONFIG_MIPS_MIRAGE is not set 23# CONFIG_MIPS_MIRAGE is not set
24# CONFIG_BASLER_EXCITE is not set
24# CONFIG_MIPS_COBALT is not set 25# CONFIG_MIPS_COBALT is not set
25CONFIG_MACH_DECSTATION=y 26CONFIG_MACH_DECSTATION=y
26# CONFIG_MIPS_EV64120 is not set 27# CONFIG_MIPS_EV64120 is not set
@@ -32,6 +33,7 @@ CONFIG_MACH_DECSTATION=y
32# CONFIG_MIPS_ATLAS is not set 33# CONFIG_MIPS_ATLAS is not set
33# CONFIG_MIPS_MALTA is not set 34# CONFIG_MIPS_MALTA is not set
34# CONFIG_MIPS_SEAD is not set 35# CONFIG_MIPS_SEAD is not set
36# CONFIG_WR_PPMC is not set
35# CONFIG_MIPS_SIM is not set 37# CONFIG_MIPS_SIM is not set
36# CONFIG_MOMENCO_JAGUAR_ATX is not set 38# CONFIG_MOMENCO_JAGUAR_ATX is not set
37# CONFIG_MOMENCO_OCELOT is not set 39# CONFIG_MOMENCO_OCELOT is not set
@@ -45,6 +47,7 @@ CONFIG_MACH_DECSTATION=y
45# CONFIG_MACH_VR41XX is not set 47# CONFIG_MACH_VR41XX is not set
46# CONFIG_PMC_YOSEMITE is not set 48# CONFIG_PMC_YOSEMITE is not set
47# CONFIG_QEMU is not set 49# CONFIG_QEMU is not set
50# CONFIG_MARKEINS is not set
48# CONFIG_SGI_IP22 is not set 51# CONFIG_SGI_IP22 is not set
49# CONFIG_SGI_IP27 is not set 52# CONFIG_SGI_IP27 is not set
50# CONFIG_SGI_IP32 is not set 53# CONFIG_SGI_IP32 is not set
@@ -66,6 +69,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y
66CONFIG_GENERIC_FIND_NEXT_BIT=y 69CONFIG_GENERIC_FIND_NEXT_BIT=y
67CONFIG_GENERIC_HWEIGHT=y 70CONFIG_GENERIC_HWEIGHT=y
68CONFIG_GENERIC_CALIBRATE_DELAY=y 71CONFIG_GENERIC_CALIBRATE_DELAY=y
72CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
69CONFIG_DMA_NONCOHERENT=y 73CONFIG_DMA_NONCOHERENT=y
70CONFIG_DMA_NEED_PCI_MAP_STATE=y 74CONFIG_DMA_NEED_PCI_MAP_STATE=y
71# CONFIG_CPU_BIG_ENDIAN is not set 75# CONFIG_CPU_BIG_ENDIAN is not set
@@ -112,7 +116,10 @@ CONFIG_PAGE_SIZE_4KB=y
112# CONFIG_PAGE_SIZE_8KB is not set 116# CONFIG_PAGE_SIZE_8KB is not set
113# CONFIG_PAGE_SIZE_16KB is not set 117# CONFIG_PAGE_SIZE_16KB is not set
114# CONFIG_PAGE_SIZE_64KB is not set 118# CONFIG_PAGE_SIZE_64KB is not set
115# CONFIG_MIPS_MT is not set 119CONFIG_MIPS_MT_DISABLED=y
120# CONFIG_MIPS_MT_SMTC is not set
121# CONFIG_MIPS_MT_SMP is not set
122# CONFIG_MIPS_VPE_LOADER is not set
116CONFIG_CPU_HAS_WB=y 123CONFIG_CPU_HAS_WB=y
117CONFIG_GENERIC_HARDIRQS=y 124CONFIG_GENERIC_HARDIRQS=y
118CONFIG_GENERIC_IRQ_PROBE=y 125CONFIG_GENERIC_IRQ_PROBE=y
@@ -126,6 +133,7 @@ CONFIG_FLATMEM=y
126CONFIG_FLAT_NODE_MEM_MAP=y 133CONFIG_FLAT_NODE_MEM_MAP=y
127# CONFIG_SPARSEMEM_STATIC is not set 134# CONFIG_SPARSEMEM_STATIC is not set
128CONFIG_SPLIT_PTLOCK_CPUS=4 135CONFIG_SPLIT_PTLOCK_CPUS=4
136# CONFIG_RESOURCES_64BIT is not set
129# CONFIG_HZ_48 is not set 137# CONFIG_HZ_48 is not set
130# CONFIG_HZ_100 is not set 138# CONFIG_HZ_100 is not set
131CONFIG_HZ_128=y 139CONFIG_HZ_128=y
@@ -140,6 +148,7 @@ CONFIG_HZ=128
140CONFIG_PREEMPT_NONE=y 148CONFIG_PREEMPT_NONE=y
141# CONFIG_PREEMPT_VOLUNTARY is not set 149# CONFIG_PREEMPT_VOLUNTARY is not set
142# CONFIG_PREEMPT is not set 150# CONFIG_PREEMPT is not set
151CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
143 152
144# 153#
145# Code maturity level options 154# Code maturity level options
@@ -172,10 +181,12 @@ CONFIG_PRINTK=y
172CONFIG_BUG=y 181CONFIG_BUG=y
173CONFIG_ELF_CORE=y 182CONFIG_ELF_CORE=y
174CONFIG_BASE_FULL=y 183CONFIG_BASE_FULL=y
184CONFIG_RT_MUTEXES=y
175CONFIG_FUTEX=y 185CONFIG_FUTEX=y
176CONFIG_EPOLL=y 186CONFIG_EPOLL=y
177CONFIG_SHMEM=y 187CONFIG_SHMEM=y
178CONFIG_SLAB=y 188CONFIG_SLAB=y
189CONFIG_VM_EVENT_COUNTERS=y
179# CONFIG_TINY_SHMEM is not set 190# CONFIG_TINY_SHMEM is not set
180CONFIG_BASE_SMALL=0 191CONFIG_BASE_SMALL=0
181# CONFIG_SLOB is not set 192# CONFIG_SLOB is not set
@@ -244,6 +255,8 @@ CONFIG_NET=y
244CONFIG_PACKET=y 255CONFIG_PACKET=y
245CONFIG_PACKET_MMAP=y 256CONFIG_PACKET_MMAP=y
246CONFIG_UNIX=y 257CONFIG_UNIX=y
258CONFIG_XFRM=y
259# CONFIG_XFRM_USER is not set
247# CONFIG_NET_KEY is not set 260# CONFIG_NET_KEY is not set
248CONFIG_INET=y 261CONFIG_INET=y
249# CONFIG_IP_MULTICAST is not set 262# CONFIG_IP_MULTICAST is not set
@@ -262,6 +275,8 @@ CONFIG_IP_PNP_BOOTP=y
262# CONFIG_INET_IPCOMP is not set 275# CONFIG_INET_IPCOMP is not set
263# CONFIG_INET_XFRM_TUNNEL is not set 276# CONFIG_INET_XFRM_TUNNEL is not set
264# CONFIG_INET_TUNNEL is not set 277# CONFIG_INET_TUNNEL is not set
278CONFIG_INET_XFRM_MODE_TRANSPORT=m
279CONFIG_INET_XFRM_MODE_TUNNEL=m
265CONFIG_INET_DIAG=y 280CONFIG_INET_DIAG=y
266CONFIG_INET_TCP_DIAG=y 281CONFIG_INET_TCP_DIAG=y
267# CONFIG_TCP_CONG_ADVANCED is not set 282# CONFIG_TCP_CONG_ADVANCED is not set
@@ -269,6 +284,7 @@ CONFIG_TCP_CONG_BIC=y
269# CONFIG_IPV6 is not set 284# CONFIG_IPV6 is not set
270# CONFIG_INET6_XFRM_TUNNEL is not set 285# CONFIG_INET6_XFRM_TUNNEL is not set
271# CONFIG_INET6_TUNNEL is not set 286# CONFIG_INET6_TUNNEL is not set
287CONFIG_NETWORK_SECMARK=y
272# CONFIG_NETFILTER is not set 288# CONFIG_NETFILTER is not set
273 289
274# 290#
@@ -329,6 +345,7 @@ CONFIG_STANDALONE=y
329CONFIG_PREVENT_FIRMWARE_BUILD=y 345CONFIG_PREVENT_FIRMWARE_BUILD=y
330# CONFIG_FW_LOADER is not set 346# CONFIG_FW_LOADER is not set
331# CONFIG_DEBUG_DRIVER is not set 347# CONFIG_DEBUG_DRIVER is not set
348# CONFIG_SYS_HYPERVISOR is not set
332 349
333# 350#
334# Connector - unified userspace <-> kernelspace linker 351# Connector - unified userspace <-> kernelspace linker
@@ -448,6 +465,8 @@ CONFIG_DAVICOM_PHY=m
448CONFIG_QSEMI_PHY=m 465CONFIG_QSEMI_PHY=m
449CONFIG_LXT_PHY=m 466CONFIG_LXT_PHY=m
450CONFIG_CICADA_PHY=m 467CONFIG_CICADA_PHY=m
468CONFIG_VITESSE_PHY=m
469CONFIG_SMSC_PHY=m
451 470
452# 471#
453# Ethernet (10 or 100Mbit) 472# Ethernet (10 or 100Mbit)
@@ -537,6 +556,7 @@ CONFIG_LEGACY_PTY_COUNT=256
537# Watchdog Cards 556# Watchdog Cards
538# 557#
539# CONFIG_WATCHDOG is not set 558# CONFIG_WATCHDOG is not set
559# CONFIG_HW_RANDOM is not set
540CONFIG_RTC=y 560CONFIG_RTC=y
541# CONFIG_DTLK is not set 561# CONFIG_DTLK is not set
542# CONFIG_R3964 is not set 562# CONFIG_R3964 is not set
@@ -582,6 +602,7 @@ CONFIG_RTC=y
582# Multimedia devices 602# Multimedia devices
583# 603#
584# CONFIG_VIDEO_DEV is not set 604# CONFIG_VIDEO_DEV is not set
605CONFIG_VIDEO_V4L2=y
585 606
586# 607#
587# Digital Video Broadcasting Devices 608# Digital Video Broadcasting Devices
@@ -591,12 +612,13 @@ CONFIG_RTC=y
591# 612#
592# Graphics support 613# Graphics support
593# 614#
615# CONFIG_FIRMWARE_EDID is not set
594CONFIG_FB=y 616CONFIG_FB=y
595CONFIG_FB_CFB_FILLRECT=y 617CONFIG_FB_CFB_FILLRECT=y
596CONFIG_FB_CFB_COPYAREA=y 618CONFIG_FB_CFB_COPYAREA=y
597CONFIG_FB_CFB_IMAGEBLIT=y 619CONFIG_FB_CFB_IMAGEBLIT=y
598# CONFIG_FB_MACMODES is not set 620# CONFIG_FB_MACMODES is not set
599CONFIG_FB_FIRMWARE_EDID=y 621# CONFIG_FB_BACKLIGHT is not set
600# CONFIG_FB_MODE_HELPERS is not set 622# CONFIG_FB_MODE_HELPERS is not set
601# CONFIG_FB_TILEBLITTING is not set 623# CONFIG_FB_TILEBLITTING is not set
602# CONFIG_FB_S1D13XXX is not set 624# CONFIG_FB_S1D13XXX is not set
@@ -669,6 +691,19 @@ CONFIG_LOGO_DEC_CLUT224=y
669# CONFIG_RTC_CLASS is not set 691# CONFIG_RTC_CLASS is not set
670 692
671# 693#
694# DMA Engine support
695#
696# CONFIG_DMA_ENGINE is not set
697
698#
699# DMA Clients
700#
701
702#
703# DMA Devices
704#
705
706#
672# File systems 707# File systems
673# 708#
674CONFIG_EXT2_FS=y 709CONFIG_EXT2_FS=y
@@ -686,6 +721,7 @@ CONFIG_FS_POSIX_ACL=y
686# CONFIG_MINIX_FS is not set 721# CONFIG_MINIX_FS is not set
687# CONFIG_ROMFS_FS is not set 722# CONFIG_ROMFS_FS is not set
688CONFIG_INOTIFY=y 723CONFIG_INOTIFY=y
724CONFIG_INOTIFY_USER=y
689# CONFIG_QUOTA is not set 725# CONFIG_QUOTA is not set
690CONFIG_DNOTIFY=y 726CONFIG_DNOTIFY=y
691# CONFIG_AUTOFS_FS is not set 727# CONFIG_AUTOFS_FS is not set
@@ -732,6 +768,8 @@ CONFIG_RAMFS=y
732# CONFIG_QNX4FS_FS is not set 768# CONFIG_QNX4FS_FS is not set
733# CONFIG_SYSV_FS is not set 769# CONFIG_SYSV_FS is not set
734CONFIG_UFS_FS=y 770CONFIG_UFS_FS=y
771# CONFIG_UFS_FS_WRITE is not set
772# CONFIG_UFS_DEBUG is not set
735 773
736# 774#
737# Network File Systems 775# Network File Systems
@@ -751,6 +789,7 @@ CONFIG_SUNRPC=y
751# CONFIG_RPCSEC_GSS_SPKM3 is not set 789# CONFIG_RPCSEC_GSS_SPKM3 is not set
752# CONFIG_SMB_FS is not set 790# CONFIG_SMB_FS is not set
753# CONFIG_CIFS is not set 791# CONFIG_CIFS is not set
792# CONFIG_CIFS_DEBUG2 is not set
754# CONFIG_NCP_FS is not set 793# CONFIG_NCP_FS is not set
755# CONFIG_CODA_FS is not set 794# CONFIG_CODA_FS is not set
756# CONFIG_AFS_FS is not set 795# CONFIG_AFS_FS is not set
@@ -792,14 +831,19 @@ CONFIG_ULTRIX_PARTITION=y
792# 831#
793# CONFIG_PRINTK_TIME is not set 832# CONFIG_PRINTK_TIME is not set
794CONFIG_MAGIC_SYSRQ=y 833CONFIG_MAGIC_SYSRQ=y
834# CONFIG_UNUSED_SYMBOLS is not set
795CONFIG_DEBUG_KERNEL=y 835CONFIG_DEBUG_KERNEL=y
796CONFIG_LOG_BUF_SHIFT=14 836CONFIG_LOG_BUF_SHIFT=14
797CONFIG_DETECT_SOFTLOCKUP=y 837CONFIG_DETECT_SOFTLOCKUP=y
798# CONFIG_SCHEDSTATS is not set 838# CONFIG_SCHEDSTATS is not set
799# CONFIG_DEBUG_SLAB is not set 839# CONFIG_DEBUG_SLAB is not set
800CONFIG_DEBUG_MUTEXES=y 840# CONFIG_DEBUG_RT_MUTEXES is not set
841# CONFIG_RT_MUTEX_TESTER is not set
801# CONFIG_DEBUG_SPINLOCK is not set 842# CONFIG_DEBUG_SPINLOCK is not set
843CONFIG_DEBUG_MUTEXES=y
844# CONFIG_DEBUG_RWSEMS is not set
802# CONFIG_DEBUG_SPINLOCK_SLEEP is not set 845# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
846# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
803# CONFIG_DEBUG_KOBJECT is not set 847# CONFIG_DEBUG_KOBJECT is not set
804# CONFIG_DEBUG_INFO is not set 848# CONFIG_DEBUG_INFO is not set
805# CONFIG_DEBUG_FS is not set 849# CONFIG_DEBUG_FS is not set
@@ -862,3 +906,4 @@ CONFIG_CRC32=y
862CONFIG_LIBCRC32C=m 906CONFIG_LIBCRC32C=m
863CONFIG_ZLIB_INFLATE=m 907CONFIG_ZLIB_INFLATE=m
864CONFIG_ZLIB_DEFLATE=m 908CONFIG_ZLIB_DEFLATE=m
909CONFIG_PLIST=y
diff --git a/arch/mips/configs/e55_defconfig b/arch/mips/configs/e55_defconfig
index 439677ba751c..fa2996bb4b7c 100644
--- a/arch/mips/configs/e55_defconfig
+++ b/arch/mips/configs/e55_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.17-rc2 3# Linux kernel version: 2.6.18-rc1
4# Tue Apr 25 00:08:20 2006 4# Thu Jul 6 10:04:02 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -21,6 +21,7 @@ CONFIG_MIPS=y
21# CONFIG_MIPS_DB1550 is not set 21# CONFIG_MIPS_DB1550 is not set
22# CONFIG_MIPS_DB1200 is not set 22# CONFIG_MIPS_DB1200 is not set
23# CONFIG_MIPS_MIRAGE is not set 23# CONFIG_MIPS_MIRAGE is not set
24# CONFIG_BASLER_EXCITE is not set
24# CONFIG_MIPS_COBALT is not set 25# CONFIG_MIPS_COBALT is not set
25# CONFIG_MACH_DECSTATION is not set 26# CONFIG_MACH_DECSTATION is not set
26# CONFIG_MIPS_EV64120 is not set 27# CONFIG_MIPS_EV64120 is not set
@@ -32,6 +33,7 @@ CONFIG_MIPS=y
32# CONFIG_MIPS_ATLAS is not set 33# CONFIG_MIPS_ATLAS is not set
33# CONFIG_MIPS_MALTA is not set 34# CONFIG_MIPS_MALTA is not set
34# CONFIG_MIPS_SEAD is not set 35# CONFIG_MIPS_SEAD is not set
36# CONFIG_WR_PPMC is not set
35# CONFIG_MIPS_SIM is not set 37# CONFIG_MIPS_SIM is not set
36# CONFIG_MOMENCO_JAGUAR_ATX is not set 38# CONFIG_MOMENCO_JAGUAR_ATX is not set
37# CONFIG_MOMENCO_OCELOT is not set 39# CONFIG_MOMENCO_OCELOT is not set
@@ -45,6 +47,7 @@ CONFIG_MIPS=y
45CONFIG_MACH_VR41XX=y 47CONFIG_MACH_VR41XX=y
46# CONFIG_PMC_YOSEMITE is not set 48# CONFIG_PMC_YOSEMITE is not set
47# CONFIG_QEMU is not set 49# CONFIG_QEMU is not set
50# CONFIG_MARKEINS is not set
48# CONFIG_SGI_IP22 is not set 51# CONFIG_SGI_IP22 is not set
49# CONFIG_SGI_IP27 is not set 52# CONFIG_SGI_IP27 is not set
50# CONFIG_SGI_IP32 is not set 53# CONFIG_SGI_IP32 is not set
@@ -71,6 +74,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y
71CONFIG_GENERIC_FIND_NEXT_BIT=y 74CONFIG_GENERIC_FIND_NEXT_BIT=y
72CONFIG_GENERIC_HWEIGHT=y 75CONFIG_GENERIC_HWEIGHT=y
73CONFIG_GENERIC_CALIBRATE_DELAY=y 76CONFIG_GENERIC_CALIBRATE_DELAY=y
77CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
74CONFIG_DMA_NONCOHERENT=y 78CONFIG_DMA_NONCOHERENT=y
75CONFIG_DMA_NEED_PCI_MAP_STATE=y 79CONFIG_DMA_NEED_PCI_MAP_STATE=y
76# CONFIG_CPU_BIG_ENDIAN is not set 80# CONFIG_CPU_BIG_ENDIAN is not set
@@ -115,7 +119,10 @@ CONFIG_PAGE_SIZE_4KB=y
115# CONFIG_PAGE_SIZE_8KB is not set 119# CONFIG_PAGE_SIZE_8KB is not set
116# CONFIG_PAGE_SIZE_16KB is not set 120# CONFIG_PAGE_SIZE_16KB is not set
117# CONFIG_PAGE_SIZE_64KB is not set 121# CONFIG_PAGE_SIZE_64KB is not set
118# CONFIG_MIPS_MT is not set 122CONFIG_MIPS_MT_DISABLED=y
123# CONFIG_MIPS_MT_SMTC is not set
124# CONFIG_MIPS_MT_SMP is not set
125# CONFIG_MIPS_VPE_LOADER is not set
119CONFIG_CPU_HAS_SYNC=y 126CONFIG_CPU_HAS_SYNC=y
120CONFIG_GENERIC_HARDIRQS=y 127CONFIG_GENERIC_HARDIRQS=y
121CONFIG_GENERIC_IRQ_PROBE=y 128CONFIG_GENERIC_IRQ_PROBE=y
@@ -128,6 +135,7 @@ CONFIG_FLATMEM=y
128CONFIG_FLAT_NODE_MEM_MAP=y 135CONFIG_FLAT_NODE_MEM_MAP=y
129# CONFIG_SPARSEMEM_STATIC is not set 136# CONFIG_SPARSEMEM_STATIC is not set
130CONFIG_SPLIT_PTLOCK_CPUS=4 137CONFIG_SPLIT_PTLOCK_CPUS=4
138# CONFIG_RESOURCES_64BIT is not set
131# CONFIG_HZ_48 is not set 139# CONFIG_HZ_48 is not set
132# CONFIG_HZ_100 is not set 140# CONFIG_HZ_100 is not set
133# CONFIG_HZ_128 is not set 141# CONFIG_HZ_128 is not set
@@ -140,6 +148,7 @@ CONFIG_HZ=1000
140CONFIG_PREEMPT_NONE=y 148CONFIG_PREEMPT_NONE=y
141# CONFIG_PREEMPT_VOLUNTARY is not set 149# CONFIG_PREEMPT_VOLUNTARY is not set
142# CONFIG_PREEMPT is not set 150# CONFIG_PREEMPT is not set
151CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
143 152
144# 153#
145# Code maturity level options 154# Code maturity level options
@@ -169,10 +178,12 @@ CONFIG_PRINTK=y
169CONFIG_BUG=y 178CONFIG_BUG=y
170CONFIG_ELF_CORE=y 179CONFIG_ELF_CORE=y
171CONFIG_BASE_FULL=y 180CONFIG_BASE_FULL=y
181CONFIG_RT_MUTEXES=y
172CONFIG_FUTEX=y 182CONFIG_FUTEX=y
173CONFIG_EPOLL=y 183CONFIG_EPOLL=y
174CONFIG_SHMEM=y 184CONFIG_SHMEM=y
175CONFIG_SLAB=y 185CONFIG_SLAB=y
186CONFIG_VM_EVENT_COUNTERS=y
176# CONFIG_TINY_SHMEM is not set 187# CONFIG_TINY_SHMEM is not set
177CONFIG_BASE_SMALL=0 188CONFIG_BASE_SMALL=0
178# CONFIG_SLOB is not set 189# CONFIG_SLOB is not set
@@ -244,6 +255,7 @@ CONFIG_TRAD_SIGNALS=y
244CONFIG_STANDALONE=y 255CONFIG_STANDALONE=y
245CONFIG_PREVENT_FIRMWARE_BUILD=y 256CONFIG_PREVENT_FIRMWARE_BUILD=y
246# CONFIG_FW_LOADER is not set 257# CONFIG_FW_LOADER is not set
258# CONFIG_SYS_HYPERVISOR is not set
247 259
248# 260#
249# Connector - unified userspace <-> kernelspace linker 261# Connector - unified userspace <-> kernelspace linker
@@ -378,6 +390,7 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=240
378CONFIG_VT=y 390CONFIG_VT=y
379CONFIG_VT_CONSOLE=y 391CONFIG_VT_CONSOLE=y
380CONFIG_HW_CONSOLE=y 392CONFIG_HW_CONSOLE=y
393CONFIG_VT_HW_CONSOLE_BINDING=y
381# CONFIG_SERIAL_NONSTANDARD is not set 394# CONFIG_SERIAL_NONSTANDARD is not set
382 395
383# 396#
@@ -418,6 +431,7 @@ CONFIG_WATCHDOG=y
418# CONFIG_PCWATCHDOG is not set 431# CONFIG_PCWATCHDOG is not set
419# CONFIG_MIXCOMWD is not set 432# CONFIG_MIXCOMWD is not set
420# CONFIG_WDT is not set 433# CONFIG_WDT is not set
434# CONFIG_HW_RANDOM is not set
421# CONFIG_RTC is not set 435# CONFIG_RTC is not set
422# CONFIG_GEN_RTC is not set 436# CONFIG_GEN_RTC is not set
423# CONFIG_DTLK is not set 437# CONFIG_DTLK is not set
@@ -449,7 +463,6 @@ CONFIG_GPIO_VR41XX=y
449# 463#
450# Dallas's 1-wire bus 464# Dallas's 1-wire bus
451# 465#
452# CONFIG_W1 is not set
453 466
454# 467#
455# Hardware Monitoring support 468# Hardware Monitoring support
@@ -465,6 +478,7 @@ CONFIG_GPIO_VR41XX=y
465# Multimedia devices 478# Multimedia devices
466# 479#
467# CONFIG_VIDEO_DEV is not set 480# CONFIG_VIDEO_DEV is not set
481CONFIG_VIDEO_V4L2=y
468 482
469# 483#
470# Digital Video Broadcasting Devices 484# Digital Video Broadcasting Devices
@@ -473,6 +487,7 @@ CONFIG_GPIO_VR41XX=y
473# 487#
474# Graphics support 488# Graphics support
475# 489#
490# CONFIG_FIRMWARE_EDID is not set
476# CONFIG_FB is not set 491# CONFIG_FB is not set
477 492
478# 493#
@@ -535,6 +550,19 @@ CONFIG_DUMMY_CONSOLE=y
535# CONFIG_RTC_CLASS is not set 550# CONFIG_RTC_CLASS is not set
536 551
537# 552#
553# DMA Engine support
554#
555# CONFIG_DMA_ENGINE is not set
556
557#
558# DMA Clients
559#
560
561#
562# DMA Devices
563#
564
565#
538# File systems 566# File systems
539# 567#
540CONFIG_EXT2_FS=y 568CONFIG_EXT2_FS=y
@@ -548,6 +576,7 @@ CONFIG_EXT2_FS=y
548# CONFIG_MINIX_FS is not set 576# CONFIG_MINIX_FS is not set
549# CONFIG_ROMFS_FS is not set 577# CONFIG_ROMFS_FS is not set
550CONFIG_INOTIFY=y 578CONFIG_INOTIFY=y
579CONFIG_INOTIFY_USER=y
551# CONFIG_QUOTA is not set 580# CONFIG_QUOTA is not set
552CONFIG_DNOTIFY=y 581CONFIG_DNOTIFY=y
553# CONFIG_AUTOFS_FS is not set 582# CONFIG_AUTOFS_FS is not set
@@ -616,6 +645,7 @@ CONFIG_MSDOS_PARTITION=y
616# 645#
617# CONFIG_PRINTK_TIME is not set 646# CONFIG_PRINTK_TIME is not set
618# CONFIG_MAGIC_SYSRQ is not set 647# CONFIG_MAGIC_SYSRQ is not set
648# CONFIG_UNUSED_SYMBOLS is not set
619# CONFIG_DEBUG_KERNEL is not set 649# CONFIG_DEBUG_KERNEL is not set
620CONFIG_LOG_BUF_SHIFT=14 650CONFIG_LOG_BUF_SHIFT=14
621# CONFIG_DEBUG_FS is not set 651# CONFIG_DEBUG_FS is not set
@@ -644,3 +674,4 @@ CONFIG_CMDLINE="console=ttyVR0,19200 mem=8M"
644# CONFIG_CRC16 is not set 674# CONFIG_CRC16 is not set
645# CONFIG_CRC32 is not set 675# CONFIG_CRC32 is not set
646# CONFIG_LIBCRC32C is not set 676# CONFIG_LIBCRC32C is not set
677CONFIG_PLIST=y
diff --git a/arch/mips/configs/emma2rh_defconfig b/arch/mips/configs/emma2rh_defconfig
index 01f29f44f3e8..375b2ac24a49 100644
--- a/arch/mips/configs/emma2rh_defconfig
+++ b/arch/mips/configs/emma2rh_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.17 3# Linux kernel version: 2.6.18-rc1
4# Sun Jun 18 13:46:53 2006 4# Thu Jul 6 10:04:05 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -21,6 +21,7 @@ CONFIG_MIPS=y
21# CONFIG_MIPS_DB1550 is not set 21# CONFIG_MIPS_DB1550 is not set
22# CONFIG_MIPS_DB1200 is not set 22# CONFIG_MIPS_DB1200 is not set
23# CONFIG_MIPS_MIRAGE is not set 23# CONFIG_MIPS_MIRAGE is not set
24# CONFIG_BASLER_EXCITE is not set
24# CONFIG_MIPS_COBALT is not set 25# CONFIG_MIPS_COBALT is not set
25# CONFIG_MACH_DECSTATION is not set 26# CONFIG_MACH_DECSTATION is not set
26# CONFIG_MIPS_EV64120 is not set 27# CONFIG_MIPS_EV64120 is not set
@@ -133,6 +134,7 @@ CONFIG_FLATMEM=y
133CONFIG_FLAT_NODE_MEM_MAP=y 134CONFIG_FLAT_NODE_MEM_MAP=y
134# CONFIG_SPARSEMEM_STATIC is not set 135# CONFIG_SPARSEMEM_STATIC is not set
135CONFIG_SPLIT_PTLOCK_CPUS=4 136CONFIG_SPLIT_PTLOCK_CPUS=4
137# CONFIG_RESOURCES_64BIT is not set
136# CONFIG_HZ_48 is not set 138# CONFIG_HZ_48 is not set
137# CONFIG_HZ_100 is not set 139# CONFIG_HZ_100 is not set
138# CONFIG_HZ_128 is not set 140# CONFIG_HZ_128 is not set
@@ -146,6 +148,7 @@ CONFIG_HZ=1000
146# CONFIG_PREEMPT_VOLUNTARY is not set 148# CONFIG_PREEMPT_VOLUNTARY is not set
147CONFIG_PREEMPT=y 149CONFIG_PREEMPT=y
148CONFIG_PREEMPT_BKL=y 150CONFIG_PREEMPT_BKL=y
151CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
149 152
150# 153#
151# Code maturity level options 154# Code maturity level options
@@ -180,14 +183,15 @@ CONFIG_PRINTK=y
180CONFIG_BUG=y 183CONFIG_BUG=y
181CONFIG_ELF_CORE=y 184CONFIG_ELF_CORE=y
182CONFIG_BASE_FULL=y 185CONFIG_BASE_FULL=y
186CONFIG_RT_MUTEXES=y
183CONFIG_FUTEX=y 187CONFIG_FUTEX=y
184CONFIG_EPOLL=y 188CONFIG_EPOLL=y
185CONFIG_SHMEM=y 189CONFIG_SHMEM=y
186CONFIG_SLAB=y 190CONFIG_SLAB=y
191CONFIG_VM_EVENT_COUNTERS=y
187# CONFIG_TINY_SHMEM is not set 192# CONFIG_TINY_SHMEM is not set
188CONFIG_BASE_SMALL=0 193CONFIG_BASE_SMALL=0
189# CONFIG_SLOB is not set 194# CONFIG_SLOB is not set
190CONFIG_OBSOLETE_INTERMODULE=y
191 195
192# 196#
193# Loadable module support 197# Loadable module support
@@ -283,6 +287,8 @@ CONFIG_SYN_COOKIES=y
283# CONFIG_INET_IPCOMP is not set 287# CONFIG_INET_IPCOMP is not set
284# CONFIG_INET_XFRM_TUNNEL is not set 288# CONFIG_INET_XFRM_TUNNEL is not set
285# CONFIG_INET_TUNNEL is not set 289# CONFIG_INET_TUNNEL is not set
290CONFIG_INET_XFRM_MODE_TRANSPORT=m
291CONFIG_INET_XFRM_MODE_TUNNEL=m
286CONFIG_INET_DIAG=y 292CONFIG_INET_DIAG=y
287CONFIG_INET_TCP_DIAG=y 293CONFIG_INET_TCP_DIAG=y
288# CONFIG_TCP_CONG_ADVANCED is not set 294# CONFIG_TCP_CONG_ADVANCED is not set
@@ -300,7 +306,10 @@ CONFIG_IPV6=m
300# CONFIG_INET6_IPCOMP is not set 306# CONFIG_INET6_IPCOMP is not set
301# CONFIG_INET6_XFRM_TUNNEL is not set 307# CONFIG_INET6_XFRM_TUNNEL is not set
302# CONFIG_INET6_TUNNEL is not set 308# CONFIG_INET6_TUNNEL is not set
309CONFIG_INET6_XFRM_MODE_TRANSPORT=m
310CONFIG_INET6_XFRM_MODE_TUNNEL=m
303# CONFIG_IPV6_TUNNEL is not set 311# CONFIG_IPV6_TUNNEL is not set
312CONFIG_NETWORK_SECMARK=y
304CONFIG_NETFILTER=y 313CONFIG_NETFILTER=y
305# CONFIG_NETFILTER_DEBUG is not set 314# CONFIG_NETFILTER_DEBUG is not set
306 315
@@ -378,6 +387,7 @@ CONFIG_SCTP_HMAC_MD5=y
378CONFIG_STANDALONE=y 387CONFIG_STANDALONE=y
379CONFIG_PREVENT_FIRMWARE_BUILD=y 388CONFIG_PREVENT_FIRMWARE_BUILD=y
380# CONFIG_FW_LOADER is not set 389# CONFIG_FW_LOADER is not set
390# CONFIG_SYS_HYPERVISOR is not set
381 391
382# 392#
383# Connector - unified userspace <-> kernelspace linker 393# Connector - unified userspace <-> kernelspace linker
@@ -545,6 +555,7 @@ CONFIG_CHR_DEV_SG=m
545# CONFIG_MEGARAID_LEGACY is not set 555# CONFIG_MEGARAID_LEGACY is not set
546# CONFIG_MEGARAID_SAS is not set 556# CONFIG_MEGARAID_SAS is not set
547# CONFIG_SCSI_SATA is not set 557# CONFIG_SCSI_SATA is not set
558# CONFIG_SCSI_HPTIOP is not set
548# CONFIG_SCSI_DMX3191D is not set 559# CONFIG_SCSI_DMX3191D is not set
549# CONFIG_SCSI_FUTURE_DOMAIN is not set 560# CONFIG_SCSI_FUTURE_DOMAIN is not set
550# CONFIG_SCSI_IPS is not set 561# CONFIG_SCSI_IPS is not set
@@ -663,6 +674,7 @@ CONFIG_NATSEMI=y
663# CONFIG_CHELSIO_T1 is not set 674# CONFIG_CHELSIO_T1 is not set
664# CONFIG_IXGB is not set 675# CONFIG_IXGB is not set
665# CONFIG_S2IO is not set 676# CONFIG_S2IO is not set
677# CONFIG_MYRI10GE is not set
666 678
667# 679#
668# Token Ring devices 680# Token Ring devices
@@ -770,6 +782,7 @@ CONFIG_LEGACY_PTY_COUNT=256
770# Watchdog Cards 782# Watchdog Cards
771# 783#
772# CONFIG_WATCHDOG is not set 784# CONFIG_WATCHDOG is not set
785# CONFIG_HW_RANDOM is not set
773CONFIG_RTC=m 786CONFIG_RTC=m
774CONFIG_GEN_RTC=m 787CONFIG_GEN_RTC=m
775CONFIG_GEN_RTC_X=y 788CONFIG_GEN_RTC_X=y
@@ -814,6 +827,7 @@ CONFIG_I2C_CHARDEV=y
814# CONFIG_I2C_I810 is not set 827# CONFIG_I2C_I810 is not set
815# CONFIG_I2C_PIIX4 is not set 828# CONFIG_I2C_PIIX4 is not set
816# CONFIG_I2C_NFORCE2 is not set 829# CONFIG_I2C_NFORCE2 is not set
830# CONFIG_I2C_OCORES is not set
817# CONFIG_I2C_PARPORT_LIGHT is not set 831# CONFIG_I2C_PARPORT_LIGHT is not set
818# CONFIG_I2C_PROSAVAGE is not set 832# CONFIG_I2C_PROSAVAGE is not set
819# CONFIG_I2C_SAVAGE4 is not set 833# CONFIG_I2C_SAVAGE4 is not set
@@ -850,13 +864,13 @@ CONFIG_I2C_DEBUG_BUS=y
850# 864#
851# Dallas's 1-wire bus 865# Dallas's 1-wire bus
852# 866#
853# CONFIG_W1 is not set
854 867
855# 868#
856# Hardware Monitoring support 869# Hardware Monitoring support
857# 870#
858CONFIG_HWMON=y 871CONFIG_HWMON=y
859# CONFIG_HWMON_VID is not set 872# CONFIG_HWMON_VID is not set
873# CONFIG_SENSORS_ABITUGURU is not set
860# CONFIG_SENSORS_ADM1021 is not set 874# CONFIG_SENSORS_ADM1021 is not set
861# CONFIG_SENSORS_ADM1025 is not set 875# CONFIG_SENSORS_ADM1025 is not set
862# CONFIG_SENSORS_ADM1026 is not set 876# CONFIG_SENSORS_ADM1026 is not set
@@ -885,10 +899,12 @@ CONFIG_HWMON=y
885# CONFIG_SENSORS_PC87360 is not set 899# CONFIG_SENSORS_PC87360 is not set
886# CONFIG_SENSORS_SIS5595 is not set 900# CONFIG_SENSORS_SIS5595 is not set
887# CONFIG_SENSORS_SMSC47M1 is not set 901# CONFIG_SENSORS_SMSC47M1 is not set
902# CONFIG_SENSORS_SMSC47M192 is not set
888# CONFIG_SENSORS_SMSC47B397 is not set 903# CONFIG_SENSORS_SMSC47B397 is not set
889# CONFIG_SENSORS_VIA686A is not set 904# CONFIG_SENSORS_VIA686A is not set
890# CONFIG_SENSORS_VT8231 is not set 905# CONFIG_SENSORS_VT8231 is not set
891# CONFIG_SENSORS_W83781D is not set 906# CONFIG_SENSORS_W83781D is not set
907# CONFIG_SENSORS_W83791D is not set
892# CONFIG_SENSORS_W83792D is not set 908# CONFIG_SENSORS_W83792D is not set
893# CONFIG_SENSORS_W83L785TS is not set 909# CONFIG_SENSORS_W83L785TS is not set
894# CONFIG_SENSORS_W83627HF is not set 910# CONFIG_SENSORS_W83627HF is not set
@@ -913,6 +929,7 @@ CONFIG_VIDEO_V4L2=y
913# 929#
914# Graphics support 930# Graphics support
915# 931#
932# CONFIG_FIRMWARE_EDID is not set
916# CONFIG_FB is not set 933# CONFIG_FB is not set
917 934
918# 935#
@@ -970,6 +987,19 @@ CONFIG_USB_ARCH_HAS_EHCI=y
970# CONFIG_RTC_CLASS is not set 987# CONFIG_RTC_CLASS is not set
971 988
972# 989#
990# DMA Engine support
991#
992# CONFIG_DMA_ENGINE is not set
993
994#
995# DMA Clients
996#
997
998#
999# DMA Devices
1000#
1001
1002#
973# File systems 1003# File systems
974# 1004#
975CONFIG_EXT2_FS=y 1005CONFIG_EXT2_FS=y
@@ -988,7 +1018,6 @@ CONFIG_FS_MBCACHE=y
988# CONFIG_JFS_FS is not set 1018# CONFIG_JFS_FS is not set
989CONFIG_FS_POSIX_ACL=y 1019CONFIG_FS_POSIX_ACL=y
990CONFIG_XFS_FS=m 1020CONFIG_XFS_FS=m
991CONFIG_XFS_EXPORT=y
992# CONFIG_XFS_QUOTA is not set 1021# CONFIG_XFS_QUOTA is not set
993# CONFIG_XFS_SECURITY is not set 1022# CONFIG_XFS_SECURITY is not set
994# CONFIG_XFS_POSIX_ACL is not set 1023# CONFIG_XFS_POSIX_ACL is not set
@@ -997,6 +1026,7 @@ CONFIG_XFS_EXPORT=y
997# CONFIG_MINIX_FS is not set 1026# CONFIG_MINIX_FS is not set
998# CONFIG_ROMFS_FS is not set 1027# CONFIG_ROMFS_FS is not set
999CONFIG_INOTIFY=y 1028CONFIG_INOTIFY=y
1029CONFIG_INOTIFY_USER=y
1000# CONFIG_QUOTA is not set 1030# CONFIG_QUOTA is not set
1001# CONFIG_DNOTIFY is not set 1031# CONFIG_DNOTIFY is not set
1002# CONFIG_AUTOFS_FS is not set 1032# CONFIG_AUTOFS_FS is not set
@@ -1047,6 +1077,7 @@ CONFIG_JFFS2_FS=y
1047CONFIG_JFFS2_FS_DEBUG=0 1077CONFIG_JFFS2_FS_DEBUG=0
1048CONFIG_JFFS2_FS_WRITEBUFFER=y 1078CONFIG_JFFS2_FS_WRITEBUFFER=y
1049# CONFIG_JFFS2_SUMMARY is not set 1079# CONFIG_JFFS2_SUMMARY is not set
1080# CONFIG_JFFS2_FS_XATTR is not set
1050CONFIG_JFFS2_COMPRESSION_OPTIONS=y 1081CONFIG_JFFS2_COMPRESSION_OPTIONS=y
1051CONFIG_JFFS2_ZLIB=y 1082CONFIG_JFFS2_ZLIB=y
1052CONFIG_JFFS2_RTIME=y 1083CONFIG_JFFS2_RTIME=y
@@ -1086,6 +1117,7 @@ CONFIG_RPCSEC_GSS_KRB5=y
1086CONFIG_SMB_FS=m 1117CONFIG_SMB_FS=m
1087# CONFIG_SMB_NLS_DEFAULT is not set 1118# CONFIG_SMB_NLS_DEFAULT is not set
1088# CONFIG_CIFS is not set 1119# CONFIG_CIFS is not set
1120# CONFIG_CIFS_DEBUG2 is not set
1089# CONFIG_NCP_FS is not set 1121# CONFIG_NCP_FS is not set
1090# CONFIG_CODA_FS is not set 1122# CONFIG_CODA_FS is not set
1091# CONFIG_AFS_FS is not set 1123# CONFIG_AFS_FS is not set
@@ -1151,6 +1183,7 @@ CONFIG_NLS_UTF8=m
1151# 1183#
1152# CONFIG_PRINTK_TIME is not set 1184# CONFIG_PRINTK_TIME is not set
1153# CONFIG_MAGIC_SYSRQ is not set 1185# CONFIG_MAGIC_SYSRQ is not set
1186# CONFIG_UNUSED_SYMBOLS is not set
1154# CONFIG_DEBUG_KERNEL is not set 1187# CONFIG_DEBUG_KERNEL is not set
1155CONFIG_LOG_BUF_SHIFT=14 1188CONFIG_LOG_BUF_SHIFT=14
1156# CONFIG_DEBUG_FS is not set 1189# CONFIG_DEBUG_FS is not set
@@ -1205,3 +1238,4 @@ CONFIG_CRC32=y
1205# CONFIG_LIBCRC32C is not set 1238# CONFIG_LIBCRC32C is not set
1206CONFIG_ZLIB_INFLATE=y 1239CONFIG_ZLIB_INFLATE=y
1207CONFIG_ZLIB_DEFLATE=y 1240CONFIG_ZLIB_DEFLATE=y
1241CONFIG_PLIST=y
diff --git a/arch/mips/configs/ev64120_defconfig b/arch/mips/configs/ev64120_defconfig
index 5248a1d8131d..b0afc118bd5c 100644
--- a/arch/mips/configs/ev64120_defconfig
+++ b/arch/mips/configs/ev64120_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.17-rc2 3# Linux kernel version: 2.6.18-rc1
4# Mon Apr 24 14:51:02 2006 4# Thu Jul 6 10:04:05 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -21,6 +21,7 @@ CONFIG_MIPS=y
21# CONFIG_MIPS_DB1550 is not set 21# CONFIG_MIPS_DB1550 is not set
22# CONFIG_MIPS_DB1200 is not set 22# CONFIG_MIPS_DB1200 is not set
23# CONFIG_MIPS_MIRAGE is not set 23# CONFIG_MIPS_MIRAGE is not set
24# CONFIG_BASLER_EXCITE is not set
24# CONFIG_MIPS_COBALT is not set 25# CONFIG_MIPS_COBALT is not set
25# CONFIG_MACH_DECSTATION is not set 26# CONFIG_MACH_DECSTATION is not set
26CONFIG_MIPS_EV64120=y 27CONFIG_MIPS_EV64120=y
@@ -32,6 +33,7 @@ CONFIG_MIPS_EV64120=y
32# CONFIG_MIPS_ATLAS is not set 33# CONFIG_MIPS_ATLAS is not set
33# CONFIG_MIPS_MALTA is not set 34# CONFIG_MIPS_MALTA is not set
34# CONFIG_MIPS_SEAD is not set 35# CONFIG_MIPS_SEAD is not set
36# CONFIG_WR_PPMC is not set
35# CONFIG_MIPS_SIM is not set 37# CONFIG_MIPS_SIM is not set
36# CONFIG_MOMENCO_JAGUAR_ATX is not set 38# CONFIG_MOMENCO_JAGUAR_ATX is not set
37# CONFIG_MOMENCO_OCELOT is not set 39# CONFIG_MOMENCO_OCELOT is not set
@@ -45,6 +47,7 @@ CONFIG_MIPS_EV64120=y
45# CONFIG_MACH_VR41XX is not set 47# CONFIG_MACH_VR41XX is not set
46# CONFIG_PMC_YOSEMITE is not set 48# CONFIG_PMC_YOSEMITE is not set
47# CONFIG_QEMU is not set 49# CONFIG_QEMU is not set
50# CONFIG_MARKEINS is not set
48# CONFIG_SGI_IP22 is not set 51# CONFIG_SGI_IP22 is not set
49# CONFIG_SGI_IP27 is not set 52# CONFIG_SGI_IP27 is not set
50# CONFIG_SGI_IP32 is not set 53# CONFIG_SGI_IP32 is not set
@@ -66,6 +69,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y
66CONFIG_GENERIC_FIND_NEXT_BIT=y 69CONFIG_GENERIC_FIND_NEXT_BIT=y
67CONFIG_GENERIC_HWEIGHT=y 70CONFIG_GENERIC_HWEIGHT=y
68CONFIG_GENERIC_CALIBRATE_DELAY=y 71CONFIG_GENERIC_CALIBRATE_DELAY=y
72CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
69CONFIG_DMA_NONCOHERENT=y 73CONFIG_DMA_NONCOHERENT=y
70CONFIG_DMA_NEED_PCI_MAP_STATE=y 74CONFIG_DMA_NEED_PCI_MAP_STATE=y
71CONFIG_CPU_BIG_ENDIAN=y 75CONFIG_CPU_BIG_ENDIAN=y
@@ -114,7 +118,10 @@ CONFIG_PAGE_SIZE_4KB=y
114# CONFIG_PAGE_SIZE_8KB is not set 118# CONFIG_PAGE_SIZE_8KB is not set
115# CONFIG_PAGE_SIZE_16KB is not set 119# CONFIG_PAGE_SIZE_16KB is not set
116# CONFIG_PAGE_SIZE_64KB is not set 120# CONFIG_PAGE_SIZE_64KB is not set
117# CONFIG_MIPS_MT is not set 121CONFIG_MIPS_MT_DISABLED=y
122# CONFIG_MIPS_MT_SMTC is not set
123# CONFIG_MIPS_MT_SMP is not set
124# CONFIG_MIPS_VPE_LOADER is not set
118# CONFIG_64BIT_PHYS_ADDR is not set 125# CONFIG_64BIT_PHYS_ADDR is not set
119CONFIG_CPU_HAS_LLSC=y 126CONFIG_CPU_HAS_LLSC=y
120CONFIG_CPU_HAS_SYNC=y 127CONFIG_CPU_HAS_SYNC=y
@@ -129,6 +136,7 @@ CONFIG_FLATMEM=y
129CONFIG_FLAT_NODE_MEM_MAP=y 136CONFIG_FLAT_NODE_MEM_MAP=y
130# CONFIG_SPARSEMEM_STATIC is not set 137# CONFIG_SPARSEMEM_STATIC is not set
131CONFIG_SPLIT_PTLOCK_CPUS=4 138CONFIG_SPLIT_PTLOCK_CPUS=4
139# CONFIG_RESOURCES_64BIT is not set
132# CONFIG_HZ_48 is not set 140# CONFIG_HZ_48 is not set
133# CONFIG_HZ_100 is not set 141# CONFIG_HZ_100 is not set
134# CONFIG_HZ_128 is not set 142# CONFIG_HZ_128 is not set
@@ -141,6 +149,7 @@ CONFIG_HZ=1000
141CONFIG_PREEMPT_NONE=y 149CONFIG_PREEMPT_NONE=y
142# CONFIG_PREEMPT_VOLUNTARY is not set 150# CONFIG_PREEMPT_VOLUNTARY is not set
143# CONFIG_PREEMPT is not set 151# CONFIG_PREEMPT is not set
152CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
144 153
145# 154#
146# Code maturity level options 155# Code maturity level options
@@ -172,10 +181,12 @@ CONFIG_PRINTK=y
172CONFIG_BUG=y 181CONFIG_BUG=y
173CONFIG_ELF_CORE=y 182CONFIG_ELF_CORE=y
174CONFIG_BASE_FULL=y 183CONFIG_BASE_FULL=y
184CONFIG_RT_MUTEXES=y
175CONFIG_FUTEX=y 185CONFIG_FUTEX=y
176CONFIG_EPOLL=y 186CONFIG_EPOLL=y
177CONFIG_SHMEM=y 187CONFIG_SHMEM=y
178CONFIG_SLAB=y 188CONFIG_SLAB=y
189CONFIG_VM_EVENT_COUNTERS=y
179# CONFIG_TINY_SHMEM is not set 190# CONFIG_TINY_SHMEM is not set
180CONFIG_BASE_SMALL=0 191CONFIG_BASE_SMALL=0
181# CONFIG_SLOB is not set 192# CONFIG_SLOB is not set
@@ -265,6 +276,8 @@ CONFIG_IP_PNP=y
265# CONFIG_INET_IPCOMP is not set 276# CONFIG_INET_IPCOMP is not set
266# CONFIG_INET_XFRM_TUNNEL is not set 277# CONFIG_INET_XFRM_TUNNEL is not set
267# CONFIG_INET_TUNNEL is not set 278# CONFIG_INET_TUNNEL is not set
279CONFIG_INET_XFRM_MODE_TRANSPORT=m
280CONFIG_INET_XFRM_MODE_TUNNEL=m
268CONFIG_INET_DIAG=y 281CONFIG_INET_DIAG=y
269CONFIG_INET_TCP_DIAG=y 282CONFIG_INET_TCP_DIAG=y
270# CONFIG_TCP_CONG_ADVANCED is not set 283# CONFIG_TCP_CONG_ADVANCED is not set
@@ -272,6 +285,7 @@ CONFIG_TCP_CONG_BIC=y
272# CONFIG_IPV6 is not set 285# CONFIG_IPV6 is not set
273# CONFIG_INET6_XFRM_TUNNEL is not set 286# CONFIG_INET6_XFRM_TUNNEL is not set
274# CONFIG_INET6_TUNNEL is not set 287# CONFIG_INET6_TUNNEL is not set
288CONFIG_NETWORK_SECMARK=y
275# CONFIG_NETFILTER is not set 289# CONFIG_NETFILTER is not set
276 290
277# 291#
@@ -331,6 +345,7 @@ CONFIG_WIRELESS_EXT=y
331CONFIG_STANDALONE=y 345CONFIG_STANDALONE=y
332CONFIG_PREVENT_FIRMWARE_BUILD=y 346CONFIG_PREVENT_FIRMWARE_BUILD=y
333CONFIG_FW_LOADER=m 347CONFIG_FW_LOADER=m
348# CONFIG_SYS_HYPERVISOR is not set
334 349
335# 350#
336# Connector - unified userspace <-> kernelspace linker 351# Connector - unified userspace <-> kernelspace linker
@@ -427,6 +442,8 @@ CONFIG_DAVICOM_PHY=m
427CONFIG_QSEMI_PHY=m 442CONFIG_QSEMI_PHY=m
428CONFIG_LXT_PHY=m 443CONFIG_LXT_PHY=m
429CONFIG_CICADA_PHY=m 444CONFIG_CICADA_PHY=m
445CONFIG_VITESSE_PHY=m
446CONFIG_SMSC_PHY=m
430 447
431# 448#
432# Ethernet (10 or 100Mbit) 449# Ethernet (10 or 100Mbit)
@@ -469,6 +486,7 @@ CONFIG_NET_ETHERNET=y
469# CONFIG_CHELSIO_T1 is not set 486# CONFIG_CHELSIO_T1 is not set
470# CONFIG_IXGB is not set 487# CONFIG_IXGB is not set
471# CONFIG_S2IO is not set 488# CONFIG_S2IO is not set
489# CONFIG_MYRI10GE is not set
472 490
473# 491#
474# Token Ring devices 492# Token Ring devices
@@ -554,6 +572,7 @@ CONFIG_SERIO_RAW=m
554CONFIG_VT=y 572CONFIG_VT=y
555CONFIG_VT_CONSOLE=y 573CONFIG_VT_CONSOLE=y
556CONFIG_HW_CONSOLE=y 574CONFIG_HW_CONSOLE=y
575CONFIG_VT_HW_CONSOLE_BINDING=y
557# CONFIG_SERIAL_NONSTANDARD is not set 576# CONFIG_SERIAL_NONSTANDARD is not set
558 577
559# 578#
@@ -585,6 +604,7 @@ CONFIG_LEGACY_PTY_COUNT=256
585# Watchdog Cards 604# Watchdog Cards
586# 605#
587# CONFIG_WATCHDOG is not set 606# CONFIG_WATCHDOG is not set
607# CONFIG_HW_RANDOM is not set
588# CONFIG_RTC is not set 608# CONFIG_RTC is not set
589# CONFIG_GEN_RTC is not set 609# CONFIG_GEN_RTC is not set
590# CONFIG_DTLK is not set 610# CONFIG_DTLK is not set
@@ -633,6 +653,7 @@ CONFIG_LEGACY_PTY_COUNT=256
633# Multimedia devices 653# Multimedia devices
634# 654#
635# CONFIG_VIDEO_DEV is not set 655# CONFIG_VIDEO_DEV is not set
656CONFIG_VIDEO_V4L2=y
636 657
637# 658#
638# Digital Video Broadcasting Devices 659# Digital Video Broadcasting Devices
@@ -642,6 +663,7 @@ CONFIG_LEGACY_PTY_COUNT=256
642# 663#
643# Graphics support 664# Graphics support
644# 665#
666# CONFIG_FIRMWARE_EDID is not set
645# CONFIG_FB is not set 667# CONFIG_FB is not set
646 668
647# 669#
@@ -705,6 +727,19 @@ CONFIG_USB_ARCH_HAS_EHCI=y
705# CONFIG_RTC_CLASS is not set 727# CONFIG_RTC_CLASS is not set
706 728
707# 729#
730# DMA Engine support
731#
732# CONFIG_DMA_ENGINE is not set
733
734#
735# DMA Clients
736#
737
738#
739# DMA Devices
740#
741
742#
708# File systems 743# File systems
709# 744#
710CONFIG_EXT2_FS=y 745CONFIG_EXT2_FS=y
@@ -719,6 +754,7 @@ CONFIG_EXT2_FS=y
719# CONFIG_MINIX_FS is not set 754# CONFIG_MINIX_FS is not set
720# CONFIG_ROMFS_FS is not set 755# CONFIG_ROMFS_FS is not set
721CONFIG_INOTIFY=y 756CONFIG_INOTIFY=y
757CONFIG_INOTIFY_USER=y
722# CONFIG_QUOTA is not set 758# CONFIG_QUOTA is not set
723CONFIG_DNOTIFY=y 759CONFIG_DNOTIFY=y
724# CONFIG_AUTOFS_FS is not set 760# CONFIG_AUTOFS_FS is not set
@@ -782,6 +818,7 @@ CONFIG_SUNRPC=y
782# CONFIG_RPCSEC_GSS_SPKM3 is not set 818# CONFIG_RPCSEC_GSS_SPKM3 is not set
783# CONFIG_SMB_FS is not set 819# CONFIG_SMB_FS is not set
784# CONFIG_CIFS is not set 820# CONFIG_CIFS is not set
821# CONFIG_CIFS_DEBUG2 is not set
785# CONFIG_NCP_FS is not set 822# CONFIG_NCP_FS is not set
786# CONFIG_CODA_FS is not set 823# CONFIG_CODA_FS is not set
787# CONFIG_AFS_FS is not set 824# CONFIG_AFS_FS is not set
@@ -808,6 +845,7 @@ CONFIG_MSDOS_PARTITION=y
808# 845#
809# CONFIG_PRINTK_TIME is not set 846# CONFIG_PRINTK_TIME is not set
810# CONFIG_MAGIC_SYSRQ is not set 847# CONFIG_MAGIC_SYSRQ is not set
848# CONFIG_UNUSED_SYMBOLS is not set
811# CONFIG_DEBUG_KERNEL is not set 849# CONFIG_DEBUG_KERNEL is not set
812CONFIG_LOG_BUF_SHIFT=14 850CONFIG_LOG_BUF_SHIFT=14
813# CONFIG_DEBUG_FS is not set 851# CONFIG_DEBUG_FS is not set
@@ -863,3 +901,4 @@ CONFIG_CRC32=m
863CONFIG_LIBCRC32C=m 901CONFIG_LIBCRC32C=m
864CONFIG_ZLIB_INFLATE=m 902CONFIG_ZLIB_INFLATE=m
865CONFIG_ZLIB_DEFLATE=m 903CONFIG_ZLIB_DEFLATE=m
904CONFIG_PLIST=y
diff --git a/arch/mips/configs/ev96100_defconfig b/arch/mips/configs/ev96100_defconfig
index 4858491ce669..0bdc10f11610 100644
--- a/arch/mips/configs/ev96100_defconfig
+++ b/arch/mips/configs/ev96100_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.17-rc2 3# Linux kernel version: 2.6.18-rc1
4# Mon Apr 24 14:51:03 2006 4# Thu Jul 6 10:04:05 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -21,6 +21,7 @@ CONFIG_MIPS=y
21# CONFIG_MIPS_DB1550 is not set 21# CONFIG_MIPS_DB1550 is not set
22# CONFIG_MIPS_DB1200 is not set 22# CONFIG_MIPS_DB1200 is not set
23# CONFIG_MIPS_MIRAGE is not set 23# CONFIG_MIPS_MIRAGE is not set
24# CONFIG_BASLER_EXCITE is not set
24# CONFIG_MIPS_COBALT is not set 25# CONFIG_MIPS_COBALT is not set
25# CONFIG_MACH_DECSTATION is not set 26# CONFIG_MACH_DECSTATION is not set
26# CONFIG_MIPS_EV64120 is not set 27# CONFIG_MIPS_EV64120 is not set
@@ -32,6 +33,7 @@ CONFIG_MIPS_EV96100=y
32# CONFIG_MIPS_ATLAS is not set 33# CONFIG_MIPS_ATLAS is not set
33# CONFIG_MIPS_MALTA is not set 34# CONFIG_MIPS_MALTA is not set
34# CONFIG_MIPS_SEAD is not set 35# CONFIG_MIPS_SEAD is not set
36# CONFIG_WR_PPMC is not set
35# CONFIG_MIPS_SIM is not set 37# CONFIG_MIPS_SIM is not set
36# CONFIG_MOMENCO_JAGUAR_ATX is not set 38# CONFIG_MOMENCO_JAGUAR_ATX is not set
37# CONFIG_MOMENCO_OCELOT is not set 39# CONFIG_MOMENCO_OCELOT is not set
@@ -45,6 +47,7 @@ CONFIG_MIPS_EV96100=y
45# CONFIG_MACH_VR41XX is not set 47# CONFIG_MACH_VR41XX is not set
46# CONFIG_PMC_YOSEMITE is not set 48# CONFIG_PMC_YOSEMITE is not set
47# CONFIG_QEMU is not set 49# CONFIG_QEMU is not set
50# CONFIG_MARKEINS is not set
48# CONFIG_SGI_IP22 is not set 51# CONFIG_SGI_IP22 is not set
49# CONFIG_SGI_IP27 is not set 52# CONFIG_SGI_IP27 is not set
50# CONFIG_SGI_IP32 is not set 53# CONFIG_SGI_IP32 is not set
@@ -65,6 +68,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y
65CONFIG_GENERIC_FIND_NEXT_BIT=y 68CONFIG_GENERIC_FIND_NEXT_BIT=y
66CONFIG_GENERIC_HWEIGHT=y 69CONFIG_GENERIC_HWEIGHT=y
67CONFIG_GENERIC_CALIBRATE_DELAY=y 70CONFIG_GENERIC_CALIBRATE_DELAY=y
71CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
68CONFIG_DMA_NONCOHERENT=y 72CONFIG_DMA_NONCOHERENT=y
69CONFIG_DMA_NEED_PCI_MAP_STATE=y 73CONFIG_DMA_NEED_PCI_MAP_STATE=y
70CONFIG_CPU_BIG_ENDIAN=y 74CONFIG_CPU_BIG_ENDIAN=y
@@ -117,7 +121,10 @@ CONFIG_PAGE_SIZE_4KB=y
117CONFIG_BOARD_SCACHE=y 121CONFIG_BOARD_SCACHE=y
118CONFIG_RM7000_CPU_SCACHE=y 122CONFIG_RM7000_CPU_SCACHE=y
119CONFIG_CPU_HAS_PREFETCH=y 123CONFIG_CPU_HAS_PREFETCH=y
120# CONFIG_MIPS_MT is not set 124CONFIG_MIPS_MT_DISABLED=y
125# CONFIG_MIPS_MT_SMTC is not set
126# CONFIG_MIPS_MT_SMP is not set
127# CONFIG_MIPS_VPE_LOADER is not set
121# CONFIG_64BIT_PHYS_ADDR is not set 128# CONFIG_64BIT_PHYS_ADDR is not set
122CONFIG_CPU_HAS_LLSC=y 129CONFIG_CPU_HAS_LLSC=y
123CONFIG_CPU_HAS_SYNC=y 130CONFIG_CPU_HAS_SYNC=y
@@ -133,6 +140,7 @@ CONFIG_FLATMEM=y
133CONFIG_FLAT_NODE_MEM_MAP=y 140CONFIG_FLAT_NODE_MEM_MAP=y
134# CONFIG_SPARSEMEM_STATIC is not set 141# CONFIG_SPARSEMEM_STATIC is not set
135CONFIG_SPLIT_PTLOCK_CPUS=4 142CONFIG_SPLIT_PTLOCK_CPUS=4
143# CONFIG_RESOURCES_64BIT is not set
136# CONFIG_HZ_48 is not set 144# CONFIG_HZ_48 is not set
137# CONFIG_HZ_100 is not set 145# CONFIG_HZ_100 is not set
138# CONFIG_HZ_128 is not set 146# CONFIG_HZ_128 is not set
@@ -145,6 +153,7 @@ CONFIG_HZ=1000
145CONFIG_PREEMPT_NONE=y 153CONFIG_PREEMPT_NONE=y
146# CONFIG_PREEMPT_VOLUNTARY is not set 154# CONFIG_PREEMPT_VOLUNTARY is not set
147# CONFIG_PREEMPT is not set 155# CONFIG_PREEMPT is not set
156CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
148 157
149# 158#
150# Code maturity level options 159# Code maturity level options
@@ -176,10 +185,12 @@ CONFIG_PRINTK=y
176CONFIG_BUG=y 185CONFIG_BUG=y
177CONFIG_ELF_CORE=y 186CONFIG_ELF_CORE=y
178CONFIG_BASE_FULL=y 187CONFIG_BASE_FULL=y
188CONFIG_RT_MUTEXES=y
179CONFIG_FUTEX=y 189CONFIG_FUTEX=y
180CONFIG_EPOLL=y 190CONFIG_EPOLL=y
181CONFIG_SHMEM=y 191CONFIG_SHMEM=y
182CONFIG_SLAB=y 192CONFIG_SLAB=y
193CONFIG_VM_EVENT_COUNTERS=y
183# CONFIG_TINY_SHMEM is not set 194# CONFIG_TINY_SHMEM is not set
184CONFIG_BASE_SMALL=0 195CONFIG_BASE_SMALL=0
185# CONFIG_SLOB is not set 196# CONFIG_SLOB is not set
@@ -268,6 +279,8 @@ CONFIG_IP_PNP_BOOTP=y
268# CONFIG_INET_IPCOMP is not set 279# CONFIG_INET_IPCOMP is not set
269# CONFIG_INET_XFRM_TUNNEL is not set 280# CONFIG_INET_XFRM_TUNNEL is not set
270# CONFIG_INET_TUNNEL is not set 281# CONFIG_INET_TUNNEL is not set
282CONFIG_INET_XFRM_MODE_TRANSPORT=m
283CONFIG_INET_XFRM_MODE_TUNNEL=m
271CONFIG_INET_DIAG=y 284CONFIG_INET_DIAG=y
272CONFIG_INET_TCP_DIAG=y 285CONFIG_INET_TCP_DIAG=y
273# CONFIG_TCP_CONG_ADVANCED is not set 286# CONFIG_TCP_CONG_ADVANCED is not set
@@ -275,6 +288,7 @@ CONFIG_TCP_CONG_BIC=y
275# CONFIG_IPV6 is not set 288# CONFIG_IPV6 is not set
276# CONFIG_INET6_XFRM_TUNNEL is not set 289# CONFIG_INET6_XFRM_TUNNEL is not set
277# CONFIG_INET6_TUNNEL is not set 290# CONFIG_INET6_TUNNEL is not set
291CONFIG_NETWORK_SECMARK=y
278# CONFIG_NETFILTER is not set 292# CONFIG_NETFILTER is not set
279 293
280# 294#
@@ -334,6 +348,7 @@ CONFIG_WIRELESS_EXT=y
334CONFIG_STANDALONE=y 348CONFIG_STANDALONE=y
335CONFIG_PREVENT_FIRMWARE_BUILD=y 349CONFIG_PREVENT_FIRMWARE_BUILD=y
336# CONFIG_FW_LOADER is not set 350# CONFIG_FW_LOADER is not set
351# CONFIG_SYS_HYPERVISOR is not set
337 352
338# 353#
339# Connector - unified userspace <-> kernelspace linker 354# Connector - unified userspace <-> kernelspace linker
@@ -418,6 +433,8 @@ CONFIG_DAVICOM_PHY=m
418CONFIG_QSEMI_PHY=m 433CONFIG_QSEMI_PHY=m
419CONFIG_LXT_PHY=m 434CONFIG_LXT_PHY=m
420CONFIG_CICADA_PHY=m 435CONFIG_CICADA_PHY=m
436CONFIG_VITESSE_PHY=m
437CONFIG_SMSC_PHY=m
421 438
422# 439#
423# Ethernet (10 or 100Mbit) 440# Ethernet (10 or 100Mbit)
@@ -507,6 +524,7 @@ CONFIG_SERIO_RAW=m
507CONFIG_VT=y 524CONFIG_VT=y
508CONFIG_VT_CONSOLE=y 525CONFIG_VT_CONSOLE=y
509CONFIG_HW_CONSOLE=y 526CONFIG_HW_CONSOLE=y
527CONFIG_VT_HW_CONSOLE_BINDING=y
510# CONFIG_SERIAL_NONSTANDARD is not set 528# CONFIG_SERIAL_NONSTANDARD is not set
511 529
512# 530#
@@ -536,6 +554,7 @@ CONFIG_LEGACY_PTY_COUNT=256
536# Watchdog Cards 554# Watchdog Cards
537# 555#
538# CONFIG_WATCHDOG is not set 556# CONFIG_WATCHDOG is not set
557# CONFIG_HW_RANDOM is not set
539# CONFIG_RTC is not set 558# CONFIG_RTC is not set
540# CONFIG_GEN_RTC is not set 559# CONFIG_GEN_RTC is not set
541# CONFIG_DTLK is not set 560# CONFIG_DTLK is not set
@@ -582,6 +601,7 @@ CONFIG_LEGACY_PTY_COUNT=256
582# Multimedia devices 601# Multimedia devices
583# 602#
584# CONFIG_VIDEO_DEV is not set 603# CONFIG_VIDEO_DEV is not set
604CONFIG_VIDEO_V4L2=y
585 605
586# 606#
587# Digital Video Broadcasting Devices 607# Digital Video Broadcasting Devices
@@ -591,6 +611,7 @@ CONFIG_LEGACY_PTY_COUNT=256
591# 611#
592# Graphics support 612# Graphics support
593# 613#
614# CONFIG_FIRMWARE_EDID is not set
594# CONFIG_FB is not set 615# CONFIG_FB is not set
595 616
596# 617#
@@ -652,6 +673,19 @@ CONFIG_DUMMY_CONSOLE=y
652# CONFIG_RTC_CLASS is not set 673# CONFIG_RTC_CLASS is not set
653 674
654# 675#
676# DMA Engine support
677#
678# CONFIG_DMA_ENGINE is not set
679
680#
681# DMA Clients
682#
683
684#
685# DMA Devices
686#
687
688#
655# File systems 689# File systems
656# 690#
657CONFIG_EXT2_FS=y 691CONFIG_EXT2_FS=y
@@ -666,6 +700,7 @@ CONFIG_EXT2_FS=y
666# CONFIG_MINIX_FS is not set 700# CONFIG_MINIX_FS is not set
667# CONFIG_ROMFS_FS is not set 701# CONFIG_ROMFS_FS is not set
668CONFIG_INOTIFY=y 702CONFIG_INOTIFY=y
703CONFIG_INOTIFY_USER=y
669# CONFIG_QUOTA is not set 704# CONFIG_QUOTA is not set
670CONFIG_DNOTIFY=y 705CONFIG_DNOTIFY=y
671# CONFIG_AUTOFS_FS is not set 706# CONFIG_AUTOFS_FS is not set
@@ -729,6 +764,7 @@ CONFIG_SUNRPC=y
729# CONFIG_RPCSEC_GSS_SPKM3 is not set 764# CONFIG_RPCSEC_GSS_SPKM3 is not set
730# CONFIG_SMB_FS is not set 765# CONFIG_SMB_FS is not set
731# CONFIG_CIFS is not set 766# CONFIG_CIFS is not set
767# CONFIG_CIFS_DEBUG2 is not set
732# CONFIG_NCP_FS is not set 768# CONFIG_NCP_FS is not set
733# CONFIG_CODA_FS is not set 769# CONFIG_CODA_FS is not set
734# CONFIG_AFS_FS is not set 770# CONFIG_AFS_FS is not set
@@ -755,6 +791,7 @@ CONFIG_MSDOS_PARTITION=y
755# 791#
756# CONFIG_PRINTK_TIME is not set 792# CONFIG_PRINTK_TIME is not set
757# CONFIG_MAGIC_SYSRQ is not set 793# CONFIG_MAGIC_SYSRQ is not set
794# CONFIG_UNUSED_SYMBOLS is not set
758# CONFIG_DEBUG_KERNEL is not set 795# CONFIG_DEBUG_KERNEL is not set
759CONFIG_LOG_BUF_SHIFT=14 796CONFIG_LOG_BUF_SHIFT=14
760# CONFIG_DEBUG_FS is not set 797# CONFIG_DEBUG_FS is not set
@@ -810,3 +847,4 @@ CONFIG_CRC32=m
810CONFIG_LIBCRC32C=m 847CONFIG_LIBCRC32C=m
811CONFIG_ZLIB_INFLATE=m 848CONFIG_ZLIB_INFLATE=m
812CONFIG_ZLIB_DEFLATE=m 849CONFIG_ZLIB_DEFLATE=m
850CONFIG_PLIST=y
diff --git a/arch/mips/configs/excite_defconfig b/arch/mips/configs/excite_defconfig
index f2ce64cb41a8..045ebd089893 100644
--- a/arch/mips/configs/excite_defconfig
+++ b/arch/mips/configs/excite_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.16-rc4 3# Linux kernel version: 2.6.18-rc1
4# Thu Feb 23 13:15:27 2006 4# Thu Jul 6 10:04:09 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -21,6 +21,8 @@ CONFIG_MIPS=y
21# CONFIG_MIPS_DB1550 is not set 21# CONFIG_MIPS_DB1550 is not set
22# CONFIG_MIPS_DB1200 is not set 22# CONFIG_MIPS_DB1200 is not set
23# CONFIG_MIPS_MIRAGE is not set 23# CONFIG_MIPS_MIRAGE is not set
24CONFIG_BASLER_EXCITE=y
25# CONFIG_BASLER_EXCITE_PROTOTYPE is not set
24# CONFIG_MIPS_COBALT is not set 26# CONFIG_MIPS_COBALT is not set
25# CONFIG_MACH_DECSTATION is not set 27# CONFIG_MACH_DECSTATION is not set
26# CONFIG_MIPS_EV64120 is not set 28# CONFIG_MIPS_EV64120 is not set
@@ -32,6 +34,7 @@ CONFIG_MIPS=y
32# CONFIG_MIPS_ATLAS is not set 34# CONFIG_MIPS_ATLAS is not set
33# CONFIG_MIPS_MALTA is not set 35# CONFIG_MIPS_MALTA is not set
34# CONFIG_MIPS_SEAD is not set 36# CONFIG_MIPS_SEAD is not set
37# CONFIG_WR_PPMC is not set
35# CONFIG_MIPS_SIM is not set 38# CONFIG_MIPS_SIM is not set
36# CONFIG_MOMENCO_JAGUAR_ATX is not set 39# CONFIG_MOMENCO_JAGUAR_ATX is not set
37# CONFIG_MOMENCO_OCELOT is not set 40# CONFIG_MOMENCO_OCELOT is not set
@@ -41,14 +44,11 @@ CONFIG_MIPS=y
41# CONFIG_MIPS_XXS1500 is not set 44# CONFIG_MIPS_XXS1500 is not set
42# CONFIG_PNX8550_V2PCI is not set 45# CONFIG_PNX8550_V2PCI is not set
43# CONFIG_PNX8550_JBS is not set 46# CONFIG_PNX8550_JBS is not set
44CONFIG_BASLER_EXCITE=y
45# CONFIG_BASLER_EXCITE_PROTOTYPE is not set
46# CONFIG_DDB5074 is not set
47# CONFIG_DDB5476 is not set
48# CONFIG_DDB5477 is not set 47# CONFIG_DDB5477 is not set
49# CONFIG_MACH_VR41XX is not set 48# CONFIG_MACH_VR41XX is not set
50# CONFIG_PMC_YOSEMITE is not set 49# CONFIG_PMC_YOSEMITE is not set
51# CONFIG_QEMU is not set 50# CONFIG_QEMU is not set
51# CONFIG_MARKEINS is not set
52# CONFIG_SGI_IP22 is not set 52# CONFIG_SGI_IP22 is not set
53# CONFIG_SGI_IP27 is not set 53# CONFIG_SGI_IP27 is not set
54# CONFIG_SGI_IP32 is not set 54# CONFIG_SGI_IP32 is not set
@@ -66,9 +66,11 @@ CONFIG_BASLER_EXCITE=y
66# CONFIG_TOSHIBA_RBTX4927 is not set 66# CONFIG_TOSHIBA_RBTX4927 is not set
67# CONFIG_TOSHIBA_RBTX4938 is not set 67# CONFIG_TOSHIBA_RBTX4938 is not set
68CONFIG_RWSEM_GENERIC_SPINLOCK=y 68CONFIG_RWSEM_GENERIC_SPINLOCK=y
69CONFIG_GENERIC_FIND_NEXT_BIT=y
70CONFIG_GENERIC_HWEIGHT=y
69CONFIG_GENERIC_CALIBRATE_DELAY=y 71CONFIG_GENERIC_CALIBRATE_DELAY=y
72CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
70CONFIG_DMA_COHERENT=y 73CONFIG_DMA_COHERENT=y
71CONFIG_SERIAL_RM9000=y
72CONFIG_CPU_BIG_ENDIAN=y 74CONFIG_CPU_BIG_ENDIAN=y
73# CONFIG_CPU_LITTLE_ENDIAN is not set 75# CONFIG_CPU_LITTLE_ENDIAN is not set
74CONFIG_SYS_SUPPORTS_BIG_ENDIAN=y 76CONFIG_SYS_SUPPORTS_BIG_ENDIAN=y
@@ -115,9 +117,11 @@ CONFIG_PAGE_SIZE_4KB=y
115# CONFIG_PAGE_SIZE_16KB is not set 117# CONFIG_PAGE_SIZE_16KB is not set
116# CONFIG_PAGE_SIZE_64KB is not set 118# CONFIG_PAGE_SIZE_64KB is not set
117CONFIG_CPU_HAS_PREFETCH=y 119CONFIG_CPU_HAS_PREFETCH=y
118# CONFIG_MIPS_MT is not set 120CONFIG_MIPS_MT_DISABLED=y
121# CONFIG_MIPS_MT_SMTC is not set
122# CONFIG_MIPS_MT_SMP is not set
123# CONFIG_MIPS_VPE_LOADER is not set
119# CONFIG_64BIT_PHYS_ADDR is not set 124# CONFIG_64BIT_PHYS_ADDR is not set
120# CONFIG_CPU_ADVANCED is not set
121CONFIG_CPU_HAS_LLSC=y 125CONFIG_CPU_HAS_LLSC=y
122CONFIG_CPU_HAS_SYNC=y 126CONFIG_CPU_HAS_SYNC=y
123CONFIG_GENERIC_HARDIRQS=y 127CONFIG_GENERIC_HARDIRQS=y
@@ -132,6 +136,7 @@ CONFIG_FLATMEM=y
132CONFIG_FLAT_NODE_MEM_MAP=y 136CONFIG_FLAT_NODE_MEM_MAP=y
133# CONFIG_SPARSEMEM_STATIC is not set 137# CONFIG_SPARSEMEM_STATIC is not set
134CONFIG_SPLIT_PTLOCK_CPUS=4 138CONFIG_SPLIT_PTLOCK_CPUS=4
139# CONFIG_RESOURCES_64BIT is not set
135# CONFIG_HZ_48 is not set 140# CONFIG_HZ_48 is not set
136# CONFIG_HZ_100 is not set 141# CONFIG_HZ_100 is not set
137# CONFIG_HZ_128 is not set 142# CONFIG_HZ_128 is not set
@@ -141,11 +146,11 @@ CONFIG_HZ_1000=y
141# CONFIG_HZ_1024 is not set 146# CONFIG_HZ_1024 is not set
142CONFIG_SYS_SUPPORTS_ARBIT_HZ=y 147CONFIG_SYS_SUPPORTS_ARBIT_HZ=y
143CONFIG_HZ=1000 148CONFIG_HZ=1000
144# CONFIG_SMP is not set
145# CONFIG_PREEMPT_NONE is not set 149# CONFIG_PREEMPT_NONE is not set
146# CONFIG_PREEMPT_VOLUNTARY is not set 150# CONFIG_PREEMPT_VOLUNTARY is not set
147CONFIG_PREEMPT=y 151CONFIG_PREEMPT=y
148CONFIG_PREEMPT_BKL=y 152CONFIG_PREEMPT_BKL=y
153CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
149 154
150# 155#
151# Code maturity level options 156# Code maturity level options
@@ -167,6 +172,7 @@ CONFIG_POSIX_MQUEUE=y
167CONFIG_SYSCTL=y 172CONFIG_SYSCTL=y
168# CONFIG_AUDIT is not set 173# CONFIG_AUDIT is not set
169# CONFIG_IKCONFIG is not set 174# CONFIG_IKCONFIG is not set
175# CONFIG_RELAY is not set
170CONFIG_INITRAMFS_SOURCE="" 176CONFIG_INITRAMFS_SOURCE=""
171CONFIG_CC_OPTIMIZE_FOR_SIZE=y 177CONFIG_CC_OPTIMIZE_FOR_SIZE=y
172CONFIG_EMBEDDED=y 178CONFIG_EMBEDDED=y
@@ -177,14 +183,12 @@ CONFIG_PRINTK=y
177CONFIG_BUG=y 183CONFIG_BUG=y
178CONFIG_ELF_CORE=y 184CONFIG_ELF_CORE=y
179CONFIG_BASE_FULL=y 185CONFIG_BASE_FULL=y
186CONFIG_RT_MUTEXES=y
180CONFIG_FUTEX=y 187CONFIG_FUTEX=y
181CONFIG_EPOLL=y 188CONFIG_EPOLL=y
182CONFIG_SHMEM=y 189CONFIG_SHMEM=y
183CONFIG_CC_ALIGN_FUNCTIONS=0
184CONFIG_CC_ALIGN_LABELS=0
185CONFIG_CC_ALIGN_LOOPS=0
186CONFIG_CC_ALIGN_JUMPS=0
187CONFIG_SLAB=y 190CONFIG_SLAB=y
191CONFIG_VM_EVENT_COUNTERS=y
188# CONFIG_TINY_SHMEM is not set 192# CONFIG_TINY_SHMEM is not set
189CONFIG_BASE_SMALL=0 193CONFIG_BASE_SMALL=0
190# CONFIG_SLOB is not set 194# CONFIG_SLOB is not set
@@ -195,7 +199,6 @@ CONFIG_BASE_SMALL=0
195CONFIG_MODULES=y 199CONFIG_MODULES=y
196CONFIG_MODULE_UNLOAD=y 200CONFIG_MODULE_UNLOAD=y
197# CONFIG_MODULE_FORCE_UNLOAD is not set 201# CONFIG_MODULE_FORCE_UNLOAD is not set
198CONFIG_OBSOLETE_MODPARM=y
199# CONFIG_MODVERSIONS is not set 202# CONFIG_MODVERSIONS is not set
200# CONFIG_MODULE_SRCVERSION_ALL is not set 203# CONFIG_MODULE_SRCVERSION_ALL is not set
201CONFIG_KMOD=y 204CONFIG_KMOD=y
@@ -204,6 +207,8 @@ CONFIG_KMOD=y
204# Block layer 207# Block layer
205# 208#
206# CONFIG_LBD is not set 209# CONFIG_LBD is not set
210# CONFIG_BLK_DEV_IO_TRACE is not set
211# CONFIG_LSF is not set
207 212
208# 213#
209# IO Schedulers 214# IO Schedulers
@@ -223,7 +228,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
223# 228#
224CONFIG_HW_HAS_PCI=y 229CONFIG_HW_HAS_PCI=y
225CONFIG_PCI=y 230CONFIG_PCI=y
226# CONFIG_PCI_LEGACY_PROC is not set
227CONFIG_MMU=y 231CONFIG_MMU=y
228 232
229# 233#
@@ -255,6 +259,8 @@ CONFIG_NET=y
255CONFIG_PACKET=y 259CONFIG_PACKET=y
256CONFIG_PACKET_MMAP=y 260CONFIG_PACKET_MMAP=y
257CONFIG_UNIX=y 261CONFIG_UNIX=y
262CONFIG_XFRM=y
263# CONFIG_XFRM_USER is not set
258# CONFIG_NET_KEY is not set 264# CONFIG_NET_KEY is not set
259CONFIG_INET=y 265CONFIG_INET=y
260# CONFIG_IP_MULTICAST is not set 266# CONFIG_IP_MULTICAST is not set
@@ -271,12 +277,18 @@ CONFIG_IP_PNP_DHCP=y
271# CONFIG_INET_AH is not set 277# CONFIG_INET_AH is not set
272# CONFIG_INET_ESP is not set 278# CONFIG_INET_ESP is not set
273# CONFIG_INET_IPCOMP is not set 279# CONFIG_INET_IPCOMP is not set
280# CONFIG_INET_XFRM_TUNNEL is not set
274# CONFIG_INET_TUNNEL is not set 281# CONFIG_INET_TUNNEL is not set
282CONFIG_INET_XFRM_MODE_TRANSPORT=m
283CONFIG_INET_XFRM_MODE_TUNNEL=m
275CONFIG_INET_DIAG=y 284CONFIG_INET_DIAG=y
276CONFIG_INET_TCP_DIAG=y 285CONFIG_INET_TCP_DIAG=y
277# CONFIG_TCP_CONG_ADVANCED is not set 286# CONFIG_TCP_CONG_ADVANCED is not set
278CONFIG_TCP_CONG_BIC=y 287CONFIG_TCP_CONG_BIC=y
279# CONFIG_IPV6 is not set 288# CONFIG_IPV6 is not set
289# CONFIG_INET6_XFRM_TUNNEL is not set
290# CONFIG_INET6_TUNNEL is not set
291CONFIG_NETWORK_SECMARK=y
280# CONFIG_NETFILTER is not set 292# CONFIG_NETFILTER is not set
281 293
282# 294#
@@ -330,6 +342,7 @@ CONFIG_TCP_CONG_BIC=y
330CONFIG_STANDALONE=y 342CONFIG_STANDALONE=y
331CONFIG_PREVENT_FIRMWARE_BUILD=y 343CONFIG_PREVENT_FIRMWARE_BUILD=y
332# CONFIG_FW_LOADER is not set 344# CONFIG_FW_LOADER is not set
345# CONFIG_SYS_HYPERVISOR is not set
333 346
334# 347#
335# Connector - unified userspace <-> kernelspace linker 348# Connector - unified userspace <-> kernelspace linker
@@ -389,7 +402,6 @@ CONFIG_MTD_CFI_I2=y
389# CONFIG_MTD_SLRAM is not set 402# CONFIG_MTD_SLRAM is not set
390# CONFIG_MTD_PHRAM is not set 403# CONFIG_MTD_PHRAM is not set
391# CONFIG_MTD_MTDRAM is not set 404# CONFIG_MTD_MTDRAM is not set
392# CONFIG_MTD_BLKMTD is not set
393# CONFIG_MTD_BLOCK2MTD is not set 405# CONFIG_MTD_BLOCK2MTD is not set
394 406
395# 407#
@@ -404,11 +416,9 @@ CONFIG_MTD_CFI_I2=y
404# 416#
405CONFIG_MTD_NAND=y 417CONFIG_MTD_NAND=y
406CONFIG_MTD_NAND_VERIFY_WRITE=y 418CONFIG_MTD_NAND_VERIFY_WRITE=y
419# CONFIG_MTD_NAND_ECC_SMC is not set
407CONFIG_MTD_NAND_IDS=y 420CONFIG_MTD_NAND_IDS=y
408# CONFIG_MTD_NAND_DISKONCHIP is not set 421# CONFIG_MTD_NAND_DISKONCHIP is not set
409CONFIG_MTD_NAND_BASLER_EXCITE=y
410# CONFIG_MTD_NAND_BASLER_EXCITE_RDNBY is not set
411# CONFIG_MTD_NAND_BASLER_EXCITE_PERF is not set
412# CONFIG_MTD_NAND_NANDSIM is not set 422# CONFIG_MTD_NAND_NANDSIM is not set
413 423
414# 424#
@@ -439,7 +449,7 @@ CONFIG_BLK_DEV_LOOP=m
439# CONFIG_BLK_DEV_SX8 is not set 449# CONFIG_BLK_DEV_SX8 is not set
440# CONFIG_BLK_DEV_UB is not set 450# CONFIG_BLK_DEV_UB is not set
441# CONFIG_BLK_DEV_RAM is not set 451# CONFIG_BLK_DEV_RAM is not set
442CONFIG_BLK_DEV_RAM_COUNT=16 452# CONFIG_BLK_DEV_INITRD is not set
443# CONFIG_CDROM_PKTCDVD is not set 453# CONFIG_CDROM_PKTCDVD is not set
444# CONFIG_ATA_OVER_ETH is not set 454# CONFIG_ATA_OVER_ETH is not set
445 455
@@ -496,6 +506,7 @@ CONFIG_BLK_DEV_SD=y
496# CONFIG_MEGARAID_LEGACY is not set 506# CONFIG_MEGARAID_LEGACY is not set
497# CONFIG_MEGARAID_SAS is not set 507# CONFIG_MEGARAID_SAS is not set
498# CONFIG_SCSI_SATA is not set 508# CONFIG_SCSI_SATA is not set
509# CONFIG_SCSI_HPTIOP is not set
499# CONFIG_SCSI_DMX3191D is not set 510# CONFIG_SCSI_DMX3191D is not set
500# CONFIG_SCSI_FUTURE_DOMAIN is not set 511# CONFIG_SCSI_FUTURE_DOMAIN is not set
501# CONFIG_SCSI_IPS is not set 512# CONFIG_SCSI_IPS is not set
@@ -503,7 +514,6 @@ CONFIG_BLK_DEV_SD=y
503# CONFIG_SCSI_INIA100 is not set 514# CONFIG_SCSI_INIA100 is not set
504# CONFIG_SCSI_SYM53C8XX_2 is not set 515# CONFIG_SCSI_SYM53C8XX_2 is not set
505# CONFIG_SCSI_IPR is not set 516# CONFIG_SCSI_IPR is not set
506# CONFIG_SCSI_QLOGIC_FC is not set
507# CONFIG_SCSI_QLOGIC_1280 is not set 517# CONFIG_SCSI_QLOGIC_1280 is not set
508# CONFIG_SCSI_QLA_FC is not set 518# CONFIG_SCSI_QLA_FC is not set
509# CONFIG_SCSI_LPFC is not set 519# CONFIG_SCSI_LPFC is not set
@@ -574,8 +584,6 @@ CONFIG_NETDEVICES=y
574# CONFIG_SK98LIN is not set 584# CONFIG_SK98LIN is not set
575# CONFIG_TIGON3 is not set 585# CONFIG_TIGON3 is not set
576# CONFIG_BNX2 is not set 586# CONFIG_BNX2 is not set
577# CONFIG_TITAN_GE is not set
578CONFIG_RM9K_GE=m
579 587
580# 588#
581# Ethernet (10000 Mbit) 589# Ethernet (10000 Mbit)
@@ -583,6 +591,7 @@ CONFIG_RM9K_GE=m
583# CONFIG_CHELSIO_T1 is not set 591# CONFIG_CHELSIO_T1 is not set
584# CONFIG_IXGB is not set 592# CONFIG_IXGB is not set
585# CONFIG_S2IO is not set 593# CONFIG_S2IO is not set
594# CONFIG_MYRI10GE is not set
586 595
587# 596#
588# Token Ring devices 597# Token Ring devices
@@ -656,6 +665,7 @@ CONFIG_INPUT_EVDEV=m
656CONFIG_VT=y 665CONFIG_VT=y
657CONFIG_VT_CONSOLE=y 666CONFIG_VT_CONSOLE=y
658CONFIG_HW_CONSOLE=y 667CONFIG_HW_CONSOLE=y
668CONFIG_VT_HW_CONSOLE_BINDING=y
659# CONFIG_SERIAL_NONSTANDARD is not set 669# CONFIG_SERIAL_NONSTANDARD is not set
660 670
661# 671#
@@ -663,6 +673,7 @@ CONFIG_HW_CONSOLE=y
663# 673#
664CONFIG_SERIAL_8250=y 674CONFIG_SERIAL_8250=y
665CONFIG_SERIAL_8250_CONSOLE=y 675CONFIG_SERIAL_8250_CONSOLE=y
676CONFIG_SERIAL_8250_PCI=y
666CONFIG_SERIAL_8250_NR_UARTS=2 677CONFIG_SERIAL_8250_NR_UARTS=2
667CONFIG_SERIAL_8250_RUNTIME_UARTS=2 678CONFIG_SERIAL_8250_RUNTIME_UARTS=2
668CONFIG_SERIAL_8250_EXTENDED=y 679CONFIG_SERIAL_8250_EXTENDED=y
@@ -695,7 +706,6 @@ CONFIG_WATCHDOG=y
695# Watchdog Device Drivers 706# Watchdog Device Drivers
696# 707#
697# CONFIG_SOFT_WATCHDOG is not set 708# CONFIG_SOFT_WATCHDOG is not set
698CONFIG_WDT_RM9K_GPI=m
699 709
700# 710#
701# PCI-based Watchdog Cards 711# PCI-based Watchdog Cards
@@ -707,6 +717,7 @@ CONFIG_WDT_RM9K_GPI=m
707# USB-based Watchdog Cards 717# USB-based Watchdog Cards
708# 718#
709# CONFIG_USBPCWATCHDOG is not set 719# CONFIG_USBPCWATCHDOG is not set
720# CONFIG_HW_RANDOM is not set
710# CONFIG_RTC is not set 721# CONFIG_RTC is not set
711# CONFIG_GEN_RTC is not set 722# CONFIG_GEN_RTC is not set
712# CONFIG_DTLK is not set 723# CONFIG_DTLK is not set
@@ -739,7 +750,6 @@ CONFIG_WDT_RM9K_GPI=m
739# 750#
740# Dallas's 1-wire bus 751# Dallas's 1-wire bus
741# 752#
742# CONFIG_W1 is not set
743 753
744# 754#
745# Hardware Monitoring support 755# Hardware Monitoring support
@@ -752,27 +762,27 @@ CONFIG_WDT_RM9K_GPI=m
752# 762#
753 763
754# 764#
755# Multimedia Capabilities Port drivers
756#
757
758#
759# Multimedia devices 765# Multimedia devices
760# 766#
761# CONFIG_VIDEO_DEV is not set 767# CONFIG_VIDEO_DEV is not set
768CONFIG_VIDEO_V4L2=y
762 769
763# 770#
764# Digital Video Broadcasting Devices 771# Digital Video Broadcasting Devices
765# 772#
766# CONFIG_DVB is not set 773# CONFIG_DVB is not set
774# CONFIG_USB_DABUSB is not set
767 775
768# 776#
769# Graphics support 777# Graphics support
770# 778#
779# CONFIG_FIRMWARE_EDID is not set
771CONFIG_FB=y 780CONFIG_FB=y
772CONFIG_FB_CFB_FILLRECT=y 781# CONFIG_FB_CFB_FILLRECT is not set
773CONFIG_FB_CFB_COPYAREA=y 782# CONFIG_FB_CFB_COPYAREA is not set
774CONFIG_FB_CFB_IMAGEBLIT=y 783# CONFIG_FB_CFB_IMAGEBLIT is not set
775# CONFIG_FB_MACMODES is not set 784# CONFIG_FB_MACMODES is not set
785# CONFIG_FB_BACKLIGHT is not set
776# CONFIG_FB_MODE_HELPERS is not set 786# CONFIG_FB_MODE_HELPERS is not set
777# CONFIG_FB_TILEBLITTING is not set 787# CONFIG_FB_TILEBLITTING is not set
778# CONFIG_FB_CIRRUS is not set 788# CONFIG_FB_CIRRUS is not set
@@ -784,7 +794,6 @@ CONFIG_FB_CFB_IMAGEBLIT=y
784# CONFIG_FB_NVIDIA is not set 794# CONFIG_FB_NVIDIA is not set
785# CONFIG_FB_RIVA is not set 795# CONFIG_FB_RIVA is not set
786# CONFIG_FB_MATROX is not set 796# CONFIG_FB_MATROX is not set
787# CONFIG_FB_RADEON_OLD is not set
788# CONFIG_FB_RADEON is not set 797# CONFIG_FB_RADEON is not set
789# CONFIG_FB_ATY128 is not set 798# CONFIG_FB_ATY128 is not set
790# CONFIG_FB_ATY is not set 799# CONFIG_FB_ATY is not set
@@ -797,7 +806,6 @@ CONFIG_FB_CFB_IMAGEBLIT=y
797# CONFIG_FB_SMIVGX is not set 806# CONFIG_FB_SMIVGX is not set
798# CONFIG_FB_TRIDENT is not set 807# CONFIG_FB_TRIDENT is not set
799# CONFIG_FB_VIRTUAL is not set 808# CONFIG_FB_VIRTUAL is not set
800CONFIG_FB_DD=y
801 809
802# 810#
803# Console display driver support 811# Console display driver support
@@ -826,6 +834,7 @@ CONFIG_FONT_8x16=y
826# 834#
827CONFIG_USB_ARCH_HAS_HCD=y 835CONFIG_USB_ARCH_HAS_HCD=y
828CONFIG_USB_ARCH_HAS_OHCI=y 836CONFIG_USB_ARCH_HAS_OHCI=y
837CONFIG_USB_ARCH_HAS_EHCI=y
829CONFIG_USB=y 838CONFIG_USB=y
830# CONFIG_USB_DEBUG is not set 839# CONFIG_USB_DEBUG is not set
831 840
@@ -843,6 +852,7 @@ CONFIG_USB_DEVICEFS=y
843CONFIG_USB_EHCI_HCD=y 852CONFIG_USB_EHCI_HCD=y
844# CONFIG_USB_EHCI_SPLIT_ISO is not set 853# CONFIG_USB_EHCI_SPLIT_ISO is not set
845# CONFIG_USB_EHCI_ROOT_HUB_TT is not set 854# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
855# CONFIG_USB_EHCI_TT_NEWSCHED is not set
846# CONFIG_USB_ISP116X_HCD is not set 856# CONFIG_USB_ISP116X_HCD is not set
847CONFIG_USB_OHCI_HCD=y 857CONFIG_USB_OHCI_HCD=y
848# CONFIG_USB_OHCI_BIG_ENDIAN is not set 858# CONFIG_USB_OHCI_BIG_ENDIAN is not set
@@ -895,9 +905,7 @@ CONFIG_USB_HIDINPUT=y
895# CONFIG_USB_ACECAD is not set 905# CONFIG_USB_ACECAD is not set
896# CONFIG_USB_KBTAB is not set 906# CONFIG_USB_KBTAB is not set
897# CONFIG_USB_POWERMATE is not set 907# CONFIG_USB_POWERMATE is not set
898# CONFIG_USB_MTOUCH is not set 908# CONFIG_USB_TOUCHSCREEN is not set
899# CONFIG_USB_ITMTOUCH is not set
900# CONFIG_USB_EGALAX is not set
901# CONFIG_USB_YEALINK is not set 909# CONFIG_USB_YEALINK is not set
902# CONFIG_USB_XPAD is not set 910# CONFIG_USB_XPAD is not set
903# CONFIG_USB_ATI_REMOTE is not set 911# CONFIG_USB_ATI_REMOTE is not set
@@ -912,15 +920,6 @@ CONFIG_USB_HIDINPUT=y
912# CONFIG_USB_MICROTEK is not set 920# CONFIG_USB_MICROTEK is not set
913 921
914# 922#
915# USB Multimedia devices
916#
917# CONFIG_USB_DABUSB is not set
918
919#
920# Video4Linux support is needed for USB Multimedia device support
921#
922
923#
924# USB Network Adapters 923# USB Network Adapters
925# 924#
926# CONFIG_USB_CATC is not set 925# CONFIG_USB_CATC is not set
@@ -946,15 +945,15 @@ CONFIG_USB_HIDINPUT=y
946# CONFIG_USB_EMI26 is not set 945# CONFIG_USB_EMI26 is not set
947# CONFIG_USB_AUERSWALD is not set 946# CONFIG_USB_AUERSWALD is not set
948# CONFIG_USB_RIO500 is not set 947# CONFIG_USB_RIO500 is not set
949CONFIG_USB_ARTTFT=m
950# CONFIG_USB_ARTTOUCH is not set
951# CONFIG_USB_LEGOTOWER is not set 948# CONFIG_USB_LEGOTOWER is not set
952# CONFIG_USB_LCD is not set 949# CONFIG_USB_LCD is not set
953# CONFIG_USB_LED is not set 950# CONFIG_USB_LED is not set
951# CONFIG_USB_CY7C63 is not set
954# CONFIG_USB_CYTHERM is not set 952# CONFIG_USB_CYTHERM is not set
955# CONFIG_USB_PHIDGETKIT is not set 953# CONFIG_USB_PHIDGETKIT is not set
956# CONFIG_USB_PHIDGETSERVO is not set 954# CONFIG_USB_PHIDGETSERVO is not set
957# CONFIG_USB_IDMOUSE is not set 955# CONFIG_USB_IDMOUSE is not set
956# CONFIG_USB_APPLEDISPLAY is not set
958# CONFIG_USB_SISUSBVGA is not set 957# CONFIG_USB_SISUSBVGA is not set
959# CONFIG_USB_LD is not set 958# CONFIG_USB_LD is not set
960# CONFIG_USB_TEST is not set 959# CONFIG_USB_TEST is not set
@@ -974,23 +973,44 @@ CONFIG_USB_ARTTFT=m
974# CONFIG_MMC is not set 973# CONFIG_MMC is not set
975 974
976# 975#
976# LED devices
977#
978# CONFIG_NEW_LEDS is not set
979
980#
981# LED drivers
982#
983
984#
985# LED Triggers
986#
987
988#
977# InfiniBand support 989# InfiniBand support
978# 990#
979# CONFIG_INFINIBAND is not set 991# CONFIG_INFINIBAND is not set
980 992
981# 993#
982# SN Devices 994# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
995#
996
997#
998# Real Time Clock
999#
1000# CONFIG_RTC_CLASS is not set
1001
1002#
1003# DMA Engine support
983# 1004#
1005# CONFIG_DMA_ENGINE is not set
984 1006
985# 1007#
986# EDAC - error detection and reporting (RAS) 1008# DMA Clients
987# 1009#
988 1010
989# 1011#
990# eXcite frame capture support 1012# DMA Devices
991# 1013#
992CONFIG_EXCITE_FCAP=m
993CONFIG_EXCITE_FCAP_GPI=m
994 1014
995# 1015#
996# File systems 1016# File systems
@@ -1007,6 +1027,7 @@ CONFIG_EXT2_FS=y
1007# CONFIG_MINIX_FS is not set 1027# CONFIG_MINIX_FS is not set
1008# CONFIG_ROMFS_FS is not set 1028# CONFIG_ROMFS_FS is not set
1009CONFIG_INOTIFY=y 1029CONFIG_INOTIFY=y
1030CONFIG_INOTIFY_USER=y
1010# CONFIG_QUOTA is not set 1031# CONFIG_QUOTA is not set
1011# CONFIG_DNOTIFY is not set 1032# CONFIG_DNOTIFY is not set
1012# CONFIG_AUTOFS_FS is not set 1033# CONFIG_AUTOFS_FS is not set
@@ -1038,7 +1059,6 @@ CONFIG_SYSFS=y
1038CONFIG_TMPFS=y 1059CONFIG_TMPFS=y
1039# CONFIG_HUGETLB_PAGE is not set 1060# CONFIG_HUGETLB_PAGE is not set
1040CONFIG_RAMFS=y 1061CONFIG_RAMFS=y
1041# CONFIG_RELAYFS_FS is not set
1042# CONFIG_CONFIGFS_FS is not set 1062# CONFIG_CONFIGFS_FS is not set
1043 1063
1044# 1064#
@@ -1056,6 +1076,7 @@ CONFIG_JFFS2_FS=y
1056CONFIG_JFFS2_FS_DEBUG=0 1076CONFIG_JFFS2_FS_DEBUG=0
1057CONFIG_JFFS2_FS_WRITEBUFFER=y 1077CONFIG_JFFS2_FS_WRITEBUFFER=y
1058# CONFIG_JFFS2_SUMMARY is not set 1078# CONFIG_JFFS2_SUMMARY is not set
1079# CONFIG_JFFS2_FS_XATTR is not set
1059# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set 1080# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
1060CONFIG_JFFS2_ZLIB=y 1081CONFIG_JFFS2_ZLIB=y
1061CONFIG_JFFS2_RTIME=y 1082CONFIG_JFFS2_RTIME=y
@@ -1085,6 +1106,7 @@ CONFIG_SUNRPC=y
1085# CONFIG_RPCSEC_GSS_SPKM3 is not set 1106# CONFIG_RPCSEC_GSS_SPKM3 is not set
1086# CONFIG_SMB_FS is not set 1107# CONFIG_SMB_FS is not set
1087# CONFIG_CIFS is not set 1108# CONFIG_CIFS is not set
1109# CONFIG_CIFS_DEBUG2 is not set
1088# CONFIG_NCP_FS is not set 1110# CONFIG_NCP_FS is not set
1089# CONFIG_CODA_FS is not set 1111# CONFIG_CODA_FS is not set
1090# CONFIG_AFS_FS is not set 1112# CONFIG_AFS_FS is not set
@@ -1165,8 +1187,10 @@ CONFIG_NLS_ISO8859_1=m
1165# 1187#
1166# CONFIG_PRINTK_TIME is not set 1188# CONFIG_PRINTK_TIME is not set
1167# CONFIG_MAGIC_SYSRQ is not set 1189# CONFIG_MAGIC_SYSRQ is not set
1190# CONFIG_UNUSED_SYMBOLS is not set
1168# CONFIG_DEBUG_KERNEL is not set 1191# CONFIG_DEBUG_KERNEL is not set
1169CONFIG_LOG_BUF_SHIFT=14 1192CONFIG_LOG_BUF_SHIFT=14
1193# CONFIG_DEBUG_FS is not set
1170CONFIG_CROSSCOMPILE=y 1194CONFIG_CROSSCOMPILE=y
1171CONFIG_CMDLINE="" 1195CONFIG_CMDLINE=""
1172 1196
@@ -1218,3 +1242,4 @@ CONFIG_CRC32=y
1218# CONFIG_LIBCRC32C is not set 1242# CONFIG_LIBCRC32C is not set
1219CONFIG_ZLIB_INFLATE=y 1243CONFIG_ZLIB_INFLATE=y
1220CONFIG_ZLIB_DEFLATE=y 1244CONFIG_ZLIB_DEFLATE=y
1245CONFIG_PLIST=y
diff --git a/arch/mips/configs/ip22_defconfig b/arch/mips/configs/ip22_defconfig
index 879ba1ad99ca..ef16d1fb5071 100644
--- a/arch/mips/configs/ip22_defconfig
+++ b/arch/mips/configs/ip22_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.17-rc2 3# Linux kernel version: 2.6.18-rc1
4# Mon Apr 24 14:50:54 2006 4# Thu Jul 6 10:04:10 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -21,6 +21,7 @@ CONFIG_MIPS=y
21# CONFIG_MIPS_DB1550 is not set 21# CONFIG_MIPS_DB1550 is not set
22# CONFIG_MIPS_DB1200 is not set 22# CONFIG_MIPS_DB1200 is not set
23# CONFIG_MIPS_MIRAGE is not set 23# CONFIG_MIPS_MIRAGE is not set
24# CONFIG_BASLER_EXCITE is not set
24# CONFIG_MIPS_COBALT is not set 25# CONFIG_MIPS_COBALT is not set
25# CONFIG_MACH_DECSTATION is not set 26# CONFIG_MACH_DECSTATION is not set
26# CONFIG_MIPS_EV64120 is not set 27# CONFIG_MIPS_EV64120 is not set
@@ -32,6 +33,7 @@ CONFIG_MIPS=y
32# CONFIG_MIPS_ATLAS is not set 33# CONFIG_MIPS_ATLAS is not set
33# CONFIG_MIPS_MALTA is not set 34# CONFIG_MIPS_MALTA is not set
34# CONFIG_MIPS_SEAD is not set 35# CONFIG_MIPS_SEAD is not set
36# CONFIG_WR_PPMC is not set
35# CONFIG_MIPS_SIM is not set 37# CONFIG_MIPS_SIM is not set
36# CONFIG_MOMENCO_JAGUAR_ATX is not set 38# CONFIG_MOMENCO_JAGUAR_ATX is not set
37# CONFIG_MOMENCO_OCELOT is not set 39# CONFIG_MOMENCO_OCELOT is not set
@@ -45,6 +47,7 @@ CONFIG_MIPS=y
45# CONFIG_MACH_VR41XX is not set 47# CONFIG_MACH_VR41XX is not set
46# CONFIG_PMC_YOSEMITE is not set 48# CONFIG_PMC_YOSEMITE is not set
47# CONFIG_QEMU is not set 49# CONFIG_QEMU is not set
50# CONFIG_MARKEINS is not set
48CONFIG_SGI_IP22=y 51CONFIG_SGI_IP22=y
49# CONFIG_SGI_IP27 is not set 52# CONFIG_SGI_IP27 is not set
50# CONFIG_SGI_IP32 is not set 53# CONFIG_SGI_IP32 is not set
@@ -65,6 +68,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y
65CONFIG_GENERIC_FIND_NEXT_BIT=y 68CONFIG_GENERIC_FIND_NEXT_BIT=y
66CONFIG_GENERIC_HWEIGHT=y 69CONFIG_GENERIC_HWEIGHT=y
67CONFIG_GENERIC_CALIBRATE_DELAY=y 70CONFIG_GENERIC_CALIBRATE_DELAY=y
71CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
68CONFIG_ARC=y 72CONFIG_ARC=y
69CONFIG_DMA_NONCOHERENT=y 73CONFIG_DMA_NONCOHERENT=y
70CONFIG_DMA_NEED_PCI_MAP_STATE=y 74CONFIG_DMA_NEED_PCI_MAP_STATE=y
@@ -119,7 +123,10 @@ CONFIG_PAGE_SIZE_4KB=y
119# CONFIG_PAGE_SIZE_64KB is not set 123# CONFIG_PAGE_SIZE_64KB is not set
120CONFIG_BOARD_SCACHE=y 124CONFIG_BOARD_SCACHE=y
121CONFIG_IP22_CPU_SCACHE=y 125CONFIG_IP22_CPU_SCACHE=y
122# CONFIG_MIPS_MT is not set 126CONFIG_MIPS_MT_DISABLED=y
127# CONFIG_MIPS_MT_SMTC is not set
128# CONFIG_MIPS_MT_SMP is not set
129# CONFIG_MIPS_VPE_LOADER is not set
123# CONFIG_64BIT_PHYS_ADDR is not set 130# CONFIG_64BIT_PHYS_ADDR is not set
124CONFIG_CPU_HAS_LLSC=y 131CONFIG_CPU_HAS_LLSC=y
125CONFIG_CPU_HAS_SYNC=y 132CONFIG_CPU_HAS_SYNC=y
@@ -134,6 +141,7 @@ CONFIG_FLATMEM=y
134CONFIG_FLAT_NODE_MEM_MAP=y 141CONFIG_FLAT_NODE_MEM_MAP=y
135# CONFIG_SPARSEMEM_STATIC is not set 142# CONFIG_SPARSEMEM_STATIC is not set
136CONFIG_SPLIT_PTLOCK_CPUS=4 143CONFIG_SPLIT_PTLOCK_CPUS=4
144# CONFIG_RESOURCES_64BIT is not set
137# CONFIG_HZ_48 is not set 145# CONFIG_HZ_48 is not set
138# CONFIG_HZ_100 is not set 146# CONFIG_HZ_100 is not set
139# CONFIG_HZ_128 is not set 147# CONFIG_HZ_128 is not set
@@ -146,6 +154,7 @@ CONFIG_HZ=1000
146# CONFIG_PREEMPT_NONE is not set 154# CONFIG_PREEMPT_NONE is not set
147CONFIG_PREEMPT_VOLUNTARY=y 155CONFIG_PREEMPT_VOLUNTARY=y
148# CONFIG_PREEMPT is not set 156# CONFIG_PREEMPT is not set
157CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
149 158
150# 159#
151# Code maturity level options 160# Code maturity level options
@@ -178,10 +187,12 @@ CONFIG_PRINTK=y
178CONFIG_BUG=y 187CONFIG_BUG=y
179CONFIG_ELF_CORE=y 188CONFIG_ELF_CORE=y
180CONFIG_BASE_FULL=y 189CONFIG_BASE_FULL=y
190CONFIG_RT_MUTEXES=y
181CONFIG_FUTEX=y 191CONFIG_FUTEX=y
182CONFIG_EPOLL=y 192CONFIG_EPOLL=y
183CONFIG_SHMEM=y 193CONFIG_SHMEM=y
184CONFIG_SLAB=y 194CONFIG_SLAB=y
195CONFIG_VM_EVENT_COUNTERS=y
185# CONFIG_TINY_SHMEM is not set 196# CONFIG_TINY_SHMEM is not set
186CONFIG_BASE_SMALL=0 197CONFIG_BASE_SMALL=0
187# CONFIG_SLOB is not set 198# CONFIG_SLOB is not set
@@ -272,6 +283,8 @@ CONFIG_INET_ESP=m
272CONFIG_INET_IPCOMP=m 283CONFIG_INET_IPCOMP=m
273CONFIG_INET_XFRM_TUNNEL=m 284CONFIG_INET_XFRM_TUNNEL=m
274CONFIG_INET_TUNNEL=m 285CONFIG_INET_TUNNEL=m
286CONFIG_INET_XFRM_MODE_TRANSPORT=m
287CONFIG_INET_XFRM_MODE_TUNNEL=m
275CONFIG_INET_DIAG=y 288CONFIG_INET_DIAG=y
276CONFIG_INET_TCP_DIAG=y 289CONFIG_INET_TCP_DIAG=y
277# CONFIG_TCP_CONG_ADVANCED is not set 290# CONFIG_TCP_CONG_ADVANCED is not set
@@ -319,7 +332,10 @@ CONFIG_INET6_ESP=m
319CONFIG_INET6_IPCOMP=m 332CONFIG_INET6_IPCOMP=m
320CONFIG_INET6_XFRM_TUNNEL=m 333CONFIG_INET6_XFRM_TUNNEL=m
321CONFIG_INET6_TUNNEL=m 334CONFIG_INET6_TUNNEL=m
335CONFIG_INET6_XFRM_MODE_TRANSPORT=m
336CONFIG_INET6_XFRM_MODE_TUNNEL=m
322CONFIG_IPV6_TUNNEL=m 337CONFIG_IPV6_TUNNEL=m
338CONFIG_NETWORK_SECMARK=y
323CONFIG_NETFILTER=y 339CONFIG_NETFILTER=y
324# CONFIG_NETFILTER_DEBUG is not set 340# CONFIG_NETFILTER_DEBUG is not set
325 341
@@ -335,6 +351,8 @@ CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
335CONFIG_NETFILTER_XT_TARGET_MARK=m 351CONFIG_NETFILTER_XT_TARGET_MARK=m
336CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m 352CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
337CONFIG_NETFILTER_XT_TARGET_NOTRACK=m 353CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
354CONFIG_NETFILTER_XT_TARGET_SECMARK=m
355CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m
338CONFIG_NETFILTER_XT_MATCH_COMMENT=m 356CONFIG_NETFILTER_XT_MATCH_COMMENT=m
339CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m 357CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
340CONFIG_NETFILTER_XT_MATCH_CONNMARK=m 358CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
@@ -349,9 +367,11 @@ CONFIG_NETFILTER_XT_MATCH_MARK=m
349CONFIG_NETFILTER_XT_MATCH_POLICY=m 367CONFIG_NETFILTER_XT_MATCH_POLICY=m
350CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m 368CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
351CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m 369CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
370CONFIG_NETFILTER_XT_MATCH_QUOTA=m
352CONFIG_NETFILTER_XT_MATCH_REALM=m 371CONFIG_NETFILTER_XT_MATCH_REALM=m
353CONFIG_NETFILTER_XT_MATCH_SCTP=m 372CONFIG_NETFILTER_XT_MATCH_SCTP=m
354CONFIG_NETFILTER_XT_MATCH_STATE=m 373CONFIG_NETFILTER_XT_MATCH_STATE=m
374CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
355CONFIG_NETFILTER_XT_MATCH_STRING=m 375CONFIG_NETFILTER_XT_MATCH_STRING=m
356CONFIG_NETFILTER_XT_MATCH_TCPMSS=m 376CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
357 377
@@ -361,6 +381,7 @@ CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
361CONFIG_IP_NF_CONNTRACK=m 381CONFIG_IP_NF_CONNTRACK=m
362CONFIG_IP_NF_CT_ACCT=y 382CONFIG_IP_NF_CT_ACCT=y
363CONFIG_IP_NF_CONNTRACK_MARK=y 383CONFIG_IP_NF_CONNTRACK_MARK=y
384CONFIG_IP_NF_CONNTRACK_SECMARK=y
364CONFIG_IP_NF_CONNTRACK_EVENTS=y 385CONFIG_IP_NF_CONNTRACK_EVENTS=y
365CONFIG_IP_NF_CONNTRACK_NETLINK=m 386CONFIG_IP_NF_CONNTRACK_NETLINK=m
366# CONFIG_IP_NF_CT_PROTO_SCTP is not set 387# CONFIG_IP_NF_CT_PROTO_SCTP is not set
@@ -371,6 +392,7 @@ CONFIG_IP_NF_TFTP=m
371CONFIG_IP_NF_AMANDA=m 392CONFIG_IP_NF_AMANDA=m
372CONFIG_IP_NF_PPTP=m 393CONFIG_IP_NF_PPTP=m
373CONFIG_IP_NF_H323=m 394CONFIG_IP_NF_H323=m
395CONFIG_IP_NF_SIP=m
374CONFIG_IP_NF_QUEUE=m 396CONFIG_IP_NF_QUEUE=m
375CONFIG_IP_NF_IPTABLES=m 397CONFIG_IP_NF_IPTABLES=m
376CONFIG_IP_NF_MATCH_IPRANGE=m 398CONFIG_IP_NF_MATCH_IPRANGE=m
@@ -401,6 +423,7 @@ CONFIG_IP_NF_NAT_TFTP=m
401CONFIG_IP_NF_NAT_AMANDA=m 423CONFIG_IP_NF_NAT_AMANDA=m
402CONFIG_IP_NF_NAT_PPTP=m 424CONFIG_IP_NF_NAT_PPTP=m
403CONFIG_IP_NF_NAT_H323=m 425CONFIG_IP_NF_NAT_H323=m
426CONFIG_IP_NF_NAT_SIP=m
404CONFIG_IP_NF_MANGLE=m 427CONFIG_IP_NF_MANGLE=m
405CONFIG_IP_NF_TARGET_TOS=m 428CONFIG_IP_NF_TARGET_TOS=m
406CONFIG_IP_NF_TARGET_ECN=m 429CONFIG_IP_NF_TARGET_ECN=m
@@ -533,6 +556,7 @@ CONFIG_WIRELESS_EXT=y
533CONFIG_STANDALONE=y 556CONFIG_STANDALONE=y
534CONFIG_PREVENT_FIRMWARE_BUILD=y 557CONFIG_PREVENT_FIRMWARE_BUILD=y
535# CONFIG_FW_LOADER is not set 558# CONFIG_FW_LOADER is not set
559# CONFIG_SYS_HYPERVISOR is not set
536 560
537# 561#
538# Connector - unified userspace <-> kernelspace linker 562# Connector - unified userspace <-> kernelspace linker
@@ -652,6 +676,8 @@ CONFIG_DAVICOM_PHY=m
652CONFIG_QSEMI_PHY=m 676CONFIG_QSEMI_PHY=m
653CONFIG_LXT_PHY=m 677CONFIG_LXT_PHY=m
654CONFIG_CICADA_PHY=m 678CONFIG_CICADA_PHY=m
679# CONFIG_VITESSE_PHY is not set
680# CONFIG_SMSC_PHY is not set
655 681
656# 682#
657# Ethernet (10 or 100Mbit) 683# Ethernet (10 or 100Mbit)
@@ -749,6 +775,7 @@ CONFIG_SERIO_RAW=m
749CONFIG_VT=y 775CONFIG_VT=y
750CONFIG_VT_CONSOLE=y 776CONFIG_VT_CONSOLE=y
751CONFIG_HW_CONSOLE=y 777CONFIG_HW_CONSOLE=y
778CONFIG_VT_HW_CONSOLE_BINDING=y
752# CONFIG_SERIAL_NONSTANDARD is not set 779# CONFIG_SERIAL_NONSTANDARD is not set
753 780
754# 781#
@@ -781,6 +808,7 @@ CONFIG_WATCHDOG=y
781# 808#
782# CONFIG_SOFT_WATCHDOG is not set 809# CONFIG_SOFT_WATCHDOG is not set
783CONFIG_INDYDOG=m 810CONFIG_INDYDOG=m
811# CONFIG_HW_RANDOM is not set
784# CONFIG_RTC is not set 812# CONFIG_RTC is not set
785CONFIG_SGI_DS1286=m 813CONFIG_SGI_DS1286=m
786# CONFIG_GEN_RTC is not set 814# CONFIG_GEN_RTC is not set
@@ -829,6 +857,7 @@ CONFIG_MAX_RAW_DEVS=256
829# Multimedia devices 857# Multimedia devices
830# 858#
831# CONFIG_VIDEO_DEV is not set 859# CONFIG_VIDEO_DEV is not set
860CONFIG_VIDEO_V4L2=y
832 861
833# 862#
834# Digital Video Broadcasting Devices 863# Digital Video Broadcasting Devices
@@ -838,6 +867,7 @@ CONFIG_MAX_RAW_DEVS=256
838# 867#
839# Graphics support 868# Graphics support
840# 869#
870CONFIG_FIRMWARE_EDID=y
841# CONFIG_FB is not set 871# CONFIG_FB is not set
842 872
843# 873#
@@ -910,6 +940,19 @@ CONFIG_LOGO_SGI_CLUT224=y
910# CONFIG_RTC_CLASS is not set 940# CONFIG_RTC_CLASS is not set
911 941
912# 942#
943# DMA Engine support
944#
945# CONFIG_DMA_ENGINE is not set
946
947#
948# DMA Clients
949#
950
951#
952# DMA Devices
953#
954
955#
913# File systems 956# File systems
914# 957#
915CONFIG_EXT2_FS=m 958CONFIG_EXT2_FS=m
@@ -926,7 +969,6 @@ CONFIG_FS_MBCACHE=y
926# CONFIG_JFS_FS is not set 969# CONFIG_JFS_FS is not set
927CONFIG_FS_POSIX_ACL=y 970CONFIG_FS_POSIX_ACL=y
928CONFIG_XFS_FS=m 971CONFIG_XFS_FS=m
929CONFIG_XFS_EXPORT=y
930CONFIG_XFS_QUOTA=y 972CONFIG_XFS_QUOTA=y
931CONFIG_XFS_SECURITY=y 973CONFIG_XFS_SECURITY=y
932# CONFIG_XFS_POSIX_ACL is not set 974# CONFIG_XFS_POSIX_ACL is not set
@@ -935,6 +977,7 @@ CONFIG_XFS_SECURITY=y
935CONFIG_MINIX_FS=m 977CONFIG_MINIX_FS=m
936# CONFIG_ROMFS_FS is not set 978# CONFIG_ROMFS_FS is not set
937CONFIG_INOTIFY=y 979CONFIG_INOTIFY=y
980CONFIG_INOTIFY_USER=y
938CONFIG_QUOTA=y 981CONFIG_QUOTA=y
939# CONFIG_QFMT_V1 is not set 982# CONFIG_QFMT_V1 is not set
940CONFIG_QFMT_V2=m 983CONFIG_QFMT_V2=m
@@ -991,6 +1034,8 @@ CONFIG_EFS_FS=m
991# CONFIG_QNX4FS_FS is not set 1034# CONFIG_QNX4FS_FS is not set
992# CONFIG_SYSV_FS is not set 1035# CONFIG_SYSV_FS is not set
993CONFIG_UFS_FS=m 1036CONFIG_UFS_FS=m
1037# CONFIG_UFS_FS_WRITE is not set
1038# CONFIG_UFS_DEBUG is not set
994 1039
995# 1040#
996# Network File Systems 1041# Network File Systems
@@ -1020,7 +1065,9 @@ CONFIG_SMB_NLS_DEFAULT=y
1020CONFIG_SMB_NLS_REMOTE="cp437" 1065CONFIG_SMB_NLS_REMOTE="cp437"
1021CONFIG_CIFS=m 1066CONFIG_CIFS=m
1022# CONFIG_CIFS_STATS is not set 1067# CONFIG_CIFS_STATS is not set
1068# CONFIG_CIFS_WEAK_PW_HASH is not set
1023# CONFIG_CIFS_XATTR is not set 1069# CONFIG_CIFS_XATTR is not set
1070# CONFIG_CIFS_DEBUG2 is not set
1024# CONFIG_CIFS_EXPERIMENTAL is not set 1071# CONFIG_CIFS_EXPERIMENTAL is not set
1025# CONFIG_NCP_FS is not set 1072# CONFIG_NCP_FS is not set
1026CONFIG_CODA_FS=m 1073CONFIG_CODA_FS=m
@@ -1103,6 +1150,7 @@ CONFIG_NLS_UTF8=m
1103# 1150#
1104# CONFIG_PRINTK_TIME is not set 1151# CONFIG_PRINTK_TIME is not set
1105# CONFIG_MAGIC_SYSRQ is not set 1152# CONFIG_MAGIC_SYSRQ is not set
1153# CONFIG_UNUSED_SYMBOLS is not set
1106# CONFIG_DEBUG_KERNEL is not set 1154# CONFIG_DEBUG_KERNEL is not set
1107CONFIG_LOG_BUF_SHIFT=14 1155CONFIG_LOG_BUF_SHIFT=14
1108# CONFIG_DEBUG_FS is not set 1156# CONFIG_DEBUG_FS is not set
@@ -1162,3 +1210,4 @@ CONFIG_TEXTSEARCH=y
1162CONFIG_TEXTSEARCH_KMP=m 1210CONFIG_TEXTSEARCH_KMP=m
1163CONFIG_TEXTSEARCH_BM=m 1211CONFIG_TEXTSEARCH_BM=m
1164CONFIG_TEXTSEARCH_FSM=m 1212CONFIG_TEXTSEARCH_FSM=m
1213CONFIG_PLIST=y
diff --git a/arch/mips/configs/ip27_defconfig b/arch/mips/configs/ip27_defconfig
index bb1426806430..4bf1ee7f5f00 100644
--- a/arch/mips/configs/ip27_defconfig
+++ b/arch/mips/configs/ip27_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.17-rc2 3# Linux kernel version: 2.6.18-rc1
4# Mon Apr 24 14:51:04 2006 4# Thu Jul 6 10:04:10 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -21,6 +21,7 @@ CONFIG_MIPS=y
21# CONFIG_MIPS_DB1550 is not set 21# CONFIG_MIPS_DB1550 is not set
22# CONFIG_MIPS_DB1200 is not set 22# CONFIG_MIPS_DB1200 is not set
23# CONFIG_MIPS_MIRAGE is not set 23# CONFIG_MIPS_MIRAGE is not set
24# CONFIG_BASLER_EXCITE is not set
24# CONFIG_MIPS_COBALT is not set 25# CONFIG_MIPS_COBALT is not set
25# CONFIG_MACH_DECSTATION is not set 26# CONFIG_MACH_DECSTATION is not set
26# CONFIG_MIPS_EV64120 is not set 27# CONFIG_MIPS_EV64120 is not set
@@ -32,6 +33,7 @@ CONFIG_MIPS=y
32# CONFIG_MIPS_ATLAS is not set 33# CONFIG_MIPS_ATLAS is not set
33# CONFIG_MIPS_MALTA is not set 34# CONFIG_MIPS_MALTA is not set
34# CONFIG_MIPS_SEAD is not set 35# CONFIG_MIPS_SEAD is not set
36# CONFIG_WR_PPMC is not set
35# CONFIG_MIPS_SIM is not set 37# CONFIG_MIPS_SIM is not set
36# CONFIG_MOMENCO_JAGUAR_ATX is not set 38# CONFIG_MOMENCO_JAGUAR_ATX is not set
37# CONFIG_MOMENCO_OCELOT is not set 39# CONFIG_MOMENCO_OCELOT is not set
@@ -45,6 +47,7 @@ CONFIG_MIPS=y
45# CONFIG_MACH_VR41XX is not set 47# CONFIG_MACH_VR41XX is not set
46# CONFIG_PMC_YOSEMITE is not set 48# CONFIG_PMC_YOSEMITE is not set
47# CONFIG_QEMU is not set 49# CONFIG_QEMU is not set
50# CONFIG_MARKEINS is not set
48# CONFIG_SGI_IP22 is not set 51# CONFIG_SGI_IP22 is not set
49CONFIG_SGI_IP27=y 52CONFIG_SGI_IP27=y
50# CONFIG_SGI_IP32 is not set 53# CONFIG_SGI_IP32 is not set
@@ -61,16 +64,17 @@ CONFIG_SGI_IP27=y
61# CONFIG_TOSHIBA_JMR3927 is not set 64# CONFIG_TOSHIBA_JMR3927 is not set
62# CONFIG_TOSHIBA_RBTX4927 is not set 65# CONFIG_TOSHIBA_RBTX4927 is not set
63# CONFIG_TOSHIBA_RBTX4938 is not set 66# CONFIG_TOSHIBA_RBTX4938 is not set
67CONFIG_SGI_SN_M_MODE=y
64# CONFIG_SGI_SN_N_MODE is not set 68# CONFIG_SGI_SN_N_MODE is not set
65CONFIG_ARCH_DISCONTIGMEM_ENABLE=y
66CONFIG_NUMA=y
67# CONFIG_MAPPED_KERNEL is not set 69# CONFIG_MAPPED_KERNEL is not set
68# CONFIG_REPLICATE_KTEXT is not set 70# CONFIG_REPLICATE_KTEXT is not set
69# CONFIG_REPLICATE_EXHANDLERS is not set 71# CONFIG_REPLICATE_EXHANDLERS is not set
72CONFIG_EARLY_PRINTK=y
70CONFIG_RWSEM_GENERIC_SPINLOCK=y 73CONFIG_RWSEM_GENERIC_SPINLOCK=y
71CONFIG_GENERIC_FIND_NEXT_BIT=y 74CONFIG_GENERIC_FIND_NEXT_BIT=y
72CONFIG_GENERIC_HWEIGHT=y 75CONFIG_GENERIC_HWEIGHT=y
73CONFIG_GENERIC_CALIBRATE_DELAY=y 76CONFIG_GENERIC_CALIBRATE_DELAY=y
77CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
74CONFIG_ARC=y 78CONFIG_ARC=y
75CONFIG_DMA_IP27=y 79CONFIG_DMA_IP27=y
76CONFIG_CPU_BIG_ENDIAN=y 80CONFIG_CPU_BIG_ENDIAN=y
@@ -117,12 +121,19 @@ CONFIG_PAGE_SIZE_4KB=y
117# CONFIG_PAGE_SIZE_16KB is not set 121# CONFIG_PAGE_SIZE_16KB is not set
118# CONFIG_PAGE_SIZE_64KB is not set 122# CONFIG_PAGE_SIZE_64KB is not set
119CONFIG_CPU_HAS_PREFETCH=y 123CONFIG_CPU_HAS_PREFETCH=y
120# CONFIG_MIPS_MT is not set 124CONFIG_MIPS_MT_DISABLED=y
125# CONFIG_MIPS_MT_SMTC is not set
126# CONFIG_MIPS_MT_SMP is not set
127# CONFIG_MIPS_VPE_LOADER is not set
121CONFIG_CPU_HAS_LLSC=y 128CONFIG_CPU_HAS_LLSC=y
122CONFIG_CPU_HAS_SYNC=y 129CONFIG_CPU_HAS_SYNC=y
123CONFIG_GENERIC_HARDIRQS=y 130CONFIG_GENERIC_HARDIRQS=y
124CONFIG_GENERIC_IRQ_PROBE=y 131CONFIG_GENERIC_IRQ_PROBE=y
132CONFIG_IRQ_PER_CPU=y
125CONFIG_CPU_SUPPORTS_HIGHMEM=y 133CONFIG_CPU_SUPPORTS_HIGHMEM=y
134CONFIG_ARCH_DISCONTIGMEM_ENABLE=y
135CONFIG_NUMA=y
136CONFIG_SYS_SUPPORTS_NUMA=y
126CONFIG_NODES_SHIFT=6 137CONFIG_NODES_SHIFT=6
127CONFIG_SELECT_MEMORY_MODEL=y 138CONFIG_SELECT_MEMORY_MODEL=y
128# CONFIG_FLATMEM_MANUAL is not set 139# CONFIG_FLATMEM_MANUAL is not set
@@ -133,6 +144,11 @@ CONFIG_FLAT_NODE_MEM_MAP=y
133CONFIG_NEED_MULTIPLE_NODES=y 144CONFIG_NEED_MULTIPLE_NODES=y
134# CONFIG_SPARSEMEM_STATIC is not set 145# CONFIG_SPARSEMEM_STATIC is not set
135CONFIG_SPLIT_PTLOCK_CPUS=4 146CONFIG_SPLIT_PTLOCK_CPUS=4
147CONFIG_MIGRATION=y
148CONFIG_RESOURCES_64BIT=y
149CONFIG_SMP=y
150CONFIG_SYS_SUPPORTS_SMP=y
151CONFIG_NR_CPUS=64
136# CONFIG_HZ_48 is not set 152# CONFIG_HZ_48 is not set
137# CONFIG_HZ_100 is not set 153# CONFIG_HZ_100 is not set
138# CONFIG_HZ_128 is not set 154# CONFIG_HZ_128 is not set
@@ -142,14 +158,12 @@ CONFIG_HZ_1000=y
142# CONFIG_HZ_1024 is not set 158# CONFIG_HZ_1024 is not set
143CONFIG_SYS_SUPPORTS_ARBIT_HZ=y 159CONFIG_SYS_SUPPORTS_ARBIT_HZ=y
144CONFIG_HZ=1000 160CONFIG_HZ=1000
145CONFIG_MIGRATION=y
146CONFIG_SMP=y
147CONFIG_NR_CPUS=64
148CONFIG_PREEMPT_NONE=y 161CONFIG_PREEMPT_NONE=y
149# CONFIG_PREEMPT_VOLUNTARY is not set 162# CONFIG_PREEMPT_VOLUNTARY is not set
150# CONFIG_PREEMPT is not set 163# CONFIG_PREEMPT is not set
151CONFIG_PREEMPT_BKL=y 164CONFIG_PREEMPT_BKL=y
152# CONFIG_MIPS_INSANE_LARGE is not set 165# CONFIG_MIPS_INSANE_LARGE is not set
166CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
153 167
154# 168#
155# Code maturity level options 169# Code maturity level options
@@ -183,10 +197,12 @@ CONFIG_PRINTK=y
183CONFIG_BUG=y 197CONFIG_BUG=y
184CONFIG_ELF_CORE=y 198CONFIG_ELF_CORE=y
185CONFIG_BASE_FULL=y 199CONFIG_BASE_FULL=y
200CONFIG_RT_MUTEXES=y
186CONFIG_FUTEX=y 201CONFIG_FUTEX=y
187CONFIG_EPOLL=y 202CONFIG_EPOLL=y
188CONFIG_SHMEM=y 203CONFIG_SHMEM=y
189CONFIG_SLAB=y 204CONFIG_SLAB=y
205CONFIG_VM_EVENT_COUNTERS=y
190# CONFIG_TINY_SHMEM is not set 206# CONFIG_TINY_SHMEM is not set
191CONFIG_BASE_SMALL=0 207CONFIG_BASE_SMALL=0
192# CONFIG_SLOB is not set 208# CONFIG_SLOB is not set
@@ -283,6 +299,8 @@ CONFIG_IP_PNP=y
283# CONFIG_INET_IPCOMP is not set 299# CONFIG_INET_IPCOMP is not set
284# CONFIG_INET_XFRM_TUNNEL is not set 300# CONFIG_INET_XFRM_TUNNEL is not set
285# CONFIG_INET_TUNNEL is not set 301# CONFIG_INET_TUNNEL is not set
302CONFIG_INET_XFRM_MODE_TRANSPORT=m
303CONFIG_INET_XFRM_MODE_TUNNEL=m
286CONFIG_INET_DIAG=y 304CONFIG_INET_DIAG=y
287CONFIG_INET_TCP_DIAG=y 305CONFIG_INET_TCP_DIAG=y
288# CONFIG_TCP_CONG_ADVANCED is not set 306# CONFIG_TCP_CONG_ADVANCED is not set
@@ -290,6 +308,7 @@ CONFIG_TCP_CONG_BIC=y
290# CONFIG_IPV6 is not set 308# CONFIG_IPV6 is not set
291# CONFIG_INET6_XFRM_TUNNEL is not set 309# CONFIG_INET6_XFRM_TUNNEL is not set
292# CONFIG_INET6_TUNNEL is not set 310# CONFIG_INET6_TUNNEL is not set
311CONFIG_NETWORK_SECMARK=y
293# CONFIG_NETFILTER is not set 312# CONFIG_NETFILTER is not set
294 313
295# 314#
@@ -387,6 +406,7 @@ CONFIG_WIRELESS_EXT=y
387CONFIG_STANDALONE=y 406CONFIG_STANDALONE=y
388CONFIG_PREVENT_FIRMWARE_BUILD=y 407CONFIG_PREVENT_FIRMWARE_BUILD=y
389CONFIG_FW_LOADER=y 408CONFIG_FW_LOADER=y
409# CONFIG_SYS_HYPERVISOR is not set
390 410
391# 411#
392# Connector - unified userspace <-> kernelspace linker 412# Connector - unified userspace <-> kernelspace linker
@@ -479,6 +499,7 @@ CONFIG_SCSI_SAS_ATTRS=m
479# CONFIG_MEGARAID_LEGACY is not set 499# CONFIG_MEGARAID_LEGACY is not set
480# CONFIG_MEGARAID_SAS is not set 500# CONFIG_MEGARAID_SAS is not set
481# CONFIG_SCSI_SATA is not set 501# CONFIG_SCSI_SATA is not set
502# CONFIG_SCSI_HPTIOP is not set
482# CONFIG_SCSI_DMX3191D is not set 503# CONFIG_SCSI_DMX3191D is not set
483# CONFIG_SCSI_FUTURE_DOMAIN is not set 504# CONFIG_SCSI_FUTURE_DOMAIN is not set
484# CONFIG_SCSI_IPS is not set 505# CONFIG_SCSI_IPS is not set
@@ -502,9 +523,8 @@ CONFIG_MD_LINEAR=m
502CONFIG_MD_RAID0=y 523CONFIG_MD_RAID0=y
503CONFIG_MD_RAID1=y 524CONFIG_MD_RAID1=y
504CONFIG_MD_RAID10=m 525CONFIG_MD_RAID10=m
505CONFIG_MD_RAID5=y 526CONFIG_MD_RAID456=m
506CONFIG_MD_RAID5_RESHAPE=y 527CONFIG_MD_RAID5_RESHAPE=y
507CONFIG_MD_RAID6=m
508CONFIG_MD_MULTIPATH=m 528CONFIG_MD_MULTIPATH=m
509CONFIG_MD_FAULTY=m 529CONFIG_MD_FAULTY=m
510CONFIG_BLK_DEV_DM=m 530CONFIG_BLK_DEV_DM=m
@@ -560,6 +580,8 @@ CONFIG_DAVICOM_PHY=m
560CONFIG_QSEMI_PHY=m 580CONFIG_QSEMI_PHY=m
561CONFIG_LXT_PHY=m 581CONFIG_LXT_PHY=m
562CONFIG_CICADA_PHY=m 582CONFIG_CICADA_PHY=m
583CONFIG_VITESSE_PHY=m
584CONFIG_SMSC_PHY=m
563 585
564# 586#
565# Ethernet (10 or 100Mbit) 587# Ethernet (10 or 100Mbit)
@@ -567,8 +589,6 @@ CONFIG_CICADA_PHY=m
567CONFIG_NET_ETHERNET=y 589CONFIG_NET_ETHERNET=y
568CONFIG_MII=y 590CONFIG_MII=y
569CONFIG_SGI_IOC3_ETH=y 591CONFIG_SGI_IOC3_ETH=y
570CONFIG_SGI_IOC3_ETH_HW_RX_CSUM=y
571CONFIG_SGI_IOC3_ETH_HW_TX_CSUM=y
572# CONFIG_HAPPYMEAL is not set 592# CONFIG_HAPPYMEAL is not set
573# CONFIG_SUNGEM is not set 593# CONFIG_SUNGEM is not set
574# CONFIG_CASSINI is not set 594# CONFIG_CASSINI is not set
@@ -605,6 +625,7 @@ CONFIG_SGI_IOC3_ETH_HW_TX_CSUM=y
605# CONFIG_CHELSIO_T1 is not set 625# CONFIG_CHELSIO_T1 is not set
606# CONFIG_IXGB is not set 626# CONFIG_IXGB is not set
607# CONFIG_S2IO is not set 627# CONFIG_S2IO is not set
628# CONFIG_MYRI10GE is not set
608 629
609# 630#
610# Token Ring devices 631# Token Ring devices
@@ -695,6 +716,7 @@ CONFIG_LEGACY_PTY_COUNT=256
695# Watchdog Cards 716# Watchdog Cards
696# 717#
697# CONFIG_WATCHDOG is not set 718# CONFIG_WATCHDOG is not set
719# CONFIG_HW_RANDOM is not set
698# CONFIG_RTC is not set 720# CONFIG_RTC is not set
699CONFIG_SGI_IP27_RTC=y 721CONFIG_SGI_IP27_RTC=y
700# CONFIG_GEN_RTC is not set 722# CONFIG_GEN_RTC is not set
@@ -744,6 +766,7 @@ CONFIG_SGI_IP27_RTC=y
744# Multimedia devices 766# Multimedia devices
745# 767#
746# CONFIG_VIDEO_DEV is not set 768# CONFIG_VIDEO_DEV is not set
769CONFIG_VIDEO_V4L2=y
747 770
748# 771#
749# Digital Video Broadcasting Devices 772# Digital Video Broadcasting Devices
@@ -753,6 +776,7 @@ CONFIG_SGI_IP27_RTC=y
753# 776#
754# Graphics support 777# Graphics support
755# 778#
779# CONFIG_FIRMWARE_EDID is not set
756# CONFIG_FB is not set 780# CONFIG_FB is not set
757 781
758# 782#
@@ -810,6 +834,19 @@ CONFIG_USB_ARCH_HAS_EHCI=y
810# CONFIG_RTC_CLASS is not set 834# CONFIG_RTC_CLASS is not set
811 835
812# 836#
837# DMA Engine support
838#
839# CONFIG_DMA_ENGINE is not set
840
841#
842# DMA Clients
843#
844
845#
846# DMA Devices
847#
848
849#
813# File systems 850# File systems
814# 851#
815CONFIG_EXT2_FS=y 852CONFIG_EXT2_FS=y
@@ -836,6 +873,7 @@ CONFIG_XFS_POSIX_ACL=y
836# CONFIG_MINIX_FS is not set 873# CONFIG_MINIX_FS is not set
837# CONFIG_ROMFS_FS is not set 874# CONFIG_ROMFS_FS is not set
838CONFIG_INOTIFY=y 875CONFIG_INOTIFY=y
876CONFIG_INOTIFY_USER=y
839# CONFIG_QUOTA is not set 877# CONFIG_QUOTA is not set
840CONFIG_QUOTACTL=y 878CONFIG_QUOTACTL=y
841CONFIG_DNOTIFY=y 879CONFIG_DNOTIFY=y
@@ -903,6 +941,7 @@ CONFIG_RPCSEC_GSS_KRB5=y
903# CONFIG_RPCSEC_GSS_SPKM3 is not set 941# CONFIG_RPCSEC_GSS_SPKM3 is not set
904# CONFIG_SMB_FS is not set 942# CONFIG_SMB_FS is not set
905# CONFIG_CIFS is not set 943# CONFIG_CIFS is not set
944# CONFIG_CIFS_DEBUG2 is not set
906# CONFIG_NCP_FS is not set 945# CONFIG_NCP_FS is not set
907# CONFIG_CODA_FS is not set 946# CONFIG_CODA_FS is not set
908# CONFIG_AFS_FS is not set 947# CONFIG_AFS_FS is not set
@@ -944,6 +983,7 @@ CONFIG_SGI_PARTITION=y
944# 983#
945# CONFIG_PRINTK_TIME is not set 984# CONFIG_PRINTK_TIME is not set
946# CONFIG_MAGIC_SYSRQ is not set 985# CONFIG_MAGIC_SYSRQ is not set
986# CONFIG_UNUSED_SYMBOLS is not set
947# CONFIG_DEBUG_KERNEL is not set 987# CONFIG_DEBUG_KERNEL is not set
948CONFIG_LOG_BUF_SHIFT=15 988CONFIG_LOG_BUF_SHIFT=15
949# CONFIG_DEBUG_FS is not set 989# CONFIG_DEBUG_FS is not set
@@ -999,3 +1039,4 @@ CONFIG_CRC32=y
999CONFIG_LIBCRC32C=m 1039CONFIG_LIBCRC32C=m
1000CONFIG_ZLIB_INFLATE=m 1040CONFIG_ZLIB_INFLATE=m
1001CONFIG_ZLIB_DEFLATE=m 1041CONFIG_ZLIB_DEFLATE=m
1042CONFIG_PLIST=y
diff --git a/arch/mips/configs/ip32_defconfig b/arch/mips/configs/ip32_defconfig
index 31b3c92a3841..f83dc09c3ca9 100644
--- a/arch/mips/configs/ip32_defconfig
+++ b/arch/mips/configs/ip32_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.17-rc2 3# Linux kernel version: 2.6.18-rc1
4# Mon Apr 24 14:51:05 2006 4# Thu Jul 6 10:04:11 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -21,6 +21,7 @@ CONFIG_MIPS=y
21# CONFIG_MIPS_DB1550 is not set 21# CONFIG_MIPS_DB1550 is not set
22# CONFIG_MIPS_DB1200 is not set 22# CONFIG_MIPS_DB1200 is not set
23# CONFIG_MIPS_MIRAGE is not set 23# CONFIG_MIPS_MIRAGE is not set
24# CONFIG_BASLER_EXCITE is not set
24# CONFIG_MIPS_COBALT is not set 25# CONFIG_MIPS_COBALT is not set
25# CONFIG_MACH_DECSTATION is not set 26# CONFIG_MACH_DECSTATION is not set
26# CONFIG_MIPS_EV64120 is not set 27# CONFIG_MIPS_EV64120 is not set
@@ -32,6 +33,7 @@ CONFIG_MIPS=y
32# CONFIG_MIPS_ATLAS is not set 33# CONFIG_MIPS_ATLAS is not set
33# CONFIG_MIPS_MALTA is not set 34# CONFIG_MIPS_MALTA is not set
34# CONFIG_MIPS_SEAD is not set 35# CONFIG_MIPS_SEAD is not set
36# CONFIG_WR_PPMC is not set
35# CONFIG_MIPS_SIM is not set 37# CONFIG_MIPS_SIM is not set
36# CONFIG_MOMENCO_JAGUAR_ATX is not set 38# CONFIG_MOMENCO_JAGUAR_ATX is not set
37# CONFIG_MOMENCO_OCELOT is not set 39# CONFIG_MOMENCO_OCELOT is not set
@@ -45,6 +47,7 @@ CONFIG_MIPS=y
45# CONFIG_MACH_VR41XX is not set 47# CONFIG_MACH_VR41XX is not set
46# CONFIG_PMC_YOSEMITE is not set 48# CONFIG_PMC_YOSEMITE is not set
47# CONFIG_QEMU is not set 49# CONFIG_QEMU is not set
50# CONFIG_MARKEINS is not set
48# CONFIG_SGI_IP22 is not set 51# CONFIG_SGI_IP22 is not set
49# CONFIG_SGI_IP27 is not set 52# CONFIG_SGI_IP27 is not set
50CONFIG_SGI_IP32=y 53CONFIG_SGI_IP32=y
@@ -65,6 +68,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y
65CONFIG_GENERIC_FIND_NEXT_BIT=y 68CONFIG_GENERIC_FIND_NEXT_BIT=y
66CONFIG_GENERIC_HWEIGHT=y 69CONFIG_GENERIC_HWEIGHT=y
67CONFIG_GENERIC_CALIBRATE_DELAY=y 70CONFIG_GENERIC_CALIBRATE_DELAY=y
71CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
68CONFIG_ARC=y 72CONFIG_ARC=y
69CONFIG_DMA_IP32=y 73CONFIG_DMA_IP32=y
70CONFIG_DMA_NONCOHERENT=y 74CONFIG_DMA_NONCOHERENT=y
@@ -120,7 +124,10 @@ CONFIG_PAGE_SIZE_4KB=y
120CONFIG_BOARD_SCACHE=y 124CONFIG_BOARD_SCACHE=y
121CONFIG_R5000_CPU_SCACHE=y 125CONFIG_R5000_CPU_SCACHE=y
122CONFIG_RM7000_CPU_SCACHE=y 126CONFIG_RM7000_CPU_SCACHE=y
123# CONFIG_MIPS_MT is not set 127CONFIG_MIPS_MT_DISABLED=y
128# CONFIG_MIPS_MT_SMTC is not set
129# CONFIG_MIPS_MT_SMP is not set
130# CONFIG_MIPS_VPE_LOADER is not set
124CONFIG_CPU_HAS_LLSC=y 131CONFIG_CPU_HAS_LLSC=y
125CONFIG_CPU_HAS_SYNC=y 132CONFIG_CPU_HAS_SYNC=y
126CONFIG_GENERIC_HARDIRQS=y 133CONFIG_GENERIC_HARDIRQS=y
@@ -134,6 +141,7 @@ CONFIG_FLATMEM=y
134CONFIG_FLAT_NODE_MEM_MAP=y 141CONFIG_FLAT_NODE_MEM_MAP=y
135# CONFIG_SPARSEMEM_STATIC is not set 142# CONFIG_SPARSEMEM_STATIC is not set
136CONFIG_SPLIT_PTLOCK_CPUS=4 143CONFIG_SPLIT_PTLOCK_CPUS=4
144CONFIG_RESOURCES_64BIT=y
137# CONFIG_HZ_48 is not set 145# CONFIG_HZ_48 is not set
138# CONFIG_HZ_100 is not set 146# CONFIG_HZ_100 is not set
139# CONFIG_HZ_128 is not set 147# CONFIG_HZ_128 is not set
@@ -146,6 +154,7 @@ CONFIG_HZ=1000
146# CONFIG_PREEMPT_NONE is not set 154# CONFIG_PREEMPT_NONE is not set
147CONFIG_PREEMPT_VOLUNTARY=y 155CONFIG_PREEMPT_VOLUNTARY=y
148# CONFIG_PREEMPT is not set 156# CONFIG_PREEMPT is not set
157CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
149 158
150# 159#
151# Code maturity level options 160# Code maturity level options
@@ -178,10 +187,12 @@ CONFIG_PRINTK=y
178CONFIG_BUG=y 187CONFIG_BUG=y
179CONFIG_ELF_CORE=y 188CONFIG_ELF_CORE=y
180CONFIG_BASE_FULL=y 189CONFIG_BASE_FULL=y
190CONFIG_RT_MUTEXES=y
181CONFIG_FUTEX=y 191CONFIG_FUTEX=y
182CONFIG_EPOLL=y 192CONFIG_EPOLL=y
183CONFIG_SHMEM=y 193CONFIG_SHMEM=y
184CONFIG_SLAB=y 194CONFIG_SLAB=y
195CONFIG_VM_EVENT_COUNTERS=y
185# CONFIG_TINY_SHMEM is not set 196# CONFIG_TINY_SHMEM is not set
186CONFIG_BASE_SMALL=0 197CONFIG_BASE_SMALL=0
187# CONFIG_SLOB is not set 198# CONFIG_SLOB is not set
@@ -270,6 +281,8 @@ CONFIG_IP_PNP_BOOTP=y
270# CONFIG_INET_IPCOMP is not set 281# CONFIG_INET_IPCOMP is not set
271# CONFIG_INET_XFRM_TUNNEL is not set 282# CONFIG_INET_XFRM_TUNNEL is not set
272# CONFIG_INET_TUNNEL is not set 283# CONFIG_INET_TUNNEL is not set
284CONFIG_INET_XFRM_MODE_TRANSPORT=y
285CONFIG_INET_XFRM_MODE_TUNNEL=y
273CONFIG_INET_DIAG=y 286CONFIG_INET_DIAG=y
274CONFIG_INET_TCP_DIAG=y 287CONFIG_INET_TCP_DIAG=y
275# CONFIG_TCP_CONG_ADVANCED is not set 288# CONFIG_TCP_CONG_ADVANCED is not set
@@ -277,6 +290,7 @@ CONFIG_TCP_CONG_BIC=y
277# CONFIG_IPV6 is not set 290# CONFIG_IPV6 is not set
278# CONFIG_INET6_XFRM_TUNNEL is not set 291# CONFIG_INET6_XFRM_TUNNEL is not set
279# CONFIG_INET6_TUNNEL is not set 292# CONFIG_INET6_TUNNEL is not set
293CONFIG_NETWORK_SECMARK=y
280# CONFIG_NETFILTER is not set 294# CONFIG_NETFILTER is not set
281 295
282# 296#
@@ -336,6 +350,7 @@ CONFIG_WIRELESS_EXT=y
336CONFIG_STANDALONE=y 350CONFIG_STANDALONE=y
337CONFIG_PREVENT_FIRMWARE_BUILD=y 351CONFIG_PREVENT_FIRMWARE_BUILD=y
338CONFIG_FW_LOADER=y 352CONFIG_FW_LOADER=y
353# CONFIG_SYS_HYPERVISOR is not set
339 354
340# 355#
341# Connector - unified userspace <-> kernelspace linker 356# Connector - unified userspace <-> kernelspace linker
@@ -434,6 +449,7 @@ CONFIG_AIC7XXX_REG_PRETTY_PRINT=y
434# CONFIG_MEGARAID_LEGACY is not set 449# CONFIG_MEGARAID_LEGACY is not set
435# CONFIG_MEGARAID_SAS is not set 450# CONFIG_MEGARAID_SAS is not set
436# CONFIG_SCSI_SATA is not set 451# CONFIG_SCSI_SATA is not set
452# CONFIG_SCSI_HPTIOP is not set
437# CONFIG_SCSI_DMX3191D is not set 453# CONFIG_SCSI_DMX3191D is not set
438# CONFIG_SCSI_FUTURE_DOMAIN is not set 454# CONFIG_SCSI_FUTURE_DOMAIN is not set
439# CONFIG_SCSI_IPS is not set 455# CONFIG_SCSI_IPS is not set
@@ -498,6 +514,8 @@ CONFIG_DAVICOM_PHY=y
498CONFIG_QSEMI_PHY=y 514CONFIG_QSEMI_PHY=y
499CONFIG_LXT_PHY=y 515CONFIG_LXT_PHY=y
500CONFIG_CICADA_PHY=y 516CONFIG_CICADA_PHY=y
517CONFIG_VITESSE_PHY=y
518CONFIG_SMSC_PHY=y
501 519
502# 520#
503# Ethernet (10 or 100Mbit) 521# Ethernet (10 or 100Mbit)
@@ -541,6 +559,7 @@ CONFIG_SGI_O2MACE_ETH=y
541# CONFIG_CHELSIO_T1 is not set 559# CONFIG_CHELSIO_T1 is not set
542# CONFIG_IXGB is not set 560# CONFIG_IXGB is not set
543# CONFIG_S2IO is not set 561# CONFIG_S2IO is not set
562# CONFIG_MYRI10GE is not set
544 563
545# 564#
546# Token Ring devices 565# Token Ring devices
@@ -620,6 +639,7 @@ CONFIG_SERIO_RAW=y
620CONFIG_VT=y 639CONFIG_VT=y
621CONFIG_VT_CONSOLE=y 640CONFIG_VT_CONSOLE=y
622CONFIG_HW_CONSOLE=y 641CONFIG_HW_CONSOLE=y
642CONFIG_VT_HW_CONSOLE_BINDING=y
623# CONFIG_SERIAL_NONSTANDARD is not set 643# CONFIG_SERIAL_NONSTANDARD is not set
624 644
625# 645#
@@ -651,6 +671,7 @@ CONFIG_LEGACY_PTY_COUNT=256
651# Watchdog Cards 671# Watchdog Cards
652# 672#
653# CONFIG_WATCHDOG is not set 673# CONFIG_WATCHDOG is not set
674# CONFIG_HW_RANDOM is not set
654# CONFIG_RTC is not set 675# CONFIG_RTC is not set
655# CONFIG_GEN_RTC is not set 676# CONFIG_GEN_RTC is not set
656# CONFIG_DTLK is not set 677# CONFIG_DTLK is not set
@@ -699,6 +720,7 @@ CONFIG_LEGACY_PTY_COUNT=256
699# Multimedia devices 720# Multimedia devices
700# 721#
701# CONFIG_VIDEO_DEV is not set 722# CONFIG_VIDEO_DEV is not set
723CONFIG_VIDEO_V4L2=y
702 724
703# 725#
704# Digital Video Broadcasting Devices 726# Digital Video Broadcasting Devices
@@ -708,6 +730,7 @@ CONFIG_LEGACY_PTY_COUNT=256
708# 730#
709# Graphics support 731# Graphics support
710# 732#
733# CONFIG_FIRMWARE_EDID is not set
711# CONFIG_FB is not set 734# CONFIG_FB is not set
712 735
713# 736#
@@ -771,6 +794,19 @@ CONFIG_USB_ARCH_HAS_EHCI=y
771# CONFIG_RTC_CLASS is not set 794# CONFIG_RTC_CLASS is not set
772 795
773# 796#
797# DMA Engine support
798#
799# CONFIG_DMA_ENGINE is not set
800
801#
802# DMA Clients
803#
804
805#
806# DMA Devices
807#
808
809#
774# File systems 810# File systems
775# 811#
776CONFIG_EXT2_FS=y 812CONFIG_EXT2_FS=y
@@ -785,6 +821,7 @@ CONFIG_EXT2_FS=y
785# CONFIG_MINIX_FS is not set 821# CONFIG_MINIX_FS is not set
786# CONFIG_ROMFS_FS is not set 822# CONFIG_ROMFS_FS is not set
787CONFIG_INOTIFY=y 823CONFIG_INOTIFY=y
824CONFIG_INOTIFY_USER=y
788# CONFIG_QUOTA is not set 825# CONFIG_QUOTA is not set
789CONFIG_DNOTIFY=y 826CONFIG_DNOTIFY=y
790# CONFIG_AUTOFS_FS is not set 827# CONFIG_AUTOFS_FS is not set
@@ -850,6 +887,7 @@ CONFIG_SUNRPC=y
850# CONFIG_RPCSEC_GSS_SPKM3 is not set 887# CONFIG_RPCSEC_GSS_SPKM3 is not set
851# CONFIG_SMB_FS is not set 888# CONFIG_SMB_FS is not set
852# CONFIG_CIFS is not set 889# CONFIG_CIFS is not set
890# CONFIG_CIFS_DEBUG2 is not set
853# CONFIG_NCP_FS is not set 891# CONFIG_NCP_FS is not set
854# CONFIG_CODA_FS is not set 892# CONFIG_CODA_FS is not set
855# CONFIG_AFS_FS is not set 893# CONFIG_AFS_FS is not set
@@ -887,6 +925,7 @@ CONFIG_SGI_PARTITION=y
887# 925#
888# CONFIG_PRINTK_TIME is not set 926# CONFIG_PRINTK_TIME is not set
889# CONFIG_MAGIC_SYSRQ is not set 927# CONFIG_MAGIC_SYSRQ is not set
928# CONFIG_UNUSED_SYMBOLS is not set
890# CONFIG_DEBUG_KERNEL is not set 929# CONFIG_DEBUG_KERNEL is not set
891CONFIG_LOG_BUF_SHIFT=14 930CONFIG_LOG_BUF_SHIFT=14
892# CONFIG_DEBUG_FS is not set 931# CONFIG_DEBUG_FS is not set
@@ -928,7 +967,6 @@ CONFIG_CRYPTO_ANUBIS=y
928CONFIG_CRYPTO_DEFLATE=y 967CONFIG_CRYPTO_DEFLATE=y
929CONFIG_CRYPTO_MICHAEL_MIC=y 968CONFIG_CRYPTO_MICHAEL_MIC=y
930CONFIG_CRYPTO_CRC32C=y 969CONFIG_CRYPTO_CRC32C=y
931# CONFIG_CRYPTO_TEST is not set
932 970
933# 971#
934# Hardware crypto devices 972# Hardware crypto devices
@@ -943,3 +981,4 @@ CONFIG_CRC32=y
943CONFIG_LIBCRC32C=y 981CONFIG_LIBCRC32C=y
944CONFIG_ZLIB_INFLATE=y 982CONFIG_ZLIB_INFLATE=y
945CONFIG_ZLIB_DEFLATE=y 983CONFIG_ZLIB_DEFLATE=y
984CONFIG_PLIST=y
diff --git a/arch/mips/configs/it8172_defconfig b/arch/mips/configs/it8172_defconfig
index 809bae9013ac..a91d72a9ca86 100644
--- a/arch/mips/configs/it8172_defconfig
+++ b/arch/mips/configs/it8172_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.17-rc2 3# Linux kernel version: 2.6.18-rc1
4# Mon Apr 24 14:51:05 2006 4# Thu Jul 6 10:04:11 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -21,6 +21,7 @@ CONFIG_MIPS=y
21# CONFIG_MIPS_DB1550 is not set 21# CONFIG_MIPS_DB1550 is not set
22# CONFIG_MIPS_DB1200 is not set 22# CONFIG_MIPS_DB1200 is not set
23# CONFIG_MIPS_MIRAGE is not set 23# CONFIG_MIPS_MIRAGE is not set
24# CONFIG_BASLER_EXCITE is not set
24# CONFIG_MIPS_COBALT is not set 25# CONFIG_MIPS_COBALT is not set
25# CONFIG_MACH_DECSTATION is not set 26# CONFIG_MACH_DECSTATION is not set
26# CONFIG_MIPS_EV64120 is not set 27# CONFIG_MIPS_EV64120 is not set
@@ -32,6 +33,7 @@ CONFIG_MIPS_ITE8172=y
32# CONFIG_MIPS_ATLAS is not set 33# CONFIG_MIPS_ATLAS is not set
33# CONFIG_MIPS_MALTA is not set 34# CONFIG_MIPS_MALTA is not set
34# CONFIG_MIPS_SEAD is not set 35# CONFIG_MIPS_SEAD is not set
36# CONFIG_WR_PPMC is not set
35# CONFIG_MIPS_SIM is not set 37# CONFIG_MIPS_SIM is not set
36# CONFIG_MOMENCO_JAGUAR_ATX is not set 38# CONFIG_MOMENCO_JAGUAR_ATX is not set
37# CONFIG_MOMENCO_OCELOT is not set 39# CONFIG_MOMENCO_OCELOT is not set
@@ -45,6 +47,7 @@ CONFIG_MIPS_ITE8172=y
45# CONFIG_MACH_VR41XX is not set 47# CONFIG_MACH_VR41XX is not set
46# CONFIG_PMC_YOSEMITE is not set 48# CONFIG_PMC_YOSEMITE is not set
47# CONFIG_QEMU is not set 49# CONFIG_QEMU is not set
50# CONFIG_MARKEINS is not set
48# CONFIG_SGI_IP22 is not set 51# CONFIG_SGI_IP22 is not set
49# CONFIG_SGI_IP27 is not set 52# CONFIG_SGI_IP27 is not set
50# CONFIG_SGI_IP32 is not set 53# CONFIG_SGI_IP32 is not set
@@ -66,6 +69,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y
66CONFIG_GENERIC_FIND_NEXT_BIT=y 69CONFIG_GENERIC_FIND_NEXT_BIT=y
67CONFIG_GENERIC_HWEIGHT=y 70CONFIG_GENERIC_HWEIGHT=y
68CONFIG_GENERIC_CALIBRATE_DELAY=y 71CONFIG_GENERIC_CALIBRATE_DELAY=y
72CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
69CONFIG_DMA_NONCOHERENT=y 73CONFIG_DMA_NONCOHERENT=y
70CONFIG_DMA_NEED_PCI_MAP_STATE=y 74CONFIG_DMA_NEED_PCI_MAP_STATE=y
71# CONFIG_CPU_BIG_ENDIAN is not set 75# CONFIG_CPU_BIG_ENDIAN is not set
@@ -114,7 +118,10 @@ CONFIG_PAGE_SIZE_4KB=y
114# CONFIG_PAGE_SIZE_8KB is not set 118# CONFIG_PAGE_SIZE_8KB is not set
115# CONFIG_PAGE_SIZE_16KB is not set 119# CONFIG_PAGE_SIZE_16KB is not set
116# CONFIG_PAGE_SIZE_64KB is not set 120# CONFIG_PAGE_SIZE_64KB is not set
117# CONFIG_MIPS_MT is not set 121CONFIG_MIPS_MT_DISABLED=y
122# CONFIG_MIPS_MT_SMTC is not set
123# CONFIG_MIPS_MT_SMP is not set
124# CONFIG_MIPS_VPE_LOADER is not set
118CONFIG_CPU_HAS_LLSC=y 125CONFIG_CPU_HAS_LLSC=y
119CONFIG_CPU_HAS_SYNC=y 126CONFIG_CPU_HAS_SYNC=y
120CONFIG_GENERIC_HARDIRQS=y 127CONFIG_GENERIC_HARDIRQS=y
@@ -128,6 +135,7 @@ CONFIG_FLATMEM=y
128CONFIG_FLAT_NODE_MEM_MAP=y 135CONFIG_FLAT_NODE_MEM_MAP=y
129# CONFIG_SPARSEMEM_STATIC is not set 136# CONFIG_SPARSEMEM_STATIC is not set
130CONFIG_SPLIT_PTLOCK_CPUS=4 137CONFIG_SPLIT_PTLOCK_CPUS=4
138# CONFIG_RESOURCES_64BIT is not set
131# CONFIG_HZ_48 is not set 139# CONFIG_HZ_48 is not set
132# CONFIG_HZ_100 is not set 140# CONFIG_HZ_100 is not set
133# CONFIG_HZ_128 is not set 141# CONFIG_HZ_128 is not set
@@ -140,6 +148,7 @@ CONFIG_HZ=1000
140CONFIG_PREEMPT_NONE=y 148CONFIG_PREEMPT_NONE=y
141# CONFIG_PREEMPT_VOLUNTARY is not set 149# CONFIG_PREEMPT_VOLUNTARY is not set
142# CONFIG_PREEMPT is not set 150# CONFIG_PREEMPT is not set
151CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
143 152
144# 153#
145# Code maturity level options 154# Code maturity level options
@@ -172,14 +181,15 @@ CONFIG_PRINTK=y
172CONFIG_BUG=y 181CONFIG_BUG=y
173CONFIG_ELF_CORE=y 182CONFIG_ELF_CORE=y
174CONFIG_BASE_FULL=y 183CONFIG_BASE_FULL=y
184CONFIG_RT_MUTEXES=y
175CONFIG_FUTEX=y 185CONFIG_FUTEX=y
176CONFIG_EPOLL=y 186CONFIG_EPOLL=y
177CONFIG_SHMEM=y 187CONFIG_SHMEM=y
178CONFIG_SLAB=y 188CONFIG_SLAB=y
189CONFIG_VM_EVENT_COUNTERS=y
179# CONFIG_TINY_SHMEM is not set 190# CONFIG_TINY_SHMEM is not set
180CONFIG_BASE_SMALL=0 191CONFIG_BASE_SMALL=0
181# CONFIG_SLOB is not set 192# CONFIG_SLOB is not set
182CONFIG_OBSOLETE_INTERMODULE=y
183 193
184# 194#
185# Loadable module support 195# Loadable module support
@@ -266,6 +276,8 @@ CONFIG_IP_PNP_BOOTP=y
266# CONFIG_INET_IPCOMP is not set 276# CONFIG_INET_IPCOMP is not set
267# CONFIG_INET_XFRM_TUNNEL is not set 277# CONFIG_INET_XFRM_TUNNEL is not set
268# CONFIG_INET_TUNNEL is not set 278# CONFIG_INET_TUNNEL is not set
279CONFIG_INET_XFRM_MODE_TRANSPORT=m
280CONFIG_INET_XFRM_MODE_TUNNEL=m
269CONFIG_INET_DIAG=y 281CONFIG_INET_DIAG=y
270CONFIG_INET_TCP_DIAG=y 282CONFIG_INET_TCP_DIAG=y
271# CONFIG_TCP_CONG_ADVANCED is not set 283# CONFIG_TCP_CONG_ADVANCED is not set
@@ -273,6 +285,7 @@ CONFIG_TCP_CONG_BIC=y
273# CONFIG_IPV6 is not set 285# CONFIG_IPV6 is not set
274# CONFIG_INET6_XFRM_TUNNEL is not set 286# CONFIG_INET6_XFRM_TUNNEL is not set
275# CONFIG_INET6_TUNNEL is not set 287# CONFIG_INET6_TUNNEL is not set
288CONFIG_NETWORK_SECMARK=y
276# CONFIG_NETFILTER is not set 289# CONFIG_NETFILTER is not set
277 290
278# 291#
@@ -332,6 +345,7 @@ CONFIG_WIRELESS_EXT=y
332CONFIG_STANDALONE=y 345CONFIG_STANDALONE=y
333CONFIG_PREVENT_FIRMWARE_BUILD=y 346CONFIG_PREVENT_FIRMWARE_BUILD=y
334# CONFIG_FW_LOADER is not set 347# CONFIG_FW_LOADER is not set
348# CONFIG_SYS_HYPERVISOR is not set
335 349
336# 350#
337# Connector - unified userspace <-> kernelspace linker 351# Connector - unified userspace <-> kernelspace linker
@@ -513,6 +527,8 @@ CONFIG_DAVICOM_PHY=m
513CONFIG_QSEMI_PHY=m 527CONFIG_QSEMI_PHY=m
514CONFIG_LXT_PHY=m 528CONFIG_LXT_PHY=m
515CONFIG_CICADA_PHY=m 529CONFIG_CICADA_PHY=m
530CONFIG_VITESSE_PHY=m
531CONFIG_SMSC_PHY=m
516 532
517# 533#
518# Ethernet (10 or 100Mbit) 534# Ethernet (10 or 100Mbit)
@@ -601,6 +617,7 @@ CONFIG_SERIO_RAW=m
601CONFIG_VT=y 617CONFIG_VT=y
602CONFIG_VT_CONSOLE=y 618CONFIG_VT_CONSOLE=y
603CONFIG_HW_CONSOLE=y 619CONFIG_HW_CONSOLE=y
620CONFIG_VT_HW_CONSOLE_BINDING=y
604# CONFIG_SERIAL_NONSTANDARD is not set 621# CONFIG_SERIAL_NONSTANDARD is not set
605# CONFIG_QTRONIX_KEYBOARD is not set 622# CONFIG_QTRONIX_KEYBOARD is not set
606# CONFIG_IT8172_SCR0 is not set 623# CONFIG_IT8172_SCR0 is not set
@@ -634,6 +651,7 @@ CONFIG_LEGACY_PTY_COUNT=256
634# Watchdog Cards 651# Watchdog Cards
635# 652#
636# CONFIG_WATCHDOG is not set 653# CONFIG_WATCHDOG is not set
654# CONFIG_HW_RANDOM is not set
637# CONFIG_RTC is not set 655# CONFIG_RTC is not set
638# CONFIG_GEN_RTC is not set 656# CONFIG_GEN_RTC is not set
639# CONFIG_DTLK is not set 657# CONFIG_DTLK is not set
@@ -680,6 +698,7 @@ CONFIG_LEGACY_PTY_COUNT=256
680# Multimedia devices 698# Multimedia devices
681# 699#
682# CONFIG_VIDEO_DEV is not set 700# CONFIG_VIDEO_DEV is not set
701CONFIG_VIDEO_V4L2=y
683 702
684# 703#
685# Digital Video Broadcasting Devices 704# Digital Video Broadcasting Devices
@@ -689,6 +708,7 @@ CONFIG_LEGACY_PTY_COUNT=256
689# 708#
690# Graphics support 709# Graphics support
691# 710#
711# CONFIG_FIRMWARE_EDID is not set
692# CONFIG_FB is not set 712# CONFIG_FB is not set
693 713
694# 714#
@@ -763,6 +783,19 @@ CONFIG_SOUND_IT8172=y
763# CONFIG_RTC_CLASS is not set 783# CONFIG_RTC_CLASS is not set
764 784
765# 785#
786# DMA Engine support
787#
788# CONFIG_DMA_ENGINE is not set
789
790#
791# DMA Clients
792#
793
794#
795# DMA Devices
796#
797
798#
766# File systems 799# File systems
767# 800#
768CONFIG_EXT2_FS=y 801CONFIG_EXT2_FS=y
@@ -777,6 +810,7 @@ CONFIG_EXT2_FS=y
777# CONFIG_MINIX_FS is not set 810# CONFIG_MINIX_FS is not set
778# CONFIG_ROMFS_FS is not set 811# CONFIG_ROMFS_FS is not set
779CONFIG_INOTIFY=y 812CONFIG_INOTIFY=y
813CONFIG_INOTIFY_USER=y
780# CONFIG_QUOTA is not set 814# CONFIG_QUOTA is not set
781CONFIG_DNOTIFY=y 815CONFIG_DNOTIFY=y
782# CONFIG_AUTOFS_FS is not set 816# CONFIG_AUTOFS_FS is not set
@@ -842,6 +876,7 @@ CONFIG_SUNRPC=y
842# CONFIG_RPCSEC_GSS_SPKM3 is not set 876# CONFIG_RPCSEC_GSS_SPKM3 is not set
843# CONFIG_SMB_FS is not set 877# CONFIG_SMB_FS is not set
844# CONFIG_CIFS is not set 878# CONFIG_CIFS is not set
879# CONFIG_CIFS_DEBUG2 is not set
845# CONFIG_NCP_FS is not set 880# CONFIG_NCP_FS is not set
846# CONFIG_CODA_FS is not set 881# CONFIG_CODA_FS is not set
847# CONFIG_AFS_FS is not set 882# CONFIG_AFS_FS is not set
@@ -868,6 +903,7 @@ CONFIG_MSDOS_PARTITION=y
868# 903#
869# CONFIG_PRINTK_TIME is not set 904# CONFIG_PRINTK_TIME is not set
870# CONFIG_MAGIC_SYSRQ is not set 905# CONFIG_MAGIC_SYSRQ is not set
906# CONFIG_UNUSED_SYMBOLS is not set
871# CONFIG_DEBUG_KERNEL is not set 907# CONFIG_DEBUG_KERNEL is not set
872CONFIG_LOG_BUF_SHIFT=14 908CONFIG_LOG_BUF_SHIFT=14
873# CONFIG_DEBUG_FS is not set 909# CONFIG_DEBUG_FS is not set
@@ -923,3 +959,4 @@ CONFIG_CRC32=m
923CONFIG_LIBCRC32C=m 959CONFIG_LIBCRC32C=m
924CONFIG_ZLIB_INFLATE=m 960CONFIG_ZLIB_INFLATE=m
925CONFIG_ZLIB_DEFLATE=m 961CONFIG_ZLIB_DEFLATE=m
962CONFIG_PLIST=y
diff --git a/arch/mips/configs/ivr_defconfig b/arch/mips/configs/ivr_defconfig
index 55108fd67844..cebc67212d06 100644
--- a/arch/mips/configs/ivr_defconfig
+++ b/arch/mips/configs/ivr_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.17-rc2 3# Linux kernel version: 2.6.18-rc1
4# Mon Apr 24 14:51:06 2006 4# Thu Jul 6 10:04:12 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -21,6 +21,7 @@ CONFIG_MIPS=y
21# CONFIG_MIPS_DB1550 is not set 21# CONFIG_MIPS_DB1550 is not set
22# CONFIG_MIPS_DB1200 is not set 22# CONFIG_MIPS_DB1200 is not set
23# CONFIG_MIPS_MIRAGE is not set 23# CONFIG_MIPS_MIRAGE is not set
24# CONFIG_BASLER_EXCITE is not set
24# CONFIG_MIPS_COBALT is not set 25# CONFIG_MIPS_COBALT is not set
25# CONFIG_MACH_DECSTATION is not set 26# CONFIG_MACH_DECSTATION is not set
26# CONFIG_MIPS_EV64120 is not set 27# CONFIG_MIPS_EV64120 is not set
@@ -32,6 +33,7 @@ CONFIG_MIPS_IVR=y
32# CONFIG_MIPS_ATLAS is not set 33# CONFIG_MIPS_ATLAS is not set
33# CONFIG_MIPS_MALTA is not set 34# CONFIG_MIPS_MALTA is not set
34# CONFIG_MIPS_SEAD is not set 35# CONFIG_MIPS_SEAD is not set
36# CONFIG_WR_PPMC is not set
35# CONFIG_MIPS_SIM is not set 37# CONFIG_MIPS_SIM is not set
36# CONFIG_MOMENCO_JAGUAR_ATX is not set 38# CONFIG_MOMENCO_JAGUAR_ATX is not set
37# CONFIG_MOMENCO_OCELOT is not set 39# CONFIG_MOMENCO_OCELOT is not set
@@ -45,6 +47,7 @@ CONFIG_MIPS_IVR=y
45# CONFIG_MACH_VR41XX is not set 47# CONFIG_MACH_VR41XX is not set
46# CONFIG_PMC_YOSEMITE is not set 48# CONFIG_PMC_YOSEMITE is not set
47# CONFIG_QEMU is not set 49# CONFIG_QEMU is not set
50# CONFIG_MARKEINS is not set
48# CONFIG_SGI_IP22 is not set 51# CONFIG_SGI_IP22 is not set
49# CONFIG_SGI_IP27 is not set 52# CONFIG_SGI_IP27 is not set
50# CONFIG_SGI_IP32 is not set 53# CONFIG_SGI_IP32 is not set
@@ -65,6 +68,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y
65CONFIG_GENERIC_FIND_NEXT_BIT=y 68CONFIG_GENERIC_FIND_NEXT_BIT=y
66CONFIG_GENERIC_HWEIGHT=y 69CONFIG_GENERIC_HWEIGHT=y
67CONFIG_GENERIC_CALIBRATE_DELAY=y 70CONFIG_GENERIC_CALIBRATE_DELAY=y
71CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
68CONFIG_DMA_NONCOHERENT=y 72CONFIG_DMA_NONCOHERENT=y
69CONFIG_DMA_NEED_PCI_MAP_STATE=y 73CONFIG_DMA_NEED_PCI_MAP_STATE=y
70# CONFIG_CPU_BIG_ENDIAN is not set 74# CONFIG_CPU_BIG_ENDIAN is not set
@@ -111,7 +115,10 @@ CONFIG_PAGE_SIZE_4KB=y
111# CONFIG_PAGE_SIZE_8KB is not set 115# CONFIG_PAGE_SIZE_8KB is not set
112# CONFIG_PAGE_SIZE_16KB is not set 116# CONFIG_PAGE_SIZE_16KB is not set
113# CONFIG_PAGE_SIZE_64KB is not set 117# CONFIG_PAGE_SIZE_64KB is not set
114# CONFIG_MIPS_MT is not set 118CONFIG_MIPS_MT_DISABLED=y
119# CONFIG_MIPS_MT_SMTC is not set
120# CONFIG_MIPS_MT_SMP is not set
121# CONFIG_MIPS_VPE_LOADER is not set
115CONFIG_CPU_HAS_LLSC=y 122CONFIG_CPU_HAS_LLSC=y
116CONFIG_CPU_HAS_SYNC=y 123CONFIG_CPU_HAS_SYNC=y
117CONFIG_GENERIC_HARDIRQS=y 124CONFIG_GENERIC_HARDIRQS=y
@@ -125,6 +132,7 @@ CONFIG_FLATMEM=y
125CONFIG_FLAT_NODE_MEM_MAP=y 132CONFIG_FLAT_NODE_MEM_MAP=y
126# CONFIG_SPARSEMEM_STATIC is not set 133# CONFIG_SPARSEMEM_STATIC is not set
127CONFIG_SPLIT_PTLOCK_CPUS=4 134CONFIG_SPLIT_PTLOCK_CPUS=4
135# CONFIG_RESOURCES_64BIT is not set
128# CONFIG_HZ_48 is not set 136# CONFIG_HZ_48 is not set
129# CONFIG_HZ_100 is not set 137# CONFIG_HZ_100 is not set
130# CONFIG_HZ_128 is not set 138# CONFIG_HZ_128 is not set
@@ -137,6 +145,7 @@ CONFIG_HZ=1000
137CONFIG_PREEMPT_NONE=y 145CONFIG_PREEMPT_NONE=y
138# CONFIG_PREEMPT_VOLUNTARY is not set 146# CONFIG_PREEMPT_VOLUNTARY is not set
139# CONFIG_PREEMPT is not set 147# CONFIG_PREEMPT is not set
148CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
140 149
141# 150#
142# Code maturity level options 151# Code maturity level options
@@ -169,10 +178,12 @@ CONFIG_PRINTK=y
169CONFIG_BUG=y 178CONFIG_BUG=y
170CONFIG_ELF_CORE=y 179CONFIG_ELF_CORE=y
171CONFIG_BASE_FULL=y 180CONFIG_BASE_FULL=y
181CONFIG_RT_MUTEXES=y
172CONFIG_FUTEX=y 182CONFIG_FUTEX=y
173CONFIG_EPOLL=y 183CONFIG_EPOLL=y
174CONFIG_SHMEM=y 184CONFIG_SHMEM=y
175CONFIG_SLAB=y 185CONFIG_SLAB=y
186CONFIG_VM_EVENT_COUNTERS=y
176# CONFIG_TINY_SHMEM is not set 187# CONFIG_TINY_SHMEM is not set
177CONFIG_BASE_SMALL=0 188CONFIG_BASE_SMALL=0
178# CONFIG_SLOB is not set 189# CONFIG_SLOB is not set
@@ -263,6 +274,8 @@ CONFIG_IP_PNP_BOOTP=y
263# CONFIG_INET_IPCOMP is not set 274# CONFIG_INET_IPCOMP is not set
264# CONFIG_INET_XFRM_TUNNEL is not set 275# CONFIG_INET_XFRM_TUNNEL is not set
265# CONFIG_INET_TUNNEL is not set 276# CONFIG_INET_TUNNEL is not set
277CONFIG_INET_XFRM_MODE_TRANSPORT=m
278CONFIG_INET_XFRM_MODE_TUNNEL=m
266CONFIG_INET_DIAG=y 279CONFIG_INET_DIAG=y
267CONFIG_INET_TCP_DIAG=y 280CONFIG_INET_TCP_DIAG=y
268# CONFIG_TCP_CONG_ADVANCED is not set 281# CONFIG_TCP_CONG_ADVANCED is not set
@@ -270,6 +283,7 @@ CONFIG_TCP_CONG_BIC=y
270# CONFIG_IPV6 is not set 283# CONFIG_IPV6 is not set
271# CONFIG_INET6_XFRM_TUNNEL is not set 284# CONFIG_INET6_XFRM_TUNNEL is not set
272# CONFIG_INET6_TUNNEL is not set 285# CONFIG_INET6_TUNNEL is not set
286CONFIG_NETWORK_SECMARK=y
273# CONFIG_NETFILTER is not set 287# CONFIG_NETFILTER is not set
274 288
275# 289#
@@ -329,6 +343,7 @@ CONFIG_WIRELESS_EXT=y
329CONFIG_STANDALONE=y 343CONFIG_STANDALONE=y
330CONFIG_PREVENT_FIRMWARE_BUILD=y 344CONFIG_PREVENT_FIRMWARE_BUILD=y
331CONFIG_FW_LOADER=m 345CONFIG_FW_LOADER=m
346# CONFIG_SYS_HYPERVISOR is not set
332 347
333# 348#
334# Connector - unified userspace <-> kernelspace linker 349# Connector - unified userspace <-> kernelspace linker
@@ -447,6 +462,8 @@ CONFIG_DAVICOM_PHY=m
447CONFIG_QSEMI_PHY=m 462CONFIG_QSEMI_PHY=m
448CONFIG_LXT_PHY=m 463CONFIG_LXT_PHY=m
449CONFIG_CICADA_PHY=m 464CONFIG_CICADA_PHY=m
465CONFIG_VITESSE_PHY=m
466CONFIG_SMSC_PHY=m
450 467
451# 468#
452# Ethernet (10 or 100Mbit) 469# Ethernet (10 or 100Mbit)
@@ -489,6 +506,7 @@ CONFIG_NET_ETHERNET=y
489# CONFIG_CHELSIO_T1 is not set 506# CONFIG_CHELSIO_T1 is not set
490# CONFIG_IXGB is not set 507# CONFIG_IXGB is not set
491# CONFIG_S2IO is not set 508# CONFIG_S2IO is not set
509# CONFIG_MYRI10GE is not set
492 510
493# 511#
494# Token Ring devices 512# Token Ring devices
@@ -566,6 +584,7 @@ CONFIG_SERIO_RAW=m
566CONFIG_VT=y 584CONFIG_VT=y
567CONFIG_VT_CONSOLE=y 585CONFIG_VT_CONSOLE=y
568CONFIG_HW_CONSOLE=y 586CONFIG_HW_CONSOLE=y
587CONFIG_VT_HW_CONSOLE_BINDING=y
569# CONFIG_SERIAL_NONSTANDARD is not set 588# CONFIG_SERIAL_NONSTANDARD is not set
570CONFIG_QTRONIX_KEYBOARD=y 589CONFIG_QTRONIX_KEYBOARD=y
571CONFIG_IT8172_SCR0=y 590CONFIG_IT8172_SCR0=y
@@ -600,6 +619,7 @@ CONFIG_LEGACY_PTY_COUNT=256
600# Watchdog Cards 619# Watchdog Cards
601# 620#
602# CONFIG_WATCHDOG is not set 621# CONFIG_WATCHDOG is not set
622# CONFIG_HW_RANDOM is not set
603CONFIG_RTC=y 623CONFIG_RTC=y
604# CONFIG_DTLK is not set 624# CONFIG_DTLK is not set
605# CONFIG_R3964 is not set 625# CONFIG_R3964 is not set
@@ -647,6 +667,7 @@ CONFIG_RTC=y
647# Multimedia devices 667# Multimedia devices
648# 668#
649# CONFIG_VIDEO_DEV is not set 669# CONFIG_VIDEO_DEV is not set
670CONFIG_VIDEO_V4L2=y
650 671
651# 672#
652# Digital Video Broadcasting Devices 673# Digital Video Broadcasting Devices
@@ -656,6 +677,7 @@ CONFIG_RTC=y
656# 677#
657# Graphics support 678# Graphics support
658# 679#
680# CONFIG_FIRMWARE_EDID is not set
659# CONFIG_FB is not set 681# CONFIG_FB is not set
660 682
661# 683#
@@ -719,6 +741,19 @@ CONFIG_USB_ARCH_HAS_EHCI=y
719# CONFIG_RTC_CLASS is not set 741# CONFIG_RTC_CLASS is not set
720 742
721# 743#
744# DMA Engine support
745#
746# CONFIG_DMA_ENGINE is not set
747
748#
749# DMA Clients
750#
751
752#
753# DMA Devices
754#
755
756#
722# File systems 757# File systems
723# 758#
724CONFIG_EXT2_FS=y 759CONFIG_EXT2_FS=y
@@ -733,6 +768,7 @@ CONFIG_EXT2_FS=y
733# CONFIG_MINIX_FS is not set 768# CONFIG_MINIX_FS is not set
734# CONFIG_ROMFS_FS is not set 769# CONFIG_ROMFS_FS is not set
735CONFIG_INOTIFY=y 770CONFIG_INOTIFY=y
771CONFIG_INOTIFY_USER=y
736# CONFIG_QUOTA is not set 772# CONFIG_QUOTA is not set
737CONFIG_DNOTIFY=y 773CONFIG_DNOTIFY=y
738# CONFIG_AUTOFS_FS is not set 774# CONFIG_AUTOFS_FS is not set
@@ -796,6 +832,7 @@ CONFIG_SUNRPC=y
796# CONFIG_RPCSEC_GSS_SPKM3 is not set 832# CONFIG_RPCSEC_GSS_SPKM3 is not set
797# CONFIG_SMB_FS is not set 833# CONFIG_SMB_FS is not set
798# CONFIG_CIFS is not set 834# CONFIG_CIFS is not set
835# CONFIG_CIFS_DEBUG2 is not set
799# CONFIG_NCP_FS is not set 836# CONFIG_NCP_FS is not set
800# CONFIG_CODA_FS is not set 837# CONFIG_CODA_FS is not set
801# CONFIG_AFS_FS is not set 838# CONFIG_AFS_FS is not set
@@ -822,6 +859,7 @@ CONFIG_MSDOS_PARTITION=y
822# 859#
823# CONFIG_PRINTK_TIME is not set 860# CONFIG_PRINTK_TIME is not set
824# CONFIG_MAGIC_SYSRQ is not set 861# CONFIG_MAGIC_SYSRQ is not set
862# CONFIG_UNUSED_SYMBOLS is not set
825# CONFIG_DEBUG_KERNEL is not set 863# CONFIG_DEBUG_KERNEL is not set
826CONFIG_LOG_BUF_SHIFT=14 864CONFIG_LOG_BUF_SHIFT=14
827# CONFIG_DEBUG_FS is not set 865# CONFIG_DEBUG_FS is not set
@@ -877,3 +915,4 @@ CONFIG_CRC32=m
877CONFIG_LIBCRC32C=m 915CONFIG_LIBCRC32C=m
878CONFIG_ZLIB_INFLATE=m 916CONFIG_ZLIB_INFLATE=m
879CONFIG_ZLIB_DEFLATE=m 917CONFIG_ZLIB_DEFLATE=m
918CONFIG_PLIST=y
diff --git a/arch/mips/configs/jaguar-atx_defconfig b/arch/mips/configs/jaguar-atx_defconfig
index ef2843436057..5d9eb11aba3d 100644
--- a/arch/mips/configs/jaguar-atx_defconfig
+++ b/arch/mips/configs/jaguar-atx_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.17-rc2 3# Linux kernel version: 2.6.18-rc1
4# Mon Apr 24 14:51:06 2006 4# Thu Jul 6 10:04:12 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -21,6 +21,7 @@ CONFIG_MIPS=y
21# CONFIG_MIPS_DB1550 is not set 21# CONFIG_MIPS_DB1550 is not set
22# CONFIG_MIPS_DB1200 is not set 22# CONFIG_MIPS_DB1200 is not set
23# CONFIG_MIPS_MIRAGE is not set 23# CONFIG_MIPS_MIRAGE is not set
24# CONFIG_BASLER_EXCITE is not set
24# CONFIG_MIPS_COBALT is not set 25# CONFIG_MIPS_COBALT is not set
25# CONFIG_MACH_DECSTATION is not set 26# CONFIG_MACH_DECSTATION is not set
26# CONFIG_MIPS_EV64120 is not set 27# CONFIG_MIPS_EV64120 is not set
@@ -32,6 +33,7 @@ CONFIG_MIPS=y
32# CONFIG_MIPS_ATLAS is not set 33# CONFIG_MIPS_ATLAS is not set
33# CONFIG_MIPS_MALTA is not set 34# CONFIG_MIPS_MALTA is not set
34# CONFIG_MIPS_SEAD is not set 35# CONFIG_MIPS_SEAD is not set
36# CONFIG_WR_PPMC is not set
35# CONFIG_MIPS_SIM is not set 37# CONFIG_MIPS_SIM is not set
36CONFIG_MOMENCO_JAGUAR_ATX=y 38CONFIG_MOMENCO_JAGUAR_ATX=y
37# CONFIG_MOMENCO_OCELOT is not set 39# CONFIG_MOMENCO_OCELOT is not set
@@ -45,6 +47,7 @@ CONFIG_MOMENCO_JAGUAR_ATX=y
45# CONFIG_MACH_VR41XX is not set 47# CONFIG_MACH_VR41XX is not set
46# CONFIG_PMC_YOSEMITE is not set 48# CONFIG_PMC_YOSEMITE is not set
47# CONFIG_QEMU is not set 49# CONFIG_QEMU is not set
50# CONFIG_MARKEINS is not set
48# CONFIG_SGI_IP22 is not set 51# CONFIG_SGI_IP22 is not set
49# CONFIG_SGI_IP27 is not set 52# CONFIG_SGI_IP27 is not set
50# CONFIG_SGI_IP32 is not set 53# CONFIG_SGI_IP32 is not set
@@ -66,6 +69,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y
66CONFIG_GENERIC_FIND_NEXT_BIT=y 69CONFIG_GENERIC_FIND_NEXT_BIT=y
67CONFIG_GENERIC_HWEIGHT=y 70CONFIG_GENERIC_HWEIGHT=y
68CONFIG_GENERIC_CALIBRATE_DELAY=y 71CONFIG_GENERIC_CALIBRATE_DELAY=y
72CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
69CONFIG_DMA_NONCOHERENT=y 73CONFIG_DMA_NONCOHERENT=y
70CONFIG_DMA_NEED_PCI_MAP_STATE=y 74CONFIG_DMA_NEED_PCI_MAP_STATE=y
71CONFIG_LIMITED_DMA=y 75CONFIG_LIMITED_DMA=y
@@ -120,7 +124,10 @@ CONFIG_PAGE_SIZE_4KB=y
120CONFIG_BOARD_SCACHE=y 124CONFIG_BOARD_SCACHE=y
121CONFIG_RM7000_CPU_SCACHE=y 125CONFIG_RM7000_CPU_SCACHE=y
122CONFIG_CPU_HAS_PREFETCH=y 126CONFIG_CPU_HAS_PREFETCH=y
123# CONFIG_MIPS_MT is not set 127CONFIG_MIPS_MT_DISABLED=y
128# CONFIG_MIPS_MT_SMTC is not set
129# CONFIG_MIPS_MT_SMP is not set
130# CONFIG_MIPS_VPE_LOADER is not set
124# CONFIG_64BIT_PHYS_ADDR is not set 131# CONFIG_64BIT_PHYS_ADDR is not set
125CONFIG_CPU_HAS_LLSC=y 132CONFIG_CPU_HAS_LLSC=y
126CONFIG_CPU_HAS_SYNC=y 133CONFIG_CPU_HAS_SYNC=y
@@ -134,6 +141,7 @@ CONFIG_FLATMEM=y
134CONFIG_FLAT_NODE_MEM_MAP=y 141CONFIG_FLAT_NODE_MEM_MAP=y
135# CONFIG_SPARSEMEM_STATIC is not set 142# CONFIG_SPARSEMEM_STATIC is not set
136CONFIG_SPLIT_PTLOCK_CPUS=4 143CONFIG_SPLIT_PTLOCK_CPUS=4
144# CONFIG_RESOURCES_64BIT is not set
137# CONFIG_HZ_48 is not set 145# CONFIG_HZ_48 is not set
138# CONFIG_HZ_100 is not set 146# CONFIG_HZ_100 is not set
139# CONFIG_HZ_128 is not set 147# CONFIG_HZ_128 is not set
@@ -143,10 +151,10 @@ CONFIG_HZ_1000=y
143# CONFIG_HZ_1024 is not set 151# CONFIG_HZ_1024 is not set
144CONFIG_SYS_SUPPORTS_ARBIT_HZ=y 152CONFIG_SYS_SUPPORTS_ARBIT_HZ=y
145CONFIG_HZ=1000 153CONFIG_HZ=1000
146# CONFIG_SMP is not set
147CONFIG_PREEMPT_NONE=y 154CONFIG_PREEMPT_NONE=y
148# CONFIG_PREEMPT_VOLUNTARY is not set 155# CONFIG_PREEMPT_VOLUNTARY is not set
149# CONFIG_PREEMPT is not set 156# CONFIG_PREEMPT is not set
157CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
150 158
151# 159#
152# Code maturity level options 160# Code maturity level options
@@ -177,10 +185,12 @@ CONFIG_PRINTK=y
177CONFIG_BUG=y 185CONFIG_BUG=y
178CONFIG_ELF_CORE=y 186CONFIG_ELF_CORE=y
179CONFIG_BASE_FULL=y 187CONFIG_BASE_FULL=y
188CONFIG_RT_MUTEXES=y
180CONFIG_FUTEX=y 189CONFIG_FUTEX=y
181CONFIG_EPOLL=y 190CONFIG_EPOLL=y
182CONFIG_SHMEM=y 191CONFIG_SHMEM=y
183CONFIG_SLAB=y 192CONFIG_SLAB=y
193CONFIG_VM_EVENT_COUNTERS=y
184# CONFIG_TINY_SHMEM is not set 194# CONFIG_TINY_SHMEM is not set
185CONFIG_BASE_SMALL=0 195CONFIG_BASE_SMALL=0
186# CONFIG_SLOB is not set 196# CONFIG_SLOB is not set
@@ -267,6 +277,8 @@ CONFIG_IP_PNP_BOOTP=y
267# CONFIG_INET_IPCOMP is not set 277# CONFIG_INET_IPCOMP is not set
268# CONFIG_INET_XFRM_TUNNEL is not set 278# CONFIG_INET_XFRM_TUNNEL is not set
269# CONFIG_INET_TUNNEL is not set 279# CONFIG_INET_TUNNEL is not set
280CONFIG_INET_XFRM_MODE_TRANSPORT=m
281CONFIG_INET_XFRM_MODE_TUNNEL=m
270CONFIG_INET_DIAG=y 282CONFIG_INET_DIAG=y
271CONFIG_INET_TCP_DIAG=y 283CONFIG_INET_TCP_DIAG=y
272# CONFIG_TCP_CONG_ADVANCED is not set 284# CONFIG_TCP_CONG_ADVANCED is not set
@@ -279,7 +291,10 @@ CONFIG_INET6_ESP=m
279CONFIG_INET6_IPCOMP=m 291CONFIG_INET6_IPCOMP=m
280CONFIG_INET6_XFRM_TUNNEL=m 292CONFIG_INET6_XFRM_TUNNEL=m
281CONFIG_INET6_TUNNEL=m 293CONFIG_INET6_TUNNEL=m
294CONFIG_INET6_XFRM_MODE_TRANSPORT=m
295CONFIG_INET6_XFRM_MODE_TUNNEL=m
282CONFIG_IPV6_TUNNEL=m 296CONFIG_IPV6_TUNNEL=m
297CONFIG_NETWORK_SECMARK=y
283# CONFIG_NETFILTER is not set 298# CONFIG_NETFILTER is not set
284# CONFIG_BRIDGE is not set 299# CONFIG_BRIDGE is not set
285# CONFIG_VLAN_8021Q is not set 300# CONFIG_VLAN_8021Q is not set
@@ -315,6 +330,7 @@ CONFIG_IEEE80211_CRYPT_CCMP=m
315CONFIG_STANDALONE=y 330CONFIG_STANDALONE=y
316CONFIG_PREVENT_FIRMWARE_BUILD=y 331CONFIG_PREVENT_FIRMWARE_BUILD=y
317CONFIG_FW_LOADER=m 332CONFIG_FW_LOADER=m
333# CONFIG_SYS_HYPERVISOR is not set
318 334
319# 335#
320# Connector - unified userspace <-> kernelspace linker 336# Connector - unified userspace <-> kernelspace linker
@@ -409,6 +425,8 @@ CONFIG_DAVICOM_PHY=m
409CONFIG_QSEMI_PHY=m 425CONFIG_QSEMI_PHY=m
410CONFIG_LXT_PHY=m 426CONFIG_LXT_PHY=m
411CONFIG_CICADA_PHY=m 427CONFIG_CICADA_PHY=m
428CONFIG_VITESSE_PHY=m
429CONFIG_SMSC_PHY=m
412 430
413# 431#
414# Ethernet (10 or 100Mbit) 432# Ethernet (10 or 100Mbit)
@@ -430,6 +448,7 @@ CONFIG_NET_PCI=y
430# CONFIG_PCNET32 is not set 448# CONFIG_PCNET32 is not set
431# CONFIG_AMD8111_ETH is not set 449# CONFIG_AMD8111_ETH is not set
432# CONFIG_ADAPTEC_STARFIRE is not set 450# CONFIG_ADAPTEC_STARFIRE is not set
451# CONFIG_B44 is not set
433# CONFIG_FORCEDETH is not set 452# CONFIG_FORCEDETH is not set
434# CONFIG_DGRS is not set 453# CONFIG_DGRS is not set
435CONFIG_EEPRO100=y 454CONFIG_EEPRO100=y
@@ -470,6 +489,7 @@ CONFIG_MV643XX_ETH_2=y
470# CONFIG_CHELSIO_T1 is not set 489# CONFIG_CHELSIO_T1 is not set
471# CONFIG_IXGB is not set 490# CONFIG_IXGB is not set
472# CONFIG_S2IO is not set 491# CONFIG_S2IO is not set
492# CONFIG_MYRI10GE is not set
473 493
474# 494#
475# Token Ring devices 495# Token Ring devices
@@ -547,6 +567,7 @@ CONFIG_LEGACY_PTY_COUNT=256
547# Watchdog Cards 567# Watchdog Cards
548# 568#
549# CONFIG_WATCHDOG is not set 569# CONFIG_WATCHDOG is not set
570# CONFIG_HW_RANDOM is not set
550# CONFIG_RTC is not set 571# CONFIG_RTC is not set
551# CONFIG_GEN_RTC is not set 572# CONFIG_GEN_RTC is not set
552# CONFIG_DTLK is not set 573# CONFIG_DTLK is not set
@@ -593,6 +614,7 @@ CONFIG_LEGACY_PTY_COUNT=256
593# Multimedia devices 614# Multimedia devices
594# 615#
595# CONFIG_VIDEO_DEV is not set 616# CONFIG_VIDEO_DEV is not set
617CONFIG_VIDEO_V4L2=y
596 618
597# 619#
598# Digital Video Broadcasting Devices 620# Digital Video Broadcasting Devices
@@ -602,6 +624,7 @@ CONFIG_LEGACY_PTY_COUNT=256
602# 624#
603# Graphics support 625# Graphics support
604# 626#
627# CONFIG_FIRMWARE_EDID is not set
605# CONFIG_FB is not set 628# CONFIG_FB is not set
606 629
607# 630#
@@ -658,6 +681,19 @@ CONFIG_USB_ARCH_HAS_EHCI=y
658# 681#
659 682
660# 683#
684# DMA Engine support
685#
686# CONFIG_DMA_ENGINE is not set
687
688#
689# DMA Clients
690#
691
692#
693# DMA Devices
694#
695
696#
661# File systems 697# File systems
662# 698#
663# CONFIG_EXT2_FS is not set 699# CONFIG_EXT2_FS is not set
@@ -669,6 +705,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
669# CONFIG_MINIX_FS is not set 705# CONFIG_MINIX_FS is not set
670# CONFIG_ROMFS_FS is not set 706# CONFIG_ROMFS_FS is not set
671CONFIG_INOTIFY=y 707CONFIG_INOTIFY=y
708CONFIG_INOTIFY_USER=y
672# CONFIG_QUOTA is not set 709# CONFIG_QUOTA is not set
673CONFIG_DNOTIFY=y 710CONFIG_DNOTIFY=y
674# CONFIG_AUTOFS_FS is not set 711# CONFIG_AUTOFS_FS is not set
@@ -721,6 +758,7 @@ CONFIG_NFS_COMMON=y
721CONFIG_SUNRPC=y 758CONFIG_SUNRPC=y
722# CONFIG_SMB_FS is not set 759# CONFIG_SMB_FS is not set
723# CONFIG_CIFS is not set 760# CONFIG_CIFS is not set
761# CONFIG_CIFS_DEBUG2 is not set
724# CONFIG_NCP_FS is not set 762# CONFIG_NCP_FS is not set
725# CONFIG_CODA_FS is not set 763# CONFIG_CODA_FS is not set
726 764
@@ -740,6 +778,7 @@ CONFIG_MSDOS_PARTITION=y
740# 778#
741# CONFIG_PRINTK_TIME is not set 779# CONFIG_PRINTK_TIME is not set
742# CONFIG_MAGIC_SYSRQ is not set 780# CONFIG_MAGIC_SYSRQ is not set
781# CONFIG_UNUSED_SYMBOLS is not set
743# CONFIG_DEBUG_KERNEL is not set 782# CONFIG_DEBUG_KERNEL is not set
744CONFIG_LOG_BUF_SHIFT=14 783CONFIG_LOG_BUF_SHIFT=14
745# CONFIG_DEBUG_FS is not set 784# CONFIG_DEBUG_FS is not set
@@ -795,3 +834,4 @@ CONFIG_CRC32=m
795CONFIG_LIBCRC32C=m 834CONFIG_LIBCRC32C=m
796CONFIG_ZLIB_INFLATE=m 835CONFIG_ZLIB_INFLATE=m
797CONFIG_ZLIB_DEFLATE=m 836CONFIG_ZLIB_DEFLATE=m
837CONFIG_PLIST=y
diff --git a/arch/mips/configs/jmr3927_defconfig b/arch/mips/configs/jmr3927_defconfig
index 5ef5a08289a5..be45a9044d06 100644
--- a/arch/mips/configs/jmr3927_defconfig
+++ b/arch/mips/configs/jmr3927_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.17-rc2 3# Linux kernel version: 2.6.18-rc1
4# Mon Apr 24 14:51:07 2006 4# Thu Jul 6 10:04:12 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -21,6 +21,7 @@ CONFIG_MIPS=y
21# CONFIG_MIPS_DB1550 is not set 21# CONFIG_MIPS_DB1550 is not set
22# CONFIG_MIPS_DB1200 is not set 22# CONFIG_MIPS_DB1200 is not set
23# CONFIG_MIPS_MIRAGE is not set 23# CONFIG_MIPS_MIRAGE is not set
24# CONFIG_BASLER_EXCITE is not set
24# CONFIG_MIPS_COBALT is not set 25# CONFIG_MIPS_COBALT is not set
25# CONFIG_MACH_DECSTATION is not set 26# CONFIG_MACH_DECSTATION is not set
26# CONFIG_MIPS_EV64120 is not set 27# CONFIG_MIPS_EV64120 is not set
@@ -32,6 +33,7 @@ CONFIG_MIPS=y
32# CONFIG_MIPS_ATLAS is not set 33# CONFIG_MIPS_ATLAS is not set
33# CONFIG_MIPS_MALTA is not set 34# CONFIG_MIPS_MALTA is not set
34# CONFIG_MIPS_SEAD is not set 35# CONFIG_MIPS_SEAD is not set
36# CONFIG_WR_PPMC is not set
35# CONFIG_MIPS_SIM is not set 37# CONFIG_MIPS_SIM is not set
36# CONFIG_MOMENCO_JAGUAR_ATX is not set 38# CONFIG_MOMENCO_JAGUAR_ATX is not set
37# CONFIG_MOMENCO_OCELOT is not set 39# CONFIG_MOMENCO_OCELOT is not set
@@ -45,6 +47,7 @@ CONFIG_MIPS=y
45# CONFIG_MACH_VR41XX is not set 47# CONFIG_MACH_VR41XX is not set
46# CONFIG_PMC_YOSEMITE is not set 48# CONFIG_PMC_YOSEMITE is not set
47# CONFIG_QEMU is not set 49# CONFIG_QEMU is not set
50# CONFIG_MARKEINS is not set
48# CONFIG_SGI_IP22 is not set 51# CONFIG_SGI_IP22 is not set
49# CONFIG_SGI_IP27 is not set 52# CONFIG_SGI_IP27 is not set
50# CONFIG_SGI_IP32 is not set 53# CONFIG_SGI_IP32 is not set
@@ -65,6 +68,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y
65CONFIG_GENERIC_FIND_NEXT_BIT=y 68CONFIG_GENERIC_FIND_NEXT_BIT=y
66CONFIG_GENERIC_HWEIGHT=y 69CONFIG_GENERIC_HWEIGHT=y
67CONFIG_GENERIC_CALIBRATE_DELAY=y 70CONFIG_GENERIC_CALIBRATE_DELAY=y
71CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
68CONFIG_DMA_NONCOHERENT=y 72CONFIG_DMA_NONCOHERENT=y
69CONFIG_DMA_NEED_PCI_MAP_STATE=y 73CONFIG_DMA_NEED_PCI_MAP_STATE=y
70CONFIG_CPU_BIG_ENDIAN=y 74CONFIG_CPU_BIG_ENDIAN=y
@@ -110,7 +114,10 @@ CONFIG_PAGE_SIZE_4KB=y
110# CONFIG_PAGE_SIZE_8KB is not set 114# CONFIG_PAGE_SIZE_8KB is not set
111# CONFIG_PAGE_SIZE_16KB is not set 115# CONFIG_PAGE_SIZE_16KB is not set
112# CONFIG_PAGE_SIZE_64KB is not set 116# CONFIG_PAGE_SIZE_64KB is not set
113# CONFIG_MIPS_MT is not set 117CONFIG_MIPS_MT_DISABLED=y
118# CONFIG_MIPS_MT_SMTC is not set
119# CONFIG_MIPS_MT_SMP is not set
120# CONFIG_MIPS_VPE_LOADER is not set
114CONFIG_CPU_HAS_SYNC=y 121CONFIG_CPU_HAS_SYNC=y
115CONFIG_GENERIC_HARDIRQS=y 122CONFIG_GENERIC_HARDIRQS=y
116CONFIG_GENERIC_IRQ_PROBE=y 123CONFIG_GENERIC_IRQ_PROBE=y
@@ -123,6 +130,7 @@ CONFIG_FLATMEM=y
123CONFIG_FLAT_NODE_MEM_MAP=y 130CONFIG_FLAT_NODE_MEM_MAP=y
124# CONFIG_SPARSEMEM_STATIC is not set 131# CONFIG_SPARSEMEM_STATIC is not set
125CONFIG_SPLIT_PTLOCK_CPUS=4 132CONFIG_SPLIT_PTLOCK_CPUS=4
133# CONFIG_RESOURCES_64BIT is not set
126# CONFIG_HZ_48 is not set 134# CONFIG_HZ_48 is not set
127# CONFIG_HZ_100 is not set 135# CONFIG_HZ_100 is not set
128# CONFIG_HZ_128 is not set 136# CONFIG_HZ_128 is not set
@@ -136,6 +144,7 @@ CONFIG_PREEMPT_NONE=y
136# CONFIG_PREEMPT_VOLUNTARY is not set 144# CONFIG_PREEMPT_VOLUNTARY is not set
137# CONFIG_PREEMPT is not set 145# CONFIG_PREEMPT is not set
138CONFIG_RTC_DS1742=y 146CONFIG_RTC_DS1742=y
147CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
139 148
140# 149#
141# Code maturity level options 150# Code maturity level options
@@ -167,10 +176,12 @@ CONFIG_PRINTK=y
167CONFIG_BUG=y 176CONFIG_BUG=y
168CONFIG_ELF_CORE=y 177CONFIG_ELF_CORE=y
169CONFIG_BASE_FULL=y 178CONFIG_BASE_FULL=y
179CONFIG_RT_MUTEXES=y
170CONFIG_FUTEX=y 180CONFIG_FUTEX=y
171CONFIG_EPOLL=y 181CONFIG_EPOLL=y
172CONFIG_SHMEM=y 182CONFIG_SHMEM=y
173CONFIG_SLAB=y 183CONFIG_SLAB=y
184CONFIG_VM_EVENT_COUNTERS=y
174# CONFIG_TINY_SHMEM is not set 185# CONFIG_TINY_SHMEM is not set
175CONFIG_BASE_SMALL=0 186CONFIG_BASE_SMALL=0
176# CONFIG_SLOB is not set 187# CONFIG_SLOB is not set
@@ -256,6 +267,8 @@ CONFIG_IP_PNP_BOOTP=y
256# CONFIG_INET_IPCOMP is not set 267# CONFIG_INET_IPCOMP is not set
257# CONFIG_INET_XFRM_TUNNEL is not set 268# CONFIG_INET_XFRM_TUNNEL is not set
258# CONFIG_INET_TUNNEL is not set 269# CONFIG_INET_TUNNEL is not set
270CONFIG_INET_XFRM_MODE_TRANSPORT=y
271CONFIG_INET_XFRM_MODE_TUNNEL=y
259CONFIG_INET_DIAG=y 272CONFIG_INET_DIAG=y
260CONFIG_INET_TCP_DIAG=y 273CONFIG_INET_TCP_DIAG=y
261# CONFIG_TCP_CONG_ADVANCED is not set 274# CONFIG_TCP_CONG_ADVANCED is not set
@@ -263,6 +276,7 @@ CONFIG_TCP_CONG_BIC=y
263# CONFIG_IPV6 is not set 276# CONFIG_IPV6 is not set
264# CONFIG_INET6_XFRM_TUNNEL is not set 277# CONFIG_INET6_XFRM_TUNNEL is not set
265# CONFIG_INET6_TUNNEL is not set 278# CONFIG_INET6_TUNNEL is not set
279CONFIG_NETWORK_SECMARK=y
266# CONFIG_NETFILTER is not set 280# CONFIG_NETFILTER is not set
267 281
268# 282#
@@ -322,6 +336,7 @@ CONFIG_WIRELESS_EXT=y
322CONFIG_STANDALONE=y 336CONFIG_STANDALONE=y
323CONFIG_PREVENT_FIRMWARE_BUILD=y 337CONFIG_PREVENT_FIRMWARE_BUILD=y
324CONFIG_FW_LOADER=y 338CONFIG_FW_LOADER=y
339# CONFIG_SYS_HYPERVISOR is not set
325 340
326# 341#
327# Connector - unified userspace <-> kernelspace linker 342# Connector - unified userspace <-> kernelspace linker
@@ -419,6 +434,8 @@ CONFIG_DAVICOM_PHY=y
419CONFIG_QSEMI_PHY=y 434CONFIG_QSEMI_PHY=y
420CONFIG_LXT_PHY=y 435CONFIG_LXT_PHY=y
421CONFIG_CICADA_PHY=y 436CONFIG_CICADA_PHY=y
437CONFIG_VITESSE_PHY=y
438CONFIG_SMSC_PHY=y
422 439
423# 440#
424# Ethernet (10 or 100Mbit) 441# Ethernet (10 or 100Mbit)
@@ -461,6 +478,7 @@ CONFIG_NET_ETHERNET=y
461# CONFIG_CHELSIO_T1 is not set 478# CONFIG_CHELSIO_T1 is not set
462# CONFIG_IXGB is not set 479# CONFIG_IXGB is not set
463# CONFIG_S2IO is not set 480# CONFIG_S2IO is not set
481# CONFIG_MYRI10GE is not set
464 482
465# 483#
466# Token Ring devices 484# Token Ring devices
@@ -538,6 +556,7 @@ CONFIG_SERIO_RAW=y
538CONFIG_VT=y 556CONFIG_VT=y
539CONFIG_VT_CONSOLE=y 557CONFIG_VT_CONSOLE=y
540CONFIG_HW_CONSOLE=y 558CONFIG_HW_CONSOLE=y
559CONFIG_VT_HW_CONSOLE_BINDING=y
541CONFIG_SERIAL_NONSTANDARD=y 560CONFIG_SERIAL_NONSTANDARD=y
542# CONFIG_COMPUTONE is not set 561# CONFIG_COMPUTONE is not set
543# CONFIG_ROCKETPORT is not set 562# CONFIG_ROCKETPORT is not set
@@ -582,6 +601,7 @@ CONFIG_LEGACY_PTY_COUNT=256
582# Watchdog Cards 601# Watchdog Cards
583# 602#
584# CONFIG_WATCHDOG is not set 603# CONFIG_WATCHDOG is not set
604# CONFIG_HW_RANDOM is not set
585# CONFIG_RTC is not set 605# CONFIG_RTC is not set
586# CONFIG_GEN_RTC is not set 606# CONFIG_GEN_RTC is not set
587# CONFIG_DTLK is not set 607# CONFIG_DTLK is not set
@@ -630,6 +650,7 @@ CONFIG_LEGACY_PTY_COUNT=256
630# Multimedia devices 650# Multimedia devices
631# 651#
632# CONFIG_VIDEO_DEV is not set 652# CONFIG_VIDEO_DEV is not set
653CONFIG_VIDEO_V4L2=y
633 654
634# 655#
635# Digital Video Broadcasting Devices 656# Digital Video Broadcasting Devices
@@ -639,12 +660,13 @@ CONFIG_LEGACY_PTY_COUNT=256
639# 660#
640# Graphics support 661# Graphics support
641# 662#
663# CONFIG_FIRMWARE_EDID is not set
642CONFIG_FB=y 664CONFIG_FB=y
643# CONFIG_FB_CFB_FILLRECT is not set 665# CONFIG_FB_CFB_FILLRECT is not set
644# CONFIG_FB_CFB_COPYAREA is not set 666# CONFIG_FB_CFB_COPYAREA is not set
645# CONFIG_FB_CFB_IMAGEBLIT is not set 667# CONFIG_FB_CFB_IMAGEBLIT is not set
646# CONFIG_FB_MACMODES is not set 668# CONFIG_FB_MACMODES is not set
647CONFIG_FB_FIRMWARE_EDID=y 669# CONFIG_FB_BACKLIGHT is not set
648# CONFIG_FB_MODE_HELPERS is not set 670# CONFIG_FB_MODE_HELPERS is not set
649# CONFIG_FB_TILEBLITTING is not set 671# CONFIG_FB_TILEBLITTING is not set
650# CONFIG_FB_CIRRUS is not set 672# CONFIG_FB_CIRRUS is not set
@@ -737,6 +759,19 @@ CONFIG_USB_ARCH_HAS_EHCI=y
737# CONFIG_RTC_CLASS is not set 759# CONFIG_RTC_CLASS is not set
738 760
739# 761#
762# DMA Engine support
763#
764# CONFIG_DMA_ENGINE is not set
765
766#
767# DMA Clients
768#
769
770#
771# DMA Devices
772#
773
774#
740# File systems 775# File systems
741# 776#
742# CONFIG_EXT2_FS is not set 777# CONFIG_EXT2_FS is not set
@@ -749,6 +784,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
749# CONFIG_MINIX_FS is not set 784# CONFIG_MINIX_FS is not set
750# CONFIG_ROMFS_FS is not set 785# CONFIG_ROMFS_FS is not set
751CONFIG_INOTIFY=y 786CONFIG_INOTIFY=y
787CONFIG_INOTIFY_USER=y
752# CONFIG_QUOTA is not set 788# CONFIG_QUOTA is not set
753CONFIG_DNOTIFY=y 789CONFIG_DNOTIFY=y
754# CONFIG_AUTOFS_FS is not set 790# CONFIG_AUTOFS_FS is not set
@@ -812,6 +848,7 @@ CONFIG_SUNRPC=y
812# CONFIG_RPCSEC_GSS_SPKM3 is not set 848# CONFIG_RPCSEC_GSS_SPKM3 is not set
813# CONFIG_SMB_FS is not set 849# CONFIG_SMB_FS is not set
814# CONFIG_CIFS is not set 850# CONFIG_CIFS is not set
851# CONFIG_CIFS_DEBUG2 is not set
815# CONFIG_NCP_FS is not set 852# CONFIG_NCP_FS is not set
816# CONFIG_CODA_FS is not set 853# CONFIG_CODA_FS is not set
817# CONFIG_AFS_FS is not set 854# CONFIG_AFS_FS is not set
@@ -838,6 +875,7 @@ CONFIG_MSDOS_PARTITION=y
838# 875#
839# CONFIG_PRINTK_TIME is not set 876# CONFIG_PRINTK_TIME is not set
840# CONFIG_MAGIC_SYSRQ is not set 877# CONFIG_MAGIC_SYSRQ is not set
878# CONFIG_UNUSED_SYMBOLS is not set
841# CONFIG_DEBUG_KERNEL is not set 879# CONFIG_DEBUG_KERNEL is not set
842CONFIG_LOG_BUF_SHIFT=14 880CONFIG_LOG_BUF_SHIFT=14
843# CONFIG_DEBUG_FS is not set 881# CONFIG_DEBUG_FS is not set
@@ -879,7 +917,6 @@ CONFIG_CRYPTO_ANUBIS=y
879CONFIG_CRYPTO_DEFLATE=y 917CONFIG_CRYPTO_DEFLATE=y
880CONFIG_CRYPTO_MICHAEL_MIC=y 918CONFIG_CRYPTO_MICHAEL_MIC=y
881CONFIG_CRYPTO_CRC32C=y 919CONFIG_CRYPTO_CRC32C=y
882# CONFIG_CRYPTO_TEST is not set
883 920
884# 921#
885# Hardware crypto devices 922# Hardware crypto devices
@@ -894,3 +931,4 @@ CONFIG_CRC32=y
894CONFIG_LIBCRC32C=y 931CONFIG_LIBCRC32C=y
895CONFIG_ZLIB_INFLATE=y 932CONFIG_ZLIB_INFLATE=y
896CONFIG_ZLIB_DEFLATE=y 933CONFIG_ZLIB_DEFLATE=y
934CONFIG_PLIST=y
diff --git a/arch/mips/configs/lasat200_defconfig b/arch/mips/configs/lasat200_defconfig
index eabcff26fc0e..64dc9f45a19c 100644
--- a/arch/mips/configs/lasat200_defconfig
+++ b/arch/mips/configs/lasat200_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.17-rc2 3# Linux kernel version: 2.6.18-rc1
4# Mon Apr 24 14:51:07 2006 4# Thu Jul 6 10:04:12 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -21,6 +21,7 @@ CONFIG_MIPS=y
21# CONFIG_MIPS_DB1550 is not set 21# CONFIG_MIPS_DB1550 is not set
22# CONFIG_MIPS_DB1200 is not set 22# CONFIG_MIPS_DB1200 is not set
23# CONFIG_MIPS_MIRAGE is not set 23# CONFIG_MIPS_MIRAGE is not set
24# CONFIG_BASLER_EXCITE is not set
24# CONFIG_MIPS_COBALT is not set 25# CONFIG_MIPS_COBALT is not set
25# CONFIG_MACH_DECSTATION is not set 26# CONFIG_MACH_DECSTATION is not set
26# CONFIG_MIPS_EV64120 is not set 27# CONFIG_MIPS_EV64120 is not set
@@ -32,6 +33,7 @@ CONFIG_LASAT=y
32# CONFIG_MIPS_ATLAS is not set 33# CONFIG_MIPS_ATLAS is not set
33# CONFIG_MIPS_MALTA is not set 34# CONFIG_MIPS_MALTA is not set
34# CONFIG_MIPS_SEAD is not set 35# CONFIG_MIPS_SEAD is not set
36# CONFIG_WR_PPMC is not set
35# CONFIG_MIPS_SIM is not set 37# CONFIG_MIPS_SIM is not set
36# CONFIG_MOMENCO_JAGUAR_ATX is not set 38# CONFIG_MOMENCO_JAGUAR_ATX is not set
37# CONFIG_MOMENCO_OCELOT is not set 39# CONFIG_MOMENCO_OCELOT is not set
@@ -45,6 +47,7 @@ CONFIG_LASAT=y
45# CONFIG_MACH_VR41XX is not set 47# CONFIG_MACH_VR41XX is not set
46# CONFIG_PMC_YOSEMITE is not set 48# CONFIG_PMC_YOSEMITE is not set
47# CONFIG_QEMU is not set 49# CONFIG_QEMU is not set
50# CONFIG_MARKEINS is not set
48# CONFIG_SGI_IP22 is not set 51# CONFIG_SGI_IP22 is not set
49# CONFIG_SGI_IP27 is not set 52# CONFIG_SGI_IP27 is not set
50# CONFIG_SGI_IP32 is not set 53# CONFIG_SGI_IP32 is not set
@@ -69,6 +72,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y
69CONFIG_GENERIC_FIND_NEXT_BIT=y 72CONFIG_GENERIC_FIND_NEXT_BIT=y
70CONFIG_GENERIC_HWEIGHT=y 73CONFIG_GENERIC_HWEIGHT=y
71CONFIG_GENERIC_CALIBRATE_DELAY=y 74CONFIG_GENERIC_CALIBRATE_DELAY=y
75CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
72CONFIG_DMA_NONCOHERENT=y 76CONFIG_DMA_NONCOHERENT=y
73CONFIG_DMA_NEED_PCI_MAP_STATE=y 77CONFIG_DMA_NEED_PCI_MAP_STATE=y
74CONFIG_MIPS_NILE4=y 78CONFIG_MIPS_NILE4=y
@@ -117,7 +121,10 @@ CONFIG_PAGE_SIZE_4KB=y
117# CONFIG_PAGE_SIZE_64KB is not set 121# CONFIG_PAGE_SIZE_64KB is not set
118CONFIG_BOARD_SCACHE=y 122CONFIG_BOARD_SCACHE=y
119CONFIG_R5000_CPU_SCACHE=y 123CONFIG_R5000_CPU_SCACHE=y
120# CONFIG_MIPS_MT is not set 124CONFIG_MIPS_MT_DISABLED=y
125# CONFIG_MIPS_MT_SMTC is not set
126# CONFIG_MIPS_MT_SMP is not set
127# CONFIG_MIPS_VPE_LOADER is not set
121# CONFIG_64BIT_PHYS_ADDR is not set 128# CONFIG_64BIT_PHYS_ADDR is not set
122CONFIG_CPU_HAS_LLSC=y 129CONFIG_CPU_HAS_LLSC=y
123CONFIG_CPU_HAS_SYNC=y 130CONFIG_CPU_HAS_SYNC=y
@@ -132,6 +139,7 @@ CONFIG_FLATMEM=y
132CONFIG_FLAT_NODE_MEM_MAP=y 139CONFIG_FLAT_NODE_MEM_MAP=y
133# CONFIG_SPARSEMEM_STATIC is not set 140# CONFIG_SPARSEMEM_STATIC is not set
134CONFIG_SPLIT_PTLOCK_CPUS=4 141CONFIG_SPLIT_PTLOCK_CPUS=4
142# CONFIG_RESOURCES_64BIT is not set
135# CONFIG_HZ_48 is not set 143# CONFIG_HZ_48 is not set
136# CONFIG_HZ_100 is not set 144# CONFIG_HZ_100 is not set
137# CONFIG_HZ_128 is not set 145# CONFIG_HZ_128 is not set
@@ -144,6 +152,7 @@ CONFIG_HZ=1000
144CONFIG_PREEMPT_NONE=y 152CONFIG_PREEMPT_NONE=y
145# CONFIG_PREEMPT_VOLUNTARY is not set 153# CONFIG_PREEMPT_VOLUNTARY is not set
146# CONFIG_PREEMPT is not set 154# CONFIG_PREEMPT is not set
155CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
147 156
148# 157#
149# Code maturity level options 158# Code maturity level options
@@ -175,14 +184,15 @@ CONFIG_PRINTK=y
175CONFIG_BUG=y 184CONFIG_BUG=y
176CONFIG_ELF_CORE=y 185CONFIG_ELF_CORE=y
177CONFIG_BASE_FULL=y 186CONFIG_BASE_FULL=y
187CONFIG_RT_MUTEXES=y
178CONFIG_FUTEX=y 188CONFIG_FUTEX=y
179CONFIG_EPOLL=y 189CONFIG_EPOLL=y
180CONFIG_SHMEM=y 190CONFIG_SHMEM=y
181CONFIG_SLAB=y 191CONFIG_SLAB=y
192CONFIG_VM_EVENT_COUNTERS=y
182# CONFIG_TINY_SHMEM is not set 193# CONFIG_TINY_SHMEM is not set
183CONFIG_BASE_SMALL=0 194CONFIG_BASE_SMALL=0
184# CONFIG_SLOB is not set 195# CONFIG_SLOB is not set
185CONFIG_OBSOLETE_INTERMODULE=y
186 196
187# 197#
188# Loadable module support 198# Loadable module support
@@ -266,6 +276,8 @@ CONFIG_IP_FIB_HASH=y
266# CONFIG_INET_IPCOMP is not set 276# CONFIG_INET_IPCOMP is not set
267# CONFIG_INET_XFRM_TUNNEL is not set 277# CONFIG_INET_XFRM_TUNNEL is not set
268# CONFIG_INET_TUNNEL is not set 278# CONFIG_INET_TUNNEL is not set
279CONFIG_INET_XFRM_MODE_TRANSPORT=m
280CONFIG_INET_XFRM_MODE_TUNNEL=m
269CONFIG_INET_DIAG=y 281CONFIG_INET_DIAG=y
270CONFIG_INET_TCP_DIAG=y 282CONFIG_INET_TCP_DIAG=y
271# CONFIG_TCP_CONG_ADVANCED is not set 283# CONFIG_TCP_CONG_ADVANCED is not set
@@ -273,6 +285,7 @@ CONFIG_TCP_CONG_BIC=y
273# CONFIG_IPV6 is not set 285# CONFIG_IPV6 is not set
274# CONFIG_INET6_XFRM_TUNNEL is not set 286# CONFIG_INET6_XFRM_TUNNEL is not set
275# CONFIG_INET6_TUNNEL is not set 287# CONFIG_INET6_TUNNEL is not set
288CONFIG_NETWORK_SECMARK=y
276# CONFIG_NETFILTER is not set 289# CONFIG_NETFILTER is not set
277 290
278# 291#
@@ -332,6 +345,7 @@ CONFIG_WIRELESS_EXT=y
332CONFIG_STANDALONE=y 345CONFIG_STANDALONE=y
333CONFIG_PREVENT_FIRMWARE_BUILD=y 346CONFIG_PREVENT_FIRMWARE_BUILD=y
334CONFIG_FW_LOADER=m 347CONFIG_FW_LOADER=m
348# CONFIG_SYS_HYPERVISOR is not set
335 349
336# 350#
337# Connector - unified userspace <-> kernelspace linker 351# Connector - unified userspace <-> kernelspace linker
@@ -555,6 +569,8 @@ CONFIG_DAVICOM_PHY=m
555CONFIG_QSEMI_PHY=m 569CONFIG_QSEMI_PHY=m
556CONFIG_LXT_PHY=m 570CONFIG_LXT_PHY=m
557CONFIG_CICADA_PHY=m 571CONFIG_CICADA_PHY=m
572CONFIG_VITESSE_PHY=m
573CONFIG_SMSC_PHY=m
558 574
559# 575#
560# Ethernet (10 or 100Mbit) 576# Ethernet (10 or 100Mbit)
@@ -597,6 +613,7 @@ CONFIG_NET_ETHERNET=y
597# CONFIG_CHELSIO_T1 is not set 613# CONFIG_CHELSIO_T1 is not set
598# CONFIG_IXGB is not set 614# CONFIG_IXGB is not set
599# CONFIG_S2IO is not set 615# CONFIG_S2IO is not set
616# CONFIG_MYRI10GE is not set
600 617
601# 618#
602# Token Ring devices 619# Token Ring devices
@@ -674,6 +691,7 @@ CONFIG_SERIO_RAW=m
674CONFIG_VT=y 691CONFIG_VT=y
675CONFIG_VT_CONSOLE=y 692CONFIG_VT_CONSOLE=y
676CONFIG_HW_CONSOLE=y 693CONFIG_HW_CONSOLE=y
694CONFIG_VT_HW_CONSOLE_BINDING=y
677# CONFIG_SERIAL_NONSTANDARD is not set 695# CONFIG_SERIAL_NONSTANDARD is not set
678 696
679# 697#
@@ -705,6 +723,7 @@ CONFIG_LEGACY_PTY_COUNT=256
705# Watchdog Cards 723# Watchdog Cards
706# 724#
707# CONFIG_WATCHDOG is not set 725# CONFIG_WATCHDOG is not set
726# CONFIG_HW_RANDOM is not set
708# CONFIG_RTC is not set 727# CONFIG_RTC is not set
709# CONFIG_GEN_RTC is not set 728# CONFIG_GEN_RTC is not set
710# CONFIG_DTLK is not set 729# CONFIG_DTLK is not set
@@ -753,6 +772,7 @@ CONFIG_LEGACY_PTY_COUNT=256
753# Multimedia devices 772# Multimedia devices
754# 773#
755# CONFIG_VIDEO_DEV is not set 774# CONFIG_VIDEO_DEV is not set
775CONFIG_VIDEO_V4L2=y
756 776
757# 777#
758# Digital Video Broadcasting Devices 778# Digital Video Broadcasting Devices
@@ -762,6 +782,7 @@ CONFIG_LEGACY_PTY_COUNT=256
762# 782#
763# Graphics support 783# Graphics support
764# 784#
785# CONFIG_FIRMWARE_EDID is not set
765# CONFIG_FB is not set 786# CONFIG_FB is not set
766 787
767# 788#
@@ -825,6 +846,19 @@ CONFIG_USB_ARCH_HAS_EHCI=y
825# CONFIG_RTC_CLASS is not set 846# CONFIG_RTC_CLASS is not set
826 847
827# 848#
849# DMA Engine support
850#
851# CONFIG_DMA_ENGINE is not set
852
853#
854# DMA Clients
855#
856
857#
858# DMA Devices
859#
860
861#
828# File systems 862# File systems
829# 863#
830CONFIG_EXT2_FS=y 864CONFIG_EXT2_FS=y
@@ -845,6 +879,7 @@ CONFIG_FS_MBCACHE=y
845# CONFIG_MINIX_FS is not set 879# CONFIG_MINIX_FS is not set
846# CONFIG_ROMFS_FS is not set 880# CONFIG_ROMFS_FS is not set
847CONFIG_INOTIFY=y 881CONFIG_INOTIFY=y
882CONFIG_INOTIFY_USER=y
848# CONFIG_QUOTA is not set 883# CONFIG_QUOTA is not set
849CONFIG_DNOTIFY=y 884CONFIG_DNOTIFY=y
850# CONFIG_AUTOFS_FS is not set 885# CONFIG_AUTOFS_FS is not set
@@ -911,6 +946,7 @@ CONFIG_SUNRPC=y
911# CONFIG_RPCSEC_GSS_SPKM3 is not set 946# CONFIG_RPCSEC_GSS_SPKM3 is not set
912# CONFIG_SMB_FS is not set 947# CONFIG_SMB_FS is not set
913# CONFIG_CIFS is not set 948# CONFIG_CIFS is not set
949# CONFIG_CIFS_DEBUG2 is not set
914# CONFIG_NCP_FS is not set 950# CONFIG_NCP_FS is not set
915# CONFIG_CODA_FS is not set 951# CONFIG_CODA_FS is not set
916# CONFIG_AFS_FS is not set 952# CONFIG_AFS_FS is not set
@@ -937,6 +973,7 @@ CONFIG_MSDOS_PARTITION=y
937# 973#
938# CONFIG_PRINTK_TIME is not set 974# CONFIG_PRINTK_TIME is not set
939# CONFIG_MAGIC_SYSRQ is not set 975# CONFIG_MAGIC_SYSRQ is not set
976# CONFIG_UNUSED_SYMBOLS is not set
940# CONFIG_DEBUG_KERNEL is not set 977# CONFIG_DEBUG_KERNEL is not set
941CONFIG_LOG_BUF_SHIFT=14 978CONFIG_LOG_BUF_SHIFT=14
942# CONFIG_DEBUG_FS is not set 979# CONFIG_DEBUG_FS is not set
@@ -992,3 +1029,4 @@ CONFIG_CRC32=y
992CONFIG_LIBCRC32C=m 1029CONFIG_LIBCRC32C=m
993CONFIG_ZLIB_INFLATE=m 1030CONFIG_ZLIB_INFLATE=m
994CONFIG_ZLIB_DEFLATE=m 1031CONFIG_ZLIB_DEFLATE=m
1032CONFIG_PLIST=y
diff --git a/arch/mips/configs/malta_defconfig b/arch/mips/configs/malta_defconfig
index b73cff0d83ca..2690baf15a85 100644
--- a/arch/mips/configs/malta_defconfig
+++ b/arch/mips/configs/malta_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.17-rc2 3# Linux kernel version: 2.6.18-rc1
4# Mon Apr 24 14:51:08 2006 4# Thu Jul 6 10:04:13 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -21,6 +21,7 @@ CONFIG_MIPS=y
21# CONFIG_MIPS_DB1550 is not set 21# CONFIG_MIPS_DB1550 is not set
22# CONFIG_MIPS_DB1200 is not set 22# CONFIG_MIPS_DB1200 is not set
23# CONFIG_MIPS_MIRAGE is not set 23# CONFIG_MIPS_MIRAGE is not set
24# CONFIG_BASLER_EXCITE is not set
24# CONFIG_MIPS_COBALT is not set 25# CONFIG_MIPS_COBALT is not set
25# CONFIG_MACH_DECSTATION is not set 26# CONFIG_MACH_DECSTATION is not set
26# CONFIG_MIPS_EV64120 is not set 27# CONFIG_MIPS_EV64120 is not set
@@ -32,6 +33,7 @@ CONFIG_MIPS=y
32# CONFIG_MIPS_ATLAS is not set 33# CONFIG_MIPS_ATLAS is not set
33CONFIG_MIPS_MALTA=y 34CONFIG_MIPS_MALTA=y
34# CONFIG_MIPS_SEAD is not set 35# CONFIG_MIPS_SEAD is not set
36# CONFIG_WR_PPMC is not set
35# CONFIG_MIPS_SIM is not set 37# CONFIG_MIPS_SIM is not set
36# CONFIG_MOMENCO_JAGUAR_ATX is not set 38# CONFIG_MOMENCO_JAGUAR_ATX is not set
37# CONFIG_MOMENCO_OCELOT is not set 39# CONFIG_MOMENCO_OCELOT is not set
@@ -45,6 +47,7 @@ CONFIG_MIPS_MALTA=y
45# CONFIG_MACH_VR41XX is not set 47# CONFIG_MACH_VR41XX is not set
46# CONFIG_PMC_YOSEMITE is not set 48# CONFIG_PMC_YOSEMITE is not set
47# CONFIG_QEMU is not set 49# CONFIG_QEMU is not set
50# CONFIG_MARKEINS is not set
48# CONFIG_SGI_IP22 is not set 51# CONFIG_SGI_IP22 is not set
49# CONFIG_SGI_IP27 is not set 52# CONFIG_SGI_IP27 is not set
50# CONFIG_SGI_IP32 is not set 53# CONFIG_SGI_IP32 is not set
@@ -65,6 +68,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y
65CONFIG_GENERIC_FIND_NEXT_BIT=y 68CONFIG_GENERIC_FIND_NEXT_BIT=y
66CONFIG_GENERIC_HWEIGHT=y 69CONFIG_GENERIC_HWEIGHT=y
67CONFIG_GENERIC_CALIBRATE_DELAY=y 70CONFIG_GENERIC_CALIBRATE_DELAY=y
71CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
68CONFIG_ARCH_MAY_HAVE_PC_FDC=y 72CONFIG_ARCH_MAY_HAVE_PC_FDC=y
69CONFIG_DMA_NONCOHERENT=y 73CONFIG_DMA_NONCOHERENT=y
70CONFIG_DMA_NEED_PCI_MAP_STATE=y 74CONFIG_DMA_NEED_PCI_MAP_STATE=y
@@ -126,19 +130,21 @@ CONFIG_PAGE_SIZE_4KB=y
126# CONFIG_PAGE_SIZE_8KB is not set 130# CONFIG_PAGE_SIZE_8KB is not set
127# CONFIG_PAGE_SIZE_16KB is not set 131# CONFIG_PAGE_SIZE_16KB is not set
128# CONFIG_PAGE_SIZE_64KB is not set 132# CONFIG_PAGE_SIZE_64KB is not set
133CONFIG_BOARD_SCACHE=y
134CONFIG_MIPS_CPU_SCACHE=y
129CONFIG_CPU_HAS_PREFETCH=y 135CONFIG_CPU_HAS_PREFETCH=y
130CONFIG_MIPS_MT=y 136# CONFIG_MIPS_MT_DISABLED is not set
131# CONFIG_MIPS_MT_SMTC is not set 137# CONFIG_MIPS_MT_SMTC is not set
132# CONFIG_MIPS_MT_SMP is not set 138# CONFIG_MIPS_MT_SMP is not set
133CONFIG_MIPS_VPE_LOADER=y 139CONFIG_MIPS_VPE_LOADER=y
140CONFIG_MIPS_MT=y
141CONFIG_SYS_SUPPORTS_MULTITHREADING=y
134CONFIG_MIPS_MT_FPAFF=y 142CONFIG_MIPS_MT_FPAFF=y
135CONFIG_MIPS_VPE_LOADER_TOM=y 143CONFIG_MIPS_VPE_LOADER_TOM=y
136CONFIG_MIPS_VPE_APSP_API=y 144CONFIG_MIPS_VPE_APSP_API=y
137CONFIG_MIPS_APSP_KSPD=y 145CONFIG_MIPS_APSP_KSPD=y
138# CONFIG_64BIT_PHYS_ADDR is not set 146# CONFIG_64BIT_PHYS_ADDR is not set
139CONFIG_CPU_HAS_LLSC=y 147CONFIG_CPU_HAS_LLSC=y
140# CONFIG_CPU_MIPSR2_IRQ_VI is not set
141# CONFIG_CPU_MIPSR2_IRQ_EI is not set
142CONFIG_CPU_HAS_SYNC=y 148CONFIG_CPU_HAS_SYNC=y
143CONFIG_GENERIC_HARDIRQS=y 149CONFIG_GENERIC_HARDIRQS=y
144CONFIG_GENERIC_IRQ_PROBE=y 150CONFIG_GENERIC_IRQ_PROBE=y
@@ -152,6 +158,7 @@ CONFIG_FLATMEM=y
152CONFIG_FLAT_NODE_MEM_MAP=y 158CONFIG_FLAT_NODE_MEM_MAP=y
153# CONFIG_SPARSEMEM_STATIC is not set 159# CONFIG_SPARSEMEM_STATIC is not set
154CONFIG_SPLIT_PTLOCK_CPUS=4 160CONFIG_SPLIT_PTLOCK_CPUS=4
161# CONFIG_RESOURCES_64BIT is not set
155# CONFIG_HZ_48 is not set 162# CONFIG_HZ_48 is not set
156CONFIG_HZ_100=y 163CONFIG_HZ_100=y
157# CONFIG_HZ_128 is not set 164# CONFIG_HZ_128 is not set
@@ -164,6 +171,7 @@ CONFIG_HZ=100
164CONFIG_PREEMPT_NONE=y 171CONFIG_PREEMPT_NONE=y
165# CONFIG_PREEMPT_VOLUNTARY is not set 172# CONFIG_PREEMPT_VOLUNTARY is not set
166# CONFIG_PREEMPT is not set 173# CONFIG_PREEMPT is not set
174CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
167 175
168# 176#
169# Code maturity level options 177# Code maturity level options
@@ -195,10 +203,12 @@ CONFIG_PRINTK=y
195CONFIG_BUG=y 203CONFIG_BUG=y
196CONFIG_ELF_CORE=y 204CONFIG_ELF_CORE=y
197CONFIG_BASE_FULL=y 205CONFIG_BASE_FULL=y
206CONFIG_RT_MUTEXES=y
198CONFIG_FUTEX=y 207CONFIG_FUTEX=y
199CONFIG_EPOLL=y 208CONFIG_EPOLL=y
200CONFIG_SHMEM=y 209CONFIG_SHMEM=y
201CONFIG_SLAB=y 210CONFIG_SLAB=y
211CONFIG_VM_EVENT_COUNTERS=y
202# CONFIG_TINY_SHMEM is not set 212# CONFIG_TINY_SHMEM is not set
203CONFIG_BASE_SMALL=0 213CONFIG_BASE_SMALL=0
204# CONFIG_SLOB is not set 214# CONFIG_SLOB is not set
@@ -300,6 +310,8 @@ CONFIG_INET_ESP=m
300CONFIG_INET_IPCOMP=m 310CONFIG_INET_IPCOMP=m
301CONFIG_INET_XFRM_TUNNEL=m 311CONFIG_INET_XFRM_TUNNEL=m
302CONFIG_INET_TUNNEL=m 312CONFIG_INET_TUNNEL=m
313CONFIG_INET_XFRM_MODE_TRANSPORT=m
314CONFIG_INET_XFRM_MODE_TUNNEL=m
303CONFIG_INET_DIAG=y 315CONFIG_INET_DIAG=y
304CONFIG_INET_TCP_DIAG=y 316CONFIG_INET_TCP_DIAG=y
305# CONFIG_TCP_CONG_ADVANCED is not set 317# CONFIG_TCP_CONG_ADVANCED is not set
@@ -347,7 +359,10 @@ CONFIG_INET6_ESP=m
347CONFIG_INET6_IPCOMP=m 359CONFIG_INET6_IPCOMP=m
348CONFIG_INET6_XFRM_TUNNEL=m 360CONFIG_INET6_XFRM_TUNNEL=m
349CONFIG_INET6_TUNNEL=m 361CONFIG_INET6_TUNNEL=m
362CONFIG_INET6_XFRM_MODE_TRANSPORT=m
363CONFIG_INET6_XFRM_MODE_TUNNEL=m
350CONFIG_IPV6_TUNNEL=m 364CONFIG_IPV6_TUNNEL=m
365CONFIG_NETWORK_SECMARK=y
351CONFIG_NETFILTER=y 366CONFIG_NETFILTER=y
352# CONFIG_NETFILTER_DEBUG is not set 367# CONFIG_NETFILTER_DEBUG is not set
353CONFIG_BRIDGE_NETFILTER=y 368CONFIG_BRIDGE_NETFILTER=y
@@ -364,6 +379,8 @@ CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
364CONFIG_NETFILTER_XT_TARGET_MARK=m 379CONFIG_NETFILTER_XT_TARGET_MARK=m
365CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m 380CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
366CONFIG_NETFILTER_XT_TARGET_NOTRACK=m 381CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
382CONFIG_NETFILTER_XT_TARGET_SECMARK=m
383# CONFIG_NETFILTER_XT_TARGET_CONNSECMARK is not set
367CONFIG_NETFILTER_XT_MATCH_COMMENT=m 384CONFIG_NETFILTER_XT_MATCH_COMMENT=m
368CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m 385CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
369CONFIG_NETFILTER_XT_MATCH_CONNMARK=m 386CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
@@ -379,9 +396,11 @@ CONFIG_NETFILTER_XT_MATCH_POLICY=m
379CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m 396CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
380# CONFIG_NETFILTER_XT_MATCH_PHYSDEV is not set 397# CONFIG_NETFILTER_XT_MATCH_PHYSDEV is not set
381CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m 398CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
399CONFIG_NETFILTER_XT_MATCH_QUOTA=m
382CONFIG_NETFILTER_XT_MATCH_REALM=m 400CONFIG_NETFILTER_XT_MATCH_REALM=m
383CONFIG_NETFILTER_XT_MATCH_SCTP=m 401CONFIG_NETFILTER_XT_MATCH_SCTP=m
384CONFIG_NETFILTER_XT_MATCH_STATE=m 402CONFIG_NETFILTER_XT_MATCH_STATE=m
403CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
385CONFIG_NETFILTER_XT_MATCH_STRING=m 404CONFIG_NETFILTER_XT_MATCH_STRING=m
386CONFIG_NETFILTER_XT_MATCH_TCPMSS=m 405CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
387 406
@@ -391,6 +410,7 @@ CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
391CONFIG_IP_NF_CONNTRACK=m 410CONFIG_IP_NF_CONNTRACK=m
392CONFIG_IP_NF_CT_ACCT=y 411CONFIG_IP_NF_CT_ACCT=y
393CONFIG_IP_NF_CONNTRACK_MARK=y 412CONFIG_IP_NF_CONNTRACK_MARK=y
413CONFIG_IP_NF_CONNTRACK_SECMARK=y
394CONFIG_IP_NF_CONNTRACK_EVENTS=y 414CONFIG_IP_NF_CONNTRACK_EVENTS=y
395CONFIG_IP_NF_CONNTRACK_NETLINK=m 415CONFIG_IP_NF_CONNTRACK_NETLINK=m
396CONFIG_IP_NF_CT_PROTO_SCTP=m 416CONFIG_IP_NF_CT_PROTO_SCTP=m
@@ -401,6 +421,7 @@ CONFIG_IP_NF_TFTP=m
401CONFIG_IP_NF_AMANDA=m 421CONFIG_IP_NF_AMANDA=m
402CONFIG_IP_NF_PPTP=m 422CONFIG_IP_NF_PPTP=m
403CONFIG_IP_NF_H323=m 423CONFIG_IP_NF_H323=m
424CONFIG_IP_NF_SIP=m
404CONFIG_IP_NF_QUEUE=m 425CONFIG_IP_NF_QUEUE=m
405CONFIG_IP_NF_IPTABLES=m 426CONFIG_IP_NF_IPTABLES=m
406CONFIG_IP_NF_MATCH_IPRANGE=m 427CONFIG_IP_NF_MATCH_IPRANGE=m
@@ -431,6 +452,7 @@ CONFIG_IP_NF_NAT_TFTP=m
431CONFIG_IP_NF_NAT_AMANDA=m 452CONFIG_IP_NF_NAT_AMANDA=m
432CONFIG_IP_NF_NAT_PPTP=m 453CONFIG_IP_NF_NAT_PPTP=m
433CONFIG_IP_NF_NAT_H323=m 454CONFIG_IP_NF_NAT_H323=m
455CONFIG_IP_NF_NAT_SIP=m
434CONFIG_IP_NF_MANGLE=m 456CONFIG_IP_NF_MANGLE=m
435CONFIG_IP_NF_TARGET_TOS=m 457CONFIG_IP_NF_TARGET_TOS=m
436CONFIG_IP_NF_TARGET_ECN=m 458CONFIG_IP_NF_TARGET_ECN=m
@@ -592,6 +614,7 @@ CONFIG_WIRELESS_EXT=y
592CONFIG_STANDALONE=y 614CONFIG_STANDALONE=y
593CONFIG_PREVENT_FIRMWARE_BUILD=y 615CONFIG_PREVENT_FIRMWARE_BUILD=y
594CONFIG_FW_LOADER=y 616CONFIG_FW_LOADER=y
617# CONFIG_SYS_HYPERVISOR is not set
595 618
596# 619#
597# Connector - unified userspace <-> kernelspace linker 620# Connector - unified userspace <-> kernelspace linker
@@ -746,6 +769,7 @@ CONFIG_AIC7XXX_REG_PRETTY_PRINT=y
746# CONFIG_MEGARAID_LEGACY is not set 769# CONFIG_MEGARAID_LEGACY is not set
747# CONFIG_MEGARAID_SAS is not set 770# CONFIG_MEGARAID_SAS is not set
748# CONFIG_SCSI_SATA is not set 771# CONFIG_SCSI_SATA is not set
772# CONFIG_SCSI_HPTIOP is not set
749# CONFIG_SCSI_DMX3191D is not set 773# CONFIG_SCSI_DMX3191D is not set
750# CONFIG_SCSI_FUTURE_DOMAIN is not set 774# CONFIG_SCSI_FUTURE_DOMAIN is not set
751# CONFIG_SCSI_IPS is not set 775# CONFIG_SCSI_IPS is not set
@@ -770,9 +794,8 @@ CONFIG_MD_LINEAR=m
770CONFIG_MD_RAID0=m 794CONFIG_MD_RAID0=m
771CONFIG_MD_RAID1=m 795CONFIG_MD_RAID1=m
772CONFIG_MD_RAID10=m 796CONFIG_MD_RAID10=m
773CONFIG_MD_RAID5=m 797CONFIG_MD_RAID456=m
774CONFIG_MD_RAID5_RESHAPE=y 798CONFIG_MD_RAID5_RESHAPE=y
775CONFIG_MD_RAID6=m
776CONFIG_MD_MULTIPATH=m 799CONFIG_MD_MULTIPATH=m
777CONFIG_MD_FAULTY=m 800CONFIG_MD_FAULTY=m
778CONFIG_BLK_DEV_DM=m 801CONFIG_BLK_DEV_DM=m
@@ -828,6 +851,8 @@ CONFIG_DAVICOM_PHY=m
828CONFIG_QSEMI_PHY=m 851CONFIG_QSEMI_PHY=m
829CONFIG_LXT_PHY=m 852CONFIG_LXT_PHY=m
830CONFIG_CICADA_PHY=m 853CONFIG_CICADA_PHY=m
854CONFIG_VITESSE_PHY=m
855CONFIG_SMSC_PHY=m
831 856
832# 857#
833# Ethernet (10 or 100Mbit) 858# Ethernet (10 or 100Mbit)
@@ -890,6 +915,7 @@ CONFIG_PCNET32=y
890# CONFIG_CHELSIO_T1 is not set 915# CONFIG_CHELSIO_T1 is not set
891# CONFIG_IXGB is not set 916# CONFIG_IXGB is not set
892# CONFIG_S2IO is not set 917# CONFIG_S2IO is not set
918# CONFIG_MYRI10GE is not set
893 919
894# 920#
895# Token Ring devices 921# Token Ring devices
@@ -968,6 +994,7 @@ CONFIG_SERIO_SERPORT=y
968CONFIG_VT=y 994CONFIG_VT=y
969CONFIG_VT_CONSOLE=y 995CONFIG_VT_CONSOLE=y
970CONFIG_HW_CONSOLE=y 996CONFIG_HW_CONSOLE=y
997CONFIG_VT_HW_CONSOLE_BINDING=y
971# CONFIG_SERIAL_NONSTANDARD is not set 998# CONFIG_SERIAL_NONSTANDARD is not set
972 999
973# 1000#
@@ -999,6 +1026,7 @@ CONFIG_LEGACY_PTY_COUNT=256
999# Watchdog Cards 1026# Watchdog Cards
1000# 1027#
1001# CONFIG_WATCHDOG is not set 1028# CONFIG_WATCHDOG is not set
1029# CONFIG_HW_RANDOM is not set
1002CONFIG_RTC=y 1030CONFIG_RTC=y
1003# CONFIG_DTLK is not set 1031# CONFIG_DTLK is not set
1004# CONFIG_R3964 is not set 1032# CONFIG_R3964 is not set
@@ -1046,6 +1074,7 @@ CONFIG_RTC=y
1046# Multimedia devices 1074# Multimedia devices
1047# 1075#
1048# CONFIG_VIDEO_DEV is not set 1076# CONFIG_VIDEO_DEV is not set
1077CONFIG_VIDEO_V4L2=y
1049 1078
1050# 1079#
1051# Digital Video Broadcasting Devices 1080# Digital Video Broadcasting Devices
@@ -1055,6 +1084,7 @@ CONFIG_RTC=y
1055# 1084#
1056# Graphics support 1085# Graphics support
1057# 1086#
1087# CONFIG_FIRMWARE_EDID is not set
1058# CONFIG_FB is not set 1088# CONFIG_FB is not set
1059 1089
1060# 1090#
@@ -1118,6 +1148,19 @@ CONFIG_USB_ARCH_HAS_EHCI=y
1118# CONFIG_RTC_CLASS is not set 1148# CONFIG_RTC_CLASS is not set
1119 1149
1120# 1150#
1151# DMA Engine support
1152#
1153# CONFIG_DMA_ENGINE is not set
1154
1155#
1156# DMA Clients
1157#
1158
1159#
1160# DMA Devices
1161#
1162
1163#
1121# File systems 1164# File systems
1122# 1165#
1123CONFIG_EXT2_FS=y 1166CONFIG_EXT2_FS=y
@@ -1143,7 +1186,6 @@ CONFIG_JFS_SECURITY=y
1143# CONFIG_JFS_STATISTICS is not set 1186# CONFIG_JFS_STATISTICS is not set
1144CONFIG_FS_POSIX_ACL=y 1187CONFIG_FS_POSIX_ACL=y
1145CONFIG_XFS_FS=m 1188CONFIG_XFS_FS=m
1146CONFIG_XFS_EXPORT=y
1147CONFIG_XFS_QUOTA=y 1189CONFIG_XFS_QUOTA=y
1148CONFIG_XFS_SECURITY=y 1190CONFIG_XFS_SECURITY=y
1149CONFIG_XFS_POSIX_ACL=y 1191CONFIG_XFS_POSIX_ACL=y
@@ -1152,6 +1194,7 @@ CONFIG_XFS_POSIX_ACL=y
1152CONFIG_MINIX_FS=m 1194CONFIG_MINIX_FS=m
1153CONFIG_ROMFS_FS=m 1195CONFIG_ROMFS_FS=m
1154CONFIG_INOTIFY=y 1196CONFIG_INOTIFY=y
1197CONFIG_INOTIFY_USER=y
1155CONFIG_QUOTA=y 1198CONFIG_QUOTA=y
1156# CONFIG_QFMT_V1 is not set 1199# CONFIG_QFMT_V1 is not set
1157CONFIG_QFMT_V2=y 1200CONFIG_QFMT_V2=y
@@ -1209,6 +1252,8 @@ CONFIG_VXFS_FS=m
1209# CONFIG_QNX4FS_FS is not set 1252# CONFIG_QNX4FS_FS is not set
1210CONFIG_SYSV_FS=m 1253CONFIG_SYSV_FS=m
1211CONFIG_UFS_FS=m 1254CONFIG_UFS_FS=m
1255# CONFIG_UFS_FS_WRITE is not set
1256# CONFIG_UFS_DEBUG is not set
1212 1257
1213# 1258#
1214# Network File Systems 1259# Network File Systems
@@ -1233,6 +1278,7 @@ CONFIG_SUNRPC=y
1233# CONFIG_RPCSEC_GSS_SPKM3 is not set 1278# CONFIG_RPCSEC_GSS_SPKM3 is not set
1234# CONFIG_SMB_FS is not set 1279# CONFIG_SMB_FS is not set
1235# CONFIG_CIFS is not set 1280# CONFIG_CIFS is not set
1281# CONFIG_CIFS_DEBUG2 is not set
1236# CONFIG_NCP_FS is not set 1282# CONFIG_NCP_FS is not set
1237# CONFIG_CODA_FS is not set 1283# CONFIG_CODA_FS is not set
1238# CONFIG_AFS_FS is not set 1284# CONFIG_AFS_FS is not set
@@ -1298,6 +1344,7 @@ CONFIG_NLS_UTF8=m
1298# 1344#
1299# CONFIG_PRINTK_TIME is not set 1345# CONFIG_PRINTK_TIME is not set
1300# CONFIG_MAGIC_SYSRQ is not set 1346# CONFIG_MAGIC_SYSRQ is not set
1347# CONFIG_UNUSED_SYMBOLS is not set
1301# CONFIG_DEBUG_KERNEL is not set 1348# CONFIG_DEBUG_KERNEL is not set
1302CONFIG_LOG_BUF_SHIFT=14 1349CONFIG_LOG_BUF_SHIFT=14
1303# CONFIG_DEBUG_FS is not set 1350# CONFIG_DEBUG_FS is not set
@@ -1356,3 +1403,4 @@ CONFIG_TEXTSEARCH=y
1356CONFIG_TEXTSEARCH_KMP=m 1403CONFIG_TEXTSEARCH_KMP=m
1357CONFIG_TEXTSEARCH_BM=m 1404CONFIG_TEXTSEARCH_BM=m
1358CONFIG_TEXTSEARCH_FSM=m 1405CONFIG_TEXTSEARCH_FSM=m
1406CONFIG_PLIST=y
diff --git a/arch/mips/configs/mipssim_defconfig b/arch/mips/configs/mipssim_defconfig
index 8dd27b55413d..c298979c18ae 100644
--- a/arch/mips/configs/mipssim_defconfig
+++ b/arch/mips/configs/mipssim_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.17-rc2 3# Linux kernel version: 2.6.18-rc1
4# Mon Apr 24 14:51:09 2006 4# Thu Jul 6 10:04:13 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -21,6 +21,7 @@ CONFIG_MIPS=y
21# CONFIG_MIPS_DB1550 is not set 21# CONFIG_MIPS_DB1550 is not set
22# CONFIG_MIPS_DB1200 is not set 22# CONFIG_MIPS_DB1200 is not set
23# CONFIG_MIPS_MIRAGE is not set 23# CONFIG_MIPS_MIRAGE is not set
24# CONFIG_BASLER_EXCITE is not set
24# CONFIG_MIPS_COBALT is not set 25# CONFIG_MIPS_COBALT is not set
25# CONFIG_MACH_DECSTATION is not set 26# CONFIG_MACH_DECSTATION is not set
26# CONFIG_MIPS_EV64120 is not set 27# CONFIG_MIPS_EV64120 is not set
@@ -32,6 +33,7 @@ CONFIG_MIPS=y
32# CONFIG_MIPS_ATLAS is not set 33# CONFIG_MIPS_ATLAS is not set
33# CONFIG_MIPS_MALTA is not set 34# CONFIG_MIPS_MALTA is not set
34# CONFIG_MIPS_SEAD is not set 35# CONFIG_MIPS_SEAD is not set
36# CONFIG_WR_PPMC is not set
35CONFIG_MIPS_SIM=y 37CONFIG_MIPS_SIM=y
36# CONFIG_MOMENCO_JAGUAR_ATX is not set 38# CONFIG_MOMENCO_JAGUAR_ATX is not set
37# CONFIG_MOMENCO_OCELOT is not set 39# CONFIG_MOMENCO_OCELOT is not set
@@ -45,6 +47,7 @@ CONFIG_MIPS_SIM=y
45# CONFIG_MACH_VR41XX is not set 47# CONFIG_MACH_VR41XX is not set
46# CONFIG_PMC_YOSEMITE is not set 48# CONFIG_PMC_YOSEMITE is not set
47# CONFIG_QEMU is not set 49# CONFIG_QEMU is not set
50# CONFIG_MARKEINS is not set
48# CONFIG_SGI_IP22 is not set 51# CONFIG_SGI_IP22 is not set
49# CONFIG_SGI_IP27 is not set 52# CONFIG_SGI_IP27 is not set
50# CONFIG_SGI_IP32 is not set 53# CONFIG_SGI_IP32 is not set
@@ -65,6 +68,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y
65CONFIG_GENERIC_FIND_NEXT_BIT=y 68CONFIG_GENERIC_FIND_NEXT_BIT=y
66CONFIG_GENERIC_HWEIGHT=y 69CONFIG_GENERIC_HWEIGHT=y
67CONFIG_GENERIC_CALIBRATE_DELAY=y 70CONFIG_GENERIC_CALIBRATE_DELAY=y
71CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
68CONFIG_DMA_NONCOHERENT=y 72CONFIG_DMA_NONCOHERENT=y
69CONFIG_DMA_NEED_PCI_MAP_STATE=y 73CONFIG_DMA_NEED_PCI_MAP_STATE=y
70# CONFIG_CPU_BIG_ENDIAN is not set 74# CONFIG_CPU_BIG_ENDIAN is not set
@@ -113,14 +117,10 @@ CONFIG_PAGE_SIZE_4KB=y
113# CONFIG_PAGE_SIZE_16KB is not set 117# CONFIG_PAGE_SIZE_16KB is not set
114# CONFIG_PAGE_SIZE_64KB is not set 118# CONFIG_PAGE_SIZE_64KB is not set
115CONFIG_CPU_HAS_PREFETCH=y 119CONFIG_CPU_HAS_PREFETCH=y
116CONFIG_MIPS_MT=y 120CONFIG_MIPS_MT_DISABLED=y
117# CONFIG_MIPS_MT_SMTC is not set 121# CONFIG_MIPS_MT_SMTC is not set
118# CONFIG_MIPS_MT_SMP is not set 122# CONFIG_MIPS_MT_SMP is not set
119CONFIG_MIPS_VPE_LOADER=y 123# CONFIG_MIPS_VPE_LOADER is not set
120CONFIG_MIPS_MT_FPAFF=y
121CONFIG_MIPS_VPE_LOADER_TOM=y
122CONFIG_MIPS_VPE_APSP_API=y
123CONFIG_MIPS_APSP_KSPD=y
124# CONFIG_64BIT_PHYS_ADDR is not set 124# CONFIG_64BIT_PHYS_ADDR is not set
125CONFIG_CPU_HAS_LLSC=y 125CONFIG_CPU_HAS_LLSC=y
126CONFIG_CPU_HAS_SYNC=y 126CONFIG_CPU_HAS_SYNC=y
@@ -136,6 +136,7 @@ CONFIG_FLATMEM=y
136CONFIG_FLAT_NODE_MEM_MAP=y 136CONFIG_FLAT_NODE_MEM_MAP=y
137# CONFIG_SPARSEMEM_STATIC is not set 137# CONFIG_SPARSEMEM_STATIC is not set
138CONFIG_SPLIT_PTLOCK_CPUS=4 138CONFIG_SPLIT_PTLOCK_CPUS=4
139# CONFIG_RESOURCES_64BIT is not set
139# CONFIG_HZ_48 is not set 140# CONFIG_HZ_48 is not set
140# CONFIG_HZ_100 is not set 141# CONFIG_HZ_100 is not set
141# CONFIG_HZ_128 is not set 142# CONFIG_HZ_128 is not set
@@ -148,6 +149,7 @@ CONFIG_HZ=1000
148CONFIG_PREEMPT_NONE=y 149CONFIG_PREEMPT_NONE=y
149# CONFIG_PREEMPT_VOLUNTARY is not set 150# CONFIG_PREEMPT_VOLUNTARY is not set
150# CONFIG_PREEMPT is not set 151# CONFIG_PREEMPT is not set
152CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
151 153
152# 154#
153# Code maturity level options 155# Code maturity level options
@@ -180,10 +182,12 @@ CONFIG_PRINTK=y
180CONFIG_BUG=y 182CONFIG_BUG=y
181CONFIG_ELF_CORE=y 183CONFIG_ELF_CORE=y
182CONFIG_BASE_FULL=y 184CONFIG_BASE_FULL=y
185CONFIG_RT_MUTEXES=y
183CONFIG_FUTEX=y 186CONFIG_FUTEX=y
184CONFIG_EPOLL=y 187CONFIG_EPOLL=y
185CONFIG_SHMEM=y 188CONFIG_SHMEM=y
186CONFIG_SLAB=y 189CONFIG_SLAB=y
190CONFIG_VM_EVENT_COUNTERS=y
187# CONFIG_TINY_SHMEM is not set 191# CONFIG_TINY_SHMEM is not set
188CONFIG_BASE_SMALL=0 192CONFIG_BASE_SMALL=0
189# CONFIG_SLOB is not set 193# CONFIG_SLOB is not set
@@ -279,6 +283,8 @@ CONFIG_SYN_COOKIES=y
279# CONFIG_INET_IPCOMP is not set 283# CONFIG_INET_IPCOMP is not set
280# CONFIG_INET_XFRM_TUNNEL is not set 284# CONFIG_INET_XFRM_TUNNEL is not set
281# CONFIG_INET_TUNNEL is not set 285# CONFIG_INET_TUNNEL is not set
286CONFIG_INET_XFRM_MODE_TRANSPORT=m
287CONFIG_INET_XFRM_MODE_TUNNEL=m
282CONFIG_INET_DIAG=y 288CONFIG_INET_DIAG=y
283CONFIG_INET_TCP_DIAG=y 289CONFIG_INET_TCP_DIAG=y
284# CONFIG_TCP_CONG_ADVANCED is not set 290# CONFIG_TCP_CONG_ADVANCED is not set
@@ -286,6 +292,7 @@ CONFIG_TCP_CONG_BIC=y
286# CONFIG_IPV6 is not set 292# CONFIG_IPV6 is not set
287# CONFIG_INET6_XFRM_TUNNEL is not set 293# CONFIG_INET6_XFRM_TUNNEL is not set
288# CONFIG_INET6_TUNNEL is not set 294# CONFIG_INET6_TUNNEL is not set
295CONFIG_NETWORK_SECMARK=y
289# CONFIG_NETFILTER is not set 296# CONFIG_NETFILTER is not set
290 297
291# 298#
@@ -381,6 +388,7 @@ CONFIG_NET_ESTIMATOR=y
381# CONFIG_PREVENT_FIRMWARE_BUILD is not set 388# CONFIG_PREVENT_FIRMWARE_BUILD is not set
382# CONFIG_FW_LOADER is not set 389# CONFIG_FW_LOADER is not set
383# CONFIG_DEBUG_DRIVER is not set 390# CONFIG_DEBUG_DRIVER is not set
391# CONFIG_SYS_HYPERVISOR is not set
384 392
385# 393#
386# Connector - unified userspace <-> kernelspace linker 394# Connector - unified userspace <-> kernelspace linker
@@ -565,6 +573,7 @@ CONFIG_LEGACY_PTY_COUNT=256
565# Watchdog Cards 573# Watchdog Cards
566# 574#
567# CONFIG_WATCHDOG is not set 575# CONFIG_WATCHDOG is not set
576# CONFIG_HW_RANDOM is not set
568# CONFIG_RTC is not set 577# CONFIG_RTC is not set
569# CONFIG_GEN_RTC is not set 578# CONFIG_GEN_RTC is not set
570# CONFIG_DTLK is not set 579# CONFIG_DTLK is not set
@@ -595,7 +604,6 @@ CONFIG_LEGACY_PTY_COUNT=256
595# 604#
596# Dallas's 1-wire bus 605# Dallas's 1-wire bus
597# 606#
598# CONFIG_W1 is not set
599 607
600# 608#
601# Hardware Monitoring support 609# Hardware Monitoring support
@@ -611,6 +619,7 @@ CONFIG_LEGACY_PTY_COUNT=256
611# Multimedia devices 619# Multimedia devices
612# 620#
613# CONFIG_VIDEO_DEV is not set 621# CONFIG_VIDEO_DEV is not set
622CONFIG_VIDEO_V4L2=y
614 623
615# 624#
616# Digital Video Broadcasting Devices 625# Digital Video Broadcasting Devices
@@ -620,6 +629,7 @@ CONFIG_LEGACY_PTY_COUNT=256
620# 629#
621# Graphics support 630# Graphics support
622# 631#
632# CONFIG_FIRMWARE_EDID is not set
623# CONFIG_FB is not set 633# CONFIG_FB is not set
624 634
625# 635#
@@ -675,6 +685,19 @@ CONFIG_LEGACY_PTY_COUNT=256
675# CONFIG_RTC_CLASS is not set 685# CONFIG_RTC_CLASS is not set
676 686
677# 687#
688# DMA Engine support
689#
690# CONFIG_DMA_ENGINE is not set
691
692#
693# DMA Clients
694#
695
696#
697# DMA Devices
698#
699
700#
678# File systems 701# File systems
679# 702#
680CONFIG_EXT2_FS=y 703CONFIG_EXT2_FS=y
@@ -685,7 +708,6 @@ CONFIG_EXT2_FS=y
685# CONFIG_JFS_FS is not set 708# CONFIG_JFS_FS is not set
686# CONFIG_FS_POSIX_ACL is not set 709# CONFIG_FS_POSIX_ACL is not set
687# CONFIG_XFS_FS is not set 710# CONFIG_XFS_FS is not set
688# CONFIG_OCFS2_FS is not set
689# CONFIG_MINIX_FS is not set 711# CONFIG_MINIX_FS is not set
690CONFIG_ROMFS_FS=y 712CONFIG_ROMFS_FS=y
691# CONFIG_INOTIFY is not set 713# CONFIG_INOTIFY is not set
@@ -753,6 +775,7 @@ CONFIG_SUNRPC=y
753# CONFIG_RPCSEC_GSS_SPKM3 is not set 775# CONFIG_RPCSEC_GSS_SPKM3 is not set
754# CONFIG_SMB_FS is not set 776# CONFIG_SMB_FS is not set
755# CONFIG_CIFS is not set 777# CONFIG_CIFS is not set
778# CONFIG_CIFS_DEBUG2 is not set
756# CONFIG_NCP_FS is not set 779# CONFIG_NCP_FS is not set
757# CONFIG_CODA_FS is not set 780# CONFIG_CODA_FS is not set
758# CONFIG_AFS_FS is not set 781# CONFIG_AFS_FS is not set
@@ -779,14 +802,19 @@ CONFIG_MSDOS_PARTITION=y
779# 802#
780# CONFIG_PRINTK_TIME is not set 803# CONFIG_PRINTK_TIME is not set
781# CONFIG_MAGIC_SYSRQ is not set 804# CONFIG_MAGIC_SYSRQ is not set
805# CONFIG_UNUSED_SYMBOLS is not set
782CONFIG_DEBUG_KERNEL=y 806CONFIG_DEBUG_KERNEL=y
783CONFIG_LOG_BUF_SHIFT=14 807CONFIG_LOG_BUF_SHIFT=14
784# CONFIG_DETECT_SOFTLOCKUP is not set 808# CONFIG_DETECT_SOFTLOCKUP is not set
785# CONFIG_SCHEDSTATS is not set 809# CONFIG_SCHEDSTATS is not set
786# CONFIG_DEBUG_SLAB is not set 810# CONFIG_DEBUG_SLAB is not set
787CONFIG_DEBUG_MUTEXES=y 811# CONFIG_DEBUG_RT_MUTEXES is not set
812# CONFIG_RT_MUTEX_TESTER is not set
788# CONFIG_DEBUG_SPINLOCK is not set 813# CONFIG_DEBUG_SPINLOCK is not set
814CONFIG_DEBUG_MUTEXES=y
815# CONFIG_DEBUG_RWSEMS is not set
789# CONFIG_DEBUG_SPINLOCK_SLEEP is not set 816# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
817# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
790# CONFIG_DEBUG_KOBJECT is not set 818# CONFIG_DEBUG_KOBJECT is not set
791CONFIG_DEBUG_INFO=y 819CONFIG_DEBUG_INFO=y
792# CONFIG_DEBUG_VM is not set 820# CONFIG_DEBUG_VM is not set
@@ -844,3 +872,4 @@ CONFIG_CRYPTO_MD5=y
844CONFIG_CRC16=y 872CONFIG_CRC16=y
845CONFIG_CRC32=y 873CONFIG_CRC32=y
846# CONFIG_LIBCRC32C is not set 874# CONFIG_LIBCRC32C is not set
875CONFIG_PLIST=y
diff --git a/arch/mips/configs/mpc30x_defconfig b/arch/mips/configs/mpc30x_defconfig
index 5d6ff3c352c9..938b38ab5239 100644
--- a/arch/mips/configs/mpc30x_defconfig
+++ b/arch/mips/configs/mpc30x_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.17-rc2 3# Linux kernel version: 2.6.18-rc1
4# Mon Apr 24 14:51:09 2006 4# Thu Jul 6 10:04:15 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -21,6 +21,7 @@ CONFIG_MIPS=y
21# CONFIG_MIPS_DB1550 is not set 21# CONFIG_MIPS_DB1550 is not set
22# CONFIG_MIPS_DB1200 is not set 22# CONFIG_MIPS_DB1200 is not set
23# CONFIG_MIPS_MIRAGE is not set 23# CONFIG_MIPS_MIRAGE is not set
24# CONFIG_BASLER_EXCITE is not set
24# CONFIG_MIPS_COBALT is not set 25# CONFIG_MIPS_COBALT is not set
25# CONFIG_MACH_DECSTATION is not set 26# CONFIG_MACH_DECSTATION is not set
26# CONFIG_MIPS_EV64120 is not set 27# CONFIG_MIPS_EV64120 is not set
@@ -32,6 +33,7 @@ CONFIG_MIPS=y
32# CONFIG_MIPS_ATLAS is not set 33# CONFIG_MIPS_ATLAS is not set
33# CONFIG_MIPS_MALTA is not set 34# CONFIG_MIPS_MALTA is not set
34# CONFIG_MIPS_SEAD is not set 35# CONFIG_MIPS_SEAD is not set
36# CONFIG_WR_PPMC is not set
35# CONFIG_MIPS_SIM is not set 37# CONFIG_MIPS_SIM is not set
36# CONFIG_MOMENCO_JAGUAR_ATX is not set 38# CONFIG_MOMENCO_JAGUAR_ATX is not set
37# CONFIG_MOMENCO_OCELOT is not set 39# CONFIG_MOMENCO_OCELOT is not set
@@ -45,6 +47,7 @@ CONFIG_MIPS=y
45CONFIG_MACH_VR41XX=y 47CONFIG_MACH_VR41XX=y
46# CONFIG_PMC_YOSEMITE is not set 48# CONFIG_PMC_YOSEMITE is not set
47# CONFIG_QEMU is not set 49# CONFIG_QEMU is not set
50# CONFIG_MARKEINS is not set
48# CONFIG_SGI_IP22 is not set 51# CONFIG_SGI_IP22 is not set
49# CONFIG_SGI_IP27 is not set 52# CONFIG_SGI_IP27 is not set
50# CONFIG_SGI_IP32 is not set 53# CONFIG_SGI_IP32 is not set
@@ -73,6 +76,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y
73CONFIG_GENERIC_FIND_NEXT_BIT=y 76CONFIG_GENERIC_FIND_NEXT_BIT=y
74CONFIG_GENERIC_HWEIGHT=y 77CONFIG_GENERIC_HWEIGHT=y
75CONFIG_GENERIC_CALIBRATE_DELAY=y 78CONFIG_GENERIC_CALIBRATE_DELAY=y
79CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
76CONFIG_DMA_NONCOHERENT=y 80CONFIG_DMA_NONCOHERENT=y
77CONFIG_DMA_NEED_PCI_MAP_STATE=y 81CONFIG_DMA_NEED_PCI_MAP_STATE=y
78# CONFIG_CPU_BIG_ENDIAN is not set 82# CONFIG_CPU_BIG_ENDIAN is not set
@@ -117,7 +121,10 @@ CONFIG_PAGE_SIZE_4KB=y
117# CONFIG_PAGE_SIZE_8KB is not set 121# CONFIG_PAGE_SIZE_8KB is not set
118# CONFIG_PAGE_SIZE_16KB is not set 122# CONFIG_PAGE_SIZE_16KB is not set
119# CONFIG_PAGE_SIZE_64KB is not set 123# CONFIG_PAGE_SIZE_64KB is not set
120# CONFIG_MIPS_MT is not set 124CONFIG_MIPS_MT_DISABLED=y
125# CONFIG_MIPS_MT_SMTC is not set
126# CONFIG_MIPS_MT_SMP is not set
127# CONFIG_MIPS_VPE_LOADER is not set
121CONFIG_CPU_HAS_SYNC=y 128CONFIG_CPU_HAS_SYNC=y
122CONFIG_GENERIC_HARDIRQS=y 129CONFIG_GENERIC_HARDIRQS=y
123CONFIG_GENERIC_IRQ_PROBE=y 130CONFIG_GENERIC_IRQ_PROBE=y
@@ -130,6 +137,7 @@ CONFIG_FLATMEM=y
130CONFIG_FLAT_NODE_MEM_MAP=y 137CONFIG_FLAT_NODE_MEM_MAP=y
131# CONFIG_SPARSEMEM_STATIC is not set 138# CONFIG_SPARSEMEM_STATIC is not set
132CONFIG_SPLIT_PTLOCK_CPUS=4 139CONFIG_SPLIT_PTLOCK_CPUS=4
140# CONFIG_RESOURCES_64BIT is not set
133# CONFIG_HZ_48 is not set 141# CONFIG_HZ_48 is not set
134# CONFIG_HZ_100 is not set 142# CONFIG_HZ_100 is not set
135# CONFIG_HZ_128 is not set 143# CONFIG_HZ_128 is not set
@@ -142,6 +150,7 @@ CONFIG_HZ=1000
142CONFIG_PREEMPT_NONE=y 150CONFIG_PREEMPT_NONE=y
143# CONFIG_PREEMPT_VOLUNTARY is not set 151# CONFIG_PREEMPT_VOLUNTARY is not set
144# CONFIG_PREEMPT is not set 152# CONFIG_PREEMPT is not set
153CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
145 154
146# 155#
147# Code maturity level options 156# Code maturity level options
@@ -173,10 +182,12 @@ CONFIG_PRINTK=y
173CONFIG_BUG=y 182CONFIG_BUG=y
174CONFIG_ELF_CORE=y 183CONFIG_ELF_CORE=y
175CONFIG_BASE_FULL=y 184CONFIG_BASE_FULL=y
185CONFIG_RT_MUTEXES=y
176CONFIG_FUTEX=y 186CONFIG_FUTEX=y
177CONFIG_EPOLL=y 187CONFIG_EPOLL=y
178CONFIG_SHMEM=y 188CONFIG_SHMEM=y
179CONFIG_SLAB=y 189CONFIG_SLAB=y
190CONFIG_VM_EVENT_COUNTERS=y
180# CONFIG_TINY_SHMEM is not set 191# CONFIG_TINY_SHMEM is not set
181CONFIG_BASE_SMALL=0 192CONFIG_BASE_SMALL=0
182# CONFIG_SLOB is not set 193# CONFIG_SLOB is not set
@@ -278,6 +289,8 @@ CONFIG_IP_FIB_HASH=y
278# CONFIG_INET_IPCOMP is not set 289# CONFIG_INET_IPCOMP is not set
279# CONFIG_INET_XFRM_TUNNEL is not set 290# CONFIG_INET_XFRM_TUNNEL is not set
280# CONFIG_INET_TUNNEL is not set 291# CONFIG_INET_TUNNEL is not set
292CONFIG_INET_XFRM_MODE_TRANSPORT=m
293CONFIG_INET_XFRM_MODE_TUNNEL=m
281CONFIG_INET_DIAG=y 294CONFIG_INET_DIAG=y
282CONFIG_INET_TCP_DIAG=y 295CONFIG_INET_TCP_DIAG=y
283# CONFIG_TCP_CONG_ADVANCED is not set 296# CONFIG_TCP_CONG_ADVANCED is not set
@@ -285,6 +298,7 @@ CONFIG_TCP_CONG_BIC=y
285# CONFIG_IPV6 is not set 298# CONFIG_IPV6 is not set
286# CONFIG_INET6_XFRM_TUNNEL is not set 299# CONFIG_INET6_XFRM_TUNNEL is not set
287# CONFIG_INET6_TUNNEL is not set 300# CONFIG_INET6_TUNNEL is not set
301CONFIG_NETWORK_SECMARK=y
288# CONFIG_NETFILTER is not set 302# CONFIG_NETFILTER is not set
289 303
290# 304#
@@ -345,6 +359,7 @@ CONFIG_WIRELESS_EXT=y
345CONFIG_STANDALONE=y 359CONFIG_STANDALONE=y
346CONFIG_PREVENT_FIRMWARE_BUILD=y 360CONFIG_PREVENT_FIRMWARE_BUILD=y
347CONFIG_FW_LOADER=y 361CONFIG_FW_LOADER=y
362# CONFIG_SYS_HYPERVISOR is not set
348 363
349# 364#
350# Connector - unified userspace <-> kernelspace linker 365# Connector - unified userspace <-> kernelspace linker
@@ -483,6 +498,7 @@ CONFIG_MII=m
483# CONFIG_CHELSIO_T1 is not set 498# CONFIG_CHELSIO_T1 is not set
484# CONFIG_IXGB is not set 499# CONFIG_IXGB is not set
485# CONFIG_S2IO is not set 500# CONFIG_S2IO is not set
501# CONFIG_MYRI10GE is not set
486 502
487# 503#
488# Token Ring devices 504# Token Ring devices
@@ -531,8 +547,10 @@ CONFIG_PCMCIA_HERMES=m
531# Prism GT/Duette 802.11(a/b/g) PCI/Cardbus support 547# Prism GT/Duette 802.11(a/b/g) PCI/Cardbus support
532# 548#
533# CONFIG_PRISM54 is not set 549# CONFIG_PRISM54 is not set
550# CONFIG_USB_ZD1201 is not set
534# CONFIG_HOSTAP is not set 551# CONFIG_HOSTAP is not set
535# CONFIG_BCM43XX is not set 552# CONFIG_BCM43XX is not set
553# CONFIG_ZD1211RW is not set
536CONFIG_NET_WIRELESS=y 554CONFIG_NET_WIRELESS=y
537 555
538# 556#
@@ -614,6 +632,7 @@ CONFIG_SERIO_RAW=m
614CONFIG_VT=y 632CONFIG_VT=y
615CONFIG_VT_CONSOLE=y 633CONFIG_VT_CONSOLE=y
616CONFIG_HW_CONSOLE=y 634CONFIG_HW_CONSOLE=y
635CONFIG_VT_HW_CONSOLE_BINDING=y
617# CONFIG_SERIAL_NONSTANDARD is not set 636# CONFIG_SERIAL_NONSTANDARD is not set
618 637
619# 638#
@@ -639,6 +658,7 @@ CONFIG_LEGACY_PTY_COUNT=256
639# Watchdog Cards 658# Watchdog Cards
640# 659#
641# CONFIG_WATCHDOG is not set 660# CONFIG_WATCHDOG is not set
661# CONFIG_HW_RANDOM is not set
642# CONFIG_RTC is not set 662# CONFIG_RTC is not set
643# CONFIG_GEN_RTC is not set 663# CONFIG_GEN_RTC is not set
644# CONFIG_DTLK is not set 664# CONFIG_DTLK is not set
@@ -695,6 +715,7 @@ CONFIG_LEGACY_PTY_COUNT=256
695# Multimedia devices 715# Multimedia devices
696# 716#
697# CONFIG_VIDEO_DEV is not set 717# CONFIG_VIDEO_DEV is not set
718CONFIG_VIDEO_V4L2=y
698 719
699# 720#
700# Digital Video Broadcasting Devices 721# Digital Video Broadcasting Devices
@@ -705,6 +726,7 @@ CONFIG_LEGACY_PTY_COUNT=256
705# 726#
706# Graphics support 727# Graphics support
707# 728#
729# CONFIG_FIRMWARE_EDID is not set
708# CONFIG_FB is not set 730# CONFIG_FB is not set
709 731
710# 732#
@@ -798,7 +820,6 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
798CONFIG_USB_PEGASUS=m 820CONFIG_USB_PEGASUS=m
799# CONFIG_USB_RTL8150 is not set 821# CONFIG_USB_RTL8150 is not set
800# CONFIG_USB_USBNET is not set 822# CONFIG_USB_USBNET is not set
801# CONFIG_USB_ZD1201 is not set
802# CONFIG_USB_MON is not set 823# CONFIG_USB_MON is not set
803 824
804# 825#
@@ -820,10 +841,12 @@ CONFIG_USB_PEGASUS=m
820# CONFIG_USB_LEGOTOWER is not set 841# CONFIG_USB_LEGOTOWER is not set
821# CONFIG_USB_LCD is not set 842# CONFIG_USB_LCD is not set
822# CONFIG_USB_LED is not set 843# CONFIG_USB_LED is not set
844# CONFIG_USB_CY7C63 is not set
823# CONFIG_USB_CYTHERM is not set 845# CONFIG_USB_CYTHERM is not set
824# CONFIG_USB_PHIDGETKIT is not set 846# CONFIG_USB_PHIDGETKIT is not set
825# CONFIG_USB_PHIDGETSERVO is not set 847# CONFIG_USB_PHIDGETSERVO is not set
826# CONFIG_USB_IDMOUSE is not set 848# CONFIG_USB_IDMOUSE is not set
849# CONFIG_USB_APPLEDISPLAY is not set
827# CONFIG_USB_LD is not set 850# CONFIG_USB_LD is not set
828# CONFIG_USB_TEST is not set 851# CONFIG_USB_TEST is not set
829 852
@@ -869,6 +892,19 @@ CONFIG_USB_PEGASUS=m
869# CONFIG_RTC_CLASS is not set 892# CONFIG_RTC_CLASS is not set
870 893
871# 894#
895# DMA Engine support
896#
897# CONFIG_DMA_ENGINE is not set
898
899#
900# DMA Clients
901#
902
903#
904# DMA Devices
905#
906
907#
872# File systems 908# File systems
873# 909#
874CONFIG_EXT2_FS=y 910CONFIG_EXT2_FS=y
@@ -883,6 +919,7 @@ CONFIG_EXT2_FS=y
883# CONFIG_MINIX_FS is not set 919# CONFIG_MINIX_FS is not set
884# CONFIG_ROMFS_FS is not set 920# CONFIG_ROMFS_FS is not set
885CONFIG_INOTIFY=y 921CONFIG_INOTIFY=y
922CONFIG_INOTIFY_USER=y
886# CONFIG_QUOTA is not set 923# CONFIG_QUOTA is not set
887CONFIG_DNOTIFY=y 924CONFIG_DNOTIFY=y
888CONFIG_AUTOFS_FS=y 925CONFIG_AUTOFS_FS=y
@@ -945,6 +982,7 @@ CONFIG_SUNRPC=y
945# CONFIG_RPCSEC_GSS_SPKM3 is not set 982# CONFIG_RPCSEC_GSS_SPKM3 is not set
946# CONFIG_SMB_FS is not set 983# CONFIG_SMB_FS is not set
947# CONFIG_CIFS is not set 984# CONFIG_CIFS is not set
985# CONFIG_CIFS_DEBUG2 is not set
948# CONFIG_NCP_FS is not set 986# CONFIG_NCP_FS is not set
949# CONFIG_CODA_FS is not set 987# CONFIG_CODA_FS is not set
950# CONFIG_AFS_FS is not set 988# CONFIG_AFS_FS is not set
@@ -971,6 +1009,7 @@ CONFIG_MSDOS_PARTITION=y
971# 1009#
972# CONFIG_PRINTK_TIME is not set 1010# CONFIG_PRINTK_TIME is not set
973# CONFIG_MAGIC_SYSRQ is not set 1011# CONFIG_MAGIC_SYSRQ is not set
1012# CONFIG_UNUSED_SYMBOLS is not set
974# CONFIG_DEBUG_KERNEL is not set 1013# CONFIG_DEBUG_KERNEL is not set
975CONFIG_LOG_BUF_SHIFT=14 1014CONFIG_LOG_BUF_SHIFT=14
976# CONFIG_DEBUG_FS is not set 1015# CONFIG_DEBUG_FS is not set
@@ -1026,3 +1065,4 @@ CONFIG_CRC32=y
1026CONFIG_LIBCRC32C=m 1065CONFIG_LIBCRC32C=m
1027CONFIG_ZLIB_INFLATE=m 1066CONFIG_ZLIB_INFLATE=m
1028CONFIG_ZLIB_DEFLATE=m 1067CONFIG_ZLIB_DEFLATE=m
1068CONFIG_PLIST=y
diff --git a/arch/mips/configs/ocelot_3_defconfig b/arch/mips/configs/ocelot_3_defconfig
index fe5e3dd915f5..ec5758f22676 100644
--- a/arch/mips/configs/ocelot_3_defconfig
+++ b/arch/mips/configs/ocelot_3_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.17-rc2 3# Linux kernel version: 2.6.18-rc1
4# Mon Apr 24 14:51:10 2006 4# Thu Jul 6 10:04:15 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -21,6 +21,7 @@ CONFIG_MIPS=y
21# CONFIG_MIPS_DB1550 is not set 21# CONFIG_MIPS_DB1550 is not set
22# CONFIG_MIPS_DB1200 is not set 22# CONFIG_MIPS_DB1200 is not set
23# CONFIG_MIPS_MIRAGE is not set 23# CONFIG_MIPS_MIRAGE is not set
24# CONFIG_BASLER_EXCITE is not set
24# CONFIG_MIPS_COBALT is not set 25# CONFIG_MIPS_COBALT is not set
25# CONFIG_MACH_DECSTATION is not set 26# CONFIG_MACH_DECSTATION is not set
26# CONFIG_MIPS_EV64120 is not set 27# CONFIG_MIPS_EV64120 is not set
@@ -32,6 +33,7 @@ CONFIG_MIPS=y
32# CONFIG_MIPS_ATLAS is not set 33# CONFIG_MIPS_ATLAS is not set
33# CONFIG_MIPS_MALTA is not set 34# CONFIG_MIPS_MALTA is not set
34# CONFIG_MIPS_SEAD is not set 35# CONFIG_MIPS_SEAD is not set
36# CONFIG_WR_PPMC is not set
35# CONFIG_MIPS_SIM is not set 37# CONFIG_MIPS_SIM is not set
36# CONFIG_MOMENCO_JAGUAR_ATX is not set 38# CONFIG_MOMENCO_JAGUAR_ATX is not set
37# CONFIG_MOMENCO_OCELOT is not set 39# CONFIG_MOMENCO_OCELOT is not set
@@ -45,6 +47,7 @@ CONFIG_MOMENCO_OCELOT_3=y
45# CONFIG_MACH_VR41XX is not set 47# CONFIG_MACH_VR41XX is not set
46# CONFIG_PMC_YOSEMITE is not set 48# CONFIG_PMC_YOSEMITE is not set
47# CONFIG_QEMU is not set 49# CONFIG_QEMU is not set
50# CONFIG_MARKEINS is not set
48# CONFIG_SGI_IP22 is not set 51# CONFIG_SGI_IP22 is not set
49# CONFIG_SGI_IP27 is not set 52# CONFIG_SGI_IP27 is not set
50# CONFIG_SGI_IP32 is not set 53# CONFIG_SGI_IP32 is not set
@@ -65,6 +68,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y
65CONFIG_GENERIC_FIND_NEXT_BIT=y 68CONFIG_GENERIC_FIND_NEXT_BIT=y
66CONFIG_GENERIC_HWEIGHT=y 69CONFIG_GENERIC_HWEIGHT=y
67CONFIG_GENERIC_CALIBRATE_DELAY=y 70CONFIG_GENERIC_CALIBRATE_DELAY=y
71CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
68CONFIG_DMA_NONCOHERENT=y 72CONFIG_DMA_NONCOHERENT=y
69CONFIG_DMA_NEED_PCI_MAP_STATE=y 73CONFIG_DMA_NEED_PCI_MAP_STATE=y
70CONFIG_CPU_BIG_ENDIAN=y 74CONFIG_CPU_BIG_ENDIAN=y
@@ -118,7 +122,10 @@ CONFIG_PAGE_SIZE_4KB=y
118CONFIG_BOARD_SCACHE=y 122CONFIG_BOARD_SCACHE=y
119CONFIG_RM7000_CPU_SCACHE=y 123CONFIG_RM7000_CPU_SCACHE=y
120CONFIG_CPU_HAS_PREFETCH=y 124CONFIG_CPU_HAS_PREFETCH=y
121# CONFIG_MIPS_MT is not set 125CONFIG_MIPS_MT_DISABLED=y
126# CONFIG_MIPS_MT_SMTC is not set
127# CONFIG_MIPS_MT_SMP is not set
128# CONFIG_MIPS_VPE_LOADER is not set
122# CONFIG_64BIT_PHYS_ADDR is not set 129# CONFIG_64BIT_PHYS_ADDR is not set
123CONFIG_CPU_HAS_LLSC=y 130CONFIG_CPU_HAS_LLSC=y
124CONFIG_CPU_HAS_SYNC=y 131CONFIG_CPU_HAS_SYNC=y
@@ -134,6 +141,7 @@ CONFIG_FLATMEM=y
134CONFIG_FLAT_NODE_MEM_MAP=y 141CONFIG_FLAT_NODE_MEM_MAP=y
135# CONFIG_SPARSEMEM_STATIC is not set 142# CONFIG_SPARSEMEM_STATIC is not set
136CONFIG_SPLIT_PTLOCK_CPUS=4 143CONFIG_SPLIT_PTLOCK_CPUS=4
144# CONFIG_RESOURCES_64BIT is not set
137# CONFIG_HZ_48 is not set 145# CONFIG_HZ_48 is not set
138# CONFIG_HZ_100 is not set 146# CONFIG_HZ_100 is not set
139# CONFIG_HZ_128 is not set 147# CONFIG_HZ_128 is not set
@@ -143,10 +151,10 @@ CONFIG_HZ_1000=y
143# CONFIG_HZ_1024 is not set 151# CONFIG_HZ_1024 is not set
144CONFIG_SYS_SUPPORTS_ARBIT_HZ=y 152CONFIG_SYS_SUPPORTS_ARBIT_HZ=y
145CONFIG_HZ=1000 153CONFIG_HZ=1000
146# CONFIG_SMP is not set
147CONFIG_PREEMPT_NONE=y 154CONFIG_PREEMPT_NONE=y
148# CONFIG_PREEMPT_VOLUNTARY is not set 155# CONFIG_PREEMPT_VOLUNTARY is not set
149# CONFIG_PREEMPT is not set 156# CONFIG_PREEMPT is not set
157CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
150 158
151# 159#
152# Code maturity level options 160# Code maturity level options
@@ -179,10 +187,12 @@ CONFIG_PRINTK=y
179CONFIG_BUG=y 187CONFIG_BUG=y
180CONFIG_ELF_CORE=y 188CONFIG_ELF_CORE=y
181CONFIG_BASE_FULL=y 189CONFIG_BASE_FULL=y
190CONFIG_RT_MUTEXES=y
182CONFIG_FUTEX=y 191CONFIG_FUTEX=y
183CONFIG_EPOLL=y 192CONFIG_EPOLL=y
184CONFIG_SHMEM=y 193CONFIG_SHMEM=y
185CONFIG_SLAB=y 194CONFIG_SLAB=y
195CONFIG_VM_EVENT_COUNTERS=y
186# CONFIG_TINY_SHMEM is not set 196# CONFIG_TINY_SHMEM is not set
187CONFIG_BASE_SMALL=0 197CONFIG_BASE_SMALL=0
188# CONFIG_SLOB is not set 198# CONFIG_SLOB is not set
@@ -273,6 +283,8 @@ CONFIG_IP_PNP_BOOTP=y
273# CONFIG_INET_IPCOMP is not set 283# CONFIG_INET_IPCOMP is not set
274# CONFIG_INET_XFRM_TUNNEL is not set 284# CONFIG_INET_XFRM_TUNNEL is not set
275# CONFIG_INET_TUNNEL is not set 285# CONFIG_INET_TUNNEL is not set
286CONFIG_INET_XFRM_MODE_TRANSPORT=m
287CONFIG_INET_XFRM_MODE_TUNNEL=m
276CONFIG_INET_DIAG=y 288CONFIG_INET_DIAG=y
277CONFIG_INET_TCP_DIAG=y 289CONFIG_INET_TCP_DIAG=y
278# CONFIG_TCP_CONG_ADVANCED is not set 290# CONFIG_TCP_CONG_ADVANCED is not set
@@ -291,7 +303,10 @@ CONFIG_IPV6_ROUTE_INFO=y
291# CONFIG_INET6_IPCOMP is not set 303# CONFIG_INET6_IPCOMP is not set
292# CONFIG_INET6_XFRM_TUNNEL is not set 304# CONFIG_INET6_XFRM_TUNNEL is not set
293# CONFIG_INET6_TUNNEL is not set 305# CONFIG_INET6_TUNNEL is not set
306CONFIG_INET6_XFRM_MODE_TRANSPORT=m
307CONFIG_INET6_XFRM_MODE_TUNNEL=m
294# CONFIG_IPV6_TUNNEL is not set 308# CONFIG_IPV6_TUNNEL is not set
309CONFIG_NETWORK_SECMARK=y
295CONFIG_NETFILTER=y 310CONFIG_NETFILTER=y
296# CONFIG_NETFILTER_DEBUG is not set 311# CONFIG_NETFILTER_DEBUG is not set
297 312
@@ -306,6 +321,7 @@ CONFIG_NETFILTER_XTABLES=m
306CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m 321CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
307CONFIG_NETFILTER_XT_TARGET_MARK=m 322CONFIG_NETFILTER_XT_TARGET_MARK=m
308CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m 323CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
324CONFIG_NETFILTER_XT_TARGET_SECMARK=m
309CONFIG_NETFILTER_XT_MATCH_COMMENT=m 325CONFIG_NETFILTER_XT_MATCH_COMMENT=m
310CONFIG_NETFILTER_XT_MATCH_DCCP=m 326CONFIG_NETFILTER_XT_MATCH_DCCP=m
311CONFIG_NETFILTER_XT_MATCH_ESP=m 327CONFIG_NETFILTER_XT_MATCH_ESP=m
@@ -316,8 +332,10 @@ CONFIG_NETFILTER_XT_MATCH_MARK=m
316CONFIG_NETFILTER_XT_MATCH_POLICY=m 332CONFIG_NETFILTER_XT_MATCH_POLICY=m
317CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m 333CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
318CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m 334CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
335CONFIG_NETFILTER_XT_MATCH_QUOTA=m
319CONFIG_NETFILTER_XT_MATCH_REALM=m 336CONFIG_NETFILTER_XT_MATCH_REALM=m
320CONFIG_NETFILTER_XT_MATCH_SCTP=m 337CONFIG_NETFILTER_XT_MATCH_SCTP=m
338CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
321CONFIG_NETFILTER_XT_MATCH_STRING=m 339CONFIG_NETFILTER_XT_MATCH_STRING=m
322CONFIG_NETFILTER_XT_MATCH_TCPMSS=m 340CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
323 341
@@ -393,6 +411,7 @@ CONFIG_WIRELESS_EXT=y
393CONFIG_STANDALONE=y 411CONFIG_STANDALONE=y
394CONFIG_PREVENT_FIRMWARE_BUILD=y 412CONFIG_PREVENT_FIRMWARE_BUILD=y
395CONFIG_FW_LOADER=m 413CONFIG_FW_LOADER=m
414# CONFIG_SYS_HYPERVISOR is not set
396 415
397# 416#
398# Connector - unified userspace <-> kernelspace linker 417# Connector - unified userspace <-> kernelspace linker
@@ -483,6 +502,7 @@ CONFIG_ISCSI_TCP=m
483# CONFIG_MEGARAID_LEGACY is not set 502# CONFIG_MEGARAID_LEGACY is not set
484# CONFIG_MEGARAID_SAS is not set 503# CONFIG_MEGARAID_SAS is not set
485# CONFIG_SCSI_SATA is not set 504# CONFIG_SCSI_SATA is not set
505# CONFIG_SCSI_HPTIOP is not set
486# CONFIG_SCSI_DMX3191D is not set 506# CONFIG_SCSI_DMX3191D is not set
487# CONFIG_SCSI_FUTURE_DOMAIN is not set 507# CONFIG_SCSI_FUTURE_DOMAIN is not set
488# CONFIG_SCSI_IPS is not set 508# CONFIG_SCSI_IPS is not set
@@ -548,6 +568,8 @@ CONFIG_DAVICOM_PHY=m
548CONFIG_QSEMI_PHY=m 568CONFIG_QSEMI_PHY=m
549CONFIG_LXT_PHY=m 569CONFIG_LXT_PHY=m
550CONFIG_CICADA_PHY=m 570CONFIG_CICADA_PHY=m
571CONFIG_VITESSE_PHY=m
572CONFIG_SMSC_PHY=m
551 573
552# 574#
553# Ethernet (10 or 100Mbit) 575# Ethernet (10 or 100Mbit)
@@ -614,6 +636,7 @@ CONFIG_MV643XX_ETH_2=y
614# CONFIG_CHELSIO_T1 is not set 636# CONFIG_CHELSIO_T1 is not set
615# CONFIG_IXGB is not set 637# CONFIG_IXGB is not set
616# CONFIG_S2IO is not set 638# CONFIG_S2IO is not set
639# CONFIG_MYRI10GE is not set
617 640
618# 641#
619# Token Ring devices 642# Token Ring devices
@@ -697,6 +720,7 @@ CONFIG_SERIO=y
697CONFIG_VT=y 720CONFIG_VT=y
698CONFIG_VT_CONSOLE=y 721CONFIG_VT_CONSOLE=y
699CONFIG_HW_CONSOLE=y 722CONFIG_HW_CONSOLE=y
723CONFIG_VT_HW_CONSOLE_BINDING=y
700# CONFIG_SERIAL_NONSTANDARD is not set 724# CONFIG_SERIAL_NONSTANDARD is not set
701 725
702# 726#
@@ -728,6 +752,7 @@ CONFIG_LEGACY_PTY_COUNT=256
728# Watchdog Cards 752# Watchdog Cards
729# 753#
730# CONFIG_WATCHDOG is not set 754# CONFIG_WATCHDOG is not set
755# CONFIG_HW_RANDOM is not set
731CONFIG_RTC=y 756CONFIG_RTC=y
732# CONFIG_DTLK is not set 757# CONFIG_DTLK is not set
733# CONFIG_R3964 is not set 758# CONFIG_R3964 is not set
@@ -775,6 +800,7 @@ CONFIG_RTC=y
775# Multimedia devices 800# Multimedia devices
776# 801#
777# CONFIG_VIDEO_DEV is not set 802# CONFIG_VIDEO_DEV is not set
803CONFIG_VIDEO_V4L2=y
778 804
779# 805#
780# Digital Video Broadcasting Devices 806# Digital Video Broadcasting Devices
@@ -784,12 +810,13 @@ CONFIG_RTC=y
784# 810#
785# Graphics support 811# Graphics support
786# 812#
813# CONFIG_FIRMWARE_EDID is not set
787CONFIG_FB=y 814CONFIG_FB=y
788# CONFIG_FB_CFB_FILLRECT is not set 815# CONFIG_FB_CFB_FILLRECT is not set
789# CONFIG_FB_CFB_COPYAREA is not set 816# CONFIG_FB_CFB_COPYAREA is not set
790# CONFIG_FB_CFB_IMAGEBLIT is not set 817# CONFIG_FB_CFB_IMAGEBLIT is not set
791# CONFIG_FB_MACMODES is not set 818# CONFIG_FB_MACMODES is not set
792CONFIG_FB_FIRMWARE_EDID=y 819# CONFIG_FB_BACKLIGHT is not set
793CONFIG_FB_MODE_HELPERS=y 820CONFIG_FB_MODE_HELPERS=y
794# CONFIG_FB_TILEBLITTING is not set 821# CONFIG_FB_TILEBLITTING is not set
795# CONFIG_FB_CIRRUS is not set 822# CONFIG_FB_CIRRUS is not set
@@ -889,6 +916,19 @@ CONFIG_USB_ARCH_HAS_EHCI=y
889# CONFIG_RTC_CLASS is not set 916# CONFIG_RTC_CLASS is not set
890 917
891# 918#
919# DMA Engine support
920#
921# CONFIG_DMA_ENGINE is not set
922
923#
924# DMA Clients
925#
926
927#
928# DMA Devices
929#
930
931#
892# File systems 932# File systems
893# 933#
894CONFIG_EXT2_FS=y 934CONFIG_EXT2_FS=y
@@ -908,7 +948,6 @@ CONFIG_REISERFS_FS=m
908# CONFIG_JFS_FS is not set 948# CONFIG_JFS_FS is not set
909# CONFIG_FS_POSIX_ACL is not set 949# CONFIG_FS_POSIX_ACL is not set
910CONFIG_XFS_FS=m 950CONFIG_XFS_FS=m
911CONFIG_XFS_EXPORT=y
912# CONFIG_XFS_QUOTA is not set 951# CONFIG_XFS_QUOTA is not set
913# CONFIG_XFS_SECURITY is not set 952# CONFIG_XFS_SECURITY is not set
914# CONFIG_XFS_POSIX_ACL is not set 953# CONFIG_XFS_POSIX_ACL is not set
@@ -917,6 +956,7 @@ CONFIG_XFS_EXPORT=y
917# CONFIG_MINIX_FS is not set 956# CONFIG_MINIX_FS is not set
918# CONFIG_ROMFS_FS is not set 957# CONFIG_ROMFS_FS is not set
919CONFIG_INOTIFY=y 958CONFIG_INOTIFY=y
959CONFIG_INOTIFY_USER=y
920# CONFIG_QUOTA is not set 960# CONFIG_QUOTA is not set
921CONFIG_DNOTIFY=y 961CONFIG_DNOTIFY=y
922CONFIG_AUTOFS_FS=y 962CONFIG_AUTOFS_FS=y
@@ -988,6 +1028,7 @@ CONFIG_SUNRPC=y
988CONFIG_SMB_FS=m 1028CONFIG_SMB_FS=m
989# CONFIG_SMB_NLS_DEFAULT is not set 1029# CONFIG_SMB_NLS_DEFAULT is not set
990# CONFIG_CIFS is not set 1030# CONFIG_CIFS is not set
1031# CONFIG_CIFS_DEBUG2 is not set
991# CONFIG_NCP_FS is not set 1032# CONFIG_NCP_FS is not set
992# CONFIG_CODA_FS is not set 1033# CONFIG_CODA_FS is not set
993# CONFIG_AFS_FS is not set 1034# CONFIG_AFS_FS is not set
@@ -1053,6 +1094,7 @@ CONFIG_NLS_DEFAULT="iso8859-1"
1053# 1094#
1054# CONFIG_PRINTK_TIME is not set 1095# CONFIG_PRINTK_TIME is not set
1055# CONFIG_MAGIC_SYSRQ is not set 1096# CONFIG_MAGIC_SYSRQ is not set
1097# CONFIG_UNUSED_SYMBOLS is not set
1056# CONFIG_DEBUG_KERNEL is not set 1098# CONFIG_DEBUG_KERNEL is not set
1057CONFIG_LOG_BUF_SHIFT=14 1099CONFIG_LOG_BUF_SHIFT=14
1058# CONFIG_DEBUG_FS is not set 1100# CONFIG_DEBUG_FS is not set
@@ -1111,3 +1153,4 @@ CONFIG_TEXTSEARCH=y
1111CONFIG_TEXTSEARCH_KMP=m 1153CONFIG_TEXTSEARCH_KMP=m
1112CONFIG_TEXTSEARCH_BM=m 1154CONFIG_TEXTSEARCH_BM=m
1113CONFIG_TEXTSEARCH_FSM=m 1155CONFIG_TEXTSEARCH_FSM=m
1156CONFIG_PLIST=y
diff --git a/arch/mips/configs/ocelot_c_defconfig b/arch/mips/configs/ocelot_c_defconfig
index f4a33ce47e50..0d33d87de1a1 100644
--- a/arch/mips/configs/ocelot_c_defconfig
+++ b/arch/mips/configs/ocelot_c_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.17-rc2 3# Linux kernel version: 2.6.18-rc1
4# Mon Apr 24 14:51:10 2006 4# Thu Jul 6 10:04:16 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -21,6 +21,7 @@ CONFIG_MIPS=y
21# CONFIG_MIPS_DB1550 is not set 21# CONFIG_MIPS_DB1550 is not set
22# CONFIG_MIPS_DB1200 is not set 22# CONFIG_MIPS_DB1200 is not set
23# CONFIG_MIPS_MIRAGE is not set 23# CONFIG_MIPS_MIRAGE is not set
24# CONFIG_BASLER_EXCITE is not set
24# CONFIG_MIPS_COBALT is not set 25# CONFIG_MIPS_COBALT is not set
25# CONFIG_MACH_DECSTATION is not set 26# CONFIG_MACH_DECSTATION is not set
26# CONFIG_MIPS_EV64120 is not set 27# CONFIG_MIPS_EV64120 is not set
@@ -32,6 +33,7 @@ CONFIG_MIPS=y
32# CONFIG_MIPS_ATLAS is not set 33# CONFIG_MIPS_ATLAS is not set
33# CONFIG_MIPS_MALTA is not set 34# CONFIG_MIPS_MALTA is not set
34# CONFIG_MIPS_SEAD is not set 35# CONFIG_MIPS_SEAD is not set
36# CONFIG_WR_PPMC is not set
35# CONFIG_MIPS_SIM is not set 37# CONFIG_MIPS_SIM is not set
36# CONFIG_MOMENCO_JAGUAR_ATX is not set 38# CONFIG_MOMENCO_JAGUAR_ATX is not set
37# CONFIG_MOMENCO_OCELOT is not set 39# CONFIG_MOMENCO_OCELOT is not set
@@ -45,6 +47,7 @@ CONFIG_MOMENCO_OCELOT_C=y
45# CONFIG_MACH_VR41XX is not set 47# CONFIG_MACH_VR41XX is not set
46# CONFIG_PMC_YOSEMITE is not set 48# CONFIG_PMC_YOSEMITE is not set
47# CONFIG_QEMU is not set 49# CONFIG_QEMU is not set
50# CONFIG_MARKEINS is not set
48# CONFIG_SGI_IP22 is not set 51# CONFIG_SGI_IP22 is not set
49# CONFIG_SGI_IP27 is not set 52# CONFIG_SGI_IP27 is not set
50# CONFIG_SGI_IP32 is not set 53# CONFIG_SGI_IP32 is not set
@@ -65,6 +68,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y
65CONFIG_GENERIC_FIND_NEXT_BIT=y 68CONFIG_GENERIC_FIND_NEXT_BIT=y
66CONFIG_GENERIC_HWEIGHT=y 69CONFIG_GENERIC_HWEIGHT=y
67CONFIG_GENERIC_CALIBRATE_DELAY=y 70CONFIG_GENERIC_CALIBRATE_DELAY=y
71CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
68CONFIG_DMA_NONCOHERENT=y 72CONFIG_DMA_NONCOHERENT=y
69CONFIG_DMA_NEED_PCI_MAP_STATE=y 73CONFIG_DMA_NEED_PCI_MAP_STATE=y
70CONFIG_CPU_BIG_ENDIAN=y 74CONFIG_CPU_BIG_ENDIAN=y
@@ -116,7 +120,10 @@ CONFIG_PAGE_SIZE_4KB=y
116CONFIG_BOARD_SCACHE=y 120CONFIG_BOARD_SCACHE=y
117CONFIG_RM7000_CPU_SCACHE=y 121CONFIG_RM7000_CPU_SCACHE=y
118CONFIG_CPU_HAS_PREFETCH=y 122CONFIG_CPU_HAS_PREFETCH=y
119# CONFIG_MIPS_MT is not set 123CONFIG_MIPS_MT_DISABLED=y
124# CONFIG_MIPS_MT_SMTC is not set
125# CONFIG_MIPS_MT_SMP is not set
126# CONFIG_MIPS_VPE_LOADER is not set
120CONFIG_CPU_HAS_LLSC=y 127CONFIG_CPU_HAS_LLSC=y
121CONFIG_CPU_HAS_SYNC=y 128CONFIG_CPU_HAS_SYNC=y
122CONFIG_GENERIC_HARDIRQS=y 129CONFIG_GENERIC_HARDIRQS=y
@@ -131,6 +138,7 @@ CONFIG_FLATMEM=y
131CONFIG_FLAT_NODE_MEM_MAP=y 138CONFIG_FLAT_NODE_MEM_MAP=y
132# CONFIG_SPARSEMEM_STATIC is not set 139# CONFIG_SPARSEMEM_STATIC is not set
133CONFIG_SPLIT_PTLOCK_CPUS=4 140CONFIG_SPLIT_PTLOCK_CPUS=4
141CONFIG_RESOURCES_64BIT=y
134# CONFIG_HZ_48 is not set 142# CONFIG_HZ_48 is not set
135# CONFIG_HZ_100 is not set 143# CONFIG_HZ_100 is not set
136# CONFIG_HZ_128 is not set 144# CONFIG_HZ_128 is not set
@@ -143,6 +151,7 @@ CONFIG_HZ=1000
143CONFIG_PREEMPT_NONE=y 151CONFIG_PREEMPT_NONE=y
144# CONFIG_PREEMPT_VOLUNTARY is not set 152# CONFIG_PREEMPT_VOLUNTARY is not set
145# CONFIG_PREEMPT is not set 153# CONFIG_PREEMPT is not set
154CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
146 155
147# 156#
148# Code maturity level options 157# Code maturity level options
@@ -174,10 +183,12 @@ CONFIG_PRINTK=y
174CONFIG_BUG=y 183CONFIG_BUG=y
175CONFIG_ELF_CORE=y 184CONFIG_ELF_CORE=y
176CONFIG_BASE_FULL=y 185CONFIG_BASE_FULL=y
186CONFIG_RT_MUTEXES=y
177CONFIG_FUTEX=y 187CONFIG_FUTEX=y
178CONFIG_EPOLL=y 188CONFIG_EPOLL=y
179CONFIG_SHMEM=y 189CONFIG_SHMEM=y
180CONFIG_SLAB=y 190CONFIG_SLAB=y
191CONFIG_VM_EVENT_COUNTERS=y
181# CONFIG_TINY_SHMEM is not set 192# CONFIG_TINY_SHMEM is not set
182CONFIG_BASE_SMALL=0 193CONFIG_BASE_SMALL=0
183# CONFIG_SLOB is not set 194# CONFIG_SLOB is not set
@@ -265,6 +276,8 @@ CONFIG_IP_PNP_DHCP=y
265# CONFIG_INET_IPCOMP is not set 276# CONFIG_INET_IPCOMP is not set
266# CONFIG_INET_XFRM_TUNNEL is not set 277# CONFIG_INET_XFRM_TUNNEL is not set
267# CONFIG_INET_TUNNEL is not set 278# CONFIG_INET_TUNNEL is not set
279CONFIG_INET_XFRM_MODE_TRANSPORT=y
280CONFIG_INET_XFRM_MODE_TUNNEL=y
268CONFIG_INET_DIAG=y 281CONFIG_INET_DIAG=y
269CONFIG_INET_TCP_DIAG=y 282CONFIG_INET_TCP_DIAG=y
270# CONFIG_TCP_CONG_ADVANCED is not set 283# CONFIG_TCP_CONG_ADVANCED is not set
@@ -272,6 +285,7 @@ CONFIG_TCP_CONG_BIC=y
272# CONFIG_IPV6 is not set 285# CONFIG_IPV6 is not set
273# CONFIG_INET6_XFRM_TUNNEL is not set 286# CONFIG_INET6_XFRM_TUNNEL is not set
274# CONFIG_INET6_TUNNEL is not set 287# CONFIG_INET6_TUNNEL is not set
288CONFIG_NETWORK_SECMARK=y
275# CONFIG_NETFILTER is not set 289# CONFIG_NETFILTER is not set
276 290
277# 291#
@@ -331,6 +345,7 @@ CONFIG_WIRELESS_EXT=y
331CONFIG_STANDALONE=y 345CONFIG_STANDALONE=y
332CONFIG_PREVENT_FIRMWARE_BUILD=y 346CONFIG_PREVENT_FIRMWARE_BUILD=y
333CONFIG_FW_LOADER=y 347CONFIG_FW_LOADER=y
348# CONFIG_SYS_HYPERVISOR is not set
334 349
335# 350#
336# Connector - unified userspace <-> kernelspace linker 351# Connector - unified userspace <-> kernelspace linker
@@ -428,6 +443,8 @@ CONFIG_DAVICOM_PHY=y
428CONFIG_QSEMI_PHY=y 443CONFIG_QSEMI_PHY=y
429CONFIG_LXT_PHY=y 444CONFIG_LXT_PHY=y
430CONFIG_CICADA_PHY=y 445CONFIG_CICADA_PHY=y
446CONFIG_VITESSE_PHY=y
447CONFIG_SMSC_PHY=y
431 448
432# 449#
433# Ethernet (10 or 100Mbit) 450# Ethernet (10 or 100Mbit)
@@ -471,6 +488,7 @@ CONFIG_NET_ETHERNET=y
471# CONFIG_CHELSIO_T1 is not set 488# CONFIG_CHELSIO_T1 is not set
472# CONFIG_IXGB is not set 489# CONFIG_IXGB is not set
473# CONFIG_S2IO is not set 490# CONFIG_S2IO is not set
491# CONFIG_MYRI10GE is not set
474 492
475# 493#
476# Token Ring devices 494# Token Ring devices
@@ -548,6 +566,7 @@ CONFIG_SERIO_RAW=y
548CONFIG_VT=y 566CONFIG_VT=y
549CONFIG_VT_CONSOLE=y 567CONFIG_VT_CONSOLE=y
550CONFIG_HW_CONSOLE=y 568CONFIG_HW_CONSOLE=y
569CONFIG_VT_HW_CONSOLE_BINDING=y
551# CONFIG_SERIAL_NONSTANDARD is not set 570# CONFIG_SERIAL_NONSTANDARD is not set
552 571
553# 572#
@@ -579,6 +598,7 @@ CONFIG_LEGACY_PTY_COUNT=256
579# Watchdog Cards 598# Watchdog Cards
580# 599#
581# CONFIG_WATCHDOG is not set 600# CONFIG_WATCHDOG is not set
601# CONFIG_HW_RANDOM is not set
582# CONFIG_RTC is not set 602# CONFIG_RTC is not set
583# CONFIG_GEN_RTC is not set 603# CONFIG_GEN_RTC is not set
584# CONFIG_DTLK is not set 604# CONFIG_DTLK is not set
@@ -627,6 +647,7 @@ CONFIG_LEGACY_PTY_COUNT=256
627# Multimedia devices 647# Multimedia devices
628# 648#
629# CONFIG_VIDEO_DEV is not set 649# CONFIG_VIDEO_DEV is not set
650CONFIG_VIDEO_V4L2=y
630 651
631# 652#
632# Digital Video Broadcasting Devices 653# Digital Video Broadcasting Devices
@@ -636,6 +657,7 @@ CONFIG_LEGACY_PTY_COUNT=256
636# 657#
637# Graphics support 658# Graphics support
638# 659#
660# CONFIG_FIRMWARE_EDID is not set
639# CONFIG_FB is not set 661# CONFIG_FB is not set
640 662
641# 663#
@@ -699,6 +721,19 @@ CONFIG_USB_ARCH_HAS_EHCI=y
699# CONFIG_RTC_CLASS is not set 721# CONFIG_RTC_CLASS is not set
700 722
701# 723#
724# DMA Engine support
725#
726# CONFIG_DMA_ENGINE is not set
727
728#
729# DMA Clients
730#
731
732#
733# DMA Devices
734#
735
736#
702# File systems 737# File systems
703# 738#
704CONFIG_EXT2_FS=y 739CONFIG_EXT2_FS=y
@@ -713,6 +748,7 @@ CONFIG_EXT2_FS=y
713# CONFIG_MINIX_FS is not set 748# CONFIG_MINIX_FS is not set
714# CONFIG_ROMFS_FS is not set 749# CONFIG_ROMFS_FS is not set
715CONFIG_INOTIFY=y 750CONFIG_INOTIFY=y
751CONFIG_INOTIFY_USER=y
716# CONFIG_QUOTA is not set 752# CONFIG_QUOTA is not set
717CONFIG_DNOTIFY=y 753CONFIG_DNOTIFY=y
718# CONFIG_AUTOFS_FS is not set 754# CONFIG_AUTOFS_FS is not set
@@ -779,6 +815,7 @@ CONFIG_SUNRPC=y
779# CONFIG_RPCSEC_GSS_SPKM3 is not set 815# CONFIG_RPCSEC_GSS_SPKM3 is not set
780# CONFIG_SMB_FS is not set 816# CONFIG_SMB_FS is not set
781# CONFIG_CIFS is not set 817# CONFIG_CIFS is not set
818# CONFIG_CIFS_DEBUG2 is not set
782# CONFIG_NCP_FS is not set 819# CONFIG_NCP_FS is not set
783# CONFIG_CODA_FS is not set 820# CONFIG_CODA_FS is not set
784# CONFIG_AFS_FS is not set 821# CONFIG_AFS_FS is not set
@@ -805,6 +842,7 @@ CONFIG_MSDOS_PARTITION=y
805# 842#
806# CONFIG_PRINTK_TIME is not set 843# CONFIG_PRINTK_TIME is not set
807# CONFIG_MAGIC_SYSRQ is not set 844# CONFIG_MAGIC_SYSRQ is not set
845# CONFIG_UNUSED_SYMBOLS is not set
808# CONFIG_DEBUG_KERNEL is not set 846# CONFIG_DEBUG_KERNEL is not set
809CONFIG_LOG_BUF_SHIFT=14 847CONFIG_LOG_BUF_SHIFT=14
810# CONFIG_DEBUG_FS is not set 848# CONFIG_DEBUG_FS is not set
@@ -846,7 +884,6 @@ CONFIG_CRYPTO_ANUBIS=y
846CONFIG_CRYPTO_DEFLATE=y 884CONFIG_CRYPTO_DEFLATE=y
847CONFIG_CRYPTO_MICHAEL_MIC=y 885CONFIG_CRYPTO_MICHAEL_MIC=y
848CONFIG_CRYPTO_CRC32C=y 886CONFIG_CRYPTO_CRC32C=y
849# CONFIG_CRYPTO_TEST is not set
850 887
851# 888#
852# Hardware crypto devices 889# Hardware crypto devices
@@ -861,3 +898,4 @@ CONFIG_CRC32=y
861CONFIG_LIBCRC32C=y 898CONFIG_LIBCRC32C=y
862CONFIG_ZLIB_INFLATE=y 899CONFIG_ZLIB_INFLATE=y
863CONFIG_ZLIB_DEFLATE=y 900CONFIG_ZLIB_DEFLATE=y
901CONFIG_PLIST=y
diff --git a/arch/mips/configs/ocelot_defconfig b/arch/mips/configs/ocelot_defconfig
index 21dea9549feb..4b999102715e 100644
--- a/arch/mips/configs/ocelot_defconfig
+++ b/arch/mips/configs/ocelot_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.17-rc2 3# Linux kernel version: 2.6.18-rc1
4# Mon Apr 24 14:51:11 2006 4# Thu Jul 6 10:04:16 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -21,6 +21,7 @@ CONFIG_MIPS=y
21# CONFIG_MIPS_DB1550 is not set 21# CONFIG_MIPS_DB1550 is not set
22# CONFIG_MIPS_DB1200 is not set 22# CONFIG_MIPS_DB1200 is not set
23# CONFIG_MIPS_MIRAGE is not set 23# CONFIG_MIPS_MIRAGE is not set
24# CONFIG_BASLER_EXCITE is not set
24# CONFIG_MIPS_COBALT is not set 25# CONFIG_MIPS_COBALT is not set
25# CONFIG_MACH_DECSTATION is not set 26# CONFIG_MACH_DECSTATION is not set
26# CONFIG_MIPS_EV64120 is not set 27# CONFIG_MIPS_EV64120 is not set
@@ -32,6 +33,7 @@ CONFIG_MIPS=y
32# CONFIG_MIPS_ATLAS is not set 33# CONFIG_MIPS_ATLAS is not set
33# CONFIG_MIPS_MALTA is not set 34# CONFIG_MIPS_MALTA is not set
34# CONFIG_MIPS_SEAD is not set 35# CONFIG_MIPS_SEAD is not set
36# CONFIG_WR_PPMC is not set
35# CONFIG_MIPS_SIM is not set 37# CONFIG_MIPS_SIM is not set
36# CONFIG_MOMENCO_JAGUAR_ATX is not set 38# CONFIG_MOMENCO_JAGUAR_ATX is not set
37CONFIG_MOMENCO_OCELOT=y 39CONFIG_MOMENCO_OCELOT=y
@@ -45,6 +47,7 @@ CONFIG_MOMENCO_OCELOT=y
45# CONFIG_MACH_VR41XX is not set 47# CONFIG_MACH_VR41XX is not set
46# CONFIG_PMC_YOSEMITE is not set 48# CONFIG_PMC_YOSEMITE is not set
47# CONFIG_QEMU is not set 49# CONFIG_QEMU is not set
50# CONFIG_MARKEINS is not set
48# CONFIG_SGI_IP22 is not set 51# CONFIG_SGI_IP22 is not set
49# CONFIG_SGI_IP27 is not set 52# CONFIG_SGI_IP27 is not set
50# CONFIG_SGI_IP32 is not set 53# CONFIG_SGI_IP32 is not set
@@ -65,6 +68,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y
65CONFIG_GENERIC_FIND_NEXT_BIT=y 68CONFIG_GENERIC_FIND_NEXT_BIT=y
66CONFIG_GENERIC_HWEIGHT=y 69CONFIG_GENERIC_HWEIGHT=y
67CONFIG_GENERIC_CALIBRATE_DELAY=y 70CONFIG_GENERIC_CALIBRATE_DELAY=y
71CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
68CONFIG_DMA_NONCOHERENT=y 72CONFIG_DMA_NONCOHERENT=y
69CONFIG_DMA_NEED_PCI_MAP_STATE=y 73CONFIG_DMA_NEED_PCI_MAP_STATE=y
70CONFIG_CPU_BIG_ENDIAN=y 74CONFIG_CPU_BIG_ENDIAN=y
@@ -119,7 +123,10 @@ CONFIG_PAGE_SIZE_4KB=y
119CONFIG_BOARD_SCACHE=y 123CONFIG_BOARD_SCACHE=y
120CONFIG_RM7000_CPU_SCACHE=y 124CONFIG_RM7000_CPU_SCACHE=y
121CONFIG_CPU_HAS_PREFETCH=y 125CONFIG_CPU_HAS_PREFETCH=y
122# CONFIG_MIPS_MT is not set 126CONFIG_MIPS_MT_DISABLED=y
127# CONFIG_MIPS_MT_SMTC is not set
128# CONFIG_MIPS_MT_SMP is not set
129# CONFIG_MIPS_VPE_LOADER is not set
123# CONFIG_64BIT_PHYS_ADDR is not set 130# CONFIG_64BIT_PHYS_ADDR is not set
124CONFIG_CPU_HAS_LLSC=y 131CONFIG_CPU_HAS_LLSC=y
125CONFIG_CPU_HAS_SYNC=y 132CONFIG_CPU_HAS_SYNC=y
@@ -135,6 +142,7 @@ CONFIG_FLATMEM=y
135CONFIG_FLAT_NODE_MEM_MAP=y 142CONFIG_FLAT_NODE_MEM_MAP=y
136# CONFIG_SPARSEMEM_STATIC is not set 143# CONFIG_SPARSEMEM_STATIC is not set
137CONFIG_SPLIT_PTLOCK_CPUS=4 144CONFIG_SPLIT_PTLOCK_CPUS=4
145# CONFIG_RESOURCES_64BIT is not set
138# CONFIG_HZ_48 is not set 146# CONFIG_HZ_48 is not set
139# CONFIG_HZ_100 is not set 147# CONFIG_HZ_100 is not set
140# CONFIG_HZ_128 is not set 148# CONFIG_HZ_128 is not set
@@ -147,6 +155,7 @@ CONFIG_HZ=1000
147CONFIG_PREEMPT_NONE=y 155CONFIG_PREEMPT_NONE=y
148# CONFIG_PREEMPT_VOLUNTARY is not set 156# CONFIG_PREEMPT_VOLUNTARY is not set
149# CONFIG_PREEMPT is not set 157# CONFIG_PREEMPT is not set
158CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
150 159
151# 160#
152# Code maturity level options 161# Code maturity level options
@@ -178,10 +187,12 @@ CONFIG_PRINTK=y
178CONFIG_BUG=y 187CONFIG_BUG=y
179CONFIG_ELF_CORE=y 188CONFIG_ELF_CORE=y
180CONFIG_BASE_FULL=y 189CONFIG_BASE_FULL=y
190CONFIG_RT_MUTEXES=y
181CONFIG_FUTEX=y 191CONFIG_FUTEX=y
182CONFIG_EPOLL=y 192CONFIG_EPOLL=y
183CONFIG_SHMEM=y 193CONFIG_SHMEM=y
184CONFIG_SLAB=y 194CONFIG_SLAB=y
195CONFIG_VM_EVENT_COUNTERS=y
185# CONFIG_TINY_SHMEM is not set 196# CONFIG_TINY_SHMEM is not set
186CONFIG_BASE_SMALL=0 197CONFIG_BASE_SMALL=0
187# CONFIG_SLOB is not set 198# CONFIG_SLOB is not set
@@ -265,6 +276,8 @@ CONFIG_IP_PNP_BOOTP=y
265# CONFIG_INET_IPCOMP is not set 276# CONFIG_INET_IPCOMP is not set
266# CONFIG_INET_XFRM_TUNNEL is not set 277# CONFIG_INET_XFRM_TUNNEL is not set
267# CONFIG_INET_TUNNEL is not set 278# CONFIG_INET_TUNNEL is not set
279CONFIG_INET_XFRM_MODE_TRANSPORT=y
280CONFIG_INET_XFRM_MODE_TUNNEL=y
268CONFIG_INET_DIAG=y 281CONFIG_INET_DIAG=y
269CONFIG_INET_TCP_DIAG=y 282CONFIG_INET_TCP_DIAG=y
270# CONFIG_TCP_CONG_ADVANCED is not set 283# CONFIG_TCP_CONG_ADVANCED is not set
@@ -272,6 +285,7 @@ CONFIG_TCP_CONG_BIC=y
272# CONFIG_IPV6 is not set 285# CONFIG_IPV6 is not set
273# CONFIG_INET6_XFRM_TUNNEL is not set 286# CONFIG_INET6_XFRM_TUNNEL is not set
274# CONFIG_INET6_TUNNEL is not set 287# CONFIG_INET6_TUNNEL is not set
288CONFIG_NETWORK_SECMARK=y
275# CONFIG_NETFILTER is not set 289# CONFIG_NETFILTER is not set
276 290
277# 291#
@@ -331,6 +345,7 @@ CONFIG_WIRELESS_EXT=y
331CONFIG_STANDALONE=y 345CONFIG_STANDALONE=y
332CONFIG_PREVENT_FIRMWARE_BUILD=y 346CONFIG_PREVENT_FIRMWARE_BUILD=y
333# CONFIG_FW_LOADER is not set 347# CONFIG_FW_LOADER is not set
348# CONFIG_SYS_HYPERVISOR is not set
334 349
335# 350#
336# Connector - unified userspace <-> kernelspace linker 351# Connector - unified userspace <-> kernelspace linker
@@ -416,6 +431,8 @@ CONFIG_DAVICOM_PHY=y
416CONFIG_QSEMI_PHY=y 431CONFIG_QSEMI_PHY=y
417CONFIG_LXT_PHY=y 432CONFIG_LXT_PHY=y
418CONFIG_CICADA_PHY=y 433CONFIG_CICADA_PHY=y
434CONFIG_VITESSE_PHY=y
435CONFIG_SMSC_PHY=y
419 436
420# 437#
421# Ethernet (10 or 100Mbit) 438# Ethernet (10 or 100Mbit)
@@ -504,6 +521,7 @@ CONFIG_SERIO_RAW=y
504CONFIG_VT=y 521CONFIG_VT=y
505CONFIG_VT_CONSOLE=y 522CONFIG_VT_CONSOLE=y
506CONFIG_HW_CONSOLE=y 523CONFIG_HW_CONSOLE=y
524CONFIG_VT_HW_CONSOLE_BINDING=y
507# CONFIG_SERIAL_NONSTANDARD is not set 525# CONFIG_SERIAL_NONSTANDARD is not set
508 526
509# 527#
@@ -533,6 +551,7 @@ CONFIG_LEGACY_PTY_COUNT=256
533# Watchdog Cards 551# Watchdog Cards
534# 552#
535# CONFIG_WATCHDOG is not set 553# CONFIG_WATCHDOG is not set
554# CONFIG_HW_RANDOM is not set
536# CONFIG_RTC is not set 555# CONFIG_RTC is not set
537# CONFIG_GEN_RTC is not set 556# CONFIG_GEN_RTC is not set
538# CONFIG_DTLK is not set 557# CONFIG_DTLK is not set
@@ -579,6 +598,7 @@ CONFIG_LEGACY_PTY_COUNT=256
579# Multimedia devices 598# Multimedia devices
580# 599#
581# CONFIG_VIDEO_DEV is not set 600# CONFIG_VIDEO_DEV is not set
601CONFIG_VIDEO_V4L2=y
582 602
583# 603#
584# Digital Video Broadcasting Devices 604# Digital Video Broadcasting Devices
@@ -588,6 +608,7 @@ CONFIG_LEGACY_PTY_COUNT=256
588# 608#
589# Graphics support 609# Graphics support
590# 610#
611# CONFIG_FIRMWARE_EDID is not set
591# CONFIG_FB is not set 612# CONFIG_FB is not set
592 613
593# 614#
@@ -649,6 +670,19 @@ CONFIG_DUMMY_CONSOLE=y
649# CONFIG_RTC_CLASS is not set 670# CONFIG_RTC_CLASS is not set
650 671
651# 672#
673# DMA Engine support
674#
675# CONFIG_DMA_ENGINE is not set
676
677#
678# DMA Clients
679#
680
681#
682# DMA Devices
683#
684
685#
652# File systems 686# File systems
653# 687#
654CONFIG_EXT2_FS=y 688CONFIG_EXT2_FS=y
@@ -663,6 +697,7 @@ CONFIG_EXT2_FS=y
663# CONFIG_MINIX_FS is not set 697# CONFIG_MINIX_FS is not set
664# CONFIG_ROMFS_FS is not set 698# CONFIG_ROMFS_FS is not set
665CONFIG_INOTIFY=y 699CONFIG_INOTIFY=y
700CONFIG_INOTIFY_USER=y
666# CONFIG_QUOTA is not set 701# CONFIG_QUOTA is not set
667CONFIG_DNOTIFY=y 702CONFIG_DNOTIFY=y
668# CONFIG_AUTOFS_FS is not set 703# CONFIG_AUTOFS_FS is not set
@@ -729,6 +764,7 @@ CONFIG_SUNRPC=y
729# CONFIG_RPCSEC_GSS_SPKM3 is not set 764# CONFIG_RPCSEC_GSS_SPKM3 is not set
730# CONFIG_SMB_FS is not set 765# CONFIG_SMB_FS is not set
731# CONFIG_CIFS is not set 766# CONFIG_CIFS is not set
767# CONFIG_CIFS_DEBUG2 is not set
732# CONFIG_NCP_FS is not set 768# CONFIG_NCP_FS is not set
733# CONFIG_CODA_FS is not set 769# CONFIG_CODA_FS is not set
734# CONFIG_AFS_FS is not set 770# CONFIG_AFS_FS is not set
@@ -755,6 +791,7 @@ CONFIG_MSDOS_PARTITION=y
755# 791#
756# CONFIG_PRINTK_TIME is not set 792# CONFIG_PRINTK_TIME is not set
757# CONFIG_MAGIC_SYSRQ is not set 793# CONFIG_MAGIC_SYSRQ is not set
794# CONFIG_UNUSED_SYMBOLS is not set
758# CONFIG_DEBUG_KERNEL is not set 795# CONFIG_DEBUG_KERNEL is not set
759CONFIG_LOG_BUF_SHIFT=14 796CONFIG_LOG_BUF_SHIFT=14
760# CONFIG_DEBUG_FS is not set 797# CONFIG_DEBUG_FS is not set
@@ -796,7 +833,6 @@ CONFIG_CRYPTO_ANUBIS=y
796CONFIG_CRYPTO_DEFLATE=y 833CONFIG_CRYPTO_DEFLATE=y
797CONFIG_CRYPTO_MICHAEL_MIC=y 834CONFIG_CRYPTO_MICHAEL_MIC=y
798CONFIG_CRYPTO_CRC32C=y 835CONFIG_CRYPTO_CRC32C=y
799# CONFIG_CRYPTO_TEST is not set
800 836
801# 837#
802# Hardware crypto devices 838# Hardware crypto devices
@@ -811,3 +847,4 @@ CONFIG_CRC32=y
811CONFIG_LIBCRC32C=y 847CONFIG_LIBCRC32C=y
812CONFIG_ZLIB_INFLATE=y 848CONFIG_ZLIB_INFLATE=y
813CONFIG_ZLIB_DEFLATE=y 849CONFIG_ZLIB_DEFLATE=y
850CONFIG_PLIST=y
diff --git a/arch/mips/configs/ocelot_g_defconfig b/arch/mips/configs/ocelot_g_defconfig
index c63b1ca8c8b3..827b344f6010 100644
--- a/arch/mips/configs/ocelot_g_defconfig
+++ b/arch/mips/configs/ocelot_g_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.17-rc2 3# Linux kernel version: 2.6.18-rc1
4# Mon Apr 24 14:51:11 2006 4# Thu Jul 6 10:04:16 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -21,6 +21,7 @@ CONFIG_MIPS=y
21# CONFIG_MIPS_DB1550 is not set 21# CONFIG_MIPS_DB1550 is not set
22# CONFIG_MIPS_DB1200 is not set 22# CONFIG_MIPS_DB1200 is not set
23# CONFIG_MIPS_MIRAGE is not set 23# CONFIG_MIPS_MIRAGE is not set
24# CONFIG_BASLER_EXCITE is not set
24# CONFIG_MIPS_COBALT is not set 25# CONFIG_MIPS_COBALT is not set
25# CONFIG_MACH_DECSTATION is not set 26# CONFIG_MACH_DECSTATION is not set
26# CONFIG_MIPS_EV64120 is not set 27# CONFIG_MIPS_EV64120 is not set
@@ -32,6 +33,7 @@ CONFIG_MIPS=y
32# CONFIG_MIPS_ATLAS is not set 33# CONFIG_MIPS_ATLAS is not set
33# CONFIG_MIPS_MALTA is not set 34# CONFIG_MIPS_MALTA is not set
34# CONFIG_MIPS_SEAD is not set 35# CONFIG_MIPS_SEAD is not set
36# CONFIG_WR_PPMC is not set
35# CONFIG_MIPS_SIM is not set 37# CONFIG_MIPS_SIM is not set
36# CONFIG_MOMENCO_JAGUAR_ATX is not set 38# CONFIG_MOMENCO_JAGUAR_ATX is not set
37# CONFIG_MOMENCO_OCELOT is not set 39# CONFIG_MOMENCO_OCELOT is not set
@@ -45,6 +47,7 @@ CONFIG_MOMENCO_OCELOT_G=y
45# CONFIG_MACH_VR41XX is not set 47# CONFIG_MACH_VR41XX is not set
46# CONFIG_PMC_YOSEMITE is not set 48# CONFIG_PMC_YOSEMITE is not set
47# CONFIG_QEMU is not set 49# CONFIG_QEMU is not set
50# CONFIG_MARKEINS is not set
48# CONFIG_SGI_IP22 is not set 51# CONFIG_SGI_IP22 is not set
49# CONFIG_SGI_IP27 is not set 52# CONFIG_SGI_IP27 is not set
50# CONFIG_SGI_IP32 is not set 53# CONFIG_SGI_IP32 is not set
@@ -65,6 +68,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y
65CONFIG_GENERIC_FIND_NEXT_BIT=y 68CONFIG_GENERIC_FIND_NEXT_BIT=y
66CONFIG_GENERIC_HWEIGHT=y 69CONFIG_GENERIC_HWEIGHT=y
67CONFIG_GENERIC_CALIBRATE_DELAY=y 70CONFIG_GENERIC_CALIBRATE_DELAY=y
71CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
68CONFIG_DMA_NONCOHERENT=y 72CONFIG_DMA_NONCOHERENT=y
69CONFIG_DMA_NEED_PCI_MAP_STATE=y 73CONFIG_DMA_NEED_PCI_MAP_STATE=y
70CONFIG_CPU_BIG_ENDIAN=y 74CONFIG_CPU_BIG_ENDIAN=y
@@ -119,7 +123,10 @@ CONFIG_PAGE_SIZE_4KB=y
119CONFIG_BOARD_SCACHE=y 123CONFIG_BOARD_SCACHE=y
120CONFIG_RM7000_CPU_SCACHE=y 124CONFIG_RM7000_CPU_SCACHE=y
121CONFIG_CPU_HAS_PREFETCH=y 125CONFIG_CPU_HAS_PREFETCH=y
122# CONFIG_MIPS_MT is not set 126CONFIG_MIPS_MT_DISABLED=y
127# CONFIG_MIPS_MT_SMTC is not set
128# CONFIG_MIPS_MT_SMP is not set
129# CONFIG_MIPS_VPE_LOADER is not set
123CONFIG_CPU_HAS_LLSC=y 130CONFIG_CPU_HAS_LLSC=y
124CONFIG_CPU_HAS_SYNC=y 131CONFIG_CPU_HAS_SYNC=y
125CONFIG_GENERIC_HARDIRQS=y 132CONFIG_GENERIC_HARDIRQS=y
@@ -134,6 +141,7 @@ CONFIG_FLATMEM=y
134CONFIG_FLAT_NODE_MEM_MAP=y 141CONFIG_FLAT_NODE_MEM_MAP=y
135# CONFIG_SPARSEMEM_STATIC is not set 142# CONFIG_SPARSEMEM_STATIC is not set
136CONFIG_SPLIT_PTLOCK_CPUS=4 143CONFIG_SPLIT_PTLOCK_CPUS=4
144CONFIG_RESOURCES_64BIT=y
137# CONFIG_HZ_48 is not set 145# CONFIG_HZ_48 is not set
138# CONFIG_HZ_100 is not set 146# CONFIG_HZ_100 is not set
139# CONFIG_HZ_128 is not set 147# CONFIG_HZ_128 is not set
@@ -146,6 +154,7 @@ CONFIG_HZ=1000
146CONFIG_PREEMPT_NONE=y 154CONFIG_PREEMPT_NONE=y
147# CONFIG_PREEMPT_VOLUNTARY is not set 155# CONFIG_PREEMPT_VOLUNTARY is not set
148# CONFIG_PREEMPT is not set 156# CONFIG_PREEMPT is not set
157CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
149 158
150# 159#
151# Code maturity level options 160# Code maturity level options
@@ -177,10 +186,12 @@ CONFIG_PRINTK=y
177CONFIG_BUG=y 186CONFIG_BUG=y
178CONFIG_ELF_CORE=y 187CONFIG_ELF_CORE=y
179CONFIG_BASE_FULL=y 188CONFIG_BASE_FULL=y
189CONFIG_RT_MUTEXES=y
180CONFIG_FUTEX=y 190CONFIG_FUTEX=y
181CONFIG_EPOLL=y 191CONFIG_EPOLL=y
182CONFIG_SHMEM=y 192CONFIG_SHMEM=y
183CONFIG_SLAB=y 193CONFIG_SLAB=y
194CONFIG_VM_EVENT_COUNTERS=y
184# CONFIG_TINY_SHMEM is not set 195# CONFIG_TINY_SHMEM is not set
185CONFIG_BASE_SMALL=0 196CONFIG_BASE_SMALL=0
186# CONFIG_SLOB is not set 197# CONFIG_SLOB is not set
@@ -268,6 +279,8 @@ CONFIG_IP_PNP_DHCP=y
268# CONFIG_INET_IPCOMP is not set 279# CONFIG_INET_IPCOMP is not set
269# CONFIG_INET_XFRM_TUNNEL is not set 280# CONFIG_INET_XFRM_TUNNEL is not set
270# CONFIG_INET_TUNNEL is not set 281# CONFIG_INET_TUNNEL is not set
282CONFIG_INET_XFRM_MODE_TRANSPORT=y
283CONFIG_INET_XFRM_MODE_TUNNEL=y
271CONFIG_INET_DIAG=y 284CONFIG_INET_DIAG=y
272CONFIG_INET_TCP_DIAG=y 285CONFIG_INET_TCP_DIAG=y
273# CONFIG_TCP_CONG_ADVANCED is not set 286# CONFIG_TCP_CONG_ADVANCED is not set
@@ -275,6 +288,7 @@ CONFIG_TCP_CONG_BIC=y
275# CONFIG_IPV6 is not set 288# CONFIG_IPV6 is not set
276# CONFIG_INET6_XFRM_TUNNEL is not set 289# CONFIG_INET6_XFRM_TUNNEL is not set
277# CONFIG_INET6_TUNNEL is not set 290# CONFIG_INET6_TUNNEL is not set
291CONFIG_NETWORK_SECMARK=y
278# CONFIG_NETFILTER is not set 292# CONFIG_NETFILTER is not set
279 293
280# 294#
@@ -334,6 +348,7 @@ CONFIG_WIRELESS_EXT=y
334CONFIG_STANDALONE=y 348CONFIG_STANDALONE=y
335CONFIG_PREVENT_FIRMWARE_BUILD=y 349CONFIG_PREVENT_FIRMWARE_BUILD=y
336CONFIG_FW_LOADER=y 350CONFIG_FW_LOADER=y
351# CONFIG_SYS_HYPERVISOR is not set
337 352
338# 353#
339# Connector - unified userspace <-> kernelspace linker 354# Connector - unified userspace <-> kernelspace linker
@@ -431,6 +446,8 @@ CONFIG_DAVICOM_PHY=y
431CONFIG_QSEMI_PHY=y 446CONFIG_QSEMI_PHY=y
432CONFIG_LXT_PHY=y 447CONFIG_LXT_PHY=y
433CONFIG_CICADA_PHY=y 448CONFIG_CICADA_PHY=y
449CONFIG_VITESSE_PHY=y
450CONFIG_SMSC_PHY=y
434 451
435# 452#
436# Ethernet (10 or 100Mbit) 453# Ethernet (10 or 100Mbit)
@@ -474,6 +491,7 @@ CONFIG_GALILEO_64240_ETH=y
474# CONFIG_CHELSIO_T1 is not set 491# CONFIG_CHELSIO_T1 is not set
475# CONFIG_IXGB is not set 492# CONFIG_IXGB is not set
476# CONFIG_S2IO is not set 493# CONFIG_S2IO is not set
494# CONFIG_MYRI10GE is not set
477 495
478# 496#
479# Token Ring devices 497# Token Ring devices
@@ -551,6 +569,7 @@ CONFIG_SERIO_RAW=y
551CONFIG_VT=y 569CONFIG_VT=y
552CONFIG_VT_CONSOLE=y 570CONFIG_VT_CONSOLE=y
553CONFIG_HW_CONSOLE=y 571CONFIG_HW_CONSOLE=y
572CONFIG_VT_HW_CONSOLE_BINDING=y
554# CONFIG_SERIAL_NONSTANDARD is not set 573# CONFIG_SERIAL_NONSTANDARD is not set
555 574
556# 575#
@@ -582,6 +601,7 @@ CONFIG_LEGACY_PTY_COUNT=256
582# Watchdog Cards 601# Watchdog Cards
583# 602#
584# CONFIG_WATCHDOG is not set 603# CONFIG_WATCHDOG is not set
604# CONFIG_HW_RANDOM is not set
585# CONFIG_RTC is not set 605# CONFIG_RTC is not set
586# CONFIG_GEN_RTC is not set 606# CONFIG_GEN_RTC is not set
587# CONFIG_DTLK is not set 607# CONFIG_DTLK is not set
@@ -630,6 +650,7 @@ CONFIG_LEGACY_PTY_COUNT=256
630# Multimedia devices 650# Multimedia devices
631# 651#
632# CONFIG_VIDEO_DEV is not set 652# CONFIG_VIDEO_DEV is not set
653CONFIG_VIDEO_V4L2=y
633 654
634# 655#
635# Digital Video Broadcasting Devices 656# Digital Video Broadcasting Devices
@@ -639,6 +660,7 @@ CONFIG_LEGACY_PTY_COUNT=256
639# 660#
640# Graphics support 661# Graphics support
641# 662#
663# CONFIG_FIRMWARE_EDID is not set
642# CONFIG_FB is not set 664# CONFIG_FB is not set
643 665
644# 666#
@@ -702,6 +724,19 @@ CONFIG_USB_ARCH_HAS_EHCI=y
702# CONFIG_RTC_CLASS is not set 724# CONFIG_RTC_CLASS is not set
703 725
704# 726#
727# DMA Engine support
728#
729# CONFIG_DMA_ENGINE is not set
730
731#
732# DMA Clients
733#
734
735#
736# DMA Devices
737#
738
739#
705# File systems 740# File systems
706# 741#
707CONFIG_EXT2_FS=y 742CONFIG_EXT2_FS=y
@@ -716,6 +751,7 @@ CONFIG_EXT2_FS=y
716# CONFIG_MINIX_FS is not set 751# CONFIG_MINIX_FS is not set
717# CONFIG_ROMFS_FS is not set 752# CONFIG_ROMFS_FS is not set
718CONFIG_INOTIFY=y 753CONFIG_INOTIFY=y
754CONFIG_INOTIFY_USER=y
719# CONFIG_QUOTA is not set 755# CONFIG_QUOTA is not set
720CONFIG_DNOTIFY=y 756CONFIG_DNOTIFY=y
721# CONFIG_AUTOFS_FS is not set 757# CONFIG_AUTOFS_FS is not set
@@ -782,6 +818,7 @@ CONFIG_SUNRPC=y
782# CONFIG_RPCSEC_GSS_SPKM3 is not set 818# CONFIG_RPCSEC_GSS_SPKM3 is not set
783# CONFIG_SMB_FS is not set 819# CONFIG_SMB_FS is not set
784# CONFIG_CIFS is not set 820# CONFIG_CIFS is not set
821# CONFIG_CIFS_DEBUG2 is not set
785# CONFIG_NCP_FS is not set 822# CONFIG_NCP_FS is not set
786# CONFIG_CODA_FS is not set 823# CONFIG_CODA_FS is not set
787# CONFIG_AFS_FS is not set 824# CONFIG_AFS_FS is not set
@@ -808,6 +845,7 @@ CONFIG_MSDOS_PARTITION=y
808# 845#
809# CONFIG_PRINTK_TIME is not set 846# CONFIG_PRINTK_TIME is not set
810# CONFIG_MAGIC_SYSRQ is not set 847# CONFIG_MAGIC_SYSRQ is not set
848# CONFIG_UNUSED_SYMBOLS is not set
811# CONFIG_DEBUG_KERNEL is not set 849# CONFIG_DEBUG_KERNEL is not set
812CONFIG_LOG_BUF_SHIFT=14 850CONFIG_LOG_BUF_SHIFT=14
813# CONFIG_DEBUG_FS is not set 851# CONFIG_DEBUG_FS is not set
@@ -849,7 +887,6 @@ CONFIG_CRYPTO_ANUBIS=y
849CONFIG_CRYPTO_DEFLATE=y 887CONFIG_CRYPTO_DEFLATE=y
850CONFIG_CRYPTO_MICHAEL_MIC=y 888CONFIG_CRYPTO_MICHAEL_MIC=y
851CONFIG_CRYPTO_CRC32C=y 889CONFIG_CRYPTO_CRC32C=y
852# CONFIG_CRYPTO_TEST is not set
853 890
854# 891#
855# Hardware crypto devices 892# Hardware crypto devices
@@ -864,3 +901,4 @@ CONFIG_CRC32=y
864CONFIG_LIBCRC32C=y 901CONFIG_LIBCRC32C=y
865CONFIG_ZLIB_INFLATE=y 902CONFIG_ZLIB_INFLATE=y
866CONFIG_ZLIB_DEFLATE=y 903CONFIG_ZLIB_DEFLATE=y
904CONFIG_PLIST=y
diff --git a/arch/mips/configs/pb1100_defconfig b/arch/mips/configs/pb1100_defconfig
index 6f5c7261e9de..9ed60fef69e0 100644
--- a/arch/mips/configs/pb1100_defconfig
+++ b/arch/mips/configs/pb1100_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.17-rc2 3# Linux kernel version: 2.6.18-rc1
4# Mon Apr 24 14:51:12 2006 4# Thu Jul 6 10:04:17 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -21,6 +21,7 @@ CONFIG_MIPS_PB1100=y
21# CONFIG_MIPS_DB1550 is not set 21# CONFIG_MIPS_DB1550 is not set
22# CONFIG_MIPS_DB1200 is not set 22# CONFIG_MIPS_DB1200 is not set
23# CONFIG_MIPS_MIRAGE is not set 23# CONFIG_MIPS_MIRAGE is not set
24# CONFIG_BASLER_EXCITE is not set
24# CONFIG_MIPS_COBALT is not set 25# CONFIG_MIPS_COBALT is not set
25# CONFIG_MACH_DECSTATION is not set 26# CONFIG_MACH_DECSTATION is not set
26# CONFIG_MIPS_EV64120 is not set 27# CONFIG_MIPS_EV64120 is not set
@@ -32,6 +33,7 @@ CONFIG_MIPS_PB1100=y
32# CONFIG_MIPS_ATLAS is not set 33# CONFIG_MIPS_ATLAS is not set
33# CONFIG_MIPS_MALTA is not set 34# CONFIG_MIPS_MALTA is not set
34# CONFIG_MIPS_SEAD is not set 35# CONFIG_MIPS_SEAD is not set
36# CONFIG_WR_PPMC is not set
35# CONFIG_MIPS_SIM is not set 37# CONFIG_MIPS_SIM is not set
36# CONFIG_MOMENCO_JAGUAR_ATX is not set 38# CONFIG_MOMENCO_JAGUAR_ATX is not set
37# CONFIG_MOMENCO_OCELOT is not set 39# CONFIG_MOMENCO_OCELOT is not set
@@ -45,6 +47,7 @@ CONFIG_MIPS_PB1100=y
45# CONFIG_MACH_VR41XX is not set 47# CONFIG_MACH_VR41XX is not set
46# CONFIG_PMC_YOSEMITE is not set 48# CONFIG_PMC_YOSEMITE is not set
47# CONFIG_QEMU is not set 49# CONFIG_QEMU is not set
50# CONFIG_MARKEINS is not set
48# CONFIG_SGI_IP22 is not set 51# CONFIG_SGI_IP22 is not set
49# CONFIG_SGI_IP27 is not set 52# CONFIG_SGI_IP27 is not set
50# CONFIG_SGI_IP32 is not set 53# CONFIG_SGI_IP32 is not set
@@ -65,6 +68,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y
65CONFIG_GENERIC_FIND_NEXT_BIT=y 68CONFIG_GENERIC_FIND_NEXT_BIT=y
66CONFIG_GENERIC_HWEIGHT=y 69CONFIG_GENERIC_HWEIGHT=y
67CONFIG_GENERIC_CALIBRATE_DELAY=y 70CONFIG_GENERIC_CALIBRATE_DELAY=y
71CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
68CONFIG_DMA_NONCOHERENT=y 72CONFIG_DMA_NONCOHERENT=y
69CONFIG_DMA_NEED_PCI_MAP_STATE=y 73CONFIG_DMA_NEED_PCI_MAP_STATE=y
70# CONFIG_CPU_BIG_ENDIAN is not set 74# CONFIG_CPU_BIG_ENDIAN is not set
@@ -114,7 +118,10 @@ CONFIG_PAGE_SIZE_4KB=y
114# CONFIG_PAGE_SIZE_16KB is not set 118# CONFIG_PAGE_SIZE_16KB is not set
115# CONFIG_PAGE_SIZE_64KB is not set 119# CONFIG_PAGE_SIZE_64KB is not set
116CONFIG_CPU_HAS_PREFETCH=y 120CONFIG_CPU_HAS_PREFETCH=y
117# CONFIG_MIPS_MT is not set 121CONFIG_MIPS_MT_DISABLED=y
122# CONFIG_MIPS_MT_SMTC is not set
123# CONFIG_MIPS_MT_SMP is not set
124# CONFIG_MIPS_VPE_LOADER is not set
118CONFIG_64BIT_PHYS_ADDR=y 125CONFIG_64BIT_PHYS_ADDR=y
119CONFIG_CPU_HAS_LLSC=y 126CONFIG_CPU_HAS_LLSC=y
120CONFIG_CPU_HAS_SYNC=y 127CONFIG_CPU_HAS_SYNC=y
@@ -130,6 +137,7 @@ CONFIG_FLATMEM=y
130CONFIG_FLAT_NODE_MEM_MAP=y 137CONFIG_FLAT_NODE_MEM_MAP=y
131# CONFIG_SPARSEMEM_STATIC is not set 138# CONFIG_SPARSEMEM_STATIC is not set
132CONFIG_SPLIT_PTLOCK_CPUS=4 139CONFIG_SPLIT_PTLOCK_CPUS=4
140# CONFIG_RESOURCES_64BIT is not set
133# CONFIG_HZ_48 is not set 141# CONFIG_HZ_48 is not set
134# CONFIG_HZ_100 is not set 142# CONFIG_HZ_100 is not set
135# CONFIG_HZ_128 is not set 143# CONFIG_HZ_128 is not set
@@ -142,6 +150,7 @@ CONFIG_HZ=1000
142CONFIG_PREEMPT_NONE=y 150CONFIG_PREEMPT_NONE=y
143# CONFIG_PREEMPT_VOLUNTARY is not set 151# CONFIG_PREEMPT_VOLUNTARY is not set
144# CONFIG_PREEMPT is not set 152# CONFIG_PREEMPT is not set
153CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
145 154
146# 155#
147# Code maturity level options 156# Code maturity level options
@@ -173,14 +182,15 @@ CONFIG_PRINTK=y
173CONFIG_BUG=y 182CONFIG_BUG=y
174CONFIG_ELF_CORE=y 183CONFIG_ELF_CORE=y
175CONFIG_BASE_FULL=y 184CONFIG_BASE_FULL=y
185CONFIG_RT_MUTEXES=y
176CONFIG_FUTEX=y 186CONFIG_FUTEX=y
177CONFIG_EPOLL=y 187CONFIG_EPOLL=y
178CONFIG_SHMEM=y 188CONFIG_SHMEM=y
179CONFIG_SLAB=y 189CONFIG_SLAB=y
190CONFIG_VM_EVENT_COUNTERS=y
180# CONFIG_TINY_SHMEM is not set 191# CONFIG_TINY_SHMEM is not set
181CONFIG_BASE_SMALL=0 192CONFIG_BASE_SMALL=0
182# CONFIG_SLOB is not set 193# CONFIG_SLOB is not set
183CONFIG_OBSOLETE_INTERMODULE=y
184 194
185# 195#
186# Loadable module support 196# Loadable module support
@@ -278,6 +288,8 @@ CONFIG_IP_PNP_BOOTP=y
278# CONFIG_INET_IPCOMP is not set 288# CONFIG_INET_IPCOMP is not set
279# CONFIG_INET_XFRM_TUNNEL is not set 289# CONFIG_INET_XFRM_TUNNEL is not set
280# CONFIG_INET_TUNNEL is not set 290# CONFIG_INET_TUNNEL is not set
291CONFIG_INET_XFRM_MODE_TRANSPORT=m
292CONFIG_INET_XFRM_MODE_TUNNEL=m
281CONFIG_INET_DIAG=y 293CONFIG_INET_DIAG=y
282CONFIG_INET_TCP_DIAG=y 294CONFIG_INET_TCP_DIAG=y
283# CONFIG_TCP_CONG_ADVANCED is not set 295# CONFIG_TCP_CONG_ADVANCED is not set
@@ -290,6 +302,7 @@ CONFIG_TCP_CONG_BIC=y
290# CONFIG_IPV6 is not set 302# CONFIG_IPV6 is not set
291# CONFIG_INET6_XFRM_TUNNEL is not set 303# CONFIG_INET6_XFRM_TUNNEL is not set
292# CONFIG_INET6_TUNNEL is not set 304# CONFIG_INET6_TUNNEL is not set
305CONFIG_NETWORK_SECMARK=y
293CONFIG_NETFILTER=y 306CONFIG_NETFILTER=y
294# CONFIG_NETFILTER_DEBUG is not set 307# CONFIG_NETFILTER_DEBUG is not set
295 308
@@ -304,6 +317,7 @@ CONFIG_NETFILTER_XTABLES=m
304CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m 317CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
305CONFIG_NETFILTER_XT_TARGET_MARK=m 318CONFIG_NETFILTER_XT_TARGET_MARK=m
306CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m 319CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
320CONFIG_NETFILTER_XT_TARGET_SECMARK=m
307CONFIG_NETFILTER_XT_MATCH_COMMENT=m 321CONFIG_NETFILTER_XT_MATCH_COMMENT=m
308CONFIG_NETFILTER_XT_MATCH_DCCP=m 322CONFIG_NETFILTER_XT_MATCH_DCCP=m
309CONFIG_NETFILTER_XT_MATCH_ESP=m 323CONFIG_NETFILTER_XT_MATCH_ESP=m
@@ -314,8 +328,10 @@ CONFIG_NETFILTER_XT_MATCH_MARK=m
314CONFIG_NETFILTER_XT_MATCH_POLICY=m 328CONFIG_NETFILTER_XT_MATCH_POLICY=m
315CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m 329CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
316CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m 330CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
331CONFIG_NETFILTER_XT_MATCH_QUOTA=m
317CONFIG_NETFILTER_XT_MATCH_REALM=m 332CONFIG_NETFILTER_XT_MATCH_REALM=m
318CONFIG_NETFILTER_XT_MATCH_SCTP=m 333CONFIG_NETFILTER_XT_MATCH_SCTP=m
334CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
319CONFIG_NETFILTER_XT_MATCH_STRING=m 335CONFIG_NETFILTER_XT_MATCH_STRING=m
320CONFIG_NETFILTER_XT_MATCH_TCPMSS=m 336CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
321 337
@@ -385,6 +401,7 @@ CONFIG_WIRELESS_EXT=y
385CONFIG_STANDALONE=y 401CONFIG_STANDALONE=y
386CONFIG_PREVENT_FIRMWARE_BUILD=y 402CONFIG_PREVENT_FIRMWARE_BUILD=y
387CONFIG_FW_LOADER=m 403CONFIG_FW_LOADER=m
404# CONFIG_SYS_HYPERVISOR is not set
388 405
389# 406#
390# Connector - unified userspace <-> kernelspace linker 407# Connector - unified userspace <-> kernelspace linker
@@ -544,6 +561,8 @@ CONFIG_DAVICOM_PHY=m
544CONFIG_QSEMI_PHY=m 561CONFIG_QSEMI_PHY=m
545CONFIG_LXT_PHY=m 562CONFIG_LXT_PHY=m
546CONFIG_CICADA_PHY=m 563CONFIG_CICADA_PHY=m
564CONFIG_VITESSE_PHY=m
565CONFIG_SMSC_PHY=m
547 566
548# 567#
549# Ethernet (10 or 100Mbit) 568# Ethernet (10 or 100Mbit)
@@ -647,6 +666,7 @@ CONFIG_SERIO_RAW=m
647CONFIG_VT=y 666CONFIG_VT=y
648CONFIG_VT_CONSOLE=y 667CONFIG_VT_CONSOLE=y
649CONFIG_HW_CONSOLE=y 668CONFIG_HW_CONSOLE=y
669CONFIG_VT_HW_CONSOLE_BINDING=y
650# CONFIG_SERIAL_NONSTANDARD is not set 670# CONFIG_SERIAL_NONSTANDARD is not set
651# CONFIG_AU1X00_GPIO is not set 671# CONFIG_AU1X00_GPIO is not set
652# CONFIG_TS_AU1X00_ADS7846 is not set 672# CONFIG_TS_AU1X00_ADS7846 is not set
@@ -680,6 +700,7 @@ CONFIG_LEGACY_PTY_COUNT=256
680# Watchdog Cards 700# Watchdog Cards
681# 701#
682# CONFIG_WATCHDOG is not set 702# CONFIG_WATCHDOG is not set
703# CONFIG_HW_RANDOM is not set
683# CONFIG_RTC is not set 704# CONFIG_RTC is not set
684# CONFIG_GEN_RTC is not set 705# CONFIG_GEN_RTC is not set
685# CONFIG_DTLK is not set 706# CONFIG_DTLK is not set
@@ -733,6 +754,7 @@ CONFIG_SYNCLINK_CS=m
733# Multimedia devices 754# Multimedia devices
734# 755#
735# CONFIG_VIDEO_DEV is not set 756# CONFIG_VIDEO_DEV is not set
757CONFIG_VIDEO_V4L2=y
736 758
737# 759#
738# Digital Video Broadcasting Devices 760# Digital Video Broadcasting Devices
@@ -742,6 +764,7 @@ CONFIG_SYNCLINK_CS=m
742# 764#
743# Graphics support 765# Graphics support
744# 766#
767# CONFIG_FIRMWARE_EDID is not set
745# CONFIG_FB is not set 768# CONFIG_FB is not set
746 769
747# 770#
@@ -804,6 +827,19 @@ CONFIG_USB_ARCH_HAS_OHCI=y
804# CONFIG_RTC_CLASS is not set 827# CONFIG_RTC_CLASS is not set
805 828
806# 829#
830# DMA Engine support
831#
832# CONFIG_DMA_ENGINE is not set
833
834#
835# DMA Clients
836#
837
838#
839# DMA Devices
840#
841
842#
807# File systems 843# File systems
808# 844#
809CONFIG_EXT2_FS=y 845CONFIG_EXT2_FS=y
@@ -831,6 +867,7 @@ CONFIG_FS_POSIX_ACL=y
831# CONFIG_MINIX_FS is not set 867# CONFIG_MINIX_FS is not set
832# CONFIG_ROMFS_FS is not set 868# CONFIG_ROMFS_FS is not set
833CONFIG_INOTIFY=y 869CONFIG_INOTIFY=y
870CONFIG_INOTIFY_USER=y
834# CONFIG_QUOTA is not set 871# CONFIG_QUOTA is not set
835CONFIG_DNOTIFY=y 872CONFIG_DNOTIFY=y
836CONFIG_AUTOFS_FS=m 873CONFIG_AUTOFS_FS=m
@@ -900,6 +937,7 @@ CONFIG_SUNRPC=y
900CONFIG_SMB_FS=m 937CONFIG_SMB_FS=m
901# CONFIG_SMB_NLS_DEFAULT is not set 938# CONFIG_SMB_NLS_DEFAULT is not set
902# CONFIG_CIFS is not set 939# CONFIG_CIFS is not set
940# CONFIG_CIFS_DEBUG2 is not set
903# CONFIG_NCP_FS is not set 941# CONFIG_NCP_FS is not set
904# CONFIG_CODA_FS is not set 942# CONFIG_CODA_FS is not set
905# CONFIG_AFS_FS is not set 943# CONFIG_AFS_FS is not set
@@ -965,6 +1003,7 @@ CONFIG_NLS_DEFAULT="iso8859-1"
965# 1003#
966# CONFIG_PRINTK_TIME is not set 1004# CONFIG_PRINTK_TIME is not set
967# CONFIG_MAGIC_SYSRQ is not set 1005# CONFIG_MAGIC_SYSRQ is not set
1006# CONFIG_UNUSED_SYMBOLS is not set
968# CONFIG_DEBUG_KERNEL is not set 1007# CONFIG_DEBUG_KERNEL is not set
969CONFIG_LOG_BUF_SHIFT=14 1008CONFIG_LOG_BUF_SHIFT=14
970# CONFIG_DEBUG_FS is not set 1009# CONFIG_DEBUG_FS is not set
@@ -1024,3 +1063,4 @@ CONFIG_TEXTSEARCH=y
1024CONFIG_TEXTSEARCH_KMP=m 1063CONFIG_TEXTSEARCH_KMP=m
1025CONFIG_TEXTSEARCH_BM=m 1064CONFIG_TEXTSEARCH_BM=m
1026CONFIG_TEXTSEARCH_FSM=m 1065CONFIG_TEXTSEARCH_FSM=m
1066CONFIG_PLIST=y
diff --git a/arch/mips/configs/pb1500_defconfig b/arch/mips/configs/pb1500_defconfig
index 5676f3747fd5..6774254b1be6 100644
--- a/arch/mips/configs/pb1500_defconfig
+++ b/arch/mips/configs/pb1500_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.17-rc2 3# Linux kernel version: 2.6.18-rc1
4# Mon Apr 24 14:51:13 2006 4# Thu Jul 6 10:04:17 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -21,6 +21,7 @@ CONFIG_MIPS_PB1500=y
21# CONFIG_MIPS_DB1550 is not set 21# CONFIG_MIPS_DB1550 is not set
22# CONFIG_MIPS_DB1200 is not set 22# CONFIG_MIPS_DB1200 is not set
23# CONFIG_MIPS_MIRAGE is not set 23# CONFIG_MIPS_MIRAGE is not set
24# CONFIG_BASLER_EXCITE is not set
24# CONFIG_MIPS_COBALT is not set 25# CONFIG_MIPS_COBALT is not set
25# CONFIG_MACH_DECSTATION is not set 26# CONFIG_MACH_DECSTATION is not set
26# CONFIG_MIPS_EV64120 is not set 27# CONFIG_MIPS_EV64120 is not set
@@ -32,6 +33,7 @@ CONFIG_MIPS_PB1500=y
32# CONFIG_MIPS_ATLAS is not set 33# CONFIG_MIPS_ATLAS is not set
33# CONFIG_MIPS_MALTA is not set 34# CONFIG_MIPS_MALTA is not set
34# CONFIG_MIPS_SEAD is not set 35# CONFIG_MIPS_SEAD is not set
36# CONFIG_WR_PPMC is not set
35# CONFIG_MIPS_SIM is not set 37# CONFIG_MIPS_SIM is not set
36# CONFIG_MOMENCO_JAGUAR_ATX is not set 38# CONFIG_MOMENCO_JAGUAR_ATX is not set
37# CONFIG_MOMENCO_OCELOT is not set 39# CONFIG_MOMENCO_OCELOT is not set
@@ -45,6 +47,7 @@ CONFIG_MIPS_PB1500=y
45# CONFIG_MACH_VR41XX is not set 47# CONFIG_MACH_VR41XX is not set
46# CONFIG_PMC_YOSEMITE is not set 48# CONFIG_PMC_YOSEMITE is not set
47# CONFIG_QEMU is not set 49# CONFIG_QEMU is not set
50# CONFIG_MARKEINS is not set
48# CONFIG_SGI_IP22 is not set 51# CONFIG_SGI_IP22 is not set
49# CONFIG_SGI_IP27 is not set 52# CONFIG_SGI_IP27 is not set
50# CONFIG_SGI_IP32 is not set 53# CONFIG_SGI_IP32 is not set
@@ -65,6 +68,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y
65CONFIG_GENERIC_FIND_NEXT_BIT=y 68CONFIG_GENERIC_FIND_NEXT_BIT=y
66CONFIG_GENERIC_HWEIGHT=y 69CONFIG_GENERIC_HWEIGHT=y
67CONFIG_GENERIC_CALIBRATE_DELAY=y 70CONFIG_GENERIC_CALIBRATE_DELAY=y
71CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
68CONFIG_DMA_NONCOHERENT=y 72CONFIG_DMA_NONCOHERENT=y
69CONFIG_DMA_NEED_PCI_MAP_STATE=y 73CONFIG_DMA_NEED_PCI_MAP_STATE=y
70# CONFIG_CPU_BIG_ENDIAN is not set 74# CONFIG_CPU_BIG_ENDIAN is not set
@@ -113,7 +117,10 @@ CONFIG_PAGE_SIZE_4KB=y
113# CONFIG_PAGE_SIZE_16KB is not set 117# CONFIG_PAGE_SIZE_16KB is not set
114# CONFIG_PAGE_SIZE_64KB is not set 118# CONFIG_PAGE_SIZE_64KB is not set
115CONFIG_CPU_HAS_PREFETCH=y 119CONFIG_CPU_HAS_PREFETCH=y
116# CONFIG_MIPS_MT is not set 120CONFIG_MIPS_MT_DISABLED=y
121# CONFIG_MIPS_MT_SMTC is not set
122# CONFIG_MIPS_MT_SMP is not set
123# CONFIG_MIPS_VPE_LOADER is not set
117CONFIG_64BIT_PHYS_ADDR=y 124CONFIG_64BIT_PHYS_ADDR=y
118CONFIG_CPU_HAS_LLSC=y 125CONFIG_CPU_HAS_LLSC=y
119CONFIG_CPU_HAS_SYNC=y 126CONFIG_CPU_HAS_SYNC=y
@@ -129,6 +136,7 @@ CONFIG_FLATMEM=y
129CONFIG_FLAT_NODE_MEM_MAP=y 136CONFIG_FLAT_NODE_MEM_MAP=y
130# CONFIG_SPARSEMEM_STATIC is not set 137# CONFIG_SPARSEMEM_STATIC is not set
131CONFIG_SPLIT_PTLOCK_CPUS=4 138CONFIG_SPLIT_PTLOCK_CPUS=4
139# CONFIG_RESOURCES_64BIT is not set
132# CONFIG_HZ_48 is not set 140# CONFIG_HZ_48 is not set
133# CONFIG_HZ_100 is not set 141# CONFIG_HZ_100 is not set
134# CONFIG_HZ_128 is not set 142# CONFIG_HZ_128 is not set
@@ -141,6 +149,7 @@ CONFIG_HZ=1000
141CONFIG_PREEMPT_NONE=y 149CONFIG_PREEMPT_NONE=y
142# CONFIG_PREEMPT_VOLUNTARY is not set 150# CONFIG_PREEMPT_VOLUNTARY is not set
143# CONFIG_PREEMPT is not set 151# CONFIG_PREEMPT is not set
152CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
144 153
145# 154#
146# Code maturity level options 155# Code maturity level options
@@ -172,14 +181,15 @@ CONFIG_PRINTK=y
172CONFIG_BUG=y 181CONFIG_BUG=y
173CONFIG_ELF_CORE=y 182CONFIG_ELF_CORE=y
174CONFIG_BASE_FULL=y 183CONFIG_BASE_FULL=y
184CONFIG_RT_MUTEXES=y
175CONFIG_FUTEX=y 185CONFIG_FUTEX=y
176CONFIG_EPOLL=y 186CONFIG_EPOLL=y
177CONFIG_SHMEM=y 187CONFIG_SHMEM=y
178CONFIG_SLAB=y 188CONFIG_SLAB=y
189CONFIG_VM_EVENT_COUNTERS=y
179# CONFIG_TINY_SHMEM is not set 190# CONFIG_TINY_SHMEM is not set
180CONFIG_BASE_SMALL=0 191CONFIG_BASE_SMALL=0
181# CONFIG_SLOB is not set 192# CONFIG_SLOB is not set
182CONFIG_OBSOLETE_INTERMODULE=y
183 193
184# 194#
185# Loadable module support 195# Loadable module support
@@ -283,6 +293,8 @@ CONFIG_IP_PNP_BOOTP=y
283# CONFIG_INET_IPCOMP is not set 293# CONFIG_INET_IPCOMP is not set
284# CONFIG_INET_XFRM_TUNNEL is not set 294# CONFIG_INET_XFRM_TUNNEL is not set
285# CONFIG_INET_TUNNEL is not set 295# CONFIG_INET_TUNNEL is not set
296CONFIG_INET_XFRM_MODE_TRANSPORT=m
297CONFIG_INET_XFRM_MODE_TUNNEL=m
286CONFIG_INET_DIAG=y 298CONFIG_INET_DIAG=y
287CONFIG_INET_TCP_DIAG=y 299CONFIG_INET_TCP_DIAG=y
288# CONFIG_TCP_CONG_ADVANCED is not set 300# CONFIG_TCP_CONG_ADVANCED is not set
@@ -295,6 +307,7 @@ CONFIG_TCP_CONG_BIC=y
295# CONFIG_IPV6 is not set 307# CONFIG_IPV6 is not set
296# CONFIG_INET6_XFRM_TUNNEL is not set 308# CONFIG_INET6_XFRM_TUNNEL is not set
297# CONFIG_INET6_TUNNEL is not set 309# CONFIG_INET6_TUNNEL is not set
310CONFIG_NETWORK_SECMARK=y
298CONFIG_NETFILTER=y 311CONFIG_NETFILTER=y
299# CONFIG_NETFILTER_DEBUG is not set 312# CONFIG_NETFILTER_DEBUG is not set
300 313
@@ -309,6 +322,7 @@ CONFIG_NETFILTER_XTABLES=m
309CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m 322CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
310CONFIG_NETFILTER_XT_TARGET_MARK=m 323CONFIG_NETFILTER_XT_TARGET_MARK=m
311CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m 324CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
325CONFIG_NETFILTER_XT_TARGET_SECMARK=m
312CONFIG_NETFILTER_XT_MATCH_COMMENT=m 326CONFIG_NETFILTER_XT_MATCH_COMMENT=m
313CONFIG_NETFILTER_XT_MATCH_DCCP=m 327CONFIG_NETFILTER_XT_MATCH_DCCP=m
314CONFIG_NETFILTER_XT_MATCH_ESP=m 328CONFIG_NETFILTER_XT_MATCH_ESP=m
@@ -319,8 +333,10 @@ CONFIG_NETFILTER_XT_MATCH_MARK=m
319CONFIG_NETFILTER_XT_MATCH_POLICY=m 333CONFIG_NETFILTER_XT_MATCH_POLICY=m
320CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m 334CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
321CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m 335CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
336CONFIG_NETFILTER_XT_MATCH_QUOTA=m
322CONFIG_NETFILTER_XT_MATCH_REALM=m 337CONFIG_NETFILTER_XT_MATCH_REALM=m
323CONFIG_NETFILTER_XT_MATCH_SCTP=m 338CONFIG_NETFILTER_XT_MATCH_SCTP=m
339CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
324CONFIG_NETFILTER_XT_MATCH_STRING=m 340CONFIG_NETFILTER_XT_MATCH_STRING=m
325CONFIG_NETFILTER_XT_MATCH_TCPMSS=m 341CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
326 342
@@ -390,6 +406,7 @@ CONFIG_WIRELESS_EXT=y
390CONFIG_STANDALONE=y 406CONFIG_STANDALONE=y
391CONFIG_PREVENT_FIRMWARE_BUILD=y 407CONFIG_PREVENT_FIRMWARE_BUILD=y
392CONFIG_FW_LOADER=m 408CONFIG_FW_LOADER=m
409# CONFIG_SYS_HYPERVISOR is not set
393 410
394# 411#
395# Connector - unified userspace <-> kernelspace linker 412# Connector - unified userspace <-> kernelspace linker
@@ -604,7 +621,7 @@ CONFIG_NETDEVICES=y
604# 621#
605# PHY device support 622# PHY device support
606# 623#
607CONFIG_PHYLIB=m 624CONFIG_PHYLIB=y
608 625
609# 626#
610# MII PHY device drivers 627# MII PHY device drivers
@@ -614,6 +631,8 @@ CONFIG_DAVICOM_PHY=m
614CONFIG_QSEMI_PHY=m 631CONFIG_QSEMI_PHY=m
615CONFIG_LXT_PHY=m 632CONFIG_LXT_PHY=m
616CONFIG_CICADA_PHY=m 633CONFIG_CICADA_PHY=m
634CONFIG_VITESSE_PHY=m
635CONFIG_SMSC_PHY=m
617 636
618# 637#
619# Ethernet (10 or 100Mbit) 638# Ethernet (10 or 100Mbit)
@@ -658,6 +677,7 @@ CONFIG_MIPS_AU1X00_ENET=y
658# CONFIG_CHELSIO_T1 is not set 677# CONFIG_CHELSIO_T1 is not set
659# CONFIG_IXGB is not set 678# CONFIG_IXGB is not set
660# CONFIG_S2IO is not set 679# CONFIG_S2IO is not set
680# CONFIG_MYRI10GE is not set
661 681
662# 682#
663# Token Ring devices 683# Token Ring devices
@@ -789,6 +809,7 @@ CONFIG_LEGACY_PTY_COUNT=256
789# Watchdog Cards 809# Watchdog Cards
790# 810#
791# CONFIG_WATCHDOG is not set 811# CONFIG_WATCHDOG is not set
812# CONFIG_HW_RANDOM is not set
792# CONFIG_RTC is not set 813# CONFIG_RTC is not set
793# CONFIG_GEN_RTC is not set 814# CONFIG_GEN_RTC is not set
794# CONFIG_DTLK is not set 815# CONFIG_DTLK is not set
@@ -844,6 +865,7 @@ CONFIG_SYNCLINK_CS=m
844# Multimedia devices 865# Multimedia devices
845# 866#
846# CONFIG_VIDEO_DEV is not set 867# CONFIG_VIDEO_DEV is not set
868CONFIG_VIDEO_V4L2=y
847 869
848# 870#
849# Digital Video Broadcasting Devices 871# Digital Video Broadcasting Devices
@@ -853,6 +875,7 @@ CONFIG_SYNCLINK_CS=m
853# 875#
854# Graphics support 876# Graphics support
855# 877#
878# CONFIG_FIRMWARE_EDID is not set
856# CONFIG_FB is not set 879# CONFIG_FB is not set
857 880
858# 881#
@@ -910,6 +933,19 @@ CONFIG_USB_ARCH_HAS_EHCI=y
910# CONFIG_RTC_CLASS is not set 933# CONFIG_RTC_CLASS is not set
911 934
912# 935#
936# DMA Engine support
937#
938# CONFIG_DMA_ENGINE is not set
939
940#
941# DMA Clients
942#
943
944#
945# DMA Devices
946#
947
948#
913# File systems 949# File systems
914# 950#
915CONFIG_EXT2_FS=y 951CONFIG_EXT2_FS=y
@@ -937,6 +973,7 @@ CONFIG_FS_POSIX_ACL=y
937# CONFIG_MINIX_FS is not set 973# CONFIG_MINIX_FS is not set
938# CONFIG_ROMFS_FS is not set 974# CONFIG_ROMFS_FS is not set
939CONFIG_INOTIFY=y 975CONFIG_INOTIFY=y
976CONFIG_INOTIFY_USER=y
940# CONFIG_QUOTA is not set 977# CONFIG_QUOTA is not set
941CONFIG_DNOTIFY=y 978CONFIG_DNOTIFY=y
942CONFIG_AUTOFS_FS=m 979CONFIG_AUTOFS_FS=m
@@ -1006,6 +1043,7 @@ CONFIG_SUNRPC=y
1006CONFIG_SMB_FS=m 1043CONFIG_SMB_FS=m
1007# CONFIG_SMB_NLS_DEFAULT is not set 1044# CONFIG_SMB_NLS_DEFAULT is not set
1008# CONFIG_CIFS is not set 1045# CONFIG_CIFS is not set
1046# CONFIG_CIFS_DEBUG2 is not set
1009# CONFIG_NCP_FS is not set 1047# CONFIG_NCP_FS is not set
1010# CONFIG_CODA_FS is not set 1048# CONFIG_CODA_FS is not set
1011# CONFIG_AFS_FS is not set 1049# CONFIG_AFS_FS is not set
@@ -1071,6 +1109,7 @@ CONFIG_NLS_DEFAULT="iso8859-1"
1071# 1109#
1072# CONFIG_PRINTK_TIME is not set 1110# CONFIG_PRINTK_TIME is not set
1073# CONFIG_MAGIC_SYSRQ is not set 1111# CONFIG_MAGIC_SYSRQ is not set
1112# CONFIG_UNUSED_SYMBOLS is not set
1074# CONFIG_DEBUG_KERNEL is not set 1113# CONFIG_DEBUG_KERNEL is not set
1075CONFIG_LOG_BUF_SHIFT=14 1114CONFIG_LOG_BUF_SHIFT=14
1076# CONFIG_DEBUG_FS is not set 1115# CONFIG_DEBUG_FS is not set
@@ -1130,3 +1169,4 @@ CONFIG_TEXTSEARCH=y
1130CONFIG_TEXTSEARCH_KMP=m 1169CONFIG_TEXTSEARCH_KMP=m
1131CONFIG_TEXTSEARCH_BM=m 1170CONFIG_TEXTSEARCH_BM=m
1132CONFIG_TEXTSEARCH_FSM=m 1171CONFIG_TEXTSEARCH_FSM=m
1172CONFIG_PLIST=y
diff --git a/arch/mips/configs/pb1550_defconfig b/arch/mips/configs/pb1550_defconfig
index a1c479fa613b..1afe5bf6e765 100644
--- a/arch/mips/configs/pb1550_defconfig
+++ b/arch/mips/configs/pb1550_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.17-rc2 3# Linux kernel version: 2.6.18-rc1
4# Mon Apr 24 14:51:13 2006 4# Thu Jul 6 10:04:17 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -21,6 +21,7 @@ CONFIG_MIPS_PB1550=y
21# CONFIG_MIPS_DB1550 is not set 21# CONFIG_MIPS_DB1550 is not set
22# CONFIG_MIPS_DB1200 is not set 22# CONFIG_MIPS_DB1200 is not set
23# CONFIG_MIPS_MIRAGE is not set 23# CONFIG_MIPS_MIRAGE is not set
24# CONFIG_BASLER_EXCITE is not set
24# CONFIG_MIPS_COBALT is not set 25# CONFIG_MIPS_COBALT is not set
25# CONFIG_MACH_DECSTATION is not set 26# CONFIG_MACH_DECSTATION is not set
26# CONFIG_MIPS_EV64120 is not set 27# CONFIG_MIPS_EV64120 is not set
@@ -32,6 +33,7 @@ CONFIG_MIPS_PB1550=y
32# CONFIG_MIPS_ATLAS is not set 33# CONFIG_MIPS_ATLAS is not set
33# CONFIG_MIPS_MALTA is not set 34# CONFIG_MIPS_MALTA is not set
34# CONFIG_MIPS_SEAD is not set 35# CONFIG_MIPS_SEAD is not set
36# CONFIG_WR_PPMC is not set
35# CONFIG_MIPS_SIM is not set 37# CONFIG_MIPS_SIM is not set
36# CONFIG_MOMENCO_JAGUAR_ATX is not set 38# CONFIG_MOMENCO_JAGUAR_ATX is not set
37# CONFIG_MOMENCO_OCELOT is not set 39# CONFIG_MOMENCO_OCELOT is not set
@@ -45,6 +47,7 @@ CONFIG_MIPS_PB1550=y
45# CONFIG_MACH_VR41XX is not set 47# CONFIG_MACH_VR41XX is not set
46# CONFIG_PMC_YOSEMITE is not set 48# CONFIG_PMC_YOSEMITE is not set
47# CONFIG_QEMU is not set 49# CONFIG_QEMU is not set
50# CONFIG_MARKEINS is not set
48# CONFIG_SGI_IP22 is not set 51# CONFIG_SGI_IP22 is not set
49# CONFIG_SGI_IP27 is not set 52# CONFIG_SGI_IP27 is not set
50# CONFIG_SGI_IP32 is not set 53# CONFIG_SGI_IP32 is not set
@@ -65,6 +68,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y
65CONFIG_GENERIC_FIND_NEXT_BIT=y 68CONFIG_GENERIC_FIND_NEXT_BIT=y
66CONFIG_GENERIC_HWEIGHT=y 69CONFIG_GENERIC_HWEIGHT=y
67CONFIG_GENERIC_CALIBRATE_DELAY=y 70CONFIG_GENERIC_CALIBRATE_DELAY=y
71CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
68CONFIG_DMA_NONCOHERENT=y 72CONFIG_DMA_NONCOHERENT=y
69CONFIG_DMA_NEED_PCI_MAP_STATE=y 73CONFIG_DMA_NEED_PCI_MAP_STATE=y
70CONFIG_MIPS_DISABLE_OBSOLETE_IDE=y 74CONFIG_MIPS_DISABLE_OBSOLETE_IDE=y
@@ -113,7 +117,10 @@ CONFIG_PAGE_SIZE_4KB=y
113# CONFIG_PAGE_SIZE_16KB is not set 117# CONFIG_PAGE_SIZE_16KB is not set
114# CONFIG_PAGE_SIZE_64KB is not set 118# CONFIG_PAGE_SIZE_64KB is not set
115CONFIG_CPU_HAS_PREFETCH=y 119CONFIG_CPU_HAS_PREFETCH=y
116# CONFIG_MIPS_MT is not set 120CONFIG_MIPS_MT_DISABLED=y
121# CONFIG_MIPS_MT_SMTC is not set
122# CONFIG_MIPS_MT_SMP is not set
123# CONFIG_MIPS_VPE_LOADER is not set
117CONFIG_64BIT_PHYS_ADDR=y 124CONFIG_64BIT_PHYS_ADDR=y
118CONFIG_CPU_HAS_LLSC=y 125CONFIG_CPU_HAS_LLSC=y
119CONFIG_CPU_HAS_SYNC=y 126CONFIG_CPU_HAS_SYNC=y
@@ -129,6 +136,7 @@ CONFIG_FLATMEM=y
129CONFIG_FLAT_NODE_MEM_MAP=y 136CONFIG_FLAT_NODE_MEM_MAP=y
130# CONFIG_SPARSEMEM_STATIC is not set 137# CONFIG_SPARSEMEM_STATIC is not set
131CONFIG_SPLIT_PTLOCK_CPUS=4 138CONFIG_SPLIT_PTLOCK_CPUS=4
139# CONFIG_RESOURCES_64BIT is not set
132# CONFIG_HZ_48 is not set 140# CONFIG_HZ_48 is not set
133# CONFIG_HZ_100 is not set 141# CONFIG_HZ_100 is not set
134# CONFIG_HZ_128 is not set 142# CONFIG_HZ_128 is not set
@@ -141,6 +149,7 @@ CONFIG_HZ=1000
141CONFIG_PREEMPT_NONE=y 149CONFIG_PREEMPT_NONE=y
142# CONFIG_PREEMPT_VOLUNTARY is not set 150# CONFIG_PREEMPT_VOLUNTARY is not set
143# CONFIG_PREEMPT is not set 151# CONFIG_PREEMPT is not set
152CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
144 153
145# 154#
146# Code maturity level options 155# Code maturity level options
@@ -172,14 +181,15 @@ CONFIG_PRINTK=y
172CONFIG_BUG=y 181CONFIG_BUG=y
173CONFIG_ELF_CORE=y 182CONFIG_ELF_CORE=y
174CONFIG_BASE_FULL=y 183CONFIG_BASE_FULL=y
184CONFIG_RT_MUTEXES=y
175CONFIG_FUTEX=y 185CONFIG_FUTEX=y
176CONFIG_EPOLL=y 186CONFIG_EPOLL=y
177CONFIG_SHMEM=y 187CONFIG_SHMEM=y
178CONFIG_SLAB=y 188CONFIG_SLAB=y
189CONFIG_VM_EVENT_COUNTERS=y
179# CONFIG_TINY_SHMEM is not set 190# CONFIG_TINY_SHMEM is not set
180CONFIG_BASE_SMALL=0 191CONFIG_BASE_SMALL=0
181# CONFIG_SLOB is not set 192# CONFIG_SLOB is not set
182CONFIG_OBSOLETE_INTERMODULE=y
183 193
184# 194#
185# Loadable module support 195# Loadable module support
@@ -283,6 +293,8 @@ CONFIG_IP_PNP_BOOTP=y
283# CONFIG_INET_IPCOMP is not set 293# CONFIG_INET_IPCOMP is not set
284# CONFIG_INET_XFRM_TUNNEL is not set 294# CONFIG_INET_XFRM_TUNNEL is not set
285# CONFIG_INET_TUNNEL is not set 295# CONFIG_INET_TUNNEL is not set
296CONFIG_INET_XFRM_MODE_TRANSPORT=m
297CONFIG_INET_XFRM_MODE_TUNNEL=m
286CONFIG_INET_DIAG=y 298CONFIG_INET_DIAG=y
287CONFIG_INET_TCP_DIAG=y 299CONFIG_INET_TCP_DIAG=y
288# CONFIG_TCP_CONG_ADVANCED is not set 300# CONFIG_TCP_CONG_ADVANCED is not set
@@ -295,6 +307,7 @@ CONFIG_TCP_CONG_BIC=y
295# CONFIG_IPV6 is not set 307# CONFIG_IPV6 is not set
296# CONFIG_INET6_XFRM_TUNNEL is not set 308# CONFIG_INET6_XFRM_TUNNEL is not set
297# CONFIG_INET6_TUNNEL is not set 309# CONFIG_INET6_TUNNEL is not set
310CONFIG_NETWORK_SECMARK=y
298CONFIG_NETFILTER=y 311CONFIG_NETFILTER=y
299# CONFIG_NETFILTER_DEBUG is not set 312# CONFIG_NETFILTER_DEBUG is not set
300 313
@@ -309,6 +322,7 @@ CONFIG_NETFILTER_XTABLES=m
309CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m 322CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
310CONFIG_NETFILTER_XT_TARGET_MARK=m 323CONFIG_NETFILTER_XT_TARGET_MARK=m
311CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m 324CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
325CONFIG_NETFILTER_XT_TARGET_SECMARK=m
312CONFIG_NETFILTER_XT_MATCH_COMMENT=m 326CONFIG_NETFILTER_XT_MATCH_COMMENT=m
313CONFIG_NETFILTER_XT_MATCH_DCCP=m 327CONFIG_NETFILTER_XT_MATCH_DCCP=m
314CONFIG_NETFILTER_XT_MATCH_ESP=m 328CONFIG_NETFILTER_XT_MATCH_ESP=m
@@ -319,8 +333,10 @@ CONFIG_NETFILTER_XT_MATCH_MARK=m
319CONFIG_NETFILTER_XT_MATCH_POLICY=m 333CONFIG_NETFILTER_XT_MATCH_POLICY=m
320CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m 334CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
321CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m 335CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
336CONFIG_NETFILTER_XT_MATCH_QUOTA=m
322CONFIG_NETFILTER_XT_MATCH_REALM=m 337CONFIG_NETFILTER_XT_MATCH_REALM=m
323CONFIG_NETFILTER_XT_MATCH_SCTP=m 338CONFIG_NETFILTER_XT_MATCH_SCTP=m
339CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
324CONFIG_NETFILTER_XT_MATCH_STRING=m 340CONFIG_NETFILTER_XT_MATCH_STRING=m
325CONFIG_NETFILTER_XT_MATCH_TCPMSS=m 341CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
326 342
@@ -390,6 +406,7 @@ CONFIG_WIRELESS_EXT=y
390CONFIG_STANDALONE=y 406CONFIG_STANDALONE=y
391CONFIG_PREVENT_FIRMWARE_BUILD=y 407CONFIG_PREVENT_FIRMWARE_BUILD=y
392CONFIG_FW_LOADER=m 408CONFIG_FW_LOADER=m
409# CONFIG_SYS_HYPERVISOR is not set
393 410
394# 411#
395# Connector - unified userspace <-> kernelspace linker 412# Connector - unified userspace <-> kernelspace linker
@@ -604,7 +621,7 @@ CONFIG_NETDEVICES=y
604# 621#
605# PHY device support 622# PHY device support
606# 623#
607CONFIG_PHYLIB=m 624CONFIG_PHYLIB=y
608 625
609# 626#
610# MII PHY device drivers 627# MII PHY device drivers
@@ -614,6 +631,8 @@ CONFIG_DAVICOM_PHY=m
614CONFIG_QSEMI_PHY=m 631CONFIG_QSEMI_PHY=m
615CONFIG_LXT_PHY=m 632CONFIG_LXT_PHY=m
616CONFIG_CICADA_PHY=m 633CONFIG_CICADA_PHY=m
634CONFIG_VITESSE_PHY=m
635CONFIG_SMSC_PHY=m
617 636
618# 637#
619# Ethernet (10 or 100Mbit) 638# Ethernet (10 or 100Mbit)
@@ -658,6 +677,7 @@ CONFIG_MIPS_AU1X00_ENET=y
658# CONFIG_CHELSIO_T1 is not set 677# CONFIG_CHELSIO_T1 is not set
659# CONFIG_IXGB is not set 678# CONFIG_IXGB is not set
660# CONFIG_S2IO is not set 679# CONFIG_S2IO is not set
680# CONFIG_MYRI10GE is not set
661 681
662# 682#
663# Token Ring devices 683# Token Ring devices
@@ -781,6 +801,7 @@ CONFIG_LEGACY_PTY_COUNT=256
781# Watchdog Cards 801# Watchdog Cards
782# 802#
783# CONFIG_WATCHDOG is not set 803# CONFIG_WATCHDOG is not set
804# CONFIG_HW_RANDOM is not set
784# CONFIG_RTC is not set 805# CONFIG_RTC is not set
785# CONFIG_GEN_RTC is not set 806# CONFIG_GEN_RTC is not set
786# CONFIG_DTLK is not set 807# CONFIG_DTLK is not set
@@ -836,6 +857,7 @@ CONFIG_SYNCLINK_CS=m
836# Multimedia devices 857# Multimedia devices
837# 858#
838# CONFIG_VIDEO_DEV is not set 859# CONFIG_VIDEO_DEV is not set
860CONFIG_VIDEO_V4L2=y
839 861
840# 862#
841# Digital Video Broadcasting Devices 863# Digital Video Broadcasting Devices
@@ -845,6 +867,7 @@ CONFIG_SYNCLINK_CS=m
845# 867#
846# Graphics support 868# Graphics support
847# 869#
870# CONFIG_FIRMWARE_EDID is not set
848# CONFIG_FB is not set 871# CONFIG_FB is not set
849 872
850# 873#
@@ -902,6 +925,19 @@ CONFIG_USB_ARCH_HAS_EHCI=y
902# CONFIG_RTC_CLASS is not set 925# CONFIG_RTC_CLASS is not set
903 926
904# 927#
928# DMA Engine support
929#
930# CONFIG_DMA_ENGINE is not set
931
932#
933# DMA Clients
934#
935
936#
937# DMA Devices
938#
939
940#
905# File systems 941# File systems
906# 942#
907CONFIG_EXT2_FS=y 943CONFIG_EXT2_FS=y
@@ -929,6 +965,7 @@ CONFIG_FS_POSIX_ACL=y
929# CONFIG_MINIX_FS is not set 965# CONFIG_MINIX_FS is not set
930# CONFIG_ROMFS_FS is not set 966# CONFIG_ROMFS_FS is not set
931CONFIG_INOTIFY=y 967CONFIG_INOTIFY=y
968CONFIG_INOTIFY_USER=y
932# CONFIG_QUOTA is not set 969# CONFIG_QUOTA is not set
933CONFIG_DNOTIFY=y 970CONFIG_DNOTIFY=y
934CONFIG_AUTOFS_FS=m 971CONFIG_AUTOFS_FS=m
@@ -998,6 +1035,7 @@ CONFIG_SUNRPC=y
998CONFIG_SMB_FS=m 1035CONFIG_SMB_FS=m
999# CONFIG_SMB_NLS_DEFAULT is not set 1036# CONFIG_SMB_NLS_DEFAULT is not set
1000# CONFIG_CIFS is not set 1037# CONFIG_CIFS is not set
1038# CONFIG_CIFS_DEBUG2 is not set
1001# CONFIG_NCP_FS is not set 1039# CONFIG_NCP_FS is not set
1002# CONFIG_CODA_FS is not set 1040# CONFIG_CODA_FS is not set
1003# CONFIG_AFS_FS is not set 1041# CONFIG_AFS_FS is not set
@@ -1063,6 +1101,7 @@ CONFIG_NLS_DEFAULT="iso8859-1"
1063# 1101#
1064# CONFIG_PRINTK_TIME is not set 1102# CONFIG_PRINTK_TIME is not set
1065# CONFIG_MAGIC_SYSRQ is not set 1103# CONFIG_MAGIC_SYSRQ is not set
1104# CONFIG_UNUSED_SYMBOLS is not set
1066# CONFIG_DEBUG_KERNEL is not set 1105# CONFIG_DEBUG_KERNEL is not set
1067CONFIG_LOG_BUF_SHIFT=14 1106CONFIG_LOG_BUF_SHIFT=14
1068# CONFIG_DEBUG_FS is not set 1107# CONFIG_DEBUG_FS is not set
@@ -1122,3 +1161,4 @@ CONFIG_TEXTSEARCH=y
1122CONFIG_TEXTSEARCH_KMP=m 1161CONFIG_TEXTSEARCH_KMP=m
1123CONFIG_TEXTSEARCH_BM=m 1162CONFIG_TEXTSEARCH_BM=m
1124CONFIG_TEXTSEARCH_FSM=m 1163CONFIG_TEXTSEARCH_FSM=m
1164CONFIG_PLIST=y
diff --git a/arch/mips/configs/pnx8550-jbs_defconfig b/arch/mips/configs/pnx8550-jbs_defconfig
index b2d991b80309..ac616c82d348 100644
--- a/arch/mips/configs/pnx8550-jbs_defconfig
+++ b/arch/mips/configs/pnx8550-jbs_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.17-rc2 3# Linux kernel version: 2.6.18-rc1
4# Mon Apr 24 14:51:14 2006 4# Thu Jul 6 10:04:18 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -21,6 +21,7 @@ CONFIG_MIPS=y
21# CONFIG_MIPS_DB1550 is not set 21# CONFIG_MIPS_DB1550 is not set
22# CONFIG_MIPS_DB1200 is not set 22# CONFIG_MIPS_DB1200 is not set
23# CONFIG_MIPS_MIRAGE is not set 23# CONFIG_MIPS_MIRAGE is not set
24# CONFIG_BASLER_EXCITE is not set
24# CONFIG_MIPS_COBALT is not set 25# CONFIG_MIPS_COBALT is not set
25# CONFIG_MACH_DECSTATION is not set 26# CONFIG_MACH_DECSTATION is not set
26# CONFIG_MIPS_EV64120 is not set 27# CONFIG_MIPS_EV64120 is not set
@@ -32,6 +33,7 @@ CONFIG_MIPS=y
32# CONFIG_MIPS_ATLAS is not set 33# CONFIG_MIPS_ATLAS is not set
33# CONFIG_MIPS_MALTA is not set 34# CONFIG_MIPS_MALTA is not set
34# CONFIG_MIPS_SEAD is not set 35# CONFIG_MIPS_SEAD is not set
36# CONFIG_WR_PPMC is not set
35# CONFIG_MIPS_SIM is not set 37# CONFIG_MIPS_SIM is not set
36# CONFIG_MOMENCO_JAGUAR_ATX is not set 38# CONFIG_MOMENCO_JAGUAR_ATX is not set
37# CONFIG_MOMENCO_OCELOT is not set 39# CONFIG_MOMENCO_OCELOT is not set
@@ -40,12 +42,13 @@ CONFIG_MIPS=y
40# CONFIG_MOMENCO_OCELOT_G is not set 42# CONFIG_MOMENCO_OCELOT_G is not set
41# CONFIG_MIPS_XXS1500 is not set 43# CONFIG_MIPS_XXS1500 is not set
42# CONFIG_PNX8550_V2PCI is not set 44# CONFIG_PNX8550_V2PCI is not set
43CONFIG_PNX8550_JBS=y 45# CONFIG_PNX8550_JBS is not set
44# CONFIG_DDB5477 is not set 46# CONFIG_DDB5477 is not set
45# CONFIG_MACH_VR41XX is not set 47# CONFIG_MACH_VR41XX is not set
46# CONFIG_PMC_YOSEMITE is not set 48# CONFIG_PMC_YOSEMITE is not set
47# CONFIG_QEMU is not set 49# CONFIG_QEMU is not set
48# CONFIG_SGI_IP22 is not set 50# CONFIG_MARKEINS is not set
51CONFIG_SGI_IP22=y
49# CONFIG_SGI_IP27 is not set 52# CONFIG_SGI_IP27 is not set
50# CONFIG_SGI_IP32 is not set 53# CONFIG_SGI_IP32 is not set
51# CONFIG_SIBYTE_BIGSUR is not set 54# CONFIG_SIBYTE_BIGSUR is not set
@@ -65,19 +68,25 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y
65CONFIG_GENERIC_FIND_NEXT_BIT=y 68CONFIG_GENERIC_FIND_NEXT_BIT=y
66CONFIG_GENERIC_HWEIGHT=y 69CONFIG_GENERIC_HWEIGHT=y
67CONFIG_GENERIC_CALIBRATE_DELAY=y 70CONFIG_GENERIC_CALIBRATE_DELAY=y
71CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
72CONFIG_ARC=y
68CONFIG_DMA_NONCOHERENT=y 73CONFIG_DMA_NONCOHERENT=y
69CONFIG_DMA_NEED_PCI_MAP_STATE=y 74CONFIG_DMA_NEED_PCI_MAP_STATE=y
70# CONFIG_CPU_BIG_ENDIAN is not set 75CONFIG_CPU_BIG_ENDIAN=y
71CONFIG_CPU_LITTLE_ENDIAN=y 76# CONFIG_CPU_LITTLE_ENDIAN is not set
72CONFIG_SYS_SUPPORTS_LITTLE_ENDIAN=y 77CONFIG_SYS_SUPPORTS_BIG_ENDIAN=y
73CONFIG_PNX8550=y 78CONFIG_IRQ_CPU=y
74CONFIG_SOC_PNX8550=y 79CONFIG_SWAP_IO_SPACE=y
80CONFIG_ARC32=y
81CONFIG_BOOT_ELF32=y
75CONFIG_MIPS_L1_CACHE_SHIFT=5 82CONFIG_MIPS_L1_CACHE_SHIFT=5
83# CONFIG_ARC_CONSOLE is not set
84CONFIG_ARC_PROMLIB=y
76 85
77# 86#
78# CPU selection 87# CPU selection
79# 88#
80CONFIG_CPU_MIPS32_R1=y 89# CONFIG_CPU_MIPS32_R1 is not set
81# CONFIG_CPU_MIPS32_R2 is not set 90# CONFIG_CPU_MIPS32_R2 is not set
82# CONFIG_CPU_MIPS64_R1 is not set 91# CONFIG_CPU_MIPS64_R1 is not set
83# CONFIG_CPU_MIPS64_R2 is not set 92# CONFIG_CPU_MIPS64_R2 is not set
@@ -85,7 +94,7 @@ CONFIG_CPU_MIPS32_R1=y
85# CONFIG_CPU_TX39XX is not set 94# CONFIG_CPU_TX39XX is not set
86# CONFIG_CPU_VR41XX is not set 95# CONFIG_CPU_VR41XX is not set
87# CONFIG_CPU_R4300 is not set 96# CONFIG_CPU_R4300 is not set
88# CONFIG_CPU_R4X00 is not set 97CONFIG_CPU_R4X00=y
89# CONFIG_CPU_TX49XX is not set 98# CONFIG_CPU_TX49XX is not set
90# CONFIG_CPU_R5000 is not set 99# CONFIG_CPU_R5000 is not set
91# CONFIG_CPU_R5432 is not set 100# CONFIG_CPU_R5432 is not set
@@ -96,11 +105,12 @@ CONFIG_CPU_MIPS32_R1=y
96# CONFIG_CPU_RM7000 is not set 105# CONFIG_CPU_RM7000 is not set
97# CONFIG_CPU_RM9000 is not set 106# CONFIG_CPU_RM9000 is not set
98# CONFIG_CPU_SB1 is not set 107# CONFIG_CPU_SB1 is not set
99CONFIG_SYS_HAS_CPU_MIPS32_R1=y 108CONFIG_SYS_HAS_CPU_R4X00=y
100CONFIG_CPU_MIPS32=y 109CONFIG_SYS_HAS_CPU_R5000=y
101CONFIG_CPU_MIPSR1=y
102CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y 110CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y
111CONFIG_SYS_SUPPORTS_64BIT_KERNEL=y
103CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y 112CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y
113CONFIG_CPU_SUPPORTS_64BIT_KERNEL=y
104 114
105# 115#
106# Kernel type 116# Kernel type
@@ -111,14 +121,17 @@ CONFIG_PAGE_SIZE_4KB=y
111# CONFIG_PAGE_SIZE_8KB is not set 121# CONFIG_PAGE_SIZE_8KB is not set
112# CONFIG_PAGE_SIZE_16KB is not set 122# CONFIG_PAGE_SIZE_16KB is not set
113# CONFIG_PAGE_SIZE_64KB is not set 123# CONFIG_PAGE_SIZE_64KB is not set
114CONFIG_CPU_HAS_PREFETCH=y 124CONFIG_BOARD_SCACHE=y
115# CONFIG_MIPS_MT is not set 125CONFIG_IP22_CPU_SCACHE=y
126CONFIG_MIPS_MT_DISABLED=y
127# CONFIG_MIPS_MT_SMTC is not set
128# CONFIG_MIPS_MT_SMP is not set
129# CONFIG_MIPS_VPE_LOADER is not set
116# CONFIG_64BIT_PHYS_ADDR is not set 130# CONFIG_64BIT_PHYS_ADDR is not set
117CONFIG_CPU_HAS_LLSC=y 131CONFIG_CPU_HAS_LLSC=y
118CONFIG_CPU_HAS_SYNC=y 132CONFIG_CPU_HAS_SYNC=y
119CONFIG_GENERIC_HARDIRQS=y 133CONFIG_GENERIC_HARDIRQS=y
120CONFIG_GENERIC_IRQ_PROBE=y 134CONFIG_GENERIC_IRQ_PROBE=y
121CONFIG_CPU_SUPPORTS_HIGHMEM=y
122CONFIG_ARCH_FLATMEM_ENABLE=y 135CONFIG_ARCH_FLATMEM_ENABLE=y
123CONFIG_SELECT_MEMORY_MODEL=y 136CONFIG_SELECT_MEMORY_MODEL=y
124CONFIG_FLATMEM_MANUAL=y 137CONFIG_FLATMEM_MANUAL=y
@@ -128,6 +141,7 @@ CONFIG_FLATMEM=y
128CONFIG_FLAT_NODE_MEM_MAP=y 141CONFIG_FLAT_NODE_MEM_MAP=y
129# CONFIG_SPARSEMEM_STATIC is not set 142# CONFIG_SPARSEMEM_STATIC is not set
130CONFIG_SPLIT_PTLOCK_CPUS=4 143CONFIG_SPLIT_PTLOCK_CPUS=4
144# CONFIG_RESOURCES_64BIT is not set
131# CONFIG_HZ_48 is not set 145# CONFIG_HZ_48 is not set
132# CONFIG_HZ_100 is not set 146# CONFIG_HZ_100 is not set
133# CONFIG_HZ_128 is not set 147# CONFIG_HZ_128 is not set
@@ -140,6 +154,7 @@ CONFIG_HZ=1000
140CONFIG_PREEMPT_NONE=y 154CONFIG_PREEMPT_NONE=y
141# CONFIG_PREEMPT_VOLUNTARY is not set 155# CONFIG_PREEMPT_VOLUNTARY is not set
142# CONFIG_PREEMPT is not set 156# CONFIG_PREEMPT is not set
157CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
143 158
144# 159#
145# Code maturity level options 160# Code maturity level options
@@ -173,10 +188,12 @@ CONFIG_PRINTK=y
173CONFIG_BUG=y 188CONFIG_BUG=y
174CONFIG_ELF_CORE=y 189CONFIG_ELF_CORE=y
175CONFIG_BASE_FULL=y 190CONFIG_BASE_FULL=y
191CONFIG_RT_MUTEXES=y
176CONFIG_FUTEX=y 192CONFIG_FUTEX=y
177CONFIG_EPOLL=y 193CONFIG_EPOLL=y
178CONFIG_SHMEM=y 194CONFIG_SHMEM=y
179CONFIG_SLAB=y 195CONFIG_SLAB=y
196CONFIG_VM_EVENT_COUNTERS=y
180# CONFIG_TINY_SHMEM is not set 197# CONFIG_TINY_SHMEM is not set
181CONFIG_BASE_SMALL=0 198CONFIG_BASE_SMALL=0
182# CONFIG_SLOB is not set 199# CONFIG_SLOB is not set
@@ -213,9 +230,8 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
213# 230#
214# Bus options (PCI, PCMCIA, EISA, ISA, TC) 231# Bus options (PCI, PCMCIA, EISA, ISA, TC)
215# 232#
216CONFIG_HW_HAS_PCI=y 233CONFIG_HW_HAS_EISA=y
217CONFIG_PCI=y 234# CONFIG_EISA is not set
218# CONFIG_PCI_DEBUG is not set
219CONFIG_MMU=y 235CONFIG_MMU=y
220 236
221# 237#
@@ -226,7 +242,6 @@ CONFIG_MMU=y
226# 242#
227# PCI Hotplug Support 243# PCI Hotplug Support
228# 244#
229# CONFIG_HOTPLUG_PCI is not set
230 245
231# 246#
232# Executable file formats 247# Executable file formats
@@ -247,6 +262,8 @@ CONFIG_NET=y
247CONFIG_PACKET=y 262CONFIG_PACKET=y
248# CONFIG_PACKET_MMAP is not set 263# CONFIG_PACKET_MMAP is not set
249CONFIG_UNIX=y 264CONFIG_UNIX=y
265CONFIG_XFRM=y
266# CONFIG_XFRM_USER is not set
250# CONFIG_NET_KEY is not set 267# CONFIG_NET_KEY is not set
251CONFIG_INET=y 268CONFIG_INET=y
252# CONFIG_IP_MULTICAST is not set 269# CONFIG_IP_MULTICAST is not set
@@ -265,6 +282,8 @@ CONFIG_IP_PNP_BOOTP=y
265# CONFIG_INET_IPCOMP is not set 282# CONFIG_INET_IPCOMP is not set
266# CONFIG_INET_XFRM_TUNNEL is not set 283# CONFIG_INET_XFRM_TUNNEL is not set
267# CONFIG_INET_TUNNEL is not set 284# CONFIG_INET_TUNNEL is not set
285CONFIG_INET_XFRM_MODE_TRANSPORT=m
286CONFIG_INET_XFRM_MODE_TUNNEL=m
268CONFIG_INET_DIAG=y 287CONFIG_INET_DIAG=y
269CONFIG_INET_TCP_DIAG=y 288CONFIG_INET_TCP_DIAG=y
270# CONFIG_TCP_CONG_ADVANCED is not set 289# CONFIG_TCP_CONG_ADVANCED is not set
@@ -272,6 +291,7 @@ CONFIG_TCP_CONG_BIC=y
272# CONFIG_IPV6 is not set 291# CONFIG_IPV6 is not set
273# CONFIG_INET6_XFRM_TUNNEL is not set 292# CONFIG_INET6_XFRM_TUNNEL is not set
274# CONFIG_INET6_TUNNEL is not set 293# CONFIG_INET6_TUNNEL is not set
294CONFIG_NETWORK_SECMARK=y
275# CONFIG_NETFILTER is not set 295# CONFIG_NETFILTER is not set
276 296
277# 297#
@@ -326,6 +346,7 @@ CONFIG_STANDALONE=y
326CONFIG_PREVENT_FIRMWARE_BUILD=y 346CONFIG_PREVENT_FIRMWARE_BUILD=y
327CONFIG_FW_LOADER=y 347CONFIG_FW_LOADER=y
328# CONFIG_DEBUG_DRIVER is not set 348# CONFIG_DEBUG_DRIVER is not set
349# CONFIG_SYS_HYPERVISOR is not set
329 350
330# 351#
331# Connector - unified userspace <-> kernelspace linker 352# Connector - unified userspace <-> kernelspace linker
@@ -349,16 +370,10 @@ CONFIG_FW_LOADER=y
349# 370#
350# Block devices 371# Block devices
351# 372#
352# CONFIG_BLK_CPQ_DA is not set
353# CONFIG_BLK_CPQ_CISS_DA is not set
354# CONFIG_BLK_DEV_DAC960 is not set
355# CONFIG_BLK_DEV_UMEM is not set
356# CONFIG_BLK_DEV_COW_COMMON is not set 373# CONFIG_BLK_DEV_COW_COMMON is not set
357CONFIG_BLK_DEV_LOOP=y 374CONFIG_BLK_DEV_LOOP=y
358# CONFIG_BLK_DEV_CRYPTOLOOP is not set 375# CONFIG_BLK_DEV_CRYPTOLOOP is not set
359# CONFIG_BLK_DEV_NBD is not set 376# CONFIG_BLK_DEV_NBD is not set
360# CONFIG_BLK_DEV_SX8 is not set
361# CONFIG_BLK_DEV_UB is not set
362CONFIG_BLK_DEV_RAM=y 377CONFIG_BLK_DEV_RAM=y
363CONFIG_BLK_DEV_RAM_COUNT=16 378CONFIG_BLK_DEV_RAM_COUNT=16
364CONFIG_BLK_DEV_RAM_SIZE=8192 379CONFIG_BLK_DEV_RAM_SIZE=8192
@@ -388,38 +403,8 @@ CONFIG_BLK_DEV_IDESCSI=y
388# IDE chipset support/bugfixes 403# IDE chipset support/bugfixes
389# 404#
390CONFIG_IDE_GENERIC=y 405CONFIG_IDE_GENERIC=y
391CONFIG_BLK_DEV_IDEPCI=y
392CONFIG_IDEPCI_SHARE_IRQ=y
393CONFIG_BLK_DEV_OFFBOARD=y
394CONFIG_BLK_DEV_GENERIC=y
395# CONFIG_BLK_DEV_OPTI621 is not set
396CONFIG_BLK_DEV_IDEDMA_PCI=y
397# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
398# CONFIG_IDEDMA_PCI_AUTO is not set
399# CONFIG_BLK_DEV_AEC62XX is not set
400# CONFIG_BLK_DEV_ALI15X3 is not set
401# CONFIG_BLK_DEV_AMD74XX is not set
402# CONFIG_BLK_DEV_CMD64X is not set
403# CONFIG_BLK_DEV_TRIFLEX is not set
404# CONFIG_BLK_DEV_CY82C693 is not set
405# CONFIG_BLK_DEV_CS5520 is not set
406# CONFIG_BLK_DEV_CS5530 is not set
407# CONFIG_BLK_DEV_HPT34X is not set
408CONFIG_BLK_DEV_HPT366=y
409# CONFIG_BLK_DEV_SC1200 is not set
410# CONFIG_BLK_DEV_PIIX is not set
411# CONFIG_BLK_DEV_IT821X is not set
412# CONFIG_BLK_DEV_NS87415 is not set
413# CONFIG_BLK_DEV_PDC202XX_OLD is not set
414# CONFIG_BLK_DEV_PDC202XX_NEW is not set
415# CONFIG_BLK_DEV_SVWKS is not set
416# CONFIG_BLK_DEV_SIIMAGE is not set
417# CONFIG_BLK_DEV_SLC90E66 is not set
418# CONFIG_BLK_DEV_TRM290 is not set
419# CONFIG_BLK_DEV_VIA82CXXX is not set
420# CONFIG_IDE_ARM is not set 406# CONFIG_IDE_ARM is not set
421CONFIG_BLK_DEV_IDEDMA=y 407# CONFIG_BLK_DEV_IDEDMA is not set
422# CONFIG_IDEDMA_IVB is not set
423# CONFIG_IDEDMA_AUTO is not set 408# CONFIG_IDEDMA_AUTO is not set
424# CONFIG_BLK_DEV_HD is not set 409# CONFIG_BLK_DEV_HD is not set
425 410
@@ -459,31 +444,8 @@ CONFIG_SCSI_ISCSI_ATTRS=m
459# SCSI low-level drivers 444# SCSI low-level drivers
460# 445#
461CONFIG_ISCSI_TCP=m 446CONFIG_ISCSI_TCP=m
462# CONFIG_BLK_DEV_3W_XXXX_RAID is not set 447# CONFIG_SGIWD93_SCSI is not set
463# CONFIG_SCSI_3W_9XXX is not set
464# CONFIG_SCSI_ACARD is not set
465# CONFIG_SCSI_AACRAID is not set
466# CONFIG_SCSI_AIC7XXX is not set
467# CONFIG_SCSI_AIC7XXX_OLD is not set
468# CONFIG_SCSI_AIC79XX is not set
469# CONFIG_SCSI_DPT_I2O is not set
470# CONFIG_MEGARAID_NEWGEN is not set
471# CONFIG_MEGARAID_LEGACY is not set
472# CONFIG_MEGARAID_SAS is not set
473# CONFIG_SCSI_SATA is not set 448# CONFIG_SCSI_SATA is not set
474# CONFIG_SCSI_DMX3191D is not set
475# CONFIG_SCSI_FUTURE_DOMAIN is not set
476# CONFIG_SCSI_IPS is not set
477# CONFIG_SCSI_INITIO is not set
478# CONFIG_SCSI_INIA100 is not set
479# CONFIG_SCSI_SYM53C8XX_2 is not set
480# CONFIG_SCSI_IPR is not set
481# CONFIG_SCSI_QLOGIC_1280 is not set
482# CONFIG_SCSI_QLA_FC is not set
483# CONFIG_SCSI_LPFC is not set
484# CONFIG_SCSI_DC395x is not set
485# CONFIG_SCSI_DC390T is not set
486# CONFIG_SCSI_NSP32 is not set
487# CONFIG_SCSI_DEBUG is not set 449# CONFIG_SCSI_DEBUG is not set
488 450
489# 451#
@@ -495,19 +457,14 @@ CONFIG_ISCSI_TCP=m
495# Fusion MPT device support 457# Fusion MPT device support
496# 458#
497# CONFIG_FUSION is not set 459# CONFIG_FUSION is not set
498# CONFIG_FUSION_SPI is not set
499# CONFIG_FUSION_FC is not set
500# CONFIG_FUSION_SAS is not set
501 460
502# 461#
503# IEEE 1394 (FireWire) support 462# IEEE 1394 (FireWire) support
504# 463#
505# CONFIG_IEEE1394 is not set
506 464
507# 465#
508# I2O device support 466# I2O device support
509# 467#
510# CONFIG_I2O is not set
511 468
512# 469#
513# Network device support 470# Network device support
@@ -519,11 +476,6 @@ CONFIG_NETDEVICES=y
519# CONFIG_TUN is not set 476# CONFIG_TUN is not set
520 477
521# 478#
522# ARCnet devices
523#
524# CONFIG_ARCNET is not set
525
526#
527# PHY device support 479# PHY device support
528# 480#
529# CONFIG_PHYLIB is not set 481# CONFIG_PHYLIB is not set
@@ -533,71 +485,20 @@ CONFIG_NETDEVICES=y
533# 485#
534CONFIG_NET_ETHERNET=y 486CONFIG_NET_ETHERNET=y
535CONFIG_MII=y 487CONFIG_MII=y
536# CONFIG_HAPPYMEAL is not set
537# CONFIG_SUNGEM is not set
538# CONFIG_CASSINI is not set
539# CONFIG_NET_VENDOR_3COM is not set
540# CONFIG_DM9000 is not set 488# CONFIG_DM9000 is not set
541 489# CONFIG_SGISEEQ is not set
542#
543# Tulip family network device support
544#
545# CONFIG_NET_TULIP is not set
546# CONFIG_HP100 is not set
547CONFIG_NET_PCI=y
548# CONFIG_PCNET32 is not set
549# CONFIG_AMD8111_ETH is not set
550# CONFIG_ADAPTEC_STARFIRE is not set
551# CONFIG_B44 is not set
552# CONFIG_FORCEDETH is not set
553# CONFIG_DGRS is not set
554# CONFIG_EEPRO100 is not set
555# CONFIG_E100 is not set
556# CONFIG_FEALNX is not set
557# CONFIG_NATSEMI is not set
558# CONFIG_NE2K_PCI is not set
559# CONFIG_8139CP is not set
560CONFIG_8139TOO=y
561# CONFIG_8139TOO_PIO is not set
562CONFIG_8139TOO_TUNE_TWISTER=y
563CONFIG_8139TOO_8129=y
564# CONFIG_8139_OLD_RX_RESET is not set
565# CONFIG_SIS900 is not set
566# CONFIG_EPIC100 is not set
567# CONFIG_SUNDANCE is not set
568# CONFIG_TLAN is not set
569# CONFIG_VIA_RHINE is not set
570# CONFIG_LAN_SAA9730 is not set
571 490
572# 491#
573# Ethernet (1000 Mbit) 492# Ethernet (1000 Mbit)
574# 493#
575# CONFIG_ACENIC is not set
576# CONFIG_DL2K is not set
577# CONFIG_E1000 is not set
578# CONFIG_NS83820 is not set
579# CONFIG_HAMACHI is not set
580# CONFIG_YELLOWFIN is not set
581# CONFIG_R8169 is not set
582# CONFIG_SIS190 is not set
583# CONFIG_SKGE is not set
584# CONFIG_SKY2 is not set
585# CONFIG_SK98LIN is not set
586# CONFIG_VIA_VELOCITY is not set
587# CONFIG_TIGON3 is not set
588# CONFIG_BNX2 is not set
589 494
590# 495#
591# Ethernet (10000 Mbit) 496# Ethernet (10000 Mbit)
592# 497#
593# CONFIG_CHELSIO_T1 is not set
594# CONFIG_IXGB is not set
595# CONFIG_S2IO is not set
596 498
597# 499#
598# Token Ring devices 500# Token Ring devices
599# 501#
600# CONFIG_TR is not set
601 502
602# 503#
603# Wireless LAN (non-hamradio) 504# Wireless LAN (non-hamradio)
@@ -608,11 +509,8 @@ CONFIG_8139TOO_8129=y
608# Wan interfaces 509# Wan interfaces
609# 510#
610# CONFIG_WAN is not set 511# CONFIG_WAN is not set
611# CONFIG_FDDI is not set
612# CONFIG_HIPPI is not set
613# CONFIG_PPP is not set 512# CONFIG_PPP is not set
614# CONFIG_SLIP is not set 513# CONFIG_SLIP is not set
615# CONFIG_NET_FC is not set
616# CONFIG_SHAPER is not set 514# CONFIG_SHAPER is not set
617# CONFIG_NETCONSOLE is not set 515# CONFIG_NETCONSOLE is not set
618# CONFIG_NETPOLL is not set 516# CONFIG_NETPOLL is not set
@@ -657,7 +555,6 @@ CONFIG_INPUT=y
657CONFIG_SERIO=y 555CONFIG_SERIO=y
658# CONFIG_SERIO_I8042 is not set 556# CONFIG_SERIO_I8042 is not set
659# CONFIG_SERIO_SERPORT is not set 557# CONFIG_SERIO_SERPORT is not set
660# CONFIG_SERIO_PCIPS2 is not set
661CONFIG_SERIO_LIBPS2=y 558CONFIG_SERIO_LIBPS2=y
662# CONFIG_SERIO_RAW is not set 559# CONFIG_SERIO_RAW is not set
663# CONFIG_GAMEPORT is not set 560# CONFIG_GAMEPORT is not set
@@ -668,6 +565,7 @@ CONFIG_SERIO_LIBPS2=y
668CONFIG_VT=y 565CONFIG_VT=y
669CONFIG_VT_CONSOLE=y 566CONFIG_VT_CONSOLE=y
670CONFIG_HW_CONSOLE=y 567CONFIG_HW_CONSOLE=y
568CONFIG_VT_HW_CONSOLE_BINDING=y
671# CONFIG_SERIAL_NONSTANDARD is not set 569# CONFIG_SERIAL_NONSTANDARD is not set
672 570
673# 571#
@@ -678,8 +576,7 @@ CONFIG_HW_CONSOLE=y
678# 576#
679# Non-8250 serial port support 577# Non-8250 serial port support
680# 578#
681# CONFIG_SERIAL_IP3106 is not set 579# CONFIG_SERIAL_IP22_ZILOG is not set
682# CONFIG_SERIAL_JSM is not set
683CONFIG_UNIX98_PTYS=y 580CONFIG_UNIX98_PTYS=y
684CONFIG_LEGACY_PTYS=y 581CONFIG_LEGACY_PTYS=y
685CONFIG_LEGACY_PTY_COUNT=256 582CONFIG_LEGACY_PTY_COUNT=256
@@ -693,16 +590,16 @@ CONFIG_LEGACY_PTY_COUNT=256
693# Watchdog Cards 590# Watchdog Cards
694# 591#
695# CONFIG_WATCHDOG is not set 592# CONFIG_WATCHDOG is not set
593# CONFIG_HW_RANDOM is not set
696# CONFIG_RTC is not set 594# CONFIG_RTC is not set
595# CONFIG_SGI_DS1286 is not set
697# CONFIG_GEN_RTC is not set 596# CONFIG_GEN_RTC is not set
698# CONFIG_DTLK is not set 597# CONFIG_DTLK is not set
699# CONFIG_R3964 is not set 598# CONFIG_R3964 is not set
700# CONFIG_APPLICOM is not set
701 599
702# 600#
703# Ftape, the floppy tape device driver 601# Ftape, the floppy tape device driver
704# 602#
705# CONFIG_DRM is not set
706# CONFIG_RAW_DRIVER is not set 603# CONFIG_RAW_DRIVER is not set
707 604
708# 605#
@@ -725,13 +622,13 @@ CONFIG_LEGACY_PTY_COUNT=256
725# 622#
726# Dallas's 1-wire bus 623# Dallas's 1-wire bus
727# 624#
728# CONFIG_W1 is not set
729 625
730# 626#
731# Hardware Monitoring support 627# Hardware Monitoring support
732# 628#
733CONFIG_HWMON=y 629CONFIG_HWMON=y
734# CONFIG_HWMON_VID is not set 630# CONFIG_HWMON_VID is not set
631# CONFIG_SENSORS_ABITUGURU is not set
735# CONFIG_SENSORS_F71805F is not set 632# CONFIG_SENSORS_F71805F is not set
736# CONFIG_HWMON_DEBUG_CHIP is not set 633# CONFIG_HWMON_DEBUG_CHIP is not set
737 634
@@ -743,22 +640,24 @@ CONFIG_HWMON=y
743# Multimedia devices 640# Multimedia devices
744# 641#
745# CONFIG_VIDEO_DEV is not set 642# CONFIG_VIDEO_DEV is not set
643CONFIG_VIDEO_V4L2=y
746 644
747# 645#
748# Digital Video Broadcasting Devices 646# Digital Video Broadcasting Devices
749# 647#
750# CONFIG_DVB is not set 648# CONFIG_DVB is not set
751# CONFIG_USB_DABUSB is not set
752 649
753# 650#
754# Graphics support 651# Graphics support
755# 652#
653# CONFIG_FIRMWARE_EDID is not set
756# CONFIG_FB is not set 654# CONFIG_FB is not set
757 655
758# 656#
759# Console display driver support 657# Console display driver support
760# 658#
761# CONFIG_VGA_CONSOLE is not set 659# CONFIG_VGA_CONSOLE is not set
660# CONFIG_SGI_NEWPORT_CONSOLE is not set
762CONFIG_DUMMY_CONSOLE=y 661CONFIG_DUMMY_CONSOLE=y
763 662
764# 663#
@@ -769,126 +668,15 @@ CONFIG_DUMMY_CONSOLE=y
769# 668#
770# USB support 669# USB support
771# 670#
772CONFIG_USB_ARCH_HAS_HCD=y 671# CONFIG_USB_ARCH_HAS_HCD is not set
773CONFIG_USB_ARCH_HAS_OHCI=y 672# CONFIG_USB_ARCH_HAS_OHCI is not set
774CONFIG_USB_ARCH_HAS_EHCI=y 673# CONFIG_USB_ARCH_HAS_EHCI is not set
775CONFIG_USB=y
776# CONFIG_USB_DEBUG is not set
777
778#
779# Miscellaneous USB options
780#
781# CONFIG_USB_DEVICEFS is not set
782# CONFIG_USB_BANDWIDTH is not set
783# CONFIG_USB_DYNAMIC_MINORS is not set
784# CONFIG_USB_OTG is not set
785
786#
787# USB Host Controller Drivers
788#
789# CONFIG_USB_EHCI_HCD is not set
790# CONFIG_USB_ISP116X_HCD is not set
791CONFIG_USB_OHCI_HCD=y
792# CONFIG_USB_OHCI_BIG_ENDIAN is not set
793CONFIG_USB_OHCI_LITTLE_ENDIAN=y
794# CONFIG_USB_UHCI_HCD is not set
795# CONFIG_USB_SL811_HCD is not set
796
797#
798# USB Device Class drivers
799#
800# CONFIG_USB_ACM is not set
801# CONFIG_USB_PRINTER is not set
802 674
803# 675#
804# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 676# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
805# 677#
806 678
807# 679#
808# may also be needed; see USB_STORAGE Help for more information
809#
810CONFIG_USB_STORAGE=y
811# CONFIG_USB_STORAGE_DEBUG is not set
812CONFIG_USB_STORAGE_DATAFAB=y
813CONFIG_USB_STORAGE_FREECOM=y
814CONFIG_USB_STORAGE_ISD200=y
815CONFIG_USB_STORAGE_DPCM=y
816CONFIG_USB_STORAGE_USBAT=y
817CONFIG_USB_STORAGE_SDDR09=y
818CONFIG_USB_STORAGE_SDDR55=y
819CONFIG_USB_STORAGE_JUMPSHOT=y
820# CONFIG_USB_STORAGE_ALAUDA is not set
821# CONFIG_USB_LIBUSUAL is not set
822
823#
824# USB Input Devices
825#
826# CONFIG_USB_HID is not set
827
828#
829# USB HID Boot Protocol drivers
830#
831# CONFIG_USB_KBD is not set
832# CONFIG_USB_MOUSE is not set
833# CONFIG_USB_AIPTEK is not set
834# CONFIG_USB_WACOM is not set
835# CONFIG_USB_ACECAD is not set
836# CONFIG_USB_KBTAB is not set
837# CONFIG_USB_POWERMATE is not set
838# CONFIG_USB_TOUCHSCREEN is not set
839# CONFIG_USB_YEALINK is not set
840# CONFIG_USB_XPAD is not set
841# CONFIG_USB_ATI_REMOTE is not set
842# CONFIG_USB_ATI_REMOTE2 is not set
843# CONFIG_USB_KEYSPAN_REMOTE is not set
844# CONFIG_USB_APPLETOUCH is not set
845
846#
847# USB Imaging devices
848#
849# CONFIG_USB_MDC800 is not set
850# CONFIG_USB_MICROTEK is not set
851
852#
853# USB Network Adapters
854#
855# CONFIG_USB_CATC is not set
856# CONFIG_USB_KAWETH is not set
857# CONFIG_USB_PEGASUS is not set
858# CONFIG_USB_RTL8150 is not set
859# CONFIG_USB_USBNET is not set
860CONFIG_USB_MON=y
861
862#
863# USB port drivers
864#
865
866#
867# USB Serial Converter support
868#
869# CONFIG_USB_SERIAL is not set
870
871#
872# USB Miscellaneous drivers
873#
874# CONFIG_USB_EMI62 is not set
875# CONFIG_USB_EMI26 is not set
876# CONFIG_USB_AUERSWALD is not set
877# CONFIG_USB_RIO500 is not set
878# CONFIG_USB_LEGOTOWER is not set
879# CONFIG_USB_LCD is not set
880# CONFIG_USB_LED is not set
881# CONFIG_USB_CYTHERM is not set
882# CONFIG_USB_PHIDGETKIT is not set
883# CONFIG_USB_PHIDGETSERVO is not set
884# CONFIG_USB_IDMOUSE is not set
885# CONFIG_USB_LD is not set
886
887#
888# USB DSL modem support
889#
890
891#
892# USB Gadget Support 680# USB Gadget Support
893# 681#
894# CONFIG_USB_GADGET is not set 682# CONFIG_USB_GADGET is not set
@@ -914,7 +702,6 @@ CONFIG_USB_MON=y
914# 702#
915# InfiniBand support 703# InfiniBand support
916# 704#
917# CONFIG_INFINIBAND is not set
918 705
919# 706#
920# EDAC - error detection and reporting (RAS) (EXPERIMENTAL) 707# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
@@ -926,6 +713,19 @@ CONFIG_USB_MON=y
926# CONFIG_RTC_CLASS is not set 713# CONFIG_RTC_CLASS is not set
927 714
928# 715#
716# DMA Engine support
717#
718# CONFIG_DMA_ENGINE is not set
719
720#
721# DMA Clients
722#
723
724#
725# DMA Devices
726#
727
728#
929# File systems 729# File systems
930# 730#
931CONFIG_EXT2_FS=y 731CONFIG_EXT2_FS=y
@@ -940,6 +740,7 @@ CONFIG_EXT2_FS=y
940# CONFIG_MINIX_FS is not set 740# CONFIG_MINIX_FS is not set
941# CONFIG_ROMFS_FS is not set 741# CONFIG_ROMFS_FS is not set
942CONFIG_INOTIFY=y 742CONFIG_INOTIFY=y
743CONFIG_INOTIFY_USER=y
943# CONFIG_QUOTA is not set 744# CONFIG_QUOTA is not set
944# CONFIG_DNOTIFY is not set 745# CONFIG_DNOTIFY is not set
945# CONFIG_AUTOFS_FS is not set 746# CONFIG_AUTOFS_FS is not set
@@ -1011,6 +812,7 @@ CONFIG_SUNRPC=y
1011# CONFIG_RPCSEC_GSS_SPKM3 is not set 812# CONFIG_RPCSEC_GSS_SPKM3 is not set
1012# CONFIG_SMB_FS is not set 813# CONFIG_SMB_FS is not set
1013# CONFIG_CIFS is not set 814# CONFIG_CIFS is not set
815# CONFIG_CIFS_DEBUG2 is not set
1014# CONFIG_NCP_FS is not set 816# CONFIG_NCP_FS is not set
1015# CONFIG_CODA_FS is not set 817# CONFIG_CODA_FS is not set
1016# CONFIG_AFS_FS is not set 818# CONFIG_AFS_FS is not set
@@ -1021,6 +823,7 @@ CONFIG_SUNRPC=y
1021# 823#
1022# CONFIG_PARTITION_ADVANCED is not set 824# CONFIG_PARTITION_ADVANCED is not set
1023CONFIG_MSDOS_PARTITION=y 825CONFIG_MSDOS_PARTITION=y
826CONFIG_SGI_PARTITION=y
1024 827
1025# 828#
1026# Native Language Support 829# Native Language Support
@@ -1076,15 +879,20 @@ CONFIG_NLS_DEFAULT="iso8859-1"
1076# 879#
1077# CONFIG_PRINTK_TIME is not set 880# CONFIG_PRINTK_TIME is not set
1078CONFIG_MAGIC_SYSRQ=y 881CONFIG_MAGIC_SYSRQ=y
882# CONFIG_UNUSED_SYMBOLS is not set
1079CONFIG_DEBUG_KERNEL=y 883CONFIG_DEBUG_KERNEL=y
1080CONFIG_LOG_BUF_SHIFT=14 884CONFIG_LOG_BUF_SHIFT=14
1081CONFIG_DETECT_SOFTLOCKUP=y 885CONFIG_DETECT_SOFTLOCKUP=y
1082# CONFIG_SCHEDSTATS is not set 886# CONFIG_SCHEDSTATS is not set
1083CONFIG_DEBUG_SLAB=y 887CONFIG_DEBUG_SLAB=y
1084# CONFIG_DEBUG_SLAB_LEAK is not set 888# CONFIG_DEBUG_SLAB_LEAK is not set
1085CONFIG_DEBUG_MUTEXES=y 889# CONFIG_DEBUG_RT_MUTEXES is not set
890# CONFIG_RT_MUTEX_TESTER is not set
1086# CONFIG_DEBUG_SPINLOCK is not set 891# CONFIG_DEBUG_SPINLOCK is not set
892CONFIG_DEBUG_MUTEXES=y
893# CONFIG_DEBUG_RWSEMS is not set
1087# CONFIG_DEBUG_SPINLOCK_SLEEP is not set 894# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
895# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1088# CONFIG_DEBUG_KOBJECT is not set 896# CONFIG_DEBUG_KOBJECT is not set
1089# CONFIG_DEBUG_INFO is not set 897# CONFIG_DEBUG_INFO is not set
1090# CONFIG_DEBUG_FS is not set 898# CONFIG_DEBUG_FS is not set
@@ -1144,3 +952,4 @@ CONFIG_CRC_CCITT=m
1144# CONFIG_CRC16 is not set 952# CONFIG_CRC16 is not set
1145CONFIG_CRC32=y 953CONFIG_CRC32=y
1146CONFIG_LIBCRC32C=m 954CONFIG_LIBCRC32C=m
955CONFIG_PLIST=y
diff --git a/arch/mips/configs/pnx8550-v2pci_defconfig b/arch/mips/configs/pnx8550-v2pci_defconfig
index fe092ac92e89..a8eb51bae3f3 100644
--- a/arch/mips/configs/pnx8550-v2pci_defconfig
+++ b/arch/mips/configs/pnx8550-v2pci_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.17-rc2 3# Linux kernel version: 2.6.18-rc1
4# Mon Apr 24 14:51:14 2006 4# Thu Jul 6 10:04:18 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -21,6 +21,7 @@ CONFIG_MIPS=y
21# CONFIG_MIPS_DB1550 is not set 21# CONFIG_MIPS_DB1550 is not set
22# CONFIG_MIPS_DB1200 is not set 22# CONFIG_MIPS_DB1200 is not set
23# CONFIG_MIPS_MIRAGE is not set 23# CONFIG_MIPS_MIRAGE is not set
24# CONFIG_BASLER_EXCITE is not set
24# CONFIG_MIPS_COBALT is not set 25# CONFIG_MIPS_COBALT is not set
25# CONFIG_MACH_DECSTATION is not set 26# CONFIG_MACH_DECSTATION is not set
26# CONFIG_MIPS_EV64120 is not set 27# CONFIG_MIPS_EV64120 is not set
@@ -32,6 +33,7 @@ CONFIG_MIPS=y
32# CONFIG_MIPS_ATLAS is not set 33# CONFIG_MIPS_ATLAS is not set
33# CONFIG_MIPS_MALTA is not set 34# CONFIG_MIPS_MALTA is not set
34# CONFIG_MIPS_SEAD is not set 35# CONFIG_MIPS_SEAD is not set
36# CONFIG_WR_PPMC is not set
35# CONFIG_MIPS_SIM is not set 37# CONFIG_MIPS_SIM is not set
36# CONFIG_MOMENCO_JAGUAR_ATX is not set 38# CONFIG_MOMENCO_JAGUAR_ATX is not set
37# CONFIG_MOMENCO_OCELOT is not set 39# CONFIG_MOMENCO_OCELOT is not set
@@ -39,13 +41,14 @@ CONFIG_MIPS=y
39# CONFIG_MOMENCO_OCELOT_C is not set 41# CONFIG_MOMENCO_OCELOT_C is not set
40# CONFIG_MOMENCO_OCELOT_G is not set 42# CONFIG_MOMENCO_OCELOT_G is not set
41# CONFIG_MIPS_XXS1500 is not set 43# CONFIG_MIPS_XXS1500 is not set
42CONFIG_PNX8550_V2PCI=y 44# CONFIG_PNX8550_V2PCI is not set
43# CONFIG_PNX8550_JBS is not set 45# CONFIG_PNX8550_JBS is not set
44# CONFIG_DDB5477 is not set 46# CONFIG_DDB5477 is not set
45# CONFIG_MACH_VR41XX is not set 47# CONFIG_MACH_VR41XX is not set
46# CONFIG_PMC_YOSEMITE is not set 48# CONFIG_PMC_YOSEMITE is not set
47# CONFIG_QEMU is not set 49# CONFIG_QEMU is not set
48# CONFIG_SGI_IP22 is not set 50# CONFIG_MARKEINS is not set
51CONFIG_SGI_IP22=y
49# CONFIG_SGI_IP27 is not set 52# CONFIG_SGI_IP27 is not set
50# CONFIG_SGI_IP32 is not set 53# CONFIG_SGI_IP32 is not set
51# CONFIG_SIBYTE_BIGSUR is not set 54# CONFIG_SIBYTE_BIGSUR is not set
@@ -65,19 +68,25 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y
65CONFIG_GENERIC_FIND_NEXT_BIT=y 68CONFIG_GENERIC_FIND_NEXT_BIT=y
66CONFIG_GENERIC_HWEIGHT=y 69CONFIG_GENERIC_HWEIGHT=y
67CONFIG_GENERIC_CALIBRATE_DELAY=y 70CONFIG_GENERIC_CALIBRATE_DELAY=y
71CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
72CONFIG_ARC=y
68CONFIG_DMA_NONCOHERENT=y 73CONFIG_DMA_NONCOHERENT=y
69CONFIG_DMA_NEED_PCI_MAP_STATE=y 74CONFIG_DMA_NEED_PCI_MAP_STATE=y
70# CONFIG_CPU_BIG_ENDIAN is not set 75CONFIG_CPU_BIG_ENDIAN=y
71CONFIG_CPU_LITTLE_ENDIAN=y 76# CONFIG_CPU_LITTLE_ENDIAN is not set
72CONFIG_SYS_SUPPORTS_LITTLE_ENDIAN=y 77CONFIG_SYS_SUPPORTS_BIG_ENDIAN=y
73CONFIG_PNX8550=y 78CONFIG_IRQ_CPU=y
74CONFIG_SOC_PNX8550=y 79CONFIG_SWAP_IO_SPACE=y
80CONFIG_ARC32=y
81CONFIG_BOOT_ELF32=y
75CONFIG_MIPS_L1_CACHE_SHIFT=5 82CONFIG_MIPS_L1_CACHE_SHIFT=5
83# CONFIG_ARC_CONSOLE is not set
84CONFIG_ARC_PROMLIB=y
76 85
77# 86#
78# CPU selection 87# CPU selection
79# 88#
80CONFIG_CPU_MIPS32_R1=y 89# CONFIG_CPU_MIPS32_R1 is not set
81# CONFIG_CPU_MIPS32_R2 is not set 90# CONFIG_CPU_MIPS32_R2 is not set
82# CONFIG_CPU_MIPS64_R1 is not set 91# CONFIG_CPU_MIPS64_R1 is not set
83# CONFIG_CPU_MIPS64_R2 is not set 92# CONFIG_CPU_MIPS64_R2 is not set
@@ -85,7 +94,7 @@ CONFIG_CPU_MIPS32_R1=y
85# CONFIG_CPU_TX39XX is not set 94# CONFIG_CPU_TX39XX is not set
86# CONFIG_CPU_VR41XX is not set 95# CONFIG_CPU_VR41XX is not set
87# CONFIG_CPU_R4300 is not set 96# CONFIG_CPU_R4300 is not set
88# CONFIG_CPU_R4X00 is not set 97CONFIG_CPU_R4X00=y
89# CONFIG_CPU_TX49XX is not set 98# CONFIG_CPU_TX49XX is not set
90# CONFIG_CPU_R5000 is not set 99# CONFIG_CPU_R5000 is not set
91# CONFIG_CPU_R5432 is not set 100# CONFIG_CPU_R5432 is not set
@@ -96,11 +105,12 @@ CONFIG_CPU_MIPS32_R1=y
96# CONFIG_CPU_RM7000 is not set 105# CONFIG_CPU_RM7000 is not set
97# CONFIG_CPU_RM9000 is not set 106# CONFIG_CPU_RM9000 is not set
98# CONFIG_CPU_SB1 is not set 107# CONFIG_CPU_SB1 is not set
99CONFIG_SYS_HAS_CPU_MIPS32_R1=y 108CONFIG_SYS_HAS_CPU_R4X00=y
100CONFIG_CPU_MIPS32=y 109CONFIG_SYS_HAS_CPU_R5000=y
101CONFIG_CPU_MIPSR1=y
102CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y 110CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y
111CONFIG_SYS_SUPPORTS_64BIT_KERNEL=y
103CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y 112CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y
113CONFIG_CPU_SUPPORTS_64BIT_KERNEL=y
104 114
105# 115#
106# Kernel type 116# Kernel type
@@ -111,14 +121,17 @@ CONFIG_PAGE_SIZE_4KB=y
111# CONFIG_PAGE_SIZE_8KB is not set 121# CONFIG_PAGE_SIZE_8KB is not set
112# CONFIG_PAGE_SIZE_16KB is not set 122# CONFIG_PAGE_SIZE_16KB is not set
113# CONFIG_PAGE_SIZE_64KB is not set 123# CONFIG_PAGE_SIZE_64KB is not set
114CONFIG_CPU_HAS_PREFETCH=y 124CONFIG_BOARD_SCACHE=y
115# CONFIG_MIPS_MT is not set 125CONFIG_IP22_CPU_SCACHE=y
126CONFIG_MIPS_MT_DISABLED=y
127# CONFIG_MIPS_MT_SMTC is not set
128# CONFIG_MIPS_MT_SMP is not set
129# CONFIG_MIPS_VPE_LOADER is not set
116# CONFIG_64BIT_PHYS_ADDR is not set 130# CONFIG_64BIT_PHYS_ADDR is not set
117CONFIG_CPU_HAS_LLSC=y 131CONFIG_CPU_HAS_LLSC=y
118CONFIG_CPU_HAS_SYNC=y 132CONFIG_CPU_HAS_SYNC=y
119CONFIG_GENERIC_HARDIRQS=y 133CONFIG_GENERIC_HARDIRQS=y
120CONFIG_GENERIC_IRQ_PROBE=y 134CONFIG_GENERIC_IRQ_PROBE=y
121CONFIG_CPU_SUPPORTS_HIGHMEM=y
122CONFIG_ARCH_FLATMEM_ENABLE=y 135CONFIG_ARCH_FLATMEM_ENABLE=y
123CONFIG_SELECT_MEMORY_MODEL=y 136CONFIG_SELECT_MEMORY_MODEL=y
124CONFIG_FLATMEM_MANUAL=y 137CONFIG_FLATMEM_MANUAL=y
@@ -128,6 +141,7 @@ CONFIG_FLATMEM=y
128CONFIG_FLAT_NODE_MEM_MAP=y 141CONFIG_FLAT_NODE_MEM_MAP=y
129# CONFIG_SPARSEMEM_STATIC is not set 142# CONFIG_SPARSEMEM_STATIC is not set
130CONFIG_SPLIT_PTLOCK_CPUS=4 143CONFIG_SPLIT_PTLOCK_CPUS=4
144# CONFIG_RESOURCES_64BIT is not set
131# CONFIG_HZ_48 is not set 145# CONFIG_HZ_48 is not set
132# CONFIG_HZ_100 is not set 146# CONFIG_HZ_100 is not set
133# CONFIG_HZ_128 is not set 147# CONFIG_HZ_128 is not set
@@ -140,6 +154,7 @@ CONFIG_HZ=1000
140CONFIG_PREEMPT_NONE=y 154CONFIG_PREEMPT_NONE=y
141# CONFIG_PREEMPT_VOLUNTARY is not set 155# CONFIG_PREEMPT_VOLUNTARY is not set
142# CONFIG_PREEMPT is not set 156# CONFIG_PREEMPT is not set
157CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
143 158
144# 159#
145# Code maturity level options 160# Code maturity level options
@@ -172,10 +187,12 @@ CONFIG_PRINTK=y
172CONFIG_BUG=y 187CONFIG_BUG=y
173CONFIG_ELF_CORE=y 188CONFIG_ELF_CORE=y
174CONFIG_BASE_FULL=y 189CONFIG_BASE_FULL=y
190CONFIG_RT_MUTEXES=y
175CONFIG_FUTEX=y 191CONFIG_FUTEX=y
176CONFIG_EPOLL=y 192CONFIG_EPOLL=y
177CONFIG_SHMEM=y 193CONFIG_SHMEM=y
178CONFIG_SLAB=y 194CONFIG_SLAB=y
195CONFIG_VM_EVENT_COUNTERS=y
179# CONFIG_TINY_SHMEM is not set 196# CONFIG_TINY_SHMEM is not set
180CONFIG_BASE_SMALL=0 197CONFIG_BASE_SMALL=0
181# CONFIG_SLOB is not set 198# CONFIG_SLOB is not set
@@ -212,8 +229,8 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
212# 229#
213# Bus options (PCI, PCMCIA, EISA, ISA, TC) 230# Bus options (PCI, PCMCIA, EISA, ISA, TC)
214# 231#
215CONFIG_HW_HAS_PCI=y 232CONFIG_HW_HAS_EISA=y
216CONFIG_PCI=y 233# CONFIG_EISA is not set
217CONFIG_MMU=y 234CONFIG_MMU=y
218 235
219# 236#
@@ -224,7 +241,6 @@ CONFIG_MMU=y
224# 241#
225# PCI Hotplug Support 242# PCI Hotplug Support
226# 243#
227# CONFIG_HOTPLUG_PCI is not set
228 244
229# 245#
230# Executable file formats 246# Executable file formats
@@ -245,6 +261,8 @@ CONFIG_NET=y
245CONFIG_PACKET=y 261CONFIG_PACKET=y
246# CONFIG_PACKET_MMAP is not set 262# CONFIG_PACKET_MMAP is not set
247CONFIG_UNIX=y 263CONFIG_UNIX=y
264CONFIG_XFRM=y
265# CONFIG_XFRM_USER is not set
248# CONFIG_NET_KEY is not set 266# CONFIG_NET_KEY is not set
249CONFIG_INET=y 267CONFIG_INET=y
250# CONFIG_IP_MULTICAST is not set 268# CONFIG_IP_MULTICAST is not set
@@ -263,6 +281,8 @@ CONFIG_IP_PNP=y
263# CONFIG_INET_IPCOMP is not set 281# CONFIG_INET_IPCOMP is not set
264# CONFIG_INET_XFRM_TUNNEL is not set 282# CONFIG_INET_XFRM_TUNNEL is not set
265# CONFIG_INET_TUNNEL is not set 283# CONFIG_INET_TUNNEL is not set
284CONFIG_INET_XFRM_MODE_TRANSPORT=m
285CONFIG_INET_XFRM_MODE_TUNNEL=m
266CONFIG_INET_DIAG=y 286CONFIG_INET_DIAG=y
267CONFIG_INET_TCP_DIAG=y 287CONFIG_INET_TCP_DIAG=y
268# CONFIG_TCP_CONG_ADVANCED is not set 288# CONFIG_TCP_CONG_ADVANCED is not set
@@ -281,7 +301,10 @@ CONFIG_IPV6_ROUTE_INFO=y
281# CONFIG_INET6_IPCOMP is not set 301# CONFIG_INET6_IPCOMP is not set
282# CONFIG_INET6_XFRM_TUNNEL is not set 302# CONFIG_INET6_XFRM_TUNNEL is not set
283# CONFIG_INET6_TUNNEL is not set 303# CONFIG_INET6_TUNNEL is not set
304CONFIG_INET6_XFRM_MODE_TRANSPORT=m
305CONFIG_INET6_XFRM_MODE_TUNNEL=m
284# CONFIG_IPV6_TUNNEL is not set 306# CONFIG_IPV6_TUNNEL is not set
307CONFIG_NETWORK_SECMARK=y
285CONFIG_NETFILTER=y 308CONFIG_NETFILTER=y
286# CONFIG_NETFILTER_DEBUG is not set 309# CONFIG_NETFILTER_DEBUG is not set
287 310
@@ -294,6 +317,7 @@ CONFIG_NETFILTER_XTABLES=m
294CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m 317CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
295CONFIG_NETFILTER_XT_TARGET_MARK=m 318CONFIG_NETFILTER_XT_TARGET_MARK=m
296CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m 319CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
320CONFIG_NETFILTER_XT_TARGET_SECMARK=m
297CONFIG_NETFILTER_XT_MATCH_COMMENT=m 321CONFIG_NETFILTER_XT_MATCH_COMMENT=m
298CONFIG_NETFILTER_XT_MATCH_DCCP=m 322CONFIG_NETFILTER_XT_MATCH_DCCP=m
299CONFIG_NETFILTER_XT_MATCH_ESP=m 323CONFIG_NETFILTER_XT_MATCH_ESP=m
@@ -301,10 +325,13 @@ CONFIG_NETFILTER_XT_MATCH_LENGTH=m
301CONFIG_NETFILTER_XT_MATCH_LIMIT=m 325CONFIG_NETFILTER_XT_MATCH_LIMIT=m
302CONFIG_NETFILTER_XT_MATCH_MAC=m 326CONFIG_NETFILTER_XT_MATCH_MAC=m
303CONFIG_NETFILTER_XT_MATCH_MARK=m 327CONFIG_NETFILTER_XT_MATCH_MARK=m
328# CONFIG_NETFILTER_XT_MATCH_POLICY is not set
304CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m 329CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
305CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m 330CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
331CONFIG_NETFILTER_XT_MATCH_QUOTA=m
306CONFIG_NETFILTER_XT_MATCH_REALM=m 332CONFIG_NETFILTER_XT_MATCH_REALM=m
307CONFIG_NETFILTER_XT_MATCH_SCTP=m 333CONFIG_NETFILTER_XT_MATCH_SCTP=m
334CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
308CONFIG_NETFILTER_XT_MATCH_STRING=m 335CONFIG_NETFILTER_XT_MATCH_STRING=m
309CONFIG_NETFILTER_XT_MATCH_TCPMSS=m 336CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
310 337
@@ -374,6 +401,7 @@ CONFIG_NET_CLS_ROUTE=y
374CONFIG_STANDALONE=y 401CONFIG_STANDALONE=y
375CONFIG_PREVENT_FIRMWARE_BUILD=y 402CONFIG_PREVENT_FIRMWARE_BUILD=y
376CONFIG_FW_LOADER=y 403CONFIG_FW_LOADER=y
404# CONFIG_SYS_HYPERVISOR is not set
377 405
378# 406#
379# Connector - unified userspace <-> kernelspace linker 407# Connector - unified userspace <-> kernelspace linker
@@ -397,16 +425,10 @@ CONFIG_FW_LOADER=y
397# 425#
398# Block devices 426# Block devices
399# 427#
400# CONFIG_BLK_CPQ_DA is not set
401# CONFIG_BLK_CPQ_CISS_DA is not set
402# CONFIG_BLK_DEV_DAC960 is not set
403# CONFIG_BLK_DEV_UMEM is not set
404# CONFIG_BLK_DEV_COW_COMMON is not set 428# CONFIG_BLK_DEV_COW_COMMON is not set
405CONFIG_BLK_DEV_LOOP=y 429CONFIG_BLK_DEV_LOOP=y
406# CONFIG_BLK_DEV_CRYPTOLOOP is not set 430# CONFIG_BLK_DEV_CRYPTOLOOP is not set
407# CONFIG_BLK_DEV_NBD is not set 431# CONFIG_BLK_DEV_NBD is not set
408# CONFIG_BLK_DEV_SX8 is not set
409# CONFIG_BLK_DEV_UB is not set
410CONFIG_BLK_DEV_RAM=y 432CONFIG_BLK_DEV_RAM=y
411CONFIG_BLK_DEV_RAM_COUNT=16 433CONFIG_BLK_DEV_RAM_COUNT=16
412CONFIG_BLK_DEV_RAM_SIZE=8192 434CONFIG_BLK_DEV_RAM_SIZE=8192
@@ -436,40 +458,9 @@ CONFIG_IDEDISK_MULTI_MODE=y
436# IDE chipset support/bugfixes 458# IDE chipset support/bugfixes
437# 459#
438CONFIG_IDE_GENERIC=y 460CONFIG_IDE_GENERIC=y
439CONFIG_BLK_DEV_IDEPCI=y
440CONFIG_IDEPCI_SHARE_IRQ=y
441# CONFIG_BLK_DEV_OFFBOARD is not set
442# CONFIG_BLK_DEV_GENERIC is not set
443# CONFIG_BLK_DEV_OPTI621 is not set
444CONFIG_BLK_DEV_IDEDMA_PCI=y
445# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
446CONFIG_IDEDMA_PCI_AUTO=y
447# CONFIG_IDEDMA_ONLYDISK is not set
448# CONFIG_BLK_DEV_AEC62XX is not set
449# CONFIG_BLK_DEV_ALI15X3 is not set
450# CONFIG_BLK_DEV_AMD74XX is not set
451CONFIG_BLK_DEV_CMD64X=y
452# CONFIG_BLK_DEV_TRIFLEX is not set
453# CONFIG_BLK_DEV_CY82C693 is not set
454# CONFIG_BLK_DEV_CS5520 is not set
455# CONFIG_BLK_DEV_CS5530 is not set
456# CONFIG_BLK_DEV_HPT34X is not set
457# CONFIG_BLK_DEV_HPT366 is not set
458# CONFIG_BLK_DEV_SC1200 is not set
459# CONFIG_BLK_DEV_PIIX is not set
460# CONFIG_BLK_DEV_IT821X is not set
461# CONFIG_BLK_DEV_NS87415 is not set
462# CONFIG_BLK_DEV_PDC202XX_OLD is not set
463# CONFIG_BLK_DEV_PDC202XX_NEW is not set
464# CONFIG_BLK_DEV_SVWKS is not set
465# CONFIG_BLK_DEV_SIIMAGE is not set
466# CONFIG_BLK_DEV_SLC90E66 is not set
467# CONFIG_BLK_DEV_TRM290 is not set
468# CONFIG_BLK_DEV_VIA82CXXX is not set
469# CONFIG_IDE_ARM is not set 461# CONFIG_IDE_ARM is not set
470CONFIG_BLK_DEV_IDEDMA=y 462# CONFIG_BLK_DEV_IDEDMA is not set
471# CONFIG_IDEDMA_IVB is not set 463# CONFIG_IDEDMA_AUTO is not set
472CONFIG_IDEDMA_AUTO=y
473# CONFIG_BLK_DEV_HD is not set 464# CONFIG_BLK_DEV_HD is not set
474 465
475# 466#
@@ -508,36 +499,8 @@ CONFIG_SCSI_ISCSI_ATTRS=m
508# SCSI low-level drivers 499# SCSI low-level drivers
509# 500#
510CONFIG_ISCSI_TCP=m 501CONFIG_ISCSI_TCP=m
511# CONFIG_BLK_DEV_3W_XXXX_RAID is not set 502# CONFIG_SGIWD93_SCSI is not set
512# CONFIG_SCSI_3W_9XXX is not set
513# CONFIG_SCSI_ACARD is not set
514# CONFIG_SCSI_AACRAID is not set
515CONFIG_SCSI_AIC7XXX=m
516CONFIG_AIC7XXX_CMDS_PER_DEVICE=32
517CONFIG_AIC7XXX_RESET_DELAY_MS=15000
518# CONFIG_AIC7XXX_DEBUG_ENABLE is not set
519CONFIG_AIC7XXX_DEBUG_MASK=0
520# CONFIG_AIC7XXX_REG_PRETTY_PRINT is not set
521# CONFIG_SCSI_AIC7XXX_OLD is not set
522# CONFIG_SCSI_AIC79XX is not set
523# CONFIG_SCSI_DPT_I2O is not set
524# CONFIG_MEGARAID_NEWGEN is not set
525# CONFIG_MEGARAID_LEGACY is not set
526# CONFIG_MEGARAID_SAS is not set
527# CONFIG_SCSI_SATA is not set 503# CONFIG_SCSI_SATA is not set
528# CONFIG_SCSI_DMX3191D is not set
529# CONFIG_SCSI_FUTURE_DOMAIN is not set
530# CONFIG_SCSI_IPS is not set
531# CONFIG_SCSI_INITIO is not set
532# CONFIG_SCSI_INIA100 is not set
533# CONFIG_SCSI_SYM53C8XX_2 is not set
534# CONFIG_SCSI_IPR is not set
535# CONFIG_SCSI_QLOGIC_1280 is not set
536# CONFIG_SCSI_QLA_FC is not set
537# CONFIG_SCSI_LPFC is not set
538# CONFIG_SCSI_DC395x is not set
539# CONFIG_SCSI_DC390T is not set
540# CONFIG_SCSI_NSP32 is not set
541# CONFIG_SCSI_DEBUG is not set 504# CONFIG_SCSI_DEBUG is not set
542 505
543# 506#
@@ -549,19 +512,14 @@ CONFIG_AIC7XXX_DEBUG_MASK=0
549# Fusion MPT device support 512# Fusion MPT device support
550# 513#
551# CONFIG_FUSION is not set 514# CONFIG_FUSION is not set
552# CONFIG_FUSION_SPI is not set
553# CONFIG_FUSION_FC is not set
554# CONFIG_FUSION_SAS is not set
555 515
556# 516#
557# IEEE 1394 (FireWire) support 517# IEEE 1394 (FireWire) support
558# 518#
559# CONFIG_IEEE1394 is not set
560 519
561# 520#
562# I2O device support 521# I2O device support
563# 522#
564# CONFIG_I2O is not set
565 523
566# 524#
567# Network device support 525# Network device support
@@ -573,11 +531,6 @@ CONFIG_NETDEVICES=y
573CONFIG_TUN=m 531CONFIG_TUN=m
574 532
575# 533#
576# ARCnet devices
577#
578# CONFIG_ARCNET is not set
579
580#
581# PHY device support 534# PHY device support
582# 535#
583# CONFIG_PHYLIB is not set 536# CONFIG_PHYLIB is not set
@@ -587,71 +540,20 @@ CONFIG_TUN=m
587# 540#
588CONFIG_NET_ETHERNET=y 541CONFIG_NET_ETHERNET=y
589CONFIG_MII=y 542CONFIG_MII=y
590# CONFIG_HAPPYMEAL is not set
591# CONFIG_SUNGEM is not set
592# CONFIG_CASSINI is not set
593# CONFIG_NET_VENDOR_3COM is not set
594# CONFIG_DM9000 is not set 543# CONFIG_DM9000 is not set
595 544# CONFIG_SGISEEQ is not set
596#
597# Tulip family network device support
598#
599# CONFIG_NET_TULIP is not set
600# CONFIG_HP100 is not set
601CONFIG_NET_PCI=y
602# CONFIG_PCNET32 is not set
603# CONFIG_AMD8111_ETH is not set
604# CONFIG_ADAPTEC_STARFIRE is not set
605# CONFIG_B44 is not set
606# CONFIG_FORCEDETH is not set
607# CONFIG_DGRS is not set
608# CONFIG_EEPRO100 is not set
609# CONFIG_E100 is not set
610# CONFIG_FEALNX is not set
611CONFIG_NATSEMI=y
612# CONFIG_NE2K_PCI is not set
613# CONFIG_8139CP is not set
614CONFIG_8139TOO=y
615# CONFIG_8139TOO_PIO is not set
616# CONFIG_8139TOO_TUNE_TWISTER is not set
617# CONFIG_8139TOO_8129 is not set
618# CONFIG_8139_OLD_RX_RESET is not set
619# CONFIG_SIS900 is not set
620# CONFIG_EPIC100 is not set
621# CONFIG_SUNDANCE is not set
622# CONFIG_TLAN is not set
623# CONFIG_VIA_RHINE is not set
624# CONFIG_LAN_SAA9730 is not set
625 545
626# 546#
627# Ethernet (1000 Mbit) 547# Ethernet (1000 Mbit)
628# 548#
629# CONFIG_ACENIC is not set
630# CONFIG_DL2K is not set
631# CONFIG_E1000 is not set
632# CONFIG_NS83820 is not set
633# CONFIG_HAMACHI is not set
634# CONFIG_YELLOWFIN is not set
635# CONFIG_R8169 is not set
636# CONFIG_SIS190 is not set
637# CONFIG_SKGE is not set
638# CONFIG_SKY2 is not set
639# CONFIG_SK98LIN is not set
640# CONFIG_VIA_VELOCITY is not set
641# CONFIG_TIGON3 is not set
642# CONFIG_BNX2 is not set
643 549
644# 550#
645# Ethernet (10000 Mbit) 551# Ethernet (10000 Mbit)
646# 552#
647# CONFIG_CHELSIO_T1 is not set
648# CONFIG_IXGB is not set
649# CONFIG_S2IO is not set
650 553
651# 554#
652# Token Ring devices 555# Token Ring devices
653# 556#
654# CONFIG_TR is not set
655 557
656# 558#
657# Wireless LAN (non-hamradio) 559# Wireless LAN (non-hamradio)
@@ -662,8 +564,6 @@ CONFIG_8139TOO=y
662# Wan interfaces 564# Wan interfaces
663# 565#
664# CONFIG_WAN is not set 566# CONFIG_WAN is not set
665# CONFIG_FDDI is not set
666# CONFIG_HIPPI is not set
667CONFIG_PPP=m 567CONFIG_PPP=m
668# CONFIG_PPP_MULTILINK is not set 568# CONFIG_PPP_MULTILINK is not set
669# CONFIG_PPP_FILTER is not set 569# CONFIG_PPP_FILTER is not set
@@ -674,7 +574,6 @@ CONFIG_PPP_DEFLATE=m
674CONFIG_PPP_MPPE=m 574CONFIG_PPP_MPPE=m
675# CONFIG_PPPOE is not set 575# CONFIG_PPPOE is not set
676# CONFIG_SLIP is not set 576# CONFIG_SLIP is not set
677# CONFIG_NET_FC is not set
678# CONFIG_SHAPER is not set 577# CONFIG_SHAPER is not set
679# CONFIG_NETCONSOLE is not set 578# CONFIG_NETCONSOLE is not set
680# CONFIG_NETPOLL is not set 579# CONFIG_NETPOLL is not set
@@ -730,7 +629,6 @@ CONFIG_MOUSE_PS2=y
730CONFIG_SERIO=y 629CONFIG_SERIO=y
731CONFIG_SERIO_I8042=y 630CONFIG_SERIO_I8042=y
732CONFIG_SERIO_SERPORT=y 631CONFIG_SERIO_SERPORT=y
733# CONFIG_SERIO_PCIPS2 is not set
734CONFIG_SERIO_LIBPS2=y 632CONFIG_SERIO_LIBPS2=y
735# CONFIG_SERIO_RAW is not set 633# CONFIG_SERIO_RAW is not set
736# CONFIG_GAMEPORT is not set 634# CONFIG_GAMEPORT is not set
@@ -741,6 +639,7 @@ CONFIG_SERIO_LIBPS2=y
741CONFIG_VT=y 639CONFIG_VT=y
742# CONFIG_VT_CONSOLE is not set 640# CONFIG_VT_CONSOLE is not set
743CONFIG_HW_CONSOLE=y 641CONFIG_HW_CONSOLE=y
642CONFIG_VT_HW_CONSOLE_BINDING=y
744CONFIG_SERIAL_NONSTANDARD=y 643CONFIG_SERIAL_NONSTANDARD=y
745# CONFIG_COMPUTONE is not set 644# CONFIG_COMPUTONE is not set
746# CONFIG_ROCKETPORT is not set 645# CONFIG_ROCKETPORT is not set
@@ -750,7 +649,6 @@ CONFIG_SERIAL_NONSTANDARD=y
750# CONFIG_MOXA_SMARTIO is not set 649# CONFIG_MOXA_SMARTIO is not set
751# CONFIG_ISI is not set 650# CONFIG_ISI is not set
752# CONFIG_SYNCLINKMP is not set 651# CONFIG_SYNCLINKMP is not set
753# CONFIG_SYNCLINK_GT is not set
754# CONFIG_N_HDLC is not set 652# CONFIG_N_HDLC is not set
755# CONFIG_RISCOM8 is not set 653# CONFIG_RISCOM8 is not set
756# CONFIG_SPECIALIX is not set 654# CONFIG_SPECIALIX is not set
@@ -766,8 +664,7 @@ CONFIG_SERIAL_NONSTANDARD=y
766# 664#
767# Non-8250 serial port support 665# Non-8250 serial port support
768# 666#
769# CONFIG_SERIAL_IP3106 is not set 667# CONFIG_SERIAL_IP22_ZILOG is not set
770# CONFIG_SERIAL_JSM is not set
771CONFIG_UNIX98_PTYS=y 668CONFIG_UNIX98_PTYS=y
772CONFIG_LEGACY_PTYS=y 669CONFIG_LEGACY_PTYS=y
773CONFIG_LEGACY_PTY_COUNT=256 670CONFIG_LEGACY_PTY_COUNT=256
@@ -781,16 +678,16 @@ CONFIG_LEGACY_PTY_COUNT=256
781# Watchdog Cards 678# Watchdog Cards
782# 679#
783# CONFIG_WATCHDOG is not set 680# CONFIG_WATCHDOG is not set
681# CONFIG_HW_RANDOM is not set
784# CONFIG_RTC is not set 682# CONFIG_RTC is not set
683# CONFIG_SGI_DS1286 is not set
785# CONFIG_GEN_RTC is not set 684# CONFIG_GEN_RTC is not set
786# CONFIG_DTLK is not set 685# CONFIG_DTLK is not set
787# CONFIG_R3964 is not set 686# CONFIG_R3964 is not set
788# CONFIG_APPLICOM is not set
789 687
790# 688#
791# Ftape, the floppy tape device driver 689# Ftape, the floppy tape device driver
792# 690#
793# CONFIG_DRM is not set
794# CONFIG_RAW_DRIVER is not set 691# CONFIG_RAW_DRIVER is not set
795 692
796# 693#
@@ -811,29 +708,14 @@ CONFIG_I2C_CHARDEV=m
811CONFIG_I2C_ALGOBIT=m 708CONFIG_I2C_ALGOBIT=m
812# CONFIG_I2C_ALGOPCF is not set 709# CONFIG_I2C_ALGOPCF is not set
813# CONFIG_I2C_ALGOPCA is not set 710# CONFIG_I2C_ALGOPCA is not set
711# CONFIG_I2C_ALGO_SGI is not set
814 712
815# 713#
816# I2C Hardware Bus support 714# I2C Hardware Bus support
817# 715#
818# CONFIG_I2C_ALI1535 is not set 716# CONFIG_I2C_OCORES is not set
819# CONFIG_I2C_ALI1563 is not set
820# CONFIG_I2C_ALI15X3 is not set
821# CONFIG_I2C_AMD756 is not set
822# CONFIG_I2C_AMD8111 is not set
823# CONFIG_I2C_I801 is not set
824# CONFIG_I2C_I810 is not set
825# CONFIG_I2C_PIIX4 is not set
826# CONFIG_I2C_NFORCE2 is not set
827# CONFIG_I2C_PARPORT_LIGHT is not set 717# CONFIG_I2C_PARPORT_LIGHT is not set
828# CONFIG_I2C_PROSAVAGE is not set
829# CONFIG_I2C_SAVAGE4 is not set
830# CONFIG_I2C_SIS5595 is not set
831# CONFIG_I2C_SIS630 is not set
832# CONFIG_I2C_SIS96X is not set
833# CONFIG_I2C_STUB is not set 718# CONFIG_I2C_STUB is not set
834# CONFIG_I2C_VIA is not set
835# CONFIG_I2C_VIAPRO is not set
836# CONFIG_I2C_VOODOO3 is not set
837# CONFIG_I2C_PCA_ISA is not set 719# CONFIG_I2C_PCA_ISA is not set
838 720
839# 721#
@@ -860,13 +742,13 @@ CONFIG_I2C_ALGOBIT=m
860# 742#
861# Dallas's 1-wire bus 743# Dallas's 1-wire bus
862# 744#
863# CONFIG_W1 is not set
864 745
865# 746#
866# Hardware Monitoring support 747# Hardware Monitoring support
867# 748#
868CONFIG_HWMON=y 749CONFIG_HWMON=y
869# CONFIG_HWMON_VID is not set 750# CONFIG_HWMON_VID is not set
751# CONFIG_SENSORS_ABITUGURU is not set
870# CONFIG_SENSORS_ADM1021 is not set 752# CONFIG_SENSORS_ADM1021 is not set
871# CONFIG_SENSORS_ADM1025 is not set 753# CONFIG_SENSORS_ADM1025 is not set
872# CONFIG_SENSORS_ADM1026 is not set 754# CONFIG_SENSORS_ADM1026 is not set
@@ -893,12 +775,11 @@ CONFIG_HWMON=y
893# CONFIG_SENSORS_LM92 is not set 775# CONFIG_SENSORS_LM92 is not set
894# CONFIG_SENSORS_MAX1619 is not set 776# CONFIG_SENSORS_MAX1619 is not set
895# CONFIG_SENSORS_PC87360 is not set 777# CONFIG_SENSORS_PC87360 is not set
896# CONFIG_SENSORS_SIS5595 is not set
897# CONFIG_SENSORS_SMSC47M1 is not set 778# CONFIG_SENSORS_SMSC47M1 is not set
779# CONFIG_SENSORS_SMSC47M192 is not set
898# CONFIG_SENSORS_SMSC47B397 is not set 780# CONFIG_SENSORS_SMSC47B397 is not set
899# CONFIG_SENSORS_VIA686A is not set
900# CONFIG_SENSORS_VT8231 is not set
901# CONFIG_SENSORS_W83781D is not set 781# CONFIG_SENSORS_W83781D is not set
782# CONFIG_SENSORS_W83791D is not set
902# CONFIG_SENSORS_W83792D is not set 783# CONFIG_SENSORS_W83792D is not set
903# CONFIG_SENSORS_W83L785TS is not set 784# CONFIG_SENSORS_W83L785TS is not set
904# CONFIG_SENSORS_W83627HF is not set 785# CONFIG_SENSORS_W83627HF is not set
@@ -913,50 +794,33 @@ CONFIG_HWMON=y
913# Multimedia devices 794# Multimedia devices
914# 795#
915# CONFIG_VIDEO_DEV is not set 796# CONFIG_VIDEO_DEV is not set
797CONFIG_VIDEO_V4L2=y
916 798
917# 799#
918# Digital Video Broadcasting Devices 800# Digital Video Broadcasting Devices
919# 801#
920# CONFIG_DVB is not set 802# CONFIG_DVB is not set
921# CONFIG_USB_DABUSB is not set
922 803
923# 804#
924# Graphics support 805# Graphics support
925# 806#
807# CONFIG_FIRMWARE_EDID is not set
926CONFIG_FB=y 808CONFIG_FB=y
927# CONFIG_FB_CFB_FILLRECT is not set 809# CONFIG_FB_CFB_FILLRECT is not set
928# CONFIG_FB_CFB_COPYAREA is not set 810# CONFIG_FB_CFB_COPYAREA is not set
929# CONFIG_FB_CFB_IMAGEBLIT is not set 811# CONFIG_FB_CFB_IMAGEBLIT is not set
930# CONFIG_FB_MACMODES is not set 812# CONFIG_FB_MACMODES is not set
931CONFIG_FB_FIRMWARE_EDID=y 813# CONFIG_FB_BACKLIGHT is not set
932# CONFIG_FB_MODE_HELPERS is not set 814# CONFIG_FB_MODE_HELPERS is not set
933# CONFIG_FB_TILEBLITTING is not set 815# CONFIG_FB_TILEBLITTING is not set
934# CONFIG_FB_CIRRUS is not set
935# CONFIG_FB_PM2 is not set
936# CONFIG_FB_CYBER2000 is not set
937# CONFIG_FB_ASILIANT is not set
938# CONFIG_FB_IMSTT is not set
939# CONFIG_FB_S1D13XXX is not set 816# CONFIG_FB_S1D13XXX is not set
940# CONFIG_FB_NVIDIA is not set
941# CONFIG_FB_RIVA is not set
942# CONFIG_FB_MATROX is not set
943# CONFIG_FB_RADEON is not set
944# CONFIG_FB_ATY128 is not set
945# CONFIG_FB_ATY is not set
946# CONFIG_FB_SAVAGE is not set
947# CONFIG_FB_SIS is not set
948# CONFIG_FB_NEOMAGIC is not set
949# CONFIG_FB_KYRO is not set
950# CONFIG_FB_3DFX is not set
951# CONFIG_FB_VOODOO1 is not set
952# CONFIG_FB_SMIVGX is not set
953# CONFIG_FB_TRIDENT is not set
954# CONFIG_FB_VIRTUAL is not set 817# CONFIG_FB_VIRTUAL is not set
955 818
956# 819#
957# Console display driver support 820# Console display driver support
958# 821#
959# CONFIG_VGA_CONSOLE is not set 822# CONFIG_VGA_CONSOLE is not set
823# CONFIG_SGI_NEWPORT_CONSOLE is not set
960CONFIG_DUMMY_CONSOLE=y 824CONFIG_DUMMY_CONSOLE=y
961# CONFIG_FRAMEBUFFER_CONSOLE is not set 825# CONFIG_FRAMEBUFFER_CONSOLE is not set
962 826
@@ -974,124 +838,15 @@ CONFIG_DUMMY_CONSOLE=y
974# 838#
975# USB support 839# USB support
976# 840#
977CONFIG_USB_ARCH_HAS_HCD=y 841# CONFIG_USB_ARCH_HAS_HCD is not set
978CONFIG_USB_ARCH_HAS_OHCI=y 842# CONFIG_USB_ARCH_HAS_OHCI is not set
979CONFIG_USB_ARCH_HAS_EHCI=y 843# CONFIG_USB_ARCH_HAS_EHCI is not set
980CONFIG_USB=y
981# CONFIG_USB_DEBUG is not set
982
983#
984# Miscellaneous USB options
985#
986CONFIG_USB_DEVICEFS=y
987# CONFIG_USB_BANDWIDTH is not set
988# CONFIG_USB_DYNAMIC_MINORS is not set
989# CONFIG_USB_OTG is not set
990
991#
992# USB Host Controller Drivers
993#
994# CONFIG_USB_EHCI_HCD is not set
995# CONFIG_USB_ISP116X_HCD is not set
996# CONFIG_USB_OHCI_HCD is not set
997# CONFIG_USB_UHCI_HCD is not set
998# CONFIG_USB_SL811_HCD is not set
999
1000#
1001# USB Device Class drivers
1002#
1003# CONFIG_USB_ACM is not set
1004# CONFIG_USB_PRINTER is not set
1005 844
1006# 845#
1007# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 846# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
1008# 847#
1009 848
1010# 849#
1011# may also be needed; see USB_STORAGE Help for more information
1012#
1013CONFIG_USB_STORAGE=y
1014# CONFIG_USB_STORAGE_DEBUG is not set
1015# CONFIG_USB_STORAGE_DATAFAB is not set
1016# CONFIG_USB_STORAGE_FREECOM is not set
1017# CONFIG_USB_STORAGE_ISD200 is not set
1018# CONFIG_USB_STORAGE_DPCM is not set
1019# CONFIG_USB_STORAGE_USBAT is not set
1020# CONFIG_USB_STORAGE_SDDR09 is not set
1021# CONFIG_USB_STORAGE_SDDR55 is not set
1022# CONFIG_USB_STORAGE_JUMPSHOT is not set
1023# CONFIG_USB_STORAGE_ALAUDA is not set
1024# CONFIG_USB_STORAGE_ONETOUCH is not set
1025# CONFIG_USB_LIBUSUAL is not set
1026
1027#
1028# USB Input Devices
1029#
1030CONFIG_USB_HID=y
1031CONFIG_USB_HIDINPUT=y
1032# CONFIG_USB_HIDINPUT_POWERBOOK is not set
1033# CONFIG_HID_FF is not set
1034CONFIG_USB_HIDDEV=y
1035# CONFIG_USB_AIPTEK is not set
1036# CONFIG_USB_WACOM is not set
1037# CONFIG_USB_ACECAD is not set
1038# CONFIG_USB_KBTAB is not set
1039# CONFIG_USB_POWERMATE is not set
1040# CONFIG_USB_TOUCHSCREEN is not set
1041# CONFIG_USB_YEALINK is not set
1042# CONFIG_USB_XPAD is not set
1043# CONFIG_USB_ATI_REMOTE is not set
1044# CONFIG_USB_ATI_REMOTE2 is not set
1045# CONFIG_USB_KEYSPAN_REMOTE is not set
1046# CONFIG_USB_APPLETOUCH is not set
1047
1048#
1049# USB Imaging devices
1050#
1051# CONFIG_USB_MDC800 is not set
1052# CONFIG_USB_MICROTEK is not set
1053
1054#
1055# USB Network Adapters
1056#
1057# CONFIG_USB_CATC is not set
1058# CONFIG_USB_KAWETH is not set
1059# CONFIG_USB_PEGASUS is not set
1060# CONFIG_USB_RTL8150 is not set
1061# CONFIG_USB_USBNET is not set
1062CONFIG_USB_MON=y
1063
1064#
1065# USB port drivers
1066#
1067
1068#
1069# USB Serial Converter support
1070#
1071# CONFIG_USB_SERIAL is not set
1072
1073#
1074# USB Miscellaneous drivers
1075#
1076# CONFIG_USB_EMI62 is not set
1077# CONFIG_USB_EMI26 is not set
1078# CONFIG_USB_AUERSWALD is not set
1079# CONFIG_USB_RIO500 is not set
1080# CONFIG_USB_LEGOTOWER is not set
1081# CONFIG_USB_LCD is not set
1082# CONFIG_USB_LED is not set
1083# CONFIG_USB_CYTHERM is not set
1084# CONFIG_USB_PHIDGETKIT is not set
1085# CONFIG_USB_PHIDGETSERVO is not set
1086# CONFIG_USB_IDMOUSE is not set
1087# CONFIG_USB_LD is not set
1088# CONFIG_USB_TEST is not set
1089
1090#
1091# USB DSL modem support
1092#
1093
1094#
1095# USB Gadget Support 850# USB Gadget Support
1096# 851#
1097# CONFIG_USB_GADGET is not set 852# CONFIG_USB_GADGET is not set
@@ -1117,7 +872,6 @@ CONFIG_USB_MON=y
1117# 872#
1118# InfiniBand support 873# InfiniBand support
1119# 874#
1120# CONFIG_INFINIBAND is not set
1121 875
1122# 876#
1123# EDAC - error detection and reporting (RAS) (EXPERIMENTAL) 877# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
@@ -1129,6 +883,19 @@ CONFIG_USB_MON=y
1129# CONFIG_RTC_CLASS is not set 883# CONFIG_RTC_CLASS is not set
1130 884
1131# 885#
886# DMA Engine support
887#
888# CONFIG_DMA_ENGINE is not set
889
890#
891# DMA Clients
892#
893
894#
895# DMA Devices
896#
897
898#
1132# File systems 899# File systems
1133# 900#
1134CONFIG_EXT2_FS=y 901CONFIG_EXT2_FS=y
@@ -1145,7 +912,6 @@ CONFIG_FS_MBCACHE=y
1145# CONFIG_JFS_FS is not set 912# CONFIG_JFS_FS is not set
1146# CONFIG_FS_POSIX_ACL is not set 913# CONFIG_FS_POSIX_ACL is not set
1147CONFIG_XFS_FS=m 914CONFIG_XFS_FS=m
1148CONFIG_XFS_EXPORT=y
1149# CONFIG_XFS_QUOTA is not set 915# CONFIG_XFS_QUOTA is not set
1150# CONFIG_XFS_SECURITY is not set 916# CONFIG_XFS_SECURITY is not set
1151# CONFIG_XFS_POSIX_ACL is not set 917# CONFIG_XFS_POSIX_ACL is not set
@@ -1154,6 +920,7 @@ CONFIG_XFS_EXPORT=y
1154# CONFIG_MINIX_FS is not set 920# CONFIG_MINIX_FS is not set
1155# CONFIG_ROMFS_FS is not set 921# CONFIG_ROMFS_FS is not set
1156CONFIG_INOTIFY=y 922CONFIG_INOTIFY=y
923CONFIG_INOTIFY_USER=y
1157# CONFIG_QUOTA is not set 924# CONFIG_QUOTA is not set
1158CONFIG_DNOTIFY=y 925CONFIG_DNOTIFY=y
1159CONFIG_AUTOFS_FS=y 926CONFIG_AUTOFS_FS=y
@@ -1226,6 +993,7 @@ CONFIG_SUNRPC=y
1226CONFIG_SMB_FS=m 993CONFIG_SMB_FS=m
1227# CONFIG_SMB_NLS_DEFAULT is not set 994# CONFIG_SMB_NLS_DEFAULT is not set
1228# CONFIG_CIFS is not set 995# CONFIG_CIFS is not set
996# CONFIG_CIFS_DEBUG2 is not set
1229# CONFIG_NCP_FS is not set 997# CONFIG_NCP_FS is not set
1230# CONFIG_CODA_FS is not set 998# CONFIG_CODA_FS is not set
1231# CONFIG_AFS_FS is not set 999# CONFIG_AFS_FS is not set
@@ -1236,6 +1004,7 @@ CONFIG_SMB_FS=m
1236# 1004#
1237# CONFIG_PARTITION_ADVANCED is not set 1005# CONFIG_PARTITION_ADVANCED is not set
1238CONFIG_MSDOS_PARTITION=y 1006CONFIG_MSDOS_PARTITION=y
1007CONFIG_SGI_PARTITION=y
1239 1008
1240# 1009#
1241# Native Language Support 1010# Native Language Support
@@ -1291,6 +1060,7 @@ CONFIG_NLS_DEFAULT="iso8859-1"
1291# 1060#
1292# CONFIG_PRINTK_TIME is not set 1061# CONFIG_PRINTK_TIME is not set
1293# CONFIG_MAGIC_SYSRQ is not set 1062# CONFIG_MAGIC_SYSRQ is not set
1063# CONFIG_UNUSED_SYMBOLS is not set
1294# CONFIG_DEBUG_KERNEL is not set 1064# CONFIG_DEBUG_KERNEL is not set
1295CONFIG_LOG_BUF_SHIFT=14 1065CONFIG_LOG_BUF_SHIFT=14
1296# CONFIG_DEBUG_FS is not set 1066# CONFIG_DEBUG_FS is not set
@@ -1349,3 +1119,4 @@ CONFIG_TEXTSEARCH=y
1349CONFIG_TEXTSEARCH_KMP=m 1119CONFIG_TEXTSEARCH_KMP=m
1350CONFIG_TEXTSEARCH_BM=m 1120CONFIG_TEXTSEARCH_BM=m
1351CONFIG_TEXTSEARCH_FSM=m 1121CONFIG_TEXTSEARCH_FSM=m
1122CONFIG_PLIST=y
diff --git a/arch/mips/configs/qemu_defconfig b/arch/mips/configs/qemu_defconfig
index db8701344cee..6a63a113b7ea 100644
--- a/arch/mips/configs/qemu_defconfig
+++ b/arch/mips/configs/qemu_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.17-rc2 3# Linux kernel version: 2.6.18-rc1
4# Mon Apr 24 14:51:15 2006 4# Thu Jul 6 10:04:18 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -21,6 +21,7 @@ CONFIG_MIPS=y
21# CONFIG_MIPS_DB1550 is not set 21# CONFIG_MIPS_DB1550 is not set
22# CONFIG_MIPS_DB1200 is not set 22# CONFIG_MIPS_DB1200 is not set
23# CONFIG_MIPS_MIRAGE is not set 23# CONFIG_MIPS_MIRAGE is not set
24# CONFIG_BASLER_EXCITE is not set
24# CONFIG_MIPS_COBALT is not set 25# CONFIG_MIPS_COBALT is not set
25# CONFIG_MACH_DECSTATION is not set 26# CONFIG_MACH_DECSTATION is not set
26# CONFIG_MIPS_EV64120 is not set 27# CONFIG_MIPS_EV64120 is not set
@@ -32,6 +33,7 @@ CONFIG_MIPS=y
32# CONFIG_MIPS_ATLAS is not set 33# CONFIG_MIPS_ATLAS is not set
33# CONFIG_MIPS_MALTA is not set 34# CONFIG_MIPS_MALTA is not set
34# CONFIG_MIPS_SEAD is not set 35# CONFIG_MIPS_SEAD is not set
36# CONFIG_WR_PPMC is not set
35# CONFIG_MIPS_SIM is not set 37# CONFIG_MIPS_SIM is not set
36# CONFIG_MOMENCO_JAGUAR_ATX is not set 38# CONFIG_MOMENCO_JAGUAR_ATX is not set
37# CONFIG_MOMENCO_OCELOT is not set 39# CONFIG_MOMENCO_OCELOT is not set
@@ -45,6 +47,7 @@ CONFIG_MIPS=y
45# CONFIG_MACH_VR41XX is not set 47# CONFIG_MACH_VR41XX is not set
46# CONFIG_PMC_YOSEMITE is not set 48# CONFIG_PMC_YOSEMITE is not set
47CONFIG_QEMU=y 49CONFIG_QEMU=y
50# CONFIG_MARKEINS is not set
48# CONFIG_SGI_IP22 is not set 51# CONFIG_SGI_IP22 is not set
49# CONFIG_SGI_IP27 is not set 52# CONFIG_SGI_IP27 is not set
50# CONFIG_SGI_IP32 is not set 53# CONFIG_SGI_IP32 is not set
@@ -65,6 +68,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y
65CONFIG_GENERIC_FIND_NEXT_BIT=y 68CONFIG_GENERIC_FIND_NEXT_BIT=y
66CONFIG_GENERIC_HWEIGHT=y 69CONFIG_GENERIC_HWEIGHT=y
67CONFIG_GENERIC_CALIBRATE_DELAY=y 70CONFIG_GENERIC_CALIBRATE_DELAY=y
71CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
68CONFIG_DMA_COHERENT=y 72CONFIG_DMA_COHERENT=y
69CONFIG_GENERIC_ISA_DMA=y 73CONFIG_GENERIC_ISA_DMA=y
70CONFIG_I8259=y 74CONFIG_I8259=y
@@ -113,7 +117,10 @@ CONFIG_PAGE_SIZE_4KB=y
113# CONFIG_PAGE_SIZE_16KB is not set 117# CONFIG_PAGE_SIZE_16KB is not set
114# CONFIG_PAGE_SIZE_64KB is not set 118# CONFIG_PAGE_SIZE_64KB is not set
115CONFIG_CPU_HAS_PREFETCH=y 119CONFIG_CPU_HAS_PREFETCH=y
116# CONFIG_MIPS_MT is not set 120CONFIG_MIPS_MT_DISABLED=y
121# CONFIG_MIPS_MT_SMTC is not set
122# CONFIG_MIPS_MT_SMP is not set
123# CONFIG_MIPS_VPE_LOADER is not set
117# CONFIG_64BIT_PHYS_ADDR is not set 124# CONFIG_64BIT_PHYS_ADDR is not set
118CONFIG_CPU_HAS_LLSC=y 125CONFIG_CPU_HAS_LLSC=y
119CONFIG_CPU_HAS_SYNC=y 126CONFIG_CPU_HAS_SYNC=y
@@ -121,11 +128,12 @@ CONFIG_GENERIC_HARDIRQS=y
121CONFIG_GENERIC_IRQ_PROBE=y 128CONFIG_GENERIC_IRQ_PROBE=y
122CONFIG_CPU_SUPPORTS_HIGHMEM=y 129CONFIG_CPU_SUPPORTS_HIGHMEM=y
123CONFIG_ARCH_FLATMEM_ENABLE=y 130CONFIG_ARCH_FLATMEM_ENABLE=y
131CONFIG_ARCH_SPARSEMEM_ENABLE=y
124CONFIG_FLATMEM=y 132CONFIG_FLATMEM=y
125CONFIG_FLAT_NODE_MEM_MAP=y 133CONFIG_FLAT_NODE_MEM_MAP=y
126# CONFIG_SPARSEMEM_STATIC is not set 134# CONFIG_SPARSEMEM_STATIC is not set
127CONFIG_SPLIT_PTLOCK_CPUS=4 135CONFIG_SPLIT_PTLOCK_CPUS=4
128# CONFIG_SMP is not set 136# CONFIG_RESOURCES_64BIT is not set
129# CONFIG_HZ_48 is not set 137# CONFIG_HZ_48 is not set
130CONFIG_HZ_100=y 138CONFIG_HZ_100=y
131# CONFIG_HZ_128 is not set 139# CONFIG_HZ_128 is not set
@@ -138,6 +146,7 @@ CONFIG_HZ=100
138CONFIG_PREEMPT_NONE=y 146CONFIG_PREEMPT_NONE=y
139# CONFIG_PREEMPT_VOLUNTARY is not set 147# CONFIG_PREEMPT_VOLUNTARY is not set
140# CONFIG_PREEMPT is not set 148# CONFIG_PREEMPT is not set
149CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
141 150
142# 151#
143# Code maturity level options 152# Code maturity level options
@@ -171,6 +180,7 @@ CONFIG_ELF_CORE=y
171# CONFIG_EPOLL is not set 180# CONFIG_EPOLL is not set
172# CONFIG_SHMEM is not set 181# CONFIG_SHMEM is not set
173CONFIG_SLAB=y 182CONFIG_SLAB=y
183CONFIG_VM_EVENT_COUNTERS=y
174CONFIG_TINY_SHMEM=y 184CONFIG_TINY_SHMEM=y
175CONFIG_BASE_SMALL=1 185CONFIG_BASE_SMALL=1
176# CONFIG_SLOB is not set 186# CONFIG_SLOB is not set
@@ -235,6 +245,8 @@ CONFIG_NET=y
235CONFIG_PACKET=y 245CONFIG_PACKET=y
236CONFIG_PACKET_MMAP=y 246CONFIG_PACKET_MMAP=y
237CONFIG_UNIX=y 247CONFIG_UNIX=y
248CONFIG_XFRM=y
249# CONFIG_XFRM_USER is not set
238# CONFIG_NET_KEY is not set 250# CONFIG_NET_KEY is not set
239CONFIG_INET=y 251CONFIG_INET=y
240CONFIG_IP_MULTICAST=y 252CONFIG_IP_MULTICAST=y
@@ -253,6 +265,8 @@ CONFIG_IP_PNP_BOOTP=y
253# CONFIG_INET_IPCOMP is not set 265# CONFIG_INET_IPCOMP is not set
254# CONFIG_INET_XFRM_TUNNEL is not set 266# CONFIG_INET_XFRM_TUNNEL is not set
255# CONFIG_INET_TUNNEL is not set 267# CONFIG_INET_TUNNEL is not set
268CONFIG_INET_XFRM_MODE_TRANSPORT=y
269CONFIG_INET_XFRM_MODE_TUNNEL=y
256CONFIG_INET_DIAG=y 270CONFIG_INET_DIAG=y
257CONFIG_INET_TCP_DIAG=y 271CONFIG_INET_TCP_DIAG=y
258# CONFIG_TCP_CONG_ADVANCED is not set 272# CONFIG_TCP_CONG_ADVANCED is not set
@@ -260,6 +274,7 @@ CONFIG_TCP_CONG_BIC=y
260# CONFIG_IPV6 is not set 274# CONFIG_IPV6 is not set
261# CONFIG_INET6_XFRM_TUNNEL is not set 275# CONFIG_INET6_XFRM_TUNNEL is not set
262# CONFIG_INET6_TUNNEL is not set 276# CONFIG_INET6_TUNNEL is not set
277CONFIG_NETWORK_SECMARK=y
263# CONFIG_NETFILTER is not set 278# CONFIG_NETFILTER is not set
264# CONFIG_BRIDGE is not set 279# CONFIG_BRIDGE is not set
265# CONFIG_VLAN_8021Q is not set 280# CONFIG_VLAN_8021Q is not set
@@ -292,6 +307,7 @@ CONFIG_TCP_CONG_BIC=y
292CONFIG_STANDALONE=y 307CONFIG_STANDALONE=y
293# CONFIG_PREVENT_FIRMWARE_BUILD is not set 308# CONFIG_PREVENT_FIRMWARE_BUILD is not set
294# CONFIG_FW_LOADER is not set 309# CONFIG_FW_LOADER is not set
310# CONFIG_SYS_HYPERVISOR is not set
295 311
296# 312#
297# Connector - unified userspace <-> kernelspace linker 313# Connector - unified userspace <-> kernelspace linker
@@ -473,6 +489,7 @@ CONFIG_INPUT=y
473CONFIG_VT=y 489CONFIG_VT=y
474CONFIG_VT_CONSOLE=y 490CONFIG_VT_CONSOLE=y
475CONFIG_HW_CONSOLE=y 491CONFIG_HW_CONSOLE=y
492CONFIG_VT_HW_CONSOLE_BINDING=y
476# CONFIG_SERIAL_NONSTANDARD is not set 493# CONFIG_SERIAL_NONSTANDARD is not set
477 494
478# 495#
@@ -502,6 +519,7 @@ CONFIG_LEGACY_PTY_COUNT=256
502# Watchdog Cards 519# Watchdog Cards
503# 520#
504# CONFIG_WATCHDOG is not set 521# CONFIG_WATCHDOG is not set
522# CONFIG_HW_RANDOM is not set
505# CONFIG_RTC is not set 523# CONFIG_RTC is not set
506# CONFIG_GEN_RTC is not set 524# CONFIG_GEN_RTC is not set
507# CONFIG_DTLK is not set 525# CONFIG_DTLK is not set
@@ -546,6 +564,7 @@ CONFIG_LEGACY_PTY_COUNT=256
546# Multimedia devices 564# Multimedia devices
547# 565#
548# CONFIG_VIDEO_DEV is not set 566# CONFIG_VIDEO_DEV is not set
567CONFIG_VIDEO_V4L2=y
549 568
550# 569#
551# Digital Video Broadcasting Devices 570# Digital Video Broadcasting Devices
@@ -555,6 +574,7 @@ CONFIG_LEGACY_PTY_COUNT=256
555# 574#
556# Graphics support 575# Graphics support
557# 576#
577# CONFIG_FIRMWARE_EDID is not set
558# CONFIG_FB is not set 578# CONFIG_FB is not set
559 579
560# 580#
@@ -617,6 +637,19 @@ CONFIG_DUMMY_CONSOLE=y
617# 637#
618 638
619# 639#
640# DMA Engine support
641#
642# CONFIG_DMA_ENGINE is not set
643
644#
645# DMA Clients
646#
647
648#
649# DMA Devices
650#
651
652#
620# File systems 653# File systems
621# 654#
622# CONFIG_EXT2_FS is not set 655# CONFIG_EXT2_FS is not set
@@ -628,6 +661,7 @@ CONFIG_DUMMY_CONSOLE=y
628# CONFIG_MINIX_FS is not set 661# CONFIG_MINIX_FS is not set
629# CONFIG_ROMFS_FS is not set 662# CONFIG_ROMFS_FS is not set
630CONFIG_INOTIFY=y 663CONFIG_INOTIFY=y
664CONFIG_INOTIFY_USER=y
631# CONFIG_QUOTA is not set 665# CONFIG_QUOTA is not set
632# CONFIG_DNOTIFY is not set 666# CONFIG_DNOTIFY is not set
633# CONFIG_AUTOFS_FS is not set 667# CONFIG_AUTOFS_FS is not set
@@ -682,6 +716,7 @@ CONFIG_NFS_COMMON=y
682CONFIG_SUNRPC=y 716CONFIG_SUNRPC=y
683# CONFIG_SMB_FS is not set 717# CONFIG_SMB_FS is not set
684# CONFIG_CIFS is not set 718# CONFIG_CIFS is not set
719# CONFIG_CIFS_DEBUG2 is not set
685# CONFIG_NCP_FS is not set 720# CONFIG_NCP_FS is not set
686# CONFIG_CODA_FS is not set 721# CONFIG_CODA_FS is not set
687 722
@@ -701,6 +736,7 @@ CONFIG_MSDOS_PARTITION=y
701# 736#
702# CONFIG_PRINTK_TIME is not set 737# CONFIG_PRINTK_TIME is not set
703# CONFIG_MAGIC_SYSRQ is not set 738# CONFIG_MAGIC_SYSRQ is not set
739# CONFIG_UNUSED_SYMBOLS is not set
704# CONFIG_DEBUG_KERNEL is not set 740# CONFIG_DEBUG_KERNEL is not set
705CONFIG_LOG_BUF_SHIFT=14 741CONFIG_LOG_BUF_SHIFT=14
706# CONFIG_DEBUG_FS is not set 742# CONFIG_DEBUG_FS is not set
diff --git a/arch/mips/configs/rbhma4500_defconfig b/arch/mips/configs/rbhma4500_defconfig
index b16731f3684b..6779f449bd2d 100644
--- a/arch/mips/configs/rbhma4500_defconfig
+++ b/arch/mips/configs/rbhma4500_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.17-rc2 3# Linux kernel version: 2.6.18-rc1
4# Mon Apr 24 14:51:16 2006 4# Thu Jul 6 10:04:19 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -21,6 +21,7 @@ CONFIG_MIPS=y
21# CONFIG_MIPS_DB1550 is not set 21# CONFIG_MIPS_DB1550 is not set
22# CONFIG_MIPS_DB1200 is not set 22# CONFIG_MIPS_DB1200 is not set
23# CONFIG_MIPS_MIRAGE is not set 23# CONFIG_MIPS_MIRAGE is not set
24# CONFIG_BASLER_EXCITE is not set
24# CONFIG_MIPS_COBALT is not set 25# CONFIG_MIPS_COBALT is not set
25# CONFIG_MACH_DECSTATION is not set 26# CONFIG_MACH_DECSTATION is not set
26# CONFIG_MIPS_EV64120 is not set 27# CONFIG_MIPS_EV64120 is not set
@@ -32,6 +33,7 @@ CONFIG_MIPS=y
32# CONFIG_MIPS_ATLAS is not set 33# CONFIG_MIPS_ATLAS is not set
33# CONFIG_MIPS_MALTA is not set 34# CONFIG_MIPS_MALTA is not set
34# CONFIG_MIPS_SEAD is not set 35# CONFIG_MIPS_SEAD is not set
36# CONFIG_WR_PPMC is not set
35# CONFIG_MIPS_SIM is not set 37# CONFIG_MIPS_SIM is not set
36# CONFIG_MOMENCO_JAGUAR_ATX is not set 38# CONFIG_MOMENCO_JAGUAR_ATX is not set
37# CONFIG_MOMENCO_OCELOT is not set 39# CONFIG_MOMENCO_OCELOT is not set
@@ -45,6 +47,7 @@ CONFIG_MIPS=y
45# CONFIG_MACH_VR41XX is not set 47# CONFIG_MACH_VR41XX is not set
46# CONFIG_PMC_YOSEMITE is not set 48# CONFIG_PMC_YOSEMITE is not set
47# CONFIG_QEMU is not set 49# CONFIG_QEMU is not set
50# CONFIG_MARKEINS is not set
48# CONFIG_SGI_IP22 is not set 51# CONFIG_SGI_IP22 is not set
49# CONFIG_SGI_IP27 is not set 52# CONFIG_SGI_IP27 is not set
50# CONFIG_SGI_IP32 is not set 53# CONFIG_SGI_IP32 is not set
@@ -72,6 +75,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y
72CONFIG_GENERIC_FIND_NEXT_BIT=y 75CONFIG_GENERIC_FIND_NEXT_BIT=y
73CONFIG_GENERIC_HWEIGHT=y 76CONFIG_GENERIC_HWEIGHT=y
74CONFIG_GENERIC_CALIBRATE_DELAY=y 77CONFIG_GENERIC_CALIBRATE_DELAY=y
78CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
75CONFIG_DMA_NONCOHERENT=y 79CONFIG_DMA_NONCOHERENT=y
76CONFIG_DMA_NEED_PCI_MAP_STATE=y 80CONFIG_DMA_NEED_PCI_MAP_STATE=y
77CONFIG_GENERIC_ISA_DMA=y 81CONFIG_GENERIC_ISA_DMA=y
@@ -122,7 +126,10 @@ CONFIG_PAGE_SIZE_4KB=y
122# CONFIG_PAGE_SIZE_16KB is not set 126# CONFIG_PAGE_SIZE_16KB is not set
123# CONFIG_PAGE_SIZE_64KB is not set 127# CONFIG_PAGE_SIZE_64KB is not set
124CONFIG_CPU_HAS_PREFETCH=y 128CONFIG_CPU_HAS_PREFETCH=y
125# CONFIG_MIPS_MT is not set 129CONFIG_MIPS_MT_DISABLED=y
130# CONFIG_MIPS_MT_SMTC is not set
131# CONFIG_MIPS_MT_SMP is not set
132# CONFIG_MIPS_VPE_LOADER is not set
126CONFIG_CPU_HAS_LLSC=y 133CONFIG_CPU_HAS_LLSC=y
127CONFIG_CPU_HAS_SYNC=y 134CONFIG_CPU_HAS_SYNC=y
128CONFIG_GENERIC_HARDIRQS=y 135CONFIG_GENERIC_HARDIRQS=y
@@ -136,6 +143,7 @@ CONFIG_FLATMEM=y
136CONFIG_FLAT_NODE_MEM_MAP=y 143CONFIG_FLAT_NODE_MEM_MAP=y
137# CONFIG_SPARSEMEM_STATIC is not set 144# CONFIG_SPARSEMEM_STATIC is not set
138CONFIG_SPLIT_PTLOCK_CPUS=4 145CONFIG_SPLIT_PTLOCK_CPUS=4
146# CONFIG_RESOURCES_64BIT is not set
139# CONFIG_HZ_48 is not set 147# CONFIG_HZ_48 is not set
140# CONFIG_HZ_100 is not set 148# CONFIG_HZ_100 is not set
141# CONFIG_HZ_128 is not set 149# CONFIG_HZ_128 is not set
@@ -148,6 +156,7 @@ CONFIG_HZ=1000
148CONFIG_PREEMPT_NONE=y 156CONFIG_PREEMPT_NONE=y
149# CONFIG_PREEMPT_VOLUNTARY is not set 157# CONFIG_PREEMPT_VOLUNTARY is not set
150# CONFIG_PREEMPT is not set 158# CONFIG_PREEMPT is not set
159CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
151 160
152# 161#
153# Code maturity level options 162# Code maturity level options
@@ -184,10 +193,10 @@ CONFIG_BASE_FULL=y
184# CONFIG_EPOLL is not set 193# CONFIG_EPOLL is not set
185CONFIG_SHMEM=y 194CONFIG_SHMEM=y
186CONFIG_SLAB=y 195CONFIG_SLAB=y
196CONFIG_VM_EVENT_COUNTERS=y
187# CONFIG_TINY_SHMEM is not set 197# CONFIG_TINY_SHMEM is not set
188CONFIG_BASE_SMALL=0 198CONFIG_BASE_SMALL=0
189# CONFIG_SLOB is not set 199# CONFIG_SLOB is not set
190CONFIG_OBSOLETE_INTERMODULE=y
191 200
192# 201#
193# Loadable module support 202# Loadable module support
@@ -255,6 +264,8 @@ CONFIG_NET=y
255CONFIG_PACKET=y 264CONFIG_PACKET=y
256# CONFIG_PACKET_MMAP is not set 265# CONFIG_PACKET_MMAP is not set
257CONFIG_UNIX=y 266CONFIG_UNIX=y
267CONFIG_XFRM=y
268# CONFIG_XFRM_USER is not set
258# CONFIG_NET_KEY is not set 269# CONFIG_NET_KEY is not set
259CONFIG_INET=y 270CONFIG_INET=y
260CONFIG_IP_MULTICAST=y 271CONFIG_IP_MULTICAST=y
@@ -274,6 +285,8 @@ CONFIG_IP_PNP_BOOTP=y
274# CONFIG_INET_IPCOMP is not set 285# CONFIG_INET_IPCOMP is not set
275# CONFIG_INET_XFRM_TUNNEL is not set 286# CONFIG_INET_XFRM_TUNNEL is not set
276# CONFIG_INET_TUNNEL is not set 287# CONFIG_INET_TUNNEL is not set
288CONFIG_INET_XFRM_MODE_TRANSPORT=m
289CONFIG_INET_XFRM_MODE_TUNNEL=m
277CONFIG_INET_DIAG=y 290CONFIG_INET_DIAG=y
278CONFIG_INET_TCP_DIAG=y 291CONFIG_INET_TCP_DIAG=y
279# CONFIG_TCP_CONG_ADVANCED is not set 292# CONFIG_TCP_CONG_ADVANCED is not set
@@ -292,7 +305,10 @@ CONFIG_IPV6_ROUTE_INFO=y
292# CONFIG_INET6_IPCOMP is not set 305# CONFIG_INET6_IPCOMP is not set
293# CONFIG_INET6_XFRM_TUNNEL is not set 306# CONFIG_INET6_XFRM_TUNNEL is not set
294# CONFIG_INET6_TUNNEL is not set 307# CONFIG_INET6_TUNNEL is not set
308CONFIG_INET6_XFRM_MODE_TRANSPORT=m
309CONFIG_INET6_XFRM_MODE_TUNNEL=m
295# CONFIG_IPV6_TUNNEL is not set 310# CONFIG_IPV6_TUNNEL is not set
311CONFIG_NETWORK_SECMARK=y
296CONFIG_NETFILTER=y 312CONFIG_NETFILTER=y
297# CONFIG_NETFILTER_DEBUG is not set 313# CONFIG_NETFILTER_DEBUG is not set
298 314
@@ -307,6 +323,7 @@ CONFIG_NETFILTER_XTABLES=m
307CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m 323CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
308CONFIG_NETFILTER_XT_TARGET_MARK=m 324CONFIG_NETFILTER_XT_TARGET_MARK=m
309CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m 325CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
326CONFIG_NETFILTER_XT_TARGET_SECMARK=m
310CONFIG_NETFILTER_XT_MATCH_COMMENT=m 327CONFIG_NETFILTER_XT_MATCH_COMMENT=m
311CONFIG_NETFILTER_XT_MATCH_DCCP=m 328CONFIG_NETFILTER_XT_MATCH_DCCP=m
312CONFIG_NETFILTER_XT_MATCH_ESP=m 329CONFIG_NETFILTER_XT_MATCH_ESP=m
@@ -314,10 +331,13 @@ CONFIG_NETFILTER_XT_MATCH_LENGTH=m
314CONFIG_NETFILTER_XT_MATCH_LIMIT=m 331CONFIG_NETFILTER_XT_MATCH_LIMIT=m
315CONFIG_NETFILTER_XT_MATCH_MAC=m 332CONFIG_NETFILTER_XT_MATCH_MAC=m
316CONFIG_NETFILTER_XT_MATCH_MARK=m 333CONFIG_NETFILTER_XT_MATCH_MARK=m
334# CONFIG_NETFILTER_XT_MATCH_POLICY is not set
317CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m 335CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
318CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m 336CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
337CONFIG_NETFILTER_XT_MATCH_QUOTA=m
319CONFIG_NETFILTER_XT_MATCH_REALM=m 338CONFIG_NETFILTER_XT_MATCH_REALM=m
320CONFIG_NETFILTER_XT_MATCH_SCTP=m 339CONFIG_NETFILTER_XT_MATCH_SCTP=m
340CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
321CONFIG_NETFILTER_XT_MATCH_STRING=m 341CONFIG_NETFILTER_XT_MATCH_STRING=m
322CONFIG_NETFILTER_XT_MATCH_TCPMSS=m 342CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
323 343
@@ -394,6 +414,7 @@ CONFIG_WIRELESS_EXT=y
394CONFIG_STANDALONE=y 414CONFIG_STANDALONE=y
395CONFIG_PREVENT_FIRMWARE_BUILD=y 415CONFIG_PREVENT_FIRMWARE_BUILD=y
396CONFIG_FW_LOADER=m 416CONFIG_FW_LOADER=m
417# CONFIG_SYS_HYPERVISOR is not set
397 418
398# 419#
399# Connector - unified userspace <-> kernelspace linker 420# Connector - unified userspace <-> kernelspace linker
@@ -624,6 +645,8 @@ CONFIG_DAVICOM_PHY=m
624CONFIG_QSEMI_PHY=m 645CONFIG_QSEMI_PHY=m
625CONFIG_LXT_PHY=m 646CONFIG_LXT_PHY=m
626CONFIG_CICADA_PHY=m 647CONFIG_CICADA_PHY=m
648CONFIG_VITESSE_PHY=m
649CONFIG_SMSC_PHY=m
627 650
628# 651#
629# Ethernet (10 or 100Mbit) 652# Ethernet (10 or 100Mbit)
@@ -704,6 +727,7 @@ CONFIG_NET_PCI=y
704# CONFIG_CHELSIO_T1 is not set 727# CONFIG_CHELSIO_T1 is not set
705# CONFIG_IXGB is not set 728# CONFIG_IXGB is not set
706# CONFIG_S2IO is not set 729# CONFIG_S2IO is not set
730# CONFIG_MYRI10GE is not set
707 731
708# 732#
709# Token Ring devices 733# Token Ring devices
@@ -729,7 +753,7 @@ CONFIG_NET_RADIO=y
729# CONFIG_IPW2100 is not set 753# CONFIG_IPW2100 is not set
730CONFIG_IPW2200=m 754CONFIG_IPW2200=m
731# CONFIG_IPW2200_MONITOR is not set 755# CONFIG_IPW2200_MONITOR is not set
732# CONFIG_IPW_QOS is not set 756# CONFIG_IPW2200_QOS is not set
733# CONFIG_IPW2200_DEBUG is not set 757# CONFIG_IPW2200_DEBUG is not set
734# CONFIG_HERMES is not set 758# CONFIG_HERMES is not set
735# CONFIG_ATMEL is not set 759# CONFIG_ATMEL is not set
@@ -738,8 +762,10 @@ CONFIG_IPW2200=m
738# Prism GT/Duette 802.11(a/b/g) PCI/Cardbus support 762# Prism GT/Duette 802.11(a/b/g) PCI/Cardbus support
739# 763#
740# CONFIG_PRISM54 is not set 764# CONFIG_PRISM54 is not set
765# CONFIG_USB_ZD1201 is not set
741# CONFIG_HOSTAP is not set 766# CONFIG_HOSTAP is not set
742# CONFIG_BCM43XX is not set 767# CONFIG_BCM43XX is not set
768# CONFIG_ZD1211RW is not set
743CONFIG_NET_WIRELESS=y 769CONFIG_NET_WIRELESS=y
744 770
745# 771#
@@ -827,6 +853,7 @@ CONFIG_SERIO_LIBPS2=y
827CONFIG_VT=y 853CONFIG_VT=y
828CONFIG_VT_CONSOLE=y 854CONFIG_VT_CONSOLE=y
829CONFIG_HW_CONSOLE=y 855CONFIG_HW_CONSOLE=y
856CONFIG_VT_HW_CONSOLE_BINDING=y
830# CONFIG_SERIAL_NONSTANDARD is not set 857# CONFIG_SERIAL_NONSTANDARD is not set
831 858
832# 859#
@@ -856,6 +883,7 @@ CONFIG_LEGACY_PTY_COUNT=256
856# Watchdog Cards 883# Watchdog Cards
857# 884#
858# CONFIG_WATCHDOG is not set 885# CONFIG_WATCHDOG is not set
886# CONFIG_HW_RANDOM is not set
859# CONFIG_RTC is not set 887# CONFIG_RTC is not set
860# CONFIG_GEN_RTC is not set 888# CONFIG_GEN_RTC is not set
861# CONFIG_DTLK is not set 889# CONFIG_DTLK is not set
@@ -895,6 +923,7 @@ CONFIG_LEGACY_PTY_COUNT=256
895# 923#
896CONFIG_HWMON=y 924CONFIG_HWMON=y
897# CONFIG_HWMON_VID is not set 925# CONFIG_HWMON_VID is not set
926# CONFIG_SENSORS_ABITUGURU is not set
898# CONFIG_SENSORS_F71805F is not set 927# CONFIG_SENSORS_F71805F is not set
899# CONFIG_HWMON_DEBUG_CHIP is not set 928# CONFIG_HWMON_DEBUG_CHIP is not set
900 929
@@ -906,6 +935,7 @@ CONFIG_HWMON=y
906# Multimedia devices 935# Multimedia devices
907# 936#
908# CONFIG_VIDEO_DEV is not set 937# CONFIG_VIDEO_DEV is not set
938CONFIG_VIDEO_V4L2=y
909 939
910# 940#
911# Digital Video Broadcasting Devices 941# Digital Video Broadcasting Devices
@@ -916,12 +946,13 @@ CONFIG_HWMON=y
916# 946#
917# Graphics support 947# Graphics support
918# 948#
949# CONFIG_FIRMWARE_EDID is not set
919CONFIG_FB=y 950CONFIG_FB=y
920CONFIG_FB_CFB_FILLRECT=y 951CONFIG_FB_CFB_FILLRECT=y
921CONFIG_FB_CFB_COPYAREA=y 952CONFIG_FB_CFB_COPYAREA=y
922CONFIG_FB_CFB_IMAGEBLIT=y 953CONFIG_FB_CFB_IMAGEBLIT=y
923# CONFIG_FB_MACMODES is not set 954# CONFIG_FB_MACMODES is not set
924CONFIG_FB_FIRMWARE_EDID=y 955# CONFIG_FB_BACKLIGHT is not set
925# CONFIG_FB_MODE_HELPERS is not set 956# CONFIG_FB_MODE_HELPERS is not set
926# CONFIG_FB_TILEBLITTING is not set 957# CONFIG_FB_TILEBLITTING is not set
927# CONFIG_FB_CIRRUS is not set 958# CONFIG_FB_CIRRUS is not set
@@ -1045,7 +1076,6 @@ CONFIG_USB_YEALINK=m
1045# CONFIG_USB_PEGASUS is not set 1076# CONFIG_USB_PEGASUS is not set
1046# CONFIG_USB_RTL8150 is not set 1077# CONFIG_USB_RTL8150 is not set
1047# CONFIG_USB_USBNET is not set 1078# CONFIG_USB_USBNET is not set
1048# CONFIG_USB_ZD1201 is not set
1049CONFIG_USB_MON=y 1079CONFIG_USB_MON=y
1050 1080
1051# 1081#
@@ -1067,10 +1097,12 @@ CONFIG_USB_MON=y
1067# CONFIG_USB_LEGOTOWER is not set 1097# CONFIG_USB_LEGOTOWER is not set
1068# CONFIG_USB_LCD is not set 1098# CONFIG_USB_LCD is not set
1069# CONFIG_USB_LED is not set 1099# CONFIG_USB_LED is not set
1100# CONFIG_USB_CY7C63 is not set
1070# CONFIG_USB_CYTHERM is not set 1101# CONFIG_USB_CYTHERM is not set
1071# CONFIG_USB_PHIDGETKIT is not set 1102# CONFIG_USB_PHIDGETKIT is not set
1072# CONFIG_USB_PHIDGETSERVO is not set 1103# CONFIG_USB_PHIDGETSERVO is not set
1073# CONFIG_USB_IDMOUSE is not set 1104# CONFIG_USB_IDMOUSE is not set
1105# CONFIG_USB_APPLEDISPLAY is not set
1074# CONFIG_USB_LD is not set 1106# CONFIG_USB_LD is not set
1075 1107
1076# 1108#
@@ -1115,6 +1147,19 @@ CONFIG_USB_MON=y
1115# CONFIG_RTC_CLASS is not set 1147# CONFIG_RTC_CLASS is not set
1116 1148
1117# 1149#
1150# DMA Engine support
1151#
1152# CONFIG_DMA_ENGINE is not set
1153
1154#
1155# DMA Clients
1156#
1157
1158#
1159# DMA Devices
1160#
1161
1162#
1118# File systems 1163# File systems
1119# 1164#
1120CONFIG_EXT2_FS=y 1165CONFIG_EXT2_FS=y
@@ -1134,7 +1179,6 @@ CONFIG_REISERFS_FS=m
1134# CONFIG_JFS_FS is not set 1179# CONFIG_JFS_FS is not set
1135# CONFIG_FS_POSIX_ACL is not set 1180# CONFIG_FS_POSIX_ACL is not set
1136CONFIG_XFS_FS=m 1181CONFIG_XFS_FS=m
1137CONFIG_XFS_EXPORT=y
1138# CONFIG_XFS_QUOTA is not set 1182# CONFIG_XFS_QUOTA is not set
1139# CONFIG_XFS_SECURITY is not set 1183# CONFIG_XFS_SECURITY is not set
1140# CONFIG_XFS_POSIX_ACL is not set 1184# CONFIG_XFS_POSIX_ACL is not set
@@ -1143,6 +1187,7 @@ CONFIG_XFS_EXPORT=y
1143# CONFIG_MINIX_FS is not set 1187# CONFIG_MINIX_FS is not set
1144# CONFIG_ROMFS_FS is not set 1188# CONFIG_ROMFS_FS is not set
1145CONFIG_INOTIFY=y 1189CONFIG_INOTIFY=y
1190CONFIG_INOTIFY_USER=y
1146# CONFIG_QUOTA is not set 1191# CONFIG_QUOTA is not set
1147# CONFIG_DNOTIFY is not set 1192# CONFIG_DNOTIFY is not set
1148# CONFIG_AUTOFS_FS is not set 1193# CONFIG_AUTOFS_FS is not set
@@ -1193,6 +1238,7 @@ CONFIG_JFFS2_FS=y
1193CONFIG_JFFS2_FS_DEBUG=0 1238CONFIG_JFFS2_FS_DEBUG=0
1194CONFIG_JFFS2_FS_WRITEBUFFER=y 1239CONFIG_JFFS2_FS_WRITEBUFFER=y
1195# CONFIG_JFFS2_SUMMARY is not set 1240# CONFIG_JFFS2_SUMMARY is not set
1241# CONFIG_JFFS2_FS_XATTR is not set
1196# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set 1242# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
1197CONFIG_JFFS2_ZLIB=y 1243CONFIG_JFFS2_ZLIB=y
1198CONFIG_JFFS2_RTIME=y 1244CONFIG_JFFS2_RTIME=y
@@ -1226,6 +1272,7 @@ CONFIG_SUNRPC=y
1226CONFIG_SMB_FS=m 1272CONFIG_SMB_FS=m
1227# CONFIG_SMB_NLS_DEFAULT is not set 1273# CONFIG_SMB_NLS_DEFAULT is not set
1228# CONFIG_CIFS is not set 1274# CONFIG_CIFS is not set
1275# CONFIG_CIFS_DEBUG2 is not set
1229# CONFIG_NCP_FS is not set 1276# CONFIG_NCP_FS is not set
1230# CONFIG_CODA_FS is not set 1277# CONFIG_CODA_FS is not set
1231# CONFIG_AFS_FS is not set 1278# CONFIG_AFS_FS is not set
@@ -1291,6 +1338,7 @@ CONFIG_NLS_DEFAULT="iso8859-1"
1291# 1338#
1292# CONFIG_PRINTK_TIME is not set 1339# CONFIG_PRINTK_TIME is not set
1293# CONFIG_MAGIC_SYSRQ is not set 1340# CONFIG_MAGIC_SYSRQ is not set
1341# CONFIG_UNUSED_SYMBOLS is not set
1294# CONFIG_DEBUG_KERNEL is not set 1342# CONFIG_DEBUG_KERNEL is not set
1295CONFIG_LOG_BUF_SHIFT=14 1343CONFIG_LOG_BUF_SHIFT=14
1296# CONFIG_DEBUG_FS is not set 1344# CONFIG_DEBUG_FS is not set
diff --git a/arch/mips/configs/rm200_defconfig b/arch/mips/configs/rm200_defconfig
index 8b0dd8651264..b7826d3a2b77 100644
--- a/arch/mips/configs/rm200_defconfig
+++ b/arch/mips/configs/rm200_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.17-rc2 3# Linux kernel version: 2.6.18-rc1
4# Mon Apr 24 14:51:16 2006 4# Thu Jul 6 10:04:19 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -21,6 +21,7 @@ CONFIG_MIPS=y
21# CONFIG_MIPS_DB1550 is not set 21# CONFIG_MIPS_DB1550 is not set
22# CONFIG_MIPS_DB1200 is not set 22# CONFIG_MIPS_DB1200 is not set
23# CONFIG_MIPS_MIRAGE is not set 23# CONFIG_MIPS_MIRAGE is not set
24# CONFIG_BASLER_EXCITE is not set
24# CONFIG_MIPS_COBALT is not set 25# CONFIG_MIPS_COBALT is not set
25# CONFIG_MACH_DECSTATION is not set 26# CONFIG_MACH_DECSTATION is not set
26# CONFIG_MIPS_EV64120 is not set 27# CONFIG_MIPS_EV64120 is not set
@@ -32,6 +33,7 @@ CONFIG_MIPS=y
32# CONFIG_MIPS_ATLAS is not set 33# CONFIG_MIPS_ATLAS is not set
33# CONFIG_MIPS_MALTA is not set 34# CONFIG_MIPS_MALTA is not set
34# CONFIG_MIPS_SEAD is not set 35# CONFIG_MIPS_SEAD is not set
36# CONFIG_WR_PPMC is not set
35# CONFIG_MIPS_SIM is not set 37# CONFIG_MIPS_SIM is not set
36# CONFIG_MOMENCO_JAGUAR_ATX is not set 38# CONFIG_MOMENCO_JAGUAR_ATX is not set
37# CONFIG_MOMENCO_OCELOT is not set 39# CONFIG_MOMENCO_OCELOT is not set
@@ -45,6 +47,7 @@ CONFIG_MIPS=y
45# CONFIG_MACH_VR41XX is not set 47# CONFIG_MACH_VR41XX is not set
46# CONFIG_PMC_YOSEMITE is not set 48# CONFIG_PMC_YOSEMITE is not set
47# CONFIG_QEMU is not set 49# CONFIG_QEMU is not set
50# CONFIG_MARKEINS is not set
48# CONFIG_SGI_IP22 is not set 51# CONFIG_SGI_IP22 is not set
49# CONFIG_SGI_IP27 is not set 52# CONFIG_SGI_IP27 is not set
50# CONFIG_SGI_IP32 is not set 53# CONFIG_SGI_IP32 is not set
@@ -65,6 +68,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y
65CONFIG_GENERIC_FIND_NEXT_BIT=y 68CONFIG_GENERIC_FIND_NEXT_BIT=y
66CONFIG_GENERIC_HWEIGHT=y 69CONFIG_GENERIC_HWEIGHT=y
67CONFIG_GENERIC_CALIBRATE_DELAY=y 70CONFIG_GENERIC_CALIBRATE_DELAY=y
71CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
68CONFIG_ARC=y 72CONFIG_ARC=y
69CONFIG_ARCH_MAY_HAVE_PC_FDC=y 73CONFIG_ARCH_MAY_HAVE_PC_FDC=y
70CONFIG_DMA_NONCOHERENT=y 74CONFIG_DMA_NONCOHERENT=y
@@ -106,6 +110,7 @@ CONFIG_CPU_R4X00=y
106# CONFIG_CPU_RM9000 is not set 110# CONFIG_CPU_RM9000 is not set
107# CONFIG_CPU_SB1 is not set 111# CONFIG_CPU_SB1 is not set
108CONFIG_SYS_HAS_CPU_R4X00=y 112CONFIG_SYS_HAS_CPU_R4X00=y
113CONFIG_SYS_HAS_CPU_R5000=y
109CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y 114CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y
110CONFIG_SYS_SUPPORTS_64BIT_KERNEL=y 115CONFIG_SYS_SUPPORTS_64BIT_KERNEL=y
111CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y 116CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y
@@ -120,7 +125,12 @@ CONFIG_PAGE_SIZE_4KB=y
120# CONFIG_PAGE_SIZE_8KB is not set 125# CONFIG_PAGE_SIZE_8KB is not set
121# CONFIG_PAGE_SIZE_16KB is not set 126# CONFIG_PAGE_SIZE_16KB is not set
122# CONFIG_PAGE_SIZE_64KB is not set 127# CONFIG_PAGE_SIZE_64KB is not set
123# CONFIG_MIPS_MT is not set 128CONFIG_BOARD_SCACHE=y
129CONFIG_R5000_CPU_SCACHE=y
130CONFIG_MIPS_MT_DISABLED=y
131# CONFIG_MIPS_MT_SMTC is not set
132# CONFIG_MIPS_MT_SMP is not set
133# CONFIG_MIPS_VPE_LOADER is not set
124# CONFIG_64BIT_PHYS_ADDR is not set 134# CONFIG_64BIT_PHYS_ADDR is not set
125CONFIG_CPU_HAS_LLSC=y 135CONFIG_CPU_HAS_LLSC=y
126CONFIG_CPU_HAS_SYNC=y 136CONFIG_CPU_HAS_SYNC=y
@@ -136,6 +146,7 @@ CONFIG_FLATMEM=y
136CONFIG_FLAT_NODE_MEM_MAP=y 146CONFIG_FLAT_NODE_MEM_MAP=y
137# CONFIG_SPARSEMEM_STATIC is not set 147# CONFIG_SPARSEMEM_STATIC is not set
138CONFIG_SPLIT_PTLOCK_CPUS=4 148CONFIG_SPLIT_PTLOCK_CPUS=4
149# CONFIG_RESOURCES_64BIT is not set
139# CONFIG_HZ_48 is not set 150# CONFIG_HZ_48 is not set
140# CONFIG_HZ_100 is not set 151# CONFIG_HZ_100 is not set
141# CONFIG_HZ_128 is not set 152# CONFIG_HZ_128 is not set
@@ -148,6 +159,7 @@ CONFIG_HZ=1000
148# CONFIG_PREEMPT_NONE is not set 159# CONFIG_PREEMPT_NONE is not set
149CONFIG_PREEMPT_VOLUNTARY=y 160CONFIG_PREEMPT_VOLUNTARY=y
150# CONFIG_PREEMPT is not set 161# CONFIG_PREEMPT is not set
162CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
151 163
152# 164#
153# Code maturity level options 165# Code maturity level options
@@ -181,10 +193,12 @@ CONFIG_PRINTK=y
181CONFIG_BUG=y 193CONFIG_BUG=y
182CONFIG_ELF_CORE=y 194CONFIG_ELF_CORE=y
183CONFIG_BASE_FULL=y 195CONFIG_BASE_FULL=y
196CONFIG_RT_MUTEXES=y
184CONFIG_FUTEX=y 197CONFIG_FUTEX=y
185CONFIG_EPOLL=y 198CONFIG_EPOLL=y
186CONFIG_SHMEM=y 199CONFIG_SHMEM=y
187CONFIG_SLAB=y 200CONFIG_SLAB=y
201CONFIG_VM_EVENT_COUNTERS=y
188# CONFIG_TINY_SHMEM is not set 202# CONFIG_TINY_SHMEM is not set
189CONFIG_BASE_SMALL=0 203CONFIG_BASE_SMALL=0
190# CONFIG_SLOB is not set 204# CONFIG_SLOB is not set
@@ -280,6 +294,8 @@ CONFIG_IP_PIMSM_V2=y
280# CONFIG_INET_IPCOMP is not set 294# CONFIG_INET_IPCOMP is not set
281# CONFIG_INET_XFRM_TUNNEL is not set 295# CONFIG_INET_XFRM_TUNNEL is not set
282CONFIG_INET_TUNNEL=m 296CONFIG_INET_TUNNEL=m
297CONFIG_INET_XFRM_MODE_TRANSPORT=m
298CONFIG_INET_XFRM_MODE_TUNNEL=m
283CONFIG_INET_DIAG=y 299CONFIG_INET_DIAG=y
284CONFIG_INET_TCP_DIAG=y 300CONFIG_INET_TCP_DIAG=y
285# CONFIG_TCP_CONG_ADVANCED is not set 301# CONFIG_TCP_CONG_ADVANCED is not set
@@ -298,7 +314,10 @@ CONFIG_INET6_ESP=m
298CONFIG_INET6_IPCOMP=m 314CONFIG_INET6_IPCOMP=m
299CONFIG_INET6_XFRM_TUNNEL=m 315CONFIG_INET6_XFRM_TUNNEL=m
300CONFIG_INET6_TUNNEL=m 316CONFIG_INET6_TUNNEL=m
317CONFIG_INET6_XFRM_MODE_TRANSPORT=m
318CONFIG_INET6_XFRM_MODE_TUNNEL=m
301CONFIG_IPV6_TUNNEL=m 319CONFIG_IPV6_TUNNEL=m
320CONFIG_NETWORK_SECMARK=y
302CONFIG_NETFILTER=y 321CONFIG_NETFILTER=y
303# CONFIG_NETFILTER_DEBUG is not set 322# CONFIG_NETFILTER_DEBUG is not set
304CONFIG_BRIDGE_NETFILTER=y 323CONFIG_BRIDGE_NETFILTER=y
@@ -315,6 +334,8 @@ CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
315CONFIG_NETFILTER_XT_TARGET_MARK=m 334CONFIG_NETFILTER_XT_TARGET_MARK=m
316CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m 335CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
317CONFIG_NETFILTER_XT_TARGET_NOTRACK=m 336CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
337CONFIG_NETFILTER_XT_TARGET_SECMARK=m
338# CONFIG_NETFILTER_XT_TARGET_CONNSECMARK is not set
318CONFIG_NETFILTER_XT_MATCH_COMMENT=m 339CONFIG_NETFILTER_XT_MATCH_COMMENT=m
319CONFIG_NETFILTER_XT_MATCH_CONNMARK=m 340CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
320CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m 341CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
@@ -329,9 +350,11 @@ CONFIG_NETFILTER_XT_MATCH_POLICY=m
329CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m 350CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
330CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m 351CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
331CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m 352CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
353CONFIG_NETFILTER_XT_MATCH_QUOTA=m
332CONFIG_NETFILTER_XT_MATCH_REALM=m 354CONFIG_NETFILTER_XT_MATCH_REALM=m
333CONFIG_NETFILTER_XT_MATCH_SCTP=m 355CONFIG_NETFILTER_XT_MATCH_SCTP=m
334CONFIG_NETFILTER_XT_MATCH_STATE=m 356CONFIG_NETFILTER_XT_MATCH_STATE=m
357CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
335CONFIG_NETFILTER_XT_MATCH_STRING=m 358CONFIG_NETFILTER_XT_MATCH_STRING=m
336CONFIG_NETFILTER_XT_MATCH_TCPMSS=m 359CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
337 360
@@ -341,6 +364,7 @@ CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
341CONFIG_IP_NF_CONNTRACK=m 364CONFIG_IP_NF_CONNTRACK=m
342# CONFIG_IP_NF_CT_ACCT is not set 365# CONFIG_IP_NF_CT_ACCT is not set
343CONFIG_IP_NF_CONNTRACK_MARK=y 366CONFIG_IP_NF_CONNTRACK_MARK=y
367CONFIG_IP_NF_CONNTRACK_SECMARK=y
344CONFIG_IP_NF_CONNTRACK_EVENTS=y 368CONFIG_IP_NF_CONNTRACK_EVENTS=y
345CONFIG_IP_NF_CONNTRACK_NETLINK=m 369CONFIG_IP_NF_CONNTRACK_NETLINK=m
346CONFIG_IP_NF_CT_PROTO_SCTP=m 370CONFIG_IP_NF_CT_PROTO_SCTP=m
@@ -351,6 +375,7 @@ CONFIG_IP_NF_TFTP=m
351CONFIG_IP_NF_AMANDA=m 375CONFIG_IP_NF_AMANDA=m
352CONFIG_IP_NF_PPTP=m 376CONFIG_IP_NF_PPTP=m
353CONFIG_IP_NF_H323=m 377CONFIG_IP_NF_H323=m
378CONFIG_IP_NF_SIP=m
354CONFIG_IP_NF_QUEUE=m 379CONFIG_IP_NF_QUEUE=m
355CONFIG_IP_NF_IPTABLES=m 380CONFIG_IP_NF_IPTABLES=m
356CONFIG_IP_NF_MATCH_IPRANGE=m 381CONFIG_IP_NF_MATCH_IPRANGE=m
@@ -381,6 +406,7 @@ CONFIG_IP_NF_NAT_TFTP=m
381CONFIG_IP_NF_NAT_AMANDA=m 406CONFIG_IP_NF_NAT_AMANDA=m
382CONFIG_IP_NF_NAT_PPTP=m 407CONFIG_IP_NF_NAT_PPTP=m
383CONFIG_IP_NF_NAT_H323=m 408CONFIG_IP_NF_NAT_H323=m
409CONFIG_IP_NF_NAT_SIP=m
384CONFIG_IP_NF_MANGLE=m 410CONFIG_IP_NF_MANGLE=m
385CONFIG_IP_NF_TARGET_TOS=m 411CONFIG_IP_NF_TARGET_TOS=m
386CONFIG_IP_NF_TARGET_ECN=m 412CONFIG_IP_NF_TARGET_ECN=m
@@ -559,6 +585,7 @@ CONFIG_WIRELESS_EXT=y
559CONFIG_STANDALONE=y 585CONFIG_STANDALONE=y
560CONFIG_PREVENT_FIRMWARE_BUILD=y 586CONFIG_PREVENT_FIRMWARE_BUILD=y
561CONFIG_FW_LOADER=y 587CONFIG_FW_LOADER=y
588# CONFIG_SYS_HYPERVISOR is not set
562 589
563# 590#
564# Connector - unified userspace <-> kernelspace linker 591# Connector - unified userspace <-> kernelspace linker
@@ -580,6 +607,7 @@ CONFIG_PARPORT_SERIAL=m
580# CONFIG_PARPORT_PC_SUPERIO is not set 607# CONFIG_PARPORT_PC_SUPERIO is not set
581CONFIG_PARPORT_NOT_PC=y 608CONFIG_PARPORT_NOT_PC=y
582# CONFIG_PARPORT_GSC is not set 609# CONFIG_PARPORT_GSC is not set
610# CONFIG_PARPORT_AX88796 is not set
583CONFIG_PARPORT_1284=y 611CONFIG_PARPORT_1284=y
584 612
585# 613#
@@ -699,6 +727,7 @@ CONFIG_MEGARAID_MAILBOX=m
699# CONFIG_MEGARAID_LEGACY is not set 727# CONFIG_MEGARAID_LEGACY is not set
700# CONFIG_MEGARAID_SAS is not set 728# CONFIG_MEGARAID_SAS is not set
701# CONFIG_SCSI_SATA is not set 729# CONFIG_SCSI_SATA is not set
730# CONFIG_SCSI_HPTIOP is not set
702# CONFIG_SCSI_DMX3191D is not set 731# CONFIG_SCSI_DMX3191D is not set
703# CONFIG_SCSI_DTC3280 is not set 732# CONFIG_SCSI_DTC3280 is not set
704# CONFIG_SCSI_FUTURE_DOMAIN is not set 733# CONFIG_SCSI_FUTURE_DOMAIN is not set
@@ -745,9 +774,8 @@ CONFIG_MD_LINEAR=m
745CONFIG_MD_RAID0=m 774CONFIG_MD_RAID0=m
746CONFIG_MD_RAID1=m 775CONFIG_MD_RAID1=m
747CONFIG_MD_RAID10=m 776CONFIG_MD_RAID10=m
748CONFIG_MD_RAID5=m 777CONFIG_MD_RAID456=m
749CONFIG_MD_RAID5_RESHAPE=y 778CONFIG_MD_RAID5_RESHAPE=y
750# CONFIG_MD_RAID6 is not set
751CONFIG_MD_MULTIPATH=m 779CONFIG_MD_MULTIPATH=m
752CONFIG_MD_FAULTY=m 780CONFIG_MD_FAULTY=m
753CONFIG_BLK_DEV_DM=m 781CONFIG_BLK_DEV_DM=m
@@ -803,6 +831,8 @@ CONFIG_DAVICOM_PHY=m
803CONFIG_QSEMI_PHY=m 831CONFIG_QSEMI_PHY=m
804CONFIG_LXT_PHY=m 832CONFIG_LXT_PHY=m
805CONFIG_CICADA_PHY=m 833CONFIG_CICADA_PHY=m
834CONFIG_VITESSE_PHY=m
835CONFIG_SMSC_PHY=m
806 836
807# 837#
808# Ethernet (10 or 100Mbit) 838# Ethernet (10 or 100Mbit)
@@ -884,6 +914,7 @@ CONFIG_VIA_VELOCITY=m
884# CONFIG_CHELSIO_T1 is not set 914# CONFIG_CHELSIO_T1 is not set
885# CONFIG_IXGB is not set 915# CONFIG_IXGB is not set
886# CONFIG_S2IO is not set 916# CONFIG_S2IO is not set
917# CONFIG_MYRI10GE is not set
887 918
888# 919#
889# Token Ring devices 920# Token Ring devices
@@ -975,6 +1006,7 @@ CONFIG_SERIO_RAW=m
975CONFIG_VT=y 1006CONFIG_VT=y
976CONFIG_VT_CONSOLE=y 1007CONFIG_VT_CONSOLE=y
977CONFIG_HW_CONSOLE=y 1008CONFIG_HW_CONSOLE=y
1009CONFIG_VT_HW_CONSOLE_BINDING=y
978# CONFIG_SERIAL_NONSTANDARD is not set 1010# CONFIG_SERIAL_NONSTANDARD is not set
979 1011
980# 1012#
@@ -1012,6 +1044,7 @@ CONFIG_TIPAR=m
1012# Watchdog Cards 1044# Watchdog Cards
1013# 1045#
1014# CONFIG_WATCHDOG is not set 1046# CONFIG_WATCHDOG is not set
1047# CONFIG_HW_RANDOM is not set
1015CONFIG_RTC=m 1048CONFIG_RTC=m
1016# CONFIG_GEN_RTC is not set 1049# CONFIG_GEN_RTC is not set
1017# CONFIG_DTLK is not set 1050# CONFIG_DTLK is not set
@@ -1045,12 +1078,13 @@ CONFIG_RTC=m
1045# Dallas's 1-wire bus 1078# Dallas's 1-wire bus
1046# 1079#
1047CONFIG_W1=m 1080CONFIG_W1=m
1081CONFIG_W1_CON=y
1048 1082
1049# 1083#
1050# 1-wire Bus Masters 1084# 1-wire Bus Masters
1051# 1085#
1052# CONFIG_W1_MASTER_MATROX is not set 1086# CONFIG_W1_MASTER_MATROX is not set
1053# CONFIG_W1_MASTER_DS9490 is not set 1087# CONFIG_W1_MASTER_DS2490 is not set
1054 1088
1055# 1089#
1056# 1-wire Slaves 1090# 1-wire Slaves
@@ -1073,6 +1107,7 @@ CONFIG_W1=m
1073# Multimedia devices 1107# Multimedia devices
1074# 1108#
1075# CONFIG_VIDEO_DEV is not set 1109# CONFIG_VIDEO_DEV is not set
1110CONFIG_VIDEO_V4L2=y
1076 1111
1077# 1112#
1078# Digital Video Broadcasting Devices 1113# Digital Video Broadcasting Devices
@@ -1083,6 +1118,7 @@ CONFIG_USB_DABUSB=m
1083# 1118#
1084# Graphics support 1119# Graphics support
1085# 1120#
1121# CONFIG_FIRMWARE_EDID is not set
1086# CONFIG_FB is not set 1122# CONFIG_FB is not set
1087 1123
1088# 1124#
@@ -1121,6 +1157,7 @@ CONFIG_USB_DEVICEFS=y
1121CONFIG_USB_EHCI_HCD=m 1157CONFIG_USB_EHCI_HCD=m
1122# CONFIG_USB_EHCI_SPLIT_ISO is not set 1158# CONFIG_USB_EHCI_SPLIT_ISO is not set
1123# CONFIG_USB_EHCI_ROOT_HUB_TT is not set 1159# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
1160# CONFIG_USB_EHCI_TT_NEWSCHED is not set
1124# CONFIG_USB_ISP116X_HCD is not set 1161# CONFIG_USB_ISP116X_HCD is not set
1125CONFIG_USB_OHCI_HCD=m 1162CONFIG_USB_OHCI_HCD=m
1126# CONFIG_USB_OHCI_BIG_ENDIAN is not set 1163# CONFIG_USB_OHCI_BIG_ENDIAN is not set
@@ -1219,6 +1256,7 @@ CONFIG_USB_SERIAL=m
1219CONFIG_USB_SERIAL_GENERIC=y 1256CONFIG_USB_SERIAL_GENERIC=y
1220CONFIG_USB_SERIAL_AIRPRIME=m 1257CONFIG_USB_SERIAL_AIRPRIME=m
1221CONFIG_USB_SERIAL_ANYDATA=m 1258CONFIG_USB_SERIAL_ANYDATA=m
1259# CONFIG_USB_SERIAL_ARK3116 is not set
1222CONFIG_USB_SERIAL_BELKIN=m 1260CONFIG_USB_SERIAL_BELKIN=m
1223CONFIG_USB_SERIAL_WHITEHEAT=m 1261CONFIG_USB_SERIAL_WHITEHEAT=m
1224CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m 1262CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
@@ -1259,6 +1297,7 @@ CONFIG_USB_SERIAL_SAFE_PADDED=y
1259# CONFIG_USB_SERIAL_TI is not set 1297# CONFIG_USB_SERIAL_TI is not set
1260CONFIG_USB_SERIAL_CYBERJACK=m 1298CONFIG_USB_SERIAL_CYBERJACK=m
1261CONFIG_USB_SERIAL_XIRCOM=m 1299CONFIG_USB_SERIAL_XIRCOM=m
1300# CONFIG_USB_SERIAL_OPTION is not set
1262CONFIG_USB_SERIAL_OMNINET=m 1301CONFIG_USB_SERIAL_OMNINET=m
1263CONFIG_USB_EZUSB=y 1302CONFIG_USB_EZUSB=y
1264 1303
@@ -1272,10 +1311,12 @@ CONFIG_USB_RIO500=m
1272CONFIG_USB_LEGOTOWER=m 1311CONFIG_USB_LEGOTOWER=m
1273CONFIG_USB_LCD=m 1312CONFIG_USB_LCD=m
1274CONFIG_USB_LED=m 1313CONFIG_USB_LED=m
1314# CONFIG_USB_CY7C63 is not set
1275CONFIG_USB_CYTHERM=m 1315CONFIG_USB_CYTHERM=m
1276CONFIG_USB_PHIDGETKIT=m 1316CONFIG_USB_PHIDGETKIT=m
1277CONFIG_USB_PHIDGETSERVO=m 1317CONFIG_USB_PHIDGETSERVO=m
1278# CONFIG_USB_IDMOUSE is not set 1318# CONFIG_USB_IDMOUSE is not set
1319# CONFIG_USB_APPLEDISPLAY is not set
1279CONFIG_USB_SISUSBVGA=m 1320CONFIG_USB_SISUSBVGA=m
1280# CONFIG_USB_SISUSBVGA_CON is not set 1321# CONFIG_USB_SISUSBVGA_CON is not set
1281CONFIG_USB_LD=m 1322CONFIG_USB_LD=m
@@ -1323,6 +1364,19 @@ CONFIG_USB_TEST=m
1323# CONFIG_RTC_CLASS is not set 1364# CONFIG_RTC_CLASS is not set
1324 1365
1325# 1366#
1367# DMA Engine support
1368#
1369# CONFIG_DMA_ENGINE is not set
1370
1371#
1372# DMA Clients
1373#
1374
1375#
1376# DMA Devices
1377#
1378
1379#
1326# File systems 1380# File systems
1327# 1381#
1328CONFIG_EXT2_FS=m 1382CONFIG_EXT2_FS=m
@@ -1344,7 +1398,6 @@ CONFIG_REISERFS_FS_SECURITY=y
1344# CONFIG_JFS_FS is not set 1398# CONFIG_JFS_FS is not set
1345CONFIG_FS_POSIX_ACL=y 1399CONFIG_FS_POSIX_ACL=y
1346CONFIG_XFS_FS=m 1400CONFIG_XFS_FS=m
1347CONFIG_XFS_EXPORT=y
1348CONFIG_XFS_QUOTA=y 1401CONFIG_XFS_QUOTA=y
1349CONFIG_XFS_SECURITY=y 1402CONFIG_XFS_SECURITY=y
1350# CONFIG_XFS_POSIX_ACL is not set 1403# CONFIG_XFS_POSIX_ACL is not set
@@ -1353,6 +1406,7 @@ CONFIG_XFS_SECURITY=y
1353CONFIG_MINIX_FS=m 1406CONFIG_MINIX_FS=m
1354CONFIG_ROMFS_FS=m 1407CONFIG_ROMFS_FS=m
1355CONFIG_INOTIFY=y 1408CONFIG_INOTIFY=y
1409CONFIG_INOTIFY_USER=y
1356# CONFIG_QUOTA is not set 1410# CONFIG_QUOTA is not set
1357CONFIG_QUOTACTL=y 1411CONFIG_QUOTACTL=y
1358CONFIG_DNOTIFY=y 1412CONFIG_DNOTIFY=y
@@ -1411,6 +1465,8 @@ CONFIG_HPFS_FS=m
1411CONFIG_QNX4FS_FS=m 1465CONFIG_QNX4FS_FS=m
1412CONFIG_SYSV_FS=m 1466CONFIG_SYSV_FS=m
1413CONFIG_UFS_FS=m 1467CONFIG_UFS_FS=m
1468# CONFIG_UFS_FS_WRITE is not set
1469# CONFIG_UFS_DEBUG is not set
1414 1470
1415# 1471#
1416# Network File Systems 1472# Network File Systems
@@ -1437,7 +1493,9 @@ CONFIG_SMB_FS=m
1437# CONFIG_SMB_NLS_DEFAULT is not set 1493# CONFIG_SMB_NLS_DEFAULT is not set
1438CONFIG_CIFS=m 1494CONFIG_CIFS=m
1439# CONFIG_CIFS_STATS is not set 1495# CONFIG_CIFS_STATS is not set
1496# CONFIG_CIFS_WEAK_PW_HASH is not set
1440# CONFIG_CIFS_XATTR is not set 1497# CONFIG_CIFS_XATTR is not set
1498# CONFIG_CIFS_DEBUG2 is not set
1441# CONFIG_CIFS_EXPERIMENTAL is not set 1499# CONFIG_CIFS_EXPERIMENTAL is not set
1442CONFIG_NCP_FS=m 1500CONFIG_NCP_FS=m
1443CONFIG_NCPFS_PACKET_SIGNING=y 1501CONFIG_NCPFS_PACKET_SIGNING=y
@@ -1529,6 +1587,7 @@ CONFIG_NLS_UTF8=m
1529# 1587#
1530# CONFIG_PRINTK_TIME is not set 1588# CONFIG_PRINTK_TIME is not set
1531# CONFIG_MAGIC_SYSRQ is not set 1589# CONFIG_MAGIC_SYSRQ is not set
1590# CONFIG_UNUSED_SYMBOLS is not set
1532# CONFIG_DEBUG_KERNEL is not set 1591# CONFIG_DEBUG_KERNEL is not set
1533CONFIG_LOG_BUF_SHIFT=14 1592CONFIG_LOG_BUF_SHIFT=14
1534# CONFIG_DEBUG_FS is not set 1593# CONFIG_DEBUG_FS is not set
@@ -1588,3 +1647,4 @@ CONFIG_TEXTSEARCH=y
1588CONFIG_TEXTSEARCH_KMP=m 1647CONFIG_TEXTSEARCH_KMP=m
1589CONFIG_TEXTSEARCH_BM=m 1648CONFIG_TEXTSEARCH_BM=m
1590CONFIG_TEXTSEARCH_FSM=m 1649CONFIG_TEXTSEARCH_FSM=m
1650CONFIG_PLIST=y
diff --git a/arch/mips/configs/sb1250-swarm_defconfig b/arch/mips/configs/sb1250-swarm_defconfig
index ff34ed66fe65..625c1c619b6b 100644
--- a/arch/mips/configs/sb1250-swarm_defconfig
+++ b/arch/mips/configs/sb1250-swarm_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.17-rc2 3# Linux kernel version: 2.6.18-rc1
4# Mon Apr 24 14:51:17 2006 4# Thu Jul 6 10:04:19 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -21,6 +21,7 @@ CONFIG_MIPS=y
21# CONFIG_MIPS_DB1550 is not set 21# CONFIG_MIPS_DB1550 is not set
22# CONFIG_MIPS_DB1200 is not set 22# CONFIG_MIPS_DB1200 is not set
23# CONFIG_MIPS_MIRAGE is not set 23# CONFIG_MIPS_MIRAGE is not set
24# CONFIG_BASLER_EXCITE is not set
24# CONFIG_MIPS_COBALT is not set 25# CONFIG_MIPS_COBALT is not set
25# CONFIG_MACH_DECSTATION is not set 26# CONFIG_MACH_DECSTATION is not set
26# CONFIG_MIPS_EV64120 is not set 27# CONFIG_MIPS_EV64120 is not set
@@ -32,6 +33,7 @@ CONFIG_MIPS=y
32# CONFIG_MIPS_ATLAS is not set 33# CONFIG_MIPS_ATLAS is not set
33# CONFIG_MIPS_MALTA is not set 34# CONFIG_MIPS_MALTA is not set
34# CONFIG_MIPS_SEAD is not set 35# CONFIG_MIPS_SEAD is not set
36# CONFIG_WR_PPMC is not set
35# CONFIG_MIPS_SIM is not set 37# CONFIG_MIPS_SIM is not set
36# CONFIG_MOMENCO_JAGUAR_ATX is not set 38# CONFIG_MOMENCO_JAGUAR_ATX is not set
37# CONFIG_MOMENCO_OCELOT is not set 39# CONFIG_MOMENCO_OCELOT is not set
@@ -45,6 +47,7 @@ CONFIG_MIPS=y
45# CONFIG_MACH_VR41XX is not set 47# CONFIG_MACH_VR41XX is not set
46# CONFIG_PMC_YOSEMITE is not set 48# CONFIG_PMC_YOSEMITE is not set
47# CONFIG_QEMU is not set 49# CONFIG_QEMU is not set
50# CONFIG_MARKEINS is not set
48# CONFIG_SGI_IP22 is not set 51# CONFIG_SGI_IP22 is not set
49# CONFIG_SGI_IP27 is not set 52# CONFIG_SGI_IP27 is not set
50# CONFIG_SGI_IP32 is not set 53# CONFIG_SGI_IP32 is not set
@@ -82,6 +85,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y
82CONFIG_GENERIC_FIND_NEXT_BIT=y 85CONFIG_GENERIC_FIND_NEXT_BIT=y
83CONFIG_GENERIC_HWEIGHT=y 86CONFIG_GENERIC_HWEIGHT=y
84CONFIG_GENERIC_CALIBRATE_DELAY=y 87CONFIG_GENERIC_CALIBRATE_DELAY=y
88CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
85CONFIG_DMA_COHERENT=y 89CONFIG_DMA_COHERENT=y
86CONFIG_CPU_BIG_ENDIAN=y 90CONFIG_CPU_BIG_ENDIAN=y
87# CONFIG_CPU_LITTLE_ENDIAN is not set 91# CONFIG_CPU_LITTLE_ENDIAN is not set
@@ -130,12 +134,16 @@ CONFIG_PAGE_SIZE_4KB=y
130# CONFIG_PAGE_SIZE_64KB is not set 134# CONFIG_PAGE_SIZE_64KB is not set
131# CONFIG_SIBYTE_DMA_PAGEOPS is not set 135# CONFIG_SIBYTE_DMA_PAGEOPS is not set
132CONFIG_CPU_HAS_PREFETCH=y 136CONFIG_CPU_HAS_PREFETCH=y
133# CONFIG_MIPS_MT is not set 137CONFIG_MIPS_MT_DISABLED=y
138# CONFIG_MIPS_MT_SMTC is not set
139# CONFIG_MIPS_MT_SMP is not set
140# CONFIG_MIPS_VPE_LOADER is not set
134CONFIG_SB1_PASS_1_WORKAROUNDS=y 141CONFIG_SB1_PASS_1_WORKAROUNDS=y
135CONFIG_CPU_HAS_LLSC=y 142CONFIG_CPU_HAS_LLSC=y
136CONFIG_CPU_HAS_SYNC=y 143CONFIG_CPU_HAS_SYNC=y
137CONFIG_GENERIC_HARDIRQS=y 144CONFIG_GENERIC_HARDIRQS=y
138CONFIG_GENERIC_IRQ_PROBE=y 145CONFIG_GENERIC_IRQ_PROBE=y
146CONFIG_IRQ_PER_CPU=y
139CONFIG_CPU_SUPPORTS_HIGHMEM=y 147CONFIG_CPU_SUPPORTS_HIGHMEM=y
140CONFIG_SYS_SUPPORTS_HIGHMEM=y 148CONFIG_SYS_SUPPORTS_HIGHMEM=y
141CONFIG_ARCH_FLATMEM_ENABLE=y 149CONFIG_ARCH_FLATMEM_ENABLE=y
@@ -147,6 +155,10 @@ CONFIG_FLATMEM=y
147CONFIG_FLAT_NODE_MEM_MAP=y 155CONFIG_FLAT_NODE_MEM_MAP=y
148# CONFIG_SPARSEMEM_STATIC is not set 156# CONFIG_SPARSEMEM_STATIC is not set
149CONFIG_SPLIT_PTLOCK_CPUS=4 157CONFIG_SPLIT_PTLOCK_CPUS=4
158CONFIG_RESOURCES_64BIT=y
159CONFIG_SMP=y
160CONFIG_SYS_SUPPORTS_SMP=y
161CONFIG_NR_CPUS=2
150# CONFIG_HZ_48 is not set 162# CONFIG_HZ_48 is not set
151# CONFIG_HZ_100 is not set 163# CONFIG_HZ_100 is not set
152# CONFIG_HZ_128 is not set 164# CONFIG_HZ_128 is not set
@@ -156,12 +168,11 @@ CONFIG_HZ_1000=y
156# CONFIG_HZ_1024 is not set 168# CONFIG_HZ_1024 is not set
157CONFIG_SYS_SUPPORTS_ARBIT_HZ=y 169CONFIG_SYS_SUPPORTS_ARBIT_HZ=y
158CONFIG_HZ=1000 170CONFIG_HZ=1000
159CONFIG_SMP=y
160CONFIG_NR_CPUS=2
161CONFIG_PREEMPT_NONE=y 171CONFIG_PREEMPT_NONE=y
162# CONFIG_PREEMPT_VOLUNTARY is not set 172# CONFIG_PREEMPT_VOLUNTARY is not set
163# CONFIG_PREEMPT is not set 173# CONFIG_PREEMPT is not set
164CONFIG_PREEMPT_BKL=y 174CONFIG_PREEMPT_BKL=y
175CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
165 176
166# 177#
167# Code maturity level options 178# Code maturity level options
@@ -194,10 +205,12 @@ CONFIG_PRINTK=y
194CONFIG_BUG=y 205CONFIG_BUG=y
195CONFIG_ELF_CORE=y 206CONFIG_ELF_CORE=y
196CONFIG_BASE_FULL=y 207CONFIG_BASE_FULL=y
208CONFIG_RT_MUTEXES=y
197CONFIG_FUTEX=y 209CONFIG_FUTEX=y
198CONFIG_EPOLL=y 210CONFIG_EPOLL=y
199CONFIG_SHMEM=y 211CONFIG_SHMEM=y
200CONFIG_SLAB=y 212CONFIG_SLAB=y
213CONFIG_VM_EVENT_COUNTERS=y
201# CONFIG_TINY_SHMEM is not set 214# CONFIG_TINY_SHMEM is not set
202CONFIG_BASE_SMALL=0 215CONFIG_BASE_SMALL=0
203# CONFIG_SLOB is not set 216# CONFIG_SLOB is not set
@@ -292,6 +305,8 @@ CONFIG_IP_PNP_BOOTP=y
292# CONFIG_INET_IPCOMP is not set 305# CONFIG_INET_IPCOMP is not set
293# CONFIG_INET_XFRM_TUNNEL is not set 306# CONFIG_INET_XFRM_TUNNEL is not set
294# CONFIG_INET_TUNNEL is not set 307# CONFIG_INET_TUNNEL is not set
308CONFIG_INET_XFRM_MODE_TRANSPORT=m
309CONFIG_INET_XFRM_MODE_TUNNEL=m
295CONFIG_INET_DIAG=y 310CONFIG_INET_DIAG=y
296CONFIG_INET_TCP_DIAG=y 311CONFIG_INET_TCP_DIAG=y
297# CONFIG_TCP_CONG_ADVANCED is not set 312# CONFIG_TCP_CONG_ADVANCED is not set
@@ -299,6 +314,7 @@ CONFIG_TCP_CONG_BIC=y
299# CONFIG_IPV6 is not set 314# CONFIG_IPV6 is not set
300# CONFIG_INET6_XFRM_TUNNEL is not set 315# CONFIG_INET6_XFRM_TUNNEL is not set
301# CONFIG_INET6_TUNNEL is not set 316# CONFIG_INET6_TUNNEL is not set
317CONFIG_NETWORK_SECMARK=y
302# CONFIG_NETFILTER is not set 318# CONFIG_NETFILTER is not set
303 319
304# 320#
@@ -358,6 +374,7 @@ CONFIG_WIRELESS_EXT=y
358CONFIG_STANDALONE=y 374CONFIG_STANDALONE=y
359CONFIG_PREVENT_FIRMWARE_BUILD=y 375CONFIG_PREVENT_FIRMWARE_BUILD=y
360CONFIG_FW_LOADER=m 376CONFIG_FW_LOADER=m
377# CONFIG_SYS_HYPERVISOR is not set
361 378
362# 379#
363# Connector - unified userspace <-> kernelspace linker 380# Connector - unified userspace <-> kernelspace linker
@@ -479,6 +496,8 @@ CONFIG_DAVICOM_PHY=m
479CONFIG_QSEMI_PHY=m 496CONFIG_QSEMI_PHY=m
480CONFIG_LXT_PHY=m 497CONFIG_LXT_PHY=m
481CONFIG_CICADA_PHY=m 498CONFIG_CICADA_PHY=m
499CONFIG_VITESSE_PHY=m
500CONFIG_SMSC_PHY=m
482 501
483# 502#
484# Ethernet (10 or 100Mbit) 503# Ethernet (10 or 100Mbit)
@@ -522,6 +541,7 @@ CONFIG_NET_SB1250_MAC=y
522# CONFIG_CHELSIO_T1 is not set 541# CONFIG_CHELSIO_T1 is not set
523# CONFIG_IXGB is not set 542# CONFIG_IXGB is not set
524# CONFIG_S2IO is not set 543# CONFIG_S2IO is not set
544# CONFIG_MYRI10GE is not set
525 545
526# 546#
527# Token Ring devices 547# Token Ring devices
@@ -589,6 +609,7 @@ CONFIG_SERIAL_NONSTANDARD=y
589# CONFIG_N_HDLC is not set 609# CONFIG_N_HDLC is not set
590# CONFIG_SPECIALIX is not set 610# CONFIG_SPECIALIX is not set
591# CONFIG_SX is not set 611# CONFIG_SX is not set
612# CONFIG_RIO is not set
592# CONFIG_STALDRV is not set 613# CONFIG_STALDRV is not set
593CONFIG_SIBYTE_SB1250_DUART=y 614CONFIG_SIBYTE_SB1250_DUART=y
594CONFIG_SIBYTE_SB1250_DUART_CONSOLE=y 615CONFIG_SIBYTE_SB1250_DUART_CONSOLE=y
@@ -615,6 +636,7 @@ CONFIG_LEGACY_PTY_COUNT=256
615# Watchdog Cards 636# Watchdog Cards
616# 637#
617# CONFIG_WATCHDOG is not set 638# CONFIG_WATCHDOG is not set
639# CONFIG_HW_RANDOM is not set
618# CONFIG_RTC is not set 640# CONFIG_RTC is not set
619# CONFIG_GEN_RTC is not set 641# CONFIG_GEN_RTC is not set
620# CONFIG_DTLK is not set 642# CONFIG_DTLK is not set
@@ -663,6 +685,7 @@ CONFIG_LEGACY_PTY_COUNT=256
663# Multimedia devices 685# Multimedia devices
664# 686#
665# CONFIG_VIDEO_DEV is not set 687# CONFIG_VIDEO_DEV is not set
688CONFIG_VIDEO_V4L2=y
666 689
667# 690#
668# Digital Video Broadcasting Devices 691# Digital Video Broadcasting Devices
@@ -672,6 +695,7 @@ CONFIG_LEGACY_PTY_COUNT=256
672# 695#
673# Graphics support 696# Graphics support
674# 697#
698# CONFIG_FIRMWARE_EDID is not set
675# CONFIG_FB is not set 699# CONFIG_FB is not set
676 700
677# 701#
@@ -729,6 +753,19 @@ CONFIG_USB_ARCH_HAS_EHCI=y
729# CONFIG_RTC_CLASS is not set 753# CONFIG_RTC_CLASS is not set
730 754
731# 755#
756# DMA Engine support
757#
758# CONFIG_DMA_ENGINE is not set
759
760#
761# DMA Clients
762#
763
764#
765# DMA Devices
766#
767
768#
732# File systems 769# File systems
733# 770#
734CONFIG_EXT2_FS=y 771CONFIG_EXT2_FS=y
@@ -746,6 +783,7 @@ CONFIG_FS_POSIX_ACL=y
746# CONFIG_MINIX_FS is not set 783# CONFIG_MINIX_FS is not set
747# CONFIG_ROMFS_FS is not set 784# CONFIG_ROMFS_FS is not set
748CONFIG_INOTIFY=y 785CONFIG_INOTIFY=y
786CONFIG_INOTIFY_USER=y
749# CONFIG_QUOTA is not set 787# CONFIG_QUOTA is not set
750CONFIG_DNOTIFY=y 788CONFIG_DNOTIFY=y
751# CONFIG_AUTOFS_FS is not set 789# CONFIG_AUTOFS_FS is not set
@@ -811,6 +849,7 @@ CONFIG_SUNRPC=y
811# CONFIG_RPCSEC_GSS_SPKM3 is not set 849# CONFIG_RPCSEC_GSS_SPKM3 is not set
812# CONFIG_SMB_FS is not set 850# CONFIG_SMB_FS is not set
813# CONFIG_CIFS is not set 851# CONFIG_CIFS is not set
852# CONFIG_CIFS_DEBUG2 is not set
814# CONFIG_NCP_FS is not set 853# CONFIG_NCP_FS is not set
815# CONFIG_CODA_FS is not set 854# CONFIG_CODA_FS is not set
816# CONFIG_AFS_FS is not set 855# CONFIG_AFS_FS is not set
@@ -837,6 +876,7 @@ CONFIG_MSDOS_PARTITION=y
837# 876#
838# CONFIG_PRINTK_TIME is not set 877# CONFIG_PRINTK_TIME is not set
839# CONFIG_MAGIC_SYSRQ is not set 878# CONFIG_MAGIC_SYSRQ is not set
879# CONFIG_UNUSED_SYMBOLS is not set
840# CONFIG_DEBUG_KERNEL is not set 880# CONFIG_DEBUG_KERNEL is not set
841CONFIG_LOG_BUF_SHIFT=15 881CONFIG_LOG_BUF_SHIFT=15
842# CONFIG_DEBUG_FS is not set 882# CONFIG_DEBUG_FS is not set
@@ -893,3 +933,4 @@ CONFIG_CRC32=y
893CONFIG_LIBCRC32C=m 933CONFIG_LIBCRC32C=m
894CONFIG_ZLIB_INFLATE=m 934CONFIG_ZLIB_INFLATE=m
895CONFIG_ZLIB_DEFLATE=m 935CONFIG_ZLIB_DEFLATE=m
936CONFIG_PLIST=y
diff --git a/arch/mips/configs/sead_defconfig b/arch/mips/configs/sead_defconfig
index 77edeae7f018..4401b602118f 100644
--- a/arch/mips/configs/sead_defconfig
+++ b/arch/mips/configs/sead_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.17-rc2 3# Linux kernel version: 2.6.18-rc1
4# Mon Apr 24 14:51:17 2006 4# Thu Jul 6 10:04:20 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -21,6 +21,7 @@ CONFIG_MIPS=y
21# CONFIG_MIPS_DB1550 is not set 21# CONFIG_MIPS_DB1550 is not set
22# CONFIG_MIPS_DB1200 is not set 22# CONFIG_MIPS_DB1200 is not set
23# CONFIG_MIPS_MIRAGE is not set 23# CONFIG_MIPS_MIRAGE is not set
24# CONFIG_BASLER_EXCITE is not set
24# CONFIG_MIPS_COBALT is not set 25# CONFIG_MIPS_COBALT is not set
25# CONFIG_MACH_DECSTATION is not set 26# CONFIG_MACH_DECSTATION is not set
26# CONFIG_MIPS_EV64120 is not set 27# CONFIG_MIPS_EV64120 is not set
@@ -32,6 +33,7 @@ CONFIG_MIPS=y
32# CONFIG_MIPS_ATLAS is not set 33# CONFIG_MIPS_ATLAS is not set
33# CONFIG_MIPS_MALTA is not set 34# CONFIG_MIPS_MALTA is not set
34CONFIG_MIPS_SEAD=y 35CONFIG_MIPS_SEAD=y
36# CONFIG_WR_PPMC is not set
35# CONFIG_MIPS_SIM is not set 37# CONFIG_MIPS_SIM is not set
36# CONFIG_MOMENCO_JAGUAR_ATX is not set 38# CONFIG_MOMENCO_JAGUAR_ATX is not set
37# CONFIG_MOMENCO_OCELOT is not set 39# CONFIG_MOMENCO_OCELOT is not set
@@ -45,6 +47,7 @@ CONFIG_MIPS_SEAD=y
45# CONFIG_MACH_VR41XX is not set 47# CONFIG_MACH_VR41XX is not set
46# CONFIG_PMC_YOSEMITE is not set 48# CONFIG_PMC_YOSEMITE is not set
47# CONFIG_QEMU is not set 49# CONFIG_QEMU is not set
50# CONFIG_MARKEINS is not set
48# CONFIG_SGI_IP22 is not set 51# CONFIG_SGI_IP22 is not set
49# CONFIG_SGI_IP27 is not set 52# CONFIG_SGI_IP27 is not set
50# CONFIG_SGI_IP32 is not set 53# CONFIG_SGI_IP32 is not set
@@ -65,6 +68,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y
65CONFIG_GENERIC_FIND_NEXT_BIT=y 68CONFIG_GENERIC_FIND_NEXT_BIT=y
66CONFIG_GENERIC_HWEIGHT=y 69CONFIG_GENERIC_HWEIGHT=y
67CONFIG_GENERIC_CALIBRATE_DELAY=y 70CONFIG_GENERIC_CALIBRATE_DELAY=y
71CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
68CONFIG_DMA_NONCOHERENT=y 72CONFIG_DMA_NONCOHERENT=y
69CONFIG_DMA_NEED_PCI_MAP_STATE=y 73CONFIG_DMA_NEED_PCI_MAP_STATE=y
70# CONFIG_CPU_BIG_ENDIAN is not set 74# CONFIG_CPU_BIG_ENDIAN is not set
@@ -116,7 +120,10 @@ CONFIG_PAGE_SIZE_4KB=y
116# CONFIG_PAGE_SIZE_16KB is not set 120# CONFIG_PAGE_SIZE_16KB is not set
117# CONFIG_PAGE_SIZE_64KB is not set 121# CONFIG_PAGE_SIZE_64KB is not set
118CONFIG_CPU_HAS_PREFETCH=y 122CONFIG_CPU_HAS_PREFETCH=y
119# CONFIG_MIPS_MT is not set 123CONFIG_MIPS_MT_DISABLED=y
124# CONFIG_MIPS_MT_SMTC is not set
125# CONFIG_MIPS_MT_SMP is not set
126# CONFIG_MIPS_VPE_LOADER is not set
120# CONFIG_64BIT_PHYS_ADDR is not set 127# CONFIG_64BIT_PHYS_ADDR is not set
121CONFIG_CPU_HAS_LLSC=y 128CONFIG_CPU_HAS_LLSC=y
122CONFIG_CPU_HAS_SYNC=y 129CONFIG_CPU_HAS_SYNC=y
@@ -132,6 +139,7 @@ CONFIG_FLATMEM=y
132CONFIG_FLAT_NODE_MEM_MAP=y 139CONFIG_FLAT_NODE_MEM_MAP=y
133# CONFIG_SPARSEMEM_STATIC is not set 140# CONFIG_SPARSEMEM_STATIC is not set
134CONFIG_SPLIT_PTLOCK_CPUS=4 141CONFIG_SPLIT_PTLOCK_CPUS=4
142# CONFIG_RESOURCES_64BIT is not set
135# CONFIG_HZ_48 is not set 143# CONFIG_HZ_48 is not set
136# CONFIG_HZ_100 is not set 144# CONFIG_HZ_100 is not set
137# CONFIG_HZ_128 is not set 145# CONFIG_HZ_128 is not set
@@ -144,6 +152,7 @@ CONFIG_HZ=1000
144CONFIG_PREEMPT_NONE=y 152CONFIG_PREEMPT_NONE=y
145# CONFIG_PREEMPT_VOLUNTARY is not set 153# CONFIG_PREEMPT_VOLUNTARY is not set
146# CONFIG_PREEMPT is not set 154# CONFIG_PREEMPT is not set
155CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
147 156
148# 157#
149# Code maturity level options 158# Code maturity level options
@@ -173,10 +182,12 @@ CONFIG_PRINTK=y
173CONFIG_BUG=y 182CONFIG_BUG=y
174CONFIG_ELF_CORE=y 183CONFIG_ELF_CORE=y
175CONFIG_BASE_FULL=y 184CONFIG_BASE_FULL=y
185CONFIG_RT_MUTEXES=y
176CONFIG_FUTEX=y 186CONFIG_FUTEX=y
177CONFIG_EPOLL=y 187CONFIG_EPOLL=y
178CONFIG_SHMEM=y 188CONFIG_SHMEM=y
179CONFIG_SLAB=y 189CONFIG_SLAB=y
190CONFIG_VM_EVENT_COUNTERS=y
180# CONFIG_TINY_SHMEM is not set 191# CONFIG_TINY_SHMEM is not set
181CONFIG_BASE_SMALL=0 192CONFIG_BASE_SMALL=0
182# CONFIG_SLOB is not set 193# CONFIG_SLOB is not set
@@ -242,6 +253,7 @@ CONFIG_TRAD_SIGNALS=y
242CONFIG_STANDALONE=y 253CONFIG_STANDALONE=y
243CONFIG_PREVENT_FIRMWARE_BUILD=y 254CONFIG_PREVENT_FIRMWARE_BUILD=y
244# CONFIG_FW_LOADER is not set 255# CONFIG_FW_LOADER is not set
256# CONFIG_SYS_HYPERVISOR is not set
245 257
246# 258#
247# Connector - unified userspace <-> kernelspace linker 259# Connector - unified userspace <-> kernelspace linker
@@ -355,6 +367,7 @@ CONFIG_LEGACY_PTY_COUNT=256
355# Watchdog Cards 367# Watchdog Cards
356# 368#
357# CONFIG_WATCHDOG is not set 369# CONFIG_WATCHDOG is not set
370# CONFIG_HW_RANDOM is not set
358# CONFIG_RTC is not set 371# CONFIG_RTC is not set
359# CONFIG_GEN_RTC is not set 372# CONFIG_GEN_RTC is not set
360# CONFIG_DTLK is not set 373# CONFIG_DTLK is not set
@@ -385,7 +398,6 @@ CONFIG_LEGACY_PTY_COUNT=256
385# 398#
386# Dallas's 1-wire bus 399# Dallas's 1-wire bus
387# 400#
388# CONFIG_W1 is not set
389 401
390# 402#
391# Hardware Monitoring support 403# Hardware Monitoring support
@@ -401,6 +413,7 @@ CONFIG_LEGACY_PTY_COUNT=256
401# Multimedia devices 413# Multimedia devices
402# 414#
403# CONFIG_VIDEO_DEV is not set 415# CONFIG_VIDEO_DEV is not set
416CONFIG_VIDEO_V4L2=y
404 417
405# 418#
406# Digital Video Broadcasting Devices 419# Digital Video Broadcasting Devices
@@ -409,6 +422,7 @@ CONFIG_LEGACY_PTY_COUNT=256
409# 422#
410# Graphics support 423# Graphics support
411# 424#
425# CONFIG_FIRMWARE_EDID is not set
412# CONFIG_FB is not set 426# CONFIG_FB is not set
413 427
414# 428#
@@ -464,6 +478,19 @@ CONFIG_LEGACY_PTY_COUNT=256
464# CONFIG_RTC_CLASS is not set 478# CONFIG_RTC_CLASS is not set
465 479
466# 480#
481# DMA Engine support
482#
483# CONFIG_DMA_ENGINE is not set
484
485#
486# DMA Clients
487#
488
489#
490# DMA Devices
491#
492
493#
467# File systems 494# File systems
468# 495#
469CONFIG_EXT2_FS=y 496CONFIG_EXT2_FS=y
@@ -477,6 +504,7 @@ CONFIG_EXT2_FS=y
477# CONFIG_MINIX_FS is not set 504# CONFIG_MINIX_FS is not set
478# CONFIG_ROMFS_FS is not set 505# CONFIG_ROMFS_FS is not set
479CONFIG_INOTIFY=y 506CONFIG_INOTIFY=y
507CONFIG_INOTIFY_USER=y
480# CONFIG_QUOTA is not set 508# CONFIG_QUOTA is not set
481CONFIG_DNOTIFY=y 509CONFIG_DNOTIFY=y
482# CONFIG_AUTOFS_FS is not set 510# CONFIG_AUTOFS_FS is not set
@@ -556,6 +584,7 @@ CONFIG_PARTITION_ADVANCED=y
556# 584#
557# CONFIG_PRINTK_TIME is not set 585# CONFIG_PRINTK_TIME is not set
558# CONFIG_MAGIC_SYSRQ is not set 586# CONFIG_MAGIC_SYSRQ is not set
587# CONFIG_UNUSED_SYMBOLS is not set
559# CONFIG_DEBUG_KERNEL is not set 588# CONFIG_DEBUG_KERNEL is not set
560CONFIG_LOG_BUF_SHIFT=14 589CONFIG_LOG_BUF_SHIFT=14
561# CONFIG_DEBUG_FS is not set 590# CONFIG_DEBUG_FS is not set
@@ -585,3 +614,4 @@ CONFIG_CMDLINE=""
585CONFIG_CRC16=y 614CONFIG_CRC16=y
586# CONFIG_CRC32 is not set 615# CONFIG_CRC32 is not set
587# CONFIG_LIBCRC32C is not set 616# CONFIG_LIBCRC32C is not set
617CONFIG_PLIST=y
diff --git a/arch/mips/configs/tb0226_defconfig b/arch/mips/configs/tb0226_defconfig
index 6aa229d54851..2ba4e25e8c34 100644
--- a/arch/mips/configs/tb0226_defconfig
+++ b/arch/mips/configs/tb0226_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.17-rc2 3# Linux kernel version: 2.6.18-rc1
4# Tue Apr 25 00:08:41 2006 4# Thu Jul 6 10:04:20 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -21,6 +21,7 @@ CONFIG_MIPS=y
21# CONFIG_MIPS_DB1550 is not set 21# CONFIG_MIPS_DB1550 is not set
22# CONFIG_MIPS_DB1200 is not set 22# CONFIG_MIPS_DB1200 is not set
23# CONFIG_MIPS_MIRAGE is not set 23# CONFIG_MIPS_MIRAGE is not set
24# CONFIG_BASLER_EXCITE is not set
24# CONFIG_MIPS_COBALT is not set 25# CONFIG_MIPS_COBALT is not set
25# CONFIG_MACH_DECSTATION is not set 26# CONFIG_MACH_DECSTATION is not set
26# CONFIG_MIPS_EV64120 is not set 27# CONFIG_MIPS_EV64120 is not set
@@ -32,6 +33,7 @@ CONFIG_MIPS=y
32# CONFIG_MIPS_ATLAS is not set 33# CONFIG_MIPS_ATLAS is not set
33# CONFIG_MIPS_MALTA is not set 34# CONFIG_MIPS_MALTA is not set
34# CONFIG_MIPS_SEAD is not set 35# CONFIG_MIPS_SEAD is not set
36# CONFIG_WR_PPMC is not set
35# CONFIG_MIPS_SIM is not set 37# CONFIG_MIPS_SIM is not set
36# CONFIG_MOMENCO_JAGUAR_ATX is not set 38# CONFIG_MOMENCO_JAGUAR_ATX is not set
37# CONFIG_MOMENCO_OCELOT is not set 39# CONFIG_MOMENCO_OCELOT is not set
@@ -45,6 +47,7 @@ CONFIG_MIPS=y
45CONFIG_MACH_VR41XX=y 47CONFIG_MACH_VR41XX=y
46# CONFIG_PMC_YOSEMITE is not set 48# CONFIG_PMC_YOSEMITE is not set
47# CONFIG_QEMU is not set 49# CONFIG_QEMU is not set
50# CONFIG_MARKEINS is not set
48# CONFIG_SGI_IP22 is not set 51# CONFIG_SGI_IP22 is not set
49# CONFIG_SGI_IP27 is not set 52# CONFIG_SGI_IP27 is not set
50# CONFIG_SGI_IP32 is not set 53# CONFIG_SGI_IP32 is not set
@@ -75,6 +78,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y
75CONFIG_GENERIC_FIND_NEXT_BIT=y 78CONFIG_GENERIC_FIND_NEXT_BIT=y
76CONFIG_GENERIC_HWEIGHT=y 79CONFIG_GENERIC_HWEIGHT=y
77CONFIG_GENERIC_CALIBRATE_DELAY=y 80CONFIG_GENERIC_CALIBRATE_DELAY=y
81CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
78CONFIG_DMA_NONCOHERENT=y 82CONFIG_DMA_NONCOHERENT=y
79CONFIG_DMA_NEED_PCI_MAP_STATE=y 83CONFIG_DMA_NEED_PCI_MAP_STATE=y
80# CONFIG_CPU_BIG_ENDIAN is not set 84# CONFIG_CPU_BIG_ENDIAN is not set
@@ -119,7 +123,10 @@ CONFIG_PAGE_SIZE_4KB=y
119# CONFIG_PAGE_SIZE_8KB is not set 123# CONFIG_PAGE_SIZE_8KB is not set
120# CONFIG_PAGE_SIZE_16KB is not set 124# CONFIG_PAGE_SIZE_16KB is not set
121# CONFIG_PAGE_SIZE_64KB is not set 125# CONFIG_PAGE_SIZE_64KB is not set
122# CONFIG_MIPS_MT is not set 126CONFIG_MIPS_MT_DISABLED=y
127# CONFIG_MIPS_MT_SMTC is not set
128# CONFIG_MIPS_MT_SMP is not set
129# CONFIG_MIPS_VPE_LOADER is not set
123CONFIG_CPU_HAS_SYNC=y 130CONFIG_CPU_HAS_SYNC=y
124CONFIG_GENERIC_HARDIRQS=y 131CONFIG_GENERIC_HARDIRQS=y
125CONFIG_GENERIC_IRQ_PROBE=y 132CONFIG_GENERIC_IRQ_PROBE=y
@@ -132,6 +139,7 @@ CONFIG_FLATMEM=y
132CONFIG_FLAT_NODE_MEM_MAP=y 139CONFIG_FLAT_NODE_MEM_MAP=y
133# CONFIG_SPARSEMEM_STATIC is not set 140# CONFIG_SPARSEMEM_STATIC is not set
134CONFIG_SPLIT_PTLOCK_CPUS=4 141CONFIG_SPLIT_PTLOCK_CPUS=4
142# CONFIG_RESOURCES_64BIT is not set
135# CONFIG_HZ_48 is not set 143# CONFIG_HZ_48 is not set
136# CONFIG_HZ_100 is not set 144# CONFIG_HZ_100 is not set
137# CONFIG_HZ_128 is not set 145# CONFIG_HZ_128 is not set
@@ -144,6 +152,7 @@ CONFIG_HZ=1000
144CONFIG_PREEMPT_NONE=y 152CONFIG_PREEMPT_NONE=y
145# CONFIG_PREEMPT_VOLUNTARY is not set 153# CONFIG_PREEMPT_VOLUNTARY is not set
146# CONFIG_PREEMPT is not set 154# CONFIG_PREEMPT is not set
155CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
147 156
148# 157#
149# Code maturity level options 158# Code maturity level options
@@ -175,10 +184,12 @@ CONFIG_PRINTK=y
175CONFIG_BUG=y 184CONFIG_BUG=y
176CONFIG_ELF_CORE=y 185CONFIG_ELF_CORE=y
177CONFIG_BASE_FULL=y 186CONFIG_BASE_FULL=y
187CONFIG_RT_MUTEXES=y
178CONFIG_FUTEX=y 188CONFIG_FUTEX=y
179CONFIG_EPOLL=y 189CONFIG_EPOLL=y
180CONFIG_SHMEM=y 190CONFIG_SHMEM=y
181CONFIG_SLAB=y 191CONFIG_SLAB=y
192CONFIG_VM_EVENT_COUNTERS=y
182# CONFIG_TINY_SHMEM is not set 193# CONFIG_TINY_SHMEM is not set
183CONFIG_BASE_SMALL=0 194CONFIG_BASE_SMALL=0
184# CONFIG_SLOB is not set 195# CONFIG_SLOB is not set
@@ -249,6 +260,8 @@ CONFIG_NET=y
249CONFIG_PACKET=y 260CONFIG_PACKET=y
250# CONFIG_PACKET_MMAP is not set 261# CONFIG_PACKET_MMAP is not set
251CONFIG_UNIX=y 262CONFIG_UNIX=y
263CONFIG_XFRM=y
264# CONFIG_XFRM_USER is not set
252# CONFIG_NET_KEY is not set 265# CONFIG_NET_KEY is not set
253CONFIG_INET=y 266CONFIG_INET=y
254CONFIG_IP_MULTICAST=y 267CONFIG_IP_MULTICAST=y
@@ -274,6 +287,8 @@ CONFIG_SYN_COOKIES=y
274# CONFIG_INET_IPCOMP is not set 287# CONFIG_INET_IPCOMP is not set
275# CONFIG_INET_XFRM_TUNNEL is not set 288# CONFIG_INET_XFRM_TUNNEL is not set
276# CONFIG_INET_TUNNEL is not set 289# CONFIG_INET_TUNNEL is not set
290CONFIG_INET_XFRM_MODE_TRANSPORT=m
291CONFIG_INET_XFRM_MODE_TUNNEL=m
277CONFIG_INET_DIAG=y 292CONFIG_INET_DIAG=y
278CONFIG_INET_TCP_DIAG=y 293CONFIG_INET_TCP_DIAG=y
279# CONFIG_TCP_CONG_ADVANCED is not set 294# CONFIG_TCP_CONG_ADVANCED is not set
@@ -281,6 +296,7 @@ CONFIG_TCP_CONG_BIC=y
281# CONFIG_IPV6 is not set 296# CONFIG_IPV6 is not set
282# CONFIG_INET6_XFRM_TUNNEL is not set 297# CONFIG_INET6_XFRM_TUNNEL is not set
283# CONFIG_INET6_TUNNEL is not set 298# CONFIG_INET6_TUNNEL is not set
299CONFIG_NETWORK_SECMARK=y
284# CONFIG_NETFILTER is not set 300# CONFIG_NETFILTER is not set
285 301
286# 302#
@@ -334,6 +350,7 @@ CONFIG_TCP_CONG_BIC=y
334CONFIG_STANDALONE=y 350CONFIG_STANDALONE=y
335CONFIG_PREVENT_FIRMWARE_BUILD=y 351CONFIG_PREVENT_FIRMWARE_BUILD=y
336CONFIG_FW_LOADER=y 352CONFIG_FW_LOADER=y
353# CONFIG_SYS_HYPERVISOR is not set
337 354
338# 355#
339# Connector - unified userspace <-> kernelspace linker 356# Connector - unified userspace <-> kernelspace linker
@@ -427,6 +444,7 @@ CONFIG_SCSI_MULTI_LUN=y
427# CONFIG_MEGARAID_LEGACY is not set 444# CONFIG_MEGARAID_LEGACY is not set
428# CONFIG_MEGARAID_SAS is not set 445# CONFIG_MEGARAID_SAS is not set
429# CONFIG_SCSI_SATA is not set 446# CONFIG_SCSI_SATA is not set
447# CONFIG_SCSI_HPTIOP is not set
430# CONFIG_SCSI_DMX3191D is not set 448# CONFIG_SCSI_DMX3191D is not set
431# CONFIG_SCSI_FUTURE_DOMAIN is not set 449# CONFIG_SCSI_FUTURE_DOMAIN is not set
432# CONFIG_SCSI_IPS is not set 450# CONFIG_SCSI_IPS is not set
@@ -492,6 +510,8 @@ CONFIG_DAVICOM_PHY=m
492CONFIG_QSEMI_PHY=m 510CONFIG_QSEMI_PHY=m
493CONFIG_LXT_PHY=m 511CONFIG_LXT_PHY=m
494CONFIG_CICADA_PHY=m 512CONFIG_CICADA_PHY=m
513CONFIG_VITESSE_PHY=m
514CONFIG_SMSC_PHY=m
495 515
496# 516#
497# Ethernet (10 or 100Mbit) 517# Ethernet (10 or 100Mbit)
@@ -554,6 +574,7 @@ CONFIG_E100=y
554# CONFIG_CHELSIO_T1 is not set 574# CONFIG_CHELSIO_T1 is not set
555# CONFIG_IXGB is not set 575# CONFIG_IXGB is not set
556# CONFIG_S2IO is not set 576# CONFIG_S2IO is not set
577# CONFIG_MYRI10GE is not set
557 578
558# 579#
559# Token Ring devices 580# Token Ring devices
@@ -624,6 +645,7 @@ CONFIG_INPUT=y
624CONFIG_VT=y 645CONFIG_VT=y
625CONFIG_VT_CONSOLE=y 646CONFIG_VT_CONSOLE=y
626CONFIG_HW_CONSOLE=y 647CONFIG_HW_CONSOLE=y
648CONFIG_VT_HW_CONSOLE_BINDING=y
627# CONFIG_SERIAL_NONSTANDARD is not set 649# CONFIG_SERIAL_NONSTANDARD is not set
628 650
629# 651#
@@ -652,6 +674,7 @@ CONFIG_LEGACY_PTY_COUNT=256
652# Watchdog Cards 674# Watchdog Cards
653# 675#
654# CONFIG_WATCHDOG is not set 676# CONFIG_WATCHDOG is not set
677# CONFIG_HW_RANDOM is not set
655# CONFIG_RTC is not set 678# CONFIG_RTC is not set
656# CONFIG_GEN_RTC is not set 679# CONFIG_GEN_RTC is not set
657# CONFIG_DTLK is not set 680# CONFIG_DTLK is not set
@@ -702,6 +725,7 @@ CONFIG_GPIO_VR41XX=y
702# Multimedia devices 725# Multimedia devices
703# 726#
704# CONFIG_VIDEO_DEV is not set 727# CONFIG_VIDEO_DEV is not set
728CONFIG_VIDEO_V4L2=y
705 729
706# 730#
707# Digital Video Broadcasting Devices 731# Digital Video Broadcasting Devices
@@ -712,6 +736,7 @@ CONFIG_GPIO_VR41XX=y
712# 736#
713# Graphics support 737# Graphics support
714# 738#
739# CONFIG_FIRMWARE_EDID is not set
715# CONFIG_FB is not set 740# CONFIG_FB is not set
716 741
717# 742#
@@ -748,6 +773,7 @@ CONFIG_USB_DEVICEFS=y
748CONFIG_USB_EHCI_HCD=y 773CONFIG_USB_EHCI_HCD=y
749# CONFIG_USB_EHCI_SPLIT_ISO is not set 774# CONFIG_USB_EHCI_SPLIT_ISO is not set
750# CONFIG_USB_EHCI_ROOT_HUB_TT is not set 775# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
776# CONFIG_USB_EHCI_TT_NEWSCHED is not set
751# CONFIG_USB_ISP116X_HCD is not set 777# CONFIG_USB_ISP116X_HCD is not set
752CONFIG_USB_OHCI_HCD=y 778CONFIG_USB_OHCI_HCD=y
753# CONFIG_USB_OHCI_BIG_ENDIAN is not set 779# CONFIG_USB_OHCI_BIG_ENDIAN is not set
@@ -838,10 +864,12 @@ CONFIG_USB_STORAGE=y
838# CONFIG_USB_LEGOTOWER is not set 864# CONFIG_USB_LEGOTOWER is not set
839# CONFIG_USB_LCD is not set 865# CONFIG_USB_LCD is not set
840# CONFIG_USB_LED is not set 866# CONFIG_USB_LED is not set
867# CONFIG_USB_CY7C63 is not set
841# CONFIG_USB_CYTHERM is not set 868# CONFIG_USB_CYTHERM is not set
842# CONFIG_USB_PHIDGETKIT is not set 869# CONFIG_USB_PHIDGETKIT is not set
843# CONFIG_USB_PHIDGETSERVO is not set 870# CONFIG_USB_PHIDGETSERVO is not set
844# CONFIG_USB_IDMOUSE is not set 871# CONFIG_USB_IDMOUSE is not set
872# CONFIG_USB_APPLEDISPLAY is not set
845# CONFIG_USB_SISUSBVGA is not set 873# CONFIG_USB_SISUSBVGA is not set
846# CONFIG_USB_LD is not set 874# CONFIG_USB_LD is not set
847# CONFIG_USB_TEST is not set 875# CONFIG_USB_TEST is not set
@@ -896,13 +924,30 @@ CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
896CONFIG_RTC_INTF_SYSFS=y 924CONFIG_RTC_INTF_SYSFS=y
897CONFIG_RTC_INTF_PROC=y 925CONFIG_RTC_INTF_PROC=y
898CONFIG_RTC_INTF_DEV=y 926CONFIG_RTC_INTF_DEV=y
927# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
899 928
900# 929#
901# RTC drivers 930# RTC drivers
902# 931#
932# CONFIG_RTC_DRV_DS1553 is not set
933# CONFIG_RTC_DRV_DS1742 is not set
903# CONFIG_RTC_DRV_M48T86 is not set 934# CONFIG_RTC_DRV_M48T86 is not set
904CONFIG_RTC_DRV_VR41XX=y 935CONFIG_RTC_DRV_VR41XX=y
905# CONFIG_RTC_DRV_TEST is not set 936# CONFIG_RTC_DRV_TEST is not set
937# CONFIG_RTC_DRV_V3020 is not set
938
939#
940# DMA Engine support
941#
942# CONFIG_DMA_ENGINE is not set
943
944#
945# DMA Clients
946#
947
948#
949# DMA Devices
950#
906 951
907# 952#
908# File systems 953# File systems
@@ -919,6 +964,7 @@ CONFIG_EXT2_FS=y
919# CONFIG_MINIX_FS is not set 964# CONFIG_MINIX_FS is not set
920CONFIG_ROMFS_FS=m 965CONFIG_ROMFS_FS=m
921CONFIG_INOTIFY=y 966CONFIG_INOTIFY=y
967CONFIG_INOTIFY_USER=y
922# CONFIG_QUOTA is not set 968# CONFIG_QUOTA is not set
923CONFIG_DNOTIFY=y 969CONFIG_DNOTIFY=y
924# CONFIG_AUTOFS_FS is not set 970# CONFIG_AUTOFS_FS is not set
@@ -989,6 +1035,7 @@ CONFIG_SUNRPC=y
989# CONFIG_RPCSEC_GSS_SPKM3 is not set 1035# CONFIG_RPCSEC_GSS_SPKM3 is not set
990# CONFIG_SMB_FS is not set 1036# CONFIG_SMB_FS is not set
991# CONFIG_CIFS is not set 1037# CONFIG_CIFS is not set
1038# CONFIG_CIFS_DEBUG2 is not set
992# CONFIG_NCP_FS is not set 1039# CONFIG_NCP_FS is not set
993# CONFIG_CODA_FS is not set 1040# CONFIG_CODA_FS is not set
994# CONFIG_AFS_FS is not set 1041# CONFIG_AFS_FS is not set
@@ -1015,6 +1062,7 @@ CONFIG_MSDOS_PARTITION=y
1015# 1062#
1016# CONFIG_PRINTK_TIME is not set 1063# CONFIG_PRINTK_TIME is not set
1017# CONFIG_MAGIC_SYSRQ is not set 1064# CONFIG_MAGIC_SYSRQ is not set
1065# CONFIG_UNUSED_SYMBOLS is not set
1018# CONFIG_DEBUG_KERNEL is not set 1066# CONFIG_DEBUG_KERNEL is not set
1019CONFIG_LOG_BUF_SHIFT=14 1067CONFIG_LOG_BUF_SHIFT=14
1020# CONFIG_DEBUG_FS is not set 1068# CONFIG_DEBUG_FS is not set
@@ -1044,3 +1092,4 @@ CONFIG_CMDLINE="mem=32M console=ttyVR0,115200"
1044# CONFIG_CRC32 is not set 1092# CONFIG_CRC32 is not set
1045# CONFIG_LIBCRC32C is not set 1093# CONFIG_LIBCRC32C is not set
1046CONFIG_ZLIB_INFLATE=m 1094CONFIG_ZLIB_INFLATE=m
1095CONFIG_PLIST=y
diff --git a/arch/mips/configs/tb0229_defconfig b/arch/mips/configs/tb0229_defconfig
index a187b1f0004c..fc8a407c1add 100644
--- a/arch/mips/configs/tb0229_defconfig
+++ b/arch/mips/configs/tb0229_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.17-rc2 3# Linux kernel version: 2.6.18-rc1
4# Tue Apr 25 00:08:59 2006 4# Thu Jul 6 10:04:20 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -21,6 +21,7 @@ CONFIG_MIPS=y
21# CONFIG_MIPS_DB1550 is not set 21# CONFIG_MIPS_DB1550 is not set
22# CONFIG_MIPS_DB1200 is not set 22# CONFIG_MIPS_DB1200 is not set
23# CONFIG_MIPS_MIRAGE is not set 23# CONFIG_MIPS_MIRAGE is not set
24# CONFIG_BASLER_EXCITE is not set
24# CONFIG_MIPS_COBALT is not set 25# CONFIG_MIPS_COBALT is not set
25# CONFIG_MACH_DECSTATION is not set 26# CONFIG_MACH_DECSTATION is not set
26# CONFIG_MIPS_EV64120 is not set 27# CONFIG_MIPS_EV64120 is not set
@@ -32,6 +33,7 @@ CONFIG_MIPS=y
32# CONFIG_MIPS_ATLAS is not set 33# CONFIG_MIPS_ATLAS is not set
33# CONFIG_MIPS_MALTA is not set 34# CONFIG_MIPS_MALTA is not set
34# CONFIG_MIPS_SEAD is not set 35# CONFIG_MIPS_SEAD is not set
36# CONFIG_WR_PPMC is not set
35# CONFIG_MIPS_SIM is not set 37# CONFIG_MIPS_SIM is not set
36# CONFIG_MOMENCO_JAGUAR_ATX is not set 38# CONFIG_MOMENCO_JAGUAR_ATX is not set
37# CONFIG_MOMENCO_OCELOT is not set 39# CONFIG_MOMENCO_OCELOT is not set
@@ -45,6 +47,7 @@ CONFIG_MIPS=y
45CONFIG_MACH_VR41XX=y 47CONFIG_MACH_VR41XX=y
46# CONFIG_PMC_YOSEMITE is not set 48# CONFIG_PMC_YOSEMITE is not set
47# CONFIG_QEMU is not set 49# CONFIG_QEMU is not set
50# CONFIG_MARKEINS is not set
48# CONFIG_SGI_IP22 is not set 51# CONFIG_SGI_IP22 is not set
49# CONFIG_SGI_IP27 is not set 52# CONFIG_SGI_IP27 is not set
50# CONFIG_SGI_IP32 is not set 53# CONFIG_SGI_IP32 is not set
@@ -75,6 +78,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y
75CONFIG_GENERIC_FIND_NEXT_BIT=y 78CONFIG_GENERIC_FIND_NEXT_BIT=y
76CONFIG_GENERIC_HWEIGHT=y 79CONFIG_GENERIC_HWEIGHT=y
77CONFIG_GENERIC_CALIBRATE_DELAY=y 80CONFIG_GENERIC_CALIBRATE_DELAY=y
81CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
78CONFIG_DMA_NONCOHERENT=y 82CONFIG_DMA_NONCOHERENT=y
79CONFIG_DMA_NEED_PCI_MAP_STATE=y 83CONFIG_DMA_NEED_PCI_MAP_STATE=y
80# CONFIG_CPU_BIG_ENDIAN is not set 84# CONFIG_CPU_BIG_ENDIAN is not set
@@ -119,7 +123,10 @@ CONFIG_PAGE_SIZE_4KB=y
119# CONFIG_PAGE_SIZE_8KB is not set 123# CONFIG_PAGE_SIZE_8KB is not set
120# CONFIG_PAGE_SIZE_16KB is not set 124# CONFIG_PAGE_SIZE_16KB is not set
121# CONFIG_PAGE_SIZE_64KB is not set 125# CONFIG_PAGE_SIZE_64KB is not set
122# CONFIG_MIPS_MT is not set 126CONFIG_MIPS_MT_DISABLED=y
127# CONFIG_MIPS_MT_SMTC is not set
128# CONFIG_MIPS_MT_SMP is not set
129# CONFIG_MIPS_VPE_LOADER is not set
123CONFIG_CPU_HAS_SYNC=y 130CONFIG_CPU_HAS_SYNC=y
124CONFIG_GENERIC_HARDIRQS=y 131CONFIG_GENERIC_HARDIRQS=y
125CONFIG_GENERIC_IRQ_PROBE=y 132CONFIG_GENERIC_IRQ_PROBE=y
@@ -132,6 +139,7 @@ CONFIG_FLATMEM=y
132CONFIG_FLAT_NODE_MEM_MAP=y 139CONFIG_FLAT_NODE_MEM_MAP=y
133# CONFIG_SPARSEMEM_STATIC is not set 140# CONFIG_SPARSEMEM_STATIC is not set
134CONFIG_SPLIT_PTLOCK_CPUS=4 141CONFIG_SPLIT_PTLOCK_CPUS=4
142# CONFIG_RESOURCES_64BIT is not set
135# CONFIG_HZ_48 is not set 143# CONFIG_HZ_48 is not set
136# CONFIG_HZ_100 is not set 144# CONFIG_HZ_100 is not set
137# CONFIG_HZ_128 is not set 145# CONFIG_HZ_128 is not set
@@ -144,6 +152,7 @@ CONFIG_HZ=1000
144CONFIG_PREEMPT_NONE=y 152CONFIG_PREEMPT_NONE=y
145# CONFIG_PREEMPT_VOLUNTARY is not set 153# CONFIG_PREEMPT_VOLUNTARY is not set
146# CONFIG_PREEMPT is not set 154# CONFIG_PREEMPT is not set
155CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
147 156
148# 157#
149# Code maturity level options 158# Code maturity level options
@@ -175,10 +184,12 @@ CONFIG_PRINTK=y
175CONFIG_BUG=y 184CONFIG_BUG=y
176CONFIG_ELF_CORE=y 185CONFIG_ELF_CORE=y
177CONFIG_BASE_FULL=y 186CONFIG_BASE_FULL=y
187CONFIG_RT_MUTEXES=y
178CONFIG_FUTEX=y 188CONFIG_FUTEX=y
179CONFIG_EPOLL=y 189CONFIG_EPOLL=y
180CONFIG_SHMEM=y 190CONFIG_SHMEM=y
181CONFIG_SLAB=y 191CONFIG_SLAB=y
192CONFIG_VM_EVENT_COUNTERS=y
182# CONFIG_TINY_SHMEM is not set 193# CONFIG_TINY_SHMEM is not set
183CONFIG_BASE_SMALL=0 194CONFIG_BASE_SMALL=0
184# CONFIG_SLOB is not set 195# CONFIG_SLOB is not set
@@ -249,6 +260,8 @@ CONFIG_NET=y
249CONFIG_PACKET=y 260CONFIG_PACKET=y
250# CONFIG_PACKET_MMAP is not set 261# CONFIG_PACKET_MMAP is not set
251CONFIG_UNIX=y 262CONFIG_UNIX=y
263CONFIG_XFRM=y
264# CONFIG_XFRM_USER is not set
252# CONFIG_NET_KEY is not set 265# CONFIG_NET_KEY is not set
253CONFIG_INET=y 266CONFIG_INET=y
254CONFIG_IP_MULTICAST=y 267CONFIG_IP_MULTICAST=y
@@ -275,6 +288,8 @@ CONFIG_SYN_COOKIES=y
275# CONFIG_INET_IPCOMP is not set 288# CONFIG_INET_IPCOMP is not set
276# CONFIG_INET_XFRM_TUNNEL is not set 289# CONFIG_INET_XFRM_TUNNEL is not set
277CONFIG_INET_TUNNEL=m 290CONFIG_INET_TUNNEL=m
291CONFIG_INET_XFRM_MODE_TRANSPORT=m
292CONFIG_INET_XFRM_MODE_TUNNEL=m
278CONFIG_INET_DIAG=y 293CONFIG_INET_DIAG=y
279CONFIG_INET_TCP_DIAG=y 294CONFIG_INET_TCP_DIAG=y
280# CONFIG_TCP_CONG_ADVANCED is not set 295# CONFIG_TCP_CONG_ADVANCED is not set
@@ -282,6 +297,7 @@ CONFIG_TCP_CONG_BIC=y
282# CONFIG_IPV6 is not set 297# CONFIG_IPV6 is not set
283# CONFIG_INET6_XFRM_TUNNEL is not set 298# CONFIG_INET6_XFRM_TUNNEL is not set
284# CONFIG_INET6_TUNNEL is not set 299# CONFIG_INET6_TUNNEL is not set
300CONFIG_NETWORK_SECMARK=y
285# CONFIG_NETFILTER is not set 301# CONFIG_NETFILTER is not set
286 302
287# 303#
@@ -335,6 +351,7 @@ CONFIG_TCP_CONG_BIC=y
335CONFIG_STANDALONE=y 351CONFIG_STANDALONE=y
336CONFIG_PREVENT_FIRMWARE_BUILD=y 352CONFIG_PREVENT_FIRMWARE_BUILD=y
337# CONFIG_FW_LOADER is not set 353# CONFIG_FW_LOADER is not set
354# CONFIG_SYS_HYPERVISOR is not set
338 355
339# 356#
340# Connector - unified userspace <-> kernelspace linker 357# Connector - unified userspace <-> kernelspace linker
@@ -433,6 +450,8 @@ CONFIG_DAVICOM_PHY=m
433CONFIG_QSEMI_PHY=m 450CONFIG_QSEMI_PHY=m
434CONFIG_LXT_PHY=m 451CONFIG_LXT_PHY=m
435CONFIG_CICADA_PHY=m 452CONFIG_CICADA_PHY=m
453CONFIG_VITESSE_PHY=m
454CONFIG_SMSC_PHY=m
436 455
437# 456#
438# Ethernet (10 or 100Mbit) 457# Ethernet (10 or 100Mbit)
@@ -476,6 +495,7 @@ CONFIG_R8169=y
476# CONFIG_CHELSIO_T1 is not set 495# CONFIG_CHELSIO_T1 is not set
477# CONFIG_IXGB is not set 496# CONFIG_IXGB is not set
478# CONFIG_S2IO is not set 497# CONFIG_S2IO is not set
498# CONFIG_MYRI10GE is not set
479 499
480# 500#
481# Token Ring devices 501# Token Ring devices
@@ -545,6 +565,7 @@ CONFIG_INPUT=y
545CONFIG_VT=y 565CONFIG_VT=y
546CONFIG_VT_CONSOLE=y 566CONFIG_VT_CONSOLE=y
547CONFIG_HW_CONSOLE=y 567CONFIG_HW_CONSOLE=y
568CONFIG_VT_HW_CONSOLE_BINDING=y
548# CONFIG_SERIAL_NONSTANDARD is not set 569# CONFIG_SERIAL_NONSTANDARD is not set
549 570
550# 571#
@@ -573,6 +594,7 @@ CONFIG_LEGACY_PTY_COUNT=256
573# Watchdog Cards 594# Watchdog Cards
574# 595#
575# CONFIG_WATCHDOG is not set 596# CONFIG_WATCHDOG is not set
597# CONFIG_HW_RANDOM is not set
576# CONFIG_RTC is not set 598# CONFIG_RTC is not set
577# CONFIG_GEN_RTC is not set 599# CONFIG_GEN_RTC is not set
578# CONFIG_DTLK is not set 600# CONFIG_DTLK is not set
@@ -607,7 +629,6 @@ CONFIG_GPIO_VR41XX=y
607# 629#
608# Dallas's 1-wire bus 630# Dallas's 1-wire bus
609# 631#
610# CONFIG_W1 is not set
611 632
612# 633#
613# Hardware Monitoring support 634# Hardware Monitoring support
@@ -623,6 +644,7 @@ CONFIG_GPIO_VR41XX=y
623# Multimedia devices 644# Multimedia devices
624# 645#
625# CONFIG_VIDEO_DEV is not set 646# CONFIG_VIDEO_DEV is not set
647CONFIG_VIDEO_V4L2=y
626 648
627# 649#
628# Digital Video Broadcasting Devices 650# Digital Video Broadcasting Devices
@@ -633,6 +655,7 @@ CONFIG_GPIO_VR41XX=y
633# 655#
634# Graphics support 656# Graphics support
635# 657#
658# CONFIG_FIRMWARE_EDID is not set
636# CONFIG_FB is not set 659# CONFIG_FB is not set
637 660
638# 661#
@@ -669,6 +692,7 @@ CONFIG_USB_DEVICEFS=y
669CONFIG_USB_EHCI_HCD=m 692CONFIG_USB_EHCI_HCD=m
670# CONFIG_USB_EHCI_SPLIT_ISO is not set 693# CONFIG_USB_EHCI_SPLIT_ISO is not set
671# CONFIG_USB_EHCI_ROOT_HUB_TT is not set 694# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
695# CONFIG_USB_EHCI_TT_NEWSCHED is not set
672# CONFIG_USB_ISP116X_HCD is not set 696# CONFIG_USB_ISP116X_HCD is not set
673CONFIG_USB_OHCI_HCD=m 697CONFIG_USB_OHCI_HCD=m
674# CONFIG_USB_OHCI_BIG_ENDIAN is not set 698# CONFIG_USB_OHCI_BIG_ENDIAN is not set
@@ -749,10 +773,12 @@ CONFIG_USB_MON=y
749# CONFIG_USB_LEGOTOWER is not set 773# CONFIG_USB_LEGOTOWER is not set
750# CONFIG_USB_LCD is not set 774# CONFIG_USB_LCD is not set
751# CONFIG_USB_LED is not set 775# CONFIG_USB_LED is not set
776# CONFIG_USB_CY7C63 is not set
752# CONFIG_USB_CYTHERM is not set 777# CONFIG_USB_CYTHERM is not set
753# CONFIG_USB_PHIDGETKIT is not set 778# CONFIG_USB_PHIDGETKIT is not set
754# CONFIG_USB_PHIDGETSERVO is not set 779# CONFIG_USB_PHIDGETSERVO is not set
755# CONFIG_USB_IDMOUSE is not set 780# CONFIG_USB_IDMOUSE is not set
781# CONFIG_USB_APPLEDISPLAY is not set
756# CONFIG_USB_SISUSBVGA is not set 782# CONFIG_USB_SISUSBVGA is not set
757# CONFIG_USB_LD is not set 783# CONFIG_USB_LD is not set
758# CONFIG_USB_TEST is not set 784# CONFIG_USB_TEST is not set
@@ -807,13 +833,30 @@ CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
807CONFIG_RTC_INTF_SYSFS=y 833CONFIG_RTC_INTF_SYSFS=y
808CONFIG_RTC_INTF_PROC=y 834CONFIG_RTC_INTF_PROC=y
809CONFIG_RTC_INTF_DEV=y 835CONFIG_RTC_INTF_DEV=y
836# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
810 837
811# 838#
812# RTC drivers 839# RTC drivers
813# 840#
841# CONFIG_RTC_DRV_DS1553 is not set
842# CONFIG_RTC_DRV_DS1742 is not set
814# CONFIG_RTC_DRV_M48T86 is not set 843# CONFIG_RTC_DRV_M48T86 is not set
815CONFIG_RTC_DRV_VR41XX=y 844CONFIG_RTC_DRV_VR41XX=y
816# CONFIG_RTC_DRV_TEST is not set 845# CONFIG_RTC_DRV_TEST is not set
846# CONFIG_RTC_DRV_V3020 is not set
847
848#
849# DMA Engine support
850#
851# CONFIG_DMA_ENGINE is not set
852
853#
854# DMA Clients
855#
856
857#
858# DMA Devices
859#
817 860
818# 861#
819# File systems 862# File systems
@@ -830,6 +873,7 @@ CONFIG_EXT2_FS=y
830# CONFIG_MINIX_FS is not set 873# CONFIG_MINIX_FS is not set
831CONFIG_ROMFS_FS=m 874CONFIG_ROMFS_FS=m
832CONFIG_INOTIFY=y 875CONFIG_INOTIFY=y
876CONFIG_INOTIFY_USER=y
833# CONFIG_QUOTA is not set 877# CONFIG_QUOTA is not set
834CONFIG_DNOTIFY=y 878CONFIG_DNOTIFY=y
835# CONFIG_AUTOFS_FS is not set 879# CONFIG_AUTOFS_FS is not set
@@ -900,6 +944,7 @@ CONFIG_SUNRPC=y
900# CONFIG_RPCSEC_GSS_SPKM3 is not set 944# CONFIG_RPCSEC_GSS_SPKM3 is not set
901# CONFIG_SMB_FS is not set 945# CONFIG_SMB_FS is not set
902# CONFIG_CIFS is not set 946# CONFIG_CIFS is not set
947# CONFIG_CIFS_DEBUG2 is not set
903# CONFIG_NCP_FS is not set 948# CONFIG_NCP_FS is not set
904# CONFIG_CODA_FS is not set 949# CONFIG_CODA_FS is not set
905# CONFIG_AFS_FS is not set 950# CONFIG_AFS_FS is not set
@@ -926,6 +971,7 @@ CONFIG_MSDOS_PARTITION=y
926# 971#
927# CONFIG_PRINTK_TIME is not set 972# CONFIG_PRINTK_TIME is not set
928# CONFIG_MAGIC_SYSRQ is not set 973# CONFIG_MAGIC_SYSRQ is not set
974# CONFIG_UNUSED_SYMBOLS is not set
929# CONFIG_DEBUG_KERNEL is not set 975# CONFIG_DEBUG_KERNEL is not set
930CONFIG_LOG_BUF_SHIFT=14 976CONFIG_LOG_BUF_SHIFT=14
931# CONFIG_DEBUG_FS is not set 977# CONFIG_DEBUG_FS is not set
@@ -955,3 +1001,4 @@ CONFIG_CMDLINE="mem=64M console=ttyVR0,115200 ip=any root=/dev/nfs"
955CONFIG_CRC32=y 1001CONFIG_CRC32=y
956# CONFIG_LIBCRC32C is not set 1002# CONFIG_LIBCRC32C is not set
957CONFIG_ZLIB_INFLATE=m 1003CONFIG_ZLIB_INFLATE=m
1004CONFIG_PLIST=y
diff --git a/arch/mips/configs/tb0287_defconfig b/arch/mips/configs/tb0287_defconfig
index 258457fcbe11..effcb63b81a3 100644
--- a/arch/mips/configs/tb0287_defconfig
+++ b/arch/mips/configs/tb0287_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.17-rc2 3# Linux kernel version: 2.6.18-rc1
4# Tue Apr 25 00:09:17 2006 4# Thu Jul 6 10:04:21 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -21,6 +21,7 @@ CONFIG_MIPS=y
21# CONFIG_MIPS_DB1550 is not set 21# CONFIG_MIPS_DB1550 is not set
22# CONFIG_MIPS_DB1200 is not set 22# CONFIG_MIPS_DB1200 is not set
23# CONFIG_MIPS_MIRAGE is not set 23# CONFIG_MIPS_MIRAGE is not set
24# CONFIG_BASLER_EXCITE is not set
24# CONFIG_MIPS_COBALT is not set 25# CONFIG_MIPS_COBALT is not set
25# CONFIG_MACH_DECSTATION is not set 26# CONFIG_MACH_DECSTATION is not set
26# CONFIG_MIPS_EV64120 is not set 27# CONFIG_MIPS_EV64120 is not set
@@ -32,6 +33,7 @@ CONFIG_MIPS=y
32# CONFIG_MIPS_ATLAS is not set 33# CONFIG_MIPS_ATLAS is not set
33# CONFIG_MIPS_MALTA is not set 34# CONFIG_MIPS_MALTA is not set
34# CONFIG_MIPS_SEAD is not set 35# CONFIG_MIPS_SEAD is not set
36# CONFIG_WR_PPMC is not set
35# CONFIG_MIPS_SIM is not set 37# CONFIG_MIPS_SIM is not set
36# CONFIG_MOMENCO_JAGUAR_ATX is not set 38# CONFIG_MOMENCO_JAGUAR_ATX is not set
37# CONFIG_MOMENCO_OCELOT is not set 39# CONFIG_MOMENCO_OCELOT is not set
@@ -45,6 +47,7 @@ CONFIG_MIPS=y
45CONFIG_MACH_VR41XX=y 47CONFIG_MACH_VR41XX=y
46# CONFIG_PMC_YOSEMITE is not set 48# CONFIG_PMC_YOSEMITE is not set
47# CONFIG_QEMU is not set 49# CONFIG_QEMU is not set
50# CONFIG_MARKEINS is not set
48# CONFIG_SGI_IP22 is not set 51# CONFIG_SGI_IP22 is not set
49# CONFIG_SGI_IP27 is not set 52# CONFIG_SGI_IP27 is not set
50# CONFIG_SGI_IP32 is not set 53# CONFIG_SGI_IP32 is not set
@@ -120,7 +123,10 @@ CONFIG_PAGE_SIZE_4KB=y
120# CONFIG_PAGE_SIZE_8KB is not set 123# CONFIG_PAGE_SIZE_8KB is not set
121# CONFIG_PAGE_SIZE_16KB is not set 124# CONFIG_PAGE_SIZE_16KB is not set
122# CONFIG_PAGE_SIZE_64KB is not set 125# CONFIG_PAGE_SIZE_64KB is not set
123# CONFIG_MIPS_MT is not set 126CONFIG_MIPS_MT_DISABLED=y
127# CONFIG_MIPS_MT_SMTC is not set
128# CONFIG_MIPS_MT_SMP is not set
129# CONFIG_MIPS_VPE_LOADER is not set
124CONFIG_CPU_HAS_SYNC=y 130CONFIG_CPU_HAS_SYNC=y
125CONFIG_GENERIC_HARDIRQS=y 131CONFIG_GENERIC_HARDIRQS=y
126CONFIG_GENERIC_IRQ_PROBE=y 132CONFIG_GENERIC_IRQ_PROBE=y
@@ -133,6 +139,7 @@ CONFIG_FLATMEM=y
133CONFIG_FLAT_NODE_MEM_MAP=y 139CONFIG_FLAT_NODE_MEM_MAP=y
134# CONFIG_SPARSEMEM_STATIC is not set 140# CONFIG_SPARSEMEM_STATIC is not set
135CONFIG_SPLIT_PTLOCK_CPUS=4 141CONFIG_SPLIT_PTLOCK_CPUS=4
142# CONFIG_RESOURCES_64BIT is not set
136# CONFIG_HZ_48 is not set 143# CONFIG_HZ_48 is not set
137# CONFIG_HZ_100 is not set 144# CONFIG_HZ_100 is not set
138# CONFIG_HZ_128 is not set 145# CONFIG_HZ_128 is not set
@@ -145,6 +152,7 @@ CONFIG_HZ=1000
145CONFIG_PREEMPT_NONE=y 152CONFIG_PREEMPT_NONE=y
146# CONFIG_PREEMPT_VOLUNTARY is not set 153# CONFIG_PREEMPT_VOLUNTARY is not set
147# CONFIG_PREEMPT is not set 154# CONFIG_PREEMPT is not set
155CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
148 156
149# 157#
150# Code maturity level options 158# Code maturity level options
@@ -176,10 +184,12 @@ CONFIG_PRINTK=y
176CONFIG_BUG=y 184CONFIG_BUG=y
177CONFIG_ELF_CORE=y 185CONFIG_ELF_CORE=y
178CONFIG_BASE_FULL=y 186CONFIG_BASE_FULL=y
187CONFIG_RT_MUTEXES=y
179CONFIG_FUTEX=y 188CONFIG_FUTEX=y
180CONFIG_EPOLL=y 189CONFIG_EPOLL=y
181CONFIG_SHMEM=y 190CONFIG_SHMEM=y
182CONFIG_SLAB=y 191CONFIG_SLAB=y
192CONFIG_VM_EVENT_COUNTERS=y
183# CONFIG_TINY_SHMEM is not set 193# CONFIG_TINY_SHMEM is not set
184CONFIG_BASE_SMALL=0 194CONFIG_BASE_SMALL=0
185# CONFIG_SLOB is not set 195# CONFIG_SLOB is not set
@@ -250,6 +260,8 @@ CONFIG_NET=y
250CONFIG_PACKET=y 260CONFIG_PACKET=y
251# CONFIG_PACKET_MMAP is not set 261# CONFIG_PACKET_MMAP is not set
252CONFIG_UNIX=y 262CONFIG_UNIX=y
263CONFIG_XFRM=y
264# CONFIG_XFRM_USER is not set
253# CONFIG_NET_KEY is not set 265# CONFIG_NET_KEY is not set
254CONFIG_INET=y 266CONFIG_INET=y
255CONFIG_IP_MULTICAST=y 267CONFIG_IP_MULTICAST=y
@@ -276,6 +288,8 @@ CONFIG_SYN_COOKIES=y
276# CONFIG_INET_IPCOMP is not set 288# CONFIG_INET_IPCOMP is not set
277# CONFIG_INET_XFRM_TUNNEL is not set 289# CONFIG_INET_XFRM_TUNNEL is not set
278CONFIG_INET_TUNNEL=m 290CONFIG_INET_TUNNEL=m
291CONFIG_INET_XFRM_MODE_TRANSPORT=m
292CONFIG_INET_XFRM_MODE_TUNNEL=m
279CONFIG_INET_DIAG=y 293CONFIG_INET_DIAG=y
280CONFIG_INET_TCP_DIAG=y 294CONFIG_INET_TCP_DIAG=y
281CONFIG_TCP_CONG_ADVANCED=y 295CONFIG_TCP_CONG_ADVANCED=y
@@ -291,9 +305,13 @@ CONFIG_TCP_CONG_HTCP=m
291# CONFIG_TCP_CONG_HYBLA is not set 305# CONFIG_TCP_CONG_HYBLA is not set
292# CONFIG_TCP_CONG_VEGAS is not set 306# CONFIG_TCP_CONG_VEGAS is not set
293# CONFIG_TCP_CONG_SCALABLE is not set 307# CONFIG_TCP_CONG_SCALABLE is not set
308# CONFIG_TCP_CONG_LP is not set
309# CONFIG_TCP_CONG_VENO is not set
310# CONFIG_TCP_CONG_COMPOUND is not set
294# CONFIG_IPV6 is not set 311# CONFIG_IPV6 is not set
295# CONFIG_INET6_XFRM_TUNNEL is not set 312# CONFIG_INET6_XFRM_TUNNEL is not set
296# CONFIG_INET6_TUNNEL is not set 313# CONFIG_INET6_TUNNEL is not set
314CONFIG_NETWORK_SECMARK=y
297# CONFIG_NETFILTER is not set 315# CONFIG_NETFILTER is not set
298 316
299# 317#
@@ -347,6 +365,7 @@ CONFIG_TCP_CONG_HTCP=m
347CONFIG_STANDALONE=y 365CONFIG_STANDALONE=y
348CONFIG_PREVENT_FIRMWARE_BUILD=y 366CONFIG_PREVENT_FIRMWARE_BUILD=y
349# CONFIG_FW_LOADER is not set 367# CONFIG_FW_LOADER is not set
368# CONFIG_SYS_HYPERVISOR is not set
350 369
351# 370#
352# Connector - unified userspace <-> kernelspace linker 371# Connector - unified userspace <-> kernelspace linker
@@ -492,6 +511,7 @@ CONFIG_BLK_DEV_SD=y
492# CONFIG_MEGARAID_LEGACY is not set 511# CONFIG_MEGARAID_LEGACY is not set
493# CONFIG_MEGARAID_SAS is not set 512# CONFIG_MEGARAID_SAS is not set
494# CONFIG_SCSI_SATA is not set 513# CONFIG_SCSI_SATA is not set
514# CONFIG_SCSI_HPTIOP is not set
495# CONFIG_SCSI_DMX3191D is not set 515# CONFIG_SCSI_DMX3191D is not set
496# CONFIG_SCSI_FUTURE_DOMAIN is not set 516# CONFIG_SCSI_FUTURE_DOMAIN is not set
497# CONFIG_SCSI_IPS is not set 517# CONFIG_SCSI_IPS is not set
@@ -548,7 +568,6 @@ CONFIG_IEEE1394_OHCI1394=m
548# 568#
549CONFIG_IEEE1394_VIDEO1394=m 569CONFIG_IEEE1394_VIDEO1394=m
550CONFIG_IEEE1394_SBP2=m 570CONFIG_IEEE1394_SBP2=m
551# CONFIG_IEEE1394_SBP2_PHYS_DMA is not set
552CONFIG_IEEE1394_ETH1394=m 571CONFIG_IEEE1394_ETH1394=m
553CONFIG_IEEE1394_DV1394=m 572CONFIG_IEEE1394_DV1394=m
554CONFIG_IEEE1394_RAWIO=m 573CONFIG_IEEE1394_RAWIO=m
@@ -619,6 +638,7 @@ CONFIG_R8169=y
619# CONFIG_CHELSIO_T1 is not set 638# CONFIG_CHELSIO_T1 is not set
620# CONFIG_IXGB is not set 639# CONFIG_IXGB is not set
621# CONFIG_S2IO is not set 640# CONFIG_S2IO is not set
641# CONFIG_MYRI10GE is not set
622 642
623# 643#
624# Token Ring devices 644# Token Ring devices
@@ -689,6 +709,7 @@ CONFIG_INPUT=y
689CONFIG_VT=y 709CONFIG_VT=y
690CONFIG_VT_CONSOLE=y 710CONFIG_VT_CONSOLE=y
691CONFIG_HW_CONSOLE=y 711CONFIG_HW_CONSOLE=y
712CONFIG_VT_HW_CONSOLE_BINDING=y
692# CONFIG_SERIAL_NONSTANDARD is not set 713# CONFIG_SERIAL_NONSTANDARD is not set
693 714
694# 715#
@@ -717,6 +738,7 @@ CONFIG_LEGACY_PTY_COUNT=256
717# Watchdog Cards 738# Watchdog Cards
718# 739#
719# CONFIG_WATCHDOG is not set 740# CONFIG_WATCHDOG is not set
741# CONFIG_HW_RANDOM is not set
720# CONFIG_RTC is not set 742# CONFIG_RTC is not set
721# CONFIG_GEN_RTC is not set 743# CONFIG_GEN_RTC is not set
722# CONFIG_DTLK is not set 744# CONFIG_DTLK is not set
@@ -751,7 +773,6 @@ CONFIG_GPIO_VR41XX=y
751# 773#
752# Dallas's 1-wire bus 774# Dallas's 1-wire bus
753# 775#
754# CONFIG_W1 is not set
755 776
756# 777#
757# Hardware Monitoring support 778# Hardware Monitoring support
@@ -767,6 +788,7 @@ CONFIG_GPIO_VR41XX=y
767# Multimedia devices 788# Multimedia devices
768# 789#
769# CONFIG_VIDEO_DEV is not set 790# CONFIG_VIDEO_DEV is not set
791CONFIG_VIDEO_V4L2=y
770 792
771# 793#
772# Digital Video Broadcasting Devices 794# Digital Video Broadcasting Devices
@@ -777,12 +799,13 @@ CONFIG_GPIO_VR41XX=y
777# 799#
778# Graphics support 800# Graphics support
779# 801#
802# CONFIG_FIRMWARE_EDID is not set
780CONFIG_FB=y 803CONFIG_FB=y
781CONFIG_FB_CFB_FILLRECT=y 804CONFIG_FB_CFB_FILLRECT=y
782CONFIG_FB_CFB_COPYAREA=y 805CONFIG_FB_CFB_COPYAREA=y
783CONFIG_FB_CFB_IMAGEBLIT=y 806CONFIG_FB_CFB_IMAGEBLIT=y
784# CONFIG_FB_MACMODES is not set 807# CONFIG_FB_MACMODES is not set
785CONFIG_FB_FIRMWARE_EDID=y 808# CONFIG_FB_BACKLIGHT is not set
786# CONFIG_FB_MODE_HELPERS is not set 809# CONFIG_FB_MODE_HELPERS is not set
787# CONFIG_FB_TILEBLITTING is not set 810# CONFIG_FB_TILEBLITTING is not set
788# CONFIG_FB_CIRRUS is not set 811# CONFIG_FB_CIRRUS is not set
@@ -848,6 +871,7 @@ CONFIG_USB=m
848CONFIG_USB_EHCI_HCD=m 871CONFIG_USB_EHCI_HCD=m
849# CONFIG_USB_EHCI_SPLIT_ISO is not set 872# CONFIG_USB_EHCI_SPLIT_ISO is not set
850# CONFIG_USB_EHCI_ROOT_HUB_TT is not set 873# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
874# CONFIG_USB_EHCI_TT_NEWSCHED is not set
851# CONFIG_USB_ISP116X_HCD is not set 875# CONFIG_USB_ISP116X_HCD is not set
852CONFIG_USB_OHCI_HCD=m 876CONFIG_USB_OHCI_HCD=m
853# CONFIG_USB_OHCI_BIG_ENDIAN is not set 877# CONFIG_USB_OHCI_BIG_ENDIAN is not set
@@ -943,10 +967,12 @@ CONFIG_USB_MON=y
943# CONFIG_USB_LEGOTOWER is not set 967# CONFIG_USB_LEGOTOWER is not set
944# CONFIG_USB_LCD is not set 968# CONFIG_USB_LCD is not set
945# CONFIG_USB_LED is not set 969# CONFIG_USB_LED is not set
970# CONFIG_USB_CY7C63 is not set
946# CONFIG_USB_CYTHERM is not set 971# CONFIG_USB_CYTHERM is not set
947# CONFIG_USB_PHIDGETKIT is not set 972# CONFIG_USB_PHIDGETKIT is not set
948# CONFIG_USB_PHIDGETSERVO is not set 973# CONFIG_USB_PHIDGETSERVO is not set
949# CONFIG_USB_IDMOUSE is not set 974# CONFIG_USB_IDMOUSE is not set
975# CONFIG_USB_APPLEDISPLAY is not set
950# CONFIG_USB_SISUSBVGA is not set 976# CONFIG_USB_SISUSBVGA is not set
951# CONFIG_USB_LD is not set 977# CONFIG_USB_LD is not set
952 978
@@ -992,6 +1018,19 @@ CONFIG_USB_MON=y
992# CONFIG_RTC_CLASS is not set 1018# CONFIG_RTC_CLASS is not set
993 1019
994# 1020#
1021# DMA Engine support
1022#
1023# CONFIG_DMA_ENGINE is not set
1024
1025#
1026# DMA Clients
1027#
1028
1029#
1030# DMA Devices
1031#
1032
1033#
995# File systems 1034# File systems
996# 1035#
997CONFIG_EXT2_FS=y 1036CONFIG_EXT2_FS=y
@@ -1016,6 +1055,7 @@ CONFIG_XFS_POSIX_ACL=y
1016# CONFIG_MINIX_FS is not set 1055# CONFIG_MINIX_FS is not set
1017CONFIG_ROMFS_FS=m 1056CONFIG_ROMFS_FS=m
1018CONFIG_INOTIFY=y 1057CONFIG_INOTIFY=y
1058CONFIG_INOTIFY_USER=y
1019# CONFIG_QUOTA is not set 1059# CONFIG_QUOTA is not set
1020CONFIG_QUOTACTL=y 1060CONFIG_QUOTACTL=y
1021# CONFIG_DNOTIFY is not set 1061# CONFIG_DNOTIFY is not set
@@ -1082,6 +1122,7 @@ CONFIG_SUNRPC=y
1082# CONFIG_RPCSEC_GSS_SPKM3 is not set 1122# CONFIG_RPCSEC_GSS_SPKM3 is not set
1083# CONFIG_SMB_FS is not set 1123# CONFIG_SMB_FS is not set
1084# CONFIG_CIFS is not set 1124# CONFIG_CIFS is not set
1125# CONFIG_CIFS_DEBUG2 is not set
1085# CONFIG_NCP_FS is not set 1126# CONFIG_NCP_FS is not set
1086# CONFIG_CODA_FS is not set 1127# CONFIG_CODA_FS is not set
1087# CONFIG_AFS_FS is not set 1128# CONFIG_AFS_FS is not set
@@ -1108,6 +1149,7 @@ CONFIG_MSDOS_PARTITION=y
1108# 1149#
1109# CONFIG_PRINTK_TIME is not set 1150# CONFIG_PRINTK_TIME is not set
1110# CONFIG_MAGIC_SYSRQ is not set 1151# CONFIG_MAGIC_SYSRQ is not set
1152# CONFIG_UNUSED_SYMBOLS is not set
1111# CONFIG_DEBUG_KERNEL is not set 1153# CONFIG_DEBUG_KERNEL is not set
1112CONFIG_LOG_BUF_SHIFT=14 1154CONFIG_LOG_BUF_SHIFT=14
1113# CONFIG_DEBUG_FS is not set 1155# CONFIG_DEBUG_FS is not set
@@ -1137,3 +1179,4 @@ CONFIG_CMDLINE="mem=64M console=ttyVR0,115200 ip=any root=/dev/nfs"
1137CONFIG_CRC32=y 1179CONFIG_CRC32=y
1138# CONFIG_LIBCRC32C is not set 1180# CONFIG_LIBCRC32C is not set
1139CONFIG_ZLIB_INFLATE=m 1181CONFIG_ZLIB_INFLATE=m
1182CONFIG_PLIST=y
diff --git a/arch/mips/configs/workpad_defconfig b/arch/mips/configs/workpad_defconfig
index 68af54f746e1..4891d02ef8ca 100644
--- a/arch/mips/configs/workpad_defconfig
+++ b/arch/mips/configs/workpad_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.17-rc2 3# Linux kernel version: 2.6.18-rc1
4# Tue Apr 25 00:09:33 2006 4# Thu Jul 6 10:04:21 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -21,6 +21,7 @@ CONFIG_MIPS=y
21# CONFIG_MIPS_DB1550 is not set 21# CONFIG_MIPS_DB1550 is not set
22# CONFIG_MIPS_DB1200 is not set 22# CONFIG_MIPS_DB1200 is not set
23# CONFIG_MIPS_MIRAGE is not set 23# CONFIG_MIPS_MIRAGE is not set
24# CONFIG_BASLER_EXCITE is not set
24# CONFIG_MIPS_COBALT is not set 25# CONFIG_MIPS_COBALT is not set
25# CONFIG_MACH_DECSTATION is not set 26# CONFIG_MACH_DECSTATION is not set
26# CONFIG_MIPS_EV64120 is not set 27# CONFIG_MIPS_EV64120 is not set
@@ -32,6 +33,7 @@ CONFIG_MIPS=y
32# CONFIG_MIPS_ATLAS is not set 33# CONFIG_MIPS_ATLAS is not set
33# CONFIG_MIPS_MALTA is not set 34# CONFIG_MIPS_MALTA is not set
34# CONFIG_MIPS_SEAD is not set 35# CONFIG_MIPS_SEAD is not set
36# CONFIG_WR_PPMC is not set
35# CONFIG_MIPS_SIM is not set 37# CONFIG_MIPS_SIM is not set
36# CONFIG_MOMENCO_JAGUAR_ATX is not set 38# CONFIG_MOMENCO_JAGUAR_ATX is not set
37# CONFIG_MOMENCO_OCELOT is not set 39# CONFIG_MOMENCO_OCELOT is not set
@@ -45,6 +47,7 @@ CONFIG_MIPS=y
45CONFIG_MACH_VR41XX=y 47CONFIG_MACH_VR41XX=y
46# CONFIG_PMC_YOSEMITE is not set 48# CONFIG_PMC_YOSEMITE is not set
47# CONFIG_QEMU is not set 49# CONFIG_QEMU is not set
50# CONFIG_MARKEINS is not set
48# CONFIG_SGI_IP22 is not set 51# CONFIG_SGI_IP22 is not set
49# CONFIG_SGI_IP27 is not set 52# CONFIG_SGI_IP27 is not set
50# CONFIG_SGI_IP32 is not set 53# CONFIG_SGI_IP32 is not set
@@ -71,6 +74,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y
71CONFIG_GENERIC_FIND_NEXT_BIT=y 74CONFIG_GENERIC_FIND_NEXT_BIT=y
72CONFIG_GENERIC_HWEIGHT=y 75CONFIG_GENERIC_HWEIGHT=y
73CONFIG_GENERIC_CALIBRATE_DELAY=y 76CONFIG_GENERIC_CALIBRATE_DELAY=y
77CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
74CONFIG_DMA_NONCOHERENT=y 78CONFIG_DMA_NONCOHERENT=y
75CONFIG_DMA_NEED_PCI_MAP_STATE=y 79CONFIG_DMA_NEED_PCI_MAP_STATE=y
76# CONFIG_CPU_BIG_ENDIAN is not set 80# CONFIG_CPU_BIG_ENDIAN is not set
@@ -115,7 +119,10 @@ CONFIG_PAGE_SIZE_4KB=y
115# CONFIG_PAGE_SIZE_8KB is not set 119# CONFIG_PAGE_SIZE_8KB is not set
116# CONFIG_PAGE_SIZE_16KB is not set 120# CONFIG_PAGE_SIZE_16KB is not set
117# CONFIG_PAGE_SIZE_64KB is not set 121# CONFIG_PAGE_SIZE_64KB is not set
118# CONFIG_MIPS_MT is not set 122CONFIG_MIPS_MT_DISABLED=y
123# CONFIG_MIPS_MT_SMTC is not set
124# CONFIG_MIPS_MT_SMP is not set
125# CONFIG_MIPS_VPE_LOADER is not set
119CONFIG_CPU_HAS_SYNC=y 126CONFIG_CPU_HAS_SYNC=y
120CONFIG_GENERIC_HARDIRQS=y 127CONFIG_GENERIC_HARDIRQS=y
121CONFIG_GENERIC_IRQ_PROBE=y 128CONFIG_GENERIC_IRQ_PROBE=y
@@ -128,6 +135,7 @@ CONFIG_FLATMEM=y
128CONFIG_FLAT_NODE_MEM_MAP=y 135CONFIG_FLAT_NODE_MEM_MAP=y
129# CONFIG_SPARSEMEM_STATIC is not set 136# CONFIG_SPARSEMEM_STATIC is not set
130CONFIG_SPLIT_PTLOCK_CPUS=4 137CONFIG_SPLIT_PTLOCK_CPUS=4
138# CONFIG_RESOURCES_64BIT is not set
131# CONFIG_HZ_48 is not set 139# CONFIG_HZ_48 is not set
132# CONFIG_HZ_100 is not set 140# CONFIG_HZ_100 is not set
133# CONFIG_HZ_128 is not set 141# CONFIG_HZ_128 is not set
@@ -140,6 +148,7 @@ CONFIG_HZ=1000
140CONFIG_PREEMPT_NONE=y 148CONFIG_PREEMPT_NONE=y
141# CONFIG_PREEMPT_VOLUNTARY is not set 149# CONFIG_PREEMPT_VOLUNTARY is not set
142# CONFIG_PREEMPT is not set 150# CONFIG_PREEMPT is not set
151CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
143 152
144# 153#
145# Code maturity level options 154# Code maturity level options
@@ -171,10 +180,12 @@ CONFIG_PRINTK=y
171CONFIG_BUG=y 180CONFIG_BUG=y
172CONFIG_ELF_CORE=y 181CONFIG_ELF_CORE=y
173CONFIG_BASE_FULL=y 182CONFIG_BASE_FULL=y
183CONFIG_RT_MUTEXES=y
174CONFIG_FUTEX=y 184CONFIG_FUTEX=y
175CONFIG_EPOLL=y 185CONFIG_EPOLL=y
176CONFIG_SHMEM=y 186CONFIG_SHMEM=y
177CONFIG_SLAB=y 187CONFIG_SLAB=y
188CONFIG_VM_EVENT_COUNTERS=y
178# CONFIG_TINY_SHMEM is not set 189# CONFIG_TINY_SHMEM is not set
179CONFIG_BASE_SMALL=0 190CONFIG_BASE_SMALL=0
180# CONFIG_SLOB is not set 191# CONFIG_SLOB is not set
@@ -273,6 +284,8 @@ CONFIG_IP_FIB_HASH=y
273# CONFIG_INET_IPCOMP is not set 284# CONFIG_INET_IPCOMP is not set
274# CONFIG_INET_XFRM_TUNNEL is not set 285# CONFIG_INET_XFRM_TUNNEL is not set
275# CONFIG_INET_TUNNEL is not set 286# CONFIG_INET_TUNNEL is not set
287CONFIG_INET_XFRM_MODE_TRANSPORT=m
288CONFIG_INET_XFRM_MODE_TUNNEL=m
276CONFIG_INET_DIAG=y 289CONFIG_INET_DIAG=y
277CONFIG_INET_TCP_DIAG=y 290CONFIG_INET_TCP_DIAG=y
278# CONFIG_TCP_CONG_ADVANCED is not set 291# CONFIG_TCP_CONG_ADVANCED is not set
@@ -280,6 +293,7 @@ CONFIG_TCP_CONG_BIC=y
280# CONFIG_IPV6 is not set 293# CONFIG_IPV6 is not set
281# CONFIG_INET6_XFRM_TUNNEL is not set 294# CONFIG_INET6_XFRM_TUNNEL is not set
282# CONFIG_INET6_TUNNEL is not set 295# CONFIG_INET6_TUNNEL is not set
296CONFIG_NETWORK_SECMARK=y
283# CONFIG_NETFILTER is not set 297# CONFIG_NETFILTER is not set
284 298
285# 299#
@@ -334,6 +348,7 @@ CONFIG_WIRELESS_EXT=y
334CONFIG_STANDALONE=y 348CONFIG_STANDALONE=y
335CONFIG_PREVENT_FIRMWARE_BUILD=y 349CONFIG_PREVENT_FIRMWARE_BUILD=y
336CONFIG_FW_LOADER=y 350CONFIG_FW_LOADER=y
351# CONFIG_SYS_HYPERVISOR is not set
337 352
338# 353#
339# Connector - unified userspace <-> kernelspace linker 354# Connector - unified userspace <-> kernelspace linker
@@ -452,6 +467,8 @@ CONFIG_DAVICOM_PHY=m
452CONFIG_QSEMI_PHY=m 467CONFIG_QSEMI_PHY=m
453CONFIG_LXT_PHY=m 468CONFIG_LXT_PHY=m
454CONFIG_CICADA_PHY=m 469CONFIG_CICADA_PHY=m
470CONFIG_VITESSE_PHY=m
471CONFIG_SMSC_PHY=m
455 472
456# 473#
457# Ethernet (10 or 100Mbit) 474# Ethernet (10 or 100Mbit)
@@ -586,6 +603,7 @@ CONFIG_INPUT=y
586CONFIG_VT=y 603CONFIG_VT=y
587CONFIG_VT_CONSOLE=y 604CONFIG_VT_CONSOLE=y
588CONFIG_HW_CONSOLE=y 605CONFIG_HW_CONSOLE=y
606CONFIG_VT_HW_CONSOLE_BINDING=y
589# CONFIG_SERIAL_NONSTANDARD is not set 607# CONFIG_SERIAL_NONSTANDARD is not set
590 608
591# 609#
@@ -613,6 +631,7 @@ CONFIG_LEGACY_PTY_COUNT=256
613# Watchdog Cards 631# Watchdog Cards
614# 632#
615# CONFIG_WATCHDOG is not set 633# CONFIG_WATCHDOG is not set
634# CONFIG_HW_RANDOM is not set
616# CONFIG_RTC is not set 635# CONFIG_RTC is not set
617# CONFIG_GEN_RTC is not set 636# CONFIG_GEN_RTC is not set
618# CONFIG_DTLK is not set 637# CONFIG_DTLK is not set
@@ -667,6 +686,7 @@ CONFIG_LEGACY_PTY_COUNT=256
667# Multimedia devices 686# Multimedia devices
668# 687#
669# CONFIG_VIDEO_DEV is not set 688# CONFIG_VIDEO_DEV is not set
689CONFIG_VIDEO_V4L2=y
670 690
671# 691#
672# Digital Video Broadcasting Devices 692# Digital Video Broadcasting Devices
@@ -676,6 +696,7 @@ CONFIG_LEGACY_PTY_COUNT=256
676# 696#
677# Graphics support 697# Graphics support
678# 698#
699# CONFIG_FIRMWARE_EDID is not set
679# CONFIG_FB is not set 700# CONFIG_FB is not set
680 701
681# 702#
@@ -738,6 +759,19 @@ CONFIG_DUMMY_CONSOLE=y
738# CONFIG_RTC_CLASS is not set 759# CONFIG_RTC_CLASS is not set
739 760
740# 761#
762# DMA Engine support
763#
764# CONFIG_DMA_ENGINE is not set
765
766#
767# DMA Clients
768#
769
770#
771# DMA Devices
772#
773
774#
741# File systems 775# File systems
742# 776#
743CONFIG_EXT2_FS=y 777CONFIG_EXT2_FS=y
@@ -755,6 +789,7 @@ CONFIG_FS_POSIX_ACL=y
755# CONFIG_MINIX_FS is not set 789# CONFIG_MINIX_FS is not set
756# CONFIG_ROMFS_FS is not set 790# CONFIG_ROMFS_FS is not set
757CONFIG_INOTIFY=y 791CONFIG_INOTIFY=y
792CONFIG_INOTIFY_USER=y
758# CONFIG_QUOTA is not set 793# CONFIG_QUOTA is not set
759CONFIG_DNOTIFY=y 794CONFIG_DNOTIFY=y
760# CONFIG_AUTOFS_FS is not set 795# CONFIG_AUTOFS_FS is not set
@@ -820,6 +855,7 @@ CONFIG_SUNRPC=y
820# CONFIG_RPCSEC_GSS_SPKM3 is not set 855# CONFIG_RPCSEC_GSS_SPKM3 is not set
821# CONFIG_SMB_FS is not set 856# CONFIG_SMB_FS is not set
822# CONFIG_CIFS is not set 857# CONFIG_CIFS is not set
858# CONFIG_CIFS_DEBUG2 is not set
823# CONFIG_NCP_FS is not set 859# CONFIG_NCP_FS is not set
824# CONFIG_CODA_FS is not set 860# CONFIG_CODA_FS is not set
825# CONFIG_AFS_FS is not set 861# CONFIG_AFS_FS is not set
@@ -846,6 +882,7 @@ CONFIG_MSDOS_PARTITION=y
846# 882#
847# CONFIG_PRINTK_TIME is not set 883# CONFIG_PRINTK_TIME is not set
848# CONFIG_MAGIC_SYSRQ is not set 884# CONFIG_MAGIC_SYSRQ is not set
885# CONFIG_UNUSED_SYMBOLS is not set
849# CONFIG_DEBUG_KERNEL is not set 886# CONFIG_DEBUG_KERNEL is not set
850CONFIG_LOG_BUF_SHIFT=14 887CONFIG_LOG_BUF_SHIFT=14
851# CONFIG_DEBUG_FS is not set 888# CONFIG_DEBUG_FS is not set
@@ -874,3 +911,4 @@ CONFIG_CMDLINE="console=ttyVR0,19200 mem=16M"
874# CONFIG_CRC16 is not set 911# CONFIG_CRC16 is not set
875CONFIG_CRC32=y 912CONFIG_CRC32=y
876# CONFIG_LIBCRC32C is not set 913# CONFIG_LIBCRC32C is not set
914CONFIG_PLIST=y
diff --git a/arch/mips/configs/wrppmc_defconfig b/arch/mips/configs/wrppmc_defconfig
index 40572a3c8cac..3e4b16b39827 100644
--- a/arch/mips/configs/wrppmc_defconfig
+++ b/arch/mips/configs/wrppmc_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.16.11 3# Linux kernel version: 2.6.18-rc1
4# Fri May 5 17:11:22 2006 4# Thu Jul 6 10:04:21 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -21,6 +21,7 @@ CONFIG_MIPS=y
21# CONFIG_MIPS_DB1550 is not set 21# CONFIG_MIPS_DB1550 is not set
22# CONFIG_MIPS_DB1200 is not set 22# CONFIG_MIPS_DB1200 is not set
23# CONFIG_MIPS_MIRAGE is not set 23# CONFIG_MIPS_MIRAGE is not set
24# CONFIG_BASLER_EXCITE is not set
24# CONFIG_MIPS_COBALT is not set 25# CONFIG_MIPS_COBALT is not set
25# CONFIG_MACH_DECSTATION is not set 26# CONFIG_MACH_DECSTATION is not set
26# CONFIG_MIPS_EV64120 is not set 27# CONFIG_MIPS_EV64120 is not set
@@ -46,6 +47,7 @@ CONFIG_WR_PPMC=y
46# CONFIG_MACH_VR41XX is not set 47# CONFIG_MACH_VR41XX is not set
47# CONFIG_PMC_YOSEMITE is not set 48# CONFIG_PMC_YOSEMITE is not set
48# CONFIG_QEMU is not set 49# CONFIG_QEMU is not set
50# CONFIG_MARKEINS is not set
49# CONFIG_SGI_IP22 is not set 51# CONFIG_SGI_IP22 is not set
50# CONFIG_SGI_IP27 is not set 52# CONFIG_SGI_IP27 is not set
51# CONFIG_SGI_IP32 is not set 53# CONFIG_SGI_IP32 is not set
@@ -63,7 +65,10 @@ CONFIG_WR_PPMC=y
63# CONFIG_TOSHIBA_RBTX4927 is not set 65# CONFIG_TOSHIBA_RBTX4927 is not set
64# CONFIG_TOSHIBA_RBTX4938 is not set 66# CONFIG_TOSHIBA_RBTX4938 is not set
65CONFIG_RWSEM_GENERIC_SPINLOCK=y 67CONFIG_RWSEM_GENERIC_SPINLOCK=y
68CONFIG_GENERIC_FIND_NEXT_BIT=y
69CONFIG_GENERIC_HWEIGHT=y
66CONFIG_GENERIC_CALIBRATE_DELAY=y 70CONFIG_GENERIC_CALIBRATE_DELAY=y
71CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
67CONFIG_DMA_NONCOHERENT=y 72CONFIG_DMA_NONCOHERENT=y
68CONFIG_DMA_NEED_PCI_MAP_STATE=y 73CONFIG_DMA_NEED_PCI_MAP_STATE=y
69CONFIG_CPU_BIG_ENDIAN=y 74CONFIG_CPU_BIG_ENDIAN=y
@@ -119,9 +124,11 @@ CONFIG_PAGE_SIZE_4KB=y
119# CONFIG_PAGE_SIZE_16KB is not set 124# CONFIG_PAGE_SIZE_16KB is not set
120# CONFIG_PAGE_SIZE_64KB is not set 125# CONFIG_PAGE_SIZE_64KB is not set
121CONFIG_CPU_HAS_PREFETCH=y 126CONFIG_CPU_HAS_PREFETCH=y
122# CONFIG_MIPS_MT is not set 127CONFIG_MIPS_MT_DISABLED=y
128# CONFIG_MIPS_MT_SMTC is not set
129# CONFIG_MIPS_MT_SMP is not set
130# CONFIG_MIPS_VPE_LOADER is not set
123# CONFIG_64BIT_PHYS_ADDR is not set 131# CONFIG_64BIT_PHYS_ADDR is not set
124# CONFIG_CPU_ADVANCED is not set
125CONFIG_CPU_HAS_LLSC=y 132CONFIG_CPU_HAS_LLSC=y
126CONFIG_CPU_HAS_SYNC=y 133CONFIG_CPU_HAS_SYNC=y
127CONFIG_GENERIC_HARDIRQS=y 134CONFIG_GENERIC_HARDIRQS=y
@@ -136,6 +143,7 @@ CONFIG_FLATMEM=y
136CONFIG_FLAT_NODE_MEM_MAP=y 143CONFIG_FLAT_NODE_MEM_MAP=y
137# CONFIG_SPARSEMEM_STATIC is not set 144# CONFIG_SPARSEMEM_STATIC is not set
138CONFIG_SPLIT_PTLOCK_CPUS=4 145CONFIG_SPLIT_PTLOCK_CPUS=4
146# CONFIG_RESOURCES_64BIT is not set
139# CONFIG_HZ_48 is not set 147# CONFIG_HZ_48 is not set
140# CONFIG_HZ_100 is not set 148# CONFIG_HZ_100 is not set
141# CONFIG_HZ_128 is not set 149# CONFIG_HZ_128 is not set
@@ -148,6 +156,7 @@ CONFIG_HZ=1000
148CONFIG_PREEMPT_NONE=y 156CONFIG_PREEMPT_NONE=y
149# CONFIG_PREEMPT_VOLUNTARY is not set 157# CONFIG_PREEMPT_VOLUNTARY is not set
150# CONFIG_PREEMPT is not set 158# CONFIG_PREEMPT is not set
159CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
151 160
152# 161#
153# Code maturity level options 162# Code maturity level options
@@ -169,6 +178,7 @@ CONFIG_BSD_PROCESS_ACCT=y
169CONFIG_SYSCTL=y 178CONFIG_SYSCTL=y
170# CONFIG_AUDIT is not set 179# CONFIG_AUDIT is not set
171# CONFIG_IKCONFIG is not set 180# CONFIG_IKCONFIG is not set
181# CONFIG_RELAY is not set
172CONFIG_INITRAMFS_SOURCE="" 182CONFIG_INITRAMFS_SOURCE=""
173# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 183# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
174CONFIG_EMBEDDED=y 184CONFIG_EMBEDDED=y
@@ -179,14 +189,12 @@ CONFIG_PRINTK=y
179CONFIG_BUG=y 189CONFIG_BUG=y
180CONFIG_ELF_CORE=y 190CONFIG_ELF_CORE=y
181CONFIG_BASE_FULL=y 191CONFIG_BASE_FULL=y
192CONFIG_RT_MUTEXES=y
182CONFIG_FUTEX=y 193CONFIG_FUTEX=y
183# CONFIG_EPOLL is not set 194# CONFIG_EPOLL is not set
184CONFIG_SHMEM=y 195CONFIG_SHMEM=y
185CONFIG_CC_ALIGN_FUNCTIONS=0
186CONFIG_CC_ALIGN_LABELS=0
187CONFIG_CC_ALIGN_LOOPS=0
188CONFIG_CC_ALIGN_JUMPS=0
189CONFIG_SLAB=y 196CONFIG_SLAB=y
197CONFIG_VM_EVENT_COUNTERS=y
190# CONFIG_TINY_SHMEM is not set 198# CONFIG_TINY_SHMEM is not set
191CONFIG_BASE_SMALL=0 199CONFIG_BASE_SMALL=0
192# CONFIG_SLOB is not set 200# CONFIG_SLOB is not set
@@ -197,7 +205,6 @@ CONFIG_BASE_SMALL=0
197CONFIG_MODULES=y 205CONFIG_MODULES=y
198CONFIG_MODULE_UNLOAD=y 206CONFIG_MODULE_UNLOAD=y
199# CONFIG_MODULE_FORCE_UNLOAD is not set 207# CONFIG_MODULE_FORCE_UNLOAD is not set
200CONFIG_OBSOLETE_MODPARM=y
201CONFIG_MODVERSIONS=y 208CONFIG_MODVERSIONS=y
202CONFIG_MODULE_SRCVERSION_ALL=y 209CONFIG_MODULE_SRCVERSION_ALL=y
203# CONFIG_KMOD is not set 210# CONFIG_KMOD is not set
@@ -206,6 +213,8 @@ CONFIG_MODULE_SRCVERSION_ALL=y
206# Block layer 213# Block layer
207# 214#
208# CONFIG_LBD is not set 215# CONFIG_LBD is not set
216# CONFIG_BLK_DEV_IO_TRACE is not set
217# CONFIG_LSF is not set
209 218
210# 219#
211# IO Schedulers 220# IO Schedulers
@@ -225,7 +234,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
225# 234#
226CONFIG_HW_HAS_PCI=y 235CONFIG_HW_HAS_PCI=y
227CONFIG_PCI=y 236CONFIG_PCI=y
228CONFIG_PCI_LEGACY_PROC=y
229CONFIG_MMU=y 237CONFIG_MMU=y
230 238
231# 239#
@@ -260,6 +268,8 @@ CONFIG_NET=y
260CONFIG_PACKET=y 268CONFIG_PACKET=y
261CONFIG_PACKET_MMAP=y 269CONFIG_PACKET_MMAP=y
262CONFIG_UNIX=y 270CONFIG_UNIX=y
271CONFIG_XFRM=y
272# CONFIG_XFRM_USER is not set
263# CONFIG_NET_KEY is not set 273# CONFIG_NET_KEY is not set
264CONFIG_INET=y 274CONFIG_INET=y
265CONFIG_IP_MULTICAST=y 275CONFIG_IP_MULTICAST=y
@@ -279,12 +289,18 @@ CONFIG_ARPD=y
279# CONFIG_INET_AH is not set 289# CONFIG_INET_AH is not set
280# CONFIG_INET_ESP is not set 290# CONFIG_INET_ESP is not set
281# CONFIG_INET_IPCOMP is not set 291# CONFIG_INET_IPCOMP is not set
292# CONFIG_INET_XFRM_TUNNEL is not set
282# CONFIG_INET_TUNNEL is not set 293# CONFIG_INET_TUNNEL is not set
294CONFIG_INET_XFRM_MODE_TRANSPORT=m
295CONFIG_INET_XFRM_MODE_TUNNEL=m
283CONFIG_INET_DIAG=y 296CONFIG_INET_DIAG=y
284CONFIG_INET_TCP_DIAG=y 297CONFIG_INET_TCP_DIAG=y
285# CONFIG_TCP_CONG_ADVANCED is not set 298# CONFIG_TCP_CONG_ADVANCED is not set
286CONFIG_TCP_CONG_BIC=y 299CONFIG_TCP_CONG_BIC=y
287# CONFIG_IPV6 is not set 300# CONFIG_IPV6 is not set
301# CONFIG_INET6_XFRM_TUNNEL is not set
302# CONFIG_INET6_TUNNEL is not set
303CONFIG_NETWORK_SECMARK=y
288# CONFIG_NETFILTER is not set 304# CONFIG_NETFILTER is not set
289 305
290# 306#
@@ -338,6 +354,7 @@ CONFIG_TCP_CONG_BIC=y
338CONFIG_STANDALONE=y 354CONFIG_STANDALONE=y
339CONFIG_PREVENT_FIRMWARE_BUILD=y 355CONFIG_PREVENT_FIRMWARE_BUILD=y
340# CONFIG_FW_LOADER is not set 356# CONFIG_FW_LOADER is not set
357# CONFIG_SYS_HYPERVISOR is not set
341 358
342# 359#
343# Connector - unified userspace <-> kernelspace linker 360# Connector - unified userspace <-> kernelspace linker
@@ -434,6 +451,8 @@ CONFIG_PHYLIB=y
434# CONFIG_QSEMI_PHY is not set 451# CONFIG_QSEMI_PHY is not set
435# CONFIG_LXT_PHY is not set 452# CONFIG_LXT_PHY is not set
436# CONFIG_CICADA_PHY is not set 453# CONFIG_CICADA_PHY is not set
454CONFIG_VITESSE_PHY=m
455CONFIG_SMSC_PHY=m
437 456
438# 457#
439# Ethernet (10 or 100Mbit) 458# Ethernet (10 or 100Mbit)
@@ -496,6 +515,7 @@ CONFIG_E100=y
496# CONFIG_CHELSIO_T1 is not set 515# CONFIG_CHELSIO_T1 is not set
497# CONFIG_IXGB is not set 516# CONFIG_IXGB is not set
498# CONFIG_S2IO is not set 517# CONFIG_S2IO is not set
518# CONFIG_MYRI10GE is not set
499 519
500# 520#
501# Token Ring devices 521# Token Ring devices
@@ -552,6 +572,7 @@ CONFIG_E100=y
552# 572#
553CONFIG_SERIAL_8250=y 573CONFIG_SERIAL_8250=y
554CONFIG_SERIAL_8250_CONSOLE=y 574CONFIG_SERIAL_8250_CONSOLE=y
575CONFIG_SERIAL_8250_PCI=y
555CONFIG_SERIAL_8250_NR_UARTS=1 576CONFIG_SERIAL_8250_NR_UARTS=1
556CONFIG_SERIAL_8250_RUNTIME_UARTS=1 577CONFIG_SERIAL_8250_RUNTIME_UARTS=1
557# CONFIG_SERIAL_8250_EXTENDED is not set 578# CONFIG_SERIAL_8250_EXTENDED is not set
@@ -575,6 +596,7 @@ CONFIG_LEGACY_PTY_COUNT=256
575# Watchdog Cards 596# Watchdog Cards
576# 597#
577# CONFIG_WATCHDOG is not set 598# CONFIG_WATCHDOG is not set
599# CONFIG_HW_RANDOM is not set
578CONFIG_RTC=y 600CONFIG_RTC=y
579# CONFIG_DTLK is not set 601# CONFIG_DTLK is not set
580# CONFIG_R3964 is not set 602# CONFIG_R3964 is not set
@@ -606,13 +628,13 @@ CONFIG_RTC=y
606# 628#
607# Dallas's 1-wire bus 629# Dallas's 1-wire bus
608# 630#
609# CONFIG_W1 is not set
610 631
611# 632#
612# Hardware Monitoring support 633# Hardware Monitoring support
613# 634#
614CONFIG_HWMON=y 635CONFIG_HWMON=y
615# CONFIG_HWMON_VID is not set 636# CONFIG_HWMON_VID is not set
637# CONFIG_SENSORS_ABITUGURU is not set
616# CONFIG_SENSORS_F71805F is not set 638# CONFIG_SENSORS_F71805F is not set
617# CONFIG_HWMON_DEBUG_CHIP is not set 639# CONFIG_HWMON_DEBUG_CHIP is not set
618 640
@@ -621,13 +643,10 @@ CONFIG_HWMON=y
621# 643#
622 644
623# 645#
624# Multimedia Capabilities Port drivers
625#
626
627#
628# Multimedia devices 646# Multimedia devices
629# 647#
630# CONFIG_VIDEO_DEV is not set 648# CONFIG_VIDEO_DEV is not set
649CONFIG_VIDEO_V4L2=y
631 650
632# 651#
633# Digital Video Broadcasting Devices 652# Digital Video Broadcasting Devices
@@ -637,6 +656,7 @@ CONFIG_HWMON=y
637# 656#
638# Graphics support 657# Graphics support
639# 658#
659# CONFIG_FIRMWARE_EDID is not set
640# CONFIG_FB is not set 660# CONFIG_FB is not set
641 661
642# 662#
@@ -649,6 +669,7 @@ CONFIG_HWMON=y
649# 669#
650CONFIG_USB_ARCH_HAS_HCD=y 670CONFIG_USB_ARCH_HAS_HCD=y
651CONFIG_USB_ARCH_HAS_OHCI=y 671CONFIG_USB_ARCH_HAS_OHCI=y
672CONFIG_USB_ARCH_HAS_EHCI=y
652# CONFIG_USB is not set 673# CONFIG_USB is not set
653 674
654# 675#
@@ -666,6 +687,19 @@ CONFIG_USB_ARCH_HAS_OHCI=y
666# CONFIG_MMC is not set 687# CONFIG_MMC is not set
667 688
668# 689#
690# LED devices
691#
692# CONFIG_NEW_LEDS is not set
693
694#
695# LED drivers
696#
697
698#
699# LED Triggers
700#
701
702#
669# InfiniBand support 703# InfiniBand support
670# 704#
671# CONFIG_INFINIBAND is not set 705# CONFIG_INFINIBAND is not set
@@ -675,6 +709,24 @@ CONFIG_USB_ARCH_HAS_OHCI=y
675# 709#
676 710
677# 711#
712# Real Time Clock
713#
714# CONFIG_RTC_CLASS is not set
715
716#
717# DMA Engine support
718#
719# CONFIG_DMA_ENGINE is not set
720
721#
722# DMA Clients
723#
724
725#
726# DMA Devices
727#
728
729#
678# File systems 730# File systems
679# 731#
680# CONFIG_EXT2_FS is not set 732# CONFIG_EXT2_FS is not set
@@ -687,6 +739,7 @@ CONFIG_USB_ARCH_HAS_OHCI=y
687# CONFIG_MINIX_FS is not set 739# CONFIG_MINIX_FS is not set
688# CONFIG_ROMFS_FS is not set 740# CONFIG_ROMFS_FS is not set
689CONFIG_INOTIFY=y 741CONFIG_INOTIFY=y
742CONFIG_INOTIFY_USER=y
690# CONFIG_QUOTA is not set 743# CONFIG_QUOTA is not set
691CONFIG_DNOTIFY=y 744CONFIG_DNOTIFY=y
692# CONFIG_AUTOFS_FS is not set 745# CONFIG_AUTOFS_FS is not set
@@ -715,7 +768,6 @@ CONFIG_SYSFS=y
715CONFIG_TMPFS=y 768CONFIG_TMPFS=y
716# CONFIG_HUGETLB_PAGE is not set 769# CONFIG_HUGETLB_PAGE is not set
717CONFIG_RAMFS=y 770CONFIG_RAMFS=y
718# CONFIG_RELAYFS_FS is not set
719# CONFIG_CONFIGFS_FS is not set 771# CONFIG_CONFIGFS_FS is not set
720 772
721# 773#
@@ -753,6 +805,7 @@ CONFIG_SUNRPC=y
753# CONFIG_RPCSEC_GSS_SPKM3 is not set 805# CONFIG_RPCSEC_GSS_SPKM3 is not set
754# CONFIG_SMB_FS is not set 806# CONFIG_SMB_FS is not set
755# CONFIG_CIFS is not set 807# CONFIG_CIFS is not set
808# CONFIG_CIFS_DEBUG2 is not set
756# CONFIG_NCP_FS is not set 809# CONFIG_NCP_FS is not set
757# CONFIG_CODA_FS is not set 810# CONFIG_CODA_FS is not set
758# CONFIG_AFS_FS is not set 811# CONFIG_AFS_FS is not set
@@ -779,8 +832,10 @@ CONFIG_MSDOS_PARTITION=y
779# 832#
780# CONFIG_PRINTK_TIME is not set 833# CONFIG_PRINTK_TIME is not set
781# CONFIG_MAGIC_SYSRQ is not set 834# CONFIG_MAGIC_SYSRQ is not set
835# CONFIG_UNUSED_SYMBOLS is not set
782# CONFIG_DEBUG_KERNEL is not set 836# CONFIG_DEBUG_KERNEL is not set
783CONFIG_LOG_BUF_SHIFT=14 837CONFIG_LOG_BUF_SHIFT=14
838# CONFIG_DEBUG_FS is not set
784CONFIG_CROSSCOMPILE=y 839CONFIG_CROSSCOMPILE=y
785CONFIG_CMDLINE="console=ttyS0,115200n8" 840CONFIG_CMDLINE="console=ttyS0,115200n8"
786 841
@@ -806,3 +861,4 @@ CONFIG_CRC_CCITT=y
806CONFIG_CRC16=y 861CONFIG_CRC16=y
807CONFIG_CRC32=y 862CONFIG_CRC32=y
808CONFIG_LIBCRC32C=y 863CONFIG_LIBCRC32C=y
864CONFIG_PLIST=y
diff --git a/arch/mips/configs/yosemite_defconfig b/arch/mips/configs/yosemite_defconfig
index 7ece2c008e9b..3a68d8a25b66 100644
--- a/arch/mips/configs/yosemite_defconfig
+++ b/arch/mips/configs/yosemite_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.17-rc2 3# Linux kernel version: 2.6.18-rc1
4# Mon Apr 24 14:51:20 2006 4# Thu Jul 6 10:04:21 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -21,6 +21,7 @@ CONFIG_MIPS=y
21# CONFIG_MIPS_DB1550 is not set 21# CONFIG_MIPS_DB1550 is not set
22# CONFIG_MIPS_DB1200 is not set 22# CONFIG_MIPS_DB1200 is not set
23# CONFIG_MIPS_MIRAGE is not set 23# CONFIG_MIPS_MIRAGE is not set
24# CONFIG_BASLER_EXCITE is not set
24# CONFIG_MIPS_COBALT is not set 25# CONFIG_MIPS_COBALT is not set
25# CONFIG_MACH_DECSTATION is not set 26# CONFIG_MACH_DECSTATION is not set
26# CONFIG_MIPS_EV64120 is not set 27# CONFIG_MIPS_EV64120 is not set
@@ -32,6 +33,7 @@ CONFIG_MIPS=y
32# CONFIG_MIPS_ATLAS is not set 33# CONFIG_MIPS_ATLAS is not set
33# CONFIG_MIPS_MALTA is not set 34# CONFIG_MIPS_MALTA is not set
34# CONFIG_MIPS_SEAD is not set 35# CONFIG_MIPS_SEAD is not set
36# CONFIG_WR_PPMC is not set
35# CONFIG_MIPS_SIM is not set 37# CONFIG_MIPS_SIM is not set
36# CONFIG_MOMENCO_JAGUAR_ATX is not set 38# CONFIG_MOMENCO_JAGUAR_ATX is not set
37# CONFIG_MOMENCO_OCELOT is not set 39# CONFIG_MOMENCO_OCELOT is not set
@@ -45,6 +47,7 @@ CONFIG_MIPS=y
45# CONFIG_MACH_VR41XX is not set 47# CONFIG_MACH_VR41XX is not set
46CONFIG_PMC_YOSEMITE=y 48CONFIG_PMC_YOSEMITE=y
47# CONFIG_QEMU is not set 49# CONFIG_QEMU is not set
50# CONFIG_MARKEINS is not set
48# CONFIG_SGI_IP22 is not set 51# CONFIG_SGI_IP22 is not set
49# CONFIG_SGI_IP27 is not set 52# CONFIG_SGI_IP27 is not set
50# CONFIG_SGI_IP32 is not set 53# CONFIG_SGI_IP32 is not set
@@ -66,6 +69,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y
66CONFIG_GENERIC_FIND_NEXT_BIT=y 69CONFIG_GENERIC_FIND_NEXT_BIT=y
67CONFIG_GENERIC_HWEIGHT=y 70CONFIG_GENERIC_HWEIGHT=y
68CONFIG_GENERIC_CALIBRATE_DELAY=y 71CONFIG_GENERIC_CALIBRATE_DELAY=y
72CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
69CONFIG_DMA_COHERENT=y 73CONFIG_DMA_COHERENT=y
70CONFIG_CPU_BIG_ENDIAN=y 74CONFIG_CPU_BIG_ENDIAN=y
71# CONFIG_CPU_LITTLE_ENDIAN is not set 75# CONFIG_CPU_LITTLE_ENDIAN is not set
@@ -114,12 +118,16 @@ CONFIG_PAGE_SIZE_4KB=y
114# CONFIG_PAGE_SIZE_16KB is not set 118# CONFIG_PAGE_SIZE_16KB is not set
115# CONFIG_PAGE_SIZE_64KB is not set 119# CONFIG_PAGE_SIZE_64KB is not set
116CONFIG_CPU_HAS_PREFETCH=y 120CONFIG_CPU_HAS_PREFETCH=y
117# CONFIG_MIPS_MT is not set 121CONFIG_MIPS_MT_DISABLED=y
122# CONFIG_MIPS_MT_SMTC is not set
123# CONFIG_MIPS_MT_SMP is not set
124# CONFIG_MIPS_VPE_LOADER is not set
118# CONFIG_64BIT_PHYS_ADDR is not set 125# CONFIG_64BIT_PHYS_ADDR is not set
119CONFIG_CPU_HAS_LLSC=y 126CONFIG_CPU_HAS_LLSC=y
120CONFIG_CPU_HAS_SYNC=y 127CONFIG_CPU_HAS_SYNC=y
121CONFIG_GENERIC_HARDIRQS=y 128CONFIG_GENERIC_HARDIRQS=y
122CONFIG_GENERIC_IRQ_PROBE=y 129CONFIG_GENERIC_IRQ_PROBE=y
130CONFIG_IRQ_PER_CPU=y
123CONFIG_HIGHMEM=y 131CONFIG_HIGHMEM=y
124CONFIG_CPU_SUPPORTS_HIGHMEM=y 132CONFIG_CPU_SUPPORTS_HIGHMEM=y
125CONFIG_SYS_SUPPORTS_HIGHMEM=y 133CONFIG_SYS_SUPPORTS_HIGHMEM=y
@@ -128,6 +136,10 @@ CONFIG_FLATMEM=y
128CONFIG_FLAT_NODE_MEM_MAP=y 136CONFIG_FLAT_NODE_MEM_MAP=y
129# CONFIG_SPARSEMEM_STATIC is not set 137# CONFIG_SPARSEMEM_STATIC is not set
130CONFIG_SPLIT_PTLOCK_CPUS=4 138CONFIG_SPLIT_PTLOCK_CPUS=4
139# CONFIG_RESOURCES_64BIT is not set
140CONFIG_SMP=y
141CONFIG_SYS_SUPPORTS_SMP=y
142CONFIG_NR_CPUS=2
131# CONFIG_HZ_48 is not set 143# CONFIG_HZ_48 is not set
132# CONFIG_HZ_100 is not set 144# CONFIG_HZ_100 is not set
133# CONFIG_HZ_128 is not set 145# CONFIG_HZ_128 is not set
@@ -137,12 +149,11 @@ CONFIG_HZ_1000=y
137# CONFIG_HZ_1024 is not set 149# CONFIG_HZ_1024 is not set
138CONFIG_SYS_SUPPORTS_ARBIT_HZ=y 150CONFIG_SYS_SUPPORTS_ARBIT_HZ=y
139CONFIG_HZ=1000 151CONFIG_HZ=1000
140CONFIG_SMP=y
141CONFIG_NR_CPUS=2
142CONFIG_PREEMPT_NONE=y 152CONFIG_PREEMPT_NONE=y
143# CONFIG_PREEMPT_VOLUNTARY is not set 153# CONFIG_PREEMPT_VOLUNTARY is not set
144# CONFIG_PREEMPT is not set 154# CONFIG_PREEMPT is not set
145CONFIG_PREEMPT_BKL=y 155CONFIG_PREEMPT_BKL=y
156CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
146 157
147# 158#
148# Code maturity level options 159# Code maturity level options
@@ -175,10 +186,12 @@ CONFIG_PRINTK=y
175CONFIG_BUG=y 186CONFIG_BUG=y
176CONFIG_ELF_CORE=y 187CONFIG_ELF_CORE=y
177CONFIG_BASE_FULL=y 188CONFIG_BASE_FULL=y
189CONFIG_RT_MUTEXES=y
178CONFIG_FUTEX=y 190CONFIG_FUTEX=y
179CONFIG_EPOLL=y 191CONFIG_EPOLL=y
180CONFIG_SHMEM=y 192CONFIG_SHMEM=y
181CONFIG_SLAB=y 193CONFIG_SLAB=y
194CONFIG_VM_EVENT_COUNTERS=y
182# CONFIG_TINY_SHMEM is not set 195# CONFIG_TINY_SHMEM is not set
183CONFIG_BASE_SMALL=0 196CONFIG_BASE_SMALL=0
184# CONFIG_SLOB is not set 197# CONFIG_SLOB is not set
@@ -268,6 +281,8 @@ CONFIG_IP_PNP_BOOTP=y
268# CONFIG_INET_IPCOMP is not set 281# CONFIG_INET_IPCOMP is not set
269# CONFIG_INET_XFRM_TUNNEL is not set 282# CONFIG_INET_XFRM_TUNNEL is not set
270# CONFIG_INET_TUNNEL is not set 283# CONFIG_INET_TUNNEL is not set
284CONFIG_INET_XFRM_MODE_TRANSPORT=m
285CONFIG_INET_XFRM_MODE_TUNNEL=m
271CONFIG_INET_DIAG=y 286CONFIG_INET_DIAG=y
272CONFIG_INET_TCP_DIAG=y 287CONFIG_INET_TCP_DIAG=y
273# CONFIG_TCP_CONG_ADVANCED is not set 288# CONFIG_TCP_CONG_ADVANCED is not set
@@ -280,7 +295,10 @@ CONFIG_INET6_ESP=m
280CONFIG_INET6_IPCOMP=m 295CONFIG_INET6_IPCOMP=m
281CONFIG_INET6_XFRM_TUNNEL=m 296CONFIG_INET6_XFRM_TUNNEL=m
282CONFIG_INET6_TUNNEL=m 297CONFIG_INET6_TUNNEL=m
298CONFIG_INET6_XFRM_MODE_TRANSPORT=m
299CONFIG_INET6_XFRM_MODE_TUNNEL=m
283CONFIG_IPV6_TUNNEL=m 300CONFIG_IPV6_TUNNEL=m
301CONFIG_NETWORK_SECMARK=y
284# CONFIG_NETFILTER is not set 302# CONFIG_NETFILTER is not set
285# CONFIG_BRIDGE is not set 303# CONFIG_BRIDGE is not set
286# CONFIG_VLAN_8021Q is not set 304# CONFIG_VLAN_8021Q is not set
@@ -317,6 +335,7 @@ CONFIG_STANDALONE=y
317CONFIG_PREVENT_FIRMWARE_BUILD=y 335CONFIG_PREVENT_FIRMWARE_BUILD=y
318CONFIG_FW_LOADER=m 336CONFIG_FW_LOADER=m
319# CONFIG_DEBUG_DRIVER is not set 337# CONFIG_DEBUG_DRIVER is not set
338# CONFIG_SYS_HYPERVISOR is not set
320 339
321# 340#
322# Connector - unified userspace <-> kernelspace linker 341# Connector - unified userspace <-> kernelspace linker
@@ -411,6 +430,8 @@ CONFIG_DAVICOM_PHY=m
411CONFIG_QSEMI_PHY=m 430CONFIG_QSEMI_PHY=m
412CONFIG_LXT_PHY=m 431CONFIG_LXT_PHY=m
413CONFIG_CICADA_PHY=m 432CONFIG_CICADA_PHY=m
433CONFIG_VITESSE_PHY=m
434CONFIG_SMSC_PHY=m
414 435
415# 436#
416# Ethernet (10 or 100Mbit) 437# Ethernet (10 or 100Mbit)
@@ -452,6 +473,7 @@ CONFIG_TITAN_GE=y
452# CONFIG_CHELSIO_T1 is not set 473# CONFIG_CHELSIO_T1 is not set
453# CONFIG_IXGB is not set 474# CONFIG_IXGB is not set
454# CONFIG_S2IO is not set 475# CONFIG_S2IO is not set
476# CONFIG_MYRI10GE is not set
455 477
456# 478#
457# Token Ring devices 479# Token Ring devices
@@ -529,6 +551,7 @@ CONFIG_LEGACY_PTY_COUNT=256
529# Watchdog Cards 551# Watchdog Cards
530# 552#
531# CONFIG_WATCHDOG is not set 553# CONFIG_WATCHDOG is not set
554# CONFIG_HW_RANDOM is not set
532# CONFIG_RTC is not set 555# CONFIG_RTC is not set
533CONFIG_GEN_RTC=y 556CONFIG_GEN_RTC=y
534CONFIG_GEN_RTC_X=y 557CONFIG_GEN_RTC_X=y
@@ -576,6 +599,7 @@ CONFIG_GEN_RTC_X=y
576# Multimedia devices 599# Multimedia devices
577# 600#
578# CONFIG_VIDEO_DEV is not set 601# CONFIG_VIDEO_DEV is not set
602CONFIG_VIDEO_V4L2=y
579 603
580# 604#
581# Digital Video Broadcasting Devices 605# Digital Video Broadcasting Devices
@@ -585,6 +609,7 @@ CONFIG_GEN_RTC_X=y
585# 609#
586# Graphics support 610# Graphics support
587# 611#
612# CONFIG_FIRMWARE_EDID is not set
588# CONFIG_FB is not set 613# CONFIG_FB is not set
589 614
590# 615#
@@ -641,6 +666,19 @@ CONFIG_USB_ARCH_HAS_EHCI=y
641# 666#
642 667
643# 668#
669# DMA Engine support
670#
671# CONFIG_DMA_ENGINE is not set
672
673#
674# DMA Clients
675#
676
677#
678# DMA Devices
679#
680
681#
644# File systems 682# File systems
645# 683#
646# CONFIG_EXT2_FS is not set 684# CONFIG_EXT2_FS is not set
@@ -652,6 +690,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
652# CONFIG_MINIX_FS is not set 690# CONFIG_MINIX_FS is not set
653# CONFIG_ROMFS_FS is not set 691# CONFIG_ROMFS_FS is not set
654CONFIG_INOTIFY=y 692CONFIG_INOTIFY=y
693CONFIG_INOTIFY_USER=y
655# CONFIG_QUOTA is not set 694# CONFIG_QUOTA is not set
656CONFIG_DNOTIFY=y 695CONFIG_DNOTIFY=y
657# CONFIG_AUTOFS_FS is not set 696# CONFIG_AUTOFS_FS is not set
@@ -704,6 +743,7 @@ CONFIG_NFS_COMMON=y
704CONFIG_SUNRPC=y 743CONFIG_SUNRPC=y
705# CONFIG_SMB_FS is not set 744# CONFIG_SMB_FS is not set
706# CONFIG_CIFS is not set 745# CONFIG_CIFS is not set
746# CONFIG_CIFS_DEBUG2 is not set
707# CONFIG_NCP_FS is not set 747# CONFIG_NCP_FS is not set
708# CONFIG_CODA_FS is not set 748# CONFIG_CODA_FS is not set
709 749
@@ -723,14 +763,19 @@ CONFIG_MSDOS_PARTITION=y
723# 763#
724# CONFIG_PRINTK_TIME is not set 764# CONFIG_PRINTK_TIME is not set
725# CONFIG_MAGIC_SYSRQ is not set 765# CONFIG_MAGIC_SYSRQ is not set
766# CONFIG_UNUSED_SYMBOLS is not set
726CONFIG_DEBUG_KERNEL=y 767CONFIG_DEBUG_KERNEL=y
727CONFIG_LOG_BUF_SHIFT=14 768CONFIG_LOG_BUF_SHIFT=14
728CONFIG_DETECT_SOFTLOCKUP=y 769CONFIG_DETECT_SOFTLOCKUP=y
729# CONFIG_SCHEDSTATS is not set 770# CONFIG_SCHEDSTATS is not set
730# CONFIG_DEBUG_SLAB is not set 771# CONFIG_DEBUG_SLAB is not set
731CONFIG_DEBUG_MUTEXES=y 772# CONFIG_DEBUG_RT_MUTEXES is not set
773# CONFIG_RT_MUTEX_TESTER is not set
732# CONFIG_DEBUG_SPINLOCK is not set 774# CONFIG_DEBUG_SPINLOCK is not set
775CONFIG_DEBUG_MUTEXES=y
776# CONFIG_DEBUG_RWSEMS is not set
733# CONFIG_DEBUG_SPINLOCK_SLEEP is not set 777# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
778# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
734# CONFIG_DEBUG_KOBJECT is not set 779# CONFIG_DEBUG_KOBJECT is not set
735# CONFIG_DEBUG_HIGHMEM is not set 780# CONFIG_DEBUG_HIGHMEM is not set
736# CONFIG_DEBUG_INFO is not set 781# CONFIG_DEBUG_INFO is not set
@@ -793,3 +838,4 @@ CONFIG_CRC32=m
793CONFIG_LIBCRC32C=m 838CONFIG_LIBCRC32C=m
794CONFIG_ZLIB_INFLATE=m 839CONFIG_ZLIB_INFLATE=m
795CONFIG_ZLIB_DEFLATE=m 840CONFIG_ZLIB_DEFLATE=m
841CONFIG_PLIST=y
diff --git a/arch/mips/ddb5xxx/ddb5477/irq.c b/arch/mips/ddb5xxx/ddb5477/irq.c
index 22fb94b7c440..513fc6722d84 100644
--- a/arch/mips/ddb5xxx/ddb5477/irq.c
+++ b/arch/mips/ddb5xxx/ddb5477/irq.c
@@ -74,7 +74,6 @@ set_pci_int_attr(u32 pci, u32 intn, u32 active, u32 trigger)
74 74
75extern void vrc5477_irq_init(u32 base); 75extern void vrc5477_irq_init(u32 base);
76extern void mips_cpu_irq_init(u32 base); 76extern void mips_cpu_irq_init(u32 base);
77extern int setup_irq(unsigned int irq, struct irqaction *irqaction);
78static struct irqaction irq_cascade = { no_action, 0, CPU_MASK_NONE, "cascade", NULL, NULL }; 77static struct irqaction irq_cascade = { no_action, 0, CPU_MASK_NONE, "cascade", NULL, NULL };
79 78
80void __init arch_init_irq(void) 79void __init arch_init_irq(void)
diff --git a/arch/mips/ddb5xxx/ddb5477/irq_5477.c b/arch/mips/ddb5xxx/ddb5477/irq_5477.c
index 63c3d6534b3a..ba52705a2738 100644
--- a/arch/mips/ddb5xxx/ddb5477/irq_5477.c
+++ b/arch/mips/ddb5xxx/ddb5477/irq_5477.c
@@ -89,7 +89,7 @@ vrc5477_irq_end(unsigned int irq)
89 ll_vrc5477_irq_enable( irq - vrc5477_irq_base); 89 ll_vrc5477_irq_enable( irq - vrc5477_irq_base);
90} 90}
91 91
92hw_irq_controller vrc5477_irq_controller = { 92struct irq_chip vrc5477_irq_controller = {
93 .typename = "vrc5477_irq", 93 .typename = "vrc5477_irq",
94 .startup = vrc5477_irq_startup, 94 .startup = vrc5477_irq_startup,
95 .shutdown = vrc5477_irq_shutdown, 95 .shutdown = vrc5477_irq_shutdown,
diff --git a/arch/mips/ddb5xxx/ddb5477/setup.c b/arch/mips/ddb5xxx/ddb5477/setup.c
index 47ba0b6f210f..f0cc0e8a8afa 100644
--- a/arch/mips/ddb5xxx/ddb5477/setup.c
+++ b/arch/mips/ddb5xxx/ddb5477/setup.c
@@ -19,6 +19,7 @@
19#include <linux/sched.h> 19#include <linux/sched.h>
20#include <linux/pci.h> 20#include <linux/pci.h>
21#include <linux/ide.h> 21#include <linux/ide.h>
22#include <linux/irq.h>
22#include <linux/fs.h> 23#include <linux/fs.h>
23#include <linux/ioport.h> 24#include <linux/ioport.h>
24#include <linux/param.h> /* for HZ */ 25#include <linux/param.h> /* for HZ */
@@ -146,9 +147,7 @@ static void __init ddb_time_init(void)
146 mips_hpt_frequency = bus_frequency*(i+4)/4; 147 mips_hpt_frequency = bus_frequency*(i+4)/4;
147} 148}
148 149
149extern int setup_irq(unsigned int irq, struct irqaction *irqaction); 150void __init plat_timer_setup(struct irqaction *irq)
150
151static void __init ddb_timer_setup(struct irqaction *irq)
152{ 151{
153#if defined(USE_CPU_COUNTER_TIMER) 152#if defined(USE_CPU_COUNTER_TIMER)
154 153
@@ -178,7 +177,6 @@ void __init plat_mem_setup(void)
178 set_io_port_base(KSEG1ADDR(DDB_PCI_IO_BASE)); 177 set_io_port_base(KSEG1ADDR(DDB_PCI_IO_BASE));
179 178
180 board_time_init = ddb_time_init; 179 board_time_init = ddb_time_init;
181 board_timer_setup = ddb_timer_setup;
182 180
183 _machine_restart = ddb_machine_restart; 181 _machine_restart = ddb_machine_restart;
184 _machine_halt = ddb_machine_halt; 182 _machine_halt = ddb_machine_halt;
diff --git a/arch/mips/dec/ioasic-irq.c b/arch/mips/dec/ioasic-irq.c
index da2dbb42f913..41cd2a96148b 100644
--- a/arch/mips/dec/ioasic-irq.c
+++ b/arch/mips/dec/ioasic-irq.c
@@ -93,7 +93,7 @@ static inline void end_ioasic_irq(unsigned int irq)
93 enable_ioasic_irq(irq); 93 enable_ioasic_irq(irq);
94} 94}
95 95
96static struct hw_interrupt_type ioasic_irq_type = { 96static struct irq_chip ioasic_irq_type = {
97 .typename = "IO-ASIC", 97 .typename = "IO-ASIC",
98 .startup = startup_ioasic_irq, 98 .startup = startup_ioasic_irq,
99 .shutdown = shutdown_ioasic_irq, 99 .shutdown = shutdown_ioasic_irq,
@@ -121,7 +121,7 @@ static inline void end_ioasic_dma_irq(unsigned int irq)
121 end_ioasic_irq(irq); 121 end_ioasic_irq(irq);
122} 122}
123 123
124static struct hw_interrupt_type ioasic_dma_irq_type = { 124static struct irq_chip ioasic_dma_irq_type = {
125 .typename = "IO-ASIC-DMA", 125 .typename = "IO-ASIC-DMA",
126 .startup = startup_ioasic_dma_irq, 126 .startup = startup_ioasic_dma_irq,
127 .shutdown = shutdown_ioasic_dma_irq, 127 .shutdown = shutdown_ioasic_dma_irq,
diff --git a/arch/mips/dec/kn02-irq.c b/arch/mips/dec/kn02-irq.c
index d44c00d9e80f..04a367a60a57 100644
--- a/arch/mips/dec/kn02-irq.c
+++ b/arch/mips/dec/kn02-irq.c
@@ -94,7 +94,7 @@ static void end_kn02_irq(unsigned int irq)
94 enable_kn02_irq(irq); 94 enable_kn02_irq(irq);
95} 95}
96 96
97static struct hw_interrupt_type kn02_irq_type = { 97static struct irq_chip kn02_irq_type = {
98 .typename = "KN02-CSR", 98 .typename = "KN02-CSR",
99 .startup = startup_kn02_irq, 99 .startup = startup_kn02_irq,
100 .shutdown = shutdown_kn02_irq, 100 .shutdown = shutdown_kn02_irq,
diff --git a/arch/mips/dec/setup.c b/arch/mips/dec/setup.c
index 2684f121784b..d43241c2f541 100644
--- a/arch/mips/dec/setup.c
+++ b/arch/mips/dec/setup.c
@@ -145,13 +145,11 @@ static void __init dec_be_init(void)
145 145
146 146
147extern void dec_time_init(void); 147extern void dec_time_init(void);
148extern void dec_timer_setup(struct irqaction *);
149 148
150void __init plat_mem_setup(void) 149void __init plat_mem_setup(void)
151{ 150{
152 board_be_init = dec_be_init; 151 board_be_init = dec_be_init;
153 board_time_init = dec_time_init; 152 board_time_init = dec_time_init;
154 board_timer_setup = dec_timer_setup;
155 153
156 wbflush_setup(); 154 wbflush_setup();
157 155
diff --git a/arch/mips/dec/time.c b/arch/mips/dec/time.c
index 76e4d09ff4d2..57294740c2dd 100644
--- a/arch/mips/dec/time.c
+++ b/arch/mips/dec/time.c
@@ -186,7 +186,7 @@ void __init dec_time_init(void)
186 186
187EXPORT_SYMBOL(do_settimeofday); 187EXPORT_SYMBOL(do_settimeofday);
188 188
189void __init dec_timer_setup(struct irqaction *irq) 189void __init plat_timer_setup(struct irqaction *irq)
190{ 190{
191 setup_irq(dec_interrupt[DEC_IRQ_RTC], irq); 191 setup_irq(dec_interrupt[DEC_IRQ_RTC], irq);
192 192
diff --git a/arch/mips/defconfig b/arch/mips/defconfig
index 879ba1ad99ca..fff6fcc96212 100644
--- a/arch/mips/defconfig
+++ b/arch/mips/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.17-rc2 3# Linux kernel version: 2.6.18-rc1
4# Mon Apr 24 14:50:54 2006 4# Thu Jul 6 09:49:33 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -21,6 +21,7 @@ CONFIG_MIPS=y
21# CONFIG_MIPS_DB1550 is not set 21# CONFIG_MIPS_DB1550 is not set
22# CONFIG_MIPS_DB1200 is not set 22# CONFIG_MIPS_DB1200 is not set
23# CONFIG_MIPS_MIRAGE is not set 23# CONFIG_MIPS_MIRAGE is not set
24# CONFIG_BASLER_EXCITE is not set
24# CONFIG_MIPS_COBALT is not set 25# CONFIG_MIPS_COBALT is not set
25# CONFIG_MACH_DECSTATION is not set 26# CONFIG_MACH_DECSTATION is not set
26# CONFIG_MIPS_EV64120 is not set 27# CONFIG_MIPS_EV64120 is not set
@@ -32,6 +33,7 @@ CONFIG_MIPS=y
32# CONFIG_MIPS_ATLAS is not set 33# CONFIG_MIPS_ATLAS is not set
33# CONFIG_MIPS_MALTA is not set 34# CONFIG_MIPS_MALTA is not set
34# CONFIG_MIPS_SEAD is not set 35# CONFIG_MIPS_SEAD is not set
36# CONFIG_WR_PPMC is not set
35# CONFIG_MIPS_SIM is not set 37# CONFIG_MIPS_SIM is not set
36# CONFIG_MOMENCO_JAGUAR_ATX is not set 38# CONFIG_MOMENCO_JAGUAR_ATX is not set
37# CONFIG_MOMENCO_OCELOT is not set 39# CONFIG_MOMENCO_OCELOT is not set
@@ -45,6 +47,7 @@ CONFIG_MIPS=y
45# CONFIG_MACH_VR41XX is not set 47# CONFIG_MACH_VR41XX is not set
46# CONFIG_PMC_YOSEMITE is not set 48# CONFIG_PMC_YOSEMITE is not set
47# CONFIG_QEMU is not set 49# CONFIG_QEMU is not set
50# CONFIG_MARKEINS is not set
48CONFIG_SGI_IP22=y 51CONFIG_SGI_IP22=y
49# CONFIG_SGI_IP27 is not set 52# CONFIG_SGI_IP27 is not set
50# CONFIG_SGI_IP32 is not set 53# CONFIG_SGI_IP32 is not set
@@ -65,6 +68,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y
65CONFIG_GENERIC_FIND_NEXT_BIT=y 68CONFIG_GENERIC_FIND_NEXT_BIT=y
66CONFIG_GENERIC_HWEIGHT=y 69CONFIG_GENERIC_HWEIGHT=y
67CONFIG_GENERIC_CALIBRATE_DELAY=y 70CONFIG_GENERIC_CALIBRATE_DELAY=y
71CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
68CONFIG_ARC=y 72CONFIG_ARC=y
69CONFIG_DMA_NONCOHERENT=y 73CONFIG_DMA_NONCOHERENT=y
70CONFIG_DMA_NEED_PCI_MAP_STATE=y 74CONFIG_DMA_NEED_PCI_MAP_STATE=y
@@ -119,7 +123,10 @@ CONFIG_PAGE_SIZE_4KB=y
119# CONFIG_PAGE_SIZE_64KB is not set 123# CONFIG_PAGE_SIZE_64KB is not set
120CONFIG_BOARD_SCACHE=y 124CONFIG_BOARD_SCACHE=y
121CONFIG_IP22_CPU_SCACHE=y 125CONFIG_IP22_CPU_SCACHE=y
122# CONFIG_MIPS_MT is not set 126CONFIG_MIPS_MT_DISABLED=y
127# CONFIG_MIPS_MT_SMTC is not set
128# CONFIG_MIPS_MT_SMP is not set
129# CONFIG_MIPS_VPE_LOADER is not set
123# CONFIG_64BIT_PHYS_ADDR is not set 130# CONFIG_64BIT_PHYS_ADDR is not set
124CONFIG_CPU_HAS_LLSC=y 131CONFIG_CPU_HAS_LLSC=y
125CONFIG_CPU_HAS_SYNC=y 132CONFIG_CPU_HAS_SYNC=y
@@ -134,6 +141,7 @@ CONFIG_FLATMEM=y
134CONFIG_FLAT_NODE_MEM_MAP=y 141CONFIG_FLAT_NODE_MEM_MAP=y
135# CONFIG_SPARSEMEM_STATIC is not set 142# CONFIG_SPARSEMEM_STATIC is not set
136CONFIG_SPLIT_PTLOCK_CPUS=4 143CONFIG_SPLIT_PTLOCK_CPUS=4
144# CONFIG_RESOURCES_64BIT is not set
137# CONFIG_HZ_48 is not set 145# CONFIG_HZ_48 is not set
138# CONFIG_HZ_100 is not set 146# CONFIG_HZ_100 is not set
139# CONFIG_HZ_128 is not set 147# CONFIG_HZ_128 is not set
@@ -146,6 +154,7 @@ CONFIG_HZ=1000
146# CONFIG_PREEMPT_NONE is not set 154# CONFIG_PREEMPT_NONE is not set
147CONFIG_PREEMPT_VOLUNTARY=y 155CONFIG_PREEMPT_VOLUNTARY=y
148# CONFIG_PREEMPT is not set 156# CONFIG_PREEMPT is not set
157CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
149 158
150# 159#
151# Code maturity level options 160# Code maturity level options
@@ -178,10 +187,12 @@ CONFIG_PRINTK=y
178CONFIG_BUG=y 187CONFIG_BUG=y
179CONFIG_ELF_CORE=y 188CONFIG_ELF_CORE=y
180CONFIG_BASE_FULL=y 189CONFIG_BASE_FULL=y
190CONFIG_RT_MUTEXES=y
181CONFIG_FUTEX=y 191CONFIG_FUTEX=y
182CONFIG_EPOLL=y 192CONFIG_EPOLL=y
183CONFIG_SHMEM=y 193CONFIG_SHMEM=y
184CONFIG_SLAB=y 194CONFIG_SLAB=y
195CONFIG_VM_EVENT_COUNTERS=y
185# CONFIG_TINY_SHMEM is not set 196# CONFIG_TINY_SHMEM is not set
186CONFIG_BASE_SMALL=0 197CONFIG_BASE_SMALL=0
187# CONFIG_SLOB is not set 198# CONFIG_SLOB is not set
@@ -272,6 +283,8 @@ CONFIG_INET_ESP=m
272CONFIG_INET_IPCOMP=m 283CONFIG_INET_IPCOMP=m
273CONFIG_INET_XFRM_TUNNEL=m 284CONFIG_INET_XFRM_TUNNEL=m
274CONFIG_INET_TUNNEL=m 285CONFIG_INET_TUNNEL=m
286CONFIG_INET_XFRM_MODE_TRANSPORT=m
287CONFIG_INET_XFRM_MODE_TUNNEL=m
275CONFIG_INET_DIAG=y 288CONFIG_INET_DIAG=y
276CONFIG_INET_TCP_DIAG=y 289CONFIG_INET_TCP_DIAG=y
277# CONFIG_TCP_CONG_ADVANCED is not set 290# CONFIG_TCP_CONG_ADVANCED is not set
@@ -319,7 +332,10 @@ CONFIG_INET6_ESP=m
319CONFIG_INET6_IPCOMP=m 332CONFIG_INET6_IPCOMP=m
320CONFIG_INET6_XFRM_TUNNEL=m 333CONFIG_INET6_XFRM_TUNNEL=m
321CONFIG_INET6_TUNNEL=m 334CONFIG_INET6_TUNNEL=m
335CONFIG_INET6_XFRM_MODE_TRANSPORT=m
336CONFIG_INET6_XFRM_MODE_TUNNEL=m
322CONFIG_IPV6_TUNNEL=m 337CONFIG_IPV6_TUNNEL=m
338CONFIG_NETWORK_SECMARK=y
323CONFIG_NETFILTER=y 339CONFIG_NETFILTER=y
324# CONFIG_NETFILTER_DEBUG is not set 340# CONFIG_NETFILTER_DEBUG is not set
325 341
@@ -335,6 +351,8 @@ CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
335CONFIG_NETFILTER_XT_TARGET_MARK=m 351CONFIG_NETFILTER_XT_TARGET_MARK=m
336CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m 352CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
337CONFIG_NETFILTER_XT_TARGET_NOTRACK=m 353CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
354CONFIG_NETFILTER_XT_TARGET_SECMARK=m
355CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m
338CONFIG_NETFILTER_XT_MATCH_COMMENT=m 356CONFIG_NETFILTER_XT_MATCH_COMMENT=m
339CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m 357CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
340CONFIG_NETFILTER_XT_MATCH_CONNMARK=m 358CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
@@ -349,9 +367,11 @@ CONFIG_NETFILTER_XT_MATCH_MARK=m
349CONFIG_NETFILTER_XT_MATCH_POLICY=m 367CONFIG_NETFILTER_XT_MATCH_POLICY=m
350CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m 368CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
351CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m 369CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
370CONFIG_NETFILTER_XT_MATCH_QUOTA=m
352CONFIG_NETFILTER_XT_MATCH_REALM=m 371CONFIG_NETFILTER_XT_MATCH_REALM=m
353CONFIG_NETFILTER_XT_MATCH_SCTP=m 372CONFIG_NETFILTER_XT_MATCH_SCTP=m
354CONFIG_NETFILTER_XT_MATCH_STATE=m 373CONFIG_NETFILTER_XT_MATCH_STATE=m
374CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
355CONFIG_NETFILTER_XT_MATCH_STRING=m 375CONFIG_NETFILTER_XT_MATCH_STRING=m
356CONFIG_NETFILTER_XT_MATCH_TCPMSS=m 376CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
357 377
@@ -361,6 +381,7 @@ CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
361CONFIG_IP_NF_CONNTRACK=m 381CONFIG_IP_NF_CONNTRACK=m
362CONFIG_IP_NF_CT_ACCT=y 382CONFIG_IP_NF_CT_ACCT=y
363CONFIG_IP_NF_CONNTRACK_MARK=y 383CONFIG_IP_NF_CONNTRACK_MARK=y
384CONFIG_IP_NF_CONNTRACK_SECMARK=y
364CONFIG_IP_NF_CONNTRACK_EVENTS=y 385CONFIG_IP_NF_CONNTRACK_EVENTS=y
365CONFIG_IP_NF_CONNTRACK_NETLINK=m 386CONFIG_IP_NF_CONNTRACK_NETLINK=m
366# CONFIG_IP_NF_CT_PROTO_SCTP is not set 387# CONFIG_IP_NF_CT_PROTO_SCTP is not set
@@ -371,6 +392,7 @@ CONFIG_IP_NF_TFTP=m
371CONFIG_IP_NF_AMANDA=m 392CONFIG_IP_NF_AMANDA=m
372CONFIG_IP_NF_PPTP=m 393CONFIG_IP_NF_PPTP=m
373CONFIG_IP_NF_H323=m 394CONFIG_IP_NF_H323=m
395CONFIG_IP_NF_SIP=m
374CONFIG_IP_NF_QUEUE=m 396CONFIG_IP_NF_QUEUE=m
375CONFIG_IP_NF_IPTABLES=m 397CONFIG_IP_NF_IPTABLES=m
376CONFIG_IP_NF_MATCH_IPRANGE=m 398CONFIG_IP_NF_MATCH_IPRANGE=m
@@ -401,6 +423,7 @@ CONFIG_IP_NF_NAT_TFTP=m
401CONFIG_IP_NF_NAT_AMANDA=m 423CONFIG_IP_NF_NAT_AMANDA=m
402CONFIG_IP_NF_NAT_PPTP=m 424CONFIG_IP_NF_NAT_PPTP=m
403CONFIG_IP_NF_NAT_H323=m 425CONFIG_IP_NF_NAT_H323=m
426CONFIG_IP_NF_NAT_SIP=m
404CONFIG_IP_NF_MANGLE=m 427CONFIG_IP_NF_MANGLE=m
405CONFIG_IP_NF_TARGET_TOS=m 428CONFIG_IP_NF_TARGET_TOS=m
406CONFIG_IP_NF_TARGET_ECN=m 429CONFIG_IP_NF_TARGET_ECN=m
@@ -533,6 +556,7 @@ CONFIG_WIRELESS_EXT=y
533CONFIG_STANDALONE=y 556CONFIG_STANDALONE=y
534CONFIG_PREVENT_FIRMWARE_BUILD=y 557CONFIG_PREVENT_FIRMWARE_BUILD=y
535# CONFIG_FW_LOADER is not set 558# CONFIG_FW_LOADER is not set
559# CONFIG_SYS_HYPERVISOR is not set
536 560
537# 561#
538# Connector - unified userspace <-> kernelspace linker 562# Connector - unified userspace <-> kernelspace linker
@@ -652,6 +676,8 @@ CONFIG_DAVICOM_PHY=m
652CONFIG_QSEMI_PHY=m 676CONFIG_QSEMI_PHY=m
653CONFIG_LXT_PHY=m 677CONFIG_LXT_PHY=m
654CONFIG_CICADA_PHY=m 678CONFIG_CICADA_PHY=m
679# CONFIG_VITESSE_PHY is not set
680# CONFIG_SMSC_PHY is not set
655 681
656# 682#
657# Ethernet (10 or 100Mbit) 683# Ethernet (10 or 100Mbit)
@@ -749,6 +775,7 @@ CONFIG_SERIO_RAW=m
749CONFIG_VT=y 775CONFIG_VT=y
750CONFIG_VT_CONSOLE=y 776CONFIG_VT_CONSOLE=y
751CONFIG_HW_CONSOLE=y 777CONFIG_HW_CONSOLE=y
778CONFIG_VT_HW_CONSOLE_BINDING=y
752# CONFIG_SERIAL_NONSTANDARD is not set 779# CONFIG_SERIAL_NONSTANDARD is not set
753 780
754# 781#
@@ -781,6 +808,7 @@ CONFIG_WATCHDOG=y
781# 808#
782# CONFIG_SOFT_WATCHDOG is not set 809# CONFIG_SOFT_WATCHDOG is not set
783CONFIG_INDYDOG=m 810CONFIG_INDYDOG=m
811# CONFIG_HW_RANDOM is not set
784# CONFIG_RTC is not set 812# CONFIG_RTC is not set
785CONFIG_SGI_DS1286=m 813CONFIG_SGI_DS1286=m
786# CONFIG_GEN_RTC is not set 814# CONFIG_GEN_RTC is not set
@@ -829,6 +857,7 @@ CONFIG_MAX_RAW_DEVS=256
829# Multimedia devices 857# Multimedia devices
830# 858#
831# CONFIG_VIDEO_DEV is not set 859# CONFIG_VIDEO_DEV is not set
860CONFIG_VIDEO_V4L2=y
832 861
833# 862#
834# Digital Video Broadcasting Devices 863# Digital Video Broadcasting Devices
@@ -838,6 +867,7 @@ CONFIG_MAX_RAW_DEVS=256
838# 867#
839# Graphics support 868# Graphics support
840# 869#
870CONFIG_FIRMWARE_EDID=y
841# CONFIG_FB is not set 871# CONFIG_FB is not set
842 872
843# 873#
@@ -910,6 +940,19 @@ CONFIG_LOGO_SGI_CLUT224=y
910# CONFIG_RTC_CLASS is not set 940# CONFIG_RTC_CLASS is not set
911 941
912# 942#
943# DMA Engine support
944#
945# CONFIG_DMA_ENGINE is not set
946
947#
948# DMA Clients
949#
950
951#
952# DMA Devices
953#
954
955#
913# File systems 956# File systems
914# 957#
915CONFIG_EXT2_FS=m 958CONFIG_EXT2_FS=m
@@ -926,7 +969,6 @@ CONFIG_FS_MBCACHE=y
926# CONFIG_JFS_FS is not set 969# CONFIG_JFS_FS is not set
927CONFIG_FS_POSIX_ACL=y 970CONFIG_FS_POSIX_ACL=y
928CONFIG_XFS_FS=m 971CONFIG_XFS_FS=m
929CONFIG_XFS_EXPORT=y
930CONFIG_XFS_QUOTA=y 972CONFIG_XFS_QUOTA=y
931CONFIG_XFS_SECURITY=y 973CONFIG_XFS_SECURITY=y
932# CONFIG_XFS_POSIX_ACL is not set 974# CONFIG_XFS_POSIX_ACL is not set
@@ -935,6 +977,7 @@ CONFIG_XFS_SECURITY=y
935CONFIG_MINIX_FS=m 977CONFIG_MINIX_FS=m
936# CONFIG_ROMFS_FS is not set 978# CONFIG_ROMFS_FS is not set
937CONFIG_INOTIFY=y 979CONFIG_INOTIFY=y
980CONFIG_INOTIFY_USER=y
938CONFIG_QUOTA=y 981CONFIG_QUOTA=y
939# CONFIG_QFMT_V1 is not set 982# CONFIG_QFMT_V1 is not set
940CONFIG_QFMT_V2=m 983CONFIG_QFMT_V2=m
@@ -991,6 +1034,8 @@ CONFIG_EFS_FS=m
991# CONFIG_QNX4FS_FS is not set 1034# CONFIG_QNX4FS_FS is not set
992# CONFIG_SYSV_FS is not set 1035# CONFIG_SYSV_FS is not set
993CONFIG_UFS_FS=m 1036CONFIG_UFS_FS=m
1037# CONFIG_UFS_FS_WRITE is not set
1038# CONFIG_UFS_DEBUG is not set
994 1039
995# 1040#
996# Network File Systems 1041# Network File Systems
@@ -1020,7 +1065,9 @@ CONFIG_SMB_NLS_DEFAULT=y
1020CONFIG_SMB_NLS_REMOTE="cp437" 1065CONFIG_SMB_NLS_REMOTE="cp437"
1021CONFIG_CIFS=m 1066CONFIG_CIFS=m
1022# CONFIG_CIFS_STATS is not set 1067# CONFIG_CIFS_STATS is not set
1068# CONFIG_CIFS_WEAK_PW_HASH is not set
1023# CONFIG_CIFS_XATTR is not set 1069# CONFIG_CIFS_XATTR is not set
1070# CONFIG_CIFS_DEBUG2 is not set
1024# CONFIG_CIFS_EXPERIMENTAL is not set 1071# CONFIG_CIFS_EXPERIMENTAL is not set
1025# CONFIG_NCP_FS is not set 1072# CONFIG_NCP_FS is not set
1026CONFIG_CODA_FS=m 1073CONFIG_CODA_FS=m
@@ -1103,6 +1150,7 @@ CONFIG_NLS_UTF8=m
1103# 1150#
1104# CONFIG_PRINTK_TIME is not set 1151# CONFIG_PRINTK_TIME is not set
1105# CONFIG_MAGIC_SYSRQ is not set 1152# CONFIG_MAGIC_SYSRQ is not set
1153# CONFIG_UNUSED_SYMBOLS is not set
1106# CONFIG_DEBUG_KERNEL is not set 1154# CONFIG_DEBUG_KERNEL is not set
1107CONFIG_LOG_BUF_SHIFT=14 1155CONFIG_LOG_BUF_SHIFT=14
1108# CONFIG_DEBUG_FS is not set 1156# CONFIG_DEBUG_FS is not set
@@ -1162,3 +1210,4 @@ CONFIG_TEXTSEARCH=y
1162CONFIG_TEXTSEARCH_KMP=m 1210CONFIG_TEXTSEARCH_KMP=m
1163CONFIG_TEXTSEARCH_BM=m 1211CONFIG_TEXTSEARCH_BM=m
1164CONFIG_TEXTSEARCH_FSM=m 1212CONFIG_TEXTSEARCH_FSM=m
1213CONFIG_PLIST=y
diff --git a/arch/mips/emma2rh/common/irq.c b/arch/mips/emma2rh/common/irq.c
index b075281e50e9..3af57693c84c 100644
--- a/arch/mips/emma2rh/common/irq.c
+++ b/arch/mips/emma2rh/common/irq.c
@@ -22,7 +22,6 @@
22 * along with this program; if not, write to the Free Software 22 * along with this program; if not, write to the Free Software
23 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 23 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
24 */ 24 */
25#include <linux/config.h>
26#include <linux/init.h> 25#include <linux/init.h>
27#include <linux/interrupt.h> 26#include <linux/interrupt.h>
28#include <linux/irq.h> 27#include <linux/irq.h>
diff --git a/arch/mips/emma2rh/common/irq_emma2rh.c b/arch/mips/emma2rh/common/irq_emma2rh.c
index b886aa94ca90..7c930860c921 100644
--- a/arch/mips/emma2rh/common/irq_emma2rh.c
+++ b/arch/mips/emma2rh/common/irq_emma2rh.c
@@ -78,7 +78,7 @@ static void emma2rh_irq_end(unsigned int irq)
78 ll_emma2rh_irq_enable(irq - emma2rh_irq_base); 78 ll_emma2rh_irq_enable(irq - emma2rh_irq_base);
79} 79}
80 80
81hw_irq_controller emma2rh_irq_controller = { 81struct irq_chip emma2rh_irq_controller = {
82 .typename = "emma2rh_irq", 82 .typename = "emma2rh_irq",
83 .startup = emma2rh_irq_startup, 83 .startup = emma2rh_irq_startup,
84 .shutdown = emma2rh_irq_shutdown, 84 .shutdown = emma2rh_irq_shutdown,
diff --git a/arch/mips/emma2rh/common/prom.c b/arch/mips/emma2rh/common/prom.c
index 8bba0b02a204..7433bd8e5562 100644
--- a/arch/mips/emma2rh/common/prom.c
+++ b/arch/mips/emma2rh/common/prom.c
@@ -22,7 +22,6 @@
22 * along with this program; if not, write to the Free Software 22 * along with this program; if not, write to the Free Software
23 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 23 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
24 */ 24 */
25#include <linux/config.h>
26#include <linux/init.h> 25#include <linux/init.h>
27#include <linux/mm.h> 26#include <linux/mm.h>
28#include <linux/sched.h> 27#include <linux/sched.h>
diff --git a/arch/mips/emma2rh/markeins/irq.c b/arch/mips/emma2rh/markeins/irq.c
index 76dc3faeaf4e..2a736be42c8c 100644
--- a/arch/mips/emma2rh/markeins/irq.c
+++ b/arch/mips/emma2rh/markeins/irq.c
@@ -22,7 +22,6 @@
22 * along with this program; if not, write to the Free Software 22 * along with this program; if not, write to the Free Software
23 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 23 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
24 */ 24 */
25#include <linux/config.h>
26#include <linux/init.h> 25#include <linux/init.h>
27#include <linux/interrupt.h> 26#include <linux/interrupt.h>
28#include <linux/irq.h> 27#include <linux/irq.h>
diff --git a/arch/mips/emma2rh/markeins/irq_markeins.c b/arch/mips/emma2rh/markeins/irq_markeins.c
index 1783fdab6459..f23ae9fcffa0 100644
--- a/arch/mips/emma2rh/markeins/irq_markeins.c
+++ b/arch/mips/emma2rh/markeins/irq_markeins.c
@@ -67,7 +67,7 @@ static void emma2rh_sw_irq_end(unsigned int irq)
67 ll_emma2rh_sw_irq_enable(irq - emma2rh_sw_irq_base); 67 ll_emma2rh_sw_irq_enable(irq - emma2rh_sw_irq_base);
68} 68}
69 69
70hw_irq_controller emma2rh_sw_irq_controller = { 70struct irq_chip emma2rh_sw_irq_controller = {
71 .typename = "emma2rh_sw_irq", 71 .typename = "emma2rh_sw_irq",
72 .startup = emma2rh_sw_irq_startup, 72 .startup = emma2rh_sw_irq_startup,
73 .shutdown = emma2rh_sw_irq_shutdown, 73 .shutdown = emma2rh_sw_irq_shutdown,
@@ -147,7 +147,7 @@ static void emma2rh_gpio_irq_end(unsigned int irq)
147 ll_emma2rh_gpio_irq_enable(irq - emma2rh_gpio_irq_base); 147 ll_emma2rh_gpio_irq_enable(irq - emma2rh_gpio_irq_base);
148} 148}
149 149
150hw_irq_controller emma2rh_gpio_irq_controller = { 150struct irq_chip emma2rh_gpio_irq_controller = {
151 .typename = "emma2rh_gpio_irq", 151 .typename = "emma2rh_gpio_irq",
152 .startup = emma2rh_gpio_irq_startup, 152 .startup = emma2rh_gpio_irq_startup,
153 .shutdown = emma2rh_gpio_irq_shutdown, 153 .shutdown = emma2rh_gpio_irq_shutdown,
diff --git a/arch/mips/emma2rh/markeins/platform.c b/arch/mips/emma2rh/markeins/platform.c
index 6c1eeae1a898..15cc61df3622 100644
--- a/arch/mips/emma2rh/markeins/platform.c
+++ b/arch/mips/emma2rh/markeins/platform.c
@@ -20,7 +20,6 @@
20 * along with this program; if not, write to the Free Software 20 * along with this program; if not, write to the Free Software
21 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 21 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
22 */ 22 */
23#include <linux/config.h>
24#include <linux/init.h> 23#include <linux/init.h>
25#include <linux/kernel.h> 24#include <linux/kernel.h>
26#include <linux/types.h> 25#include <linux/types.h>
diff --git a/arch/mips/emma2rh/markeins/setup.c b/arch/mips/emma2rh/markeins/setup.c
index 7d98fdbf8390..b29a44739230 100644
--- a/arch/mips/emma2rh/markeins/setup.c
+++ b/arch/mips/emma2rh/markeins/setup.c
@@ -22,7 +22,6 @@
22 * along with this program; if not, write to the Free Software 22 * along with this program; if not, write to the Free Software
23 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 23 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
24 */ 24 */
25#include <linux/config.h>
26#include <linux/init.h> 25#include <linux/init.h>
27#include <linux/kernel.h> 26#include <linux/kernel.h>
28#include <linux/types.h> 27#include <linux/types.h>
@@ -105,7 +104,7 @@ static void __init emma2rh_time_init(void)
105 mips_hpt_frequency = (bus_frequency * (4 + reg)) / 4 / 2; 104 mips_hpt_frequency = (bus_frequency * (4 + reg)) / 4 / 2;
106} 105}
107 106
108static void __init emma2rh_timer_setup(struct irqaction *irq) 107void __init plat_timer_setup(struct irqaction *irq)
109{ 108{
110 /* we are using the cpu counter for timer interrupts */ 109 /* we are using the cpu counter for timer interrupts */
111 setup_irq(CPU_IRQ_BASE + 7, irq); 110 setup_irq(CPU_IRQ_BASE + 7, irq);
@@ -150,7 +149,6 @@ void __init plat_mem_setup(void)
150 set_io_port_base(KSEG1ADDR(EMMA2RH_PCI_IO_BASE)); 149 set_io_port_base(KSEG1ADDR(EMMA2RH_PCI_IO_BASE));
151 150
152 board_time_init = emma2rh_time_init; 151 board_time_init = emma2rh_time_init;
153 board_timer_setup = emma2rh_timer_setup;
154 152
155 _machine_restart = markeins_machine_restart; 153 _machine_restart = markeins_machine_restart;
156 _machine_halt = markeins_machine_halt; 154 _machine_halt = markeins_machine_halt;
diff --git a/arch/mips/gt64120/ev64120/irq.c b/arch/mips/gt64120/ev64120/irq.c
index f489a8067a93..5d939ac58f3f 100644
--- a/arch/mips/gt64120/ev64120/irq.c
+++ b/arch/mips/gt64120/ev64120/irq.c
@@ -104,7 +104,7 @@ static void end_ev64120_irq(unsigned int irq)
104 enable_ev64120_irq(irq); 104 enable_ev64120_irq(irq);
105} 105}
106 106
107static struct hw_interrupt_type ev64120_irq_type = { 107static struct irq_chip ev64120_irq_type = {
108 .typename = "EV64120", 108 .typename = "EV64120",
109 .startup = startup_ev64120_irq, 109 .startup = startup_ev64120_irq,
110 .shutdown = shutdown_ev64120_irq, 110 .shutdown = shutdown_ev64120_irq,
@@ -138,7 +138,7 @@ void __init arch_init_irq(void)
138 /* Let's initialize our IRQ descriptors */ 138 /* Let's initialize our IRQ descriptors */
139 for (i = 0; i < NR_IRQS; i++) { 139 for (i = 0; i < NR_IRQS; i++) {
140 irq_desc[i].status = 0; 140 irq_desc[i].status = 0;
141 irq_desc[i].chip = &no_irq_type; 141 irq_desc[i].chip = &no_irq_chip;
142 irq_desc[i].action = NULL; 142 irq_desc[i].action = NULL;
143 irq_desc[i].depth = 0; 143 irq_desc[i].depth = 0;
144 spin_lock_init(&irq_desc[i].lock); 144 spin_lock_init(&irq_desc[i].lock);
diff --git a/arch/mips/gt64120/wrppmc/setup.c b/arch/mips/gt64120/wrppmc/setup.c
index 2db6375ef29e..429afc400cb4 100644
--- a/arch/mips/gt64120/wrppmc/setup.c
+++ b/arch/mips/gt64120/wrppmc/setup.c
@@ -8,7 +8,6 @@
8 * Copyright (C) 1996, 1997, 2004 by Ralf Baechle (ralf@linux-mips.org) 8 * Copyright (C) 1996, 1997, 2004 by Ralf Baechle (ralf@linux-mips.org)
9 * Copyright (C) 2006, Wind River System Inc. Rongkai.zhan <rongkai.zhan@windriver.com> 9 * Copyright (C) 2006, Wind River System Inc. Rongkai.zhan <rongkai.zhan@windriver.com>
10 */ 10 */
11#include <linux/config.h>
12#include <linux/init.h> 11#include <linux/init.h>
13#include <linux/string.h> 12#include <linux/string.h>
14#include <linux/kernel.h> 13#include <linux/kernel.h>
@@ -128,7 +127,6 @@ static void wrppmc_setup_serial(void)
128void __init plat_mem_setup(void) 127void __init plat_mem_setup(void)
129{ 128{
130 extern void wrppmc_time_init(void); 129 extern void wrppmc_time_init(void);
131 extern void wrppmc_timer_setup(struct irqaction *);
132 extern void wrppmc_machine_restart(char *command); 130 extern void wrppmc_machine_restart(char *command);
133 extern void wrppmc_machine_halt(void); 131 extern void wrppmc_machine_halt(void);
134 extern void wrppmc_machine_power_off(void); 132 extern void wrppmc_machine_power_off(void);
@@ -139,7 +137,6 @@ void __init plat_mem_setup(void)
139 137
140 /* Use MIPS Count/Compare Timer */ 138 /* Use MIPS Count/Compare Timer */
141 board_time_init = wrppmc_time_init; 139 board_time_init = wrppmc_time_init;
142 board_timer_setup = wrppmc_timer_setup;
143 140
144 /* This makes the operations of 'in/out[bwl]' to the 141 /* This makes the operations of 'in/out[bwl]' to the
145 * physical address ( < KSEG0) can work via KSEG1 142 * physical address ( < KSEG0) can work via KSEG1
diff --git a/arch/mips/gt64120/wrppmc/time.c b/arch/mips/gt64120/wrppmc/time.c
index 6c24a82df0dd..5b440859bcee 100644
--- a/arch/mips/gt64120/wrppmc/time.c
+++ b/arch/mips/gt64120/wrppmc/time.c
@@ -10,7 +10,6 @@
10 * Copyright (C) 1996, 1997, 2004 by Ralf Baechle (ralf@linux-mips.org) 10 * Copyright (C) 1996, 1997, 2004 by Ralf Baechle (ralf@linux-mips.org)
11 * Copyright (C) 2006, Wind River System Inc. 11 * Copyright (C) 2006, Wind River System Inc.
12 */ 12 */
13#include <linux/config.h>
14#include <linux/init.h> 13#include <linux/init.h>
15#include <linux/string.h> 14#include <linux/string.h>
16#include <linux/kernel.h> 15#include <linux/kernel.h>
@@ -27,7 +26,7 @@
27 26
28#define WRPPMC_CPU_CLK_FREQ 40000000 /* 40MHZ */ 27#define WRPPMC_CPU_CLK_FREQ 40000000 /* 40MHZ */
29 28
30void __init wrppmc_timer_setup(struct irqaction *irq) 29void __init plat_timer_setup(struct irqaction *irq)
31{ 30{
32 /* Install ISR for timer interrupt */ 31 /* Install ISR for timer interrupt */
33 setup_irq(WRPPMC_MIPS_TIMER_IRQ, irq); 32 setup_irq(WRPPMC_MIPS_TIMER_IRQ, irq);
diff --git a/arch/mips/ite-boards/generic/irq.c b/arch/mips/ite-boards/generic/irq.c
index a6749c56fe38..cb59ca4f76f0 100644
--- a/arch/mips/ite-boards/generic/irq.c
+++ b/arch/mips/ite-boards/generic/irq.c
@@ -133,7 +133,7 @@ static void end_ite_irq(unsigned int irq)
133 enable_it8172_irq(irq); 133 enable_it8172_irq(irq);
134} 134}
135 135
136static struct hw_interrupt_type it8172_irq_type = { 136static struct irq_chip it8172_irq_type = {
137 .typename = "ITE8172", 137 .typename = "ITE8172",
138 .startup = startup_ite_irq, 138 .startup = startup_ite_irq,
139 .shutdown = shutdown_ite_irq, 139 .shutdown = shutdown_ite_irq,
@@ -153,7 +153,7 @@ static void ack_none(unsigned int irq) { }
153#define shutdown_none disable_none 153#define shutdown_none disable_none
154#define end_none enable_none 154#define end_none enable_none
155 155
156static struct hw_interrupt_type cp0_irq_type = { 156static struct irq_chip cp0_irq_type = {
157 .typename = "CP0 Count", 157 .typename = "CP0 Count",
158 .startup = startup_none, 158 .startup = startup_none,
159 .shutdown = shutdown_none, 159 .shutdown = shutdown_none,
diff --git a/arch/mips/ite-boards/generic/it8172_setup.c b/arch/mips/ite-boards/generic/it8172_setup.c
index a4615a5904aa..07faf3cacff2 100644
--- a/arch/mips/ite-boards/generic/it8172_setup.c
+++ b/arch/mips/ite-boards/generic/it8172_setup.c
@@ -29,6 +29,7 @@
29#include <linux/init.h> 29#include <linux/init.h>
30#include <linux/sched.h> 30#include <linux/sched.h>
31#include <linux/ioport.h> 31#include <linux/ioport.h>
32#include <linux/irq.h>
32#include <linux/serial_reg.h> 33#include <linux/serial_reg.h>
33#include <linux/major.h> 34#include <linux/major.h>
34#include <linux/kdev_t.h> 35#include <linux/kdev_t.h>
@@ -58,10 +59,7 @@ extern void it8172_restart(char *command);
58extern void it8172_halt(void); 59extern void it8172_halt(void);
59extern void it8172_power_off(void); 60extern void it8172_power_off(void);
60 61
61extern void (*board_time_init)(void);
62extern void (*board_timer_setup)(struct irqaction *irq);
63extern void it8172_time_init(void); 62extern void it8172_time_init(void);
64extern void it8172_timer_setup(struct irqaction *irq);
65 63
66#ifdef CONFIG_IT8172_REVC 64#ifdef CONFIG_IT8172_REVC
67struct { 65struct {
@@ -169,7 +167,6 @@ void __init plat_mem_setup(void)
169 clear_c0_status(ST0_FR); 167 clear_c0_status(ST0_FR);
170 168
171 board_time_init = it8172_time_init; 169 board_time_init = it8172_time_init;
172 board_timer_setup = it8172_timer_setup;
173 170
174 _machine_restart = it8172_restart; 171 _machine_restart = it8172_restart;
175 _machine_halt = it8172_halt; 172 _machine_halt = it8172_halt;
diff --git a/arch/mips/ite-boards/generic/time.c b/arch/mips/ite-boards/generic/time.c
index dee497a91807..3dc55569ff7f 100644
--- a/arch/mips/ite-boards/generic/time.c
+++ b/arch/mips/ite-boards/generic/time.c
@@ -233,7 +233,8 @@ void __init it8172_time_init(void)
233} 233}
234 234
235#define ALLINTS (IE_IRQ0 | IE_IRQ1 | IE_IRQ2 | IE_IRQ3 | IE_IRQ4 | IE_IRQ5) 235#define ALLINTS (IE_IRQ0 | IE_IRQ1 | IE_IRQ2 | IE_IRQ3 | IE_IRQ4 | IE_IRQ5)
236void __init it8172_timer_setup(struct irqaction *irq) 236
237void __init plat_timer_setup(struct irqaction *irq)
237{ 238{
238 puts("timer_setup\n"); 239 puts("timer_setup\n");
239 put32(NR_IRQS); 240 put32(NR_IRQS);
diff --git a/arch/mips/jazz/irq.c b/arch/mips/jazz/irq.c
index 478be9858a1e..eef05093deb4 100644
--- a/arch/mips/jazz/irq.c
+++ b/arch/mips/jazz/irq.c
@@ -55,7 +55,7 @@ static void end_r4030_irq(unsigned int irq)
55 enable_r4030_irq(irq); 55 enable_r4030_irq(irq);
56} 56}
57 57
58static struct hw_interrupt_type r4030_irq_type = { 58static struct irq_chip r4030_irq_type = {
59 .typename = "R4030", 59 .typename = "R4030",
60 .startup = startup_r4030_irq, 60 .startup = startup_r4030_irq,
61 .shutdown = shutdown_r4030_irq, 61 .shutdown = shutdown_r4030_irq,
diff --git a/arch/mips/jazz/setup.c b/arch/mips/jazz/setup.c
index 385413e30fdd..487a9ea1ef00 100644
--- a/arch/mips/jazz/setup.c
+++ b/arch/mips/jazz/setup.c
@@ -37,7 +37,7 @@ extern void jazz_machine_restart(char *command);
37extern void jazz_machine_halt(void); 37extern void jazz_machine_halt(void);
38extern void jazz_machine_power_off(void); 38extern void jazz_machine_power_off(void);
39 39
40static void __init jazz_time_init(struct irqaction *irq) 40void __init plat_time_init(struct irqaction *irq)
41{ 41{
42 /* set the clock to 100 Hz */ 42 /* set the clock to 100 Hz */
43 r4030_write_reg32(JAZZ_TIMER_INTERVAL, 9); 43 r4030_write_reg32(JAZZ_TIMER_INTERVAL, 9);
@@ -75,7 +75,6 @@ void __init plat_mem_setup(void)
75 for (i = 0; i < ARRAY_SIZE(jazz_io_resources); i++) 75 for (i = 0; i < ARRAY_SIZE(jazz_io_resources); i++)
76 request_resource(&ioport_resource, jazz_io_resources + i); 76 request_resource(&ioport_resource, jazz_io_resources + i);
77 77
78 board_timer_setup = jazz_time_init;
79 /* The RTC is outside the port address space */ 78 /* The RTC is outside the port address space */
80 79
81 _machine_restart = jazz_machine_restart; 80 _machine_restart = jazz_machine_restart;
diff --git a/arch/mips/jmr3927/rbhma3100/irq.c b/arch/mips/jmr3927/rbhma3100/irq.c
index 9c43702e7a93..722174481467 100644
--- a/arch/mips/jmr3927/rbhma3100/irq.c
+++ b/arch/mips/jmr3927/rbhma3100/irq.c
@@ -416,7 +416,7 @@ void __init arch_init_irq(void)
416 set_c0_status(ST0_IM); /* IE bit is still 0. */ 416 set_c0_status(ST0_IM); /* IE bit is still 0. */
417} 417}
418 418
419static hw_irq_controller jmr3927_irq_controller = { 419static struct irq_chip jmr3927_irq_controller = {
420 .typename = "jmr3927_irq", 420 .typename = "jmr3927_irq",
421 .startup = jmr3927_irq_startup, 421 .startup = jmr3927_irq_startup,
422 .shutdown = jmr3927_irq_shutdown, 422 .shutdown = jmr3927_irq_shutdown,
diff --git a/arch/mips/jmr3927/rbhma3100/setup.c b/arch/mips/jmr3927/rbhma3100/setup.c
index 6d4635d89d94..025434054ed0 100644
--- a/arch/mips/jmr3927/rbhma3100/setup.c
+++ b/arch/mips/jmr3927/rbhma3100/setup.c
@@ -40,6 +40,7 @@
40#include <linux/sched.h> 40#include <linux/sched.h>
41#include <linux/pci.h> 41#include <linux/pci.h>
42#include <linux/ide.h> 42#include <linux/ide.h>
43#include <linux/irq.h>
43#include <linux/ioport.h> 44#include <linux/ioport.h>
44#include <linux/param.h> /* for HZ */ 45#include <linux/param.h> /* for HZ */
45#include <linux/delay.h> 46#include <linux/delay.h>
@@ -183,9 +184,8 @@ static void __init jmr3927_time_init(void)
183} 184}
184 185
185unsigned long jmr3927_do_gettimeoffset(void); 186unsigned long jmr3927_do_gettimeoffset(void);
186extern int setup_irq(unsigned int irq, struct irqaction *irqaction);
187 187
188static void __init jmr3927_timer_setup(struct irqaction *irq) 188void __init plat_timer_setup(struct irqaction *irq)
189{ 189{
190 do_gettimeoffset = jmr3927_do_gettimeoffset; 190 do_gettimeoffset = jmr3927_do_gettimeoffset;
191 191
@@ -244,7 +244,6 @@ void __init plat_mem_setup(void)
244 set_io_port_base(JMR3927_PORT_BASE + JMR3927_PCIIO); 244 set_io_port_base(JMR3927_PORT_BASE + JMR3927_PCIIO);
245 245
246 board_time_init = jmr3927_time_init; 246 board_time_init = jmr3927_time_init;
247 board_timer_setup = jmr3927_timer_setup;
248 247
249 _machine_restart = jmr3927_machine_restart; 248 _machine_restart = jmr3927_machine_restart;
250 _machine_halt = jmr3927_machine_halt; 249 _machine_halt = jmr3927_machine_halt;
diff --git a/arch/mips/kernel/apm.c b/arch/mips/kernel/apm.c
index 7bdbcd811b57..528e731049c1 100644
--- a/arch/mips/kernel/apm.c
+++ b/arch/mips/kernel/apm.c
@@ -10,7 +10,6 @@
10 * [This document is available from Microsoft at: 10 * [This document is available from Microsoft at:
11 * http://www.microsoft.com/hwdev/busbios/amp_12.htm] 11 * http://www.microsoft.com/hwdev/busbios/amp_12.htm]
12 */ 12 */
13#include <linux/config.h>
14#include <linux/module.h> 13#include <linux/module.h>
15#include <linux/poll.h> 14#include <linux/poll.h>
16#include <linux/timer.h> 15#include <linux/timer.h>
diff --git a/arch/mips/kernel/cpu-probe.c b/arch/mips/kernel/cpu-probe.c
index ba08f055feb2..aa2caa67299a 100644
--- a/arch/mips/kernel/cpu-probe.c
+++ b/arch/mips/kernel/cpu-probe.c
@@ -459,7 +459,7 @@ static inline unsigned int decode_config0(struct cpuinfo_mips *c)
459 isa = (config0 & MIPS_CONF_AT) >> 13; 459 isa = (config0 & MIPS_CONF_AT) >> 13;
460 switch (isa) { 460 switch (isa) {
461 case 0: 461 case 0:
462 switch ((config0 >> 10) & 7) { 462 switch ((config0 & MIPS_CONF_AR) >> 10) {
463 case 0: 463 case 0:
464 c->isa_level = MIPS_CPU_ISA_M32R1; 464 c->isa_level = MIPS_CPU_ISA_M32R1;
465 break; 465 break;
@@ -471,7 +471,7 @@ static inline unsigned int decode_config0(struct cpuinfo_mips *c)
471 } 471 }
472 break; 472 break;
473 case 2: 473 case 2:
474 switch ((config0 >> 10) & 7) { 474 switch ((config0 & MIPS_CONF_AR) >> 10) {
475 case 0: 475 case 0:
476 c->isa_level = MIPS_CPU_ISA_M64R1; 476 c->isa_level = MIPS_CPU_ISA_M64R1;
477 break; 477 break;
@@ -548,7 +548,7 @@ static inline unsigned int decode_config3(struct cpuinfo_mips *c)
548 return config3 & MIPS_CONF_M; 548 return config3 & MIPS_CONF_M;
549} 549}
550 550
551static inline void decode_configs(struct cpuinfo_mips *c) 551static void __init decode_configs(struct cpuinfo_mips *c)
552{ 552{
553 /* MIPS32 or MIPS64 compliant CPU. */ 553 /* MIPS32 or MIPS64 compliant CPU. */
554 c->options = MIPS_CPU_4KEX | MIPS_CPU_4K_CACHE | MIPS_CPU_COUNTER | 554 c->options = MIPS_CPU_4KEX | MIPS_CPU_4K_CACHE | MIPS_CPU_COUNTER |
diff --git a/arch/mips/kernel/entry.S b/arch/mips/kernel/entry.S
index 01e7fa86aa43..766655f35250 100644
--- a/arch/mips/kernel/entry.S
+++ b/arch/mips/kernel/entry.S
@@ -113,6 +113,21 @@ FEXPORT(restore_all) # restore full frame
113 RESTORE_AT 113 RESTORE_AT
114 RESTORE_STATIC 114 RESTORE_STATIC
115FEXPORT(restore_partial) # restore partial frame 115FEXPORT(restore_partial) # restore partial frame
116#ifdef CONFIG_TRACE_IRQFLAGS
117 SAVE_STATIC
118 SAVE_AT
119 SAVE_TEMP
120 LONG_L v0, PT_STATUS(sp)
121 and v0, 1
122 beqz v0, 1f
123 jal trace_hardirqs_on
124 b 2f
1251: jal trace_hardirqs_off
1262:
127 RESTORE_TEMP
128 RESTORE_AT
129 RESTORE_STATIC
130#endif
116 RESTORE_SOME 131 RESTORE_SOME
117 RESTORE_SP_AND_RET 132 RESTORE_SP_AND_RET
118 .set at 133 .set at
diff --git a/arch/mips/kernel/gdb-low.S b/arch/mips/kernel/gdb-low.S
index 666bc9014cbd..2c446063636a 100644
--- a/arch/mips/kernel/gdb-low.S
+++ b/arch/mips/kernel/gdb-low.S
@@ -7,6 +7,7 @@
7 7
8#include <asm/asm.h> 8#include <asm/asm.h>
9#include <asm/errno.h> 9#include <asm/errno.h>
10#include <asm/irqflags.h>
10#include <asm/mipsregs.h> 11#include <asm/mipsregs.h>
11#include <asm/regdef.h> 12#include <asm/regdef.h>
12#include <asm/stackframe.h> 13#include <asm/stackframe.h>
@@ -120,6 +121,7 @@
120 LONG_S $31, GDB_FR_REG31(sp) 121 LONG_S $31, GDB_FR_REG31(sp)
121 122
122 CLI /* disable interrupts */ 123 CLI /* disable interrupts */
124 TRACE_IRQS_OFF
123 125
124/* 126/*
125 * Followed by the floating point registers 127 * Followed by the floating point registers
diff --git a/arch/mips/kernel/genex.S b/arch/mips/kernel/genex.S
index 5254a2222d2b..37fda3dcdfc5 100644
--- a/arch/mips/kernel/genex.S
+++ b/arch/mips/kernel/genex.S
@@ -13,6 +13,7 @@
13#include <asm/asm.h> 13#include <asm/asm.h>
14#include <asm/asmmacro.h> 14#include <asm/asmmacro.h>
15#include <asm/cacheops.h> 15#include <asm/cacheops.h>
16#include <asm/irqflags.h>
16#include <asm/regdef.h> 17#include <asm/regdef.h>
17#include <asm/fpregdef.h> 18#include <asm/fpregdef.h>
18#include <asm/mipsregs.h> 19#include <asm/mipsregs.h>
@@ -128,6 +129,7 @@ handle_vcei:
128NESTED(handle_int, PT_SIZE, sp) 129NESTED(handle_int, PT_SIZE, sp)
129 SAVE_ALL 130 SAVE_ALL
130 CLI 131 CLI
132 TRACE_IRQS_OFF
131 133
132 PTR_LA ra, ret_from_irq 134 PTR_LA ra, ret_from_irq
133 move a0, sp 135 move a0, sp
@@ -216,6 +218,7 @@ NESTED(except_vec_vi_handler, 0, sp)
216 _ehb 218 _ehb
217#endif /* CONFIG_MIPS_MT_SMTC */ 219#endif /* CONFIG_MIPS_MT_SMTC */
218 CLI 220 CLI
221 TRACE_IRQS_OFF
219 move a0, sp 222 move a0, sp
220 jalr v0 223 jalr v0
221 j ret_from_irq 224 j ret_from_irq
@@ -288,11 +291,13 @@ NESTED(nmi_handler, PT_SIZE, sp)
288 .endm 291 .endm
289 292
290 .macro __build_clear_sti 293 .macro __build_clear_sti
294 TRACE_IRQS_ON
291 STI 295 STI
292 .endm 296 .endm
293 297
294 .macro __build_clear_cli 298 .macro __build_clear_cli
295 CLI 299 CLI
300 TRACE_IRQS_OFF
296 .endm 301 .endm
297 302
298 .macro __build_clear_fpe 303 .macro __build_clear_fpe
@@ -300,6 +305,7 @@ NESTED(nmi_handler, PT_SIZE, sp)
300 li a2, ~(0x3f << 12) 305 li a2, ~(0x3f << 12)
301 and a2, a1 306 and a2, a1
302 ctc1 a2, fcr31 307 ctc1 a2, fcr31
308 TRACE_IRQS_ON
303 STI 309 STI
304 .endm 310 .endm
305 311
@@ -365,7 +371,7 @@ NESTED(nmi_handler, PT_SIZE, sp)
365 BUILD_HANDLER mdmx mdmx sti silent /* #22 */ 371 BUILD_HANDLER mdmx mdmx sti silent /* #22 */
366 BUILD_HANDLER watch watch sti verbose /* #23 */ 372 BUILD_HANDLER watch watch sti verbose /* #23 */
367 BUILD_HANDLER mcheck mcheck cli verbose /* #24 */ 373 BUILD_HANDLER mcheck mcheck cli verbose /* #24 */
368 BUILD_HANDLER mt mt sti verbose /* #25 */ 374 BUILD_HANDLER mt mt sti silent /* #25 */
369 BUILD_HANDLER dsp dsp sti silent /* #26 */ 375 BUILD_HANDLER dsp dsp sti silent /* #26 */
370 BUILD_HANDLER reserved reserved sti verbose /* others */ 376 BUILD_HANDLER reserved reserved sti verbose /* others */
371 377
diff --git a/arch/mips/kernel/head.S b/arch/mips/kernel/head.S
index 476c1eb33c94..8c6db0fc72f0 100644
--- a/arch/mips/kernel/head.S
+++ b/arch/mips/kernel/head.S
@@ -5,7 +5,7 @@
5 * 5 *
6 * Copyright (C) 1994, 1995 Waldorf Electronics 6 * Copyright (C) 1994, 1995 Waldorf Electronics
7 * Written by Ralf Baechle and Andreas Busse 7 * Written by Ralf Baechle and Andreas Busse
8 * Copyright (C) 1994, 95, 96, 97, 98, 99, 2003 Ralf Baechle 8 * Copyright (C) 1994 - 99, 2003, 06 Ralf Baechle
9 * Copyright (C) 1996 Paul M. Antoine 9 * Copyright (C) 1996 Paul M. Antoine
10 * Modified for DECStation and hence R3000 support by Paul M. Antoine 10 * Modified for DECStation and hence R3000 support by Paul M. Antoine
11 * Further modifications by David S. Miller and Harald Koerfgen 11 * Further modifications by David S. Miller and Harald Koerfgen
@@ -18,6 +18,7 @@
18 18
19#include <asm/asm.h> 19#include <asm/asm.h>
20#include <asm/asmmacro.h> 20#include <asm/asmmacro.h>
21#include <asm/irqflags.h>
21#include <asm/regdef.h> 22#include <asm/regdef.h>
22#include <asm/page.h> 23#include <asm/page.h>
23#include <asm/mipsregs.h> 24#include <asm/mipsregs.h>
diff --git a/arch/mips/kernel/i8259.c b/arch/mips/kernel/i8259.c
index 91ffb1233cad..ea36c8e8852c 100644
--- a/arch/mips/kernel/i8259.c
+++ b/arch/mips/kernel/i8259.c
@@ -51,7 +51,7 @@ static unsigned int startup_8259A_irq(unsigned int irq)
51 return 0; /* never anything pending */ 51 return 0; /* never anything pending */
52} 52}
53 53
54static struct hw_interrupt_type i8259A_irq_type = { 54static struct irq_chip i8259A_irq_type = {
55 .typename = "XT-PIC", 55 .typename = "XT-PIC",
56 .startup = startup_8259A_irq, 56 .startup = startup_8259A_irq,
57 .shutdown = shutdown_8259A_irq, 57 .shutdown = shutdown_8259A_irq,
diff --git a/arch/mips/kernel/irixelf.c b/arch/mips/kernel/irixelf.c
index 10d3644e3608..ab12c8f01518 100644
--- a/arch/mips/kernel/irixelf.c
+++ b/arch/mips/kernel/irixelf.c
@@ -999,8 +999,6 @@ static inline int maydump(struct vm_area_struct *vma)
999 return 1; 999 return 1;
1000} 1000}
1001 1001
1002#define roundup(x, y) ((((x)+((y)-1))/(y))*(y))
1003
1004/* An ELF note in memory. */ 1002/* An ELF note in memory. */
1005struct memelfnote 1003struct memelfnote
1006{ 1004{
diff --git a/arch/mips/kernel/irq-msc01.c b/arch/mips/kernel/irq-msc01.c
index f8cd1ac64d88..63dfeb41796b 100644
--- a/arch/mips/kernel/irq-msc01.c
+++ b/arch/mips/kernel/irq-msc01.c
@@ -137,7 +137,7 @@ msc_bind_eic_interrupt (unsigned int irq, unsigned int set)
137 137
138#define shutdown_msc_irq disable_msc_irq 138#define shutdown_msc_irq disable_msc_irq
139 139
140struct hw_interrupt_type msc_levelirq_type = { 140struct irq_chip msc_levelirq_type = {
141 .typename = "SOC-it-Level", 141 .typename = "SOC-it-Level",
142 .startup = startup_msc_irq, 142 .startup = startup_msc_irq,
143 .shutdown = shutdown_msc_irq, 143 .shutdown = shutdown_msc_irq,
@@ -147,7 +147,7 @@ struct hw_interrupt_type msc_levelirq_type = {
147 .end = end_msc_irq, 147 .end = end_msc_irq,
148}; 148};
149 149
150struct hw_interrupt_type msc_edgeirq_type = { 150struct irq_chip msc_edgeirq_type = {
151 .typename = "SOC-it-Edge", 151 .typename = "SOC-it-Edge",
152 .startup =startup_msc_irq, 152 .startup =startup_msc_irq,
153 .shutdown = shutdown_msc_irq, 153 .shutdown = shutdown_msc_irq,
diff --git a/arch/mips/kernel/irq-mv6434x.c b/arch/mips/kernel/irq-mv6434x.c
index f9c763a65547..b117e64da64d 100644
--- a/arch/mips/kernel/irq-mv6434x.c
+++ b/arch/mips/kernel/irq-mv6434x.c
@@ -136,7 +136,7 @@ void ll_mv64340_irq(struct pt_regs *regs)
136 136
137#define shutdown_mv64340_irq disable_mv64340_irq 137#define shutdown_mv64340_irq disable_mv64340_irq
138 138
139struct hw_interrupt_type mv64340_irq_type = { 139struct irq_chip mv64340_irq_type = {
140 .typename = "MV-64340", 140 .typename = "MV-64340",
141 .startup = startup_mv64340_irq, 141 .startup = startup_mv64340_irq,
142 .shutdown = shutdown_mv64340_irq, 142 .shutdown = shutdown_mv64340_irq,
diff --git a/arch/mips/kernel/irq-rm7000.c b/arch/mips/kernel/irq-rm7000.c
index 121da385a94d..6b54c7109e2e 100644
--- a/arch/mips/kernel/irq-rm7000.c
+++ b/arch/mips/kernel/irq-rm7000.c
@@ -71,7 +71,7 @@ static void rm7k_cpu_irq_end(unsigned int irq)
71 unmask_rm7k_irq(irq); 71 unmask_rm7k_irq(irq);
72} 72}
73 73
74static hw_irq_controller rm7k_irq_controller = { 74static struct irq_chip rm7k_irq_controller = {
75 .typename = "RM7000", 75 .typename = "RM7000",
76 .startup = rm7k_cpu_irq_startup, 76 .startup = rm7k_cpu_irq_startup,
77 .shutdown = rm7k_cpu_irq_shutdown, 77 .shutdown = rm7k_cpu_irq_shutdown,
diff --git a/arch/mips/kernel/irq-rm9000.c b/arch/mips/kernel/irq-rm9000.c
index 25109c103e44..62f011ba97a2 100644
--- a/arch/mips/kernel/irq-rm9000.c
+++ b/arch/mips/kernel/irq-rm9000.c
@@ -105,7 +105,7 @@ static void rm9k_cpu_irq_end(unsigned int irq)
105 unmask_rm9k_irq(irq); 105 unmask_rm9k_irq(irq);
106} 106}
107 107
108static hw_irq_controller rm9k_irq_controller = { 108static struct irq_chip rm9k_irq_controller = {
109 .typename = "RM9000", 109 .typename = "RM9000",
110 .startup = rm9k_cpu_irq_startup, 110 .startup = rm9k_cpu_irq_startup,
111 .shutdown = rm9k_cpu_irq_shutdown, 111 .shutdown = rm9k_cpu_irq_shutdown,
@@ -115,7 +115,7 @@ static hw_irq_controller rm9k_irq_controller = {
115 .end = rm9k_cpu_irq_end, 115 .end = rm9k_cpu_irq_end,
116}; 116};
117 117
118static hw_irq_controller rm9k_perfcounter_irq = { 118static struct irq_chip rm9k_perfcounter_irq = {
119 .typename = "RM9000", 119 .typename = "RM9000",
120 .startup = rm9k_perfcounter_irq_startup, 120 .startup = rm9k_perfcounter_irq_startup,
121 .shutdown = rm9k_perfcounter_irq_shutdown, 121 .shutdown = rm9k_perfcounter_irq_shutdown,
diff --git a/arch/mips/kernel/irq.c b/arch/mips/kernel/irq.c
index cde5e5afa179..d955aaefbb8e 100644
--- a/arch/mips/kernel/irq.c
+++ b/arch/mips/kernel/irq.c
@@ -136,7 +136,7 @@ void __init init_IRQ(void)
136 irq_desc[i].status = IRQ_DISABLED; 136 irq_desc[i].status = IRQ_DISABLED;
137 irq_desc[i].action = NULL; 137 irq_desc[i].action = NULL;
138 irq_desc[i].depth = 1; 138 irq_desc[i].depth = 1;
139 irq_desc[i].chip = &no_irq_type; 139 irq_desc[i].chip = &no_irq_chip;
140 spin_lock_init(&irq_desc[i].lock); 140 spin_lock_init(&irq_desc[i].lock);
141#ifdef CONFIG_MIPS_MT_SMTC 141#ifdef CONFIG_MIPS_MT_SMTC
142 irq_hwmask[i] = 0; 142 irq_hwmask[i] = 0;
diff --git a/arch/mips/kernel/irq_cpu.c b/arch/mips/kernel/irq_cpu.c
index 0e455a8ad860..9bb21c7f2149 100644
--- a/arch/mips/kernel/irq_cpu.c
+++ b/arch/mips/kernel/irq_cpu.c
@@ -94,7 +94,7 @@ static void mips_cpu_irq_end(unsigned int irq)
94 unmask_mips_irq(irq); 94 unmask_mips_irq(irq);
95} 95}
96 96
97static hw_irq_controller mips_cpu_irq_controller = { 97static struct irq_chip mips_cpu_irq_controller = {
98 .typename = "MIPS", 98 .typename = "MIPS",
99 .startup = mips_cpu_irq_startup, 99 .startup = mips_cpu_irq_startup,
100 .shutdown = mips_cpu_irq_shutdown, 100 .shutdown = mips_cpu_irq_shutdown,
@@ -140,7 +140,7 @@ static void mips_mt_cpu_irq_ack(unsigned int irq)
140 140
141#define mips_mt_cpu_irq_end mips_cpu_irq_end 141#define mips_mt_cpu_irq_end mips_cpu_irq_end
142 142
143static hw_irq_controller mips_mt_cpu_irq_controller = { 143static struct irq_chip mips_mt_cpu_irq_controller = {
144 .typename = "MIPS", 144 .typename = "MIPS",
145 .startup = mips_mt_cpu_irq_startup, 145 .startup = mips_mt_cpu_irq_startup,
146 .shutdown = mips_mt_cpu_irq_shutdown, 146 .shutdown = mips_mt_cpu_irq_shutdown,
diff --git a/arch/mips/kernel/mips-mt.c b/arch/mips/kernel/mips-mt.c
index 4dcc39f42951..c1373a6e668b 100644
--- a/arch/mips/kernel/mips-mt.c
+++ b/arch/mips/kernel/mips-mt.c
@@ -7,6 +7,7 @@
7#include <linux/sched.h> 7#include <linux/sched.h>
8#include <linux/cpumask.h> 8#include <linux/cpumask.h>
9#include <linux/interrupt.h> 9#include <linux/interrupt.h>
10#include <linux/security.h>
10 11
11#include <asm/cpu.h> 12#include <asm/cpu.h>
12#include <asm/processor.h> 13#include <asm/processor.h>
diff --git a/arch/mips/kernel/scall32-o32.S b/arch/mips/kernel/scall32-o32.S
index 8f8101f878ca..ba1bcd83c7d3 100644
--- a/arch/mips/kernel/scall32-o32.S
+++ b/arch/mips/kernel/scall32-o32.S
@@ -3,13 +3,14 @@
3 * License. See the file "COPYING" in the main directory of this archive 3 * License. See the file "COPYING" in the main directory of this archive
4 * for more details. 4 * for more details.
5 * 5 *
6 * Copyright (C) 1995, 96, 97, 98, 99, 2000, 01, 02 by Ralf Baechle 6 * Copyright (C) 1995-99, 2000- 02, 06 Ralf Baechle <ralf@linux-mips.org>
7 * Copyright (C) 2001 MIPS Technologies, Inc. 7 * Copyright (C) 2001 MIPS Technologies, Inc.
8 * Copyright (C) 2004 Thiemo Seufer 8 * Copyright (C) 2004 Thiemo Seufer
9 */ 9 */
10#include <linux/errno.h> 10#include <linux/errno.h>
11#include <asm/asm.h> 11#include <asm/asm.h>
12#include <asm/asmmacro.h> 12#include <asm/asmmacro.h>
13#include <asm/irqflags.h>
13#include <asm/mipsregs.h> 14#include <asm/mipsregs.h>
14#include <asm/regdef.h> 15#include <asm/regdef.h>
15#include <asm/stackframe.h> 16#include <asm/stackframe.h>
@@ -27,6 +28,18 @@
27NESTED(handle_sys, PT_SIZE, sp) 28NESTED(handle_sys, PT_SIZE, sp)
28 .set noat 29 .set noat
29 SAVE_SOME 30 SAVE_SOME
31#ifdef CONFIG_TRACE_IRQFLAGS
32 TRACE_IRQS_ON
33#ifdef CONFIG_64BIT
34 LONG_L $8, PT_R8(sp)
35 LONG_L $9, PT_R9(sp)
36#endif
37 LONG_L $7, PT_R7(sp)
38 LONG_L $6, PT_R6(sp)
39 LONG_L $5, PT_R5(sp)
40 LONG_L $4, PT_R4(sp)
41 LONG_L $2, PT_R2(sp)
42#endif
30 STI 43 STI
31 .set at 44 .set at
32 45
@@ -647,6 +660,8 @@ einval: li v0, -EINVAL
647 sys sys_splice 4 660 sys sys_splice 4
648 sys sys_sync_file_range 7 /* 4305 */ 661 sys sys_sync_file_range 7 /* 4305 */
649 sys sys_tee 4 662 sys sys_tee 4
663 sys sys_vmsplice 4
664 sys sys_move_pages 6
650 .endm 665 .endm
651 666
652 /* We pre-compute the number of _instruction_ bytes needed to 667 /* We pre-compute the number of _instruction_ bytes needed to
diff --git a/arch/mips/kernel/scall64-64.S b/arch/mips/kernel/scall64-64.S
index b4a34a625a2e..939e172db953 100644
--- a/arch/mips/kernel/scall64-64.S
+++ b/arch/mips/kernel/scall64-64.S
@@ -10,6 +10,7 @@
10#include <linux/errno.h> 10#include <linux/errno.h>
11#include <asm/asm.h> 11#include <asm/asm.h>
12#include <asm/asmmacro.h> 12#include <asm/asmmacro.h>
13#include <asm/irqflags.h>
13#include <asm/mipsregs.h> 14#include <asm/mipsregs.h>
14#include <asm/regdef.h> 15#include <asm/regdef.h>
15#include <asm/stackframe.h> 16#include <asm/stackframe.h>
@@ -33,6 +34,7 @@ NESTED(handle_sys64, PT_SIZE, sp)
33 */ 34 */
34 .set noat 35 .set noat
35 SAVE_SOME 36 SAVE_SOME
37 TRACE_IRQS_ON
36 STI 38 STI
37 .set at 39 .set at
38#endif 40#endif
@@ -462,3 +464,5 @@ sys_call_table:
462 PTR sys_splice 464 PTR sys_splice
463 PTR sys_sync_file_range 465 PTR sys_sync_file_range
464 PTR sys_tee /* 5265 */ 466 PTR sys_tee /* 5265 */
467 PTR sys_vmsplice
468 PTR sys_move_pages
diff --git a/arch/mips/kernel/scall64-n32.S b/arch/mips/kernel/scall64-n32.S
index df8c4f8ccd61..98abbc5a9f13 100644
--- a/arch/mips/kernel/scall64-n32.S
+++ b/arch/mips/kernel/scall64-n32.S
@@ -10,6 +10,7 @@
10#include <linux/errno.h> 10#include <linux/errno.h>
11#include <asm/asm.h> 11#include <asm/asm.h>
12#include <asm/asmmacro.h> 12#include <asm/asmmacro.h>
13#include <asm/irqflags.h>
13#include <asm/mipsregs.h> 14#include <asm/mipsregs.h>
14#include <asm/regdef.h> 15#include <asm/regdef.h>
15#include <asm/stackframe.h> 16#include <asm/stackframe.h>
@@ -32,6 +33,7 @@ NESTED(handle_sysn32, PT_SIZE, sp)
32#ifndef CONFIG_MIPS32_O32 33#ifndef CONFIG_MIPS32_O32
33 .set noat 34 .set noat
34 SAVE_SOME 35 SAVE_SOME
36 TRACE_IRQS_ON
35 STI 37 STI
36 .set at 38 .set at
37#endif 39#endif
@@ -388,3 +390,5 @@ EXPORT(sysn32_call_table)
388 PTR sys_splice 390 PTR sys_splice
389 PTR sys_sync_file_range 391 PTR sys_sync_file_range
390 PTR sys_tee 392 PTR sys_tee
393 PTR sys_vmsplice /* 6271 */
394 PTR sys_move_pages
diff --git a/arch/mips/kernel/scall64-o32.S b/arch/mips/kernel/scall64-o32.S
index f04fe4f085c3..505c9ee54009 100644
--- a/arch/mips/kernel/scall64-o32.S
+++ b/arch/mips/kernel/scall64-o32.S
@@ -16,6 +16,7 @@
16#include <linux/errno.h> 16#include <linux/errno.h>
17#include <asm/asm.h> 17#include <asm/asm.h>
18#include <asm/asmmacro.h> 18#include <asm/asmmacro.h>
19#include <asm/irqflags.h>
19#include <asm/mipsregs.h> 20#include <asm/mipsregs.h>
20#include <asm/regdef.h> 21#include <asm/regdef.h>
21#include <asm/stackframe.h> 22#include <asm/stackframe.h>
@@ -27,6 +28,7 @@
27NESTED(handle_sys, PT_SIZE, sp) 28NESTED(handle_sys, PT_SIZE, sp)
28 .set noat 29 .set noat
29 SAVE_SOME 30 SAVE_SOME
31 TRACE_IRQS_ON
30 STI 32 STI
31 .set at 33 .set at
32 ld t1, PT_EPC(sp) # skip syscall on return 34 ld t1, PT_EPC(sp) # skip syscall on return
@@ -510,4 +512,6 @@ sys_call_table:
510 PTR sys_splice 512 PTR sys_splice
511 PTR sys32_sync_file_range /* 4305 */ 513 PTR sys32_sync_file_range /* 4305 */
512 PTR sys_tee 514 PTR sys_tee
515 PTR sys_vmsplice
516 PTR compat_sys_move_pages
513 .size sys_call_table,.-sys_call_table 517 .size sys_call_table,.-sys_call_table
diff --git a/arch/mips/kernel/setup.c b/arch/mips/kernel/setup.c
index 5edd8d4bb665..8c2b596a136f 100644
--- a/arch/mips/kernel/setup.c
+++ b/arch/mips/kernel/setup.c
@@ -24,7 +24,7 @@
24#include <linux/user.h> 24#include <linux/user.h>
25#include <linux/utsname.h> 25#include <linux/utsname.h>
26#include <linux/a.out.h> 26#include <linux/a.out.h>
27#include <linux/tty.h> 27#include <linux/screen_info.h>
28#include <linux/bootmem.h> 28#include <linux/bootmem.h>
29#include <linux/initrd.h> 29#include <linux/initrd.h>
30#include <linux/major.h> 30#include <linux/major.h>
diff --git a/arch/mips/kernel/smp.c b/arch/mips/kernel/smp.c
index 9096a5ea4229..221895802dca 100644
--- a/arch/mips/kernel/smp.c
+++ b/arch/mips/kernel/smp.c
@@ -319,6 +319,32 @@ static void flush_tlb_mm_ipi(void *mm)
319} 319}
320 320
321/* 321/*
322 * Special Variant of smp_call_function for use by TLB functions:
323 *
324 * o No return value
325 * o collapses to normal function call on UP kernels
326 * o collapses to normal function call on systems with a single shared
327 * primary cache.
328 * o CONFIG_MIPS_MT_SMTC currently implies there is only one physical core.
329 */
330static inline void smp_on_other_tlbs(void (*func) (void *info), void *info)
331{
332#ifndef CONFIG_MIPS_MT_SMTC
333 smp_call_function(func, info, 1, 1);
334#endif
335}
336
337static inline void smp_on_each_tlb(void (*func) (void *info), void *info)
338{
339 preempt_disable();
340
341 smp_on_other_tlbs(func, info);
342 func(info);
343
344 preempt_enable();
345}
346
347/*
322 * The following tlb flush calls are invoked when old translations are 348 * The following tlb flush calls are invoked when old translations are
323 * being torn down, or pte attributes are changing. For single threaded 349 * being torn down, or pte attributes are changing. For single threaded
324 * address spaces, a new context is obtained on the current cpu, and tlb 350 * address spaces, a new context is obtained on the current cpu, and tlb
@@ -336,7 +362,7 @@ void flush_tlb_mm(struct mm_struct *mm)
336 preempt_disable(); 362 preempt_disable();
337 363
338 if ((atomic_read(&mm->mm_users) != 1) || (current->mm != mm)) { 364 if ((atomic_read(&mm->mm_users) != 1) || (current->mm != mm)) {
339 smp_call_function(flush_tlb_mm_ipi, (void *)mm, 1, 1); 365 smp_on_other_tlbs(flush_tlb_mm_ipi, (void *)mm);
340 } else { 366 } else {
341 int i; 367 int i;
342 for (i = 0; i < num_online_cpus(); i++) 368 for (i = 0; i < num_online_cpus(); i++)
@@ -372,7 +398,7 @@ void flush_tlb_range(struct vm_area_struct *vma, unsigned long start, unsigned l
372 fd.vma = vma; 398 fd.vma = vma;
373 fd.addr1 = start; 399 fd.addr1 = start;
374 fd.addr2 = end; 400 fd.addr2 = end;
375 smp_call_function(flush_tlb_range_ipi, (void *)&fd, 1, 1); 401 smp_on_other_tlbs(flush_tlb_range_ipi, (void *)&fd);
376 } else { 402 } else {
377 int i; 403 int i;
378 for (i = 0; i < num_online_cpus(); i++) 404 for (i = 0; i < num_online_cpus(); i++)
@@ -414,7 +440,7 @@ void flush_tlb_page(struct vm_area_struct *vma, unsigned long page)
414 440
415 fd.vma = vma; 441 fd.vma = vma;
416 fd.addr1 = page; 442 fd.addr1 = page;
417 smp_call_function(flush_tlb_page_ipi, (void *)&fd, 1, 1); 443 smp_on_other_tlbs(flush_tlb_page_ipi, (void *)&fd);
418 } else { 444 } else {
419 int i; 445 int i;
420 for (i = 0; i < num_online_cpus(); i++) 446 for (i = 0; i < num_online_cpus(); i++)
@@ -434,8 +460,7 @@ static void flush_tlb_one_ipi(void *info)
434 460
435void flush_tlb_one(unsigned long vaddr) 461void flush_tlb_one(unsigned long vaddr)
436{ 462{
437 smp_call_function(flush_tlb_one_ipi, (void *) vaddr, 1, 1); 463 smp_on_each_tlb(flush_tlb_one_ipi, (void *) vaddr);
438 local_flush_tlb_one(vaddr);
439} 464}
440 465
441static DEFINE_PER_CPU(struct cpu, cpu_devices); 466static DEFINE_PER_CPU(struct cpu, cpu_devices);
diff --git a/arch/mips/kernel/smtc-asm.S b/arch/mips/kernel/smtc-asm.S
index 72c6d98f8854..4cc3dea36612 100644
--- a/arch/mips/kernel/smtc-asm.S
+++ b/arch/mips/kernel/smtc-asm.S
@@ -96,6 +96,7 @@ FEXPORT(__smtc_ipi_vector)
96 /* Save all will redundantly recompute the SP, but use it for now */ 96 /* Save all will redundantly recompute the SP, but use it for now */
97 SAVE_ALL 97 SAVE_ALL
98 CLI 98 CLI
99 TRACE_IRQS_OFF
99 move a0,sp 100 move a0,sp
100 /* Function to be invoked passed stack pad slot 5 */ 101 /* Function to be invoked passed stack pad slot 5 */
101 lw t0,PT_PADSLOT5(sp) 102 lw t0,PT_PADSLOT5(sp)
diff --git a/arch/mips/kernel/smtc.c b/arch/mips/kernel/smtc.c
index a48d9e553083..604bcc5cb7c8 100644
--- a/arch/mips/kernel/smtc.c
+++ b/arch/mips/kernel/smtc.c
@@ -127,7 +127,7 @@ static int __init stlb_disable(char *s)
127static int __init asidmask_set(char *str) 127static int __init asidmask_set(char *str)
128{ 128{
129 get_option(&str, &asidmask); 129 get_option(&str, &asidmask);
130 switch(asidmask) { 130 switch (asidmask) {
131 case 0x1: 131 case 0x1:
132 case 0x3: 132 case 0x3:
133 case 0x7: 133 case 0x7:
@@ -249,7 +249,7 @@ void smtc_configure_tlb(void)
249 /* 249 /*
250 * Only count if the MMU Type indicated is TLB 250 * Only count if the MMU Type indicated is TLB
251 */ 251 */
252 if(((read_vpe_c0_config() & MIPS_CONF_MT) >> 7) == 1) { 252 if (((read_vpe_c0_config() & MIPS_CONF_MT) >> 7) == 1) {
253 config1val = read_vpe_c0_config1(); 253 config1val = read_vpe_c0_config1();
254 tlbsiz += ((config1val >> 25) & 0x3f) + 1; 254 tlbsiz += ((config1val >> 25) & 0x3f) + 1;
255 } 255 }
@@ -500,7 +500,7 @@ void mipsmt_prepare_cpus(void)
500 /* Set up coprocessor affinity CPU mask(s) */ 500 /* Set up coprocessor affinity CPU mask(s) */
501 501
502 for (tc = 0; tc < ntc; tc++) { 502 for (tc = 0; tc < ntc; tc++) {
503 if(cpu_data[tc].options & MIPS_CPU_FPU) 503 if (cpu_data[tc].options & MIPS_CPU_FPU)
504 cpu_set(tc, mt_fpu_cpumask); 504 cpu_set(tc, mt_fpu_cpumask);
505 } 505 }
506 506
@@ -577,13 +577,13 @@ void smtc_init_secondary(void)
577{ 577{
578 /* 578 /*
579 * Start timer on secondary VPEs if necessary. 579 * Start timer on secondary VPEs if necessary.
580 * mips_timer_setup should already have been invoked by init/main 580 * plat_timer_setup has already have been invoked by init/main
581 * on "boot" TC. Like per_cpu_trap_init() hack, this assumes that 581 * on "boot" TC. Like per_cpu_trap_init() hack, this assumes that
582 * SMTC init code assigns TCs consdecutively and in ascending order 582 * SMTC init code assigns TCs consdecutively and in ascending order
583 * to across available VPEs. 583 * to across available VPEs.
584 */ 584 */
585 if(((read_c0_tcbind() & TCBIND_CURTC) != 0) 585 if (((read_c0_tcbind() & TCBIND_CURTC) != 0) &&
586 && ((read_c0_tcbind() & TCBIND_CURVPE) 586 ((read_c0_tcbind() & TCBIND_CURVPE)
587 != cpu_data[smp_processor_id() - 1].vpe_id)){ 587 != cpu_data[smp_processor_id() - 1].vpe_id)){
588 write_c0_compare (read_c0_count() + mips_hpt_frequency/HZ); 588 write_c0_compare (read_c0_count() + mips_hpt_frequency/HZ);
589 } 589 }
@@ -757,8 +757,8 @@ void smtc_send_ipi(int cpu, int type, unsigned int action)
757 write_tc_c0_tchalt(0); 757 write_tc_c0_tchalt(0);
758 UNLOCK_CORE_PRA(); 758 UNLOCK_CORE_PRA();
759 /* Try to reduce redundant timer interrupt messages */ 759 /* Try to reduce redundant timer interrupt messages */
760 if(type == SMTC_CLOCK_TICK) { 760 if (type == SMTC_CLOCK_TICK) {
761 if(atomic_postincrement(&ipi_timer_latch[cpu])!=0) { 761 if (atomic_postincrement(&ipi_timer_latch[cpu])!=0){
762 smtc_ipi_nq(&freeIPIq, pipi); 762 smtc_ipi_nq(&freeIPIq, pipi);
763 return; 763 return;
764 } 764 }
@@ -797,7 +797,7 @@ void post_direct_ipi(int cpu, struct smtc_ipi *pipi)
797 * CU bit of Status is indicator that TC was 797 * CU bit of Status is indicator that TC was
798 * already running on a kernel stack... 798 * already running on a kernel stack...
799 */ 799 */
800 if(tcstatus & ST0_CU0) { 800 if (tcstatus & ST0_CU0) {
801 /* Note that this "- 1" is pointer arithmetic */ 801 /* Note that this "- 1" is pointer arithmetic */
802 kstack = ((struct pt_regs *)read_tc_gpr_sp()) - 1; 802 kstack = ((struct pt_regs *)read_tc_gpr_sp()) - 1;
803 } else { 803 } else {
@@ -840,31 +840,31 @@ void ipi_decode(struct pt_regs *regs, struct smtc_ipi *pipi)
840 840
841 smtc_ipi_nq(&freeIPIq, pipi); 841 smtc_ipi_nq(&freeIPIq, pipi);
842 switch (type_copy) { 842 switch (type_copy) {
843 case SMTC_CLOCK_TICK: 843 case SMTC_CLOCK_TICK:
844 /* Invoke Clock "Interrupt" */ 844 /* Invoke Clock "Interrupt" */
845 ipi_timer_latch[dest_copy] = 0; 845 ipi_timer_latch[dest_copy] = 0;
846#ifdef SMTC_IDLE_HOOK_DEBUG 846#ifdef SMTC_IDLE_HOOK_DEBUG
847 clock_hang_reported[dest_copy] = 0; 847 clock_hang_reported[dest_copy] = 0;
848#endif /* SMTC_IDLE_HOOK_DEBUG */ 848#endif /* SMTC_IDLE_HOOK_DEBUG */
849 local_timer_interrupt(0, NULL, regs); 849 local_timer_interrupt(0, NULL, regs);
850 break;
851 case LINUX_SMP_IPI:
852 switch ((int)arg_copy) {
853 case SMP_RESCHEDULE_YOURSELF:
854 ipi_resched_interrupt(regs);
850 break; 855 break;
851 case LINUX_SMP_IPI: 856 case SMP_CALL_FUNCTION:
852 switch ((int)arg_copy) { 857 ipi_call_interrupt(regs);
853 case SMP_RESCHEDULE_YOURSELF:
854 ipi_resched_interrupt(regs);
855 break;
856 case SMP_CALL_FUNCTION:
857 ipi_call_interrupt(regs);
858 break;
859 default:
860 printk("Impossible SMTC IPI Argument 0x%x\n",
861 (int)arg_copy);
862 break;
863 }
864 break; 858 break;
865 default: 859 default:
866 printk("Impossible SMTC IPI Type 0x%x\n", type_copy); 860 printk("Impossible SMTC IPI Argument 0x%x\n",
861 (int)arg_copy);
867 break; 862 break;
863 }
864 break;
865 default:
866 printk("Impossible SMTC IPI Type 0x%x\n", type_copy);
867 break;
868 } 868 }
869} 869}
870 870
@@ -879,7 +879,7 @@ void deferred_smtc_ipi(struct pt_regs *regs)
879 * Test is not atomic, but much faster than a dequeue, 879 * Test is not atomic, but much faster than a dequeue,
880 * and the vast majority of invocations will have a null queue. 880 * and the vast majority of invocations will have a null queue.
881 */ 881 */
882 if(IPIQ[q].head != NULL) { 882 if (IPIQ[q].head != NULL) {
883 while((pipi = smtc_ipi_dq(&IPIQ[q])) != NULL) { 883 while((pipi = smtc_ipi_dq(&IPIQ[q])) != NULL) {
884 /* ipi_decode() should be called with interrupts off */ 884 /* ipi_decode() should be called with interrupts off */
885 local_irq_save(flags); 885 local_irq_save(flags);
@@ -1254,7 +1254,7 @@ void smtc_flush_tlb_asid(unsigned long asid)
1254 tlb_read(); 1254 tlb_read();
1255 ehb(); 1255 ehb();
1256 ehi = read_c0_entryhi(); 1256 ehi = read_c0_entryhi();
1257 if((ehi & ASID_MASK) == asid) { 1257 if ((ehi & ASID_MASK) == asid) {
1258 /* 1258 /*
1259 * Invalidate only entries with specified ASID, 1259 * Invalidate only entries with specified ASID,
1260 * makiing sure all entries differ. 1260 * makiing sure all entries differ.
diff --git a/arch/mips/kernel/time.c b/arch/mips/kernel/time.c
index 2393c11d5a20..170cb67f4ede 100644
--- a/arch/mips/kernel/time.c
+++ b/arch/mips/kernel/time.c
@@ -566,14 +566,13 @@ asmlinkage void ll_local_timer_interrupt(int irq, struct pt_regs *regs)
566 * 2) setup xtime based on rtc_mips_get_time(). 566 * 2) setup xtime based on rtc_mips_get_time().
567 * 3) choose a appropriate gettimeoffset routine. 567 * 3) choose a appropriate gettimeoffset routine.
568 * 4) calculate a couple of cached variables for later usage 568 * 4) calculate a couple of cached variables for later usage
569 * 5) board_timer_setup() - 569 * 5) plat_timer_setup() -
570 * a) (optional) over-write any choices made above by time_init(). 570 * a) (optional) over-write any choices made above by time_init().
571 * b) machine specific code should setup the timer irqaction. 571 * b) machine specific code should setup the timer irqaction.
572 * c) enable the timer interrupt 572 * c) enable the timer interrupt
573 */ 573 */
574 574
575void (*board_time_init)(void); 575void (*board_time_init)(void);
576void (*board_timer_setup)(struct irqaction *irq);
577 576
578unsigned int mips_hpt_frequency; 577unsigned int mips_hpt_frequency;
579 578
@@ -718,7 +717,7 @@ void __init time_init(void)
718 * to be NULL function so that we are sure the high-level code 717 * to be NULL function so that we are sure the high-level code
719 * is not invoked accidentally. 718 * is not invoked accidentally.
720 */ 719 */
721 board_timer_setup(&timer_irqaction); 720 plat_timer_setup(&timer_irqaction);
722} 721}
723 722
724#define FEBRUARY 2 723#define FEBRUARY 2
diff --git a/arch/mips/kernel/traps.c b/arch/mips/kernel/traps.c
index 8b95eca9ac74..954a198494ef 100644
--- a/arch/mips/kernel/traps.c
+++ b/arch/mips/kernel/traps.c
@@ -569,6 +569,8 @@ asmlinkage void do_ov(struct pt_regs *regs)
569 */ 569 */
570asmlinkage void do_fpe(struct pt_regs *regs, unsigned long fcr31) 570asmlinkage void do_fpe(struct pt_regs *regs, unsigned long fcr31)
571{ 571{
572 die_if_kernel("FP exception in kernel code", regs);
573
572 if (fcr31 & FPU_CSR_UNI_X) { 574 if (fcr31 & FPU_CSR_UNI_X) {
573 int sig; 575 int sig;
574 576
@@ -847,31 +849,29 @@ asmlinkage void do_mt(struct pt_regs *regs)
847{ 849{
848 int subcode; 850 int subcode;
849 851
850 die_if_kernel("MIPS MT Thread exception in kernel", regs);
851
852 subcode = (read_vpe_c0_vpecontrol() & VPECONTROL_EXCPT) 852 subcode = (read_vpe_c0_vpecontrol() & VPECONTROL_EXCPT)
853 >> VPECONTROL_EXCPT_SHIFT; 853 >> VPECONTROL_EXCPT_SHIFT;
854 switch (subcode) { 854 switch (subcode) {
855 case 0: 855 case 0:
856 printk(KERN_ERR "Thread Underflow\n"); 856 printk(KERN_DEBUG "Thread Underflow\n");
857 break; 857 break;
858 case 1: 858 case 1:
859 printk(KERN_ERR "Thread Overflow\n"); 859 printk(KERN_DEBUG "Thread Overflow\n");
860 break; 860 break;
861 case 2: 861 case 2:
862 printk(KERN_ERR "Invalid YIELD Qualifier\n"); 862 printk(KERN_DEBUG "Invalid YIELD Qualifier\n");
863 break; 863 break;
864 case 3: 864 case 3:
865 printk(KERN_ERR "Gating Storage Exception\n"); 865 printk(KERN_DEBUG "Gating Storage Exception\n");
866 break; 866 break;
867 case 4: 867 case 4:
868 printk(KERN_ERR "YIELD Scheduler Exception\n"); 868 printk(KERN_DEBUG "YIELD Scheduler Exception\n");
869 break; 869 break;
870 case 5: 870 case 5:
871 printk(KERN_ERR "Gating Storage Schedulier Exception\n"); 871 printk(KERN_DEBUG "Gating Storage Schedulier Exception\n");
872 break; 872 break;
873 default: 873 default:
874 printk(KERN_ERR "*** UNKNOWN THREAD EXCEPTION %d ***\n", 874 printk(KERN_DEBUG "*** UNKNOWN THREAD EXCEPTION %d ***\n",
875 subcode); 875 subcode);
876 break; 876 break;
877 } 877 }
@@ -980,10 +980,10 @@ void ejtag_exception_handler(struct pt_regs *regs)
980 unsigned long depc, old_epc; 980 unsigned long depc, old_epc;
981 unsigned int debug; 981 unsigned int debug;
982 982
983 printk("SDBBP EJTAG debug exception - not handled yet, just ignored!\n"); 983 printk(KERN_DEBUG "SDBBP EJTAG debug exception - not handled yet, just ignored!\n");
984 depc = read_c0_depc(); 984 depc = read_c0_depc();
985 debug = read_c0_debug(); 985 debug = read_c0_debug();
986 printk("c0_depc = %0*lx, DEBUG = %08x\n", field, depc, debug); 986 printk(KERN_DEBUG "c0_depc = %0*lx, DEBUG = %08x\n", field, depc, debug);
987 if (debug & 0x80000000) { 987 if (debug & 0x80000000) {
988 /* 988 /*
989 * In branch delay slot. 989 * In branch delay slot.
@@ -1001,7 +1001,7 @@ void ejtag_exception_handler(struct pt_regs *regs)
1001 write_c0_depc(depc); 1001 write_c0_depc(depc);
1002 1002
1003#if 0 1003#if 0
1004 printk("\n\n----- Enable EJTAG single stepping ----\n\n"); 1004 printk(KERN_DEBUG "\n\n----- Enable EJTAG single stepping ----\n\n");
1005 write_c0_debug(debug | 0x100); 1005 write_c0_debug(debug | 0x100);
1006#endif 1006#endif
1007} 1007}
diff --git a/arch/mips/kernel/vpe.c b/arch/mips/kernel/vpe.c
index 85d7df7b18e1..9ee0ec2cd067 100644
--- a/arch/mips/kernel/vpe.c
+++ b/arch/mips/kernel/vpe.c
@@ -28,7 +28,6 @@
28 * i.e cat spapp >/dev/vpe1. 28 * i.e cat spapp >/dev/vpe1.
29 */ 29 */
30 30
31#include <linux/config.h>
32#include <linux/kernel.h> 31#include <linux/kernel.h>
33#include <linux/module.h> 32#include <linux/module.h>
34#include <linux/fs.h> 33#include <linux/fs.h>
diff --git a/arch/mips/lasat/interrupt.c b/arch/mips/lasat/interrupt.c
index 9316a024a818..456be8fc961a 100644
--- a/arch/mips/lasat/interrupt.c
+++ b/arch/mips/lasat/interrupt.c
@@ -69,7 +69,7 @@ static void end_lasat_irq(unsigned int irq)
69 enable_lasat_irq(irq); 69 enable_lasat_irq(irq);
70} 70}
71 71
72static struct hw_interrupt_type lasat_irq_type = { 72static struct irq_chip lasat_irq_type = {
73 .typename = "Lasat", 73 .typename = "Lasat",
74 .startup = startup_lasat_irq, 74 .startup = startup_lasat_irq,
75 .shutdown = shutdown_lasat_irq, 75 .shutdown = shutdown_lasat_irq,
diff --git a/arch/mips/lasat/setup.c b/arch/mips/lasat/setup.c
index 2187e63c6d88..0ffc43c600d9 100644
--- a/arch/mips/lasat/setup.c
+++ b/arch/mips/lasat/setup.c
@@ -115,12 +115,9 @@ static void lasat_time_init(void)
115 mips_hpt_frequency = lasat_board_info.li_cpu_hz / 2; 115 mips_hpt_frequency = lasat_board_info.li_cpu_hz / 2;
116} 116}
117 117
118static void lasat_timer_setup(struct irqaction *irq) 118void __init plat_timer_setup(struct irqaction *irq)
119{ 119{
120 120 write_c0_compare( read_c0_count() + mips_hpt_frequency / HZ);
121 write_c0_compare(
122 read_c0_count() +
123 mips_hpt_frequency / HZ);
124 change_c0_status(ST0_IM, IE_IRQ0 | IE_IRQ5); 121 change_c0_status(ST0_IM, IE_IRQ0 | IE_IRQ5);
125} 122}
126 123
@@ -170,7 +167,6 @@ void __init plat_mem_setup(void)
170 lasat_reboot_setup(); 167 lasat_reboot_setup();
171 168
172 board_time_init = lasat_time_init; 169 board_time_init = lasat_time_init;
173 board_timer_setup = lasat_timer_setup;
174 170
175#ifdef CONFIG_DS1603 171#ifdef CONFIG_DS1603
176 ds1603 = &ds_defs[mips_machtype]; 172 ds1603 = &ds_defs[mips_machtype];
diff --git a/arch/mips/mips-boards/atlas/atlas_int.c b/arch/mips/mips-boards/atlas/atlas_int.c
index 9dd6b8925581..fb25e0377f11 100644
--- a/arch/mips/mips-boards/atlas/atlas_int.c
+++ b/arch/mips/mips-boards/atlas/atlas_int.c
@@ -73,7 +73,7 @@ static void end_atlas_irq(unsigned int irq)
73 enable_atlas_irq(irq); 73 enable_atlas_irq(irq);
74} 74}
75 75
76static struct hw_interrupt_type atlas_irq_type = { 76static struct irq_chip atlas_irq_type = {
77 .typename = "Atlas", 77 .typename = "Atlas",
78 .startup = startup_atlas_irq, 78 .startup = startup_atlas_irq,
79 .shutdown = shutdown_atlas_irq, 79 .shutdown = shutdown_atlas_irq,
diff --git a/arch/mips/mips-boards/atlas/atlas_setup.c b/arch/mips/mips-boards/atlas/atlas_setup.c
index 3a7c3d28aa0d..9871a91fdb07 100644
--- a/arch/mips/mips-boards/atlas/atlas_setup.c
+++ b/arch/mips/mips-boards/atlas/atlas_setup.c
@@ -35,7 +35,6 @@
35 35
36extern void mips_reboot_setup(void); 36extern void mips_reboot_setup(void);
37extern void mips_time_init(void); 37extern void mips_time_init(void);
38extern void mips_timer_setup(struct irqaction *irq);
39extern unsigned long mips_rtc_get_time(void); 38extern unsigned long mips_rtc_get_time(void);
40 39
41#ifdef CONFIG_KGDB 40#ifdef CONFIG_KGDB
@@ -63,7 +62,6 @@ void __init plat_mem_setup(void)
63 mips_reboot_setup(); 62 mips_reboot_setup();
64 63
65 board_time_init = mips_time_init; 64 board_time_init = mips_time_init;
66 board_timer_setup = mips_timer_setup;
67 rtc_mips_get_time = mips_rtc_get_time; 65 rtc_mips_get_time = mips_rtc_get_time;
68} 66}
69 67
diff --git a/arch/mips/mips-boards/generic/memory.c b/arch/mips/mips-boards/generic/memory.c
index c89fcf9e9c22..be80c5dd4a0c 100644
--- a/arch/mips/mips-boards/generic/memory.c
+++ b/arch/mips/mips-boards/generic/memory.c
@@ -47,43 +47,45 @@ static char *mtypes[3] = {
47}; 47};
48#endif 48#endif
49 49
50/* determined physical memory size, not overridden by command line args */
51unsigned long physical_memsize = 0L;
52
50struct prom_pmemblock * __init prom_getmdesc(void) 53struct prom_pmemblock * __init prom_getmdesc(void)
51{ 54{
52 char *memsize_str; 55 char *memsize_str;
53 unsigned int memsize; 56 unsigned int memsize;
54 char cmdline[CL_SIZE], *ptr; 57 char cmdline[CL_SIZE], *ptr;
55 58
56 /* Check the command line first for a memsize directive */ 59 /* otherwise look in the environment */
57 strcpy(cmdline, arcs_cmdline); 60 memsize_str = prom_getenv("memsize");
58 ptr = strstr(cmdline, "memsize="); 61 if (!memsize_str) {
59 if (ptr && (ptr != cmdline) && (*(ptr - 1) != ' ')) 62 prom_printf("memsize not set in boot prom, set to default (32Mb)\n");
60 ptr = strstr(ptr, " memsize="); 63 physical_memsize = 0x02000000;
61 64 } else {
62 if (ptr) {
63 memsize = memparse(ptr + 8, &ptr);
64 }
65 else {
66 /* otherwise look in the environment */
67 memsize_str = prom_getenv("memsize");
68 if (!memsize_str) {
69 prom_printf("memsize not set in boot prom, set to default (32Mb)\n");
70 memsize = 0x02000000;
71 } else {
72#ifdef DEBUG 65#ifdef DEBUG
73 prom_printf("prom_memsize = %s\n", memsize_str); 66 prom_printf("prom_memsize = %s\n", memsize_str);
74#endif 67#endif
75 memsize = simple_strtol(memsize_str, NULL, 0); 68 physical_memsize = simple_strtol(memsize_str, NULL, 0);
76 }
77 } 69 }
78 70
79#ifdef CONFIG_CPU_BIG_ENDIAN 71#ifdef CONFIG_CPU_BIG_ENDIAN
80 /* 72 /* SOC-it swaps, or perhaps doesn't swap, when DMA'ing the last
81 * SOC-it swaps, or perhaps doesn't swap, when DMA'ing the last 73 word of physical memory */
82 * word of physical memory 74 physical_memsize -= PAGE_SIZE;
83 */
84 memsize -= PAGE_SIZE;
85#endif 75#endif
86 76
77 /* Check the command line for a memsize directive that overrides
78 the physical/default amount */
79 strcpy(cmdline, arcs_cmdline);
80 ptr = strstr(cmdline, "memsize=");
81 if (ptr && (ptr != cmdline) && (*(ptr - 1) != ' '))
82 ptr = strstr(ptr, " memsize=");
83
84 if (ptr)
85 memsize = memparse(ptr + 8, &ptr);
86 else
87 memsize = physical_memsize;
88
87 memset(mdesc, 0, sizeof(mdesc)); 89 memset(mdesc, 0, sizeof(mdesc));
88 90
89 mdesc[0].type = yamon_dontuse; 91 mdesc[0].type = yamon_dontuse;
diff --git a/arch/mips/mips-boards/generic/time.c b/arch/mips/mips-boards/generic/time.c
index 5e207760826b..557bf961f36a 100644
--- a/arch/mips/mips-boards/generic/time.c
+++ b/arch/mips/mips-boards/generic/time.c
@@ -228,9 +228,7 @@ unsigned long __init mips_rtc_get_time(void)
228 228
229void __init mips_time_init(void) 229void __init mips_time_init(void)
230{ 230{
231 unsigned int est_freq, flags; 231 unsigned int est_freq;
232
233 local_irq_save(flags);
234 232
235 /* Set Data mode - binary. */ 233 /* Set Data mode - binary. */
236 CMOS_WRITE(CMOS_READ(RTC_CONTROL) | RTC_DM_BINARY, RTC_CONTROL); 234 CMOS_WRITE(CMOS_READ(RTC_CONTROL) | RTC_DM_BINARY, RTC_CONTROL);
@@ -241,11 +239,9 @@ void __init mips_time_init(void)
241 (est_freq%1000000)*100/1000000); 239 (est_freq%1000000)*100/1000000);
242 240
243 cpu_khz = est_freq / 1000; 241 cpu_khz = est_freq / 1000;
244
245 local_irq_restore(flags);
246} 242}
247 243
248void __init mips_timer_setup(struct irqaction *irq) 244void __init plat_timer_setup(struct irqaction *irq)
249{ 245{
250 if (cpu_has_veic) { 246 if (cpu_has_veic) {
251 set_vi_handler (MSC01E_INT_CPUCTR, mips_timer_dispatch); 247 set_vi_handler (MSC01E_INT_CPUCTR, mips_timer_dispatch);
diff --git a/arch/mips/mips-boards/malta/malta_setup.c b/arch/mips/mips-boards/malta/malta_setup.c
index bc4ac6f01877..ab460f805bef 100644
--- a/arch/mips/mips-boards/malta/malta_setup.c
+++ b/arch/mips/mips-boards/malta/malta_setup.c
@@ -19,7 +19,7 @@
19#include <linux/sched.h> 19#include <linux/sched.h>
20#include <linux/ioport.h> 20#include <linux/ioport.h>
21#include <linux/pci.h> 21#include <linux/pci.h>
22#include <linux/tty.h> 22#include <linux/screen_info.h>
23 23
24#ifdef CONFIG_MTD 24#ifdef CONFIG_MTD
25#include <linux/mtd/partitions.h> 25#include <linux/mtd/partitions.h>
@@ -44,7 +44,6 @@
44 44
45extern void mips_reboot_setup(void); 45extern void mips_reboot_setup(void);
46extern void mips_time_init(void); 46extern void mips_time_init(void);
47extern void mips_timer_setup(struct irqaction *irq);
48extern unsigned long mips_rtc_get_time(void); 47extern unsigned long mips_rtc_get_time(void);
49 48
50#ifdef CONFIG_KGDB 49#ifdef CONFIG_KGDB
@@ -223,6 +222,5 @@ void __init plat_mem_setup(void)
223 mips_reboot_setup(); 222 mips_reboot_setup();
224 223
225 board_time_init = mips_time_init; 224 board_time_init = mips_time_init;
226 board_timer_setup = mips_timer_setup;
227 rtc_mips_get_time = mips_rtc_get_time; 225 rtc_mips_get_time = mips_rtc_get_time;
228} 226}
diff --git a/arch/mips/mips-boards/sead/sead_setup.c b/arch/mips/mips-boards/sead/sead_setup.c
index a856bd664879..a189dec7c7bc 100644
--- a/arch/mips/mips-boards/sead/sead_setup.c
+++ b/arch/mips/mips-boards/sead/sead_setup.c
@@ -35,7 +35,6 @@
35 35
36extern void mips_reboot_setup(void); 36extern void mips_reboot_setup(void);
37extern void mips_time_init(void); 37extern void mips_time_init(void);
38extern void mips_timer_setup(struct irqaction *irq);
39 38
40static void __init serial_init(void); 39static void __init serial_init(void);
41 40
@@ -51,7 +50,6 @@ void __init plat_mem_setup(void)
51 serial_init (); 50 serial_init ();
52 51
53 board_time_init = mips_time_init; 52 board_time_init = mips_time_init;
54 board_timer_setup = mips_timer_setup;
55 53
56 mips_reboot_setup(); 54 mips_reboot_setup();
57} 55}
diff --git a/arch/mips/mips-boards/sim/Makefile b/arch/mips/mips-boards/sim/Makefile
index 5b977de4ecff..a12e32aafde0 100644
--- a/arch/mips/mips-boards/sim/Makefile
+++ b/arch/mips/mips-boards/sim/Makefile
@@ -15,6 +15,5 @@
15# 59 Temple Place - Suite 330, Boston MA 02111-1307, USA. 15# 59 Temple Place - Suite 330, Boston MA 02111-1307, USA.
16# 16#
17 17
18obj-y := sim_setup.o sim_mem.o sim_time.o sim_printf.o sim_int.o sim_irq.o \ 18obj-y := sim_setup.o sim_mem.o sim_time.o sim_printf.o sim_int.o sim_cmdline.o
19 sim_cmdline.o
20obj-$(CONFIG_SMP) += sim_smp.o 19obj-$(CONFIG_SMP) += sim_smp.o
diff --git a/arch/mips/mips-boards/sim/sim_IRQ.c b/arch/mips/mips-boards/sim/sim_IRQ.c
deleted file mode 100644
index ec549f3e2011..000000000000
--- a/arch/mips/mips-boards/sim/sim_IRQ.c
+++ /dev/null
@@ -1,147 +0,0 @@
1/*
2 * Carsten Langgaard, carstenl@mips.com
3 * Copyright (C) 1999, 2000 MIPS Technologies, Inc. All rights reserved.
4 *
5 * This program is free software; you can distribute it and/or modify it
6 * under the terms of the GNU General Public License (Version 2) as
7 * published by the Free Software Foundation.
8 *
9 * This program is distributed in the hope it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12 * for more details.
13 *
14 * You should have received a copy of the GNU General Public License along
15 * with this program; if not, write to the Free Software Foundation, Inc.,
16 * 59 Temple Place - Suite 330, Boston MA 02111-1307, USA.
17 *
18 * Interrupt exception dispatch code.
19 */
20
21#include <asm/asm.h>
22#include <asm/mipsregs.h>
23#include <asm/regdef.h>
24#include <asm/stackframe.h>
25
26/* A lot of complication here is taken away because:
27 *
28 * 1) We handle one interrupt and return, sitting in a loop and moving across
29 * all the pending IRQ bits in the cause register is _NOT_ the answer, the
30 * common case is one pending IRQ so optimize in that direction.
31 *
32 * 2) We need not check against bits in the status register IRQ mask, that
33 * would make this routine slow as hell.
34 *
35 * 3) Linux only thinks in terms of all IRQs on or all IRQs off, nothing in
36 * between like BSD spl() brain-damage.
37 *
38 * Furthermore, the IRQs on the MIPS board look basically (barring software
39 * IRQs which we don't use at all and all external interrupt sources are
40 * combined together on hardware interrupt 0 (MIPS IRQ 2)) like:
41 *
42 * MIPS IRQ Source
43 * -------- ------
44 * 0 Software (ignored)
45 * 1 Software (ignored)
46 * 2 Combined hardware interrupt (hw0)
47 * 3 Hardware (ignored)
48 * 4 Hardware (ignored)
49 * 5 Hardware (ignored)
50 * 6 Hardware (ignored)
51 * 7 R4k timer (what we use)
52 *
53 * Note: On the SEAD board thing are a little bit different.
54 * Here IRQ 2 (hw0) is wired to the UART0 and IRQ 3 (hw1) is wired
55 * wired to UART1.
56 *
57 * We handle the IRQ according to _our_ priority which is:
58 *
59 * Highest ---- R4k Timer
60 * Lowest ---- Combined hardware interrupt
61 *
62 * then we just return, if multiple IRQs are pending then we will just take
63 * another exception, big deal.
64 */
65
66 .text
67 .set noreorder
68 .set noat
69 .align 5
70 NESTED(mipsIRQ, PT_SIZE, sp)
71 SAVE_ALL
72 CLI
73 .set at
74
75 mfc0 s0, CP0_CAUSE # get irq bits
76 mfc0 s1, CP0_STATUS # get irq mask
77 and s0, s1
78
79 /* First we check for r4k counter/timer IRQ. */
80 andi a0, s0, CAUSEF_IP7
81 beq a0, zero, 1f
82 andi a0, s0, CAUSEF_IP2 # delay slot, check hw0 interrupt
83
84 /* Wheee, a timer interrupt. */
85 move a0, sp
86 jal mips_timer_interrupt
87 nop
88
89 j ret_from_irq
90 nop
91
921:
93#if defined(CONFIG_MIPS_SEAD)
94 beq a0, zero, 1f
95 andi a0, s0, CAUSEF_IP3 # delay slot, check hw1 interrupt
96#else
97 beq a0, zero, 1f # delay slot, check hw3 interrupt
98 andi a0, s0, CAUSEF_IP5
99#endif
100
101 /* Wheee, combined hardware level zero interrupt. */
102#if defined(CONFIG_MIPS_ATLAS)
103 jal atlas_hw0_irqdispatch
104#elif defined(CONFIG_MIPS_MALTA)
105 jal malta_hw0_irqdispatch
106#elif defined(CONFIG_MIPS_SEAD)
107 jal sead_hw0_irqdispatch
108#else
109#error "MIPS board not supported\n"
110#endif
111 move a0, sp # delay slot
112
113 j ret_from_irq
114 nop # delay slot
115
1161:
117#if defined(CONFIG_MIPS_SEAD)
118 beq a0, zero, 1f
119 andi a0, s0, CAUSEF_IP5 # delay slot, check hw3 interrupt
120 jal sead_hw1_irqdispatch
121 move a0, sp # delay slot
122 j ret_from_irq
123 nop # delay slot
1241:
125#endif
126#if defined(CONFIG_MIPS_MALTA)
127 beq a0, zero, 1f # check hw3 (coreHI) interrupt
128 nop
129 jal corehi_irqdispatch
130 move a0, sp
131 j ret_from_irq
132 nop
1331:
134#endif
135 /*
136 * Here by mistake? This is possible, what can happen is that by the
137 * time we take the exception the IRQ pin goes low, so just leave if
138 * this is the case.
139 */
140 move a1,s0
141 PRINT("Got interrupt: c0_cause = %08x\n")
142 mfc0 a1, CP0_EPC
143 PRINT("c0_epc = %08x\n")
144
145 j ret_from_irq
146 nop
147 END(mipsIRQ)
diff --git a/arch/mips/mips-boards/sim/sim_irq.S b/arch/mips/mips-boards/sim/sim_irq.S
deleted file mode 100644
index b7444e74a6a1..000000000000
--- a/arch/mips/mips-boards/sim/sim_irq.S
+++ /dev/null
@@ -1,100 +0,0 @@
1/*
2 * Copyright (C) 1999, 2005 MIPS Technologies, Inc. All rights reserved.
3 *
4 * This program is free software; you can distribute it and/or modify it
5 * under the terms of the GNU General Public License (Version 2) as
6 * published by the Free Software Foundation.
7 *
8 * This program is distributed in the hope it will be useful, but WITHOUT
9 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
10 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
11 * for more details.
12 *
13 * You should have received a copy of the GNU General Public License along
14 * with this program; if not, write to the Free Software Foundation, Inc.,
15 * 59 Temple Place - Suite 330, Boston MA 02111-1307, USA.
16 *
17 * Interrupt exception dispatch code.
18 *
19 */
20
21#include <asm/asm.h>
22#include <asm/mipsregs.h>
23#include <asm/regdef.h>
24#include <asm/stackframe.h>
25
26#include <asm/mips-boards/simint.h>
27
28
29 .text
30 .set noreorder
31 .set noat
32 .align 5
33 NESTED(simIRQ, PT_SIZE, sp)
34 SAVE_ALL
35 CLI
36 .set at
37
38 mfc0 s0, CP0_CAUSE # get irq bits
39 mfc0 s1, CP0_STATUS # get irq mask
40 andi s0, ST0_IM # CAUSE.CE may be non-zero!
41 and s0, s1
42
43#if defined(CONFIG_CPU_MIPS32) || defined(CONFIG_CPU_MIPS64)
44 .set mips32
45 clz a0, s0
46 .set mips0
47 negu a0
48 addu a0, 31-CAUSEB_IP
49 bltz a0, spurious
50#else
51 beqz s0, spurious
52 li a0, 7
53
54 and t0, s0, 0xf000
55 sltiu t0, t0, 1
56 sll t0, 2
57 subu a0, t0
58 sll s0, t0
59
60 and t0, s0, 0xc000
61 sltiu t0, t0, 1
62 sll t0, 1
63 subu a0, t0
64 sll s0, t0
65
66 and t0, s0, 0x8000
67 sltiu t0, t0, 1
68 # sll t0, 0
69 subu a0, t0
70 # sll s0, t0
71#endif
72
73#ifdef CASCADE_IRQ
74 li a1, CASCADE_IRQ
75 bne a0, a1, 1f
76 addu a0, MIPSCPU_INT_BASE
77
78 jal CASCADE_DISPATCH
79 move a0, sp
80
81 j ret_from_irq
82 nop
831:
84#else
85 addu a0, MIPSCPU_INT_BASE
86#endif
87
88 jal do_IRQ
89 move a1, sp
90
91 j ret_from_irq
92 nop
93
94
95spurious:
96 jal spurious_interrupt
97 nop
98 j ret_from_irq
99 nop
100 END(simIRQ)
diff --git a/arch/mips/mips-boards/sim/sim_setup.c b/arch/mips/mips-boards/sim/sim_setup.c
index 3d4a785b565a..2659c1c3b78d 100644
--- a/arch/mips/mips-boards/sim/sim_setup.c
+++ b/arch/mips/mips-boards/sim/sim_setup.c
@@ -37,7 +37,6 @@
37 37
38 38
39extern void sim_time_init(void); 39extern void sim_time_init(void);
40extern void sim_timer_setup(struct irqaction *irq);
41static void __init serial_init(void); 40static void __init serial_init(void);
42unsigned int _isbonito = 0; 41unsigned int _isbonito = 0;
43 42
@@ -56,7 +55,6 @@ void __init plat_mem_setup(void)
56 serial_init(); 55 serial_init();
57 56
58 board_time_init = sim_time_init; 57 board_time_init = sim_time_init;
59 board_timer_setup = sim_timer_setup;
60 prom_printf("Linux started...\n"); 58 prom_printf("Linux started...\n");
61 59
62#ifdef CONFIG_MT_SMP 60#ifdef CONFIG_MT_SMP
diff --git a/arch/mips/mips-boards/sim/sim_time.c b/arch/mips/mips-boards/sim/sim_time.c
index e7f6003357f7..230929ecd57f 100644
--- a/arch/mips/mips-boards/sim/sim_time.c
+++ b/arch/mips/mips-boards/sim/sim_time.c
@@ -33,8 +33,6 @@
33 33
34unsigned long cpu_khz; 34unsigned long cpu_khz;
35 35
36extern asmlinkage void ll_local_timer_interrupt(int irq, struct pt_regs *regs);
37
38irqreturn_t sim_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) 36irqreturn_t sim_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs)
39{ 37{
40#ifdef CONFIG_SMP 38#ifdef CONFIG_SMP
@@ -185,7 +183,7 @@ static void mips_timer_dispatch (struct pt_regs *regs)
185} 183}
186 184
187 185
188void __init sim_timer_setup(struct irqaction *irq) 186void __init plat_timer_setup(struct irqaction *irq)
189{ 187{
190 if (cpu_has_veic) { 188 if (cpu_has_veic) {
191 set_vi_handler(MSC01E_INT_CPUCTR, mips_timer_dispatch); 189 set_vi_handler(MSC01E_INT_CPUCTR, mips_timer_dispatch);
diff --git a/arch/mips/mm/c-r4k.c b/arch/mips/mm/c-r4k.c
index 857b726f4d41..069803f58f3b 100644
--- a/arch/mips/mm/c-r4k.c
+++ b/arch/mips/mm/c-r4k.c
@@ -578,7 +578,7 @@ static inline void local_r4k_flush_icache_page(void *args)
578 * secondary cache will result in any entries in the primary caches 578 * secondary cache will result in any entries in the primary caches
579 * also getting invalidated which hopefully is a bit more economical. 579 * also getting invalidated which hopefully is a bit more economical.
580 */ 580 */
581 if (cpu_has_subset_pcaches) { 581 if (cpu_has_inclusive_pcaches) {
582 unsigned long addr = (unsigned long) page_address(page); 582 unsigned long addr = (unsigned long) page_address(page);
583 583
584 r4k_blast_scache_page(addr); 584 r4k_blast_scache_page(addr);
@@ -634,7 +634,7 @@ static void r4k_dma_cache_wback_inv(unsigned long addr, unsigned long size)
634 /* Catch bad driver code */ 634 /* Catch bad driver code */
635 BUG_ON(size == 0); 635 BUG_ON(size == 0);
636 636
637 if (cpu_has_subset_pcaches) { 637 if (cpu_has_inclusive_pcaches) {
638 if (size >= scache_size) 638 if (size >= scache_size)
639 r4k_blast_scache(); 639 r4k_blast_scache();
640 else 640 else
@@ -662,7 +662,7 @@ static void r4k_dma_cache_inv(unsigned long addr, unsigned long size)
662 /* Catch bad driver code */ 662 /* Catch bad driver code */
663 BUG_ON(size == 0); 663 BUG_ON(size == 0);
664 664
665 if (cpu_has_subset_pcaches) { 665 if (cpu_has_inclusive_pcaches) {
666 if (size >= scache_size) 666 if (size >= scache_size)
667 r4k_blast_scache(); 667 r4k_blast_scache();
668 else 668 else
@@ -862,15 +862,18 @@ static void __init probe_pcache(void)
862 break; 862 break;
863 863
864 case CPU_VR4133: 864 case CPU_VR4133:
865 write_c0_config(config & ~CONF_EB); 865 write_c0_config(config & ~VR41_CONF_P4K);
866 case CPU_VR4131: 866 case CPU_VR4131:
867 /* Workaround for cache instruction bug of VR4131 */ 867 /* Workaround for cache instruction bug of VR4131 */
868 if (c->processor_id == 0x0c80U || c->processor_id == 0x0c81U || 868 if (c->processor_id == 0x0c80U || c->processor_id == 0x0c81U ||
869 c->processor_id == 0x0c82U) { 869 c->processor_id == 0x0c82U) {
870 config &= ~0x00000030U; 870 config |= 0x00400000U;
871 config |= 0x00410000U; 871 if (c->processor_id == 0x0c80U)
872 config |= VR41_CONF_BP;
872 write_c0_config(config); 873 write_c0_config(config);
873 } 874 } else
875 c->options |= MIPS_CPU_CACHE_CDEX_P;
876
874 icache_size = 1 << (10 + ((config & CONF_IC) >> 9)); 877 icache_size = 1 << (10 + ((config & CONF_IC) >> 9));
875 c->icache.linesz = 16 << ((config & CONF_IB) >> 5); 878 c->icache.linesz = 16 << ((config & CONF_IB) >> 5);
876 c->icache.ways = 2; 879 c->icache.ways = 2;
@@ -880,8 +883,6 @@ static void __init probe_pcache(void)
880 c->dcache.linesz = 16 << ((config & CONF_DB) >> 4); 883 c->dcache.linesz = 16 << ((config & CONF_DB) >> 4);
881 c->dcache.ways = 2; 884 c->dcache.ways = 2;
882 c->dcache.waybit = __ffs(dcache_size/2); 885 c->dcache.waybit = __ffs(dcache_size/2);
883
884 c->options |= MIPS_CPU_CACHE_CDEX_P;
885 break; 886 break;
886 887
887 case CPU_VR41XX: 888 case CPU_VR41XX:
@@ -1192,7 +1193,7 @@ static void __init setup_scache(void)
1192 printk("Unified secondary cache %ldkB %s, linesize %d bytes.\n", 1193 printk("Unified secondary cache %ldkB %s, linesize %d bytes.\n",
1193 scache_size >> 10, way_string[c->scache.ways], c->scache.linesz); 1194 scache_size >> 10, way_string[c->scache.ways], c->scache.linesz);
1194 1195
1195 c->options |= MIPS_CPU_SUBSET_CACHES; 1196 c->options |= MIPS_CPU_INCLUSIVE_CACHES;
1196} 1197}
1197 1198
1198void au1x00_fixup_config_od(void) 1199void au1x00_fixup_config_od(void)
diff --git a/arch/mips/mm/init.c b/arch/mips/mm/init.c
index 802bdd32aa2b..c52497bb102a 100644
--- a/arch/mips/mm/init.c
+++ b/arch/mips/mm/init.c
@@ -139,10 +139,36 @@ void __init fixrange_init(unsigned long start, unsigned long end,
139#ifndef CONFIG_NEED_MULTIPLE_NODES 139#ifndef CONFIG_NEED_MULTIPLE_NODES
140extern void pagetable_init(void); 140extern void pagetable_init(void);
141 141
142static int __init page_is_ram(unsigned long pagenr)
143{
144 int i;
145
146 for (i = 0; i < boot_mem_map.nr_map; i++) {
147 unsigned long addr, end;
148
149 if (boot_mem_map.map[i].type != BOOT_MEM_RAM)
150 /* not usable memory */
151 continue;
152
153 addr = PFN_UP(boot_mem_map.map[i].addr);
154 end = PFN_DOWN(boot_mem_map.map[i].addr +
155 boot_mem_map.map[i].size);
156
157 if (pagenr >= addr && pagenr < end)
158 return 1;
159 }
160
161 return 0;
162}
163
142void __init paging_init(void) 164void __init paging_init(void)
143{ 165{
144 unsigned long zones_size[MAX_NR_ZONES] = {0, 0, 0}; 166 unsigned long zones_size[] = { [0 ... MAX_NR_ZONES - 1] = 0 };
145 unsigned long max_dma, high, low; 167 unsigned long max_dma, high, low;
168#ifndef CONFIG_FLATMEM
169 unsigned long zholes_size[] = { [0 ... MAX_NR_ZONES - 1] = 0 };
170 unsigned long i, j, pfn;
171#endif
146 172
147 pagetable_init(); 173 pagetable_init();
148 174
@@ -174,29 +200,16 @@ void __init paging_init(void)
174 zones_size[ZONE_HIGHMEM] = high - low; 200 zones_size[ZONE_HIGHMEM] = high - low;
175#endif 201#endif
176 202
203#ifdef CONFIG_FLATMEM
177 free_area_init(zones_size); 204 free_area_init(zones_size);
178} 205#else
179 206 pfn = 0;
180static inline int page_is_ram(unsigned long pagenr) 207 for (i = 0; i < MAX_NR_ZONES; i++)
181{ 208 for (j = 0; j < zones_size[i]; j++, pfn++)
182 int i; 209 if (!page_is_ram(pfn))
183 210 zholes_size[i]++;
184 for (i = 0; i < boot_mem_map.nr_map; i++) { 211 free_area_init_node(0, NODE_DATA(0), zones_size, 0, zholes_size);
185 unsigned long addr, end; 212#endif
186
187 if (boot_mem_map.map[i].type != BOOT_MEM_RAM)
188 /* not usable memory */
189 continue;
190
191 addr = PFN_UP(boot_mem_map.map[i].addr);
192 end = PFN_DOWN(boot_mem_map.map[i].addr +
193 boot_mem_map.map[i].size);
194
195 if (pagenr >= addr && pagenr < end)
196 return 1;
197 }
198
199 return 0;
200} 213}
201 214
202static struct kcore_list kcore_mem, kcore_vmalloc; 215static struct kcore_list kcore_mem, kcore_vmalloc;
@@ -213,9 +226,9 @@ void __init mem_init(void)
213#ifdef CONFIG_DISCONTIGMEM 226#ifdef CONFIG_DISCONTIGMEM
214#error "CONFIG_HIGHMEM and CONFIG_DISCONTIGMEM dont work together yet" 227#error "CONFIG_HIGHMEM and CONFIG_DISCONTIGMEM dont work together yet"
215#endif 228#endif
216 max_mapnr = num_physpages = highend_pfn; 229 max_mapnr = highend_pfn;
217#else 230#else
218 max_mapnr = num_physpages = max_low_pfn; 231 max_mapnr = max_low_pfn;
219#endif 232#endif
220 high_memory = (void *) __va(max_low_pfn << PAGE_SHIFT); 233 high_memory = (void *) __va(max_low_pfn << PAGE_SHIFT);
221 234
@@ -229,6 +242,7 @@ void __init mem_init(void)
229 if (PageReserved(pfn_to_page(tmp))) 242 if (PageReserved(pfn_to_page(tmp)))
230 reservedpages++; 243 reservedpages++;
231 } 244 }
245 num_physpages = ram;
232 246
233#ifdef CONFIG_HIGHMEM 247#ifdef CONFIG_HIGHMEM
234 for (tmp = highstart_pfn; tmp < highend_pfn; tmp++) { 248 for (tmp = highstart_pfn; tmp < highend_pfn; tmp++) {
@@ -247,6 +261,7 @@ void __init mem_init(void)
247 totalhigh_pages++; 261 totalhigh_pages++;
248 } 262 }
249 totalram_pages += totalhigh_pages; 263 totalram_pages += totalhigh_pages;
264 num_physpages += totalhigh_pages;
250#endif 265#endif
251 266
252 codesize = (unsigned long) &_etext - (unsigned long) &_text; 267 codesize = (unsigned long) &_etext - (unsigned long) &_text;
diff --git a/arch/mips/mm/pgtable.c b/arch/mips/mm/pgtable.c
index 792c6eb44232..c93aa6cbcaca 100644
--- a/arch/mips/mm/pgtable.c
+++ b/arch/mips/mm/pgtable.c
@@ -15,6 +15,8 @@ void show_mem(void)
15 printk("Free swap: %6ldkB\n", nr_swap_pages<<(PAGE_SHIFT-10)); 15 printk("Free swap: %6ldkB\n", nr_swap_pages<<(PAGE_SHIFT-10));
16 pfn = max_mapnr; 16 pfn = max_mapnr;
17 while (pfn-- > 0) { 17 while (pfn-- > 0) {
18 if (!pfn_valid(pfn))
19 continue;
18 page = pfn_to_page(pfn); 20 page = pfn_to_page(pfn);
19 total++; 21 total++;
20 if (PageHighMem(page)) 22 if (PageHighMem(page))
diff --git a/arch/mips/mm/tlbex.c b/arch/mips/mm/tlbex.c
index e1a8139fc8fb..375e0991505d 100644
--- a/arch/mips/mm/tlbex.c
+++ b/arch/mips/mm/tlbex.c
@@ -5,7 +5,7 @@
5 * 5 *
6 * Synthesize TLB refill handlers at runtime. 6 * Synthesize TLB refill handlers at runtime.
7 * 7 *
8 * Copyright (C) 2004,2005 by Thiemo Seufer 8 * Copyright (C) 2004,2005,2006 by Thiemo Seufer
9 * Copyright (C) 2005 Maciej W. Rozycki 9 * Copyright (C) 2005 Maciej W. Rozycki
10 * Copyright (C) 2006 Ralf Baechle (ralf@linux-mips.org) 10 * Copyright (C) 2006 Ralf Baechle (ralf@linux-mips.org)
11 * 11 *
@@ -35,8 +35,6 @@
35#include <asm/smp.h> 35#include <asm/smp.h>
36#include <asm/war.h> 36#include <asm/war.h>
37 37
38/* #define DEBUG_TLB */
39
40static __init int __attribute__((unused)) r45k_bvahwbug(void) 38static __init int __attribute__((unused)) r45k_bvahwbug(void)
41{ 39{
42 /* XXX: We should probe for the presence of this bug, but we don't. */ 40 /* XXX: We should probe for the presence of this bug, but we don't. */
@@ -728,6 +726,7 @@ static void __init build_r3000_tlb_refill_handler(void)
728{ 726{
729 long pgdc = (long)pgd_current; 727 long pgdc = (long)pgd_current;
730 u32 *p; 728 u32 *p;
729 int i;
731 730
732 memset(tlb_handler, 0, sizeof(tlb_handler)); 731 memset(tlb_handler, 0, sizeof(tlb_handler));
733 p = tlb_handler; 732 p = tlb_handler;
@@ -753,16 +752,14 @@ static void __init build_r3000_tlb_refill_handler(void)
753 if (p > tlb_handler + 32) 752 if (p > tlb_handler + 32)
754 panic("TLB refill handler space exceeded"); 753 panic("TLB refill handler space exceeded");
755 754
756 printk("Synthesized TLB refill handler (%u instructions).\n", 755 pr_info("Synthesized TLB refill handler (%u instructions).\n",
757 (unsigned int)(p - tlb_handler)); 756 (unsigned int)(p - tlb_handler));
758#ifdef DEBUG_TLB
759 {
760 int i;
761 757
762 for (i = 0; i < (p - tlb_handler); i++) 758 pr_debug("\t.set push\n");
763 printk("%08x\n", tlb_handler[i]); 759 pr_debug("\t.set noreorder\n");
764 } 760 for (i = 0; i < (p - tlb_handler); i++)
765#endif 761 pr_debug("\t.word 0x%08x\n", tlb_handler[i]);
762 pr_debug("\t.set pop\n");
766 763
767 memcpy((void *)ebase, tlb_handler, 0x80); 764 memcpy((void *)ebase, tlb_handler, 0x80);
768} 765}
@@ -1175,6 +1172,7 @@ static void __init build_r4000_tlb_refill_handler(void)
1175 struct reloc *r = relocs; 1172 struct reloc *r = relocs;
1176 u32 *f; 1173 u32 *f;
1177 unsigned int final_len; 1174 unsigned int final_len;
1175 int i;
1178 1176
1179 memset(tlb_handler, 0, sizeof(tlb_handler)); 1177 memset(tlb_handler, 0, sizeof(tlb_handler));
1180 memset(labels, 0, sizeof(labels)); 1178 memset(labels, 0, sizeof(labels));
@@ -1272,24 +1270,21 @@ static void __init build_r4000_tlb_refill_handler(void)
1272#endif /* CONFIG_64BIT */ 1270#endif /* CONFIG_64BIT */
1273 1271
1274 resolve_relocs(relocs, labels); 1272 resolve_relocs(relocs, labels);
1275 printk("Synthesized TLB refill handler (%u instructions).\n", 1273 pr_info("Synthesized TLB refill handler (%u instructions).\n",
1276 final_len); 1274 final_len);
1277
1278#ifdef DEBUG_TLB
1279 {
1280 int i;
1281 1275
1282 f = final_handler; 1276 f = final_handler;
1283#ifdef CONFIG_64BIT 1277#ifdef CONFIG_64BIT
1284 if (final_len > 32) 1278 if (final_len > 32)
1285 final_len = 64; 1279 final_len = 64;
1286 else 1280 else
1287 f = final_handler + 32; 1281 f = final_handler + 32;
1288#endif /* CONFIG_64BIT */ 1282#endif /* CONFIG_64BIT */
1289 for (i = 0; i < final_len; i++) 1283 pr_debug("\t.set push\n");
1290 printk("%08x\n", f[i]); 1284 pr_debug("\t.set noreorder\n");
1291 } 1285 for (i = 0; i < final_len; i++)
1292#endif 1286 pr_debug("\t.word 0x%08x\n", f[i]);
1287 pr_debug("\t.set pop\n");
1293 1288
1294 memcpy((void *)ebase, final_handler, 0x100); 1289 memcpy((void *)ebase, final_handler, 0x100);
1295} 1290}
@@ -1522,6 +1517,7 @@ static void __init build_r3000_tlb_load_handler(void)
1522 u32 *p = handle_tlbl; 1517 u32 *p = handle_tlbl;
1523 struct label *l = labels; 1518 struct label *l = labels;
1524 struct reloc *r = relocs; 1519 struct reloc *r = relocs;
1520 int i;
1525 1521
1526 memset(handle_tlbl, 0, sizeof(handle_tlbl)); 1522 memset(handle_tlbl, 0, sizeof(handle_tlbl));
1527 memset(labels, 0, sizeof(labels)); 1523 memset(labels, 0, sizeof(labels));
@@ -1541,17 +1537,14 @@ static void __init build_r3000_tlb_load_handler(void)
1541 panic("TLB load handler fastpath space exceeded"); 1537 panic("TLB load handler fastpath space exceeded");
1542 1538
1543 resolve_relocs(relocs, labels); 1539 resolve_relocs(relocs, labels);
1544 printk("Synthesized TLB load handler fastpath (%u instructions).\n", 1540 pr_info("Synthesized TLB load handler fastpath (%u instructions).\n",
1545 (unsigned int)(p - handle_tlbl)); 1541 (unsigned int)(p - handle_tlbl));
1546
1547#ifdef DEBUG_TLB
1548 {
1549 int i;
1550 1542
1551 for (i = 0; i < (p - handle_tlbl); i++) 1543 pr_debug("\t.set push\n");
1552 printk("%08x\n", handle_tlbl[i]); 1544 pr_debug("\t.set noreorder\n");
1553 } 1545 for (i = 0; i < (p - handle_tlbl); i++)
1554#endif 1546 pr_debug("\t.word 0x%08x\n", handle_tlbl[i]);
1547 pr_debug("\t.set pop\n");
1555} 1548}
1556 1549
1557static void __init build_r3000_tlb_store_handler(void) 1550static void __init build_r3000_tlb_store_handler(void)
@@ -1559,6 +1552,7 @@ static void __init build_r3000_tlb_store_handler(void)
1559 u32 *p = handle_tlbs; 1552 u32 *p = handle_tlbs;
1560 struct label *l = labels; 1553 struct label *l = labels;
1561 struct reloc *r = relocs; 1554 struct reloc *r = relocs;
1555 int i;
1562 1556
1563 memset(handle_tlbs, 0, sizeof(handle_tlbs)); 1557 memset(handle_tlbs, 0, sizeof(handle_tlbs));
1564 memset(labels, 0, sizeof(labels)); 1558 memset(labels, 0, sizeof(labels));
@@ -1578,17 +1572,14 @@ static void __init build_r3000_tlb_store_handler(void)
1578 panic("TLB store handler fastpath space exceeded"); 1572 panic("TLB store handler fastpath space exceeded");
1579 1573
1580 resolve_relocs(relocs, labels); 1574 resolve_relocs(relocs, labels);
1581 printk("Synthesized TLB store handler fastpath (%u instructions).\n", 1575 pr_info("Synthesized TLB store handler fastpath (%u instructions).\n",
1582 (unsigned int)(p - handle_tlbs)); 1576 (unsigned int)(p - handle_tlbs));
1583 1577
1584#ifdef DEBUG_TLB 1578 pr_debug("\t.set push\n");
1585 { 1579 pr_debug("\t.set noreorder\n");
1586 int i; 1580 for (i = 0; i < (p - handle_tlbs); i++)
1587 1581 pr_debug("\t.word 0x%08x\n", handle_tlbs[i]);
1588 for (i = 0; i < (p - handle_tlbs); i++) 1582 pr_debug("\t.set pop\n");
1589 printk("%08x\n", handle_tlbs[i]);
1590 }
1591#endif
1592} 1583}
1593 1584
1594static void __init build_r3000_tlb_modify_handler(void) 1585static void __init build_r3000_tlb_modify_handler(void)
@@ -1596,6 +1587,7 @@ static void __init build_r3000_tlb_modify_handler(void)
1596 u32 *p = handle_tlbm; 1587 u32 *p = handle_tlbm;
1597 struct label *l = labels; 1588 struct label *l = labels;
1598 struct reloc *r = relocs; 1589 struct reloc *r = relocs;
1590 int i;
1599 1591
1600 memset(handle_tlbm, 0, sizeof(handle_tlbm)); 1592 memset(handle_tlbm, 0, sizeof(handle_tlbm));
1601 memset(labels, 0, sizeof(labels)); 1593 memset(labels, 0, sizeof(labels));
@@ -1615,17 +1607,14 @@ static void __init build_r3000_tlb_modify_handler(void)
1615 panic("TLB modify handler fastpath space exceeded"); 1607 panic("TLB modify handler fastpath space exceeded");
1616 1608
1617 resolve_relocs(relocs, labels); 1609 resolve_relocs(relocs, labels);
1618 printk("Synthesized TLB modify handler fastpath (%u instructions).\n", 1610 pr_info("Synthesized TLB modify handler fastpath (%u instructions).\n",
1619 (unsigned int)(p - handle_tlbm)); 1611 (unsigned int)(p - handle_tlbm));
1620 1612
1621#ifdef DEBUG_TLB 1613 pr_debug("\t.set push\n");
1622 { 1614 pr_debug("\t.set noreorder\n");
1623 int i; 1615 for (i = 0; i < (p - handle_tlbm); i++)
1624 1616 pr_debug("\t.word 0x%08x\n", handle_tlbm[i]);
1625 for (i = 0; i < (p - handle_tlbm); i++) 1617 pr_debug("\t.set pop\n");
1626 printk("%08x\n", handle_tlbm[i]);
1627 }
1628#endif
1629} 1618}
1630 1619
1631/* 1620/*
@@ -1677,6 +1666,7 @@ static void __init build_r4000_tlb_load_handler(void)
1677 u32 *p = handle_tlbl; 1666 u32 *p = handle_tlbl;
1678 struct label *l = labels; 1667 struct label *l = labels;
1679 struct reloc *r = relocs; 1668 struct reloc *r = relocs;
1669 int i;
1680 1670
1681 memset(handle_tlbl, 0, sizeof(handle_tlbl)); 1671 memset(handle_tlbl, 0, sizeof(handle_tlbl));
1682 memset(labels, 0, sizeof(labels)); 1672 memset(labels, 0, sizeof(labels));
@@ -1704,17 +1694,14 @@ static void __init build_r4000_tlb_load_handler(void)
1704 panic("TLB load handler fastpath space exceeded"); 1694 panic("TLB load handler fastpath space exceeded");
1705 1695
1706 resolve_relocs(relocs, labels); 1696 resolve_relocs(relocs, labels);
1707 printk("Synthesized TLB load handler fastpath (%u instructions).\n", 1697 pr_info("Synthesized TLB load handler fastpath (%u instructions).\n",
1708 (unsigned int)(p - handle_tlbl)); 1698 (unsigned int)(p - handle_tlbl));
1709
1710#ifdef DEBUG_TLB
1711 {
1712 int i;
1713 1699
1714 for (i = 0; i < (p - handle_tlbl); i++) 1700 pr_debug("\t.set push\n");
1715 printk("%08x\n", handle_tlbl[i]); 1701 pr_debug("\t.set noreorder\n");
1716 } 1702 for (i = 0; i < (p - handle_tlbl); i++)
1717#endif 1703 pr_debug("\t.word 0x%08x\n", handle_tlbl[i]);
1704 pr_debug("\t.set pop\n");
1718} 1705}
1719 1706
1720static void __init build_r4000_tlb_store_handler(void) 1707static void __init build_r4000_tlb_store_handler(void)
@@ -1722,6 +1709,7 @@ static void __init build_r4000_tlb_store_handler(void)
1722 u32 *p = handle_tlbs; 1709 u32 *p = handle_tlbs;
1723 struct label *l = labels; 1710 struct label *l = labels;
1724 struct reloc *r = relocs; 1711 struct reloc *r = relocs;
1712 int i;
1725 1713
1726 memset(handle_tlbs, 0, sizeof(handle_tlbs)); 1714 memset(handle_tlbs, 0, sizeof(handle_tlbs));
1727 memset(labels, 0, sizeof(labels)); 1715 memset(labels, 0, sizeof(labels));
@@ -1740,17 +1728,14 @@ static void __init build_r4000_tlb_store_handler(void)
1740 panic("TLB store handler fastpath space exceeded"); 1728 panic("TLB store handler fastpath space exceeded");
1741 1729
1742 resolve_relocs(relocs, labels); 1730 resolve_relocs(relocs, labels);
1743 printk("Synthesized TLB store handler fastpath (%u instructions).\n", 1731 pr_info("Synthesized TLB store handler fastpath (%u instructions).\n",
1744 (unsigned int)(p - handle_tlbs)); 1732 (unsigned int)(p - handle_tlbs));
1745
1746#ifdef DEBUG_TLB
1747 {
1748 int i;
1749 1733
1750 for (i = 0; i < (p - handle_tlbs); i++) 1734 pr_debug("\t.set push\n");
1751 printk("%08x\n", handle_tlbs[i]); 1735 pr_debug("\t.set noreorder\n");
1752 } 1736 for (i = 0; i < (p - handle_tlbs); i++)
1753#endif 1737 pr_debug("\t.word 0x%08x\n", handle_tlbs[i]);
1738 pr_debug("\t.set pop\n");
1754} 1739}
1755 1740
1756static void __init build_r4000_tlb_modify_handler(void) 1741static void __init build_r4000_tlb_modify_handler(void)
@@ -1758,6 +1743,7 @@ static void __init build_r4000_tlb_modify_handler(void)
1758 u32 *p = handle_tlbm; 1743 u32 *p = handle_tlbm;
1759 struct label *l = labels; 1744 struct label *l = labels;
1760 struct reloc *r = relocs; 1745 struct reloc *r = relocs;
1746 int i;
1761 1747
1762 memset(handle_tlbm, 0, sizeof(handle_tlbm)); 1748 memset(handle_tlbm, 0, sizeof(handle_tlbm));
1763 memset(labels, 0, sizeof(labels)); 1749 memset(labels, 0, sizeof(labels));
@@ -1777,17 +1763,14 @@ static void __init build_r4000_tlb_modify_handler(void)
1777 panic("TLB modify handler fastpath space exceeded"); 1763 panic("TLB modify handler fastpath space exceeded");
1778 1764
1779 resolve_relocs(relocs, labels); 1765 resolve_relocs(relocs, labels);
1780 printk("Synthesized TLB modify handler fastpath (%u instructions).\n", 1766 pr_info("Synthesized TLB modify handler fastpath (%u instructions).\n",
1781 (unsigned int)(p - handle_tlbm)); 1767 (unsigned int)(p - handle_tlbm));
1782 1768
1783#ifdef DEBUG_TLB 1769 pr_debug("\t.set push\n");
1784 { 1770 pr_debug("\t.set noreorder\n");
1785 int i; 1771 for (i = 0; i < (p - handle_tlbm); i++)
1786 1772 pr_debug("\t.word 0x%08x\n", handle_tlbm[i]);
1787 for (i = 0; i < (p - handle_tlbm); i++) 1773 pr_debug("\t.set pop\n");
1788 printk("%08x\n", handle_tlbm[i]);
1789 }
1790#endif
1791} 1774}
1792 1775
1793void __init build_tlb_refill_handler(void) 1776void __init build_tlb_refill_handler(void)
diff --git a/arch/mips/momentum/jaguar_atx/setup.c b/arch/mips/momentum/jaguar_atx/setup.c
index b08e6a0456c1..e6fe2992227d 100644
--- a/arch/mips/momentum/jaguar_atx/setup.c
+++ b/arch/mips/momentum/jaguar_atx/setup.c
@@ -212,7 +212,7 @@ int m48t37y_set_time(unsigned long sec)
212 return 0; 212 return 0;
213} 213}
214 214
215void momenco_timer_setup(struct irqaction *irq) 215void __init plat_timer_setup(struct irqaction *irq)
216{ 216{
217 setup_irq(8, irq); 217 setup_irq(8, irq);
218} 218}
@@ -226,7 +226,6 @@ void momenco_time_init(void)
226 wire_stupidity_into_tlb(); 226 wire_stupidity_into_tlb();
227 227
228 mips_hpt_frequency = cpu_clock / 2; 228 mips_hpt_frequency = cpu_clock / 2;
229 board_timer_setup = momenco_timer_setup;
230 229
231 rtc_mips_get_time = m48t37y_get_time; 230 rtc_mips_get_time = m48t37y_get_time;
232 rtc_mips_set_time = m48t37y_set_time; 231 rtc_mips_set_time = m48t37y_set_time;
diff --git a/arch/mips/momentum/ocelot_3/setup.c b/arch/mips/momentum/ocelot_3/setup.c
index 8c53490ba6f1..435d0787329e 100644
--- a/arch/mips/momentum/ocelot_3/setup.c
+++ b/arch/mips/momentum/ocelot_3/setup.c
@@ -197,7 +197,7 @@ int m48t37y_set_time(unsigned long sec)
197 return 0; 197 return 0;
198} 198}
199 199
200void momenco_timer_setup(struct irqaction *irq) 200void __init plat_timer_setup(struct irqaction *irq)
201{ 201{
202 setup_irq(7, irq); /* Timer interrupt, unmask status IM7 */ 202 setup_irq(7, irq); /* Timer interrupt, unmask status IM7 */
203} 203}
@@ -211,7 +211,6 @@ void momenco_time_init(void)
211 * the Rm7900 and the Rm7065C 211 * the Rm7900 and the Rm7065C
212 */ 212 */
213 mips_hpt_frequency = cpu_clock / 2; 213 mips_hpt_frequency = cpu_clock / 2;
214 board_timer_setup = momenco_timer_setup;
215 214
216 rtc_mips_get_time = m48t37y_get_time; 215 rtc_mips_get_time = m48t37y_get_time;
217 rtc_mips_set_time = m48t37y_set_time; 216 rtc_mips_set_time = m48t37y_set_time;
diff --git a/arch/mips/momentum/ocelot_c/cpci-irq.c b/arch/mips/momentum/ocelot_c/cpci-irq.c
index 31d179c4673f..a5dc230520df 100644
--- a/arch/mips/momentum/ocelot_c/cpci-irq.c
+++ b/arch/mips/momentum/ocelot_c/cpci-irq.c
@@ -128,7 +128,7 @@ void ll_cpci_irq(struct pt_regs *regs)
128 128
129#define shutdown_cpci_irq disable_cpci_irq 129#define shutdown_cpci_irq disable_cpci_irq
130 130
131struct hw_interrupt_type cpci_irq_type = { 131struct irq_chip cpci_irq_type = {
132 .typename = "CPCI/FPGA", 132 .typename = "CPCI/FPGA",
133 .startup = startup_cpci_irq, 133 .startup = startup_cpci_irq,
134 .shutdown = shutdown_cpci_irq, 134 .shutdown = shutdown_cpci_irq,
diff --git a/arch/mips/momentum/ocelot_c/setup.c b/arch/mips/momentum/ocelot_c/setup.c
index 6a4519936ee9..36f570ecc6fb 100644
--- a/arch/mips/momentum/ocelot_c/setup.c
+++ b/arch/mips/momentum/ocelot_c/setup.c
@@ -209,7 +209,7 @@ int m48t37y_set_time(unsigned long sec)
209 return 0; 209 return 0;
210} 210}
211 211
212void momenco_timer_setup(struct irqaction *irq) 212void __init plat_timer_setup(struct irqaction *irq)
213{ 213{
214 setup_irq(7, irq); 214 setup_irq(7, irq);
215} 215}
@@ -224,7 +224,6 @@ void momenco_time_init(void)
224#error Unknown CPU for this board 224#error Unknown CPU for this board
225#endif 225#endif
226 printk("momenco_time_init cpu_clock=%d\n", cpu_clock); 226 printk("momenco_time_init cpu_clock=%d\n", cpu_clock);
227 board_timer_setup = momenco_timer_setup;
228 227
229 rtc_mips_get_time = m48t37y_get_time; 228 rtc_mips_get_time = m48t37y_get_time;
230 rtc_mips_set_time = m48t37y_set_time; 229 rtc_mips_set_time = m48t37y_set_time;
diff --git a/arch/mips/momentum/ocelot_c/uart-irq.c b/arch/mips/momentum/ocelot_c/uart-irq.c
index 852265026fd1..9f33d8f1d826 100644
--- a/arch/mips/momentum/ocelot_c/uart-irq.c
+++ b/arch/mips/momentum/ocelot_c/uart-irq.c
@@ -121,7 +121,7 @@ void ll_uart_irq(struct pt_regs *regs)
121 121
122#define shutdown_uart_irq disable_uart_irq 122#define shutdown_uart_irq disable_uart_irq
123 123
124struct hw_interrupt_type uart_irq_type = { 124struct irq_chip uart_irq_type = {
125 .typename = "UART/FPGA", 125 .typename = "UART/FPGA",
126 .startup = startup_uart_irq, 126 .startup = startup_uart_irq,
127 .shutdown = shutdown_uart_irq, 127 .shutdown = shutdown_uart_irq,
diff --git a/arch/mips/oprofile/op_model_mipsxx.c b/arch/mips/oprofile/op_model_mipsxx.c
index a09c5f901233..a175d673540f 100644
--- a/arch/mips/oprofile/op_model_mipsxx.c
+++ b/arch/mips/oprofile/op_model_mipsxx.c
@@ -49,6 +49,7 @@ static inline unsigned int r_c0_ ## r ## n(void) \
49 default: \ 49 default: \
50 BUG(); \ 50 BUG(); \
51 } \ 51 } \
52 return 0; \
52} \ 53} \
53 \ 54 \
54static inline void w_c0_ ## r ## n(unsigned int value) \ 55static inline void w_c0_ ## r ## n(unsigned int value) \
@@ -65,6 +66,7 @@ static inline void w_c0_ ## r ## n(unsigned int value) \
65 default: \ 66 default: \
66 BUG(); \ 67 BUG(); \
67 } \ 68 } \
69 return; \
68} \ 70} \
69 71
70__define_perf_accessors(perfcntr, 0, 2) 72__define_perf_accessors(perfcntr, 0, 2)
diff --git a/arch/mips/pci/fixup-emma2rh.c b/arch/mips/pci/fixup-emma2rh.c
index 3a34cd0efd6b..7abcfd175d43 100644
--- a/arch/mips/pci/fixup-emma2rh.c
+++ b/arch/mips/pci/fixup-emma2rh.c
@@ -23,7 +23,6 @@
23 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 23 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
24 */ 24 */
25 25
26#include <linux/config.h>
27#include <linux/kernel.h> 26#include <linux/kernel.h>
28#include <linux/init.h> 27#include <linux/init.h>
29#include <linux/types.h> 28#include <linux/types.h>
diff --git a/arch/mips/pci/fixup-mpc30x.c b/arch/mips/pci/fixup-mpc30x.c
index b67ddaa47122..3c9ae41f7517 100644
--- a/arch/mips/pci/fixup-mpc30x.c
+++ b/arch/mips/pci/fixup-mpc30x.c
@@ -21,7 +21,6 @@
21#include <linux/pci.h> 21#include <linux/pci.h>
22 22
23#include <asm/vr41xx/mpc30x.h> 23#include <asm/vr41xx/mpc30x.h>
24#include <asm/vr41xx/vrc4173.h>
25 24
26static const int internal_func_irqs[] __initdata = { 25static const int internal_func_irqs[] __initdata = {
27 VRC4173_CASCADE_IRQ, 26 VRC4173_CASCADE_IRQ,
diff --git a/arch/mips/pci/ops-emma2rh.c b/arch/mips/pci/ops-emma2rh.c
index e21b11bf66bc..38f181625e10 100644
--- a/arch/mips/pci/ops-emma2rh.c
+++ b/arch/mips/pci/ops-emma2rh.c
@@ -23,7 +23,6 @@
23 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 23 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
24 */ 24 */
25 25
26#include <linux/config.h>
27#include <linux/pci.h> 26#include <linux/pci.h>
28#include <linux/kernel.h> 27#include <linux/kernel.h>
29#include <linux/types.h> 28#include <linux/types.h>
diff --git a/arch/mips/pci/pci-emma2rh.c b/arch/mips/pci/pci-emma2rh.c
index 0f8b230057d3..d99591a0cdfe 100644
--- a/arch/mips/pci/pci-emma2rh.c
+++ b/arch/mips/pci/pci-emma2rh.c
@@ -23,7 +23,6 @@
23 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 23 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
24 */ 24 */
25 25
26#include <linux/config.h>
27#include <linux/kernel.h> 26#include <linux/kernel.h>
28#include <linux/init.h> 27#include <linux/init.h>
29#include <linux/types.h> 28#include <linux/types.h>
diff --git a/arch/mips/philips/pnx8550/common/int.c b/arch/mips/philips/pnx8550/common/int.c
index 8aca317d4624..099679a9dfb9 100644
--- a/arch/mips/philips/pnx8550/common/int.c
+++ b/arch/mips/philips/pnx8550/common/int.c
@@ -207,7 +207,7 @@ static void end_irq(unsigned int irq)
207 } 207 }
208} 208}
209 209
210static struct hw_interrupt_type level_irq_type = { 210static struct irq_chip level_irq_type = {
211 .typename = "PNX Level IRQ", 211 .typename = "PNX Level IRQ",
212 .startup = startup_irq, 212 .startup = startup_irq,
213 .shutdown = shutdown_irq, 213 .shutdown = shutdown_irq,
diff --git a/arch/mips/philips/pnx8550/common/setup.c b/arch/mips/philips/pnx8550/common/setup.c
index 8ac81a9dc293..36b0c8bc6c06 100644
--- a/arch/mips/philips/pnx8550/common/setup.c
+++ b/arch/mips/philips/pnx8550/common/setup.c
@@ -20,6 +20,7 @@
20#include <linux/init.h> 20#include <linux/init.h>
21#include <linux/sched.h> 21#include <linux/sched.h>
22#include <linux/ioport.h> 22#include <linux/ioport.h>
23#include <linux/irq.h>
23#include <linux/mm.h> 24#include <linux/mm.h>
24#include <linux/delay.h> 25#include <linux/delay.h>
25#include <linux/interrupt.h> 26#include <linux/interrupt.h>
@@ -48,10 +49,7 @@ extern void pnx8550_machine_halt(void);
48extern void pnx8550_machine_power_off(void); 49extern void pnx8550_machine_power_off(void);
49extern struct resource ioport_resource; 50extern struct resource ioport_resource;
50extern struct resource iomem_resource; 51extern struct resource iomem_resource;
51extern void (*board_time_init)(void);
52extern void pnx8550_time_init(void); 52extern void pnx8550_time_init(void);
53extern void (*board_timer_setup)(struct irqaction *irq);
54extern void pnx8550_timer_setup(struct irqaction *irq);
55extern void rs_kgdb_hook(int tty_no); 53extern void rs_kgdb_hook(int tty_no);
56extern void prom_printf(char *fmt, ...); 54extern void prom_printf(char *fmt, ...);
57extern char *prom_getcmdline(void); 55extern char *prom_getcmdline(void);
@@ -110,7 +108,6 @@ void __init plat_mem_setup(void)
110 pm_power_off = pnx8550_machine_power_off; 108 pm_power_off = pnx8550_machine_power_off;
111 109
112 board_time_init = pnx8550_time_init; 110 board_time_init = pnx8550_time_init;
113 board_timer_setup = pnx8550_timer_setup;
114 111
115 /* Clear the Global 2 Register, PCI Inta Output Enable Registers 112 /* Clear the Global 2 Register, PCI Inta Output Enable Registers
116 Bit 1:Enable DAC Powerdown 113 Bit 1:Enable DAC Powerdown
diff --git a/arch/mips/philips/pnx8550/common/time.c b/arch/mips/philips/pnx8550/common/time.c
index 70664ea96b92..0af655b1f330 100644
--- a/arch/mips/philips/pnx8550/common/time.c
+++ b/arch/mips/philips/pnx8550/common/time.c
@@ -70,16 +70,7 @@ void pnx8550_time_init(void)
70 mips_hpt_frequency = 27UL * ((1000000UL * n)/(m * pow2p)); 70 mips_hpt_frequency = 27UL * ((1000000UL * n)/(m * pow2p));
71} 71}
72 72
73/* 73void __init plat_timer_setup(struct irqaction *irq)
74 * pnx8550_timer_setup() - it does the following things:
75 *
76 * 5) board_timer_setup() -
77 * a) (optional) over-write any choices made above by time_init().
78 * b) machine specific code should setup the timer irqaction.
79 * c) enable the timer interrupt
80 */
81
82void __init pnx8550_timer_setup(struct irqaction *irq)
83{ 74{
84 int configPR; 75 int configPR;
85 76
diff --git a/arch/mips/pmc-sierra/yosemite/setup.c b/arch/mips/pmc-sierra/yosemite/setup.c
index aa0d6ff3c6ec..0a6ee8e5eec2 100644
--- a/arch/mips/pmc-sierra/yosemite/setup.c
+++ b/arch/mips/pmc-sierra/yosemite/setup.c
@@ -133,14 +133,13 @@ int m48t37y_set_time(unsigned long sec)
133 return 0; 133 return 0;
134} 134}
135 135
136void yosemite_timer_setup(struct irqaction *irq) 136void __init plat_timer_setup(struct irqaction *irq)
137{ 137{
138 setup_irq(7, irq); 138 setup_irq(7, irq);
139} 139}
140 140
141void yosemite_time_init(void) 141void yosemite_time_init(void)
142{ 142{
143 board_timer_setup = yosemite_timer_setup;
144 mips_hpt_frequency = cpu_clock / 2; 143 mips_hpt_frequency = cpu_clock / 2;
145mips_hpt_frequency = 33000000 * 3 * 5; 144mips_hpt_frequency = 33000000 * 3 * 5;
146} 145}
diff --git a/arch/mips/qemu/q-reset.c b/arch/mips/qemu/q-reset.c
index c04ebcfc7843..dbbe44ad7e89 100644
--- a/arch/mips/qemu/q-reset.c
+++ b/arch/mips/qemu/q-reset.c
@@ -1,4 +1,3 @@
1#include <linux/config.h>
2 1
3#include <asm/io.h> 2#include <asm/io.h>
4#include <asm/reboot.h> 3#include <asm/reboot.h>
diff --git a/arch/mips/qemu/q-setup.c b/arch/mips/qemu/q-setup.c
index e100d6072e31..841394336f00 100644
--- a/arch/mips/qemu/q-setup.c
+++ b/arch/mips/qemu/q-setup.c
@@ -11,7 +11,7 @@ const char *get_system_type(void)
11 return "Qemu"; 11 return "Qemu";
12} 12}
13 13
14static void __init qemu_timer_setup(struct irqaction *irq) 14void __init plat_timer_setup(struct irqaction *irq)
15{ 15{
16 /* set the clock to 100 Hz */ 16 /* set the clock to 100 Hz */
17 outb_p(0x34,0x43); /* binary, mode 2, LSB/MSB, ch 0 */ 17 outb_p(0x34,0x43); /* binary, mode 2, LSB/MSB, ch 0 */
@@ -23,7 +23,5 @@ static void __init qemu_timer_setup(struct irqaction *irq)
23void __init plat_mem_setup(void) 23void __init plat_mem_setup(void)
24{ 24{
25 set_io_port_base(QEMU_PORT_BASE); 25 set_io_port_base(QEMU_PORT_BASE);
26 board_timer_setup = qemu_timer_setup;
27
28 qemu_reboot_setup(); 26 qemu_reboot_setup();
29} 27}
diff --git a/arch/mips/sgi-ip22/ip22-eisa.c b/arch/mips/sgi-ip22/ip22-eisa.c
index ce8e4a7869b0..ee0514a29922 100644
--- a/arch/mips/sgi-ip22/ip22-eisa.c
+++ b/arch/mips/sgi-ip22/ip22-eisa.c
@@ -144,7 +144,7 @@ static void end_eisa1_irq(unsigned int irq)
144 enable_eisa1_irq(irq); 144 enable_eisa1_irq(irq);
145} 145}
146 146
147static struct hw_interrupt_type ip22_eisa1_irq_type = { 147static struct irq_chip ip22_eisa1_irq_type = {
148 .typename = "IP22 EISA", 148 .typename = "IP22 EISA",
149 .startup = startup_eisa1_irq, 149 .startup = startup_eisa1_irq,
150 .shutdown = shutdown_eisa1_irq, 150 .shutdown = shutdown_eisa1_irq,
@@ -206,7 +206,7 @@ static void end_eisa2_irq(unsigned int irq)
206 enable_eisa2_irq(irq); 206 enable_eisa2_irq(irq);
207} 207}
208 208
209static struct hw_interrupt_type ip22_eisa2_irq_type = { 209static struct irq_chip ip22_eisa2_irq_type = {
210 .typename = "IP22 EISA", 210 .typename = "IP22 EISA",
211 .startup = startup_eisa2_irq, 211 .startup = startup_eisa2_irq,
212 .shutdown = shutdown_eisa2_irq, 212 .shutdown = shutdown_eisa2_irq,
diff --git a/arch/mips/sgi-ip22/ip22-int.c b/arch/mips/sgi-ip22/ip22-int.c
index 2d8762818d95..f66026e5d64b 100644
--- a/arch/mips/sgi-ip22/ip22-int.c
+++ b/arch/mips/sgi-ip22/ip22-int.c
@@ -74,7 +74,7 @@ static void end_local0_irq (unsigned int irq)
74 enable_local0_irq(irq); 74 enable_local0_irq(irq);
75} 75}
76 76
77static struct hw_interrupt_type ip22_local0_irq_type = { 77static struct irq_chip ip22_local0_irq_type = {
78 .typename = "IP22 local 0", 78 .typename = "IP22 local 0",
79 .startup = startup_local0_irq, 79 .startup = startup_local0_irq,
80 .shutdown = shutdown_local0_irq, 80 .shutdown = shutdown_local0_irq,
@@ -120,7 +120,7 @@ static void end_local1_irq (unsigned int irq)
120 enable_local1_irq(irq); 120 enable_local1_irq(irq);
121} 121}
122 122
123static struct hw_interrupt_type ip22_local1_irq_type = { 123static struct irq_chip ip22_local1_irq_type = {
124 .typename = "IP22 local 1", 124 .typename = "IP22 local 1",
125 .startup = startup_local1_irq, 125 .startup = startup_local1_irq,
126 .shutdown = shutdown_local1_irq, 126 .shutdown = shutdown_local1_irq,
@@ -166,7 +166,7 @@ static void end_local2_irq (unsigned int irq)
166 enable_local2_irq(irq); 166 enable_local2_irq(irq);
167} 167}
168 168
169static struct hw_interrupt_type ip22_local2_irq_type = { 169static struct irq_chip ip22_local2_irq_type = {
170 .typename = "IP22 local 2", 170 .typename = "IP22 local 2",
171 .startup = startup_local2_irq, 171 .startup = startup_local2_irq,
172 .shutdown = shutdown_local2_irq, 172 .shutdown = shutdown_local2_irq,
@@ -212,7 +212,7 @@ static void end_local3_irq (unsigned int irq)
212 enable_local3_irq(irq); 212 enable_local3_irq(irq);
213} 213}
214 214
215static struct hw_interrupt_type ip22_local3_irq_type = { 215static struct irq_chip ip22_local3_irq_type = {
216 .typename = "IP22 local 3", 216 .typename = "IP22 local 3",
217 .startup = startup_local3_irq, 217 .startup = startup_local3_irq,
218 .shutdown = shutdown_local3_irq, 218 .shutdown = shutdown_local3_irq,
@@ -421,7 +421,7 @@ void __init arch_init_irq(void)
421 mips_cpu_irq_init(SGINT_CPU); 421 mips_cpu_irq_init(SGINT_CPU);
422 422
423 for (i = SGINT_LOCAL0; i < SGI_INTERRUPTS; i++) { 423 for (i = SGINT_LOCAL0; i < SGI_INTERRUPTS; i++) {
424 hw_irq_controller *handler; 424 struct irq_chip *handler;
425 425
426 if (i < SGINT_LOCAL1) 426 if (i < SGINT_LOCAL1)
427 handler = &ip22_local0_irq_type; 427 handler = &ip22_local0_irq_type;
diff --git a/arch/mips/sgi-ip22/ip22-time.c b/arch/mips/sgi-ip22/ip22-time.c
index cca688ad64ad..0e061890f797 100644
--- a/arch/mips/sgi-ip22/ip22-time.c
+++ b/arch/mips/sgi-ip22/ip22-time.c
@@ -7,11 +7,12 @@
7 * Ralf Baechle or David S. Miller (sorry guys, i'm really not sure) 7 * Ralf Baechle or David S. Miller (sorry guys, i'm really not sure)
8 * 8 *
9 * Copyright (C) 2001 by Ladislav Michl 9 * Copyright (C) 2001 by Ladislav Michl
10 * Copyright (C) 2003 Ralf Baechle (ralf@linux-mips.org) 10 * Copyright (C) 2003, 06 Ralf Baechle (ralf@linux-mips.org)
11 */ 11 */
12#include <linux/bcd.h> 12#include <linux/bcd.h>
13#include <linux/ds1286.h> 13#include <linux/ds1286.h>
14#include <linux/init.h> 14#include <linux/init.h>
15#include <linux/irq.h>
15#include <linux/kernel.h> 16#include <linux/kernel.h>
16#include <linux/interrupt.h> 17#include <linux/interrupt.h>
17#include <linux/kernel_stat.h> 18#include <linux/kernel_stat.h>
@@ -76,7 +77,7 @@ static int indy_rtc_set_time(unsigned long tim)
76 save_control = hpc3c0->rtcregs[RTC_CMD] & 0xff; 77 save_control = hpc3c0->rtcregs[RTC_CMD] & 0xff;
77 hpc3c0->rtcregs[RTC_CMD] = save_control | RTC_TE; 78 hpc3c0->rtcregs[RTC_CMD] = save_control | RTC_TE;
78 79
79 hpc3c0->rtcregs[RTC_YEAR] = BIN2BCD(tm.tm_sec); 80 hpc3c0->rtcregs[RTC_YEAR] = BIN2BCD(tm.tm_year);
80 hpc3c0->rtcregs[RTC_MONTH] = BIN2BCD(tm.tm_mon); 81 hpc3c0->rtcregs[RTC_MONTH] = BIN2BCD(tm.tm_mon);
81 hpc3c0->rtcregs[RTC_DATE] = BIN2BCD(tm.tm_mday); 82 hpc3c0->rtcregs[RTC_DATE] = BIN2BCD(tm.tm_mday);
82 hpc3c0->rtcregs[RTC_HOURS] = BIN2BCD(tm.tm_hour); 83 hpc3c0->rtcregs[RTC_HOURS] = BIN2BCD(tm.tm_hour);
@@ -198,9 +199,7 @@ void indy_r4k_timer_interrupt(struct pt_regs *regs)
198 irq_exit(); 199 irq_exit();
199} 200}
200 201
201extern int setup_irq(unsigned int irq, struct irqaction *irqaction); 202void __init plat_timer_setup(struct irqaction *irq)
202
203static void indy_timer_setup(struct irqaction *irq)
204{ 203{
205 /* over-write the handler, we use our own way */ 204 /* over-write the handler, we use our own way */
206 irq->handler = no_action; 205 irq->handler = no_action;
@@ -216,5 +215,4 @@ void __init ip22_time_init(void)
216 rtc_mips_set_time = indy_rtc_set_time; 215 rtc_mips_set_time = indy_rtc_set_time;
217 216
218 board_time_init = indy_time_init; 217 board_time_init = indy_time_init;
219 board_timer_setup = indy_timer_setup;
220} 218}
diff --git a/arch/mips/sgi-ip27/ip27-irq.c b/arch/mips/sgi-ip27/ip27-irq.c
index 597ec73359b7..24a85372284f 100644
--- a/arch/mips/sgi-ip27/ip27-irq.c
+++ b/arch/mips/sgi-ip27/ip27-irq.c
@@ -296,7 +296,6 @@ static void shutdown_bridge_irq(unsigned int irq)
296 struct bridge_controller *bc = IRQ_TO_BRIDGE(irq); 296 struct bridge_controller *bc = IRQ_TO_BRIDGE(irq);
297 struct hub_data *hub = hub_data(cpu_to_node(bc->irq_cpu)); 297 struct hub_data *hub = hub_data(cpu_to_node(bc->irq_cpu));
298 bridge_t *bridge = bc->base; 298 bridge_t *bridge = bc->base;
299 struct slice_data *si = cpu_data[bc->irq_cpu].data;
300 int pin, swlevel; 299 int pin, swlevel;
301 cpuid_t cpu; 300 cpuid_t cpu;
302 301
@@ -311,7 +310,6 @@ static void shutdown_bridge_irq(unsigned int irq)
311 intr_disconnect_level(cpu, swlevel); 310 intr_disconnect_level(cpu, swlevel);
312 311
313 __clear_bit(swlevel, hub->irq_alloc_mask); 312 __clear_bit(swlevel, hub->irq_alloc_mask);
314 si->level_to_irq[swlevel] = -1;
315 313
316 bridge->b_int_enable &= ~(1 << pin); 314 bridge->b_int_enable &= ~(1 << pin);
317 bridge->b_wid_tflush; 315 bridge->b_wid_tflush;
@@ -347,7 +345,7 @@ static void end_bridge_irq(unsigned int irq)
347 enable_bridge_irq(irq); 345 enable_bridge_irq(irq);
348} 346}
349 347
350static struct hw_interrupt_type bridge_irq_type = { 348static struct irq_chip bridge_irq_type = {
351 .typename = "bridge", 349 .typename = "bridge",
352 .startup = startup_bridge_irq, 350 .startup = startup_bridge_irq,
353 .shutdown = shutdown_bridge_irq, 351 .shutdown = shutdown_bridge_irq,
diff --git a/arch/mips/sgi-ip27/ip27-timer.c b/arch/mips/sgi-ip27/ip27-timer.c
index 3ca614a851e5..b029ba79c27a 100644
--- a/arch/mips/sgi-ip27/ip27-timer.c
+++ b/arch/mips/sgi-ip27/ip27-timer.c
@@ -1,5 +1,5 @@
1/* 1/*
2 * Copytight (C) 1999, 2000, 05 Ralf Baechle (ralf@linux-mips.org) 2 * Copytight (C) 1999, 2000, 05, 06 Ralf Baechle (ralf@linux-mips.org)
3 * Copytight (C) 1999, 2000 Silicon Graphics, Inc. 3 * Copytight (C) 1999, 2000 Silicon Graphics, Inc.
4 */ 4 */
5#include <linux/bcd.h> 5#include <linux/bcd.h>
@@ -181,8 +181,9 @@ static __init unsigned long get_m48t35_time(void)
181 return mktime(year, month, date, hour, min, sec); 181 return mktime(year, month, date, hour, min, sec);
182} 182}
183 183
184static void startup_rt_irq(unsigned int irq) 184static unsigned int startup_rt_irq(unsigned int irq)
185{ 185{
186 return 0;
186} 187}
187 188
188static void shutdown_rt_irq(unsigned int irq) 189static void shutdown_rt_irq(unsigned int irq)
@@ -205,7 +206,7 @@ static void end_rt_irq(unsigned int irq)
205{ 206{
206} 207}
207 208
208static struct hw_interrupt_type rt_irq_type = { 209static struct irq_chip rt_irq_type = {
209 .typename = "SN HUB RT timer", 210 .typename = "SN HUB RT timer",
210 .startup = startup_rt_irq, 211 .startup = startup_rt_irq,
211 .shutdown = shutdown_rt_irq, 212 .shutdown = shutdown_rt_irq,
@@ -224,17 +225,17 @@ static struct irqaction rt_irqaction = {
224 225
225extern int allocate_irqno(void); 226extern int allocate_irqno(void);
226 227
227static void ip27_timer_setup(struct irqaction *irq) 228void __init plat_timer_setup(struct irqaction *irq)
228{ 229{
229 int irqno = allocate_irqno(); 230 int irqno = allocate_irqno();
230 231
231 if (irqno < 0) 232 if (irqno < 0)
232 panic("Can't allocate interrupt number for timer interrupt"); 233 panic("Can't allocate interrupt number for timer interrupt");
233 234
234 irq_desc[irqno].status = IRQ_DISABLED; 235 irq_desc[irqno].status = IRQ_DISABLED;
235 irq_desc[irqno].action = NULL; 236 irq_desc[irqno].action = NULL;
236 irq_desc[irqno].depth = 1; 237 irq_desc[irqno].depth = 1;
237 irq_desc[irqno].handler = &rt_irq_type; 238 irq_desc[irqno].chip = &rt_irq_type;
238 239
239 /* over-write the handler, we use our own way */ 240 /* over-write the handler, we use our own way */
240 irq->handler = no_action; 241 irq->handler = no_action;
@@ -243,6 +244,10 @@ static void ip27_timer_setup(struct irqaction *irq)
243 irq_desc[irqno].status |= IRQ_PER_CPU; 244 irq_desc[irqno].status |= IRQ_PER_CPU;
244 245
245 rt_timer_irq = irqno; 246 rt_timer_irq = irqno;
247 /*
248 * Only needed to get /proc/interrupt to display timer irq stats
249 */
250 setup_irq(irqno, &rt_irqaction);
246} 251}
247 252
248void __init ip27_time_init(void) 253void __init ip27_time_init(void)
@@ -251,8 +256,6 @@ void __init ip27_time_init(void)
251 xtime.tv_nsec = 0; 256 xtime.tv_nsec = 0;
252 257
253 do_gettimeoffset = ip27_do_gettimeoffset; 258 do_gettimeoffset = ip27_do_gettimeoffset;
254
255 board_timer_setup = ip27_timer_setup;
256} 259}
257 260
258void __init cpu_time_init(void) 261void __init cpu_time_init(void)
diff --git a/arch/mips/sgi-ip32/ip32-irq.c b/arch/mips/sgi-ip32/ip32-irq.c
index 3b7e74b6222e..c64a820373de 100644
--- a/arch/mips/sgi-ip32/ip32-irq.c
+++ b/arch/mips/sgi-ip32/ip32-irq.c
@@ -160,7 +160,7 @@ static void end_cpu_irq(unsigned int irq)
160#define shutdown_cpu_irq disable_cpu_irq 160#define shutdown_cpu_irq disable_cpu_irq
161#define mask_and_ack_cpu_irq disable_cpu_irq 161#define mask_and_ack_cpu_irq disable_cpu_irq
162 162
163static struct hw_interrupt_type ip32_cpu_interrupt = { 163static struct irq_chip ip32_cpu_interrupt = {
164 .typename = "IP32 CPU", 164 .typename = "IP32 CPU",
165 .startup = startup_cpu_irq, 165 .startup = startup_cpu_irq,
166 .shutdown = shutdown_cpu_irq, 166 .shutdown = shutdown_cpu_irq,
@@ -230,7 +230,7 @@ static void end_crime_irq(unsigned int irq)
230 230
231#define shutdown_crime_irq disable_crime_irq 231#define shutdown_crime_irq disable_crime_irq
232 232
233static struct hw_interrupt_type ip32_crime_interrupt = { 233static struct irq_chip ip32_crime_interrupt = {
234 .typename = "IP32 CRIME", 234 .typename = "IP32 CRIME",
235 .startup = startup_crime_irq, 235 .startup = startup_crime_irq,
236 .shutdown = shutdown_crime_irq, 236 .shutdown = shutdown_crime_irq,
@@ -289,7 +289,7 @@ static void end_macepci_irq(unsigned int irq)
289#define shutdown_macepci_irq disable_macepci_irq 289#define shutdown_macepci_irq disable_macepci_irq
290#define mask_and_ack_macepci_irq disable_macepci_irq 290#define mask_and_ack_macepci_irq disable_macepci_irq
291 291
292static struct hw_interrupt_type ip32_macepci_interrupt = { 292static struct irq_chip ip32_macepci_interrupt = {
293 .typename = "IP32 MACE PCI", 293 .typename = "IP32 MACE PCI",
294 .startup = startup_macepci_irq, 294 .startup = startup_macepci_irq,
295 .shutdown = shutdown_macepci_irq, 295 .shutdown = shutdown_macepci_irq,
@@ -316,9 +316,9 @@ static struct hw_interrupt_type ip32_macepci_interrupt = {
316 MACEISA_KEYB_POLL_INT | \ 316 MACEISA_KEYB_POLL_INT | \
317 MACEISA_MOUSE_INT | \ 317 MACEISA_MOUSE_INT | \
318 MACEISA_MOUSE_POLL_INT | \ 318 MACEISA_MOUSE_POLL_INT | \
319 MACEIIRQF_TIMER0_INT | \ 319 MACEISA_TIMER0_INT | \
320 MACEIIRQF_TIMER1_INT | \ 320 MACEISA_TIMER1_INT | \
321 MACEIIRQF_TIMER2_INT) 321 MACEISA_TIMER2_INT)
322#define MACEISA_SUPERIO_INT (MACEISA_PARALLEL_INT | \ 322#define MACEISA_SUPERIO_INT (MACEISA_PARALLEL_INT | \
323 MACEISA_PAR_CTXA_INT | \ 323 MACEISA_PAR_CTXA_INT | \
324 MACEISA_PAR_CTXB_INT | \ 324 MACEISA_PAR_CTXB_INT | \
@@ -349,7 +349,7 @@ static void enable_maceisa_irq (unsigned int irq)
349 case MACEISA_AUDIO_SW_IRQ ... MACEISA_AUDIO3_MERR_IRQ: 349 case MACEISA_AUDIO_SW_IRQ ... MACEISA_AUDIO3_MERR_IRQ:
350 crime_int = MACE_AUDIO_INT; 350 crime_int = MACE_AUDIO_INT;
351 break; 351 break;
352 case MACEISA_RTC_IRQ ... MACEIIRQF_TIMER2_IRQ: 352 case MACEISA_RTC_IRQ ... MACEISA_TIMER2_IRQ:
353 crime_int = MACE_MISC_INT; 353 crime_int = MACE_MISC_INT;
354 break; 354 break;
355 case MACEISA_PARALLEL_IRQ ... MACEISA_SERIAL2_RDMAOR_IRQ: 355 case MACEISA_PARALLEL_IRQ ... MACEISA_SERIAL2_RDMAOR_IRQ:
@@ -419,7 +419,7 @@ static void end_maceisa_irq(unsigned irq)
419 419
420#define shutdown_maceisa_irq disable_maceisa_irq 420#define shutdown_maceisa_irq disable_maceisa_irq
421 421
422static struct hw_interrupt_type ip32_maceisa_interrupt = { 422static struct irq_chip ip32_maceisa_interrupt = {
423 .typename = "IP32 MACE ISA", 423 .typename = "IP32 MACE ISA",
424 .startup = startup_maceisa_irq, 424 .startup = startup_maceisa_irq,
425 .shutdown = shutdown_maceisa_irq, 425 .shutdown = shutdown_maceisa_irq,
@@ -469,7 +469,7 @@ static void end_mace_irq(unsigned int irq)
469#define shutdown_mace_irq disable_mace_irq 469#define shutdown_mace_irq disable_mace_irq
470#define mask_and_ack_mace_irq disable_mace_irq 470#define mask_and_ack_mace_irq disable_mace_irq
471 471
472static struct hw_interrupt_type ip32_mace_interrupt = { 472static struct irq_chip ip32_mace_interrupt = {
473 .typename = "IP32 MACE", 473 .typename = "IP32 MACE",
474 .startup = startup_mace_irq, 474 .startup = startup_mace_irq,
475 .shutdown = shutdown_mace_irq, 475 .shutdown = shutdown_mace_irq,
@@ -575,7 +575,7 @@ void __init arch_init_irq(void)
575 mace->perif.ctrl.imask = 0; 575 mace->perif.ctrl.imask = 0;
576 576
577 for (irq = 0; irq <= IP32_IRQ_MAX; irq++) { 577 for (irq = 0; irq <= IP32_IRQ_MAX; irq++) {
578 hw_irq_controller *controller; 578 struct irq_chip *controller;
579 579
580 if (irq == IP32_R4K_TIMER_IRQ) 580 if (irq == IP32_R4K_TIMER_IRQ)
581 controller = &ip32_cpu_interrupt; 581 controller = &ip32_cpu_interrupt;
diff --git a/arch/mips/sgi-ip32/ip32-setup.c b/arch/mips/sgi-ip32/ip32-setup.c
index 240a2f981d08..57708fe28bd7 100644
--- a/arch/mips/sgi-ip32/ip32-setup.c
+++ b/arch/mips/sgi-ip32/ip32-setup.c
@@ -7,6 +7,7 @@
7 * 7 *
8 * Copyright (C) 2000 Harald Koerfgen 8 * Copyright (C) 2000 Harald Koerfgen
9 * Copyright (C) 2002, 2003, 2005 Ilya A. Volynets 9 * Copyright (C) 2002, 2003, 2005 Ilya A. Volynets
10 * Copyright (C) 2006 Ralf Baechle <ralf@linux-mips.org>
10 */ 11 */
11#include <linux/console.h> 12#include <linux/console.h>
12#include <linux/init.h> 13#include <linux/init.h>
@@ -80,7 +81,7 @@ void __init ip32_time_init(void)
80 printk("%d MHz CPU detected\n", mips_hpt_frequency * 2 / 1000000); 81 printk("%d MHz CPU detected\n", mips_hpt_frequency * 2 / 1000000);
81} 82}
82 83
83void __init ip32_timer_setup(struct irqaction *irq) 84void __init plat_timer_setup(struct irqaction *irq)
84{ 85{
85 irq->handler = no_action; 86 irq->handler = no_action;
86 setup_irq(IP32_R4K_TIMER_IRQ, irq); 87 setup_irq(IP32_R4K_TIMER_IRQ, irq);
@@ -94,7 +95,6 @@ void __init plat_mem_setup(void)
94 rtc_mips_set_mmss = mc146818_set_rtc_mmss; 95 rtc_mips_set_mmss = mc146818_set_rtc_mmss;
95 96
96 board_time_init = ip32_time_init; 97 board_time_init = ip32_time_init;
97 board_timer_setup = ip32_timer_setup;
98 98
99#ifdef CONFIG_SERIAL_8250 99#ifdef CONFIG_SERIAL_8250
100 { 100 {
diff --git a/arch/mips/sibyte/bcm1480/irq.c b/arch/mips/sibyte/bcm1480/irq.c
index 29d3bbb5847d..ed325f0ab28a 100644
--- a/arch/mips/sibyte/bcm1480/irq.c
+++ b/arch/mips/sibyte/bcm1480/irq.c
@@ -83,7 +83,7 @@ extern char sb1250_duart_present[];
83#endif 83#endif
84#endif 84#endif
85 85
86static struct hw_interrupt_type bcm1480_irq_type = { 86static struct irq_chip bcm1480_irq_type = {
87 .typename = "BCM1480-IMR", 87 .typename = "BCM1480-IMR",
88 .startup = startup_bcm1480_irq, 88 .startup = startup_bcm1480_irq,
89 .shutdown = shutdown_bcm1480_irq, 89 .shutdown = shutdown_bcm1480_irq,
@@ -140,7 +140,7 @@ static void bcm1480_set_affinity(unsigned int irq, cpumask_t mask)
140{ 140{
141 int i = 0, old_cpu, cpu, int_on, k; 141 int i = 0, old_cpu, cpu, int_on, k;
142 u64 cur_ints; 142 u64 cur_ints;
143 irq_desc_t *desc = irq_desc + irq; 143 struct irq_desc *desc = irq_desc + irq;
144 unsigned long flags; 144 unsigned long flags;
145 unsigned int irq_dirty; 145 unsigned int irq_dirty;
146 146
@@ -278,7 +278,7 @@ void __init init_bcm1480_irqs(void)
278 irq_desc[i].chip = &bcm1480_irq_type; 278 irq_desc[i].chip = &bcm1480_irq_type;
279 bcm1480_irq_owner[i] = 0; 279 bcm1480_irq_owner[i] = 0;
280 } else { 280 } else {
281 irq_desc[i].chip = &no_irq_type; 281 irq_desc[i].chip = &no_irq_chip;
282 } 282 }
283 } 283 }
284} 284}
@@ -301,7 +301,7 @@ static struct irqaction bcm1480_dummy_action = {
301 301
302int bcm1480_steal_irq(int irq) 302int bcm1480_steal_irq(int irq)
303{ 303{
304 irq_desc_t *desc = irq_desc + irq; 304 struct irq_desc *desc = irq_desc + irq;
305 unsigned long flags; 305 unsigned long flags;
306 int retval = 0; 306 int retval = 0;
307 307
@@ -502,22 +502,23 @@ asmlinkage void plat_irq_dispatch(struct pt_regs *regs)
502#ifdef CONFIG_SIBYTE_BCM1480_PROF 502#ifdef CONFIG_SIBYTE_BCM1480_PROF
503 if (pending & CAUSEF_IP7) /* Cpu performance counter interrupt */ 503 if (pending & CAUSEF_IP7) /* Cpu performance counter interrupt */
504 sbprof_cpu_intr(exception_epc(regs)); 504 sbprof_cpu_intr(exception_epc(regs));
505 else
505#endif 506#endif
506 507
507 if (pending & CAUSEF_IP4) 508 if (pending & CAUSEF_IP4)
508 bcm1480_timer_interrupt(regs); 509 bcm1480_timer_interrupt(regs);
509 510
510#ifdef CONFIG_SMP 511#ifdef CONFIG_SMP
511 if (pending & CAUSEF_IP3) 512 else if (pending & CAUSEF_IP3)
512 bcm1480_mailbox_interrupt(regs); 513 bcm1480_mailbox_interrupt(regs);
513#endif 514#endif
514 515
515#ifdef CONFIG_KGDB 516#ifdef CONFIG_KGDB
516 if (pending & CAUSEF_IP6) 517 else if (pending & CAUSEF_IP6)
517 bcm1480_kgdb_interrupt(regs); /* KGDB (uart 1) */ 518 bcm1480_kgdb_interrupt(regs); /* KGDB (uart 1) */
518#endif 519#endif
519 520
520 if (pending & CAUSEF_IP2) { 521 else if (pending & CAUSEF_IP2) {
521 unsigned long long mask_h, mask_l; 522 unsigned long long mask_h, mask_l;
522 unsigned long base; 523 unsigned long base;
523 524
@@ -533,7 +534,7 @@ asmlinkage void plat_irq_dispatch(struct pt_regs *regs)
533 mask_l = __raw_readq( 534 mask_l = __raw_readq(
534 IOADDR(base + R_BCM1480_IMR_INTERRUPT_STATUS_BASE_L)); 535 IOADDR(base + R_BCM1480_IMR_INTERRUPT_STATUS_BASE_L));
535 536
536 if (!mask_h) { 537 if (mask_h) {
537 if (mask_h ^ 1) 538 if (mask_h ^ 1)
538 do_IRQ(63 - dclz(mask_h), regs); 539 do_IRQ(63 - dclz(mask_h), regs);
539 else 540 else
diff --git a/arch/mips/sibyte/sb1250/irq.c b/arch/mips/sibyte/sb1250/irq.c
index 1d280aabcf6a..1de71adec6c6 100644
--- a/arch/mips/sibyte/sb1250/irq.c
+++ b/arch/mips/sibyte/sb1250/irq.c
@@ -69,7 +69,7 @@ extern char sb1250_duart_present[];
69#endif 69#endif
70#endif 70#endif
71 71
72static struct hw_interrupt_type sb1250_irq_type = { 72static struct irq_chip sb1250_irq_type = {
73 .typename = "SB1250-IMR", 73 .typename = "SB1250-IMR",
74 .startup = startup_sb1250_irq, 74 .startup = startup_sb1250_irq,
75 .shutdown = shutdown_sb1250_irq, 75 .shutdown = shutdown_sb1250_irq,
@@ -120,7 +120,7 @@ static void sb1250_set_affinity(unsigned int irq, cpumask_t mask)
120{ 120{
121 int i = 0, old_cpu, cpu, int_on; 121 int i = 0, old_cpu, cpu, int_on;
122 u64 cur_ints; 122 u64 cur_ints;
123 irq_desc_t *desc = irq_desc + irq; 123 struct irq_desc *desc = irq_desc + irq;
124 unsigned long flags; 124 unsigned long flags;
125 125
126 i = first_cpu(mask); 126 i = first_cpu(mask);
@@ -248,7 +248,7 @@ void __init init_sb1250_irqs(void)
248 irq_desc[i].chip = &sb1250_irq_type; 248 irq_desc[i].chip = &sb1250_irq_type;
249 sb1250_irq_owner[i] = 0; 249 sb1250_irq_owner[i] = 0;
250 } else { 250 } else {
251 irq_desc[i].chip = &no_irq_type; 251 irq_desc[i].chip = &no_irq_chip;
252 } 252 }
253 } 253 }
254} 254}
@@ -271,7 +271,7 @@ static struct irqaction sb1250_dummy_action = {
271 271
272int sb1250_steal_irq(int irq) 272int sb1250_steal_irq(int irq)
273{ 273{
274 irq_desc_t *desc = irq_desc + irq; 274 struct irq_desc *desc = irq_desc + irq;
275 unsigned long flags; 275 unsigned long flags;
276 int retval = 0; 276 int retval = 0;
277 277
@@ -460,25 +460,25 @@ asmlinkage void plat_irq_dispatch(struct pt_regs *regs)
460 pending = read_c0_cause(); 460 pending = read_c0_cause();
461 461
462#ifdef CONFIG_SIBYTE_SB1250_PROF 462#ifdef CONFIG_SIBYTE_SB1250_PROF
463 if (pending & CAUSEF_IP7) { /* Cpu performance counter interrupt */ 463 if (pending & CAUSEF_IP7) /* Cpu performance counter interrupt */
464 sbprof_cpu_intr(exception_epc(regs)); 464 sbprof_cpu_intr(exception_epc(regs));
465 } 465 else
466#endif 466#endif
467 467
468 if (pending & CAUSEF_IP4) 468 if (pending & CAUSEF_IP4)
469 sb1250_timer_interrupt(regs); 469 sb1250_timer_interrupt(regs);
470 470
471#ifdef CONFIG_SMP 471#ifdef CONFIG_SMP
472 if (pending & CAUSEF_IP3) 472 else if (pending & CAUSEF_IP3)
473 sb1250_mailbox_interrupt(regs); 473 sb1250_mailbox_interrupt(regs);
474#endif 474#endif
475 475
476#ifdef CONFIG_KGDB 476#ifdef CONFIG_KGDB
477 if (pending & CAUSEF_IP6) /* KGDB (uart 1) */ 477 else if (pending & CAUSEF_IP6) /* KGDB (uart 1) */
478 sb1250_kgdb_interrupt(regs); 478 sb1250_kgdb_interrupt(regs);
479#endif 479#endif
480 480
481 if (pending & CAUSEF_IP2) { 481 else if (pending & CAUSEF_IP2) {
482 unsigned long long mask; 482 unsigned long long mask;
483 483
484 /* 484 /*
diff --git a/arch/mips/sibyte/swarm/setup.c b/arch/mips/sibyte/swarm/setup.c
index a9a6dbc06849..ac342f5643c9 100644
--- a/arch/mips/sibyte/swarm/setup.c
+++ b/arch/mips/sibyte/swarm/setup.c
@@ -27,7 +27,7 @@
27#include <linux/blkdev.h> 27#include <linux/blkdev.h>
28#include <linux/init.h> 28#include <linux/init.h>
29#include <linux/kernel.h> 29#include <linux/kernel.h>
30#include <linux/tty.h> 30#include <linux/screen_info.h>
31#include <linux/initrd.h> 31#include <linux/initrd.h>
32 32
33#include <asm/irq.h> 33#include <asm/irq.h>
@@ -77,7 +77,7 @@ void __init swarm_time_init(void)
77#endif 77#endif
78} 78}
79 79
80void __init swarm_timer_setup(struct irqaction *irq) 80void __init plat_timer_setup(struct irqaction *irq)
81{ 81{
82 /* 82 /*
83 * we don't set up irqaction, because we will deliver timer 83 * we don't set up irqaction, because we will deliver timer
@@ -117,7 +117,6 @@ void __init plat_mem_setup(void)
117 panic_timeout = 5; /* For debug. */ 117 panic_timeout = 5; /* For debug. */
118 118
119 board_time_init = swarm_time_init; 119 board_time_init = swarm_time_init;
120 board_timer_setup = swarm_timer_setup;
121 board_be_handler = swarm_be_handler; 120 board_be_handler = swarm_be_handler;
122 121
123 if (xicor_probe()) { 122 if (xicor_probe()) {
diff --git a/arch/mips/sni/irq.c b/arch/mips/sni/irq.c
index c19e158ec402..cda165f42b6a 100644
--- a/arch/mips/sni/irq.c
+++ b/arch/mips/sni/irq.c
@@ -55,7 +55,7 @@ static void end_pciasic_irq(unsigned int irq)
55 enable_pciasic_irq(irq); 55 enable_pciasic_irq(irq);
56} 56}
57 57
58static struct hw_interrupt_type pciasic_irq_type = { 58static struct irq_chip pciasic_irq_type = {
59 .typename = "ASIC-PCI", 59 .typename = "ASIC-PCI",
60 .startup = startup_pciasic_irq, 60 .startup = startup_pciasic_irq,
61 .shutdown = shutdown_pciasic_irq, 61 .shutdown = shutdown_pciasic_irq,
diff --git a/arch/mips/sni/setup.c b/arch/mips/sni/setup.c
index 870486d6cd75..4e98feb15410 100644
--- a/arch/mips/sni/setup.c
+++ b/arch/mips/sni/setup.c
@@ -18,7 +18,7 @@
18#include <linux/pci.h> 18#include <linux/pci.h>
19#include <linux/console.h> 19#include <linux/console.h>
20#include <linux/fb.h> 20#include <linux/fb.h>
21#include <linux/tty.h> 21#include <linux/screen_info.h>
22 22
23#ifdef CONFIG_ARC 23#ifdef CONFIG_ARC
24#include <asm/arc/types.h> 24#include <asm/arc/types.h>
@@ -41,7 +41,7 @@ extern void sni_machine_restart(char *command);
41extern void sni_machine_halt(void); 41extern void sni_machine_halt(void);
42extern void sni_machine_power_off(void); 42extern void sni_machine_power_off(void);
43 43
44static void __init sni_rm200_pci_timer_setup(struct irqaction *irq) 44void __init plat_timer_setup(struct irqaction *irq)
45{ 45{
46 /* set the clock to 100 Hz */ 46 /* set the clock to 100 Hz */
47 outb_p(0x34,0x43); /* binary, mode 2, LSB/MSB, ch 0 */ 47 outb_p(0x34,0x43); /* binary, mode 2, LSB/MSB, ch 0 */
@@ -270,7 +270,6 @@ void __init plat_mem_setup(void)
270#endif 270#endif
271 271
272 sni_resource_init(); 272 sni_resource_init();
273 board_timer_setup = sni_rm200_pci_timer_setup;
274 273
275 _machine_restart = sni_machine_restart; 274 _machine_restart = sni_machine_restart;
276 _machine_halt = sni_machine_halt; 275 _machine_halt = sni_machine_halt;
diff --git a/arch/mips/tx4927/common/tx4927_irq.c b/arch/mips/tx4927/common/tx4927_irq.c
index ae9d5653a863..cd176f6a06c8 100644
--- a/arch/mips/tx4927/common/tx4927_irq.c
+++ b/arch/mips/tx4927/common/tx4927_irq.c
@@ -146,7 +146,7 @@ static DEFINE_SPINLOCK(tx4927_cp0_lock);
146static DEFINE_SPINLOCK(tx4927_pic_lock); 146static DEFINE_SPINLOCK(tx4927_pic_lock);
147 147
148#define TX4927_CP0_NAME "TX4927-CP0" 148#define TX4927_CP0_NAME "TX4927-CP0"
149static struct hw_interrupt_type tx4927_irq_cp0_type = { 149static struct irq_chip tx4927_irq_cp0_type = {
150 .typename = TX4927_CP0_NAME, 150 .typename = TX4927_CP0_NAME,
151 .startup = tx4927_irq_cp0_startup, 151 .startup = tx4927_irq_cp0_startup,
152 .shutdown = tx4927_irq_cp0_shutdown, 152 .shutdown = tx4927_irq_cp0_shutdown,
@@ -158,7 +158,7 @@ static struct hw_interrupt_type tx4927_irq_cp0_type = {
158}; 158};
159 159
160#define TX4927_PIC_NAME "TX4927-PIC" 160#define TX4927_PIC_NAME "TX4927-PIC"
161static struct hw_interrupt_type tx4927_irq_pic_type = { 161static struct irq_chip tx4927_irq_pic_type = {
162 .typename = TX4927_PIC_NAME, 162 .typename = TX4927_PIC_NAME,
163 .startup = tx4927_irq_pic_startup, 163 .startup = tx4927_irq_pic_startup,
164 .shutdown = tx4927_irq_pic_shutdown, 164 .shutdown = tx4927_irq_pic_shutdown,
diff --git a/arch/mips/tx4927/common/tx4927_setup.c b/arch/mips/tx4927/common/tx4927_setup.c
index 64a1b394b252..3ace4037343e 100644
--- a/arch/mips/tx4927/common/tx4927_setup.c
+++ b/arch/mips/tx4927/common/tx4927_setup.c
@@ -50,7 +50,6 @@
50#undef DEBUG 50#undef DEBUG
51 51
52void __init tx4927_time_init(void); 52void __init tx4927_time_init(void);
53void __init tx4927_timer_setup(struct irqaction *irq);
54void dump_cp0(char *key); 53void dump_cp0(char *key);
55 54
56 55
@@ -66,7 +65,6 @@ static void tx4927_write_buffer_flush(void)
66void __init plat_mem_setup(void) 65void __init plat_mem_setup(void)
67{ 66{
68 board_time_init = tx4927_time_init; 67 board_time_init = tx4927_time_init;
69 board_timer_setup = tx4927_timer_setup;
70 __wbflush = tx4927_write_buffer_flush; 68 __wbflush = tx4927_write_buffer_flush;
71 69
72#ifdef CONFIG_TOSHIBA_RBTX4927 70#ifdef CONFIG_TOSHIBA_RBTX4927
@@ -91,7 +89,7 @@ void __init tx4927_time_init(void)
91} 89}
92 90
93 91
94void __init tx4927_timer_setup(struct irqaction *irq) 92void __init plat_timer_setup(struct irqaction *irq)
95{ 93{
96 u32 count; 94 u32 count;
97 u32 c1; 95 u32 c1;
diff --git a/arch/mips/tx4927/toshiba_rbtx4927/toshiba_rbtx4927_irq.c b/arch/mips/tx4927/toshiba_rbtx4927/toshiba_rbtx4927_irq.c
index ec0a0de3083d..b0f021f2a6c4 100644
--- a/arch/mips/tx4927/toshiba_rbtx4927/toshiba_rbtx4927_irq.c
+++ b/arch/mips/tx4927/toshiba_rbtx4927/toshiba_rbtx4927_irq.c
@@ -251,7 +251,7 @@ static DEFINE_SPINLOCK(toshiba_rbtx4927_ioc_lock);
251 251
252 252
253#define TOSHIBA_RBTX4927_IOC_NAME "RBTX4927-IOC" 253#define TOSHIBA_RBTX4927_IOC_NAME "RBTX4927-IOC"
254static struct hw_interrupt_type toshiba_rbtx4927_irq_ioc_type = { 254static struct irq_chip toshiba_rbtx4927_irq_ioc_type = {
255 .typename = TOSHIBA_RBTX4927_IOC_NAME, 255 .typename = TOSHIBA_RBTX4927_IOC_NAME,
256 .startup = toshiba_rbtx4927_irq_ioc_startup, 256 .startup = toshiba_rbtx4927_irq_ioc_startup,
257 .shutdown = toshiba_rbtx4927_irq_ioc_shutdown, 257 .shutdown = toshiba_rbtx4927_irq_ioc_shutdown,
@@ -267,7 +267,7 @@ static struct hw_interrupt_type toshiba_rbtx4927_irq_ioc_type = {
267 267
268#ifdef CONFIG_TOSHIBA_FPCIB0 268#ifdef CONFIG_TOSHIBA_FPCIB0
269#define TOSHIBA_RBTX4927_ISA_NAME "RBTX4927-ISA" 269#define TOSHIBA_RBTX4927_ISA_NAME "RBTX4927-ISA"
270static struct hw_interrupt_type toshiba_rbtx4927_irq_isa_type = { 270static struct irq_chip toshiba_rbtx4927_irq_isa_type = {
271 .typename = TOSHIBA_RBTX4927_ISA_NAME, 271 .typename = TOSHIBA_RBTX4927_ISA_NAME,
272 .startup = toshiba_rbtx4927_irq_isa_startup, 272 .startup = toshiba_rbtx4927_irq_isa_startup,
273 .shutdown = toshiba_rbtx4927_irq_isa_shutdown, 273 .shutdown = toshiba_rbtx4927_irq_isa_shutdown,
diff --git a/arch/mips/tx4938/common/irq.c b/arch/mips/tx4938/common/irq.c
index 0b2f8c849218..dc30d66123b6 100644
--- a/arch/mips/tx4938/common/irq.c
+++ b/arch/mips/tx4938/common/irq.c
@@ -57,7 +57,7 @@ DEFINE_SPINLOCK(tx4938_cp0_lock);
57DEFINE_SPINLOCK(tx4938_pic_lock); 57DEFINE_SPINLOCK(tx4938_pic_lock);
58 58
59#define TX4938_CP0_NAME "TX4938-CP0" 59#define TX4938_CP0_NAME "TX4938-CP0"
60static struct hw_interrupt_type tx4938_irq_cp0_type = { 60static struct irq_chip tx4938_irq_cp0_type = {
61 .typename = TX4938_CP0_NAME, 61 .typename = TX4938_CP0_NAME,
62 .startup = tx4938_irq_cp0_startup, 62 .startup = tx4938_irq_cp0_startup,
63 .shutdown = tx4938_irq_cp0_shutdown, 63 .shutdown = tx4938_irq_cp0_shutdown,
@@ -69,7 +69,7 @@ static struct hw_interrupt_type tx4938_irq_cp0_type = {
69}; 69};
70 70
71#define TX4938_PIC_NAME "TX4938-PIC" 71#define TX4938_PIC_NAME "TX4938-PIC"
72static struct hw_interrupt_type tx4938_irq_pic_type = { 72static struct irq_chip tx4938_irq_pic_type = {
73 .typename = TX4938_PIC_NAME, 73 .typename = TX4938_PIC_NAME,
74 .startup = tx4938_irq_pic_startup, 74 .startup = tx4938_irq_pic_startup,
75 .shutdown = tx4938_irq_pic_shutdown, 75 .shutdown = tx4938_irq_pic_shutdown,
diff --git a/arch/mips/tx4938/common/setup.c b/arch/mips/tx4938/common/setup.c
index ef59a5cffc69..71859c4fee84 100644
--- a/arch/mips/tx4938/common/setup.c
+++ b/arch/mips/tx4938/common/setup.c
@@ -39,7 +39,6 @@ extern void rbtx4938_time_init(void);
39 39
40void __init tx4938_setup(void); 40void __init tx4938_setup(void);
41void __init tx4938_time_init(void); 41void __init tx4938_time_init(void);
42void __init tx4938_timer_setup(struct irqaction *irq);
43void dump_cp0(char *key); 42void dump_cp0(char *key);
44 43
45void (*__wbflush) (void); 44void (*__wbflush) (void);
@@ -64,7 +63,6 @@ void __init
64plat_mem_setup(void) 63plat_mem_setup(void)
65{ 64{
66 board_time_init = tx4938_time_init; 65 board_time_init = tx4938_time_init;
67 board_timer_setup = tx4938_timer_setup;
68 __wbflush = tx4938_write_buffer_flush; 66 __wbflush = tx4938_write_buffer_flush;
69 toshiba_rbtx4938_setup(); 67 toshiba_rbtx4938_setup();
70} 68}
@@ -75,8 +73,7 @@ tx4938_time_init(void)
75 rbtx4938_time_init(); 73 rbtx4938_time_init();
76} 74}
77 75
78void __init 76void __init plat_timer_setup(struct irqaction *irq)
79tx4938_timer_setup(struct irqaction *irq)
80{ 77{
81 u32 count; 78 u32 count;
82 u32 c1; 79 u32 c1;
diff --git a/arch/mips/tx4938/toshiba_rbtx4938/irq.c b/arch/mips/tx4938/toshiba_rbtx4938/irq.c
index 3b8245dc5bd3..83f2750825a4 100644
--- a/arch/mips/tx4938/toshiba_rbtx4938/irq.c
+++ b/arch/mips/tx4938/toshiba_rbtx4938/irq.c
@@ -97,7 +97,7 @@ static void toshiba_rbtx4938_irq_ioc_end(unsigned int irq);
97DEFINE_SPINLOCK(toshiba_rbtx4938_ioc_lock); 97DEFINE_SPINLOCK(toshiba_rbtx4938_ioc_lock);
98 98
99#define TOSHIBA_RBTX4938_IOC_NAME "RBTX4938-IOC" 99#define TOSHIBA_RBTX4938_IOC_NAME "RBTX4938-IOC"
100static struct hw_interrupt_type toshiba_rbtx4938_irq_ioc_type = { 100static struct irq_chip toshiba_rbtx4938_irq_ioc_type = {
101 .typename = TOSHIBA_RBTX4938_IOC_NAME, 101 .typename = TOSHIBA_RBTX4938_IOC_NAME,
102 .startup = toshiba_rbtx4938_irq_ioc_startup, 102 .startup = toshiba_rbtx4938_irq_ioc_startup,
103 .shutdown = toshiba_rbtx4938_irq_ioc_shutdown, 103 .shutdown = toshiba_rbtx4938_irq_ioc_shutdown,
diff --git a/arch/mips/vr41xx/Kconfig b/arch/mips/vr41xx/Kconfig
index 6046ef23b2bf..92f41f6f934a 100644
--- a/arch/mips/vr41xx/Kconfig
+++ b/arch/mips/vr41xx/Kconfig
@@ -86,9 +86,3 @@ config PCI_VR41XX
86 depends on MACH_VR41XX && HW_HAS_PCI 86 depends on MACH_VR41XX && HW_HAS_PCI
87 default y 87 default y
88 select PCI 88 select PCI
89
90config VRC4173
91 tristate "Add NEC VRC4173 companion chip support"
92 depends on MACH_VR41XX && PCI_VR41XX
93 help
94 The NEC VRC4173 is a companion chip for NEC VR4122/VR4131.
diff --git a/arch/mips/vr41xx/casio-e55/setup.c b/arch/mips/vr41xx/casio-e55/setup.c
index 814900915c28..6d9bab890587 100644
--- a/arch/mips/vr41xx/casio-e55/setup.c
+++ b/arch/mips/vr41xx/casio-e55/setup.c
@@ -1,7 +1,7 @@
1/* 1/*
2 * setup.c, Setup for the CASIO CASSIOPEIA E-11/15/55/65. 2 * setup.c, Setup for the CASIO CASSIOPEIA E-11/15/55/65.
3 * 3 *
4 * Copyright (C) 2002-2005 Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp> 4 * Copyright (C) 2002-2006 Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
5 * 5 *
6 * This program is free software; you can redistribute it and/or modify 6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by 7 * it under the terms of the GNU General Public License as published by
@@ -21,13 +21,18 @@
21#include <linux/ioport.h> 21#include <linux/ioport.h>
22 22
23#include <asm/io.h> 23#include <asm/io.h>
24#include <asm/vr41xx/e55.h> 24
25#define E55_ISA_IO_BASE 0x1400c000
26#define E55_ISA_IO_SIZE 0x03ff4000
27#define E55_ISA_IO_START 0
28#define E55_ISA_IO_END (E55_ISA_IO_SIZE - 1)
29#define E55_IO_PORT_BASE KSEG1ADDR(E55_ISA_IO_BASE)
25 30
26static int __init casio_e55_setup(void) 31static int __init casio_e55_setup(void)
27{ 32{
28 set_io_port_base(IO_PORT_BASE); 33 set_io_port_base(E55_IO_PORT_BASE);
29 ioport_resource.start = IO_PORT_RESOURCE_START; 34 ioport_resource.start = E55_ISA_IO_START;
30 ioport_resource.end = IO_PORT_RESOURCE_END; 35 ioport_resource.end = E55_ISA_IO_END;
31 36
32 return 0; 37 return 0;
33} 38}
diff --git a/arch/mips/vr41xx/common/Makefile b/arch/mips/vr41xx/common/Makefile
index aa373974c80f..975d5caf9d1b 100644
--- a/arch/mips/vr41xx/common/Makefile
+++ b/arch/mips/vr41xx/common/Makefile
@@ -2,7 +2,6 @@
2# Makefile for common code of the NEC VR4100 series. 2# Makefile for common code of the NEC VR4100 series.
3# 3#
4 4
5obj-y += bcu.o cmu.o icu.o init.o irq.o pmu.o type.o 5obj-y += bcu.o cmu.o icu.o init.o irq.o pmu.o type.o
6obj-$(CONFIG_VRC4173) += vrc4173.o
7 6
8EXTRA_AFLAGS := $(CFLAGS) 7EXTRA_AFLAGS := $(CFLAGS)
diff --git a/arch/mips/vr41xx/common/icu.c b/arch/mips/vr41xx/common/icu.c
index b9323302cc4e..7a5c31d58378 100644
--- a/arch/mips/vr41xx/common/icu.c
+++ b/arch/mips/vr41xx/common/icu.c
@@ -38,6 +38,7 @@
38 38
39#include <asm/cpu.h> 39#include <asm/cpu.h>
40#include <asm/io.h> 40#include <asm/io.h>
41#include <asm/vr41xx/irq.h>
41#include <asm/vr41xx/vr41xx.h> 42#include <asm/vr41xx/vr41xx.h>
42 43
43static void __iomem *icu1_base; 44static void __iomem *icu1_base;
@@ -152,7 +153,7 @@ static inline uint16_t icu2_clear(uint8_t offset, uint16_t clear)
152 153
153void vr41xx_enable_piuint(uint16_t mask) 154void vr41xx_enable_piuint(uint16_t mask)
154{ 155{
155 irq_desc_t *desc = irq_desc + PIU_IRQ; 156 struct irq_desc *desc = irq_desc + PIU_IRQ;
156 unsigned long flags; 157 unsigned long flags;
157 158
158 if (current_cpu_data.cputype == CPU_VR4111 || 159 if (current_cpu_data.cputype == CPU_VR4111 ||
@@ -167,7 +168,7 @@ EXPORT_SYMBOL(vr41xx_enable_piuint);
167 168
168void vr41xx_disable_piuint(uint16_t mask) 169void vr41xx_disable_piuint(uint16_t mask)
169{ 170{
170 irq_desc_t *desc = irq_desc + PIU_IRQ; 171 struct irq_desc *desc = irq_desc + PIU_IRQ;
171 unsigned long flags; 172 unsigned long flags;
172 173
173 if (current_cpu_data.cputype == CPU_VR4111 || 174 if (current_cpu_data.cputype == CPU_VR4111 ||
@@ -182,7 +183,7 @@ EXPORT_SYMBOL(vr41xx_disable_piuint);
182 183
183void vr41xx_enable_aiuint(uint16_t mask) 184void vr41xx_enable_aiuint(uint16_t mask)
184{ 185{
185 irq_desc_t *desc = irq_desc + AIU_IRQ; 186 struct irq_desc *desc = irq_desc + AIU_IRQ;
186 unsigned long flags; 187 unsigned long flags;
187 188
188 if (current_cpu_data.cputype == CPU_VR4111 || 189 if (current_cpu_data.cputype == CPU_VR4111 ||
@@ -197,7 +198,7 @@ EXPORT_SYMBOL(vr41xx_enable_aiuint);
197 198
198void vr41xx_disable_aiuint(uint16_t mask) 199void vr41xx_disable_aiuint(uint16_t mask)
199{ 200{
200 irq_desc_t *desc = irq_desc + AIU_IRQ; 201 struct irq_desc *desc = irq_desc + AIU_IRQ;
201 unsigned long flags; 202 unsigned long flags;
202 203
203 if (current_cpu_data.cputype == CPU_VR4111 || 204 if (current_cpu_data.cputype == CPU_VR4111 ||
@@ -212,7 +213,7 @@ EXPORT_SYMBOL(vr41xx_disable_aiuint);
212 213
213void vr41xx_enable_kiuint(uint16_t mask) 214void vr41xx_enable_kiuint(uint16_t mask)
214{ 215{
215 irq_desc_t *desc = irq_desc + KIU_IRQ; 216 struct irq_desc *desc = irq_desc + KIU_IRQ;
216 unsigned long flags; 217 unsigned long flags;
217 218
218 if (current_cpu_data.cputype == CPU_VR4111 || 219 if (current_cpu_data.cputype == CPU_VR4111 ||
@@ -227,7 +228,7 @@ EXPORT_SYMBOL(vr41xx_enable_kiuint);
227 228
228void vr41xx_disable_kiuint(uint16_t mask) 229void vr41xx_disable_kiuint(uint16_t mask)
229{ 230{
230 irq_desc_t *desc = irq_desc + KIU_IRQ; 231 struct irq_desc *desc = irq_desc + KIU_IRQ;
231 unsigned long flags; 232 unsigned long flags;
232 233
233 if (current_cpu_data.cputype == CPU_VR4111 || 234 if (current_cpu_data.cputype == CPU_VR4111 ||
@@ -242,7 +243,7 @@ EXPORT_SYMBOL(vr41xx_disable_kiuint);
242 243
243void vr41xx_enable_dsiuint(uint16_t mask) 244void vr41xx_enable_dsiuint(uint16_t mask)
244{ 245{
245 irq_desc_t *desc = irq_desc + DSIU_IRQ; 246 struct irq_desc *desc = irq_desc + DSIU_IRQ;
246 unsigned long flags; 247 unsigned long flags;
247 248
248 spin_lock_irqsave(&desc->lock, flags); 249 spin_lock_irqsave(&desc->lock, flags);
@@ -254,7 +255,7 @@ EXPORT_SYMBOL(vr41xx_enable_dsiuint);
254 255
255void vr41xx_disable_dsiuint(uint16_t mask) 256void vr41xx_disable_dsiuint(uint16_t mask)
256{ 257{
257 irq_desc_t *desc = irq_desc + DSIU_IRQ; 258 struct irq_desc *desc = irq_desc + DSIU_IRQ;
258 unsigned long flags; 259 unsigned long flags;
259 260
260 spin_lock_irqsave(&desc->lock, flags); 261 spin_lock_irqsave(&desc->lock, flags);
@@ -266,7 +267,7 @@ EXPORT_SYMBOL(vr41xx_disable_dsiuint);
266 267
267void vr41xx_enable_firint(uint16_t mask) 268void vr41xx_enable_firint(uint16_t mask)
268{ 269{
269 irq_desc_t *desc = irq_desc + FIR_IRQ; 270 struct irq_desc *desc = irq_desc + FIR_IRQ;
270 unsigned long flags; 271 unsigned long flags;
271 272
272 spin_lock_irqsave(&desc->lock, flags); 273 spin_lock_irqsave(&desc->lock, flags);
@@ -278,7 +279,7 @@ EXPORT_SYMBOL(vr41xx_enable_firint);
278 279
279void vr41xx_disable_firint(uint16_t mask) 280void vr41xx_disable_firint(uint16_t mask)
280{ 281{
281 irq_desc_t *desc = irq_desc + FIR_IRQ; 282 struct irq_desc *desc = irq_desc + FIR_IRQ;
282 unsigned long flags; 283 unsigned long flags;
283 284
284 spin_lock_irqsave(&desc->lock, flags); 285 spin_lock_irqsave(&desc->lock, flags);
@@ -290,7 +291,7 @@ EXPORT_SYMBOL(vr41xx_disable_firint);
290 291
291void vr41xx_enable_pciint(void) 292void vr41xx_enable_pciint(void)
292{ 293{
293 irq_desc_t *desc = irq_desc + PCI_IRQ; 294 struct irq_desc *desc = irq_desc + PCI_IRQ;
294 unsigned long flags; 295 unsigned long flags;
295 296
296 if (current_cpu_data.cputype == CPU_VR4122 || 297 if (current_cpu_data.cputype == CPU_VR4122 ||
@@ -306,7 +307,7 @@ EXPORT_SYMBOL(vr41xx_enable_pciint);
306 307
307void vr41xx_disable_pciint(void) 308void vr41xx_disable_pciint(void)
308{ 309{
309 irq_desc_t *desc = irq_desc + PCI_IRQ; 310 struct irq_desc *desc = irq_desc + PCI_IRQ;
310 unsigned long flags; 311 unsigned long flags;
311 312
312 if (current_cpu_data.cputype == CPU_VR4122 || 313 if (current_cpu_data.cputype == CPU_VR4122 ||
@@ -322,7 +323,7 @@ EXPORT_SYMBOL(vr41xx_disable_pciint);
322 323
323void vr41xx_enable_scuint(void) 324void vr41xx_enable_scuint(void)
324{ 325{
325 irq_desc_t *desc = irq_desc + SCU_IRQ; 326 struct irq_desc *desc = irq_desc + SCU_IRQ;
326 unsigned long flags; 327 unsigned long flags;
327 328
328 if (current_cpu_data.cputype == CPU_VR4122 || 329 if (current_cpu_data.cputype == CPU_VR4122 ||
@@ -338,7 +339,7 @@ EXPORT_SYMBOL(vr41xx_enable_scuint);
338 339
339void vr41xx_disable_scuint(void) 340void vr41xx_disable_scuint(void)
340{ 341{
341 irq_desc_t *desc = irq_desc + SCU_IRQ; 342 struct irq_desc *desc = irq_desc + SCU_IRQ;
342 unsigned long flags; 343 unsigned long flags;
343 344
344 if (current_cpu_data.cputype == CPU_VR4122 || 345 if (current_cpu_data.cputype == CPU_VR4122 ||
@@ -354,7 +355,7 @@ EXPORT_SYMBOL(vr41xx_disable_scuint);
354 355
355void vr41xx_enable_csiint(uint16_t mask) 356void vr41xx_enable_csiint(uint16_t mask)
356{ 357{
357 irq_desc_t *desc = irq_desc + CSI_IRQ; 358 struct irq_desc *desc = irq_desc + CSI_IRQ;
358 unsigned long flags; 359 unsigned long flags;
359 360
360 if (current_cpu_data.cputype == CPU_VR4122 || 361 if (current_cpu_data.cputype == CPU_VR4122 ||
@@ -370,7 +371,7 @@ EXPORT_SYMBOL(vr41xx_enable_csiint);
370 371
371void vr41xx_disable_csiint(uint16_t mask) 372void vr41xx_disable_csiint(uint16_t mask)
372{ 373{
373 irq_desc_t *desc = irq_desc + CSI_IRQ; 374 struct irq_desc *desc = irq_desc + CSI_IRQ;
374 unsigned long flags; 375 unsigned long flags;
375 376
376 if (current_cpu_data.cputype == CPU_VR4122 || 377 if (current_cpu_data.cputype == CPU_VR4122 ||
@@ -386,7 +387,7 @@ EXPORT_SYMBOL(vr41xx_disable_csiint);
386 387
387void vr41xx_enable_bcuint(void) 388void vr41xx_enable_bcuint(void)
388{ 389{
389 irq_desc_t *desc = irq_desc + BCU_IRQ; 390 struct irq_desc *desc = irq_desc + BCU_IRQ;
390 unsigned long flags; 391 unsigned long flags;
391 392
392 if (current_cpu_data.cputype == CPU_VR4122 || 393 if (current_cpu_data.cputype == CPU_VR4122 ||
@@ -402,7 +403,7 @@ EXPORT_SYMBOL(vr41xx_enable_bcuint);
402 403
403void vr41xx_disable_bcuint(void) 404void vr41xx_disable_bcuint(void)
404{ 405{
405 irq_desc_t *desc = irq_desc + BCU_IRQ; 406 struct irq_desc *desc = irq_desc + BCU_IRQ;
406 unsigned long flags; 407 unsigned long flags;
407 408
408 if (current_cpu_data.cputype == CPU_VR4122 || 409 if (current_cpu_data.cputype == CPU_VR4122 ||
@@ -442,7 +443,7 @@ static void end_sysint1_irq(unsigned int irq)
442 icu1_set(MSYSINT1REG, 1 << SYSINT1_IRQ_TO_PIN(irq)); 443 icu1_set(MSYSINT1REG, 1 << SYSINT1_IRQ_TO_PIN(irq));
443} 444}
444 445
445static struct hw_interrupt_type sysint1_irq_type = { 446static struct irq_chip sysint1_irq_type = {
446 .typename = "SYSINT1", 447 .typename = "SYSINT1",
447 .startup = startup_sysint1_irq, 448 .startup = startup_sysint1_irq,
448 .shutdown = shutdown_sysint1_irq, 449 .shutdown = shutdown_sysint1_irq,
@@ -478,7 +479,7 @@ static void end_sysint2_irq(unsigned int irq)
478 icu2_set(MSYSINT2REG, 1 << SYSINT2_IRQ_TO_PIN(irq)); 479 icu2_set(MSYSINT2REG, 1 << SYSINT2_IRQ_TO_PIN(irq));
479} 480}
480 481
481static struct hw_interrupt_type sysint2_irq_type = { 482static struct irq_chip sysint2_irq_type = {
482 .typename = "SYSINT2", 483 .typename = "SYSINT2",
483 .startup = startup_sysint2_irq, 484 .startup = startup_sysint2_irq,
484 .shutdown = shutdown_sysint2_irq, 485 .shutdown = shutdown_sysint2_irq,
@@ -490,7 +491,7 @@ static struct hw_interrupt_type sysint2_irq_type = {
490 491
491static inline int set_sysint1_assign(unsigned int irq, unsigned char assign) 492static inline int set_sysint1_assign(unsigned int irq, unsigned char assign)
492{ 493{
493 irq_desc_t *desc = irq_desc + irq; 494 struct irq_desc *desc = irq_desc + irq;
494 uint16_t intassign0, intassign1; 495 uint16_t intassign0, intassign1;
495 unsigned int pin; 496 unsigned int pin;
496 497
@@ -549,7 +550,7 @@ static inline int set_sysint1_assign(unsigned int irq, unsigned char assign)
549 550
550static inline int set_sysint2_assign(unsigned int irq, unsigned char assign) 551static inline int set_sysint2_assign(unsigned int irq, unsigned char assign)
551{ 552{
552 irq_desc_t *desc = irq_desc + irq; 553 struct irq_desc *desc = irq_desc + irq;
553 uint16_t intassign2, intassign3; 554 uint16_t intassign2, intassign3;
554 unsigned int pin; 555 unsigned int pin;
555 556
diff --git a/arch/mips/vr41xx/common/init.c b/arch/mips/vr41xx/common/init.c
index 915bfa5c0719..a2e285c1d4d5 100644
--- a/arch/mips/vr41xx/common/init.c
+++ b/arch/mips/vr41xx/common/init.c
@@ -24,6 +24,7 @@
24 24
25#include <asm/bootinfo.h> 25#include <asm/bootinfo.h>
26#include <asm/time.h> 26#include <asm/time.h>
27#include <asm/vr41xx/irq.h>
27#include <asm/vr41xx/vr41xx.h> 28#include <asm/vr41xx/vr41xx.h>
28 29
29#define IO_MEM_RESOURCE_START 0UL 30#define IO_MEM_RESOURCE_START 0UL
@@ -47,7 +48,7 @@ static void __init setup_timer_frequency(void)
47 mips_hpt_frequency = tclock / 4; 48 mips_hpt_frequency = tclock / 4;
48} 49}
49 50
50static void __init setup_timer_irq(struct irqaction *irq) 51void __init plat_timer_setup(struct irqaction *irq)
51{ 52{
52 setup_irq(TIMER_IRQ, irq); 53 setup_irq(TIMER_IRQ, irq);
53} 54}
@@ -55,7 +56,6 @@ static void __init setup_timer_irq(struct irqaction *irq)
55static void __init timer_init(void) 56static void __init timer_init(void)
56{ 57{
57 board_time_init = setup_timer_frequency; 58 board_time_init = setup_timer_frequency;
58 board_timer_setup = setup_timer_irq;
59} 59}
60 60
61void __init plat_mem_setup(void) 61void __init plat_mem_setup(void)
diff --git a/arch/mips/vr41xx/common/irq.c b/arch/mips/vr41xx/common/irq.c
index 66aa50802deb..4733c5344467 100644
--- a/arch/mips/vr41xx/common/irq.c
+++ b/arch/mips/vr41xx/common/irq.c
@@ -22,7 +22,7 @@
22 22
23#include <asm/irq_cpu.h> 23#include <asm/irq_cpu.h>
24#include <asm/system.h> 24#include <asm/system.h>
25#include <asm/vr41xx/vr41xx.h> 25#include <asm/vr41xx/irq.h>
26 26
27typedef struct irq_cascade { 27typedef struct irq_cascade {
28 int (*get_irq)(unsigned int, struct pt_regs *); 28 int (*get_irq)(unsigned int, struct pt_regs *);
@@ -62,7 +62,7 @@ EXPORT_SYMBOL_GPL(cascade_irq);
62static void irq_dispatch(unsigned int irq, struct pt_regs *regs) 62static void irq_dispatch(unsigned int irq, struct pt_regs *regs)
63{ 63{
64 irq_cascade_t *cascade; 64 irq_cascade_t *cascade;
65 irq_desc_t *desc; 65 struct irq_desc *desc;
66 66
67 if (irq >= NR_IRQS) { 67 if (irq >= NR_IRQS) {
68 atomic_inc(&irq_err_count); 68 atomic_inc(&irq_err_count);
diff --git a/arch/mips/vr41xx/common/vrc4173.c b/arch/mips/vr41xx/common/vrc4173.c
deleted file mode 100644
index 2d287b8893d9..000000000000
--- a/arch/mips/vr41xx/common/vrc4173.c
+++ /dev/null
@@ -1,581 +0,0 @@
1/*
2 * vrc4173.c, NEC VRC4173 base driver for NEC VR4122/VR4131.
3 *
4 * Copyright (C) 2001-2003 MontaVista Software Inc.
5 * Author: Yoichi Yuasa <yyuasa@mvista.com, or source@mvista.com>
6 * Copyright (C) 2004 Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
7 * Copyright (C) 2005 Ralf Baechle (ralf@linux-mips.org)
8 *
9 * This program is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License as published by
11 * the Free Software Foundation; either version 2 of the License, or
12 * (at your option) any later version.
13 *
14 * This program is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
18 *
19 * You should have received a copy of the GNU General Public License
20 * along with this program; if not, write to the Free Software
21 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
22 */
23#include <linux/init.h>
24#include <linux/module.h>
25#include <linux/interrupt.h>
26#include <linux/irq.h>
27#include <linux/pci.h>
28#include <linux/spinlock.h>
29#include <linux/types.h>
30
31#include <asm/vr41xx/vr41xx.h>
32#include <asm/vr41xx/vrc4173.h>
33
34MODULE_DESCRIPTION("NEC VRC4173 base driver for NEC VR4122/4131");
35MODULE_AUTHOR("Yoichi Yuasa <yyuasa@mvista.com>");
36MODULE_LICENSE("GPL");
37
38#define VRC4173_CMUCLKMSK 0x040
39 #define MSKPIU 0x0001
40 #define MSKKIU 0x0002
41 #define MSKAIU 0x0004
42 #define MSKPS2CH1 0x0008
43 #define MSKPS2CH2 0x0010
44 #define MSKUSB 0x0020
45 #define MSKCARD1 0x0040
46 #define MSKCARD2 0x0080
47 #define MSKAC97 0x0100
48 #define MSK48MUSB 0x0400
49 #define MSK48MPIN 0x0800
50 #define MSK48MOSC 0x1000
51#define VRC4173_CMUSRST 0x042
52 #define USBRST 0x0001
53 #define CARD1RST 0x0002
54 #define CARD2RST 0x0004
55 #define AC97RST 0x0008
56
57#define VRC4173_SYSINT1REG 0x060
58#define VRC4173_MSYSINT1REG 0x06c
59#define VRC4173_MPIUINTREG 0x06e
60#define VRC4173_MAIUINTREG 0x070
61#define VRC4173_MKIUINTREG 0x072
62
63#define VRC4173_SELECTREG 0x09e
64 #define SEL3 0x0008
65 #define SEL2 0x0004
66 #define SEL1 0x0002
67 #define SEL0 0x0001
68
69static struct pci_device_id vrc4173_id_table[] __devinitdata = {
70 { .vendor = PCI_VENDOR_ID_NEC,
71 .device = PCI_DEVICE_ID_NEC_VRC4173,
72 .subvendor = PCI_ANY_ID,
73 .subdevice = PCI_ANY_ID, },
74 { .vendor = 0, },
75};
76
77unsigned long vrc4173_io_offset = 0;
78
79EXPORT_SYMBOL(vrc4173_io_offset);
80
81static int vrc4173_initialized;
82static uint16_t vrc4173_cmuclkmsk;
83static uint16_t vrc4173_selectreg;
84static DEFINE_SPINLOCK(vrc4173_cmu_lock);
85static DEFINE_SPINLOCK(vrc4173_giu_lock);
86
87static inline void set_cmusrst(uint16_t val)
88{
89 uint16_t cmusrst;
90
91 cmusrst = vrc4173_inw(VRC4173_CMUSRST);
92 cmusrst |= val;
93 vrc4173_outw(cmusrst, VRC4173_CMUSRST);
94}
95
96static inline void clear_cmusrst(uint16_t val)
97{
98 uint16_t cmusrst;
99
100 cmusrst = vrc4173_inw(VRC4173_CMUSRST);
101 cmusrst &= ~val;
102 vrc4173_outw(cmusrst, VRC4173_CMUSRST);
103}
104
105void vrc4173_supply_clock(vrc4173_clock_t clock)
106{
107 if (vrc4173_initialized) {
108 spin_lock_irq(&vrc4173_cmu_lock);
109
110 switch (clock) {
111 case VRC4173_PIU_CLOCK:
112 vrc4173_cmuclkmsk |= MSKPIU;
113 break;
114 case VRC4173_KIU_CLOCK:
115 vrc4173_cmuclkmsk |= MSKKIU;
116 break;
117 case VRC4173_AIU_CLOCK:
118 vrc4173_cmuclkmsk |= MSKAIU;
119 break;
120 case VRC4173_PS2_CH1_CLOCK:
121 vrc4173_cmuclkmsk |= MSKPS2CH1;
122 break;
123 case VRC4173_PS2_CH2_CLOCK:
124 vrc4173_cmuclkmsk |= MSKPS2CH2;
125 break;
126 case VRC4173_USBU_PCI_CLOCK:
127 set_cmusrst(USBRST);
128 vrc4173_cmuclkmsk |= MSKUSB;
129 break;
130 case VRC4173_CARDU1_PCI_CLOCK:
131 set_cmusrst(CARD1RST);
132 vrc4173_cmuclkmsk |= MSKCARD1;
133 break;
134 case VRC4173_CARDU2_PCI_CLOCK:
135 set_cmusrst(CARD2RST);
136 vrc4173_cmuclkmsk |= MSKCARD2;
137 break;
138 case VRC4173_AC97U_PCI_CLOCK:
139 set_cmusrst(AC97RST);
140 vrc4173_cmuclkmsk |= MSKAC97;
141 break;
142 case VRC4173_USBU_48MHz_CLOCK:
143 set_cmusrst(USBRST);
144 vrc4173_cmuclkmsk |= MSK48MUSB;
145 break;
146 case VRC4173_EXT_48MHz_CLOCK:
147 if (vrc4173_cmuclkmsk & MSK48MOSC)
148 vrc4173_cmuclkmsk |= MSK48MPIN;
149 else
150 printk(KERN_WARNING
151 "vrc4173_supply_clock: "
152 "Please supply VRC4173_48MHz_CLOCK first "
153 "rather than VRC4173_EXT_48MHz_CLOCK.\n");
154 break;
155 case VRC4173_48MHz_CLOCK:
156 vrc4173_cmuclkmsk |= MSK48MOSC;
157 break;
158 default:
159 printk(KERN_WARNING
160 "vrc4173_supply_clock: Invalid CLOCK value %u\n", clock);
161 break;
162 }
163
164 vrc4173_outw(vrc4173_cmuclkmsk, VRC4173_CMUCLKMSK);
165
166 switch (clock) {
167 case VRC4173_USBU_PCI_CLOCK:
168 case VRC4173_USBU_48MHz_CLOCK:
169 clear_cmusrst(USBRST);
170 break;
171 case VRC4173_CARDU1_PCI_CLOCK:
172 clear_cmusrst(CARD1RST);
173 break;
174 case VRC4173_CARDU2_PCI_CLOCK:
175 clear_cmusrst(CARD2RST);
176 break;
177 case VRC4173_AC97U_PCI_CLOCK:
178 clear_cmusrst(AC97RST);
179 break;
180 default:
181 break;
182 }
183
184 spin_unlock_irq(&vrc4173_cmu_lock);
185 }
186}
187
188EXPORT_SYMBOL(vrc4173_supply_clock);
189
190void vrc4173_mask_clock(vrc4173_clock_t clock)
191{
192 if (vrc4173_initialized) {
193 spin_lock_irq(&vrc4173_cmu_lock);
194
195 switch (clock) {
196 case VRC4173_PIU_CLOCK:
197 vrc4173_cmuclkmsk &= ~MSKPIU;
198 break;
199 case VRC4173_KIU_CLOCK:
200 vrc4173_cmuclkmsk &= ~MSKKIU;
201 break;
202 case VRC4173_AIU_CLOCK:
203 vrc4173_cmuclkmsk &= ~MSKAIU;
204 break;
205 case VRC4173_PS2_CH1_CLOCK:
206 vrc4173_cmuclkmsk &= ~MSKPS2CH1;
207 break;
208 case VRC4173_PS2_CH2_CLOCK:
209 vrc4173_cmuclkmsk &= ~MSKPS2CH2;
210 break;
211 case VRC4173_USBU_PCI_CLOCK:
212 set_cmusrst(USBRST);
213 vrc4173_cmuclkmsk &= ~MSKUSB;
214 break;
215 case VRC4173_CARDU1_PCI_CLOCK:
216 set_cmusrst(CARD1RST);
217 vrc4173_cmuclkmsk &= ~MSKCARD1;
218 break;
219 case VRC4173_CARDU2_PCI_CLOCK:
220 set_cmusrst(CARD2RST);
221 vrc4173_cmuclkmsk &= ~MSKCARD2;
222 break;
223 case VRC4173_AC97U_PCI_CLOCK:
224 set_cmusrst(AC97RST);
225 vrc4173_cmuclkmsk &= ~MSKAC97;
226 break;
227 case VRC4173_USBU_48MHz_CLOCK:
228 set_cmusrst(USBRST);
229 vrc4173_cmuclkmsk &= ~MSK48MUSB;
230 break;
231 case VRC4173_EXT_48MHz_CLOCK:
232 vrc4173_cmuclkmsk &= ~MSK48MPIN;
233 break;
234 case VRC4173_48MHz_CLOCK:
235 vrc4173_cmuclkmsk &= ~MSK48MOSC;
236 break;
237 default:
238 printk(KERN_WARNING "vrc4173_mask_clock: Invalid CLOCK value %u\n", clock);
239 break;
240 }
241
242 vrc4173_outw(vrc4173_cmuclkmsk, VRC4173_CMUCLKMSK);
243
244 switch (clock) {
245 case VRC4173_USBU_PCI_CLOCK:
246 case VRC4173_USBU_48MHz_CLOCK:
247 clear_cmusrst(USBRST);
248 break;
249 case VRC4173_CARDU1_PCI_CLOCK:
250 clear_cmusrst(CARD1RST);
251 break;
252 case VRC4173_CARDU2_PCI_CLOCK:
253 clear_cmusrst(CARD2RST);
254 break;
255 case VRC4173_AC97U_PCI_CLOCK:
256 clear_cmusrst(AC97RST);
257 break;
258 default:
259 break;
260 }
261
262 spin_unlock_irq(&vrc4173_cmu_lock);
263 }
264}
265
266EXPORT_SYMBOL(vrc4173_mask_clock);
267
268static inline void vrc4173_cmu_init(void)
269{
270 vrc4173_cmuclkmsk = vrc4173_inw(VRC4173_CMUCLKMSK);
271
272 spin_lock_init(&vrc4173_cmu_lock);
273}
274
275void vrc4173_select_function(vrc4173_function_t function)
276{
277 if (vrc4173_initialized) {
278 spin_lock_irq(&vrc4173_giu_lock);
279
280 switch(function) {
281 case PS2_CHANNEL1:
282 vrc4173_selectreg |= SEL2;
283 break;
284 case PS2_CHANNEL2:
285 vrc4173_selectreg |= SEL1;
286 break;
287 case TOUCHPANEL:
288 vrc4173_selectreg &= SEL2 | SEL1 | SEL0;
289 break;
290 case KEYBOARD_8SCANLINES:
291 vrc4173_selectreg &= SEL3 | SEL2 | SEL1;
292 break;
293 case KEYBOARD_10SCANLINES:
294 vrc4173_selectreg &= SEL3 | SEL2;
295 break;
296 case KEYBOARD_12SCANLINES:
297 vrc4173_selectreg &= SEL3;
298 break;
299 case GPIO_0_15PINS:
300 vrc4173_selectreg |= SEL0;
301 break;
302 case GPIO_16_20PINS:
303 vrc4173_selectreg |= SEL3;
304 break;
305 }
306
307 vrc4173_outw(vrc4173_selectreg, VRC4173_SELECTREG);
308
309 spin_unlock_irq(&vrc4173_giu_lock);
310 }
311}
312
313EXPORT_SYMBOL(vrc4173_select_function);
314
315static inline void vrc4173_giu_init(void)
316{
317 vrc4173_selectreg = vrc4173_inw(VRC4173_SELECTREG);
318
319 spin_lock_init(&vrc4173_giu_lock);
320}
321
322void vrc4173_enable_piuint(uint16_t mask)
323{
324 irq_desc_t *desc = irq_desc + VRC4173_PIU_IRQ;
325 unsigned long flags;
326 uint16_t val;
327
328 spin_lock_irqsave(&desc->lock, flags);
329 val = vrc4173_inw(VRC4173_MPIUINTREG);
330 val |= mask;
331 vrc4173_outw(val, VRC4173_MPIUINTREG);
332 spin_unlock_irqrestore(&desc->lock, flags);
333}
334
335EXPORT_SYMBOL(vrc4173_enable_piuint);
336
337void vrc4173_disable_piuint(uint16_t mask)
338{
339 irq_desc_t *desc = irq_desc + VRC4173_PIU_IRQ;
340 unsigned long flags;
341 uint16_t val;
342
343 spin_lock_irqsave(&desc->lock, flags);
344 val = vrc4173_inw(VRC4173_MPIUINTREG);
345 val &= ~mask;
346 vrc4173_outw(val, VRC4173_MPIUINTREG);
347 spin_unlock_irqrestore(&desc->lock, flags);
348}
349
350EXPORT_SYMBOL(vrc4173_disable_piuint);
351
352void vrc4173_enable_aiuint(uint16_t mask)
353{
354 irq_desc_t *desc = irq_desc + VRC4173_AIU_IRQ;
355 unsigned long flags;
356 uint16_t val;
357
358 spin_lock_irqsave(&desc->lock, flags);
359 val = vrc4173_inw(VRC4173_MAIUINTREG);
360 val |= mask;
361 vrc4173_outw(val, VRC4173_MAIUINTREG);
362 spin_unlock_irqrestore(&desc->lock, flags);
363}
364
365EXPORT_SYMBOL(vrc4173_enable_aiuint);
366
367void vrc4173_disable_aiuint(uint16_t mask)
368{
369 irq_desc_t *desc = irq_desc + VRC4173_AIU_IRQ;
370 unsigned long flags;
371 uint16_t val;
372
373 spin_lock_irqsave(&desc->lock, flags);
374 val = vrc4173_inw(VRC4173_MAIUINTREG);
375 val &= ~mask;
376 vrc4173_outw(val, VRC4173_MAIUINTREG);
377 spin_unlock_irqrestore(&desc->lock, flags);
378}
379
380EXPORT_SYMBOL(vrc4173_disable_aiuint);
381
382void vrc4173_enable_kiuint(uint16_t mask)
383{
384 irq_desc_t *desc = irq_desc + VRC4173_KIU_IRQ;
385 unsigned long flags;
386 uint16_t val;
387
388 spin_lock_irqsave(&desc->lock, flags);
389 val = vrc4173_inw(VRC4173_MKIUINTREG);
390 val |= mask;
391 vrc4173_outw(val, VRC4173_MKIUINTREG);
392 spin_unlock_irqrestore(&desc->lock, flags);
393}
394
395EXPORT_SYMBOL(vrc4173_enable_kiuint);
396
397void vrc4173_disable_kiuint(uint16_t mask)
398{
399 irq_desc_t *desc = irq_desc + VRC4173_KIU_IRQ;
400 unsigned long flags;
401 uint16_t val;
402
403 spin_lock_irqsave(&desc->lock, flags);
404 val = vrc4173_inw(VRC4173_MKIUINTREG);
405 val &= ~mask;
406 vrc4173_outw(val, VRC4173_MKIUINTREG);
407 spin_unlock_irqrestore(&desc->lock, flags);
408}
409
410EXPORT_SYMBOL(vrc4173_disable_kiuint);
411
412static void enable_vrc4173_irq(unsigned int irq)
413{
414 uint16_t val;
415
416 val = vrc4173_inw(VRC4173_MSYSINT1REG);
417 val |= (uint16_t)1 << (irq - VRC4173_IRQ_BASE);
418 vrc4173_outw(val, VRC4173_MSYSINT1REG);
419}
420
421static void disable_vrc4173_irq(unsigned int irq)
422{
423 uint16_t val;
424
425 val = vrc4173_inw(VRC4173_MSYSINT1REG);
426 val &= ~((uint16_t)1 << (irq - VRC4173_IRQ_BASE));
427 vrc4173_outw(val, VRC4173_MSYSINT1REG);
428}
429
430static unsigned int startup_vrc4173_irq(unsigned int irq)
431{
432 enable_vrc4173_irq(irq);
433 return 0; /* never anything pending */
434}
435
436#define shutdown_vrc4173_irq disable_vrc4173_irq
437#define ack_vrc4173_irq disable_vrc4173_irq
438
439static void end_vrc4173_irq(unsigned int irq)
440{
441 if (!(irq_desc[irq].status & (IRQ_DISABLED | IRQ_INPROGRESS)))
442 enable_vrc4173_irq(irq);
443}
444
445static struct hw_interrupt_type vrc4173_irq_type = {
446 .typename = "VRC4173",
447 .startup = startup_vrc4173_irq,
448 .shutdown = shutdown_vrc4173_irq,
449 .enable = enable_vrc4173_irq,
450 .disable = disable_vrc4173_irq,
451 .ack = ack_vrc4173_irq,
452 .end = end_vrc4173_irq,
453};
454
455static int vrc4173_get_irq_number(int irq)
456{
457 uint16_t status, mask;
458 int i;
459
460 status = vrc4173_inw(VRC4173_SYSINT1REG);
461 mask = vrc4173_inw(VRC4173_MSYSINT1REG);
462
463 status &= mask;
464 if (status) {
465 for (i = 0; i < 16; i++)
466 if (status & (0x0001 << i))
467 return VRC4173_IRQ(i);
468 }
469
470 return -EINVAL;
471}
472
473static inline int vrc4173_icu_init(int cascade_irq)
474{
475 int i;
476
477 if (cascade_irq < GIU_IRQ(0) || cascade_irq > GIU_IRQ(15))
478 return -EINVAL;
479
480 vrc4173_outw(0, VRC4173_MSYSINT1REG);
481
482 vr41xx_set_irq_trigger(GIU_IRQ_TO_PIN(cascade_irq), TRIGGER_LEVEL, SIGNAL_THROUGH);
483 vr41xx_set_irq_level(GIU_IRQ_TO_PIN(cascade_irq), LEVEL_LOW);
484
485 for (i = VRC4173_IRQ_BASE; i <= VRC4173_IRQ_LAST; i++)
486 irq_desc[i].chip = &vrc4173_irq_type;
487
488 return 0;
489}
490
491static int __devinit vrc4173_probe(struct pci_dev *dev,
492 const struct pci_device_id *id)
493{
494 unsigned long start, flags;
495 int err;
496
497 err = pci_enable_device(dev);
498 if (err < 0) {
499 printk(KERN_ERR "vrc4173: Failed to enable PCI device, aborting\n");
500 return err;
501 }
502
503 pci_set_master(dev);
504
505 start = pci_resource_start(dev, 0);
506 if (start == 0) {
507 printk(KERN_ERR "vrc4173:No such PCI I/O resource, aborting\n");
508 return -ENXIO;
509 }
510
511 flags = pci_resource_flags(dev, 0);
512 if ((flags & IORESOURCE_IO) == 0) {
513 printk(KERN_ERR "vrc4173: No such PCI I/O resource, aborting\n");
514 return -ENXIO;
515 }
516
517 err = pci_request_regions(dev, "NEC VRC4173");
518 if (err < 0) {
519 printk(KERN_ERR "vrc4173: PCI resources are busy, aborting\n");
520 return err;
521 }
522
523 set_vrc4173_io_offset(start);
524
525 vrc4173_cmu_init();
526 vrc4173_giu_init();
527
528 err = vrc4173_icu_init(dev->irq);
529 if (err < 0) {
530 printk(KERN_ERR "vrc4173: Invalid IRQ %d, aborting\n", dev->irq);
531 return err;
532 }
533
534 err = vr41xx_cascade_irq(dev->irq, vrc4173_get_irq_number);
535 if (err < 0) {
536 printk(KERN_ERR "vrc4173: IRQ resource %d is busy, aborting\n", dev->irq);
537 return err;
538 }
539
540 printk(KERN_INFO
541 "NEC VRC4173 at 0x%#08lx, IRQ is cascaded to %d\n", start, dev->irq);
542
543 return 0;
544}
545
546static void vrc4173_remove(struct pci_dev *dev)
547{
548 free_irq(dev->irq, NULL);
549
550 pci_release_regions(dev);
551}
552
553static struct pci_driver vrc4173_driver = {
554 .name = "NEC VRC4173",
555 .probe = vrc4173_probe,
556 .remove = vrc4173_remove,
557 .id_table = vrc4173_id_table,
558};
559
560static int __devinit vrc4173_init(void)
561{
562 int err;
563
564 err = pci_register_driver(&vrc4173_driver);
565 if (err < 0)
566 return err;
567
568 vrc4173_initialized = 1;
569
570 return 0;
571}
572
573static void __devexit vrc4173_exit(void)
574{
575 vrc4173_initialized = 0;
576
577 pci_unregister_driver(&vrc4173_driver);
578}
579
580module_init(vrc4173_init);
581module_exit(vrc4173_exit);
diff --git a/arch/mips/vr41xx/ibm-workpad/setup.c b/arch/mips/vr41xx/ibm-workpad/setup.c
index 50fe8af4c52c..9eef297eca1a 100644
--- a/arch/mips/vr41xx/ibm-workpad/setup.c
+++ b/arch/mips/vr41xx/ibm-workpad/setup.c
@@ -1,7 +1,7 @@
1/* 1/*
2 * setup.c, Setup for the IBM WorkPad z50. 2 * setup.c, Setup for the IBM WorkPad z50.
3 * 3 *
4 * Copyright (C) 2002-2005 Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp> 4 * Copyright (C) 2002-2006 Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
5 * 5 *
6 * This program is free software; you can redistribute it and/or modify 6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by 7 * it under the terms of the GNU General Public License as published by
@@ -21,13 +21,18 @@
21#include <linux/ioport.h> 21#include <linux/ioport.h>
22 22
23#include <asm/io.h> 23#include <asm/io.h>
24#include <asm/vr41xx/workpad.h> 24
25#define WORKPAD_ISA_IO_BASE 0x15000000
26#define WORKPAD_ISA_IO_SIZE 0x03000000
27#define WORKPAD_ISA_IO_START 0
28#define WORKPAD_ISA_IO_END (WORKPAD_ISA_IO_SIZE - 1)
29#define WORKPAD_IO_PORT_BASE KSEG1ADDR(WORKPAD_ISA_IO_BASE)
25 30
26static int __init ibm_workpad_setup(void) 31static int __init ibm_workpad_setup(void)
27{ 32{
28 set_io_port_base(IO_PORT_BASE); 33 set_io_port_base(WORKPAD_IO_PORT_BASE);
29 ioport_resource.start = IO_PORT_RESOURCE_START; 34 ioport_resource.start = WORKPAD_ISA_IO_START;
30 ioport_resource.end = IO_PORT_RESOURCE_END; 35 ioport_resource.end = WORKPAD_ISA_IO_END;
31 36
32 return 0; 37 return 0;
33} 38}
diff --git a/arch/mips/vr41xx/nec-cmbvr4133/irq.c b/arch/mips/vr41xx/nec-cmbvr4133/irq.c
index 7b2511ca0a61..2483487344c2 100644
--- a/arch/mips/vr41xx/nec-cmbvr4133/irq.c
+++ b/arch/mips/vr41xx/nec-cmbvr4133/irq.c
@@ -62,7 +62,7 @@ static void end_i8259_irq(unsigned int irq)
62 enable_8259A_irq(irq - I8259_IRQ_BASE); 62 enable_8259A_irq(irq - I8259_IRQ_BASE);
63} 63}
64 64
65static struct hw_interrupt_type i8259_irq_type = { 65static struct irq_chip i8259_irq_type = {
66 .typename = "XT-PIC", 66 .typename = "XT-PIC",
67 .startup = startup_i8259_irq, 67 .startup = startup_i8259_irq,
68 .shutdown = shutdown_i8259_irq, 68 .shutdown = shutdown_i8259_irq,
diff --git a/arch/parisc/kernel/pdc_cons.c b/arch/parisc/kernel/pdc_cons.c
index ce78f412ff2e..aab05767427c 100644
--- a/arch/parisc/kernel/pdc_cons.c
+++ b/arch/parisc/kernel/pdc_cons.c
@@ -89,6 +89,8 @@ static int pdc_console_setup(struct console *co, char *options)
89} 89}
90 90
91#if defined(CONFIG_PDC_CONSOLE) 91#if defined(CONFIG_PDC_CONSOLE)
92#include <linux/vt_kern.h>
93
92static struct tty_driver * pdc_console_device (struct console *c, int *index) 94static struct tty_driver * pdc_console_device (struct console *c, int *index)
93{ 95{
94 extern struct tty_driver console_driver; 96 extern struct tty_driver console_driver;
diff --git a/arch/parisc/kernel/vmlinux.lds.S b/arch/parisc/kernel/vmlinux.lds.S
index 9989495a51dd..b3677fc8eef5 100644
--- a/arch/parisc/kernel/vmlinux.lds.S
+++ b/arch/parisc/kernel/vmlinux.lds.S
@@ -204,6 +204,7 @@ SECTIONS
204 *(.dynstr) 204 *(.dynstr)
205 *(.dynamic) 205 *(.dynamic)
206 *(.hash) 206 *(.hash)
207 *(.gnu.hash)
207#endif 208#endif
208 } 209 }
209 210
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index 2643dbc3f289..13e583f16ede 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -504,7 +504,7 @@ config CPU_FREQ_PMAC
504 504
505config CPU_FREQ_PMAC64 505config CPU_FREQ_PMAC64
506 bool "Support for some Apple G5s" 506 bool "Support for some Apple G5s"
507 depends on CPU_FREQ && PMAC_SMU && PPC64 507 depends on CPU_FREQ && PPC64
508 select CPU_FREQ_TABLE 508 select CPU_FREQ_TABLE
509 help 509 help
510 This adds support for frequency switching on Apple iMac G5, 510 This adds support for frequency switching on Apple iMac G5,
diff --git a/arch/powerpc/configs/pmac32_defconfig b/arch/powerpc/configs/pmac32_defconfig
index addc79381c3b..3545af9896af 100644
--- a/arch/powerpc/configs/pmac32_defconfig
+++ b/arch/powerpc/configs/pmac32_defconfig
@@ -1,16 +1,18 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.17-rc5 3# Linux kernel version: 2.6.17
4# Mon May 29 14:47:49 2006 4# Mon Jul 3 14:20:49 2006
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7CONFIG_PPC32=y 7CONFIG_PPC32=y
8CONFIG_PPC_MERGE=y 8CONFIG_PPC_MERGE=y
9CONFIG_MMU=y 9CONFIG_MMU=y
10CONFIG_GENERIC_HARDIRQS=y 10CONFIG_GENERIC_HARDIRQS=y
11CONFIG_IRQ_PER_CPU=y
11CONFIG_RWSEM_XCHGADD_ALGORITHM=y 12CONFIG_RWSEM_XCHGADD_ALGORITHM=y
12CONFIG_GENERIC_HWEIGHT=y 13CONFIG_GENERIC_HWEIGHT=y
13CONFIG_GENERIC_CALIBRATE_DELAY=y 14CONFIG_GENERIC_CALIBRATE_DELAY=y
15CONFIG_GENERIC_FIND_NEXT_BIT=y
14CONFIG_PPC=y 16CONFIG_PPC=y
15CONFIG_EARLY_PRINTK=y 17CONFIG_EARLY_PRINTK=y
16CONFIG_GENERIC_NVRAM=y 18CONFIG_GENERIC_NVRAM=y
@@ -29,6 +31,7 @@ CONFIG_CLASSIC32=y
29# CONFIG_PPC_82xx is not set 31# CONFIG_PPC_82xx is not set
30# CONFIG_PPC_83xx is not set 32# CONFIG_PPC_83xx is not set
31# CONFIG_PPC_85xx is not set 33# CONFIG_PPC_85xx is not set
34# CONFIG_PPC_86xx is not set
32# CONFIG_40x is not set 35# CONFIG_40x is not set
33# CONFIG_44x is not set 36# CONFIG_44x is not set
34# CONFIG_8xx is not set 37# CONFIG_8xx is not set
@@ -39,6 +42,7 @@ CONFIG_ALTIVEC=y
39CONFIG_PPC_STD_MMU=y 42CONFIG_PPC_STD_MMU=y
40CONFIG_PPC_STD_MMU_32=y 43CONFIG_PPC_STD_MMU_32=y
41# CONFIG_SMP is not set 44# CONFIG_SMP is not set
45CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
42 46
43# 47#
44# Code maturity level options 48# Code maturity level options
@@ -72,10 +76,12 @@ CONFIG_PRINTK=y
72CONFIG_BUG=y 76CONFIG_BUG=y
73CONFIG_ELF_CORE=y 77CONFIG_ELF_CORE=y
74CONFIG_BASE_FULL=y 78CONFIG_BASE_FULL=y
79CONFIG_RT_MUTEXES=y
75CONFIG_FUTEX=y 80CONFIG_FUTEX=y
76CONFIG_EPOLL=y 81CONFIG_EPOLL=y
77CONFIG_SHMEM=y 82CONFIG_SHMEM=y
78CONFIG_SLAB=y 83CONFIG_SLAB=y
84CONFIG_VM_EVENT_COUNTERS=y
79# CONFIG_TINY_SHMEM is not set 85# CONFIG_TINY_SHMEM is not set
80CONFIG_BASE_SMALL=0 86CONFIG_BASE_SMALL=0
81# CONFIG_SLOB is not set 87# CONFIG_SLOB is not set
@@ -119,6 +125,9 @@ CONFIG_PPC_MULTIPLATFORM=y
119# CONFIG_APUS is not set 125# CONFIG_APUS is not set
120# CONFIG_PPC_CHRP is not set 126# CONFIG_PPC_CHRP is not set
121CONFIG_PPC_PMAC=y 127CONFIG_PPC_PMAC=y
128# CONFIG_PPC_CELL is not set
129# CONFIG_PPC_CELL_NATIVE is not set
130# CONFIG_UDBG_RTAS_CONSOLE is not set
122CONFIG_MPIC=y 131CONFIG_MPIC=y
123# CONFIG_PPC_RTAS is not set 132# CONFIG_PPC_RTAS is not set
124# CONFIG_MMIO_NVRAM is not set 133# CONFIG_MMIO_NVRAM is not set
@@ -154,6 +163,7 @@ CONFIG_PREEMPT_NONE=y
154# CONFIG_PREEMPT is not set 163# CONFIG_PREEMPT is not set
155CONFIG_BINFMT_ELF=y 164CONFIG_BINFMT_ELF=y
156CONFIG_BINFMT_MISC=m 165CONFIG_BINFMT_MISC=m
166CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
157# CONFIG_KEXEC is not set 167# CONFIG_KEXEC is not set
158CONFIG_ARCH_FLATMEM_ENABLE=y 168CONFIG_ARCH_FLATMEM_ENABLE=y
159CONFIG_SELECT_MEMORY_MODEL=y 169CONFIG_SELECT_MEMORY_MODEL=y
@@ -164,6 +174,7 @@ CONFIG_FLATMEM=y
164CONFIG_FLAT_NODE_MEM_MAP=y 174CONFIG_FLAT_NODE_MEM_MAP=y
165# CONFIG_SPARSEMEM_STATIC is not set 175# CONFIG_SPARSEMEM_STATIC is not set
166CONFIG_SPLIT_PTLOCK_CPUS=4 176CONFIG_SPLIT_PTLOCK_CPUS=4
177# CONFIG_RESOURCES_64BIT is not set
167CONFIG_PROC_DEVICETREE=y 178CONFIG_PROC_DEVICETREE=y
168# CONFIG_CMDLINE_BOOL is not set 179# CONFIG_CMDLINE_BOOL is not set
169CONFIG_PM=y 180CONFIG_PM=y
@@ -182,6 +193,7 @@ CONFIG_GENERIC_ISA_DMA=y
182CONFIG_PPC_INDIRECT_PCI=y 193CONFIG_PPC_INDIRECT_PCI=y
183CONFIG_PCI=y 194CONFIG_PCI=y
184CONFIG_PCI_DOMAINS=y 195CONFIG_PCI_DOMAINS=y
196# CONFIG_PCIEPORTBUS is not set
185# CONFIG_PCI_DEBUG is not set 197# CONFIG_PCI_DEBUG is not set
186 198
187# 199#
@@ -256,6 +268,8 @@ CONFIG_INET_ESP=y
256# CONFIG_INET_IPCOMP is not set 268# CONFIG_INET_IPCOMP is not set
257# CONFIG_INET_XFRM_TUNNEL is not set 269# CONFIG_INET_XFRM_TUNNEL is not set
258# CONFIG_INET_TUNNEL is not set 270# CONFIG_INET_TUNNEL is not set
271# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
272# CONFIG_INET_XFRM_MODE_TUNNEL is not set
259CONFIG_INET_DIAG=y 273CONFIG_INET_DIAG=y
260CONFIG_INET_TCP_DIAG=y 274CONFIG_INET_TCP_DIAG=y
261# CONFIG_TCP_CONG_ADVANCED is not set 275# CONFIG_TCP_CONG_ADVANCED is not set
@@ -268,6 +282,7 @@ CONFIG_TCP_CONG_BIC=y
268# CONFIG_IPV6 is not set 282# CONFIG_IPV6 is not set
269# CONFIG_INET6_XFRM_TUNNEL is not set 283# CONFIG_INET6_XFRM_TUNNEL is not set
270# CONFIG_INET6_TUNNEL is not set 284# CONFIG_INET6_TUNNEL is not set
285# CONFIG_NETWORK_SECMARK is not set
271CONFIG_NETFILTER=y 286CONFIG_NETFILTER=y
272# CONFIG_NETFILTER_DEBUG is not set 287# CONFIG_NETFILTER_DEBUG is not set
273 288
@@ -292,9 +307,11 @@ CONFIG_NETFILTER_XT_MATCH_MARK=m
292CONFIG_NETFILTER_XT_MATCH_POLICY=m 307CONFIG_NETFILTER_XT_MATCH_POLICY=m
293CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m 308CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
294CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m 309CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
310# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set
295CONFIG_NETFILTER_XT_MATCH_REALM=m 311CONFIG_NETFILTER_XT_MATCH_REALM=m
296CONFIG_NETFILTER_XT_MATCH_SCTP=m 312CONFIG_NETFILTER_XT_MATCH_SCTP=m
297CONFIG_NETFILTER_XT_MATCH_STATE=m 313CONFIG_NETFILTER_XT_MATCH_STATE=m
314# CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set
298CONFIG_NETFILTER_XT_MATCH_STRING=m 315CONFIG_NETFILTER_XT_MATCH_STRING=m
299CONFIG_NETFILTER_XT_MATCH_TCPMSS=m 316CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
300 317
@@ -313,6 +330,7 @@ CONFIG_IP_NF_TFTP=m
313CONFIG_IP_NF_AMANDA=m 330CONFIG_IP_NF_AMANDA=m
314CONFIG_IP_NF_PPTP=m 331CONFIG_IP_NF_PPTP=m
315CONFIG_IP_NF_H323=m 332CONFIG_IP_NF_H323=m
333# CONFIG_IP_NF_SIP is not set
316# CONFIG_IP_NF_QUEUE is not set 334# CONFIG_IP_NF_QUEUE is not set
317CONFIG_IP_NF_IPTABLES=m 335CONFIG_IP_NF_IPTABLES=m
318CONFIG_IP_NF_MATCH_IPRANGE=m 336CONFIG_IP_NF_MATCH_IPRANGE=m
@@ -457,6 +475,7 @@ CONFIG_IRTTY_SIR=m
457# CONFIG_ALI_FIR is not set 475# CONFIG_ALI_FIR is not set
458# CONFIG_VLSI_FIR is not set 476# CONFIG_VLSI_FIR is not set
459# CONFIG_VIA_FIR is not set 477# CONFIG_VIA_FIR is not set
478# CONFIG_MCS_FIR is not set
460CONFIG_BT=m 479CONFIG_BT=m
461CONFIG_BT_L2CAP=m 480CONFIG_BT_L2CAP=m
462CONFIG_BT_SCO=m 481CONFIG_BT_SCO=m
@@ -500,6 +519,7 @@ CONFIG_WIRELESS_EXT=y
500CONFIG_PREVENT_FIRMWARE_BUILD=y 519CONFIG_PREVENT_FIRMWARE_BUILD=y
501CONFIG_FW_LOADER=y 520CONFIG_FW_LOADER=y
502# CONFIG_DEBUG_DRIVER is not set 521# CONFIG_DEBUG_DRIVER is not set
522# CONFIG_SYS_HYPERVISOR is not set
503 523
504# 524#
505# Connector - unified userspace <-> kernelspace linker 525# Connector - unified userspace <-> kernelspace linker
@@ -600,7 +620,6 @@ CONFIG_BLK_DEV_PDC202XX_NEW=y
600CONFIG_BLK_DEV_IDE_PMAC=y 620CONFIG_BLK_DEV_IDE_PMAC=y
601CONFIG_BLK_DEV_IDE_PMAC_ATA100FIRST=y 621CONFIG_BLK_DEV_IDE_PMAC_ATA100FIRST=y
602CONFIG_BLK_DEV_IDEDMA_PMAC=y 622CONFIG_BLK_DEV_IDEDMA_PMAC=y
603CONFIG_BLK_DEV_IDE_PMAC_BLINK=y
604# CONFIG_IDE_ARM is not set 623# CONFIG_IDE_ARM is not set
605CONFIG_BLK_DEV_IDEDMA=y 624CONFIG_BLK_DEV_IDEDMA=y
606# CONFIG_IDEDMA_IVB is not set 625# CONFIG_IDEDMA_IVB is not set
@@ -661,6 +680,7 @@ CONFIG_SCSI_AIC7XXX_OLD=m
661# CONFIG_MEGARAID_LEGACY is not set 680# CONFIG_MEGARAID_LEGACY is not set
662# CONFIG_MEGARAID_SAS is not set 681# CONFIG_MEGARAID_SAS is not set
663# CONFIG_SCSI_SATA is not set 682# CONFIG_SCSI_SATA is not set
683# CONFIG_SCSI_HPTIOP is not set
664# CONFIG_SCSI_BUSLOGIC is not set 684# CONFIG_SCSI_BUSLOGIC is not set
665# CONFIG_SCSI_DMX3191D is not set 685# CONFIG_SCSI_DMX3191D is not set
666# CONFIG_SCSI_EATA is not set 686# CONFIG_SCSI_EATA is not set
@@ -705,9 +725,7 @@ CONFIG_MD_LINEAR=m
705CONFIG_MD_RAID0=m 725CONFIG_MD_RAID0=m
706CONFIG_MD_RAID1=m 726CONFIG_MD_RAID1=m
707CONFIG_MD_RAID10=m 727CONFIG_MD_RAID10=m
708CONFIG_MD_RAID5=m 728# CONFIG_MD_RAID456 is not set
709CONFIG_MD_RAID5_RESHAPE=y
710CONFIG_MD_RAID6=m
711CONFIG_MD_MULTIPATH=m 729CONFIG_MD_MULTIPATH=m
712CONFIG_MD_FAULTY=m 730CONFIG_MD_FAULTY=m
713CONFIG_BLK_DEV_DM=m 731CONFIG_BLK_DEV_DM=m
@@ -750,7 +768,6 @@ CONFIG_IEEE1394_OHCI1394=m
750# 768#
751CONFIG_IEEE1394_VIDEO1394=m 769CONFIG_IEEE1394_VIDEO1394=m
752CONFIG_IEEE1394_SBP2=m 770CONFIG_IEEE1394_SBP2=m
753# CONFIG_IEEE1394_SBP2_PHYS_DMA is not set
754# CONFIG_IEEE1394_ETH1394 is not set 771# CONFIG_IEEE1394_ETH1394 is not set
755CONFIG_IEEE1394_DV1394=m 772CONFIG_IEEE1394_DV1394=m
756CONFIG_IEEE1394_RAWIO=m 773CONFIG_IEEE1394_RAWIO=m
@@ -766,9 +783,12 @@ CONFIG_IEEE1394_RAWIO=m
766CONFIG_ADB=y 783CONFIG_ADB=y
767CONFIG_ADB_CUDA=y 784CONFIG_ADB_CUDA=y
768CONFIG_ADB_PMU=y 785CONFIG_ADB_PMU=y
786CONFIG_ADB_PMU_LED=y
787CONFIG_ADB_PMU_LED_IDE=y
769CONFIG_PMAC_APM_EMU=m 788CONFIG_PMAC_APM_EMU=m
770CONFIG_PMAC_MEDIABAY=y 789CONFIG_PMAC_MEDIABAY=y
771CONFIG_PMAC_BACKLIGHT=y 790CONFIG_PMAC_BACKLIGHT=y
791CONFIG_PMAC_BACKLIGHT_LEGACY=y
772CONFIG_INPUT_ADBHID=y 792CONFIG_INPUT_ADBHID=y
773CONFIG_MAC_EMUMOUSEBTN=y 793CONFIG_MAC_EMUMOUSEBTN=y
774CONFIG_THERM_WINDTUNNEL=m 794CONFIG_THERM_WINDTUNNEL=m
@@ -858,6 +878,7 @@ CONFIG_PCNET32=y
858# CONFIG_CHELSIO_T1 is not set 878# CONFIG_CHELSIO_T1 is not set
859# CONFIG_IXGB is not set 879# CONFIG_IXGB is not set
860# CONFIG_S2IO is not set 880# CONFIG_S2IO is not set
881# CONFIG_MYRI10GE is not set
861 882
862# 883#
863# Token Ring devices 884# Token Ring devices
@@ -908,6 +929,7 @@ CONFIG_APPLE_AIRPORT=m
908# Prism GT/Duette 802.11(a/b/g) PCI/Cardbus support 929# Prism GT/Duette 802.11(a/b/g) PCI/Cardbus support
909# 930#
910CONFIG_PRISM54=m 931CONFIG_PRISM54=m
932# CONFIG_USB_ZD1201 is not set
911# CONFIG_HOSTAP is not set 933# CONFIG_HOSTAP is not set
912CONFIG_NET_WIRELESS=y 934CONFIG_NET_WIRELESS=y
913 935
@@ -998,6 +1020,7 @@ CONFIG_SERIO=y
998CONFIG_VT=y 1020CONFIG_VT=y
999CONFIG_VT_CONSOLE=y 1021CONFIG_VT_CONSOLE=y
1000CONFIG_HW_CONSOLE=y 1022CONFIG_HW_CONSOLE=y
1023# CONFIG_VT_HW_CONSOLE_BINDING is not set
1001# CONFIG_SERIAL_NONSTANDARD is not set 1024# CONFIG_SERIAL_NONSTANDARD is not set
1002 1025
1003# 1026#
@@ -1029,6 +1052,7 @@ CONFIG_LEGACY_PTY_COUNT=256
1029# Watchdog Cards 1052# Watchdog Cards
1030# 1053#
1031# CONFIG_WATCHDOG is not set 1054# CONFIG_WATCHDOG is not set
1055# CONFIG_HW_RANDOM is not set
1032CONFIG_NVRAM=y 1056CONFIG_NVRAM=y
1033CONFIG_GEN_RTC=y 1057CONFIG_GEN_RTC=y
1034# CONFIG_GEN_RTC_X is not set 1058# CONFIG_GEN_RTC_X is not set
@@ -1040,6 +1064,7 @@ CONFIG_GEN_RTC=y
1040# Ftape, the floppy tape device driver 1064# Ftape, the floppy tape device driver
1041# 1065#
1042CONFIG_AGP=m 1066CONFIG_AGP=m
1067# CONFIG_AGP_SIS is not set
1043# CONFIG_AGP_VIA is not set 1068# CONFIG_AGP_VIA is not set
1044CONFIG_AGP_UNINORTH=m 1069CONFIG_AGP_UNINORTH=m
1045CONFIG_DRM=m 1070CONFIG_DRM=m
@@ -1092,6 +1117,7 @@ CONFIG_I2C_ALGOBIT=y
1092CONFIG_I2C_POWERMAC=y 1117CONFIG_I2C_POWERMAC=y
1093# CONFIG_I2C_MPC is not set 1118# CONFIG_I2C_MPC is not set
1094# CONFIG_I2C_NFORCE2 is not set 1119# CONFIG_I2C_NFORCE2 is not set
1120# CONFIG_I2C_OCORES is not set
1095# CONFIG_I2C_PARPORT_LIGHT is not set 1121# CONFIG_I2C_PARPORT_LIGHT is not set
1096# CONFIG_I2C_PROSAVAGE is not set 1122# CONFIG_I2C_PROSAVAGE is not set
1097# CONFIG_I2C_SAVAGE4 is not set 1123# CONFIG_I2C_SAVAGE4 is not set
@@ -1156,12 +1182,13 @@ CONFIG_VIDEO_V4L2=y
1156# 1182#
1157# Graphics support 1183# Graphics support
1158# 1184#
1185# CONFIG_FIRMWARE_EDID is not set
1159CONFIG_FB=y 1186CONFIG_FB=y
1160CONFIG_FB_CFB_FILLRECT=y 1187CONFIG_FB_CFB_FILLRECT=y
1161CONFIG_FB_CFB_COPYAREA=y 1188CONFIG_FB_CFB_COPYAREA=y
1162CONFIG_FB_CFB_IMAGEBLIT=y 1189CONFIG_FB_CFB_IMAGEBLIT=y
1163CONFIG_FB_MACMODES=y 1190CONFIG_FB_MACMODES=y
1164CONFIG_FB_FIRMWARE_EDID=y 1191CONFIG_FB_BACKLIGHT=y
1165CONFIG_FB_MODE_HELPERS=y 1192CONFIG_FB_MODE_HELPERS=y
1166CONFIG_FB_TILEBLITTING=y 1193CONFIG_FB_TILEBLITTING=y
1167# CONFIG_FB_CIRRUS is not set 1194# CONFIG_FB_CIRRUS is not set
@@ -1178,6 +1205,7 @@ CONFIG_FB_IMSTT=y
1178# CONFIG_FB_S1D13XXX is not set 1205# CONFIG_FB_S1D13XXX is not set
1179CONFIG_FB_NVIDIA=y 1206CONFIG_FB_NVIDIA=y
1180CONFIG_FB_NVIDIA_I2C=y 1207CONFIG_FB_NVIDIA_I2C=y
1208CONFIG_FB_NVIDIA_BACKLIGHT=y
1181# CONFIG_FB_RIVA is not set 1209# CONFIG_FB_RIVA is not set
1182CONFIG_FB_MATROX=y 1210CONFIG_FB_MATROX=y
1183CONFIG_FB_MATROX_MILLENIUM=y 1211CONFIG_FB_MATROX_MILLENIUM=y
@@ -1187,12 +1215,15 @@ CONFIG_FB_MATROX_MYSTIQUE=y
1187# CONFIG_FB_MATROX_MULTIHEAD is not set 1215# CONFIG_FB_MATROX_MULTIHEAD is not set
1188CONFIG_FB_RADEON=y 1216CONFIG_FB_RADEON=y
1189CONFIG_FB_RADEON_I2C=y 1217CONFIG_FB_RADEON_I2C=y
1218CONFIG_FB_RADEON_BACKLIGHT=y
1190# CONFIG_FB_RADEON_DEBUG is not set 1219# CONFIG_FB_RADEON_DEBUG is not set
1191CONFIG_FB_ATY128=y 1220CONFIG_FB_ATY128=y
1221CONFIG_FB_ATY128_BACKLIGHT=y
1192CONFIG_FB_ATY=y 1222CONFIG_FB_ATY=y
1193CONFIG_FB_ATY_CT=y 1223CONFIG_FB_ATY_CT=y
1194# CONFIG_FB_ATY_GENERIC_LCD is not set 1224# CONFIG_FB_ATY_GENERIC_LCD is not set
1195CONFIG_FB_ATY_GX=y 1225CONFIG_FB_ATY_GX=y
1226CONFIG_FB_ATY_BACKLIGHT=y
1196# CONFIG_FB_SAVAGE is not set 1227# CONFIG_FB_SAVAGE is not set
1197# CONFIG_FB_SIS is not set 1228# CONFIG_FB_SIS is not set
1198# CONFIG_FB_NEOMAGIC is not set 1229# CONFIG_FB_NEOMAGIC is not set
@@ -1221,7 +1252,11 @@ CONFIG_LOGO=y
1221CONFIG_LOGO_LINUX_MONO=y 1252CONFIG_LOGO_LINUX_MONO=y
1222CONFIG_LOGO_LINUX_VGA16=y 1253CONFIG_LOGO_LINUX_VGA16=y
1223CONFIG_LOGO_LINUX_CLUT224=y 1254CONFIG_LOGO_LINUX_CLUT224=y
1224# CONFIG_BACKLIGHT_LCD_SUPPORT is not set 1255CONFIG_BACKLIGHT_LCD_SUPPORT=y
1256CONFIG_BACKLIGHT_CLASS_DEVICE=y
1257CONFIG_BACKLIGHT_DEVICE=y
1258CONFIG_LCD_CLASS_DEVICE=m
1259CONFIG_LCD_DEVICE=y
1225 1260
1226# 1261#
1227# Sound 1262# Sound
@@ -1278,6 +1313,18 @@ CONFIG_SND_DUMMY=m
1278# CONFIG_SND_CMIPCI is not set 1313# CONFIG_SND_CMIPCI is not set
1279# CONFIG_SND_CS4281 is not set 1314# CONFIG_SND_CS4281 is not set
1280# CONFIG_SND_CS46XX is not set 1315# CONFIG_SND_CS46XX is not set
1316# CONFIG_SND_DARLA20 is not set
1317# CONFIG_SND_GINA20 is not set
1318# CONFIG_SND_LAYLA20 is not set
1319# CONFIG_SND_DARLA24 is not set
1320# CONFIG_SND_GINA24 is not set
1321# CONFIG_SND_LAYLA24 is not set
1322# CONFIG_SND_MONA is not set
1323# CONFIG_SND_MIA is not set
1324# CONFIG_SND_ECHO3G is not set
1325# CONFIG_SND_INDIGO is not set
1326# CONFIG_SND_INDIGOIO is not set
1327# CONFIG_SND_INDIGODJ is not set
1281# CONFIG_SND_EMU10K1 is not set 1328# CONFIG_SND_EMU10K1 is not set
1282# CONFIG_SND_EMU10K1X is not set 1329# CONFIG_SND_EMU10K1X is not set
1283# CONFIG_SND_ENS1370 is not set 1330# CONFIG_SND_ENS1370 is not set
@@ -1315,6 +1362,17 @@ CONFIG_SND_POWERMAC=m
1315CONFIG_SND_POWERMAC_AUTO_DRC=y 1362CONFIG_SND_POWERMAC_AUTO_DRC=y
1316 1363
1317# 1364#
1365# Apple Onboard Audio driver
1366#
1367CONFIG_SND_AOA=m
1368CONFIG_SND_AOA_FABRIC_LAYOUT=m
1369CONFIG_SND_AOA_ONYX=m
1370CONFIG_SND_AOA_TAS=m
1371CONFIG_SND_AOA_TOONIE=m
1372CONFIG_SND_AOA_SOUNDBUS=m
1373CONFIG_SND_AOA_SOUNDBUS_I2S=m
1374
1375#
1318# USB devices 1376# USB devices
1319# 1377#
1320CONFIG_SND_USB_AUDIO=m 1378CONFIG_SND_USB_AUDIO=m
@@ -1355,6 +1413,7 @@ CONFIG_USB_DYNAMIC_MINORS=y
1355CONFIG_USB_EHCI_HCD=m 1413CONFIG_USB_EHCI_HCD=m
1356CONFIG_USB_EHCI_SPLIT_ISO=y 1414CONFIG_USB_EHCI_SPLIT_ISO=y
1357CONFIG_USB_EHCI_ROOT_HUB_TT=y 1415CONFIG_USB_EHCI_ROOT_HUB_TT=y
1416# CONFIG_USB_EHCI_TT_NEWSCHED is not set
1358# CONFIG_USB_ISP116X_HCD is not set 1417# CONFIG_USB_ISP116X_HCD is not set
1359CONFIG_USB_OHCI_HCD=y 1418CONFIG_USB_OHCI_HCD=y
1360# CONFIG_USB_OHCI_BIG_ENDIAN is not set 1419# CONFIG_USB_OHCI_BIG_ENDIAN is not set
@@ -1431,7 +1490,6 @@ CONFIG_USB_NET_NET1080=m
1431# CONFIG_USB_NET_RNDIS_HOST is not set 1490# CONFIG_USB_NET_RNDIS_HOST is not set
1432# CONFIG_USB_NET_CDC_SUBSET is not set 1491# CONFIG_USB_NET_CDC_SUBSET is not set
1433CONFIG_USB_NET_ZAURUS=m 1492CONFIG_USB_NET_ZAURUS=m
1434# CONFIG_USB_ZD1201 is not set
1435CONFIG_USB_MON=y 1493CONFIG_USB_MON=y
1436 1494
1437# 1495#
@@ -1499,10 +1557,12 @@ CONFIG_USB_EZUSB=y
1499# CONFIG_USB_LEGOTOWER is not set 1557# CONFIG_USB_LEGOTOWER is not set
1500# CONFIG_USB_LCD is not set 1558# CONFIG_USB_LCD is not set
1501# CONFIG_USB_LED is not set 1559# CONFIG_USB_LED is not set
1560# CONFIG_USB_CY7C63 is not set
1502# CONFIG_USB_CYTHERM is not set 1561# CONFIG_USB_CYTHERM is not set
1503# CONFIG_USB_PHIDGETKIT is not set 1562# CONFIG_USB_PHIDGETKIT is not set
1504# CONFIG_USB_PHIDGETSERVO is not set 1563# CONFIG_USB_PHIDGETSERVO is not set
1505# CONFIG_USB_IDMOUSE is not set 1564# CONFIG_USB_IDMOUSE is not set
1565CONFIG_USB_APPLEDISPLAY=m
1506# CONFIG_USB_SISUSBVGA is not set 1566# CONFIG_USB_SISUSBVGA is not set
1507# CONFIG_USB_LD is not set 1567# CONFIG_USB_LD is not set
1508# CONFIG_USB_TEST is not set 1568# CONFIG_USB_TEST is not set
@@ -1524,7 +1584,8 @@ CONFIG_USB_EZUSB=y
1524# 1584#
1525# LED devices 1585# LED devices
1526# 1586#
1527# CONFIG_NEW_LEDS is not set 1587CONFIG_NEW_LEDS=y
1588CONFIG_LEDS_CLASS=y
1528 1589
1529# 1590#
1530# LED drivers 1591# LED drivers
@@ -1533,6 +1594,10 @@ CONFIG_USB_EZUSB=y
1533# 1594#
1534# LED Triggers 1595# LED Triggers
1535# 1596#
1597CONFIG_LEDS_TRIGGERS=y
1598# CONFIG_LEDS_TRIGGER_TIMER is not set
1599CONFIG_LEDS_TRIGGER_IDE_DISK=y
1600# CONFIG_LEDS_TRIGGER_HEARTBEAT is not set
1536 1601
1537# 1602#
1538# InfiniBand support 1603# InfiniBand support
@@ -1549,6 +1614,19 @@ CONFIG_USB_EZUSB=y
1549# CONFIG_RTC_CLASS is not set 1614# CONFIG_RTC_CLASS is not set
1550 1615
1551# 1616#
1617# DMA Engine support
1618#
1619# CONFIG_DMA_ENGINE is not set
1620
1621#
1622# DMA Clients
1623#
1624
1625#
1626# DMA Devices
1627#
1628
1629#
1552# File systems 1630# File systems
1553# 1631#
1554CONFIG_EXT2_FS=y 1632CONFIG_EXT2_FS=y
@@ -1569,6 +1647,7 @@ CONFIG_FS_POSIX_ACL=y
1569# CONFIG_MINIX_FS is not set 1647# CONFIG_MINIX_FS is not set
1570# CONFIG_ROMFS_FS is not set 1648# CONFIG_ROMFS_FS is not set
1571CONFIG_INOTIFY=y 1649CONFIG_INOTIFY=y
1650CONFIG_INOTIFY_USER=y
1572# CONFIG_QUOTA is not set 1651# CONFIG_QUOTA is not set
1573CONFIG_DNOTIFY=y 1652CONFIG_DNOTIFY=y
1574# CONFIG_AUTOFS_FS is not set 1653# CONFIG_AUTOFS_FS is not set
@@ -1649,6 +1728,7 @@ CONFIG_RPCSEC_GSS_KRB5=y
1649CONFIG_SMB_FS=m 1728CONFIG_SMB_FS=m
1650# CONFIG_SMB_NLS_DEFAULT is not set 1729# CONFIG_SMB_NLS_DEFAULT is not set
1651# CONFIG_CIFS is not set 1730# CONFIG_CIFS is not set
1731# CONFIG_CIFS_DEBUG2 is not set
1652# CONFIG_NCP_FS is not set 1732# CONFIG_NCP_FS is not set
1653# CONFIG_CODA_FS is not set 1733# CONFIG_CODA_FS is not set
1654# CONFIG_AFS_FS is not set 1734# CONFIG_AFS_FS is not set
@@ -1732,6 +1812,7 @@ CONFIG_TEXTSEARCH=y
1732CONFIG_TEXTSEARCH_KMP=m 1812CONFIG_TEXTSEARCH_KMP=m
1733CONFIG_TEXTSEARCH_BM=m 1813CONFIG_TEXTSEARCH_BM=m
1734CONFIG_TEXTSEARCH_FSM=m 1814CONFIG_TEXTSEARCH_FSM=m
1815CONFIG_PLIST=y
1735 1816
1736# 1817#
1737# Instrumentation Support 1818# Instrumentation Support
@@ -1744,12 +1825,15 @@ CONFIG_OPROFILE=y
1744# 1825#
1745# CONFIG_PRINTK_TIME is not set 1826# CONFIG_PRINTK_TIME is not set
1746# CONFIG_MAGIC_SYSRQ is not set 1827# CONFIG_MAGIC_SYSRQ is not set
1828# CONFIG_UNUSED_SYMBOLS is not set
1747CONFIG_DEBUG_KERNEL=y 1829CONFIG_DEBUG_KERNEL=y
1748CONFIG_LOG_BUF_SHIFT=14 1830CONFIG_LOG_BUF_SHIFT=14
1749CONFIG_DETECT_SOFTLOCKUP=y 1831CONFIG_DETECT_SOFTLOCKUP=y
1750# CONFIG_SCHEDSTATS is not set 1832# CONFIG_SCHEDSTATS is not set
1751# CONFIG_DEBUG_SLAB is not set 1833# CONFIG_DEBUG_SLAB is not set
1752# CONFIG_DEBUG_MUTEXES is not set 1834# CONFIG_DEBUG_MUTEXES is not set
1835# CONFIG_DEBUG_RT_MUTEXES is not set
1836# CONFIG_RT_MUTEX_TESTER is not set
1753# CONFIG_DEBUG_SPINLOCK is not set 1837# CONFIG_DEBUG_SPINLOCK is not set
1754# CONFIG_DEBUG_SPINLOCK_SLEEP is not set 1838# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1755# CONFIG_DEBUG_KOBJECT is not set 1839# CONFIG_DEBUG_KOBJECT is not set
@@ -1763,11 +1847,7 @@ CONFIG_XMON=y
1763CONFIG_XMON_DEFAULT=y 1847CONFIG_XMON_DEFAULT=y
1764# CONFIG_BDI_SWITCH is not set 1848# CONFIG_BDI_SWITCH is not set
1765CONFIG_BOOTX_TEXT=y 1849CONFIG_BOOTX_TEXT=y
1766# CONFIG_PPC_EARLY_DEBUG_LPAR is not set 1850# CONFIG_PPC_EARLY_DEBUG is not set
1767# CONFIG_PPC_EARLY_DEBUG_G5 is not set
1768# CONFIG_PPC_EARLY_DEBUG_RTAS is not set
1769# CONFIG_PPC_EARLY_DEBUG_MAPLE is not set
1770# CONFIG_PPC_EARLY_DEBUG_ISERIES is not set
1771 1851
1772# 1852#
1773# Security options 1853# Security options
diff --git a/arch/powerpc/kernel/head_64.S b/arch/powerpc/kernel/head_64.S
index e16eb2a33173..6ff3cf506088 100644
--- a/arch/powerpc/kernel/head_64.S
+++ b/arch/powerpc/kernel/head_64.S
@@ -191,6 +191,37 @@ exception_marker:
191 ori reg,reg,(label)@l; /* virt addr of handler ... */ 191 ori reg,reg,(label)@l; /* virt addr of handler ... */
192#endif 192#endif
193 193
194/*
195 * Equal to EXCEPTION_PROLOG_PSERIES, except that it forces 64bit mode.
196 * The firmware calls the registered system_reset_fwnmi and
197 * machine_check_fwnmi handlers in 32bit mode if the cpu happens to run
198 * a 32bit application at the time of the event.
199 * This firmware bug is present on POWER4 and JS20.
200 */
201#define EXCEPTION_PROLOG_PSERIES_FORCE_64BIT(area, label) \
202 mfspr r13,SPRN_SPRG3; /* get paca address into r13 */ \
203 std r9,area+EX_R9(r13); /* save r9 - r12 */ \
204 std r10,area+EX_R10(r13); \
205 std r11,area+EX_R11(r13); \
206 std r12,area+EX_R12(r13); \
207 mfspr r9,SPRN_SPRG1; \
208 std r9,area+EX_R13(r13); \
209 mfcr r9; \
210 clrrdi r12,r13,32; /* get high part of &label */ \
211 mfmsr r10; \
212 /* force 64bit mode */ \
213 li r11,5; /* MSR_SF_LG|MSR_ISF_LG */ \
214 rldimi r10,r11,61,0; /* insert into top 3 bits */ \
215 /* done 64bit mode */ \
216 mfspr r11,SPRN_SRR0; /* save SRR0 */ \
217 LOAD_HANDLER(r12,label) \
218 ori r10,r10,MSR_IR|MSR_DR|MSR_RI; \
219 mtspr SPRN_SRR0,r12; \
220 mfspr r12,SPRN_SRR1; /* and SRR1 */ \
221 mtspr SPRN_SRR1,r10; \
222 rfid; \
223 b . /* prevent speculative execution */
224
194#define EXCEPTION_PROLOG_PSERIES(area, label) \ 225#define EXCEPTION_PROLOG_PSERIES(area, label) \
195 mfspr r13,SPRN_SPRG3; /* get paca address into r13 */ \ 226 mfspr r13,SPRN_SPRG3; /* get paca address into r13 */ \
196 std r9,area+EX_R9(r13); /* save r9 - r12 */ \ 227 std r9,area+EX_R9(r13); /* save r9 - r12 */ \
@@ -604,14 +635,14 @@ slb_miss_user_pseries:
604system_reset_fwnmi: 635system_reset_fwnmi:
605 HMT_MEDIUM 636 HMT_MEDIUM
606 mtspr SPRN_SPRG1,r13 /* save r13 */ 637 mtspr SPRN_SPRG1,r13 /* save r13 */
607 EXCEPTION_PROLOG_PSERIES(PACA_EXGEN, system_reset_common) 638 EXCEPTION_PROLOG_PSERIES_FORCE_64BIT(PACA_EXGEN, system_reset_common)
608 639
609 .globl machine_check_fwnmi 640 .globl machine_check_fwnmi
610 .align 7 641 .align 7
611machine_check_fwnmi: 642machine_check_fwnmi:
612 HMT_MEDIUM 643 HMT_MEDIUM
613 mtspr SPRN_SPRG1,r13 /* save r13 */ 644 mtspr SPRN_SPRG1,r13 /* save r13 */
614 EXCEPTION_PROLOG_PSERIES(PACA_EXMC, machine_check_common) 645 EXCEPTION_PROLOG_PSERIES_FORCE_64BIT(PACA_EXMC, machine_check_common)
615 646
616#ifdef CONFIG_PPC_ISERIES 647#ifdef CONFIG_PPC_ISERIES
617/*** ISeries-LPAR interrupt handlers ***/ 648/*** ISeries-LPAR interrupt handlers ***/
diff --git a/arch/powerpc/kernel/ibmebus.c b/arch/powerpc/kernel/ibmebus.c
index 97ddc02a3d42..68e5ab0443d2 100644
--- a/arch/powerpc/kernel/ibmebus.c
+++ b/arch/powerpc/kernel/ibmebus.c
@@ -323,7 +323,7 @@ int ibmebus_request_irq(struct ibmebus_dev *dev,
323 unsigned long irq_flags, const char * devname, 323 unsigned long irq_flags, const char * devname,
324 void *dev_id) 324 void *dev_id)
325{ 325{
326 unsigned int irq = irq_create_mapping(NULL, ist, 0); 326 unsigned int irq = irq_create_mapping(NULL, ist);
327 327
328 if (irq == NO_IRQ) 328 if (irq == NO_IRQ)
329 return -EINVAL; 329 return -EINVAL;
diff --git a/arch/powerpc/kernel/irq.c b/arch/powerpc/kernel/irq.c
index 8cf987809c66..01bdae35cb55 100644
--- a/arch/powerpc/kernel/irq.c
+++ b/arch/powerpc/kernel/irq.c
@@ -391,15 +391,14 @@ struct irq_host *irq_alloc_host(unsigned int revmap_type,
391 irq_map[i].host = host; 391 irq_map[i].host = host;
392 smp_wmb(); 392 smp_wmb();
393 393
394 /* Clear some flags */ 394 /* Clear norequest flags */
395 get_irq_desc(i)->status 395 get_irq_desc(i)->status &= ~IRQ_NOREQUEST;
396 &= ~(IRQ_NOREQUEST | IRQ_LEVEL);
397 396
398 /* Legacy flags are left to default at this point, 397 /* Legacy flags are left to default at this point,
399 * one can then use irq_create_mapping() to 398 * one can then use irq_create_mapping() to
400 * explicitely change them 399 * explicitely change them
401 */ 400 */
402 ops->map(host, i, i, 0); 401 ops->map(host, i, i);
403 } 402 }
404 break; 403 break;
405 case IRQ_HOST_MAP_LINEAR: 404 case IRQ_HOST_MAP_LINEAR:
@@ -457,13 +456,11 @@ void irq_set_virq_count(unsigned int count)
457} 456}
458 457
459unsigned int irq_create_mapping(struct irq_host *host, 458unsigned int irq_create_mapping(struct irq_host *host,
460 irq_hw_number_t hwirq, 459 irq_hw_number_t hwirq)
461 unsigned int flags)
462{ 460{
463 unsigned int virq, hint; 461 unsigned int virq, hint;
464 462
465 pr_debug("irq: irq_create_mapping(0x%p, 0x%lx, 0x%x)\n", 463 pr_debug("irq: irq_create_mapping(0x%p, 0x%lx)\n", host, hwirq);
466 host, hwirq, flags);
467 464
468 /* Look for default host if nececssary */ 465 /* Look for default host if nececssary */
469 if (host == NULL) 466 if (host == NULL)
@@ -482,7 +479,6 @@ unsigned int irq_create_mapping(struct irq_host *host,
482 virq = irq_find_mapping(host, hwirq); 479 virq = irq_find_mapping(host, hwirq);
483 if (virq != IRQ_NONE) { 480 if (virq != IRQ_NONE) {
484 pr_debug("irq: -> existing mapping on virq %d\n", virq); 481 pr_debug("irq: -> existing mapping on virq %d\n", virq);
485 host->ops->map(host, virq, hwirq, flags);
486 return virq; 482 return virq;
487 } 483 }
488 484
@@ -504,18 +500,18 @@ unsigned int irq_create_mapping(struct irq_host *host,
504 } 500 }
505 pr_debug("irq: -> obtained virq %d\n", virq); 501 pr_debug("irq: -> obtained virq %d\n", virq);
506 502
507 /* Clear some flags */ 503 /* Clear IRQ_NOREQUEST flag */
508 get_irq_desc(virq)->status &= ~(IRQ_NOREQUEST | IRQ_LEVEL); 504 get_irq_desc(virq)->status &= ~IRQ_NOREQUEST;
509 505
510 /* map it */ 506 /* map it */
511 if (host->ops->map(host, virq, hwirq, flags)) { 507 smp_wmb();
508 irq_map[virq].hwirq = hwirq;
509 smp_mb();
510 if (host->ops->map(host, virq, hwirq)) {
512 pr_debug("irq: -> mapping failed, freeing\n"); 511 pr_debug("irq: -> mapping failed, freeing\n");
513 irq_free_virt(virq, 1); 512 irq_free_virt(virq, 1);
514 return NO_IRQ; 513 return NO_IRQ;
515 } 514 }
516 smp_wmb();
517 irq_map[virq].hwirq = hwirq;
518 smp_mb();
519 return virq; 515 return virq;
520} 516}
521EXPORT_SYMBOL_GPL(irq_create_mapping); 517EXPORT_SYMBOL_GPL(irq_create_mapping);
@@ -525,25 +521,38 @@ extern unsigned int irq_create_of_mapping(struct device_node *controller,
525{ 521{
526 struct irq_host *host; 522 struct irq_host *host;
527 irq_hw_number_t hwirq; 523 irq_hw_number_t hwirq;
528 unsigned int flags = IRQ_TYPE_NONE; 524 unsigned int type = IRQ_TYPE_NONE;
525 unsigned int virq;
529 526
530 if (controller == NULL) 527 if (controller == NULL)
531 host = irq_default_host; 528 host = irq_default_host;
532 else 529 else
533 host = irq_find_host(controller); 530 host = irq_find_host(controller);
534 if (host == NULL) 531 if (host == NULL) {
532 printk(KERN_WARNING "irq: no irq host found for %s !\n",
533 controller->full_name);
535 return NO_IRQ; 534 return NO_IRQ;
535 }
536 536
537 /* If host has no translation, then we assume interrupt line */ 537 /* If host has no translation, then we assume interrupt line */
538 if (host->ops->xlate == NULL) 538 if (host->ops->xlate == NULL)
539 hwirq = intspec[0]; 539 hwirq = intspec[0];
540 else { 540 else {
541 if (host->ops->xlate(host, controller, intspec, intsize, 541 if (host->ops->xlate(host, controller, intspec, intsize,
542 &hwirq, &flags)) 542 &hwirq, &type))
543 return NO_IRQ; 543 return NO_IRQ;
544 } 544 }
545 545
546 return irq_create_mapping(host, hwirq, flags); 546 /* Create mapping */
547 virq = irq_create_mapping(host, hwirq);
548 if (virq == NO_IRQ)
549 return virq;
550
551 /* Set type if specified and different than the current one */
552 if (type != IRQ_TYPE_NONE &&
553 type != (get_irq_desc(virq)->status & IRQF_TRIGGER_MASK))
554 set_irq_type(virq, type);
555 return virq;
547} 556}
548EXPORT_SYMBOL_GPL(irq_create_of_mapping); 557EXPORT_SYMBOL_GPL(irq_create_of_mapping);
549 558
diff --git a/arch/powerpc/kernel/legacy_serial.c b/arch/powerpc/kernel/legacy_serial.c
index 7e98e778b52f..359ab89748e0 100644
--- a/arch/powerpc/kernel/legacy_serial.c
+++ b/arch/powerpc/kernel/legacy_serial.c
@@ -112,7 +112,7 @@ static int __init add_legacy_port(struct device_node *np, int want_index,
112static int __init add_legacy_soc_port(struct device_node *np, 112static int __init add_legacy_soc_port(struct device_node *np,
113 struct device_node *soc_dev) 113 struct device_node *soc_dev)
114{ 114{
115 phys_addr_t addr; 115 u64 addr;
116 u32 *addrp; 116 u32 *addrp;
117 upf_t flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST | UPF_SHARE_IRQ; 117 upf_t flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST | UPF_SHARE_IRQ;
118 118
@@ -143,7 +143,7 @@ static int __init add_legacy_isa_port(struct device_node *np,
143 u32 *reg; 143 u32 *reg;
144 char *typep; 144 char *typep;
145 int index = -1; 145 int index = -1;
146 phys_addr_t taddr; 146 u64 taddr;
147 147
148 DBG(" -> add_legacy_isa_port(%s)\n", np->full_name); 148 DBG(" -> add_legacy_isa_port(%s)\n", np->full_name);
149 149
@@ -165,10 +165,13 @@ static int __init add_legacy_isa_port(struct device_node *np,
165 if (typep && *typep == 'S') 165 if (typep && *typep == 'S')
166 index = simple_strtol(typep+1, NULL, 0) - 1; 166 index = simple_strtol(typep+1, NULL, 0) - 1;
167 167
168 /* Translate ISA address */ 168 /* Translate ISA address. If it fails, we still register the port
169 * with no translated address so that it can be picked up as an IO
170 * port later by the serial driver
171 */
169 taddr = of_translate_address(np, reg); 172 taddr = of_translate_address(np, reg);
170 if (taddr == OF_BAD_ADDR) 173 if (taddr == OF_BAD_ADDR)
171 return -1; 174 taddr = 0;
172 175
173 /* Add port, irq will be dealt with later */ 176 /* Add port, irq will be dealt with later */
174 return add_legacy_port(np, index, UPIO_PORT, reg[1], taddr, 177 return add_legacy_port(np, index, UPIO_PORT, reg[1], taddr,
@@ -180,7 +183,7 @@ static int __init add_legacy_isa_port(struct device_node *np,
180static int __init add_legacy_pci_port(struct device_node *np, 183static int __init add_legacy_pci_port(struct device_node *np,
181 struct device_node *pci_dev) 184 struct device_node *pci_dev)
182{ 185{
183 phys_addr_t addr, base; 186 u64 addr, base;
184 u32 *addrp; 187 u32 *addrp;
185 unsigned int flags; 188 unsigned int flags;
186 int iotype, index = -1, lindex = 0; 189 int iotype, index = -1, lindex = 0;
diff --git a/arch/powerpc/kernel/misc_64.S b/arch/powerpc/kernel/misc_64.S
index bfb407fc1aa1..e3ed21cd3d94 100644
--- a/arch/powerpc/kernel/misc_64.S
+++ b/arch/powerpc/kernel/misc_64.S
@@ -687,7 +687,7 @@ _GLOBAL(kexec_sequence)
687 /* clear out hardware hash page table and tlb */ 687 /* clear out hardware hash page table and tlb */
688 ld r5,0(r27) /* deref function descriptor */ 688 ld r5,0(r27) /* deref function descriptor */
689 mtctr r5 689 mtctr r5
690 bctrl /* ppc_md.hash_clear_all(void); */ 690 bctrl /* ppc_md.hpte_clear_all(void); */
691 691
692/* 692/*
693 * kexec image calling is: 693 * kexec image calling is:
diff --git a/arch/powerpc/kernel/pci_32.c b/arch/powerpc/kernel/pci_32.c
index 898dae8ab6d9..09b1e1bbb29b 100644
--- a/arch/powerpc/kernel/pci_32.c
+++ b/arch/powerpc/kernel/pci_32.c
@@ -11,6 +11,7 @@
11#include <linux/sched.h> 11#include <linux/sched.h>
12#include <linux/errno.h> 12#include <linux/errno.h>
13#include <linux/bootmem.h> 13#include <linux/bootmem.h>
14#include <linux/irq.h>
14 15
15#include <asm/processor.h> 16#include <asm/processor.h>
16#include <asm/io.h> 17#include <asm/io.h>
@@ -18,7 +19,6 @@
18#include <asm/sections.h> 19#include <asm/sections.h>
19#include <asm/pci-bridge.h> 20#include <asm/pci-bridge.h>
20#include <asm/byteorder.h> 21#include <asm/byteorder.h>
21#include <asm/irq.h>
22#include <asm/uaccess.h> 22#include <asm/uaccess.h>
23#include <asm/machdep.h> 23#include <asm/machdep.h>
24 24
@@ -1420,15 +1420,37 @@ int pci_read_irq_line(struct pci_dev *pci_dev)
1420 1420
1421 DBG("Try to map irq for %s...\n", pci_name(pci_dev)); 1421 DBG("Try to map irq for %s...\n", pci_name(pci_dev));
1422 1422
1423 /* Try to get a mapping from the device-tree */
1423 if (of_irq_map_pci(pci_dev, &oirq)) { 1424 if (of_irq_map_pci(pci_dev, &oirq)) {
1424 DBG(" -> failed !\n"); 1425 u8 line, pin;
1425 return -1; 1426
1426 } 1427 /* If that fails, lets fallback to what is in the config
1428 * space and map that through the default controller. We
1429 * also set the type to level low since that's what PCI
1430 * interrupts are. If your platform does differently, then
1431 * either provide a proper interrupt tree or don't use this
1432 * function.
1433 */
1434 if (pci_read_config_byte(pci_dev, PCI_INTERRUPT_PIN, &pin))
1435 return -1;
1436 if (pin == 0)
1437 return -1;
1438 if (pci_read_config_byte(pci_dev, PCI_INTERRUPT_LINE, &line) ||
1439 line == 0xff) {
1440 return -1;
1441 }
1442 DBG(" -> no map ! Using irq line %d from PCI config\n", line);
1427 1443
1428 DBG(" -> got one, spec %d cells (0x%08x...) on %s\n", 1444 virq = irq_create_mapping(NULL, line);
1429 oirq.size, oirq.specifier[0], oirq.controller->full_name); 1445 if (virq != NO_IRQ)
1446 set_irq_type(virq, IRQ_TYPE_LEVEL_LOW);
1447 } else {
1448 DBG(" -> got one, spec %d cells (0x%08x...) on %s\n",
1449 oirq.size, oirq.specifier[0], oirq.controller->full_name);
1430 1450
1431 virq = irq_create_of_mapping(oirq.controller, oirq.specifier, oirq.size); 1451 virq = irq_create_of_mapping(oirq.controller, oirq.specifier,
1452 oirq.size);
1453 }
1432 if(virq == NO_IRQ) { 1454 if(virq == NO_IRQ) {
1433 DBG(" -> failed to map !\n"); 1455 DBG(" -> failed to map !\n");
1434 return -1; 1456 return -1;
diff --git a/arch/powerpc/kernel/pci_64.c b/arch/powerpc/kernel/pci_64.c
index efc0b5559ee0..2fce7738e9e2 100644
--- a/arch/powerpc/kernel/pci_64.c
+++ b/arch/powerpc/kernel/pci_64.c
@@ -21,13 +21,13 @@
21#include <linux/mm.h> 21#include <linux/mm.h>
22#include <linux/list.h> 22#include <linux/list.h>
23#include <linux/syscalls.h> 23#include <linux/syscalls.h>
24#include <linux/irq.h>
24 25
25#include <asm/processor.h> 26#include <asm/processor.h>
26#include <asm/io.h> 27#include <asm/io.h>
27#include <asm/prom.h> 28#include <asm/prom.h>
28#include <asm/pci-bridge.h> 29#include <asm/pci-bridge.h>
29#include <asm/byteorder.h> 30#include <asm/byteorder.h>
30#include <asm/irq.h>
31#include <asm/machdep.h> 31#include <asm/machdep.h>
32#include <asm/ppc-pci.h> 32#include <asm/ppc-pci.h>
33 33
@@ -1289,15 +1289,37 @@ int pci_read_irq_line(struct pci_dev *pci_dev)
1289 1289
1290 DBG("Try to map irq for %s...\n", pci_name(pci_dev)); 1290 DBG("Try to map irq for %s...\n", pci_name(pci_dev));
1291 1291
1292 /* Try to get a mapping from the device-tree */
1292 if (of_irq_map_pci(pci_dev, &oirq)) { 1293 if (of_irq_map_pci(pci_dev, &oirq)) {
1293 DBG(" -> failed !\n"); 1294 u8 line, pin;
1294 return -1; 1295
1295 } 1296 /* If that fails, lets fallback to what is in the config
1297 * space and map that through the default controller. We
1298 * also set the type to level low since that's what PCI
1299 * interrupts are. If your platform does differently, then
1300 * either provide a proper interrupt tree or don't use this
1301 * function.
1302 */
1303 if (pci_read_config_byte(pci_dev, PCI_INTERRUPT_PIN, &pin))
1304 return -1;
1305 if (pin == 0)
1306 return -1;
1307 if (pci_read_config_byte(pci_dev, PCI_INTERRUPT_LINE, &line) ||
1308 line == 0xff) {
1309 return -1;
1310 }
1311 DBG(" -> no map ! Using irq line %d from PCI config\n", line);
1296 1312
1297 DBG(" -> got one, spec %d cells (0x%08x...) on %s\n", 1313 virq = irq_create_mapping(NULL, line);
1298 oirq.size, oirq.specifier[0], oirq.controller->full_name); 1314 if (virq != NO_IRQ)
1315 set_irq_type(virq, IRQ_TYPE_LEVEL_LOW);
1316 } else {
1317 DBG(" -> got one, spec %d cells (0x%08x...) on %s\n",
1318 oirq.size, oirq.specifier[0], oirq.controller->full_name);
1299 1319
1300 virq = irq_create_of_mapping(oirq.controller, oirq.specifier, oirq.size); 1320 virq = irq_create_of_mapping(oirq.controller, oirq.specifier,
1321 oirq.size);
1322 }
1301 if(virq == NO_IRQ) { 1323 if(virq == NO_IRQ) {
1302 DBG(" -> failed to map !\n"); 1324 DBG(" -> failed to map !\n");
1303 return -1; 1325 return -1;
diff --git a/arch/powerpc/kernel/ppc_ksyms.c b/arch/powerpc/kernel/ppc_ksyms.c
index e3b80f71748e..f6a05f090b25 100644
--- a/arch/powerpc/kernel/ppc_ksyms.c
+++ b/arch/powerpc/kernel/ppc_ksyms.c
@@ -5,7 +5,7 @@
5#include <linux/elfcore.h> 5#include <linux/elfcore.h>
6#include <linux/string.h> 6#include <linux/string.h>
7#include <linux/interrupt.h> 7#include <linux/interrupt.h>
8#include <linux/tty.h> 8#include <linux/screen_info.h>
9#include <linux/vt_kern.h> 9#include <linux/vt_kern.h>
10#include <linux/nvram.h> 10#include <linux/nvram.h>
11#include <linux/console.h> 11#include <linux/console.h>
diff --git a/arch/powerpc/kernel/prom_init.c b/arch/powerpc/kernel/prom_init.c
index ebd501a59abd..462bced40c12 100644
--- a/arch/powerpc/kernel/prom_init.c
+++ b/arch/powerpc/kernel/prom_init.c
@@ -557,7 +557,9 @@ unsigned long prom_memparse(const char *ptr, const char **retptr)
557static void __init early_cmdline_parse(void) 557static void __init early_cmdline_parse(void)
558{ 558{
559 struct prom_t *_prom = &RELOC(prom); 559 struct prom_t *_prom = &RELOC(prom);
560#ifdef CONFIG_PPC64
560 const char *opt; 561 const char *opt;
562#endif
561 char *p; 563 char *p;
562 int l = 0; 564 int l = 0;
563 565
@@ -2030,6 +2032,39 @@ static void __init fixup_device_tree_maple(void)
2030#define fixup_device_tree_maple() 2032#define fixup_device_tree_maple()
2031#endif 2033#endif
2032 2034
2035#ifdef CONFIG_PPC_CHRP
2036/* Pegasos lacks the "ranges" property in the isa node */
2037static void __init fixup_device_tree_chrp(void)
2038{
2039 phandle isa;
2040 u32 isa_ranges[6];
2041 char *name;
2042 int rc;
2043
2044 name = "/pci@80000000/isa@c";
2045 isa = call_prom("finddevice", 1, 1, ADDR(name));
2046 if (!PHANDLE_VALID(isa))
2047 return;
2048
2049 rc = prom_getproplen(isa, "ranges");
2050 if (rc != 0 && rc != PROM_ERROR)
2051 return;
2052
2053 prom_printf("Fixing up missing ISA range on Pegasos...\n");
2054
2055 isa_ranges[0] = 0x1;
2056 isa_ranges[1] = 0x0;
2057 isa_ranges[2] = 0x01006000;
2058 isa_ranges[3] = 0x0;
2059 isa_ranges[4] = 0x0;
2060 isa_ranges[5] = 0x00010000;
2061 prom_setprop(isa, name, "ranges",
2062 isa_ranges, sizeof(isa_ranges));
2063}
2064#else
2065#define fixup_device_tree_chrp()
2066#endif
2067
2033#if defined(CONFIG_PPC64) && defined(CONFIG_PPC_PMAC) 2068#if defined(CONFIG_PPC64) && defined(CONFIG_PPC_PMAC)
2034static void __init fixup_device_tree_pmac(void) 2069static void __init fixup_device_tree_pmac(void)
2035{ 2070{
@@ -2077,6 +2112,7 @@ static void __init fixup_device_tree_pmac(void)
2077static void __init fixup_device_tree(void) 2112static void __init fixup_device_tree(void)
2078{ 2113{
2079 fixup_device_tree_maple(); 2114 fixup_device_tree_maple();
2115 fixup_device_tree_chrp();
2080 fixup_device_tree_pmac(); 2116 fixup_device_tree_pmac();
2081} 2117}
2082 2118
diff --git a/arch/powerpc/kernel/prom_parse.c b/arch/powerpc/kernel/prom_parse.c
index 21009b1f7869..6a7e997c401d 100644
--- a/arch/powerpc/kernel/prom_parse.c
+++ b/arch/powerpc/kernel/prom_parse.c
@@ -881,7 +881,7 @@ int of_irq_map_one(struct device_node *device, int index, struct of_irq *out_irq
881 intsize = *tmp; 881 intsize = *tmp;
882 882
883 /* Check index */ 883 /* Check index */
884 if (index * intsize >= intlen) 884 if ((index + 1) * intsize > intlen)
885 return -EINVAL; 885 return -EINVAL;
886 886
887 /* Get new specifier and map it */ 887 /* Get new specifier and map it */
diff --git a/arch/powerpc/kernel/setup-common.c b/arch/powerpc/kernel/setup-common.c
index c6d7b98af7d5..499c3861074f 100644
--- a/arch/powerpc/kernel/setup-common.c
+++ b/arch/powerpc/kernel/setup-common.c
@@ -26,7 +26,7 @@
26#include <linux/ioport.h> 26#include <linux/ioport.h>
27#include <linux/console.h> 27#include <linux/console.h>
28#include <linux/utsname.h> 28#include <linux/utsname.h>
29#include <linux/tty.h> 29#include <linux/screen_info.h>
30#include <linux/root_dev.h> 30#include <linux/root_dev.h>
31#include <linux/notifier.h> 31#include <linux/notifier.h>
32#include <linux/cpu.h> 32#include <linux/cpu.h>
diff --git a/arch/powerpc/kernel/smp.c b/arch/powerpc/kernel/smp.c
index 46c56cfd1b2f..6a9bc9ce54e0 100644
--- a/arch/powerpc/kernel/smp.c
+++ b/arch/powerpc/kernel/smp.c
@@ -144,13 +144,15 @@ void smp_message_recv(int msg, struct pt_regs *regs)
144 144
145void smp_send_reschedule(int cpu) 145void smp_send_reschedule(int cpu)
146{ 146{
147 smp_ops->message_pass(cpu, PPC_MSG_RESCHEDULE); 147 if (likely(smp_ops))
148 smp_ops->message_pass(cpu, PPC_MSG_RESCHEDULE);
148} 149}
149 150
150#ifdef CONFIG_DEBUGGER 151#ifdef CONFIG_DEBUGGER
151void smp_send_debugger_break(int cpu) 152void smp_send_debugger_break(int cpu)
152{ 153{
153 smp_ops->message_pass(cpu, PPC_MSG_DEBUGGER_BREAK); 154 if (likely(smp_ops))
155 smp_ops->message_pass(cpu, PPC_MSG_DEBUGGER_BREAK);
154} 156}
155#endif 157#endif
156 158
@@ -158,7 +160,7 @@ void smp_send_debugger_break(int cpu)
158void crash_send_ipi(void (*crash_ipi_callback)(struct pt_regs *)) 160void crash_send_ipi(void (*crash_ipi_callback)(struct pt_regs *))
159{ 161{
160 crash_ipi_function_ptr = crash_ipi_callback; 162 crash_ipi_function_ptr = crash_ipi_callback;
161 if (crash_ipi_callback) { 163 if (crash_ipi_callback && smp_ops) {
162 mb(); 164 mb();
163 smp_ops->message_pass(MSG_ALL_BUT_SELF, PPC_MSG_DEBUGGER_BREAK); 165 smp_ops->message_pass(MSG_ALL_BUT_SELF, PPC_MSG_DEBUGGER_BREAK);
164 } 166 }
@@ -220,6 +222,9 @@ int smp_call_function (void (*func) (void *info), void *info, int nonatomic,
220 /* Can deadlock when called with interrupts disabled */ 222 /* Can deadlock when called with interrupts disabled */
221 WARN_ON(irqs_disabled()); 223 WARN_ON(irqs_disabled());
222 224
225 if (unlikely(smp_ops == NULL))
226 return -1;
227
223 data.func = func; 228 data.func = func;
224 data.info = info; 229 data.info = info;
225 atomic_set(&data.started, 0); 230 atomic_set(&data.started, 0);
@@ -357,7 +362,10 @@ void __init smp_prepare_cpus(unsigned int max_cpus)
357 smp_store_cpu_info(boot_cpuid); 362 smp_store_cpu_info(boot_cpuid);
358 cpu_callin_map[boot_cpuid] = 1; 363 cpu_callin_map[boot_cpuid] = 1;
359 364
360 max_cpus = smp_ops->probe(); 365 if (smp_ops)
366 max_cpus = smp_ops->probe();
367 else
368 max_cpus = 1;
361 369
362 smp_space_timers(max_cpus); 370 smp_space_timers(max_cpus);
363 371
@@ -453,7 +461,7 @@ void generic_mach_cpu_die(void)
453 461
454static int __devinit cpu_enable(unsigned int cpu) 462static int __devinit cpu_enable(unsigned int cpu)
455{ 463{
456 if (smp_ops->cpu_enable) 464 if (smp_ops && smp_ops->cpu_enable)
457 return smp_ops->cpu_enable(cpu); 465 return smp_ops->cpu_enable(cpu);
458 466
459 return -ENOSYS; 467 return -ENOSYS;
@@ -467,7 +475,8 @@ int __devinit __cpu_up(unsigned int cpu)
467 if (!cpu_enable(cpu)) 475 if (!cpu_enable(cpu))
468 return 0; 476 return 0;
469 477
470 if (smp_ops->cpu_bootable && !smp_ops->cpu_bootable(cpu)) 478 if (smp_ops == NULL ||
479 (smp_ops->cpu_bootable && !smp_ops->cpu_bootable(cpu)))
471 return -EINVAL; 480 return -EINVAL;
472 481
473 /* Make sure callin-map entry is 0 (can be leftover a CPU 482 /* Make sure callin-map entry is 0 (can be leftover a CPU
@@ -568,7 +577,8 @@ void __init smp_cpus_done(unsigned int max_cpus)
568 old_mask = current->cpus_allowed; 577 old_mask = current->cpus_allowed;
569 set_cpus_allowed(current, cpumask_of_cpu(boot_cpuid)); 578 set_cpus_allowed(current, cpumask_of_cpu(boot_cpuid));
570 579
571 smp_ops->setup_cpu(boot_cpuid); 580 if (smp_ops)
581 smp_ops->setup_cpu(boot_cpuid);
572 582
573 set_cpus_allowed(current, old_mask); 583 set_cpus_allowed(current, old_mask);
574 584
diff --git a/arch/powerpc/kernel/sysfs.c b/arch/powerpc/kernel/sysfs.c
index 010435095550..fec228cd0163 100644
--- a/arch/powerpc/kernel/sysfs.c
+++ b/arch/powerpc/kernel/sysfs.c
@@ -278,7 +278,7 @@ static void unregister_cpu_online(unsigned int cpu)
278} 278}
279#endif /* CONFIG_HOTPLUG_CPU */ 279#endif /* CONFIG_HOTPLUG_CPU */
280 280
281static int __devinit sysfs_cpu_notify(struct notifier_block *self, 281static int __cpuinit sysfs_cpu_notify(struct notifier_block *self,
282 unsigned long action, void *hcpu) 282 unsigned long action, void *hcpu)
283{ 283{
284 unsigned int cpu = (unsigned int)(long)hcpu; 284 unsigned int cpu = (unsigned int)(long)hcpu;
@@ -296,7 +296,7 @@ static int __devinit sysfs_cpu_notify(struct notifier_block *self,
296 return NOTIFY_OK; 296 return NOTIFY_OK;
297} 297}
298 298
299static struct notifier_block __devinitdata sysfs_cpu_nb = { 299static struct notifier_block __cpuinitdata sysfs_cpu_nb = {
300 .notifier_call = sysfs_cpu_notify, 300 .notifier_call = sysfs_cpu_notify,
301}; 301};
302 302
diff --git a/arch/powerpc/kernel/traps.c b/arch/powerpc/kernel/traps.c
index 3c668078e524..2105767fcc57 100644
--- a/arch/powerpc/kernel/traps.c
+++ b/arch/powerpc/kernel/traps.c
@@ -150,13 +150,9 @@ int die(const char *str, struct pt_regs *regs, long err)
150 if (in_interrupt()) 150 if (in_interrupt())
151 panic("Fatal exception in interrupt"); 151 panic("Fatal exception in interrupt");
152 152
153 if (panic_on_oops) { 153 if (panic_on_oops)
154#ifdef CONFIG_PPC64 154 panic("Fatal exception: panic_on_oops");
155 printk(KERN_EMERG "Fatal exception: panic in 5 seconds\n"); 155
156 ssleep(5);
157#endif
158 panic("Fatal exception");
159 }
160 do_exit(err); 156 do_exit(err);
161 157
162 return 0; 158 return 0;
diff --git a/arch/powerpc/kernel/udbg_16550.c b/arch/powerpc/kernel/udbg_16550.c
index 0835b4841dea..2d17f2b8eda7 100644
--- a/arch/powerpc/kernel/udbg_16550.c
+++ b/arch/powerpc/kernel/udbg_16550.c
@@ -81,10 +81,14 @@ static int udbg_550_getc(void)
81void udbg_init_uart(void __iomem *comport, unsigned int speed, 81void udbg_init_uart(void __iomem *comport, unsigned int speed,
82 unsigned int clock) 82 unsigned int clock)
83{ 83{
84 unsigned int dll, base_bauds = clock / 16; 84 unsigned int dll, base_bauds;
85 85
86 if (clock == 0)
87 clock = 1843200;
86 if (speed == 0) 88 if (speed == 0)
87 speed = 9600; 89 speed = 9600;
90
91 base_bauds = clock / 16;
88 dll = base_bauds / speed; 92 dll = base_bauds / speed;
89 93
90 if (comport) { 94 if (comport) {
diff --git a/arch/powerpc/kernel/vdso32/Makefile b/arch/powerpc/kernel/vdso32/Makefile
index 8a3bed5f143a..3726358faae8 100644
--- a/arch/powerpc/kernel/vdso32/Makefile
+++ b/arch/powerpc/kernel/vdso32/Makefile
@@ -14,7 +14,8 @@ obj-vdso32 := $(addprefix $(obj)/, $(obj-vdso32))
14 14
15 15
16EXTRA_CFLAGS := -shared -s -fno-common -fno-builtin 16EXTRA_CFLAGS := -shared -s -fno-common -fno-builtin
17EXTRA_CFLAGS += -nostdlib -Wl,-soname=linux-vdso32.so.1 17EXTRA_CFLAGS += -nostdlib -Wl,-soname=linux-vdso32.so.1 \
18 $(call ld-option, -Wl$(comma)--hash-style=sysv)
18EXTRA_AFLAGS := -D__VDSO32__ -s 19EXTRA_AFLAGS := -D__VDSO32__ -s
19 20
20obj-y += vdso32_wrapper.o 21obj-y += vdso32_wrapper.o
diff --git a/arch/powerpc/kernel/vdso32/vdso32.lds.S b/arch/powerpc/kernel/vdso32/vdso32.lds.S
index f4bad720cb0a..6187af2d54c3 100644
--- a/arch/powerpc/kernel/vdso32/vdso32.lds.S
+++ b/arch/powerpc/kernel/vdso32/vdso32.lds.S
@@ -14,6 +14,7 @@ SECTIONS
14{ 14{
15 . = VDSO32_LBASE + SIZEOF_HEADERS; 15 . = VDSO32_LBASE + SIZEOF_HEADERS;
16 .hash : { *(.hash) } :text 16 .hash : { *(.hash) } :text
17 .gnu.hash : { *(.gnu.hash) }
17 .dynsym : { *(.dynsym) } 18 .dynsym : { *(.dynsym) }
18 .dynstr : { *(.dynstr) } 19 .dynstr : { *(.dynstr) }
19 .gnu.version : { *(.gnu.version) } 20 .gnu.version : { *(.gnu.version) }
diff --git a/arch/powerpc/kernel/vdso64/Makefile b/arch/powerpc/kernel/vdso64/Makefile
index ab39988452cc..43af9b2a6f3b 100644
--- a/arch/powerpc/kernel/vdso64/Makefile
+++ b/arch/powerpc/kernel/vdso64/Makefile
@@ -8,7 +8,8 @@ targets := $(obj-vdso64) vdso64.so
8obj-vdso64 := $(addprefix $(obj)/, $(obj-vdso64)) 8obj-vdso64 := $(addprefix $(obj)/, $(obj-vdso64))
9 9
10EXTRA_CFLAGS := -shared -s -fno-common -fno-builtin 10EXTRA_CFLAGS := -shared -s -fno-common -fno-builtin
11EXTRA_CFLAGS += -nostdlib -Wl,-soname=linux-vdso64.so.1 11EXTRA_CFLAGS += -nostdlib -Wl,-soname=linux-vdso64.so.1 \
12 $(call ld-option, -Wl$(comma)--hash-style=sysv)
12EXTRA_AFLAGS := -D__VDSO64__ -s 13EXTRA_AFLAGS := -D__VDSO64__ -s
13 14
14obj-y += vdso64_wrapper.o 15obj-y += vdso64_wrapper.o
diff --git a/arch/powerpc/kernel/vdso64/vdso64.lds.S b/arch/powerpc/kernel/vdso64/vdso64.lds.S
index 4bdf224464ab..4a2b6dc0960c 100644
--- a/arch/powerpc/kernel/vdso64/vdso64.lds.S
+++ b/arch/powerpc/kernel/vdso64/vdso64.lds.S
@@ -12,6 +12,7 @@ SECTIONS
12{ 12{
13 . = VDSO64_LBASE + SIZEOF_HEADERS; 13 . = VDSO64_LBASE + SIZEOF_HEADERS;
14 .hash : { *(.hash) } :text 14 .hash : { *(.hash) } :text
15 .gnu.hash : { *(.gnu.hash) }
15 .dynsym : { *(.dynsym) } 16 .dynsym : { *(.dynsym) }
16 .dynstr : { *(.dynstr) } 17 .dynstr : { *(.dynstr) }
17 .gnu.version : { *(.gnu.version) } 18 .gnu.version : { *(.gnu.version) }
diff --git a/arch/powerpc/mm/lmb.c b/arch/powerpc/mm/lmb.c
index 4b17a7359924..716a2906a24d 100644
--- a/arch/powerpc/mm/lmb.c
+++ b/arch/powerpc/mm/lmb.c
@@ -320,7 +320,8 @@ void __init lmb_enforce_memory_limit(unsigned long memory_limit)
320 break; 320 break;
321 } 321 }
322 322
323 lmb.rmo_size = lmb.memory.region[0].size; 323 if (lmb.memory.region[0].size < lmb.rmo_size)
324 lmb.rmo_size = lmb.memory.region[0].size;
324 325
325 /* And truncate any reserves above the limit also. */ 326 /* And truncate any reserves above the limit also. */
326 for (i = 0; i < lmb.reserved.cnt; i++) { 327 for (i = 0; i < lmb.reserved.cnt; i++) {
diff --git a/arch/powerpc/platforms/cell/interrupt.c b/arch/powerpc/platforms/cell/interrupt.c
index 9d5da7896892..d7bbb61109f9 100644
--- a/arch/powerpc/platforms/cell/interrupt.c
+++ b/arch/powerpc/platforms/cell/interrupt.c
@@ -159,7 +159,7 @@ static void iic_request_ipi(int ipi, const char *name)
159 if (iic_hosts[node] == NULL) 159 if (iic_hosts[node] == NULL)
160 continue; 160 continue;
161 virq = irq_create_mapping(iic_hosts[node], 161 virq = irq_create_mapping(iic_hosts[node],
162 iic_ipi_to_irq(ipi), 0); 162 iic_ipi_to_irq(ipi));
163 if (virq == NO_IRQ) { 163 if (virq == NO_IRQ) {
164 printk(KERN_ERR 164 printk(KERN_ERR
165 "iic: failed to map IPI %s on node %d\n", 165 "iic: failed to map IPI %s on node %d\n",
@@ -197,7 +197,7 @@ static int iic_host_match(struct irq_host *h, struct device_node *node)
197} 197}
198 198
199static int iic_host_map(struct irq_host *h, unsigned int virq, 199static int iic_host_map(struct irq_host *h, unsigned int virq,
200 irq_hw_number_t hw, unsigned int flags) 200 irq_hw_number_t hw)
201{ 201{
202 if (hw < IIC_IRQ_IPI0) 202 if (hw < IIC_IRQ_IPI0)
203 set_irq_chip_and_handler(virq, &iic_chip, handle_fasteoi_irq); 203 set_irq_chip_and_handler(virq, &iic_chip, handle_fasteoi_irq);
diff --git a/arch/powerpc/platforms/cell/spider-pic.c b/arch/powerpc/platforms/cell/spider-pic.c
index ae7ef88f1a37..15217bb0402f 100644
--- a/arch/powerpc/platforms/cell/spider-pic.c
+++ b/arch/powerpc/platforms/cell/spider-pic.c
@@ -85,9 +85,6 @@ static void spider_unmask_irq(unsigned int virq)
85 struct spider_pic *pic = spider_virq_to_pic(virq); 85 struct spider_pic *pic = spider_virq_to_pic(virq);
86 void __iomem *cfg = spider_get_irq_config(pic, irq_map[virq].hwirq); 86 void __iomem *cfg = spider_get_irq_config(pic, irq_map[virq].hwirq);
87 87
88 /* We use no locking as we should be covered by the descriptor lock
89 * for access to invidual source configuration registers
90 */
91 out_be32(cfg, in_be32(cfg) | 0x30000000u); 88 out_be32(cfg, in_be32(cfg) | 0x30000000u);
92} 89}
93 90
@@ -96,9 +93,6 @@ static void spider_mask_irq(unsigned int virq)
96 struct spider_pic *pic = spider_virq_to_pic(virq); 93 struct spider_pic *pic = spider_virq_to_pic(virq);
97 void __iomem *cfg = spider_get_irq_config(pic, irq_map[virq].hwirq); 94 void __iomem *cfg = spider_get_irq_config(pic, irq_map[virq].hwirq);
98 95
99 /* We use no locking as we should be covered by the descriptor lock
100 * for access to invidual source configuration registers
101 */
102 out_be32(cfg, in_be32(cfg) & ~0x30000000u); 96 out_be32(cfg, in_be32(cfg) & ~0x30000000u);
103} 97}
104 98
@@ -120,26 +114,14 @@ static void spider_ack_irq(unsigned int virq)
120 out_be32(pic->regs + TIR_EDC, 0x100 | (src & 0xf)); 114 out_be32(pic->regs + TIR_EDC, 0x100 | (src & 0xf));
121} 115}
122 116
123static struct irq_chip spider_pic = { 117static int spider_set_irq_type(unsigned int virq, unsigned int type)
124 .typename = " SPIDER ",
125 .unmask = spider_unmask_irq,
126 .mask = spider_mask_irq,
127 .ack = spider_ack_irq,
128};
129
130static int spider_host_match(struct irq_host *h, struct device_node *node)
131{
132 struct spider_pic *pic = h->host_data;
133 return node == pic->of_node;
134}
135
136static int spider_host_map(struct irq_host *h, unsigned int virq,
137 irq_hw_number_t hw, unsigned int flags)
138{ 118{
139 unsigned int sense = flags & IRQ_TYPE_SENSE_MASK; 119 unsigned int sense = type & IRQ_TYPE_SENSE_MASK;
140 struct spider_pic *pic = h->host_data; 120 struct spider_pic *pic = spider_virq_to_pic(virq);
121 unsigned int hw = irq_map[virq].hwirq;
141 void __iomem *cfg = spider_get_irq_config(pic, hw); 122 void __iomem *cfg = spider_get_irq_config(pic, hw);
142 int level = 0; 123 struct irq_desc *desc = get_irq_desc(virq);
124 u32 old_mask;
143 u32 ic; 125 u32 ic;
144 126
145 /* Note that only level high is supported for most interrupts */ 127 /* Note that only level high is supported for most interrupts */
@@ -157,29 +139,57 @@ static int spider_host_map(struct irq_host *h, unsigned int virq,
157 break; 139 break;
158 case IRQ_TYPE_LEVEL_LOW: 140 case IRQ_TYPE_LEVEL_LOW:
159 ic = 0x0; 141 ic = 0x0;
160 level = 1;
161 break; 142 break;
162 case IRQ_TYPE_LEVEL_HIGH: 143 case IRQ_TYPE_LEVEL_HIGH:
163 case IRQ_TYPE_NONE: 144 case IRQ_TYPE_NONE:
164 ic = 0x1; 145 ic = 0x1;
165 level = 1;
166 break; 146 break;
167 default: 147 default:
168 return -EINVAL; 148 return -EINVAL;
169 } 149 }
170 150
151 /* Update irq_desc */
152 desc->status &= ~(IRQ_TYPE_SENSE_MASK | IRQ_LEVEL);
153 desc->status |= type & IRQ_TYPE_SENSE_MASK;
154 if (type & (IRQ_TYPE_LEVEL_HIGH | IRQ_TYPE_LEVEL_LOW))
155 desc->status |= IRQ_LEVEL;
156
171 /* Configure the source. One gross hack that was there before and 157 /* Configure the source. One gross hack that was there before and
172 * that I've kept around is the priority to the BE which I set to 158 * that I've kept around is the priority to the BE which I set to
173 * be the same as the interrupt source number. I don't know wether 159 * be the same as the interrupt source number. I don't know wether
174 * that's supposed to make any kind of sense however, we'll have to 160 * that's supposed to make any kind of sense however, we'll have to
175 * decide that, but for now, I'm not changing the behaviour. 161 * decide that, but for now, I'm not changing the behaviour.
176 */ 162 */
177 out_be32(cfg, (ic << 24) | (0x7 << 16) | (pic->node_id << 4) | 0xe); 163 old_mask = in_be32(cfg) & 0x30000000u;
164 out_be32(cfg, old_mask | (ic << 24) | (0x7 << 16) |
165 (pic->node_id << 4) | 0xe);
178 out_be32(cfg + 4, (0x2 << 16) | (hw & 0xff)); 166 out_be32(cfg + 4, (0x2 << 16) | (hw & 0xff));
179 167
180 if (level) 168 return 0;
181 get_irq_desc(virq)->status |= IRQ_LEVEL; 169}
170
171static struct irq_chip spider_pic = {
172 .typename = " SPIDER ",
173 .unmask = spider_unmask_irq,
174 .mask = spider_mask_irq,
175 .ack = spider_ack_irq,
176 .set_type = spider_set_irq_type,
177};
178
179static int spider_host_match(struct irq_host *h, struct device_node *node)
180{
181 struct spider_pic *pic = h->host_data;
182 return node == pic->of_node;
183}
184
185static int spider_host_map(struct irq_host *h, unsigned int virq,
186 irq_hw_number_t hw)
187{
182 set_irq_chip_and_handler(virq, &spider_pic, handle_level_irq); 188 set_irq_chip_and_handler(virq, &spider_pic, handle_level_irq);
189
190 /* Set default irq type */
191 set_irq_type(virq, IRQ_TYPE_NONE);
192
183 return 0; 193 return 0;
184} 194}
185 195
@@ -283,7 +293,7 @@ static unsigned int __init spider_find_cascade_and_node(struct spider_pic *pic)
283 if (iic_host == NULL) 293 if (iic_host == NULL)
284 return NO_IRQ; 294 return NO_IRQ;
285 /* Manufacture an IIC interrupt number of class 2 */ 295 /* Manufacture an IIC interrupt number of class 2 */
286 virq = irq_create_mapping(iic_host, 0x20 | unit, 0); 296 virq = irq_create_mapping(iic_host, 0x20 | unit);
287 if (virq == NO_IRQ) 297 if (virq == NO_IRQ)
288 printk(KERN_ERR "spider_pic: failed to map cascade !"); 298 printk(KERN_ERR "spider_pic: failed to map cascade !");
289 return virq; 299 return virq;
diff --git a/arch/powerpc/platforms/cell/spu_base.c b/arch/powerpc/platforms/cell/spu_base.c
index 5d2313a6c82b..d06042deb021 100644
--- a/arch/powerpc/platforms/cell/spu_base.c
+++ b/arch/powerpc/platforms/cell/spu_base.c
@@ -583,9 +583,9 @@ static int __init spu_map_interrupts(struct spu *spu, struct device_node *np)
583 spu->isrc = isrc = tmp[0]; 583 spu->isrc = isrc = tmp[0];
584 584
585 /* Now map interrupts of all 3 classes */ 585 /* Now map interrupts of all 3 classes */
586 spu->irqs[0] = irq_create_mapping(host, 0x00 | isrc, 0); 586 spu->irqs[0] = irq_create_mapping(host, 0x00 | isrc);
587 spu->irqs[1] = irq_create_mapping(host, 0x10 | isrc, 0); 587 spu->irqs[1] = irq_create_mapping(host, 0x10 | isrc);
588 spu->irqs[2] = irq_create_mapping(host, 0x20 | isrc, 0); 588 spu->irqs[2] = irq_create_mapping(host, 0x20 | isrc);
589 589
590 /* Right now, we only fail if class 2 failed */ 590 /* Right now, we only fail if class 2 failed */
591 return spu->irqs[2] == NO_IRQ ? -EINVAL : 0; 591 return spu->irqs[2] == NO_IRQ ? -EINVAL : 0;
diff --git a/arch/powerpc/platforms/chrp/setup.c b/arch/powerpc/platforms/chrp/setup.c
index 538e337d63e2..9c08ff322290 100644
--- a/arch/powerpc/platforms/chrp/setup.c
+++ b/arch/powerpc/platforms/chrp/setup.c
@@ -291,10 +291,6 @@ void __init chrp_setup_arch(void)
291 291
292 pci_create_OF_bus_map(); 292 pci_create_OF_bus_map();
293 293
294#ifdef CONFIG_SMP
295 smp_ops = &chrp_smp_ops;
296#endif /* CONFIG_SMP */
297
298 /* 294 /*
299 * Print the banner, then scroll down so boot progress 295 * Print the banner, then scroll down so boot progress
300 * can be printed. -- Cort 296 * can be printed. -- Cort
@@ -479,6 +475,14 @@ void __init chrp_init_IRQ(void)
479 chrp_find_openpic(); 475 chrp_find_openpic();
480 chrp_find_8259(); 476 chrp_find_8259();
481 477
478#ifdef CONFIG_SMP
479 /* Pegasos has no MPIC, those ops would make it crash. It might be an
480 * option to move setting them to after we probe the PIC though
481 */
482 if (chrp_mpic != NULL)
483 smp_ops = &chrp_smp_ops;
484#endif /* CONFIG_SMP */
485
482 if (_chrp_type == _CHRP_Pegasos) 486 if (_chrp_type == _CHRP_Pegasos)
483 ppc_md.get_irq = i8259_irq; 487 ppc_md.get_irq = i8259_irq;
484 488
diff --git a/arch/powerpc/platforms/iseries/irq.c b/arch/powerpc/platforms/iseries/irq.c
index 2275e64f3152..e32446877e78 100644
--- a/arch/powerpc/platforms/iseries/irq.c
+++ b/arch/powerpc/platforms/iseries/irq.c
@@ -300,7 +300,7 @@ int __init iSeries_allocate_IRQ(HvBusNumber bus,
300 realirq = (((((sub_bus << 8) + (bus - 1)) << 3) + (idsel - 1)) << 3) 300 realirq = (((((sub_bus << 8) + (bus - 1)) << 3) + (idsel - 1)) << 3)
301 + function; 301 + function;
302 302
303 return irq_create_mapping(NULL, realirq, IRQ_TYPE_NONE); 303 return irq_create_mapping(NULL, realirq);
304} 304}
305 305
306#endif /* CONFIG_PCI */ 306#endif /* CONFIG_PCI */
@@ -341,7 +341,7 @@ unsigned int iSeries_get_irq(struct pt_regs *regs)
341} 341}
342 342
343static int iseries_irq_host_map(struct irq_host *h, unsigned int virq, 343static int iseries_irq_host_map(struct irq_host *h, unsigned int virq,
344 irq_hw_number_t hw, unsigned int flags) 344 irq_hw_number_t hw)
345{ 345{
346 set_irq_chip_and_handler(virq, &iseries_pic, handle_fasteoi_irq); 346 set_irq_chip_and_handler(virq, &iseries_pic, handle_fasteoi_irq);
347 347
diff --git a/arch/powerpc/platforms/maple/setup.c b/arch/powerpc/platforms/maple/setup.c
index cb528c9de4c3..57567dfb9819 100644
--- a/arch/powerpc/platforms/maple/setup.c
+++ b/arch/powerpc/platforms/maple/setup.c
@@ -221,10 +221,17 @@ static void __init maple_init_IRQ(void)
221 * in Maple device-tree where the type of the controller is 221 * in Maple device-tree where the type of the controller is
222 * open-pic and not interrupt-controller 222 * open-pic and not interrupt-controller
223 */ 223 */
224 for_each_node_by_type(np, "open-pic") { 224
225 mpic_node = np; 225 for_each_node_by_type(np, "interrupt-controller")
226 break; 226 if (device_is_compatible(np, "open-pic")) {
227 } 227 mpic_node = np;
228 break;
229 }
230 if (mpic_node == NULL)
231 for_each_node_by_type(np, "open-pic") {
232 mpic_node = np;
233 break;
234 }
228 if (mpic_node == NULL) { 235 if (mpic_node == NULL) {
229 printk(KERN_ERR 236 printk(KERN_ERR
230 "Failed to locate the MPIC interrupt controller\n"); 237 "Failed to locate the MPIC interrupt controller\n");
@@ -252,6 +259,8 @@ static void __init maple_init_IRQ(void)
252 259
253 /* XXX Maple specific bits */ 260 /* XXX Maple specific bits */
254 flags |= MPIC_BROKEN_U3 | MPIC_WANTS_RESET; 261 flags |= MPIC_BROKEN_U3 | MPIC_WANTS_RESET;
262 /* All U3/U4 are big-endian, older SLOF firmware doesn't encode this */
263 flags |= MPIC_BIG_ENDIAN;
255 264
256 /* Setup the openpic driver. More device-tree junks, we hard code no 265 /* Setup the openpic driver. More device-tree junks, we hard code no
257 * ISUs for now. I'll have to revisit some stuffs with the folks doing 266 * ISUs for now. I'll have to revisit some stuffs with the folks doing
diff --git a/arch/powerpc/platforms/powermac/backlight.c b/arch/powerpc/platforms/powermac/backlight.c
index 69f65e215a5c..d66415491055 100644
--- a/arch/powerpc/platforms/powermac/backlight.c
+++ b/arch/powerpc/platforms/powermac/backlight.c
@@ -10,11 +10,33 @@
10#include <linux/kernel.h> 10#include <linux/kernel.h>
11#include <linux/fb.h> 11#include <linux/fb.h>
12#include <linux/backlight.h> 12#include <linux/backlight.h>
13#include <linux/adb.h>
14#include <linux/pmu.h>
15#include <asm/atomic.h>
13#include <asm/prom.h> 16#include <asm/prom.h>
14#include <asm/backlight.h> 17#include <asm/backlight.h>
15 18
16#define OLD_BACKLIGHT_MAX 15 19#define OLD_BACKLIGHT_MAX 15
17 20
21static void pmac_backlight_key_worker(void *data);
22static void pmac_backlight_set_legacy_worker(void *data);
23
24static DECLARE_WORK(pmac_backlight_key_work, pmac_backlight_key_worker, NULL);
25static DECLARE_WORK(pmac_backlight_set_legacy_work, pmac_backlight_set_legacy_worker, NULL);
26
27/* Although these variables are used in interrupt context, it makes no sense to
28 * protect them. No user is able to produce enough key events per second and
29 * notice the errors that might happen.
30 */
31static int pmac_backlight_key_queued;
32static int pmac_backlight_set_legacy_queued;
33
34/* The via-pmu code allows the backlight to be grabbed, in which case the
35 * in-kernel control of the brightness needs to be disabled. This should
36 * only be used by really old PowerBooks.
37 */
38static atomic_t kernel_backlight_disabled = ATOMIC_INIT(0);
39
18/* Protect the pmac_backlight variable */ 40/* Protect the pmac_backlight variable */
19DEFINE_MUTEX(pmac_backlight_mutex); 41DEFINE_MUTEX(pmac_backlight_mutex);
20 42
@@ -71,8 +93,11 @@ int pmac_backlight_curve_lookup(struct fb_info *info, int value)
71 return level; 93 return level;
72} 94}
73 95
74static void pmac_backlight_key(int direction) 96static void pmac_backlight_key_worker(void *data)
75{ 97{
98 if (atomic_read(&kernel_backlight_disabled))
99 return;
100
76 mutex_lock(&pmac_backlight_mutex); 101 mutex_lock(&pmac_backlight_mutex);
77 if (pmac_backlight) { 102 if (pmac_backlight) {
78 struct backlight_properties *props; 103 struct backlight_properties *props;
@@ -82,7 +107,8 @@ static void pmac_backlight_key(int direction)
82 props = pmac_backlight->props; 107 props = pmac_backlight->props;
83 108
84 brightness = props->brightness + 109 brightness = props->brightness +
85 ((direction?-1:1) * (props->max_brightness / 15)); 110 ((pmac_backlight_key_queued?-1:1) *
111 (props->max_brightness / 15));
86 112
87 if (brightness < 0) 113 if (brightness < 0)
88 brightness = 0; 114 brightness = 0;
@@ -97,17 +123,20 @@ static void pmac_backlight_key(int direction)
97 mutex_unlock(&pmac_backlight_mutex); 123 mutex_unlock(&pmac_backlight_mutex);
98} 124}
99 125
100void pmac_backlight_key_up() 126/* This function is called in interrupt context */
127void pmac_backlight_key(int direction)
101{ 128{
102 pmac_backlight_key(0); 129 if (atomic_read(&kernel_backlight_disabled))
130 return;
131
132 /* we can receive multiple interrupts here, but the scheduled work
133 * will run only once, with the last value
134 */
135 pmac_backlight_key_queued = direction;
136 schedule_work(&pmac_backlight_key_work);
103} 137}
104 138
105void pmac_backlight_key_down() 139static int __pmac_backlight_set_legacy_brightness(int brightness)
106{
107 pmac_backlight_key(1);
108}
109
110int pmac_backlight_set_legacy_brightness(int brightness)
111{ 140{
112 int error = -ENXIO; 141 int error = -ENXIO;
113 142
@@ -136,6 +165,28 @@ int pmac_backlight_set_legacy_brightness(int brightness)
136 return error; 165 return error;
137} 166}
138 167
168static void pmac_backlight_set_legacy_worker(void *data)
169{
170 if (atomic_read(&kernel_backlight_disabled))
171 return;
172
173 __pmac_backlight_set_legacy_brightness(pmac_backlight_set_legacy_queued);
174}
175
176/* This function is called in interrupt context */
177void pmac_backlight_set_legacy_brightness_pmu(int brightness) {
178 if (atomic_read(&kernel_backlight_disabled))
179 return;
180
181 pmac_backlight_set_legacy_queued = brightness;
182 schedule_work(&pmac_backlight_set_legacy_work);
183}
184
185int pmac_backlight_set_legacy_brightness(int brightness)
186{
187 return __pmac_backlight_set_legacy_brightness(brightness);
188}
189
139int pmac_backlight_get_legacy_brightness() 190int pmac_backlight_get_legacy_brightness()
140{ 191{
141 int result = -ENXIO; 192 int result = -ENXIO;
@@ -157,3 +208,17 @@ int pmac_backlight_get_legacy_brightness()
157 208
158 return result; 209 return result;
159} 210}
211
212void pmac_backlight_disable()
213{
214 atomic_inc(&kernel_backlight_disabled);
215}
216
217void pmac_backlight_enable()
218{
219 atomic_dec(&kernel_backlight_disabled);
220}
221
222EXPORT_SYMBOL_GPL(pmac_backlight);
223EXPORT_SYMBOL_GPL(pmac_backlight_mutex);
224EXPORT_SYMBOL_GPL(pmac_has_backlight_type);
diff --git a/arch/powerpc/platforms/powermac/bootx_init.c b/arch/powerpc/platforms/powermac/bootx_init.c
index 871b002c9f90..6a026c733f6a 100644
--- a/arch/powerpc/platforms/powermac/bootx_init.c
+++ b/arch/powerpc/platforms/powermac/bootx_init.c
@@ -181,13 +181,18 @@ static void __init bootx_add_chosen_props(unsigned long base,
181} 181}
182 182
183static void __init bootx_add_display_props(unsigned long base, 183static void __init bootx_add_display_props(unsigned long base,
184 unsigned long *mem_end) 184 unsigned long *mem_end,
185 int has_real_node)
185{ 186{
186 boot_infos_t *bi = bootx_info; 187 boot_infos_t *bi = bootx_info;
187 u32 tmp; 188 u32 tmp;
188 189
189 bootx_dt_add_prop("linux,boot-display", NULL, 0, mem_end); 190 if (has_real_node) {
190 bootx_dt_add_prop("linux,opened", NULL, 0, mem_end); 191 bootx_dt_add_prop("linux,boot-display", NULL, 0, mem_end);
192 bootx_dt_add_prop("linux,opened", NULL, 0, mem_end);
193 } else
194 bootx_dt_add_prop("linux,bootx-noscreen", NULL, 0, mem_end);
195
191 tmp = bi->dispDeviceDepth; 196 tmp = bi->dispDeviceDepth;
192 bootx_dt_add_prop("linux,bootx-depth", &tmp, 4, mem_end); 197 bootx_dt_add_prop("linux,bootx-depth", &tmp, 4, mem_end);
193 tmp = bi->dispDeviceRect[2] - bi->dispDeviceRect[0]; 198 tmp = bi->dispDeviceRect[2] - bi->dispDeviceRect[0];
@@ -241,11 +246,6 @@ static void __init bootx_scan_dt_build_strings(unsigned long base,
241 DBG(" detected display ! adding properties names !\n"); 246 DBG(" detected display ! adding properties names !\n");
242 bootx_dt_add_string("linux,boot-display", mem_end); 247 bootx_dt_add_string("linux,boot-display", mem_end);
243 bootx_dt_add_string("linux,opened", mem_end); 248 bootx_dt_add_string("linux,opened", mem_end);
244 bootx_dt_add_string("linux,bootx-depth", mem_end);
245 bootx_dt_add_string("linux,bootx-width", mem_end);
246 bootx_dt_add_string("linux,bootx-height", mem_end);
247 bootx_dt_add_string("linux,bootx-linebytes", mem_end);
248 bootx_dt_add_string("linux,bootx-addr", mem_end);
249 strncpy(bootx_disp_path, namep, 255); 249 strncpy(bootx_disp_path, namep, 255);
250 } 250 }
251 251
@@ -329,10 +329,13 @@ static void __init bootx_scan_dt_build_struct(unsigned long base,
329 ppp = &pp->next; 329 ppp = &pp->next;
330 } 330 }
331 331
332 if (node == bootx_node_chosen) 332 if (node == bootx_node_chosen) {
333 bootx_add_chosen_props(base, mem_end); 333 bootx_add_chosen_props(base, mem_end);
334 if (node == bootx_info->dispDeviceRegEntryOffset) 334 if (bootx_info->dispDeviceRegEntryOffset == 0)
335 bootx_add_display_props(base, mem_end); 335 bootx_add_display_props(base, mem_end, 0);
336 }
337 else if (node == bootx_info->dispDeviceRegEntryOffset)
338 bootx_add_display_props(base, mem_end, 1);
336 339
337 /* do all our children */ 340 /* do all our children */
338 cpp = &np->child; 341 cpp = &np->child;
@@ -374,6 +377,14 @@ static unsigned long __init bootx_flatten_dt(unsigned long start)
374 mem_end += 4; 377 mem_end += 4;
375 bootx_dt_strend = mem_end; 378 bootx_dt_strend = mem_end;
376 bootx_scan_dt_build_strings(base, 4, &mem_end); 379 bootx_scan_dt_build_strings(base, 4, &mem_end);
380 /* Add some strings */
381 bootx_dt_add_string("linux,bootx-noscreen", &mem_end);
382 bootx_dt_add_string("linux,bootx-depth", &mem_end);
383 bootx_dt_add_string("linux,bootx-width", &mem_end);
384 bootx_dt_add_string("linux,bootx-height", &mem_end);
385 bootx_dt_add_string("linux,bootx-linebytes", &mem_end);
386 bootx_dt_add_string("linux,bootx-addr", &mem_end);
387 /* Wrap up strings */
377 hdr->off_dt_strings = bootx_dt_strbase - mem_start; 388 hdr->off_dt_strings = bootx_dt_strbase - mem_start;
378 hdr->dt_strings_size = bootx_dt_strend - bootx_dt_strbase; 389 hdr->dt_strings_size = bootx_dt_strend - bootx_dt_strbase;
379 390
@@ -471,6 +482,7 @@ void __init bootx_init(unsigned long r3, unsigned long r4)
471 if (bi->dispDeviceDepth == 16) 482 if (bi->dispDeviceDepth == 16)
472 bi->dispDeviceDepth = 15; 483 bi->dispDeviceDepth = 15;
473 484
485
474#ifdef CONFIG_BOOTX_TEXT 486#ifdef CONFIG_BOOTX_TEXT
475 ptr = (unsigned long)bi->logicalDisplayBase; 487 ptr = (unsigned long)bi->logicalDisplayBase;
476 ptr += bi->dispDeviceRect[1] * bi->dispDeviceRowBytes; 488 ptr += bi->dispDeviceRect[1] * bi->dispDeviceRowBytes;
@@ -508,6 +520,7 @@ void __init bootx_init(unsigned long r3, unsigned long r4)
508#ifdef CONFIG_BOOTX_TEXT 520#ifdef CONFIG_BOOTX_TEXT
509 btext_welcome(bi); 521 btext_welcome(bi);
510#endif 522#endif
523
511 /* New BootX enters kernel with MMU off, i/os are not allowed 524 /* New BootX enters kernel with MMU off, i/os are not allowed
512 * here. This hack will have been done by the boostrap anyway. 525 * here. This hack will have been done by the boostrap anyway.
513 */ 526 */
diff --git a/arch/powerpc/platforms/powermac/cpufreq_64.c b/arch/powerpc/platforms/powermac/cpufreq_64.c
index f08a14516139..7b1156ea5341 100644
--- a/arch/powerpc/platforms/powermac/cpufreq_64.c
+++ b/arch/powerpc/platforms/powermac/cpufreq_64.c
@@ -10,6 +10,8 @@
10 * that is iMac G5 and latest single CPU desktop. 10 * that is iMac G5 and latest single CPU desktop.
11 */ 11 */
12 12
13#undef DEBUG
14
13#include <linux/module.h> 15#include <linux/module.h>
14#include <linux/types.h> 16#include <linux/types.h>
15#include <linux/errno.h> 17#include <linux/errno.h>
@@ -30,13 +32,7 @@
30#include <asm/smu.h> 32#include <asm/smu.h>
31#include <asm/pmac_pfunc.h> 33#include <asm/pmac_pfunc.h>
32 34
33#undef DEBUG 35#define DBG(fmt...) pr_debug(fmt)
34
35#ifdef DEBUG
36#define DBG(fmt...) printk(fmt)
37#else
38#define DBG(fmt...)
39#endif
40 36
41/* see 970FX user manual */ 37/* see 970FX user manual */
42 38
@@ -82,8 +78,6 @@ static struct freq_attr* g5_cpu_freqs_attr[] = {
82/* Power mode data is an array of the 32 bits PCR values to use for 78/* Power mode data is an array of the 32 bits PCR values to use for
83 * the various frequencies, retrieved from the device-tree 79 * the various frequencies, retrieved from the device-tree
84 */ 80 */
85static u32 *g5_pmode_data;
86static int g5_pmode_max;
87static int g5_pmode_cur; 81static int g5_pmode_cur;
88 82
89static void (*g5_switch_volt)(int speed_mode); 83static void (*g5_switch_volt)(int speed_mode);
@@ -93,6 +87,11 @@ static int (*g5_query_freq)(void);
93static DEFINE_MUTEX(g5_switch_mutex); 87static DEFINE_MUTEX(g5_switch_mutex);
94 88
95 89
90#ifdef CONFIG_PMAC_SMU
91
92static u32 *g5_pmode_data;
93static int g5_pmode_max;
94
96static struct smu_sdbp_fvt *g5_fvt_table; /* table of op. points */ 95static struct smu_sdbp_fvt *g5_fvt_table; /* table of op. points */
97static int g5_fvt_count; /* number of op. points */ 96static int g5_fvt_count; /* number of op. points */
98static int g5_fvt_cur; /* current op. point */ 97static int g5_fvt_cur; /* current op. point */
@@ -210,6 +209,16 @@ static int g5_scom_query_freq(void)
210} 209}
211 210
212/* 211/*
212 * Fake voltage switching for platforms with missing support
213 */
214
215static void g5_dummy_switch_volt(int speed_mode)
216{
217}
218
219#endif /* CONFIG_PMAC_SMU */
220
221/*
213 * Platform function based voltage switching for PowerMac7,2 & 7,3 222 * Platform function based voltage switching for PowerMac7,2 & 7,3
214 */ 223 */
215 224
@@ -248,6 +257,9 @@ static int g5_pfunc_switch_freq(int speed_mode)
248 struct pmf_args args; 257 struct pmf_args args;
249 u32 done = 0; 258 u32 done = 0;
250 unsigned long timeout; 259 unsigned long timeout;
260 int rc;
261
262 DBG("g5_pfunc_switch_freq(%d)\n", speed_mode);
251 263
252 /* If frequency is going up, first ramp up the voltage */ 264 /* If frequency is going up, first ramp up the voltage */
253 if (speed_mode < g5_pmode_cur) 265 if (speed_mode < g5_pmode_cur)
@@ -255,9 +267,12 @@ static int g5_pfunc_switch_freq(int speed_mode)
255 267
256 /* Do it */ 268 /* Do it */
257 if (speed_mode == CPUFREQ_HIGH) 269 if (speed_mode == CPUFREQ_HIGH)
258 pmf_call_one(pfunc_cpu_setfreq_high, NULL); 270 rc = pmf_call_one(pfunc_cpu_setfreq_high, NULL);
259 else 271 else
260 pmf_call_one(pfunc_cpu_setfreq_low, NULL); 272 rc = pmf_call_one(pfunc_cpu_setfreq_low, NULL);
273
274 if (rc)
275 printk(KERN_WARNING "cpufreq: pfunc switch error %d\n", rc);
261 276
262 /* It's an irq GPIO so we should be able to just block here, 277 /* It's an irq GPIO so we should be able to just block here,
263 * I'll do that later after I've properly tested the IRQ code for 278 * I'll do that later after I've properly tested the IRQ code for
@@ -296,13 +311,6 @@ static int g5_pfunc_query_freq(void)
296 return val ? CPUFREQ_HIGH : CPUFREQ_LOW; 311 return val ? CPUFREQ_HIGH : CPUFREQ_LOW;
297} 312}
298 313
299/*
300 * Fake voltage switching for platforms with missing support
301 */
302
303static void g5_dummy_switch_volt(int speed_mode)
304{
305}
306 314
307/* 315/*
308 * Common interface to the cpufreq core 316 * Common interface to the cpufreq core
@@ -375,6 +383,8 @@ static struct cpufreq_driver g5_cpufreq_driver = {
375}; 383};
376 384
377 385
386#ifdef CONFIG_PMAC_SMU
387
378static int __init g5_neo2_cpufreq_init(struct device_node *cpus) 388static int __init g5_neo2_cpufreq_init(struct device_node *cpus)
379{ 389{
380 struct device_node *cpunode; 390 struct device_node *cpunode;
@@ -525,6 +535,9 @@ static int __init g5_neo2_cpufreq_init(struct device_node *cpus)
525 return rc; 535 return rc;
526} 536}
527 537
538#endif /* CONFIG_PMAC_SMU */
539
540
528static int __init g5_pm72_cpufreq_init(struct device_node *cpus) 541static int __init g5_pm72_cpufreq_init(struct device_node *cpus)
529{ 542{
530 struct device_node *cpuid = NULL, *hwclock = NULL, *cpunode = NULL; 543 struct device_node *cpuid = NULL, *hwclock = NULL, *cpunode = NULL;
@@ -533,6 +546,9 @@ static int __init g5_pm72_cpufreq_init(struct device_node *cpus)
533 u64 max_freq, min_freq, ih, il; 546 u64 max_freq, min_freq, ih, il;
534 int has_volt = 1, rc = 0; 547 int has_volt = 1, rc = 0;
535 548
549 DBG("cpufreq: Initializing for PowerMac7,2, PowerMac7,3 and"
550 " RackMac3,1...\n");
551
536 /* Get first CPU node */ 552 /* Get first CPU node */
537 for (cpunode = NULL; 553 for (cpunode = NULL;
538 (cpunode = of_get_next_child(cpus, cpunode)) != NULL;) { 554 (cpunode = of_get_next_child(cpus, cpunode)) != NULL;) {
@@ -636,6 +652,15 @@ static int __init g5_pm72_cpufreq_init(struct device_node *cpus)
636 */ 652 */
637 ih = *((u32 *)(eeprom + 0x10)); 653 ih = *((u32 *)(eeprom + 0x10));
638 il = *((u32 *)(eeprom + 0x20)); 654 il = *((u32 *)(eeprom + 0x20));
655
656 /* Check for machines with no useful settings */
657 if (il == ih) {
658 printk(KERN_WARNING "cpufreq: No low frequency mode available"
659 " on this model !\n");
660 rc = -ENODEV;
661 goto bail;
662 }
663
639 min_freq = 0; 664 min_freq = 0;
640 if (ih != 0 && il != 0) 665 if (ih != 0 && il != 0)
641 min_freq = (max_freq * il) / ih; 666 min_freq = (max_freq * il) / ih;
@@ -643,7 +668,7 @@ static int __init g5_pm72_cpufreq_init(struct device_node *cpus)
643 /* Sanity check */ 668 /* Sanity check */
644 if (min_freq >= max_freq || min_freq < 1000) { 669 if (min_freq >= max_freq || min_freq < 1000) {
645 printk(KERN_ERR "cpufreq: Can't calculate low frequency !\n"); 670 printk(KERN_ERR "cpufreq: Can't calculate low frequency !\n");
646 rc = -ENODEV; 671 rc = -ENXIO;
647 goto bail; 672 goto bail;
648 } 673 }
649 g5_cpu_freqs[0].frequency = max_freq; 674 g5_cpu_freqs[0].frequency = max_freq;
@@ -690,16 +715,10 @@ static int __init g5_pm72_cpufreq_init(struct device_node *cpus)
690 return rc; 715 return rc;
691} 716}
692 717
693static int __init g5_rm31_cpufreq_init(struct device_node *cpus)
694{
695 /* NYI */
696 return 0;
697}
698
699static int __init g5_cpufreq_init(void) 718static int __init g5_cpufreq_init(void)
700{ 719{
701 struct device_node *cpus; 720 struct device_node *cpus;
702 int rc; 721 int rc = 0;
703 722
704 cpus = of_find_node_by_path("/cpus"); 723 cpus = of_find_node_by_path("/cpus");
705 if (cpus == NULL) { 724 if (cpus == NULL) {
@@ -708,12 +727,13 @@ static int __init g5_cpufreq_init(void)
708 } 727 }
709 728
710 if (machine_is_compatible("PowerMac7,2") || 729 if (machine_is_compatible("PowerMac7,2") ||
711 machine_is_compatible("PowerMac7,3")) 730 machine_is_compatible("PowerMac7,3") ||
731 machine_is_compatible("RackMac3,1"))
712 rc = g5_pm72_cpufreq_init(cpus); 732 rc = g5_pm72_cpufreq_init(cpus);
713 else if (machine_is_compatible("RackMac3,1")) 733#ifdef CONFIG_PMAC_SMU
714 rc = g5_rm31_cpufreq_init(cpus);
715 else 734 else
716 rc = g5_neo2_cpufreq_init(cpus); 735 rc = g5_neo2_cpufreq_init(cpus);
736#endif /* CONFIG_PMAC_SMU */
717 737
718 of_node_put(cpus); 738 of_node_put(cpus);
719 return rc; 739 return rc;
diff --git a/arch/powerpc/platforms/powermac/pci.c b/arch/powerpc/platforms/powermac/pci.c
index 556b349797e8..205d04471161 100644
--- a/arch/powerpc/platforms/powermac/pci.c
+++ b/arch/powerpc/platforms/powermac/pci.c
@@ -16,6 +16,7 @@
16#include <linux/string.h> 16#include <linux/string.h>
17#include <linux/init.h> 17#include <linux/init.h>
18#include <linux/bootmem.h> 18#include <linux/bootmem.h>
19#include <linux/irq.h>
19 20
20#include <asm/sections.h> 21#include <asm/sections.h>
21#include <asm/io.h> 22#include <asm/io.h>
@@ -24,10 +25,7 @@
24#include <asm/machdep.h> 25#include <asm/machdep.h>
25#include <asm/pmac_feature.h> 26#include <asm/pmac_feature.h>
26#include <asm/grackle.h> 27#include <asm/grackle.h>
27#ifdef CONFIG_PPC64
28//#include <asm/iommu.h>
29#include <asm/ppc-pci.h> 28#include <asm/ppc-pci.h>
30#endif
31 29
32#undef DEBUG 30#undef DEBUG
33 31
@@ -46,7 +44,6 @@ static int has_uninorth;
46static struct pci_controller *u3_agp; 44static struct pci_controller *u3_agp;
47static struct pci_controller *u4_pcie; 45static struct pci_controller *u4_pcie;
48static struct pci_controller *u3_ht; 46static struct pci_controller *u3_ht;
49#define has_second_ohare 0
50#else 47#else
51static int has_second_ohare; 48static int has_second_ohare;
52#endif /* CONFIG_PPC64 */ 49#endif /* CONFIG_PPC64 */
@@ -993,6 +990,7 @@ void __init pmac_pcibios_fixup(void)
993 /* Read interrupt from the device-tree */ 990 /* Read interrupt from the device-tree */
994 pci_read_irq_line(dev); 991 pci_read_irq_line(dev);
995 992
993#ifdef CONFIG_PPC32
996 /* Fixup interrupt for the modem/ethernet combo controller. 994 /* Fixup interrupt for the modem/ethernet combo controller.
997 * on machines with a second ohare chip. 995 * on machines with a second ohare chip.
998 * The number in the device tree (27) is bogus (correct for 996 * The number in the device tree (27) is bogus (correct for
@@ -1002,8 +1000,11 @@ void __init pmac_pcibios_fixup(void)
1002 */ 1000 */
1003 if (has_second_ohare && 1001 if (has_second_ohare &&
1004 dev->vendor == PCI_VENDOR_ID_DEC && 1002 dev->vendor == PCI_VENDOR_ID_DEC &&
1005 dev->device == PCI_DEVICE_ID_DEC_TULIP_PLUS) 1003 dev->device == PCI_DEVICE_ID_DEC_TULIP_PLUS) {
1006 dev->irq = irq_create_mapping(NULL, 60, 0); 1004 dev->irq = irq_create_mapping(NULL, 60);
1005 set_irq_type(dev->irq, IRQ_TYPE_LEVEL_LOW);
1006 }
1007#endif /* CONFIG_PPC32 */
1007 } 1008 }
1008} 1009}
1009 1010
diff --git a/arch/powerpc/platforms/powermac/pic.c b/arch/powerpc/platforms/powermac/pic.c
index 3d328bc1f7e0..060789e31c67 100644
--- a/arch/powerpc/platforms/powermac/pic.c
+++ b/arch/powerpc/platforms/powermac/pic.c
@@ -291,7 +291,7 @@ static int pmac_pic_host_match(struct irq_host *h, struct device_node *node)
291} 291}
292 292
293static int pmac_pic_host_map(struct irq_host *h, unsigned int virq, 293static int pmac_pic_host_map(struct irq_host *h, unsigned int virq,
294 irq_hw_number_t hw, unsigned int flags) 294 irq_hw_number_t hw)
295{ 295{
296 struct irq_desc *desc = get_irq_desc(virq); 296 struct irq_desc *desc = get_irq_desc(virq);
297 int level; 297 int level;
@@ -318,6 +318,7 @@ static int pmac_pic_host_xlate(struct irq_host *h, struct device_node *ct,
318 unsigned int *out_flags) 318 unsigned int *out_flags)
319 319
320{ 320{
321 *out_flags = IRQ_TYPE_NONE;
321 *out_hwirq = *intspec; 322 *out_hwirq = *intspec;
322 return 0; 323 return 0;
323} 324}
@@ -434,7 +435,7 @@ static void __init pmac_pic_probe_oldstyle(void)
434 435
435 printk(KERN_INFO "irq: System has %d possible interrupts\n", max_irqs); 436 printk(KERN_INFO "irq: System has %d possible interrupts\n", max_irqs);
436#ifdef CONFIG_XMON 437#ifdef CONFIG_XMON
437 setup_irq(irq_create_mapping(NULL, 20, 0), &xmon_action); 438 setup_irq(irq_create_mapping(NULL, 20), &xmon_action);
438#endif 439#endif
439} 440}
440#endif /* CONFIG_PPC32 */ 441#endif /* CONFIG_PPC32 */
@@ -579,9 +580,10 @@ void __init pmac_pic_init(void)
579 flags |= OF_IMAP_OLDWORLD_MAC; 580 flags |= OF_IMAP_OLDWORLD_MAC;
580 if (get_property(of_chosen, "linux,bootx", NULL) != NULL) 581 if (get_property(of_chosen, "linux,bootx", NULL) != NULL)
581 flags |= OF_IMAP_NO_PHANDLE; 582 flags |= OF_IMAP_NO_PHANDLE;
582 of_irq_map_init(flags);
583#endif /* CONFIG_PPC_32 */ 583#endif /* CONFIG_PPC_32 */
584 584
585 of_irq_map_init(flags);
586
585 /* We first try to detect Apple's new Core99 chipset, since mac-io 587 /* We first try to detect Apple's new Core99 chipset, since mac-io
586 * is quite different on those machines and contains an IBM MPIC2. 588 * is quite different on those machines and contains an IBM MPIC2.
587 */ 589 */
diff --git a/arch/powerpc/platforms/pseries/ras.c b/arch/powerpc/platforms/pseries/ras.c
index 9df783088b61..c7ffde1a614e 100644
--- a/arch/powerpc/platforms/pseries/ras.c
+++ b/arch/powerpc/platforms/pseries/ras.c
@@ -93,8 +93,7 @@ static void request_ras_irqs(struct device_node *np,
93 for (i = 0; i < opicplen; i++) { 93 for (i = 0; i < opicplen; i++) {
94 if (count > 15) 94 if (count > 15)
95 break; 95 break;
96 virqs[count] = irq_create_mapping(NULL, *(opicprop++), 96 virqs[count] = irq_create_mapping(NULL, *(opicprop++));
97 IRQ_TYPE_NONE);
98 if (virqs[count] == NO_IRQ) 97 if (virqs[count] == NO_IRQ)
99 printk(KERN_ERR "Unable to allocate interrupt " 98 printk(KERN_ERR "Unable to allocate interrupt "
100 "number for %s\n", np->full_name); 99 "number for %s\n", np->full_name);
diff --git a/arch/powerpc/platforms/pseries/setup.c b/arch/powerpc/platforms/pseries/setup.c
index 54a52437265c..71c634e0b87c 100644
--- a/arch/powerpc/platforms/pseries/setup.c
+++ b/arch/powerpc/platforms/pseries/setup.c
@@ -501,7 +501,8 @@ static void pseries_dedicated_idle_sleep(void)
501 } 501 }
502 502
503 /* 503 /*
504 * Cede if the other thread is not idle, so that it can 504 * If not SMT, cede processor. If CPU is running SMT
505 * cede if the other thread is not idle, so that it can
505 * go single-threaded. If the other thread is idle, 506 * go single-threaded. If the other thread is idle,
506 * we ask the hypervisor if it has pending work it 507 * we ask the hypervisor if it has pending work it
507 * wants to do and cede if it does. Otherwise we keep 508 * wants to do and cede if it does. Otherwise we keep
@@ -514,7 +515,8 @@ static void pseries_dedicated_idle_sleep(void)
514 * very low priority. The cede enables interrupts, which 515 * very low priority. The cede enables interrupts, which
515 * doesn't matter here. 516 * doesn't matter here.
516 */ 517 */
517 if (!lppaca[cpu ^ 1].idle || poll_pending() == H_PENDING) 518 if (!cpu_has_feature(CPU_FTR_SMT) || !lppaca[cpu ^ 1].idle
519 || poll_pending() == H_PENDING)
518 cede_processor(); 520 cede_processor();
519 521
520out: 522out:
diff --git a/arch/powerpc/platforms/pseries/xics.c b/arch/powerpc/platforms/pseries/xics.c
index 716972aa9777..2d0da6f9e244 100644
--- a/arch/powerpc/platforms/pseries/xics.c
+++ b/arch/powerpc/platforms/pseries/xics.c
@@ -502,16 +502,9 @@ static int xics_host_match(struct irq_host *h, struct device_node *node)
502} 502}
503 503
504static int xics_host_map_direct(struct irq_host *h, unsigned int virq, 504static int xics_host_map_direct(struct irq_host *h, unsigned int virq,
505 irq_hw_number_t hw, unsigned int flags) 505 irq_hw_number_t hw)
506{ 506{
507 unsigned int sense = flags & IRQ_TYPE_SENSE_MASK; 507 pr_debug("xics: map_direct virq %d, hwirq 0x%lx\n", virq, hw);
508
509 pr_debug("xics: map_direct virq %d, hwirq 0x%lx, flags: 0x%x\n",
510 virq, hw, flags);
511
512 if (sense && sense != IRQ_TYPE_LEVEL_LOW)
513 printk(KERN_WARNING "xics: using unsupported sense 0x%x"
514 " for irq %d (h: 0x%lx)\n", flags, virq, hw);
515 508
516 get_irq_desc(virq)->status |= IRQ_LEVEL; 509 get_irq_desc(virq)->status |= IRQ_LEVEL;
517 set_irq_chip_and_handler(virq, &xics_pic_direct, handle_fasteoi_irq); 510 set_irq_chip_and_handler(virq, &xics_pic_direct, handle_fasteoi_irq);
@@ -519,16 +512,9 @@ static int xics_host_map_direct(struct irq_host *h, unsigned int virq,
519} 512}
520 513
521static int xics_host_map_lpar(struct irq_host *h, unsigned int virq, 514static int xics_host_map_lpar(struct irq_host *h, unsigned int virq,
522 irq_hw_number_t hw, unsigned int flags) 515 irq_hw_number_t hw)
523{ 516{
524 unsigned int sense = flags & IRQ_TYPE_SENSE_MASK; 517 pr_debug("xics: map_direct virq %d, hwirq 0x%lx\n", virq, hw);
525
526 pr_debug("xics: map_lpar virq %d, hwirq 0x%lx, flags: 0x%x\n",
527 virq, hw, flags);
528
529 if (sense && sense != IRQ_TYPE_LEVEL_LOW)
530 printk(KERN_WARNING "xics: using unsupported sense 0x%x"
531 " for irq %d (h: 0x%lx)\n", flags, virq, hw);
532 518
533 get_irq_desc(virq)->status |= IRQ_LEVEL; 519 get_irq_desc(virq)->status |= IRQ_LEVEL;
534 set_irq_chip_and_handler(virq, &xics_pic_lpar, handle_fasteoi_irq); 520 set_irq_chip_and_handler(virq, &xics_pic_lpar, handle_fasteoi_irq);
@@ -757,7 +743,7 @@ void xics_request_IPIs(void)
757{ 743{
758 unsigned int ipi; 744 unsigned int ipi;
759 745
760 ipi = irq_create_mapping(xics_host, XICS_IPI, 0); 746 ipi = irq_create_mapping(xics_host, XICS_IPI);
761 BUG_ON(ipi == NO_IRQ); 747 BUG_ON(ipi == NO_IRQ);
762 748
763 /* 749 /*
@@ -783,6 +769,14 @@ void xics_teardown_cpu(int secondary)
783 xics_set_cpu_priority(cpu, 0); 769 xics_set_cpu_priority(cpu, 0);
784 770
785 /* 771 /*
772 * Clear IPI
773 */
774 if (firmware_has_feature(FW_FEATURE_LPAR))
775 lpar_qirr_info(cpu, 0xff);
776 else
777 direct_qirr_info(cpu, 0xff);
778
779 /*
786 * we need to EOI the IPI if we got here from kexec down IPI 780 * we need to EOI the IPI if we got here from kexec down IPI
787 * 781 *
788 * probably need to check all the other interrupts too 782 * probably need to check all the other interrupts too
@@ -795,7 +789,7 @@ void xics_teardown_cpu(int secondary)
795 return; 789 return;
796 desc = get_irq_desc(ipi); 790 desc = get_irq_desc(ipi);
797 if (desc->chip && desc->chip->eoi) 791 if (desc->chip && desc->chip->eoi)
798 desc->chip->eoi(XICS_IPI); 792 desc->chip->eoi(ipi);
799 793
800 /* 794 /*
801 * Some machines need to have at least one cpu in the GIQ, 795 * Some machines need to have at least one cpu in the GIQ,
diff --git a/arch/powerpc/sysdev/i8259.c b/arch/powerpc/sysdev/i8259.c
index 72c73a6105cd..9855820b9548 100644
--- a/arch/powerpc/sysdev/i8259.c
+++ b/arch/powerpc/sysdev/i8259.c
@@ -169,7 +169,7 @@ static int i8259_host_match(struct irq_host *h, struct device_node *node)
169} 169}
170 170
171static int i8259_host_map(struct irq_host *h, unsigned int virq, 171static int i8259_host_map(struct irq_host *h, unsigned int virq,
172 irq_hw_number_t hw, unsigned int flags) 172 irq_hw_number_t hw)
173{ 173{
174 pr_debug("i8259_host_map(%d, 0x%lx)\n", virq, hw); 174 pr_debug("i8259_host_map(%d, 0x%lx)\n", virq, hw);
175 175
@@ -177,7 +177,7 @@ static int i8259_host_map(struct irq_host *h, unsigned int virq,
177 if (hw == 2) 177 if (hw == 2)
178 get_irq_desc(virq)->status |= IRQ_NOREQUEST; 178 get_irq_desc(virq)->status |= IRQ_NOREQUEST;
179 179
180 /* We use the level stuff only for now, we might want to 180 /* We use the level handler only for now, we might want to
181 * be more cautious here but that works for now 181 * be more cautious here but that works for now
182 */ 182 */
183 get_irq_desc(virq)->status |= IRQ_LEVEL; 183 get_irq_desc(virq)->status |= IRQ_LEVEL;
diff --git a/arch/powerpc/sysdev/mpic.c b/arch/powerpc/sysdev/mpic.c
index 9cecebaa0360..6e0281afa6c3 100644
--- a/arch/powerpc/sysdev/mpic.c
+++ b/arch/powerpc/sysdev/mpic.c
@@ -204,7 +204,7 @@ static void mpic_startup_ht_interrupt(struct mpic *mpic, unsigned int source,
204 if (fixup->base == NULL) 204 if (fixup->base == NULL)
205 return; 205 return;
206 206
207 DBG("startup_ht_interrupt(%u, %u) index: %d\n", 207 DBG("startup_ht_interrupt(0x%x, 0x%x) index: %d\n",
208 source, irqflags, fixup->index); 208 source, irqflags, fixup->index);
209 spin_lock_irqsave(&mpic->fixup_lock, flags); 209 spin_lock_irqsave(&mpic->fixup_lock, flags);
210 /* Enable and configure */ 210 /* Enable and configure */
@@ -227,7 +227,7 @@ static void mpic_shutdown_ht_interrupt(struct mpic *mpic, unsigned int source,
227 if (fixup->base == NULL) 227 if (fixup->base == NULL)
228 return; 228 return;
229 229
230 DBG("shutdown_ht_interrupt(%u, %u)\n", source, irqflags); 230 DBG("shutdown_ht_interrupt(0x%x, 0x%x)\n", source, irqflags);
231 231
232 /* Disable */ 232 /* Disable */
233 spin_lock_irqsave(&mpic->fixup_lock, flags); 233 spin_lock_irqsave(&mpic->fixup_lock, flags);
@@ -337,6 +337,17 @@ static void __init mpic_scan_ht_pics(struct mpic *mpic)
337 } 337 }
338} 338}
339 339
340#else /* CONFIG_MPIC_BROKEN_U3 */
341
342static inline int mpic_is_ht_interrupt(struct mpic *mpic, unsigned int source)
343{
344 return 0;
345}
346
347static void __init mpic_scan_ht_pics(struct mpic *mpic)
348{
349}
350
340#endif /* CONFIG_MPIC_BROKEN_U3 */ 351#endif /* CONFIG_MPIC_BROKEN_U3 */
341 352
342 353
@@ -405,11 +416,9 @@ static void mpic_unmask_irq(unsigned int irq)
405 unsigned int loops = 100000; 416 unsigned int loops = 100000;
406 struct mpic *mpic = mpic_from_irq(irq); 417 struct mpic *mpic = mpic_from_irq(irq);
407 unsigned int src = mpic_irq_to_hw(irq); 418 unsigned int src = mpic_irq_to_hw(irq);
408 unsigned long flags;
409 419
410 DBG("%p: %s: enable_irq: %d (src %d)\n", mpic, mpic->name, irq, src); 420 DBG("%p: %s: enable_irq: %d (src %d)\n", mpic, mpic->name, irq, src);
411 421
412 spin_lock_irqsave(&mpic_lock, flags);
413 mpic_irq_write(src, MPIC_IRQ_VECTOR_PRI, 422 mpic_irq_write(src, MPIC_IRQ_VECTOR_PRI,
414 mpic_irq_read(src, MPIC_IRQ_VECTOR_PRI) & 423 mpic_irq_read(src, MPIC_IRQ_VECTOR_PRI) &
415 ~MPIC_VECPRI_MASK); 424 ~MPIC_VECPRI_MASK);
@@ -420,7 +429,6 @@ static void mpic_unmask_irq(unsigned int irq)
420 break; 429 break;
421 } 430 }
422 } while(mpic_irq_read(src, MPIC_IRQ_VECTOR_PRI) & MPIC_VECPRI_MASK); 431 } while(mpic_irq_read(src, MPIC_IRQ_VECTOR_PRI) & MPIC_VECPRI_MASK);
423 spin_unlock_irqrestore(&mpic_lock, flags);
424} 432}
425 433
426static void mpic_mask_irq(unsigned int irq) 434static void mpic_mask_irq(unsigned int irq)
@@ -428,11 +436,9 @@ static void mpic_mask_irq(unsigned int irq)
428 unsigned int loops = 100000; 436 unsigned int loops = 100000;
429 struct mpic *mpic = mpic_from_irq(irq); 437 struct mpic *mpic = mpic_from_irq(irq);
430 unsigned int src = mpic_irq_to_hw(irq); 438 unsigned int src = mpic_irq_to_hw(irq);
431 unsigned long flags;
432 439
433 DBG("%s: disable_irq: %d (src %d)\n", mpic->name, irq, src); 440 DBG("%s: disable_irq: %d (src %d)\n", mpic->name, irq, src);
434 441
435 spin_lock_irqsave(&mpic_lock, flags);
436 mpic_irq_write(src, MPIC_IRQ_VECTOR_PRI, 442 mpic_irq_write(src, MPIC_IRQ_VECTOR_PRI,
437 mpic_irq_read(src, MPIC_IRQ_VECTOR_PRI) | 443 mpic_irq_read(src, MPIC_IRQ_VECTOR_PRI) |
438 MPIC_VECPRI_MASK); 444 MPIC_VECPRI_MASK);
@@ -444,7 +450,6 @@ static void mpic_mask_irq(unsigned int irq)
444 break; 450 break;
445 } 451 }
446 } while(!(mpic_irq_read(src, MPIC_IRQ_VECTOR_PRI) & MPIC_VECPRI_MASK)); 452 } while(!(mpic_irq_read(src, MPIC_IRQ_VECTOR_PRI) & MPIC_VECPRI_MASK));
447 spin_unlock_irqrestore(&mpic_lock, flags);
448} 453}
449 454
450static void mpic_end_irq(unsigned int irq) 455static void mpic_end_irq(unsigned int irq)
@@ -512,8 +517,7 @@ static void mpic_end_ht_irq(unsigned int irq)
512 mpic_ht_end_irq(mpic, src); 517 mpic_ht_end_irq(mpic, src);
513 mpic_eoi(mpic); 518 mpic_eoi(mpic);
514} 519}
515 520#endif /* !CONFIG_MPIC_BROKEN_U3 */
516#endif /* CONFIG_MPIC_BROKEN_U3 */
517 521
518#ifdef CONFIG_SMP 522#ifdef CONFIG_SMP
519 523
@@ -560,47 +564,74 @@ static void mpic_set_affinity(unsigned int irq, cpumask_t cpumask)
560 mpic_physmask(cpus_addr(tmp)[0])); 564 mpic_physmask(cpus_addr(tmp)[0]));
561} 565}
562 566
563static unsigned int mpic_flags_to_vecpri(unsigned int flags, int *level) 567static unsigned int mpic_type_to_vecpri(unsigned int type)
564{ 568{
565 unsigned int vecpri;
566
567 /* Now convert sense value */ 569 /* Now convert sense value */
568 switch(flags & IRQ_TYPE_SENSE_MASK) { 570 switch(type & IRQ_TYPE_SENSE_MASK) {
569 case IRQ_TYPE_EDGE_RISING: 571 case IRQ_TYPE_EDGE_RISING:
570 vecpri = MPIC_VECPRI_SENSE_EDGE | 572 return MPIC_VECPRI_SENSE_EDGE | MPIC_VECPRI_POLARITY_POSITIVE;
571 MPIC_VECPRI_POLARITY_POSITIVE;
572 *level = 0;
573 break;
574 case IRQ_TYPE_EDGE_FALLING: 573 case IRQ_TYPE_EDGE_FALLING:
575 vecpri = MPIC_VECPRI_SENSE_EDGE | 574 case IRQ_TYPE_EDGE_BOTH:
576 MPIC_VECPRI_POLARITY_NEGATIVE; 575 return MPIC_VECPRI_SENSE_EDGE | MPIC_VECPRI_POLARITY_NEGATIVE;
577 *level = 0;
578 break;
579 case IRQ_TYPE_LEVEL_HIGH: 576 case IRQ_TYPE_LEVEL_HIGH:
580 vecpri = MPIC_VECPRI_SENSE_LEVEL | 577 return MPIC_VECPRI_SENSE_LEVEL | MPIC_VECPRI_POLARITY_POSITIVE;
581 MPIC_VECPRI_POLARITY_POSITIVE;
582 *level = 1;
583 break;
584 case IRQ_TYPE_LEVEL_LOW: 578 case IRQ_TYPE_LEVEL_LOW:
585 default: 579 default:
586 vecpri = MPIC_VECPRI_SENSE_LEVEL | 580 return MPIC_VECPRI_SENSE_LEVEL | MPIC_VECPRI_POLARITY_NEGATIVE;
587 MPIC_VECPRI_POLARITY_NEGATIVE;
588 *level = 1;
589 } 581 }
590 return vecpri; 582}
583
584static int mpic_set_irq_type(unsigned int virq, unsigned int flow_type)
585{
586 struct mpic *mpic = mpic_from_irq(virq);
587 unsigned int src = mpic_irq_to_hw(virq);
588 struct irq_desc *desc = get_irq_desc(virq);
589 unsigned int vecpri, vold, vnew;
590
591 DBG("mpic: set_irq_type(mpic:@%p,virq:%d,src:0x%x,type:0x%x)\n",
592 mpic, virq, src, flow_type);
593
594 if (src >= mpic->irq_count)
595 return -EINVAL;
596
597 if (flow_type == IRQ_TYPE_NONE)
598 if (mpic->senses && src < mpic->senses_count)
599 flow_type = mpic->senses[src];
600 if (flow_type == IRQ_TYPE_NONE)
601 flow_type = IRQ_TYPE_LEVEL_LOW;
602
603 desc->status &= ~(IRQ_TYPE_SENSE_MASK | IRQ_LEVEL);
604 desc->status |= flow_type & IRQ_TYPE_SENSE_MASK;
605 if (flow_type & (IRQ_TYPE_LEVEL_HIGH | IRQ_TYPE_LEVEL_LOW))
606 desc->status |= IRQ_LEVEL;
607
608 if (mpic_is_ht_interrupt(mpic, src))
609 vecpri = MPIC_VECPRI_POLARITY_POSITIVE |
610 MPIC_VECPRI_SENSE_EDGE;
611 else
612 vecpri = mpic_type_to_vecpri(flow_type);
613
614 vold = mpic_irq_read(src, MPIC_IRQ_VECTOR_PRI);
615 vnew = vold & ~(MPIC_VECPRI_POLARITY_MASK | MPIC_VECPRI_SENSE_MASK);
616 vnew |= vecpri;
617 if (vold != vnew)
618 mpic_irq_write(src, MPIC_IRQ_VECTOR_PRI, vnew);
619
620 return 0;
591} 621}
592 622
593static struct irq_chip mpic_irq_chip = { 623static struct irq_chip mpic_irq_chip = {
594 .mask = mpic_mask_irq, 624 .mask = mpic_mask_irq,
595 .unmask = mpic_unmask_irq, 625 .unmask = mpic_unmask_irq,
596 .eoi = mpic_end_irq, 626 .eoi = mpic_end_irq,
627 .set_type = mpic_set_irq_type,
597}; 628};
598 629
599#ifdef CONFIG_SMP 630#ifdef CONFIG_SMP
600static struct irq_chip mpic_ipi_chip = { 631static struct irq_chip mpic_ipi_chip = {
601 .mask = mpic_mask_ipi, 632 .mask = mpic_mask_ipi,
602 .unmask = mpic_unmask_ipi, 633 .unmask = mpic_unmask_ipi,
603 .eoi = mpic_end_ipi, 634 .eoi = mpic_end_ipi,
604}; 635};
605#endif /* CONFIG_SMP */ 636#endif /* CONFIG_SMP */
606 637
@@ -611,6 +642,7 @@ static struct irq_chip mpic_irq_ht_chip = {
611 .mask = mpic_mask_irq, 642 .mask = mpic_mask_irq,
612 .unmask = mpic_unmask_ht_irq, 643 .unmask = mpic_unmask_ht_irq,
613 .eoi = mpic_end_ht_irq, 644 .eoi = mpic_end_ht_irq,
645 .set_type = mpic_set_irq_type,
614}; 646};
615#endif /* CONFIG_MPIC_BROKEN_U3 */ 647#endif /* CONFIG_MPIC_BROKEN_U3 */
616 648
@@ -624,26 +656,21 @@ static int mpic_host_match(struct irq_host *h, struct device_node *node)
624} 656}
625 657
626static int mpic_host_map(struct irq_host *h, unsigned int virq, 658static int mpic_host_map(struct irq_host *h, unsigned int virq,
627 irq_hw_number_t hw, unsigned int flags) 659 irq_hw_number_t hw)
628{ 660{
629 struct irq_desc *desc = get_irq_desc(virq);
630 struct irq_chip *chip;
631 struct mpic *mpic = h->host_data; 661 struct mpic *mpic = h->host_data;
632 u32 v, vecpri = MPIC_VECPRI_SENSE_LEVEL | 662 struct irq_chip *chip;
633 MPIC_VECPRI_POLARITY_NEGATIVE;
634 int level;
635 unsigned long iflags;
636 663
637 pr_debug("mpic: map virq %d, hwirq 0x%lx, flags: 0x%x\n", 664 DBG("mpic: map virq %d, hwirq 0x%lx\n", virq, hw);
638 virq, hw, flags);
639 665
640 if (hw == MPIC_VEC_SPURRIOUS) 666 if (hw == MPIC_VEC_SPURRIOUS)
641 return -EINVAL; 667 return -EINVAL;
668
642#ifdef CONFIG_SMP 669#ifdef CONFIG_SMP
643 else if (hw >= MPIC_VEC_IPI_0) { 670 else if (hw >= MPIC_VEC_IPI_0) {
644 WARN_ON(!(mpic->flags & MPIC_PRIMARY)); 671 WARN_ON(!(mpic->flags & MPIC_PRIMARY));
645 672
646 pr_debug("mpic: mapping as IPI\n"); 673 DBG("mpic: mapping as IPI\n");
647 set_irq_chip_data(virq, mpic); 674 set_irq_chip_data(virq, mpic);
648 set_irq_chip_and_handler(virq, &mpic->hc_ipi, 675 set_irq_chip_and_handler(virq, &mpic->hc_ipi,
649 handle_percpu_irq); 676 handle_percpu_irq);
@@ -654,44 +681,23 @@ static int mpic_host_map(struct irq_host *h, unsigned int virq,
654 if (hw >= mpic->irq_count) 681 if (hw >= mpic->irq_count)
655 return -EINVAL; 682 return -EINVAL;
656 683
657 /* If no sense provided, check default sense array */ 684 /* Default chip */
658 if (((flags & IRQ_TYPE_SENSE_MASK) == IRQ_TYPE_NONE) &&
659 mpic->senses && hw < mpic->senses_count)
660 flags |= mpic->senses[hw];
661
662 vecpri = mpic_flags_to_vecpri(flags, &level);
663 if (level)
664 desc->status |= IRQ_LEVEL;
665 chip = &mpic->hc_irq; 685 chip = &mpic->hc_irq;
666 686
667#ifdef CONFIG_MPIC_BROKEN_U3 687#ifdef CONFIG_MPIC_BROKEN_U3
668 /* Check for HT interrupts, override vecpri */ 688 /* Check for HT interrupts, override vecpri */
669 if (mpic_is_ht_interrupt(mpic, hw)) { 689 if (mpic_is_ht_interrupt(mpic, hw))
670 vecpri &= ~(MPIC_VECPRI_SENSE_MASK |
671 MPIC_VECPRI_POLARITY_MASK);
672 vecpri |= MPIC_VECPRI_POLARITY_POSITIVE;
673 chip = &mpic->hc_ht_irq; 690 chip = &mpic->hc_ht_irq;
674 } 691#endif /* CONFIG_MPIC_BROKEN_U3 */
675#endif
676 692
677 /* Reconfigure irq. We must preserve the mask bit as we can be called 693 DBG("mpic: mapping to irq chip @%p\n", chip);
678 * while the interrupt is still active (This may change in the future
679 * but for now, it is the case).
680 */
681 spin_lock_irqsave(&mpic_lock, iflags);
682 v = mpic_irq_read(hw, MPIC_IRQ_VECTOR_PRI);
683 vecpri = (v &
684 ~(MPIC_VECPRI_POLARITY_MASK | MPIC_VECPRI_SENSE_MASK)) |
685 vecpri;
686 if (vecpri != v)
687 mpic_irq_write(hw, MPIC_IRQ_VECTOR_PRI, vecpri);
688 spin_unlock_irqrestore(&mpic_lock, iflags);
689
690 pr_debug("mpic: mapping as IRQ, vecpri = 0x%08x (was 0x%08x)\n",
691 vecpri, v);
692 694
693 set_irq_chip_data(virq, mpic); 695 set_irq_chip_data(virq, mpic);
694 set_irq_chip_and_handler(virq, chip, handle_fasteoi_irq); 696 set_irq_chip_and_handler(virq, chip, handle_fasteoi_irq);
697
698 /* Set default irq type */
699 set_irq_type(virq, IRQ_TYPE_NONE);
700
695 return 0; 701 return 0;
696} 702}
697 703
@@ -708,11 +714,28 @@ static int mpic_host_xlate(struct irq_host *h, struct device_node *ct,
708 }; 714 };
709 715
710 *out_hwirq = intspec[0]; 716 *out_hwirq = intspec[0];
711 if (intsize > 1 && intspec[1] < 4) 717 if (intsize > 1) {
712 *out_flags = map_mpic_senses[intspec[1]]; 718 u32 mask = 0x3;
713 else 719
720 /* Apple invented a new race of encoding on machines with
721 * an HT APIC. They encode, among others, the index within
722 * the HT APIC. We don't care about it here since thankfully,
723 * it appears that they have the APIC already properly
724 * configured, and thus our current fixup code that reads the
725 * APIC config works fine. However, we still need to mask out
726 * bits in the specifier to make sure we only get bit 0 which
727 * is the level/edge bit (the only sense bit exposed by Apple),
728 * as their bit 1 means something else.
729 */
730 if (machine_is(powermac))
731 mask = 0x1;
732 *out_flags = map_mpic_senses[intspec[1] & mask];
733 } else
714 *out_flags = IRQ_TYPE_NONE; 734 *out_flags = IRQ_TYPE_NONE;
715 735
736 DBG("mpic: xlate (%d cells: 0x%08x 0x%08x) to line 0x%lx sense 0x%x\n",
737 intsize, intspec[0], intspec[1], *out_hwirq, *out_flags);
738
716 return 0; 739 return 0;
717} 740}
718 741
@@ -906,41 +929,16 @@ void __init mpic_init(struct mpic *mpic)
906 if (mpic->irq_count == 0) 929 if (mpic->irq_count == 0)
907 mpic->irq_count = mpic->num_sources; 930 mpic->irq_count = mpic->num_sources;
908 931
909#ifdef CONFIG_MPIC_BROKEN_U3
910 /* Do the HT PIC fixups on U3 broken mpic */ 932 /* Do the HT PIC fixups on U3 broken mpic */
911 DBG("MPIC flags: %x\n", mpic->flags); 933 DBG("MPIC flags: %x\n", mpic->flags);
912 if ((mpic->flags & MPIC_BROKEN_U3) && (mpic->flags & MPIC_PRIMARY)) 934 if ((mpic->flags & MPIC_BROKEN_U3) && (mpic->flags & MPIC_PRIMARY))
913 mpic_scan_ht_pics(mpic); 935 mpic_scan_ht_pics(mpic);
914#endif /* CONFIG_MPIC_BROKEN_U3 */
915 936
916 for (i = 0; i < mpic->num_sources; i++) { 937 for (i = 0; i < mpic->num_sources; i++) {
917 /* start with vector = source number, and masked */ 938 /* start with vector = source number, and masked */
918 u32 vecpri = MPIC_VECPRI_MASK | i | (8 << MPIC_VECPRI_PRIORITY_SHIFT); 939 u32 vecpri = MPIC_VECPRI_MASK | i |
919 int level = 1; 940 (8 << MPIC_VECPRI_PRIORITY_SHIFT);
920 941
921 /* do senses munging */
922 if (mpic->senses && i < mpic->senses_count)
923 vecpri |= mpic_flags_to_vecpri(mpic->senses[i],
924 &level);
925 else
926 vecpri |= MPIC_VECPRI_SENSE_LEVEL;
927
928 /* deal with broken U3 */
929 if (mpic->flags & MPIC_BROKEN_U3) {
930#ifdef CONFIG_MPIC_BROKEN_U3
931 if (mpic_is_ht_interrupt(mpic, i)) {
932 vecpri &= ~(MPIC_VECPRI_SENSE_MASK |
933 MPIC_VECPRI_POLARITY_MASK);
934 vecpri |= MPIC_VECPRI_POLARITY_POSITIVE;
935 }
936#else
937 printk(KERN_ERR "mpic: BROKEN_U3 set, but CONFIG doesn't match\n");
938#endif
939 }
940
941 DBG("setup source %d, vecpri: %08x, level: %d\n", i, vecpri,
942 (level != 0));
943
944 /* init hw */ 942 /* init hw */
945 mpic_irq_write(i, MPIC_IRQ_VECTOR_PRI, vecpri); 943 mpic_irq_write(i, MPIC_IRQ_VECTOR_PRI, vecpri);
946 mpic_irq_write(i, MPIC_IRQ_DESTINATION, 944 mpic_irq_write(i, MPIC_IRQ_DESTINATION,
@@ -1154,7 +1152,7 @@ void mpic_request_ipis(void)
1154 1152
1155 for (i = 0; i < 4; i++) { 1153 for (i = 0; i < 4; i++) {
1156 unsigned int vipi = irq_create_mapping(mpic->irqhost, 1154 unsigned int vipi = irq_create_mapping(mpic->irqhost,
1157 MPIC_VEC_IPI_0 + i, 0); 1155 MPIC_VEC_IPI_0 + i);
1158 if (vipi == NO_IRQ) { 1156 if (vipi == NO_IRQ) {
1159 printk(KERN_ERR "Failed to map IPI %d\n", i); 1157 printk(KERN_ERR "Failed to map IPI %d\n", i);
1160 break; 1158 break;
diff --git a/arch/ppc/kernel/ppc_ksyms.c b/arch/ppc/kernel/ppc_ksyms.c
index 50c1b4739ca7..d1735401384c 100644
--- a/arch/ppc/kernel/ppc_ksyms.c
+++ b/arch/ppc/kernel/ppc_ksyms.c
@@ -5,7 +5,7 @@
5#include <linux/elfcore.h> 5#include <linux/elfcore.h>
6#include <linux/string.h> 6#include <linux/string.h>
7#include <linux/interrupt.h> 7#include <linux/interrupt.h>
8#include <linux/tty.h> 8#include <linux/screen_info.h>
9#include <linux/vt_kern.h> 9#include <linux/vt_kern.h>
10#include <linux/nvram.h> 10#include <linux/nvram.h>
11#include <linux/console.h> 11#include <linux/console.h>
diff --git a/arch/ppc/kernel/setup.c b/arch/ppc/kernel/setup.c
index faf2940300b0..a74f46d9826f 100644
--- a/arch/ppc/kernel/setup.c
+++ b/arch/ppc/kernel/setup.c
@@ -11,7 +11,7 @@
11#include <linux/delay.h> 11#include <linux/delay.h>
12#include <linux/initrd.h> 12#include <linux/initrd.h>
13#include <linux/ide.h> 13#include <linux/ide.h>
14#include <linux/tty.h> 14#include <linux/screen_info.h>
15#include <linux/bootmem.h> 15#include <linux/bootmem.h>
16#include <linux/seq_file.h> 16#include <linux/seq_file.h>
17#include <linux/root_dev.h> 17#include <linux/root_dev.h>
diff --git a/arch/ppc/kernel/vmlinux.lds.S b/arch/ppc/kernel/vmlinux.lds.S
index 09c6525cfa61..095fd3323323 100644
--- a/arch/ppc/kernel/vmlinux.lds.S
+++ b/arch/ppc/kernel/vmlinux.lds.S
@@ -8,6 +8,7 @@ SECTIONS
8 . = + SIZEOF_HEADERS; 8 . = + SIZEOF_HEADERS;
9 .interp : { *(.interp) } 9 .interp : { *(.interp) }
10 .hash : { *(.hash) } 10 .hash : { *(.hash) }
11 .gnu.hash : { *(.gnu.hash) }
11 .dynsym : { *(.dynsym) } 12 .dynsym : { *(.dynsym) }
12 .dynstr : { *(.dynstr) } 13 .dynstr : { *(.dynstr) }
13 .rel.text : { *(.rel.text) } 14 .rel.text : { *(.rel.text) }
diff --git a/arch/ppc/platforms/prep_setup.c b/arch/ppc/platforms/prep_setup.c
index 6436beffdc96..1cb75a1f825e 100644
--- a/arch/ppc/platforms/prep_setup.c
+++ b/arch/ppc/platforms/prep_setup.c
@@ -23,7 +23,7 @@
23#include <linux/slab.h> 23#include <linux/slab.h>
24#include <linux/user.h> 24#include <linux/user.h>
25#include <linux/a.out.h> 25#include <linux/a.out.h>
26#include <linux/tty.h> 26#include <linux/screen_info.h>
27#include <linux/major.h> 27#include <linux/major.h>
28#include <linux/interrupt.h> 28#include <linux/interrupt.h>
29#include <linux/reboot.h> 29#include <linux/reboot.h>
diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig
index 224fbff79969..ae071a11ce71 100644
--- a/arch/s390/Kconfig
+++ b/arch/s390/Kconfig
@@ -118,13 +118,6 @@ config SYSVIPC_COMPAT
118 depends on COMPAT && SYSVIPC 118 depends on COMPAT && SYSVIPC
119 default y 119 default y
120 120
121config BINFMT_ELF32
122 tristate "Kernel support for 31 bit ELF binaries"
123 depends on COMPAT
124 help
125 This allows you to run 32-bit Linux/ELF binaries on your zSeries
126 in 64 bit mode. Everybody wants this; say Y.
127
128comment "Code generation options" 121comment "Code generation options"
129 122
130choice 123choice
diff --git a/arch/s390/appldata/appldata_base.c b/arch/s390/appldata/appldata_base.c
index d0f82c995af6..6a4b5f9715c9 100644
--- a/arch/s390/appldata/appldata_base.c
+++ b/arch/s390/appldata/appldata_base.c
@@ -617,7 +617,8 @@ appldata_offline_cpu(int cpu)
617 spin_unlock(&appldata_timer_lock); 617 spin_unlock(&appldata_timer_lock);
618} 618}
619 619
620static int __cpuinit 620#ifdef CONFIG_HOTPLUG_CPU
621static int
621appldata_cpu_notify(struct notifier_block *self, 622appldata_cpu_notify(struct notifier_block *self,
622 unsigned long action, void *hcpu) 623 unsigned long action, void *hcpu)
623{ 624{
@@ -625,20 +626,19 @@ appldata_cpu_notify(struct notifier_block *self,
625 case CPU_ONLINE: 626 case CPU_ONLINE:
626 appldata_online_cpu((long) hcpu); 627 appldata_online_cpu((long) hcpu);
627 break; 628 break;
628#ifdef CONFIG_HOTPLUG_CPU
629 case CPU_DEAD: 629 case CPU_DEAD:
630 appldata_offline_cpu((long) hcpu); 630 appldata_offline_cpu((long) hcpu);
631 break; 631 break;
632#endif
633 default: 632 default:
634 break; 633 break;
635 } 634 }
636 return NOTIFY_OK; 635 return NOTIFY_OK;
637} 636}
638 637
639static struct notifier_block __devinitdata appldata_nb = { 638static struct notifier_block appldata_nb = {
640 .notifier_call = appldata_cpu_notify, 639 .notifier_call = appldata_cpu_notify,
641}; 640};
641#endif
642 642
643/* 643/*
644 * appldata_init() 644 * appldata_init()
@@ -662,7 +662,7 @@ static int __init appldata_init(void)
662 appldata_online_cpu(i); 662 appldata_online_cpu(i);
663 663
664 /* Register cpu hotplug notifier */ 664 /* Register cpu hotplug notifier */
665 register_cpu_notifier(&appldata_nb); 665 register_hotcpu_notifier(&appldata_nb);
666 666
667 appldata_sysctl_header = register_sysctl_table(appldata_dir_table, 1); 667 appldata_sysctl_header = register_sysctl_table(appldata_dir_table, 1);
668#ifdef MODULE 668#ifdef MODULE
diff --git a/arch/s390/defconfig b/arch/s390/defconfig
index f4dfc10026d2..f1d4591eddbb 100644
--- a/arch/s390/defconfig
+++ b/arch/s390/defconfig
@@ -1,13 +1,16 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.17-rc1 3# Linux kernel version: 2.6.18-rc2
4# Mon Apr 3 14:34:15 2006 4# Thu Jul 27 13:51:07 2006
5# 5#
6CONFIG_MMU=y 6CONFIG_MMU=y
7CONFIG_LOCKDEP_SUPPORT=y
8CONFIG_STACKTRACE_SUPPORT=y
7CONFIG_RWSEM_XCHGADD_ALGORITHM=y 9CONFIG_RWSEM_XCHGADD_ALGORITHM=y
8CONFIG_GENERIC_HWEIGHT=y 10CONFIG_GENERIC_HWEIGHT=y
9CONFIG_GENERIC_CALIBRATE_DELAY=y 11CONFIG_GENERIC_CALIBRATE_DELAY=y
10CONFIG_S390=y 12CONFIG_S390=y
13CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
11 14
12# 15#
13# Code maturity level options 16# Code maturity level options
@@ -25,6 +28,7 @@ CONFIG_SWAP=y
25CONFIG_SYSVIPC=y 28CONFIG_SYSVIPC=y
26CONFIG_POSIX_MQUEUE=y 29CONFIG_POSIX_MQUEUE=y
27# CONFIG_BSD_PROCESS_ACCT is not set 30# CONFIG_BSD_PROCESS_ACCT is not set
31# CONFIG_TASKSTATS is not set
28CONFIG_SYSCTL=y 32CONFIG_SYSCTL=y
29CONFIG_AUDIT=y 33CONFIG_AUDIT=y
30# CONFIG_AUDITSYSCALL is not set 34# CONFIG_AUDITSYSCALL is not set
@@ -43,10 +47,12 @@ CONFIG_PRINTK=y
43CONFIG_BUG=y 47CONFIG_BUG=y
44CONFIG_ELF_CORE=y 48CONFIG_ELF_CORE=y
45CONFIG_BASE_FULL=y 49CONFIG_BASE_FULL=y
50CONFIG_RT_MUTEXES=y
46CONFIG_FUTEX=y 51CONFIG_FUTEX=y
47CONFIG_EPOLL=y 52CONFIG_EPOLL=y
48CONFIG_SHMEM=y 53CONFIG_SHMEM=y
49CONFIG_SLAB=y 54CONFIG_SLAB=y
55CONFIG_VM_EVENT_COUNTERS=y
50# CONFIG_TINY_SHMEM is not set 56# CONFIG_TINY_SHMEM is not set
51CONFIG_BASE_SMALL=0 57CONFIG_BASE_SMALL=0
52# CONFIG_SLOB is not set 58# CONFIG_SLOB is not set
@@ -94,7 +100,6 @@ CONFIG_HOTPLUG_CPU=y
94CONFIG_DEFAULT_MIGRATION_COST=1000000 100CONFIG_DEFAULT_MIGRATION_COST=1000000
95CONFIG_COMPAT=y 101CONFIG_COMPAT=y
96CONFIG_SYSVIPC_COMPAT=y 102CONFIG_SYSVIPC_COMPAT=y
97CONFIG_BINFMT_ELF32=y
98 103
99# 104#
100# Code generation options 105# Code generation options
@@ -115,6 +120,7 @@ CONFIG_FLATMEM=y
115CONFIG_FLAT_NODE_MEM_MAP=y 120CONFIG_FLAT_NODE_MEM_MAP=y
116# CONFIG_SPARSEMEM_STATIC is not set 121# CONFIG_SPARSEMEM_STATIC is not set
117CONFIG_SPLIT_PTLOCK_CPUS=4 122CONFIG_SPLIT_PTLOCK_CPUS=4
123CONFIG_RESOURCES_64BIT=y
118 124
119# 125#
120# I/O subsystem configuration 126# I/O subsystem configuration
@@ -142,6 +148,7 @@ CONFIG_VIRT_CPU_ACCOUNTING=y
142# CONFIG_APPLDATA_BASE is not set 148# CONFIG_APPLDATA_BASE is not set
143CONFIG_NO_IDLE_HZ=y 149CONFIG_NO_IDLE_HZ=y
144CONFIG_NO_IDLE_HZ_INIT=y 150CONFIG_NO_IDLE_HZ_INIT=y
151CONFIG_S390_HYPFS_FS=y
145CONFIG_KEXEC=y 152CONFIG_KEXEC=y
146 153
147# 154#
@@ -174,6 +181,8 @@ CONFIG_IP_FIB_HASH=y
174# CONFIG_INET_IPCOMP is not set 181# CONFIG_INET_IPCOMP is not set
175# CONFIG_INET_XFRM_TUNNEL is not set 182# CONFIG_INET_XFRM_TUNNEL is not set
176# CONFIG_INET_TUNNEL is not set 183# CONFIG_INET_TUNNEL is not set
184CONFIG_INET_XFRM_MODE_TRANSPORT=y
185CONFIG_INET_XFRM_MODE_TUNNEL=y
177CONFIG_INET_DIAG=y 186CONFIG_INET_DIAG=y
178CONFIG_INET_TCP_DIAG=y 187CONFIG_INET_TCP_DIAG=y
179# CONFIG_TCP_CONG_ADVANCED is not set 188# CONFIG_TCP_CONG_ADVANCED is not set
@@ -186,7 +195,10 @@ CONFIG_IPV6=y
186# CONFIG_INET6_IPCOMP is not set 195# CONFIG_INET6_IPCOMP is not set
187# CONFIG_INET6_XFRM_TUNNEL is not set 196# CONFIG_INET6_XFRM_TUNNEL is not set
188# CONFIG_INET6_TUNNEL is not set 197# CONFIG_INET6_TUNNEL is not set
198CONFIG_INET6_XFRM_MODE_TRANSPORT=y
199CONFIG_INET6_XFRM_MODE_TUNNEL=y
189# CONFIG_IPV6_TUNNEL is not set 200# CONFIG_IPV6_TUNNEL is not set
201# CONFIG_NETWORK_SECMARK is not set
190# CONFIG_NETFILTER is not set 202# CONFIG_NETFILTER is not set
191 203
192# 204#
@@ -263,6 +275,7 @@ CONFIG_NET_ESTIMATOR=y
263# Network testing 275# Network testing
264# 276#
265# CONFIG_NET_PKTGEN is not set 277# CONFIG_NET_PKTGEN is not set
278# CONFIG_NET_TCPPROBE is not set
266# CONFIG_HAMRADIO is not set 279# CONFIG_HAMRADIO is not set
267# CONFIG_IRDA is not set 280# CONFIG_IRDA is not set
268# CONFIG_BT is not set 281# CONFIG_BT is not set
@@ -276,6 +289,7 @@ CONFIG_STANDALONE=y
276CONFIG_PREVENT_FIRMWARE_BUILD=y 289CONFIG_PREVENT_FIRMWARE_BUILD=y
277# CONFIG_FW_LOADER is not set 290# CONFIG_FW_LOADER is not set
278# CONFIG_DEBUG_DRIVER is not set 291# CONFIG_DEBUG_DRIVER is not set
292CONFIG_SYS_HYPERVISOR=y
279 293
280# 294#
281# Connector - unified userspace <-> kernelspace linker 295# Connector - unified userspace <-> kernelspace linker
@@ -334,6 +348,7 @@ CONFIG_BLK_DEV_NBD=m
334CONFIG_BLK_DEV_RAM=y 348CONFIG_BLK_DEV_RAM=y
335CONFIG_BLK_DEV_RAM_COUNT=16 349CONFIG_BLK_DEV_RAM_COUNT=16
336CONFIG_BLK_DEV_RAM_SIZE=4096 350CONFIG_BLK_DEV_RAM_SIZE=4096
351CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
337CONFIG_BLK_DEV_INITRD=y 352CONFIG_BLK_DEV_INITRD=y
338# CONFIG_CDROM_PKTCDVD is not set 353# CONFIG_CDROM_PKTCDVD is not set
339 354
@@ -359,9 +374,7 @@ CONFIG_MD_LINEAR=m
359CONFIG_MD_RAID0=m 374CONFIG_MD_RAID0=m
360CONFIG_MD_RAID1=m 375CONFIG_MD_RAID1=m
361# CONFIG_MD_RAID10 is not set 376# CONFIG_MD_RAID10 is not set
362CONFIG_MD_RAID5=m 377# CONFIG_MD_RAID456 is not set
363# CONFIG_MD_RAID5_RESHAPE is not set
364# CONFIG_MD_RAID6 is not set
365CONFIG_MD_MULTIPATH=m 378CONFIG_MD_MULTIPATH=m
366# CONFIG_MD_FAULTY is not set 379# CONFIG_MD_FAULTY is not set
367CONFIG_BLK_DEV_DM=y 380CONFIG_BLK_DEV_DM=y
@@ -419,7 +432,8 @@ CONFIG_S390_TAPE_34XX=m
419# 432#
420# Cryptographic devices 433# Cryptographic devices
421# 434#
422CONFIG_Z90CRYPT=m 435CONFIG_ZCRYPT=m
436# CONFIG_ZCRYPT_MONOLITHIC is not set
423 437
424# 438#
425# Network device support 439# Network device support
@@ -509,6 +523,7 @@ CONFIG_FS_MBCACHE=y
509# CONFIG_MINIX_FS is not set 523# CONFIG_MINIX_FS is not set
510# CONFIG_ROMFS_FS is not set 524# CONFIG_ROMFS_FS is not set
511CONFIG_INOTIFY=y 525CONFIG_INOTIFY=y
526CONFIG_INOTIFY_USER=y
512# CONFIG_QUOTA is not set 527# CONFIG_QUOTA is not set
513CONFIG_DNOTIFY=y 528CONFIG_DNOTIFY=y
514# CONFIG_AUTOFS_FS is not set 529# CONFIG_AUTOFS_FS is not set
@@ -614,26 +629,36 @@ CONFIG_MSDOS_PARTITION=y
614# Instrumentation Support 629# Instrumentation Support
615# 630#
616# CONFIG_PROFILING is not set 631# CONFIG_PROFILING is not set
617# CONFIG_STATISTICS is not set 632CONFIG_STATISTICS=y
633CONFIG_KPROBES=y
618 634
619# 635#
620# Kernel hacking 636# Kernel hacking
621# 637#
638CONFIG_TRACE_IRQFLAGS_SUPPORT=y
622# CONFIG_PRINTK_TIME is not set 639# CONFIG_PRINTK_TIME is not set
623CONFIG_MAGIC_SYSRQ=y 640CONFIG_MAGIC_SYSRQ=y
641# CONFIG_UNUSED_SYMBOLS is not set
624CONFIG_DEBUG_KERNEL=y 642CONFIG_DEBUG_KERNEL=y
625CONFIG_LOG_BUF_SHIFT=17 643CONFIG_LOG_BUF_SHIFT=17
626# CONFIG_DETECT_SOFTLOCKUP is not set 644# CONFIG_DETECT_SOFTLOCKUP is not set
627# CONFIG_SCHEDSTATS is not set 645# CONFIG_SCHEDSTATS is not set
628# CONFIG_DEBUG_SLAB is not set 646# CONFIG_DEBUG_SLAB is not set
629CONFIG_DEBUG_PREEMPT=y 647CONFIG_DEBUG_PREEMPT=y
630CONFIG_DEBUG_MUTEXES=y 648# CONFIG_DEBUG_RT_MUTEXES is not set
649# CONFIG_RT_MUTEX_TESTER is not set
631CONFIG_DEBUG_SPINLOCK=y 650CONFIG_DEBUG_SPINLOCK=y
651CONFIG_DEBUG_MUTEXES=y
652# CONFIG_DEBUG_RWSEMS is not set
653# CONFIG_DEBUG_LOCK_ALLOC is not set
654# CONFIG_PROVE_LOCKING is not set
632CONFIG_DEBUG_SPINLOCK_SLEEP=y 655CONFIG_DEBUG_SPINLOCK_SLEEP=y
656# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
633# CONFIG_DEBUG_KOBJECT is not set 657# CONFIG_DEBUG_KOBJECT is not set
634# CONFIG_DEBUG_INFO is not set 658# CONFIG_DEBUG_INFO is not set
635CONFIG_DEBUG_FS=y 659CONFIG_DEBUG_FS=y
636# CONFIG_DEBUG_VM is not set 660# CONFIG_DEBUG_VM is not set
661# CONFIG_FRAME_POINTER is not set
637# CONFIG_UNWIND_INFO is not set 662# CONFIG_UNWIND_INFO is not set
638CONFIG_FORCED_INLINING=y 663CONFIG_FORCED_INLINING=y
639# CONFIG_RCU_TORTURE_TEST is not set 664# CONFIG_RCU_TORTURE_TEST is not set
@@ -688,3 +713,4 @@ CONFIG_CRYPTO=y
688# CONFIG_CRC16 is not set 713# CONFIG_CRC16 is not set
689CONFIG_CRC32=m 714CONFIG_CRC32=m
690# CONFIG_LIBCRC32C is not set 715# CONFIG_LIBCRC32C is not set
716CONFIG_PLIST=y
diff --git a/arch/s390/hypfs/hypfs_diag.c b/arch/s390/hypfs/hypfs_diag.c
index efa74af7f04a..1785bce2b919 100644
--- a/arch/s390/hypfs/hypfs_diag.c
+++ b/arch/s390/hypfs/hypfs_diag.c
@@ -403,7 +403,7 @@ static void *diag204_get_buffer(enum diag204_format fmt, int *pages)
403 *pages = 1; 403 *pages = 1;
404 return diag204_alloc_rbuf(); 404 return diag204_alloc_rbuf();
405 } else {/* INFO_EXT */ 405 } else {/* INFO_EXT */
406 *pages = diag204(SUBC_RSI | INFO_EXT, 0, 0); 406 *pages = diag204(SUBC_RSI | INFO_EXT, 0, NULL);
407 if (*pages <= 0) 407 if (*pages <= 0)
408 return ERR_PTR(-ENOSYS); 408 return ERR_PTR(-ENOSYS);
409 else 409 else
diff --git a/arch/s390/kernel/Makefile b/arch/s390/kernel/Makefile
index eabf00a6f770..86601a945709 100644
--- a/arch/s390/kernel/Makefile
+++ b/arch/s390/kernel/Makefile
@@ -17,8 +17,8 @@ obj-$(CONFIG_MODULES) += s390_ksyms.o module.o
17obj-$(CONFIG_SMP) += smp.o 17obj-$(CONFIG_SMP) += smp.o
18 18
19obj-$(CONFIG_COMPAT) += compat_linux.o compat_signal.o \ 19obj-$(CONFIG_COMPAT) += compat_linux.o compat_signal.o \
20 compat_wrapper.o compat_exec_domain.o 20 compat_wrapper.o compat_exec_domain.o \
21obj-$(CONFIG_BINFMT_ELF32) += binfmt_elf32.o 21 binfmt_elf32.o
22 22
23obj-$(CONFIG_VIRT_TIMER) += vtime.o 23obj-$(CONFIG_VIRT_TIMER) += vtime.o
24obj-$(CONFIG_STACKTRACE) += stacktrace.o 24obj-$(CONFIG_STACKTRACE) += stacktrace.o
diff --git a/arch/s390/kernel/compat_linux.c b/arch/s390/kernel/compat_linux.c
index cabb4ff54cd7..785c9f70ac98 100644
--- a/arch/s390/kernel/compat_linux.c
+++ b/arch/s390/kernel/compat_linux.c
@@ -409,7 +409,7 @@ asmlinkage long sys32_sysinfo(struct sysinfo32 __user *info)
409 mm_segment_t old_fs = get_fs (); 409 mm_segment_t old_fs = get_fs ();
410 410
411 set_fs (KERNEL_DS); 411 set_fs (KERNEL_DS);
412 ret = sys_sysinfo(&s); 412 ret = sys_sysinfo((struct sysinfo __user *) &s);
413 set_fs (old_fs); 413 set_fs (old_fs);
414 err = put_user (s.uptime, &info->uptime); 414 err = put_user (s.uptime, &info->uptime);
415 err |= __put_user (s.loads[0], &info->loads[0]); 415 err |= __put_user (s.loads[0], &info->loads[0]);
@@ -438,7 +438,7 @@ asmlinkage long sys32_sched_rr_get_interval(compat_pid_t pid,
438 mm_segment_t old_fs = get_fs (); 438 mm_segment_t old_fs = get_fs ();
439 439
440 set_fs (KERNEL_DS); 440 set_fs (KERNEL_DS);
441 ret = sys_sched_rr_get_interval(pid, &t); 441 ret = sys_sched_rr_get_interval(pid, (struct timespec __user *) &t);
442 set_fs (old_fs); 442 set_fs (old_fs);
443 if (put_compat_timespec(&t, interval)) 443 if (put_compat_timespec(&t, interval))
444 return -EFAULT; 444 return -EFAULT;
@@ -464,7 +464,10 @@ asmlinkage long sys32_rt_sigprocmask(int how, compat_sigset_t __user *set,
464 } 464 }
465 } 465 }
466 set_fs (KERNEL_DS); 466 set_fs (KERNEL_DS);
467 ret = sys_rt_sigprocmask(how, set ? &s : NULL, oset ? &s : NULL, sigsetsize); 467 ret = sys_rt_sigprocmask(how,
468 set ? (sigset_t __user *) &s : NULL,
469 oset ? (sigset_t __user *) &s : NULL,
470 sigsetsize);
468 set_fs (old_fs); 471 set_fs (old_fs);
469 if (ret) return ret; 472 if (ret) return ret;
470 if (oset) { 473 if (oset) {
@@ -489,7 +492,7 @@ asmlinkage long sys32_rt_sigpending(compat_sigset_t __user *set,
489 mm_segment_t old_fs = get_fs(); 492 mm_segment_t old_fs = get_fs();
490 493
491 set_fs (KERNEL_DS); 494 set_fs (KERNEL_DS);
492 ret = sys_rt_sigpending(&s, sigsetsize); 495 ret = sys_rt_sigpending((sigset_t __user *) &s, sigsetsize);
493 set_fs (old_fs); 496 set_fs (old_fs);
494 if (!ret) { 497 if (!ret) {
495 switch (_NSIG_WORDS) { 498 switch (_NSIG_WORDS) {
@@ -514,7 +517,7 @@ sys32_rt_sigqueueinfo(int pid, int sig, compat_siginfo_t __user *uinfo)
514 if (copy_siginfo_from_user32(&info, uinfo)) 517 if (copy_siginfo_from_user32(&info, uinfo))
515 return -EFAULT; 518 return -EFAULT;
516 set_fs (KERNEL_DS); 519 set_fs (KERNEL_DS);
517 ret = sys_rt_sigqueueinfo(pid, sig, &info); 520 ret = sys_rt_sigqueueinfo(pid, sig, (siginfo_t __user *) &info);
518 set_fs (old_fs); 521 set_fs (old_fs);
519 return ret; 522 return ret;
520} 523}
@@ -674,7 +677,8 @@ asmlinkage long sys32_sendfile(int out_fd, int in_fd, compat_off_t __user *offse
674 return -EFAULT; 677 return -EFAULT;
675 678
676 set_fs(KERNEL_DS); 679 set_fs(KERNEL_DS);
677 ret = sys_sendfile(out_fd, in_fd, offset ? &of : NULL, count); 680 ret = sys_sendfile(out_fd, in_fd,
681 offset ? (off_t __user *) &of : NULL, count);
678 set_fs(old_fs); 682 set_fs(old_fs);
679 683
680 if (offset && put_user(of, offset)) 684 if (offset && put_user(of, offset))
@@ -694,7 +698,8 @@ asmlinkage long sys32_sendfile64(int out_fd, int in_fd,
694 return -EFAULT; 698 return -EFAULT;
695 699
696 set_fs(KERNEL_DS); 700 set_fs(KERNEL_DS);
697 ret = sys_sendfile64(out_fd, in_fd, offset ? &lof : NULL, count); 701 ret = sys_sendfile64(out_fd, in_fd,
702 offset ? (loff_t __user *) &lof : NULL, count);
698 set_fs(old_fs); 703 set_fs(old_fs);
699 704
700 if (offset && put_user(lof, offset)) 705 if (offset && put_user(lof, offset))
diff --git a/arch/s390/kernel/head31.S b/arch/s390/kernel/head31.S
index d00de17b3778..a4dc61f3285e 100644
--- a/arch/s390/kernel/head31.S
+++ b/arch/s390/kernel/head31.S
@@ -273,7 +273,7 @@ startup_continue:
273.Lbss_end: .long _end 273.Lbss_end: .long _end
274.Lparmaddr: .long PARMAREA 274.Lparmaddr: .long PARMAREA
275.Lsccbaddr: .long .Lsccb 275.Lsccbaddr: .long .Lsccb
276 .align 4096 276 .org 0x12000
277.Lsccb: 277.Lsccb:
278 .hword 0x1000 # length, one page 278 .hword 0x1000 # length, one page
279 .byte 0x00,0x00,0x00 279 .byte 0x00,0x00,0x00
@@ -290,7 +290,7 @@ startup_continue:
290.Lscpincr2: 290.Lscpincr2:
291 .quad 0x00 291 .quad 0x00
292 .fill 3984,1,0 292 .fill 3984,1,0
293 .align 4096 293 .org 0x13000
294 294
295#ifdef CONFIG_SHARED_KERNEL 295#ifdef CONFIG_SHARED_KERNEL
296 .org 0x100000 296 .org 0x100000
diff --git a/arch/s390/kernel/head64.S b/arch/s390/kernel/head64.S
index 47744fcca930..9d80c5b1ef95 100644
--- a/arch/s390/kernel/head64.S
+++ b/arch/s390/kernel/head64.S
@@ -268,7 +268,7 @@ startup_continue:
268.Lparmaddr: 268.Lparmaddr:
269 .quad PARMAREA 269 .quad PARMAREA
270 270
271 .align 4096 271 .org 0x12000
272.Lsccb: 272.Lsccb:
273 .hword 0x1000 # length, one page 273 .hword 0x1000 # length, one page
274 .byte 0x00,0x00,0x00 274 .byte 0x00,0x00,0x00
@@ -285,7 +285,7 @@ startup_continue:
285.Lscpincr2: 285.Lscpincr2:
286 .quad 0x00 286 .quad 0x00
287 .fill 3984,1,0 287 .fill 3984,1,0
288 .align 4096 288 .org 0x13000
289 289
290#ifdef CONFIG_SHARED_KERNEL 290#ifdef CONFIG_SHARED_KERNEL
291 .org 0x100000 291 .org 0x100000
diff --git a/arch/s390/kernel/machine_kexec.c b/arch/s390/kernel/machine_kexec.c
index fbde6a915264..60b1ea9f946b 100644
--- a/arch/s390/kernel/machine_kexec.c
+++ b/arch/s390/kernel/machine_kexec.c
@@ -63,6 +63,7 @@ NORET_TYPE void
63machine_kexec(struct kimage *image) 63machine_kexec(struct kimage *image)
64{ 64{
65 clear_all_subchannels(); 65 clear_all_subchannels();
66 cio_reset_channel_paths();
66 67
67 /* Disable lowcore protection */ 68 /* Disable lowcore protection */
68 ctl_clear_bit(0,28); 69 ctl_clear_bit(0,28);
diff --git a/arch/s390/kernel/module.c b/arch/s390/kernel/module.c
index c271cdab58e2..d989ed45a7aa 100644
--- a/arch/s390/kernel/module.c
+++ b/arch/s390/kernel/module.c
@@ -119,7 +119,7 @@ module_frob_arch_sections(Elf_Ehdr *hdr, Elf_Shdr *sechdrs,
119 int nrela, i, j; 119 int nrela, i, j;
120 120
121 /* Find symbol table and string table. */ 121 /* Find symbol table and string table. */
122 symtab = 0; 122 symtab = NULL;
123 for (i = 0; i < hdr->e_shnum; i++) 123 for (i = 0; i < hdr->e_shnum; i++)
124 switch (sechdrs[i].sh_type) { 124 switch (sechdrs[i].sh_type) {
125 case SHT_SYMTAB: 125 case SHT_SYMTAB:
diff --git a/arch/s390/kernel/process.c b/arch/s390/kernel/process.c
index 78c8e5548caf..d3cbfa3005ec 100644
--- a/arch/s390/kernel/process.c
+++ b/arch/s390/kernel/process.c
@@ -172,7 +172,7 @@ void show_regs(struct pt_regs *regs)
172 show_registers(regs); 172 show_registers(regs);
173 /* Show stack backtrace if pt_regs is from kernel mode */ 173 /* Show stack backtrace if pt_regs is from kernel mode */
174 if (!(regs->psw.mask & PSW_MASK_PSTATE)) 174 if (!(regs->psw.mask & PSW_MASK_PSTATE))
175 show_trace(0,(unsigned long *) regs->gprs[15]); 175 show_trace(NULL, (unsigned long *) regs->gprs[15]);
176} 176}
177 177
178extern void kernel_thread_starter(void); 178extern void kernel_thread_starter(void);
diff --git a/arch/s390/kernel/profile.c b/arch/s390/kernel/profile.c
index 7ba777eec1a8..b81aa1f569ca 100644
--- a/arch/s390/kernel/profile.c
+++ b/arch/s390/kernel/profile.c
@@ -13,7 +13,7 @@ static struct proc_dir_entry * root_irq_dir;
13void init_irq_proc(void) 13void init_irq_proc(void)
14{ 14{
15 /* create /proc/irq */ 15 /* create /proc/irq */
16 root_irq_dir = proc_mkdir("irq", 0); 16 root_irq_dir = proc_mkdir("irq", NULL);
17 17
18 /* create /proc/irq/prof_cpu_mask */ 18 /* create /proc/irq/prof_cpu_mask */
19 create_prof_cpu_mask(root_irq_dir); 19 create_prof_cpu_mask(root_irq_dir);
diff --git a/arch/s390/kernel/s390_ext.c b/arch/s390/kernel/s390_ext.c
index 207bc511a6e3..c1b383537fec 100644
--- a/arch/s390/kernel/s390_ext.c
+++ b/arch/s390/kernel/s390_ext.c
@@ -24,7 +24,7 @@
24 * (0x1202 external call, 0x1004 cpu timer, 0x2401 hwc console, 0x4000 24 * (0x1202 external call, 0x1004 cpu timer, 0x2401 hwc console, 0x4000
25 * iucv and 0x2603 pfault) this is always the first element. 25 * iucv and 0x2603 pfault) this is always the first element.
26 */ 26 */
27ext_int_info_t *ext_int_hash[256] = { 0, }; 27ext_int_info_t *ext_int_hash[256] = { NULL, };
28 28
29static inline int ext_hash(__u16 code) 29static inline int ext_hash(__u16 code)
30{ 30{
diff --git a/arch/s390/kernel/setup.c b/arch/s390/kernel/setup.c
index 1ca34f54ea8a..c902f059c7aa 100644
--- a/arch/s390/kernel/setup.c
+++ b/arch/s390/kernel/setup.c
@@ -877,31 +877,57 @@ static struct bin_attribute ipl_scp_data_attr = {
877 877
878static decl_subsys(ipl, NULL, NULL); 878static decl_subsys(ipl, NULL, NULL);
879 879
880static int ipl_register_fcp_files(void)
881{
882 int rc;
883
884 rc = sysfs_create_group(&ipl_subsys.kset.kobj,
885 &ipl_fcp_attr_group);
886 if (rc)
887 goto out;
888 rc = sysfs_create_bin_file(&ipl_subsys.kset.kobj,
889 &ipl_parameter_attr);
890 if (rc)
891 goto out_ipl_parm;
892 rc = sysfs_create_bin_file(&ipl_subsys.kset.kobj,
893 &ipl_scp_data_attr);
894 if (!rc)
895 goto out;
896
897 sysfs_remove_bin_file(&ipl_subsys.kset.kobj, &ipl_parameter_attr);
898
899out_ipl_parm:
900 sysfs_remove_group(&ipl_subsys.kset.kobj, &ipl_fcp_attr_group);
901out:
902 return rc;
903}
904
880static int __init 905static int __init
881ipl_device_sysfs_register(void) { 906ipl_device_sysfs_register(void) {
882 int rc; 907 int rc;
883 908
884 rc = firmware_register(&ipl_subsys); 909 rc = firmware_register(&ipl_subsys);
885 if (rc) 910 if (rc)
886 return rc; 911 goto out;
887 912
888 switch (get_ipl_type()) { 913 switch (get_ipl_type()) {
889 case ipl_type_ccw: 914 case ipl_type_ccw:
890 sysfs_create_group(&ipl_subsys.kset.kobj, &ipl_ccw_attr_group); 915 rc = sysfs_create_group(&ipl_subsys.kset.kobj,
916 &ipl_ccw_attr_group);
891 break; 917 break;
892 case ipl_type_fcp: 918 case ipl_type_fcp:
893 sysfs_create_group(&ipl_subsys.kset.kobj, &ipl_fcp_attr_group); 919 rc = ipl_register_fcp_files();
894 sysfs_create_bin_file(&ipl_subsys.kset.kobj,
895 &ipl_parameter_attr);
896 sysfs_create_bin_file(&ipl_subsys.kset.kobj,
897 &ipl_scp_data_attr);
898 break; 920 break;
899 default: 921 default:
900 sysfs_create_group(&ipl_subsys.kset.kobj, 922 rc = sysfs_create_group(&ipl_subsys.kset.kobj,
901 &ipl_unknown_attr_group); 923 &ipl_unknown_attr_group);
902 break; 924 break;
903 } 925 }
904 return 0; 926
927 if (rc)
928 firmware_unregister(&ipl_subsys);
929out:
930 return rc;
905} 931}
906 932
907__initcall(ipl_device_sysfs_register); 933__initcall(ipl_device_sysfs_register);
diff --git a/arch/s390/kernel/time.c b/arch/s390/kernel/time.c
index f7fe9bc43397..74e6178fbaf2 100644
--- a/arch/s390/kernel/time.c
+++ b/arch/s390/kernel/time.c
@@ -379,7 +379,7 @@ void __init time_init(void)
379 -xtime.tv_sec, -xtime.tv_nsec); 379 -xtime.tv_sec, -xtime.tv_nsec);
380 380
381 /* request the clock comparator external interrupt */ 381 /* request the clock comparator external interrupt */
382 if (register_early_external_interrupt(0x1004, 0, 382 if (register_early_external_interrupt(0x1004, NULL,
383 &ext_int_info_cc) != 0) 383 &ext_int_info_cc) != 0)
384 panic("Couldn't request external interrupt 0x1004"); 384 panic("Couldn't request external interrupt 0x1004");
385 385
diff --git a/arch/s390/kernel/traps.c b/arch/s390/kernel/traps.c
index 12240c03a6dd..bde1d1d59858 100644
--- a/arch/s390/kernel/traps.c
+++ b/arch/s390/kernel/traps.c
@@ -170,7 +170,7 @@ void show_stack(struct task_struct *task, unsigned long *sp)
170 */ 170 */
171void dump_stack(void) 171void dump_stack(void)
172{ 172{
173 show_stack(0, 0); 173 show_stack(NULL, NULL);
174} 174}
175 175
176EXPORT_SYMBOL(dump_stack); 176EXPORT_SYMBOL(dump_stack);
@@ -331,9 +331,9 @@ static void inline do_trap(long interruption_code, int signr, char *str,
331 } 331 }
332} 332}
333 333
334static inline void *get_check_address(struct pt_regs *regs) 334static inline void __user *get_check_address(struct pt_regs *regs)
335{ 335{
336 return (void *)((regs->psw.addr-S390_lowcore.pgm_ilc) & PSW_ADDR_INSN); 336 return (void __user *)((regs->psw.addr-S390_lowcore.pgm_ilc) & PSW_ADDR_INSN);
337} 337}
338 338
339void do_single_step(struct pt_regs *regs) 339void do_single_step(struct pt_regs *regs)
@@ -360,7 +360,7 @@ asmlinkage void name(struct pt_regs * regs, long interruption_code) \
360 info.si_signo = signr; \ 360 info.si_signo = signr; \
361 info.si_errno = 0; \ 361 info.si_errno = 0; \
362 info.si_code = sicode; \ 362 info.si_code = sicode; \
363 info.si_addr = (void *)siaddr; \ 363 info.si_addr = siaddr; \
364 do_trap(interruption_code, signr, str, regs, &info); \ 364 do_trap(interruption_code, signr, str, regs, &info); \
365} 365}
366 366
@@ -392,7 +392,7 @@ DO_ERROR_INFO(SIGILL, "translation exception", translation_exception,
392 ILL_ILLOPN, get_check_address(regs)) 392 ILL_ILLOPN, get_check_address(regs))
393 393
394static inline void 394static inline void
395do_fp_trap(struct pt_regs *regs, void *location, 395do_fp_trap(struct pt_regs *regs, void __user *location,
396 int fpc, long interruption_code) 396 int fpc, long interruption_code)
397{ 397{
398 siginfo_t si; 398 siginfo_t si;
@@ -424,10 +424,10 @@ asmlinkage void illegal_op(struct pt_regs * regs, long interruption_code)
424{ 424{
425 siginfo_t info; 425 siginfo_t info;
426 __u8 opcode[6]; 426 __u8 opcode[6];
427 __u16 *location; 427 __u16 __user *location;
428 int signal = 0; 428 int signal = 0;
429 429
430 location = (__u16 *) get_check_address(regs); 430 location = get_check_address(regs);
431 431
432 /* 432 /*
433 * We got all needed information from the lowcore and can 433 * We got all needed information from the lowcore and can
@@ -559,10 +559,10 @@ DO_ERROR_INFO(SIGILL, "specification exception", specification_exception,
559 559
560asmlinkage void data_exception(struct pt_regs * regs, long interruption_code) 560asmlinkage void data_exception(struct pt_regs * regs, long interruption_code)
561{ 561{
562 __u16 *location; 562 __u16 __user *location;
563 int signal = 0; 563 int signal = 0;
564 564
565 location = (__u16 *) get_check_address(regs); 565 location = get_check_address(regs);
566 566
567 /* 567 /*
568 * We got all needed information from the lowcore and can 568 * We got all needed information from the lowcore and can
diff --git a/arch/s390/lib/string.c b/arch/s390/lib/string.c
index 8240cc77e06e..ae5cf5d03d41 100644
--- a/arch/s390/lib/string.c
+++ b/arch/s390/lib/string.c
@@ -233,7 +233,7 @@ char * strrchr(const char * s, int c)
233 if (s[len] == (char) c) 233 if (s[len] == (char) c)
234 return (char *) s + len; 234 return (char *) s + len;
235 } while (--len > 0); 235 } while (--len > 0);
236 return 0; 236 return NULL;
237} 237}
238EXPORT_SYMBOL(strrchr); 238EXPORT_SYMBOL(strrchr);
239 239
@@ -267,7 +267,7 @@ char * strstr(const char * s1,const char * s2)
267 return (char *) s1; 267 return (char *) s1;
268 s1++; 268 s1++;
269 } 269 }
270 return 0; 270 return NULL;
271} 271}
272EXPORT_SYMBOL(strstr); 272EXPORT_SYMBOL(strstr);
273 273
diff --git a/arch/s390/mm/cmm.c b/arch/s390/mm/cmm.c
index 81be2fec7dc5..ceea51cff03b 100644
--- a/arch/s390/mm/cmm.c
+++ b/arch/s390/mm/cmm.c
@@ -161,7 +161,7 @@ cmm_thread(void *dummy)
161static void 161static void
162cmm_start_thread(void) 162cmm_start_thread(void)
163{ 163{
164 kernel_thread(cmm_thread, 0, 0); 164 kernel_thread(cmm_thread, NULL, 0);
165} 165}
166 166
167static void 167static void
diff --git a/arch/s390/mm/fault.c b/arch/s390/mm/fault.c
index 833d5941746a..7cd82575813d 100644
--- a/arch/s390/mm/fault.c
+++ b/arch/s390/mm/fault.c
@@ -144,7 +144,7 @@ static void do_sigsegv(struct pt_regs *regs, unsigned long error_code,
144#endif 144#endif
145 si.si_signo = SIGSEGV; 145 si.si_signo = SIGSEGV;
146 si.si_code = si_code; 146 si.si_code = si_code;
147 si.si_addr = (void *) address; 147 si.si_addr = (void __user *) address;
148 force_sig_info(SIGSEGV, &si, current); 148 force_sig_info(SIGSEGV, &si, current);
149} 149}
150 150
diff --git a/arch/sh/kernel/setup.c b/arch/sh/kernel/setup.c
index 9af22116c9a2..e75189cb1db7 100644
--- a/arch/sh/kernel/setup.c
+++ b/arch/sh/kernel/setup.c
@@ -10,7 +10,7 @@
10 * This file handles the architecture-dependent parts of initialization 10 * This file handles the architecture-dependent parts of initialization
11 */ 11 */
12 12
13#include <linux/tty.h> 13#include <linux/screen_info.h>
14#include <linux/ioport.h> 14#include <linux/ioport.h>
15#include <linux/init.h> 15#include <linux/init.h>
16#include <linux/initrd.h> 16#include <linux/initrd.h>
diff --git a/arch/sh64/kernel/setup.c b/arch/sh64/kernel/setup.c
index 0359fa647bbc..ffb310e33cef 100644
--- a/arch/sh64/kernel/setup.c
+++ b/arch/sh64/kernel/setup.c
@@ -36,7 +36,7 @@
36#include <linux/slab.h> 36#include <linux/slab.h>
37#include <linux/user.h> 37#include <linux/user.h>
38#include <linux/a.out.h> 38#include <linux/a.out.h>
39#include <linux/tty.h> 39#include <linux/screen_info.h>
40#include <linux/ioport.h> 40#include <linux/ioport.h>
41#include <linux/delay.h> 41#include <linux/delay.h>
42#include <linux/init.h> 42#include <linux/init.h>
diff --git a/arch/sh64/kernel/sh_ksyms.c b/arch/sh64/kernel/sh_ksyms.c
index 6efdfa2c3994..4b2df7247b59 100644
--- a/arch/sh64/kernel/sh_ksyms.c
+++ b/arch/sh64/kernel/sh_ksyms.c
@@ -18,7 +18,7 @@
18#include <linux/in6.h> 18#include <linux/in6.h>
19#include <linux/interrupt.h> 19#include <linux/interrupt.h>
20#include <linux/smp_lock.h> 20#include <linux/smp_lock.h>
21#include <linux/tty.h> 21#include <linux/screen_info.h>
22 22
23#include <asm/semaphore.h> 23#include <asm/semaphore.h>
24#include <asm/processor.h> 24#include <asm/processor.h>
diff --git a/arch/sparc/kernel/devices.c b/arch/sparc/kernel/devices.c
index adba9dfee35e..af90a5f9ab57 100644
--- a/arch/sparc/kernel/devices.c
+++ b/arch/sparc/kernel/devices.c
@@ -15,6 +15,7 @@
15 15
16#include <asm/page.h> 16#include <asm/page.h>
17#include <asm/oplib.h> 17#include <asm/oplib.h>
18#include <asm/prom.h>
18#include <asm/smp.h> 19#include <asm/smp.h>
19#include <asm/system.h> 20#include <asm/system.h>
20#include <asm/cpudata.h> 21#include <asm/cpudata.h>
@@ -34,12 +35,6 @@ static int check_cpu_node(int nd, int *cur_inst,
34 int (*compare)(int, int, void *), void *compare_arg, 35 int (*compare)(int, int, void *), void *compare_arg,
35 int *prom_node, int *mid) 36 int *prom_node, int *mid)
36{ 37{
37 char node_str[128];
38
39 prom_getstring(nd, "device_type", node_str, sizeof(node_str));
40 if (strcmp(node_str, "cpu"))
41 return -ENODEV;
42
43 if (!compare(nd, *cur_inst, compare_arg)) { 38 if (!compare(nd, *cur_inst, compare_arg)) {
44 if (prom_node) 39 if (prom_node)
45 *prom_node = nd; 40 *prom_node = nd;
@@ -59,20 +54,14 @@ static int check_cpu_node(int nd, int *cur_inst,
59static int __cpu_find_by(int (*compare)(int, int, void *), void *compare_arg, 54static int __cpu_find_by(int (*compare)(int, int, void *), void *compare_arg,
60 int *prom_node, int *mid) 55 int *prom_node, int *mid)
61{ 56{
62 int nd, cur_inst, err; 57 struct device_node *dp;
58 int cur_inst;
63 59
64 nd = prom_root_node;
65 cur_inst = 0; 60 cur_inst = 0;
66 61 for_each_node_by_type(dp, "cpu") {
67 err = check_cpu_node(nd, &cur_inst, compare, compare_arg, 62 int err = check_cpu_node(dp->node, &cur_inst,
68 prom_node, mid); 63 compare, compare_arg,
69 if (!err) 64 prom_node, mid);
70 return 0;
71
72 nd = prom_getchild(nd);
73 while ((nd = prom_getsibling(nd)) != 0) {
74 err = check_cpu_node(nd, &cur_inst, compare, compare_arg,
75 prom_node, mid);
76 if (!err) 65 if (!err)
77 return 0; 66 return 0;
78 } 67 }
diff --git a/arch/sparc/kernel/irq.c b/arch/sparc/kernel/irq.c
index cde73327ca96..72f0201051a0 100644
--- a/arch/sparc/kernel/irq.c
+++ b/arch/sparc/kernel/irq.c
@@ -329,7 +329,7 @@ void handler_irq(int irq, struct pt_regs * regs)
329 disable_pil_irq(irq); 329 disable_pil_irq(irq);
330#ifdef CONFIG_SMP 330#ifdef CONFIG_SMP
331 /* Only rotate on lower priority IRQ's (scsi, ethernet, etc.). */ 331 /* Only rotate on lower priority IRQ's (scsi, ethernet, etc.). */
332 if(irq < 10) 332 if((sparc_cpu_model==sun4m) && (irq < 10))
333 smp4m_irq_rotate(cpu); 333 smp4m_irq_rotate(cpu);
334#endif 334#endif
335 action = sparc_irq[irq].action; 335 action = sparc_irq[irq].action;
diff --git a/arch/sparc/kernel/of_device.c b/arch/sparc/kernel/of_device.c
index bc956c530376..97bf87e8cdde 100644
--- a/arch/sparc/kernel/of_device.c
+++ b/arch/sparc/kernel/of_device.c
@@ -183,7 +183,7 @@ struct bus_type of_bus_type = {
183}; 183};
184EXPORT_SYMBOL(of_bus_type); 184EXPORT_SYMBOL(of_bus_type);
185 185
186static inline u64 of_read_addr(u32 *cell, int size) 186static inline u64 of_read_addr(const u32 *cell, int size)
187{ 187{
188 u64 r = 0; 188 u64 r = 0;
189 while (size--) 189 while (size--)
@@ -209,8 +209,8 @@ struct of_bus {
209 int (*match)(struct device_node *parent); 209 int (*match)(struct device_node *parent);
210 void (*count_cells)(struct device_node *child, 210 void (*count_cells)(struct device_node *child,
211 int *addrc, int *sizec); 211 int *addrc, int *sizec);
212 u64 (*map)(u32 *addr, u32 *range, int na, int ns, int pna); 212 int (*map)(u32 *addr, const u32 *range,
213 int (*translate)(u32 *addr, u64 offset, int na); 213 int na, int ns, int pna);
214 unsigned int (*get_flags)(u32 *addr); 214 unsigned int (*get_flags)(u32 *addr);
215}; 215};
216 216
@@ -224,27 +224,49 @@ static void of_bus_default_count_cells(struct device_node *dev,
224 get_cells(dev, addrc, sizec); 224 get_cells(dev, addrc, sizec);
225} 225}
226 226
227static u64 of_bus_default_map(u32 *addr, u32 *range, int na, int ns, int pna) 227/* Make sure the least significant 64-bits are in-range. Even
228 * for 3 or 4 cell values it is a good enough approximation.
229 */
230static int of_out_of_range(const u32 *addr, const u32 *base,
231 const u32 *size, int na, int ns)
228{ 232{
229 u64 cp, s, da; 233 u64 a = of_read_addr(addr, na);
234 u64 b = of_read_addr(base, na);
230 235
231 cp = of_read_addr(range, na); 236 if (a < b)
232 s = of_read_addr(range + na + pna, ns); 237 return 1;
233 da = of_read_addr(addr, na);
234 238
235 if (da < cp || da >= (cp + s)) 239 b += of_read_addr(size, ns);
236 return OF_BAD_ADDR; 240 if (a >= b)
237 return da - cp; 241 return 1;
242
243 return 0;
238} 244}
239 245
240static int of_bus_default_translate(u32 *addr, u64 offset, int na) 246static int of_bus_default_map(u32 *addr, const u32 *range,
247 int na, int ns, int pna)
241{ 248{
242 u64 a = of_read_addr(addr, na); 249 u32 result[OF_MAX_ADDR_CELLS];
243 memset(addr, 0, na * 4); 250 int i;
244 a += offset; 251
245 if (na > 1) 252 if (ns > 2) {
246 addr[na - 2] = a >> 32; 253 printk("of_device: Cannot handle size cells (%d) > 2.", ns);
247 addr[na - 1] = a & 0xffffffffu; 254 return -EINVAL;
255 }
256
257 if (of_out_of_range(addr, range, range + na + pna, na, ns))
258 return -EINVAL;
259
260 /* Start with the parent range base. */
261 memcpy(result, range + na, pna * 4);
262
263 /* Add in the child address offset. */
264 for (i = 0; i < na; i++)
265 result[pna - 1 - i] +=
266 (addr[na - 1 - i] -
267 range[na - 1 - i]);
268
269 memcpy(addr, result, pna * 4);
248 270
249 return 0; 271 return 0;
250} 272}
@@ -254,14 +276,26 @@ static unsigned int of_bus_default_get_flags(u32 *addr)
254 return IORESOURCE_MEM; 276 return IORESOURCE_MEM;
255} 277}
256 278
257
258/* 279/*
259 * PCI bus specific translator 280 * PCI bus specific translator
260 */ 281 */
261 282
262static int of_bus_pci_match(struct device_node *np) 283static int of_bus_pci_match(struct device_node *np)
263{ 284{
264 return !strcmp(np->type, "pci") || !strcmp(np->type, "pciex"); 285 if (!strcmp(np->type, "pci") || !strcmp(np->type, "pciex")) {
286 /* Do not do PCI specific frobbing if the
287 * PCI bridge lacks a ranges property. We
288 * want to pass it through up to the next
289 * parent as-is, not with the PCI translate
290 * method which chops off the top address cell.
291 */
292 if (!of_find_property(np, "ranges", NULL))
293 return 0;
294
295 return 1;
296 }
297
298 return 0;
265} 299}
266 300
267static void of_bus_pci_count_cells(struct device_node *np, 301static void of_bus_pci_count_cells(struct device_node *np,
@@ -273,27 +307,32 @@ static void of_bus_pci_count_cells(struct device_node *np,
273 *sizec = 2; 307 *sizec = 2;
274} 308}
275 309
276static u64 of_bus_pci_map(u32 *addr, u32 *range, int na, int ns, int pna) 310static int of_bus_pci_map(u32 *addr, const u32 *range,
311 int na, int ns, int pna)
277{ 312{
278 u64 cp, s, da; 313 u32 result[OF_MAX_ADDR_CELLS];
314 int i;
279 315
280 /* Check address type match */ 316 /* Check address type match */
281 if ((addr[0] ^ range[0]) & 0x03000000) 317 if ((addr[0] ^ range[0]) & 0x03000000)
282 return OF_BAD_ADDR; 318 return -EINVAL;
283 319
284 /* Read address values, skipping high cell */ 320 if (of_out_of_range(addr + 1, range + 1, range + na + pna,
285 cp = of_read_addr(range + 1, na - 1); 321 na - 1, ns))
286 s = of_read_addr(range + na + pna, ns); 322 return -EINVAL;
287 da = of_read_addr(addr + 1, na - 1);
288 323
289 if (da < cp || da >= (cp + s)) 324 /* Start with the parent range base. */
290 return OF_BAD_ADDR; 325 memcpy(result, range + na, pna * 4);
291 return da - cp;
292}
293 326
294static int of_bus_pci_translate(u32 *addr, u64 offset, int na) 327 /* Add in the child address offset, skipping high cell. */
295{ 328 for (i = 0; i < na - 1; i++)
296 return of_bus_default_translate(addr + 1, offset, na - 1); 329 result[pna - 1 - i] +=
330 (addr[na - 1 - i] -
331 range[na - 1 - i]);
332
333 memcpy(addr, result, pna * 4);
334
335 return 0;
297} 336}
298 337
299static unsigned int of_bus_pci_get_flags(u32 *addr) 338static unsigned int of_bus_pci_get_flags(u32 *addr)
@@ -332,16 +371,11 @@ static void of_bus_sbus_count_cells(struct device_node *child,
332 *sizec = 1; 371 *sizec = 1;
333} 372}
334 373
335static u64 of_bus_sbus_map(u32 *addr, u32 *range, int na, int ns, int pna) 374static int of_bus_sbus_map(u32 *addr, const u32 *range, int na, int ns, int pna)
336{ 375{
337 return of_bus_default_map(addr, range, na, ns, pna); 376 return of_bus_default_map(addr, range, na, ns, pna);
338} 377}
339 378
340static int of_bus_sbus_translate(u32 *addr, u64 offset, int na)
341{
342 return of_bus_default_translate(addr, offset, na);
343}
344
345static unsigned int of_bus_sbus_get_flags(u32 *addr) 379static unsigned int of_bus_sbus_get_flags(u32 *addr)
346{ 380{
347 return IORESOURCE_MEM; 381 return IORESOURCE_MEM;
@@ -360,7 +394,6 @@ static struct of_bus of_busses[] = {
360 .match = of_bus_pci_match, 394 .match = of_bus_pci_match,
361 .count_cells = of_bus_pci_count_cells, 395 .count_cells = of_bus_pci_count_cells,
362 .map = of_bus_pci_map, 396 .map = of_bus_pci_map,
363 .translate = of_bus_pci_translate,
364 .get_flags = of_bus_pci_get_flags, 397 .get_flags = of_bus_pci_get_flags,
365 }, 398 },
366 /* SBUS */ 399 /* SBUS */
@@ -370,7 +403,6 @@ static struct of_bus of_busses[] = {
370 .match = of_bus_sbus_match, 403 .match = of_bus_sbus_match,
371 .count_cells = of_bus_sbus_count_cells, 404 .count_cells = of_bus_sbus_count_cells,
372 .map = of_bus_sbus_map, 405 .map = of_bus_sbus_map,
373 .translate = of_bus_sbus_translate,
374 .get_flags = of_bus_sbus_get_flags, 406 .get_flags = of_bus_sbus_get_flags,
375 }, 407 },
376 /* Default */ 408 /* Default */
@@ -380,7 +412,6 @@ static struct of_bus of_busses[] = {
380 .match = NULL, 412 .match = NULL,
381 .count_cells = of_bus_default_count_cells, 413 .count_cells = of_bus_default_count_cells,
382 .map = of_bus_default_map, 414 .map = of_bus_default_map,
383 .translate = of_bus_default_translate,
384 .get_flags = of_bus_default_get_flags, 415 .get_flags = of_bus_default_get_flags,
385 }, 416 },
386}; 417};
@@ -405,33 +436,34 @@ static int __init build_one_resource(struct device_node *parent,
405 u32 *ranges; 436 u32 *ranges;
406 unsigned int rlen; 437 unsigned int rlen;
407 int rone; 438 int rone;
408 u64 offset = OF_BAD_ADDR;
409 439
410 ranges = of_get_property(parent, "ranges", &rlen); 440 ranges = of_get_property(parent, "ranges", &rlen);
411 if (ranges == NULL || rlen == 0) { 441 if (ranges == NULL || rlen == 0) {
412 offset = of_read_addr(addr, na); 442 u32 result[OF_MAX_ADDR_CELLS];
413 memset(addr, 0, pna * 4); 443 int i;
414 goto finish; 444
445 memset(result, 0, pna * 4);
446 for (i = 0; i < na; i++)
447 result[pna - 1 - i] =
448 addr[na - 1 - i];
449
450 memcpy(addr, result, pna * 4);
451 return 0;
415 } 452 }
416 453
417 /* Now walk through the ranges */ 454 /* Now walk through the ranges */
418 rlen /= 4; 455 rlen /= 4;
419 rone = na + pna + ns; 456 rone = na + pna + ns;
420 for (; rlen >= rone; rlen -= rone, ranges += rone) { 457 for (; rlen >= rone; rlen -= rone, ranges += rone) {
421 offset = bus->map(addr, ranges, na, ns, pna); 458 if (!bus->map(addr, ranges, na, ns, pna))
422 if (offset != OF_BAD_ADDR) 459 return 0;
423 break;
424 } 460 }
425 if (offset == OF_BAD_ADDR)
426 return 1;
427 461
428 memcpy(addr, ranges + na, 4 * pna); 462 return 1;
429
430finish:
431 /* Translate it into parent bus space */
432 return pbus->translate(addr, offset, pna);
433} 463}
434 464
465static int of_resource_verbose;
466
435static void __init build_device_resources(struct of_device *op, 467static void __init build_device_resources(struct of_device *op,
436 struct device *parent) 468 struct device *parent)
437{ 469{
@@ -497,7 +529,8 @@ static void __init build_device_resources(struct of_device *op,
497 pbus = of_match_bus(pp); 529 pbus = of_match_bus(pp);
498 pbus->count_cells(dp, &pna, &pns); 530 pbus->count_cells(dp, &pna, &pns);
499 531
500 if (build_one_resource(dp, bus, pbus, addr, dna, dns, pna)) 532 if (build_one_resource(dp, bus, pbus, addr,
533 dna, dns, pna))
501 break; 534 break;
502 535
503 dna = pna; 536 dna = pna;
@@ -507,6 +540,12 @@ static void __init build_device_resources(struct of_device *op,
507 540
508 build_res: 541 build_res:
509 memset(r, 0, sizeof(*r)); 542 memset(r, 0, sizeof(*r));
543
544 if (of_resource_verbose)
545 printk("%s reg[%d] -> %llx\n",
546 op->node->full_name, index,
547 result);
548
510 if (result != OF_BAD_ADDR) { 549 if (result != OF_BAD_ADDR) {
511 r->start = result & 0xffffffff; 550 r->start = result & 0xffffffff;
512 r->end = result + size - 1; 551 r->end = result + size - 1;
@@ -557,14 +596,41 @@ static struct of_device * __init scan_one_device(struct device_node *dp,
557 static int pil_to_sbus[] = { 596 static int pil_to_sbus[] = {
558 0, 0, 1, 2, 0, 3, 0, 4, 0, 5, 0, 6, 0, 7, 0, 0, 597 0, 0, 1, 2, 0, 3, 0, 4, 0, 5, 0, 6, 0, 7, 0, 0,
559 }; 598 };
560 struct device_node *busp = dp->parent; 599 struct device_node *io_unit, *sbi = dp->parent;
561 struct linux_prom_registers *regs; 600 struct linux_prom_registers *regs;
562 int board = of_getintprop_default(busp, "board#", 0); 601 int board, slot;
563 int slot; 602
603 while (sbi) {
604 if (!strcmp(sbi->name, "sbi"))
605 break;
606
607 sbi = sbi->parent;
608 }
609 if (!sbi)
610 goto build_resources;
564 611
565 regs = of_get_property(dp, "reg", NULL); 612 regs = of_get_property(dp, "reg", NULL);
613 if (!regs)
614 goto build_resources;
615
566 slot = regs->which_io; 616 slot = regs->which_io;
567 617
618 /* If SBI's parent is not io-unit or the io-unit lacks
619 * a "board#" property, something is very wrong.
620 */
621 if (!sbi->parent || strcmp(sbi->parent->name, "io-unit")) {
622 printk("%s: Error, parent is not io-unit.\n",
623 sbi->full_name);
624 goto build_resources;
625 }
626 io_unit = sbi->parent;
627 board = of_getintprop_default(io_unit, "board#", -1);
628 if (board == -1) {
629 printk("%s: Error, lacks board# property.\n",
630 io_unit->full_name);
631 goto build_resources;
632 }
633
568 for (i = 0; i < op->num_irqs; i++) { 634 for (i = 0; i < op->num_irqs; i++) {
569 int this_irq = op->irqs[i]; 635 int this_irq = op->irqs[i];
570 int sbusl = pil_to_sbus[this_irq]; 636 int sbusl = pil_to_sbus[this_irq];
@@ -578,6 +644,7 @@ static struct of_device * __init scan_one_device(struct device_node *dp,
578 } 644 }
579 } 645 }
580 646
647build_resources:
581 build_device_resources(op, parent); 648 build_device_resources(op, parent);
582 649
583 op->dev.parent = parent; 650 op->dev.parent = parent;
@@ -643,6 +710,18 @@ static int __init of_bus_driver_init(void)
643 710
644postcore_initcall(of_bus_driver_init); 711postcore_initcall(of_bus_driver_init);
645 712
713static int __init of_debug(char *str)
714{
715 int val = 0;
716
717 get_option(&str, &val);
718 if (val & 1)
719 of_resource_verbose = 1;
720 return 1;
721}
722
723__setup("of_debug=", of_debug);
724
646int of_register_driver(struct of_platform_driver *drv, struct bus_type *bus) 725int of_register_driver(struct of_platform_driver *drv, struct bus_type *bus)
647{ 726{
648 /* initialize common driver fields */ 727 /* initialize common driver fields */
@@ -695,9 +774,11 @@ int of_device_register(struct of_device *ofdev)
695 if (rc) 774 if (rc)
696 return rc; 775 return rc;
697 776
698 device_create_file(&ofdev->dev, &dev_attr_devspec); 777 rc = device_create_file(&ofdev->dev, &dev_attr_devspec);
778 if (rc)
779 device_unregister(&ofdev->dev);
699 780
700 return 0; 781 return rc;
701} 782}
702 783
703void of_device_unregister(struct of_device *ofdev) 784void of_device_unregister(struct of_device *ofdev)
diff --git a/arch/sparc/kernel/prom.c b/arch/sparc/kernel/prom.c
index 4b06dcb00ebd..4ca9e5fc97f4 100644
--- a/arch/sparc/kernel/prom.c
+++ b/arch/sparc/kernel/prom.c
@@ -444,6 +444,7 @@ static struct property * __init build_one_prop(phandle node, char *prev, char *s
444 static struct property *tmp = NULL; 444 static struct property *tmp = NULL;
445 struct property *p; 445 struct property *p;
446 int len; 446 int len;
447 const char *name;
447 448
448 if (tmp) { 449 if (tmp) {
449 p = tmp; 450 p = tmp;
@@ -456,19 +457,21 @@ static struct property * __init build_one_prop(phandle node, char *prev, char *s
456 457
457 p->name = (char *) (p + 1); 458 p->name = (char *) (p + 1);
458 if (special_name) { 459 if (special_name) {
460 strcpy(p->name, special_name);
459 p->length = special_len; 461 p->length = special_len;
460 p->value = prom_early_alloc(special_len); 462 p->value = prom_early_alloc(special_len);
461 memcpy(p->value, special_val, special_len); 463 memcpy(p->value, special_val, special_len);
462 } else { 464 } else {
463 if (prev == NULL) { 465 if (prev == NULL) {
464 prom_firstprop(node, p->name); 466 name = prom_firstprop(node, NULL);
465 } else { 467 } else {
466 prom_nextprop(node, prev, p->name); 468 name = prom_nextprop(node, prev, NULL);
467 } 469 }
468 if (strlen(p->name) == 0) { 470 if (strlen(name) == 0) {
469 tmp = p; 471 tmp = p;
470 return NULL; 472 return NULL;
471 } 473 }
474 strcpy(p->name, name);
472 p->length = prom_getproplen(node, p->name); 475 p->length = prom_getproplen(node, p->name);
473 if (p->length <= 0) { 476 if (p->length <= 0) {
474 p->length = 0; 477 p->length = 0;
diff --git a/arch/sparc/kernel/setup.c b/arch/sparc/kernel/setup.c
index 8606ef4e52e9..35488d6c7457 100644
--- a/arch/sparc/kernel/setup.c
+++ b/arch/sparc/kernel/setup.c
@@ -17,7 +17,7 @@
17#include <asm/smp.h> 17#include <asm/smp.h>
18#include <linux/user.h> 18#include <linux/user.h>
19#include <linux/a.out.h> 19#include <linux/a.out.h>
20#include <linux/tty.h> 20#include <linux/screen_info.h>
21#include <linux/delay.h> 21#include <linux/delay.h>
22#include <linux/fs.h> 22#include <linux/fs.h>
23#include <linux/seq_file.h> 23#include <linux/seq_file.h>
diff --git a/arch/sparc/kernel/smp.c b/arch/sparc/kernel/smp.c
index 6135d4faeeeb..e311ade1b490 100644
--- a/arch/sparc/kernel/smp.c
+++ b/arch/sparc/kernel/smp.c
@@ -87,6 +87,7 @@ void __cpuinit smp_store_cpu_info(int id)
87void __init smp_cpus_done(unsigned int max_cpus) 87void __init smp_cpus_done(unsigned int max_cpus)
88{ 88{
89 extern void smp4m_smp_done(void); 89 extern void smp4m_smp_done(void);
90 extern void smp4d_smp_done(void);
90 unsigned long bogosum = 0; 91 unsigned long bogosum = 0;
91 int cpu, num; 92 int cpu, num;
92 93
@@ -100,8 +101,34 @@ void __init smp_cpus_done(unsigned int max_cpus)
100 num, bogosum/(500000/HZ), 101 num, bogosum/(500000/HZ),
101 (bogosum/(5000/HZ))%100); 102 (bogosum/(5000/HZ))%100);
102 103
103 BUG_ON(sparc_cpu_model != sun4m); 104 switch(sparc_cpu_model) {
104 smp4m_smp_done(); 105 case sun4:
106 printk("SUN4\n");
107 BUG();
108 break;
109 case sun4c:
110 printk("SUN4C\n");
111 BUG();
112 break;
113 case sun4m:
114 smp4m_smp_done();
115 break;
116 case sun4d:
117 smp4d_smp_done();
118 break;
119 case sun4e:
120 printk("SUN4E\n");
121 BUG();
122 break;
123 case sun4u:
124 printk("SUN4U\n");
125 BUG();
126 break;
127 default:
128 printk("UNKNOWN!\n");
129 BUG();
130 break;
131 };
105} 132}
106 133
107void cpu_panic(void) 134void cpu_panic(void)
@@ -267,9 +294,9 @@ int setup_profiling_timer(unsigned int multiplier)
267void __init smp_prepare_cpus(unsigned int max_cpus) 294void __init smp_prepare_cpus(unsigned int max_cpus)
268{ 295{
269 extern void smp4m_boot_cpus(void); 296 extern void smp4m_boot_cpus(void);
297 extern void smp4d_boot_cpus(void);
270 int i, cpuid, extra; 298 int i, cpuid, extra;
271 299
272 BUG_ON(sparc_cpu_model != sun4m);
273 printk("Entering SMP Mode...\n"); 300 printk("Entering SMP Mode...\n");
274 301
275 extra = 0; 302 extra = 0;
@@ -283,7 +310,34 @@ void __init smp_prepare_cpus(unsigned int max_cpus)
283 310
284 smp_store_cpu_info(boot_cpu_id); 311 smp_store_cpu_info(boot_cpu_id);
285 312
286 smp4m_boot_cpus(); 313 switch(sparc_cpu_model) {
314 case sun4:
315 printk("SUN4\n");
316 BUG();
317 break;
318 case sun4c:
319 printk("SUN4C\n");
320 BUG();
321 break;
322 case sun4m:
323 smp4m_boot_cpus();
324 break;
325 case sun4d:
326 smp4d_boot_cpus();
327 break;
328 case sun4e:
329 printk("SUN4E\n");
330 BUG();
331 break;
332 case sun4u:
333 printk("SUN4U\n");
334 BUG();
335 break;
336 default:
337 printk("UNKNOWN!\n");
338 BUG();
339 break;
340 };
287} 341}
288 342
289/* Set this up early so that things like the scheduler can init 343/* Set this up early so that things like the scheduler can init
@@ -323,9 +377,37 @@ void __init smp_prepare_boot_cpu(void)
323int __cpuinit __cpu_up(unsigned int cpu) 377int __cpuinit __cpu_up(unsigned int cpu)
324{ 378{
325 extern int smp4m_boot_one_cpu(int); 379 extern int smp4m_boot_one_cpu(int);
326 int ret; 380 extern int smp4d_boot_one_cpu(int);
327 381 int ret=0;
328 ret = smp4m_boot_one_cpu(cpu); 382
383 switch(sparc_cpu_model) {
384 case sun4:
385 printk("SUN4\n");
386 BUG();
387 break;
388 case sun4c:
389 printk("SUN4C\n");
390 BUG();
391 break;
392 case sun4m:
393 ret = smp4m_boot_one_cpu(cpu);
394 break;
395 case sun4d:
396 ret = smp4d_boot_one_cpu(cpu);
397 break;
398 case sun4e:
399 printk("SUN4E\n");
400 BUG();
401 break;
402 case sun4u:
403 printk("SUN4U\n");
404 BUG();
405 break;
406 default:
407 printk("UNKNOWN!\n");
408 BUG();
409 break;
410 };
329 411
330 if (!ret) { 412 if (!ret) {
331 cpu_set(cpu, smp_commenced_mask); 413 cpu_set(cpu, smp_commenced_mask);
diff --git a/arch/sparc/kernel/sparc_ksyms.c b/arch/sparc/kernel/sparc_ksyms.c
index 5fb987fc3d63..4d441a554d35 100644
--- a/arch/sparc/kernel/sparc_ksyms.c
+++ b/arch/sparc/kernel/sparc_ksyms.c
@@ -237,7 +237,6 @@ EXPORT_SYMBOL(prom_node_has_property);
237EXPORT_SYMBOL(prom_setprop); 237EXPORT_SYMBOL(prom_setprop);
238EXPORT_SYMBOL(saved_command_line); 238EXPORT_SYMBOL(saved_command_line);
239EXPORT_SYMBOL(prom_apply_obio_ranges); 239EXPORT_SYMBOL(prom_apply_obio_ranges);
240EXPORT_SYMBOL(prom_getname);
241EXPORT_SYMBOL(prom_feval); 240EXPORT_SYMBOL(prom_feval);
242EXPORT_SYMBOL(prom_getbool); 241EXPORT_SYMBOL(prom_getbool);
243EXPORT_SYMBOL(prom_getstring); 242EXPORT_SYMBOL(prom_getstring);
diff --git a/arch/sparc/kernel/sun4d_smp.c b/arch/sparc/kernel/sun4d_smp.c
index b141b7ee6717..ba843f6a2832 100644
--- a/arch/sparc/kernel/sun4d_smp.c
+++ b/arch/sparc/kernel/sun4d_smp.c
@@ -43,15 +43,10 @@ extern ctxd_t *srmmu_ctx_table_phys;
43extern void calibrate_delay(void); 43extern void calibrate_delay(void);
44 44
45extern volatile int smp_processors_ready; 45extern volatile int smp_processors_ready;
46extern int smp_num_cpus;
47static int smp_highest_cpu; 46static int smp_highest_cpu;
48extern volatile unsigned long cpu_callin_map[NR_CPUS]; 47extern volatile unsigned long cpu_callin_map[NR_CPUS];
49extern cpuinfo_sparc cpu_data[NR_CPUS]; 48extern cpuinfo_sparc cpu_data[NR_CPUS];
50extern unsigned char boot_cpu_id; 49extern unsigned char boot_cpu_id;
51extern int smp_activated;
52extern volatile int __cpu_number_map[NR_CPUS];
53extern volatile int __cpu_logical_map[NR_CPUS];
54extern volatile unsigned long ipi_count;
55extern volatile int smp_process_available; 50extern volatile int smp_process_available;
56 51
57extern cpumask_t smp_commenced_mask; 52extern cpumask_t smp_commenced_mask;
@@ -144,6 +139,8 @@ void __init smp4d_callin(void)
144 spin_lock_irqsave(&sun4d_imsk_lock, flags); 139 spin_lock_irqsave(&sun4d_imsk_lock, flags);
145 cc_set_imsk(cc_get_imsk() & ~0x4000); /* Allow PIL 14 as well */ 140 cc_set_imsk(cc_get_imsk() & ~0x4000); /* Allow PIL 14 as well */
146 spin_unlock_irqrestore(&sun4d_imsk_lock, flags); 141 spin_unlock_irqrestore(&sun4d_imsk_lock, flags);
142 cpu_set(cpuid, cpu_online_map);
143
147} 144}
148 145
149extern void init_IRQ(void); 146extern void init_IRQ(void);
@@ -160,51 +157,24 @@ extern unsigned long trapbase_cpu3[];
160 157
161void __init smp4d_boot_cpus(void) 158void __init smp4d_boot_cpus(void)
162{ 159{
163 int cpucount = 0;
164 int i, mid;
165
166 printk("Entering SMP Mode...\n");
167
168 if (boot_cpu_id) 160 if (boot_cpu_id)
169 current_set[0] = NULL; 161 current_set[0] = NULL;
170
171 local_irq_enable();
172 cpus_clear(cpu_present_map);
173
174 /* XXX This whole thing has to go. See sparc64. */
175 for (i = 0; !cpu_find_by_instance(i, NULL, &mid); i++)
176 cpu_set(mid, cpu_present_map);
177 SMP_PRINTK(("cpu_present_map %08lx\n", cpus_addr(cpu_present_map)[0]));
178 for(i=0; i < NR_CPUS; i++)
179 __cpu_number_map[i] = -1;
180 for(i=0; i < NR_CPUS; i++)
181 __cpu_logical_map[i] = -1;
182 __cpu_number_map[boot_cpu_id] = 0;
183 __cpu_logical_map[0] = boot_cpu_id;
184 current_thread_info()->cpu = boot_cpu_id;
185 smp_store_cpu_info(boot_cpu_id);
186 smp_setup_percpu_timer(); 162 smp_setup_percpu_timer();
187 local_flush_cache_all(); 163 local_flush_cache_all();
188 if (cpu_find_by_instance(1, NULL, NULL)) 164}
189 return; /* Not an MP box. */ 165
190 SMP_PRINTK(("Iterating over CPUs\n")); 166int smp4d_boot_one_cpu(int i)
191 for(i = 0; i < NR_CPUS; i++) { 167{
192 if(i == boot_cpu_id)
193 continue;
194
195 if (cpu_isset(i, cpu_present_map)) {
196 extern unsigned long sun4d_cpu_startup; 168 extern unsigned long sun4d_cpu_startup;
197 unsigned long *entry = &sun4d_cpu_startup; 169 unsigned long *entry = &sun4d_cpu_startup;
198 struct task_struct *p; 170 struct task_struct *p;
199 int timeout; 171 int timeout;
200 int no; 172 int cpu_node;
201 173
174 cpu_find_by_instance(i, &cpu_node,NULL);
202 /* Cook up an idler for this guy. */ 175 /* Cook up an idler for this guy. */
203 p = fork_idle(i); 176 p = fork_idle(i);
204 cpucount++;
205 current_set[i] = task_thread_info(p); 177 current_set[i] = task_thread_info(p);
206 for (no = 0; !cpu_find_by_instance(no, NULL, &mid)
207 && mid != i; no++) ;
208 178
209 /* 179 /*
210 * Initialize the contexts table 180 * Initialize the contexts table
@@ -216,9 +186,9 @@ void __init smp4d_boot_cpus(void)
216 smp_penguin_ctable.reg_size = 0; 186 smp_penguin_ctable.reg_size = 0;
217 187
218 /* whirrr, whirrr, whirrrrrrrrr... */ 188 /* whirrr, whirrr, whirrrrrrrrr... */
219 SMP_PRINTK(("Starting CPU %d at %p task %d node %08x\n", i, entry, cpucount, cpu_data(no).prom_node)); 189 SMP_PRINTK(("Starting CPU %d at %p \n", i, entry));
220 local_flush_cache_all(); 190 local_flush_cache_all();
221 prom_startcpu(cpu_data(no).prom_node, 191 prom_startcpu(cpu_node,
222 &smp_penguin_ctable, 0, (char *)entry); 192 &smp_penguin_ctable, 0, (char *)entry);
223 193
224 SMP_PRINTK(("prom_startcpu returned :)\n")); 194 SMP_PRINTK(("prom_startcpu returned :)\n"));
@@ -230,39 +200,30 @@ void __init smp4d_boot_cpus(void)
230 udelay(200); 200 udelay(200);
231 } 201 }
232 202
233 if(cpu_callin_map[i]) { 203 if (!(cpu_callin_map[i])) {
234 /* Another "Red Snapper". */ 204 printk("Processor %d is stuck.\n", i);
235 __cpu_number_map[i] = cpucount; 205 return -ENODEV;
236 __cpu_logical_map[cpucount] = i; 206
237 } else {
238 cpucount--;
239 printk("Processor %d is stuck.\n", i);
240 }
241 }
242 if(!(cpu_callin_map[i])) {
243 cpu_clear(i, cpu_present_map);
244 __cpu_number_map[i] = -1;
245 }
246 } 207 }
247 local_flush_cache_all(); 208 local_flush_cache_all();
248 if(cpucount == 0) { 209 return 0;
249 printk("Error: only one Processor found.\n"); 210}
250 cpu_present_map = cpumask_of_cpu(hard_smp4d_processor_id()); 211
251 } else { 212void __init smp4d_smp_done(void)
252 unsigned long bogosum = 0; 213{
253 214 int i, first;
254 for_each_present_cpu(i) { 215 int *prev;
255 bogosum += cpu_data(i).udelay_val; 216
256 smp_highest_cpu = i; 217 /* setup cpu list for irq rotation */
218 first = 0;
219 prev = &first;
220 for (i = 0; i < NR_CPUS; i++)
221 if (cpu_online(i)) {
222 *prev = i;
223 prev = &cpu_data(i).next;
257 } 224 }
258 SMP_PRINTK(("Total of %d Processors activated (%lu.%02lu BogoMIPS).\n", cpucount + 1, bogosum/(500000/HZ), (bogosum/(5000/HZ))%100)); 225 *prev = first;
259 printk("Total of %d Processors activated (%lu.%02lu BogoMIPS).\n", 226 local_flush_cache_all();
260 cpucount + 1,
261 bogosum/(500000/HZ),
262 (bogosum/(5000/HZ))%100);
263 smp_activated = 1;
264 smp_num_cpus = cpucount + 1;
265 }
266 227
267 /* Free unneeded trap tables */ 228 /* Free unneeded trap tables */
268 ClearPageReserved(virt_to_page(trapbase_cpu1)); 229 ClearPageReserved(virt_to_page(trapbase_cpu1));
@@ -334,7 +295,7 @@ void smp4d_cross_call(smpfunc_t func, unsigned long arg1, unsigned long arg2,
334 register int i; 295 register int i;
335 296
336 mask = cpumask_of_cpu(hard_smp4d_processor_id()); 297 mask = cpumask_of_cpu(hard_smp4d_processor_id());
337 cpus_andnot(mask, cpu_present_map, mask); 298 cpus_andnot(mask, cpu_online_map, mask);
338 for(i = 0; i <= high; i++) { 299 for(i = 0; i <= high; i++) {
339 if (cpu_isset(i, mask)) { 300 if (cpu_isset(i, mask)) {
340 ccall_info.processors_in[i] = 0; 301 ccall_info.processors_in[i] = 0;
diff --git a/arch/sparc/kernel/sys_sparc.c b/arch/sparc/kernel/sys_sparc.c
index 0cdfc9d294b4..a41c8a5c2007 100644
--- a/arch/sparc/kernel/sys_sparc.c
+++ b/arch/sparc/kernel/sys_sparc.c
@@ -465,21 +465,21 @@ sys_rt_sigaction(int sig,
465 465
466asmlinkage int sys_getdomainname(char __user *name, int len) 466asmlinkage int sys_getdomainname(char __user *name, int len)
467{ 467{
468 int nlen; 468 int nlen, err;
469 int err = -EFAULT;
470 469
470 if (len < 0 || len > __NEW_UTS_LEN)
471 return -EINVAL;
472
471 down_read(&uts_sem); 473 down_read(&uts_sem);
472 474
473 nlen = strlen(system_utsname.domainname) + 1; 475 nlen = strlen(system_utsname.domainname) + 1;
474
475 if (nlen < len) 476 if (nlen < len)
476 len = nlen; 477 len = nlen;
477 if (len > __NEW_UTS_LEN) 478
478 goto done; 479 err = -EFAULT;
479 if (copy_to_user(name, system_utsname.domainname, len)) 480 if (!copy_to_user(name, system_utsname.domainname, len))
480 goto done; 481 err = 0;
481 err = 0; 482
482done:
483 up_read(&uts_sem); 483 up_read(&uts_sem);
484 return err; 484 return err;
485} 485}
diff --git a/arch/sparc/kernel/time.c b/arch/sparc/kernel/time.c
index 04eb1eab6e3e..845081b01267 100644
--- a/arch/sparc/kernel/time.c
+++ b/arch/sparc/kernel/time.c
@@ -225,6 +225,32 @@ static __inline__ int has_low_battery(void)
225 return (data1 == data2); /* Was the write blocked? */ 225 return (data1 == data2); /* Was the write blocked? */
226} 226}
227 227
228static void __init mostek_set_system_time(void)
229{
230 unsigned int year, mon, day, hour, min, sec;
231 struct mostek48t02 *mregs;
232
233 mregs = (struct mostek48t02 *)mstk48t02_regs;
234 if(!mregs) {
235 prom_printf("Something wrong, clock regs not mapped yet.\n");
236 prom_halt();
237 }
238 spin_lock_irq(&mostek_lock);
239 mregs->creg |= MSTK_CREG_READ;
240 sec = MSTK_REG_SEC(mregs);
241 min = MSTK_REG_MIN(mregs);
242 hour = MSTK_REG_HOUR(mregs);
243 day = MSTK_REG_DOM(mregs);
244 mon = MSTK_REG_MONTH(mregs);
245 year = MSTK_CVT_YEAR( MSTK_REG_YEAR(mregs) );
246 xtime.tv_sec = mktime(year, mon, day, hour, min, sec);
247 xtime.tv_nsec = (INITIAL_JIFFIES % HZ) * (NSEC_PER_SEC / HZ);
248 set_normalized_timespec(&wall_to_monotonic,
249 -xtime.tv_sec, -xtime.tv_nsec);
250 mregs->creg &= ~MSTK_CREG_READ;
251 spin_unlock_irq(&mostek_lock);
252}
253
228/* Probe for the real time clock chip on Sun4 */ 254/* Probe for the real time clock chip on Sun4 */
229static __inline__ void sun4_clock_probe(void) 255static __inline__ void sun4_clock_probe(void)
230{ 256{
@@ -273,6 +299,7 @@ static __inline__ void sun4_clock_probe(void)
273#endif 299#endif
274} 300}
275 301
302#ifndef CONFIG_SUN4
276static int __devinit clock_probe(struct of_device *op, const struct of_device_id *match) 303static int __devinit clock_probe(struct of_device *op, const struct of_device_id *match)
277{ 304{
278 struct device_node *dp = op->node; 305 struct device_node *dp = op->node;
@@ -307,6 +334,8 @@ static int __devinit clock_probe(struct of_device *op, const struct of_device_id
307 if (mostek_read(mstk48t02_regs + MOSTEK_SEC) & MSTK_STOP) 334 if (mostek_read(mstk48t02_regs + MOSTEK_SEC) & MSTK_STOP)
308 kick_start_clock(); 335 kick_start_clock();
309 336
337 mostek_set_system_time();
338
310 return 0; 339 return 0;
311} 340}
312 341
@@ -325,56 +354,37 @@ static struct of_platform_driver clock_driver = {
325 354
326 355
327/* Probe for the mostek real time clock chip. */ 356/* Probe for the mostek real time clock chip. */
328static void clock_init(void) 357static int __init clock_init(void)
329{ 358{
330 of_register_driver(&clock_driver, &of_bus_type); 359 return of_register_driver(&clock_driver, &of_bus_type);
331} 360}
332 361
362/* Must be after subsys_initcall() so that busses are probed. Must
363 * be before device_initcall() because things like the RTC driver
364 * need to see the clock registers.
365 */
366fs_initcall(clock_init);
367#endif /* !CONFIG_SUN4 */
368
333void __init sbus_time_init(void) 369void __init sbus_time_init(void)
334{ 370{
335 unsigned int year, mon, day, hour, min, sec;
336 struct mostek48t02 *mregs;
337
338#ifdef CONFIG_SUN4
339 int temp;
340 struct intersil *iregs;
341#endif
342 371
343 BTFIXUPSET_CALL(bus_do_settimeofday, sbus_do_settimeofday, BTFIXUPCALL_NORM); 372 BTFIXUPSET_CALL(bus_do_settimeofday, sbus_do_settimeofday, BTFIXUPCALL_NORM);
344 btfixup(); 373 btfixup();
345 374
346 if (ARCH_SUN4) 375 if (ARCH_SUN4)
347 sun4_clock_probe(); 376 sun4_clock_probe();
348 else
349 clock_init();
350 377
351 sparc_init_timers(timer_interrupt); 378 sparc_init_timers(timer_interrupt);
352 379
353#ifdef CONFIG_SUN4 380#ifdef CONFIG_SUN4
354 if(idprom->id_machtype == (SM_SUN4 | SM_4_330)) { 381 if(idprom->id_machtype == (SM_SUN4 | SM_4_330)) {
355#endif 382 mostek_set_system_time();
356 mregs = (struct mostek48t02 *)mstk48t02_regs;
357 if(!mregs) {
358 prom_printf("Something wrong, clock regs not mapped yet.\n");
359 prom_halt();
360 }
361 spin_lock_irq(&mostek_lock);
362 mregs->creg |= MSTK_CREG_READ;
363 sec = MSTK_REG_SEC(mregs);
364 min = MSTK_REG_MIN(mregs);
365 hour = MSTK_REG_HOUR(mregs);
366 day = MSTK_REG_DOM(mregs);
367 mon = MSTK_REG_MONTH(mregs);
368 year = MSTK_CVT_YEAR( MSTK_REG_YEAR(mregs) );
369 xtime.tv_sec = mktime(year, mon, day, hour, min, sec);
370 xtime.tv_nsec = (INITIAL_JIFFIES % HZ) * (NSEC_PER_SEC / HZ);
371 set_normalized_timespec(&wall_to_monotonic,
372 -xtime.tv_sec, -xtime.tv_nsec);
373 mregs->creg &= ~MSTK_CREG_READ;
374 spin_unlock_irq(&mostek_lock);
375#ifdef CONFIG_SUN4
376 } else if(idprom->id_machtype == (SM_SUN4 | SM_4_260) ) { 383 } else if(idprom->id_machtype == (SM_SUN4 | SM_4_260) ) {
377 /* initialise the intersil on sun4 */ 384 /* initialise the intersil on sun4 */
385 unsigned int year, mon, day, hour, min, sec;
386 int temp;
387 struct intersil *iregs;
378 388
379 iregs=intersil_clock; 389 iregs=intersil_clock;
380 if(!iregs) { 390 if(!iregs) {
diff --git a/arch/sparc/mm/io-unit.c b/arch/sparc/mm/io-unit.c
index 42c1c700c0a7..2bb1309003dd 100644
--- a/arch/sparc/mm/io-unit.c
+++ b/arch/sparc/mm/io-unit.c
@@ -64,6 +64,7 @@ iounit_init(int sbi_node, int io_node, struct sbus_bus *sbus)
64 64
65 sbus->iommu = (struct iommu_struct *)iounit; 65 sbus->iommu = (struct iommu_struct *)iounit;
66 iounit->page_table = xpt; 66 iounit->page_table = xpt;
67 spin_lock_init(&iounit->lock);
67 68
68 for (xptend = iounit->page_table + (16 * PAGE_SIZE) / sizeof(iopte_t); 69 for (xptend = iounit->page_table + (16 * PAGE_SIZE) / sizeof(iopte_t);
69 xpt < xptend;) 70 xpt < xptend;)
diff --git a/arch/sparc/prom/tree.c b/arch/sparc/prom/tree.c
index 2bf03ee8cde5..5ec246573a98 100644
--- a/arch/sparc/prom/tree.c
+++ b/arch/sparc/prom/tree.c
@@ -205,24 +205,6 @@ int prom_searchsiblings(int node_start, char *nodename)
205 return 0; 205 return 0;
206} 206}
207 207
208/* Gets name in the form prom v2+ uses it (name@x,yyyyy or name (if no reg)) */
209int prom_getname (int node, char *buffer, int len)
210{
211 int i;
212 struct linux_prom_registers reg[PROMREG_MAX];
213
214 i = prom_getproperty (node, "name", buffer, len);
215 if (i <= 0) return -1;
216 buffer [i] = 0;
217 len -= i;
218 i = prom_getproperty (node, "reg", (char *)reg, sizeof (reg));
219 if (i <= 0) return 0;
220 if (len < 11) return -1;
221 buffer = strchr (buffer, 0);
222 sprintf (buffer, "@%x,%x", reg[0].which_io, (uint)reg[0].phys_addr);
223 return 0;
224}
225
226/* Interal version of nextprop that does not alter return values. */ 208/* Interal version of nextprop that does not alter return values. */
227char * __prom_nextprop(int node, char * oprop) 209char * __prom_nextprop(int node, char * oprop)
228{ 210{
diff --git a/arch/sparc64/Kconfig b/arch/sparc64/Kconfig
index a7a111db25b2..8a36ba8868db 100644
--- a/arch/sparc64/Kconfig
+++ b/arch/sparc64/Kconfig
@@ -334,7 +334,7 @@ config COMPAT
334 default y 334 default y
335 335
336config BINFMT_ELF32 336config BINFMT_ELF32
337 tristate "Kernel support for 32-bit ELF binaries" 337 bool "Kernel support for 32-bit ELF binaries"
338 depends on SPARC32_COMPAT 338 depends on SPARC32_COMPAT
339 help 339 help
340 This allows you to run 32-bit Linux/ELF binaries on your Ultra. 340 This allows you to run 32-bit Linux/ELF binaries on your Ultra.
diff --git a/arch/sparc64/defconfig b/arch/sparc64/defconfig
index b2f41147d0e4..43d9229fca07 100644
--- a/arch/sparc64/defconfig
+++ b/arch/sparc64/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.17 3# Linux kernel version: 2.6.18-rc2
4# Fri Jun 23 23:17:09 2006 4# Fri Jul 21 14:19:24 2006
5# 5#
6CONFIG_SPARC=y 6CONFIG_SPARC=y
7CONFIG_SPARC64=y 7CONFIG_SPARC64=y
@@ -18,6 +18,7 @@ CONFIG_SECCOMP=y
18CONFIG_HZ_250=y 18CONFIG_HZ_250=y
19# CONFIG_HZ_1000 is not set 19# CONFIG_HZ_1000 is not set
20CONFIG_HZ=250 20CONFIG_HZ=250
21CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
21 22
22# 23#
23# Code maturity level options 24# Code maturity level options
@@ -35,6 +36,7 @@ CONFIG_SWAP=y
35CONFIG_SYSVIPC=y 36CONFIG_SYSVIPC=y
36CONFIG_POSIX_MQUEUE=y 37CONFIG_POSIX_MQUEUE=y
37# CONFIG_BSD_PROCESS_ACCT is not set 38# CONFIG_BSD_PROCESS_ACCT is not set
39# CONFIG_TASKSTATS is not set
38CONFIG_SYSCTL=y 40CONFIG_SYSCTL=y
39# CONFIG_AUDIT is not set 41# CONFIG_AUDIT is not set
40# CONFIG_IKCONFIG is not set 42# CONFIG_IKCONFIG is not set
@@ -51,10 +53,12 @@ CONFIG_PRINTK=y
51CONFIG_BUG=y 53CONFIG_BUG=y
52CONFIG_ELF_CORE=y 54CONFIG_ELF_CORE=y
53CONFIG_BASE_FULL=y 55CONFIG_BASE_FULL=y
56CONFIG_RT_MUTEXES=y
54CONFIG_FUTEX=y 57CONFIG_FUTEX=y
55CONFIG_EPOLL=y 58CONFIG_EPOLL=y
56CONFIG_SHMEM=y 59CONFIG_SHMEM=y
57CONFIG_SLAB=y 60CONFIG_SLAB=y
61CONFIG_VM_EVENT_COUNTERS=y
58# CONFIG_TINY_SHMEM is not set 62# CONFIG_TINY_SHMEM is not set
59CONFIG_BASE_SMALL=0 63CONFIG_BASE_SMALL=0
60# CONFIG_SLOB is not set 64# CONFIG_SLOB is not set
@@ -127,8 +131,8 @@ CONFIG_SPARSEMEM=y
127CONFIG_HAVE_MEMORY_PRESENT=y 131CONFIG_HAVE_MEMORY_PRESENT=y
128# CONFIG_SPARSEMEM_STATIC is not set 132# CONFIG_SPARSEMEM_STATIC is not set
129CONFIG_SPARSEMEM_EXTREME=y 133CONFIG_SPARSEMEM_EXTREME=y
130CONFIG_MEMORY_HOTPLUG=y
131CONFIG_SPLIT_PTLOCK_CPUS=4 134CONFIG_SPLIT_PTLOCK_CPUS=4
135CONFIG_RESOURCES_64BIT=y
132CONFIG_GENERIC_ISA_DMA=y 136CONFIG_GENERIC_ISA_DMA=y
133CONFIG_SBUS=y 137CONFIG_SBUS=y
134CONFIG_SBUSCHAR=y 138CONFIG_SBUSCHAR=y
@@ -203,7 +207,6 @@ CONFIG_TCP_CONG_VEGAS=m
203CONFIG_TCP_CONG_SCALABLE=m 207CONFIG_TCP_CONG_SCALABLE=m
204CONFIG_TCP_CONG_LP=m 208CONFIG_TCP_CONG_LP=m
205CONFIG_TCP_CONG_VENO=m 209CONFIG_TCP_CONG_VENO=m
206CONFIG_TCP_CONG_COMPOUND=m
207CONFIG_IPV6=m 210CONFIG_IPV6=m
208CONFIG_IPV6_PRIVACY=y 211CONFIG_IPV6_PRIVACY=y
209CONFIG_IPV6_ROUTER_PREF=y 212CONFIG_IPV6_ROUTER_PREF=y
@@ -461,9 +464,8 @@ CONFIG_MD_LINEAR=m
461CONFIG_MD_RAID0=m 464CONFIG_MD_RAID0=m
462CONFIG_MD_RAID1=m 465CONFIG_MD_RAID1=m
463CONFIG_MD_RAID10=m 466CONFIG_MD_RAID10=m
464CONFIG_MD_RAID5=m 467CONFIG_MD_RAID456=m
465# CONFIG_MD_RAID5_RESHAPE is not set 468# CONFIG_MD_RAID5_RESHAPE is not set
466CONFIG_MD_RAID6=m
467CONFIG_MD_MULTIPATH=m 469CONFIG_MD_MULTIPATH=m
468# CONFIG_MD_FAULTY is not set 470# CONFIG_MD_FAULTY is not set
469CONFIG_BLK_DEV_DM=m 471CONFIG_BLK_DEV_DM=m
@@ -663,6 +665,7 @@ CONFIG_SERIO_RAW=m
663CONFIG_VT=y 665CONFIG_VT=y
664CONFIG_VT_CONSOLE=y 666CONFIG_VT_CONSOLE=y
665CONFIG_HW_CONSOLE=y 667CONFIG_HW_CONSOLE=y
668# CONFIG_VT_HW_CONSOLE_BINDING is not set
666# CONFIG_SERIAL_NONSTANDARD is not set 669# CONFIG_SERIAL_NONSTANDARD is not set
667 670
668# 671#
@@ -693,6 +696,7 @@ CONFIG_UNIX98_PTYS=y
693# Watchdog Cards 696# Watchdog Cards
694# 697#
695# CONFIG_WATCHDOG is not set 698# CONFIG_WATCHDOG is not set
699# CONFIG_HW_RANDOM is not set
696CONFIG_RTC=y 700CONFIG_RTC=y
697# CONFIG_DTLK is not set 701# CONFIG_DTLK is not set
698# CONFIG_R3964 is not set 702# CONFIG_R3964 is not set
@@ -839,12 +843,13 @@ CONFIG_VIDEO_V4L2=y
839# 843#
840# Graphics support 844# Graphics support
841# 845#
846# CONFIG_FIRMWARE_EDID is not set
842CONFIG_FB=y 847CONFIG_FB=y
843CONFIG_FB_CFB_FILLRECT=y 848CONFIG_FB_CFB_FILLRECT=y
844CONFIG_FB_CFB_COPYAREA=y 849CONFIG_FB_CFB_COPYAREA=y
845CONFIG_FB_CFB_IMAGEBLIT=y 850CONFIG_FB_CFB_IMAGEBLIT=y
846# CONFIG_FB_MACMODES is not set 851# CONFIG_FB_MACMODES is not set
847# CONFIG_FB_FIRMWARE_EDID is not set 852# CONFIG_FB_BACKLIGHT is not set
848CONFIG_FB_MODE_HELPERS=y 853CONFIG_FB_MODE_HELPERS=y
849CONFIG_FB_TILEBLITTING=y 854CONFIG_FB_TILEBLITTING=y
850# CONFIG_FB_CIRRUS is not set 855# CONFIG_FB_CIRRUS is not set
@@ -954,6 +959,18 @@ CONFIG_SND_ALI5451=m
954# CONFIG_SND_CMIPCI is not set 959# CONFIG_SND_CMIPCI is not set
955# CONFIG_SND_CS4281 is not set 960# CONFIG_SND_CS4281 is not set
956# CONFIG_SND_CS46XX is not set 961# CONFIG_SND_CS46XX is not set
962# CONFIG_SND_DARLA20 is not set
963# CONFIG_SND_GINA20 is not set
964# CONFIG_SND_LAYLA20 is not set
965# CONFIG_SND_DARLA24 is not set
966# CONFIG_SND_GINA24 is not set
967# CONFIG_SND_LAYLA24 is not set
968# CONFIG_SND_MONA is not set
969# CONFIG_SND_MIA is not set
970# CONFIG_SND_ECHO3G is not set
971# CONFIG_SND_INDIGO is not set
972# CONFIG_SND_INDIGOIO is not set
973# CONFIG_SND_INDIGODJ is not set
957# CONFIG_SND_EMU10K1 is not set 974# CONFIG_SND_EMU10K1 is not set
958# CONFIG_SND_EMU10K1X is not set 975# CONFIG_SND_EMU10K1X is not set
959# CONFIG_SND_ENS1370 is not set 976# CONFIG_SND_ENS1370 is not set
@@ -1104,7 +1121,7 @@ CONFIG_USB_HIDDEV=y
1104# CONFIG_USB_LEGOTOWER is not set 1121# CONFIG_USB_LEGOTOWER is not set
1105# CONFIG_USB_LCD is not set 1122# CONFIG_USB_LCD is not set
1106# CONFIG_USB_LED is not set 1123# CONFIG_USB_LED is not set
1107# CONFIG_USB_CY7C63 is not set 1124# CONFIG_USB_CYPRESS_CY7C63 is not set
1108# CONFIG_USB_CYTHERM is not set 1125# CONFIG_USB_CYTHERM is not set
1109# CONFIG_USB_PHIDGETKIT is not set 1126# CONFIG_USB_PHIDGETKIT is not set
1110# CONFIG_USB_PHIDGETSERVO is not set 1127# CONFIG_USB_PHIDGETSERVO is not set
@@ -1331,14 +1348,19 @@ CONFIG_KPROBES=y
1331# 1348#
1332CONFIG_PRINTK_TIME=y 1349CONFIG_PRINTK_TIME=y
1333CONFIG_MAGIC_SYSRQ=y 1350CONFIG_MAGIC_SYSRQ=y
1351# CONFIG_UNUSED_SYMBOLS is not set
1334CONFIG_DEBUG_KERNEL=y 1352CONFIG_DEBUG_KERNEL=y
1335CONFIG_LOG_BUF_SHIFT=18 1353CONFIG_LOG_BUF_SHIFT=18
1336CONFIG_DETECT_SOFTLOCKUP=y 1354CONFIG_DETECT_SOFTLOCKUP=y
1337CONFIG_SCHEDSTATS=y 1355CONFIG_SCHEDSTATS=y
1338# CONFIG_DEBUG_SLAB is not set 1356# CONFIG_DEBUG_SLAB is not set
1339# CONFIG_DEBUG_MUTEXES is not set 1357# CONFIG_DEBUG_RT_MUTEXES is not set
1358# CONFIG_RT_MUTEX_TESTER is not set
1340# CONFIG_DEBUG_SPINLOCK is not set 1359# CONFIG_DEBUG_SPINLOCK is not set
1360# CONFIG_DEBUG_MUTEXES is not set
1361# CONFIG_DEBUG_RWSEMS is not set
1341# CONFIG_DEBUG_SPINLOCK_SLEEP is not set 1362# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1363# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1342# CONFIG_DEBUG_KOBJECT is not set 1364# CONFIG_DEBUG_KOBJECT is not set
1343CONFIG_DEBUG_BUGVERBOSE=y 1365CONFIG_DEBUG_BUGVERBOSE=y
1344# CONFIG_DEBUG_INFO is not set 1366# CONFIG_DEBUG_INFO is not set
@@ -1402,3 +1424,4 @@ CONFIG_CRC32=y
1402CONFIG_LIBCRC32C=m 1424CONFIG_LIBCRC32C=m
1403CONFIG_ZLIB_INFLATE=y 1425CONFIG_ZLIB_INFLATE=y
1404CONFIG_ZLIB_DEFLATE=y 1426CONFIG_ZLIB_DEFLATE=y
1427CONFIG_PLIST=y
diff --git a/arch/sparc64/kernel/devices.c b/arch/sparc64/kernel/devices.c
index f8ef2f2b9b37..ec10f7edcf86 100644
--- a/arch/sparc64/kernel/devices.c
+++ b/arch/sparc64/kernel/devices.c
@@ -66,9 +66,6 @@ static int check_cpu_node(struct device_node *dp, int *cur_inst,
66 void *compare_arg, 66 void *compare_arg,
67 struct device_node **dev_node, int *mid) 67 struct device_node **dev_node, int *mid)
68{ 68{
69 if (strcmp(dp->type, "cpu"))
70 return -ENODEV;
71
72 if (!compare(dp, *cur_inst, compare_arg)) { 69 if (!compare(dp, *cur_inst, compare_arg)) {
73 if (dev_node) 70 if (dev_node)
74 *dev_node = dp; 71 *dev_node = dp;
diff --git a/arch/sparc64/kernel/head.S b/arch/sparc64/kernel/head.S
index 75684b56767e..c8e9dc9d68a9 100644
--- a/arch/sparc64/kernel/head.S
+++ b/arch/sparc64/kernel/head.S
@@ -551,9 +551,10 @@ setup_trap_table:
551 save %sp, -192, %sp 551 save %sp, -192, %sp
552 552
553 /* Force interrupts to be disabled. */ 553 /* Force interrupts to be disabled. */
554 rdpr %pstate, %o1 554 rdpr %pstate, %l0
555 andn %o1, PSTATE_IE, %o1 555 andn %l0, PSTATE_IE, %o1
556 wrpr %o1, 0x0, %pstate 556 wrpr %o1, 0x0, %pstate
557 rdpr %pil, %l1
557 wrpr %g0, 15, %pil 558 wrpr %g0, 15, %pil
558 559
559 /* Make the firmware call to jump over to the Linux trap table. */ 560 /* Make the firmware call to jump over to the Linux trap table. */
@@ -622,11 +623,9 @@ setup_trap_table:
622 call init_irqwork_curcpu 623 call init_irqwork_curcpu
623 nop 624 nop
624 625
625 /* Now we can turn interrupts back on. */ 626 /* Now we can restore interrupt state. */
626 rdpr %pstate, %o1 627 wrpr %l0, 0, %pstate
627 or %o1, PSTATE_IE, %o1 628 wrpr %l1, 0x0, %pil
628 wrpr %o1, 0, %pstate
629 wrpr %g0, 0x0, %pil
630 629
631 ret 630 ret
632 restore 631 restore
diff --git a/arch/sparc64/kernel/of_device.c b/arch/sparc64/kernel/of_device.c
index 169b017eec0b..238bbf6de07d 100644
--- a/arch/sparc64/kernel/of_device.c
+++ b/arch/sparc64/kernel/of_device.c
@@ -210,7 +210,7 @@ struct bus_type of_bus_type = {
210}; 210};
211EXPORT_SYMBOL(of_bus_type); 211EXPORT_SYMBOL(of_bus_type);
212 212
213static inline u64 of_read_addr(u32 *cell, int size) 213static inline u64 of_read_addr(const u32 *cell, int size)
214{ 214{
215 u64 r = 0; 215 u64 r = 0;
216 while (size--) 216 while (size--)
@@ -236,8 +236,8 @@ struct of_bus {
236 int (*match)(struct device_node *parent); 236 int (*match)(struct device_node *parent);
237 void (*count_cells)(struct device_node *child, 237 void (*count_cells)(struct device_node *child,
238 int *addrc, int *sizec); 238 int *addrc, int *sizec);
239 u64 (*map)(u32 *addr, u32 *range, int na, int ns, int pna); 239 int (*map)(u32 *addr, const u32 *range,
240 int (*translate)(u32 *addr, u64 offset, int na); 240 int na, int ns, int pna);
241 unsigned int (*get_flags)(u32 *addr); 241 unsigned int (*get_flags)(u32 *addr);
242}; 242};
243 243
@@ -251,27 +251,49 @@ static void of_bus_default_count_cells(struct device_node *dev,
251 get_cells(dev, addrc, sizec); 251 get_cells(dev, addrc, sizec);
252} 252}
253 253
254static u64 of_bus_default_map(u32 *addr, u32 *range, int na, int ns, int pna) 254/* Make sure the least significant 64-bits are in-range. Even
255 * for 3 or 4 cell values it is a good enough approximation.
256 */
257static int of_out_of_range(const u32 *addr, const u32 *base,
258 const u32 *size, int na, int ns)
255{ 259{
256 u64 cp, s, da; 260 u64 a = of_read_addr(addr, na);
261 u64 b = of_read_addr(base, na);
262
263 if (a < b)
264 return 1;
257 265
258 cp = of_read_addr(range, na); 266 b += of_read_addr(size, ns);
259 s = of_read_addr(range + na + pna, ns); 267 if (a >= b)
260 da = of_read_addr(addr, na); 268 return 1;
261 269
262 if (da < cp || da >= (cp + s)) 270 return 0;
263 return OF_BAD_ADDR;
264 return da - cp;
265} 271}
266 272
267static int of_bus_default_translate(u32 *addr, u64 offset, int na) 273static int of_bus_default_map(u32 *addr, const u32 *range,
274 int na, int ns, int pna)
268{ 275{
269 u64 a = of_read_addr(addr, na); 276 u32 result[OF_MAX_ADDR_CELLS];
270 memset(addr, 0, na * 4); 277 int i;
271 a += offset; 278
272 if (na > 1) 279 if (ns > 2) {
273 addr[na - 2] = a >> 32; 280 printk("of_device: Cannot handle size cells (%d) > 2.", ns);
274 addr[na - 1] = a & 0xffffffffu; 281 return -EINVAL;
282 }
283
284 if (of_out_of_range(addr, range, range + na + pna, na, ns))
285 return -EINVAL;
286
287 /* Start with the parent range base. */
288 memcpy(result, range + na, pna * 4);
289
290 /* Add in the child address offset. */
291 for (i = 0; i < na; i++)
292 result[pna - 1 - i] +=
293 (addr[na - 1 - i] -
294 range[na - 1 - i]);
295
296 memcpy(addr, result, pna * 4);
275 297
276 return 0; 298 return 0;
277} 299}
@@ -287,7 +309,20 @@ static unsigned int of_bus_default_get_flags(u32 *addr)
287 309
288static int of_bus_pci_match(struct device_node *np) 310static int of_bus_pci_match(struct device_node *np)
289{ 311{
290 return !strcmp(np->type, "pci") || !strcmp(np->type, "pciex"); 312 if (!strcmp(np->type, "pci") || !strcmp(np->type, "pciex")) {
313 /* Do not do PCI specific frobbing if the
314 * PCI bridge lacks a ranges property. We
315 * want to pass it through up to the next
316 * parent as-is, not with the PCI translate
317 * method which chops off the top address cell.
318 */
319 if (!of_find_property(np, "ranges", NULL))
320 return 0;
321
322 return 1;
323 }
324
325 return 0;
291} 326}
292 327
293static void of_bus_pci_count_cells(struct device_node *np, 328static void of_bus_pci_count_cells(struct device_node *np,
@@ -299,27 +334,32 @@ static void of_bus_pci_count_cells(struct device_node *np,
299 *sizec = 2; 334 *sizec = 2;
300} 335}
301 336
302static u64 of_bus_pci_map(u32 *addr, u32 *range, int na, int ns, int pna) 337static int of_bus_pci_map(u32 *addr, const u32 *range,
338 int na, int ns, int pna)
303{ 339{
304 u64 cp, s, da; 340 u32 result[OF_MAX_ADDR_CELLS];
341 int i;
305 342
306 /* Check address type match */ 343 /* Check address type match */
307 if ((addr[0] ^ range[0]) & 0x03000000) 344 if ((addr[0] ^ range[0]) & 0x03000000)
308 return OF_BAD_ADDR; 345 return -EINVAL;
309 346
310 /* Read address values, skipping high cell */ 347 if (of_out_of_range(addr + 1, range + 1, range + na + pna,
311 cp = of_read_addr(range + 1, na - 1); 348 na - 1, ns))
312 s = of_read_addr(range + na + pna, ns); 349 return -EINVAL;
313 da = of_read_addr(addr + 1, na - 1);
314 350
315 if (da < cp || da >= (cp + s)) 351 /* Start with the parent range base. */
316 return OF_BAD_ADDR; 352 memcpy(result, range + na, pna * 4);
317 return da - cp;
318}
319 353
320static int of_bus_pci_translate(u32 *addr, u64 offset, int na) 354 /* Add in the child address offset, skipping high cell. */
321{ 355 for (i = 0; i < na - 1; i++)
322 return of_bus_default_translate(addr + 1, offset, na - 1); 356 result[pna - 1 - i] +=
357 (addr[na - 1 - i] -
358 range[na - 1 - i]);
359
360 memcpy(addr, result, pna * 4);
361
362 return 0;
323} 363}
324 364
325static unsigned int of_bus_pci_get_flags(u32 *addr) 365static unsigned int of_bus_pci_get_flags(u32 *addr)
@@ -340,59 +380,6 @@ static unsigned int of_bus_pci_get_flags(u32 *addr)
340} 380}
341 381
342/* 382/*
343 * ISA bus specific translator
344 */
345
346static int of_bus_isa_match(struct device_node *np)
347{
348 return !strcmp(np->name, "isa");
349}
350
351static void of_bus_isa_count_cells(struct device_node *child,
352 int *addrc, int *sizec)
353{
354 if (addrc)
355 *addrc = 2;
356 if (sizec)
357 *sizec = 1;
358}
359
360static u64 of_bus_isa_map(u32 *addr, u32 *range, int na, int ns, int pna)
361{
362 u64 cp, s, da;
363
364 /* Check address type match */
365 if ((addr[0] ^ range[0]) & 0x00000001)
366 return OF_BAD_ADDR;
367
368 /* Read address values, skipping high cell */
369 cp = of_read_addr(range + 1, na - 1);
370 s = of_read_addr(range + na + pna, ns);
371 da = of_read_addr(addr + 1, na - 1);
372
373 if (da < cp || da >= (cp + s))
374 return OF_BAD_ADDR;
375 return da - cp;
376}
377
378static int of_bus_isa_translate(u32 *addr, u64 offset, int na)
379{
380 return of_bus_default_translate(addr + 1, offset, na - 1);
381}
382
383static unsigned int of_bus_isa_get_flags(u32 *addr)
384{
385 unsigned int flags = 0;
386 u32 w = addr[0];
387
388 if (w & 1)
389 flags |= IORESOURCE_IO;
390 else
391 flags |= IORESOURCE_MEM;
392 return flags;
393}
394
395/*
396 * SBUS bus specific translator 383 * SBUS bus specific translator
397 */ 384 */
398 385
@@ -411,16 +398,11 @@ static void of_bus_sbus_count_cells(struct device_node *child,
411 *sizec = 1; 398 *sizec = 1;
412} 399}
413 400
414static u64 of_bus_sbus_map(u32 *addr, u32 *range, int na, int ns, int pna) 401static int of_bus_sbus_map(u32 *addr, const u32 *range, int na, int ns, int pna)
415{ 402{
416 return of_bus_default_map(addr, range, na, ns, pna); 403 return of_bus_default_map(addr, range, na, ns, pna);
417} 404}
418 405
419static int of_bus_sbus_translate(u32 *addr, u64 offset, int na)
420{
421 return of_bus_default_translate(addr, offset, na);
422}
423
424static unsigned int of_bus_sbus_get_flags(u32 *addr) 406static unsigned int of_bus_sbus_get_flags(u32 *addr)
425{ 407{
426 return IORESOURCE_MEM; 408 return IORESOURCE_MEM;
@@ -439,19 +421,8 @@ static struct of_bus of_busses[] = {
439 .match = of_bus_pci_match, 421 .match = of_bus_pci_match,
440 .count_cells = of_bus_pci_count_cells, 422 .count_cells = of_bus_pci_count_cells,
441 .map = of_bus_pci_map, 423 .map = of_bus_pci_map,
442 .translate = of_bus_pci_translate,
443 .get_flags = of_bus_pci_get_flags, 424 .get_flags = of_bus_pci_get_flags,
444 }, 425 },
445 /* ISA */
446 {
447 .name = "isa",
448 .addr_prop_name = "reg",
449 .match = of_bus_isa_match,
450 .count_cells = of_bus_isa_count_cells,
451 .map = of_bus_isa_map,
452 .translate = of_bus_isa_translate,
453 .get_flags = of_bus_isa_get_flags,
454 },
455 /* SBUS */ 426 /* SBUS */
456 { 427 {
457 .name = "sbus", 428 .name = "sbus",
@@ -459,7 +430,6 @@ static struct of_bus of_busses[] = {
459 .match = of_bus_sbus_match, 430 .match = of_bus_sbus_match,
460 .count_cells = of_bus_sbus_count_cells, 431 .count_cells = of_bus_sbus_count_cells,
461 .map = of_bus_sbus_map, 432 .map = of_bus_sbus_map,
462 .translate = of_bus_sbus_translate,
463 .get_flags = of_bus_sbus_get_flags, 433 .get_flags = of_bus_sbus_get_flags,
464 }, 434 },
465 /* Default */ 435 /* Default */
@@ -469,7 +439,6 @@ static struct of_bus of_busses[] = {
469 .match = NULL, 439 .match = NULL,
470 .count_cells = of_bus_default_count_cells, 440 .count_cells = of_bus_default_count_cells,
471 .map = of_bus_default_map, 441 .map = of_bus_default_map,
472 .translate = of_bus_default_translate,
473 .get_flags = of_bus_default_get_flags, 442 .get_flags = of_bus_default_get_flags,
474 }, 443 },
475}; 444};
@@ -494,33 +463,62 @@ static int __init build_one_resource(struct device_node *parent,
494 u32 *ranges; 463 u32 *ranges;
495 unsigned int rlen; 464 unsigned int rlen;
496 int rone; 465 int rone;
497 u64 offset = OF_BAD_ADDR;
498 466
499 ranges = of_get_property(parent, "ranges", &rlen); 467 ranges = of_get_property(parent, "ranges", &rlen);
500 if (ranges == NULL || rlen == 0) { 468 if (ranges == NULL || rlen == 0) {
501 offset = of_read_addr(addr, na); 469 u32 result[OF_MAX_ADDR_CELLS];
502 memset(addr, 0, pna * 4); 470 int i;
503 goto finish; 471
472 memset(result, 0, pna * 4);
473 for (i = 0; i < na; i++)
474 result[pna - 1 - i] =
475 addr[na - 1 - i];
476
477 memcpy(addr, result, pna * 4);
478 return 0;
504 } 479 }
505 480
506 /* Now walk through the ranges */ 481 /* Now walk through the ranges */
507 rlen /= 4; 482 rlen /= 4;
508 rone = na + pna + ns; 483 rone = na + pna + ns;
509 for (; rlen >= rone; rlen -= rone, ranges += rone) { 484 for (; rlen >= rone; rlen -= rone, ranges += rone) {
510 offset = bus->map(addr, ranges, na, ns, pna); 485 if (!bus->map(addr, ranges, na, ns, pna))
511 if (offset != OF_BAD_ADDR) 486 return 0;
512 break;
513 } 487 }
514 if (offset == OF_BAD_ADDR) 488
489 return 1;
490}
491
492static int __init use_1to1_mapping(struct device_node *pp)
493{
494 char *model;
495
496 /* If this is on the PMU bus, don't try to translate it even
497 * if a ranges property exists.
498 */
499 if (!strcmp(pp->name, "pmu"))
515 return 1; 500 return 1;
516 501
517 memcpy(addr, ranges + na, 4 * pna); 502 /* If we have a ranges property in the parent, use it. */
503 if (of_find_property(pp, "ranges", NULL) != NULL)
504 return 0;
505
506 /* If the parent is the dma node of an ISA bus, pass
507 * the translation up to the root.
508 */
509 if (!strcmp(pp->name, "dma"))
510 return 0;
511
512 /* Similarly for Simba PCI bridges. */
513 model = of_get_property(pp, "model", NULL);
514 if (model && !strcmp(model, "SUNW,simba"))
515 return 0;
518 516
519finish: 517 return 1;
520 /* Translate it into parent bus space */
521 return pbus->translate(addr, offset, pna);
522} 518}
523 519
520static int of_resource_verbose;
521
524static void __init build_device_resources(struct of_device *op, 522static void __init build_device_resources(struct of_device *op,
525 struct device *parent) 523 struct device *parent)
526{ 524{
@@ -544,9 +542,17 @@ static void __init build_device_resources(struct of_device *op,
544 /* Convert to num-cells. */ 542 /* Convert to num-cells. */
545 num_reg /= 4; 543 num_reg /= 4;
546 544
547 /* Conver to num-entries. */ 545 /* Convert to num-entries. */
548 num_reg /= na + ns; 546 num_reg /= na + ns;
549 547
548 /* Prevent overruning the op->resources[] array. */
549 if (num_reg > PROMREG_MAX) {
550 printk(KERN_WARNING "%s: Too many regs (%d), "
551 "limiting to %d.\n",
552 op->node->full_name, num_reg, PROMREG_MAX);
553 num_reg = PROMREG_MAX;
554 }
555
550 for (index = 0; index < num_reg; index++) { 556 for (index = 0; index < num_reg; index++) {
551 struct resource *r = &op->resource[index]; 557 struct resource *r = &op->resource[index];
552 u32 addr[OF_MAX_ADDR_CELLS]; 558 u32 addr[OF_MAX_ADDR_CELLS];
@@ -564,15 +570,7 @@ static void __init build_device_resources(struct of_device *op,
564 570
565 memcpy(addr, reg, na * 4); 571 memcpy(addr, reg, na * 4);
566 572
567 /* If the immediate parent has no ranges property to apply, 573 if (use_1to1_mapping(pp)) {
568 * just use a 1<->1 mapping. Unless it is the 'dma' child
569 * of an isa bus, which must be passed up towards the root.
570 *
571 * Also, don't try to translate PMU bus device registers.
572 */
573 if ((of_find_property(pp, "ranges", NULL) == NULL &&
574 strcmp(pp->name, "dma") != 0) ||
575 !strcmp(pp->name, "pmu")) {
576 result = of_read_addr(addr, na); 574 result = of_read_addr(addr, na);
577 goto build_res; 575 goto build_res;
578 } 576 }
@@ -591,7 +589,8 @@ static void __init build_device_resources(struct of_device *op,
591 pbus = of_match_bus(pp); 589 pbus = of_match_bus(pp);
592 pbus->count_cells(dp, &pna, &pns); 590 pbus->count_cells(dp, &pna, &pns);
593 591
594 if (build_one_resource(dp, bus, pbus, addr, dna, dns, pna)) 592 if (build_one_resource(dp, bus, pbus, addr,
593 dna, dns, pna))
595 break; 594 break;
596 595
597 dna = pna; 596 dna = pna;
@@ -601,6 +600,12 @@ static void __init build_device_resources(struct of_device *op,
601 600
602 build_res: 601 build_res:
603 memset(r, 0, sizeof(*r)); 602 memset(r, 0, sizeof(*r));
603
604 if (of_resource_verbose)
605 printk("%s reg[%d] -> %lx\n",
606 op->node->full_name, index,
607 result);
608
604 if (result != OF_BAD_ADDR) { 609 if (result != OF_BAD_ADDR) {
605 if (tlb_type == hypervisor) 610 if (tlb_type == hypervisor)
606 result &= 0x0fffffffffffffffUL; 611 result &= 0x0fffffffffffffffUL;
@@ -653,8 +658,22 @@ apply_interrupt_map(struct device_node *dp, struct device_node *pp,
653 next: 658 next:
654 imap += (na + 3); 659 imap += (na + 3);
655 } 660 }
656 if (i == imlen) 661 if (i == imlen) {
662 /* Psycho and Sabre PCI controllers can have 'interrupt-map'
663 * properties that do not include the on-board device
664 * interrupts. Instead, the device's 'interrupts' property
665 * is already a fully specified INO value.
666 *
667 * Handle this by deciding that, if we didn't get a
668 * match in the parent's 'interrupt-map', and the
669 * parent is an IRQ translater, then use the parent as
670 * our IRQ controller.
671 */
672 if (pp->irq_trans)
673 return pp;
674
657 return NULL; 675 return NULL;
676 }
658 677
659 *irq_p = irq; 678 *irq_p = irq;
660 cp = of_find_node_by_phandle(handle); 679 cp = of_find_node_by_phandle(handle);
@@ -684,6 +703,8 @@ static unsigned int __init pci_irq_swizzle(struct device_node *dp,
684 return ret; 703 return ret;
685} 704}
686 705
706static int of_irq_verbose;
707
687static unsigned int __init build_one_device_irq(struct of_device *op, 708static unsigned int __init build_one_device_irq(struct of_device *op,
688 struct device *parent, 709 struct device *parent,
689 unsigned int irq) 710 unsigned int irq)
@@ -698,10 +719,11 @@ static unsigned int __init build_one_device_irq(struct of_device *op,
698 if (dp->irq_trans) { 719 if (dp->irq_trans) {
699 irq = dp->irq_trans->irq_build(dp, irq, 720 irq = dp->irq_trans->irq_build(dp, irq,
700 dp->irq_trans->data); 721 dp->irq_trans->data);
701#if 1 722
702 printk("%s: direct translate %x --> %x\n", 723 if (of_irq_verbose)
703 dp->full_name, orig_irq, irq); 724 printk("%s: direct translate %x --> %x\n",
704#endif 725 dp->full_name, orig_irq, irq);
726
705 return irq; 727 return irq;
706 } 728 }
707 729
@@ -728,12 +750,13 @@ static unsigned int __init build_one_device_irq(struct of_device *op,
728 iret = apply_interrupt_map(dp, pp, 750 iret = apply_interrupt_map(dp, pp,
729 imap, imlen, imsk, 751 imap, imlen, imsk,
730 &irq); 752 &irq);
731#if 1 753
732 printk("%s: Apply [%s:%x] imap --> [%s:%x]\n", 754 if (of_irq_verbose)
733 op->node->full_name, 755 printk("%s: Apply [%s:%x] imap --> [%s:%x]\n",
734 pp->full_name, this_orig_irq, 756 op->node->full_name,
735 (iret ? iret->full_name : "NULL"), irq); 757 pp->full_name, this_orig_irq,
736#endif 758 (iret ? iret->full_name : "NULL"), irq);
759
737 if (!iret) 760 if (!iret)
738 break; 761 break;
739 762
@@ -747,11 +770,13 @@ static unsigned int __init build_one_device_irq(struct of_device *op,
747 unsigned int this_orig_irq = irq; 770 unsigned int this_orig_irq = irq;
748 771
749 irq = pci_irq_swizzle(dp, pp, irq); 772 irq = pci_irq_swizzle(dp, pp, irq);
750#if 1 773 if (of_irq_verbose)
751 printk("%s: PCI swizzle [%s] %x --> %x\n", 774 printk("%s: PCI swizzle [%s] "
752 op->node->full_name, 775 "%x --> %x\n",
753 pp->full_name, this_orig_irq, irq); 776 op->node->full_name,
754#endif 777 pp->full_name, this_orig_irq,
778 irq);
779
755 } 780 }
756 781
757 if (pp->irq_trans) { 782 if (pp->irq_trans) {
@@ -767,10 +792,9 @@ static unsigned int __init build_one_device_irq(struct of_device *op,
767 792
768 irq = ip->irq_trans->irq_build(op->node, irq, 793 irq = ip->irq_trans->irq_build(op->node, irq,
769 ip->irq_trans->data); 794 ip->irq_trans->data);
770#if 1 795 if (of_irq_verbose)
771 printk("%s: Apply IRQ trans [%s] %x --> %x\n", 796 printk("%s: Apply IRQ trans [%s] %x --> %x\n",
772 op->node->full_name, ip->full_name, orig_irq, irq); 797 op->node->full_name, ip->full_name, orig_irq, irq);
773#endif
774 798
775 return irq; 799 return irq;
776} 800}
@@ -801,6 +825,14 @@ static struct of_device * __init scan_one_device(struct device_node *dp,
801 op->num_irqs = 0; 825 op->num_irqs = 0;
802 } 826 }
803 827
828 /* Prevent overruning the op->irqs[] array. */
829 if (op->num_irqs > PROMINTR_MAX) {
830 printk(KERN_WARNING "%s: Too many irqs (%d), "
831 "limiting to %d.\n",
832 dp->full_name, op->num_irqs, PROMINTR_MAX);
833 op->num_irqs = PROMINTR_MAX;
834 }
835
804 build_device_resources(op, parent); 836 build_device_resources(op, parent);
805 for (i = 0; i < op->num_irqs; i++) 837 for (i = 0; i < op->num_irqs; i++)
806 op->irqs[i] = build_one_device_irq(op, parent, op->irqs[i]); 838 op->irqs[i] = build_one_device_irq(op, parent, op->irqs[i]);
@@ -870,6 +902,20 @@ static int __init of_bus_driver_init(void)
870 902
871postcore_initcall(of_bus_driver_init); 903postcore_initcall(of_bus_driver_init);
872 904
905static int __init of_debug(char *str)
906{
907 int val = 0;
908
909 get_option(&str, &val);
910 if (val & 1)
911 of_resource_verbose = 1;
912 if (val & 2)
913 of_irq_verbose = 1;
914 return 1;
915}
916
917__setup("of_debug=", of_debug);
918
873int of_register_driver(struct of_platform_driver *drv, struct bus_type *bus) 919int of_register_driver(struct of_platform_driver *drv, struct bus_type *bus)
874{ 920{
875 /* initialize common driver fields */ 921 /* initialize common driver fields */
@@ -922,9 +968,11 @@ int of_device_register(struct of_device *ofdev)
922 if (rc) 968 if (rc)
923 return rc; 969 return rc;
924 970
925 device_create_file(&ofdev->dev, &dev_attr_devspec); 971 rc = device_create_file(&ofdev->dev, &dev_attr_devspec);
972 if (rc)
973 device_unregister(&ofdev->dev);
926 974
927 return 0; 975 return rc;
928} 976}
929 977
930void of_device_unregister(struct of_device *ofdev) 978void of_device_unregister(struct of_device *ofdev)
diff --git a/arch/sparc64/kernel/pci_psycho.c b/arch/sparc64/kernel/pci_psycho.c
index 197a7ffd57ee..1ec0aab68c08 100644
--- a/arch/sparc64/kernel/pci_psycho.c
+++ b/arch/sparc64/kernel/pci_psycho.c
@@ -1099,9 +1099,6 @@ static void pbm_register_toplevel_resources(struct pci_controller_info *p,
1099{ 1099{
1100 char *name = pbm->name; 1100 char *name = pbm->name;
1101 1101
1102 sprintf(name, "PSYCHO%d PBM%c",
1103 p->index,
1104 (pbm == &p->pbm_A ? 'A' : 'B'));
1105 pbm->io_space.name = pbm->mem_space.name = name; 1102 pbm->io_space.name = pbm->mem_space.name = name;
1106 1103
1107 request_resource(&ioport_resource, &pbm->io_space); 1104 request_resource(&ioport_resource, &pbm->io_space);
@@ -1203,12 +1200,13 @@ static void psycho_pbm_init(struct pci_controller_info *p,
1203 pbm->io_space.flags = IORESOURCE_IO; 1200 pbm->io_space.flags = IORESOURCE_IO;
1204 pbm->mem_space.end = pbm->mem_space.start + PSYCHO_MEMSPACE_SIZE; 1201 pbm->mem_space.end = pbm->mem_space.start + PSYCHO_MEMSPACE_SIZE;
1205 pbm->mem_space.flags = IORESOURCE_MEM; 1202 pbm->mem_space.flags = IORESOURCE_MEM;
1206 pbm_register_toplevel_resources(p, pbm);
1207 1203
1208 pbm->parent = p; 1204 pbm->parent = p;
1209 pbm->prom_node = dp; 1205 pbm->prom_node = dp;
1210 pbm->name = dp->full_name; 1206 pbm->name = dp->full_name;
1211 1207
1208 pbm_register_toplevel_resources(p, pbm);
1209
1212 printk("%s: PSYCHO PCI Bus Module ver[%x:%x]\n", 1210 printk("%s: PSYCHO PCI Bus Module ver[%x:%x]\n",
1213 pbm->name, 1211 pbm->name,
1214 pbm->chip_version, pbm->chip_revision); 1212 pbm->chip_version, pbm->chip_revision);
diff --git a/arch/sparc64/kernel/prom.c b/arch/sparc64/kernel/prom.c
index fa484d4f241e..5cc5ab63293f 100644
--- a/arch/sparc64/kernel/prom.c
+++ b/arch/sparc64/kernel/prom.c
@@ -344,10 +344,12 @@ static unsigned long __psycho_onboard_imap_off[] = {
344/*0x2f*/ PSYCHO_IMAP_CE, 344/*0x2f*/ PSYCHO_IMAP_CE,
345/*0x30*/ PSYCHO_IMAP_A_ERR, 345/*0x30*/ PSYCHO_IMAP_A_ERR,
346/*0x31*/ PSYCHO_IMAP_B_ERR, 346/*0x31*/ PSYCHO_IMAP_B_ERR,
347/*0x32*/ PSYCHO_IMAP_PMGMT 347/*0x32*/ PSYCHO_IMAP_PMGMT,
348/*0x33*/ PSYCHO_IMAP_GFX,
349/*0x34*/ PSYCHO_IMAP_EUPA,
348}; 350};
349#define PSYCHO_ONBOARD_IRQ_BASE 0x20 351#define PSYCHO_ONBOARD_IRQ_BASE 0x20
350#define PSYCHO_ONBOARD_IRQ_LAST 0x32 352#define PSYCHO_ONBOARD_IRQ_LAST 0x34
351#define psycho_onboard_imap_offset(__ino) \ 353#define psycho_onboard_imap_offset(__ino) \
352 __psycho_onboard_imap_off[(__ino) - PSYCHO_ONBOARD_IRQ_BASE] 354 __psycho_onboard_imap_off[(__ino) - PSYCHO_ONBOARD_IRQ_BASE]
353 355
@@ -529,6 +531,10 @@ static unsigned long __sabre_onboard_imap_off[] = {
529/*0x2e*/ SABRE_IMAP_UE, 531/*0x2e*/ SABRE_IMAP_UE,
530/*0x2f*/ SABRE_IMAP_CE, 532/*0x2f*/ SABRE_IMAP_CE,
531/*0x30*/ SABRE_IMAP_PCIERR, 533/*0x30*/ SABRE_IMAP_PCIERR,
534/*0x31*/ 0 /* reserved */,
535/*0x32*/ 0 /* reserved */,
536/*0x33*/ SABRE_IMAP_GFX,
537/*0x34*/ SABRE_IMAP_EUPA,
532}; 538};
533#define SABRE_ONBOARD_IRQ_BASE 0x20 539#define SABRE_ONBOARD_IRQ_BASE 0x20
534#define SABRE_ONBOARD_IRQ_LAST 0x30 540#define SABRE_ONBOARD_IRQ_LAST 0x30
@@ -539,6 +545,45 @@ static unsigned long __sabre_onboard_imap_off[] = {
539 ((ino & 0x20) ? (SABRE_ICLR_SCSI + (((ino) & 0x1f) << 3)) : \ 545 ((ino & 0x20) ? (SABRE_ICLR_SCSI + (((ino) & 0x1f) << 3)) : \
540 (SABRE_ICLR_A_SLOT0 + (((ino) & 0x1f)<<3))) 546 (SABRE_ICLR_A_SLOT0 + (((ino) & 0x1f)<<3)))
541 547
548static int sabre_device_needs_wsync(struct device_node *dp)
549{
550 struct device_node *parent = dp->parent;
551 char *parent_model, *parent_compat;
552
553 /* This traversal up towards the root is meant to
554 * handle two cases:
555 *
556 * 1) non-PCI bus sitting under PCI, such as 'ebus'
557 * 2) the PCI controller interrupts themselves, which
558 * will use the sabre_irq_build but do not need
559 * the DMA synchronization handling
560 */
561 while (parent) {
562 if (!strcmp(parent->type, "pci"))
563 break;
564 parent = parent->parent;
565 }
566
567 if (!parent)
568 return 0;
569
570 parent_model = of_get_property(parent,
571 "model", NULL);
572 if (parent_model &&
573 (!strcmp(parent_model, "SUNW,sabre") ||
574 !strcmp(parent_model, "SUNW,simba")))
575 return 0;
576
577 parent_compat = of_get_property(parent,
578 "compatible", NULL);
579 if (parent_compat &&
580 (!strcmp(parent_compat, "pci108e,a000") ||
581 !strcmp(parent_compat, "pci108e,a001")))
582 return 0;
583
584 return 1;
585}
586
542static unsigned int sabre_irq_build(struct device_node *dp, 587static unsigned int sabre_irq_build(struct device_node *dp,
543 unsigned int ino, 588 unsigned int ino,
544 void *_data) 589 void *_data)
@@ -577,15 +622,17 @@ static unsigned int sabre_irq_build(struct device_node *dp,
577 622
578 virt_irq = build_irq(inofixup, iclr, imap); 623 virt_irq = build_irq(inofixup, iclr, imap);
579 624
625 /* If the parent device is a PCI<->PCI bridge other than
626 * APB, we have to install a pre-handler to ensure that
627 * all pending DMA is drained before the interrupt handler
628 * is run.
629 */
580 regs = of_get_property(dp, "reg", NULL); 630 regs = of_get_property(dp, "reg", NULL);
581 if (regs && 631 if (regs && sabre_device_needs_wsync(dp)) {
582 ((regs->phys_hi >> 16) & 0xff) != irq_data->pci_first_busno) {
583 irq_install_pre_handler(virt_irq, 632 irq_install_pre_handler(virt_irq,
584 sabre_wsync_handler, 633 sabre_wsync_handler,
585 (void *) (long) regs->phys_hi, 634 (void *) (long) regs->phys_hi,
586 (void *) 635 (void *) irq_data);
587 controller_regs +
588 SABRE_WRSYNC);
589 } 636 }
590 637
591 return virt_irq; 638 return virt_irq;
@@ -854,6 +901,8 @@ static unsigned long sysio_irq_offsets[] = {
854 SYSIO_IMAP_CE, 901 SYSIO_IMAP_CE,
855 SYSIO_IMAP_SBERR, 902 SYSIO_IMAP_SBERR,
856 SYSIO_IMAP_PMGMT, 903 SYSIO_IMAP_PMGMT,
904 SYSIO_IMAP_GFX,
905 SYSIO_IMAP_EUPA,
857}; 906};
858 907
859#undef bogon 908#undef bogon
@@ -1032,7 +1081,9 @@ static void sun4v_vdev_irq_trans_init(struct device_node *dp)
1032static void irq_trans_init(struct device_node *dp) 1081static void irq_trans_init(struct device_node *dp)
1033{ 1082{
1034 const char *model; 1083 const char *model;
1084#ifdef CONFIG_PCI
1035 int i; 1085 int i;
1086#endif
1036 1087
1037 model = of_get_property(dp, "model", NULL); 1088 model = of_get_property(dp, "model", NULL);
1038 if (!model) 1089 if (!model)
diff --git a/arch/sparc64/kernel/setup.c b/arch/sparc64/kernel/setup.c
index a73140466e01..958287448cfe 100644
--- a/arch/sparc64/kernel/setup.c
+++ b/arch/sparc64/kernel/setup.c
@@ -16,7 +16,7 @@
16#include <asm/smp.h> 16#include <asm/smp.h>
17#include <linux/user.h> 17#include <linux/user.h>
18#include <linux/a.out.h> 18#include <linux/a.out.h>
19#include <linux/tty.h> 19#include <linux/screen_info.h>
20#include <linux/delay.h> 20#include <linux/delay.h>
21#include <linux/fs.h> 21#include <linux/fs.h>
22#include <linux/seq_file.h> 22#include <linux/seq_file.h>
diff --git a/arch/sparc64/kernel/sparc64_ksyms.c b/arch/sparc64/kernel/sparc64_ksyms.c
index 4173de425f09..beffc82a1e85 100644
--- a/arch/sparc64/kernel/sparc64_ksyms.c
+++ b/arch/sparc64/kernel/sparc64_ksyms.c
@@ -124,11 +124,6 @@ EXPORT_SYMBOL(__write_lock);
124EXPORT_SYMBOL(__write_unlock); 124EXPORT_SYMBOL(__write_unlock);
125EXPORT_SYMBOL(__write_trylock); 125EXPORT_SYMBOL(__write_trylock);
126 126
127#if defined(CONFIG_MCOUNT)
128extern void _mcount(void);
129EXPORT_SYMBOL(_mcount);
130#endif
131
132/* CPU online map and active count. */ 127/* CPU online map and active count. */
133EXPORT_SYMBOL(cpu_online_map); 128EXPORT_SYMBOL(cpu_online_map);
134EXPORT_SYMBOL(phys_cpu_present_map); 129EXPORT_SYMBOL(phys_cpu_present_map);
@@ -136,6 +131,11 @@ EXPORT_SYMBOL(phys_cpu_present_map);
136EXPORT_SYMBOL(smp_call_function); 131EXPORT_SYMBOL(smp_call_function);
137#endif /* CONFIG_SMP */ 132#endif /* CONFIG_SMP */
138 133
134#if defined(CONFIG_MCOUNT)
135extern void _mcount(void);
136EXPORT_SYMBOL(_mcount);
137#endif
138
139EXPORT_SYMBOL(sparc64_get_clock_tick); 139EXPORT_SYMBOL(sparc64_get_clock_tick);
140 140
141/* semaphores */ 141/* semaphores */
@@ -254,7 +254,6 @@ EXPORT_SYMBOL(prom_getproperty);
254EXPORT_SYMBOL(prom_node_has_property); 254EXPORT_SYMBOL(prom_node_has_property);
255EXPORT_SYMBOL(prom_setprop); 255EXPORT_SYMBOL(prom_setprop);
256EXPORT_SYMBOL(saved_command_line); 256EXPORT_SYMBOL(saved_command_line);
257EXPORT_SYMBOL(prom_getname);
258EXPORT_SYMBOL(prom_finddevice); 257EXPORT_SYMBOL(prom_finddevice);
259EXPORT_SYMBOL(prom_feval); 258EXPORT_SYMBOL(prom_feval);
260EXPORT_SYMBOL(prom_getbool); 259EXPORT_SYMBOL(prom_getbool);
diff --git a/arch/sparc64/kernel/sys_sparc.c b/arch/sparc64/kernel/sys_sparc.c
index 51c056df528e..054d0abdb7ee 100644
--- a/arch/sparc64/kernel/sys_sparc.c
+++ b/arch/sparc64/kernel/sys_sparc.c
@@ -701,21 +701,21 @@ extern void check_pending(int signum);
701 701
702asmlinkage long sys_getdomainname(char __user *name, int len) 702asmlinkage long sys_getdomainname(char __user *name, int len)
703{ 703{
704 int nlen; 704 int nlen, err;
705 int err = -EFAULT; 705
706 if (len < 0 || len > __NEW_UTS_LEN)
707 return -EINVAL;
706 708
707 down_read(&uts_sem); 709 down_read(&uts_sem);
708 710
709 nlen = strlen(system_utsname.domainname) + 1; 711 nlen = strlen(system_utsname.domainname) + 1;
710
711 if (nlen < len) 712 if (nlen < len)
712 len = nlen; 713 len = nlen;
713 if (len > __NEW_UTS_LEN) 714
714 goto done; 715 err = -EFAULT;
715 if (copy_to_user(name, system_utsname.domainname, len)) 716 if (!copy_to_user(name, system_utsname.domainname, len))
716 goto done; 717 err = 0;
717 err = 0; 718
718done:
719 up_read(&uts_sem); 719 up_read(&uts_sem);
720 return err; 720 return err;
721} 721}
diff --git a/arch/sparc64/kernel/time.c b/arch/sparc64/kernel/time.c
index 8dcbfbffacc9..094d3e35be18 100644
--- a/arch/sparc64/kernel/time.c
+++ b/arch/sparc64/kernel/time.c
@@ -788,12 +788,15 @@ static int __devinit clock_probe(struct of_device *op, const struct of_device_id
788 if (!regs) 788 if (!regs)
789 return -ENOMEM; 789 return -ENOMEM;
790 790
791#ifdef CONFIG_PCI
791 if (!strcmp(model, "ds1287") || 792 if (!strcmp(model, "ds1287") ||
792 !strcmp(model, "m5819") || 793 !strcmp(model, "m5819") ||
793 !strcmp(model, "m5819p") || 794 !strcmp(model, "m5819p") ||
794 !strcmp(model, "m5823")) { 795 !strcmp(model, "m5823")) {
795 ds1287_regs = (unsigned long) regs; 796 ds1287_regs = (unsigned long) regs;
796 } else if (model[5] == '0' && model[6] == '2') { 797 } else
798#endif
799 if (model[5] == '0' && model[6] == '2') {
797 mstk48t02_regs = regs; 800 mstk48t02_regs = regs;
798 } else if(model[5] == '0' && model[6] == '8') { 801 } else if(model[5] == '0' && model[6] == '8') {
799 mstk48t08_regs = regs; 802 mstk48t08_regs = regs;
@@ -925,8 +928,6 @@ static void sparc64_start_timers(void)
925 __asm__ __volatile__("wrpr %0, 0x0, %%pstate" 928 __asm__ __volatile__("wrpr %0, 0x0, %%pstate"
926 : /* no outputs */ 929 : /* no outputs */
927 : "r" (pstate)); 930 : "r" (pstate));
928
929 local_irq_enable();
930} 931}
931 932
932struct freq_table { 933struct freq_table {
diff --git a/arch/sparc64/mm/fault.c b/arch/sparc64/mm/fault.c
index 1605967cce91..55ae802dc0ad 100644
--- a/arch/sparc64/mm/fault.c
+++ b/arch/sparc64/mm/fault.c
@@ -19,6 +19,7 @@
19#include <linux/init.h> 19#include <linux/init.h>
20#include <linux/interrupt.h> 20#include <linux/interrupt.h>
21#include <linux/kprobes.h> 21#include <linux/kprobes.h>
22#include <linux/kallsyms.h>
22 23
23#include <asm/page.h> 24#include <asm/page.h>
24#include <asm/pgtable.h> 25#include <asm/pgtable.h>
@@ -132,6 +133,8 @@ static void bad_kernel_pc(struct pt_regs *regs, unsigned long vaddr)
132 133
133 printk(KERN_CRIT "OOPS: Bogus kernel PC [%016lx] in fault handler\n", 134 printk(KERN_CRIT "OOPS: Bogus kernel PC [%016lx] in fault handler\n",
134 regs->tpc); 135 regs->tpc);
136 printk(KERN_CRIT "OOPS: RPC [%016lx]\n", regs->u_regs[15]);
137 print_symbol("RPC: <%s>\n", regs->u_regs[15]);
135 printk(KERN_CRIT "OOPS: Fault was to vaddr[%lx]\n", vaddr); 138 printk(KERN_CRIT "OOPS: Fault was to vaddr[%lx]\n", vaddr);
136 __asm__("mov %%sp, %0" : "=r" (ksp)); 139 __asm__("mov %%sp, %0" : "=r" (ksp));
137 show_stack(current, ksp); 140 show_stack(current, ksp);
diff --git a/arch/sparc64/prom/tree.c b/arch/sparc64/prom/tree.c
index 49075abd7cbc..500f05e2cfcb 100644
--- a/arch/sparc64/prom/tree.c
+++ b/arch/sparc64/prom/tree.c
@@ -193,91 +193,6 @@ prom_searchsiblings(int node_start, const char *nodename)
193 return 0; 193 return 0;
194} 194}
195 195
196/* Gets name in the {name@x,yyyyy|name (if no reg)} form */
197int
198prom_getname (int node, char *buffer, int len)
199{
200 int i, sbus = 0;
201 int pci = 0, ebus = 0, ide = 0;
202 struct linux_prom_registers *reg;
203 struct linux_prom64_registers reg64[PROMREG_MAX];
204
205 for (sbus = prom_getparent (node); sbus; sbus = prom_getparent (sbus)) {
206 i = prom_getproperty (sbus, "name", buffer, len);
207 if (i > 0) {
208 buffer [i] = 0;
209 if (!strcmp (buffer, "sbus"))
210 goto getit;
211 }
212 }
213 if ((pci = prom_getparent (node))) {
214 i = prom_getproperty (pci, "name", buffer, len);
215 if (i > 0) {
216 buffer [i] = 0;
217 if (!strcmp (buffer, "pci"))
218 goto getit;
219 }
220 pci = 0;
221 }
222 if ((ebus = prom_getparent (node))) {
223 i = prom_getproperty (ebus, "name", buffer, len);
224 if (i > 0) {
225 buffer[i] = 0;
226 if (!strcmp (buffer, "ebus"))
227 goto getit;
228 }
229 ebus = 0;
230 }
231 if ((ide = prom_getparent (node))) {
232 i = prom_getproperty (ide, "name", buffer, len);
233 if (i > 0) {
234 buffer [i] = 0;
235 if (!strcmp (buffer, "ide"))
236 goto getit;
237 }
238 ide = 0;
239 }
240getit:
241 i = prom_getproperty (node, "name", buffer, len);
242 if (i <= 0) {
243 buffer [0] = 0;
244 return -1;
245 }
246 buffer [i] = 0;
247 len -= i;
248 i = prom_getproperty (node, "reg", (char *)reg64, sizeof (reg64));
249 if (i <= 0) return 0;
250 if (len < 16) return -1;
251 buffer = strchr (buffer, 0);
252 if (sbus) {
253 reg = (struct linux_prom_registers *)reg64;
254 sprintf (buffer, "@%x,%x", reg[0].which_io, (uint)reg[0].phys_addr);
255 } else if (pci) {
256 int dev, fn;
257 reg = (struct linux_prom_registers *)reg64;
258 fn = (reg[0].which_io >> 8) & 0x07;
259 dev = (reg[0].which_io >> 11) & 0x1f;
260 if (fn)
261 sprintf (buffer, "@%x,%x", dev, fn);
262 else
263 sprintf (buffer, "@%x", dev);
264 } else if (ebus) {
265 reg = (struct linux_prom_registers *)reg64;
266 sprintf (buffer, "@%x,%x", reg[0].which_io, reg[0].phys_addr);
267 } else if (ide) {
268 reg = (struct linux_prom_registers *)reg64;
269 sprintf (buffer, "@%x,%x", reg[0].which_io, reg[0].phys_addr);
270 } else if (i == 4) { /* Happens on 8042's children on Ultra/PCI. */
271 reg = (struct linux_prom_registers *)reg64;
272 sprintf (buffer, "@%x", reg[0].which_io);
273 } else {
274 sprintf (buffer, "@%x,%x",
275 (unsigned int)(reg64[0].phys_addr >> 36),
276 (unsigned int)(reg64[0].phys_addr));
277 }
278 return 0;
279}
280
281/* Return the first property type for node 'node'. 196/* Return the first property type for node 'node'.
282 * buffer should be at least 32B in length 197 * buffer should be at least 32B in length
283 */ 198 */
diff --git a/arch/um/Kconfig.debug b/arch/um/Kconfig.debug
index bab51d619173..09c1aca6339f 100644
--- a/arch/um/Kconfig.debug
+++ b/arch/um/Kconfig.debug
@@ -47,13 +47,4 @@ config GCOV
47 If you're involved in UML kernel development and want to use gcov, 47 If you're involved in UML kernel development and want to use gcov,
48 say Y. If you're unsure, say N. 48 say Y. If you're unsure, say N.
49 49
50config SYSCALL_DEBUG
51 bool "Enable system call debugging"
52 depends on DEBUG_INFO
53 help
54 This adds some system debugging to UML, including keeping a ring buffer
55 with recent system calls and some global and per-task statistics.
56
57 If unsure, say N
58
59endmenu 50endmenu
diff --git a/arch/um/Makefile-x86_64 b/arch/um/Makefile-x86_64
index dffd1184c956..9558a7cf34d5 100644
--- a/arch/um/Makefile-x86_64
+++ b/arch/um/Makefile-x86_64
@@ -11,6 +11,7 @@ USER_CFLAGS += -fno-builtin -m64
11CHECKFLAGS += -m64 11CHECKFLAGS += -m64
12AFLAGS += -m64 12AFLAGS += -m64
13LDFLAGS += -m elf_x86_64 13LDFLAGS += -m elf_x86_64
14CPPFLAGS += -m64
14 15
15ELF_ARCH := i386:x86-64 16ELF_ARCH := i386:x86-64
16ELF_FORMAT := elf64-x86-64 17ELF_FORMAT := elf64-x86-64
diff --git a/arch/um/defconfig b/arch/um/defconfig
index 402a74dc5026..780cc0a4a128 100644
--- a/arch/um/defconfig
+++ b/arch/um/defconfig
@@ -526,4 +526,3 @@ CONFIG_FORCED_INLINING=y
526# CONFIG_RCU_TORTURE_TEST is not set 526# CONFIG_RCU_TORTURE_TEST is not set
527# CONFIG_GPROF is not set 527# CONFIG_GPROF is not set
528# CONFIG_GCOV is not set 528# CONFIG_GCOV is not set
529# CONFIG_SYSCALL_DEBUG is not set
diff --git a/arch/um/drivers/mconsole_user.c b/arch/um/drivers/mconsole_user.c
index 4b109fe7fff8..9bfd405c3bd8 100644
--- a/arch/um/drivers/mconsole_user.c
+++ b/arch/um/drivers/mconsole_user.c
@@ -18,7 +18,12 @@
18#include "umid.h" 18#include "umid.h"
19 19
20static struct mconsole_command commands[] = { 20static struct mconsole_command commands[] = {
21 { "version", mconsole_version, MCONSOLE_INTR }, 21 /* With uts namespaces, uts information becomes process-specific, so
22 * we need a process context. If we try handling this in interrupt
23 * context, we may hit an exiting process without a valid uts
24 * namespace.
25 */
26 { "version", mconsole_version, MCONSOLE_PROC },
22 { "halt", mconsole_halt, MCONSOLE_PROC }, 27 { "halt", mconsole_halt, MCONSOLE_PROC },
23 { "reboot", mconsole_reboot, MCONSOLE_PROC }, 28 { "reboot", mconsole_reboot, MCONSOLE_PROC },
24 { "config", mconsole_config, MCONSOLE_PROC }, 29 { "config", mconsole_config, MCONSOLE_PROC },
diff --git a/arch/um/drivers/net_user.c b/arch/um/drivers/net_user.c
index 0a7786e00cfb..107c5e43fa00 100644
--- a/arch/um/drivers/net_user.c
+++ b/arch/um/drivers/net_user.c
@@ -22,13 +22,14 @@ int tap_open_common(void *dev, char *gate_addr)
22{ 22{
23 int tap_addr[4]; 23 int tap_addr[4];
24 24
25 if(gate_addr == NULL) return(0); 25 if(gate_addr == NULL)
26 return 0;
26 if(sscanf(gate_addr, "%d.%d.%d.%d", &tap_addr[0], 27 if(sscanf(gate_addr, "%d.%d.%d.%d", &tap_addr[0],
27 &tap_addr[1], &tap_addr[2], &tap_addr[3]) != 4){ 28 &tap_addr[1], &tap_addr[2], &tap_addr[3]) != 4){
28 printk("Invalid tap IP address - '%s'\n", gate_addr); 29 printk("Invalid tap IP address - '%s'\n", gate_addr);
29 return(-EINVAL); 30 return -EINVAL;
30 } 31 }
31 return(0); 32 return 0;
32} 33}
33 34
34void tap_check_ips(char *gate_addr, unsigned char *eth_addr) 35void tap_check_ips(char *gate_addr, unsigned char *eth_addr)
@@ -94,25 +95,25 @@ int net_read(int fd, void *buf, int len)
94 n = os_read_file(fd, buf, len); 95 n = os_read_file(fd, buf, len);
95 96
96 if(n == -EAGAIN) 97 if(n == -EAGAIN)
97 return(0); 98 return 0;
98 else if(n == 0) 99 else if(n == 0)
99 return(-ENOTCONN); 100 return -ENOTCONN;
100 return(n); 101 return n;
101} 102}
102 103
103int net_recvfrom(int fd, void *buf, int len) 104int net_recvfrom(int fd, void *buf, int len)
104{ 105{
105 int n; 106 int n;
106 107
107 while(((n = recvfrom(fd, buf, len, 0, NULL, NULL)) < 0) && 108 CATCH_EINTR(n = recvfrom(fd, buf, len, 0, NULL, NULL));
108 (errno == EINTR)) ;
109
110 if(n < 0){ 109 if(n < 0){
111 if(errno == EAGAIN) return(0); 110 if(errno == EAGAIN)
112 return(-errno); 111 return 0;
112 return -errno;
113 } 113 }
114 else if(n == 0) return(-ENOTCONN); 114 else if(n == 0)
115 return(n); 115 return -ENOTCONN;
116 return n;
116} 117}
117 118
118int net_write(int fd, void *buf, int len) 119int net_write(int fd, void *buf, int len)
@@ -122,37 +123,41 @@ int net_write(int fd, void *buf, int len)
122 n = os_write_file(fd, buf, len); 123 n = os_write_file(fd, buf, len);
123 124
124 if(n == -EAGAIN) 125 if(n == -EAGAIN)
125 return(0); 126 return 0;
126 else if(n == 0) 127 else if(n == 0)
127 return(-ENOTCONN); 128 return -ENOTCONN;
128 return(n); 129 return n;
129} 130}
130 131
131int net_send(int fd, void *buf, int len) 132int net_send(int fd, void *buf, int len)
132{ 133{
133 int n; 134 int n;
134 135
135 while(((n = send(fd, buf, len, 0)) < 0) && (errno == EINTR)) ; 136 CATCH_EINTR(n = send(fd, buf, len, 0));
136 if(n < 0){ 137 if(n < 0){
137 if(errno == EAGAIN) return(0); 138 if(errno == EAGAIN)
138 return(-errno); 139 return 0;
140 return -errno;
139 } 141 }
140 else if(n == 0) return(-ENOTCONN); 142 else if(n == 0)
141 return(n); 143 return -ENOTCONN;
144 return n;
142} 145}
143 146
144int net_sendto(int fd, void *buf, int len, void *to, int sock_len) 147int net_sendto(int fd, void *buf, int len, void *to, int sock_len)
145{ 148{
146 int n; 149 int n;
147 150
148 while(((n = sendto(fd, buf, len, 0, (struct sockaddr *) to, 151 CATCH_EINTR(n = sendto(fd, buf, len, 0, (struct sockaddr *) to,
149 sock_len)) < 0) && (errno == EINTR)) ; 152 sock_len));
150 if(n < 0){ 153 if(n < 0){
151 if(errno == EAGAIN) return(0); 154 if(errno == EAGAIN)
152 return(-errno); 155 return 0;
156 return -errno;
153 } 157 }
154 else if(n == 0) return(-ENOTCONN); 158 else if(n == 0)
155 return(n); 159 return -ENOTCONN;
160 return n;
156} 161}
157 162
158struct change_pre_exec_data { 163struct change_pre_exec_data {
@@ -176,7 +181,7 @@ static int change_tramp(char **argv, char *output, int output_len)
176 err = os_pipe(fds, 1, 0); 181 err = os_pipe(fds, 1, 0);
177 if(err < 0){ 182 if(err < 0){
178 printk("change_tramp - pipe failed, err = %d\n", -err); 183 printk("change_tramp - pipe failed, err = %d\n", -err);
179 return(err); 184 return err;
180 } 185 }
181 pe_data.close_me = fds[0]; 186 pe_data.close_me = fds[0];
182 pe_data.stdout = fds[1]; 187 pe_data.stdout = fds[1];
@@ -190,7 +195,7 @@ static int change_tramp(char **argv, char *output, int output_len)
190 195
191 if (pid > 0) 196 if (pid > 0)
192 CATCH_EINTR(err = waitpid(pid, NULL, 0)); 197 CATCH_EINTR(err = waitpid(pid, NULL, 0));
193 return(pid); 198 return pid;
194} 199}
195 200
196static void change(char *dev, char *what, unsigned char *addr, 201static void change(char *dev, char *what, unsigned char *addr,
@@ -241,26 +246,15 @@ char *split_if_spec(char *str, ...)
241 va_start(ap, str); 246 va_start(ap, str);
242 while((arg = va_arg(ap, char **)) != NULL){ 247 while((arg = va_arg(ap, char **)) != NULL){
243 if(*str == '\0') 248 if(*str == '\0')
244 return(NULL); 249 return NULL;
245 end = strchr(str, ','); 250 end = strchr(str, ',');
246 if(end != str) 251 if(end != str)
247 *arg = str; 252 *arg = str;
248 if(end == NULL) 253 if(end == NULL)
249 return(NULL); 254 return NULL;
250 *end++ = '\0'; 255 *end++ = '\0';
251 str = end; 256 str = end;
252 } 257 }
253 va_end(ap); 258 va_end(ap);
254 return(str); 259 return str;
255} 260}
256
257/*
258 * Overrides for Emacs so that we follow Linus's tabbing style.
259 * Emacs will notice this stuff at the end of the file and automatically
260 * adjust the settings for this buffer only. This must remain at the end
261 * of the file.
262 * ---------------------------------------------------------------------------
263 * Local variables:
264 * c-file-style: "linux"
265 * End:
266 */
diff --git a/arch/um/drivers/tty.c b/arch/um/drivers/tty.c
index 94c9265a4f2c..9f70edf5d8ef 100644
--- a/arch/um/drivers/tty.c
+++ b/arch/um/drivers/tty.c
@@ -1,4 +1,4 @@
1/* 1/*
2 * Copyright (C) 2001 Jeff Dike (jdike@karaya.com) 2 * Copyright (C) 2001 Jeff Dike (jdike@karaya.com)
3 * Licensed under the GPL 3 * Licensed under the GPL
4 */ 4 */
@@ -25,17 +25,17 @@ static void *tty_chan_init(char *str, int device, struct chan_opts *opts)
25 if(*str != ':'){ 25 if(*str != ':'){
26 printk("tty_init : channel type 'tty' must specify " 26 printk("tty_init : channel type 'tty' must specify "
27 "a device\n"); 27 "a device\n");
28 return(NULL); 28 return NULL;
29 } 29 }
30 str++; 30 str++;
31 31
32 data = um_kmalloc(sizeof(*data)); 32 data = um_kmalloc(sizeof(*data));
33 if(data == NULL) 33 if(data == NULL)
34 return(NULL); 34 return NULL;
35 *data = ((struct tty_chan) { .dev = str, 35 *data = ((struct tty_chan) { .dev = str,
36 .raw = opts->raw }); 36 .raw = opts->raw });
37 37
38 return(data); 38 return data;
39} 39}
40 40
41static int tty_open(int input, int output, int primary, void *d, 41static int tty_open(int input, int output, int primary, void *d,
@@ -45,19 +45,21 @@ static int tty_open(int input, int output, int primary, void *d,
45 int fd, err; 45 int fd, err;
46 46
47 fd = os_open_file(data->dev, of_set_rw(OPENFLAGS(), input, output), 0); 47 fd = os_open_file(data->dev, of_set_rw(OPENFLAGS(), input, output), 0);
48 if(fd < 0) return(fd); 48 if(fd < 0)
49 return fd;
50
49 if(data->raw){ 51 if(data->raw){
50 CATCH_EINTR(err = tcgetattr(fd, &data->tt)); 52 CATCH_EINTR(err = tcgetattr(fd, &data->tt));
51 if(err) 53 if(err)
52 return(err); 54 return err;
53 55
54 err = raw(fd); 56 err = raw(fd);
55 if(err) 57 if(err)
56 return(err); 58 return err;
57 } 59 }
58 60
59 *dev_out = data->dev; 61 *dev_out = data->dev;
60 return(fd); 62 return fd;
61} 63}
62 64
63struct chan_ops tty_ops = { 65struct chan_ops tty_ops = {
@@ -72,14 +74,3 @@ struct chan_ops tty_ops = {
72 .free = generic_free, 74 .free = generic_free,
73 .winch = 0, 75 .winch = 0,
74}; 76};
75
76/*
77 * Overrides for Emacs so that we follow Linus's tabbing style.
78 * Emacs will notice this stuff at the end of the file and automatically
79 * adjust the settings for this buffer only. This must remain at the end
80 * of the file.
81 * ---------------------------------------------------------------------------
82 * Local variables:
83 * c-file-style: "linux"
84 * End:
85 */
diff --git a/arch/um/drivers/ubd_kern.c b/arch/um/drivers/ubd_kern.c
index 602d7286b9e0..34085315aa57 100644
--- a/arch/um/drivers/ubd_kern.c
+++ b/arch/um/drivers/ubd_kern.c
@@ -627,7 +627,6 @@ static int ubd_new_disk(int major, u64 size, int unit,
627 627
628{ 628{
629 struct gendisk *disk; 629 struct gendisk *disk;
630 int err;
631 630
632 disk = alloc_disk(1 << UBD_SHIFT); 631 disk = alloc_disk(1 << UBD_SHIFT);
633 if(disk == NULL) 632 if(disk == NULL)
diff --git a/arch/um/include/irq_user.h b/arch/um/include/irq_user.h
index 69a93c804f0e..15d311b9be9e 100644
--- a/arch/um/include/irq_user.h
+++ b/arch/um/include/irq_user.h
@@ -6,6 +6,8 @@
6#ifndef __IRQ_USER_H__ 6#ifndef __IRQ_USER_H__
7#define __IRQ_USER_H__ 7#define __IRQ_USER_H__
8 8
9#include "uml-config.h"
10
9struct irq_fd { 11struct irq_fd {
10 struct irq_fd *next; 12 struct irq_fd *next;
11 void *id; 13 void *id;
@@ -26,9 +28,10 @@ extern void free_irq_by_fd(int fd);
26extern void reactivate_fd(int fd, int irqnum); 28extern void reactivate_fd(int fd, int irqnum);
27extern void deactivate_fd(int fd, int irqnum); 29extern void deactivate_fd(int fd, int irqnum);
28extern int deactivate_all_fds(void); 30extern int deactivate_all_fds(void);
29extern void forward_interrupts(int pid);
30extern int activate_ipi(int fd, int pid); 31extern int activate_ipi(int fd, int pid);
31extern unsigned long irq_lock(void); 32
32extern void irq_unlock(unsigned long flags); 33#ifdef CONFIG_MODE_TT
34extern void forward_interrupts(int pid);
35#endif
33 36
34#endif 37#endif
diff --git a/arch/um/include/kern_util.h b/arch/um/include/kern_util.h
index 310980b32173..b98bdd8e052a 100644
--- a/arch/um/include/kern_util.h
+++ b/arch/um/include/kern_util.h
@@ -72,10 +72,8 @@ extern void init_flush_vm(void);
72extern void *syscall_sp(void *t); 72extern void *syscall_sp(void *t);
73extern void syscall_trace(union uml_pt_regs *regs, int entryexit); 73extern void syscall_trace(union uml_pt_regs *regs, int entryexit);
74extern int hz(void); 74extern int hz(void);
75extern void uml_idle_timer(void);
76extern unsigned int do_IRQ(int irq, union uml_pt_regs *regs); 75extern unsigned int do_IRQ(int irq, union uml_pt_regs *regs);
77extern int external_pid(void *t); 76extern int external_pid(void *t);
78extern void boot_timer_handler(int sig);
79extern void interrupt_end(void); 77extern void interrupt_end(void);
80extern void initial_thread_cb(void (*proc)(void *), void *arg); 78extern void initial_thread_cb(void (*proc)(void *), void *arg);
81extern int debugger_signal(int status, int pid); 79extern int debugger_signal(int status, int pid);
diff --git a/arch/um/include/longjmp.h b/arch/um/include/longjmp.h
index 8e7053013f7b..1b5c0131a12e 100644
--- a/arch/um/include/longjmp.h
+++ b/arch/um/include/longjmp.h
@@ -8,8 +8,8 @@
8 longjmp(*buf, val); \ 8 longjmp(*buf, val); \
9} while(0) 9} while(0)
10 10
11#define UML_SETJMP(buf, enable) ({ \ 11#define UML_SETJMP(buf) ({ \
12 int n; \ 12 int n, enable; \
13 enable = get_signals(); \ 13 enable = get_signals(); \
14 n = setjmp(*buf); \ 14 n = setjmp(*buf); \
15 if(n != 0) \ 15 if(n != 0) \
diff --git a/arch/um/include/os.h b/arch/um/include/os.h
index f88856c28a66..5316e8a4a4fd 100644
--- a/arch/um/include/os.h
+++ b/arch/um/include/os.h
@@ -1,4 +1,4 @@
1/* 1/*
2 * Copyright (C) 2002 Jeff Dike (jdike@karaya.com) 2 * Copyright (C) 2002 Jeff Dike (jdike@karaya.com)
3 * Licensed under the GPL 3 * Licensed under the GPL
4 */ 4 */
@@ -15,9 +15,9 @@
15#include "irq_user.h" 15#include "irq_user.h"
16#include "sysdep/tls.h" 16#include "sysdep/tls.h"
17 17
18#define OS_TYPE_FILE 1 18#define OS_TYPE_FILE 1
19#define OS_TYPE_DIR 2 19#define OS_TYPE_DIR 2
20#define OS_TYPE_SYMLINK 3 20#define OS_TYPE_SYMLINK 3
21#define OS_TYPE_CHARDEV 4 21#define OS_TYPE_CHARDEV 4
22#define OS_TYPE_BLOCKDEV 5 22#define OS_TYPE_BLOCKDEV 5
23#define OS_TYPE_FIFO 6 23#define OS_TYPE_FIFO 6
@@ -61,68 +61,68 @@ struct openflags {
61}; 61};
62 62
63#define OPENFLAGS() ((struct openflags) { .r = 0, .w = 0, .s = 0, .c = 0, \ 63#define OPENFLAGS() ((struct openflags) { .r = 0, .w = 0, .s = 0, .c = 0, \
64 .t = 0, .a = 0, .e = 0, .cl = 0 }) 64 .t = 0, .a = 0, .e = 0, .cl = 0 })
65 65
66static inline struct openflags of_read(struct openflags flags) 66static inline struct openflags of_read(struct openflags flags)
67{ 67{
68 flags.r = 1; 68 flags.r = 1;
69 return(flags); 69 return flags;
70} 70}
71 71
72static inline struct openflags of_write(struct openflags flags) 72static inline struct openflags of_write(struct openflags flags)
73{ 73{
74 flags.w = 1; 74 flags.w = 1;
75 return(flags); 75 return flags;
76} 76}
77 77
78static inline struct openflags of_rdwr(struct openflags flags) 78static inline struct openflags of_rdwr(struct openflags flags)
79{ 79{
80 return(of_read(of_write(flags))); 80 return of_read(of_write(flags));
81} 81}
82 82
83static inline struct openflags of_set_rw(struct openflags flags, int r, int w) 83static inline struct openflags of_set_rw(struct openflags flags, int r, int w)
84{ 84{
85 flags.r = r; 85 flags.r = r;
86 flags.w = w; 86 flags.w = w;
87 return(flags); 87 return flags;
88} 88}
89 89
90static inline struct openflags of_sync(struct openflags flags) 90static inline struct openflags of_sync(struct openflags flags)
91{ 91{
92 flags.s = 1; 92 flags.s = 1;
93 return(flags); 93 return flags;
94} 94}
95 95
96static inline struct openflags of_create(struct openflags flags) 96static inline struct openflags of_create(struct openflags flags)
97{ 97{
98 flags.c = 1; 98 flags.c = 1;
99 return(flags); 99 return flags;
100} 100}
101 101
102static inline struct openflags of_trunc(struct openflags flags) 102static inline struct openflags of_trunc(struct openflags flags)
103{ 103{
104 flags.t = 1; 104 flags.t = 1;
105 return(flags); 105 return flags;
106} 106}
107 107
108static inline struct openflags of_append(struct openflags flags) 108static inline struct openflags of_append(struct openflags flags)
109{ 109{
110 flags.a = 1; 110 flags.a = 1;
111 return(flags); 111 return flags;
112} 112}
113 113
114static inline struct openflags of_excl(struct openflags flags) 114static inline struct openflags of_excl(struct openflags flags)
115{ 115{
116 flags.e = 1; 116 flags.e = 1;
117 return(flags); 117 return flags;
118} 118}
119 119
120static inline struct openflags of_cloexec(struct openflags flags) 120static inline struct openflags of_cloexec(struct openflags flags)
121{ 121{
122 flags.cl = 1; 122 flags.cl = 1;
123 return(flags); 123 return flags;
124} 124}
125 125
126/* file.c */ 126/* file.c */
127extern int os_stat_file(const char *file_name, struct uml_stat *buf); 127extern int os_stat_file(const char *file_name, struct uml_stat *buf);
128extern int os_stat_fd(const int fd, struct uml_stat *buf); 128extern int os_stat_fd(const int fd, struct uml_stat *buf);
@@ -199,12 +199,12 @@ extern int os_getpid(void);
199extern int os_getpgrp(void); 199extern int os_getpgrp(void);
200 200
201extern void init_new_thread_stack(void *sig_stack, void (*usr1_handler)(int)); 201extern void init_new_thread_stack(void *sig_stack, void (*usr1_handler)(int));
202extern void init_new_thread_signals(int altstack); 202extern void init_new_thread_signals(void);
203extern int run_kernel_thread(int (*fn)(void *), void *arg, void **jmp_ptr); 203extern int run_kernel_thread(int (*fn)(void *), void *arg, void **jmp_ptr);
204 204
205extern int os_map_memory(void *virt, int fd, unsigned long long off, 205extern int os_map_memory(void *virt, int fd, unsigned long long off,
206 unsigned long len, int r, int w, int x); 206 unsigned long len, int r, int w, int x);
207extern int os_protect_memory(void *addr, unsigned long len, 207extern int os_protect_memory(void *addr, unsigned long len,
208 int r, int w, int x); 208 int r, int w, int x);
209extern int os_unmap_memory(void *addr, int len); 209extern int os_unmap_memory(void *addr, int len);
210extern int os_drop_memory(void *addr, int length); 210extern int os_drop_memory(void *addr, int length);
@@ -318,7 +318,6 @@ extern void reboot_skas(void);
318 318
319/* irq.c */ 319/* irq.c */
320extern int os_waiting_for_events(struct irq_fd *active_fds); 320extern int os_waiting_for_events(struct irq_fd *active_fds);
321extern int os_isatty(int fd);
322extern int os_create_pollfd(int fd, int events, void *tmp_pfd, int size_tmpfds); 321extern int os_create_pollfd(int fd, int events, void *tmp_pfd, int size_tmpfds);
323extern void os_free_irq_by_cb(int (*test)(struct irq_fd *, void *), void *arg, 322extern void os_free_irq_by_cb(int (*test)(struct irq_fd *, void *), void *arg,
324 struct irq_fd *active_fds, struct irq_fd ***last_irq_ptr2); 323 struct irq_fd *active_fds, struct irq_fd ***last_irq_ptr2);
@@ -330,9 +329,8 @@ extern void os_set_ioignore(void);
330extern void init_irq_signals(int on_sigstack); 329extern void init_irq_signals(int on_sigstack);
331 330
332/* sigio.c */ 331/* sigio.c */
333extern void write_sigio_workaround(void);
334extern int add_sigio_fd(int fd, int read);
335extern int ignore_sigio_fd(int fd); 332extern int ignore_sigio_fd(int fd);
333extern void maybe_sigio_broken(int fd, int read);
336 334
337/* skas/trap */ 335/* skas/trap */
338extern void sig_handler_common_skas(int sig, void *sc_ptr); 336extern void sig_handler_common_skas(int sig, void *sc_ptr);
diff --git a/arch/um/include/skas/mode_kern_skas.h b/arch/um/include/skas/mode_kern_skas.h
index 63c58739bde0..9cd9c6ec9a63 100644
--- a/arch/um/include/skas/mode_kern_skas.h
+++ b/arch/um/include/skas/mode_kern_skas.h
@@ -29,8 +29,7 @@ extern void flush_tlb_mm_skas(struct mm_struct *mm);
29extern void force_flush_all_skas(void); 29extern void force_flush_all_skas(void);
30extern long execute_syscall_skas(void *r); 30extern long execute_syscall_skas(void *r);
31extern void before_mem_skas(unsigned long unused); 31extern void before_mem_skas(unsigned long unused);
32extern unsigned long set_task_sizes_skas(int arg, unsigned long *host_size_out, 32extern unsigned long set_task_sizes_skas(unsigned long *task_size_out);
33 unsigned long *task_size_out);
34extern int start_uml_skas(void); 33extern int start_uml_skas(void);
35extern int external_pid_skas(struct task_struct *task); 34extern int external_pid_skas(struct task_struct *task);
36extern int thread_pid_skas(struct task_struct *task); 35extern int thread_pid_skas(struct task_struct *task);
diff --git a/arch/um/include/tt/mode_kern_tt.h b/arch/um/include/tt/mode_kern_tt.h
index efa0012550d0..a4fc63057195 100644
--- a/arch/um/include/tt/mode_kern_tt.h
+++ b/arch/um/include/tt/mode_kern_tt.h
@@ -30,8 +30,7 @@ extern void flush_tlb_mm_tt(struct mm_struct *mm);
30extern void force_flush_all_tt(void); 30extern void force_flush_all_tt(void);
31extern long execute_syscall_tt(void *r); 31extern long execute_syscall_tt(void *r);
32extern void before_mem_tt(unsigned long brk_start); 32extern void before_mem_tt(unsigned long brk_start);
33extern unsigned long set_task_sizes_tt(int arg, unsigned long *host_size_out, 33extern unsigned long set_task_sizes_tt(unsigned long *task_size_out);
34 unsigned long *task_size_out);
35extern int start_uml_tt(void); 34extern int start_uml_tt(void);
36extern int external_pid_tt(struct task_struct *task); 35extern int external_pid_tt(struct task_struct *task);
37extern int thread_pid_tt(struct task_struct *task); 36extern int thread_pid_tt(struct task_struct *task);
diff --git a/arch/um/kernel/Makefile b/arch/um/kernel/Makefile
index fe08971b64cf..a2d93065b2d0 100644
--- a/arch/um/kernel/Makefile
+++ b/arch/um/kernel/Makefile
@@ -6,16 +6,14 @@
6extra-y := vmlinux.lds 6extra-y := vmlinux.lds
7clean-files := 7clean-files :=
8 8
9obj-y = config.o exec_kern.o exitcode.o \ 9obj-y = config.o exec.o exitcode.o init_task.o irq.o ksyms.o mem.o \
10 init_task.o irq.o ksyms.o mem.o physmem.o \ 10 physmem.o process_kern.o ptrace.o reboot.o resource.o sigio.o \
11 process_kern.o ptrace.o reboot.o resource.o sigio_kern.o \ 11 signal.o smp.o syscall.o sysrq.o time.o tlb.o trap.o uaccess.o \
12 signal_kern.o smp.o syscall_kern.o sysrq.o \ 12 um_arch.o umid.o
13 time_kern.o tlb.o trap_kern.o uaccess.o um_arch.o umid.o
14 13
15obj-$(CONFIG_BLK_DEV_INITRD) += initrd.o 14obj-$(CONFIG_BLK_DEV_INITRD) += initrd.o
16obj-$(CONFIG_GPROF) += gprof_syms.o 15obj-$(CONFIG_GPROF) += gprof_syms.o
17obj-$(CONFIG_GCOV) += gmon_syms.o 16obj-$(CONFIG_GCOV) += gmon_syms.o
18obj-$(CONFIG_SYSCALL_DEBUG) += syscall.o
19 17
20obj-$(CONFIG_MODE_TT) += tt/ 18obj-$(CONFIG_MODE_TT) += tt/
21obj-$(CONFIG_MODE_SKAS) += skas/ 19obj-$(CONFIG_MODE_SKAS) += skas/
diff --git a/arch/um/kernel/dyn.lds.S b/arch/um/kernel/dyn.lds.S
index 2517ecb8bf27..68ed24df5c8f 100644
--- a/arch/um/kernel/dyn.lds.S
+++ b/arch/um/kernel/dyn.lds.S
@@ -26,6 +26,7 @@ SECTIONS
26 26
27 /* Read-only sections, merged into text segment: */ 27 /* Read-only sections, merged into text segment: */
28 .hash : { *(.hash) } 28 .hash : { *(.hash) }
29 .gnu.hash : { *(.gnu.hash) }
29 .dynsym : { *(.dynsym) } 30 .dynsym : { *(.dynsym) }
30 .dynstr : { *(.dynstr) } 31 .dynstr : { *(.dynstr) }
31 .gnu.version : { *(.gnu.version) } 32 .gnu.version : { *(.gnu.version) }
diff --git a/arch/um/kernel/exec_kern.c b/arch/um/kernel/exec.c
index c0cb627bf594..fc38a6d5906d 100644
--- a/arch/um/kernel/exec_kern.c
+++ b/arch/um/kernel/exec.c
@@ -1,4 +1,4 @@
1/* 1/*
2 * Copyright (C) 2000, 2001 Jeff Dike (jdike@karaya.com) 2 * Copyright (C) 2000, 2001 Jeff Dike (jdike@karaya.com)
3 * Licensed under the GPL 3 * Licensed under the GPL
4 */ 4 */
@@ -31,18 +31,27 @@ void start_thread(struct pt_regs *regs, unsigned long eip, unsigned long esp)
31 CHOOSE_MODE_PROC(start_thread_tt, start_thread_skas, regs, eip, esp); 31 CHOOSE_MODE_PROC(start_thread_tt, start_thread_skas, regs, eip, esp);
32} 32}
33 33
34#ifdef CONFIG_TTY_LOG
35extern void log_exec(char **argv, void *tty);
36#endif
37
34static long execve1(char *file, char __user * __user *argv, 38static long execve1(char *file, char __user * __user *argv,
35 char __user *__user *env) 39 char __user *__user *env)
36{ 40{
37 long error; 41 long error;
38 42
39#ifdef CONFIG_TTY_LOG 43#ifdef CONFIG_TTY_LOG
40 log_exec(argv, current->tty); 44 task_lock(current);
45 log_exec(argv, current->signal->tty);
46 task_unlock(current);
41#endif 47#endif
42 error = do_execve(file, argv, env, &current->thread.regs); 48 error = do_execve(file, argv, env, &current->thread.regs);
43 if (error == 0){ 49 if (error == 0){
44 task_lock(current); 50 task_lock(current);
45 current->ptrace &= ~PT_DTRACE; 51 current->ptrace &= ~PT_DTRACE;
52#ifdef SUBARCH_EXECVE1
53 SUBARCH_EXECVE1(&current->thread.regs.regs);
54#endif
46 task_unlock(current); 55 task_unlock(current);
47 set_cmdline(current_cmd()); 56 set_cmdline(current_cmd());
48 } 57 }
diff --git a/arch/um/kernel/irq.c b/arch/um/kernel/irq.c
index bfd0bdc8cd40..589c69a75043 100644
--- a/arch/um/kernel/irq.c
+++ b/arch/um/kernel/irq.c
@@ -110,18 +110,7 @@ void sigio_handler(int sig, union uml_pt_regs *regs)
110 free_irqs(); 110 free_irqs();
111} 111}
112 112
113static void maybe_sigio_broken(int fd, int type) 113static DEFINE_SPINLOCK(irq_lock);
114{
115 if (os_isatty(fd)) {
116 if ((type == IRQ_WRITE) && !pty_output_sigio) {
117 write_sigio_workaround();
118 add_sigio_fd(fd, 0);
119 } else if ((type == IRQ_READ) && !pty_close_sigio) {
120 write_sigio_workaround();
121 add_sigio_fd(fd, 1);
122 }
123 }
124}
125 114
126int activate_fd(int irq, int fd, int type, void *dev_id) 115int activate_fd(int irq, int fd, int type, void *dev_id)
127{ 116{
@@ -166,7 +155,7 @@ int activate_fd(int irq, int fd, int type, void *dev_id)
166 * this is called only from process context, and can be locked with 155 * this is called only from process context, and can be locked with
167 * a semaphore. 156 * a semaphore.
168 */ 157 */
169 flags = irq_lock(); 158 spin_lock_irqsave(&irq_lock, flags);
170 for (irq_fd = active_fds; irq_fd != NULL; irq_fd = irq_fd->next) { 159 for (irq_fd = active_fds; irq_fd != NULL; irq_fd = irq_fd->next) {
171 if ((irq_fd->fd == fd) && (irq_fd->type == type)) { 160 if ((irq_fd->fd == fd) && (irq_fd->type == type)) {
172 printk("Registering fd %d twice\n", fd); 161 printk("Registering fd %d twice\n", fd);
@@ -199,7 +188,7 @@ int activate_fd(int irq, int fd, int type, void *dev_id)
199 * so we will not be able to put new pollfd struct to pollfds 188 * so we will not be able to put new pollfd struct to pollfds
200 * then we free the buffer tmp_fds and try again. 189 * then we free the buffer tmp_fds and try again.
201 */ 190 */
202 irq_unlock(flags); 191 spin_unlock_irqrestore(&irq_lock, flags);
203 kfree(tmp_pfd); 192 kfree(tmp_pfd);
204 tmp_pfd = NULL; 193 tmp_pfd = NULL;
205 194
@@ -207,24 +196,24 @@ int activate_fd(int irq, int fd, int type, void *dev_id)
207 if (tmp_pfd == NULL) 196 if (tmp_pfd == NULL)
208 goto out_kfree; 197 goto out_kfree;
209 198
210 flags = irq_lock(); 199 spin_lock_irqsave(&irq_lock, flags);
211 } 200 }
212 /*-------------*/ 201 /*-------------*/
213 202
214 *last_irq_ptr = new_fd; 203 *last_irq_ptr = new_fd;
215 last_irq_ptr = &new_fd->next; 204 last_irq_ptr = &new_fd->next;
216 205
217 irq_unlock(flags); 206 spin_unlock_irqrestore(&irq_lock, flags);
218 207
219 /* This calls activate_fd, so it has to be outside the critical 208 /* This calls activate_fd, so it has to be outside the critical
220 * section. 209 * section.
221 */ 210 */
222 maybe_sigio_broken(fd, type); 211 maybe_sigio_broken(fd, (type == IRQ_READ));
223 212
224 return(0); 213 return(0);
225 214
226 out_unlock: 215 out_unlock:
227 irq_unlock(flags); 216 spin_unlock_irqrestore(&irq_lock, flags);
228 out_kfree: 217 out_kfree:
229 kfree(new_fd); 218 kfree(new_fd);
230 out: 219 out:
@@ -235,9 +224,9 @@ static void free_irq_by_cb(int (*test)(struct irq_fd *, void *), void *arg)
235{ 224{
236 unsigned long flags; 225 unsigned long flags;
237 226
238 flags = irq_lock(); 227 spin_lock_irqsave(&irq_lock, flags);
239 os_free_irq_by_cb(test, arg, active_fds, &last_irq_ptr); 228 os_free_irq_by_cb(test, arg, active_fds, &last_irq_ptr);
240 irq_unlock(flags); 229 spin_unlock_irqrestore(&irq_lock, flags);
241} 230}
242 231
243struct irq_and_dev { 232struct irq_and_dev {
@@ -304,19 +293,19 @@ void reactivate_fd(int fd, int irqnum)
304 unsigned long flags; 293 unsigned long flags;
305 int i; 294 int i;
306 295
307 flags = irq_lock(); 296 spin_lock_irqsave(&irq_lock, flags);
308 irq = find_irq_by_fd(fd, irqnum, &i); 297 irq = find_irq_by_fd(fd, irqnum, &i);
309 if (irq == NULL) { 298 if (irq == NULL) {
310 irq_unlock(flags); 299 spin_unlock_irqrestore(&irq_lock, flags);
311 return; 300 return;
312 } 301 }
313 os_set_pollfd(i, irq->fd); 302 os_set_pollfd(i, irq->fd);
314 irq_unlock(flags); 303 spin_unlock_irqrestore(&irq_lock, flags);
315 304
316 /* This calls activate_fd, so it has to be outside the critical 305 /* This calls activate_fd, so it has to be outside the critical
317 * section. 306 * section.
318 */ 307 */
319 maybe_sigio_broken(fd, irq->type); 308 maybe_sigio_broken(fd, (irq->type == IRQ_READ));
320} 309}
321 310
322void deactivate_fd(int fd, int irqnum) 311void deactivate_fd(int fd, int irqnum)
@@ -325,13 +314,13 @@ void deactivate_fd(int fd, int irqnum)
325 unsigned long flags; 314 unsigned long flags;
326 int i; 315 int i;
327 316
328 flags = irq_lock(); 317 spin_lock_irqsave(&irq_lock, flags);
329 irq = find_irq_by_fd(fd, irqnum, &i); 318 irq = find_irq_by_fd(fd, irqnum, &i);
330 if (irq == NULL) 319 if (irq == NULL)
331 goto out; 320 goto out;
332 os_set_pollfd(i, -1); 321 os_set_pollfd(i, -1);
333 out: 322 out:
334 irq_unlock(flags); 323 spin_unlock_irqrestore(&irq_lock, flags);
335} 324}
336 325
337int deactivate_all_fds(void) 326int deactivate_all_fds(void)
@@ -350,13 +339,14 @@ int deactivate_all_fds(void)
350 return 0; 339 return 0;
351} 340}
352 341
342#ifdef CONFIG_MODE_TT
353void forward_interrupts(int pid) 343void forward_interrupts(int pid)
354{ 344{
355 struct irq_fd *irq; 345 struct irq_fd *irq;
356 unsigned long flags; 346 unsigned long flags;
357 int err; 347 int err;
358 348
359 flags = irq_lock(); 349 spin_lock_irqsave(&irq_lock, flags);
360 for (irq = active_fds; irq != NULL; irq = irq->next) { 350 for (irq = active_fds; irq != NULL; irq = irq->next) {
361 err = os_set_owner(irq->fd, pid); 351 err = os_set_owner(irq->fd, pid);
362 if (err < 0) { 352 if (err < 0) {
@@ -369,8 +359,9 @@ void forward_interrupts(int pid)
369 359
370 irq->pid = pid; 360 irq->pid = pid;
371 } 361 }
372 irq_unlock(flags); 362 spin_unlock_irqrestore(&irq_lock, flags);
373} 363}
364#endif
374 365
375/* 366/*
376 * do_IRQ handles all normal device IRQ's (the special 367 * do_IRQ handles all normal device IRQ's (the special
@@ -403,21 +394,6 @@ int um_request_irq(unsigned int irq, int fd, int type,
403EXPORT_SYMBOL(um_request_irq); 394EXPORT_SYMBOL(um_request_irq);
404EXPORT_SYMBOL(reactivate_fd); 395EXPORT_SYMBOL(reactivate_fd);
405 396
406static DEFINE_SPINLOCK(irq_spinlock);
407
408unsigned long irq_lock(void)
409{
410 unsigned long flags;
411
412 spin_lock_irqsave(&irq_spinlock, flags);
413 return flags;
414}
415
416void irq_unlock(unsigned long flags)
417{
418 spin_unlock_irqrestore(&irq_spinlock, flags);
419}
420
421/* hw_interrupt_type must define (startup || enable) && 397/* hw_interrupt_type must define (startup || enable) &&
422 * (shutdown || disable) && end */ 398 * (shutdown || disable) && end */
423static void dummy(unsigned int irq) 399static void dummy(unsigned int irq)
diff --git a/arch/um/kernel/ksyms.c b/arch/um/kernel/ksyms.c
index 432cf0b97a13..c97045d6d89f 100644
--- a/arch/um/kernel/ksyms.c
+++ b/arch/um/kernel/ksyms.c
@@ -88,12 +88,6 @@ EXPORT_SYMBOL(dump_thread);
88EXPORT_SYMBOL(do_gettimeofday); 88EXPORT_SYMBOL(do_gettimeofday);
89EXPORT_SYMBOL(do_settimeofday); 89EXPORT_SYMBOL(do_settimeofday);
90 90
91/* This is here because UML expands lseek to sys_lseek, not to a system
92 * call instruction.
93 */
94EXPORT_SYMBOL(sys_lseek);
95EXPORT_SYMBOL(sys_wait4);
96
97#ifdef CONFIG_SMP 91#ifdef CONFIG_SMP
98 92
99/* required for SMP */ 93/* required for SMP */
diff --git a/arch/um/kernel/mem.c b/arch/um/kernel/mem.c
index 44e41a35f000..61280167c560 100644
--- a/arch/um/kernel/mem.c
+++ b/arch/um/kernel/mem.c
@@ -24,8 +24,6 @@
24#include "init.h" 24#include "init.h"
25#include "kern_constants.h" 25#include "kern_constants.h"
26 26
27extern char __binary_start;
28
29/* Changed during early boot */ 27/* Changed during early boot */
30unsigned long *empty_zero_page = NULL; 28unsigned long *empty_zero_page = NULL;
31unsigned long *empty_bad_page = NULL; 29unsigned long *empty_bad_page = NULL;
@@ -65,8 +63,6 @@ static void setup_highmem(unsigned long highmem_start,
65 63
66void mem_init(void) 64void mem_init(void)
67{ 65{
68 unsigned long start;
69
70 max_low_pfn = (high_physmem - uml_physmem) >> PAGE_SHIFT; 66 max_low_pfn = (high_physmem - uml_physmem) >> PAGE_SHIFT;
71 67
72 /* clear the zero-page */ 68 /* clear the zero-page */
@@ -81,13 +77,6 @@ void mem_init(void)
81 free_bootmem(__pa(brk_end), uml_reserved - brk_end); 77 free_bootmem(__pa(brk_end), uml_reserved - brk_end);
82 uml_reserved = brk_end; 78 uml_reserved = brk_end;
83 79
84 /* Fill in any hole at the start of the binary */
85 start = (unsigned long) &__binary_start & PAGE_MASK;
86 if(uml_physmem != start){
87 map_memory(uml_physmem, __pa(uml_physmem), start - uml_physmem,
88 1, 1, 0);
89 }
90
91 /* this will put all low memory onto the freelists */ 80 /* this will put all low memory onto the freelists */
92 totalram_pages = free_all_bootmem(); 81 totalram_pages = free_all_bootmem();
93 totalhigh_pages = highmem >> PAGE_SHIFT; 82 totalhigh_pages = highmem >> PAGE_SHIFT;
diff --git a/arch/um/kernel/physmem.c b/arch/um/kernel/physmem.c
index 166cb09cae4c..abafa64b8727 100644
--- a/arch/um/kernel/physmem.c
+++ b/arch/um/kernel/physmem.c
@@ -317,7 +317,7 @@ void map_memory(unsigned long virt, unsigned long phys, unsigned long len,
317 } 317 }
318} 318}
319 319
320extern int __syscall_stub_start, __binary_start; 320extern int __syscall_stub_start;
321 321
322void setup_physmem(unsigned long start, unsigned long reserve_end, 322void setup_physmem(unsigned long start, unsigned long reserve_end,
323 unsigned long len, unsigned long long highmem) 323 unsigned long len, unsigned long long highmem)
diff --git a/arch/um/kernel/sigio_kern.c b/arch/um/kernel/sigio.c
index 51b677083948..0ad755ceb212 100644
--- a/arch/um/kernel/sigio_kern.c
+++ b/arch/um/kernel/sigio.c
@@ -31,7 +31,7 @@ int write_sigio_irq(int fd)
31 int err; 31 int err;
32 32
33 err = um_request_irq(SIGIO_WRITE_IRQ, fd, IRQ_READ, sigio_interrupt, 33 err = um_request_irq(SIGIO_WRITE_IRQ, fd, IRQ_READ, sigio_interrupt,
34 IRQF_DISABLED | IRQF_SAMPLE_RANDOM, "write sigio", 34 IRQF_DISABLED|IRQF_SAMPLE_RANDOM, "write sigio",
35 NULL); 35 NULL);
36 if(err){ 36 if(err){
37 printk("write_sigio_irq : um_request_irq failed, err = %d\n", 37 printk("write_sigio_irq : um_request_irq failed, err = %d\n",
@@ -53,17 +53,3 @@ void sigio_unlock(void)
53{ 53{
54 spin_unlock(&sigio_spinlock); 54 spin_unlock(&sigio_spinlock);
55} 55}
56
57extern void sigio_cleanup(void);
58__uml_exitcall(sigio_cleanup);
59
60/*
61 * Overrides for Emacs so that we follow Linus's tabbing style.
62 * Emacs will notice this stuff at the end of the file and automatically
63 * adjust the settings for this buffer only. This must remain at the end
64 * of the file.
65 * ---------------------------------------------------------------------------
66 * Local variables:
67 * c-file-style: "linux"
68 * End:
69 */
diff --git a/arch/um/kernel/signal_kern.c b/arch/um/kernel/signal.c
index da17b7541e08..4aa9808ba264 100644
--- a/arch/um/kernel/signal_kern.c
+++ b/arch/um/kernel/signal.c
@@ -1,4 +1,4 @@
1/* 1/*
2 * Copyright (C) 2000, 2001, 2002 Jeff Dike (jdike@karaya.com) 2 * Copyright (C) 2000, 2001, 2002 Jeff Dike (jdike@karaya.com)
3 * Licensed under the GPL 3 * Licensed under the GPL
4 */ 4 */
@@ -36,7 +36,7 @@ EXPORT_SYMBOL(unblock_signals);
36 36
37/* 37/*
38 * OK, we're invoking a handler 38 * OK, we're invoking a handler
39 */ 39 */
40static int handle_signal(struct pt_regs *regs, unsigned long signr, 40static int handle_signal(struct pt_regs *regs, unsigned long signr,
41 struct k_sigaction *ka, siginfo_t *info, 41 struct k_sigaction *ka, siginfo_t *info,
42 sigset_t *oldset) 42 sigset_t *oldset)
@@ -88,7 +88,7 @@ static int handle_signal(struct pt_regs *regs, unsigned long signr,
88 force_sigsegv(signr, current); 88 force_sigsegv(signr, current);
89 } else { 89 } else {
90 spin_lock_irq(&current->sighand->siglock); 90 spin_lock_irq(&current->sighand->siglock);
91 sigorsets(&current->blocked, &current->blocked, 91 sigorsets(&current->blocked, &current->blocked,
92 &ka->sa.sa_mask); 92 &ka->sa.sa_mask);
93 if(!(ka->sa.sa_flags & SA_NODEFER)) 93 if(!(ka->sa.sa_flags & SA_NODEFER))
94 sigaddset(&current->blocked, signr); 94 sigaddset(&current->blocked, signr);
@@ -136,7 +136,7 @@ static int kern_do_signal(struct pt_regs *regs)
136 PT_REGS_RESTART_SYSCALL(regs); 136 PT_REGS_RESTART_SYSCALL(regs);
137 break; 137 break;
138 case -ERESTART_RESTARTBLOCK: 138 case -ERESTART_RESTARTBLOCK:
139 PT_REGS_SYSCALL_RET(regs) = __NR_restart_syscall; 139 PT_REGS_ORIG_SYSCALL(regs) = __NR_restart_syscall;
140 PT_REGS_RESTART_SYSCALL(regs); 140 PT_REGS_RESTART_SYSCALL(regs);
141 break; 141 break;
142 } 142 }
@@ -146,7 +146,7 @@ static int kern_do_signal(struct pt_regs *regs)
146 * you set a breakpoint on a system call instruction and singlestep 146 * you set a breakpoint on a system call instruction and singlestep
147 * from it, the tracing thread used to PTRACE_SINGLESTEP the process 147 * from it, the tracing thread used to PTRACE_SINGLESTEP the process
148 * rather than PTRACE_SYSCALL it, allowing the system call to execute 148 * rather than PTRACE_SYSCALL it, allowing the system call to execute
149 * on the host. The tracing thread will check this flag and 149 * on the host. The tracing thread will check this flag and
150 * PTRACE_SYSCALL if necessary. 150 * PTRACE_SYSCALL if necessary.
151 */ 151 */
152 if(current->ptrace & PT_DTRACE) 152 if(current->ptrace & PT_DTRACE)
diff --git a/arch/um/kernel/skas/mem.c b/arch/um/kernel/skas/mem.c
index 88ab96c609ce..27bbf54b1e52 100644
--- a/arch/um/kernel/skas/mem.c
+++ b/arch/um/kernel/skas/mem.c
@@ -9,31 +9,19 @@
9#include "mem_user.h" 9#include "mem_user.h"
10#include "skas.h" 10#include "skas.h"
11 11
12unsigned long set_task_sizes_skas(int arg, unsigned long *host_size_out, 12unsigned long set_task_sizes_skas(unsigned long *task_size_out)
13 unsigned long *task_size_out)
14{ 13{
15 /* Round up to the nearest 4M */ 14 /* Round up to the nearest 4M */
16 unsigned long top = ROUND_4M((unsigned long) &arg); 15 unsigned long host_task_size = ROUND_4M((unsigned long)
16 &host_task_size);
17 17
18#ifdef CONFIG_HOST_TASK_SIZE 18#ifdef CONFIG_HOST_TASK_SIZE
19 *host_size_out = CONFIG_HOST_TASK_SIZE; 19 *host_size_out = ROUND_4M(CONFIG_HOST_TASK_SIZE);
20 *task_size_out = CONFIG_HOST_TASK_SIZE; 20 *task_size_out = CONFIG_HOST_TASK_SIZE;
21#else 21#else
22 *host_size_out = top;
23 if (!skas_needs_stub) 22 if (!skas_needs_stub)
24 *task_size_out = top; 23 *task_size_out = host_task_size;
25 else *task_size_out = CONFIG_STUB_START & PGDIR_MASK; 24 else *task_size_out = CONFIG_STUB_START & PGDIR_MASK;
26#endif 25#endif
27 return(((unsigned long) set_task_sizes_skas) & ~0xffffff); 26 return host_task_size;
28} 27}
29
30/*
31 * Overrides for Emacs so that we follow Linus's tabbing style.
32 * Emacs will notice this stuff at the end of the file and automatically
33 * adjust the settings for this buffer only. This must remain at the end
34 * of the file.
35 * ---------------------------------------------------------------------------
36 * Local variables:
37 * c-file-style: "linux"
38 * End:
39 */
diff --git a/arch/um/kernel/skas/process_kern.c b/arch/um/kernel/skas/process_kern.c
index 2135eaf98a93..55caeec8b257 100644
--- a/arch/um/kernel/skas/process_kern.c
+++ b/arch/um/kernel/skas/process_kern.c
@@ -177,7 +177,7 @@ int start_uml_skas(void)
177 if(proc_mm) 177 if(proc_mm)
178 userspace_pid[0] = start_userspace(0); 178 userspace_pid[0] = start_userspace(0);
179 179
180 init_new_thread_signals(1); 180 init_new_thread_signals();
181 181
182 init_task.thread.request.u.thread.proc = start_kernel_proc; 182 init_task.thread.request.u.thread.proc = start_kernel_proc;
183 init_task.thread.request.u.thread.arg = NULL; 183 init_task.thread.request.u.thread.arg = NULL;
diff --git a/arch/um/kernel/skas/syscall.c b/arch/um/kernel/skas/syscall.c
index 51fb94076fcf..0ae4eea21be4 100644
--- a/arch/um/kernel/skas/syscall.c
+++ b/arch/um/kernel/skas/syscall.c
@@ -18,11 +18,7 @@ void handle_syscall(union uml_pt_regs *r)
18 struct pt_regs *regs = container_of(r, struct pt_regs, regs); 18 struct pt_regs *regs = container_of(r, struct pt_regs, regs);
19 long result; 19 long result;
20 int syscall; 20 int syscall;
21#ifdef UML_CONFIG_SYSCALL_DEBUG
22 int index;
23 21
24 index = record_syscall_start(UPT_SYSCALL_NR(r));
25#endif
26 syscall_trace(r, 0); 22 syscall_trace(r, 0);
27 23
28 current->thread.nsyscalls++; 24 current->thread.nsyscalls++;
@@ -44,7 +40,4 @@ void handle_syscall(union uml_pt_regs *r)
44 REGS_SET_SYSCALL_RETURN(r->skas.regs, result); 40 REGS_SET_SYSCALL_RETURN(r->skas.regs, result);
45 41
46 syscall_trace(r, 1); 42 syscall_trace(r, 1);
47#ifdef UML_CONFIG_SYSCALL_DEBUG
48 record_syscall_end(index, result);
49#endif
50} 43}
diff --git a/arch/um/kernel/syscall.c b/arch/um/kernel/syscall.c
index 1731d90e6850..48cf88dd02d4 100644
--- a/arch/um/kernel/syscall.c
+++ b/arch/um/kernel/syscall.c
@@ -1,36 +1,166 @@
1/* 1/*
2 * Copyright (C) 2002 Jeff Dike (jdike@karaya.com) 2 * Copyright (C) 2000 - 2003 Jeff Dike (jdike@addtoit.com)
3 * Licensed under the GPL 3 * Licensed under the GPL
4 */ 4 */
5 5
6#include "linux/sched.h"
7#include "linux/file.h"
8#include "linux/smp_lock.h"
9#include "linux/mm.h"
10#include "linux/utsname.h"
11#include "linux/msg.h"
12#include "linux/shm.h"
13#include "linux/sys.h"
14#include "linux/syscalls.h"
15#include "linux/unistd.h"
16#include "linux/slab.h"
17#include "linux/utime.h"
18#include "asm/mman.h"
19#include "asm/uaccess.h"
6#include "kern_util.h" 20#include "kern_util.h"
7#include "syscall.h" 21#include "user_util.h"
8#include "os.h" 22#include "sysdep/syscalls.h"
23#include "mode_kern.h"
24#include "choose-mode.h"
9 25
10struct { 26/* Unlocked, I don't care if this is a bit off */
11 int syscall; 27int nsyscalls = 0;
12 int pid;
13 long result;
14 unsigned long long start;
15 unsigned long long end;
16} syscall_record[1024];
17 28
18int record_syscall_start(int syscall) 29long sys_fork(void)
19{ 30{
20 int max, index; 31 long ret;
21 32
22 max = sizeof(syscall_record)/sizeof(syscall_record[0]); 33 current->thread.forking = 1;
23 index = next_syscall_index(max); 34 ret = do_fork(SIGCHLD, UPT_SP(&current->thread.regs.regs),
35 &current->thread.regs, 0, NULL, NULL);
36 current->thread.forking = 0;
37 return(ret);
38}
39
40long sys_vfork(void)
41{
42 long ret;
43
44 current->thread.forking = 1;
45 ret = do_fork(CLONE_VFORK | CLONE_VM | SIGCHLD,
46 UPT_SP(&current->thread.regs.regs),
47 &current->thread.regs, 0, NULL, NULL);
48 current->thread.forking = 0;
49 return(ret);
50}
51
52/* common code for old and new mmaps */
53long sys_mmap2(unsigned long addr, unsigned long len,
54 unsigned long prot, unsigned long flags,
55 unsigned long fd, unsigned long pgoff)
56{
57 long error = -EBADF;
58 struct file * file = NULL;
59
60 flags &= ~(MAP_EXECUTABLE | MAP_DENYWRITE);
61 if (!(flags & MAP_ANONYMOUS)) {
62 file = fget(fd);
63 if (!file)
64 goto out;
65 }
66
67 down_write(&current->mm->mmap_sem);
68 error = do_mmap_pgoff(file, addr, len, prot, flags, pgoff);
69 up_write(&current->mm->mmap_sem);
70
71 if (file)
72 fput(file);
73 out:
74 return error;
75}
76
77long old_mmap(unsigned long addr, unsigned long len,
78 unsigned long prot, unsigned long flags,
79 unsigned long fd, unsigned long offset)
80{
81 long err = -EINVAL;
82 if (offset & ~PAGE_MASK)
83 goto out;
84
85 err = sys_mmap2(addr, len, prot, flags, fd, offset >> PAGE_SHIFT);
86 out:
87 return err;
88}
89/*
90 * sys_pipe() is the normal C calling standard for creating
91 * a pipe. It's not the way unix traditionally does this, though.
92 */
93long sys_pipe(unsigned long __user * fildes)
94{
95 int fd[2];
96 long error;
97
98 error = do_pipe(fd);
99 if (!error) {
100 if (copy_to_user(fildes, fd, sizeof(fd)))
101 error = -EFAULT;
102 }
103 return error;
104}
24 105
25 syscall_record[index].syscall = syscall; 106
26 syscall_record[index].pid = current_pid(); 107long sys_uname(struct old_utsname __user * name)
27 syscall_record[index].result = 0xdeadbeef; 108{
28 syscall_record[index].start = os_nsecs(); 109 long err;
29 return(index); 110 if (!name)
111 return -EFAULT;
112 down_read(&uts_sem);
113 err = copy_to_user(name, &system_utsname, sizeof (*name));
114 up_read(&uts_sem);
115 return err?-EFAULT:0;
30} 116}
31 117
32void record_syscall_end(int index, long result) 118long sys_olduname(struct oldold_utsname __user * name)
33{ 119{
34 syscall_record[index].result = result; 120 long error;
35 syscall_record[index].end = os_nsecs(); 121
122 if (!name)
123 return -EFAULT;
124 if (!access_ok(VERIFY_WRITE,name,sizeof(struct oldold_utsname)))
125 return -EFAULT;
126
127 down_read(&uts_sem);
128
129 error = __copy_to_user(&name->sysname,&system_utsname.sysname,
130 __OLD_UTS_LEN);
131 error |= __put_user(0,name->sysname+__OLD_UTS_LEN);
132 error |= __copy_to_user(&name->nodename,&system_utsname.nodename,
133 __OLD_UTS_LEN);
134 error |= __put_user(0,name->nodename+__OLD_UTS_LEN);
135 error |= __copy_to_user(&name->release,&system_utsname.release,
136 __OLD_UTS_LEN);
137 error |= __put_user(0,name->release+__OLD_UTS_LEN);
138 error |= __copy_to_user(&name->version,&system_utsname.version,
139 __OLD_UTS_LEN);
140 error |= __put_user(0,name->version+__OLD_UTS_LEN);
141 error |= __copy_to_user(&name->machine,&system_utsname.machine,
142 __OLD_UTS_LEN);
143 error |= __put_user(0,name->machine+__OLD_UTS_LEN);
144
145 up_read(&uts_sem);
146
147 error = error ? -EFAULT : 0;
148
149 return error;
150}
151
152DEFINE_SPINLOCK(syscall_lock);
153
154static int syscall_index = 0;
155
156int next_syscall_index(int limit)
157{
158 int ret;
159
160 spin_lock(&syscall_lock);
161 ret = syscall_index;
162 if(++syscall_index == limit)
163 syscall_index = 0;
164 spin_unlock(&syscall_lock);
165 return(ret);
36} 166}
diff --git a/arch/um/kernel/syscall_kern.c b/arch/um/kernel/syscall_kern.c
deleted file mode 100644
index 37d3978337d8..000000000000
--- a/arch/um/kernel/syscall_kern.c
+++ /dev/null
@@ -1,166 +0,0 @@
1/*
2 * Copyright (C) 2000 - 2003 Jeff Dike (jdike@addtoit.com)
3 * Licensed under the GPL
4 */
5
6#include "linux/sched.h"
7#include "linux/file.h"
8#include "linux/smp_lock.h"
9#include "linux/mm.h"
10#include "linux/utsname.h"
11#include "linux/msg.h"
12#include "linux/shm.h"
13#include "linux/sys.h"
14#include "linux/syscalls.h"
15#include "linux/unistd.h"
16#include "linux/slab.h"
17#include "linux/utime.h"
18#include "asm/mman.h"
19#include "asm/uaccess.h"
20#include "kern_util.h"
21#include "user_util.h"
22#include "sysdep/syscalls.h"
23#include "mode_kern.h"
24#include "choose-mode.h"
25
26/* Unlocked, I don't care if this is a bit off */
27int nsyscalls = 0;
28
29long sys_fork(void)
30{
31 long ret;
32
33 current->thread.forking = 1;
34 ret = do_fork(SIGCHLD, UPT_SP(&current->thread.regs.regs),
35 &current->thread.regs, 0, NULL, NULL);
36 current->thread.forking = 0;
37 return(ret);
38}
39
40long sys_vfork(void)
41{
42 long ret;
43
44 current->thread.forking = 1;
45 ret = do_fork(CLONE_VFORK | CLONE_VM | SIGCHLD,
46 UPT_SP(&current->thread.regs.regs),
47 &current->thread.regs, 0, NULL, NULL);
48 current->thread.forking = 0;
49 return(ret);
50}
51
52/* common code for old and new mmaps */
53long sys_mmap2(unsigned long addr, unsigned long len,
54 unsigned long prot, unsigned long flags,
55 unsigned long fd, unsigned long pgoff)
56{
57 long error = -EBADF;
58 struct file * file = NULL;
59
60 flags &= ~(MAP_EXECUTABLE | MAP_DENYWRITE);
61 if (!(flags & MAP_ANONYMOUS)) {
62 file = fget(fd);
63 if (!file)
64 goto out;
65 }
66
67 down_write(&current->mm->mmap_sem);
68 error = do_mmap_pgoff(file, addr, len, prot, flags, pgoff);
69 up_write(&current->mm->mmap_sem);
70
71 if (file)
72 fput(file);
73 out:
74 return error;
75}
76
77long old_mmap(unsigned long addr, unsigned long len,
78 unsigned long prot, unsigned long flags,
79 unsigned long fd, unsigned long offset)
80{
81 long err = -EINVAL;
82 if (offset & ~PAGE_MASK)
83 goto out;
84
85 err = sys_mmap2(addr, len, prot, flags, fd, offset >> PAGE_SHIFT);
86 out:
87 return err;
88}
89/*
90 * sys_pipe() is the normal C calling standard for creating
91 * a pipe. It's not the way unix traditionally does this, though.
92 */
93long sys_pipe(unsigned long __user * fildes)
94{
95 int fd[2];
96 long error;
97
98 error = do_pipe(fd);
99 if (!error) {
100 if (copy_to_user(fildes, fd, sizeof(fd)))
101 error = -EFAULT;
102 }
103 return error;
104}
105
106
107long sys_uname(struct old_utsname __user * name)
108{
109 long err;
110 if (!name)
111 return -EFAULT;
112 down_read(&uts_sem);
113 err=copy_to_user(name, &system_utsname, sizeof (*name));
114 up_read(&uts_sem);
115 return err?-EFAULT:0;
116}
117
118long sys_olduname(struct oldold_utsname __user * name)
119{
120 long error;
121
122 if (!name)
123 return -EFAULT;
124 if (!access_ok(VERIFY_WRITE,name,sizeof(struct oldold_utsname)))
125 return -EFAULT;
126
127 down_read(&uts_sem);
128
129 error = __copy_to_user(&name->sysname,&system_utsname.sysname,
130 __OLD_UTS_LEN);
131 error |= __put_user(0,name->sysname+__OLD_UTS_LEN);
132 error |= __copy_to_user(&name->nodename,&system_utsname.nodename,
133 __OLD_UTS_LEN);
134 error |= __put_user(0,name->nodename+__OLD_UTS_LEN);
135 error |= __copy_to_user(&name->release,&system_utsname.release,
136 __OLD_UTS_LEN);
137 error |= __put_user(0,name->release+__OLD_UTS_LEN);
138 error |= __copy_to_user(&name->version,&system_utsname.version,
139 __OLD_UTS_LEN);
140 error |= __put_user(0,name->version+__OLD_UTS_LEN);
141 error |= __copy_to_user(&name->machine,&system_utsname.machine,
142 __OLD_UTS_LEN);
143 error |= __put_user(0,name->machine+__OLD_UTS_LEN);
144
145 up_read(&uts_sem);
146
147 error = error ? -EFAULT : 0;
148
149 return error;
150}
151
152DEFINE_SPINLOCK(syscall_lock);
153
154static int syscall_index = 0;
155
156int next_syscall_index(int limit)
157{
158 int ret;
159
160 spin_lock(&syscall_lock);
161 ret = syscall_index;
162 if(++syscall_index == limit)
163 syscall_index = 0;
164 spin_unlock(&syscall_lock);
165 return(ret);
166}
diff --git a/arch/um/kernel/time_kern.c b/arch/um/kernel/time.c
index d7e044b5e5ee..552ca1cb9847 100644
--- a/arch/um/kernel/time_kern.c
+++ b/arch/um/kernel/time.c
@@ -38,7 +38,6 @@ unsigned long long sched_clock(void)
38/* Changed at early boot */ 38/* Changed at early boot */
39int timer_irq_inited = 0; 39int timer_irq_inited = 0;
40 40
41static int first_tick;
42static unsigned long long prev_nsecs; 41static unsigned long long prev_nsecs;
43#ifdef CONFIG_UML_REAL_TIME_CLOCK 42#ifdef CONFIG_UML_REAL_TIME_CLOCK
44static long long delta; /* Deviation per interval */ 43static long long delta; /* Deviation per interval */
@@ -48,15 +47,8 @@ void timer_irq(union uml_pt_regs *regs)
48{ 47{
49 unsigned long long ticks = 0; 48 unsigned long long ticks = 0;
50 49
51 if(!timer_irq_inited){
52 /* This is to ensure that ticks don't pile up when
53 * the timer handler is suspended */
54 first_tick = 0;
55 return;
56 }
57
58 if(first_tick){
59#ifdef CONFIG_UML_REAL_TIME_CLOCK 50#ifdef CONFIG_UML_REAL_TIME_CLOCK
51 if(prev_nsecs){
60 /* We've had 1 tick */ 52 /* We've had 1 tick */
61 unsigned long long nsecs = os_nsecs(); 53 unsigned long long nsecs = os_nsecs();
62 54
@@ -69,44 +61,17 @@ void timer_irq(union uml_pt_regs *regs)
69 61
70 ticks += (delta * HZ) / BILLION; 62 ticks += (delta * HZ) / BILLION;
71 delta -= (ticks * BILLION) / HZ; 63 delta -= (ticks * BILLION) / HZ;
64 }
65 else prev_nsecs = os_nsecs();
72#else 66#else
73 ticks = 1; 67 ticks = 1;
74#endif 68#endif
75 }
76 else {
77 prev_nsecs = os_nsecs();
78 first_tick = 1;
79 }
80
81 while(ticks > 0){ 69 while(ticks > 0){
82 do_IRQ(TIMER_IRQ, regs); 70 do_IRQ(TIMER_IRQ, regs);
83 ticks--; 71 ticks--;
84 } 72 }
85} 73}
86 74
87
88void time_init_kern(void)
89{
90 long long nsecs;
91
92 nsecs = os_nsecs();
93 set_normalized_timespec(&wall_to_monotonic, -nsecs / BILLION,
94 -nsecs % BILLION);
95}
96
97void do_boot_timer_handler(struct sigcontext * sc)
98{
99 unsigned long flags;
100 struct pt_regs regs;
101
102 CHOOSE_MODE((void) (UPT_SC(&regs.regs) = sc),
103 (void) (regs.regs.skas.is_user = 0));
104
105 write_seqlock_irqsave(&xtime_lock, flags);
106 do_timer(&regs);
107 write_sequnlock_irqrestore(&xtime_lock, flags);
108}
109
110static DEFINE_SPINLOCK(timer_spinlock); 75static DEFINE_SPINLOCK(timer_spinlock);
111 76
112static unsigned long long local_offset = 0; 77static unsigned long long local_offset = 0;
@@ -142,6 +107,32 @@ irqreturn_t um_timer(int irq, void *dev, struct pt_regs *regs)
142 return IRQ_HANDLED; 107 return IRQ_HANDLED;
143} 108}
144 109
110static void register_timer(void)
111{
112 int err;
113
114 err = request_irq(TIMER_IRQ, um_timer, IRQF_DISABLED, "timer", NULL);
115 if(err != 0)
116 printk(KERN_ERR "timer_init : request_irq failed - "
117 "errno = %d\n", -err);
118
119 timer_irq_inited = 1;
120
121 user_time_init();
122}
123
124extern void (*late_time_init)(void);
125
126void time_init(void)
127{
128 long long nsecs;
129
130 nsecs = os_nsecs();
131 set_normalized_timespec(&wall_to_monotonic, -nsecs / BILLION,
132 -nsecs % BILLION);
133 late_time_init = register_timer;
134}
135
145void do_gettimeofday(struct timeval *tv) 136void do_gettimeofday(struct timeval *tv)
146{ 137{
147 unsigned long long nsecs = get_time(); 138 unsigned long long nsecs = get_time();
@@ -189,18 +180,3 @@ void timer_handler(int sig, union uml_pt_regs *regs)
189 if(current_thread->cpu == 0) 180 if(current_thread->cpu == 0)
190 timer_irq(regs); 181 timer_irq(regs);
191} 182}
192
193int __init timer_init(void)
194{
195 int err;
196
197 user_time_init();
198 err = request_irq(TIMER_IRQ, um_timer, IRQF_DISABLED, "timer", NULL);
199 if(err != 0)
200 printk(KERN_ERR "timer_init : request_irq failed - "
201 "errno = %d\n", -err);
202 timer_irq_inited = 1;
203 return(0);
204}
205
206arch_initcall(timer_init);
diff --git a/arch/um/kernel/trap_kern.c b/arch/um/kernel/trap.c
index 02f6d4d8dc3a..ac70fa5a2e2a 100644
--- a/arch/um/kernel/trap_kern.c
+++ b/arch/um/kernel/trap.c
@@ -35,7 +35,7 @@
35#include "os.h" 35#include "os.h"
36 36
37/* Note this is constrained to return 0, -EFAULT, -EACCESS, -ENOMEM by segv(). */ 37/* Note this is constrained to return 0, -EFAULT, -EACCESS, -ENOMEM by segv(). */
38int handle_page_fault(unsigned long address, unsigned long ip, 38int handle_page_fault(unsigned long address, unsigned long ip,
39 int is_write, int is_user, int *code_out) 39 int is_write, int is_user, int *code_out)
40{ 40{
41 struct mm_struct *mm = current->mm; 41 struct mm_struct *mm = current->mm;
@@ -55,20 +55,20 @@ int handle_page_fault(unsigned long address, unsigned long ip,
55 55
56 down_read(&mm->mmap_sem); 56 down_read(&mm->mmap_sem);
57 vma = find_vma(mm, address); 57 vma = find_vma(mm, address);
58 if(!vma) 58 if(!vma)
59 goto out; 59 goto out;
60 else if(vma->vm_start <= address) 60 else if(vma->vm_start <= address)
61 goto good_area; 61 goto good_area;
62 else if(!(vma->vm_flags & VM_GROWSDOWN)) 62 else if(!(vma->vm_flags & VM_GROWSDOWN))
63 goto out; 63 goto out;
64 else if(is_user && !ARCH_IS_STACKGROW(address)) 64 else if(is_user && !ARCH_IS_STACKGROW(address))
65 goto out; 65 goto out;
66 else if(expand_stack(vma, address)) 66 else if(expand_stack(vma, address))
67 goto out; 67 goto out;
68 68
69good_area: 69good_area:
70 *code_out = SEGV_ACCERR; 70 *code_out = SEGV_ACCERR;
71 if(is_write && !(vma->vm_flags & VM_WRITE)) 71 if(is_write && !(vma->vm_flags & VM_WRITE))
72 goto out; 72 goto out;
73 73
74 /* Don't require VM_READ|VM_EXEC for write faults! */ 74 /* Don't require VM_READ|VM_EXEC for write faults! */
@@ -184,14 +184,14 @@ unsigned long segv(struct faultinfo fi, unsigned long ip, int is_user, void *sc)
184 else if(catcher != NULL){ 184 else if(catcher != NULL){
185 current->thread.fault_addr = (void *) address; 185 current->thread.fault_addr = (void *) address;
186 do_longjmp(catcher, 1); 186 do_longjmp(catcher, 1);
187 } 187 }
188 else if(current->thread.fault_addr != NULL) 188 else if(current->thread.fault_addr != NULL)
189 panic("fault_addr set but no fault catcher"); 189 panic("fault_addr set but no fault catcher");
190 else if(!is_user && arch_fixup(ip, sc)) 190 else if(!is_user && arch_fixup(ip, sc))
191 return(0); 191 return(0);
192 192
193 if(!is_user) 193 if(!is_user)
194 panic("Kernel mode fault at addr 0x%lx, ip 0x%lx", 194 panic("Kernel mode fault at addr 0x%lx, ip 0x%lx",
195 address, ip); 195 address, ip);
196 196
197 if (err == -EACCES) { 197 if (err == -EACCES) {
diff --git a/arch/um/kernel/tt/exec_kern.c b/arch/um/kernel/tt/exec_kern.c
index 5c1e4cc1c049..ad66df17d9d7 100644
--- a/arch/um/kernel/tt/exec_kern.c
+++ b/arch/um/kernel/tt/exec_kern.c
@@ -21,7 +21,7 @@
21static int exec_tramp(void *sig_stack) 21static int exec_tramp(void *sig_stack)
22{ 22{
23 init_new_thread_stack(sig_stack, NULL); 23 init_new_thread_stack(sig_stack, NULL);
24 init_new_thread_signals(1); 24 init_new_thread_signals();
25 os_stop_process(os_getpid()); 25 os_stop_process(os_getpid());
26 return(0); 26 return(0);
27} 27}
diff --git a/arch/um/kernel/tt/mem.c b/arch/um/kernel/tt/mem.c
index bcb8796c3cb1..84a23b14f770 100644
--- a/arch/um/kernel/tt/mem.c
+++ b/arch/um/kernel/tt/mem.c
@@ -24,22 +24,13 @@ void before_mem_tt(unsigned long brk_start)
24#define SIZE ((CONFIG_NEST_LEVEL + CONFIG_KERNEL_HALF_GIGS) * 0x20000000) 24#define SIZE ((CONFIG_NEST_LEVEL + CONFIG_KERNEL_HALF_GIGS) * 0x20000000)
25#define START (CONFIG_TOP_ADDR - SIZE) 25#define START (CONFIG_TOP_ADDR - SIZE)
26 26
27unsigned long set_task_sizes_tt(int arg, unsigned long *host_size_out, 27unsigned long set_task_sizes_tt(unsigned long *task_size_out)
28 unsigned long *task_size_out)
29{ 28{
29 unsigned long host_task_size;
30
30 /* Round up to the nearest 4M */ 31 /* Round up to the nearest 4M */
31 *host_size_out = ROUND_4M((unsigned long) &arg); 32 host_task_size = ROUND_4M((unsigned long) &host_task_size);
32 *task_size_out = START; 33 *task_size_out = START;
33 return(START);
34}
35 34
36/* 35 return host_task_size;
37 * Overrides for Emacs so that we follow Linus's tabbing style. 36}
38 * Emacs will notice this stuff at the end of the file and automatically
39 * adjust the settings for this buffer only. This must remain at the end
40 * of the file.
41 * ---------------------------------------------------------------------------
42 * Local variables:
43 * c-file-style: "linux"
44 * End:
45 */
diff --git a/arch/um/kernel/tt/process_kern.c b/arch/um/kernel/tt/process_kern.c
index 8368c2dbe635..1e86f0bfef72 100644
--- a/arch/um/kernel/tt/process_kern.c
+++ b/arch/um/kernel/tt/process_kern.c
@@ -142,7 +142,7 @@ static void new_thread_handler(int sig)
142 schedule_tail(current->thread.prev_sched); 142 schedule_tail(current->thread.prev_sched);
143 current->thread.prev_sched = NULL; 143 current->thread.prev_sched = NULL;
144 144
145 init_new_thread_signals(1); 145 init_new_thread_signals();
146 enable_timer(); 146 enable_timer();
147 free_page(current->thread.temp_stack); 147 free_page(current->thread.temp_stack);
148 set_cmdline("(kernel thread)"); 148 set_cmdline("(kernel thread)");
diff --git a/arch/um/kernel/tt/syscall_kern.c b/arch/um/kernel/tt/syscall_kern.c
index 3fda9a03c59a..293caa6d0c2d 100644
--- a/arch/um/kernel/tt/syscall_kern.c
+++ b/arch/um/kernel/tt/syscall_kern.c
@@ -21,18 +21,11 @@ void syscall_handler_tt(int sig, struct pt_regs *regs)
21 void *sc; 21 void *sc;
22 long result; 22 long result;
23 int syscall; 23 int syscall;
24#ifdef CONFIG_SYSCALL_DEBUG 24
25 int index;
26#endif
27 sc = UPT_SC(&regs->regs); 25 sc = UPT_SC(&regs->regs);
28 SC_START_SYSCALL(sc); 26 SC_START_SYSCALL(sc);
29 27
30 syscall = UPT_SYSCALL_NR(&regs->regs); 28 syscall = UPT_SYSCALL_NR(&regs->regs);
31
32#ifdef CONFIG_SYSCALL_DEBUG
33 index = record_syscall_start(syscall);
34#endif
35
36 syscall_trace(&regs->regs, 0); 29 syscall_trace(&regs->regs, 0);
37 30
38 current->thread.nsyscalls++; 31 current->thread.nsyscalls++;
@@ -50,7 +43,4 @@ void syscall_handler_tt(int sig, struct pt_regs *regs)
50 SC_SET_SYSCALL_RETURN(sc, result); 43 SC_SET_SYSCALL_RETURN(sc, result);
51 44
52 syscall_trace(&regs->regs, 1); 45 syscall_trace(&regs->regs, 1);
53#ifdef CONFIG_SYSCALL_DEBUG
54 record_syscall_end(index, result);
55#endif
56} 46}
diff --git a/arch/um/kernel/tt/tracer.c b/arch/um/kernel/tt/tracer.c
index 71daae24e48a..9882342206ec 100644
--- a/arch/um/kernel/tt/tracer.c
+++ b/arch/um/kernel/tt/tracer.c
@@ -188,10 +188,7 @@ int tracer(int (*init_proc)(void *), void *sp)
188 int status, pid = 0, sig = 0, cont_type, tracing = 0, op = 0; 188 int status, pid = 0, sig = 0, cont_type, tracing = 0, op = 0;
189 int proc_id = 0, n, err, old_tracing = 0, strace = 0; 189 int proc_id = 0, n, err, old_tracing = 0, strace = 0;
190 int local_using_sysemu = 0; 190 int local_using_sysemu = 0;
191#ifdef UML_CONFIG_SYSCALL_DEBUG 191
192 unsigned long eip = 0;
193 int last_index;
194#endif
195 signal(SIGPIPE, SIG_IGN); 192 signal(SIGPIPE, SIG_IGN);
196 setup_tracer_winch(); 193 setup_tracer_winch();
197 tracing_pid = os_getpid(); 194 tracing_pid = os_getpid();
@@ -282,23 +279,6 @@ int tracer(int (*init_proc)(void *), void *sp)
282 else if(WIFSTOPPED(status)){ 279 else if(WIFSTOPPED(status)){
283 proc_id = pid_to_processor_id(pid); 280 proc_id = pid_to_processor_id(pid);
284 sig = WSTOPSIG(status); 281 sig = WSTOPSIG(status);
285#ifdef UML_CONFIG_SYSCALL_DEBUG
286 if(signal_index[proc_id] == 1024){
287 signal_index[proc_id] = 0;
288 last_index = 1023;
289 }
290 else last_index = signal_index[proc_id] - 1;
291 if(((sig == SIGPROF) || (sig == SIGVTALRM) ||
292 (sig == SIGALRM)) &&
293 (signal_record[proc_id][last_index].signal == sig)&&
294 (signal_record[proc_id][last_index].pid == pid))
295 signal_index[proc_id] = last_index;
296 signal_record[proc_id][signal_index[proc_id]].pid = pid;
297 gettimeofday(&signal_record[proc_id][signal_index[proc_id]].time, NULL);
298 eip = ptrace(PTRACE_PEEKUSR, pid, PT_IP_OFFSET, 0);
299 signal_record[proc_id][signal_index[proc_id]].addr = eip;
300 signal_record[proc_id][signal_index[proc_id]++].signal = sig;
301#endif
302 if(proc_id == -1){ 282 if(proc_id == -1){
303 sleeping_process_signal(pid, sig); 283 sleeping_process_signal(pid, sig);
304 continue; 284 continue;
diff --git a/arch/um/kernel/um_arch.c b/arch/um/kernel/um_arch.c
index 37cfe7701f06..7896cf98232d 100644
--- a/arch/um/kernel/um_arch.c
+++ b/arch/um/kernel/um_arch.c
@@ -330,6 +330,8 @@ EXPORT_SYMBOL(end_iomem);
330 330
331#define MIN_VMALLOC (32 * 1024 * 1024) 331#define MIN_VMALLOC (32 * 1024 * 1024)
332 332
333extern char __binary_start;
334
333int linux_main(int argc, char **argv) 335int linux_main(int argc, char **argv)
334{ 336{
335 unsigned long avail, diff; 337 unsigned long avail, diff;
@@ -374,8 +376,9 @@ int linux_main(int argc, char **argv)
374 376
375 printf("UML running in %s mode\n", mode); 377 printf("UML running in %s mode\n", mode);
376 378
377 uml_start = CHOOSE_MODE_PROC(set_task_sizes_tt, set_task_sizes_skas, 0, 379 uml_start = (unsigned long) &__binary_start;
378 &host_task_size, &task_size); 380 host_task_size = CHOOSE_MODE_PROC(set_task_sizes_tt,
381 set_task_sizes_skas, &task_size);
379 382
380 /* 383 /*
381 * Setting up handlers to 'sig_info' struct 384 * Setting up handlers to 'sig_info' struct
@@ -395,7 +398,7 @@ int linux_main(int argc, char **argv)
395 physmem_size += UML_ROUND_UP(brk_start) - UML_ROUND_UP(&_end); 398 physmem_size += UML_ROUND_UP(brk_start) - UML_ROUND_UP(&_end);
396 } 399 }
397 400
398 uml_physmem = uml_start; 401 uml_physmem = uml_start & PAGE_MASK;
399 402
400 /* Reserve up to 4M after the current brk */ 403 /* Reserve up to 4M after the current brk */
401 uml_reserved = ROUND_4M(brk_start) + (1 << 22); 404 uml_reserved = ROUND_4M(brk_start) + (1 << 22);
diff --git a/arch/um/kernel/uml.lds.S b/arch/um/kernel/uml.lds.S
index af11915ce0a8..8eca47a6ff08 100644
--- a/arch/um/kernel/uml.lds.S
+++ b/arch/um/kernel/uml.lds.S
@@ -7,13 +7,16 @@ jiffies = jiffies_64;
7 7
8SECTIONS 8SECTIONS
9{ 9{
10 /*This must contain the right address - not quite the default ELF one.*/ 10 /* This must contain the right address - not quite the default ELF one.*/
11 PROVIDE (__executable_start = START); 11 PROVIDE (__executable_start = START);
12 . = START + SIZEOF_HEADERS; 12 /* Static binaries stick stuff here, like the sigreturn trampoline,
13 * invisibly to objdump. So, just make __binary_start equal to the very
14 * beginning of the executable, and if there are unmapped pages after this,
15 * they are forever unusable.
16 */
17 __binary_start = START;
13 18
14 /* Used in arch/um/kernel/mem.c. Any memory between START and __binary_start 19 . = START + SIZEOF_HEADERS;
15 * is remapped.*/
16 __binary_start = .;
17 20
18#ifdef MODE_TT 21#ifdef MODE_TT
19 .remap_data : { UNMAP_PATH (.data .bss) } 22 .remap_data : { UNMAP_PATH (.data .bss) }
diff --git a/arch/um/kernel/vmlinux.lds.S b/arch/um/kernel/vmlinux.lds.S
index 72acdce205e0..f8aeb448aab6 100644
--- a/arch/um/kernel/vmlinux.lds.S
+++ b/arch/um/kernel/vmlinux.lds.S
@@ -1,5 +1,3 @@
1/* in case the preprocessor is a 32bit one */
2#undef i386
3#ifdef CONFIG_LD_SCRIPT_STATIC 1#ifdef CONFIG_LD_SCRIPT_STATIC
4#include "uml.lds.S" 2#include "uml.lds.S"
5#else 3#else
diff --git a/arch/um/os-Linux/file.c b/arch/um/os-Linux/file.c
index 09251338d99e..189fa677085a 100644
--- a/arch/um/os-Linux/file.c
+++ b/arch/um/os-Linux/file.c
@@ -1,4 +1,4 @@
1/* 1/*
2 * Copyright (C) 2002 Jeff Dike (jdike@karaya.com) 2 * Copyright (C) 2002 Jeff Dike (jdike@karaya.com)
3 * Licensed under the GPL 3 * Licensed under the GPL
4 */ 4 */
@@ -18,6 +18,7 @@
18#include "os.h" 18#include "os.h"
19#include "user.h" 19#include "user.h"
20#include "kern_util.h" 20#include "kern_util.h"
21#include "user_util.h"
21 22
22static void copy_stat(struct uml_stat *dst, struct stat64 *src) 23static void copy_stat(struct uml_stat *dst, struct stat64 *src)
23{ 24{
@@ -42,16 +43,13 @@ int os_stat_fd(const int fd, struct uml_stat *ubuf)
42 struct stat64 sbuf; 43 struct stat64 sbuf;
43 int err; 44 int err;
44 45
45 do { 46 CATCH_EINTR(err = fstat64(fd, &sbuf));
46 err = fstat64(fd, &sbuf);
47 } while((err < 0) && (errno == EINTR)) ;
48
49 if(err < 0) 47 if(err < 0)
50 return(-errno); 48 return -errno;
51 49
52 if(ubuf != NULL) 50 if(ubuf != NULL)
53 copy_stat(ubuf, &sbuf); 51 copy_stat(ubuf, &sbuf);
54 return(err); 52 return err;
55} 53}
56 54
57int os_stat_file(const char *file_name, struct uml_stat *ubuf) 55int os_stat_file(const char *file_name, struct uml_stat *ubuf)
@@ -64,11 +62,11 @@ int os_stat_file(const char *file_name, struct uml_stat *ubuf)
64 } while((err < 0) && (errno == EINTR)) ; 62 } while((err < 0) && (errno == EINTR)) ;
65 63
66 if(err < 0) 64 if(err < 0)
67 return(-errno); 65 return -errno;
68 66
69 if(ubuf != NULL) 67 if(ubuf != NULL)
70 copy_stat(ubuf, &sbuf); 68 copy_stat(ubuf, &sbuf);
71 return(err); 69 return err;
72} 70}
73 71
74int os_access(const char* file, int mode) 72int os_access(const char* file, int mode)
@@ -80,9 +78,9 @@ int os_access(const char* file, int mode)
80 78
81 err = access(file, amode); 79 err = access(file, amode);
82 if(err < 0) 80 if(err < 0)
83 return(-errno); 81 return -errno;
84 82
85 return(0); 83 return 0;
86} 84}
87 85
88void os_print_error(int error, const char* str) 86void os_print_error(int error, const char* str)
@@ -99,9 +97,9 @@ int os_ioctl_generic(int fd, unsigned int cmd, unsigned long arg)
99 97
100 err = ioctl(fd, cmd, arg); 98 err = ioctl(fd, cmd, arg);
101 if(err < 0) 99 if(err < 0)
102 return(-errno); 100 return -errno;
103 101
104 return(err); 102 return err;
105} 103}
106 104
107int os_window_size(int fd, int *rows, int *cols) 105int os_window_size(int fd, int *rows, int *cols)
@@ -109,12 +107,12 @@ int os_window_size(int fd, int *rows, int *cols)
109 struct winsize size; 107 struct winsize size;
110 108
111 if(ioctl(fd, TIOCGWINSZ, &size) < 0) 109 if(ioctl(fd, TIOCGWINSZ, &size) < 0)
112 return(-errno); 110 return -errno;
113 111
114 *rows = size.ws_row; 112 *rows = size.ws_row;
115 *cols = size.ws_col; 113 *cols = size.ws_col;
116 114
117 return(0); 115 return 0;
118} 116}
119 117
120int os_new_tty_pgrp(int fd, int pid) 118int os_new_tty_pgrp(int fd, int pid)
@@ -125,16 +123,16 @@ int os_new_tty_pgrp(int fd, int pid)
125 if(tcsetpgrp(fd, pid) < 0) 123 if(tcsetpgrp(fd, pid) < 0)
126 return -errno; 124 return -errno;
127 125
128 return(0); 126 return 0;
129} 127}
130 128
131/* FIXME: ensure namebuf in os_get_if_name is big enough */ 129/* FIXME: ensure namebuf in os_get_if_name is big enough */
132int os_get_ifname(int fd, char* namebuf) 130int os_get_ifname(int fd, char* namebuf)
133{ 131{
134 if(ioctl(fd, SIOCGIFNAME, namebuf) < 0) 132 if(ioctl(fd, SIOCGIFNAME, namebuf) < 0)
135 return(-errno); 133 return -errno;
136 134
137 return(0); 135 return 0;
138} 136}
139 137
140int os_set_slip(int fd) 138int os_set_slip(int fd)
@@ -149,7 +147,7 @@ int os_set_slip(int fd)
149 if(ioctl(fd, SIOCSIFENCAP, &sencap) < 0) 147 if(ioctl(fd, SIOCSIFENCAP, &sencap) < 0)
150 return -errno; 148 return -errno;
151 149
152 return(0); 150 return 0;
153} 151}
154 152
155int os_set_owner(int fd, int pid) 153int os_set_owner(int fd, int pid)
@@ -158,10 +156,10 @@ int os_set_owner(int fd, int pid)
158 int save_errno = errno; 156 int save_errno = errno;
159 157
160 if(fcntl(fd, F_GETOWN, 0) != pid) 158 if(fcntl(fd, F_GETOWN, 0) != pid)
161 return(-save_errno); 159 return -save_errno;
162 } 160 }
163 161
164 return(0); 162 return 0;
165} 163}
166 164
167/* FIXME? moved wholesale from sigio_user.c to get fcntls out of that file */ 165/* FIXME? moved wholesale from sigio_user.c to get fcntls out of that file */
@@ -192,9 +190,9 @@ int os_mode_fd(int fd, int mode)
192 } while((err < 0) && (errno==EINTR)) ; 190 } while((err < 0) && (errno==EINTR)) ;
193 191
194 if(err < 0) 192 if(err < 0)
195 return(-errno); 193 return -errno;
196 194
197 return(0); 195 return 0;
198} 196}
199 197
200int os_file_type(char *file) 198int os_file_type(char *file)
@@ -204,15 +202,21 @@ int os_file_type(char *file)
204 202
205 err = os_stat_file(file, &buf); 203 err = os_stat_file(file, &buf);
206 if(err < 0) 204 if(err < 0)
207 return(err); 205 return err;
208 206
209 if(S_ISDIR(buf.ust_mode)) return(OS_TYPE_DIR); 207 if(S_ISDIR(buf.ust_mode))
210 else if(S_ISLNK(buf.ust_mode)) return(OS_TYPE_SYMLINK); 208 return OS_TYPE_DIR;
211 else if(S_ISCHR(buf.ust_mode)) return(OS_TYPE_CHARDEV); 209 else if(S_ISLNK(buf.ust_mode))
212 else if(S_ISBLK(buf.ust_mode)) return(OS_TYPE_BLOCKDEV); 210 return OS_TYPE_SYMLINK;
213 else if(S_ISFIFO(buf.ust_mode)) return(OS_TYPE_FIFO); 211 else if(S_ISCHR(buf.ust_mode))
214 else if(S_ISSOCK(buf.ust_mode)) return(OS_TYPE_SOCK); 212 return OS_TYPE_CHARDEV;
215 else return(OS_TYPE_FILE); 213 else if(S_ISBLK(buf.ust_mode))
214 return OS_TYPE_BLOCKDEV;
215 else if(S_ISFIFO(buf.ust_mode))
216 return OS_TYPE_FIFO;
217 else if(S_ISSOCK(buf.ust_mode))
218 return OS_TYPE_SOCK;
219 else return OS_TYPE_FILE;
216} 220}
217 221
218int os_file_mode(char *file, struct openflags *mode_out) 222int os_file_mode(char *file, struct openflags *mode_out)
@@ -302,8 +306,8 @@ int os_seek_file(int fd, __u64 offset)
302 306
303 actual = lseek64(fd, offset, SEEK_SET); 307 actual = lseek64(fd, offset, SEEK_SET);
304 if(actual != offset) 308 if(actual != offset)
305 return(-errno); 309 return -errno;
306 return(0); 310 return 0;
307} 311}
308 312
309static int fault_buffer(void *start, int len, 313static int fault_buffer(void *start, int len,
@@ -314,13 +318,13 @@ static int fault_buffer(void *start, int len,
314 318
315 for(i = 0; i < len; i += page){ 319 for(i = 0; i < len; i += page){
316 if((*copy_proc)(start + i, &c, sizeof(c))) 320 if((*copy_proc)(start + i, &c, sizeof(c)))
317 return(-EFAULT); 321 return -EFAULT;
318 } 322 }
319 if((len % page) != 0){ 323 if((len % page) != 0){
320 if((*copy_proc)(start + len - 1, &c, sizeof(c))) 324 if((*copy_proc)(start + len - 1, &c, sizeof(c)))
321 return(-EFAULT); 325 return -EFAULT;
322 } 326 }
323 return(0); 327 return 0;
324} 328}
325 329
326static int file_io(int fd, void *buf, int len, 330static int file_io(int fd, void *buf, int len,
@@ -334,26 +338,26 @@ static int file_io(int fd, void *buf, int len,
334 if((n < 0) && (errno == EFAULT)){ 338 if((n < 0) && (errno == EFAULT)){
335 err = fault_buffer(buf, len, copy_user_proc); 339 err = fault_buffer(buf, len, copy_user_proc);
336 if(err) 340 if(err)
337 return(err); 341 return err;
338 n = (*io_proc)(fd, buf, len); 342 n = (*io_proc)(fd, buf, len);
339 } 343 }
340 } while((n < 0) && (errno == EINTR)); 344 } while((n < 0) && (errno == EINTR));
341 345
342 if(n < 0) 346 if(n < 0)
343 return(-errno); 347 return -errno;
344 return(n); 348 return n;
345} 349}
346 350
347int os_read_file(int fd, void *buf, int len) 351int os_read_file(int fd, void *buf, int len)
348{ 352{
349 return(file_io(fd, buf, len, (int (*)(int, void *, int)) read, 353 return file_io(fd, buf, len, (int (*)(int, void *, int)) read,
350 copy_from_user_proc)); 354 copy_from_user_proc);
351} 355}
352 356
353int os_write_file(int fd, const void *buf, int len) 357int os_write_file(int fd, const void *buf, int len)
354{ 358{
355 return(file_io(fd, (void *) buf, len, 359 return file_io(fd, (void *) buf, len,
356 (int (*)(int, void *, int)) write, copy_to_user_proc)); 360 (int (*)(int, void *, int)) write, copy_to_user_proc);
357} 361}
358 362
359int os_file_size(char *file, unsigned long long *size_out) 363int os_file_size(char *file, unsigned long long *size_out)
@@ -398,11 +402,11 @@ int os_file_modtime(char *file, unsigned long *modtime)
398 err = os_stat_file(file, &buf); 402 err = os_stat_file(file, &buf);
399 if(err < 0){ 403 if(err < 0){
400 printk("Couldn't stat \"%s\" : err = %d\n", file, -err); 404 printk("Couldn't stat \"%s\" : err = %d\n", file, -err);
401 return(err); 405 return err;
402 } 406 }
403 407
404 *modtime = buf.ust_mtime; 408 *modtime = buf.ust_mtime;
405 return(0); 409 return 0;
406} 410}
407 411
408int os_get_exec_close(int fd, int* close_on_exec) 412int os_get_exec_close(int fd, int* close_on_exec)
@@ -455,7 +459,7 @@ int os_pipe(int *fds, int stream, int close_on_exec)
455 if(err < 0) 459 if(err < 0)
456 goto error; 460 goto error;
457 461
458 return(0); 462 return 0;
459 463
460 error: 464 error:
461 printk("os_pipe : Setting FD_CLOEXEC failed, err = %d\n", -err); 465 printk("os_pipe : Setting FD_CLOEXEC failed, err = %d\n", -err);
@@ -486,12 +490,12 @@ int os_set_fd_async(int fd, int owner)
486 (fcntl(fd, F_SETOWN, owner) < 0)){ 490 (fcntl(fd, F_SETOWN, owner) < 0)){
487 err = -errno; 491 err = -errno;
488 printk("os_set_fd_async : Failed to fcntl F_SETOWN " 492 printk("os_set_fd_async : Failed to fcntl F_SETOWN "
489 "(or F_SETSIG) fd %d to pid %d, errno = %d\n", fd, 493 "(or F_SETSIG) fd %d to pid %d, errno = %d\n", fd,
490 owner, errno); 494 owner, errno);
491 return err; 495 return err;
492 } 496 }
493 497
494 return(0); 498 return 0;
495} 499}
496 500
497int os_clear_fd_async(int fd) 501int os_clear_fd_async(int fd)
@@ -500,8 +504,8 @@ int os_clear_fd_async(int fd)
500 504
501 flags &= ~(O_ASYNC | O_NONBLOCK); 505 flags &= ~(O_ASYNC | O_NONBLOCK);
502 if(fcntl(fd, F_SETFL, flags) < 0) 506 if(fcntl(fd, F_SETFL, flags) < 0)
503 return(-errno); 507 return -errno;
504 return(0); 508 return 0;
505} 509}
506 510
507int os_set_fd_block(int fd, int blocking) 511int os_set_fd_block(int fd, int blocking)
@@ -516,7 +520,7 @@ int os_set_fd_block(int fd, int blocking)
516 if(fcntl(fd, F_SETFL, flags) < 0) 520 if(fcntl(fd, F_SETFL, flags) < 0)
517 return -errno; 521 return -errno;
518 522
519 return(0); 523 return 0;
520} 524}
521 525
522int os_accept_connection(int fd) 526int os_accept_connection(int fd)
@@ -524,9 +528,9 @@ int os_accept_connection(int fd)
524 int new; 528 int new;
525 529
526 new = accept(fd, NULL, 0); 530 new = accept(fd, NULL, 0);
527 if(new < 0) 531 if(new < 0)
528 return(-errno); 532 return -errno;
529 return(new); 533 return new;
530} 534}
531 535
532#ifndef SHUT_RD 536#ifndef SHUT_RD
@@ -550,12 +554,12 @@ int os_shutdown_socket(int fd, int r, int w)
550 else if(w) what = SHUT_WR; 554 else if(w) what = SHUT_WR;
551 else { 555 else {
552 printk("os_shutdown_socket : neither r or w was set\n"); 556 printk("os_shutdown_socket : neither r or w was set\n");
553 return(-EINVAL); 557 return -EINVAL;
554 } 558 }
555 err = shutdown(fd, what); 559 err = shutdown(fd, what);
556 if(err < 0) 560 if(err < 0)
557 return(-errno); 561 return -errno;
558 return(0); 562 return 0;
559} 563}
560 564
561int os_rcv_fd(int fd, int *helper_pid_out) 565int os_rcv_fd(int fd, int *helper_pid_out)
@@ -578,7 +582,7 @@ int os_rcv_fd(int fd, int *helper_pid_out)
578 582
579 n = recvmsg(fd, &msg, 0); 583 n = recvmsg(fd, &msg, 0);
580 if(n < 0) 584 if(n < 0)
581 return(-errno); 585 return -errno;
582 586
583 else if(n != sizeof(iov.iov_len)) 587 else if(n != sizeof(iov.iov_len))
584 *helper_pid_out = -1; 588 *helper_pid_out = -1;
@@ -586,16 +590,16 @@ int os_rcv_fd(int fd, int *helper_pid_out)
586 cmsg = CMSG_FIRSTHDR(&msg); 590 cmsg = CMSG_FIRSTHDR(&msg);
587 if(cmsg == NULL){ 591 if(cmsg == NULL){
588 printk("rcv_fd didn't receive anything, error = %d\n", errno); 592 printk("rcv_fd didn't receive anything, error = %d\n", errno);
589 return(-1); 593 return -1;
590 } 594 }
591 if((cmsg->cmsg_level != SOL_SOCKET) || 595 if((cmsg->cmsg_level != SOL_SOCKET) ||
592 (cmsg->cmsg_type != SCM_RIGHTS)){ 596 (cmsg->cmsg_type != SCM_RIGHTS)){
593 printk("rcv_fd didn't receive a descriptor\n"); 597 printk("rcv_fd didn't receive a descriptor\n");
594 return(-1); 598 return -1;
595 } 599 }
596 600
597 new = ((int *) CMSG_DATA(cmsg))[0]; 601 new = ((int *) CMSG_DATA(cmsg))[0];
598 return(new); 602 return new;
599} 603}
600 604
601int os_create_unix_socket(char *file, int len, int close_on_exec) 605int os_create_unix_socket(char *file, int len, int close_on_exec)
@@ -623,7 +627,7 @@ int os_create_unix_socket(char *file, int len, int close_on_exec)
623 if(err < 0) 627 if(err < 0)
624 return -errno; 628 return -errno;
625 629
626 return(sock); 630 return sock;
627} 631}
628 632
629void os_flush_stdout(void) 633void os_flush_stdout(void)
@@ -654,16 +658,5 @@ int os_lock_file(int fd, int excl)
654 printk("F_SETLK failed, file already locked by pid %d\n", lock.l_pid); 658 printk("F_SETLK failed, file already locked by pid %d\n", lock.l_pid);
655 err = save; 659 err = save;
656 out: 660 out:
657 return(err); 661 return err;
658} 662}
659
660/*
661 * Overrides for Emacs so that we follow Linus's tabbing style.
662 * Emacs will notice this stuff at the end of the file and automatically
663 * adjust the settings for this buffer only. This must remain at the end
664 * of the file.
665 * ---------------------------------------------------------------------------
666 * Local variables:
667 * c-file-style: "linux"
668 * End:
669 */
diff --git a/arch/um/os-Linux/irq.c b/arch/um/os-Linux/irq.c
index 3788d4568d33..7555bf9c33d9 100644
--- a/arch/um/os-Linux/irq.c
+++ b/arch/um/os-Linux/irq.c
@@ -52,11 +52,6 @@ int os_waiting_for_events(struct irq_fd *active_fds)
52 return n; 52 return n;
53} 53}
54 54
55int os_isatty(int fd)
56{
57 return isatty(fd);
58}
59
60int os_create_pollfd(int fd, int events, void *tmp_pfd, int size_tmpfds) 55int os_create_pollfd(int fd, int events, void *tmp_pfd, int size_tmpfds)
61{ 56{
62 if (pollfds_num == pollfds_size) { 57 if (pollfds_num == pollfds_size) {
@@ -142,17 +137,14 @@ void os_set_ioignore(void)
142 137
143void init_irq_signals(int on_sigstack) 138void init_irq_signals(int on_sigstack)
144{ 139{
145 __sighandler_t h;
146 int flags; 140 int flags;
147 141
148 flags = on_sigstack ? SA_ONSTACK : 0; 142 flags = on_sigstack ? SA_ONSTACK : 0;
149 if (timer_irq_inited)
150 h = (__sighandler_t)alarm_handler;
151 else
152 h = boot_timer_handler;
153 143
154 set_handler(SIGVTALRM, h, flags | SA_RESTART, 144 set_handler(SIGVTALRM, (__sighandler_t) alarm_handler,
155 SIGUSR1, SIGIO, SIGWINCH, SIGALRM, -1); 145 flags | SA_RESTART, SIGUSR1, SIGIO, SIGWINCH, SIGALRM, -1);
146 set_handler(SIGALRM, (__sighandler_t) alarm_handler,
147 flags | SA_RESTART, SIGUSR1, SIGIO, SIGWINCH, SIGALRM, -1);
156 set_handler(SIGIO, (__sighandler_t) sig_handler, flags | SA_RESTART, 148 set_handler(SIGIO, (__sighandler_t) sig_handler, flags | SA_RESTART,
157 SIGUSR1, SIGIO, SIGWINCH, SIGALRM, SIGVTALRM, -1); 149 SIGUSR1, SIGIO, SIGWINCH, SIGALRM, SIGVTALRM, -1);
158 signal(SIGWINCH, SIG_IGN); 150 signal(SIGWINCH, SIG_IGN);
diff --git a/arch/um/os-Linux/process.c b/arch/um/os-Linux/process.c
index 233be2f4f8cb..b98d3ca2cd1b 100644
--- a/arch/um/os-Linux/process.c
+++ b/arch/um/os-Linux/process.c
@@ -250,36 +250,35 @@ void init_new_thread_stack(void *sig_stack, void (*usr1_handler)(int))
250 if(usr1_handler) set_handler(SIGUSR1, usr1_handler, flags, -1); 250 if(usr1_handler) set_handler(SIGUSR1, usr1_handler, flags, -1);
251} 251}
252 252
253void init_new_thread_signals(int altstack) 253void init_new_thread_signals(void)
254{ 254{
255 int flags = altstack ? SA_ONSTACK : 0; 255 set_handler(SIGSEGV, (__sighandler_t) sig_handler, SA_ONSTACK,
256
257 set_handler(SIGSEGV, (__sighandler_t) sig_handler, flags,
258 SIGUSR1, SIGIO, SIGWINCH, SIGALRM, SIGVTALRM, -1); 256 SIGUSR1, SIGIO, SIGWINCH, SIGALRM, SIGVTALRM, -1);
259 set_handler(SIGTRAP, (__sighandler_t) sig_handler, flags, 257 set_handler(SIGTRAP, (__sighandler_t) sig_handler, SA_ONSTACK,
260 SIGUSR1, SIGIO, SIGWINCH, SIGALRM, SIGVTALRM, -1); 258 SIGUSR1, SIGIO, SIGWINCH, SIGALRM, SIGVTALRM, -1);
261 set_handler(SIGFPE, (__sighandler_t) sig_handler, flags, 259 set_handler(SIGFPE, (__sighandler_t) sig_handler, SA_ONSTACK,
262 SIGUSR1, SIGIO, SIGWINCH, SIGALRM, SIGVTALRM, -1); 260 SIGUSR1, SIGIO, SIGWINCH, SIGALRM, SIGVTALRM, -1);
263 set_handler(SIGILL, (__sighandler_t) sig_handler, flags, 261 set_handler(SIGILL, (__sighandler_t) sig_handler, SA_ONSTACK,
264 SIGUSR1, SIGIO, SIGWINCH, SIGALRM, SIGVTALRM, -1); 262 SIGUSR1, SIGIO, SIGWINCH, SIGALRM, SIGVTALRM, -1);
265 set_handler(SIGBUS, (__sighandler_t) sig_handler, flags, 263 set_handler(SIGBUS, (__sighandler_t) sig_handler, SA_ONSTACK,
266 SIGUSR1, SIGIO, SIGWINCH, SIGALRM, SIGVTALRM, -1); 264 SIGUSR1, SIGIO, SIGWINCH, SIGALRM, SIGVTALRM, -1);
267 set_handler(SIGUSR2, (__sighandler_t) sig_handler, 265 set_handler(SIGUSR2, (__sighandler_t) sig_handler,
268 flags, SIGUSR1, SIGIO, SIGWINCH, SIGALRM, SIGVTALRM, -1); 266 SA_ONSTACK, SIGUSR1, SIGIO, SIGWINCH, SIGALRM, SIGVTALRM,
267 -1);
269 signal(SIGHUP, SIG_IGN); 268 signal(SIGHUP, SIG_IGN);
270 269
271 init_irq_signals(altstack); 270 init_irq_signals(1);
272} 271}
273 272
274int run_kernel_thread(int (*fn)(void *), void *arg, void **jmp_ptr) 273int run_kernel_thread(int (*fn)(void *), void *arg, void **jmp_ptr)
275{ 274{
276 jmp_buf buf; 275 jmp_buf buf;
277 int n, enable; 276 int n;
278 277
279 *jmp_ptr = &buf; 278 *jmp_ptr = &buf;
280 n = UML_SETJMP(&buf, enable); 279 n = UML_SETJMP(&buf);
281 if(n != 0) 280 if(n != 0)
282 return(n); 281 return n;
283 (*fn)(arg); 282 (*fn)(arg);
284 return(0); 283 return 0;
285} 284}
diff --git a/arch/um/os-Linux/sigio.c b/arch/um/os-Linux/sigio.c
index 00e9388e947a..0ecac563c7b3 100644
--- a/arch/um/os-Linux/sigio.c
+++ b/arch/um/os-Linux/sigio.c
@@ -43,13 +43,13 @@ struct pollfds {
43/* Protected by sigio_lock(). Used by the sigio thread, but the UML thread 43/* Protected by sigio_lock(). Used by the sigio thread, but the UML thread
44 * synchronizes with it. 44 * synchronizes with it.
45 */ 45 */
46struct pollfds current_poll = { 46static struct pollfds current_poll = {
47 .poll = NULL, 47 .poll = NULL,
48 .size = 0, 48 .size = 0,
49 .used = 0 49 .used = 0
50}; 50};
51 51
52struct pollfds next_poll = { 52static struct pollfds next_poll = {
53 .poll = NULL, 53 .poll = NULL,
54 .size = 0, 54 .size = 0,
55 .used = 0 55 .used = 0
@@ -156,7 +156,7 @@ static void update_thread(void)
156 set_signals(flags); 156 set_signals(flags);
157} 157}
158 158
159int add_sigio_fd(int fd, int read) 159static int add_sigio_fd(int fd, int read)
160{ 160{
161 int err = 0, i, n, events; 161 int err = 0, i, n, events;
162 162
@@ -191,6 +191,13 @@ int ignore_sigio_fd(int fd)
191 struct pollfd *p; 191 struct pollfd *p;
192 int err = 0, i, n = 0; 192 int err = 0, i, n = 0;
193 193
194 /* This is called from exitcalls elsewhere in UML - if
195 * sigio_cleanup has already run, then update_thread will hang
196 * or fail because the thread is no longer running.
197 */
198 if(write_sigio_pid == -1)
199 return -EIO;
200
194 sigio_lock(); 201 sigio_lock();
195 for(i = 0; i < current_poll.used; i++){ 202 for(i = 0; i < current_poll.used; i++){
196 if(current_poll.poll[i].fd == fd) break; 203 if(current_poll.poll[i].fd == fd) break;
@@ -215,7 +222,7 @@ int ignore_sigio_fd(int fd)
215 update_thread(); 222 update_thread();
216 out: 223 out:
217 sigio_unlock(); 224 sigio_unlock();
218 return(err); 225 return err;
219} 226}
220 227
221static struct pollfd *setup_initial_poll(int fd) 228static struct pollfd *setup_initial_poll(int fd)
@@ -233,7 +240,7 @@ static struct pollfd *setup_initial_poll(int fd)
233 return p; 240 return p;
234} 241}
235 242
236void write_sigio_workaround(void) 243static void write_sigio_workaround(void)
237{ 244{
238 unsigned long stack; 245 unsigned long stack;
239 struct pollfd *p; 246 struct pollfd *p;
@@ -314,10 +321,24 @@ out_close1:
314 close(l_write_sigio_fds[1]); 321 close(l_write_sigio_fds[1]);
315} 322}
316 323
317void sigio_cleanup(void) 324void maybe_sigio_broken(int fd, int read)
325{
326 if(!isatty(fd))
327 return;
328
329 if((read || pty_output_sigio) && (!read || pty_close_sigio))
330 return;
331
332 write_sigio_workaround();
333 add_sigio_fd(fd, read);
334}
335
336static void sigio_cleanup(void)
318{ 337{
319 if(write_sigio_pid != -1){ 338 if(write_sigio_pid != -1){
320 os_kill_process(write_sigio_pid, 1); 339 os_kill_process(write_sigio_pid, 1);
321 write_sigio_pid = -1; 340 write_sigio_pid = -1;
322 } 341 }
323} 342}
343
344__uml_exitcall(sigio_cleanup);
diff --git a/arch/um/os-Linux/signal.c b/arch/um/os-Linux/signal.c
index f11b3124a0c8..60e4faedf254 100644
--- a/arch/um/os-Linux/signal.c
+++ b/arch/um/os-Linux/signal.c
@@ -106,29 +106,6 @@ void alarm_handler(ARCH_SIGHDLR_PARAM)
106 set_signals(enabled); 106 set_signals(enabled);
107} 107}
108 108
109extern void do_boot_timer_handler(struct sigcontext * sc);
110
111void boot_timer_handler(ARCH_SIGHDLR_PARAM)
112{
113 struct sigcontext *sc;
114 int enabled;
115
116 ARCH_GET_SIGCONTEXT(sc, sig);
117
118 enabled = signals_enabled;
119 if(!enabled){
120 if(sig == SIGVTALRM)
121 pending |= SIGVTALRM_MASK;
122 else pending |= SIGALRM_MASK;
123 return;
124 }
125
126 block_signals();
127
128 do_boot_timer_handler(sc);
129 set_signals(enabled);
130}
131
132void set_sigstack(void *sig_stack, int size) 109void set_sigstack(void *sig_stack, int size)
133{ 110{
134 stack_t stack = ((stack_t) { .ss_flags = 0, 111 stack_t stack = ((stack_t) { .ss_flags = 0,
diff --git a/arch/um/os-Linux/skas/process.c b/arch/um/os-Linux/skas/process.c
index bd89c6b99d5d..7baf90fda58b 100644
--- a/arch/um/os-Linux/skas/process.c
+++ b/arch/um/os-Linux/skas/process.c
@@ -159,7 +159,7 @@ static int userspace_tramp(void *stack)
159 159
160 ptrace(PTRACE_TRACEME, 0, 0, 0); 160 ptrace(PTRACE_TRACEME, 0, 0, 0);
161 161
162 init_new_thread_signals(1); 162 init_new_thread_signals();
163 enable_timer(); 163 enable_timer();
164 164
165 if(!proc_mm){ 165 if(!proc_mm){
@@ -435,7 +435,6 @@ void new_thread(void *stack, void **switch_buf_ptr, void **fork_buf_ptr,
435{ 435{
436 unsigned long flags; 436 unsigned long flags;
437 jmp_buf switch_buf, fork_buf; 437 jmp_buf switch_buf, fork_buf;
438 int enable;
439 438
440 *switch_buf_ptr = &switch_buf; 439 *switch_buf_ptr = &switch_buf;
441 *fork_buf_ptr = &fork_buf; 440 *fork_buf_ptr = &fork_buf;
@@ -450,7 +449,7 @@ void new_thread(void *stack, void **switch_buf_ptr, void **fork_buf_ptr,
450 */ 449 */
451 flags = get_signals(); 450 flags = get_signals();
452 block_signals(); 451 block_signals();
453 if(UML_SETJMP(&fork_buf, enable) == 0) 452 if(UML_SETJMP(&fork_buf) == 0)
454 new_thread_proc(stack, handler); 453 new_thread_proc(stack, handler);
455 454
456 remove_sigstack(); 455 remove_sigstack();
@@ -467,21 +466,19 @@ void new_thread(void *stack, void **switch_buf_ptr, void **fork_buf_ptr,
467void thread_wait(void *sw, void *fb) 466void thread_wait(void *sw, void *fb)
468{ 467{
469 jmp_buf buf, **switch_buf = sw, *fork_buf; 468 jmp_buf buf, **switch_buf = sw, *fork_buf;
470 int enable;
471 469
472 *switch_buf = &buf; 470 *switch_buf = &buf;
473 fork_buf = fb; 471 fork_buf = fb;
474 if(UML_SETJMP(&buf, enable) == 0) 472 if(UML_SETJMP(&buf) == 0)
475 siglongjmp(*fork_buf, INIT_JMP_REMOVE_SIGSTACK); 473 siglongjmp(*fork_buf, INIT_JMP_REMOVE_SIGSTACK);
476} 474}
477 475
478void switch_threads(void *me, void *next) 476void switch_threads(void *me, void *next)
479{ 477{
480 jmp_buf my_buf, **me_ptr = me, *next_buf = next; 478 jmp_buf my_buf, **me_ptr = me, *next_buf = next;
481 int enable;
482 479
483 *me_ptr = &my_buf; 480 *me_ptr = &my_buf;
484 if(UML_SETJMP(&my_buf, enable) == 0) 481 if(UML_SETJMP(&my_buf) == 0)
485 UML_LONGJMP(next_buf, 1); 482 UML_LONGJMP(next_buf, 1);
486} 483}
487 484
@@ -495,14 +492,14 @@ static jmp_buf *cb_back;
495int start_idle_thread(void *stack, void *switch_buf_ptr, void **fork_buf_ptr) 492int start_idle_thread(void *stack, void *switch_buf_ptr, void **fork_buf_ptr)
496{ 493{
497 jmp_buf **switch_buf = switch_buf_ptr; 494 jmp_buf **switch_buf = switch_buf_ptr;
498 int n, enable; 495 int n;
499 496
500 set_handler(SIGWINCH, (__sighandler_t) sig_handler, 497 set_handler(SIGWINCH, (__sighandler_t) sig_handler,
501 SA_ONSTACK | SA_RESTART, SIGUSR1, SIGIO, SIGALRM, 498 SA_ONSTACK | SA_RESTART, SIGUSR1, SIGIO, SIGALRM,
502 SIGVTALRM, -1); 499 SIGVTALRM, -1);
503 500
504 *fork_buf_ptr = &initial_jmpbuf; 501 *fork_buf_ptr = &initial_jmpbuf;
505 n = UML_SETJMP(&initial_jmpbuf, enable); 502 n = UML_SETJMP(&initial_jmpbuf);
506 switch(n){ 503 switch(n){
507 case INIT_JMP_NEW_THREAD: 504 case INIT_JMP_NEW_THREAD:
508 new_thread_proc((void *) stack, new_thread_handler); 505 new_thread_proc((void *) stack, new_thread_handler);
@@ -529,14 +526,13 @@ int start_idle_thread(void *stack, void *switch_buf_ptr, void **fork_buf_ptr)
529void initial_thread_cb_skas(void (*proc)(void *), void *arg) 526void initial_thread_cb_skas(void (*proc)(void *), void *arg)
530{ 527{
531 jmp_buf here; 528 jmp_buf here;
532 int enable;
533 529
534 cb_proc = proc; 530 cb_proc = proc;
535 cb_arg = arg; 531 cb_arg = arg;
536 cb_back = &here; 532 cb_back = &here;
537 533
538 block_signals(); 534 block_signals();
539 if(UML_SETJMP(&here, enable) == 0) 535 if(UML_SETJMP(&here) == 0)
540 UML_LONGJMP(&initial_jmpbuf, INIT_JMP_CALLBACK); 536 UML_LONGJMP(&initial_jmpbuf, INIT_JMP_CALLBACK);
541 unblock_signals(); 537 unblock_signals();
542 538
diff --git a/arch/um/os-Linux/time.c b/arch/um/os-Linux/time.c
index 280c4fb9b585..4ae73c0e5485 100644
--- a/arch/um/os-Linux/time.c
+++ b/arch/um/os-Linux/time.c
@@ -17,11 +17,6 @@
17#include "kern_constants.h" 17#include "kern_constants.h"
18#include "os.h" 18#include "os.h"
19 19
20/* XXX This really needs to be declared and initialized in a kernel file since
21 * it's in <linux/time.h>
22 */
23extern struct timespec wall_to_monotonic;
24
25static void set_interval(int timer_type) 20static void set_interval(int timer_type)
26{ 21{
27 int usec = 1000000/hz(); 22 int usec = 1000000/hz();
@@ -71,6 +66,7 @@ void switch_timers(int to_real)
71 errno); 66 errno);
72} 67}
73 68
69#ifdef UML_CONFIG_MODE_TT
74void uml_idle_timer(void) 70void uml_idle_timer(void)
75{ 71{
76 if(signal(SIGVTALRM, SIG_IGN) == SIG_ERR) 72 if(signal(SIGVTALRM, SIG_IGN) == SIG_ERR)
@@ -80,14 +76,7 @@ void uml_idle_timer(void)
80 SA_RESTART, SIGUSR1, SIGIO, SIGWINCH, SIGVTALRM, -1); 76 SA_RESTART, SIGUSR1, SIGIO, SIGWINCH, SIGVTALRM, -1);
81 set_interval(ITIMER_REAL); 77 set_interval(ITIMER_REAL);
82} 78}
83 79#endif
84void time_init(void)
85{
86 if(signal(SIGVTALRM, boot_timer_handler) == SIG_ERR)
87 panic("Couldn't set SIGVTALRM handler");
88 set_interval(ITIMER_VIRTUAL);
89 time_init_kern();
90}
91 80
92unsigned long long os_nsecs(void) 81unsigned long long os_nsecs(void)
93{ 82{
@@ -106,15 +95,7 @@ void idle_sleep(int secs)
106 nanosleep(&ts, NULL); 95 nanosleep(&ts, NULL);
107} 96}
108 97
109/* XXX This partly duplicates init_irq_signals */
110
111void user_time_init(void) 98void user_time_init(void)
112{ 99{
113 set_handler(SIGVTALRM, (__sighandler_t) alarm_handler,
114 SA_ONSTACK | SA_RESTART, SIGUSR1, SIGIO, SIGWINCH,
115 SIGALRM, SIGUSR2, -1);
116 set_handler(SIGALRM, (__sighandler_t) alarm_handler,
117 SA_ONSTACK | SA_RESTART, SIGUSR1, SIGIO, SIGWINCH,
118 SIGVTALRM, SIGUSR2, -1);
119 set_interval(ITIMER_VIRTUAL); 100 set_interval(ITIMER_VIRTUAL);
120} 101}
diff --git a/arch/um/os-Linux/uaccess.c b/arch/um/os-Linux/uaccess.c
index e523719330b2..865f6a6a2590 100644
--- a/arch/um/os-Linux/uaccess.c
+++ b/arch/um/os-Linux/uaccess.c
@@ -14,11 +14,10 @@ unsigned long __do_user_copy(void *to, const void *from, int n,
14 int n), int *faulted_out) 14 int n), int *faulted_out)
15{ 15{
16 unsigned long *faddrp = (unsigned long *) fault_addr, ret; 16 unsigned long *faddrp = (unsigned long *) fault_addr, ret;
17 int enable;
18 17
19 jmp_buf jbuf; 18 jmp_buf jbuf;
20 *fault_catcher = &jbuf; 19 *fault_catcher = &jbuf;
21 if(UML_SETJMP(&jbuf, enable) == 0){ 20 if(UML_SETJMP(&jbuf) == 0){
22 (*op)(to, from, n); 21 (*op)(to, from, n);
23 ret = 0; 22 ret = 0;
24 *faulted_out = 0; 23 *faulted_out = 0;
diff --git a/arch/v850/kernel/setup.c b/arch/v850/kernel/setup.c
index 62bdb8d29fc0..1bf672a25692 100644
--- a/arch/v850/kernel/setup.c
+++ b/arch/v850/kernel/setup.c
@@ -1,8 +1,8 @@
1/* 1/*
2 * arch/v850/kernel/setup.c -- Arch-dependent initialization functions 2 * arch/v850/kernel/setup.c -- Arch-dependent initialization functions
3 * 3 *
4 * Copyright (C) 2001,02,03,05 NEC Electronics Corporation 4 * Copyright (C) 2001,02,03,05,06 NEC Electronics Corporation
5 * Copyright (C) 2001,02,03,05 Miles Bader <miles@gnu.org> 5 * Copyright (C) 2001,02,03,05,06 Miles Bader <miles@gnu.org>
6 * 6 *
7 * This file is subject to the terms and conditions of the GNU General 7 * This file is subject to the terms and conditions of the GNU General
8 * Public License. See the file COPYING in the main directory of this 8 * Public License. See the file COPYING in the main directory of this
@@ -190,7 +190,7 @@ void free_initmem (void)
190 for (addr = start; addr < end; addr += PAGE_SIZE) { 190 for (addr = start; addr < end; addr += PAGE_SIZE) {
191 struct page *page = virt_to_page (addr); 191 struct page *page = virt_to_page (addr);
192 ClearPageReserved (page); 192 ClearPageReserved (page);
193 set_page_count (page, 1); 193 init_page_count (page);
194 __free_page (page); 194 __free_page (page);
195 total_ram_pages++; 195 total_ram_pages++;
196 } 196 }
diff --git a/arch/v850/kernel/v850_ksyms.c b/arch/v850/kernel/v850_ksyms.c
index c03ad6ed61cc..67bc48e57c60 100644
--- a/arch/v850/kernel/v850_ksyms.c
+++ b/arch/v850/kernel/v850_ksyms.c
@@ -21,9 +21,6 @@ EXPORT_SYMBOL (trap_table);
21 21
22/* platform dependent support */ 22/* platform dependent support */
23EXPORT_SYMBOL (kernel_thread); 23EXPORT_SYMBOL (kernel_thread);
24EXPORT_SYMBOL (enable_irq);
25EXPORT_SYMBOL (disable_irq);
26EXPORT_SYMBOL (disable_irq_nosync);
27EXPORT_SYMBOL (__bug); 24EXPORT_SYMBOL (__bug);
28 25
29/* Networking helper routines. */ 26/* Networking helper routines. */
@@ -33,22 +30,9 @@ EXPORT_SYMBOL (ip_compute_csum);
33EXPORT_SYMBOL (ip_fast_csum); 30EXPORT_SYMBOL (ip_fast_csum);
34 31
35/* string / mem functions */ 32/* string / mem functions */
36EXPORT_SYMBOL (strcpy);
37EXPORT_SYMBOL (strncpy);
38EXPORT_SYMBOL (strcat);
39EXPORT_SYMBOL (strncat);
40EXPORT_SYMBOL (strcmp);
41EXPORT_SYMBOL (strncmp);
42EXPORT_SYMBOL (strchr);
43EXPORT_SYMBOL (strlen);
44EXPORT_SYMBOL (strnlen);
45EXPORT_SYMBOL (strrchr);
46EXPORT_SYMBOL (strstr);
47EXPORT_SYMBOL (memset); 33EXPORT_SYMBOL (memset);
48EXPORT_SYMBOL (memcpy); 34EXPORT_SYMBOL (memcpy);
49EXPORT_SYMBOL (memmove); 35EXPORT_SYMBOL (memmove);
50EXPORT_SYMBOL (memcmp);
51EXPORT_SYMBOL (memscan);
52 36
53/* semaphores */ 37/* semaphores */
54EXPORT_SYMBOL (__down); 38EXPORT_SYMBOL (__down);
diff --git a/arch/x86_64/defconfig b/arch/x86_64/defconfig
index e69d403949c8..840d5d93d5cc 100644
--- a/arch/x86_64/defconfig
+++ b/arch/x86_64/defconfig
@@ -1,11 +1,13 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.17-git6 3# Linux kernel version: 2.6.18-rc2
4# Sat Jun 24 00:52:28 2006 4# Tue Jul 18 17:13:20 2006
5# 5#
6CONFIG_X86_64=y 6CONFIG_X86_64=y
7CONFIG_64BIT=y 7CONFIG_64BIT=y
8CONFIG_X86=y 8CONFIG_X86=y
9CONFIG_LOCKDEP_SUPPORT=y
10CONFIG_STACKTRACE_SUPPORT=y
9CONFIG_SEMAPHORE_SLEEPERS=y 11CONFIG_SEMAPHORE_SLEEPERS=y
10CONFIG_MMU=y 12CONFIG_MMU=y
11CONFIG_RWSEM_GENERIC_SPINLOCK=y 13CONFIG_RWSEM_GENERIC_SPINLOCK=y
@@ -17,6 +19,7 @@ CONFIG_GENERIC_ISA_DMA=y
17CONFIG_GENERIC_IOMAP=y 19CONFIG_GENERIC_IOMAP=y
18CONFIG_ARCH_MAY_HAVE_PC_FDC=y 20CONFIG_ARCH_MAY_HAVE_PC_FDC=y
19CONFIG_DMI=y 21CONFIG_DMI=y
22CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
20 23
21# 24#
22# Code maturity level options 25# Code maturity level options
@@ -34,6 +37,7 @@ CONFIG_SWAP=y
34CONFIG_SYSVIPC=y 37CONFIG_SYSVIPC=y
35CONFIG_POSIX_MQUEUE=y 38CONFIG_POSIX_MQUEUE=y
36# CONFIG_BSD_PROCESS_ACCT is not set 39# CONFIG_BSD_PROCESS_ACCT is not set
40# CONFIG_TASKSTATS is not set
37CONFIG_SYSCTL=y 41CONFIG_SYSCTL=y
38# CONFIG_AUDIT is not set 42# CONFIG_AUDIT is not set
39CONFIG_IKCONFIG=y 43CONFIG_IKCONFIG=y
@@ -52,10 +56,12 @@ CONFIG_PRINTK=y
52CONFIG_BUG=y 56CONFIG_BUG=y
53CONFIG_ELF_CORE=y 57CONFIG_ELF_CORE=y
54CONFIG_BASE_FULL=y 58CONFIG_BASE_FULL=y
59CONFIG_RT_MUTEXES=y
55CONFIG_FUTEX=y 60CONFIG_FUTEX=y
56CONFIG_EPOLL=y 61CONFIG_EPOLL=y
57CONFIG_SHMEM=y 62CONFIG_SHMEM=y
58CONFIG_SLAB=y 63CONFIG_SLAB=y
64CONFIG_VM_EVENT_COUNTERS=y
59# CONFIG_TINY_SHMEM is not set 65# CONFIG_TINY_SHMEM is not set
60CONFIG_BASE_SMALL=0 66CONFIG_BASE_SMALL=0
61# CONFIG_SLOB is not set 67# CONFIG_SLOB is not set
@@ -136,10 +142,12 @@ CONFIG_NEED_MULTIPLE_NODES=y
136# CONFIG_SPARSEMEM_STATIC is not set 142# CONFIG_SPARSEMEM_STATIC is not set
137CONFIG_SPLIT_PTLOCK_CPUS=4 143CONFIG_SPLIT_PTLOCK_CPUS=4
138CONFIG_MIGRATION=y 144CONFIG_MIGRATION=y
145CONFIG_RESOURCES_64BIT=y
139CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID=y 146CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID=y
140CONFIG_OUT_OF_LINE_PFN_TO_PAGE=y 147CONFIG_OUT_OF_LINE_PFN_TO_PAGE=y
141CONFIG_NR_CPUS=32 148CONFIG_NR_CPUS=32
142CONFIG_HOTPLUG_CPU=y 149CONFIG_HOTPLUG_CPU=y
150CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
143CONFIG_HPET_TIMER=y 151CONFIG_HPET_TIMER=y
144CONFIG_HPET_EMULATE_RTC=y 152CONFIG_HPET_EMULATE_RTC=y
145CONFIG_IOMMU=y 153CONFIG_IOMMU=y
@@ -186,6 +194,7 @@ CONFIG_ACPI_BUTTON=y
186# CONFIG_ACPI_VIDEO is not set 194# CONFIG_ACPI_VIDEO is not set
187# CONFIG_ACPI_HOTKEY is not set 195# CONFIG_ACPI_HOTKEY is not set
188CONFIG_ACPI_FAN=y 196CONFIG_ACPI_FAN=y
197# CONFIG_ACPI_DOCK is not set
189CONFIG_ACPI_PROCESSOR=y 198CONFIG_ACPI_PROCESSOR=y
190CONFIG_ACPI_HOTPLUG_CPU=y 199CONFIG_ACPI_HOTPLUG_CPU=y
191CONFIG_ACPI_THERMAL=y 200CONFIG_ACPI_THERMAL=y
@@ -200,7 +209,7 @@ CONFIG_ACPI_POWER=y
200CONFIG_ACPI_SYSTEM=y 209CONFIG_ACPI_SYSTEM=y
201CONFIG_X86_PM_TIMER=y 210CONFIG_X86_PM_TIMER=y
202CONFIG_ACPI_CONTAINER=y 211CONFIG_ACPI_CONTAINER=y
203CONFIG_ACPI_HOTPLUG_MEMORY=y 212# CONFIG_ACPI_SBS is not set
204 213
205# 214#
206# CPU Frequency scaling 215# CPU Frequency scaling
@@ -405,6 +414,7 @@ CONFIG_BLK_DEV_LOOP=y
405CONFIG_BLK_DEV_RAM=y 414CONFIG_BLK_DEV_RAM=y
406CONFIG_BLK_DEV_RAM_COUNT=16 415CONFIG_BLK_DEV_RAM_COUNT=16
407CONFIG_BLK_DEV_RAM_SIZE=4096 416CONFIG_BLK_DEV_RAM_SIZE=4096
417CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
408CONFIG_BLK_DEV_INITRD=y 418CONFIG_BLK_DEV_INITRD=y
409# CONFIG_CDROM_PKTCDVD is not set 419# CONFIG_CDROM_PKTCDVD is not set
410# CONFIG_ATA_OVER_ETH is not set 420# CONFIG_ATA_OVER_ETH is not set
@@ -801,6 +811,7 @@ CONFIG_SERIO_LIBPS2=y
801CONFIG_VT=y 811CONFIG_VT=y
802CONFIG_VT_CONSOLE=y 812CONFIG_VT_CONSOLE=y
803CONFIG_HW_CONSOLE=y 813CONFIG_HW_CONSOLE=y
814# CONFIG_VT_HW_CONSOLE_BINDING is not set
804# CONFIG_SERIAL_NONSTANDARD is not set 815# CONFIG_SERIAL_NONSTANDARD is not set
805 816
806# 817#
@@ -870,6 +881,9 @@ CONFIG_SOFT_WATCHDOG=y
870# 881#
871# CONFIG_USBPCWATCHDOG is not set 882# CONFIG_USBPCWATCHDOG is not set
872CONFIG_HW_RANDOM=y 883CONFIG_HW_RANDOM=y
884CONFIG_HW_RANDOM_INTEL=y
885CONFIG_HW_RANDOM_AMD=y
886# CONFIG_HW_RANDOM_GEODE is not set
873# CONFIG_NVRAM is not set 887# CONFIG_NVRAM is not set
874CONFIG_RTC=y 888CONFIG_RTC=y
875# CONFIG_DTLK is not set 889# CONFIG_DTLK is not set
@@ -886,6 +900,7 @@ CONFIG_AGP_INTEL=y
886# CONFIG_AGP_VIA is not set 900# CONFIG_AGP_VIA is not set
887# CONFIG_DRM is not set 901# CONFIG_DRM is not set
888# CONFIG_MWAVE is not set 902# CONFIG_MWAVE is not set
903# CONFIG_PC8736x_GPIO is not set
889CONFIG_RAW_DRIVER=y 904CONFIG_RAW_DRIVER=y
890CONFIG_MAX_RAW_DEVS=256 905CONFIG_MAX_RAW_DEVS=256
891CONFIG_HPET=y 906CONFIG_HPET=y
@@ -1030,8 +1045,8 @@ CONFIG_VIDEO_V4L2=y
1030# 1045#
1031# Graphics support 1046# Graphics support
1032# 1047#
1048# CONFIG_FIRMWARE_EDID is not set
1033# CONFIG_FB is not set 1049# CONFIG_FB is not set
1034CONFIG_VIDEO_SELECT=y
1035 1050
1036# 1051#
1037# Console display driver support 1052# Console display driver support
@@ -1039,6 +1054,7 @@ CONFIG_VIDEO_SELECT=y
1039CONFIG_VGA_CONSOLE=y 1054CONFIG_VGA_CONSOLE=y
1040CONFIG_VGACON_SOFT_SCROLLBACK=y 1055CONFIG_VGACON_SOFT_SCROLLBACK=y
1041CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=256 1056CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=256
1057CONFIG_VIDEO_SELECT=y
1042CONFIG_DUMMY_CONSOLE=y 1058CONFIG_DUMMY_CONSOLE=y
1043 1059
1044# 1060#
@@ -1181,7 +1197,7 @@ CONFIG_USB_MON=y
1181# CONFIG_USB_LEGOTOWER is not set 1197# CONFIG_USB_LEGOTOWER is not set
1182# CONFIG_USB_LCD is not set 1198# CONFIG_USB_LCD is not set
1183# CONFIG_USB_LED is not set 1199# CONFIG_USB_LED is not set
1184# CONFIG_USB_CY7C63 is not set 1200# CONFIG_USB_CYPRESS_CY7C63 is not set
1185# CONFIG_USB_CYTHERM is not set 1201# CONFIG_USB_CYTHERM is not set
1186# CONFIG_USB_PHIDGETKIT is not set 1202# CONFIG_USB_PHIDGETKIT is not set
1187# CONFIG_USB_PHIDGETSERVO is not set 1203# CONFIG_USB_PHIDGETSERVO is not set
@@ -1424,16 +1440,24 @@ CONFIG_KPROBES=y
1424# 1440#
1425# Kernel hacking 1441# Kernel hacking
1426# 1442#
1443CONFIG_TRACE_IRQFLAGS_SUPPORT=y
1427# CONFIG_PRINTK_TIME is not set 1444# CONFIG_PRINTK_TIME is not set
1428CONFIG_MAGIC_SYSRQ=y 1445CONFIG_MAGIC_SYSRQ=y
1446CONFIG_UNUSED_SYMBOLS=y
1429CONFIG_DEBUG_KERNEL=y 1447CONFIG_DEBUG_KERNEL=y
1430CONFIG_LOG_BUF_SHIFT=18 1448CONFIG_LOG_BUF_SHIFT=18
1431CONFIG_DETECT_SOFTLOCKUP=y 1449CONFIG_DETECT_SOFTLOCKUP=y
1432# CONFIG_SCHEDSTATS is not set 1450# CONFIG_SCHEDSTATS is not set
1433# CONFIG_DEBUG_SLAB is not set 1451# CONFIG_DEBUG_SLAB is not set
1434# CONFIG_DEBUG_MUTEXES is not set 1452# CONFIG_DEBUG_RT_MUTEXES is not set
1453# CONFIG_RT_MUTEX_TESTER is not set
1435# CONFIG_DEBUG_SPINLOCK is not set 1454# CONFIG_DEBUG_SPINLOCK is not set
1455# CONFIG_DEBUG_MUTEXES is not set
1456# CONFIG_DEBUG_RWSEMS is not set
1457# CONFIG_DEBUG_LOCK_ALLOC is not set
1458# CONFIG_PROVE_LOCKING is not set
1436# CONFIG_DEBUG_SPINLOCK_SLEEP is not set 1459# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1460# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1437# CONFIG_DEBUG_KOBJECT is not set 1461# CONFIG_DEBUG_KOBJECT is not set
1438# CONFIG_DEBUG_INFO is not set 1462# CONFIG_DEBUG_INFO is not set
1439CONFIG_DEBUG_FS=y 1463CONFIG_DEBUG_FS=y
@@ -1445,6 +1469,8 @@ CONFIG_STACK_UNWIND=y
1445# CONFIG_RCU_TORTURE_TEST is not set 1469# CONFIG_RCU_TORTURE_TEST is not set
1446# CONFIG_DEBUG_RODATA is not set 1470# CONFIG_DEBUG_RODATA is not set
1447# CONFIG_IOMMU_DEBUG is not set 1471# CONFIG_IOMMU_DEBUG is not set
1472CONFIG_DEBUG_STACKOVERFLOW=y
1473# CONFIG_DEBUG_STACK_USAGE is not set
1448 1474
1449# 1475#
1450# Security options 1476# Security options
@@ -1468,3 +1494,4 @@ CONFIG_STACK_UNWIND=y
1468# CONFIG_CRC16 is not set 1494# CONFIG_CRC16 is not set
1469CONFIG_CRC32=y 1495CONFIG_CRC32=y
1470# CONFIG_LIBCRC32C is not set 1496# CONFIG_LIBCRC32C is not set
1497CONFIG_PLIST=y
diff --git a/arch/x86_64/ia32/Makefile b/arch/x86_64/ia32/Makefile
index 62bc5f56da9e..cdae36435e21 100644
--- a/arch/x86_64/ia32/Makefile
+++ b/arch/x86_64/ia32/Makefile
@@ -23,6 +23,7 @@ targets := $(foreach F,sysenter syscall,vsyscall-$F.o vsyscall-$F.so)
23# The DSO images are built using a special linker script 23# The DSO images are built using a special linker script
24quiet_cmd_syscall = SYSCALL $@ 24quiet_cmd_syscall = SYSCALL $@
25 cmd_syscall = $(CC) -m32 -nostdlib -shared -s \ 25 cmd_syscall = $(CC) -m32 -nostdlib -shared -s \
26 $(call ld-option, -Wl$(comma)--hash-style=sysv) \
26 -Wl,-soname=linux-gate.so.1 -o $@ \ 27 -Wl,-soname=linux-gate.so.1 -o $@ \
27 -Wl,-T,$(filter-out FORCE,$^) 28 -Wl,-T,$(filter-out FORCE,$^)
28 29
diff --git a/arch/x86_64/ia32/ia32_binfmt.c b/arch/x86_64/ia32/ia32_binfmt.c
index 926c4743d13b..a9dc0f3b5b51 100644
--- a/arch/x86_64/ia32/ia32_binfmt.c
+++ b/arch/x86_64/ia32/ia32_binfmt.c
@@ -182,7 +182,7 @@ struct elf_prpsinfo
182#define user user32 182#define user user32
183 183
184#define __ASM_X86_64_ELF_H 1 184#define __ASM_X86_64_ELF_H 1
185#define elf_read_implies_exec(ex, have_pt_gnu_stack) (!(have_pt_gnu_stack)) 185#define elf_read_implies_exec(ex, executable_stack) (executable_stack != EXSTACK_DISABLE_X)
186//#include <asm/ia32.h> 186//#include <asm/ia32.h>
187#include <linux/elf.h> 187#include <linux/elf.h>
188 188
diff --git a/arch/x86_64/ia32/ia32entry.S b/arch/x86_64/ia32/ia32entry.S
index 9b5bb413a6e9..5d4a7d125ed0 100644
--- a/arch/x86_64/ia32/ia32entry.S
+++ b/arch/x86_64/ia32/ia32entry.S
@@ -103,7 +103,7 @@ ENTRY(ia32_sysenter_target)
103 pushq %rax 103 pushq %rax
104 CFI_ADJUST_CFA_OFFSET 8 104 CFI_ADJUST_CFA_OFFSET 8
105 cld 105 cld
106 SAVE_ARGS 0,0,1 106 SAVE_ARGS 0,0,0
107 /* no need to do an access_ok check here because rbp has been 107 /* no need to do an access_ok check here because rbp has been
108 32bit zero extended */ 108 32bit zero extended */
1091: movl (%rbp),%r9d 1091: movl (%rbp),%r9d
diff --git a/arch/x86_64/ia32/ptrace32.c b/arch/x86_64/ia32/ptrace32.c
index a590b7a0d92d..659c0722f6b8 100644
--- a/arch/x86_64/ia32/ptrace32.c
+++ b/arch/x86_64/ia32/ptrace32.c
@@ -202,17 +202,24 @@ static long ptrace32_siginfo(unsigned request, u32 pid, u32 addr, u32 data)
202{ 202{
203 int ret; 203 int ret;
204 compat_siginfo_t *si32 = (compat_siginfo_t *)compat_ptr(data); 204 compat_siginfo_t *si32 = (compat_siginfo_t *)compat_ptr(data);
205 siginfo_t ssi;
205 siginfo_t *si = compat_alloc_user_space(sizeof(siginfo_t)); 206 siginfo_t *si = compat_alloc_user_space(sizeof(siginfo_t));
206 if (request == PTRACE_SETSIGINFO) { 207 if (request == PTRACE_SETSIGINFO) {
207 ret = copy_siginfo_from_user32(si, si32); 208 memset(&ssi, 0, sizeof(siginfo_t));
209 ret = copy_siginfo_from_user32(&ssi, si32);
208 if (ret) 210 if (ret)
209 return ret; 211 return ret;
212 if (copy_to_user(si, &ssi, sizeof(siginfo_t)))
213 return -EFAULT;
210 } 214 }
211 ret = sys_ptrace(request, pid, addr, (unsigned long)si); 215 ret = sys_ptrace(request, pid, addr, (unsigned long)si);
212 if (ret) 216 if (ret)
213 return ret; 217 return ret;
214 if (request == PTRACE_GETSIGINFO) 218 if (request == PTRACE_GETSIGINFO) {
215 ret = copy_siginfo_to_user32(si32, si); 219 if (copy_from_user(&ssi, si, sizeof(siginfo_t)))
220 return -EFAULT;
221 ret = copy_siginfo_to_user32(si32, &ssi);
222 }
216 return ret; 223 return ret;
217} 224}
218 225
diff --git a/arch/x86_64/ia32/vsyscall.lds b/arch/x86_64/ia32/vsyscall.lds
index f2e75ed4c6c7..1dc86ff5bcb9 100644
--- a/arch/x86_64/ia32/vsyscall.lds
+++ b/arch/x86_64/ia32/vsyscall.lds
@@ -11,6 +11,7 @@ SECTIONS
11 . = VSYSCALL_BASE + SIZEOF_HEADERS; 11 . = VSYSCALL_BASE + SIZEOF_HEADERS;
12 12
13 .hash : { *(.hash) } :text 13 .hash : { *(.hash) } :text
14 .gnu.hash : { *(.gnu.hash) }
14 .dynsym : { *(.dynsym) } 15 .dynsym : { *(.dynsym) }
15 .dynstr : { *(.dynstr) } 16 .dynstr : { *(.dynstr) }
16 .gnu.version : { *(.gnu.version) } 17 .gnu.version : { *(.gnu.version) }
diff --git a/arch/x86_64/kernel/e820.c b/arch/x86_64/kernel/e820.c
index b8eee4c7888b..e56c2adf57a4 100644
--- a/arch/x86_64/kernel/e820.c
+++ b/arch/x86_64/kernel/e820.c
@@ -17,6 +17,7 @@
17#include <linux/kexec.h> 17#include <linux/kexec.h>
18#include <linux/module.h> 18#include <linux/module.h>
19 19
20#include <asm/pgtable.h>
20#include <asm/page.h> 21#include <asm/page.h>
21#include <asm/e820.h> 22#include <asm/e820.h>
22#include <asm/proto.h> 23#include <asm/proto.h>
diff --git a/arch/x86_64/kernel/early_printk.c b/arch/x86_64/kernel/early_printk.c
index b93ef5b51980..140051e07fa6 100644
--- a/arch/x86_64/kernel/early_printk.c
+++ b/arch/x86_64/kernel/early_printk.c
@@ -2,7 +2,7 @@
2#include <linux/kernel.h> 2#include <linux/kernel.h>
3#include <linux/init.h> 3#include <linux/init.h>
4#include <linux/string.h> 4#include <linux/string.h>
5#include <linux/tty.h> 5#include <linux/screen_info.h>
6#include <asm/io.h> 6#include <asm/io.h>
7#include <asm/processor.h> 7#include <asm/processor.h>
8#include <asm/fcntl.h> 8#include <asm/fcntl.h>
diff --git a/arch/x86_64/kernel/entry.S b/arch/x86_64/kernel/entry.S
index d464dded68c0..6f810424df44 100644
--- a/arch/x86_64/kernel/entry.S
+++ b/arch/x86_64/kernel/entry.S
@@ -513,6 +513,7 @@ END(stub_rt_sigreturn)
513 swapgs 513 swapgs
5141: incl %gs:pda_irqcount # RED-PEN should check preempt count 5141: incl %gs:pda_irqcount # RED-PEN should check preempt count
515 cmoveq %gs:pda_irqstackptr,%rsp 515 cmoveq %gs:pda_irqstackptr,%rsp
516 push %rbp # backlink for old unwinder
516 /* 517 /*
517 * We entered an interrupt context - irqs are off: 518 * We entered an interrupt context - irqs are off:
518 */ 519 */
@@ -1139,18 +1140,21 @@ ENTRY(machine_check)
1139END(machine_check) 1140END(machine_check)
1140#endif 1141#endif
1141 1142
1143/* Call softirq on interrupt stack. Interrupts are off. */
1142ENTRY(call_softirq) 1144ENTRY(call_softirq)
1143 CFI_STARTPROC 1145 CFI_STARTPROC
1144 movq %gs:pda_irqstackptr,%rax 1146 push %rbp
1145 movq %rsp,%rdx 1147 CFI_ADJUST_CFA_OFFSET 8
1146 CFI_DEF_CFA_REGISTER rdx 1148 CFI_REL_OFFSET rbp,0
1149 mov %rsp,%rbp
1150 CFI_DEF_CFA_REGISTER rbp
1147 incl %gs:pda_irqcount 1151 incl %gs:pda_irqcount
1148 cmove %rax,%rsp 1152 cmove %gs:pda_irqstackptr,%rsp
1149 pushq %rdx 1153 push %rbp # backlink for old unwinder
1150 /*todo CFI_DEF_CFA_EXPRESSION ...*/
1151 call __do_softirq 1154 call __do_softirq
1152 popq %rsp 1155 leaveq
1153 CFI_DEF_CFA_REGISTER rsp 1156 CFI_DEF_CFA_REGISTER rsp
1157 CFI_ADJUST_CFA_OFFSET -8
1154 decl %gs:pda_irqcount 1158 decl %gs:pda_irqcount
1155 ret 1159 ret
1156 CFI_ENDPROC 1160 CFI_ENDPROC
diff --git a/arch/x86_64/kernel/machine_kexec.c b/arch/x86_64/kernel/machine_kexec.c
index 83fb24a02821..106076b370fc 100644
--- a/arch/x86_64/kernel/machine_kexec.c
+++ b/arch/x86_64/kernel/machine_kexec.c
@@ -207,14 +207,11 @@ NORET_TYPE void machine_kexec(struct kimage *image)
207 __flush_tlb(); 207 __flush_tlb();
208 208
209 209
210 /* The segment registers are funny things, they are 210 /* The segment registers are funny things, they have both a
211 * automatically loaded from a table, in memory wherever you 211 * visible and an invisible part. Whenever the visible part is
212 * set them to a specific selector, but this table is never 212 * set to a specific selector, the invisible part is loaded
213 * accessed again unless you set the segment to a different selector. 213 * with from a table in memory. At no other time is the
214 * 214 * descriptor table in memory accessed.
215 * The more common model are caches where the behide
216 * the scenes work is done, but is also dropped at arbitrary
217 * times.
218 * 215 *
219 * I take advantage of this here by force loading the 216 * I take advantage of this here by force loading the
220 * segments, before I zap the gdt with an invalid value. 217 * segments, before I zap the gdt with an invalid value.
diff --git a/arch/x86_64/kernel/mce.c b/arch/x86_64/kernel/mce.c
index 88845674c661..4e017fb30fb3 100644
--- a/arch/x86_64/kernel/mce.c
+++ b/arch/x86_64/kernel/mce.c
@@ -615,7 +615,7 @@ static __cpuinit int mce_create_device(unsigned int cpu)
615} 615}
616 616
617#ifdef CONFIG_HOTPLUG_CPU 617#ifdef CONFIG_HOTPLUG_CPU
618static __cpuinit void mce_remove_device(unsigned int cpu) 618static void mce_remove_device(unsigned int cpu)
619{ 619{
620 int i; 620 int i;
621 621
@@ -626,10 +626,9 @@ static __cpuinit void mce_remove_device(unsigned int cpu)
626 sysdev_remove_file(&per_cpu(device_mce,cpu), &attr_check_interval); 626 sysdev_remove_file(&per_cpu(device_mce,cpu), &attr_check_interval);
627 sysdev_unregister(&per_cpu(device_mce,cpu)); 627 sysdev_unregister(&per_cpu(device_mce,cpu));
628} 628}
629#endif
630 629
631/* Get notified when a cpu comes on/off. Be hotplug friendly. */ 630/* Get notified when a cpu comes on/off. Be hotplug friendly. */
632static __cpuinit int 631static int
633mce_cpu_callback(struct notifier_block *nfb, unsigned long action, void *hcpu) 632mce_cpu_callback(struct notifier_block *nfb, unsigned long action, void *hcpu)
634{ 633{
635 unsigned int cpu = (unsigned long)hcpu; 634 unsigned int cpu = (unsigned long)hcpu;
@@ -638,18 +637,17 @@ mce_cpu_callback(struct notifier_block *nfb, unsigned long action, void *hcpu)
638 case CPU_ONLINE: 637 case CPU_ONLINE:
639 mce_create_device(cpu); 638 mce_create_device(cpu);
640 break; 639 break;
641#ifdef CONFIG_HOTPLUG_CPU
642 case CPU_DEAD: 640 case CPU_DEAD:
643 mce_remove_device(cpu); 641 mce_remove_device(cpu);
644 break; 642 break;
645#endif
646 } 643 }
647 return NOTIFY_OK; 644 return NOTIFY_OK;
648} 645}
649 646
650static struct notifier_block __cpuinitdata mce_cpu_notifier = { 647static struct notifier_block mce_cpu_notifier = {
651 .notifier_call = mce_cpu_callback, 648 .notifier_call = mce_cpu_callback,
652}; 649};
650#endif
653 651
654static __init int mce_init_device(void) 652static __init int mce_init_device(void)
655{ 653{
@@ -664,7 +662,7 @@ static __init int mce_init_device(void)
664 mce_create_device(i); 662 mce_create_device(i);
665 } 663 }
666 664
667 register_cpu_notifier(&mce_cpu_notifier); 665 register_hotcpu_notifier(&mce_cpu_notifier);
668 misc_register(&mce_log_device); 666 misc_register(&mce_log_device);
669 return err; 667 return err;
670} 668}
diff --git a/arch/x86_64/kernel/mce_amd.c b/arch/x86_64/kernel/mce_amd.c
index 335200aa2737..883fe747f64c 100644
--- a/arch/x86_64/kernel/mce_amd.c
+++ b/arch/x86_64/kernel/mce_amd.c
@@ -558,7 +558,7 @@ out:
558 * of shared sysfs dir/files, and rest of the cores will be symlinked to it. 558 * of shared sysfs dir/files, and rest of the cores will be symlinked to it.
559 */ 559 */
560 560
561static __cpuinit void deallocate_threshold_block(unsigned int cpu, 561static void deallocate_threshold_block(unsigned int cpu,
562 unsigned int bank) 562 unsigned int bank)
563{ 563{
564 struct threshold_block *pos = NULL; 564 struct threshold_block *pos = NULL;
@@ -578,7 +578,7 @@ static __cpuinit void deallocate_threshold_block(unsigned int cpu,
578 per_cpu(threshold_banks, cpu)[bank]->blocks = NULL; 578 per_cpu(threshold_banks, cpu)[bank]->blocks = NULL;
579} 579}
580 580
581static __cpuinit void threshold_remove_bank(unsigned int cpu, int bank) 581static void threshold_remove_bank(unsigned int cpu, int bank)
582{ 582{
583 int i = 0; 583 int i = 0;
584 struct threshold_bank *b; 584 struct threshold_bank *b;
@@ -597,7 +597,7 @@ static __cpuinit void threshold_remove_bank(unsigned int cpu, int bank)
597 /* sibling symlink */ 597 /* sibling symlink */
598 if (shared_bank[bank] && b->blocks->cpu != cpu) { 598 if (shared_bank[bank] && b->blocks->cpu != cpu) {
599 sysfs_remove_link(&per_cpu(device_mce, cpu).kobj, name); 599 sysfs_remove_link(&per_cpu(device_mce, cpu).kobj, name);
600 per_cpu(threshold_banks, i)[bank] = NULL; 600 per_cpu(threshold_banks, cpu)[bank] = NULL;
601 return; 601 return;
602 } 602 }
603 603
@@ -618,7 +618,7 @@ free_out:
618 per_cpu(threshold_banks, cpu)[bank] = NULL; 618 per_cpu(threshold_banks, cpu)[bank] = NULL;
619} 619}
620 620
621static __cpuinit void threshold_remove_device(unsigned int cpu) 621static void threshold_remove_device(unsigned int cpu)
622{ 622{
623 unsigned int bank; 623 unsigned int bank;
624 624
@@ -629,14 +629,8 @@ static __cpuinit void threshold_remove_device(unsigned int cpu)
629 } 629 }
630} 630}
631 631
632#else /* !CONFIG_HOTPLUG_CPU */
633static void threshold_remove_device(unsigned int cpu)
634{
635}
636#endif
637
638/* get notified when a cpu comes on/off */ 632/* get notified when a cpu comes on/off */
639static int __cpuinit threshold_cpu_callback(struct notifier_block *nfb, 633static int threshold_cpu_callback(struct notifier_block *nfb,
640 unsigned long action, void *hcpu) 634 unsigned long action, void *hcpu)
641{ 635{
642 /* cpu was unsigned int to begin with */ 636 /* cpu was unsigned int to begin with */
@@ -659,9 +653,10 @@ static int __cpuinit threshold_cpu_callback(struct notifier_block *nfb,
659 return NOTIFY_OK; 653 return NOTIFY_OK;
660} 654}
661 655
662static struct notifier_block threshold_cpu_notifier __cpuinitdata = { 656static struct notifier_block threshold_cpu_notifier = {
663 .notifier_call = threshold_cpu_callback, 657 .notifier_call = threshold_cpu_callback,
664}; 658};
659#endif /* CONFIG_HOTPLUG_CPU */
665 660
666static __init int threshold_init_device(void) 661static __init int threshold_init_device(void)
667{ 662{
@@ -673,7 +668,7 @@ static __init int threshold_init_device(void)
673 if (err) 668 if (err)
674 return err; 669 return err;
675 } 670 }
676 register_cpu_notifier(&threshold_cpu_notifier); 671 register_hotcpu_notifier(&threshold_cpu_notifier);
677 return 0; 672 return 0;
678} 673}
679 674
diff --git a/arch/x86_64/kernel/pci-calgary.c b/arch/x86_64/kernel/pci-calgary.c
index d91cb843f54d..146924ba5df5 100644
--- a/arch/x86_64/kernel/pci-calgary.c
+++ b/arch/x86_64/kernel/pci-calgary.c
@@ -1,9 +1,11 @@
1/* 1/*
2 * Derived from arch/powerpc/kernel/iommu.c 2 * Derived from arch/powerpc/kernel/iommu.c
3 * 3 *
4 * Copyright (C) 2006 Jon Mason <jdmason@us.ibm.com>, IBM Corporation 4 * Copyright (C) IBM Corporation, 2006
5 * Copyright (C) 2006 Muli Ben-Yehuda <muli@il.ibm.com>, IBM Corporation
6 * 5 *
6 * Author: Jon Mason <jdmason@us.ibm.com>
7 * Author: Muli Ben-Yehuda <muli@il.ibm.com>
8
7 * This program is free software; you can redistribute it and/or modify 9 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by 10 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2 of the License, or 11 * the Free Software Foundation; either version 2 of the License, or
@@ -83,7 +85,8 @@
83#define CSR_AGENT_MASK 0xffe0ffff 85#define CSR_AGENT_MASK 0xffe0ffff
84 86
85#define MAX_NUM_OF_PHBS 8 /* how many PHBs in total? */ 87#define MAX_NUM_OF_PHBS 8 /* how many PHBs in total? */
86#define MAX_PHB_BUS_NUM (MAX_NUM_OF_PHBS * 2) /* max dev->bus->number */ 88#define MAX_NUM_CHASSIS 8 /* max number of chassis */
89#define MAX_PHB_BUS_NUM (MAX_NUM_OF_PHBS * MAX_NUM_CHASSIS * 2) /* max dev->bus->number */
87#define PHBS_PER_CALGARY 4 90#define PHBS_PER_CALGARY 4
88 91
89/* register offsets in Calgary's internal register space */ 92/* register offsets in Calgary's internal register space */
@@ -108,7 +111,8 @@ static const unsigned long phb_offsets[] = {
108 0xB000 /* PHB3 */ 111 0xB000 /* PHB3 */
109}; 112};
110 113
111void* tce_table_kva[MAX_NUM_OF_PHBS * MAX_NUMNODES]; 114static char bus_to_phb[MAX_PHB_BUS_NUM];
115void* tce_table_kva[MAX_PHB_BUS_NUM];
112unsigned int specified_table_size = TCE_TABLE_SIZE_UNSPECIFIED; 116unsigned int specified_table_size = TCE_TABLE_SIZE_UNSPECIFIED;
113static int translate_empty_slots __read_mostly = 0; 117static int translate_empty_slots __read_mostly = 0;
114static int calgary_detected __read_mostly = 0; 118static int calgary_detected __read_mostly = 0;
@@ -117,7 +121,7 @@ static int calgary_detected __read_mostly = 0;
117 * the bitmap of PHBs the user requested that we disable 121 * the bitmap of PHBs the user requested that we disable
118 * translation on. 122 * translation on.
119 */ 123 */
120static DECLARE_BITMAP(translation_disabled, MAX_NUMNODES * MAX_PHB_BUS_NUM); 124static DECLARE_BITMAP(translation_disabled, MAX_PHB_BUS_NUM);
121 125
122static void tce_cache_blast(struct iommu_table *tbl); 126static void tce_cache_blast(struct iommu_table *tbl);
123 127
@@ -450,7 +454,7 @@ static struct dma_mapping_ops calgary_dma_ops = {
450 454
451static inline int busno_to_phbid(unsigned char num) 455static inline int busno_to_phbid(unsigned char num)
452{ 456{
453 return bus_to_phb(num) % PHBS_PER_CALGARY; 457 return bus_to_phb[num];
454} 458}
455 459
456static inline unsigned long split_queue_offset(unsigned char num) 460static inline unsigned long split_queue_offset(unsigned char num)
@@ -810,7 +814,7 @@ static int __init calgary_init(void)
810 int i, ret = -ENODEV; 814 int i, ret = -ENODEV;
811 struct pci_dev *dev = NULL; 815 struct pci_dev *dev = NULL;
812 816
813 for (i = 0; i <= num_online_nodes() * MAX_NUM_OF_PHBS; i++) { 817 for (i = 0; i < MAX_PHB_BUS_NUM; i++) {
814 dev = pci_get_device(PCI_VENDOR_ID_IBM, 818 dev = pci_get_device(PCI_VENDOR_ID_IBM,
815 PCI_DEVICE_ID_IBM_CALGARY, 819 PCI_DEVICE_ID_IBM_CALGARY,
816 dev); 820 dev);
@@ -820,7 +824,7 @@ static int __init calgary_init(void)
820 calgary_init_one_nontraslated(dev); 824 calgary_init_one_nontraslated(dev);
821 continue; 825 continue;
822 } 826 }
823 if (!tce_table_kva[i] && !translate_empty_slots) { 827 if (!tce_table_kva[dev->bus->number] && !translate_empty_slots) {
824 pci_dev_put(dev); 828 pci_dev_put(dev);
825 continue; 829 continue;
826 } 830 }
@@ -840,7 +844,7 @@ error:
840 pci_dev_put(dev); 844 pci_dev_put(dev);
841 continue; 845 continue;
842 } 846 }
843 if (!tce_table_kva[i] && !translate_empty_slots) 847 if (!tce_table_kva[dev->bus->number] && !translate_empty_slots)
844 continue; 848 continue;
845 calgary_disable_translation(dev); 849 calgary_disable_translation(dev);
846 calgary_free_tar(dev); 850 calgary_free_tar(dev);
@@ -874,9 +878,10 @@ static inline int __init determine_tce_table_size(u64 ram)
874void __init detect_calgary(void) 878void __init detect_calgary(void)
875{ 879{
876 u32 val; 880 u32 val;
877 int bus, table_idx; 881 int bus;
878 void *tbl; 882 void *tbl;
879 int detected = 0; 883 int calgary_found = 0;
884 int phb = -1;
880 885
881 /* 886 /*
882 * if the user specified iommu=off or iommu=soft or we found 887 * if the user specified iommu=off or iommu=soft or we found
@@ -887,38 +892,46 @@ void __init detect_calgary(void)
887 892
888 specified_table_size = determine_tce_table_size(end_pfn * PAGE_SIZE); 893 specified_table_size = determine_tce_table_size(end_pfn * PAGE_SIZE);
889 894
890 for (bus = 0, table_idx = 0; 895 for (bus = 0; bus < MAX_PHB_BUS_NUM; bus++) {
891 bus <= num_online_nodes() * MAX_PHB_BUS_NUM; 896 int dev;
892 bus++) { 897
893 BUG_ON(bus > MAX_NUMNODES * MAX_PHB_BUS_NUM); 898 tce_table_kva[bus] = NULL;
899 bus_to_phb[bus] = -1;
900
894 if (read_pci_config(bus, 0, 0, 0) != PCI_VENDOR_DEVICE_ID_CALGARY) 901 if (read_pci_config(bus, 0, 0, 0) != PCI_VENDOR_DEVICE_ID_CALGARY)
895 continue; 902 continue;
903
904 /*
905 * There are 4 PHBs per Calgary chip. Set phb to which phb (0-3)
906 * it is connected to releative to the clagary chip.
907 */
908 phb = (phb + 1) % PHBS_PER_CALGARY;
909
896 if (test_bit(bus, translation_disabled)) { 910 if (test_bit(bus, translation_disabled)) {
897 printk(KERN_INFO "Calgary: translation is disabled for " 911 printk(KERN_INFO "Calgary: translation is disabled for "
898 "PHB 0x%x\n", bus); 912 "PHB 0x%x\n", bus);
899 /* skip this phb, don't allocate a tbl for it */ 913 /* skip this phb, don't allocate a tbl for it */
900 tce_table_kva[table_idx] = NULL;
901 table_idx++;
902 continue; 914 continue;
903 } 915 }
904 /* 916 /*
905 * scan the first slot of the PCI bus to see if there 917 * Scan the slots of the PCI bus to see if there is a device present.
906 * are any devices present 918 * The parent bus will be the zero-ith device, so start at 1.
907 */ 919 */
908 val = read_pci_config(bus, 1, 0, 0); 920 for (dev = 1; dev < 8; dev++) {
909 if (val != 0xffffffff || translate_empty_slots) { 921 val = read_pci_config(bus, dev, 0, 0);
910 tbl = alloc_tce_table(); 922 if (val != 0xffffffff || translate_empty_slots) {
911 if (!tbl) 923 tbl = alloc_tce_table();
912 goto cleanup; 924 if (!tbl)
913 detected = 1; 925 goto cleanup;
914 } else 926 tce_table_kva[bus] = tbl;
915 tbl = NULL; 927 bus_to_phb[bus] = phb;
916 928 calgary_found = 1;
917 tce_table_kva[table_idx] = tbl; 929 break;
918 table_idx++; 930 }
931 }
919 } 932 }
920 933
921 if (detected) { 934 if (calgary_found) {
922 iommu_detected = 1; 935 iommu_detected = 1;
923 calgary_detected = 1; 936 calgary_detected = 1;
924 printk(KERN_INFO "PCI-DMA: Calgary IOMMU detected. " 937 printk(KERN_INFO "PCI-DMA: Calgary IOMMU detected. "
@@ -927,9 +940,9 @@ void __init detect_calgary(void)
927 return; 940 return;
928 941
929cleanup: 942cleanup:
930 for (--table_idx; table_idx >= 0; --table_idx) 943 for (--bus; bus >= 0; --bus)
931 if (tce_table_kva[table_idx]) 944 if (tce_table_kva[bus])
932 free_tce_table(tce_table_kva[table_idx]); 945 free_tce_table(tce_table_kva[bus]);
933} 946}
934 947
935int __init calgary_iommu_init(void) 948int __init calgary_iommu_init(void)
@@ -1000,7 +1013,7 @@ static int __init calgary_parse_options(char *p)
1000 if (p == endp) 1013 if (p == endp)
1001 break; 1014 break;
1002 1015
1003 if (bridge <= (num_online_nodes() * MAX_PHB_BUS_NUM)) { 1016 if (bridge < MAX_PHB_BUS_NUM) {
1004 printk(KERN_INFO "Calgary: disabling " 1017 printk(KERN_INFO "Calgary: disabling "
1005 "translation for PHB 0x%x\n", bridge); 1018 "translation for PHB 0x%x\n", bridge);
1006 set_bit(bridge, translation_disabled); 1019 set_bit(bridge, translation_disabled);
diff --git a/arch/x86_64/kernel/pci-nommu.c b/arch/x86_64/kernel/pci-nommu.c
index c4c3cc36ac5b..aad7609d8e92 100644
--- a/arch/x86_64/kernel/pci-nommu.c
+++ b/arch/x86_64/kernel/pci-nommu.c
@@ -92,5 +92,7 @@ void __init no_iommu_init(void)
92{ 92{
93 if (dma_ops) 93 if (dma_ops)
94 return; 94 return;
95
96 force_iommu = 0; /* no HW IOMMU */
95 dma_ops = &nommu_dma_ops; 97 dma_ops = &nommu_dma_ops;
96} 98}
diff --git a/arch/x86_64/kernel/pci-swiotlb.c b/arch/x86_64/kernel/pci-swiotlb.c
index ebdb77fe2057..6a55f87ba97f 100644
--- a/arch/x86_64/kernel/pci-swiotlb.c
+++ b/arch/x86_64/kernel/pci-swiotlb.c
@@ -31,9 +31,10 @@ struct dma_mapping_ops swiotlb_dma_ops = {
31void pci_swiotlb_init(void) 31void pci_swiotlb_init(void)
32{ 32{
33 /* don't initialize swiotlb if iommu=off (no_iommu=1) */ 33 /* don't initialize swiotlb if iommu=off (no_iommu=1) */
34 if (!iommu_detected && !no_iommu && 34 if (!iommu_detected && !no_iommu && end_pfn > MAX_DMA32_PFN)
35 (end_pfn > MAX_DMA32_PFN || force_iommu))
36 swiotlb = 1; 35 swiotlb = 1;
36 if (swiotlb_force)
37 swiotlb = 1;
37 if (swiotlb) { 38 if (swiotlb) {
38 printk(KERN_INFO "PCI-DMA: Using software bounce buffering for IO (SWIOTLB)\n"); 39 printk(KERN_INFO "PCI-DMA: Using software bounce buffering for IO (SWIOTLB)\n");
39 swiotlb_init(); 40 swiotlb_init();
diff --git a/arch/x86_64/kernel/setup.c b/arch/x86_64/kernel/setup.c
index 0925518b58d0..8a099ff1f8bc 100644
--- a/arch/x86_64/kernel/setup.c
+++ b/arch/x86_64/kernel/setup.c
@@ -21,7 +21,7 @@
21#include <linux/slab.h> 21#include <linux/slab.h>
22#include <linux/user.h> 22#include <linux/user.h>
23#include <linux/a.out.h> 23#include <linux/a.out.h>
24#include <linux/tty.h> 24#include <linux/screen_info.h>
25#include <linux/ioport.h> 25#include <linux/ioport.h>
26#include <linux/delay.h> 26#include <linux/delay.h>
27#include <linux/init.h> 27#include <linux/init.h>
diff --git a/arch/x86_64/kernel/smpboot.c b/arch/x86_64/kernel/smpboot.c
index b7c705969791..975380207b46 100644
--- a/arch/x86_64/kernel/smpboot.c
+++ b/arch/x86_64/kernel/smpboot.c
@@ -771,12 +771,10 @@ static int __cpuinit do_boot_cpu(int cpu, int apicid)
771 unsigned long start_rip; 771 unsigned long start_rip;
772 struct create_idle c_idle = { 772 struct create_idle c_idle = {
773 .cpu = cpu, 773 .cpu = cpu,
774 .done = COMPLETION_INITIALIZER(c_idle.done), 774 .done = COMPLETION_INITIALIZER_ONSTACK(c_idle.done),
775 }; 775 };
776 DECLARE_WORK(work, do_fork_idle, &c_idle); 776 DECLARE_WORK(work, do_fork_idle, &c_idle);
777 777
778 lockdep_set_class(&c_idle.done.wait.lock, &waitqueue_lock_key);
779
780 /* allocate memory for gdts of secondary cpus. Hotplug is considered */ 778 /* allocate memory for gdts of secondary cpus. Hotplug is considered */
781 if (!cpu_gdt_descr[cpu].address && 779 if (!cpu_gdt_descr[cpu].address &&
782 !(cpu_gdt_descr[cpu].address = get_zeroed_page(GFP_KERNEL))) { 780 !(cpu_gdt_descr[cpu].address = get_zeroed_page(GFP_KERNEL))) {
diff --git a/arch/x86_64/kernel/tce.c b/arch/x86_64/kernel/tce.c
index 8d4c67f61b8e..5530dda3f27a 100644
--- a/arch/x86_64/kernel/tce.c
+++ b/arch/x86_64/kernel/tce.c
@@ -1,8 +1,10 @@
1/* 1/*
2 * Derived from arch/powerpc/platforms/pseries/iommu.c 2 * Derived from arch/powerpc/platforms/pseries/iommu.c
3 * 3 *
4 * Copyright (C) 2006 Jon Mason <jdmason@us.ibm.com>, IBM Corporation 4 * Copyright (C) IBM Corporation, 2006
5 * Copyright (C) 2006 Muli Ben-Yehuda <muli@il.ibm.com>, IBM Corporation 5 *
6 * Author: Jon Mason <jdmason@us.ibm.com>
7 * Author: Muli Ben-Yehuda <muli@il.ibm.com>
6 * 8 *
7 * This program is free software; you can redistribute it and/or modify 9 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by 10 * it under the terms of the GNU General Public License as published by
@@ -94,7 +96,6 @@ static inline unsigned int table_size_to_number_of_entries(unsigned char size)
94static int tce_table_setparms(struct pci_dev *dev, struct iommu_table *tbl) 96static int tce_table_setparms(struct pci_dev *dev, struct iommu_table *tbl)
95{ 97{
96 unsigned int bitmapsz; 98 unsigned int bitmapsz;
97 unsigned int tce_table_index;
98 unsigned long bmppages; 99 unsigned long bmppages;
99 int ret; 100 int ret;
100 101
@@ -103,8 +104,7 @@ static int tce_table_setparms(struct pci_dev *dev, struct iommu_table *tbl)
103 /* set the tce table size - measured in entries */ 104 /* set the tce table size - measured in entries */
104 tbl->it_size = table_size_to_number_of_entries(specified_table_size); 105 tbl->it_size = table_size_to_number_of_entries(specified_table_size);
105 106
106 tce_table_index = bus_to_phb(tbl->it_busno); 107 tbl->it_base = (unsigned long)tce_table_kva[dev->bus->number];
107 tbl->it_base = (unsigned long)tce_table_kva[tce_table_index];
108 if (!tbl->it_base) { 108 if (!tbl->it_base) {
109 printk(KERN_ERR "Calgary: iommu_table_setparms: " 109 printk(KERN_ERR "Calgary: iommu_table_setparms: "
110 "no table allocated?!\n"); 110 "no table allocated?!\n");
diff --git a/arch/x86_64/kernel/time.c b/arch/x86_64/kernel/time.c
index b9ff75992c16..7a9b18224182 100644
--- a/arch/x86_64/kernel/time.c
+++ b/arch/x86_64/kernel/time.c
@@ -28,6 +28,7 @@
28#include <linux/acpi.h> 28#include <linux/acpi.h>
29#ifdef CONFIG_ACPI 29#ifdef CONFIG_ACPI
30#include <acpi/achware.h> /* for PM timer frequency */ 30#include <acpi/achware.h> /* for PM timer frequency */
31#include <acpi/acpi_bus.h>
31#endif 32#endif
32#include <asm/8253pit.h> 33#include <asm/8253pit.h>
33#include <asm/pgtable.h> 34#include <asm/pgtable.h>
@@ -193,7 +194,7 @@ unsigned long profile_pc(struct pt_regs *regs)
193 is just accounted to the spinlock function. 194 is just accounted to the spinlock function.
194 Better would be to write these functions in assembler again 195 Better would be to write these functions in assembler again
195 and check exactly. */ 196 and check exactly. */
196 if (in_lock_functions(pc)) { 197 if (!user_mode(regs) && in_lock_functions(pc)) {
197 char *v = *(char **)regs->rsp; 198 char *v = *(char **)regs->rsp;
198 if ((v >= _stext && v <= _etext) || 199 if ((v >= _stext && v <= _etext) ||
199 (v >= _sinittext && v <= _einittext) || 200 (v >= _sinittext && v <= _einittext) ||
@@ -953,11 +954,18 @@ __cpuinit int unsynchronized_tsc(void)
953#ifdef CONFIG_SMP 954#ifdef CONFIG_SMP
954 if (apic_is_clustered_box()) 955 if (apic_is_clustered_box())
955 return 1; 956 return 1;
956 /* Intel systems are normally all synchronized. Exceptions
957 are handled in the check above. */
958 if (boot_cpu_data.x86_vendor == X86_VENDOR_INTEL)
959 return 0;
960#endif 957#endif
958 /* Most intel systems have synchronized TSCs except for
959 multi node systems */
960 if (boot_cpu_data.x86_vendor == X86_VENDOR_INTEL) {
961#ifdef CONFIG_ACPI
962 /* But TSC doesn't tick in C3 so don't use it there */
963 if (acpi_fadt.length > 0 && acpi_fadt.plvl3_lat < 100)
964 return 1;
965#endif
966 return 0;
967 }
968
961 /* Assume multi socket systems are not synchronized */ 969 /* Assume multi socket systems are not synchronized */
962 return num_present_cpus() > 1; 970 return num_present_cpus() > 1;
963} 971}
diff --git a/arch/x86_64/kernel/traps.c b/arch/x86_64/kernel/traps.c
index 79d05c482072..4e9938dee060 100644
--- a/arch/x86_64/kernel/traps.c
+++ b/arch/x86_64/kernel/traps.c
@@ -76,13 +76,13 @@ int register_die_notifier(struct notifier_block *nb)
76 vmalloc_sync_all(); 76 vmalloc_sync_all();
77 return atomic_notifier_chain_register(&die_chain, nb); 77 return atomic_notifier_chain_register(&die_chain, nb);
78} 78}
79EXPORT_SYMBOL(register_die_notifier); 79EXPORT_SYMBOL(register_die_notifier); /* used modular by kdb */
80 80
81int unregister_die_notifier(struct notifier_block *nb) 81int unregister_die_notifier(struct notifier_block *nb)
82{ 82{
83 return atomic_notifier_chain_unregister(&die_chain, nb); 83 return atomic_notifier_chain_unregister(&die_chain, nb);
84} 84}
85EXPORT_SYMBOL(unregister_die_notifier); 85EXPORT_SYMBOL(unregister_die_notifier); /* used modular by kdb */
86 86
87static inline void conditional_sti(struct pt_regs *regs) 87static inline void conditional_sti(struct pt_regs *regs)
88{ 88{
@@ -254,7 +254,6 @@ void show_trace(struct task_struct *tsk, struct pt_regs *regs, unsigned long * s
254{ 254{
255 const unsigned cpu = safe_smp_processor_id(); 255 const unsigned cpu = safe_smp_processor_id();
256 unsigned long *irqstack_end = (unsigned long *)cpu_pda(cpu)->irqstackptr; 256 unsigned long *irqstack_end = (unsigned long *)cpu_pda(cpu)->irqstackptr;
257 int i = 11;
258 unsigned used = 0; 257 unsigned used = 0;
259 258
260 printk("\nCall Trace:\n"); 259 printk("\nCall Trace:\n");
@@ -275,11 +274,20 @@ void show_trace(struct task_struct *tsk, struct pt_regs *regs, unsigned long * s
275 if (unwind_init_blocked(&info, tsk) == 0) 274 if (unwind_init_blocked(&info, tsk) == 0)
276 unw_ret = show_trace_unwind(&info, NULL); 275 unw_ret = show_trace_unwind(&info, NULL);
277 } 276 }
278 if (unw_ret > 0) { 277 if (unw_ret > 0 && !arch_unw_user_mode(&info)) {
279 if (call_trace > 0) 278#ifdef CONFIG_STACK_UNWIND
279 unsigned long rip = info.regs.rip;
280 print_symbol("DWARF2 unwinder stuck at %s\n", rip);
281 if (call_trace == 1) {
282 printk("Leftover inexact backtrace:\n");
283 stack = (unsigned long *)info.regs.rsp;
284 } else if (call_trace > 1)
280 return; 285 return;
281 printk("Legacy call trace:"); 286 else
282 i = 18; 287 printk("Full inexact backtrace again:\n");
288#else
289 printk("Inexact backtrace:\n");
290#endif
283 } 291 }
284 } 292 }
285 293
@@ -521,7 +529,7 @@ void __kprobes oops_end(unsigned long flags)
521 /* Nest count reaches zero, release the lock. */ 529 /* Nest count reaches zero, release the lock. */
522 spin_unlock_irqrestore(&die_lock, flags); 530 spin_unlock_irqrestore(&die_lock, flags);
523 if (panic_on_oops) 531 if (panic_on_oops)
524 panic("Oops"); 532 panic("Fatal exception: panic_on_oops");
525} 533}
526 534
527void __kprobes __die(const char * str, struct pt_regs * regs, long err) 535void __kprobes __die(const char * str, struct pt_regs * regs, long err)
@@ -1118,8 +1126,10 @@ static int __init call_trace_setup(char *s)
1118 call_trace = -1; 1126 call_trace = -1;
1119 else if (strcmp(s, "both") == 0) 1127 else if (strcmp(s, "both") == 0)
1120 call_trace = 0; 1128 call_trace = 0;
1121 else if (strcmp(s, "new") == 0) 1129 else if (strcmp(s, "newfallback") == 0)
1122 call_trace = 1; 1130 call_trace = 1;
1131 else if (strcmp(s, "new") == 0)
1132 call_trace = 2;
1123 return 1; 1133 return 1;
1124} 1134}
1125__setup("call_trace=", call_trace_setup); 1135__setup("call_trace=", call_trace_setup);
diff --git a/arch/x86_64/pci/k8-bus.c b/arch/x86_64/pci/k8-bus.c
index b50a7c7c47f8..3acf60ded2a0 100644
--- a/arch/x86_64/pci/k8-bus.c
+++ b/arch/x86_64/pci/k8-bus.c
@@ -2,7 +2,6 @@
2#include <linux/pci.h> 2#include <linux/pci.h>
3#include <asm/mpspec.h> 3#include <asm/mpspec.h>
4#include <linux/cpumask.h> 4#include <linux/cpumask.h>
5#include <asm/k8.h>
6 5
7/* 6/*
8 * This discovers the pcibus <-> node mapping on AMD K8. 7 * This discovers the pcibus <-> node mapping on AMD K8.
@@ -19,6 +18,7 @@
19#define NR_LDT_BUS_NUMBER_REGISTERS 3 18#define NR_LDT_BUS_NUMBER_REGISTERS 3
20#define SECONDARY_LDT_BUS_NUMBER(dword) ((dword >> 8) & 0xFF) 19#define SECONDARY_LDT_BUS_NUMBER(dword) ((dword >> 8) & 0xFF)
21#define SUBORDINATE_LDT_BUS_NUMBER(dword) ((dword >> 16) & 0xFF) 20#define SUBORDINATE_LDT_BUS_NUMBER(dword) ((dword >> 16) & 0xFF)
21#define PCI_DEVICE_ID_K8HTCONFIG 0x1100
22 22
23/** 23/**
24 * fill_mp_bus_to_cpumask() 24 * fill_mp_bus_to_cpumask()
@@ -28,7 +28,8 @@
28__init static int 28__init static int
29fill_mp_bus_to_cpumask(void) 29fill_mp_bus_to_cpumask(void)
30{ 30{
31 int i, j, k; 31 struct pci_dev *nb_dev = NULL;
32 int i, j;
32 u32 ldtbus, nid; 33 u32 ldtbus, nid;
33 static int lbnr[3] = { 34 static int lbnr[3] = {
34 LDT_BUS_NUMBER_REGISTER_0, 35 LDT_BUS_NUMBER_REGISTER_0,
@@ -36,9 +37,8 @@ fill_mp_bus_to_cpumask(void)
36 LDT_BUS_NUMBER_REGISTER_2 37 LDT_BUS_NUMBER_REGISTER_2
37 }; 38 };
38 39
39 cache_k8_northbridges(); 40 while ((nb_dev = pci_get_device(PCI_VENDOR_ID_AMD,
40 for (k = 0; k < num_k8_northbridges; k++) { 41 PCI_DEVICE_ID_K8HTCONFIG, nb_dev))) {
41 struct pci_dev *nb_dev = k8_northbridges[k];
42 pci_read_config_dword(nb_dev, NODE_ID_REGISTER, &nid); 42 pci_read_config_dword(nb_dev, NODE_ID_REGISTER, &nid);
43 43
44 for (i = 0; i < NR_LDT_BUS_NUMBER_REGISTERS; i++) { 44 for (i = 0; i < NR_LDT_BUS_NUMBER_REGISTERS; i++) {
diff --git a/arch/xtensa/kernel/setup.c b/arch/xtensa/kernel/setup.c
index edb29410d953..82684d05910a 100644
--- a/arch/xtensa/kernel/setup.c
+++ b/arch/xtensa/kernel/setup.c
@@ -17,7 +17,7 @@
17#include <linux/errno.h> 17#include <linux/errno.h>
18#include <linux/init.h> 18#include <linux/init.h>
19#include <linux/proc_fs.h> 19#include <linux/proc_fs.h>
20#include <linux/tty.h> 20#include <linux/screen_info.h>
21#include <linux/bootmem.h> 21#include <linux/bootmem.h>
22#include <linux/kernel.h> 22#include <linux/kernel.h>
23 23
diff --git a/arch/xtensa/kernel/traps.c b/arch/xtensa/kernel/traps.c
index 27e409089a7b..9734960a2451 100644
--- a/arch/xtensa/kernel/traps.c
+++ b/arch/xtensa/kernel/traps.c
@@ -487,11 +487,9 @@ void die(const char * str, struct pt_regs * regs, long err)
487 if (in_interrupt()) 487 if (in_interrupt())
488 panic("Fatal exception in interrupt"); 488 panic("Fatal exception in interrupt");
489 489
490 if (panic_on_oops) { 490 if (panic_on_oops)
491 printk(KERN_EMERG "Fatal exception: panic in 5 seconds\n"); 491 panic("Fatal exception: panic_on_oops");
492 ssleep(5); 492
493 panic("Fatal exception");
494 }
495 do_exit(err); 493 do_exit(err);
496} 494}
497 495