aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
Diffstat (limited to 'arch')
-rw-r--r--arch/alpha/Kconfig3
-rw-r--r--arch/alpha/kernel/pci_iommu.c32
-rw-r--r--arch/alpha/lib/csum_ipv6_magic.S51
-rw-r--r--arch/alpha/lib/ev6-csum_ipv6_magic.S42
-rw-r--r--arch/arm/Kconfig3
-rw-r--r--arch/arm/boot/.gitignore3
-rw-r--r--arch/arm/boot/compressed/head.S1
-rw-r--r--arch/arm/common/locomo.c11
-rw-r--r--arch/arm/common/sa1111.c13
-rw-r--r--arch/arm/kernel/calls.S2
-rw-r--r--arch/arm/kernel/process.c63
-rw-r--r--arch/arm/kernel/sys_arm.c13
-rw-r--r--arch/arm/kernel/traps.c22
-rw-r--r--arch/arm/mach-at91/pm.c4
-rw-r--r--arch/arm/mach-pxa/pxa27x.c4
-rw-r--r--arch/arm/mach-sa1100/neponset.c15
-rw-r--r--arch/arm/mach-versatile/pci.c5
-rw-r--r--arch/arm/mm/mmu.c4
-rw-r--r--arch/avr32/boards/atngw100/setup.c3
-rw-r--r--arch/avr32/configs/atngw100_defconfig152
-rw-r--r--arch/avr32/configs/atstk1002_defconfig180
-rw-r--r--arch/avr32/mach-at32ap/at32ap7000.c12
-rw-r--r--arch/avr32/mm/cache.c14
-rw-r--r--arch/blackfin/Kconfig65
-rw-r--r--arch/blackfin/Makefile23
-rw-r--r--arch/blackfin/boot/Makefile3
-rw-r--r--arch/blackfin/configs/BF533-EZKIT_defconfig12
-rw-r--r--arch/blackfin/configs/BF533-STAMP_defconfig26
-rw-r--r--arch/blackfin/configs/BF537-STAMP_defconfig26
-rw-r--r--arch/blackfin/configs/BF548-EZKIT_defconfig1100
-rw-r--r--arch/blackfin/configs/BF561-EZKIT_defconfig12
-rw-r--r--arch/blackfin/configs/PNAV-10_defconfig13
-rw-r--r--arch/blackfin/kernel/Makefile7
-rw-r--r--arch/blackfin/kernel/asm-offsets.c7
-rw-r--r--arch/blackfin/kernel/bfin_dma_5xx.c251
-rw-r--r--arch/blackfin/kernel/bfin_gpio.c11
-rw-r--r--arch/blackfin/kernel/bfin_ksyms.c5
-rw-r--r--arch/blackfin/kernel/cacheinit.c66
-rw-r--r--arch/blackfin/kernel/cplbinit.c433
-rw-r--r--arch/blackfin/kernel/dma-mapping.c13
-rw-r--r--arch/blackfin/kernel/dualcore_test.c6
-rw-r--r--arch/blackfin/kernel/fixed_code.S132
-rw-r--r--arch/blackfin/kernel/flat.c55
-rw-r--r--arch/blackfin/kernel/irqchip.c2
-rw-r--r--arch/blackfin/kernel/kgdb.c421
-rw-r--r--arch/blackfin/kernel/module.c32
-rw-r--r--arch/blackfin/kernel/process.c75
-rw-r--r--arch/blackfin/kernel/ptrace.c6
-rw-r--r--arch/blackfin/kernel/setup.c394
-rw-r--r--arch/blackfin/kernel/signal.c10
-rw-r--r--arch/blackfin/kernel/sys_bfin.c8
-rw-r--r--arch/blackfin/kernel/time.c4
-rw-r--r--arch/blackfin/kernel/traps.c198
-rw-r--r--arch/blackfin/kernel/vmlinux.lds.S12
-rw-r--r--arch/blackfin/lib/memcmp.S5
-rw-r--r--arch/blackfin/lib/memcpy.S13
-rw-r--r--arch/blackfin/lib/memmove.S17
-rw-r--r--arch/blackfin/lib/strcmp.c3
-rw-r--r--arch/blackfin/lib/strcpy.c3
-rw-r--r--arch/blackfin/lib/strncmp.c3
-rw-r--r--arch/blackfin/lib/strncpy.c3
-rw-r--r--arch/blackfin/mach-bf533/Makefile4
-rw-r--r--arch/blackfin/mach-bf533/boards/cm_bf533.c14
-rw-r--r--arch/blackfin/mach-bf533/boards/ezkit.c8
-rw-r--r--arch/blackfin/mach-bf533/boards/generic_board.c6
-rw-r--r--arch/blackfin/mach-bf533/boards/stamp.c30
-rw-r--r--arch/blackfin/mach-bf533/cpu.c3
-rw-r--r--arch/blackfin/mach-bf533/dma.c95
-rw-r--r--arch/blackfin/mach-bf533/head.S5
-rw-r--r--arch/blackfin/mach-bf533/ints-priority.c2
-rw-r--r--arch/blackfin/mach-bf537/Makefile2
-rw-r--r--arch/blackfin/mach-bf537/boards/cm_bf537.c16
-rw-r--r--arch/blackfin/mach-bf537/boards/eth_mac.c5
-rw-r--r--arch/blackfin/mach-bf537/boards/generic_board.c36
-rw-r--r--arch/blackfin/mach-bf537/boards/pnav10.c54
-rw-r--r--arch/blackfin/mach-bf537/boards/stamp.c77
-rw-r--r--arch/blackfin/mach-bf537/dma.c115
-rw-r--r--arch/blackfin/mach-bf537/head.S6
-rw-r--r--arch/blackfin/mach-bf537/ints-priority.c2
-rw-r--r--arch/blackfin/mach-bf548/Kconfig316
-rw-r--r--arch/blackfin/mach-bf548/Makefile9
-rw-r--r--arch/blackfin/mach-bf548/boards/Makefile5
-rw-r--r--arch/blackfin/mach-bf548/boards/ezkit.c114
-rw-r--r--arch/blackfin/mach-bf548/boards/led.S172
-rw-r--r--arch/blackfin/mach-bf548/cpu.c159
-rw-r--r--arch/blackfin/mach-bf548/dma.c156
-rw-r--r--arch/blackfin/mach-bf548/gpio.c323
-rw-r--r--arch/blackfin/mach-bf548/head.S512
-rw-r--r--arch/blackfin/mach-bf548/ints-priority.c137
-rw-r--r--arch/blackfin/mach-bf561/Makefile2
-rw-r--r--arch/blackfin/mach-bf561/boards/cm_bf561.c32
-rw-r--r--arch/blackfin/mach-bf561/boards/ezkit.c33
-rw-r--r--arch/blackfin/mach-bf561/boards/generic_board.c6
-rw-r--r--arch/blackfin/mach-bf561/boards/tepla.c6
-rw-r--r--arch/blackfin/mach-bf561/coreb.c18
-rw-r--r--arch/blackfin/mach-bf561/dma.c131
-rw-r--r--arch/blackfin/mach-bf561/head.S6
-rw-r--r--arch/blackfin/mach-bf561/ints-priority.c2
-rw-r--r--arch/blackfin/mach-common/Makefile4
-rw-r--r--arch/blackfin/mach-common/cache.S20
-rw-r--r--arch/blackfin/mach-common/cacheinit.S89
-rw-r--r--arch/blackfin/mach-common/cplbinfo.c13
-rw-r--r--arch/blackfin/mach-common/entry.S76
-rw-r--r--arch/blackfin/mach-common/interrupt.S10
-rw-r--r--arch/blackfin/mach-common/ints-priority-dc.c13
-rw-r--r--arch/blackfin/mach-common/ints-priority-sc.c405
-rw-r--r--arch/blackfin/mach-common/pm.c4
-rw-r--r--arch/blackfin/mm/blackfin_sram.c4
-rw-r--r--arch/blackfin/mm/init.c47
-rw-r--r--arch/blackfin/oprofile/common.c6
-rw-r--r--arch/blackfin/oprofile/op_model_bf533.c6
-rw-r--r--arch/blackfin/oprofile/timer_int.c3
-rw-r--r--arch/i386/Kconfig6
-rw-r--r--arch/i386/Kconfig.cpu8
-rw-r--r--arch/i386/Kconfig.debug1
-rw-r--r--arch/i386/boot/Makefile48
-rw-r--r--arch/i386/boot/a20.c161
-rw-r--r--arch/i386/boot/apm.c97
-rw-r--r--arch/i386/boot/bitops.h45
-rw-r--r--arch/i386/boot/boot.h296
-rw-r--r--arch/i386/boot/bootsect.S98
-rw-r--r--arch/i386/boot/cmdline.c97
-rw-r--r--arch/i386/boot/code16gcc.h15
-rw-r--r--arch/i386/boot/compressed/Makefile7
-rw-r--r--arch/i386/boot/compressed/head.S6
-rw-r--r--arch/i386/boot/copy.S101
-rw-r--r--arch/i386/boot/cpu.c69
-rw-r--r--arch/i386/boot/cpucheck.c267
-rw-r--r--arch/i386/boot/edd.S231
-rw-r--r--arch/i386/boot/edd.c196
-rw-r--r--arch/i386/boot/header.S283
-rw-r--r--arch/i386/boot/main.c161
-rw-r--r--arch/i386/boot/mca.c43
-rw-r--r--arch/i386/boot/memory.c99
-rw-r--r--arch/i386/boot/pm.c170
-rw-r--r--arch/i386/boot/pmjump.S54
-rw-r--r--arch/i386/boot/printf.c307
-rw-r--r--arch/i386/boot/setup.S1075
-rw-r--r--arch/i386/boot/setup.ld54
-rw-r--r--arch/i386/boot/string.c52
-rw-r--r--arch/i386/boot/tools/build.c160
-rw-r--r--arch/i386/boot/tty.c112
-rw-r--r--arch/i386/boot/version.c23
-rw-r--r--arch/i386/boot/vesa.h79
-rw-r--r--arch/i386/boot/video-bios.c125
-rw-r--r--arch/i386/boot/video-vesa.c284
-rw-r--r--arch/i386/boot/video-vga.c260
-rw-r--r--arch/i386/boot/video.S2043
-rw-r--r--arch/i386/boot/video.c456
-rw-r--r--arch/i386/boot/video.h145
-rw-r--r--arch/i386/boot/voyager.c46
-rw-r--r--arch/i386/kernel/acpi/boot.c21
-rw-r--r--arch/i386/kernel/acpi/wakeup.S2
-rw-r--r--arch/i386/kernel/cpu/Makefile2
-rw-r--r--arch/i386/kernel/cpu/addon_cpuid_features.c50
-rw-r--r--arch/i386/kernel/cpu/common.c2
-rw-r--r--arch/i386/kernel/cpu/cpufreq/cpufreq-nforce2.c6
-rw-r--r--arch/i386/kernel/cpu/cpufreq/gx-suspmod.c4
-rw-r--r--arch/i386/kernel/cpu/cpufreq/speedstep-ich.c4
-rw-r--r--arch/i386/kernel/cpu/mtrr/cyrix.c4
-rw-r--r--arch/i386/kernel/cpu/mtrr/generic.c8
-rw-r--r--arch/i386/kernel/cpu/mtrr/main.c4
-rw-r--r--arch/i386/kernel/cpu/perfctr-watchdog.c35
-rw-r--r--arch/i386/kernel/cpu/proc.c21
-rw-r--r--arch/i386/kernel/e820.c2
-rw-r--r--arch/i386/kernel/entry.S8
-rw-r--r--arch/i386/kernel/quirks.c5
-rw-r--r--arch/i386/kernel/reboot_fixups.c13
-rw-r--r--arch/i386/kernel/setup.c12
-rw-r--r--arch/i386/kernel/smpboot.c12
-rw-r--r--arch/i386/kernel/tsc.c9
-rw-r--r--arch/i386/kernel/verify_cpu.S94
-rw-r--r--arch/i386/mach-es7000/es7000plat.c48
-rw-r--r--arch/i386/mach-visws/traps.c4
-rw-r--r--arch/i386/mm/init.c3
-rw-r--r--arch/i386/pci/fixup.c9
-rw-r--r--arch/ia64/Kconfig6
-rw-r--r--arch/ia64/kernel/gate.S1
-rw-r--r--arch/ia64/kernel/mca.c60
-rw-r--r--arch/ia64/kernel/mca_asm.S12
-rw-r--r--arch/ia64/kernel/mca_drv_asm.S6
-rw-r--r--arch/ia64/kernel/process.c3
-rw-r--r--arch/ia64/kernel/setup.c6
-rw-r--r--arch/ia64/kernel/time.c1
-rw-r--r--arch/ia64/kernel/unwind.c16
-rw-r--r--arch/ia64/mm/hugetlbpage.c3
-rw-r--r--arch/ia64/mm/tlb.c2
-rw-r--r--arch/ia64/pci/pci.c22
-rw-r--r--arch/ia64/sn/kernel/io_acpi_init.c17
-rw-r--r--arch/ia64/sn/kernel/io_init.c20
-rw-r--r--arch/ia64/sn/kernel/tiocx.c2
-rw-r--r--arch/ia64/sn/kernel/xp_nofault.S3
-rw-r--r--arch/ia64/sn/pci/pcibr/pcibr_provider.c9
-rw-r--r--arch/ia64/sn/pci/tioca_provider.c4
-rw-r--r--arch/ia64/sn/pci/tioce_provider.c4
-rw-r--r--arch/mips/Kconfig224
-rw-r--r--arch/mips/Kconfig.debug2
-rw-r--r--arch/mips/Makefile84
-rw-r--r--arch/mips/au1000/common/gpio.c124
-rw-r--r--arch/mips/au1000/common/platform.c2
-rw-r--r--arch/mips/au1000/common/setup.c3
-rw-r--r--arch/mips/au1000/pb1100/init.c2
-rw-r--r--arch/mips/au1000/pb1500/board_setup.c2
-rw-r--r--arch/mips/cobalt/pci.c1
-rw-r--r--arch/mips/configs/atlas_defconfig4
-rw-r--r--arch/mips/configs/bigsur_defconfig4
-rw-r--r--arch/mips/configs/capcella_defconfig4
-rw-r--r--arch/mips/configs/cobalt_defconfig502
-rw-r--r--arch/mips/configs/db1000_defconfig4
-rw-r--r--arch/mips/configs/db1100_defconfig4
-rw-r--r--arch/mips/configs/db1200_defconfig4
-rw-r--r--arch/mips/configs/db1500_defconfig4
-rw-r--r--arch/mips/configs/db1550_defconfig4
-rw-r--r--arch/mips/configs/ddb5477_defconfig4
-rw-r--r--arch/mips/configs/decstation_defconfig4
-rw-r--r--arch/mips/configs/e55_defconfig4
-rw-r--r--arch/mips/configs/emma2rh_defconfig7
-rw-r--r--arch/mips/configs/ev64120_defconfig985
-rw-r--r--arch/mips/configs/excite_defconfig4
-rw-r--r--arch/mips/configs/fulong_defconfig1765
-rw-r--r--arch/mips/configs/ip22_defconfig4
-rw-r--r--arch/mips/configs/ip27_defconfig4
-rw-r--r--arch/mips/configs/ip32_defconfig4
-rw-r--r--arch/mips/configs/jazz_defconfig6
-rw-r--r--arch/mips/configs/jmr3927_defconfig4
-rw-r--r--arch/mips/configs/lasat200_defconfig1118
-rw-r--r--arch/mips/configs/malta_defconfig4
-rw-r--r--arch/mips/configs/mipssim_defconfig37
-rw-r--r--arch/mips/configs/mpc30x_defconfig4
-rw-r--r--arch/mips/configs/msp71xx_defconfig (renamed from arch/mips/configs/ocelot_3_defconfig)972
-rw-r--r--arch/mips/configs/ocelot_c_defconfig982
-rw-r--r--arch/mips/configs/ocelot_defconfig4
-rw-r--r--arch/mips/configs/pb1100_defconfig4
-rw-r--r--arch/mips/configs/pb1500_defconfig4
-rw-r--r--arch/mips/configs/pb1550_defconfig4
-rw-r--r--arch/mips/configs/pnx8550-jbs_defconfig4
-rw-r--r--arch/mips/configs/pnx8550-stb810_defconfig4
-rw-r--r--arch/mips/configs/qemu_defconfig6
-rw-r--r--arch/mips/configs/rbhma4200_defconfig4
-rw-r--r--arch/mips/configs/rbhma4500_defconfig945
-rw-r--r--arch/mips/configs/rm200_defconfig6
-rw-r--r--arch/mips/configs/sb1250-swarm_defconfig4
-rw-r--r--arch/mips/configs/sead_defconfig4
-rw-r--r--arch/mips/configs/tb0219_defconfig4
-rw-r--r--arch/mips/configs/tb0226_defconfig4
-rw-r--r--arch/mips/configs/tb0287_defconfig4
-rw-r--r--arch/mips/configs/workpad_defconfig4
-rw-r--r--arch/mips/configs/wrppmc_defconfig4
-rw-r--r--arch/mips/configs/yosemite_defconfig6
-rw-r--r--arch/mips/ddb5xxx/ddb5477/Makefile3
-rw-r--r--arch/mips/ddb5xxx/ddb5477/ddb5477-platform.c49
-rw-r--r--arch/mips/dec/prom/console.c32
-rw-r--r--arch/mips/dec/prom/init.c5
-rw-r--r--arch/mips/dec/reset.c10
-rw-r--r--arch/mips/defconfig4
-rw-r--r--arch/mips/gt64120/ev64120/Kconfig3
-rw-r--r--arch/mips/gt64120/ev64120/Makefile9
-rw-r--r--arch/mips/gt64120/ev64120/irq.c116
-rw-r--r--arch/mips/gt64120/ev64120/promcon.c48
-rw-r--r--arch/mips/gt64120/ev64120/reset.c45
-rw-r--r--arch/mips/gt64120/ev64120/serialGT.c212
-rw-r--r--arch/mips/gt64120/ev64120/setup.c99
-rw-r--r--arch/mips/gt64120/momenco_ocelot/Makefile2
-rw-r--r--arch/mips/gt64120/momenco_ocelot/ocelot-platform.c46
-rw-r--r--arch/mips/gt64120/wrppmc/setup.c4
-rw-r--r--arch/mips/jazz/Makefile2
-rw-r--r--arch/mips/jazz/jazz-platform.c60
-rw-r--r--arch/mips/jazz/setup.c2
-rw-r--r--arch/mips/kernel/8250-platform.c47
-rw-r--r--arch/mips/kernel/Makefile19
-rw-r--r--arch/mips/kernel/cpu-probe.c57
-rw-r--r--arch/mips/kernel/entry.S2
-rw-r--r--arch/mips/kernel/genex.S2
-rw-r--r--arch/mips/kernel/head.S10
-rw-r--r--arch/mips/kernel/irq-mv6434x.c111
-rw-r--r--arch/mips/kernel/mips-mt-fpaff.c176
-rw-r--r--arch/mips/kernel/mips-mt.c205
-rw-r--r--arch/mips/kernel/pcspeaker.c (renamed from arch/mips/kernel/i8253.c)0
-rw-r--r--arch/mips/kernel/proc.c2
-rw-r--r--arch/mips/kernel/process.c4
-rw-r--r--arch/mips/kernel/r4k_switch.S7
-rw-r--r--arch/mips/kernel/setup.c16
-rw-r--r--arch/mips/kernel/signal32.c62
-rw-r--r--arch/mips/kernel/signal_n32.c6
-rw-r--r--arch/mips/kernel/smp-mt.c4
-rw-r--r--arch/mips/kernel/smp.c13
-rw-r--r--arch/mips/kernel/smtc.c4
-rw-r--r--arch/mips/kernel/syscall.c5
-rw-r--r--arch/mips/kernel/traps.c87
-rw-r--r--arch/mips/kernel/unaligned.c41
-rw-r--r--arch/mips/kernel/vpe.c4
-rw-r--r--arch/mips/lasat/Kconfig15
-rw-r--r--arch/mips/lasat/Makefile14
-rw-r--r--arch/mips/lasat/at93c.c148
-rw-r--r--arch/mips/lasat/at93c.h18
-rw-r--r--arch/mips/lasat/ds1603.c183
-rw-r--r--arch/mips/lasat/ds1603.h33
-rw-r--r--arch/mips/lasat/image/Makefile53
-rw-r--r--arch/mips/lasat/image/head.S31
-rw-r--r--arch/mips/lasat/image/romscript.normal23
-rw-r--r--arch/mips/lasat/interrupt.c130
-rw-r--r--arch/mips/lasat/lasat_board.c279
-rw-r--r--arch/mips/lasat/lasat_models.h63
-rw-r--r--arch/mips/lasat/picvue.c240
-rw-r--r--arch/mips/lasat/picvue.h48
-rw-r--r--arch/mips/lasat/picvue_proc.c186
-rw-r--r--arch/mips/lasat/prom.c117
-rw-r--r--arch/mips/lasat/prom.h5
-rw-r--r--arch/mips/lasat/reset.c69
-rw-r--r--arch/mips/lasat/setup.c182
-rw-r--r--arch/mips/lasat/sysctl.c441
-rw-r--r--arch/mips/lasat/sysctl.h24
-rw-r--r--arch/mips/lemote/lm2e/Makefile7
-rw-r--r--arch/mips/lemote/lm2e/bonito-irq.c74
-rw-r--r--arch/mips/lemote/lm2e/dbg_io.c146
-rw-r--r--arch/mips/lemote/lm2e/irq.c145
-rw-r--r--arch/mips/lemote/lm2e/mem.c23
-rw-r--r--arch/mips/lemote/lm2e/pci.c93
-rw-r--r--arch/mips/lemote/lm2e/prom.c104
-rw-r--r--arch/mips/lemote/lm2e/reset.c41
-rw-r--r--arch/mips/lemote/lm2e/setup.c134
-rw-r--r--arch/mips/lib-32/Makefile23
-rw-r--r--arch/mips/lib-32/dump_tlb.c242
-rw-r--r--arch/mips/lib-32/r3k_dump_tlb.c182
-rw-r--r--arch/mips/lib-32/watch.S60
-rw-r--r--arch/mips/lib-64/Makefile23
-rw-r--r--arch/mips/lib-64/dump_tlb.c216
-rw-r--r--arch/mips/lib-64/watch.S57
-rw-r--r--arch/mips/lib/Makefile21
-rw-r--r--arch/mips/lib/dump_tlb.c101
-rw-r--r--arch/mips/lib/r3k_dump_tlb.c63
-rw-r--r--arch/mips/lib/ucmpdi2.c2
-rw-r--r--arch/mips/lib/uncached.c1
-rw-r--r--arch/mips/math-emu/cp1emu.c34
-rw-r--r--arch/mips/mips-boards/malta/Makefile3
-rw-r--r--arch/mips/mips-boards/malta/malta_platform.c65
-rw-r--r--arch/mips/mipssim/Makefile (renamed from arch/mips/mips-boards/sim/Makefile)0
-rw-r--r--arch/mips/mipssim/sim_cmdline.c (renamed from arch/mips/mips-boards/sim/sim_cmdline.c)0
-rw-r--r--arch/mips/mipssim/sim_console.c (renamed from arch/mips/mips-boards/sim/sim_console.c)2
-rw-r--r--arch/mips/mipssim/sim_int.c88
-rw-r--r--arch/mips/mipssim/sim_mem.c (renamed from arch/mips/mips-boards/sim/sim_mem.c)2
-rw-r--r--arch/mips/mipssim/sim_platform.c (renamed from arch/mips/mips-boards/sim/sim_platform.c)0
-rw-r--r--arch/mips/mipssim/sim_setup.c (renamed from arch/mips/mips-boards/sim/sim_setup.c)10
-rw-r--r--arch/mips/mipssim/sim_smp.c (renamed from arch/mips/mips-boards/sim/sim_smp.c)18
-rw-r--r--arch/mips/mipssim/sim_time.c (renamed from arch/mips/mips-boards/sim/sim_time.c)29
-rw-r--r--arch/mips/mm/Makefile1
-rw-r--r--arch/mips/mm/c-r4k.c54
-rw-r--r--arch/mips/mm/c-sb1.c2
-rw-r--r--arch/mips/mm/cache.c10
-rw-r--r--arch/mips/mm/tlb-r4k.c23
-rw-r--r--arch/mips/mm/tlbex.c8
-rw-r--r--arch/mips/momentum/ocelot_3/Makefile8
-rw-r--r--arch/mips/momentum/ocelot_3/irq.c109
-rw-r--r--arch/mips/momentum/ocelot_3/platform.c208
-rw-r--r--arch/mips/momentum/ocelot_3/prom.c189
-rw-r--r--arch/mips/momentum/ocelot_3/reset.c59
-rw-r--r--arch/mips/momentum/ocelot_3/setup.c398
-rw-r--r--arch/mips/momentum/ocelot_c/Makefile8
-rw-r--r--arch/mips/momentum/ocelot_c/cpci-irq.c100
-rw-r--r--arch/mips/momentum/ocelot_c/dbg_io.c121
-rw-r--r--arch/mips/momentum/ocelot_c/irq.c107
-rw-r--r--arch/mips/momentum/ocelot_c/platform.c183
-rw-r--r--arch/mips/momentum/ocelot_c/prom.c183
-rw-r--r--arch/mips/momentum/ocelot_c/reset.c58
-rw-r--r--arch/mips/momentum/ocelot_c/setup.c362
-rw-r--r--arch/mips/momentum/ocelot_c/uart-irq.c91
-rw-r--r--arch/mips/pci/Makefile12
-rw-r--r--arch/mips/pci/fixup-atlas.c2
-rw-r--r--arch/mips/pci/fixup-au1000.c2
-rw-r--r--arch/mips/pci/fixup-capcella.c2
-rw-r--r--arch/mips/pci/fixup-cobalt.c12
-rw-r--r--arch/mips/pci/fixup-emma2rh.c2
-rw-r--r--arch/mips/pci/fixup-excite.c2
-rw-r--r--arch/mips/pci/fixup-ip32.c2
-rw-r--r--arch/mips/pci/fixup-jmr3927.c2
-rw-r--r--arch/mips/pci/fixup-lm2e.c242
-rw-r--r--arch/mips/pci/fixup-malta.c2
-rw-r--r--arch/mips/pci/fixup-mpc30x.c2
-rw-r--r--arch/mips/pci/fixup-ocelot-c.c41
-rw-r--r--arch/mips/pci/fixup-ocelot3.c41
-rw-r--r--arch/mips/pci/fixup-pmcmsp.c216
-rw-r--r--arch/mips/pci/fixup-pnx8550.c2
-rw-r--r--arch/mips/pci/fixup-rbtx4927.c2
-rw-r--r--arch/mips/pci/fixup-sni.c2
-rw-r--r--arch/mips/pci/fixup-tb0219.c2
-rw-r--r--arch/mips/pci/fixup-tb0226.c2
-rw-r--r--arch/mips/pci/fixup-tb0287.c2
-rw-r--r--arch/mips/pci/fixup-tx4938.c2
-rw-r--r--arch/mips/pci/fixup-vr4133.c2
-rw-r--r--arch/mips/pci/fixup-wrppmc.c2
-rw-r--r--arch/mips/pci/fixup-yosemite.c2
-rw-r--r--arch/mips/pci/ops-bonito64.c88
-rw-r--r--arch/mips/pci/ops-marvell.c93
-rw-r--r--arch/mips/pci/ops-nile4.c147
-rw-r--r--arch/mips/pci/ops-pmcmsp.c994
-rw-r--r--arch/mips/pci/ops-tx4938.c80
-rw-r--r--arch/mips/pci/pci-bcm1480.c3
-rw-r--r--arch/mips/pci/pci-dac.c79
-rw-r--r--arch/mips/pci/pci-ddb5477.c2
-rw-r--r--arch/mips/pci/pci-ev64120.c22
-rw-r--r--arch/mips/pci/pci-ip27.c2
-rw-r--r--arch/mips/pci/pci-lasat.c91
-rw-r--r--arch/mips/pci/pci-ocelot-c.c145
-rw-r--r--arch/mips/pci/pci-sb1250.c2
-rw-r--r--arch/mips/pci/pci.c2
-rw-r--r--arch/mips/philips/pnx8550/common/platform.c2
-rw-r--r--arch/mips/philips/pnx8550/common/proc.c30
-rw-r--r--arch/mips/pmc-sierra/Kconfig46
-rw-r--r--arch/mips/pmc-sierra/msp71xx/Makefile11
-rw-r--r--arch/mips/pmc-sierra/msp71xx/msp_elb.c (renamed from arch/mips/momentum/ocelot_c/ocelot_c_fpga.h)53
-rw-r--r--arch/mips/pmc-sierra/msp71xx/msp_hwbutton.c179
-rw-r--r--arch/mips/pmc-sierra/msp71xx/msp_irq.c124
-rw-r--r--arch/mips/pmc-sierra/msp71xx/msp_irq_cic.c134
-rw-r--r--arch/mips/pmc-sierra/msp71xx/msp_irq_slp.c109
-rw-r--r--arch/mips/pmc-sierra/msp71xx/msp_pci.c (renamed from arch/mips/momentum/ocelot_3/ocelot_3_fpga.h)57
-rw-r--r--arch/mips/pmc-sierra/msp71xx/msp_prom.c566
-rw-r--r--arch/mips/pmc-sierra/msp71xx/msp_setup.c256
-rw-r--r--arch/mips/pmc-sierra/msp71xx/msp_time.c94
-rw-r--r--arch/mips/pmc-sierra/msp71xx/msp_usb.c150
-rw-r--r--arch/mips/pmc-sierra/yosemite/smp.c2
-rw-r--r--arch/mips/sgi-ip22/ip22-reset.c6
-rw-r--r--arch/mips/sgi-ip27/ip27-berr.c1
-rw-r--r--arch/mips/sgi-ip32/ip32-platform.c52
-rw-r--r--arch/mips/sgi-ip32/ip32-setup.c36
-rw-r--r--arch/mips/sibyte/cfe/setup.c6
-rw-r--r--arch/mips/sibyte/swarm/time.c244
-rw-r--r--arch/mips/sni/Makefile2
-rw-r--r--arch/mips/sni/a20r.c39
-rw-r--r--arch/mips/sni/ds1216.c81
-rw-r--r--arch/mips/sni/pcimt.c26
-rw-r--r--arch/mips/sni/pcit.c26
-rw-r--r--arch/mips/sni/rm200.c36
-rw-r--r--arch/mips/sni/sniprom.c5
-rw-r--r--arch/mips/tx4938/common/Makefile2
-rw-r--r--arch/mips/tx4938/common/rtc_rx5c348.c192
-rw-r--r--arch/mips/tx4938/toshiba_rbtx4938/Makefile2
-rw-r--r--arch/mips/tx4938/toshiba_rbtx4938/irq.c6
-rw-r--r--arch/mips/tx4938/toshiba_rbtx4938/setup.c306
-rw-r--r--arch/mips/tx4938/toshiba_rbtx4938/spi_eeprom.c261
-rw-r--r--arch/mips/tx4938/toshiba_rbtx4938/spi_txx9.c164
-rw-r--r--arch/mips/vr41xx/common/Makefile2
-rw-r--r--arch/mips/vr41xx/common/giu.c122
-rw-r--r--arch/mips/vr41xx/common/rtc.c117
-rw-r--r--arch/mips/vr41xx/common/siu.c120
-rw-r--r--arch/parisc/kernel/unwind.c43
-rw-r--r--arch/powerpc/Kconfig6
-rw-r--r--arch/powerpc/configs/cell_defconfig243
-rw-r--r--arch/powerpc/configs/celleb_defconfig169
-rw-r--r--arch/powerpc/configs/chrp32_defconfig353
-rw-r--r--arch/powerpc/configs/ebony_defconfig138
-rw-r--r--arch/powerpc/configs/g5_defconfig342
-rw-r--r--arch/powerpc/configs/holly_defconfig125
-rw-r--r--arch/powerpc/configs/iseries_defconfig36
-rw-r--r--arch/powerpc/configs/linkstation_defconfig384
-rw-r--r--arch/powerpc/configs/lite5200_defconfig182
-rw-r--r--arch/powerpc/configs/maple_defconfig248
-rw-r--r--arch/powerpc/configs/mpc7448_hpc2_defconfig212
-rw-r--r--arch/powerpc/configs/mpc8272_ads_defconfig293
-rw-r--r--arch/powerpc/configs/mpc8313_rdb_defconfig310
-rw-r--r--arch/powerpc/configs/mpc832x_mds_defconfig176
-rw-r--r--arch/powerpc/configs/mpc832x_rdb_defconfig229
-rw-r--r--arch/powerpc/configs/mpc834x_itx_defconfig265
-rw-r--r--arch/powerpc/configs/mpc834x_itxgp_defconfig232
-rw-r--r--arch/powerpc/configs/mpc834x_mds_defconfig195
-rw-r--r--arch/powerpc/configs/mpc836x_mds_defconfig176
-rw-r--r--arch/powerpc/configs/mpc8540_ads_defconfig201
-rw-r--r--arch/powerpc/configs/mpc8544_ds_defconfig193
-rw-r--r--arch/powerpc/configs/mpc8560_ads_defconfig201
-rw-r--r--arch/powerpc/configs/mpc8568mds_defconfig191
-rw-r--r--arch/powerpc/configs/mpc85xx_cds_defconfig206
-rw-r--r--arch/powerpc/configs/mpc8641_hpcn_defconfig200
-rw-r--r--arch/powerpc/configs/mpc866_ads_defconfig213
-rw-r--r--arch/powerpc/configs/mpc885_ads_defconfig222
-rw-r--r--arch/powerpc/configs/pasemi_defconfig58
-rw-r--r--arch/powerpc/configs/pmac32_defconfig375
-rw-r--r--arch/powerpc/configs/ppc64_defconfig460
-rw-r--r--arch/powerpc/configs/prpmc2800_defconfig98
-rw-r--r--arch/powerpc/configs/ps3_defconfig79
-rw-r--r--arch/powerpc/configs/pseries_defconfig387
-rw-r--r--arch/powerpc/kernel/irq.c6
-rw-r--r--arch/powerpc/kernel/pci_32.c4
-rw-r--r--arch/powerpc/kernel/pci_64.c6
-rw-r--r--arch/powerpc/kernel/signal_64.c10
-rw-r--r--arch/powerpc/kernel/sys_ppc32.c9
-rw-r--r--arch/powerpc/kernel/vdso32/gettimeofday.S4
-rw-r--r--arch/powerpc/kernel/vdso64/gettimeofday.S7
-rw-r--r--arch/powerpc/platforms/cell/cbe_cpufreq.c15
-rw-r--r--arch/ppc/8260_io/enet.c4
-rw-r--r--arch/ppc/8260_io/fcc_enet.c4
-rw-r--r--arch/ppc/8xx_io/enet.c4
-rw-r--r--arch/ppc/8xx_io/fec.c2
-rw-r--r--arch/ppc/Kconfig6
-rw-r--r--arch/ppc/kernel/pci.c6
-rw-r--r--arch/ppc/syslib/mv64x60.c1
-rw-r--r--arch/s390/crypto/crypt_s390.h2
-rw-r--r--arch/s390/kernel/early.c45
-rw-r--r--arch/s390/kernel/entry.S7
-rw-r--r--arch/s390/kernel/entry64.S7
-rw-r--r--arch/s390/kernel/ipl.c19
-rw-r--r--arch/s390/kernel/process.c6
-rw-r--r--arch/s390/kernel/smp.c63
-rw-r--r--arch/s390/kernel/time.c4
-rw-r--r--arch/s390/kernel/vtime.c4
-rw-r--r--arch/s390/lib/Makefile4
-rw-r--r--arch/sparc/Kconfig3
-rw-r--r--arch/sparc/kernel/smp.c10
-rw-r--r--arch/sparc64/Kconfig6
-rw-r--r--arch/sparc64/kernel/irq.c12
-rw-r--r--arch/sparc64/kernel/pci.c1
-rw-r--r--arch/sparc64/kernel/smp.c27
-rw-r--r--arch/x86_64/Kconfig4
-rw-r--r--arch/x86_64/Kconfig.debug1
-rw-r--r--arch/x86_64/boot/Makefile136
-rw-r--r--arch/x86_64/boot/bootsect.S98
-rw-r--r--arch/x86_64/boot/compressed/Makefile9
-rw-r--r--arch/x86_64/boot/compressed/head.S6
-rw-r--r--arch/x86_64/boot/install.sh2
-rw-r--r--arch/x86_64/boot/mtools.conf.in17
-rw-r--r--arch/x86_64/boot/setup.S826
-rw-r--r--arch/x86_64/boot/tools/build.c185
-rw-r--r--arch/x86_64/kernel/Makefile2
-rw-r--r--arch/x86_64/kernel/entry.S7
-rw-r--r--arch/x86_64/kernel/io_apic.c1
-rw-r--r--arch/x86_64/kernel/irq.c32
-rw-r--r--arch/x86_64/kernel/mce.c6
-rw-r--r--arch/x86_64/kernel/pci-dma.c3
-rw-r--r--arch/x86_64/kernel/setup.c21
-rw-r--r--arch/x86_64/kernel/setup64.c3
-rw-r--r--arch/x86_64/kernel/verify_cpu.S22
-rw-r--r--arch/x86_64/mm/init.c5
530 files changed, 23203 insertions, 23893 deletions
diff --git a/arch/alpha/Kconfig b/arch/alpha/Kconfig
index 79c6e5a24456..2a85dc33907c 100644
--- a/arch/alpha/Kconfig
+++ b/arch/alpha/Kconfig
@@ -327,6 +327,9 @@ config PCI_DOMAINS
327 bool 327 bool
328 default y 328 default y
329 329
330config PCI_SYSCALL
331 def_bool PCI
332
330config ALPHA_CORE_AGP 333config ALPHA_CORE_AGP
331 bool 334 bool
332 depends on ALPHA_GENERIC || ALPHA_TITAN || ALPHA_MARVEL 335 depends on ALPHA_GENERIC || ALPHA_TITAN || ALPHA_MARVEL
diff --git a/arch/alpha/kernel/pci_iommu.c b/arch/alpha/kernel/pci_iommu.c
index 28c84e55feb9..6b07f89a72c7 100644
--- a/arch/alpha/kernel/pci_iommu.c
+++ b/arch/alpha/kernel/pci_iommu.c
@@ -207,6 +207,10 @@ iommu_arena_free(struct pci_iommu_arena *arena, long ofs, long n)
207 p[i] = 0; 207 p[i] = 0;
208} 208}
209 209
210/* True if the machine supports DAC addressing, and DEV can
211 make use of it given MASK. */
212static int pci_dac_dma_supported(struct pci_dev *hwdev, u64 mask);
213
210/* Map a single buffer of the indicated size for PCI DMA in streaming 214/* Map a single buffer of the indicated size for PCI DMA in streaming
211 mode. The 32-bit PCI bus mastering address to use is returned. 215 mode. The 32-bit PCI bus mastering address to use is returned.
212 Once the device is given the dma address, the device owns this memory 216 Once the device is given the dma address, the device owns this memory
@@ -897,7 +901,7 @@ iommu_unbind(struct pci_iommu_arena *arena, long pg_start, long pg_count)
897/* True if the machine supports DAC addressing, and DEV can 901/* True if the machine supports DAC addressing, and DEV can
898 make use of it given MASK. */ 902 make use of it given MASK. */
899 903
900int 904static int
901pci_dac_dma_supported(struct pci_dev *dev, u64 mask) 905pci_dac_dma_supported(struct pci_dev *dev, u64 mask)
902{ 906{
903 dma64_addr_t dac_offset = alpha_mv.pci_dac_offset; 907 dma64_addr_t dac_offset = alpha_mv.pci_dac_offset;
@@ -917,32 +921,6 @@ pci_dac_dma_supported(struct pci_dev *dev, u64 mask)
917 921
918 return ok; 922 return ok;
919} 923}
920EXPORT_SYMBOL(pci_dac_dma_supported);
921
922dma64_addr_t
923pci_dac_page_to_dma(struct pci_dev *pdev, struct page *page,
924 unsigned long offset, int direction)
925{
926 return (alpha_mv.pci_dac_offset
927 + __pa(page_address(page))
928 + (dma64_addr_t) offset);
929}
930EXPORT_SYMBOL(pci_dac_page_to_dma);
931
932struct page *
933pci_dac_dma_to_page(struct pci_dev *pdev, dma64_addr_t dma_addr)
934{
935 unsigned long paddr = (dma_addr & PAGE_MASK) - alpha_mv.pci_dac_offset;
936 return virt_to_page(__va(paddr));
937}
938EXPORT_SYMBOL(pci_dac_dma_to_page);
939
940unsigned long
941pci_dac_dma_to_offset(struct pci_dev *pdev, dma64_addr_t dma_addr)
942{
943 return (dma_addr & ~PAGE_MASK);
944}
945EXPORT_SYMBOL(pci_dac_dma_to_offset);
946 924
947/* Helper for generic DMA-mapping functions. */ 925/* Helper for generic DMA-mapping functions. */
948 926
diff --git a/arch/alpha/lib/csum_ipv6_magic.S b/arch/alpha/lib/csum_ipv6_magic.S
index e09748dbf2ed..2c2acb96deb6 100644
--- a/arch/alpha/lib/csum_ipv6_magic.S
+++ b/arch/alpha/lib/csum_ipv6_magic.S
@@ -7,6 +7,9 @@
7 * __u32 len, 7 * __u32 len,
8 * unsigned short proto, 8 * unsigned short proto,
9 * unsigned int csum); 9 * unsigned int csum);
10 *
11 * Misalignment handling (which costs 16 instructions / 8 cycles)
12 * added by Ivan Kokshaysky <ink@jurassic.park.msu.ru>
10 */ 13 */
11 14
12 .globl csum_ipv6_magic 15 .globl csum_ipv6_magic
@@ -16,37 +19,57 @@
16csum_ipv6_magic: 19csum_ipv6_magic:
17 .prologue 0 20 .prologue 0
18 21
19 ldq $0,0($16) # e0 : load src & dst addr words 22 ldq_u $0,0($16) # e0 : load src & dst addr words
20 zapnot $20,15,$20 # .. e1 : zero extend incoming csum 23 zapnot $20,15,$20 # .. e1 : zero extend incoming csum
21 extqh $18,1,$4 # e0 : byte swap len & proto while we wait 24 extqh $18,1,$4 # e0 : byte swap len & proto while we wait
22 ldq $1,8($16) # .. e1 : 25 ldq_u $21,7($16) # .. e1 : handle misalignment
23 26
24 extbl $18,1,$5 # e0 : 27 extbl $18,1,$5 # e0 :
25 ldq $2,0($17) # .. e1 : 28 ldq_u $1,8($16) # .. e1 :
26 extbl $18,2,$6 # e0 : 29 extbl $18,2,$6 # e0 :
27 ldq $3,8($17) # .. e1 : 30 ldq_u $22,15($16) # .. e1 :
28 31
29 extbl $18,3,$18 # e0 : 32 extbl $18,3,$18 # e0 :
33 ldq_u $2,0($17) # .. e1 :
30 sra $4,32,$4 # e0 : 34 sra $4,32,$4 # e0 :
35 ldq_u $23,7($17) # .. e1 :
36
37 extql $0,$16,$0 # e0 :
38 ldq_u $3,8($17) # .. e1 :
39 extqh $21,$16,$21 # e0 :
40 ldq_u $24,15($17) # .. e1 :
41
31 sll $5,16,$5 # e0 : 42 sll $5,16,$5 # e0 :
43 or $0,$21,$0 # .. e1 : 1st src word complete
44 extql $1,$16,$1 # e0 :
32 addq $20,$0,$20 # .. e1 : begin summing the words 45 addq $20,$0,$20 # .. e1 : begin summing the words
33 46
34 sll $6,8,$6 # e0 : 47 extqh $22,$16,$22 # e0 :
35 cmpult $20,$0,$0 # .. e1 : 48 cmpult $20,$0,$0 # .. e1 :
36 extwh $19,7,$7 # e0 : 49 sll $6,8,$6 # e0 :
37 or $4,$18,$18 # .. e1 : 50 or $1,$22,$1 # .. e1 : 2nd src word complete
38 51
39 extbl $19,1,$19 # e0 : 52 extql $2,$17,$2 # e0 :
53 or $4,$18,$18 # .. e1 :
54 extqh $23,$17,$23 # e0 :
40 or $5,$6,$5 # .. e1 : 55 or $5,$6,$5 # .. e1 :
41 or $18,$5,$18 # e0 : len complete
42 or $19,$7,$19 # .. e1 :
43 56
44 sll $19,48,$19 # e0 : 57 extql $3,$17,$3 # e0 :
58 or $2,$23,$2 # .. e1 : 1st dst word complete
59 extqh $24,$17,$24 # e0 :
60 or $18,$5,$18 # .. e1 : len complete
61
62 extwh $19,7,$7 # e0 :
63 or $3,$24,$3 # .. e1 : 2nd dst word complete
64 extbl $19,1,$19 # e0 :
45 addq $20,$1,$20 # .. e1 : 65 addq $20,$1,$20 # .. e1 :
46 sra $19,32,$19 # e0 : proto complete 66
67 or $19,$7,$19 # e0 :
47 cmpult $20,$1,$1 # .. e1 : 68 cmpult $20,$1,$1 # .. e1 :
69 sll $19,48,$19 # e0 :
70 nop # .. e0 :
48 71
49 nop # e0 : 72 sra $19,32,$19 # e0 : proto complete
50 addq $20,$2,$20 # .. e1 : 73 addq $20,$2,$20 # .. e1 :
51 cmpult $20,$2,$2 # e0 : 74 cmpult $20,$2,$2 # e0 :
52 addq $20,$3,$20 # .. e1 : 75 addq $20,$3,$20 # .. e1 :
@@ -84,7 +107,7 @@ csum_ipv6_magic:
84 extwl $0,2,$1 # e0 : fold 17-bit value 107 extwl $0,2,$1 # e0 : fold 17-bit value
85 zapnot $0,3,$0 # .. e1 : 108 zapnot $0,3,$0 # .. e1 :
86 addq $0,$1,$0 # e0 : 109 addq $0,$1,$0 # e0 :
87 not $0,$0 # e1 : and complement. 110 not $0,$0 # .. e1 : and complement.
88 111
89 zapnot $0,3,$0 # e0 : 112 zapnot $0,3,$0 # e0 :
90 ret # .. e1 : 113 ret # .. e1 :
diff --git a/arch/alpha/lib/ev6-csum_ipv6_magic.S b/arch/alpha/lib/ev6-csum_ipv6_magic.S
index de1948a69118..fc0bc399f872 100644
--- a/arch/alpha/lib/ev6-csum_ipv6_magic.S
+++ b/arch/alpha/lib/ev6-csum_ipv6_magic.S
@@ -46,6 +46,10 @@
46 * add the 3 low ushorts together, generating a uint 46 * add the 3 low ushorts together, generating a uint
47 * a final add of the 2 lower ushorts 47 * a final add of the 2 lower ushorts
48 * truncating the result. 48 * truncating the result.
49 *
50 * Misalignment handling added by Ivan Kokshaysky <ink@jurassic.park.msu.ru>
51 * The cost is 16 instructions (~8 cycles), including two extra loads which
52 * may cause additional delay in rare cases (load-load replay traps).
49 */ 53 */
50 54
51 .globl csum_ipv6_magic 55 .globl csum_ipv6_magic
@@ -55,25 +59,45 @@
55csum_ipv6_magic: 59csum_ipv6_magic:
56 .prologue 0 60 .prologue 0
57 61
58 ldq $0,0($16) # L : Latency: 3 62 ldq_u $0,0($16) # L : Latency: 3
59 inslh $18,7,$4 # U : 0000000000AABBCC 63 inslh $18,7,$4 # U : 0000000000AABBCC
60 ldq $1,8($16) # L : Latency: 3 64 ldq_u $1,8($16) # L : Latency: 3
61 sll $19,8,$7 # U : U L U L : 0x00000000 00aabb00 65 sll $19,8,$7 # U : U L U L : 0x00000000 00aabb00
62 66
67 and $16,7,$6 # E : src misalignment
68 ldq_u $5,15($16) # L : Latency: 3
63 zapnot $20,15,$20 # U : zero extend incoming csum 69 zapnot $20,15,$20 # U : zero extend incoming csum
64 ldq $2,0($17) # L : Latency: 3 70 ldq_u $2,0($17) # L : U L U L : Latency: 3
65 sll $19,24,$19 # U : U L L U : 0x000000aa bb000000 71
72 extql $0,$6,$0 # U :
73 extqh $1,$6,$22 # U :
74 ldq_u $3,8($17) # L : Latency: 3
75 sll $19,24,$19 # U : U U L U : 0x000000aa bb000000
76
77 cmoveq $6,$31,$22 # E : src aligned?
78 ldq_u $23,15($17) # L : Latency: 3
66 inswl $18,3,$18 # U : 000000CCDD000000 79 inswl $18,3,$18 # U : 000000CCDD000000
80 addl $19,$7,$19 # E : U L U L : <sign bits>bbaabb00
67 81
68 ldq $3,8($17) # L : Latency: 3 82 or $0,$22,$0 # E : 1st src word complete
69 bis $18,$4,$18 # E : 000000CCDDAABBCC 83 extql $1,$6,$1 # U :
70 addl $19,$7,$19 # E : <sign bits>bbaabb00 84 or $18,$4,$18 # E : 000000CCDDAABBCC
71 nop # E : U L U L 85 extqh $5,$6,$5 # U : L U L U
72 86
87 and $17,7,$6 # E : dst misalignment
88 extql $2,$6,$2 # U :
89 or $1,$5,$1 # E : 2nd src word complete
90 extqh $3,$6,$22 # U : L U L U :
91
92 cmoveq $6,$31,$22 # E : dst aligned?
93 extql $3,$6,$3 # U :
73 addq $20,$0,$20 # E : begin summing the words 94 addq $20,$0,$20 # E : begin summing the words
95 extqh $23,$6,$23 # U : L U L U :
96
74 srl $18,16,$4 # U : 0000000000CCDDAA 97 srl $18,16,$4 # U : 0000000000CCDDAA
98 or $2,$22,$2 # E : 1st dst word complete
75 zap $19,0x3,$19 # U : <sign bits>bbaa0000 99 zap $19,0x3,$19 # U : <sign bits>bbaa0000
76 nop # E : L U U L 100 or $3,$23,$3 # E : U L U L : 2nd dst word complete
77 101
78 cmpult $20,$0,$0 # E : 102 cmpult $20,$0,$0 # E :
79 addq $20,$1,$20 # E : 103 addq $20,$1,$20 # E :
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 50d9f3e4e0f1..482d33f9ce5b 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -531,6 +531,9 @@ config PCI
531 information about which PCI hardware does work under Linux and which 531 information about which PCI hardware does work under Linux and which
532 doesn't. 532 doesn't.
533 533
534config PCI_SYSCALL
535 def_bool PCI
536
534# Select the host bridge type 537# Select the host bridge type
535config PCI_HOST_VIA82C505 538config PCI_HOST_VIA82C505
536 bool 539 bool
diff --git a/arch/arm/boot/.gitignore b/arch/arm/boot/.gitignore
index 171a0853caf8..ce1c5ff746e7 100644
--- a/arch/arm/boot/.gitignore
+++ b/arch/arm/boot/.gitignore
@@ -1,2 +1,5 @@
1Image 1Image
2zImage 2zImage
3xipImage
4bootpImage
5uImage
diff --git a/arch/arm/boot/compressed/head.S b/arch/arm/boot/compressed/head.S
index 23348e9561b9..680ea6ed77b8 100644
--- a/arch/arm/boot/compressed/head.S
+++ b/arch/arm/boot/compressed/head.S
@@ -836,6 +836,7 @@ memdump: mov r12, r0
836 mov pc, r10 836 mov pc, r10
837#endif 837#endif
838 838
839 .ltorg
839reloc_end: 840reloc_end:
840 841
841 .align 842 .align
diff --git a/arch/arm/common/locomo.c b/arch/arm/common/locomo.c
index cfe6f4650bc9..ae21755872ed 100644
--- a/arch/arm/common/locomo.c
+++ b/arch/arm/common/locomo.c
@@ -60,6 +60,9 @@ struct locomo {
60 unsigned int irq; 60 unsigned int irq;
61 spinlock_t lock; 61 spinlock_t lock;
62 void __iomem *base; 62 void __iomem *base;
63#ifdef CONFIG_PM
64 void *saved_state;
65#endif
63}; 66};
64 67
65struct locomo_dev_info { 68struct locomo_dev_info {
@@ -565,7 +568,7 @@ static int locomo_suspend(struct platform_device *dev, pm_message_t state)
565 if (!save) 568 if (!save)
566 return -ENOMEM; 569 return -ENOMEM;
567 570
568 dev->dev.power.saved_state = (void *) save; 571 lchip->saved_state = save;
569 572
570 spin_lock_irqsave(&lchip->lock, flags); 573 spin_lock_irqsave(&lchip->lock, flags);
571 574
@@ -605,8 +608,8 @@ static int locomo_resume(struct platform_device *dev)
605 struct locomo_save_data *save; 608 struct locomo_save_data *save;
606 unsigned long r; 609 unsigned long r;
607 unsigned long flags; 610 unsigned long flags;
608 611
609 save = (struct locomo_save_data *) dev->dev.power.saved_state; 612 save = lchip->saved_state;
610 if (!save) 613 if (!save)
611 return 0; 614 return 0;
612 615
@@ -628,6 +631,8 @@ static int locomo_resume(struct platform_device *dev)
628 locomo_writel(0x1, lchip->base + LOCOMO_KEYBOARD + LOCOMO_KCMD); 631 locomo_writel(0x1, lchip->base + LOCOMO_KEYBOARD + LOCOMO_KCMD);
629 632
630 spin_unlock_irqrestore(&lchip->lock, flags); 633 spin_unlock_irqrestore(&lchip->lock, flags);
634
635 lchip->saved_state = NULL;
631 kfree(save); 636 kfree(save);
632 637
633 return 0; 638 return 0;
diff --git a/arch/arm/common/sa1111.c b/arch/arm/common/sa1111.c
index 798bbfccafb7..eb06d0b2cb74 100644
--- a/arch/arm/common/sa1111.c
+++ b/arch/arm/common/sa1111.c
@@ -51,6 +51,9 @@ struct sa1111 {
51 int irq; 51 int irq;
52 spinlock_t lock; 52 spinlock_t lock;
53 void __iomem *base; 53 void __iomem *base;
54#ifdef CONFIG_PM
55 void *saved_state;
56#endif
54}; 57};
55 58
56/* 59/*
@@ -822,7 +825,7 @@ static int sa1111_suspend(struct platform_device *dev, pm_message_t state)
822 save = kmalloc(sizeof(struct sa1111_save_data), GFP_KERNEL); 825 save = kmalloc(sizeof(struct sa1111_save_data), GFP_KERNEL);
823 if (!save) 826 if (!save)
824 return -ENOMEM; 827 return -ENOMEM;
825 dev->dev.power.saved_state = save; 828 sachip->saved_state = save;
826 829
827 spin_lock_irqsave(&sachip->lock, flags); 830 spin_lock_irqsave(&sachip->lock, flags);
828 831
@@ -878,7 +881,7 @@ static int sa1111_resume(struct platform_device *dev)
878 unsigned long flags, id; 881 unsigned long flags, id;
879 void __iomem *base; 882 void __iomem *base;
880 883
881 save = (struct sa1111_save_data *)dev->dev.power.saved_state; 884 save = sachip->saved_state;
882 if (!save) 885 if (!save)
883 return 0; 886 return 0;
884 887
@@ -923,7 +926,7 @@ static int sa1111_resume(struct platform_device *dev)
923 926
924 spin_unlock_irqrestore(&sachip->lock, flags); 927 spin_unlock_irqrestore(&sachip->lock, flags);
925 928
926 dev->dev.power.saved_state = NULL; 929 sachip->saved_state = NULL;
927 kfree(save); 930 kfree(save);
928 931
929 return 0; 932 return 0;
@@ -958,8 +961,8 @@ static int sa1111_remove(struct platform_device *pdev)
958 platform_set_drvdata(pdev, NULL); 961 platform_set_drvdata(pdev, NULL);
959 962
960#ifdef CONFIG_PM 963#ifdef CONFIG_PM
961 kfree(pdev->dev.power.saved_state); 964 kfree(sachip->saved_state);
962 pdev->dev.power.saved_state = NULL; 965 sachip->saved_state = NULL;
963#endif 966#endif
964 } 967 }
965 968
diff --git a/arch/arm/kernel/calls.S b/arch/arm/kernel/calls.S
index 19326d7cdeb3..a98d0c933db0 100644
--- a/arch/arm/kernel/calls.S
+++ b/arch/arm/kernel/calls.S
@@ -350,7 +350,7 @@
350 CALL(sys_set_robust_list) 350 CALL(sys_set_robust_list)
351 CALL(sys_get_robust_list) 351 CALL(sys_get_robust_list)
352/* 340 */ CALL(sys_splice) 352/* 340 */ CALL(sys_splice)
353 CALL(sys_arm_sync_file_range) 353 CALL(sys_sync_file_range2)
354 CALL(sys_tee) 354 CALL(sys_tee)
355 CALL(sys_vmsplice) 355 CALL(sys_vmsplice)
356 CALL(sys_move_pages) 356 CALL(sys_move_pages)
diff --git a/arch/arm/kernel/process.c b/arch/arm/kernel/process.c
index 5d6e6523598b..842361777d4e 100644
--- a/arch/arm/kernel/process.c
+++ b/arch/arm/kernel/process.c
@@ -28,6 +28,7 @@
28#include <linux/elfcore.h> 28#include <linux/elfcore.h>
29#include <linux/pm.h> 29#include <linux/pm.h>
30#include <linux/tick.h> 30#include <linux/tick.h>
31#include <linux/utsname.h>
31 32
32#include <asm/leds.h> 33#include <asm/leds.h>
33#include <asm/processor.h> 34#include <asm/processor.h>
@@ -199,16 +200,19 @@ void machine_restart(char * __unused)
199 200
200void __show_regs(struct pt_regs *regs) 201void __show_regs(struct pt_regs *regs)
201{ 202{
202 unsigned long flags = condition_codes(regs); 203 unsigned long flags;
204 char buf[64];
203 205
204 printk("CPU: %d\n", smp_processor_id()); 206 printk("CPU: %d %s (%s %.*s)\n",
207 smp_processor_id(), print_tainted(), init_utsname()->release,
208 (int)strcspn(init_utsname()->version, " "),
209 init_utsname()->version);
205 print_symbol("PC is at %s\n", instruction_pointer(regs)); 210 print_symbol("PC is at %s\n", instruction_pointer(regs));
206 print_symbol("LR is at %s\n", regs->ARM_lr); 211 print_symbol("LR is at %s\n", regs->ARM_lr);
207 printk("pc : [<%08lx>] lr : [<%08lx>] %s\n" 212 printk("pc : [<%08lx>] lr : [<%08lx>] psr: %08lx\n"
208 "sp : %08lx ip : %08lx fp : %08lx\n", 213 "sp : %08lx ip : %08lx fp : %08lx\n",
209 instruction_pointer(regs), 214 regs->ARM_pc, regs->ARM_lr, regs->ARM_cpsr,
210 regs->ARM_lr, print_tainted(), regs->ARM_sp, 215 regs->ARM_sp, regs->ARM_ip, regs->ARM_fp);
211 regs->ARM_ip, regs->ARM_fp);
212 printk("r10: %08lx r9 : %08lx r8 : %08lx\n", 216 printk("r10: %08lx r9 : %08lx r8 : %08lx\n",
213 regs->ARM_r10, regs->ARM_r9, 217 regs->ARM_r10, regs->ARM_r9,
214 regs->ARM_r8); 218 regs->ARM_r8);
@@ -218,36 +222,39 @@ void __show_regs(struct pt_regs *regs)
218 printk("r3 : %08lx r2 : %08lx r1 : %08lx r0 : %08lx\n", 222 printk("r3 : %08lx r2 : %08lx r1 : %08lx r0 : %08lx\n",
219 regs->ARM_r3, regs->ARM_r2, 223 regs->ARM_r3, regs->ARM_r2,
220 regs->ARM_r1, regs->ARM_r0); 224 regs->ARM_r1, regs->ARM_r0);
221 printk("Flags: %c%c%c%c", 225
222 flags & PSR_N_BIT ? 'N' : 'n', 226 flags = regs->ARM_cpsr;
223 flags & PSR_Z_BIT ? 'Z' : 'z', 227 buf[0] = flags & PSR_N_BIT ? 'N' : 'n';
224 flags & PSR_C_BIT ? 'C' : 'c', 228 buf[1] = flags & PSR_Z_BIT ? 'Z' : 'z';
225 flags & PSR_V_BIT ? 'V' : 'v'); 229 buf[2] = flags & PSR_C_BIT ? 'C' : 'c';
226 printk(" IRQs o%s FIQs o%s Mode %s%s Segment %s\n", 230 buf[3] = flags & PSR_V_BIT ? 'V' : 'v';
227 interrupts_enabled(regs) ? "n" : "ff", 231 buf[4] = '\0';
232
233 printk("Flags: %s IRQs o%s FIQs o%s Mode %s%s Segment %s\n",
234 buf, interrupts_enabled(regs) ? "n" : "ff",
228 fast_interrupts_enabled(regs) ? "n" : "ff", 235 fast_interrupts_enabled(regs) ? "n" : "ff",
229 processor_modes[processor_mode(regs)], 236 processor_modes[processor_mode(regs)],
230 thumb_mode(regs) ? " (T)" : "", 237 thumb_mode(regs) ? " (T)" : "",
231 get_fs() == get_ds() ? "kernel" : "user"); 238 get_fs() == get_ds() ? "kernel" : "user");
232#if CONFIG_CPU_CP15 239#ifdef CONFIG_CPU_CP15
233 { 240 {
234 unsigned int ctrl; 241 unsigned int ctrl;
235 __asm__ ( 242
236 " mrc p15, 0, %0, c1, c0\n" 243 buf[0] = '\0';
237 : "=r" (ctrl));
238 printk("Control: %04X\n", ctrl);
239 }
240#ifdef CONFIG_CPU_CP15_MMU 244#ifdef CONFIG_CPU_CP15_MMU
241 { 245 {
242 unsigned int transbase, dac; 246 unsigned int transbase, dac;
243 __asm__ ( 247 asm("mrc p15, 0, %0, c2, c0\n\t"
244 " mrc p15, 0, %0, c2, c0\n" 248 "mrc p15, 0, %1, c3, c0\n"
245 " mrc p15, 0, %1, c3, c0\n" 249 : "=r" (transbase), "=r" (dac));
246 : "=r" (transbase), "=r" (dac)); 250 snprintf(buf, sizeof(buf), " Table: %08x DAC: %08x",
247 printk("Table: %08X DAC: %08X\n", 251 transbase, dac);
248 transbase, dac); 252 }
249 }
250#endif 253#endif
254 asm("mrc p15, 0, %0, c1, c0\n" : "=r" (ctrl));
255
256 printk("Control: %08x%s\n", ctrl, buf);
257 }
251#endif 258#endif
252} 259}
253 260
diff --git a/arch/arm/kernel/sys_arm.c b/arch/arm/kernel/sys_arm.c
index 1ca2d5174fcb..4d25e49a14f7 100644
--- a/arch/arm/kernel/sys_arm.c
+++ b/arch/arm/kernel/sys_arm.c
@@ -328,16 +328,3 @@ asmlinkage long sys_arm_fadvise64_64(int fd, int advice,
328{ 328{
329 return sys_fadvise64_64(fd, offset, len, advice); 329 return sys_fadvise64_64(fd, offset, len, advice);
330} 330}
331
332/*
333 * Yet more syscall fsckage - we can't fit sys_sync_file_range's
334 * arguments into the available registers with EABI. So, let's
335 * create an ARM specific syscall for this which has _sane_
336 * arguments. (This incidentally also has an ABI-independent
337 * argument layout.)
338 */
339asmlinkage long sys_arm_sync_file_range(int fd, unsigned int flags,
340 loff_t offset, loff_t nbytes)
341{
342 return sys_sync_file_range(fd, offset, nbytes, flags);
343}
diff --git a/arch/arm/kernel/traps.c b/arch/arm/kernel/traps.c
index 10ff36e4e414..237f4999b9a1 100644
--- a/arch/arm/kernel/traps.c
+++ b/arch/arm/kernel/traps.c
@@ -181,9 +181,7 @@ static void dump_backtrace(struct pt_regs *regs, struct task_struct *tsk)
181 181
182void dump_stack(void) 182void dump_stack(void)
183{ 183{
184#ifdef CONFIG_DEBUG_ERRORS
185 __backtrace(); 184 __backtrace();
186#endif
187} 185}
188 186
189EXPORT_SYMBOL(dump_stack); 187EXPORT_SYMBOL(dump_stack);
@@ -204,12 +202,24 @@ void show_stack(struct task_struct *tsk, unsigned long *sp)
204 barrier(); 202 barrier();
205} 203}
206 204
205#ifdef CONFIG_PREEMPT
206#define S_PREEMPT " PREEMPT"
207#else
208#define S_PREEMPT ""
209#endif
210#ifdef CONFIG_SMP
211#define S_SMP " SMP"
212#else
213#define S_SMP ""
214#endif
215
207static void __die(const char *str, int err, struct thread_info *thread, struct pt_regs *regs) 216static void __die(const char *str, int err, struct thread_info *thread, struct pt_regs *regs)
208{ 217{
209 struct task_struct *tsk = thread->task; 218 struct task_struct *tsk = thread->task;
210 static int die_counter; 219 static int die_counter;
211 220
212 printk("Internal error: %s: %x [#%d]\n", str, err, ++die_counter); 221 printk("Internal error: %s: %x [#%d]" S_PREEMPT S_SMP "\n",
222 str, err, ++die_counter);
213 print_modules(); 223 print_modules();
214 __show_regs(regs); 224 __show_regs(regs);
215 printk("Process %s (pid: %d, stack limit = 0x%p)\n", 225 printk("Process %s (pid: %d, stack limit = 0x%p)\n",
@@ -232,6 +242,8 @@ NORET_TYPE void die(const char *str, struct pt_regs *regs, int err)
232{ 242{
233 struct thread_info *thread = current_thread_info(); 243 struct thread_info *thread = current_thread_info();
234 244
245 oops_enter();
246
235 console_verbose(); 247 console_verbose();
236 spin_lock_irq(&die_lock); 248 spin_lock_irq(&die_lock);
237 bust_spinlocks(1); 249 bust_spinlocks(1);
@@ -239,9 +251,13 @@ NORET_TYPE void die(const char *str, struct pt_regs *regs, int err)
239 bust_spinlocks(0); 251 bust_spinlocks(0);
240 spin_unlock_irq(&die_lock); 252 spin_unlock_irq(&die_lock);
241 253
254 if (in_interrupt())
255 panic("Fatal exception in interrupt");
256
242 if (panic_on_oops) 257 if (panic_on_oops)
243 panic("Fatal exception"); 258 panic("Fatal exception");
244 259
260 oops_exit();
245 do_exit(SIGSEGV); 261 do_exit(SIGSEGV);
246} 262}
247 263
diff --git a/arch/arm/mach-at91/pm.c b/arch/arm/mach-at91/pm.c
index 47ff676aca5f..ddf9184d561d 100644
--- a/arch/arm/mach-at91/pm.c
+++ b/arch/arm/mach-at91/pm.c
@@ -53,7 +53,7 @@ static suspend_state_t target_state;
53/* 53/*
54 * Called after processes are frozen, but before we shutdown devices. 54 * Called after processes are frozen, but before we shutdown devices.
55 */ 55 */
56static int at91_pm_prepare(suspend_state_t state) 56static int at91_pm_set_target(suspend_state_t state)
57{ 57{
58 target_state = state; 58 target_state = state;
59 return 0; 59 return 0;
@@ -201,7 +201,7 @@ error:
201 201
202static struct pm_ops at91_pm_ops ={ 202static struct pm_ops at91_pm_ops ={
203 .valid = at91_pm_valid_state, 203 .valid = at91_pm_valid_state,
204 .prepare = at91_pm_prepare, 204 .set_target = at91_pm_set_target,
205 .enter = at91_pm_enter, 205 .enter = at91_pm_enter,
206}; 206};
207 207
diff --git a/arch/arm/mach-pxa/pxa27x.c b/arch/arm/mach-pxa/pxa27x.c
index c64bab49efc4..1939acc3f9f7 100644
--- a/arch/arm/mach-pxa/pxa27x.c
+++ b/arch/arm/mach-pxa/pxa27x.c
@@ -140,9 +140,9 @@ void pxa_cpu_pm_enter(suspend_state_t state)
140 extern void pxa_cpu_resume(void); 140 extern void pxa_cpu_resume(void);
141 141
142 if (state == PM_SUSPEND_STANDBY) 142 if (state == PM_SUSPEND_STANDBY)
143 CKEN = CKEN_MEMC | CKEN_OSTIMER | CKEN_LCD | CKEN_PWM0; 143 CKEN = (1 << CKEN_MEMC) | (1 << CKEN_OSTIMER) | (1 << CKEN_LCD) | (1 << CKEN_PWM0);
144 else 144 else
145 CKEN = CKEN_MEMC | CKEN_OSTIMER; 145 CKEN = (1 << CKEN_MEMC) | (1 << CKEN_OSTIMER);
146 146
147 /* ensure voltage-change sequencer not initiated, which hangs */ 147 /* ensure voltage-change sequencer not initiated, which hangs */
148 PCFR &= ~PCFR_FVC; 148 PCFR &= ~PCFR_FVC;
diff --git a/arch/arm/mach-sa1100/neponset.c b/arch/arm/mach-sa1100/neponset.c
index 4cbf9468f654..3a0a1ee2542d 100644
--- a/arch/arm/mach-sa1100/neponset.c
+++ b/arch/arm/mach-sa1100/neponset.c
@@ -185,28 +185,21 @@ static int __devinit neponset_probe(struct platform_device *dev)
185/* 185/*
186 * LDM power management. 186 * LDM power management.
187 */ 187 */
188static unsigned int neponset_saved_state;
189
188static int neponset_suspend(struct platform_device *dev, pm_message_t state) 190static int neponset_suspend(struct platform_device *dev, pm_message_t state)
189{ 191{
190 /* 192 /*
191 * Save state. 193 * Save state.
192 */ 194 */
193 if (!dev->dev.power.saved_state) 195 neponset_saved_state = NCR_0;
194 dev->dev.power.saved_state = kmalloc(sizeof(unsigned int), GFP_KERNEL);
195 if (!dev->dev.power.saved_state)
196 return -ENOMEM;
197
198 *(unsigned int *)dev->dev.power.saved_state = NCR_0;
199 196
200 return 0; 197 return 0;
201} 198}
202 199
203static int neponset_resume(struct platform_device *dev) 200static int neponset_resume(struct platform_device *dev)
204{ 201{
205 if (dev->dev.power.saved_state) { 202 NCR_0 = neponset_saved_state;
206 NCR_0 = *(unsigned int *)dev->dev.power.saved_state;
207 kfree(dev->dev.power.saved_state);
208 dev->dev.power.saved_state = NULL;
209 }
210 203
211 return 0; 204 return 0;
212} 205}
diff --git a/arch/arm/mach-versatile/pci.c b/arch/arm/mach-versatile/pci.c
index ba58223f12be..ca8290159432 100644
--- a/arch/arm/mach-versatile/pci.c
+++ b/arch/arm/mach-versatile/pci.c
@@ -117,7 +117,10 @@ static int versatile_read_config(struct pci_bus *bus, unsigned int devfn, int wh
117 } else { 117 } else {
118 switch (size) { 118 switch (size) {
119 case 1: 119 case 1:
120 v = __raw_readb(addr); 120 v = __raw_readl(addr);
121 if (where & 2) v >>= 16;
122 if (where & 1) v >>= 8;
123 v &= 0xff;
121 break; 124 break;
122 125
123 case 2: 126 case 2:
diff --git a/arch/arm/mm/mmu.c b/arch/arm/mm/mmu.c
index 02e050ae59f6..3b5e47dc0c97 100644
--- a/arch/arm/mm/mmu.c
+++ b/arch/arm/mm/mmu.c
@@ -527,9 +527,9 @@ void __init create_mapping(struct map_desc *md)
527 return; 527 return;
528 } 528 }
529 529
530 addr = md->virtual; 530 addr = md->virtual & PAGE_MASK;
531 phys = (unsigned long)__pfn_to_phys(md->pfn); 531 phys = (unsigned long)__pfn_to_phys(md->pfn);
532 length = PAGE_ALIGN(md->length); 532 length = PAGE_ALIGN(md->length + (md->virtual & ~PAGE_MASK));
533 533
534 if (type->prot_l1 == 0 && ((addr | phys | length) & ~SECTION_MASK)) { 534 if (type->prot_l1 == 0 && ((addr | phys | length) & ~SECTION_MASK)) {
535 printk(KERN_WARNING "BUG: map for 0x%08lx at 0x%08lx can not " 535 printk(KERN_WARNING "BUG: map for 0x%08lx at 0x%08lx can not "
diff --git a/arch/avr32/boards/atngw100/setup.c b/arch/avr32/boards/atngw100/setup.c
index 9bc37d4f6687..6c4dc0a00e9f 100644
--- a/arch/avr32/boards/atngw100/setup.c
+++ b/arch/avr32/boards/atngw100/setup.c
@@ -94,9 +94,6 @@ static void __init set_hw_addr(struct platform_device *pdev)
94 clk_put(pclk); 94 clk_put(pclk);
95} 95}
96 96
97struct platform_device *at32_usart_map[1];
98unsigned int at32_nr_usarts = 1;
99
100void __init setup_board(void) 97void __init setup_board(void)
101{ 98{
102 at32_map_usart(1, 0); /* USART 1: /dev/ttyS0, DB9 */ 99 at32_map_usart(1, 0); /* USART 1: /dev/ttyS0, DB9 */
diff --git a/arch/avr32/configs/atngw100_defconfig b/arch/avr32/configs/atngw100_defconfig
index c254ffcfa458..49493ad3b5a9 100644
--- a/arch/avr32/configs/atngw100_defconfig
+++ b/arch/avr32/configs/atngw100_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.21-rc6 3# Linux kernel version: 2.6.22-rc5
4# Thu Apr 12 16:35:07 2007 4# Sat Jun 23 15:40:05 2007
5# 5#
6CONFIG_AVR32=y 6CONFIG_AVR32=y
7CONFIG_GENERIC_GPIO=y 7CONFIG_GENERIC_GPIO=y
@@ -40,6 +40,7 @@ CONFIG_BSD_PROCESS_ACCT_V3=y
40# CONFIG_UTS_NS is not set 40# CONFIG_UTS_NS is not set
41# CONFIG_AUDIT is not set 41# CONFIG_AUDIT is not set
42# CONFIG_IKCONFIG is not set 42# CONFIG_IKCONFIG is not set
43CONFIG_LOG_BUF_SHIFT=14
43CONFIG_SYSFS_DEPRECATED=y 44CONFIG_SYSFS_DEPRECATED=y
44# CONFIG_RELAY is not set 45# CONFIG_RELAY is not set
45CONFIG_BLK_DEV_INITRD=y 46CONFIG_BLK_DEV_INITRD=y
@@ -57,14 +58,20 @@ CONFIG_BUG=y
57CONFIG_ELF_CORE=y 58CONFIG_ELF_CORE=y
58# CONFIG_BASE_FULL is not set 59# CONFIG_BASE_FULL is not set
59CONFIG_FUTEX=y 60CONFIG_FUTEX=y
61CONFIG_ANON_INODES=y
60CONFIG_EPOLL=y 62CONFIG_EPOLL=y
63CONFIG_SIGNALFD=y
64CONFIG_TIMERFD=y
65CONFIG_EVENTFD=y
61CONFIG_SHMEM=y 66CONFIG_SHMEM=y
62CONFIG_SLAB=y
63CONFIG_VM_EVENT_COUNTERS=y 67CONFIG_VM_EVENT_COUNTERS=y
68# CONFIG_SLUB_DEBUG is not set
69# CONFIG_SLAB is not set
70CONFIG_SLUB=y
71# CONFIG_SLOB is not set
64CONFIG_RT_MUTEXES=y 72CONFIG_RT_MUTEXES=y
65# CONFIG_TINY_SHMEM is not set 73# CONFIG_TINY_SHMEM is not set
66CONFIG_BASE_SMALL=1 74CONFIG_BASE_SMALL=1
67# CONFIG_SLOB is not set
68 75
69# 76#
70# Loadable module support 77# Loadable module support
@@ -148,6 +155,7 @@ CONFIG_CMDLINE=""
148# 155#
149# Bus options 156# Bus options
150# 157#
158# CONFIG_ARCH_SUPPORTS_MSI is not set
151 159
152# 160#
153# PCCARD (PCMCIA/CardBus) support 161# PCCARD (PCMCIA/CardBus) support
@@ -168,7 +176,6 @@ CONFIG_NET=y
168# 176#
169# Networking options 177# Networking options
170# 178#
171# CONFIG_NETDEBUG is not set
172CONFIG_PACKET=y 179CONFIG_PACKET=y
173CONFIG_PACKET_MMAP=y 180CONFIG_PACKET_MMAP=y
174CONFIG_UNIX=y 181CONFIG_UNIX=y
@@ -212,14 +219,11 @@ CONFIG_INET_TCP_DIAG=y
212CONFIG_TCP_CONG_CUBIC=y 219CONFIG_TCP_CONG_CUBIC=y
213CONFIG_DEFAULT_TCP_CONG="cubic" 220CONFIG_DEFAULT_TCP_CONG="cubic"
214# CONFIG_TCP_MD5SIG is not set 221# CONFIG_TCP_MD5SIG is not set
215
216#
217# IP: Virtual Server Configuration
218#
219# CONFIG_IP_VS is not set 222# CONFIG_IP_VS is not set
220CONFIG_IPV6=y 223CONFIG_IPV6=y
221# CONFIG_IPV6_PRIVACY is not set 224# CONFIG_IPV6_PRIVACY is not set
222# CONFIG_IPV6_ROUTER_PREF is not set 225# CONFIG_IPV6_ROUTER_PREF is not set
226# CONFIG_IPV6_OPTIMISTIC_DAD is not set
223CONFIG_INET6_AH=y 227CONFIG_INET6_AH=y
224CONFIG_INET6_ESP=y 228CONFIG_INET6_ESP=y
225CONFIG_INET6_IPCOMP=y 229CONFIG_INET6_IPCOMP=y
@@ -242,8 +246,6 @@ CONFIG_NETFILTER=y
242# 246#
243# CONFIG_NETFILTER_NETLINK is not set 247# CONFIG_NETFILTER_NETLINK is not set
244CONFIG_NF_CONNTRACK_ENABLED=m 248CONFIG_NF_CONNTRACK_ENABLED=m
245CONFIG_NF_CONNTRACK_SUPPORT=y
246# CONFIG_IP_NF_CONNTRACK_SUPPORT is not set
247CONFIG_NF_CONNTRACK=m 249CONFIG_NF_CONNTRACK=m
248CONFIG_NF_CT_ACCT=y 250CONFIG_NF_CT_ACCT=y
249CONFIG_NF_CONNTRACK_MARK=y 251CONFIG_NF_CONNTRACK_MARK=y
@@ -357,20 +359,8 @@ CONFIG_IP6_NF_TARGET_REJECT=m
357CONFIG_IP6_NF_MANGLE=m 359CONFIG_IP6_NF_MANGLE=m
358CONFIG_IP6_NF_TARGET_HL=m 360CONFIG_IP6_NF_TARGET_HL=m
359CONFIG_IP6_NF_RAW=m 361CONFIG_IP6_NF_RAW=m
360
361#
362# DCCP Configuration (EXPERIMENTAL)
363#
364# CONFIG_IP_DCCP is not set 362# CONFIG_IP_DCCP is not set
365
366#
367# SCTP Configuration (EXPERIMENTAL)
368#
369# CONFIG_IP_SCTP is not set 363# CONFIG_IP_SCTP is not set
370
371#
372# TIPC Configuration (EXPERIMENTAL)
373#
374# CONFIG_TIPC is not set 364# CONFIG_TIPC is not set
375# CONFIG_ATM is not set 365# CONFIG_ATM is not set
376# CONFIG_BRIDGE is not set 366# CONFIG_BRIDGE is not set
@@ -397,7 +387,16 @@ CONFIG_NET_CLS_ROUTE=y
397# CONFIG_HAMRADIO is not set 387# CONFIG_HAMRADIO is not set
398# CONFIG_IRDA is not set 388# CONFIG_IRDA is not set
399# CONFIG_BT is not set 389# CONFIG_BT is not set
390# CONFIG_AF_RXRPC is not set
391
392#
393# Wireless
394#
395# CONFIG_CFG80211 is not set
396# CONFIG_WIRELESS_EXT is not set
397# CONFIG_MAC80211 is not set
400# CONFIG_IEEE80211 is not set 398# CONFIG_IEEE80211 is not set
399# CONFIG_RFKILL is not set
401 400
402# 401#
403# Device Drivers 402# Device Drivers
@@ -417,10 +416,6 @@ CONFIG_STANDALONE=y
417# Connector - unified userspace <-> kernelspace linker 416# Connector - unified userspace <-> kernelspace linker
418# 417#
419# CONFIG_CONNECTOR is not set 418# CONFIG_CONNECTOR is not set
420
421#
422# Memory Technology Devices (MTD)
423#
424CONFIG_MTD=y 419CONFIG_MTD=y
425# CONFIG_MTD_DEBUG is not set 420# CONFIG_MTD_DEBUG is not set
426# CONFIG_MTD_CONCAT is not set 421# CONFIG_MTD_CONCAT is not set
@@ -464,7 +459,6 @@ CONFIG_MTD_CFI_UTIL=y
464# CONFIG_MTD_RAM is not set 459# CONFIG_MTD_RAM is not set
465# CONFIG_MTD_ROM is not set 460# CONFIG_MTD_ROM is not set
466# CONFIG_MTD_ABSENT is not set 461# CONFIG_MTD_ABSENT is not set
467# CONFIG_MTD_OBSOLETE_CHIPS is not set
468 462
469# 463#
470# Mapping drivers for chip access 464# Mapping drivers for chip access
@@ -492,16 +486,13 @@ CONFIG_MTD_DATAFLASH=y
492# CONFIG_MTD_DOC2000 is not set 486# CONFIG_MTD_DOC2000 is not set
493# CONFIG_MTD_DOC2001 is not set 487# CONFIG_MTD_DOC2001 is not set
494# CONFIG_MTD_DOC2001PLUS is not set 488# CONFIG_MTD_DOC2001PLUS is not set
495
496#
497# NAND Flash Device Drivers
498#
499# CONFIG_MTD_NAND is not set 489# CONFIG_MTD_NAND is not set
490# CONFIG_MTD_ONENAND is not set
500 491
501# 492#
502# OneNAND Flash Device Drivers 493# UBI - Unsorted block images
503# 494#
504# CONFIG_MTD_ONENAND is not set 495# CONFIG_MTD_UBI is not set
505 496
506# 497#
507# Parallel port support 498# Parallel port support
@@ -530,10 +521,7 @@ CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
530# 521#
531# Misc devices 522# Misc devices
532# 523#
533 524# CONFIG_BLINK is not set
534#
535# ATA/ATAPI/MFM/RLL support
536#
537# CONFIG_IDE is not set 525# CONFIG_IDE is not set
538 526
539# 527#
@@ -542,10 +530,6 @@ CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
542# CONFIG_RAID_ATTRS is not set 530# CONFIG_RAID_ATTRS is not set
543# CONFIG_SCSI is not set 531# CONFIG_SCSI is not set
544# CONFIG_SCSI_NETLINK is not set 532# CONFIG_SCSI_NETLINK is not set
545
546#
547# Serial ATA (prod) and Parallel ATA (experimental) drivers
548#
549# CONFIG_ATA is not set 533# CONFIG_ATA is not set
550 534
551# 535#
@@ -554,19 +538,6 @@ CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
554# CONFIG_MD is not set 538# CONFIG_MD is not set
555 539
556# 540#
557# Fusion MPT device support
558#
559# CONFIG_FUSION is not set
560
561#
562# IEEE 1394 (FireWire) support
563#
564
565#
566# I2O device support
567#
568
569#
570# Network device support 541# Network device support
571# 542#
572CONFIG_NETDEVICES=y 543CONFIG_NETDEVICES=y
@@ -574,10 +545,6 @@ CONFIG_NETDEVICES=y
574# CONFIG_BONDING is not set 545# CONFIG_BONDING is not set
575# CONFIG_EQUALIZER is not set 546# CONFIG_EQUALIZER is not set
576CONFIG_TUN=m 547CONFIG_TUN=m
577
578#
579# PHY device support
580#
581# CONFIG_PHYLIB is not set 548# CONFIG_PHYLIB is not set
582 549
583# 550#
@@ -586,27 +553,14 @@ CONFIG_TUN=m
586CONFIG_NET_ETHERNET=y 553CONFIG_NET_ETHERNET=y
587CONFIG_MII=y 554CONFIG_MII=y
588CONFIG_MACB=y 555CONFIG_MACB=y
556# CONFIG_NETDEV_1000 is not set
557# CONFIG_NETDEV_10000 is not set
589 558
590# 559#
591# Ethernet (1000 Mbit) 560# Wireless LAN
592#
593
594#
595# Ethernet (10000 Mbit)
596#
597
598#
599# Token Ring devices
600#
601
602#
603# Wireless LAN (non-hamradio)
604#
605# CONFIG_NET_RADIO is not set
606
607#
608# Wan interfaces
609# 561#
562# CONFIG_WLAN_PRE80211 is not set
563# CONFIG_WLAN_80211 is not set
610# CONFIG_WAN is not set 564# CONFIG_WAN is not set
611CONFIG_PPP=m 565CONFIG_PPP=m
612# CONFIG_PPP_MULTILINK is not set 566# CONFIG_PPP_MULTILINK is not set
@@ -671,15 +625,10 @@ CONFIG_UNIX98_PTYS=y
671# IPMI 625# IPMI
672# 626#
673# CONFIG_IPMI_HANDLER is not set 627# CONFIG_IPMI_HANDLER is not set
674
675#
676# Watchdog Cards
677#
678# CONFIG_WATCHDOG is not set 628# CONFIG_WATCHDOG is not set
679# CONFIG_HW_RANDOM is not set 629# CONFIG_HW_RANDOM is not set
680# CONFIG_RTC is not set 630# CONFIG_RTC is not set
681# CONFIG_GEN_RTC is not set 631# CONFIG_GEN_RTC is not set
682# CONFIG_DTLK is not set
683# CONFIG_R3964 is not set 632# CONFIG_R3964 is not set
684# CONFIG_RAW_DRIVER is not set 633# CONFIG_RAW_DRIVER is not set
685 634
@@ -687,10 +636,6 @@ CONFIG_UNIX98_PTYS=y
687# TPM devices 636# TPM devices
688# 637#
689# CONFIG_TCG_TPM is not set 638# CONFIG_TCG_TPM is not set
690
691#
692# I2C support
693#
694# CONFIG_I2C is not set 639# CONFIG_I2C is not set
695 640
696# 641#
@@ -710,17 +655,13 @@ CONFIG_SPI_ATMEL=y
710# SPI Protocol Masters 655# SPI Protocol Masters
711# 656#
712# CONFIG_SPI_AT25 is not set 657# CONFIG_SPI_AT25 is not set
658# CONFIG_SPI_SPIDEV is not set
713 659
714# 660#
715# Dallas's 1-wire bus 661# Dallas's 1-wire bus
716# 662#
717# CONFIG_W1 is not set 663# CONFIG_W1 is not set
718
719#
720# Hardware Monitoring support
721#
722# CONFIG_HWMON is not set 664# CONFIG_HWMON is not set
723# CONFIG_HWMON_VID is not set
724 665
725# 666#
726# Multifunction device drivers 667# Multifunction device drivers
@@ -731,16 +672,19 @@ CONFIG_SPI_ATMEL=y
731# Multimedia devices 672# Multimedia devices
732# 673#
733# CONFIG_VIDEO_DEV is not set 674# CONFIG_VIDEO_DEV is not set
675# CONFIG_DVB_CORE is not set
676# CONFIG_DAB is not set
734 677
735# 678#
736# Digital Video Broadcasting Devices 679# Graphics support
737# 680#
738# CONFIG_DVB is not set 681# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
739 682
740# 683#
741# Graphics support 684# Display device support
742# 685#
743# CONFIG_BACKLIGHT_LCD_SUPPORT is not set 686# CONFIG_DISPLAY_SUPPORT is not set
687# CONFIG_VGASTATE is not set
744# CONFIG_FB is not set 688# CONFIG_FB is not set
745 689
746# 690#
@@ -763,10 +707,6 @@ CONFIG_SPI_ATMEL=y
763# USB Gadget Support 707# USB Gadget Support
764# 708#
765# CONFIG_USB_GADGET is not set 709# CONFIG_USB_GADGET is not set
766
767#
768# MMC/SD Card support
769#
770# CONFIG_MMC is not set 710# CONFIG_MMC is not set
771 711
772# 712#
@@ -809,14 +749,6 @@ CONFIG_SPI_ATMEL=y
809# 749#
810 750
811# 751#
812# Auxiliary Display support
813#
814
815#
816# Virtualization
817#
818
819#
820# File systems 752# File systems
821# 753#
822CONFIG_EXT2_FS=y 754CONFIG_EXT2_FS=y
@@ -911,6 +843,7 @@ CONFIG_LOCKD=y
911CONFIG_LOCKD_V4=y 843CONFIG_LOCKD_V4=y
912CONFIG_NFS_COMMON=y 844CONFIG_NFS_COMMON=y
913CONFIG_SUNRPC=y 845CONFIG_SUNRPC=y
846# CONFIG_SUNRPC_BIND34 is not set
914# CONFIG_RPCSEC_GSS_KRB5 is not set 847# CONFIG_RPCSEC_GSS_KRB5 is not set
915# CONFIG_RPCSEC_GSS_SPKM3 is not set 848# CONFIG_RPCSEC_GSS_SPKM3 is not set
916CONFIG_SMB_FS=m 849CONFIG_SMB_FS=m
@@ -993,11 +926,9 @@ CONFIG_MAGIC_SYSRQ=y
993# CONFIG_HEADERS_CHECK is not set 926# CONFIG_HEADERS_CHECK is not set
994CONFIG_DEBUG_KERNEL=y 927CONFIG_DEBUG_KERNEL=y
995# CONFIG_DEBUG_SHIRQ is not set 928# CONFIG_DEBUG_SHIRQ is not set
996CONFIG_LOG_BUF_SHIFT=14
997CONFIG_DETECT_SOFTLOCKUP=y 929CONFIG_DETECT_SOFTLOCKUP=y
998# CONFIG_SCHEDSTATS is not set 930# CONFIG_SCHEDSTATS is not set
999# CONFIG_TIMER_STATS is not set 931# CONFIG_TIMER_STATS is not set
1000# CONFIG_DEBUG_SLAB is not set
1001# CONFIG_DEBUG_RT_MUTEXES is not set 932# CONFIG_DEBUG_RT_MUTEXES is not set
1002# CONFIG_RT_MUTEX_TESTER is not set 933# CONFIG_RT_MUTEX_TESTER is not set
1003# CONFIG_DEBUG_SPINLOCK is not set 934# CONFIG_DEBUG_SPINLOCK is not set
@@ -1044,6 +975,7 @@ CONFIG_CRYPTO_ECB=m
1044CONFIG_CRYPTO_CBC=y 975CONFIG_CRYPTO_CBC=y
1045CONFIG_CRYPTO_PCBC=m 976CONFIG_CRYPTO_PCBC=m
1046# CONFIG_CRYPTO_LRW is not set 977# CONFIG_CRYPTO_LRW is not set
978# CONFIG_CRYPTO_CRYPTD is not set
1047CONFIG_CRYPTO_DES=y 979CONFIG_CRYPTO_DES=y
1048# CONFIG_CRYPTO_FCRYPT is not set 980# CONFIG_CRYPTO_FCRYPT is not set
1049# CONFIG_CRYPTO_BLOWFISH is not set 981# CONFIG_CRYPTO_BLOWFISH is not set
@@ -1072,6 +1004,7 @@ CONFIG_CRYPTO_DEFLATE=y
1072CONFIG_BITREVERSE=y 1004CONFIG_BITREVERSE=y
1073CONFIG_CRC_CCITT=m 1005CONFIG_CRC_CCITT=m
1074# CONFIG_CRC16 is not set 1006# CONFIG_CRC16 is not set
1007# CONFIG_CRC_ITU_T is not set
1075CONFIG_CRC32=y 1008CONFIG_CRC32=y
1076# CONFIG_LIBCRC32C is not set 1009# CONFIG_LIBCRC32C is not set
1077CONFIG_ZLIB_INFLATE=y 1010CONFIG_ZLIB_INFLATE=y
@@ -1083,3 +1016,4 @@ CONFIG_TEXTSEARCH_FSM=m
1083CONFIG_PLIST=y 1016CONFIG_PLIST=y
1084CONFIG_HAS_IOMEM=y 1017CONFIG_HAS_IOMEM=y
1085CONFIG_HAS_IOPORT=y 1018CONFIG_HAS_IOPORT=y
1019CONFIG_HAS_DMA=y
diff --git a/arch/avr32/configs/atstk1002_defconfig b/arch/avr32/configs/atstk1002_defconfig
index 77dace9d54bc..3b977fdbaa78 100644
--- a/arch/avr32/configs/atstk1002_defconfig
+++ b/arch/avr32/configs/atstk1002_defconfig
@@ -1,9 +1,10 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.20-rc6 3# Linux kernel version: 2.6.22-rc5
4# Fri Jan 26 13:12:59 2007 4# Sat Jun 23 15:32:08 2007
5# 5#
6CONFIG_AVR32=y 6CONFIG_AVR32=y
7CONFIG_GENERIC_GPIO=y
7CONFIG_GENERIC_HARDIRQS=y 8CONFIG_GENERIC_HARDIRQS=y
8CONFIG_HARDIRQS_SW_RESEND=y 9CONFIG_HARDIRQS_SW_RESEND=y
9CONFIG_GENERIC_IRQ_PROBE=y 10CONFIG_GENERIC_IRQ_PROBE=y
@@ -13,6 +14,7 @@ CONFIG_GENERIC_TIME=y
13# CONFIG_ARCH_HAS_ILOG2_U64 is not set 14# CONFIG_ARCH_HAS_ILOG2_U64 is not set
14CONFIG_GENERIC_HWEIGHT=y 15CONFIG_GENERIC_HWEIGHT=y
15CONFIG_GENERIC_CALIBRATE_DELAY=y 16CONFIG_GENERIC_CALIBRATE_DELAY=y
17CONFIG_GENERIC_BUG=y
16CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 18CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
17 19
18# 20#
@@ -30,19 +32,22 @@ CONFIG_LOCALVERSION=""
30CONFIG_SWAP=y 32CONFIG_SWAP=y
31CONFIG_SYSVIPC=y 33CONFIG_SYSVIPC=y
32# CONFIG_IPC_NS is not set 34# CONFIG_IPC_NS is not set
35CONFIG_SYSVIPC_SYSCTL=y
33CONFIG_POSIX_MQUEUE=y 36CONFIG_POSIX_MQUEUE=y
34CONFIG_BSD_PROCESS_ACCT=y 37CONFIG_BSD_PROCESS_ACCT=y
35CONFIG_BSD_PROCESS_ACCT_V3=y 38CONFIG_BSD_PROCESS_ACCT_V3=y
36CONFIG_TASKSTATS=y 39CONFIG_TASKSTATS=y
37CONFIG_TASK_DELAY_ACCT=y 40CONFIG_TASK_DELAY_ACCT=y
41# CONFIG_TASK_XACCT is not set
38# CONFIG_UTS_NS is not set 42# CONFIG_UTS_NS is not set
39CONFIG_AUDIT=y 43CONFIG_AUDIT=y
40# CONFIG_IKCONFIG is not set 44# CONFIG_IKCONFIG is not set
45CONFIG_LOG_BUF_SHIFT=14
41CONFIG_SYSFS_DEPRECATED=y 46CONFIG_SYSFS_DEPRECATED=y
42CONFIG_RELAY=y 47CONFIG_RELAY=y
48CONFIG_BLK_DEV_INITRD=y
43CONFIG_INITRAMFS_SOURCE="" 49CONFIG_INITRAMFS_SOURCE=""
44CONFIG_CC_OPTIMIZE_FOR_SIZE=y 50CONFIG_CC_OPTIMIZE_FOR_SIZE=y
45# CONFIG_TASK_XACCT is not set
46CONFIG_SYSCTL=y 51CONFIG_SYSCTL=y
47CONFIG_EMBEDDED=y 52CONFIG_EMBEDDED=y
48# CONFIG_SYSCTL_SYSCALL is not set 53# CONFIG_SYSCTL_SYSCALL is not set
@@ -55,14 +60,20 @@ CONFIG_BUG=y
55CONFIG_ELF_CORE=y 60CONFIG_ELF_CORE=y
56# CONFIG_BASE_FULL is not set 61# CONFIG_BASE_FULL is not set
57CONFIG_FUTEX=y 62CONFIG_FUTEX=y
63CONFIG_ANON_INODES=y
58CONFIG_EPOLL=y 64CONFIG_EPOLL=y
65CONFIG_SIGNALFD=y
66CONFIG_TIMERFD=y
67CONFIG_EVENTFD=y
59CONFIG_SHMEM=y 68CONFIG_SHMEM=y
60CONFIG_SLAB=y
61CONFIG_VM_EVENT_COUNTERS=y 69CONFIG_VM_EVENT_COUNTERS=y
70# CONFIG_SLUB_DEBUG is not set
71# CONFIG_SLAB is not set
72CONFIG_SLUB=y
73# CONFIG_SLOB is not set
62CONFIG_RT_MUTEXES=y 74CONFIG_RT_MUTEXES=y
63# CONFIG_TINY_SHMEM is not set 75# CONFIG_TINY_SHMEM is not set
64CONFIG_BASE_SMALL=1 76CONFIG_BASE_SMALL=1
65# CONFIG_SLOB is not set
66 77
67# 78#
68# Loadable module support 79# Loadable module support
@@ -105,7 +116,15 @@ CONFIG_PLATFORM_AT32AP=y
105CONFIG_CPU_AT32AP7000=y 116CONFIG_CPU_AT32AP7000=y
106CONFIG_BOARD_ATSTK1002=y 117CONFIG_BOARD_ATSTK1002=y
107CONFIG_BOARD_ATSTK1000=y 118CONFIG_BOARD_ATSTK1000=y
119# CONFIG_BOARD_ATNGW100 is not set
108CONFIG_LOADER_U_BOOT=y 120CONFIG_LOADER_U_BOOT=y
121
122#
123# Atmel AVR32 AP options
124#
125# CONFIG_AP7000_32_BIT_SMC is not set
126CONFIG_AP7000_16_BIT_SMC=y
127# CONFIG_AP7000_8_BIT_SMC is not set
109CONFIG_LOAD_ADDRESS=0x10000000 128CONFIG_LOAD_ADDRESS=0x10000000
110CONFIG_ENTRY_ADDRESS=0x90000000 129CONFIG_ENTRY_ADDRESS=0x90000000
111CONFIG_PHYS_OFFSET=0x10000000 130CONFIG_PHYS_OFFSET=0x10000000
@@ -127,6 +146,7 @@ CONFIG_FLAT_NODE_MEM_MAP=y
127# CONFIG_SPARSEMEM_STATIC is not set 146# CONFIG_SPARSEMEM_STATIC is not set
128CONFIG_SPLIT_PTLOCK_CPUS=4 147CONFIG_SPLIT_PTLOCK_CPUS=4
129# CONFIG_RESOURCES_64BIT is not set 148# CONFIG_RESOURCES_64BIT is not set
149CONFIG_ZONE_DMA_FLAG=0
130# CONFIG_OWNERSHIP_TRACE is not set 150# CONFIG_OWNERSHIP_TRACE is not set
131# CONFIG_HZ_100 is not set 151# CONFIG_HZ_100 is not set
132CONFIG_HZ_250=y 152CONFIG_HZ_250=y
@@ -138,6 +158,7 @@ CONFIG_CMDLINE=""
138# 158#
139# Bus options 159# Bus options
140# 160#
161# CONFIG_ARCH_SUPPORTS_MSI is not set
141 162
142# 163#
143# PCCARD (PCMCIA/CardBus) support 164# PCCARD (PCMCIA/CardBus) support
@@ -158,7 +179,6 @@ CONFIG_NET=y
158# 179#
159# Networking options 180# Networking options
160# 181#
161# CONFIG_NETDEBUG is not set
162CONFIG_PACKET=y 182CONFIG_PACKET=y
163CONFIG_PACKET_MMAP=y 183CONFIG_PACKET_MMAP=y
164CONFIG_UNIX=y 184CONFIG_UNIX=y
@@ -194,20 +214,8 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
194# CONFIG_INET6_TUNNEL is not set 214# CONFIG_INET6_TUNNEL is not set
195# CONFIG_NETWORK_SECMARK is not set 215# CONFIG_NETWORK_SECMARK is not set
196# CONFIG_NETFILTER is not set 216# CONFIG_NETFILTER is not set
197
198#
199# DCCP Configuration (EXPERIMENTAL)
200#
201# CONFIG_IP_DCCP is not set 217# CONFIG_IP_DCCP is not set
202
203#
204# SCTP Configuration (EXPERIMENTAL)
205#
206# CONFIG_IP_SCTP is not set 218# CONFIG_IP_SCTP is not set
207
208#
209# TIPC Configuration (EXPERIMENTAL)
210#
211# CONFIG_TIPC is not set 219# CONFIG_TIPC is not set
212# CONFIG_ATM is not set 220# CONFIG_ATM is not set
213# CONFIG_BRIDGE is not set 221# CONFIG_BRIDGE is not set
@@ -233,7 +241,16 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
233# CONFIG_HAMRADIO is not set 241# CONFIG_HAMRADIO is not set
234# CONFIG_IRDA is not set 242# CONFIG_IRDA is not set
235# CONFIG_BT is not set 243# CONFIG_BT is not set
244# CONFIG_AF_RXRPC is not set
245
246#
247# Wireless
248#
249# CONFIG_CFG80211 is not set
250# CONFIG_WIRELESS_EXT is not set
251# CONFIG_MAC80211 is not set
236# CONFIG_IEEE80211 is not set 252# CONFIG_IEEE80211 is not set
253# CONFIG_RFKILL is not set
237 254
238# 255#
239# Device Drivers 256# Device Drivers
@@ -246,16 +263,13 @@ CONFIG_STANDALONE=y
246# CONFIG_PREVENT_FIRMWARE_BUILD is not set 263# CONFIG_PREVENT_FIRMWARE_BUILD is not set
247# CONFIG_FW_LOADER is not set 264# CONFIG_FW_LOADER is not set
248# CONFIG_DEBUG_DRIVER is not set 265# CONFIG_DEBUG_DRIVER is not set
266# CONFIG_DEBUG_DEVRES is not set
249# CONFIG_SYS_HYPERVISOR is not set 267# CONFIG_SYS_HYPERVISOR is not set
250 268
251# 269#
252# Connector - unified userspace <-> kernelspace linker 270# Connector - unified userspace <-> kernelspace linker
253# 271#
254# CONFIG_CONNECTOR is not set 272# CONFIG_CONNECTOR is not set
255
256#
257# Memory Technology Devices (MTD)
258#
259CONFIG_MTD=y 273CONFIG_MTD=y
260# CONFIG_MTD_DEBUG is not set 274# CONFIG_MTD_DEBUG is not set
261# CONFIG_MTD_CONCAT is not set 275# CONFIG_MTD_CONCAT is not set
@@ -299,7 +313,6 @@ CONFIG_MTD_CFI_UTIL=y
299# CONFIG_MTD_RAM is not set 313# CONFIG_MTD_RAM is not set
300# CONFIG_MTD_ROM is not set 314# CONFIG_MTD_ROM is not set
301# CONFIG_MTD_ABSENT is not set 315# CONFIG_MTD_ABSENT is not set
302# CONFIG_MTD_OBSOLETE_CHIPS is not set
303 316
304# 317#
305# Mapping drivers for chip access 318# Mapping drivers for chip access
@@ -325,16 +338,13 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=2
325# CONFIG_MTD_DOC2000 is not set 338# CONFIG_MTD_DOC2000 is not set
326# CONFIG_MTD_DOC2001 is not set 339# CONFIG_MTD_DOC2001 is not set
327# CONFIG_MTD_DOC2001PLUS is not set 340# CONFIG_MTD_DOC2001PLUS is not set
328
329#
330# NAND Flash Device Drivers
331#
332# CONFIG_MTD_NAND is not set 341# CONFIG_MTD_NAND is not set
342# CONFIG_MTD_ONENAND is not set
333 343
334# 344#
335# OneNAND Flash Device Drivers 345# UBI - Unsorted block images
336# 346#
337# CONFIG_MTD_ONENAND is not set 347# CONFIG_MTD_UBI is not set
338 348
339# 349#
340# Parallel port support 350# Parallel port support
@@ -344,6 +354,7 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=2
344# 354#
345# Plug and Play support 355# Plug and Play support
346# 356#
357# CONFIG_PNPACPI is not set
347 358
348# 359#
349# Block devices 360# Block devices
@@ -356,18 +367,13 @@ CONFIG_BLK_DEV_RAM=m
356CONFIG_BLK_DEV_RAM_COUNT=16 367CONFIG_BLK_DEV_RAM_COUNT=16
357CONFIG_BLK_DEV_RAM_SIZE=4096 368CONFIG_BLK_DEV_RAM_SIZE=4096
358CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 369CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
359CONFIG_BLK_DEV_INITRD=y
360# CONFIG_CDROM_PKTCDVD is not set 370# CONFIG_CDROM_PKTCDVD is not set
361# CONFIG_ATA_OVER_ETH is not set 371# CONFIG_ATA_OVER_ETH is not set
362 372
363# 373#
364# Misc devices 374# Misc devices
365# 375#
366# CONFIG_TIFM_CORE is not set 376# CONFIG_BLINK is not set
367
368#
369# ATA/ATAPI/MFM/RLL support
370#
371# CONFIG_IDE is not set 377# CONFIG_IDE is not set
372 378
373# 379#
@@ -376,10 +382,6 @@ CONFIG_BLK_DEV_INITRD=y
376# CONFIG_RAID_ATTRS is not set 382# CONFIG_RAID_ATTRS is not set
377# CONFIG_SCSI is not set 383# CONFIG_SCSI is not set
378# CONFIG_SCSI_NETLINK is not set 384# CONFIG_SCSI_NETLINK is not set
379
380#
381# Serial ATA (prod) and Parallel ATA (experimental) drivers
382#
383# CONFIG_ATA is not set 385# CONFIG_ATA is not set
384 386
385# 387#
@@ -388,19 +390,6 @@ CONFIG_BLK_DEV_INITRD=y
388# CONFIG_MD is not set 390# CONFIG_MD is not set
389 391
390# 392#
391# Fusion MPT device support
392#
393# CONFIG_FUSION is not set
394
395#
396# IEEE 1394 (FireWire) support
397#
398
399#
400# I2O device support
401#
402
403#
404# Network device support 393# Network device support
405# 394#
406CONFIG_NETDEVICES=y 395CONFIG_NETDEVICES=y
@@ -408,10 +397,6 @@ CONFIG_DUMMY=y
408# CONFIG_BONDING is not set 397# CONFIG_BONDING is not set
409# CONFIG_EQUALIZER is not set 398# CONFIG_EQUALIZER is not set
410CONFIG_TUN=m 399CONFIG_TUN=m
411
412#
413# PHY device support
414#
415# CONFIG_PHYLIB is not set 400# CONFIG_PHYLIB is not set
416 401
417# 402#
@@ -420,27 +405,14 @@ CONFIG_TUN=m
420CONFIG_NET_ETHERNET=y 405CONFIG_NET_ETHERNET=y
421CONFIG_MII=y 406CONFIG_MII=y
422CONFIG_MACB=y 407CONFIG_MACB=y
408# CONFIG_NETDEV_1000 is not set
409# CONFIG_NETDEV_10000 is not set
423 410
424# 411#
425# Ethernet (1000 Mbit) 412# Wireless LAN
426#
427
428#
429# Ethernet (10000 Mbit)
430#
431
432#
433# Token Ring devices
434#
435
436#
437# Wireless LAN (non-hamradio)
438#
439# CONFIG_NET_RADIO is not set
440
441#
442# Wan interfaces
443# 413#
414# CONFIG_WLAN_PRE80211 is not set
415# CONFIG_WLAN_80211 is not set
444# CONFIG_WAN is not set 416# CONFIG_WAN is not set
445CONFIG_PPP=m 417CONFIG_PPP=m
446# CONFIG_PPP_MULTILINK is not set 418# CONFIG_PPP_MULTILINK is not set
@@ -505,15 +477,10 @@ CONFIG_UNIX98_PTYS=y
505# IPMI 477# IPMI
506# 478#
507# CONFIG_IPMI_HANDLER is not set 479# CONFIG_IPMI_HANDLER is not set
508
509#
510# Watchdog Cards
511#
512# CONFIG_WATCHDOG is not set 480# CONFIG_WATCHDOG is not set
513# CONFIG_HW_RANDOM is not set 481# CONFIG_HW_RANDOM is not set
514# CONFIG_RTC is not set 482# CONFIG_RTC is not set
515# CONFIG_GEN_RTC is not set 483# CONFIG_GEN_RTC is not set
516# CONFIG_DTLK is not set
517# CONFIG_R3964 is not set 484# CONFIG_R3964 is not set
518# CONFIG_RAW_DRIVER is not set 485# CONFIG_RAW_DRIVER is not set
519 486
@@ -521,10 +488,6 @@ CONFIG_UNIX98_PTYS=y
521# TPM devices 488# TPM devices
522# 489#
523# CONFIG_TCG_TPM is not set 490# CONFIG_TCG_TPM is not set
524
525#
526# I2C support
527#
528# CONFIG_I2C is not set 491# CONFIG_I2C is not set
529 492
530# 493#
@@ -537,29 +500,31 @@ CONFIG_UNIX98_PTYS=y
537# Dallas's 1-wire bus 500# Dallas's 1-wire bus
538# 501#
539# CONFIG_W1 is not set 502# CONFIG_W1 is not set
503# CONFIG_HWMON is not set
540 504
541# 505#
542# Hardware Monitoring support 506# Multifunction device drivers
543# 507#
544# CONFIG_HWMON is not set 508# CONFIG_MFD_SM501 is not set
545# CONFIG_HWMON_VID is not set
546 509
547# 510#
548# Multimedia devices 511# Multimedia devices
549# 512#
550# CONFIG_VIDEO_DEV is not set 513# CONFIG_VIDEO_DEV is not set
514# CONFIG_DVB_CORE is not set
515# CONFIG_DAB is not set
551 516
552# 517#
553# Digital Video Broadcasting Devices 518# Graphics support
554# 519#
555# CONFIG_DVB is not set 520# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
556 521
557# 522#
558# Graphics support 523# Display device support
559# 524#
560# CONFIG_FIRMWARE_EDID is not set 525# CONFIG_DISPLAY_SUPPORT is not set
526# CONFIG_VGASTATE is not set
561# CONFIG_FB is not set 527# CONFIG_FB is not set
562# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
563 528
564# 529#
565# Sound 530# Sound
@@ -581,10 +546,6 @@ CONFIG_UNIX98_PTYS=y
581# USB Gadget Support 546# USB Gadget Support
582# 547#
583# CONFIG_USB_GADGET is not set 548# CONFIG_USB_GADGET is not set
584
585#
586# MMC/SD Card support
587#
588# CONFIG_MMC is not set 549# CONFIG_MMC is not set
589 550
590# 551#
@@ -627,10 +588,6 @@ CONFIG_UNIX98_PTYS=y
627# 588#
628 589
629# 590#
630# Virtualization
631#
632
633#
634# File systems 591# File systems
635# 592#
636CONFIG_EXT2_FS=m 593CONFIG_EXT2_FS=m
@@ -712,8 +669,20 @@ CONFIG_JFFS2_RTIME=y
712# 669#
713# Network File Systems 670# Network File Systems
714# 671#
715# CONFIG_NFS_FS is not set 672CONFIG_NFS_FS=y
673CONFIG_NFS_V3=y
674# CONFIG_NFS_V3_ACL is not set
675# CONFIG_NFS_V4 is not set
676# CONFIG_NFS_DIRECTIO is not set
716# CONFIG_NFSD is not set 677# CONFIG_NFSD is not set
678CONFIG_ROOT_NFS=y
679CONFIG_LOCKD=y
680CONFIG_LOCKD_V4=y
681CONFIG_NFS_COMMON=y
682CONFIG_SUNRPC=y
683# CONFIG_SUNRPC_BIND34 is not set
684# CONFIG_RPCSEC_GSS_KRB5 is not set
685# CONFIG_RPCSEC_GSS_SPKM3 is not set
717# CONFIG_SMB_FS is not set 686# CONFIG_SMB_FS is not set
718# CONFIG_CIFS is not set 687# CONFIG_CIFS is not set
719# CONFIG_NCP_FS is not set 688# CONFIG_NCP_FS is not set
@@ -787,15 +756,14 @@ CONFIG_MAGIC_SYSRQ=y
787CONFIG_DEBUG_FS=y 756CONFIG_DEBUG_FS=y
788# CONFIG_HEADERS_CHECK is not set 757# CONFIG_HEADERS_CHECK is not set
789CONFIG_DEBUG_KERNEL=y 758CONFIG_DEBUG_KERNEL=y
790CONFIG_LOG_BUF_SHIFT=14 759# CONFIG_DEBUG_SHIRQ is not set
791CONFIG_DETECT_SOFTLOCKUP=y 760CONFIG_DETECT_SOFTLOCKUP=y
792# CONFIG_SCHEDSTATS is not set 761# CONFIG_SCHEDSTATS is not set
793# CONFIG_DEBUG_SLAB is not set 762# CONFIG_TIMER_STATS is not set
794# CONFIG_DEBUG_RT_MUTEXES is not set 763# CONFIG_DEBUG_RT_MUTEXES is not set
795# CONFIG_RT_MUTEX_TESTER is not set 764# CONFIG_RT_MUTEX_TESTER is not set
796# CONFIG_DEBUG_SPINLOCK is not set 765# CONFIG_DEBUG_SPINLOCK is not set
797# CONFIG_DEBUG_MUTEXES is not set 766# CONFIG_DEBUG_MUTEXES is not set
798# CONFIG_DEBUG_RWSEMS is not set
799# CONFIG_DEBUG_SPINLOCK_SLEEP is not set 767# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
800# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set 768# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
801# CONFIG_DEBUG_KOBJECT is not set 769# CONFIG_DEBUG_KOBJECT is not set
@@ -806,6 +774,7 @@ CONFIG_DEBUG_BUGVERBOSE=y
806CONFIG_FRAME_POINTER=y 774CONFIG_FRAME_POINTER=y
807CONFIG_FORCED_INLINING=y 775CONFIG_FORCED_INLINING=y
808# CONFIG_RCU_TORTURE_TEST is not set 776# CONFIG_RCU_TORTURE_TEST is not set
777# CONFIG_FAULT_INJECTION is not set
809# CONFIG_KPROBES is not set 778# CONFIG_KPROBES is not set
810 779
811# 780#
@@ -825,10 +794,13 @@ CONFIG_FORCED_INLINING=y
825CONFIG_BITREVERSE=y 794CONFIG_BITREVERSE=y
826CONFIG_CRC_CCITT=m 795CONFIG_CRC_CCITT=m
827# CONFIG_CRC16 is not set 796# CONFIG_CRC16 is not set
797# CONFIG_CRC_ITU_T is not set
828CONFIG_CRC32=y 798CONFIG_CRC32=y
829# CONFIG_LIBCRC32C is not set 799# CONFIG_LIBCRC32C is not set
830CONFIG_AUDIT_GENERIC=y 800CONFIG_AUDIT_GENERIC=y
831CONFIG_ZLIB_INFLATE=y 801CONFIG_ZLIB_INFLATE=y
832CONFIG_ZLIB_DEFLATE=y 802CONFIG_ZLIB_DEFLATE=y
833CONFIG_PLIST=y 803CONFIG_PLIST=y
834CONFIG_IOMAP_COPY=y 804CONFIG_HAS_IOMEM=y
805CONFIG_HAS_IOPORT=y
806CONFIG_HAS_DMA=y
diff --git a/arch/avr32/mach-at32ap/at32ap7000.c b/arch/avr32/mach-at32ap/at32ap7000.c
index 1d2bf347a1d6..4dda42d3f6d5 100644
--- a/arch/avr32/mach-at32ap/at32ap7000.c
+++ b/arch/avr32/mach-at32ap/at32ap7000.c
@@ -9,6 +9,7 @@
9#include <linux/fb.h> 9#include <linux/fb.h>
10#include <linux/init.h> 10#include <linux/init.h>
11#include <linux/platform_device.h> 11#include <linux/platform_device.h>
12#include <linux/dma-mapping.h>
12#include <linux/spi/spi.h> 13#include <linux/spi/spi.h>
13 14
14#include <asm/io.h> 15#include <asm/io.h>
@@ -45,19 +46,30 @@
45 .flags = IORESOURCE_IRQ, \ 46 .flags = IORESOURCE_IRQ, \
46 } 47 }
47 48
49/* REVISIT these assume *every* device supports DMA, but several
50 * don't ... tc, smc, pio, rtc, watchdog, pwm, ps2, and more.
51 */
48#define DEFINE_DEV(_name, _id) \ 52#define DEFINE_DEV(_name, _id) \
53static u64 _name##_id##_dma_mask = DMA_32BIT_MASK; \
49static struct platform_device _name##_id##_device = { \ 54static struct platform_device _name##_id##_device = { \
50 .name = #_name, \ 55 .name = #_name, \
51 .id = _id, \ 56 .id = _id, \
57 .dev = { \
58 .dma_mask = &_name##_id##_dma_mask, \
59 .coherent_dma_mask = DMA_32BIT_MASK, \
60 }, \
52 .resource = _name##_id##_resource, \ 61 .resource = _name##_id##_resource, \
53 .num_resources = ARRAY_SIZE(_name##_id##_resource), \ 62 .num_resources = ARRAY_SIZE(_name##_id##_resource), \
54} 63}
55#define DEFINE_DEV_DATA(_name, _id) \ 64#define DEFINE_DEV_DATA(_name, _id) \
65static u64 _name##_id##_dma_mask = DMA_32BIT_MASK; \
56static struct platform_device _name##_id##_device = { \ 66static struct platform_device _name##_id##_device = { \
57 .name = #_name, \ 67 .name = #_name, \
58 .id = _id, \ 68 .id = _id, \
59 .dev = { \ 69 .dev = { \
70 .dma_mask = &_name##_id##_dma_mask, \
60 .platform_data = &_name##_id##_data, \ 71 .platform_data = &_name##_id##_data, \
72 .coherent_dma_mask = DMA_32BIT_MASK, \
61 }, \ 73 }, \
62 .resource = _name##_id##_resource, \ 74 .resource = _name##_id##_resource, \
63 .num_resources = ARRAY_SIZE(_name##_id##_resource), \ 75 .num_resources = ARRAY_SIZE(_name##_id##_resource), \
diff --git a/arch/avr32/mm/cache.c b/arch/avr32/mm/cache.c
index 8f7b1c3cd0f9..c1233c615e67 100644
--- a/arch/avr32/mm/cache.c
+++ b/arch/avr32/mm/cache.c
@@ -23,7 +23,6 @@
23void invalidate_dcache_region(void *start, size_t size) 23void invalidate_dcache_region(void *start, size_t size)
24{ 24{
25 unsigned long v, begin, end, linesz, mask; 25 unsigned long v, begin, end, linesz, mask;
26 int flush = 0;
27 26
28 linesz = boot_cpu_data.dcache.linesz; 27 linesz = boot_cpu_data.dcache.linesz;
29 mask = linesz - 1; 28 mask = linesz - 1;
@@ -32,24 +31,21 @@ void invalidate_dcache_region(void *start, size_t size)
32 * instead of invalidating ... never discard valid data! 31 * instead of invalidating ... never discard valid data!
33 */ 32 */
34 begin = (unsigned long)start; 33 begin = (unsigned long)start;
35 end = begin + size - 1; 34 end = begin + size;
36 35
37 if (begin & mask) { 36 if (begin & mask) {
38 flush_dcache_line(start); 37 flush_dcache_line(start);
39 begin += linesz; 38 begin += linesz;
40 flush = 1;
41 } 39 }
42 if ((end & mask) != mask) { 40 if (end & mask) {
43 flush_dcache_line((void *)end); 41 flush_dcache_line((void *)end);
44 end -= linesz; 42 end &= ~mask;
45 flush = 1;
46 } 43 }
47 44
48 /* remaining cachelines only need invalidation */ 45 /* remaining cachelines only need invalidation */
49 for (v = begin; v <= end; v += linesz) 46 for (v = begin; v < end; v += linesz)
50 invalidate_dcache_line((void *)v); 47 invalidate_dcache_line((void *)v);
51 if (flush) 48 flush_write_buffer();
52 flush_write_buffer();
53} 49}
54 50
55void clean_dcache_region(void *start, size_t size) 51void clean_dcache_region(void *start, size_t size)
diff --git a/arch/blackfin/Kconfig b/arch/blackfin/Kconfig
index 1fad8560c7af..017defaa525b 100644
--- a/arch/blackfin/Kconfig
+++ b/arch/blackfin/Kconfig
@@ -71,6 +71,7 @@ config GENERIC_CALIBRATE_DELAY
71 71
72config IRQCHIP_DEMUX_GPIO 72config IRQCHIP_DEMUX_GPIO
73 bool 73 bool
74 depends on (BF53x || BF561 || BF54x)
74 default y 75 default y
75 76
76source "init/Kconfig" 77source "init/Kconfig"
@@ -114,6 +115,26 @@ config BF537
114 help 115 help
115 BF537 Processor Support. 116 BF537 Processor Support.
116 117
118config BF542
119 bool "BF542"
120 help
121 BF542 Processor Support.
122
123config BF544
124 bool "BF544"
125 help
126 BF544 Processor Support.
127
128config BF548
129 bool "BF548"
130 help
131 BF548 Processor Support.
132
133config BF549
134 bool "BF549"
135 help
136 BF549 Processor Support.
137
117config BF561 138config BF561
118 bool "BF561" 139 bool "BF561"
119 help 140 help
@@ -125,6 +146,11 @@ choice
125 prompt "Silicon Rev" 146 prompt "Silicon Rev"
126 default BF_REV_0_2 if BF537 147 default BF_REV_0_2 if BF537
127 default BF_REV_0_3 if BF533 148 default BF_REV_0_3 if BF533
149 default BF_REV_0_0 if BF549
150
151config BF_REV_0_0
152 bool "0.0"
153 depends on (BF549)
128 154
129config BF_REV_0_2 155config BF_REV_0_2
130 bool "0.2" 156 bool "0.2"
@@ -142,8 +168,24 @@ config BF_REV_0_5
142 bool "0.5" 168 bool "0.5"
143 depends on (BF561 || BF533 || BF532 || BF531) 169 depends on (BF561 || BF533 || BF532 || BF531)
144 170
171config BF_REV_ANY
172 bool "any"
173
174config BF_REV_NONE
175 bool "none"
176
145endchoice 177endchoice
146 178
179config BF53x
180 bool
181 depends on (BF531 || BF532 || BF533 || BF534 || BF536 || BF537)
182 default y
183
184config BF54x
185 bool
186 depends on (BF542 || BF544 || BF548 || BF549)
187 default y
188
147config BFIN_DUAL_CORE 189config BFIN_DUAL_CORE
148 bool 190 bool
149 depends on (BF561) 191 depends on (BF561)
@@ -192,6 +234,12 @@ config BFIN537_BLUETECHNIX_CM
192 help 234 help
193 CM-BF537 support for EVAL- and DEV-Board. 235 CM-BF537 support for EVAL- and DEV-Board.
194 236
237config BFIN548_EZKIT
238 bool "BF548-EZKIT"
239 depends on (BF548 || BF549)
240 help
241 BFIN548-EZKIT board Support.
242
195config BFIN561_BLUETECHNIX_CM 243config BFIN561_BLUETECHNIX_CM
196 bool "Bluetechnix CM-BF561" 244 bool "Bluetechnix CM-BF561"
197 depends on (BF561) 245 depends on (BF561)
@@ -259,6 +307,7 @@ config BFIN_SHARED_FLASH_ENET
259source "arch/blackfin/mach-bf533/Kconfig" 307source "arch/blackfin/mach-bf533/Kconfig"
260source "arch/blackfin/mach-bf561/Kconfig" 308source "arch/blackfin/mach-bf561/Kconfig"
261source "arch/blackfin/mach-bf537/Kconfig" 309source "arch/blackfin/mach-bf537/Kconfig"
310source "arch/blackfin/mach-bf548/Kconfig"
262 311
263menu "Board customizations" 312menu "Board customizations"
264 313
@@ -491,7 +540,8 @@ config IP_CHECKSUM_L1
491 540
492config CACHELINE_ALIGNED_L1 541config CACHELINE_ALIGNED_L1
493 bool "Locate cacheline_aligned data to L1 Data Memory" 542 bool "Locate cacheline_aligned data to L1 Data Memory"
494 default y 543 default y if !BF54x
544 default n if BF54x
495 depends on !BF531 545 depends on !BF531
496 help 546 help
497 If enabled cacheline_anligned data is linked 547 If enabled cacheline_anligned data is linked
@@ -535,9 +585,17 @@ endchoice
535 585
536source "mm/Kconfig" 586source "mm/Kconfig"
537 587
588config LARGE_ALLOCS
589 bool "Allow allocating large blocks (> 1MB) of memory"
590 help
591 Allow the slab memory allocator to keep chains for very large
592 memory sizes - upto 32MB. You may need this if your system has
593 a lot of RAM, and you need to able to allocate very large
594 contiguous chunks. If unsure, say N.
595
538config BFIN_DMA_5XX 596config BFIN_DMA_5XX
539 bool "Enable DMA Support" 597 bool "Enable DMA Support"
540 depends on (BF533 || BF532 || BF531 || BF537 || BF536 || BF534 || BF561) 598 depends on (BF533 || BF532 || BF531 || BF537 || BF536 || BF534 || BF561 || BF54x)
541 default y 599 default y
542 help 600 help
543 DMA driver for BF5xx. 601 DMA driver for BF5xx.
@@ -680,6 +738,7 @@ config C_AMCKEN
680 738
681config C_CDPRIO 739config C_CDPRIO
682 bool "DMA has priority over core for ext. accesses" 740 bool "DMA has priority over core for ext. accesses"
741 depends on !BF54x
683 default n 742 default n
684 743
685config C_B0PEN 744config C_B0PEN
@@ -833,7 +892,7 @@ endchoice
833 892
834endmenu 893endmenu
835 894
836if (BF537 || BF533) 895if (BF537 || BF533 || BF54x)
837 896
838menu "CPU Frequency scaling" 897menu "CPU Frequency scaling"
839 898
diff --git a/arch/blackfin/Makefile b/arch/blackfin/Makefile
index 75e89c324756..1b75672dfc8f 100644
--- a/arch/blackfin/Makefile
+++ b/arch/blackfin/Makefile
@@ -24,10 +24,33 @@ machine-$(CONFIG_BF533) := bf533
24machine-$(CONFIG_BF534) := bf537 24machine-$(CONFIG_BF534) := bf537
25machine-$(CONFIG_BF536) := bf537 25machine-$(CONFIG_BF536) := bf537
26machine-$(CONFIG_BF537) := bf537 26machine-$(CONFIG_BF537) := bf537
27machine-$(CONFIG_BF548) := bf548
28machine-$(CONFIG_BF549) := bf548
27machine-$(CONFIG_BF561) := bf561 29machine-$(CONFIG_BF561) := bf561
28MACHINE := $(machine-y) 30MACHINE := $(machine-y)
29export MACHINE 31export MACHINE
30 32
33cpu-$(CONFIG_BF531) := bf531
34cpu-$(CONFIG_BF532) := bf532
35cpu-$(CONFIG_BF533) := bf533
36cpu-$(CONFIG_BF534) := bf534
37cpu-$(CONFIG_BF536) := bf536
38cpu-$(CONFIG_BF537) := bf537
39cpu-$(CONFIG_BF548) := bf548
40cpu-$(CONFIG_BF549) := bf549
41cpu-$(CONFIG_BF561) := bf561
42
43rev-$(CONFIG_BF_REV_0_0) := 0.0
44rev-$(CONFIG_BF_REV_0_1) := 0.1
45rev-$(CONFIG_BF_REV_0_2) := 0.2
46rev-$(CONFIG_BF_REV_0_3) := 0.3
47rev-$(CONFIG_BF_REV_0_4) := 0.4
48rev-$(CONFIG_BF_REV_0_5) := 0.5
49rev-$(CONFIG_BF_REV_NONE) := none
50rev-$(CONFIG_BF_REV_ANY) := any
51
52CFLAGS += -mcpu=$(cpu-y)-$(rev-y)
53AFLAGS += -mcpu=$(cpu-y)-$(rev-y)
31 54
32head-y := arch/$(ARCH)/mach-$(MACHINE)/head.o arch/$(ARCH)/kernel/init_task.o 55head-y := arch/$(ARCH)/mach-$(MACHINE)/head.o arch/$(ARCH)/kernel/init_task.o
33 56
diff --git a/arch/blackfin/boot/Makefile b/arch/blackfin/boot/Makefile
index 49e8098d4c21..8cd33560e817 100644
--- a/arch/blackfin/boot/Makefile
+++ b/arch/blackfin/boot/Makefile
@@ -13,7 +13,8 @@ extra-y += vmlinux.bin vmlinux.gz
13 13
14quiet_cmd_uimage = UIMAGE $@ 14quiet_cmd_uimage = UIMAGE $@
15 cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A $(ARCH) -O linux -T kernel \ 15 cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A $(ARCH) -O linux -T kernel \
16 -C gzip -a $(CONFIG_BOOT_LOAD) -e $(CONFIG_BOOT_LOAD) -n 'Linux-$(KERNELRELEASE)' \ 16 -C gzip -n 'Linux-$(KERNELRELEASE)' -a $(CONFIG_BOOT_LOAD) \
17 -e $(shell $(NM) vmlinux | awk '$$NF == "__start" {print $$1}') \
17 -d $< $@ 18 -d $< $@
18 19
19$(obj)/vmlinux.bin: vmlinux FORCE 20$(obj)/vmlinux.bin: vmlinux FORCE
diff --git a/arch/blackfin/configs/BF533-EZKIT_defconfig b/arch/blackfin/configs/BF533-EZKIT_defconfig
index 90d58aabe693..1cf1ab28dc66 100644
--- a/arch/blackfin/configs/BF533-EZKIT_defconfig
+++ b/arch/blackfin/configs/BF533-EZKIT_defconfig
@@ -1,6 +1,6 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.21.3 3# Linux kernel version: 2.6.21.5
4# 4#
5# CONFIG_MMU is not set 5# CONFIG_MMU is not set
6# CONFIG_FPU is not set 6# CONFIG_FPU is not set
@@ -115,17 +115,26 @@ CONFIG_BF533=y
115# CONFIG_BF534 is not set 115# CONFIG_BF534 is not set
116# CONFIG_BF536 is not set 116# CONFIG_BF536 is not set
117# CONFIG_BF537 is not set 117# CONFIG_BF537 is not set
118# CONFIG_BF542 is not set
119# CONFIG_BF544 is not set
120# CONFIG_BF548 is not set
121# CONFIG_BF549 is not set
118# CONFIG_BF561 is not set 122# CONFIG_BF561 is not set
123# CONFIG_BF_REV_0_0 is not set
119# CONFIG_BF_REV_0_2 is not set 124# CONFIG_BF_REV_0_2 is not set
120CONFIG_BF_REV_0_3=y 125CONFIG_BF_REV_0_3=y
121# CONFIG_BF_REV_0_4 is not set 126# CONFIG_BF_REV_0_4 is not set
122# CONFIG_BF_REV_0_5 is not set 127# CONFIG_BF_REV_0_5 is not set
128# CONFIG_BF_REV_ANY is not set
129# CONFIG_BF_REV_NONE is not set
130CONFIG_BF53x=y
123CONFIG_BFIN_SINGLE_CORE=y 131CONFIG_BFIN_SINGLE_CORE=y
124CONFIG_BFIN533_EZKIT=y 132CONFIG_BFIN533_EZKIT=y
125# CONFIG_BFIN533_STAMP is not set 133# CONFIG_BFIN533_STAMP is not set
126# CONFIG_BFIN537_STAMP is not set 134# CONFIG_BFIN537_STAMP is not set
127# CONFIG_BFIN533_BLUETECHNIX_CM is not set 135# CONFIG_BFIN533_BLUETECHNIX_CM is not set
128# CONFIG_BFIN537_BLUETECHNIX_CM is not set 136# CONFIG_BFIN537_BLUETECHNIX_CM is not set
137# CONFIG_BFIN548_EZKIT is not set
129# CONFIG_BFIN561_BLUETECHNIX_CM is not set 138# CONFIG_BFIN561_BLUETECHNIX_CM is not set
130# CONFIG_BFIN561_EZKIT is not set 139# CONFIG_BFIN561_EZKIT is not set
131# CONFIG_BFIN561_TEPLA is not set 140# CONFIG_BFIN561_TEPLA is not set
@@ -634,6 +643,7 @@ CONFIG_NETDEVICES=y
634CONFIG_NET_ETHERNET=y 643CONFIG_NET_ETHERNET=y
635CONFIG_MII=y 644CONFIG_MII=y
636CONFIG_SMC91X=y 645CONFIG_SMC91X=y
646# CONFIG_SMSC911X is not set
637 647
638# 648#
639# Ethernet (1000 Mbit) 649# Ethernet (1000 Mbit)
diff --git a/arch/blackfin/configs/BF533-STAMP_defconfig b/arch/blackfin/configs/BF533-STAMP_defconfig
index fee918957392..64b7f1b3b2af 100644
--- a/arch/blackfin/configs/BF533-STAMP_defconfig
+++ b/arch/blackfin/configs/BF533-STAMP_defconfig
@@ -1,6 +1,6 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.21.3 3# Linux kernel version: 2.6.21.5
4# 4#
5# CONFIG_MMU is not set 5# CONFIG_MMU is not set
6# CONFIG_FPU is not set 6# CONFIG_FPU is not set
@@ -115,17 +115,26 @@ CONFIG_BF533=y
115# CONFIG_BF534 is not set 115# CONFIG_BF534 is not set
116# CONFIG_BF536 is not set 116# CONFIG_BF536 is not set
117# CONFIG_BF537 is not set 117# CONFIG_BF537 is not set
118# CONFIG_BF542 is not set
119# CONFIG_BF544 is not set
120# CONFIG_BF548 is not set
121# CONFIG_BF549 is not set
118# CONFIG_BF561 is not set 122# CONFIG_BF561 is not set
123# CONFIG_BF_REV_0_0 is not set
119# CONFIG_BF_REV_0_2 is not set 124# CONFIG_BF_REV_0_2 is not set
120CONFIG_BF_REV_0_3=y 125CONFIG_BF_REV_0_3=y
121# CONFIG_BF_REV_0_4 is not set 126# CONFIG_BF_REV_0_4 is not set
122# CONFIG_BF_REV_0_5 is not set 127# CONFIG_BF_REV_0_5 is not set
128# CONFIG_BF_REV_ANY is not set
129# CONFIG_BF_REV_NONE is not set
130CONFIG_BF53x=y
123CONFIG_BFIN_SINGLE_CORE=y 131CONFIG_BFIN_SINGLE_CORE=y
124# CONFIG_BFIN533_EZKIT is not set 132# CONFIG_BFIN533_EZKIT is not set
125CONFIG_BFIN533_STAMP=y 133CONFIG_BFIN533_STAMP=y
126# CONFIG_BFIN537_STAMP is not set 134# CONFIG_BFIN537_STAMP is not set
127# CONFIG_BFIN533_BLUETECHNIX_CM is not set 135# CONFIG_BFIN533_BLUETECHNIX_CM is not set
128# CONFIG_BFIN537_BLUETECHNIX_CM is not set 136# CONFIG_BFIN537_BLUETECHNIX_CM is not set
137# CONFIG_BFIN548_EZKIT is not set
129# CONFIG_BFIN561_BLUETECHNIX_CM is not set 138# CONFIG_BFIN561_BLUETECHNIX_CM is not set
130# CONFIG_BFIN561_EZKIT is not set 139# CONFIG_BFIN561_EZKIT is not set
131# CONFIG_BFIN561_TEPLA is not set 140# CONFIG_BFIN561_TEPLA is not set
@@ -646,6 +655,7 @@ CONFIG_NETDEVICES=y
646CONFIG_NET_ETHERNET=y 655CONFIG_NET_ETHERNET=y
647CONFIG_MII=y 656CONFIG_MII=y
648CONFIG_SMC91X=y 657CONFIG_SMC91X=y
658# CONFIG_SMSC911X is not set
649 659
650# 660#
651# Ethernet (1000 Mbit) 661# Ethernet (1000 Mbit)
@@ -986,9 +996,17 @@ CONFIG_SND_VERBOSE_PROCFS=y
986# 996#
987# ALSA Blackfin devices 997# ALSA Blackfin devices
988# 998#
989# CONFIG_SND_BLACKFIN_AD1836 is not set 999CONFIG_SND_BLACKFIN_AD1836=m
990# CONFIG_SND_BLACKFIN_AD1981B is not set 1000CONFIG_SND_BLACKFIN_AD1836_TDM=y
991# CONFIG_SND_BFIN_AD73311 is not set 1001# CONFIG_SND_BLACKFIN_AD1836_I2S is not set
1002CONFIG_SND_BLACKFIN_AD1836_MULSUB=y
1003# CONFIG_SND_BLACKFIN_AD1836_5P1 is not set
1004CONFIG_SND_BLACKFIN_AD1981B=m
1005CONFIG_SND_BLACKFIN_SPORT=0
1006CONFIG_SND_BLACKFIN_SPI_PFBIT=4
1007CONFIG_SND_BFIN_AD73311=m
1008CONFIG_SND_BFIN_SPORT=0
1009CONFIG_SND_BFIN_AD73311_SE=4
992 1010
993# 1011#
994# SoC audio support 1012# SoC audio support
diff --git a/arch/blackfin/configs/BF537-STAMP_defconfig b/arch/blackfin/configs/BF537-STAMP_defconfig
index 37688bb55b9a..ccf09dc09a18 100644
--- a/arch/blackfin/configs/BF537-STAMP_defconfig
+++ b/arch/blackfin/configs/BF537-STAMP_defconfig
@@ -1,6 +1,6 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.21.3 3# Linux kernel version: 2.6.21.5
4# 4#
5# CONFIG_MMU is not set 5# CONFIG_MMU is not set
6# CONFIG_FPU is not set 6# CONFIG_FPU is not set
@@ -115,17 +115,26 @@ CONFIG_PREEMPT_VOLUNTARY=y
115# CONFIG_BF534 is not set 115# CONFIG_BF534 is not set
116# CONFIG_BF536 is not set 116# CONFIG_BF536 is not set
117CONFIG_BF537=y 117CONFIG_BF537=y
118# CONFIG_BF542 is not set
119# CONFIG_BF544 is not set
120# CONFIG_BF548 is not set
121# CONFIG_BF549 is not set
118# CONFIG_BF561 is not set 122# CONFIG_BF561 is not set
123# CONFIG_BF_REV_0_0 is not set
119CONFIG_BF_REV_0_2=y 124CONFIG_BF_REV_0_2=y
120# CONFIG_BF_REV_0_3 is not set 125# CONFIG_BF_REV_0_3 is not set
121# CONFIG_BF_REV_0_4 is not set 126# CONFIG_BF_REV_0_4 is not set
122# CONFIG_BF_REV_0_5 is not set 127# CONFIG_BF_REV_0_5 is not set
128# CONFIG_BF_REV_ANY is not set
129# CONFIG_BF_REV_NONE is not set
130CONFIG_BF53x=y
123CONFIG_BFIN_SINGLE_CORE=y 131CONFIG_BFIN_SINGLE_CORE=y
124# CONFIG_BFIN533_EZKIT is not set 132# CONFIG_BFIN533_EZKIT is not set
125# CONFIG_BFIN533_STAMP is not set 133# CONFIG_BFIN533_STAMP is not set
126CONFIG_BFIN537_STAMP=y 134CONFIG_BFIN537_STAMP=y
127# CONFIG_BFIN533_BLUETECHNIX_CM is not set 135# CONFIG_BFIN533_BLUETECHNIX_CM is not set
128# CONFIG_BFIN537_BLUETECHNIX_CM is not set 136# CONFIG_BFIN537_BLUETECHNIX_CM is not set
137# CONFIG_BFIN548_EZKIT is not set
129# CONFIG_BFIN561_BLUETECHNIX_CM is not set 138# CONFIG_BFIN561_BLUETECHNIX_CM is not set
130# CONFIG_BFIN561_EZKIT is not set 139# CONFIG_BFIN561_EZKIT is not set
131# CONFIG_BFIN561_TEPLA is not set 140# CONFIG_BFIN561_TEPLA is not set
@@ -664,6 +673,7 @@ CONFIG_BFIN_MAC_USE_L1=y
664CONFIG_BFIN_TX_DESC_NUM=10 673CONFIG_BFIN_TX_DESC_NUM=10
665CONFIG_BFIN_RX_DESC_NUM=20 674CONFIG_BFIN_RX_DESC_NUM=20
666# CONFIG_BFIN_MAC_RMII is not set 675# CONFIG_BFIN_MAC_RMII is not set
676# CONFIG_SMSC911X is not set
667 677
668# 678#
669# Ethernet (1000 Mbit) 679# Ethernet (1000 Mbit)
@@ -1020,9 +1030,17 @@ CONFIG_SND_VERBOSE_PROCFS=y
1020# 1030#
1021# ALSA Blackfin devices 1031# ALSA Blackfin devices
1022# 1032#
1023# CONFIG_SND_BLACKFIN_AD1836 is not set 1033CONFIG_SND_BLACKFIN_AD1836=m
1024# CONFIG_SND_BLACKFIN_AD1981B is not set 1034CONFIG_SND_BLACKFIN_AD1836_TDM=y
1025# CONFIG_SND_BFIN_AD73311 is not set 1035# CONFIG_SND_BLACKFIN_AD1836_I2S is not set
1036CONFIG_SND_BLACKFIN_AD1836_MULSUB=y
1037# CONFIG_SND_BLACKFIN_AD1836_5P1 is not set
1038CONFIG_SND_BLACKFIN_AD1981B=m
1039CONFIG_SND_BLACKFIN_SPORT=0
1040CONFIG_SND_BLACKFIN_SPI_PFBIT=4
1041CONFIG_SND_BFIN_AD73311=m
1042CONFIG_SND_BFIN_SPORT=0
1043CONFIG_SND_BFIN_AD73311_SE=4
1026 1044
1027# 1045#
1028# SoC audio support 1046# SoC audio support
diff --git a/arch/blackfin/configs/BF548-EZKIT_defconfig b/arch/blackfin/configs/BF548-EZKIT_defconfig
new file mode 100644
index 000000000000..ac8390fafa9c
--- /dev/null
+++ b/arch/blackfin/configs/BF548-EZKIT_defconfig
@@ -0,0 +1,1100 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.21.5
4#
5# CONFIG_MMU is not set
6# CONFIG_FPU is not set
7CONFIG_RWSEM_GENERIC_SPINLOCK=y
8# CONFIG_RWSEM_XCHGADD_ALGORITHM is not set
9CONFIG_BLACKFIN=y
10CONFIG_ZONE_DMA=y
11CONFIG_BFIN=y
12CONFIG_SEMAPHORE_SLEEPERS=y
13CONFIG_GENERIC_FIND_NEXT_BIT=y
14CONFIG_GENERIC_HWEIGHT=y
15CONFIG_GENERIC_HARDIRQS=y
16CONFIG_GENERIC_IRQ_PROBE=y
17# CONFIG_GENERIC_TIME is not set
18CONFIG_GENERIC_CALIBRATE_DELAY=y
19CONFIG_FORCE_MAX_ZONEORDER=14
20CONFIG_IRQCHIP_DEMUX_GPIO=y
21CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
22
23#
24# Code maturity level options
25#
26CONFIG_EXPERIMENTAL=y
27CONFIG_BROKEN_ON_SMP=y
28CONFIG_INIT_ENV_ARG_LIMIT=32
29
30#
31# General setup
32#
33CONFIG_LOCALVERSION=""
34CONFIG_LOCALVERSION_AUTO=y
35CONFIG_SYSVIPC=y
36# CONFIG_IPC_NS is not set
37CONFIG_SYSVIPC_SYSCTL=y
38# CONFIG_POSIX_MQUEUE is not set
39# CONFIG_BSD_PROCESS_ACCT is not set
40# CONFIG_TASKSTATS is not set
41# CONFIG_UTS_NS is not set
42# CONFIG_AUDIT is not set
43# CONFIG_IKCONFIG is not set
44CONFIG_SYSFS_DEPRECATED=y
45# CONFIG_RELAY is not set
46CONFIG_BLK_DEV_INITRD=y
47CONFIG_INITRAMFS_SOURCE=""
48# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
49CONFIG_SYSCTL=y
50CONFIG_EMBEDDED=y
51CONFIG_UID16=y
52CONFIG_SYSCTL_SYSCALL=y
53CONFIG_KALLSYMS=y
54# CONFIG_KALLSYMS_ALL is not set
55# CONFIG_KALLSYMS_EXTRA_PASS is not set
56CONFIG_HOTPLUG=y
57CONFIG_PRINTK=y
58CONFIG_BUG=y
59CONFIG_ELF_CORE=y
60CONFIG_BASE_FULL=y
61CONFIG_FUTEX=y
62CONFIG_BIG_ORDER_ALLOC_NOFAIL_MAGIC=3
63# CONFIG_NP2 is not set
64CONFIG_SLAB=y
65CONFIG_VM_EVENT_COUNTERS=y
66CONFIG_RT_MUTEXES=y
67CONFIG_TINY_SHMEM=y
68CONFIG_BASE_SMALL=0
69# CONFIG_SLOB is not set
70
71#
72# Loadable module support
73#
74CONFIG_MODULES=y
75CONFIG_MODULE_UNLOAD=y
76# CONFIG_MODULE_FORCE_UNLOAD is not set
77# CONFIG_MODVERSIONS is not set
78# CONFIG_MODULE_SRCVERSION_ALL is not set
79CONFIG_KMOD=y
80
81#
82# Block layer
83#
84CONFIG_BLOCK=y
85# CONFIG_LBD is not set
86# CONFIG_BLK_DEV_IO_TRACE is not set
87# CONFIG_LSF is not set
88
89#
90# IO Schedulers
91#
92CONFIG_IOSCHED_NOOP=y
93CONFIG_IOSCHED_AS=y
94# CONFIG_IOSCHED_DEADLINE is not set
95CONFIG_IOSCHED_CFQ=y
96CONFIG_DEFAULT_AS=y
97# CONFIG_DEFAULT_DEADLINE is not set
98# CONFIG_DEFAULT_CFQ is not set
99# CONFIG_DEFAULT_NOOP is not set
100CONFIG_DEFAULT_IOSCHED="anticipatory"
101# CONFIG_PREEMPT_NONE is not set
102CONFIG_PREEMPT_VOLUNTARY=y
103# CONFIG_PREEMPT is not set
104
105#
106# Blackfin Processor Options
107#
108
109#
110# Processor and Board Settings
111#
112# CONFIG_BF531 is not set
113# CONFIG_BF532 is not set
114# CONFIG_BF533 is not set
115# CONFIG_BF534 is not set
116# CONFIG_BF536 is not set
117# CONFIG_BF537 is not set
118# CONFIG_BF542 is not set
119# CONFIG_BF544 is not set
120# CONFIG_BF548 is not set
121CONFIG_BF549=y
122# CONFIG_BF561 is not set
123CONFIG_BF_REV_0_0=y
124# CONFIG_BF_REV_0_2 is not set
125# CONFIG_BF_REV_0_3 is not set
126# CONFIG_BF_REV_0_4 is not set
127# CONFIG_BF_REV_0_5 is not set
128# CONFIG_BF_REV_ANY is not set
129# CONFIG_BF_REV_NONE is not set
130CONFIG_BF54x=y
131CONFIG_BFIN_SINGLE_CORE=y
132# CONFIG_BFIN533_EZKIT is not set
133# CONFIG_BFIN533_STAMP is not set
134# CONFIG_BFIN537_STAMP is not set
135# CONFIG_BFIN533_BLUETECHNIX_CM is not set
136# CONFIG_BFIN537_BLUETECHNIX_CM is not set
137CONFIG_BFIN548_EZKIT=y
138# CONFIG_BFIN561_BLUETECHNIX_CM is not set
139# CONFIG_BFIN561_EZKIT is not set
140# CONFIG_BFIN561_TEPLA is not set
141# CONFIG_PNAV10 is not set
142# CONFIG_GENERIC_BOARD is not set
143CONFIG_IRQ_PLL_WAKEUP=7
144CONFIG_IRQ_TIMER0=11
145CONFIG_IRQ_TIMER1=11
146CONFIG_IRQ_TIMER2=11
147CONFIG_IRQ_TIMER3=11
148CONFIG_IRQ_TIMER4=11
149CONFIG_IRQ_TIMER5=11
150CONFIG_IRQ_TIMER6=11
151CONFIG_IRQ_TIMER7=11
152CONFIG_IRQ_TIMER8=11
153CONFIG_IRQ_TIMER9=11
154CONFIG_IRQ_TIMER10=11
155CONFIG_IRQ_RTC=8
156CONFIG_IRQ_SPORT0_RX=9
157CONFIG_IRQ_SPORT0_TX=9
158CONFIG_IRQ_SPORT1_RX=9
159CONFIG_IRQ_SPORT1_TX=9
160CONFIG_IRQ_UART0_RX=10
161CONFIG_IRQ_UART0_TX=10
162CONFIG_IRQ_UART1_RX=10
163CONFIG_IRQ_UART1_TX=10
164
165#
166# BF548 Specific Configuration
167#
168
169#
170# Interrupt Priority Assignment
171#
172
173#
174# Priority
175#
176CONFIG_IRQ_DMAC0_ERR=7
177CONFIG_IRQ_EPPI0_ERR=7
178CONFIG_IRQ_SPORT0_ERR=7
179CONFIG_IRQ_SPORT1_ERR=7
180CONFIG_IRQ_SPI0_ERR=7
181CONFIG_IRQ_UART0_ERR=7
182CONFIG_IRQ_EPPI0=8
183CONFIG_IRQ_SPI0=10
184CONFIG_IRQ_PINT0=12
185CONFIG_IRQ_PINT1=12
186CONFIG_IRQ_MDMAS0=13
187CONFIG_IRQ_MDMAS1=13
188CONFIG_IRQ_WATCHDOG=13
189CONFIG_IRQ_DMAC1_ERR=7
190CONFIG_IRQ_SPORT2_ERR=7
191CONFIG_IRQ_SPORT3_ERR=7
192CONFIG_IRQ_MXVR_DATA=7
193CONFIG_IRQ_SPI1_ERR=7
194CONFIG_IRQ_SPI2_ERR=7
195CONFIG_IRQ_UART1_ERR=7
196CONFIG_IRQ_UART2_ERR=7
197CONFIG_IRQ_CAN0_ERR=7
198CONFIG_IRQ_SPORT2_RX=9
199CONFIG_IRQ_SPORT2_TX=9
200CONFIG_IRQ_SPORT3_RX=9
201CONFIG_IRQ_SPORT3_TX=9
202CONFIG_IRQ_EPPI1=9
203CONFIG_IRQ_EPPI2=9
204CONFIG_IRQ_SPI1=10
205CONFIG_IRQ_SPI2=10
206CONFIG_IRQ_ATAPI_RX=10
207CONFIG_IRQ_ATAPI_TX=10
208CONFIG_IRQ_TWI0=11
209CONFIG_IRQ_TWI1=11
210CONFIG_IRQ_CAN0_RX=11
211CONFIG_IRQ_CAN0_TX=11
212CONFIG_IRQ_MDMAS2=13
213CONFIG_IRQ_MDMAS3=13
214CONFIG_IRQ_MXVR_ERR=11
215CONFIG_IRQ_MXVR_MSG=11
216CONFIG_IRQ_MXVR_PKT=11
217CONFIG_IRQ_EPPI1_ERR=7
218CONFIG_IRQ_EPPI2_ERR=7
219CONFIG_IRQ_UART3_ERR=7
220CONFIG_IRQ_HOST_ERR=7
221CONFIG_IRQ_PIXC_ERR=7
222CONFIG_IRQ_NFC_ERR=7
223CONFIG_IRQ_ATAPI_ERR=7
224CONFIG_IRQ_CAN1_ERR=7
225CONFIG_IRQ_HS_DMA_ERR=7
226CONFIG_IRQ_PIXC_IN0=8
227CONFIG_IRQ_PIXC_IN1=8
228CONFIG_IRQ_PIXC_OUT=8
229CONFIG_IRQ_SDH=8
230CONFIG_IRQ_CNT=8
231CONFIG_IRQ_KEY=8
232CONFIG_IRQ_CAN1_RX=11
233CONFIG_IRQ_CAN1_TX=11
234CONFIG_IRQ_SDH_MASK0=11
235CONFIG_IRQ_SDH_MASK1=11
236CONFIG_IRQ_USB_INT0=11
237CONFIG_IRQ_USB_INT1=11
238CONFIG_IRQ_USB_INT2=11
239CONFIG_IRQ_USB_DMA=11
240CONFIG_IRQ_OTPSEC=11
241CONFIG_IRQ_PINT2=11
242CONFIG_IRQ_PINT3=11
243
244#
245# Board customizations
246#
247# CONFIG_CMDLINE_BOOL is not set
248
249#
250# Board Setup
251#
252CONFIG_CLKIN_HZ=25000000
253CONFIG_MEM_SIZE=64
254CONFIG_MEM_ADD_WIDTH=10
255CONFIG_BOOT_LOAD=0x1000
256
257#
258# Blackfin Kernel Optimizations
259#
260
261#
262# Timer Tick
263#
264# CONFIG_HZ_100 is not set
265CONFIG_HZ_250=y
266# CONFIG_HZ_300 is not set
267# CONFIG_HZ_1000 is not set
268CONFIG_HZ=250
269
270#
271# Memory Optimizations
272#
273CONFIG_I_ENTRY_L1=y
274CONFIG_EXCPT_IRQ_SYSC_L1=y
275CONFIG_DO_IRQ_L1=y
276CONFIG_CORE_TIMER_IRQ_L1=y
277CONFIG_IDLE_L1=y
278CONFIG_SCHEDULE_L1=y
279CONFIG_ARITHMETIC_OPS_L1=y
280CONFIG_ACCESS_OK_L1=y
281CONFIG_MEMSET_L1=y
282CONFIG_MEMCPY_L1=y
283CONFIG_SYS_BFIN_SPINLOCK_L1=y
284# CONFIG_IP_CHECKSUM_L1 is not set
285CONFIG_CACHELINE_ALIGNED_L1=y
286# CONFIG_SYSCALL_TAB_L1 is not set
287# CONFIG_CPLB_SWITCH_TAB_L1 is not set
288CONFIG_RAMKERNEL=y
289# CONFIG_ROMKERNEL is not set
290CONFIG_SELECT_MEMORY_MODEL=y
291CONFIG_FLATMEM_MANUAL=y
292# CONFIG_DISCONTIGMEM_MANUAL is not set
293# CONFIG_SPARSEMEM_MANUAL is not set
294CONFIG_FLATMEM=y
295CONFIG_FLAT_NODE_MEM_MAP=y
296# CONFIG_SPARSEMEM_STATIC is not set
297CONFIG_SPLIT_PTLOCK_CPUS=4
298# CONFIG_RESOURCES_64BIT is not set
299CONFIG_ZONE_DMA_FLAG=1
300CONFIG_LARGE_ALLOCS=y
301CONFIG_BFIN_DMA_5XX=y
302# CONFIG_DMA_UNCACHED_2M is not set
303CONFIG_DMA_UNCACHED_1M=y
304# CONFIG_DMA_UNCACHED_NONE is not set
305
306#
307# Cache Support
308#
309CONFIG_BLKFIN_CACHE=y
310CONFIG_BLKFIN_DCACHE=y
311# CONFIG_BLKFIN_DCACHE_BANKA is not set
312# CONFIG_BLKFIN_CACHE_LOCK is not set
313# CONFIG_BLKFIN_WB is not set
314CONFIG_BLKFIN_WT=y
315CONFIG_L1_MAX_PIECE=16
316
317#
318# Clock Settings
319#
320# CONFIG_BFIN_KERNEL_CLOCK is not set
321
322#
323# Asynchonous Memory Configuration
324#
325
326#
327# EBIU_AMBCTL Global Control
328#
329CONFIG_C_AMCKEN=y
330CONFIG_C_CDPRIO=y
331# CONFIG_C_AMBEN is not set
332# CONFIG_C_AMBEN_B0 is not set
333# CONFIG_C_AMBEN_B0_B1 is not set
334# CONFIG_C_AMBEN_B0_B1_B2 is not set
335CONFIG_C_AMBEN_ALL=y
336
337#
338# EBIU_AMBCTL Control
339#
340CONFIG_BANK_0=0x7BB0
341CONFIG_BANK_1=0x7BB0
342CONFIG_BANK_2=0x7BB0
343CONFIG_BANK_3=0x99B3
344
345#
346# Bus options (PCI, PCMCIA, EISA, MCA, ISA)
347#
348# CONFIG_PCI is not set
349
350#
351# PCCARD (PCMCIA/CardBus) support
352#
353# CONFIG_PCCARD is not set
354
355#
356# PCI Hotplug Support
357#
358
359#
360# Executable file formats
361#
362CONFIG_BINFMT_ELF_FDPIC=y
363CONFIG_BINFMT_FLAT=y
364CONFIG_BINFMT_ZFLAT=y
365# CONFIG_BINFMT_SHARED_FLAT is not set
366# CONFIG_BINFMT_MISC is not set
367
368#
369# Power management options
370#
371# CONFIG_PM is not set
372
373#
374# CPU Frequency scaling
375#
376# CONFIG_CPU_FREQ is not set
377
378#
379# Networking
380#
381CONFIG_NET=y
382
383#
384# Networking options
385#
386# CONFIG_NETDEBUG is not set
387CONFIG_PACKET=y
388# CONFIG_PACKET_MMAP is not set
389CONFIG_UNIX=y
390CONFIG_XFRM=y
391# CONFIG_XFRM_USER is not set
392# CONFIG_XFRM_SUB_POLICY is not set
393# CONFIG_XFRM_MIGRATE is not set
394# CONFIG_NET_KEY is not set
395CONFIG_INET=y
396# CONFIG_IP_MULTICAST is not set
397# CONFIG_IP_ADVANCED_ROUTER is not set
398CONFIG_IP_FIB_HASH=y
399CONFIG_IP_PNP=y
400# CONFIG_IP_PNP_DHCP is not set
401# CONFIG_IP_PNP_BOOTP is not set
402# CONFIG_IP_PNP_RARP is not set
403# CONFIG_NET_IPIP is not set
404# CONFIG_NET_IPGRE is not set
405# CONFIG_ARPD is not set
406CONFIG_SYN_COOKIES=y
407# CONFIG_INET_AH is not set
408# CONFIG_INET_ESP is not set
409# CONFIG_INET_IPCOMP is not set
410# CONFIG_INET_XFRM_TUNNEL is not set
411# CONFIG_INET_TUNNEL is not set
412CONFIG_INET_XFRM_MODE_TRANSPORT=y
413CONFIG_INET_XFRM_MODE_TUNNEL=y
414CONFIG_INET_XFRM_MODE_BEET=y
415CONFIG_INET_DIAG=y
416CONFIG_INET_TCP_DIAG=y
417# CONFIG_TCP_CONG_ADVANCED is not set
418CONFIG_TCP_CONG_CUBIC=y
419CONFIG_DEFAULT_TCP_CONG="cubic"
420# CONFIG_TCP_MD5SIG is not set
421# CONFIG_IPV6 is not set
422# CONFIG_INET6_XFRM_TUNNEL is not set
423# CONFIG_INET6_TUNNEL is not set
424# CONFIG_NETLABEL is not set
425# CONFIG_NETWORK_SECMARK is not set
426# CONFIG_NETFILTER is not set
427
428#
429# DCCP Configuration (EXPERIMENTAL)
430#
431# CONFIG_IP_DCCP is not set
432
433#
434# SCTP Configuration (EXPERIMENTAL)
435#
436# CONFIG_IP_SCTP is not set
437
438#
439# TIPC Configuration (EXPERIMENTAL)
440#
441# CONFIG_TIPC is not set
442# CONFIG_ATM is not set
443# CONFIG_BRIDGE is not set
444# CONFIG_VLAN_8021Q is not set
445# CONFIG_DECNET is not set
446# CONFIG_LLC2 is not set
447# CONFIG_IPX is not set
448# CONFIG_ATALK is not set
449# CONFIG_X25 is not set
450# CONFIG_LAPB is not set
451# CONFIG_ECONET is not set
452# CONFIG_WAN_ROUTER is not set
453
454#
455# QoS and/or fair queueing
456#
457# CONFIG_NET_SCHED is not set
458
459#
460# Network testing
461#
462# CONFIG_NET_PKTGEN is not set
463# CONFIG_HAMRADIO is not set
464# CONFIG_IRDA is not set
465# CONFIG_BT is not set
466# CONFIG_IEEE80211 is not set
467
468#
469# Device Drivers
470#
471
472#
473# Generic Driver Options
474#
475CONFIG_STANDALONE=y
476CONFIG_PREVENT_FIRMWARE_BUILD=y
477# CONFIG_FW_LOADER is not set
478# CONFIG_DEBUG_DRIVER is not set
479# CONFIG_DEBUG_DEVRES is not set
480# CONFIG_SYS_HYPERVISOR is not set
481
482#
483# Connector - unified userspace <-> kernelspace linker
484#
485# CONFIG_CONNECTOR is not set
486
487#
488# Memory Technology Devices (MTD)
489#
490CONFIG_MTD=y
491# CONFIG_MTD_DEBUG is not set
492# CONFIG_MTD_CONCAT is not set
493CONFIG_MTD_PARTITIONS=y
494# CONFIG_MTD_REDBOOT_PARTS is not set
495# CONFIG_MTD_CMDLINE_PARTS is not set
496
497#
498# User Modules And Translation Layers
499#
500# CONFIG_MTD_CHAR is not set
501CONFIG_MTD_BLKDEVS=y
502CONFIG_MTD_BLOCK=y
503# CONFIG_FTL is not set
504# CONFIG_NFTL is not set
505# CONFIG_INFTL is not set
506# CONFIG_RFD_FTL is not set
507# CONFIG_SSFDC is not set
508
509#
510# RAM/ROM/Flash chip drivers
511#
512# CONFIG_MTD_CFI is not set
513# CONFIG_MTD_JEDECPROBE is not set
514CONFIG_MTD_MAP_BANK_WIDTH_1=y
515CONFIG_MTD_MAP_BANK_WIDTH_2=y
516CONFIG_MTD_MAP_BANK_WIDTH_4=y
517# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
518# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
519# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
520CONFIG_MTD_CFI_I1=y
521CONFIG_MTD_CFI_I2=y
522# CONFIG_MTD_CFI_I4 is not set
523# CONFIG_MTD_CFI_I8 is not set
524CONFIG_MTD_RAM=y
525# CONFIG_MTD_ROM is not set
526# CONFIG_MTD_ABSENT is not set
527# CONFIG_MTD_OBSOLETE_CHIPS is not set
528
529#
530# Mapping drivers for chip access
531#
532CONFIG_MTD_COMPLEX_MAPPINGS=y
533# CONFIG_MTD_BF5xx is not set
534CONFIG_MTD_UCLINUX=y
535# CONFIG_MTD_PLATRAM is not set
536
537#
538# Self-contained MTD device drivers
539#
540# CONFIG_MTD_SLRAM is not set
541# CONFIG_MTD_PHRAM is not set
542# CONFIG_MTD_MTDRAM is not set
543# CONFIG_MTD_BLOCK2MTD is not set
544
545#
546# Disk-On-Chip Device Drivers
547#
548# CONFIG_MTD_DOC2000 is not set
549# CONFIG_MTD_DOC2001 is not set
550# CONFIG_MTD_DOC2001PLUS is not set
551
552#
553# NAND Flash Device Drivers
554#
555# CONFIG_MTD_NAND is not set
556
557#
558# OneNAND Flash Device Drivers
559#
560# CONFIG_MTD_ONENAND is not set
561
562#
563# Parallel port support
564#
565# CONFIG_PARPORT is not set
566
567#
568# Plug and Play support
569#
570# CONFIG_PNPACPI is not set
571
572#
573# Block devices
574#
575# CONFIG_BLK_DEV_COW_COMMON is not set
576# CONFIG_BLK_DEV_LOOP is not set
577# CONFIG_BLK_DEV_NBD is not set
578CONFIG_BLK_DEV_RAM=y
579CONFIG_BLK_DEV_RAM_COUNT=16
580CONFIG_BLK_DEV_RAM_SIZE=4096
581CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
582# CONFIG_CDROM_PKTCDVD is not set
583# CONFIG_ATA_OVER_ETH is not set
584
585#
586# Misc devices
587#
588
589#
590# ATA/ATAPI/MFM/RLL support
591#
592# CONFIG_IDE is not set
593
594#
595# SCSI device support
596#
597# CONFIG_RAID_ATTRS is not set
598# CONFIG_SCSI is not set
599# CONFIG_SCSI_NETLINK is not set
600
601#
602# Serial ATA (prod) and Parallel ATA (experimental) drivers
603#
604# CONFIG_ATA is not set
605
606#
607# Multi-device support (RAID and LVM)
608#
609# CONFIG_MD is not set
610
611#
612# Fusion MPT device support
613#
614# CONFIG_FUSION is not set
615
616#
617# IEEE 1394 (FireWire) support
618#
619
620#
621# I2O device support
622#
623
624#
625# Network device support
626#
627CONFIG_NETDEVICES=y
628# CONFIG_DUMMY is not set
629# CONFIG_BONDING is not set
630# CONFIG_EQUALIZER is not set
631# CONFIG_TUN is not set
632
633#
634# PHY device support
635#
636# CONFIG_PHYLIB is not set
637
638#
639# Ethernet (10 or 100Mbit)
640#
641CONFIG_NET_ETHERNET=y
642CONFIG_MII=y
643# CONFIG_SMC91X is not set
644# CONFIG_SMSC911X is not set
645
646#
647# Ethernet (1000 Mbit)
648#
649
650#
651# Ethernet (10000 Mbit)
652#
653
654#
655# Token Ring devices
656#
657
658#
659# Wireless LAN (non-hamradio)
660#
661# CONFIG_NET_RADIO is not set
662
663#
664# Wan interfaces
665#
666# CONFIG_WAN is not set
667# CONFIG_PPP is not set
668# CONFIG_SLIP is not set
669# CONFIG_SHAPER is not set
670# CONFIG_NETCONSOLE is not set
671# CONFIG_NETPOLL is not set
672# CONFIG_NET_POLL_CONTROLLER is not set
673
674#
675# ISDN subsystem
676#
677# CONFIG_ISDN is not set
678
679#
680# Telephony Support
681#
682# CONFIG_PHONE is not set
683
684#
685# Input device support
686#
687CONFIG_INPUT=y
688# CONFIG_INPUT_FF_MEMLESS is not set
689
690#
691# Userland interfaces
692#
693# CONFIG_INPUT_MOUSEDEV is not set
694# CONFIG_INPUT_JOYDEV is not set
695# CONFIG_INPUT_TSDEV is not set
696# CONFIG_INPUT_EVDEV is not set
697# CONFIG_INPUT_EVBUG is not set
698
699#
700# Input Device Drivers
701#
702# CONFIG_INPUT_KEYBOARD is not set
703# CONFIG_INPUT_MOUSE is not set
704# CONFIG_INPUT_JOYSTICK is not set
705# CONFIG_INPUT_TOUCHSCREEN is not set
706CONFIG_INPUT_MISC=y
707# CONFIG_INPUT_UINPUT is not set
708# CONFIG_BF53X_PFBUTTONS is not set
709
710#
711# Hardware I/O ports
712#
713# CONFIG_SERIO is not set
714# CONFIG_GAMEPORT is not set
715
716#
717# Character devices
718#
719# CONFIG_AD9960 is not set
720# CONFIG_SPI_ADC_BF533 is not set
721# CONFIG_BF5xx_PFLAGS is not set
722# CONFIG_BF5xx_PPIFCD is not set
723# CONFIG_BF5xx_TIMERS is not set
724# CONFIG_BF5xx_PPI is not set
725# CONFIG_BFIN_SPORT is not set
726# CONFIG_BFIN_TIMER_LATENCY is not set
727# CONFIG_BF5xx_FBDMA is not set
728# CONFIG_VT is not set
729# CONFIG_SERIAL_NONSTANDARD is not set
730
731#
732# Serial drivers
733#
734# CONFIG_SERIAL_8250 is not set
735
736#
737# Non-8250 serial port support
738#
739CONFIG_SERIAL_BFIN=y
740CONFIG_SERIAL_BFIN_CONSOLE=y
741# CONFIG_SERIAL_BFIN_DMA is not set
742CONFIG_SERIAL_BFIN_PIO=y
743# CONFIG_SERIAL_BFIN_UART0 is not set
744CONFIG_SERIAL_BFIN_UART1=y
745# CONFIG_BFIN_UART1_CTSRTS is not set
746# CONFIG_SERIAL_BFIN_UART2 is not set
747# CONFIG_SERIAL_BFIN_UART3 is not set
748CONFIG_SERIAL_CORE=y
749CONFIG_SERIAL_CORE_CONSOLE=y
750# CONFIG_SERIAL_BFIN_SPORT is not set
751CONFIG_UNIX98_PTYS=y
752# CONFIG_LEGACY_PTYS is not set
753
754#
755# CAN, the car bus and industrial fieldbus
756#
757# CONFIG_CAN4LINUX is not set
758
759#
760# IPMI
761#
762# CONFIG_IPMI_HANDLER is not set
763
764#
765# Watchdog Cards
766#
767# CONFIG_WATCHDOG is not set
768CONFIG_HW_RANDOM=y
769# CONFIG_GEN_RTC is not set
770# CONFIG_DTLK is not set
771# CONFIG_R3964 is not set
772# CONFIG_RAW_DRIVER is not set
773
774#
775# TPM devices
776#
777# CONFIG_TCG_TPM is not set
778
779#
780# I2C support
781#
782# CONFIG_I2C is not set
783
784#
785# SPI support
786#
787# CONFIG_SPI is not set
788# CONFIG_SPI_MASTER is not set
789
790#
791# Dallas's 1-wire bus
792#
793# CONFIG_W1 is not set
794
795#
796# Hardware Monitoring support
797#
798CONFIG_HWMON=y
799# CONFIG_HWMON_VID is not set
800# CONFIG_SENSORS_ABITUGURU is not set
801# CONFIG_SENSORS_F71805F is not set
802# CONFIG_SENSORS_PC87427 is not set
803# CONFIG_SENSORS_VT1211 is not set
804# CONFIG_HWMON_DEBUG_CHIP is not set
805
806#
807# Multifunction device drivers
808#
809# CONFIG_MFD_SM501 is not set
810
811#
812# Multimedia devices
813#
814# CONFIG_VIDEO_DEV is not set
815
816#
817# Digital Video Broadcasting Devices
818#
819# CONFIG_DVB is not set
820
821#
822# Graphics support
823#
824# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
825# CONFIG_FB is not set
826
827#
828# Sound
829#
830# CONFIG_SOUND is not set
831
832#
833# HID Devices
834#
835CONFIG_HID=y
836# CONFIG_HID_DEBUG is not set
837
838#
839# USB support
840#
841CONFIG_USB_ARCH_HAS_HCD=y
842# CONFIG_USB_ARCH_HAS_OHCI is not set
843# CONFIG_USB_ARCH_HAS_EHCI is not set
844# CONFIG_USB is not set
845
846#
847# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
848#
849
850#
851# USB Gadget Support
852#
853# CONFIG_USB_GADGET is not set
854
855#
856# MMC/SD Card support
857#
858# CONFIG_MMC is not set
859
860#
861# LED devices
862#
863# CONFIG_NEW_LEDS is not set
864
865#
866# LED drivers
867#
868
869#
870# LED Triggers
871#
872
873#
874# InfiniBand support
875#
876
877#
878# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
879#
880
881#
882# Real Time Clock
883#
884CONFIG_RTC_LIB=y
885CONFIG_RTC_CLASS=y
886CONFIG_RTC_HCTOSYS=y
887CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
888# CONFIG_RTC_DEBUG is not set
889
890#
891# RTC interfaces
892#
893CONFIG_RTC_INTF_SYSFS=y
894CONFIG_RTC_INTF_PROC=y
895CONFIG_RTC_INTF_DEV=y
896# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
897
898#
899# RTC drivers
900#
901# CONFIG_RTC_DRV_DS1553 is not set
902# CONFIG_RTC_DRV_DS1742 is not set
903# CONFIG_RTC_DRV_M48T86 is not set
904# CONFIG_RTC_DRV_TEST is not set
905# CONFIG_RTC_DRV_V3020 is not set
906CONFIG_RTC_DRV_BFIN=y
907
908#
909# DMA Engine support
910#
911# CONFIG_DMA_ENGINE is not set
912
913#
914# DMA Clients
915#
916
917#
918# DMA Devices
919#
920
921#
922# Auxiliary Display support
923#
924
925#
926# Virtualization
927#
928
929#
930# PBX support
931#
932# CONFIG_PBX is not set
933
934#
935# File systems
936#
937CONFIG_EXT2_FS=y
938CONFIG_EXT2_FS_XATTR=y
939# CONFIG_EXT2_FS_POSIX_ACL is not set
940# CONFIG_EXT2_FS_SECURITY is not set
941# CONFIG_EXT3_FS is not set
942# CONFIG_EXT4DEV_FS is not set
943CONFIG_FS_MBCACHE=y
944# CONFIG_REISERFS_FS is not set
945# CONFIG_JFS_FS is not set
946# CONFIG_FS_POSIX_ACL is not set
947# CONFIG_XFS_FS is not set
948# CONFIG_GFS2_FS is not set
949# CONFIG_OCFS2_FS is not set
950# CONFIG_MINIX_FS is not set
951# CONFIG_ROMFS_FS is not set
952CONFIG_INOTIFY=y
953CONFIG_INOTIFY_USER=y
954# CONFIG_QUOTA is not set
955CONFIG_DNOTIFY=y
956# CONFIG_AUTOFS_FS is not set
957# CONFIG_AUTOFS4_FS is not set
958# CONFIG_FUSE_FS is not set
959
960#
961# CD-ROM/DVD Filesystems
962#
963# CONFIG_ISO9660_FS is not set
964# CONFIG_UDF_FS is not set
965
966#
967# DOS/FAT/NT Filesystems
968#
969# CONFIG_MSDOS_FS is not set
970# CONFIG_VFAT_FS is not set
971# CONFIG_NTFS_FS is not set
972
973#
974# Pseudo filesystems
975#
976CONFIG_PROC_FS=y
977CONFIG_PROC_SYSCTL=y
978CONFIG_SYSFS=y
979# CONFIG_TMPFS is not set
980# CONFIG_HUGETLB_PAGE is not set
981CONFIG_RAMFS=y
982# CONFIG_CONFIGFS_FS is not set
983
984#
985# Miscellaneous filesystems
986#
987# CONFIG_ADFS_FS is not set
988# CONFIG_AFFS_FS is not set
989# CONFIG_HFS_FS is not set
990# CONFIG_HFSPLUS_FS is not set
991# CONFIG_BEFS_FS is not set
992# CONFIG_BFS_FS is not set
993# CONFIG_EFS_FS is not set
994# CONFIG_YAFFS_FS is not set
995# CONFIG_JFFS2_FS is not set
996# CONFIG_CRAMFS is not set
997# CONFIG_VXFS_FS is not set
998# CONFIG_HPFS_FS is not set
999# CONFIG_QNX4FS_FS is not set
1000# CONFIG_SYSV_FS is not set
1001# CONFIG_UFS_FS is not set
1002
1003#
1004# Network File Systems
1005#
1006# CONFIG_NFS_FS is not set
1007# CONFIG_NFSD is not set
1008# CONFIG_SMB_FS is not set
1009# CONFIG_CIFS is not set
1010# CONFIG_NCP_FS is not set
1011# CONFIG_CODA_FS is not set
1012# CONFIG_AFS_FS is not set
1013# CONFIG_9P_FS is not set
1014
1015#
1016# Partition Types
1017#
1018# CONFIG_PARTITION_ADVANCED is not set
1019CONFIG_MSDOS_PARTITION=y
1020
1021#
1022# Native Language Support
1023#
1024# CONFIG_NLS is not set
1025
1026#
1027# Distributed Lock Manager
1028#
1029# CONFIG_DLM is not set
1030
1031#
1032# Profiling support
1033#
1034# CONFIG_PROFILING is not set
1035
1036#
1037# Kernel hacking
1038#
1039# CONFIG_PRINTK_TIME is not set
1040CONFIG_ENABLE_MUST_CHECK=y
1041CONFIG_MAGIC_SYSRQ=y
1042# CONFIG_UNUSED_SYMBOLS is not set
1043# CONFIG_DEBUG_FS is not set
1044# CONFIG_HEADERS_CHECK is not set
1045CONFIG_DEBUG_KERNEL=y
1046# CONFIG_DEBUG_SHIRQ is not set
1047CONFIG_LOG_BUF_SHIFT=14
1048CONFIG_DETECT_SOFTLOCKUP=y
1049# CONFIG_SCHEDSTATS is not set
1050# CONFIG_TIMER_STATS is not set
1051# CONFIG_DEBUG_SLAB is not set
1052# CONFIG_DEBUG_RT_MUTEXES is not set
1053# CONFIG_RT_MUTEX_TESTER is not set
1054# CONFIG_DEBUG_SPINLOCK is not set
1055# CONFIG_DEBUG_MUTEXES is not set
1056# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1057# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1058# CONFIG_DEBUG_KOBJECT is not set
1059# CONFIG_DEBUG_BUGVERBOSE is not set
1060CONFIG_DEBUG_INFO=y
1061# CONFIG_DEBUG_VM is not set
1062# CONFIG_DEBUG_LIST is not set
1063CONFIG_FRAME_POINTER=y
1064CONFIG_FORCED_INLINING=y
1065# CONFIG_RCU_TORTURE_TEST is not set
1066# CONFIG_FAULT_INJECTION is not set
1067CONFIG_DEBUG_HWERR=y
1068# CONFIG_DEBUG_ICACHE_CHECK is not set
1069# CONFIG_DEBUG_KERNEL_START is not set
1070# CONFIG_DEBUG_SERIAL_EARLY_INIT is not set
1071CONFIG_DEBUG_HUNT_FOR_ZERO=y
1072# CONFIG_DEBUG_BFIN_NO_KERN_HWTRACE is not set
1073CONFIG_CPLB_INFO=y
1074CONFIG_ACCESS_CHECK=y
1075
1076#
1077# Security options
1078#
1079# CONFIG_KEYS is not set
1080CONFIG_SECURITY=y
1081# CONFIG_SECURITY_NETWORK is not set
1082CONFIG_SECURITY_CAPABILITIES=y
1083
1084#
1085# Cryptographic options
1086#
1087# CONFIG_CRYPTO is not set
1088
1089#
1090# Library routines
1091#
1092CONFIG_BITREVERSE=y
1093# CONFIG_CRC_CCITT is not set
1094# CONFIG_CRC16 is not set
1095CONFIG_CRC32=y
1096# CONFIG_LIBCRC32C is not set
1097CONFIG_ZLIB_INFLATE=y
1098CONFIG_PLIST=y
1099CONFIG_HAS_IOMEM=y
1100CONFIG_HAS_IOPORT=y
diff --git a/arch/blackfin/configs/BF561-EZKIT_defconfig b/arch/blackfin/configs/BF561-EZKIT_defconfig
index fe4e67debaca..51c0b6f97798 100644
--- a/arch/blackfin/configs/BF561-EZKIT_defconfig
+++ b/arch/blackfin/configs/BF561-EZKIT_defconfig
@@ -1,6 +1,6 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.21.3 3# Linux kernel version: 2.6.21.5
4# 4#
5# CONFIG_MMU is not set 5# CONFIG_MMU is not set
6# CONFIG_FPU is not set 6# CONFIG_FPU is not set
@@ -115,17 +115,25 @@ CONFIG_PREEMPT_VOLUNTARY=y
115# CONFIG_BF534 is not set 115# CONFIG_BF534 is not set
116# CONFIG_BF536 is not set 116# CONFIG_BF536 is not set
117# CONFIG_BF537 is not set 117# CONFIG_BF537 is not set
118# CONFIG_BF542 is not set
119# CONFIG_BF544 is not set
120# CONFIG_BF548 is not set
121# CONFIG_BF549 is not set
118CONFIG_BF561=y 122CONFIG_BF561=y
123# CONFIG_BF_REV_0_0 is not set
119# CONFIG_BF_REV_0_2 is not set 124# CONFIG_BF_REV_0_2 is not set
120CONFIG_BF_REV_0_3=y 125CONFIG_BF_REV_0_3=y
121# CONFIG_BF_REV_0_4 is not set 126# CONFIG_BF_REV_0_4 is not set
122# CONFIG_BF_REV_0_5 is not set 127# CONFIG_BF_REV_0_5 is not set
128# CONFIG_BF_REV_ANY is not set
129# CONFIG_BF_REV_NONE is not set
123CONFIG_BFIN_DUAL_CORE=y 130CONFIG_BFIN_DUAL_CORE=y
124# CONFIG_BFIN533_EZKIT is not set 131# CONFIG_BFIN533_EZKIT is not set
125# CONFIG_BFIN533_STAMP is not set 132# CONFIG_BFIN533_STAMP is not set
126# CONFIG_BFIN537_STAMP is not set 133# CONFIG_BFIN537_STAMP is not set
127# CONFIG_BFIN533_BLUETECHNIX_CM is not set 134# CONFIG_BFIN533_BLUETECHNIX_CM is not set
128# CONFIG_BFIN537_BLUETECHNIX_CM is not set 135# CONFIG_BFIN537_BLUETECHNIX_CM is not set
136# CONFIG_BFIN548_EZKIT is not set
129# CONFIG_BFIN561_BLUETECHNIX_CM is not set 137# CONFIG_BFIN561_BLUETECHNIX_CM is not set
130CONFIG_BFIN561_EZKIT=y 138CONFIG_BFIN561_EZKIT=y
131# CONFIG_BFIN561_TEPLA is not set 139# CONFIG_BFIN561_TEPLA is not set
@@ -673,6 +681,7 @@ CONFIG_NETDEVICES=y
673CONFIG_NET_ETHERNET=y 681CONFIG_NET_ETHERNET=y
674CONFIG_MII=y 682CONFIG_MII=y
675CONFIG_SMC91X=y 683CONFIG_SMC91X=y
684# CONFIG_SMSC911X is not set
676 685
677# 686#
678# Ethernet (1000 Mbit) 687# Ethernet (1000 Mbit)
@@ -801,7 +810,6 @@ CONFIG_WATCHDOG=y
801CONFIG_BFIN_WDT=y 810CONFIG_BFIN_WDT=y
802CONFIG_HW_RANDOM=y 811CONFIG_HW_RANDOM=y
803# CONFIG_GEN_RTC is not set 812# CONFIG_GEN_RTC is not set
804# CONFIG_BLACKFIN_DPMC is not set
805# CONFIG_DTLK is not set 813# CONFIG_DTLK is not set
806# CONFIG_R3964 is not set 814# CONFIG_R3964 is not set
807# CONFIG_RAW_DRIVER is not set 815# CONFIG_RAW_DRIVER is not set
diff --git a/arch/blackfin/configs/PNAV-10_defconfig b/arch/blackfin/configs/PNAV-10_defconfig
index a783ff69ace1..983ed181c896 100644
--- a/arch/blackfin/configs/PNAV-10_defconfig
+++ b/arch/blackfin/configs/PNAV-10_defconfig
@@ -1,6 +1,6 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.21.3 3# Linux kernel version: 2.6.21.5
4# 4#
5# CONFIG_MMU is not set 5# CONFIG_MMU is not set
6# CONFIG_FPU is not set 6# CONFIG_FPU is not set
@@ -114,17 +114,26 @@ CONFIG_PREEMPT_VOLUNTARY=y
114# CONFIG_BF534 is not set 114# CONFIG_BF534 is not set
115# CONFIG_BF536 is not set 115# CONFIG_BF536 is not set
116CONFIG_BF537=y 116CONFIG_BF537=y
117# CONFIG_BF542 is not set
118# CONFIG_BF544 is not set
119# CONFIG_BF548 is not set
120# CONFIG_BF549 is not set
117# CONFIG_BF561 is not set 121# CONFIG_BF561 is not set
122# CONFIG_BF_REV_0_0 is not set
118CONFIG_BF_REV_0_2=y 123CONFIG_BF_REV_0_2=y
119# CONFIG_BF_REV_0_3 is not set 124# CONFIG_BF_REV_0_3 is not set
120# CONFIG_BF_REV_0_4 is not set 125# CONFIG_BF_REV_0_4 is not set
121# CONFIG_BF_REV_0_5 is not set 126# CONFIG_BF_REV_0_5 is not set
127# CONFIG_BF_REV_ANY is not set
128# CONFIG_BF_REV_NONE is not set
129CONFIG_BF53x=y
122CONFIG_BFIN_SINGLE_CORE=y 130CONFIG_BFIN_SINGLE_CORE=y
123# CONFIG_BFIN533_EZKIT is not set 131# CONFIG_BFIN533_EZKIT is not set
124# CONFIG_BFIN533_STAMP is not set 132# CONFIG_BFIN533_STAMP is not set
125# CONFIG_BFIN537_STAMP is not set 133# CONFIG_BFIN537_STAMP is not set
126# CONFIG_BFIN533_BLUETECHNIX_CM is not set 134# CONFIG_BFIN533_BLUETECHNIX_CM is not set
127# CONFIG_BFIN537_BLUETECHNIX_CM is not set 135# CONFIG_BFIN537_BLUETECHNIX_CM is not set
136# CONFIG_BFIN548_EZKIT is not set
128# CONFIG_BFIN561_BLUETECHNIX_CM is not set 137# CONFIG_BFIN561_BLUETECHNIX_CM is not set
129# CONFIG_BFIN561_EZKIT is not set 138# CONFIG_BFIN561_EZKIT is not set
130# CONFIG_BFIN561_TEPLA is not set 139# CONFIG_BFIN561_TEPLA is not set
@@ -598,6 +607,7 @@ CONFIG_BFIN_MAC=y
598CONFIG_BFIN_TX_DESC_NUM=100 607CONFIG_BFIN_TX_DESC_NUM=100
599CONFIG_BFIN_RX_DESC_NUM=100 608CONFIG_BFIN_RX_DESC_NUM=100
600CONFIG_BFIN_MAC_RMII=y 609CONFIG_BFIN_MAC_RMII=y
610# CONFIG_SMSC911X is not set
601 611
602# 612#
603# Ethernet (1000 Mbit) 613# Ethernet (1000 Mbit)
@@ -746,7 +756,6 @@ CONFIG_CAN_BLACKFIN=m
746# CONFIG_WATCHDOG is not set 756# CONFIG_WATCHDOG is not set
747CONFIG_HW_RANDOM=y 757CONFIG_HW_RANDOM=y
748# CONFIG_GEN_RTC is not set 758# CONFIG_GEN_RTC is not set
749CONFIG_BLACKFIN_DPMC=y
750# CONFIG_DTLK is not set 759# CONFIG_DTLK is not set
751# CONFIG_R3964 is not set 760# CONFIG_R3964 is not set
752# CONFIG_RAW_DRIVER is not set 761# CONFIG_RAW_DRIVER is not set
diff --git a/arch/blackfin/kernel/Makefile b/arch/blackfin/kernel/Makefile
index f3b7d2f9d49c..f429ebc3a961 100644
--- a/arch/blackfin/kernel/Makefile
+++ b/arch/blackfin/kernel/Makefile
@@ -6,9 +6,12 @@ extra-y := init_task.o vmlinux.lds
6 6
7obj-y := \ 7obj-y := \
8 entry.o process.o bfin_ksyms.o ptrace.o setup.o signal.o \ 8 entry.o process.o bfin_ksyms.o ptrace.o setup.o signal.o \
9 sys_bfin.o time.o traps.o irqchip.o dma-mapping.o bfin_gpio.o \ 9 sys_bfin.o time.o traps.o irqchip.o dma-mapping.o flat.o \
10 flat.o 10 fixed_code.o cplbinit.o cacheinit.o
11 11
12obj-$(CONFIG_BF53x) += bfin_gpio.o
13obj-$(CONFIG_BF561) += bfin_gpio.o
12obj-$(CONFIG_MODULES) += module.o 14obj-$(CONFIG_MODULES) += module.o
13obj-$(CONFIG_BFIN_DMA_5XX) += bfin_dma_5xx.o 15obj-$(CONFIG_BFIN_DMA_5XX) += bfin_dma_5xx.o
14obj-$(CONFIG_DUAL_CORE_TEST_MODULE) += dualcore_test.o 16obj-$(CONFIG_DUAL_CORE_TEST_MODULE) += dualcore_test.o
17obj-$(CONFIG_KGDB) += kgdb.o
diff --git a/arch/blackfin/kernel/asm-offsets.c b/arch/blackfin/kernel/asm-offsets.c
index e455f4504509..b56b2741cdea 100644
--- a/arch/blackfin/kernel/asm-offsets.c
+++ b/arch/blackfin/kernel/asm-offsets.c
@@ -32,11 +32,10 @@
32#include <linux/kernel_stat.h> 32#include <linux/kernel_stat.h>
33#include <linux/ptrace.h> 33#include <linux/ptrace.h>
34#include <linux/hardirq.h> 34#include <linux/hardirq.h>
35#include <asm/irq.h> 35#include <linux/irq.h>
36#include <asm/thread_info.h> 36#include <linux/thread_info.h>
37 37
38#define DEFINE(sym, val) \ 38#define DEFINE(sym, val) asm volatile("\n->" #sym " %0 " #val : : "i" (val))
39 asm volatile("\n->" #sym " %0 " #val : : "i" (val))
40 39
41int main(void) 40int main(void)
42{ 41{
diff --git a/arch/blackfin/kernel/bfin_dma_5xx.c b/arch/blackfin/kernel/bfin_dma_5xx.c
index 069a896a8f26..7cf02f02a1db 100644
--- a/arch/blackfin/kernel/bfin_dma_5xx.c
+++ b/arch/blackfin/kernel/bfin_dma_5xx.c
@@ -34,6 +34,7 @@
34#include <linux/kernel.h> 34#include <linux/kernel.h>
35#include <linux/param.h> 35#include <linux/param.h>
36 36
37#include <asm/blackfin.h>
37#include <asm/dma.h> 38#include <asm/dma.h>
38#include <asm/cacheflush.h> 39#include <asm/cacheflush.h>
39 40
@@ -45,67 +46,6 @@
45***************************************************************************/ 46***************************************************************************/
46 47
47static struct dma_channel dma_ch[MAX_BLACKFIN_DMA_CHANNEL]; 48static struct dma_channel dma_ch[MAX_BLACKFIN_DMA_CHANNEL];
48#if defined (CONFIG_BF561)
49static struct dma_register *base_addr[MAX_BLACKFIN_DMA_CHANNEL] = {
50 (struct dma_register *) DMA1_0_NEXT_DESC_PTR,
51 (struct dma_register *) DMA1_1_NEXT_DESC_PTR,
52 (struct dma_register *) DMA1_2_NEXT_DESC_PTR,
53 (struct dma_register *) DMA1_3_NEXT_DESC_PTR,
54 (struct dma_register *) DMA1_4_NEXT_DESC_PTR,
55 (struct dma_register *) DMA1_5_NEXT_DESC_PTR,
56 (struct dma_register *) DMA1_6_NEXT_DESC_PTR,
57 (struct dma_register *) DMA1_7_NEXT_DESC_PTR,
58 (struct dma_register *) DMA1_8_NEXT_DESC_PTR,
59 (struct dma_register *) DMA1_9_NEXT_DESC_PTR,
60 (struct dma_register *) DMA1_10_NEXT_DESC_PTR,
61 (struct dma_register *) DMA1_11_NEXT_DESC_PTR,
62 (struct dma_register *) DMA2_0_NEXT_DESC_PTR,
63 (struct dma_register *) DMA2_1_NEXT_DESC_PTR,
64 (struct dma_register *) DMA2_2_NEXT_DESC_PTR,
65 (struct dma_register *) DMA2_3_NEXT_DESC_PTR,
66 (struct dma_register *) DMA2_4_NEXT_DESC_PTR,
67 (struct dma_register *) DMA2_5_NEXT_DESC_PTR,
68 (struct dma_register *) DMA2_6_NEXT_DESC_PTR,
69 (struct dma_register *) DMA2_7_NEXT_DESC_PTR,
70 (struct dma_register *) DMA2_8_NEXT_DESC_PTR,
71 (struct dma_register *) DMA2_9_NEXT_DESC_PTR,
72 (struct dma_register *) DMA2_10_NEXT_DESC_PTR,
73 (struct dma_register *) DMA2_11_NEXT_DESC_PTR,
74 (struct dma_register *) MDMA1_D0_NEXT_DESC_PTR,
75 (struct dma_register *) MDMA1_S0_NEXT_DESC_PTR,
76 (struct dma_register *) MDMA1_D1_NEXT_DESC_PTR,
77 (struct dma_register *) MDMA1_S1_NEXT_DESC_PTR,
78 (struct dma_register *) MDMA2_D0_NEXT_DESC_PTR,
79 (struct dma_register *) MDMA2_S0_NEXT_DESC_PTR,
80 (struct dma_register *) MDMA2_D1_NEXT_DESC_PTR,
81 (struct dma_register *) MDMA2_S1_NEXT_DESC_PTR,
82 (struct dma_register *) IMDMA_D0_NEXT_DESC_PTR,
83 (struct dma_register *) IMDMA_S0_NEXT_DESC_PTR,
84 (struct dma_register *) IMDMA_D1_NEXT_DESC_PTR,
85 (struct dma_register *) IMDMA_S1_NEXT_DESC_PTR,
86};
87#else
88static struct dma_register *base_addr[MAX_BLACKFIN_DMA_CHANNEL] = {
89 (struct dma_register *) DMA0_NEXT_DESC_PTR,
90 (struct dma_register *) DMA1_NEXT_DESC_PTR,
91 (struct dma_register *) DMA2_NEXT_DESC_PTR,
92 (struct dma_register *) DMA3_NEXT_DESC_PTR,
93 (struct dma_register *) DMA4_NEXT_DESC_PTR,
94 (struct dma_register *) DMA5_NEXT_DESC_PTR,
95 (struct dma_register *) DMA6_NEXT_DESC_PTR,
96 (struct dma_register *) DMA7_NEXT_DESC_PTR,
97#if (defined(CONFIG_BF537) || defined(CONFIG_BF534) || defined(CONFIG_BF536))
98 (struct dma_register *) DMA8_NEXT_DESC_PTR,
99 (struct dma_register *) DMA9_NEXT_DESC_PTR,
100 (struct dma_register *) DMA10_NEXT_DESC_PTR,
101 (struct dma_register *) DMA11_NEXT_DESC_PTR,
102#endif
103 (struct dma_register *) MDMA_D0_NEXT_DESC_PTR,
104 (struct dma_register *) MDMA_S0_NEXT_DESC_PTR,
105 (struct dma_register *) MDMA_D1_NEXT_DESC_PTR,
106 (struct dma_register *) MDMA_S1_NEXT_DESC_PTR,
107};
108#endif
109 49
110/*------------------------------------------------------------------------------ 50/*------------------------------------------------------------------------------
111 * Set the Buffer Clear bit in the Configuration register of specific DMA 51 * Set the Buffer Clear bit in the Configuration register of specific DMA
@@ -138,149 +78,6 @@ static int __init blackfin_dma_init(void)
138 78
139arch_initcall(blackfin_dma_init); 79arch_initcall(blackfin_dma_init);
140 80
141/*
142 * Form the channel find the irq number for that channel.
143 */
144#if !defined(CONFIG_BF561)
145
146static int bf533_channel2irq(unsigned int channel)
147{
148 int ret_irq = -1;
149
150 switch (channel) {
151 case CH_PPI:
152 ret_irq = IRQ_PPI;
153 break;
154
155#if (defined(CONFIG_BF537) || defined(CONFIG_BF534) || defined(CONFIG_BF536))
156 case CH_EMAC_RX:
157 ret_irq = IRQ_MAC_RX;
158 break;
159
160 case CH_EMAC_TX:
161 ret_irq = IRQ_MAC_TX;
162 break;
163
164 case CH_UART1_RX:
165 ret_irq = IRQ_UART1_RX;
166 break;
167
168 case CH_UART1_TX:
169 ret_irq = IRQ_UART1_TX;
170 break;
171#endif
172
173 case CH_SPORT0_RX:
174 ret_irq = IRQ_SPORT0_RX;
175 break;
176
177 case CH_SPORT0_TX:
178 ret_irq = IRQ_SPORT0_TX;
179 break;
180
181 case CH_SPORT1_RX:
182 ret_irq = IRQ_SPORT1_RX;
183 break;
184
185 case CH_SPORT1_TX:
186 ret_irq = IRQ_SPORT1_TX;
187 break;
188
189 case CH_SPI:
190 ret_irq = IRQ_SPI;
191 break;
192
193 case CH_UART_RX:
194 ret_irq = IRQ_UART_RX;
195 break;
196
197 case CH_UART_TX:
198 ret_irq = IRQ_UART_TX;
199 break;
200
201 case CH_MEM_STREAM0_SRC:
202 case CH_MEM_STREAM0_DEST:
203 ret_irq = IRQ_MEM_DMA0;
204 break;
205
206 case CH_MEM_STREAM1_SRC:
207 case CH_MEM_STREAM1_DEST:
208 ret_irq = IRQ_MEM_DMA1;
209 break;
210 }
211 return ret_irq;
212}
213
214# define channel2irq(channel) bf533_channel2irq(channel)
215
216#else
217
218static int bf561_channel2irq(unsigned int channel)
219{
220 int ret_irq = -1;
221
222 switch (channel) {
223 case CH_PPI0:
224 ret_irq = IRQ_PPI0;
225 break;
226 case CH_PPI1:
227 ret_irq = IRQ_PPI1;
228 break;
229 case CH_SPORT0_RX:
230 ret_irq = IRQ_SPORT0_RX;
231 break;
232 case CH_SPORT0_TX:
233 ret_irq = IRQ_SPORT0_TX;
234 break;
235 case CH_SPORT1_RX:
236 ret_irq = IRQ_SPORT1_RX;
237 break;
238 case CH_SPORT1_TX:
239 ret_irq = IRQ_SPORT1_TX;
240 break;
241 case CH_SPI:
242 ret_irq = IRQ_SPI;
243 break;
244 case CH_UART_RX:
245 ret_irq = IRQ_UART_RX;
246 break;
247 case CH_UART_TX:
248 ret_irq = IRQ_UART_TX;
249 break;
250
251 case CH_MEM_STREAM0_SRC:
252 case CH_MEM_STREAM0_DEST:
253 ret_irq = IRQ_MEM_DMA0;
254 break;
255 case CH_MEM_STREAM1_SRC:
256 case CH_MEM_STREAM1_DEST:
257 ret_irq = IRQ_MEM_DMA1;
258 break;
259 case CH_MEM_STREAM2_SRC:
260 case CH_MEM_STREAM2_DEST:
261 ret_irq = IRQ_MEM_DMA2;
262 break;
263 case CH_MEM_STREAM3_SRC:
264 case CH_MEM_STREAM3_DEST:
265 ret_irq = IRQ_MEM_DMA3;
266 break;
267
268 case CH_IMEM_STREAM0_SRC:
269 case CH_IMEM_STREAM0_DEST:
270 ret_irq = IRQ_IMEM_DMA0;
271 break;
272 case CH_IMEM_STREAM1_SRC:
273 case CH_IMEM_STREAM1_DEST:
274 ret_irq = IRQ_IMEM_DMA1;
275 break;
276 }
277 return ret_irq;
278}
279
280# define channel2irq(channel) bf561_channel2irq(channel)
281
282#endif
283
284/*------------------------------------------------------------------------------ 81/*------------------------------------------------------------------------------
285 * Request the specific DMA channel from the system. 82 * Request the specific DMA channel from the system.
286 *-----------------------------------------------------------------------------*/ 83 *-----------------------------------------------------------------------------*/
@@ -535,7 +332,7 @@ set_bfin_dma_config(char direction, char flow_mode,
535} 332}
536EXPORT_SYMBOL(set_bfin_dma_config); 333EXPORT_SYMBOL(set_bfin_dma_config);
537 334
538void set_dma_sg(unsigned int channel, struct dmasg * sg, int nr_sg) 335void set_dma_sg(unsigned int channel, struct dmasg *sg, int nr_sg)
539{ 336{
540 BUG_ON(!(dma_ch[channel].chan_status != DMA_CHANNEL_FREE 337 BUG_ON(!(dma_ch[channel].chan_status != DMA_CHANNEL_FREE
541 && channel < MAX_BLACKFIN_DMA_CHANNEL)); 338 && channel < MAX_BLACKFIN_DMA_CHANNEL));
@@ -604,7 +401,7 @@ static void *__dma_memcpy(void *dest, const void *src, size_t size)
604 401
605 if (size <= 0) 402 if (size <= 0)
606 return NULL; 403 return NULL;
607 404
608 local_irq_save(flags); 405 local_irq_save(flags);
609 406
610 if ((unsigned long)src < memory_end) 407 if ((unsigned long)src < memory_end)
@@ -748,7 +545,6 @@ void *dma_memcpy(void *dest, const void *src, size_t size)
748 addr = __dma_memcpy(dest+bulk, src+bulk, rest); 545 addr = __dma_memcpy(dest+bulk, src+bulk, rest);
749 return addr; 546 return addr;
750} 547}
751
752EXPORT_SYMBOL(dma_memcpy); 548EXPORT_SYMBOL(dma_memcpy);
753 549
754void *safe_dma_memcpy(void *dest, const void *src, size_t size) 550void *safe_dma_memcpy(void *dest, const void *src, size_t size)
@@ -761,14 +557,13 @@ EXPORT_SYMBOL(safe_dma_memcpy);
761 557
762void dma_outsb(void __iomem *addr, const void *buf, unsigned short len) 558void dma_outsb(void __iomem *addr, const void *buf, unsigned short len)
763{ 559{
764
765 unsigned long flags; 560 unsigned long flags;
766 561
767 local_irq_save(flags); 562 local_irq_save(flags);
768
769 blackfin_dcache_flush_range((unsigned int)buf,(unsigned int)(buf) + len);
770 563
771 bfin_write_MDMA_D0_START_ADDR(addr); 564 blackfin_dcache_flush_range((unsigned int)buf, (unsigned int)(buf) + len);
565
566 bfin_write_MDMA_D0_START_ADDR(addr);
772 bfin_write_MDMA_D0_X_COUNT(len); 567 bfin_write_MDMA_D0_X_COUNT(len);
773 bfin_write_MDMA_D0_X_MODIFY(0); 568 bfin_write_MDMA_D0_X_MODIFY(0);
774 bfin_write_MDMA_D0_IRQ_STATUS(DMA_DONE | DMA_ERR); 569 bfin_write_MDMA_D0_IRQ_STATUS(DMA_DONE | DMA_ERR);
@@ -796,9 +591,9 @@ EXPORT_SYMBOL(dma_outsb);
796void dma_insb(const void __iomem *addr, void *buf, unsigned short len) 591void dma_insb(const void __iomem *addr, void *buf, unsigned short len)
797{ 592{
798 unsigned long flags; 593 unsigned long flags;
799 594
800 local_irq_save(flags); 595 local_irq_save(flags);
801 bfin_write_MDMA_D0_START_ADDR(buf); 596 bfin_write_MDMA_D0_START_ADDR(buf);
802 bfin_write_MDMA_D0_X_COUNT(len); 597 bfin_write_MDMA_D0_X_COUNT(len);
803 bfin_write_MDMA_D0_X_MODIFY(1); 598 bfin_write_MDMA_D0_X_MODIFY(1);
804 bfin_write_MDMA_D0_IRQ_STATUS(DMA_DONE | DMA_ERR); 599 bfin_write_MDMA_D0_IRQ_STATUS(DMA_DONE | DMA_ERR);
@@ -827,12 +622,12 @@ EXPORT_SYMBOL(dma_insb);
827void dma_outsw(void __iomem *addr, const void *buf, unsigned short len) 622void dma_outsw(void __iomem *addr, const void *buf, unsigned short len)
828{ 623{
829 unsigned long flags; 624 unsigned long flags;
830 625
831 local_irq_save(flags); 626 local_irq_save(flags);
832
833 blackfin_dcache_flush_range((unsigned int)buf,(unsigned int)(buf) + len);
834 627
835 bfin_write_MDMA_D0_START_ADDR(addr); 628 blackfin_dcache_flush_range((unsigned int)buf, (unsigned int)(buf) + len);
629
630 bfin_write_MDMA_D0_START_ADDR(addr);
836 bfin_write_MDMA_D0_X_COUNT(len); 631 bfin_write_MDMA_D0_X_COUNT(len);
837 bfin_write_MDMA_D0_X_MODIFY(0); 632 bfin_write_MDMA_D0_X_MODIFY(0);
838 bfin_write_MDMA_D0_IRQ_STATUS(DMA_DONE | DMA_ERR); 633 bfin_write_MDMA_D0_IRQ_STATUS(DMA_DONE | DMA_ERR);
@@ -859,10 +654,10 @@ EXPORT_SYMBOL(dma_outsw);
859void dma_insw(const void __iomem *addr, void *buf, unsigned short len) 654void dma_insw(const void __iomem *addr, void *buf, unsigned short len)
860{ 655{
861 unsigned long flags; 656 unsigned long flags;
862 657
863 local_irq_save(flags); 658 local_irq_save(flags);
864 659
865 bfin_write_MDMA_D0_START_ADDR(buf); 660 bfin_write_MDMA_D0_START_ADDR(buf);
866 bfin_write_MDMA_D0_X_COUNT(len); 661 bfin_write_MDMA_D0_X_COUNT(len);
867 bfin_write_MDMA_D0_X_MODIFY(2); 662 bfin_write_MDMA_D0_X_MODIFY(2);
868 bfin_write_MDMA_D0_IRQ_STATUS(DMA_DONE | DMA_ERR); 663 bfin_write_MDMA_D0_IRQ_STATUS(DMA_DONE | DMA_ERR);
@@ -891,12 +686,12 @@ EXPORT_SYMBOL(dma_insw);
891void dma_outsl(void __iomem *addr, const void *buf, unsigned short len) 686void dma_outsl(void __iomem *addr, const void *buf, unsigned short len)
892{ 687{
893 unsigned long flags; 688 unsigned long flags;
894 689
895 local_irq_save(flags); 690 local_irq_save(flags);
896
897 blackfin_dcache_flush_range((unsigned int)buf,(unsigned int)(buf) + len);
898 691
899 bfin_write_MDMA_D0_START_ADDR(addr); 692 blackfin_dcache_flush_range((unsigned int)buf, (unsigned int)(buf) + len);
693
694 bfin_write_MDMA_D0_START_ADDR(addr);
900 bfin_write_MDMA_D0_X_COUNT(len); 695 bfin_write_MDMA_D0_X_COUNT(len);
901 bfin_write_MDMA_D0_X_MODIFY(0); 696 bfin_write_MDMA_D0_X_MODIFY(0);
902 bfin_write_MDMA_D0_IRQ_STATUS(DMA_DONE | DMA_ERR); 697 bfin_write_MDMA_D0_IRQ_STATUS(DMA_DONE | DMA_ERR);
@@ -923,10 +718,10 @@ EXPORT_SYMBOL(dma_outsl);
923void dma_insl(const void __iomem *addr, void *buf, unsigned short len) 718void dma_insl(const void __iomem *addr, void *buf, unsigned short len)
924{ 719{
925 unsigned long flags; 720 unsigned long flags;
926 721
927 local_irq_save(flags); 722 local_irq_save(flags);
928 723
929 bfin_write_MDMA_D0_START_ADDR(buf); 724 bfin_write_MDMA_D0_START_ADDR(buf);
930 bfin_write_MDMA_D0_X_COUNT(len); 725 bfin_write_MDMA_D0_X_COUNT(len);
931 bfin_write_MDMA_D0_X_MODIFY(4); 726 bfin_write_MDMA_D0_X_MODIFY(4);
932 bfin_write_MDMA_D0_IRQ_STATUS(DMA_DONE | DMA_ERR); 727 bfin_write_MDMA_D0_IRQ_STATUS(DMA_DONE | DMA_ERR);
diff --git a/arch/blackfin/kernel/bfin_gpio.c b/arch/blackfin/kernel/bfin_gpio.c
index bb1f4fb2467c..bafcfa52142b 100644
--- a/arch/blackfin/kernel/bfin_gpio.c
+++ b/arch/blackfin/kernel/bfin_gpio.c
@@ -162,7 +162,7 @@ static void port_setup(unsigned short gpio, unsigned short usage)
162 162
163static void default_gpio(unsigned short gpio) 163static void default_gpio(unsigned short gpio)
164{ 164{
165 unsigned short bank,bitmask; 165 unsigned short bank, bitmask;
166 166
167 bank = gpio_bank(gpio); 167 bank = gpio_bank(gpio);
168 bitmask = gpio_bit(gpio); 168 bitmask = gpio_bit(gpio);
@@ -183,7 +183,7 @@ static int __init bfin_gpio_init(void)
183 183
184 printk(KERN_INFO "Blackfin GPIO Controller\n"); 184 printk(KERN_INFO "Blackfin GPIO Controller\n");
185 185
186 for (i = 0; i < MAX_BLACKFIN_GPIOS; i+=GPIO_BANKSIZE) 186 for (i = 0; i < MAX_BLACKFIN_GPIOS; i += GPIO_BANKSIZE)
187 reserved_map[gpio_bank(i)] = 0; 187 reserved_map[gpio_bank(i)] = 0;
188 188
189#if defined(BF537_FAMILY) && (defined(CONFIG_BFIN_MAC) || defined(CONFIG_BFIN_MAC_MODULE)) 189#if defined(BF537_FAMILY) && (defined(CONFIG_BFIN_MAC) || defined(CONFIG_BFIN_MAC_MODULE))
@@ -478,7 +478,7 @@ u32 gpio_pm_setup(void)
478 u32 sic_iwr = 0; 478 u32 sic_iwr = 0;
479 u16 bank, mask, i, gpio; 479 u16 bank, mask, i, gpio;
480 480
481 for (i = 0; i < MAX_BLACKFIN_GPIOS; i+=GPIO_BANKSIZE) { 481 for (i = 0; i < MAX_BLACKFIN_GPIOS; i += GPIO_BANKSIZE) {
482 mask = wakeup_map[gpio_bank(i)]; 482 mask = wakeup_map[gpio_bank(i)];
483 bank = gpio_bank(i); 483 bank = gpio_bank(i);
484 484
@@ -522,12 +522,11 @@ u32 gpio_pm_setup(void)
522 return IWR_ENABLE_ALL; 522 return IWR_ENABLE_ALL;
523} 523}
524 524
525
526void gpio_pm_restore(void) 525void gpio_pm_restore(void)
527{ 526{
528 u16 bank, mask, i; 527 u16 bank, mask, i;
529 528
530 for (i = 0; i < MAX_BLACKFIN_GPIOS; i+=GPIO_BANKSIZE) { 529 for (i = 0; i < MAX_BLACKFIN_GPIOS; i += GPIO_BANKSIZE) {
531 mask = wakeup_map[gpio_bank(i)]; 530 mask = wakeup_map[gpio_bank(i)];
532 bank = gpio_bank(i); 531 bank = gpio_bank(i);
533 532
@@ -591,7 +590,6 @@ int gpio_request(unsigned short gpio, const char *label)
591} 590}
592EXPORT_SYMBOL(gpio_request); 591EXPORT_SYMBOL(gpio_request);
593 592
594
595void gpio_free(unsigned short gpio) 593void gpio_free(unsigned short gpio)
596{ 594{
597 unsigned long flags; 595 unsigned long flags;
@@ -616,7 +614,6 @@ void gpio_free(unsigned short gpio)
616} 614}
617EXPORT_SYMBOL(gpio_free); 615EXPORT_SYMBOL(gpio_free);
618 616
619
620void gpio_direction_input(unsigned short gpio) 617void gpio_direction_input(unsigned short gpio)
621{ 618{
622 unsigned long flags; 619 unsigned long flags;
diff --git a/arch/blackfin/kernel/bfin_ksyms.c b/arch/blackfin/kernel/bfin_ksyms.c
index f64ecb638fab..70455949cfd2 100644
--- a/arch/blackfin/kernel/bfin_ksyms.c
+++ b/arch/blackfin/kernel/bfin_ksyms.c
@@ -28,10 +28,11 @@
28 */ 28 */
29 29
30#include <linux/module.h> 30#include <linux/module.h>
31#include <asm/irq.h> 31#include <linux/irq.h>
32#include <linux/uaccess.h>
33
32#include <asm/checksum.h> 34#include <asm/checksum.h>
33#include <asm/cacheflush.h> 35#include <asm/cacheflush.h>
34#include <asm/uaccess.h>
35 36
36/* platform dependent support */ 37/* platform dependent support */
37 38
diff --git a/arch/blackfin/kernel/cacheinit.c b/arch/blackfin/kernel/cacheinit.c
new file mode 100644
index 000000000000..4d41a40e8133
--- /dev/null
+++ b/arch/blackfin/kernel/cacheinit.c
@@ -0,0 +1,66 @@
1/*
2 * Copyright 2004-2007 Analog Devices Inc.
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program; if not, see the file COPYING, or write
16 * to the Free Software Foundation, Inc.,
17 * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
18 */
19
20#include <linux/cpu.h>
21
22#include <asm/cacheflush.h>
23#include <asm/blackfin.h>
24#include <asm/cplbinit.h>
25
26#if defined(CONFIG_BLKFIN_CACHE)
27void bfin_icache_init(void)
28{
29 unsigned long *table = icplb_table;
30 unsigned long ctrl;
31 int i;
32
33 for (i = 0; i < MAX_CPLBS; i++) {
34 unsigned long addr = *table++;
35 unsigned long data = *table++;
36 if (addr == (unsigned long)-1)
37 break;
38 bfin_write32(ICPLB_ADDR0 + i * 4, addr);
39 bfin_write32(ICPLB_DATA0 + i * 4, data);
40 }
41 ctrl = bfin_read_IMEM_CONTROL();
42 ctrl |= IMC | ENICPLB;
43 bfin_write_IMEM_CONTROL(ctrl);
44}
45#endif
46
47#if defined(CONFIG_BLKFIN_DCACHE)
48void bfin_dcache_init(void)
49{
50 unsigned long *table = dcplb_table;
51 unsigned long ctrl;
52 int i;
53
54 for (i = 0; i < MAX_CPLBS; i++) {
55 unsigned long addr = *table++;
56 unsigned long data = *table++;
57 if (addr == (unsigned long)-1)
58 break;
59 bfin_write32(DCPLB_ADDR0 + i * 4, addr);
60 bfin_write32(DCPLB_DATA0 + i * 4, data);
61 }
62 ctrl = bfin_read_DMEM_CONTROL();
63 ctrl |= DMEM_CNTR;
64 bfin_write_DMEM_CONTROL(ctrl);
65}
66#endif
diff --git a/arch/blackfin/kernel/cplbinit.c b/arch/blackfin/kernel/cplbinit.c
new file mode 100644
index 000000000000..bbdb403fcb55
--- /dev/null
+++ b/arch/blackfin/kernel/cplbinit.c
@@ -0,0 +1,433 @@
1/*
2 * Blackfin CPLB initialization
3 *
4 * Copyright 2004-2007 Analog Devices Inc.
5 *
6 * Bugs: Enter bugs at http://blackfin.uclinux.org/
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 2 of the License, or
11 * (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public License
19 * along with this program; if not, see the file COPYING, or write
20 * to the Free Software Foundation, Inc.,
21 * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
22 */
23#include <linux/module.h>
24
25#include <asm/blackfin.h>
26#include <asm/cplbinit.h>
27
28u_long icplb_table[MAX_CPLBS+1];
29u_long dcplb_table[MAX_CPLBS+1];
30
31#ifdef CONFIG_CPLB_SWITCH_TAB_L1
32u_long ipdt_table[MAX_SWITCH_I_CPLBS+1]__attribute__((l1_data));
33u_long dpdt_table[MAX_SWITCH_D_CPLBS+1]__attribute__((l1_data));
34
35#ifdef CONFIG_CPLB_INFO
36u_long ipdt_swapcount_table[MAX_SWITCH_I_CPLBS]__attribute__((l1_data));
37u_long dpdt_swapcount_table[MAX_SWITCH_D_CPLBS]__attribute__((l1_data));
38#endif /* CONFIG_CPLB_INFO */
39
40#else
41
42u_long ipdt_table[MAX_SWITCH_I_CPLBS+1];
43u_long dpdt_table[MAX_SWITCH_D_CPLBS+1];
44
45#ifdef CONFIG_CPLB_INFO
46u_long ipdt_swapcount_table[MAX_SWITCH_I_CPLBS];
47u_long dpdt_swapcount_table[MAX_SWITCH_D_CPLBS];
48#endif /* CONFIG_CPLB_INFO */
49
50#endif /*CONFIG_CPLB_SWITCH_TAB_L1*/
51
52struct s_cplb {
53 struct cplb_tab init_i;
54 struct cplb_tab init_d;
55 struct cplb_tab switch_i;
56 struct cplb_tab switch_d;
57};
58
59#if defined(CONFIG_BLKFIN_DCACHE) || defined(CONFIG_BLKFIN_CACHE)
60static struct cplb_desc cplb_data[] = {
61 {
62 .start = 0,
63 .end = SIZE_1K,
64 .psize = SIZE_1K,
65 .attr = INITIAL_T | SWITCH_T | I_CPLB | D_CPLB,
66 .i_conf = SDRAM_OOPS,
67 .d_conf = SDRAM_OOPS,
68#if defined(CONFIG_DEBUG_HUNT_FOR_ZERO)
69 .valid = 1,
70#else
71 .valid = 0,
72#endif
73 .name = "ZERO Pointer Saveguard",
74 },
75 {
76 .start = L1_CODE_START,
77 .end = L1_CODE_START + L1_CODE_LENGTH,
78 .psize = SIZE_4M,
79 .attr = INITIAL_T | SWITCH_T | I_CPLB,
80 .i_conf = L1_IMEMORY,
81 .d_conf = 0,
82 .valid = 1,
83 .name = "L1 I-Memory",
84 },
85 {
86 .start = L1_DATA_A_START,
87 .end = L1_DATA_B_START + L1_DATA_B_LENGTH,
88 .psize = SIZE_4M,
89 .attr = INITIAL_T | SWITCH_T | D_CPLB,
90 .i_conf = 0,
91 .d_conf = L1_DMEMORY,
92#if ((L1_DATA_A_LENGTH > 0) || (L1_DATA_B_LENGTH > 0))
93 .valid = 1,
94#else
95 .valid = 0,
96#endif
97 .name = "L1 D-Memory",
98 },
99 {
100 .start = 0,
101 .end = 0, /* dynamic */
102 .psize = 0,
103 .attr = INITIAL_T | SWITCH_T | I_CPLB | D_CPLB,
104 .i_conf = SDRAM_IGENERIC,
105 .d_conf = SDRAM_DGENERIC,
106 .valid = 1,
107 .name = "SDRAM Kernel",
108 },
109 {
110 .start = 0, /* dynamic */
111 .end = 0, /* dynamic */
112 .psize = 0,
113 .attr = INITIAL_T | SWITCH_T | D_CPLB,
114 .i_conf = SDRAM_IGENERIC,
115 .d_conf = SDRAM_DNON_CHBL,
116 .valid = 1,
117 .name = "SDRAM RAM MTD",
118 },
119 {
120 .start = 0, /* dynamic */
121 .end = 0, /* dynamic */
122 .psize = SIZE_1M,
123 .attr = INITIAL_T | SWITCH_T | D_CPLB,
124 .d_conf = SDRAM_DNON_CHBL,
125 .valid = 1,
126 .name = "SDRAM Uncached DMA ZONE",
127 },
128 {
129 .start = 0, /* dynamic */
130 .end = 0, /* dynamic */
131 .psize = 0,
132 .attr = SWITCH_T | D_CPLB,
133 .i_conf = 0, /* dynamic */
134 .d_conf = 0, /* dynamic */
135 .valid = 1,
136 .name = "SDRAM Reserved Memory",
137 },
138 {
139 .start = ASYNC_BANK0_BASE,
140 .end = ASYNC_BANK3_BASE + ASYNC_BANK3_SIZE,
141 .psize = 0,
142 .attr = SWITCH_T | D_CPLB,
143 .d_conf = SDRAM_EBIU,
144 .valid = 1,
145 .name = "ASYNC Memory",
146 },
147 {
148#if defined(CONFIG_BF561)
149 .start = L2_SRAM,
150 .end = L2_SRAM_END,
151 .psize = SIZE_1M,
152 .attr = SWITCH_T | D_CPLB,
153 .i_conf = L2_MEMORY,
154 .d_conf = L2_MEMORY,
155 .valid = 1,
156#else
157 .valid = 0,
158#endif
159 .name = "L2 Memory",
160 }
161};
162
163static u16 __init lock_kernel_check(u32 start, u32 end)
164{
165 if ((start <= (u32) _stext && end >= (u32) _end)
166 || (start >= (u32) _stext && end <= (u32) _end))
167 return IN_KERNEL;
168 return 0;
169}
170
171static unsigned short __init
172fill_cplbtab(struct cplb_tab *table,
173 unsigned long start, unsigned long end,
174 unsigned long block_size, unsigned long cplb_data)
175{
176 int i;
177
178 switch (block_size) {
179 case SIZE_4M:
180 i = 3;
181 break;
182 case SIZE_1M:
183 i = 2;
184 break;
185 case SIZE_4K:
186 i = 1;
187 break;
188 case SIZE_1K:
189 default:
190 i = 0;
191 break;
192 }
193
194 cplb_data = (cplb_data & ~(3 << 16)) | (i << 16);
195
196 while ((start < end) && (table->pos < table->size)) {
197
198 table->tab[table->pos++] = start;
199
200 if (lock_kernel_check(start, start + block_size) == IN_KERNEL)
201 table->tab[table->pos++] =
202 cplb_data | CPLB_LOCK | CPLB_DIRTY;
203 else
204 table->tab[table->pos++] = cplb_data;
205
206 start += block_size;
207 }
208 return 0;
209}
210
211static unsigned short __init
212close_cplbtab(struct cplb_tab *table)
213{
214
215 while (table->pos < table->size) {
216
217 table->tab[table->pos++] = 0;
218 table->tab[table->pos++] = 0; /* !CPLB_VALID */
219 }
220 return 0;
221}
222
223/* helper function */
224static void __fill_code_cplbtab(struct cplb_tab *t, int i, u32 a_start, u32 a_end)
225{
226 if (cplb_data[i].psize) {
227 fill_cplbtab(t,
228 cplb_data[i].start,
229 cplb_data[i].end,
230 cplb_data[i].psize,
231 cplb_data[i].i_conf);
232 } else {
233#if (defined(CONFIG_BLKFIN_CACHE) && defined(ANOMALY_05000263))
234 if (i == SDRAM_KERN) {
235 fill_cplbtab(t,
236 cplb_data[i].start,
237 cplb_data[i].end,
238 SIZE_4M,
239 cplb_data[i].i_conf);
240 } else
241#endif
242 {
243 fill_cplbtab(t,
244 cplb_data[i].start,
245 a_start,
246 SIZE_1M,
247 cplb_data[i].i_conf);
248 fill_cplbtab(t,
249 a_start,
250 a_end,
251 SIZE_4M,
252 cplb_data[i].i_conf);
253 fill_cplbtab(t, a_end,
254 cplb_data[i].end,
255 SIZE_1M,
256 cplb_data[i].i_conf);
257 }
258 }
259}
260
261static void __fill_data_cplbtab(struct cplb_tab *t, int i, u32 a_start, u32 a_end)
262{
263 if (cplb_data[i].psize) {
264 fill_cplbtab(t,
265 cplb_data[i].start,
266 cplb_data[i].end,
267 cplb_data[i].psize,
268 cplb_data[i].d_conf);
269 } else {
270 fill_cplbtab(t,
271 cplb_data[i].start,
272 a_start, SIZE_1M,
273 cplb_data[i].d_conf);
274 fill_cplbtab(t, a_start,
275 a_end, SIZE_4M,
276 cplb_data[i].d_conf);
277 fill_cplbtab(t, a_end,
278 cplb_data[i].end,
279 SIZE_1M,
280 cplb_data[i].d_conf);
281 }
282}
283
284void __init generate_cpl_tables(void)
285{
286
287 u16 i, j, process;
288 u32 a_start, a_end, as, ae, as_1m;
289
290 struct cplb_tab *t_i = NULL;
291 struct cplb_tab *t_d = NULL;
292 struct s_cplb cplb;
293
294 cplb.init_i.size = MAX_CPLBS;
295 cplb.init_d.size = MAX_CPLBS;
296 cplb.switch_i.size = MAX_SWITCH_I_CPLBS;
297 cplb.switch_d.size = MAX_SWITCH_D_CPLBS;
298
299 cplb.init_i.pos = 0;
300 cplb.init_d.pos = 0;
301 cplb.switch_i.pos = 0;
302 cplb.switch_d.pos = 0;
303
304 cplb.init_i.tab = icplb_table;
305 cplb.init_d.tab = dcplb_table;
306 cplb.switch_i.tab = ipdt_table;
307 cplb.switch_d.tab = dpdt_table;
308
309 cplb_data[SDRAM_KERN].end = memory_end;
310
311#ifdef CONFIG_MTD_UCLINUX
312 cplb_data[SDRAM_RAM_MTD].start = memory_mtd_start;
313 cplb_data[SDRAM_RAM_MTD].end = memory_mtd_start + mtd_size;
314 cplb_data[SDRAM_RAM_MTD].valid = mtd_size > 0;
315# if defined(CONFIG_ROMFS_FS)
316 cplb_data[SDRAM_RAM_MTD].attr |= I_CPLB;
317
318 /*
319 * The ROMFS_FS size is often not multiple of 1MB.
320 * This can cause multiple CPLB sets covering the same memory area.
321 * This will then cause multiple CPLB hit exceptions.
322 * Workaround: We ensure a contiguous memory area by extending the kernel
323 * memory section over the mtd section.
324 * For ROMFS_FS memory must be covered with ICPLBs anyways.
325 * So there is no difference between kernel and mtd memory setup.
326 */
327
328 cplb_data[SDRAM_KERN].end = memory_mtd_start + mtd_size;;
329 cplb_data[SDRAM_RAM_MTD].valid = 0;
330
331# endif
332#else
333 cplb_data[SDRAM_RAM_MTD].valid = 0;
334#endif
335
336 cplb_data[SDRAM_DMAZ].start = _ramend - DMA_UNCACHED_REGION;
337 cplb_data[SDRAM_DMAZ].end = _ramend;
338
339 cplb_data[RES_MEM].start = _ramend;
340 cplb_data[RES_MEM].end = physical_mem_end;
341
342 if (reserved_mem_dcache_on)
343 cplb_data[RES_MEM].d_conf = SDRAM_DGENERIC;
344 else
345 cplb_data[RES_MEM].d_conf = SDRAM_DNON_CHBL;
346
347 if (reserved_mem_icache_on)
348 cplb_data[RES_MEM].i_conf = SDRAM_IGENERIC;
349 else
350 cplb_data[RES_MEM].i_conf = SDRAM_INON_CHBL;
351
352 for (i = ZERO_P; i <= L2_MEM; i++) {
353 if (!cplb_data[i].valid)
354 continue;
355
356 as_1m = cplb_data[i].start % SIZE_1M;
357
358 /* We need to make sure all sections are properly 1M aligned
359 * However between Kernel Memory and the Kernel mtd section, depending on the
360 * rootfs size, there can be overlapping memory areas.
361 */
362
363 if (as_1m && i != L1I_MEM && i != L1D_MEM) {
364#ifdef CONFIG_MTD_UCLINUX
365 if (i == SDRAM_RAM_MTD) {
366 if ((cplb_data[SDRAM_KERN].end + 1) > cplb_data[SDRAM_RAM_MTD].start)
367 cplb_data[SDRAM_RAM_MTD].start = (cplb_data[i].start & (-2*SIZE_1M)) + SIZE_1M;
368 else
369 cplb_data[SDRAM_RAM_MTD].start = (cplb_data[i].start & (-2*SIZE_1M));
370 } else
371#endif
372 printk(KERN_WARNING "Unaligned Start of %s at 0x%X\n",
373 cplb_data[i].name, cplb_data[i].start);
374 }
375
376 as = cplb_data[i].start % SIZE_4M;
377 ae = cplb_data[i].end % SIZE_4M;
378
379 if (as)
380 a_start = cplb_data[i].start + (SIZE_4M - (as));
381 else
382 a_start = cplb_data[i].start;
383
384 a_end = cplb_data[i].end - ae;
385
386 for (j = INITIAL_T; j <= SWITCH_T; j++) {
387
388 switch (j) {
389 case INITIAL_T:
390 if (cplb_data[i].attr & INITIAL_T) {
391 t_i = &cplb.init_i;
392 t_d = &cplb.init_d;
393 process = 1;
394 } else
395 process = 0;
396 break;
397 case SWITCH_T:
398 if (cplb_data[i].attr & SWITCH_T) {
399 t_i = &cplb.switch_i;
400 t_d = &cplb.switch_d;
401 process = 1;
402 } else
403 process = 0;
404 break;
405 default:
406 process = 0;
407 break;
408 }
409
410 if (!process)
411 continue;
412 if (cplb_data[i].attr & I_CPLB)
413 __fill_code_cplbtab(t_i, i, a_start, a_end);
414
415 if (cplb_data[i].attr & D_CPLB)
416 __fill_data_cplbtab(t_d, i, a_start, a_end);
417 }
418 }
419
420/* close tables */
421
422 close_cplbtab(&cplb.init_i);
423 close_cplbtab(&cplb.init_d);
424
425 cplb.init_i.tab[cplb.init_i.pos] = -1;
426 cplb.init_d.tab[cplb.init_d.pos] = -1;
427 cplb.switch_i.tab[cplb.switch_i.pos] = -1;
428 cplb.switch_d.tab[cplb.switch_d.pos] = -1;
429
430}
431
432#endif
433
diff --git a/arch/blackfin/kernel/dma-mapping.c b/arch/blackfin/kernel/dma-mapping.c
index 539eb24e062f..ea48d5b13f11 100644
--- a/arch/blackfin/kernel/dma-mapping.c
+++ b/arch/blackfin/kernel/dma-mapping.c
@@ -34,8 +34,8 @@
34#include <linux/spinlock.h> 34#include <linux/spinlock.h>
35#include <linux/device.h> 35#include <linux/device.h>
36#include <linux/dma-mapping.h> 36#include <linux/dma-mapping.h>
37#include <linux/io.h>
37#include <asm/cacheflush.h> 38#include <asm/cacheflush.h>
38#include <asm/io.h>
39#include <asm/bfin-global.h> 39#include <asm/bfin-global.h>
40 40
41static spinlock_t dma_page_lock; 41static spinlock_t dma_page_lock;
@@ -159,10 +159,13 @@ dma_map_sg(struct device *dev, struct scatterlist *sg, int nents,
159 159
160 BUG_ON(direction == DMA_NONE); 160 BUG_ON(direction == DMA_NONE);
161 161
162 for (i = 0; i < nents; i++) 162 for (i = 0; i < nents; i++, sg++) {
163 invalidate_dcache_range(sg_dma_address(&sg[i]), 163 sg->dma_address = page_address(sg->page) + sg->offset;
164 sg_dma_address(&sg[i]) + 164
165 sg_dma_len(&sg[i])); 165 invalidate_dcache_range(sg_dma_address(sg),
166 sg_dma_address(sg) +
167 sg_dma_len(sg));
168 }
166 169
167 return nents; 170 return nents;
168} 171}
diff --git a/arch/blackfin/kernel/dualcore_test.c b/arch/blackfin/kernel/dualcore_test.c
index 8b89c99f9dfa..0fcba74840b7 100644
--- a/arch/blackfin/kernel/dualcore_test.c
+++ b/arch/blackfin/kernel/dualcore_test.c
@@ -30,19 +30,19 @@
30#include <linux/init.h> 30#include <linux/init.h>
31#include <linux/module.h> 31#include <linux/module.h>
32 32
33static int *testarg = (int*)0xfeb00000; 33static int *testarg = (int *)0xfeb00000;
34 34
35static int test_init(void) 35static int test_init(void)
36{ 36{
37 *testarg = 1; 37 *testarg = 1;
38 printk("Dual core test module inserted: set testarg = [%d]\n @ [%p]\n", 38 printk(KERN_INFO "Dual core test module inserted: set testarg = [%d]\n @ [%p]\n",
39 *testarg, testarg); 39 *testarg, testarg);
40 return 0; 40 return 0;
41} 41}
42 42
43static void test_exit(void) 43static void test_exit(void)
44{ 44{
45 printk("Dual core test module removed: testarg = [%d]\n", *testarg); 45 printk(KERN_INFO "Dual core test module removed: testarg = [%d]\n", *testarg);
46} 46}
47 47
48module_init(test_init); 48module_init(test_init);
diff --git a/arch/blackfin/kernel/fixed_code.S b/arch/blackfin/kernel/fixed_code.S
new file mode 100644
index 000000000000..d8b1ebc70996
--- /dev/null
+++ b/arch/blackfin/kernel/fixed_code.S
@@ -0,0 +1,132 @@
1/*
2 * This file contains sequences of code that will be copied to a
3 * fixed location, defined in <asm/atomic_seq.h>. The interrupt
4 * handlers ensure that these sequences appear to be atomic when
5 * executed from userspace.
6 * These are aligned to 16 bytes, so that we have some space to replace
7 * these sequences with something else (e.g. kernel traps if we ever do
8 * BF561 SMP).
9 */
10#include <linux/linkage.h>
11#include <linux/unistd.h>
12#include <asm/entry.h>
13
14.text
15ENTRY(_fixed_code_start)
16
17.align 16
18ENTRY(_sigreturn_stub)
19 P0 = __NR_rt_sigreturn;
20 EXCPT 0;
21 /* Speculative execution paranoia. */
220: JUMP.S 0b;
23ENDPROC (_sigreturn_stub)
24
25.align 16
26 /*
27 * Atomic swap, 8 bit.
28 * Inputs: P0: memory address to use
29 * R1: value to store
30 * Output: R0: old contents of the memory address, zero extended.
31 */
32ENTRY(_atomic_xchg32)
33 R0 = [P0];
34 [P0] = R1;
35 rts;
36ENDPROC (_atomic_xchg32)
37
38.align 16
39 /*
40 * Compare and swap, 32 bit.
41 * Inputs: P0: memory address to use
42 * R1: compare value
43 * R2: new value to store
44 * The new value is stored if the contents of the memory
45 * address is equal to the compare value.
46 * Output: R0: old contents of the memory address.
47 */
48ENTRY(_atomic_cas32)
49 R0 = [P0];
50 CC = R0 == R1;
51 IF !CC JUMP 1f;
52 [P0] = R2;
531:
54 rts;
55ENDPROC (_atomic_cas32)
56
57.align 16
58 /*
59 * Atomic add, 32 bit.
60 * Inputs: P0: memory address to use
61 * R0: value to add
62 * Outputs: R0: new contents of the memory address.
63 * R1: previous contents of the memory address.
64 */
65ENTRY(_atomic_add32)
66 R1 = [P0];
67 R0 = R1 + R0;
68 [P0] = R0;
69 rts;
70ENDPROC (_atomic_add32)
71
72.align 16
73 /*
74 * Atomic sub, 32 bit.
75 * Inputs: P0: memory address to use
76 * R0: value to subtract
77 * Outputs: R0: new contents of the memory address.
78 * R1: previous contents of the memory address.
79 */
80ENTRY(_atomic_sub32)
81 R1 = [P0];
82 R0 = R1 - R0;
83 [P0] = R0;
84 rts;
85ENDPROC (_atomic_sub32)
86
87.align 16
88 /*
89 * Atomic ior, 32 bit.
90 * Inputs: P0: memory address to use
91 * R0: value to ior
92 * Outputs: R0: new contents of the memory address.
93 * R1: previous contents of the memory address.
94 */
95ENTRY(_atomic_ior32)
96 R1 = [P0];
97 R0 = R1 | R0;
98 [P0] = R0;
99 rts;
100ENDPROC (_atomic_ior32)
101
102.align 16
103 /*
104 * Atomic ior, 32 bit.
105 * Inputs: P0: memory address to use
106 * R0: value to ior
107 * Outputs: R0: new contents of the memory address.
108 * R1: previous contents of the memory address.
109 */
110ENTRY(_atomic_and32)
111 R1 = [P0];
112 R0 = R1 & R0;
113 [P0] = R0;
114 rts;
115ENDPROC (_atomic_ior32)
116
117.align 16
118 /*
119 * Atomic ior, 32 bit.
120 * Inputs: P0: memory address to use
121 * R0: value to ior
122 * Outputs: R0: new contents of the memory address.
123 * R1: previous contents of the memory address.
124 */
125ENTRY(_atomic_xor32)
126 R1 = [P0];
127 R0 = R1 ^ R0;
128 [P0] = R0;
129 rts;
130ENDPROC (_atomic_ior32)
131
132ENTRY(_fixed_code_end)
diff --git a/arch/blackfin/kernel/flat.c b/arch/blackfin/kernel/flat.c
index a92587b628b5..d188b2430536 100644
--- a/arch/blackfin/kernel/flat.c
+++ b/arch/blackfin/kernel/flat.c
@@ -36,24 +36,22 @@ unsigned long bfin_get_addr_from_rp(unsigned long *ptr,
36 unsigned long val; 36 unsigned long val;
37 37
38 switch (type) { 38 switch (type) {
39 case FLAT_BFIN_RELOC_TYPE_16_BIT: 39 case FLAT_BFIN_RELOC_TYPE_16_BIT:
40 case FLAT_BFIN_RELOC_TYPE_16H_BIT: 40 case FLAT_BFIN_RELOC_TYPE_16H_BIT:
41 usptr = (unsigned short *)ptr; 41 usptr = (unsigned short *)ptr;
42 pr_debug("*usptr = %x", get_unaligned(usptr)); 42 pr_debug("*usptr = %x", get_unaligned(usptr));
43 val = get_unaligned(usptr); 43 val = get_unaligned(usptr);
44 val += *persistent; 44 val += *persistent;
45 break; 45 break;
46 46
47 case FLAT_BFIN_RELOC_TYPE_32_BIT: 47 case FLAT_BFIN_RELOC_TYPE_32_BIT:
48 pr_debug("*ptr = %lx", get_unaligned(ptr)); 48 pr_debug("*ptr = %lx", get_unaligned(ptr));
49 val = get_unaligned(ptr); 49 val = get_unaligned(ptr);
50 break; 50 break;
51 51
52 default: 52 default:
53 pr_debug("BINFMT_FLAT: Unknown relocation type %x\n", 53 pr_debug("BINFMT_FLAT: Unknown relocation type %x\n", type);
54 type); 54 return 0;
55
56 return 0;
57 } 55 }
58 56
59 /* 57 /*
@@ -81,21 +79,20 @@ void bfin_put_addr_at_rp(unsigned long *ptr, unsigned long addr,
81 int type = (relval >> 26) & 7; 79 int type = (relval >> 26) & 7;
82 80
83 switch (type) { 81 switch (type) {
84 case FLAT_BFIN_RELOC_TYPE_16_BIT: 82 case FLAT_BFIN_RELOC_TYPE_16_BIT:
85 put_unaligned(addr, usptr); 83 put_unaligned(addr, usptr);
86 pr_debug("new value %x at %p", get_unaligned(usptr), 84 pr_debug("new value %x at %p", get_unaligned(usptr), usptr);
87 usptr); 85 break;
88 break;
89 86
90 case FLAT_BFIN_RELOC_TYPE_16H_BIT: 87 case FLAT_BFIN_RELOC_TYPE_16H_BIT:
91 put_unaligned(addr >> 16, usptr); 88 put_unaligned(addr >> 16, usptr);
92 pr_debug("new value %x", get_unaligned(usptr)); 89 pr_debug("new value %x", get_unaligned(usptr));
93 break; 90 break;
94 91
95 case FLAT_BFIN_RELOC_TYPE_32_BIT: 92 case FLAT_BFIN_RELOC_TYPE_32_BIT:
96 put_unaligned(addr, ptr); 93 put_unaligned(addr, ptr);
97 pr_debug("new ptr =%lx", get_unaligned(ptr)); 94 pr_debug("new ptr =%lx", get_unaligned(ptr));
98 break; 95 break;
99 } 96 }
100} 97}
101EXPORT_SYMBOL(bfin_put_addr_at_rp); 98EXPORT_SYMBOL(bfin_put_addr_at_rp);
diff --git a/arch/blackfin/kernel/irqchip.c b/arch/blackfin/kernel/irqchip.c
index 80996a1a94ca..1fc001c7abda 100644
--- a/arch/blackfin/kernel/irqchip.c
+++ b/arch/blackfin/kernel/irqchip.c
@@ -82,7 +82,7 @@ int show_interrupts(struct seq_file *p, void *v)
82 seq_printf(p, ", %s", action->name); 82 seq_printf(p, ", %s", action->name);
83 83
84 seq_putc(p, '\n'); 84 seq_putc(p, '\n');
85 unlock: 85 unlock:
86 spin_unlock_irqrestore(&irq_desc[i].lock, flags); 86 spin_unlock_irqrestore(&irq_desc[i].lock, flags);
87 } else if (i == NR_IRQS) { 87 } else if (i == NR_IRQS) {
88 seq_printf(p, "Err: %10lu\n", irq_err_count); 88 seq_printf(p, "Err: %10lu\n", irq_err_count);
diff --git a/arch/blackfin/kernel/kgdb.c b/arch/blackfin/kernel/kgdb.c
new file mode 100644
index 000000000000..a9c15515bfd7
--- /dev/null
+++ b/arch/blackfin/kernel/kgdb.c
@@ -0,0 +1,421 @@
1/*
2 * File: arch/blackfin/kernel/kgdb.c
3 * Based on:
4 * Author: Sonic Zhang
5 *
6 * Created:
7 * Description:
8 *
9 * Rev: $Id: kgdb_bfin_linux-2.6.x.patch 4934 2007-02-13 09:32:11Z sonicz $
10 *
11 * Modified:
12 * Copyright 2005-2006 Analog Devices Inc.
13 *
14 * Bugs: Enter bugs at http://blackfin.uclinux.org/
15 *
16 * This program is free software; you can redistribute it and/or modify
17 * it under the terms of the GNU General Public License as published by
18 * the Free Software Foundation; either version 2 of the License, or
19 * (at your option) any later version.
20 *
21 * This program is distributed in the hope that it will be useful,
22 * but WITHOUT ANY WARRANTY; without even the implied warranty of
23 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
24 * GNU General Public License for more details.
25 *
26 * You should have received a copy of the GNU General Public License
27 * along with this program; if not, see the file COPYING, or write
28 * to the Free Software Foundation, Inc.,
29 * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
30 */
31
32#include <linux/string.h>
33#include <linux/kernel.h>
34#include <linux/sched.h>
35#include <linux/smp.h>
36#include <linux/spinlock.h>
37#include <linux/delay.h>
38#include <linux/ptrace.h> /* for linux pt_regs struct */
39#include <linux/kgdb.h>
40#include <linux/console.h>
41#include <linux/init.h>
42#include <linux/debugger.h>
43#include <linux/errno.h>
44#include <linux/irq.h>
45#include <asm/system.h>
46#include <asm/traps.h>
47#include <asm/blackfin.h>
48
49/* Put the error code here just in case the user cares. */
50int gdb_bf533errcode;
51/* Likewise, the vector number here (since GDB only gets the signal
52 number through the usual means, and that's not very specific). */
53int gdb_bf533vector = -1;
54
55#if KGDB_MAX_NO_CPUS != 8
56#error change the definition of slavecpulocks
57#endif
58
59void regs_to_gdb_regs(unsigned long *gdb_regs, struct pt_regs *regs)
60{
61 gdb_regs[BFIN_R0] = regs->r0;
62 gdb_regs[BFIN_R1] = regs->r1;
63 gdb_regs[BFIN_R2] = regs->r2;
64 gdb_regs[BFIN_R3] = regs->r3;
65 gdb_regs[BFIN_R4] = regs->r4;
66 gdb_regs[BFIN_R5] = regs->r5;
67 gdb_regs[BFIN_R6] = regs->r6;
68 gdb_regs[BFIN_R7] = regs->r7;
69 gdb_regs[BFIN_P0] = regs->p0;
70 gdb_regs[BFIN_P1] = regs->p1;
71 gdb_regs[BFIN_P2] = regs->p2;
72 gdb_regs[BFIN_P3] = regs->p3;
73 gdb_regs[BFIN_P4] = regs->p4;
74 gdb_regs[BFIN_P5] = regs->p5;
75 gdb_regs[BFIN_SP] = regs->reserved;
76 gdb_regs[BFIN_FP] = regs->fp;
77 gdb_regs[BFIN_I0] = regs->i0;
78 gdb_regs[BFIN_I1] = regs->i1;
79 gdb_regs[BFIN_I2] = regs->i2;
80 gdb_regs[BFIN_I3] = regs->i3;
81 gdb_regs[BFIN_M0] = regs->m0;
82 gdb_regs[BFIN_M1] = regs->m1;
83 gdb_regs[BFIN_M2] = regs->m2;
84 gdb_regs[BFIN_M3] = regs->m3;
85 gdb_regs[BFIN_B0] = regs->b0;
86 gdb_regs[BFIN_B1] = regs->b1;
87 gdb_regs[BFIN_B2] = regs->b2;
88 gdb_regs[BFIN_B3] = regs->b3;
89 gdb_regs[BFIN_L0] = regs->l0;
90 gdb_regs[BFIN_L1] = regs->l1;
91 gdb_regs[BFIN_L2] = regs->l2;
92 gdb_regs[BFIN_L3] = regs->l3;
93 gdb_regs[BFIN_A0_DOT_X] = regs->a0x;
94 gdb_regs[BFIN_A0_DOT_W] = regs->a0w;
95 gdb_regs[BFIN_A1_DOT_X] = regs->a1x;
96 gdb_regs[BFIN_A1_DOT_W] = regs->a1w;
97 gdb_regs[BFIN_ASTAT] = regs->astat;
98 gdb_regs[BFIN_RETS] = regs->rets;
99 gdb_regs[BFIN_LC0] = regs->lc0;
100 gdb_regs[BFIN_LT0] = regs->lt0;
101 gdb_regs[BFIN_LB0] = regs->lb0;
102 gdb_regs[BFIN_LC1] = regs->lc1;
103 gdb_regs[BFIN_LT1] = regs->lt1;
104 gdb_regs[BFIN_LB1] = regs->lb1;
105 gdb_regs[BFIN_CYCLES] = 0;
106 gdb_regs[BFIN_CYCLES2] = 0;
107 gdb_regs[BFIN_USP] = regs->usp;
108 gdb_regs[BFIN_SEQSTAT] = regs->seqstat;
109 gdb_regs[BFIN_SYSCFG] = regs->syscfg;
110 gdb_regs[BFIN_RETI] = regs->pc;
111 gdb_regs[BFIN_RETX] = regs->retx;
112 gdb_regs[BFIN_RETN] = regs->retn;
113 gdb_regs[BFIN_RETE] = regs->rete;
114 gdb_regs[BFIN_PC] = regs->pc;
115 gdb_regs[BFIN_CC] = 0;
116 gdb_regs[BFIN_EXTRA1] = 0;
117 gdb_regs[BFIN_EXTRA2] = 0;
118 gdb_regs[BFIN_EXTRA3] = 0;
119 gdb_regs[BFIN_IPEND] = regs->ipend;
120}
121
122/*
123 * Extracts ebp, esp and eip values understandable by gdb from the values
124 * saved by switch_to.
125 * thread.esp points to ebp. flags and ebp are pushed in switch_to hence esp
126 * prior to entering switch_to is 8 greater then the value that is saved.
127 * If switch_to changes, change following code appropriately.
128 */
129void sleeping_thread_to_gdb_regs(unsigned long *gdb_regs, struct task_struct *p)
130{
131 gdb_regs[BFIN_SP] = p->thread.ksp;
132 gdb_regs[BFIN_PC] = p->thread.pc;
133 gdb_regs[BFIN_SEQSTAT] = p->thread.seqstat;
134}
135
136void gdb_regs_to_regs(unsigned long *gdb_regs, struct pt_regs *regs)
137{
138 regs->r0 = gdb_regs[BFIN_R0];
139 regs->r1 = gdb_regs[BFIN_R1];
140 regs->r2 = gdb_regs[BFIN_R2];
141 regs->r3 = gdb_regs[BFIN_R3];
142 regs->r4 = gdb_regs[BFIN_R4];
143 regs->r5 = gdb_regs[BFIN_R5];
144 regs->r6 = gdb_regs[BFIN_R6];
145 regs->r7 = gdb_regs[BFIN_R7];
146 regs->p0 = gdb_regs[BFIN_P0];
147 regs->p1 = gdb_regs[BFIN_P1];
148 regs->p2 = gdb_regs[BFIN_P2];
149 regs->p3 = gdb_regs[BFIN_P3];
150 regs->p4 = gdb_regs[BFIN_P4];
151 regs->p5 = gdb_regs[BFIN_P5];
152 regs->fp = gdb_regs[BFIN_FP];
153 regs->i0 = gdb_regs[BFIN_I0];
154 regs->i1 = gdb_regs[BFIN_I1];
155 regs->i2 = gdb_regs[BFIN_I2];
156 regs->i3 = gdb_regs[BFIN_I3];
157 regs->m0 = gdb_regs[BFIN_M0];
158 regs->m1 = gdb_regs[BFIN_M1];
159 regs->m2 = gdb_regs[BFIN_M2];
160 regs->m3 = gdb_regs[BFIN_M3];
161 regs->b0 = gdb_regs[BFIN_B0];
162 regs->b1 = gdb_regs[BFIN_B1];
163 regs->b2 = gdb_regs[BFIN_B2];
164 regs->b3 = gdb_regs[BFIN_B3];
165 regs->l0 = gdb_regs[BFIN_L0];
166 regs->l1 = gdb_regs[BFIN_L1];
167 regs->l2 = gdb_regs[BFIN_L2];
168 regs->l3 = gdb_regs[BFIN_L3];
169 regs->a0x = gdb_regs[BFIN_A0_DOT_X];
170 regs->a0w = gdb_regs[BFIN_A0_DOT_W];
171 regs->a1x = gdb_regs[BFIN_A1_DOT_X];
172 regs->a1w = gdb_regs[BFIN_A1_DOT_W];
173 regs->rets = gdb_regs[BFIN_RETS];
174 regs->lc0 = gdb_regs[BFIN_LC0];
175 regs->lt0 = gdb_regs[BFIN_LT0];
176 regs->lb0 = gdb_regs[BFIN_LB0];
177 regs->lc1 = gdb_regs[BFIN_LC1];
178 regs->lt1 = gdb_regs[BFIN_LT1];
179 regs->lb1 = gdb_regs[BFIN_LB1];
180 regs->usp = gdb_regs[BFIN_USP];
181 regs->syscfg = gdb_regs[BFIN_SYSCFG];
182 regs->retx = gdb_regs[BFIN_PC];
183 regs->retn = gdb_regs[BFIN_RETN];
184 regs->rete = gdb_regs[BFIN_RETE];
185 regs->pc = gdb_regs[BFIN_PC];
186
187#if 0 /* can't change these */
188 regs->astat = gdb_regs[BFIN_ASTAT];
189 regs->seqstat = gdb_regs[BFIN_SEQSTAT];
190 regs->ipend = gdb_regs[BFIN_IPEND];
191#endif
192}
193
194struct hw_breakpoint {
195 unsigned int occupied:1;
196 unsigned int skip:1;
197 unsigned int enabled:1;
198 unsigned int type:1;
199 unsigned int dataacc:2;
200 unsigned short count;
201 unsigned int addr;
202} breakinfo[HW_BREAKPOINT_NUM];
203
204int kgdb_arch_init(void)
205{
206 kgdb_remove_all_hw_break();
207 return 0;
208}
209
210int kgdb_set_hw_break(unsigned long addr)
211{
212 int breakno;
213 for (breakno = 0; breakno < HW_BREAKPOINT_NUM; breakno++)
214 if (!breakinfo[breakno].occupied) {
215 breakinfo[breakno].occupied = 1;
216 breakinfo[breakno].enabled = 1;
217 breakinfo[breakno].type = 1;
218 breakinfo[breakno].addr = addr;
219 return 0;
220 }
221
222 return -ENOSPC;
223}
224
225int kgdb_remove_hw_break(unsigned long addr)
226{
227 int breakno;
228 for (breakno = 0; breakno < HW_BREAKPOINT_NUM; breakno++)
229 if (breakinfo[breakno].addr == addr)
230 memset(&(breakinfo[breakno]), 0, sizeof(struct hw_breakpoint));
231
232 return 0;
233}
234
235void kgdb_remove_all_hw_break(void)
236{
237 memset(breakinfo, 0, sizeof(struct hw_breakpoint)*8);
238}
239
240/*
241void kgdb_show_info(void)
242{
243 printk(KERN_DEBUG "hwd: wpia0=0x%x, wpiacnt0=%d, wpiactl=0x%x, wpstat=0x%x\n",
244 bfin_read_WPIA0(), bfin_read_WPIACNT0(),
245 bfin_read_WPIACTL(), bfin_read_WPSTAT());
246}
247*/
248
249void kgdb_correct_hw_break(void)
250{
251 int breakno;
252 int correctit;
253 uint32_t wpdactl = bfin_read_WPDACTL();
254
255 correctit = 0;
256 for (breakno = 0; breakno < HW_BREAKPOINT_NUM; breakno++) {
257 if (breakinfo[breakno].type == 1) {
258 switch (breakno) {
259 case 0:
260 if (breakinfo[breakno].enabled && !(wpdactl & WPIAEN0)) {
261 correctit = 1;
262 wpdactl &= ~(WPIREN01|EMUSW0);
263 wpdactl |= WPIAEN0|WPICNTEN0;
264 bfin_write_WPIA0(breakinfo[breakno].addr);
265 bfin_write_WPIACNT0(breakinfo[breakno].skip);
266 } else if (!breakinfo[breakno].enabled && (wpdactl & WPIAEN0)) {
267 correctit = 1;
268 wpdactl &= ~WPIAEN0;
269 }
270 break;
271
272 case 1:
273 if (breakinfo[breakno].enabled && !(wpdactl & WPIAEN1)) {
274 correctit = 1;
275 wpdactl &= ~(WPIREN01|EMUSW1);
276 wpdactl |= WPIAEN1|WPICNTEN1;
277 bfin_write_WPIA1(breakinfo[breakno].addr);
278 bfin_write_WPIACNT1(breakinfo[breakno].skip);
279 } else if (!breakinfo[breakno].enabled && (wpdactl & WPIAEN1)) {
280 correctit = 1;
281 wpdactl &= ~WPIAEN1;
282 }
283 break;
284
285 case 2:
286 if (breakinfo[breakno].enabled && !(wpdactl & WPIAEN2)) {
287 correctit = 1;
288 wpdactl &= ~(WPIREN23|EMUSW2);
289 wpdactl |= WPIAEN2|WPICNTEN2;
290 bfin_write_WPIA2(breakinfo[breakno].addr);
291 bfin_write_WPIACNT2(breakinfo[breakno].skip);
292 } else if (!breakinfo[breakno].enabled && (wpdactl & WPIAEN2)) {
293 correctit = 1;
294 wpdactl &= ~WPIAEN2;
295 }
296 break;
297
298 case 3:
299 if (breakinfo[breakno].enabled && !(wpdactl & WPIAEN3)) {
300 correctit = 1;
301 wpdactl &= ~(WPIREN23|EMUSW3);
302 wpdactl |= WPIAEN3|WPICNTEN3;
303 bfin_write_WPIA3(breakinfo[breakno].addr);
304 bfin_write_WPIACNT3(breakinfo[breakno].skip);
305 } else if (!breakinfo[breakno].enabled && (wpdactl & WPIAEN3)) {
306 correctit = 1;
307 wpdactl &= ~WPIAEN3;
308 }
309 break;
310 case 4:
311 if (breakinfo[breakno].enabled && !(wpdactl & WPIAEN4)) {
312 correctit = 1;
313 wpdactl &= ~(WPIREN45|EMUSW4);
314 wpdactl |= WPIAEN4|WPICNTEN4;
315 bfin_write_WPIA4(breakinfo[breakno].addr);
316 bfin_write_WPIACNT4(breakinfo[breakno].skip);
317 } else if (!breakinfo[breakno].enabled && (wpdactl & WPIAEN4)) {
318 correctit = 1;
319 wpdactl &= ~WPIAEN4;
320 }
321 break;
322 case 5:
323 if (breakinfo[breakno].enabled && !(wpdactl & WPIAEN5)) {
324 correctit = 1;
325 wpdactl &= ~(WPIREN45|EMUSW5);
326 wpdactl |= WPIAEN5|WPICNTEN5;
327 bfin_write_WPIA5(breakinfo[breakno].addr);
328 bfin_write_WPIACNT5(breakinfo[breakno].skip);
329 } else if (!breakinfo[breakno].enabled && (wpdactl & WPIAEN5)) {
330 correctit = 1;
331 wpdactl &= ~WPIAEN5;
332 }
333 break;
334 }
335 }
336 }
337 if (correctit) {
338 wpdactl &= ~WPAND;
339 wpdactl |= WPPWR;
340 /*printk("correct_hw_break: wpdactl=0x%x\n", wpdactl);*/
341 bfin_write_WPDACTL(wpdactl);
342 CSYNC();
343 /*kgdb_show_info();*/
344 }
345}
346
347void kgdb_disable_hw_debug(struct pt_regs *regs)
348{
349 /* Disable hardware debugging while we are in kgdb */
350 bfin_write_WPIACTL(bfin_read_WPIACTL() & ~0x1);
351 CSYNC();
352}
353
354void kgdb_post_master_code(struct pt_regs *regs, int eVector, int err_code)
355{
356 /* Master processor is completely in the debugger */
357 gdb_bf533vector = eVector;
358 gdb_bf533errcode = err_code;
359}
360
361int kgdb_arch_handle_exception(int exceptionVector, int signo,
362 int err_code, char *remcom_in_buffer,
363 char *remcom_out_buffer,
364 struct pt_regs *linux_regs)
365{
366 long addr;
367 long breakno;
368 char *ptr;
369 int newPC;
370 int wp_status;
371
372 switch (remcom_in_buffer[0]) {
373 case 'c':
374 case 's':
375 if (kgdb_contthread && kgdb_contthread != current) {
376 strcpy(remcom_out_buffer, "E00");
377 break;
378 }
379
380 kgdb_contthread = NULL;
381
382 /* try to read optional parameter, pc unchanged if no parm */
383 ptr = &remcom_in_buffer[1];
384 if (kgdb_hex2long(&ptr, &addr)) {
385 linux_regs->retx = addr;
386 }
387 newPC = linux_regs->retx;
388
389 /* clear the trace bit */
390 linux_regs->syscfg &= 0xfffffffe;
391
392 /* set the trace bit if we're stepping */
393 if (remcom_in_buffer[0] == 's') {
394 linux_regs->syscfg |= 0x1;
395 debugger_step = 1;
396 }
397
398 wp_status = bfin_read_WPSTAT();
399 CSYNC();
400
401 if (exceptionVector == VEC_WATCH) {
402 for (breakno = 0; breakno < 6; ++breakno) {
403 if (wp_status & (1 << breakno)) {
404 breakinfo->skip = 1;
405 break;
406 }
407 }
408 }
409 kgdb_correct_hw_break();
410
411 bfin_write_WPSTAT(0);
412
413 return 0;
414 } /* switch */
415 return -1; /* this means that we do not want to exit from the handler */
416}
417
418struct kgdb_arch arch_kgdb_ops = {
419 .gdb_bpt_instr = {0xa1},
420 .flags = KGDB_HW_BREAKPOINT,
421};
diff --git a/arch/blackfin/kernel/module.c b/arch/blackfin/kernel/module.c
index 372f756f1ad9..8b9fe29d03f4 100644
--- a/arch/blackfin/kernel/module.c
+++ b/arch/blackfin/kernel/module.c
@@ -165,8 +165,8 @@ module_frob_arch_sections(Elf_Ehdr * hdr, Elf_Shdr * sechdrs,
165 165
166 for (s = sechdrs; s < sechdrs_end; ++s) { 166 for (s = sechdrs; s < sechdrs_end; ++s) {
167 if ((strcmp(".l1.text", secstrings + s->sh_name) == 0) || 167 if ((strcmp(".l1.text", secstrings + s->sh_name) == 0) ||
168 ((strcmp(".text", secstrings + s->sh_name)==0) && 168 ((strcmp(".text", secstrings + s->sh_name) == 0) &&
169 (hdr->e_flags & FLG_CODE_IN_L1) && (s->sh_size > 0))) { 169 (hdr->e_flags & FLG_CODE_IN_L1) && (s->sh_size > 0))) {
170 mod->arch.text_l1 = s; 170 mod->arch.text_l1 = s;
171 dest = l1_inst_sram_alloc(s->sh_size); 171 dest = l1_inst_sram_alloc(s->sh_size);
172 if (dest == NULL) { 172 if (dest == NULL) {
@@ -179,9 +179,9 @@ module_frob_arch_sections(Elf_Ehdr * hdr, Elf_Shdr * sechdrs,
179 s->sh_flags &= ~SHF_ALLOC; 179 s->sh_flags &= ~SHF_ALLOC;
180 s->sh_addr = (unsigned long)dest; 180 s->sh_addr = (unsigned long)dest;
181 } 181 }
182 if ((strcmp(".l1.data", secstrings + s->sh_name) == 0)|| 182 if ((strcmp(".l1.data", secstrings + s->sh_name) == 0) ||
183 ((strcmp(".data", secstrings + s->sh_name)==0) && 183 ((strcmp(".data", secstrings + s->sh_name) == 0) &&
184 (hdr->e_flags & FLG_DATA_IN_L1) && (s->sh_size > 0))) { 184 (hdr->e_flags & FLG_DATA_IN_L1) && (s->sh_size > 0))) {
185 mod->arch.data_a_l1 = s; 185 mod->arch.data_a_l1 = s;
186 dest = l1_data_sram_alloc(s->sh_size); 186 dest = l1_data_sram_alloc(s->sh_size);
187 if (dest == NULL) { 187 if (dest == NULL) {
@@ -195,8 +195,8 @@ module_frob_arch_sections(Elf_Ehdr * hdr, Elf_Shdr * sechdrs,
195 s->sh_addr = (unsigned long)dest; 195 s->sh_addr = (unsigned long)dest;
196 } 196 }
197 if (strcmp(".l1.bss", secstrings + s->sh_name) == 0 || 197 if (strcmp(".l1.bss", secstrings + s->sh_name) == 0 ||
198 ((strcmp(".bss", secstrings + s->sh_name)==0) && 198 ((strcmp(".bss", secstrings + s->sh_name) == 0) &&
199 (hdr->e_flags & FLG_DATA_IN_L1) && (s->sh_size > 0))) { 199 (hdr->e_flags & FLG_DATA_IN_L1) && (s->sh_size > 0))) {
200 mod->arch.bss_a_l1 = s; 200 mod->arch.bss_a_l1 = s;
201 dest = l1_data_sram_alloc(s->sh_size); 201 dest = l1_data_sram_alloc(s->sh_size);
202 if (dest == NULL) { 202 if (dest == NULL) {
@@ -326,7 +326,7 @@ apply_relocate_add(Elf_Shdr * sechdrs, const char *strtab,
326 pr_debug("before %x after %x\n", *location16, 326 pr_debug("before %x after %x\n", *location16,
327 (value & 0xffff)); 327 (value & 0xffff));
328 tmp = (value & 0xffff); 328 tmp = (value & 0xffff);
329 if((unsigned long)location16 >= L1_CODE_START) { 329 if ((unsigned long)location16 >= L1_CODE_START) {
330 dma_memcpy(location16, &tmp, 2); 330 dma_memcpy(location16, &tmp, 2);
331 } else 331 } else
332 *location16 = tmp; 332 *location16 = tmp;
@@ -335,7 +335,7 @@ apply_relocate_add(Elf_Shdr * sechdrs, const char *strtab,
335 pr_debug("before %x after %x\n", *location16, 335 pr_debug("before %x after %x\n", *location16,
336 ((value >> 16) & 0xffff)); 336 ((value >> 16) & 0xffff));
337 tmp = ((value >> 16) & 0xffff); 337 tmp = ((value >> 16) & 0xffff);
338 if((unsigned long)location16 >= L1_CODE_START) { 338 if ((unsigned long)location16 >= L1_CODE_START) {
339 dma_memcpy(location16, &tmp, 2); 339 dma_memcpy(location16, &tmp, 2);
340 } else 340 } else
341 *location16 = tmp; 341 *location16 = tmp;
@@ -404,8 +404,8 @@ module_finalize(const Elf_Ehdr * hdr,
404 continue; 404 continue;
405 405
406 if ((sechdrs[i].sh_type == SHT_RELA) && 406 if ((sechdrs[i].sh_type == SHT_RELA) &&
407 ((strcmp(".rela.l1.text", secstrings + sechdrs[i].sh_name) == 0)|| 407 ((strcmp(".rela.l1.text", secstrings + sechdrs[i].sh_name) == 0) ||
408 ((strcmp(".rela.text", secstrings + sechdrs[i].sh_name) == 0) && 408 ((strcmp(".rela.text", secstrings + sechdrs[i].sh_name) == 0) &&
409 (hdr->e_flags & FLG_CODE_IN_L1)))) { 409 (hdr->e_flags & FLG_CODE_IN_L1)))) {
410 apply_relocate_add((Elf_Shdr *) sechdrs, strtab, 410 apply_relocate_add((Elf_Shdr *) sechdrs, strtab,
411 symindex, i, mod); 411 symindex, i, mod);
@@ -417,13 +417,13 @@ module_finalize(const Elf_Ehdr * hdr,
417void module_arch_cleanup(struct module *mod) 417void module_arch_cleanup(struct module *mod)
418{ 418{
419 if ((mod->arch.text_l1) && (mod->arch.text_l1->sh_addr)) 419 if ((mod->arch.text_l1) && (mod->arch.text_l1->sh_addr))
420 l1_inst_sram_free((void*)mod->arch.text_l1->sh_addr); 420 l1_inst_sram_free((void *)mod->arch.text_l1->sh_addr);
421 if ((mod->arch.data_a_l1) && (mod->arch.data_a_l1->sh_addr)) 421 if ((mod->arch.data_a_l1) && (mod->arch.data_a_l1->sh_addr))
422 l1_data_sram_free((void*)mod->arch.data_a_l1->sh_addr); 422 l1_data_sram_free((void *)mod->arch.data_a_l1->sh_addr);
423 if ((mod->arch.bss_a_l1) && (mod->arch.bss_a_l1->sh_addr)) 423 if ((mod->arch.bss_a_l1) && (mod->arch.bss_a_l1->sh_addr))
424 l1_data_sram_free((void*)mod->arch.bss_a_l1->sh_addr); 424 l1_data_sram_free((void *)mod->arch.bss_a_l1->sh_addr);
425 if ((mod->arch.data_b_l1) && (mod->arch.data_b_l1->sh_addr)) 425 if ((mod->arch.data_b_l1) && (mod->arch.data_b_l1->sh_addr))
426 l1_data_B_sram_free((void*)mod->arch.data_b_l1->sh_addr); 426 l1_data_B_sram_free((void *)mod->arch.data_b_l1->sh_addr);
427 if ((mod->arch.bss_b_l1) && (mod->arch.bss_b_l1->sh_addr)) 427 if ((mod->arch.bss_b_l1) && (mod->arch.bss_b_l1->sh_addr))
428 l1_data_B_sram_free((void*)mod->arch.bss_b_l1->sh_addr); 428 l1_data_B_sram_free((void *)mod->arch.bss_b_l1->sh_addr);
429} 429}
diff --git a/arch/blackfin/kernel/process.c b/arch/blackfin/kernel/process.c
index 3eff7439d8d3..5a51dd6ab280 100644
--- a/arch/blackfin/kernel/process.c
+++ b/arch/blackfin/kernel/process.c
@@ -32,9 +32,10 @@
32#include <linux/unistd.h> 32#include <linux/unistd.h>
33#include <linux/user.h> 33#include <linux/user.h>
34#include <linux/a.out.h> 34#include <linux/a.out.h>
35#include <linux/uaccess.h>
35 36
36#include <asm/blackfin.h> 37#include <asm/blackfin.h>
37#include <asm/uaccess.h> 38#include <asm/fixed_code.h>
38 39
39#define LED_ON 0 40#define LED_ON 0
40#define LED_OFF 1 41#define LED_OFF 1
@@ -173,8 +174,8 @@ void show_regs(struct pt_regs *regs)
173 printk(KERN_NOTICE "R4: %08lx R5: %08lx R6: %08lx R7: %08lx\n", 174 printk(KERN_NOTICE "R4: %08lx R5: %08lx R6: %08lx R7: %08lx\n",
174 regs->r4, regs->r5, regs->r6, regs->r7); 175 regs->r4, regs->r5, regs->r6, regs->r7);
175 176
176 if (!(regs->ipend)) 177 if (!regs->ipend)
177 printk("USP: %08lx\n", rdusp()); 178 printk(KERN_NOTICE "USP: %08lx\n", rdusp());
178} 179}
179 180
180/* Fill in the fpu structure for a core dump. */ 181/* Fill in the fpu structure for a core dump. */
@@ -322,7 +323,7 @@ asmlinkage int sys_execve(char *name, char **argv, char **envp)
322 goto out; 323 goto out;
323 error = do_execve(filename, argv, envp, regs); 324 error = do_execve(filename, argv, envp, regs);
324 putname(filename); 325 putname(filename);
325 out: 326 out:
326 unlock_kernel(); 327 unlock_kernel();
327 return error; 328 return error;
328} 329}
@@ -350,13 +351,77 @@ unsigned long get_wchan(struct task_struct *p)
350 return 0; 351 return 0;
351} 352}
352 353
354void finish_atomic_sections (struct pt_regs *regs)
355{
356 if (regs->pc < ATOMIC_SEQS_START || regs->pc >= ATOMIC_SEQS_END)
357 return;
358
359 switch (regs->pc) {
360 case ATOMIC_XCHG32 + 2:
361 put_user(regs->r1, (int *)regs->p0);
362 regs->pc += 2;
363 break;
364
365 case ATOMIC_CAS32 + 2:
366 case ATOMIC_CAS32 + 4:
367 if (regs->r0 == regs->r1)
368 put_user(regs->r2, (int *)regs->p0);
369 regs->pc = ATOMIC_CAS32 + 8;
370 break;
371 case ATOMIC_CAS32 + 6:
372 put_user(regs->r2, (int *)regs->p0);
373 regs->pc += 2;
374 break;
375
376 case ATOMIC_ADD32 + 2:
377 regs->r0 = regs->r1 + regs->r0;
378 /* fall through */
379 case ATOMIC_ADD32 + 4:
380 put_user(regs->r0, (int *)regs->p0);
381 regs->pc = ATOMIC_ADD32 + 6;
382 break;
383
384 case ATOMIC_SUB32 + 2:
385 regs->r0 = regs->r1 - regs->r0;
386 /* fall through */
387 case ATOMIC_SUB32 + 4:
388 put_user(regs->r0, (int *)regs->p0);
389 regs->pc = ATOMIC_SUB32 + 6;
390 break;
391
392 case ATOMIC_IOR32 + 2:
393 regs->r0 = regs->r1 | regs->r0;
394 /* fall through */
395 case ATOMIC_IOR32 + 4:
396 put_user(regs->r0, (int *)regs->p0);
397 regs->pc = ATOMIC_IOR32 + 6;
398 break;
399
400 case ATOMIC_AND32 + 2:
401 regs->r0 = regs->r1 & regs->r0;
402 /* fall through */
403 case ATOMIC_AND32 + 4:
404 put_user(regs->r0, (int *)regs->p0);
405 regs->pc = ATOMIC_AND32 + 6;
406 break;
407
408 case ATOMIC_XOR32 + 2:
409 regs->r0 = regs->r1 ^ regs->r0;
410 /* fall through */
411 case ATOMIC_XOR32 + 4:
412 put_user(regs->r0, (int *)regs->p0);
413 regs->pc = ATOMIC_XOR32 + 6;
414 break;
415 }
416}
417
353#if defined(CONFIG_ACCESS_CHECK) 418#if defined(CONFIG_ACCESS_CHECK)
354int _access_ok(unsigned long addr, unsigned long size) 419int _access_ok(unsigned long addr, unsigned long size)
355{ 420{
356 421
357 if (addr > (addr + size)) 422 if (addr > (addr + size))
358 return 0; 423 return 0;
359 if (segment_eq(get_fs(),KERNEL_DS)) 424 if (segment_eq(get_fs(), KERNEL_DS))
360 return 1; 425 return 1;
361#ifdef CONFIG_MTD_UCLINUX 426#ifdef CONFIG_MTD_UCLINUX
362 if (addr >= memory_start && (addr + size) <= memory_end) 427 if (addr >= memory_start && (addr + size) <= memory_end)
diff --git a/arch/blackfin/kernel/ptrace.c b/arch/blackfin/kernel/ptrace.c
index e718bb4a1ef0..ed800c7456dd 100644
--- a/arch/blackfin/kernel/ptrace.c
+++ b/arch/blackfin/kernel/ptrace.c
@@ -36,8 +36,8 @@
36#include <linux/ptrace.h> 36#include <linux/ptrace.h>
37#include <linux/user.h> 37#include <linux/user.h>
38#include <linux/signal.h> 38#include <linux/signal.h>
39#include <linux/uaccess.h>
39 40
40#include <asm/uaccess.h>
41#include <asm/page.h> 41#include <asm/page.h>
42#include <asm/pgtable.h> 42#include <asm/pgtable.h>
43#include <asm/system.h> 43#include <asm/system.h>
@@ -122,7 +122,7 @@ static inline long get_reg(struct task_struct *task, int regno)
122static inline int 122static inline int
123put_reg(struct task_struct *task, int regno, unsigned long data) 123put_reg(struct task_struct *task, int regno, unsigned long data)
124{ 124{
125 char * reg_ptr; 125 char *reg_ptr;
126 126
127 struct pt_regs *regs = 127 struct pt_regs *regs =
128 (struct pt_regs *)((unsigned long)task_stack_page(task) + 128 (struct pt_regs *)((unsigned long)task_stack_page(task) +
@@ -146,7 +146,7 @@ put_reg(struct task_struct *task, int regno, unsigned long data)
146 break; 146 break;
147 default: 147 default:
148 if (regno <= 216) 148 if (regno <= 216)
149 *(long *)(reg_ptr + regno) = data; 149 *(long *)(reg_ptr + regno) = data;
150 } 150 }
151 return 0; 151 return 0;
152} 152}
diff --git a/arch/blackfin/kernel/setup.c b/arch/blackfin/kernel/setup.c
index a24fa1ab802b..f59dcee7bae3 100644
--- a/arch/blackfin/kernel/setup.c
+++ b/arch/blackfin/kernel/setup.c
@@ -42,6 +42,7 @@
42#include <asm/cacheflush.h> 42#include <asm/cacheflush.h>
43#include <asm/blackfin.h> 43#include <asm/blackfin.h>
44#include <asm/cplbinit.h> 44#include <asm/cplbinit.h>
45#include <asm/fixed_code.h>
45 46
46u16 _bfin_swrst; 47u16 _bfin_swrst;
47 48
@@ -63,10 +64,6 @@ EXPORT_SYMBOL(mtd_size);
63 64
64char __initdata command_line[COMMAND_LINE_SIZE]; 65char __initdata command_line[COMMAND_LINE_SIZE];
65 66
66#if defined(CONFIG_BLKFIN_DCACHE) || defined(CONFIG_BLKFIN_CACHE)
67static void generate_cpl_tables(void);
68#endif
69
70void __init bf53x_cache_init(void) 67void __init bf53x_cache_init(void)
71{ 68{
72#if defined(CONFIG_BLKFIN_DCACHE) || defined(CONFIG_BLKFIN_CACHE) 69#if defined(CONFIG_BLKFIN_DCACHE) || defined(CONFIG_BLKFIN_CACHE)
@@ -197,6 +194,17 @@ void __init setup_arch(char **cmdline_p)
197 /* this give a chance to get printk() working before crash. */ 194 /* this give a chance to get printk() working before crash. */
198#endif 195#endif
199 196
197 printk(KERN_INFO "Hardware Trace ");
198 if (bfin_read_TBUFCTL() & 0x1 )
199 printk("Active ");
200 else
201 printk("Off ");
202 if (bfin_read_TBUFCTL() & 0x2)
203 printk("and Enabled\n");
204 else
205 printk("and Disabled\n");
206
207
200#if defined(CONFIG_CHR_DEV_FLASH) || defined(CONFIG_BLK_DEV_FLASH) 208#if defined(CONFIG_CHR_DEV_FLASH) || defined(CONFIG_BLK_DEV_FLASH)
201 /* we need to initialize the Flashrom device here since we might 209 /* we need to initialize the Flashrom device here since we might
202 * do things with flash early on in the boot 210 * do things with flash early on in the boot
@@ -307,10 +315,20 @@ void __init setup_arch(char **cmdline_p)
307 init_leds(); 315 init_leds();
308 316
309 printk(KERN_INFO "Blackfin support (C) 2004-2007 Analog Devices, Inc.\n"); 317 printk(KERN_INFO "Blackfin support (C) 2004-2007 Analog Devices, Inc.\n");
310 printk(KERN_INFO "Compiled for ADSP-%s Rev 0.%d\n", CPU, bfin_compiled_revid()); 318 if (bfin_compiled_revid() == 0xffff)
311 if (bfin_revid() != bfin_compiled_revid()) 319 printk(KERN_INFO "Compiled for ADSP-%s Rev any\n", CPU);
312 printk(KERN_ERR "Warning: Compiled for Rev %d, but running on Rev %d\n", 320 else if (bfin_compiled_revid() == -1)
313 bfin_compiled_revid(), bfin_revid()); 321 printk(KERN_INFO "Compiled for ADSP-%s Rev none\n", CPU);
322 else
323 printk(KERN_INFO "Compiled for ADSP-%s Rev 0.%d\n", CPU, bfin_compiled_revid());
324 if (bfin_revid() != bfin_compiled_revid()) {
325 if (bfin_compiled_revid() == -1)
326 printk(KERN_ERR "Warning: Compiled for Rev none, but running on Rev %d\n",
327 bfin_revid());
328 else if (bfin_compiled_revid() != 0xffff)
329 printk(KERN_ERR "Warning: Compiled for Rev %d, but running on Rev %d\n",
330 bfin_compiled_revid(), bfin_revid());
331 }
314 if (bfin_revid() < SUPPORTED_REVID) 332 if (bfin_revid() < SUPPORTED_REVID)
315 printk(KERN_ERR "Warning: Unsupported Chip Revision ADSP-%s Rev 0.%d detected\n", 333 printk(KERN_ERR "Warning: Unsupported Chip Revision ADSP-%s Rev 0.%d detected\n",
316 CPU, bfin_revid()); 334 CPU, bfin_revid());
@@ -329,9 +347,10 @@ void __init setup_arch(char **cmdline_p)
329 347
330 printk(KERN_INFO "Memory map:\n" 348 printk(KERN_INFO "Memory map:\n"
331 KERN_INFO " text = 0x%p-0x%p\n" 349 KERN_INFO " text = 0x%p-0x%p\n"
332 KERN_INFO " init = 0x%p-0x%p\n" 350 KERN_INFO " rodata = 0x%p-0x%p\n"
333 KERN_INFO " data = 0x%p-0x%p\n" 351 KERN_INFO " data = 0x%p-0x%p\n"
334 KERN_INFO " stack = 0x%p-0x%p\n" 352 KERN_INFO " stack = 0x%p-0x%p\n"
353 KERN_INFO " init = 0x%p-0x%p\n"
335 KERN_INFO " bss = 0x%p-0x%p\n" 354 KERN_INFO " bss = 0x%p-0x%p\n"
336 KERN_INFO " available = 0x%p-0x%p\n" 355 KERN_INFO " available = 0x%p-0x%p\n"
337#ifdef CONFIG_MTD_UCLINUX 356#ifdef CONFIG_MTD_UCLINUX
@@ -341,16 +360,17 @@ void __init setup_arch(char **cmdline_p)
341 KERN_INFO " DMA Zone = 0x%p-0x%p\n" 360 KERN_INFO " DMA Zone = 0x%p-0x%p\n"
342#endif 361#endif
343 , _stext, _etext, 362 , _stext, _etext,
344 __init_begin, __init_end, 363 __start_rodata, __end_rodata,
345 _sdata, _edata, 364 _sdata, _edata,
346 (void*)&init_thread_union, (void*)((int)(&init_thread_union) + 0x2000), 365 (void *)&init_thread_union, (void *)((int)(&init_thread_union) + 0x2000),
366 __init_begin, __init_end,
347 __bss_start, __bss_stop, 367 __bss_start, __bss_stop,
348 (void*)_ramstart, (void*)memory_end 368 (void *)_ramstart, (void *)memory_end
349#ifdef CONFIG_MTD_UCLINUX 369#ifdef CONFIG_MTD_UCLINUX
350 , (void*)memory_mtd_start, (void*)(memory_mtd_start + mtd_size) 370 , (void *)memory_mtd_start, (void *)(memory_mtd_start + mtd_size)
351#endif 371#endif
352#if DMA_UNCACHED_REGION > 0 372#if DMA_UNCACHED_REGION > 0
353 , (void*)(_ramend - DMA_UNCACHED_REGION), (void*)(_ramend) 373 , (void *)(_ramend - DMA_UNCACHED_REGION), (void *)(_ramend)
354#endif 374#endif
355 ); 375 );
356 376
@@ -376,11 +396,11 @@ void __init setup_arch(char **cmdline_p)
376 /* check the size of the l1 area */ 396 /* check the size of the l1 area */
377 l1_length = _etext_l1 - _stext_l1; 397 l1_length = _etext_l1 - _stext_l1;
378 if (l1_length > L1_CODE_LENGTH) 398 if (l1_length > L1_CODE_LENGTH)
379 panic("L1 memory overflow\n"); 399 panic("L1 code memory overflow\n");
380 400
381 l1_length = _ebss_l1 - _sdata_l1; 401 l1_length = _ebss_l1 - _sdata_l1;
382 if (l1_length > L1_DATA_A_LENGTH) 402 if (l1_length > L1_DATA_A_LENGTH)
383 panic("L1 memory overflow\n"); 403 panic("L1 data memory overflow\n");
384 404
385#ifdef BF561_FAMILY 405#ifdef BF561_FAMILY
386 _bfin_swrst = bfin_read_SICA_SWRST(); 406 _bfin_swrst = bfin_read_SICA_SWRST();
@@ -388,10 +408,28 @@ void __init setup_arch(char **cmdline_p)
388 _bfin_swrst = bfin_read_SWRST(); 408 _bfin_swrst = bfin_read_SWRST();
389#endif 409#endif
390 410
391 bf53x_cache_init(); 411 /* Copy atomic sequences to their fixed location, and sanity check that
412 these locations are the ones that we advertise to userspace. */
413 memcpy((void *)FIXED_CODE_START, &fixed_code_start,
414 FIXED_CODE_END - FIXED_CODE_START);
415 BUG_ON((char *)&sigreturn_stub - (char *)&fixed_code_start
416 != SIGRETURN_STUB - FIXED_CODE_START);
417 BUG_ON((char *)&atomic_xchg32 - (char *)&fixed_code_start
418 != ATOMIC_XCHG32 - FIXED_CODE_START);
419 BUG_ON((char *)&atomic_cas32 - (char *)&fixed_code_start
420 != ATOMIC_CAS32 - FIXED_CODE_START);
421 BUG_ON((char *)&atomic_add32 - (char *)&fixed_code_start
422 != ATOMIC_ADD32 - FIXED_CODE_START);
423 BUG_ON((char *)&atomic_sub32 - (char *)&fixed_code_start
424 != ATOMIC_SUB32 - FIXED_CODE_START);
425 BUG_ON((char *)&atomic_ior32 - (char *)&fixed_code_start
426 != ATOMIC_IOR32 - FIXED_CODE_START);
427 BUG_ON((char *)&atomic_and32 - (char *)&fixed_code_start
428 != ATOMIC_AND32 - FIXED_CODE_START);
429 BUG_ON((char *)&atomic_xor32 - (char *)&fixed_code_start
430 != ATOMIC_XOR32 - FIXED_CODE_START);
392 431
393 printk(KERN_INFO "Hardware Trace Enabled\n"); 432 bf53x_cache_init();
394 bfin_write_TBUFCTL(0x03);
395} 433}
396 434
397static int __init topology_init(void) 435static int __init topology_init(void)
@@ -409,286 +447,6 @@ static int __init topology_init(void)
409 447
410subsys_initcall(topology_init); 448subsys_initcall(topology_init);
411 449
412#if defined(CONFIG_BLKFIN_DCACHE) || defined(CONFIG_BLKFIN_CACHE)
413static u16 __init lock_kernel_check(u32 start, u32 end)
414{
415 if ((start <= (u32) _stext && end >= (u32) _end)
416 || (start >= (u32) _stext && end <= (u32) _end))
417 return IN_KERNEL;
418 return 0;
419}
420
421static unsigned short __init
422fill_cplbtab(struct cplb_tab *table,
423 unsigned long start, unsigned long end,
424 unsigned long block_size, unsigned long cplb_data)
425{
426 int i;
427
428 switch (block_size) {
429 case SIZE_4M:
430 i = 3;
431 break;
432 case SIZE_1M:
433 i = 2;
434 break;
435 case SIZE_4K:
436 i = 1;
437 break;
438 case SIZE_1K:
439 default:
440 i = 0;
441 break;
442 }
443
444 cplb_data = (cplb_data & ~(3 << 16)) | (i << 16);
445
446 while ((start < end) && (table->pos < table->size)) {
447
448 table->tab[table->pos++] = start;
449
450 if (lock_kernel_check(start, start + block_size) == IN_KERNEL)
451 table->tab[table->pos++] =
452 cplb_data | CPLB_LOCK | CPLB_DIRTY;
453 else
454 table->tab[table->pos++] = cplb_data;
455
456 start += block_size;
457 }
458 return 0;
459}
460
461static unsigned short __init
462close_cplbtab(struct cplb_tab *table)
463{
464
465 while (table->pos < table->size) {
466
467 table->tab[table->pos++] = 0;
468 table->tab[table->pos++] = 0; /* !CPLB_VALID */
469 }
470 return 0;
471}
472
473/* helper function */
474static void __fill_code_cplbtab(struct cplb_tab *t, int i,
475 u32 a_start, u32 a_end)
476{
477 if (cplb_data[i].psize) {
478 fill_cplbtab(t,
479 cplb_data[i].start,
480 cplb_data[i].end,
481 cplb_data[i].psize,
482 cplb_data[i].i_conf);
483 } else {
484#if (defined(CONFIG_BLKFIN_CACHE) && defined(ANOMALY_05000263))
485 if (i == SDRAM_KERN) {
486 fill_cplbtab(t,
487 cplb_data[i].start,
488 cplb_data[i].end,
489 SIZE_4M,
490 cplb_data[i].i_conf);
491 } else {
492#endif
493 fill_cplbtab(t,
494 cplb_data[i].start,
495 a_start,
496 SIZE_1M,
497 cplb_data[i].i_conf);
498 fill_cplbtab(t,
499 a_start,
500 a_end,
501 SIZE_4M,
502 cplb_data[i].i_conf);
503 fill_cplbtab(t, a_end,
504 cplb_data[i].end,
505 SIZE_1M,
506 cplb_data[i].i_conf);
507 }
508 }
509}
510
511static void __fill_data_cplbtab(struct cplb_tab *t, int i,
512 u32 a_start, u32 a_end)
513{
514 if (cplb_data[i].psize) {
515 fill_cplbtab(t,
516 cplb_data[i].start,
517 cplb_data[i].end,
518 cplb_data[i].psize,
519 cplb_data[i].d_conf);
520 } else {
521 fill_cplbtab(t,
522 cplb_data[i].start,
523 a_start, SIZE_1M,
524 cplb_data[i].d_conf);
525 fill_cplbtab(t, a_start,
526 a_end, SIZE_4M,
527 cplb_data[i].d_conf);
528 fill_cplbtab(t, a_end,
529 cplb_data[i].end,
530 SIZE_1M,
531 cplb_data[i].d_conf);
532 }
533}
534static void __init generate_cpl_tables(void)
535{
536
537 u16 i, j, process;
538 u32 a_start, a_end, as, ae, as_1m;
539
540 struct cplb_tab *t_i = NULL;
541 struct cplb_tab *t_d = NULL;
542 struct s_cplb cplb;
543
544 cplb.init_i.size = MAX_CPLBS;
545 cplb.init_d.size = MAX_CPLBS;
546 cplb.switch_i.size = MAX_SWITCH_I_CPLBS;
547 cplb.switch_d.size = MAX_SWITCH_D_CPLBS;
548
549 cplb.init_i.pos = 0;
550 cplb.init_d.pos = 0;
551 cplb.switch_i.pos = 0;
552 cplb.switch_d.pos = 0;
553
554 cplb.init_i.tab = icplb_table;
555 cplb.init_d.tab = dcplb_table;
556 cplb.switch_i.tab = ipdt_table;
557 cplb.switch_d.tab = dpdt_table;
558
559 cplb_data[SDRAM_KERN].end = memory_end;
560
561#ifdef CONFIG_MTD_UCLINUX
562 cplb_data[SDRAM_RAM_MTD].start = memory_mtd_start;
563 cplb_data[SDRAM_RAM_MTD].end = memory_mtd_start + mtd_size;
564 cplb_data[SDRAM_RAM_MTD].valid = mtd_size > 0;
565# if defined(CONFIG_ROMFS_FS)
566 cplb_data[SDRAM_RAM_MTD].attr |= I_CPLB;
567
568 /*
569 * The ROMFS_FS size is often not multiple of 1MB.
570 * This can cause multiple CPLB sets covering the same memory area.
571 * This will then cause multiple CPLB hit exceptions.
572 * Workaround: We ensure a contiguous memory area by extending the kernel
573 * memory section over the mtd section.
574 * For ROMFS_FS memory must be covered with ICPLBs anyways.
575 * So there is no difference between kernel and mtd memory setup.
576 */
577
578 cplb_data[SDRAM_KERN].end = memory_mtd_start + mtd_size;;
579 cplb_data[SDRAM_RAM_MTD].valid = 0;
580
581# endif
582#else
583 cplb_data[SDRAM_RAM_MTD].valid = 0;
584#endif
585
586 cplb_data[SDRAM_DMAZ].start = _ramend - DMA_UNCACHED_REGION;
587 cplb_data[SDRAM_DMAZ].end = _ramend;
588
589 cplb_data[RES_MEM].start = _ramend;
590 cplb_data[RES_MEM].end = physical_mem_end;
591
592 if (reserved_mem_dcache_on)
593 cplb_data[RES_MEM].d_conf = SDRAM_DGENERIC;
594 else
595 cplb_data[RES_MEM].d_conf = SDRAM_DNON_CHBL;
596
597 if (reserved_mem_icache_on)
598 cplb_data[RES_MEM].i_conf = SDRAM_IGENERIC;
599 else
600 cplb_data[RES_MEM].i_conf = SDRAM_INON_CHBL;
601
602 for (i = ZERO_P; i <= L2_MEM; i++) {
603 if (!cplb_data[i].valid)
604 continue;
605
606 as_1m = cplb_data[i].start % SIZE_1M;
607
608 /*
609 * We need to make sure all sections are properly 1M aligned
610 * However between Kernel Memory and the Kernel mtd section,
611 * depending on the rootfs size, there can be overlapping
612 * memory areas.
613 */
614
615 if (as_1m && i != L1I_MEM && i != L1D_MEM) {
616#ifdef CONFIG_MTD_UCLINUX
617 if (i == SDRAM_RAM_MTD) {
618 if ((cplb_data[SDRAM_KERN].end + 1) >
619 cplb_data[SDRAM_RAM_MTD].start)
620 cplb_data[SDRAM_RAM_MTD].start =
621 (cplb_data[i].start &
622 (-2*SIZE_1M)) + SIZE_1M;
623 else
624 cplb_data[SDRAM_RAM_MTD].start =
625 (cplb_data[i].start &
626 (-2*SIZE_1M));
627 } else
628#endif
629 printk(KERN_WARNING
630 "Unaligned Start of %s at 0x%X\n",
631 cplb_data[i].name, cplb_data[i].start);
632 }
633
634 as = cplb_data[i].start % SIZE_4M;
635 ae = cplb_data[i].end % SIZE_4M;
636
637 if (as)
638 a_start = cplb_data[i].start + (SIZE_4M - (as));
639 else
640 a_start = cplb_data[i].start;
641
642 a_end = cplb_data[i].end - ae;
643
644 for (j = INITIAL_T; j <= SWITCH_T; j++) {
645
646 switch (j) {
647 case INITIAL_T:
648 if (cplb_data[i].attr & INITIAL_T) {
649 t_i = &cplb.init_i;
650 t_d = &cplb.init_d;
651 process = 1;
652 } else
653 process = 0;
654 break;
655 case SWITCH_T:
656 if (cplb_data[i].attr & SWITCH_T) {
657 t_i = &cplb.switch_i;
658 t_d = &cplb.switch_d;
659 process = 1;
660 } else
661 process = 0;
662 break;
663 default:
664 process = 0;
665 break;
666 }
667
668 if (!process)
669 continue;
670 if (cplb_data[i].attr & I_CPLB)
671 __fill_code_cplbtab(t_i, i, a_start, a_end);
672
673 if (cplb_data[i].attr & D_CPLB)
674 __fill_data_cplbtab(t_d, i, a_start, a_end);
675 }
676 }
677
678/* close tables */
679
680 close_cplbtab(&cplb.init_i);
681 close_cplbtab(&cplb.init_d);
682
683 cplb.init_i.tab[cplb.init_i.pos] = -1;
684 cplb.init_d.tab[cplb.init_d.pos] = -1;
685 cplb.switch_i.tab[cplb.switch_i.pos] = -1;
686 cplb.switch_d.tab[cplb.switch_d.pos] = -1;
687
688}
689
690#endif
691
692static u_long get_vco(void) 450static u_long get_vco(void)
693{ 451{
694 u_long msel; 452 u_long msel;
@@ -718,7 +476,6 @@ u_long get_cclk(void)
718 return get_vco() / ssel; 476 return get_vco() / ssel;
719 return get_vco() >> csel; 477 return get_vco() >> csel;
720} 478}
721
722EXPORT_SYMBOL(get_cclk); 479EXPORT_SYMBOL(get_cclk);
723 480
724/* Get the System clock */ 481/* Get the System clock */
@@ -737,7 +494,6 @@ u_long get_sclk(void)
737 494
738 return get_vco() / ssel; 495 return get_vco() / ssel;
739} 496}
740
741EXPORT_SYMBOL(get_sclk); 497EXPORT_SYMBOL(get_sclk);
742 498
743/* 499/*
@@ -792,23 +548,23 @@ static int show_cpuinfo(struct seq_file *m, void *v)
792 seq_printf(m, "D-CACHE:\tOFF\n"); 548 seq_printf(m, "D-CACHE:\tOFF\n");
793 549
794 550
795 switch(bfin_read_DMEM_CONTROL() & (1 << DMC0_P | 1 << DMC1_P)) { 551 switch (bfin_read_DMEM_CONTROL() & (1 << DMC0_P | 1 << DMC1_P)) {
796 case ACACHE_BSRAM: 552 case ACACHE_BSRAM:
797 seq_printf(m, "DBANK-A:\tCACHE\n" "DBANK-B:\tSRAM\n"); 553 seq_printf(m, "DBANK-A:\tCACHE\n" "DBANK-B:\tSRAM\n");
798 dcache_size = 16; 554 dcache_size = 16;
799 dsup_banks = 1; 555 dsup_banks = 1;
800 break; 556 break;
801 case ACACHE_BCACHE: 557 case ACACHE_BCACHE:
802 seq_printf(m, "DBANK-A:\tCACHE\n" "DBANK-B:\tCACHE\n"); 558 seq_printf(m, "DBANK-A:\tCACHE\n" "DBANK-B:\tCACHE\n");
803 dcache_size = 32; 559 dcache_size = 32;
804 dsup_banks = 2; 560 dsup_banks = 2;
805 break; 561 break;
806 case ASRAM_BSRAM: 562 case ASRAM_BSRAM:
807 seq_printf(m, "DBANK-A:\tSRAM\n" "DBANK-B:\tSRAM\n"); 563 seq_printf(m, "DBANK-A:\tSRAM\n" "DBANK-B:\tSRAM\n");
808 dcache_size = 0; 564 dcache_size = 0;
809 dsup_banks = 0; 565 dsup_banks = 0;
810 break; 566 break;
811 default: 567 default:
812 break; 568 break;
813 } 569 }
814 570
diff --git a/arch/blackfin/kernel/signal.c b/arch/blackfin/kernel/signal.c
index 316e65c3439d..5564c9588aa8 100644
--- a/arch/blackfin/kernel/signal.c
+++ b/arch/blackfin/kernel/signal.c
@@ -34,8 +34,8 @@
34#include <linux/personality.h> 34#include <linux/personality.h>
35#include <linux/binfmts.h> 35#include <linux/binfmts.h>
36#include <linux/freezer.h> 36#include <linux/freezer.h>
37#include <linux/uaccess.h>
37 38
38#include <asm/uaccess.h>
39#include <asm/cacheflush.h> 39#include <asm/cacheflush.h>
40#include <asm/ucontext.h> 40#include <asm/ucontext.h>
41 41
@@ -124,7 +124,7 @@ asmlinkage int do_rt_sigreturn(unsigned long __unused)
124 124
125 return r0; 125 return r0;
126 126
127 badframe: 127 badframe:
128 force_sig(SIGSEGV, current); 128 force_sig(SIGSEGV, current);
129 return 0; 129 return 0;
130} 130}
@@ -239,7 +239,7 @@ setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t * info,
239 239
240 return 0; 240 return 0;
241 241
242 give_sigsegv: 242 give_sigsegv:
243 if (sig == SIGSEGV) 243 if (sig == SIGSEGV)
244 ka->sa.sa_handler = SIG_DFL; 244 ka->sa.sa_handler = SIG_DFL;
245 force_sig(SIGSEGV, current); 245 force_sig(SIGSEGV, current);
@@ -263,7 +263,7 @@ handle_restart(struct pt_regs *regs, struct k_sigaction *ka, int has_handler)
263 } 263 }
264 /* fallthrough */ 264 /* fallthrough */
265 case -ERESTARTNOINTR: 265 case -ERESTARTNOINTR:
266 do_restart: 266 do_restart:
267 regs->p0 = regs->orig_p0; 267 regs->p0 = regs->orig_p0;
268 regs->r0 = regs->orig_r0; 268 regs->r0 = regs->orig_r0;
269 regs->pc -= 2; 269 regs->pc -= 2;
@@ -341,7 +341,7 @@ asmlinkage void do_signal(struct pt_regs *regs)
341 return; 341 return;
342 } 342 }
343 343
344no_signal: 344 no_signal:
345 /* Did we come from a system call? */ 345 /* Did we come from a system call? */
346 if (regs->orig_p0 >= 0) 346 if (regs->orig_p0 >= 0)
347 /* Restart the system call - no handlers present */ 347 /* Restart the system call - no handlers present */
diff --git a/arch/blackfin/kernel/sys_bfin.c b/arch/blackfin/kernel/sys_bfin.c
index f436e6743f5a..f5e1ae3d1705 100644
--- a/arch/blackfin/kernel/sys_bfin.c
+++ b/arch/blackfin/kernel/sys_bfin.c
@@ -37,12 +37,12 @@
37#include <linux/syscalls.h> 37#include <linux/syscalls.h>
38#include <linux/mman.h> 38#include <linux/mman.h>
39#include <linux/file.h> 39#include <linux/file.h>
40#include <linux/uaccess.h>
41#include <linux/ipc.h>
42#include <linux/unistd.h>
40 43
41#include <asm/cacheflush.h> 44#include <asm/cacheflush.h>
42#include <asm/uaccess.h>
43#include <asm/ipc.h>
44#include <asm/dma.h> 45#include <asm/dma.h>
45#include <asm/unistd.h>
46 46
47/* 47/*
48 * sys_pipe() is the normal C calling standard for creating 48 * sys_pipe() is the normal C calling standard for creating
@@ -83,7 +83,7 @@ do_mmap2(unsigned long addr, unsigned long len,
83 83
84 if (file) 84 if (file)
85 fput(file); 85 fput(file);
86 out: 86 out:
87 return error; 87 return error;
88} 88}
89 89
diff --git a/arch/blackfin/kernel/time.c b/arch/blackfin/kernel/time.c
index f578176b6d92..beef057bd1dc 100644
--- a/arch/blackfin/kernel/time.c
+++ b/arch/blackfin/kernel/time.c
@@ -87,7 +87,7 @@ void __init init_leds(void)
87static inline void do_leds(void) 87static inline void do_leds(void)
88{ 88{
89 static unsigned int count = 50; 89 static unsigned int count = 50;
90 static int flag = 0; 90 static int flag;
91 unsigned short tmp = 0; 91 unsigned short tmp = 0;
92 92
93 if (--count == 0) { 93 if (--count == 0) {
@@ -200,7 +200,7 @@ irqreturn_t timer_interrupt(int irq, void *dummy)__attribute__((l1_text));
200irqreturn_t timer_interrupt(int irq, void *dummy) 200irqreturn_t timer_interrupt(int irq, void *dummy)
201{ 201{
202 /* last time the cmos clock got updated */ 202 /* last time the cmos clock got updated */
203 static long last_rtc_update = 0; 203 static long last_rtc_update;
204 204
205 write_seqlock(&xtime_lock); 205 write_seqlock(&xtime_lock);
206 206
diff --git a/arch/blackfin/kernel/traps.c b/arch/blackfin/kernel/traps.c
index 5ab87b0b92dd..3909f5b35536 100644
--- a/arch/blackfin/kernel/traps.c
+++ b/arch/blackfin/kernel/traps.c
@@ -27,15 +27,15 @@
27 * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 27 * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
28 */ 28 */
29 29
30#include <asm/uaccess.h> 30#include <linux/uaccess.h>
31#include <linux/interrupt.h>
32#include <linux/module.h>
33#include <linux/kallsyms.h>
31#include <asm/traps.h> 34#include <asm/traps.h>
32#include <asm/cacheflush.h> 35#include <asm/cacheflush.h>
33#include <asm/blackfin.h> 36#include <asm/blackfin.h>
34#include <asm/uaccess.h>
35#include <asm/irq_handler.h> 37#include <asm/irq_handler.h>
36#include <linux/interrupt.h> 38#include <asm/trace.h>
37#include <linux/module.h>
38#include <linux/kallsyms.h>
39 39
40#ifdef CONFIG_KGDB 40#ifdef CONFIG_KGDB
41# include <linux/debugger.h> 41# include <linux/debugger.h>
@@ -76,7 +76,7 @@ static int printk_address(unsigned long address)
76 if (!modname) 76 if (!modname)
77 modname = delim = ""; 77 modname = delim = "";
78 return printk("<0x%p> { %s%s%s%s + 0x%lx }", 78 return printk("<0x%p> { %s%s%s%s + 0x%lx }",
79 (void*)address, delim, modname, delim, symname, 79 (void *)address, delim, modname, delim, symname,
80 (unsigned long)offset); 80 (unsigned long)offset);
81 81
82 } 82 }
@@ -119,7 +119,7 @@ static int printk_address(unsigned long address)
119 119
120 write_unlock_irq(&tasklist_lock); 120 write_unlock_irq(&tasklist_lock);
121 return printk("<0x%p> [ %s + 0x%lx ]", 121 return printk("<0x%p> [ %s + 0x%lx ]",
122 (void*)address, name, offset); 122 (void *)address, name, offset);
123 } 123 }
124 124
125 vml = vml->next; 125 vml = vml->next;
@@ -128,19 +128,9 @@ static int printk_address(unsigned long address)
128 write_unlock_irq(&tasklist_lock); 128 write_unlock_irq(&tasklist_lock);
129 129
130 /* we were unable to find this address anywhere */ 130 /* we were unable to find this address anywhere */
131 return printk("[<0x%p>]", (void*)address); 131 return printk("[<0x%p>]", (void *)address);
132} 132}
133 133
134#define trace_buffer_save(x) \
135 do { \
136 (x) = bfin_read_TBUFCTL(); \
137 bfin_write_TBUFCTL((x) & ~TBUFEN); \
138 } while (0)
139#define trace_buffer_restore(x) \
140 do { \
141 bfin_write_TBUFCTL((x)); \
142 } while (0)
143
144asmlinkage void trap_c(struct pt_regs *fp) 134asmlinkage void trap_c(struct pt_regs *fp)
145{ 135{
146 int j, sig = 0; 136 int j, sig = 0;
@@ -148,8 +138,15 @@ asmlinkage void trap_c(struct pt_regs *fp)
148 unsigned long trapnr = fp->seqstat & SEQSTAT_EXCAUSE; 138 unsigned long trapnr = fp->seqstat & SEQSTAT_EXCAUSE;
149 139
150#ifdef CONFIG_KGDB 140#ifdef CONFIG_KGDB
151# define CHK_DEBUGGER_TRAP() do { CHK_DEBUGGER(trapnr, sig, info.si_code, fp,); } while (0) 141# define CHK_DEBUGGER_TRAP() \
152# define CHK_DEBUGGER_TRAP_MAYBE() do { if (kgdb_connected) CHK_DEBUGGER_TRAP(); } while (0) 142 do { \
143 CHK_DEBUGGER(trapnr, sig, info.si_code, fp); \
144 } while (0)
145# define CHK_DEBUGGER_TRAP_MAYBE() \
146 do { \
147 if (kgdb_connected) \
148 CHK_DEBUGGER_TRAP(); \
149 } while (0)
153#else 150#else
154# define CHK_DEBUGGER_TRAP() do { } while (0) 151# define CHK_DEBUGGER_TRAP() do { } while (0)
155# define CHK_DEBUGGER_TRAP_MAYBE() do { } while (0) 152# define CHK_DEBUGGER_TRAP_MAYBE() do { } while (0)
@@ -196,15 +193,14 @@ asmlinkage void trap_c(struct pt_regs *fp)
196#else 193#else
197 /* 0x02 - User Defined, Caught by default */ 194 /* 0x02 - User Defined, Caught by default */
198#endif 195#endif
199 /* 0x03 - Atomic test and set */ 196 /* 0x03 - User Defined, userspace stack overflow */
200 case VEC_EXCPT03: 197 case VEC_EXCPT03:
201 info.si_code = SEGV_STACKFLOW; 198 info.si_code = SEGV_STACKFLOW;
202 sig = SIGSEGV; 199 sig = SIGSEGV;
203 printk(KERN_EMERG EXC_0x03); 200 printk(KERN_EMERG EXC_0x03);
204 CHK_DEBUGGER_TRAP(); 201 CHK_DEBUGGER_TRAP();
205 break; 202 break;
206 /* 0x04 - spinlock - handled by _ex_spinlock, 203 /* 0x04 - User Defined, Caught by default */
207 getting here is an error */
208 /* 0x05 - User Defined, Caught by default */ 204 /* 0x05 - User Defined, Caught by default */
209 /* 0x06 - User Defined, Caught by default */ 205 /* 0x06 - User Defined, Caught by default */
210 /* 0x07 - User Defined, Caught by default */ 206 /* 0x07 - User Defined, Caught by default */
@@ -297,7 +293,8 @@ asmlinkage void trap_c(struct pt_regs *fp)
297 info.si_code = ILL_CPLB_MULHIT; 293 info.si_code = ILL_CPLB_MULHIT;
298#ifdef CONFIG_DEBUG_HUNT_FOR_ZERO 294#ifdef CONFIG_DEBUG_HUNT_FOR_ZERO
299 sig = SIGSEGV; 295 sig = SIGSEGV;
300 printk(KERN_EMERG "\n\nNULL pointer access (probably)\n"); 296 printk(KERN_EMERG "\n"
297 KERN_EMERG "NULL pointer access (probably)\n");
301#else 298#else
302 sig = SIGILL; 299 sig = SIGILL;
303 printk(KERN_EMERG EXC_0x27); 300 printk(KERN_EMERG EXC_0x27);
@@ -418,7 +415,9 @@ asmlinkage void trap_c(struct pt_regs *fp)
418 if (current->mm) { 415 if (current->mm) {
419 fp->pc = current->mm->start_code; 416 fp->pc = current->mm->start_code;
420 } else { 417 } else {
421 printk(KERN_EMERG "I can't return to memory that doesn't exist - bad things happen\n"); 418 printk(KERN_EMERG
419 "I can't return to memory that doesn't exist"
420 " - bad things happen\n");
422 panic("Help - I've fallen and can't get up\n"); 421 panic("Help - I've fallen and can't get up\n");
423 } 422 }
424 } 423 }
@@ -522,38 +521,47 @@ EXPORT_SYMBOL(dump_stack);
522void dump_bfin_regs(struct pt_regs *fp, void *retaddr) 521void dump_bfin_regs(struct pt_regs *fp, void *retaddr)
523{ 522{
524 if (current->pid) { 523 if (current->pid) {
525 printk("\nCURRENT PROCESS:\n\n"); 524 printk(KERN_EMERG "\n" KERN_EMERG "CURRENT PROCESS:\n"
526 printk("COMM=%s PID=%d\n", current->comm, current->pid); 525 KERN_EMERG "\n");
526 printk(KERN_EMERG "COMM=%s PID=%d\n",
527 current->comm, current->pid);
527 } else { 528 } else {
528 printk 529 printk
529 ("\nNo Valid pid - Either things are really messed up, or you are in the kernel\n"); 530 (KERN_EMERG "\n" KERN_EMERG
531 "No Valid pid - Either things are really messed up,"
532 " or you are in the kernel\n");
530 } 533 }
531 534
532 if (current->mm) { 535 if (current->mm) {
533 printk("TEXT = 0x%p-0x%p DATA = 0x%p-0x%p\n" 536 printk(KERN_EMERG "TEXT = 0x%p-0x%p DATA = 0x%p-0x%p\n"
534 "BSS = 0x%p-0x%p USER-STACK = 0x%p\n\n", 537 KERN_EMERG "BSS = 0x%p-0x%p USER-STACK = 0x%p\n"
535 (void*)current->mm->start_code, 538 KERN_EMERG "\n",
536 (void*)current->mm->end_code, 539 (void *)current->mm->start_code,
537 (void*)current->mm->start_data, 540 (void *)current->mm->end_code,
538 (void*)current->mm->end_data, 541 (void *)current->mm->start_data,
539 (void*)current->mm->end_data, 542 (void *)current->mm->end_data,
540 (void*)current->mm->brk, 543 (void *)current->mm->end_data,
541 (void*)current->mm->start_stack); 544 (void *)current->mm->brk,
545 (void *)current->mm->start_stack);
542 } 546 }
543 547
544 printk("return address: 0x%p; contents of [PC-16...PC+8]:\n", retaddr); 548 printk(KERN_EMERG "return address: [0x%p]; contents of:", retaddr);
545 if (retaddr != 0 && retaddr <= (void*)physical_mem_end 549 if (retaddr != 0 && retaddr <= (void *)physical_mem_end
546#if L1_CODE_LENGTH != 0 550#if L1_CODE_LENGTH != 0
547 /* FIXME: Copy the code out of L1 Instruction SRAM through dma 551 /* FIXME: Copy the code out of L1 Instruction SRAM through dma
548 memcpy. */ 552 memcpy. */
549 && !(retaddr >= (void*)L1_CODE_START 553 && !(retaddr >= (void *)L1_CODE_START
550 && retaddr < (void*)(L1_CODE_START + L1_CODE_LENGTH)) 554 && retaddr < (void *)(L1_CODE_START + L1_CODE_LENGTH))
551#endif 555#endif
552 ) { 556 ) {
553 int i = 0; 557 int i = ((unsigned int)retaddr & 0xFFFFFFF0) - 32;
554 unsigned short x = 0; 558 unsigned short x = 0;
555 for (i = -16; i < 8; i++) { 559 for (; i < ((unsigned int)retaddr & 0xFFFFFFF0) + 32; i += 2) {
556 if (get_user(x, (unsigned short *)retaddr + i)) 560 if (!(i & 0xF))
561 printk(KERN_EMERG "\n" KERN_EMERG
562 "0x%08x: ", i);
563
564 if (get_user(x, (unsigned short *)i))
557 break; 565 break;
558#ifndef CONFIG_DEBUG_HWERR 566#ifndef CONFIG_DEBUG_HWERR
559 /* If one of the last few instructions was a STI 567 /* If one of the last few instructions was a STI
@@ -561,53 +569,65 @@ void dump_bfin_regs(struct pt_regs *fp, void *retaddr)
561 * and we just noticed 569 * and we just noticed
562 */ 570 */
563 if (x >= 0x0040 && x <= 0x0047 && i <= 0) 571 if (x >= 0x0040 && x <= 0x0047 && i <= 0)
564 panic("\n\nWARNING : You should reconfigure the kernel to turn on\n" 572 panic("\n\nWARNING : You should reconfigure"
565 " 'Hardware error interrupt debugging'\n" 573 " the kernel to turn on\n"
566 " The rest of this error is meanless\n"); 574 " 'Hardware error interrupt"
575 " debugging'\n"
576 " The rest of this error"
577 " is meanless\n");
567#endif 578#endif
568 579 if (i == (unsigned int)retaddr)
569 if (i == -8) 580 printk("[%04x]", x);
570 printk("\n"); 581 else
571 if (i == 0) 582 printk(" %04x ", x);
572 printk("X\n");
573 printk("%04x ", x);
574 } 583 }
584 printk("\n" KERN_EMERG "\n");
575 } else 585 } else
576 printk("Cannot look at the [PC] for it is in unreadable L1 SRAM - sorry\n"); 586 printk(KERN_EMERG
577 587 "Cannot look at the [PC] for it is"
578 printk("\n\n"); 588 "in unreadable L1 SRAM - sorry\n");
579 589
580 printk("RETE: %08lx RETN: %08lx RETX: %08lx RETS: %08lx\n", 590
581 fp->rete, fp->retn, fp->retx, fp->rets); 591 printk(KERN_EMERG
582 printk("IPEND: %04lx SYSCFG: %04lx\n", fp->ipend, fp->syscfg); 592 "RETE: %08lx RETN: %08lx RETX: %08lx RETS: %08lx\n",
583 printk("SEQSTAT: %08lx SP: %08lx\n", (long)fp->seqstat, (long)fp); 593 fp->rete, fp->retn, fp->retx, fp->rets);
584 printk("R0: %08lx R1: %08lx R2: %08lx R3: %08lx\n", 594 printk(KERN_EMERG "IPEND: %04lx SYSCFG: %04lx\n",
585 fp->r0, fp->r1, fp->r2, fp->r3); 595 fp->ipend, fp->syscfg);
586 printk("R4: %08lx R5: %08lx R6: %08lx R7: %08lx\n", 596 printk(KERN_EMERG "SEQSTAT: %08lx SP: %08lx\n",
587 fp->r4, fp->r5, fp->r6, fp->r7); 597 (long)fp->seqstat, (long)fp);
588 printk("P0: %08lx P1: %08lx P2: %08lx P3: %08lx\n", 598 printk(KERN_EMERG "R0: %08lx R1: %08lx R2: %08lx R3: %08lx\n",
589 fp->p0, fp->p1, fp->p2, fp->p3); 599 fp->r0, fp->r1, fp->r2, fp->r3);
590 printk("P4: %08lx P5: %08lx FP: %08lx\n", fp->p4, fp->p5, fp->fp); 600 printk(KERN_EMERG "R4: %08lx R5: %08lx R6: %08lx R7: %08lx\n",
591 printk("A0.w: %08lx A0.x: %08lx A1.w: %08lx A1.x: %08lx\n", 601 fp->r4, fp->r5, fp->r6, fp->r7);
592 fp->a0w, fp->a0x, fp->a1w, fp->a1x); 602 printk(KERN_EMERG "P0: %08lx P1: %08lx P2: %08lx P3: %08lx\n",
593 603 fp->p0, fp->p1, fp->p2, fp->p3);
594 printk("LB0: %08lx LT0: %08lx LC0: %08lx\n", fp->lb0, fp->lt0, 604 printk(KERN_EMERG
595 fp->lc0); 605 "P4: %08lx P5: %08lx FP: %08lx\n",
596 printk("LB1: %08lx LT1: %08lx LC1: %08lx\n", fp->lb1, fp->lt1, 606 fp->p4, fp->p5, fp->fp);
597 fp->lc1); 607 printk(KERN_EMERG
598 printk("B0: %08lx L0: %08lx M0: %08lx I0: %08lx\n", fp->b0, fp->l0, 608 "A0.w: %08lx A0.x: %08lx A1.w: %08lx A1.x: %08lx\n",
599 fp->m0, fp->i0); 609 fp->a0w, fp->a0x, fp->a1w, fp->a1x);
600 printk("B1: %08lx L1: %08lx M1: %08lx I1: %08lx\n", fp->b1, fp->l1, 610
601 fp->m1, fp->i1); 611 printk(KERN_EMERG "LB0: %08lx LT0: %08lx LC0: %08lx\n",
602 printk("B2: %08lx L2: %08lx M2: %08lx I2: %08lx\n", fp->b2, fp->l2, 612 fp->lb0, fp->lt0, fp->lc0);
603 fp->m2, fp->i2); 613 printk(KERN_EMERG "LB1: %08lx LT1: %08lx LC1: %08lx\n",
604 printk("B3: %08lx L3: %08lx M3: %08lx I3: %08lx\n", fp->b3, fp->l3, 614 fp->lb1, fp->lt1, fp->lc1);
605 fp->m3, fp->i3); 615 printk(KERN_EMERG "B0: %08lx L0: %08lx M0: %08lx I0: %08lx\n",
606 616 fp->b0, fp->l0, fp->m0, fp->i0);
607 printk("\nUSP: %08lx ASTAT: %08lx\n", rdusp(), fp->astat); 617 printk(KERN_EMERG "B1: %08lx L1: %08lx M1: %08lx I1: %08lx\n",
618 fp->b1, fp->l1, fp->m1, fp->i1);
619 printk(KERN_EMERG "B2: %08lx L2: %08lx M2: %08lx I2: %08lx\n",
620 fp->b2, fp->l2, fp->m2, fp->i2);
621 printk(KERN_EMERG "B3: %08lx L3: %08lx M3: %08lx I3: %08lx\n",
622 fp->b3, fp->l3, fp->m3, fp->i3);
623
624 printk(KERN_EMERG "\n" KERN_EMERG "USP: %08lx ASTAT: %08lx\n",
625 rdusp(), fp->astat);
608 if ((long)fp->seqstat & SEQSTAT_EXCAUSE) { 626 if ((long)fp->seqstat & SEQSTAT_EXCAUSE) {
609 printk(KERN_EMERG "DCPLB_FAULT_ADDR=%p\n", (void*)bfin_read_DCPLB_FAULT_ADDR()); 627 printk(KERN_EMERG "DCPLB_FAULT_ADDR=%p\n",
610 printk(KERN_EMERG "ICPLB_FAULT_ADDR=%p\n", (void*)bfin_read_ICPLB_FAULT_ADDR()); 628 (void *)bfin_read_DCPLB_FAULT_ADDR());
629 printk(KERN_EMERG "ICPLB_FAULT_ADDR=%p\n",
630 (void *)bfin_read_ICPLB_FAULT_ADDR());
611 } 631 }
612 632
613 printk("\n\n"); 633 printk("\n\n");
@@ -649,8 +669,8 @@ void panic_cplb_error(int cplb_panic, struct pt_regs *fp)
649 break; 669 break;
650 } 670 }
651 671
652 printk(KERN_EMERG "DCPLB_FAULT_ADDR=%p\n", (void*)bfin_read_DCPLB_FAULT_ADDR()); 672 printk(KERN_EMERG "DCPLB_FAULT_ADDR=%p\n", (void *)bfin_read_DCPLB_FAULT_ADDR());
653 printk(KERN_EMERG "ICPLB_FAULT_ADDR=%p\n", (void*)bfin_read_ICPLB_FAULT_ADDR()); 673 printk(KERN_EMERG "ICPLB_FAULT_ADDR=%p\n", (void *)bfin_read_ICPLB_FAULT_ADDR());
654 dump_bfin_regs(fp, (void *)fp->retx); 674 dump_bfin_regs(fp, (void *)fp->retx);
655 dump_stack(); 675 dump_stack();
656 panic("Unrecoverable event\n"); 676 panic("Unrecoverable event\n");
diff --git a/arch/blackfin/kernel/vmlinux.lds.S b/arch/blackfin/kernel/vmlinux.lds.S
index 1ef1e36b3957..d06f860f4790 100644
--- a/arch/blackfin/kernel/vmlinux.lds.S
+++ b/arch/blackfin/kernel/vmlinux.lds.S
@@ -31,6 +31,7 @@
31 31
32#include <asm-generic/vmlinux.lds.h> 32#include <asm-generic/vmlinux.lds.h>
33#include <asm/mem_map.h> 33#include <asm/mem_map.h>
34#include <asm/page.h>
34 35
35OUTPUT_FORMAT("elf32-bfin") 36OUTPUT_FORMAT("elf32-bfin")
36ENTRY(__start) 37ENTRY(__start)
@@ -63,8 +64,8 @@ SECTIONS
63 64
64 .data : 65 .data :
65 { 66 {
67 . = ALIGN(PAGE_SIZE);
66 __sdata = .; 68 __sdata = .;
67 . = ALIGN(0x2000);
68 *(.data.init_task) 69 *(.data.init_task)
69 DATA_DATA 70 DATA_DATA
70 CONSTRUCTORS 71 CONSTRUCTORS
@@ -72,14 +73,14 @@ SECTIONS
72 . = ALIGN(32); 73 . = ALIGN(32);
73 *(.data.cacheline_aligned) 74 *(.data.cacheline_aligned)
74 75
75 . = ALIGN(0x2000); 76 . = ALIGN(PAGE_SIZE);
76 __edata = .; 77 __edata = .;
77 } 78 }
78 79
80 . = ALIGN(PAGE_SIZE);
79 ___init_begin = .; 81 ___init_begin = .;
80 .init : 82 .init :
81 { 83 {
82 . = ALIGN(4096);
83 __sinittext = .; 84 __sinittext = .;
84 *(.init.text) 85 *(.init.text)
85 __einittext = .; 86 __einittext = .;
@@ -152,9 +153,10 @@ SECTIONS
152 __ebss_b_l1 = .; 153 __ebss_b_l1 = .;
153 } 154 }
154 155
155 ___init_end = LOADADDR(.data_b_l1) + SIZEOF(.data_b_l1); 156 . = LOADADDR(.data_b_l1) + SIZEOF(.data_b_l1);
157 ___init_end = ALIGN(PAGE_SIZE);
156 158
157 .bss LOADADDR(.data_b_l1) + SIZEOF(.data_b_l1) : 159 .bss ___init_end :
158 { 160 {
159 . = ALIGN(4); 161 . = ALIGN(4);
160 ___bss_start = .; 162 ___bss_start = .;
diff --git a/arch/blackfin/lib/memcmp.S b/arch/blackfin/lib/memcmp.S
index a6b8ee6a6bf2..b88c5d2d1ebe 100644
--- a/arch/blackfin/lib/memcmp.S
+++ b/arch/blackfin/lib/memcmp.S
@@ -61,7 +61,12 @@ ENTRY(_memcmp)
61 61
62 LSETUP (.Lquad_loop_s, .Lquad_loop_e) LC0=P1; 62 LSETUP (.Lquad_loop_s, .Lquad_loop_e) LC0=P1;
63.Lquad_loop_s: 63.Lquad_loop_s:
64#ifdef ANOMALY_05000202
65 R0 = [P0++];
66 R1 = [I0++];
67#else
64 MNOP || R0 = [P0++] || R1 = [I0++]; 68 MNOP || R0 = [P0++] || R1 = [I0++];
69#endif
65 CC = R0 == R1; 70 CC = R0 == R1;
66 IF !CC JUMP .Lquad_different; 71 IF !CC JUMP .Lquad_different;
67.Lquad_loop_e: 72.Lquad_loop_e:
diff --git a/arch/blackfin/lib/memcpy.S b/arch/blackfin/lib/memcpy.S
index 34b5a91c215c..14a5585bbd02 100644
--- a/arch/blackfin/lib/memcpy.S
+++ b/arch/blackfin/lib/memcpy.S
@@ -94,13 +94,20 @@ ENTRY(_memcpy)
94.Lmore_than_seven: 94.Lmore_than_seven:
95 /* There's at least eight bytes to copy. */ 95 /* There's at least eight bytes to copy. */
96 P2 += -1; /* because we unroll one iteration */ 96 P2 += -1; /* because we unroll one iteration */
97 LSETUP(.Lword_loop, .Lword_loop) LC0=P2; 97 LSETUP(.Lword_loops, .Lword_loope) LC0=P2;
98 R0 = R1; 98 R0 = R1;
99 I1 = P1; 99 I1 = P1;
100 R3 = [I1++]; 100 R3 = [I1++];
101.Lword_loop: 101#ifdef ANOMALY_05000202
102.Lword_loops:
103 [P0++] = R3;
104.Lword_loope:
105 R3 = [I1++];
106#else
107.Lword_loops:
108.Lword_loope:
102 MNOP || [P0++] = R3 || R3 = [I1++]; 109 MNOP || [P0++] = R3 || R3 = [I1++];
103 110#endif
104 [P0++] = R3; 111 [P0++] = R3;
105 /* Any remaining bytes to copy? */ 112 /* Any remaining bytes to copy? */
106 R3 = 0x3; 113 R3 = 0x3;
diff --git a/arch/blackfin/lib/memmove.S b/arch/blackfin/lib/memmove.S
index c371585e9dbd..6ee6e206e77c 100644
--- a/arch/blackfin/lib/memmove.S
+++ b/arch/blackfin/lib/memmove.S
@@ -69,8 +69,17 @@ ENTRY(_memmove)
69 P2 = R2; /* set remainder */ 69 P2 = R2; /* set remainder */
70 R1 = [I0++]; 70 R1 = [I0++];
71 71
72 LSETUP (.Lquad_loop, .Lquad_loop) LC0=P1; 72 LSETUP (.Lquad_loops, .Lquad_loope) LC0=P1;
73.Lquad_loop: MNOP || [P0++] = R1 || R1 = [I0++]; 73#ifdef ANOMALY_05000202
74.Lquad_loops:
75 [P0++] = R1;
76.Lquad_loope:
77 R1 = [I0++];
78#else
79.Lquad_loops:
80.Lquad_loope:
81 MNOP || [P0++] = R1 || R1 = [I0++];
82#endif
74 [P0++] = R1; 83 [P0++] = R1;
75 84
76 CC = P2 == 0; /* any remaining bytes? */ 85 CC = P2 == 0; /* any remaining bytes? */
@@ -93,6 +102,10 @@ ENTRY(_memmove)
93 R1 = B[P3--] (Z); 102 R1 = B[P3--] (Z);
94 CC = P2 == 0; 103 CC = P2 == 0;
95 IF CC JUMP .Lno_loop; 104 IF CC JUMP .Lno_loop;
105#ifdef ANOMALY_05000245
106 NOP;
107 NOP;
108#endif
96 LSETUP (.Lol_s, .Lol_e) LC0 = P2; 109 LSETUP (.Lol_s, .Lol_e) LC0 = P2;
97.Lol_s: B[P0--] = R1; 110.Lol_s: B[P0--] = R1;
98.Lol_e: R1 = B[P3--] (Z); 111.Lol_e: R1 = B[P3--] (Z);
diff --git a/arch/blackfin/lib/strcmp.c b/arch/blackfin/lib/strcmp.c
index 2ad47c4254ba..4eeefd86907f 100644
--- a/arch/blackfin/lib/strcmp.c
+++ b/arch/blackfin/lib/strcmp.c
@@ -6,6 +6,5 @@
6 6
7int strcmp(const char *dest, const char *src) 7int strcmp(const char *dest, const char *src)
8{ 8{
9 return __inline_strcmp(dest, src); 9 return __inline_strcmp(dest, src);
10} 10}
11
diff --git a/arch/blackfin/lib/strcpy.c b/arch/blackfin/lib/strcpy.c
index 4dc835a8a19b..534589db7256 100644
--- a/arch/blackfin/lib/strcpy.c
+++ b/arch/blackfin/lib/strcpy.c
@@ -6,6 +6,5 @@
6 6
7char *strcpy(char *dest, const char *src) 7char *strcpy(char *dest, const char *src)
8{ 8{
9 return __inline_strcpy(dest, src); 9 return __inline_strcpy(dest, src);
10} 10}
11
diff --git a/arch/blackfin/lib/strncmp.c b/arch/blackfin/lib/strncmp.c
index 947bcfe3f3bb..d791f120bff7 100644
--- a/arch/blackfin/lib/strncmp.c
+++ b/arch/blackfin/lib/strncmp.c
@@ -6,6 +6,5 @@
6 6
7int strncmp(const char *cs, const char *ct, size_t count) 7int strncmp(const char *cs, const char *ct, size_t count)
8{ 8{
9 return __inline_strncmp(cs, ct, count); 9 return __inline_strncmp(cs, ct, count);
10} 10}
11
diff --git a/arch/blackfin/lib/strncpy.c b/arch/blackfin/lib/strncpy.c
index 77a9b2e95097..1fecb5c71ffb 100644
--- a/arch/blackfin/lib/strncpy.c
+++ b/arch/blackfin/lib/strncpy.c
@@ -6,6 +6,5 @@
6 6
7char *strncpy(char *dest, const char *src, size_t n) 7char *strncpy(char *dest, const char *src, size_t n)
8{ 8{
9 return __inline_strncpy(dest, src, n); 9 return __inline_strncpy(dest, src, n);
10} 10}
11
diff --git a/arch/blackfin/mach-bf533/Makefile b/arch/blackfin/mach-bf533/Makefile
index 76d2c2b8579a..8cce1736360d 100644
--- a/arch/blackfin/mach-bf533/Makefile
+++ b/arch/blackfin/mach-bf533/Makefile
@@ -4,6 +4,6 @@
4 4
5extra-y := head.o 5extra-y := head.o
6 6
7obj-y := ints-priority.o 7obj-y := ints-priority.o dma.o
8 8
9obj-$(CONFIG_CPU_FREQ_BF533) += cpu.o 9obj-$(CONFIG_CPU_FREQ) += cpu.o
diff --git a/arch/blackfin/mach-bf533/boards/cm_bf533.c b/arch/blackfin/mach-bf533/boards/cm_bf533.c
index edd31ce4f8d2..4545f363e641 100644
--- a/arch/blackfin/mach-bf533/boards/cm_bf533.c
+++ b/arch/blackfin/mach-bf533/boards/cm_bf533.c
@@ -34,7 +34,7 @@
34#include <linux/spi/spi.h> 34#include <linux/spi/spi.h>
35#include <linux/spi/flash.h> 35#include <linux/spi/flash.h>
36#include <linux/usb_isp1362.h> 36#include <linux/usb_isp1362.h>
37#include <asm/irq.h> 37#include <linux/irq.h>
38#include <asm/bfin5xx_spi.h> 38#include <asm/bfin5xx_spi.h>
39 39
40/* 40/*
@@ -51,11 +51,11 @@ static struct mtd_partition bfin_spi_flash_partitions[] = {
51 .size = 0x00020000, 51 .size = 0x00020000,
52 .offset = 0, 52 .offset = 0,
53 .mask_flags = MTD_CAP_ROM 53 .mask_flags = MTD_CAP_ROM
54 },{ 54 }, {
55 .name = "kernel", 55 .name = "kernel",
56 .size = 0xe0000, 56 .size = 0xe0000,
57 .offset = 0x20000 57 .offset = 0x20000
58 },{ 58 }, {
59 .name = "file system", 59 .name = "file system",
60 .size = 0x700000, 60 .size = 0x700000,
61 .offset = 0x00100000, 61 .offset = 0x00100000,
@@ -98,7 +98,7 @@ static struct spi_board_info bfin_spi_board_info[] __initdata = {
98 .platform_data = &bfin_spi_flash_data, 98 .platform_data = &bfin_spi_flash_data,
99 .controller_data = &spi_flash_chip_info, 99 .controller_data = &spi_flash_chip_info,
100 .mode = SPI_MODE_3, 100 .mode = SPI_MODE_3,
101 },{ 101 }, {
102 .modalias = "bfin_spi_adc", /* Name of spi_driver for this device */ 102 .modalias = "bfin_spi_adc", /* Name of spi_driver for this device */
103 .max_speed_hz = 6250000, /* max spi clock (SCK) speed in HZ */ 103 .max_speed_hz = 6250000, /* max spi clock (SCK) speed in HZ */
104 .bus_num = 1, /* Framework bus number */ 104 .bus_num = 1, /* Framework bus number */
@@ -145,7 +145,7 @@ static struct resource smc91x_resources[] = {
145 .start = 0x20200300, 145 .start = 0x20200300,
146 .end = 0x20200300 + 16, 146 .end = 0x20200300 + 16,
147 .flags = IORESOURCE_MEM, 147 .flags = IORESOURCE_MEM,
148 },{ 148 }, {
149 .start = IRQ_PF0, 149 .start = IRQ_PF0,
150 .end = IRQ_PF0, 150 .end = IRQ_PF0,
151 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL, 151 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL,
@@ -194,11 +194,11 @@ static struct resource isp1362_hcd_resources[] = {
194 .start = 0x20308000, 194 .start = 0x20308000,
195 .end = 0x20308000, 195 .end = 0x20308000,
196 .flags = IORESOURCE_MEM, 196 .flags = IORESOURCE_MEM,
197 },{ 197 }, {
198 .start = 0x20308004, 198 .start = 0x20308004,
199 .end = 0x20308004, 199 .end = 0x20308004,
200 .flags = IORESOURCE_MEM, 200 .flags = IORESOURCE_MEM,
201 },{ 201 }, {
202 .start = IRQ_PF4, 202 .start = IRQ_PF4,
203 .end = IRQ_PF4, 203 .end = IRQ_PF4,
204 .flags = IORESOURCE_IRQ, 204 .flags = IORESOURCE_IRQ,
diff --git a/arch/blackfin/mach-bf533/boards/ezkit.c b/arch/blackfin/mach-bf533/boards/ezkit.c
index 0b522d95160d..0000b8f1239c 100644
--- a/arch/blackfin/mach-bf533/boards/ezkit.c
+++ b/arch/blackfin/mach-bf533/boards/ezkit.c
@@ -35,7 +35,7 @@
35#include <linux/spi/spi.h> 35#include <linux/spi/spi.h>
36#include <linux/spi/flash.h> 36#include <linux/spi/flash.h>
37#include <linux/usb_isp1362.h> 37#include <linux/usb_isp1362.h>
38#include <asm/irq.h> 38#include <linux/irq.h>
39#include <asm/bfin5xx_spi.h> 39#include <asm/bfin5xx_spi.h>
40 40
41/* 41/*
@@ -61,7 +61,7 @@ static struct resource smc91x_resources[] = {
61 .start = 0x20310300, 61 .start = 0x20310300,
62 .end = 0x20310300 + 16, 62 .end = 0x20310300 + 16,
63 .flags = IORESOURCE_MEM, 63 .flags = IORESOURCE_MEM,
64 },{ 64 }, {
65 .start = IRQ_PF9, 65 .start = IRQ_PF9,
66 .end = IRQ_PF9, 66 .end = IRQ_PF9,
67 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL, 67 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL,
@@ -85,11 +85,11 @@ static struct mtd_partition bfin_spi_flash_partitions[] = {
85 .size = 0x00020000, 85 .size = 0x00020000,
86 .offset = 0, 86 .offset = 0,
87 .mask_flags = MTD_CAP_ROM 87 .mask_flags = MTD_CAP_ROM
88 },{ 88 }, {
89 .name = "kernel", 89 .name = "kernel",
90 .size = 0xe0000, 90 .size = 0xe0000,
91 .offset = 0x20000 91 .offset = 0x20000
92 },{ 92 }, {
93 .name = "file system", 93 .name = "file system",
94 .size = 0x700000, 94 .size = 0x700000,
95 .offset = 0x00100000, 95 .offset = 0x00100000,
diff --git a/arch/blackfin/mach-bf533/boards/generic_board.c b/arch/blackfin/mach-bf533/boards/generic_board.c
index c0f43ccfbfb5..9bc1f0d0ab50 100644
--- a/arch/blackfin/mach-bf533/boards/generic_board.c
+++ b/arch/blackfin/mach-bf533/boards/generic_board.c
@@ -30,7 +30,7 @@
30 30
31#include <linux/device.h> 31#include <linux/device.h>
32#include <linux/platform_device.h> 32#include <linux/platform_device.h>
33#include <asm/irq.h> 33#include <linux/irq.h>
34 34
35/* 35/*
36 * Name the Board for the /proc/cpuinfo 36 * Name the Board for the /proc/cpuinfo
@@ -53,11 +53,11 @@ static struct resource smc91x_resources[] = {
53 .start = 0x20300300, 53 .start = 0x20300300,
54 .end = 0x20300300 + 16, 54 .end = 0x20300300 + 16,
55 .flags = IORESOURCE_MEM, 55 .flags = IORESOURCE_MEM,
56 },{ 56 }, {
57 .start = IRQ_PROG_INTB, 57 .start = IRQ_PROG_INTB,
58 .end = IRQ_PROG_INTB, 58 .end = IRQ_PROG_INTB,
59 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL, 59 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL,
60 },{ 60 }, {
61 /* 61 /*
62 * denotes the flag pin and is used directly if 62 * denotes the flag pin and is used directly if
63 * CONFIG_IRQCHIP_DEMUX_GPIO is defined. 63 * CONFIG_IRQCHIP_DEMUX_GPIO is defined.
diff --git a/arch/blackfin/mach-bf533/boards/stamp.c b/arch/blackfin/mach-bf533/boards/stamp.c
index 9a472fe15833..a9143c4cbdcd 100644
--- a/arch/blackfin/mach-bf533/boards/stamp.c
+++ b/arch/blackfin/mach-bf533/boards/stamp.c
@@ -37,7 +37,7 @@
37#if defined(CONFIG_USB_ISP1362_HCD) || defined(CONFIG_USB_ISP1362_HCD_MODULE) 37#if defined(CONFIG_USB_ISP1362_HCD) || defined(CONFIG_USB_ISP1362_HCD_MODULE)
38#include <linux/usb_isp1362.h> 38#include <linux/usb_isp1362.h>
39#endif 39#endif
40#include <asm/irq.h> 40#include <linux/irq.h>
41#include <asm/bfin5xx_spi.h> 41#include <asm/bfin5xx_spi.h>
42 42
43/* 43/*
@@ -62,7 +62,7 @@ static struct resource smc91x_resources[] = {
62 .start = 0x20300300, 62 .start = 0x20300300,
63 .end = 0x20300300 + 16, 63 .end = 0x20300300 + 16,
64 .flags = IORESOURCE_MEM, 64 .flags = IORESOURCE_MEM,
65 },{ 65 }, {
66 .start = IRQ_PF7, 66 .start = IRQ_PF7,
67 .end = IRQ_PF7, 67 .end = IRQ_PF7,
68 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL, 68 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL,
@@ -83,7 +83,7 @@ static struct resource net2272_bfin_resources[] = {
83 .start = 0x20300000, 83 .start = 0x20300000,
84 .end = 0x20300000 + 0x100, 84 .end = 0x20300000 + 0x100,
85 .flags = IORESOURCE_MEM, 85 .flags = IORESOURCE_MEM,
86 },{ 86 }, {
87 .start = IRQ_PF10, 87 .start = IRQ_PF10,
88 .end = IRQ_PF10, 88 .end = IRQ_PF10,
89 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL, 89 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL,
@@ -108,11 +108,11 @@ static struct mtd_partition bfin_spi_flash_partitions[] = {
108 .size = 0x00020000, 108 .size = 0x00020000,
109 .offset = 0, 109 .offset = 0,
110 .mask_flags = MTD_CAP_ROM 110 .mask_flags = MTD_CAP_ROM
111 },{ 111 }, {
112 .name = "kernel", 112 .name = "kernel",
113 .size = 0xe0000, 113 .size = 0xe0000,
114 .offset = 0x20000 114 .offset = 0x20000
115 },{ 115 }, {
116 .name = "file system", 116 .name = "file system",
117 .size = 0x700000, 117 .size = 0x700000,
118 .offset = 0x00100000, 118 .offset = 0x00100000,
@@ -229,19 +229,19 @@ static struct spi_board_info bfin_spi_board_info[] __initdata = {
229 229
230#if defined(CONFIG_PBX) 230#if defined(CONFIG_PBX)
231 { 231 {
232 .modalias = "fxs-spi", 232 .modalias = "fxs-spi",
233 .max_speed_hz = 12500000, /* max spi clock (SCK) speed in HZ */ 233 .max_speed_hz = 12500000, /* max spi clock (SCK) speed in HZ */
234 .bus_num = 1, 234 .bus_num = 1,
235 .chip_select = 3, 235 .chip_select = 3,
236 .controller_data= &spi_si3xxx_chip_info, 236 .controller_data = &spi_si3xxx_chip_info,
237 .mode = SPI_MODE_3, 237 .mode = SPI_MODE_3,
238 }, 238 },
239 { 239 {
240 .modalias = "fxo-spi", 240 .modalias = "fxo-spi",
241 .max_speed_hz = 12500000, /* max spi clock (SCK) speed in HZ */ 241 .max_speed_hz = 12500000, /* max spi clock (SCK) speed in HZ */
242 .bus_num = 1, 242 .bus_num = 1,
243 .chip_select = 2, 243 .chip_select = 2,
244 .controller_data= &spi_si3xxx_chip_info, 244 .controller_data = &spi_si3xxx_chip_info,
245 .mode = SPI_MODE_3, 245 .mode = SPI_MODE_3,
246 }, 246 },
247#endif 247#endif
diff --git a/arch/blackfin/mach-bf533/cpu.c b/arch/blackfin/mach-bf533/cpu.c
index 99547c4c290e..6fd9cfd0a31b 100644
--- a/arch/blackfin/mach-bf533/cpu.c
+++ b/arch/blackfin/mach-bf533/cpu.c
@@ -79,8 +79,7 @@ static int bf533_target(struct cpufreq_policy *policy,
79 int i; 79 int i;
80 80
81 struct cpufreq_freqs freqs; 81 struct cpufreq_freqs freqs;
82 if (cpufreq_frequency_table_target 82 if (cpufreq_frequency_table_target(policy, bf533_freq_table, target_freq, relation, &index))
83 (policy, bf533_freq_table, target_freq, relation, &index))
84 return -EINVAL; 83 return -EINVAL;
85 cclk_mhz = bf533_freq_table[index].frequency; 84 cclk_mhz = bf533_freq_table[index].frequency;
86 vco_mhz = bf533_freq_table[index].index; 85 vco_mhz = bf533_freq_table[index].index;
diff --git a/arch/blackfin/mach-bf533/dma.c b/arch/blackfin/mach-bf533/dma.c
new file mode 100644
index 000000000000..6c909cf4f7bf
--- /dev/null
+++ b/arch/blackfin/mach-bf533/dma.c
@@ -0,0 +1,95 @@
1/*
2 * File: arch/blackfin/mach-bf533/dma.c
3 * Based on:
4 * Author:
5 *
6 * Created:
7 * Description: This file contains the simple DMA Implementation for Blackfin
8 *
9 * Modified:
10 * Copyright 2004-2006 Analog Devices Inc.
11 *
12 * Bugs: Enter bugs at http://blackfin.uclinux.org/
13 *
14 * This program is free software; you can redistribute it and/or modify
15 * it under the terms of the GNU General Public License as published by
16 * the Free Software Foundation; either version 2 of the License, or
17 * (at your option) any later version.
18 *
19 * This program is distributed in the hope that it will be useful,
20 * but WITHOUT ANY WARRANTY; without even the implied warranty of
21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 * GNU General Public License for more details.
23 *
24 * You should have received a copy of the GNU General Public License
25 * along with this program; if not, see the file COPYING, or write
26 * to the Free Software Foundation, Inc.,
27 * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
28 */
29#include <asm/blackfin.h>
30#include <asm/dma.h>
31
32struct dma_register *base_addr[MAX_BLACKFIN_DMA_CHANNEL] = {
33 (struct dma_register *) DMA0_NEXT_DESC_PTR,
34 (struct dma_register *) DMA1_NEXT_DESC_PTR,
35 (struct dma_register *) DMA2_NEXT_DESC_PTR,
36 (struct dma_register *) DMA3_NEXT_DESC_PTR,
37 (struct dma_register *) DMA4_NEXT_DESC_PTR,
38 (struct dma_register *) DMA5_NEXT_DESC_PTR,
39 (struct dma_register *) DMA6_NEXT_DESC_PTR,
40 (struct dma_register *) DMA7_NEXT_DESC_PTR,
41 (struct dma_register *) MDMA_D0_NEXT_DESC_PTR,
42 (struct dma_register *) MDMA_S0_NEXT_DESC_PTR,
43 (struct dma_register *) MDMA_D1_NEXT_DESC_PTR,
44 (struct dma_register *) MDMA_S1_NEXT_DESC_PTR,
45};
46
47int channel2irq(unsigned int channel)
48{
49 int ret_irq = -1;
50
51 switch (channel) {
52 case CH_PPI:
53 ret_irq = IRQ_PPI;
54 break;
55
56 case CH_SPORT0_RX:
57 ret_irq = IRQ_SPORT0_RX;
58 break;
59
60 case CH_SPORT0_TX:
61 ret_irq = IRQ_SPORT0_TX;
62 break;
63
64 case CH_SPORT1_RX:
65 ret_irq = IRQ_SPORT1_RX;
66 break;
67
68 case CH_SPORT1_TX:
69 ret_irq = IRQ_SPORT1_TX;
70 break;
71
72 case CH_SPI:
73 ret_irq = IRQ_SPI;
74 break;
75
76 case CH_UART_RX:
77 ret_irq = IRQ_UART_RX;
78 break;
79
80 case CH_UART_TX:
81 ret_irq = IRQ_UART_TX;
82 break;
83
84 case CH_MEM_STREAM0_SRC:
85 case CH_MEM_STREAM0_DEST:
86 ret_irq = IRQ_MEM_DMA0;
87 break;
88
89 case CH_MEM_STREAM1_SRC:
90 case CH_MEM_STREAM1_DEST:
91 ret_irq = IRQ_MEM_DMA1;
92 break;
93 }
94 return ret_irq;
95}
diff --git a/arch/blackfin/mach-bf533/head.S b/arch/blackfin/mach-bf533/head.S
index 7e2aa8d0f44f..7dd0e9c3a936 100644
--- a/arch/blackfin/mach-bf533/head.S
+++ b/arch/blackfin/mach-bf533/head.S
@@ -30,6 +30,7 @@
30#include <linux/linkage.h> 30#include <linux/linkage.h>
31#include <linux/init.h> 31#include <linux/init.h>
32#include <asm/blackfin.h> 32#include <asm/blackfin.h>
33#include <asm/trace.h>
33#if CONFIG_BFIN_KERNEL_CLOCK 34#if CONFIG_BFIN_KERNEL_CLOCK
34#include <asm/mach/mem_init.h> 35#include <asm/mach/mem_init.h>
35#endif 36#endif
@@ -96,6 +97,10 @@ ENTRY(__start)
96 M2 = r0; 97 M2 = r0;
97 M3 = r0; 98 M3 = r0;
98 99
100 trace_buffer_start(p0,r0);
101 P0 = R1;
102 R0 = R1;
103
99#if CONFIG_DEBUG_KERNEL_START 104#if CONFIG_DEBUG_KERNEL_START
100 105
101/* 106/*
diff --git a/arch/blackfin/mach-bf533/ints-priority.c b/arch/blackfin/mach-bf533/ints-priority.c
index a3e1789167be..7d79e0f9503d 100644
--- a/arch/blackfin/mach-bf533/ints-priority.c
+++ b/arch/blackfin/mach-bf533/ints-priority.c
@@ -28,8 +28,8 @@
28 */ 28 */
29 29
30#include <linux/module.h> 30#include <linux/module.h>
31#include <linux/irq.h>
31#include <asm/blackfin.h> 32#include <asm/blackfin.h>
32#include <asm/irq.h>
33 33
34void program_IAR(void) 34void program_IAR(void)
35{ 35{
diff --git a/arch/blackfin/mach-bf537/Makefile b/arch/blackfin/mach-bf537/Makefile
index f32d44215bb7..7e7c9c8ac5b2 100644
--- a/arch/blackfin/mach-bf537/Makefile
+++ b/arch/blackfin/mach-bf537/Makefile
@@ -4,6 +4,6 @@
4 4
5extra-y := head.o 5extra-y := head.o
6 6
7obj-y := ints-priority.o 7obj-y := ints-priority.o dma.o
8 8
9obj-$(CONFIG_CPU_FREQ) += cpu.o 9obj-$(CONFIG_CPU_FREQ) += cpu.o
diff --git a/arch/blackfin/mach-bf537/boards/cm_bf537.c b/arch/blackfin/mach-bf537/boards/cm_bf537.c
index 6a60618a78ec..a8f947b72754 100644
--- a/arch/blackfin/mach-bf537/boards/cm_bf537.c
+++ b/arch/blackfin/mach-bf537/boards/cm_bf537.c
@@ -35,7 +35,7 @@
35#include <linux/spi/spi.h> 35#include <linux/spi/spi.h>
36#include <linux/spi/flash.h> 36#include <linux/spi/flash.h>
37#include <linux/usb_isp1362.h> 37#include <linux/usb_isp1362.h>
38#include <asm/irq.h> 38#include <linux/irq.h>
39#include <asm/bfin5xx_spi.h> 39#include <asm/bfin5xx_spi.h>
40 40
41/* 41/*
@@ -53,11 +53,11 @@ static struct mtd_partition bfin_spi_flash_partitions[] = {
53 .size = 0x00020000, 53 .size = 0x00020000,
54 .offset = 0, 54 .offset = 0,
55 .mask_flags = MTD_CAP_ROM 55 .mask_flags = MTD_CAP_ROM
56 },{ 56 }, {
57 .name = "kernel", 57 .name = "kernel",
58 .size = 0xe0000, 58 .size = 0xe0000,
59 .offset = 0x20000 59 .offset = 0x20000
60 },{ 60 }, {
61 .name = "file system", 61 .name = "file system",
62 .size = 0x700000, 62 .size = 0x700000,
63 .offset = 0x00100000, 63 .offset = 0x00100000,
@@ -202,7 +202,7 @@ static struct resource smc91x_resources[] = {
202 .start = 0x20200300, 202 .start = 0x20200300,
203 .end = 0x20200300 + 16, 203 .end = 0x20200300 + 16,
204 .flags = IORESOURCE_MEM, 204 .flags = IORESOURCE_MEM,
205 },{ 205 }, {
206 .start = IRQ_PF14, 206 .start = IRQ_PF14,
207 .end = IRQ_PF14, 207 .end = IRQ_PF14,
208 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL, 208 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL,
@@ -223,11 +223,11 @@ static struct resource isp1362_hcd_resources[] = {
223 .start = 0x20308000, 223 .start = 0x20308000,
224 .end = 0x20308000, 224 .end = 0x20308000,
225 .flags = IORESOURCE_MEM, 225 .flags = IORESOURCE_MEM,
226 },{ 226 }, {
227 .start = 0x20308004, 227 .start = 0x20308004,
228 .end = 0x20308004, 228 .end = 0x20308004,
229 .flags = IORESOURCE_MEM, 229 .flags = IORESOURCE_MEM,
230 },{ 230 }, {
231 .start = IRQ_PG15, 231 .start = IRQ_PG15,
232 .end = IRQ_PG15, 232 .end = IRQ_PG15,
233 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL, 233 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL,
@@ -262,7 +262,7 @@ static struct resource net2272_bfin_resources[] = {
262 .start = 0x20200000, 262 .start = 0x20200000,
263 .end = 0x20200000 + 0x100, 263 .end = 0x20200000 + 0x100,
264 .flags = IORESOURCE_MEM, 264 .flags = IORESOURCE_MEM,
265 },{ 265 }, {
266 .start = IRQ_PF7, 266 .start = IRQ_PF7,
267 .end = IRQ_PF7, 267 .end = IRQ_PF7,
268 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL, 268 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL,
@@ -283,7 +283,7 @@ static struct resource bfin_uart_resources[] = {
283 .start = 0xFFC00400, 283 .start = 0xFFC00400,
284 .end = 0xFFC004FF, 284 .end = 0xFFC004FF,
285 .flags = IORESOURCE_MEM, 285 .flags = IORESOURCE_MEM,
286 },{ 286 }, {
287 .start = 0xFFC02000, 287 .start = 0xFFC02000,
288 .end = 0xFFC020FF, 288 .end = 0xFFC020FF,
289 .flags = IORESOURCE_MEM, 289 .flags = IORESOURCE_MEM,
diff --git a/arch/blackfin/mach-bf537/boards/eth_mac.c b/arch/blackfin/mach-bf537/boards/eth_mac.c
index e129a08d63de..a725cc8a9290 100644
--- a/arch/blackfin/mach-bf537/boards/eth_mac.c
+++ b/arch/blackfin/mach-bf537/boards/eth_mac.c
@@ -20,8 +20,7 @@
20#include <linux/module.h> 20#include <linux/module.h>
21#include <asm/blackfin.h> 21#include <asm/blackfin.h>
22 22
23#if defined(CONFIG_GENERIC_BOARD) \ 23#if defined(CONFIG_GENERIC_BOARD) || defined(CONFIG_BFIN537_STAMP)
24 || defined(CONFIG_BFIN537_STAMP)
25 24
26/* 25/*
27 * Currently the MAC address is saved in Flash by U-Boot 26 * Currently the MAC address is saved in Flash by U-Boot
@@ -43,7 +42,7 @@ void get_bf537_ether_addr(char *addr)
43 */ 42 */
44void get_bf537_ether_addr(char *addr) 43void get_bf537_ether_addr(char *addr)
45{ 44{
46 printk(KERN_WARNING "%s: No valid Ethernet MAC address found\n",__FILE__); 45 printk(KERN_WARNING "%s: No valid Ethernet MAC address found\n", __FILE__);
47} 46}
48 47
49#endif 48#endif
diff --git a/arch/blackfin/mach-bf537/boards/generic_board.c b/arch/blackfin/mach-bf537/boards/generic_board.c
index fd57e7439e0f..648d984e98d6 100644
--- a/arch/blackfin/mach-bf537/boards/generic_board.c
+++ b/arch/blackfin/mach-bf537/boards/generic_board.c
@@ -35,9 +35,9 @@
35#include <linux/spi/spi.h> 35#include <linux/spi/spi.h>
36#include <linux/spi/flash.h> 36#include <linux/spi/flash.h>
37#include <linux/usb_isp1362.h> 37#include <linux/usb_isp1362.h>
38#include <asm/irq.h> 38#include <linux/irq.h>
39#include <asm/bfin5xx_spi.h>
40#include <linux/usb_sl811.h> 39#include <linux/usb_sl811.h>
40#include <asm/bfin5xx_spi.h>
41 41
42/* 42/*
43 * Name the Board for the /proc/cpuinfo 43 * Name the Board for the /proc/cpuinfo
@@ -54,19 +54,19 @@ static struct resource bfin_pcmcia_cf_resources[] = {
54 .start = 0x20310000, /* IO PORT */ 54 .start = 0x20310000, /* IO PORT */
55 .end = 0x20312000, 55 .end = 0x20312000,
56 .flags = IORESOURCE_MEM, 56 .flags = IORESOURCE_MEM,
57 },{ 57 }, {
58 .start = 0x20311000, /* Attribute Memory */ 58 .start = 0x20311000, /* Attribute Memory */
59 .end = 0x20311FFF, 59 .end = 0x20311FFF,
60 .flags = IORESOURCE_MEM, 60 .flags = IORESOURCE_MEM,
61 },{ 61 }, {
62 .start = IRQ_PROG_INTA, 62 .start = IRQ_PROG_INTA,
63 .end = IRQ_PROG_INTA, 63 .end = IRQ_PROG_INTA,
64 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_LOWLEVEL, 64 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_LOWLEVEL,
65 },{ 65 }, {
66 .start = IRQ_PF4, 66 .start = IRQ_PF4,
67 .end = IRQ_PF4, 67 .end = IRQ_PF4,
68 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_LOWLEVEL, 68 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_LOWLEVEL,
69 },{ 69 }, {
70 .start = 6, /* Card Detect PF6 */ 70 .start = 6, /* Card Detect PF6 */
71 .end = 6, 71 .end = 6,
72 .flags = IORESOURCE_IRQ, 72 .flags = IORESOURCE_IRQ,
@@ -95,11 +95,11 @@ static struct resource smc91x_resources[] = {
95 .start = 0x20300300, 95 .start = 0x20300300,
96 .end = 0x20300300 + 16, 96 .end = 0x20300300 + 16,
97 .flags = IORESOURCE_MEM, 97 .flags = IORESOURCE_MEM,
98 },{ 98 }, {
99 .start = IRQ_PROG_INTB, 99 .start = IRQ_PROG_INTB,
100 .end = IRQ_PROG_INTB, 100 .end = IRQ_PROG_INTB,
101 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL, 101 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL,
102 },{ 102 }, {
103 /* 103 /*
104 * denotes the flag pin and is used directly if 104 * denotes the flag pin and is used directly if
105 * CONFIG_IRQCHIP_DEMUX_GPIO is defined. 105 * CONFIG_IRQCHIP_DEMUX_GPIO is defined.
@@ -123,15 +123,15 @@ static struct resource sl811_hcd_resources[] = {
123 .start = 0x20340000, 123 .start = 0x20340000,
124 .end = 0x20340000, 124 .end = 0x20340000,
125 .flags = IORESOURCE_MEM, 125 .flags = IORESOURCE_MEM,
126 },{ 126 }, {
127 .start = 0x20340004, 127 .start = 0x20340004,
128 .end = 0x20340004, 128 .end = 0x20340004,
129 .flags = IORESOURCE_MEM, 129 .flags = IORESOURCE_MEM,
130 },{ 130 }, {
131 .start = IRQ_PROG_INTA, 131 .start = IRQ_PROG_INTA,
132 .end = IRQ_PROG_INTA, 132 .end = IRQ_PROG_INTA,
133 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL, 133 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL,
134 },{ 134 }, {
135 .start = IRQ_PF0 + CONFIG_USB_SL811_BFIN_GPIO, 135 .start = IRQ_PF0 + CONFIG_USB_SL811_BFIN_GPIO,
136 .end = IRQ_PF0 + CONFIG_USB_SL811_BFIN_GPIO, 136 .end = IRQ_PF0 + CONFIG_USB_SL811_BFIN_GPIO,
137 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL, 137 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL,
@@ -179,15 +179,15 @@ static struct resource isp1362_hcd_resources[] = {
179 .start = 0x20360000, 179 .start = 0x20360000,
180 .end = 0x20360000, 180 .end = 0x20360000,
181 .flags = IORESOURCE_MEM, 181 .flags = IORESOURCE_MEM,
182 },{ 182 }, {
183 .start = 0x20360004, 183 .start = 0x20360004,
184 .end = 0x20360004, 184 .end = 0x20360004,
185 .flags = IORESOURCE_MEM, 185 .flags = IORESOURCE_MEM,
186 },{ 186 }, {
187 .start = IRQ_PROG_INTA, 187 .start = IRQ_PROG_INTA,
188 .end = IRQ_PROG_INTA, 188 .end = IRQ_PROG_INTA,
189 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL, 189 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL,
190 },{ 190 }, {
191 .start = IRQ_PF0 + CONFIG_USB_ISP1362_BFIN_GPIO, 191 .start = IRQ_PF0 + CONFIG_USB_ISP1362_BFIN_GPIO,
192 .end = IRQ_PF0 + CONFIG_USB_ISP1362_BFIN_GPIO, 192 .end = IRQ_PF0 + CONFIG_USB_ISP1362_BFIN_GPIO,
193 .flags = IORESOURCE_IRQ, 193 .flags = IORESOURCE_IRQ,
@@ -228,7 +228,7 @@ static struct resource net2272_bfin_resources[] = {
228 .start = 0x20300000, 228 .start = 0x20300000,
229 .end = 0x20300000 + 0x100, 229 .end = 0x20300000 + 0x100,
230 .flags = IORESOURCE_MEM, 230 .flags = IORESOURCE_MEM,
231 },{ 231 }, {
232 .start = IRQ_PF7, 232 .start = IRQ_PF7,
233 .end = IRQ_PF7, 233 .end = IRQ_PF7,
234 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL, 234 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL,
@@ -253,11 +253,11 @@ static struct mtd_partition bfin_spi_flash_partitions[] = {
253 .size = 0x00020000, 253 .size = 0x00020000,
254 .offset = 0, 254 .offset = 0,
255 .mask_flags = MTD_CAP_ROM 255 .mask_flags = MTD_CAP_ROM
256 },{ 256 }, {
257 .name = "kernel", 257 .name = "kernel",
258 .size = 0xe0000, 258 .size = 0xe0000,
259 .offset = 0x20000 259 .offset = 0x20000
260 },{ 260 }, {
261 .name = "file system", 261 .name = "file system",
262 .size = 0x700000, 262 .size = 0x700000,
263 .offset = 0x00100000, 263 .offset = 0x00100000,
@@ -375,7 +375,7 @@ static struct resource bfin_uart_resources[] = {
375 .start = 0xFFC00400, 375 .start = 0xFFC00400,
376 .end = 0xFFC004FF, 376 .end = 0xFFC004FF,
377 .flags = IORESOURCE_MEM, 377 .flags = IORESOURCE_MEM,
378 },{ 378 }, {
379 .start = 0xFFC02000, 379 .start = 0xFFC02000,
380 .end = 0xFFC020FF, 380 .end = 0xFFC020FF,
381 .flags = IORESOURCE_MEM, 381 .flags = IORESOURCE_MEM,
diff --git a/arch/blackfin/mach-bf537/boards/pnav10.c b/arch/blackfin/mach-bf537/boards/pnav10.c
index 8aaf76dfce80..8806f1230f2d 100644
--- a/arch/blackfin/mach-bf537/boards/pnav10.c
+++ b/arch/blackfin/mach-bf537/boards/pnav10.c
@@ -37,7 +37,7 @@
37#if defined(CONFIG_USB_ISP1362_HCD) || defined(CONFIG_USB_ISP1362_HCD_MODULE) 37#if defined(CONFIG_USB_ISP1362_HCD) || defined(CONFIG_USB_ISP1362_HCD_MODULE)
38#include <linux/usb_isp1362.h> 38#include <linux/usb_isp1362.h>
39#endif 39#endif
40#include <asm/irq.h> 40#include <linux/irq.h>
41#include <asm/bfin5xx_spi.h> 41#include <asm/bfin5xx_spi.h>
42#include <linux/usb_sl811.h> 42#include <linux/usb_sl811.h>
43 43
@@ -58,15 +58,15 @@ static struct resource bfin_pcmcia_cf_resources[] = {
58 .start = 0x20310000, /* IO PORT */ 58 .start = 0x20310000, /* IO PORT */
59 .end = 0x20312000, 59 .end = 0x20312000,
60 .flags = IORESOURCE_MEM, 60 .flags = IORESOURCE_MEM,
61 },{ 61 }, {
62 .start = 0x20311000, /* Attribute Memory */ 62 .start = 0x20311000, /* Attribute Memory */
63 .end = 0x20311FFF, 63 .end = 0x20311FFF,
64 .flags = IORESOURCE_MEM, 64 .flags = IORESOURCE_MEM,
65 },{ 65 }, {
66 .start = IRQ_PF4, 66 .start = IRQ_PF4,
67 .end = IRQ_PF4, 67 .end = IRQ_PF4,
68 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_LOWLEVEL, 68 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_LOWLEVEL,
69 },{ 69 }, {
70 .start = 6, /* Card Detect PF6 */ 70 .start = 6, /* Card Detect PF6 */
71 .end = 6, 71 .end = 6,
72 .flags = IORESOURCE_IRQ, 72 .flags = IORESOURCE_IRQ,
@@ -95,7 +95,7 @@ static struct resource smc91x_resources[] = {
95 .start = 0x20300300, 95 .start = 0x20300300,
96 .end = 0x20300300 + 16, 96 .end = 0x20300300 + 16,
97 .flags = IORESOURCE_MEM, 97 .flags = IORESOURCE_MEM,
98 },{ 98 }, {
99 99
100 .start = IRQ_PF7, 100 .start = IRQ_PF7,
101 .end = IRQ_PF7, 101 .end = IRQ_PF7,
@@ -116,11 +116,11 @@ static struct resource sl811_hcd_resources[] = {
116 .start = 0x20340000, 116 .start = 0x20340000,
117 .end = 0x20340000, 117 .end = 0x20340000,
118 .flags = IORESOURCE_MEM, 118 .flags = IORESOURCE_MEM,
119 },{ 119 }, {
120 .start = 0x20340004, 120 .start = 0x20340004,
121 .end = 0x20340004, 121 .end = 0x20340004,
122 .flags = IORESOURCE_MEM, 122 .flags = IORESOURCE_MEM,
123 },{ 123 }, {
124 .start = CONFIG_USB_SL811_BFIN_IRQ, 124 .start = CONFIG_USB_SL811_BFIN_IRQ,
125 .end = CONFIG_USB_SL811_BFIN_IRQ, 125 .end = CONFIG_USB_SL811_BFIN_IRQ,
126 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL, 126 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL,
@@ -167,11 +167,11 @@ static struct resource isp1362_hcd_resources[] = {
167 .start = 0x20360000, 167 .start = 0x20360000,
168 .end = 0x20360000, 168 .end = 0x20360000,
169 .flags = IORESOURCE_MEM, 169 .flags = IORESOURCE_MEM,
170 },{ 170 }, {
171 .start = 0x20360004, 171 .start = 0x20360004,
172 .end = 0x20360004, 172 .end = 0x20360004,
173 .flags = IORESOURCE_MEM, 173 .flags = IORESOURCE_MEM,
174 },{ 174 }, {
175 .start = CONFIG_USB_ISP1362_BFIN_GPIO_IRQ, 175 .start = CONFIG_USB_ISP1362_BFIN_GPIO_IRQ,
176 .end = CONFIG_USB_ISP1362_BFIN_GPIO_IRQ, 176 .end = CONFIG_USB_ISP1362_BFIN_GPIO_IRQ,
177 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL, 177 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL,
@@ -212,7 +212,7 @@ static struct resource net2272_bfin_resources[] = {
212 .start = 0x20300000, 212 .start = 0x20300000,
213 .end = 0x20300000 + 0x100, 213 .end = 0x20300000 + 0x100,
214 .flags = IORESOURCE_MEM, 214 .flags = IORESOURCE_MEM,
215 },{ 215 }, {
216 .start = IRQ_PF7, 216 .start = IRQ_PF7,
217 .end = IRQ_PF7, 217 .end = IRQ_PF7,
218 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL, 218 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL,
@@ -238,11 +238,11 @@ static struct mtd_partition bfin_spi_flash_partitions[] = {
238 .size = 0x00020000, 238 .size = 0x00020000,
239 .offset = 0, 239 .offset = 0,
240 .mask_flags = MTD_CAP_ROM 240 .mask_flags = MTD_CAP_ROM
241 },{ 241 }, {
242 .name = "kernel", 242 .name = "kernel",
243 .size = 0xe0000, 243 .size = 0xe0000,
244 .offset = 0x20000 244 .offset = 0x20000
245 },{ 245 }, {
246 .name = "file system", 246 .name = "file system",
247 .size = 0x700000, 247 .size = 0x700000,
248 .offset = 0x00100000, 248 .offset = 0x00100000,
@@ -294,16 +294,6 @@ static struct bfin5xx_spi_chip spi_mmc_chip_info = {
294}; 294};
295#endif 295#endif
296 296
297#if defined(CONFIG_PBX)
298static struct bfin5xx_spi_chip spi_si3xxx_chip_info = {
299 .ctl_reg = 0x4, /* send zero */
300 .enable_dma = 0,
301 .bits_per_word = 8,
302 .cs_change_per_word = 1,
303};
304#endif
305
306
307#if defined(CONFIG_TOUCHSCREEN_AD7877) || defined(CONFIG_TOUCHSCREEN_AD7877_MODULE) 297#if defined(CONFIG_TOUCHSCREEN_AD7877) || defined(CONFIG_TOUCHSCREEN_AD7877_MODULE)
308static struct bfin5xx_spi_chip spi_ad7877_chip_info = { 298static struct bfin5xx_spi_chip spi_ad7877_chip_info = {
309 .cs_change_per_word = 1, 299 .cs_change_per_word = 1,
@@ -392,24 +382,6 @@ static struct spi_board_info bfin_spi_board_info[] __initdata = {
392 .mode = SPI_MODE_3, 382 .mode = SPI_MODE_3,
393 }, 383 },
394#endif 384#endif
395#if defined(CONFIG_PBX)
396 {
397 .modalias = "fxs-spi",
398 .max_speed_hz = 12500000, /* max spi clock (SCK) speed in HZ */
399 .bus_num = 1,
400 .chip_select = 3,
401 .controller_data= &spi_si3xxx_chip_info,
402 .mode = SPI_MODE_3,
403 },
404 {
405 .modalias = "fxo-spi",
406 .max_speed_hz = 12500000, /* max spi clock (SCK) speed in HZ */
407 .bus_num = 1,
408 .chip_select = 2,
409 .controller_data= &spi_si3xxx_chip_info,
410 .mode = SPI_MODE_3,
411 },
412#endif
413#if defined(CONFIG_TOUCHSCREEN_AD7877) || defined(CONFIG_TOUCHSCREEN_AD7877_MODULE) 385#if defined(CONFIG_TOUCHSCREEN_AD7877) || defined(CONFIG_TOUCHSCREEN_AD7877_MODULE)
414{ 386{
415 .modalias = "ad7877", 387 .modalias = "ad7877",
@@ -451,7 +423,7 @@ static struct resource bfin_uart_resources[] = {
451 .start = 0xFFC00400, 423 .start = 0xFFC00400,
452 .end = 0xFFC004FF, 424 .end = 0xFFC004FF,
453 .flags = IORESOURCE_MEM, 425 .flags = IORESOURCE_MEM,
454 },{ 426 }, {
455 .start = 0xFFC02000, 427 .start = 0xFFC02000,
456 .end = 0xFFC020FF, 428 .end = 0xFFC020FF,
457 .flags = IORESOURCE_MEM, 429 .flags = IORESOURCE_MEM,
diff --git a/arch/blackfin/mach-bf537/boards/stamp.c b/arch/blackfin/mach-bf537/boards/stamp.c
index 3a29b4d15f25..9c43d7756510 100644
--- a/arch/blackfin/mach-bf537/boards/stamp.c
+++ b/arch/blackfin/mach-bf537/boards/stamp.c
@@ -37,12 +37,10 @@
37#if defined(CONFIG_USB_ISP1362_HCD) || defined(CONFIG_USB_ISP1362_HCD_MODULE) 37#if defined(CONFIG_USB_ISP1362_HCD) || defined(CONFIG_USB_ISP1362_HCD_MODULE)
38#include <linux/usb_isp1362.h> 38#include <linux/usb_isp1362.h>
39#endif 39#endif
40#include <asm/irq.h>
41#include <linux/irq.h> 40#include <linux/irq.h>
42#include <linux/interrupt.h> 41#include <linux/interrupt.h>
43#include <asm/bfin5xx_spi.h>
44#include <linux/usb_sl811.h> 42#include <linux/usb_sl811.h>
45 43#include <asm/bfin5xx_spi.h>
46#include <linux/spi/ad7877.h> 44#include <linux/spi/ad7877.h>
47 45
48/* 46/*
@@ -85,7 +83,7 @@ static struct platform_device *bfin_isp1761_devices[] = {
85 83
86int __init bfin_isp1761_init(void) 84int __init bfin_isp1761_init(void)
87{ 85{
88 unsigned int num_devices=ARRAY_SIZE(bfin_isp1761_devices); 86 unsigned int num_devices = ARRAY_SIZE(bfin_isp1761_devices);
89 87
90 printk(KERN_INFO "%s(): registering device resources\n", __FUNCTION__); 88 printk(KERN_INFO "%s(): registering device resources\n", __FUNCTION__);
91 set_irq_type(ISP1761_IRQ, IRQF_TRIGGER_FALLING); 89 set_irq_type(ISP1761_IRQ, IRQF_TRIGGER_FALLING);
@@ -107,15 +105,15 @@ static struct resource bfin_pcmcia_cf_resources[] = {
107 .start = 0x20310000, /* IO PORT */ 105 .start = 0x20310000, /* IO PORT */
108 .end = 0x20312000, 106 .end = 0x20312000,
109 .flags = IORESOURCE_MEM, 107 .flags = IORESOURCE_MEM,
110 },{ 108 }, {
111 .start = 0x20311000, /* Attribute Memory */ 109 .start = 0x20311000, /* Attribute Memory */
112 .end = 0x20311FFF, 110 .end = 0x20311FFF,
113 .flags = IORESOURCE_MEM, 111 .flags = IORESOURCE_MEM,
114 },{ 112 }, {
115 .start = IRQ_PF4, 113 .start = IRQ_PF4,
116 .end = IRQ_PF4, 114 .end = IRQ_PF4,
117 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_LOWLEVEL, 115 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_LOWLEVEL,
118 },{ 116 }, {
119 .start = 6, /* Card Detect PF6 */ 117 .start = 6, /* Card Detect PF6 */
120 .end = 6, 118 .end = 6,
121 .flags = IORESOURCE_IRQ, 119 .flags = IORESOURCE_IRQ,
@@ -144,7 +142,7 @@ static struct resource smc91x_resources[] = {
144 .start = 0x20300300, 142 .start = 0x20300300,
145 .end = 0x20300300 + 16, 143 .end = 0x20300300 + 16,
146 .flags = IORESOURCE_MEM, 144 .flags = IORESOURCE_MEM,
147 },{ 145 }, {
148 146
149 .start = IRQ_PF7, 147 .start = IRQ_PF7,
150 .end = IRQ_PF7, 148 .end = IRQ_PF7,
@@ -159,17 +157,39 @@ static struct platform_device smc91x_device = {
159}; 157};
160#endif 158#endif
161 159
160#if defined(CONFIG_DM9000) || defined(CONFIG_DM9000_MODULE)
161static struct resource dm9000_resources[] = {
162 [0] = {
163 .start = 0x203FB800,
164 .end = 0x203FB800 + 8,
165 .flags = IORESOURCE_MEM,
166 },
167 [1] = {
168 .start = IRQ_PF9,
169 .end = IRQ_PF9,
170 .flags = (IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE),
171 },
172};
173
174static struct platform_device dm9000_device = {
175 .name = "dm9000",
176 .id = -1,
177 .num_resources = ARRAY_SIZE(dm9000_resources),
178 .resource = dm9000_resources,
179};
180#endif
181
162#if defined(CONFIG_USB_SL811_HCD) || defined(CONFIG_USB_SL811_HCD_MODULE) 182#if defined(CONFIG_USB_SL811_HCD) || defined(CONFIG_USB_SL811_HCD_MODULE)
163static struct resource sl811_hcd_resources[] = { 183static struct resource sl811_hcd_resources[] = {
164 { 184 {
165 .start = 0x20340000, 185 .start = 0x20340000,
166 .end = 0x20340000, 186 .end = 0x20340000,
167 .flags = IORESOURCE_MEM, 187 .flags = IORESOURCE_MEM,
168 },{ 188 }, {
169 .start = 0x20340004, 189 .start = 0x20340004,
170 .end = 0x20340004, 190 .end = 0x20340004,
171 .flags = IORESOURCE_MEM, 191 .flags = IORESOURCE_MEM,
172 },{ 192 }, {
173 .start = CONFIG_USB_SL811_BFIN_IRQ, 193 .start = CONFIG_USB_SL811_BFIN_IRQ,
174 .end = CONFIG_USB_SL811_BFIN_IRQ, 194 .end = CONFIG_USB_SL811_BFIN_IRQ,
175 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL, 195 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL,
@@ -216,11 +236,11 @@ static struct resource isp1362_hcd_resources[] = {
216 .start = 0x20360000, 236 .start = 0x20360000,
217 .end = 0x20360000, 237 .end = 0x20360000,
218 .flags = IORESOURCE_MEM, 238 .flags = IORESOURCE_MEM,
219 },{ 239 }, {
220 .start = 0x20360004, 240 .start = 0x20360004,
221 .end = 0x20360004, 241 .end = 0x20360004,
222 .flags = IORESOURCE_MEM, 242 .flags = IORESOURCE_MEM,
223 },{ 243 }, {
224 .start = CONFIG_USB_ISP1362_BFIN_GPIO_IRQ, 244 .start = CONFIG_USB_ISP1362_BFIN_GPIO_IRQ,
225 .end = CONFIG_USB_ISP1362_BFIN_GPIO_IRQ, 245 .end = CONFIG_USB_ISP1362_BFIN_GPIO_IRQ,
226 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL, 246 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL,
@@ -261,7 +281,7 @@ static struct resource net2272_bfin_resources[] = {
261 .start = 0x20300000, 281 .start = 0x20300000,
262 .end = 0x20300000 + 0x100, 282 .end = 0x20300000 + 0x100,
263 .flags = IORESOURCE_MEM, 283 .flags = IORESOURCE_MEM,
264 },{ 284 }, {
265 .start = IRQ_PF7, 285 .start = IRQ_PF7,
266 .end = IRQ_PF7, 286 .end = IRQ_PF7,
267 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL, 287 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL,
@@ -287,11 +307,11 @@ static struct mtd_partition bfin_spi_flash_partitions[] = {
287 .size = 0x00020000, 307 .size = 0x00020000,
288 .offset = 0, 308 .offset = 0,
289 .mask_flags = MTD_CAP_ROM 309 .mask_flags = MTD_CAP_ROM
290 },{ 310 }, {
291 .name = "kernel", 311 .name = "kernel",
292 .size = 0xe0000, 312 .size = 0xe0000,
293 .offset = 0x20000 313 .offset = 0x20000
294 },{ 314 }, {
295 .name = "file system", 315 .name = "file system",
296 .size = 0x700000, 316 .size = 0x700000,
297 .offset = 0x00100000, 317 .offset = 0x00100000,
@@ -361,7 +381,6 @@ static struct bfin5xx_spi_chip ad5304_chip_info = {
361 381
362#if defined(CONFIG_TOUCHSCREEN_AD7877) || defined(CONFIG_TOUCHSCREEN_AD7877_MODULE) 382#if defined(CONFIG_TOUCHSCREEN_AD7877) || defined(CONFIG_TOUCHSCREEN_AD7877_MODULE)
363static struct bfin5xx_spi_chip spi_ad7877_chip_info = { 383static struct bfin5xx_spi_chip spi_ad7877_chip_info = {
364// .cs_change_per_word = 1,
365 .enable_dma = 0, 384 .enable_dma = 0,
366 .bits_per_word = 16, 385 .bits_per_word = 16,
367}; 386};
@@ -449,19 +468,19 @@ static struct spi_board_info bfin_spi_board_info[] __initdata = {
449#endif 468#endif
450#if defined(CONFIG_PBX) 469#if defined(CONFIG_PBX)
451 { 470 {
452 .modalias = "fxs-spi", 471 .modalias = "fxs-spi",
453 .max_speed_hz = 12500000, /* max spi clock (SCK) speed in HZ */ 472 .max_speed_hz = 12500000, /* max spi clock (SCK) speed in HZ */
454 .bus_num = 1, 473 .bus_num = 1,
455 .chip_select = 3, 474 .chip_select = 3,
456 .controller_data= &spi_si3xxx_chip_info, 475 .controller_data = &spi_si3xxx_chip_info,
457 .mode = SPI_MODE_3, 476 .mode = SPI_MODE_3,
458 }, 477 },
459 { 478 {
460 .modalias = "fxo-spi", 479 .modalias = "fxo-spi",
461 .max_speed_hz = 12500000, /* max spi clock (SCK) speed in HZ */ 480 .max_speed_hz = 12500000, /* max spi clock (SCK) speed in HZ */
462 .bus_num = 1, 481 .bus_num = 1,
463 .chip_select = 2, 482 .chip_select = 2,
464 .controller_data= &spi_si3xxx_chip_info, 483 .controller_data = &spi_si3xxx_chip_info,
465 .mode = SPI_MODE_3, 484 .mode = SPI_MODE_3,
466 }, 485 },
467#endif 486#endif
@@ -516,7 +535,7 @@ static struct resource bfin_uart_resources[] = {
516 .start = 0xFFC00400, 535 .start = 0xFFC00400,
517 .end = 0xFFC004FF, 536 .end = 0xFFC004FF,
518 .flags = IORESOURCE_MEM, 537 .flags = IORESOURCE_MEM,
519 },{ 538 }, {
520 .start = 0xFFC02000, 539 .start = 0xFFC02000,
521 .end = 0xFFC020FF, 540 .end = 0xFFC020FF,
522 .flags = IORESOURCE_MEM, 541 .flags = IORESOURCE_MEM,
@@ -571,6 +590,10 @@ static struct platform_device *stamp_devices[] __initdata = {
571 &smc91x_device, 590 &smc91x_device,
572#endif 591#endif
573 592
593#if defined(CONFIG_DM9000) || defined(CONFIG_DM9000_MODULE)
594 &dm9000_device,
595#endif
596
574#if defined(CONFIG_BFIN_MAC) || defined(CONFIG_BFIN_MAC_MODULE) 597#if defined(CONFIG_BFIN_MAC) || defined(CONFIG_BFIN_MAC_MODULE)
575 &bfin_mac_device, 598 &bfin_mac_device,
576#endif 599#endif
diff --git a/arch/blackfin/mach-bf537/dma.c b/arch/blackfin/mach-bf537/dma.c
new file mode 100644
index 000000000000..706cb97b0265
--- /dev/null
+++ b/arch/blackfin/mach-bf537/dma.c
@@ -0,0 +1,115 @@
1/*
2 * File: arch/blackfin/mach-bf537/dma.c
3 * Based on:
4 * Author:
5 *
6 * Created:
7 * Description: This file contains the simple DMA Implementation for Blackfin
8 *
9 * Modified:
10 * Copyright 2004-2007 Analog Devices Inc.
11 *
12 * Bugs: Enter bugs at http://blackfin.uclinux.org/
13 *
14 * This program is free software; you can redistribute it and/or modify
15 * it under the terms of the GNU General Public License as published by
16 * the Free Software Foundation; either version 2 of the License, or
17 * (at your option) any later version.
18 *
19 * This program is distributed in the hope that it will be useful,
20 * but WITHOUT ANY WARRANTY; without even the implied warranty of
21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 * GNU General Public License for more details.
23 *
24 * You should have received a copy of the GNU General Public License
25 * along with this program; if not, see the file COPYING, or write
26 * to the Free Software Foundation, Inc.,
27 * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
28 */
29#include <asm/blackfin.h>
30#include <asm/dma.h>
31
32struct dma_register *base_addr[MAX_BLACKFIN_DMA_CHANNEL] = {
33 (struct dma_register *) DMA0_NEXT_DESC_PTR,
34 (struct dma_register *) DMA1_NEXT_DESC_PTR,
35 (struct dma_register *) DMA2_NEXT_DESC_PTR,
36 (struct dma_register *) DMA3_NEXT_DESC_PTR,
37 (struct dma_register *) DMA4_NEXT_DESC_PTR,
38 (struct dma_register *) DMA5_NEXT_DESC_PTR,
39 (struct dma_register *) DMA6_NEXT_DESC_PTR,
40 (struct dma_register *) DMA7_NEXT_DESC_PTR,
41 (struct dma_register *) DMA8_NEXT_DESC_PTR,
42 (struct dma_register *) DMA9_NEXT_DESC_PTR,
43 (struct dma_register *) DMA10_NEXT_DESC_PTR,
44 (struct dma_register *) DMA11_NEXT_DESC_PTR,
45 (struct dma_register *) MDMA_D0_NEXT_DESC_PTR,
46 (struct dma_register *) MDMA_S0_NEXT_DESC_PTR,
47 (struct dma_register *) MDMA_D1_NEXT_DESC_PTR,
48 (struct dma_register *) MDMA_S1_NEXT_DESC_PTR,
49};
50
51int channel2irq(unsigned int channel)
52{
53 int ret_irq = -1;
54
55 switch (channel) {
56 case CH_PPI:
57 ret_irq = IRQ_PPI;
58 break;
59
60 case CH_EMAC_RX:
61 ret_irq = IRQ_MAC_RX;
62 break;
63
64 case CH_EMAC_TX:
65 ret_irq = IRQ_MAC_TX;
66 break;
67
68 case CH_UART1_RX:
69 ret_irq = IRQ_UART1_RX;
70 break;
71
72 case CH_UART1_TX:
73 ret_irq = IRQ_UART1_TX;
74 break;
75
76 case CH_SPORT0_RX:
77 ret_irq = IRQ_SPORT0_RX;
78 break;
79
80 case CH_SPORT0_TX:
81 ret_irq = IRQ_SPORT0_TX;
82 break;
83
84 case CH_SPORT1_RX:
85 ret_irq = IRQ_SPORT1_RX;
86 break;
87
88 case CH_SPORT1_TX:
89 ret_irq = IRQ_SPORT1_TX;
90 break;
91
92 case CH_SPI:
93 ret_irq = IRQ_SPI;
94 break;
95
96 case CH_UART_RX:
97 ret_irq = IRQ_UART_RX;
98 break;
99
100 case CH_UART_TX:
101 ret_irq = IRQ_UART_TX;
102 break;
103
104 case CH_MEM_STREAM0_SRC:
105 case CH_MEM_STREAM0_DEST:
106 ret_irq = IRQ_MEM_DMA0;
107 break;
108
109 case CH_MEM_STREAM1_SRC:
110 case CH_MEM_STREAM1_DEST:
111 ret_irq = IRQ_MEM_DMA1;
112 break;
113 }
114 return ret_irq;
115}
diff --git a/arch/blackfin/mach-bf537/head.S b/arch/blackfin/mach-bf537/head.S
index 7d902bbd860f..429c8a1019da 100644
--- a/arch/blackfin/mach-bf537/head.S
+++ b/arch/blackfin/mach-bf537/head.S
@@ -30,6 +30,8 @@
30#include <linux/linkage.h> 30#include <linux/linkage.h>
31#include <linux/init.h> 31#include <linux/init.h>
32#include <asm/blackfin.h> 32#include <asm/blackfin.h>
33#include <asm/trace.h>
34
33#if CONFIG_BFIN_KERNEL_CLOCK 35#if CONFIG_BFIN_KERNEL_CLOCK
34#include <asm/mach/mem_init.h> 36#include <asm/mach/mem_init.h>
35#endif 37#endif
@@ -93,6 +95,10 @@ ENTRY(__start)
93 M2 = r0; 95 M2 = r0;
94 M3 = r0; 96 M3 = r0;
95 97
98 trace_buffer_start(p0,r0);
99 P0 = R1;
100 R0 = R1;
101
96 /* Turn off the icache */ 102 /* Turn off the icache */
97 p0.l = (IMEM_CONTROL & 0xFFFF); 103 p0.l = (IMEM_CONTROL & 0xFFFF);
98 p0.h = (IMEM_CONTROL >> 16); 104 p0.h = (IMEM_CONTROL >> 16);
diff --git a/arch/blackfin/mach-bf537/ints-priority.c b/arch/blackfin/mach-bf537/ints-priority.c
index 2dbf3df465d1..a8b915f202ec 100644
--- a/arch/blackfin/mach-bf537/ints-priority.c
+++ b/arch/blackfin/mach-bf537/ints-priority.c
@@ -28,8 +28,8 @@
28 */ 28 */
29 29
30#include <linux/module.h> 30#include <linux/module.h>
31#include <linux/irq.h>
31#include <asm/blackfin.h> 32#include <asm/blackfin.h>
32#include <asm/irq.h>
33 33
34void program_IAR(void) 34void program_IAR(void)
35{ 35{
diff --git a/arch/blackfin/mach-bf548/Kconfig b/arch/blackfin/mach-bf548/Kconfig
new file mode 100644
index 000000000000..e78b03d56c7c
--- /dev/null
+++ b/arch/blackfin/mach-bf548/Kconfig
@@ -0,0 +1,316 @@
1if (BF54x)
2
3menu "BF548 Specific Configuration"
4
5comment "Interrupt Priority Assignment"
6menu "Priority"
7
8config IRQ_PLL_WAKEUP
9 int "IRQ_PLL_WAKEUP"
10 default 7
11config IRQ_DMAC0_ERR
12 int "IRQ_DMAC0_ERR"
13 default 7
14config IRQ_EPPI0_ERR
15 int "IRQ_EPPI0_ERR"
16 default 7
17config IRQ_SPORT0_ERR
18 int "IRQ_SPORT0_ERR"
19 default 7
20config IRQ_SPORT1_ERR
21 int "IRQ_SPORT1_ERR"
22 default 7
23config IRQ_SPI0_ERR
24 int "IRQ_SPI0_ERR"
25 default 7
26config IRQ_UART0_ERR
27 int "IRQ_UART0_ERR"
28 default 7
29config IRQ_RTC
30 int "IRQ_RTC"
31 default 8
32config IRQ_EPPI0
33 int "IRQ_EPPI0"
34 default 8
35config IRQ_SPORT0_RX
36 int "IRQ_SPORT0_RX"
37 default 9
38config IRQ_SPORT0_TX
39 int "IRQ_SPORT0_TX"
40 default 9
41config IRQ_SPORT1_RX
42 int "IRQ_SPORT1_RX"
43 default 9
44config IRQ_SPORT1_TX
45 int "IRQ_SPORT1_TX"
46 default 9
47config IRQ_SPI0
48 int "IRQ_SPI0"
49 default 10
50config IRQ_UART0_RX
51 int "IRQ_UART0_RX"
52 default 10
53config IRQ_UART0_TX
54 int "IRQ_UART0_TX"
55 default 10
56config IRQ_TIMER8
57 int "IRQ_TIMER8"
58 default 11
59config IRQ_TIMER9
60 int "IRQ_TIMER9"
61 default 11
62config IRQ_TIMER10
63 int "IRQ_TIMER10"
64 default 11
65config IRQ_PINT0
66 int "IRQ_PINT0"
67 default 12
68config IRQ_PINT1
69 int "IRQ_PINT0"
70 default 12
71config IRQ_MDMAS0
72 int "IRQ_MDMAS0"
73 default 13
74config IRQ_MDMAS1
75 int "IRQ_DMDMAS1"
76 default 13
77config IRQ_WATCHDOG
78 int "IRQ_WATCHDOG"
79 default 13
80config IRQ_DMAC1_ERR
81 int "IRQ_DMAC1_ERR"
82 default 7
83config IRQ_SPORT2_ERR
84 int "IRQ_SPORT2_ERR"
85 default 7
86config IRQ_SPORT3_ERR
87 int "IRQ_SPORT3_ERR"
88 default 7
89config IRQ_MXVR_DATA
90 int "IRQ MXVR Data"
91 default 7
92config IRQ_SPI1_ERR
93 int "IRQ_SPI1_ERR"
94 default 7
95config IRQ_SPI2_ERR
96 int "IRQ_SPI2_ERR"
97 default 7
98config IRQ_UART1_ERR
99 int "IRQ_UART1_ERR"
100 default 7
101config IRQ_UART2_ERR
102 int "IRQ_UART2_ERR"
103 default 7
104config IRQ_CAN0_ERR
105 int "IRQ_CAN0_ERR"
106 default 7
107config IRQ_SPORT2_RX
108 int "IRQ_SPORT2_RX"
109 default 9
110config IRQ_SPORT2_TX
111 int "IRQ_SPORT2_TX"
112 default 9
113config IRQ_SPORT3_RX
114 int "IRQ_SPORT3_RX"
115 default 9
116config IRQ_SPORT3_TX
117 int "IRQ_SPORT3_TX"
118 default 9
119config IRQ_EPPI1
120 int "IRQ_EPPI1"
121 default 9
122config IRQ_EPPI2
123 int "IRQ_EPPI2"
124 default 9
125config IRQ_SPI1
126 int "IRQ_SPI1"
127 default 10
128config IRQ_SPI2
129 int "IRQ_SPI2"
130 default 10
131config IRQ_UART1_RX
132 int "IRQ_UART1_RX"
133 default 10
134config IRQ_UART1_TX
135 int "IRQ_UART1_TX"
136 default 10
137config IRQ_ATAPI_RX
138 int "IRQ_ATAPI_RX"
139 default 10
140config IRQ_ATAPI_TX
141 int "IRQ_ATAPI_TX"
142 default 10
143config IRQ_TWI0
144 int "IRQ_TWI0"
145 default 11
146config IRQ_TWI1
147 int "IRQ_TWI1"
148 default 11
149config IRQ_CAN0_RX
150 int "IRQ_CAN_RX"
151 default 11
152config IRQ_CAN0_TX
153 int "IRQ_CAN_TX"
154 default 11
155config IRQ_MDMAS2
156 int "IRQ_MDMAS2"
157 default 13
158config IRQ_MDMAS3
159 int "IRQ_DMMAS3"
160 default 13
161config IRQ_MXVR_ERR
162 int "IRQ_MXVR_ERR"
163 default 11
164config IRQ_MXVR_MSG
165 int "IRQ_MXVR_MSG"
166 default 11
167config IRQ_MXVR_PKT
168 int "IRQ_MXVR_PKT"
169 default 11
170config IRQ_EPPI1_ERR
171 int "IRQ_EPPI1_ERR"
172 default 7
173config IRQ_EPPI2_ERR
174 int "IRQ_EPPI2_ERR"
175 default 7
176config IRQ_UART3_ERR
177 int "IRQ_UART3_ERR"
178 default 7
179config IRQ_HOST_ERR
180 int "IRQ_HOST_ERR"
181 default 7
182config IRQ_PIXC_ERR
183 int "IRQ_PIXC_ERR"
184 default 7
185config IRQ_NFC_ERR
186 int "IRQ_NFC_ERR"
187 default 7
188config IRQ_ATAPI_ERR
189 int "IRQ_ATAPI_ERR"
190 default 7
191config IRQ_CAN1_ERR
192 int "IRQ_CAN1_ERR"
193 default 7
194config IRQ_HS_DMA_ERR
195 int "IRQ Handshake DMA Status"
196 default 7
197config IRQ_PIXC_IN0
198 int "IRQ PIXC IN0"
199 default 8
200config IRQ_PIXC_IN1
201 int "IRQ PIXC IN1"
202 default 8
203config IRQ_PIXC_OUT
204 int "IRQ PIXC OUT"
205 default 8
206config IRQ_SDH
207 int "IRQ SDH"
208 default 8
209config IRQ_CNT
210 int "IRQ CNT"
211 default 8
212config IRQ_KEY
213 int "IRQ KEY"
214 default 8
215config IRQ_CAN1_RX
216 int "IRQ CAN1 RX"
217 default 11
218config IRQ_CAN1_TX
219 int "IRQ_CAN1_TX"
220 default 11
221config IRQ_SDH_MASK0
222 int "IRQ_SDH_MASK0"
223 default 11
224config IRQ_SDH_MASK1
225 int "IRQ_SDH_MASK1"
226 default 11
227config IRQ_USB_INT0
228 int "IRQ USB INT0"
229 default 11
230config IRQ_USB_INT1
231 int "IRQ USB INT1"
232 default 11
233config IRQ_USB_INT2
234 int "IRQ USB INT2"
235 default 11
236config IRQ_USB_DMA
237 int "IRQ USB DMA"
238 default 11
239config IRQ_OTPSEC
240 int "IRQ OPTSEC"
241 default 11
242config IRQ_TIMER0
243 int "IRQ_TIMER0"
244 default 11
245config IRQ_TIMER1
246 int "IRQ_TIMER1"
247 default 11
248config IRQ_TIMER2
249 int "IRQ_TIMER2"
250 default 11
251config IRQ_TIMER3
252 int "IRQ_TIMER3"
253 default 11
254config IRQ_TIMER4
255 int "IRQ_TIMER4"
256 default 11
257config IRQ_TIMER5
258 int "IRQ_TIMER5"
259 default 11
260config IRQ_TIMER6
261 int "IRQ_TIMER6"
262 default 11
263config IRQ_TIMER7
264 int "IRQ_TIMER7"
265 default 11
266config IRQ_PINT2
267 int "IRQ_PIN2"
268 default 11
269config IRQ_PINT3
270 int "IRQ_PIN3"
271 default 11
272
273 help
274 Enter the priority numbers between 7-13 ONLY. Others are Reserved.
275 This applies to all the above. It is not recommended to assign the
276 highest priority number 7 to UART or any other device.
277
278endmenu
279
280comment "Pin Interrupt to Port Assignment"
281menu "Assignment"
282
283config PINTx_REASSIGN
284 bool "Reprogram PINT Assignment"
285 default n
286 help
287 The interrupt assignment registers controls the pin-to-interrupt
288 assignment in a byte-wide manner. Each option allows you to select
289 a set of pins (High/Low Byte) of an specific Port being mapped
290 to one of the four PIN Interrupts IRQ_PINTx.
291
292 You shouldn't change any of these unless you know exactly what you're doing.
293 Please consult the Blackfin BF54x Processor Hardware Reference Manual.
294
295config PINT0_ASSIGN
296 hex "PINT0_ASSIGN"
297 depends on PINTx_REASSIGN
298 default 0x00000101
299config PINT1_ASSIGN
300 hex "PINT1_ASSIGN"
301 depends on PINTx_REASSIGN
302 default 0x01010000
303config PINT2_ASSIGN
304 hex "PINT2_ASSIGN"
305 depends on PINTx_REASSIGN
306 default 0x00000101
307config PINT3_ASSIGN
308 hex "PINT3_ASSIGN"
309 depends on PINTx_REASSIGN
310 default 0x02020303
311
312endmenu
313
314endmenu
315
316endif
diff --git a/arch/blackfin/mach-bf548/Makefile b/arch/blackfin/mach-bf548/Makefile
new file mode 100644
index 000000000000..060ad78ebf1d
--- /dev/null
+++ b/arch/blackfin/mach-bf548/Makefile
@@ -0,0 +1,9 @@
1#
2# arch/blackfin/mach-bf537/Makefile
3#
4
5extra-y := head.o
6
7obj-y := ints-priority.o dma.o gpio.o
8
9obj-$(CONFIG_CPU_FREQ) += cpu.o
diff --git a/arch/blackfin/mach-bf548/boards/Makefile b/arch/blackfin/mach-bf548/boards/Makefile
new file mode 100644
index 000000000000..486e07c99a51
--- /dev/null
+++ b/arch/blackfin/mach-bf548/boards/Makefile
@@ -0,0 +1,5 @@
1#
2# arch/blackfin/mach-bf548/boards/Makefile
3#
4
5obj-$(CONFIG_BFIN548_EZKIT) += ezkit.o led.o
diff --git a/arch/blackfin/mach-bf548/boards/ezkit.c b/arch/blackfin/mach-bf548/boards/ezkit.c
new file mode 100644
index 000000000000..96ad95fab1a8
--- /dev/null
+++ b/arch/blackfin/mach-bf548/boards/ezkit.c
@@ -0,0 +1,114 @@
1/*
2 * File: arch/blackfin/mach-bf548/boards/ezkit.c
3 * Based on: arch/blackfin/mach-bf537/boards/ezkit.c
4 * Author: Aidan Williams <aidan@nicta.com.au>
5 *
6 * Created:
7 * Description:
8 *
9 * Modified:
10 * Copyright 2005 National ICT Australia (NICTA)
11 * Copyright 2004-2007 Analog Devices Inc.
12 *
13 * Bugs: Enter bugs at http://blackfin.uclinux.org/
14 *
15 * This program is free software; you can redistribute it and/or modify
16 * it under the terms of the GNU General Public License as published by
17 * the Free Software Foundation; either version 2 of the License, or
18 * (at your option) any later version.
19 *
20 * This program is distributed in the hope that it will be useful,
21 * but WITHOUT ANY WARRANTY; without even the implied warranty of
22 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23 * GNU General Public License for more details.
24 *
25 * You should have received a copy of the GNU General Public License
26 * along with this program; if not, see the file COPYING, or write
27 * to the Free Software Foundation, Inc.,
28 * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
29 */
30
31#include <linux/device.h>
32#include <linux/platform_device.h>
33#include <linux/mtd/mtd.h>
34#include <linux/mtd/partitions.h>
35#include <linux/spi/spi.h>
36#include <linux/spi/flash.h>
37#include <linux/irq.h>
38#include <linux/irq.h>
39#include <linux/interrupt.h>
40#include <asm/bfin5xx_spi.h>
41
42/*
43 * Name the Board for the /proc/cpuinfo
44 */
45char *bfin_board_name = "ADSP-BF548-EZKIT";
46
47/*
48 * Driver needs to know address, irq and flag pin.
49 */
50
51#if defined(CONFIG_RTC_DRV_BFIN) || defined(CONFIG_RTC_DRV_BFIN_MODULE)
52static struct platform_device rtc_device = {
53 .name = "rtc-bfin",
54 .id = -1,
55};
56#endif
57
58#if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE)
59static struct resource bfin_uart_resources[] = {
60#ifdef CONFIG_SERIAL_BFIN_UART0
61 {
62 .start = 0xFFC00400,
63 .end = 0xFFC004FF,
64 .flags = IORESOURCE_MEM,
65 },
66#endif
67#ifdef CONFIG_SERIAL_BFIN_UART1
68 {
69 .start = 0xFFC02000,
70 .end = 0xFFC020FF,
71 .flags = IORESOURCE_MEM,
72 },
73#endif
74#ifdef CONFIG_SERIAL_BFIN_UART2
75 {
76 .start = 0xFFC02100,
77 .end = 0xFFC021FF,
78 .flags = IORESOURCE_MEM,
79 },
80#endif
81#ifdef CONFIG_SERIAL_BFIN_UART3
82 {
83 .start = 0xFFC03100,
84 .end = 0xFFC031FF,
85 },
86#endif
87};
88
89static struct platform_device bfin_uart_device = {
90 .name = "bfin-uart",
91 .id = 1,
92 .num_resources = ARRAY_SIZE(bfin_uart_resources),
93 .resource = bfin_uart_resources,
94};
95#endif
96
97static struct platform_device *ezkit_devices[] __initdata = {
98#if defined(CONFIG_RTC_DRV_BFIN) || defined(CONFIG_RTC_DRV_BFIN_MODULE)
99 &rtc_device,
100#endif
101
102#if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE)
103 &bfin_uart_device,
104#endif
105};
106
107static int __init stamp_init(void)
108{
109 printk(KERN_INFO "%s(): registering device resources\n", __FUNCTION__);
110 platform_add_devices(ezkit_devices, ARRAY_SIZE(ezkit_devices));
111 return 0;
112}
113
114arch_initcall(stamp_init);
diff --git a/arch/blackfin/mach-bf548/boards/led.S b/arch/blackfin/mach-bf548/boards/led.S
new file mode 100644
index 000000000000..f47daf3770d0
--- /dev/null
+++ b/arch/blackfin/mach-bf548/boards/led.S
@@ -0,0 +1,172 @@
1/****************************************************
2 * LED1 ---- PG6 LED2 ---- PG7 *
3 * LED3 ---- PG8 LED4 ---- PG9 *
4 * LED5 ---- PG10 LED6 ---- PG11 *
5 ****************************************************/
6
7#include <linux/linkage.h>
8#include <asm/blackfin.h>
9
10/* All functions in this file save the registers they uses.
11 So there is no need to save any registers before calling them. */
12
13 .text;
14
15/* Initialize LEDs. */
16
17ENTRY(_led_init)
18 LINK 0;
19 [--SP] = P0;
20 [--SP] = R0;
21 [--SP] = R1;
22 [--SP] = R2;
23 R1 = (PG6|PG7|PG8|PG9|PG10|PG11)(Z);
24 R2 = ~R1;
25
26 P0.H = hi(PORTG_FER);
27 P0.L = lo(PORTG_FER);
28 R0 = W[P0](Z);
29 SSYNC;
30 R0 = R0 & R2;
31 W[P0] = R0.L;
32 SSYNC;
33
34 P0.H = hi(PORTG_DIR_SET);
35 P0.L = lo(PORTG_DIR_SET);
36 W[P0] = R1.L;
37 SSYNC;
38
39 P0.H = hi(PORTG_INEN);
40 P0.L = lo(PORTG_INEN);
41 R0 = W[P0](Z);
42 SSYNC;
43 R0 = R0 & R2;
44 W[P0] = R0.L;
45 SSYNC;
46
47 R2 = [SP++];
48 R1 = [SP++];
49 R0 = [SP++];
50 P0 = [SP++];
51 RTS;
52 .size _led_init, .-_led_init
53
54/* Set one LED on. Leave other LEDs unchanged.
55 It expects the LED number passed through R0. */
56
57ENTRY(_led_on)
58 LINK 0;
59 [--SP] = P0;
60 [--SP] = R1;
61 CALL _led_init;
62 R1 = 1;
63 R0 += 5;
64 R1 <<= R0;
65 P0.H = hi(PORTG_SET);
66 P0.L = lo(PORTG_SET);
67 W[P0] = R1.L;
68 SSYNC;
69 R1 = [SP++];
70 P0 = [SP++];
71 UNLINK;
72 RTS;
73 .size _led_on, .-_led_on
74
75/* Set one LED off. Leave other LEDs unchanged. */
76
77ENTRY(_led_off)
78 LINK 0;
79 [--SP] = P0;
80 [--SP] = R1;
81 CALL _led_init;
82 R1 = 1;
83 R0 += 5;
84 R1 <<= R0;
85 P0.H = hi(PORTG_CLEAR);
86 P0.L = lo(PORTG_CLEAR);
87 W[P0] = R1.L;
88 SSYNC;
89 R1 = [SP++];
90 P0 = [SP++];
91 UNLINK;
92 RTS;
93 .size _led_off, .-_led_off
94
95/* Toggle one LED. Leave other LEDs unchanged. */
96
97ENTRY(_led_toggle)
98 LINK 0;
99 [--SP] = P0;
100 [--SP] = R1;
101 CALL _led_init;
102 R1 = 1;
103 R0 += 5;
104 R1 <<= R0;
105 P0.H = hi(PORTG);
106 P0.L = lo(PORTG);
107 R0 = W[P0](Z);
108 SSYNC;
109 R0 = R0 ^ R1;
110 W[P0] = R0.L;
111 SSYNC;
112 R1 = [SP++];
113 P0 = [SP++];
114 UNLINK;
115 RTS;
116 .size _led_toggle, .-_led_toggle
117
118/* Display the number using LEDs in binary format. */
119
120ENTRY(_led_disp_num)
121 LINK 0;
122 [--SP] = P0;
123 [--SP] = R1;
124 [--SP] = R2;
125 CALL _led_init;
126 R1 = 0x3f(X);
127 R0 = R0 & R1;
128 R2 = 6(X);
129 R0 <<= R2;
130 R1 <<= R2;
131 P0.H = hi(PORTG);
132 P0.L = lo(PORTG);
133 R2 = W[P0](Z);
134 SSYNC;
135 R1 = ~R1;
136 R2 = R2 & R1;
137 R2 = R2 | R0;
138 W[P0] = R2.L;
139 SSYNC;
140 R2 = [SP++];
141 R1 = [SP++];
142 P0 = [SP++];
143 UNLINK;
144 RTS;
145 .size _led_disp_num, .-_led_disp_num
146
147/* Toggle the number using LEDs in binary format. */
148
149ENTRY(_led_toggle_num)
150 LINK 0;
151 [--SP] = P0;
152 [--SP] = R1;
153 [--SP] = R2;
154 CALL _led_init;
155 R1 = 0x3f(X);
156 R0 = R0 & R1;
157 R1 = 6(X);
158 R0 <<= R1;
159 P0.H = hi(PORTG);
160 P0.L = lo(PORTG);
161 R1 = W[P0](Z);
162 SSYNC;
163 R1 = R1 ^ R0;
164 W[P0] = R1.L;
165 SSYNC;
166 R2 = [SP++];
167 R1 = [SP++];
168 P0 = [SP++];
169 UNLINK;
170 RTS;
171 .size _led_toggle_num, .-_led_toggle_num
172
diff --git a/arch/blackfin/mach-bf548/cpu.c b/arch/blackfin/mach-bf548/cpu.c
new file mode 100644
index 000000000000..4298a3ccfbfc
--- /dev/null
+++ b/arch/blackfin/mach-bf548/cpu.c
@@ -0,0 +1,159 @@
1/*
2 * File: arch/blackfin/mach-bf548/cpu.c
3 * Based on:
4 * Author:
5 *
6 * Created:
7 * Description: clock scaling for the bf54x
8 *
9 * Modified:
10 * Copyright 2004-2007 Analog Devices Inc.
11 *
12 * Bugs: Enter bugs at http://blackfin.uclinux.org/
13 *
14 * This program is free software; you can redistribute it and/or modify
15 * it under the terms of the GNU General Public License as published by
16 * the Free Software Foundation; either version 2 of the License, or
17 * (at your option) any later version.
18 *
19 * This program is distributed in the hope that it will be useful,
20 * but WITHOUT ANY WARRANTY; without even the implied warranty of
21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 * GNU General Public License for more details.
23 *
24 * You should have received a copy of the GNU General Public License
25 * along with this program; if not, see the file COPYING, or write
26 * to the Free Software Foundation, Inc.,
27 * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
28 */
29
30#include <linux/kernel.h>
31#include <linux/types.h>
32#include <linux/init.h>
33#include <linux/cpufreq.h>
34#include <asm/dpmc.h>
35#include <linux/fs.h>
36#include <asm/bfin-global.h>
37
38/* CONFIG_CLKIN_HZ=25000000 */
39#define VCO5 (CONFIG_CLKIN_HZ*45)
40#define VCO4 (CONFIG_CLKIN_HZ*36)
41#define VCO3 (CONFIG_CLKIN_HZ*27)
42#define VCO2 (CONFIG_CLKIN_HZ*18)
43#define VCO1 (CONFIG_CLKIN_HZ*9)
44#define VCO(x) VCO##x
45
46#define MFREQ(x) {VCO(x),VCO(x)/4},{VCO(x),VCO(x)/2},{VCO(x),VCO(x)}
47/* frequency */
48static struct cpufreq_frequency_table bf548_freq_table[] = {
49 MFREQ(1),
50 MFREQ(3),
51 {VCO4, VCO4 / 2}, {VCO4, VCO4},
52 MFREQ(5),
53 {0, CPUFREQ_TABLE_END},
54};
55
56/*
57 * dpmc_fops->ioctl()
58 * static int dpmc_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg)
59 */
60static int bf548_getfreq(unsigned int cpu)
61{
62 unsigned long cclk_mhz;
63
64 /* The driver only support single cpu */
65 if (cpu == 0)
66 dpmc_fops.ioctl(NULL, NULL, IOCTL_GET_CORECLOCK, &cclk_mhz);
67 else
68 cclk_mhz = -1;
69
70 return cclk_mhz;
71}
72
73static int bf548_target(struct cpufreq_policy *policy,
74 unsigned int target_freq, unsigned int relation)
75{
76 unsigned long cclk_mhz;
77 unsigned long vco_mhz;
78 unsigned long flags;
79 unsigned int index;
80 struct cpufreq_freqs freqs;
81
82 if (cpufreq_frequency_table_target(policy, bf548_freq_table, target_freq, relation, &index))
83 return -EINVAL;
84
85 cclk_mhz = bf548_freq_table[index].frequency;
86 vco_mhz = bf548_freq_table[index].index;
87
88 dpmc_fops.ioctl(NULL, NULL, IOCTL_CHANGE_FREQUENCY, &vco_mhz);
89 freqs.old = bf548_getfreq(0);
90 freqs.new = cclk_mhz;
91 freqs.cpu = 0;
92
93 pr_debug("cclk begin change to cclk %d,vco=%d,index=%d,target=%d,oldfreq=%d\n",
94 cclk_mhz, vco_mhz, index, target_freq, freqs.old);
95
96 cpufreq_notify_transition(&freqs, CPUFREQ_PRECHANGE);
97 local_irq_save(flags);
98 dpmc_fops.ioctl(NULL, NULL, IOCTL_SET_CCLK, &cclk_mhz);
99 local_irq_restore(flags);
100 cpufreq_notify_transition(&freqs, CPUFREQ_POSTCHANGE);
101
102 vco_mhz = get_vco();
103 cclk_mhz = get_cclk();
104 return 0;
105}
106
107/* make sure that only the "userspace" governor is run -- anything else wouldn't make sense on
108 * this platform, anyway.
109 */
110static int bf548_verify_speed(struct cpufreq_policy *policy)
111{
112 return cpufreq_frequency_table_verify(policy, &bf548_freq_table);
113}
114
115static int __init __bf548_cpu_init(struct cpufreq_policy *policy)
116{
117 if (policy->cpu != 0)
118 return -EINVAL;
119
120 policy->governor = CPUFREQ_DEFAULT_GOVERNOR;
121
122 policy->cpuinfo.transition_latency = CPUFREQ_ETERNAL;
123 /*Now ,only support one cpu */
124 policy->cur = bf548_getfreq(0);
125 cpufreq_frequency_table_get_attr(bf548_freq_table, policy->cpu);
126 return cpufreq_frequency_table_cpuinfo(policy, bf548_freq_table);
127}
128
129static struct freq_attr *bf548_freq_attr[] = {
130 &cpufreq_freq_attr_scaling_available_freqs,
131 NULL,
132};
133
134static struct cpufreq_driver bf548_driver = {
135 .verify = bf548_verify_speed,
136 .target = bf548_target,
137 .get = bf548_getfreq,
138 .init = __bf548_cpu_init,
139 .name = "bf548",
140 .owner = THIS_MODULE,
141 .attr = bf548_freq_attr,
142};
143
144static int __init bf548_cpu_init(void)
145{
146 return cpufreq_register_driver(&bf548_driver);
147}
148
149static void __exit bf548_cpu_exit(void)
150{
151 cpufreq_unregister_driver(&bf548_driver);
152}
153
154MODULE_AUTHOR("Mickael Kang");
155MODULE_DESCRIPTION("cpufreq driver for BF548 CPU");
156MODULE_LICENSE("GPL");
157
158module_init(bf548_cpu_init);
159module_exit(bf548_cpu_exit);
diff --git a/arch/blackfin/mach-bf548/dma.c b/arch/blackfin/mach-bf548/dma.c
new file mode 100644
index 000000000000..a8184113be48
--- /dev/null
+++ b/arch/blackfin/mach-bf548/dma.c
@@ -0,0 +1,156 @@
1/*
2 * File: arch/blackfin/mach-bf561/dma.c
3 * Based on:
4 * Author:
5 *
6 * Created:
7 * Description: This file contains the simple DMA Implementation for Blackfin
8 *
9 * Modified:
10 * Copyright 2004-2007 Analog Devices Inc.
11 *
12 * Bugs: Enter bugs at http://blackfin.uclinux.org/
13 *
14 * This program is free software; you can redistribute it and/or modify
15 * it under the terms of the GNU General Public License as published by
16 * the Free Software Foundation; either version 2 of the License, or
17 * (at your option) any later version.
18 *
19 * This program is distributed in the hope that it will be useful,
20 * but WITHOUT ANY WARRANTY; without even the implied warranty of
21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 * GNU General Public License for more details.
23 *
24 * You should have received a copy of the GNU General Public License
25 * along with this program; if not, see the file COPYING, or write
26 * to the Free Software Foundation, Inc.,
27 * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
28 */
29
30#include <asm/blackfin.h>
31#include <asm/dma.h>
32
33 struct dma_register *base_addr[MAX_BLACKFIN_DMA_CHANNEL] = {
34 (struct dma_register *) DMA0_NEXT_DESC_PTR,
35 (struct dma_register *) DMA1_NEXT_DESC_PTR,
36 (struct dma_register *) DMA2_NEXT_DESC_PTR,
37 (struct dma_register *) DMA3_NEXT_DESC_PTR,
38 (struct dma_register *) DMA4_NEXT_DESC_PTR,
39 (struct dma_register *) DMA5_NEXT_DESC_PTR,
40 (struct dma_register *) DMA6_NEXT_DESC_PTR,
41 (struct dma_register *) DMA7_NEXT_DESC_PTR,
42 (struct dma_register *) DMA8_NEXT_DESC_PTR,
43 (struct dma_register *) DMA9_NEXT_DESC_PTR,
44 (struct dma_register *) DMA10_NEXT_DESC_PTR,
45 (struct dma_register *) DMA11_NEXT_DESC_PTR,
46 (struct dma_register *) DMA12_NEXT_DESC_PTR,
47 (struct dma_register *) DMA13_NEXT_DESC_PTR,
48 (struct dma_register *) DMA14_NEXT_DESC_PTR,
49 (struct dma_register *) DMA15_NEXT_DESC_PTR,
50 (struct dma_register *) DMA16_NEXT_DESC_PTR,
51 (struct dma_register *) DMA17_NEXT_DESC_PTR,
52 (struct dma_register *) DMA18_NEXT_DESC_PTR,
53 (struct dma_register *) DMA19_NEXT_DESC_PTR,
54 (struct dma_register *) DMA20_NEXT_DESC_PTR,
55 (struct dma_register *) DMA21_NEXT_DESC_PTR,
56 (struct dma_register *) DMA22_NEXT_DESC_PTR,
57 (struct dma_register *) DMA23_NEXT_DESC_PTR,
58 (struct dma_register *) MDMA_D0_NEXT_DESC_PTR,
59 (struct dma_register *) MDMA_S0_NEXT_DESC_PTR,
60 (struct dma_register *) MDMA_D1_NEXT_DESC_PTR,
61 (struct dma_register *) MDMA_S1_NEXT_DESC_PTR,
62 (struct dma_register *) MDMA_D2_NEXT_DESC_PTR,
63 (struct dma_register *) MDMA_S2_NEXT_DESC_PTR,
64 (struct dma_register *) MDMA_D3_NEXT_DESC_PTR,
65 (struct dma_register *) MDMA_S3_NEXT_DESC_PTR,
66};
67
68int channel2irq(unsigned int channel)
69{
70 int ret_irq = -1;
71
72 switch (channel) {
73 case CH_SPORT0_RX:
74 ret_irq = IRQ_SPORT0_RX;
75 break;
76 case CH_SPORT0_TX:
77 ret_irq = IRQ_SPORT0_TX;
78 break;
79 case CH_SPORT1_RX:
80 ret_irq = IRQ_SPORT1_RX;
81 break;
82 case CH_SPORT1_TX:
83 ret_irq = IRQ_SPORT1_TX;
84 case CH_SPI0:
85 ret_irq = IRQ_SPI0;
86 break;
87 case CH_SPI1:
88 ret_irq = IRQ_SPI1;
89 break;
90 case CH_UART0_RX:
91 ret_irq = IRQ_UART_RX;
92 break;
93 case CH_UART0_TX:
94 ret_irq = IRQ_UART_TX;
95 break;
96 case CH_UART1_RX:
97 ret_irq = IRQ_UART_RX;
98 break;
99 case CH_UART1_TX:
100 ret_irq = IRQ_UART_TX;
101 break;
102 case CH_EPPI0:
103 ret_irq = IRQ_EPPI0;
104 break;
105 case CH_EPPI1:
106 ret_irq = IRQ_EPPI1;
107 break;
108 case CH_EPPI2:
109 ret_irq = IRQ_EPPI2;
110 break;
111 case CH_PIXC_IMAGE:
112 ret_irq = IRQ_PIXC_IN0;
113 break;
114 case CH_PIXC_OVERLAY:
115 ret_irq = IRQ_PIXC_IN1;
116 break;
117 case CH_PIXC_OUTPUT:
118 ret_irq = IRQ_PIXC_OUT;
119 break;
120 case CH_SPORT2_RX:
121 ret_irq = IRQ_SPORT2_RX;
122 break;
123 case CH_SPORT2_TX:
124 ret_irq = IRQ_SPORT2_TX;
125 break;
126 case CH_SPORT3_RX:
127 ret_irq = IRQ_SPORT3_RX;
128 break;
129 case CH_SPORT3_TX:
130 ret_irq = IRQ_SPORT3_TX;
131 break;
132 case CH_SDH:
133 ret_irq = IRQ_SDH;
134 break;
135 case CH_SPI2:
136 ret_irq = IRQ_SPI2;
137 break;
138 case CH_MEM_STREAM0_SRC:
139 case CH_MEM_STREAM0_DEST:
140 ret_irq = IRQ_MDMAS0;
141 break;
142 case CH_MEM_STREAM1_SRC:
143 case CH_MEM_STREAM1_DEST:
144 ret_irq = IRQ_MDMAS1;
145 break;
146 case CH_MEM_STREAM2_SRC:
147 case CH_MEM_STREAM2_DEST:
148 ret_irq = IRQ_MDMAS2;
149 break;
150 case CH_MEM_STREAM3_SRC:
151 case CH_MEM_STREAM3_DEST:
152 ret_irq = IRQ_MDMAS3;
153 break;
154 }
155 return ret_irq;
156}
diff --git a/arch/blackfin/mach-bf548/gpio.c b/arch/blackfin/mach-bf548/gpio.c
new file mode 100644
index 000000000000..0da5f0003b8c
--- /dev/null
+++ b/arch/blackfin/mach-bf548/gpio.c
@@ -0,0 +1,323 @@
1/*
2 * File: arch/blackfin/mach-bf548/gpio.c
3 * Based on:
4 * Author: Michael Hennerich (hennerich@blackfin.uclinux.org)
5 *
6 * Created:
7 * Description: GPIO Abstraction Layer
8 *
9 * Modified:
10 * Copyright 2007 Analog Devices Inc.
11 *
12 * Bugs: Enter bugs at http://blackfin.uclinux.org/
13 *
14 * This program is free software; you can redistribute it and/or modify
15 * it under the terms of the GNU General Public License as published by
16 * the Free Software Foundation; either version 2 of the License, or
17 * (at your option) any later version.
18 *
19 * This program is distributed in the hope that it will be useful,
20 * but WITHOUT ANY WARRANTY; without even the implied warranty of
21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 * GNU General Public License for more details.
23 *
24 * You should have received a copy of the GNU General Public License
25 * along with this program; if not, see the file COPYING, or write
26 * to the Free Software Foundation, Inc.,
27 * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
28 */
29
30#include <linux/module.h>
31#include <linux/err.h>
32#include <asm/blackfin.h>
33#include <asm/gpio.h>
34#include <asm/portmux.h>
35#include <linux/irq.h>
36
37static struct gpio_port_t *gpio_array[gpio_bank(MAX_BLACKFIN_GPIOS)] = {
38 (struct gpio_port_t *)PORTA_FER,
39 (struct gpio_port_t *)PORTB_FER,
40 (struct gpio_port_t *)PORTC_FER,
41 (struct gpio_port_t *)PORTD_FER,
42 (struct gpio_port_t *)PORTE_FER,
43 (struct gpio_port_t *)PORTF_FER,
44 (struct gpio_port_t *)PORTG_FER,
45 (struct gpio_port_t *)PORTH_FER,
46 (struct gpio_port_t *)PORTI_FER,
47 (struct gpio_port_t *)PORTJ_FER,
48};
49
50static unsigned short reserved_gpio_map[gpio_bank(MAX_BLACKFIN_GPIOS)];
51static unsigned short reserved_peri_map[gpio_bank(MAX_BLACKFIN_GPIOS)];
52
53inline int check_gpio(unsigned short gpio)
54{
55 if (gpio == GPIO_PB15 || gpio == GPIO_PC14 || gpio == GPIO_PC15
56 || gpio == GPIO_PH14 || gpio == GPIO_PH15
57 || gpio == GPIO_PJ14 || gpio == GPIO_PJ15
58 || gpio > MAX_BLACKFIN_GPIOS)
59 return -EINVAL;
60 return 0;
61}
62
63inline void portmux_setup(unsigned short portno, unsigned short function)
64{
65 u32 pmux;
66
67 pmux = gpio_array[gpio_bank(portno)]->port_mux;
68
69 pmux &= ~(0x3 << (2 * gpio_sub_n(portno)));
70 pmux |= (function & 0x3) << (2 * gpio_sub_n(portno));
71
72 gpio_array[gpio_bank(portno)]->port_mux = pmux;
73
74}
75
76inline u16 get_portmux(unsigned short portno)
77{
78 u32 pmux;
79
80 pmux = gpio_array[gpio_bank(portno)]->port_mux;
81
82 return (pmux >> (2 * gpio_sub_n(portno)) & 0x3);
83
84}
85
86static void port_setup(unsigned short gpio, unsigned short usage)
87{
88 if (usage == GPIO_USAGE) {
89 if (gpio_array[gpio_bank(gpio)]->port_fer & gpio_bit(gpio))
90 printk(KERN_WARNING
91 "bfin-gpio: Possible Conflict with Peripheral "
92 "usage and GPIO %d detected!\n", gpio);
93 gpio_array[gpio_bank(gpio)]->port_fer &= ~gpio_bit(gpio);
94 } else
95 gpio_array[gpio_bank(gpio)]->port_fer |= gpio_bit(gpio);
96 SSYNC();
97}
98
99static int __init bfin_gpio_init(void)
100{
101 printk(KERN_INFO "Blackfin GPIO Controller\n");
102
103 return 0;
104}
105
106arch_initcall(bfin_gpio_init);
107
108int peripheral_request(unsigned short per, const char *label)
109{
110 unsigned long flags;
111 unsigned short ident = P_IDENT(per);
112
113 if (!(per & P_DEFINED))
114 return -ENODEV;
115
116 if (check_gpio(ident) < 0)
117 return -EINVAL;
118
119 local_irq_save(flags);
120
121 if (unlikely(reserved_gpio_map[gpio_bank(ident)] & gpio_bit(ident))) {
122 printk(KERN_ERR
123 "%s: Peripheral %d is already reserved as GPIO!\n",
124 __FUNCTION__, per);
125 dump_stack();
126 local_irq_restore(flags);
127 return -EBUSY;
128 }
129
130 if (unlikely(reserved_peri_map[gpio_bank(ident)] & gpio_bit(ident))) {
131
132 u16 funct = get_portmux(ident);
133
134 if (!((per & P_MAYSHARE) && (funct == P_FUNCT2MUX(per)))) {
135 printk(KERN_ERR
136 "%s: Peripheral %d is already reserved!\n",
137 __FUNCTION__, per);
138 dump_stack();
139 local_irq_restore(flags);
140 return -EBUSY;
141 }
142 }
143
144 reserved_peri_map[gpio_bank(ident)] |= gpio_bit(ident);
145
146 portmux_setup(ident, P_FUNCT2MUX(per));
147 port_setup(ident, PERIPHERAL_USAGE);
148
149 local_irq_restore(flags);
150
151 return 0;
152}
153EXPORT_SYMBOL(peripheral_request);
154
155int peripheral_request_list(unsigned short per[], const char *label)
156{
157
158 u16 cnt;
159 int ret;
160
161 for (cnt = 0; per[cnt] != 0; cnt++) {
162 ret = peripheral_request(per[cnt], label);
163 if (ret < 0)
164 return ret;
165 }
166
167 return 0;
168}
169EXPORT_SYMBOL(peripheral_request_list);
170
171void peripheral_free(unsigned short per)
172{
173 unsigned long flags;
174 unsigned short ident = P_IDENT(per);
175
176 if (!(per & P_DEFINED))
177 return;
178
179 if (check_gpio(ident) < 0)
180 return;
181
182 local_irq_save(flags);
183
184 if (unlikely(!(reserved_peri_map[gpio_bank(ident)] & gpio_bit(ident)))) {
185 printk(KERN_ERR "bfin-gpio: Peripheral %d wasn't reserved!\n", per);
186 dump_stack();
187 local_irq_restore(flags);
188 return;
189 }
190
191 if (!(per & P_MAYSHARE)) {
192 port_setup(ident, GPIO_USAGE);
193 }
194
195 reserved_peri_map[gpio_bank(ident)] &= ~gpio_bit(ident);
196
197 local_irq_restore(flags);
198}
199EXPORT_SYMBOL(peripheral_free);
200
201void peripheral_free_list(unsigned short per[])
202{
203 u16 cnt;
204
205 for (cnt = 0; per[cnt] != 0; cnt++) {
206 peripheral_free(per[cnt]);
207 }
208
209}
210EXPORT_SYMBOL(peripheral_free_list);
211
212/***********************************************************
213*
214* FUNCTIONS: Blackfin GPIO Driver
215*
216* INPUTS/OUTPUTS:
217* gpio - GPIO Number between 0 and MAX_BLACKFIN_GPIOS
218*
219*
220* DESCRIPTION: Blackfin GPIO Driver API
221*
222* CAUTION:
223*************************************************************
224* MODIFICATION HISTORY :
225**************************************************************/
226
227int gpio_request(unsigned short gpio, const char *label)
228{
229 unsigned long flags;
230
231 if (check_gpio(gpio) < 0)
232 return -EINVAL;
233
234 local_irq_save(flags);
235
236 if (unlikely(reserved_gpio_map[gpio_bank(gpio)] & gpio_bit(gpio))) {
237 printk(KERN_ERR "bfin-gpio: GPIO %d is already reserved!\n", gpio);
238 dump_stack();
239 local_irq_restore(flags);
240 return -EBUSY;
241 }
242
243 if (unlikely(reserved_peri_map[gpio_bank(gpio)] & gpio_bit(gpio))) {
244 printk(KERN_ERR
245 "bfin-gpio: GPIO %d is already reserved as Peripheral!\n", gpio);
246 dump_stack();
247 local_irq_restore(flags);
248 return -EBUSY;
249 }
250
251 reserved_gpio_map[gpio_bank(gpio)] |= gpio_bit(gpio);
252
253 local_irq_restore(flags);
254
255 port_setup(gpio, GPIO_USAGE);
256
257 return 0;
258}
259EXPORT_SYMBOL(gpio_request);
260
261void gpio_free(unsigned short gpio)
262{
263 unsigned long flags;
264
265 if (check_gpio(gpio) < 0)
266 return;
267
268 local_irq_save(flags);
269
270 if (unlikely(!(reserved_gpio_map[gpio_bank(gpio)] & gpio_bit(gpio)))) {
271 printk(KERN_ERR "bfin-gpio: GPIO %d wasn't reserved!\n", gpio);
272 dump_stack();
273 local_irq_restore(flags);
274 return;
275 }
276
277 reserved_gpio_map[gpio_bank(gpio)] &= ~gpio_bit(gpio);
278
279 local_irq_restore(flags);
280}
281EXPORT_SYMBOL(gpio_free);
282
283void gpio_direction_input(unsigned short gpio)
284{
285 unsigned long flags;
286
287 BUG_ON(!(reserved_gpio_map[gpio_bank(gpio)] & gpio_bit(gpio)));
288
289 local_irq_save(flags);
290 gpio_array[gpio_bank(gpio)]->port_dir_clear = gpio_bit(gpio);
291 gpio_array[gpio_bank(gpio)]->port_inen |= gpio_bit(gpio);
292 local_irq_restore(flags);
293}
294EXPORT_SYMBOL(gpio_direction_input);
295
296void gpio_direction_output(unsigned short gpio)
297{
298 unsigned long flags;
299
300 BUG_ON(!(reserved_gpio_map[gpio_bank(gpio)] & gpio_bit(gpio)));
301
302 local_irq_save(flags);
303 gpio_array[gpio_bank(gpio)]->port_inen &= ~gpio_bit(gpio);
304 gpio_array[gpio_bank(gpio)]->port_dir_set = gpio_bit(gpio);
305 local_irq_restore(flags);
306}
307EXPORT_SYMBOL(gpio_direction_output);
308
309void gpio_set_value(unsigned short gpio, unsigned short arg)
310{
311 if (arg)
312 gpio_array[gpio_bank(gpio)]->port_set = gpio_bit(gpio);
313 else
314 gpio_array[gpio_bank(gpio)]->port_clear = gpio_bit(gpio);
315
316}
317EXPORT_SYMBOL(gpio_set_value);
318
319unsigned short gpio_get_value(unsigned short gpio)
320{
321 return (1 & (gpio_array[gpio_bank(gpio)]->port_data >> gpio_sub_n(gpio)));
322}
323EXPORT_SYMBOL(gpio_get_value);
diff --git a/arch/blackfin/mach-bf548/head.S b/arch/blackfin/mach-bf548/head.S
new file mode 100644
index 000000000000..06751ae8b857
--- /dev/null
+++ b/arch/blackfin/mach-bf548/head.S
@@ -0,0 +1,512 @@
1/*
2 * File: arch/blackfin/mach-bf548/head.S
3 * Based on: arch/blackfin/mach-bf537/head.S
4 * Author: Jeff Dionne <jeff@uclinux.org> COPYRIGHT 1998 D. Jeff Dionne
5 *
6 * Created: 1998
7 * Description: Startup code for Blackfin BF548
8 *
9 * Modified:
10 * Copyright 2004-2007 Analog Devices Inc.
11 *
12 * Bugs: Enter bugs at http://blackfin.uclinux.org/
13 *
14 * This program is free software; you can redistribute it and/or modify
15 * it under the terms of the GNU General Public License as published by
16 * the Free Software Foundation; either version 2 of the License, or
17 * (at your option) any later version.
18 *
19 * This program is distributed in the hope that it will be useful,
20 * but WITHOUT ANY WARRANTY; without even the implied warranty of
21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 * GNU General Public License for more details.
23 *
24 * You should have received a copy of the GNU General Public License
25 * along with this program; if not, see the file COPYING, or write
26 * to the Free Software Foundation, Inc.,
27 * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
28 */
29
30#include <linux/linkage.h>
31#include <asm/blackfin.h>
32#include <asm/trace.h>
33#if CONFIG_BFIN_KERNEL_CLOCK
34#include <asm/mach/mem_init.h>
35#endif
36
37.global __rambase
38.global __ramstart
39.global __ramend
40.extern ___bss_stop
41.extern ___bss_start
42.extern _bf53x_relocate_l1_mem
43
44#define INITIAL_STACK 0xFFB01000
45
46.text
47
48ENTRY(__start)
49ENTRY(__stext)
50 /* R0: argument of command line string, passed from uboot, save it */
51 R7 = R0;
52 /* Set the SYSCFG register */
53 R0 = 0x36;
54 SYSCFG = R0; /*Enable Cycle Counter and Nesting Of Interrupts(3rd Bit)*/
55 R0 = 0;
56
57 /* Clear Out All the data and pointer Registers*/
58 R1 = R0;
59 R2 = R0;
60 R3 = R0;
61 R4 = R0;
62 R5 = R0;
63 R6 = R0;
64
65 P0 = R0;
66 P1 = R0;
67 P2 = R0;
68 P3 = R0;
69 P4 = R0;
70 P5 = R0;
71
72 LC0 = r0;
73 LC1 = r0;
74 L0 = r0;
75 L1 = r0;
76 L2 = r0;
77 L3 = r0;
78
79 /* Clear Out All the DAG Registers*/
80 B0 = r0;
81 B1 = r0;
82 B2 = r0;
83 B3 = r0;
84
85 I0 = r0;
86 I1 = r0;
87 I2 = r0;
88 I3 = r0;
89
90 M0 = r0;
91 M1 = r0;
92 M2 = r0;
93 M3 = r0;
94
95 trace_buffer_start(p0,r0);
96 P0 = R1;
97 R0 = R1;
98
99 /* Turn off the icache */
100 p0.l = (IMEM_CONTROL & 0xFFFF);
101 p0.h = (IMEM_CONTROL >> 16);
102 R1 = [p0];
103 R0 = ~ENICPLB;
104 R0 = R0 & R1;
105 [p0] = R0;
106 SSYNC;
107
108 /* Turn off the dcache */
109 p0.l = (DMEM_CONTROL & 0xFFFF);
110 p0.h = (DMEM_CONTROL >> 16);
111 R1 = [p0];
112 R0 = ~ENDCPLB;
113 R0 = R0 & R1;
114 [p0] = R0;
115 SSYNC;
116
117 /* Initialize stack pointer */
118 SP.L = LO(INITIAL_STACK);
119 SP.H = HI(INITIAL_STACK);
120 FP = SP;
121 USP = SP;
122
123 /* Put The Code for PLL Programming and SDRAM Programming in L1 ISRAM */
124 call _bf53x_relocate_l1_mem;
125#if CONFIG_BFIN_KERNEL_CLOCK
126 call _start_dma_code;
127#endif
128 /* Code for initializing Async memory banks */
129
130 p2.h = hi(EBIU_AMBCTL1);
131 p2.l = lo(EBIU_AMBCTL1);
132 r0.h = hi(AMBCTL1VAL);
133 r0.l = lo(AMBCTL1VAL);
134 [p2] = r0;
135 ssync;
136
137 p2.h = hi(EBIU_AMBCTL0);
138 p2.l = lo(EBIU_AMBCTL0);
139 r0.h = hi(AMBCTL0VAL);
140 r0.l = lo(AMBCTL0VAL);
141 [p2] = r0;
142 ssync;
143
144 p2.h = hi(EBIU_AMGCTL);
145 p2.l = lo(EBIU_AMGCTL);
146 r0 = AMGCTLVAL;
147 w[p2] = r0;
148 ssync;
149
150 /* This section keeps the processor in supervisor mode
151 * during kernel boot. Switches to user mode at end of boot.
152 * See page 3-9 of Hardware Reference manual for documentation.
153 */
154
155 /* EVT15 = _real_start */
156
157 p0.l = lo(EVT15);
158 p0.h = hi(EVT15);
159 p1.l = _real_start;
160 p1.h = _real_start;
161 [p0] = p1;
162 csync;
163
164 p0.l = lo(IMASK);
165 p0.h = hi(IMASK);
166 p1.l = IMASK_IVG15;
167 p1.h = 0x0;
168 [p0] = p1;
169 csync;
170
171 raise 15;
172 p0.l = .LWAIT_HERE;
173 p0.h = .LWAIT_HERE;
174 reti = p0;
175#if defined (ANOMALY_05000281)
176 nop;
177 nop;
178 nop;
179#endif
180 rti;
181
182.LWAIT_HERE:
183 jump .LWAIT_HERE;
184
185ENTRY(_real_start)
186 [ -- sp ] = reti;
187 p0.l = lo(WDOG_CTL);
188 p0.h = hi(WDOG_CTL);
189 r0 = 0xAD6(z);
190 w[p0] = r0; /* watchdog off for now */
191 ssync;
192
193 /* Code update for BSS size == 0
194 * Zero out the bss region.
195 */
196
197 p1.l = ___bss_start;
198 p1.h = ___bss_start;
199 p2.l = ___bss_stop;
200 p2.h = ___bss_stop;
201 r0 = 0;
202 p2 -= p1;
203 lsetup (.L_clear_bss, .L_clear_bss ) lc0 = p2;
204.L_clear_bss:
205 B[p1++] = r0;
206
207 /* In case there is a NULL pointer reference
208 * Zero out region before stext
209 */
210
211 p1.l = 0x0;
212 p1.h = 0x0;
213 r0.l = __stext;
214 r0.h = __stext;
215 r0 = r0 >> 1;
216 p2 = r0;
217 r0 = 0;
218 lsetup (.L_clear_zero, .L_clear_zero ) lc0 = p2;
219.L_clear_zero:
220 W[p1++] = r0;
221
222 /* pass the uboot arguments to the global value command line */
223 R0 = R7;
224 call _cmdline_init;
225
226 p1.l = __rambase;
227 p1.h = __rambase;
228 r0.l = __sdata;
229 r0.h = __sdata;
230 [p1] = r0;
231
232 p1.l = __ramstart;
233 p1.h = __ramstart;
234 p3.l = ___bss_stop;
235 p3.h = ___bss_stop;
236
237 r1 = p3;
238 [p1] = r1;
239
240
241 /*
242 * load the current thread pointer and stack
243 */
244 r1.l = _init_thread_union;
245 r1.h = _init_thread_union;
246
247 r2.l = 0x2000;
248 r2.h = 0x0000;
249 r1 = r1 + r2;
250 sp = r1;
251 usp = sp;
252 fp = sp;
253 call _start_kernel;
254.L_exit:
255 jump.s .L_exit;
256
257.section .l1.text
258#if CONFIG_BFIN_KERNEL_CLOCK
259ENTRY(_start_dma_code)
260
261 /* Enable PHY CLK buffer output */
262 p0.h = hi(VR_CTL);
263 p0.l = lo(VR_CTL);
264 r0.l = w[p0];
265 bitset(r0, 14);
266 w[p0] = r0.l;
267 ssync;
268
269 p0.h = hi(SIC_IWR);
270 p0.l = lo(SIC_IWR);
271 r0.l = 0x1;
272 r0.h = 0x0;
273 [p0] = r0;
274 SSYNC;
275
276 /*
277 * Set PLL_CTL
278 * - [14:09] = MSEL[5:0] : CLKIN / VCO multiplication factors
279 * - [8] = BYPASS : BYPASS the PLL, run CLKIN into CCLK/SCLK
280 * - [7] = output delay (add 200ps of delay to mem signals)
281 * - [6] = input delay (add 200ps of input delay to mem signals)
282 * - [5] = PDWN : 1=All Clocks off
283 * - [3] = STOPCK : 1=Core Clock off
284 * - [1] = PLL_OFF : 1=Disable Power to PLL
285 * - [0] = DF : 1=Pass CLKIN/2 to PLL / 0=Pass CLKIN to PLL
286 * all other bits set to zero
287 */
288
289 p0.h = hi(PLL_LOCKCNT);
290 p0.l = lo(PLL_LOCKCNT);
291 r0 = 0x300(Z);
292 w[p0] = r0.l;
293 ssync;
294
295 P2.H = hi(EBIU_SDGCTL);
296 P2.L = lo(EBIU_SDGCTL);
297 R0 = [P2];
298 BITSET (R0, 24);
299 [P2] = R0;
300 SSYNC;
301
302 r0 = CONFIG_VCO_MULT & 63; /* Load the VCO multiplier */
303 r0 = r0 << 9; /* Shift it over, */
304 r1 = CLKIN_HALF; /* Do we need to divide CLKIN by 2?*/
305 r0 = r1 | r0;
306 r1 = PLL_BYPASS; /* Bypass the PLL? */
307 r1 = r1 << 8; /* Shift it over */
308 r0 = r1 | r0; /* add them all together */
309
310 p0.h = hi(PLL_CTL);
311 p0.l = lo(PLL_CTL); /* Load the address */
312 cli r2; /* Disable interrupts */
313 ssync;
314 w[p0] = r0.l; /* Set the value */
315 idle; /* Wait for the PLL to stablize */
316 sti r2; /* Enable interrupts */
317
318.Lcheck_again:
319 p0.h = hi(PLL_STAT);
320 p0.l = lo(PLL_STAT);
321 R0 = W[P0](Z);
322 CC = BITTST(R0,5);
323 if ! CC jump .Lcheck_again;
324
325 /* Configure SCLK & CCLK Dividers */
326 r0 = (CONFIG_CCLK_ACT_DIV | CONFIG_SCLK_DIV);
327 p0.h = hi(PLL_DIV);
328 p0.l = lo(PLL_DIV);
329 w[p0] = r0.l;
330 ssync;
331
332 p0.l = lo(EBIU_SDRRC);
333 p0.h = hi(EBIU_SDRRC);
334 r0 = mem_SDRRC;
335 w[p0] = r0.l;
336 ssync;
337
338 p0.l = (EBIU_SDBCTL & 0xFFFF);
339 p0.h = (EBIU_SDBCTL >> 16); /* SDRAM Memory Bank Control Register */
340 r0 = mem_SDBCTL;
341 w[p0] = r0.l;
342 ssync;
343
344 P2.H = hi(EBIU_SDGCTL);
345 P2.L = lo(EBIU_SDGCTL);
346 R0 = [P2];
347 BITCLR (R0, 24);
348 p0.h = hi(EBIU_SDSTAT);
349 p0.l = lo(EBIU_SDSTAT);
350 r2.l = w[p0];
351 cc = bittst(r2,3);
352 if !cc jump .Lskip;
353 NOP;
354 BITSET (R0, 23);
355.Lskip:
356 [P2] = R0;
357 SSYNC;
358
359 R0.L = lo(mem_SDGCTL);
360 R0.H = hi(mem_SDGCTL);
361 R1 = [p2];
362 R1 = R1 | R0;
363 [P2] = R1;
364 SSYNC;
365
366 p0.h = hi(SIC_IWR);
367 p0.l = lo(SIC_IWR);
368 r0.l = lo(IWR_ENABLE_ALL);
369 r0.h = hi(IWR_ENABLE_ALL);
370 [p0] = r0;
371 SSYNC;
372
373 RTS;
374#endif /* CONFIG_BFIN_KERNEL_CLOCK */
375
376ENTRY(_bfin_reset)
377 /* No more interrupts to be handled*/
378 CLI R6;
379 SSYNC;
380
381#if defined(CONFIG_MTD_M25P80)
382/*
383 * The following code fix the SPI flash reboot issue,
384 * /CS signal of the chip which is using PF10 return to GPIO mode
385 */
386 p0.h = hi(PORTF_FER);
387 p0.l = lo(PORTF_FER);
388 r0.l = 0x0000;
389 w[p0] = r0.l;
390 SSYNC;
391
392/* /CS return to high */
393 p0.h = hi(PORTFIO);
394 p0.l = lo(PORTFIO);
395 r0.l = 0xFFFF;
396 w[p0] = r0.l;
397 SSYNC;
398
399/* Delay some time, This is necessary */
400 r1.h = 0;
401 r1.l = 0x400;
402 p1 = r1;
403 lsetup (_delay_lab1,_delay_lab1_end ) lc1 = p1;
404_delay_lab1:
405 r0.h = 0;
406 r0.l = 0x8000;
407 p0 = r0;
408 lsetup (_delay_lab0,_delay_lab0_end ) lc0 = p0;
409_delay_lab0:
410 nop;
411_delay_lab0_end:
412 nop;
413_delay_lab1_end:
414 nop;
415#endif
416
417 /* Clear the bits 13-15 in SWRST if they werent cleared */
418 p0.h = hi(SWRST);
419 p0.l = lo(SWRST);
420 csync;
421 r0.l = w[p0];
422
423 /* Clear the IMASK register */
424 p0.h = hi(IMASK);
425 p0.l = lo(IMASK);
426 r0 = 0x0;
427 [p0] = r0;
428
429 /* Clear the ILAT register */
430 p0.h = hi(ILAT);
431 p0.l = lo(ILAT);
432 r0 = [p0];
433 [p0] = r0;
434 SSYNC;
435
436 /* Disable the WDOG TIMER */
437 p0.h = hi(WDOG_CTL);
438 p0.l = lo(WDOG_CTL);
439 r0.l = 0xAD6;
440 w[p0] = r0.l;
441 SSYNC;
442
443 /* Clear the sticky bit incase it is already set */
444 p0.h = hi(WDOG_CTL);
445 p0.l = lo(WDOG_CTL);
446 r0.l = 0x8AD6;
447 w[p0] = r0.l;
448 SSYNC;
449
450 /* Program the count value */
451 R0.l = 0x100;
452 R0.h = 0x0;
453 P0.h = hi(WDOG_CNT);
454 P0.l = lo(WDOG_CNT);
455 [P0] = R0;
456 SSYNC;
457
458 /* Program WDOG_STAT if necessary */
459 P0.h = hi(WDOG_CTL);
460 P0.l = lo(WDOG_CTL);
461 R0 = W[P0](Z);
462 CC = BITTST(R0,1);
463 if !CC JUMP .LWRITESTAT;
464 CC = BITTST(R0,2);
465 if !CC JUMP .LWRITESTAT;
466 JUMP .LSKIP_WRITE;
467
468.LWRITESTAT:
469 /* When watch dog timer is enabled,
470 * a write to STAT will load the contents of CNT to STAT
471 */
472 R0 = 0x0000(z);
473 P0.h = hi(WDOG_STAT);
474 P0.l = lo(WDOG_STAT)
475 [P0] = R0;
476 SSYNC;
477
478.LSKIP_WRITE:
479 /* Enable the reset event */
480 P0.h = hi(WDOG_CTL);
481 P0.l = lo(WDOG_CTL);
482 R0 = W[P0](Z);
483 BITCLR(R0,1);
484 BITCLR(R0,2);
485 W[P0] = R0.L;
486 SSYNC;
487 NOP;
488
489 /* Enable the wdog counter */
490 R0 = W[P0](Z);
491 BITCLR(R0,4);
492 W[P0] = R0.L;
493 SSYNC;
494
495 IDLE;
496
497 RTS;
498
499.data
500
501/*
502 * Set up the usable of RAM stuff. Size of RAM is determined then
503 * an initial stack set up at the end.
504 */
505
506.align 4
507__rambase:
508.long 0
509__ramstart:
510.long 0
511__ramend:
512.long 0
diff --git a/arch/blackfin/mach-bf548/ints-priority.c b/arch/blackfin/mach-bf548/ints-priority.c
new file mode 100644
index 000000000000..cb0ebac53c79
--- /dev/null
+++ b/arch/blackfin/mach-bf548/ints-priority.c
@@ -0,0 +1,137 @@
1/*
2 * File: arch/blackfin/mach-bf537/ints-priority.c
3 * Based on: arch/blackfin/mach-bf533/ints-priority.c
4 * Author: Michael Hennerich
5 *
6 * Created:
7 * Description: Set up the interupt priorities
8 *
9 * Modified:
10 * Copyright 2004-2006 Analog Devices Inc.
11 *
12 * Bugs: Enter bugs at http://blackfin.uclinux.org/
13 *
14 * This program is free software; you can redistribute it and/or modify
15 * it under the terms of the GNU General Public License as published by
16 * the Free Software Foundation; either version 2 of the License, or
17 * (at your option) any later version.
18 *
19 * This program is distributed in the hope that it will be useful,
20 * but WITHOUT ANY WARRANTY; without even the implied warranty of
21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 * GNU General Public License for more details.
23 *
24 * You should have received a copy of the GNU General Public License
25 * along with this program; if not, see the file COPYING, or write
26 * to the Free Software Foundation, Inc.,
27 * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
28 */
29
30#include <linux/module.h>
31#include <linux/irq.h>
32#include <asm/blackfin.h>
33
34void program_IAR(void)
35{
36 /* Program the IAR0 Register with the configured priority */
37 bfin_write_SIC_IAR0(((CONFIG_IRQ_PLL_WAKEUP - 7) << IRQ_PLL_WAKEUP_POS) |
38 ((CONFIG_IRQ_DMAC0_ERR - 7) << IRQ_DMAC0_ERR_POS) |
39 ((CONFIG_IRQ_EPPI0_ERR - 7) << IRQ_EPPI0_ERR_POS) |
40 ((CONFIG_IRQ_SPORT0_ERR - 7) << IRQ_SPORT0_ERR_POS) |
41 ((CONFIG_IRQ_SPORT1_ERR - 7) << IRQ_SPORT1_ERR_POS) |
42 ((CONFIG_IRQ_SPI0_ERR - 7) << IRQ_SPI0_ERR_POS) |
43 ((CONFIG_IRQ_UART0_ERR - 7) << IRQ_UART0_ERR_POS) |
44 ((CONFIG_IRQ_RTC - 7) << IRQ_RTC_POS));
45
46 bfin_write_SIC_IAR1(((CONFIG_IRQ_EPPI0 - 7) << IRQ_EPPI0_POS) |
47 ((CONFIG_IRQ_SPORT0_RX - 7) << IRQ_SPORT0_RX_POS) |
48 ((CONFIG_IRQ_SPORT0_TX - 7) << IRQ_SPORT0_TX_POS) |
49 ((CONFIG_IRQ_SPORT1_RX - 7) << IRQ_SPORT1_RX_POS) |
50 ((CONFIG_IRQ_SPORT1_TX - 7) << IRQ_SPORT1_TX_POS) |
51 ((CONFIG_IRQ_SPI0 - 7) << IRQ_SPI0_POS) |
52 ((CONFIG_IRQ_UART0_RX - 7) << IRQ_UART0_RX_POS) |
53 ((CONFIG_IRQ_UART0_TX - 7) << IRQ_UART0_TX_POS));
54
55 bfin_write_SIC_IAR2(((CONFIG_IRQ_TIMER8 - 7) << IRQ_TIMER8_POS) |
56 ((CONFIG_IRQ_TIMER9 - 7) << IRQ_TIMER9_POS) |
57 ((CONFIG_IRQ_PINT0 - 7) << IRQ_PINT0_POS) |
58 ((CONFIG_IRQ_PINT1 - 7) << IRQ_PINT1_POS) |
59 ((CONFIG_IRQ_MDMAS0 - 7) << IRQ_MDMAS0_POS) |
60 ((CONFIG_IRQ_MDMAS1 - 7) << IRQ_MDMAS1_POS) |
61 ((CONFIG_IRQ_WATCHDOG - 7) << IRQ_WATCHDOG_POS));
62
63 bfin_write_SIC_IAR3(((CONFIG_IRQ_DMAC1_ERR - 7) << IRQ_DMAC1_ERR_POS) |
64 ((CONFIG_IRQ_SPORT2_ERR - 7) << IRQ_SPORT2_ERR_POS) |
65 ((CONFIG_IRQ_SPORT3_ERR - 7) << IRQ_SPORT3_ERR_POS) |
66 ((CONFIG_IRQ_MXVR_DATA - 7) << IRQ_MXVR_DATA_POS) |
67 ((CONFIG_IRQ_SPI1_ERR - 7) << IRQ_SPI1_ERR_POS) |
68 ((CONFIG_IRQ_SPI2_ERR - 7) << IRQ_SPI2_ERR_POS) |
69 ((CONFIG_IRQ_UART1_ERR - 7) << IRQ_UART1_ERR_POS) |
70 ((CONFIG_IRQ_UART2_ERR - 7) << IRQ_UART2_ERR_POS));
71
72 bfin_write_SIC_IAR4(((CONFIG_IRQ_CAN0_ERR - 7) << IRQ_CAN0_ERR_POS) |
73 ((CONFIG_IRQ_SPORT2_RX - 7) << IRQ_SPORT2_RX_POS) |
74 ((CONFIG_IRQ_SPORT2_TX - 7) << IRQ_SPORT2_TX_POS) |
75 ((CONFIG_IRQ_SPORT3_RX - 7) << IRQ_SPORT3_RX_POS) |
76 ((CONFIG_IRQ_SPORT3_TX - 7) << IRQ_SPORT3_TX_POS) |
77 ((CONFIG_IRQ_EPPI1 - 7) << IRQ_EPPI1_POS) |
78 ((CONFIG_IRQ_EPPI2 - 7) << IRQ_EPPI2_POS) |
79 ((CONFIG_IRQ_SPI1 - 7) << IRQ_SPI1_POS));
80
81 bfin_write_SIC_IAR5(((CONFIG_IRQ_SPI2 - 7) << IRQ_SPI2_POS) |
82 ((CONFIG_IRQ_UART1_RX - 7) << IRQ_UART1_RX_POS) |
83 ((CONFIG_IRQ_UART1_TX - 7) << IRQ_UART1_TX_POS) |
84 ((CONFIG_IRQ_ATAPI_RX - 7) << IRQ_ATAPI_RX_POS) |
85 ((CONFIG_IRQ_ATAPI_TX - 7) << IRQ_ATAPI_TX_POS) |
86 ((CONFIG_IRQ_TWI0 - 7) << IRQ_TWI0_POS) |
87 ((CONFIG_IRQ_TWI1 - 7) << IRQ_TWI1_POS) |
88 ((CONFIG_IRQ_CAN0_RX - 7) << IRQ_CAN0_RX_POS));
89
90 bfin_write_SIC_IAR6(((CONFIG_IRQ_CAN0_TX - 7) << IRQ_CAN0_TX_POS) |
91 ((CONFIG_IRQ_MDMAS2 - 7) << IRQ_MDMAS2_POS) |
92 ((CONFIG_IRQ_MDMAS3 - 7) << IRQ_MDMAS3_POS) |
93 ((CONFIG_IRQ_MXVR_ERR - 7) << IRQ_MXVR_ERR_POS) |
94 ((CONFIG_IRQ_MXVR_MSG - 7) << IRQ_MXVR_MSG_POS) |
95 ((CONFIG_IRQ_MXVR_PKT - 7) << IRQ_MXVR_PKT_POS) |
96 ((CONFIG_IRQ_EPPI1_ERR - 7) << IRQ_EPPI1_ERR_POS) |
97 ((CONFIG_IRQ_EPPI2_ERR - 7) << IRQ_EPPI2_ERR_POS));
98
99 bfin_write_SIC_IAR7(((CONFIG_IRQ_UART3_ERR - 7) << IRQ_UART3_ERR_POS) |
100 ((CONFIG_IRQ_HOST_ERR - 7) << IRQ_HOST_ERR_POS) |
101 ((CONFIG_IRQ_PIXC_ERR - 7) << IRQ_PIXC_ERR_POS) |
102 ((CONFIG_IRQ_NFC_ERR - 7) << IRQ_NFC_ERR_POS) |
103 ((CONFIG_IRQ_ATAPI_ERR - 7) << IRQ_ATAPI_ERR_POS) |
104 ((CONFIG_IRQ_CAN1_ERR - 7) << IRQ_CAN1_ERR_POS) |
105 ((CONFIG_IRQ_HS_DMA_ERR - 7) << IRQ_HS_DMA_ERR_POS));
106
107 bfin_write_SIC_IAR8(((CONFIG_IRQ_PIXC_IN0 - 7) << IRQ_PIXC_IN1_POS) |
108 ((CONFIG_IRQ_PIXC_IN1 - 7) << IRQ_PIXC_IN1_POS) |
109 ((CONFIG_IRQ_PIXC_OUT - 7) << IRQ_PIXC_OUT_POS) |
110 ((CONFIG_IRQ_SDH - 7) << IRQ_SDH_POS) |
111 ((CONFIG_IRQ_CNT - 7) << IRQ_CNT_POS) |
112 ((CONFIG_IRQ_KEY - 7) << IRQ_KEY_POS) |
113 ((CONFIG_IRQ_CAN1_RX - 7) << IRQ_CAN1_RX_POS) |
114 ((CONFIG_IRQ_CAN1_TX - 7) << IRQ_CAN1_TX_POS));
115
116 bfin_write_SIC_IAR9(((CONFIG_IRQ_SDH_MASK0 - 7) << IRQ_SDH_MASK0_POS) |
117 ((CONFIG_IRQ_SDH_MASK1 - 7) << IRQ_SDH_MASK1_POS) |
118 ((CONFIG_IRQ_USB_INT0 - 7) << IRQ_USB_INT0_POS) |
119 ((CONFIG_IRQ_USB_INT1 - 7) << IRQ_USB_INT1_POS) |
120 ((CONFIG_IRQ_USB_INT2 - 7) << IRQ_USB_INT2_POS) |
121 ((CONFIG_IRQ_USB_DMA - 7) << IRQ_USB_DMA_POS) |
122 ((CONFIG_IRQ_OTPSEC - 7) << IRQ_OTPSEC_POS));
123
124 bfin_write_SIC_IAR10(((CONFIG_IRQ_TIMER0 - 7) << IRQ_TIMER0_POS) |
125 ((CONFIG_IRQ_TIMER1 - 7) << IRQ_TIMER1_POS));
126
127 bfin_write_SIC_IAR11(((CONFIG_IRQ_TIMER2 - 7) << IRQ_TIMER2_POS) |
128 ((CONFIG_IRQ_TIMER3 - 7) << IRQ_TIMER3_POS) |
129 ((CONFIG_IRQ_TIMER4 - 7) << IRQ_TIMER4_POS) |
130 ((CONFIG_IRQ_TIMER5 - 7) << IRQ_TIMER5_POS) |
131 ((CONFIG_IRQ_TIMER6 - 7) << IRQ_TIMER6_POS) |
132 ((CONFIG_IRQ_TIMER7 - 7) << IRQ_TIMER7_POS) |
133 ((CONFIG_IRQ_PINT2 - 7) << IRQ_PINT2_POS) |
134 ((CONFIG_IRQ_PINT3 - 7) << IRQ_PINT3_POS));
135
136 SSYNC();
137}
diff --git a/arch/blackfin/mach-bf561/Makefile b/arch/blackfin/mach-bf561/Makefile
index 57f475a55161..f39235a55783 100644
--- a/arch/blackfin/mach-bf561/Makefile
+++ b/arch/blackfin/mach-bf561/Makefile
@@ -4,6 +4,6 @@
4 4
5extra-y := head.o 5extra-y := head.o
6 6
7obj-y := ints-priority.o 7obj-y := ints-priority.o dma.o
8 8
9obj-$(CONFIG_BF561_COREB) += coreb.o 9obj-$(CONFIG_BF561_COREB) += coreb.o
diff --git a/arch/blackfin/mach-bf561/boards/cm_bf561.c b/arch/blackfin/mach-bf561/boards/cm_bf561.c
index 3dc5c042048c..5b2b544529a1 100644
--- a/arch/blackfin/mach-bf561/boards/cm_bf561.c
+++ b/arch/blackfin/mach-bf561/boards/cm_bf561.c
@@ -34,7 +34,7 @@
34#include <linux/spi/spi.h> 34#include <linux/spi/spi.h>
35#include <linux/spi/flash.h> 35#include <linux/spi/flash.h>
36#include <linux/usb_isp1362.h> 36#include <linux/usb_isp1362.h>
37#include <asm/irq.h> 37#include <linux/irq.h>
38#include <asm/bfin5xx_spi.h> 38#include <asm/bfin5xx_spi.h>
39 39
40/* 40/*
@@ -52,11 +52,11 @@ static struct mtd_partition bfin_spi_flash_partitions[] = {
52 .size = 0x00020000, 52 .size = 0x00020000,
53 .offset = 0, 53 .offset = 0,
54 .mask_flags = MTD_CAP_ROM 54 .mask_flags = MTD_CAP_ROM
55 },{ 55 }, {
56 .name = "kernel", 56 .name = "kernel",
57 .size = 0xe0000, 57 .size = 0xe0000,
58 .offset = 0x20000 58 .offset = 0x20000
59 },{ 59 }, {
60 .name = "file system", 60 .name = "file system",
61 .size = 0x700000, 61 .size = 0x700000,
62 .offset = 0x00100000, 62 .offset = 0x00100000,
@@ -186,7 +186,7 @@ static struct resource smc91x_resources[] = {
186 .start = 0x28000300, 186 .start = 0x28000300,
187 .end = 0x28000300 + 16, 187 .end = 0x28000300 + 16,
188 .flags = IORESOURCE_MEM, 188 .flags = IORESOURCE_MEM,
189 },{ 189 }, {
190 .start = IRQ_PF0, 190 .start = IRQ_PF0,
191 .end = IRQ_PF0, 191 .end = IRQ_PF0,
192 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL, 192 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL,
@@ -206,11 +206,11 @@ static struct resource isp1362_hcd_resources[] = {
206 .start = 0x24008000, 206 .start = 0x24008000,
207 .end = 0x24008000, 207 .end = 0x24008000,
208 .flags = IORESOURCE_MEM, 208 .flags = IORESOURCE_MEM,
209 },{ 209 }, {
210 .start = 0x24008004, 210 .start = 0x24008004,
211 .end = 0x24008004, 211 .end = 0x24008004,
212 .flags = IORESOURCE_MEM, 212 .flags = IORESOURCE_MEM,
213 },{ 213 }, {
214 .start = IRQ_PF47, 214 .start = IRQ_PF47,
215 .end = IRQ_PF47, 215 .end = IRQ_PF47,
216 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL, 216 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL,
@@ -241,25 +241,25 @@ static struct platform_device isp1362_hcd_device = {
241 241
242#if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) 242#if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE)
243static struct resource bfin_uart_resources[] = { 243static struct resource bfin_uart_resources[] = {
244 { 244 {
245 .start = 0xFFC00400, 245 .start = 0xFFC00400,
246 .end = 0xFFC004FF, 246 .end = 0xFFC004FF,
247 .flags = IORESOURCE_MEM, 247 .flags = IORESOURCE_MEM,
248 }, 248 },
249}; 249};
250 250
251static struct platform_device bfin_uart_device = { 251static struct platform_device bfin_uart_device = {
252 .name = "bfin-uart", 252 .name = "bfin-uart",
253 .id = 1, 253 .id = 1,
254 .num_resources = ARRAY_SIZE(bfin_uart_resources), 254 .num_resources = ARRAY_SIZE(bfin_uart_resources),
255 .resource = bfin_uart_resources, 255 .resource = bfin_uart_resources,
256}; 256};
257#endif 257#endif
258 258
259static struct platform_device *cm_bf561_devices[] __initdata = { 259static struct platform_device *cm_bf561_devices[] __initdata = {
260 260
261#if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) 261#if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE)
262 &bfin_uart_device, 262 &bfin_uart_device,
263#endif 263#endif
264 264
265#if defined(CONFIG_USB_ISP1362_HCD) || defined(CONFIG_USB_ISP1362_HCD_MODULE) 265#if defined(CONFIG_USB_ISP1362_HCD) || defined(CONFIG_USB_ISP1362_HCD_MODULE)
diff --git a/arch/blackfin/mach-bf561/boards/ezkit.c b/arch/blackfin/mach-bf561/boards/ezkit.c
index 9720b5c307ab..724191da20a2 100644
--- a/arch/blackfin/mach-bf561/boards/ezkit.c
+++ b/arch/blackfin/mach-bf561/boards/ezkit.c
@@ -30,10 +30,9 @@
30#include <linux/device.h> 30#include <linux/device.h>
31#include <linux/platform_device.h> 31#include <linux/platform_device.h>
32#include <linux/spi/spi.h> 32#include <linux/spi/spi.h>
33#include <asm/irq.h>
34#include <asm/bfin5xx_spi.h>
35#include <linux/interrupt.h>
36#include <linux/irq.h> 33#include <linux/irq.h>
34#include <linux/interrupt.h>
35#include <asm/bfin5xx_spi.h>
37 36
38/* 37/*
39 * Name the Board for the /proc/cpuinfo 38 * Name the Board for the /proc/cpuinfo
@@ -45,13 +44,13 @@ char *bfin_board_name = "ADDS-BF561-EZKIT";
45 44
46#if defined(CONFIG_USB_ISP1760_HCD) || defined(CONFIG_USB_ISP1760_HCD_MODULE) 45#if defined(CONFIG_USB_ISP1760_HCD) || defined(CONFIG_USB_ISP1760_HCD_MODULE)
47static struct resource bfin_isp1761_resources[] = { 46static struct resource bfin_isp1761_resources[] = {
48 [0] = { 47 {
49 .name = "isp1761-regs", 48 .name = "isp1761-regs",
50 .start = ISP1761_BASE + 0x00000000, 49 .start = ISP1761_BASE + 0x00000000,
51 .end = ISP1761_BASE + 0x000fffff, 50 .end = ISP1761_BASE + 0x000fffff,
52 .flags = IORESOURCE_MEM, 51 .flags = IORESOURCE_MEM,
53 }, 52 },
54 [1] = { 53 {
55 .start = ISP1761_IRQ, 54 .start = ISP1761_IRQ,
56 .end = ISP1761_IRQ, 55 .end = ISP1761_IRQ,
57 .flags = IORESOURCE_IRQ, 56 .flags = IORESOURCE_IRQ,
@@ -71,7 +70,7 @@ static struct platform_device *bfin_isp1761_devices[] = {
71 70
72int __init bfin_isp1761_init(void) 71int __init bfin_isp1761_init(void)
73{ 72{
74 unsigned int num_devices=ARRAY_SIZE(bfin_isp1761_devices); 73 unsigned int num_devices = ARRAY_SIZE(bfin_isp1761_devices);
75 74
76 printk(KERN_INFO "%s(): registering device resources\n", __FUNCTION__); 75 printk(KERN_INFO "%s(): registering device resources\n", __FUNCTION__);
77 set_irq_type(ISP1761_IRQ, IRQF_TRIGGER_FALLING); 76 set_irq_type(ISP1761_IRQ, IRQF_TRIGGER_FALLING);
@@ -98,7 +97,7 @@ static struct resource smc91x_resources[] = {
98 .start = 0x2C010300, 97 .start = 0x2C010300,
99 .end = 0x2C010300 + 16, 98 .end = 0x2C010300 + 16,
100 .flags = IORESOURCE_MEM, 99 .flags = IORESOURCE_MEM,
101 },{ 100 }, {
102 101
103 .start = IRQ_PF9, 102 .start = IRQ_PF9,
104 .end = IRQ_PF9, 103 .end = IRQ_PF9,
@@ -116,18 +115,18 @@ static struct platform_device smc91x_device = {
116 115
117#if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) 116#if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE)
118static struct resource bfin_uart_resources[] = { 117static struct resource bfin_uart_resources[] = {
119 { 118 {
120 .start = 0xFFC00400, 119 .start = 0xFFC00400,
121 .end = 0xFFC004FF, 120 .end = 0xFFC004FF,
122 .flags = IORESOURCE_MEM, 121 .flags = IORESOURCE_MEM,
123 }, 122 },
124}; 123};
125 124
126static struct platform_device bfin_uart_device = { 125static struct platform_device bfin_uart_device = {
127 .name = "bfin-uart", 126 .name = "bfin-uart",
128 .id = 1, 127 .id = 1,
129 .num_resources = ARRAY_SIZE(bfin_uart_resources), 128 .num_resources = ARRAY_SIZE(bfin_uart_resources),
130 .resource = bfin_uart_resources, 129 .resource = bfin_uart_resources,
131}; 130};
132#endif 131#endif
133 132
@@ -176,7 +175,7 @@ static struct platform_device *ezkit_devices[] __initdata = {
176 &spi_bfin_master_device, 175 &spi_bfin_master_device,
177#endif 176#endif
178#if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) 177#if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE)
179 &bfin_uart_device, 178 &bfin_uart_device,
180#endif 179#endif
181}; 180};
182 181
diff --git a/arch/blackfin/mach-bf561/boards/generic_board.c b/arch/blackfin/mach-bf561/boards/generic_board.c
index 585ecdd2f6a5..4dfea5da674c 100644
--- a/arch/blackfin/mach-bf561/boards/generic_board.c
+++ b/arch/blackfin/mach-bf561/boards/generic_board.c
@@ -30,7 +30,7 @@
30 30
31#include <linux/device.h> 31#include <linux/device.h>
32#include <linux/platform_device.h> 32#include <linux/platform_device.h>
33#include <asm/irq.h> 33#include <linux/irq.h>
34 34
35char *bfin_board_name = "UNKNOWN BOARD"; 35char *bfin_board_name = "UNKNOWN BOARD";
36 36
@@ -43,11 +43,11 @@ static struct resource smc91x_resources[] = {
43 .start = 0x2C010300, 43 .start = 0x2C010300,
44 .end = 0x2C010300 + 16, 44 .end = 0x2C010300 + 16,
45 .flags = IORESOURCE_MEM, 45 .flags = IORESOURCE_MEM,
46 },{ 46 }, {
47 .start = IRQ_PROG_INTB, 47 .start = IRQ_PROG_INTB,
48 .end = IRQ_PROG_INTB, 48 .end = IRQ_PROG_INTB,
49 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL, 49 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL,
50 },{ 50 }, {
51 /* 51 /*
52 * denotes the flag pin and is used directly if 52 * denotes the flag pin and is used directly if
53 * CONFIG_IRQCHIP_DEMUX_GPIO is defined. 53 * CONFIG_IRQCHIP_DEMUX_GPIO is defined.
diff --git a/arch/blackfin/mach-bf561/boards/tepla.c b/arch/blackfin/mach-bf561/boards/tepla.c
index db308c7ccabb..c442eb23db5e 100644
--- a/arch/blackfin/mach-bf561/boards/tepla.c
+++ b/arch/blackfin/mach-bf561/boards/tepla.c
@@ -14,7 +14,7 @@
14 14
15#include <linux/device.h> 15#include <linux/device.h>
16#include <linux/platform_device.h> 16#include <linux/platform_device.h>
17#include <asm/irq.h> 17#include <linux/irq.h>
18 18
19char *bfin_board_name = "Tepla-BF561"; 19char *bfin_board_name = "Tepla-BF561";
20 20
@@ -26,11 +26,11 @@ static struct resource smc91x_resources[] = {
26 .start = 0x2C000300, 26 .start = 0x2C000300,
27 .end = 0x2C000320, 27 .end = 0x2C000320,
28 .flags = IORESOURCE_MEM, 28 .flags = IORESOURCE_MEM,
29 },{ 29 }, {
30 .start = IRQ_PROG_INTB, 30 .start = IRQ_PROG_INTB,
31 .end = IRQ_PROG_INTB, 31 .end = IRQ_PROG_INTB,
32 .flags = IORESOURCE_IRQ|IORESOURCE_IRQ_HIGHLEVEL, 32 .flags = IORESOURCE_IRQ|IORESOURCE_IRQ_HIGHLEVEL,
33 },{ 33 }, {
34 /* 34 /*
35 * denotes the flag pin and is used directly if 35 * denotes the flag pin and is used directly if
36 * CONFIG_IRQCHIP_DEMUX_GPIO is defined. 36 * CONFIG_IRQCHIP_DEMUX_GPIO is defined.
diff --git a/arch/blackfin/mach-bf561/coreb.c b/arch/blackfin/mach-bf561/coreb.c
index b28582fe083c..5d1d21b4c2a7 100644
--- a/arch/blackfin/mach-bf561/coreb.c
+++ b/arch/blackfin/mach-bf561/coreb.c
@@ -32,8 +32,8 @@
32#include <linux/device.h> 32#include <linux/device.h>
33#include <linux/ioport.h> 33#include <linux/ioport.h>
34#include <linux/module.h> 34#include <linux/module.h>
35#include <linux/uaccess.h>
35#include <asm/dma.h> 36#include <asm/dma.h>
36#include <asm/uaccess.h>
37 37
38#define MODULE_VER "v0.1" 38#define MODULE_VER "v0.1"
39 39
@@ -202,7 +202,7 @@ static int coreb_open(struct inode *inode, struct file *file)
202 spin_unlock_irq(&coreb_lock); 202 spin_unlock_irq(&coreb_lock);
203 return 0; 203 return 0;
204 204
205 out_busy: 205 out_busy:
206 spin_unlock_irq(&coreb_lock); 206 spin_unlock_irq(&coreb_lock);
207 return -EBUSY; 207 return -EBUSY;
208} 208}
@@ -365,19 +365,19 @@ int __init bf561_coreb_init(void)
365 printk(KERN_INFO "BF561 Core B driver %s initialized.\n", MODULE_VER); 365 printk(KERN_INFO "BF561 Core B driver %s initialized.\n", MODULE_VER);
366 return 0; 366 return 0;
367 367
368 release_dma_src: 368 release_dma_src:
369 free_dma(CH_MEM_STREAM2_SRC); 369 free_dma(CH_MEM_STREAM2_SRC);
370 release_dma_dest: 370 release_dma_dest:
371 free_dma(CH_MEM_STREAM2_DEST); 371 free_dma(CH_MEM_STREAM2_DEST);
372 release_data_a_sram: 372 release_data_a_sram:
373 release_mem_region(0xff400000, 0x8000); 373 release_mem_region(0xff400000, 0x8000);
374 release_data_b_sram: 374 release_data_b_sram:
375 release_mem_region(0xff500000, 0x8000); 375 release_mem_region(0xff500000, 0x8000);
376 release_instruction_b_sram: 376 release_instruction_b_sram:
377 release_mem_region(0xff610000, 0x4000); 377 release_mem_region(0xff610000, 0x4000);
378 release_instruction_a_sram: 378 release_instruction_a_sram:
379 release_mem_region(0xff600000, 0x4000); 379 release_mem_region(0xff600000, 0x4000);
380 exit: 380 exit:
381 return -ENOMEM; 381 return -ENOMEM;
382} 382}
383 383
diff --git a/arch/blackfin/mach-bf561/dma.c b/arch/blackfin/mach-bf561/dma.c
new file mode 100644
index 000000000000..89c65bb0bed3
--- /dev/null
+++ b/arch/blackfin/mach-bf561/dma.c
@@ -0,0 +1,131 @@
1/*
2 * File: arch/blackfin/mach-bf561/dma.c
3 * Based on:
4 * Author:
5 *
6 * Created:
7 * Description: This file contains the simple DMA Implementation for Blackfin
8 *
9 * Modified:
10 * Copyright 2004-2007 Analog Devices Inc.
11 *
12 * Bugs: Enter bugs at http://blackfin.uclinux.org/
13 *
14 * This program is free software; you can redistribute it and/or modify
15 * it under the terms of the GNU General Public License as published by
16 * the Free Software Foundation; either version 2 of the License, or
17 * (at your option) any later version.
18 *
19 * This program is distributed in the hope that it will be useful,
20 * but WITHOUT ANY WARRANTY; without even the implied warranty of
21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 * GNU General Public License for more details.
23 *
24 * You should have received a copy of the GNU General Public License
25 * along with this program; if not, see the file COPYING, or write
26 * to the Free Software Foundation, Inc.,
27 * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
28 */
29#include <asm/blackfin.h>
30#include <asm/dma.h>
31
32struct dma_register *base_addr[MAX_BLACKFIN_DMA_CHANNEL] = {
33 (struct dma_register *) DMA1_0_NEXT_DESC_PTR,
34 (struct dma_register *) DMA1_1_NEXT_DESC_PTR,
35 (struct dma_register *) DMA1_2_NEXT_DESC_PTR,
36 (struct dma_register *) DMA1_3_NEXT_DESC_PTR,
37 (struct dma_register *) DMA1_4_NEXT_DESC_PTR,
38 (struct dma_register *) DMA1_5_NEXT_DESC_PTR,
39 (struct dma_register *) DMA1_6_NEXT_DESC_PTR,
40 (struct dma_register *) DMA1_7_NEXT_DESC_PTR,
41 (struct dma_register *) DMA1_8_NEXT_DESC_PTR,
42 (struct dma_register *) DMA1_9_NEXT_DESC_PTR,
43 (struct dma_register *) DMA1_10_NEXT_DESC_PTR,
44 (struct dma_register *) DMA1_11_NEXT_DESC_PTR,
45 (struct dma_register *) DMA2_0_NEXT_DESC_PTR,
46 (struct dma_register *) DMA2_1_NEXT_DESC_PTR,
47 (struct dma_register *) DMA2_2_NEXT_DESC_PTR,
48 (struct dma_register *) DMA2_3_NEXT_DESC_PTR,
49 (struct dma_register *) DMA2_4_NEXT_DESC_PTR,
50 (struct dma_register *) DMA2_5_NEXT_DESC_PTR,
51 (struct dma_register *) DMA2_6_NEXT_DESC_PTR,
52 (struct dma_register *) DMA2_7_NEXT_DESC_PTR,
53 (struct dma_register *) DMA2_8_NEXT_DESC_PTR,
54 (struct dma_register *) DMA2_9_NEXT_DESC_PTR,
55 (struct dma_register *) DMA2_10_NEXT_DESC_PTR,
56 (struct dma_register *) DMA2_11_NEXT_DESC_PTR,
57 (struct dma_register *) MDMA1_D0_NEXT_DESC_PTR,
58 (struct dma_register *) MDMA1_S0_NEXT_DESC_PTR,
59 (struct dma_register *) MDMA1_D1_NEXT_DESC_PTR,
60 (struct dma_register *) MDMA1_S1_NEXT_DESC_PTR,
61 (struct dma_register *) MDMA2_D0_NEXT_DESC_PTR,
62 (struct dma_register *) MDMA2_S0_NEXT_DESC_PTR,
63 (struct dma_register *) MDMA2_D1_NEXT_DESC_PTR,
64 (struct dma_register *) MDMA2_S1_NEXT_DESC_PTR,
65 (struct dma_register *) IMDMA_D0_NEXT_DESC_PTR,
66 (struct dma_register *) IMDMA_S0_NEXT_DESC_PTR,
67 (struct dma_register *) IMDMA_D1_NEXT_DESC_PTR,
68 (struct dma_register *) IMDMA_S1_NEXT_DESC_PTR,
69};
70
71int channel2irq(unsigned int channel)
72{
73 int ret_irq = -1;
74
75 switch (channel) {
76 case CH_PPI0:
77 ret_irq = IRQ_PPI0;
78 break;
79 case CH_PPI1:
80 ret_irq = IRQ_PPI1;
81 break;
82 case CH_SPORT0_RX:
83 ret_irq = IRQ_SPORT0_RX;
84 break;
85 case CH_SPORT0_TX:
86 ret_irq = IRQ_SPORT0_TX;
87 break;
88 case CH_SPORT1_RX:
89 ret_irq = IRQ_SPORT1_RX;
90 break;
91 case CH_SPORT1_TX:
92 ret_irq = IRQ_SPORT1_TX;
93 break;
94 case CH_SPI:
95 ret_irq = IRQ_SPI;
96 break;
97 case CH_UART_RX:
98 ret_irq = IRQ_UART_RX;
99 break;
100 case CH_UART_TX:
101 ret_irq = IRQ_UART_TX;
102 break;
103
104 case CH_MEM_STREAM0_SRC:
105 case CH_MEM_STREAM0_DEST:
106 ret_irq = IRQ_MEM_DMA0;
107 break;
108 case CH_MEM_STREAM1_SRC:
109 case CH_MEM_STREAM1_DEST:
110 ret_irq = IRQ_MEM_DMA1;
111 break;
112 case CH_MEM_STREAM2_SRC:
113 case CH_MEM_STREAM2_DEST:
114 ret_irq = IRQ_MEM_DMA2;
115 break;
116 case CH_MEM_STREAM3_SRC:
117 case CH_MEM_STREAM3_DEST:
118 ret_irq = IRQ_MEM_DMA3;
119 break;
120
121 case CH_IMEM_STREAM0_SRC:
122 case CH_IMEM_STREAM0_DEST:
123 ret_irq = IRQ_IMEM_DMA0;
124 break;
125 case CH_IMEM_STREAM1_SRC:
126 case CH_IMEM_STREAM1_DEST:
127 ret_irq = IRQ_IMEM_DMA1;
128 break;
129 }
130 return ret_irq;
131}
diff --git a/arch/blackfin/mach-bf561/head.S b/arch/blackfin/mach-bf561/head.S
index 31cbc75c85cf..2f08bcb2dded 100644
--- a/arch/blackfin/mach-bf561/head.S
+++ b/arch/blackfin/mach-bf561/head.S
@@ -30,6 +30,8 @@
30#include <linux/linkage.h> 30#include <linux/linkage.h>
31#include <linux/init.h> 31#include <linux/init.h>
32#include <asm/blackfin.h> 32#include <asm/blackfin.h>
33#include <asm/trace.h>
34
33#if CONFIG_BFIN_KERNEL_CLOCK 35#if CONFIG_BFIN_KERNEL_CLOCK
34#include <asm/mach/mem_init.h> 36#include <asm/mach/mem_init.h>
35#endif 37#endif
@@ -93,6 +95,10 @@ ENTRY(__start)
93 M2 = r0; 95 M2 = r0;
94 M3 = r0; 96 M3 = r0;
95 97
98 trace_buffer_start(p0,r0);
99 P0 = R1;
100 R0 = R1;
101
96 /* Turn off the icache */ 102 /* Turn off the icache */
97 p0.l = (IMEM_CONTROL & 0xFFFF); 103 p0.l = (IMEM_CONTROL & 0xFFFF);
98 p0.h = (IMEM_CONTROL >> 16); 104 p0.h = (IMEM_CONTROL >> 16);
diff --git a/arch/blackfin/mach-bf561/ints-priority.c b/arch/blackfin/mach-bf561/ints-priority.c
index 86e3b0ee93f4..09b541b0f7c2 100644
--- a/arch/blackfin/mach-bf561/ints-priority.c
+++ b/arch/blackfin/mach-bf561/ints-priority.c
@@ -28,8 +28,8 @@
28 */ 28 */
29 29
30#include <linux/module.h> 30#include <linux/module.h>
31#include <linux/irq.h>
31#include <asm/blackfin.h> 32#include <asm/blackfin.h>
32#include <asm/irq.h>
33 33
34void program_IAR(void) 34void program_IAR(void)
35{ 35{
diff --git a/arch/blackfin/mach-common/Makefile b/arch/blackfin/mach-common/Makefile
index d3a49073d196..0279ede70392 100644
--- a/arch/blackfin/mach-common/Makefile
+++ b/arch/blackfin/mach-common/Makefile
@@ -4,9 +4,9 @@
4 4
5obj-y := \ 5obj-y := \
6 cache.o cacheinit.o cplbhdlr.o cplbmgr.o entry.o \ 6 cache.o cacheinit.o cplbhdlr.o cplbmgr.o entry.o \
7 interrupt.o lock.o dpmc.o irqpanic.o 7 interrupt.o lock.o irqpanic.o
8 8
9obj-$(CONFIG_CPLB_INFO) += cplbinfo.o 9obj-$(CONFIG_CPLB_INFO) += cplbinfo.o
10obj-$(CONFIG_BFIN_SINGLE_CORE) += ints-priority-sc.o 10obj-$(CONFIG_BFIN_SINGLE_CORE) += ints-priority-sc.o
11obj-$(CONFIG_BFIN_DUAL_CORE) += ints-priority-dc.o 11obj-$(CONFIG_BFIN_DUAL_CORE) += ints-priority-dc.o
12obj-$(CONFIG_PM) += pm.o 12obj-$(CONFIG_PM) += pm.o dpmc.o
diff --git a/arch/blackfin/mach-common/cache.S b/arch/blackfin/mach-common/cache.S
index 8bd2af1935bd..7063795eb7c0 100644
--- a/arch/blackfin/mach-common/cache.S
+++ b/arch/blackfin/mach-common/cache.S
@@ -123,14 +123,14 @@ ENTRY(_blackfin_icache_flush_range)
123 R2 = R0 & R2; 123 R2 = R0 & R2;
124 P0 = R2; 124 P0 = R2;
125 P1 = R1; 125 P1 = R1;
126 CSYNC; 126 CSYNC(R3);
127 IFLUSH [P0]; 127 IFLUSH [P0];
1281: 1281:
129 IFLUSH [P0++]; 129 IFLUSH [P0++];
130 CC = P0 < P1 (iu); 130 CC = P0 < P1 (iu);
131 IF CC JUMP 1b (bp); 131 IF CC JUMP 1b (bp);
132 IFLUSH [P0]; 132 IFLUSH [P0];
133 SSYNC; 133 SSYNC(R3);
134 RTS; 134 RTS;
135ENDPROC(_blackfin_icache_flush_range) 135ENDPROC(_blackfin_icache_flush_range)
136 136
@@ -148,7 +148,7 @@ ENTRY(_blackfin_icache_dcache_flush_range)
148 R2 = R0 & R2; 148 R2 = R0 & R2;
149 P0 = R2; 149 P0 = R2;
150 P1 = R1; 150 P1 = R1;
151 CSYNC; 151 CSYNC(R3);
152 IFLUSH [P0]; 152 IFLUSH [P0];
1531: 1531:
154 FLUSH [P0]; 154 FLUSH [P0];
@@ -157,7 +157,7 @@ ENTRY(_blackfin_icache_dcache_flush_range)
157 IF CC JUMP 1b (bp); 157 IF CC JUMP 1b (bp);
158 IFLUSH [P0]; 158 IFLUSH [P0];
159 FLUSH [P0]; 159 FLUSH [P0];
160 SSYNC; 160 SSYNC(R3);
161 RTS; 161 RTS;
162ENDPROC(_blackfin_icache_dcache_flush_range) 162ENDPROC(_blackfin_icache_dcache_flush_range)
163 163
@@ -174,7 +174,7 @@ ENTRY(_blackfin_dcache_invalidate_range)
174 R2 = R0 & R2; 174 R2 = R0 & R2;
175 P0 = R2; 175 P0 = R2;
176 P1 = R1; 176 P1 = R1;
177 CSYNC; 177 CSYNC(R3);
178 FLUSHINV[P0]; 178 FLUSHINV[P0];
1791: 1791:
180 FLUSHINV[P0++]; 180 FLUSHINV[P0++];
@@ -186,7 +186,7 @@ ENTRY(_blackfin_dcache_invalidate_range)
186 * so do one more. 186 * so do one more.
187 */ 187 */
188 FLUSHINV[P0]; 188 FLUSHINV[P0];
189 SSYNC; 189 SSYNC(R3);
190 RTS; 190 RTS;
191ENDPROC(_blackfin_dcache_invalidate_range) 191ENDPROC(_blackfin_dcache_invalidate_range)
192 192
@@ -235,7 +235,7 @@ ENTRY(_blackfin_dcache_flush_range)
235 R2 = R0 & R2; 235 R2 = R0 & R2;
236 P0 = R2; 236 P0 = R2;
237 P1 = R1; 237 P1 = R1;
238 CSYNC; 238 CSYNC(R3);
239 FLUSH[P0]; 239 FLUSH[P0];
2401: 2401:
241 FLUSH[P0++]; 241 FLUSH[P0++];
@@ -247,17 +247,17 @@ ENTRY(_blackfin_dcache_flush_range)
247 * one more. 247 * one more.
248 */ 248 */
249 FLUSH[P0]; 249 FLUSH[P0];
250 SSYNC; 250 SSYNC(R3);
251 RTS; 251 RTS;
252ENDPROC(_blackfin_dcache_flush_range) 252ENDPROC(_blackfin_dcache_flush_range)
253 253
254ENTRY(_blackfin_dflush_page) 254ENTRY(_blackfin_dflush_page)
255 P1 = 1 << (PAGE_SHIFT - L1_CACHE_SHIFT); 255 P1 = 1 << (PAGE_SHIFT - L1_CACHE_SHIFT);
256 P0 = R0; 256 P0 = R0;
257 CSYNC; 257 CSYNC(R3);
258 FLUSH[P0]; 258 FLUSH[P0];
259 LSETUP (.Lfl1, .Lfl1) LC0 = P1; 259 LSETUP (.Lfl1, .Lfl1) LC0 = P1;
260.Lfl1: FLUSH [P0++]; 260.Lfl1: FLUSH [P0++];
261 SSYNC; 261 SSYNC(R3);
262 RTS; 262 RTS;
263ENDPROC(_blackfin_dflush_page) 263ENDPROC(_blackfin_dflush_page)
diff --git a/arch/blackfin/mach-common/cacheinit.S b/arch/blackfin/mach-common/cacheinit.S
index 7924a90d9658..9d475623b724 100644
--- a/arch/blackfin/mach-common/cacheinit.S
+++ b/arch/blackfin/mach-common/cacheinit.S
@@ -38,104 +38,37 @@
38 38
39.text 39.text
40 40
41#ifdef ANOMALY_05000125
41#if defined(CONFIG_BLKFIN_CACHE) 42#if defined(CONFIG_BLKFIN_CACHE)
42ENTRY(_bfin_icache_init) 43ENTRY(_bfin_write_IMEM_CONTROL)
43 44
44 /* Initialize Instruction CPLBS */
45
46 I0.L = (ICPLB_ADDR0 & 0xFFFF);
47 I0.H = (ICPLB_ADDR0 >> 16);
48
49 I1.L = (ICPLB_DATA0 & 0xFFFF);
50 I1.H = (ICPLB_DATA0 >> 16);
51
52 I2.L = _icplb_table;
53 I2.H = _icplb_table;
54
55 r1 = -1; /* end point comparison */
56 r3 = 15; /* max counter */
57
58/* read entries from table */
59
60.Lread_iaddr:
61 R0 = [I2++];
62 CC = R0 == R1;
63 IF CC JUMP .Lidone;
64 [I0++] = R0;
65
66.Lread_idata:
67 R2 = [I2++];
68 [I1++] = R2;
69 R3 = R3 + R1;
70 CC = R3 == R1;
71 IF !CC JUMP .Lread_iaddr;
72
73.Lidone:
74 /* Enable Instruction Cache */ 45 /* Enable Instruction Cache */
75 P0.l = (IMEM_CONTROL & 0xFFFF); 46 P0.l = (IMEM_CONTROL & 0xFFFF);
76 P0.h = (IMEM_CONTROL >> 16); 47 P0.h = (IMEM_CONTROL >> 16);
77 R1 = [P0];
78 R0 = (IMC | ENICPLB);
79 R0 = R0 | R1;
80 48
81 /* Anomaly 05000125 */ 49 /* Anomaly 05000125 */
82 CLI R2; 50 CLI R1;
83 SSYNC; /* SSYNC required before writing to IMEM_CONTROL. */ 51 SSYNC; /* SSYNC required before writing to IMEM_CONTROL. */
84 .align 8; 52 .align 8;
85 [P0] = R0; 53 [P0] = R0;
86 SSYNC; 54 SSYNC;
87 STI R2; 55 STI R1;
88 RTS; 56 RTS;
89 57
90ENDPROC(_bfin_icache_init) 58ENDPROC(_bfin_write_IMEM_CONTROL)
91#endif 59#endif
92 60
93#if defined(CONFIG_BLKFIN_DCACHE) 61#if defined(CONFIG_BLKFIN_DCACHE)
94ENTRY(_bfin_dcache_init) 62ENTRY(_bfin_write_DMEM_CONTROL)
95 63 CLI R1;
96 /* Initialize Data CPLBS */
97
98 I0.L = (DCPLB_ADDR0 & 0xFFFF);
99 I0.H = (DCPLB_ADDR0 >> 16);
100
101 I1.L = (DCPLB_DATA0 & 0xFFFF);
102 I1.H = (DCPLB_DATA0 >> 16);
103
104 I2.L = _dcplb_table;
105 I2.H = _dcplb_table;
106
107 R1 = -1; /* end point comparison */
108 R3 = 15; /* max counter */
109
110 /* read entries from table */
111.Lread_daddr:
112 R0 = [I2++];
113 cc = R0 == R1;
114 IF CC JUMP .Lddone;
115 [I0++] = R0;
116
117.Lread_ddata:
118 R2 = [I2++];
119 [I1++] = R2;
120 R3 = R3 + R1;
121 CC = R3 == R1;
122 IF !CC JUMP .Lread_daddr;
123.Lddone:
124 P0.L = (DMEM_CONTROL & 0xFFFF);
125 P0.H = (DMEM_CONTROL >> 16);
126 R1 = [P0];
127
128 R0 = DMEM_CNTR;
129
130 R0 = R0 | R1;
131 /* Anomaly 05000125 */
132 CLI R2;
133 SSYNC; /* SSYNC required before writing to DMEM_CONTROL. */ 64 SSYNC; /* SSYNC required before writing to DMEM_CONTROL. */
134 .align 8; 65 .align 8;
135 [P0] = R0; 66 [P0] = R0;
136 SSYNC; 67 SSYNC;
137 STI R2; 68 STI R1;
138 RTS; 69 RTS;
139 70
140ENDPROC(_bfin_dcache_init) 71ENDPROC(_bfin_write_DMEM_CONTROL)
72#endif
73
141#endif 74#endif
diff --git a/arch/blackfin/mach-common/cplbinfo.c b/arch/blackfin/mach-common/cplbinfo.c
index caa9623e6bd6..785ca9816971 100644
--- a/arch/blackfin/mach-common/cplbinfo.c
+++ b/arch/blackfin/mach-common/cplbinfo.c
@@ -31,11 +31,10 @@
31#include <linux/kernel.h> 31#include <linux/kernel.h>
32#include <linux/init.h> 32#include <linux/init.h>
33#include <linux/proc_fs.h> 33#include <linux/proc_fs.h>
34#include <linux/uaccess.h>
34 35
35#include <asm/current.h> 36#include <asm/current.h>
36#include <asm/uaccess.h>
37#include <asm/system.h> 37#include <asm/system.h>
38
39#include <asm/cplb.h> 38#include <asm/cplb.h>
40#include <asm/blackfin.h> 39#include <asm/blackfin.h>
41 40
@@ -92,8 +91,7 @@ static char *cplb_print_entry(char *buf, int type)
92 } else 91 } else
93 buf += sprintf(buf, "Data CPLB entry:\n"); 92 buf += sprintf(buf, "Data CPLB entry:\n");
94 93
95 buf += sprintf(buf, "Address\t\tData\tSize\tValid\tLocked\tSwapin\ 94 buf += sprintf(buf, "Address\t\tData\tSize\tValid\tLocked\tSwapin\n\tiCount\toCount\n");
96\tiCount\toCount\n");
97 95
98 while (*p_addr != 0xffffffff) { 96 while (*p_addr != 0xffffffff) {
99 entry = cplb_find_entry(cplb_addr, cplb_data, *p_addr, *p_data); 97 entry = cplb_find_entry(cplb_addr, cplb_data, *p_addr, *p_data);
@@ -144,8 +142,7 @@ static int cplbinfo_proc_output(char *buf)
144 142
145 p = buf; 143 p = buf;
146 144
147 p += sprintf(p, 145 p += sprintf(p, "------------------ CPLB Information ------------------\n\n");
148 "------------------ CPLB Information ------------------\n\n");
149 146
150 if (bfin_read_IMEM_CONTROL() & ENICPLB) 147 if (bfin_read_IMEM_CONTROL() & ENICPLB)
151 p = cplb_print_entry(p, CPLB_I); 148 p = cplb_print_entry(p, CPLB_I);
@@ -191,9 +188,9 @@ static int __init cplbinfo_init(void)
191{ 188{
192 struct proc_dir_entry *entry; 189 struct proc_dir_entry *entry;
193 190
194 if ((entry = create_proc_entry("cplbinfo", 0, NULL)) == NULL) { 191 entry = create_proc_entry("cplbinfo", 0, NULL);
192 if (!entry)
195 return -ENOMEM; 193 return -ENOMEM;
196 }
197 194
198 entry->read_proc = cplbinfo_read_proc; 195 entry->read_proc = cplbinfo_read_proc;
199 entry->write_proc = cplbinfo_write_proc; 196 entry->write_proc = cplbinfo_write_proc;
diff --git a/arch/blackfin/mach-common/entry.S b/arch/blackfin/mach-common/entry.S
index 40045b1386ad..d61bba98fb54 100644
--- a/arch/blackfin/mach-common/entry.S
+++ b/arch/blackfin/mach-common/entry.S
@@ -49,34 +49,15 @@
49 49
50 50
51#include <linux/linkage.h> 51#include <linux/linkage.h>
52#include <linux/unistd.h>
52#include <asm/blackfin.h> 53#include <asm/blackfin.h>
53#include <asm/unistd.h>
54#include <asm/errno.h> 54#include <asm/errno.h>
55#include <asm/thread_info.h> /* TIF_NEED_RESCHED */ 55#include <asm/thread_info.h> /* TIF_NEED_RESCHED */
56#include <asm/asm-offsets.h> 56#include <asm/asm-offsets.h>
57#include <asm/trace.h>
57 58
58#include <asm/mach-common/context.S> 59#include <asm/mach-common/context.S>
59 60
60#ifdef CONFIG_DEBUG_BFIN_NO_KERN_HWTRACE
61 /*
62 * TODO: this should be proper save/restore, but for now
63 * we'll just cheat and use 0x1/0x13
64 */
65# define DEBUG_START_HWTRACE \
66 P5.l = LO(TBUFCTL); \
67 P5.h = HI(TBUFCTL); \
68 R7 = 0x13; \
69 [P5] = R7;
70# define DEBUG_STOP_HWTRACE \
71 P5.l = LO(TBUFCTL); \
72 P5.h = HI(TBUFCTL); \
73 R7 = 0x01; \
74 [P5] = R7;
75#else
76# define DEBUG_START_HWTRACE
77# define DEBUG_STOP_HWTRACE
78#endif
79
80#ifdef CONFIG_EXCPT_IRQ_SYSC_L1 61#ifdef CONFIG_EXCPT_IRQ_SYSC_L1
81.section .l1.text 62.section .l1.text
82#else 63#else
@@ -110,25 +91,14 @@ ENTRY(_ex_icplb)
110 ASTAT = [sp++]; 91 ASTAT = [sp++];
111 SAVE_ALL_SYS 92 SAVE_ALL_SYS
112 call __cplb_hdr; 93 call __cplb_hdr;
113 DEBUG_START_HWTRACE 94 DEBUG_START_HWTRACE(p5, r7)
114 RESTORE_ALL_SYS 95 RESTORE_ALL_SYS
115 SP = RETN; 96 SP = RETN;
116 rtx; 97 rtx;
117ENDPROC(_ex_icplb) 98ENDPROC(_ex_icplb)
118 99
119ENTRY(_ex_spinlock)
120 /* Transform this into a syscall - twiddle the syscall vector. */
121 p5.l = lo(EVT15);
122 p5.h = hi(EVT15);
123 r7.l = _spinlock_bh;
124 r7.h = _spinlock_bh;
125 [p5] = r7;
126 csync;
127 /* Fall through. */
128ENDPROC(_ex_spinlock)
129
130ENTRY(_ex_syscall) 100ENTRY(_ex_syscall)
131 DEBUG_START_HWTRACE 101 DEBUG_START_HWTRACE(p5, r7)
132 (R7:6,P5:4) = [sp++]; 102 (R7:6,P5:4) = [sp++];
133 ASTAT = [sp++]; 103 ASTAT = [sp++];
134 raise 15; /* invoked by TRAP #0, for sys call */ 104 raise 15; /* invoked by TRAP #0, for sys call */
@@ -136,26 +106,6 @@ ENTRY(_ex_syscall)
136 rtx 106 rtx
137ENDPROC(_ex_syscall) 107ENDPROC(_ex_syscall)
138 108
139ENTRY(_spinlock_bh)
140 SAVE_ALL_SYS
141 /* To end up here, vector 15 was changed - so we have to change it
142 * back.
143 */
144 p0.l = lo(EVT15);
145 p0.h = hi(EVT15);
146 p1.l = _evt_system_call;
147 p1.h = _evt_system_call;
148 [p0] = p1;
149 csync;
150 r0 = [sp + PT_R0];
151 sp += -12;
152 call _sys_bfin_spinlock;
153 sp += 12;
154 [SP + PT_R0] = R0;
155 RESTORE_ALL_SYS
156 rti;
157ENDPROC(_spinlock_bh)
158
159ENTRY(_ex_soft_bp) 109ENTRY(_ex_soft_bp)
160 r7 = retx; 110 r7 = retx;
161 r7 += -2; 111 r7 += -2;
@@ -186,7 +136,7 @@ ENTRY(_ex_single_step)
186 if !cc jump _ex_trap_c; 136 if !cc jump _ex_trap_c;
187 137
188_return_from_exception: 138_return_from_exception:
189 DEBUG_START_HWTRACE 139 DEBUG_START_HWTRACE(p5, r7)
190#ifdef ANOMALY_05000257 140#ifdef ANOMALY_05000257
191 R7=LC0; 141 R7=LC0;
192 LC0=R7; 142 LC0=R7;
@@ -208,7 +158,7 @@ ENTRY(_handle_bad_cplb)
208 * need to make a CPLB exception look like a normal exception 158 * need to make a CPLB exception look like a normal exception
209 */ 159 */
210 160
211 DEBUG_START_HWTRACE 161 DEBUG_START_HWTRACE(p5, r7)
212 RESTORE_ALL_SYS 162 RESTORE_ALL_SYS
213 [--sp] = ASTAT; 163 [--sp] = ASTAT;
214 [--sp] = (R7:6, P5:4); 164 [--sp] = (R7:6, P5:4);
@@ -251,7 +201,7 @@ ENTRY(_ex_trap_c)
251 R6 = SEQSTAT; 201 R6 = SEQSTAT;
252 [P5] = R6; 202 [P5] = R6;
253 203
254 DEBUG_START_HWTRACE 204 DEBUG_START_HWTRACE(p5, r7)
255 (R7:6,P5:4) = [sp++]; 205 (R7:6,P5:4) = [sp++];
256 ASTAT = [sp++]; 206 ASTAT = [sp++];
257 SP = RETN; 207 SP = RETN;
@@ -335,7 +285,7 @@ ENTRY(_trap) /* Exception: 4th entry into system event table(supervisor mode)*/
335 /* Try to deal with syscalls quickly. */ 285 /* Try to deal with syscalls quickly. */
336 [--sp] = ASTAT; 286 [--sp] = ASTAT;
337 [--sp] = (R7:6, P5:4); 287 [--sp] = (R7:6, P5:4);
338 DEBUG_STOP_HWTRACE 288 DEBUG_STOP_HWTRACE(p5, r7)
339 r7 = SEQSTAT; /* reason code is in bit 5:0 */ 289 r7 = SEQSTAT; /* reason code is in bit 5:0 */
340 r6.l = lo(SEQSTAT_EXCAUSE); 290 r6.l = lo(SEQSTAT_EXCAUSE);
341 r6.h = hi(SEQSTAT_EXCAUSE); 291 r6.h = hi(SEQSTAT_EXCAUSE);
@@ -741,6 +691,10 @@ _schedule_and_signal_from_int:
741 r0 = [p0]; 691 r0 = [p0];
742 sti r0; 692 sti r0;
743 693
694 r0 = sp;
695 sp += -12;
696 call _finish_atomic_sections;
697 sp += 12;
744 jump.s .Lresume_userspace; 698 jump.s .Lresume_userspace;
745 699
746_schedule_and_signal: 700_schedule_and_signal:
@@ -790,14 +744,14 @@ ENDPROC(_init_exception_buff)
790ALIGN 744ALIGN
791_extable: 745_extable:
792 /* entry for each EXCAUSE[5:0] 746 /* entry for each EXCAUSE[5:0]
793 * This table bmust be in sync with the table in ./kernel/traps.c 747 * This table must be in sync with the table in ./kernel/traps.c
794 * EXCPT instruction can provide 4 bits of EXCAUSE, allowing 16 to be user defined 748 * EXCPT instruction can provide 4 bits of EXCAUSE, allowing 16 to be user defined
795 */ 749 */
796 .long _ex_syscall; /* 0x00 - User Defined - Linux Syscall */ 750 .long _ex_syscall; /* 0x00 - User Defined - Linux Syscall */
797 .long _ex_soft_bp /* 0x01 - User Defined - Software breakpoint */ 751 .long _ex_soft_bp /* 0x01 - User Defined - Software breakpoint */
798 .long _ex_trap_c /* 0x02 - User Defined */ 752 .long _ex_trap_c /* 0x02 - User Defined */
799 .long _ex_trap_c /* 0x03 - User Defined - Atomic test and set service */ 753 .long _ex_trap_c /* 0x03 - User Defined - userspace stack overflow */
800 .long _ex_spinlock /* 0x04 - User Defined */ 754 .long _ex_trap_c /* 0x04 - User Defined */
801 .long _ex_trap_c /* 0x05 - User Defined */ 755 .long _ex_trap_c /* 0x05 - User Defined */
802 .long _ex_trap_c /* 0x06 - User Defined */ 756 .long _ex_trap_c /* 0x06 - User Defined */
803 .long _ex_trap_c /* 0x07 - User Defined */ 757 .long _ex_trap_c /* 0x07 - User Defined */
diff --git a/arch/blackfin/mach-common/interrupt.S b/arch/blackfin/mach-common/interrupt.S
index b69f517a650b..203e20709163 100644
--- a/arch/blackfin/mach-common/interrupt.S
+++ b/arch/blackfin/mach-common/interrupt.S
@@ -34,6 +34,7 @@
34#include <linux/linkage.h> 34#include <linux/linkage.h>
35#include <asm/entry.h> 35#include <asm/entry.h>
36#include <asm/asm-offsets.h> 36#include <asm/asm-offsets.h>
37#include <asm/trace.h>
37 38
38#include <asm/mach-common/context.S> 39#include <asm/mach-common/context.S>
39 40
@@ -139,7 +140,7 @@ __common_int_entry:
139 fp = 0; 140 fp = 0;
140#endif 141#endif
141 142
142#ifdef ANOMALY_05000283 143#if defined (ANOMALY_05000283) || defined (ANOMALY_05000315)
143 cc = r7 == r7; 144 cc = r7 == r7;
144 p5.h = 0xffc0; 145 p5.h = 0xffc0;
145 p5.l = 0x0014; 146 p5.l = 0x0014;
@@ -170,10 +171,9 @@ ENTRY(_evt_ivhw)
170 r7.l = W[p5]; 171 r7.l = W[p5];
1711: 1721:
172#endif 173#endif
173 p0.l = lo(TBUFCTL); 174
174 p0.h = hi(TBUFCTL); 175 trace_buffer_stop(p0, r0);
175 r0 = 1; 176
176 [p0] = r0;
177 r0 = IRQ_HWERR; 177 r0 = IRQ_HWERR;
178 r1 = sp; 178 r1 = sp;
179 179
diff --git a/arch/blackfin/mach-common/ints-priority-dc.c b/arch/blackfin/mach-common/ints-priority-dc.c
index 80943bbd37c2..6b9fd03ce835 100644
--- a/arch/blackfin/mach-common/ints-priority-dc.c
+++ b/arch/blackfin/mach-common/ints-priority-dc.c
@@ -183,7 +183,7 @@ static void bf561_gpio_ack_irq(unsigned int irq)
183{ 183{
184 u16 gpionr = irq - IRQ_PF0; 184 u16 gpionr = irq - IRQ_PF0;
185 185
186 if(gpio_edge_triggered[gpio_bank(gpionr)] & gpio_bit(gpionr)) { 186 if (gpio_edge_triggered[gpio_bank(gpionr)] & gpio_bit(gpionr)) {
187 set_gpio_data(gpionr, 0); 187 set_gpio_data(gpionr, 0);
188 SSYNC(); 188 SSYNC();
189 } 189 }
@@ -193,7 +193,7 @@ static void bf561_gpio_mask_ack_irq(unsigned int irq)
193{ 193{
194 u16 gpionr = irq - IRQ_PF0; 194 u16 gpionr = irq - IRQ_PF0;
195 195
196 if(gpio_edge_triggered[gpio_bank(gpionr)] & gpio_bit(gpionr)) { 196 if (gpio_edge_triggered[gpio_bank(gpionr)] & gpio_bit(gpionr)) {
197 set_gpio_data(gpionr, 0); 197 set_gpio_data(gpionr, 0);
198 SSYNC(); 198 SSYNC();
199 } 199 }
@@ -222,7 +222,7 @@ static unsigned int bf561_gpio_irq_startup(unsigned int irq)
222 if (!(gpio_enabled[gpio_bank(gpionr)] & gpio_bit(gpionr))) { 222 if (!(gpio_enabled[gpio_bank(gpionr)] & gpio_bit(gpionr))) {
223 223
224 ret = gpio_request(gpionr, NULL); 224 ret = gpio_request(gpionr, NULL);
225 if(ret) 225 if (ret)
226 return ret; 226 return ret;
227 227
228 } 228 }
@@ -262,7 +262,7 @@ static int bf561_gpio_irq_type(unsigned int irq, unsigned int type)
262 if (!(gpio_enabled[gpio_bank(gpionr)] & gpio_bit(gpionr))) { 262 if (!(gpio_enabled[gpio_bank(gpionr)] & gpio_bit(gpionr))) {
263 263
264 ret = gpio_request(gpionr, NULL); 264 ret = gpio_request(gpionr, NULL);
265 if(ret) 265 if (ret)
266 return ret; 266 return ret;
267 267
268 } 268 }
@@ -371,6 +371,9 @@ int __init init_arch_irq(void)
371 bfin_write_SICA_IMASK1(SIC_UNMASK_ALL); 371 bfin_write_SICA_IMASK1(SIC_UNMASK_ALL);
372 SSYNC(); 372 SSYNC();
373 373
374 bfin_write_SICA_IWR0(IWR_ENABLE_ALL);
375 bfin_write_SICA_IWR1(IWR_ENABLE_ALL);
376
374 local_irq_disable(); 377 local_irq_disable();
375 378
376 init_exception_buff(); 379 init_exception_buff();
@@ -393,7 +396,7 @@ int __init init_arch_irq(void)
393 bfin_write_EVT15(evt_system_call); 396 bfin_write_EVT15(evt_system_call);
394 CSYNC(); 397 CSYNC();
395 398
396 for (irq = 0; irq < SYS_IRQS; irq++) { 399 for (irq = 0; irq <= SYS_IRQS; irq++) {
397 if (irq <= IRQ_CORETMR) 400 if (irq <= IRQ_CORETMR)
398 set_irq_chip(irq, &bf561_core_irqchip); 401 set_irq_chip(irq, &bf561_core_irqchip);
399 else 402 else
diff --git a/arch/blackfin/mach-common/ints-priority-sc.c b/arch/blackfin/mach-common/ints-priority-sc.c
index 2cfc7d5aec5c..28a878c3577a 100644
--- a/arch/blackfin/mach-common/ints-priority-sc.c
+++ b/arch/blackfin/mach-common/ints-priority-sc.c
@@ -13,7 +13,7 @@
13 * 2002 Arcturus Networks Inc. MaTed <mated@sympatico.ca> 13 * 2002 Arcturus Networks Inc. MaTed <mated@sympatico.ca>
14 * 2003 Metrowerks/Motorola 14 * 2003 Metrowerks/Motorola
15 * 2003 Bas Vermeulen <bas@buyways.nl> 15 * 2003 Bas Vermeulen <bas@buyways.nl>
16 * Copyright 2004-2006 Analog Devices Inc. 16 * Copyright 2004-2007 Analog Devices Inc.
17 * 17 *
18 * Bugs: Enter bugs at http://blackfin.uclinux.org/ 18 * Bugs: Enter bugs at http://blackfin.uclinux.org/
19 * 19 *
@@ -65,9 +65,9 @@ atomic_t num_spurious;
65 65
66struct ivgx { 66struct ivgx {
67 /* irq number for request_irq, available in mach-bf533/irq.h */ 67 /* irq number for request_irq, available in mach-bf533/irq.h */
68 int irqno; 68 unsigned int irqno;
69 /* corresponding bit in the SIC_ISR register */ 69 /* corresponding bit in the SIC_ISR register */
70 int isrflag; 70 unsigned int isrflag;
71} ivg_table[NR_PERI_INTS]; 71} ivg_table[NR_PERI_INTS];
72 72
73struct ivg_slice { 73struct ivg_slice {
@@ -88,17 +88,16 @@ static void __init search_IAR(void)
88 for (ivg = 0; ivg <= IVG13 - IVG7; ivg++) { 88 for (ivg = 0; ivg <= IVG13 - IVG7; ivg++) {
89 int irqn; 89 int irqn;
90 90
91 ivg7_13[ivg].istop = ivg7_13[ivg].ifirst = 91 ivg7_13[ivg].istop = ivg7_13[ivg].ifirst = &ivg_table[irq_pos];
92 &ivg_table[irq_pos];
93 92
94 for (irqn = 0; irqn < NR_PERI_INTS; irqn++) { 93 for (irqn = 0; irqn < NR_PERI_INTS; irqn++) {
95 int iar_shift = (irqn & 7) * 4; 94 int iar_shift = (irqn & 7) * 4;
96 if (ivg == 95 if (ivg ==
97 (0xf & 96 (0xf &
98 bfin_read32((unsigned long *) SIC_IAR0 + 97 bfin_read32((unsigned long *)SIC_IAR0 +
99 (irqn >> 3)) >> iar_shift)) { 98 (irqn >> 3)) >> iar_shift)) {
100 ivg_table[irq_pos].irqno = IVG7 + irqn; 99 ivg_table[irq_pos].irqno = IVG7 + irqn;
101 ivg_table[irq_pos].isrflag = 1 << irqn; 100 ivg_table[irq_pos].isrflag = 1 << (irqn % 32);
102 ivg7_13[ivg].istop++; 101 ivg7_13[ivg].istop++;
103 irq_pos++; 102 irq_pos++;
104 } 103 }
@@ -141,15 +140,31 @@ static void bfin_core_unmask_irq(unsigned int irq)
141 140
142static void bfin_internal_mask_irq(unsigned int irq) 141static void bfin_internal_mask_irq(unsigned int irq)
143{ 142{
143#ifndef CONFIG_BF54x
144 bfin_write_SIC_IMASK(bfin_read_SIC_IMASK() & 144 bfin_write_SIC_IMASK(bfin_read_SIC_IMASK() &
145 ~(1 << (irq - (IRQ_CORETMR + 1)))); 145 ~(1 << (irq - (IRQ_CORETMR + 1))));
146#else
147 unsigned mask_bank, mask_bit;
148 mask_bank = (irq - (IRQ_CORETMR + 1)) / 32;
149 mask_bit = (irq - (IRQ_CORETMR + 1)) % 32;
150 bfin_write_SIC_IMASK(mask_bank, bfin_read_SIC_IMASK(mask_bank) &
151 ~(1 << mask_bit));
152#endif
146 SSYNC(); 153 SSYNC();
147} 154}
148 155
149static void bfin_internal_unmask_irq(unsigned int irq) 156static void bfin_internal_unmask_irq(unsigned int irq)
150{ 157{
158#ifndef CONFIG_BF54x
151 bfin_write_SIC_IMASK(bfin_read_SIC_IMASK() | 159 bfin_write_SIC_IMASK(bfin_read_SIC_IMASK() |
152 (1 << (irq - (IRQ_CORETMR + 1)))); 160 (1 << (irq - (IRQ_CORETMR + 1))));
161#else
162 unsigned mask_bank, mask_bit;
163 mask_bank = (irq - (IRQ_CORETMR + 1)) / 32;
164 mask_bit = (irq - (IRQ_CORETMR + 1)) % 32;
165 bfin_write_SIC_IMASK(mask_bank, bfin_read_SIC_IMASK(mask_bank) |
166 (1 << mask_bit));
167#endif
153 SSYNC(); 168 SSYNC();
154} 169}
155 170
@@ -206,7 +221,7 @@ static struct irq_chip bfin_generic_error_irqchip = {
206}; 221};
207 222
208static void bfin_demux_error_irq(unsigned int int_err_irq, 223static void bfin_demux_error_irq(unsigned int int_err_irq,
209 struct irq_desc *intb_desc) 224 struct irq_desc *intb_desc)
210{ 225{
211 int irq = 0; 226 int irq = 0;
212 227
@@ -270,8 +285,8 @@ static void bfin_demux_error_irq(unsigned int int_err_irq,
270 } 285 }
271 286
272 pr_debug("IRQ %d:" 287 pr_debug("IRQ %d:"
273 " MASKED PERIPHERAL ERROR INTERRUPT ASSERTED\n", 288 " MASKED PERIPHERAL ERROR INTERRUPT ASSERTED\n",
274 irq); 289 irq);
275 } 290 }
276 } else 291 } else
277 printk(KERN_ERR 292 printk(KERN_ERR
@@ -279,11 +294,10 @@ static void bfin_demux_error_irq(unsigned int int_err_irq,
279 " INTERRUPT ASSERTED BUT NO SOURCE FOUND\n", 294 " INTERRUPT ASSERTED BUT NO SOURCE FOUND\n",
280 __FUNCTION__, __FILE__, __LINE__); 295 __FUNCTION__, __FILE__, __LINE__);
281 296
282
283} 297}
284#endif /* BF537_GENERIC_ERROR_INT_DEMUX */ 298#endif /* BF537_GENERIC_ERROR_INT_DEMUX */
285 299
286#ifdef CONFIG_IRQCHIP_DEMUX_GPIO 300#if defined(CONFIG_IRQCHIP_DEMUX_GPIO) && !defined(CONFIG_BF54x)
287 301
288static unsigned short gpio_enabled[gpio_bank(MAX_BLACKFIN_GPIOS)]; 302static unsigned short gpio_enabled[gpio_bank(MAX_BLACKFIN_GPIOS)];
289static unsigned short gpio_edge_triggered[gpio_bank(MAX_BLACKFIN_GPIOS)]; 303static unsigned short gpio_edge_triggered[gpio_bank(MAX_BLACKFIN_GPIOS)];
@@ -361,8 +375,7 @@ static int bfin_gpio_irq_type(unsigned int irq, unsigned int type)
361 } 375 }
362 376
363 if (type & (IRQ_TYPE_EDGE_RISING | IRQ_TYPE_EDGE_FALLING | 377 if (type & (IRQ_TYPE_EDGE_RISING | IRQ_TYPE_EDGE_FALLING |
364 IRQ_TYPE_LEVEL_HIGH | IRQ_TYPE_LEVEL_LOW)) 378 IRQ_TYPE_LEVEL_HIGH | IRQ_TYPE_LEVEL_LOW)) {
365 {
366 if (!(gpio_enabled[gpio_bank(gpionr)] & gpio_bit(gpionr))) { 379 if (!(gpio_enabled[gpio_bank(gpionr)] & gpio_bit(gpionr))) {
367 ret = gpio_request(gpionr, NULL); 380 ret = gpio_request(gpionr, NULL);
368 if (ret) 381 if (ret)
@@ -407,7 +420,6 @@ static int bfin_gpio_irq_type(unsigned int irq, unsigned int type)
407 return 0; 420 return 0;
408} 421}
409 422
410
411static struct irq_chip bfin_gpio_irqchip = { 423static struct irq_chip bfin_gpio_irqchip = {
412 .ack = bfin_gpio_ack_irq, 424 .ack = bfin_gpio_ack_irq,
413 .mask = bfin_gpio_mask_irq, 425 .mask = bfin_gpio_mask_irq,
@@ -419,20 +431,20 @@ static struct irq_chip bfin_gpio_irqchip = {
419}; 431};
420 432
421static void bfin_demux_gpio_irq(unsigned int intb_irq, 433static void bfin_demux_gpio_irq(unsigned int intb_irq,
422 struct irq_desc *intb_desc) 434 struct irq_desc *intb_desc)
423{ 435{
424 u16 i; 436 u16 i;
437 struct irq_desc *desc;
425 438
426 for (i = 0; i < MAX_BLACKFIN_GPIOS; i+=16) { 439 for (i = 0; i < MAX_BLACKFIN_GPIOS; i += 16) {
427 int irq = IRQ_PF0 + i; 440 int irq = IRQ_PF0 + i;
428 int flag_d = get_gpiop_data(i); 441 int flag_d = get_gpiop_data(i);
429 int mask = 442 int mask =
430 flag_d & (gpio_enabled[gpio_bank(i)] & 443 flag_d & (gpio_enabled[gpio_bank(i)] & get_gpiop_maska(i));
431 get_gpiop_maska(i));
432 444
433 while (mask) { 445 while (mask) {
434 if (mask & 1) { 446 if (mask & 1) {
435 struct irq_desc *desc = irq_desc + irq; 447 desc = irq_desc + irq;
436 desc->handle_irq(irq, desc); 448 desc->handle_irq(irq, desc);
437 } 449 }
438 irq++; 450 irq++;
@@ -441,6 +453,264 @@ static void bfin_demux_gpio_irq(unsigned int intb_irq,
441 } 453 }
442} 454}
443 455
456#else /* CONFIG_IRQCHIP_DEMUX_GPIO */
457
458#define NR_PINT_SYS_IRQS 4
459#define NR_PINT_BITS 32
460#define NR_PINTS 160
461#define IRQ_NOT_AVAIL 0xFF
462
463#define PINT_2_BANK(x) ((x) >> 5)
464#define PINT_2_BIT(x) ((x) & 0x1F)
465#define PINT_BIT(x) (1 << (PINT_2_BIT(x)))
466
467static unsigned char irq2pint_lut[NR_PINTS];
468static unsigned char pint2irq_lut[NR_PINT_SYS_IRQS * NR_PINT_BITS];
469
470struct pin_int_t {
471 unsigned int mask_set;
472 unsigned int mask_clear;
473 unsigned int request;
474 unsigned int assign;
475 unsigned int edge_set;
476 unsigned int edge_clear;
477 unsigned int invert_set;
478 unsigned int invert_clear;
479 unsigned int pinstate;
480 unsigned int latch;
481};
482
483static struct pin_int_t *pint[NR_PINT_SYS_IRQS] = {
484 (struct pin_int_t *)PINT0_MASK_SET,
485 (struct pin_int_t *)PINT1_MASK_SET,
486 (struct pin_int_t *)PINT2_MASK_SET,
487 (struct pin_int_t *)PINT3_MASK_SET,
488};
489
490unsigned short get_irq_base(u8 bank, u8 bmap)
491{
492
493 u16 irq_base;
494
495 if (bank < 2) { /*PA-PB */
496 irq_base = IRQ_PA0 + bmap * 16;
497 } else { /*PC-PJ */
498 irq_base = IRQ_PC0 + bmap * 16;
499 }
500
501 return irq_base;
502
503}
504
505 /* Whenever PINTx_ASSIGN is altered init_pint_lut() must be executed! */
506void init_pint_lut(void)
507{
508 u16 bank, bit, irq_base, bit_pos;
509 u32 pint_assign;
510 u8 bmap;
511
512 memset(irq2pint_lut, IRQ_NOT_AVAIL, sizeof(irq2pint_lut));
513
514 for (bank = 0; bank < NR_PINT_SYS_IRQS; bank++) {
515
516 pint_assign = pint[bank]->assign;
517
518 for (bit = 0; bit < NR_PINT_BITS; bit++) {
519
520 bmap = (pint_assign >> ((bit / 8) * 8)) & 0xFF;
521
522 irq_base = get_irq_base(bank, bmap);
523
524 irq_base += (bit % 8) + ((bit / 8) & 1 ? 8 : 0);
525 bit_pos = bit + bank * NR_PINT_BITS;
526
527 pint2irq_lut[bit_pos] = irq_base - SYS_IRQS;
528 irq2pint_lut[irq_base - SYS_IRQS] = bit_pos;
529
530 }
531
532 }
533
534}
535
536static unsigned short gpio_enabled[gpio_bank(MAX_BLACKFIN_GPIOS)];
537
538static void bfin_gpio_ack_irq(unsigned int irq)
539{
540 u8 pint_val = irq2pint_lut[irq - SYS_IRQS];
541
542 pint[PINT_2_BANK(pint_val)]->request = PINT_BIT(pint_val);
543 SSYNC();
544}
545
546static void bfin_gpio_mask_ack_irq(unsigned int irq)
547{
548 u8 pint_val = irq2pint_lut[irq - SYS_IRQS];
549 u32 pintbit = PINT_BIT(pint_val);
550 u8 bank = PINT_2_BANK(pint_val);
551
552 pint[bank]->request = pintbit;
553 pint[bank]->mask_clear = pintbit;
554 SSYNC();
555}
556
557static void bfin_gpio_mask_irq(unsigned int irq)
558{
559 u8 pint_val = irq2pint_lut[irq - SYS_IRQS];
560
561 pint[PINT_2_BANK(pint_val)]->mask_clear = PINT_BIT(pint_val);
562 SSYNC();
563}
564
565static void bfin_gpio_unmask_irq(unsigned int irq)
566{
567 u8 pint_val = irq2pint_lut[irq - SYS_IRQS];
568 u32 pintbit = PINT_BIT(pint_val);
569 u8 bank = PINT_2_BANK(pint_val);
570
571 pint[bank]->request = pintbit;
572 pint[bank]->mask_set = pintbit;
573 SSYNC();
574}
575
576static unsigned int bfin_gpio_irq_startup(unsigned int irq)
577{
578 unsigned int ret;
579 u16 gpionr = irq - IRQ_PA0;
580 u8 pint_val = irq2pint_lut[irq - SYS_IRQS];
581
582 if (pint_val == IRQ_NOT_AVAIL)
583 return -ENODEV;
584
585 if (!(gpio_enabled[gpio_bank(gpionr)] & gpio_bit(gpionr))) {
586 ret = gpio_request(gpionr, NULL);
587 if (ret)
588 return ret;
589 }
590
591 gpio_enabled[gpio_bank(gpionr)] |= gpio_bit(gpionr);
592 bfin_gpio_unmask_irq(irq);
593
594 return ret;
595}
596
597static void bfin_gpio_irq_shutdown(unsigned int irq)
598{
599 bfin_gpio_mask_irq(irq);
600 gpio_free(irq - IRQ_PA0);
601 gpio_enabled[gpio_bank(irq - IRQ_PA0)] &= ~gpio_bit(irq - IRQ_PA0);
602}
603
604static int bfin_gpio_irq_type(unsigned int irq, unsigned int type)
605{
606
607 unsigned int ret;
608 u16 gpionr = irq - IRQ_PA0;
609 u8 pint_val = irq2pint_lut[irq - SYS_IRQS];
610 u32 pintbit = PINT_BIT(pint_val);
611 u8 bank = PINT_2_BANK(pint_val);
612
613 if (pint_val == IRQ_NOT_AVAIL)
614 return -ENODEV;
615
616 if (type == IRQ_TYPE_PROBE) {
617 /* only probe unenabled GPIO interrupt lines */
618 if (gpio_enabled[gpio_bank(gpionr)] & gpio_bit(gpionr))
619 return 0;
620 type = IRQ_TYPE_EDGE_RISING | IRQ_TYPE_EDGE_FALLING;
621 }
622
623 if (type & (IRQ_TYPE_EDGE_RISING | IRQ_TYPE_EDGE_FALLING |
624 IRQ_TYPE_LEVEL_HIGH | IRQ_TYPE_LEVEL_LOW)) {
625 if (!(gpio_enabled[gpio_bank(gpionr)] & gpio_bit(gpionr))) {
626 ret = gpio_request(gpionr, NULL);
627 if (ret)
628 return ret;
629 }
630
631 gpio_enabled[gpio_bank(gpionr)] |= gpio_bit(gpionr);
632 } else {
633 gpio_enabled[gpio_bank(gpionr)] &= ~gpio_bit(gpionr);
634 return 0;
635 }
636
637 gpio_direction_input(gpionr);
638
639 if (type & (IRQ_TYPE_EDGE_RISING | IRQ_TYPE_EDGE_FALLING)) {
640 pint[bank]->edge_set = pintbit;
641 } else {
642 pint[bank]->edge_clear = pintbit;
643 }
644
645 if ((type & (IRQ_TYPE_EDGE_FALLING | IRQ_TYPE_LEVEL_LOW)))
646 pint[bank]->invert_set = pintbit; /* low or falling edge denoted by one */
647 else
648 pint[bank]->invert_set = pintbit; /* high or rising edge denoted by zero */
649
650 if (type & (IRQ_TYPE_EDGE_RISING | IRQ_TYPE_EDGE_FALLING))
651 pint[bank]->invert_set = pintbit;
652 else
653 pint[bank]->invert_set = pintbit;
654
655 SSYNC();
656
657 if (type & (IRQ_TYPE_EDGE_RISING | IRQ_TYPE_EDGE_FALLING))
658 set_irq_handler(irq, handle_edge_irq);
659 else
660 set_irq_handler(irq, handle_level_irq);
661
662 return 0;
663}
664
665static struct irq_chip bfin_gpio_irqchip = {
666 .ack = bfin_gpio_ack_irq,
667 .mask = bfin_gpio_mask_irq,
668 .mask_ack = bfin_gpio_mask_ack_irq,
669 .unmask = bfin_gpio_unmask_irq,
670 .set_type = bfin_gpio_irq_type,
671 .startup = bfin_gpio_irq_startup,
672 .shutdown = bfin_gpio_irq_shutdown
673};
674
675static void bfin_demux_gpio_irq(unsigned int intb_irq,
676 struct irq_desc *intb_desc)
677{
678 u8 bank, pint_val;
679 u32 request, irq;
680 struct irq_desc *desc;
681
682 switch (intb_irq) {
683 case IRQ_PINT0:
684 bank = 0;
685 break;
686 case IRQ_PINT2:
687 bank = 2;
688 break;
689 case IRQ_PINT3:
690 bank = 3;
691 break;
692 case IRQ_PINT1:
693 bank = 1;
694 break;
695 default:
696 return;
697 }
698
699 pint_val = bank * NR_PINT_BITS;
700
701 request = pint[bank]->request;
702
703 while (request) {
704 if (request & 1) {
705 irq = pint2irq_lut[pint_val] + SYS_IRQS;
706 desc = irq_desc + irq;
707 desc->handle_irq(irq, desc);
708 }
709 pint_val++;
710 request >>= 1;
711 }
712
713}
444#endif /* CONFIG_IRQCHIP_DEMUX_GPIO */ 714#endif /* CONFIG_IRQCHIP_DEMUX_GPIO */
445 715
446/* 716/*
@@ -452,7 +722,18 @@ int __init init_arch_irq(void)
452 int irq; 722 int irq;
453 unsigned long ilat = 0; 723 unsigned long ilat = 0;
454 /* Disable all the peripheral intrs - page 4-29 HW Ref manual */ 724 /* Disable all the peripheral intrs - page 4-29 HW Ref manual */
725#ifdef CONFIG_BF54x
726 bfin_write_SIC_IMASK0(SIC_UNMASK_ALL);
727 bfin_write_SIC_IMASK1(SIC_UNMASK_ALL);
728 bfin_write_SIC_IMASK2(SIC_UNMASK_ALL);
729 bfin_write_SIC_IWR0(IWR_ENABLE_ALL);
730 bfin_write_SIC_IWR1(IWR_ENABLE_ALL);
731 bfin_write_SIC_IWR2(IWR_ENABLE_ALL);
732#else
455 bfin_write_SIC_IMASK(SIC_UNMASK_ALL); 733 bfin_write_SIC_IMASK(SIC_UNMASK_ALL);
734 bfin_write_SIC_IWR(IWR_ENABLE_ALL);
735#endif
736
456 SSYNC(); 737 SSYNC();
457 738
458 local_irq_disable(); 739 local_irq_disable();
@@ -475,7 +756,18 @@ int __init init_arch_irq(void)
475 bfin_write_EVT15(evt_system_call); 756 bfin_write_EVT15(evt_system_call);
476 CSYNC(); 757 CSYNC();
477 758
478 for (irq = 0; irq < SYS_IRQS; irq++) { 759#if defined(CONFIG_IRQCHIP_DEMUX_GPIO) && defined(CONFIG_BF54x)
760#ifdef CONFIG_PINTx_REASSIGN
761 pint[0]->assign = CONFIG_PINT0_ASSIGN;
762 pint[1]->assign = CONFIG_PINT1_ASSIGN;
763 pint[2]->assign = CONFIG_PINT2_ASSIGN;
764 pint[3]->assign = CONFIG_PINT3_ASSIGN;
765#endif
766 /* Whenever PINTx_ASSIGN is altered init_pint_lut() must be executed! */
767 init_pint_lut();
768#endif
769
770 for (irq = 0; irq <= SYS_IRQS; irq++) {
479 if (irq <= IRQ_CORETMR) 771 if (irq <= IRQ_CORETMR)
480 set_irq_chip(irq, &bfin_core_irqchip); 772 set_irq_chip(irq, &bfin_core_irqchip);
481 else 773 else
@@ -484,20 +776,42 @@ int __init init_arch_irq(void)
484 if (irq != IRQ_GENERIC_ERROR) { 776 if (irq != IRQ_GENERIC_ERROR) {
485#endif 777#endif
486 778
779 switch (irq) {
487#ifdef CONFIG_IRQCHIP_DEMUX_GPIO 780#ifdef CONFIG_IRQCHIP_DEMUX_GPIO
488 if ((irq != IRQ_PROG_INTA) /*PORT F & G MASK_A Interrupt*/ 781#ifndef CONFIG_BF54x
489# if defined(BF537_FAMILY) && !(defined(CONFIG_BFIN_MAC) || defined(CONFIG_BFIN_MAC_MODULE)) 782 case IRQ_PROG_INTA:
490 && (irq != IRQ_MAC_RX) /*PORT H MASK_A Interrupt*/ 783 set_irq_chained_handler(irq,
491# endif 784 bfin_demux_gpio_irq);
492 ) { 785 break;
786#if defined(BF537_FAMILY) && !(defined(CONFIG_BFIN_MAC) || defined(CONFIG_BFIN_MAC_MODULE))
787 case IRQ_MAC_RX:
788 set_irq_chained_handler(irq,
789 bfin_demux_gpio_irq);
790 break;
493#endif 791#endif
494 set_irq_handler(irq, handle_simple_irq); 792#else
495#ifdef CONFIG_IRQCHIP_DEMUX_GPIO 793 case IRQ_PINT0:
496 } else {
497 set_irq_chained_handler(irq, 794 set_irq_chained_handler(irq,
498 bfin_demux_gpio_irq); 795 bfin_demux_gpio_irq);
499 } 796 break;
797 case IRQ_PINT1:
798 set_irq_chained_handler(irq,
799 bfin_demux_gpio_irq);
800 break;
801 case IRQ_PINT2:
802 set_irq_chained_handler(irq,
803 bfin_demux_gpio_irq);
804 break;
805 case IRQ_PINT3:
806 set_irq_chained_handler(irq,
807 bfin_demux_gpio_irq);
808 break;
809#endif /*CONFIG_BF54x */
500#endif 810#endif
811 default:
812 set_irq_handler(irq, handle_simple_irq);
813 break;
814 }
501 815
502#ifdef BF537_GENERIC_ERROR_INT_DEMUX 816#ifdef BF537_GENERIC_ERROR_INT_DEMUX
503 } else { 817 } else {
@@ -513,7 +827,11 @@ int __init init_arch_irq(void)
513#endif 827#endif
514 828
515#ifdef CONFIG_IRQCHIP_DEMUX_GPIO 829#ifdef CONFIG_IRQCHIP_DEMUX_GPIO
830#ifndef CONFIG_BF54x
516 for (irq = IRQ_PF0; irq < NR_IRQS; irq++) { 831 for (irq = IRQ_PF0; irq < NR_IRQS; irq++) {
832#else
833 for (irq = IRQ_PA0; irq < NR_IRQS; irq++) {
834#endif
517 set_irq_chip(irq, &bfin_gpio_irqchip); 835 set_irq_chip(irq, &bfin_gpio_irqchip);
518 /* if configured as edge, then will be changed to do_edge_IRQ */ 836 /* if configured as edge, then will be changed to do_edge_IRQ */
519 set_irq_handler(irq, handle_level_irq); 837 set_irq_handler(irq, handle_level_irq);
@@ -526,8 +844,7 @@ int __init init_arch_irq(void)
526 bfin_write_ILAT(ilat); 844 bfin_write_ILAT(ilat);
527 CSYNC(); 845 CSYNC();
528 846
529 printk(KERN_INFO 847 printk(KERN_INFO "Configuring Blackfin Priority Driven Interrupts\n");
530 "Configuring Blackfin Priority Driven Interrupts\n");
531 /* IMASK=xxx is equivalent to STI xx or irq_flags=xx, 848 /* IMASK=xxx is equivalent to STI xx or irq_flags=xx,
532 * local_irq_enable() 849 * local_irq_enable()
533 */ 850 */
@@ -538,14 +855,13 @@ int __init init_arch_irq(void)
538 /* Enable interrupts IVG7-15 */ 855 /* Enable interrupts IVG7-15 */
539 irq_flags = irq_flags | IMASK_IVG15 | 856 irq_flags = irq_flags | IMASK_IVG15 |
540 IMASK_IVG14 | IMASK_IVG13 | IMASK_IVG12 | IMASK_IVG11 | 857 IMASK_IVG14 | IMASK_IVG13 | IMASK_IVG12 | IMASK_IVG11 |
541 IMASK_IVG10 | IMASK_IVG9 | IMASK_IVG8 | IMASK_IVG7 | 858 IMASK_IVG10 | IMASK_IVG9 | IMASK_IVG8 | IMASK_IVG7 | IMASK_IVGHW;
542 IMASK_IVGHW;
543 859
544 return 0; 860 return 0;
545} 861}
546 862
547#ifdef CONFIG_DO_IRQ_L1 863#ifdef CONFIG_DO_IRQ_L1
548void do_irq(int vec, struct pt_regs *fp)__attribute__((l1_text)); 864void do_irq(int vec, struct pt_regs *fp) __attribute__((l1_text));
549#endif 865#endif
550 866
551void do_irq(int vec, struct pt_regs *fp) 867void do_irq(int vec, struct pt_regs *fp)
@@ -555,9 +871,25 @@ void do_irq(int vec, struct pt_regs *fp)
555 } else { 871 } else {
556 struct ivgx *ivg = ivg7_13[vec - IVG7].ifirst; 872 struct ivgx *ivg = ivg7_13[vec - IVG7].ifirst;
557 struct ivgx *ivg_stop = ivg7_13[vec - IVG7].istop; 873 struct ivgx *ivg_stop = ivg7_13[vec - IVG7].istop;
558 unsigned long sic_status; 874#ifdef CONFIG_BF54x
875 unsigned long sic_status[3];
559 876
560 SSYNC(); 877 SSYNC();
878 sic_status[0] = bfin_read_SIC_ISR(0) & bfin_read_SIC_IMASK(0);
879 sic_status[1] = bfin_read_SIC_ISR(1) & bfin_read_SIC_IMASK(1);
880 sic_status[2] = bfin_read_SIC_ISR(2) & bfin_read_SIC_IMASK(2);
881
882 for (;; ivg++) {
883 if (ivg >= ivg_stop) {
884 atomic_inc(&num_spurious);
885 return;
886 }
887 if (sic_status[(ivg->irqno - IVG7) / 32] & ivg->isrflag)
888 break;
889 }
890#else
891 unsigned long sic_status;
892 SSYNC();
561 sic_status = bfin_read_SIC_IMASK() & bfin_read_SIC_ISR(); 893 sic_status = bfin_read_SIC_IMASK() & bfin_read_SIC_ISR();
562 894
563 for (;; ivg++) { 895 for (;; ivg++) {
@@ -567,6 +899,7 @@ void do_irq(int vec, struct pt_regs *fp)
567 } else if (sic_status & ivg->isrflag) 899 } else if (sic_status & ivg->isrflag)
568 break; 900 break;
569 } 901 }
902#endif
570 vec = ivg->irqno; 903 vec = ivg->irqno;
571 } 904 }
572 asm_do_IRQ(vec, fp); 905 asm_do_IRQ(vec, fp);
diff --git a/arch/blackfin/mach-common/pm.c b/arch/blackfin/mach-common/pm.c
index 150ef5d088dc..1772d8d2c1a7 100644
--- a/arch/blackfin/mach-common/pm.c
+++ b/arch/blackfin/mach-common/pm.c
@@ -35,10 +35,10 @@
35#include <linux/pm.h> 35#include <linux/pm.h>
36#include <linux/sched.h> 36#include <linux/sched.h>
37#include <linux/proc_fs.h> 37#include <linux/proc_fs.h>
38#include <linux/io.h>
39#include <linux/irq.h>
38 40
39#include <asm/io.h>
40#include <asm/dpmc.h> 41#include <asm/dpmc.h>
41#include <asm/irq.h>
42#include <asm/gpio.h> 42#include <asm/gpio.h>
43 43
44#ifdef CONFIG_PM_WAKEUP_GPIO_POLAR_H 44#ifdef CONFIG_PM_WAKEUP_GPIO_POLAR_H
diff --git a/arch/blackfin/mm/blackfin_sram.c b/arch/blackfin/mm/blackfin_sram.c
index 68107924639e..16c6169ed01b 100644
--- a/arch/blackfin/mm/blackfin_sram.c
+++ b/arch/blackfin/mm/blackfin_sram.c
@@ -87,7 +87,7 @@ void __init l1sram_init(void)
87 L1_SCRATCH_LENGTH >> 10); 87 L1_SCRATCH_LENGTH >> 10);
88 88
89 memset(&l1_ssram, 0x00, sizeof(l1_ssram)); 89 memset(&l1_ssram, 0x00, sizeof(l1_ssram));
90 l1_ssram[0].paddr = (void*)L1_SCRATCH_START; 90 l1_ssram[0].paddr = (void *)L1_SCRATCH_START;
91 l1_ssram[0].size = L1_SCRATCH_LENGTH; 91 l1_ssram[0].size = L1_SCRATCH_LENGTH;
92 l1_ssram[0].flag = SRAM_SLT_FREE; 92 l1_ssram[0].flag = SRAM_SLT_FREE;
93 93
@@ -126,7 +126,7 @@ void __init l1_inst_sram_init(void)
126{ 126{
127#if L1_CODE_LENGTH != 0 127#if L1_CODE_LENGTH != 0
128 memset(&l1_inst_sram, 0x00, sizeof(l1_inst_sram)); 128 memset(&l1_inst_sram, 0x00, sizeof(l1_inst_sram));
129 l1_inst_sram[0].paddr = (void*)L1_CODE_START + (_etext_l1 - _stext_l1); 129 l1_inst_sram[0].paddr = (void *)L1_CODE_START + (_etext_l1 - _stext_l1);
130 l1_inst_sram[0].size = L1_CODE_LENGTH - (_etext_l1 - _stext_l1); 130 l1_inst_sram[0].size = L1_CODE_LENGTH - (_etext_l1 - _stext_l1);
131 l1_inst_sram[0].flag = SRAM_SLT_FREE; 131 l1_inst_sram[0].flag = SRAM_SLT_FREE;
132 132
diff --git a/arch/blackfin/mm/init.c b/arch/blackfin/mm/init.c
index 570356dbe028..68459cc052a1 100644
--- a/arch/blackfin/mm/init.c
+++ b/arch/blackfin/mm/init.c
@@ -29,8 +29,8 @@
29 29
30#include <linux/swap.h> 30#include <linux/swap.h>
31#include <linux/bootmem.h> 31#include <linux/bootmem.h>
32#include <linux/uaccess.h>
32#include <asm/bfin-global.h> 33#include <asm/bfin-global.h>
33#include <asm/uaccess.h>
34#include <asm/l1layout.h> 34#include <asm/l1layout.h>
35#include "blackfin_sram.h" 35#include "blackfin_sram.h"
36 36
@@ -168,42 +168,31 @@ void __init mem_init(void)
168 } 168 }
169} 169}
170 170
171#ifdef CONFIG_BLK_DEV_INITRD 171static __init void free_init_pages(const char *what, unsigned long begin, unsigned long end)
172void __init free_initrd_mem(unsigned long start, unsigned long end)
173{ 172{
174 int pages = 0; 173 unsigned long addr;
175 for (; start < end; start += PAGE_SIZE) { 174 /* next to check that the page we free is not a partial page */
176 ClearPageReserved(virt_to_page(start)); 175 for (addr = begin; addr + PAGE_SIZE <= end; addr += PAGE_SIZE) {
177 init_page_count(virt_to_page(start)); 176 ClearPageReserved(virt_to_page(addr));
178 free_page(start); 177 init_page_count(virt_to_page(addr));
178 free_page(addr);
179 totalram_pages++; 179 totalram_pages++;
180 pages++;
181 } 180 }
182 printk(KERN_NOTICE "Freeing initrd memory: %dk freed\n", pages); 181 printk(KERN_INFO "Freeing %s: %ldk freed\n", what, (end - begin) >> 10);
182}
183
184#ifdef CONFIG_BLK_DEV_INITRD
185void __init free_initrd_mem(unsigned long start, unsigned long end)
186{
187 free_init_pages("initrd memory", start, end);
183} 188}
184#endif 189#endif
185 190
186void __init free_initmem(void) 191void __init free_initmem(void)
187{ 192{
188#ifdef CONFIG_RAMKERNEL 193#ifdef CONFIG_RAMKERNEL
189 unsigned long addr; 194 free_init_pages("unused kernel memory",
190 /* 195 (unsigned long)(&__init_begin),
191 * the following code should be cool even if these sections 196 (unsigned long)(&__init_end));
192 * are not page aligned.
193 */
194 addr = PAGE_ALIGN((unsigned long)(__init_begin));
195 /* next to check that the page we free is not a partial page */
196 for (; addr + PAGE_SIZE < (unsigned long)(__init_end);
197 addr += PAGE_SIZE) {
198 ClearPageReserved(virt_to_page(addr));
199 init_page_count(virt_to_page(addr));
200 free_page(addr);
201 totalram_pages++;
202 }
203 printk(KERN_NOTICE
204 "Freeing unused kernel memory: %ldk freed (0x%x - 0x%x)\n",
205 (addr - PAGE_ALIGN((long)__init_begin)) >> 10,
206 (int)(PAGE_ALIGN((unsigned long)(__init_begin))),
207 (int)(addr - PAGE_SIZE));
208#endif 197#endif
209} 198}
diff --git a/arch/blackfin/oprofile/common.c b/arch/blackfin/oprofile/common.c
index 009a1700c854..cb8b8d5af34f 100644
--- a/arch/blackfin/oprofile/common.c
+++ b/arch/blackfin/oprofile/common.c
@@ -33,12 +33,12 @@
33#include <linux/smp.h> 33#include <linux/smp.h>
34#include <linux/errno.h> 34#include <linux/errno.h>
35#include <linux/mutex.h> 35#include <linux/mutex.h>
36#include <linux/ptrace.h>
37#include <linux/irq.h>
38#include <linux/io.h>
36 39
37#include <asm/ptrace.h>
38#include <asm/system.h> 40#include <asm/system.h>
39#include <asm/blackfin.h> 41#include <asm/blackfin.h>
40#include <asm/irq.h>
41#include <asm/io.h>
42 42
43#include "op_blackfin.h" 43#include "op_blackfin.h"
44 44
diff --git a/arch/blackfin/oprofile/op_model_bf533.c b/arch/blackfin/oprofile/op_model_bf533.c
index b7a20a006b49..872dffe33623 100644
--- a/arch/blackfin/oprofile/op_model_bf533.c
+++ b/arch/blackfin/oprofile/op_model_bf533.c
@@ -32,12 +32,12 @@
32#include <linux/init.h> 32#include <linux/init.h>
33#include <linux/smp.h> 33#include <linux/smp.h>
34#include <linux/interrupt.h> 34#include <linux/interrupt.h>
35#include <asm/ptrace.h> 35#include <linux/ptrace.h>
36#include <linux/irq.h>
37#include <linux/io.h>
36#include <asm/system.h> 38#include <asm/system.h>
37#include <asm/processor.h> 39#include <asm/processor.h>
38#include <asm/blackfin.h> 40#include <asm/blackfin.h>
39#include <asm/irq.h>
40#include <asm/io.h>
41 41
42#include "op_blackfin.h" 42#include "op_blackfin.h"
43 43
diff --git a/arch/blackfin/oprofile/timer_int.c b/arch/blackfin/oprofile/timer_int.c
index 8fba16c846c9..6c6f8606af4c 100644
--- a/arch/blackfin/oprofile/timer_int.c
+++ b/arch/blackfin/oprofile/timer_int.c
@@ -31,8 +31,7 @@
31#include <linux/smp.h> 31#include <linux/smp.h>
32#include <linux/irq.h> 32#include <linux/irq.h>
33#include <linux/oprofile.h> 33#include <linux/oprofile.h>
34 34#include <linux/ptrace.h>
35#include <asm/ptrace.h>
36 35
37static void enable_sys_timer0() 36static void enable_sys_timer0()
38{ 37{
diff --git a/arch/i386/Kconfig b/arch/i386/Kconfig
index 8770a5d0b143..b1b2b30b1b8e 100644
--- a/arch/i386/Kconfig
+++ b/arch/i386/Kconfig
@@ -441,8 +441,8 @@ config X86_REBOOTFIXUPS
441 this config is intended, is when reboot ends with a stalled/hung 441 this config is intended, is when reboot ends with a stalled/hung
442 system. 442 system.
443 443
444 Currently, the only fixup is for the Geode GX1/CS5530A/TROM2.1. 444 Currently, the only fixup is for the Geode machines using
445 combination. 445 CS5530A and CS5536 chipsets.
446 446
447 Say Y if you want to enable the fixup. Currently, it's safe to 447 Say Y if you want to enable the fixup. Currently, it's safe to
448 enable this option even if you don't need it. 448 enable this option even if you don't need it.
@@ -541,7 +541,7 @@ config HIGHMEM4G
541 541
542config HIGHMEM64G 542config HIGHMEM64G
543 bool "64GB" 543 bool "64GB"
544 depends on X86_CMPXCHG64 544 depends on !M386 && !M486
545 help 545 help
546 Select this if you have a 32-bit processor and more than 4 546 Select this if you have a 32-bit processor and more than 4
547 gigabytes of physical RAM. 547 gigabytes of physical RAM.
diff --git a/arch/i386/Kconfig.cpu b/arch/i386/Kconfig.cpu
index d7f6fb0b30f2..9cbe76c3aa35 100644
--- a/arch/i386/Kconfig.cpu
+++ b/arch/i386/Kconfig.cpu
@@ -299,7 +299,7 @@ config X86_POPAD_OK
299 299
300config X86_CMPXCHG64 300config X86_CMPXCHG64
301 bool 301 bool
302 depends on !M386 && !M486 302 depends on X86_PAE
303 default y 303 default y
304 304
305config X86_ALIGNMENT_16 305config X86_ALIGNMENT_16
@@ -344,8 +344,8 @@ config X86_CMOV
344 depends on (MK7 || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || MVIAC3_2 || MVIAC7) 344 depends on (MK7 || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || MVIAC3_2 || MVIAC7)
345 default y 345 default y
346 346
347config X86_MINIMUM_CPU_MODEL 347config X86_MINIMUM_CPU_FAMILY
348 int 348 int
349 default "4" if X86_XADD || X86_CMPXCHG || X86_BSWAP 349 default "4" if X86_XADD || X86_CMPXCHG || X86_BSWAP || X86_WP_WORKS_OK
350 default "0" 350 default "3"
351 351
diff --git a/arch/i386/Kconfig.debug b/arch/i386/Kconfig.debug
index 6293920cd1be..b31c0802e1cc 100644
--- a/arch/i386/Kconfig.debug
+++ b/arch/i386/Kconfig.debug
@@ -49,7 +49,6 @@ config DEBUG_PAGEALLOC
49config DEBUG_RODATA 49config DEBUG_RODATA
50 bool "Write protect kernel read-only data structures" 50 bool "Write protect kernel read-only data structures"
51 depends on DEBUG_KERNEL 51 depends on DEBUG_KERNEL
52 depends on !KPROBES # temporary for 2.6.22
53 help 52 help
54 Mark the kernel read-only data as write-protected in the pagetables, 53 Mark the kernel read-only data as write-protected in the pagetables,
55 in order to catch accidental (and incorrect) writes to such const 54 in order to catch accidental (and incorrect) writes to such const
diff --git a/arch/i386/boot/Makefile b/arch/i386/boot/Makefile
index bfbc32098a4a..08678a0a3d19 100644
--- a/arch/i386/boot/Makefile
+++ b/arch/i386/boot/Makefile
@@ -25,27 +25,56 @@ SVGA_MODE := -DSVGA_MODE=NORMAL_VGA
25 25
26#RAMDISK := -DRAMDISK=512 26#RAMDISK := -DRAMDISK=512
27 27
28targets := vmlinux.bin bootsect bootsect.o \ 28targets := vmlinux.bin setup.bin setup.elf zImage bzImage
29 setup setup.o zImage bzImage
30subdir- := compressed 29subdir- := compressed
31 30
31setup-y += a20.o apm.o cmdline.o copy.o cpu.o cpucheck.o edd.o
32setup-y += header.o main.o mca.o memory.o pm.o pmjump.o
33setup-y += printf.o string.o tty.o video.o version.o voyager.o
34
35# The link order of the video-*.o modules can matter. In particular,
36# video-vga.o *must* be listed first, followed by video-vesa.o.
37# Hardware-specific drivers should follow in the order they should be
38# probed, and video-bios.o should typically be last.
39setup-y += video-vga.o
40setup-y += video-vesa.o
41setup-y += video-bios.o
42
32hostprogs-y := tools/build 43hostprogs-y := tools/build
33 44
34HOSTCFLAGS_build.o := $(LINUXINCLUDE) 45HOSTCFLAGS_build.o := $(LINUXINCLUDE)
35 46
36# --------------------------------------------------------------------------- 47# ---------------------------------------------------------------------------
37 48
49# How to compile the 16-bit code. Note we always compile for -march=i386,
50# that way we can complain to the user if the CPU is insufficient.
51cflags-i386 :=
52cflags-x86_64 := -m32
53CFLAGS := $(LINUXINCLUDE) -g -Os -D_SETUP -D__KERNEL__ \
54 $(cflags-$(ARCH)) \
55 -Wall -Wstrict-prototypes \
56 -march=i386 -mregparm=3 \
57 -include $(srctree)/$(src)/code16gcc.h \
58 -fno-strict-aliasing -fomit-frame-pointer \
59 $(call cc-option, -ffreestanding) \
60 $(call cc-option, -fno-toplevel-reorder,\
61 $(call cc-option, -fno-unit-at-a-time)) \
62 $(call cc-option, -fno-stack-protector) \
63 $(call cc-option, -mpreferred-stack-boundary=2)
64AFLAGS := $(CFLAGS) -D__ASSEMBLY__
65
38$(obj)/zImage: IMAGE_OFFSET := 0x1000 66$(obj)/zImage: IMAGE_OFFSET := 0x1000
39$(obj)/zImage: EXTRA_AFLAGS := $(SVGA_MODE) $(RAMDISK) 67$(obj)/zImage: EXTRA_AFLAGS := $(SVGA_MODE) $(RAMDISK)
40$(obj)/bzImage: IMAGE_OFFSET := 0x100000 68$(obj)/bzImage: IMAGE_OFFSET := 0x100000
69$(obj)/bzImage: EXTRA_CFLAGS := -D__BIG_KERNEL__
41$(obj)/bzImage: EXTRA_AFLAGS := $(SVGA_MODE) $(RAMDISK) -D__BIG_KERNEL__ 70$(obj)/bzImage: EXTRA_AFLAGS := $(SVGA_MODE) $(RAMDISK) -D__BIG_KERNEL__
42$(obj)/bzImage: BUILDFLAGS := -b 71$(obj)/bzImage: BUILDFLAGS := -b
43 72
44quiet_cmd_image = BUILD $@ 73quiet_cmd_image = BUILD $@
45cmd_image = $(obj)/tools/build $(BUILDFLAGS) $(obj)/bootsect $(obj)/setup \ 74cmd_image = $(obj)/tools/build $(BUILDFLAGS) $(obj)/setup.bin \
46 $(obj)/vmlinux.bin $(ROOT_DEV) > $@ 75 $(obj)/vmlinux.bin $(ROOT_DEV) > $@
47 76
48$(obj)/zImage $(obj)/bzImage: $(obj)/bootsect $(obj)/setup \ 77$(obj)/zImage $(obj)/bzImage: $(obj)/setup.bin \
49 $(obj)/vmlinux.bin $(obj)/tools/build FORCE 78 $(obj)/vmlinux.bin $(obj)/tools/build FORCE
50 $(call if_changed,image) 79 $(call if_changed,image)
51 @echo 'Kernel: $@ is ready' ' (#'`cat .version`')' 80 @echo 'Kernel: $@ is ready' ' (#'`cat .version`')'
@@ -53,12 +82,17 @@ $(obj)/zImage $(obj)/bzImage: $(obj)/bootsect $(obj)/setup \
53$(obj)/vmlinux.bin: $(obj)/compressed/vmlinux FORCE 82$(obj)/vmlinux.bin: $(obj)/compressed/vmlinux FORCE
54 $(call if_changed,objcopy) 83 $(call if_changed,objcopy)
55 84
56LDFLAGS_bootsect := -Ttext 0x0 -s --oformat binary 85SETUP_OBJS = $(addprefix $(obj)/,$(setup-y))
57LDFLAGS_setup := -Ttext 0x0 -s --oformat binary -e begtext
58 86
59$(obj)/setup $(obj)/bootsect: %: %.o FORCE 87LDFLAGS_setup.elf := -T
88$(obj)/setup.elf: $(src)/setup.ld $(SETUP_OBJS) FORCE
60 $(call if_changed,ld) 89 $(call if_changed,ld)
61 90
91OBJCOPYFLAGS_setup.bin := -O binary
92
93$(obj)/setup.bin: $(obj)/setup.elf FORCE
94 $(call if_changed,objcopy)
95
62$(obj)/compressed/vmlinux: FORCE 96$(obj)/compressed/vmlinux: FORCE
63 $(Q)$(MAKE) $(build)=$(obj)/compressed IMAGE_OFFSET=$(IMAGE_OFFSET) $@ 97 $(Q)$(MAKE) $(build)=$(obj)/compressed IMAGE_OFFSET=$(IMAGE_OFFSET) $@
64 98
diff --git a/arch/i386/boot/a20.c b/arch/i386/boot/a20.c
new file mode 100644
index 000000000000..31348d054fca
--- /dev/null
+++ b/arch/i386/boot/a20.c
@@ -0,0 +1,161 @@
1/* -*- linux-c -*- ------------------------------------------------------- *
2 *
3 * Copyright (C) 1991, 1992 Linus Torvalds
4 * Copyright 2007 rPath, Inc. - All Rights Reserved
5 *
6 * This file is part of the Linux kernel, and is made available under
7 * the terms of the GNU General Public License version 2.
8 *
9 * ----------------------------------------------------------------------- */
10
11/*
12 * arch/i386/boot/a20.c
13 *
14 * Enable A20 gate (return -1 on failure)
15 */
16
17#include "boot.h"
18
19#define MAX_8042_LOOPS 100000
20
21static int empty_8042(void)
22{
23 u8 status;
24 int loops = MAX_8042_LOOPS;
25
26 while (loops--) {
27 io_delay();
28
29 status = inb(0x64);
30 if (status & 1) {
31 /* Read and discard input data */
32 io_delay();
33 (void)inb(0x60);
34 } else if (!(status & 2)) {
35 /* Buffers empty, finished! */
36 return 0;
37 }
38 }
39
40 return -1;
41}
42
43/* Returns nonzero if the A20 line is enabled. The memory address
44 used as a test is the int $0x80 vector, which should be safe. */
45
46#define A20_TEST_ADDR (4*0x80)
47#define A20_TEST_SHORT 32
48#define A20_TEST_LONG 2097152 /* 2^21 */
49
50static int a20_test(int loops)
51{
52 int ok = 0;
53 int saved, ctr;
54
55 set_fs(0x0000);
56 set_gs(0xffff);
57
58 saved = ctr = rdfs32(A20_TEST_ADDR);
59
60 while (loops--) {
61 wrfs32(++ctr, A20_TEST_ADDR);
62 io_delay(); /* Serialize and make delay constant */
63 ok = rdgs32(A20_TEST_ADDR+0x10) ^ ctr;
64 if (ok)
65 break;
66 }
67
68 wrfs32(saved, A20_TEST_ADDR);
69 return ok;
70}
71
72/* Quick test to see if A20 is already enabled */
73static int a20_test_short(void)
74{
75 return a20_test(A20_TEST_SHORT);
76}
77
78/* Longer test that actually waits for A20 to come on line; this
79 is useful when dealing with the KBC or other slow external circuitry. */
80static int a20_test_long(void)
81{
82 return a20_test(A20_TEST_LONG);
83}
84
85static void enable_a20_bios(void)
86{
87 asm volatile("pushfl; int $0x15; popfl"
88 : : "a" ((u16)0x2401));
89}
90
91static void enable_a20_kbc(void)
92{
93 empty_8042();
94
95 outb(0xd1, 0x64); /* Command write */
96 empty_8042();
97
98 outb(0xdf, 0x60); /* A20 on */
99 empty_8042();
100}
101
102static void enable_a20_fast(void)
103{
104 u8 port_a;
105
106 port_a = inb(0x92); /* Configuration port A */
107 port_a |= 0x02; /* Enable A20 */
108 port_a &= ~0x01; /* Do not reset machine */
109 outb(port_a, 0x92);
110}
111
112/*
113 * Actual routine to enable A20; return 0 on ok, -1 on failure
114 */
115
116#define A20_ENABLE_LOOPS 255 /* Number of times to try */
117
118int enable_a20(void)
119{
120 int loops = A20_ENABLE_LOOPS;
121
122#if defined(CONFIG_X86_ELAN)
123 /* Elan croaks if we try to touch the KBC */
124 enable_a20_fast();
125 while (!a20_test_long())
126 ;
127 return 0;
128#elif defined(CONFIG_X86_VOYAGER)
129 /* On Voyager, a20_test() is unsafe? */
130 enable_a20_kbc();
131 return 0;
132#else
133 while (loops--) {
134 /* First, check to see if A20 is already enabled
135 (legacy free, etc.) */
136 if (a20_test_short())
137 return 0;
138
139 /* Next, try the BIOS (INT 0x15, AX=0x2401) */
140 enable_a20_bios();
141 if (a20_test_short())
142 return 0;
143
144 /* Try enabling A20 through the keyboard controller */
145 empty_8042();
146 if (a20_test_short())
147 return 0; /* BIOS worked, but with delayed reaction */
148
149 enable_a20_kbc();
150 if (a20_test_long())
151 return 0;
152
153 /* Finally, try enabling the "fast A20 gate" */
154 enable_a20_fast();
155 if (a20_test_long())
156 return 0;
157 }
158
159 return -1;
160#endif
161}
diff --git a/arch/i386/boot/apm.c b/arch/i386/boot/apm.c
new file mode 100644
index 000000000000..a34087c370c0
--- /dev/null
+++ b/arch/i386/boot/apm.c
@@ -0,0 +1,97 @@
1/* -*- linux-c -*- ------------------------------------------------------- *
2 *
3 * Copyright (C) 1991, 1992 Linus Torvalds
4 * Copyright 2007 rPath, Inc. - All Rights Reserved
5 *
6 * Original APM BIOS checking by Stephen Rothwell, May 1994
7 * (sfr@canb.auug.org.au)
8 *
9 * This file is part of the Linux kernel, and is made available under
10 * the terms of the GNU General Public License version 2.
11 *
12 * ----------------------------------------------------------------------- */
13
14/*
15 * arch/i386/boot/apm.c
16 *
17 * Get APM BIOS information
18 */
19
20#include "boot.h"
21
22#if defined(CONFIG_APM) || defined(CONFIG_APM_MODULE)
23
24int query_apm_bios(void)
25{
26 u16 ax, bx, cx, dx, di;
27 u32 ebx, esi;
28 u8 err;
29
30 /* APM BIOS installation check */
31 ax = 0x5300;
32 bx = cx = 0;
33 asm volatile("pushl %%ebp ; int $0x15 ; popl %%ebp ; setc %0"
34 : "=d" (err), "+a" (ax), "+b" (bx), "+c" (cx)
35 : : "esi", "edi");
36
37 if (err)
38 return -1; /* No APM BIOS */
39
40 if (bx != 0x504d) /* "PM" signature */
41 return -1;
42
43 if (cx & 0x02) /* 32 bits supported? */
44 return -1;
45
46 /* Disconnect first, just in case */
47 ax = 0x5304;
48 asm volatile("pushl %%ebp ; int $0x15 ; popl %%ebp"
49 : "+a" (ax)
50 : : "ebx", "ecx", "edx", "esi", "edi");
51
52 /* Paranoia */
53 ebx = esi = 0;
54 cx = dx = di = 0;
55
56 /* 32-bit connect */
57 asm volatile("pushl %%ebp ; int $0x15 ; popl %%ebp ; setc %6"
58 : "=a" (ax), "+b" (ebx), "+c" (cx), "+d" (dx),
59 "+S" (esi), "+D" (di), "=m" (err)
60 : "a" (0x5303));
61
62 boot_params.apm_bios_info.cseg = ax;
63 boot_params.apm_bios_info.offset = ebx;
64 boot_params.apm_bios_info.cseg_16 = cx;
65 boot_params.apm_bios_info.dseg = dx;
66 boot_params.apm_bios_info.cseg_len = (u16)esi;
67 boot_params.apm_bios_info.cseg_16_len = esi >> 16;
68 boot_params.apm_bios_info.dseg_len = di;
69
70 if (err)
71 return -1;
72
73 /* Redo the installation check as the 32-bit connect;
74 some BIOSes return different flags this way... */
75
76 ax = 0x5300;
77 bx = cx = 0;
78 asm volatile("pushl %%ebp ; int $0x15 ; popl %%ebp ; setc %0"
79 : "=d" (err), "+a" (ax), "+b" (bx), "+c" (cx)
80 : : "esi", "edi");
81
82 if (err || bx != 0x504d) {
83 /* Failure with 32-bit connect, try to disconect and ignore */
84 ax = 0x5304;
85 bx = 0;
86 asm volatile("pushl %%ebp ; int $0x15 ; popl %%ebp"
87 : "+a" (ax), "+b" (bx)
88 : : "ecx", "edx", "esi", "edi");
89 return -1;
90 }
91
92 boot_params.apm_bios_info.version = ax;
93 boot_params.apm_bios_info.flags = cx;
94 return 0;
95}
96
97#endif
diff --git a/arch/i386/boot/bitops.h b/arch/i386/boot/bitops.h
new file mode 100644
index 000000000000..8dcc8dc7db88
--- /dev/null
+++ b/arch/i386/boot/bitops.h
@@ -0,0 +1,45 @@
1/* -*- linux-c -*- ------------------------------------------------------- *
2 *
3 * Copyright (C) 1991, 1992 Linus Torvalds
4 * Copyright 2007 rPath, Inc. - All Rights Reserved
5 *
6 * This file is part of the Linux kernel, and is made available under
7 * the terms of the GNU General Public License version 2.
8 *
9 * ----------------------------------------------------------------------- */
10
11/*
12 * arch/i386/boot/bitops.h
13 *
14 * Very simple bitops for the boot code.
15 */
16
17#ifndef BOOT_BITOPS_H
18#define BOOT_BITOPS_H
19#define _LINUX_BITOPS_H /* Inhibit inclusion of <linux/bitops.h> */
20
21static inline int constant_test_bit(int nr, const void *addr)
22{
23 const u32 *p = (const u32 *)addr;
24 return ((1UL << (nr & 31)) & (p[nr >> 5])) != 0;
25}
26static inline int variable_test_bit(int nr, const void *addr)
27{
28 u8 v;
29 const u32 *p = (const u32 *)addr;
30
31 asm("btl %2,%1; setc %0" : "=qm" (v) : "m" (*p), "Ir" (nr));
32 return v;
33}
34
35#define test_bit(nr,addr) \
36(__builtin_constant_p(nr) ? \
37 constant_test_bit((nr),(addr)) : \
38 variable_test_bit((nr),(addr)))
39
40static inline void set_bit(int nr, void *addr)
41{
42 asm("btsl %1,%0" : "+m" (*(u32 *)addr) : "Ir" (nr));
43}
44
45#endif /* BOOT_BITOPS_H */
diff --git a/arch/i386/boot/boot.h b/arch/i386/boot/boot.h
new file mode 100644
index 000000000000..0329c4fe4f88
--- /dev/null
+++ b/arch/i386/boot/boot.h
@@ -0,0 +1,296 @@
1/* -*- linux-c -*- ------------------------------------------------------- *
2 *
3 * Copyright (C) 1991, 1992 Linus Torvalds
4 * Copyright 2007 rPath, Inc. - All Rights Reserved
5 *
6 * This file is part of the Linux kernel, and is made available under
7 * the terms of the GNU General Public License version 2.
8 *
9 * ----------------------------------------------------------------------- */
10
11/*
12 * arch/i386/boot/boot.h
13 *
14 * Header file for the real-mode kernel code
15 */
16
17#ifndef BOOT_BOOT_H
18#define BOOT_BOOT_H
19
20#ifndef __ASSEMBLY__
21
22#include <stdarg.h>
23#include <linux/types.h>
24#include <linux/edd.h>
25#include <asm/boot.h>
26#include <asm/bootparam.h>
27
28/* Useful macros */
29#define BUILD_BUG_ON(condition) ((void)sizeof(char[1 - 2*!!(condition)]))
30
31extern struct setup_header hdr;
32extern struct boot_params boot_params;
33
34/* Basic port I/O */
35static inline void outb(u8 v, u16 port)
36{
37 asm volatile("outb %0,%1" : : "a" (v), "dN" (port));
38}
39static inline u8 inb(u16 port)
40{
41 u8 v;
42 asm volatile("inb %1,%0" : "=a" (v) : "dN" (port));
43 return v;
44}
45
46static inline void outw(u16 v, u16 port)
47{
48 asm volatile("outw %0,%1" : : "a" (v), "dN" (port));
49}
50static inline u16 inw(u16 port)
51{
52 u16 v;
53 asm volatile("inw %1,%0" : "=a" (v) : "dN" (port));
54 return v;
55}
56
57static inline void outl(u32 v, u16 port)
58{
59 asm volatile("outl %0,%1" : : "a" (v), "dn" (port));
60}
61static inline u32 inl(u32 port)
62{
63 u32 v;
64 asm volatile("inl %1,%0" : "=a" (v) : "dN" (port));
65 return v;
66}
67
68static inline void io_delay(void)
69{
70 const u16 DELAY_PORT = 0x80;
71 asm volatile("outb %%al,%0" : : "dN" (DELAY_PORT));
72}
73
74/* These functions are used to reference data in other segments. */
75
76static inline u16 ds(void)
77{
78 u16 seg;
79 asm("movw %%ds,%0" : "=rm" (seg));
80 return seg;
81}
82
83static inline void set_fs(u16 seg)
84{
85 asm volatile("movw %0,%%fs" : : "rm" (seg));
86}
87static inline u16 fs(void)
88{
89 u16 seg;
90 asm("movw %%fs,%0" : "=rm" (seg));
91 return seg;
92}
93
94static inline void set_gs(u16 seg)
95{
96 asm volatile("movw %0,%%gs" : : "rm" (seg));
97}
98static inline u16 gs(void)
99{
100 u16 seg;
101 asm("movw %%gs,%0" : "=rm" (seg));
102 return seg;
103}
104
105typedef unsigned int addr_t;
106
107static inline u8 rdfs8(addr_t addr)
108{
109 u8 v;
110 asm("movb %%fs:%1,%0" : "=r" (v) : "m" (*(u8 *)addr));
111 return v;
112}
113static inline u16 rdfs16(addr_t addr)
114{
115 u16 v;
116 asm("movw %%fs:%1,%0" : "=r" (v) : "m" (*(u16 *)addr));
117 return v;
118}
119static inline u32 rdfs32(addr_t addr)
120{
121 u32 v;
122 asm("movl %%fs:%1,%0" : "=r" (v) : "m" (*(u32 *)addr));
123 return v;
124}
125
126static inline void wrfs8(u8 v, addr_t addr)
127{
128 asm volatile("movb %1,%%fs:%0" : "+m" (*(u8 *)addr) : "r" (v));
129}
130static inline void wrfs16(u16 v, addr_t addr)
131{
132 asm volatile("movw %1,%%fs:%0" : "+m" (*(u16 *)addr) : "r" (v));
133}
134static inline void wrfs32(u32 v, addr_t addr)
135{
136 asm volatile("movl %1,%%fs:%0" : "+m" (*(u32 *)addr) : "r" (v));
137}
138
139static inline u8 rdgs8(addr_t addr)
140{
141 u8 v;
142 asm("movb %%gs:%1,%0" : "=r" (v) : "m" (*(u8 *)addr));
143 return v;
144}
145static inline u16 rdgs16(addr_t addr)
146{
147 u16 v;
148 asm("movw %%gs:%1,%0" : "=r" (v) : "m" (*(u16 *)addr));
149 return v;
150}
151static inline u32 rdgs32(addr_t addr)
152{
153 u32 v;
154 asm("movl %%gs:%1,%0" : "=r" (v) : "m" (*(u32 *)addr));
155 return v;
156}
157
158static inline void wrgs8(u8 v, addr_t addr)
159{
160 asm volatile("movb %1,%%gs:%0" : "+m" (*(u8 *)addr) : "r" (v));
161}
162static inline void wrgs16(u16 v, addr_t addr)
163{
164 asm volatile("movw %1,%%gs:%0" : "+m" (*(u16 *)addr) : "r" (v));
165}
166static inline void wrgs32(u32 v, addr_t addr)
167{
168 asm volatile("movl %1,%%gs:%0" : "+m" (*(u32 *)addr) : "r" (v));
169}
170
171/* Note: these only return true/false, not a signed return value! */
172static inline int memcmp(const void *s1, const void *s2, size_t len)
173{
174 u8 diff;
175 asm("repe; cmpsb; setnz %0"
176 : "=qm" (diff), "+D" (s1), "+S" (s2), "+c" (len));
177 return diff;
178}
179
180static inline int memcmp_fs(const void *s1, addr_t s2, size_t len)
181{
182 u8 diff;
183 asm("fs; repe; cmpsb; setnz %0"
184 : "=qm" (diff), "+D" (s1), "+S" (s2), "+c" (len));
185 return diff;
186}
187static inline int memcmp_gs(const void *s1, addr_t s2, size_t len)
188{
189 u8 diff;
190 asm("gs; repe; cmpsb; setnz %0"
191 : "=qm" (diff), "+D" (s1), "+S" (s2), "+c" (len));
192 return diff;
193}
194
195static inline int isdigit(int ch)
196{
197 return (ch >= '0') && (ch <= '9');
198}
199
200/* Heap -- available for dynamic lists. */
201#define STACK_SIZE 512 /* Minimum number of bytes for stack */
202
203extern char _end[];
204extern char *HEAP;
205extern char *heap_end;
206#define RESET_HEAP() ((void *)( HEAP = _end ))
207static inline char *__get_heap(size_t s, size_t a, size_t n)
208{
209 char *tmp;
210
211 HEAP = (char *)(((size_t)HEAP+(a-1)) & ~(a-1));
212 tmp = HEAP;
213 HEAP += s*n;
214 return tmp;
215}
216#define GET_HEAP(type, n) \
217 ((type *)__get_heap(sizeof(type),__alignof__(type),(n)))
218
219static inline int heap_free(void)
220{
221 return heap_end-HEAP;
222}
223
224/* copy.S */
225
226void copy_to_fs(addr_t dst, void *src, size_t len);
227void *copy_from_fs(void *dst, addr_t src, size_t len);
228void copy_to_gs(addr_t dst, void *src, size_t len);
229void *copy_from_gs(void *dst, addr_t src, size_t len);
230void *memcpy(void *dst, void *src, size_t len);
231void *memset(void *dst, int c, size_t len);
232
233#define memcpy(d,s,l) __builtin_memcpy(d,s,l)
234#define memset(d,c,l) __builtin_memset(d,c,l)
235
236/* a20.c */
237int enable_a20(void);
238
239/* apm.c */
240int query_apm_bios(void);
241
242/* cmdline.c */
243int cmdline_find_option(const char *option, char *buffer, int bufsize);
244
245/* cpu.c, cpucheck.c */
246int check_cpu(int *cpu_level_ptr, int *req_level_ptr, u32 **err_flags_ptr);
247int validate_cpu(void);
248
249/* edd.c */
250void query_edd(void);
251
252/* header.S */
253void __attribute__((noreturn)) die(void);
254
255/* mca.c */
256int query_mca(void);
257
258/* memory.c */
259int detect_memory(void);
260
261/* pm.c */
262void __attribute__((noreturn)) go_to_protected_mode(void);
263
264/* pmjump.S */
265void __attribute__((noreturn))
266 protected_mode_jump(u32 entrypoint, u32 bootparams);
267
268/* printf.c */
269int sprintf(char *buf, const char *fmt, ...);
270int vsprintf(char *buf, const char *fmt, va_list args);
271int printf(const char *fmt, ...);
272
273/* string.c */
274int strcmp(const char *str1, const char *str2);
275size_t strnlen(const char *s, size_t maxlen);
276unsigned int atou(const char *s);
277
278/* tty.c */
279void puts(const char *);
280void putchar(int);
281int getchar(void);
282void kbd_flush(void);
283int getchar_timeout(void);
284
285/* video.c */
286void set_video(void);
287
288/* video-vesa.c */
289void vesa_store_edid(void);
290
291/* voyager.c */
292int query_voyager(void);
293
294#endif /* __ASSEMBLY__ */
295
296#endif /* BOOT_BOOT_H */
diff --git a/arch/i386/boot/bootsect.S b/arch/i386/boot/bootsect.S
deleted file mode 100644
index 011b7a4993d4..000000000000
--- a/arch/i386/boot/bootsect.S
+++ /dev/null
@@ -1,98 +0,0 @@
1/*
2 * bootsect.S Copyright (C) 1991, 1992 Linus Torvalds
3 *
4 * modified by Drew Eckhardt
5 * modified by Bruce Evans (bde)
6 * modified by Chris Noe (May 1999) (as86 -> gas)
7 * gutted by H. Peter Anvin (Jan 2003)
8 *
9 * BIG FAT NOTE: We're in real mode using 64k segments. Therefore segment
10 * addresses must be multiplied by 16 to obtain their respective linear
11 * addresses. To avoid confusion, linear addresses are written using leading
12 * hex while segment addresses are written as segment:offset.
13 *
14 */
15
16#include <asm/boot.h>
17
18SETUPSECTS = 4 /* default nr of setup-sectors */
19BOOTSEG = 0x07C0 /* original address of boot-sector */
20INITSEG = DEF_INITSEG /* we move boot here - out of the way */
21SETUPSEG = DEF_SETUPSEG /* setup starts here */
22SYSSEG = DEF_SYSSEG /* system loaded at 0x10000 (65536) */
23SYSSIZE = DEF_SYSSIZE /* system size: # of 16-byte clicks */
24 /* to be loaded */
25ROOT_DEV = 0 /* ROOT_DEV is now written by "build" */
26SWAP_DEV = 0 /* SWAP_DEV is now written by "build" */
27
28#ifndef SVGA_MODE
29#define SVGA_MODE ASK_VGA
30#endif
31
32#ifndef RAMDISK
33#define RAMDISK 0
34#endif
35
36#ifndef ROOT_RDONLY
37#define ROOT_RDONLY 1
38#endif
39
40.code16
41.text
42
43.global _start
44_start:
45
46 # Normalize the start address
47 jmpl $BOOTSEG, $start2
48
49start2:
50 movw %cs, %ax
51 movw %ax, %ds
52 movw %ax, %es
53 movw %ax, %ss
54 movw $0x7c00, %sp
55 sti
56 cld
57
58 movw $bugger_off_msg, %si
59
60msg_loop:
61 lodsb
62 andb %al, %al
63 jz die
64 movb $0xe, %ah
65 movw $7, %bx
66 int $0x10
67 jmp msg_loop
68
69die:
70 # Allow the user to press a key, then reboot
71 xorw %ax, %ax
72 int $0x16
73 int $0x19
74
75 # int 0x19 should never return. In case it does anyway,
76 # invoke the BIOS reset code...
77 ljmp $0xf000,$0xfff0
78
79
80bugger_off_msg:
81 .ascii "Direct booting from floppy is no longer supported.\r\n"
82 .ascii "Please use a boot loader program instead.\r\n"
83 .ascii "\n"
84 .ascii "Remove disk and press any key to reboot . . .\r\n"
85 .byte 0
86
87
88 # Kernel attributes; used by setup
89
90 .org 497
91setup_sects: .byte SETUPSECTS
92root_flags: .word ROOT_RDONLY
93syssize: .word SYSSIZE
94swap_dev: .word SWAP_DEV
95ram_size: .word RAMDISK
96vid_mode: .word SVGA_MODE
97root_dev: .word ROOT_DEV
98boot_flag: .word 0xAA55
diff --git a/arch/i386/boot/cmdline.c b/arch/i386/boot/cmdline.c
new file mode 100644
index 000000000000..34bb778c4357
--- /dev/null
+++ b/arch/i386/boot/cmdline.c
@@ -0,0 +1,97 @@
1/* -*- linux-c -*- ------------------------------------------------------- *
2 *
3 * Copyright (C) 1991, 1992 Linus Torvalds
4 * Copyright 2007 rPath, Inc. - All Rights Reserved
5 *
6 * This file is part of the Linux kernel, and is made available under
7 * the terms of the GNU General Public License version 2.
8 *
9 * ----------------------------------------------------------------------- */
10
11/*
12 * arch/i386/boot/cmdline.c
13 *
14 * Simple command-line parser for early boot.
15 */
16
17#include "boot.h"
18
19static inline int myisspace(u8 c)
20{
21 return c <= ' '; /* Close enough approximation */
22}
23
24/*
25 * Find a non-boolean option, that is, "option=argument". In accordance
26 * with standard Linux practice, if this option is repeated, this returns
27 * the last instance on the command line.
28 *
29 * Returns the length of the argument (regardless of if it was
30 * truncated to fit in the buffer), or -1 on not found.
31 */
32int cmdline_find_option(const char *option, char *buffer, int bufsize)
33{
34 u32 cmdline_ptr = boot_params.hdr.cmd_line_ptr;
35 addr_t cptr;
36 char c;
37 int len = -1;
38 const char *opptr = NULL;
39 char *bufptr = buffer;
40 enum {
41 st_wordstart, /* Start of word/after whitespace */
42 st_wordcmp, /* Comparing this word */
43 st_wordskip, /* Miscompare, skip */
44 st_bufcpy /* Copying this to buffer */
45 } state = st_wordstart;
46
47 if (!cmdline_ptr || cmdline_ptr >= 0x100000)
48 return -1; /* No command line, or inaccessible */
49
50 cptr = cmdline_ptr & 0xf;
51 set_fs(cmdline_ptr >> 4);
52
53 while (cptr < 0x10000 && (c = rdfs8(cptr++))) {
54 switch (state) {
55 case st_wordstart:
56 if (myisspace(c))
57 break;
58
59 /* else */
60 state = st_wordcmp;
61 opptr = option;
62 /* fall through */
63
64 case st_wordcmp:
65 if (c == '=' && !*opptr) {
66 len = 0;
67 bufptr = buffer;
68 state = st_bufcpy;
69 } else if (myisspace(c)) {
70 state = st_wordstart;
71 } else if (c != *opptr++) {
72 state = st_wordskip;
73 }
74 break;
75
76 case st_wordskip:
77 if (myisspace(c))
78 state = st_wordstart;
79 break;
80
81 case st_bufcpy:
82 if (myisspace(c)) {
83 state = st_wordstart;
84 } else {
85 if (len < bufsize-1)
86 *bufptr++ = c;
87 len++;
88 }
89 break;
90 }
91 }
92
93 if (bufsize)
94 *bufptr = '\0';
95
96 return len;
97}
diff --git a/arch/i386/boot/code16gcc.h b/arch/i386/boot/code16gcc.h
new file mode 100644
index 000000000000..3bd848093b9d
--- /dev/null
+++ b/arch/i386/boot/code16gcc.h
@@ -0,0 +1,15 @@
1/*
2 * code16gcc.h
3 *
4 * This file is -include'd when compiling 16-bit C code.
5 * Note: this asm() needs to be emitted before gcc omits any code.
6 * Depending on gcc version, this requires -fno-unit-at-a-time or
7 * -fno-toplevel-reorder.
8 *
9 * Hopefully gcc will eventually have a real -m16 option so we can
10 * drop this hack long term.
11 */
12
13#ifndef __ASSEMBLY__
14asm(".code16gcc");
15#endif
diff --git a/arch/i386/boot/compressed/Makefile b/arch/i386/boot/compressed/Makefile
index a661217f33ec..189fa1dbefcc 100644
--- a/arch/i386/boot/compressed/Makefile
+++ b/arch/i386/boot/compressed/Makefile
@@ -9,9 +9,14 @@ targets := vmlinux vmlinux.bin vmlinux.bin.gz head.o misc.o piggy.o \
9EXTRA_AFLAGS := -traditional 9EXTRA_AFLAGS := -traditional
10 10
11LDFLAGS_vmlinux := -T 11LDFLAGS_vmlinux := -T
12CFLAGS_misc.o += -fPIC
13hostprogs-y := relocs 12hostprogs-y := relocs
14 13
14CFLAGS := -m32 -D__KERNEL__ $(LINUX_INCLUDE) -O2 \
15 -fno-strict-aliasing -fPIC \
16 $(call cc-option,-ffreestanding) \
17 $(call cc-option,-fno-stack-protector)
18LDFLAGS := -m elf_i386
19
15$(obj)/vmlinux: $(src)/vmlinux.lds $(obj)/head.o $(obj)/misc.o $(obj)/piggy.o FORCE 20$(obj)/vmlinux: $(src)/vmlinux.lds $(obj)/head.o $(obj)/misc.o $(obj)/piggy.o FORCE
16 $(call if_changed,ld) 21 $(call if_changed,ld)
17 @: 22 @:
diff --git a/arch/i386/boot/compressed/head.S b/arch/i386/boot/compressed/head.S
index 3517a32aaf41..f35ea2237522 100644
--- a/arch/i386/boot/compressed/head.S
+++ b/arch/i386/boot/compressed/head.S
@@ -45,10 +45,10 @@ startup_32:
45 * at and where we were actually loaded at. This can only be done 45 * at and where we were actually loaded at. This can only be done
46 * with a short local call on x86. Nothing else will tell us what 46 * with a short local call on x86. Nothing else will tell us what
47 * address we are running at. The reserved chunk of the real-mode 47 * address we are running at. The reserved chunk of the real-mode
48 * data at 0x34-0x3f are used as the stack for this calculation. 48 * data at 0x1e4 (defined as a scratch field) are used as the stack
49 * Only 4 bytes are needed. 49 * for this calculation. Only 4 bytes are needed.
50 */ 50 */
51 leal 0x40(%esi), %esp 51 leal (0x1e4+4)(%esi), %esp
52 call 1f 52 call 1f
531: popl %ebp 531: popl %ebp
54 subl $1b, %ebp 54 subl $1b, %ebp
diff --git a/arch/i386/boot/copy.S b/arch/i386/boot/copy.S
new file mode 100644
index 000000000000..ef127e56a3cf
--- /dev/null
+++ b/arch/i386/boot/copy.S
@@ -0,0 +1,101 @@
1/* ----------------------------------------------------------------------- *
2 *
3 * Copyright (C) 1991, 1992 Linus Torvalds
4 * Copyright 2007 rPath, Inc. - All Rights Reserved
5 *
6 * This file is part of the Linux kernel, and is made available under
7 * the terms of the GNU General Public License version 2.
8 *
9 * ----------------------------------------------------------------------- */
10
11/*
12 * arch/i386/boot/copy.S
13 *
14 * Memory copy routines
15 */
16
17 .code16gcc
18 .text
19
20 .globl memcpy
21 .type memcpy, @function
22memcpy:
23 pushw %si
24 pushw %di
25 movw %ax, %di
26 movw %dx, %si
27 pushw %cx
28 shrw $2, %cx
29 rep; movsl
30 popw %cx
31 andw $3, %cx
32 rep; movsb
33 popw %di
34 popw %si
35 ret
36 .size memcpy, .-memcpy
37
38 .globl memset
39 .type memset, @function
40memset:
41 pushw %di
42 movw %ax, %di
43 movzbl %dl, %eax
44 imull $0x01010101,%eax
45 pushw %cx
46 shrw $2, %cx
47 rep; stosl
48 popw %cx
49 andw $3, %cx
50 rep; stosb
51 popw %di
52 ret
53 .size memset, .-memset
54
55 .globl copy_from_fs
56 .type copy_from_fs, @function
57copy_from_fs:
58 pushw %ds
59 pushw %fs
60 popw %ds
61 call memcpy
62 popw %ds
63 ret
64 .size copy_from_fs, .-copy_from_fs
65
66 .globl copy_to_fs
67 .type copy_to_fs, @function
68copy_to_fs:
69 pushw %es
70 pushw %fs
71 popw %es
72 call memcpy
73 popw %es
74 ret
75 .size copy_to_fs, .-copy_to_fs
76
77#if 0 /* Not currently used, but can be enabled as needed */
78
79 .globl copy_from_gs
80 .type copy_from_gs, @function
81copy_from_gs:
82 pushw %ds
83 pushw %gs
84 popw %ds
85 call memcpy
86 popw %ds
87 ret
88 .size copy_from_gs, .-copy_from_gs
89 .globl copy_to_gs
90
91 .type copy_to_gs, @function
92copy_to_gs:
93 pushw %es
94 pushw %gs
95 popw %es
96 call memcpy
97 popw %es
98 ret
99 .size copy_to_gs, .-copy_to_gs
100
101#endif
diff --git a/arch/i386/boot/cpu.c b/arch/i386/boot/cpu.c
new file mode 100644
index 000000000000..2a5c32da5852
--- /dev/null
+++ b/arch/i386/boot/cpu.c
@@ -0,0 +1,69 @@
1/* -*- linux-c -*- ------------------------------------------------------- *
2 *
3 * Copyright (C) 1991, 1992 Linus Torvalds
4 * Copyright 2007 rPath, Inc. - All Rights Reserved
5 *
6 * This file is part of the Linux kernel, and is made available under
7 * the terms of the GNU General Public License version 2.
8 *
9 * ----------------------------------------------------------------------- */
10
11/*
12 * arch/i386/boot/cpu.c
13 *
14 * Check for obligatory CPU features and abort if the features are not
15 * present.
16 */
17
18#include "boot.h"
19#include "bitops.h"
20#include <asm/cpufeature.h>
21
22static char *cpu_name(int level)
23{
24 static char buf[6];
25
26 if (level == 64) {
27 return "x86-64";
28 } else {
29 sprintf(buf, "i%d86", level);
30 return buf;
31 }
32}
33
34int validate_cpu(void)
35{
36 u32 *err_flags;
37 int cpu_level, req_level;
38
39 check_cpu(&cpu_level, &req_level, &err_flags);
40
41 if (cpu_level < req_level) {
42 printf("This kernel requires an %s CPU, ",
43 cpu_name(req_level));
44 printf("but only detected an %s CPU.\n",
45 cpu_name(cpu_level));
46 return -1;
47 }
48
49 if (err_flags) {
50 int i, j;
51 puts("This kernel requires the following features "
52 "not present on the CPU:\n");
53
54 for (i = 0; i < NCAPINTS; i++) {
55 u32 e = err_flags[i];
56
57 for (j = 0; j < 32; j++) {
58 if (e & 1)
59 printf("%d:%d ", i, j);
60
61 e >>= 1;
62 }
63 }
64 putchar('\n');
65 return -1;
66 } else {
67 return 0;
68 }
69}
diff --git a/arch/i386/boot/cpucheck.c b/arch/i386/boot/cpucheck.c
new file mode 100644
index 000000000000..8b0f4473b083
--- /dev/null
+++ b/arch/i386/boot/cpucheck.c
@@ -0,0 +1,267 @@
1/* -*- linux-c -*- ------------------------------------------------------- *
2 *
3 * Copyright (C) 1991, 1992 Linus Torvalds
4 * Copyright 2007 rPath, Inc. - All Rights Reserved
5 *
6 * This file is part of the Linux kernel, and is made available under
7 * the terms of the GNU General Public License version 2.
8 *
9 * ----------------------------------------------------------------------- */
10
11/*
12 * arch/i386/boot/cpucheck.c
13 *
14 * Check for obligatory CPU features and abort if the features are not
15 * present. This code should be compilable as 16-, 32- or 64-bit
16 * code, so be very careful with types and inline assembly.
17 *
18 * This code should not contain any messages; that requires an
19 * additional wrapper.
20 *
21 * As written, this code is not safe for inclusion into the kernel
22 * proper (after FPU initialization, in particular).
23 */
24
25#ifdef _SETUP
26# include "boot.h"
27# include "bitops.h"
28#endif
29#include <linux/types.h>
30#include <asm/cpufeature.h>
31#include <asm/processor-flags.h>
32#include <asm/required-features.h>
33#include <asm/msr-index.h>
34
35struct cpu_features {
36 int level; /* Family, or 64 for x86-64 */
37 int model;
38 u32 flags[NCAPINTS];
39};
40
41static struct cpu_features cpu;
42static u32 cpu_vendor[3];
43static u32 err_flags[NCAPINTS];
44
45#ifdef CONFIG_X86_64
46static const int req_level = 64;
47#elif defined(CONFIG_X86_MINIMUM_CPU_FAMILY)
48static const int req_level = CONFIG_X86_MINIMUM_CPU_FAMILY;
49#else
50static const int req_level = 3;
51#endif
52
53static const u32 req_flags[NCAPINTS] =
54{
55 REQUIRED_MASK0,
56 REQUIRED_MASK1,
57 REQUIRED_MASK2,
58 REQUIRED_MASK3,
59 REQUIRED_MASK4,
60 REQUIRED_MASK5,
61 REQUIRED_MASK6,
62 REQUIRED_MASK7,
63};
64
65#define A32(a,b,c,d) (((d) << 24)+((c) << 16)+((b) << 8)+(a))
66
67static int is_amd(void)
68{
69 return cpu_vendor[0] == A32('A','u','t','h') &&
70 cpu_vendor[1] == A32('e','n','t','i') &&
71 cpu_vendor[2] == A32('c','A','M','D');
72}
73
74static int is_centaur(void)
75{
76 return cpu_vendor[0] == A32('C','e','n','t') &&
77 cpu_vendor[1] == A32('a','u','r','H') &&
78 cpu_vendor[2] == A32('a','u','l','s');
79}
80
81static int is_transmeta(void)
82{
83 return cpu_vendor[0] == A32('G','e','n','u') &&
84 cpu_vendor[1] == A32('i','n','e','T') &&
85 cpu_vendor[2] == A32('M','x','8','6');
86}
87
88static int has_fpu(void)
89{
90 u16 fcw = -1, fsw = -1;
91 u32 cr0;
92
93 asm("movl %%cr0,%0" : "=r" (cr0));
94 if (cr0 & (X86_CR0_EM|X86_CR0_TS)) {
95 cr0 &= ~(X86_CR0_EM|X86_CR0_TS);
96 asm volatile("movl %0,%%cr0" : : "r" (cr0));
97 }
98
99 asm("fninit ; fnstsw %0 ; fnstcw %1" : "+m" (fsw), "+m" (fcw));
100
101 return fsw == 0 && (fcw & 0x103f) == 0x003f;
102}
103
104static int has_eflag(u32 mask)
105{
106 u32 f0, f1;
107
108 asm("pushfl ; "
109 "pushfl ; "
110 "popl %0 ; "
111 "movl %0,%1 ; "
112 "xorl %2,%1 ; "
113 "pushl %1 ; "
114 "popfl ; "
115 "pushfl ; "
116 "popl %1 ; "
117 "popfl"
118 : "=r" (f0), "=r" (f1)
119 : "g" (mask));
120
121 return !!((f0^f1) & mask);
122}
123
124static void get_flags(void)
125{
126 u32 max_intel_level, max_amd_level;
127 u32 tfms;
128
129 if (has_fpu())
130 set_bit(X86_FEATURE_FPU, cpu.flags);
131
132 if (has_eflag(X86_EFLAGS_ID)) {
133 asm("cpuid"
134 : "=a" (max_intel_level),
135 "=b" (cpu_vendor[0]),
136 "=d" (cpu_vendor[1]),
137 "=c" (cpu_vendor[2])
138 : "a" (0));
139
140 if (max_intel_level >= 0x00000001 &&
141 max_intel_level <= 0x0000ffff) {
142 asm("cpuid"
143 : "=a" (tfms),
144 "=c" (cpu.flags[4]),
145 "=d" (cpu.flags[0])
146 : "a" (0x00000001)
147 : "ebx");
148 cpu.level = (tfms >> 8) & 15;
149 cpu.model = (tfms >> 4) & 15;
150 if (cpu.level >= 6)
151 cpu.model += ((tfms >> 16) & 0xf) << 4;
152 }
153
154 asm("cpuid"
155 : "=a" (max_amd_level)
156 : "a" (0x80000000)
157 : "ebx", "ecx", "edx");
158
159 if (max_amd_level >= 0x80000001 &&
160 max_amd_level <= 0x8000ffff) {
161 u32 eax = 0x80000001;
162 asm("cpuid"
163 : "+a" (eax),
164 "=c" (cpu.flags[6]),
165 "=d" (cpu.flags[1])
166 : : "ebx");
167 }
168 }
169}
170
171/* Returns a bitmask of which words we have error bits in */
172static int check_flags(void)
173{
174 u32 err;
175 int i;
176
177 err = 0;
178 for (i = 0; i < NCAPINTS; i++) {
179 err_flags[i] = req_flags[i] & ~cpu.flags[i];
180 if (err_flags[i])
181 err |= 1 << i;
182 }
183
184 return err;
185}
186
187/*
188 * Returns -1 on error.
189 *
190 * *cpu_level is set to the current CPU level; *req_level to the required
191 * level. x86-64 is considered level 64 for this purpose.
192 *
193 * *err_flags_ptr is set to the flags error array if there are flags missing.
194 */
195int check_cpu(int *cpu_level_ptr, int *req_level_ptr, u32 **err_flags_ptr)
196{
197 int err;
198
199 memset(&cpu.flags, 0, sizeof cpu.flags);
200 cpu.level = 3;
201
202 if (has_eflag(X86_EFLAGS_AC))
203 cpu.level = 4;
204
205 get_flags();
206 err = check_flags();
207
208 if (test_bit(X86_FEATURE_LM, cpu.flags))
209 cpu.level = 64;
210
211 if (err == 0x01 &&
212 !(err_flags[0] &
213 ~((1 << X86_FEATURE_XMM)|(1 << X86_FEATURE_XMM2))) &&
214 is_amd()) {
215 /* If this is an AMD and we're only missing SSE+SSE2, try to
216 turn them on */
217
218 u32 ecx = MSR_K7_HWCR;
219 u32 eax, edx;
220
221 asm("rdmsr" : "=a" (eax), "=d" (edx) : "c" (ecx));
222 eax &= ~(1 << 15);
223 asm("wrmsr" : : "a" (eax), "d" (edx), "c" (ecx));
224
225 get_flags(); /* Make sure it really did something */
226 err = check_flags();
227 } else if (err == 0x01 &&
228 !(err_flags[0] & ~(1 << X86_FEATURE_CX8)) &&
229 is_centaur() && cpu.model >= 6) {
230 /* If this is a VIA C3, we might have to enable CX8
231 explicitly */
232
233 u32 ecx = MSR_VIA_FCR;
234 u32 eax, edx;
235
236 asm("rdmsr" : "=a" (eax), "=d" (edx) : "c" (ecx));
237 eax |= (1<<1)|(1<<7);
238 asm("wrmsr" : : "a" (eax), "d" (edx), "c" (ecx));
239
240 set_bit(X86_FEATURE_CX8, cpu.flags);
241 err = check_flags();
242 } else if (err == 0x01 && is_transmeta()) {
243 /* Transmeta might have masked feature bits in word 0 */
244
245 u32 ecx = 0x80860004;
246 u32 eax, edx;
247 u32 level = 1;
248
249 asm("rdmsr" : "=a" (eax), "=d" (edx) : "c" (ecx));
250 asm("wrmsr" : : "a" (~0), "d" (edx), "c" (ecx));
251 asm("cpuid"
252 : "+a" (level), "=d" (cpu.flags[0])
253 : : "ecx", "ebx");
254 asm("wrmsr" : : "a" (eax), "d" (edx), "c" (ecx));
255
256 err = check_flags();
257 }
258
259 if (err_flags_ptr)
260 *err_flags_ptr = err ? err_flags : NULL;
261 if (cpu_level_ptr)
262 *cpu_level_ptr = cpu.level;
263 if (req_level_ptr)
264 *req_level_ptr = req_level;
265
266 return (cpu.level < req_level || err) ? -1 : 0;
267}
diff --git a/arch/i386/boot/edd.S b/arch/i386/boot/edd.S
deleted file mode 100644
index 34321368011a..000000000000
--- a/arch/i386/boot/edd.S
+++ /dev/null
@@ -1,231 +0,0 @@
1/*
2 * BIOS Enhanced Disk Drive support
3 * Copyright (C) 2002, 2003, 2004 Dell, Inc.
4 * by Matt Domsch <Matt_Domsch@dell.com> October 2002
5 * conformant to T13 Committee www.t13.org
6 * projects 1572D, 1484D, 1386D, 1226DT
7 * disk signature read by Matt Domsch <Matt_Domsch@dell.com>
8 * and Andrew Wilks <Andrew_Wilks@dell.com> September 2003, June 2004
9 * legacy CHS retrieval by Patrick J. LoPresti <patl@users.sourceforge.net>
10 * March 2004
11 * Command line option parsing, Matt Domsch, November 2004
12 */
13
14#include <linux/edd.h>
15#include <asm/setup.h>
16
17#if defined(CONFIG_EDD) || defined(CONFIG_EDD_MODULE)
18
19# It is assumed that %ds == INITSEG here
20
21 movb $0, (EDD_MBR_SIG_NR_BUF)
22 movb $0, (EDDNR)
23
24# Check the command line for options:
25# edd=of disables EDD completely (edd=off)
26# edd=sk skips the MBR test (edd=skipmbr)
27# edd=on re-enables EDD (edd=on)
28
29 pushl %esi
30 movw $edd_mbr_sig_start, %di # Default to edd=on
31
32 movl %cs:(cmd_line_ptr), %esi
33 andl %esi, %esi
34 jz old_cl # Old boot protocol?
35
36# Convert to a real-mode pointer in fs:si
37 movl %esi, %eax
38 shrl $4, %eax
39 movw %ax, %fs
40 andw $0xf, %si
41 jmp have_cl_pointer
42
43# Old-style boot protocol?
44old_cl:
45 push %ds # aka INITSEG
46 pop %fs
47
48 cmpw $0xa33f, (0x20)
49 jne done_cl # No command line at all?
50 movw (0x22), %si # Pointer relative to INITSEG
51
52# fs:si has the pointer to the command line now
53have_cl_pointer:
54
55# Loop through kernel command line one byte at a time. Just in
56# case the loader is buggy and failed to null-terminate the command line
57# terminate if we get close enough to the end of the segment that we
58# cannot fit "edd=XX"...
59cl_atspace:
60 cmpw $-5, %si # Watch for segment wraparound
61 jae done_cl
62 movl %fs:(%si), %eax
63 andb %al, %al # End of line?
64 jz done_cl
65 cmpl $EDD_CL_EQUALS, %eax
66 jz found_edd_equals
67 cmpb $0x20, %al # <= space consider whitespace
68 ja cl_skipword
69 incw %si
70 jmp cl_atspace
71
72cl_skipword:
73 cmpw $-5, %si # Watch for segment wraparound
74 jae done_cl
75 movb %fs:(%si), %al # End of string?
76 andb %al, %al
77 jz done_cl
78 cmpb $0x20, %al
79 jbe cl_atspace
80 incw %si
81 jmp cl_skipword
82
83found_edd_equals:
84# only looking at first two characters after equals
85# late overrides early on the command line, so keep going after finding something
86 movw %fs:4(%si), %ax
87 cmpw $EDD_CL_OFF, %ax # edd=of
88 je do_edd_off
89 cmpw $EDD_CL_SKIP, %ax # edd=sk
90 je do_edd_skipmbr
91 cmpw $EDD_CL_ON, %ax # edd=on
92 je do_edd_on
93 jmp cl_skipword
94do_edd_skipmbr:
95 movw $edd_start, %di
96 jmp cl_skipword
97do_edd_off:
98 movw $edd_done, %di
99 jmp cl_skipword
100do_edd_on:
101 movw $edd_mbr_sig_start, %di
102 jmp cl_skipword
103
104done_cl:
105 popl %esi
106 jmpw *%di
107
108# Read the first sector of each BIOS disk device and store the 4-byte signature
109edd_mbr_sig_start:
110 movb $0x80, %dl # from device 80
111 movw $EDD_MBR_SIG_BUF, %bx # store buffer ptr in bx
112edd_mbr_sig_read:
113 movl $0xFFFFFFFF, %eax
114 movl %eax, (%bx) # assume failure
115 pushw %bx
116 movb $READ_SECTORS, %ah
117 movb $1, %al # read 1 sector
118 movb $0, %dh # at head 0
119 movw $1, %cx # cylinder 0, sector 0
120 pushw %es
121 pushw %ds
122 popw %es
123 movw $EDDBUF, %bx # disk's data goes into EDDBUF
124 pushw %dx # work around buggy BIOSes
125 stc # work around buggy BIOSes
126 int $0x13
127 sti # work around buggy BIOSes
128 popw %dx
129 popw %es
130 popw %bx
131 jc edd_mbr_sig_done # on failure, we're done.
132 cmpb $0, %ah # some BIOSes do not set CF
133 jne edd_mbr_sig_done # on failure, we're done.
134 movl (EDDBUF+EDD_MBR_SIG_OFFSET), %eax # read sig out of the MBR
135 movl %eax, (%bx) # store success
136 incb (EDD_MBR_SIG_NR_BUF) # note that we stored something
137 incb %dl # increment to next device
138 addw $4, %bx # increment sig buffer ptr
139 cmpb $EDD_MBR_SIG_MAX, (EDD_MBR_SIG_NR_BUF) # Out of space?
140 jb edd_mbr_sig_read # keep looping
141edd_mbr_sig_done:
142
143# Do the BIOS Enhanced Disk Drive calls
144# This consists of two calls:
145# int 13h ah=41h "Check Extensions Present"
146# int 13h ah=48h "Get Device Parameters"
147# int 13h ah=08h "Legacy Get Device Parameters"
148#
149# A buffer of size EDDMAXNR*(EDDEXTSIZE+EDDPARMSIZE) is reserved for our use
150# in the boot_params at EDDBUF. The first four bytes of which are
151# used to store the device number, interface support map and version
152# results from fn41. The next four bytes are used to store the legacy
153# cylinders, heads, and sectors from fn08. The following 74 bytes are used to
154# store the results from fn48. Starting from device 80h, fn41, then fn48
155# are called and their results stored in EDDBUF+n*(EDDEXTSIZE+EDDPARMIZE).
156# Then the pointer is incremented to store the data for the next call.
157# This repeats until either a device doesn't exist, or until EDDMAXNR
158# devices have been stored.
159# The one tricky part is that ds:si always points EDDEXTSIZE bytes into
160# the structure, and the fn41 and fn08 results are stored at offsets
161# from there. This removes the need to increment the pointer for
162# every store, and leaves it ready for the fn48 call.
163# A second one-byte buffer, EDDNR, in the boot_params stores
164# the number of BIOS devices which exist, up to EDDMAXNR.
165# In setup.c, copy_edd() stores both boot_params buffers away
166# for later use, as they would get overwritten otherwise.
167# This code is sensitive to the size of the structs in edd.h
168edd_start:
169 # %ds points to the bootsector
170 # result buffer for fn48
171 movw $EDDBUF+EDDEXTSIZE, %si # in ds:si, fn41 results
172 # kept just before that
173 movb $0x80, %dl # BIOS device 0x80
174
175edd_check_ext:
176 movb $CHECKEXTENSIONSPRESENT, %ah # Function 41
177 movw $EDDMAGIC1, %bx # magic
178 int $0x13 # make the call
179 jc edd_done # no more BIOS devices
180
181 cmpw $EDDMAGIC2, %bx # is magic right?
182 jne edd_next # nope, next...
183
184 movb %dl, %ds:-8(%si) # store device number
185 movb %ah, %ds:-7(%si) # store version
186 movw %cx, %ds:-6(%si) # store extensions
187 incb (EDDNR) # note that we stored something
188
189edd_get_device_params:
190 movw $EDDPARMSIZE, %ds:(%si) # put size
191 movw $0x0, %ds:2(%si) # work around buggy BIOSes
192 movb $GETDEVICEPARAMETERS, %ah # Function 48
193 int $0x13 # make the call
194 # Don't check for fail return
195 # it doesn't matter.
196edd_get_legacy_chs:
197 xorw %ax, %ax
198 movw %ax, %ds:-4(%si)
199 movw %ax, %ds:-2(%si)
200 # Ralf Brown's Interrupt List says to set ES:DI to
201 # 0000h:0000h "to guard against BIOS bugs"
202 pushw %es
203 movw %ax, %es
204 movw %ax, %di
205 pushw %dx # legacy call clobbers %dl
206 movb $LEGACYGETDEVICEPARAMETERS, %ah # Function 08
207 int $0x13 # make the call
208 jc edd_legacy_done # failed
209 movb %cl, %al # Low 6 bits are max
210 andb $0x3F, %al # sector number
211 movb %al, %ds:-1(%si) # Record max sect
212 movb %dh, %ds:-2(%si) # Record max head number
213 movb %ch, %al # Low 8 bits of max cyl
214 shr $6, %cl
215 movb %cl, %ah # High 2 bits of max cyl
216 movw %ax, %ds:-4(%si)
217
218edd_legacy_done:
219 popw %dx
220 popw %es
221 movw %si, %ax # increment si
222 addw $EDDPARMSIZE+EDDEXTSIZE, %ax
223 movw %ax, %si
224
225edd_next:
226 incb %dl # increment to next device
227 cmpb $EDDMAXNR, (EDDNR) # Out of space?
228 jb edd_check_ext # keep looping
229
230edd_done:
231#endif
diff --git a/arch/i386/boot/edd.c b/arch/i386/boot/edd.c
new file mode 100644
index 000000000000..25a282494f4c
--- /dev/null
+++ b/arch/i386/boot/edd.c
@@ -0,0 +1,196 @@
1/* -*- linux-c -*- ------------------------------------------------------- *
2 *
3 * Copyright (C) 1991, 1992 Linus Torvalds
4 * Copyright 2007 rPath, Inc. - All Rights Reserved
5 *
6 * This file is part of the Linux kernel, and is made available under
7 * the terms of the GNU General Public License version 2.
8 *
9 * ----------------------------------------------------------------------- */
10
11/*
12 * arch/i386/boot/edd.c
13 *
14 * Get EDD BIOS disk information
15 */
16
17#include "boot.h"
18#include <linux/edd.h>
19
20#if defined(CONFIG_EDD) || defined(CONFIG_EDD_MODULE)
21
22struct edd_dapa {
23 u8 pkt_size;
24 u8 rsvd;
25 u16 sector_cnt;
26 u16 buf_off, buf_seg;
27 u64 lba;
28 u64 buf_lin_addr;
29};
30
31/*
32 * Read the MBR (first sector) from a specific device.
33 */
34static int read_mbr(u8 devno, void *buf)
35{
36 struct edd_dapa dapa;
37 u16 ax, bx, cx, dx, si;
38
39 memset(&dapa, 0, sizeof dapa);
40 dapa.pkt_size = sizeof(dapa);
41 dapa.sector_cnt = 1;
42 dapa.buf_off = (size_t)buf;
43 dapa.buf_seg = ds();
44 /* dapa.lba = 0; */
45
46 ax = 0x4200; /* Extended Read */
47 si = (size_t)&dapa;
48 dx = devno;
49 asm("pushfl; stc; int $0x13; setc %%al; popfl"
50 : "+a" (ax), "+S" (si), "+d" (dx)
51 : "m" (dapa)
52 : "ebx", "ecx", "edi", "memory");
53
54 if (!(u8)ax)
55 return 0; /* OK */
56
57 ax = 0x0201; /* Legacy Read, one sector */
58 cx = 0x0001; /* Sector 0-0-1 */
59 dx = devno;
60 bx = (size_t)buf;
61 asm("pushfl; stc; int $0x13; setc %%al; popfl"
62 : "+a" (ax), "+c" (cx), "+d" (dx), "+b" (bx)
63 : : "esi", "edi", "memory");
64
65 return -(u8)ax; /* 0 or -1 */
66}
67
68static u32 read_mbr_sig(u8 devno, struct edd_info *ei)
69{
70 int sector_size;
71 char *mbrbuf_ptr, *mbrbuf_end;
72 u32 mbrsig;
73 u32 buf_base, mbr_base;
74 extern char _end[];
75 static char mbr_buf[1024];
76
77 sector_size = ei->params.bytes_per_sector;
78 if (!sector_size)
79 sector_size = 512; /* Best available guess */
80
81 buf_base = (ds() << 4) + (u32)&_end;
82 mbr_base = (buf_base+sector_size-1) & ~(sector_size-1);
83 mbrbuf_ptr = mbr_buf + (mbr_base-buf_base);
84 mbrbuf_end = mbrbuf_ptr + sector_size;
85
86 if (!(boot_params.hdr.loadflags & CAN_USE_HEAP))
87 return 0;
88 if (mbrbuf_end > (char *)(size_t)boot_params.hdr.heap_end_ptr)
89 return 0;
90
91 if (read_mbr(devno, mbrbuf_ptr))
92 return 0;
93
94 mbrsig = *(u32 *)&mbrbuf_ptr[EDD_MBR_SIG_OFFSET];
95 return mbrsig;
96}
97
98static int get_edd_info(u8 devno, struct edd_info *ei)
99{
100 u16 ax, bx, cx, dx, di;
101
102 memset(ei, 0, sizeof *ei);
103
104 /* Check Extensions Present */
105
106 ax = 0x4100;
107 bx = EDDMAGIC1;
108 dx = devno;
109 asm("pushfl; stc; int $0x13; setc %%al; popfl"
110 : "+a" (ax), "+b" (bx), "=c" (cx), "+d" (dx)
111 : : "esi", "edi");
112
113 if ((u8)ax)
114 return -1; /* No extended information */
115
116 if (bx != EDDMAGIC2)
117 return -1;
118
119 ei->device = devno;
120 ei->version = ax >> 8; /* EDD version number */
121 ei->interface_support = cx; /* EDD functionality subsets */
122
123 /* Extended Get Device Parameters */
124
125 ei->params.length = sizeof(ei->params);
126 ax = 0x4800;
127 dx = devno;
128 asm("pushfl; int $0x13; popfl"
129 : "+a" (ax), "+d" (dx)
130 : "S" (&ei->params)
131 : "ebx", "ecx", "edi");
132
133 /* Get legacy CHS parameters */
134
135 /* Ralf Brown recommends setting ES:DI to 0:0 */
136 ax = 0x0800;
137 dx = devno;
138 di = 0;
139 asm("pushw %%es; "
140 "movw %%di,%%es; "
141 "pushfl; stc; int $0x13; setc %%al; popfl; "
142 "popw %%es"
143 : "+a" (ax), "=b" (bx), "=c" (cx), "+d" (dx), "+D" (di)
144 : : "esi");
145
146 if ((u8)ax == 0) {
147 ei->legacy_max_cylinder = (cx >> 8) + ((cx & 0xc0) << 2);
148 ei->legacy_max_head = dx >> 8;
149 ei->legacy_sectors_per_track = cx & 0x3f;
150 }
151
152 return 0;
153}
154
155void query_edd(void)
156{
157 char eddarg[8];
158 int do_mbr = 1;
159 int do_edd = 1;
160 int devno;
161 struct edd_info ei, *edp;
162
163 if (cmdline_find_option("edd", eddarg, sizeof eddarg) > 0) {
164 if (!strcmp(eddarg, "skipmbr") || !strcmp(eddarg, "skip"))
165 do_mbr = 0;
166 else if (!strcmp(eddarg, "off"))
167 do_edd = 0;
168 }
169
170 edp = (struct edd_info *)boot_params.eddbuf;
171
172 if (!do_edd)
173 return;
174
175 for (devno = 0x80; devno < 0x80+EDD_MBR_SIG_MAX; devno++) {
176 /*
177 * Scan the BIOS-supported hard disks and query EDD
178 * information...
179 */
180 get_edd_info(devno, &ei);
181
182 if (boot_params.eddbuf_entries < EDDMAXNR) {
183 memcpy(edp, &ei, sizeof ei);
184 edp++;
185 boot_params.eddbuf_entries++;
186 }
187
188 if (do_mbr) {
189 u32 mbr_sig;
190 mbr_sig = read_mbr_sig(devno, &ei);
191 boot_params.edd_mbr_sig_buffer[devno-0x80] = mbr_sig;
192 }
193 }
194}
195
196#endif
diff --git a/arch/i386/boot/header.S b/arch/i386/boot/header.S
new file mode 100644
index 000000000000..6b9923fb6eae
--- /dev/null
+++ b/arch/i386/boot/header.S
@@ -0,0 +1,283 @@
1/*
2 * header.S
3 *
4 * Copyright (C) 1991, 1992 Linus Torvalds
5 *
6 * Based on bootsect.S and setup.S
7 * modified by more people than can be counted
8 *
9 * Rewritten as a common file by H. Peter Anvin (Apr 2007)
10 *
11 * BIG FAT NOTE: We're in real mode using 64k segments. Therefore segment
12 * addresses must be multiplied by 16 to obtain their respective linear
13 * addresses. To avoid confusion, linear addresses are written using leading
14 * hex while segment addresses are written as segment:offset.
15 *
16 */
17
18#include <asm/segment.h>
19#include <linux/utsrelease.h>
20#include <asm/boot.h>
21#include <asm/e820.h>
22#include <asm/page.h>
23#include <asm/setup.h>
24#include "boot.h"
25
26SETUPSECTS = 4 /* default nr of setup-sectors */
27BOOTSEG = 0x07C0 /* original address of boot-sector */
28SYSSEG = DEF_SYSSEG /* system loaded at 0x10000 (65536) */
29SYSSIZE = DEF_SYSSIZE /* system size: # of 16-byte clicks */
30 /* to be loaded */
31ROOT_DEV = 0 /* ROOT_DEV is now written by "build" */
32SWAP_DEV = 0 /* SWAP_DEV is now written by "build" */
33
34#ifndef SVGA_MODE
35#define SVGA_MODE ASK_VGA
36#endif
37
38#ifndef RAMDISK
39#define RAMDISK 0
40#endif
41
42#ifndef ROOT_RDONLY
43#define ROOT_RDONLY 1
44#endif
45
46 .code16
47 .section ".bstext", "ax"
48
49 .global bootsect_start
50bootsect_start:
51
52 # Normalize the start address
53 ljmp $BOOTSEG, $start2
54
55start2:
56 movw %cs, %ax
57 movw %ax, %ds
58 movw %ax, %es
59 movw %ax, %ss
60 xorw %sp, %sp
61 sti
62 cld
63
64 movw $bugger_off_msg, %si
65
66msg_loop:
67 lodsb
68 andb %al, %al
69 jz bs_die
70 movb $0xe, %ah
71 movw $7, %bx
72 int $0x10
73 jmp msg_loop
74
75bs_die:
76 # Allow the user to press a key, then reboot
77 xorw %ax, %ax
78 int $0x16
79 int $0x19
80
81 # int 0x19 should never return. In case it does anyway,
82 # invoke the BIOS reset code...
83 ljmp $0xf000,$0xfff0
84
85 .section ".bsdata", "a"
86bugger_off_msg:
87 .ascii "Direct booting from floppy is no longer supported.\r\n"
88 .ascii "Please use a boot loader program instead.\r\n"
89 .ascii "\n"
90 .ascii "Remove disk and press any key to reboot . . .\r\n"
91 .byte 0
92
93
94 # Kernel attributes; used by setup. This is part 1 of the
95 # header, from the old boot sector.
96
97 .section ".header", "a"
98 .globl hdr
99hdr:
100setup_sects: .byte SETUPSECTS
101root_flags: .word ROOT_RDONLY
102syssize: .long SYSSIZE
103ram_size: .word RAMDISK
104vid_mode: .word SVGA_MODE
105root_dev: .word ROOT_DEV
106boot_flag: .word 0xAA55
107
108 # offset 512, entry point
109
110 .globl _start
111_start:
112 # Explicitly enter this as bytes, or the assembler
113 # tries to generate a 3-byte jump here, which causes
114 # everything else to push off to the wrong offset.
115 .byte 0xeb # short (2-byte) jump
116 .byte start_of_setup-1f
1171:
118
119 # Part 2 of the header, from the old setup.S
120
121 .ascii "HdrS" # header signature
122 .word 0x0206 # header version number (>= 0x0105)
123 # or else old loadlin-1.5 will fail)
124 .globl realmode_swtch
125realmode_swtch: .word 0, 0 # default_switch, SETUPSEG
126start_sys_seg: .word SYSSEG
127 .word kernel_version-512 # pointing to kernel version string
128 # above section of header is compatible
129 # with loadlin-1.5 (header v1.5). Don't
130 # change it.
131
132type_of_loader: .byte 0 # = 0, old one (LILO, Loadlin,
133 # Bootlin, SYSLX, bootsect...)
134 # See Documentation/i386/boot.txt for
135 # assigned ids
136
137# flags, unused bits must be zero (RFU) bit within loadflags
138loadflags:
139LOADED_HIGH = 1 # If set, the kernel is loaded high
140CAN_USE_HEAP = 0x80 # If set, the loader also has set
141 # heap_end_ptr to tell how much
142 # space behind setup.S can be used for
143 # heap purposes.
144 # Only the loader knows what is free
145#ifndef __BIG_KERNEL__
146 .byte 0
147#else
148 .byte LOADED_HIGH
149#endif
150
151setup_move_size: .word 0x8000 # size to move, when setup is not
152 # loaded at 0x90000. We will move setup
153 # to 0x90000 then just before jumping
154 # into the kernel. However, only the
155 # loader knows how much data behind
156 # us also needs to be loaded.
157
158code32_start: # here loaders can put a different
159 # start address for 32-bit code.
160#ifndef __BIG_KERNEL__
161 .long 0x1000 # 0x1000 = default for zImage
162#else
163 .long 0x100000 # 0x100000 = default for big kernel
164#endif
165
166ramdisk_image: .long 0 # address of loaded ramdisk image
167 # Here the loader puts the 32-bit
168 # address where it loaded the image.
169 # This only will be read by the kernel.
170
171ramdisk_size: .long 0 # its size in bytes
172
173bootsect_kludge:
174 .long 0 # obsolete
175
176heap_end_ptr: .word _end+1024 # (Header version 0x0201 or later)
177 # space from here (exclusive) down to
178 # end of setup code can be used by setup
179 # for local heap purposes.
180
181pad1: .word 0
182cmd_line_ptr: .long 0 # (Header version 0x0202 or later)
183 # If nonzero, a 32-bit pointer
184 # to the kernel command line.
185 # The command line should be
186 # located between the start of
187 # setup and the end of low
188 # memory (0xa0000), or it may
189 # get overwritten before it
190 # gets read. If this field is
191 # used, there is no longer
192 # anything magical about the
193 # 0x90000 segment; the setup
194 # can be located anywhere in
195 # low memory 0x10000 or higher.
196
197ramdisk_max: .long (-__PAGE_OFFSET-(512 << 20)-1) & 0x7fffffff
198 # (Header version 0x0203 or later)
199 # The highest safe address for
200 # the contents of an initrd
201
202kernel_alignment: .long CONFIG_PHYSICAL_ALIGN #physical addr alignment
203 #required for protected mode
204 #kernel
205#ifdef CONFIG_RELOCATABLE
206relocatable_kernel: .byte 1
207#else
208relocatable_kernel: .byte 0
209#endif
210pad2: .byte 0
211pad3: .word 0
212
213cmdline_size: .long COMMAND_LINE_SIZE-1 #length of the command line,
214 #added with boot protocol
215 #version 2.06
216
217# End of setup header #####################################################
218
219 .section ".inittext", "ax"
220start_of_setup:
221#ifdef SAFE_RESET_DISK_CONTROLLER
222# Reset the disk controller.
223 movw $0x0000, %ax # Reset disk controller
224 movb $0x80, %dl # All disks
225 int $0x13
226#endif
227
228# We will have entired with %cs = %ds+0x20, normalize %cs so
229# it is on par with the other segments.
230 pushw %ds
231 pushw $setup2
232 lretw
233
234setup2:
235# Force %es = %ds
236 movw %ds, %ax
237 movw %ax, %es
238 cld
239
240# Stack paranoia: align the stack and make sure it is good
241# for both 16- and 32-bit references. In particular, if we
242# were meant to have been using the full 16-bit segment, the
243# caller might have set %sp to zero, which breaks %esp-based
244# references.
245 andw $~3, %sp # dword align (might as well...)
246 jnz 1f
247 movw $0xfffc, %sp # Make sure we're not zero
2481: movzwl %sp, %esp # Clear upper half of %esp
249 sti
250
251# Check signature at end of setup
252 cmpl $0x5a5aaa55, setup_sig
253 jne setup_bad
254
255# Zero the bss
256 movw $__bss_start, %di
257 movw $_end+3, %cx
258 xorl %eax, %eax
259 subw %di, %cx
260 shrw $2, %cx
261 rep; stosl
262
263# Jump to C code (should not return)
264 calll main
265
266# Setup corrupt somehow...
267setup_bad:
268 movl $setup_corrupt, %eax
269 calll puts
270 # Fall through...
271
272 .globl die
273 .type die, @function
274die:
275 hlt
276 jmp die
277
278 .size die, .-due
279
280 .section ".initdata", "a"
281setup_corrupt:
282 .byte 7
283 .string "No setup signature found..."
diff --git a/arch/i386/boot/main.c b/arch/i386/boot/main.c
new file mode 100644
index 000000000000..7f01f96c4fb8
--- /dev/null
+++ b/arch/i386/boot/main.c
@@ -0,0 +1,161 @@
1/* -*- linux-c -*- ------------------------------------------------------- *
2 *
3 * Copyright (C) 1991, 1992 Linus Torvalds
4 * Copyright 2007 rPath, Inc. - All Rights Reserved
5 *
6 * This file is part of the Linux kernel, and is made available under
7 * the terms of the GNU General Public License version 2.
8 *
9 * ----------------------------------------------------------------------- */
10
11/*
12 * arch/i386/boot/main.c
13 *
14 * Main module for the real-mode kernel code
15 */
16
17#include "boot.h"
18
19struct boot_params boot_params __attribute__((aligned(16)));
20
21char *HEAP = _end;
22char *heap_end = _end; /* Default end of heap = no heap */
23
24/*
25 * Copy the header into the boot parameter block. Since this
26 * screws up the old-style command line protocol, adjust by
27 * filling in the new-style command line pointer instead.
28 */
29#define OLD_CL_MAGIC 0xA33F
30#define OLD_CL_ADDRESS 0x20
31
32static void copy_boot_params(void)
33{
34 struct old_cmdline {
35 u16 cl_magic;
36 u16 cl_offset;
37 };
38 const struct old_cmdline * const oldcmd =
39 (const struct old_cmdline *)OLD_CL_ADDRESS;
40
41 BUILD_BUG_ON(sizeof boot_params != 4096);
42 memcpy(&boot_params.hdr, &hdr, sizeof hdr);
43
44 if (!boot_params.hdr.cmd_line_ptr &&
45 oldcmd->cl_magic == OLD_CL_MAGIC) {
46 /* Old-style command line protocol. */
47 u16 cmdline_seg;
48
49 /* Figure out if the command line falls in the region
50 of memory that an old kernel would have copied up
51 to 0x90000... */
52 if (oldcmd->cl_offset < boot_params.hdr.setup_move_size)
53 cmdline_seg = ds();
54 else
55 cmdline_seg = 0x9000;
56
57 boot_params.hdr.cmd_line_ptr =
58 (cmdline_seg << 4) + oldcmd->cl_offset;
59 }
60}
61
62/*
63 * Set the keyboard repeat rate to maximum. Unclear why this
64 * is done here; this might be possible to kill off as stale code.
65 */
66static void keyboard_set_repeat(void)
67{
68 u16 ax = 0x0305;
69 u16 bx = 0;
70 asm volatile("int $0x16"
71 : "+a" (ax), "+b" (bx)
72 : : "ecx", "edx", "esi", "edi");
73}
74
75/*
76 * Get Intel SpeedStep IST information.
77 */
78static void query_speedstep_ist(void)
79{
80 asm("int $0x15"
81 : "=a" (boot_params.speedstep_info[0]),
82 "=b" (boot_params.speedstep_info[1]),
83 "=c" (boot_params.speedstep_info[2]),
84 "=d" (boot_params.speedstep_info[3])
85 : "a" (0x0000e980), /* IST Support */
86 "d" (0x47534943)); /* Request value */
87}
88
89/*
90 * Tell the BIOS what CPU mode we intend to run in.
91 */
92static void set_bios_mode(void)
93{
94#ifdef CONFIG_X86_64
95 u32 eax, ebx;
96
97 eax = 0xec00;
98 ebx = 2;
99 asm volatile("int $0x15"
100 : "+a" (eax), "+b" (ebx)
101 : : "ecx", "edx", "esi", "edi");
102#endif
103}
104
105void main(void)
106{
107 /* First, copy the boot header into the "zeropage" */
108 copy_boot_params();
109
110 /* End of heap check */
111 if (boot_params.hdr.loadflags & CAN_USE_HEAP) {
112 heap_end = (char *)(boot_params.hdr.heap_end_ptr
113 +0x200-STACK_SIZE);
114 } else {
115 /* Boot protocol 2.00 only, no heap available */
116 puts("WARNING: Ancient bootloader, some functionality "
117 "may be limited!\n");
118 }
119
120 /* Make sure we have all the proper CPU support */
121 if (validate_cpu()) {
122 puts("Unable to boot - please use a kernel appropriate "
123 "for your CPU.\n");
124 die();
125 }
126
127 /* Tell the BIOS what CPU mode we intend to run in. */
128 set_bios_mode();
129
130 /* Detect memory layout */
131 detect_memory();
132
133 /* Set keyboard repeat rate (why?) */
134 keyboard_set_repeat();
135
136 /* Set the video mode */
137 set_video();
138
139 /* Query MCA information */
140 query_mca();
141
142 /* Voyager */
143#ifdef CONFIG_X86_VOYAGER
144 query_voyager();
145#endif
146
147 /* Query SpeedStep IST information */
148 query_speedstep_ist();
149
150 /* Query APM information */
151#if defined(CONFIG_APM) || defined(CONFIG_APM_MODULE)
152 query_apm_bios();
153#endif
154
155 /* Query EDD information */
156#if defined(CONFIG_EDD) || defined(CONFIG_EDD_MODULE)
157 query_edd();
158#endif
159 /* Do the last things and invoke protected mode */
160 go_to_protected_mode();
161}
diff --git a/arch/i386/boot/mca.c b/arch/i386/boot/mca.c
new file mode 100644
index 000000000000..9b68bd1aef19
--- /dev/null
+++ b/arch/i386/boot/mca.c
@@ -0,0 +1,43 @@
1/* -*- linux-c -*- ------------------------------------------------------- *
2 *
3 * Copyright (C) 1991, 1992 Linus Torvalds
4 * Copyright 2007 rPath, Inc. - All Rights Reserved
5 *
6 * This file is part of the Linux kernel, and is made available under
7 * the terms of the GNU General Public License version 2.
8 *
9 * ----------------------------------------------------------------------- */
10
11/*
12 * arch/i386/boot/mca.c
13 *
14 * Get the MCA system description table
15 */
16
17#include "boot.h"
18
19int query_mca(void)
20{
21 u8 err;
22 u16 es, bx, len;
23
24 asm("pushw %%es ; "
25 "int $0x15 ; "
26 "setc %0 ; "
27 "movw %%es, %1 ; "
28 "popw %%es"
29 : "=acdSDm" (err), "=acdSDm" (es), "=b" (bx)
30 : "a" (0xc000));
31
32 if (err)
33 return -1; /* No MCA present */
34
35 set_fs(es);
36 len = rdfs16(bx);
37
38 if (len > sizeof(boot_params.sys_desc_table))
39 len = sizeof(boot_params.sys_desc_table);
40
41 copy_from_fs(&boot_params.sys_desc_table, bx, len);
42 return 0;
43}
diff --git a/arch/i386/boot/memory.c b/arch/i386/boot/memory.c
new file mode 100644
index 000000000000..1a2e62db8bed
--- /dev/null
+++ b/arch/i386/boot/memory.c
@@ -0,0 +1,99 @@
1/* -*- linux-c -*- ------------------------------------------------------- *
2 *
3 * Copyright (C) 1991, 1992 Linus Torvalds
4 * Copyright 2007 rPath, Inc. - All Rights Reserved
5 *
6 * This file is part of the Linux kernel, and is made available under
7 * the terms of the GNU General Public License version 2.
8 *
9 * ----------------------------------------------------------------------- */
10
11/*
12 * arch/i386/boot/memory.c
13 *
14 * Memory detection code
15 */
16
17#include "boot.h"
18
19#define SMAP 0x534d4150 /* ASCII "SMAP" */
20
21static int detect_memory_e820(void)
22{
23 u32 next = 0;
24 u32 size, id;
25 u8 err;
26 struct e820entry *desc = boot_params.e820_map;
27
28 do {
29 size = sizeof(struct e820entry);
30 id = SMAP;
31 asm("int $0x15; setc %0"
32 : "=am" (err), "+b" (next), "+d" (id), "+c" (size),
33 "=m" (*desc)
34 : "D" (desc), "a" (0xe820));
35
36 if (err || id != SMAP)
37 break;
38
39 boot_params.e820_entries++;
40 desc++;
41 } while (next && boot_params.e820_entries < E820MAX);
42
43 return boot_params.e820_entries;
44}
45
46static int detect_memory_e801(void)
47{
48 u16 ax, bx, cx, dx;
49 u8 err;
50
51 bx = cx = dx = 0;
52 ax = 0xe801;
53 asm("stc; int $0x15; setc %0"
54 : "=m" (err), "+a" (ax), "+b" (bx), "+c" (cx), "+d" (dx));
55
56 if (err)
57 return -1;
58
59 /* Do we really need to do this? */
60 if (cx || dx) {
61 ax = cx;
62 bx = dx;
63 }
64
65 if (ax > 15*1024)
66 return -1; /* Bogus! */
67
68 /* This ignores memory above 16MB if we have a memory hole
69 there. If someone actually finds a machine with a memory
70 hole at 16MB and no support for 0E820h they should probably
71 generate a fake e820 map. */
72 boot_params.alt_mem_k = (ax == 15*1024) ? (dx << 6)+ax : ax;
73
74 return 0;
75}
76
77static int detect_memory_88(void)
78{
79 u16 ax;
80 u8 err;
81
82 ax = 0x8800;
83 asm("stc; int $0x15; setc %0" : "=bcdm" (err), "+a" (ax));
84
85 boot_params.screen_info.ext_mem_k = ax;
86
87 return -err;
88}
89
90int detect_memory(void)
91{
92 if (detect_memory_e820() > 0)
93 return 0;
94
95 if (!detect_memory_e801())
96 return 0;
97
98 return detect_memory_88();
99}
diff --git a/arch/i386/boot/pm.c b/arch/i386/boot/pm.c
new file mode 100644
index 000000000000..3fa53e15ed77
--- /dev/null
+++ b/arch/i386/boot/pm.c
@@ -0,0 +1,170 @@
1/* -*- linux-c -*- ------------------------------------------------------- *
2 *
3 * Copyright (C) 1991, 1992 Linus Torvalds
4 * Copyright 2007 rPath, Inc. - All Rights Reserved
5 *
6 * This file is part of the Linux kernel, and is made available under
7 * the terms of the GNU General Public License version 2.
8 *
9 * ----------------------------------------------------------------------- */
10
11/*
12 * arch/i386/boot/pm.c
13 *
14 * Prepare the machine for transition to protected mode.
15 */
16
17#include "boot.h"
18#include <asm/segment.h>
19
20/*
21 * Invoke the realmode switch hook if present; otherwise
22 * disable all interrupts.
23 */
24static void realmode_switch_hook(void)
25{
26 if (boot_params.hdr.realmode_swtch) {
27 asm volatile("lcallw *%0"
28 : : "m" (boot_params.hdr.realmode_swtch)
29 : "eax", "ebx", "ecx", "edx");
30 } else {
31 asm volatile("cli");
32 outb(0x80, 0x70); /* Disable NMI */
33 io_delay();
34 }
35}
36
37/*
38 * A zImage kernel is loaded at 0x10000 but wants to run at 0x1000.
39 * A bzImage kernel is loaded and runs at 0x100000.
40 */
41static void move_kernel_around(void)
42{
43 /* Note: rely on the compile-time option here rather than
44 the LOADED_HIGH flag. The Qemu kernel loader unconditionally
45 sets the loadflags to zero. */
46#ifndef __BIG_KERNEL__
47 u16 dst_seg, src_seg;
48 u32 syssize;
49
50 dst_seg = 0x1000 >> 4;
51 src_seg = 0x10000 >> 4;
52 syssize = boot_params.hdr.syssize; /* Size in 16-byte paragraphs */
53
54 while (syssize) {
55 int paras = (syssize >= 0x1000) ? 0x1000 : syssize;
56 int dwords = paras << 2;
57
58 asm volatile("pushw %%es ; "
59 "pushw %%ds ; "
60 "movw %1,%%es ; "
61 "movw %2,%%ds ; "
62 "xorw %%di,%%di ; "
63 "xorw %%si,%%si ; "
64 "rep;movsl ; "
65 "popw %%ds ; "
66 "popw %%es"
67 : "+c" (dwords)
68 : "rm" (dst_seg), "rm" (src_seg)
69 : "esi", "edi");
70
71 syssize -= paras;
72 dst_seg += paras;
73 src_seg += paras;
74 }
75#endif
76}
77
78/*
79 * Disable all interrupts at the legacy PIC.
80 */
81static void mask_all_interrupts(void)
82{
83 outb(0xff, 0xa1); /* Mask all interrupts on the seconday PIC */
84 io_delay();
85 outb(0xfb, 0x21); /* Mask all but cascade on the primary PIC */
86 io_delay();
87}
88
89/*
90 * Reset IGNNE# if asserted in the FPU.
91 */
92static void reset_coprocessor(void)
93{
94 outb(0, 0xf0);
95 io_delay();
96 outb(0, 0xf1);
97 io_delay();
98}
99
100/*
101 * Set up the GDT
102 */
103#define GDT_ENTRY(flags,base,limit) \
104 (((u64)(base & 0xff000000) << 32) | \
105 ((u64)flags << 40) | \
106 ((u64)(limit & 0x00ff0000) << 32) | \
107 ((u64)(base & 0x00ffff00) << 16) | \
108 ((u64)(limit & 0x0000ffff)))
109
110struct gdt_ptr {
111 u16 len;
112 u32 ptr;
113} __attribute__((packed));
114
115static void setup_gdt(void)
116{
117 /* There are machines which are known to not boot with the GDT
118 being 8-byte unaligned. Intel recommends 16 byte alignment. */
119 static const u64 boot_gdt[] __attribute__((aligned(16))) = {
120 /* CS: code, read/execute, 4 GB, base 0 */
121 [GDT_ENTRY_BOOT_CS] = GDT_ENTRY(0xc09b, 0, 0xfffff),
122 /* DS: data, read/write, 4 GB, base 0 */
123 [GDT_ENTRY_BOOT_DS] = GDT_ENTRY(0xc093, 0, 0xfffff),
124 };
125 struct gdt_ptr gdt;
126
127 gdt.len = sizeof(boot_gdt)-1;
128 gdt.ptr = (u32)&boot_gdt + (ds() << 4);
129
130 asm volatile("lgdtl %0" : : "m" (gdt));
131}
132
133/*
134 * Set up the IDT
135 */
136static void setup_idt(void)
137{
138 static const struct gdt_ptr null_idt = {0, 0};
139 asm volatile("lidtl %0" : : "m" (null_idt));
140}
141
142/*
143 * Actual invocation sequence
144 */
145void go_to_protected_mode(void)
146{
147 /* Hook before leaving real mode, also disables interrupts */
148 realmode_switch_hook();
149
150 /* Move the kernel/setup to their final resting places */
151 move_kernel_around();
152
153 /* Enable the A20 gate */
154 if (enable_a20()) {
155 puts("A20 gate not responding, unable to boot...\n");
156 die();
157 }
158
159 /* Reset coprocessor (IGNNE#) */
160 reset_coprocessor();
161
162 /* Mask all interrupts in the PIC */
163 mask_all_interrupts();
164
165 /* Actual transition to protected mode... */
166 setup_idt();
167 setup_gdt();
168 protected_mode_jump(boot_params.hdr.code32_start,
169 (u32)&boot_params + (ds() << 4));
170}
diff --git a/arch/i386/boot/pmjump.S b/arch/i386/boot/pmjump.S
new file mode 100644
index 000000000000..2e559233725a
--- /dev/null
+++ b/arch/i386/boot/pmjump.S
@@ -0,0 +1,54 @@
1/* ----------------------------------------------------------------------- *
2 *
3 * Copyright (C) 1991, 1992 Linus Torvalds
4 * Copyright 2007 rPath, Inc. - All Rights Reserved
5 *
6 * This file is part of the Linux kernel, and is made available under
7 * the terms of the GNU General Public License version 2.
8 *
9 * ----------------------------------------------------------------------- */
10
11/*
12 * arch/i386/boot/pmjump.S
13 *
14 * The actual transition into protected mode
15 */
16
17#include <asm/boot.h>
18#include <asm/segment.h>
19
20 .text
21
22 .globl protected_mode_jump
23 .type protected_mode_jump, @function
24
25 .code16
26
27/*
28 * void protected_mode_jump(u32 entrypoint, u32 bootparams);
29 */
30protected_mode_jump:
31 xorl %ebx, %ebx # Flag to indicate this is a boot
32 movl %edx, %esi # Pointer to boot_params table
33 movl %eax, 2f # Patch ljmpl instruction
34 jmp 1f # Short jump to flush instruction q.
35
361:
37 movw $__BOOT_DS, %cx
38
39 movl %cr0, %edx
40 orb $1, %dl # Protected mode (PE) bit
41 movl %edx, %cr0
42
43 movw %cx, %ds
44 movw %cx, %es
45 movw %cx, %fs
46 movw %cx, %gs
47 movw %cx, %ss
48
49 # Jump to the 32-bit entrypoint
50 .byte 0x66, 0xea # ljmpl opcode
512: .long 0 # offset
52 .word __BOOT_CS # segment
53
54 .size protected_mode_jump, .-protected_mode_jump
diff --git a/arch/i386/boot/printf.c b/arch/i386/boot/printf.c
new file mode 100644
index 000000000000..1a09f9309d3c
--- /dev/null
+++ b/arch/i386/boot/printf.c
@@ -0,0 +1,307 @@
1/* -*- linux-c -*- ------------------------------------------------------- *
2 *
3 * Copyright (C) 1991, 1992 Linus Torvalds
4 * Copyright 2007 rPath, Inc. - All Rights Reserved
5 *
6 * This file is part of the Linux kernel, and is made available under
7 * the terms of the GNU General Public License version 2.
8 *
9 * ----------------------------------------------------------------------- */
10
11/*
12 * arch/i386/boot/printf.c
13 *
14 * Oh, it's a waste of space, but oh-so-yummy for debugging. This
15 * version of printf() does not include 64-bit support. "Live with
16 * it."
17 *
18 */
19
20#include "boot.h"
21
22static int skip_atoi(const char **s)
23{
24 int i = 0;
25
26 while (isdigit(**s))
27 i = i * 10 + *((*s)++) - '0';
28 return i;
29}
30
31#define ZEROPAD 1 /* pad with zero */
32#define SIGN 2 /* unsigned/signed long */
33#define PLUS 4 /* show plus */
34#define SPACE 8 /* space if plus */
35#define LEFT 16 /* left justified */
36#define SPECIAL 32 /* 0x */
37#define LARGE 64 /* use 'ABCDEF' instead of 'abcdef' */
38
39#define do_div(n,base) ({ \
40int __res; \
41__res = ((unsigned long) n) % (unsigned) base; \
42n = ((unsigned long) n) / (unsigned) base; \
43__res; })
44
45static char *number(char *str, long num, int base, int size, int precision,
46 int type)
47{
48 char c, sign, tmp[66];
49 const char *digits = "0123456789abcdefghijklmnopqrstuvwxyz";
50 int i;
51
52 if (type & LARGE)
53 digits = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
54 if (type & LEFT)
55 type &= ~ZEROPAD;
56 if (base < 2 || base > 36)
57 return 0;
58 c = (type & ZEROPAD) ? '0' : ' ';
59 sign = 0;
60 if (type & SIGN) {
61 if (num < 0) {
62 sign = '-';
63 num = -num;
64 size--;
65 } else if (type & PLUS) {
66 sign = '+';
67 size--;
68 } else if (type & SPACE) {
69 sign = ' ';
70 size--;
71 }
72 }
73 if (type & SPECIAL) {
74 if (base == 16)
75 size -= 2;
76 else if (base == 8)
77 size--;
78 }
79 i = 0;
80 if (num == 0)
81 tmp[i++] = '0';
82 else
83 while (num != 0)
84 tmp[i++] = digits[do_div(num, base)];
85 if (i > precision)
86 precision = i;
87 size -= precision;
88 if (!(type & (ZEROPAD + LEFT)))
89 while (size-- > 0)
90 *str++ = ' ';
91 if (sign)
92 *str++ = sign;
93 if (type & SPECIAL) {
94 if (base == 8)
95 *str++ = '0';
96 else if (base == 16) {
97 *str++ = '0';
98 *str++ = digits[33];
99 }
100 }
101 if (!(type & LEFT))
102 while (size-- > 0)
103 *str++ = c;
104 while (i < precision--)
105 *str++ = '0';
106 while (i-- > 0)
107 *str++ = tmp[i];
108 while (size-- > 0)
109 *str++ = ' ';
110 return str;
111}
112
113int vsprintf(char *buf, const char *fmt, va_list args)
114{
115 int len;
116 unsigned long num;
117 int i, base;
118 char *str;
119 const char *s;
120
121 int flags; /* flags to number() */
122
123 int field_width; /* width of output field */
124 int precision; /* min. # of digits for integers; max
125 number of chars for from string */
126 int qualifier; /* 'h', 'l', or 'L' for integer fields */
127
128 for (str = buf; *fmt; ++fmt) {
129 if (*fmt != '%') {
130 *str++ = *fmt;
131 continue;
132 }
133
134 /* process flags */
135 flags = 0;
136 repeat:
137 ++fmt; /* this also skips first '%' */
138 switch (*fmt) {
139 case '-':
140 flags |= LEFT;
141 goto repeat;
142 case '+':
143 flags |= PLUS;
144 goto repeat;
145 case ' ':
146 flags |= SPACE;
147 goto repeat;
148 case '#':
149 flags |= SPECIAL;
150 goto repeat;
151 case '0':
152 flags |= ZEROPAD;
153 goto repeat;
154 }
155
156 /* get field width */
157 field_width = -1;
158 if (isdigit(*fmt))
159 field_width = skip_atoi(&fmt);
160 else if (*fmt == '*') {
161 ++fmt;
162 /* it's the next argument */
163 field_width = va_arg(args, int);
164 if (field_width < 0) {
165 field_width = -field_width;
166 flags |= LEFT;
167 }
168 }
169
170 /* get the precision */
171 precision = -1;
172 if (*fmt == '.') {
173 ++fmt;
174 if (isdigit(*fmt))
175 precision = skip_atoi(&fmt);
176 else if (*fmt == '*') {
177 ++fmt;
178 /* it's the next argument */
179 precision = va_arg(args, int);
180 }
181 if (precision < 0)
182 precision = 0;
183 }
184
185 /* get the conversion qualifier */
186 qualifier = -1;
187 if (*fmt == 'h' || *fmt == 'l' || *fmt == 'L') {
188 qualifier = *fmt;
189 ++fmt;
190 }
191
192 /* default base */
193 base = 10;
194
195 switch (*fmt) {
196 case 'c':
197 if (!(flags & LEFT))
198 while (--field_width > 0)
199 *str++ = ' ';
200 *str++ = (unsigned char)va_arg(args, int);
201 while (--field_width > 0)
202 *str++ = ' ';
203 continue;
204
205 case 's':
206 s = va_arg(args, char *);
207 len = strnlen(s, precision);
208
209 if (!(flags & LEFT))
210 while (len < field_width--)
211 *str++ = ' ';
212 for (i = 0; i < len; ++i)
213 *str++ = *s++;
214 while (len < field_width--)
215 *str++ = ' ';
216 continue;
217
218 case 'p':
219 if (field_width == -1) {
220 field_width = 2 * sizeof(void *);
221 flags |= ZEROPAD;
222 }
223 str = number(str,
224 (unsigned long)va_arg(args, void *), 16,
225 field_width, precision, flags);
226 continue;
227
228 case 'n':
229 if (qualifier == 'l') {
230 long *ip = va_arg(args, long *);
231 *ip = (str - buf);
232 } else {
233 int *ip = va_arg(args, int *);
234 *ip = (str - buf);
235 }
236 continue;
237
238 case '%':
239 *str++ = '%';
240 continue;
241
242 /* integer number formats - set up the flags and "break" */
243 case 'o':
244 base = 8;
245 break;
246
247 case 'X':
248 flags |= LARGE;
249 case 'x':
250 base = 16;
251 break;
252
253 case 'd':
254 case 'i':
255 flags |= SIGN;
256 case 'u':
257 break;
258
259 default:
260 *str++ = '%';
261 if (*fmt)
262 *str++ = *fmt;
263 else
264 --fmt;
265 continue;
266 }
267 if (qualifier == 'l')
268 num = va_arg(args, unsigned long);
269 else if (qualifier == 'h') {
270 num = (unsigned short)va_arg(args, int);
271 if (flags & SIGN)
272 num = (short)num;
273 } else if (flags & SIGN)
274 num = va_arg(args, int);
275 else
276 num = va_arg(args, unsigned int);
277 str = number(str, num, base, field_width, precision, flags);
278 }
279 *str = '\0';
280 return str - buf;
281}
282
283int sprintf(char *buf, const char *fmt, ...)
284{
285 va_list args;
286 int i;
287
288 va_start(args, fmt);
289 i = vsprintf(buf, fmt, args);
290 va_end(args);
291 return i;
292}
293
294int printf(const char *fmt, ...)
295{
296 char printf_buf[1024];
297 va_list args;
298 int printed;
299
300 va_start(args, fmt);
301 printed = vsprintf(printf_buf, fmt, args);
302 va_end(args);
303
304 puts(printf_buf);
305
306 return printed;
307}
diff --git a/arch/i386/boot/setup.S b/arch/i386/boot/setup.S
deleted file mode 100644
index 6dbcc95b2120..000000000000
--- a/arch/i386/boot/setup.S
+++ /dev/null
@@ -1,1075 +0,0 @@
1/*
2 * setup.S Copyright (C) 1991, 1992 Linus Torvalds
3 *
4 * setup.s is responsible for getting the system data from the BIOS,
5 * and putting them into the appropriate places in system memory.
6 * both setup.s and system has been loaded by the bootblock.
7 *
8 * This code asks the bios for memory/disk/other parameters, and
9 * puts them in a "safe" place: 0x90000-0x901FF, ie where the
10 * boot-block used to be. It is then up to the protected mode
11 * system to read them from there before the area is overwritten
12 * for buffer-blocks.
13 *
14 * Move PS/2 aux init code to psaux.c
15 * (troyer@saifr00.cfsat.Honeywell.COM) 03Oct92
16 *
17 * some changes and additional features by Christoph Niemann,
18 * March 1993/June 1994 (Christoph.Niemann@linux.org)
19 *
20 * add APM BIOS checking by Stephen Rothwell, May 1994
21 * (sfr@canb.auug.org.au)
22 *
23 * High load stuff, initrd support and position independency
24 * by Hans Lermen & Werner Almesberger, February 1996
25 * <lermen@elserv.ffm.fgan.de>, <almesber@lrc.epfl.ch>
26 *
27 * Video handling moved to video.S by Martin Mares, March 1996
28 * <mj@k332.feld.cvut.cz>
29 *
30 * Extended memory detection scheme retwiddled by orc@pell.chi.il.us (david
31 * parsons) to avoid loadlin confusion, July 1997
32 *
33 * Transcribed from Intel (as86) -> AT&T (gas) by Chris Noe, May 1999.
34 * <stiker@northlink.com>
35 *
36 * Fix to work around buggy BIOSes which don't use carry bit correctly
37 * and/or report extended memory in CX/DX for e801h memory size detection
38 * call. As a result the kernel got wrong figures. The int15/e801h docs
39 * from Ralf Brown interrupt list seem to indicate AX/BX should be used
40 * anyway. So to avoid breaking many machines (presumably there was a reason
41 * to orginally use CX/DX instead of AX/BX), we do a kludge to see
42 * if CX/DX have been changed in the e801 call and if so use AX/BX .
43 * Michael Miller, April 2001 <michaelm@mjmm.org>
44 *
45 * New A20 code ported from SYSLINUX by H. Peter Anvin. AMD Elan bugfixes
46 * by Robert Schwebel, December 2001 <robert@schwebel.de>
47 */
48
49#include <asm/segment.h>
50#include <linux/utsrelease.h>
51#include <linux/compile.h>
52#include <asm/boot.h>
53#include <asm/e820.h>
54#include <asm/page.h>
55#include <asm/setup.h>
56
57/* Signature words to ensure LILO loaded us right */
58#define SIG1 0xAA55
59#define SIG2 0x5A5A
60
61INITSEG = DEF_INITSEG # 0x9000, we move boot here, out of the way
62SYSSEG = DEF_SYSSEG # 0x1000, system loaded at 0x10000 (65536).
63SETUPSEG = DEF_SETUPSEG # 0x9020, this is the current segment
64 # ... and the former contents of CS
65
66DELTA_INITSEG = SETUPSEG - INITSEG # 0x0020
67
68.code16
69.globl begtext, begdata, begbss, endtext, enddata, endbss
70
71.text
72begtext:
73.data
74begdata:
75.bss
76begbss:
77.text
78
79start:
80 jmp trampoline
81
82# This is the setup header, and it must start at %cs:2 (old 0x9020:2)
83
84 .ascii "HdrS" # header signature
85 .word 0x0206 # header version number (>= 0x0105)
86 # or else old loadlin-1.5 will fail)
87realmode_swtch: .word 0, 0 # default_switch, SETUPSEG
88start_sys_seg: .word SYSSEG
89 .word kernel_version # pointing to kernel version string
90 # above section of header is compatible
91 # with loadlin-1.5 (header v1.5). Don't
92 # change it.
93
94type_of_loader: .byte 0 # = 0, old one (LILO, Loadlin,
95 # Bootlin, SYSLX, bootsect...)
96 # See Documentation/i386/boot.txt for
97 # assigned ids
98
99# flags, unused bits must be zero (RFU) bit within loadflags
100loadflags:
101LOADED_HIGH = 1 # If set, the kernel is loaded high
102CAN_USE_HEAP = 0x80 # If set, the loader also has set
103 # heap_end_ptr to tell how much
104 # space behind setup.S can be used for
105 # heap purposes.
106 # Only the loader knows what is free
107#ifndef __BIG_KERNEL__
108 .byte 0
109#else
110 .byte LOADED_HIGH
111#endif
112
113setup_move_size: .word 0x8000 # size to move, when setup is not
114 # loaded at 0x90000. We will move setup
115 # to 0x90000 then just before jumping
116 # into the kernel. However, only the
117 # loader knows how much data behind
118 # us also needs to be loaded.
119
120code32_start: # here loaders can put a different
121 # start address for 32-bit code.
122#ifndef __BIG_KERNEL__
123 .long 0x1000 # 0x1000 = default for zImage
124#else
125 .long 0x100000 # 0x100000 = default for big kernel
126#endif
127
128ramdisk_image: .long 0 # address of loaded ramdisk image
129 # Here the loader puts the 32-bit
130 # address where it loaded the image.
131 # This only will be read by the kernel.
132
133ramdisk_size: .long 0 # its size in bytes
134
135bootsect_kludge:
136 .long 0 # obsolete
137
138heap_end_ptr: .word modelist+1024 # (Header version 0x0201 or later)
139 # space from here (exclusive) down to
140 # end of setup code can be used by setup
141 # for local heap purposes.
142
143pad1: .word 0
144cmd_line_ptr: .long 0 # (Header version 0x0202 or later)
145 # If nonzero, a 32-bit pointer
146 # to the kernel command line.
147 # The command line should be
148 # located between the start of
149 # setup and the end of low
150 # memory (0xa0000), or it may
151 # get overwritten before it
152 # gets read. If this field is
153 # used, there is no longer
154 # anything magical about the
155 # 0x90000 segment; the setup
156 # can be located anywhere in
157 # low memory 0x10000 or higher.
158
159ramdisk_max: .long (-__PAGE_OFFSET-(512 << 20)-1) & 0x7fffffff
160 # (Header version 0x0203 or later)
161 # The highest safe address for
162 # the contents of an initrd
163
164kernel_alignment: .long CONFIG_PHYSICAL_ALIGN #physical addr alignment
165 #required for protected mode
166 #kernel
167#ifdef CONFIG_RELOCATABLE
168relocatable_kernel: .byte 1
169#else
170relocatable_kernel: .byte 0
171#endif
172pad2: .byte 0
173pad3: .word 0
174
175cmdline_size: .long COMMAND_LINE_SIZE-1 #length of the command line,
176 #added with boot protocol
177 #version 2.06
178
179trampoline: call start_of_setup
180 .align 16
181 # The offset at this point is 0x240
182 .space (0xeff-0x240+1) # E820 & EDD space (ending at 0xeff)
183# End of setup header #####################################################
184
185start_of_setup:
186# Bootlin depends on this being done early
187 movw $0x01500, %ax
188 movb $0x81, %dl
189 int $0x13
190
191#ifdef SAFE_RESET_DISK_CONTROLLER
192# Reset the disk controller.
193 movw $0x0000, %ax
194 movb $0x80, %dl
195 int $0x13
196#endif
197
198# Set %ds = %cs, we know that SETUPSEG = %cs at this point
199 movw %cs, %ax # aka SETUPSEG
200 movw %ax, %ds
201# Check signature at end of setup
202 cmpw $SIG1, setup_sig1
203 jne bad_sig
204
205 cmpw $SIG2, setup_sig2
206 jne bad_sig
207
208 jmp good_sig1
209
210# Routine to print asciiz string at ds:si
211prtstr:
212 lodsb
213 andb %al, %al
214 jz fin
215
216 call prtchr
217 jmp prtstr
218
219fin: ret
220
221# Space printing
222prtsp2: call prtspc # Print double space
223prtspc: movb $0x20, %al # Print single space (note: fall-thru)
224
225# Part of above routine, this one just prints ascii al
226prtchr: pushw %ax
227 pushw %cx
228 movw $7,%bx
229 movw $0x01, %cx
230 movb $0x0e, %ah
231 int $0x10
232 popw %cx
233 popw %ax
234 ret
235
236beep: movb $0x07, %al
237 jmp prtchr
238
239no_sig_mess: .string "No setup signature found ..."
240
241good_sig1:
242 jmp good_sig
243
244# We now have to find the rest of the setup code/data
245bad_sig:
246 movw %cs, %ax # SETUPSEG
247 subw $DELTA_INITSEG, %ax # INITSEG
248 movw %ax, %ds
249 xorb %bh, %bh
250 movb (497), %bl # get setup sect from bootsect
251 subw $4, %bx # LILO loads 4 sectors of setup
252 shlw $8, %bx # convert to words (1sect=2^8 words)
253 movw %bx, %cx
254 shrw $3, %bx # convert to segment
255 addw $SYSSEG, %bx
256 movw %bx, %cs:start_sys_seg
257# Move rest of setup code/data to here
258 movw $2048, %di # four sectors loaded by LILO
259 subw %si, %si
260 pushw %cs
261 popw %es
262 movw $SYSSEG, %ax
263 movw %ax, %ds
264 rep
265 movsw
266 movw %cs, %ax # aka SETUPSEG
267 movw %ax, %ds
268 cmpw $SIG1, setup_sig1
269 jne no_sig
270
271 cmpw $SIG2, setup_sig2
272 jne no_sig
273
274 jmp good_sig
275
276no_sig:
277 lea no_sig_mess, %si
278 call prtstr
279
280no_sig_loop:
281 hlt
282 jmp no_sig_loop
283
284good_sig:
285 movw %cs, %ax # aka SETUPSEG
286 subw $DELTA_INITSEG, %ax # aka INITSEG
287 movw %ax, %ds
288# Check if an old loader tries to load a big-kernel
289 testb $LOADED_HIGH, %cs:loadflags # Do we have a big kernel?
290 jz loader_ok # No, no danger for old loaders.
291
292 cmpb $0, %cs:type_of_loader # Do we have a loader that
293 # can deal with us?
294 jnz loader_ok # Yes, continue.
295
296 pushw %cs # No, we have an old loader,
297 popw %ds # die.
298 lea loader_panic_mess, %si
299 call prtstr
300
301 jmp no_sig_loop
302
303loader_panic_mess: .string "Wrong loader, giving up..."
304
305# check minimum cpuid
306# we do this here because it is the last place we can actually
307# show a user visible error message. Later the video modus
308# might be already messed up.
309loader_ok:
310 call verify_cpu
311 testl %eax,%eax
312 jz cpu_ok
313 movw %cs,%ax # aka SETUPSEG
314 movw %ax,%ds
315 lea cpu_panic_mess,%si
316 call prtstr
3171: jmp 1b
318
319cpu_panic_mess:
320 .asciz "PANIC: CPU too old for this kernel."
321
322#include "../kernel/verify_cpu.S"
323
324cpu_ok:
325# Get memory size (extended mem, kB)
326
327 xorl %eax, %eax
328 movl %eax, (0x1e0)
329#ifndef STANDARD_MEMORY_BIOS_CALL
330 movb %al, (E820NR)
331# Try three different memory detection schemes. First, try
332# e820h, which lets us assemble a memory map, then try e801h,
333# which returns a 32-bit memory size, and finally 88h, which
334# returns 0-64m
335
336# method E820H:
337# the memory map from hell. e820h returns memory classified into
338# a whole bunch of different types, and allows memory holes and
339# everything. We scan through this memory map and build a list
340# of the first 32 memory areas, which we return at [E820MAP].
341# This is documented at http://www.acpi.info/, in the ACPI 2.0 specification.
342
343#define SMAP 0x534d4150
344
345meme820:
346 xorl %ebx, %ebx # continuation counter
347 movw $E820MAP, %di # point into the whitelist
348 # so we can have the bios
349 # directly write into it.
350
351jmpe820:
352 movl $0x0000e820, %eax # e820, upper word zeroed
353 movl $SMAP, %edx # ascii 'SMAP'
354 movl $20, %ecx # size of the e820rec
355 pushw %ds # data record.
356 popw %es
357 int $0x15 # make the call
358 jc bail820 # fall to e801 if it fails
359
360 cmpl $SMAP, %eax # check the return is `SMAP'
361 jne bail820 # fall to e801 if it fails
362
363# cmpl $1, 16(%di) # is this usable memory?
364# jne again820
365
366 # If this is usable memory, we save it by simply advancing %di by
367 # sizeof(e820rec).
368 #
369good820:
370 movb (E820NR), %al # up to 128 entries
371 cmpb $E820MAX, %al
372 jae bail820
373
374 incb (E820NR)
375 movw %di, %ax
376 addw $20, %ax
377 movw %ax, %di
378again820:
379 cmpl $0, %ebx # check to see if
380 jne jmpe820 # %ebx is set to EOF
381bail820:
382
383
384# method E801H:
385# memory size is in 1k chunksizes, to avoid confusing loadlin.
386# we store the 0xe801 memory size in a completely different place,
387# because it will most likely be longer than 16 bits.
388# (use 1e0 because that's what Larry Augustine uses in his
389# alternative new memory detection scheme, and it's sensible
390# to write everything into the same place.)
391
392meme801:
393 stc # fix to work around buggy
394 xorw %cx,%cx # BIOSes which don't clear/set
395 xorw %dx,%dx # carry on pass/error of
396 # e801h memory size call
397 # or merely pass cx,dx though
398 # without changing them.
399 movw $0xe801, %ax
400 int $0x15
401 jc mem88
402
403 cmpw $0x0, %cx # Kludge to handle BIOSes
404 jne e801usecxdx # which report their extended
405 cmpw $0x0, %dx # memory in AX/BX rather than
406 jne e801usecxdx # CX/DX. The spec I have read
407 movw %ax, %cx # seems to indicate AX/BX
408 movw %bx, %dx # are more reasonable anyway...
409
410e801usecxdx:
411 andl $0xffff, %edx # clear sign extend
412 shll $6, %edx # and go from 64k to 1k chunks
413 movl %edx, (0x1e0) # store extended memory size
414 andl $0xffff, %ecx # clear sign extend
415 addl %ecx, (0x1e0) # and add lower memory into
416 # total size.
417
418# Ye Olde Traditional Methode. Returns the memory size (up to 16mb or
419# 64mb, depending on the bios) in ax.
420mem88:
421
422#endif
423 movb $0x88, %ah
424 int $0x15
425 movw %ax, (2)
426
427# Set the keyboard repeat rate to the max
428 movw $0x0305, %ax
429 xorw %bx, %bx
430 int $0x16
431
432# Check for video adapter and its parameters and allow the
433# user to browse video modes.
434 call video # NOTE: we need %ds pointing
435 # to bootsector
436
437# Get hd0 data...
438 xorw %ax, %ax
439 movw %ax, %ds
440 ldsw (4 * 0x41), %si
441 movw %cs, %ax # aka SETUPSEG
442 subw $DELTA_INITSEG, %ax # aka INITSEG
443 pushw %ax
444 movw %ax, %es
445 movw $0x0080, %di
446 movw $0x10, %cx
447 pushw %cx
448 cld
449 rep
450 movsb
451# Get hd1 data...
452 xorw %ax, %ax
453 movw %ax, %ds
454 ldsw (4 * 0x46), %si
455 popw %cx
456 popw %es
457 movw $0x0090, %di
458 rep
459 movsb
460# Check that there IS a hd1 :-)
461 movw $0x01500, %ax
462 movb $0x81, %dl
463 int $0x13
464 jc no_disk1
465
466 cmpb $3, %ah
467 je is_disk1
468
469no_disk1:
470 movw %cs, %ax # aka SETUPSEG
471 subw $DELTA_INITSEG, %ax # aka INITSEG
472 movw %ax, %es
473 movw $0x0090, %di
474 movw $0x10, %cx
475 xorw %ax, %ax
476 cld
477 rep
478 stosb
479is_disk1:
480# check for Micro Channel (MCA) bus
481 movw %cs, %ax # aka SETUPSEG
482 subw $DELTA_INITSEG, %ax # aka INITSEG
483 movw %ax, %ds
484 xorw %ax, %ax
485 movw %ax, (0xa0) # set table length to 0
486 movb $0xc0, %ah
487 stc
488 int $0x15 # moves feature table to es:bx
489 jc no_mca
490
491 pushw %ds
492 movw %es, %ax
493 movw %ax, %ds
494 movw %cs, %ax # aka SETUPSEG
495 subw $DELTA_INITSEG, %ax # aka INITSEG
496 movw %ax, %es
497 movw %bx, %si
498 movw $0xa0, %di
499 movw (%si), %cx
500 addw $2, %cx # table length is a short
501 cmpw $0x10, %cx
502 jc sysdesc_ok
503
504 movw $0x10, %cx # we keep only first 16 bytes
505sysdesc_ok:
506 rep
507 movsb
508 popw %ds
509no_mca:
510#ifdef CONFIG_X86_VOYAGER
511 movb $0xff, 0x40 # flag on config found
512 movb $0xc0, %al
513 mov $0xff, %ah
514 int $0x15 # put voyager config info at es:di
515 jc no_voyager
516 movw $0x40, %si # place voyager info in apm table
517 cld
518 movw $7, %cx
519voyager_rep:
520 movb %es:(%di), %al
521 movb %al,(%si)
522 incw %di
523 incw %si
524 decw %cx
525 jnz voyager_rep
526no_voyager:
527#endif
528# Check for PS/2 pointing device
529 movw %cs, %ax # aka SETUPSEG
530 subw $DELTA_INITSEG, %ax # aka INITSEG
531 movw %ax, %ds
532 movb $0, (0x1ff) # default is no pointing device
533 int $0x11 # int 0x11: equipment list
534 testb $0x04, %al # check if mouse installed
535 jz no_psmouse
536
537 movb $0xAA, (0x1ff) # device present
538no_psmouse:
539
540#if defined(CONFIG_X86_SPEEDSTEP_SMI) || defined(CONFIG_X86_SPEEDSTEP_SMI_MODULE)
541 movl $0x0000E980, %eax # IST Support
542 movl $0x47534943, %edx # Request value
543 int $0x15
544
545 movl %eax, (96)
546 movl %ebx, (100)
547 movl %ecx, (104)
548 movl %edx, (108)
549#endif
550
551#if defined(CONFIG_APM) || defined(CONFIG_APM_MODULE)
552# Then check for an APM BIOS...
553 # %ds points to the bootsector
554 movw $0, 0x40 # version = 0 means no APM BIOS
555 movw $0x05300, %ax # APM BIOS installation check
556 xorw %bx, %bx
557 int $0x15
558 jc done_apm_bios # Nope, no APM BIOS
559
560 cmpw $0x0504d, %bx # Check for "PM" signature
561 jne done_apm_bios # No signature, no APM BIOS
562
563 andw $0x02, %cx # Is 32 bit supported?
564 je done_apm_bios # No 32-bit, no (good) APM BIOS
565
566 movw $0x05304, %ax # Disconnect first just in case
567 xorw %bx, %bx
568 int $0x15 # ignore return code
569 movw $0x05303, %ax # 32 bit connect
570 xorl %ebx, %ebx
571 xorw %cx, %cx # paranoia :-)
572 xorw %dx, %dx # ...
573 xorl %esi, %esi # ...
574 xorw %di, %di # ...
575 int $0x15
576 jc no_32_apm_bios # Ack, error.
577
578 movw %ax, (66) # BIOS code segment
579 movl %ebx, (68) # BIOS entry point offset
580 movw %cx, (72) # BIOS 16 bit code segment
581 movw %dx, (74) # BIOS data segment
582 movl %esi, (78) # BIOS code segment lengths
583 movw %di, (82) # BIOS data segment length
584# Redo the installation check as the 32 bit connect
585# modifies the flags returned on some BIOSs
586 movw $0x05300, %ax # APM BIOS installation check
587 xorw %bx, %bx
588 xorw %cx, %cx # paranoia
589 int $0x15
590 jc apm_disconnect # error -> shouldn't happen
591
592 cmpw $0x0504d, %bx # check for "PM" signature
593 jne apm_disconnect # no sig -> shouldn't happen
594
595 movw %ax, (64) # record the APM BIOS version
596 movw %cx, (76) # and flags
597 jmp done_apm_bios
598
599apm_disconnect: # Tidy up
600 movw $0x05304, %ax # Disconnect
601 xorw %bx, %bx
602 int $0x15 # ignore return code
603
604 jmp done_apm_bios
605
606no_32_apm_bios:
607 andw $0xfffd, (76) # remove 32 bit support bit
608done_apm_bios:
609#endif
610
611#include "edd.S"
612
613# Now we want to move to protected mode ...
614 cmpw $0, %cs:realmode_swtch
615 jz rmodeswtch_normal
616
617 lcall *%cs:realmode_swtch
618
619 jmp rmodeswtch_end
620
621rmodeswtch_normal:
622 pushw %cs
623 call default_switch
624
625rmodeswtch_end:
626# Now we move the system to its rightful place ... but we check if we have a
627# big-kernel. In that case we *must* not move it ...
628 testb $LOADED_HIGH, %cs:loadflags
629 jz do_move0 # .. then we have a normal low
630 # loaded zImage
631 # .. or else we have a high
632 # loaded bzImage
633 jmp end_move # ... and we skip moving
634
635do_move0:
636 movw $0x100, %ax # start of destination segment
637 movw %cs, %bp # aka SETUPSEG
638 subw $DELTA_INITSEG, %bp # aka INITSEG
639 movw %cs:start_sys_seg, %bx # start of source segment
640 cld
641do_move:
642 movw %ax, %es # destination segment
643 incb %ah # instead of add ax,#0x100
644 movw %bx, %ds # source segment
645 addw $0x100, %bx
646 subw %di, %di
647 subw %si, %si
648 movw $0x800, %cx
649 rep
650 movsw
651 cmpw %bp, %bx # assume start_sys_seg > 0x200,
652 # so we will perhaps read one
653 # page more than needed, but
654 # never overwrite INITSEG
655 # because destination is a
656 # minimum one page below source
657 jb do_move
658
659end_move:
660# then we load the segment descriptors
661 movw %cs, %ax # aka SETUPSEG
662 movw %ax, %ds
663
664# Check whether we need to be downward compatible with version <=201
665 cmpl $0, cmd_line_ptr
666 jne end_move_self # loader uses version >=202 features
667 cmpb $0x20, type_of_loader
668 je end_move_self # bootsect loader, we know of it
669
670# Boot loader doesnt support boot protocol version 2.02.
671# If we have our code not at 0x90000, we need to move it there now.
672# We also then need to move the params behind it (commandline)
673# Because we would overwrite the code on the current IP, we move
674# it in two steps, jumping high after the first one.
675 movw %cs, %ax
676 cmpw $SETUPSEG, %ax
677 je end_move_self
678
679 cli # make sure we really have
680 # interrupts disabled !
681 # because after this the stack
682 # should not be used
683 subw $DELTA_INITSEG, %ax # aka INITSEG
684 movw %ss, %dx
685 cmpw %ax, %dx
686 jb move_self_1
687
688 addw $INITSEG, %dx
689 subw %ax, %dx # this will go into %ss after
690 # the move
691move_self_1:
692 movw %ax, %ds
693 movw $INITSEG, %ax # real INITSEG
694 movw %ax, %es
695 movw %cs:setup_move_size, %cx
696 std # we have to move up, so we use
697 # direction down because the
698 # areas may overlap
699 movw %cx, %di
700 decw %di
701 movw %di, %si
702 subw $move_self_here+0x200, %cx
703 rep
704 movsb
705 ljmp $SETUPSEG, $move_self_here
706
707move_self_here:
708 movw $move_self_here+0x200, %cx
709 rep
710 movsb
711 movw $SETUPSEG, %ax
712 movw %ax, %ds
713 movw %dx, %ss
714end_move_self: # now we are at the right place
715
716#
717# Enable A20. This is at the very best an annoying procedure.
718# A20 code ported from SYSLINUX 1.52-1.63 by H. Peter Anvin.
719# AMD Elan bug fix by Robert Schwebel.
720#
721
722#if defined(CONFIG_X86_ELAN)
723 movb $0x02, %al # alternate A20 gate
724 outb %al, $0x92 # this works on SC410/SC520
725a20_elan_wait:
726 call a20_test
727 jz a20_elan_wait
728 jmp a20_done
729#endif
730
731
732A20_TEST_LOOPS = 32 # Iterations per wait
733A20_ENABLE_LOOPS = 255 # Total loops to try
734
735
736#ifndef CONFIG_X86_VOYAGER
737a20_try_loop:
738
739 # First, see if we are on a system with no A20 gate.
740a20_none:
741 call a20_test
742 jnz a20_done
743
744 # Next, try the BIOS (INT 0x15, AX=0x2401)
745a20_bios:
746 movw $0x2401, %ax
747 pushfl # Be paranoid about flags
748 int $0x15
749 popfl
750
751 call a20_test
752 jnz a20_done
753
754 # Try enabling A20 through the keyboard controller
755#endif /* CONFIG_X86_VOYAGER */
756a20_kbc:
757 call empty_8042
758
759#ifndef CONFIG_X86_VOYAGER
760 call a20_test # Just in case the BIOS worked
761 jnz a20_done # but had a delayed reaction.
762#endif
763
764 movb $0xD1, %al # command write
765 outb %al, $0x64
766 call empty_8042
767
768 movb $0xDF, %al # A20 on
769 outb %al, $0x60
770 call empty_8042
771
772#ifndef CONFIG_X86_VOYAGER
773 # Wait until a20 really *is* enabled; it can take a fair amount of
774 # time on certain systems; Toshiba Tecras are known to have this
775 # problem.
776a20_kbc_wait:
777 xorw %cx, %cx
778a20_kbc_wait_loop:
779 call a20_test
780 jnz a20_done
781 loop a20_kbc_wait_loop
782
783 # Final attempt: use "configuration port A"
784a20_fast:
785 inb $0x92, %al # Configuration Port A
786 orb $0x02, %al # "fast A20" version
787 andb $0xFE, %al # don't accidentally reset
788 outb %al, $0x92
789
790 # Wait for configuration port A to take effect
791a20_fast_wait:
792 xorw %cx, %cx
793a20_fast_wait_loop:
794 call a20_test
795 jnz a20_done
796 loop a20_fast_wait_loop
797
798 # A20 is still not responding. Try frobbing it again.
799 #
800 decb (a20_tries)
801 jnz a20_try_loop
802
803 movw $a20_err_msg, %si
804 call prtstr
805
806a20_die:
807 hlt
808 jmp a20_die
809
810a20_tries:
811 .byte A20_ENABLE_LOOPS
812
813a20_err_msg:
814 .ascii "linux: fatal error: A20 gate not responding!"
815 .byte 13, 10, 0
816
817 # If we get here, all is good
818a20_done:
819
820#endif /* CONFIG_X86_VOYAGER */
821# set up gdt and idt and 32bit start address
822 lidt idt_48 # load idt with 0,0
823 xorl %eax, %eax # Compute gdt_base
824 movw %ds, %ax # (Convert %ds:gdt to a linear ptr)
825 shll $4, %eax
826 addl %eax, code32
827 addl $gdt, %eax
828 movl %eax, (gdt_48+2)
829 lgdt gdt_48 # load gdt with whatever is
830 # appropriate
831
832# make sure any possible coprocessor is properly reset..
833 xorw %ax, %ax
834 outb %al, $0xf0
835 call delay
836
837 outb %al, $0xf1
838 call delay
839
840# well, that went ok, I hope. Now we mask all interrupts - the rest
841# is done in init_IRQ().
842 movb $0xFF, %al # mask all interrupts for now
843 outb %al, $0xA1
844 call delay
845
846 movb $0xFB, %al # mask all irq's but irq2 which
847 outb %al, $0x21 # is cascaded
848
849# Well, that certainly wasn't fun :-(. Hopefully it works, and we don't
850# need no steenking BIOS anyway (except for the initial loading :-).
851# The BIOS-routine wants lots of unnecessary data, and it's less
852# "interesting" anyway. This is how REAL programmers do it.
853#
854# Well, now's the time to actually move into protected mode. To make
855# things as simple as possible, we do no register set-up or anything,
856# we let the gnu-compiled 32-bit programs do that. We just jump to
857# absolute address 0x1000 (or the loader supplied one),
858# in 32-bit protected mode.
859#
860# Note that the short jump isn't strictly needed, although there are
861# reasons why it might be a good idea. It won't hurt in any case.
862 movw $1, %ax # protected mode (PE) bit
863 lmsw %ax # This is it!
864 jmp flush_instr
865
866flush_instr:
867 xorw %bx, %bx # Flag to indicate a boot
868 xorl %esi, %esi # Pointer to real-mode code
869 movw %cs, %si
870 subw $DELTA_INITSEG, %si
871 shll $4, %esi # Convert to 32-bit pointer
872
873# jump to startup_32 in arch/i386/boot/compressed/head.S
874#
875# NOTE: For high loaded big kernels we need a
876# jmpi 0x100000,__BOOT_CS
877#
878# but we yet haven't reloaded the CS register, so the default size
879# of the target offset still is 16 bit.
880# However, using an operand prefix (0x66), the CPU will properly
881# take our 48 bit far pointer. (INTeL 80386 Programmer's Reference
882# Manual, Mixing 16-bit and 32-bit code, page 16-6)
883
884 .byte 0x66, 0xea # prefix + jmpi-opcode
885code32: .long startup_32 # will be set to %cs+startup_32
886 .word __BOOT_CS
887.code32
888startup_32:
889 movl $(__BOOT_DS), %eax
890 movl %eax, %ds
891 movl %eax, %es
892 movl %eax, %fs
893 movl %eax, %gs
894 movl %eax, %ss
895
896 xorl %eax, %eax
8971: incl %eax # check that A20 really IS enabled
898 movl %eax, 0x00000000 # loop forever if it isn't
899 cmpl %eax, 0x00100000
900 je 1b
901
902 # Jump to the 32bit entry point
903 jmpl *(code32_start - start + (DELTA_INITSEG << 4))(%esi)
904.code16
905
906# Here's a bunch of information about your current kernel..
907kernel_version: .ascii UTS_RELEASE
908 .ascii " ("
909 .ascii LINUX_COMPILE_BY
910 .ascii "@"
911 .ascii LINUX_COMPILE_HOST
912 .ascii ") "
913 .ascii UTS_VERSION
914 .byte 0
915
916# This is the default real mode switch routine.
917# to be called just before protected mode transition
918default_switch:
919 cli # no interrupts allowed !
920 movb $0x80, %al # disable NMI for bootup
921 # sequence
922 outb %al, $0x70
923 lret
924
925
926#ifndef CONFIG_X86_VOYAGER
927# This routine tests whether or not A20 is enabled. If so, it
928# exits with zf = 0.
929#
930# The memory address used, 0x200, is the int $0x80 vector, which
931# should be safe.
932
933A20_TEST_ADDR = 4*0x80
934
935a20_test:
936 pushw %cx
937 pushw %ax
938 xorw %cx, %cx
939 movw %cx, %fs # Low memory
940 decw %cx
941 movw %cx, %gs # High memory area
942 movw $A20_TEST_LOOPS, %cx
943 movw %fs:(A20_TEST_ADDR), %ax
944 pushw %ax
945a20_test_wait:
946 incw %ax
947 movw %ax, %fs:(A20_TEST_ADDR)
948 call delay # Serialize and make delay constant
949 cmpw %gs:(A20_TEST_ADDR+0x10), %ax
950 loope a20_test_wait
951
952 popw %fs:(A20_TEST_ADDR)
953 popw %ax
954 popw %cx
955 ret
956
957#endif /* CONFIG_X86_VOYAGER */
958
959# This routine checks that the keyboard command queue is empty
960# (after emptying the output buffers)
961#
962# Some machines have delusions that the keyboard buffer is always full
963# with no keyboard attached...
964#
965# If there is no keyboard controller, we will usually get 0xff
966# to all the reads. With each IO taking a microsecond and
967# a timeout of 100,000 iterations, this can take about half a
968# second ("delay" == outb to port 0x80). That should be ok,
969# and should also be plenty of time for a real keyboard controller
970# to empty.
971#
972
973empty_8042:
974 pushl %ecx
975 movl $100000, %ecx
976
977empty_8042_loop:
978 decl %ecx
979 jz empty_8042_end_loop
980
981 call delay
982
983 inb $0x64, %al # 8042 status port
984 testb $1, %al # output buffer?
985 jz no_output
986
987 call delay
988 inb $0x60, %al # read it
989 jmp empty_8042_loop
990
991no_output:
992 testb $2, %al # is input buffer full?
993 jnz empty_8042_loop # yes - loop
994empty_8042_end_loop:
995 popl %ecx
996 ret
997
998# Read the cmos clock. Return the seconds in al
999gettime:
1000 pushw %cx
1001 movb $0x02, %ah
1002 int $0x1a
1003 movb %dh, %al # %dh contains the seconds
1004 andb $0x0f, %al
1005 movb %dh, %ah
1006 movb $0x04, %cl
1007 shrb %cl, %ah
1008 aad
1009 popw %cx
1010 ret
1011
1012# Delay is needed after doing I/O
1013delay:
1014 outb %al,$0x80
1015 ret
1016
1017# Descriptor tables
1018#
1019# NOTE: The intel manual says gdt should be sixteen bytes aligned for
1020# efficiency reasons. However, there are machines which are known not
1021# to boot with misaligned GDTs, so alter this at your peril! If you alter
1022# GDT_ENTRY_BOOT_CS (in asm/segment.h) remember to leave at least two
1023# empty GDT entries (one for NULL and one reserved).
1024#
1025# NOTE: On some CPUs, the GDT must be 8 byte aligned. This is
1026# true for the Voyager Quad CPU card which will not boot without
1027# This directive. 16 byte aligment is recommended by intel.
1028#
1029 .align 16
1030gdt:
1031 .fill GDT_ENTRY_BOOT_CS,8,0
1032
1033 .word 0xFFFF # 4Gb - (0x100000*0x1000 = 4Gb)
1034 .word 0 # base address = 0
1035 .word 0x9A00 # code read/exec
1036 .word 0x00CF # granularity = 4096, 386
1037 # (+5th nibble of limit)
1038
1039 .word 0xFFFF # 4Gb - (0x100000*0x1000 = 4Gb)
1040 .word 0 # base address = 0
1041 .word 0x9200 # data read/write
1042 .word 0x00CF # granularity = 4096, 386
1043 # (+5th nibble of limit)
1044gdt_end:
1045 .align 4
1046
1047 .word 0 # alignment byte
1048idt_48:
1049 .word 0 # idt limit = 0
1050 .word 0, 0 # idt base = 0L
1051
1052 .word 0 # alignment byte
1053gdt_48:
1054 .word gdt_end - gdt - 1 # gdt limit
1055 .word 0, 0 # gdt base (filled in later)
1056
1057# Include video setup & detection code
1058
1059#include "video.S"
1060
1061# Setup signature -- must be last
1062setup_sig1: .word SIG1
1063setup_sig2: .word SIG2
1064
1065# After this point, there is some free space which is used by the video mode
1066# handling code to store the temporary mode table (not used by the kernel).
1067
1068modelist:
1069
1070.text
1071endtext:
1072.data
1073enddata:
1074.bss
1075endbss:
diff --git a/arch/i386/boot/setup.ld b/arch/i386/boot/setup.ld
new file mode 100644
index 000000000000..df9234b3a5e0
--- /dev/null
+++ b/arch/i386/boot/setup.ld
@@ -0,0 +1,54 @@
1/*
2 * setup.ld
3 *
4 * Linker script for the i386 setup code
5 */
6OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386")
7OUTPUT_ARCH(i386)
8ENTRY(_start)
9
10SECTIONS
11{
12 . = 0;
13 .bstext : { *(.bstext) }
14 .bsdata : { *(.bsdata) }
15
16 . = 497;
17 .header : { *(.header) }
18 .inittext : { *(.inittext) }
19 .initdata : { *(.initdata) }
20 .text : { *(.text*) }
21
22 . = ALIGN(16);
23 .rodata : { *(.rodata*) }
24
25 .videocards : {
26 video_cards = .;
27 *(.videocards)
28 video_cards_end = .;
29 }
30
31 . = ALIGN(16);
32 .data : { *(.data*) }
33
34 .signature : {
35 setup_sig = .;
36 LONG(0x5a5aaa55)
37 }
38
39
40 . = ALIGN(16);
41 .bss :
42 {
43 __bss_start = .;
44 *(.bss)
45 __bss_end = .;
46 }
47 . = ALIGN(16);
48 _end = .;
49
50 /DISCARD/ : { *(.note*) }
51
52 . = ASSERT(_end <= 0x8000, "Setup too big!");
53 . = ASSERT(hdr == 0x1f1, "The setup header has the wrong offset!");
54}
diff --git a/arch/i386/boot/string.c b/arch/i386/boot/string.c
new file mode 100644
index 000000000000..481a22097781
--- /dev/null
+++ b/arch/i386/boot/string.c
@@ -0,0 +1,52 @@
1/* -*- linux-c -*- ------------------------------------------------------- *
2 *
3 * Copyright (C) 1991, 1992 Linus Torvalds
4 * Copyright 2007 rPath, Inc. - All Rights Reserved
5 *
6 * This file is part of the Linux kernel, and is made available under
7 * the terms of the GNU General Public License version 2.
8 *
9 * ----------------------------------------------------------------------- */
10
11/*
12 * arch/i386/boot/string.c
13 *
14 * Very basic string functions
15 */
16
17#include "boot.h"
18
19int strcmp(const char *str1, const char *str2)
20{
21 const unsigned char *s1 = (const unsigned char *)str1;
22 const unsigned char *s2 = (const unsigned char *)str2;
23 int delta = 0;
24
25 while (*s1 || *s2) {
26 delta = *s2 - *s1;
27 if (delta)
28 return delta;
29 s1++;
30 s2++;
31 }
32 return 0;
33}
34
35size_t strnlen(const char *s, size_t maxlen)
36{
37 const char *es = s;
38 while (*es && maxlen) {
39 es++;
40 maxlen--;
41 }
42
43 return (es - s);
44}
45
46unsigned int atou(const char *s)
47{
48 unsigned int i = 0;
49 while (isdigit(*s))
50 i = i * 10 + (*s++ - '0');
51 return i;
52}
diff --git a/arch/i386/boot/tools/build.c b/arch/i386/boot/tools/build.c
index 05798419a6a9..886f47d8a488 100644
--- a/arch/i386/boot/tools/build.c
+++ b/arch/i386/boot/tools/build.c
@@ -1,13 +1,12 @@
1/* 1/*
2 * Copyright (C) 1991, 1992 Linus Torvalds 2 * Copyright (C) 1991, 1992 Linus Torvalds
3 * Copyright (C) 1997 Martin Mares 3 * Copyright (C) 1997 Martin Mares
4 * Copyright (C) 2007 H. Peter Anvin
4 */ 5 */
5 6
6/* 7/*
7 * This file builds a disk-image from three different files: 8 * This file builds a disk-image from three different files:
8 * 9 *
9 * - bootsect: compatibility mbr which prints an error message if
10 * someone tries to boot the kernel directly.
11 * - setup: 8086 machine code, sets up system parm 10 * - setup: 8086 machine code, sets up system parm
12 * - system: 80386 code for actual system 11 * - system: 80386 code for actual system
13 * 12 *
@@ -21,6 +20,7 @@
21 * High loaded stuff by Hans Lermen & Werner Almesberger, Feb. 1996 20 * High loaded stuff by Hans Lermen & Werner Almesberger, Feb. 1996
22 * Cross compiling fixes by Gertjan van Wingerde, July 1996 21 * Cross compiling fixes by Gertjan van Wingerde, July 1996
23 * Rewritten by Martin Mares, April 1997 22 * Rewritten by Martin Mares, April 1997
23 * Substantially overhauled by H. Peter Anvin, April 2007
24 */ 24 */
25 25
26#include <stdio.h> 26#include <stdio.h>
@@ -32,23 +32,25 @@
32#include <sys/sysmacros.h> 32#include <sys/sysmacros.h>
33#include <unistd.h> 33#include <unistd.h>
34#include <fcntl.h> 34#include <fcntl.h>
35#include <sys/mman.h>
35#include <asm/boot.h> 36#include <asm/boot.h>
36 37
37typedef unsigned char byte; 38typedef unsigned char u8;
38typedef unsigned short word; 39typedef unsigned short u16;
39typedef unsigned long u32; 40typedef unsigned long u32;
40 41
41#define DEFAULT_MAJOR_ROOT 0 42#define DEFAULT_MAJOR_ROOT 0
42#define DEFAULT_MINOR_ROOT 0 43#define DEFAULT_MINOR_ROOT 0
43 44
44/* Minimal number of setup sectors (see also bootsect.S) */ 45/* Minimal number of setup sectors */
45#define SETUP_SECTS 4 46#define SETUP_SECT_MIN 5
47#define SETUP_SECT_MAX 64
46 48
47byte buf[1024]; 49/* This must be large enough to hold the entire setup */
48int fd; 50u8 buf[SETUP_SECT_MAX*512];
49int is_big_kernel; 51int is_big_kernel;
50 52
51void die(const char * str, ...) 53static void die(const char * str, ...)
52{ 54{
53 va_list args; 55 va_list args;
54 va_start(args, str); 56 va_start(args, str);
@@ -57,15 +59,9 @@ void die(const char * str, ...)
57 exit(1); 59 exit(1);
58} 60}
59 61
60void file_open(const char *name) 62static void usage(void)
61{ 63{
62 if ((fd = open(name, O_RDONLY, 0)) < 0) 64 die("Usage: build [-b] setup system [rootdev] [> image]");
63 die("Unable to open `%s': %m", name);
64}
65
66void usage(void)
67{
68 die("Usage: build [-b] bootsect setup system [rootdev] [> image]");
69} 65}
70 66
71int main(int argc, char ** argv) 67int main(int argc, char ** argv)
@@ -73,27 +69,30 @@ int main(int argc, char ** argv)
73 unsigned int i, sz, setup_sectors; 69 unsigned int i, sz, setup_sectors;
74 int c; 70 int c;
75 u32 sys_size; 71 u32 sys_size;
76 byte major_root, minor_root; 72 u8 major_root, minor_root;
77 struct stat sb; 73 struct stat sb;
74 FILE *file;
75 int fd;
76 void *kernel;
78 77
79 if (argc > 2 && !strcmp(argv[1], "-b")) 78 if (argc > 2 && !strcmp(argv[1], "-b"))
80 { 79 {
81 is_big_kernel = 1; 80 is_big_kernel = 1;
82 argc--, argv++; 81 argc--, argv++;
83 } 82 }
84 if ((argc < 4) || (argc > 5)) 83 if ((argc < 3) || (argc > 4))
85 usage(); 84 usage();
86 if (argc > 4) { 85 if (argc > 3) {
87 if (!strcmp(argv[4], "CURRENT")) { 86 if (!strcmp(argv[3], "CURRENT")) {
88 if (stat("/", &sb)) { 87 if (stat("/", &sb)) {
89 perror("/"); 88 perror("/");
90 die("Couldn't stat /"); 89 die("Couldn't stat /");
91 } 90 }
92 major_root = major(sb.st_dev); 91 major_root = major(sb.st_dev);
93 minor_root = minor(sb.st_dev); 92 minor_root = minor(sb.st_dev);
94 } else if (strcmp(argv[4], "FLOPPY")) { 93 } else if (strcmp(argv[3], "FLOPPY")) {
95 if (stat(argv[4], &sb)) { 94 if (stat(argv[3], &sb)) {
96 perror(argv[4]); 95 perror(argv[3]);
97 die("Couldn't stat root device."); 96 die("Couldn't stat root device.");
98 } 97 }
99 major_root = major(sb.st_rdev); 98 major_root = major(sb.st_rdev);
@@ -108,79 +107,62 @@ int main(int argc, char ** argv)
108 } 107 }
109 fprintf(stderr, "Root device is (%d, %d)\n", major_root, minor_root); 108 fprintf(stderr, "Root device is (%d, %d)\n", major_root, minor_root);
110 109
111 file_open(argv[1]); 110 /* Copy the setup code */
112 i = read(fd, buf, sizeof(buf)); 111 file = fopen(argv[1], "r");
113 fprintf(stderr,"Boot sector %d bytes.\n",i); 112 if (!file)
114 if (i != 512) 113 die("Unable to open `%s': %m", argv[1]);
115 die("Boot block must be exactly 512 bytes"); 114 c = fread(buf, 1, sizeof(buf), file);
115 if (ferror(file))
116 die("read-error on `setup'");
117 if (c < 1024)
118 die("The setup must be at least 1024 bytes");
116 if (buf[510] != 0x55 || buf[511] != 0xaa) 119 if (buf[510] != 0x55 || buf[511] != 0xaa)
117 die("Boot block hasn't got boot flag (0xAA55)"); 120 die("Boot block hasn't got boot flag (0xAA55)");
121 fclose(file);
122
123 /* Pad unused space with zeros */
124 setup_sectors = (c + 511) / 512;
125 if (setup_sectors < SETUP_SECT_MIN)
126 setup_sectors = SETUP_SECT_MIN;
127 i = setup_sectors*512;
128 memset(buf+c, 0, i-c);
129
130 /* Set the default root device */
118 buf[508] = minor_root; 131 buf[508] = minor_root;
119 buf[509] = major_root; 132 buf[509] = major_root;
120 if (write(1, buf, 512) != 512)
121 die("Write call failed");
122 close (fd);
123
124 file_open(argv[2]); /* Copy the setup code */
125 for (i=0 ; (c=read(fd, buf, sizeof(buf)))>0 ; i+=c )
126 if (write(1, buf, c) != c)
127 die("Write call failed");
128 if (c != 0)
129 die("read-error on `setup'");
130 close (fd);
131
132 setup_sectors = (i + 511) / 512; /* Pad unused space with zeros */
133 /* for compatibility with ancient versions of LILO. */
134 if (setup_sectors < SETUP_SECTS)
135 setup_sectors = SETUP_SECTS;
136 fprintf(stderr, "Setup is %d bytes.\n", i);
137 memset(buf, 0, sizeof(buf));
138 while (i < setup_sectors * 512) {
139 c = setup_sectors * 512 - i;
140 if (c > sizeof(buf))
141 c = sizeof(buf);
142 if (write(1, buf, c) != c)
143 die("Write call failed");
144 i += c;
145 }
146 133
147 file_open(argv[3]); 134 fprintf(stderr, "Setup is %d bytes (padded to %d bytes).\n", c, i);
148 if (fstat (fd, &sb)) 135
149 die("Unable to stat `%s': %m", argv[3]); 136 /* Open and stat the kernel file */
137 fd = open(argv[2], O_RDONLY);
138 if (fd < 0)
139 die("Unable to open `%s': %m", argv[2]);
140 if (fstat(fd, &sb))
141 die("Unable to stat `%s': %m", argv[2]);
150 sz = sb.st_size; 142 sz = sb.st_size;
151 fprintf (stderr, "System is %d kB\n", sz/1024); 143 fprintf (stderr, "System is %d kB\n", (sz+1023)/1024);
144 kernel = mmap(NULL, sz, PROT_READ, MAP_SHARED, fd, 0);
145 if (kernel == MAP_FAILED)
146 die("Unable to mmap '%s': %m", argv[2]);
152 sys_size = (sz + 15) / 16; 147 sys_size = (sz + 15) / 16;
153 if (!is_big_kernel && sys_size > DEF_SYSSIZE) 148 if (!is_big_kernel && sys_size > DEF_SYSSIZE)
154 die("System is too big. Try using bzImage or modules."); 149 die("System is too big. Try using bzImage or modules.");
155 while (sz > 0) { 150
156 int l, n; 151 /* Patch the setup code with the appropriate size parameters */
157 152 buf[0x1f1] = setup_sectors-1;
158 l = (sz > sizeof(buf)) ? sizeof(buf) : sz; 153 buf[0x1f4] = sys_size;
159 if ((n=read(fd, buf, l)) != l) { 154 buf[0x1f5] = sys_size >> 8;
160 if (n < 0) 155 buf[0x1f6] = sys_size >> 16;
161 die("Error reading %s: %m", argv[3]); 156 buf[0x1f7] = sys_size >> 24;
162 else 157
163 die("%s: Unexpected EOF", argv[3]); 158 if (fwrite(buf, 1, i, stdout) != i)
164 } 159 die("Writing setup failed");
165 if (write(1, buf, l) != l) 160
166 die("Write failed"); 161 /* Copy the kernel code */
167 sz -= l; 162 if (fwrite(kernel, 1, sz, stdout) != sz)
168 } 163 die("Writing kernel failed");
169 close(fd); 164 close(fd);
170 165
171 if (lseek(1, 497, SEEK_SET) != 497) /* Write sizes to the bootsector */ 166 /* Everything is OK */
172 die("Output: seek failed"); 167 return 0;
173 buf[0] = setup_sectors;
174 if (write(1, buf, 1) != 1)
175 die("Write of setup sector count failed");
176 if (lseek(1, 500, SEEK_SET) != 500)
177 die("Output: seek failed");
178 buf[0] = (sys_size & 0xff);
179 buf[1] = ((sys_size >> 8) & 0xff);
180 buf[2] = ((sys_size >> 16) & 0xff);
181 buf[3] = ((sys_size >> 24) & 0xff);
182 if (write(1, buf, 4) != 4)
183 die("Write of image length failed");
184
185 return 0; /* Everything is OK */
186} 168}
diff --git a/arch/i386/boot/tty.c b/arch/i386/boot/tty.c
new file mode 100644
index 000000000000..a8db78736b02
--- /dev/null
+++ b/arch/i386/boot/tty.c
@@ -0,0 +1,112 @@
1/* -*- linux-c -*- ------------------------------------------------------- *
2 *
3 * Copyright (C) 1991, 1992 Linus Torvalds
4 * Copyright 2007 rPath, Inc. - All Rights Reserved
5 *
6 * This file is part of the Linux kernel, and is made available under
7 * the terms of the GNU General Public License version 2.
8 *
9 * ----------------------------------------------------------------------- */
10
11/*
12 * arch/i386/boot/tty.c
13 *
14 * Very simple screen I/O
15 * XXX: Probably should add very simple serial I/O?
16 */
17
18#include "boot.h"
19
20/*
21 * These functions are in .inittext so they can be used to signal
22 * error during initialization.
23 */
24
25void __attribute__((section(".inittext"))) putchar(int ch)
26{
27 unsigned char c = ch;
28
29 if (c == '\n')
30 putchar('\r'); /* \n -> \r\n */
31
32 /* int $0x10 is known to have bugs involving touching registers
33 it shouldn't. Be extra conservative... */
34 asm volatile("pushal; int $0x10; popal"
35 : : "b" (0x0007), "c" (0x0001), "a" (0x0e00|ch));
36}
37
38void __attribute__((section(".inittext"))) puts(const char *str)
39{
40 int n = 0;
41 while (*str) {
42 putchar(*str++);
43 n++;
44 }
45}
46
47/*
48 * Read the CMOS clock through the BIOS, and return the
49 * seconds in BCD.
50 */
51
52static u8 gettime(void)
53{
54 u16 ax = 0x0200;
55 u16 cx, dx;
56
57 asm("int $0x1a"
58 : "+a" (ax), "=c" (cx), "=d" (dx)
59 : : "ebx", "esi", "edi");
60
61 return dx >> 8;
62}
63
64/*
65 * Read from the keyboard
66 */
67int getchar(void)
68{
69 u16 ax = 0;
70 asm("int $0x16" : "+a" (ax));
71
72 return ax & 0xff;
73}
74
75static int kbd_pending(void)
76{
77 u8 pending;
78 asm("int $0x16; setnz %0"
79 : "=rm" (pending)
80 : "a" (0x0100));
81 return pending;
82}
83
84void kbd_flush(void)
85{
86 for (;;) {
87 if (!kbd_pending())
88 break;
89 getchar();
90 }
91}
92
93int getchar_timeout(void)
94{
95 int cnt = 30;
96 int t0, t1;
97
98 t0 = gettime();
99
100 while (cnt) {
101 if (kbd_pending())
102 return getchar();
103
104 t1 = gettime();
105 if (t0 != t1) {
106 cnt--;
107 t0 = t1;
108 }
109 }
110
111 return 0; /* Timeout! */
112}
diff --git a/arch/i386/boot/version.c b/arch/i386/boot/version.c
new file mode 100644
index 000000000000..c61462f7d9a7
--- /dev/null
+++ b/arch/i386/boot/version.c
@@ -0,0 +1,23 @@
1/* -*- linux-c -*- ------------------------------------------------------- *
2 *
3 * Copyright (C) 1991, 1992 Linus Torvalds
4 * Copyright 2007 rPath, Inc. - All Rights Reserved
5 *
6 * This file is part of the Linux kernel, and is made available under
7 * the terms of the GNU General Public License version 2.
8 *
9 * ----------------------------------------------------------------------- */
10
11/*
12 * arch/i386/boot/version.c
13 *
14 * Kernel version string
15 */
16
17#include "boot.h"
18#include <linux/utsrelease.h>
19#include <linux/compile.h>
20
21const char kernel_version[] =
22 UTS_RELEASE " (" LINUX_COMPILE_BY "@" LINUX_COMPILE_HOST ") "
23 UTS_VERSION;
diff --git a/arch/i386/boot/vesa.h b/arch/i386/boot/vesa.h
new file mode 100644
index 000000000000..ff5b73cd406f
--- /dev/null
+++ b/arch/i386/boot/vesa.h
@@ -0,0 +1,79 @@
1/* ----------------------------------------------------------------------- *
2 *
3 * Copyright 1999-2007 H. Peter Anvin - All Rights Reserved
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, Inc., 53 Temple Place Ste 330,
8 * Boston MA 02111-1307, USA; either version 2 of the License, or
9 * (at your option) any later version; incorporated herein by reference.
10 *
11 * ----------------------------------------------------------------------- */
12
13#ifndef BOOT_VESA_H
14#define BOOT_VESA_H
15
16typedef struct {
17 u16 off, seg;
18} far_ptr;
19
20/* VESA General Information table */
21struct vesa_general_info {
22 u32 signature; /* 0 Magic number = "VESA" */
23 u16 version; /* 4 */
24 far_ptr vendor_string; /* 6 */
25 u32 capabilities; /* 10 */
26 far_ptr video_mode_ptr; /* 14 */
27 u16 total_memory; /* 18 */
28
29 u16 oem_software_rev; /* 20 */
30 far_ptr oem_vendor_name_ptr; /* 22 */
31 far_ptr oem_product_name_ptr; /* 26 */
32 far_ptr oem_product_rev_ptr; /* 30 */
33
34 u8 reserved[222]; /* 34 */
35 u8 oem_data[256]; /* 256 */
36} __attribute__ ((packed));
37
38#define VESA_MAGIC ('V' + ('E' << 8) + ('S' << 16) + ('A' << 24))
39#define VBE2_MAGIC ('V' + ('B' << 8) + ('E' << 16) + ('2' << 24))
40
41struct vesa_mode_info {
42 u16 mode_attr; /* 0 */
43 u8 win_attr[2]; /* 2 */
44 u16 win_grain; /* 4 */
45 u16 win_size; /* 6 */
46 u16 win_seg[2]; /* 8 */
47 far_ptr win_scheme; /* 12 */
48 u16 logical_scan; /* 16 */
49
50 u16 h_res; /* 18 */
51 u16 v_res; /* 20 */
52 u8 char_width; /* 22 */
53 u8 char_height; /* 23 */
54 u8 memory_planes; /* 24 */
55 u8 bpp; /* 25 */
56 u8 banks; /* 26 */
57 u8 memory_layout; /* 27 */
58 u8 bank_size; /* 28 */
59 u8 image_planes; /* 29 */
60 u8 page_function; /* 30 */
61
62 u8 rmask; /* 31 */
63 u8 rpos; /* 32 */
64 u8 gmask; /* 33 */
65 u8 gpos; /* 34 */
66 u8 bmask; /* 35 */
67 u8 bpos; /* 36 */
68 u8 resv_mask; /* 37 */
69 u8 resv_pos; /* 38 */
70 u8 dcm_info; /* 39 */
71
72 u32 lfb_ptr; /* 40 Linear frame buffer address */
73 u32 offscreen_ptr; /* 44 Offscreen memory address */
74 u16 offscreen_size; /* 48 */
75
76 u8 reserved[206]; /* 50 */
77} __attribute__ ((packed));
78
79#endif /* LIB_SYS_VESA_H */
diff --git a/arch/i386/boot/video-bios.c b/arch/i386/boot/video-bios.c
new file mode 100644
index 000000000000..afea46c500cc
--- /dev/null
+++ b/arch/i386/boot/video-bios.c
@@ -0,0 +1,125 @@
1/* -*- linux-c -*- ------------------------------------------------------- *
2 *
3 * Copyright (C) 1991, 1992 Linus Torvalds
4 * Copyright 2007 rPath, Inc. - All Rights Reserved
5 *
6 * This file is part of the Linux kernel, and is made available under
7 * the terms of the GNU General Public License version 2.
8 *
9 * ----------------------------------------------------------------------- */
10
11/*
12 * arch/i386/boot/video-bios.c
13 *
14 * Standard video BIOS modes
15 *
16 * We have two options for this; silent and scanned.
17 */
18
19#include "boot.h"
20#include "video.h"
21
22__videocard video_bios;
23
24/* Set a conventional BIOS mode */
25static int set_bios_mode(u8 mode);
26
27static int bios_set_mode(struct mode_info *mi)
28{
29 return set_bios_mode(mi->mode - VIDEO_FIRST_BIOS);
30}
31
32static int set_bios_mode(u8 mode)
33{
34 u16 ax;
35 u8 new_mode;
36
37 ax = mode; /* AH=0x00 Set Video Mode */
38 asm volatile(INT10
39 : "+a" (ax)
40 : : "ebx", "ecx", "edx", "esi", "edi");
41
42 ax = 0x0f00; /* Get Current Video Mode */
43 asm volatile(INT10
44 : "+a" (ax)
45 : : "ebx", "ecx", "edx", "esi", "edi");
46
47 do_restore = 1; /* Assume video contents was lost */
48 new_mode = ax & 0x7f; /* Not all BIOSes are clean with the top bit */
49
50 if (new_mode == mode)
51 return 0; /* Mode change OK */
52
53 if (new_mode != boot_params.screen_info.orig_video_mode) {
54 /* Mode setting failed, but we didn't end up where we
55 started. That's bad. Try to revert to the original
56 video mode. */
57 ax = boot_params.screen_info.orig_video_mode;
58 asm volatile(INT10
59 : "+a" (ax)
60 : : "ebx", "ecx", "edx", "esi", "edi");
61 }
62 return -1;
63}
64
65static int bios_probe(void)
66{
67 u8 mode;
68 u8 saved_mode = boot_params.screen_info.orig_video_mode;
69 u16 crtc;
70 struct mode_info *mi;
71 int nmodes = 0;
72
73 if (adapter != ADAPTER_EGA && adapter != ADAPTER_VGA)
74 return 0;
75
76 set_fs(0);
77 crtc = vga_crtc();
78
79 video_bios.modes = GET_HEAP(struct mode_info, 0);
80
81 for (mode = 0x14; mode <= 0x7f; mode++) {
82 if (heap_free() < sizeof(struct mode_info))
83 break;
84
85 if (mode_defined(VIDEO_FIRST_BIOS+mode))
86 continue;
87
88 if (set_bios_mode(mode))
89 continue;
90
91 /* Try to verify that it's a text mode. */
92
93 /* Attribute Controller: make graphics controller disabled */
94 if (in_idx(0x3c0, 0x10) & 0x01)
95 continue;
96
97 /* Graphics Controller: verify Alpha addressing enabled */
98 if (in_idx(0x3ce, 0x06) & 0x01)
99 continue;
100
101 /* CRTC cursor location low should be zero(?) */
102 if (in_idx(crtc, 0x0f))
103 continue;
104
105 mi = GET_HEAP(struct mode_info, 1);
106 mi->mode = VIDEO_FIRST_BIOS+mode;
107 mi->x = rdfs16(0x44a);
108 mi->y = rdfs8(0x484)+1;
109 nmodes++;
110 }
111
112 set_bios_mode(saved_mode);
113
114 return nmodes;
115}
116
117__videocard video_bios =
118{
119 .card_name = "BIOS (scanned)",
120 .probe = bios_probe,
121 .set_mode = bios_set_mode,
122 .unsafe = 1,
123 .xmode_first = VIDEO_FIRST_BIOS,
124 .xmode_n = 0x80,
125};
diff --git a/arch/i386/boot/video-vesa.c b/arch/i386/boot/video-vesa.c
new file mode 100644
index 000000000000..e6aa9eb8d93a
--- /dev/null
+++ b/arch/i386/boot/video-vesa.c
@@ -0,0 +1,284 @@
1/* -*- linux-c -*- ------------------------------------------------------- *
2 *
3 * Copyright (C) 1991, 1992 Linus Torvalds
4 * Copyright 2007 rPath, Inc. - All Rights Reserved
5 *
6 * This file is part of the Linux kernel, and is made available under
7 * the terms of the GNU General Public License version 2.
8 *
9 * ----------------------------------------------------------------------- */
10
11/*
12 * arch/i386/boot/video-vesa.c
13 *
14 * VESA text modes
15 */
16
17#include "boot.h"
18#include "video.h"
19#include "vesa.h"
20
21/* VESA information */
22static struct vesa_general_info vginfo;
23static struct vesa_mode_info vminfo;
24
25__videocard video_vesa;
26
27static void vesa_store_mode_params_graphics(void);
28
29static int vesa_probe(void)
30{
31#if defined(CONFIG_VIDEO_VESA) || defined(CONFIG_FIRMWARE_EDID)
32 u16 ax;
33 u16 mode;
34 addr_t mode_ptr;
35 struct mode_info *mi;
36 int nmodes = 0;
37
38 video_vesa.modes = GET_HEAP(struct mode_info, 0);
39
40 vginfo.signature = VBE2_MAGIC;
41
42 /* Optimistically assume a VESA BIOS is register-clean... */
43 ax = 0x4f00;
44 asm("int $0x10" : "+a" (ax), "=m" (vginfo) : "D" (&vginfo));
45
46 if (ax != 0x004f ||
47 vginfo.signature != VESA_MAGIC ||
48 vginfo.version < 0x0102)
49 return 0; /* Not present */
50#endif /* CONFIG_VIDEO_VESA || CONFIG_FIRMWARE_EDID */
51#ifdef CONFIG_VIDEO_VESA
52 set_fs(vginfo.video_mode_ptr.seg);
53 mode_ptr = vginfo.video_mode_ptr.off;
54
55 while ((mode = rdfs16(mode_ptr)) != 0xffff) {
56 mode_ptr += 2;
57
58 if (heap_free() < sizeof(struct mode_info))
59 break; /* Heap full, can't save mode info */
60
61 if (mode & ~0x1ff)
62 continue;
63
64 memset(&vminfo, 0, sizeof vminfo); /* Just in case... */
65
66 ax = 0x4f01;
67 asm("int $0x10"
68 : "+a" (ax), "=m" (vminfo)
69 : "c" (mode), "D" (&vminfo));
70
71 if (ax != 0x004f)
72 continue;
73
74 if ((vminfo.mode_attr & 0x15) == 0x05) {
75 /* Text Mode, TTY BIOS supported,
76 supported by hardware */
77 mi = GET_HEAP(struct mode_info, 1);
78 mi->mode = mode + VIDEO_FIRST_VESA;
79 mi->x = vminfo.h_res;
80 mi->y = vminfo.v_res;
81 nmodes++;
82 } else if ((vminfo.mode_attr & 0x99) == 0x99) {
83#ifdef CONFIG_FB
84 /* Graphics mode, color, linear frame buffer
85 supported -- register the mode but hide from
86 the menu. Only do this if framebuffer is
87 configured, however, otherwise the user will
88 be left without a screen. */
89 mi = GET_HEAP(struct mode_info, 1);
90 mi->mode = mode + VIDEO_FIRST_VESA;
91 mi->x = mi->y = 0;
92 nmodes++;
93#endif
94 }
95 }
96
97 return nmodes;
98#else
99 return 0;
100#endif /* CONFIG_VIDEO_VESA */
101}
102
103static int vesa_set_mode(struct mode_info *mode)
104{
105 u16 ax;
106 int is_graphic;
107 u16 vesa_mode = mode->mode - VIDEO_FIRST_VESA;
108
109 memset(&vminfo, 0, sizeof vminfo); /* Just in case... */
110
111 ax = 0x4f01;
112 asm("int $0x10"
113 : "+a" (ax), "=m" (vminfo)
114 : "c" (vesa_mode), "D" (&vminfo));
115
116 if (ax != 0x004f)
117 return -1;
118
119 if ((vminfo.mode_attr & 0x15) == 0x05) {
120 /* It's a supported text mode */
121 is_graphic = 0;
122 } else if ((vminfo.mode_attr & 0x99) == 0x99) {
123 /* It's a graphics mode with linear frame buffer */
124 is_graphic = 1;
125 vesa_mode |= 0x4000; /* Request linear frame buffer */
126 } else {
127 return -1; /* Invalid mode */
128 }
129
130
131 ax = 0x4f02;
132 asm volatile("int $0x10"
133 : "+a" (ax)
134 : "b" (vesa_mode), "D" (0));
135
136 if (ax != 0x004f)
137 return -1;
138
139 graphic_mode = is_graphic;
140 if (!is_graphic) {
141 /* Text mode */
142 force_x = mode->x;
143 force_y = mode->y;
144 do_restore = 1;
145 } else {
146 /* Graphics mode */
147 vesa_store_mode_params_graphics();
148 }
149
150 return 0;
151}
152
153
154/* Switch DAC to 8-bit mode */
155static void vesa_dac_set_8bits(void)
156{
157 u8 dac_size = 6;
158
159 /* If possible, switch the DAC to 8-bit mode */
160 if (vginfo.capabilities & 1) {
161 u16 ax, bx;
162
163 ax = 0x4f08;
164 bx = 0x0800;
165 asm volatile(INT10
166 : "+a" (ax), "+b" (bx)
167 : : "ecx", "edx", "esi", "edi");
168
169 if (ax == 0x004f)
170 dac_size = bx >> 8;
171 }
172
173 /* Set the color sizes to the DAC size, and offsets to 0 */
174 boot_params.screen_info.red_size = dac_size;
175 boot_params.screen_info.green_size = dac_size;
176 boot_params.screen_info.blue_size = dac_size;
177 boot_params.screen_info.rsvd_size = dac_size;
178
179 boot_params.screen_info.red_pos = 0;
180 boot_params.screen_info.green_pos = 0;
181 boot_params.screen_info.blue_pos = 0;
182 boot_params.screen_info.rsvd_pos = 0;
183}
184
185/* Save the VESA protected mode info */
186static void vesa_store_pm_info(void)
187{
188 u16 ax, bx, di, es;
189
190 ax = 0x4f0a;
191 bx = di = 0;
192 asm("pushw %%es; "INT10"; movw %%es,%0; popw %%es"
193 : "=d" (es), "+a" (ax), "+b" (bx), "+D" (di)
194 : : "ecx", "esi");
195
196 if (ax != 0x004f)
197 return;
198
199 boot_params.screen_info.vesapm_seg = es;
200 boot_params.screen_info.vesapm_off = di;
201}
202
203/*
204 * Save video mode parameters for graphics mode
205 */
206static void vesa_store_mode_params_graphics(void)
207{
208 /* Tell the kernel we're in VESA graphics mode */
209 boot_params.screen_info.orig_video_isVGA = 0x23;
210
211 /* Mode parameters */
212 boot_params.screen_info.vesa_attributes = vminfo.mode_attr;
213 boot_params.screen_info.lfb_linelength = vminfo.logical_scan;
214 boot_params.screen_info.lfb_width = vminfo.h_res;
215 boot_params.screen_info.lfb_height = vminfo.v_res;
216 boot_params.screen_info.lfb_depth = vminfo.bpp;
217 boot_params.screen_info.pages = vminfo.image_planes;
218 boot_params.screen_info.lfb_base = vminfo.lfb_ptr;
219 memcpy(&boot_params.screen_info.red_size,
220 &vminfo.rmask, 8);
221
222 /* General parameters */
223 boot_params.screen_info.lfb_size = vginfo.total_memory;
224
225 if (vminfo.bpp <= 8)
226 vesa_dac_set_8bits();
227
228 vesa_store_pm_info();
229}
230
231/*
232 * Save EDID information for the kernel; this is invoked, separately,
233 * after mode-setting.
234 */
235void vesa_store_edid(void)
236{
237#ifdef CONFIG_FIRMWARE_EDID
238 u16 ax, bx, cx, dx, di;
239
240 /* Apparently used as a nonsense token... */
241 memset(&boot_params.edid_info, 0x13, sizeof boot_params.edid_info);
242
243 if (vginfo.version < 0x0200)
244 return; /* EDID requires VBE 2.0+ */
245
246 ax = 0x4f15; /* VBE DDC */
247 bx = 0x0000; /* Report DDC capabilities */
248 cx = 0; /* Controller 0 */
249 di = 0; /* ES:DI must be 0 by spec */
250
251 /* Note: The VBE DDC spec is different from the main VESA spec;
252 we genuinely have to assume all registers are destroyed here. */
253
254 asm("pushw %%es; movw %2,%%es; "INT10"; popw %%es"
255 : "+a" (ax), "+b" (bx)
256 : "c" (cx), "D" (di)
257 : "esi");
258
259 if (ax != 0x004f)
260 return; /* No EDID */
261
262 /* BH = time in seconds to transfer EDD information */
263 /* BL = DDC level supported */
264
265 ax = 0x4f15; /* VBE DDC */
266 bx = 0x0001; /* Read EDID */
267 cx = 0; /* Controller 0 */
268 dx = 0; /* EDID block number */
269 di =(size_t) &boot_params.edid_info; /* (ES:)Pointer to block */
270 asm(INT10
271 : "+a" (ax), "+b" (bx), "+d" (dx)
272 : "c" (cx), "D" (di)
273 : "esi");
274#endif /* CONFIG_FIRMWARE_EDID */
275}
276
277__videocard video_vesa =
278{
279 .card_name = "VESA",
280 .probe = vesa_probe,
281 .set_mode = vesa_set_mode,
282 .xmode_first = VIDEO_FIRST_VESA,
283 .xmode_n = 0x200,
284};
diff --git a/arch/i386/boot/video-vga.c b/arch/i386/boot/video-vga.c
new file mode 100644
index 000000000000..700d09a9c9b3
--- /dev/null
+++ b/arch/i386/boot/video-vga.c
@@ -0,0 +1,260 @@
1/* -*- linux-c -*- ------------------------------------------------------- *
2 *
3 * Copyright (C) 1991, 1992 Linus Torvalds
4 * Copyright 2007 rPath, Inc. - All Rights Reserved
5 *
6 * This file is part of the Linux kernel, and is made available under
7 * the terms of the GNU General Public License version 2.
8 *
9 * ----------------------------------------------------------------------- */
10
11/*
12 * arch/i386/boot/video-vga.c
13 *
14 * Common all-VGA modes
15 */
16
17#include "boot.h"
18#include "video.h"
19
20static struct mode_info vga_modes[] = {
21 { VIDEO_80x25, 80, 25 },
22 { VIDEO_8POINT, 80, 50 },
23 { VIDEO_80x43, 80, 43 },
24 { VIDEO_80x28, 80, 28 },
25 { VIDEO_80x30, 80, 30 },
26 { VIDEO_80x34, 80, 34 },
27 { VIDEO_80x60, 80, 60 },
28};
29
30static struct mode_info ega_modes[] = {
31 { VIDEO_80x25, 80, 25 },
32 { VIDEO_8POINT, 80, 43 },
33};
34
35static struct mode_info cga_modes[] = {
36 { VIDEO_80x25, 80, 25 },
37};
38
39__videocard video_vga;
40
41/* Set basic 80x25 mode */
42static u8 vga_set_basic_mode(void)
43{
44 u16 ax;
45 u8 rows;
46 u8 mode;
47
48#ifdef CONFIG_VIDEO_400_HACK
49 if (adapter >= ADAPTER_VGA) {
50 asm(INT10
51 : : "a" (0x1202), "b" (0x0030)
52 : "ecx", "edx", "esi", "edi");
53 }
54#endif
55
56 ax = 0x0f00;
57 asm(INT10
58 : "+a" (ax)
59 : : "ebx", "ecx", "edx", "esi", "edi");
60
61 mode = (u8)ax;
62
63 set_fs(0);
64 rows = rdfs8(0x484); /* rows minus one */
65
66#ifndef CONFIG_VIDEO_400_HACK
67 if ((ax == 0x5003 || ax == 0x5007) &&
68 (rows == 0 || rows == 24))
69 return mode;
70#endif
71
72 if (mode != 3 && mode != 7)
73 mode = 3;
74
75 /* Set the mode */
76 asm volatile(INT10
77 : : "a" (mode)
78 : "ebx", "ecx", "edx", "esi", "edi");
79 do_restore = 1;
80 return mode;
81}
82
83static void vga_set_8font(void)
84{
85 /* Set 8x8 font - 80x43 on EGA, 80x50 on VGA */
86
87 /* Set 8x8 font */
88 asm volatile(INT10 : : "a" (0x1112), "b" (0));
89
90 /* Use alternate print screen */
91 asm volatile(INT10 : : "a" (0x1200), "b" (0x20));
92
93 /* Turn off cursor emulation */
94 asm volatile(INT10 : : "a" (0x1201), "b" (0x34));
95
96 /* Cursor is scan lines 6-7 */
97 asm volatile(INT10 : : "a" (0x0100), "c" (0x0607));
98}
99
100static void vga_set_14font(void)
101{
102 /* Set 9x14 font - 80x28 on VGA */
103
104 /* Set 9x14 font */
105 asm volatile(INT10 : : "a" (0x1111), "b" (0));
106
107 /* Turn off cursor emulation */
108 asm volatile(INT10 : : "a" (0x1201), "b" (0x34));
109
110 /* Cursor is scan lines 11-12 */
111 asm volatile(INT10 : : "a" (0x0100), "c" (0x0b0c));
112}
113
114static void vga_set_80x43(void)
115{
116 /* Set 80x43 mode on VGA (not EGA) */
117
118 /* Set 350 scans */
119 asm volatile(INT10 : : "a" (0x1201), "b" (0x30));
120
121 /* Reset video mode */
122 asm volatile(INT10 : : "a" (0x0003));
123
124 vga_set_8font();
125}
126
127/* I/O address of the VGA CRTC */
128u16 vga_crtc(void)
129{
130 return (inb(0x3cc) & 1) ? 0x3d4 : 0x3b4;
131}
132
133static void vga_set_480_scanlines(int end)
134{
135 u16 crtc;
136 u8 csel;
137
138 crtc = vga_crtc();
139
140 out_idx(0x0c, crtc, 0x11); /* Vertical sync end, unlock CR0-7 */
141 out_idx(0x0b, crtc, 0x06); /* Vertical total */
142 out_idx(0x3e, crtc, 0x07); /* Vertical overflow */
143 out_idx(0xea, crtc, 0x10); /* Vertical sync start */
144 out_idx(end, crtc, 0x12); /* Vertical display end */
145 out_idx(0xe7, crtc, 0x15); /* Vertical blank start */
146 out_idx(0x04, crtc, 0x16); /* Vertical blank end */
147 csel = inb(0x3cc);
148 csel &= 0x0d;
149 csel |= 0xe2;
150 outb(csel, 0x3cc);
151}
152
153static void vga_set_80x30(void)
154{
155 vga_set_480_scanlines(0xdf);
156}
157
158static void vga_set_80x34(void)
159{
160 vga_set_14font();
161 vga_set_480_scanlines(0xdb);
162}
163
164static void vga_set_80x60(void)
165{
166 vga_set_8font();
167 vga_set_480_scanlines(0xdf);
168}
169
170static int vga_set_mode(struct mode_info *mode)
171{
172 /* Set the basic mode */
173 vga_set_basic_mode();
174
175 /* Override a possibly broken BIOS */
176 force_x = mode->x;
177 force_y = mode->y;
178
179 switch (mode->mode) {
180 case VIDEO_80x25:
181 break;
182 case VIDEO_8POINT:
183 vga_set_8font();
184 break;
185 case VIDEO_80x43:
186 vga_set_80x43();
187 break;
188 case VIDEO_80x28:
189 vga_set_14font();
190 break;
191 case VIDEO_80x30:
192 vga_set_80x30();
193 break;
194 case VIDEO_80x34:
195 vga_set_80x34();
196 break;
197 case VIDEO_80x60:
198 vga_set_80x60();
199 break;
200 }
201
202 return 0;
203}
204
205/*
206 * Note: this probe includes basic information required by all
207 * systems. It should be executed first, by making sure
208 * video-vga.c is listed first in the Makefile.
209 */
210static int vga_probe(void)
211{
212 static const char *card_name[] = {
213 "CGA/MDA/HGC", "EGA", "VGA"
214 };
215 static struct mode_info *mode_lists[] = {
216 cga_modes,
217 ega_modes,
218 vga_modes,
219 };
220 static int mode_count[] = {
221 sizeof(cga_modes)/sizeof(struct mode_info),
222 sizeof(ega_modes)/sizeof(struct mode_info),
223 sizeof(vga_modes)/sizeof(struct mode_info),
224 };
225 u8 vga_flag;
226
227 asm(INT10
228 : "=b" (boot_params.screen_info.orig_video_ega_bx)
229 : "a" (0x1200), "b" (0x10) /* Check EGA/VGA */
230 : "ecx", "edx", "esi", "edi");
231
232 /* If we have MDA/CGA/HGC then BL will be unchanged at 0x10 */
233 if ((u8)boot_params.screen_info.orig_video_ega_bx != 0x10) {
234 /* EGA/VGA */
235 asm(INT10
236 : "=a" (vga_flag)
237 : "a" (0x1a00)
238 : "ebx", "ecx", "edx", "esi", "edi");
239
240 if (vga_flag == 0x1a) {
241 adapter = ADAPTER_VGA;
242 boot_params.screen_info.orig_video_isVGA = 1;
243 } else {
244 adapter = ADAPTER_EGA;
245 }
246 } else {
247 adapter = ADAPTER_CGA;
248 }
249
250 video_vga.modes = mode_lists[adapter];
251 video_vga.card_name = card_name[adapter];
252 return mode_count[adapter];
253}
254
255__videocard video_vga =
256{
257 .card_name = "VGA",
258 .probe = vga_probe,
259 .set_mode = vga_set_mode,
260};
diff --git a/arch/i386/boot/video.S b/arch/i386/boot/video.S
deleted file mode 100644
index 8143c9516cb4..000000000000
--- a/arch/i386/boot/video.S
+++ /dev/null
@@ -1,2043 +0,0 @@
1/* video.S
2 *
3 * Display adapter & video mode setup, version 2.13 (14-May-99)
4 *
5 * Copyright (C) 1995 -- 1998 Martin Mares <mj@ucw.cz>
6 * Based on the original setup.S code (C) Linus Torvalds and Mats Anderson
7 *
8 * Rewritten to use GNU 'as' by Chris Noe <stiker@northlink.com> May 1999
9 *
10 * For further information, look at Documentation/svga.txt.
11 *
12 */
13
14/* Enable autodetection of SVGA adapters and modes. */
15#undef CONFIG_VIDEO_SVGA
16
17/* Enable autodetection of VESA modes */
18#define CONFIG_VIDEO_VESA
19
20/* Enable compacting of mode table */
21#define CONFIG_VIDEO_COMPACT
22
23/* Retain screen contents when switching modes */
24#define CONFIG_VIDEO_RETAIN
25
26/* Enable local mode list */
27#undef CONFIG_VIDEO_LOCAL
28
29/* Force 400 scan lines for standard modes (hack to fix bad BIOS behaviour */
30#undef CONFIG_VIDEO_400_HACK
31
32/* Hack that lets you force specific BIOS mode ID and specific dimensions */
33#undef CONFIG_VIDEO_GFX_HACK
34#define VIDEO_GFX_BIOS_AX 0x4f02 /* 800x600 on ThinkPad */
35#define VIDEO_GFX_BIOS_BX 0x0102
36#define VIDEO_GFX_DUMMY_RESOLUTION 0x6425 /* 100x37 */
37
38/* This code uses an extended set of video mode numbers. These include:
39 * Aliases for standard modes
40 * NORMAL_VGA (-1)
41 * EXTENDED_VGA (-2)
42 * ASK_VGA (-3)
43 * Video modes numbered by menu position -- NOT RECOMMENDED because of lack
44 * of compatibility when extending the table. These are between 0x00 and 0xff.
45 */
46#define VIDEO_FIRST_MENU 0x0000
47
48/* Standard BIOS video modes (BIOS number + 0x0100) */
49#define VIDEO_FIRST_BIOS 0x0100
50
51/* VESA BIOS video modes (VESA number + 0x0200) */
52#define VIDEO_FIRST_VESA 0x0200
53
54/* Video7 special modes (BIOS number + 0x0900) */
55#define VIDEO_FIRST_V7 0x0900
56
57/* Special video modes */
58#define VIDEO_FIRST_SPECIAL 0x0f00
59#define VIDEO_80x25 0x0f00
60#define VIDEO_8POINT 0x0f01
61#define VIDEO_80x43 0x0f02
62#define VIDEO_80x28 0x0f03
63#define VIDEO_CURRENT_MODE 0x0f04
64#define VIDEO_80x30 0x0f05
65#define VIDEO_80x34 0x0f06
66#define VIDEO_80x60 0x0f07
67#define VIDEO_GFX_HACK 0x0f08
68#define VIDEO_LAST_SPECIAL 0x0f09
69
70/* Video modes given by resolution */
71#define VIDEO_FIRST_RESOLUTION 0x1000
72
73/* The "recalculate timings" flag */
74#define VIDEO_RECALC 0x8000
75
76/* Positions of various video parameters passed to the kernel */
77/* (see also include/linux/tty.h) */
78#define PARAM_CURSOR_POS 0x00
79#define PARAM_VIDEO_PAGE 0x04
80#define PARAM_VIDEO_MODE 0x06
81#define PARAM_VIDEO_COLS 0x07
82#define PARAM_VIDEO_EGA_BX 0x0a
83#define PARAM_VIDEO_LINES 0x0e
84#define PARAM_HAVE_VGA 0x0f
85#define PARAM_FONT_POINTS 0x10
86
87#define PARAM_LFB_WIDTH 0x12
88#define PARAM_LFB_HEIGHT 0x14
89#define PARAM_LFB_DEPTH 0x16
90#define PARAM_LFB_BASE 0x18
91#define PARAM_LFB_SIZE 0x1c
92#define PARAM_LFB_LINELENGTH 0x24
93#define PARAM_LFB_COLORS 0x26
94#define PARAM_VESAPM_SEG 0x2e
95#define PARAM_VESAPM_OFF 0x30
96#define PARAM_LFB_PAGES 0x32
97#define PARAM_VESA_ATTRIB 0x34
98#define PARAM_CAPABILITIES 0x36
99
100/* Define DO_STORE according to CONFIG_VIDEO_RETAIN */
101#ifdef CONFIG_VIDEO_RETAIN
102#define DO_STORE call store_screen
103#else
104#define DO_STORE
105#endif /* CONFIG_VIDEO_RETAIN */
106
107# This is the main entry point called by setup.S
108# %ds *must* be pointing to the bootsector
109video: pushw %ds # We use different segments
110 pushw %ds # FS contains original DS
111 popw %fs
112 pushw %cs # DS is equal to CS
113 popw %ds
114 pushw %cs # ES is equal to CS
115 popw %es
116 xorw %ax, %ax
117 movw %ax, %gs # GS is zero
118 cld
119 call basic_detect # Basic adapter type testing (EGA/VGA/MDA/CGA)
120#ifdef CONFIG_VIDEO_SELECT
121 movw %fs:(0x01fa), %ax # User selected video mode
122 cmpw $ASK_VGA, %ax # Bring up the menu
123 jz vid2
124
125 call mode_set # Set the mode
126 jc vid1
127
128 leaw badmdt, %si # Invalid mode ID
129 call prtstr
130vid2: call mode_menu
131vid1:
132#ifdef CONFIG_VIDEO_RETAIN
133 call restore_screen # Restore screen contents
134#endif /* CONFIG_VIDEO_RETAIN */
135 call store_edid
136#endif /* CONFIG_VIDEO_SELECT */
137 call mode_params # Store mode parameters
138 popw %ds # Restore original DS
139 ret
140
141# Detect if we have CGA, MDA, EGA or VGA and pass it to the kernel.
142basic_detect:
143 movb $0, %fs:(PARAM_HAVE_VGA)
144 movb $0x12, %ah # Check EGA/VGA
145 movb $0x10, %bl
146 int $0x10
147 movw %bx, %fs:(PARAM_VIDEO_EGA_BX) # Identifies EGA to the kernel
148 cmpb $0x10, %bl # No, it's a CGA/MDA/HGA card.
149 je basret
150
151 incb adapter
152 movw $0x1a00, %ax # Check EGA or VGA?
153 int $0x10
154 cmpb $0x1a, %al # 1a means VGA...
155 jne basret # anything else is EGA.
156
157 incb %fs:(PARAM_HAVE_VGA) # We've detected a VGA
158 incb adapter
159basret: ret
160
161# Store the video mode parameters for later usage by the kernel.
162# This is done by asking the BIOS except for the rows/columns
163# parameters in the default 80x25 mode -- these are set directly,
164# because some very obscure BIOSes supply insane values.
165mode_params:
166#ifdef CONFIG_VIDEO_SELECT
167 cmpb $0, graphic_mode
168 jnz mopar_gr
169#endif
170 movb $0x03, %ah # Read cursor position
171 xorb %bh, %bh
172 int $0x10
173 movw %dx, %fs:(PARAM_CURSOR_POS)
174 movb $0x0f, %ah # Read page/mode/width
175 int $0x10
176 movw %bx, %fs:(PARAM_VIDEO_PAGE)
177 movw %ax, %fs:(PARAM_VIDEO_MODE) # Video mode and screen width
178 cmpb $0x7, %al # MDA/HGA => segment differs
179 jnz mopar0
180
181 movw $0xb000, video_segment
182mopar0: movw %gs:(0x485), %ax # Font size
183 movw %ax, %fs:(PARAM_FONT_POINTS) # (valid only on EGA/VGA)
184 movw force_size, %ax # Forced size?
185 orw %ax, %ax
186 jz mopar1
187
188 movb %ah, %fs:(PARAM_VIDEO_COLS)
189 movb %al, %fs:(PARAM_VIDEO_LINES)
190 ret
191
192mopar1: movb $25, %al
193 cmpb $0, adapter # If we are on CGA/MDA/HGA, the
194 jz mopar2 # screen must have 25 lines.
195
196 movb %gs:(0x484), %al # On EGA/VGA, use the EGA+ BIOS
197 incb %al # location of max lines.
198mopar2: movb %al, %fs:(PARAM_VIDEO_LINES)
199 ret
200
201#ifdef CONFIG_VIDEO_SELECT
202# Fetching of VESA frame buffer parameters
203mopar_gr:
204 leaw modelist+1024, %di
205 movb $0x23, %fs:(PARAM_HAVE_VGA)
206 movw 16(%di), %ax
207 movw %ax, %fs:(PARAM_LFB_LINELENGTH)
208 movw 18(%di), %ax
209 movw %ax, %fs:(PARAM_LFB_WIDTH)
210 movw 20(%di), %ax
211 movw %ax, %fs:(PARAM_LFB_HEIGHT)
212 movb 25(%di), %al
213 movb $0, %ah
214 movw %ax, %fs:(PARAM_LFB_DEPTH)
215 movb 29(%di), %al
216 movb $0, %ah
217 movw %ax, %fs:(PARAM_LFB_PAGES)
218 movl 40(%di), %eax
219 movl %eax, %fs:(PARAM_LFB_BASE)
220 movl 31(%di), %eax
221 movl %eax, %fs:(PARAM_LFB_COLORS)
222 movl 35(%di), %eax
223 movl %eax, %fs:(PARAM_LFB_COLORS+4)
224 movw 0(%di), %ax
225 movw %ax, %fs:(PARAM_VESA_ATTRIB)
226
227# get video mem size
228 leaw modelist+1024, %di
229 movw $0x4f00, %ax
230 int $0x10
231 xorl %eax, %eax
232 movw 18(%di), %ax
233 movl %eax, %fs:(PARAM_LFB_SIZE)
234
235# store mode capabilities
236 movl 10(%di), %eax
237 movl %eax, %fs:(PARAM_CAPABILITIES)
238
239# switching the DAC to 8-bit is for <= 8 bpp only
240 movw %fs:(PARAM_LFB_DEPTH), %ax
241 cmpw $8, %ax
242 jg dac_done
243
244# get DAC switching capability
245 xorl %eax, %eax
246 movb 10(%di), %al
247 testb $1, %al
248 jz dac_set
249
250# attempt to switch DAC to 8-bit
251 movw $0x4f08, %ax
252 movw $0x0800, %bx
253 int $0x10
254 cmpw $0x004f, %ax
255 jne dac_set
256 movb %bh, dac_size # store actual DAC size
257
258dac_set:
259# set color size to DAC size
260 movb dac_size, %al
261 movb %al, %fs:(PARAM_LFB_COLORS+0)
262 movb %al, %fs:(PARAM_LFB_COLORS+2)
263 movb %al, %fs:(PARAM_LFB_COLORS+4)
264 movb %al, %fs:(PARAM_LFB_COLORS+6)
265
266# set color offsets to 0
267 movb $0, %fs:(PARAM_LFB_COLORS+1)
268 movb $0, %fs:(PARAM_LFB_COLORS+3)
269 movb $0, %fs:(PARAM_LFB_COLORS+5)
270 movb $0, %fs:(PARAM_LFB_COLORS+7)
271
272dac_done:
273# get protected mode interface informations
274 movw $0x4f0a, %ax
275 xorw %bx, %bx
276 xorw %di, %di
277 int $0x10
278 cmp $0x004f, %ax
279 jnz no_pm
280
281 movw %es, %fs:(PARAM_VESAPM_SEG)
282 movw %di, %fs:(PARAM_VESAPM_OFF)
283no_pm: ret
284
285# The video mode menu
286mode_menu:
287 leaw keymsg, %si # "Return/Space/Timeout" message
288 call prtstr
289 call flush
290nokey: call getkt
291
292 cmpb $0x0d, %al # ENTER ?
293 je listm # yes - manual mode selection
294
295 cmpb $0x20, %al # SPACE ?
296 je defmd1 # no - repeat
297
298 call beep
299 jmp nokey
300
301defmd1: ret # No mode chosen? Default 80x25
302
303listm: call mode_table # List mode table
304listm0: leaw name_bann, %si # Print adapter name
305 call prtstr
306 movw card_name, %si
307 orw %si, %si
308 jnz an2
309
310 movb adapter, %al
311 leaw old_name, %si
312 orb %al, %al
313 jz an1
314
315 leaw ega_name, %si
316 decb %al
317 jz an1
318
319 leaw vga_name, %si
320 jmp an1
321
322an2: call prtstr
323 leaw svga_name, %si
324an1: call prtstr
325 leaw listhdr, %si # Table header
326 call prtstr
327 movb $0x30, %dl # DL holds mode number
328 leaw modelist, %si
329lm1: cmpw $ASK_VGA, (%si) # End?
330 jz lm2
331
332 movb %dl, %al # Menu selection number
333 call prtchr
334 call prtsp2
335 lodsw
336 call prthw # Mode ID
337 call prtsp2
338 movb 0x1(%si), %al
339 call prtdec # Rows
340 movb $0x78, %al # the letter 'x'
341 call prtchr
342 lodsw
343 call prtdec # Columns
344 movb $0x0d, %al # New line
345 call prtchr
346 movb $0x0a, %al
347 call prtchr
348 incb %dl # Next character
349 cmpb $0x3a, %dl
350 jnz lm1
351
352 movb $0x61, %dl
353 jmp lm1
354
355lm2: leaw prompt, %si # Mode prompt
356 call prtstr
357 leaw edit_buf, %di # Editor buffer
358lm3: call getkey
359 cmpb $0x0d, %al # Enter?
360 jz lment
361
362 cmpb $0x08, %al # Backspace?
363 jz lmbs
364
365 cmpb $0x20, %al # Printable?
366 jc lm3
367
368 cmpw $edit_buf+4, %di # Enough space?
369 jz lm3
370
371 stosb
372 call prtchr
373 jmp lm3
374
375lmbs: cmpw $edit_buf, %di # Backspace
376 jz lm3
377
378 decw %di
379 movb $0x08, %al
380 call prtchr
381 call prtspc
382 movb $0x08, %al
383 call prtchr
384 jmp lm3
385
386lment: movb $0, (%di)
387 leaw crlft, %si
388 call prtstr
389 leaw edit_buf, %si
390 cmpb $0, (%si) # Empty string = default mode
391 jz lmdef
392
393 cmpb $0, 1(%si) # One character = menu selection
394 jz mnusel
395
396 cmpw $0x6373, (%si) # "scan" => mode scanning
397 jnz lmhx
398
399 cmpw $0x6e61, 2(%si)
400 jz lmscan
401
402lmhx: xorw %bx, %bx # Else => mode ID in hex
403lmhex: lodsb
404 orb %al, %al
405 jz lmuse1
406
407 subb $0x30, %al
408 jc lmbad
409
410 cmpb $10, %al
411 jc lmhx1
412
413 subb $7, %al
414 andb $0xdf, %al
415 cmpb $10, %al
416 jc lmbad
417
418 cmpb $16, %al
419 jnc lmbad
420
421lmhx1: shlw $4, %bx
422 orb %al, %bl
423 jmp lmhex
424
425lmuse1: movw %bx, %ax
426 jmp lmuse
427
428mnusel: lodsb # Menu selection
429 xorb %ah, %ah
430 subb $0x30, %al
431 jc lmbad
432
433 cmpb $10, %al
434 jc lmuse
435
436 cmpb $0x61-0x30, %al
437 jc lmbad
438
439 subb $0x61-0x30-10, %al
440 cmpb $36, %al
441 jnc lmbad
442
443lmuse: call mode_set
444 jc lmdef
445
446lmbad: leaw unknt, %si
447 call prtstr
448 jmp lm2
449lmscan: cmpb $0, adapter # Scanning only on EGA/VGA
450 jz lmbad
451
452 movw $0, mt_end # Scanning of modes is
453 movb $1, scanning # done as new autodetection.
454 call mode_table
455 jmp listm0
456lmdef: ret
457
458# Additional parts of mode_set... (relative jumps, you know)
459setv7: # Video7 extended modes
460 DO_STORE
461 subb $VIDEO_FIRST_V7>>8, %bh
462 movw $0x6f05, %ax
463 int $0x10
464 stc
465 ret
466
467_setrec: jmp setrec # Ugly...
468_set_80x25: jmp set_80x25
469
470# Aliases for backward compatibility.
471setalias:
472 movw $VIDEO_80x25, %ax
473 incw %bx
474 jz mode_set
475
476 movb $VIDEO_8POINT-VIDEO_FIRST_SPECIAL, %al
477 incw %bx
478 jnz setbad # Fall-through!
479
480# Setting of user mode (AX=mode ID) => CF=success
481mode_set:
482 movw %ax, %fs:(0x01fa) # Store mode for use in acpi_wakeup.S
483 movw %ax, %bx
484 cmpb $0xff, %ah
485 jz setalias
486
487 testb $VIDEO_RECALC>>8, %ah
488 jnz _setrec
489
490 cmpb $VIDEO_FIRST_RESOLUTION>>8, %ah
491 jnc setres
492
493 cmpb $VIDEO_FIRST_SPECIAL>>8, %ah
494 jz setspc
495
496 cmpb $VIDEO_FIRST_V7>>8, %ah
497 jz setv7
498
499 cmpb $VIDEO_FIRST_VESA>>8, %ah
500 jnc check_vesa
501
502 orb %ah, %ah
503 jz setmenu
504
505 decb %ah
506 jz setbios
507
508setbad: clc
509 movb $0, do_restore # The screen needn't be restored
510 ret
511
512setvesa:
513 DO_STORE
514 subb $VIDEO_FIRST_VESA>>8, %bh
515 movw $0x4f02, %ax # VESA BIOS mode set call
516 int $0x10
517 cmpw $0x004f, %ax # AL=4f if implemented
518 jnz setbad # AH=0 if OK
519
520 stc
521 ret
522
523setbios:
524 DO_STORE
525 int $0x10 # Standard BIOS mode set call
526 pushw %bx
527 movb $0x0f, %ah # Check if really set
528 int $0x10
529 popw %bx
530 cmpb %bl, %al
531 jnz setbad
532
533 stc
534 ret
535
536setspc: xorb %bh, %bh # Set special mode
537 cmpb $VIDEO_LAST_SPECIAL-VIDEO_FIRST_SPECIAL, %bl
538 jnc setbad
539
540 addw %bx, %bx
541 jmp *spec_inits(%bx)
542
543setmenu:
544 orb %al, %al # 80x25 is an exception
545 jz _set_80x25
546
547 pushw %bx # Set mode chosen from menu
548 call mode_table # Build the mode table
549 popw %ax
550 shlw $2, %ax
551 addw %ax, %si
552 cmpw %di, %si
553 jnc setbad
554
555 movw (%si), %ax # Fetch mode ID
556_m_s: jmp mode_set
557
558setres: pushw %bx # Set mode chosen by resolution
559 call mode_table
560 popw %bx
561 xchgb %bl, %bh
562setr1: lodsw
563 cmpw $ASK_VGA, %ax # End of the list?
564 jz setbad
565
566 lodsw
567 cmpw %bx, %ax
568 jnz setr1
569
570 movw -4(%si), %ax # Fetch mode ID
571 jmp _m_s
572
573check_vesa:
574#ifdef CONFIG_FIRMWARE_EDID
575 leaw modelist+1024, %di
576 movw $0x4f00, %ax
577 int $0x10
578 cmpw $0x004f, %ax
579 jnz setbad
580
581 movw 4(%di), %ax
582 movw %ax, vbe_version
583#endif
584 leaw modelist+1024, %di
585 subb $VIDEO_FIRST_VESA>>8, %bh
586 movw %bx, %cx # Get mode information structure
587 movw $0x4f01, %ax
588 int $0x10
589 addb $VIDEO_FIRST_VESA>>8, %bh
590 cmpw $0x004f, %ax
591 jnz setbad
592
593 movb (%di), %al # Check capabilities.
594 andb $0x19, %al
595 cmpb $0x09, %al
596 jz setvesa # This is a text mode
597
598 movb (%di), %al # Check capabilities.
599 andb $0x99, %al
600 cmpb $0x99, %al
601 jnz _setbad # Doh! No linear frame buffer.
602
603 subb $VIDEO_FIRST_VESA>>8, %bh
604 orw $0x4000, %bx # Use linear frame buffer
605 movw $0x4f02, %ax # VESA BIOS mode set call
606 int $0x10
607 cmpw $0x004f, %ax # AL=4f if implemented
608 jnz _setbad # AH=0 if OK
609
610 movb $1, graphic_mode # flag graphic mode
611 movb $0, do_restore # no screen restore
612 stc
613 ret
614
615_setbad: jmp setbad # Ugly...
616
617# Recalculate vertical display end registers -- this fixes various
618# inconsistencies of extended modes on many adapters. Called when
619# the VIDEO_RECALC flag is set in the mode ID.
620
621setrec: subb $VIDEO_RECALC>>8, %ah # Set the base mode
622 call mode_set
623 jnc rct3
624
625 movw %gs:(0x485), %ax # Font size in pixels
626 movb %gs:(0x484), %bl # Number of rows
627 incb %bl
628 mulb %bl # Number of visible
629 decw %ax # scan lines - 1
630 movw $0x3d4, %dx
631 movw %ax, %bx
632 movb $0x12, %al # Lower 8 bits
633 movb %bl, %ah
634 outw %ax, %dx
635 movb $0x07, %al # Bits 8 and 9 in the overflow register
636 call inidx
637 xchgb %al, %ah
638 andb $0xbd, %ah
639 shrb %bh
640 jnc rct1
641 orb $0x02, %ah
642rct1: shrb %bh
643 jnc rct2
644 orb $0x40, %ah
645rct2: movb $0x07, %al
646 outw %ax, %dx
647 stc
648rct3: ret
649
650# Table of routines for setting of the special modes.
651spec_inits:
652 .word set_80x25
653 .word set_8pixel
654 .word set_80x43
655 .word set_80x28
656 .word set_current
657 .word set_80x30
658 .word set_80x34
659 .word set_80x60
660 .word set_gfx
661
662# Set the 80x25 mode. If already set, do nothing.
663set_80x25:
664 movw $0x5019, force_size # Override possibly broken BIOS
665use_80x25:
666#ifdef CONFIG_VIDEO_400_HACK
667 movw $0x1202, %ax # Force 400 scan lines
668 movb $0x30, %bl
669 int $0x10
670#else
671 movb $0x0f, %ah # Get current mode ID
672 int $0x10
673 cmpw $0x5007, %ax # Mode 7 (80x25 mono) is the only one available
674 jz st80 # on CGA/MDA/HGA and is also available on EGAM
675
676 cmpw $0x5003, %ax # Unknown mode, force 80x25 color
677 jnz force3
678
679st80: cmpb $0, adapter # CGA/MDA/HGA => mode 3/7 is always 80x25
680 jz set80
681
682 movb %gs:(0x0484), %al # This is EGA+ -- beware of 80x50 etc.
683 orb %al, %al # Some buggy BIOS'es set 0 rows
684 jz set80
685
686 cmpb $24, %al # It's hopefully correct
687 jz set80
688#endif /* CONFIG_VIDEO_400_HACK */
689force3: DO_STORE
690 movw $0x0003, %ax # Forced set
691 int $0x10
692set80: stc
693 ret
694
695# Set the 80x50/80x43 8-pixel mode. Simple BIOS calls.
696set_8pixel:
697 DO_STORE
698 call use_80x25 # The base is 80x25
699set_8pt:
700 movw $0x1112, %ax # Use 8x8 font
701 xorb %bl, %bl
702 int $0x10
703 movw $0x1200, %ax # Use alternate print screen
704 movb $0x20, %bl
705 int $0x10
706 movw $0x1201, %ax # Turn off cursor emulation
707 movb $0x34, %bl
708 int $0x10
709 movb $0x01, %ah # Define cursor scan lines 6-7
710 movw $0x0607, %cx
711 int $0x10
712set_current:
713 stc
714 ret
715
716# Set the 80x28 mode. This mode works on all VGA's, because it's a standard
717# 80x25 mode with 14-point fonts instead of 16-point.
718set_80x28:
719 DO_STORE
720 call use_80x25 # The base is 80x25
721set14: movw $0x1111, %ax # Use 9x14 font
722 xorb %bl, %bl
723 int $0x10
724 movb $0x01, %ah # Define cursor scan lines 11-12
725 movw $0x0b0c, %cx
726 int $0x10
727 stc
728 ret
729
730# Set the 80x43 mode. This mode is works on all VGA's.
731# It's a 350-scanline mode with 8-pixel font.
732set_80x43:
733 DO_STORE
734 movw $0x1201, %ax # Set 350 scans
735 movb $0x30, %bl
736 int $0x10
737 movw $0x0003, %ax # Reset video mode
738 int $0x10
739 jmp set_8pt # Use 8-pixel font
740
741# Set the 80x30 mode (all VGA's). 480 scanlines, 16-pixel font.
742set_80x30:
743 call use_80x25 # Start with real 80x25
744 DO_STORE
745 movw $0x3cc, %dx # Get CRTC port
746 inb %dx, %al
747 movb $0xd4, %dl
748 rorb %al # Mono or color?
749 jc set48a
750
751 movb $0xb4, %dl
752set48a: movw $0x0c11, %ax # Vertical sync end (also unlocks CR0-7)
753 call outidx
754 movw $0x0b06, %ax # Vertical total
755 call outidx
756 movw $0x3e07, %ax # (Vertical) overflow
757 call outidx
758 movw $0xea10, %ax # Vertical sync start
759 call outidx
760 movw $0xdf12, %ax # Vertical display end
761 call outidx
762 movw $0xe715, %ax # Vertical blank start
763 call outidx
764 movw $0x0416, %ax # Vertical blank end
765 call outidx
766 pushw %dx
767 movb $0xcc, %dl # Misc output register (read)
768 inb %dx, %al
769 movb $0xc2, %dl # (write)
770 andb $0x0d, %al # Preserve clock select bits and color bit
771 orb $0xe2, %al # Set correct sync polarity
772 outb %al, %dx
773 popw %dx
774 movw $0x501e, force_size
775 stc # That's all.
776 ret
777
778# Set the 80x34 mode (all VGA's). 480 scans, 14-pixel font.
779set_80x34:
780 call set_80x30 # Set 480 scans
781 call set14 # And 14-pt font
782 movw $0xdb12, %ax # VGA vertical display end
783 movw $0x5022, force_size
784setvde: call outidx
785 stc
786 ret
787
788# Set the 80x60 mode (all VGA's). 480 scans, 8-pixel font.
789set_80x60:
790 call set_80x30 # Set 480 scans
791 call set_8pt # And 8-pt font
792 movw $0xdf12, %ax # VGA vertical display end
793 movw $0x503c, force_size
794 jmp setvde
795
796# Special hack for ThinkPad graphics
797set_gfx:
798#ifdef CONFIG_VIDEO_GFX_HACK
799 movw $VIDEO_GFX_BIOS_AX, %ax
800 movw $VIDEO_GFX_BIOS_BX, %bx
801 int $0x10
802 movw $VIDEO_GFX_DUMMY_RESOLUTION, force_size
803 stc
804#endif
805 ret
806
807#ifdef CONFIG_VIDEO_RETAIN
808
809# Store screen contents to temporary buffer.
810store_screen:
811 cmpb $0, do_restore # Already stored?
812 jnz stsr
813
814 testb $CAN_USE_HEAP, loadflags # Have we space for storing?
815 jz stsr
816
817 pushw %ax
818 pushw %bx
819 pushw force_size # Don't force specific size
820 movw $0, force_size
821 call mode_params # Obtain params of current mode
822 popw force_size
823 movb %fs:(PARAM_VIDEO_LINES), %ah
824 movb %fs:(PARAM_VIDEO_COLS), %al
825 movw %ax, %bx # BX=dimensions
826 mulb %ah
827 movw %ax, %cx # CX=number of characters
828 addw %ax, %ax # Calculate image size
829 addw $modelist+1024+4, %ax
830 cmpw heap_end_ptr, %ax
831 jnc sts1 # Unfortunately, out of memory
832
833 movw %fs:(PARAM_CURSOR_POS), %ax # Store mode params
834 leaw modelist+1024, %di
835 stosw
836 movw %bx, %ax
837 stosw
838 pushw %ds # Store the screen
839 movw video_segment, %ds
840 xorw %si, %si
841 rep
842 movsw
843 popw %ds
844 incb do_restore # Screen will be restored later
845sts1: popw %bx
846 popw %ax
847stsr: ret
848
849# Restore screen contents from temporary buffer.
850restore_screen:
851 cmpb $0, do_restore # Has the screen been stored?
852 jz res1
853
854 call mode_params # Get parameters of current mode
855 movb %fs:(PARAM_VIDEO_LINES), %cl
856 movb %fs:(PARAM_VIDEO_COLS), %ch
857 leaw modelist+1024, %si # Screen buffer
858 lodsw # Set cursor position
859 movw %ax, %dx
860 cmpb %cl, %dh
861 jc res2
862
863 movb %cl, %dh
864 decb %dh
865res2: cmpb %ch, %dl
866 jc res3
867
868 movb %ch, %dl
869 decb %dl
870res3: movb $0x02, %ah
871 movb $0x00, %bh
872 int $0x10
873 lodsw # Display size
874 movb %ah, %dl # DL=number of lines
875 movb $0, %ah # BX=phys. length of orig. line
876 movw %ax, %bx
877 cmpb %cl, %dl # Too many?
878 jc res4
879
880 pushw %ax
881 movb %dl, %al
882 subb %cl, %al
883 mulb %bl
884 addw %ax, %si
885 addw %ax, %si
886 popw %ax
887 movb %cl, %dl
888res4: cmpb %ch, %al # Too wide?
889 jc res5
890
891 movb %ch, %al # AX=width of src. line
892res5: movb $0, %cl
893 xchgb %ch, %cl
894 movw %cx, %bp # BP=width of dest. line
895 pushw %es
896 movw video_segment, %es
897 xorw %di, %di # Move the data
898 addw %bx, %bx # Convert BX and BP to _bytes_
899 addw %bp, %bp
900res6: pushw %si
901 pushw %di
902 movw %ax, %cx
903 rep
904 movsw
905 popw %di
906 popw %si
907 addw %bp, %di
908 addw %bx, %si
909 decb %dl
910 jnz res6
911
912 popw %es # Done
913res1: ret
914#endif /* CONFIG_VIDEO_RETAIN */
915
916# Write to indexed VGA register (AL=index, AH=data, DX=index reg. port)
917outidx: outb %al, %dx
918 pushw %ax
919 movb %ah, %al
920 incw %dx
921 outb %al, %dx
922 decw %dx
923 popw %ax
924 ret
925
926# Build the table of video modes (stored after the setup.S code at the
927# `modelist' label. Each video mode record looks like:
928# .word MODE-ID (our special mode ID (see above))
929# .byte rows (number of rows)
930# .byte columns (number of columns)
931# Returns address of the end of the table in DI, the end is marked
932# with a ASK_VGA ID.
933mode_table:
934 movw mt_end, %di # Already filled?
935 orw %di, %di
936 jnz mtab1x
937
938 leaw modelist, %di # Store standard modes:
939 movl $VIDEO_80x25 + 0x50190000, %eax # The 80x25 mode (ALL)
940 stosl
941 movb adapter, %al # CGA/MDA/HGA -- no more modes
942 orb %al, %al
943 jz mtabe
944
945 decb %al
946 jnz mtabv
947
948 movl $VIDEO_8POINT + 0x502b0000, %eax # The 80x43 EGA mode
949 stosl
950 jmp mtabe
951
952mtab1x: jmp mtab1
953
954mtabv: leaw vga_modes, %si # All modes for std VGA
955 movw $vga_modes_end-vga_modes, %cx
956 rep # I'm unable to use movsw as I don't know how to store a half
957 movsb # of the expression above to cx without using explicit shr.
958
959 cmpb $0, scanning # Mode scan requested?
960 jz mscan1
961
962 call mode_scan
963mscan1:
964
965#ifdef CONFIG_VIDEO_LOCAL
966 call local_modes
967#endif /* CONFIG_VIDEO_LOCAL */
968
969#ifdef CONFIG_VIDEO_VESA
970 call vesa_modes # Detect VESA VGA modes
971#endif /* CONFIG_VIDEO_VESA */
972
973#ifdef CONFIG_VIDEO_SVGA
974 cmpb $0, scanning # Bypass when scanning
975 jnz mscan2
976
977 call svga_modes # Detect SVGA cards & modes
978mscan2:
979#endif /* CONFIG_VIDEO_SVGA */
980
981mtabe:
982
983#ifdef CONFIG_VIDEO_COMPACT
984 leaw modelist, %si
985 movw %di, %dx
986 movw %si, %di
987cmt1: cmpw %dx, %si # Scan all modes
988 jz cmt2
989
990 leaw modelist, %bx # Find in previous entries
991 movw 2(%si), %cx
992cmt3: cmpw %bx, %si
993 jz cmt4
994
995 cmpw 2(%bx), %cx # Found => don't copy this entry
996 jz cmt5
997
998 addw $4, %bx
999 jmp cmt3
1000
1001cmt4: movsl # Copy entry
1002 jmp cmt1
1003
1004cmt5: addw $4, %si # Skip entry
1005 jmp cmt1
1006
1007cmt2:
1008#endif /* CONFIG_VIDEO_COMPACT */
1009
1010 movw $ASK_VGA, (%di) # End marker
1011 movw %di, mt_end
1012mtab1: leaw modelist, %si # SI=mode list, DI=list end
1013ret0: ret
1014
1015# Modes usable on all standard VGAs
1016vga_modes:
1017 .word VIDEO_8POINT
1018 .word 0x5032 # 80x50
1019 .word VIDEO_80x43
1020 .word 0x502b # 80x43
1021 .word VIDEO_80x28
1022 .word 0x501c # 80x28
1023 .word VIDEO_80x30
1024 .word 0x501e # 80x30
1025 .word VIDEO_80x34
1026 .word 0x5022 # 80x34
1027 .word VIDEO_80x60
1028 .word 0x503c # 80x60
1029#ifdef CONFIG_VIDEO_GFX_HACK
1030 .word VIDEO_GFX_HACK
1031 .word VIDEO_GFX_DUMMY_RESOLUTION
1032#endif
1033
1034vga_modes_end:
1035# Detect VESA modes.
1036
1037#ifdef CONFIG_VIDEO_VESA
1038vesa_modes:
1039 cmpb $2, adapter # VGA only
1040 jnz ret0
1041
1042 movw %di, %bp # BP=original mode table end
1043 addw $0x200, %di # Buffer space
1044 movw $0x4f00, %ax # VESA Get card info call
1045 int $0x10
1046 movw %bp, %di
1047 cmpw $0x004f, %ax # Successful?
1048 jnz ret0
1049
1050 cmpw $0x4556, 0x200(%di)
1051 jnz ret0
1052
1053 cmpw $0x4153, 0x202(%di)
1054 jnz ret0
1055
1056 movw $vesa_name, card_name # Set name to "VESA VGA"
1057 pushw %gs
1058 lgsw 0x20e(%di), %si # GS:SI=mode list
1059 movw $128, %cx # Iteration limit
1060vesa1:
1061# gas version 2.9.1, using BFD version 2.9.1.0.23 buggers the next inst.
1062# XXX: lodsw %gs:(%si), %ax # Get next mode in the list
1063 gs; lodsw
1064 cmpw $0xffff, %ax # End of the table?
1065 jz vesar
1066
1067 cmpw $0x0080, %ax # Check validity of mode ID
1068 jc vesa2
1069
1070 orb %ah, %ah # Valid IDs: 0x0000-0x007f/0x0100-0x07ff
1071 jz vesan # Certain BIOSes report 0x80-0xff!
1072
1073 cmpw $0x0800, %ax
1074 jnc vesae
1075
1076vesa2: pushw %cx
1077 movw %ax, %cx # Get mode information structure
1078 movw $0x4f01, %ax
1079 int $0x10
1080 movw %cx, %bx # BX=mode number
1081 addb $VIDEO_FIRST_VESA>>8, %bh
1082 popw %cx
1083 cmpw $0x004f, %ax
1084 jnz vesan # Don't report errors (buggy BIOSES)
1085
1086 movb (%di), %al # Check capabilities. We require
1087 andb $0x19, %al # a color text mode.
1088 cmpb $0x09, %al
1089 jnz vesan
1090
1091 cmpw $0xb800, 8(%di) # Standard video memory address required
1092 jnz vesan
1093
1094 testb $2, (%di) # Mode characteristics supplied?
1095 movw %bx, (%di) # Store mode number
1096 jz vesa3
1097
1098 xorw %dx, %dx
1099 movw 0x12(%di), %bx # Width
1100 orb %bh, %bh
1101 jnz vesan
1102
1103 movb %bl, 0x3(%di)
1104 movw 0x14(%di), %ax # Height
1105 orb %ah, %ah
1106 jnz vesan
1107
1108 movb %al, 2(%di)
1109 mulb %bl
1110 cmpw $8193, %ax # Small enough for Linux console driver?
1111 jnc vesan
1112
1113 jmp vesaok
1114
1115vesa3: subw $0x8108, %bx # This mode has no detailed info specified,
1116 jc vesan # so it must be a standard VESA mode.
1117
1118 cmpw $5, %bx
1119 jnc vesan
1120
1121 movw vesa_text_mode_table(%bx), %ax
1122 movw %ax, 2(%di)
1123vesaok: addw $4, %di # The mode is valid. Store it.
1124vesan: loop vesa1 # Next mode. Limit exceeded => error
1125vesae: leaw vesaer, %si
1126 call prtstr
1127 movw %bp, %di # Discard already found modes.
1128vesar: popw %gs
1129 ret
1130
1131# Dimensions of standard VESA text modes
1132vesa_text_mode_table:
1133 .byte 60, 80 # 0108
1134 .byte 25, 132 # 0109
1135 .byte 43, 132 # 010A
1136 .byte 50, 132 # 010B
1137 .byte 60, 132 # 010C
1138#endif /* CONFIG_VIDEO_VESA */
1139
1140# Scan for video modes. A bit dirty, but should work.
1141mode_scan:
1142 movw $0x0100, %cx # Start with mode 0
1143scm1: movb $0, %ah # Test the mode
1144 movb %cl, %al
1145 int $0x10
1146 movb $0x0f, %ah
1147 int $0x10
1148 cmpb %cl, %al
1149 jnz scm2 # Mode not set
1150
1151 movw $0x3c0, %dx # Test if it's a text mode
1152 movb $0x10, %al # Mode bits
1153 call inidx
1154 andb $0x03, %al
1155 jnz scm2
1156
1157 movb $0xce, %dl # Another set of mode bits
1158 movb $0x06, %al
1159 call inidx
1160 shrb %al
1161 jc scm2
1162
1163 movb $0xd4, %dl # Cursor location
1164 movb $0x0f, %al
1165 call inidx
1166 orb %al, %al
1167 jnz scm2
1168
1169 movw %cx, %ax # Ok, store the mode
1170 stosw
1171 movb %gs:(0x484), %al # Number of rows
1172 incb %al
1173 stosb
1174 movw %gs:(0x44a), %ax # Number of columns
1175 stosb
1176scm2: incb %cl
1177 jns scm1
1178
1179 movw $0x0003, %ax # Return back to mode 3
1180 int $0x10
1181 ret
1182
1183tstidx: outw %ax, %dx # OUT DX,AX and inidx
1184inidx: outb %al, %dx # Read from indexed VGA register
1185 incw %dx # AL=index, DX=index reg port -> AL=data
1186 inb %dx, %al
1187 decw %dx
1188 ret
1189
1190# Try to detect type of SVGA card and supply (usually approximate) video
1191# mode table for it.
1192
1193#ifdef CONFIG_VIDEO_SVGA
1194svga_modes:
1195 leaw svga_table, %si # Test all known SVGA adapters
1196dosvga: lodsw
1197 movw %ax, %bp # Default mode table
1198 orw %ax, %ax
1199 jz didsv1
1200
1201 lodsw # Pointer to test routine
1202 pushw %si
1203 pushw %di
1204 pushw %es
1205 movw $0xc000, %bx
1206 movw %bx, %es
1207 call *%ax # Call test routine
1208 popw %es
1209 popw %di
1210 popw %si
1211 orw %bp, %bp
1212 jz dosvga
1213
1214 movw %bp, %si # Found, copy the modes
1215 movb svga_prefix, %ah
1216cpsvga: lodsb
1217 orb %al, %al
1218 jz didsv
1219
1220 stosw
1221 movsw
1222 jmp cpsvga
1223
1224didsv: movw %si, card_name # Store pointer to card name
1225didsv1: ret
1226
1227# Table of all known SVGA cards. For each card, we store a pointer to
1228# a table of video modes supported by the card and a pointer to a routine
1229# used for testing of presence of the card. The video mode table is always
1230# followed by the name of the card or the chipset.
1231svga_table:
1232 .word ati_md, ati_test
1233 .word oak_md, oak_test
1234 .word paradise_md, paradise_test
1235 .word realtek_md, realtek_test
1236 .word s3_md, s3_test
1237 .word chips_md, chips_test
1238 .word video7_md, video7_test
1239 .word cirrus5_md, cirrus5_test
1240 .word cirrus6_md, cirrus6_test
1241 .word cirrus1_md, cirrus1_test
1242 .word ahead_md, ahead_test
1243 .word everex_md, everex_test
1244 .word genoa_md, genoa_test
1245 .word trident_md, trident_test
1246 .word tseng_md, tseng_test
1247 .word 0
1248
1249# Test routines and mode tables:
1250
1251# S3 - The test algorithm was taken from the SuperProbe package
1252# for XFree86 1.2.1. Report bugs to Christoph.Niemann@linux.org
1253s3_test:
1254 movw $0x0f35, %cx # we store some constants in cl/ch
1255 movw $0x03d4, %dx
1256 movb $0x38, %al
1257 call inidx
1258 movb %al, %bh # store current CRT-register 0x38
1259 movw $0x0038, %ax
1260 call outidx # disable writing to special regs
1261 movb %cl, %al # check whether we can write special reg 0x35
1262 call inidx
1263 movb %al, %bl # save the current value of CRT reg 0x35
1264 andb $0xf0, %al # clear bits 0-3
1265 movb %al, %ah
1266 movb %cl, %al # and write it to CRT reg 0x35
1267 call outidx
1268 call inidx # now read it back
1269 andb %ch, %al # clear the upper 4 bits
1270 jz s3_2 # the first test failed. But we have a
1271
1272 movb %bl, %ah # second chance
1273 movb %cl, %al
1274 call outidx
1275 jmp s3_1 # do the other tests
1276
1277s3_2: movw %cx, %ax # load ah with 0xf and al with 0x35
1278 orb %bl, %ah # set the upper 4 bits of ah with the orig value
1279 call outidx # write ...
1280 call inidx # ... and reread
1281 andb %cl, %al # turn off the upper 4 bits
1282 pushw %ax
1283 movb %bl, %ah # restore old value in register 0x35
1284 movb %cl, %al
1285 call outidx
1286 popw %ax
1287 cmpb %ch, %al # setting lower 4 bits was successful => bad
1288 je no_s3 # writing is allowed => this is not an S3
1289
1290s3_1: movw $0x4838, %ax # allow writing to special regs by putting
1291 call outidx # magic number into CRT-register 0x38
1292 movb %cl, %al # check whether we can write special reg 0x35
1293 call inidx
1294 movb %al, %bl
1295 andb $0xf0, %al
1296 movb %al, %ah
1297 movb %cl, %al
1298 call outidx
1299 call inidx
1300 andb %ch, %al
1301 jnz no_s3 # no, we can't write => no S3
1302
1303 movw %cx, %ax
1304 orb %bl, %ah
1305 call outidx
1306 call inidx
1307 andb %ch, %al
1308 pushw %ax
1309 movb %bl, %ah # restore old value in register 0x35
1310 movb %cl, %al
1311 call outidx
1312 popw %ax
1313 cmpb %ch, %al
1314 jne no_s31 # writing not possible => no S3
1315 movb $0x30, %al
1316 call inidx # now get the S3 id ...
1317 leaw idS3, %di
1318 movw $0x10, %cx
1319 repne
1320 scasb
1321 je no_s31
1322
1323 movb %bh, %ah
1324 movb $0x38, %al
1325 jmp s3rest
1326
1327no_s3: movb $0x35, %al # restore CRT register 0x35
1328 movb %bl, %ah
1329 call outidx
1330no_s31: xorw %bp, %bp # Detection failed
1331s3rest: movb %bh, %ah
1332 movb $0x38, %al # restore old value of CRT register 0x38
1333 jmp outidx
1334
1335idS3: .byte 0x81, 0x82, 0x90, 0x91, 0x92, 0x93, 0x94, 0x95
1336 .byte 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa8, 0xb0
1337
1338s3_md: .byte 0x54, 0x2b, 0x84
1339 .byte 0x55, 0x19, 0x84
1340 .byte 0
1341 .ascii "S3"
1342 .byte 0
1343
1344# ATI cards.
1345ati_test:
1346 leaw idati, %si
1347 movw $0x31, %di
1348 movw $0x09, %cx
1349 repe
1350 cmpsb
1351 je atiok
1352
1353 xorw %bp, %bp
1354atiok: ret
1355
1356idati: .ascii "761295520"
1357
1358ati_md: .byte 0x23, 0x19, 0x84
1359 .byte 0x33, 0x2c, 0x84
1360 .byte 0x22, 0x1e, 0x64
1361 .byte 0x21, 0x19, 0x64
1362 .byte 0x58, 0x21, 0x50
1363 .byte 0x5b, 0x1e, 0x50
1364 .byte 0
1365 .ascii "ATI"
1366 .byte 0
1367
1368# AHEAD
1369ahead_test:
1370 movw $0x200f, %ax
1371 movw $0x3ce, %dx
1372 outw %ax, %dx
1373 incw %dx
1374 inb %dx, %al
1375 cmpb $0x20, %al
1376 je isahed
1377
1378 cmpb $0x21, %al
1379 je isahed
1380
1381 xorw %bp, %bp
1382isahed: ret
1383
1384ahead_md:
1385 .byte 0x22, 0x2c, 0x84
1386 .byte 0x23, 0x19, 0x84
1387 .byte 0x24, 0x1c, 0x84
1388 .byte 0x2f, 0x32, 0xa0
1389 .byte 0x32, 0x22, 0x50
1390 .byte 0x34, 0x42, 0x50
1391 .byte 0
1392 .ascii "Ahead"
1393 .byte 0
1394
1395# Chips & Tech.
1396chips_test:
1397 movw $0x3c3, %dx
1398 inb %dx, %al
1399 orb $0x10, %al
1400 outb %al, %dx
1401 movw $0x104, %dx
1402 inb %dx, %al
1403 movb %al, %bl
1404 movw $0x3c3, %dx
1405 inb %dx, %al
1406 andb $0xef, %al
1407 outb %al, %dx
1408 cmpb $0xa5, %bl
1409 je cantok
1410
1411 xorw %bp, %bp
1412cantok: ret
1413
1414chips_md:
1415 .byte 0x60, 0x19, 0x84
1416 .byte 0x61, 0x32, 0x84
1417 .byte 0
1418 .ascii "Chips & Technologies"
1419 .byte 0
1420
1421# Cirrus Logic 5X0
1422cirrus1_test:
1423 movw $0x3d4, %dx
1424 movb $0x0c, %al
1425 outb %al, %dx
1426 incw %dx
1427 inb %dx, %al
1428 movb %al, %bl
1429 xorb %al, %al
1430 outb %al, %dx
1431 decw %dx
1432 movb $0x1f, %al
1433 outb %al, %dx
1434 incw %dx
1435 inb %dx, %al
1436 movb %al, %bh
1437 xorb %ah, %ah
1438 shlb $4, %al
1439 movw %ax, %cx
1440 movb %bh, %al
1441 shrb $4, %al
1442 addw %ax, %cx
1443 shlw $8, %cx
1444 addw $6, %cx
1445 movw %cx, %ax
1446 movw $0x3c4, %dx
1447 outw %ax, %dx
1448 incw %dx
1449 inb %dx, %al
1450 andb %al, %al
1451 jnz nocirr
1452
1453 movb %bh, %al
1454 outb %al, %dx
1455 inb %dx, %al
1456 cmpb $0x01, %al
1457 je iscirr
1458
1459nocirr: xorw %bp, %bp
1460iscirr: movw $0x3d4, %dx
1461 movb %bl, %al
1462 xorb %ah, %ah
1463 shlw $8, %ax
1464 addw $0x0c, %ax
1465 outw %ax, %dx
1466 ret
1467
1468cirrus1_md:
1469 .byte 0x1f, 0x19, 0x84
1470 .byte 0x20, 0x2c, 0x84
1471 .byte 0x22, 0x1e, 0x84
1472 .byte 0x31, 0x25, 0x64
1473 .byte 0
1474 .ascii "Cirrus Logic 5X0"
1475 .byte 0
1476
1477# Cirrus Logic 54XX
1478cirrus5_test:
1479 movw $0x3c4, %dx
1480 movb $6, %al
1481 call inidx
1482 movb %al, %bl # BL=backup
1483 movw $6, %ax
1484 call tstidx
1485 cmpb $0x0f, %al
1486 jne c5fail
1487
1488 movw $0x1206, %ax
1489 call tstidx
1490 cmpb $0x12, %al
1491 jne c5fail
1492
1493 movb $0x1e, %al
1494 call inidx
1495 movb %al, %bh
1496 movb %bh, %ah
1497 andb $0xc0, %ah
1498 movb $0x1e, %al
1499 call tstidx
1500 andb $0x3f, %al
1501 jne c5xx
1502
1503 movb $0x1e, %al
1504 movb %bh, %ah
1505 orb $0x3f, %ah
1506 call tstidx
1507 xorb $0x3f, %al
1508 andb $0x3f, %al
1509c5xx: pushf
1510 movb $0x1e, %al
1511 movb %bh, %ah
1512 outw %ax, %dx
1513 popf
1514 je c5done
1515
1516c5fail: xorw %bp, %bp
1517c5done: movb $6, %al
1518 movb %bl, %ah
1519 outw %ax, %dx
1520 ret
1521
1522cirrus5_md:
1523 .byte 0x14, 0x19, 0x84
1524 .byte 0x54, 0x2b, 0x84
1525 .byte 0
1526 .ascii "Cirrus Logic 54XX"
1527 .byte 0
1528
1529# Cirrus Logic 64XX -- no known extra modes, but must be identified, because
1530# it's misidentified by the Ahead test.
1531cirrus6_test:
1532 movw $0x3ce, %dx
1533 movb $0x0a, %al
1534 call inidx
1535 movb %al, %bl # BL=backup
1536 movw $0xce0a, %ax
1537 call tstidx
1538 orb %al, %al
1539 jne c2fail
1540
1541 movw $0xec0a, %ax
1542 call tstidx
1543 cmpb $0x01, %al
1544 jne c2fail
1545
1546 movb $0xaa, %al
1547 call inidx # 4X, 5X, 7X and 8X are valid 64XX chip ID's.
1548 shrb $4, %al
1549 subb $4, %al
1550 jz c6done
1551
1552 decb %al
1553 jz c6done
1554
1555 subb $2, %al
1556 jz c6done
1557
1558 decb %al
1559 jz c6done
1560
1561c2fail: xorw %bp, %bp
1562c6done: movb $0x0a, %al
1563 movb %bl, %ah
1564 outw %ax, %dx
1565 ret
1566
1567cirrus6_md:
1568 .byte 0
1569 .ascii "Cirrus Logic 64XX"
1570 .byte 0
1571
1572# Everex / Trident
1573everex_test:
1574 movw $0x7000, %ax
1575 xorw %bx, %bx
1576 int $0x10
1577 cmpb $0x70, %al
1578 jne noevrx
1579
1580 shrw $4, %dx
1581 cmpw $0x678, %dx
1582 je evtrid
1583
1584 cmpw $0x236, %dx
1585 jne evrxok
1586
1587evtrid: leaw trident_md, %bp
1588evrxok: ret
1589
1590noevrx: xorw %bp, %bp
1591 ret
1592
1593everex_md:
1594 .byte 0x03, 0x22, 0x50
1595 .byte 0x04, 0x3c, 0x50
1596 .byte 0x07, 0x2b, 0x64
1597 .byte 0x08, 0x4b, 0x64
1598 .byte 0x0a, 0x19, 0x84
1599 .byte 0x0b, 0x2c, 0x84
1600 .byte 0x16, 0x1e, 0x50
1601 .byte 0x18, 0x1b, 0x64
1602 .byte 0x21, 0x40, 0xa0
1603 .byte 0x40, 0x1e, 0x84
1604 .byte 0
1605 .ascii "Everex/Trident"
1606 .byte 0
1607
1608# Genoa.
1609genoa_test:
1610 leaw idgenoa, %si # Check Genoa 'clues'
1611 xorw %ax, %ax
1612 movb %es:(0x37), %al
1613 movw %ax, %di
1614 movw $0x04, %cx
1615 decw %si
1616 decw %di
1617l1: incw %si
1618 incw %di
1619 movb (%si), %al
1620 testb %al, %al
1621 jz l2
1622
1623 cmpb %es:(%di), %al
1624l2: loope l1
1625 orw %cx, %cx
1626 je isgen
1627
1628 xorw %bp, %bp
1629isgen: ret
1630
1631idgenoa: .byte 0x77, 0x00, 0x99, 0x66
1632
1633genoa_md:
1634 .byte 0x58, 0x20, 0x50
1635 .byte 0x5a, 0x2a, 0x64
1636 .byte 0x60, 0x19, 0x84
1637 .byte 0x61, 0x1d, 0x84
1638 .byte 0x62, 0x20, 0x84
1639 .byte 0x63, 0x2c, 0x84
1640 .byte 0x64, 0x3c, 0x84
1641 .byte 0x6b, 0x4f, 0x64
1642 .byte 0x72, 0x3c, 0x50
1643 .byte 0x74, 0x42, 0x50
1644 .byte 0x78, 0x4b, 0x64
1645 .byte 0
1646 .ascii "Genoa"
1647 .byte 0
1648
1649# OAK
1650oak_test:
1651 leaw idoakvga, %si
1652 movw $0x08, %di
1653 movw $0x08, %cx
1654 repe
1655 cmpsb
1656 je isoak
1657
1658 xorw %bp, %bp
1659isoak: ret
1660
1661idoakvga: .ascii "OAK VGA "
1662
1663oak_md: .byte 0x4e, 0x3c, 0x50
1664 .byte 0x4f, 0x3c, 0x84
1665 .byte 0x50, 0x19, 0x84
1666 .byte 0x51, 0x2b, 0x84
1667 .byte 0
1668 .ascii "OAK"
1669 .byte 0
1670
1671# WD Paradise.
1672paradise_test:
1673 leaw idparadise, %si
1674 movw $0x7d, %di
1675 movw $0x04, %cx
1676 repe
1677 cmpsb
1678 je ispara
1679
1680 xorw %bp, %bp
1681ispara: ret
1682
1683idparadise: .ascii "VGA="
1684
1685paradise_md:
1686 .byte 0x41, 0x22, 0x50
1687 .byte 0x47, 0x1c, 0x84
1688 .byte 0x55, 0x19, 0x84
1689 .byte 0x54, 0x2c, 0x84
1690 .byte 0
1691 .ascii "Paradise"
1692 .byte 0
1693
1694# Trident.
1695trident_test:
1696 movw $0x3c4, %dx
1697 movb $0x0e, %al
1698 outb %al, %dx
1699 incw %dx
1700 inb %dx, %al
1701 xchgb %al, %ah
1702 xorb %al, %al
1703 outb %al, %dx
1704 inb %dx, %al
1705 xchgb %ah, %al
1706 movb %al, %bl # Strange thing ... in the book this wasn't
1707 andb $0x02, %bl # necessary but it worked on my card which
1708 jz setb2 # is a trident. Without it the screen goes
1709 # blurred ...
1710 andb $0xfd, %al
1711 jmp clrb2
1712
1713setb2: orb $0x02, %al
1714clrb2: outb %al, %dx
1715 andb $0x0f, %ah
1716 cmpb $0x02, %ah
1717 je istrid
1718
1719 xorw %bp, %bp
1720istrid: ret
1721
1722trident_md:
1723 .byte 0x50, 0x1e, 0x50
1724 .byte 0x51, 0x2b, 0x50
1725 .byte 0x52, 0x3c, 0x50
1726 .byte 0x57, 0x19, 0x84
1727 .byte 0x58, 0x1e, 0x84
1728 .byte 0x59, 0x2b, 0x84
1729 .byte 0x5a, 0x3c, 0x84
1730 .byte 0
1731 .ascii "Trident"
1732 .byte 0
1733
1734# Tseng.
1735tseng_test:
1736 movw $0x3cd, %dx
1737 inb %dx, %al # Could things be this simple ! :-)
1738 movb %al, %bl
1739 movb $0x55, %al
1740 outb %al, %dx
1741 inb %dx, %al
1742 movb %al, %ah
1743 movb %bl, %al
1744 outb %al, %dx
1745 cmpb $0x55, %ah
1746 je istsen
1747
1748isnot: xorw %bp, %bp
1749istsen: ret
1750
1751tseng_md:
1752 .byte 0x26, 0x3c, 0x50
1753 .byte 0x2a, 0x28, 0x64
1754 .byte 0x23, 0x19, 0x84
1755 .byte 0x24, 0x1c, 0x84
1756 .byte 0x22, 0x2c, 0x84
1757 .byte 0x21, 0x3c, 0x84
1758 .byte 0
1759 .ascii "Tseng"
1760 .byte 0
1761
1762# Video7.
1763video7_test:
1764 movw $0x3cc, %dx
1765 inb %dx, %al
1766 movw $0x3b4, %dx
1767 andb $0x01, %al
1768 jz even7
1769
1770 movw $0x3d4, %dx
1771even7: movb $0x0c, %al
1772 outb %al, %dx
1773 incw %dx
1774 inb %dx, %al
1775 movb %al, %bl
1776 movb $0x55, %al
1777 outb %al, %dx
1778 inb %dx, %al
1779 decw %dx
1780 movb $0x1f, %al
1781 outb %al, %dx
1782 incw %dx
1783 inb %dx, %al
1784 movb %al, %bh
1785 decw %dx
1786 movb $0x0c, %al
1787 outb %al, %dx
1788 incw %dx
1789 movb %bl, %al
1790 outb %al, %dx
1791 movb $0x55, %al
1792 xorb $0xea, %al
1793 cmpb %bh, %al
1794 jne isnot
1795
1796 movb $VIDEO_FIRST_V7>>8, svga_prefix # Use special mode switching
1797 ret
1798
1799video7_md:
1800 .byte 0x40, 0x2b, 0x50
1801 .byte 0x43, 0x3c, 0x50
1802 .byte 0x44, 0x3c, 0x64
1803 .byte 0x41, 0x19, 0x84
1804 .byte 0x42, 0x2c, 0x84
1805 .byte 0x45, 0x1c, 0x84
1806 .byte 0
1807 .ascii "Video 7"
1808 .byte 0
1809
1810# Realtek VGA
1811realtek_test:
1812 leaw idrtvga, %si
1813 movw $0x45, %di
1814 movw $0x0b, %cx
1815 repe
1816 cmpsb
1817 je isrt
1818
1819 xorw %bp, %bp
1820isrt: ret
1821
1822idrtvga: .ascii "REALTEK VGA"
1823
1824realtek_md:
1825 .byte 0x1a, 0x3c, 0x50
1826 .byte 0x1b, 0x19, 0x84
1827 .byte 0x1c, 0x1e, 0x84
1828 .byte 0x1d, 0x2b, 0x84
1829 .byte 0x1e, 0x3c, 0x84
1830 .byte 0
1831 .ascii "REALTEK"
1832 .byte 0
1833
1834#endif /* CONFIG_VIDEO_SVGA */
1835
1836# User-defined local mode table (VGA only)
1837#ifdef CONFIG_VIDEO_LOCAL
1838local_modes:
1839 leaw local_mode_table, %si
1840locm1: lodsw
1841 orw %ax, %ax
1842 jz locm2
1843
1844 stosw
1845 movsw
1846 jmp locm1
1847
1848locm2: ret
1849
1850# This is the table of local video modes which can be supplied manually
1851# by the user. Each entry consists of mode ID (word) and dimensions
1852# (byte for column count and another byte for row count). These modes
1853# are placed before all SVGA and VESA modes and override them if table
1854# compacting is enabled. The table must end with a zero word followed
1855# by NUL-terminated video adapter name.
1856local_mode_table:
1857 .word 0x0100 # Example: 40x25
1858 .byte 25,40
1859 .word 0
1860 .ascii "Local"
1861 .byte 0
1862#endif /* CONFIG_VIDEO_LOCAL */
1863
1864# Read a key and return the ASCII code in al, scan code in ah
1865getkey: xorb %ah, %ah
1866 int $0x16
1867 ret
1868
1869# Read a key with a timeout of 30 seconds.
1870# The hardware clock is used to get the time.
1871getkt: call gettime
1872 addb $30, %al # Wait 30 seconds
1873 cmpb $60, %al
1874 jl lminute
1875
1876 subb $60, %al
1877lminute:
1878 movb %al, %cl
1879again: movb $0x01, %ah
1880 int $0x16
1881 jnz getkey # key pressed, so get it
1882
1883 call gettime
1884 cmpb %cl, %al
1885 jne again
1886
1887 movb $0x20, %al # timeout, return `space'
1888 ret
1889
1890# Flush the keyboard buffer
1891flush: movb $0x01, %ah
1892 int $0x16
1893 jz empty
1894
1895 xorb %ah, %ah
1896 int $0x16
1897 jmp flush
1898
1899empty: ret
1900
1901# Print hexadecimal number.
1902prthw: pushw %ax
1903 movb %ah, %al
1904 call prthb
1905 popw %ax
1906prthb: pushw %ax
1907 shrb $4, %al
1908 call prthn
1909 popw %ax
1910 andb $0x0f, %al
1911prthn: cmpb $0x0a, %al
1912 jc prth1
1913
1914 addb $0x07, %al
1915prth1: addb $0x30, %al
1916 jmp prtchr
1917
1918# Print decimal number in al
1919prtdec: pushw %ax
1920 pushw %cx
1921 xorb %ah, %ah
1922 movb $0x0a, %cl
1923 idivb %cl
1924 cmpb $0x09, %al
1925 jbe lt100
1926
1927 call prtdec
1928 jmp skip10
1929
1930lt100: addb $0x30, %al
1931 call prtchr
1932skip10: movb %ah, %al
1933 addb $0x30, %al
1934 call prtchr
1935 popw %cx
1936 popw %ax
1937 ret
1938
1939store_edid:
1940#ifdef CONFIG_FIRMWARE_EDID
1941 pushw %es # just save all registers
1942 pushw %ax
1943 pushw %bx
1944 pushw %cx
1945 pushw %dx
1946 pushw %di
1947
1948 pushw %fs
1949 popw %es
1950
1951 movl $0x13131313, %eax # memset block with 0x13
1952 movw $32, %cx
1953 movw $0x140, %di
1954 cld
1955 rep
1956 stosl
1957
1958 cmpw $0x0200, vbe_version # only do EDID on >= VBE2.0
1959 jl no_edid
1960
1961 pushw %es # save ES
1962 xorw %di, %di # Report Capability
1963 pushw %di
1964 popw %es # ES:DI must be 0:0
1965 movw $0x4f15, %ax
1966 xorw %bx, %bx
1967 xorw %cx, %cx
1968 int $0x10
1969 popw %es # restore ES
1970
1971 cmpb $0x00, %ah # call successful
1972 jne no_edid
1973
1974 cmpb $0x4f, %al # function supported
1975 jne no_edid
1976
1977 movw $0x4f15, %ax # do VBE/DDC
1978 movw $0x01, %bx
1979 movw $0x00, %cx
1980 movw $0x00, %dx
1981 movw $0x140, %di
1982 int $0x10
1983
1984no_edid:
1985 popw %di # restore all registers
1986 popw %dx
1987 popw %cx
1988 popw %bx
1989 popw %ax
1990 popw %es
1991#endif
1992 ret
1993
1994# VIDEO_SELECT-only variables
1995mt_end: .word 0 # End of video mode table if built
1996edit_buf: .space 6 # Line editor buffer
1997card_name: .word 0 # Pointer to adapter name
1998scanning: .byte 0 # Performing mode scan
1999do_restore: .byte 0 # Screen contents altered during mode change
2000svga_prefix: .byte VIDEO_FIRST_BIOS>>8 # Default prefix for BIOS modes
2001graphic_mode: .byte 0 # Graphic mode with a linear frame buffer
2002dac_size: .byte 6 # DAC bit depth
2003vbe_version: .word 0 # VBE bios version
2004
2005# Status messages
2006keymsg: .ascii "Press <RETURN> to see video modes available, "
2007 .ascii "<SPACE> to continue or wait 30 secs"
2008 .byte 0x0d, 0x0a, 0
2009
2010listhdr: .byte 0x0d, 0x0a
2011 .ascii "Mode: COLSxROWS:"
2012
2013crlft: .byte 0x0d, 0x0a, 0
2014
2015prompt: .byte 0x0d, 0x0a
2016 .asciz "Enter mode number or `scan': "
2017
2018unknt: .asciz "Unknown mode ID. Try again."
2019
2020badmdt: .ascii "You passed an undefined mode number."
2021 .byte 0x0d, 0x0a, 0
2022
2023vesaer: .ascii "Error: Scanning of VESA modes failed. Please "
2024 .ascii "report to <mj@ucw.cz>."
2025 .byte 0x0d, 0x0a, 0
2026
2027old_name: .asciz "CGA/MDA/HGA"
2028
2029ega_name: .asciz "EGA"
2030
2031svga_name: .ascii " "
2032
2033vga_name: .asciz "VGA"
2034
2035vesa_name: .asciz "VESA"
2036
2037name_bann: .asciz "Video adapter: "
2038#endif /* CONFIG_VIDEO_SELECT */
2039
2040# Other variables:
2041adapter: .byte 0 # Video adapter: 0=CGA/MDA/HGA,1=EGA,2=VGA
2042video_segment: .word 0xb800 # Video memory segment
2043force_size: .word 0 # Use this size instead of the one in BIOS vars
diff --git a/arch/i386/boot/video.c b/arch/i386/boot/video.c
new file mode 100644
index 000000000000..3bb3573cd6a1
--- /dev/null
+++ b/arch/i386/boot/video.c
@@ -0,0 +1,456 @@
1/* -*- linux-c -*- ------------------------------------------------------- *
2 *
3 * Copyright (C) 1991, 1992 Linus Torvalds
4 * Copyright 2007 rPath, Inc. - All Rights Reserved
5 *
6 * This file is part of the Linux kernel, and is made available under
7 * the terms of the GNU General Public License version 2.
8 *
9 * ----------------------------------------------------------------------- */
10
11/*
12 * arch/i386/boot/video.c
13 *
14 * Select video mode
15 */
16
17#include "boot.h"
18#include "video.h"
19#include "vesa.h"
20
21/*
22 * Mode list variables
23 */
24static struct card_info cards[]; /* List of cards to probe for */
25
26/*
27 * Common variables
28 */
29int adapter; /* 0=CGA/MDA/HGC, 1=EGA, 2=VGA+ */
30u16 video_segment;
31int force_x, force_y; /* Don't query the BIOS for cols/rows */
32
33int do_restore = 0; /* Screen contents changed during mode flip */
34int graphic_mode; /* Graphic mode with linear frame buffer */
35
36static void store_cursor_position(void)
37{
38 u16 curpos;
39 u16 ax, bx;
40
41 ax = 0x0300;
42 bx = 0;
43 asm(INT10
44 : "=d" (curpos), "+a" (ax), "+b" (bx)
45 : : "ecx", "esi", "edi");
46
47 boot_params.screen_info.orig_x = curpos;
48 boot_params.screen_info.orig_y = curpos >> 8;
49}
50
51static void store_video_mode(void)
52{
53 u16 ax, page;
54
55 /* N.B.: the saving of the video page here is a bit silly,
56 since we pretty much assume page 0 everywhere. */
57 ax = 0x0f00;
58 asm(INT10
59 : "+a" (ax), "=b" (page)
60 : : "ecx", "edx", "esi", "edi");
61
62 /* Not all BIOSes are clean with respect to the top bit */
63 boot_params.screen_info.orig_video_mode = ax & 0x7f;
64 boot_params.screen_info.orig_video_page = page;
65}
66
67/*
68 * Store the video mode parameters for later usage by the kernel.
69 * This is done by asking the BIOS except for the rows/columns
70 * parameters in the default 80x25 mode -- these are set directly,
71 * because some very obscure BIOSes supply insane values.
72 */
73static void store_mode_params(void)
74{
75 u16 font_size;
76 int x, y;
77
78 /* For graphics mode, it is up to the mode-setting driver
79 (currently only video-vesa.c) to store the parameters */
80 if (graphic_mode)
81 return;
82
83 store_cursor_position();
84 store_video_mode();
85
86 if (boot_params.screen_info.orig_video_mode == 0x07) {
87 /* MDA, HGC, or VGA in monochrome mode */
88 video_segment = 0xb000;
89 } else {
90 /* CGA, EGA, VGA and so forth */
91 video_segment = 0xb800;
92 }
93
94 set_fs(0);
95 font_size = rdfs16(0x485); /* Font size, BIOS area */
96 boot_params.screen_info.orig_video_points = font_size;
97
98 x = rdfs16(0x44a);
99 y = (adapter == ADAPTER_CGA) ? 25 : rdfs8(0x484)+1;
100
101 if (force_x)
102 x = force_x;
103 if (force_y)
104 y = force_y;
105
106 boot_params.screen_info.orig_video_cols = x;
107 boot_params.screen_info.orig_video_lines = y;
108}
109
110/* Probe the video drivers and have them generate their mode lists. */
111static void probe_cards(int unsafe)
112{
113 struct card_info *card;
114 static u8 probed[2];
115
116 if (probed[unsafe])
117 return;
118
119 probed[unsafe] = 1;
120
121 for (card = video_cards; card < video_cards_end; card++) {
122 if (card->unsafe == unsafe) {
123 if (card->probe)
124 card->nmodes = card->probe();
125 else
126 card->nmodes = 0;
127 }
128 }
129}
130
131/* Test if a mode is defined */
132int mode_defined(u16 mode)
133{
134 struct card_info *card;
135 struct mode_info *mi;
136 int i;
137
138 for (card = video_cards; card < video_cards_end; card++) {
139 mi = card->modes;
140 for (i = 0; i < card->nmodes; i++, mi++) {
141 if (mi->mode == mode)
142 return 1;
143 }
144 }
145
146 return 0;
147}
148
149/* Set mode (without recalc) */
150static int raw_set_mode(u16 mode)
151{
152 int nmode, i;
153 struct card_info *card;
154 struct mode_info *mi;
155
156 /* Drop the recalc bit if set */
157 mode &= ~VIDEO_RECALC;
158
159 /* Scan for mode based on fixed ID, position, or resolution */
160 nmode = 0;
161 for (card = video_cards; card < video_cards_end; card++) {
162 mi = card->modes;
163 for (i = 0; i < card->nmodes; i++, mi++) {
164 int visible = mi->x || mi->y;
165
166 if ((mode == nmode && visible) ||
167 mode == mi->mode ||
168 mode == (mi->y << 8)+mi->x)
169 return card->set_mode(mi);
170
171 if (visible)
172 nmode++;
173 }
174 }
175
176 /* Nothing found? Is it an "exceptional" (unprobed) mode? */
177 for (card = video_cards; card < video_cards_end; card++) {
178 if (mode >= card->xmode_first &&
179 mode < card->xmode_first+card->xmode_n) {
180 struct mode_info mix;
181 mix.mode = mode;
182 mix.x = mix.y = 0;
183 return card->set_mode(&mix);
184 }
185 }
186
187 /* Otherwise, failure... */
188 return -1;
189}
190
191/*
192 * Recalculate the vertical video cutoff (hack!)
193 */
194static void vga_recalc_vertical(void)
195{
196 unsigned int font_size, rows;
197 u16 crtc;
198 u8 ov;
199
200 set_fs(0);
201 font_size = rdfs8(0x485); /* BIOS: font size (pixels) */
202 rows = force_y ? force_y : rdfs8(0x484)+1; /* Text rows */
203
204 rows *= font_size; /* Visible scan lines */
205 rows--; /* ... minus one */
206
207 crtc = vga_crtc();
208
209 out_idx((u8)rows, crtc, 0x12); /* Lower height register */
210 ov = in_idx(crtc, 0x07); /* Overflow register */
211 ov &= 0xbd;
212 ov |= (rows >> (8-1)) & 0x02;
213 ov |= (rows >> (9-6)) & 0x40;
214 out_idx(ov, crtc, 0x07);
215}
216
217/* Set mode (with recalc if specified) */
218static int set_mode(u16 mode)
219{
220 int rv;
221
222 /* Very special mode numbers... */
223 if (mode == VIDEO_CURRENT_MODE)
224 return 0; /* Nothing to do... */
225 else if (mode == NORMAL_VGA)
226 mode = VIDEO_80x25;
227 else if (mode == EXTENDED_VGA)
228 mode = VIDEO_8POINT;
229
230 rv = raw_set_mode(mode);
231 if (rv)
232 return rv;
233
234 if (mode & VIDEO_RECALC)
235 vga_recalc_vertical();
236
237 return 0;
238}
239
240static unsigned int get_entry(void)
241{
242 char entry_buf[4];
243 int i, len = 0;
244 int key;
245 unsigned int v;
246
247 do {
248 key = getchar();
249
250 if (key == '\b') {
251 if (len > 0) {
252 puts("\b \b");
253 len--;
254 }
255 } else if ((key >= '0' && key <= '9') ||
256 (key >= 'A' && key <= 'Z') ||
257 (key >= 'a' && key <= 'z')) {
258 if (len < sizeof entry_buf) {
259 entry_buf[len++] = key;
260 putchar(key);
261 }
262 }
263 } while (key != '\r');
264 putchar('\n');
265
266 if (len == 0)
267 return VIDEO_CURRENT_MODE; /* Default */
268
269 v = 0;
270 for (i = 0; i < len; i++) {
271 v <<= 4;
272 key = entry_buf[i] | 0x20;
273 v += (key > '9') ? key-'a'+10 : key-'0';
274 }
275
276 return v;
277}
278
279static void display_menu(void)
280{
281 struct card_info *card;
282 struct mode_info *mi;
283 char ch;
284 int i;
285
286 puts("Mode: COLSxROWS:\n");
287
288 ch = '0';
289 for (card = video_cards; card < video_cards_end; card++) {
290 mi = card->modes;
291 for (i = 0; i < card->nmodes; i++, mi++) {
292 int visible = mi->x && mi->y;
293 u16 mode_id = mi->mode ? mi->mode :
294 (mi->y << 8)+mi->x;
295
296 if (!visible)
297 continue; /* Hidden mode */
298
299 printf("%c %04X %3dx%-3d %s\n",
300 ch, mode_id, mi->x, mi->y, card->card_name);
301
302 if (ch == '9')
303 ch = 'a';
304 else if (ch == 'z' || ch == ' ')
305 ch = ' '; /* Out of keys... */
306 else
307 ch++;
308 }
309 }
310}
311
312#define H(x) ((x)-'a'+10)
313#define SCAN ((H('s')<<12)+(H('c')<<8)+(H('a')<<4)+H('n'))
314
315static unsigned int mode_menu(void)
316{
317 int key;
318 unsigned int sel;
319
320 puts("Press <ENTER> to see video modes available, "
321 "<SPACE> to continue, or wait 30 sec\n");
322
323 kbd_flush();
324 while (1) {
325 key = getchar_timeout();
326 if (key == ' ' || key == 0)
327 return VIDEO_CURRENT_MODE; /* Default */
328 if (key == '\r')
329 break;
330 putchar('\a'); /* Beep! */
331 }
332
333
334 for (;;) {
335 display_menu();
336
337 puts("Enter a video mode or \"scan\" to scan for "
338 "additional modes: ");
339 sel = get_entry();
340 if (sel != SCAN)
341 return sel;
342
343 probe_cards(1);
344 }
345}
346
347#ifdef CONFIG_VIDEO_RETAIN
348/* Save screen content to the heap */
349struct saved_screen {
350 int x, y;
351 int curx, cury;
352 u16 *data;
353} saved;
354
355static void save_screen(void)
356{
357 /* Should be called after store_mode_params() */
358 saved.x = boot_params.screen_info.orig_video_cols;
359 saved.y = boot_params.screen_info.orig_video_lines;
360 saved.curx = boot_params.screen_info.orig_x;
361 saved.cury = boot_params.screen_info.orig_y;
362
363 if (heap_free() < saved.x*saved.y*sizeof(u16)+512)
364 return; /* Not enough heap to save the screen */
365
366 saved.data = GET_HEAP(u16, saved.x*saved.y);
367
368 set_fs(video_segment);
369 copy_from_fs(saved.data, 0, saved.x*saved.y*sizeof(u16));
370}
371
372static void restore_screen(void)
373{
374 /* Should be called after store_mode_params() */
375 int xs = boot_params.screen_info.orig_video_cols;
376 int ys = boot_params.screen_info.orig_video_lines;
377 int y;
378 addr_t dst = 0;
379 u16 *src = saved.data;
380 u16 ax, bx, dx;
381
382 if (graphic_mode)
383 return; /* Can't restore onto a graphic mode */
384
385 if (!src)
386 return; /* No saved screen contents */
387
388 /* Restore screen contents */
389
390 set_fs(video_segment);
391 for (y = 0; y < ys; y++) {
392 int npad;
393
394 if (y < saved.y) {
395 int copy = (xs < saved.x) ? xs : saved.x;
396 copy_to_fs(dst, src, copy*sizeof(u16));
397 dst += copy*sizeof(u16);
398 src += saved.x;
399 npad = (xs < saved.x) ? 0 : xs-saved.x;
400 } else {
401 npad = xs;
402 }
403
404 /* Writes "npad" blank characters to
405 video_segment:dst and advances dst */
406 asm volatile("pushw %%es ; "
407 "movw %2,%%es ; "
408 "shrw %%cx ; "
409 "jnc 1f ; "
410 "stosw \n\t"
411 "1: rep;stosl ; "
412 "popw %%es"
413 : "+D" (dst), "+c" (npad)
414 : "bdSm" (video_segment),
415 "a" (0x07200720));
416 }
417
418 /* Restore cursor position */
419 ax = 0x0200; /* Set cursor position */
420 bx = 0; /* Page number (<< 8) */
421 dx = (saved.cury << 8)+saved.curx;
422 asm volatile(INT10
423 : "+a" (ax), "+b" (bx), "+d" (dx)
424 : : "ecx", "esi", "edi");
425}
426#else
427#define save_screen() ((void)0)
428#define restore_screen() ((void)0)
429#endif
430
431void set_video(void)
432{
433 u16 mode = boot_params.hdr.vid_mode;
434
435 RESET_HEAP();
436
437 store_mode_params();
438 save_screen();
439 probe_cards(0);
440
441 for (;;) {
442 if (mode == ASK_VGA)
443 mode = mode_menu();
444
445 if (!set_mode(mode))
446 break;
447
448 printf("Undefined video mode number: %x\n", mode);
449 mode = ASK_VGA;
450 }
451 vesa_store_edid();
452 store_mode_params();
453
454 if (do_restore)
455 restore_screen();
456}
diff --git a/arch/i386/boot/video.h b/arch/i386/boot/video.h
new file mode 100644
index 000000000000..29eca1710b2c
--- /dev/null
+++ b/arch/i386/boot/video.h
@@ -0,0 +1,145 @@
1/* -*- linux-c -*- ------------------------------------------------------- *
2 *
3 * Copyright (C) 1991, 1992 Linus Torvalds
4 * Copyright 2007 rPath, Inc. - All Rights Reserved
5 *
6 * This file is part of the Linux kernel, and is made available under
7 * the terms of the GNU General Public License version 2.
8 *
9 * ----------------------------------------------------------------------- */
10
11/*
12 * arch/i386/boot/video.h
13 *
14 * Header file for the real-mode video probing code
15 */
16
17#ifndef BOOT_VIDEO_H
18#define BOOT_VIDEO_H
19
20#include <linux/types.h>
21
22/* Enable autodetection of SVGA adapters and modes. */
23#undef CONFIG_VIDEO_SVGA
24
25/* Enable autodetection of VESA modes */
26#define CONFIG_VIDEO_VESA
27
28/* Retain screen contents when switching modes */
29#define CONFIG_VIDEO_RETAIN
30
31/* Force 400 scan lines for standard modes (hack to fix bad BIOS behaviour */
32#undef CONFIG_VIDEO_400_HACK
33
34/* This code uses an extended set of video mode numbers. These include:
35 * Aliases for standard modes
36 * NORMAL_VGA (-1)
37 * EXTENDED_VGA (-2)
38 * ASK_VGA (-3)
39 * Video modes numbered by menu position -- NOT RECOMMENDED because of lack
40 * of compatibility when extending the table. These are between 0x00 and 0xff.
41 */
42#define VIDEO_FIRST_MENU 0x0000
43
44/* Standard BIOS video modes (BIOS number + 0x0100) */
45#define VIDEO_FIRST_BIOS 0x0100
46
47/* VESA BIOS video modes (VESA number + 0x0200) */
48#define VIDEO_FIRST_VESA 0x0200
49
50/* Video7 special modes (BIOS number + 0x0900) */
51#define VIDEO_FIRST_V7 0x0900
52
53/* Special video modes */
54#define VIDEO_FIRST_SPECIAL 0x0f00
55#define VIDEO_80x25 0x0f00
56#define VIDEO_8POINT 0x0f01
57#define VIDEO_80x43 0x0f02
58#define VIDEO_80x28 0x0f03
59#define VIDEO_CURRENT_MODE 0x0f04
60#define VIDEO_80x30 0x0f05
61#define VIDEO_80x34 0x0f06
62#define VIDEO_80x60 0x0f07
63#define VIDEO_GFX_HACK 0x0f08
64#define VIDEO_LAST_SPECIAL 0x0f09
65
66/* Video modes given by resolution */
67#define VIDEO_FIRST_RESOLUTION 0x1000
68
69/* The "recalculate timings" flag */
70#define VIDEO_RECALC 0x8000
71
72/* Define DO_STORE according to CONFIG_VIDEO_RETAIN */
73#ifdef CONFIG_VIDEO_RETAIN
74void store_screen(void);
75#define DO_STORE() store_screen()
76#else
77#define DO_STORE() ((void)0)
78#endif /* CONFIG_VIDEO_RETAIN */
79
80/*
81 * Mode table structures
82 */
83
84struct mode_info {
85 u16 mode; /* Mode number (vga= style) */
86 u8 x, y; /* Width, height */
87};
88
89struct card_info {
90 const char *card_name;
91 int (*set_mode)(struct mode_info *mode);
92 int (*probe)(void);
93 struct mode_info *modes;
94 int nmodes; /* Number of probed modes so far */
95 int unsafe; /* Probing is unsafe, only do after "scan" */
96 u16 xmode_first; /* Unprobed modes to try to call anyway */
97 u16 xmode_n; /* Size of unprobed mode range */
98};
99
100#define __videocard struct card_info __attribute__((section(".videocards")))
101extern struct card_info video_cards[], video_cards_end[];
102
103int mode_defined(u16 mode); /* video.c */
104
105/* Basic video information */
106#define ADAPTER_CGA 0 /* CGA/MDA/HGC */
107#define ADAPTER_EGA 1
108#define ADAPTER_VGA 2
109
110extern int adapter;
111extern u16 video_segment;
112extern int force_x, force_y; /* Don't query the BIOS for cols/rows */
113extern int do_restore; /* Restore screen contents */
114extern int graphic_mode; /* Graphics mode with linear frame buffer */
115
116/*
117 * int $0x10 is notorious for touching registers it shouldn't.
118 * gcc doesn't like %ebp being clobbered, so define it as a push/pop
119 * sequence here.
120 */
121#define INT10 "pushl %%ebp; int $0x10; popl %%ebp"
122
123/* Accessing VGA indexed registers */
124static inline u8 in_idx(u16 port, u8 index)
125{
126 outb(index, port);
127 return inb(port+1);
128}
129
130static inline void out_idx(u8 v, u16 port, u8 index)
131{
132 outw(index+(v << 8), port);
133}
134
135/* Writes a value to an indexed port and then reads the port again */
136static inline u8 tst_idx(u8 v, u16 port, u8 index)
137{
138 out_idx(port, index, v);
139 return in_idx(port, index);
140}
141
142/* Get the I/O port of the VGA CRTC */
143u16 vga_crtc(void); /* video-vga.c */
144
145#endif /* BOOT_VIDEO_H */
diff --git a/arch/i386/boot/voyager.c b/arch/i386/boot/voyager.c
new file mode 100644
index 000000000000..9221614d0db8
--- /dev/null
+++ b/arch/i386/boot/voyager.c
@@ -0,0 +1,46 @@
1/* -*- linux-c -*- ------------------------------------------------------- *
2 *
3 * Copyright (C) 1991, 1992 Linus Torvalds
4 * Copyright 2007 rPath, Inc. - All Rights Reserved
5 *
6 * This file is part of the Linux kernel, and is made available under
7 * the terms of the GNU General Public License version 2.
8 *
9 * ----------------------------------------------------------------------- */
10
11/*
12 * arch/i386/boot/voyager.c
13 *
14 * Get the Voyager config information
15 */
16
17#include "boot.h"
18
19#ifdef CONFIG_X86_VOYAGER
20
21int query_voyager(void)
22{
23 u8 err;
24 u16 es, di;
25 /* Abuse the apm_bios_info area for this */
26 u8 *data_ptr = (u8 *)&boot_params.apm_bios_info;
27
28 data_ptr[0] = 0xff; /* Flag on config not found(?) */
29
30 asm("pushw %%es ; "
31 "int $0x15 ; "
32 "setc %0 ; "
33 "movw %%es, %1 ; "
34 "popw %%es"
35 : "=qm" (err), "=rm" (es), "=D" (di)
36 : "a" (0xffc0));
37
38 if (err)
39 return -1; /* Not Voyager */
40
41 set_fs(es);
42 copy_from_fs(data_ptr, di, 7); /* Table is 7 bytes apparently */
43 return 0;
44}
45
46#endif /* CONFIG_X86_VOYAGER */
diff --git a/arch/i386/kernel/acpi/boot.c b/arch/i386/kernel/acpi/boot.c
index 280898b045b2..a574cd2c8b61 100644
--- a/arch/i386/kernel/acpi/boot.c
+++ b/arch/i386/kernel/acpi/boot.c
@@ -621,8 +621,6 @@ static int __init acpi_parse_sbf(struct acpi_table_header *table)
621static int __init acpi_parse_hpet(struct acpi_table_header *table) 621static int __init acpi_parse_hpet(struct acpi_table_header *table)
622{ 622{
623 struct acpi_table_hpet *hpet_tbl; 623 struct acpi_table_hpet *hpet_tbl;
624 struct resource *hpet_res;
625 resource_size_t res_start;
626 624
627 hpet_tbl = (struct acpi_table_hpet *)table; 625 hpet_tbl = (struct acpi_table_hpet *)table;
628 if (!hpet_tbl) { 626 if (!hpet_tbl) {
@@ -636,29 +634,10 @@ static int __init acpi_parse_hpet(struct acpi_table_header *table)
636 return -1; 634 return -1;
637 } 635 }
638 636
639#define HPET_RESOURCE_NAME_SIZE 9
640 hpet_res = alloc_bootmem(sizeof(*hpet_res) + HPET_RESOURCE_NAME_SIZE);
641 if (hpet_res) {
642 memset(hpet_res, 0, sizeof(*hpet_res));
643 hpet_res->name = (void *)&hpet_res[1];
644 hpet_res->flags = IORESOURCE_MEM | IORESOURCE_BUSY;
645 snprintf((char *)hpet_res->name, HPET_RESOURCE_NAME_SIZE,
646 "HPET %u", hpet_tbl->sequence);
647 hpet_res->end = (1 * 1024) - 1;
648 }
649
650 hpet_address = hpet_tbl->address.address; 637 hpet_address = hpet_tbl->address.address;
651 printk(KERN_INFO PREFIX "HPET id: %#x base: %#lx\n", 638 printk(KERN_INFO PREFIX "HPET id: %#x base: %#lx\n",
652 hpet_tbl->id, hpet_address); 639 hpet_tbl->id, hpet_address);
653 640
654 res_start = hpet_address;
655
656 if (hpet_res) {
657 hpet_res->start = res_start;
658 hpet_res->end += res_start;
659 insert_resource(&iomem_resource, hpet_res);
660 }
661
662 return 0; 641 return 0;
663} 642}
664#else 643#else
diff --git a/arch/i386/kernel/acpi/wakeup.S b/arch/i386/kernel/acpi/wakeup.S
index b781b38131c0..a2295a34b2c7 100644
--- a/arch/i386/kernel/acpi/wakeup.S
+++ b/arch/i386/kernel/acpi/wakeup.S
@@ -230,6 +230,7 @@ bogus_magic:
230# 230#
231ENTRY(acpi_copy_wakeup_routine) 231ENTRY(acpi_copy_wakeup_routine)
232 232
233 pushl %ebx
233 sgdt saved_gdt 234 sgdt saved_gdt
234 sidt saved_idt 235 sidt saved_idt
235 sldt saved_ldt 236 sldt saved_ldt
@@ -263,6 +264,7 @@ ENTRY(acpi_copy_wakeup_routine)
263 movl %edx, video_flags - wakeup_start (%eax) 264 movl %edx, video_flags - wakeup_start (%eax)
264 movl $0x12345678, real_magic - wakeup_start (%eax) 265 movl $0x12345678, real_magic - wakeup_start (%eax)
265 movl $0x12345678, saved_magic 266 movl $0x12345678, saved_magic
267 popl %ebx
266 ret 268 ret
267 269
268save_registers: 270save_registers:
diff --git a/arch/i386/kernel/cpu/Makefile b/arch/i386/kernel/cpu/Makefile
index 74f27a463db0..0b6a8551e9e2 100644
--- a/arch/i386/kernel/cpu/Makefile
+++ b/arch/i386/kernel/cpu/Makefile
@@ -8,7 +8,7 @@ obj-y += amd.o
8obj-y += cyrix.o 8obj-y += cyrix.o
9obj-y += centaur.o 9obj-y += centaur.o
10obj-y += transmeta.o 10obj-y += transmeta.o
11obj-y += intel.o intel_cacheinfo.o 11obj-y += intel.o intel_cacheinfo.o addon_cpuid_features.o
12obj-y += rise.o 12obj-y += rise.o
13obj-y += nexgen.o 13obj-y += nexgen.o
14obj-y += umc.o 14obj-y += umc.o
diff --git a/arch/i386/kernel/cpu/addon_cpuid_features.c b/arch/i386/kernel/cpu/addon_cpuid_features.c
new file mode 100644
index 000000000000..3e91d3ee26ec
--- /dev/null
+++ b/arch/i386/kernel/cpu/addon_cpuid_features.c
@@ -0,0 +1,50 @@
1
2/*
3 * Routines to indentify additional cpu features that are scattered in
4 * cpuid space.
5 */
6
7#include <linux/cpu.h>
8
9#include <asm/processor.h>
10
11struct cpuid_bit {
12 u16 feature;
13 u8 reg;
14 u8 bit;
15 u32 level;
16};
17
18enum cpuid_regs {
19 CR_EAX = 0,
20 CR_ECX,
21 CR_EDX,
22 CR_EBX
23};
24
25void __cpuinit init_scattered_cpuid_features(struct cpuinfo_x86 *c)
26{
27 u32 max_level;
28 u32 regs[4];
29 const struct cpuid_bit *cb;
30
31 static const struct cpuid_bit cpuid_bits[] = {
32 { X86_FEATURE_IDA, CR_EAX, 1, 0x00000006 },
33 { 0, 0, 0, 0 }
34 };
35
36 for (cb = cpuid_bits; cb->feature; cb++) {
37
38 /* Verify that the level is valid */
39 max_level = cpuid_eax(cb->level & 0xffff0000);
40 if (max_level < cb->level ||
41 max_level > (cb->level | 0xffff))
42 continue;
43
44 cpuid(cb->level, &regs[CR_EAX], &regs[CR_EBX],
45 &regs[CR_ECX], &regs[CR_EDX]);
46
47 if (regs[cb->reg] & (1 << cb->bit))
48 set_bit(cb->feature, c->x86_capability);
49 }
50}
diff --git a/arch/i386/kernel/cpu/common.c b/arch/i386/kernel/cpu/common.c
index 794d593c47eb..e5419a9dec88 100644
--- a/arch/i386/kernel/cpu/common.c
+++ b/arch/i386/kernel/cpu/common.c
@@ -353,6 +353,8 @@ static void __cpuinit generic_identify(struct cpuinfo_x86 * c)
353 if ( xlvl >= 0x80000004 ) 353 if ( xlvl >= 0x80000004 )
354 get_model_name(c); /* Default name */ 354 get_model_name(c); /* Default name */
355 } 355 }
356
357 init_scattered_cpuid_features(c);
356 } 358 }
357 359
358 early_intel_workaround(c); 360 early_intel_workaround(c);
diff --git a/arch/i386/kernel/cpu/cpufreq/cpufreq-nforce2.c b/arch/i386/kernel/cpu/cpufreq/cpufreq-nforce2.c
index 0d49d73d1b71..66acd5039918 100644
--- a/arch/i386/kernel/cpu/cpufreq/cpufreq-nforce2.c
+++ b/arch/i386/kernel/cpu/cpufreq/cpufreq-nforce2.c
@@ -391,8 +391,6 @@ static struct cpufreq_driver nforce2_driver = {
391 */ 391 */
392static unsigned int nforce2_detect_chipset(void) 392static unsigned int nforce2_detect_chipset(void)
393{ 393{
394 u8 revision;
395
396 nforce2_chipset_dev = pci_get_subsys(PCI_VENDOR_ID_NVIDIA, 394 nforce2_chipset_dev = pci_get_subsys(PCI_VENDOR_ID_NVIDIA,
397 PCI_DEVICE_ID_NVIDIA_NFORCE2, 395 PCI_DEVICE_ID_NVIDIA_NFORCE2,
398 PCI_ANY_ID, PCI_ANY_ID, NULL); 396 PCI_ANY_ID, PCI_ANY_ID, NULL);
@@ -400,10 +398,8 @@ static unsigned int nforce2_detect_chipset(void)
400 if (nforce2_chipset_dev == NULL) 398 if (nforce2_chipset_dev == NULL)
401 return -ENODEV; 399 return -ENODEV;
402 400
403 pci_read_config_byte(nforce2_chipset_dev, PCI_REVISION_ID, &revision);
404
405 printk(KERN_INFO "cpufreq: Detected nForce2 chipset revision %X\n", 401 printk(KERN_INFO "cpufreq: Detected nForce2 chipset revision %X\n",
406 revision); 402 nforce2_chipset_dev->revision);
407 printk(KERN_INFO 403 printk(KERN_INFO
408 "cpufreq: FSB changing is maybe unstable and can lead to crashes and data loss.\n"); 404 "cpufreq: FSB changing is maybe unstable and can lead to crashes and data loss.\n");
409 405
diff --git a/arch/i386/kernel/cpu/cpufreq/gx-suspmod.c b/arch/i386/kernel/cpu/cpufreq/gx-suspmod.c
index 6667e9cceb9f..194144539a6f 100644
--- a/arch/i386/kernel/cpu/cpufreq/gx-suspmod.c
+++ b/arch/i386/kernel/cpu/cpufreq/gx-suspmod.c
@@ -115,7 +115,6 @@ struct gxfreq_params {
115 u8 pci_suscfg; 115 u8 pci_suscfg;
116 u8 pci_pmer1; 116 u8 pci_pmer1;
117 u8 pci_pmer2; 117 u8 pci_pmer2;
118 u8 pci_rev;
119 struct pci_dev *cs55x0; 118 struct pci_dev *cs55x0;
120}; 119};
121 120
@@ -276,7 +275,7 @@ static void gx_set_cpuspeed(unsigned int khz)
276 pci_write_config_byte(gx_params->cs55x0, PCI_VIDTC, 100);/* typical 50 to 100ms */ 275 pci_write_config_byte(gx_params->cs55x0, PCI_VIDTC, 100);/* typical 50 to 100ms */
277 pci_write_config_byte(gx_params->cs55x0, PCI_PMER1, pmer1); 276 pci_write_config_byte(gx_params->cs55x0, PCI_PMER1, pmer1);
278 277
279 if (gx_params->pci_rev < 0x10) { /* CS5530(rev 1.2, 1.3) */ 278 if (gx_params->cs55x0->revision < 0x10) { /* CS5530(rev 1.2, 1.3) */
280 suscfg = gx_params->pci_suscfg | SUSMOD; 279 suscfg = gx_params->pci_suscfg | SUSMOD;
281 } else { /* CS5530A,B.. */ 280 } else { /* CS5530A,B.. */
282 suscfg = gx_params->pci_suscfg | SUSMOD | PWRSVE; 281 suscfg = gx_params->pci_suscfg | SUSMOD | PWRSVE;
@@ -471,7 +470,6 @@ static int __init cpufreq_gx_init(void)
471 pci_read_config_byte(params->cs55x0, PCI_PMER2, &(params->pci_pmer2)); 470 pci_read_config_byte(params->cs55x0, PCI_PMER2, &(params->pci_pmer2));
472 pci_read_config_byte(params->cs55x0, PCI_MODON, &(params->on_duration)); 471 pci_read_config_byte(params->cs55x0, PCI_MODON, &(params->on_duration));
473 pci_read_config_byte(params->cs55x0, PCI_MODOFF, &(params->off_duration)); 472 pci_read_config_byte(params->cs55x0, PCI_MODOFF, &(params->off_duration));
474 pci_read_config_byte(params->cs55x0, PCI_REVISION_ID, &params->pci_rev);
475 473
476 if ((ret = cpufreq_register_driver(&gx_suspmod_driver))) { 474 if ((ret = cpufreq_register_driver(&gx_suspmod_driver))) {
477 kfree(params); 475 kfree(params);
diff --git a/arch/i386/kernel/cpu/cpufreq/speedstep-ich.c b/arch/i386/kernel/cpu/cpufreq/speedstep-ich.c
index 698f980eb443..a5b2346faf1f 100644
--- a/arch/i386/kernel/cpu/cpufreq/speedstep-ich.c
+++ b/arch/i386/kernel/cpu/cpufreq/speedstep-ich.c
@@ -205,7 +205,6 @@ static unsigned int speedstep_detect_chipset (void)
205 * host brige. Abort on these systems. 205 * host brige. Abort on these systems.
206 */ 206 */
207 static struct pci_dev *hostbridge; 207 static struct pci_dev *hostbridge;
208 u8 rev = 0;
209 208
210 hostbridge = pci_get_subsys(PCI_VENDOR_ID_INTEL, 209 hostbridge = pci_get_subsys(PCI_VENDOR_ID_INTEL,
211 PCI_DEVICE_ID_INTEL_82815_MC, 210 PCI_DEVICE_ID_INTEL_82815_MC,
@@ -216,8 +215,7 @@ static unsigned int speedstep_detect_chipset (void)
216 if (!hostbridge) 215 if (!hostbridge)
217 return 2; /* 2-M */ 216 return 2; /* 2-M */
218 217
219 pci_read_config_byte(hostbridge, PCI_REVISION_ID, &rev); 218 if (hostbridge->revision < 5) {
220 if (rev < 5) {
221 dprintk("hostbridge does not support speedstep\n"); 219 dprintk("hostbridge does not support speedstep\n");
222 speedstep_chipset_dev = NULL; 220 speedstep_chipset_dev = NULL;
223 pci_dev_put(hostbridge); 221 pci_dev_put(hostbridge);
diff --git a/arch/i386/kernel/cpu/mtrr/cyrix.c b/arch/i386/kernel/cpu/mtrr/cyrix.c
index 9edf5625584f..1001f1e0fe6d 100644
--- a/arch/i386/kernel/cpu/mtrr/cyrix.c
+++ b/arch/i386/kernel/cpu/mtrr/cyrix.c
@@ -233,12 +233,12 @@ typedef struct {
233 mtrr_type type; 233 mtrr_type type;
234} arr_state_t; 234} arr_state_t;
235 235
236static arr_state_t arr_state[8] __devinitdata = { 236static arr_state_t arr_state[8] = {
237 {0UL, 0UL, 0UL}, {0UL, 0UL, 0UL}, {0UL, 0UL, 0UL}, {0UL, 0UL, 0UL}, 237 {0UL, 0UL, 0UL}, {0UL, 0UL, 0UL}, {0UL, 0UL, 0UL}, {0UL, 0UL, 0UL},
238 {0UL, 0UL, 0UL}, {0UL, 0UL, 0UL}, {0UL, 0UL, 0UL}, {0UL, 0UL, 0UL} 238 {0UL, 0UL, 0UL}, {0UL, 0UL, 0UL}, {0UL, 0UL, 0UL}, {0UL, 0UL, 0UL}
239}; 239};
240 240
241static unsigned char ccr_state[7] __devinitdata = { 0, 0, 0, 0, 0, 0, 0 }; 241static unsigned char ccr_state[7] = { 0, 0, 0, 0, 0, 0, 0 };
242 242
243static void cyrix_set_all(void) 243static void cyrix_set_all(void)
244{ 244{
diff --git a/arch/i386/kernel/cpu/mtrr/generic.c b/arch/i386/kernel/cpu/mtrr/generic.c
index 6d5937891b46..f6e46943e6ef 100644
--- a/arch/i386/kernel/cpu/mtrr/generic.c
+++ b/arch/i386/kernel/cpu/mtrr/generic.c
@@ -65,7 +65,8 @@ get_fixed_ranges(mtrr_type * frs)
65 65
66void mtrr_save_fixed_ranges(void *info) 66void mtrr_save_fixed_ranges(void *info)
67{ 67{
68 get_fixed_ranges(mtrr_state.fixed_ranges); 68 if (cpu_has_mtrr)
69 get_fixed_ranges(mtrr_state.fixed_ranges);
69} 70}
70 71
71static void print_fixed(unsigned base, unsigned step, const mtrr_type*types) 72static void print_fixed(unsigned base, unsigned step, const mtrr_type*types)
@@ -469,11 +470,6 @@ int generic_validate_add_page(unsigned long base, unsigned long size, unsigned i
469 } 470 }
470 } 471 }
471 472
472 if (base < 0x100) {
473 printk(KERN_WARNING "mtrr: cannot set region below 1 MiB (0x%lx000,0x%lx000)\n",
474 base, size);
475 return -EINVAL;
476 }
477 /* Check upper bits of base and last are equal and lower bits are 0 473 /* Check upper bits of base and last are equal and lower bits are 0
478 for base and 1 for last */ 474 for base and 1 for last */
479 last = base + size - 1; 475 last = base + size - 1;
diff --git a/arch/i386/kernel/cpu/mtrr/main.c b/arch/i386/kernel/cpu/mtrr/main.c
index 55b005152a11..75dc6d5214bc 100644
--- a/arch/i386/kernel/cpu/mtrr/main.c
+++ b/arch/i386/kernel/cpu/mtrr/main.c
@@ -229,6 +229,8 @@ static void set_mtrr(unsigned int reg, unsigned long base,
229 data.smp_size = size; 229 data.smp_size = size;
230 data.smp_type = type; 230 data.smp_type = type;
231 atomic_set(&data.count, num_booting_cpus() - 1); 231 atomic_set(&data.count, num_booting_cpus() - 1);
232 /* make sure data.count is visible before unleashing other CPUs */
233 smp_wmb();
232 atomic_set(&data.gate,0); 234 atomic_set(&data.gate,0);
233 235
234 /* Start the ball rolling on other CPUs */ 236 /* Start the ball rolling on other CPUs */
@@ -242,6 +244,7 @@ static void set_mtrr(unsigned int reg, unsigned long base,
242 244
243 /* ok, reset count and toggle gate */ 245 /* ok, reset count and toggle gate */
244 atomic_set(&data.count, num_booting_cpus() - 1); 246 atomic_set(&data.count, num_booting_cpus() - 1);
247 smp_wmb();
245 atomic_set(&data.gate,1); 248 atomic_set(&data.gate,1);
246 249
247 /* do our MTRR business */ 250 /* do our MTRR business */
@@ -260,6 +263,7 @@ static void set_mtrr(unsigned int reg, unsigned long base,
260 cpu_relax(); 263 cpu_relax();
261 264
262 atomic_set(&data.count, num_booting_cpus() - 1); 265 atomic_set(&data.count, num_booting_cpus() - 1);
266 smp_wmb();
263 atomic_set(&data.gate,0); 267 atomic_set(&data.gate,0);
264 268
265 /* 269 /*
diff --git a/arch/i386/kernel/cpu/perfctr-watchdog.c b/arch/i386/kernel/cpu/perfctr-watchdog.c
index f0b67630b90d..4d26d514c56f 100644
--- a/arch/i386/kernel/cpu/perfctr-watchdog.c
+++ b/arch/i386/kernel/cpu/perfctr-watchdog.c
@@ -55,14 +55,45 @@ static DEFINE_PER_CPU(struct nmi_watchdog_ctlblk, nmi_watchdog_ctlblk);
55/* converts an msr to an appropriate reservation bit */ 55/* converts an msr to an appropriate reservation bit */
56static inline unsigned int nmi_perfctr_msr_to_bit(unsigned int msr) 56static inline unsigned int nmi_perfctr_msr_to_bit(unsigned int msr)
57{ 57{
58 return wd_ops ? msr - wd_ops->perfctr : 0; 58 /* returns the bit offset of the performance counter register */
59 switch (boot_cpu_data.x86_vendor) {
60 case X86_VENDOR_AMD:
61 return (msr - MSR_K7_PERFCTR0);
62 case X86_VENDOR_INTEL:
63 if (cpu_has(&boot_cpu_data, X86_FEATURE_ARCH_PERFMON))
64 return (msr - MSR_ARCH_PERFMON_PERFCTR0);
65
66 switch (boot_cpu_data.x86) {
67 case 6:
68 return (msr - MSR_P6_PERFCTR0);
69 case 15:
70 return (msr - MSR_P4_BPU_PERFCTR0);
71 }
72 }
73 return 0;
59} 74}
60 75
61/* converts an msr to an appropriate reservation bit */ 76/* converts an msr to an appropriate reservation bit */
62/* returns the bit offset of the event selection register */ 77/* returns the bit offset of the event selection register */
63static inline unsigned int nmi_evntsel_msr_to_bit(unsigned int msr) 78static inline unsigned int nmi_evntsel_msr_to_bit(unsigned int msr)
64{ 79{
65 return wd_ops ? msr - wd_ops->evntsel : 0; 80 /* returns the bit offset of the event selection register */
81 switch (boot_cpu_data.x86_vendor) {
82 case X86_VENDOR_AMD:
83 return (msr - MSR_K7_EVNTSEL0);
84 case X86_VENDOR_INTEL:
85 if (cpu_has(&boot_cpu_data, X86_FEATURE_ARCH_PERFMON))
86 return (msr - MSR_ARCH_PERFMON_EVENTSEL0);
87
88 switch (boot_cpu_data.x86) {
89 case 6:
90 return (msr - MSR_P6_EVNTSEL0);
91 case 15:
92 return (msr - MSR_P4_BSU_ESCR0);
93 }
94 }
95 return 0;
96
66} 97}
67 98
68/* checks for a bit availability (hack for oprofile) */ 99/* checks for a bit availability (hack for oprofile) */
diff --git a/arch/i386/kernel/cpu/proc.c b/arch/i386/kernel/cpu/proc.c
index 89d91e6cc972..1e31b6caffb1 100644
--- a/arch/i386/kernel/cpu/proc.c
+++ b/arch/i386/kernel/cpu/proc.c
@@ -29,7 +29,8 @@ static int show_cpuinfo(struct seq_file *m, void *v)
29 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 29 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
30 NULL, NULL, NULL, "syscall", NULL, NULL, NULL, NULL, 30 NULL, NULL, NULL, "syscall", NULL, NULL, NULL, NULL,
31 NULL, NULL, NULL, "mp", "nx", NULL, "mmxext", NULL, 31 NULL, NULL, NULL, "mp", "nx", NULL, "mmxext", NULL,
32 NULL, "fxsr_opt", "pdpe1gb", "rdtscp", NULL, "lm", "3dnowext", "3dnow", 32 NULL, "fxsr_opt", "pdpe1gb", "rdtscp", NULL, "lm",
33 "3dnowext", "3dnow",
33 34
34 /* Transmeta-defined */ 35 /* Transmeta-defined */
35 "recovery", "longrun", NULL, "lrti", NULL, NULL, NULL, NULL, 36 "recovery", "longrun", NULL, "lrti", NULL, NULL, NULL, NULL,
@@ -40,8 +41,9 @@ static int show_cpuinfo(struct seq_file *m, void *v)
40 /* Other (Linux-defined) */ 41 /* Other (Linux-defined) */
41 "cxmmx", "k6_mtrr", "cyrix_arr", "centaur_mcr", 42 "cxmmx", "k6_mtrr", "cyrix_arr", "centaur_mcr",
42 NULL, NULL, NULL, NULL, 43 NULL, NULL, NULL, NULL,
43 "constant_tsc", "up", NULL, NULL, NULL, NULL, NULL, NULL, 44 "constant_tsc", "up", NULL, "arch_perfmon",
44 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 45 "pebs", "bts", NULL, "sync_rdtsc",
46 "rep_good", NULL, NULL, NULL, NULL, NULL, NULL, NULL,
45 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 47 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
46 48
47 /* Intel-defined (#2) */ 49 /* Intel-defined (#2) */
@@ -57,9 +59,16 @@ static int show_cpuinfo(struct seq_file *m, void *v)
57 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 59 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
58 60
59 /* AMD-defined (#2) */ 61 /* AMD-defined (#2) */
60 "lahf_lm", "cmp_legacy", "svm", "extapic", "cr8legacy", "abm", 62 "lahf_lm", "cmp_legacy", "svm", "extapic", "cr8_legacy",
61 "sse4a", "misalignsse", 63 "altmovcr8", "abm", "sse4a",
62 "3dnowprefetch", "osvw", "ibs", NULL, NULL, NULL, NULL, NULL, 64 "misalignsse", "3dnowprefetch",
65 "osvw", "ibs", NULL, NULL, NULL, NULL,
66 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
67 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
68
69 /* Auxiliary (Linux-defined) */
70 "ida", NULL, NULL, NULL, NULL, NULL, NULL, NULL,
71 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
63 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 72 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
64 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 73 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
65 }; 74 };
diff --git a/arch/i386/kernel/e820.c b/arch/i386/kernel/e820.c
index 9645bb51f76a..fc822a46897a 100644
--- a/arch/i386/kernel/e820.c
+++ b/arch/i386/kernel/e820.c
@@ -734,7 +734,7 @@ void __init print_memory_map(char *who)
734 case E820_NVS: 734 case E820_NVS:
735 printk("(ACPI NVS)\n"); 735 printk("(ACPI NVS)\n");
736 break; 736 break;
737 default: printk("type %lu\n", e820.map[i].type); 737 default: printk("type %u\n", e820.map[i].type);
738 break; 738 break;
739 } 739 }
740 } 740 }
diff --git a/arch/i386/kernel/entry.S b/arch/i386/kernel/entry.S
index b1f16ee65e4d..3c3c220488c9 100644
--- a/arch/i386/kernel/entry.S
+++ b/arch/i386/kernel/entry.S
@@ -367,10 +367,6 @@ ENTRY(system_call)
367 CFI_ADJUST_CFA_OFFSET 4 367 CFI_ADJUST_CFA_OFFSET 4
368 SAVE_ALL 368 SAVE_ALL
369 GET_THREAD_INFO(%ebp) 369 GET_THREAD_INFO(%ebp)
370 testl $TF_MASK,PT_EFLAGS(%esp)
371 jz no_singlestep
372 orl $_TIF_SINGLESTEP,TI_flags(%ebp)
373no_singlestep:
374 # system call tracing in operation / emulation 370 # system call tracing in operation / emulation
375 /* Note, _TIF_SECCOMP is bit number 8, and so it needs testw and not testb */ 371 /* Note, _TIF_SECCOMP is bit number 8, and so it needs testw and not testb */
376 testw $(_TIF_SYSCALL_EMU|_TIF_SYSCALL_TRACE|_TIF_SECCOMP|_TIF_SYSCALL_AUDIT),TI_flags(%ebp) 372 testw $(_TIF_SYSCALL_EMU|_TIF_SYSCALL_TRACE|_TIF_SECCOMP|_TIF_SYSCALL_AUDIT),TI_flags(%ebp)
@@ -385,6 +381,10 @@ syscall_exit:
385 # setting need_resched or sigpending 381 # setting need_resched or sigpending
386 # between sampling and the iret 382 # between sampling and the iret
387 TRACE_IRQS_OFF 383 TRACE_IRQS_OFF
384 testl $TF_MASK,PT_EFLAGS(%esp) # If tracing set singlestep flag on exit
385 jz no_singlestep
386 orl $_TIF_SINGLESTEP,TI_flags(%ebp)
387no_singlestep:
388 movl TI_flags(%ebp), %ecx 388 movl TI_flags(%ebp), %ecx
389 testw $_TIF_ALLWORK_MASK, %cx # current->work 389 testw $_TIF_ALLWORK_MASK, %cx # current->work
390 jne syscall_exit_work 390 jne syscall_exit_work
diff --git a/arch/i386/kernel/quirks.c b/arch/i386/kernel/quirks.c
index 9f6ab1789bb0..6722469c2633 100644
--- a/arch/i386/kernel/quirks.c
+++ b/arch/i386/kernel/quirks.c
@@ -20,8 +20,6 @@ static void __devinit quirk_intel_irqbalance(struct pci_dev *dev)
20 if (rev > 0x9) 20 if (rev > 0x9)
21 return; 21 return;
22 22
23 printk(KERN_INFO "Intel E7520/7320/7525 detected.");
24
25 /* enable access to config space*/ 23 /* enable access to config space*/
26 pci_read_config_byte(dev, 0xf4, &config); 24 pci_read_config_byte(dev, 0xf4, &config);
27 pci_write_config_byte(dev, 0xf4, config|0x2); 25 pci_write_config_byte(dev, 0xf4, config|0x2);
@@ -30,7 +28,8 @@ static void __devinit quirk_intel_irqbalance(struct pci_dev *dev)
30 raw_pci_ops->read(0, 0, 0x40, 0x4c, 2, &word); 28 raw_pci_ops->read(0, 0, 0x40, 0x4c, 2, &word);
31 29
32 if (!(word & (1 << 13))) { 30 if (!(word & (1 << 13))) {
33 printk(KERN_INFO "Disabling irq balancing and affinity\n"); 31 printk(KERN_INFO "Intel E7520/7320/7525 detected. "
32 "Disabling irq balancing and affinity\n");
34#ifdef CONFIG_IRQBALANCE 33#ifdef CONFIG_IRQBALANCE
35 irqbalance_disable(""); 34 irqbalance_disable("");
36#endif 35#endif
diff --git a/arch/i386/kernel/reboot_fixups.c b/arch/i386/kernel/reboot_fixups.c
index 2d78d918340f..03e1cce58f49 100644
--- a/arch/i386/kernel/reboot_fixups.c
+++ b/arch/i386/kernel/reboot_fixups.c
@@ -5,12 +5,14 @@
5 * 5 *
6 * List of supported fixups: 6 * List of supported fixups:
7 * geode-gx1/cs5530a - Jaya Kumar <jayalk@intworks.biz> 7 * geode-gx1/cs5530a - Jaya Kumar <jayalk@intworks.biz>
8 * geode-gx/lx/cs5536 - Andres Salomon <dilinger@debian.org>
8 * 9 *
9 */ 10 */
10 11
11#include <asm/delay.h> 12#include <asm/delay.h>
12#include <linux/pci.h> 13#include <linux/pci.h>
13#include <asm/reboot_fixups.h> 14#include <asm/reboot_fixups.h>
15#include <asm/msr.h>
14 16
15static void cs5530a_warm_reset(struct pci_dev *dev) 17static void cs5530a_warm_reset(struct pci_dev *dev)
16{ 18{
@@ -21,6 +23,16 @@ static void cs5530a_warm_reset(struct pci_dev *dev)
21 return; 23 return;
22} 24}
23 25
26static void cs5536_warm_reset(struct pci_dev *dev)
27{
28 /*
29 * 6.6.2.12 Soft Reset (DIVIL_SOFT_RESET)
30 * writing 1 to the LSB of this MSR causes a hard reset.
31 */
32 wrmsrl(0x51400017, 1ULL);
33 udelay(50); /* shouldn't get here but be safe and spin a while */
34}
35
24struct device_fixup { 36struct device_fixup {
25 unsigned int vendor; 37 unsigned int vendor;
26 unsigned int device; 38 unsigned int device;
@@ -29,6 +41,7 @@ struct device_fixup {
29 41
30static struct device_fixup fixups_table[] = { 42static struct device_fixup fixups_table[] = {
31{ PCI_VENDOR_ID_CYRIX, PCI_DEVICE_ID_CYRIX_5530_LEGACY, cs5530a_warm_reset }, 43{ PCI_VENDOR_ID_CYRIX, PCI_DEVICE_ID_CYRIX_5530_LEGACY, cs5530a_warm_reset },
44{ PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_CS5536_ISA, cs5536_warm_reset },
32}; 45};
33 46
34/* 47/*
diff --git a/arch/i386/kernel/setup.c b/arch/i386/kernel/setup.c
index 698c24fe482e..2d61e65eeb50 100644
--- a/arch/i386/kernel/setup.c
+++ b/arch/i386/kernel/setup.c
@@ -102,19 +102,10 @@ static unsigned int highmem_pages = -1;
102/* 102/*
103 * Setup options 103 * Setup options
104 */ 104 */
105struct drive_info_struct { char dummy[32]; } drive_info;
106#if defined(CONFIG_BLK_DEV_IDE) || defined(CONFIG_BLK_DEV_HD) || \
107 defined(CONFIG_BLK_DEV_IDE_MODULE) || defined(CONFIG_BLK_DEV_HD_MODULE)
108EXPORT_SYMBOL(drive_info);
109#endif
110struct screen_info screen_info; 105struct screen_info screen_info;
111EXPORT_SYMBOL(screen_info); 106EXPORT_SYMBOL(screen_info);
112struct apm_info apm_info; 107struct apm_info apm_info;
113EXPORT_SYMBOL(apm_info); 108EXPORT_SYMBOL(apm_info);
114struct sys_desc_table_struct {
115 unsigned short length;
116 unsigned char table[0];
117};
118struct edid_info edid_info; 109struct edid_info edid_info;
119EXPORT_SYMBOL_GPL(edid_info); 110EXPORT_SYMBOL_GPL(edid_info);
120struct ist_info ist_info; 111struct ist_info ist_info;
@@ -134,7 +125,7 @@ unsigned long saved_videomode;
134 125
135static char __initdata command_line[COMMAND_LINE_SIZE]; 126static char __initdata command_line[COMMAND_LINE_SIZE];
136 127
137unsigned char __initdata boot_params[PARAM_SIZE]; 128struct boot_params __initdata boot_params;
138 129
139#if defined(CONFIG_EDD) || defined(CONFIG_EDD_MODULE) 130#if defined(CONFIG_EDD) || defined(CONFIG_EDD_MODULE)
140struct edd edd; 131struct edd edd;
@@ -528,7 +519,6 @@ void __init setup_arch(char **cmdline_p)
528#endif 519#endif
529 520
530 ROOT_DEV = old_decode_dev(ORIG_ROOT_DEV); 521 ROOT_DEV = old_decode_dev(ORIG_ROOT_DEV);
531 drive_info = DRIVE_INFO;
532 screen_info = SCREEN_INFO; 522 screen_info = SCREEN_INFO;
533 edid_info = EDID_INFO; 523 edid_info = EDID_INFO;
534 apm_info.bios = APM_BIOS_INFO; 524 apm_info.bios = APM_BIOS_INFO;
diff --git a/arch/i386/kernel/smpboot.c b/arch/i386/kernel/smpboot.c
index 88baed1e7e83..0b2954534b8e 100644
--- a/arch/i386/kernel/smpboot.c
+++ b/arch/i386/kernel/smpboot.c
@@ -941,17 +941,6 @@ exit:
941} 941}
942#endif 942#endif
943 943
944static void smp_tune_scheduling(void)
945{
946 if (cpu_khz) {
947 /* cache size in kB */
948 long cachesize = boot_cpu_data.x86_cache_size;
949
950 if (cachesize > 0)
951 max_cache_size = cachesize * 1024;
952 }
953}
954
955/* 944/*
956 * Cycle through the processors sending APIC IPIs to boot each. 945 * Cycle through the processors sending APIC IPIs to boot each.
957 */ 946 */
@@ -980,7 +969,6 @@ static void __init smp_boot_cpus(unsigned int max_cpus)
980 x86_cpu_to_apicid[0] = boot_cpu_physical_apicid; 969 x86_cpu_to_apicid[0] = boot_cpu_physical_apicid;
981 970
982 current_thread_info()->cpu = 0; 971 current_thread_info()->cpu = 0;
983 smp_tune_scheduling();
984 972
985 set_cpu_sibling_map(0); 973 set_cpu_sibling_map(0);
986 974
diff --git a/arch/i386/kernel/tsc.c b/arch/i386/kernel/tsc.c
index f64b81f3033b..ea63a30ca3e8 100644
--- a/arch/i386/kernel/tsc.c
+++ b/arch/i386/kernel/tsc.c
@@ -4,6 +4,7 @@
4 * See comments there for proper credits. 4 * See comments there for proper credits.
5 */ 5 */
6 6
7#include <linux/sched.h>
7#include <linux/clocksource.h> 8#include <linux/clocksource.h>
8#include <linux/workqueue.h> 9#include <linux/workqueue.h>
9#include <linux/cpufreq.h> 10#include <linux/cpufreq.h>
@@ -106,8 +107,13 @@ unsigned long long sched_clock(void)
106 107
107 /* 108 /*
108 * Fall back to jiffies if there's no TSC available: 109 * Fall back to jiffies if there's no TSC available:
110 * ( But note that we still use it if the TSC is marked
111 * unstable. We do this because unlike Time Of Day,
112 * the scheduler clock tolerates small errors and it's
113 * very important for it to be as fast as the platform
114 * can achive it. )
109 */ 115 */
110 if (unlikely(!tsc_enabled)) 116 if (unlikely(!tsc_enabled && !tsc_unstable))
111 /* No locking but a rare wrong value is not a big deal: */ 117 /* No locking but a rare wrong value is not a big deal: */
112 return (jiffies_64 - INITIAL_JIFFIES) * (1000000000 / HZ); 118 return (jiffies_64 - INITIAL_JIFFIES) * (1000000000 / HZ);
113 119
@@ -277,6 +283,7 @@ static struct clocksource clocksource_tsc = {
277 283
278void mark_tsc_unstable(char *reason) 284void mark_tsc_unstable(char *reason)
279{ 285{
286 sched_clock_unstable_event();
280 if (!tsc_unstable) { 287 if (!tsc_unstable) {
281 tsc_unstable = 1; 288 tsc_unstable = 1;
282 tsc_enabled = 0; 289 tsc_enabled = 0;
diff --git a/arch/i386/kernel/verify_cpu.S b/arch/i386/kernel/verify_cpu.S
deleted file mode 100644
index f1d1eacf4ab0..000000000000
--- a/arch/i386/kernel/verify_cpu.S
+++ /dev/null
@@ -1,94 +0,0 @@
1/* Check if CPU has some minimum CPUID bits
2 This runs in 16bit mode so that the caller can still use the BIOS
3 to output errors on the screen */
4#include <asm/cpufeature.h>
5#include <asm/msr.h>
6
7verify_cpu:
8 pushfl # Save caller passed flags
9 pushl $0 # Kill any dangerous flags
10 popfl
11
12#if CONFIG_X86_MINIMUM_CPU_MODEL >= 4
13 pushfl
14 pop %eax
15 orl $(1<<18),%eax # try setting AC
16 push %eax
17 popfl
18 pushfl
19 popl %eax
20 testl $(1<<18),%eax
21 jz bad
22#endif
23#if REQUIRED_MASK1 != 0
24 pushfl # standard way to check for cpuid
25 popl %eax
26 movl %eax,%ebx
27 xorl $0x200000,%eax
28 pushl %eax
29 popfl
30 pushfl
31 popl %eax
32 cmpl %eax,%ebx
33 pushfl # standard way to check for cpuid
34 popl %eax
35 movl %eax,%ebx
36 xorl $0x200000,%eax
37 pushl %eax
38 popfl
39 pushfl
40 popl %eax
41 cmpl %eax,%ebx
42 jz bad # REQUIRED_MASK1 != 0 requires CPUID
43
44 movl $0x0,%eax # See if cpuid 1 is implemented
45 cpuid
46 cmpl $0x1,%eax
47 jb bad # no cpuid 1
48
49#if REQUIRED_MASK1 & NEED_CMPXCHG64
50 /* Some VIA C3s need magic MSRs to enable CX64. Do this here */
51 cmpl $0x746e6543,%ebx # Cent
52 jne 1f
53 cmpl $0x48727561,%edx # aurH
54 jne 1f
55 cmpl $0x736c7561,%ecx # auls
56 jne 1f
57 movl $1,%eax # check model
58 cpuid
59 movl %eax,%ebx
60 shr $8,%ebx
61 andl $0xf,%ebx
62 cmp $6,%ebx # check family == 6
63 jne 1f
64 shr $4,%eax
65 andl $0xf,%eax
66 cmpl $6,%eax # check model >= 6
67 jb 1f
68 # assume models >= 6 all support this MSR
69 movl $MSR_VIA_FCR,%ecx
70 rdmsr
71 orl $((1<<1)|(1<<7)),%eax # enable CMPXCHG64 and PGE
72 wrmsr
731:
74#endif
75 movl $0x1,%eax # Does the cpu have what it takes
76 cpuid
77
78#if CONFIG_X86_MINIMUM_CPU_MODEL > 4
79#error add proper model checking here
80#endif
81
82 andl $REQUIRED_MASK1,%edx
83 xorl $REQUIRED_MASK1,%edx
84 jnz bad
85#endif /* REQUIRED_MASK1 */
86
87 popfl
88 xor %eax,%eax
89 ret
90
91bad:
92 popfl
93 movl $1,%eax
94 ret
diff --git a/arch/i386/mach-es7000/es7000plat.c b/arch/i386/mach-es7000/es7000plat.c
index 9be6ceabf042..ab99072d3f9a 100644
--- a/arch/i386/mach-es7000/es7000plat.c
+++ b/arch/i386/mach-es7000/es7000plat.c
@@ -40,6 +40,7 @@
40#include <asm/smp.h> 40#include <asm/smp.h>
41#include <asm/apicdef.h> 41#include <asm/apicdef.h>
42#include "es7000.h" 42#include "es7000.h"
43#include <mach_mpparse.h>
43 44
44/* 45/*
45 * ES7000 Globals 46 * ES7000 Globals
@@ -174,6 +175,53 @@ find_unisys_acpi_oem_table(unsigned long *oem_addr)
174} 175}
175#endif 176#endif
176 177
178/*
179 * This file also gets compiled if CONFIG_X86_GENERICARCH is set. Generic
180 * arch already has got following function definitions (asm-generic/es7000.c)
181 * hence no need to define these for that case.
182 */
183#ifndef CONFIG_X86_GENERICARCH
184void es7000_sw_apic(void);
185void __init enable_apic_mode(void)
186{
187 es7000_sw_apic();
188 return;
189}
190
191__init int mps_oem_check(struct mp_config_table *mpc, char *oem,
192 char *productid)
193{
194 if (mpc->mpc_oemptr) {
195 struct mp_config_oemtable *oem_table =
196 (struct mp_config_oemtable *)mpc->mpc_oemptr;
197 if (!strncmp(oem, "UNISYS", 6))
198 return parse_unisys_oem((char *)oem_table);
199 }
200 return 0;
201}
202#ifdef CONFIG_ACPI
203/* Hook from generic ACPI tables.c */
204int __init acpi_madt_oem_check(char *oem_id, char *oem_table_id)
205{
206 unsigned long oem_addr;
207 if (!find_unisys_acpi_oem_table(&oem_addr)) {
208 if (es7000_check_dsdt())
209 return parse_unisys_oem((char *)oem_addr);
210 else {
211 setup_unisys();
212 return 1;
213 }
214 }
215 return 0;
216}
217#else
218int __init acpi_madt_oem_check(char *oem_id, char *oem_table_id)
219{
220 return 0;
221}
222#endif
223#endif /* COFIG_X86_GENERICARCH */
224
177static void 225static void
178es7000_spin(int n) 226es7000_spin(int n)
179{ 227{
diff --git a/arch/i386/mach-visws/traps.c b/arch/i386/mach-visws/traps.c
index 5199bd03254a..843b67acf43b 100644
--- a/arch/i386/mach-visws/traps.c
+++ b/arch/i386/mach-visws/traps.c
@@ -23,13 +23,13 @@ static __init void lithium_init(void)
23 set_fixmap(FIX_LI_PCIB, LI_PCI_B_PHYS); 23 set_fixmap(FIX_LI_PCIB, LI_PCI_B_PHYS);
24 24
25 if ((li_pcia_read16(PCI_VENDOR_ID) != PCI_VENDOR_ID_SGI) || 25 if ((li_pcia_read16(PCI_VENDOR_ID) != PCI_VENDOR_ID_SGI) ||
26 (li_pcia_read16(PCI_DEVICE_ID) != PCI_VENDOR_ID_SGI_LITHIUM)) { 26 (li_pcia_read16(PCI_DEVICE_ID) != PCI_DEVICE_ID_SGI_LITHIUM)) {
27 printk(KERN_EMERG "Lithium hostbridge %c not found\n", 'A'); 27 printk(KERN_EMERG "Lithium hostbridge %c not found\n", 'A');
28 panic("This machine is not SGI Visual Workstation 320/540"); 28 panic("This machine is not SGI Visual Workstation 320/540");
29 } 29 }
30 30
31 if ((li_pcib_read16(PCI_VENDOR_ID) != PCI_VENDOR_ID_SGI) || 31 if ((li_pcib_read16(PCI_VENDOR_ID) != PCI_VENDOR_ID_SGI) ||
32 (li_pcib_read16(PCI_DEVICE_ID) != PCI_VENDOR_ID_SGI_LITHIUM)) { 32 (li_pcib_read16(PCI_DEVICE_ID) != PCI_DEVICE_ID_SGI_LITHIUM)) {
33 printk(KERN_EMERG "Lithium hostbridge %c not found\n", 'B'); 33 printk(KERN_EMERG "Lithium hostbridge %c not found\n", 'B');
34 panic("This machine is not SGI Visual Workstation 320/540"); 34 panic("This machine is not SGI Visual Workstation 320/540");
35 } 35 }
diff --git a/arch/i386/mm/init.c b/arch/i386/mm/init.c
index b22ce8d6b1ba..7135946d3663 100644
--- a/arch/i386/mm/init.c
+++ b/arch/i386/mm/init.c
@@ -799,6 +799,7 @@ void mark_rodata_ro(void)
799 unsigned long start = PFN_ALIGN(_text); 799 unsigned long start = PFN_ALIGN(_text);
800 unsigned long size = PFN_ALIGN(_etext) - start; 800 unsigned long size = PFN_ALIGN(_etext) - start;
801 801
802#ifndef CONFIG_KPROBES
802#ifdef CONFIG_HOTPLUG_CPU 803#ifdef CONFIG_HOTPLUG_CPU
803 /* It must still be possible to apply SMP alternatives. */ 804 /* It must still be possible to apply SMP alternatives. */
804 if (num_possible_cpus() <= 1) 805 if (num_possible_cpus() <= 1)
@@ -808,7 +809,7 @@ void mark_rodata_ro(void)
808 size >> PAGE_SHIFT, PAGE_KERNEL_RX); 809 size >> PAGE_SHIFT, PAGE_KERNEL_RX);
809 printk("Write protecting the kernel text: %luk\n", size >> 10); 810 printk("Write protecting the kernel text: %luk\n", size >> 10);
810 } 811 }
811 812#endif
812 start += size; 813 start += size;
813 size = (unsigned long)__end_rodata - start; 814 size = (unsigned long)__end_rodata - start;
814 change_page_attr(virt_to_page(start), 815 change_page_attr(virt_to_page(start),
diff --git a/arch/i386/pci/fixup.c b/arch/i386/pci/fixup.c
index b95b42950ed4..e7306dbf6c42 100644
--- a/arch/i386/pci/fixup.c
+++ b/arch/i386/pci/fixup.c
@@ -118,12 +118,9 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82371AB_3, pci
118static void pci_fixup_via_northbridge_bug(struct pci_dev *d) 118static void pci_fixup_via_northbridge_bug(struct pci_dev *d)
119{ 119{
120 u8 v; 120 u8 v;
121 u8 revision;
122 int where = 0x55; 121 int where = 0x55;
123 int mask = 0x1f; /* clear bits 5, 6, 7 by default */ 122 int mask = 0x1f; /* clear bits 5, 6, 7 by default */
124 123
125 pci_read_config_byte(d, PCI_REVISION_ID, &revision);
126
127 if (d->device == PCI_DEVICE_ID_VIA_8367_0) { 124 if (d->device == PCI_DEVICE_ID_VIA_8367_0) {
128 /* fix pci bus latency issues resulted by NB bios error 125 /* fix pci bus latency issues resulted by NB bios error
129 it appears on bug free^Wreduced kt266x's bios forces 126 it appears on bug free^Wreduced kt266x's bios forces
@@ -133,8 +130,8 @@ static void pci_fixup_via_northbridge_bug(struct pci_dev *d)
133 where = 0x95; /* the memory write queue timer register is 130 where = 0x95; /* the memory write queue timer register is
134 different for the KT266x's: 0x95 not 0x55 */ 131 different for the KT266x's: 0x95 not 0x55 */
135 } else if (d->device == PCI_DEVICE_ID_VIA_8363_0 && 132 } else if (d->device == PCI_DEVICE_ID_VIA_8363_0 &&
136 (revision == VIA_8363_KL133_REVISION_ID || 133 (d->revision == VIA_8363_KL133_REVISION_ID ||
137 revision == VIA_8363_KM133_REVISION_ID)) { 134 d->revision == VIA_8363_KM133_REVISION_ID)) {
138 mask = 0x3f; /* clear only bits 6 and 7; clearing bit 5 135 mask = 0x3f; /* clear only bits 6 and 7; clearing bit 5
139 causes screen corruption on the KL133/KM133 */ 136 causes screen corruption on the KL133/KM133 */
140 } 137 }
@@ -142,7 +139,7 @@ static void pci_fixup_via_northbridge_bug(struct pci_dev *d)
142 pci_read_config_byte(d, where, &v); 139 pci_read_config_byte(d, where, &v);
143 if (v & ~mask) { 140 if (v & ~mask) {
144 printk(KERN_WARNING "Disabling VIA memory write queue (PCI ID %04x, rev %02x): [%02x] %02x & %02x -> %02x\n", \ 141 printk(KERN_WARNING "Disabling VIA memory write queue (PCI ID %04x, rev %02x): [%02x] %02x & %02x -> %02x\n", \
145 d->device, revision, where, v, mask, v & mask); 142 d->device, d->revision, where, v, mask, v & mask);
146 v &= mask; 143 v &= mask;
147 pci_write_config_byte(d, where, v); 144 pci_write_config_byte(d, where, v);
148 } 145 }
diff --git a/arch/ia64/Kconfig b/arch/ia64/Kconfig
index de1bff659969..db9ddff95841 100644
--- a/arch/ia64/Kconfig
+++ b/arch/ia64/Kconfig
@@ -520,8 +520,10 @@ config PCI
520 here unless you are using a simulator without PCI support. 520 here unless you are using a simulator without PCI support.
521 521
522config PCI_DOMAINS 522config PCI_DOMAINS
523 bool 523 def_bool PCI
524 default PCI 524
525config PCI_SYSCALL
526 def_bool PCI
525 527
526source "drivers/pci/pcie/Kconfig" 528source "drivers/pci/pcie/Kconfig"
527 529
diff --git a/arch/ia64/kernel/gate.S b/arch/ia64/kernel/gate.S
index 3274850cf272..74b1ccce4e84 100644
--- a/arch/ia64/kernel/gate.S
+++ b/arch/ia64/kernel/gate.S
@@ -30,6 +30,7 @@
30 .previous 30 .previous
31#define BRL_COND_FSYS_BUBBLE_DOWN(pr) \ 31#define BRL_COND_FSYS_BUBBLE_DOWN(pr) \
32[1:](pr)brl.cond.sptk 0; \ 32[1:](pr)brl.cond.sptk 0; \
33 ;; \
33 .xdata4 ".data.patch.brl_fsys_bubble_down", 1b-. 34 .xdata4 ".data.patch.brl_fsys_bubble_down", 1b-.
34 35
35GLOBAL_ENTRY(__kernel_syscall_via_break) 36GLOBAL_ENTRY(__kernel_syscall_via_break)
diff --git a/arch/ia64/kernel/mca.c b/arch/ia64/kernel/mca.c
index 1ead5ea6c5ce..4b5daa3cc0fe 100644
--- a/arch/ia64/kernel/mca.c
+++ b/arch/ia64/kernel/mca.c
@@ -57,6 +57,9 @@
57 * 57 *
58 * 2006-09-15 Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com> 58 * 2006-09-15 Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
59 * Add printing support for MCA/INIT. 59 * Add printing support for MCA/INIT.
60 *
61 * 2007-04-27 Russ Anderson <rja@sgi.com>
62 * Support multiple cpus going through OS_MCA in the same event.
60 */ 63 */
61#include <linux/types.h> 64#include <linux/types.h>
62#include <linux/init.h> 65#include <linux/init.h>
@@ -96,7 +99,6 @@
96#endif 99#endif
97 100
98/* Used by mca_asm.S */ 101/* Used by mca_asm.S */
99u32 ia64_mca_serialize;
100DEFINE_PER_CPU(u64, ia64_mca_data); /* == __per_cpu_mca[smp_processor_id()] */ 102DEFINE_PER_CPU(u64, ia64_mca_data); /* == __per_cpu_mca[smp_processor_id()] */
101DEFINE_PER_CPU(u64, ia64_mca_per_cpu_pte); /* PTE to map per-CPU area */ 103DEFINE_PER_CPU(u64, ia64_mca_per_cpu_pte); /* PTE to map per-CPU area */
102DEFINE_PER_CPU(u64, ia64_mca_pal_pte); /* PTE to map PAL code */ 104DEFINE_PER_CPU(u64, ia64_mca_pal_pte); /* PTE to map PAL code */
@@ -963,11 +965,12 @@ ia64_mca_modify_original_stack(struct pt_regs *regs,
963 goto no_mod; 965 goto no_mod;
964 } 966 }
965 967
968 if (r13 != sos->prev_IA64_KR_CURRENT) {
969 msg = "inconsistent previous current and r13";
970 goto no_mod;
971 }
972
966 if (!mca_recover_range(ms->pmsa_iip)) { 973 if (!mca_recover_range(ms->pmsa_iip)) {
967 if (r13 != sos->prev_IA64_KR_CURRENT) {
968 msg = "inconsistent previous current and r13";
969 goto no_mod;
970 }
971 if ((r12 - r13) >= KERNEL_STACK_SIZE) { 974 if ((r12 - r13) >= KERNEL_STACK_SIZE) {
972 msg = "inconsistent r12 and r13"; 975 msg = "inconsistent r12 and r13";
973 goto no_mod; 976 goto no_mod;
@@ -1187,6 +1190,13 @@ all_in:
1187 * further MCA logging is enabled by clearing logs. 1190 * further MCA logging is enabled by clearing logs.
1188 * Monarch also has the duty of sending wakeup-IPIs to pull the 1191 * Monarch also has the duty of sending wakeup-IPIs to pull the
1189 * slave processors out of rendezvous spinloop. 1192 * slave processors out of rendezvous spinloop.
1193 *
1194 * If multiple processors call into OS_MCA, the first will become
1195 * the monarch. Subsequent cpus will be recorded in the mca_cpu
1196 * bitmask. After the first monarch has processed its MCA, it
1197 * will wake up the next cpu in the mca_cpu bitmask and then go
1198 * into the rendezvous loop. When all processors have serviced
1199 * their MCA, the last monarch frees up the rest of the processors.
1190 */ 1200 */
1191void 1201void
1192ia64_mca_handler(struct pt_regs *regs, struct switch_stack *sw, 1202ia64_mca_handler(struct pt_regs *regs, struct switch_stack *sw,
@@ -1196,16 +1206,32 @@ ia64_mca_handler(struct pt_regs *regs, struct switch_stack *sw,
1196 struct task_struct *previous_current; 1206 struct task_struct *previous_current;
1197 struct ia64_mca_notify_die nd = 1207 struct ia64_mca_notify_die nd =
1198 { .sos = sos, .monarch_cpu = &monarch_cpu }; 1208 { .sos = sos, .monarch_cpu = &monarch_cpu };
1209 static atomic_t mca_count;
1210 static cpumask_t mca_cpu;
1199 1211
1212 if (atomic_add_return(1, &mca_count) == 1) {
1213 monarch_cpu = cpu;
1214 sos->monarch = 1;
1215 } else {
1216 cpu_set(cpu, mca_cpu);
1217 sos->monarch = 0;
1218 }
1200 mprintk(KERN_INFO "Entered OS MCA handler. PSP=%lx cpu=%d " 1219 mprintk(KERN_INFO "Entered OS MCA handler. PSP=%lx cpu=%d "
1201 "monarch=%ld\n", sos->proc_state_param, cpu, sos->monarch); 1220 "monarch=%ld\n", sos->proc_state_param, cpu, sos->monarch);
1202 1221
1203 previous_current = ia64_mca_modify_original_stack(regs, sw, sos, "MCA"); 1222 previous_current = ia64_mca_modify_original_stack(regs, sw, sos, "MCA");
1204 monarch_cpu = cpu; 1223
1205 if (notify_die(DIE_MCA_MONARCH_ENTER, "MCA", regs, (long)&nd, 0, 0) 1224 if (notify_die(DIE_MCA_MONARCH_ENTER, "MCA", regs, (long)&nd, 0, 0)
1206 == NOTIFY_STOP) 1225 == NOTIFY_STOP)
1207 ia64_mca_spin(__FUNCTION__); 1226 ia64_mca_spin(__FUNCTION__);
1208 ia64_wait_for_slaves(cpu, "MCA"); 1227 if (sos->monarch) {
1228 ia64_wait_for_slaves(cpu, "MCA");
1229 } else {
1230 ia64_mc_info.imi_rendez_checkin[cpu] = IA64_MCA_RENDEZ_CHECKIN_CONCURRENT_MCA;
1231 while (cpu_isset(cpu, mca_cpu))
1232 cpu_relax(); /* spin until monarch wakes us */
1233 ia64_mc_info.imi_rendez_checkin[cpu] = IA64_MCA_RENDEZ_CHECKIN_NOTDONE;
1234 }
1209 1235
1210 /* Wakeup all the processors which are spinning in the rendezvous loop. 1236 /* Wakeup all the processors which are spinning in the rendezvous loop.
1211 * They will leave SAL, then spin in the OS with interrupts disabled 1237 * They will leave SAL, then spin in the OS with interrupts disabled
@@ -1244,6 +1270,26 @@ ia64_mca_handler(struct pt_regs *regs, struct switch_stack *sw,
1244 == NOTIFY_STOP) 1270 == NOTIFY_STOP)
1245 ia64_mca_spin(__FUNCTION__); 1271 ia64_mca_spin(__FUNCTION__);
1246 1272
1273
1274 if (atomic_dec_return(&mca_count) > 0) {
1275 int i;
1276
1277 /* wake up the next monarch cpu,
1278 * and put this cpu in the rendez loop.
1279 */
1280 ia64_mc_info.imi_rendez_checkin[cpu] = IA64_MCA_RENDEZ_CHECKIN_CONCURRENT_MCA;
1281 for_each_online_cpu(i) {
1282 if (cpu_isset(i, mca_cpu)) {
1283 monarch_cpu = i;
1284 cpu_clear(i, mca_cpu); /* wake next cpu */
1285 while (monarch_cpu != -1)
1286 cpu_relax(); /* spin until last cpu leaves */
1287 ia64_mc_info.imi_rendez_checkin[cpu] = IA64_MCA_RENDEZ_CHECKIN_NOTDONE;
1288 set_curr_task(cpu, previous_current);
1289 return;
1290 }
1291 }
1292 }
1247 set_curr_task(cpu, previous_current); 1293 set_curr_task(cpu, previous_current);
1248 monarch_cpu = -1; 1294 monarch_cpu = -1;
1249} 1295}
diff --git a/arch/ia64/kernel/mca_asm.S b/arch/ia64/kernel/mca_asm.S
index 8c9c26aa6ae0..0f5965fcdf85 100644
--- a/arch/ia64/kernel/mca_asm.S
+++ b/arch/ia64/kernel/mca_asm.S
@@ -133,14 +133,6 @@ ia64_do_tlb_purge:
133//StartMain//////////////////////////////////////////////////////////////////// 133//StartMain////////////////////////////////////////////////////////////////////
134 134
135ia64_os_mca_dispatch: 135ia64_os_mca_dispatch:
136 // Serialize all MCA processing
137 mov r3=1;;
138 LOAD_PHYSICAL(p0,r2,ia64_mca_serialize);;
139ia64_os_mca_spin:
140 xchg4 r4=[r2],r3;;
141 cmp.ne p6,p0=r4,r0
142(p6) br ia64_os_mca_spin
143
144 mov r3=IA64_MCA_CPU_MCA_STACK_OFFSET // use the MCA stack 136 mov r3=IA64_MCA_CPU_MCA_STACK_OFFSET // use the MCA stack
145 LOAD_PHYSICAL(p0,r2,1f) // return address 137 LOAD_PHYSICAL(p0,r2,1f) // return address
146 mov r19=1 // All MCA events are treated as monarch (for now) 138 mov r19=1 // All MCA events are treated as monarch (for now)
@@ -291,10 +283,6 @@ END(ia64_os_mca_virtual_begin)
291 283
292 mov b0=r12 // SAL_CHECK return address 284 mov b0=r12 // SAL_CHECK return address
293 285
294 // release lock
295 LOAD_PHYSICAL(p0,r3,ia64_mca_serialize);;
296 st4.rel [r3]=r0
297
298 br b0 286 br b0
299 287
300//EndMain////////////////////////////////////////////////////////////////////// 288//EndMain//////////////////////////////////////////////////////////////////////
diff --git a/arch/ia64/kernel/mca_drv_asm.S b/arch/ia64/kernel/mca_drv_asm.S
index f2d4900751ba..3bccb06c8d21 100644
--- a/arch/ia64/kernel/mca_drv_asm.S
+++ b/arch/ia64/kernel/mca_drv_asm.S
@@ -40,7 +40,11 @@ GLOBAL_ENTRY(mca_handler_bhhook)
40 mov b6=loc1 40 mov b6=loc1
41 ;; 41 ;;
42 mov loc1=rp 42 mov loc1=rp
43 ssm psr.i | psr.ic 43 ssm psr.ic
44 ;;
45 srlz.i
46 ;;
47 ssm psr.i
44 br.call.sptk.many rp=b6 // does not return ... 48 br.call.sptk.many rp=b6 // does not return ...
45 ;; 49 ;;
46 mov ar.pfs=loc0 50 mov ar.pfs=loc0
diff --git a/arch/ia64/kernel/process.c b/arch/ia64/kernel/process.c
index af73b8dfde28..fa40cba43350 100644
--- a/arch/ia64/kernel/process.c
+++ b/arch/ia64/kernel/process.c
@@ -513,7 +513,8 @@ copy_thread (int nr, unsigned long clone_flags,
513static void 513static void
514do_copy_task_regs (struct task_struct *task, struct unw_frame_info *info, void *arg) 514do_copy_task_regs (struct task_struct *task, struct unw_frame_info *info, void *arg)
515{ 515{
516 unsigned long mask, sp, nat_bits = 0, ip, ar_rnat, urbs_end, cfm; 516 unsigned long mask, sp, nat_bits = 0, ar_rnat, urbs_end, cfm;
517 unsigned long uninitialized_var(ip); /* GCC be quiet */
517 elf_greg_t *dst = arg; 518 elf_greg_t *dst = arg;
518 struct pt_regs *pt; 519 struct pt_regs *pt;
519 char nat; 520 char nat;
diff --git a/arch/ia64/kernel/setup.c b/arch/ia64/kernel/setup.c
index eaa6a24bc0b6..188fb73c6845 100644
--- a/arch/ia64/kernel/setup.c
+++ b/arch/ia64/kernel/setup.c
@@ -805,7 +805,6 @@ static void __cpuinit
805get_max_cacheline_size (void) 805get_max_cacheline_size (void)
806{ 806{
807 unsigned long line_size, max = 1; 807 unsigned long line_size, max = 1;
808 unsigned int cache_size = 0;
809 u64 l, levels, unique_caches; 808 u64 l, levels, unique_caches;
810 pal_cache_config_info_t cci; 809 pal_cache_config_info_t cci;
811 s64 status; 810 s64 status;
@@ -835,8 +834,6 @@ get_max_cacheline_size (void)
835 line_size = 1 << cci.pcci_line_size; 834 line_size = 1 << cci.pcci_line_size;
836 if (line_size > max) 835 if (line_size > max)
837 max = line_size; 836 max = line_size;
838 if (cache_size < cci.pcci_cache_size)
839 cache_size = cci.pcci_cache_size;
840 if (!cci.pcci_unified) { 837 if (!cci.pcci_unified) {
841 status = ia64_pal_cache_config_info(l, 838 status = ia64_pal_cache_config_info(l,
842 /* cache_type (instruction)= */ 1, 839 /* cache_type (instruction)= */ 1,
@@ -853,9 +850,6 @@ get_max_cacheline_size (void)
853 ia64_i_cache_stride_shift = cci.pcci_stride; 850 ia64_i_cache_stride_shift = cci.pcci_stride;
854 } 851 }
855 out: 852 out:
856#ifdef CONFIG_SMP
857 max_cache_size = max(max_cache_size, cache_size);
858#endif
859 if (max > ia64_max_cacheline_size) 853 if (max > ia64_max_cacheline_size)
860 ia64_max_cacheline_size = max; 854 ia64_max_cacheline_size = max;
861} 855}
diff --git a/arch/ia64/kernel/time.c b/arch/ia64/kernel/time.c
index a06667c7acc0..3486fe7d6e65 100644
--- a/arch/ia64/kernel/time.c
+++ b/arch/ia64/kernel/time.c
@@ -18,7 +18,6 @@
18#include <linux/time.h> 18#include <linux/time.h>
19#include <linux/interrupt.h> 19#include <linux/interrupt.h>
20#include <linux/efi.h> 20#include <linux/efi.h>
21#include <linux/profile.h>
22#include <linux/timex.h> 21#include <linux/timex.h>
23 22
24#include <asm/machvec.h> 23#include <asm/machvec.h>
diff --git a/arch/ia64/kernel/unwind.c b/arch/ia64/kernel/unwind.c
index b0b08b5f3eca..c1bdb5131814 100644
--- a/arch/ia64/kernel/unwind.c
+++ b/arch/ia64/kernel/unwind.c
@@ -1856,11 +1856,19 @@ find_save_locs (struct unw_frame_info *info)
1856 return 0; 1856 return 0;
1857} 1857}
1858 1858
1859static int
1860unw_valid(const struct unw_frame_info *info, unsigned long* p)
1861{
1862 unsigned long loc = (unsigned long)p;
1863 return (loc >= info->regstk.limit && loc < info->regstk.top) ||
1864 (loc >= info->memstk.top && loc < info->memstk.limit);
1865}
1866
1859int 1867int
1860unw_unwind (struct unw_frame_info *info) 1868unw_unwind (struct unw_frame_info *info)
1861{ 1869{
1862 unsigned long prev_ip, prev_sp, prev_bsp; 1870 unsigned long prev_ip, prev_sp, prev_bsp;
1863 unsigned long ip, pr, num_regs, rp_loc, pfs_loc; 1871 unsigned long ip, pr, num_regs;
1864 STAT(unsigned long start, flags;) 1872 STAT(unsigned long start, flags;)
1865 int retval; 1873 int retval;
1866 1874
@@ -1871,8 +1879,7 @@ unw_unwind (struct unw_frame_info *info)
1871 prev_bsp = info->bsp; 1879 prev_bsp = info->bsp;
1872 1880
1873 /* validate the return IP pointer */ 1881 /* validate the return IP pointer */
1874 rp_loc = (unsigned long) info->rp_loc; 1882 if (!unw_valid(info, info->rp_loc)) {
1875 if ((rp_loc < info->regstk.limit) || (rp_loc > info->regstk.top)) {
1876 /* FIXME: should really be level 0 but it occurs too often. KAO */ 1883 /* FIXME: should really be level 0 but it occurs too often. KAO */
1877 UNW_DPRINT(1, "unwind.%s: failed to locate return link (ip=0x%lx)!\n", 1884 UNW_DPRINT(1, "unwind.%s: failed to locate return link (ip=0x%lx)!\n",
1878 __FUNCTION__, info->ip); 1885 __FUNCTION__, info->ip);
@@ -1888,8 +1895,7 @@ unw_unwind (struct unw_frame_info *info)
1888 } 1895 }
1889 1896
1890 /* validate the previous stack frame pointer */ 1897 /* validate the previous stack frame pointer */
1891 pfs_loc = (unsigned long) info->pfs_loc; 1898 if (!unw_valid(info, info->pfs_loc)) {
1892 if ((pfs_loc < info->regstk.limit) || (pfs_loc > info->regstk.top)) {
1893 UNW_DPRINT(0, "unwind.%s: failed to locate ar.pfs!\n", __FUNCTION__); 1899 UNW_DPRINT(0, "unwind.%s: failed to locate ar.pfs!\n", __FUNCTION__);
1894 STAT(unw.stat.api.unwind_time += ia64_get_itc() - start; local_irq_restore(flags)); 1900 STAT(unw.stat.api.unwind_time += ia64_get_itc() - start; local_irq_restore(flags));
1895 return -1; 1901 return -1;
diff --git a/arch/ia64/mm/hugetlbpage.c b/arch/ia64/mm/hugetlbpage.c
index 1346b7f05397..d22861c5b04c 100644
--- a/arch/ia64/mm/hugetlbpage.c
+++ b/arch/ia64/mm/hugetlbpage.c
@@ -15,6 +15,7 @@
15#include <linux/pagemap.h> 15#include <linux/pagemap.h>
16#include <linux/slab.h> 16#include <linux/slab.h>
17#include <linux/sysctl.h> 17#include <linux/sysctl.h>
18#include <linux/log2.h>
18#include <asm/mman.h> 19#include <asm/mman.h>
19#include <asm/pgalloc.h> 20#include <asm/pgalloc.h>
20#include <asm/tlb.h> 21#include <asm/tlb.h>
@@ -182,7 +183,7 @@ static int __init hugetlb_setup_sz(char *str)
182 tr_pages = 0x15557000UL; 183 tr_pages = 0x15557000UL;
183 184
184 size = memparse(str, &str); 185 size = memparse(str, &str);
185 if (*str || (size & (size-1)) || !(tr_pages & size) || 186 if (*str || !is_power_of_2(size) || !(tr_pages & size) ||
186 size <= PAGE_SIZE || 187 size <= PAGE_SIZE ||
187 size >= (1UL << PAGE_SHIFT << MAX_ORDER)) { 188 size >= (1UL << PAGE_SHIFT << MAX_ORDER)) {
188 printk(KERN_WARNING "Invalid huge page size specified\n"); 189 printk(KERN_WARNING "Invalid huge page size specified\n");
diff --git a/arch/ia64/mm/tlb.c b/arch/ia64/mm/tlb.c
index fa4e6d4810f3..1682fc639038 100644
--- a/arch/ia64/mm/tlb.c
+++ b/arch/ia64/mm/tlb.c
@@ -175,7 +175,7 @@ EXPORT_SYMBOL(flush_tlb_range);
175void __devinit 175void __devinit
176ia64_tlb_init (void) 176ia64_tlb_init (void)
177{ 177{
178 ia64_ptce_info_t ptce_info; 178 ia64_ptce_info_t uninitialized_var(ptce_info); /* GCC be quiet */
179 unsigned long tr_pgbits; 179 unsigned long tr_pgbits;
180 long status; 180 long status;
181 181
diff --git a/arch/ia64/pci/pci.c b/arch/ia64/pci/pci.c
index 73696b4a2eed..07d0e92742c8 100644
--- a/arch/ia64/pci/pci.c
+++ b/arch/ia64/pci/pci.c
@@ -591,6 +591,9 @@ int
591pci_mmap_page_range (struct pci_dev *dev, struct vm_area_struct *vma, 591pci_mmap_page_range (struct pci_dev *dev, struct vm_area_struct *vma,
592 enum pci_mmap_state mmap_state, int write_combine) 592 enum pci_mmap_state mmap_state, int write_combine)
593{ 593{
594 unsigned long size = vma->vm_end - vma->vm_start;
595 pgprot_t prot;
596
594 /* 597 /*
595 * I/O space cannot be accessed via normal processor loads and 598 * I/O space cannot be accessed via normal processor loads and
596 * stores on this platform. 599 * stores on this platform.
@@ -604,15 +607,24 @@ pci_mmap_page_range (struct pci_dev *dev, struct vm_area_struct *vma,
604 */ 607 */
605 return -EINVAL; 608 return -EINVAL;
606 609
610 if (!valid_mmap_phys_addr_range(vma->vm_pgoff, size))
611 return -EINVAL;
612
613 prot = phys_mem_access_prot(NULL, vma->vm_pgoff, size,
614 vma->vm_page_prot);
615
607 /* 616 /*
608 * Leave vm_pgoff as-is, the PCI space address is the physical 617 * If the user requested WC, the kernel uses UC or WC for this region,
609 * address on this platform. 618 * and the chipset supports WC, we can use WC. Otherwise, we have to
619 * use the same attribute the kernel uses.
610 */ 620 */
611 if (write_combine && efi_range_is_wc(vma->vm_start, 621 if (write_combine &&
612 vma->vm_end - vma->vm_start)) 622 ((pgprot_val(prot) & _PAGE_MA_MASK) == _PAGE_MA_UC ||
623 (pgprot_val(prot) & _PAGE_MA_MASK) == _PAGE_MA_WC) &&
624 efi_range_is_wc(vma->vm_start, vma->vm_end - vma->vm_start))
613 vma->vm_page_prot = pgprot_writecombine(vma->vm_page_prot); 625 vma->vm_page_prot = pgprot_writecombine(vma->vm_page_prot);
614 else 626 else
615 vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot); 627 vma->vm_page_prot = prot;
616 628
617 if (remap_pfn_range(vma, vma->vm_start, vma->vm_pgoff, 629 if (remap_pfn_range(vma, vma->vm_start, vma->vm_pgoff,
618 vma->vm_end - vma->vm_start, vma->vm_page_prot)) 630 vma->vm_end - vma->vm_start, vma->vm_page_prot))
diff --git a/arch/ia64/sn/kernel/io_acpi_init.c b/arch/ia64/sn/kernel/io_acpi_init.c
index c6216f454ffb..3c7178f5dce8 100644
--- a/arch/ia64/sn/kernel/io_acpi_init.c
+++ b/arch/ia64/sn/kernel/io_acpi_init.c
@@ -418,7 +418,7 @@ sn_acpi_slot_fixup(struct pci_dev *dev)
418 void __iomem *addr; 418 void __iomem *addr;
419 struct pcidev_info *pcidev_info = NULL; 419 struct pcidev_info *pcidev_info = NULL;
420 struct sn_irq_info *sn_irq_info = NULL; 420 struct sn_irq_info *sn_irq_info = NULL;
421 size_t size; 421 size_t image_size, size;
422 422
423 if (sn_acpi_get_pcidev_info(dev, &pcidev_info, &sn_irq_info)) { 423 if (sn_acpi_get_pcidev_info(dev, &pcidev_info, &sn_irq_info)) {
424 panic("%s: Failure obtaining pcidev_info for %s\n", 424 panic("%s: Failure obtaining pcidev_info for %s\n",
@@ -428,17 +428,16 @@ sn_acpi_slot_fixup(struct pci_dev *dev)
428 if (pcidev_info->pdi_pio_mapped_addr[PCI_ROM_RESOURCE]) { 428 if (pcidev_info->pdi_pio_mapped_addr[PCI_ROM_RESOURCE]) {
429 /* 429 /*
430 * A valid ROM image exists and has been shadowed by the 430 * A valid ROM image exists and has been shadowed by the
431 * PROM. Setup the pci_dev ROM resource to point to 431 * PROM. Setup the pci_dev ROM resource with the address
432 * the shadowed copy. 432 * of the shadowed copy, and the actual length of the ROM image.
433 */ 433 */
434 size = dev->resource[PCI_ROM_RESOURCE].end - 434 size = pci_resource_len(dev, PCI_ROM_RESOURCE);
435 dev->resource[PCI_ROM_RESOURCE].start; 435 addr = ioremap(pcidev_info->pdi_pio_mapped_addr[PCI_ROM_RESOURCE],
436 addr = 436 size);
437 ioremap(pcidev_info->pdi_pio_mapped_addr[PCI_ROM_RESOURCE], 437 image_size = pci_get_rom_size(addr, size);
438 size);
439 dev->resource[PCI_ROM_RESOURCE].start = (unsigned long) addr; 438 dev->resource[PCI_ROM_RESOURCE].start = (unsigned long) addr;
440 dev->resource[PCI_ROM_RESOURCE].end = 439 dev->resource[PCI_ROM_RESOURCE].end =
441 (unsigned long) addr + size; 440 (unsigned long) addr + image_size - 1;
442 dev->resource[PCI_ROM_RESOURCE].flags |= IORESOURCE_ROM_BIOS_COPY; 441 dev->resource[PCI_ROM_RESOURCE].flags |= IORESOURCE_ROM_BIOS_COPY;
443 } 442 }
444 sn_pci_fixup_slot(dev, pcidev_info, sn_irq_info); 443 sn_pci_fixup_slot(dev, pcidev_info, sn_irq_info);
diff --git a/arch/ia64/sn/kernel/io_init.c b/arch/ia64/sn/kernel/io_init.c
index 6b10e5d28488..906b93674b76 100644
--- a/arch/ia64/sn/kernel/io_init.c
+++ b/arch/ia64/sn/kernel/io_init.c
@@ -259,9 +259,23 @@ sn_io_slot_fixup(struct pci_dev *dev)
259 insert_resource(&ioport_resource, &dev->resource[idx]); 259 insert_resource(&ioport_resource, &dev->resource[idx]);
260 else 260 else
261 insert_resource(&iomem_resource, &dev->resource[idx]); 261 insert_resource(&iomem_resource, &dev->resource[idx]);
262 /* If ROM, mark as shadowed in PROM */ 262 /*
263 if (idx == PCI_ROM_RESOURCE) 263 * If ROM, set the actual ROM image size, and mark as
264 dev->resource[idx].flags |= IORESOURCE_ROM_BIOS_COPY; 264 * shadowed in PROM.
265 */
266 if (idx == PCI_ROM_RESOURCE) {
267 size_t image_size;
268 void __iomem *rom;
269
270 rom = ioremap(pci_resource_start(dev, PCI_ROM_RESOURCE),
271 size + 1);
272 image_size = pci_get_rom_size(rom, size + 1);
273 dev->resource[PCI_ROM_RESOURCE].end =
274 dev->resource[PCI_ROM_RESOURCE].start +
275 image_size - 1;
276 dev->resource[PCI_ROM_RESOURCE].flags |=
277 IORESOURCE_ROM_BIOS_COPY;
278 }
265 } 279 }
266 /* Create a pci_window in the pci_controller struct for 280 /* Create a pci_window in the pci_controller struct for
267 * each device resource. 281 * each device resource.
diff --git a/arch/ia64/sn/kernel/tiocx.c b/arch/ia64/sn/kernel/tiocx.c
index 493380b2c05f..5a289e4de838 100644
--- a/arch/ia64/sn/kernel/tiocx.c
+++ b/arch/ia64/sn/kernel/tiocx.c
@@ -369,7 +369,7 @@ static void tio_corelet_reset(nasid_t nasid, int corelet)
369 369
370static int is_fpga_tio(int nasid, int *bt) 370static int is_fpga_tio(int nasid, int *bt)
371{ 371{
372 u16 ioboard_type; 372 u16 uninitialized_var(ioboard_type); /* GCC be quiet */
373 s64 rc; 373 s64 rc;
374 374
375 rc = ia64_sn_sysctl_ioboard_get(nasid, &ioboard_type); 375 rc = ia64_sn_sysctl_ioboard_get(nasid, &ioboard_type);
diff --git a/arch/ia64/sn/kernel/xp_nofault.S b/arch/ia64/sn/kernel/xp_nofault.S
index b772543053c9..54e8973b6e99 100644
--- a/arch/ia64/sn/kernel/xp_nofault.S
+++ b/arch/ia64/sn/kernel/xp_nofault.S
@@ -21,7 +21,8 @@
21xp_nofault_PIOR: 21xp_nofault_PIOR:
22 mov r8=r0 // Stage a success return value 22 mov r8=r0 // Stage a success return value
23 ld8.acq r9=[r32];; // PIO Read the specified register 23 ld8.acq r9=[r32];; // PIO Read the specified register
24 adds r9=1,r9 // Add to force a consume 24 adds r9=1,r9;; // Add to force consumption
25 or r9=r9,r9;; // Or to force consumption
25 br.ret.sptk.many b0;; // Return success 26 br.ret.sptk.many b0;; // Return success
26 27
27 .global xp_error_PIOR 28 .global xp_error_PIOR
diff --git a/arch/ia64/sn/pci/pcibr/pcibr_provider.c b/arch/ia64/sn/pci/pcibr/pcibr_provider.c
index 04a8256017eb..42485ad50ceb 100644
--- a/arch/ia64/sn/pci/pcibr/pcibr_provider.c
+++ b/arch/ia64/sn/pci/pcibr/pcibr_provider.c
@@ -15,6 +15,7 @@
15#include <asm/sn/pcibus_provider_defs.h> 15#include <asm/sn/pcibus_provider_defs.h>
16#include <asm/sn/pcidev.h> 16#include <asm/sn/pcidev.h>
17#include <asm/sn/sn_sal.h> 17#include <asm/sn/sn_sal.h>
18#include <asm/sn/pic.h>
18#include <asm/sn/sn2/sn_hwperf.h> 19#include <asm/sn/sn2/sn_hwperf.h>
19#include "xtalk/xwidgetdev.h" 20#include "xtalk/xwidgetdev.h"
20#include "xtalk/hubdev.h" 21#include "xtalk/hubdev.h"
@@ -79,7 +80,7 @@ static int sal_pcibr_error_interrupt(struct pcibus_info *soft)
79u16 sn_ioboard_to_pci_bus(struct pci_bus *pci_bus) 80u16 sn_ioboard_to_pci_bus(struct pci_bus *pci_bus)
80{ 81{
81 s64 rc; 82 s64 rc;
82 u16 ioboard; 83 u16 uninitialized_var(ioboard); /* GCC be quiet */
83 nasid_t nasid = NASID_GET(SN_PCIBUS_BUSSOFT(pci_bus)->bs_base); 84 nasid_t nasid = NASID_GET(SN_PCIBUS_BUSSOFT(pci_bus)->bs_base);
84 85
85 rc = ia64_sn_sysctl_ioboard_get(nasid, &ioboard); 86 rc = ia64_sn_sysctl_ioboard_get(nasid, &ioboard);
@@ -130,9 +131,9 @@ pcibr_bus_fixup(struct pcibus_bussoft *prom_bussoft, struct pci_controller *cont
130 } 131 }
131 132
132 memcpy(soft, prom_bussoft, sizeof(struct pcibus_info)); 133 memcpy(soft, prom_bussoft, sizeof(struct pcibus_info));
133 soft->pbi_buscommon.bs_base = 134 soft->pbi_buscommon.bs_base = (unsigned long)
134 (((u64) soft->pbi_buscommon. 135 ioremap(REGION_OFFSET(soft->pbi_buscommon.bs_base),
135 bs_base << 4) >> 4) | __IA64_UNCACHED_OFFSET; 136 sizeof(struct pic));
136 137
137 spin_lock_init(&soft->pbi_lock); 138 spin_lock_init(&soft->pbi_lock);
138 139
diff --git a/arch/ia64/sn/pci/tioca_provider.c b/arch/ia64/sn/pci/tioca_provider.c
index b9bedbd6e1d6..d798dd4d0dc4 100644
--- a/arch/ia64/sn/pci/tioca_provider.c
+++ b/arch/ia64/sn/pci/tioca_provider.c
@@ -610,7 +610,9 @@ tioca_bus_fixup(struct pcibus_bussoft *prom_bussoft, struct pci_controller *cont
610 return NULL; 610 return NULL;
611 611
612 memcpy(tioca_common, prom_bussoft, sizeof(struct tioca_common)); 612 memcpy(tioca_common, prom_bussoft, sizeof(struct tioca_common));
613 tioca_common->ca_common.bs_base |= __IA64_UNCACHED_OFFSET; 613 tioca_common->ca_common.bs_base = (unsigned long)
614 ioremap(REGION_OFFSET(tioca_common->ca_common.bs_base),
615 sizeof(struct tioca_common));
614 616
615 /* init kernel-private area */ 617 /* init kernel-private area */
616 618
diff --git a/arch/ia64/sn/pci/tioce_provider.c b/arch/ia64/sn/pci/tioce_provider.c
index f4c0b961a939..84b72b27e27f 100644
--- a/arch/ia64/sn/pci/tioce_provider.c
+++ b/arch/ia64/sn/pci/tioce_provider.c
@@ -1002,7 +1002,9 @@ tioce_bus_fixup(struct pcibus_bussoft *prom_bussoft, struct pci_controller *cont
1002 return NULL; 1002 return NULL;
1003 1003
1004 memcpy(tioce_common, prom_bussoft, sizeof(struct tioce_common)); 1004 memcpy(tioce_common, prom_bussoft, sizeof(struct tioce_common));
1005 tioce_common->ce_pcibus.bs_base |= __IA64_UNCACHED_OFFSET; 1005 tioce_common->ce_pcibus.bs_base = (unsigned long)
1006 ioremap(REGION_OFFSET(tioce_common->ce_pcibus.bs_base),
1007 sizeof(struct tioce_common));
1006 1008
1007 tioce_kern = tioce_kern_init(tioce_common); 1009 tioce_kern = tioce_kern_init(tioce_common);
1008 if (tioce_kern == NULL) { 1010 if (tioce_kern == NULL) {
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index 9528ee90640a..5c863bcd5614 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -15,6 +15,29 @@ choice
15 prompt "System type" 15 prompt "System type"
16 default SGI_IP22 16 default SGI_IP22
17 17
18config LEMOTE_FULONG
19 bool "Lemote Fulong mini-PC"
20 select ARCH_SPARSEMEM_ENABLE
21 select SYS_HAS_CPU_LOONGSON2
22 select DMA_NONCOHERENT
23 select BOOT_ELF32
24 select BOARD_SCACHE
25 select HAVE_STD_PC_SERIAL_PORT
26 select HW_HAS_PCI
27 select I8259
28 select ISA
29 select IRQ_CPU
30 select SYS_SUPPORTS_32BIT_KERNEL
31 select SYS_SUPPORTS_64BIT_KERNEL
32 select SYS_SUPPORTS_LITTLE_ENDIAN
33 select SYS_SUPPORTS_HIGHMEM
34 select SYS_HAS_EARLY_PRINTK
35 select GENERIC_HARDIRQS_NO__DO_IRQ
36 select CPU_HAS_WB
37 help
38 Lemote Fulong mini-PC board based on the Chinese Loongson-2E CPU and
39 an FPGA northbridge
40
18config MACH_ALCHEMY 41config MACH_ALCHEMY
19 bool "Alchemy processor based machines" 42 bool "Alchemy processor based machines"
20 43
@@ -63,7 +86,7 @@ config MACH_DECSTATION
63 bool "DECstations" 86 bool "DECstations"
64 select BOOT_ELF32 87 select BOOT_ELF32
65 select DMA_NONCOHERENT 88 select DMA_NONCOHERENT
66 select SYS_HAS_EARLY_PRINTK 89 select NO_IOPORT
67 select IRQ_CPU 90 select IRQ_CPU
68 select SYS_HAS_CPU_R3000 91 select SYS_HAS_CPU_R3000
69 select SYS_HAS_CPU_R4X00 92 select SYS_HAS_CPU_R4X00
@@ -88,33 +111,15 @@ config MACH_DECSTATION
88 111
89 otherwise choose R3000. 112 otherwise choose R3000.
90 113
91config MIPS_EV64120
92 bool "Galileo EV64120 Evaluation board (EXPERIMENTAL)"
93 depends on EXPERIMENTAL
94 select DMA_NONCOHERENT
95 select HW_HAS_PCI
96 select PCI_GT64XXX_PCI0
97 select SYS_HAS_CPU_R5000
98 select SYS_SUPPORTS_32BIT_KERNEL
99 select SYS_SUPPORTS_64BIT_KERNEL
100 select SYS_SUPPORTS_BIG_ENDIAN
101 select SYS_SUPPORTS_KGDB
102 help
103 This is an evaluation board based on the Galileo GT-64120
104 single-chip system controller that contains a MIPS R5000 compatible
105 core running at 75/100MHz. Their website is located at
106 <http://www.marvell.com/>. Say Y here if you wish to build a
107 kernel for this platform.
108
109config MACH_JAZZ 114config MACH_JAZZ
110 bool "Jazz family of machines" 115 bool "Jazz family of machines"
111 select ARC 116 select ARC
112 select ARC32 117 select ARC32
113 select ARCH_MAY_HAVE_PC_FDC 118 select ARCH_MAY_HAVE_PC_FDC
114 select GENERIC_ISA_DMA 119 select GENERIC_ISA_DMA
115 select I8253
116 select I8259 120 select I8259
117 select ISA 121 select ISA
122 select PCSPEAKER
118 select SYS_HAS_CPU_R4X00 123 select SYS_HAS_CPU_R4X00
119 select SYS_SUPPORTS_32BIT_KERNEL 124 select SYS_SUPPORTS_32BIT_KERNEL
120 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL 125 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
@@ -126,20 +131,6 @@ config MACH_JAZZ
126 Members include the Acer PICA, MIPS Magnum 4000, MIPS Millenium and 131 Members include the Acer PICA, MIPS Magnum 4000, MIPS Millenium and
127 Olivetti M700-10 workstations. 132 Olivetti M700-10 workstations.
128 133
129config LASAT
130 bool "LASAT Networks platforms"
131 select DMA_NONCOHERENT
132 select SYS_HAS_EARLY_PRINTK
133 select HW_HAS_PCI
134 select PCI_GT64XXX_PCI0
135 select MIPS_NILE4
136 select R5000_CPU_SCACHE
137 select SYS_HAS_CPU_R5000
138 select SYS_SUPPORTS_32BIT_KERNEL
139 select SYS_SUPPORTS_64BIT_KERNEL if BROKEN
140 select SYS_SUPPORTS_LITTLE_ENDIAN
141 select GENERIC_HARDIRQS_NO__DO_IRQ
142
143config MIPS_ATLAS 134config MIPS_ATLAS
144 bool "MIPS Atlas board" 135 bool "MIPS Atlas board"
145 select BOOT_ELF32 136 select BOOT_ELF32
@@ -173,7 +164,6 @@ config MIPS_MALTA
173 bool "MIPS Malta board" 164 bool "MIPS Malta board"
174 select ARCH_MAY_HAVE_PC_FDC 165 select ARCH_MAY_HAVE_PC_FDC
175 select BOOT_ELF32 166 select BOOT_ELF32
176 select HAVE_STD_PC_SERIAL_PORT
177 select DMA_NONCOHERENT 167 select DMA_NONCOHERENT
178 select GENERIC_ISA_DMA 168 select GENERIC_ISA_DMA
179 select IRQ_CPU 169 select IRQ_CPU
@@ -246,11 +236,13 @@ config MIPS_SIM
246 select DMA_NONCOHERENT 236 select DMA_NONCOHERENT
247 select SYS_HAS_EARLY_PRINTK 237 select SYS_HAS_EARLY_PRINTK
248 select IRQ_CPU 238 select IRQ_CPU
239 select BOOT_RAW
249 select SYS_HAS_CPU_MIPS32_R1 240 select SYS_HAS_CPU_MIPS32_R1
250 select SYS_HAS_CPU_MIPS32_R2 241 select SYS_HAS_CPU_MIPS32_R2
251 select SYS_HAS_EARLY_PRINTK 242 select SYS_HAS_EARLY_PRINTK
252 select SYS_SUPPORTS_32BIT_KERNEL 243 select SYS_SUPPORTS_32BIT_KERNEL
253 select SYS_SUPPORTS_BIG_ENDIAN 244 select SYS_SUPPORTS_BIG_ENDIAN
245 select SYS_SUPPORTS_MULTITHREADING
254 select SYS_SUPPORTS_LITTLE_ENDIAN 246 select SYS_SUPPORTS_LITTLE_ENDIAN
255 help 247 help
256 This option enables support for MIPS Technologies MIPSsim software 248 This option enables support for MIPS Technologies MIPSsim software
@@ -274,50 +266,13 @@ config MOMENCO_OCELOT
274 The Ocelot is a MIPS-based Single Board Computer (SBC) made by 266 The Ocelot is a MIPS-based Single Board Computer (SBC) made by
275 Momentum Computer <http://www.momenco.com/>. 267 Momentum Computer <http://www.momenco.com/>.
276 268
277config MOMENCO_OCELOT_3
278 bool "Momentum Ocelot-3 board"
279 select BOOT_ELF32
280 select DMA_NONCOHERENT
281 select HW_HAS_PCI
282 select IRQ_CPU
283 select IRQ_CPU_RM7K
284 select IRQ_MV64340
285 select PCI_MARVELL
286 select RM7000_CPU_SCACHE
287 select SWAP_IO_SPACE
288 select SYS_HAS_CPU_RM9000
289 select SYS_SUPPORTS_32BIT_KERNEL
290 select SYS_SUPPORTS_64BIT_KERNEL
291 select SYS_SUPPORTS_BIG_ENDIAN
292 help
293 The Ocelot-3 is based off Discovery III System Controller and
294 PMC-Sierra Rm79000 core.
295
296config MOMENCO_OCELOT_C
297 bool "Momentum Ocelot-C board"
298 select DMA_NONCOHERENT
299 select HW_HAS_PCI
300 select IRQ_CPU
301 select IRQ_MV64340
302 select PCI_MARVELL
303 select RM7000_CPU_SCACHE
304 select SWAP_IO_SPACE
305 select SYS_HAS_CPU_RM7000
306 select SYS_SUPPORTS_32BIT_KERNEL
307 select SYS_SUPPORTS_64BIT_KERNEL
308 select SYS_SUPPORTS_BIG_ENDIAN
309 select GENERIC_HARDIRQS_NO__DO_IRQ
310 help
311 The Ocelot is a MIPS-based Single Board Computer (SBC) made by
312 Momentum Computer <http://www.momenco.com/>.
313
314config PNX8550_JBS 269config PNX8550_JBS
315 bool "Philips PNX8550 based JBS board" 270 bool "Philips PNX8550 based JBS board"
316 select PNX8550 271 select PNX8550
317 select SYS_SUPPORTS_LITTLE_ENDIAN 272 select SYS_SUPPORTS_LITTLE_ENDIAN
318 273
319config PNX8550_STB810 274config PNX8550_STB810
320 bool "Support for Philips PNX8550 based STB810 board" 275 bool "Philips PNX8550 based STB810 board"
321 select PNX8550 276 select PNX8550
322 select SYS_SUPPORTS_LITTLE_ENDIAN 277 select SYS_SUPPORTS_LITTLE_ENDIAN
323 278
@@ -346,6 +301,27 @@ config MACH_VR41XX
346 select SYS_HAS_CPU_VR41XX 301 select SYS_HAS_CPU_VR41XX
347 select GENERIC_HARDIRQS_NO__DO_IRQ 302 select GENERIC_HARDIRQS_NO__DO_IRQ
348 303
304config PMC_MSP
305 bool "PMC-Sierra MSP chipsets"
306 depends on EXPERIMENTAL
307 select DMA_NONCOHERENT
308 select SWAP_IO_SPACE
309 select NO_EXCEPT_FILL
310 select BOOT_RAW
311 select SYS_HAS_CPU_MIPS32_R1
312 select SYS_HAS_CPU_MIPS32_R2
313 select SYS_SUPPORTS_32BIT_KERNEL
314 select SYS_SUPPORTS_BIG_ENDIAN
315 select SYS_SUPPORTS_KGDB
316 select IRQ_CPU
317 select SERIAL_8250
318 select SERIAL_8250_CONSOLE
319 help
320 This adds support for the PMC-Sierra family of Multi-Service
321 Processor System-On-A-Chips. These parts include a number
322 of integrated peripherals, interfaces and DSPs in addition to
323 a variety of MIPS cores.
324
349config PMC_YOSEMITE 325config PMC_YOSEMITE
350 bool "PMC-Sierra Yosemite eval board" 326 bool "PMC-Sierra Yosemite eval board"
351 select DMA_COHERENT 327 select DMA_COHERENT
@@ -371,9 +347,9 @@ config QEMU
371 select DMA_COHERENT 347 select DMA_COHERENT
372 select GENERIC_ISA_DMA 348 select GENERIC_ISA_DMA
373 select HAVE_STD_PC_SERIAL_PORT 349 select HAVE_STD_PC_SERIAL_PORT
374 select I8253
375 select I8259 350 select I8259
376 select ISA 351 select ISA
352 select PCSPEAKER
377 select SWAP_IO_SPACE 353 select SWAP_IO_SPACE
378 select SYS_HAS_CPU_MIPS32_R1 354 select SYS_HAS_CPU_MIPS32_R1
379 select SYS_SUPPORTS_32BIT_KERNEL 355 select SYS_SUPPORTS_32BIT_KERNEL
@@ -392,7 +368,7 @@ config QEMU
392 can be found at http://www.linux-mips.org/wiki/Qemu. 368 can be found at http://www.linux-mips.org/wiki/Qemu.
393 369
394config MARKEINS 370config MARKEINS
395 bool "Support for NEC EMMA2RH Mark-eins" 371 bool "NEC EMMA2RH Mark-eins"
396 select DMA_NONCOHERENT 372 select DMA_NONCOHERENT
397 select HW_HAS_PCI 373 select HW_HAS_PCI
398 select IRQ_CPU 374 select IRQ_CPU
@@ -450,8 +426,7 @@ config SGI_IP27
450 here. 426 here.
451 427
452config SGI_IP32 428config SGI_IP32
453 bool "SGI IP32 (O2) (EXPERIMENTAL)" 429 bool "SGI IP32 (O2)"
454 depends on EXPERIMENTAL
455 select ARC 430 select ARC
456 select ARC32 431 select ARC32
457 select BOOT_ELF32 432 select BOOT_ELF32
@@ -587,9 +562,9 @@ config SNI_RM
587 select HW_HAS_EISA 562 select HW_HAS_EISA
588 select HW_HAS_PCI 563 select HW_HAS_PCI
589 select IRQ_CPU 564 select IRQ_CPU
590 select I8253
591 select I8259 565 select I8259
592 select ISA 566 select ISA
567 select PCSPEAKER
593 select SWAP_IO_SPACE if CPU_BIG_ENDIAN 568 select SWAP_IO_SPACE if CPU_BIG_ENDIAN
594 select SYS_HAS_CPU_R4X00 569 select SYS_HAS_CPU_R4X00
595 select SYS_HAS_CPU_R5000 570 select SYS_HAS_CPU_R5000
@@ -652,6 +627,7 @@ config TOSHIBA_RBTX4938
652 select SYS_SUPPORTS_BIG_ENDIAN 627 select SYS_SUPPORTS_BIG_ENDIAN
653 select SYS_SUPPORTS_KGDB 628 select SYS_SUPPORTS_KGDB
654 select GENERIC_HARDIRQS_NO__DO_IRQ 629 select GENERIC_HARDIRQS_NO__DO_IRQ
630 select GENERIC_GPIO
655 help 631 help
656 This Toshiba board is based on the TX4938 processor. Say Y here to 632 This Toshiba board is based on the TX4938 processor. Say Y here to
657 support this machine type 633 support this machine type
@@ -660,9 +636,7 @@ endchoice
660 636
661source "arch/mips/au1000/Kconfig" 637source "arch/mips/au1000/Kconfig"
662source "arch/mips/ddb5xxx/Kconfig" 638source "arch/mips/ddb5xxx/Kconfig"
663source "arch/mips/gt64120/ev64120/Kconfig"
664source "arch/mips/jazz/Kconfig" 639source "arch/mips/jazz/Kconfig"
665source "arch/mips/lasat/Kconfig"
666source "arch/mips/pmc-sierra/Kconfig" 640source "arch/mips/pmc-sierra/Kconfig"
667source "arch/mips/sgi-ip27/Kconfig" 641source "arch/mips/sgi-ip27/Kconfig"
668source "arch/mips/sibyte/Kconfig" 642source "arch/mips/sibyte/Kconfig"
@@ -721,6 +695,9 @@ config ARC
721config ARCH_MAY_HAVE_PC_FDC 695config ARCH_MAY_HAVE_PC_FDC
722 bool 696 bool
723 697
698config BOOT_RAW
699 bool
700
724config DMA_COHERENT 701config DMA_COHERENT
725 bool 702 bool
726 703
@@ -768,16 +745,19 @@ config MIPS_BONITO64
768config MIPS_MSC 745config MIPS_MSC
769 bool 746 bool
770 747
771config MIPS_NILE4
772 bool
773
774config MIPS_DISABLE_OBSOLETE_IDE 748config MIPS_DISABLE_OBSOLETE_IDE
775 bool 749 bool
776 750
751config NO_IOPORT
752 def_bool n
753
777config GENERIC_ISA_DMA_SUPPORT_BROKEN 754config GENERIC_ISA_DMA_SUPPORT_BROKEN
778 bool 755 bool
779 select ZONE_DMA 756 select ZONE_DMA
780 757
758config GENERIC_GPIO
759 bool
760
781# 761#
782# Endianess selection. Sufficiently obscure so many users don't know what to 762# Endianess selection. Sufficiently obscure so many users don't know what to
783# answer,so we try hard to limit the available choices. Also the use of a 763# answer,so we try hard to limit the available choices. Also the use of a
@@ -821,7 +801,10 @@ config IRQ_CPU_RM7K
821config IRQ_CPU_RM9K 801config IRQ_CPU_RM9K
822 bool 802 bool
823 803
824config IRQ_MV64340 804config IRQ_MSP_SLP
805 bool
806
807config IRQ_MSP_CIC
825 bool 808 bool
826 809
827config DDB5XXX_COMMON 810config DDB5XXX_COMMON
@@ -834,6 +817,9 @@ config MIPS_BOARDS_GEN
834config PCI_GT64XXX_PCI0 817config PCI_GT64XXX_PCI0
835 bool 818 bool
836 819
820config NO_EXCEPT_FILL
821 bool
822
837config MIPS_TX3927 823config MIPS_TX3927
838 bool 824 bool
839 select HAS_TXX9_SERIAL 825 select HAS_TXX9_SERIAL
@@ -841,14 +827,6 @@ config MIPS_TX3927
841config MIPS_RM9122 827config MIPS_RM9122
842 bool 828 bool
843 select SERIAL_RM9000 829 select SERIAL_RM9000
844 select GPI_RM9000
845 select WDT_RM9000
846
847config PCI_MARVELL
848 bool
849
850config SERIAL_RM9000
851 bool
852 830
853config PNX8550 831config PNX8550
854 bool 832 bool
@@ -863,6 +841,7 @@ config SOC_PNX8550
863 select SYS_SUPPORTS_32BIT_KERNEL 841 select SYS_SUPPORTS_32BIT_KERNEL
864 select GENERIC_HARDIRQS_NO__DO_IRQ 842 select GENERIC_HARDIRQS_NO__DO_IRQ
865 select SYS_SUPPORTS_KGDB 843 select SYS_SUPPORTS_KGDB
844 select GENERIC_GPIO
866 845
867config SWAP_IO_SPACE 846config SWAP_IO_SPACE
868 bool 847 bool
@@ -875,31 +854,17 @@ config EMMA2RH
875config SERIAL_RM9000 854config SERIAL_RM9000
876 bool 855 bool
877 856
878config GPI_RM9000
879 bool
880
881config WDT_RM9000
882 bool
883
884# 857#
885# Unfortunately not all GT64120 systems run the chip at the same clock. 858# Unfortunately not all GT64120 systems run the chip at the same clock.
886# As the user for the clock rate and try to minimize the available options. 859# As the user for the clock rate and try to minimize the available options.
887# 860#
888choice 861choice
889 prompt "Galileo Chip Clock" 862 prompt "Galileo Chip Clock"
890 #default SYSCLK_83 if MIPS_EV64120 863 depends on MOMENCO_OCELOT
891 depends on MIPS_EV64120 || MOMENCO_OCELOT
892 default SYSCLK_83 if MIPS_EV64120
893 default SYSCLK_100 if MOMENCO_OCELOT 864 default SYSCLK_100 if MOMENCO_OCELOT
894 865
895config SYSCLK_75
896 bool "75" if MIPS_EV64120
897
898config SYSCLK_83
899 bool "83.3" if MIPS_EV64120
900
901config SYSCLK_100 866config SYSCLK_100
902 bool "100" if MIPS_EV64120 || MOMENCO_OCELOT 867 bool "100" if MOMENCO_OCELOT
903 868
904endchoice 869endchoice
905 870
@@ -911,8 +876,9 @@ config BOOT_ELF32
911 876
912config MIPS_L1_CACHE_SHIFT 877config MIPS_L1_CACHE_SHIFT
913 int 878 int
914 default "4" if MACH_DECSTATION || SNI_RM 879 default "4" if MACH_DECSTATION
915 default "7" if SGI_IP27 880 default "7" if SGI_IP27 || SNI_RM
881 default "4" if PMC_MSP4200_EVAL
916 default "5" 882 default "5"
917 883
918config HAVE_STD_PC_SERIAL_PORT 884config HAVE_STD_PC_SERIAL_PORT
@@ -944,6 +910,16 @@ choice
944 prompt "CPU type" 910 prompt "CPU type"
945 default CPU_R4X00 911 default CPU_R4X00
946 912
913config CPU_LOONGSON2
914 bool "Loongson 2"
915 depends on SYS_HAS_CPU_LOONGSON2
916 select CPU_SUPPORTS_32BIT_KERNEL
917 select CPU_SUPPORTS_64BIT_KERNEL
918 select CPU_SUPPORTS_HIGHMEM
919 help
920 The Loongson 2E processor implements the MIPS III instruction set
921 with many extensions.
922
947config CPU_MIPS32_R1 923config CPU_MIPS32_R1
948 bool "MIPS32 Release 1" 924 bool "MIPS32 Release 1"
949 depends on SYS_HAS_CPU_MIPS32_R1 925 depends on SYS_HAS_CPU_MIPS32_R1
@@ -1154,6 +1130,9 @@ config CPU_SB1
1154 1130
1155endchoice 1131endchoice
1156 1132
1133config SYS_HAS_CPU_LOONGSON2
1134 bool
1135
1157config SYS_HAS_CPU_MIPS32_R1 1136config SYS_HAS_CPU_MIPS32_R1
1158 bool 1137 bool
1159 1138
@@ -1392,6 +1371,7 @@ config MIPS_VPE_LOADER
1392 depends on SYS_SUPPORTS_MULTITHREADING 1371 depends on SYS_SUPPORTS_MULTITHREADING
1393 select CPU_MIPSR2_IRQ_VI 1372 select CPU_MIPSR2_IRQ_VI
1394 select CPU_MIPSR2_IRQ_EI 1373 select CPU_MIPSR2_IRQ_EI
1374 select CPU_MIPSR2_SRS
1395 select MIPS_MT 1375 select MIPS_MT
1396 help 1376 help
1397 Includes a loader for loading an elf relocatable object 1377 Includes a loader for loading an elf relocatable object
@@ -1424,6 +1404,19 @@ config MIPS_MT_SMTC_INSTANT_REPLAY
1424 it off), but ensures that IPIs are handled promptly even under 1404 it off), but ensures that IPIs are handled promptly even under
1425 heavy I/O interrupt load. 1405 heavy I/O interrupt load.
1426 1406
1407config MIPS_MT_SMTC_IM_BACKSTOP
1408 bool "Use per-TC register bits as backstop for inhibited IM bits"
1409 depends on MIPS_MT_SMTC
1410 default y
1411 help
1412 To support multiple TC microthreads acting as "CPUs" within
1413 a VPE, VPE-wide interrupt mask bits must be specially manipulated
1414 during interrupt handling. To support legacy drivers and interrupt
1415 controller management code, SMTC has a "backstop" to track and
1416 if necessary restore the interrupt mask. This has some performance
1417 impact on interrupt service overhead. Disable it only if you know
1418 what you are doing.
1419
1427config MIPS_VPE_LOADER_TOM 1420config MIPS_VPE_LOADER_TOM
1428 bool "Load VPE program into memory hidden from linux" 1421 bool "Load VPE program into memory hidden from linux"
1429 depends on MIPS_VPE_LOADER 1422 depends on MIPS_VPE_LOADER
@@ -1487,6 +1480,15 @@ config CPU_HAS_SMARTMIPS
1487config CPU_HAS_WB 1480config CPU_HAS_WB
1488 bool 1481 bool
1489 1482
1483config 64BIT_CONTEXT
1484 bool "Save 64bit integer registers"
1485 depends on 32BIT && CPU_LOONGSON2
1486 help
1487 Loongson2 CPU is 64bit , when used in 32BIT mode, its integer
1488 registers can still be accessed as 64bit, mainly for multimedia
1489 instructions. We must have all 64bit save/restored to make sure
1490 those instructions to get correct result.
1491
1490# 1492#
1491# Vectored interrupt mode is an R2 feature 1493# Vectored interrupt mode is an R2 feature
1492# 1494#
@@ -1862,7 +1864,7 @@ config MMU
1862 bool 1864 bool
1863 default y 1865 default y
1864 1866
1865config I8253 1867config PCSPEAKER
1866 bool 1868 bool
1867 1869
1868source "drivers/pcmcia/Kconfig" 1870source "drivers/pcmcia/Kconfig"
diff --git a/arch/mips/Kconfig.debug b/arch/mips/Kconfig.debug
index 72d5c198e790..3efe117721aa 100644
--- a/arch/mips/Kconfig.debug
+++ b/arch/mips/Kconfig.debug
@@ -37,7 +37,7 @@ config DEBUG_STACK_USAGE
37 37
38 This option will slow down process creation somewhat. 38 This option will slow down process creation somewhat.
39 39
40config CONFIG_SMTC_IDLE_HOOK_DEBUG 40config SMTC_IDLE_HOOK_DEBUG
41 bool "Enable additional debug checks before going into CPU idle loop" 41 bool "Enable additional debug checks before going into CPU idle loop"
42 depends on DEBUG_KERNEL && MIPS_MT_SMTC 42 depends on DEBUG_KERNEL && MIPS_MT_SMTC
43 help 43 help
diff --git a/arch/mips/Makefile b/arch/mips/Makefile
index f450066b6241..20d19c9b7761 100644
--- a/arch/mips/Makefile
+++ b/arch/mips/Makefile
@@ -118,6 +118,7 @@ cflags-$(CONFIG_CPU_R4300) += -march=r4300 -Wa,--trap
118cflags-$(CONFIG_CPU_VR41XX) += -march=r4100 -Wa,--trap 118cflags-$(CONFIG_CPU_VR41XX) += -march=r4100 -Wa,--trap
119cflags-$(CONFIG_CPU_R4X00) += -march=r4600 -Wa,--trap 119cflags-$(CONFIG_CPU_R4X00) += -march=r4600 -Wa,--trap
120cflags-$(CONFIG_CPU_TX49XX) += -march=r4600 -Wa,--trap 120cflags-$(CONFIG_CPU_TX49XX) += -march=r4600 -Wa,--trap
121cflags-$(CONFIG_CPU_LOONGSON2) += -march=r4600 -Wa,--trap
121cflags-$(CONFIG_CPU_MIPS32_R1) += $(call cc-option,-march=mips32,-mips32 -U_MIPS_ISA -D_MIPS_ISA=_MIPS_ISA_MIPS32) \ 122cflags-$(CONFIG_CPU_MIPS32_R1) += $(call cc-option,-march=mips32,-mips32 -U_MIPS_ISA -D_MIPS_ISA=_MIPS_ISA_MIPS32) \
122 -Wa,-mips32 -Wa,--trap 123 -Wa,-mips32 -Wa,--trap
123cflags-$(CONFIG_CPU_MIPS32_R2) += $(call cc-option,-march=mips32r2,-mips32r2 -U_MIPS_ISA -D_MIPS_ISA=_MIPS_ISA_MIPS32) \ 124cflags-$(CONFIG_CPU_MIPS32_R2) += $(call cc-option,-march=mips32r2,-mips32r2 -U_MIPS_ISA -D_MIPS_ISA=_MIPS_ISA_MIPS32) \
@@ -283,14 +284,6 @@ load-$(CONFIG_MACH_DECSTATION) += 0xffffffff80040000
283CLEAN_FILES += drivers/tc/lk201-map.c 284CLEAN_FILES += drivers/tc/lk201-map.c
284 285
285# 286#
286# Galileo EV64120 Board
287#
288core-$(CONFIG_MIPS_EV64120) += arch/mips/gt64120/ev64120/
289core-$(CONFIG_MIPS_EV64120) += arch/mips/gt64120/common/
290cflags-$(CONFIG_MIPS_EV64120) += -Iinclude/asm-mips/mach-ev64120
291load-$(CONFIG_MIPS_EV64120) += 0xffffffff80100000
292
293#
294# Wind River PPMC Board (4KC + GT64120) 287# Wind River PPMC Board (4KC + GT64120)
295# 288#
296core-$(CONFIG_WR_PPMC) += arch/mips/gt64120/wrppmc/ 289core-$(CONFIG_WR_PPMC) += arch/mips/gt64120/wrppmc/
@@ -298,6 +291,13 @@ cflags-$(CONFIG_WR_PPMC) += -Iinclude/asm-mips/mach-wrppmc
298load-$(CONFIG_WR_PPMC) += 0xffffffff80100000 291load-$(CONFIG_WR_PPMC) += 0xffffffff80100000
299 292
300# 293#
294# lemote fulong mini-PC board
295#
296core-$(CONFIG_LEMOTE_FULONG) +=arch/mips/lemote/lm2e/
297load-$(CONFIG_LEMOTE_FULONG) +=0xffffffff80100000
298cflags-$(CONFIG_LEMOTE_FULONG) += -Iinclude/asm-mips/mach-lemote
299
300#
301# For all MIPS, Inc. eval boards 301# For all MIPS, Inc. eval boards
302# 302#
303core-$(CONFIG_MIPS_BOARDS_GEN) += arch/mips/mips-boards/generic/ 303core-$(CONFIG_MIPS_BOARDS_GEN) += arch/mips/mips-boards/generic/
@@ -327,7 +327,7 @@ load-$(CONFIG_MIPS_SEAD) += 0xffffffff80100000
327# 327#
328# MIPS SIM 328# MIPS SIM
329# 329#
330core-$(CONFIG_MIPS_SIM) += arch/mips/mips-boards/sim/ 330core-$(CONFIG_MIPS_SIM) += arch/mips/mipssim/
331cflags-$(CONFIG_MIPS_SIM) += -Iinclude/asm-mips/mach-sim 331cflags-$(CONFIG_MIPS_SIM) += -Iinclude/asm-mips/mach-sim
332load-$(CONFIG_MIPS_SIM) += 0x80100000 332load-$(CONFIG_MIPS_SIM) += 0x80100000
333 333
@@ -343,12 +343,12 @@ cflags-$(CONFIG_MOMENCO_OCELOT) += -Iinclude/asm-mips/mach-ocelot
343load-$(CONFIG_MOMENCO_OCELOT) += 0xffffffff80100000 343load-$(CONFIG_MOMENCO_OCELOT) += 0xffffffff80100000
344 344
345# 345#
346# Momentum Ocelot-C and -CS boards 346# PMC-Sierra MSP SOCs
347# 347#
348# The Ocelot-C[S] setup.o must be linked early - it does the ioremap() for the 348core-$(CONFIG_PMC_MSP) += arch/mips/pmc-sierra/msp71xx/
349# mips_io_port_base. 349cflags-$(CONFIG_PMC_MSP) += -Iinclude/asm-mips/pmc-sierra/msp71xx \
350core-$(CONFIG_MOMENCO_OCELOT_C) += arch/mips/momentum/ocelot_c/ 350 -mno-branch-likely
351load-$(CONFIG_MOMENCO_OCELOT_C) += 0xffffffff80100000 351load-$(CONFIG_PMC_MSP) += 0xffffffff80100000
352 352
353# 353#
354# PMC-Sierra Yosemite 354# PMC-Sierra Yosemite
@@ -365,13 +365,6 @@ cflags-$(CONFIG_QEMU) += -Iinclude/asm-mips/mach-qemu
365load-$(CONFIG_QEMU) += 0xffffffff80010000 365load-$(CONFIG_QEMU) += 0xffffffff80010000
366 366
367# 367#
368# Momentum Ocelot-3
369#
370core-$(CONFIG_MOMENCO_OCELOT_3) += arch/mips/momentum/ocelot_3/
371cflags-$(CONFIG_MOMENCO_OCELOT_3) += -Iinclude/asm-mips/mach-ocelot3
372load-$(CONFIG_MOMENCO_OCELOT_3) += 0xffffffff80100000
373
374#
375# Basler eXcite 368# Basler eXcite
376# 369#
377core-$(CONFIG_BASLER_EXCITE) += arch/mips/basler/excite/ 370core-$(CONFIG_BASLER_EXCITE) += arch/mips/basler/excite/
@@ -389,10 +382,6 @@ core-$(CONFIG_DDB5XXX_COMMON) += arch/mips/ddb5xxx/common/
389core-$(CONFIG_DDB5477) += arch/mips/ddb5xxx/ddb5477/ 382core-$(CONFIG_DDB5477) += arch/mips/ddb5xxx/ddb5477/
390load-$(CONFIG_DDB5477) += 0xffffffff80100000 383load-$(CONFIG_DDB5477) += 0xffffffff80100000
391 384
392core-$(CONFIG_LASAT) += arch/mips/lasat/
393cflags-$(CONFIG_LASAT) += -Iinclude/asm-mips/mach-lasat
394load-$(CONFIG_LASAT) += 0xffffffff80000000
395
396# 385#
397# Common VR41xx 386# Common VR41xx
398# 387#
@@ -580,6 +569,7 @@ load-$(CONFIG_TOSHIBA_JMR3927) += 0xffffffff80050000
580# 569#
581core-$(CONFIG_TOSHIBA_RBTX4927) += arch/mips/tx4927/toshiba_rbtx4927/ 570core-$(CONFIG_TOSHIBA_RBTX4927) += arch/mips/tx4927/toshiba_rbtx4927/
582core-$(CONFIG_TOSHIBA_RBTX4927) += arch/mips/tx4927/common/ 571core-$(CONFIG_TOSHIBA_RBTX4927) += arch/mips/tx4927/common/
572cflags-$(CONFIG_TOSHIBA_RBTX4927) += -Iinclude/asm-mips/mach-tx49xx
583load-$(CONFIG_TOSHIBA_RBTX4927) += 0xffffffff80020000 573load-$(CONFIG_TOSHIBA_RBTX4927) += 0xffffffff80020000
584 574
585# 575#
@@ -587,6 +577,7 @@ load-$(CONFIG_TOSHIBA_RBTX4927) += 0xffffffff80020000
587# 577#
588core-$(CONFIG_TOSHIBA_RBTX4938) += arch/mips/tx4938/toshiba_rbtx4938/ 578core-$(CONFIG_TOSHIBA_RBTX4938) += arch/mips/tx4938/toshiba_rbtx4938/
589core-$(CONFIG_TOSHIBA_RBTX4938) += arch/mips/tx4938/common/ 579core-$(CONFIG_TOSHIBA_RBTX4938) += arch/mips/tx4938/common/
580cflags-$(CONFIG_TOSHIBA_RBTX4938) += -Iinclude/asm-mips/mach-tx49xx
590load-$(CONFIG_TOSHIBA_RBTX4938) += 0xffffffff80100000 581load-$(CONFIG_TOSHIBA_RBTX4938) += 0xffffffff80100000
591 582
592cflags-y += -Iinclude/asm-mips/mach-generic 583cflags-y += -Iinclude/asm-mips/mach-generic
@@ -603,7 +594,8 @@ JIFFIES = jiffies_64
603endif 594endif
604 595
605AFLAGS += $(cflags-y) 596AFLAGS += $(cflags-y)
606CFLAGS += $(cflags-y) 597CFLAGS += $(cflags-y) \
598 -D"VMLINUX_LOAD_ADDRESS=$(load-y)"
607 599
608LDFLAGS += -m $(ld-emul) 600LDFLAGS += -m $(ld-emul)
609 601
@@ -633,18 +625,11 @@ CPPFLAGS_vmlinux.lds := \
633head-y := arch/mips/kernel/head.o arch/mips/kernel/init_task.o 625head-y := arch/mips/kernel/head.o arch/mips/kernel/init_task.o
634 626
635libs-y += arch/mips/lib/ 627libs-y += arch/mips/lib/
636libs-$(CONFIG_32BIT) += arch/mips/lib-32/
637libs-$(CONFIG_64BIT) += arch/mips/lib-64/
638 628
639core-y += arch/mips/kernel/ arch/mips/mm/ arch/mips/math-emu/ 629core-y += arch/mips/kernel/ arch/mips/mm/ arch/mips/math-emu/
640 630
641drivers-$(CONFIG_OPROFILE) += arch/mips/oprofile/ 631drivers-$(CONFIG_OPROFILE) += arch/mips/oprofile/
642 632
643ifdef CONFIG_LASAT
644rom.bin rom.sw: vmlinux
645 $(Q)$(MAKE) $(build)=arch/mips/lasat/image $@
646endif
647
648# 633#
649# Some machines like the Indy need 32-bit ELF binaries for booting purposes. 634# Some machines like the Indy need 32-bit ELF binaries for booting purposes.
650# Other need ECOFF, so we build a 32-bit ELF binary for them which we then 635# Other need ECOFF, so we build a 32-bit ELF binary for them which we then
@@ -702,32 +687,19 @@ vmlinux.srec: $(vmlinux-32)
702CLEAN_FILES += vmlinux.ecoff \ 687CLEAN_FILES += vmlinux.ecoff \
703 vmlinux.srec 688 vmlinux.srec
704 689
690archprepare:
691ifdef CONFIG_MIPS32_N32
692 @echo ' Checking missing-syscalls for N32'
693 $(Q)$(MAKE) $(build)=. missing-syscalls EXTRA_CFLAGS="-mabi=n32"
694endif
695ifdef CONFIG_MIPS32_O32
696 @echo ' Checking missing-syscalls for O32'
697 $(Q)$(MAKE) $(build)=. missing-syscalls EXTRA_CFLAGS="-mabi=32"
698endif
699
705archclean: 700archclean:
706 @$(MAKE) $(clean)=arch/mips/boot 701 @$(MAKE) $(clean)=arch/mips/boot
707 @$(MAKE) $(clean)=arch/mips/lasat
708 702
709CLEAN_FILES += vmlinux.32 \ 703CLEAN_FILES += vmlinux.32 \
710 vmlinux.64 \ 704 vmlinux.64 \
711 vmlinux.ecoff 705 vmlinux.ecoff
712
713quiet_cmd_syscalls_n32 = CALL-N32 $<
714 cmd_syscalls_n32 = $(CONFIG_SHELL) $< $(CC) $(c_flags) -mabi=n32
715
716quiet_cmd_syscalls_o32 = CALL-O32 $<
717 cmd_syscalls_o32 = $(CONFIG_SHELL) $< $(CC) $(c_flags) -mabi=32
718
719PHONY += missing-syscalls-n32 missing-syscalls-o32
720
721missing-syscalls-n32: scripts/checksyscalls.sh FORCE
722 $(call cmd,syscalls_n32)
723
724missing-syscalls-o32: scripts/checksyscalls.sh FORCE
725 $(call cmd,syscalls_o32)
726
727archprepare:
728ifdef CONFIG_MIPS32_N32
729 $(Q)$(MAKE) $(build)=arch/mips missing-syscalls-n32
730endif
731ifdef CONFIG_MIPS32_O32
732 $(Q)$(MAKE) $(build)=arch/mips missing-syscalls-o32
733endif
diff --git a/arch/mips/au1000/common/gpio.c b/arch/mips/au1000/common/gpio.c
index ce55297dcb8c..7abe42099439 100644
--- a/arch/mips/au1000/common/gpio.c
+++ b/arch/mips/au1000/common/gpio.c
@@ -1,4 +1,7 @@
1/* 1/*
2 * Copyright (C) 2007, OpenWrt.org, Florian Fainelli <florian@openwrt.org>
3 * Architecture specific GPIO support
4 *
2 * This program is free software; you can redistribute it and/or modify it 5 * This program is free software; you can redistribute it and/or modify it
3 * under the terms of the GNU General Public License as published by the 6 * under the terms of the GNU General Public License as published by the
4 * Free Software Foundation; either version 2 of the License, or (at your 7 * Free Software Foundation; either version 2 of the License, or (at your
@@ -18,101 +21,136 @@
18 * You should have received a copy of the GNU General Public License along 21 * You should have received a copy of the GNU General Public License along
19 * with this program; if not, write to the Free Software Foundation, Inc., 22 * with this program; if not, write to the Free Software Foundation, Inc.,
20 * 675 Mass Ave, Cambridge, MA 02139, USA. 23 * 675 Mass Ave, Cambridge, MA 02139, USA.
24 *
25 * Notes :
26 * au1000 SoC have only one GPIO line : GPIO1
27 * others have a second one : GPIO2
21 */ 28 */
29
30#include <linux/autoconf.h>
31#include <linux/init.h>
32#include <linux/io.h>
33#include <linux/types.h>
22#include <linux/module.h> 34#include <linux/module.h>
23#include <au1000.h> 35
24#include <au1xxx_gpio.h> 36#include <asm/addrspace.h>
37
38#include <asm/mach-au1x00/au1000.h>
39#include <asm/gpio.h>
25 40
26#define gpio1 sys 41#define gpio1 sys
27#if !defined(CONFIG_SOC_AU1000) 42#if !defined(CONFIG_SOC_AU1000)
28static AU1X00_GPIO2 * const gpio2 = (AU1X00_GPIO2 *)GPIO2_BASE;
29 43
30#define GPIO2_OUTPUT_ENABLE_MASK 0x00010000 44static struct au1x00_gpio2 *const gpio2 = (struct au1x00_gpio2 *) GPIO2_BASE;
45#define GPIO2_OUTPUT_ENABLE_MASK 0x00010000
31 46
32int au1xxx_gpio2_read(int signal) 47static int au1xxx_gpio2_read(unsigned gpio)
33{ 48{
34 signal -= 200; 49 gpio -= AU1XXX_GPIO_BASE;
35/* gpio2->dir &= ~(0x01 << signal); //Set GPIO to input */ 50 return ((gpio2->pinstate >> gpio) & 0x01);
36 return ((gpio2->pinstate >> signal) & 0x01);
37} 51}
38 52
39void au1xxx_gpio2_write(int signal, int value) 53static void au1xxx_gpio2_write(unsigned gpio, int value)
40{ 54{
41 signal -= 200; 55 gpio -= AU1XXX_GPIO_BASE;
42 56
43 gpio2->output = (GPIO2_OUTPUT_ENABLE_MASK << signal) | 57 gpio2->output = (GPIO2_OUTPUT_ENABLE_MASK << gpio) | (value << gpio);
44 (value << signal);
45} 58}
46 59
47void au1xxx_gpio2_tristate(int signal) 60static int au1xxx_gpio2_direction_input(unsigned gpio)
48{ 61{
49 signal -= 200; 62 gpio -= AU1XXX_GPIO_BASE;
50 gpio2->dir &= ~(0x01 << signal); /* Set GPIO to input */ 63 gpio2->dir &= ~(0x01 << gpio);
64 return 0;
51} 65}
52#endif
53 66
54int au1xxx_gpio1_read(int signal) 67static int au1xxx_gpio2_direction_output(unsigned gpio, int value)
68{
69 gpio -= AU1XXX_GPIO_BASE;
70 gpio2->dir = (0x01 << gpio) | (value << gpio);
71 return 0;
72}
73
74#endif /* !defined(CONFIG_SOC_AU1000) */
75
76static int au1xxx_gpio1_read(unsigned gpio)
55{ 77{
56/* gpio1->trioutclr |= (0x01 << signal); */ 78 return ((gpio1->pinstaterd >> gpio) & 0x01);
57 return ((gpio1->pinstaterd >> signal) & 0x01);
58} 79}
59 80
60void au1xxx_gpio1_write(int signal, int value) 81static void au1xxx_gpio1_write(unsigned gpio, int value)
61{ 82{
62 if(value) 83 if (value)
63 gpio1->outputset = (0x01 << signal); 84 gpio1->outputset = (0x01 << gpio);
64 else 85 else
65 gpio1->outputclr = (0x01 << signal); /* Output a Zero */ 86 /* Output a zero */
87 gpio1->outputclr = (0x01 << gpio);
66} 88}
67 89
68void au1xxx_gpio1_tristate(int signal) 90static int au1xxx_gpio1_direction_input(unsigned gpio)
69{ 91{
70 gpio1->trioutclr = (0x01 << signal); /* Tristate signal */ 92 gpio1->pininputen = (0x01 << gpio);
93 return 0;
71} 94}
72 95
96static int au1xxx_gpio1_direction_output(unsigned gpio, int value)
97{
98 gpio1->trioutclr = (0x01 & gpio);
99 return 0;
100}
73 101
74int au1xxx_gpio_read(int signal) 102int au1xxx_gpio_get_value(unsigned gpio)
75{ 103{
76 if(signal >= 200) 104 if (gpio >= AU1XXX_GPIO_BASE)
77#if defined(CONFIG_SOC_AU1000) 105#if defined(CONFIG_SOC_AU1000)
78 return 0; 106 return 0;
79#else 107#else
80 return au1xxx_gpio2_read(signal); 108 return au1xxx_gpio2_read(gpio);
81#endif 109#endif
82 else 110 else
83 return au1xxx_gpio1_read(signal); 111 return au1xxx_gpio1_read(gpio);
84} 112}
85 113
86void au1xxx_gpio_write(int signal, int value) 114EXPORT_SYMBOL(au1xxx_gpio_get_value);
115
116void au1xxx_gpio_set_value(unsigned gpio, int value)
87{ 117{
88 if(signal >= 200) 118 if (gpio >= AU1XXX_GPIO_BASE)
89#if defined(CONFIG_SOC_AU1000) 119#if defined(CONFIG_SOC_AU1000)
90 ; 120 ;
91#else 121#else
92 au1xxx_gpio2_write(signal, value); 122 au1xxx_gpio2_write(gpio, value);
93#endif 123#endif
94 else 124 else
95 au1xxx_gpio1_write(signal, value); 125 au1xxx_gpio1_write(gpio, value);
96} 126}
97 127
98void au1xxx_gpio_tristate(int signal) 128EXPORT_SYMBOL(au1xxx_gpio_set_value);
129
130int au1xxx_gpio_direction_input(unsigned gpio)
99{ 131{
100 if(signal >= 200) 132 if (gpio >= AU1XXX_GPIO_BASE)
101#if defined(CONFIG_SOC_AU1000) 133#if defined(CONFIG_SOC_AU1000)
102 ; 134 ;
103#else 135#else
104 au1xxx_gpio2_tristate(signal); 136 return au1xxx_gpio2_direction_input(gpio);
105#endif 137#endif
106 else 138 else
107 au1xxx_gpio1_tristate(signal); 139 return au1xxx_gpio1_direction_input(gpio);
108} 140}
109 141
110void au1xxx_gpio1_set_inputs(void) 142EXPORT_SYMBOL(au1xxx_gpio_direction_input);
143
144int au1xxx_gpio_direction_output(unsigned gpio, int value)
111{ 145{
112 gpio1->pininputen = 0; 146 if (gpio >= AU1XXX_GPIO_BASE)
147#if defined(CONFIG_SOC_AU1000)
148 ;
149#else
150 return au1xxx_gpio2_direction_output(gpio, value);
151#endif
152 else
153 return au1xxx_gpio1_direction_output(gpio, value);
113} 154}
114 155
115EXPORT_SYMBOL(au1xxx_gpio1_set_inputs); 156EXPORT_SYMBOL(au1xxx_gpio_direction_output);
116EXPORT_SYMBOL(au1xxx_gpio_tristate);
117EXPORT_SYMBOL(au1xxx_gpio_write);
118EXPORT_SYMBOL(au1xxx_gpio_read);
diff --git a/arch/mips/au1000/common/platform.c b/arch/mips/au1000/common/platform.c
index 8fd203d4a339..d51e18fb789b 100644
--- a/arch/mips/au1000/common/platform.c
+++ b/arch/mips/au1000/common/platform.c
@@ -289,7 +289,7 @@ static struct platform_device *au1xxx_platform_devices[] __initdata = {
289#endif 289#endif
290}; 290};
291 291
292int au1xxx_platform_init(void) 292int __init au1xxx_platform_init(void)
293{ 293{
294 return platform_add_devices(au1xxx_platform_devices, ARRAY_SIZE(au1xxx_platform_devices)); 294 return platform_add_devices(au1xxx_platform_devices, ARRAY_SIZE(au1xxx_platform_devices));
295} 295}
diff --git a/arch/mips/au1000/common/setup.c b/arch/mips/au1000/common/setup.c
index 13fe187f35d6..fdf2b85a69c8 100644
--- a/arch/mips/au1000/common/setup.c
+++ b/arch/mips/au1000/common/setup.c
@@ -100,9 +100,6 @@ void __init plat_mem_setup(void)
100 argptr = prom_getcmdline(); 100 argptr = prom_getcmdline();
101 /* default panel */ 101 /* default panel */
102 /*strcat(argptr, " video=au1100fb:panel:Sharp_320x240_16");*/ 102 /*strcat(argptr, " video=au1100fb:panel:Sharp_320x240_16");*/
103#ifdef CONFIG_MIPS_HYDROGEN3
104 strcat(argptr, " video=au1100fb:panel:Hydrogen_3_NEC_panel_320x240,nohwcursor");
105#endif
106 } 103 }
107#endif 104#endif
108 105
diff --git a/arch/mips/au1000/pb1100/init.c b/arch/mips/au1000/pb1100/init.c
index 1fae39a608cf..6131b56f41b5 100644
--- a/arch/mips/au1000/pb1100/init.c
+++ b/arch/mips/au1000/pb1100/init.c
@@ -53,7 +53,7 @@ void __init prom_init(void)
53 53
54 prom_argc = fw_arg0; 54 prom_argc = fw_arg0;
55 prom_argv = (char **) fw_arg1; 55 prom_argv = (char **) fw_arg1;
56 prom_envp = (int *) fw_arg3; 56 prom_envp = (char **) fw_arg3;
57 57
58 mips_machgroup = MACH_GROUP_ALCHEMY; 58 mips_machgroup = MACH_GROUP_ALCHEMY;
59 mips_machtype = MACH_PB1100; 59 mips_machtype = MACH_PB1100;
diff --git a/arch/mips/au1000/pb1500/board_setup.c b/arch/mips/au1000/pb1500/board_setup.c
index 0ffdb4fd575b..c9b655616fb3 100644
--- a/arch/mips/au1000/pb1500/board_setup.c
+++ b/arch/mips/au1000/pb1500/board_setup.c
@@ -125,7 +125,7 @@ void __init board_setup(void)
125 au_writel((au_readl(0xac000028) | 0x20), 0xac000028); 125 au_writel((au_readl(0xac000028) | 0x20), 0xac000028);
126 } 126 }
127 /* Put the clock in BCD mode */ 127 /* Put the clock in BCD mode */
128 if (readl(0xac00002C) & 0x4) { /* reg B */ 128 if (au_readl(0xac00002C) & 0x4) { /* reg B */
129 au_writel(au_readl(0xac00002c) & ~0x4, 0xac00002c); 129 au_writel(au_readl(0xac00002c) & ~0x4, 0xac00002c);
130 au_sync(); 130 au_sync();
131 } 131 }
diff --git a/arch/mips/cobalt/pci.c b/arch/mips/cobalt/pci.c
index d91027f43de6..cfce7af1bca9 100644
--- a/arch/mips/cobalt/pci.c
+++ b/arch/mips/cobalt/pci.c
@@ -35,6 +35,7 @@ static struct pci_controller cobalt_pci_controller = {
35 .mem_resource = &cobalt_mem_resource, 35 .mem_resource = &cobalt_mem_resource,
36 .io_resource = &cobalt_io_resource, 36 .io_resource = &cobalt_io_resource,
37 .io_offset = 0 - GT_DEF_PCI0_IO_BASE, 37 .io_offset = 0 - GT_DEF_PCI0_IO_BASE,
38 .io_map_base = CKSEG1ADDR(GT_DEF_PCI0_IO_BASE),
38}; 39};
39 40
40static int __init cobalt_pci_init(void) 41static int __init cobalt_pci_init(void)
diff --git a/arch/mips/configs/atlas_defconfig b/arch/mips/configs/atlas_defconfig
index 39e251300c64..129e2c961fec 100644
--- a/arch/mips/configs/atlas_defconfig
+++ b/arch/mips/configs/atlas_defconfig
@@ -25,9 +25,7 @@ CONFIG_ZONE_DMA=y
25# CONFIG_BASLER_EXCITE is not set 25# CONFIG_BASLER_EXCITE is not set
26# CONFIG_MIPS_COBALT is not set 26# CONFIG_MIPS_COBALT is not set
27# CONFIG_MACH_DECSTATION is not set 27# CONFIG_MACH_DECSTATION is not set
28# CONFIG_MIPS_EV64120 is not set
29# CONFIG_MACH_JAZZ is not set 28# CONFIG_MACH_JAZZ is not set
30# CONFIG_LASAT is not set
31CONFIG_MIPS_ATLAS=y 29CONFIG_MIPS_ATLAS=y
32# CONFIG_MIPS_MALTA is not set 30# CONFIG_MIPS_MALTA is not set
33# CONFIG_MIPS_SEAD is not set 31# CONFIG_MIPS_SEAD is not set
@@ -35,8 +33,6 @@ CONFIG_MIPS_ATLAS=y
35# CONFIG_MIPS_SIM is not set 33# CONFIG_MIPS_SIM is not set
36# CONFIG_MOMENCO_JAGUAR_ATX is not set 34# CONFIG_MOMENCO_JAGUAR_ATX is not set
37# CONFIG_MOMENCO_OCELOT is not set 35# CONFIG_MOMENCO_OCELOT is not set
38# CONFIG_MOMENCO_OCELOT_3 is not set
39# CONFIG_MOMENCO_OCELOT_C is not set
40# CONFIG_MOMENCO_OCELOT_G is not set 36# CONFIG_MOMENCO_OCELOT_G is not set
41# CONFIG_MIPS_XXS1500 is not set 37# CONFIG_MIPS_XXS1500 is not set
42# CONFIG_PNX8550_JBS is not set 38# CONFIG_PNX8550_JBS is not set
diff --git a/arch/mips/configs/bigsur_defconfig b/arch/mips/configs/bigsur_defconfig
index 4713a13211ce..dc3e1bf4e42e 100644
--- a/arch/mips/configs/bigsur_defconfig
+++ b/arch/mips/configs/bigsur_defconfig
@@ -25,9 +25,7 @@ CONFIG_ZONE_DMA=y
25# CONFIG_BASLER_EXCITE is not set 25# CONFIG_BASLER_EXCITE is not set
26# CONFIG_MIPS_COBALT is not set 26# CONFIG_MIPS_COBALT is not set
27# CONFIG_MACH_DECSTATION is not set 27# CONFIG_MACH_DECSTATION is not set
28# CONFIG_MIPS_EV64120 is not set
29# CONFIG_MACH_JAZZ is not set 28# CONFIG_MACH_JAZZ is not set
30# CONFIG_LASAT is not set
31# CONFIG_MIPS_ATLAS is not set 29# CONFIG_MIPS_ATLAS is not set
32# CONFIG_MIPS_MALTA is not set 30# CONFIG_MIPS_MALTA is not set
33# CONFIG_MIPS_SEAD is not set 31# CONFIG_MIPS_SEAD is not set
@@ -35,8 +33,6 @@ CONFIG_ZONE_DMA=y
35# CONFIG_MIPS_SIM is not set 33# CONFIG_MIPS_SIM is not set
36# CONFIG_MOMENCO_JAGUAR_ATX is not set 34# CONFIG_MOMENCO_JAGUAR_ATX is not set
37# CONFIG_MOMENCO_OCELOT is not set 35# CONFIG_MOMENCO_OCELOT is not set
38# CONFIG_MOMENCO_OCELOT_3 is not set
39# CONFIG_MOMENCO_OCELOT_C is not set
40# CONFIG_MOMENCO_OCELOT_G is not set 36# CONFIG_MOMENCO_OCELOT_G is not set
41# CONFIG_MIPS_XXS1500 is not set 37# CONFIG_MIPS_XXS1500 is not set
42# CONFIG_PNX8550_JBS is not set 38# CONFIG_PNX8550_JBS is not set
diff --git a/arch/mips/configs/capcella_defconfig b/arch/mips/configs/capcella_defconfig
index 5e7ae56b1f3c..4c7031222e64 100644
--- a/arch/mips/configs/capcella_defconfig
+++ b/arch/mips/configs/capcella_defconfig
@@ -25,9 +25,7 @@ CONFIG_ZONE_DMA=y
25# CONFIG_BASLER_EXCITE is not set 25# CONFIG_BASLER_EXCITE is not set
26# CONFIG_MIPS_COBALT is not set 26# CONFIG_MIPS_COBALT is not set
27# CONFIG_MACH_DECSTATION is not set 27# CONFIG_MACH_DECSTATION is not set
28# CONFIG_MIPS_EV64120 is not set
29# CONFIG_MACH_JAZZ is not set 28# CONFIG_MACH_JAZZ is not set
30# CONFIG_LASAT is not set
31# CONFIG_MIPS_ATLAS is not set 29# CONFIG_MIPS_ATLAS is not set
32# CONFIG_MIPS_MALTA is not set 30# CONFIG_MIPS_MALTA is not set
33# CONFIG_MIPS_SEAD is not set 31# CONFIG_MIPS_SEAD is not set
@@ -35,8 +33,6 @@ CONFIG_ZONE_DMA=y
35# CONFIG_MIPS_SIM is not set 33# CONFIG_MIPS_SIM is not set
36# CONFIG_MOMENCO_JAGUAR_ATX is not set 34# CONFIG_MOMENCO_JAGUAR_ATX is not set
37# CONFIG_MOMENCO_OCELOT is not set 35# CONFIG_MOMENCO_OCELOT is not set
38# CONFIG_MOMENCO_OCELOT_3 is not set
39# CONFIG_MOMENCO_OCELOT_C is not set
40# CONFIG_MOMENCO_OCELOT_G is not set 36# CONFIG_MOMENCO_OCELOT_G is not set
41# CONFIG_MIPS_XXS1500 is not set 37# CONFIG_MIPS_XXS1500 is not set
42# CONFIG_PNX8550_JBS is not set 38# CONFIG_PNX8550_JBS is not set
diff --git a/arch/mips/configs/cobalt_defconfig b/arch/mips/configs/cobalt_defconfig
index 631b2138ad68..c8c05785a86d 100644
--- a/arch/mips/configs/cobalt_defconfig
+++ b/arch/mips/configs/cobalt_defconfig
@@ -1,44 +1,24 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.21-rc7 3# Linux kernel version: 2.6.22-rc2
4# Wed Apr 18 14:25:45 2007 4# Fri May 25 11:17:29 2007
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
8# 8#
9# Machine selection 9# Machine selection
10# 10#
11CONFIG_ZONE_DMA=y 11# CONFIG_MACH_ALCHEMY is not set
12# CONFIG_MIPS_MTX1 is not set
13# CONFIG_MIPS_BOSPORUS is not set
14# CONFIG_MIPS_PB1000 is not set
15# CONFIG_MIPS_PB1100 is not set
16# CONFIG_MIPS_PB1500 is not set
17# CONFIG_MIPS_PB1550 is not set
18# CONFIG_MIPS_PB1200 is not set
19# CONFIG_MIPS_DB1000 is not set
20# CONFIG_MIPS_DB1100 is not set
21# CONFIG_MIPS_DB1500 is not set
22# CONFIG_MIPS_DB1550 is not set
23# CONFIG_MIPS_DB1200 is not set
24# CONFIG_MIPS_MIRAGE is not set
25# CONFIG_BASLER_EXCITE is not set 12# CONFIG_BASLER_EXCITE is not set
26CONFIG_MIPS_COBALT=y 13CONFIG_MIPS_COBALT=y
27# CONFIG_MACH_DECSTATION is not set 14# CONFIG_MACH_DECSTATION is not set
28# CONFIG_MIPS_EV64120 is not set
29# CONFIG_MACH_JAZZ is not set 15# CONFIG_MACH_JAZZ is not set
30# CONFIG_LASAT is not set
31# CONFIG_MIPS_ATLAS is not set 16# CONFIG_MIPS_ATLAS is not set
32# CONFIG_MIPS_MALTA is not set 17# CONFIG_MIPS_MALTA is not set
33# CONFIG_MIPS_SEAD is not set 18# CONFIG_MIPS_SEAD is not set
34# CONFIG_WR_PPMC is not set 19# CONFIG_WR_PPMC is not set
35# CONFIG_MIPS_SIM is not set 20# CONFIG_MIPS_SIM is not set
36# CONFIG_MOMENCO_JAGUAR_ATX is not set
37# CONFIG_MOMENCO_OCELOT is not set 21# CONFIG_MOMENCO_OCELOT is not set
38# CONFIG_MOMENCO_OCELOT_3 is not set
39# CONFIG_MOMENCO_OCELOT_C is not set
40# CONFIG_MOMENCO_OCELOT_G is not set
41# CONFIG_MIPS_XXS1500 is not set
42# CONFIG_PNX8550_JBS is not set 22# CONFIG_PNX8550_JBS is not set
43# CONFIG_PNX8550_STB810 is not set 23# CONFIG_PNX8550_STB810 is not set
44# CONFIG_DDB5477 is not set 24# CONFIG_DDB5477 is not set
@@ -138,7 +118,7 @@ CONFIG_FLAT_NODE_MEM_MAP=y
138# CONFIG_SPARSEMEM_STATIC is not set 118# CONFIG_SPARSEMEM_STATIC is not set
139CONFIG_SPLIT_PTLOCK_CPUS=4 119CONFIG_SPLIT_PTLOCK_CPUS=4
140# CONFIG_RESOURCES_64BIT is not set 120# CONFIG_RESOURCES_64BIT is not set
141CONFIG_ZONE_DMA_FLAG=1 121CONFIG_ZONE_DMA_FLAG=0
142# CONFIG_HZ_48 is not set 122# CONFIG_HZ_48 is not set
143# CONFIG_HZ_100 is not set 123# CONFIG_HZ_100 is not set
144# CONFIG_HZ_128 is not set 124# CONFIG_HZ_128 is not set
@@ -178,6 +158,7 @@ CONFIG_SYSVIPC_SYSCTL=y
178# CONFIG_UTS_NS is not set 158# CONFIG_UTS_NS is not set
179# CONFIG_AUDIT is not set 159# CONFIG_AUDIT is not set
180# CONFIG_IKCONFIG is not set 160# CONFIG_IKCONFIG is not set
161CONFIG_LOG_BUF_SHIFT=14
181CONFIG_SYSFS_DEPRECATED=y 162CONFIG_SYSFS_DEPRECATED=y
182CONFIG_RELAY=y 163CONFIG_RELAY=y
183# CONFIG_BLK_DEV_INITRD is not set 164# CONFIG_BLK_DEV_INITRD is not set
@@ -193,14 +174,19 @@ CONFIG_BUG=y
193CONFIG_ELF_CORE=y 174CONFIG_ELF_CORE=y
194CONFIG_BASE_FULL=y 175CONFIG_BASE_FULL=y
195CONFIG_FUTEX=y 176CONFIG_FUTEX=y
177CONFIG_ANON_INODES=y
196CONFIG_EPOLL=y 178CONFIG_EPOLL=y
179CONFIG_SIGNALFD=y
180CONFIG_TIMERFD=y
181CONFIG_EVENTFD=y
197CONFIG_SHMEM=y 182CONFIG_SHMEM=y
198CONFIG_SLAB=y
199CONFIG_VM_EVENT_COUNTERS=y 183CONFIG_VM_EVENT_COUNTERS=y
184CONFIG_SLAB=y
185# CONFIG_SLUB is not set
186# CONFIG_SLOB is not set
200CONFIG_RT_MUTEXES=y 187CONFIG_RT_MUTEXES=y
201# CONFIG_TINY_SHMEM is not set 188# CONFIG_TINY_SHMEM is not set
202CONFIG_BASE_SMALL=0 189CONFIG_BASE_SMALL=0
203# CONFIG_SLOB is not set
204 190
205# 191#
206# Loadable module support 192# Loadable module support
@@ -233,16 +219,13 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
233# 219#
234CONFIG_HW_HAS_PCI=y 220CONFIG_HW_HAS_PCI=y
235CONFIG_PCI=y 221CONFIG_PCI=y
222# CONFIG_ARCH_SUPPORTS_MSI is not set
236CONFIG_MMU=y 223CONFIG_MMU=y
237 224
238# 225#
239# PCCARD (PCMCIA/CardBus) support 226# PCCARD (PCMCIA/CardBus) support
240# 227#
241# CONFIG_PCCARD is not set 228# CONFIG_PCCARD is not set
242
243#
244# PCI Hotplug Support
245#
246# CONFIG_HOTPLUG_PCI is not set 229# CONFIG_HOTPLUG_PCI is not set
247 230
248# 231#
@@ -268,7 +251,6 @@ CONFIG_NET=y
268# 251#
269# Networking options 252# Networking options
270# 253#
271# CONFIG_NETDEBUG is not set
272CONFIG_PACKET=y 254CONFIG_PACKET=y
273# CONFIG_PACKET_MMAP is not set 255# CONFIG_PACKET_MMAP is not set
274CONFIG_UNIX=y 256CONFIG_UNIX=y
@@ -300,11 +282,11 @@ CONFIG_INET_TCP_DIAG=y
300# CONFIG_TCP_CONG_ADVANCED is not set 282# CONFIG_TCP_CONG_ADVANCED is not set
301CONFIG_TCP_CONG_CUBIC=y 283CONFIG_TCP_CONG_CUBIC=y
302CONFIG_DEFAULT_TCP_CONG="cubic" 284CONFIG_DEFAULT_TCP_CONG="cubic"
303CONFIG_TCP_MD5SIG=y 285# CONFIG_TCP_MD5SIG is not set
304# CONFIG_IPV6 is not set 286# CONFIG_IPV6 is not set
305# CONFIG_INET6_XFRM_TUNNEL is not set 287# CONFIG_INET6_XFRM_TUNNEL is not set
306# CONFIG_INET6_TUNNEL is not set 288# CONFIG_INET6_TUNNEL is not set
307CONFIG_NETWORK_SECMARK=y 289# CONFIG_NETWORK_SECMARK is not set
308# CONFIG_NETFILTER is not set 290# CONFIG_NETFILTER is not set
309 291
310# 292#
@@ -345,13 +327,16 @@ CONFIG_NETWORK_SECMARK=y
345# CONFIG_HAMRADIO is not set 327# CONFIG_HAMRADIO is not set
346# CONFIG_IRDA is not set 328# CONFIG_IRDA is not set
347# CONFIG_BT is not set 329# CONFIG_BT is not set
348CONFIG_IEEE80211=y 330# CONFIG_AF_RXRPC is not set
349# CONFIG_IEEE80211_DEBUG is not set 331
350CONFIG_IEEE80211_CRYPT_WEP=y 332#
351CONFIG_IEEE80211_CRYPT_CCMP=y 333# Wireless
352CONFIG_IEEE80211_SOFTMAC=y 334#
353# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set 335# CONFIG_CFG80211 is not set
354CONFIG_WIRELESS_EXT=y 336# CONFIG_WIRELESS_EXT is not set
337# CONFIG_MAC80211 is not set
338# CONFIG_IEEE80211 is not set
339# CONFIG_RFKILL is not set
355 340
356# 341#
357# Device Drivers 342# Device Drivers
@@ -370,10 +355,6 @@ CONFIG_FW_LOADER=y
370# 355#
371CONFIG_CONNECTOR=y 356CONFIG_CONNECTOR=y
372CONFIG_PROC_EVENTS=y 357CONFIG_PROC_EVENTS=y
373
374#
375# Memory Technology Devices (MTD)
376#
377CONFIG_MTD=y 358CONFIG_MTD=y
378# CONFIG_MTD_DEBUG is not set 359# CONFIG_MTD_DEBUG is not set
379# CONFIG_MTD_CONCAT is not set 360# CONFIG_MTD_CONCAT is not set
@@ -418,7 +399,6 @@ CONFIG_MTD_CFI_UTIL=y
418# CONFIG_MTD_RAM is not set 399# CONFIG_MTD_RAM is not set
419# CONFIG_MTD_ROM is not set 400# CONFIG_MTD_ROM is not set
420# CONFIG_MTD_ABSENT is not set 401# CONFIG_MTD_ABSENT is not set
421# CONFIG_MTD_OBSOLETE_CHIPS is not set
422 402
423# 403#
424# Mapping drivers for chip access 404# Mapping drivers for chip access
@@ -445,16 +425,13 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=0
445# CONFIG_MTD_DOC2000 is not set 425# CONFIG_MTD_DOC2000 is not set
446# CONFIG_MTD_DOC2001 is not set 426# CONFIG_MTD_DOC2001 is not set
447# CONFIG_MTD_DOC2001PLUS is not set 427# CONFIG_MTD_DOC2001PLUS is not set
448
449#
450# NAND Flash Device Drivers
451#
452# CONFIG_MTD_NAND is not set 428# CONFIG_MTD_NAND is not set
429# CONFIG_MTD_ONENAND is not set
453 430
454# 431#
455# OneNAND Flash Device Drivers 432# UBI - Unsorted block images
456# 433#
457# CONFIG_MTD_ONENAND is not set 434# CONFIG_MTD_UBI is not set
458 435
459# 436#
460# Parallel port support 437# Parallel port support
@@ -479,87 +456,145 @@ CONFIG_BLK_DEV_LOOP=y
479# CONFIG_BLK_DEV_NBD is not set 456# CONFIG_BLK_DEV_NBD is not set
480# CONFIG_BLK_DEV_SX8 is not set 457# CONFIG_BLK_DEV_SX8 is not set
481# CONFIG_BLK_DEV_RAM is not set 458# CONFIG_BLK_DEV_RAM is not set
482CONFIG_CDROM_PKTCDVD=y 459# CONFIG_CDROM_PKTCDVD is not set
483CONFIG_CDROM_PKTCDVD_BUFFERS=8 460# CONFIG_ATA_OVER_ETH is not set
484# CONFIG_CDROM_PKTCDVD_WCACHE is not set
485CONFIG_ATA_OVER_ETH=y
486 461
487# 462#
488# Misc devices 463# Misc devices
489# 464#
490CONFIG_SGI_IOC4=y 465# CONFIG_PHANTOM is not set
466# CONFIG_SGI_IOC4 is not set
491# CONFIG_TIFM_CORE is not set 467# CONFIG_TIFM_CORE is not set
492 468# CONFIG_BLINK is not set
493# 469# CONFIG_IDE is not set
494# ATA/ATAPI/MFM/RLL support
495#
496CONFIG_IDE=y
497CONFIG_IDE_MAX_HWIFS=4
498CONFIG_BLK_DEV_IDE=y
499
500#
501# Please see Documentation/ide.txt for help/info on IDE drives
502#
503# CONFIG_BLK_DEV_IDE_SATA is not set
504CONFIG_BLK_DEV_IDEDISK=y
505# CONFIG_IDEDISK_MULTI_MODE is not set
506# CONFIG_BLK_DEV_IDECD is not set
507# CONFIG_BLK_DEV_IDETAPE is not set
508# CONFIG_BLK_DEV_IDEFLOPPY is not set
509# CONFIG_IDE_TASK_IOCTL is not set
510
511#
512# IDE chipset support/bugfixes
513#
514CONFIG_IDE_GENERIC=y
515CONFIG_BLK_DEV_IDEPCI=y
516# CONFIG_IDEPCI_SHARE_IRQ is not set
517# CONFIG_BLK_DEV_OFFBOARD is not set
518# CONFIG_BLK_DEV_GENERIC is not set
519# CONFIG_BLK_DEV_OPTI621 is not set
520CONFIG_BLK_DEV_IDEDMA_PCI=y
521# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
522# CONFIG_IDEDMA_ONLYDISK is not set
523# CONFIG_BLK_DEV_AEC62XX is not set
524# CONFIG_BLK_DEV_ALI15X3 is not set
525# CONFIG_BLK_DEV_AMD74XX is not set
526# CONFIG_BLK_DEV_CMD64X is not set
527# CONFIG_BLK_DEV_TRIFLEX is not set
528# CONFIG_BLK_DEV_CY82C693 is not set
529# CONFIG_BLK_DEV_CS5520 is not set
530# CONFIG_BLK_DEV_CS5530 is not set
531# CONFIG_BLK_DEV_HPT34X is not set
532# CONFIG_BLK_DEV_HPT366 is not set
533# CONFIG_BLK_DEV_JMICRON is not set
534# CONFIG_BLK_DEV_SC1200 is not set
535# CONFIG_BLK_DEV_PIIX is not set
536CONFIG_BLK_DEV_IT8213=y
537# CONFIG_BLK_DEV_IT821X is not set
538# CONFIG_BLK_DEV_NS87415 is not set
539# CONFIG_BLK_DEV_PDC202XX_OLD is not set
540# CONFIG_BLK_DEV_PDC202XX_NEW is not set
541# CONFIG_BLK_DEV_SVWKS is not set
542# CONFIG_BLK_DEV_SIIMAGE is not set
543# CONFIG_BLK_DEV_SLC90E66 is not set
544# CONFIG_BLK_DEV_TRM290 is not set
545CONFIG_BLK_DEV_VIA82CXXX=y
546CONFIG_BLK_DEV_TC86C001=y
547# CONFIG_IDE_ARM is not set
548CONFIG_BLK_DEV_IDEDMA=y
549# CONFIG_IDEDMA_IVB is not set
550# CONFIG_BLK_DEV_HD is not set
551 470
552# 471#
553# SCSI device support 472# SCSI device support
554# 473#
555CONFIG_RAID_ATTRS=y 474CONFIG_RAID_ATTRS=y
556# CONFIG_SCSI is not set 475CONFIG_SCSI=y
476# CONFIG_SCSI_TGT is not set
557# CONFIG_SCSI_NETLINK is not set 477# CONFIG_SCSI_NETLINK is not set
558 478CONFIG_SCSI_PROC_FS=y
559# 479
560# Serial ATA (prod) and Parallel ATA (experimental) drivers 480#
561# 481# SCSI support type (disk, tape, CD-ROM)
562# CONFIG_ATA is not set 482#
483CONFIG_BLK_DEV_SD=y
484# CONFIG_CHR_DEV_ST is not set
485# CONFIG_CHR_DEV_OSST is not set
486# CONFIG_BLK_DEV_SR is not set
487# CONFIG_CHR_DEV_SG is not set
488# CONFIG_CHR_DEV_SCH is not set
489
490#
491# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
492#
493# CONFIG_SCSI_MULTI_LUN is not set
494# CONFIG_SCSI_CONSTANTS is not set
495# CONFIG_SCSI_LOGGING is not set
496# CONFIG_SCSI_SCAN_ASYNC is not set
497
498#
499# SCSI Transports
500#
501# CONFIG_SCSI_SPI_ATTRS is not set
502# CONFIG_SCSI_FC_ATTRS is not set
503# CONFIG_SCSI_ISCSI_ATTRS is not set
504# CONFIG_SCSI_SAS_ATTRS is not set
505# CONFIG_SCSI_SAS_LIBSAS is not set
506
507#
508# SCSI low-level drivers
509#
510# CONFIG_ISCSI_TCP is not set
511# CONFIG_BLK_DEV_3W_XXXX_RAID 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
515# CONFIG_SCSI_AIC7XXX is not set
516# CONFIG_SCSI_AIC7XXX_OLD is not set
517# CONFIG_SCSI_AIC79XX is not set
518# CONFIG_SCSI_AIC94XX is not set
519# CONFIG_SCSI_DPT_I2O is not set
520# CONFIG_SCSI_ARCMSR is not set
521# CONFIG_MEGARAID_NEWGEN is not set
522# CONFIG_MEGARAID_LEGACY is not set
523# CONFIG_MEGARAID_SAS is not set
524# CONFIG_SCSI_HPTIOP is not set
525# CONFIG_SCSI_DMX3191D is not set
526# CONFIG_SCSI_FUTURE_DOMAIN is not set
527# CONFIG_SCSI_IPS is not set
528# CONFIG_SCSI_INITIO is not set
529# CONFIG_SCSI_INIA100 is not set
530# CONFIG_SCSI_STEX is not set
531# CONFIG_SCSI_SYM53C8XX_2 is not set
532# CONFIG_SCSI_IPR is not set
533# CONFIG_SCSI_QLOGIC_1280 is not set
534# CONFIG_SCSI_QLA_FC is not set
535# CONFIG_SCSI_QLA_ISCSI is not set
536# CONFIG_SCSI_LPFC is not set
537# CONFIG_SCSI_DC395x is not set
538# CONFIG_SCSI_DC390T is not set
539# CONFIG_SCSI_NSP32 is not set
540# CONFIG_SCSI_DEBUG is not set
541# CONFIG_SCSI_ESP_CORE is not set
542# CONFIG_SCSI_SRP is not set
543CONFIG_ATA=y
544# CONFIG_ATA_NONSTANDARD is not set
545# CONFIG_SATA_AHCI is not set
546# CONFIG_SATA_SVW is not set
547# CONFIG_ATA_PIIX is not set
548# CONFIG_SATA_MV is not set
549# CONFIG_SATA_NV is not set
550# CONFIG_PDC_ADMA is not set
551# CONFIG_SATA_QSTOR is not set
552# CONFIG_SATA_PROMISE is not set
553# CONFIG_SATA_SX4 is not set
554# CONFIG_SATA_SIL is not set
555# CONFIG_SATA_SIL24 is not set
556# CONFIG_SATA_SIS is not set
557# CONFIG_SATA_ULI is not set
558# CONFIG_SATA_VIA is not set
559# CONFIG_SATA_VITESSE is not set
560# CONFIG_SATA_INIC162X is not set
561# CONFIG_PATA_ALI is not set
562# CONFIG_PATA_AMD is not set
563# CONFIG_PATA_ARTOP is not set
564# CONFIG_PATA_ATIIXP is not set
565# CONFIG_PATA_CMD640_PCI is not set
566# CONFIG_PATA_CMD64X is not set
567# CONFIG_PATA_CS5520 is not set
568# CONFIG_PATA_CS5530 is not set
569# CONFIG_PATA_CYPRESS is not set
570# CONFIG_PATA_EFAR is not set
571# CONFIG_ATA_GENERIC is not set
572# CONFIG_PATA_HPT366 is not set
573# CONFIG_PATA_HPT37X is not set
574# CONFIG_PATA_HPT3X2N is not set
575# CONFIG_PATA_HPT3X3 is not set
576# CONFIG_PATA_IT821X is not set
577# CONFIG_PATA_IT8213 is not set
578# CONFIG_PATA_JMICRON is not set
579# CONFIG_PATA_TRIFLEX is not set
580# CONFIG_PATA_MARVELL is not set
581# CONFIG_PATA_MPIIX is not set
582# CONFIG_PATA_OLDPIIX is not set
583# CONFIG_PATA_NETCELL is not set
584# CONFIG_PATA_NS87410 is not set
585# CONFIG_PATA_OPTI is not set
586# CONFIG_PATA_OPTIDMA is not set
587# CONFIG_PATA_PDC_OLD is not set
588# CONFIG_PATA_RADISYS is not set
589# CONFIG_PATA_RZ1000 is not set
590# CONFIG_PATA_SC1200 is not set
591# CONFIG_PATA_SERVERWORKS is not set
592# CONFIG_PATA_PDC2027X is not set
593# CONFIG_PATA_SIL680 is not set
594# CONFIG_PATA_SIS is not set
595CONFIG_PATA_VIA=y
596# CONFIG_PATA_WINBOND is not set
597# CONFIG_PATA_PLATFORM is not set
563 598
564# 599#
565# Multi-device support (RAID and LVM) 600# Multi-device support (RAID and LVM)
@@ -570,10 +605,14 @@ CONFIG_RAID_ATTRS=y
570# Fusion MPT device support 605# Fusion MPT device support
571# 606#
572# CONFIG_FUSION is not set 607# CONFIG_FUSION is not set
608# CONFIG_FUSION_SPI is not set
609# CONFIG_FUSION_FC is not set
610# CONFIG_FUSION_SAS is not set
573 611
574# 612#
575# IEEE 1394 (FireWire) support 613# IEEE 1394 (FireWire) support
576# 614#
615# CONFIG_FIREWIRE is not set
577# CONFIG_IEEE1394 is not set 616# CONFIG_IEEE1394 is not set
578 617
579# 618#
@@ -594,24 +633,7 @@ CONFIG_NETDEVICES=y
594# ARCnet devices 633# ARCnet devices
595# 634#
596# CONFIG_ARCNET is not set 635# CONFIG_ARCNET is not set
597 636# CONFIG_PHYLIB is not set
598#
599# PHY device support
600#
601CONFIG_PHYLIB=y
602
603#
604# MII PHY device drivers
605#
606CONFIG_MARVELL_PHY=y
607CONFIG_DAVICOM_PHY=y
608CONFIG_QSEMI_PHY=y
609CONFIG_LXT_PHY=y
610CONFIG_CICADA_PHY=y
611CONFIG_VITESSE_PHY=y
612CONFIG_SMSC_PHY=y
613# CONFIG_BROADCOM_PHY is not set
614# CONFIG_FIXED_PHY is not set
615 637
616# 638#
617# Ethernet (10 or 100Mbit) 639# Ethernet (10 or 100Mbit)
@@ -639,35 +661,8 @@ CONFIG_TULIP=y
639# CONFIG_ULI526X is not set 661# CONFIG_ULI526X is not set
640# CONFIG_HP100 is not set 662# CONFIG_HP100 is not set
641# CONFIG_NET_PCI is not set 663# CONFIG_NET_PCI is not set
642 664# CONFIG_NETDEV_1000 is not set
643# 665# CONFIG_NETDEV_10000 is not set
644# Ethernet (1000 Mbit)
645#
646# CONFIG_ACENIC is not set
647# CONFIG_DL2K is not set
648# CONFIG_E1000 is not set
649# CONFIG_NS83820 is not set
650# CONFIG_HAMACHI is not set
651# CONFIG_YELLOWFIN is not set
652# CONFIG_R8169 is not set
653# CONFIG_SIS190 is not set
654# CONFIG_SKGE is not set
655# CONFIG_SKY2 is not set
656# CONFIG_SK98LIN is not set
657# CONFIG_TIGON3 is not set
658# CONFIG_BNX2 is not set
659CONFIG_QLA3XXX=y
660# CONFIG_ATL1 is not set
661
662#
663# Ethernet (10000 Mbit)
664#
665# CONFIG_CHELSIO_T1 is not set
666CONFIG_CHELSIO_T3=y
667# CONFIG_IXGB is not set
668# CONFIG_S2IO is not set
669# CONFIG_MYRI10GE is not set
670CONFIG_NETXEN_NIC=y
671 666
672# 667#
673# Token Ring devices 668# Token Ring devices
@@ -675,18 +670,16 @@ CONFIG_NETXEN_NIC=y
675# CONFIG_TR is not set 670# CONFIG_TR is not set
676 671
677# 672#
678# Wireless LAN (non-hamradio) 673# Wireless LAN
679#
680# CONFIG_NET_RADIO is not set
681
682#
683# Wan interfaces
684# 674#
675# CONFIG_WLAN_PRE80211 is not set
676# CONFIG_WLAN_80211 is not set
685# CONFIG_WAN is not set 677# CONFIG_WAN is not set
686# CONFIG_FDDI is not set 678# CONFIG_FDDI is not set
687# CONFIG_HIPPI is not set 679# CONFIG_HIPPI is not set
688# CONFIG_PPP is not set 680# CONFIG_PPP is not set
689# CONFIG_SLIP is not set 681# CONFIG_SLIP is not set
682# CONFIG_NET_FC is not set
690# CONFIG_SHAPER is not set 683# CONFIG_SHAPER is not set
691# CONFIG_NETCONSOLE is not set 684# CONFIG_NETCONSOLE is not set
692# CONFIG_NETPOLL is not set 685# CONFIG_NETPOLL is not set
@@ -711,10 +704,7 @@ CONFIG_INPUT=y
711# 704#
712# Userland interfaces 705# Userland interfaces
713# 706#
714CONFIG_INPUT_MOUSEDEV=y 707# CONFIG_INPUT_MOUSEDEV is not set
715CONFIG_INPUT_MOUSEDEV_PSAUX=y
716CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
717CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
718# CONFIG_INPUT_JOYDEV is not set 708# CONFIG_INPUT_JOYDEV is not set
719# CONFIG_INPUT_TSDEV is not set 709# CONFIG_INPUT_TSDEV is not set
720# CONFIG_INPUT_EVDEV is not set 710# CONFIG_INPUT_EVDEV is not set
@@ -726,18 +716,23 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
726# CONFIG_INPUT_KEYBOARD is not set 716# CONFIG_INPUT_KEYBOARD is not set
727# CONFIG_INPUT_MOUSE is not set 717# CONFIG_INPUT_MOUSE is not set
728# CONFIG_INPUT_JOYSTICK is not set 718# CONFIG_INPUT_JOYSTICK is not set
719# CONFIG_INPUT_TABLET is not set
729# CONFIG_INPUT_TOUCHSCREEN is not set 720# CONFIG_INPUT_TOUCHSCREEN is not set
730# CONFIG_INPUT_MISC is not set 721CONFIG_INPUT_MISC=y
722# CONFIG_INPUT_PCSPKR is not set
723CONFIG_INPUT_COBALT_BTNS=y
724# CONFIG_INPUT_ATI_REMOTE is not set
725# CONFIG_INPUT_ATI_REMOTE2 is not set
726# CONFIG_INPUT_KEYSPAN_REMOTE is not set
727# CONFIG_INPUT_POWERMATE is not set
728# CONFIG_INPUT_YEALINK is not set
729# CONFIG_INPUT_UINPUT is not set
730CONFIG_INPUT_POLLDEV=y
731 731
732# 732#
733# Hardware I/O ports 733# Hardware I/O ports
734# 734#
735CONFIG_SERIO=y 735# CONFIG_SERIO is not set
736# CONFIG_SERIO_I8042 is not set
737CONFIG_SERIO_SERPORT=y
738# CONFIG_SERIO_PCIPS2 is not set
739# CONFIG_SERIO_LIBPS2 is not set
740CONFIG_SERIO_RAW=y
741# CONFIG_GAMEPORT is not set 736# CONFIG_GAMEPORT is not set
742 737
743# 738#
@@ -754,7 +749,7 @@ CONFIG_VT_HW_CONSOLE_BINDING=y
754# 749#
755CONFIG_SERIAL_8250=y 750CONFIG_SERIAL_8250=y
756CONFIG_SERIAL_8250_CONSOLE=y 751CONFIG_SERIAL_8250_CONSOLE=y
757CONFIG_SERIAL_8250_PCI=y 752# CONFIG_SERIAL_8250_PCI is not set
758CONFIG_SERIAL_8250_NR_UARTS=4 753CONFIG_SERIAL_8250_NR_UARTS=4
759CONFIG_SERIAL_8250_RUNTIME_UARTS=4 754CONFIG_SERIAL_8250_RUNTIME_UARTS=4
760# CONFIG_SERIAL_8250_EXTENDED is not set 755# CONFIG_SERIAL_8250_EXTENDED is not set
@@ -773,16 +768,11 @@ CONFIG_LEGACY_PTY_COUNT=256
773# IPMI 768# IPMI
774# 769#
775# CONFIG_IPMI_HANDLER is not set 770# CONFIG_IPMI_HANDLER is not set
776
777#
778# Watchdog Cards
779#
780# CONFIG_WATCHDOG is not set 771# CONFIG_WATCHDOG is not set
781# CONFIG_HW_RANDOM is not set 772# CONFIG_HW_RANDOM is not set
782# CONFIG_RTC is not set 773# CONFIG_RTC is not set
783# CONFIG_GEN_RTC is not set 774# CONFIG_GEN_RTC is not set
784CONFIG_COBALT_LCD=y 775CONFIG_COBALT_LCD=y
785# CONFIG_DTLK is not set
786# CONFIG_R3964 is not set 776# CONFIG_R3964 is not set
787# CONFIG_APPLICOM is not set 777# CONFIG_APPLICOM is not set
788# CONFIG_DRM is not set 778# CONFIG_DRM is not set
@@ -792,10 +782,7 @@ CONFIG_COBALT_LCD=y
792# TPM devices 782# TPM devices
793# 783#
794# CONFIG_TCG_TPM is not set 784# CONFIG_TCG_TPM is not set
795 785CONFIG_DEVPORT=y
796#
797# I2C support
798#
799# CONFIG_I2C is not set 786# CONFIG_I2C is not set
800 787
801# 788#
@@ -808,12 +795,7 @@ CONFIG_COBALT_LCD=y
808# Dallas's 1-wire bus 795# Dallas's 1-wire bus
809# 796#
810# CONFIG_W1 is not set 797# CONFIG_W1 is not set
811
812#
813# Hardware Monitoring support
814#
815# CONFIG_HWMON is not set 798# CONFIG_HWMON is not set
816# CONFIG_HWMON_VID is not set
817 799
818# 800#
819# Multifunction device drivers 801# Multifunction device drivers
@@ -824,16 +806,19 @@ CONFIG_COBALT_LCD=y
824# Multimedia devices 806# Multimedia devices
825# 807#
826# CONFIG_VIDEO_DEV is not set 808# CONFIG_VIDEO_DEV is not set
809# CONFIG_DVB_CORE is not set
810# CONFIG_DAB is not set
827 811
828# 812#
829# Digital Video Broadcasting Devices 813# Graphics support
830# 814#
831# CONFIG_DVB is not set 815# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
832 816
833# 817#
834# Graphics support 818# Display device support
835# 819#
836# CONFIG_BACKLIGHT_LCD_SUPPORT is not set 820# CONFIG_DISPLAY_SUPPORT is not set
821# CONFIG_VGASTATE is not set
837# CONFIG_FB is not set 822# CONFIG_FB is not set
838 823
839# 824#
@@ -868,10 +853,6 @@ CONFIG_USB_ARCH_HAS_EHCI=y
868# USB Gadget Support 853# USB Gadget Support
869# 854#
870# CONFIG_USB_GADGET is not set 855# CONFIG_USB_GADGET is not set
871
872#
873# MMC/SD Card support
874#
875# CONFIG_MMC is not set 856# CONFIG_MMC is not set
876 857
877# 858#
@@ -912,18 +893,30 @@ CONFIG_RTC_INTF_SYSFS=y
912CONFIG_RTC_INTF_PROC=y 893CONFIG_RTC_INTF_PROC=y
913CONFIG_RTC_INTF_DEV=y 894CONFIG_RTC_INTF_DEV=y
914# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set 895# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
896# CONFIG_RTC_DRV_TEST is not set
915 897
916# 898#
917# RTC drivers 899# I2C RTC drivers
900#
901
902#
903# SPI RTC drivers
904#
905
906#
907# Platform RTC drivers
918# 908#
919CONFIG_RTC_DRV_CMOS=y 909CONFIG_RTC_DRV_CMOS=y
920# CONFIG_RTC_DRV_DS1553 is not set 910# CONFIG_RTC_DRV_DS1553 is not set
921# CONFIG_RTC_DRV_DS1742 is not set 911# CONFIG_RTC_DRV_DS1742 is not set
922# CONFIG_RTC_DRV_M48T86 is not set 912# CONFIG_RTC_DRV_M48T86 is not set
923# CONFIG_RTC_DRV_TEST is not set
924# CONFIG_RTC_DRV_V3020 is not set 913# CONFIG_RTC_DRV_V3020 is not set
925 914
926# 915#
916# on-CPU RTC drivers
917#
918
919#
927# DMA Engine support 920# DMA Engine support
928# 921#
929# CONFIG_DMA_ENGINE is not set 922# CONFIG_DMA_ENGINE is not set
@@ -937,14 +930,6 @@ CONFIG_RTC_DRV_CMOS=y
937# 930#
938 931
939# 932#
940# Auxiliary Display support
941#
942
943#
944# Virtualization
945#
946
947#
948# File systems 933# File systems
949# 934#
950CONFIG_EXT2_FS=y 935CONFIG_EXT2_FS=y
@@ -952,8 +937,13 @@ CONFIG_EXT2_FS_XATTR=y
952CONFIG_EXT2_FS_POSIX_ACL=y 937CONFIG_EXT2_FS_POSIX_ACL=y
953CONFIG_EXT2_FS_SECURITY=y 938CONFIG_EXT2_FS_SECURITY=y
954# CONFIG_EXT2_FS_XIP is not set 939# CONFIG_EXT2_FS_XIP is not set
955# CONFIG_EXT3_FS is not set 940CONFIG_EXT3_FS=y
941CONFIG_EXT3_FS_XATTR=y
942CONFIG_EXT3_FS_POSIX_ACL=y
943CONFIG_EXT3_FS_SECURITY=y
956# CONFIG_EXT4DEV_FS is not set 944# CONFIG_EXT4DEV_FS is not set
945CONFIG_JBD=y
946# CONFIG_JBD_DEBUG is not set
957CONFIG_FS_MBCACHE=y 947CONFIG_FS_MBCACHE=y
958# CONFIG_REISERFS_FS is not set 948# CONFIG_REISERFS_FS is not set
959# CONFIG_JFS_FS is not set 949# CONFIG_JFS_FS is not set
@@ -969,7 +959,7 @@ CONFIG_INOTIFY_USER=y
969CONFIG_DNOTIFY=y 959CONFIG_DNOTIFY=y
970# CONFIG_AUTOFS_FS is not set 960# CONFIG_AUTOFS_FS is not set
971# CONFIG_AUTOFS4_FS is not set 961# CONFIG_AUTOFS4_FS is not set
972CONFIG_FUSE_FS=y 962# CONFIG_FUSE_FS is not set
973CONFIG_GENERIC_ACL=y 963CONFIG_GENERIC_ACL=y
974 964
975# 965#
@@ -1003,7 +993,6 @@ CONFIG_CONFIGFS_FS=y
1003# 993#
1004# CONFIG_ADFS_FS is not set 994# CONFIG_ADFS_FS is not set
1005# CONFIG_AFFS_FS is not set 995# CONFIG_AFFS_FS is not set
1006# CONFIG_ECRYPT_FS is not set
1007# CONFIG_HFS_FS is not set 996# CONFIG_HFS_FS is not set
1008# CONFIG_HFSPLUS_FS is not set 997# CONFIG_HFSPLUS_FS is not set
1009# CONFIG_BEFS_FS is not set 998# CONFIG_BEFS_FS is not set
@@ -1021,13 +1010,23 @@ CONFIG_CONFIGFS_FS=y
1021# Network File Systems 1010# Network File Systems
1022# 1011#
1023CONFIG_NFS_FS=y 1012CONFIG_NFS_FS=y
1024# CONFIG_NFS_V3 is not set 1013CONFIG_NFS_V3=y
1014CONFIG_NFS_V3_ACL=y
1025# CONFIG_NFS_V4 is not set 1015# CONFIG_NFS_V4 is not set
1026# CONFIG_NFS_DIRECTIO is not set 1016# CONFIG_NFS_DIRECTIO is not set
1027# CONFIG_NFSD is not set 1017CONFIG_NFSD=y
1018CONFIG_NFSD_V2_ACL=y
1019CONFIG_NFSD_V3=y
1020CONFIG_NFSD_V3_ACL=y
1021# CONFIG_NFSD_V4 is not set
1022CONFIG_NFSD_TCP=y
1028CONFIG_LOCKD=y 1023CONFIG_LOCKD=y
1024CONFIG_LOCKD_V4=y
1025CONFIG_EXPORTFS=y
1026CONFIG_NFS_ACL_SUPPORT=y
1029CONFIG_NFS_COMMON=y 1027CONFIG_NFS_COMMON=y
1030CONFIG_SUNRPC=y 1028CONFIG_SUNRPC=y
1029# CONFIG_SUNRPC_BIND34 is not set
1031# CONFIG_RPCSEC_GSS_KRB5 is not set 1030# CONFIG_RPCSEC_GSS_KRB5 is not set
1032# CONFIG_RPCSEC_GSS_SPKM3 is not set 1031# CONFIG_RPCSEC_GSS_SPKM3 is not set
1033# CONFIG_SMB_FS is not set 1032# CONFIG_SMB_FS is not set
@@ -1051,10 +1050,7 @@ CONFIG_MSDOS_PARTITION=y
1051# 1050#
1052# Distributed Lock Manager 1051# Distributed Lock Manager
1053# 1052#
1054CONFIG_DLM=y 1053# CONFIG_DLM is not set
1055CONFIG_DLM_TCP=y
1056# CONFIG_DLM_SCTP is not set
1057# CONFIG_DLM_DEBUG is not set
1058 1054
1059# 1055#
1060# Profiling support 1056# Profiling support
@@ -1072,72 +1068,30 @@ CONFIG_ENABLE_MUST_CHECK=y
1072# CONFIG_DEBUG_FS is not set 1068# CONFIG_DEBUG_FS is not set
1073# CONFIG_HEADERS_CHECK is not set 1069# CONFIG_HEADERS_CHECK is not set
1074# CONFIG_DEBUG_KERNEL is not set 1070# CONFIG_DEBUG_KERNEL is not set
1075CONFIG_LOG_BUF_SHIFT=14
1076CONFIG_CROSSCOMPILE=y 1071CONFIG_CROSSCOMPILE=y
1077CONFIG_CMDLINE="" 1072CONFIG_CMDLINE=""
1078 1073
1079# 1074#
1080# Security options 1075# Security options
1081# 1076#
1082CONFIG_KEYS=y 1077# CONFIG_KEYS is not set
1083CONFIG_KEYS_DEBUG_PROC_KEYS=y
1084# CONFIG_SECURITY is not set 1078# CONFIG_SECURITY is not set
1085 1079
1086# 1080#
1087# Cryptographic options 1081# Cryptographic options
1088# 1082#
1089CONFIG_CRYPTO=y 1083# CONFIG_CRYPTO is not set
1090CONFIG_CRYPTO_ALGAPI=y
1091CONFIG_CRYPTO_BLKCIPHER=y
1092CONFIG_CRYPTO_HASH=y
1093CONFIG_CRYPTO_MANAGER=y
1094CONFIG_CRYPTO_HMAC=y
1095CONFIG_CRYPTO_XCBC=y
1096CONFIG_CRYPTO_NULL=y
1097CONFIG_CRYPTO_MD4=y
1098CONFIG_CRYPTO_MD5=y
1099CONFIG_CRYPTO_SHA1=y
1100CONFIG_CRYPTO_SHA256=y
1101CONFIG_CRYPTO_SHA512=y
1102CONFIG_CRYPTO_WP512=y
1103CONFIG_CRYPTO_TGR192=y
1104CONFIG_CRYPTO_GF128MUL=y
1105CONFIG_CRYPTO_ECB=y
1106CONFIG_CRYPTO_CBC=y
1107CONFIG_CRYPTO_PCBC=y
1108CONFIG_CRYPTO_LRW=y
1109CONFIG_CRYPTO_DES=y
1110CONFIG_CRYPTO_FCRYPT=y
1111CONFIG_CRYPTO_BLOWFISH=y
1112CONFIG_CRYPTO_TWOFISH=y
1113CONFIG_CRYPTO_TWOFISH_COMMON=y
1114CONFIG_CRYPTO_SERPENT=y
1115CONFIG_CRYPTO_AES=y
1116CONFIG_CRYPTO_CAST5=y
1117CONFIG_CRYPTO_CAST6=y
1118CONFIG_CRYPTO_TEA=y
1119CONFIG_CRYPTO_ARC4=y
1120CONFIG_CRYPTO_KHAZAD=y
1121CONFIG_CRYPTO_ANUBIS=y
1122CONFIG_CRYPTO_DEFLATE=y
1123CONFIG_CRYPTO_MICHAEL_MIC=y
1124CONFIG_CRYPTO_CRC32C=y
1125CONFIG_CRYPTO_CAMELLIA=y
1126
1127#
1128# Hardware crypto devices
1129#
1130 1084
1131# 1085#
1132# Library routines 1086# Library routines
1133# 1087#
1134CONFIG_BITREVERSE=y 1088CONFIG_BITREVERSE=y
1135# CONFIG_CRC_CCITT is not set 1089# CONFIG_CRC_CCITT is not set
1136CONFIG_CRC16=y 1090# CONFIG_CRC16 is not set
1091# CONFIG_CRC_ITU_T is not set
1137CONFIG_CRC32=y 1092CONFIG_CRC32=y
1138CONFIG_LIBCRC32C=y 1093CONFIG_LIBCRC32C=y
1139CONFIG_ZLIB_INFLATE=y
1140CONFIG_ZLIB_DEFLATE=y
1141CONFIG_PLIST=y 1094CONFIG_PLIST=y
1142CONFIG_HAS_IOMEM=y 1095CONFIG_HAS_IOMEM=y
1143CONFIG_HAS_IOPORT=y 1096CONFIG_HAS_IOPORT=y
1097CONFIG_HAS_DMA=y
diff --git a/arch/mips/configs/db1000_defconfig b/arch/mips/configs/db1000_defconfig
index 10f6af43753d..ec60beb888b2 100644
--- a/arch/mips/configs/db1000_defconfig
+++ b/arch/mips/configs/db1000_defconfig
@@ -26,9 +26,7 @@ CONFIG_MIPS_DB1000=y
26# CONFIG_BASLER_EXCITE is not set 26# CONFIG_BASLER_EXCITE is not set
27# CONFIG_MIPS_COBALT is not set 27# CONFIG_MIPS_COBALT is not set
28# CONFIG_MACH_DECSTATION is not set 28# CONFIG_MACH_DECSTATION is not set
29# CONFIG_MIPS_EV64120 is not set
30# CONFIG_MACH_JAZZ is not set 29# CONFIG_MACH_JAZZ is not set
31# CONFIG_LASAT is not set
32# CONFIG_MIPS_ATLAS is not set 30# CONFIG_MIPS_ATLAS is not set
33# CONFIG_MIPS_MALTA is not set 31# CONFIG_MIPS_MALTA is not set
34# CONFIG_MIPS_SEAD is not set 32# CONFIG_MIPS_SEAD is not set
@@ -36,8 +34,6 @@ CONFIG_MIPS_DB1000=y
36# CONFIG_MIPS_SIM is not set 34# CONFIG_MIPS_SIM is not set
37# CONFIG_MOMENCO_JAGUAR_ATX is not set 35# CONFIG_MOMENCO_JAGUAR_ATX is not set
38# CONFIG_MOMENCO_OCELOT is not set 36# CONFIG_MOMENCO_OCELOT is not set
39# CONFIG_MOMENCO_OCELOT_3 is not set
40# CONFIG_MOMENCO_OCELOT_C is not set
41# CONFIG_MOMENCO_OCELOT_G is not set 37# CONFIG_MOMENCO_OCELOT_G is not set
42# CONFIG_MIPS_XXS1500 is not set 38# CONFIG_MIPS_XXS1500 is not set
43# CONFIG_PNX8550_JBS is not set 39# CONFIG_PNX8550_JBS is not set
diff --git a/arch/mips/configs/db1100_defconfig b/arch/mips/configs/db1100_defconfig
index 4b0862927748..f3c25f08bfad 100644
--- a/arch/mips/configs/db1100_defconfig
+++ b/arch/mips/configs/db1100_defconfig
@@ -26,9 +26,7 @@ CONFIG_MIPS_DB1100=y
26# CONFIG_BASLER_EXCITE is not set 26# CONFIG_BASLER_EXCITE is not set
27# CONFIG_MIPS_COBALT is not set 27# CONFIG_MIPS_COBALT is not set
28# CONFIG_MACH_DECSTATION is not set 28# CONFIG_MACH_DECSTATION is not set
29# CONFIG_MIPS_EV64120 is not set
30# CONFIG_MACH_JAZZ is not set 29# CONFIG_MACH_JAZZ is not set
31# CONFIG_LASAT is not set
32# CONFIG_MIPS_ATLAS is not set 30# CONFIG_MIPS_ATLAS is not set
33# CONFIG_MIPS_MALTA is not set 31# CONFIG_MIPS_MALTA is not set
34# CONFIG_MIPS_SEAD is not set 32# CONFIG_MIPS_SEAD is not set
@@ -36,8 +34,6 @@ CONFIG_MIPS_DB1100=y
36# CONFIG_MIPS_SIM is not set 34# CONFIG_MIPS_SIM is not set
37# CONFIG_MOMENCO_JAGUAR_ATX is not set 35# CONFIG_MOMENCO_JAGUAR_ATX is not set
38# CONFIG_MOMENCO_OCELOT is not set 36# CONFIG_MOMENCO_OCELOT is not set
39# CONFIG_MOMENCO_OCELOT_3 is not set
40# CONFIG_MOMENCO_OCELOT_C is not set
41# CONFIG_MOMENCO_OCELOT_G is not set 37# CONFIG_MOMENCO_OCELOT_G is not set
42# CONFIG_MIPS_XXS1500 is not set 38# CONFIG_MIPS_XXS1500 is not set
43# CONFIG_PNX8550_JBS is not set 39# CONFIG_PNX8550_JBS is not set
diff --git a/arch/mips/configs/db1200_defconfig b/arch/mips/configs/db1200_defconfig
index 820659e810dc..6d400befbacc 100644
--- a/arch/mips/configs/db1200_defconfig
+++ b/arch/mips/configs/db1200_defconfig
@@ -26,9 +26,7 @@ CONFIG_MIPS_DB1200=y
26# CONFIG_BASLER_EXCITE is not set 26# CONFIG_BASLER_EXCITE is not set
27# CONFIG_MIPS_COBALT is not set 27# CONFIG_MIPS_COBALT is not set
28# CONFIG_MACH_DECSTATION is not set 28# CONFIG_MACH_DECSTATION is not set
29# CONFIG_MIPS_EV64120 is not set
30# CONFIG_MACH_JAZZ is not set 29# CONFIG_MACH_JAZZ is not set
31# CONFIG_LASAT is not set
32# CONFIG_MIPS_ATLAS is not set 30# CONFIG_MIPS_ATLAS is not set
33# CONFIG_MIPS_MALTA is not set 31# CONFIG_MIPS_MALTA is not set
34# CONFIG_MIPS_SEAD is not set 32# CONFIG_MIPS_SEAD is not set
@@ -36,8 +34,6 @@ CONFIG_MIPS_DB1200=y
36# CONFIG_MIPS_SIM is not set 34# CONFIG_MIPS_SIM is not set
37# CONFIG_MOMENCO_JAGUAR_ATX is not set 35# CONFIG_MOMENCO_JAGUAR_ATX is not set
38# CONFIG_MOMENCO_OCELOT is not set 36# CONFIG_MOMENCO_OCELOT is not set
39# CONFIG_MOMENCO_OCELOT_3 is not set
40# CONFIG_MOMENCO_OCELOT_C is not set
41# CONFIG_MOMENCO_OCELOT_G is not set 37# CONFIG_MOMENCO_OCELOT_G is not set
42# CONFIG_MIPS_XXS1500 is not set 38# CONFIG_MIPS_XXS1500 is not set
43# CONFIG_PNX8550_JBS is not set 39# CONFIG_PNX8550_JBS is not set
diff --git a/arch/mips/configs/db1500_defconfig b/arch/mips/configs/db1500_defconfig
index 4050b9b91bcb..82aea6e08823 100644
--- a/arch/mips/configs/db1500_defconfig
+++ b/arch/mips/configs/db1500_defconfig
@@ -26,9 +26,7 @@ CONFIG_MIPS_DB1500=y
26# CONFIG_BASLER_EXCITE is not set 26# CONFIG_BASLER_EXCITE is not set
27# CONFIG_MIPS_COBALT is not set 27# CONFIG_MIPS_COBALT is not set
28# CONFIG_MACH_DECSTATION is not set 28# CONFIG_MACH_DECSTATION is not set
29# CONFIG_MIPS_EV64120 is not set
30# CONFIG_MACH_JAZZ is not set 29# CONFIG_MACH_JAZZ is not set
31# CONFIG_LASAT is not set
32# CONFIG_MIPS_ATLAS is not set 30# CONFIG_MIPS_ATLAS is not set
33# CONFIG_MIPS_MALTA is not set 31# CONFIG_MIPS_MALTA is not set
34# CONFIG_MIPS_SEAD is not set 32# CONFIG_MIPS_SEAD is not set
@@ -36,8 +34,6 @@ CONFIG_MIPS_DB1500=y
36# CONFIG_MIPS_SIM is not set 34# CONFIG_MIPS_SIM is not set
37# CONFIG_MOMENCO_JAGUAR_ATX is not set 35# CONFIG_MOMENCO_JAGUAR_ATX is not set
38# CONFIG_MOMENCO_OCELOT is not set 36# CONFIG_MOMENCO_OCELOT is not set
39# CONFIG_MOMENCO_OCELOT_3 is not set
40# CONFIG_MOMENCO_OCELOT_C is not set
41# CONFIG_MOMENCO_OCELOT_G is not set 37# CONFIG_MOMENCO_OCELOT_G is not set
42# CONFIG_MIPS_XXS1500 is not set 38# CONFIG_MIPS_XXS1500 is not set
43# CONFIG_PNX8550_JBS is not set 39# CONFIG_PNX8550_JBS is not set
diff --git a/arch/mips/configs/db1550_defconfig b/arch/mips/configs/db1550_defconfig
index 7b3519058ab8..82697714a9e3 100644
--- a/arch/mips/configs/db1550_defconfig
+++ b/arch/mips/configs/db1550_defconfig
@@ -26,9 +26,7 @@ CONFIG_MIPS_DB1550=y
26# CONFIG_BASLER_EXCITE is not set 26# CONFIG_BASLER_EXCITE is not set
27# CONFIG_MIPS_COBALT is not set 27# CONFIG_MIPS_COBALT is not set
28# CONFIG_MACH_DECSTATION is not set 28# CONFIG_MACH_DECSTATION is not set
29# CONFIG_MIPS_EV64120 is not set
30# CONFIG_MACH_JAZZ is not set 29# CONFIG_MACH_JAZZ is not set
31# CONFIG_LASAT is not set
32# CONFIG_MIPS_ATLAS is not set 30# CONFIG_MIPS_ATLAS is not set
33# CONFIG_MIPS_MALTA is not set 31# CONFIG_MIPS_MALTA is not set
34# CONFIG_MIPS_SEAD is not set 32# CONFIG_MIPS_SEAD is not set
@@ -36,8 +34,6 @@ CONFIG_MIPS_DB1550=y
36# CONFIG_MIPS_SIM is not set 34# CONFIG_MIPS_SIM is not set
37# CONFIG_MOMENCO_JAGUAR_ATX is not set 35# CONFIG_MOMENCO_JAGUAR_ATX is not set
38# CONFIG_MOMENCO_OCELOT is not set 36# CONFIG_MOMENCO_OCELOT is not set
39# CONFIG_MOMENCO_OCELOT_3 is not set
40# CONFIG_MOMENCO_OCELOT_C is not set
41# CONFIG_MOMENCO_OCELOT_G is not set 37# CONFIG_MOMENCO_OCELOT_G is not set
42# CONFIG_MIPS_XXS1500 is not set 38# CONFIG_MIPS_XXS1500 is not set
43# CONFIG_PNX8550_JBS is not set 39# CONFIG_PNX8550_JBS is not set
diff --git a/arch/mips/configs/ddb5477_defconfig b/arch/mips/configs/ddb5477_defconfig
index 5b502a2013fb..a42ab9ae7d4b 100644
--- a/arch/mips/configs/ddb5477_defconfig
+++ b/arch/mips/configs/ddb5477_defconfig
@@ -25,9 +25,7 @@ CONFIG_ZONE_DMA=y
25# CONFIG_BASLER_EXCITE is not set 25# CONFIG_BASLER_EXCITE is not set
26# CONFIG_MIPS_COBALT is not set 26# CONFIG_MIPS_COBALT is not set
27# CONFIG_MACH_DECSTATION is not set 27# CONFIG_MACH_DECSTATION is not set
28# CONFIG_MIPS_EV64120 is not set
29# CONFIG_MACH_JAZZ is not set 28# CONFIG_MACH_JAZZ is not set
30# CONFIG_LASAT is not set
31# CONFIG_MIPS_ATLAS is not set 29# CONFIG_MIPS_ATLAS is not set
32# CONFIG_MIPS_MALTA is not set 30# CONFIG_MIPS_MALTA is not set
33# CONFIG_MIPS_SEAD is not set 31# CONFIG_MIPS_SEAD is not set
@@ -35,8 +33,6 @@ CONFIG_ZONE_DMA=y
35# CONFIG_MIPS_SIM is not set 33# CONFIG_MIPS_SIM is not set
36# CONFIG_MOMENCO_JAGUAR_ATX is not set 34# CONFIG_MOMENCO_JAGUAR_ATX is not set
37# CONFIG_MOMENCO_OCELOT is not set 35# CONFIG_MOMENCO_OCELOT is not set
38# CONFIG_MOMENCO_OCELOT_3 is not set
39# CONFIG_MOMENCO_OCELOT_C is not set
40# CONFIG_MOMENCO_OCELOT_G is not set 36# CONFIG_MOMENCO_OCELOT_G is not set
41# CONFIG_MIPS_XXS1500 is not set 37# CONFIG_MIPS_XXS1500 is not set
42# CONFIG_PNX8550_JBS is not set 38# CONFIG_PNX8550_JBS is not set
diff --git a/arch/mips/configs/decstation_defconfig b/arch/mips/configs/decstation_defconfig
index 4bbdab078ff1..d6e3fffbc80d 100644
--- a/arch/mips/configs/decstation_defconfig
+++ b/arch/mips/configs/decstation_defconfig
@@ -25,9 +25,7 @@ CONFIG_ZONE_DMA=y
25# CONFIG_BASLER_EXCITE is not set 25# CONFIG_BASLER_EXCITE is not set
26# CONFIG_MIPS_COBALT is not set 26# CONFIG_MIPS_COBALT is not set
27CONFIG_MACH_DECSTATION=y 27CONFIG_MACH_DECSTATION=y
28# CONFIG_MIPS_EV64120 is not set
29# CONFIG_MACH_JAZZ is not set 28# CONFIG_MACH_JAZZ is not set
30# CONFIG_LASAT is not set
31# CONFIG_MIPS_ATLAS is not set 29# CONFIG_MIPS_ATLAS is not set
32# CONFIG_MIPS_MALTA is not set 30# CONFIG_MIPS_MALTA is not set
33# CONFIG_MIPS_SEAD is not set 31# CONFIG_MIPS_SEAD is not set
@@ -35,8 +33,6 @@ CONFIG_MACH_DECSTATION=y
35# CONFIG_MIPS_SIM is not set 33# CONFIG_MIPS_SIM is not set
36# CONFIG_MOMENCO_JAGUAR_ATX is not set 34# CONFIG_MOMENCO_JAGUAR_ATX is not set
37# CONFIG_MOMENCO_OCELOT is not set 35# CONFIG_MOMENCO_OCELOT is not set
38# CONFIG_MOMENCO_OCELOT_3 is not set
39# CONFIG_MOMENCO_OCELOT_C is not set
40# CONFIG_MOMENCO_OCELOT_G is not set 36# CONFIG_MOMENCO_OCELOT_G is not set
41# CONFIG_MIPS_XXS1500 is not set 37# CONFIG_MIPS_XXS1500 is not set
42# CONFIG_PNX8550_JBS is not set 38# CONFIG_PNX8550_JBS is not set
diff --git a/arch/mips/configs/e55_defconfig b/arch/mips/configs/e55_defconfig
index b5714a6a5398..78f5004fb721 100644
--- a/arch/mips/configs/e55_defconfig
+++ b/arch/mips/configs/e55_defconfig
@@ -25,9 +25,7 @@ CONFIG_ZONE_DMA=y
25# CONFIG_BASLER_EXCITE is not set 25# CONFIG_BASLER_EXCITE is not set
26# CONFIG_MIPS_COBALT is not set 26# CONFIG_MIPS_COBALT is not set
27# CONFIG_MACH_DECSTATION is not set 27# CONFIG_MACH_DECSTATION is not set
28# CONFIG_MIPS_EV64120 is not set
29# CONFIG_MACH_JAZZ is not set 28# CONFIG_MACH_JAZZ is not set
30# CONFIG_LASAT is not set
31# CONFIG_MIPS_ATLAS is not set 29# CONFIG_MIPS_ATLAS is not set
32# CONFIG_MIPS_MALTA is not set 30# CONFIG_MIPS_MALTA is not set
33# CONFIG_MIPS_SEAD is not set 31# CONFIG_MIPS_SEAD is not set
@@ -35,8 +33,6 @@ CONFIG_ZONE_DMA=y
35# CONFIG_MIPS_SIM is not set 33# CONFIG_MIPS_SIM is not set
36# CONFIG_MOMENCO_JAGUAR_ATX is not set 34# CONFIG_MOMENCO_JAGUAR_ATX is not set
37# CONFIG_MOMENCO_OCELOT is not set 35# CONFIG_MOMENCO_OCELOT is not set
38# CONFIG_MOMENCO_OCELOT_3 is not set
39# CONFIG_MOMENCO_OCELOT_C is not set
40# CONFIG_MOMENCO_OCELOT_G is not set 36# CONFIG_MOMENCO_OCELOT_G is not set
41# CONFIG_MIPS_XXS1500 is not set 37# CONFIG_MIPS_XXS1500 is not set
42# CONFIG_PNX8550_JBS is not set 38# CONFIG_PNX8550_JBS is not set
diff --git a/arch/mips/configs/emma2rh_defconfig b/arch/mips/configs/emma2rh_defconfig
index 3044579f171a..b29bff0f56c3 100644
--- a/arch/mips/configs/emma2rh_defconfig
+++ b/arch/mips/configs/emma2rh_defconfig
@@ -25,9 +25,7 @@ CONFIG_ZONE_DMA=y
25# CONFIG_BASLER_EXCITE is not set 25# CONFIG_BASLER_EXCITE is not set
26# CONFIG_MIPS_COBALT is not set 26# CONFIG_MIPS_COBALT is not set
27# CONFIG_MACH_DECSTATION is not set 27# CONFIG_MACH_DECSTATION is not set
28# CONFIG_MIPS_EV64120 is not set
29# CONFIG_MACH_JAZZ is not set 28# CONFIG_MACH_JAZZ is not set
30# CONFIG_LASAT is not set
31# CONFIG_MIPS_ATLAS is not set 29# CONFIG_MIPS_ATLAS is not set
32# CONFIG_MIPS_MALTA is not set 30# CONFIG_MIPS_MALTA is not set
33# CONFIG_MIPS_SEAD is not set 31# CONFIG_MIPS_SEAD is not set
@@ -35,8 +33,6 @@ CONFIG_ZONE_DMA=y
35# CONFIG_MIPS_SIM is not set 33# CONFIG_MIPS_SIM is not set
36# CONFIG_MOMENCO_JAGUAR_ATX is not set 34# CONFIG_MOMENCO_JAGUAR_ATX is not set
37# CONFIG_MOMENCO_OCELOT is not set 35# CONFIG_MOMENCO_OCELOT is not set
38# CONFIG_MOMENCO_OCELOT_3 is not set
39# CONFIG_MOMENCO_OCELOT_C is not set
40# CONFIG_MOMENCO_OCELOT_G is not set 36# CONFIG_MOMENCO_OCELOT_G is not set
41# CONFIG_MIPS_XXS1500 is not set 37# CONFIG_MIPS_XXS1500 is not set
42# CONFIG_PNX8550_JBS is not set 38# CONFIG_PNX8550_JBS is not set
@@ -951,8 +947,7 @@ CONFIG_LEGACY_PTY_COUNT=256
951# CONFIG_WATCHDOG is not set 947# CONFIG_WATCHDOG is not set
952# CONFIG_HW_RANDOM is not set 948# CONFIG_HW_RANDOM is not set
953CONFIG_RTC=m 949CONFIG_RTC=m
954CONFIG_GEN_RTC=m 950# CONFIG_GEN_RTC is not set
955CONFIG_GEN_RTC_X=y
956# CONFIG_DTLK is not set 951# CONFIG_DTLK is not set
957# CONFIG_R3964 is not set 952# CONFIG_R3964 is not set
958# CONFIG_APPLICOM is not set 953# CONFIG_APPLICOM is not set
diff --git a/arch/mips/configs/ev64120_defconfig b/arch/mips/configs/ev64120_defconfig
deleted file mode 100644
index c10e4e063226..000000000000
--- a/arch/mips/configs/ev64120_defconfig
+++ /dev/null
@@ -1,985 +0,0 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.20
4# Tue Feb 20 21:47:30 2007
5#
6CONFIG_MIPS=y
7
8#
9# Machine selection
10#
11CONFIG_ZONE_DMA=y
12# CONFIG_MIPS_MTX1 is not set
13# CONFIG_MIPS_BOSPORUS is not set
14# CONFIG_MIPS_PB1000 is not set
15# CONFIG_MIPS_PB1100 is not set
16# CONFIG_MIPS_PB1500 is not set
17# CONFIG_MIPS_PB1550 is not set
18# CONFIG_MIPS_PB1200 is not set
19# CONFIG_MIPS_DB1000 is not set
20# CONFIG_MIPS_DB1100 is not set
21# CONFIG_MIPS_DB1500 is not set
22# CONFIG_MIPS_DB1550 is not set
23# CONFIG_MIPS_DB1200 is not set
24# CONFIG_MIPS_MIRAGE is not set
25# CONFIG_BASLER_EXCITE is not set
26# CONFIG_MIPS_COBALT is not set
27# CONFIG_MACH_DECSTATION is not set
28CONFIG_MIPS_EV64120=y
29# CONFIG_MACH_JAZZ is not set
30# CONFIG_LASAT is not set
31# CONFIG_MIPS_ATLAS is not set
32# CONFIG_MIPS_MALTA is not set
33# CONFIG_MIPS_SEAD is not set
34# CONFIG_WR_PPMC is not set
35# CONFIG_MIPS_SIM is not set
36# CONFIG_MOMENCO_JAGUAR_ATX is not set
37# CONFIG_MOMENCO_OCELOT is not set
38# CONFIG_MOMENCO_OCELOT_3 is not set
39# CONFIG_MOMENCO_OCELOT_C is not set
40# CONFIG_MOMENCO_OCELOT_G is not set
41# CONFIG_MIPS_XXS1500 is not set
42# CONFIG_PNX8550_JBS is not set
43# CONFIG_PNX8550_STB810 is not set
44# CONFIG_DDB5477 is not set
45# CONFIG_MACH_VR41XX is not set
46# CONFIG_PMC_YOSEMITE is not set
47# CONFIG_QEMU is not set
48# CONFIG_MARKEINS is not set
49# CONFIG_SGI_IP22 is not set
50# CONFIG_SGI_IP27 is not set
51# CONFIG_SGI_IP32 is not set
52# CONFIG_SIBYTE_BIGSUR is not set
53# CONFIG_SIBYTE_SWARM is not set
54# CONFIG_SIBYTE_SENTOSA is not set
55# CONFIG_SIBYTE_RHONE is not set
56# CONFIG_SIBYTE_CARMEL is not set
57# CONFIG_SIBYTE_PTSWARM is not set
58# CONFIG_SIBYTE_LITTLESUR is not set
59# CONFIG_SIBYTE_CRHINE is not set
60# CONFIG_SIBYTE_CRHONE is not set
61# CONFIG_SNI_RM is not set
62# CONFIG_TOSHIBA_JMR3927 is not set
63# CONFIG_TOSHIBA_RBTX4927 is not set
64# CONFIG_TOSHIBA_RBTX4938 is not set
65# CONFIG_EVB_PCI1 is not set
66CONFIG_RWSEM_GENERIC_SPINLOCK=y
67# CONFIG_ARCH_HAS_ILOG2_U32 is not set
68# CONFIG_ARCH_HAS_ILOG2_U64 is not set
69CONFIG_GENERIC_FIND_NEXT_BIT=y
70CONFIG_GENERIC_HWEIGHT=y
71CONFIG_GENERIC_CALIBRATE_DELAY=y
72CONFIG_GENERIC_TIME=y
73CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
74# CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ is not set
75CONFIG_DMA_NONCOHERENT=y
76CONFIG_DMA_NEED_PCI_MAP_STATE=y
77CONFIG_CPU_BIG_ENDIAN=y
78# CONFIG_CPU_LITTLE_ENDIAN is not set
79CONFIG_SYS_SUPPORTS_BIG_ENDIAN=y
80CONFIG_MIPS_GT64120=y
81# CONFIG_SYSCLK_75 is not set
82# CONFIG_SYSCLK_83 is not set
83CONFIG_SYSCLK_100=y
84CONFIG_MIPS_L1_CACHE_SHIFT=5
85
86#
87# CPU selection
88#
89# CONFIG_CPU_MIPS32_R1 is not set
90# CONFIG_CPU_MIPS32_R2 is not set
91# CONFIG_CPU_MIPS64_R1 is not set
92# CONFIG_CPU_MIPS64_R2 is not set
93# CONFIG_CPU_R3000 is not set
94# CONFIG_CPU_TX39XX is not set
95# CONFIG_CPU_VR41XX is not set
96# CONFIG_CPU_R4300 is not set
97# CONFIG_CPU_R4X00 is not set
98# CONFIG_CPU_TX49XX is not set
99CONFIG_CPU_R5000=y
100# CONFIG_CPU_R5432 is not set
101# CONFIG_CPU_R6000 is not set
102# CONFIG_CPU_NEVADA is not set
103# CONFIG_CPU_R8000 is not set
104# CONFIG_CPU_R10000 is not set
105# CONFIG_CPU_RM7000 is not set
106# CONFIG_CPU_RM9000 is not set
107# CONFIG_CPU_SB1 is not set
108CONFIG_SYS_HAS_CPU_R5000=y
109CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y
110CONFIG_SYS_SUPPORTS_64BIT_KERNEL=y
111CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y
112CONFIG_CPU_SUPPORTS_64BIT_KERNEL=y
113
114#
115# Kernel type
116#
117CONFIG_32BIT=y
118# CONFIG_64BIT is not set
119CONFIG_PAGE_SIZE_4KB=y
120# CONFIG_PAGE_SIZE_8KB is not set
121# CONFIG_PAGE_SIZE_16KB is not set
122# CONFIG_PAGE_SIZE_64KB is not set
123CONFIG_MIPS_MT_DISABLED=y
124# CONFIG_MIPS_MT_SMP is not set
125# CONFIG_MIPS_MT_SMTC is not set
126# CONFIG_MIPS_VPE_LOADER is not set
127# CONFIG_64BIT_PHYS_ADDR is not set
128CONFIG_CPU_HAS_LLSC=y
129CONFIG_CPU_HAS_SYNC=y
130CONFIG_GENERIC_HARDIRQS=y
131CONFIG_GENERIC_IRQ_PROBE=y
132CONFIG_ARCH_FLATMEM_ENABLE=y
133CONFIG_SELECT_MEMORY_MODEL=y
134CONFIG_FLATMEM_MANUAL=y
135# CONFIG_DISCONTIGMEM_MANUAL is not set
136# CONFIG_SPARSEMEM_MANUAL is not set
137CONFIG_FLATMEM=y
138CONFIG_FLAT_NODE_MEM_MAP=y
139# CONFIG_SPARSEMEM_STATIC is not set
140CONFIG_SPLIT_PTLOCK_CPUS=4
141# CONFIG_RESOURCES_64BIT is not set
142CONFIG_ZONE_DMA_FLAG=1
143# CONFIG_HZ_48 is not set
144# CONFIG_HZ_100 is not set
145# CONFIG_HZ_128 is not set
146# CONFIG_HZ_250 is not set
147# CONFIG_HZ_256 is not set
148CONFIG_HZ_1000=y
149# CONFIG_HZ_1024 is not set
150CONFIG_SYS_SUPPORTS_ARBIT_HZ=y
151CONFIG_HZ=1000
152CONFIG_PREEMPT_NONE=y
153# CONFIG_PREEMPT_VOLUNTARY is not set
154# CONFIG_PREEMPT is not set
155# CONFIG_KEXEC is not set
156CONFIG_LOCKDEP_SUPPORT=y
157CONFIG_STACKTRACE_SUPPORT=y
158CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
159
160#
161# Code maturity level options
162#
163CONFIG_EXPERIMENTAL=y
164CONFIG_BROKEN_ON_SMP=y
165CONFIG_INIT_ENV_ARG_LIMIT=32
166
167#
168# General setup
169#
170CONFIG_LOCALVERSION=""
171CONFIG_LOCALVERSION_AUTO=y
172CONFIG_SWAP=y
173CONFIG_SYSVIPC=y
174# CONFIG_IPC_NS is not set
175CONFIG_SYSVIPC_SYSCTL=y
176# CONFIG_POSIX_MQUEUE is not set
177# CONFIG_BSD_PROCESS_ACCT is not set
178# CONFIG_TASKSTATS is not set
179# CONFIG_UTS_NS is not set
180# CONFIG_AUDIT is not set
181# CONFIG_IKCONFIG is not set
182CONFIG_SYSFS_DEPRECATED=y
183CONFIG_RELAY=y
184# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
185CONFIG_SYSCTL=y
186CONFIG_EMBEDDED=y
187CONFIG_SYSCTL_SYSCALL=y
188CONFIG_KALLSYMS=y
189# CONFIG_KALLSYMS_EXTRA_PASS is not set
190CONFIG_HOTPLUG=y
191CONFIG_PRINTK=y
192CONFIG_BUG=y
193CONFIG_ELF_CORE=y
194CONFIG_BASE_FULL=y
195CONFIG_FUTEX=y
196CONFIG_EPOLL=y
197CONFIG_SHMEM=y
198CONFIG_SLAB=y
199CONFIG_VM_EVENT_COUNTERS=y
200CONFIG_RT_MUTEXES=y
201# CONFIG_TINY_SHMEM is not set
202CONFIG_BASE_SMALL=0
203# CONFIG_SLOB is not set
204
205#
206# Loadable module support
207#
208CONFIG_MODULES=y
209CONFIG_MODULE_UNLOAD=y
210# CONFIG_MODULE_FORCE_UNLOAD is not set
211CONFIG_MODVERSIONS=y
212CONFIG_MODULE_SRCVERSION_ALL=y
213# CONFIG_KMOD is not set
214
215#
216# Block layer
217#
218CONFIG_BLOCK=y
219# CONFIG_LBD is not set
220# CONFIG_BLK_DEV_IO_TRACE is not set
221# CONFIG_LSF is not set
222
223#
224# IO Schedulers
225#
226CONFIG_IOSCHED_NOOP=y
227CONFIG_IOSCHED_AS=y
228CONFIG_IOSCHED_DEADLINE=y
229CONFIG_IOSCHED_CFQ=y
230CONFIG_DEFAULT_AS=y
231# CONFIG_DEFAULT_DEADLINE is not set
232# CONFIG_DEFAULT_CFQ is not set
233# CONFIG_DEFAULT_NOOP is not set
234CONFIG_DEFAULT_IOSCHED="anticipatory"
235
236#
237# Bus options (PCI, PCMCIA, EISA, ISA, TC)
238#
239CONFIG_HW_HAS_PCI=y
240CONFIG_PCI=y
241CONFIG_MMU=y
242
243#
244# PCCARD (PCMCIA/CardBus) support
245#
246# CONFIG_PCCARD is not set
247
248#
249# PCI Hotplug Support
250#
251# CONFIG_HOTPLUG_PCI is not set
252
253#
254# Executable file formats
255#
256CONFIG_BINFMT_ELF=y
257# CONFIG_BINFMT_MISC is not set
258CONFIG_TRAD_SIGNALS=y
259
260#
261# Power management options
262#
263CONFIG_PM=y
264# CONFIG_PM_LEGACY is not set
265# CONFIG_PM_DEBUG is not set
266# CONFIG_PM_SYSFS_DEPRECATED is not set
267
268#
269# Networking
270#
271CONFIG_NET=y
272
273#
274# Networking options
275#
276# CONFIG_NETDEBUG is not set
277# CONFIG_PACKET is not set
278CONFIG_UNIX=y
279CONFIG_XFRM=y
280CONFIG_XFRM_USER=m
281# CONFIG_XFRM_SUB_POLICY is not set
282CONFIG_XFRM_MIGRATE=y
283CONFIG_NET_KEY=y
284CONFIG_NET_KEY_MIGRATE=y
285CONFIG_INET=y
286# CONFIG_IP_MULTICAST is not set
287# CONFIG_IP_ADVANCED_ROUTER is not set
288CONFIG_IP_FIB_HASH=y
289CONFIG_IP_PNP=y
290# CONFIG_IP_PNP_DHCP is not set
291# CONFIG_IP_PNP_BOOTP is not set
292# CONFIG_IP_PNP_RARP is not set
293# CONFIG_NET_IPIP is not set
294# CONFIG_NET_IPGRE is not set
295# CONFIG_ARPD is not set
296# CONFIG_SYN_COOKIES is not set
297# CONFIG_INET_AH is not set
298# CONFIG_INET_ESP is not set
299# CONFIG_INET_IPCOMP is not set
300# CONFIG_INET_XFRM_TUNNEL is not set
301# CONFIG_INET_TUNNEL is not set
302CONFIG_INET_XFRM_MODE_TRANSPORT=m
303CONFIG_INET_XFRM_MODE_TUNNEL=m
304CONFIG_INET_XFRM_MODE_BEET=m
305CONFIG_INET_DIAG=y
306CONFIG_INET_TCP_DIAG=y
307# CONFIG_TCP_CONG_ADVANCED is not set
308CONFIG_TCP_CONG_CUBIC=y
309CONFIG_DEFAULT_TCP_CONG="cubic"
310CONFIG_TCP_MD5SIG=y
311# CONFIG_IPV6 is not set
312# CONFIG_INET6_XFRM_TUNNEL is not set
313# CONFIG_INET6_TUNNEL is not set
314CONFIG_NETWORK_SECMARK=y
315# CONFIG_NETFILTER is not set
316
317#
318# DCCP Configuration (EXPERIMENTAL)
319#
320# CONFIG_IP_DCCP is not set
321
322#
323# SCTP Configuration (EXPERIMENTAL)
324#
325# CONFIG_IP_SCTP is not set
326
327#
328# TIPC Configuration (EXPERIMENTAL)
329#
330# CONFIG_TIPC is not set
331# CONFIG_ATM is not set
332# CONFIG_BRIDGE is not set
333# CONFIG_VLAN_8021Q is not set
334# CONFIG_DECNET is not set
335# CONFIG_LLC2 is not set
336# CONFIG_IPX is not set
337# CONFIG_ATALK is not set
338# CONFIG_X25 is not set
339# CONFIG_LAPB is not set
340# CONFIG_ECONET is not set
341# CONFIG_WAN_ROUTER is not set
342
343#
344# QoS and/or fair queueing
345#
346# CONFIG_NET_SCHED is not set
347
348#
349# Network testing
350#
351# CONFIG_NET_PKTGEN is not set
352# CONFIG_HAMRADIO is not set
353# CONFIG_IRDA is not set
354# CONFIG_BT is not set
355CONFIG_IEEE80211=m
356# CONFIG_IEEE80211_DEBUG is not set
357CONFIG_IEEE80211_CRYPT_WEP=m
358CONFIG_IEEE80211_CRYPT_CCMP=m
359CONFIG_IEEE80211_SOFTMAC=m
360# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set
361CONFIG_WIRELESS_EXT=y
362
363#
364# Device Drivers
365#
366
367#
368# Generic Driver Options
369#
370CONFIG_STANDALONE=y
371CONFIG_PREVENT_FIRMWARE_BUILD=y
372CONFIG_FW_LOADER=m
373# CONFIG_SYS_HYPERVISOR is not set
374
375#
376# Connector - unified userspace <-> kernelspace linker
377#
378CONFIG_CONNECTOR=m
379
380#
381# Memory Technology Devices (MTD)
382#
383# CONFIG_MTD is not set
384
385#
386# Parallel port support
387#
388# CONFIG_PARPORT is not set
389
390#
391# Plug and Play support
392#
393# CONFIG_PNPACPI is not set
394
395#
396# Block devices
397#
398# CONFIG_BLK_CPQ_DA is not set
399# CONFIG_BLK_CPQ_CISS_DA is not set
400# CONFIG_BLK_DEV_DAC960 is not set
401# CONFIG_BLK_DEV_UMEM is not set
402# CONFIG_BLK_DEV_COW_COMMON is not set
403# CONFIG_BLK_DEV_LOOP is not set
404# CONFIG_BLK_DEV_NBD is not set
405# CONFIG_BLK_DEV_SX8 is not set
406# CONFIG_BLK_DEV_RAM is not set
407# CONFIG_BLK_DEV_INITRD is not set
408CONFIG_CDROM_PKTCDVD=m
409CONFIG_CDROM_PKTCDVD_BUFFERS=8
410# CONFIG_CDROM_PKTCDVD_WCACHE is not set
411CONFIG_ATA_OVER_ETH=m
412
413#
414# Misc devices
415#
416CONFIG_SGI_IOC4=m
417# CONFIG_TIFM_CORE is not set
418
419#
420# ATA/ATAPI/MFM/RLL support
421#
422# CONFIG_IDE is not set
423
424#
425# SCSI device support
426#
427CONFIG_RAID_ATTRS=m
428# CONFIG_SCSI is not set
429# CONFIG_SCSI_NETLINK is not set
430
431#
432# Serial ATA (prod) and Parallel ATA (experimental) drivers
433#
434# CONFIG_ATA is not set
435
436#
437# Multi-device support (RAID and LVM)
438#
439# CONFIG_MD is not set
440
441#
442# Fusion MPT device support
443#
444# CONFIG_FUSION is not set
445
446#
447# IEEE 1394 (FireWire) support
448#
449# CONFIG_IEEE1394 is not set
450
451#
452# I2O device support
453#
454# CONFIG_I2O is not set
455
456#
457# Network device support
458#
459CONFIG_NETDEVICES=y
460# CONFIG_DUMMY is not set
461# CONFIG_BONDING is not set
462# CONFIG_EQUALIZER is not set
463# CONFIG_TUN is not set
464
465#
466# ARCnet devices
467#
468# CONFIG_ARCNET is not set
469
470#
471# PHY device support
472#
473CONFIG_PHYLIB=m
474
475#
476# MII PHY device drivers
477#
478CONFIG_MARVELL_PHY=m
479CONFIG_DAVICOM_PHY=m
480CONFIG_QSEMI_PHY=m
481CONFIG_LXT_PHY=m
482CONFIG_CICADA_PHY=m
483CONFIG_VITESSE_PHY=m
484CONFIG_SMSC_PHY=m
485# CONFIG_BROADCOM_PHY is not set
486# CONFIG_FIXED_PHY is not set
487
488#
489# Ethernet (10 or 100Mbit)
490#
491CONFIG_NET_ETHERNET=y
492# CONFIG_MII is not set
493# CONFIG_HAPPYMEAL is not set
494# CONFIG_SUNGEM is not set
495# CONFIG_CASSINI is not set
496# CONFIG_NET_VENDOR_3COM is not set
497# CONFIG_DM9000 is not set
498
499#
500# Tulip family network device support
501#
502# CONFIG_NET_TULIP is not set
503# CONFIG_HP100 is not set
504# CONFIG_NET_PCI is not set
505
506#
507# Ethernet (1000 Mbit)
508#
509# CONFIG_ACENIC is not set
510# CONFIG_DL2K is not set
511# CONFIG_E1000 is not set
512# CONFIG_NS83820 is not set
513# CONFIG_HAMACHI is not set
514# CONFIG_YELLOWFIN is not set
515# CONFIG_R8169 is not set
516# CONFIG_SIS190 is not set
517# CONFIG_SKGE is not set
518# CONFIG_SKY2 is not set
519# CONFIG_SK98LIN is not set
520# CONFIG_TIGON3 is not set
521# CONFIG_BNX2 is not set
522CONFIG_QLA3XXX=m
523# CONFIG_ATL1 is not set
524
525#
526# Ethernet (10000 Mbit)
527#
528# CONFIG_CHELSIO_T1 is not set
529CONFIG_CHELSIO_T3=m
530# CONFIG_IXGB is not set
531# CONFIG_S2IO is not set
532# CONFIG_MYRI10GE is not set
533CONFIG_NETXEN_NIC=m
534
535#
536# Token Ring devices
537#
538# CONFIG_TR is not set
539
540#
541# Wireless LAN (non-hamradio)
542#
543# CONFIG_NET_RADIO is not set
544
545#
546# Wan interfaces
547#
548# CONFIG_WAN is not set
549# CONFIG_FDDI is not set
550# CONFIG_HIPPI is not set
551CONFIG_PPP=y
552# CONFIG_PPP_MULTILINK is not set
553# CONFIG_PPP_FILTER is not set
554CONFIG_PPP_ASYNC=y
555# CONFIG_PPP_SYNC_TTY is not set
556# CONFIG_PPP_DEFLATE is not set
557# CONFIG_PPP_BSDCOMP is not set
558CONFIG_PPP_MPPE=m
559# CONFIG_PPPOE is not set
560# CONFIG_SLIP is not set
561CONFIG_SLHC=y
562# CONFIG_SHAPER is not set
563# CONFIG_NETCONSOLE is not set
564# CONFIG_NETPOLL is not set
565# CONFIG_NET_POLL_CONTROLLER is not set
566
567#
568# ISDN subsystem
569#
570# CONFIG_ISDN is not set
571
572#
573# Telephony Support
574#
575# CONFIG_PHONE is not set
576
577#
578# Input device support
579#
580CONFIG_INPUT=y
581# CONFIG_INPUT_FF_MEMLESS is not set
582
583#
584# Userland interfaces
585#
586CONFIG_INPUT_MOUSEDEV=y
587CONFIG_INPUT_MOUSEDEV_PSAUX=y
588CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
589CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
590# CONFIG_INPUT_JOYDEV is not set
591# CONFIG_INPUT_TSDEV is not set
592# CONFIG_INPUT_EVDEV is not set
593# CONFIG_INPUT_EVBUG is not set
594
595#
596# Input Device Drivers
597#
598# CONFIG_INPUT_KEYBOARD is not set
599# CONFIG_INPUT_MOUSE is not set
600# CONFIG_INPUT_JOYSTICK is not set
601# CONFIG_INPUT_TOUCHSCREEN is not set
602# CONFIG_INPUT_MISC is not set
603
604#
605# Hardware I/O ports
606#
607CONFIG_SERIO=y
608# CONFIG_SERIO_I8042 is not set
609CONFIG_SERIO_SERPORT=y
610# CONFIG_SERIO_PCIPS2 is not set
611# CONFIG_SERIO_LIBPS2 is not set
612CONFIG_SERIO_RAW=m
613# CONFIG_GAMEPORT is not set
614
615#
616# Character devices
617#
618CONFIG_VT=y
619CONFIG_VT_CONSOLE=y
620CONFIG_HW_CONSOLE=y
621CONFIG_VT_HW_CONSOLE_BINDING=y
622# CONFIG_SERIAL_NONSTANDARD is not set
623
624#
625# Serial drivers
626#
627CONFIG_SERIAL_8250=y
628CONFIG_SERIAL_8250_CONSOLE=y
629CONFIG_SERIAL_8250_PCI=y
630CONFIG_SERIAL_8250_NR_UARTS=4
631CONFIG_SERIAL_8250_RUNTIME_UARTS=4
632# CONFIG_SERIAL_8250_EXTENDED is not set
633
634#
635# Non-8250 serial port support
636#
637CONFIG_SERIAL_CORE=y
638CONFIG_SERIAL_CORE_CONSOLE=y
639# CONFIG_SERIAL_JSM is not set
640CONFIG_UNIX98_PTYS=y
641CONFIG_LEGACY_PTYS=y
642CONFIG_LEGACY_PTY_COUNT=256
643
644#
645# IPMI
646#
647# CONFIG_IPMI_HANDLER is not set
648
649#
650# Watchdog Cards
651#
652# CONFIG_WATCHDOG is not set
653# CONFIG_HW_RANDOM is not set
654# CONFIG_RTC is not set
655# CONFIG_GEN_RTC is not set
656# CONFIG_DTLK is not set
657# CONFIG_R3964 is not set
658# CONFIG_APPLICOM is not set
659# CONFIG_DRM is not set
660# CONFIG_RAW_DRIVER is not set
661
662#
663# TPM devices
664#
665# CONFIG_TCG_TPM is not set
666
667#
668# I2C support
669#
670# CONFIG_I2C is not set
671
672#
673# SPI support
674#
675# CONFIG_SPI is not set
676# CONFIG_SPI_MASTER is not set
677
678#
679# Dallas's 1-wire bus
680#
681# CONFIG_W1 is not set
682
683#
684# Hardware Monitoring support
685#
686# CONFIG_HWMON is not set
687# CONFIG_HWMON_VID is not set
688
689#
690# Multimedia devices
691#
692# CONFIG_VIDEO_DEV is not set
693
694#
695# Digital Video Broadcasting Devices
696#
697# CONFIG_DVB is not set
698
699#
700# Graphics support
701#
702# CONFIG_FIRMWARE_EDID is not set
703# CONFIG_FB is not set
704
705#
706# Console display driver support
707#
708# CONFIG_VGA_CONSOLE is not set
709CONFIG_DUMMY_CONSOLE=y
710# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
711
712#
713# Sound
714#
715# CONFIG_SOUND is not set
716
717#
718# HID Devices
719#
720# CONFIG_HID is not set
721
722#
723# USB support
724#
725CONFIG_USB_ARCH_HAS_HCD=y
726CONFIG_USB_ARCH_HAS_OHCI=y
727CONFIG_USB_ARCH_HAS_EHCI=y
728# CONFIG_USB is not set
729
730#
731# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
732#
733
734#
735# USB Gadget Support
736#
737# CONFIG_USB_GADGET is not set
738
739#
740# MMC/SD Card support
741#
742# CONFIG_MMC is not set
743
744#
745# LED devices
746#
747# CONFIG_NEW_LEDS is not set
748
749#
750# LED drivers
751#
752
753#
754# LED Triggers
755#
756
757#
758# InfiniBand support
759#
760# CONFIG_INFINIBAND is not set
761
762#
763# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
764#
765
766#
767# Real Time Clock
768#
769# CONFIG_RTC_CLASS is not set
770
771#
772# DMA Engine support
773#
774# CONFIG_DMA_ENGINE is not set
775
776#
777# DMA Clients
778#
779
780#
781# DMA Devices
782#
783
784#
785# Auxiliary Display support
786#
787
788#
789# Virtualization
790#
791
792#
793# File systems
794#
795CONFIG_EXT2_FS=y
796# CONFIG_EXT2_FS_XATTR is not set
797# CONFIG_EXT2_FS_XIP is not set
798# CONFIG_EXT3_FS is not set
799# CONFIG_EXT4DEV_FS is not set
800# CONFIG_REISERFS_FS is not set
801# CONFIG_JFS_FS is not set
802# CONFIG_FS_POSIX_ACL is not set
803# CONFIG_XFS_FS is not set
804# CONFIG_GFS2_FS is not set
805# CONFIG_OCFS2_FS is not set
806# CONFIG_MINIX_FS is not set
807# CONFIG_ROMFS_FS is not set
808CONFIG_INOTIFY=y
809CONFIG_INOTIFY_USER=y
810# CONFIG_QUOTA is not set
811CONFIG_DNOTIFY=y
812# CONFIG_AUTOFS_FS is not set
813# CONFIG_AUTOFS4_FS is not set
814CONFIG_FUSE_FS=m
815
816#
817# CD-ROM/DVD Filesystems
818#
819# CONFIG_ISO9660_FS is not set
820# CONFIG_UDF_FS is not set
821
822#
823# DOS/FAT/NT Filesystems
824#
825# CONFIG_MSDOS_FS is not set
826# CONFIG_VFAT_FS is not set
827# CONFIG_NTFS_FS is not set
828
829#
830# Pseudo filesystems
831#
832CONFIG_PROC_FS=y
833CONFIG_PROC_KCORE=y
834CONFIG_PROC_SYSCTL=y
835CONFIG_SYSFS=y
836# CONFIG_TMPFS is not set
837# CONFIG_HUGETLB_PAGE is not set
838CONFIG_RAMFS=y
839CONFIG_CONFIGFS_FS=m
840
841#
842# Miscellaneous filesystems
843#
844# CONFIG_ADFS_FS is not set
845# CONFIG_AFFS_FS is not set
846# CONFIG_ECRYPT_FS is not set
847# CONFIG_HFS_FS is not set
848# CONFIG_HFSPLUS_FS is not set
849# CONFIG_BEFS_FS is not set
850# CONFIG_BFS_FS is not set
851# CONFIG_EFS_FS is not set
852# CONFIG_CRAMFS is not set
853# CONFIG_VXFS_FS is not set
854# CONFIG_HPFS_FS is not set
855# CONFIG_QNX4FS_FS is not set
856# CONFIG_SYSV_FS is not set
857# CONFIG_UFS_FS is not set
858
859#
860# Network File Systems
861#
862CONFIG_NFS_FS=y
863# CONFIG_NFS_V3 is not set
864# CONFIG_NFS_V4 is not set
865# CONFIG_NFS_DIRECTIO is not set
866# CONFIG_NFSD is not set
867CONFIG_ROOT_NFS=y
868CONFIG_LOCKD=y
869CONFIG_NFS_COMMON=y
870CONFIG_SUNRPC=y
871# CONFIG_RPCSEC_GSS_KRB5 is not set
872# CONFIG_RPCSEC_GSS_SPKM3 is not set
873# CONFIG_SMB_FS is not set
874# CONFIG_CIFS is not set
875# CONFIG_NCP_FS is not set
876# CONFIG_CODA_FS is not set
877# CONFIG_AFS_FS is not set
878# CONFIG_9P_FS is not set
879
880#
881# Partition Types
882#
883# CONFIG_PARTITION_ADVANCED is not set
884CONFIG_MSDOS_PARTITION=y
885
886#
887# Native Language Support
888#
889# CONFIG_NLS is not set
890
891#
892# Distributed Lock Manager
893#
894CONFIG_DLM=m
895CONFIG_DLM_TCP=y
896# CONFIG_DLM_SCTP is not set
897# CONFIG_DLM_DEBUG is not set
898
899#
900# Profiling support
901#
902# CONFIG_PROFILING is not set
903
904#
905# Kernel hacking
906#
907CONFIG_TRACE_IRQFLAGS_SUPPORT=y
908# CONFIG_PRINTK_TIME is not set
909CONFIG_ENABLE_MUST_CHECK=y
910# CONFIG_MAGIC_SYSRQ is not set
911# CONFIG_UNUSED_SYMBOLS is not set
912# CONFIG_DEBUG_FS is not set
913# CONFIG_HEADERS_CHECK is not set
914# CONFIG_DEBUG_KERNEL is not set
915CONFIG_LOG_BUF_SHIFT=14
916CONFIG_CROSSCOMPILE=y
917CONFIG_CMDLINE="console=ttyS0,115200 root=/dev/nfs rw nfsroot=192.168.1.1:/mnt/disk2/fs.gal ip=192.168.1.211:192.168.1.1:::gt::"
918CONFIG_SYS_SUPPORTS_KGDB=y
919
920#
921# Security options
922#
923CONFIG_KEYS=y
924CONFIG_KEYS_DEBUG_PROC_KEYS=y
925# CONFIG_SECURITY is not set
926
927#
928# Cryptographic options
929#
930CONFIG_CRYPTO=y
931CONFIG_CRYPTO_ALGAPI=y
932CONFIG_CRYPTO_BLKCIPHER=m
933CONFIG_CRYPTO_HASH=y
934CONFIG_CRYPTO_MANAGER=y
935CONFIG_CRYPTO_HMAC=y
936CONFIG_CRYPTO_XCBC=m
937CONFIG_CRYPTO_NULL=m
938CONFIG_CRYPTO_MD4=m
939CONFIG_CRYPTO_MD5=y
940CONFIG_CRYPTO_SHA1=m
941CONFIG_CRYPTO_SHA256=m
942CONFIG_CRYPTO_SHA512=m
943CONFIG_CRYPTO_WP512=m
944CONFIG_CRYPTO_TGR192=m
945CONFIG_CRYPTO_GF128MUL=m
946CONFIG_CRYPTO_ECB=m
947CONFIG_CRYPTO_CBC=m
948CONFIG_CRYPTO_PCBC=m
949CONFIG_CRYPTO_LRW=m
950CONFIG_CRYPTO_DES=m
951CONFIG_CRYPTO_FCRYPT=m
952CONFIG_CRYPTO_BLOWFISH=m
953CONFIG_CRYPTO_TWOFISH=m
954CONFIG_CRYPTO_TWOFISH_COMMON=m
955CONFIG_CRYPTO_SERPENT=m
956CONFIG_CRYPTO_AES=m
957CONFIG_CRYPTO_CAST5=m
958CONFIG_CRYPTO_CAST6=m
959CONFIG_CRYPTO_TEA=m
960CONFIG_CRYPTO_ARC4=m
961CONFIG_CRYPTO_KHAZAD=m
962CONFIG_CRYPTO_ANUBIS=m
963CONFIG_CRYPTO_DEFLATE=m
964CONFIG_CRYPTO_MICHAEL_MIC=m
965CONFIG_CRYPTO_CRC32C=m
966CONFIG_CRYPTO_CAMELLIA=m
967# CONFIG_CRYPTO_TEST is not set
968
969#
970# Hardware crypto devices
971#
972
973#
974# Library routines
975#
976CONFIG_BITREVERSE=m
977CONFIG_CRC_CCITT=y
978CONFIG_CRC16=m
979CONFIG_CRC32=m
980CONFIG_LIBCRC32C=m
981CONFIG_ZLIB_INFLATE=m
982CONFIG_ZLIB_DEFLATE=m
983CONFIG_PLIST=y
984CONFIG_HAS_IOMEM=y
985CONFIG_HAS_IOPORT=y
diff --git a/arch/mips/configs/excite_defconfig b/arch/mips/configs/excite_defconfig
index 460d7a26a8ba..69810592aa6b 100644
--- a/arch/mips/configs/excite_defconfig
+++ b/arch/mips/configs/excite_defconfig
@@ -26,9 +26,7 @@ CONFIG_BASLER_EXCITE=y
26# CONFIG_BASLER_EXCITE_PROTOTYPE is not set 26# CONFIG_BASLER_EXCITE_PROTOTYPE is not set
27# CONFIG_MIPS_COBALT is not set 27# CONFIG_MIPS_COBALT is not set
28# CONFIG_MACH_DECSTATION is not set 28# CONFIG_MACH_DECSTATION is not set
29# CONFIG_MIPS_EV64120 is not set
30# CONFIG_MACH_JAZZ is not set 29# CONFIG_MACH_JAZZ is not set
31# CONFIG_LASAT is not set
32# CONFIG_MIPS_ATLAS is not set 30# CONFIG_MIPS_ATLAS is not set
33# CONFIG_MIPS_MALTA is not set 31# CONFIG_MIPS_MALTA is not set
34# CONFIG_MIPS_SEAD is not set 32# CONFIG_MIPS_SEAD is not set
@@ -36,8 +34,6 @@ CONFIG_BASLER_EXCITE=y
36# CONFIG_MIPS_SIM is not set 34# CONFIG_MIPS_SIM is not set
37# CONFIG_MOMENCO_JAGUAR_ATX is not set 35# CONFIG_MOMENCO_JAGUAR_ATX is not set
38# CONFIG_MOMENCO_OCELOT is not set 36# CONFIG_MOMENCO_OCELOT is not set
39# CONFIG_MOMENCO_OCELOT_3 is not set
40# CONFIG_MOMENCO_OCELOT_C is not set
41# CONFIG_MOMENCO_OCELOT_G is not set 37# CONFIG_MOMENCO_OCELOT_G is not set
42# CONFIG_MIPS_XXS1500 is not set 38# CONFIG_MIPS_XXS1500 is not set
43# CONFIG_PNX8550_JBS is not set 39# CONFIG_PNX8550_JBS is not set
diff --git a/arch/mips/configs/fulong_defconfig b/arch/mips/configs/fulong_defconfig
new file mode 100644
index 000000000000..6ab94d8cf08b
--- /dev/null
+++ b/arch/mips/configs/fulong_defconfig
@@ -0,0 +1,1765 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.22-rc4
4# Mon Jun 11 00:23:51 2007
5#
6CONFIG_MIPS=y
7
8#
9# Machine selection
10#
11CONFIG_LEMOTE_FULONG=y
12# CONFIG_MACH_ALCHEMY is not set
13# CONFIG_BASLER_EXCITE is not set
14# CONFIG_MIPS_COBALT is not set
15# CONFIG_MACH_DECSTATION is not set
16# CONFIG_MACH_JAZZ is not set
17# CONFIG_MIPS_ATLAS is not set
18# CONFIG_MIPS_MALTA is not set
19# CONFIG_MIPS_SEAD is not set
20# CONFIG_WR_PPMC is not set
21# CONFIG_MIPS_SIM is not set
22# CONFIG_MOMENCO_OCELOT is not set
23# CONFIG_PNX8550_JBS is not set
24# CONFIG_PNX8550_STB810 is not set
25# CONFIG_DDB5477 is not set
26# CONFIG_MACH_VR41XX is not set
27# CONFIG_PMC_YOSEMITE is not set
28# CONFIG_QEMU is not set
29# CONFIG_MARKEINS is not set
30# CONFIG_SGI_IP22 is not set
31# CONFIG_SGI_IP27 is not set
32# CONFIG_SGI_IP32 is not set
33# CONFIG_SIBYTE_BIGSUR is not set
34# CONFIG_SIBYTE_SWARM is not set
35# CONFIG_SIBYTE_SENTOSA is not set
36# CONFIG_SIBYTE_RHONE is not set
37# CONFIG_SIBYTE_CARMEL is not set
38# CONFIG_SIBYTE_PTSWARM is not set
39# CONFIG_SIBYTE_LITTLESUR is not set
40# CONFIG_SIBYTE_CRHINE is not set
41# CONFIG_SIBYTE_CRHONE is not set
42# CONFIG_SNI_RM is not set
43# CONFIG_TOSHIBA_JMR3927 is not set
44# CONFIG_TOSHIBA_RBTX4927 is not set
45# CONFIG_TOSHIBA_RBTX4938 is not set
46CONFIG_RWSEM_GENERIC_SPINLOCK=y
47# CONFIG_ARCH_HAS_ILOG2_U32 is not set
48# CONFIG_ARCH_HAS_ILOG2_U64 is not set
49CONFIG_GENERIC_FIND_NEXT_BIT=y
50CONFIG_GENERIC_HWEIGHT=y
51CONFIG_GENERIC_CALIBRATE_DELAY=y
52CONFIG_GENERIC_TIME=y
53CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
54CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
55CONFIG_DMA_NONCOHERENT=y
56CONFIG_DMA_NEED_PCI_MAP_STATE=y
57CONFIG_EARLY_PRINTK=y
58CONFIG_SYS_HAS_EARLY_PRINTK=y
59CONFIG_I8259=y
60# CONFIG_NO_IOPORT is not set
61# CONFIG_CPU_BIG_ENDIAN is not set
62CONFIG_CPU_LITTLE_ENDIAN=y
63CONFIG_SYS_SUPPORTS_LITTLE_ENDIAN=y
64CONFIG_IRQ_CPU=y
65CONFIG_BOOT_ELF32=y
66CONFIG_MIPS_L1_CACHE_SHIFT=5
67
68#
69# CPU selection
70#
71CONFIG_CPU_LOONGSON2=y
72# CONFIG_CPU_MIPS32_R1 is not set
73# CONFIG_CPU_MIPS32_R2 is not set
74# CONFIG_CPU_MIPS64_R1 is not set
75# CONFIG_CPU_MIPS64_R2 is not set
76# CONFIG_CPU_R3000 is not set
77# CONFIG_CPU_TX39XX is not set
78# CONFIG_CPU_VR41XX is not set
79# CONFIG_CPU_R4300 is not set
80# CONFIG_CPU_R4X00 is not set
81# CONFIG_CPU_TX49XX is not set
82# CONFIG_CPU_R5000 is not set
83# CONFIG_CPU_R5432 is not set
84# CONFIG_CPU_R6000 is not set
85# CONFIG_CPU_NEVADA is not set
86# CONFIG_CPU_R8000 is not set
87# CONFIG_CPU_R10000 is not set
88# CONFIG_CPU_RM7000 is not set
89# CONFIG_CPU_RM9000 is not set
90# CONFIG_CPU_SB1 is not set
91CONFIG_SYS_HAS_CPU_LOONGSON2=y
92CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y
93CONFIG_SYS_SUPPORTS_64BIT_KERNEL=y
94CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y
95CONFIG_CPU_SUPPORTS_64BIT_KERNEL=y
96
97#
98# Kernel type
99#
100# CONFIG_32BIT is not set
101CONFIG_64BIT=y
102# CONFIG_PAGE_SIZE_4KB is not set
103# CONFIG_PAGE_SIZE_8KB is not set
104CONFIG_PAGE_SIZE_16KB=y
105# CONFIG_PAGE_SIZE_64KB is not set
106CONFIG_BOARD_SCACHE=y
107CONFIG_MIPS_MT_DISABLED=y
108# CONFIG_MIPS_MT_SMP is not set
109# CONFIG_MIPS_MT_SMTC is not set
110# CONFIG_MIPS_VPE_LOADER is not set
111CONFIG_CPU_HAS_WB=y
112CONFIG_CPU_HAS_SYNC=y
113CONFIG_GENERIC_HARDIRQS=y
114CONFIG_GENERIC_IRQ_PROBE=y
115CONFIG_CPU_SUPPORTS_HIGHMEM=y
116CONFIG_SYS_SUPPORTS_HIGHMEM=y
117CONFIG_ARCH_FLATMEM_ENABLE=y
118CONFIG_ARCH_SPARSEMEM_ENABLE=y
119CONFIG_SELECT_MEMORY_MODEL=y
120CONFIG_FLATMEM_MANUAL=y
121# CONFIG_DISCONTIGMEM_MANUAL is not set
122# CONFIG_SPARSEMEM_MANUAL is not set
123CONFIG_FLATMEM=y
124CONFIG_FLAT_NODE_MEM_MAP=y
125CONFIG_SPARSEMEM_STATIC=y
126CONFIG_SPLIT_PTLOCK_CPUS=4
127CONFIG_RESOURCES_64BIT=y
128CONFIG_ZONE_DMA_FLAG=0
129# CONFIG_HZ_48 is not set
130# CONFIG_HZ_100 is not set
131# CONFIG_HZ_128 is not set
132CONFIG_HZ_250=y
133# CONFIG_HZ_256 is not set
134# CONFIG_HZ_1000 is not set
135# CONFIG_HZ_1024 is not set
136CONFIG_SYS_SUPPORTS_ARBIT_HZ=y
137CONFIG_HZ=250
138# CONFIG_PREEMPT_NONE is not set
139CONFIG_PREEMPT_VOLUNTARY=y
140# CONFIG_PREEMPT is not set
141# CONFIG_KEXEC is not set
142CONFIG_LOCKDEP_SUPPORT=y
143CONFIG_STACKTRACE_SUPPORT=y
144CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
145
146#
147# Code maturity level options
148#
149CONFIG_EXPERIMENTAL=y
150CONFIG_BROKEN_ON_SMP=y
151CONFIG_INIT_ENV_ARG_LIMIT=32
152
153#
154# General setup
155#
156CONFIG_LOCALVERSION="lm32"
157# CONFIG_LOCALVERSION_AUTO is not set
158CONFIG_SWAP=y
159CONFIG_SYSVIPC=y
160# CONFIG_IPC_NS is not set
161CONFIG_SYSVIPC_SYSCTL=y
162CONFIG_POSIX_MQUEUE=y
163CONFIG_BSD_PROCESS_ACCT=y
164# CONFIG_BSD_PROCESS_ACCT_V3 is not set
165# CONFIG_TASKSTATS is not set
166# CONFIG_UTS_NS is not set
167# CONFIG_AUDIT is not set
168CONFIG_IKCONFIG=y
169CONFIG_IKCONFIG_PROC=y
170CONFIG_LOG_BUF_SHIFT=14
171CONFIG_SYSFS_DEPRECATED=y
172# CONFIG_RELAY is not set
173# CONFIG_BLK_DEV_INITRD is not set
174# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
175CONFIG_SYSCTL=y
176CONFIG_EMBEDDED=y
177CONFIG_SYSCTL_SYSCALL=y
178CONFIG_KALLSYMS=y
179# CONFIG_KALLSYMS_EXTRA_PASS is not set
180CONFIG_HOTPLUG=y
181CONFIG_PRINTK=y
182CONFIG_BUG=y
183CONFIG_ELF_CORE=y
184CONFIG_BASE_FULL=y
185CONFIG_FUTEX=y
186CONFIG_ANON_INODES=y
187CONFIG_EPOLL=y
188CONFIG_SIGNALFD=y
189CONFIG_TIMERFD=y
190CONFIG_EVENTFD=y
191CONFIG_SHMEM=y
192CONFIG_VM_EVENT_COUNTERS=y
193CONFIG_SLAB=y
194# CONFIG_SLUB is not set
195# CONFIG_SLOB is not set
196CONFIG_RT_MUTEXES=y
197# CONFIG_TINY_SHMEM is not set
198CONFIG_BASE_SMALL=0
199
200#
201# Loadable module support
202#
203CONFIG_MODULES=y
204CONFIG_MODULE_UNLOAD=y
205CONFIG_MODULE_FORCE_UNLOAD=y
206# CONFIG_MODVERSIONS is not set
207# CONFIG_MODULE_SRCVERSION_ALL is not set
208CONFIG_KMOD=y
209
210#
211# Block layer
212#
213CONFIG_BLOCK=y
214# CONFIG_BLK_DEV_IO_TRACE is not set
215
216#
217# IO Schedulers
218#
219CONFIG_IOSCHED_NOOP=y
220CONFIG_IOSCHED_AS=y
221CONFIG_IOSCHED_DEADLINE=y
222CONFIG_IOSCHED_CFQ=y
223# CONFIG_DEFAULT_AS is not set
224# CONFIG_DEFAULT_DEADLINE is not set
225CONFIG_DEFAULT_CFQ=y
226# CONFIG_DEFAULT_NOOP is not set
227CONFIG_DEFAULT_IOSCHED="cfq"
228
229#
230# Bus options (PCI, PCMCIA, EISA, ISA, TC)
231#
232CONFIG_HW_HAS_PCI=y
233CONFIG_PCI=y
234# CONFIG_ARCH_SUPPORTS_MSI is not set
235CONFIG_ISA=y
236CONFIG_MMU=y
237
238#
239# PCCARD (PCMCIA/CardBus) support
240#
241# CONFIG_PCCARD is not set
242# CONFIG_HOTPLUG_PCI is not set
243
244#
245# Executable file formats
246#
247CONFIG_BINFMT_ELF=y
248CONFIG_BINFMT_MISC=y
249# CONFIG_BUILD_ELF64 is not set
250CONFIG_MIPS32_COMPAT=y
251CONFIG_COMPAT=y
252CONFIG_SYSVIPC_COMPAT=y
253CONFIG_MIPS32_O32=y
254CONFIG_MIPS32_N32=y
255CONFIG_BINFMT_ELF32=y
256
257#
258# Power management options
259#
260CONFIG_PM=y
261# CONFIG_PM_LEGACY is not set
262# CONFIG_PM_DEBUG is not set
263# CONFIG_PM_SYSFS_DEPRECATED is not set
264
265#
266# Networking
267#
268CONFIG_NET=y
269
270#
271# Networking options
272#
273CONFIG_PACKET=y
274CONFIG_PACKET_MMAP=y
275CONFIG_UNIX=y
276CONFIG_XFRM=y
277# CONFIG_XFRM_USER is not set
278# CONFIG_XFRM_SUB_POLICY is not set
279# CONFIG_XFRM_MIGRATE is not set
280# CONFIG_NET_KEY is not set
281CONFIG_INET=y
282CONFIG_IP_MULTICAST=y
283# CONFIG_IP_ADVANCED_ROUTER is not set
284CONFIG_IP_FIB_HASH=y
285CONFIG_IP_PNP=y
286# CONFIG_IP_PNP_DHCP is not set
287CONFIG_IP_PNP_BOOTP=y
288# CONFIG_IP_PNP_RARP is not set
289CONFIG_NET_IPIP=m
290CONFIG_NET_IPGRE=m
291CONFIG_NET_IPGRE_BROADCAST=y
292# CONFIG_IP_MROUTE is not set
293# CONFIG_ARPD is not set
294# CONFIG_SYN_COOKIES is not set
295# CONFIG_INET_AH is not set
296# CONFIG_INET_ESP is not set
297# CONFIG_INET_IPCOMP is not set
298# CONFIG_INET_XFRM_TUNNEL is not set
299CONFIG_INET_TUNNEL=m
300# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
301# CONFIG_INET_XFRM_MODE_TUNNEL is not set
302CONFIG_INET_XFRM_MODE_BEET=y
303# CONFIG_INET_DIAG is not set
304# CONFIG_TCP_CONG_ADVANCED is not set
305CONFIG_TCP_CONG_CUBIC=y
306CONFIG_DEFAULT_TCP_CONG="cubic"
307# CONFIG_TCP_MD5SIG is not set
308# CONFIG_IP_VS is not set
309# CONFIG_IPV6 is not set
310# CONFIG_INET6_XFRM_TUNNEL is not set
311# CONFIG_INET6_TUNNEL is not set
312# CONFIG_NETWORK_SECMARK is not set
313CONFIG_NETFILTER=y
314# CONFIG_NETFILTER_DEBUG is not set
315
316#
317# Core Netfilter Configuration
318#
319CONFIG_NETFILTER_NETLINK=m
320CONFIG_NETFILTER_NETLINK_QUEUE=m
321CONFIG_NETFILTER_NETLINK_LOG=m
322# CONFIG_NF_CONNTRACK_ENABLED is not set
323# CONFIG_NF_CONNTRACK is not set
324CONFIG_NETFILTER_XTABLES=m
325CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
326# CONFIG_NETFILTER_XT_TARGET_DSCP is not set
327CONFIG_NETFILTER_XT_TARGET_MARK=m
328CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
329# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set
330# CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set
331CONFIG_NETFILTER_XT_MATCH_COMMENT=m
332CONFIG_NETFILTER_XT_MATCH_DCCP=m
333# CONFIG_NETFILTER_XT_MATCH_DSCP is not set
334CONFIG_NETFILTER_XT_MATCH_ESP=m
335CONFIG_NETFILTER_XT_MATCH_LENGTH=m
336CONFIG_NETFILTER_XT_MATCH_LIMIT=m
337CONFIG_NETFILTER_XT_MATCH_MAC=m
338CONFIG_NETFILTER_XT_MATCH_MARK=m
339# CONFIG_NETFILTER_XT_MATCH_POLICY is not set
340CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
341CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
342CONFIG_NETFILTER_XT_MATCH_QUOTA=m
343CONFIG_NETFILTER_XT_MATCH_REALM=m
344CONFIG_NETFILTER_XT_MATCH_SCTP=m
345CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
346CONFIG_NETFILTER_XT_MATCH_STRING=m
347CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
348# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set
349
350#
351# IP: Netfilter Configuration
352#
353CONFIG_IP_NF_QUEUE=m
354CONFIG_IP_NF_IPTABLES=m
355CONFIG_IP_NF_MATCH_IPRANGE=m
356CONFIG_IP_NF_MATCH_TOS=m
357CONFIG_IP_NF_MATCH_RECENT=m
358CONFIG_IP_NF_MATCH_ECN=m
359CONFIG_IP_NF_MATCH_AH=m
360CONFIG_IP_NF_MATCH_TTL=m
361CONFIG_IP_NF_MATCH_OWNER=m
362CONFIG_IP_NF_MATCH_ADDRTYPE=m
363CONFIG_IP_NF_FILTER=m
364CONFIG_IP_NF_TARGET_REJECT=m
365CONFIG_IP_NF_TARGET_LOG=m
366CONFIG_IP_NF_TARGET_ULOG=m
367CONFIG_IP_NF_MANGLE=m
368CONFIG_IP_NF_TARGET_TOS=m
369CONFIG_IP_NF_TARGET_ECN=m
370CONFIG_IP_NF_TARGET_TTL=m
371CONFIG_IP_NF_RAW=m
372CONFIG_IP_NF_ARPTABLES=m
373CONFIG_IP_NF_ARPFILTER=m
374CONFIG_IP_NF_ARP_MANGLE=m
375# CONFIG_IP_DCCP is not set
376# CONFIG_IP_SCTP is not set
377# CONFIG_TIPC is not set
378# CONFIG_ATM is not set
379# CONFIG_BRIDGE is not set
380# CONFIG_VLAN_8021Q is not set
381# CONFIG_DECNET is not set
382# CONFIG_LLC2 is not set
383# CONFIG_IPX is not set
384# CONFIG_ATALK is not set
385# CONFIG_X25 is not set
386# CONFIG_LAPB is not set
387# CONFIG_ECONET is not set
388# CONFIG_WAN_ROUTER is not set
389
390#
391# QoS and/or fair queueing
392#
393# CONFIG_NET_SCHED is not set
394CONFIG_NET_CLS_ROUTE=y
395
396#
397# Network testing
398#
399# CONFIG_NET_PKTGEN is not set
400# CONFIG_HAMRADIO is not set
401# CONFIG_IRDA is not set
402# CONFIG_BT is not set
403# CONFIG_AF_RXRPC is not set
404
405#
406# Wireless
407#
408# CONFIG_CFG80211 is not set
409CONFIG_WIRELESS_EXT=y
410# CONFIG_MAC80211 is not set
411CONFIG_IEEE80211=m
412# CONFIG_IEEE80211_DEBUG is not set
413CONFIG_IEEE80211_CRYPT_WEP=m
414# CONFIG_IEEE80211_CRYPT_CCMP is not set
415# CONFIG_IEEE80211_CRYPT_TKIP is not set
416# CONFIG_IEEE80211_SOFTMAC is not set
417# CONFIG_RFKILL is not set
418
419#
420# Device Drivers
421#
422
423#
424# Generic Driver Options
425#
426CONFIG_STANDALONE=y
427CONFIG_PREVENT_FIRMWARE_BUILD=y
428CONFIG_FW_LOADER=m
429# CONFIG_SYS_HYPERVISOR is not set
430
431#
432# Connector - unified userspace <-> kernelspace linker
433#
434# CONFIG_CONNECTOR is not set
435CONFIG_MTD=m
436# CONFIG_MTD_DEBUG is not set
437# CONFIG_MTD_CONCAT is not set
438# CONFIG_MTD_PARTITIONS is not set
439
440#
441# User Modules And Translation Layers
442#
443CONFIG_MTD_CHAR=m
444CONFIG_MTD_BLKDEVS=m
445CONFIG_MTD_BLOCK=m
446# CONFIG_MTD_BLOCK_RO is not set
447# CONFIG_FTL is not set
448# CONFIG_NFTL is not set
449# CONFIG_INFTL is not set
450# CONFIG_RFD_FTL is not set
451# CONFIG_SSFDC is not set
452
453#
454# RAM/ROM/Flash chip drivers
455#
456CONFIG_MTD_CFI=m
457CONFIG_MTD_JEDECPROBE=m
458CONFIG_MTD_GEN_PROBE=m
459CONFIG_MTD_CFI_ADV_OPTIONS=y
460CONFIG_MTD_CFI_NOSWAP=y
461# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set
462# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
463# CONFIG_MTD_CFI_GEOMETRY is not set
464CONFIG_MTD_MAP_BANK_WIDTH_1=y
465CONFIG_MTD_MAP_BANK_WIDTH_2=y
466CONFIG_MTD_MAP_BANK_WIDTH_4=y
467# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
468# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
469# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
470CONFIG_MTD_CFI_I1=y
471CONFIG_MTD_CFI_I2=y
472# CONFIG_MTD_CFI_I4 is not set
473# CONFIG_MTD_CFI_I8 is not set
474# CONFIG_MTD_OTP is not set
475# CONFIG_MTD_CFI_INTELEXT is not set
476CONFIG_MTD_CFI_AMDSTD=m
477CONFIG_MTD_CFI_STAA=m
478CONFIG_MTD_CFI_UTIL=m
479# CONFIG_MTD_RAM is not set
480# CONFIG_MTD_ROM is not set
481# CONFIG_MTD_ABSENT is not set
482
483#
484# Mapping drivers for chip access
485#
486# CONFIG_MTD_COMPLEX_MAPPINGS is not set
487CONFIG_MTD_PHYSMAP=m
488CONFIG_MTD_PHYSMAP_START=0x1fc00000
489CONFIG_MTD_PHYSMAP_LEN=0x80000
490CONFIG_MTD_PHYSMAP_BANKWIDTH=1
491# CONFIG_MTD_PLATRAM is not set
492
493#
494# Self-contained MTD device drivers
495#
496# CONFIG_MTD_PMC551 is not set
497# CONFIG_MTD_SLRAM is not set
498# CONFIG_MTD_PHRAM is not set
499# CONFIG_MTD_MTDRAM is not set
500# CONFIG_MTD_BLOCK2MTD is not set
501
502#
503# Disk-On-Chip Device Drivers
504#
505# CONFIG_MTD_DOC2000 is not set
506# CONFIG_MTD_DOC2001 is not set
507# CONFIG_MTD_DOC2001PLUS is not set
508# CONFIG_MTD_NAND is not set
509# CONFIG_MTD_ONENAND is not set
510
511#
512# UBI - Unsorted block images
513#
514# CONFIG_MTD_UBI is not set
515
516#
517# Parallel port support
518#
519# CONFIG_PARPORT is not set
520
521#
522# Plug and Play support
523#
524# CONFIG_PNP is not set
525# CONFIG_PNPACPI is not set
526
527#
528# Block devices
529#
530# CONFIG_BLK_CPQ_DA is not set
531# CONFIG_BLK_CPQ_CISS_DA is not set
532# CONFIG_BLK_DEV_DAC960 is not set
533# CONFIG_BLK_DEV_UMEM is not set
534# CONFIG_BLK_DEV_COW_COMMON is not set
535CONFIG_BLK_DEV_LOOP=y
536CONFIG_BLK_DEV_CRYPTOLOOP=m
537# CONFIG_BLK_DEV_NBD is not set
538# CONFIG_BLK_DEV_SX8 is not set
539# CONFIG_BLK_DEV_UB is not set
540CONFIG_BLK_DEV_RAM=m
541CONFIG_BLK_DEV_RAM_COUNT=16
542CONFIG_BLK_DEV_RAM_SIZE=4096
543CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
544CONFIG_CDROM_PKTCDVD=m
545CONFIG_CDROM_PKTCDVD_BUFFERS=8
546# CONFIG_CDROM_PKTCDVD_WCACHE is not set
547CONFIG_ATA_OVER_ETH=m
548
549#
550# Misc devices
551#
552# CONFIG_PHANTOM is not set
553# CONFIG_SGI_IOC4 is not set
554# CONFIG_TIFM_CORE is not set
555# CONFIG_BLINK is not set
556CONFIG_IDE=y
557CONFIG_IDE_MAX_HWIFS=4
558CONFIG_BLK_DEV_IDE=y
559
560#
561# Please see Documentation/ide.txt for help/info on IDE drives
562#
563# CONFIG_BLK_DEV_IDE_SATA is not set
564CONFIG_BLK_DEV_IDEDISK=y
565CONFIG_IDEDISK_MULTI_MODE=y
566CONFIG_BLK_DEV_IDECD=y
567# CONFIG_BLK_DEV_IDETAPE is not set
568# CONFIG_BLK_DEV_IDEFLOPPY is not set
569CONFIG_BLK_DEV_IDESCSI=y
570CONFIG_IDE_TASK_IOCTL=y
571CONFIG_IDE_PROC_FS=y
572
573#
574# IDE chipset support/bugfixes
575#
576CONFIG_IDE_GENERIC=y
577CONFIG_BLK_DEV_IDEPCI=y
578CONFIG_IDEPCI_SHARE_IRQ=y
579CONFIG_IDEPCI_PCIBUS_ORDER=y
580# CONFIG_BLK_DEV_OFFBOARD is not set
581CONFIG_BLK_DEV_GENERIC=y
582# CONFIG_BLK_DEV_OPTI621 is not set
583CONFIG_BLK_DEV_IDEDMA_PCI=y
584# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
585# CONFIG_IDEDMA_ONLYDISK is not set
586# CONFIG_BLK_DEV_AEC62XX is not set
587# CONFIG_BLK_DEV_ALI15X3 is not set
588# CONFIG_BLK_DEV_AMD74XX is not set
589# CONFIG_BLK_DEV_CMD64X is not set
590# CONFIG_BLK_DEV_TRIFLEX is not set
591# CONFIG_BLK_DEV_CY82C693 is not set
592# CONFIG_BLK_DEV_CS5520 is not set
593# CONFIG_BLK_DEV_CS5530 is not set
594# CONFIG_BLK_DEV_HPT34X is not set
595# CONFIG_BLK_DEV_HPT366 is not set
596# CONFIG_BLK_DEV_JMICRON is not set
597# CONFIG_BLK_DEV_SC1200 is not set
598# CONFIG_BLK_DEV_PIIX is not set
599# CONFIG_BLK_DEV_IT8213 is not set
600# CONFIG_BLK_DEV_IT821X is not set
601# CONFIG_BLK_DEV_NS87415 is not set
602# CONFIG_BLK_DEV_PDC202XX_OLD is not set
603# CONFIG_BLK_DEV_PDC202XX_NEW is not set
604# CONFIG_BLK_DEV_SVWKS is not set
605# CONFIG_BLK_DEV_SIIMAGE is not set
606# CONFIG_BLK_DEV_SLC90E66 is not set
607# CONFIG_BLK_DEV_TRM290 is not set
608CONFIG_BLK_DEV_VIA82CXXX=y
609# CONFIG_BLK_DEV_TC86C001 is not set
610# CONFIG_IDE_ARM is not set
611# CONFIG_IDE_CHIPSETS is not set
612CONFIG_BLK_DEV_IDEDMA=y
613# CONFIG_IDEDMA_IVB is not set
614# CONFIG_BLK_DEV_HD is not set
615
616#
617# SCSI device support
618#
619# CONFIG_RAID_ATTRS is not set
620CONFIG_SCSI=y
621# CONFIG_SCSI_TGT is not set
622# CONFIG_SCSI_NETLINK is not set
623CONFIG_SCSI_PROC_FS=y
624
625#
626# SCSI support type (disk, tape, CD-ROM)
627#
628CONFIG_BLK_DEV_SD=y
629# CONFIG_CHR_DEV_ST is not set
630# CONFIG_CHR_DEV_OSST is not set
631CONFIG_BLK_DEV_SR=y
632CONFIG_BLK_DEV_SR_VENDOR=y
633CONFIG_CHR_DEV_SG=y
634# CONFIG_CHR_DEV_SCH is not set
635
636#
637# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
638#
639# CONFIG_SCSI_MULTI_LUN is not set
640CONFIG_SCSI_CONSTANTS=y
641# CONFIG_SCSI_LOGGING is not set
642# CONFIG_SCSI_SCAN_ASYNC is not set
643CONFIG_SCSI_WAIT_SCAN=m
644
645#
646# SCSI Transports
647#
648# CONFIG_SCSI_SPI_ATTRS is not set
649# CONFIG_SCSI_FC_ATTRS is not set
650# CONFIG_SCSI_ISCSI_ATTRS is not set
651# CONFIG_SCSI_SAS_ATTRS is not set
652# CONFIG_SCSI_SAS_LIBSAS is not set
653
654#
655# SCSI low-level drivers
656#
657# CONFIG_ISCSI_TCP is not set
658# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
659# CONFIG_SCSI_3W_9XXX is not set
660# CONFIG_SCSI_ACARD is not set
661# CONFIG_SCSI_AACRAID is not set
662# CONFIG_SCSI_AIC7XXX is not set
663# CONFIG_SCSI_AIC7XXX_OLD is not set
664# CONFIG_SCSI_AIC79XX is not set
665# CONFIG_SCSI_AIC94XX is not set
666# CONFIG_SCSI_IN2000 is not set
667# CONFIG_SCSI_ARCMSR is not set
668# CONFIG_MEGARAID_NEWGEN is not set
669# CONFIG_MEGARAID_LEGACY is not set
670# CONFIG_MEGARAID_SAS is not set
671# CONFIG_SCSI_HPTIOP is not set
672# CONFIG_SCSI_DMX3191D is not set
673# CONFIG_SCSI_DTC3280 is not set
674# CONFIG_SCSI_FUTURE_DOMAIN is not set
675# CONFIG_SCSI_GENERIC_NCR5380 is not set
676# CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set
677# CONFIG_SCSI_IPS is not set
678# CONFIG_SCSI_INITIO is not set
679# CONFIG_SCSI_INIA100 is not set
680# CONFIG_SCSI_NCR53C406A is not set
681# CONFIG_SCSI_STEX is not set
682# CONFIG_SCSI_SYM53C8XX_2 is not set
683# CONFIG_SCSI_PAS16 is not set
684# CONFIG_SCSI_PSI240I is not set
685# CONFIG_SCSI_QLOGIC_FAS is not set
686# CONFIG_SCSI_QLOGIC_1280 is not set
687# CONFIG_SCSI_QLA_FC is not set
688# CONFIG_SCSI_QLA_ISCSI is not set
689# CONFIG_SCSI_LPFC is not set
690# CONFIG_SCSI_SYM53C416 is not set
691# CONFIG_SCSI_DC395x is not set
692# CONFIG_SCSI_DC390T is not set
693# CONFIG_SCSI_T128 is not set
694# CONFIG_SCSI_DEBUG is not set
695# CONFIG_SCSI_SRP is not set
696# CONFIG_ATA is not set
697
698#
699# Old CD-ROM drivers (not SCSI, not IDE)
700#
701# CONFIG_CD_NO_IDESCSI is not set
702
703#
704# Multi-device support (RAID and LVM)
705#
706# CONFIG_MD is not set
707
708#
709# Fusion MPT device support
710#
711# CONFIG_FUSION is not set
712# CONFIG_FUSION_SPI is not set
713# CONFIG_FUSION_FC is not set
714# CONFIG_FUSION_SAS is not set
715
716#
717# IEEE 1394 (FireWire) support
718#
719# CONFIG_FIREWIRE is not set
720# CONFIG_IEEE1394 is not set
721
722#
723# I2O device support
724#
725# CONFIG_I2O is not set
726
727#
728# Network device support
729#
730CONFIG_NETDEVICES=y
731# CONFIG_DUMMY is not set
732# CONFIG_BONDING is not set
733# CONFIG_EQUALIZER is not set
734# CONFIG_TUN is not set
735# CONFIG_ARCNET is not set
736CONFIG_PHYLIB=m
737
738#
739# MII PHY device drivers
740#
741CONFIG_MARVELL_PHY=m
742CONFIG_DAVICOM_PHY=m
743CONFIG_QSEMI_PHY=m
744CONFIG_LXT_PHY=m
745CONFIG_CICADA_PHY=m
746# CONFIG_VITESSE_PHY is not set
747# CONFIG_SMSC_PHY is not set
748# CONFIG_BROADCOM_PHY is not set
749# CONFIG_FIXED_PHY is not set
750
751#
752# Ethernet (10 or 100Mbit)
753#
754CONFIG_NET_ETHERNET=y
755CONFIG_MII=y
756# CONFIG_HAPPYMEAL is not set
757# CONFIG_SUNGEM is not set
758# CONFIG_CASSINI is not set
759# CONFIG_NET_VENDOR_3COM is not set
760# CONFIG_NET_VENDOR_SMC is not set
761# CONFIG_DM9000 is not set
762# CONFIG_NET_VENDOR_RACAL is not set
763
764#
765# Tulip family network device support
766#
767# CONFIG_NET_TULIP is not set
768# CONFIG_AT1700 is not set
769# CONFIG_DEPCA is not set
770# CONFIG_HP100 is not set
771# CONFIG_NET_ISA is not set
772CONFIG_NET_PCI=y
773# CONFIG_PCNET32 is not set
774# CONFIG_AMD8111_ETH is not set
775# CONFIG_ADAPTEC_STARFIRE is not set
776# CONFIG_AC3200 is not set
777# CONFIG_APRICOT is not set
778# CONFIG_B44 is not set
779# CONFIG_FORCEDETH is not set
780# CONFIG_CS89x0 is not set
781# CONFIG_TC35815 is not set
782# CONFIG_DGRS is not set
783# CONFIG_EEPRO100 is not set
784# CONFIG_E100 is not set
785# CONFIG_FEALNX is not set
786# CONFIG_NATSEMI is not set
787# CONFIG_NE2K_PCI is not set
788# CONFIG_8139CP is not set
789CONFIG_8139TOO=y
790# CONFIG_8139TOO_PIO is not set
791# CONFIG_8139TOO_TUNE_TWISTER is not set
792# CONFIG_8139TOO_8129 is not set
793# CONFIG_8139_OLD_RX_RESET is not set
794# CONFIG_SIS900 is not set
795# CONFIG_EPIC100 is not set
796# CONFIG_SUNDANCE is not set
797# CONFIG_VIA_RHINE is not set
798# CONFIG_SC92031 is not set
799CONFIG_NETDEV_1000=y
800# CONFIG_ACENIC is not set
801# CONFIG_DL2K is not set
802# CONFIG_E1000 is not set
803# CONFIG_NS83820 is not set
804# CONFIG_HAMACHI is not set
805# CONFIG_YELLOWFIN is not set
806# CONFIG_R8169 is not set
807# CONFIG_SIS190 is not set
808# CONFIG_SKGE is not set
809# CONFIG_SKY2 is not set
810# CONFIG_SK98LIN is not set
811# CONFIG_VIA_VELOCITY is not set
812# CONFIG_TIGON3 is not set
813# CONFIG_BNX2 is not set
814# CONFIG_QLA3XXX is not set
815# CONFIG_ATL1 is not set
816CONFIG_NETDEV_10000=y
817# CONFIG_CHELSIO_T1 is not set
818# CONFIG_CHELSIO_T3 is not set
819# CONFIG_IXGB is not set
820# CONFIG_S2IO is not set
821# CONFIG_MYRI10GE is not set
822# CONFIG_NETXEN_NIC is not set
823# CONFIG_MLX4_CORE is not set
824# CONFIG_TR is not set
825
826#
827# Wireless LAN
828#
829# CONFIG_WLAN_PRE80211 is not set
830# CONFIG_WLAN_80211 is not set
831
832#
833# USB Network Adapters
834#
835# CONFIG_USB_CATC is not set
836# CONFIG_USB_KAWETH is not set
837# CONFIG_USB_PEGASUS is not set
838# CONFIG_USB_RTL8150 is not set
839# CONFIG_USB_USBNET_MII is not set
840# CONFIG_USB_USBNET is not set
841# CONFIG_WAN is not set
842# CONFIG_FDDI is not set
843# CONFIG_HIPPI is not set
844CONFIG_PPP=m
845CONFIG_PPP_MULTILINK=y
846CONFIG_PPP_FILTER=y
847CONFIG_PPP_ASYNC=m
848CONFIG_PPP_SYNC_TTY=m
849CONFIG_PPP_DEFLATE=m
850CONFIG_PPP_BSDCOMP=m
851CONFIG_PPP_MPPE=m
852CONFIG_PPPOE=m
853CONFIG_SLIP=m
854CONFIG_SLIP_COMPRESSED=y
855CONFIG_SLHC=m
856CONFIG_SLIP_SMART=y
857CONFIG_SLIP_MODE_SLIP6=y
858CONFIG_NET_FC=y
859# CONFIG_SHAPER is not set
860# CONFIG_NETCONSOLE is not set
861# CONFIG_NETPOLL is not set
862# CONFIG_NET_POLL_CONTROLLER is not set
863
864#
865# ISDN subsystem
866#
867# CONFIG_ISDN is not set
868
869#
870# Telephony Support
871#
872# CONFIG_PHONE is not set
873
874#
875# Input device support
876#
877CONFIG_INPUT=y
878CONFIG_INPUT_FF_MEMLESS=y
879
880#
881# Userland interfaces
882#
883CONFIG_INPUT_MOUSEDEV=y
884CONFIG_INPUT_MOUSEDEV_PSAUX=y
885CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
886CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
887# CONFIG_INPUT_JOYDEV is not set
888# CONFIG_INPUT_TSDEV is not set
889# CONFIG_INPUT_EVDEV is not set
890# CONFIG_INPUT_EVBUG is not set
891
892#
893# Input Device Drivers
894#
895CONFIG_INPUT_KEYBOARD=y
896CONFIG_KEYBOARD_ATKBD=m
897# CONFIG_KEYBOARD_SUNKBD is not set
898# CONFIG_KEYBOARD_LKKBD is not set
899# CONFIG_KEYBOARD_XTKBD is not set
900# CONFIG_KEYBOARD_NEWTON is not set
901# CONFIG_KEYBOARD_STOWAWAY is not set
902CONFIG_INPUT_MOUSE=y
903CONFIG_MOUSE_PS2=y
904CONFIG_MOUSE_PS2_ALPS=y
905CONFIG_MOUSE_PS2_LOGIPS2PP=y
906CONFIG_MOUSE_PS2_SYNAPTICS=y
907CONFIG_MOUSE_PS2_LIFEBOOK=y
908CONFIG_MOUSE_PS2_TRACKPOINT=y
909# CONFIG_MOUSE_PS2_TOUCHKIT is not set
910CONFIG_MOUSE_SERIAL=y
911# CONFIG_MOUSE_APPLETOUCH is not set
912# CONFIG_MOUSE_INPORT is not set
913# CONFIG_MOUSE_LOGIBM is not set
914# CONFIG_MOUSE_PC110PAD is not set
915# CONFIG_MOUSE_VSXXXAA is not set
916# CONFIG_INPUT_JOYSTICK is not set
917# CONFIG_INPUT_TABLET is not set
918# CONFIG_INPUT_TOUCHSCREEN is not set
919# CONFIG_INPUT_MISC is not set
920
921#
922# Hardware I/O ports
923#
924CONFIG_SERIO=y
925CONFIG_SERIO_I8042=y
926CONFIG_SERIO_SERPORT=y
927# CONFIG_SERIO_PCIPS2 is not set
928CONFIG_SERIO_LIBPS2=y
929# CONFIG_SERIO_RAW is not set
930# CONFIG_GAMEPORT is not set
931
932#
933# Character devices
934#
935CONFIG_VT=y
936CONFIG_VT_CONSOLE=y
937CONFIG_HW_CONSOLE=y
938# CONFIG_VT_HW_CONSOLE_BINDING is not set
939# CONFIG_SERIAL_NONSTANDARD is not set
940
941#
942# Serial drivers
943#
944CONFIG_SERIAL_8250=y
945CONFIG_SERIAL_8250_CONSOLE=y
946CONFIG_SERIAL_8250_PCI=y
947CONFIG_SERIAL_8250_NR_UARTS=2
948CONFIG_SERIAL_8250_RUNTIME_UARTS=2
949# CONFIG_SERIAL_8250_EXTENDED is not set
950
951#
952# Non-8250 serial port support
953#
954CONFIG_SERIAL_CORE=y
955CONFIG_SERIAL_CORE_CONSOLE=y
956# CONFIG_SERIAL_JSM is not set
957CONFIG_UNIX98_PTYS=y
958CONFIG_LEGACY_PTYS=y
959CONFIG_LEGACY_PTY_COUNT=256
960
961#
962# IPMI
963#
964# CONFIG_IPMI_HANDLER is not set
965# CONFIG_WATCHDOG is not set
966CONFIG_HW_RANDOM=y
967CONFIG_RTC=y
968# CONFIG_DTLK is not set
969# CONFIG_R3964 is not set
970# CONFIG_APPLICOM is not set
971# CONFIG_DRM is not set
972# CONFIG_RAW_DRIVER is not set
973
974#
975# TPM devices
976#
977# CONFIG_TCG_TPM is not set
978CONFIG_DEVPORT=y
979CONFIG_I2C=m
980CONFIG_I2C_BOARDINFO=y
981CONFIG_I2C_CHARDEV=m
982
983#
984# I2C Algorithms
985#
986# CONFIG_I2C_ALGOBIT is not set
987# CONFIG_I2C_ALGOPCF is not set
988# CONFIG_I2C_ALGOPCA is not set
989
990#
991# I2C Hardware Bus support
992#
993# CONFIG_I2C_ALI1535 is not set
994# CONFIG_I2C_ALI1563 is not set
995# CONFIG_I2C_ALI15X3 is not set
996# CONFIG_I2C_AMD756 is not set
997# CONFIG_I2C_AMD8111 is not set
998# CONFIG_I2C_ELEKTOR is not set
999# CONFIG_I2C_I801 is not set
1000# CONFIG_I2C_I810 is not set
1001# CONFIG_I2C_PIIX4 is not set
1002# CONFIG_I2C_NFORCE2 is not set
1003# CONFIG_I2C_OCORES is not set
1004# CONFIG_I2C_PARPORT_LIGHT is not set
1005# CONFIG_I2C_PROSAVAGE is not set
1006# CONFIG_I2C_SAVAGE4 is not set
1007# CONFIG_I2C_SIMTEC is not set
1008# CONFIG_I2C_SIS5595 is not set
1009# CONFIG_I2C_SIS630 is not set
1010# CONFIG_I2C_SIS96X is not set
1011# CONFIG_I2C_STUB is not set
1012# CONFIG_I2C_TINY_USB is not set
1013# CONFIG_I2C_VIA is not set
1014CONFIG_I2C_VIAPRO=m
1015# CONFIG_I2C_VOODOO3 is not set
1016# CONFIG_I2C_PCA_ISA is not set
1017
1018#
1019# Miscellaneous I2C Chip support
1020#
1021# CONFIG_SENSORS_DS1337 is not set
1022# CONFIG_SENSORS_DS1374 is not set
1023# CONFIG_SENSORS_EEPROM is not set
1024# CONFIG_SENSORS_PCF8574 is not set
1025# CONFIG_SENSORS_PCA9539 is not set
1026# CONFIG_SENSORS_PCF8591 is not set
1027# CONFIG_SENSORS_MAX6875 is not set
1028# CONFIG_I2C_DEBUG_CORE is not set
1029# CONFIG_I2C_DEBUG_ALGO is not set
1030# CONFIG_I2C_DEBUG_BUS is not set
1031# CONFIG_I2C_DEBUG_CHIP is not set
1032
1033#
1034# SPI support
1035#
1036# CONFIG_SPI is not set
1037# CONFIG_SPI_MASTER is not set
1038
1039#
1040# Dallas's 1-wire bus
1041#
1042# CONFIG_W1 is not set
1043# CONFIG_HWMON is not set
1044
1045#
1046# Multifunction device drivers
1047#
1048# CONFIG_MFD_SM501 is not set
1049
1050#
1051# Multimedia devices
1052#
1053CONFIG_VIDEO_DEV=m
1054CONFIG_VIDEO_V4L1=y
1055CONFIG_VIDEO_V4L1_COMPAT=y
1056CONFIG_VIDEO_V4L2=y
1057CONFIG_VIDEO_CAPTURE_DRIVERS=y
1058# CONFIG_VIDEO_ADV_DEBUG is not set
1059CONFIG_VIDEO_HELPER_CHIPS_AUTO=y
1060# CONFIG_VIDEO_VIVI is not set
1061# CONFIG_VIDEO_BT848 is not set
1062# CONFIG_VIDEO_PMS is not set
1063# CONFIG_VIDEO_CPIA is not set
1064# CONFIG_VIDEO_CPIA2 is not set
1065# CONFIG_VIDEO_SAA5246A is not set
1066# CONFIG_VIDEO_SAA5249 is not set
1067# CONFIG_TUNER_3036 is not set
1068# CONFIG_VIDEO_STRADIS is not set
1069# CONFIG_VIDEO_SAA7134 is not set
1070# CONFIG_VIDEO_MXB is not set
1071# CONFIG_VIDEO_DPC is not set
1072# CONFIG_VIDEO_HEXIUM_ORION is not set
1073# CONFIG_VIDEO_HEXIUM_GEMINI is not set
1074# CONFIG_VIDEO_CX88 is not set
1075# CONFIG_VIDEO_IVTV is not set
1076# CONFIG_VIDEO_CAFE_CCIC is not set
1077CONFIG_V4L_USB_DRIVERS=y
1078# CONFIG_VIDEO_PVRUSB2 is not set
1079# CONFIG_VIDEO_EM28XX is not set
1080# CONFIG_VIDEO_USBVISION is not set
1081CONFIG_VIDEO_USBVIDEO=m
1082CONFIG_USB_VICAM=m
1083CONFIG_USB_IBMCAM=m
1084CONFIG_USB_KONICAWC=m
1085CONFIG_USB_QUICKCAM_MESSENGER=m
1086CONFIG_USB_ET61X251=m
1087# CONFIG_VIDEO_OVCAMCHIP is not set
1088# CONFIG_USB_W9968CF is not set
1089CONFIG_USB_OV511=m
1090CONFIG_USB_SE401=m
1091CONFIG_USB_SN9C102=m
1092CONFIG_USB_STV680=m
1093CONFIG_USB_ZC0301=m
1094CONFIG_USB_PWC=m
1095# CONFIG_USB_PWC_DEBUG is not set
1096# CONFIG_USB_ZR364XX is not set
1097CONFIG_RADIO_ADAPTERS=y
1098# CONFIG_RADIO_CADET is not set
1099# CONFIG_RADIO_RTRACK is not set
1100# CONFIG_RADIO_RTRACK2 is not set
1101# CONFIG_RADIO_AZTECH is not set
1102# CONFIG_RADIO_GEMTEK is not set
1103# CONFIG_RADIO_GEMTEK_PCI is not set
1104# CONFIG_RADIO_MAXIRADIO is not set
1105# CONFIG_RADIO_MAESTRO is not set
1106# CONFIG_RADIO_SF16FMI is not set
1107# CONFIG_RADIO_SF16FMR2 is not set
1108# CONFIG_RADIO_TERRATEC is not set
1109# CONFIG_RADIO_TRUST is not set
1110# CONFIG_RADIO_TYPHOON is not set
1111# CONFIG_RADIO_ZOLTRIX is not set
1112# CONFIG_USB_DSBR is not set
1113# CONFIG_DVB_CORE is not set
1114CONFIG_DAB=y
1115# CONFIG_USB_DABUSB is not set
1116
1117#
1118# Graphics support
1119#
1120CONFIG_BACKLIGHT_LCD_SUPPORT=y
1121CONFIG_BACKLIGHT_CLASS_DEVICE=y
1122CONFIG_LCD_CLASS_DEVICE=m
1123
1124#
1125# Display device support
1126#
1127# CONFIG_DISPLAY_SUPPORT is not set
1128# CONFIG_VGASTATE is not set
1129CONFIG_FB=y
1130# CONFIG_FIRMWARE_EDID is not set
1131# CONFIG_FB_DDC is not set
1132CONFIG_FB_CFB_FILLRECT=y
1133CONFIG_FB_CFB_COPYAREA=y
1134CONFIG_FB_CFB_IMAGEBLIT=y
1135# CONFIG_FB_SYS_FILLRECT is not set
1136# CONFIG_FB_SYS_COPYAREA is not set
1137# CONFIG_FB_SYS_IMAGEBLIT is not set
1138# CONFIG_FB_SYS_FOPS is not set
1139CONFIG_FB_DEFERRED_IO=y
1140# CONFIG_FB_SVGALIB is not set
1141# CONFIG_FB_MACMODES is not set
1142CONFIG_FB_BACKLIGHT=y
1143CONFIG_FB_MODE_HELPERS=y
1144# CONFIG_FB_TILEBLITTING is not set
1145
1146#
1147# Frame buffer hardware drivers
1148#
1149# CONFIG_FB_CIRRUS is not set
1150# CONFIG_FB_PM2 is not set
1151# CONFIG_FB_CYBER2000 is not set
1152# CONFIG_FB_ASILIANT is not set
1153# CONFIG_FB_IMSTT is not set
1154# CONFIG_FB_S1D13XXX is not set
1155# CONFIG_FB_NVIDIA is not set
1156# CONFIG_FB_RIVA is not set
1157# CONFIG_FB_MATROX is not set
1158CONFIG_FB_RADEON=y
1159# CONFIG_FB_RADEON_I2C is not set
1160CONFIG_FB_RADEON_BACKLIGHT=y
1161# CONFIG_FB_RADEON_DEBUG is not set
1162# CONFIG_FB_ATY128 is not set
1163# CONFIG_FB_ATY is not set
1164# CONFIG_FB_S3 is not set
1165# CONFIG_FB_SAVAGE is not set
1166# CONFIG_FB_SIS is not set
1167# CONFIG_FB_NEOMAGIC is not set
1168# CONFIG_FB_KYRO is not set
1169# CONFIG_FB_3DFX is not set
1170# CONFIG_FB_VOODOO1 is not set
1171# CONFIG_FB_SMIVGX is not set
1172# CONFIG_FB_VT8623 is not set
1173# CONFIG_FB_TRIDENT is not set
1174# CONFIG_FB_ARK is not set
1175# CONFIG_FB_PM3 is not set
1176# CONFIG_FB_VIRTUAL is not set
1177
1178#
1179# Console display driver support
1180#
1181# CONFIG_VGA_CONSOLE is not set
1182# CONFIG_MDA_CONSOLE is not set
1183CONFIG_DUMMY_CONSOLE=y
1184CONFIG_FRAMEBUFFER_CONSOLE=y
1185# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
1186# CONFIG_FONTS is not set
1187CONFIG_FONT_8x8=y
1188CONFIG_FONT_8x16=y
1189# CONFIG_LOGO is not set
1190
1191#
1192# Sound
1193#
1194CONFIG_SOUND=y
1195
1196#
1197# Advanced Linux Sound Architecture
1198#
1199CONFIG_SND=m
1200CONFIG_SND_TIMER=m
1201CONFIG_SND_PCM=m
1202CONFIG_SND_RAWMIDI=m
1203CONFIG_SND_SEQUENCER=m
1204CONFIG_SND_SEQ_DUMMY=m
1205CONFIG_SND_OSSEMUL=y
1206CONFIG_SND_MIXER_OSS=m
1207CONFIG_SND_PCM_OSS=m
1208CONFIG_SND_PCM_OSS_PLUGINS=y
1209CONFIG_SND_SEQUENCER_OSS=y
1210CONFIG_SND_RTCTIMER=m
1211CONFIG_SND_SEQ_RTCTIMER_DEFAULT=y
1212# CONFIG_SND_DYNAMIC_MINORS is not set
1213CONFIG_SND_SUPPORT_OLD_API=y
1214CONFIG_SND_VERBOSE_PROCFS=y
1215# CONFIG_SND_VERBOSE_PRINTK is not set
1216# CONFIG_SND_DEBUG is not set
1217
1218#
1219# Generic devices
1220#
1221CONFIG_SND_MPU401_UART=m
1222CONFIG_SND_AC97_CODEC=m
1223# CONFIG_SND_DUMMY is not set
1224# CONFIG_SND_VIRMIDI is not set
1225# CONFIG_SND_MTPAV is not set
1226# CONFIG_SND_SERIAL_U16550 is not set
1227# CONFIG_SND_MPU401 is not set
1228
1229#
1230# PCI devices
1231#
1232# CONFIG_SND_AD1889 is not set
1233# CONFIG_SND_ALS300 is not set
1234# CONFIG_SND_ALI5451 is not set
1235# CONFIG_SND_ATIIXP is not set
1236# CONFIG_SND_ATIIXP_MODEM is not set
1237# CONFIG_SND_AU8810 is not set
1238# CONFIG_SND_AU8820 is not set
1239# CONFIG_SND_AU8830 is not set
1240# CONFIG_SND_AZT3328 is not set
1241# CONFIG_SND_BT87X is not set
1242# CONFIG_SND_CA0106 is not set
1243# CONFIG_SND_CMIPCI is not set
1244# CONFIG_SND_CS4281 is not set
1245# CONFIG_SND_CS46XX is not set
1246# CONFIG_SND_DARLA20 is not set
1247# CONFIG_SND_GINA20 is not set
1248# CONFIG_SND_LAYLA20 is not set
1249# CONFIG_SND_DARLA24 is not set
1250# CONFIG_SND_GINA24 is not set
1251# CONFIG_SND_LAYLA24 is not set
1252# CONFIG_SND_MONA is not set
1253# CONFIG_SND_MIA is not set
1254# CONFIG_SND_ECHO3G is not set
1255# CONFIG_SND_INDIGO is not set
1256# CONFIG_SND_INDIGOIO is not set
1257# CONFIG_SND_INDIGODJ is not set
1258# CONFIG_SND_EMU10K1 is not set
1259# CONFIG_SND_EMU10K1X is not set
1260# CONFIG_SND_ENS1370 is not set
1261# CONFIG_SND_ENS1371 is not set
1262# CONFIG_SND_ES1938 is not set
1263# CONFIG_SND_ES1968 is not set
1264# CONFIG_SND_FM801 is not set
1265# CONFIG_SND_HDA_INTEL is not set
1266# CONFIG_SND_HDSP is not set
1267# CONFIG_SND_HDSPM is not set
1268# CONFIG_SND_ICE1712 is not set
1269# CONFIG_SND_ICE1724 is not set
1270# CONFIG_SND_INTEL8X0 is not set
1271# CONFIG_SND_INTEL8X0M is not set
1272# CONFIG_SND_KORG1212 is not set
1273# CONFIG_SND_MAESTRO3 is not set
1274# CONFIG_SND_MIXART is not set
1275# CONFIG_SND_NM256 is not set
1276# CONFIG_SND_PCXHR is not set
1277# CONFIG_SND_RIPTIDE is not set
1278# CONFIG_SND_RME32 is not set
1279# CONFIG_SND_RME96 is not set
1280# CONFIG_SND_RME9652 is not set
1281# CONFIG_SND_SONICVIBES is not set
1282# CONFIG_SND_TRIDENT is not set
1283CONFIG_SND_VIA82XX=m
1284# CONFIG_SND_VIA82XX_MODEM is not set
1285# CONFIG_SND_VX222 is not set
1286# CONFIG_SND_YMFPCI is not set
1287# CONFIG_SND_AC97_POWER_SAVE is not set
1288
1289#
1290# ALSA MIPS devices
1291#
1292
1293#
1294# USB devices
1295#
1296# CONFIG_SND_USB_AUDIO is not set
1297# CONFIG_SND_USB_CAIAQ is not set
1298
1299#
1300# System on Chip audio support
1301#
1302# CONFIG_SND_SOC is not set
1303
1304#
1305# Open Sound System
1306#
1307# CONFIG_SOUND_PRIME is not set
1308CONFIG_AC97_BUS=m
1309
1310#
1311# HID Devices
1312#
1313CONFIG_HID=y
1314# CONFIG_HID_DEBUG is not set
1315
1316#
1317# USB Input Devices
1318#
1319CONFIG_USB_HID=m
1320# CONFIG_USB_HIDINPUT_POWERBOOK is not set
1321# CONFIG_HID_FF is not set
1322CONFIG_USB_HIDDEV=y
1323
1324#
1325# USB HID Boot Protocol drivers
1326#
1327# CONFIG_USB_KBD is not set
1328# CONFIG_USB_MOUSE is not set
1329
1330#
1331# USB support
1332#
1333CONFIG_USB_ARCH_HAS_HCD=y
1334CONFIG_USB_ARCH_HAS_OHCI=y
1335CONFIG_USB_ARCH_HAS_EHCI=y
1336CONFIG_USB=y
1337# CONFIG_USB_DEBUG is not set
1338
1339#
1340# Miscellaneous USB options
1341#
1342CONFIG_USB_DEVICEFS=y
1343# CONFIG_USB_DEVICE_CLASS is not set
1344# CONFIG_USB_DYNAMIC_MINORS is not set
1345# CONFIG_USB_SUSPEND is not set
1346# CONFIG_USB_OTG is not set
1347
1348#
1349# USB Host Controller Drivers
1350#
1351CONFIG_USB_EHCI_HCD=y
1352CONFIG_USB_EHCI_SPLIT_ISO=y
1353CONFIG_USB_EHCI_ROOT_HUB_TT=y
1354CONFIG_USB_EHCI_TT_NEWSCHED=y
1355# CONFIG_USB_EHCI_BIG_ENDIAN_MMIO is not set
1356# CONFIG_USB_ISP116X_HCD is not set
1357CONFIG_USB_OHCI_HCD=y
1358# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
1359# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
1360CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1361CONFIG_USB_UHCI_HCD=m
1362# CONFIG_USB_SL811_HCD is not set
1363
1364#
1365# USB Device Class drivers
1366#
1367CONFIG_USB_ACM=y
1368CONFIG_USB_PRINTER=y
1369
1370#
1371# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
1372#
1373
1374#
1375# may also be needed; see USB_STORAGE Help for more information
1376#
1377CONFIG_USB_STORAGE=y
1378# CONFIG_USB_STORAGE_DEBUG is not set
1379# CONFIG_USB_STORAGE_DATAFAB is not set
1380# CONFIG_USB_STORAGE_FREECOM is not set
1381# CONFIG_USB_STORAGE_ISD200 is not set
1382# CONFIG_USB_STORAGE_DPCM is not set
1383# CONFIG_USB_STORAGE_USBAT is not set
1384# CONFIG_USB_STORAGE_SDDR09 is not set
1385# CONFIG_USB_STORAGE_SDDR55 is not set
1386# CONFIG_USB_STORAGE_JUMPSHOT is not set
1387# CONFIG_USB_STORAGE_ALAUDA is not set
1388# CONFIG_USB_STORAGE_KARMA is not set
1389CONFIG_USB_LIBUSUAL=y
1390
1391#
1392# USB Imaging devices
1393#
1394# CONFIG_USB_MDC800 is not set
1395# CONFIG_USB_MICROTEK is not set
1396# CONFIG_USB_MON is not set
1397
1398#
1399# USB port drivers
1400#
1401
1402#
1403# USB Serial Converter support
1404#
1405# CONFIG_USB_SERIAL is not set
1406
1407#
1408# USB Miscellaneous drivers
1409#
1410# CONFIG_USB_EMI62 is not set
1411# CONFIG_USB_EMI26 is not set
1412# CONFIG_USB_ADUTUX is not set
1413# CONFIG_USB_AUERSWALD is not set
1414# CONFIG_USB_RIO500 is not set
1415# CONFIG_USB_LEGOTOWER is not set
1416# CONFIG_USB_LCD is not set
1417# CONFIG_USB_BERRY_CHARGE is not set
1418# CONFIG_USB_LED is not set
1419# CONFIG_USB_CYPRESS_CY7C63 is not set
1420# CONFIG_USB_CYTHERM is not set
1421# CONFIG_USB_PHIDGET is not set
1422# CONFIG_USB_IDMOUSE is not set
1423# CONFIG_USB_FTDI_ELAN is not set
1424# CONFIG_USB_APPLEDISPLAY is not set
1425# CONFIG_USB_SISUSBVGA is not set
1426# CONFIG_USB_LD is not set
1427# CONFIG_USB_TRANCEVIBRATOR is not set
1428# CONFIG_USB_IOWARRIOR is not set
1429# CONFIG_USB_TEST is not set
1430
1431#
1432# USB DSL modem support
1433#
1434
1435#
1436# USB Gadget Support
1437#
1438# CONFIG_USB_GADGET is not set
1439# CONFIG_MMC is not set
1440
1441#
1442# LED devices
1443#
1444# CONFIG_NEW_LEDS is not set
1445
1446#
1447# LED drivers
1448#
1449
1450#
1451# LED Triggers
1452#
1453
1454#
1455# InfiniBand support
1456#
1457# CONFIG_INFINIBAND is not set
1458
1459#
1460# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
1461#
1462
1463#
1464# Real Time Clock
1465#
1466# CONFIG_RTC_CLASS is not set
1467
1468#
1469# DMA Engine support
1470#
1471# CONFIG_DMA_ENGINE is not set
1472
1473#
1474# DMA Clients
1475#
1476
1477#
1478# DMA Devices
1479#
1480
1481#
1482# File systems
1483#
1484CONFIG_EXT2_FS=y
1485# CONFIG_EXT2_FS_XATTR is not set
1486CONFIG_EXT2_FS_XIP=y
1487CONFIG_FS_XIP=y
1488CONFIG_EXT3_FS=y
1489# CONFIG_EXT3_FS_XATTR is not set
1490# CONFIG_EXT4DEV_FS is not set
1491CONFIG_JBD=y
1492# CONFIG_JBD_DEBUG is not set
1493CONFIG_REISERFS_FS=m
1494# CONFIG_REISERFS_CHECK is not set
1495# CONFIG_REISERFS_PROC_INFO is not set
1496# CONFIG_REISERFS_FS_XATTR is not set
1497# CONFIG_JFS_FS is not set
1498CONFIG_FS_POSIX_ACL=y
1499# CONFIG_XFS_FS is not set
1500# CONFIG_GFS2_FS is not set
1501# CONFIG_OCFS2_FS is not set
1502# CONFIG_MINIX_FS is not set
1503# CONFIG_ROMFS_FS is not set
1504CONFIG_INOTIFY=y
1505CONFIG_INOTIFY_USER=y
1506# CONFIG_QUOTA is not set
1507CONFIG_DNOTIFY=y
1508CONFIG_AUTOFS_FS=y
1509CONFIG_AUTOFS4_FS=y
1510CONFIG_FUSE_FS=y
1511
1512#
1513# CD-ROM/DVD Filesystems
1514#
1515CONFIG_ISO9660_FS=m
1516CONFIG_JOLIET=y
1517CONFIG_ZISOFS=y
1518CONFIG_UDF_FS=m
1519CONFIG_UDF_NLS=y
1520
1521#
1522# DOS/FAT/NT Filesystems
1523#
1524CONFIG_FAT_FS=m
1525CONFIG_MSDOS_FS=m
1526CONFIG_VFAT_FS=m
1527CONFIG_FAT_DEFAULT_CODEPAGE=936
1528CONFIG_FAT_DEFAULT_IOCHARSET="utf8"
1529CONFIG_NTFS_FS=m
1530# CONFIG_NTFS_DEBUG is not set
1531CONFIG_NTFS_RW=y
1532
1533#
1534# Pseudo filesystems
1535#
1536CONFIG_PROC_FS=y
1537CONFIG_PROC_KCORE=y
1538CONFIG_PROC_SYSCTL=y
1539CONFIG_SYSFS=y
1540CONFIG_TMPFS=y
1541# CONFIG_TMPFS_POSIX_ACL is not set
1542# CONFIG_HUGETLB_PAGE is not set
1543CONFIG_RAMFS=y
1544# CONFIG_CONFIGFS_FS is not set
1545
1546#
1547# Miscellaneous filesystems
1548#
1549# CONFIG_ADFS_FS is not set
1550# CONFIG_AFFS_FS is not set
1551# CONFIG_HFS_FS is not set
1552# CONFIG_HFSPLUS_FS is not set
1553# CONFIG_BEFS_FS is not set
1554# CONFIG_BFS_FS is not set
1555# CONFIG_EFS_FS is not set
1556# CONFIG_JFFS2_FS is not set
1557# CONFIG_CRAMFS is not set
1558# CONFIG_VXFS_FS is not set
1559# CONFIG_HPFS_FS is not set
1560# CONFIG_QNX4FS_FS is not set
1561# CONFIG_SYSV_FS is not set
1562# CONFIG_UFS_FS is not set
1563
1564#
1565# Network File Systems
1566#
1567CONFIG_NFS_FS=m
1568CONFIG_NFS_V3=y
1569CONFIG_NFS_V3_ACL=y
1570CONFIG_NFS_V4=y
1571CONFIG_NFS_DIRECTIO=y
1572CONFIG_NFSD=m
1573CONFIG_NFSD_V2_ACL=y
1574CONFIG_NFSD_V3=y
1575CONFIG_NFSD_V3_ACL=y
1576CONFIG_NFSD_V4=y
1577CONFIG_NFSD_TCP=y
1578CONFIG_LOCKD=m
1579CONFIG_LOCKD_V4=y
1580CONFIG_EXPORTFS=m
1581CONFIG_NFS_ACL_SUPPORT=m
1582CONFIG_NFS_COMMON=y
1583CONFIG_SUNRPC=m
1584CONFIG_SUNRPC_GSS=m
1585# CONFIG_SUNRPC_BIND34 is not set
1586CONFIG_RPCSEC_GSS_KRB5=m
1587# CONFIG_RPCSEC_GSS_SPKM3 is not set
1588CONFIG_SMB_FS=m
1589CONFIG_SMB_NLS_DEFAULT=y
1590CONFIG_SMB_NLS_REMOTE="cp936"
1591CONFIG_CIFS=m
1592CONFIG_CIFS_STATS=y
1593CONFIG_CIFS_STATS2=y
1594CONFIG_CIFS_WEAK_PW_HASH=y
1595CONFIG_CIFS_XATTR=y
1596CONFIG_CIFS_POSIX=y
1597CONFIG_CIFS_DEBUG2=y
1598CONFIG_CIFS_EXPERIMENTAL=y
1599# CONFIG_NCP_FS is not set
1600# CONFIG_CODA_FS is not set
1601# CONFIG_AFS_FS is not set
1602# CONFIG_9P_FS is not set
1603
1604#
1605# Partition Types
1606#
1607CONFIG_PARTITION_ADVANCED=y
1608# CONFIG_ACORN_PARTITION is not set
1609# CONFIG_OSF_PARTITION is not set
1610# CONFIG_AMIGA_PARTITION is not set
1611# CONFIG_ATARI_PARTITION is not set
1612# CONFIG_MAC_PARTITION is not set
1613CONFIG_MSDOS_PARTITION=y
1614# CONFIG_BSD_DISKLABEL is not set
1615# CONFIG_MINIX_SUBPARTITION is not set
1616# CONFIG_SOLARIS_X86_PARTITION is not set
1617# CONFIG_UNIXWARE_DISKLABEL is not set
1618# CONFIG_LDM_PARTITION is not set
1619# CONFIG_SGI_PARTITION is not set
1620# CONFIG_ULTRIX_PARTITION is not set
1621# CONFIG_SUN_PARTITION is not set
1622# CONFIG_KARMA_PARTITION is not set
1623# CONFIG_EFI_PARTITION is not set
1624# CONFIG_SYSV68_PARTITION is not set
1625
1626#
1627# Native Language Support
1628#
1629CONFIG_NLS=y
1630CONFIG_NLS_DEFAULT="utf8"
1631# CONFIG_NLS_CODEPAGE_437 is not set
1632# CONFIG_NLS_CODEPAGE_737 is not set
1633# CONFIG_NLS_CODEPAGE_775 is not set
1634# CONFIG_NLS_CODEPAGE_850 is not set
1635# CONFIG_NLS_CODEPAGE_852 is not set
1636# CONFIG_NLS_CODEPAGE_855 is not set
1637# CONFIG_NLS_CODEPAGE_857 is not set
1638# CONFIG_NLS_CODEPAGE_860 is not set
1639# CONFIG_NLS_CODEPAGE_861 is not set
1640# CONFIG_NLS_CODEPAGE_862 is not set
1641# CONFIG_NLS_CODEPAGE_863 is not set
1642# CONFIG_NLS_CODEPAGE_864 is not set
1643# CONFIG_NLS_CODEPAGE_865 is not set
1644# CONFIG_NLS_CODEPAGE_866 is not set
1645# CONFIG_NLS_CODEPAGE_869 is not set
1646CONFIG_NLS_CODEPAGE_936=y
1647# CONFIG_NLS_CODEPAGE_950 is not set
1648# CONFIG_NLS_CODEPAGE_932 is not set
1649# CONFIG_NLS_CODEPAGE_949 is not set
1650# CONFIG_NLS_CODEPAGE_874 is not set
1651# CONFIG_NLS_ISO8859_8 is not set
1652# CONFIG_NLS_CODEPAGE_1250 is not set
1653# CONFIG_NLS_CODEPAGE_1251 is not set
1654# CONFIG_NLS_ASCII is not set
1655CONFIG_NLS_ISO8859_1=y
1656# CONFIG_NLS_ISO8859_2 is not set
1657# CONFIG_NLS_ISO8859_3 is not set
1658# CONFIG_NLS_ISO8859_4 is not set
1659# CONFIG_NLS_ISO8859_5 is not set
1660# CONFIG_NLS_ISO8859_6 is not set
1661# CONFIG_NLS_ISO8859_7 is not set
1662# CONFIG_NLS_ISO8859_9 is not set
1663# CONFIG_NLS_ISO8859_13 is not set
1664# CONFIG_NLS_ISO8859_14 is not set
1665# CONFIG_NLS_ISO8859_15 is not set
1666# CONFIG_NLS_KOI8_R is not set
1667# CONFIG_NLS_KOI8_U is not set
1668CONFIG_NLS_UTF8=y
1669
1670#
1671# Distributed Lock Manager
1672#
1673# CONFIG_DLM is not set
1674
1675#
1676# Profiling support
1677#
1678CONFIG_PROFILING=y
1679CONFIG_OPROFILE=m
1680
1681#
1682# Kernel hacking
1683#
1684CONFIG_TRACE_IRQFLAGS_SUPPORT=y
1685# CONFIG_PRINTK_TIME is not set
1686# CONFIG_ENABLE_MUST_CHECK is not set
1687# CONFIG_MAGIC_SYSRQ is not set
1688# CONFIG_UNUSED_SYMBOLS is not set
1689# CONFIG_DEBUG_FS is not set
1690# CONFIG_HEADERS_CHECK is not set
1691# CONFIG_DEBUG_KERNEL is not set
1692CONFIG_CROSSCOMPILE=y
1693CONFIG_CMDLINE=""
1694
1695#
1696# Security options
1697#
1698# CONFIG_KEYS is not set
1699# CONFIG_SECURITY is not set
1700
1701#
1702# Cryptographic options
1703#
1704CONFIG_CRYPTO=y
1705CONFIG_CRYPTO_ALGAPI=y
1706CONFIG_CRYPTO_BLKCIPHER=m
1707CONFIG_CRYPTO_HASH=y
1708CONFIG_CRYPTO_MANAGER=y
1709CONFIG_CRYPTO_HMAC=y
1710# CONFIG_CRYPTO_XCBC is not set
1711# CONFIG_CRYPTO_NULL is not set
1712# CONFIG_CRYPTO_MD4 is not set
1713CONFIG_CRYPTO_MD5=m
1714CONFIG_CRYPTO_SHA1=m
1715# CONFIG_CRYPTO_SHA256 is not set
1716# CONFIG_CRYPTO_SHA512 is not set
1717# CONFIG_CRYPTO_WP512 is not set
1718# CONFIG_CRYPTO_TGR192 is not set
1719# CONFIG_CRYPTO_GF128MUL is not set
1720CONFIG_CRYPTO_ECB=m
1721CONFIG_CRYPTO_CBC=m
1722CONFIG_CRYPTO_PCBC=m
1723# CONFIG_CRYPTO_LRW is not set
1724# CONFIG_CRYPTO_CRYPTD is not set
1725CONFIG_CRYPTO_DES=m
1726# CONFIG_CRYPTO_FCRYPT is not set
1727# CONFIG_CRYPTO_BLOWFISH is not set
1728# CONFIG_CRYPTO_TWOFISH is not set
1729# CONFIG_CRYPTO_SERPENT is not set
1730# CONFIG_CRYPTO_AES is not set
1731# CONFIG_CRYPTO_CAST5 is not set
1732# CONFIG_CRYPTO_CAST6 is not set
1733# CONFIG_CRYPTO_TEA is not set
1734CONFIG_CRYPTO_ARC4=m
1735# CONFIG_CRYPTO_KHAZAD is not set
1736# CONFIG_CRYPTO_ANUBIS is not set
1737CONFIG_CRYPTO_DEFLATE=m
1738# CONFIG_CRYPTO_MICHAEL_MIC is not set
1739# CONFIG_CRYPTO_CRC32C is not set
1740# CONFIG_CRYPTO_CAMELLIA is not set
1741# CONFIG_CRYPTO_TEST is not set
1742
1743#
1744# Hardware crypto devices
1745#
1746
1747#
1748# Library routines
1749#
1750CONFIG_BITREVERSE=y
1751CONFIG_CRC_CCITT=y
1752# CONFIG_CRC16 is not set
1753# CONFIG_CRC_ITU_T is not set
1754CONFIG_CRC32=y
1755# CONFIG_LIBCRC32C is not set
1756CONFIG_ZLIB_INFLATE=m
1757CONFIG_ZLIB_DEFLATE=m
1758CONFIG_TEXTSEARCH=y
1759CONFIG_TEXTSEARCH_KMP=m
1760CONFIG_TEXTSEARCH_BM=m
1761CONFIG_TEXTSEARCH_FSM=m
1762CONFIG_PLIST=y
1763CONFIG_HAS_IOMEM=y
1764CONFIG_HAS_IOPORT=y
1765CONFIG_HAS_DMA=y
diff --git a/arch/mips/configs/ip22_defconfig b/arch/mips/configs/ip22_defconfig
index 7ec618f3c8b9..405c9f505a77 100644
--- a/arch/mips/configs/ip22_defconfig
+++ b/arch/mips/configs/ip22_defconfig
@@ -25,9 +25,7 @@ CONFIG_ZONE_DMA=y
25# CONFIG_BASLER_EXCITE is not set 25# CONFIG_BASLER_EXCITE is not set
26# CONFIG_MIPS_COBALT is not set 26# CONFIG_MIPS_COBALT is not set
27# CONFIG_MACH_DECSTATION is not set 27# CONFIG_MACH_DECSTATION is not set
28# CONFIG_MIPS_EV64120 is not set
29# CONFIG_MACH_JAZZ is not set 28# CONFIG_MACH_JAZZ is not set
30# CONFIG_LASAT is not set
31# CONFIG_MIPS_ATLAS is not set 29# CONFIG_MIPS_ATLAS is not set
32# CONFIG_MIPS_MALTA is not set 30# CONFIG_MIPS_MALTA is not set
33# CONFIG_MIPS_SEAD is not set 31# CONFIG_MIPS_SEAD is not set
@@ -35,8 +33,6 @@ CONFIG_ZONE_DMA=y
35# CONFIG_MIPS_SIM is not set 33# CONFIG_MIPS_SIM is not set
36# CONFIG_MOMENCO_JAGUAR_ATX is not set 34# CONFIG_MOMENCO_JAGUAR_ATX is not set
37# CONFIG_MOMENCO_OCELOT is not set 35# CONFIG_MOMENCO_OCELOT is not set
38# CONFIG_MOMENCO_OCELOT_3 is not set
39# CONFIG_MOMENCO_OCELOT_C is not set
40# CONFIG_MOMENCO_OCELOT_G is not set 36# CONFIG_MOMENCO_OCELOT_G is not set
41# CONFIG_MIPS_XXS1500 is not set 37# CONFIG_MIPS_XXS1500 is not set
42# CONFIG_PNX8550_JBS is not set 38# CONFIG_PNX8550_JBS is not set
diff --git a/arch/mips/configs/ip27_defconfig b/arch/mips/configs/ip27_defconfig
index 9ddc3eff4793..a9dcbcf563cb 100644
--- a/arch/mips/configs/ip27_defconfig
+++ b/arch/mips/configs/ip27_defconfig
@@ -25,9 +25,7 @@ CONFIG_ZONE_DMA=y
25# CONFIG_BASLER_EXCITE is not set 25# CONFIG_BASLER_EXCITE is not set
26# CONFIG_MIPS_COBALT is not set 26# CONFIG_MIPS_COBALT is not set
27# CONFIG_MACH_DECSTATION is not set 27# CONFIG_MACH_DECSTATION is not set
28# CONFIG_MIPS_EV64120 is not set
29# CONFIG_MACH_JAZZ is not set 28# CONFIG_MACH_JAZZ is not set
30# CONFIG_LASAT is not set
31# CONFIG_MIPS_ATLAS is not set 29# CONFIG_MIPS_ATLAS is not set
32# CONFIG_MIPS_MALTA is not set 30# CONFIG_MIPS_MALTA is not set
33# CONFIG_MIPS_SEAD is not set 31# CONFIG_MIPS_SEAD is not set
@@ -35,8 +33,6 @@ CONFIG_ZONE_DMA=y
35# CONFIG_MIPS_SIM is not set 33# CONFIG_MIPS_SIM is not set
36# CONFIG_MOMENCO_JAGUAR_ATX is not set 34# CONFIG_MOMENCO_JAGUAR_ATX is not set
37# CONFIG_MOMENCO_OCELOT is not set 35# CONFIG_MOMENCO_OCELOT is not set
38# CONFIG_MOMENCO_OCELOT_3 is not set
39# CONFIG_MOMENCO_OCELOT_C is not set
40# CONFIG_MOMENCO_OCELOT_G is not set 36# CONFIG_MOMENCO_OCELOT_G is not set
41# CONFIG_MIPS_XXS1500 is not set 37# CONFIG_MIPS_XXS1500 is not set
42# CONFIG_PNX8550_JBS is not set 38# CONFIG_PNX8550_JBS is not set
diff --git a/arch/mips/configs/ip32_defconfig b/arch/mips/configs/ip32_defconfig
index 8fc18809d5ff..a040459bec11 100644
--- a/arch/mips/configs/ip32_defconfig
+++ b/arch/mips/configs/ip32_defconfig
@@ -25,9 +25,7 @@ CONFIG_ZONE_DMA=y
25# CONFIG_BASLER_EXCITE is not set 25# CONFIG_BASLER_EXCITE is not set
26# CONFIG_MIPS_COBALT is not set 26# CONFIG_MIPS_COBALT is not set
27# CONFIG_MACH_DECSTATION is not set 27# CONFIG_MACH_DECSTATION is not set
28# CONFIG_MIPS_EV64120 is not set
29# CONFIG_MACH_JAZZ is not set 28# CONFIG_MACH_JAZZ is not set
30# CONFIG_LASAT is not set
31# CONFIG_MIPS_ATLAS is not set 29# CONFIG_MIPS_ATLAS is not set
32# CONFIG_MIPS_MALTA is not set 30# CONFIG_MIPS_MALTA is not set
33# CONFIG_MIPS_SEAD is not set 31# CONFIG_MIPS_SEAD is not set
@@ -35,8 +33,6 @@ CONFIG_ZONE_DMA=y
35# CONFIG_MIPS_SIM is not set 33# CONFIG_MIPS_SIM is not set
36# CONFIG_MOMENCO_JAGUAR_ATX is not set 34# CONFIG_MOMENCO_JAGUAR_ATX is not set
37# CONFIG_MOMENCO_OCELOT is not set 35# CONFIG_MOMENCO_OCELOT is not set
38# CONFIG_MOMENCO_OCELOT_3 is not set
39# CONFIG_MOMENCO_OCELOT_C is not set
40# CONFIG_MOMENCO_OCELOT_G is not set 36# CONFIG_MOMENCO_OCELOT_G is not set
41# CONFIG_MIPS_XXS1500 is not set 37# CONFIG_MIPS_XXS1500 is not set
42# CONFIG_PNX8550_JBS is not set 38# CONFIG_PNX8550_JBS is not set
diff --git a/arch/mips/configs/jazz_defconfig b/arch/mips/configs/jazz_defconfig
index 9331cb0a19b1..8a0b4ac5283d 100644
--- a/arch/mips/configs/jazz_defconfig
+++ b/arch/mips/configs/jazz_defconfig
@@ -25,9 +25,7 @@ CONFIG_ZONE_DMA=y
25# CONFIG_BASLER_EXCITE is not set 25# CONFIG_BASLER_EXCITE is not set
26# CONFIG_MIPS_COBALT is not set 26# CONFIG_MIPS_COBALT is not set
27# CONFIG_MACH_DECSTATION is not set 27# CONFIG_MACH_DECSTATION is not set
28# CONFIG_MIPS_EV64120 is not set
29CONFIG_MACH_JAZZ=y 28CONFIG_MACH_JAZZ=y
30# CONFIG_LASAT is not set
31# CONFIG_MIPS_ATLAS is not set 29# CONFIG_MIPS_ATLAS is not set
32# CONFIG_MIPS_MALTA is not set 30# CONFIG_MIPS_MALTA is not set
33# CONFIG_MIPS_SEAD is not set 31# CONFIG_MIPS_SEAD is not set
@@ -35,8 +33,6 @@ CONFIG_MACH_JAZZ=y
35# CONFIG_MIPS_SIM is not set 33# CONFIG_MIPS_SIM is not set
36# CONFIG_MOMENCO_JAGUAR_ATX is not set 34# CONFIG_MOMENCO_JAGUAR_ATX is not set
37# CONFIG_MOMENCO_OCELOT is not set 35# CONFIG_MOMENCO_OCELOT is not set
38# CONFIG_MOMENCO_OCELOT_3 is not set
39# CONFIG_MOMENCO_OCELOT_C is not set
40# CONFIG_MOMENCO_OCELOT_G is not set 36# CONFIG_MOMENCO_OCELOT_G is not set
41# CONFIG_MIPS_XXS1500 is not set 37# CONFIG_MIPS_XXS1500 is not set
42# CONFIG_PNX8550_JBS is not set 38# CONFIG_PNX8550_JBS is not set
@@ -245,7 +241,7 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
245# 241#
246CONFIG_ISA=y 242CONFIG_ISA=y
247CONFIG_MMU=y 243CONFIG_MMU=y
248CONFIG_I8253=y 244CONFIG_PCSPEAKER=y
249 245
250# 246#
251# PCCARD (PCMCIA/CardBus) support 247# PCCARD (PCMCIA/CardBus) support
diff --git a/arch/mips/configs/jmr3927_defconfig b/arch/mips/configs/jmr3927_defconfig
index 1b364cf69140..9a25e770abd8 100644
--- a/arch/mips/configs/jmr3927_defconfig
+++ b/arch/mips/configs/jmr3927_defconfig
@@ -25,9 +25,7 @@ CONFIG_ZONE_DMA=y
25# CONFIG_BASLER_EXCITE is not set 25# CONFIG_BASLER_EXCITE is not set
26# CONFIG_MIPS_COBALT is not set 26# CONFIG_MIPS_COBALT is not set
27# CONFIG_MACH_DECSTATION is not set 27# CONFIG_MACH_DECSTATION is not set
28# CONFIG_MIPS_EV64120 is not set
29# CONFIG_MACH_JAZZ is not set 28# CONFIG_MACH_JAZZ is not set
30# CONFIG_LASAT is not set
31# CONFIG_MIPS_ATLAS is not set 29# CONFIG_MIPS_ATLAS is not set
32# CONFIG_MIPS_MALTA is not set 30# CONFIG_MIPS_MALTA is not set
33# CONFIG_MIPS_SEAD is not set 31# CONFIG_MIPS_SEAD is not set
@@ -35,8 +33,6 @@ CONFIG_ZONE_DMA=y
35# CONFIG_MIPS_SIM is not set 33# CONFIG_MIPS_SIM is not set
36# CONFIG_MOMENCO_JAGUAR_ATX is not set 34# CONFIG_MOMENCO_JAGUAR_ATX is not set
37# CONFIG_MOMENCO_OCELOT is not set 35# CONFIG_MOMENCO_OCELOT is not set
38# CONFIG_MOMENCO_OCELOT_3 is not set
39# CONFIG_MOMENCO_OCELOT_C is not set
40# CONFIG_MOMENCO_OCELOT_G is not set 36# CONFIG_MOMENCO_OCELOT_G is not set
41# CONFIG_MIPS_XXS1500 is not set 37# CONFIG_MIPS_XXS1500 is not set
42# CONFIG_PNX8550_JBS is not set 38# CONFIG_PNX8550_JBS is not set
diff --git a/arch/mips/configs/lasat200_defconfig b/arch/mips/configs/lasat200_defconfig
deleted file mode 100644
index fd4272c1458a..000000000000
--- a/arch/mips/configs/lasat200_defconfig
+++ /dev/null
@@ -1,1118 +0,0 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.20
4# Tue Feb 20 21:47:34 2007
5#
6CONFIG_MIPS=y
7
8#
9# Machine selection
10#
11CONFIG_ZONE_DMA=y
12# CONFIG_MIPS_MTX1 is not set
13# CONFIG_MIPS_BOSPORUS is not set
14# CONFIG_MIPS_PB1000 is not set
15# CONFIG_MIPS_PB1100 is not set
16# CONFIG_MIPS_PB1500 is not set
17# CONFIG_MIPS_PB1550 is not set
18# CONFIG_MIPS_PB1200 is not set
19# CONFIG_MIPS_DB1000 is not set
20# CONFIG_MIPS_DB1100 is not set
21# CONFIG_MIPS_DB1500 is not set
22# CONFIG_MIPS_DB1550 is not set
23# CONFIG_MIPS_DB1200 is not set
24# CONFIG_MIPS_MIRAGE is not set
25# CONFIG_BASLER_EXCITE is not set
26# CONFIG_MIPS_COBALT is not set
27# CONFIG_MACH_DECSTATION is not set
28# CONFIG_MIPS_EV64120 is not set
29# CONFIG_MACH_JAZZ is not set
30CONFIG_LASAT=y
31# CONFIG_MIPS_ATLAS is not set
32# CONFIG_MIPS_MALTA is not set
33# CONFIG_MIPS_SEAD is not set
34# CONFIG_WR_PPMC is not set
35# CONFIG_MIPS_SIM is not set
36# CONFIG_MOMENCO_JAGUAR_ATX is not set
37# CONFIG_MOMENCO_OCELOT is not set
38# CONFIG_MOMENCO_OCELOT_3 is not set
39# CONFIG_MOMENCO_OCELOT_C is not set
40# CONFIG_MOMENCO_OCELOT_G is not set
41# CONFIG_MIPS_XXS1500 is not set
42# CONFIG_PNX8550_JBS is not set
43# CONFIG_PNX8550_STB810 is not set
44# CONFIG_DDB5477 is not set
45# CONFIG_MACH_VR41XX is not set
46# CONFIG_PMC_YOSEMITE is not set
47# CONFIG_QEMU is not set
48# CONFIG_MARKEINS is not set
49# CONFIG_SGI_IP22 is not set
50# CONFIG_SGI_IP27 is not set
51# CONFIG_SGI_IP32 is not set
52# CONFIG_SIBYTE_BIGSUR is not set
53# CONFIG_SIBYTE_SWARM is not set
54# CONFIG_SIBYTE_SENTOSA is not set
55# CONFIG_SIBYTE_RHONE is not set
56# CONFIG_SIBYTE_CARMEL is not set
57# CONFIG_SIBYTE_PTSWARM is not set
58# CONFIG_SIBYTE_LITTLESUR is not set
59# CONFIG_SIBYTE_CRHINE is not set
60# CONFIG_SIBYTE_CRHONE is not set
61# CONFIG_SNI_RM is not set
62# CONFIG_TOSHIBA_JMR3927 is not set
63# CONFIG_TOSHIBA_RBTX4927 is not set
64# CONFIG_TOSHIBA_RBTX4938 is not set
65CONFIG_PICVUE=y
66CONFIG_PICVUE_PROC=y
67CONFIG_DS1603=y
68CONFIG_LASAT_SYSCTL=y
69CONFIG_RWSEM_GENERIC_SPINLOCK=y
70# CONFIG_ARCH_HAS_ILOG2_U32 is not set
71# CONFIG_ARCH_HAS_ILOG2_U64 is not set
72CONFIG_GENERIC_FIND_NEXT_BIT=y
73CONFIG_GENERIC_HWEIGHT=y
74CONFIG_GENERIC_CALIBRATE_DELAY=y
75CONFIG_GENERIC_TIME=y
76CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
77CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
78CONFIG_DMA_NONCOHERENT=y
79CONFIG_DMA_NEED_PCI_MAP_STATE=y
80CONFIG_MIPS_NILE4=y
81# CONFIG_CPU_BIG_ENDIAN is not set
82CONFIG_CPU_LITTLE_ENDIAN=y
83CONFIG_SYS_SUPPORTS_LITTLE_ENDIAN=y
84CONFIG_MIPS_GT64120=y
85CONFIG_MIPS_L1_CACHE_SHIFT=5
86
87#
88# CPU selection
89#
90# CONFIG_CPU_MIPS32_R1 is not set
91# CONFIG_CPU_MIPS32_R2 is not set
92# CONFIG_CPU_MIPS64_R1 is not set
93# CONFIG_CPU_MIPS64_R2 is not set
94# CONFIG_CPU_R3000 is not set
95# CONFIG_CPU_TX39XX is not set
96# CONFIG_CPU_VR41XX is not set
97# CONFIG_CPU_R4300 is not set
98# CONFIG_CPU_R4X00 is not set
99# CONFIG_CPU_TX49XX is not set
100CONFIG_CPU_R5000=y
101# CONFIG_CPU_R5432 is not set
102# CONFIG_CPU_R6000 is not set
103# CONFIG_CPU_NEVADA is not set
104# CONFIG_CPU_R8000 is not set
105# CONFIG_CPU_R10000 is not set
106# CONFIG_CPU_RM7000 is not set
107# CONFIG_CPU_RM9000 is not set
108# CONFIG_CPU_SB1 is not set
109CONFIG_SYS_HAS_CPU_R5000=y
110CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y
111CONFIG_SYS_SUPPORTS_64BIT_KERNEL=y
112CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y
113CONFIG_CPU_SUPPORTS_64BIT_KERNEL=y
114
115#
116# Kernel type
117#
118CONFIG_32BIT=y
119# CONFIG_64BIT is not set
120CONFIG_PAGE_SIZE_4KB=y
121# CONFIG_PAGE_SIZE_8KB is not set
122# CONFIG_PAGE_SIZE_16KB is not set
123# CONFIG_PAGE_SIZE_64KB is not set
124CONFIG_BOARD_SCACHE=y
125CONFIG_R5000_CPU_SCACHE=y
126CONFIG_MIPS_MT_DISABLED=y
127# CONFIG_MIPS_MT_SMP is not set
128# CONFIG_MIPS_MT_SMTC is not set
129# CONFIG_MIPS_VPE_LOADER is not set
130# CONFIG_64BIT_PHYS_ADDR is not set
131CONFIG_CPU_HAS_LLSC=y
132CONFIG_CPU_HAS_SYNC=y
133CONFIG_GENERIC_HARDIRQS=y
134CONFIG_GENERIC_IRQ_PROBE=y
135CONFIG_ARCH_FLATMEM_ENABLE=y
136CONFIG_SELECT_MEMORY_MODEL=y
137CONFIG_FLATMEM_MANUAL=y
138# CONFIG_DISCONTIGMEM_MANUAL is not set
139# CONFIG_SPARSEMEM_MANUAL is not set
140CONFIG_FLATMEM=y
141CONFIG_FLAT_NODE_MEM_MAP=y
142# CONFIG_SPARSEMEM_STATIC is not set
143CONFIG_SPLIT_PTLOCK_CPUS=4
144# CONFIG_RESOURCES_64BIT is not set
145CONFIG_ZONE_DMA_FLAG=1
146# CONFIG_HZ_48 is not set
147# CONFIG_HZ_100 is not set
148# CONFIG_HZ_128 is not set
149# CONFIG_HZ_250 is not set
150# CONFIG_HZ_256 is not set
151CONFIG_HZ_1000=y
152# CONFIG_HZ_1024 is not set
153CONFIG_SYS_SUPPORTS_ARBIT_HZ=y
154CONFIG_HZ=1000
155CONFIG_PREEMPT_NONE=y
156# CONFIG_PREEMPT_VOLUNTARY is not set
157# CONFIG_PREEMPT is not set
158# CONFIG_KEXEC is not set
159CONFIG_LOCKDEP_SUPPORT=y
160CONFIG_STACKTRACE_SUPPORT=y
161CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
162
163#
164# Code maturity level options
165#
166CONFIG_EXPERIMENTAL=y
167CONFIG_BROKEN_ON_SMP=y
168CONFIG_INIT_ENV_ARG_LIMIT=32
169
170#
171# General setup
172#
173CONFIG_LOCALVERSION=""
174CONFIG_LOCALVERSION_AUTO=y
175CONFIG_SWAP=y
176CONFIG_SYSVIPC=y
177# CONFIG_IPC_NS is not set
178CONFIG_SYSVIPC_SYSCTL=y
179# CONFIG_POSIX_MQUEUE is not set
180# CONFIG_BSD_PROCESS_ACCT is not set
181# CONFIG_TASKSTATS is not set
182# CONFIG_UTS_NS is not set
183# CONFIG_AUDIT is not set
184# CONFIG_IKCONFIG is not set
185CONFIG_SYSFS_DEPRECATED=y
186CONFIG_RELAY=y
187# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
188CONFIG_SYSCTL=y
189CONFIG_EMBEDDED=y
190CONFIG_SYSCTL_SYSCALL=y
191CONFIG_KALLSYMS=y
192# CONFIG_KALLSYMS_EXTRA_PASS is not set
193CONFIG_HOTPLUG=y
194CONFIG_PRINTK=y
195CONFIG_BUG=y
196CONFIG_ELF_CORE=y
197CONFIG_BASE_FULL=y
198CONFIG_FUTEX=y
199CONFIG_EPOLL=y
200CONFIG_SHMEM=y
201CONFIG_SLAB=y
202CONFIG_VM_EVENT_COUNTERS=y
203CONFIG_RT_MUTEXES=y
204# CONFIG_TINY_SHMEM is not set
205CONFIG_BASE_SMALL=0
206# CONFIG_SLOB is not set
207
208#
209# Loadable module support
210#
211CONFIG_MODULES=y
212CONFIG_MODULE_UNLOAD=y
213# CONFIG_MODULE_FORCE_UNLOAD is not set
214CONFIG_MODVERSIONS=y
215CONFIG_MODULE_SRCVERSION_ALL=y
216CONFIG_KMOD=y
217
218#
219# Block layer
220#
221CONFIG_BLOCK=y
222# CONFIG_LBD is not set
223# CONFIG_BLK_DEV_IO_TRACE is not set
224# CONFIG_LSF is not set
225
226#
227# IO Schedulers
228#
229CONFIG_IOSCHED_NOOP=y
230CONFIG_IOSCHED_AS=y
231CONFIG_IOSCHED_DEADLINE=y
232CONFIG_IOSCHED_CFQ=y
233CONFIG_DEFAULT_AS=y
234# CONFIG_DEFAULT_DEADLINE is not set
235# CONFIG_DEFAULT_CFQ is not set
236# CONFIG_DEFAULT_NOOP is not set
237CONFIG_DEFAULT_IOSCHED="anticipatory"
238
239#
240# Bus options (PCI, PCMCIA, EISA, ISA, TC)
241#
242CONFIG_HW_HAS_PCI=y
243CONFIG_PCI=y
244CONFIG_MMU=y
245
246#
247# PCCARD (PCMCIA/CardBus) support
248#
249# CONFIG_PCCARD is not set
250
251#
252# PCI Hotplug Support
253#
254# CONFIG_HOTPLUG_PCI is not set
255
256#
257# Executable file formats
258#
259CONFIG_BINFMT_ELF=y
260# CONFIG_BINFMT_MISC is not set
261CONFIG_TRAD_SIGNALS=y
262
263#
264# Power management options
265#
266CONFIG_PM=y
267# CONFIG_PM_LEGACY is not set
268# CONFIG_PM_DEBUG is not set
269# CONFIG_PM_SYSFS_DEPRECATED is not set
270
271#
272# Networking
273#
274CONFIG_NET=y
275
276#
277# Networking options
278#
279# CONFIG_NETDEBUG is not set
280# CONFIG_PACKET is not set
281CONFIG_UNIX=y
282CONFIG_XFRM=y
283CONFIG_XFRM_USER=m
284# CONFIG_XFRM_SUB_POLICY is not set
285CONFIG_XFRM_MIGRATE=y
286CONFIG_NET_KEY=y
287CONFIG_NET_KEY_MIGRATE=y
288CONFIG_INET=y
289# CONFIG_IP_MULTICAST is not set
290# CONFIG_IP_ADVANCED_ROUTER is not set
291CONFIG_IP_FIB_HASH=y
292# CONFIG_IP_PNP is not set
293# CONFIG_NET_IPIP is not set
294# CONFIG_NET_IPGRE is not set
295# CONFIG_ARPD is not set
296# CONFIG_SYN_COOKIES is not set
297# CONFIG_INET_AH is not set
298# CONFIG_INET_ESP is not set
299# CONFIG_INET_IPCOMP is not set
300# CONFIG_INET_XFRM_TUNNEL is not set
301# CONFIG_INET_TUNNEL is not set
302CONFIG_INET_XFRM_MODE_TRANSPORT=m
303CONFIG_INET_XFRM_MODE_TUNNEL=m
304CONFIG_INET_XFRM_MODE_BEET=m
305CONFIG_INET_DIAG=y
306CONFIG_INET_TCP_DIAG=y
307# CONFIG_TCP_CONG_ADVANCED is not set
308CONFIG_TCP_CONG_CUBIC=y
309CONFIG_DEFAULT_TCP_CONG="cubic"
310CONFIG_TCP_MD5SIG=y
311# CONFIG_IPV6 is not set
312# CONFIG_INET6_XFRM_TUNNEL is not set
313# CONFIG_INET6_TUNNEL is not set
314CONFIG_NETWORK_SECMARK=y
315# CONFIG_NETFILTER is not set
316
317#
318# DCCP Configuration (EXPERIMENTAL)
319#
320# CONFIG_IP_DCCP is not set
321
322#
323# SCTP Configuration (EXPERIMENTAL)
324#
325# CONFIG_IP_SCTP is not set
326
327#
328# TIPC Configuration (EXPERIMENTAL)
329#
330# CONFIG_TIPC is not set
331# CONFIG_ATM is not set
332# CONFIG_BRIDGE is not set
333# CONFIG_VLAN_8021Q is not set
334# CONFIG_DECNET is not set
335# CONFIG_LLC2 is not set
336# CONFIG_IPX is not set
337# CONFIG_ATALK is not set
338# CONFIG_X25 is not set
339# CONFIG_LAPB is not set
340# CONFIG_ECONET is not set
341# CONFIG_WAN_ROUTER is not set
342
343#
344# QoS and/or fair queueing
345#
346# CONFIG_NET_SCHED is not set
347
348#
349# Network testing
350#
351# CONFIG_NET_PKTGEN is not set
352# CONFIG_HAMRADIO is not set
353# CONFIG_IRDA is not set
354# CONFIG_BT is not set
355CONFIG_IEEE80211=m
356# CONFIG_IEEE80211_DEBUG is not set
357CONFIG_IEEE80211_CRYPT_WEP=m
358CONFIG_IEEE80211_CRYPT_CCMP=m
359CONFIG_IEEE80211_SOFTMAC=m
360# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set
361CONFIG_WIRELESS_EXT=y
362
363#
364# Device Drivers
365#
366
367#
368# Generic Driver Options
369#
370CONFIG_STANDALONE=y
371CONFIG_PREVENT_FIRMWARE_BUILD=y
372CONFIG_FW_LOADER=m
373# CONFIG_SYS_HYPERVISOR is not set
374
375#
376# Connector - unified userspace <-> kernelspace linker
377#
378CONFIG_CONNECTOR=m
379
380#
381# Memory Technology Devices (MTD)
382#
383CONFIG_MTD=y
384# CONFIG_MTD_DEBUG is not set
385# CONFIG_MTD_CONCAT is not set
386CONFIG_MTD_PARTITIONS=y
387# CONFIG_MTD_REDBOOT_PARTS is not set
388# CONFIG_MTD_CMDLINE_PARTS is not set
389
390#
391# User Modules And Translation Layers
392#
393CONFIG_MTD_CHAR=y
394CONFIG_MTD_BLKDEVS=y
395CONFIG_MTD_BLOCK=y
396# CONFIG_FTL is not set
397# CONFIG_NFTL is not set
398# CONFIG_INFTL is not set
399# CONFIG_RFD_FTL is not set
400# CONFIG_SSFDC is not set
401
402#
403# RAM/ROM/Flash chip drivers
404#
405CONFIG_MTD_CFI=y
406# CONFIG_MTD_JEDECPROBE is not set
407CONFIG_MTD_GEN_PROBE=y
408# CONFIG_MTD_CFI_ADV_OPTIONS is not set
409CONFIG_MTD_MAP_BANK_WIDTH_1=y
410CONFIG_MTD_MAP_BANK_WIDTH_2=y
411CONFIG_MTD_MAP_BANK_WIDTH_4=y
412# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
413# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
414# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
415CONFIG_MTD_CFI_I1=y
416CONFIG_MTD_CFI_I2=y
417# CONFIG_MTD_CFI_I4 is not set
418# CONFIG_MTD_CFI_I8 is not set
419# CONFIG_MTD_CFI_INTELEXT is not set
420CONFIG_MTD_CFI_AMDSTD=y
421# CONFIG_MTD_CFI_STAA is not set
422CONFIG_MTD_CFI_UTIL=y
423# CONFIG_MTD_RAM is not set
424# CONFIG_MTD_ROM is not set
425# CONFIG_MTD_ABSENT is not set
426# CONFIG_MTD_OBSOLETE_CHIPS is not set
427
428#
429# Mapping drivers for chip access
430#
431# CONFIG_MTD_COMPLEX_MAPPINGS is not set
432# CONFIG_MTD_PHYSMAP is not set
433CONFIG_MTD_LASAT=y
434# CONFIG_MTD_PLATRAM is not set
435
436#
437# Self-contained MTD device drivers
438#
439# CONFIG_MTD_PMC551 is not set
440# CONFIG_MTD_SLRAM is not set
441# CONFIG_MTD_PHRAM is not set
442# CONFIG_MTD_MTDRAM is not set
443# CONFIG_MTD_BLOCK2MTD is not set
444
445#
446# Disk-On-Chip Device Drivers
447#
448# CONFIG_MTD_DOC2000 is not set
449# CONFIG_MTD_DOC2001 is not set
450# CONFIG_MTD_DOC2001PLUS is not set
451
452#
453# NAND Flash Device Drivers
454#
455# CONFIG_MTD_NAND is not set
456
457#
458# OneNAND Flash Device Drivers
459#
460# CONFIG_MTD_ONENAND is not set
461
462#
463# Parallel port support
464#
465# CONFIG_PARPORT is not set
466
467#
468# Plug and Play support
469#
470# CONFIG_PNPACPI is not set
471
472#
473# Block devices
474#
475# CONFIG_BLK_CPQ_DA is not set
476# CONFIG_BLK_CPQ_CISS_DA is not set
477# CONFIG_BLK_DEV_DAC960 is not set
478# CONFIG_BLK_DEV_UMEM is not set
479# CONFIG_BLK_DEV_COW_COMMON is not set
480# CONFIG_BLK_DEV_LOOP is not set
481# CONFIG_BLK_DEV_NBD is not set
482# CONFIG_BLK_DEV_SX8 is not set
483# CONFIG_BLK_DEV_RAM is not set
484# CONFIG_BLK_DEV_INITRD is not set
485CONFIG_CDROM_PKTCDVD=m
486CONFIG_CDROM_PKTCDVD_BUFFERS=8
487# CONFIG_CDROM_PKTCDVD_WCACHE is not set
488CONFIG_ATA_OVER_ETH=m
489
490#
491# Misc devices
492#
493CONFIG_SGI_IOC4=m
494# CONFIG_TIFM_CORE is not set
495
496#
497# ATA/ATAPI/MFM/RLL support
498#
499CONFIG_IDE=y
500CONFIG_IDE_MAX_HWIFS=4
501CONFIG_BLK_DEV_IDE=y
502
503#
504# Please see Documentation/ide.txt for help/info on IDE drives
505#
506# CONFIG_BLK_DEV_IDE_SATA is not set
507CONFIG_BLK_DEV_IDEDISK=y
508CONFIG_IDEDISK_MULTI_MODE=y
509# CONFIG_BLK_DEV_IDECD is not set
510# CONFIG_BLK_DEV_IDETAPE is not set
511# CONFIG_BLK_DEV_IDEFLOPPY is not set
512# CONFIG_IDE_TASK_IOCTL is not set
513
514#
515# IDE chipset support/bugfixes
516#
517CONFIG_IDE_GENERIC=y
518CONFIG_BLK_DEV_IDEPCI=y
519# CONFIG_IDEPCI_SHARE_IRQ is not set
520# CONFIG_BLK_DEV_OFFBOARD is not set
521CONFIG_BLK_DEV_GENERIC=y
522# CONFIG_BLK_DEV_OPTI621 is not set
523CONFIG_BLK_DEV_IDEDMA_PCI=y
524# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
525CONFIG_IDEDMA_PCI_AUTO=y
526# CONFIG_IDEDMA_ONLYDISK is not set
527# CONFIG_BLK_DEV_AEC62XX is not set
528# CONFIG_BLK_DEV_ALI15X3 is not set
529# CONFIG_BLK_DEV_AMD74XX is not set
530CONFIG_BLK_DEV_CMD64X=y
531# CONFIG_BLK_DEV_TRIFLEX is not set
532# CONFIG_BLK_DEV_CY82C693 is not set
533# CONFIG_BLK_DEV_CS5520 is not set
534# CONFIG_BLK_DEV_CS5530 is not set
535# CONFIG_BLK_DEV_HPT34X is not set
536# CONFIG_BLK_DEV_HPT366 is not set
537# CONFIG_BLK_DEV_JMICRON is not set
538# CONFIG_BLK_DEV_SC1200 is not set
539# CONFIG_BLK_DEV_PIIX is not set
540CONFIG_BLK_DEV_IT8213=m
541# CONFIG_BLK_DEV_IT821X is not set
542# CONFIG_BLK_DEV_NS87415 is not set
543# CONFIG_BLK_DEV_PDC202XX_OLD is not set
544# CONFIG_BLK_DEV_PDC202XX_NEW is not set
545# CONFIG_BLK_DEV_SVWKS is not set
546# CONFIG_BLK_DEV_SIIMAGE is not set
547# CONFIG_BLK_DEV_SLC90E66 is not set
548# CONFIG_BLK_DEV_TRM290 is not set
549# CONFIG_BLK_DEV_VIA82CXXX is not set
550CONFIG_BLK_DEV_TC86C001=m
551# CONFIG_IDE_ARM is not set
552CONFIG_BLK_DEV_IDEDMA=y
553# CONFIG_IDEDMA_IVB is not set
554CONFIG_IDEDMA_AUTO=y
555# CONFIG_BLK_DEV_HD is not set
556
557#
558# SCSI device support
559#
560CONFIG_RAID_ATTRS=m
561# CONFIG_SCSI is not set
562# CONFIG_SCSI_NETLINK is not set
563
564#
565# Serial ATA (prod) and Parallel ATA (experimental) drivers
566#
567# CONFIG_ATA is not set
568
569#
570# Multi-device support (RAID and LVM)
571#
572# CONFIG_MD is not set
573
574#
575# Fusion MPT device support
576#
577# CONFIG_FUSION is not set
578
579#
580# IEEE 1394 (FireWire) support
581#
582# CONFIG_IEEE1394 is not set
583
584#
585# I2O device support
586#
587# CONFIG_I2O is not set
588
589#
590# Network device support
591#
592CONFIG_NETDEVICES=y
593# CONFIG_DUMMY is not set
594# CONFIG_BONDING is not set
595# CONFIG_EQUALIZER is not set
596# CONFIG_TUN is not set
597
598#
599# ARCnet devices
600#
601# CONFIG_ARCNET is not set
602
603#
604# PHY device support
605#
606CONFIG_PHYLIB=m
607
608#
609# MII PHY device drivers
610#
611CONFIG_MARVELL_PHY=m
612CONFIG_DAVICOM_PHY=m
613CONFIG_QSEMI_PHY=m
614CONFIG_LXT_PHY=m
615CONFIG_CICADA_PHY=m
616CONFIG_VITESSE_PHY=m
617CONFIG_SMSC_PHY=m
618# CONFIG_BROADCOM_PHY is not set
619# CONFIG_FIXED_PHY is not set
620
621#
622# Ethernet (10 or 100Mbit)
623#
624CONFIG_NET_ETHERNET=y
625# CONFIG_MII is not set
626# CONFIG_HAPPYMEAL is not set
627# CONFIG_SUNGEM is not set
628# CONFIG_CASSINI is not set
629# CONFIG_NET_VENDOR_3COM is not set
630# CONFIG_DM9000 is not set
631
632#
633# Tulip family network device support
634#
635# CONFIG_NET_TULIP is not set
636# CONFIG_HP100 is not set
637# CONFIG_NET_PCI is not set
638
639#
640# Ethernet (1000 Mbit)
641#
642# CONFIG_ACENIC is not set
643# CONFIG_DL2K is not set
644# CONFIG_E1000 is not set
645# CONFIG_NS83820 is not set
646# CONFIG_HAMACHI is not set
647# CONFIG_YELLOWFIN is not set
648# CONFIG_R8169 is not set
649# CONFIG_SIS190 is not set
650# CONFIG_SKGE is not set
651# CONFIG_SKY2 is not set
652# CONFIG_SK98LIN is not set
653# CONFIG_TIGON3 is not set
654# CONFIG_BNX2 is not set
655CONFIG_QLA3XXX=m
656# CONFIG_ATL1 is not set
657
658#
659# Ethernet (10000 Mbit)
660#
661# CONFIG_CHELSIO_T1 is not set
662CONFIG_CHELSIO_T3=m
663# CONFIG_IXGB is not set
664# CONFIG_S2IO is not set
665# CONFIG_MYRI10GE is not set
666CONFIG_NETXEN_NIC=m
667
668#
669# Token Ring devices
670#
671# CONFIG_TR is not set
672
673#
674# Wireless LAN (non-hamradio)
675#
676# CONFIG_NET_RADIO is not set
677
678#
679# Wan interfaces
680#
681# CONFIG_WAN is not set
682# CONFIG_FDDI is not set
683# CONFIG_HIPPI is not set
684# CONFIG_PPP is not set
685# CONFIG_SLIP is not set
686# CONFIG_SHAPER is not set
687# CONFIG_NETCONSOLE is not set
688# CONFIG_NETPOLL is not set
689# CONFIG_NET_POLL_CONTROLLER is not set
690
691#
692# ISDN subsystem
693#
694# CONFIG_ISDN is not set
695
696#
697# Telephony Support
698#
699# CONFIG_PHONE is not set
700
701#
702# Input device support
703#
704CONFIG_INPUT=y
705# CONFIG_INPUT_FF_MEMLESS is not set
706
707#
708# Userland interfaces
709#
710CONFIG_INPUT_MOUSEDEV=y
711CONFIG_INPUT_MOUSEDEV_PSAUX=y
712CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
713CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
714# CONFIG_INPUT_JOYDEV is not set
715# CONFIG_INPUT_TSDEV is not set
716# CONFIG_INPUT_EVDEV is not set
717# CONFIG_INPUT_EVBUG is not set
718
719#
720# Input Device Drivers
721#
722# CONFIG_INPUT_KEYBOARD is not set
723# CONFIG_INPUT_MOUSE is not set
724# CONFIG_INPUT_JOYSTICK is not set
725# CONFIG_INPUT_TOUCHSCREEN is not set
726# CONFIG_INPUT_MISC is not set
727
728#
729# Hardware I/O ports
730#
731CONFIG_SERIO=y
732CONFIG_SERIO_I8042=y
733CONFIG_SERIO_SERPORT=y
734# CONFIG_SERIO_PCIPS2 is not set
735# CONFIG_SERIO_LIBPS2 is not set
736CONFIG_SERIO_RAW=m
737# CONFIG_GAMEPORT is not set
738
739#
740# Character devices
741#
742CONFIG_VT=y
743CONFIG_VT_CONSOLE=y
744CONFIG_HW_CONSOLE=y
745CONFIG_VT_HW_CONSOLE_BINDING=y
746# CONFIG_SERIAL_NONSTANDARD is not set
747
748#
749# Serial drivers
750#
751CONFIG_SERIAL_8250=y
752CONFIG_SERIAL_8250_CONSOLE=y
753CONFIG_SERIAL_8250_PCI=y
754CONFIG_SERIAL_8250_NR_UARTS=4
755CONFIG_SERIAL_8250_RUNTIME_UARTS=4
756# CONFIG_SERIAL_8250_EXTENDED is not set
757
758#
759# Non-8250 serial port support
760#
761CONFIG_SERIAL_CORE=y
762CONFIG_SERIAL_CORE_CONSOLE=y
763# CONFIG_SERIAL_JSM is not set
764CONFIG_UNIX98_PTYS=y
765CONFIG_LEGACY_PTYS=y
766CONFIG_LEGACY_PTY_COUNT=256
767
768#
769# IPMI
770#
771# CONFIG_IPMI_HANDLER is not set
772
773#
774# Watchdog Cards
775#
776# CONFIG_WATCHDOG is not set
777# CONFIG_HW_RANDOM is not set
778# CONFIG_RTC is not set
779# CONFIG_GEN_RTC is not set
780# CONFIG_DTLK is not set
781# CONFIG_R3964 is not set
782# CONFIG_APPLICOM is not set
783# CONFIG_DRM is not set
784# CONFIG_RAW_DRIVER is not set
785
786#
787# TPM devices
788#
789# CONFIG_TCG_TPM is not set
790
791#
792# I2C support
793#
794# CONFIG_I2C is not set
795
796#
797# SPI support
798#
799# CONFIG_SPI is not set
800# CONFIG_SPI_MASTER is not set
801
802#
803# Dallas's 1-wire bus
804#
805# CONFIG_W1 is not set
806
807#
808# Hardware Monitoring support
809#
810# CONFIG_HWMON is not set
811# CONFIG_HWMON_VID is not set
812
813#
814# Multimedia devices
815#
816# CONFIG_VIDEO_DEV is not set
817
818#
819# Digital Video Broadcasting Devices
820#
821# CONFIG_DVB is not set
822
823#
824# Graphics support
825#
826# CONFIG_FIRMWARE_EDID is not set
827# CONFIG_FB is not set
828
829#
830# Console display driver support
831#
832# CONFIG_VGA_CONSOLE is not set
833CONFIG_DUMMY_CONSOLE=y
834# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
835
836#
837# Sound
838#
839# CONFIG_SOUND is not set
840
841#
842# HID Devices
843#
844# CONFIG_HID is not set
845
846#
847# USB support
848#
849CONFIG_USB_ARCH_HAS_HCD=y
850CONFIG_USB_ARCH_HAS_OHCI=y
851CONFIG_USB_ARCH_HAS_EHCI=y
852# CONFIG_USB is not set
853
854#
855# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
856#
857
858#
859# USB Gadget Support
860#
861# CONFIG_USB_GADGET is not set
862
863#
864# MMC/SD Card support
865#
866# CONFIG_MMC is not set
867
868#
869# LED devices
870#
871# CONFIG_NEW_LEDS is not set
872
873#
874# LED drivers
875#
876
877#
878# LED Triggers
879#
880
881#
882# InfiniBand support
883#
884# CONFIG_INFINIBAND is not set
885
886#
887# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
888#
889
890#
891# Real Time Clock
892#
893# CONFIG_RTC_CLASS is not set
894
895#
896# DMA Engine support
897#
898# CONFIG_DMA_ENGINE is not set
899
900#
901# DMA Clients
902#
903
904#
905# DMA Devices
906#
907
908#
909# Auxiliary Display support
910#
911
912#
913# Virtualization
914#
915
916#
917# File systems
918#
919CONFIG_EXT2_FS=y
920# CONFIG_EXT2_FS_XATTR is not set
921# CONFIG_EXT2_FS_XIP is not set
922CONFIG_EXT3_FS=y
923CONFIG_EXT3_FS_XATTR=y
924# CONFIG_EXT3_FS_POSIX_ACL is not set
925CONFIG_EXT3_FS_SECURITY=y
926# CONFIG_EXT4DEV_FS is not set
927CONFIG_JBD=y
928# CONFIG_JBD_DEBUG is not set
929CONFIG_FS_MBCACHE=y
930# CONFIG_REISERFS_FS is not set
931# CONFIG_JFS_FS is not set
932CONFIG_FS_POSIX_ACL=y
933# CONFIG_XFS_FS is not set
934# CONFIG_GFS2_FS is not set
935# CONFIG_OCFS2_FS is not set
936# CONFIG_MINIX_FS is not set
937# CONFIG_ROMFS_FS is not set
938CONFIG_INOTIFY=y
939CONFIG_INOTIFY_USER=y
940# CONFIG_QUOTA is not set
941CONFIG_DNOTIFY=y
942# CONFIG_AUTOFS_FS is not set
943# CONFIG_AUTOFS4_FS is not set
944CONFIG_FUSE_FS=m
945CONFIG_GENERIC_ACL=y
946
947#
948# CD-ROM/DVD Filesystems
949#
950# CONFIG_ISO9660_FS is not set
951# CONFIG_UDF_FS is not set
952
953#
954# DOS/FAT/NT Filesystems
955#
956# CONFIG_MSDOS_FS is not set
957# CONFIG_VFAT_FS is not set
958# CONFIG_NTFS_FS is not set
959
960#
961# Pseudo filesystems
962#
963CONFIG_PROC_FS=y
964CONFIG_PROC_KCORE=y
965CONFIG_PROC_SYSCTL=y
966CONFIG_SYSFS=y
967CONFIG_TMPFS=y
968CONFIG_TMPFS_POSIX_ACL=y
969# CONFIG_HUGETLB_PAGE is not set
970CONFIG_RAMFS=y
971CONFIG_CONFIGFS_FS=m
972
973#
974# Miscellaneous filesystems
975#
976# CONFIG_ADFS_FS is not set
977# CONFIG_AFFS_FS is not set
978# CONFIG_ECRYPT_FS is not set
979# CONFIG_HFS_FS is not set
980# CONFIG_HFSPLUS_FS is not set
981# CONFIG_BEFS_FS is not set
982# CONFIG_BFS_FS is not set
983# CONFIG_EFS_FS is not set
984# CONFIG_JFFS2_FS is not set
985# CONFIG_CRAMFS is not set
986# CONFIG_VXFS_FS is not set
987# CONFIG_HPFS_FS is not set
988# CONFIG_QNX4FS_FS is not set
989# CONFIG_SYSV_FS is not set
990# CONFIG_UFS_FS is not set
991
992#
993# Network File Systems
994#
995CONFIG_NFS_FS=y
996CONFIG_NFS_V3=y
997# CONFIG_NFS_V3_ACL is not set
998# CONFIG_NFS_V4 is not set
999# CONFIG_NFS_DIRECTIO is not set
1000# CONFIG_NFSD is not set
1001CONFIG_LOCKD=y
1002CONFIG_LOCKD_V4=y
1003CONFIG_NFS_COMMON=y
1004CONFIG_SUNRPC=y
1005# CONFIG_RPCSEC_GSS_KRB5 is not set
1006# CONFIG_RPCSEC_GSS_SPKM3 is not set
1007# CONFIG_SMB_FS is not set
1008# CONFIG_CIFS is not set
1009# CONFIG_NCP_FS is not set
1010# CONFIG_CODA_FS is not set
1011# CONFIG_AFS_FS is not set
1012# CONFIG_9P_FS is not set
1013
1014#
1015# Partition Types
1016#
1017# CONFIG_PARTITION_ADVANCED is not set
1018CONFIG_MSDOS_PARTITION=y
1019
1020#
1021# Native Language Support
1022#
1023# CONFIG_NLS is not set
1024
1025#
1026# Distributed Lock Manager
1027#
1028CONFIG_DLM=m
1029CONFIG_DLM_TCP=y
1030# CONFIG_DLM_SCTP is not set
1031# CONFIG_DLM_DEBUG is not set
1032
1033#
1034# Profiling support
1035#
1036# CONFIG_PROFILING is not set
1037
1038#
1039# Kernel hacking
1040#
1041CONFIG_TRACE_IRQFLAGS_SUPPORT=y
1042# CONFIG_PRINTK_TIME is not set
1043CONFIG_ENABLE_MUST_CHECK=y
1044# CONFIG_MAGIC_SYSRQ is not set
1045# CONFIG_UNUSED_SYMBOLS is not set
1046# CONFIG_DEBUG_FS is not set
1047# CONFIG_HEADERS_CHECK is not set
1048# CONFIG_DEBUG_KERNEL is not set
1049CONFIG_LOG_BUF_SHIFT=14
1050CONFIG_CROSSCOMPILE=y
1051CONFIG_CMDLINE=""
1052
1053#
1054# Security options
1055#
1056CONFIG_KEYS=y
1057CONFIG_KEYS_DEBUG_PROC_KEYS=y
1058# CONFIG_SECURITY is not set
1059
1060#
1061# Cryptographic options
1062#
1063CONFIG_CRYPTO=y
1064CONFIG_CRYPTO_ALGAPI=y
1065CONFIG_CRYPTO_BLKCIPHER=m
1066CONFIG_CRYPTO_HASH=y
1067CONFIG_CRYPTO_MANAGER=y
1068CONFIG_CRYPTO_HMAC=y
1069CONFIG_CRYPTO_XCBC=m
1070CONFIG_CRYPTO_NULL=m
1071CONFIG_CRYPTO_MD4=m
1072CONFIG_CRYPTO_MD5=y
1073CONFIG_CRYPTO_SHA1=m
1074CONFIG_CRYPTO_SHA256=m
1075CONFIG_CRYPTO_SHA512=m
1076CONFIG_CRYPTO_WP512=m
1077CONFIG_CRYPTO_TGR192=m
1078CONFIG_CRYPTO_GF128MUL=m
1079CONFIG_CRYPTO_ECB=m
1080CONFIG_CRYPTO_CBC=m
1081CONFIG_CRYPTO_PCBC=m
1082CONFIG_CRYPTO_LRW=m
1083CONFIG_CRYPTO_DES=m
1084CONFIG_CRYPTO_FCRYPT=m
1085CONFIG_CRYPTO_BLOWFISH=m
1086CONFIG_CRYPTO_TWOFISH=m
1087CONFIG_CRYPTO_TWOFISH_COMMON=m
1088CONFIG_CRYPTO_SERPENT=m
1089CONFIG_CRYPTO_AES=m
1090CONFIG_CRYPTO_CAST5=m
1091CONFIG_CRYPTO_CAST6=m
1092CONFIG_CRYPTO_TEA=m
1093CONFIG_CRYPTO_ARC4=m
1094CONFIG_CRYPTO_KHAZAD=m
1095CONFIG_CRYPTO_ANUBIS=m
1096CONFIG_CRYPTO_DEFLATE=m
1097CONFIG_CRYPTO_MICHAEL_MIC=m
1098CONFIG_CRYPTO_CRC32C=m
1099CONFIG_CRYPTO_CAMELLIA=m
1100# CONFIG_CRYPTO_TEST is not set
1101
1102#
1103# Hardware crypto devices
1104#
1105
1106#
1107# Library routines
1108#
1109CONFIG_BITREVERSE=y
1110# CONFIG_CRC_CCITT is not set
1111CONFIG_CRC16=m
1112CONFIG_CRC32=y
1113CONFIG_LIBCRC32C=m
1114CONFIG_ZLIB_INFLATE=m
1115CONFIG_ZLIB_DEFLATE=m
1116CONFIG_PLIST=y
1117CONFIG_HAS_IOMEM=y
1118CONFIG_HAS_IOPORT=y
diff --git a/arch/mips/configs/malta_defconfig b/arch/mips/configs/malta_defconfig
index 1f64d7632a03..546cb243fd09 100644
--- a/arch/mips/configs/malta_defconfig
+++ b/arch/mips/configs/malta_defconfig
@@ -25,9 +25,7 @@ CONFIG_ZONE_DMA=y
25# CONFIG_BASLER_EXCITE is not set 25# CONFIG_BASLER_EXCITE is not set
26# CONFIG_MIPS_COBALT is not set 26# CONFIG_MIPS_COBALT is not set
27# CONFIG_MACH_DECSTATION is not set 27# CONFIG_MACH_DECSTATION is not set
28# CONFIG_MIPS_EV64120 is not set
29# CONFIG_MACH_JAZZ is not set 28# CONFIG_MACH_JAZZ is not set
30# CONFIG_LASAT is not set
31# CONFIG_MIPS_ATLAS is not set 29# CONFIG_MIPS_ATLAS is not set
32CONFIG_MIPS_MALTA=y 30CONFIG_MIPS_MALTA=y
33# CONFIG_MIPS_SEAD is not set 31# CONFIG_MIPS_SEAD is not set
@@ -35,8 +33,6 @@ CONFIG_MIPS_MALTA=y
35# CONFIG_MIPS_SIM is not set 33# CONFIG_MIPS_SIM is not set
36# CONFIG_MOMENCO_JAGUAR_ATX is not set 34# CONFIG_MOMENCO_JAGUAR_ATX is not set
37# CONFIG_MOMENCO_OCELOT is not set 35# CONFIG_MOMENCO_OCELOT is not set
38# CONFIG_MOMENCO_OCELOT_3 is not set
39# CONFIG_MOMENCO_OCELOT_C is not set
40# CONFIG_MOMENCO_OCELOT_G is not set 36# CONFIG_MOMENCO_OCELOT_G is not set
41# CONFIG_MIPS_XXS1500 is not set 37# CONFIG_MIPS_XXS1500 is not set
42# CONFIG_PNX8550_JBS is not set 38# CONFIG_PNX8550_JBS is not set
diff --git a/arch/mips/configs/mipssim_defconfig b/arch/mips/configs/mipssim_defconfig
index a2db5c201216..6abad6f88313 100644
--- a/arch/mips/configs/mipssim_defconfig
+++ b/arch/mips/configs/mipssim_defconfig
@@ -25,9 +25,7 @@ CONFIG_ZONE_DMA=y
25# CONFIG_BASLER_EXCITE is not set 25# CONFIG_BASLER_EXCITE is not set
26# CONFIG_MIPS_COBALT is not set 26# CONFIG_MIPS_COBALT is not set
27# CONFIG_MACH_DECSTATION is not set 27# CONFIG_MACH_DECSTATION is not set
28# CONFIG_MIPS_EV64120 is not set
29# CONFIG_MACH_JAZZ is not set 28# CONFIG_MACH_JAZZ is not set
30# CONFIG_LASAT is not set
31# CONFIG_MIPS_ATLAS is not set 29# CONFIG_MIPS_ATLAS is not set
32# CONFIG_MIPS_MALTA is not set 30# CONFIG_MIPS_MALTA is not set
33# CONFIG_MIPS_SEAD is not set 31# CONFIG_MIPS_SEAD is not set
@@ -35,8 +33,6 @@ CONFIG_ZONE_DMA=y
35CONFIG_MIPS_SIM=y 33CONFIG_MIPS_SIM=y
36# CONFIG_MOMENCO_JAGUAR_ATX is not set 34# CONFIG_MOMENCO_JAGUAR_ATX is not set
37# CONFIG_MOMENCO_OCELOT is not set 35# CONFIG_MOMENCO_OCELOT is not set
38# CONFIG_MOMENCO_OCELOT_3 is not set
39# CONFIG_MOMENCO_OCELOT_C is not set
40# CONFIG_MOMENCO_OCELOT_G is not set 36# CONFIG_MOMENCO_OCELOT_G is not set
41# CONFIG_MIPS_XXS1500 is not set 37# CONFIG_MIPS_XXS1500 is not set
42# CONFIG_PNX8550_JBS is not set 38# CONFIG_PNX8550_JBS is not set
@@ -496,36 +492,23 @@ CONFIG_NETDEVICES=y
496# CONFIG_BONDING is not set 492# CONFIG_BONDING is not set
497# CONFIG_EQUALIZER is not set 493# CONFIG_EQUALIZER is not set
498# CONFIG_TUN is not set 494# CONFIG_TUN is not set
499 495# CONFIG_PHYLIB is not set
500#
501# PHY device support
502#
503 496
504# 497#
505# Ethernet (10 or 100Mbit) 498# Ethernet (10 or 100Mbit)
506# 499#
507# CONFIG_NET_ETHERNET is not set 500CONFIG_NET_ETHERNET=y
508 501# CONFIG_MII is not set
509# 502CONFIG_MIPS_SIM_NET=y
510# Ethernet (1000 Mbit) 503# CONFIG_DM9000 is not set
511# 504# CONFIG_NETDEV_1000 is not set
512 505# CONFIG_NETDEV_10000 is not set
513#
514# Ethernet (10000 Mbit)
515#
516
517#
518# Token Ring devices
519#
520
521#
522# Wireless LAN (non-hamradio)
523#
524# CONFIG_NET_RADIO is not set
525 506
526# 507#
527# Wan interfaces 508# Wireless LAN
528# 509#
510# CONFIG_WLAN_PRE80211 is not set
511# CONFIG_WLAN_80211 is not set
529# CONFIG_WAN is not set 512# CONFIG_WAN is not set
530# CONFIG_PPP is not set 513# CONFIG_PPP is not set
531# CONFIG_SLIP is not set 514# CONFIG_SLIP is not set
diff --git a/arch/mips/configs/mpc30x_defconfig b/arch/mips/configs/mpc30x_defconfig
index ad5c0bf87b2b..4981ce425d82 100644
--- a/arch/mips/configs/mpc30x_defconfig
+++ b/arch/mips/configs/mpc30x_defconfig
@@ -25,9 +25,7 @@ CONFIG_ZONE_DMA=y
25# CONFIG_BASLER_EXCITE is not set 25# CONFIG_BASLER_EXCITE is not set
26# CONFIG_MIPS_COBALT is not set 26# CONFIG_MIPS_COBALT is not set
27# CONFIG_MACH_DECSTATION is not set 27# CONFIG_MACH_DECSTATION is not set
28# CONFIG_MIPS_EV64120 is not set
29# CONFIG_MACH_JAZZ is not set 28# CONFIG_MACH_JAZZ is not set
30# CONFIG_LASAT is not set
31# CONFIG_MIPS_ATLAS is not set 29# CONFIG_MIPS_ATLAS is not set
32# CONFIG_MIPS_MALTA is not set 30# CONFIG_MIPS_MALTA is not set
33# CONFIG_MIPS_SEAD is not set 31# CONFIG_MIPS_SEAD is not set
@@ -35,8 +33,6 @@ CONFIG_ZONE_DMA=y
35# CONFIG_MIPS_SIM is not set 33# CONFIG_MIPS_SIM is not set
36# CONFIG_MOMENCO_JAGUAR_ATX is not set 34# CONFIG_MOMENCO_JAGUAR_ATX is not set
37# CONFIG_MOMENCO_OCELOT is not set 35# CONFIG_MOMENCO_OCELOT is not set
38# CONFIG_MOMENCO_OCELOT_3 is not set
39# CONFIG_MOMENCO_OCELOT_C is not set
40# CONFIG_MOMENCO_OCELOT_G is not set 36# CONFIG_MOMENCO_OCELOT_G is not set
41# CONFIG_MIPS_XXS1500 is not set 37# CONFIG_MIPS_XXS1500 is not set
42# CONFIG_PNX8550_JBS is not set 38# CONFIG_PNX8550_JBS is not set
diff --git a/arch/mips/configs/ocelot_3_defconfig b/arch/mips/configs/msp71xx_defconfig
index 28547313ce13..adca5f7ba533 100644
--- a/arch/mips/configs/ocelot_3_defconfig
+++ b/arch/mips/configs/msp71xx_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.20 3# Linux kernel version: 2.6.21-rc4
4# Tue Feb 20 21:47:35 2007 4# Thu Apr 26 18:11:29 2007
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -25,9 +25,7 @@ CONFIG_ZONE_DMA=y
25# CONFIG_BASLER_EXCITE is not set 25# CONFIG_BASLER_EXCITE is not set
26# CONFIG_MIPS_COBALT is not set 26# CONFIG_MIPS_COBALT is not set
27# CONFIG_MACH_DECSTATION is not set 27# CONFIG_MACH_DECSTATION is not set
28# CONFIG_MIPS_EV64120 is not set
29# CONFIG_MACH_JAZZ is not set 28# CONFIG_MACH_JAZZ is not set
30# CONFIG_LASAT is not set
31# CONFIG_MIPS_ATLAS is not set 29# CONFIG_MIPS_ATLAS is not set
32# CONFIG_MIPS_MALTA is not set 30# CONFIG_MIPS_MALTA is not set
33# CONFIG_MIPS_SEAD is not set 31# CONFIG_MIPS_SEAD is not set
@@ -35,14 +33,13 @@ CONFIG_ZONE_DMA=y
35# CONFIG_MIPS_SIM is not set 33# CONFIG_MIPS_SIM is not set
36# CONFIG_MOMENCO_JAGUAR_ATX is not set 34# CONFIG_MOMENCO_JAGUAR_ATX is not set
37# CONFIG_MOMENCO_OCELOT is not set 35# CONFIG_MOMENCO_OCELOT is not set
38CONFIG_MOMENCO_OCELOT_3=y
39# CONFIG_MOMENCO_OCELOT_C is not set
40# CONFIG_MOMENCO_OCELOT_G is not set 36# CONFIG_MOMENCO_OCELOT_G is not set
41# CONFIG_MIPS_XXS1500 is not set 37# CONFIG_MIPS_XXS1500 is not set
42# CONFIG_PNX8550_JBS is not set 38# CONFIG_PNX8550_JBS is not set
43# CONFIG_PNX8550_STB810 is not set 39# CONFIG_PNX8550_STB810 is not set
44# CONFIG_DDB5477 is not set 40# CONFIG_DDB5477 is not set
45# CONFIG_MACH_VR41XX is not set 41# CONFIG_MACH_VR41XX is not set
42CONFIG_PMC_MSP=y
46# CONFIG_PMC_YOSEMITE is not set 43# CONFIG_PMC_YOSEMITE is not set
47# CONFIG_QEMU is not set 44# CONFIG_QEMU is not set
48# CONFIG_MARKEINS is not set 45# CONFIG_MARKEINS is not set
@@ -62,6 +59,16 @@ CONFIG_MOMENCO_OCELOT_3=y
62# CONFIG_TOSHIBA_JMR3927 is not set 59# CONFIG_TOSHIBA_JMR3927 is not set
63# CONFIG_TOSHIBA_RBTX4927 is not set 60# CONFIG_TOSHIBA_RBTX4927 is not set
64# CONFIG_TOSHIBA_RBTX4938 is not set 61# CONFIG_TOSHIBA_RBTX4938 is not set
62# CONFIG_PMC_MSP4200_EVAL is not set
63# CONFIG_PMC_MSP4200_GW is not set
64# CONFIG_PMC_MSP7120_EVAL is not set
65CONFIG_PMC_MSP7120_GW=y
66# CONFIG_PMC_MSP7120_FPGA is not set
67
68#
69# Options for PMC-Sierra MSP chipsets
70#
71CONFIG_PMC_MSP_EMBEDDED_ROOTFS=y
65CONFIG_RWSEM_GENERIC_SPINLOCK=y 72CONFIG_RWSEM_GENERIC_SPINLOCK=y
66# CONFIG_ARCH_HAS_ILOG2_U32 is not set 73# CONFIG_ARCH_HAS_ILOG2_U32 is not set
67# CONFIG_ARCH_HAS_ILOG2_U64 is not set 74# CONFIG_ARCH_HAS_ILOG2_U64 is not set
@@ -71,24 +78,24 @@ CONFIG_GENERIC_CALIBRATE_DELAY=y
71CONFIG_GENERIC_TIME=y 78CONFIG_GENERIC_TIME=y
72CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y 79CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
73# CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ is not set 80# CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ is not set
81CONFIG_BOOT_RAW=y
74CONFIG_DMA_NONCOHERENT=y 82CONFIG_DMA_NONCOHERENT=y
75CONFIG_DMA_NEED_PCI_MAP_STATE=y 83CONFIG_DMA_NEED_PCI_MAP_STATE=y
84CONFIG_NO_EXCEPT_FILL=y
76CONFIG_CPU_BIG_ENDIAN=y 85CONFIG_CPU_BIG_ENDIAN=y
77# CONFIG_CPU_LITTLE_ENDIAN is not set 86# CONFIG_CPU_LITTLE_ENDIAN is not set
78CONFIG_SYS_SUPPORTS_BIG_ENDIAN=y 87CONFIG_SYS_SUPPORTS_BIG_ENDIAN=y
79CONFIG_IRQ_CPU=y 88CONFIG_IRQ_CPU=y
80CONFIG_IRQ_CPU_RM7K=y 89CONFIG_IRQ_MSP_CIC=y
81CONFIG_IRQ_MV64340=y 90CONFIG_MSP_USB=y
82CONFIG_PCI_MARVELL=y
83CONFIG_SWAP_IO_SPACE=y 91CONFIG_SWAP_IO_SPACE=y
84CONFIG_BOOT_ELF32=y
85CONFIG_MIPS_L1_CACHE_SHIFT=5 92CONFIG_MIPS_L1_CACHE_SHIFT=5
86 93
87# 94#
88# CPU selection 95# CPU selection
89# 96#
90# CONFIG_CPU_MIPS32_R1 is not set 97# CONFIG_CPU_MIPS32_R1 is not set
91# CONFIG_CPU_MIPS32_R2 is not set 98CONFIG_CPU_MIPS32_R2=y
92# CONFIG_CPU_MIPS64_R1 is not set 99# CONFIG_CPU_MIPS64_R1 is not set
93# CONFIG_CPU_MIPS64_R2 is not set 100# CONFIG_CPU_MIPS64_R2 is not set
94# CONFIG_CPU_R3000 is not set 101# CONFIG_CPU_R3000 is not set
@@ -104,14 +111,14 @@ CONFIG_MIPS_L1_CACHE_SHIFT=5
104# CONFIG_CPU_R8000 is not set 111# CONFIG_CPU_R8000 is not set
105# CONFIG_CPU_R10000 is not set 112# CONFIG_CPU_R10000 is not set
106# CONFIG_CPU_RM7000 is not set 113# CONFIG_CPU_RM7000 is not set
107CONFIG_CPU_RM9000=y 114# CONFIG_CPU_RM9000 is not set
108# CONFIG_CPU_SB1 is not set 115# CONFIG_CPU_SB1 is not set
109CONFIG_SYS_HAS_CPU_RM9000=y 116CONFIG_SYS_HAS_CPU_MIPS32_R1=y
110CONFIG_WEAK_ORDERING=y 117CONFIG_SYS_HAS_CPU_MIPS32_R2=y
118CONFIG_CPU_MIPS32=y
119CONFIG_CPU_MIPSR2=y
111CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y 120CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y
112CONFIG_SYS_SUPPORTS_64BIT_KERNEL=y
113CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y 121CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y
114CONFIG_CPU_SUPPORTS_64BIT_KERNEL=y
115 122
116# 123#
117# Kernel type 124# Kernel type
@@ -122,13 +129,12 @@ CONFIG_PAGE_SIZE_4KB=y
122# CONFIG_PAGE_SIZE_8KB is not set 129# CONFIG_PAGE_SIZE_8KB is not set
123# CONFIG_PAGE_SIZE_16KB is not set 130# CONFIG_PAGE_SIZE_16KB is not set
124# CONFIG_PAGE_SIZE_64KB is not set 131# CONFIG_PAGE_SIZE_64KB is not set
125CONFIG_BOARD_SCACHE=y
126CONFIG_RM7000_CPU_SCACHE=y
127CONFIG_CPU_HAS_PREFETCH=y 132CONFIG_CPU_HAS_PREFETCH=y
128CONFIG_MIPS_MT_DISABLED=y 133CONFIG_MIPS_MT_DISABLED=y
129# CONFIG_MIPS_MT_SMP is not set 134# CONFIG_MIPS_MT_SMP is not set
130# CONFIG_MIPS_MT_SMTC is not set 135# CONFIG_MIPS_MT_SMTC is not set
131# CONFIG_MIPS_VPE_LOADER is not set 136# CONFIG_MIPS_VPE_LOADER is not set
137CONFIG_SYS_SUPPORTS_MULTITHREADING=y
132# CONFIG_64BIT_PHYS_ADDR is not set 138# CONFIG_64BIT_PHYS_ADDR is not set
133CONFIG_CPU_HAS_LLSC=y 139CONFIG_CPU_HAS_LLSC=y
134CONFIG_CPU_HAS_SYNC=y 140CONFIG_CPU_HAS_SYNC=y
@@ -149,15 +155,16 @@ CONFIG_ZONE_DMA_FLAG=1
149# CONFIG_HZ_48 is not set 155# CONFIG_HZ_48 is not set
150# CONFIG_HZ_100 is not set 156# CONFIG_HZ_100 is not set
151# CONFIG_HZ_128 is not set 157# CONFIG_HZ_128 is not set
152# CONFIG_HZ_250 is not set 158CONFIG_HZ_250=y
153# CONFIG_HZ_256 is not set 159# CONFIG_HZ_256 is not set
154CONFIG_HZ_1000=y 160# CONFIG_HZ_1000 is not set
155# CONFIG_HZ_1024 is not set 161# CONFIG_HZ_1024 is not set
156CONFIG_SYS_SUPPORTS_ARBIT_HZ=y 162CONFIG_SYS_SUPPORTS_ARBIT_HZ=y
157CONFIG_HZ=1000 163CONFIG_HZ=250
158CONFIG_PREEMPT_NONE=y 164# CONFIG_PREEMPT_NONE is not set
159# CONFIG_PREEMPT_VOLUNTARY is not set 165# CONFIG_PREEMPT_VOLUNTARY is not set
160# CONFIG_PREEMPT is not set 166CONFIG_PREEMPT=y
167# CONFIG_PREEMPT_BKL is not set
161# CONFIG_KEXEC is not set 168# CONFIG_KEXEC is not set
162CONFIG_LOCKDEP_SUPPORT=y 169CONFIG_LOCKDEP_SUPPORT=y
163CONFIG_STACKTRACE_SUPPORT=y 170CONFIG_STACKTRACE_SUPPORT=y
@@ -168,14 +175,15 @@ CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
168# 175#
169CONFIG_EXPERIMENTAL=y 176CONFIG_EXPERIMENTAL=y
170CONFIG_BROKEN_ON_SMP=y 177CONFIG_BROKEN_ON_SMP=y
178CONFIG_LOCK_KERNEL=y
171CONFIG_INIT_ENV_ARG_LIMIT=32 179CONFIG_INIT_ENV_ARG_LIMIT=32
172 180
173# 181#
174# General setup 182# General setup
175# 183#
176CONFIG_LOCALVERSION="" 184CONFIG_LOCALVERSION="-pmc"
177CONFIG_LOCALVERSION_AUTO=y 185CONFIG_LOCALVERSION_AUTO=y
178CONFIG_SWAP=y 186# CONFIG_SWAP is not set
179CONFIG_SYSVIPC=y 187CONFIG_SYSVIPC=y
180# CONFIG_IPC_NS is not set 188# CONFIG_IPC_NS is not set
181CONFIG_SYSVIPC_SYSCTL=y 189CONFIG_SYSVIPC_SYSCTL=y
@@ -184,15 +192,16 @@ CONFIG_SYSVIPC_SYSCTL=y
184# CONFIG_TASKSTATS is not set 192# CONFIG_TASKSTATS is not set
185# CONFIG_UTS_NS is not set 193# CONFIG_UTS_NS is not set
186# CONFIG_AUDIT is not set 194# CONFIG_AUDIT is not set
187CONFIG_IKCONFIG=y 195# CONFIG_IKCONFIG is not set
188CONFIG_IKCONFIG_PROC=y
189CONFIG_SYSFS_DEPRECATED=y 196CONFIG_SYSFS_DEPRECATED=y
190CONFIG_RELAY=y 197# CONFIG_RELAY is not set
198# CONFIG_BLK_DEV_INITRD is not set
191# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 199# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
192CONFIG_SYSCTL=y 200CONFIG_SYSCTL=y
193CONFIG_EMBEDDED=y 201CONFIG_EMBEDDED=y
194CONFIG_SYSCTL_SYSCALL=y 202CONFIG_SYSCTL_SYSCALL=y
195CONFIG_KALLSYMS=y 203CONFIG_KALLSYMS=y
204# CONFIG_KALLSYMS_ALL is not set
196# CONFIG_KALLSYMS_EXTRA_PASS is not set 205# CONFIG_KALLSYMS_EXTRA_PASS is not set
197CONFIG_HOTPLUG=y 206CONFIG_HOTPLUG=y
198CONFIG_PRINTK=y 207CONFIG_PRINTK=y
@@ -201,11 +210,11 @@ CONFIG_ELF_CORE=y
201CONFIG_BASE_FULL=y 210CONFIG_BASE_FULL=y
202CONFIG_FUTEX=y 211CONFIG_FUTEX=y
203CONFIG_EPOLL=y 212CONFIG_EPOLL=y
204CONFIG_SHMEM=y 213# CONFIG_SHMEM is not set
205CONFIG_SLAB=y 214CONFIG_SLAB=y
206CONFIG_VM_EVENT_COUNTERS=y 215CONFIG_VM_EVENT_COUNTERS=y
207CONFIG_RT_MUTEXES=y 216CONFIG_RT_MUTEXES=y
208# CONFIG_TINY_SHMEM is not set 217CONFIG_TINY_SHMEM=y
209CONFIG_BASE_SMALL=0 218CONFIG_BASE_SMALL=0
210# CONFIG_SLOB is not set 219# CONFIG_SLOB is not set
211 220
@@ -232,8 +241,8 @@ CONFIG_BLOCK=y
232# 241#
233CONFIG_IOSCHED_NOOP=y 242CONFIG_IOSCHED_NOOP=y
234CONFIG_IOSCHED_AS=y 243CONFIG_IOSCHED_AS=y
235CONFIG_IOSCHED_DEADLINE=y 244# CONFIG_IOSCHED_DEADLINE is not set
236CONFIG_IOSCHED_CFQ=y 245# CONFIG_IOSCHED_CFQ is not set
237CONFIG_DEFAULT_AS=y 246CONFIG_DEFAULT_AS=y
238# CONFIG_DEFAULT_DEADLINE is not set 247# CONFIG_DEFAULT_DEADLINE is not set
239# CONFIG_DEFAULT_CFQ is not set 248# CONFIG_DEFAULT_CFQ is not set
@@ -245,6 +254,7 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
245# 254#
246CONFIG_HW_HAS_PCI=y 255CONFIG_HW_HAS_PCI=y
247CONFIG_PCI=y 256CONFIG_PCI=y
257# CONFIG_PCI_DEBUG is not set
248CONFIG_MMU=y 258CONFIG_MMU=y
249 259
250# 260#
@@ -267,10 +277,7 @@ CONFIG_TRAD_SIGNALS=y
267# 277#
268# Power management options 278# Power management options
269# 279#
270CONFIG_PM=y 280# CONFIG_PM is not set
271# CONFIG_PM_LEGACY is not set
272# CONFIG_PM_DEBUG is not set
273# CONFIG_PM_SYSFS_DEPRECATED is not set
274 281
275# 282#
276# Networking 283# Networking
@@ -281,17 +288,16 @@ CONFIG_NET=y
281# Networking options 288# Networking options
282# 289#
283# CONFIG_NETDEBUG is not set 290# CONFIG_NETDEBUG is not set
284CONFIG_PACKET=y 291# CONFIG_PACKET is not set
285# CONFIG_PACKET_MMAP is not set
286CONFIG_UNIX=y 292CONFIG_UNIX=y
287CONFIG_XFRM=y 293CONFIG_XFRM=y
288# CONFIG_XFRM_USER is not set 294CONFIG_XFRM_USER=y
289# CONFIG_XFRM_SUB_POLICY is not set 295# CONFIG_XFRM_SUB_POLICY is not set
290CONFIG_XFRM_MIGRATE=y 296# CONFIG_XFRM_MIGRATE is not set
291CONFIG_NET_KEY=y 297CONFIG_NET_KEY=y
292CONFIG_NET_KEY_MIGRATE=y 298# CONFIG_NET_KEY_MIGRATE is not set
293CONFIG_INET=y 299CONFIG_INET=y
294# CONFIG_IP_MULTICAST is not set 300CONFIG_IP_MULTICAST=y
295# CONFIG_IP_ADVANCED_ROUTER is not set 301# CONFIG_IP_ADVANCED_ROUTER is not set
296CONFIG_IP_FIB_HASH=y 302CONFIG_IP_FIB_HASH=y
297CONFIG_IP_PNP=y 303CONFIG_IP_PNP=y
@@ -300,122 +306,92 @@ CONFIG_IP_PNP_BOOTP=y
300# CONFIG_IP_PNP_RARP is not set 306# CONFIG_IP_PNP_RARP is not set
301# CONFIG_NET_IPIP is not set 307# CONFIG_NET_IPIP is not set
302# CONFIG_NET_IPGRE is not set 308# CONFIG_NET_IPGRE is not set
309# CONFIG_IP_MROUTE is not set
303# CONFIG_ARPD is not set 310# CONFIG_ARPD is not set
304# CONFIG_SYN_COOKIES is not set 311# CONFIG_SYN_COOKIES is not set
305# CONFIG_INET_AH is not set 312CONFIG_INET_AH=y
306# CONFIG_INET_ESP is not set 313CONFIG_INET_ESP=y
307# CONFIG_INET_IPCOMP is not set 314CONFIG_INET_IPCOMP=y
308# CONFIG_INET_XFRM_TUNNEL is not set 315CONFIG_INET_XFRM_TUNNEL=y
309CONFIG_INET_TUNNEL=m 316CONFIG_INET_TUNNEL=y
310CONFIG_INET_XFRM_MODE_TRANSPORT=m 317CONFIG_INET_XFRM_MODE_TRANSPORT=y
311CONFIG_INET_XFRM_MODE_TUNNEL=m 318CONFIG_INET_XFRM_MODE_TUNNEL=y
312CONFIG_INET_XFRM_MODE_BEET=m 319CONFIG_INET_XFRM_MODE_BEET=y
313CONFIG_INET_DIAG=y 320CONFIG_INET_DIAG=y
314CONFIG_INET_TCP_DIAG=y 321CONFIG_INET_TCP_DIAG=y
315# CONFIG_TCP_CONG_ADVANCED is not set 322# CONFIG_TCP_CONG_ADVANCED is not set
316CONFIG_TCP_CONG_CUBIC=y 323CONFIG_TCP_CONG_CUBIC=y
317CONFIG_DEFAULT_TCP_CONG="cubic" 324CONFIG_DEFAULT_TCP_CONG="cubic"
318CONFIG_TCP_MD5SIG=y 325# CONFIG_TCP_MD5SIG is not set
319 326
320# 327#
321# IP: Virtual Server Configuration 328# IP: Virtual Server Configuration
322# 329#
323# CONFIG_IP_VS is not set 330# CONFIG_IP_VS is not set
324CONFIG_IPV6=m 331# CONFIG_IPV6 is not set
325# CONFIG_IPV6_PRIVACY is not set
326CONFIG_IPV6_ROUTER_PREF=y
327CONFIG_IPV6_ROUTE_INFO=y
328# CONFIG_INET6_AH is not set
329# CONFIG_INET6_ESP is not set
330# CONFIG_INET6_IPCOMP is not set
331CONFIG_IPV6_MIP6=y
332# CONFIG_INET6_XFRM_TUNNEL is not set 332# CONFIG_INET6_XFRM_TUNNEL is not set
333# CONFIG_INET6_TUNNEL is not set 333# CONFIG_INET6_TUNNEL is not set
334CONFIG_INET6_XFRM_MODE_TRANSPORT=m 334# CONFIG_NETWORK_SECMARK is not set
335CONFIG_INET6_XFRM_MODE_TUNNEL=m
336CONFIG_INET6_XFRM_MODE_BEET=m
337CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
338CONFIG_IPV6_SIT=m
339# CONFIG_IPV6_TUNNEL is not set
340CONFIG_IPV6_MULTIPLE_TABLES=y
341CONFIG_IPV6_SUBTREES=y
342CONFIG_NETWORK_SECMARK=y
343CONFIG_NETFILTER=y 335CONFIG_NETFILTER=y
344# CONFIG_NETFILTER_DEBUG is not set 336# CONFIG_NETFILTER_DEBUG is not set
337CONFIG_BRIDGE_NETFILTER=y
345 338
346# 339#
347# Core Netfilter Configuration 340# Core Netfilter Configuration
348# 341#
349CONFIG_NETFILTER_NETLINK=m 342# CONFIG_NETFILTER_NETLINK is not set
350CONFIG_NETFILTER_NETLINK_QUEUE=m 343# CONFIG_NF_CONNTRACK_ENABLED is not set
351CONFIG_NETFILTER_NETLINK_LOG=m 344CONFIG_NETFILTER_XTABLES=y
352CONFIG_NF_CONNTRACK_ENABLED=m 345# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set
353CONFIG_NF_CONNTRACK_SUPPORT=y 346# CONFIG_NETFILTER_XT_TARGET_MARK is not set
354# CONFIG_IP_NF_CONNTRACK_SUPPORT is not set 347# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set
355CONFIG_NF_CONNTRACK=m 348# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set
356CONFIG_NF_CT_ACCT=y 349# CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set
357CONFIG_NF_CONNTRACK_MARK=y 350# CONFIG_NETFILTER_XT_MATCH_COMMENT is not set
358CONFIG_NF_CONNTRACK_SECMARK=y 351# CONFIG_NETFILTER_XT_MATCH_DCCP is not set
359CONFIG_NF_CONNTRACK_EVENTS=y 352# CONFIG_NETFILTER_XT_MATCH_DSCP is not set
360CONFIG_NF_CT_PROTO_GRE=m 353# CONFIG_NETFILTER_XT_MATCH_ESP is not set
361CONFIG_NF_CT_PROTO_SCTP=m 354# CONFIG_NETFILTER_XT_MATCH_LENGTH is not set
362CONFIG_NF_CONNTRACK_AMANDA=m 355# CONFIG_NETFILTER_XT_MATCH_LIMIT is not set
363CONFIG_NF_CONNTRACK_FTP=m 356# CONFIG_NETFILTER_XT_MATCH_MAC is not set
364CONFIG_NF_CONNTRACK_H323=m 357# CONFIG_NETFILTER_XT_MATCH_MARK is not set
365CONFIG_NF_CONNTRACK_IRC=m 358# CONFIG_NETFILTER_XT_MATCH_POLICY is not set
366# CONFIG_NF_CONNTRACK_NETBIOS_NS is not set 359# CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set
367CONFIG_NF_CONNTRACK_PPTP=m 360# CONFIG_NETFILTER_XT_MATCH_PHYSDEV is not set
368CONFIG_NF_CONNTRACK_SANE=m 361# CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set
369CONFIG_NF_CONNTRACK_SIP=m 362# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set
370CONFIG_NF_CONNTRACK_TFTP=m 363# CONFIG_NETFILTER_XT_MATCH_REALM is not set
371CONFIG_NF_CT_NETLINK=m 364# CONFIG_NETFILTER_XT_MATCH_SCTP is not set
372CONFIG_NETFILTER_XTABLES=m 365# CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set
373CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m 366# CONFIG_NETFILTER_XT_MATCH_STRING is not set
374CONFIG_NETFILTER_XT_TARGET_MARK=m 367# CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set
375CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m 368# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set
376CONFIG_NETFILTER_XT_TARGET_NFLOG=m
377CONFIG_NETFILTER_XT_TARGET_SECMARK=m
378CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m
379CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
380CONFIG_NETFILTER_XT_MATCH_COMMENT=m
381CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
382CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
383CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
384CONFIG_NETFILTER_XT_MATCH_DCCP=m
385CONFIG_NETFILTER_XT_MATCH_DSCP=m
386CONFIG_NETFILTER_XT_MATCH_ESP=m
387CONFIG_NETFILTER_XT_MATCH_HELPER=m
388CONFIG_NETFILTER_XT_MATCH_LENGTH=m
389CONFIG_NETFILTER_XT_MATCH_LIMIT=m
390CONFIG_NETFILTER_XT_MATCH_MAC=m
391CONFIG_NETFILTER_XT_MATCH_MARK=m
392CONFIG_NETFILTER_XT_MATCH_POLICY=m
393CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
394CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
395CONFIG_NETFILTER_XT_MATCH_QUOTA=m
396CONFIG_NETFILTER_XT_MATCH_REALM=m
397CONFIG_NETFILTER_XT_MATCH_SCTP=m
398CONFIG_NETFILTER_XT_MATCH_STATE=m
399CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
400CONFIG_NETFILTER_XT_MATCH_STRING=m
401CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
402CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
403 369
404# 370#
405# IP: Netfilter Configuration 371# IP: Netfilter Configuration
406# 372#
407CONFIG_NF_CONNTRACK_IPV4=m
408CONFIG_NF_CONNTRACK_PROC_COMPAT=y
409# CONFIG_IP_NF_QUEUE is not set 373# CONFIG_IP_NF_QUEUE is not set
410# CONFIG_IP_NF_IPTABLES is not set 374CONFIG_IP_NF_IPTABLES=y
375# CONFIG_IP_NF_MATCH_IPRANGE is not set
376# CONFIG_IP_NF_MATCH_TOS is not set
377# CONFIG_IP_NF_MATCH_RECENT is not set
378# CONFIG_IP_NF_MATCH_ECN is not set
379# CONFIG_IP_NF_MATCH_AH is not set
380# CONFIG_IP_NF_MATCH_TTL is not set
381# CONFIG_IP_NF_MATCH_OWNER is not set
382# CONFIG_IP_NF_MATCH_ADDRTYPE is not set
383CONFIG_IP_NF_FILTER=y
384CONFIG_IP_NF_TARGET_REJECT=y
385# CONFIG_IP_NF_TARGET_LOG is not set
386# CONFIG_IP_NF_TARGET_ULOG is not set
387# CONFIG_IP_NF_MANGLE is not set
388# CONFIG_IP_NF_RAW is not set
411# CONFIG_IP_NF_ARPTABLES is not set 389# CONFIG_IP_NF_ARPTABLES is not set
412 390
413# 391#
414# IPv6: Netfilter Configuration (EXPERIMENTAL) 392# Bridge: Netfilter Configuration
415# 393#
416CONFIG_NF_CONNTRACK_IPV6=m 394# CONFIG_BRIDGE_NF_EBTABLES is not set
417# CONFIG_IP6_NF_QUEUE is not set
418# CONFIG_IP6_NF_IPTABLES is not set
419 395
420# 396#
421# DCCP Configuration (EXPERIMENTAL) 397# DCCP Configuration (EXPERIMENTAL)
@@ -432,9 +408,10 @@ CONFIG_NF_CONNTRACK_IPV6=m
432# 408#
433# CONFIG_TIPC is not set 409# CONFIG_TIPC is not set
434# CONFIG_ATM is not set 410# CONFIG_ATM is not set
435# CONFIG_BRIDGE is not set 411CONFIG_BRIDGE=y
436# CONFIG_VLAN_8021Q is not set 412# CONFIG_VLAN_8021Q is not set
437# CONFIG_DECNET is not set 413# CONFIG_DECNET is not set
414CONFIG_LLC=y
438# CONFIG_LLC2 is not set 415# CONFIG_LLC2 is not set
439# CONFIG_IPX is not set 416# CONFIG_IPX is not set
440# CONFIG_ATALK is not set 417# CONFIG_ATALK is not set
@@ -447,7 +424,6 @@ CONFIG_NF_CONNTRACK_IPV6=m
447# QoS and/or fair queueing 424# QoS and/or fair queueing
448# 425#
449# CONFIG_NET_SCHED is not set 426# CONFIG_NET_SCHED is not set
450CONFIG_NET_CLS_ROUTE=y
451 427
452# 428#
453# Network testing 429# Network testing
@@ -456,14 +432,8 @@ CONFIG_NET_CLS_ROUTE=y
456# CONFIG_HAMRADIO is not set 432# CONFIG_HAMRADIO is not set
457# CONFIG_IRDA is not set 433# CONFIG_IRDA is not set
458# CONFIG_BT is not set 434# CONFIG_BT is not set
459CONFIG_IEEE80211=m 435# CONFIG_IEEE80211 is not set
460# CONFIG_IEEE80211_DEBUG is not set
461CONFIG_IEEE80211_CRYPT_WEP=m
462CONFIG_IEEE80211_CRYPT_CCMP=m
463CONFIG_IEEE80211_SOFTMAC=m
464# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set
465CONFIG_WIRELESS_EXT=y 436CONFIG_WIRELESS_EXT=y
466CONFIG_FIB_RULES=y
467 437
468# 438#
469# Device Drivers 439# Device Drivers
@@ -473,19 +443,101 @@ CONFIG_FIB_RULES=y
473# Generic Driver Options 443# Generic Driver Options
474# 444#
475CONFIG_STANDALONE=y 445CONFIG_STANDALONE=y
476CONFIG_PREVENT_FIRMWARE_BUILD=y 446# CONFIG_PREVENT_FIRMWARE_BUILD is not set
477CONFIG_FW_LOADER=m 447# CONFIG_FW_LOADER is not set
448# CONFIG_DEBUG_DRIVER is not set
449# CONFIG_DEBUG_DEVRES is not set
478# CONFIG_SYS_HYPERVISOR is not set 450# CONFIG_SYS_HYPERVISOR is not set
479 451
480# 452#
481# Connector - unified userspace <-> kernelspace linker 453# Connector - unified userspace <-> kernelspace linker
482# 454#
483CONFIG_CONNECTOR=m 455# CONFIG_CONNECTOR is not set
484 456
485# 457#
486# Memory Technology Devices (MTD) 458# Memory Technology Devices (MTD)
487# 459#
488# CONFIG_MTD is not set 460CONFIG_MTD=y
461# CONFIG_MTD_DEBUG is not set
462# CONFIG_MTD_CONCAT is not set
463CONFIG_MTD_PARTITIONS=y
464# CONFIG_MTD_REDBOOT_PARTS is not set
465# CONFIG_MTD_CMDLINE_PARTS is not set
466
467#
468# User Modules And Translation Layers
469#
470CONFIG_MTD_CHAR=y
471CONFIG_MTD_BLKDEVS=y
472CONFIG_MTD_BLOCK=y
473# CONFIG_FTL is not set
474# CONFIG_NFTL is not set
475# CONFIG_INFTL is not set
476# CONFIG_RFD_FTL is not set
477# CONFIG_SSFDC is not set
478
479#
480# RAM/ROM/Flash chip drivers
481#
482CONFIG_MTD_CFI=y
483# CONFIG_MTD_JEDECPROBE is not set
484CONFIG_MTD_GEN_PROBE=y
485# CONFIG_MTD_CFI_ADV_OPTIONS is not set
486CONFIG_MTD_MAP_BANK_WIDTH_1=y
487CONFIG_MTD_MAP_BANK_WIDTH_2=y
488CONFIG_MTD_MAP_BANK_WIDTH_4=y
489# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
490# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
491# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
492CONFIG_MTD_CFI_I1=y
493CONFIG_MTD_CFI_I2=y
494# CONFIG_MTD_CFI_I4 is not set
495# CONFIG_MTD_CFI_I8 is not set
496# CONFIG_MTD_CFI_INTELEXT is not set
497CONFIG_MTD_CFI_AMDSTD=y
498# CONFIG_MTD_CFI_STAA is not set
499CONFIG_MTD_CFI_UTIL=y
500CONFIG_MTD_RAM=y
501# CONFIG_MTD_ROM is not set
502# CONFIG_MTD_ABSENT is not set
503# CONFIG_MTD_OBSOLETE_CHIPS is not set
504
505#
506# Mapping drivers for chip access
507#
508# CONFIG_MTD_COMPLEX_MAPPINGS is not set
509# CONFIG_MTD_PHYSMAP is not set
510CONFIG_MTD_PMC_MSP_EVM=y
511CONFIG_MSP_FLASH_MAP_LIMIT_32M=y
512CONFIG_MSP_FLASH_MAP_LIMIT=0x02000000
513CONFIG_MTD_PMC_MSP_RAMROOT=y
514# CONFIG_MTD_PLATRAM is not set
515
516#
517# Self-contained MTD device drivers
518#
519# CONFIG_MTD_PMC551 is not set
520# CONFIG_MTD_SLRAM is not set
521# CONFIG_MTD_PHRAM is not set
522# CONFIG_MTD_MTDRAM is not set
523# CONFIG_MTD_BLOCK2MTD is not set
524
525#
526# Disk-On-Chip Device Drivers
527#
528# CONFIG_MTD_DOC2000 is not set
529# CONFIG_MTD_DOC2001 is not set
530# CONFIG_MTD_DOC2001PLUS is not set
531
532#
533# NAND Flash Device Drivers
534#
535# CONFIG_MTD_NAND is not set
536
537#
538# OneNAND Flash Device Drivers
539#
540# CONFIG_MTD_ONENAND is not set
489 541
490# 542#
491# Parallel port support 543# Parallel port support
@@ -505,19 +557,21 @@ CONFIG_CONNECTOR=m
505# CONFIG_BLK_DEV_DAC960 is not set 557# CONFIG_BLK_DEV_DAC960 is not set
506# CONFIG_BLK_DEV_UMEM is not set 558# CONFIG_BLK_DEV_UMEM is not set
507# CONFIG_BLK_DEV_COW_COMMON is not set 559# CONFIG_BLK_DEV_COW_COMMON is not set
508CONFIG_BLK_DEV_LOOP=y 560# CONFIG_BLK_DEV_LOOP is not set
509# CONFIG_BLK_DEV_CRYPTOLOOP is not set
510# CONFIG_BLK_DEV_NBD is not set 561# CONFIG_BLK_DEV_NBD is not set
511# CONFIG_BLK_DEV_SX8 is not set 562# CONFIG_BLK_DEV_SX8 is not set
512# CONFIG_BLK_DEV_RAM is not set 563# CONFIG_BLK_DEV_UB is not set
513# CONFIG_BLK_DEV_INITRD is not set 564CONFIG_BLK_DEV_RAM=y
565CONFIG_BLK_DEV_RAM_COUNT=16
566CONFIG_BLK_DEV_RAM_SIZE=4096
567CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
514# CONFIG_CDROM_PKTCDVD is not set 568# CONFIG_CDROM_PKTCDVD is not set
515CONFIG_ATA_OVER_ETH=m 569# CONFIG_ATA_OVER_ETH is not set
516 570
517# 571#
518# Misc devices 572# Misc devices
519# 573#
520CONFIG_SGI_IOC4=m 574# CONFIG_SGI_IOC4 is not set
521# CONFIG_TIFM_CORE is not set 575# CONFIG_TIFM_CORE is not set
522 576
523# 577#
@@ -528,16 +582,16 @@ CONFIG_SGI_IOC4=m
528# 582#
529# SCSI device support 583# SCSI device support
530# 584#
531CONFIG_RAID_ATTRS=m 585# CONFIG_RAID_ATTRS is not set
532CONFIG_SCSI=m 586CONFIG_SCSI=y
533CONFIG_SCSI_TGT=m 587# CONFIG_SCSI_TGT is not set
534CONFIG_SCSI_NETLINK=y 588# CONFIG_SCSI_NETLINK is not set
535CONFIG_SCSI_PROC_FS=y 589CONFIG_SCSI_PROC_FS=y
536 590
537# 591#
538# SCSI support type (disk, tape, CD-ROM) 592# SCSI support type (disk, tape, CD-ROM)
539# 593#
540# CONFIG_BLK_DEV_SD is not set 594CONFIG_BLK_DEV_SD=y
541# CONFIG_CHR_DEV_ST is not set 595# CONFIG_CHR_DEV_ST is not set
542# CONFIG_CHR_DEV_OSST is not set 596# CONFIG_CHR_DEV_OSST is not set
543# CONFIG_BLK_DEV_SR is not set 597# CONFIG_BLK_DEV_SR is not set
@@ -550,22 +604,21 @@ CONFIG_SCSI_PROC_FS=y
550# CONFIG_SCSI_MULTI_LUN is not set 604# CONFIG_SCSI_MULTI_LUN is not set
551# CONFIG_SCSI_CONSTANTS is not set 605# CONFIG_SCSI_CONSTANTS is not set
552# CONFIG_SCSI_LOGGING is not set 606# CONFIG_SCSI_LOGGING is not set
553CONFIG_SCSI_SCAN_ASYNC=y 607# CONFIG_SCSI_SCAN_ASYNC is not set
554 608
555# 609#
556# SCSI Transports 610# SCSI Transports
557# 611#
558# CONFIG_SCSI_SPI_ATTRS is not set 612# CONFIG_SCSI_SPI_ATTRS is not set
559CONFIG_SCSI_FC_ATTRS=m 613# CONFIG_SCSI_FC_ATTRS is not set
560CONFIG_SCSI_ISCSI_ATTRS=m 614# CONFIG_SCSI_ISCSI_ATTRS is not set
561CONFIG_SCSI_SAS_ATTRS=m 615# CONFIG_SCSI_SAS_ATTRS is not set
562CONFIG_SCSI_SAS_LIBSAS=m 616# CONFIG_SCSI_SAS_LIBSAS is not set
563# CONFIG_SCSI_SAS_LIBSAS_DEBUG is not set
564 617
565# 618#
566# SCSI low-level drivers 619# SCSI low-level drivers
567# 620#
568CONFIG_ISCSI_TCP=m 621# CONFIG_ISCSI_TCP is not set
569# CONFIG_BLK_DEV_3W_XXXX_RAID is not set 622# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
570# CONFIG_SCSI_3W_9XXX is not set 623# CONFIG_SCSI_3W_9XXX is not set
571# CONFIG_SCSI_ACARD is not set 624# CONFIG_SCSI_ACARD is not set
@@ -573,8 +626,7 @@ CONFIG_ISCSI_TCP=m
573# CONFIG_SCSI_AIC7XXX is not set 626# CONFIG_SCSI_AIC7XXX is not set
574# CONFIG_SCSI_AIC7XXX_OLD is not set 627# CONFIG_SCSI_AIC7XXX_OLD is not set
575# CONFIG_SCSI_AIC79XX is not set 628# CONFIG_SCSI_AIC79XX is not set
576CONFIG_SCSI_AIC94XX=m 629# CONFIG_SCSI_AIC94XX is not set
577# CONFIG_AIC94XX_DEBUG is not set
578# CONFIG_SCSI_DPT_I2O is not set 630# CONFIG_SCSI_DPT_I2O is not set
579# CONFIG_SCSI_ARCMSR is not set 631# CONFIG_SCSI_ARCMSR is not set
580# CONFIG_MEGARAID_NEWGEN is not set 632# CONFIG_MEGARAID_NEWGEN is not set
@@ -630,10 +682,10 @@ CONFIG_SCSI_AIC94XX=m
630# Network device support 682# Network device support
631# 683#
632CONFIG_NETDEVICES=y 684CONFIG_NETDEVICES=y
633# CONFIG_DUMMY is not set 685CONFIG_DUMMY=y
634# CONFIG_BONDING is not set 686# CONFIG_BONDING is not set
635# CONFIG_EQUALIZER is not set 687# CONFIG_EQUALIZER is not set
636CONFIG_TUN=m 688# CONFIG_TUN is not set
637 689
638# 690#
639# ARCnet devices 691# ARCnet devices
@@ -643,26 +695,16 @@ CONFIG_TUN=m
643# 695#
644# PHY device support 696# PHY device support
645# 697#
646CONFIG_PHYLIB=m 698# CONFIG_PHYLIB is not set
647
648#
649# MII PHY device drivers
650#
651CONFIG_MARVELL_PHY=m
652CONFIG_DAVICOM_PHY=m
653CONFIG_QSEMI_PHY=m
654CONFIG_LXT_PHY=m
655CONFIG_CICADA_PHY=m
656CONFIG_VITESSE_PHY=m
657CONFIG_SMSC_PHY=m
658# CONFIG_BROADCOM_PHY is not set
659# CONFIG_FIXED_PHY is not set
660 699
661# 700#
662# Ethernet (10 or 100Mbit) 701# Ethernet (10 or 100Mbit)
663# 702#
664CONFIG_NET_ETHERNET=y 703CONFIG_NET_ETHERNET=y
665CONFIG_MII=y 704CONFIG_MII=y
705CONFIG_MSPETH=y
706CONFIG_MSPETH_NAPI=y
707# CONFIG_MSPETH_SKB_RECYCLE is not set
666# CONFIG_HAPPYMEAL is not set 708# CONFIG_HAPPYMEAL is not set
667# CONFIG_SUNGEM is not set 709# CONFIG_SUNGEM is not set
668# CONFIG_CASSINI is not set 710# CONFIG_CASSINI is not set
@@ -674,26 +716,7 @@ CONFIG_MII=y
674# 716#
675# CONFIG_NET_TULIP is not set 717# CONFIG_NET_TULIP is not set
676# CONFIG_HP100 is not set 718# CONFIG_HP100 is not set
677CONFIG_NET_PCI=y 719# CONFIG_NET_PCI is not set
678# CONFIG_PCNET32 is not set
679# CONFIG_AMD8111_ETH is not set
680# CONFIG_ADAPTEC_STARFIRE is not set
681# CONFIG_B44 is not set
682# CONFIG_FORCEDETH is not set
683# CONFIG_DGRS is not set
684# CONFIG_EEPRO100 is not set
685CONFIG_E100=y
686# CONFIG_FEALNX is not set
687# CONFIG_NATSEMI is not set
688# CONFIG_NE2K_PCI is not set
689# CONFIG_8139CP is not set
690# CONFIG_8139TOO is not set
691# CONFIG_SIS900 is not set
692# CONFIG_EPIC100 is not set
693# CONFIG_SUNDANCE is not set
694# CONFIG_TLAN is not set
695# CONFIG_VIA_RHINE is not set
696# CONFIG_SC92031 is not set
697 720
698# 721#
699# Ethernet (1000 Mbit) 722# Ethernet (1000 Mbit)
@@ -709,22 +732,20 @@ CONFIG_E100=y
709# CONFIG_SKGE is not set 732# CONFIG_SKGE is not set
710# CONFIG_SKY2 is not set 733# CONFIG_SKY2 is not set
711# CONFIG_SK98LIN is not set 734# CONFIG_SK98LIN is not set
712# CONFIG_VIA_VELOCITY is not set
713# CONFIG_TIGON3 is not set 735# CONFIG_TIGON3 is not set
714# CONFIG_BNX2 is not set 736# CONFIG_BNX2 is not set
715CONFIG_MV643XX_ETH=y 737# CONFIG_QLA3XXX is not set
716CONFIG_QLA3XXX=m
717# CONFIG_ATL1 is not set 738# CONFIG_ATL1 is not set
718 739
719# 740#
720# Ethernet (10000 Mbit) 741# Ethernet (10000 Mbit)
721# 742#
722# CONFIG_CHELSIO_T1 is not set 743# CONFIG_CHELSIO_T1 is not set
723CONFIG_CHELSIO_T3=m 744# CONFIG_CHELSIO_T3 is not set
724# CONFIG_IXGB is not set 745# CONFIG_IXGB is not set
725# CONFIG_S2IO is not set 746# CONFIG_S2IO is not set
726# CONFIG_MYRI10GE is not set 747# CONFIG_MYRI10GE is not set
727CONFIG_NETXEN_NIC=m 748# CONFIG_NETXEN_NIC is not set
728 749
729# 750#
730# Token Ring devices 751# Token Ring devices
@@ -734,7 +755,29 @@ CONFIG_NETXEN_NIC=m
734# 755#
735# Wireless LAN (non-hamradio) 756# Wireless LAN (non-hamradio)
736# 757#
737# CONFIG_NET_RADIO is not set 758CONFIG_NET_RADIO=y
759# CONFIG_NET_WIRELESS_RTNETLINK is not set
760
761#
762# Obsolete Wireless cards support (pre-802.11)
763#
764# CONFIG_STRIP is not set
765
766#
767# Wireless 802.11b ISA/PCI cards support
768#
769# CONFIG_IPW2100 is not set
770# CONFIG_IPW2200 is not set
771# CONFIG_HERMES is not set
772# CONFIG_ATMEL is not set
773
774#
775# Prism GT/Duette 802.11(a/b/g) PCI/Cardbus support
776#
777# CONFIG_PRISM54 is not set
778# CONFIG_USB_ZD1201 is not set
779# CONFIG_HOSTAP is not set
780CONFIG_NET_WIRELESS=y
738 781
739# 782#
740# Wan interfaces 783# Wan interfaces
@@ -742,17 +785,17 @@ CONFIG_NETXEN_NIC=m
742# CONFIG_WAN is not set 785# CONFIG_WAN is not set
743# CONFIG_FDDI is not set 786# CONFIG_FDDI is not set
744# CONFIG_HIPPI is not set 787# CONFIG_HIPPI is not set
745CONFIG_PPP=m 788CONFIG_PPP=y
746# CONFIG_PPP_MULTILINK is not set 789# CONFIG_PPP_MULTILINK is not set
747# CONFIG_PPP_FILTER is not set 790# CONFIG_PPP_FILTER is not set
748CONFIG_PPP_ASYNC=m 791# CONFIG_PPP_ASYNC is not set
749CONFIG_PPP_SYNC_TTY=m 792# CONFIG_PPP_SYNC_TTY is not set
750CONFIG_PPP_DEFLATE=m 793# CONFIG_PPP_DEFLATE is not set
751# CONFIG_PPP_BSDCOMP is not set 794# CONFIG_PPP_BSDCOMP is not set
752CONFIG_PPP_MPPE=m 795# CONFIG_PPP_MPPE is not set
753CONFIG_PPPOE=m 796# CONFIG_PPPOE is not set
754# CONFIG_SLIP is not set 797# CONFIG_SLIP is not set
755CONFIG_SLHC=m 798CONFIG_SLHC=y
756# CONFIG_NET_FC is not set 799# CONFIG_NET_FC is not set
757# CONFIG_SHAPER is not set 800# CONFIG_SHAPER is not set
758# CONFIG_NETCONSOLE is not set 801# CONFIG_NETCONSOLE is not set
@@ -796,31 +839,24 @@ CONFIG_INPUT=y
796# 839#
797# Hardware I/O ports 840# Hardware I/O ports
798# 841#
799CONFIG_SERIO=y 842# CONFIG_SERIO is not set
800# CONFIG_SERIO_I8042 is not set
801# CONFIG_SERIO_SERPORT is not set
802# CONFIG_SERIO_PCIPS2 is not set
803# CONFIG_SERIO_LIBPS2 is not set
804# CONFIG_SERIO_RAW is not set
805# CONFIG_GAMEPORT is not set 843# CONFIG_GAMEPORT is not set
806 844
807# 845#
808# Character devices 846# Character devices
809# 847#
810CONFIG_VT=y 848# CONFIG_VT is not set
811CONFIG_VT_CONSOLE=y
812CONFIG_HW_CONSOLE=y
813CONFIG_VT_HW_CONSOLE_BINDING=y
814# CONFIG_SERIAL_NONSTANDARD is not set 849# CONFIG_SERIAL_NONSTANDARD is not set
850CONFIG_PMCMSP_GPIO=y
815 851
816# 852#
817# Serial drivers 853# Serial drivers
818# 854#
819CONFIG_SERIAL_8250=y 855CONFIG_SERIAL_8250=y
820CONFIG_SERIAL_8250_CONSOLE=y 856CONFIG_SERIAL_8250_CONSOLE=y
821CONFIG_SERIAL_8250_PCI=y 857# CONFIG_SERIAL_8250_PCI is not set
822CONFIG_SERIAL_8250_NR_UARTS=4 858CONFIG_SERIAL_8250_NR_UARTS=2
823CONFIG_SERIAL_8250_RUNTIME_UARTS=4 859CONFIG_SERIAL_8250_RUNTIME_UARTS=2
824# CONFIG_SERIAL_8250_EXTENDED is not set 860# CONFIG_SERIAL_8250_EXTENDED is not set
825 861
826# 862#
@@ -830,8 +866,7 @@ CONFIG_SERIAL_CORE=y
830CONFIG_SERIAL_CORE_CONSOLE=y 866CONFIG_SERIAL_CORE_CONSOLE=y
831# CONFIG_SERIAL_JSM is not set 867# CONFIG_SERIAL_JSM is not set
832CONFIG_UNIX98_PTYS=y 868CONFIG_UNIX98_PTYS=y
833CONFIG_LEGACY_PTYS=y 869# CONFIG_LEGACY_PTYS is not set
834CONFIG_LEGACY_PTY_COUNT=256
835 870
836# 871#
837# IPMI 872# IPMI
@@ -843,7 +878,8 @@ CONFIG_LEGACY_PTY_COUNT=256
843# 878#
844# CONFIG_WATCHDOG is not set 879# CONFIG_WATCHDOG is not set
845# CONFIG_HW_RANDOM is not set 880# CONFIG_HW_RANDOM is not set
846CONFIG_RTC=y 881# CONFIG_RTC is not set
882# CONFIG_GEN_RTC is not set
847# CONFIG_DTLK is not set 883# CONFIG_DTLK is not set
848# CONFIG_R3964 is not set 884# CONFIG_R3964 is not set
849# CONFIG_APPLICOM is not set 885# CONFIG_APPLICOM is not set
@@ -858,7 +894,58 @@ CONFIG_RTC=y
858# 894#
859# I2C support 895# I2C support
860# 896#
861# CONFIG_I2C is not set 897CONFIG_I2C=y
898CONFIG_I2C_CHARDEV=y
899
900#
901# I2C Algorithms
902#
903# CONFIG_I2C_ALGOBIT is not set
904# CONFIG_I2C_ALGOPCF is not set
905# CONFIG_I2C_ALGOPCA is not set
906
907#
908# I2C Hardware Bus support
909#
910# CONFIG_I2C_ALI1535 is not set
911# CONFIG_I2C_ALI1563 is not set
912# CONFIG_I2C_ALI15X3 is not set
913# CONFIG_I2C_AMD756 is not set
914# CONFIG_I2C_AMD8111 is not set
915# CONFIG_I2C_I801 is not set
916# CONFIG_I2C_I810 is not set
917# CONFIG_I2C_PIIX4 is not set
918# CONFIG_I2C_NFORCE2 is not set
919# CONFIG_I2C_OCORES is not set
920# CONFIG_I2C_PARPORT_LIGHT is not set
921# CONFIG_I2C_PASEMI is not set
922# CONFIG_I2C_PROSAVAGE is not set
923# CONFIG_I2C_SAVAGE4 is not set
924# CONFIG_I2C_SIS5595 is not set
925# CONFIG_I2C_SIS630 is not set
926# CONFIG_I2C_SIS96X is not set
927# CONFIG_I2C_STUB is not set
928# CONFIG_I2C_VIA is not set
929# CONFIG_I2C_VIAPRO is not set
930# CONFIG_I2C_VOODOO3 is not set
931# CONFIG_I2C_PCA_ISA is not set
932CONFIG_I2C_PMCMSP=y
933
934#
935# Miscellaneous I2C Chip support
936#
937# CONFIG_SENSORS_DS1337 is not set
938# CONFIG_SENSORS_DS1374 is not set
939# CONFIG_SENSORS_EEPROM is not set
940# CONFIG_SENSORS_PCF8574 is not set
941CONFIG_PMCTWILED=y
942# CONFIG_SENSORS_PCA9539 is not set
943# CONFIG_SENSORS_PCF8591 is not set
944# CONFIG_SENSORS_MAX6875 is not set
945# CONFIG_I2C_DEBUG_CORE is not set
946# CONFIG_I2C_DEBUG_ALGO is not set
947# CONFIG_I2C_DEBUG_BUS is not set
948# CONFIG_I2C_DEBUG_CHIP is not set
862 949
863# 950#
864# SPI support 951# SPI support
@@ -874,8 +961,57 @@ CONFIG_RTC=y
874# 961#
875# Hardware Monitoring support 962# Hardware Monitoring support
876# 963#
877# CONFIG_HWMON is not set 964CONFIG_HWMON=y
878# CONFIG_HWMON_VID is not set 965# CONFIG_HWMON_VID is not set
966# CONFIG_SENSORS_ABITUGURU is not set
967# CONFIG_SENSORS_ADM1021 is not set
968# CONFIG_SENSORS_ADM1025 is not set
969# CONFIG_SENSORS_ADM1026 is not set
970# CONFIG_SENSORS_ADM1029 is not set
971# CONFIG_SENSORS_ADM1031 is not set
972# CONFIG_SENSORS_ADM9240 is not set
973# CONFIG_SENSORS_ASB100 is not set
974# CONFIG_SENSORS_ATXP1 is not set
975# CONFIG_SENSORS_DS1621 is not set
976# CONFIG_SENSORS_F71805F is not set
977# CONFIG_SENSORS_FSCHER is not set
978# CONFIG_SENSORS_FSCPOS is not set
979# CONFIG_SENSORS_GL518SM is not set
980# CONFIG_SENSORS_GL520SM is not set
981# CONFIG_SENSORS_IT87 is not set
982# CONFIG_SENSORS_LM63 is not set
983# CONFIG_SENSORS_LM75 is not set
984# CONFIG_SENSORS_LM77 is not set
985# CONFIG_SENSORS_LM78 is not set
986# CONFIG_SENSORS_LM80 is not set
987# CONFIG_SENSORS_LM83 is not set
988# CONFIG_SENSORS_LM85 is not set
989# CONFIG_SENSORS_LM87 is not set
990# CONFIG_SENSORS_LM90 is not set
991# CONFIG_SENSORS_LM92 is not set
992# CONFIG_SENSORS_MAX1619 is not set
993# CONFIG_SENSORS_PC87360 is not set
994# CONFIG_SENSORS_PC87427 is not set
995# CONFIG_SENSORS_SIS5595 is not set
996# CONFIG_SENSORS_SMSC47M1 is not set
997# CONFIG_SENSORS_SMSC47M192 is not set
998# CONFIG_SENSORS_SMSC47B397 is not set
999# CONFIG_SENSORS_VIA686A is not set
1000# CONFIG_SENSORS_VT1211 is not set
1001# CONFIG_SENSORS_VT8231 is not set
1002# CONFIG_SENSORS_W83781D is not set
1003# CONFIG_SENSORS_W83791D is not set
1004# CONFIG_SENSORS_W83792D is not set
1005# CONFIG_SENSORS_W83793 is not set
1006# CONFIG_SENSORS_W83L785TS is not set
1007# CONFIG_SENSORS_W83627HF is not set
1008# CONFIG_SENSORS_W83627EHF is not set
1009# CONFIG_HWMON_DEBUG_CHIP is not set
1010
1011#
1012# Multifunction device drivers
1013#
1014# CONFIG_MFD_SM501 is not set
879 1015
880# 1016#
881# Multimedia devices 1017# Multimedia devices
@@ -886,62 +1022,13 @@ CONFIG_RTC=y
886# Digital Video Broadcasting Devices 1022# Digital Video Broadcasting Devices
887# 1023#
888# CONFIG_DVB is not set 1024# CONFIG_DVB is not set
1025# CONFIG_USB_DABUSB is not set
889 1026
890# 1027#
891# Graphics support 1028# Graphics support
892# 1029#
893# CONFIG_FIRMWARE_EDID is not set
894CONFIG_FB=y
895# CONFIG_FB_CFB_FILLRECT is not set
896# CONFIG_FB_CFB_COPYAREA is not set
897# CONFIG_FB_CFB_IMAGEBLIT is not set
898# CONFIG_FB_SVGALIB is not set
899# CONFIG_FB_MACMODES is not set
900# CONFIG_FB_BACKLIGHT is not set
901CONFIG_FB_MODE_HELPERS=y
902# CONFIG_FB_TILEBLITTING is not set
903# CONFIG_FB_CIRRUS is not set
904# CONFIG_FB_PM2 is not set
905# CONFIG_FB_CYBER2000 is not set
906# CONFIG_FB_ASILIANT is not set
907# CONFIG_FB_IMSTT is not set
908# CONFIG_FB_S1D13XXX is not set
909# CONFIG_FB_NVIDIA is not set
910# CONFIG_FB_RIVA is not set
911# CONFIG_FB_MATROX is not set
912# CONFIG_FB_RADEON is not set
913# CONFIG_FB_ATY128 is not set
914# CONFIG_FB_ATY is not set
915# CONFIG_FB_S3 is not set
916# CONFIG_FB_SAVAGE is not set
917# CONFIG_FB_SIS is not set
918# CONFIG_FB_NEOMAGIC is not set
919# CONFIG_FB_KYRO is not set
920# CONFIG_FB_3DFX is not set
921# CONFIG_FB_VOODOO1 is not set
922# CONFIG_FB_SMIVGX is not set
923# CONFIG_FB_TRIDENT is not set
924# CONFIG_FB_VIRTUAL is not set
925
926#
927# Console display driver support
928#
929# CONFIG_VGA_CONSOLE is not set
930CONFIG_DUMMY_CONSOLE=y
931CONFIG_FRAMEBUFFER_CONSOLE=y
932# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
933# CONFIG_FONTS is not set
934CONFIG_FONT_8x8=y
935CONFIG_FONT_8x16=y
936
937#
938# Logo configuration
939#
940CONFIG_LOGO=y
941CONFIG_LOGO_LINUX_MONO=y
942CONFIG_LOGO_LINUX_VGA16=y
943CONFIG_LOGO_LINUX_CLUT224=y
944# CONFIG_BACKLIGHT_LCD_SUPPORT is not set 1030# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
1031# CONFIG_FB is not set
945 1032
946# 1033#
947# Sound 1034# Sound
@@ -960,13 +1047,134 @@ CONFIG_HID=y
960CONFIG_USB_ARCH_HAS_HCD=y 1047CONFIG_USB_ARCH_HAS_HCD=y
961CONFIG_USB_ARCH_HAS_OHCI=y 1048CONFIG_USB_ARCH_HAS_OHCI=y
962CONFIG_USB_ARCH_HAS_EHCI=y 1049CONFIG_USB_ARCH_HAS_EHCI=y
963# CONFIG_USB is not set 1050CONFIG_USB=y
1051# CONFIG_USB_DEBUG is not set
1052
1053#
1054# Miscellaneous USB options
1055#
1056CONFIG_USB_DEVICEFS=y
1057# CONFIG_USB_DYNAMIC_MINORS is not set
1058# CONFIG_USB_OTG is not set
1059
1060#
1061# USB Host Controller Drivers
1062#
1063CONFIG_USB_EHCI_HCD=y
1064# CONFIG_USB_EHCI_SPLIT_ISO is not set
1065CONFIG_USB_EHCI_ROOT_HUB_TT=y
1066# CONFIG_USB_EHCI_TT_NEWSCHED is not set
1067# CONFIG_USB_EHCI_BIG_ENDIAN_MMIO is not set
1068# CONFIG_USB_ISP116X_HCD is not set
1069# CONFIG_USB_OHCI_HCD is not set
1070# CONFIG_USB_UHCI_HCD is not set
1071# CONFIG_USB_SL811_HCD is not set
1072
1073#
1074# USB Device Class drivers
1075#
1076# CONFIG_USB_ACM is not set
1077# CONFIG_USB_PRINTER is not set
964 1078
965# 1079#
966# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 1080# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
967# 1081#
968 1082
969# 1083#
1084# may also be needed; see USB_STORAGE Help for more information
1085#
1086CONFIG_USB_STORAGE=y
1087# CONFIG_USB_STORAGE_DEBUG is not set
1088# CONFIG_USB_STORAGE_DATAFAB is not set
1089# CONFIG_USB_STORAGE_FREECOM is not set
1090# CONFIG_USB_STORAGE_DPCM is not set
1091# CONFIG_USB_STORAGE_USBAT is not set
1092# CONFIG_USB_STORAGE_SDDR09 is not set
1093# CONFIG_USB_STORAGE_SDDR55 is not set
1094# CONFIG_USB_STORAGE_JUMPSHOT is not set
1095# CONFIG_USB_STORAGE_ALAUDA is not set
1096# CONFIG_USB_STORAGE_KARMA is not set
1097# CONFIG_USB_LIBUSUAL is not set
1098
1099#
1100# USB Input Devices
1101#
1102# CONFIG_USB_HID is not set
1103
1104#
1105# USB HID Boot Protocol drivers
1106#
1107# CONFIG_USB_KBD is not set
1108# CONFIG_USB_MOUSE is not set
1109# CONFIG_USB_AIPTEK is not set
1110# CONFIG_USB_WACOM is not set
1111# CONFIG_USB_ACECAD is not set
1112# CONFIG_USB_KBTAB is not set
1113# CONFIG_USB_POWERMATE is not set
1114# CONFIG_USB_TOUCHSCREEN is not set
1115# CONFIG_USB_YEALINK is not set
1116# CONFIG_USB_XPAD is not set
1117# CONFIG_USB_ATI_REMOTE is not set
1118# CONFIG_USB_ATI_REMOTE2 is not set
1119# CONFIG_USB_KEYSPAN_REMOTE is not set
1120# CONFIG_USB_APPLETOUCH is not set
1121# CONFIG_USB_GTCO is not set
1122
1123#
1124# USB Imaging devices
1125#
1126# CONFIG_USB_MDC800 is not set
1127# CONFIG_USB_MICROTEK is not set
1128
1129#
1130# USB Network Adapters
1131#
1132# CONFIG_USB_CATC is not set
1133# CONFIG_USB_KAWETH is not set
1134# CONFIG_USB_PEGASUS is not set
1135# CONFIG_USB_RTL8150 is not set
1136# CONFIG_USB_USBNET_MII is not set
1137# CONFIG_USB_USBNET is not set
1138CONFIG_USB_MON=y
1139
1140#
1141# USB port drivers
1142#
1143
1144#
1145# USB Serial Converter support
1146#
1147# CONFIG_USB_SERIAL is not set
1148
1149#
1150# USB Miscellaneous drivers
1151#
1152# CONFIG_USB_EMI62 is not set
1153# CONFIG_USB_EMI26 is not set
1154# CONFIG_USB_ADUTUX is not set
1155# CONFIG_USB_AUERSWALD is not set
1156# CONFIG_USB_RIO500 is not set
1157# CONFIG_USB_LEGOTOWER is not set
1158# CONFIG_USB_LCD is not set
1159# CONFIG_USB_BERRY_CHARGE is not set
1160# CONFIG_USB_LED is not set
1161# CONFIG_USB_CYPRESS_CY7C63 is not set
1162# CONFIG_USB_CYTHERM is not set
1163# CONFIG_USB_PHIDGET is not set
1164# CONFIG_USB_IDMOUSE is not set
1165# CONFIG_USB_FTDI_ELAN is not set
1166# CONFIG_USB_APPLEDISPLAY is not set
1167# CONFIG_USB_SISUSBVGA is not set
1168# CONFIG_USB_LD is not set
1169# CONFIG_USB_TRANCEVIBRATOR is not set
1170# CONFIG_USB_IOWARRIOR is not set
1171# CONFIG_USB_TEST is not set
1172
1173#
1174# USB DSL modem support
1175#
1176
1177#
970# USB Gadget Support 1178# USB Gadget Support
971# 1179#
972# CONFIG_USB_GADGET is not set 1180# CONFIG_USB_GADGET is not set
@@ -1030,37 +1238,22 @@ CONFIG_USB_ARCH_HAS_EHCI=y
1030CONFIG_EXT2_FS=y 1238CONFIG_EXT2_FS=y
1031# CONFIG_EXT2_FS_XATTR is not set 1239# CONFIG_EXT2_FS_XATTR is not set
1032# CONFIG_EXT2_FS_XIP is not set 1240# CONFIG_EXT2_FS_XIP is not set
1033CONFIG_EXT3_FS=m 1241# CONFIG_EXT3_FS is not set
1034CONFIG_EXT3_FS_XATTR=y
1035# CONFIG_EXT3_FS_POSIX_ACL is not set
1036# CONFIG_EXT3_FS_SECURITY is not set
1037# CONFIG_EXT4DEV_FS is not set 1242# CONFIG_EXT4DEV_FS is not set
1038CONFIG_JBD=m 1243# CONFIG_REISERFS_FS is not set
1039# CONFIG_JBD_DEBUG is not set
1040CONFIG_FS_MBCACHE=y
1041CONFIG_REISERFS_FS=m
1042# CONFIG_REISERFS_CHECK is not set
1043# CONFIG_REISERFS_PROC_INFO is not set
1044# CONFIG_REISERFS_FS_XATTR is not set
1045# CONFIG_JFS_FS is not set 1244# CONFIG_JFS_FS is not set
1046CONFIG_FS_POSIX_ACL=y 1245# CONFIG_FS_POSIX_ACL is not set
1047CONFIG_XFS_FS=m 1246# CONFIG_XFS_FS is not set
1048# CONFIG_XFS_QUOTA is not set
1049# CONFIG_XFS_SECURITY is not set
1050# CONFIG_XFS_POSIX_ACL is not set
1051# CONFIG_XFS_RT is not set
1052# CONFIG_GFS2_FS is not set 1247# CONFIG_GFS2_FS is not set
1053# CONFIG_OCFS2_FS is not set 1248# CONFIG_OCFS2_FS is not set
1054# CONFIG_MINIX_FS is not set 1249# CONFIG_MINIX_FS is not set
1055# CONFIG_ROMFS_FS is not set 1250# CONFIG_ROMFS_FS is not set
1056CONFIG_INOTIFY=y 1251# CONFIG_INOTIFY is not set
1057CONFIG_INOTIFY_USER=y
1058# CONFIG_QUOTA is not set 1252# CONFIG_QUOTA is not set
1059CONFIG_DNOTIFY=y 1253# CONFIG_DNOTIFY is not set
1060CONFIG_AUTOFS_FS=y 1254# CONFIG_AUTOFS_FS is not set
1061CONFIG_AUTOFS4_FS=m 1255# CONFIG_AUTOFS4_FS is not set
1062CONFIG_FUSE_FS=m 1256# CONFIG_FUSE_FS is not set
1063CONFIG_GENERIC_ACL=y
1064 1257
1065# 1258#
1066# CD-ROM/DVD Filesystems 1259# CD-ROM/DVD Filesystems
@@ -1071,22 +1264,25 @@ CONFIG_GENERIC_ACL=y
1071# 1264#
1072# DOS/FAT/NT Filesystems 1265# DOS/FAT/NT Filesystems
1073# 1266#
1074# CONFIG_MSDOS_FS is not set 1267CONFIG_FAT_FS=y
1075# CONFIG_VFAT_FS is not set 1268CONFIG_MSDOS_FS=y
1269CONFIG_VFAT_FS=y
1270CONFIG_FAT_DEFAULT_CODEPAGE=437
1271CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
1076# CONFIG_NTFS_FS is not set 1272# CONFIG_NTFS_FS is not set
1077 1273
1078# 1274#
1079# Pseudo filesystems 1275# Pseudo filesystems
1080# 1276#
1081CONFIG_PROC_FS=y 1277CONFIG_PROC_FS=y
1082CONFIG_PROC_KCORE=y 1278# CONFIG_PROC_KCORE is not set
1083CONFIG_PROC_SYSCTL=y 1279CONFIG_PROC_SYSCTL=y
1084CONFIG_SYSFS=y 1280CONFIG_SYSFS=y
1085CONFIG_TMPFS=y 1281CONFIG_TMPFS=y
1086CONFIG_TMPFS_POSIX_ACL=y 1282# CONFIG_TMPFS_POSIX_ACL is not set
1087# CONFIG_HUGETLB_PAGE is not set 1283# CONFIG_HUGETLB_PAGE is not set
1088CONFIG_RAMFS=y 1284CONFIG_RAMFS=y
1089CONFIG_CONFIGFS_FS=m 1285# CONFIG_CONFIGFS_FS is not set
1090 1286
1091# 1287#
1092# Miscellaneous filesystems 1288# Miscellaneous filesystems
@@ -1097,8 +1293,21 @@ CONFIG_CONFIGFS_FS=m
1097# CONFIG_HFSPLUS_FS is not set 1293# CONFIG_HFSPLUS_FS is not set
1098# CONFIG_BEFS_FS is not set 1294# CONFIG_BEFS_FS is not set
1099# CONFIG_BFS_FS is not set 1295# CONFIG_BFS_FS is not set
1100CONFIG_EFS_FS=y 1296# CONFIG_EFS_FS is not set
1101CONFIG_CRAMFS=y 1297CONFIG_JFFS2_FS=y
1298CONFIG_JFFS2_FS_DEBUG=0
1299CONFIG_JFFS2_FS_WRITEBUFFER=y
1300# CONFIG_JFFS2_SUMMARY is not set
1301# CONFIG_JFFS2_FS_XATTR is not set
1302# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
1303CONFIG_JFFS2_ZLIB=y
1304CONFIG_JFFS2_RTIME=y
1305# CONFIG_JFFS2_RUBIN is not set
1306# CONFIG_CRAMFS is not set
1307CONFIG_SQUASHFS=y
1308CONFIG_SQUASHFS_EMBEDDED=y
1309CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
1310CONFIG_SQUASHFS_VMALLOC=y
1102# CONFIG_VXFS_FS is not set 1311# CONFIG_VXFS_FS is not set
1103# CONFIG_HPFS_FS is not set 1312# CONFIG_HPFS_FS is not set
1104# CONFIG_QNX4FS_FS is not set 1313# CONFIG_QNX4FS_FS is not set
@@ -1108,26 +1317,9 @@ CONFIG_CRAMFS=y
1108# 1317#
1109# Network File Systems 1318# Network File Systems
1110# 1319#
1111CONFIG_NFS_FS=y 1320# CONFIG_NFS_FS is not set
1112CONFIG_NFS_V3=y 1321# CONFIG_NFSD is not set
1113# CONFIG_NFS_V3_ACL is not set 1322# CONFIG_SMB_FS is not set
1114# CONFIG_NFS_V4 is not set
1115# CONFIG_NFS_DIRECTIO is not set
1116CONFIG_NFSD=y
1117CONFIG_NFSD_V3=y
1118# CONFIG_NFSD_V3_ACL is not set
1119# CONFIG_NFSD_V4 is not set
1120# CONFIG_NFSD_TCP is not set
1121CONFIG_ROOT_NFS=y
1122CONFIG_LOCKD=y
1123CONFIG_LOCKD_V4=y
1124CONFIG_EXPORTFS=y
1125CONFIG_NFS_COMMON=y
1126CONFIG_SUNRPC=y
1127# CONFIG_RPCSEC_GSS_KRB5 is not set
1128# CONFIG_RPCSEC_GSS_SPKM3 is not set
1129CONFIG_SMB_FS=m
1130# CONFIG_SMB_NLS_DEFAULT is not set
1131# CONFIG_CIFS is not set 1323# CONFIG_CIFS is not set
1132# CONFIG_NCP_FS is not set 1324# CONFIG_NCP_FS is not set
1133# CONFIG_CODA_FS is not set 1325# CONFIG_CODA_FS is not set
@@ -1143,9 +1335,9 @@ CONFIG_MSDOS_PARTITION=y
1143# 1335#
1144# Native Language Support 1336# Native Language Support
1145# 1337#
1146CONFIG_NLS=m 1338CONFIG_NLS=y
1147CONFIG_NLS_DEFAULT="iso8859-1" 1339CONFIG_NLS_DEFAULT="iso8859-1"
1148# CONFIG_NLS_CODEPAGE_437 is not set 1340CONFIG_NLS_CODEPAGE_437=y
1149# CONFIG_NLS_CODEPAGE_737 is not set 1341# CONFIG_NLS_CODEPAGE_737 is not set
1150# CONFIG_NLS_CODEPAGE_775 is not set 1342# CONFIG_NLS_CODEPAGE_775 is not set
1151# CONFIG_NLS_CODEPAGE_850 is not set 1343# CONFIG_NLS_CODEPAGE_850 is not set
@@ -1169,7 +1361,7 @@ CONFIG_NLS_DEFAULT="iso8859-1"
1169# CONFIG_NLS_CODEPAGE_1250 is not set 1361# CONFIG_NLS_CODEPAGE_1250 is not set
1170# CONFIG_NLS_CODEPAGE_1251 is not set 1362# CONFIG_NLS_CODEPAGE_1251 is not set
1171# CONFIG_NLS_ASCII is not set 1363# CONFIG_NLS_ASCII is not set
1172# CONFIG_NLS_ISO8859_1 is not set 1364CONFIG_NLS_ISO8859_1=y
1173# CONFIG_NLS_ISO8859_2 is not set 1365# CONFIG_NLS_ISO8859_2 is not set
1174# CONFIG_NLS_ISO8859_3 is not set 1366# CONFIG_NLS_ISO8859_3 is not set
1175# CONFIG_NLS_ISO8859_4 is not set 1367# CONFIG_NLS_ISO8859_4 is not set
@@ -1187,10 +1379,7 @@ CONFIG_NLS_DEFAULT="iso8859-1"
1187# 1379#
1188# Distributed Lock Manager 1380# Distributed Lock Manager
1189# 1381#
1190CONFIG_DLM=m 1382# CONFIG_DLM is not set
1191CONFIG_DLM_TCP=y
1192# CONFIG_DLM_SCTP is not set
1193# CONFIG_DLM_DEBUG is not set
1194 1383
1195# 1384#
1196# Profiling support 1385# Profiling support
@@ -1203,14 +1392,40 @@ CONFIG_DLM_TCP=y
1203CONFIG_TRACE_IRQFLAGS_SUPPORT=y 1392CONFIG_TRACE_IRQFLAGS_SUPPORT=y
1204# CONFIG_PRINTK_TIME is not set 1393# CONFIG_PRINTK_TIME is not set
1205CONFIG_ENABLE_MUST_CHECK=y 1394CONFIG_ENABLE_MUST_CHECK=y
1206# CONFIG_MAGIC_SYSRQ is not set 1395CONFIG_MAGIC_SYSRQ=y
1207# CONFIG_UNUSED_SYMBOLS is not set 1396# CONFIG_UNUSED_SYMBOLS is not set
1208# CONFIG_DEBUG_FS is not set 1397# CONFIG_DEBUG_FS is not set
1209# CONFIG_HEADERS_CHECK is not set 1398# CONFIG_HEADERS_CHECK is not set
1210# CONFIG_DEBUG_KERNEL is not set 1399CONFIG_DEBUG_KERNEL=y
1400# CONFIG_DEBUG_SHIRQ is not set
1211CONFIG_LOG_BUF_SHIFT=14 1401CONFIG_LOG_BUF_SHIFT=14
1402CONFIG_DETECT_SOFTLOCKUP=y
1403# CONFIG_SCHEDSTATS is not set
1404# CONFIG_TIMER_STATS is not set
1405# CONFIG_DEBUG_SLAB is not set
1406CONFIG_DEBUG_PREEMPT=y
1407# CONFIG_DEBUG_RT_MUTEXES is not set
1408# CONFIG_RT_MUTEX_TESTER is not set
1409# CONFIG_DEBUG_SPINLOCK is not set
1410# CONFIG_DEBUG_MUTEXES is not set
1411# CONFIG_DEBUG_LOCK_ALLOC is not set
1412# CONFIG_PROVE_LOCKING is not set
1413# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1414# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1415# CONFIG_DEBUG_KOBJECT is not set
1416# CONFIG_DEBUG_INFO is not set
1417# CONFIG_DEBUG_VM is not set
1418# CONFIG_DEBUG_LIST is not set
1419CONFIG_FORCED_INLINING=y
1420# CONFIG_RCU_TORTURE_TEST is not set
1421# CONFIG_FAULT_INJECTION is not set
1212CONFIG_CROSSCOMPILE=y 1422CONFIG_CROSSCOMPILE=y
1213CONFIG_CMDLINE="ip=any root=nfs" 1423CONFIG_CMDLINE=""
1424# CONFIG_DEBUG_STACK_USAGE is not set
1425# CONFIG_KGDB is not set
1426CONFIG_SYS_SUPPORTS_KGDB=y
1427# CONFIG_RUNTIME_DEBUG is not set
1428# CONFIG_MIPS_UNCACHED is not set
1214 1429
1215# 1430#
1216# Security options 1431# Security options
@@ -1223,41 +1438,40 @@ CONFIG_CMDLINE="ip=any root=nfs"
1223# 1438#
1224CONFIG_CRYPTO=y 1439CONFIG_CRYPTO=y
1225CONFIG_CRYPTO_ALGAPI=y 1440CONFIG_CRYPTO_ALGAPI=y
1226CONFIG_CRYPTO_BLKCIPHER=m 1441CONFIG_CRYPTO_BLKCIPHER=y
1227CONFIG_CRYPTO_HASH=y 1442CONFIG_CRYPTO_HASH=y
1228CONFIG_CRYPTO_MANAGER=y 1443CONFIG_CRYPTO_MANAGER=y
1229CONFIG_CRYPTO_HMAC=y 1444CONFIG_CRYPTO_HMAC=y
1230CONFIG_CRYPTO_XCBC=m 1445# CONFIG_CRYPTO_XCBC is not set
1231CONFIG_CRYPTO_NULL=m 1446CONFIG_CRYPTO_NULL=y
1232CONFIG_CRYPTO_MD4=m 1447# CONFIG_CRYPTO_MD4 is not set
1233CONFIG_CRYPTO_MD5=y 1448CONFIG_CRYPTO_MD5=y
1234CONFIG_CRYPTO_SHA1=m 1449CONFIG_CRYPTO_SHA1=y
1235CONFIG_CRYPTO_SHA256=m 1450# CONFIG_CRYPTO_SHA256 is not set
1236CONFIG_CRYPTO_SHA512=m 1451# CONFIG_CRYPTO_SHA512 is not set
1237CONFIG_CRYPTO_WP512=m 1452# CONFIG_CRYPTO_WP512 is not set
1238CONFIG_CRYPTO_TGR192=m 1453# CONFIG_CRYPTO_TGR192 is not set
1239CONFIG_CRYPTO_GF128MUL=m 1454# CONFIG_CRYPTO_GF128MUL is not set
1240CONFIG_CRYPTO_ECB=m 1455# CONFIG_CRYPTO_ECB is not set
1241CONFIG_CRYPTO_CBC=m 1456CONFIG_CRYPTO_CBC=y
1242CONFIG_CRYPTO_PCBC=m 1457# CONFIG_CRYPTO_PCBC is not set
1243CONFIG_CRYPTO_LRW=m 1458# CONFIG_CRYPTO_LRW is not set
1244CONFIG_CRYPTO_DES=m 1459CONFIG_CRYPTO_DES=y
1245CONFIG_CRYPTO_FCRYPT=m 1460# CONFIG_CRYPTO_FCRYPT is not set
1246CONFIG_CRYPTO_BLOWFISH=m 1461# CONFIG_CRYPTO_BLOWFISH is not set
1247CONFIG_CRYPTO_TWOFISH=m 1462# CONFIG_CRYPTO_TWOFISH is not set
1248CONFIG_CRYPTO_TWOFISH_COMMON=m 1463# CONFIG_CRYPTO_SERPENT is not set
1249CONFIG_CRYPTO_SERPENT=m 1464CONFIG_CRYPTO_AES=y
1250CONFIG_CRYPTO_AES=m 1465# CONFIG_CRYPTO_CAST5 is not set
1251CONFIG_CRYPTO_CAST5=m 1466# CONFIG_CRYPTO_CAST6 is not set
1252CONFIG_CRYPTO_CAST6=m 1467# CONFIG_CRYPTO_TEA is not set
1253CONFIG_CRYPTO_TEA=m 1468# CONFIG_CRYPTO_ARC4 is not set
1254CONFIG_CRYPTO_ARC4=m 1469# CONFIG_CRYPTO_KHAZAD is not set
1255CONFIG_CRYPTO_KHAZAD=m 1470# CONFIG_CRYPTO_ANUBIS is not set
1256CONFIG_CRYPTO_ANUBIS=m 1471CONFIG_CRYPTO_DEFLATE=y
1257CONFIG_CRYPTO_DEFLATE=m 1472# CONFIG_CRYPTO_MICHAEL_MIC is not set
1258CONFIG_CRYPTO_MICHAEL_MIC=m 1473# CONFIG_CRYPTO_CRC32C is not set
1259CONFIG_CRYPTO_CRC32C=m 1474# CONFIG_CRYPTO_CAMELLIA is not set
1260CONFIG_CRYPTO_CAMELLIA=m
1261# CONFIG_CRYPTO_TEST is not set 1475# CONFIG_CRYPTO_TEST is not set
1262 1476
1263# 1477#
@@ -1268,16 +1482,12 @@ CONFIG_CRYPTO_CAMELLIA=m
1268# Library routines 1482# Library routines
1269# 1483#
1270CONFIG_BITREVERSE=y 1484CONFIG_BITREVERSE=y
1271CONFIG_CRC_CCITT=m 1485# CONFIG_CRC_CCITT is not set
1272CONFIG_CRC16=m 1486# CONFIG_CRC16 is not set
1273CONFIG_CRC32=y 1487CONFIG_CRC32=y
1274CONFIG_LIBCRC32C=m 1488# CONFIG_LIBCRC32C is not set
1275CONFIG_ZLIB_INFLATE=y 1489CONFIG_ZLIB_INFLATE=y
1276CONFIG_ZLIB_DEFLATE=m 1490CONFIG_ZLIB_DEFLATE=y
1277CONFIG_TEXTSEARCH=y
1278CONFIG_TEXTSEARCH_KMP=m
1279CONFIG_TEXTSEARCH_BM=m
1280CONFIG_TEXTSEARCH_FSM=m
1281CONFIG_PLIST=y 1491CONFIG_PLIST=y
1282CONFIG_HAS_IOMEM=y 1492CONFIG_HAS_IOMEM=y
1283CONFIG_HAS_IOPORT=y 1493CONFIG_HAS_IOPORT=y
diff --git a/arch/mips/configs/ocelot_c_defconfig b/arch/mips/configs/ocelot_c_defconfig
deleted file mode 100644
index 82ff6fc0cd41..000000000000
--- a/arch/mips/configs/ocelot_c_defconfig
+++ /dev/null
@@ -1,982 +0,0 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.20
4# Tue Feb 20 21:47:36 2007
5#
6CONFIG_MIPS=y
7
8#
9# Machine selection
10#
11CONFIG_ZONE_DMA=y
12# CONFIG_MIPS_MTX1 is not set
13# CONFIG_MIPS_BOSPORUS is not set
14# CONFIG_MIPS_PB1000 is not set
15# CONFIG_MIPS_PB1100 is not set
16# CONFIG_MIPS_PB1500 is not set
17# CONFIG_MIPS_PB1550 is not set
18# CONFIG_MIPS_PB1200 is not set
19# CONFIG_MIPS_DB1000 is not set
20# CONFIG_MIPS_DB1100 is not set
21# CONFIG_MIPS_DB1500 is not set
22# CONFIG_MIPS_DB1550 is not set
23# CONFIG_MIPS_DB1200 is not set
24# CONFIG_MIPS_MIRAGE is not set
25# CONFIG_BASLER_EXCITE is not set
26# CONFIG_MIPS_COBALT is not set
27# CONFIG_MACH_DECSTATION is not set
28# CONFIG_MIPS_EV64120 is not set
29# CONFIG_MACH_JAZZ is not set
30# CONFIG_LASAT is not set
31# CONFIG_MIPS_ATLAS is not set
32# CONFIG_MIPS_MALTA is not set
33# CONFIG_MIPS_SEAD is not set
34# CONFIG_WR_PPMC is not set
35# CONFIG_MIPS_SIM is not set
36# CONFIG_MOMENCO_JAGUAR_ATX is not set
37# CONFIG_MOMENCO_OCELOT is not set
38# CONFIG_MOMENCO_OCELOT_3 is not set
39CONFIG_MOMENCO_OCELOT_C=y
40# CONFIG_MOMENCO_OCELOT_G is not set
41# CONFIG_MIPS_XXS1500 is not set
42# CONFIG_PNX8550_JBS is not set
43# CONFIG_PNX8550_STB810 is not set
44# CONFIG_DDB5477 is not set
45# CONFIG_MACH_VR41XX is not set
46# CONFIG_PMC_YOSEMITE is not set
47# CONFIG_QEMU is not set
48# CONFIG_MARKEINS is not set
49# CONFIG_SGI_IP22 is not set
50# CONFIG_SGI_IP27 is not set
51# CONFIG_SGI_IP32 is not set
52# CONFIG_SIBYTE_BIGSUR is not set
53# CONFIG_SIBYTE_SWARM is not set
54# CONFIG_SIBYTE_SENTOSA is not set
55# CONFIG_SIBYTE_RHONE is not set
56# CONFIG_SIBYTE_CARMEL is not set
57# CONFIG_SIBYTE_PTSWARM is not set
58# CONFIG_SIBYTE_LITTLESUR is not set
59# CONFIG_SIBYTE_CRHINE is not set
60# CONFIG_SIBYTE_CRHONE is not set
61# CONFIG_SNI_RM is not set
62# CONFIG_TOSHIBA_JMR3927 is not set
63# CONFIG_TOSHIBA_RBTX4927 is not set
64# CONFIG_TOSHIBA_RBTX4938 is not set
65CONFIG_RWSEM_GENERIC_SPINLOCK=y
66# CONFIG_ARCH_HAS_ILOG2_U32 is not set
67# CONFIG_ARCH_HAS_ILOG2_U64 is not set
68CONFIG_GENERIC_FIND_NEXT_BIT=y
69CONFIG_GENERIC_HWEIGHT=y
70CONFIG_GENERIC_CALIBRATE_DELAY=y
71CONFIG_GENERIC_TIME=y
72CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
73CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
74CONFIG_DMA_NONCOHERENT=y
75CONFIG_DMA_NEED_PCI_MAP_STATE=y
76CONFIG_CPU_BIG_ENDIAN=y
77# CONFIG_CPU_LITTLE_ENDIAN is not set
78CONFIG_SYS_SUPPORTS_BIG_ENDIAN=y
79CONFIG_IRQ_CPU=y
80CONFIG_IRQ_MV64340=y
81CONFIG_PCI_MARVELL=y
82CONFIG_SWAP_IO_SPACE=y
83CONFIG_MIPS_L1_CACHE_SHIFT=5
84
85#
86# CPU selection
87#
88# CONFIG_CPU_MIPS32_R1 is not set
89# CONFIG_CPU_MIPS32_R2 is not set
90# CONFIG_CPU_MIPS64_R1 is not set
91# CONFIG_CPU_MIPS64_R2 is not set
92# CONFIG_CPU_R3000 is not set
93# CONFIG_CPU_TX39XX is not set
94# CONFIG_CPU_VR41XX is not set
95# CONFIG_CPU_R4300 is not set
96# CONFIG_CPU_R4X00 is not set
97# CONFIG_CPU_TX49XX is not set
98# CONFIG_CPU_R5000 is not set
99# CONFIG_CPU_R5432 is not set
100# CONFIG_CPU_R6000 is not set
101# CONFIG_CPU_NEVADA is not set
102# CONFIG_CPU_R8000 is not set
103# CONFIG_CPU_R10000 is not set
104CONFIG_CPU_RM7000=y
105# CONFIG_CPU_RM9000 is not set
106# CONFIG_CPU_SB1 is not set
107CONFIG_SYS_HAS_CPU_RM7000=y
108CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y
109CONFIG_SYS_SUPPORTS_64BIT_KERNEL=y
110CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y
111CONFIG_CPU_SUPPORTS_64BIT_KERNEL=y
112
113#
114# Kernel type
115#
116# CONFIG_32BIT is not set
117CONFIG_64BIT=y
118CONFIG_PAGE_SIZE_4KB=y
119# CONFIG_PAGE_SIZE_8KB is not set
120# CONFIG_PAGE_SIZE_16KB is not set
121# CONFIG_PAGE_SIZE_64KB is not set
122CONFIG_BOARD_SCACHE=y
123CONFIG_RM7000_CPU_SCACHE=y
124CONFIG_CPU_HAS_PREFETCH=y
125CONFIG_MIPS_MT_DISABLED=y
126# CONFIG_MIPS_MT_SMP is not set
127# CONFIG_MIPS_MT_SMTC is not set
128# CONFIG_MIPS_VPE_LOADER is not set
129CONFIG_CPU_HAS_LLSC=y
130CONFIG_CPU_HAS_SYNC=y
131CONFIG_GENERIC_HARDIRQS=y
132CONFIG_GENERIC_IRQ_PROBE=y
133CONFIG_CPU_SUPPORTS_HIGHMEM=y
134CONFIG_ARCH_FLATMEM_ENABLE=y
135CONFIG_SELECT_MEMORY_MODEL=y
136CONFIG_FLATMEM_MANUAL=y
137# CONFIG_DISCONTIGMEM_MANUAL is not set
138# CONFIG_SPARSEMEM_MANUAL is not set
139CONFIG_FLATMEM=y
140CONFIG_FLAT_NODE_MEM_MAP=y
141# CONFIG_SPARSEMEM_STATIC is not set
142CONFIG_SPLIT_PTLOCK_CPUS=4
143CONFIG_RESOURCES_64BIT=y
144CONFIG_ZONE_DMA_FLAG=1
145# CONFIG_HZ_48 is not set
146# CONFIG_HZ_100 is not set
147# CONFIG_HZ_128 is not set
148# CONFIG_HZ_250 is not set
149# CONFIG_HZ_256 is not set
150CONFIG_HZ_1000=y
151# CONFIG_HZ_1024 is not set
152CONFIG_SYS_SUPPORTS_ARBIT_HZ=y
153CONFIG_HZ=1000
154CONFIG_PREEMPT_NONE=y
155# CONFIG_PREEMPT_VOLUNTARY is not set
156# CONFIG_PREEMPT is not set
157# CONFIG_KEXEC is not set
158CONFIG_LOCKDEP_SUPPORT=y
159CONFIG_STACKTRACE_SUPPORT=y
160CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
161
162#
163# Code maturity level options
164#
165CONFIG_EXPERIMENTAL=y
166CONFIG_BROKEN_ON_SMP=y
167CONFIG_INIT_ENV_ARG_LIMIT=32
168
169#
170# General setup
171#
172CONFIG_LOCALVERSION=""
173CONFIG_LOCALVERSION_AUTO=y
174CONFIG_SWAP=y
175CONFIG_SYSVIPC=y
176# CONFIG_IPC_NS is not set
177CONFIG_SYSVIPC_SYSCTL=y
178# CONFIG_POSIX_MQUEUE is not set
179# CONFIG_BSD_PROCESS_ACCT is not set
180# CONFIG_TASKSTATS is not set
181# CONFIG_UTS_NS is not set
182# CONFIG_AUDIT is not set
183# CONFIG_IKCONFIG is not set
184CONFIG_SYSFS_DEPRECATED=y
185CONFIG_RELAY=y
186# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
187CONFIG_SYSCTL=y
188CONFIG_EMBEDDED=y
189CONFIG_SYSCTL_SYSCALL=y
190CONFIG_KALLSYMS=y
191# CONFIG_KALLSYMS_EXTRA_PASS is not set
192CONFIG_HOTPLUG=y
193CONFIG_PRINTK=y
194CONFIG_BUG=y
195CONFIG_ELF_CORE=y
196CONFIG_BASE_FULL=y
197CONFIG_FUTEX=y
198CONFIG_EPOLL=y
199CONFIG_SHMEM=y
200CONFIG_SLAB=y
201CONFIG_VM_EVENT_COUNTERS=y
202CONFIG_RT_MUTEXES=y
203# CONFIG_TINY_SHMEM is not set
204CONFIG_BASE_SMALL=0
205# CONFIG_SLOB is not set
206
207#
208# Loadable module support
209#
210# CONFIG_MODULES is not set
211
212#
213# Block layer
214#
215CONFIG_BLOCK=y
216# CONFIG_BLK_DEV_IO_TRACE is not set
217
218#
219# IO Schedulers
220#
221CONFIG_IOSCHED_NOOP=y
222CONFIG_IOSCHED_AS=y
223CONFIG_IOSCHED_DEADLINE=y
224CONFIG_IOSCHED_CFQ=y
225CONFIG_DEFAULT_AS=y
226# CONFIG_DEFAULT_DEADLINE is not set
227# CONFIG_DEFAULT_CFQ is not set
228# CONFIG_DEFAULT_NOOP is not set
229CONFIG_DEFAULT_IOSCHED="anticipatory"
230
231#
232# Bus options (PCI, PCMCIA, EISA, ISA, TC)
233#
234CONFIG_HW_HAS_PCI=y
235CONFIG_PCI=y
236CONFIG_MMU=y
237
238#
239# PCCARD (PCMCIA/CardBus) support
240#
241# CONFIG_PCCARD is not set
242
243#
244# PCI Hotplug Support
245#
246# CONFIG_HOTPLUG_PCI is not set
247
248#
249# Executable file formats
250#
251CONFIG_BINFMT_ELF=y
252# CONFIG_BINFMT_MISC is not set
253# CONFIG_BUILD_ELF64 is not set
254CONFIG_MIPS32_COMPAT=y
255CONFIG_COMPAT=y
256CONFIG_SYSVIPC_COMPAT=y
257CONFIG_MIPS32_O32=y
258CONFIG_MIPS32_N32=y
259CONFIG_BINFMT_ELF32=y
260
261#
262# Power management options
263#
264CONFIG_PM=y
265# CONFIG_PM_LEGACY is not set
266# CONFIG_PM_DEBUG is not set
267# CONFIG_PM_SYSFS_DEPRECATED is not set
268
269#
270# Networking
271#
272CONFIG_NET=y
273
274#
275# Networking options
276#
277# CONFIG_NETDEBUG is not set
278# CONFIG_PACKET is not set
279CONFIG_UNIX=y
280CONFIG_XFRM=y
281CONFIG_XFRM_USER=y
282# CONFIG_XFRM_SUB_POLICY is not set
283CONFIG_XFRM_MIGRATE=y
284CONFIG_NET_KEY=y
285CONFIG_NET_KEY_MIGRATE=y
286CONFIG_INET=y
287# CONFIG_IP_MULTICAST is not set
288# CONFIG_IP_ADVANCED_ROUTER is not set
289CONFIG_IP_FIB_HASH=y
290CONFIG_IP_PNP=y
291CONFIG_IP_PNP_DHCP=y
292# CONFIG_IP_PNP_BOOTP is not set
293# CONFIG_IP_PNP_RARP is not set
294# CONFIG_NET_IPIP is not set
295# CONFIG_NET_IPGRE is not set
296# CONFIG_ARPD is not set
297# CONFIG_SYN_COOKIES is not set
298# CONFIG_INET_AH is not set
299# CONFIG_INET_ESP is not set
300# CONFIG_INET_IPCOMP is not set
301# CONFIG_INET_XFRM_TUNNEL is not set
302# CONFIG_INET_TUNNEL is not set
303CONFIG_INET_XFRM_MODE_TRANSPORT=y
304CONFIG_INET_XFRM_MODE_TUNNEL=y
305CONFIG_INET_XFRM_MODE_BEET=y
306CONFIG_INET_DIAG=y
307CONFIG_INET_TCP_DIAG=y
308# CONFIG_TCP_CONG_ADVANCED is not set
309CONFIG_TCP_CONG_CUBIC=y
310CONFIG_DEFAULT_TCP_CONG="cubic"
311CONFIG_TCP_MD5SIG=y
312# CONFIG_IPV6 is not set
313# CONFIG_INET6_XFRM_TUNNEL is not set
314# CONFIG_INET6_TUNNEL is not set
315CONFIG_NETWORK_SECMARK=y
316# CONFIG_NETFILTER is not set
317
318#
319# DCCP Configuration (EXPERIMENTAL)
320#
321# CONFIG_IP_DCCP is not set
322
323#
324# SCTP Configuration (EXPERIMENTAL)
325#
326# CONFIG_IP_SCTP is not set
327
328#
329# TIPC Configuration (EXPERIMENTAL)
330#
331# CONFIG_TIPC is not set
332# CONFIG_ATM is not set
333# CONFIG_BRIDGE is not set
334# CONFIG_VLAN_8021Q is not set
335# CONFIG_DECNET is not set
336# CONFIG_LLC2 is not set
337# CONFIG_IPX is not set
338# CONFIG_ATALK is not set
339# CONFIG_X25 is not set
340# CONFIG_LAPB is not set
341# CONFIG_ECONET is not set
342# CONFIG_WAN_ROUTER is not set
343
344#
345# QoS and/or fair queueing
346#
347# CONFIG_NET_SCHED is not set
348
349#
350# Network testing
351#
352# CONFIG_NET_PKTGEN is not set
353# CONFIG_HAMRADIO is not set
354# CONFIG_IRDA is not set
355# CONFIG_BT is not set
356CONFIG_IEEE80211=y
357# CONFIG_IEEE80211_DEBUG is not set
358CONFIG_IEEE80211_CRYPT_WEP=y
359CONFIG_IEEE80211_CRYPT_CCMP=y
360CONFIG_IEEE80211_SOFTMAC=y
361# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set
362CONFIG_WIRELESS_EXT=y
363
364#
365# Device Drivers
366#
367
368#
369# Generic Driver Options
370#
371CONFIG_STANDALONE=y
372CONFIG_PREVENT_FIRMWARE_BUILD=y
373CONFIG_FW_LOADER=y
374# CONFIG_SYS_HYPERVISOR is not set
375
376#
377# Connector - unified userspace <-> kernelspace linker
378#
379CONFIG_CONNECTOR=y
380CONFIG_PROC_EVENTS=y
381
382#
383# Memory Technology Devices (MTD)
384#
385# CONFIG_MTD is not set
386
387#
388# Parallel port support
389#
390# CONFIG_PARPORT is not set
391
392#
393# Plug and Play support
394#
395# CONFIG_PNPACPI is not set
396
397#
398# Block devices
399#
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
405# CONFIG_BLK_DEV_LOOP is not set
406# CONFIG_BLK_DEV_NBD is not set
407# CONFIG_BLK_DEV_SX8 is not set
408# CONFIG_BLK_DEV_RAM is not set
409# CONFIG_BLK_DEV_INITRD is not set
410CONFIG_CDROM_PKTCDVD=y
411CONFIG_CDROM_PKTCDVD_BUFFERS=8
412# CONFIG_CDROM_PKTCDVD_WCACHE is not set
413CONFIG_ATA_OVER_ETH=y
414
415#
416# Misc devices
417#
418CONFIG_SGI_IOC4=y
419# CONFIG_TIFM_CORE is not set
420
421#
422# ATA/ATAPI/MFM/RLL support
423#
424# CONFIG_IDE is not set
425
426#
427# SCSI device support
428#
429CONFIG_RAID_ATTRS=y
430# CONFIG_SCSI is not set
431# CONFIG_SCSI_NETLINK is not set
432
433#
434# Serial ATA (prod) and Parallel ATA (experimental) drivers
435#
436# CONFIG_ATA is not set
437
438#
439# Multi-device support (RAID and LVM)
440#
441# CONFIG_MD is not set
442
443#
444# Fusion MPT device support
445#
446# CONFIG_FUSION is not set
447
448#
449# IEEE 1394 (FireWire) support
450#
451# CONFIG_IEEE1394 is not set
452
453#
454# I2O device support
455#
456# CONFIG_I2O is not set
457
458#
459# Network device support
460#
461CONFIG_NETDEVICES=y
462# CONFIG_DUMMY is not set
463# CONFIG_BONDING is not set
464# CONFIG_EQUALIZER is not set
465# CONFIG_TUN is not set
466
467#
468# ARCnet devices
469#
470# CONFIG_ARCNET is not set
471
472#
473# PHY device support
474#
475CONFIG_PHYLIB=y
476
477#
478# MII PHY device drivers
479#
480CONFIG_MARVELL_PHY=y
481CONFIG_DAVICOM_PHY=y
482CONFIG_QSEMI_PHY=y
483CONFIG_LXT_PHY=y
484CONFIG_CICADA_PHY=y
485CONFIG_VITESSE_PHY=y
486CONFIG_SMSC_PHY=y
487# CONFIG_BROADCOM_PHY is not set
488# CONFIG_FIXED_PHY is not set
489
490#
491# Ethernet (10 or 100Mbit)
492#
493CONFIG_NET_ETHERNET=y
494# CONFIG_MII is not set
495# CONFIG_HAPPYMEAL is not set
496# CONFIG_SUNGEM is not set
497# CONFIG_CASSINI is not set
498# CONFIG_NET_VENDOR_3COM is not set
499# CONFIG_DM9000 is not set
500
501#
502# Tulip family network device support
503#
504# CONFIG_NET_TULIP is not set
505# CONFIG_HP100 is not set
506# CONFIG_NET_PCI is not set
507
508#
509# Ethernet (1000 Mbit)
510#
511# CONFIG_ACENIC is not set
512# CONFIG_DL2K is not set
513# CONFIG_E1000 is not set
514# CONFIG_NS83820 is not set
515# CONFIG_HAMACHI is not set
516# CONFIG_YELLOWFIN is not set
517# CONFIG_R8169 is not set
518# CONFIG_SIS190 is not set
519# CONFIG_SKGE is not set
520# CONFIG_SKY2 is not set
521# CONFIG_SK98LIN is not set
522# CONFIG_TIGON3 is not set
523# CONFIG_BNX2 is not set
524# CONFIG_MV643XX_ETH is not set
525CONFIG_QLA3XXX=y
526# CONFIG_ATL1 is not set
527
528#
529# Ethernet (10000 Mbit)
530#
531# CONFIG_CHELSIO_T1 is not set
532CONFIG_CHELSIO_T3=y
533# CONFIG_IXGB is not set
534# CONFIG_S2IO is not set
535# CONFIG_MYRI10GE is not set
536CONFIG_NETXEN_NIC=y
537
538#
539# Token Ring devices
540#
541# CONFIG_TR is not set
542
543#
544# Wireless LAN (non-hamradio)
545#
546# CONFIG_NET_RADIO is not set
547
548#
549# Wan interfaces
550#
551# CONFIG_WAN is not set
552# CONFIG_FDDI is not set
553# CONFIG_HIPPI is not set
554# CONFIG_PPP is not set
555# CONFIG_SLIP is not set
556# CONFIG_SHAPER is not set
557# CONFIG_NETCONSOLE is not set
558# CONFIG_NETPOLL is not set
559# CONFIG_NET_POLL_CONTROLLER is not set
560
561#
562# ISDN subsystem
563#
564# CONFIG_ISDN is not set
565
566#
567# Telephony Support
568#
569# CONFIG_PHONE is not set
570
571#
572# Input device support
573#
574CONFIG_INPUT=y
575# CONFIG_INPUT_FF_MEMLESS is not set
576
577#
578# Userland interfaces
579#
580CONFIG_INPUT_MOUSEDEV=y
581CONFIG_INPUT_MOUSEDEV_PSAUX=y
582CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
583CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
584# CONFIG_INPUT_JOYDEV is not set
585# CONFIG_INPUT_TSDEV is not set
586# CONFIG_INPUT_EVDEV is not set
587# CONFIG_INPUT_EVBUG is not set
588
589#
590# Input Device Drivers
591#
592# CONFIG_INPUT_KEYBOARD is not set
593# CONFIG_INPUT_MOUSE is not set
594# CONFIG_INPUT_JOYSTICK is not set
595# CONFIG_INPUT_TOUCHSCREEN is not set
596# CONFIG_INPUT_MISC is not set
597
598#
599# Hardware I/O ports
600#
601CONFIG_SERIO=y
602# CONFIG_SERIO_I8042 is not set
603CONFIG_SERIO_SERPORT=y
604# CONFIG_SERIO_PCIPS2 is not set
605# CONFIG_SERIO_LIBPS2 is not set
606CONFIG_SERIO_RAW=y
607# CONFIG_GAMEPORT is not set
608
609#
610# Character devices
611#
612CONFIG_VT=y
613CONFIG_VT_CONSOLE=y
614CONFIG_HW_CONSOLE=y
615CONFIG_VT_HW_CONSOLE_BINDING=y
616# CONFIG_SERIAL_NONSTANDARD is not set
617
618#
619# Serial drivers
620#
621CONFIG_SERIAL_8250=y
622CONFIG_SERIAL_8250_CONSOLE=y
623CONFIG_SERIAL_8250_PCI=y
624CONFIG_SERIAL_8250_NR_UARTS=4
625CONFIG_SERIAL_8250_RUNTIME_UARTS=4
626# CONFIG_SERIAL_8250_EXTENDED is not set
627
628#
629# Non-8250 serial port support
630#
631CONFIG_SERIAL_CORE=y
632CONFIG_SERIAL_CORE_CONSOLE=y
633# CONFIG_SERIAL_JSM is not set
634CONFIG_UNIX98_PTYS=y
635CONFIG_LEGACY_PTYS=y
636CONFIG_LEGACY_PTY_COUNT=256
637
638#
639# IPMI
640#
641# CONFIG_IPMI_HANDLER is not set
642
643#
644# Watchdog Cards
645#
646# CONFIG_WATCHDOG is not set
647# CONFIG_HW_RANDOM is not set
648# CONFIG_RTC is not set
649# CONFIG_GEN_RTC is not set
650# CONFIG_DTLK is not set
651# CONFIG_R3964 is not set
652# CONFIG_APPLICOM is not set
653# CONFIG_DRM is not set
654# CONFIG_RAW_DRIVER is not set
655
656#
657# TPM devices
658#
659# CONFIG_TCG_TPM is not set
660
661#
662# I2C support
663#
664# CONFIG_I2C is not set
665
666#
667# SPI support
668#
669# CONFIG_SPI is not set
670# CONFIG_SPI_MASTER is not set
671
672#
673# Dallas's 1-wire bus
674#
675# CONFIG_W1 is not set
676
677#
678# Hardware Monitoring support
679#
680# CONFIG_HWMON is not set
681# CONFIG_HWMON_VID is not set
682
683#
684# Multimedia devices
685#
686# CONFIG_VIDEO_DEV is not set
687
688#
689# Digital Video Broadcasting Devices
690#
691# CONFIG_DVB is not set
692
693#
694# Graphics support
695#
696# CONFIG_FIRMWARE_EDID is not set
697# CONFIG_FB is not set
698
699#
700# Console display driver support
701#
702# CONFIG_VGA_CONSOLE is not set
703CONFIG_DUMMY_CONSOLE=y
704# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
705
706#
707# Sound
708#
709# CONFIG_SOUND is not set
710
711#
712# HID Devices
713#
714# CONFIG_HID is not set
715
716#
717# USB support
718#
719CONFIG_USB_ARCH_HAS_HCD=y
720CONFIG_USB_ARCH_HAS_OHCI=y
721CONFIG_USB_ARCH_HAS_EHCI=y
722# CONFIG_USB is not set
723
724#
725# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
726#
727
728#
729# USB Gadget Support
730#
731# CONFIG_USB_GADGET is not set
732
733#
734# MMC/SD Card support
735#
736# CONFIG_MMC is not set
737
738#
739# LED devices
740#
741# CONFIG_NEW_LEDS is not set
742
743#
744# LED drivers
745#
746
747#
748# LED Triggers
749#
750
751#
752# InfiniBand support
753#
754# CONFIG_INFINIBAND is not set
755
756#
757# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
758#
759
760#
761# Real Time Clock
762#
763# CONFIG_RTC_CLASS is not set
764
765#
766# DMA Engine support
767#
768# CONFIG_DMA_ENGINE is not set
769
770#
771# DMA Clients
772#
773
774#
775# DMA Devices
776#
777
778#
779# Auxiliary Display support
780#
781
782#
783# Virtualization
784#
785
786#
787# File systems
788#
789CONFIG_EXT2_FS=y
790# CONFIG_EXT2_FS_XATTR is not set
791# CONFIG_EXT2_FS_XIP is not set
792# CONFIG_EXT3_FS is not set
793# CONFIG_EXT4DEV_FS is not set
794# CONFIG_REISERFS_FS is not set
795# CONFIG_JFS_FS is not set
796CONFIG_FS_POSIX_ACL=y
797# CONFIG_XFS_FS is not set
798# CONFIG_GFS2_FS is not set
799# CONFIG_OCFS2_FS is not set
800# CONFIG_MINIX_FS is not set
801# CONFIG_ROMFS_FS is not set
802CONFIG_INOTIFY=y
803CONFIG_INOTIFY_USER=y
804# CONFIG_QUOTA is not set
805CONFIG_DNOTIFY=y
806# CONFIG_AUTOFS_FS is not set
807# CONFIG_AUTOFS4_FS is not set
808CONFIG_FUSE_FS=y
809CONFIG_GENERIC_ACL=y
810
811#
812# CD-ROM/DVD Filesystems
813#
814# CONFIG_ISO9660_FS is not set
815# CONFIG_UDF_FS is not set
816
817#
818# DOS/FAT/NT Filesystems
819#
820# CONFIG_MSDOS_FS is not set
821# CONFIG_VFAT_FS is not set
822# CONFIG_NTFS_FS is not set
823
824#
825# Pseudo filesystems
826#
827CONFIG_PROC_FS=y
828CONFIG_PROC_KCORE=y
829CONFIG_PROC_SYSCTL=y
830CONFIG_SYSFS=y
831CONFIG_TMPFS=y
832CONFIG_TMPFS_POSIX_ACL=y
833# CONFIG_HUGETLB_PAGE is not set
834CONFIG_RAMFS=y
835CONFIG_CONFIGFS_FS=y
836
837#
838# Miscellaneous filesystems
839#
840# CONFIG_ADFS_FS is not set
841# CONFIG_AFFS_FS is not set
842# CONFIG_ECRYPT_FS is not set
843# CONFIG_HFS_FS is not set
844# CONFIG_HFSPLUS_FS is not set
845# CONFIG_BEFS_FS is not set
846# CONFIG_BFS_FS is not set
847# CONFIG_EFS_FS is not set
848# CONFIG_CRAMFS is not set
849# CONFIG_VXFS_FS is not set
850# CONFIG_HPFS_FS is not set
851# CONFIG_QNX4FS_FS is not set
852# CONFIG_SYSV_FS is not set
853# CONFIG_UFS_FS is not set
854
855#
856# Network File Systems
857#
858CONFIG_NFS_FS=y
859# CONFIG_NFS_V3 is not set
860# CONFIG_NFS_V4 is not set
861# CONFIG_NFS_DIRECTIO is not set
862CONFIG_NFSD=y
863# CONFIG_NFSD_V3 is not set
864# CONFIG_NFSD_TCP is not set
865CONFIG_ROOT_NFS=y
866CONFIG_LOCKD=y
867CONFIG_EXPORTFS=y
868CONFIG_NFS_COMMON=y
869CONFIG_SUNRPC=y
870# CONFIG_RPCSEC_GSS_KRB5 is not set
871# CONFIG_RPCSEC_GSS_SPKM3 is not set
872# CONFIG_SMB_FS is not set
873# CONFIG_CIFS is not set
874# CONFIG_NCP_FS is not set
875# CONFIG_CODA_FS is not set
876# CONFIG_AFS_FS is not set
877# CONFIG_9P_FS is not set
878
879#
880# Partition Types
881#
882# CONFIG_PARTITION_ADVANCED is not set
883CONFIG_MSDOS_PARTITION=y
884
885#
886# Native Language Support
887#
888# CONFIG_NLS is not set
889
890#
891# Distributed Lock Manager
892#
893CONFIG_DLM=y
894CONFIG_DLM_TCP=y
895# CONFIG_DLM_SCTP is not set
896# CONFIG_DLM_DEBUG is not set
897
898#
899# Profiling support
900#
901# CONFIG_PROFILING is not set
902
903#
904# Kernel hacking
905#
906CONFIG_TRACE_IRQFLAGS_SUPPORT=y
907# CONFIG_PRINTK_TIME is not set
908CONFIG_ENABLE_MUST_CHECK=y
909# CONFIG_MAGIC_SYSRQ is not set
910# CONFIG_UNUSED_SYMBOLS is not set
911# CONFIG_DEBUG_FS is not set
912# CONFIG_HEADERS_CHECK is not set
913# CONFIG_DEBUG_KERNEL is not set
914CONFIG_LOG_BUF_SHIFT=14
915CONFIG_CROSSCOMPILE=y
916CONFIG_CMDLINE=""
917
918#
919# Security options
920#
921CONFIG_KEYS=y
922CONFIG_KEYS_DEBUG_PROC_KEYS=y
923# CONFIG_SECURITY is not set
924
925#
926# Cryptographic options
927#
928CONFIG_CRYPTO=y
929CONFIG_CRYPTO_ALGAPI=y
930CONFIG_CRYPTO_BLKCIPHER=y
931CONFIG_CRYPTO_HASH=y
932CONFIG_CRYPTO_MANAGER=y
933CONFIG_CRYPTO_HMAC=y
934CONFIG_CRYPTO_XCBC=y
935CONFIG_CRYPTO_NULL=y
936CONFIG_CRYPTO_MD4=y
937CONFIG_CRYPTO_MD5=y
938CONFIG_CRYPTO_SHA1=y
939CONFIG_CRYPTO_SHA256=y
940CONFIG_CRYPTO_SHA512=y
941CONFIG_CRYPTO_WP512=y
942CONFIG_CRYPTO_TGR192=y
943CONFIG_CRYPTO_GF128MUL=y
944CONFIG_CRYPTO_ECB=y
945CONFIG_CRYPTO_CBC=y
946CONFIG_CRYPTO_PCBC=y
947CONFIG_CRYPTO_LRW=y
948CONFIG_CRYPTO_DES=y
949CONFIG_CRYPTO_FCRYPT=y
950CONFIG_CRYPTO_BLOWFISH=y
951CONFIG_CRYPTO_TWOFISH=y
952CONFIG_CRYPTO_TWOFISH_COMMON=y
953CONFIG_CRYPTO_SERPENT=y
954CONFIG_CRYPTO_AES=y
955CONFIG_CRYPTO_CAST5=y
956CONFIG_CRYPTO_CAST6=y
957CONFIG_CRYPTO_TEA=y
958CONFIG_CRYPTO_ARC4=y
959CONFIG_CRYPTO_KHAZAD=y
960CONFIG_CRYPTO_ANUBIS=y
961CONFIG_CRYPTO_DEFLATE=y
962CONFIG_CRYPTO_MICHAEL_MIC=y
963CONFIG_CRYPTO_CRC32C=y
964CONFIG_CRYPTO_CAMELLIA=y
965
966#
967# Hardware crypto devices
968#
969
970#
971# Library routines
972#
973CONFIG_BITREVERSE=y
974# CONFIG_CRC_CCITT is not set
975CONFIG_CRC16=y
976CONFIG_CRC32=y
977CONFIG_LIBCRC32C=y
978CONFIG_ZLIB_INFLATE=y
979CONFIG_ZLIB_DEFLATE=y
980CONFIG_PLIST=y
981CONFIG_HAS_IOMEM=y
982CONFIG_HAS_IOPORT=y
diff --git a/arch/mips/configs/ocelot_defconfig b/arch/mips/configs/ocelot_defconfig
index 15a027e00eec..e1db1fb80cd0 100644
--- a/arch/mips/configs/ocelot_defconfig
+++ b/arch/mips/configs/ocelot_defconfig
@@ -25,9 +25,7 @@ CONFIG_ZONE_DMA=y
25# CONFIG_BASLER_EXCITE is not set 25# CONFIG_BASLER_EXCITE is not set
26# CONFIG_MIPS_COBALT is not set 26# CONFIG_MIPS_COBALT is not set
27# CONFIG_MACH_DECSTATION is not set 27# CONFIG_MACH_DECSTATION is not set
28# CONFIG_MIPS_EV64120 is not set
29# CONFIG_MACH_JAZZ is not set 28# CONFIG_MACH_JAZZ is not set
30# CONFIG_LASAT is not set
31# CONFIG_MIPS_ATLAS is not set 29# CONFIG_MIPS_ATLAS is not set
32# CONFIG_MIPS_MALTA is not set 30# CONFIG_MIPS_MALTA is not set
33# CONFIG_MIPS_SEAD is not set 31# CONFIG_MIPS_SEAD is not set
@@ -35,8 +33,6 @@ CONFIG_ZONE_DMA=y
35# CONFIG_MIPS_SIM is not set 33# CONFIG_MIPS_SIM is not set
36# CONFIG_MOMENCO_JAGUAR_ATX is not set 34# CONFIG_MOMENCO_JAGUAR_ATX is not set
37CONFIG_MOMENCO_OCELOT=y 35CONFIG_MOMENCO_OCELOT=y
38# CONFIG_MOMENCO_OCELOT_3 is not set
39# CONFIG_MOMENCO_OCELOT_C is not set
40# CONFIG_MOMENCO_OCELOT_G is not set 36# CONFIG_MOMENCO_OCELOT_G is not set
41# CONFIG_MIPS_XXS1500 is not set 37# CONFIG_MIPS_XXS1500 is not set
42# CONFIG_PNX8550_JBS is not set 38# CONFIG_PNX8550_JBS is not set
diff --git a/arch/mips/configs/pb1100_defconfig b/arch/mips/configs/pb1100_defconfig
index 37d696c64541..0028aef0af9d 100644
--- a/arch/mips/configs/pb1100_defconfig
+++ b/arch/mips/configs/pb1100_defconfig
@@ -26,9 +26,7 @@ CONFIG_MIPS_PB1100=y
26# CONFIG_BASLER_EXCITE is not set 26# CONFIG_BASLER_EXCITE is not set
27# CONFIG_MIPS_COBALT is not set 27# CONFIG_MIPS_COBALT is not set
28# CONFIG_MACH_DECSTATION is not set 28# CONFIG_MACH_DECSTATION is not set
29# CONFIG_MIPS_EV64120 is not set
30# CONFIG_MACH_JAZZ is not set 29# CONFIG_MACH_JAZZ is not set
31# CONFIG_LASAT is not set
32# CONFIG_MIPS_ATLAS is not set 30# CONFIG_MIPS_ATLAS is not set
33# CONFIG_MIPS_MALTA is not set 31# CONFIG_MIPS_MALTA is not set
34# CONFIG_MIPS_SEAD is not set 32# CONFIG_MIPS_SEAD is not set
@@ -36,8 +34,6 @@ CONFIG_MIPS_PB1100=y
36# CONFIG_MIPS_SIM is not set 34# CONFIG_MIPS_SIM is not set
37# CONFIG_MOMENCO_JAGUAR_ATX is not set 35# CONFIG_MOMENCO_JAGUAR_ATX is not set
38# CONFIG_MOMENCO_OCELOT is not set 36# CONFIG_MOMENCO_OCELOT is not set
39# CONFIG_MOMENCO_OCELOT_3 is not set
40# CONFIG_MOMENCO_OCELOT_C is not set
41# CONFIG_MOMENCO_OCELOT_G is not set 37# CONFIG_MOMENCO_OCELOT_G is not set
42# CONFIG_MIPS_XXS1500 is not set 38# CONFIG_MIPS_XXS1500 is not set
43# CONFIG_PNX8550_JBS is not set 39# CONFIG_PNX8550_JBS is not set
diff --git a/arch/mips/configs/pb1500_defconfig b/arch/mips/configs/pb1500_defconfig
index b11f0e8b6059..8a1d5888739c 100644
--- a/arch/mips/configs/pb1500_defconfig
+++ b/arch/mips/configs/pb1500_defconfig
@@ -26,9 +26,7 @@ CONFIG_MIPS_PB1500=y
26# CONFIG_BASLER_EXCITE is not set 26# CONFIG_BASLER_EXCITE is not set
27# CONFIG_MIPS_COBALT is not set 27# CONFIG_MIPS_COBALT is not set
28# CONFIG_MACH_DECSTATION is not set 28# CONFIG_MACH_DECSTATION is not set
29# CONFIG_MIPS_EV64120 is not set
30# CONFIG_MACH_JAZZ is not set 29# CONFIG_MACH_JAZZ is not set
31# CONFIG_LASAT is not set
32# CONFIG_MIPS_ATLAS is not set 30# CONFIG_MIPS_ATLAS is not set
33# CONFIG_MIPS_MALTA is not set 31# CONFIG_MIPS_MALTA is not set
34# CONFIG_MIPS_SEAD is not set 32# CONFIG_MIPS_SEAD is not set
@@ -36,8 +34,6 @@ CONFIG_MIPS_PB1500=y
36# CONFIG_MIPS_SIM is not set 34# CONFIG_MIPS_SIM is not set
37# CONFIG_MOMENCO_JAGUAR_ATX is not set 35# CONFIG_MOMENCO_JAGUAR_ATX is not set
38# CONFIG_MOMENCO_OCELOT is not set 36# CONFIG_MOMENCO_OCELOT is not set
39# CONFIG_MOMENCO_OCELOT_3 is not set
40# CONFIG_MOMENCO_OCELOT_C is not set
41# CONFIG_MOMENCO_OCELOT_G is not set 37# CONFIG_MOMENCO_OCELOT_G is not set
42# CONFIG_MIPS_XXS1500 is not set 38# CONFIG_MIPS_XXS1500 is not set
43# CONFIG_PNX8550_JBS is not set 39# CONFIG_PNX8550_JBS is not set
diff --git a/arch/mips/configs/pb1550_defconfig b/arch/mips/configs/pb1550_defconfig
index 2927f38f4907..5581ad2ca411 100644
--- a/arch/mips/configs/pb1550_defconfig
+++ b/arch/mips/configs/pb1550_defconfig
@@ -26,9 +26,7 @@ CONFIG_MIPS_PB1550=y
26# CONFIG_BASLER_EXCITE is not set 26# CONFIG_BASLER_EXCITE is not set
27# CONFIG_MIPS_COBALT is not set 27# CONFIG_MIPS_COBALT is not set
28# CONFIG_MACH_DECSTATION is not set 28# CONFIG_MACH_DECSTATION is not set
29# CONFIG_MIPS_EV64120 is not set
30# CONFIG_MACH_JAZZ is not set 29# CONFIG_MACH_JAZZ is not set
31# CONFIG_LASAT is not set
32# CONFIG_MIPS_ATLAS is not set 30# CONFIG_MIPS_ATLAS is not set
33# CONFIG_MIPS_MALTA is not set 31# CONFIG_MIPS_MALTA is not set
34# CONFIG_MIPS_SEAD is not set 32# CONFIG_MIPS_SEAD is not set
@@ -36,8 +34,6 @@ CONFIG_MIPS_PB1550=y
36# CONFIG_MIPS_SIM is not set 34# CONFIG_MIPS_SIM is not set
37# CONFIG_MOMENCO_JAGUAR_ATX is not set 35# CONFIG_MOMENCO_JAGUAR_ATX is not set
38# CONFIG_MOMENCO_OCELOT is not set 36# CONFIG_MOMENCO_OCELOT is not set
39# CONFIG_MOMENCO_OCELOT_3 is not set
40# CONFIG_MOMENCO_OCELOT_C is not set
41# CONFIG_MOMENCO_OCELOT_G is not set 37# CONFIG_MOMENCO_OCELOT_G is not set
42# CONFIG_MIPS_XXS1500 is not set 38# CONFIG_MIPS_XXS1500 is not set
43# CONFIG_PNX8550_JBS is not set 39# CONFIG_PNX8550_JBS is not set
diff --git a/arch/mips/configs/pnx8550-jbs_defconfig b/arch/mips/configs/pnx8550-jbs_defconfig
index fae16c5ec521..821c1cee5639 100644
--- a/arch/mips/configs/pnx8550-jbs_defconfig
+++ b/arch/mips/configs/pnx8550-jbs_defconfig
@@ -25,9 +25,7 @@ CONFIG_ZONE_DMA=y
25# CONFIG_BASLER_EXCITE is not set 25# CONFIG_BASLER_EXCITE is not set
26# CONFIG_MIPS_COBALT is not set 26# CONFIG_MIPS_COBALT is not set
27# CONFIG_MACH_DECSTATION is not set 27# CONFIG_MACH_DECSTATION is not set
28# CONFIG_MIPS_EV64120 is not set
29# CONFIG_MACH_JAZZ is not set 28# CONFIG_MACH_JAZZ is not set
30# CONFIG_LASAT is not set
31# CONFIG_MIPS_ATLAS is not set 29# CONFIG_MIPS_ATLAS is not set
32# CONFIG_MIPS_MALTA is not set 30# CONFIG_MIPS_MALTA is not set
33# CONFIG_MIPS_SEAD is not set 31# CONFIG_MIPS_SEAD is not set
@@ -35,8 +33,6 @@ CONFIG_ZONE_DMA=y
35# CONFIG_MIPS_SIM is not set 33# CONFIG_MIPS_SIM is not set
36# CONFIG_MOMENCO_JAGUAR_ATX is not set 34# CONFIG_MOMENCO_JAGUAR_ATX is not set
37# CONFIG_MOMENCO_OCELOT is not set 35# CONFIG_MOMENCO_OCELOT is not set
38# CONFIG_MOMENCO_OCELOT_3 is not set
39# CONFIG_MOMENCO_OCELOT_C is not set
40# CONFIG_MOMENCO_OCELOT_G is not set 36# CONFIG_MOMENCO_OCELOT_G is not set
41# CONFIG_MIPS_XXS1500 is not set 37# CONFIG_MIPS_XXS1500 is not set
42CONFIG_PNX8550_JBS=y 38CONFIG_PNX8550_JBS=y
diff --git a/arch/mips/configs/pnx8550-stb810_defconfig b/arch/mips/configs/pnx8550-stb810_defconfig
index cd821e52181d..0e8bd92b38cf 100644
--- a/arch/mips/configs/pnx8550-stb810_defconfig
+++ b/arch/mips/configs/pnx8550-stb810_defconfig
@@ -25,9 +25,7 @@ CONFIG_ZONE_DMA=y
25# CONFIG_BASLER_EXCITE is not set 25# CONFIG_BASLER_EXCITE is not set
26# CONFIG_MIPS_COBALT is not set 26# CONFIG_MIPS_COBALT is not set
27# CONFIG_MACH_DECSTATION is not set 27# CONFIG_MACH_DECSTATION is not set
28# CONFIG_MIPS_EV64120 is not set
29# CONFIG_MACH_JAZZ is not set 28# CONFIG_MACH_JAZZ is not set
30# CONFIG_LASAT is not set
31# CONFIG_MIPS_ATLAS is not set 29# CONFIG_MIPS_ATLAS is not set
32# CONFIG_MIPS_MALTA is not set 30# CONFIG_MIPS_MALTA is not set
33# CONFIG_MIPS_SEAD is not set 31# CONFIG_MIPS_SEAD is not set
@@ -35,8 +33,6 @@ CONFIG_ZONE_DMA=y
35# CONFIG_MIPS_SIM is not set 33# CONFIG_MIPS_SIM is not set
36# CONFIG_MOMENCO_JAGUAR_ATX is not set 34# CONFIG_MOMENCO_JAGUAR_ATX is not set
37# CONFIG_MOMENCO_OCELOT is not set 35# CONFIG_MOMENCO_OCELOT is not set
38# CONFIG_MOMENCO_OCELOT_3 is not set
39# CONFIG_MOMENCO_OCELOT_C is not set
40# CONFIG_MOMENCO_OCELOT_G is not set 36# CONFIG_MOMENCO_OCELOT_G is not set
41# CONFIG_MIPS_XXS1500 is not set 37# CONFIG_MIPS_XXS1500 is not set
42# CONFIG_PNX8550_JBS is not set 38# CONFIG_PNX8550_JBS is not set
diff --git a/arch/mips/configs/qemu_defconfig b/arch/mips/configs/qemu_defconfig
index 8e8d03157954..703de002e372 100644
--- a/arch/mips/configs/qemu_defconfig
+++ b/arch/mips/configs/qemu_defconfig
@@ -25,9 +25,7 @@ CONFIG_ZONE_DMA=y
25# CONFIG_BASLER_EXCITE is not set 25# CONFIG_BASLER_EXCITE is not set
26# CONFIG_MIPS_COBALT is not set 26# CONFIG_MIPS_COBALT is not set
27# CONFIG_MACH_DECSTATION is not set 27# CONFIG_MACH_DECSTATION is not set
28# CONFIG_MIPS_EV64120 is not set
29# CONFIG_MACH_JAZZ is not set 28# CONFIG_MACH_JAZZ is not set
30# CONFIG_LASAT is not set
31# CONFIG_MIPS_ATLAS is not set 29# CONFIG_MIPS_ATLAS is not set
32# CONFIG_MIPS_MALTA is not set 30# CONFIG_MIPS_MALTA is not set
33# CONFIG_MIPS_SEAD is not set 31# CONFIG_MIPS_SEAD is not set
@@ -35,8 +33,6 @@ CONFIG_ZONE_DMA=y
35# CONFIG_MIPS_SIM is not set 33# CONFIG_MIPS_SIM is not set
36# CONFIG_MOMENCO_JAGUAR_ATX is not set 34# CONFIG_MOMENCO_JAGUAR_ATX is not set
37# CONFIG_MOMENCO_OCELOT is not set 35# CONFIG_MOMENCO_OCELOT is not set
38# CONFIG_MOMENCO_OCELOT_3 is not set
39# CONFIG_MOMENCO_OCELOT_C is not set
40# CONFIG_MOMENCO_OCELOT_G is not set 36# CONFIG_MOMENCO_OCELOT_G is not set
41# CONFIG_MIPS_XXS1500 is not set 37# CONFIG_MIPS_XXS1500 is not set
42# CONFIG_PNX8550_JBS is not set 38# CONFIG_PNX8550_JBS is not set
@@ -225,7 +221,7 @@ CONFIG_DEFAULT_IOSCHED="noop"
225# 221#
226CONFIG_ISA=y 222CONFIG_ISA=y
227CONFIG_MMU=y 223CONFIG_MMU=y
228CONFIG_I8253=y 224CONFIG_PCSPEAKER=y
229 225
230# 226#
231# PCCARD (PCMCIA/CardBus) support 227# PCCARD (PCMCIA/CardBus) support
diff --git a/arch/mips/configs/rbhma4200_defconfig b/arch/mips/configs/rbhma4200_defconfig
index 35d64260917e..20a38526d483 100644
--- a/arch/mips/configs/rbhma4200_defconfig
+++ b/arch/mips/configs/rbhma4200_defconfig
@@ -24,17 +24,13 @@ CONFIG_MIPS=y
24# CONFIG_BASLER_EXCITE is not set 24# CONFIG_BASLER_EXCITE is not set
25# CONFIG_MIPS_COBALT is not set 25# CONFIG_MIPS_COBALT is not set
26# CONFIG_MACH_DECSTATION is not set 26# CONFIG_MACH_DECSTATION is not set
27# CONFIG_MIPS_EV64120 is not set
28# CONFIG_MACH_JAZZ is not set 27# CONFIG_MACH_JAZZ is not set
29# CONFIG_LASAT is not set
30# CONFIG_MIPS_ATLAS is not set 28# CONFIG_MIPS_ATLAS is not set
31# CONFIG_MIPS_MALTA is not set 29# CONFIG_MIPS_MALTA is not set
32# CONFIG_MIPS_SEAD is not set 30# CONFIG_MIPS_SEAD is not set
33# CONFIG_WR_PPMC is not set 31# CONFIG_WR_PPMC is not set
34# CONFIG_MIPS_SIM is not set 32# CONFIG_MIPS_SIM is not set
35# CONFIG_MOMENCO_OCELOT is not set 33# CONFIG_MOMENCO_OCELOT is not set
36# CONFIG_MOMENCO_OCELOT_3 is not set
37# CONFIG_MOMENCO_OCELOT_C is not set
38# CONFIG_MIPS_XXS1500 is not set 34# CONFIG_MIPS_XXS1500 is not set
39# CONFIG_PNX8550_JBS is not set 35# CONFIG_PNX8550_JBS is not set
40# CONFIG_PNX8550_STB810 is not set 36# CONFIG_PNX8550_STB810 is not set
diff --git a/arch/mips/configs/rbhma4500_defconfig b/arch/mips/configs/rbhma4500_defconfig
index 41011f770a67..5dbb250f71c7 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.20 3# Linux kernel version: 2.6.22-rc5
4# Tue Feb 20 21:47:39 2007 4# Fri Jun 22 21:39:45 2007
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -9,40 +9,23 @@ CONFIG_MIPS=y
9# Machine selection 9# Machine selection
10# 10#
11CONFIG_ZONE_DMA=y 11CONFIG_ZONE_DMA=y
12# CONFIG_MIPS_MTX1 is not set 12# CONFIG_LEMOTE_FULONG is not set
13# CONFIG_MIPS_BOSPORUS is not set 13# CONFIG_MACH_ALCHEMY is not set
14# CONFIG_MIPS_PB1000 is not set
15# CONFIG_MIPS_PB1100 is not set
16# CONFIG_MIPS_PB1500 is not set
17# CONFIG_MIPS_PB1550 is not set
18# CONFIG_MIPS_PB1200 is not set
19# CONFIG_MIPS_DB1000 is not set
20# CONFIG_MIPS_DB1100 is not set
21# CONFIG_MIPS_DB1500 is not set
22# CONFIG_MIPS_DB1550 is not set
23# CONFIG_MIPS_DB1200 is not set
24# CONFIG_MIPS_MIRAGE is not set
25# CONFIG_BASLER_EXCITE is not set 14# CONFIG_BASLER_EXCITE is not set
26# CONFIG_MIPS_COBALT is not set 15# CONFIG_MIPS_COBALT is not set
27# CONFIG_MACH_DECSTATION is not set 16# CONFIG_MACH_DECSTATION is not set
28# CONFIG_MIPS_EV64120 is not set
29# CONFIG_MACH_JAZZ is not set 17# CONFIG_MACH_JAZZ is not set
30# CONFIG_LASAT is not set
31# CONFIG_MIPS_ATLAS is not set 18# CONFIG_MIPS_ATLAS is not set
32# CONFIG_MIPS_MALTA is not set 19# CONFIG_MIPS_MALTA is not set
33# CONFIG_MIPS_SEAD is not set 20# CONFIG_MIPS_SEAD is not set
34# CONFIG_WR_PPMC is not set 21# CONFIG_WR_PPMC is not set
35# CONFIG_MIPS_SIM is not set 22# CONFIG_MIPS_SIM is not set
36# CONFIG_MOMENCO_JAGUAR_ATX is not set
37# CONFIG_MOMENCO_OCELOT is not set 23# CONFIG_MOMENCO_OCELOT is not set
38# CONFIG_MOMENCO_OCELOT_3 is not set
39# CONFIG_MOMENCO_OCELOT_C is not set
40# CONFIG_MOMENCO_OCELOT_G is not set
41# CONFIG_MIPS_XXS1500 is not set
42# CONFIG_PNX8550_JBS is not set 24# CONFIG_PNX8550_JBS is not set
43# CONFIG_PNX8550_STB810 is not set 25# CONFIG_PNX8550_STB810 is not set
44# CONFIG_DDB5477 is not set 26# CONFIG_DDB5477 is not set
45# CONFIG_MACH_VR41XX is not set 27# CONFIG_MACH_VR41XX is not set
28# CONFIG_PMC_MSP is not set
46# CONFIG_PMC_YOSEMITE is not set 29# CONFIG_PMC_YOSEMITE is not set
47# CONFIG_QEMU is not set 30# CONFIG_QEMU is not set
48# CONFIG_MARKEINS is not set 31# CONFIG_MARKEINS is not set
@@ -82,6 +65,8 @@ CONFIG_DMA_NONCOHERENT=y
82CONFIG_DMA_NEED_PCI_MAP_STATE=y 65CONFIG_DMA_NEED_PCI_MAP_STATE=y
83CONFIG_GENERIC_ISA_DMA=y 66CONFIG_GENERIC_ISA_DMA=y
84CONFIG_I8259=y 67CONFIG_I8259=y
68# CONFIG_NO_IOPORT is not set
69CONFIG_GENERIC_GPIO=y
85# CONFIG_CPU_BIG_ENDIAN is not set 70# CONFIG_CPU_BIG_ENDIAN is not set
86CONFIG_CPU_LITTLE_ENDIAN=y 71CONFIG_CPU_LITTLE_ENDIAN=y
87CONFIG_SYS_SUPPORTS_BIG_ENDIAN=y 72CONFIG_SYS_SUPPORTS_BIG_ENDIAN=y
@@ -93,6 +78,7 @@ CONFIG_HAVE_STD_PC_SERIAL_PORT=y
93# 78#
94# CPU selection 79# CPU selection
95# 80#
81# CONFIG_CPU_LOONGSON2 is not set
96# CONFIG_CPU_MIPS32_R1 is not set 82# CONFIG_CPU_MIPS32_R1 is not set
97# CONFIG_CPU_MIPS32_R2 is not set 83# CONFIG_CPU_MIPS32_R2 is not set
98# CONFIG_CPU_MIPS64_R1 is not set 84# CONFIG_CPU_MIPS64_R1 is not set
@@ -149,12 +135,12 @@ CONFIG_ZONE_DMA_FLAG=1
149# CONFIG_HZ_48 is not set 135# CONFIG_HZ_48 is not set
150# CONFIG_HZ_100 is not set 136# CONFIG_HZ_100 is not set
151# CONFIG_HZ_128 is not set 137# CONFIG_HZ_128 is not set
152# CONFIG_HZ_250 is not set 138CONFIG_HZ_250=y
153# CONFIG_HZ_256 is not set 139# CONFIG_HZ_256 is not set
154CONFIG_HZ_1000=y 140# CONFIG_HZ_1000 is not set
155# CONFIG_HZ_1024 is not set 141# CONFIG_HZ_1024 is not set
156CONFIG_SYS_SUPPORTS_ARBIT_HZ=y 142CONFIG_SYS_SUPPORTS_ARBIT_HZ=y
157CONFIG_HZ=1000 143CONFIG_HZ=250
158CONFIG_PREEMPT_NONE=y 144CONFIG_PREEMPT_NONE=y
159# CONFIG_PREEMPT_VOLUNTARY is not set 145# CONFIG_PREEMPT_VOLUNTARY is not set
160# CONFIG_PREEMPT is not set 146# CONFIG_PREEMPT is not set
@@ -186,28 +172,35 @@ CONFIG_SYSVIPC_SYSCTL=y
186# CONFIG_AUDIT is not set 172# CONFIG_AUDIT is not set
187CONFIG_IKCONFIG=y 173CONFIG_IKCONFIG=y
188CONFIG_IKCONFIG_PROC=y 174CONFIG_IKCONFIG_PROC=y
175CONFIG_LOG_BUF_SHIFT=14
189CONFIG_SYSFS_DEPRECATED=y 176CONFIG_SYSFS_DEPRECATED=y
190CONFIG_RELAY=y 177# CONFIG_RELAY is not set
178CONFIG_BLK_DEV_INITRD=y
191CONFIG_INITRAMFS_SOURCE="" 179CONFIG_INITRAMFS_SOURCE=""
192# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 180CONFIG_CC_OPTIMIZE_FOR_SIZE=y
193CONFIG_SYSCTL=y 181CONFIG_SYSCTL=y
194CONFIG_EMBEDDED=y 182CONFIG_EMBEDDED=y
195CONFIG_SYSCTL_SYSCALL=y 183CONFIG_SYSCTL_SYSCALL=y
196CONFIG_KALLSYMS=y 184CONFIG_KALLSYMS=y
197# CONFIG_KALLSYMS_EXTRA_PASS is not set 185# CONFIG_KALLSYMS_EXTRA_PASS is not set
198CONFIG_HOTPLUG=y 186# CONFIG_HOTPLUG is not set
199CONFIG_PRINTK=y 187CONFIG_PRINTK=y
200CONFIG_BUG=y 188CONFIG_BUG=y
201CONFIG_ELF_CORE=y 189CONFIG_ELF_CORE=y
202CONFIG_BASE_FULL=y 190CONFIG_BASE_FULL=y
203# CONFIG_FUTEX is not set 191# CONFIG_FUTEX is not set
192CONFIG_ANON_INODES=y
204# CONFIG_EPOLL is not set 193# CONFIG_EPOLL is not set
194CONFIG_SIGNALFD=y
195CONFIG_TIMERFD=y
196CONFIG_EVENTFD=y
205CONFIG_SHMEM=y 197CONFIG_SHMEM=y
206CONFIG_SLAB=y
207CONFIG_VM_EVENT_COUNTERS=y 198CONFIG_VM_EVENT_COUNTERS=y
199CONFIG_SLAB=y
200# CONFIG_SLUB is not set
201# CONFIG_SLOB is not set
208# CONFIG_TINY_SHMEM is not set 202# CONFIG_TINY_SHMEM is not set
209CONFIG_BASE_SMALL=0 203CONFIG_BASE_SMALL=0
210# CONFIG_SLOB is not set
211 204
212# 205#
213# Loadable module support 206# Loadable module support
@@ -244,17 +237,12 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
244# 237#
245CONFIG_HW_HAS_PCI=y 238CONFIG_HW_HAS_PCI=y
246CONFIG_PCI=y 239CONFIG_PCI=y
240# CONFIG_ARCH_SUPPORTS_MSI is not set
247CONFIG_MMU=y 241CONFIG_MMU=y
248 242
249# 243#
250# PCCARD (PCMCIA/CardBus) support 244# PCCARD (PCMCIA/CardBus) support
251# 245#
252# CONFIG_PCCARD is not set
253
254#
255# PCI Hotplug Support
256#
257# CONFIG_HOTPLUG_PCI is not set
258 246
259# 247#
260# Executable file formats 248# Executable file formats
@@ -266,10 +254,7 @@ CONFIG_TRAD_SIGNALS=y
266# 254#
267# Power management options 255# Power management options
268# 256#
269CONFIG_PM=y 257# CONFIG_PM is not set
270# CONFIG_PM_LEGACY is not set
271# CONFIG_PM_DEBUG is not set
272# CONFIG_PM_SYSFS_DEPRECATED is not set
273 258
274# 259#
275# Networking 260# Networking
@@ -279,14 +264,9 @@ CONFIG_NET=y
279# 264#
280# Networking options 265# Networking options
281# 266#
282# CONFIG_NETDEBUG is not set
283CONFIG_PACKET=y 267CONFIG_PACKET=y
284# CONFIG_PACKET_MMAP is not set 268# CONFIG_PACKET_MMAP is not set
285CONFIG_UNIX=y 269CONFIG_UNIX=y
286CONFIG_XFRM=y
287# CONFIG_XFRM_USER is not set
288# CONFIG_XFRM_SUB_POLICY is not set
289CONFIG_XFRM_MIGRATE=y
290# CONFIG_NET_KEY is not set 270# CONFIG_NET_KEY is not set
291CONFIG_INET=y 271CONFIG_INET=y
292CONFIG_IP_MULTICAST=y 272CONFIG_IP_MULTICAST=y
@@ -294,7 +274,7 @@ CONFIG_IP_MULTICAST=y
294CONFIG_IP_FIB_HASH=y 274CONFIG_IP_FIB_HASH=y
295CONFIG_IP_PNP=y 275CONFIG_IP_PNP=y
296# CONFIG_IP_PNP_DHCP is not set 276# CONFIG_IP_PNP_DHCP is not set
297CONFIG_IP_PNP_BOOTP=y 277# CONFIG_IP_PNP_BOOTP is not set
298# CONFIG_IP_PNP_RARP is not set 278# CONFIG_IP_PNP_RARP is not set
299# CONFIG_NET_IPIP is not set 279# CONFIG_NET_IPIP is not set
300# CONFIG_NET_IPGRE is not set 280# CONFIG_NET_IPGRE is not set
@@ -305,130 +285,23 @@ CONFIG_IP_PNP_BOOTP=y
305# CONFIG_INET_ESP is not set 285# CONFIG_INET_ESP is not set
306# CONFIG_INET_IPCOMP is not set 286# CONFIG_INET_IPCOMP is not set
307# CONFIG_INET_XFRM_TUNNEL is not set 287# CONFIG_INET_XFRM_TUNNEL is not set
308CONFIG_INET_TUNNEL=m 288# CONFIG_INET_TUNNEL is not set
309CONFIG_INET_XFRM_MODE_TRANSPORT=m 289# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
310CONFIG_INET_XFRM_MODE_TUNNEL=m 290# CONFIG_INET_XFRM_MODE_TUNNEL is not set
311CONFIG_INET_XFRM_MODE_BEET=m 291# CONFIG_INET_XFRM_MODE_BEET is not set
312CONFIG_INET_DIAG=y 292CONFIG_INET_DIAG=y
313CONFIG_INET_TCP_DIAG=y 293CONFIG_INET_TCP_DIAG=y
314# CONFIG_TCP_CONG_ADVANCED is not set 294# CONFIG_TCP_CONG_ADVANCED is not set
315CONFIG_TCP_CONG_CUBIC=y 295CONFIG_TCP_CONG_CUBIC=y
316CONFIG_DEFAULT_TCP_CONG="cubic" 296CONFIG_DEFAULT_TCP_CONG="cubic"
317CONFIG_TCP_MD5SIG=y 297# CONFIG_TCP_MD5SIG is not set
318 298# CONFIG_IPV6 is not set
319#
320# IP: Virtual Server Configuration
321#
322# CONFIG_IP_VS is not set
323CONFIG_IPV6=m
324# CONFIG_IPV6_PRIVACY is not set
325CONFIG_IPV6_ROUTER_PREF=y
326CONFIG_IPV6_ROUTE_INFO=y
327# CONFIG_INET6_AH is not set
328# CONFIG_INET6_ESP is not set
329# CONFIG_INET6_IPCOMP is not set
330CONFIG_IPV6_MIP6=y
331# CONFIG_INET6_XFRM_TUNNEL is not set 299# CONFIG_INET6_XFRM_TUNNEL is not set
332# CONFIG_INET6_TUNNEL is not set 300# CONFIG_INET6_TUNNEL is not set
333CONFIG_INET6_XFRM_MODE_TRANSPORT=m 301# CONFIG_NETWORK_SECMARK is not set
334CONFIG_INET6_XFRM_MODE_TUNNEL=m 302# CONFIG_NETFILTER is not set
335CONFIG_INET6_XFRM_MODE_BEET=m
336CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
337CONFIG_IPV6_SIT=m
338# CONFIG_IPV6_TUNNEL is not set
339CONFIG_IPV6_MULTIPLE_TABLES=y
340CONFIG_IPV6_SUBTREES=y
341CONFIG_NETWORK_SECMARK=y
342CONFIG_NETFILTER=y
343# CONFIG_NETFILTER_DEBUG is not set
344
345#
346# Core Netfilter Configuration
347#
348CONFIG_NETFILTER_NETLINK=m
349CONFIG_NETFILTER_NETLINK_QUEUE=m
350CONFIG_NETFILTER_NETLINK_LOG=m
351CONFIG_NF_CONNTRACK_ENABLED=m
352CONFIG_NF_CONNTRACK_SUPPORT=y
353# CONFIG_IP_NF_CONNTRACK_SUPPORT is not set
354CONFIG_NF_CONNTRACK=m
355CONFIG_NF_CT_ACCT=y
356CONFIG_NF_CONNTRACK_MARK=y
357CONFIG_NF_CONNTRACK_SECMARK=y
358CONFIG_NF_CONNTRACK_EVENTS=y
359CONFIG_NF_CT_PROTO_GRE=m
360CONFIG_NF_CT_PROTO_SCTP=m
361CONFIG_NF_CONNTRACK_AMANDA=m
362CONFIG_NF_CONNTRACK_FTP=m
363CONFIG_NF_CONNTRACK_H323=m
364CONFIG_NF_CONNTRACK_IRC=m
365# CONFIG_NF_CONNTRACK_NETBIOS_NS is not set
366CONFIG_NF_CONNTRACK_PPTP=m
367CONFIG_NF_CONNTRACK_SANE=m
368CONFIG_NF_CONNTRACK_SIP=m
369CONFIG_NF_CONNTRACK_TFTP=m
370CONFIG_NF_CT_NETLINK=m
371CONFIG_NETFILTER_XTABLES=m
372CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
373CONFIG_NETFILTER_XT_TARGET_MARK=m
374CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
375CONFIG_NETFILTER_XT_TARGET_NFLOG=m
376CONFIG_NETFILTER_XT_TARGET_SECMARK=m
377CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m
378CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
379CONFIG_NETFILTER_XT_MATCH_COMMENT=m
380CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
381CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
382CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
383CONFIG_NETFILTER_XT_MATCH_DCCP=m
384CONFIG_NETFILTER_XT_MATCH_DSCP=m
385CONFIG_NETFILTER_XT_MATCH_ESP=m
386CONFIG_NETFILTER_XT_MATCH_HELPER=m
387CONFIG_NETFILTER_XT_MATCH_LENGTH=m
388CONFIG_NETFILTER_XT_MATCH_LIMIT=m
389CONFIG_NETFILTER_XT_MATCH_MAC=m
390CONFIG_NETFILTER_XT_MATCH_MARK=m
391# CONFIG_NETFILTER_XT_MATCH_POLICY is not set
392CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
393CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
394CONFIG_NETFILTER_XT_MATCH_QUOTA=m
395CONFIG_NETFILTER_XT_MATCH_REALM=m
396CONFIG_NETFILTER_XT_MATCH_SCTP=m
397CONFIG_NETFILTER_XT_MATCH_STATE=m
398CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
399CONFIG_NETFILTER_XT_MATCH_STRING=m
400CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
401CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
402
403#
404# IP: Netfilter Configuration
405#
406CONFIG_NF_CONNTRACK_IPV4=m
407CONFIG_NF_CONNTRACK_PROC_COMPAT=y
408# CONFIG_IP_NF_QUEUE is not set
409# CONFIG_IP_NF_IPTABLES is not set
410# CONFIG_IP_NF_ARPTABLES is not set
411
412#
413# IPv6: Netfilter Configuration (EXPERIMENTAL)
414#
415CONFIG_NF_CONNTRACK_IPV6=m
416# CONFIG_IP6_NF_QUEUE is not set
417# CONFIG_IP6_NF_IPTABLES is not set
418
419#
420# DCCP Configuration (EXPERIMENTAL)
421#
422# CONFIG_IP_DCCP is not set 303# CONFIG_IP_DCCP is not set
423
424#
425# SCTP Configuration (EXPERIMENTAL)
426#
427# CONFIG_IP_SCTP is not set 304# CONFIG_IP_SCTP is not set
428
429#
430# TIPC Configuration (EXPERIMENTAL)
431#
432# CONFIG_TIPC is not set 305# CONFIG_TIPC is not set
433# CONFIG_ATM is not set 306# CONFIG_ATM is not set
434# CONFIG_BRIDGE is not set 307# CONFIG_BRIDGE is not set
@@ -446,7 +319,6 @@ CONFIG_NF_CONNTRACK_IPV6=m
446# QoS and/or fair queueing 319# QoS and/or fair queueing
447# 320#
448# CONFIG_NET_SCHED is not set 321# CONFIG_NET_SCHED is not set
449CONFIG_NET_CLS_ROUTE=y
450 322
451# 323#
452# Network testing 324# Network testing
@@ -455,15 +327,16 @@ CONFIG_NET_CLS_ROUTE=y
455# CONFIG_HAMRADIO is not set 327# CONFIG_HAMRADIO is not set
456# CONFIG_IRDA is not set 328# CONFIG_IRDA is not set
457# CONFIG_BT is not set 329# CONFIG_BT is not set
458CONFIG_IEEE80211=m 330# CONFIG_AF_RXRPC is not set
459# CONFIG_IEEE80211_DEBUG is not set 331
460CONFIG_IEEE80211_CRYPT_WEP=m 332#
461CONFIG_IEEE80211_CRYPT_CCMP=m 333# Wireless
462CONFIG_IEEE80211_CRYPT_TKIP=m 334#
463CONFIG_IEEE80211_SOFTMAC=m 335# CONFIG_CFG80211 is not set
464# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set 336# CONFIG_WIRELESS_EXT is not set
465CONFIG_WIRELESS_EXT=y 337# CONFIG_MAC80211 is not set
466CONFIG_FIB_RULES=y 338# CONFIG_IEEE80211 is not set
339# CONFIG_RFKILL is not set
467 340
468# 341#
469# Device Drivers 342# Device Drivers
@@ -474,94 +347,13 @@ CONFIG_FIB_RULES=y
474# 347#
475CONFIG_STANDALONE=y 348CONFIG_STANDALONE=y
476CONFIG_PREVENT_FIRMWARE_BUILD=y 349CONFIG_PREVENT_FIRMWARE_BUILD=y
477CONFIG_FW_LOADER=m
478# CONFIG_SYS_HYPERVISOR is not set 350# CONFIG_SYS_HYPERVISOR is not set
479 351
480# 352#
481# Connector - unified userspace <-> kernelspace linker 353# Connector - unified userspace <-> kernelspace linker
482# 354#
483CONFIG_CONNECTOR=m 355# CONFIG_CONNECTOR is not set
484 356# CONFIG_MTD is not set
485#
486# Memory Technology Devices (MTD)
487#
488CONFIG_MTD=y
489# CONFIG_MTD_DEBUG is not set
490# CONFIG_MTD_CONCAT is not set
491CONFIG_MTD_PARTITIONS=y
492# CONFIG_MTD_REDBOOT_PARTS is not set
493# CONFIG_MTD_CMDLINE_PARTS is not set
494
495#
496# User Modules And Translation Layers
497#
498CONFIG_MTD_CHAR=y
499CONFIG_MTD_BLKDEVS=y
500CONFIG_MTD_BLOCK=y
501# CONFIG_FTL is not set
502# CONFIG_NFTL is not set
503# CONFIG_INFTL is not set
504# CONFIG_RFD_FTL is not set
505# CONFIG_SSFDC is not set
506
507#
508# RAM/ROM/Flash chip drivers
509#
510CONFIG_MTD_CFI=y
511# CONFIG_MTD_JEDECPROBE is not set
512CONFIG_MTD_GEN_PROBE=y
513# CONFIG_MTD_CFI_ADV_OPTIONS is not set
514CONFIG_MTD_MAP_BANK_WIDTH_1=y
515CONFIG_MTD_MAP_BANK_WIDTH_2=y
516CONFIG_MTD_MAP_BANK_WIDTH_4=y
517# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
518# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
519# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
520CONFIG_MTD_CFI_I1=y
521CONFIG_MTD_CFI_I2=y
522# CONFIG_MTD_CFI_I4 is not set
523# CONFIG_MTD_CFI_I8 is not set
524CONFIG_MTD_CFI_INTELEXT=y
525CONFIG_MTD_CFI_AMDSTD=y
526# CONFIG_MTD_CFI_STAA is not set
527CONFIG_MTD_CFI_UTIL=y
528# CONFIG_MTD_RAM is not set
529# CONFIG_MTD_ROM is not set
530# CONFIG_MTD_ABSENT is not set
531# CONFIG_MTD_OBSOLETE_CHIPS is not set
532
533#
534# Mapping drivers for chip access
535#
536# CONFIG_MTD_COMPLEX_MAPPINGS is not set
537# CONFIG_MTD_PHYSMAP is not set
538# CONFIG_MTD_PLATRAM is not set
539
540#
541# Self-contained MTD device drivers
542#
543# CONFIG_MTD_PMC551 is not set
544# CONFIG_MTD_SLRAM is not set
545# CONFIG_MTD_PHRAM is not set
546# CONFIG_MTD_MTDRAM is not set
547# CONFIG_MTD_BLOCK2MTD is not set
548
549#
550# Disk-On-Chip Device Drivers
551#
552# CONFIG_MTD_DOC2000 is not set
553# CONFIG_MTD_DOC2001 is not set
554# CONFIG_MTD_DOC2001PLUS is not set
555
556#
557# NAND Flash Device Drivers
558#
559# CONFIG_MTD_NAND is not set
560
561#
562# OneNAND Flash Device Drivers
563#
564# CONFIG_MTD_ONENAND is not set
565 357
566# 358#
567# Parallel port support 359# Parallel port support
@@ -583,93 +375,30 @@ CONFIG_MTD_CFI_UTIL=y
583# CONFIG_BLK_DEV_COW_COMMON is not set 375# CONFIG_BLK_DEV_COW_COMMON is not set
584CONFIG_BLK_DEV_LOOP=y 376CONFIG_BLK_DEV_LOOP=y
585# CONFIG_BLK_DEV_CRYPTOLOOP is not set 377# CONFIG_BLK_DEV_CRYPTOLOOP is not set
586CONFIG_BLK_DEV_NBD=m 378# CONFIG_BLK_DEV_NBD is not set
587# CONFIG_BLK_DEV_SX8 is not set 379# CONFIG_BLK_DEV_SX8 is not set
588# CONFIG_BLK_DEV_UB is not set
589CONFIG_BLK_DEV_RAM=y 380CONFIG_BLK_DEV_RAM=y
590CONFIG_BLK_DEV_RAM_COUNT=16 381CONFIG_BLK_DEV_RAM_COUNT=16
591CONFIG_BLK_DEV_RAM_SIZE=8192 382CONFIG_BLK_DEV_RAM_SIZE=8192
592CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 383CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
593CONFIG_BLK_DEV_INITRD=y
594# CONFIG_CDROM_PKTCDVD is not set 384# CONFIG_CDROM_PKTCDVD is not set
595# CONFIG_ATA_OVER_ETH is not set 385# CONFIG_ATA_OVER_ETH is not set
596 386
597# 387#
598# Misc devices 388# Misc devices
599# 389#
600CONFIG_SGI_IOC4=m 390# CONFIG_PHANTOM is not set
391# CONFIG_SGI_IOC4 is not set
601# CONFIG_TIFM_CORE is not set 392# CONFIG_TIFM_CORE is not set
602 393# CONFIG_BLINK is not set
603# 394# CONFIG_IDE is not set
604# ATA/ATAPI/MFM/RLL support
605#
606CONFIG_IDE=y
607CONFIG_IDE_MAX_HWIFS=4
608CONFIG_BLK_DEV_IDE=y
609
610#
611# Please see Documentation/ide.txt for help/info on IDE drives
612#
613# CONFIG_BLK_DEV_IDE_SATA is not set
614CONFIG_BLK_DEV_IDEDISK=y
615# CONFIG_IDEDISK_MULTI_MODE is not set
616CONFIG_BLK_DEV_IDECD=y
617# CONFIG_BLK_DEV_IDETAPE is not set
618# CONFIG_BLK_DEV_IDEFLOPPY is not set
619# CONFIG_IDE_TASK_IOCTL is not set
620
621#
622# IDE chipset support/bugfixes
623#
624CONFIG_IDE_GENERIC=y
625CONFIG_BLK_DEV_IDEPCI=y
626CONFIG_IDEPCI_SHARE_IRQ=y
627# CONFIG_BLK_DEV_OFFBOARD is not set
628# CONFIG_BLK_DEV_GENERIC is not set
629# CONFIG_BLK_DEV_OPTI621 is not set
630CONFIG_BLK_DEV_IDEDMA_PCI=y
631# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
632# CONFIG_IDEDMA_PCI_AUTO is not set
633# CONFIG_BLK_DEV_AEC62XX is not set
634# CONFIG_BLK_DEV_ALI15X3 is not set
635# CONFIG_BLK_DEV_AMD74XX is not set
636# CONFIG_BLK_DEV_CMD64X is not set
637# CONFIG_BLK_DEV_TRIFLEX is not set
638# CONFIG_BLK_DEV_CY82C693 is not set
639# CONFIG_BLK_DEV_CS5520 is not set
640# CONFIG_BLK_DEV_CS5530 is not set
641# CONFIG_BLK_DEV_HPT34X is not set
642# CONFIG_BLK_DEV_HPT366 is not set
643# CONFIG_BLK_DEV_JMICRON is not set
644# CONFIG_BLK_DEV_SC1200 is not set
645# CONFIG_BLK_DEV_PIIX is not set
646CONFIG_BLK_DEV_IT8213=m
647# CONFIG_BLK_DEV_IT821X is not set
648# CONFIG_BLK_DEV_NS87415 is not set
649# CONFIG_BLK_DEV_PDC202XX_OLD is not set
650# CONFIG_BLK_DEV_PDC202XX_NEW is not set
651# CONFIG_BLK_DEV_SVWKS is not set
652# CONFIG_BLK_DEV_SIIMAGE is not set
653# CONFIG_BLK_DEV_SLC90E66 is not set
654# CONFIG_BLK_DEV_TRM290 is not set
655# CONFIG_BLK_DEV_VIA82CXXX is not set
656CONFIG_BLK_DEV_TC86C001=m
657# CONFIG_IDE_ARM is not set
658CONFIG_BLK_DEV_IDEDMA=y
659# CONFIG_IDEDMA_IVB is not set
660# CONFIG_IDEDMA_AUTO is not set
661# CONFIG_BLK_DEV_HD is not set
662 395
663# 396#
664# SCSI device support 397# SCSI device support
665# 398#
666CONFIG_RAID_ATTRS=m 399# CONFIG_RAID_ATTRS is not set
667# CONFIG_SCSI is not set 400# CONFIG_SCSI is not set
668# CONFIG_SCSI_NETLINK is not set 401# CONFIG_SCSI_NETLINK is not set
669
670#
671# Serial ATA (prod) and Parallel ATA (experimental) drivers
672#
673# CONFIG_ATA is not set 402# CONFIG_ATA is not set
674 403
675# 404#
@@ -685,6 +414,7 @@ CONFIG_RAID_ATTRS=m
685# 414#
686# IEEE 1394 (FireWire) support 415# IEEE 1394 (FireWire) support
687# 416#
417# CONFIG_FIREWIRE is not set
688# CONFIG_IEEE1394 is not set 418# CONFIG_IEEE1394 is not set
689 419
690# 420#
@@ -699,36 +429,15 @@ CONFIG_NETDEVICES=y
699# CONFIG_DUMMY is not set 429# CONFIG_DUMMY is not set
700# CONFIG_BONDING is not set 430# CONFIG_BONDING is not set
701# CONFIG_EQUALIZER is not set 431# CONFIG_EQUALIZER is not set
702CONFIG_TUN=m 432# CONFIG_TUN is not set
703
704#
705# ARCnet devices
706#
707# CONFIG_ARCNET is not set 433# CONFIG_ARCNET is not set
708 434# CONFIG_PHYLIB is not set
709#
710# PHY device support
711#
712CONFIG_PHYLIB=m
713
714#
715# MII PHY device drivers
716#
717CONFIG_MARVELL_PHY=m
718CONFIG_DAVICOM_PHY=m
719CONFIG_QSEMI_PHY=m
720CONFIG_LXT_PHY=m
721CONFIG_CICADA_PHY=m
722CONFIG_VITESSE_PHY=m
723CONFIG_SMSC_PHY=m
724# CONFIG_BROADCOM_PHY is not set
725# CONFIG_FIXED_PHY is not set
726 435
727# 436#
728# Ethernet (10 or 100Mbit) 437# Ethernet (10 or 100Mbit)
729# 438#
730CONFIG_NET_ETHERNET=y 439CONFIG_NET_ETHERNET=y
731# CONFIG_MII is not set 440CONFIG_MII=y
732# CONFIG_HAPPYMEAL is not set 441# CONFIG_HAPPYMEAL is not set
733# CONFIG_SUNGEM is not set 442# CONFIG_SUNGEM is not set
734# CONFIG_CASSINI is not set 443# CONFIG_CASSINI is not set
@@ -747,6 +456,7 @@ CONFIG_NET_PCI=y
747# CONFIG_ADAPTEC_STARFIRE is not set 456# CONFIG_ADAPTEC_STARFIRE is not set
748# CONFIG_B44 is not set 457# CONFIG_B44 is not set
749# CONFIG_FORCEDETH is not set 458# CONFIG_FORCEDETH is not set
459CONFIG_TC35815=y
750# CONFIG_DGRS is not set 460# CONFIG_DGRS is not set
751# CONFIG_EEPRO100 is not set 461# CONFIG_EEPRO100 is not set
752# CONFIG_E100 is not set 462# CONFIG_E100 is not set
@@ -761,91 +471,20 @@ CONFIG_NET_PCI=y
761# CONFIG_TLAN is not set 471# CONFIG_TLAN is not set
762# CONFIG_VIA_RHINE is not set 472# CONFIG_VIA_RHINE is not set
763# CONFIG_SC92031 is not set 473# CONFIG_SC92031 is not set
764 474# CONFIG_NETDEV_1000 is not set
765# 475# CONFIG_NETDEV_10000 is not set
766# Ethernet (1000 Mbit)
767#
768# CONFIG_ACENIC is not set
769# CONFIG_DL2K is not set
770# CONFIG_E1000 is not set
771# CONFIG_NS83820 is not set
772# CONFIG_HAMACHI is not set
773# CONFIG_YELLOWFIN is not set
774# CONFIG_R8169 is not set
775# CONFIG_SIS190 is not set
776# CONFIG_SKGE is not set
777# CONFIG_SKY2 is not set
778# CONFIG_SK98LIN is not set
779# CONFIG_VIA_VELOCITY is not set
780# CONFIG_TIGON3 is not set
781# CONFIG_BNX2 is not set
782CONFIG_QLA3XXX=m
783# CONFIG_ATL1 is not set
784
785#
786# Ethernet (10000 Mbit)
787#
788# CONFIG_CHELSIO_T1 is not set
789CONFIG_CHELSIO_T3=m
790# CONFIG_IXGB is not set
791# CONFIG_S2IO is not set
792# CONFIG_MYRI10GE is not set
793CONFIG_NETXEN_NIC=m
794
795#
796# Token Ring devices
797#
798# CONFIG_TR is not set 476# CONFIG_TR is not set
799 477
800# 478#
801# Wireless LAN (non-hamradio) 479# Wireless LAN
802#
803CONFIG_NET_RADIO=y
804# CONFIG_NET_WIRELESS_RTNETLINK is not set
805
806#
807# Obsolete Wireless cards support (pre-802.11)
808#
809# CONFIG_STRIP is not set
810
811#
812# Wireless 802.11b ISA/PCI cards support
813#
814# CONFIG_IPW2100 is not set
815CONFIG_IPW2200=m
816# CONFIG_IPW2200_MONITOR is not set
817# CONFIG_IPW2200_QOS is not set
818# CONFIG_IPW2200_DEBUG is not set
819# CONFIG_HERMES is not set
820# CONFIG_ATMEL is not set
821
822#
823# Prism GT/Duette 802.11(a/b/g) PCI/Cardbus support
824#
825# CONFIG_PRISM54 is not set
826# CONFIG_USB_ZD1201 is not set
827# CONFIG_HOSTAP is not set
828# CONFIG_BCM43XX is not set
829# CONFIG_ZD1211RW is not set
830CONFIG_NET_WIRELESS=y
831
832#
833# Wan interfaces
834# 480#
481# CONFIG_WLAN_PRE80211 is not set
482# CONFIG_WLAN_80211 is not set
835# CONFIG_WAN is not set 483# CONFIG_WAN is not set
836# CONFIG_FDDI is not set 484# CONFIG_FDDI is not set
837# CONFIG_HIPPI is not set 485# CONFIG_HIPPI is not set
838CONFIG_PPP=m 486# CONFIG_PPP is not set
839CONFIG_PPP_MULTILINK=y
840# CONFIG_PPP_FILTER is not set
841CONFIG_PPP_ASYNC=m
842CONFIG_PPP_SYNC_TTY=m
843CONFIG_PPP_DEFLATE=m
844# CONFIG_PPP_BSDCOMP is not set
845CONFIG_PPP_MPPE=m
846CONFIG_PPPOE=m
847# CONFIG_SLIP is not set 487# CONFIG_SLIP is not set
848CONFIG_SLHC=m
849# CONFIG_SHAPER is not set 488# CONFIG_SHAPER is not set
850# CONFIG_NETCONSOLE is not set 489# CONFIG_NETCONSOLE is not set
851# CONFIG_NETPOLL is not set 490# CONFIG_NETPOLL is not set
@@ -864,57 +503,18 @@ CONFIG_SLHC=m
864# 503#
865# Input device support 504# Input device support
866# 505#
867CONFIG_INPUT=y 506# CONFIG_INPUT is not set
868# CONFIG_INPUT_FF_MEMLESS is not set
869
870#
871# Userland interfaces
872#
873CONFIG_INPUT_MOUSEDEV=y
874CONFIG_INPUT_MOUSEDEV_PSAUX=y
875CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
876CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
877# CONFIG_INPUT_JOYDEV is not set
878# CONFIG_INPUT_TSDEV is not set
879CONFIG_INPUT_EVDEV=y
880# CONFIG_INPUT_EVBUG is not set
881
882#
883# Input Device Drivers
884#
885CONFIG_INPUT_KEYBOARD=y
886CONFIG_KEYBOARD_ATKBD=y
887# CONFIG_KEYBOARD_SUNKBD is not set
888# CONFIG_KEYBOARD_LKKBD is not set
889# CONFIG_KEYBOARD_XTKBD is not set
890# CONFIG_KEYBOARD_NEWTON is not set
891# CONFIG_KEYBOARD_STOWAWAY is not set
892CONFIG_INPUT_MOUSE=y
893CONFIG_MOUSE_PS2=y
894# CONFIG_MOUSE_SERIAL is not set
895# CONFIG_MOUSE_VSXXXAA is not set
896# CONFIG_INPUT_JOYSTICK is not set
897# CONFIG_INPUT_TOUCHSCREEN is not set
898# CONFIG_INPUT_MISC is not set
899 507
900# 508#
901# Hardware I/O ports 509# Hardware I/O ports
902# 510#
903CONFIG_SERIO=y 511# CONFIG_SERIO is not set
904CONFIG_SERIO_I8042=y
905CONFIG_SERIO_SERPORT=y
906# CONFIG_SERIO_PCIPS2 is not set
907CONFIG_SERIO_LIBPS2=y
908# CONFIG_SERIO_RAW is not set
909# CONFIG_GAMEPORT is not set 512# CONFIG_GAMEPORT is not set
910 513
911# 514#
912# Character devices 515# Character devices
913# 516#
914CONFIG_VT=y 517# CONFIG_VT is not set
915CONFIG_VT_CONSOLE=y
916CONFIG_HW_CONSOLE=y
917CONFIG_VT_HW_CONSOLE_BINDING=y
918# CONFIG_SERIAL_NONSTANDARD is not set 518# CONFIG_SERIAL_NONSTANDARD is not set
919 519
920# 520#
@@ -926,11 +526,12 @@ CONFIG_VT_HW_CONSOLE_BINDING=y
926# Non-8250 serial port support 526# Non-8250 serial port support
927# 527#
928CONFIG_SERIAL_CORE=y 528CONFIG_SERIAL_CORE=y
529CONFIG_SERIAL_CORE_CONSOLE=y
929CONFIG_SERIAL_TXX9=y 530CONFIG_SERIAL_TXX9=y
930CONFIG_HAS_TXX9_SERIAL=y 531CONFIG_HAS_TXX9_SERIAL=y
931CONFIG_SERIAL_TXX9_NR_UARTS=6 532CONFIG_SERIAL_TXX9_NR_UARTS=6
932# CONFIG_SERIAL_TXX9_CONSOLE is not set 533CONFIG_SERIAL_TXX9_CONSOLE=y
933# CONFIG_SERIAL_TXX9_STDSERIAL is not set 534CONFIG_SERIAL_TXX9_STDSERIAL=y
934# CONFIG_SERIAL_JSM is not set 535# CONFIG_SERIAL_JSM is not set
935CONFIG_UNIX98_PTYS=y 536CONFIG_UNIX98_PTYS=y
936CONFIG_LEGACY_PTYS=y 537CONFIG_LEGACY_PTYS=y
@@ -940,15 +541,10 @@ CONFIG_LEGACY_PTY_COUNT=256
940# IPMI 541# IPMI
941# 542#
942# CONFIG_IPMI_HANDLER is not set 543# CONFIG_IPMI_HANDLER is not set
943
944#
945# Watchdog Cards
946#
947# CONFIG_WATCHDOG is not set 544# CONFIG_WATCHDOG is not set
948# CONFIG_HW_RANDOM is not set 545# CONFIG_HW_RANDOM is not set
949# CONFIG_RTC is not set 546# CONFIG_RTC is not set
950# CONFIG_GEN_RTC is not set 547# CONFIG_GEN_RTC is not set
951# CONFIG_DTLK is not set
952# CONFIG_R3964 is not set 548# CONFIG_R3964 is not set
953# CONFIG_APPLICOM is not set 549# CONFIG_APPLICOM is not set
954# CONFIG_DRM is not set 550# CONFIG_DRM is not set
@@ -958,108 +554,61 @@ CONFIG_LEGACY_PTY_COUNT=256
958# TPM devices 554# TPM devices
959# 555#
960# CONFIG_TCG_TPM is not set 556# CONFIG_TCG_TPM is not set
557CONFIG_DEVPORT=y
558# CONFIG_I2C is not set
559
560#
561# SPI support
562#
563CONFIG_SPI=y
564CONFIG_SPI_MASTER=y
961 565
962# 566#
963# I2C support 567# SPI Master Controller Drivers
964# 568#
965# CONFIG_I2C is not set 569# CONFIG_SPI_BITBANG is not set
570CONFIG_SPI_TXX9=y
966 571
967# 572#
968# SPI support 573# SPI Protocol Masters
969# 574#
970# CONFIG_SPI is not set 575CONFIG_SPI_AT25=y
971# CONFIG_SPI_MASTER is not set 576# CONFIG_SPI_SPIDEV is not set
972 577
973# 578#
974# Dallas's 1-wire bus 579# Dallas's 1-wire bus
975# 580#
976# CONFIG_W1 is not set 581# CONFIG_W1 is not set
582# CONFIG_HWMON is not set
977 583
978# 584#
979# Hardware Monitoring support 585# Multifunction device drivers
980# 586#
981CONFIG_HWMON=y 587# CONFIG_MFD_SM501 is not set
982# CONFIG_HWMON_VID is not set
983# CONFIG_SENSORS_ABITUGURU is not set
984# CONFIG_SENSORS_F71805F is not set
985# CONFIG_SENSORS_PC87427 is not set
986# CONFIG_SENSORS_VT1211 is not set
987# CONFIG_HWMON_DEBUG_CHIP is not set
988 588
989# 589#
990# Multimedia devices 590# Multimedia devices
991# 591#
992# CONFIG_VIDEO_DEV is not set 592# CONFIG_VIDEO_DEV is not set
993 593# CONFIG_DVB_CORE is not set
994# 594# CONFIG_DAB is not set
995# Digital Video Broadcasting Devices
996#
997# CONFIG_DVB is not set
998# CONFIG_USB_DABUSB is not set
999 595
1000# 596#
1001# Graphics support 597# Graphics support
1002# 598#
1003# CONFIG_FIRMWARE_EDID is not set
1004CONFIG_FB=y
1005CONFIG_FB_CFB_FILLRECT=y
1006CONFIG_FB_CFB_COPYAREA=y
1007CONFIG_FB_CFB_IMAGEBLIT=y
1008# CONFIG_FB_SVGALIB is not set
1009# CONFIG_FB_MACMODES is not set
1010# CONFIG_FB_BACKLIGHT is not set
1011# CONFIG_FB_MODE_HELPERS is not set
1012# CONFIG_FB_TILEBLITTING is not set
1013# CONFIG_FB_CIRRUS is not set
1014# CONFIG_FB_PM2 is not set
1015# CONFIG_FB_CYBER2000 is not set
1016# CONFIG_FB_ASILIANT is not set
1017# CONFIG_FB_IMSTT is not set
1018# CONFIG_FB_S1D13XXX is not set
1019# CONFIG_FB_NVIDIA is not set
1020# CONFIG_FB_RIVA is not set
1021# CONFIG_FB_MATROX is not set
1022# CONFIG_FB_RADEON is not set
1023# CONFIG_FB_ATY128 is not set
1024CONFIG_FB_ATY=y
1025CONFIG_FB_ATY_CT=y
1026# CONFIG_FB_ATY_GENERIC_LCD is not set
1027# CONFIG_FB_ATY_GX is not set
1028# CONFIG_FB_S3 is not set
1029# CONFIG_FB_SAVAGE is not set
1030# CONFIG_FB_SIS is not set
1031# CONFIG_FB_NEOMAGIC is not set
1032# CONFIG_FB_KYRO is not set
1033# CONFIG_FB_3DFX is not set
1034# CONFIG_FB_VOODOO1 is not set
1035# CONFIG_FB_SMIVGX is not set
1036# CONFIG_FB_TRIDENT is not set
1037# CONFIG_FB_VIRTUAL is not set
1038
1039#
1040# Console display driver support
1041#
1042CONFIG_VGA_CONSOLE=y
1043# CONFIG_VGACON_SOFT_SCROLLBACK is not set
1044CONFIG_DUMMY_CONSOLE=y
1045# CONFIG_FRAMEBUFFER_CONSOLE is not set
1046
1047#
1048# Logo configuration
1049#
1050# CONFIG_LOGO is not set
1051# CONFIG_BACKLIGHT_LCD_SUPPORT is not set 599# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
1052 600
1053# 601#
1054# Sound 602# Display device support
1055# 603#
1056# CONFIG_SOUND is not set 604# CONFIG_DISPLAY_SUPPORT is not set
605# CONFIG_VGASTATE is not set
606# CONFIG_FB is not set
1057 607
1058# 608#
1059# HID Devices 609# Sound
1060# 610#
1061CONFIG_HID=y 611# CONFIG_SOUND is not set
1062# CONFIG_HID_DEBUG is not set
1063 612
1064# 613#
1065# USB support 614# USB support
@@ -1067,148 +616,80 @@ CONFIG_HID=y
1067CONFIG_USB_ARCH_HAS_HCD=y 616CONFIG_USB_ARCH_HAS_HCD=y
1068CONFIG_USB_ARCH_HAS_OHCI=y 617CONFIG_USB_ARCH_HAS_OHCI=y
1069CONFIG_USB_ARCH_HAS_EHCI=y 618CONFIG_USB_ARCH_HAS_EHCI=y
1070CONFIG_USB=y 619# CONFIG_USB is not set
1071# CONFIG_USB_DEBUG is not set
1072
1073#
1074# Miscellaneous USB options
1075#
1076# CONFIG_USB_DEVICEFS is not set
1077# CONFIG_USB_DYNAMIC_MINORS is not set
1078# CONFIG_USB_SUSPEND is not set
1079# CONFIG_USB_OTG is not set
1080
1081#
1082# USB Host Controller Drivers
1083#
1084# CONFIG_USB_EHCI_HCD is not set
1085# CONFIG_USB_ISP116X_HCD is not set
1086# CONFIG_USB_OHCI_HCD is not set
1087# CONFIG_USB_UHCI_HCD is not set
1088# CONFIG_USB_SL811_HCD is not set
1089
1090#
1091# USB Device Class drivers
1092#
1093# CONFIG_USB_ACM is not set
1094# CONFIG_USB_PRINTER is not set
1095 620
1096# 621#
1097# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 622# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
1098# 623#
1099 624
1100# 625#
1101# may also be needed; see USB_STORAGE Help for more information 626# USB Gadget Support
1102#
1103# CONFIG_USB_LIBUSUAL is not set
1104
1105#
1106# USB Input Devices
1107#
1108CONFIG_USB_HID=y
1109# CONFIG_USB_HIDINPUT_POWERBOOK is not set
1110# CONFIG_HID_FF is not set
1111CONFIG_USB_HIDDEV=y
1112# CONFIG_USB_AIPTEK is not set
1113# CONFIG_USB_WACOM is not set
1114# CONFIG_USB_ACECAD is not set
1115# CONFIG_USB_KBTAB is not set
1116# CONFIG_USB_POWERMATE is not set
1117# CONFIG_USB_TOUCHSCREEN is not set
1118CONFIG_USB_YEALINK=m
1119# CONFIG_USB_XPAD is not set
1120# CONFIG_USB_ATI_REMOTE is not set
1121# CONFIG_USB_ATI_REMOTE2 is not set
1122# CONFIG_USB_KEYSPAN_REMOTE is not set
1123# CONFIG_USB_APPLETOUCH is not set
1124# CONFIG_USB_GTCO is not set
1125
1126#
1127# USB Imaging devices
1128#
1129# CONFIG_USB_MDC800 is not set
1130
1131#
1132# USB Network Adapters
1133#
1134# CONFIG_USB_CATC is not set
1135# CONFIG_USB_KAWETH is not set
1136# CONFIG_USB_PEGASUS is not set
1137# CONFIG_USB_RTL8150 is not set
1138# CONFIG_USB_USBNET_MII is not set
1139# CONFIG_USB_USBNET is not set
1140CONFIG_USB_MON=y
1141
1142#
1143# USB port drivers
1144# 627#
628# CONFIG_USB_GADGET is not set
629# CONFIG_MMC is not set
1145 630
1146# 631#
1147# USB Serial Converter support 632# LED devices
1148# 633#
1149# CONFIG_USB_SERIAL is not set 634# CONFIG_NEW_LEDS is not set
1150 635
1151# 636#
1152# USB Miscellaneous drivers 637# LED drivers
1153# 638#
1154# CONFIG_USB_EMI62 is not set
1155# CONFIG_USB_EMI26 is not set
1156# CONFIG_USB_ADUTUX is not set
1157# CONFIG_USB_AUERSWALD is not set
1158# CONFIG_USB_RIO500 is not set
1159# CONFIG_USB_LEGOTOWER is not set
1160# CONFIG_USB_LCD is not set
1161# CONFIG_USB_BERRY_CHARGE is not set
1162# CONFIG_USB_LED is not set
1163# CONFIG_USB_CYPRESS_CY7C63 is not set
1164# CONFIG_USB_CYTHERM is not set
1165# CONFIG_USB_PHIDGET is not set
1166# CONFIG_USB_IDMOUSE is not set
1167# CONFIG_USB_FTDI_ELAN is not set
1168# CONFIG_USB_APPLEDISPLAY is not set
1169# CONFIG_USB_LD is not set
1170# CONFIG_USB_TRANCEVIBRATOR is not set
1171 639
1172# 640#
1173# USB DSL modem support 641# LED Triggers
1174# 642#
1175 643
1176# 644#
1177# USB Gadget Support 645# InfiniBand support
1178# 646#
1179# CONFIG_USB_GADGET is not set 647# CONFIG_INFINIBAND is not set
1180 648
1181# 649#
1182# MMC/SD Card support 650# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
1183# 651#
1184# CONFIG_MMC is not set
1185 652
1186# 653#
1187# LED devices 654# Real Time Clock
1188# 655#
1189# CONFIG_NEW_LEDS is not set 656CONFIG_RTC_LIB=y
657CONFIG_RTC_CLASS=y
658CONFIG_RTC_HCTOSYS=y
659CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
660# CONFIG_RTC_DEBUG is not set
1190 661
1191# 662#
1192# LED drivers 663# RTC interfaces
1193# 664#
665CONFIG_RTC_INTF_SYSFS=y
666CONFIG_RTC_INTF_PROC=y
667CONFIG_RTC_INTF_DEV=y
668CONFIG_RTC_INTF_DEV_UIE_EMUL=y
669# CONFIG_RTC_DRV_TEST is not set
1194 670
1195# 671#
1196# LED Triggers 672# I2C RTC drivers
1197# 673#
1198 674
1199# 675#
1200# InfiniBand support 676# SPI RTC drivers
1201# 677#
1202# CONFIG_INFINIBAND is not set 678CONFIG_RTC_DRV_RS5C348=y
679# CONFIG_RTC_DRV_MAX6902 is not set
1203 680
1204# 681#
1205# EDAC - error detection and reporting (RAS) (EXPERIMENTAL) 682# Platform RTC drivers
1206# 683#
684# CONFIG_RTC_DRV_CMOS is not set
685# CONFIG_RTC_DRV_DS1553 is not set
686# CONFIG_RTC_DRV_DS1742 is not set
687# CONFIG_RTC_DRV_M48T86 is not set
688# CONFIG_RTC_DRV_V3020 is not set
1207 689
1208# 690#
1209# Real Time Clock 691# on-CPU RTC drivers
1210# 692#
1211# CONFIG_RTC_CLASS is not set
1212 693
1213# 694#
1214# DMA Engine support 695# DMA Engine support
@@ -1224,38 +705,15 @@ CONFIG_USB_MON=y
1224# 705#
1225 706
1226# 707#
1227# Auxiliary Display support
1228#
1229
1230#
1231# Virtualization
1232#
1233
1234#
1235# File systems 708# File systems
1236# 709#
1237CONFIG_EXT2_FS=y 710# CONFIG_EXT2_FS is not set
1238# CONFIG_EXT2_FS_XATTR is not set 711# CONFIG_EXT3_FS is not set
1239# CONFIG_EXT2_FS_XIP is not set
1240CONFIG_EXT3_FS=m
1241CONFIG_EXT3_FS_XATTR=y
1242# CONFIG_EXT3_FS_POSIX_ACL is not set
1243# CONFIG_EXT3_FS_SECURITY is not set
1244# CONFIG_EXT4DEV_FS is not set 712# CONFIG_EXT4DEV_FS is not set
1245CONFIG_JBD=m 713# CONFIG_REISERFS_FS is not set
1246# CONFIG_JBD_DEBUG is not set
1247CONFIG_FS_MBCACHE=y
1248CONFIG_REISERFS_FS=m
1249# CONFIG_REISERFS_CHECK is not set
1250# CONFIG_REISERFS_PROC_INFO is not set
1251# CONFIG_REISERFS_FS_XATTR is not set
1252# CONFIG_JFS_FS is not set 714# CONFIG_JFS_FS is not set
1253CONFIG_FS_POSIX_ACL=y 715CONFIG_FS_POSIX_ACL=y
1254CONFIG_XFS_FS=m 716# CONFIG_XFS_FS is not set
1255# CONFIG_XFS_QUOTA is not set
1256# CONFIG_XFS_SECURITY is not set
1257# CONFIG_XFS_POSIX_ACL is not set
1258# CONFIG_XFS_RT is not set
1259# CONFIG_GFS2_FS is not set 717# CONFIG_GFS2_FS is not set
1260# CONFIG_OCFS2_FS is not set 718# CONFIG_OCFS2_FS is not set
1261# CONFIG_MINIX_FS is not set 719# CONFIG_MINIX_FS is not set
@@ -1265,26 +723,21 @@ CONFIG_INOTIFY_USER=y
1265# CONFIG_QUOTA is not set 723# CONFIG_QUOTA is not set
1266# CONFIG_DNOTIFY is not set 724# CONFIG_DNOTIFY is not set
1267# CONFIG_AUTOFS_FS is not set 725# CONFIG_AUTOFS_FS is not set
1268CONFIG_AUTOFS4_FS=m 726# CONFIG_AUTOFS4_FS is not set
1269CONFIG_FUSE_FS=m 727# CONFIG_FUSE_FS is not set
1270CONFIG_GENERIC_ACL=y 728CONFIG_GENERIC_ACL=y
1271 729
1272# 730#
1273# CD-ROM/DVD Filesystems 731# CD-ROM/DVD Filesystems
1274# 732#
1275CONFIG_ISO9660_FS=y 733# CONFIG_ISO9660_FS is not set
1276# CONFIG_JOLIET is not set
1277# CONFIG_ZISOFS is not set
1278# CONFIG_UDF_FS is not set 734# CONFIG_UDF_FS is not set
1279 735
1280# 736#
1281# DOS/FAT/NT Filesystems 737# DOS/FAT/NT Filesystems
1282# 738#
1283CONFIG_FAT_FS=y
1284# CONFIG_MSDOS_FS is not set 739# CONFIG_MSDOS_FS is not set
1285CONFIG_VFAT_FS=y 740# CONFIG_VFAT_FS is not set
1286CONFIG_FAT_DEFAULT_CODEPAGE=437
1287CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
1288# CONFIG_NTFS_FS is not set 741# CONFIG_NTFS_FS is not set
1289 742
1290# 743#
@@ -1298,7 +751,7 @@ CONFIG_TMPFS=y
1298CONFIG_TMPFS_POSIX_ACL=y 751CONFIG_TMPFS_POSIX_ACL=y
1299# CONFIG_HUGETLB_PAGE is not set 752# CONFIG_HUGETLB_PAGE is not set
1300CONFIG_RAMFS=y 753CONFIG_RAMFS=y
1301CONFIG_CONFIGFS_FS=m 754# CONFIG_CONFIGFS_FS is not set
1302 755
1303# 756#
1304# Miscellaneous filesystems 757# Miscellaneous filesystems
@@ -1310,16 +763,7 @@ CONFIG_CONFIGFS_FS=m
1310# CONFIG_BEFS_FS is not set 763# CONFIG_BEFS_FS is not set
1311# CONFIG_BFS_FS is not set 764# CONFIG_BFS_FS is not set
1312# CONFIG_EFS_FS is not set 765# CONFIG_EFS_FS is not set
1313CONFIG_JFFS2_FS=y 766# CONFIG_CRAMFS is not set
1314CONFIG_JFFS2_FS_DEBUG=0
1315CONFIG_JFFS2_FS_WRITEBUFFER=y
1316# CONFIG_JFFS2_SUMMARY is not set
1317# CONFIG_JFFS2_FS_XATTR is not set
1318# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
1319CONFIG_JFFS2_ZLIB=y
1320CONFIG_JFFS2_RTIME=y
1321# CONFIG_JFFS2_RUBIN is not set
1322CONFIG_CRAMFS=y
1323# CONFIG_VXFS_FS is not set 767# CONFIG_VXFS_FS is not set
1324# CONFIG_HPFS_FS is not set 768# CONFIG_HPFS_FS is not set
1325# CONFIG_QNX4FS_FS is not set 769# CONFIG_QNX4FS_FS is not set
@@ -1334,19 +778,16 @@ CONFIG_NFS_V3=y
1334# CONFIG_NFS_V3_ACL is not set 778# CONFIG_NFS_V3_ACL is not set
1335# CONFIG_NFS_V4 is not set 779# CONFIG_NFS_V4 is not set
1336# CONFIG_NFS_DIRECTIO is not set 780# CONFIG_NFS_DIRECTIO is not set
1337CONFIG_NFSD=m 781# CONFIG_NFSD is not set
1338# CONFIG_NFSD_V3 is not set
1339# CONFIG_NFSD_TCP is not set
1340CONFIG_ROOT_NFS=y 782CONFIG_ROOT_NFS=y
1341CONFIG_LOCKD=y 783CONFIG_LOCKD=y
1342CONFIG_LOCKD_V4=y 784CONFIG_LOCKD_V4=y
1343CONFIG_EXPORTFS=m
1344CONFIG_NFS_COMMON=y 785CONFIG_NFS_COMMON=y
1345CONFIG_SUNRPC=y 786CONFIG_SUNRPC=y
787# CONFIG_SUNRPC_BIND34 is not set
1346# CONFIG_RPCSEC_GSS_KRB5 is not set 788# CONFIG_RPCSEC_GSS_KRB5 is not set
1347# CONFIG_RPCSEC_GSS_SPKM3 is not set 789# CONFIG_RPCSEC_GSS_SPKM3 is not set
1348CONFIG_SMB_FS=m 790# CONFIG_SMB_FS is not set
1349# CONFIG_SMB_NLS_DEFAULT is not set
1350# CONFIG_CIFS is not set 791# CONFIG_CIFS is not set
1351# CONFIG_NCP_FS is not set 792# CONFIG_NCP_FS is not set
1352# CONFIG_CODA_FS is not set 793# CONFIG_CODA_FS is not set
@@ -1362,54 +803,12 @@ CONFIG_MSDOS_PARTITION=y
1362# 803#
1363# Native Language Support 804# Native Language Support
1364# 805#
1365CONFIG_NLS=y 806# CONFIG_NLS is not set
1366CONFIG_NLS_DEFAULT="iso8859-1"
1367# CONFIG_NLS_CODEPAGE_437 is not set
1368# CONFIG_NLS_CODEPAGE_737 is not set
1369# CONFIG_NLS_CODEPAGE_775 is not set
1370# CONFIG_NLS_CODEPAGE_850 is not set
1371# CONFIG_NLS_CODEPAGE_852 is not set
1372# CONFIG_NLS_CODEPAGE_855 is not set
1373# CONFIG_NLS_CODEPAGE_857 is not set
1374# CONFIG_NLS_CODEPAGE_860 is not set
1375# CONFIG_NLS_CODEPAGE_861 is not set
1376# CONFIG_NLS_CODEPAGE_862 is not set
1377# CONFIG_NLS_CODEPAGE_863 is not set
1378# CONFIG_NLS_CODEPAGE_864 is not set
1379# CONFIG_NLS_CODEPAGE_865 is not set
1380# CONFIG_NLS_CODEPAGE_866 is not set
1381# CONFIG_NLS_CODEPAGE_869 is not set
1382# CONFIG_NLS_CODEPAGE_936 is not set
1383# CONFIG_NLS_CODEPAGE_950 is not set
1384# CONFIG_NLS_CODEPAGE_932 is not set
1385# CONFIG_NLS_CODEPAGE_949 is not set
1386# CONFIG_NLS_CODEPAGE_874 is not set
1387# CONFIG_NLS_ISO8859_8 is not set
1388# CONFIG_NLS_CODEPAGE_1250 is not set
1389# CONFIG_NLS_CODEPAGE_1251 is not set
1390# CONFIG_NLS_ASCII is not set
1391# CONFIG_NLS_ISO8859_1 is not set
1392# CONFIG_NLS_ISO8859_2 is not set
1393# CONFIG_NLS_ISO8859_3 is not set
1394# CONFIG_NLS_ISO8859_4 is not set
1395# CONFIG_NLS_ISO8859_5 is not set
1396# CONFIG_NLS_ISO8859_6 is not set
1397# CONFIG_NLS_ISO8859_7 is not set
1398# CONFIG_NLS_ISO8859_9 is not set
1399# CONFIG_NLS_ISO8859_13 is not set
1400# CONFIG_NLS_ISO8859_14 is not set
1401# CONFIG_NLS_ISO8859_15 is not set
1402# CONFIG_NLS_KOI8_R is not set
1403# CONFIG_NLS_KOI8_U is not set
1404# CONFIG_NLS_UTF8 is not set
1405 807
1406# 808#
1407# Distributed Lock Manager 809# Distributed Lock Manager
1408# 810#
1409CONFIG_DLM=m 811# CONFIG_DLM is not set
1410CONFIG_DLM_TCP=y
1411# CONFIG_DLM_SCTP is not set
1412# CONFIG_DLM_DEBUG is not set
1413 812
1414# 813#
1415# Profiling support 814# Profiling support
@@ -1427,7 +826,6 @@ CONFIG_ENABLE_MUST_CHECK=y
1427# CONFIG_DEBUG_FS is not set 826# CONFIG_DEBUG_FS is not set
1428# CONFIG_HEADERS_CHECK is not set 827# CONFIG_HEADERS_CHECK is not set
1429# CONFIG_DEBUG_KERNEL is not set 828# CONFIG_DEBUG_KERNEL is not set
1430CONFIG_LOG_BUF_SHIFT=14
1431CONFIG_CROSSCOMPILE=y 829CONFIG_CROSSCOMPILE=y
1432CONFIG_CMDLINE="" 830CONFIG_CMDLINE=""
1433CONFIG_SYS_SUPPORTS_KGDB=y 831CONFIG_SYS_SUPPORTS_KGDB=y
@@ -1441,62 +839,17 @@ CONFIG_SYS_SUPPORTS_KGDB=y
1441# 839#
1442# Cryptographic options 840# Cryptographic options
1443# 841#
1444CONFIG_CRYPTO=y 842# CONFIG_CRYPTO is not set
1445CONFIG_CRYPTO_ALGAPI=y
1446CONFIG_CRYPTO_BLKCIPHER=m
1447CONFIG_CRYPTO_HASH=y
1448CONFIG_CRYPTO_MANAGER=y
1449CONFIG_CRYPTO_HMAC=y
1450CONFIG_CRYPTO_XCBC=m
1451CONFIG_CRYPTO_NULL=m
1452CONFIG_CRYPTO_MD4=m
1453CONFIG_CRYPTO_MD5=y
1454CONFIG_CRYPTO_SHA1=m
1455CONFIG_CRYPTO_SHA256=m
1456CONFIG_CRYPTO_SHA512=m
1457CONFIG_CRYPTO_WP512=m
1458CONFIG_CRYPTO_TGR192=m
1459CONFIG_CRYPTO_GF128MUL=m
1460CONFIG_CRYPTO_ECB=m
1461CONFIG_CRYPTO_CBC=m
1462CONFIG_CRYPTO_PCBC=m
1463CONFIG_CRYPTO_LRW=m
1464CONFIG_CRYPTO_DES=m
1465CONFIG_CRYPTO_FCRYPT=m
1466CONFIG_CRYPTO_BLOWFISH=m
1467CONFIG_CRYPTO_TWOFISH=m
1468CONFIG_CRYPTO_TWOFISH_COMMON=m
1469CONFIG_CRYPTO_SERPENT=m
1470CONFIG_CRYPTO_AES=m
1471CONFIG_CRYPTO_CAST5=m
1472CONFIG_CRYPTO_CAST6=m
1473CONFIG_CRYPTO_TEA=m
1474CONFIG_CRYPTO_ARC4=m
1475CONFIG_CRYPTO_KHAZAD=m
1476CONFIG_CRYPTO_ANUBIS=m
1477CONFIG_CRYPTO_DEFLATE=m
1478CONFIG_CRYPTO_MICHAEL_MIC=m
1479CONFIG_CRYPTO_CRC32C=m
1480CONFIG_CRYPTO_CAMELLIA=m
1481# CONFIG_CRYPTO_TEST is not set
1482
1483#
1484# Hardware crypto devices
1485#
1486 843
1487# 844#
1488# Library routines 845# Library routines
1489# 846#
1490CONFIG_BITREVERSE=y 847CONFIG_BITREVERSE=y
1491CONFIG_CRC_CCITT=m 848# CONFIG_CRC_CCITT is not set
1492CONFIG_CRC16=m 849# CONFIG_CRC16 is not set
850# CONFIG_CRC_ITU_T is not set
1493CONFIG_CRC32=y 851CONFIG_CRC32=y
1494CONFIG_LIBCRC32C=m 852# CONFIG_LIBCRC32C is not set
1495CONFIG_ZLIB_INFLATE=y
1496CONFIG_ZLIB_DEFLATE=y
1497CONFIG_TEXTSEARCH=y
1498CONFIG_TEXTSEARCH_KMP=m
1499CONFIG_TEXTSEARCH_BM=m
1500CONFIG_TEXTSEARCH_FSM=m
1501CONFIG_HAS_IOMEM=y 853CONFIG_HAS_IOMEM=y
1502CONFIG_HAS_IOPORT=y 854CONFIG_HAS_IOPORT=y
855CONFIG_HAS_DMA=y
diff --git a/arch/mips/configs/rm200_defconfig b/arch/mips/configs/rm200_defconfig
index 5593cde9f74c..a5dc5cb97aae 100644
--- a/arch/mips/configs/rm200_defconfig
+++ b/arch/mips/configs/rm200_defconfig
@@ -25,9 +25,7 @@ CONFIG_ZONE_DMA=y
25# CONFIG_BASLER_EXCITE is not set 25# CONFIG_BASLER_EXCITE is not set
26# CONFIG_MIPS_COBALT is not set 26# CONFIG_MIPS_COBALT is not set
27# CONFIG_MACH_DECSTATION is not set 27# CONFIG_MACH_DECSTATION is not set
28# CONFIG_MIPS_EV64120 is not set
29# CONFIG_MACH_JAZZ is not set 28# CONFIG_MACH_JAZZ is not set
30# CONFIG_LASAT is not set
31# CONFIG_MIPS_ATLAS is not set 29# CONFIG_MIPS_ATLAS is not set
32# CONFIG_MIPS_MALTA is not set 30# CONFIG_MIPS_MALTA is not set
33# CONFIG_MIPS_SEAD is not set 31# CONFIG_MIPS_SEAD is not set
@@ -35,8 +33,6 @@ CONFIG_ZONE_DMA=y
35# CONFIG_MIPS_SIM is not set 33# CONFIG_MIPS_SIM is not set
36# CONFIG_MOMENCO_JAGUAR_ATX is not set 34# CONFIG_MOMENCO_JAGUAR_ATX is not set
37# CONFIG_MOMENCO_OCELOT is not set 35# CONFIG_MOMENCO_OCELOT is not set
38# CONFIG_MOMENCO_OCELOT_3 is not set
39# CONFIG_MOMENCO_OCELOT_C is not set
40# CONFIG_MOMENCO_OCELOT_G is not set 36# CONFIG_MOMENCO_OCELOT_G is not set
41# CONFIG_MIPS_XXS1500 is not set 37# CONFIG_MIPS_XXS1500 is not set
42# CONFIG_PNX8550_JBS is not set 38# CONFIG_PNX8550_JBS is not set
@@ -255,7 +251,7 @@ CONFIG_PCI=y
255CONFIG_ISA=y 251CONFIG_ISA=y
256# CONFIG_EISA is not set 252# CONFIG_EISA is not set
257CONFIG_MMU=y 253CONFIG_MMU=y
258CONFIG_I8253=y 254CONFIG_PCSPEAKER=y
259 255
260# 256#
261# PCCARD (PCMCIA/CardBus) support 257# PCCARD (PCMCIA/CardBus) support
diff --git a/arch/mips/configs/sb1250-swarm_defconfig b/arch/mips/configs/sb1250-swarm_defconfig
index 6c4f09a381e2..98a914092258 100644
--- a/arch/mips/configs/sb1250-swarm_defconfig
+++ b/arch/mips/configs/sb1250-swarm_defconfig
@@ -25,9 +25,7 @@ CONFIG_ZONE_DMA=y
25# CONFIG_BASLER_EXCITE is not set 25# CONFIG_BASLER_EXCITE is not set
26# CONFIG_MIPS_COBALT is not set 26# CONFIG_MIPS_COBALT is not set
27# CONFIG_MACH_DECSTATION is not set 27# CONFIG_MACH_DECSTATION is not set
28# CONFIG_MIPS_EV64120 is not set
29# CONFIG_MACH_JAZZ is not set 28# CONFIG_MACH_JAZZ is not set
30# CONFIG_LASAT is not set
31# CONFIG_MIPS_ATLAS is not set 29# CONFIG_MIPS_ATLAS is not set
32# CONFIG_MIPS_MALTA is not set 30# CONFIG_MIPS_MALTA is not set
33# CONFIG_MIPS_SEAD is not set 31# CONFIG_MIPS_SEAD is not set
@@ -35,8 +33,6 @@ CONFIG_ZONE_DMA=y
35# CONFIG_MIPS_SIM is not set 33# CONFIG_MIPS_SIM is not set
36# CONFIG_MOMENCO_JAGUAR_ATX is not set 34# CONFIG_MOMENCO_JAGUAR_ATX is not set
37# CONFIG_MOMENCO_OCELOT is not set 35# CONFIG_MOMENCO_OCELOT is not set
38# CONFIG_MOMENCO_OCELOT_3 is not set
39# CONFIG_MOMENCO_OCELOT_C is not set
40# CONFIG_MOMENCO_OCELOT_G is not set 36# CONFIG_MOMENCO_OCELOT_G is not set
41# CONFIG_MIPS_XXS1500 is not set 37# CONFIG_MIPS_XXS1500 is not set
42# CONFIG_PNX8550_JBS is not set 38# CONFIG_PNX8550_JBS is not set
diff --git a/arch/mips/configs/sead_defconfig b/arch/mips/configs/sead_defconfig
index 988b9cdef01f..69c08b24c82a 100644
--- a/arch/mips/configs/sead_defconfig
+++ b/arch/mips/configs/sead_defconfig
@@ -25,9 +25,7 @@ CONFIG_ZONE_DMA=y
25# CONFIG_BASLER_EXCITE is not set 25# CONFIG_BASLER_EXCITE is not set
26# CONFIG_MIPS_COBALT is not set 26# CONFIG_MIPS_COBALT is not set
27# CONFIG_MACH_DECSTATION is not set 27# CONFIG_MACH_DECSTATION is not set
28# CONFIG_MIPS_EV64120 is not set
29# CONFIG_MACH_JAZZ is not set 28# CONFIG_MACH_JAZZ is not set
30# CONFIG_LASAT is not set
31# CONFIG_MIPS_ATLAS is not set 29# CONFIG_MIPS_ATLAS is not set
32# CONFIG_MIPS_MALTA is not set 30# CONFIG_MIPS_MALTA is not set
33CONFIG_MIPS_SEAD=y 31CONFIG_MIPS_SEAD=y
@@ -35,8 +33,6 @@ CONFIG_MIPS_SEAD=y
35# CONFIG_MIPS_SIM is not set 33# CONFIG_MIPS_SIM is not set
36# CONFIG_MOMENCO_JAGUAR_ATX is not set 34# CONFIG_MOMENCO_JAGUAR_ATX is not set
37# CONFIG_MOMENCO_OCELOT is not set 35# CONFIG_MOMENCO_OCELOT is not set
38# CONFIG_MOMENCO_OCELOT_3 is not set
39# CONFIG_MOMENCO_OCELOT_C is not set
40# CONFIG_MOMENCO_OCELOT_G is not set 36# CONFIG_MOMENCO_OCELOT_G is not set
41# CONFIG_MIPS_XXS1500 is not set 37# CONFIG_MIPS_XXS1500 is not set
42# CONFIG_PNX8550_JBS is not set 38# CONFIG_PNX8550_JBS is not set
diff --git a/arch/mips/configs/tb0219_defconfig b/arch/mips/configs/tb0219_defconfig
index 8b1675c07ec4..5d4fc0e4f729 100644
--- a/arch/mips/configs/tb0219_defconfig
+++ b/arch/mips/configs/tb0219_defconfig
@@ -25,9 +25,7 @@ CONFIG_ZONE_DMA=y
25# CONFIG_BASLER_EXCITE is not set 25# CONFIG_BASLER_EXCITE is not set
26# CONFIG_MIPS_COBALT is not set 26# CONFIG_MIPS_COBALT is not set
27# CONFIG_MACH_DECSTATION is not set 27# CONFIG_MACH_DECSTATION is not set
28# CONFIG_MIPS_EV64120 is not set
29# CONFIG_MACH_JAZZ is not set 28# CONFIG_MACH_JAZZ is not set
30# CONFIG_LASAT is not set
31# CONFIG_MIPS_ATLAS is not set 29# CONFIG_MIPS_ATLAS is not set
32# CONFIG_MIPS_MALTA is not set 30# CONFIG_MIPS_MALTA is not set
33# CONFIG_MIPS_SEAD is not set 31# CONFIG_MIPS_SEAD is not set
@@ -35,8 +33,6 @@ CONFIG_ZONE_DMA=y
35# CONFIG_MIPS_SIM is not set 33# CONFIG_MIPS_SIM is not set
36# CONFIG_MOMENCO_JAGUAR_ATX is not set 34# CONFIG_MOMENCO_JAGUAR_ATX is not set
37# CONFIG_MOMENCO_OCELOT is not set 35# CONFIG_MOMENCO_OCELOT is not set
38# CONFIG_MOMENCO_OCELOT_3 is not set
39# CONFIG_MOMENCO_OCELOT_C is not set
40# CONFIG_MOMENCO_OCELOT_G is not set 36# CONFIG_MOMENCO_OCELOT_G is not set
41# CONFIG_MIPS_XXS1500 is not set 37# CONFIG_MIPS_XXS1500 is not set
42# CONFIG_PNX8550_JBS is not set 38# CONFIG_PNX8550_JBS is not set
diff --git a/arch/mips/configs/tb0226_defconfig b/arch/mips/configs/tb0226_defconfig
index b5be8b74d896..1b92b48de051 100644
--- a/arch/mips/configs/tb0226_defconfig
+++ b/arch/mips/configs/tb0226_defconfig
@@ -25,9 +25,7 @@ CONFIG_ZONE_DMA=y
25# CONFIG_BASLER_EXCITE is not set 25# CONFIG_BASLER_EXCITE is not set
26# CONFIG_MIPS_COBALT is not set 26# CONFIG_MIPS_COBALT is not set
27# CONFIG_MACH_DECSTATION is not set 27# CONFIG_MACH_DECSTATION is not set
28# CONFIG_MIPS_EV64120 is not set
29# CONFIG_MACH_JAZZ is not set 28# CONFIG_MACH_JAZZ is not set
30# CONFIG_LASAT is not set
31# CONFIG_MIPS_ATLAS is not set 29# CONFIG_MIPS_ATLAS is not set
32# CONFIG_MIPS_MALTA is not set 30# CONFIG_MIPS_MALTA is not set
33# CONFIG_MIPS_SEAD is not set 31# CONFIG_MIPS_SEAD is not set
@@ -35,8 +33,6 @@ CONFIG_ZONE_DMA=y
35# CONFIG_MIPS_SIM is not set 33# CONFIG_MIPS_SIM is not set
36# CONFIG_MOMENCO_JAGUAR_ATX is not set 34# CONFIG_MOMENCO_JAGUAR_ATX is not set
37# CONFIG_MOMENCO_OCELOT is not set 35# CONFIG_MOMENCO_OCELOT is not set
38# CONFIG_MOMENCO_OCELOT_3 is not set
39# CONFIG_MOMENCO_OCELOT_C is not set
40# CONFIG_MOMENCO_OCELOT_G is not set 36# CONFIG_MOMENCO_OCELOT_G is not set
41# CONFIG_MIPS_XXS1500 is not set 37# CONFIG_MIPS_XXS1500 is not set
42# CONFIG_PNX8550_JBS is not set 38# CONFIG_PNX8550_JBS is not set
diff --git a/arch/mips/configs/tb0287_defconfig b/arch/mips/configs/tb0287_defconfig
index 8bb6be4342b6..5b77c7a5d83a 100644
--- a/arch/mips/configs/tb0287_defconfig
+++ b/arch/mips/configs/tb0287_defconfig
@@ -25,9 +25,7 @@ CONFIG_ZONE_DMA=y
25# CONFIG_BASLER_EXCITE is not set 25# CONFIG_BASLER_EXCITE is not set
26# CONFIG_MIPS_COBALT is not set 26# CONFIG_MIPS_COBALT is not set
27# CONFIG_MACH_DECSTATION is not set 27# CONFIG_MACH_DECSTATION is not set
28# CONFIG_MIPS_EV64120 is not set
29# CONFIG_MACH_JAZZ is not set 28# CONFIG_MACH_JAZZ is not set
30# CONFIG_LASAT is not set
31# CONFIG_MIPS_ATLAS is not set 29# CONFIG_MIPS_ATLAS is not set
32# CONFIG_MIPS_MALTA is not set 30# CONFIG_MIPS_MALTA is not set
33# CONFIG_MIPS_SEAD is not set 31# CONFIG_MIPS_SEAD is not set
@@ -35,8 +33,6 @@ CONFIG_ZONE_DMA=y
35# CONFIG_MIPS_SIM is not set 33# CONFIG_MIPS_SIM is not set
36# CONFIG_MOMENCO_JAGUAR_ATX is not set 34# CONFIG_MOMENCO_JAGUAR_ATX is not set
37# CONFIG_MOMENCO_OCELOT is not set 35# CONFIG_MOMENCO_OCELOT is not set
38# CONFIG_MOMENCO_OCELOT_3 is not set
39# CONFIG_MOMENCO_OCELOT_C is not set
40# CONFIG_MOMENCO_OCELOT_G is not set 36# CONFIG_MOMENCO_OCELOT_G is not set
41# CONFIG_MIPS_XXS1500 is not set 37# CONFIG_MIPS_XXS1500 is not set
42# CONFIG_PNX8550_JBS is not set 38# CONFIG_PNX8550_JBS is not set
diff --git a/arch/mips/configs/workpad_defconfig b/arch/mips/configs/workpad_defconfig
index 8f019ffcc71b..94a4f94a8b24 100644
--- a/arch/mips/configs/workpad_defconfig
+++ b/arch/mips/configs/workpad_defconfig
@@ -25,9 +25,7 @@ CONFIG_ZONE_DMA=y
25# CONFIG_BASLER_EXCITE is not set 25# CONFIG_BASLER_EXCITE is not set
26# CONFIG_MIPS_COBALT is not set 26# CONFIG_MIPS_COBALT is not set
27# CONFIG_MACH_DECSTATION is not set 27# CONFIG_MACH_DECSTATION is not set
28# CONFIG_MIPS_EV64120 is not set
29# CONFIG_MACH_JAZZ is not set 28# CONFIG_MACH_JAZZ is not set
30# CONFIG_LASAT is not set
31# CONFIG_MIPS_ATLAS is not set 29# CONFIG_MIPS_ATLAS is not set
32# CONFIG_MIPS_MALTA is not set 30# CONFIG_MIPS_MALTA is not set
33# CONFIG_MIPS_SEAD is not set 31# CONFIG_MIPS_SEAD is not set
@@ -35,8 +33,6 @@ CONFIG_ZONE_DMA=y
35# CONFIG_MIPS_SIM is not set 33# CONFIG_MIPS_SIM is not set
36# CONFIG_MOMENCO_JAGUAR_ATX is not set 34# CONFIG_MOMENCO_JAGUAR_ATX is not set
37# CONFIG_MOMENCO_OCELOT is not set 35# CONFIG_MOMENCO_OCELOT is not set
38# CONFIG_MOMENCO_OCELOT_3 is not set
39# CONFIG_MOMENCO_OCELOT_C is not set
40# CONFIG_MOMENCO_OCELOT_G is not set 36# CONFIG_MOMENCO_OCELOT_G is not set
41# CONFIG_MIPS_XXS1500 is not set 37# CONFIG_MIPS_XXS1500 is not set
42# CONFIG_PNX8550_JBS is not set 38# CONFIG_PNX8550_JBS is not set
diff --git a/arch/mips/configs/wrppmc_defconfig b/arch/mips/configs/wrppmc_defconfig
index 52b48c0715d3..e38bd9b0eadc 100644
--- a/arch/mips/configs/wrppmc_defconfig
+++ b/arch/mips/configs/wrppmc_defconfig
@@ -25,9 +25,7 @@ CONFIG_ZONE_DMA=y
25# CONFIG_BASLER_EXCITE is not set 25# CONFIG_BASLER_EXCITE is not set
26# CONFIG_MIPS_COBALT is not set 26# CONFIG_MIPS_COBALT is not set
27# CONFIG_MACH_DECSTATION is not set 27# CONFIG_MACH_DECSTATION is not set
28# CONFIG_MIPS_EV64120 is not set
29# CONFIG_MACH_JAZZ is not set 28# CONFIG_MACH_JAZZ is not set
30# CONFIG_LASAT is not set
31# CONFIG_MIPS_ATLAS is not set 29# CONFIG_MIPS_ATLAS is not set
32# CONFIG_MIPS_MALTA is not set 30# CONFIG_MIPS_MALTA is not set
33# CONFIG_MIPS_SEAD is not set 31# CONFIG_MIPS_SEAD is not set
@@ -35,8 +33,6 @@ CONFIG_WR_PPMC=y
35# CONFIG_MIPS_SIM is not set 33# CONFIG_MIPS_SIM is not set
36# CONFIG_MOMENCO_JAGUAR_ATX is not set 34# CONFIG_MOMENCO_JAGUAR_ATX is not set
37# CONFIG_MOMENCO_OCELOT is not set 35# CONFIG_MOMENCO_OCELOT is not set
38# CONFIG_MOMENCO_OCELOT_3 is not set
39# CONFIG_MOMENCO_OCELOT_C is not set
40# CONFIG_MOMENCO_OCELOT_G is not set 36# CONFIG_MOMENCO_OCELOT_G is not set
41# CONFIG_MIPS_XXS1500 is not set 37# CONFIG_MIPS_XXS1500 is not set
42# CONFIG_PNX8550_JBS is not set 38# CONFIG_PNX8550_JBS is not set
diff --git a/arch/mips/configs/yosemite_defconfig b/arch/mips/configs/yosemite_defconfig
index 6824606309e5..f342d8c887b8 100644
--- a/arch/mips/configs/yosemite_defconfig
+++ b/arch/mips/configs/yosemite_defconfig
@@ -25,9 +25,7 @@ CONFIG_ZONE_DMA=y
25# CONFIG_BASLER_EXCITE is not set 25# CONFIG_BASLER_EXCITE is not set
26# CONFIG_MIPS_COBALT is not set 26# CONFIG_MIPS_COBALT is not set
27# CONFIG_MACH_DECSTATION is not set 27# CONFIG_MACH_DECSTATION is not set
28# CONFIG_MIPS_EV64120 is not set
29# CONFIG_MACH_JAZZ is not set 28# CONFIG_MACH_JAZZ is not set
30# CONFIG_LASAT is not set
31# CONFIG_MIPS_ATLAS is not set 29# CONFIG_MIPS_ATLAS is not set
32# CONFIG_MIPS_MALTA is not set 30# CONFIG_MIPS_MALTA is not set
33# CONFIG_MIPS_SEAD is not set 31# CONFIG_MIPS_SEAD is not set
@@ -35,8 +33,6 @@ CONFIG_ZONE_DMA=y
35# CONFIG_MIPS_SIM is not set 33# CONFIG_MIPS_SIM is not set
36# CONFIG_MOMENCO_JAGUAR_ATX is not set 34# CONFIG_MOMENCO_JAGUAR_ATX is not set
37# CONFIG_MOMENCO_OCELOT is not set 35# CONFIG_MOMENCO_OCELOT is not set
38# CONFIG_MOMENCO_OCELOT_3 is not set
39# CONFIG_MOMENCO_OCELOT_C is not set
40# CONFIG_MOMENCO_OCELOT_G is not set 36# CONFIG_MOMENCO_OCELOT_G is not set
41# CONFIG_MIPS_XXS1500 is not set 37# CONFIG_MIPS_XXS1500 is not set
42# CONFIG_PNX8550_JBS is not set 38# CONFIG_PNX8550_JBS is not set
@@ -596,8 +592,6 @@ CONFIG_LEGACY_PTY_COUNT=256
596# CONFIG_WATCHDOG is not set 592# CONFIG_WATCHDOG is not set
597# CONFIG_HW_RANDOM is not set 593# CONFIG_HW_RANDOM is not set
598# CONFIG_RTC is not set 594# CONFIG_RTC is not set
599CONFIG_GEN_RTC=y
600CONFIG_GEN_RTC_X=y
601# CONFIG_DTLK is not set 595# CONFIG_DTLK is not set
602# CONFIG_R3964 is not set 596# CONFIG_R3964 is not set
603# CONFIG_APPLICOM is not set 597# CONFIG_APPLICOM is not set
diff --git a/arch/mips/ddb5xxx/ddb5477/Makefile b/arch/mips/ddb5xxx/ddb5477/Makefile
index 23fd3b81fe1a..4864b8a659c7 100644
--- a/arch/mips/ddb5xxx/ddb5477/Makefile
+++ b/arch/mips/ddb5xxx/ddb5477/Makefile
@@ -2,7 +2,8 @@
2# Makefile for NEC DDB-Vrc5477 board 2# Makefile for NEC DDB-Vrc5477 board
3# 3#
4 4
5obj-y += irq.o irq_5477.o setup.o lcd44780.o 5obj-y += ddb5477-platform.o irq.o irq_5477.o setup.o \
6 lcd44780.o
6 7
7obj-$(CONFIG_RUNTIME_DEBUG) += debug.o 8obj-$(CONFIG_RUNTIME_DEBUG) += debug.o
8obj-$(CONFIG_KGDB) += kgdb_io.o 9obj-$(CONFIG_KGDB) += kgdb_io.o
diff --git a/arch/mips/ddb5xxx/ddb5477/ddb5477-platform.c b/arch/mips/ddb5xxx/ddb5477/ddb5477-platform.c
new file mode 100644
index 000000000000..c16020ad54c2
--- /dev/null
+++ b/arch/mips/ddb5xxx/ddb5477/ddb5477-platform.c
@@ -0,0 +1,49 @@
1/*
2 * This file is subject to the terms and conditions of the GNU General Public
3 * License. See the file "COPYING" in the main directory of this archive
4 * for more details.
5 *
6 * Copyright (C) 2007 Ralf Baechle (ralf@linux-mips.org)
7 */
8#include <linux/init.h>
9#include <linux/module.h>
10#include <linux/serial_8250.h>
11
12#include <asm/ddb5xxx/ddb5477.h>
13
14#define DDB_UART_FLAGS (UPF_BOOT_AUTOCONF | UPF_SKIP_TEST | UPF_IOREMAP)
15
16#define DDB5477_PORT(base, int) \
17{ \
18 .mapbase = base, \
19 .irq = int, \
20 .uartclk = 1843200, \
21 .iotype = UPIO_MEM, \
22 .flags = DDB_UART_FLAGS, \
23 .regshift = 3, \
24}
25
26static struct plat_serial8250_port uart8250_data[] = {
27 DDB5477_PORT(0xbfa04200, VRC5477_IRQ_UART0),
28 DDB5477_PORT(0xbfa04240, VRC5477_IRQ_UART1),
29 { },
30};
31
32static struct platform_device uart8250_device = {
33 .name = "serial8250",
34 .id = PLAT8250_DEV_PLATFORM,
35 .dev = {
36 .platform_data = uart8250_data,
37 },
38};
39
40static int __init uart8250_init(void)
41{
42 return platform_device_register(&uart8250_device);
43}
44
45module_init(uart8250_init);
46
47MODULE_AUTHOR("Ralf Baechle <ralf@linux-mips.org>");
48MODULE_LICENSE("GPL");
49MODULE_DESCRIPTION("8250 UART probe driver for the NEC DDB5477");
diff --git a/arch/mips/dec/prom/console.c b/arch/mips/dec/prom/console.c
index 65419bf32441..078e1a12421d 100644
--- a/arch/mips/dec/prom/console.c
+++ b/arch/mips/dec/prom/console.c
@@ -3,7 +3,7 @@
3 * 3 *
4 * DECstation PROM-based early console support. 4 * DECstation PROM-based early console support.
5 * 5 *
6 * Copyright (C) 2004 Maciej W. Rozycki 6 * Copyright (C) 2004, 2007 Maciej W. Rozycki
7 * 7 *
8 * This program is free software; you can redistribute it and/or 8 * This program is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU General Public License 9 * modify it under the terms of the GNU General Public License
@@ -13,15 +13,35 @@
13#include <linux/console.h> 13#include <linux/console.h>
14#include <linux/init.h> 14#include <linux/init.h>
15#include <linux/kernel.h> 15#include <linux/kernel.h>
16#include <linux/string.h>
16 17
17#include <asm/dec/prom.h> 18#include <asm/dec/prom.h>
18 19
19void prom_putchar(char c) 20static void __init prom_console_write(struct console *con, const char *s,
21 unsigned int c)
20{ 22{
21 char s[2]; 23 char buf[81];
24 unsigned int chunk = sizeof(buf) - 1;
22 25
23 s[0] = c; 26 while (c > 0) {
24 s[1] = '\0'; 27 if (chunk > c)
28 chunk = c;
29 memcpy(buf, s, chunk);
30 buf[chunk] = '\0';
31 prom_printf("%s", buf);
32 s += chunk;
33 c -= chunk;
34 }
35}
36
37static struct console promcons __initdata = {
38 .name = "prom",
39 .write = prom_console_write,
40 .flags = CON_BOOT | CON_PRINTBUFFER,
41 .index = -1,
42};
25 43
26 prom_printf( s); 44void __init register_prom_console(void)
45{
46 register_console(&promcons);
27} 47}
diff --git a/arch/mips/dec/prom/init.c b/arch/mips/dec/prom/init.c
index a217aafe59f6..808c182fd3fa 100644
--- a/arch/mips/dec/prom/init.c
+++ b/arch/mips/dec/prom/init.c
@@ -86,7 +86,7 @@ void __init which_prom(s32 magic, s32 *prom_vec)
86 86
87void __init prom_init(void) 87void __init prom_init(void)
88{ 88{
89 extern void ATTRIB_NORET dec_machine_halt(void); 89 extern void dec_machine_halt(void);
90 static char cpu_msg[] __initdata = 90 static char cpu_msg[] __initdata =
91 "Sorry, this kernel is compiled for a wrong CPU type!\n"; 91 "Sorry, this kernel is compiled for a wrong CPU type!\n";
92 s32 argc = fw_arg0; 92 s32 argc = fw_arg0;
@@ -103,6 +103,9 @@ void __init prom_init(void)
103 if (prom_is_rex(magic)) 103 if (prom_is_rex(magic))
104 rex_clear_cache(); 104 rex_clear_cache();
105 105
106 /* Register the early console. */
107 register_prom_console();
108
106 /* Were we compiled with the right CPU option? */ 109 /* Were we compiled with the right CPU option? */
107#if defined(CONFIG_CPU_R3000) 110#if defined(CONFIG_CPU_R3000)
108 if ((current_cpu_data.cputype == CPU_R4000SC) || 111 if ((current_cpu_data.cputype == CPU_R4000SC) ||
diff --git a/arch/mips/dec/reset.c b/arch/mips/dec/reset.c
index 56397227adb0..c15a879046e5 100644
--- a/arch/mips/dec/reset.c
+++ b/arch/mips/dec/reset.c
@@ -9,26 +9,26 @@
9 9
10#include <asm/addrspace.h> 10#include <asm/addrspace.h>
11 11
12typedef void ATTRIB_NORET (* noret_func_t)(void); 12typedef void __noreturn (* noret_func_t)(void);
13 13
14static inline void ATTRIB_NORET back_to_prom(void) 14static inline void __noreturn back_to_prom(void)
15{ 15{
16 noret_func_t func = (void *)CKSEG1ADDR(0x1fc00000); 16 noret_func_t func = (void *)CKSEG1ADDR(0x1fc00000);
17 17
18 func(); 18 func();
19} 19}
20 20
21void ATTRIB_NORET dec_machine_restart(char *command) 21void __noreturn dec_machine_restart(char *command)
22{ 22{
23 back_to_prom(); 23 back_to_prom();
24} 24}
25 25
26void ATTRIB_NORET dec_machine_halt(void) 26void __noreturn dec_machine_halt(void)
27{ 27{
28 back_to_prom(); 28 back_to_prom();
29} 29}
30 30
31void ATTRIB_NORET dec_machine_power_off(void) 31void __noreturn dec_machine_power_off(void)
32{ 32{
33 /* DECstations don't have a software power switch */ 33 /* DECstations don't have a software power switch */
34 back_to_prom(); 34 back_to_prom();
diff --git a/arch/mips/defconfig b/arch/mips/defconfig
index 41211f8b7738..b3b6e58058f6 100644
--- a/arch/mips/defconfig
+++ b/arch/mips/defconfig
@@ -25,9 +25,7 @@ CONFIG_ZONE_DMA=y
25# CONFIG_BASLER_EXCITE is not set 25# CONFIG_BASLER_EXCITE is not set
26# CONFIG_MIPS_COBALT is not set 26# CONFIG_MIPS_COBALT is not set
27# CONFIG_MACH_DECSTATION is not set 27# CONFIG_MACH_DECSTATION is not set
28# CONFIG_MIPS_EV64120 is not set
29# CONFIG_MACH_JAZZ is not set 28# CONFIG_MACH_JAZZ is not set
30# CONFIG_LASAT is not set
31# CONFIG_MIPS_ATLAS is not set 29# CONFIG_MIPS_ATLAS is not set
32# CONFIG_MIPS_MALTA is not set 30# CONFIG_MIPS_MALTA is not set
33# CONFIG_MIPS_SEAD is not set 31# CONFIG_MIPS_SEAD is not set
@@ -35,8 +33,6 @@ CONFIG_ZONE_DMA=y
35# CONFIG_MIPS_SIM is not set 33# CONFIG_MIPS_SIM is not set
36# CONFIG_MOMENCO_JAGUAR_ATX is not set 34# CONFIG_MOMENCO_JAGUAR_ATX is not set
37# CONFIG_MOMENCO_OCELOT is not set 35# CONFIG_MOMENCO_OCELOT is not set
38# CONFIG_MOMENCO_OCELOT_3 is not set
39# CONFIG_MOMENCO_OCELOT_C is not set
40# CONFIG_MOMENCO_OCELOT_G is not set 36# CONFIG_MOMENCO_OCELOT_G is not set
41# CONFIG_MIPS_XXS1500 is not set 37# CONFIG_MIPS_XXS1500 is not set
42# CONFIG_PNX8550_JBS is not set 38# CONFIG_PNX8550_JBS is not set
diff --git a/arch/mips/gt64120/ev64120/Kconfig b/arch/mips/gt64120/ev64120/Kconfig
deleted file mode 100644
index d691762cb0f7..000000000000
--- a/arch/mips/gt64120/ev64120/Kconfig
+++ /dev/null
@@ -1,3 +0,0 @@
1config EVB_PCI1
2 bool "Enable Second PCI (PCI1)"
3 depends on MIPS_EV64120
diff --git a/arch/mips/gt64120/ev64120/Makefile b/arch/mips/gt64120/ev64120/Makefile
deleted file mode 100644
index 323b2cebc691..000000000000
--- a/arch/mips/gt64120/ev64120/Makefile
+++ /dev/null
@@ -1,9 +0,0 @@
1#
2# Copyright 2000 RidgeRun, Inc.
3# Author: RidgeRun, Inc.
4# glonnon@ridgerun.com, skranz@ridgerun.com, stevej@ridgerun.com
5#
6# Makefile for the Galileo EV64120 board.
7#
8
9obj-y += irq.o promcon.o reset.o serialGT.o setup.o
diff --git a/arch/mips/gt64120/ev64120/irq.c b/arch/mips/gt64120/ev64120/irq.c
deleted file mode 100644
index 64e4c80b6139..000000000000
--- a/arch/mips/gt64120/ev64120/irq.c
+++ /dev/null
@@ -1,116 +0,0 @@
1/*
2 * BRIEF MODULE DESCRIPTION
3 * Code to handle irqs on GT64120A boards
4 * Derived from mips/orion and Cort <cort@fsmlabs.com>
5 *
6 * Copyright (C) 2000 RidgeRun, Inc.
7 * Author: RidgeRun, Inc.
8 * glonnon@ridgerun.com, skranz@ridgerun.com, stevej@ridgerun.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/errno.h>
31#include <linux/init.h>
32#include <linux/kernel_stat.h>
33#include <linux/module.h>
34#include <linux/signal.h>
35#include <linux/sched.h>
36#include <linux/types.h>
37#include <linux/interrupt.h>
38#include <linux/ioport.h>
39#include <linux/timex.h>
40#include <linux/slab.h>
41#include <linux/random.h>
42#include <linux/bitops.h>
43#include <asm/bootinfo.h>
44#include <asm/io.h>
45#include <asm/mipsregs.h>
46#include <asm/system.h>
47#include <asm/gt64120.h>
48
49asmlinkage void plat_irq_dispatch(void)
50{
51 unsigned int pending = read_c0_status() & read_c0_cause() & ST0_IM;
52
53 if (pending & STATUSF_IP4) /* int2 hardware line (timer) */
54 do_IRQ(4);
55 else if (pending & STATUSF_IP2) /* int0 hardware line */
56 do_IRQ(GT_INTA);
57 else if (pending & STATUSF_IP5) /* int3 hardware line */
58 do_IRQ(GT_INTD);
59 else if (pending & STATUSF_IP6) /* int4 hardware line */
60 do_IRQ(6);
61 else if (pending & STATUSF_IP7) /* compare int */
62 do_IRQ(7);
63 else
64 spurious_interrupt();
65}
66
67static void disable_ev64120_irq(unsigned int irq_nr)
68{
69 if (irq_nr >= 8) { // All PCI interrupts are on line 5 or 2
70 clear_c0_status(9 << 10);
71 } else {
72 clear_c0_status(1 << (irq_nr + 8));
73 }
74}
75
76static void enable_ev64120_irq(unsigned int irq_nr)
77{
78 if (irq_nr >= 8) // All PCI interrupts are on line 5 or 2
79 set_c0_status(9 << 10);
80 else
81 set_c0_status(1 << (irq_nr + 8));
82}
83
84static void end_ev64120_irq(unsigned int irq)
85{
86 if (!(irq_desc[irq].status & (IRQ_DISABLED|IRQ_INPROGRESS)))
87 enable_ev64120_irq(irq);
88}
89
90static struct irq_chip ev64120_irq_type = {
91 .name = "EV64120",
92 .ack = disable_ev64120_irq,
93 .mask = disable_ev64120_irq,
94 .mask_ack = disable_ev64120_irq,
95 .unmask = enable_ev64120_irq,
96 .end = end_ev64120_irq,
97};
98
99void gt64120_irq_setup(void)
100{
101 /*
102 * Clear all of the interrupts while we change the able around a bit.
103 */
104 clear_c0_status(ST0_IM);
105
106 /*
107 * Enable timer. Other interrupts will be enabled as they are
108 * registered.
109 */
110 set_c0_status(IE_IRQ2);
111}
112
113void __init arch_init_irq(void)
114{
115 gt64120_irq_setup();
116}
diff --git a/arch/mips/gt64120/ev64120/promcon.c b/arch/mips/gt64120/ev64120/promcon.c
deleted file mode 100644
index 6e0ecfed9640..000000000000
--- a/arch/mips/gt64120/ev64120/promcon.c
+++ /dev/null
@@ -1,48 +0,0 @@
1/*
2 * Wrap-around code for a console using the
3 * SGI PROM io-routines.
4 *
5 * Copyright (c) 1999 Ulf Carlsson
6 *
7 * Derived from DECstation promcon.c
8 * Copyright (c) 1998 Harald Koerfgen
9 */
10#include <linux/tty.h>
11#include <linux/init.h>
12#include <linux/console.h>
13
14static void prom_console_write(struct console *co, const char *s,
15 unsigned count)
16{
17 extern int CONSOLE_CHANNEL; // The default serial port
18 unsigned i;
19
20 for (i = 0; i < count; i++) {
21 if (*s == 10)
22 serial_putc(CONSOLE_CHANNEL, 13);
23 serial_putc(CONSOLE_CHANNEL, *s++);
24 }
25}
26
27static struct console sercons = {
28 .name = "ttyS",
29 .write = prom_console_write,
30 .flags = CON_PRINTBUFFER,
31 .index = -1,
32};
33
34/*
35 * Register console.
36 */
37
38static int gal_serial_console_init(void)
39{
40 // serial_init();
41 //serial_set(115200);
42
43 register_console(&sercons);
44
45 return 0;
46}
47
48console_initcall(gal_serial_console_init);
diff --git a/arch/mips/gt64120/ev64120/reset.c b/arch/mips/gt64120/ev64120/reset.c
deleted file mode 100644
index 7b9f5e5bf21f..000000000000
--- a/arch/mips/gt64120/ev64120/reset.c
+++ /dev/null
@@ -1,45 +0,0 @@
1/*
2 * This file is subject to the terms and conditions of the GNU General Public
3 * License. See the file "COPYING" in the main directory of this archive
4 * for more details.
5 *
6 * Copyright (C) 1997 Ralf Baechle
7 */
8#include <linux/sched.h>
9#include <linux/mm.h>
10#include <asm/io.h>
11#include <asm/pgtable.h>
12#include <asm/processor.h>
13#include <asm/reboot.h>
14#include <asm/system.h>
15
16void galileo_machine_restart(char *command)
17{
18 *(volatile char *) 0xbc000000 = 0x0f;
19 /*
20 * Ouch, we're still alive ... This time we take the silver bullet ...
21 * ... and find that we leave the hardware in a state in which the
22 * kernel in the flush locks up somewhen during of after the PCI
23 * detection stuff.
24 */
25 set_c0_status(ST0_BEV | ST0_ERL);
26 change_c0_config(CONF_CM_CMASK, CONF_CM_UNCACHED);
27 flush_cache_all();
28 write_c0_wired(0);
29 __asm__ __volatile__("jr\t%0"::"r"(0xbfc00000));
30}
31
32void galileo_machine_halt(void)
33{
34 printk(KERN_NOTICE "You can safely turn off the power\n");
35 while (1)
36 __asm__(".set\tmips3\n\t"
37 "wait\n\t"
38 ".set\tmips0");
39
40}
41
42void galileo_machine_power_off(void)
43{
44 galileo_machine_halt();
45}
diff --git a/arch/mips/gt64120/ev64120/serialGT.c b/arch/mips/gt64120/ev64120/serialGT.c
deleted file mode 100644
index 8f0d835491ff..000000000000
--- a/arch/mips/gt64120/ev64120/serialGT.c
+++ /dev/null
@@ -1,212 +0,0 @@
1/*
2 * serialGT.c
3 *
4 * BRIEF MODULE DESCRIPTION
5 * Low Level Serial Port control for use
6 * with the Galileo EVB64120A MIPS eval board and
7 * its on board two channel 16552 Uart.
8 *
9 * Copyright (C) 2000 RidgeRun, Inc.
10 * Author: RidgeRun, Inc.
11 * glonnon@ridgerun.com, skranz@ridgerun.com, stevej@ridgerun.com
12 *
13 * This program is free software; you can redistribute it and/or modify it
14 * under the terms of the GNU General Public License as published by the
15 * Free Software Foundation; either version 2 of the License, or (at your
16 * option) any later version.
17 *
18 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
19 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
20 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN
21 * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
22 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
23 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
24 * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
25 * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
27 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28 *
29 * You should have received a copy of the GNU General Public License along
30 * with this program; if not, write to the Free Software Foundation, Inc.,
31 * 675 Mass Ave, Cambridge, MA 02139, USA.
32 *
33 */
34
35// Note:
36// Serial CHANNELS - 0 is the bottom connector of evb64120A.
37// (The one that maps to the "B" channel of the
38// board's uart)
39// 1 is the top connector of evb64120A.
40// (The one that maps to the "A" channel of the
41// board's uart)
42int DEBUG_CHANNEL = 0; // See Note Above
43int CONSOLE_CHANNEL = 1; // See Note Above
44
45#define DUART 0xBD000000 /* Base address of Uart. */
46#define CHANNELOFFSET 0x20 /* DUART+CHANNELOFFSET gets you to the ChanA
47 register set of the 16552 Uart device.
48 DUART+0 gets you to the ChanB register set.
49 */
50#define DUART_DELTA 0x4
51#define FIFO_ENABLE 0x07
52#define INT_ENABLE 0x04 /* default interrupt mask */
53
54#define RBR 0x00
55#define THR 0x00
56#define DLL 0x00
57#define IER 0x01
58#define DLM 0x01
59#define IIR 0x02
60#define FCR 0x02
61#define LCR 0x03
62#define MCR 0x04
63#define LSR 0x05
64#define MSR 0x06
65#define SCR 0x07
66
67#define LCR_DLAB 0x80
68#define XTAL 1843200
69#define LSR_THRE 0x20
70#define LSR_BI 0x10
71#define LSR_DR 0x01
72#define MCR_LOOP 0x10
73#define ACCESS_DELAY 0x10000
74
75/******************************
76 Routine:
77 Description:
78 ******************************/
79int inreg(int channel, int reg)
80{
81 int val;
82 val =
83 *((volatile unsigned char *) DUART +
84 (channel * CHANNELOFFSET) + (reg * DUART_DELTA));
85 return val;
86}
87
88/******************************
89 Routine:
90 Description:
91 ******************************/
92void outreg(int channel, int reg, unsigned char val)
93{
94 *((volatile unsigned char *) DUART + (channel * CHANNELOFFSET)
95 + (reg * DUART_DELTA)) = val;
96}
97
98/******************************
99 Routine:
100 Description:
101 Initialize the device driver.
102 ******************************/
103void serial_init(int channel)
104{
105 /*
106 * Configure active port, (CHANNELOFFSET already set.)
107 *
108 * Set 8 bits, 1 stop bit, no parity.
109 *
110 * LCR<7> 0 divisor latch access bit
111 * LCR<6> 0 break control (1=send break)
112 * LCR<5> 0 stick parity (0=space, 1=mark)
113 * LCR<4> 0 parity even (0=odd, 1=even)
114 * LCR<3> 0 parity enable (1=enabled)
115 * LCR<2> 0 # stop bits (0=1, 1=1.5)
116 * LCR<1:0> 11 bits per character(00=5, 01=6, 10=7, 11=8)
117 */
118 outreg(channel, LCR, 0x3);
119
120 outreg(channel, FCR, FIFO_ENABLE); /* Enable the FIFO */
121
122 outreg(channel, IER, INT_ENABLE); /* Enable appropriate interrupts */
123}
124
125/******************************
126 Routine:
127 Description:
128 Set the baud rate.
129 ******************************/
130void serial_set(int channel, unsigned long baud)
131{
132 unsigned char sav_lcr;
133
134 /*
135 * Enable access to the divisor latches by setting DLAB in LCR.
136 *
137 */
138 sav_lcr = inreg(channel, LCR);
139
140#if 0
141 /*
142 * Set baud rate
143 */
144 outreg(channel, LCR, LCR_DLAB | sav_lcr);
145 // outreg(DLL,(XTAL/(16*2*(baud))-2));
146 outreg(channel, DLL, XTAL / (16 * baud));
147 // outreg(DLM,(XTAL/(16*2*(baud))-2)>>8);
148 outreg(channel, DLM, (XTAL / (16 * baud)) >> 8);
149#else
150 /*
151 * Note: Set baud rate, hardcoded here for rate of 115200
152 * since became unsure of above "baud rate" algorithm (??).
153 */
154 outreg(channel, LCR, 0x83);
155 outreg(channel, DLM, 0x00); // See note above
156 outreg(channel, DLL, 0x02); // See note above.
157 outreg(channel, LCR, 0x03);
158#endif
159
160 /*
161 * Restore line control register
162 */
163 outreg(channel, LCR, sav_lcr);
164}
165
166
167/******************************
168 Routine:
169 Description:
170 Transmit a character.
171 ******************************/
172void serial_putc(int channel, int c)
173{
174 while ((inreg(channel, LSR) & LSR_THRE) == 0);
175 outreg(channel, THR, c);
176}
177
178/******************************
179 Routine:
180 Description:
181 Read a received character if one is
182 available. Return -1 otherwise.
183 ******************************/
184int serial_getc(int channel)
185{
186 if (inreg(channel, LSR) & LSR_DR) {
187 return inreg(channel, RBR);
188 }
189 return -1;
190}
191
192/******************************
193 Routine:
194 Description:
195 Used by embedded gdb client. (example; gdb-stub.c)
196 ******************************/
197char getDebugChar()
198{
199 int val;
200 while ((val = serial_getc(DEBUG_CHANNEL)) == -1); // loop until we get a character in.
201 return (char) val;
202}
203
204/******************************
205 Routine:
206 Description:
207 Used by embedded gdb target. (example; gdb-stub.c)
208 ******************************/
209void putDebugChar(char c)
210{
211 serial_putc(DEBUG_CHANNEL, (int) c);
212}
diff --git a/arch/mips/gt64120/ev64120/setup.c b/arch/mips/gt64120/ev64120/setup.c
deleted file mode 100644
index 477848c22a2c..000000000000
--- a/arch/mips/gt64120/ev64120/setup.c
+++ /dev/null
@@ -1,99 +0,0 @@
1/*
2 * Copyright (C) 2000 RidgeRun, Inc.
3 * Author: RidgeRun, Inc.
4 * glonnon@ridgerun.com, skranz@ridgerun.com, stevej@ridgerun.com
5 *
6 * This program is free software; you can redistribute it and/or modify it
7 * under the terms of the GNU General Public License as published by the
8 * Free Software Foundation; either version 2 of the License, or (at your
9 * option) any later version.
10 *
11 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
12 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
13 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN
14 * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
15 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
16 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
17 * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
18 * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
19 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
20 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
21 *
22 * You should have received a copy of the GNU General Public License along
23 * with this program; if not, write to the Free Software Foundation, Inc.,
24 * 675 Mass Ave, Cambridge, MA 02139, USA.
25 *
26 */
27#include <linux/init.h>
28#include <linux/kernel.h>
29#include <linux/types.h>
30#include <linux/mm.h>
31#include <linux/swap.h>
32#include <linux/ioport.h>
33#include <linux/sched.h>
34#include <linux/interrupt.h>
35#include <linux/pci.h>
36#include <linux/timex.h>
37#include <linux/pm.h>
38
39#include <asm/bootinfo.h>
40#include <asm/page.h>
41#include <asm/io.h>
42#include <asm/irq.h>
43#include <asm/pci.h>
44#include <asm/processor.h>
45#include <asm/time.h>
46#include <asm/reboot.h>
47#include <asm/traps.h>
48#include <linux/bootmem.h>
49
50unsigned long gt64120_base = KSEG1ADDR(0x14000000);
51
52/* These functions are used for rebooting or halting the machine*/
53extern void galileo_machine_restart(char *command);
54extern void galileo_machine_halt(void);
55extern void galileo_machine_power_off(void);
56/*
57 *This structure holds pointers to the pci configuration space accesses
58 *and interrupts allocating routine for device over the PCI
59 */
60extern struct pci_ops galileo_pci_ops;
61
62void __init prom_free_prom_memory(void)
63{
64}
65
66/*
67 * Initializes basic routines and structures pointers, memory size (as
68 * given by the bios and saves the command line.
69 */
70
71void __init plat_mem_setup(void)
72{
73 _machine_restart = galileo_machine_restart;
74 _machine_halt = galileo_machine_halt;
75 pm_power_off = galileo_machine_power_off;
76
77 set_io_port_base(KSEG1);
78}
79
80const char *get_system_type(void)
81{
82 return "Galileo EV64120A";
83}
84
85/*
86 * Kernel arguments passed by the firmware
87 *
88 * $a0 - nothing
89 * $a1 - holds a pointer to the eprom parameters
90 * $a2 - nothing
91 */
92
93void __init prom_init(void)
94{
95 mips_machgroup = MACH_GROUP_GALILEO;
96 mips_machtype = MACH_EV64120A;
97
98 add_memory_region(0, 32 << 20, BOOT_MEM_RAM);
99}
diff --git a/arch/mips/gt64120/momenco_ocelot/Makefile b/arch/mips/gt64120/momenco_ocelot/Makefile
index 9f9a33fc76b9..1df5fe23c642 100644
--- a/arch/mips/gt64120/momenco_ocelot/Makefile
+++ b/arch/mips/gt64120/momenco_ocelot/Makefile
@@ -2,6 +2,6 @@
2# Makefile for Momentum's Ocelot board. 2# Makefile for Momentum's Ocelot board.
3# 3#
4 4
5obj-y += irq.o prom.o reset.o setup.o 5obj-y += irq.o ocelot-platform.o prom.o reset.o setup.o
6 6
7obj-$(CONFIG_KGDB) += dbg_io.o 7obj-$(CONFIG_KGDB) += dbg_io.o
diff --git a/arch/mips/gt64120/momenco_ocelot/ocelot-platform.c b/arch/mips/gt64120/momenco_ocelot/ocelot-platform.c
new file mode 100644
index 000000000000..81d9031a5a2a
--- /dev/null
+++ b/arch/mips/gt64120/momenco_ocelot/ocelot-platform.c
@@ -0,0 +1,46 @@
1/*
2 * This file is subject to the terms and conditions of the GNU General Public
3 * License. See the file "COPYING" in the main directory of this archive
4 * for more details.
5 *
6 * Copyright (C) 2007 Ralf Baechle (ralf@linux-mips.org)
7 *
8 * A NS16552 DUART with a 20MHz crystal.
9 *
10 */
11#include <linux/module.h>
12#include <linux/init.h>
13#include <linux/serial_8250.h>
14
15#define OCELOT_UART_FLAGS (UPF_BOOT_AUTOCONF | UPF_SKIP_TEST | UPF_IOREMAP)
16
17static struct plat_serial8250_port uart8250_data[] = {
18 {
19 .mapbase = 0xe0001020,
20 .irq = 4,
21 .uartclk = 20000000,
22 .iotype = UPIO_MEM,
23 .flags = OCELOT_UART_FLAGS,
24 .regshift = 2,
25 },
26 { },
27};
28
29static struct platform_device uart8250_device = {
30 .name = "serial8250",
31 .id = PLAT8250_DEV_PLATFORM,
32 .dev = {
33 .platform_data = uart8250_data,
34 },
35};
36
37static int __init uart8250_init(void)
38{
39 return platform_device_register(&uart8250_device);
40}
41
42module_init(uart8250_init);
43
44MODULE_AUTHOR("Ralf Baechle <ralf@linux-mips.org>");
45MODULE_LICENSE("GPL");
46MODULE_DESCRIPTION("8250 UART probe driver for the Momenco Ocelot");
diff --git a/arch/mips/gt64120/wrppmc/setup.c b/arch/mips/gt64120/wrppmc/setup.c
index 121188d5ec4a..ea965529e5e0 100644
--- a/arch/mips/gt64120/wrppmc/setup.c
+++ b/arch/mips/gt64120/wrppmc/setup.c
@@ -158,8 +158,8 @@ const char *get_system_type(void)
158 */ 158 */
159void __init prom_init(void) 159void __init prom_init(void)
160{ 160{
161 mips_machgroup = MACH_GROUP_GALILEO; 161 mips_machgroup = MACH_GROUP_WINDRIVER;
162 mips_machtype = MACH_EV64120A; 162 mips_machtype = MACH_WRPPMC;
163 163
164 add_memory_region(WRPPMC_SDRAM_SCS0_BASE, WRPPMC_SDRAM_SCS0_SIZE, BOOT_MEM_RAM); 164 add_memory_region(WRPPMC_SDRAM_SCS0_BASE, WRPPMC_SDRAM_SCS0_SIZE, BOOT_MEM_RAM);
165 add_memory_region(WRPPMC_BOOTROM_BASE, WRPPMC_BOOTROM_SIZE, BOOT_MEM_ROM_DATA); 165 add_memory_region(WRPPMC_BOOTROM_BASE, WRPPMC_BOOTROM_SIZE, BOOT_MEM_ROM_DATA);
diff --git a/arch/mips/jazz/Makefile b/arch/mips/jazz/Makefile
index dd9d99bfcf7a..ae4c402b5004 100644
--- a/arch/mips/jazz/Makefile
+++ b/arch/mips/jazz/Makefile
@@ -2,4 +2,4 @@
2# Makefile for the Jazz family specific parts of the kernel 2# Makefile for the Jazz family specific parts of the kernel
3# 3#
4 4
5obj-y := irq.o jazzdma.o reset.o setup.o 5obj-y := irq.o jazzdma.o jazz-platform.o reset.o setup.o
diff --git a/arch/mips/jazz/jazz-platform.c b/arch/mips/jazz/jazz-platform.c
new file mode 100644
index 000000000000..fd736703eef2
--- /dev/null
+++ b/arch/mips/jazz/jazz-platform.c
@@ -0,0 +1,60 @@
1/*
2 * This file is subject to the terms and conditions of the GNU General Public
3 * License. See the file "COPYING" in the main directory of this archive
4 * for more details.
5 *
6 * Copyright (C) 2007 Ralf Baechle (ralf@linux-mips.org)
7 */
8#include <linux/init.h>
9#include <linux/module.h>
10#include <linux/serial_8250.h>
11
12#include <asm/jazz.h>
13
14/*
15 * Confusion ... It seems the original Microsoft Jazz machine used to have a
16 * 4.096MHz clock for its UART while the MIPS Magnum and Millenium systems
17 * had 8MHz. The Olivetti M700-10 and the Acer PICA have 1.8432MHz like PCs.
18 */
19#ifdef CONFIG_OLIVETTI_M700
20#define JAZZ_BASE_BAUD 1843200
21#else
22#define JAZZ_BASE_BAUD 8000000 /* 3072000 */
23#endif
24
25#define JAZZ_UART_FLAGS (UPF_BOOT_AUTOCONF | UPF_SKIP_TEST | UPF_IOREMAP)
26
27#define JAZZ_PORT(base, int) \
28{ \
29 .mapbase = base, \
30 .irq = int, \
31 .uartclk = JAZZ_BASE_BAUD, \
32 .iotype = UPIO_MEM, \
33 .flags = JAZZ_UART_FLAGS, \
34 .regshift = 0, \
35}
36
37static struct plat_serial8250_port uart8250_data[] = {
38 JAZZ_PORT(JAZZ_SERIAL1_BASE, JAZZ_SERIAL1_IRQ),
39 JAZZ_PORT(JAZZ_SERIAL2_BASE, JAZZ_SERIAL2_IRQ),
40 { },
41};
42
43static struct platform_device uart8250_device = {
44 .name = "serial8250",
45 .id = PLAT8250_DEV_PLATFORM,
46 .dev = {
47 .platform_data = uart8250_data,
48 },
49};
50
51static int __init uart8250_init(void)
52{
53 return platform_device_register(&uart8250_device);
54}
55
56module_init(uart8250_init);
57
58MODULE_AUTHOR("Ralf Baechle <ralf@linux-mips.org>");
59MODULE_LICENSE("GPL");
60MODULE_DESCRIPTION("8250 UART probe driver for the Jazz family");
diff --git a/arch/mips/jazz/setup.c b/arch/mips/jazz/setup.c
index d848f1a07786..81ec559a1c26 100644
--- a/arch/mips/jazz/setup.c
+++ b/arch/mips/jazz/setup.c
@@ -54,7 +54,7 @@ static struct resource jazz_io_resources[] = {
54 .start = 0x40, 54 .start = 0x40,
55 .end = 0x5f, 55 .end = 0x5f,
56 .name = "timer", 56 .name = "timer",
57 .end = IORESOURCE_BUSY 57 .flags = IORESOURCE_BUSY
58 }, { 58 }, {
59 .start = 0x80, 59 .start = 0x80,
60 .end = 0x8f, 60 .end = 0x8f,
diff --git a/arch/mips/kernel/8250-platform.c b/arch/mips/kernel/8250-platform.c
new file mode 100644
index 000000000000..cbf3fe20ad17
--- /dev/null
+++ b/arch/mips/kernel/8250-platform.c
@@ -0,0 +1,47 @@
1/*
2 * This file is subject to the terms and conditions of the GNU General Public
3 * License. See the file "COPYING" in the main directory of this archive
4 * for more details.
5 *
6 * Copyright (C) 2007 Ralf Baechle (ralf@linux-mips.org)
7 */
8#include <linux/module.h>
9#include <linux/init.h>
10#include <linux/serial_8250.h>
11
12#define PORT(base, int) \
13{ \
14 .iobase = base, \
15 .irq = int, \
16 .uartclk = 1843200, \
17 .iotype = UPIO_PORT, \
18 .flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST, \
19 .regshift = 0, \
20}
21
22static struct plat_serial8250_port uart8250_data[] = {
23 PORT(0x3F8, 4),
24 PORT(0x2F8, 3),
25 PORT(0x3E8, 4),
26 PORT(0x2E8, 3),
27 { },
28};
29
30static struct platform_device uart8250_device = {
31 .name = "serial8250",
32 .id = PLAT8250_DEV_PLATFORM,
33 .dev = {
34 .platform_data = uart8250_data,
35 },
36};
37
38static int __init uart8250_init(void)
39{
40 return platform_device_register(&uart8250_device);
41}
42
43module_init(uart8250_init);
44
45MODULE_AUTHOR("Ralf Baechle <ralf@linux-mips.org>");
46MODULE_LICENSE("GPL");
47MODULE_DESCRIPTION("Generic 8250 UART probe driver");
diff --git a/arch/mips/kernel/Makefile b/arch/mips/kernel/Makefile
index 49246264cc7c..5c8085b6d7ab 100644
--- a/arch/mips/kernel/Makefile
+++ b/arch/mips/kernel/Makefile
@@ -14,14 +14,15 @@ binfmt_irix-objs := irixelf.o irixinv.o irixioctl.o irixsig.o \
14obj-$(CONFIG_STACKTRACE) += stacktrace.o 14obj-$(CONFIG_STACKTRACE) += stacktrace.o
15obj-$(CONFIG_MODULES) += mips_ksyms.o module.o 15obj-$(CONFIG_MODULES) += mips_ksyms.o module.o
16 16
17obj-$(CONFIG_CPU_LOONGSON2) += r4k_fpu.o r4k_switch.o
18obj-$(CONFIG_CPU_MIPS32) += r4k_fpu.o r4k_switch.o
19obj-$(CONFIG_CPU_MIPS64) += r4k_fpu.o r4k_switch.o
17obj-$(CONFIG_CPU_R3000) += r2300_fpu.o r2300_switch.o 20obj-$(CONFIG_CPU_R3000) += r2300_fpu.o r2300_switch.o
18obj-$(CONFIG_CPU_TX39XX) += r2300_fpu.o r2300_switch.o
19obj-$(CONFIG_CPU_TX49XX) += r4k_fpu.o r4k_switch.o
20obj-$(CONFIG_CPU_R4000) += r4k_fpu.o r4k_switch.o 21obj-$(CONFIG_CPU_R4000) += r4k_fpu.o r4k_switch.o
21obj-$(CONFIG_CPU_VR41XX) += r4k_fpu.o r4k_switch.o
22obj-$(CONFIG_CPU_R4300) += r4k_fpu.o r4k_switch.o 22obj-$(CONFIG_CPU_R4300) += r4k_fpu.o r4k_switch.o
23obj-$(CONFIG_CPU_R4X00) += r4k_fpu.o r4k_switch.o 23obj-$(CONFIG_CPU_R4X00) += r4k_fpu.o r4k_switch.o
24obj-$(CONFIG_CPU_R5000) += r4k_fpu.o r4k_switch.o 24obj-$(CONFIG_CPU_R5000) += r4k_fpu.o r4k_switch.o
25obj-$(CONFIG_CPU_R6000) += r6000_fpu.o r4k_switch.o
25obj-$(CONFIG_CPU_R5432) += r4k_fpu.o r4k_switch.o 26obj-$(CONFIG_CPU_R5432) += r4k_fpu.o r4k_switch.o
26obj-$(CONFIG_CPU_R8000) += r4k_fpu.o r4k_switch.o 27obj-$(CONFIG_CPU_R8000) += r4k_fpu.o r4k_switch.o
27obj-$(CONFIG_CPU_RM7000) += r4k_fpu.o r4k_switch.o 28obj-$(CONFIG_CPU_RM7000) += r4k_fpu.o r4k_switch.o
@@ -29,13 +30,14 @@ obj-$(CONFIG_CPU_RM9000) += r4k_fpu.o r4k_switch.o
29obj-$(CONFIG_CPU_NEVADA) += r4k_fpu.o r4k_switch.o 30obj-$(CONFIG_CPU_NEVADA) += r4k_fpu.o r4k_switch.o
30obj-$(CONFIG_CPU_R10000) += r4k_fpu.o r4k_switch.o 31obj-$(CONFIG_CPU_R10000) += r4k_fpu.o r4k_switch.o
31obj-$(CONFIG_CPU_SB1) += r4k_fpu.o r4k_switch.o 32obj-$(CONFIG_CPU_SB1) += r4k_fpu.o r4k_switch.o
32obj-$(CONFIG_CPU_MIPS32) += r4k_fpu.o r4k_switch.o 33obj-$(CONFIG_CPU_TX39XX) += r2300_fpu.o r2300_switch.o
33obj-$(CONFIG_CPU_MIPS64) += r4k_fpu.o r4k_switch.o 34obj-$(CONFIG_CPU_TX49XX) += r4k_fpu.o r4k_switch.o
34obj-$(CONFIG_CPU_R6000) += r6000_fpu.o r4k_switch.o 35obj-$(CONFIG_CPU_VR41XX) += r4k_fpu.o r4k_switch.o
35 36
36obj-$(CONFIG_SMP) += smp.o 37obj-$(CONFIG_SMP) += smp.o
37 38
38obj-$(CONFIG_MIPS_MT) += mips-mt.o 39obj-$(CONFIG_MIPS_MT) += mips-mt.o
40obj-$(CONFIG_MIPS_MT_FPAFF) += mips-mt-fpaff.o
39obj-$(CONFIG_MIPS_MT_SMTC) += smtc.o smtc-asm.o smtc-proc.o 41obj-$(CONFIG_MIPS_MT_SMTC) += smtc.o smtc-asm.o smtc-proc.o
40obj-$(CONFIG_MIPS_MT_SMP) += smp-mt.o 42obj-$(CONFIG_MIPS_MT_SMP) += smp-mt.o
41 43
@@ -47,7 +49,6 @@ obj-$(CONFIG_I8259) += i8259.o
47obj-$(CONFIG_IRQ_CPU) += irq_cpu.o 49obj-$(CONFIG_IRQ_CPU) += irq_cpu.o
48obj-$(CONFIG_IRQ_CPU_RM7K) += irq-rm7000.o 50obj-$(CONFIG_IRQ_CPU_RM7K) += irq-rm7000.o
49obj-$(CONFIG_IRQ_CPU_RM9K) += irq-rm9000.o 51obj-$(CONFIG_IRQ_CPU_RM9K) += irq-rm9000.o
50obj-$(CONFIG_IRQ_MV64340) += irq-mv6434x.o
51obj-$(CONFIG_MIPS_BOARDS_GEN) += irq-msc01.o 52obj-$(CONFIG_MIPS_BOARDS_GEN) += irq-msc01.o
52 53
53obj-$(CONFIG_32BIT) += scall32-o32.o 54obj-$(CONFIG_32BIT) += scall32-o32.o
@@ -62,9 +63,11 @@ obj-$(CONFIG_PROC_FS) += proc.o
62 63
63obj-$(CONFIG_64BIT) += cpu-bugs64.o 64obj-$(CONFIG_64BIT) += cpu-bugs64.o
64 65
65obj-$(CONFIG_I8253) += i8253.o 66obj-$(CONFIG_PCSPEAKER) += pcspeaker.o
66 67
67obj-$(CONFIG_KEXEC) += machine_kexec.o relocate_kernel.o 68obj-$(CONFIG_KEXEC) += machine_kexec.o relocate_kernel.o
68obj-$(CONFIG_EARLY_PRINTK) += early_printk.o 69obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
69 70
70CFLAGS_cpu-bugs64.o = $(shell if $(CC) $(CFLAGS) -Wa,-mdaddi -c -o /dev/null -xc /dev/null >/dev/null 2>&1; then echo "-DHAVE_AS_SET_DADDI"; fi) 71CFLAGS_cpu-bugs64.o = $(shell if $(CC) $(CFLAGS) -Wa,-mdaddi -c -o /dev/null -xc /dev/null >/dev/null 2>&1; then echo "-DHAVE_AS_SET_DADDI"; fi)
72
73obj-$(CONFIG_HAVE_STD_PC_SERIAL_PORT) += 8250-platform.o
diff --git a/arch/mips/kernel/cpu-probe.c b/arch/mips/kernel/cpu-probe.c
index ab755ea26c6a..c6b8b074a81a 100644
--- a/arch/mips/kernel/cpu-probe.c
+++ b/arch/mips/kernel/cpu-probe.c
@@ -137,14 +137,24 @@ static inline void check_wait(void)
137 case CPU_4KEC: 137 case CPU_4KEC:
138 case CPU_4KSC: 138 case CPU_4KSC:
139 case CPU_5KC: 139 case CPU_5KC:
140/* case CPU_20KC:*/
141 case CPU_24K:
142 case CPU_25KF: 140 case CPU_25KF:
141 case CPU_PR4450:
142 cpu_wait = r4k_wait;
143 break;
144
145 case CPU_24K:
143 case CPU_34K: 146 case CPU_34K:
147 cpu_wait = r4k_wait;
148 if (read_c0_config7() & MIPS_CONF7_WII)
149 cpu_wait = r4k_wait_irqoff;
150 break;
151
144 case CPU_74K: 152 case CPU_74K:
145 case CPU_PR4450:
146 cpu_wait = r4k_wait; 153 cpu_wait = r4k_wait;
154 if ((c->processor_id & 0xff) >= PRID_REV_ENCODE_332(2, 1, 0))
155 cpu_wait = r4k_wait_irqoff;
147 break; 156 break;
157
148 case CPU_TX49XX: 158 case CPU_TX49XX:
149 cpu_wait = r4k_wait_irqoff; 159 cpu_wait = r4k_wait_irqoff;
150 break; 160 break;
@@ -156,6 +166,17 @@ static inline void check_wait(void)
156 if (allow_au1k_wait) 166 if (allow_au1k_wait)
157 cpu_wait = au1k_wait; 167 cpu_wait = au1k_wait;
158 break; 168 break;
169 case CPU_20KC:
170 /*
171 * WAIT on Rev1.0 has E1, E2, E3 and E16.
172 * WAIT on Rev2.0 and Rev3.0 has E16.
173 * Rev3.1 WAIT is nop, why bother
174 */
175 if ((c->processor_id & 0xff) <= 0x64)
176 break;
177
178 cpu_wait = r4k_wait;
179 break;
159 case CPU_RM9000: 180 case CPU_RM9000:
160 if ((c->processor_id & 0x00ff) >= 0x40) 181 if ((c->processor_id & 0x00ff) >= 0x40)
161 cpu_wait = r4k_wait; 182 cpu_wait = r4k_wait;
@@ -165,9 +186,29 @@ static inline void check_wait(void)
165 } 186 }
166} 187}
167 188
189static inline void check_errata(void)
190{
191 struct cpuinfo_mips *c = &current_cpu_data;
192
193 switch (c->cputype) {
194 case CPU_34K:
195 /*
196 * Erratum "RPS May Cause Incorrect Instruction Execution"
197 * This code only handles VPE0, any SMP/SMTC/RTOS code
198 * making use of VPE1 will be responsable for that VPE.
199 */
200 if ((c->processor_id & PRID_REV_MASK) <= PRID_REV_34K_V1_0_2)
201 write_c0_config7(read_c0_config7() | MIPS_CONF7_RPS);
202 break;
203 default:
204 break;
205 }
206}
207
168void __init check_bugs32(void) 208void __init check_bugs32(void)
169{ 209{
170 check_wait(); 210 check_wait();
211 check_errata();
171} 212}
172 213
173/* 214/*
@@ -464,6 +505,14 @@ static inline void cpu_probe_legacy(struct cpuinfo_mips *c)
464 MIPS_CPU_LLSC; 505 MIPS_CPU_LLSC;
465 c->tlbsize = 64; 506 c->tlbsize = 64;
466 break; 507 break;
508 case PRID_IMP_LOONGSON2:
509 c->cputype = CPU_LOONGSON2;
510 c->isa_level = MIPS_CPU_ISA_III;
511 c->options = R4K_OPTS |
512 MIPS_CPU_FPU | MIPS_CPU_LLSC |
513 MIPS_CPU_32FPR;
514 c->tlbsize = 64;
515 break;
467 } 516 }
468} 517}
469 518
@@ -567,6 +616,8 @@ static inline unsigned int decode_config3(struct cpuinfo_mips *c)
567 c->options |= MIPS_CPU_VEIC; 616 c->options |= MIPS_CPU_VEIC;
568 if (config3 & MIPS_CONF3_MT) 617 if (config3 & MIPS_CONF3_MT)
569 c->ases |= MIPS_ASE_MIPSMT; 618 c->ases |= MIPS_ASE_MIPSMT;
619 if (config3 & MIPS_CONF3_ULRI)
620 c->options |= MIPS_CPU_ULRI;
570 621
571 return config3 & MIPS_CONF_M; 622 return config3 & MIPS_CONF_M;
572} 623}
diff --git a/arch/mips/kernel/entry.S b/arch/mips/kernel/entry.S
index 686249c5c328..e29598ae939d 100644
--- a/arch/mips/kernel/entry.S
+++ b/arch/mips/kernel/entry.S
@@ -84,6 +84,7 @@ FEXPORT(restore_all) # restore full frame
84 LONG_S sp, TI_REGS($28) 84 LONG_S sp, TI_REGS($28)
85 jal deferred_smtc_ipi 85 jal deferred_smtc_ipi
86 LONG_S s0, TI_REGS($28) 86 LONG_S s0, TI_REGS($28)
87#ifdef CONFIG_MIPS_MT_SMTC_IM_BACKSTOP
87/* Re-arm any temporarily masked interrupts not explicitly "acked" */ 88/* Re-arm any temporarily masked interrupts not explicitly "acked" */
88 mfc0 v0, CP0_TCSTATUS 89 mfc0 v0, CP0_TCSTATUS
89 ori v1, v0, TCSTATUS_IXMT 90 ori v1, v0, TCSTATUS_IXMT
@@ -110,6 +111,7 @@ FEXPORT(restore_all) # restore full frame
110 _ehb 111 _ehb
111 xor t0, t0, t3 112 xor t0, t0, t3
112 mtc0 t0, CP0_TCCONTEXT 113 mtc0 t0, CP0_TCCONTEXT
114#endif /* CONFIG_MIPS_MT_SMTC_IM_BACKSTOP */
113#endif /* CONFIG_MIPS_MT_SMTC */ 115#endif /* CONFIG_MIPS_MT_SMTC */
114 .set noat 116 .set noat
115 RESTORE_TEMP 117 RESTORE_TEMP
diff --git a/arch/mips/kernel/genex.S b/arch/mips/kernel/genex.S
index 297bd56c2347..c0f19d638b98 100644
--- a/arch/mips/kernel/genex.S
+++ b/arch/mips/kernel/genex.S
@@ -243,9 +243,11 @@ NESTED(except_vec_vi_handler, 0, sp)
243 */ 243 */
244 mfc0 t1, CP0_STATUS 244 mfc0 t1, CP0_STATUS
245 and t0, a0, t1 245 and t0, a0, t1
246#ifdef CONFIG_MIPS_MT_SMTC_IM_BACKSTOP
246 mfc0 t2, CP0_TCCONTEXT 247 mfc0 t2, CP0_TCCONTEXT
247 or t0, t0, t2 248 or t0, t0, t2
248 mtc0 t0, CP0_TCCONTEXT 249 mtc0 t0, CP0_TCCONTEXT
250#endif /* CONFIG_MIPS_MT_SMTC_IM_BACKSTOP */
249 xor t1, t1, t0 251 xor t1, t1, t0
250 mtc0 t1, CP0_STATUS 252 mtc0 t1, CP0_STATUS
251 _ehb 253 _ehb
diff --git a/arch/mips/kernel/head.S b/arch/mips/kernel/head.S
index 6f57ca44291f..f78538eceef7 100644
--- a/arch/mips/kernel/head.S
+++ b/arch/mips/kernel/head.S
@@ -16,6 +16,7 @@
16#include <linux/init.h> 16#include <linux/init.h>
17#include <linux/threads.h> 17#include <linux/threads.h>
18 18
19#include <asm/addrspace.h>
19#include <asm/asm.h> 20#include <asm/asm.h>
20#include <asm/asmmacro.h> 21#include <asm/asmmacro.h>
21#include <asm/irqflags.h> 22#include <asm/irqflags.h>
@@ -129,24 +130,25 @@
129#endif 130#endif
130 .endm 131 .endm
131 132
133#ifndef CONFIG_NO_EXCEPT_FILL
132 /* 134 /*
133 * Reserved space for exception handlers. 135 * Reserved space for exception handlers.
134 * Necessary for machines which link their kernels at KSEG0. 136 * Necessary for machines which link their kernels at KSEG0.
135 */ 137 */
136 .fill 0x400 138 .fill 0x400
139#endif
137 140
138EXPORT(stext) # used for profiling 141EXPORT(stext) # used for profiling
139EXPORT(_stext) 142EXPORT(_stext)
140 143
141#ifdef CONFIG_MIPS_SIM 144#ifdef CONFIG_BOOT_RAW
142 /* 145 /*
143 * Give us a fighting chance of running if execution beings at the 146 * Give us a fighting chance of running if execution beings at the
144 * kernel load address. This is needed because this platform does 147 * kernel load address. This is needed because this platform does
145 * not have a ELF loader yet. 148 * not have a ELF loader yet.
146 */ 149 */
147 j kernel_entry
148#endif
149 __INIT 150 __INIT
151#endif
150 152
151NESTED(kernel_entry, 16, sp) # kernel entry point 153NESTED(kernel_entry, 16, sp) # kernel entry point
152 154
@@ -197,9 +199,7 @@ NESTED(kernel_entry, 16, sp) # kernel entry point
197 j start_kernel 199 j start_kernel
198 END(kernel_entry) 200 END(kernel_entry)
199 201
200#ifdef CONFIG_QEMU
201 __INIT 202 __INIT
202#endif
203 203
204#ifdef CONFIG_SMP 204#ifdef CONFIG_SMP
205/* 205/*
diff --git a/arch/mips/kernel/irq-mv6434x.c b/arch/mips/kernel/irq-mv6434x.c
deleted file mode 100644
index 3dd561832e4c..000000000000
--- a/arch/mips/kernel/irq-mv6434x.c
+++ /dev/null
@@ -1,111 +0,0 @@
1/*
2 * Copyright 2002 Momentum Computer
3 * Author: mdharm@momenco.com
4 * Copyright (C) 2004, 06 Ralf Baechle <ralf@linux-mips.org>
5 *
6 * This program is free software; you can redistribute it and/or modify it
7 * under the terms of the GNU General Public License as published by the
8 * Free Software Foundation; either version 2 of the License, or (at your
9 * option) any later version.
10 */
11#include <linux/module.h>
12#include <linux/interrupt.h>
13#include <linux/kernel.h>
14#include <linux/kernel_stat.h>
15#include <linux/mv643xx.h>
16#include <linux/sched.h>
17
18#include <asm/io.h>
19#include <asm/irq.h>
20#include <asm/marvell.h>
21
22static unsigned int irq_base;
23
24static inline int ls1bit32(unsigned int x)
25{
26 int b = 31, s;
27
28 s = 16; if (x << 16 == 0) s = 0; b -= s; x <<= s;
29 s = 8; if (x << 8 == 0) s = 0; b -= s; x <<= s;
30 s = 4; if (x << 4 == 0) s = 0; b -= s; x <<= s;
31 s = 2; if (x << 2 == 0) s = 0; b -= s; x <<= s;
32 s = 1; if (x << 1 == 0) s = 0; b -= s;
33
34 return b;
35}
36
37/* mask off an interrupt -- 1 is enable, 0 is disable */
38static inline void mask_mv64340_irq(unsigned int irq)
39{
40 uint32_t value;
41
42 if (irq < (irq_base + 32)) {
43 value = MV_READ(MV64340_INTERRUPT0_MASK_0_LOW);
44 value &= ~(1 << (irq - irq_base));
45 MV_WRITE(MV64340_INTERRUPT0_MASK_0_LOW, value);
46 } else {
47 value = MV_READ(MV64340_INTERRUPT0_MASK_0_HIGH);
48 value &= ~(1 << (irq - irq_base - 32));
49 MV_WRITE(MV64340_INTERRUPT0_MASK_0_HIGH, value);
50 }
51}
52
53/* unmask an interrupt -- 1 is enable, 0 is disable */
54static inline void unmask_mv64340_irq(unsigned int irq)
55{
56 uint32_t value;
57
58 if (irq < (irq_base + 32)) {
59 value = MV_READ(MV64340_INTERRUPT0_MASK_0_LOW);
60 value |= 1 << (irq - irq_base);
61 MV_WRITE(MV64340_INTERRUPT0_MASK_0_LOW, value);
62 } else {
63 value = MV_READ(MV64340_INTERRUPT0_MASK_0_HIGH);
64 value |= 1 << (irq - irq_base - 32);
65 MV_WRITE(MV64340_INTERRUPT0_MASK_0_HIGH, value);
66 }
67}
68
69/*
70 * Interrupt handler for interrupts coming from the Marvell chip.
71 * It could be built in ethernet ports etc...
72 */
73void ll_mv64340_irq(void)
74{
75 unsigned int irq_src_low, irq_src_high;
76 unsigned int irq_mask_low, irq_mask_high;
77
78 /* read the interrupt status registers */
79 irq_mask_low = MV_READ(MV64340_INTERRUPT0_MASK_0_LOW);
80 irq_mask_high = MV_READ(MV64340_INTERRUPT0_MASK_0_HIGH);
81 irq_src_low = MV_READ(MV64340_MAIN_INTERRUPT_CAUSE_LOW);
82 irq_src_high = MV_READ(MV64340_MAIN_INTERRUPT_CAUSE_HIGH);
83
84 /* mask for just the interrupts we want */
85 irq_src_low &= irq_mask_low;
86 irq_src_high &= irq_mask_high;
87
88 if (irq_src_low)
89 do_IRQ(ls1bit32(irq_src_low) + irq_base);
90 else
91 do_IRQ(ls1bit32(irq_src_high) + irq_base + 32);
92}
93
94struct irq_chip mv64340_irq_type = {
95 .name = "MV-64340",
96 .ack = mask_mv64340_irq,
97 .mask = mask_mv64340_irq,
98 .mask_ack = mask_mv64340_irq,
99 .unmask = unmask_mv64340_irq,
100};
101
102void __init mv64340_irq_init(unsigned int base)
103{
104 int i;
105
106 for (i = base; i < base + 64; i++)
107 set_irq_chip_and_handler(i, &mv64340_irq_type,
108 handle_level_irq);
109
110 irq_base = base;
111}
diff --git a/arch/mips/kernel/mips-mt-fpaff.c b/arch/mips/kernel/mips-mt-fpaff.c
new file mode 100644
index 000000000000..ede5d73d652e
--- /dev/null
+++ b/arch/mips/kernel/mips-mt-fpaff.c
@@ -0,0 +1,176 @@
1/*
2 * General MIPS MT support routines, usable in AP/SP, SMVP, or SMTC kernels
3 * Copyright (C) 2005 Mips Technologies, Inc
4 */
5#include <linux/cpu.h>
6#include <linux/cpumask.h>
7#include <linux/delay.h>
8#include <linux/kernel.h>
9#include <linux/init.h>
10#include <linux/sched.h>
11#include <linux/security.h>
12#include <linux/types.h>
13#include <asm/uaccess.h>
14
15/*
16 * CPU mask used to set process affinity for MT VPEs/TCs with FPUs
17 */
18cpumask_t mt_fpu_cpumask;
19
20static int fpaff_threshold = -1;
21unsigned long mt_fpemul_threshold = 0;
22
23/*
24 * Replacement functions for the sys_sched_setaffinity() and
25 * sys_sched_getaffinity() system calls, so that we can integrate
26 * FPU affinity with the user's requested processor affinity.
27 * This code is 98% identical with the sys_sched_setaffinity()
28 * and sys_sched_getaffinity() system calls, and should be
29 * updated when kernel/sched.c changes.
30 */
31
32/*
33 * find_process_by_pid - find a process with a matching PID value.
34 * used in sys_sched_set/getaffinity() in kernel/sched.c, so
35 * cloned here.
36 */
37static inline struct task_struct *find_process_by_pid(pid_t pid)
38{
39 return pid ? find_task_by_pid(pid) : current;
40}
41
42
43/*
44 * mipsmt_sys_sched_setaffinity - set the cpu affinity of a process
45 */
46asmlinkage long mipsmt_sys_sched_setaffinity(pid_t pid, unsigned int len,
47 unsigned long __user *user_mask_ptr)
48{
49 cpumask_t new_mask;
50 cpumask_t effective_mask;
51 int retval;
52 struct task_struct *p;
53
54 if (len < sizeof(new_mask))
55 return -EINVAL;
56
57 if (copy_from_user(&new_mask, user_mask_ptr, sizeof(new_mask)))
58 return -EFAULT;
59
60 lock_cpu_hotplug();
61 read_lock(&tasklist_lock);
62
63 p = find_process_by_pid(pid);
64 if (!p) {
65 read_unlock(&tasklist_lock);
66 unlock_cpu_hotplug();
67 return -ESRCH;
68 }
69
70 /*
71 * It is not safe to call set_cpus_allowed with the
72 * tasklist_lock held. We will bump the task_struct's
73 * usage count and drop tasklist_lock before invoking
74 * set_cpus_allowed.
75 */
76 get_task_struct(p);
77
78 retval = -EPERM;
79 if ((current->euid != p->euid) && (current->euid != p->uid) &&
80 !capable(CAP_SYS_NICE)) {
81 read_unlock(&tasklist_lock);
82 goto out_unlock;
83 }
84
85 retval = security_task_setscheduler(p, 0, NULL);
86 if (retval)
87 goto out_unlock;
88
89 /* Record new user-specified CPU set for future reference */
90 p->thread.user_cpus_allowed = new_mask;
91
92 /* Unlock the task list */
93 read_unlock(&tasklist_lock);
94
95 /* Compute new global allowed CPU set if necessary */
96 if ((p->thread.mflags & MF_FPUBOUND)
97 && cpus_intersects(new_mask, mt_fpu_cpumask)) {
98 cpus_and(effective_mask, new_mask, mt_fpu_cpumask);
99 retval = set_cpus_allowed(p, effective_mask);
100 } else {
101 p->thread.mflags &= ~MF_FPUBOUND;
102 retval = set_cpus_allowed(p, new_mask);
103 }
104
105
106out_unlock:
107 put_task_struct(p);
108 unlock_cpu_hotplug();
109 return retval;
110}
111
112/*
113 * mipsmt_sys_sched_getaffinity - get the cpu affinity of a process
114 */
115asmlinkage long mipsmt_sys_sched_getaffinity(pid_t pid, unsigned int len,
116 unsigned long __user *user_mask_ptr)
117{
118 unsigned int real_len;
119 cpumask_t mask;
120 int retval;
121 struct task_struct *p;
122
123 real_len = sizeof(mask);
124 if (len < real_len)
125 return -EINVAL;
126
127 lock_cpu_hotplug();
128 read_lock(&tasklist_lock);
129
130 retval = -ESRCH;
131 p = find_process_by_pid(pid);
132 if (!p)
133 goto out_unlock;
134 retval = security_task_getscheduler(p);
135 if (retval)
136 goto out_unlock;
137
138 cpus_and(mask, p->thread.user_cpus_allowed, cpu_possible_map);
139
140out_unlock:
141 read_unlock(&tasklist_lock);
142 unlock_cpu_hotplug();
143 if (retval)
144 return retval;
145 if (copy_to_user(user_mask_ptr, &mask, real_len))
146 return -EFAULT;
147 return real_len;
148}
149
150
151static int __init fpaff_thresh(char *str)
152{
153 get_option(&str, &fpaff_threshold);
154 return 1;
155}
156__setup("fpaff=", fpaff_thresh);
157
158/*
159 * FPU Use Factor empirically derived from experiments on 34K
160 */
161#define FPUSEFACTOR 333
162
163static __init int mt_fp_affinity_init(void)
164{
165 if (fpaff_threshold >= 0) {
166 mt_fpemul_threshold = fpaff_threshold;
167 } else {
168 mt_fpemul_threshold =
169 (FPUSEFACTOR * (loops_per_jiffy/(500000/HZ))) / HZ;
170 }
171 printk(KERN_DEBUG "FPU Affinity set after %ld emulations\n",
172 mt_fpemul_threshold);
173
174 return 0;
175}
176arch_initcall(mt_fp_affinity_init);
diff --git a/arch/mips/kernel/mips-mt.c b/arch/mips/kernel/mips-mt.c
index ba01800b6018..1a7d89231299 100644
--- a/arch/mips/kernel/mips-mt.c
+++ b/arch/mips/kernel/mips-mt.c
@@ -6,7 +6,6 @@
6#include <linux/device.h> 6#include <linux/device.h>
7#include <linux/kernel.h> 7#include <linux/kernel.h>
8#include <linux/sched.h> 8#include <linux/sched.h>
9#include <linux/cpumask.h>
10#include <linux/module.h> 9#include <linux/module.h>
11#include <linux/interrupt.h> 10#include <linux/interrupt.h>
12#include <linux/security.h> 11#include <linux/security.h>
@@ -23,149 +22,6 @@
23#include <asm/cacheflush.h> 22#include <asm/cacheflush.h>
24 23
25/* 24/*
26 * CPU mask used to set process affinity for MT VPEs/TCs with FPUs
27 */
28
29cpumask_t mt_fpu_cpumask;
30
31#ifdef CONFIG_MIPS_MT_FPAFF
32
33#include <linux/cpu.h>
34#include <linux/delay.h>
35#include <asm/uaccess.h>
36
37unsigned long mt_fpemul_threshold = 0;
38
39/*
40 * Replacement functions for the sys_sched_setaffinity() and
41 * sys_sched_getaffinity() system calls, so that we can integrate
42 * FPU affinity with the user's requested processor affinity.
43 * This code is 98% identical with the sys_sched_setaffinity()
44 * and sys_sched_getaffinity() system calls, and should be
45 * updated when kernel/sched.c changes.
46 */
47
48/*
49 * find_process_by_pid - find a process with a matching PID value.
50 * used in sys_sched_set/getaffinity() in kernel/sched.c, so
51 * cloned here.
52 */
53static inline struct task_struct *find_process_by_pid(pid_t pid)
54{
55 return pid ? find_task_by_pid(pid) : current;
56}
57
58
59/*
60 * mipsmt_sys_sched_setaffinity - set the cpu affinity of a process
61 */
62asmlinkage long mipsmt_sys_sched_setaffinity(pid_t pid, unsigned int len,
63 unsigned long __user *user_mask_ptr)
64{
65 cpumask_t new_mask;
66 cpumask_t effective_mask;
67 int retval;
68 struct task_struct *p;
69
70 if (len < sizeof(new_mask))
71 return -EINVAL;
72
73 if (copy_from_user(&new_mask, user_mask_ptr, sizeof(new_mask)))
74 return -EFAULT;
75
76 lock_cpu_hotplug();
77 read_lock(&tasklist_lock);
78
79 p = find_process_by_pid(pid);
80 if (!p) {
81 read_unlock(&tasklist_lock);
82 unlock_cpu_hotplug();
83 return -ESRCH;
84 }
85
86 /*
87 * It is not safe to call set_cpus_allowed with the
88 * tasklist_lock held. We will bump the task_struct's
89 * usage count and drop tasklist_lock before invoking
90 * set_cpus_allowed.
91 */
92 get_task_struct(p);
93
94 retval = -EPERM;
95 if ((current->euid != p->euid) && (current->euid != p->uid) &&
96 !capable(CAP_SYS_NICE)) {
97 read_unlock(&tasklist_lock);
98 goto out_unlock;
99 }
100
101 retval = security_task_setscheduler(p, 0, NULL);
102 if (retval)
103 goto out_unlock;
104
105 /* Record new user-specified CPU set for future reference */
106 p->thread.user_cpus_allowed = new_mask;
107
108 /* Unlock the task list */
109 read_unlock(&tasklist_lock);
110
111 /* Compute new global allowed CPU set if necessary */
112 if( (p->thread.mflags & MF_FPUBOUND)
113 && cpus_intersects(new_mask, mt_fpu_cpumask)) {
114 cpus_and(effective_mask, new_mask, mt_fpu_cpumask);
115 retval = set_cpus_allowed(p, effective_mask);
116 } else {
117 p->thread.mflags &= ~MF_FPUBOUND;
118 retval = set_cpus_allowed(p, new_mask);
119 }
120
121
122out_unlock:
123 put_task_struct(p);
124 unlock_cpu_hotplug();
125 return retval;
126}
127
128/*
129 * mipsmt_sys_sched_getaffinity - get the cpu affinity of a process
130 */
131asmlinkage long mipsmt_sys_sched_getaffinity(pid_t pid, unsigned int len,
132 unsigned long __user *user_mask_ptr)
133{
134 unsigned int real_len;
135 cpumask_t mask;
136 int retval;
137 struct task_struct *p;
138
139 real_len = sizeof(mask);
140 if (len < real_len)
141 return -EINVAL;
142
143 lock_cpu_hotplug();
144 read_lock(&tasklist_lock);
145
146 retval = -ESRCH;
147 p = find_process_by_pid(pid);
148 if (!p)
149 goto out_unlock;
150 retval = security_task_getscheduler(p);
151 if (retval)
152 goto out_unlock;
153
154 cpus_and(mask, p->thread.user_cpus_allowed, cpu_possible_map);
155
156out_unlock:
157 read_unlock(&tasklist_lock);
158 unlock_cpu_hotplug();
159 if (retval)
160 return retval;
161 if (copy_to_user(user_mask_ptr, &mask, real_len))
162 return -EFAULT;
163 return real_len;
164}
165
166#endif /* CONFIG_MIPS_MT_FPAFF */
167
168/*
169 * Dump new MIPS MT state for the core. Does not leave TCs halted. 25 * Dump new MIPS MT state for the core. Does not leave TCs halted.
170 * Takes an argument which taken to be a pre-call MVPControl value. 26 * Takes an argument which taken to be a pre-call MVPControl value.
171 */ 27 */
@@ -195,27 +51,31 @@ void mips_mt_regdump(unsigned long mvpctl)
195 nvpe = ((mvpconf0 & MVPCONF0_PVPE) >> MVPCONF0_PVPE_SHIFT) + 1; 51 nvpe = ((mvpconf0 & MVPCONF0_PVPE) >> MVPCONF0_PVPE_SHIFT) + 1;
196 ntc = ((mvpconf0 & MVPCONF0_PTC) >> MVPCONF0_PTC_SHIFT) + 1; 52 ntc = ((mvpconf0 & MVPCONF0_PTC) >> MVPCONF0_PTC_SHIFT) + 1;
197 printk("-- per-VPE State --\n"); 53 printk("-- per-VPE State --\n");
198 for(i = 0; i < nvpe; i++) { 54 for (i = 0; i < nvpe; i++) {
199 for(tc = 0; tc < ntc; tc++) { 55 for (tc = 0; tc < ntc; tc++) {
200 settc(tc); 56 settc(tc);
201 if((read_tc_c0_tcbind() & TCBIND_CURVPE) == i) { 57 if ((read_tc_c0_tcbind() & TCBIND_CURVPE) == i) {
202 printk(" VPE %d\n", i); 58 printk(" VPE %d\n", i);
203 printk(" VPEControl : %08lx\n", read_vpe_c0_vpecontrol()); 59 printk(" VPEControl : %08lx\n",
204 printk(" VPEConf0 : %08lx\n", read_vpe_c0_vpeconf0()); 60 read_vpe_c0_vpecontrol());
205 printk(" VPE%d.Status : %08lx\n", 61 printk(" VPEConf0 : %08lx\n",
206 i, read_vpe_c0_status()); 62 read_vpe_c0_vpeconf0());
207 printk(" VPE%d.EPC : %08lx\n", i, read_vpe_c0_epc()); 63 printk(" VPE%d.Status : %08lx\n",
208 printk(" VPE%d.Cause : %08lx\n", i, read_vpe_c0_cause()); 64 i, read_vpe_c0_status());
209 printk(" VPE%d.Config7 : %08lx\n", 65 printk(" VPE%d.EPC : %08lx\n",
210 i, read_vpe_c0_config7()); 66 i, read_vpe_c0_epc());
211 break; /* Next VPE */ 67 printk(" VPE%d.Cause : %08lx\n",
68 i, read_vpe_c0_cause());
69 printk(" VPE%d.Config7 : %08lx\n",
70 i, read_vpe_c0_config7());
71 break; /* Next VPE */
72 }
212 } 73 }
213 }
214 } 74 }
215 printk("-- per-TC State --\n"); 75 printk("-- per-TC State --\n");
216 for(tc = 0; tc < ntc; tc++) { 76 for (tc = 0; tc < ntc; tc++) {
217 settc(tc); 77 settc(tc);
218 if(read_tc_c0_tcbind() == read_c0_tcbind()) { 78 if (read_tc_c0_tcbind() == read_c0_tcbind()) {
219 /* Are we dumping ourself? */ 79 /* Are we dumping ourself? */
220 haltval = 0; /* Then we're not halted, and mustn't be */ 80 haltval = 0; /* Then we're not halted, and mustn't be */
221 tcstatval = flags; /* And pre-dump TCStatus is flags */ 81 tcstatval = flags; /* And pre-dump TCStatus is flags */
@@ -310,17 +170,6 @@ static int __init ndflush(char *s)
310 return 1; 170 return 1;
311} 171}
312__setup("ndflush=", ndflush); 172__setup("ndflush=", ndflush);
313#ifdef CONFIG_MIPS_MT_FPAFF
314static int fpaff_threshold = -1;
315
316static int __init fpaff_thresh(char *str)
317{
318 get_option(&str, &fpaff_threshold);
319 return 1;
320}
321
322__setup("fpaff=", fpaff_thresh);
323#endif /* CONFIG_MIPS_MT_FPAFF */
324 173
325static unsigned int itc_base = 0; 174static unsigned int itc_base = 0;
326 175
@@ -376,20 +225,6 @@ void mips_mt_set_cpuoptions(void)
376 if (mt_n_dflushes != 1) 225 if (mt_n_dflushes != 1)
377 printk("D-Cache Flushes Repeated %d times\n", mt_n_dflushes); 226 printk("D-Cache Flushes Repeated %d times\n", mt_n_dflushes);
378 227
379#ifdef CONFIG_MIPS_MT_FPAFF
380 /* FPU Use Factor empirically derived from experiments on 34K */
381#define FPUSEFACTOR 333
382
383 if (fpaff_threshold >= 0) {
384 mt_fpemul_threshold = fpaff_threshold;
385 } else {
386 mt_fpemul_threshold =
387 (FPUSEFACTOR * (loops_per_jiffy/(500000/HZ))) / HZ;
388 }
389 printk("FPU Affinity set after %ld emulations\n",
390 mt_fpemul_threshold);
391#endif /* CONFIG_MIPS_MT_FPAFF */
392
393 if (itc_base != 0) { 228 if (itc_base != 0) {
394 /* 229 /*
395 * Configure ITC mapping. This code is very 230 * Configure ITC mapping. This code is very
diff --git a/arch/mips/kernel/i8253.c b/arch/mips/kernel/pcspeaker.c
index 475df6904219..475df6904219 100644
--- a/arch/mips/kernel/i8253.c
+++ b/arch/mips/kernel/pcspeaker.c
diff --git a/arch/mips/kernel/proc.c b/arch/mips/kernel/proc.c
index 5ddc2e9deecf..ec04f5a1a5ea 100644
--- a/arch/mips/kernel/proc.c
+++ b/arch/mips/kernel/proc.c
@@ -14,7 +14,6 @@
14#include <asm/cpu-features.h> 14#include <asm/cpu-features.h>
15#include <asm/mipsregs.h> 15#include <asm/mipsregs.h>
16#include <asm/processor.h> 16#include <asm/processor.h>
17#include <asm/watch.h>
18 17
19unsigned int vced_count, vcei_count; 18unsigned int vced_count, vcei_count;
20 19
@@ -84,6 +83,7 @@ static const char *cpu_name[] = {
84 [CPU_VR4181A] = "NEC VR4181A", 83 [CPU_VR4181A] = "NEC VR4181A",
85 [CPU_SR71000] = "Sandcraft SR71000", 84 [CPU_SR71000] = "Sandcraft SR71000",
86 [CPU_PR4450] = "Philips PR4450", 85 [CPU_PR4450] = "Philips PR4450",
86 [CPU_LOONGSON2] = "ICT Loongson-2",
87}; 87};
88 88
89 89
diff --git a/arch/mips/kernel/process.c b/arch/mips/kernel/process.c
index 6bdfb5a9fa1a..8f4cf27c7157 100644
--- a/arch/mips/kernel/process.c
+++ b/arch/mips/kernel/process.c
@@ -46,7 +46,7 @@
46 * power and have a low exit latency (ie sit in a loop waiting for somebody to 46 * power and have a low exit latency (ie sit in a loop waiting for somebody to
47 * say that they'd like to reschedule) 47 * say that they'd like to reschedule)
48 */ 48 */
49ATTRIB_NORET void cpu_idle(void) 49void __noreturn cpu_idle(void)
50{ 50{
51 /* endless idle loop with no priority at all */ 51 /* endless idle loop with no priority at all */
52 while (1) { 52 while (1) {
@@ -213,7 +213,7 @@ int dump_task_fpu (struct task_struct *t, elf_fpregset_t *fpr)
213/* 213/*
214 * Create a kernel thread 214 * Create a kernel thread
215 */ 215 */
216static ATTRIB_NORET void kernel_thread_helper(void *arg, int (*fn)(void *)) 216static void __noreturn kernel_thread_helper(void *arg, int (*fn)(void *))
217{ 217{
218 do_exit(fn(arg)); 218 do_exit(fn(arg));
219} 219}
diff --git a/arch/mips/kernel/r4k_switch.S b/arch/mips/kernel/r4k_switch.S
index 06729596812f..d9bfae53c43f 100644
--- a/arch/mips/kernel/r4k_switch.S
+++ b/arch/mips/kernel/r4k_switch.S
@@ -85,12 +85,7 @@
85 move $28, a2 85 move $28, a2
86 cpu_restore_nonscratch a1 86 cpu_restore_nonscratch a1
87 87
88#if (_THREAD_SIZE - 32) < 0x10000 88 PTR_ADDU t0, $28, _THREAD_SIZE - 32
89 PTR_ADDIU t0, $28, _THREAD_SIZE - 32
90#else
91 PTR_LI t0, _THREAD_SIZE - 32
92 PTR_ADDU t0, $28
93#endif
94 set_saved_sp t0, t1, t2 89 set_saved_sp t0, t1, t2
95#ifdef CONFIG_MIPS_MT_SMTC 90#ifdef CONFIG_MIPS_MT_SMTC
96 /* Read-modify-writes of Status must be atomic on a VPE */ 91 /* Read-modify-writes of Status must be atomic on a VPE */
diff --git a/arch/mips/kernel/setup.c b/arch/mips/kernel/setup.c
index 4975da0bfb63..316685fca059 100644
--- a/arch/mips/kernel/setup.c
+++ b/arch/mips/kernel/setup.c
@@ -20,6 +20,7 @@
20#include <linux/highmem.h> 20#include <linux/highmem.h>
21#include <linux/console.h> 21#include <linux/console.h>
22#include <linux/pfn.h> 22#include <linux/pfn.h>
23#include <linux/debugfs.h>
23 24
24#include <asm/addrspace.h> 25#include <asm/addrspace.h>
25#include <asm/bootinfo.h> 26#include <asm/bootinfo.h>
@@ -574,3 +575,18 @@ __setup("nodsp", dsp_disable);
574 575
575unsigned long kernelsp[NR_CPUS]; 576unsigned long kernelsp[NR_CPUS];
576unsigned long fw_arg0, fw_arg1, fw_arg2, fw_arg3; 577unsigned long fw_arg0, fw_arg1, fw_arg2, fw_arg3;
578
579#ifdef CONFIG_DEBUG_FS
580struct dentry *mips_debugfs_dir;
581static int __init debugfs_mips(void)
582{
583 struct dentry *d;
584
585 d = debugfs_create_dir("mips", NULL);
586 if (IS_ERR(d))
587 return PTR_ERR(d);
588 mips_debugfs_dir = d;
589 return 0;
590}
591arch_initcall(debugfs_mips);
592#endif
diff --git a/arch/mips/kernel/signal32.c b/arch/mips/kernel/signal32.c
index 003f8152b9ed..486b8e5f52d0 100644
--- a/arch/mips/kernel/signal32.c
+++ b/arch/mips/kernel/signal32.c
@@ -36,68 +36,6 @@
36 36
37#include "signal-common.h" 37#include "signal-common.h"
38 38
39#define SI_PAD_SIZE32 ((SI_MAX_SIZE/sizeof(int)) - 3)
40
41typedef struct compat_siginfo {
42 int si_signo;
43 int si_code;
44 int si_errno;
45
46 union {
47 int _pad[SI_PAD_SIZE32];
48
49 /* kill() */
50 struct {
51 compat_pid_t _pid; /* sender's pid */
52 compat_uid_t _uid; /* sender's uid */
53 } _kill;
54
55 /* SIGCHLD */
56 struct {
57 compat_pid_t _pid; /* which child */
58 compat_uid_t _uid; /* sender's uid */
59 int _status; /* exit code */
60 compat_clock_t _utime;
61 compat_clock_t _stime;
62 } _sigchld;
63
64 /* IRIX SIGCHLD */
65 struct {
66 compat_pid_t _pid; /* which child */
67 compat_clock_t _utime;
68 int _status; /* exit code */
69 compat_clock_t _stime;
70 } _irix_sigchld;
71
72 /* SIGILL, SIGFPE, SIGSEGV, SIGBUS */
73 struct {
74 s32 _addr; /* faulting insn/memory ref. */
75 } _sigfault;
76
77 /* SIGPOLL, SIGXFSZ (To do ...) */
78 struct {
79 int _band; /* POLL_IN, POLL_OUT, POLL_MSG */
80 int _fd;
81 } _sigpoll;
82
83 /* POSIX.1b timers */
84 struct {
85 timer_t _tid; /* timer id */
86 int _overrun; /* overrun count */
87 compat_sigval_t _sigval;/* same as below */
88 int _sys_private; /* not to be passed to user */
89 } _timer;
90
91 /* POSIX.1b signals */
92 struct {
93 compat_pid_t _pid; /* sender's pid */
94 compat_uid_t _uid; /* sender's uid */
95 compat_sigval_t _sigval;
96 } _rt;
97
98 } _sifields;
99} compat_siginfo_t;
100
101/* 39/*
102 * Including <asm/unistd.h> would give use the 64-bit syscall numbers ... 40 * Including <asm/unistd.h> would give use the 64-bit syscall numbers ...
103 */ 41 */
diff --git a/arch/mips/kernel/signal_n32.c b/arch/mips/kernel/signal_n32.c
index 4cf9ff24d1f7..eb7e05926ebe 100644
--- a/arch/mips/kernel/signal_n32.c
+++ b/arch/mips/kernel/signal_n32.c
@@ -72,7 +72,7 @@ struct ucontextn32 {
72struct rt_sigframe_n32 { 72struct rt_sigframe_n32 {
73 u32 rs_ass[4]; /* argument save space for o32 */ 73 u32 rs_ass[4]; /* argument save space for o32 */
74 u32 rs_code[2]; /* signal trampoline */ 74 u32 rs_code[2]; /* signal trampoline */
75 struct siginfo rs_info; 75 struct compat_siginfo rs_info;
76 struct ucontextn32 rs_uc; 76 struct ucontextn32 rs_uc;
77}; 77};
78 78
@@ -81,7 +81,7 @@ struct rt_sigframe_n32 {
81struct rt_sigframe_n32 { 81struct rt_sigframe_n32 {
82 u32 rs_ass[4]; /* argument save space for o32 */ 82 u32 rs_ass[4]; /* argument save space for o32 */
83 u32 rs_pad[2]; 83 u32 rs_pad[2];
84 struct siginfo rs_info; 84 struct compat_siginfo rs_info;
85 struct ucontextn32 rs_uc; 85 struct ucontextn32 rs_uc;
86 u32 rs_code[8] ____cacheline_aligned; /* signal trampoline */ 86 u32 rs_code[8] ____cacheline_aligned; /* signal trampoline */
87}; 87};
@@ -187,7 +187,7 @@ static int setup_rt_frame_n32(struct k_sigaction * ka,
187 install_sigtramp(frame->rs_code, __NR_N32_rt_sigreturn); 187 install_sigtramp(frame->rs_code, __NR_N32_rt_sigreturn);
188 188
189 /* Create siginfo. */ 189 /* Create siginfo. */
190 err |= copy_siginfo_to_user(&frame->rs_info, info); 190 err |= copy_siginfo_to_user32(&frame->rs_info, info);
191 191
192 /* Create the ucontext. */ 192 /* Create the ucontext. */
193 err |= __put_user(0, &frame->rs_uc.uc_flags); 193 err |= __put_user(0, &frame->rs_uc.uc_flags);
diff --git a/arch/mips/kernel/smp-mt.c b/arch/mips/kernel/smp-mt.c
index b8fa7ddd78f6..19b30d6f1727 100644
--- a/arch/mips/kernel/smp-mt.c
+++ b/arch/mips/kernel/smp-mt.c
@@ -236,8 +236,6 @@ void __init plat_smp_setup(void)
236 dvpe(); 236 dvpe();
237 dmt(); 237 dmt();
238 238
239 mips_mt_set_cpuoptions();
240
241 /* Put MVPE's into 'configuration state' */ 239 /* Put MVPE's into 'configuration state' */
242 set_c0_mvpcontrol(MVPCONTROL_VPC); 240 set_c0_mvpcontrol(MVPCONTROL_VPC);
243 241
@@ -263,6 +261,8 @@ void __init plat_smp_setup(void)
263 261
264void __init plat_prepare_cpus(unsigned int max_cpus) 262void __init plat_prepare_cpus(unsigned int max_cpus)
265{ 263{
264 mips_mt_set_cpuoptions();
265
266 /* set up ipi interrupts */ 266 /* set up ipi interrupts */
267 if (cpu_has_vint) { 267 if (cpu_has_vint) {
268 set_vi_handler(MIPS_CPU_IPI_RESCHED_IRQ, ipi_resched_dispatch); 268 set_vi_handler(MIPS_CPU_IPI_RESCHED_IRQ, ipi_resched_dispatch);
diff --git a/arch/mips/kernel/smp.c b/arch/mips/kernel/smp.c
index 67edfa7ed93a..be7362bc2c9a 100644
--- a/arch/mips/kernel/smp.c
+++ b/arch/mips/kernel/smp.c
@@ -51,18 +51,8 @@ int __cpu_logical_map[NR_CPUS]; /* Map logical to physical */
51EXPORT_SYMBOL(phys_cpu_present_map); 51EXPORT_SYMBOL(phys_cpu_present_map);
52EXPORT_SYMBOL(cpu_online_map); 52EXPORT_SYMBOL(cpu_online_map);
53 53
54/* This happens early in bootup, can't really do it better */
55static void smp_tune_scheduling (void)
56{
57 struct cache_desc *cd = &current_cpu_data.scache;
58 unsigned long cachesize = cd->linesz * cd->sets * cd->ways;
59
60 if (cachesize > max_cache_size)
61 max_cache_size = cachesize;
62}
63
64extern void __init calibrate_delay(void); 54extern void __init calibrate_delay(void);
65extern ATTRIB_NORET void cpu_idle(void); 55extern void cpu_idle(void);
66 56
67/* 57/*
68 * First C code run on the secondary CPUs after being started up by 58 * First C code run on the secondary CPUs after being started up by
@@ -228,7 +218,6 @@ void __init smp_prepare_cpus(unsigned int max_cpus)
228{ 218{
229 init_new_context(current, &init_mm); 219 init_new_context(current, &init_mm);
230 current_thread_info()->cpu = 0; 220 current_thread_info()->cpu = 0;
231 smp_tune_scheduling();
232 plat_prepare_cpus(max_cpus); 221 plat_prepare_cpus(max_cpus);
233#ifndef CONFIG_HOTPLUG_CPU 222#ifndef CONFIG_HOTPLUG_CPU
234 cpu_present_map = cpu_possible_map; 223 cpu_present_map = cpu_possible_map;
diff --git a/arch/mips/kernel/smtc.c b/arch/mips/kernel/smtc.c
index 2e011470c347..342d873b2ecc 100644
--- a/arch/mips/kernel/smtc.c
+++ b/arch/mips/kernel/smtc.c
@@ -822,7 +822,7 @@ void ipi_decode(struct smtc_ipi *pipi)
822 switch (type_copy) { 822 switch (type_copy) {
823 case SMTC_CLOCK_TICK: 823 case SMTC_CLOCK_TICK:
824 irq_enter(); 824 irq_enter();
825 kstat_this_cpu.irqs[MIPS_CPU_IRQ_BASE + cp0_perfcount_irq]++; 825 kstat_this_cpu.irqs[MIPS_CPU_IRQ_BASE + cp0_compare_irq]++;
826 /* Invoke Clock "Interrupt" */ 826 /* Invoke Clock "Interrupt" */
827 ipi_timer_latch[dest_copy] = 0; 827 ipi_timer_latch[dest_copy] = 0;
828#ifdef CONFIG_SMTC_IDLE_HOOK_DEBUG 828#ifdef CONFIG_SMTC_IDLE_HOOK_DEBUG
@@ -1104,7 +1104,7 @@ void smtc_idle_loop_hook(void)
1104 mtflags = dmt(); 1104 mtflags = dmt();
1105 pdb_msg = &id_ho_db_msg[0]; 1105 pdb_msg = &id_ho_db_msg[0];
1106 im = read_c0_status(); 1106 im = read_c0_status();
1107 vpe = cpu_data[smp_processor_id()].vpe_id; 1107 vpe = current_cpu_data.vpe_id;
1108 for (bit = 0; bit < 8; bit++) { 1108 for (bit = 0; bit < 8; bit++) {
1109 /* 1109 /*
1110 * In current prototype, I/O interrupts 1110 * In current prototype, I/O interrupts
diff --git a/arch/mips/kernel/syscall.c b/arch/mips/kernel/syscall.c
index 9dd5a2df8eac..b947c61c0cc8 100644
--- a/arch/mips/kernel/syscall.c
+++ b/arch/mips/kernel/syscall.c
@@ -272,9 +272,8 @@ asmlinkage int sys_set_thread_area(unsigned long addr)
272 struct thread_info *ti = task_thread_info(current); 272 struct thread_info *ti = task_thread_info(current);
273 273
274 ti->tp_value = addr; 274 ti->tp_value = addr;
275 275 if (cpu_has_userlocal)
276 /* If some future MIPS implementation has this register in hardware, 276 write_c0_userlocal(addr);
277 * we will need to update it here (and in context switches). */
278 277
279 return 0; 278 return 0;
280} 279}
diff --git a/arch/mips/kernel/traps.c b/arch/mips/kernel/traps.c
index b1233644fcca..5e9fa83c4ef0 100644
--- a/arch/mips/kernel/traps.c
+++ b/arch/mips/kernel/traps.c
@@ -39,7 +39,6 @@
39#include <asm/traps.h> 39#include <asm/traps.h>
40#include <asm/uaccess.h> 40#include <asm/uaccess.h>
41#include <asm/mmu_context.h> 41#include <asm/mmu_context.h>
42#include <asm/watch.h>
43#include <asm/types.h> 42#include <asm/types.h>
44#include <asm/stacktrace.h> 43#include <asm/stacktrace.h>
45 44
@@ -70,6 +69,7 @@ extern asmlinkage void handle_reserved(void);
70extern int fpu_emulator_cop1Handler(struct pt_regs *xcp, 69extern int fpu_emulator_cop1Handler(struct pt_regs *xcp,
71 struct mips_fpu_struct *ctx, int has_fpu); 70 struct mips_fpu_struct *ctx, int has_fpu);
72 71
72void (*board_watchpoint_handler)(struct pt_regs *regs);
73void (*board_be_init)(void); 73void (*board_be_init)(void);
74int (*board_be_handler)(struct pt_regs *regs, int is_fixup); 74int (*board_be_handler)(struct pt_regs *regs, int is_fixup);
75void (*board_nmi_handler_setup)(void); 75void (*board_nmi_handler_setup)(void);
@@ -311,7 +311,7 @@ void show_registers(struct pt_regs *regs)
311 311
312static DEFINE_SPINLOCK(die_lock); 312static DEFINE_SPINLOCK(die_lock);
313 313
314NORET_TYPE void ATTRIB_NORET die(const char * str, struct pt_regs * regs) 314void __noreturn die(const char * str, struct pt_regs * regs)
315{ 315{
316 static int die_counter; 316 static int die_counter;
317#ifdef CONFIG_MIPS_MT_SMTC 317#ifdef CONFIG_MIPS_MT_SMTC
@@ -373,7 +373,7 @@ asmlinkage void do_be(struct pt_regs *regs)
373 action = MIPS_BE_FIXUP; 373 action = MIPS_BE_FIXUP;
374 374
375 if (board_be_handler) 375 if (board_be_handler)
376 action = board_be_handler(regs, fixup != 0); 376 action = board_be_handler(regs, fixup != NULL);
377 377
378 switch (action) { 378 switch (action) {
379 case MIPS_BE_DISCARD: 379 case MIPS_BE_DISCARD:
@@ -753,6 +753,33 @@ asmlinkage void do_ri(struct pt_regs *regs)
753 force_sig(SIGILL, current); 753 force_sig(SIGILL, current);
754} 754}
755 755
756/*
757 * MIPS MT processors may have fewer FPU contexts than CPU threads. If we've
758 * emulated more than some threshold number of instructions, force migration to
759 * a "CPU" that has FP support.
760 */
761static void mt_ase_fp_affinity(void)
762{
763#ifdef CONFIG_MIPS_MT_FPAFF
764 if (mt_fpemul_threshold > 0 &&
765 ((current->thread.emulated_fp++ > mt_fpemul_threshold))) {
766 /*
767 * If there's no FPU present, or if the application has already
768 * restricted the allowed set to exclude any CPUs with FPUs,
769 * we'll skip the procedure.
770 */
771 if (cpus_intersects(current->cpus_allowed, mt_fpu_cpumask)) {
772 cpumask_t tmask;
773
774 cpus_and(tmask, current->thread.user_cpus_allowed,
775 mt_fpu_cpumask);
776 set_cpus_allowed(current, tmask);
777 current->thread.mflags |= MF_FPUBOUND;
778 }
779 }
780#endif /* CONFIG_MIPS_MT_FPAFF */
781}
782
756asmlinkage void do_cpu(struct pt_regs *regs) 783asmlinkage void do_cpu(struct pt_regs *regs)
757{ 784{
758 unsigned int cpid; 785 unsigned int cpid;
@@ -786,36 +813,8 @@ asmlinkage void do_cpu(struct pt_regs *regs)
786 &current->thread.fpu, 0); 813 &current->thread.fpu, 0);
787 if (sig) 814 if (sig)
788 force_sig(sig, current); 815 force_sig(sig, current);
789#ifdef CONFIG_MIPS_MT_FPAFF 816 else
790 else { 817 mt_ase_fp_affinity();
791 /*
792 * MIPS MT processors may have fewer FPU contexts
793 * than CPU threads. If we've emulated more than
794 * some threshold number of instructions, force
795 * migration to a "CPU" that has FP support.
796 */
797 if(mt_fpemul_threshold > 0
798 && ((current->thread.emulated_fp++
799 > mt_fpemul_threshold))) {
800 /*
801 * If there's no FPU present, or if the
802 * application has already restricted
803 * the allowed set to exclude any CPUs
804 * with FPUs, we'll skip the procedure.
805 */
806 if (cpus_intersects(current->cpus_allowed,
807 mt_fpu_cpumask)) {
808 cpumask_t tmask;
809
810 cpus_and(tmask,
811 current->thread.user_cpus_allowed,
812 mt_fpu_cpumask);
813 set_cpus_allowed(current, tmask);
814 current->thread.mflags |= MF_FPUBOUND;
815 }
816 }
817 }
818#endif /* CONFIG_MIPS_MT_FPAFF */
819 } 818 }
820 819
821 return; 820 return;
@@ -835,6 +834,11 @@ asmlinkage void do_mdmx(struct pt_regs *regs)
835 834
836asmlinkage void do_watch(struct pt_regs *regs) 835asmlinkage void do_watch(struct pt_regs *regs)
837{ 836{
837 if (board_watchpoint_handler) {
838 (*board_watchpoint_handler)(regs);
839 return;
840 }
841
838 /* 842 /*
839 * We use the watch exception where available to detect stack 843 * We use the watch exception where available to detect stack
840 * overflows. 844 * overflows.
@@ -1343,7 +1347,14 @@ void __init per_cpu_trap_init(void)
1343 set_c0_status(ST0_MX); 1347 set_c0_status(ST0_MX);
1344 1348
1345#ifdef CONFIG_CPU_MIPSR2 1349#ifdef CONFIG_CPU_MIPSR2
1346 write_c0_hwrena (0x0000000f); /* Allow rdhwr to all registers */ 1350 if (cpu_has_mips_r2) {
1351 unsigned int enable = 0x0000000f;
1352
1353 if (cpu_has_userlocal)
1354 enable |= (1 << 29);
1355
1356 write_c0_hwrena(enable);
1357 }
1347#endif 1358#endif
1348 1359
1349#ifdef CONFIG_MIPS_MT_SMTC 1360#ifdef CONFIG_MIPS_MT_SMTC
@@ -1372,12 +1383,12 @@ void __init per_cpu_trap_init(void)
1372 */ 1383 */
1373 if (cpu_has_mips_r2) { 1384 if (cpu_has_mips_r2) {
1374 cp0_compare_irq = (read_c0_intctl () >> 29) & 7; 1385 cp0_compare_irq = (read_c0_intctl () >> 29) & 7;
1375 cp0_perfcount_irq = -1;
1376 } else {
1377 cp0_compare_irq = CP0_LEGACY_COMPARE_IRQ;
1378 cp0_perfcount_irq = (read_c0_intctl () >> 26) & 7; 1386 cp0_perfcount_irq = (read_c0_intctl () >> 26) & 7;
1379 if (cp0_perfcount_irq != cp0_compare_irq) 1387 if (cp0_perfcount_irq == cp0_compare_irq)
1380 cp0_perfcount_irq = -1; 1388 cp0_perfcount_irq = -1;
1389 } else {
1390 cp0_compare_irq = CP0_LEGACY_COMPARE_IRQ;
1391 cp0_perfcount_irq = -1;
1381 } 1392 }
1382 1393
1383#ifdef CONFIG_MIPS_MT_SMTC 1394#ifdef CONFIG_MIPS_MT_SMTC
diff --git a/arch/mips/kernel/unaligned.c b/arch/mips/kernel/unaligned.c
index 18c4a3c45a31..8b9c34ffae18 100644
--- a/arch/mips/kernel/unaligned.c
+++ b/arch/mips/kernel/unaligned.c
@@ -77,6 +77,7 @@
77#include <linux/signal.h> 77#include <linux/signal.h>
78#include <linux/smp.h> 78#include <linux/smp.h>
79#include <linux/sched.h> 79#include <linux/sched.h>
80#include <linux/debugfs.h>
80#include <asm/asm.h> 81#include <asm/asm.h>
81#include <asm/branch.h> 82#include <asm/branch.h>
82#include <asm/byteorder.h> 83#include <asm/byteorder.h>
@@ -87,9 +88,18 @@
87#define STR(x) __STR(x) 88#define STR(x) __STR(x)
88#define __STR(x) #x 89#define __STR(x) #x
89 90
90#ifdef CONFIG_PROC_FS 91enum {
91unsigned long unaligned_instructions; 92 UNALIGNED_ACTION_QUIET,
93 UNALIGNED_ACTION_SIGNAL,
94 UNALIGNED_ACTION_SHOW,
95};
96#ifdef CONFIG_DEBUG_FS
97static u32 unaligned_instructions;
98static u32 unaligned_action;
99#else
100#define unaligned_action UNALIGNED_ACTION_QUIET
92#endif 101#endif
102extern void show_registers(struct pt_regs *regs);
93 103
94static inline int emulate_load_store_insn(struct pt_regs *regs, 104static inline int emulate_load_store_insn(struct pt_regs *regs,
95 void __user *addr, unsigned int __user *pc, 105 void __user *addr, unsigned int __user *pc,
@@ -459,7 +469,7 @@ static inline int emulate_load_store_insn(struct pt_regs *regs,
459 goto sigill; 469 goto sigill;
460 } 470 }
461 471
462#ifdef CONFIG_PROC_FS 472#ifdef CONFIG_DEBUG_FS
463 unaligned_instructions++; 473 unaligned_instructions++;
464#endif 474#endif
465 475
@@ -516,6 +526,10 @@ asmlinkage void do_ade(struct pt_regs *regs)
516 pc = (unsigned int __user *) exception_epc(regs); 526 pc = (unsigned int __user *) exception_epc(regs);
517 if (user_mode(regs) && (current->thread.mflags & MF_FIXADE) == 0) 527 if (user_mode(regs) && (current->thread.mflags & MF_FIXADE) == 0)
518 goto sigbus; 528 goto sigbus;
529 if (unaligned_action == UNALIGNED_ACTION_SIGNAL)
530 goto sigbus;
531 else if (unaligned_action == UNALIGNED_ACTION_SHOW)
532 show_registers(regs);
519 533
520 /* 534 /*
521 * Do branch emulation only if we didn't forward the exception. 535 * Do branch emulation only if we didn't forward the exception.
@@ -546,3 +560,24 @@ sigbus:
546 * XXX On return from the signal handler we should advance the epc 560 * XXX On return from the signal handler we should advance the epc
547 */ 561 */
548} 562}
563
564#ifdef CONFIG_DEBUG_FS
565extern struct dentry *mips_debugfs_dir;
566static int __init debugfs_unaligned(void)
567{
568 struct dentry *d;
569
570 if (!mips_debugfs_dir)
571 return -ENODEV;
572 d = debugfs_create_u32("unaligned_instructions", S_IRUGO,
573 mips_debugfs_dir, &unaligned_instructions);
574 if (IS_ERR(d))
575 return PTR_ERR(d);
576 d = debugfs_create_u32("unaligned_action", S_IRUGO | S_IWUSR,
577 mips_debugfs_dir, &unaligned_action);
578 if (IS_ERR(d))
579 return PTR_ERR(d);
580 return 0;
581}
582__initcall(debugfs_unaligned);
583#endif
diff --git a/arch/mips/kernel/vpe.c b/arch/mips/kernel/vpe.c
index c9ee9d2d5856..9e66354dee8b 100644
--- a/arch/mips/kernel/vpe.c
+++ b/arch/mips/kernel/vpe.c
@@ -1436,10 +1436,6 @@ static int __init vpe_module_init(void)
1436 write_vpe_c0_vpecontrol(read_vpe_c0_vpecontrol() & ~VPECONTROL_TE); 1436 write_vpe_c0_vpecontrol(read_vpe_c0_vpecontrol() & ~VPECONTROL_TE);
1437 1437
1438 if (i != 0) { 1438 if (i != 0) {
1439 write_vpe_c0_status((read_c0_status() &
1440 ~(ST0_IM | ST0_IE | ST0_KSU))
1441 | ST0_CU0);
1442
1443 /* 1439 /*
1444 * Set config to be the same as vpe0, 1440 * Set config to be the same as vpe0,
1445 * particularly kseg0 coherency alg 1441 * particularly kseg0 coherency alg
diff --git a/arch/mips/lasat/Kconfig b/arch/mips/lasat/Kconfig
deleted file mode 100644
index 1d2ee8a9be13..000000000000
--- a/arch/mips/lasat/Kconfig
+++ /dev/null
@@ -1,15 +0,0 @@
1config PICVUE
2 tristate "PICVUE LCD display driver"
3 depends on LASAT
4
5config PICVUE_PROC
6 tristate "PICVUE LCD display driver /proc interface"
7 depends on PICVUE
8
9config DS1603
10 bool "DS1603 RTC driver"
11 depends on LASAT
12
13config LASAT_SYSCTL
14 bool "LASAT sysctl interface"
15 depends on LASAT
diff --git a/arch/mips/lasat/Makefile b/arch/mips/lasat/Makefile
deleted file mode 100644
index 99f5046fdf49..000000000000
--- a/arch/mips/lasat/Makefile
+++ /dev/null
@@ -1,14 +0,0 @@
1#
2# Makefile for the LASAT specific kernel interface routines under Linux.
3#
4
5obj-y += reset.o setup.o prom.o lasat_board.o \
6 at93c.o interrupt.o
7
8obj-$(CONFIG_LASAT_SYSCTL) += sysctl.o
9obj-$(CONFIG_DS1603) += ds1603.o
10obj-$(CONFIG_PICVUE) += picvue.o
11obj-$(CONFIG_PICVUE_PROC) += picvue_proc.o
12
13clean:
14 make -C image clean
diff --git a/arch/mips/lasat/at93c.c b/arch/mips/lasat/at93c.c
deleted file mode 100644
index ca26e554615e..000000000000
--- a/arch/mips/lasat/at93c.c
+++ /dev/null
@@ -1,148 +0,0 @@
1/*
2 * Atmel AT93C46 serial eeprom driver
3 *
4 * Brian Murphy <brian.murphy@eicon.com>
5 *
6 */
7#include <linux/kernel.h>
8#include <linux/delay.h>
9#include <asm/lasat/lasat.h>
10#include <linux/module.h>
11#include <linux/init.h>
12
13#include "at93c.h"
14
15#define AT93C_ADDR_SHIFT 7
16#define AT93C_ADDR_MAX ((1 << AT93C_ADDR_SHIFT) - 1)
17#define AT93C_RCMD (0x6 << AT93C_ADDR_SHIFT)
18#define AT93C_WCMD (0x5 << AT93C_ADDR_SHIFT)
19#define AT93C_WENCMD 0x260
20#define AT93C_WDSCMD 0x200
21
22struct at93c_defs *at93c;
23
24static void at93c_reg_write(u32 val)
25{
26 *at93c->reg = val;
27}
28
29static u32 at93c_reg_read(void)
30{
31 u32 tmp = *at93c->reg;
32 return tmp;
33}
34
35static u32 at93c_datareg_read(void)
36{
37 u32 tmp = *at93c->rdata_reg;
38 return tmp;
39}
40
41static void at93c_cycle_clk(u32 data)
42{
43 at93c_reg_write(data | at93c->clk);
44 lasat_ndelay(250);
45 at93c_reg_write(data & ~at93c->clk);
46 lasat_ndelay(250);
47}
48
49static void at93c_write_databit(u8 bit)
50{
51 u32 data = at93c_reg_read();
52 if (bit)
53 data |= 1 << at93c->wdata_shift;
54 else
55 data &= ~(1 << at93c->wdata_shift);
56
57 at93c_reg_write(data);
58 lasat_ndelay(100);
59 at93c_cycle_clk(data);
60}
61
62static unsigned int at93c_read_databit(void)
63{
64 u32 data;
65
66 at93c_cycle_clk(at93c_reg_read());
67 data = (at93c_datareg_read() >> at93c->rdata_shift) & 1;
68 return data;
69}
70
71static u8 at93c_read_byte(void)
72{
73 int i;
74 u8 data = 0;
75
76 for (i = 0; i<=7; i++) {
77 data <<= 1;
78 data |= at93c_read_databit();
79 }
80 return data;
81}
82
83static void at93c_write_bits(u32 data, int size)
84{
85 int i;
86 int shift = size - 1;
87 u32 mask = (1 << shift);
88
89 for (i = 0; i < size; i++) {
90 at93c_write_databit((data & mask) >> shift);
91 data <<= 1;
92 }
93}
94
95static void at93c_init_op(void)
96{
97 at93c_reg_write((at93c_reg_read() | at93c->cs) & ~at93c->clk & ~(1 << at93c->rdata_shift));
98 lasat_ndelay(50);
99}
100
101static void at93c_end_op(void)
102{
103 at93c_reg_write(at93c_reg_read() & ~at93c->cs);
104 lasat_ndelay(250);
105}
106
107static void at93c_wait(void)
108{
109 at93c_init_op();
110 while (!at93c_read_databit())
111 ;
112 at93c_end_op();
113};
114
115static void at93c_disable_wp(void)
116{
117 at93c_init_op();
118 at93c_write_bits(AT93C_WENCMD, 10);
119 at93c_end_op();
120}
121
122static void at93c_enable_wp(void)
123{
124 at93c_init_op();
125 at93c_write_bits(AT93C_WDSCMD, 10);
126 at93c_end_op();
127}
128
129u8 at93c_read(u8 addr)
130{
131 u8 byte;
132 at93c_init_op();
133 at93c_write_bits((addr & AT93C_ADDR_MAX)|AT93C_RCMD, 10);
134 byte = at93c_read_byte();
135 at93c_end_op();
136 return byte;
137}
138
139void at93c_write(u8 addr, u8 data)
140{
141 at93c_disable_wp();
142 at93c_init_op();
143 at93c_write_bits((addr & AT93C_ADDR_MAX)|AT93C_WCMD, 10);
144 at93c_write_bits(data, 8);
145 at93c_end_op();
146 at93c_wait();
147 at93c_enable_wp();
148}
diff --git a/arch/mips/lasat/at93c.h b/arch/mips/lasat/at93c.h
deleted file mode 100644
index cfe2f99b1d44..000000000000
--- a/arch/mips/lasat/at93c.h
+++ /dev/null
@@ -1,18 +0,0 @@
1/*
2 * Atmel AT93C46 serial eeprom driver
3 *
4 * Brian Murphy <brian.murphy@eicon.com>
5 *
6 */
7
8extern struct at93c_defs {
9 volatile u32 *reg;
10 volatile u32 *rdata_reg;
11 int rdata_shift;
12 int wdata_shift;
13 u32 cs;
14 u32 clk;
15} *at93c;
16
17u8 at93c_read(u8 addr);
18void at93c_write(u8 addr, u8 data);
diff --git a/arch/mips/lasat/ds1603.c b/arch/mips/lasat/ds1603.c
deleted file mode 100644
index 7dced67c55eb..000000000000
--- a/arch/mips/lasat/ds1603.c
+++ /dev/null
@@ -1,183 +0,0 @@
1/*
2 * Dallas Semiconductors 1603 RTC driver
3 *
4 * Brian Murphy <brian@murphy.dk>
5 *
6 */
7#include <linux/kernel.h>
8#include <asm/lasat/lasat.h>
9#include <linux/delay.h>
10#include <asm/lasat/ds1603.h>
11#include <asm/time.h>
12
13#include "ds1603.h"
14
15#define READ_TIME_CMD 0x81
16#define SET_TIME_CMD 0x80
17#define TRIMMER_SET_CMD 0xC0
18#define TRIMMER_VALUE_MASK 0x38
19#define TRIMMER_SHIFT 3
20
21struct ds_defs *ds1603 = NULL;
22
23/* HW specific register functions */
24static void rtc_reg_write(unsigned long val)
25{
26 *ds1603->reg = val;
27}
28
29static unsigned long rtc_reg_read(void)
30{
31 unsigned long tmp = *ds1603->reg;
32 return tmp;
33}
34
35static unsigned long rtc_datareg_read(void)
36{
37 unsigned long tmp = *ds1603->data_reg;
38 return tmp;
39}
40
41static void rtc_nrst_high(void)
42{
43 rtc_reg_write(rtc_reg_read() | ds1603->rst);
44}
45
46static void rtc_nrst_low(void)
47{
48 rtc_reg_write(rtc_reg_read() & ~ds1603->rst);
49}
50
51static void rtc_cycle_clock(unsigned long data)
52{
53 data |= ds1603->clk;
54 rtc_reg_write(data);
55 lasat_ndelay(250);
56 if (ds1603->data_reversed)
57 data &= ~ds1603->data;
58 else
59 data |= ds1603->data;
60 data &= ~ds1603->clk;
61 rtc_reg_write(data);
62 lasat_ndelay(250 + ds1603->huge_delay);
63}
64
65static void rtc_write_databit(unsigned int bit)
66{
67 unsigned long data = rtc_reg_read();
68 if (ds1603->data_reversed)
69 bit = !bit;
70 if (bit)
71 data |= ds1603->data;
72 else
73 data &= ~ds1603->data;
74
75 rtc_reg_write(data);
76 lasat_ndelay(50 + ds1603->huge_delay);
77 rtc_cycle_clock(data);
78}
79
80static unsigned int rtc_read_databit(void)
81{
82 unsigned int data;
83
84 data = (rtc_datareg_read() & (1 << ds1603->data_read_shift))
85 >> ds1603->data_read_shift;
86 rtc_cycle_clock(rtc_reg_read());
87 return data;
88}
89
90static void rtc_write_byte(unsigned int byte)
91{
92 int i;
93
94 for (i = 0; i<=7; i++) {
95 rtc_write_databit(byte & 1L);
96 byte >>= 1;
97 }
98}
99
100static void rtc_write_word(unsigned long word)
101{
102 int i;
103
104 for (i = 0; i<=31; i++) {
105 rtc_write_databit(word & 1L);
106 word >>= 1;
107 }
108}
109
110static unsigned long rtc_read_word(void)
111{
112 int i;
113 unsigned long word = 0;
114 unsigned long shift = 0;
115
116 for (i = 0; i<=31; i++) {
117 word |= rtc_read_databit() << shift;
118 shift++;
119 }
120 return word;
121}
122
123static void rtc_init_op(void)
124{
125 rtc_nrst_high();
126
127 rtc_reg_write(rtc_reg_read() & ~ds1603->clk);
128
129 lasat_ndelay(50);
130}
131
132static void rtc_end_op(void)
133{
134 rtc_nrst_low();
135 lasat_ndelay(1000);
136}
137
138/* interface */
139unsigned long ds1603_read(void)
140{
141 unsigned long word;
142 unsigned long flags;
143
144 spin_lock_irqsave(&rtc_lock, flags);
145 rtc_init_op();
146 rtc_write_byte(READ_TIME_CMD);
147 word = rtc_read_word();
148 rtc_end_op();
149 spin_unlock_irqrestore(&rtc_lock, flags);
150 return word;
151}
152
153int ds1603_set(unsigned long time)
154{
155 unsigned long flags;
156
157 spin_lock_irqsave(&rtc_lock, flags);
158 rtc_init_op();
159 rtc_write_byte(SET_TIME_CMD);
160 rtc_write_word(time);
161 rtc_end_op();
162 spin_unlock_irqrestore(&rtc_lock, flags);
163
164 return 0;
165}
166
167void ds1603_set_trimmer(unsigned int trimval)
168{
169 rtc_init_op();
170 rtc_write_byte(((trimval << TRIMMER_SHIFT) & TRIMMER_VALUE_MASK)
171 | (TRIMMER_SET_CMD));
172 rtc_end_op();
173}
174
175void ds1603_disable(void)
176{
177 ds1603_set_trimmer(TRIMMER_DISABLE_RTC);
178}
179
180void ds1603_enable(void)
181{
182 ds1603_set_trimmer(TRIMMER_DEFAULT);
183}
diff --git a/arch/mips/lasat/ds1603.h b/arch/mips/lasat/ds1603.h
deleted file mode 100644
index c2e5c76a379d..000000000000
--- a/arch/mips/lasat/ds1603.h
+++ /dev/null
@@ -1,33 +0,0 @@
1/*
2 * Dallas Semiconductors 1603 RTC driver
3 *
4 * Brian Murphy <brian@murphy.dk>
5 *
6 */
7#ifndef __DS1603_H
8#define __DS1603_H
9
10struct ds_defs {
11 volatile u32 *reg;
12 volatile u32 *data_reg;
13 u32 rst;
14 u32 clk;
15 u32 data;
16 u32 data_read_shift;
17 char data_reversed;
18 u32 huge_delay;
19};
20
21extern struct ds_defs *ds1603;
22
23unsigned long ds1603_read(void);
24int ds1603_set(unsigned long);
25void ds1603_set_trimmer(unsigned int);
26void ds1603_enable(void);
27void ds1603_disable(void);
28void ds1603_init(struct ds_defs *);
29
30#define TRIMMER_DEFAULT 3
31#define TRIMMER_DISABLE_RTC 0
32
33#endif
diff --git a/arch/mips/lasat/image/Makefile b/arch/mips/lasat/image/Makefile
deleted file mode 100644
index 35ecd6483ef6..000000000000
--- a/arch/mips/lasat/image/Makefile
+++ /dev/null
@@ -1,53 +0,0 @@
1#
2# MAKEFILE FOR THE MIPS LINUX BOOTLOADER AND ROM DEBUGGER
3#
4# i-data Networks
5#
6# Author: Thomas Horsten <thh@i-data.com>
7#
8
9ifndef Version
10 Version = "$(USER)-test"
11endif
12
13MKLASATIMG = mklasatimg
14MKLASATIMG_ARCH = mq2,mqpro,sp100,sp200
15KERNEL_IMAGE = $(TOPDIR)/vmlinux
16KERNEL_START = $(shell $(NM) $(KERNEL_IMAGE) | grep " _text" | cut -f1 -d\ )
17KERNEL_ENTRY = $(shell $(NM) $(KERNEL_IMAGE) | grep kernel_entry | cut -f1 -d\ )
18
19LDSCRIPT= -L$(obj) -Tromscript.normal
20
21HEAD_DEFINES := -D_kernel_start=0x$(KERNEL_START) \
22 -D_kernel_entry=0x$(KERNEL_ENTRY) \
23 -D VERSION="\"$(Version)\"" \
24 -D TIMESTAMP=$(shell date +%s)
25
26$(obj)/head.o: $(obj)/head.S $(KERNEL_IMAGE)
27 $(CC) -fno-pic $(HEAD_DEFINES) -I$(TOPDIR)/include -c -o $@ $<
28
29OBJECTS = head.o kImage.o
30
31rom.sw: $(obj)/rom.sw
32
33$(obj)/rom.sw: $(obj)/rom.bin
34 $(MKLASATIMG) -o $@ -k $^ -m $(MKLASATIMG_ARCH)
35
36$(obj)/rom.bin: $(obj)/rom
37 $(OBJCOPY) -O binary -S $^ $@
38
39# Rule to make the bootloader
40$(obj)/rom: $(addprefix $(obj)/,$(OBJECTS))
41 $(LD) $(LDFLAGS) $(LDSCRIPT) -o $@ $^
42
43$(obj)/%.o: $(obj)/%.gz
44 $(LD) -r -o $@ -b binary $<
45
46$(obj)/%.gz: $(obj)/%.bin
47 gzip -cf -9 $< > $@
48
49$(obj)/kImage.bin: $(KERNEL_IMAGE)
50 $(OBJCOPY) -O binary -S $^ $@
51
52clean:
53 rm -f rom rom.bin rom.sw kImage.bin kImage.o
diff --git a/arch/mips/lasat/image/head.S b/arch/mips/lasat/image/head.S
deleted file mode 100644
index efb95f2609c2..000000000000
--- a/arch/mips/lasat/image/head.S
+++ /dev/null
@@ -1,31 +0,0 @@
1#include <asm/lasat/head.h>
2
3 .text
4 .section .text.start, "ax"
5 .set noreorder
6 .set mips3
7
8 /* Magic words identifying a software image */
9 .word LASAT_K_MAGIC0_VAL
10 .word LASAT_K_MAGIC1_VAL
11
12 /* Image header version */
13 .word 0x00000002
14
15 /* image start and size */
16 .word _image_start
17 .word _image_size
18
19 /* start of kernel and entrypoint in uncompressed image */
20 .word _kernel_start
21 .word _kernel_entry
22
23 /* Here we have room for future flags */
24
25 .org 0x40
26reldate:
27 .word TIMESTAMP
28
29 .org 0x50
30release:
31 .string VERSION
diff --git a/arch/mips/lasat/image/romscript.normal b/arch/mips/lasat/image/romscript.normal
deleted file mode 100644
index 988f8ad189cb..000000000000
--- a/arch/mips/lasat/image/romscript.normal
+++ /dev/null
@@ -1,23 +0,0 @@
1OUTPUT_ARCH(mips)
2
3SECTIONS
4{
5 .text :
6 {
7 *(.text.start)
8 }
9
10 /* Data in ROM */
11
12 .data ALIGN(0x10) :
13 {
14 *(.data)
15 }
16 _image_start = ADDR(.data);
17 _image_size = SIZEOF(.data);
18
19 .other :
20 {
21 *(.*)
22 }
23}
diff --git a/arch/mips/lasat/interrupt.c b/arch/mips/lasat/interrupt.c
deleted file mode 100644
index 9a622b9a1051..000000000000
--- a/arch/mips/lasat/interrupt.c
+++ /dev/null
@@ -1,130 +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 * Routines for generic manipulation of the interrupts found on the
19 * Lasat boards.
20 */
21#include <linux/init.h>
22#include <linux/sched.h>
23#include <linux/slab.h>
24#include <linux/interrupt.h>
25#include <linux/kernel_stat.h>
26
27#include <asm/bootinfo.h>
28#include <asm/irq.h>
29#include <asm/lasat/lasatint.h>
30#include <asm/time.h>
31#include <asm/gdb-stub.h>
32
33static volatile int *lasat_int_status = NULL;
34static volatile int *lasat_int_mask = NULL;
35static volatile int lasat_int_mask_shift;
36
37void disable_lasat_irq(unsigned int irq_nr)
38{
39 *lasat_int_mask &= ~(1 << irq_nr) << lasat_int_mask_shift;
40}
41
42void enable_lasat_irq(unsigned int irq_nr)
43{
44 *lasat_int_mask |= (1 << irq_nr) << lasat_int_mask_shift;
45}
46
47static struct irq_chip lasat_irq_type = {
48 .name = "Lasat",
49 .ack = disable_lasat_irq,
50 .mask = disable_lasat_irq,
51 .mask_ack = disable_lasat_irq,
52 .unmask = enable_lasat_irq,
53};
54
55static inline int ls1bit32(unsigned int x)
56{
57 int b = 31, s;
58
59 s = 16; if (x << 16 == 0) s = 0; b -= s; x <<= s;
60 s = 8; if (x << 8 == 0) s = 0; b -= s; x <<= s;
61 s = 4; if (x << 4 == 0) s = 0; b -= s; x <<= s;
62 s = 2; if (x << 2 == 0) s = 0; b -= s; x <<= s;
63 s = 1; if (x << 1 == 0) s = 0; b -= s;
64
65 return b;
66}
67
68static unsigned long (* get_int_status)(void);
69
70static unsigned long get_int_status_100(void)
71{
72 return *lasat_int_status & *lasat_int_mask;
73}
74
75static unsigned long get_int_status_200(void)
76{
77 unsigned long int_status;
78
79 int_status = *lasat_int_status;
80 int_status &= (int_status >> LASATINT_MASK_SHIFT_200) & 0xffff;
81 return int_status;
82}
83
84asmlinkage void plat_irq_dispatch(void)
85{
86 unsigned long int_status;
87 unsigned int cause = read_c0_cause();
88 int irq;
89
90 if (cause & CAUSEF_IP7) { /* R4000 count / compare IRQ */
91 ll_timer_interrupt(7);
92 return;
93 }
94
95 int_status = get_int_status();
96
97 /* if int_status == 0, then the interrupt has already been cleared */
98 if (int_status) {
99 irq = ls1bit32(int_status);
100
101 do_IRQ(irq);
102 }
103}
104
105void __init arch_init_irq(void)
106{
107 int i;
108
109 switch (mips_machtype) {
110 case MACH_LASAT_100:
111 lasat_int_status = (void *)LASAT_INT_STATUS_REG_100;
112 lasat_int_mask = (void *)LASAT_INT_MASK_REG_100;
113 lasat_int_mask_shift = LASATINT_MASK_SHIFT_100;
114 get_int_status = get_int_status_100;
115 *lasat_int_mask = 0;
116 break;
117 case MACH_LASAT_200:
118 lasat_int_status = (void *)LASAT_INT_STATUS_REG_200;
119 lasat_int_mask = (void *)LASAT_INT_MASK_REG_200;
120 lasat_int_mask_shift = LASATINT_MASK_SHIFT_200;
121 get_int_status = get_int_status_200;
122 *lasat_int_mask &= 0xffff;
123 break;
124 default:
125 panic("arch_init_irq: mips_machtype incorrect");
126 }
127
128 for (i = 0; i <= LASATINT_END; i++)
129 set_irq_chip_and_handler(i, &lasat_irq_type, handle_level_irq);
130}
diff --git a/arch/mips/lasat/lasat_board.c b/arch/mips/lasat/lasat_board.c
deleted file mode 100644
index fbe9a87bd0ad..000000000000
--- a/arch/mips/lasat/lasat_board.c
+++ /dev/null
@@ -1,279 +0,0 @@
1/*
2 * Thomas Horsten <thh@lasat.com>
3 * Copyright (C) 2000 LASAT Networks A/S.
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 * Routines specific to the LASAT boards
19 */
20#include <linux/types.h>
21#include <linux/crc32.h>
22#include <asm/lasat/lasat.h>
23#include <linux/kernel.h>
24#include <linux/string.h>
25#include <linux/ctype.h>
26#include <asm/bootinfo.h>
27#include <asm/addrspace.h>
28#include "at93c.h"
29/* New model description table */
30#include "lasat_models.h"
31
32#define EEPROM_CRC(data, len) (~0 ^ crc32(~0, data, len))
33
34struct lasat_info lasat_board_info;
35
36void update_bcastaddr(void);
37
38int EEPROMRead(unsigned int pos, unsigned char *data, int len)
39{
40 int i;
41
42 for (i=0; i<len; i++)
43 *data++ = at93c_read(pos++);
44
45 return 0;
46}
47int EEPROMWrite(unsigned int pos, unsigned char *data, int len)
48{
49 int i;
50
51 for (i=0; i<len; i++)
52 at93c_write(pos++, *data++);
53
54 return 0;
55}
56
57static void init_flash_sizes(void)
58{
59 int i;
60 unsigned long *lb = lasat_board_info.li_flashpart_base;
61 unsigned long *ls = lasat_board_info.li_flashpart_size;
62
63 ls[LASAT_MTD_BOOTLOADER] = 0x40000;
64 ls[LASAT_MTD_SERVICE] = 0xC0000;
65 ls[LASAT_MTD_NORMAL] = 0x100000;
66
67 if (mips_machtype == MACH_LASAT_100) {
68 lasat_board_info.li_flash_base = 0x1e000000;
69
70 lb[LASAT_MTD_BOOTLOADER] = 0x1e400000;
71
72 if (lasat_board_info.li_flash_size > 0x200000) {
73 ls[LASAT_MTD_CONFIG] = 0x100000;
74 ls[LASAT_MTD_FS] = 0x500000;
75 }
76 } else {
77 lasat_board_info.li_flash_base = 0x10000000;
78
79 if (lasat_board_info.li_flash_size < 0x1000000) {
80 lb[LASAT_MTD_BOOTLOADER] = 0x10000000;
81 ls[LASAT_MTD_CONFIG] = 0x100000;
82 if (lasat_board_info.li_flash_size >= 0x400000) {
83 ls[LASAT_MTD_FS] = lasat_board_info.li_flash_size - 0x300000;
84 }
85 }
86 }
87
88 for (i = 1; i < LASAT_MTD_LAST; i++)
89 lb[i] = lb[i-1] + ls[i-1];
90}
91
92int lasat_init_board_info(void)
93{
94 int c;
95 unsigned long crc;
96 unsigned long cfg0, cfg1;
97 const product_info_t *ppi;
98 int i_n_base_models = N_BASE_MODELS;
99 const char * const * i_txt_base_models = txt_base_models;
100 int i_n_prids = N_PRIDS;
101
102 memset(&lasat_board_info, 0, sizeof(lasat_board_info));
103
104 /* First read the EEPROM info */
105 EEPROMRead(0, (unsigned char *)&lasat_board_info.li_eeprom_info,
106 sizeof(struct lasat_eeprom_struct));
107
108 /* Check the CRC */
109 crc = EEPROM_CRC((unsigned char *)(&lasat_board_info.li_eeprom_info),
110 sizeof(struct lasat_eeprom_struct) - 4);
111
112 if (crc != lasat_board_info.li_eeprom_info.crc32) {
113 printk(KERN_WARNING "WARNING...\nWARNING...\nEEPROM CRC does "
114 "not match calculated, attempting to soldier on...\n");
115 }
116
117 if (lasat_board_info.li_eeprom_info.version != LASAT_EEPROM_VERSION) {
118 printk(KERN_WARNING "WARNING...\nWARNING...\nEEPROM version "
119 "%d, wanted version %d, attempting to soldier on...\n",
120 (unsigned int)lasat_board_info.li_eeprom_info.version,
121 LASAT_EEPROM_VERSION);
122 }
123
124 cfg0 = lasat_board_info.li_eeprom_info.cfg[0];
125 cfg1 = lasat_board_info.li_eeprom_info.cfg[1];
126
127 if ( LASAT_W0_DSCTYPE(cfg0) != 1) {
128 printk(KERN_WARNING "WARNING...\nWARNING...\n"
129 "Invalid configuration read from EEPROM, attempting to "
130 "soldier on...");
131 }
132 /* We have a valid configuration */
133
134 switch (LASAT_W0_SDRAMBANKSZ(cfg0)) {
135 case 0:
136 lasat_board_info.li_memsize = 0x0800000;
137 break;
138 case 1:
139 lasat_board_info.li_memsize = 0x1000000;
140 break;
141 case 2:
142 lasat_board_info.li_memsize = 0x2000000;
143 break;
144 case 3:
145 lasat_board_info.li_memsize = 0x4000000;
146 break;
147 case 4:
148 lasat_board_info.li_memsize = 0x8000000;
149 break;
150 default:
151 lasat_board_info.li_memsize = 0;
152 }
153
154 switch (LASAT_W0_SDRAMBANKS(cfg0)) {
155 case 0:
156 break;
157 case 1:
158 lasat_board_info.li_memsize *= 2;
159 break;
160 default:
161 break;
162 }
163
164 switch (LASAT_W0_BUSSPEED(cfg0)) {
165 case 0x0:
166 lasat_board_info.li_bus_hz = 60000000;
167 break;
168 case 0x1:
169 lasat_board_info.li_bus_hz = 66000000;
170 break;
171 case 0x2:
172 lasat_board_info.li_bus_hz = 66666667;
173 break;
174 case 0x3:
175 lasat_board_info.li_bus_hz = 80000000;
176 break;
177 case 0x4:
178 lasat_board_info.li_bus_hz = 83333333;
179 break;
180 case 0x5:
181 lasat_board_info.li_bus_hz = 100000000;
182 break;
183 }
184
185 switch (LASAT_W0_CPUCLK(cfg0)) {
186 case 0x0:
187 lasat_board_info.li_cpu_hz =
188 lasat_board_info.li_bus_hz;
189 break;
190 case 0x1:
191 lasat_board_info.li_cpu_hz =
192 lasat_board_info.li_bus_hz +
193 (lasat_board_info.li_bus_hz >> 1);
194 break;
195 case 0x2:
196 lasat_board_info.li_cpu_hz =
197 lasat_board_info.li_bus_hz +
198 lasat_board_info.li_bus_hz;
199 break;
200 case 0x3:
201 lasat_board_info.li_cpu_hz =
202 lasat_board_info.li_bus_hz +
203 lasat_board_info.li_bus_hz +
204 (lasat_board_info.li_bus_hz >> 1);
205 break;
206 case 0x4:
207 lasat_board_info.li_cpu_hz =
208 lasat_board_info.li_bus_hz +
209 lasat_board_info.li_bus_hz +
210 lasat_board_info.li_bus_hz;
211 break;
212 }
213
214 /* Flash size */
215 switch (LASAT_W1_FLASHSIZE(cfg1)) {
216 case 0:
217 lasat_board_info.li_flash_size = 0x200000;
218 break;
219 case 1:
220 lasat_board_info.li_flash_size = 0x400000;
221 break;
222 case 2:
223 lasat_board_info.li_flash_size = 0x800000;
224 break;
225 case 3:
226 lasat_board_info.li_flash_size = 0x1000000;
227 break;
228 case 4:
229 lasat_board_info.li_flash_size = 0x2000000;
230 break;
231 }
232
233 init_flash_sizes();
234
235 lasat_board_info.li_bmid = LASAT_W0_BMID(cfg0);
236 lasat_board_info.li_prid = lasat_board_info.li_eeprom_info.prid;
237 if (lasat_board_info.li_prid == 0xffff || lasat_board_info.li_prid == 0)
238 lasat_board_info.li_prid = lasat_board_info.li_bmid;
239
240 /* Base model stuff */
241 if (lasat_board_info.li_bmid > i_n_base_models)
242 lasat_board_info.li_bmid = i_n_base_models;
243 strcpy(lasat_board_info.li_bmstr, i_txt_base_models[lasat_board_info.li_bmid]);
244
245 /* Product ID dependent values */
246 c = lasat_board_info.li_prid;
247 if (c >= i_n_prids) {
248 strcpy(lasat_board_info.li_namestr, "Unknown Model");
249 strcpy(lasat_board_info.li_typestr, "Unknown Type");
250 } else {
251 ppi = &vendor_info_table[0].vi_product_info[c];
252 strcpy(lasat_board_info.li_namestr, ppi->pi_name);
253 if (ppi->pi_type)
254 strcpy(lasat_board_info.li_typestr, ppi->pi_type);
255 else
256 sprintf(lasat_board_info.li_typestr, "%d",10*c);
257 }
258
259#if defined(CONFIG_INET) && defined(CONFIG_SYSCTL)
260 update_bcastaddr();
261#endif
262
263 return 0;
264}
265
266void lasat_write_eeprom_info(void)
267{
268 unsigned long crc;
269
270 /* Generate the CRC */
271 crc = EEPROM_CRC((unsigned char *)(&lasat_board_info.li_eeprom_info),
272 sizeof(struct lasat_eeprom_struct) - 4);
273 lasat_board_info.li_eeprom_info.crc32 = crc;
274
275 /* Write the EEPROM info */
276 EEPROMWrite(0, (unsigned char *)&lasat_board_info.li_eeprom_info,
277 sizeof(struct lasat_eeprom_struct));
278}
279
diff --git a/arch/mips/lasat/lasat_models.h b/arch/mips/lasat/lasat_models.h
deleted file mode 100644
index ae0c5d0bd403..000000000000
--- a/arch/mips/lasat/lasat_models.h
+++ /dev/null
@@ -1,63 +0,0 @@
1/*
2 * Model description tables
3 */
4
5typedef struct product_info_t {
6 const char *pi_name;
7 const char *pi_type;
8} product_info_t;
9
10typedef struct vendor_info_t {
11 const char *vi_name;
12 const product_info_t *vi_product_info;
13} vendor_info_t;
14
15/*
16 * Base models
17 */
18static const char * const txt_base_models[] = {
19 "MQ 2", "MQ Pro", "SP 25", "SP 50", "SP 100", "SP 5000", "SP 7000", "SP 1000", "Unknown"
20};
21#define N_BASE_MODELS (sizeof(txt_base_models)/sizeof(char*)-1)
22
23/*
24 * Eicon Networks
25 */
26static const char txt_en_mq[] = "Masquerade";
27static const char txt_en_sp[] = "Safepipe";
28
29static const product_info_t product_info_eicon[] = {
30 { txt_en_mq, "II" }, /* 0 */
31 { txt_en_mq, "Pro" }, /* 1 */
32 { txt_en_sp, "25" }, /* 2 */
33 { txt_en_sp, "50" }, /* 3 */
34 { txt_en_sp, "100" }, /* 4 */
35 { txt_en_sp, "5000" }, /* 5 */
36 { txt_en_sp, "7000" }, /* 6 */
37 { txt_en_sp, "30" }, /* 7 */
38 { txt_en_sp, "5100" }, /* 8 */
39 { txt_en_sp, "7100" }, /* 9 */
40 { txt_en_sp, "1110" }, /* 10 */
41 { txt_en_sp, "3020" }, /* 11 */
42 { txt_en_sp, "3030" }, /* 12 */
43 { txt_en_sp, "5020" }, /* 13 */
44 { txt_en_sp, "5030" }, /* 14 */
45 { txt_en_sp, "1120" }, /* 15 */
46 { txt_en_sp, "1130" }, /* 16 */
47 { txt_en_sp, "6010" }, /* 17 */
48 { txt_en_sp, "6110" }, /* 18 */
49 { txt_en_sp, "6210" }, /* 19 */
50 { txt_en_sp, "1020" }, /* 20 */
51 { txt_en_sp, "1040" }, /* 21 */
52 { txt_en_sp, "1050" }, /* 22 */
53 { txt_en_sp, "1060" }, /* 23 */
54};
55#define N_PRIDS (sizeof(product_info_eicon)/sizeof(product_info_t))
56
57/*
58 * The vendor table
59 */
60static vendor_info_t const vendor_info_table[] = {
61 { "Eicon Networks", product_info_eicon },
62};
63#define N_VENDORS (sizeof(vendor_info_table)/sizeof(vendor_info_t))
diff --git a/arch/mips/lasat/picvue.c b/arch/mips/lasat/picvue.c
deleted file mode 100644
index 9ae82c3ffb07..000000000000
--- a/arch/mips/lasat/picvue.c
+++ /dev/null
@@ -1,240 +0,0 @@
1/*
2 * Picvue PVC160206 display driver
3 *
4 * Brian Murphy <brian@murphy.dk>
5 *
6 */
7#include <linux/kernel.h>
8#include <linux/delay.h>
9#include <asm/bootinfo.h>
10#include <asm/lasat/lasat.h>
11#include <linux/module.h>
12#include <linux/init.h>
13#include <linux/errno.h>
14#include <linux/string.h>
15
16#include "picvue.h"
17
18#define PVC_BUSY 0x80
19#define PVC_NLINES 2
20#define PVC_DISPMEM 80
21#define PVC_LINELEN PVC_DISPMEM / PVC_NLINES
22
23struct pvc_defs *picvue = NULL;
24
25DECLARE_MUTEX(pvc_sem);
26
27static void pvc_reg_write(u32 val)
28{
29 *picvue->reg = val;
30}
31
32static u32 pvc_reg_read(void)
33{
34 u32 tmp = *picvue->reg;
35 return tmp;
36}
37
38static void pvc_write_byte(u32 data, u8 byte)
39{
40 data |= picvue->e;
41 pvc_reg_write(data);
42 data &= ~picvue->data_mask;
43 data |= byte << picvue->data_shift;
44 pvc_reg_write(data);
45 ndelay(220);
46 pvc_reg_write(data & ~picvue->e);
47 ndelay(220);
48}
49
50static u8 pvc_read_byte(u32 data)
51{
52 u8 byte;
53
54 data |= picvue->e;
55 pvc_reg_write(data);
56 ndelay(220);
57 byte = (pvc_reg_read() & picvue->data_mask) >> picvue->data_shift;
58 data &= ~picvue->e;
59 pvc_reg_write(data);
60 ndelay(220);
61 return byte;
62}
63
64static u8 pvc_read_data(void)
65{
66 u32 data = pvc_reg_read();
67 u8 byte;
68 data |= picvue->rw;
69 data &= ~picvue->rs;
70 pvc_reg_write(data);
71 ndelay(40);
72 byte = pvc_read_byte(data);
73 data |= picvue->rs;
74 pvc_reg_write(data);
75 return byte;
76}
77
78#define TIMEOUT 1000
79static int pvc_wait(void)
80{
81 int i = TIMEOUT;
82 int err = 0;
83
84 while ((pvc_read_data() & PVC_BUSY) && i)
85 i--;
86 if (i == 0)
87 err = -ETIME;
88
89 return err;
90}
91
92#define MODE_INST 0
93#define MODE_DATA 1
94static void pvc_write(u8 byte, int mode)
95{
96 u32 data = pvc_reg_read();
97 data &= ~picvue->rw;
98 if (mode == MODE_DATA)
99 data |= picvue->rs;
100 else
101 data &= ~picvue->rs;
102 pvc_reg_write(data);
103 ndelay(40);
104 pvc_write_byte(data, byte);
105 if (mode == MODE_DATA)
106 data &= ~picvue->rs;
107 else
108 data |= picvue->rs;
109 pvc_reg_write(data);
110 pvc_wait();
111}
112
113void pvc_write_string(const unsigned char *str, u8 addr, int line)
114{
115 int i = 0;
116
117 if (line > 0 && (PVC_NLINES > 1))
118 addr += 0x40 * line;
119 pvc_write(0x80 | addr, MODE_INST);
120
121 while (*str != 0 && i < PVC_LINELEN) {
122 pvc_write(*str++, MODE_DATA);
123 i++;
124 }
125}
126
127void pvc_write_string_centered(const unsigned char *str, int line)
128{
129 int len = strlen(str);
130 u8 addr;
131
132 if (len > PVC_VISIBLE_CHARS)
133 addr = 0;
134 else
135 addr = (PVC_VISIBLE_CHARS - strlen(str))/2;
136
137 pvc_write_string(str, addr, line);
138}
139
140void pvc_dump_string(const unsigned char *str)
141{
142 int len = strlen(str);
143
144 pvc_write_string(str, 0, 0);
145 if (len > PVC_VISIBLE_CHARS)
146 pvc_write_string(&str[PVC_VISIBLE_CHARS], 0, 1);
147}
148
149#define BM_SIZE 8
150#define MAX_PROGRAMMABLE_CHARS 8
151int pvc_program_cg(int charnum, u8 bitmap[BM_SIZE])
152{
153 int i;
154 int addr;
155
156 if (charnum > MAX_PROGRAMMABLE_CHARS)
157 return -ENOENT;
158
159 addr = charnum * 8;
160 pvc_write(0x40 | addr, MODE_INST);
161
162 for (i=0; i<BM_SIZE; i++)
163 pvc_write(bitmap[i], MODE_DATA);
164 return 0;
165}
166
167#define FUNC_SET_CMD 0x20
168#define EIGHT_BYTE (1 << 4)
169#define FOUR_BYTE 0
170#define TWO_LINES (1 << 3)
171#define ONE_LINE 0
172#define LARGE_FONT (1 << 2)
173#define SMALL_FONT 0
174static void pvc_funcset(u8 cmd)
175{
176 pvc_write(FUNC_SET_CMD | (cmd & (EIGHT_BYTE|TWO_LINES|LARGE_FONT)), MODE_INST);
177}
178
179#define ENTRYMODE_CMD 0x4
180#define AUTO_INC (1 << 1)
181#define AUTO_DEC 0
182#define CURSOR_FOLLOWS_DISP (1 << 0)
183static void pvc_entrymode(u8 cmd)
184{
185 pvc_write(ENTRYMODE_CMD | (cmd & (AUTO_INC|CURSOR_FOLLOWS_DISP)), MODE_INST);
186}
187
188#define DISP_CNT_CMD 0x08
189#define DISP_OFF 0
190#define DISP_ON (1 << 2)
191#define CUR_ON (1 << 1)
192#define CUR_BLINK (1 << 0)
193void pvc_dispcnt(u8 cmd)
194{
195 pvc_write(DISP_CNT_CMD | (cmd & (DISP_ON|CUR_ON|CUR_BLINK)), MODE_INST);
196}
197
198#define MOVE_CMD 0x10
199#define DISPLAY (1 << 3)
200#define CURSOR 0
201#define RIGHT (1 << 2)
202#define LEFT 0
203void pvc_move(u8 cmd)
204{
205 pvc_write(MOVE_CMD | (cmd & (DISPLAY|RIGHT)), MODE_INST);
206}
207
208#define CLEAR_CMD 0x1
209void pvc_clear(void)
210{
211 pvc_write(CLEAR_CMD, MODE_INST);
212}
213
214#define HOME_CMD 0x2
215void pvc_home(void)
216{
217 pvc_write(HOME_CMD, MODE_INST);
218}
219
220int pvc_init(void)
221{
222 u8 cmd = EIGHT_BYTE;
223
224 if (PVC_NLINES == 2)
225 cmd |= (SMALL_FONT|TWO_LINES);
226 else
227 cmd |= (LARGE_FONT|ONE_LINE);
228 pvc_funcset(cmd);
229 pvc_dispcnt(DISP_ON);
230 pvc_entrymode(AUTO_INC);
231
232 pvc_clear();
233 pvc_write_string_centered("Display", 0);
234 pvc_write_string_centered("Initialized", 1);
235
236 return 0;
237}
238
239module_init(pvc_init);
240MODULE_LICENSE("GPL");
diff --git a/arch/mips/lasat/picvue.h b/arch/mips/lasat/picvue.h
deleted file mode 100644
index 2a96bf971897..000000000000
--- a/arch/mips/lasat/picvue.h
+++ /dev/null
@@ -1,48 +0,0 @@
1/*
2 * Picvue PVC160206 display driver
3 *
4 * Brian Murphy <brian.murphy@eicon.com>
5 *
6 */
7#include <asm/semaphore.h>
8
9struct pvc_defs {
10 volatile u32 *reg;
11 u32 data_shift;
12 u32 data_mask;
13 u32 e;
14 u32 rw;
15 u32 rs;
16};
17
18extern struct pvc_defs *picvue;
19
20#define PVC_NLINES 2
21#define PVC_DISPMEM 80
22#define PVC_LINELEN PVC_DISPMEM / PVC_NLINES
23#define PVC_VISIBLE_CHARS 16
24
25void pvc_write_string(const unsigned char *str, u8 addr, int line);
26void pvc_write_string_centered(const unsigned char *str, int line);
27void pvc_dump_string(const unsigned char *str);
28
29#define BM_SIZE 8
30#define MAX_PROGRAMMABLE_CHARS 8
31int pvc_program_cg(int charnum, u8 bitmap[BM_SIZE]);
32
33void pvc_dispcnt(u8 cmd);
34#define DISP_OFF 0
35#define DISP_ON (1 << 2)
36#define CUR_ON (1 << 1)
37#define CUR_BLINK (1 << 0)
38
39void pvc_move(u8 cmd);
40#define DISPLAY (1 << 3)
41#define CURSOR 0
42#define RIGHT (1 << 2)
43#define LEFT 0
44
45void pvc_clear(void);
46void pvc_home(void);
47
48extern struct semaphore pvc_sem;
diff --git a/arch/mips/lasat/picvue_proc.c b/arch/mips/lasat/picvue_proc.c
deleted file mode 100644
index cce7cddcdb08..000000000000
--- a/arch/mips/lasat/picvue_proc.c
+++ /dev/null
@@ -1,186 +0,0 @@
1/*
2 * Picvue PVC160206 display driver
3 *
4 * Brian Murphy <brian.murphy@eicon.com>
5 *
6 */
7#include <linux/kernel.h>
8#include <linux/module.h>
9#include <linux/init.h>
10#include <linux/errno.h>
11
12#include <linux/proc_fs.h>
13#include <linux/interrupt.h>
14
15#include <linux/timer.h>
16
17#include "picvue.h"
18
19static char pvc_lines[PVC_NLINES][PVC_LINELEN+1];
20static int pvc_linedata[PVC_NLINES];
21static struct proc_dir_entry *pvc_display_dir;
22static char *pvc_linename[PVC_NLINES] = {"line1", "line2"};
23#define DISPLAY_DIR_NAME "display"
24static int scroll_dir = 0, scroll_interval = 0;
25
26static struct timer_list timer;
27
28static void pvc_display(unsigned long data) {
29 int i;
30
31 pvc_clear();
32 for (i=0; i<PVC_NLINES; i++)
33 pvc_write_string(pvc_lines[i], 0, i);
34}
35
36static DECLARE_TASKLET(pvc_display_tasklet, &pvc_display, 0);
37
38static int pvc_proc_read_line(char *page, char **start,
39 off_t off, int count,
40 int *eof, void *data)
41{
42 char *origpage = page;
43 int lineno = *(int *)data;
44
45 if (lineno < 0 || lineno > PVC_NLINES) {
46 printk("proc_read_line: invalid lineno %d\n", lineno);
47 return 0;
48 }
49
50 down(&pvc_sem);
51 page += sprintf(page, "%s\n", pvc_lines[lineno]);
52 up(&pvc_sem);
53
54 return page - origpage;
55}
56
57static int pvc_proc_write_line(struct file *file, const char *buffer,
58 unsigned long count, void *data)
59{
60 int origcount = count;
61 int lineno = *(int *)data;
62
63 if (lineno < 0 || lineno > PVC_NLINES) {
64 printk("proc_write_line: invalid lineno %d\n", lineno);
65 return origcount;
66 }
67
68 if (count > PVC_LINELEN)
69 count = PVC_LINELEN;
70
71 if (buffer[count-1] == '\n')
72 count--;
73
74 down(&pvc_sem);
75 strncpy(pvc_lines[lineno], buffer, count);
76 pvc_lines[lineno][count] = '\0';
77 up(&pvc_sem);
78
79 tasklet_schedule(&pvc_display_tasklet);
80
81 return origcount;
82}
83
84static int pvc_proc_write_scroll(struct file *file, const char *buffer,
85 unsigned long count, void *data)
86{
87 int origcount = count;
88 int cmd = simple_strtol(buffer, NULL, 10);
89
90 down(&pvc_sem);
91 if (scroll_interval != 0)
92 del_timer(&timer);
93
94 if (cmd == 0) {
95 scroll_dir = 0;
96 scroll_interval = 0;
97 } else {
98 if (cmd < 0) {
99 scroll_dir = -1;
100 scroll_interval = -cmd;
101 } else {
102 scroll_dir = 1;
103 scroll_interval = cmd;
104 }
105 add_timer(&timer);
106 }
107 up(&pvc_sem);
108
109 return origcount;
110}
111
112static int pvc_proc_read_scroll(char *page, char **start,
113 off_t off, int count,
114 int *eof, void *data)
115{
116 char *origpage = page;
117
118 down(&pvc_sem);
119 page += sprintf(page, "%d\n", scroll_dir * scroll_interval);
120 up(&pvc_sem);
121
122 return page - origpage;
123}
124
125
126void pvc_proc_timerfunc(unsigned long data)
127{
128 if (scroll_dir < 0)
129 pvc_move(DISPLAY|RIGHT);
130 else if (scroll_dir > 0)
131 pvc_move(DISPLAY|LEFT);
132
133 timer.expires = jiffies + scroll_interval;
134 add_timer(&timer);
135}
136
137static void pvc_proc_cleanup(void)
138{
139 int i;
140 for (i=0; i<PVC_NLINES; i++)
141 remove_proc_entry(pvc_linename[i], pvc_display_dir);
142 remove_proc_entry("scroll", pvc_display_dir);
143 remove_proc_entry(DISPLAY_DIR_NAME, NULL);
144
145 del_timer(&timer);
146}
147
148static int __init pvc_proc_init(void)
149{
150 struct proc_dir_entry *proc_entry;
151 int i;
152
153 pvc_display_dir = proc_mkdir(DISPLAY_DIR_NAME, NULL);
154 if (pvc_display_dir == NULL)
155 goto error;
156
157 for (i=0; i<PVC_NLINES; i++) {
158 strcpy(pvc_lines[i], "");
159 pvc_linedata[i] = i;
160 }
161 for (i=0; i<PVC_NLINES; i++) {
162 proc_entry = create_proc_entry(pvc_linename[i], 0644, pvc_display_dir);
163 if (proc_entry == NULL)
164 goto error;
165 proc_entry->read_proc = pvc_proc_read_line;
166 proc_entry->write_proc = pvc_proc_write_line;
167 proc_entry->data = &pvc_linedata[i];
168 }
169 proc_entry = create_proc_entry("scroll", 0644, pvc_display_dir);
170 if (proc_entry == NULL)
171 goto error;
172 proc_entry->write_proc = pvc_proc_write_scroll;
173 proc_entry->read_proc = pvc_proc_read_scroll;
174
175 init_timer(&timer);
176 timer.function = pvc_proc_timerfunc;
177
178 return 0;
179error:
180 pvc_proc_cleanup();
181 return -ENOMEM;
182}
183
184module_init(pvc_proc_init);
185module_exit(pvc_proc_cleanup);
186MODULE_LICENSE("GPL");
diff --git a/arch/mips/lasat/prom.c b/arch/mips/lasat/prom.c
deleted file mode 100644
index 812c6ac366be..000000000000
--- a/arch/mips/lasat/prom.c
+++ /dev/null
@@ -1,117 +0,0 @@
1/*
2 * PROM interface routines.
3 */
4#include <linux/types.h>
5#include <linux/init.h>
6#include <linux/string.h>
7#include <linux/ctype.h>
8#include <linux/kernel.h>
9#include <linux/mm.h>
10#include <linux/bootmem.h>
11#include <linux/ioport.h>
12#include <asm/bootinfo.h>
13#include <asm/lasat/lasat.h>
14#include <asm/cpu.h>
15
16#include "at93c.h"
17#include <asm/lasat/eeprom.h>
18#include "prom.h"
19
20#define RESET_VECTOR 0xbfc00000
21#define PROM_JUMP_TABLE_ENTRY(n) (*((u32 *)(RESET_VECTOR + 0x20) + n))
22#define PROM_DISPLAY_ADDR PROM_JUMP_TABLE_ENTRY(0)
23#define PROM_PUTC_ADDR PROM_JUMP_TABLE_ENTRY(1)
24#define PROM_MONITOR_ADDR PROM_JUMP_TABLE_ENTRY(2)
25
26static void null_prom_display(const char *string, int pos, int clear)
27{
28}
29
30static void null_prom_monitor(void)
31{
32}
33
34static void null_prom_putc(char c)
35{
36}
37
38/* these are functions provided by the bootloader */
39static void (* __prom_putc)(char c) = null_prom_putc;
40
41void prom_putchar(char c)
42{
43 __prom_putc(c);
44}
45
46void (* prom_display)(const char *string, int pos, int clear) =
47 null_prom_display;
48void (* prom_monitor)(void) = null_prom_monitor;
49
50unsigned int lasat_ndelay_divider;
51
52static void setup_prom_vectors(void)
53{
54 u32 version = *(u32 *)(RESET_VECTOR + 0x90);
55
56 if (version >= 307) {
57 prom_display = (void *)PROM_DISPLAY_ADDR;
58 __prom_putc = (void *)PROM_PUTC_ADDR;
59 prom_monitor = (void *)PROM_MONITOR_ADDR;
60 }
61 printk("prom vectors set up\n");
62}
63
64static struct at93c_defs at93c_defs[N_MACHTYPES] = {
65 {(void *)AT93C_REG_100, (void *)AT93C_RDATA_REG_100, AT93C_RDATA_SHIFT_100,
66 AT93C_WDATA_SHIFT_100, AT93C_CS_M_100, AT93C_CLK_M_100},
67 {(void *)AT93C_REG_200, (void *)AT93C_RDATA_REG_200, AT93C_RDATA_SHIFT_200,
68 AT93C_WDATA_SHIFT_200, AT93C_CS_M_200, AT93C_CLK_M_200},
69};
70
71void __init prom_init(void)
72{
73 int argc = fw_arg0;
74 char **argv = (char **) fw_arg1;
75
76 setup_prom_vectors();
77
78 if (current_cpu_data.cputype == CPU_R5000) {
79 printk("LASAT 200 board\n");
80 mips_machtype = MACH_LASAT_200;
81 lasat_ndelay_divider = LASAT_200_DIVIDER;
82 } else {
83 printk("LASAT 100 board\n");
84 mips_machtype = MACH_LASAT_100;
85 lasat_ndelay_divider = LASAT_100_DIVIDER;
86 }
87
88 at93c = &at93c_defs[mips_machtype];
89
90 lasat_init_board_info(); /* Read info from EEPROM */
91
92 mips_machgroup = MACH_GROUP_LASAT;
93
94 /* Get the command line */
95 if (argc > 0) {
96 strncpy(arcs_cmdline, argv[0], CL_SIZE-1);
97 arcs_cmdline[CL_SIZE-1] = '\0';
98 }
99
100 /* Set the I/O base address */
101 set_io_port_base(KSEG1);
102
103 /* Set memory regions */
104 ioport_resource.start = 0;
105 ioport_resource.end = 0xffffffff; /* Wrong, fixme. */
106
107 add_memory_region(0, lasat_board_info.li_memsize, BOOT_MEM_RAM);
108}
109
110void __init prom_free_prom_memory(void)
111{
112}
113
114const char *get_system_type(void)
115{
116 return lasat_board_info.li_bmstr;
117}
diff --git a/arch/mips/lasat/prom.h b/arch/mips/lasat/prom.h
deleted file mode 100644
index 019d45fbd268..000000000000
--- a/arch/mips/lasat/prom.h
+++ /dev/null
@@ -1,5 +0,0 @@
1#ifndef PROM_H
2#define PROM_H
3extern void (* prom_display)(const char *string, int pos, int clear);
4extern void (* prom_monitor)(void);
5#endif
diff --git a/arch/mips/lasat/reset.c b/arch/mips/lasat/reset.c
deleted file mode 100644
index 9e22acf03083..000000000000
--- a/arch/mips/lasat/reset.c
+++ /dev/null
@@ -1,69 +0,0 @@
1/*
2 * Thomas Horsten <thh@lasat.com>
3 * Copyright (C) 2000 LASAT Networks A/S.
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 * Reset the LASAT board.
19 */
20#include <linux/kernel.h>
21#include <linux/pm.h>
22
23#include <asm/reboot.h>
24#include <asm/system.h>
25#include <asm/lasat/lasat.h>
26
27#include "picvue.h"
28#include "prom.h"
29
30static void lasat_machine_restart(char *command);
31static void lasat_machine_halt(void);
32
33/* Used to set machine to boot in service mode via /proc interface */
34int lasat_boot_to_service = 0;
35
36static void lasat_machine_restart(char *command)
37{
38 local_irq_disable();
39
40 if (lasat_boot_to_service) {
41 printk("machine_restart: Rebooting to service mode\n");
42 *(volatile unsigned int *)0xa0000024 = 0xdeadbeef;
43 *(volatile unsigned int *)0xa00000fc = 0xfedeabba;
44 }
45 *lasat_misc->reset_reg = 0xbedead;
46 for (;;) ;
47}
48
49#define MESSAGE "System halted"
50static void lasat_machine_halt(void)
51{
52 local_irq_disable();
53
54 /* Disable interrupts and loop forever */
55 printk(KERN_NOTICE MESSAGE "\n");
56#ifdef CONFIG_PICVUE
57 pvc_clear();
58 pvc_write_string(MESSAGE, 0, 0);
59#endif
60 prom_monitor();
61 for (;;) ;
62}
63
64void lasat_reboot_setup(void)
65{
66 _machine_restart = lasat_machine_restart;
67 _machine_halt = lasat_machine_halt;
68 pm_power_off = lasat_machine_halt;
69}
diff --git a/arch/mips/lasat/setup.c b/arch/mips/lasat/setup.c
deleted file mode 100644
index 488007f13988..000000000000
--- a/arch/mips/lasat/setup.c
+++ /dev/null
@@ -1,182 +0,0 @@
1/*
2 * Carsten Langgaard, carstenl@mips.com
3 * Copyright (C) 1999 MIPS Technologies, Inc. All rights reserved.
4 *
5 * Thomas Horsten <thh@lasat.com>
6 * Copyright (C) 2000 LASAT Networks A/S.
7 *
8 * Brian Murphy <brian@murphy.dk>
9 *
10 * This program is free software; you can distribute it and/or modify it
11 * under the terms of the GNU General Public License (Version 2) as
12 * published by the Free Software Foundation.
13 *
14 * This program is distributed in the hope it will be useful, but WITHOUT
15 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
16 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
17 * for more details.
18 *
19 * You should have received a copy of the GNU General Public License along
20 * with this program; if not, write to the Free Software Foundation, Inc.,
21 * 59 Temple Place - Suite 330, Boston MA 02111-1307, USA.
22 *
23 * Lasat specific setup.
24 */
25#include <linux/init.h>
26#include <linux/sched.h>
27#include <linux/pci.h>
28#include <linux/interrupt.h>
29#include <linux/tty.h>
30#include <linux/serial.h>
31#include <linux/serial_core.h>
32
33#include <asm/time.h>
34#include <asm/cpu.h>
35#include <asm/bootinfo.h>
36#include <asm/irq.h>
37#include <asm/lasat/lasat.h>
38#include <asm/lasat/serial.h>
39
40#ifdef CONFIG_PICVUE
41#include <linux/notifier.h>
42#endif
43
44#include "ds1603.h"
45#include <asm/lasat/ds1603.h>
46#include <asm/lasat/picvue.h>
47#include <asm/lasat/eeprom.h>
48
49#include "prom.h"
50
51int lasat_command_line = 0;
52void lasatint_init(void);
53
54extern void lasat_reboot_setup(void);
55extern void pcisetup(void);
56extern void edhac_init(void *, void *, void *);
57extern void addrflt_init(void);
58
59struct lasat_misc lasat_misc_info[N_MACHTYPES] = {
60 {(void *)KSEG1ADDR(0x1c840000), (void *)KSEG1ADDR(0x1c800000), 2},
61 {(void *)KSEG1ADDR(0x11080000), (void *)KSEG1ADDR(0x11000000), 6}
62};
63
64struct lasat_misc *lasat_misc = NULL;
65
66#ifdef CONFIG_DS1603
67static struct ds_defs ds_defs[N_MACHTYPES] = {
68 { (void *)DS1603_REG_100, (void *)DS1603_REG_100,
69 DS1603_RST_100, DS1603_CLK_100, DS1603_DATA_100,
70 DS1603_DATA_SHIFT_100, 0, 0 },
71 { (void *)DS1603_REG_200, (void *)DS1603_DATA_REG_200,
72 DS1603_RST_200, DS1603_CLK_200, DS1603_DATA_200,
73 DS1603_DATA_READ_SHIFT_200, 1, 2000 }
74};
75#endif
76
77#ifdef CONFIG_PICVUE
78#include "picvue.h"
79static struct pvc_defs pvc_defs[N_MACHTYPES] = {
80 { (void *)PVC_REG_100, PVC_DATA_SHIFT_100, PVC_DATA_M_100,
81 PVC_E_100, PVC_RW_100, PVC_RS_100 },
82 { (void *)PVC_REG_200, PVC_DATA_SHIFT_200, PVC_DATA_M_200,
83 PVC_E_200, PVC_RW_200, PVC_RS_200 }
84};
85#endif
86
87static int lasat_panic_display(struct notifier_block *this,
88 unsigned long event, void *ptr)
89{
90#ifdef CONFIG_PICVUE
91 unsigned char *string = ptr;
92 if (string == NULL)
93 string = "Kernel Panic";
94 pvc_dump_string(string);
95#endif
96 return NOTIFY_DONE;
97}
98
99static int lasat_panic_prom_monitor(struct notifier_block *this,
100 unsigned long event, void *ptr)
101{
102 prom_monitor();
103 return NOTIFY_DONE;
104}
105
106static struct notifier_block lasat_panic_block[] =
107{
108 { lasat_panic_display, NULL, INT_MAX },
109 { lasat_panic_prom_monitor, NULL, INT_MIN }
110};
111
112static void lasat_time_init(void)
113{
114 mips_hpt_frequency = lasat_board_info.li_cpu_hz / 2;
115}
116
117void __init plat_timer_setup(struct irqaction *irq)
118{
119 change_c0_status(ST0_IM, IE_IRQ0 | IE_IRQ5);
120}
121
122#define DYNAMIC_SERIAL_INIT
123#ifdef DYNAMIC_SERIAL_INIT
124void __init serial_init(void)
125{
126#ifdef CONFIG_SERIAL_8250
127 struct uart_port s;
128
129 memset(&s, 0, sizeof(s));
130
131 s.flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST;
132 s.iotype = UPIO_MEM;
133
134 if (mips_machtype == MACH_LASAT_100) {
135 s.uartclk = LASAT_BASE_BAUD_100 * 16;
136 s.irq = LASATINT_UART_100;
137 s.regshift = LASAT_UART_REGS_SHIFT_100;
138 s.membase = (char *)KSEG1ADDR(LASAT_UART_REGS_BASE_100);
139 } else {
140 s.uartclk = LASAT_BASE_BAUD_200 * 16;
141 s.irq = LASATINT_UART_200;
142 s.regshift = LASAT_UART_REGS_SHIFT_200;
143 s.membase = (char *)KSEG1ADDR(LASAT_UART_REGS_BASE_200);
144 }
145
146 if (early_serial_setup(&s) != 0)
147 printk(KERN_ERR "Serial setup failed!\n");
148#endif
149}
150#endif
151
152void __init plat_mem_setup(void)
153{
154 int i;
155 lasat_misc = &lasat_misc_info[mips_machtype];
156#ifdef CONFIG_PICVUE
157 picvue = &pvc_defs[mips_machtype];
158#endif
159
160 /* Set up panic notifier */
161 for (i = 0; i < sizeof(lasat_panic_block) / sizeof(struct notifier_block); i++)
162 atomic_notifier_chain_register(&panic_notifier_list,
163 &lasat_panic_block[i]);
164
165 lasat_reboot_setup();
166
167 board_time_init = lasat_time_init;
168
169#ifdef CONFIG_DS1603
170 ds1603 = &ds_defs[mips_machtype];
171 rtc_mips_get_time = ds1603_read;
172 rtc_mips_set_time = ds1603_set;
173#endif
174
175#ifdef DYNAMIC_SERIAL_INIT
176 serial_init();
177#endif
178 /* Switch from prom exception handler to normal mode */
179 change_c0_status(ST0_BEV,0);
180
181 pr_info("Lasat specific initialization complete\n");
182}
diff --git a/arch/mips/lasat/sysctl.c b/arch/mips/lasat/sysctl.c
deleted file mode 100644
index 699ab1886ceb..000000000000
--- a/arch/mips/lasat/sysctl.c
+++ /dev/null
@@ -1,441 +0,0 @@
1/*
2 * Thomas Horsten <thh@lasat.com>
3 * Copyright (C) 2000 LASAT Networks A/S.
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 * Routines specific to the LASAT boards
19 */
20#include <linux/types.h>
21#include <asm/lasat/lasat.h>
22
23#include <linux/module.h>
24#include <linux/sysctl.h>
25#include <linux/stddef.h>
26#include <linux/init.h>
27#include <linux/fs.h>
28#include <linux/ctype.h>
29#include <linux/string.h>
30#include <linux/net.h>
31#include <linux/inet.h>
32#include <linux/mutex.h>
33#include <asm/uaccess.h>
34
35#include "sysctl.h"
36#include "ds1603.h"
37
38static DEFINE_MUTEX(lasat_info_mutex);
39
40/* Strategy function to write EEPROM after changing string entry */
41int sysctl_lasatstring(ctl_table *table, int *name, int nlen,
42 void *oldval, size_t *oldlenp,
43 void *newval, size_t newlen)
44{
45 int r;
46 mutex_lock(&lasat_info_mutex);
47 r = sysctl_string(table, name,
48 nlen, oldval, oldlenp, newval, newlen);
49 if (r < 0) {
50 mutex_unlock(&lasat_info_mutex);
51 return r;
52 }
53 if (newval && newlen) {
54 lasat_write_eeprom_info();
55 }
56 mutex_unlock(&lasat_info_mutex);
57 return 1;
58}
59
60
61/* And the same for proc */
62int proc_dolasatstring(ctl_table *table, int write, struct file *filp,
63 void *buffer, size_t *lenp, loff_t *ppos)
64{
65 int r;
66 mutex_lock(&lasat_info_mutex);
67 r = proc_dostring(table, write, filp, buffer, lenp, ppos);
68 if ( (!write) || r) {
69 mutex_unlock(&lasat_info_mutex);
70 return r;
71 }
72 lasat_write_eeprom_info();
73 mutex_unlock(&lasat_info_mutex);
74 return 0;
75}
76
77/* proc function to write EEPROM after changing int entry */
78int proc_dolasatint(ctl_table *table, int write, struct file *filp,
79 void *buffer, size_t *lenp, loff_t *ppos)
80{
81 int r;
82 mutex_lock(&lasat_info_mutex);
83 r = proc_dointvec(table, write, filp, buffer, lenp, ppos);
84 if ( (!write) || r) {
85 mutex_unlock(&lasat_info_mutex);
86 return r;
87 }
88 lasat_write_eeprom_info();
89 mutex_unlock(&lasat_info_mutex);
90 return 0;
91}
92
93static int rtctmp;
94
95#ifdef CONFIG_DS1603
96/* proc function to read/write RealTime Clock */
97int proc_dolasatrtc(ctl_table *table, int write, struct file *filp,
98 void *buffer, size_t *lenp, loff_t *ppos)
99{
100 int r;
101 mutex_lock(&lasat_info_mutex);
102 if (!write) {
103 rtctmp = ds1603_read();
104 /* check for time < 0 and set to 0 */
105 if (rtctmp < 0)
106 rtctmp = 0;
107 }
108 r = proc_dointvec(table, write, filp, buffer, lenp, ppos);
109 if ( (!write) || r) {
110 mutex_unlock(&lasat_info_mutex);
111 return r;
112 }
113 ds1603_set(rtctmp);
114 mutex_unlock(&lasat_info_mutex);
115 return 0;
116}
117#endif
118
119/* Sysctl for setting the IP addresses */
120int sysctl_lasat_intvec(ctl_table *table, int *name, int nlen,
121 void *oldval, size_t *oldlenp,
122 void *newval, size_t newlen)
123{
124 int r;
125 mutex_lock(&lasat_info_mutex);
126 r = sysctl_intvec(table, name, nlen, oldval, oldlenp, newval, newlen);
127 if (r < 0) {
128 mutex_unlock(&lasat_info_mutex);
129 return r;
130 }
131 if (newval && newlen) {
132 lasat_write_eeprom_info();
133 }
134 mutex_unlock(&lasat_info_mutex);
135 return 1;
136}
137
138#ifdef CONFIG_DS1603
139/* Same for RTC */
140int sysctl_lasat_rtc(ctl_table *table, int *name, int nlen,
141 void *oldval, size_t *oldlenp,
142 void *newval, size_t newlen)
143{
144 int r;
145 mutex_lock(&lasat_info_mutex);
146 rtctmp = ds1603_read();
147 if (rtctmp < 0)
148 rtctmp = 0;
149 r = sysctl_intvec(table, name, nlen, oldval, oldlenp, newval, newlen);
150 if (r < 0) {
151 mutex_unlock(&lasat_info_mutex);
152 return r;
153 }
154 if (newval && newlen) {
155 ds1603_set(rtctmp);
156 }
157 mutex_unlock(&lasat_info_mutex);
158 return 1;
159}
160#endif
161
162#ifdef CONFIG_INET
163static char lasat_bcastaddr[16];
164
165void update_bcastaddr(void)
166{
167 unsigned int ip;
168
169 ip = (lasat_board_info.li_eeprom_info.ipaddr &
170 lasat_board_info.li_eeprom_info.netmask) |
171 ~lasat_board_info.li_eeprom_info.netmask;
172
173 sprintf(lasat_bcastaddr, "%d.%d.%d.%d",
174 (ip ) & 0xff,
175 (ip >> 8) & 0xff,
176 (ip >> 16) & 0xff,
177 (ip >> 24) & 0xff);
178}
179
180static char proc_lasat_ipbuf[32];
181/* Parsing of IP address */
182int proc_lasat_ip(ctl_table *table, int write, struct file *filp,
183 void *buffer, size_t *lenp, loff_t *ppos)
184{
185 int len;
186 unsigned int ip;
187 char *p, c;
188
189 if (!table->data || !table->maxlen || !*lenp ||
190 (*ppos && !write)) {
191 *lenp = 0;
192 return 0;
193 }
194
195 mutex_lock(&lasat_info_mutex);
196 if (write) {
197 len = 0;
198 p = buffer;
199 while (len < *lenp) {
200 if(get_user(c, p++)) {
201 mutex_unlock(&lasat_info_mutex);
202 return -EFAULT;
203 }
204 if (c == 0 || c == '\n')
205 break;
206 len++;
207 }
208 if (len >= sizeof(proc_lasat_ipbuf)-1)
209 len = sizeof(proc_lasat_ipbuf) - 1;
210 if (copy_from_user(proc_lasat_ipbuf, buffer, len))
211 {
212 mutex_unlock(&lasat_info_mutex);
213 return -EFAULT;
214 }
215 proc_lasat_ipbuf[len] = 0;
216 *ppos += *lenp;
217 /* Now see if we can convert it to a valid IP */
218 ip = in_aton(proc_lasat_ipbuf);
219 *(unsigned int *)(table->data) = ip;
220 lasat_write_eeprom_info();
221 } else {
222 ip = *(unsigned int *)(table->data);
223 sprintf(proc_lasat_ipbuf, "%d.%d.%d.%d",
224 (ip ) & 0xff,
225 (ip >> 8) & 0xff,
226 (ip >> 16) & 0xff,
227 (ip >> 24) & 0xff);
228 len = strlen(proc_lasat_ipbuf);
229 if (len > *lenp)
230 len = *lenp;
231 if (len)
232 if(copy_to_user(buffer, proc_lasat_ipbuf, len)) {
233 mutex_unlock(&lasat_info_mutex);
234 return -EFAULT;
235 }
236 if (len < *lenp) {
237 if(put_user('\n', ((char *) buffer) + len)) {
238 mutex_unlock(&lasat_info_mutex);
239 return -EFAULT;
240 }
241 len++;
242 }
243 *lenp = len;
244 *ppos += len;
245 }
246 update_bcastaddr();
247 mutex_unlock(&lasat_info_mutex);
248 return 0;
249}
250#endif /* defined(CONFIG_INET) */
251
252static int sysctl_lasat_eeprom_value(ctl_table *table, int *name, int nlen,
253 void *oldval, size_t *oldlenp,
254 void *newval, size_t newlen)
255{
256 int r;
257
258 mutex_lock(&lasat_info_mutex);
259 r = sysctl_intvec(table, name, nlen, oldval, oldlenp, newval, newlen);
260 if (r < 0) {
261 mutex_unlock(&lasat_info_mutex);
262 return r;
263 }
264
265 if (newval && newlen)
266 {
267 if (name && *name == LASAT_PRID)
268 lasat_board_info.li_eeprom_info.prid = *(int*)newval;
269
270 lasat_write_eeprom_info();
271 lasat_init_board_info();
272 }
273 mutex_unlock(&lasat_info_mutex);
274
275 return 0;
276}
277
278int proc_lasat_eeprom_value(ctl_table *table, int write, struct file *filp,
279 void *buffer, size_t *lenp, loff_t *ppos)
280{
281 int r;
282 mutex_lock(&lasat_info_mutex);
283 r = proc_dointvec(table, write, filp, buffer, lenp, ppos);
284 if ( (!write) || r) {
285 mutex_unlock(&lasat_info_mutex);
286 return r;
287 }
288 if (filp && filp->f_path.dentry)
289 {
290 if (!strcmp(filp->f_path.dentry->d_name.name, "prid"))
291 lasat_board_info.li_eeprom_info.prid = lasat_board_info.li_prid;
292 if (!strcmp(filp->f_path.dentry->d_name.name, "debugaccess"))
293 lasat_board_info.li_eeprom_info.debugaccess = lasat_board_info.li_debugaccess;
294 }
295 lasat_write_eeprom_info();
296 mutex_unlock(&lasat_info_mutex);
297 return 0;
298}
299
300extern int lasat_boot_to_service;
301
302#ifdef CONFIG_SYSCTL
303
304static ctl_table lasat_table[] = {
305 {
306 .ctl_name = CTL_UNNUMBERED,
307 .procname = "cpu-hz",
308 .data = &lasat_board_info.li_cpu_hz,
309 .maxlen = sizeof(int),
310 .mode = 0444,
311 .proc_handler = &proc_dointvec,
312 .strategy = &sysctl_intvec
313 },
314 {
315 .ctl_name = CTL_UNNUMBERED,
316 .procname = "bus-hz",
317 .data = &lasat_board_info.li_bus_hz,
318 .maxlen = sizeof(int),
319 .mode = 0444,
320 .proc_handler = &proc_dointvec,
321 .strategy = &sysctl_intvec
322 },
323 {
324 .ctl_name = CTL_UNNUMBERED,
325 .procname = "bmid",
326 .data = &lasat_board_info.li_bmid,
327 .maxlen = sizeof(int),
328 .mode = 0444,
329 .proc_handler = &proc_dointvec,
330 .strategy = &sysctl_intvec
331 },
332 {
333 .ctl_name = CTL_UNNUMBERED,
334 .procname = "prid",
335 .data = &lasat_board_info.li_prid,
336 .maxlen = sizeof(int),
337 .mode = 0644,
338 .proc_handler = &proc_lasat_eeprom_value,
339 .strategy = &sysctl_lasat_eeprom_value
340 },
341#ifdef CONFIG_INET
342 {
343 .ctl_name = CTL_UNNUMBERED,
344 .procname = "ipaddr",
345 .data = &lasat_board_info.li_eeprom_info.ipaddr,
346 .maxlen = sizeof(int),
347 .mode = 0644,
348 .proc_handler = &proc_lasat_ip,
349 .strategy = &sysctl_lasat_intvec
350 },
351 {
352 .ctl_name = LASAT_NETMASK,
353 .procname = "netmask",
354 .data = &lasat_board_info.li_eeprom_info.netmask,
355 .maxlen = sizeof(int),
356 .mode = 0644,
357 .proc_handler = &proc_lasat_ip,
358 .strategy = &sysctl_lasat_intvec
359 },
360 {
361 .ctl_name = CTL_UNNUMBERED,
362 .procname = "bcastaddr",
363 .data = &lasat_bcastaddr,
364 .maxlen = sizeof(lasat_bcastaddr),
365 .mode = 0600,
366 .proc_handler = &proc_dostring,
367 .strategy = &sysctl_string
368 },
369#endif
370 {
371 .ctl_name = CTL_UNNUMBERED,
372 .procname = "passwd_hash",
373 .data = &lasat_board_info.li_eeprom_info.passwd_hash,
374 .maxlen = sizeof(lasat_board_info.li_eeprom_info.passwd_hash),
375 .mode = 0600,
376 .proc_handler = &proc_dolasatstring,
377 .strategy = &sysctl_lasatstring
378 },
379 {
380 .ctl_name = CTL_UNNUMBERED,
381 .procname = "boot-service",
382 .data = &lasat_boot_to_service,
383 .maxlen = sizeof(int),
384 .mode = 0644,
385 .proc_handler = &proc_dointvec,
386 .strategy = &sysctl_intvec
387 },
388#ifdef CONFIG_DS1603
389 {
390 .ctl_name = CTL_UNNUMBERED,
391 .procname = "rtc",
392 .data = &rtctmp,
393 .maxlen = sizeof(int),
394 .mode = 0644,
395 .proc_handler = &proc_dolasatrtc,
396 .strategy = &sysctl_lasat_rtc
397 },
398#endif
399 {
400 .ctl_name = CTL_UNNUMBERED,
401 .procname = "namestr",
402 .data = &lasat_board_info.li_namestr,
403 .maxlen = sizeof(lasat_board_info.li_namestr),
404 .mode = 0444,
405 .proc_handler = &proc_dostring,
406 .strategy = &sysctl_string
407 },
408 {
409 .ctl_name = CTL_UNNUMBERED,
410 .procname = "typestr",
411 .data = &lasat_board_info.li_typestr,
412 .maxlen = sizeof(lasat_board_info.li_typestr),
413 .mode = 0444,
414 .proc_handler = &proc_dostring,
415 .strategy = &sysctl_string
416 },
417 {}
418};
419
420static ctl_table lasat_root_table[] = {
421 {
422 .ctl_name = CTL_UNNUMBERED,
423 .procname = "lasat",
424 .mode = 0555,
425 .child = lasat_table
426 },
427 {}
428};
429
430static int __init lasat_register_sysctl(void)
431{
432 struct ctl_table_header *lasat_table_header;
433
434 lasat_table_header =
435 register_sysctl_table(lasat_root_table);
436
437 return 0;
438}
439
440__initcall(lasat_register_sysctl);
441#endif /* CONFIG_SYSCTL */
diff --git a/arch/mips/lasat/sysctl.h b/arch/mips/lasat/sysctl.h
deleted file mode 100644
index 4d139d2adbdf..000000000000
--- a/arch/mips/lasat/sysctl.h
+++ /dev/null
@@ -1,24 +0,0 @@
1/*
2 * LASAT sysctl values
3 */
4
5#ifndef _LASAT_SYSCTL_H
6#define _LASAT_SYSCTL_H
7
8/* /proc/sys/lasat */
9enum {
10 LASAT_CPU_HZ=1,
11 LASAT_BUS_HZ,
12 LASAT_MODEL,
13 LASAT_PRID,
14 LASAT_IPADDR,
15 LASAT_NETMASK,
16 LASAT_BCAST,
17 LASAT_PASSWORD,
18 LASAT_SBOOT,
19 LASAT_RTC,
20 LASAT_NAMESTR,
21 LASAT_TYPESTR,
22};
23
24#endif /* _LASAT_SYSCTL_H */
diff --git a/arch/mips/lemote/lm2e/Makefile b/arch/mips/lemote/lm2e/Makefile
new file mode 100644
index 000000000000..fb1b48c48cb3
--- /dev/null
+++ b/arch/mips/lemote/lm2e/Makefile
@@ -0,0 +1,7 @@
1#
2# Makefile for Lemote Fulong mini-PC board.
3#
4
5obj-y += setup.o prom.o reset.o irq.o pci.o bonito-irq.o dbg_io.o mem.o
6EXTRA_AFLAGS := $(CFLAGS)
7
diff --git a/arch/mips/lemote/lm2e/bonito-irq.c b/arch/mips/lemote/lm2e/bonito-irq.c
new file mode 100644
index 000000000000..8fc3bce7075b
--- /dev/null
+++ b/arch/mips/lemote/lm2e/bonito-irq.c
@@ -0,0 +1,74 @@
1/*
2 * Copyright 2001 MontaVista Software Inc.
3 * Author: Jun Sun, jsun@mvista.com or jsun@junsun.net
4 * Copyright (C) 2000, 2001 Ralf Baechle (ralf@gnu.org)
5 *
6 * Copyright (C) 2007 Lemote Inc. & Insititute of Computing Technology
7 * Author: Fuxin Zhang, zhangfx@lemote.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/errno.h>
31#include <linux/init.h>
32#include <linux/io.h>
33#include <linux/types.h>
34#include <linux/interrupt.h>
35#include <linux/irq.h>
36
37#include <asm/mips-boards/bonito64.h>
38
39
40static inline void bonito_irq_enable(unsigned int irq)
41{
42 BONITO_INTENSET = (1 << (irq - BONITO_IRQ_BASE));
43 mmiowb();
44}
45
46static inline void bonito_irq_disable(unsigned int irq)
47{
48 BONITO_INTENCLR = (1 << (irq - BONITO_IRQ_BASE));
49 mmiowb();
50}
51
52static struct irq_chip bonito_irq_type = {
53 .name = "bonito_irq",
54 .ack = bonito_irq_disable,
55 .mask = bonito_irq_disable,
56 .mask_ack = bonito_irq_disable,
57 .unmask = bonito_irq_enable,
58};
59
60static struct irqaction dma_timeout_irqaction = {
61 .handler = no_action,
62 .name = "dma_timeout",
63};
64
65void bonito_irq_init(void)
66{
67 u32 i;
68
69 for (i = BONITO_IRQ_BASE; i < BONITO_IRQ_BASE + 32; i++) {
70 set_irq_chip_and_handler(i, &bonito_irq_type, handle_level_irq);
71 }
72
73 setup_irq(BONITO_IRQ_BASE + 10, &dma_timeout_irqaction);
74}
diff --git a/arch/mips/lemote/lm2e/dbg_io.c b/arch/mips/lemote/lm2e/dbg_io.c
new file mode 100644
index 000000000000..6c95da3ca76f
--- /dev/null
+++ b/arch/mips/lemote/lm2e/dbg_io.c
@@ -0,0 +1,146 @@
1/*
2 * Copyright 2001 MontaVista Software Inc.
3 * Author: Jun Sun, jsun@mvista.com or jsun@junsun.net
4 * Copyright (C) 2000, 2001 Ralf Baechle (ralf@gnu.org)
5 *
6 * Copyright (C) 2007 Lemote Inc. & Insititute of Computing Technology
7 * Author: Fuxin Zhang, zhangfx@lemote.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
31#include <linux/io.h>
32#include <linux/init.h>
33#include <linux/types.h>
34
35#include <asm/serial.h>
36
37#define UART16550_BAUD_2400 2400
38#define UART16550_BAUD_4800 4800
39#define UART16550_BAUD_9600 9600
40#define UART16550_BAUD_19200 19200
41#define UART16550_BAUD_38400 38400
42#define UART16550_BAUD_57600 57600
43#define UART16550_BAUD_115200 115200
44
45#define UART16550_PARITY_NONE 0
46#define UART16550_PARITY_ODD 0x08
47#define UART16550_PARITY_EVEN 0x18
48#define UART16550_PARITY_MARK 0x28
49#define UART16550_PARITY_SPACE 0x38
50
51#define UART16550_DATA_5BIT 0x0
52#define UART16550_DATA_6BIT 0x1
53#define UART16550_DATA_7BIT 0x2
54#define UART16550_DATA_8BIT 0x3
55
56#define UART16550_STOP_1BIT 0x0
57#define UART16550_STOP_2BIT 0x4
58
59/* ----------------------------------------------------- */
60
61/* === CONFIG === */
62#ifdef CONFIG_64BIT
63#define BASE (0xffffffffbfd003f8)
64#else
65#define BASE (0xbfd003f8)
66#endif
67
68#define MAX_BAUD BASE_BAUD
69/* === END OF CONFIG === */
70
71#define REG_OFFSET 1
72
73/* register offset */
74#define OFS_RCV_BUFFER 0
75#define OFS_TRANS_HOLD 0
76#define OFS_SEND_BUFFER 0
77#define OFS_INTR_ENABLE (1*REG_OFFSET)
78#define OFS_INTR_ID (2*REG_OFFSET)
79#define OFS_DATA_FORMAT (3*REG_OFFSET)
80#define OFS_LINE_CONTROL (3*REG_OFFSET)
81#define OFS_MODEM_CONTROL (4*REG_OFFSET)
82#define OFS_RS232_OUTPUT (4*REG_OFFSET)
83#define OFS_LINE_STATUS (5*REG_OFFSET)
84#define OFS_MODEM_STATUS (6*REG_OFFSET)
85#define OFS_RS232_INPUT (6*REG_OFFSET)
86#define OFS_SCRATCH_PAD (7*REG_OFFSET)
87
88#define OFS_DIVISOR_LSB (0*REG_OFFSET)
89#define OFS_DIVISOR_MSB (1*REG_OFFSET)
90
91/* memory-mapped read/write of the port */
92#define UART16550_READ(y) readb((char *)BASE + (y))
93#define UART16550_WRITE(y, z) writeb(z, (char *)BASE + (y))
94
95void debugInit(u32 baud, u8 data, u8 parity, u8 stop)
96{
97 u32 divisor;
98
99 /* disable interrupts */
100 UART16550_WRITE(OFS_INTR_ENABLE, 0);
101
102 /* set up buad rate */
103 /* set DIAB bit */
104 UART16550_WRITE(OFS_LINE_CONTROL, 0x80);
105
106 /* set divisor */
107 divisor = MAX_BAUD / baud;
108 UART16550_WRITE(OFS_DIVISOR_LSB, divisor & 0xff);
109 UART16550_WRITE(OFS_DIVISOR_MSB, (divisor & 0xff00) >> 8);
110
111 /* clear DIAB bit */
112 UART16550_WRITE(OFS_LINE_CONTROL, 0x0);
113
114 /* set data format */
115 UART16550_WRITE(OFS_DATA_FORMAT, data | parity | stop);
116}
117
118static int remoteDebugInitialized;
119
120u8 getDebugChar(void)
121{
122 if (!remoteDebugInitialized) {
123 remoteDebugInitialized = 1;
124 debugInit(UART16550_BAUD_115200,
125 UART16550_DATA_8BIT,
126 UART16550_PARITY_NONE, UART16550_STOP_1BIT);
127 }
128
129 while ((UART16550_READ(OFS_LINE_STATUS) & 0x1) == 0) ;
130 return UART16550_READ(OFS_RCV_BUFFER);
131}
132
133int putDebugChar(u8 byte)
134{
135 if (!remoteDebugInitialized) {
136 remoteDebugInitialized = 1;
137 /*
138 debugInit(UART16550_BAUD_115200,
139 UART16550_DATA_8BIT,
140 UART16550_PARITY_NONE, UART16550_STOP_1BIT); */
141 }
142
143 while ((UART16550_READ(OFS_LINE_STATUS) & 0x20) == 0) ;
144 UART16550_WRITE(OFS_SEND_BUFFER, byte);
145 return 1;
146}
diff --git a/arch/mips/lemote/lm2e/irq.c b/arch/mips/lemote/lm2e/irq.c
new file mode 100644
index 000000000000..05693bceaeaf
--- /dev/null
+++ b/arch/mips/lemote/lm2e/irq.c
@@ -0,0 +1,145 @@
1/*
2 * Copyright (C) 2007 Lemote Inc. & Insititute of Computing Technology
3 * Author: Fuxin Zhang, zhangfx@lemote.com
4 *
5 * This program is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License as published by the
7 * Free Software Foundation; either version 2 of the License, or (at your
8 * option) any later version.
9 *
10 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
11 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
12 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN
13 * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
14 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
15 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
16 * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
17 * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
18 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
19 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
20 *
21 * You should have received a copy of the GNU General Public License along
22 * with this program; if not, write to the Free Software Foundation, Inc.,
23 * 675 Mass Ave, Cambridge, MA 02139, USA.
24 *
25 */
26#include <linux/delay.h>
27#include <linux/io.h>
28#include <linux/irq.h>
29#include <linux/init.h>
30#include <linux/interrupt.h>
31#include <linux/irq.h>
32
33#include <asm/irq_cpu.h>
34#include <asm/i8259.h>
35#include <asm/mipsregs.h>
36#include <asm/mips-boards/bonito64.h>
37
38
39/*
40 * the first level int-handler will jump here if it is a bonito irq
41 */
42static void bonito_irqdispatch(void)
43{
44 u32 int_status;
45 int i;
46
47 /* workaround the IO dma problem: let cpu looping to allow DMA finish */
48 int_status = BONITO_INTISR;
49 if (int_status & (1 << 10)) {
50 while (int_status & (1 << 10)) {
51 udelay(1);
52 int_status = BONITO_INTISR;
53 }
54 }
55
56 /* Get pending sources, masked by current enables */
57 int_status = BONITO_INTISR & BONITO_INTEN;
58
59 if (int_status != 0) {
60 i = __ffs(int_status);
61 int_status &= ~(1 << i);
62 do_IRQ(BONITO_IRQ_BASE + i);
63 }
64}
65
66static void i8259_irqdispatch(void)
67{
68 int irq;
69
70 irq = i8259_irq();
71 if (irq >= 0) {
72 do_IRQ(irq);
73 } else {
74 spurious_interrupt();
75 }
76
77}
78
79asmlinkage void plat_irq_dispatch(void)
80{
81 unsigned int pending = read_c0_cause() & read_c0_status() & ST0_IM;
82
83 if (pending & CAUSEF_IP7) {
84 do_IRQ(MIPS_CPU_IRQ_BASE + 7);
85 } else if (pending & CAUSEF_IP5) {
86 i8259_irqdispatch();
87 } else if (pending & CAUSEF_IP2) {
88 bonito_irqdispatch();
89 } else {
90 spurious_interrupt();
91 }
92}
93
94static struct irqaction cascade_irqaction = {
95 .handler = no_action,
96 .mask = CPU_MASK_NONE,
97 .name = "cascade",
98};
99
100void __init arch_init_irq(void)
101{
102 extern void bonito_irq_init(void);
103
104 /*
105 * Clear all of the interrupts while we change the able around a bit.
106 * int-handler is not on bootstrap
107 */
108 clear_c0_status(ST0_IM | ST0_BEV);
109 local_irq_disable();
110
111 /* most bonito irq should be level triggered */
112 BONITO_INTEDGE = BONITO_ICU_SYSTEMERR | BONITO_ICU_MASTERERR |
113 BONITO_ICU_RETRYERR | BONITO_ICU_MBOXES;
114 BONITO_INTSTEER = 0;
115
116 /*
117 * Mask out all interrupt by writing "1" to all bit position in
118 * the interrupt reset reg.
119 */
120 BONITO_INTENCLR = ~0;
121
122 /* init all controller
123 * 0-15 ------> i8259 interrupt
124 * 16-23 ------> mips cpu interrupt
125 * 32-63 ------> bonito irq
126 */
127
128 /* Sets the first-level interrupt dispatcher. */
129 mips_cpu_irq_init();
130 init_i8259_irqs();
131 bonito_irq_init();
132
133 /*
134 printk("GPIODATA=%x, GPIOIE=%x\n", BONITO_GPIODATA, BONITO_GPIOIE);
135 printk("INTEN=%x, INTSET=%x, INTCLR=%x, INTISR=%x\n",
136 BONITO_INTEN, BONITO_INTENSET,
137 BONITO_INTENCLR, BONITO_INTISR);
138 */
139
140 /* bonito irq at IP2 */
141 setup_irq(MIPS_CPU_IRQ_BASE + 2, &cascade_irqaction);
142 /* 8259 irq at IP5 */
143 setup_irq(MIPS_CPU_IRQ_BASE + 5, &cascade_irqaction);
144
145}
diff --git a/arch/mips/lemote/lm2e/mem.c b/arch/mips/lemote/lm2e/mem.c
new file mode 100644
index 000000000000..16cd21587d34
--- /dev/null
+++ b/arch/mips/lemote/lm2e/mem.c
@@ -0,0 +1,23 @@
1/*
2 * This program is free software; you can redistribute it and/or modify it
3 * under the terms of the GNU General Public License as published by the
4 * Free Software Foundation; either version 2 of the License, or (at your
5 * option) any later version.
6 */
7#include <linux/fs.h>
8#include <linux/fcntl.h>
9#include <linux/mm.h>
10
11/* override of arch/mips/mm/cache.c: __uncached_access */
12int __uncached_access(struct file *file, unsigned long addr)
13{
14 if (file->f_flags & O_SYNC)
15 return 1;
16
17 /*
18 * On the Lemote Loongson 2e system, the peripheral registers
19 * reside between 0x1000:0000 and 0x2000:0000.
20 */
21 return addr >= __pa(high_memory) ||
22 ((addr >= 0x10000000) && (addr < 0x20000000));
23}
diff --git a/arch/mips/lemote/lm2e/pci.c b/arch/mips/lemote/lm2e/pci.c
new file mode 100644
index 000000000000..1ade1cef3899
--- /dev/null
+++ b/arch/mips/lemote/lm2e/pci.c
@@ -0,0 +1,93 @@
1/*
2 * pci.c
3 *
4 * Copyright (C) 2007 Lemote, Inc. & Institute of Computing Technology
5 * Author: Fuxin Zhang, zhangfx@lemote.com
6 *
7 * This program is free software; you can redistribute it and/or modify it
8 * under the terms of the GNU General Public License as published by the
9 * Free Software Foundation; either version 2 of the License, or (at your
10 * option) any later version.
11 *
12 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
13 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
14 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN
15 * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
16 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
17 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
18 * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
19 * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
20 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
21 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
22 *
23 * You should have received a copy of the GNU General Public License along
24 * with this program; if not, write to the Free Software Foundation, Inc.,
25 * 675 Mass Ave, Cambridge, MA 02139, USA.
26 *
27 */
28#include <linux/types.h>
29#include <linux/pci.h>
30#include <linux/kernel.h>
31#include <linux/init.h>
32#include <asm/mips-boards/bonito64.h>
33
34extern struct pci_ops bonito64_pci_ops;
35
36static struct resource loongson2e_pci_mem_resource = {
37 .name = "LOONGSON2E PCI MEM",
38 .start = 0x14000000UL,
39 .end = 0x1fffffffUL,
40 .flags = IORESOURCE_MEM,
41};
42
43static struct resource loongson2e_pci_io_resource = {
44 .name = "LOONGSON2E PCI IO MEM",
45 .start = 0x00004000UL,
46 .end = IO_SPACE_LIMIT,
47 .flags = IORESOURCE_IO,
48};
49
50static struct pci_controller loongson2e_pci_controller = {
51 .pci_ops = &bonito64_pci_ops,
52 .io_resource = &loongson2e_pci_io_resource,
53 .mem_resource = &loongson2e_pci_mem_resource,
54 .mem_offset = 0x00000000UL,
55 .io_offset = 0x00000000UL,
56};
57
58static void __init ict_pcimap(void)
59{
60 /*
61 * local to PCI mapping: [256M,512M] -> [256M,512M]; differ from PMON
62 *
63 * CPU address space [256M,448M] is window for accessing pci space
64 * we set pcimap_lo[0,1,2] to map it to pci space [256M,448M]
65 * pcimap: bit18,pcimap_2; bit[17-12],lo2;bit[11-6],lo1;bit[5-0],lo0
66 */
67 /* 1,00 0110 ,0001 01,00 0000 */
68 BONITO_PCIMAP = 0x46140;
69
70 /* 1, 00 0010, 0000,01, 00 0000 */
71 /* BONITO_PCIMAP = 0x42040; */
72
73 /*
74 * PCI to local mapping: [2G,2G+256M] -> [0,256M]
75 */
76 BONITO_PCIBASE0 = 0x80000000;
77 BONITO_PCIBASE1 = 0x00800000;
78 BONITO_PCIBASE2 = 0x90000000;
79
80}
81
82static int __init pcibios_init(void)
83{
84 extern int pci_probe_only;
85 pci_probe_only = 0;
86
87 ict_pcimap();
88 register_pci_controller(&loongson2e_pci_controller);
89
90 return 0;
91}
92
93arch_initcall(pcibios_init);
diff --git a/arch/mips/lemote/lm2e/prom.c b/arch/mips/lemote/lm2e/prom.c
new file mode 100644
index 000000000000..67312d7acf2a
--- /dev/null
+++ b/arch/mips/lemote/lm2e/prom.c
@@ -0,0 +1,104 @@
1/*
2 * Based on Ocelot Linux port, which is
3 * Copyright 2001 MontaVista Software Inc.
4 * Author: jsun@mvista.com or jsun@junsun.net
5 *
6 * Copyright 2003 ICT CAS
7 * Author: Michael Guo <guoyi@ict.ac.cn>
8 *
9 * Copyright (C) 2007 Lemote Inc. & Insititute of Computing Technology
10 * Author: Fuxin Zhang, zhangfx@lemote.com
11 *
12 * This program is free software; you can redistribute it and/or modify it
13 * under the terms of the GNU General Public License as published by the
14 * Free Software Foundation; either version 2 of the License, or (at your
15 * option) any later version.
16 */
17#include <linux/init.h>
18#include <linux/mm.h>
19#include <linux/sched.h>
20#include <linux/bootmem.h>
21
22#include <asm/addrspace.h>
23#include <asm/bootinfo.h>
24
25extern unsigned long bus_clock;
26extern unsigned long cpu_clock;
27extern unsigned int memsize, highmemsize;
28extern int putDebugChar(unsigned char byte);
29
30static int argc;
31/* pmon passes arguments in 32bit pointers */
32static int *arg;
33static int *env;
34
35const char *get_system_type(void)
36{
37 return "lemote-fulong";
38}
39
40void __init prom_init_cmdline(void)
41{
42 int i;
43 long l;
44
45 /* arg[0] is "g", the rest is boot parameters */
46 arcs_cmdline[0] = '\0';
47 for (i = 1; i < argc; i++) {
48 l = (long)arg[i];
49 if (strlen(arcs_cmdline) + strlen(((char *)l) + 1)
50 >= sizeof(arcs_cmdline))
51 break;
52 strcat(arcs_cmdline, ((char *)l));
53 strcat(arcs_cmdline, " ");
54 }
55}
56
57void __init prom_init(void)
58{
59 long l;
60 argc = fw_arg0;
61 arg = (int *)fw_arg1;
62 env = (int *)fw_arg2;
63
64 mips_machgroup = MACH_GROUP_LEMOTE;
65 mips_machtype = MACH_LEMOTE_FULONG;
66
67 prom_init_cmdline();
68
69 if ((strstr(arcs_cmdline, "console=")) == NULL)
70 strcat(arcs_cmdline, " console=ttyS0,115200");
71 if ((strstr(arcs_cmdline, "root=")) == NULL)
72 strcat(arcs_cmdline, " root=/dev/hda1");
73
74#define parse_even_earlier(res, option, p) \
75do { \
76 if (strncmp(option, (char *)p, strlen(option)) == 0) \
77 res = simple_strtol((char *)p + strlen(option"="), \
78 NULL, 10); \
79} while (0)
80
81 l = (long)*env;
82 while (l != 0) {
83 parse_even_earlier(bus_clock, "busclock", l);
84 parse_even_earlier(cpu_clock, "cpuclock", l);
85 parse_even_earlier(memsize, "memsize", l);
86 parse_even_earlier(highmemsize, "highmemsize", l);
87 env++;
88 l = (long)*env;
89 }
90 if (memsize == 0)
91 memsize = 256;
92
93 pr_info("busclock=%ld, cpuclock=%ld,memsize=%d,highmemsize=%d\n",
94 bus_clock, cpu_clock, memsize, highmemsize);
95}
96
97void __init prom_free_prom_memory(void)
98{
99}
100
101void prom_putchar(char c)
102{
103 putDebugChar(c);
104}
diff --git a/arch/mips/lemote/lm2e/reset.c b/arch/mips/lemote/lm2e/reset.c
new file mode 100644
index 000000000000..099387a3827a
--- /dev/null
+++ b/arch/mips/lemote/lm2e/reset.c
@@ -0,0 +1,41 @@
1/*
2 * This program is free software; you can redistribute it and/or modify it
3 * under the terms of the GNU General Public License as published by the
4 * Free Software Foundation; either version 2 of the License, or (at your
5 * option) any later version.
6 *
7 * Copyright (C) 2007 Lemote, Inc. & Institute of Computing Technology
8 * Author: Fuxin Zhang, zhangfx@lemote.com
9 */
10#include <linux/pm.h>
11
12#include <asm/reboot.h>
13
14static void loongson2e_restart(char *command)
15{
16#ifdef CONFIG_32BIT
17 *(unsigned long *)0xbfe00104 &= ~(1 << 2);
18 *(unsigned long *)0xbfe00104 |= (1 << 2);
19#else
20 *(unsigned long *)0xffffffffbfe00104 &= ~(1 << 2);
21 *(unsigned long *)0xffffffffbfe00104 |= (1 << 2);
22#endif
23 __asm__ __volatile__("jr\t%0"::"r"(0xbfc00000));
24}
25
26static void loongson2e_halt(void)
27{
28 while (1) ;
29}
30
31static void loongson2e_power_off(void)
32{
33 loongson2e_halt();
34}
35
36void mips_reboot_setup(void)
37{
38 _machine_restart = loongson2e_restart;
39 _machine_halt = loongson2e_halt;
40 pm_power_off = loongson2e_power_off;
41}
diff --git a/arch/mips/lemote/lm2e/setup.c b/arch/mips/lemote/lm2e/setup.c
new file mode 100644
index 000000000000..0e4d1fa572b5
--- /dev/null
+++ b/arch/mips/lemote/lm2e/setup.c
@@ -0,0 +1,134 @@
1/*
2 * BRIEF MODULE DESCRIPTION
3 * setup.c - board dependent boot routines
4 *
5 * Copyright (C) 2007 Lemote Inc. & Insititute of Computing Technology
6 * Author: Fuxin Zhang, zhangfx@lemote.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 */
29#include <linux/bootmem.h>
30#include <linux/init.h>
31#include <linux/io.h>
32#include <linux/ioport.h>
33#include <linux/interrupt.h>
34#include <linux/irq.h>
35#include <linux/kernel.h>
36#include <linux/mc146818rtc.h>
37#include <linux/mm.h>
38#include <linux/module.h>
39#include <linux/pci.h>
40#include <linux/tty.h>
41#include <linux/types.h>
42
43#include <asm/bootinfo.h>
44#include <asm/mc146818-time.h>
45#include <asm/time.h>
46#include <asm/wbflush.h>
47
48#ifdef CONFIG_VT
49#include <linux/console.h>
50#include <linux/screen_info.h>
51#endif
52
53extern void mips_reboot_setup(void);
54
55#ifdef CONFIG_64BIT
56#define PTR_PAD(p) ((0xffffffff00000000)|((unsigned long long)(p)))
57#else
58#define PTR_PAD(p) (p)
59#endif
60
61unsigned long cpu_clock;
62unsigned long bus_clock;
63unsigned int memsize;
64unsigned int highmemsize = 0;
65
66void __init plat_timer_setup(struct irqaction *irq)
67{
68 setup_irq(MIPS_CPU_IRQ_BASE + 7, irq);
69}
70
71static void __init loongson2e_time_init(void)
72{
73 /* setup mips r4k timer */
74 mips_hpt_frequency = cpu_clock / 2;
75}
76
77static unsigned long __init mips_rtc_get_time(void)
78{
79 return mc146818_get_cmos_time();
80}
81
82void (*__wbflush)(void);
83EXPORT_SYMBOL(__wbflush);
84
85static void wbflush_loongson2e(void)
86{
87 asm(".set\tpush\n\t"
88 ".set\tnoreorder\n\t"
89 ".set mips3\n\t"
90 "sync\n\t"
91 "nop\n\t"
92 ".set\tpop\n\t"
93 ".set mips0\n\t");
94}
95
96void __init plat_mem_setup(void)
97{
98 set_io_port_base(PTR_PAD(0xbfd00000));
99
100 mips_reboot_setup();
101
102 board_time_init = loongson2e_time_init;
103 rtc_mips_get_time = mips_rtc_get_time;
104
105 __wbflush = wbflush_loongson2e;
106
107 add_memory_region(0x0, (memsize << 20), BOOT_MEM_RAM);
108#ifdef CONFIG_64BIT
109 if (highmemsize > 0) {
110 add_memory_region(0x20000000, highmemsize << 20, BOOT_MEM_RAM);
111 }
112#endif
113
114#ifdef CONFIG_VT
115#if defined(CONFIG_VGA_CONSOLE)
116 conswitchp = &vga_con;
117
118 screen_info = (struct screen_info) {
119 0, 25, /* orig-x, orig-y */
120 0, /* unused */
121 0, /* orig-video-page */
122 0, /* orig-video-mode */
123 80, /* orig-video-cols */
124 0, 0, 0, /* ega_ax, ega_bx, ega_cx */
125 25, /* orig-video-lines */
126 VIDEO_TYPE_VGAC, /* orig-video-isVGA */
127 16 /* orig-video-points */
128 };
129#elif defined(CONFIG_DUMMY_CONSOLE)
130 conswitchp = &dummy_con;
131#endif
132#endif
133
134}
diff --git a/arch/mips/lib-32/Makefile b/arch/mips/lib-32/Makefile
deleted file mode 100644
index 8b94d4cc5a30..000000000000
--- a/arch/mips/lib-32/Makefile
+++ /dev/null
@@ -1,23 +0,0 @@
1#
2# Makefile for MIPS-specific library files..
3#
4
5lib-y += watch.o
6
7obj-$(CONFIG_CPU_MIPS32) += dump_tlb.o
8obj-$(CONFIG_CPU_MIPS64) += dump_tlb.o
9obj-$(CONFIG_CPU_NEVADA) += dump_tlb.o
10obj-$(CONFIG_CPU_R10000) += dump_tlb.o
11obj-$(CONFIG_CPU_R3000) += r3k_dump_tlb.o
12obj-$(CONFIG_CPU_R4300) += dump_tlb.o
13obj-$(CONFIG_CPU_R4X00) += dump_tlb.o
14obj-$(CONFIG_CPU_R5000) += dump_tlb.o
15obj-$(CONFIG_CPU_R5432) += dump_tlb.o
16obj-$(CONFIG_CPU_R6000) +=
17obj-$(CONFIG_CPU_R8000) +=
18obj-$(CONFIG_CPU_RM7000) += dump_tlb.o
19obj-$(CONFIG_CPU_RM9000) += dump_tlb.o
20obj-$(CONFIG_CPU_SB1) += dump_tlb.o
21obj-$(CONFIG_CPU_TX39XX) += r3k_dump_tlb.o
22obj-$(CONFIG_CPU_TX49XX) += dump_tlb.o
23obj-$(CONFIG_CPU_VR41XX) += dump_tlb.o
diff --git a/arch/mips/lib-32/dump_tlb.c b/arch/mips/lib-32/dump_tlb.c
deleted file mode 100644
index 6a68deb51aae..000000000000
--- a/arch/mips/lib-32/dump_tlb.c
+++ /dev/null
@@ -1,242 +0,0 @@
1/*
2 * Dump R4x00 TLB for debugging purposes.
3 *
4 * Copyright (C) 1994, 1995 by Waldorf Electronics, written by Ralf Baechle.
5 * Copyright (C) 1999 by Silicon Graphics, Inc.
6 */
7#include <linux/kernel.h>
8#include <linux/mm.h>
9#include <linux/sched.h>
10#include <linux/string.h>
11
12#include <asm/bootinfo.h>
13#include <asm/cachectl.h>
14#include <asm/cpu.h>
15#include <asm/mipsregs.h>
16#include <asm/page.h>
17#include <asm/pgtable.h>
18
19static inline const char *msk2str(unsigned int mask)
20{
21 switch (mask) {
22 case PM_4K:
23 return "4kb";
24 case PM_16K:
25 return "16kb";
26 case PM_64K:
27 return "64kb";
28 case PM_256K:
29 return "256kb";
30#ifndef CONFIG_CPU_VR41XX
31 case PM_1M:
32 return "1Mb";
33 case PM_4M:
34 return "4Mb";
35 case PM_16M:
36 return "16Mb";
37 case PM_64M:
38 return "64Mb";
39 case PM_256M:
40 return "256Mb";
41#endif
42 }
43
44 return "unknown";
45}
46
47#define BARRIER() \
48 __asm__ __volatile__( \
49 ".set\tnoreorder\n\t" \
50 "nop;nop;nop;nop;nop;nop;nop\n\t" \
51 ".set\treorder");
52
53void dump_tlb(int first, int last)
54{
55 unsigned int pagemask, c0, c1, asid;
56 unsigned long long entrylo0, entrylo1;
57 unsigned long entryhi;
58 int i;
59
60 asid = read_c0_entryhi() & 0xff;
61
62 printk("\n");
63 for (i = first; i <= last; i++) {
64 write_c0_index(i);
65 BARRIER();
66 tlb_read();
67 BARRIER();
68 pagemask = read_c0_pagemask();
69 entryhi = read_c0_entryhi();
70 entrylo0 = read_c0_entrylo0();
71 entrylo1 = read_c0_entrylo1();
72
73 /* Unused entries have a virtual address in KSEG0. */
74 if ((entryhi & 0xf0000000) != 0x80000000
75 && (entryhi & 0xff) == asid) {
76 /*
77 * Only print entries in use
78 */
79 printk("Index: %2d pgmask=%s ", i, msk2str(pagemask));
80
81 c0 = (entrylo0 >> 3) & 7;
82 c1 = (entrylo1 >> 3) & 7;
83
84 printk("va=%08lx asid=%02lx\n",
85 (entryhi & 0xffffe000), (entryhi & 0xff));
86 printk("\t\t\t[pa=%08Lx c=%d d=%d v=%d g=%Ld]\n",
87 (entrylo0 << 6) & PAGE_MASK, c0,
88 (entrylo0 & 4) ? 1 : 0,
89 (entrylo0 & 2) ? 1 : 0, (entrylo0 & 1));
90 printk("\t\t\t[pa=%08Lx c=%d d=%d v=%d g=%Ld]\n",
91 (entrylo1 << 6) & PAGE_MASK, c1,
92 (entrylo1 & 4) ? 1 : 0,
93 (entrylo1 & 2) ? 1 : 0, (entrylo1 & 1));
94 printk("\n");
95 }
96 }
97
98 write_c0_entryhi(asid);
99}
100
101void dump_tlb_all(void)
102{
103 dump_tlb(0, current_cpu_data.tlbsize - 1);
104}
105
106void dump_tlb_wired(void)
107{
108 int wired;
109
110 wired = read_c0_wired();
111 printk("Wired: %d", wired);
112 dump_tlb(0, read_c0_wired());
113}
114
115void dump_tlb_addr(unsigned long addr)
116{
117 unsigned int flags, oldpid;
118 int index;
119
120 local_irq_save(flags);
121 oldpid = read_c0_entryhi() & 0xff;
122 BARRIER();
123 write_c0_entryhi((addr & PAGE_MASK) | oldpid);
124 BARRIER();
125 tlb_probe();
126 BARRIER();
127 index = read_c0_index();
128 write_c0_entryhi(oldpid);
129 local_irq_restore(flags);
130
131 if (index < 0) {
132 printk("No entry for address 0x%08lx in TLB\n", addr);
133 return;
134 }
135
136 printk("Entry %d maps address 0x%08lx\n", index, addr);
137 dump_tlb(index, index);
138}
139
140void dump_tlb_nonwired(void)
141{
142 dump_tlb(read_c0_wired(), current_cpu_data.tlbsize - 1);
143}
144
145void dump_list_process(struct task_struct *t, void *address)
146{
147 pgd_t *page_dir, *pgd;
148 pud_t *pud;
149 pmd_t *pmd;
150 pte_t *pte, page;
151 unsigned long addr, val;
152
153 addr = (unsigned long) address;
154
155 printk("Addr == %08lx\n", addr);
156 printk("task == %8p\n", t);
157 printk("task->mm == %8p\n", t->mm);
158 //printk("tasks->mm.pgd == %08x\n", (unsigned int) t->mm->pgd);
159
160 if (addr > KSEG0) {
161 page_dir = pgd_offset_k(0);
162 pgd = pgd_offset_k(addr);
163 } else if (t->mm) {
164 page_dir = pgd_offset(t->mm, 0);
165 pgd = pgd_offset(t->mm, addr);
166 } else {
167 printk("Current thread has no mm\n");
168 return;
169 }
170 printk("page_dir == %08x\n", (unsigned int) page_dir);
171 printk("pgd == %08x, ", (unsigned int) pgd);
172 pud = pud_offset(pgd, addr);
173 printk("pud == %08x, ", (unsigned int) pud);
174
175 pmd = pmd_offset(pud, addr);
176 printk("pmd == %08x, ", (unsigned int) pmd);
177
178 pte = pte_offset(pmd, addr);
179 printk("pte == %08x, ", (unsigned int) pte);
180
181 page = *pte;
182#ifdef CONFIG_64BIT_PHYS_ADDR
183 printk("page == %08Lx\n", pte_val(page));
184#else
185 printk("page == %08lx\n", pte_val(page));
186#endif
187
188 val = pte_val(page);
189 if (val & _PAGE_PRESENT)
190 printk("present ");
191 if (val & _PAGE_READ)
192 printk("read ");
193 if (val & _PAGE_WRITE)
194 printk("write ");
195 if (val & _PAGE_ACCESSED)
196 printk("accessed ");
197 if (val & _PAGE_MODIFIED)
198 printk("modified ");
199 if (val & _PAGE_R4KBUG)
200 printk("r4kbug ");
201 if (val & _PAGE_GLOBAL)
202 printk("global ");
203 if (val & _PAGE_VALID)
204 printk("valid ");
205 printk("\n");
206}
207
208void dump_list_current(void *address)
209{
210 dump_list_process(current, address);
211}
212
213unsigned int vtop(void *address)
214{
215 pgd_t *pgd;
216 pud_t *pud;
217 pmd_t *pmd;
218 pte_t *pte;
219 unsigned int addr, paddr;
220
221 addr = (unsigned long) address;
222 pgd = pgd_offset(current->mm, addr);
223 pud = pud_offset(pgd, addr);
224 pmd = pmd_offset(pud, addr);
225 pte = pte_offset(pmd, addr);
226 paddr = (KSEG1 | (unsigned int) pte_val(*pte)) & PAGE_MASK;
227 paddr |= (addr & ~PAGE_MASK);
228
229 return paddr;
230}
231
232void dump16(unsigned long *p)
233{
234 int i;
235
236 for (i = 0; i < 8; i++) {
237 printk("*%08lx == %08lx, ", (unsigned long) p, *p);
238 p++;
239 printk("*%08lx == %08lx\n", (unsigned long) p, *p);
240 p++;
241 }
242}
diff --git a/arch/mips/lib-32/r3k_dump_tlb.c b/arch/mips/lib-32/r3k_dump_tlb.c
deleted file mode 100644
index 4f2cb74f0766..000000000000
--- a/arch/mips/lib-32/r3k_dump_tlb.c
+++ /dev/null
@@ -1,182 +0,0 @@
1/*
2 * Dump R3000 TLB for debugging purposes.
3 *
4 * Copyright (C) 1994, 1995 by Waldorf Electronics, written by Ralf Baechle.
5 * Copyright (C) 1999 by Silicon Graphics, Inc.
6 * Copyright (C) 1999 by Harald Koerfgen
7 */
8#include <linux/kernel.h>
9#include <linux/mm.h>
10#include <linux/sched.h>
11#include <linux/string.h>
12
13#include <asm/bootinfo.h>
14#include <asm/cachectl.h>
15#include <asm/cpu.h>
16#include <asm/mipsregs.h>
17#include <asm/page.h>
18#include <asm/pgtable.h>
19
20extern int r3k_have_wired_reg; /* defined in tlb-r3k.c */
21
22void dump_tlb(int first, int last)
23{
24 int i;
25 unsigned int asid;
26 unsigned long entryhi, entrylo0;
27
28 asid = read_c0_entryhi() & 0xfc0;
29
30 for (i = first; i <= last; i++) {
31 write_c0_index(i<<8);
32 __asm__ __volatile__(
33 ".set\tnoreorder\n\t"
34 "tlbr\n\t"
35 "nop\n\t"
36 ".set\treorder");
37 entryhi = read_c0_entryhi();
38 entrylo0 = read_c0_entrylo0();
39
40 /* Unused entries have a virtual address of KSEG0. */
41 if ((entryhi & 0xffffe000) != 0x80000000
42 && (entryhi & 0xfc0) == asid) {
43 /*
44 * Only print entries in use
45 */
46 printk("Index: %2d ", i);
47
48 printk("va=%08lx asid=%08lx"
49 " [pa=%06lx n=%d d=%d v=%d g=%d]",
50 (entryhi & 0xffffe000),
51 entryhi & 0xfc0,
52 entrylo0 & PAGE_MASK,
53 (entrylo0 & (1 << 11)) ? 1 : 0,
54 (entrylo0 & (1 << 10)) ? 1 : 0,
55 (entrylo0 & (1 << 9)) ? 1 : 0,
56 (entrylo0 & (1 << 8)) ? 1 : 0);
57 }
58 }
59 printk("\n");
60
61 write_c0_entryhi(asid);
62}
63
64void dump_tlb_all(void)
65{
66 dump_tlb(0, current_cpu_data.tlbsize - 1);
67}
68
69void dump_tlb_wired(void)
70{
71 int wired = r3k_have_wired_reg ? read_c0_wired() : 8;
72
73 printk("Wired: %d", wired);
74 dump_tlb(0, wired - 1);
75}
76
77void dump_tlb_addr(unsigned long addr)
78{
79 unsigned long flags, oldpid;
80 int index;
81
82 local_irq_save(flags);
83 oldpid = read_c0_entryhi() & 0xff;
84 write_c0_entryhi((addr & PAGE_MASK) | oldpid);
85 tlb_probe();
86 index = read_c0_index();
87 write_c0_entryhi(oldpid);
88 local_irq_restore(flags);
89
90 if (index < 0) {
91 printk("No entry for address 0x%08lx in TLB\n", addr);
92 return;
93 }
94
95 printk("Entry %d maps address 0x%08lx\n", index, addr);
96 dump_tlb(index, index);
97}
98
99void dump_tlb_nonwired(void)
100{
101 int wired = r3k_have_wired_reg ? read_c0_wired() : 8;
102 dump_tlb(wired, current_cpu_data.tlbsize - 1);
103}
104
105void dump_list_process(struct task_struct *t, void *address)
106{
107 pgd_t *page_dir, *pgd;
108 pud_t *pud;
109 pmd_t *pmd;
110 pte_t *pte, page;
111 unsigned int addr;
112 unsigned long val;
113
114 addr = (unsigned int) address;
115
116 printk("Addr == %08x\n", addr);
117 printk("tasks->mm.pgd == %08x\n", (unsigned int) t->mm->pgd);
118
119 page_dir = pgd_offset(t->mm, 0);
120 printk("page_dir == %08x\n", (unsigned int) page_dir);
121
122 pgd = pgd_offset(t->mm, addr);
123 printk("pgd == %08x, ", (unsigned int) pgd);
124
125 pud = pud_offset(pgd, addr);
126 printk("pud == %08x, ", (unsigned int) pud);
127
128 pmd = pmd_offset(pud, addr);
129 printk("pmd == %08x, ", (unsigned int) pmd);
130
131 pte = pte_offset(pmd, addr);
132 printk("pte == %08x, ", (unsigned int) pte);
133
134 page = *pte;
135 printk("page == %08x\n", (unsigned int) pte_val(page));
136
137 val = pte_val(page);
138 if (val & _PAGE_PRESENT) printk("present ");
139 if (val & _PAGE_READ) printk("read ");
140 if (val & _PAGE_WRITE) printk("write ");
141 if (val & _PAGE_ACCESSED) printk("accessed ");
142 if (val & _PAGE_MODIFIED) printk("modified ");
143 if (val & _PAGE_GLOBAL) printk("global ");
144 if (val & _PAGE_VALID) printk("valid ");
145 printk("\n");
146}
147
148void dump_list_current(void *address)
149{
150 dump_list_process(current, address);
151}
152
153unsigned int vtop(void *address)
154{
155 pgd_t *pgd;
156 pud_t *pud;
157 pmd_t *pmd;
158 pte_t *pte;
159 unsigned int addr, paddr;
160
161 addr = (unsigned long) address;
162 pgd = pgd_offset(current->mm, addr);
163 pud = pud_offset(pgd, addr);
164 pmd = pmd_offset(pud, addr);
165 pte = pte_offset(pmd, addr);
166 paddr = (KSEG1 | (unsigned int) pte_val(*pte)) & PAGE_MASK;
167 paddr |= (addr & ~PAGE_MASK);
168
169 return paddr;
170}
171
172void dump16(unsigned long *p)
173{
174 int i;
175
176 for (i = 0; i < 8; i++) {
177 printk("*%08lx == %08lx, ", (unsigned long)p, *p);
178 p++;
179 printk("*%08lx == %08lx\n", (unsigned long)p, *p);
180 p++;
181 }
182}
diff --git a/arch/mips/lib-32/watch.S b/arch/mips/lib-32/watch.S
deleted file mode 100644
index 808b3af1a605..000000000000
--- a/arch/mips/lib-32/watch.S
+++ /dev/null
@@ -1,60 +0,0 @@
1/*
2 * This file is subject to the terms and conditions of the GNU General Public
3 * License. See the file "COPYING" in the main directory of this archive
4 * for more details.
5 *
6 * Kernel debug stuff to use the Watch registers.
7 * Useful to find stack overflows, dangling pointers etc.
8 *
9 * Copyright (C) 1995, 1996, 1999 by Ralf Baechle
10 */
11#include <asm/asm.h>
12#include <asm/mipsregs.h>
13#include <asm/regdef.h>
14
15 .set noreorder
16/*
17 * Parameter: a0 - logic address to watch
18 * Currently only KSEG0 addresses are allowed!
19 * a1 - set bit #1 to trap on load references
20 * bit #0 to trap on store references
21 * Results : none
22 */
23 LEAF(__watch_set)
24 li t0, 0x80000000
25 subu a0, t0
26 ori a0, 7
27 xori a0, 7
28 or a0, a1
29 mtc0 a0, CP0_WATCHLO
30 sw a0, watch_savelo
31
32 jr ra
33 mtc0 zero, CP0_WATCHHI
34 END(__watch_set)
35
36/*
37 * Parameter: none
38 * Results : none
39 */
40 LEAF(__watch_clear)
41 jr ra
42 mtc0 zero, CP0_WATCHLO
43 END(__watch_clear)
44
45/*
46 * Parameter: none
47 * Results : none
48 */
49 LEAF(__watch_reenable)
50 lw t0, watch_savelo
51 jr ra
52 mtc0 t0, CP0_WATCHLO
53 END(__watch_reenable)
54
55/*
56 * Saved value of the c0_watchlo register for watch_reenable()
57 */
58 .data
59watch_savelo: .word 0
60 .text
diff --git a/arch/mips/lib-64/Makefile b/arch/mips/lib-64/Makefile
deleted file mode 100644
index 8b94d4cc5a30..000000000000
--- a/arch/mips/lib-64/Makefile
+++ /dev/null
@@ -1,23 +0,0 @@
1#
2# Makefile for MIPS-specific library files..
3#
4
5lib-y += watch.o
6
7obj-$(CONFIG_CPU_MIPS32) += dump_tlb.o
8obj-$(CONFIG_CPU_MIPS64) += dump_tlb.o
9obj-$(CONFIG_CPU_NEVADA) += dump_tlb.o
10obj-$(CONFIG_CPU_R10000) += dump_tlb.o
11obj-$(CONFIG_CPU_R3000) += r3k_dump_tlb.o
12obj-$(CONFIG_CPU_R4300) += dump_tlb.o
13obj-$(CONFIG_CPU_R4X00) += dump_tlb.o
14obj-$(CONFIG_CPU_R5000) += dump_tlb.o
15obj-$(CONFIG_CPU_R5432) += dump_tlb.o
16obj-$(CONFIG_CPU_R6000) +=
17obj-$(CONFIG_CPU_R8000) +=
18obj-$(CONFIG_CPU_RM7000) += dump_tlb.o
19obj-$(CONFIG_CPU_RM9000) += dump_tlb.o
20obj-$(CONFIG_CPU_SB1) += dump_tlb.o
21obj-$(CONFIG_CPU_TX39XX) += r3k_dump_tlb.o
22obj-$(CONFIG_CPU_TX49XX) += dump_tlb.o
23obj-$(CONFIG_CPU_VR41XX) += dump_tlb.o
diff --git a/arch/mips/lib-64/dump_tlb.c b/arch/mips/lib-64/dump_tlb.c
deleted file mode 100644
index 594df1a05ecc..000000000000
--- a/arch/mips/lib-64/dump_tlb.c
+++ /dev/null
@@ -1,216 +0,0 @@
1/*
2 * Dump R4x00 TLB for debugging purposes.
3 *
4 * Copyright (C) 1994, 1995 by Waldorf Electronics, written by Ralf Baechle.
5 * Copyright (C) 1999 by Silicon Graphics, Inc.
6 */
7#include <linux/kernel.h>
8#include <linux/mm.h>
9#include <linux/sched.h>
10#include <linux/string.h>
11
12#include <asm/bootinfo.h>
13#include <asm/cachectl.h>
14#include <asm/cpu.h>
15#include <asm/mipsregs.h>
16#include <asm/page.h>
17#include <asm/pgtable.h>
18
19static inline const char *msk2str(unsigned int mask)
20{
21 switch (mask) {
22 case PM_4K: return "4kb";
23 case PM_16K: return "16kb";
24 case PM_64K: return "64kb";
25 case PM_256K: return "256kb";
26#ifndef CONFIG_CPU_VR41XX
27 case PM_1M: return "1Mb";
28 case PM_4M: return "4Mb";
29 case PM_16M: return "16Mb";
30 case PM_64M: return "64Mb";
31 case PM_256M: return "256Mb";
32#endif
33 }
34
35 return "unknown";
36}
37
38#define BARRIER() \
39 __asm__ __volatile__( \
40 ".set\tnoreorder\n\t" \
41 "nop;nop;nop;nop;nop;nop;nop\n\t" \
42 ".set\treorder");
43
44void dump_tlb(int first, int last)
45{
46 unsigned long s_entryhi, entryhi, entrylo0, entrylo1, asid;
47 unsigned int s_index, pagemask, c0, c1, i;
48
49 s_entryhi = read_c0_entryhi();
50 s_index = read_c0_index();
51 asid = s_entryhi & 0xff;
52
53 for (i = first; i <= last; i++) {
54 write_c0_index(i);
55 BARRIER();
56 tlb_read();
57 BARRIER();
58 pagemask = read_c0_pagemask();
59 entryhi = read_c0_entryhi();
60 entrylo0 = read_c0_entrylo0();
61 entrylo1 = read_c0_entrylo1();
62
63 /* Unused entries have a virtual address of CKSEG0. */
64 if ((entryhi & ~0x1ffffUL) != CKSEG0
65 && (entryhi & 0xff) == asid) {
66 /*
67 * Only print entries in use
68 */
69 printk("Index: %2d pgmask=%s ", i, msk2str(pagemask));
70
71 c0 = (entrylo0 >> 3) & 7;
72 c1 = (entrylo1 >> 3) & 7;
73
74 printk("va=%011lx asid=%02lx\n",
75 (entryhi & ~0x1fffUL),
76 entryhi & 0xff);
77 printk("\t[pa=%011lx c=%d d=%d v=%d g=%ld] ",
78 (entrylo0 << 6) & PAGE_MASK, c0,
79 (entrylo0 & 4) ? 1 : 0,
80 (entrylo0 & 2) ? 1 : 0,
81 (entrylo0 & 1));
82 printk("[pa=%011lx c=%d d=%d v=%d g=%ld]\n",
83 (entrylo1 << 6) & PAGE_MASK, c1,
84 (entrylo1 & 4) ? 1 : 0,
85 (entrylo1 & 2) ? 1 : 0,
86 (entrylo1 & 1));
87 }
88 }
89 printk("\n");
90
91 write_c0_entryhi(s_entryhi);
92 write_c0_index(s_index);
93}
94
95void dump_tlb_all(void)
96{
97 dump_tlb(0, current_cpu_data.tlbsize - 1);
98}
99
100void dump_tlb_wired(void)
101{
102 int wired;
103
104 wired = read_c0_wired();
105 printk("Wired: %d", wired);
106 dump_tlb(0, read_c0_wired());
107}
108
109void dump_tlb_addr(unsigned long addr)
110{
111 unsigned int flags, oldpid;
112 int index;
113
114 local_irq_save(flags);
115 oldpid = read_c0_entryhi() & 0xff;
116 BARRIER();
117 write_c0_entryhi((addr & PAGE_MASK) | oldpid);
118 BARRIER();
119 tlb_probe();
120 BARRIER();
121 index = read_c0_index();
122 write_c0_entryhi(oldpid);
123 local_irq_restore(flags);
124
125 if (index < 0) {
126 printk("No entry for address 0x%08lx in TLB\n", addr);
127 return;
128 }
129
130 printk("Entry %d maps address 0x%08lx\n", index, addr);
131 dump_tlb(index, index);
132}
133
134void dump_tlb_nonwired(void)
135{
136 dump_tlb(read_c0_wired(), current_cpu_data.tlbsize - 1);
137}
138
139void dump_list_process(struct task_struct *t, void *address)
140{
141 pgd_t *page_dir, *pgd;
142 pud_t *pud;
143 pmd_t *pmd;
144 pte_t *pte, page;
145 unsigned long addr, val;
146
147 addr = (unsigned long) address;
148
149 printk("Addr == %08lx\n", addr);
150 printk("tasks->mm.pgd == %08lx\n", (unsigned long) t->mm->pgd);
151
152 page_dir = pgd_offset(t->mm, 0UL);
153 printk("page_dir == %016lx\n", (unsigned long) page_dir);
154
155 pgd = pgd_offset(t->mm, addr);
156 printk("pgd == %016lx\n", (unsigned long) pgd);
157
158 pud = pud_offset(pgd, addr);
159 printk("pud == %016lx\n", (unsigned long) pud);
160
161 pmd = pmd_offset(pud, addr);
162 printk("pmd == %016lx\n", (unsigned long) pmd);
163
164 pte = pte_offset(pmd, addr);
165 printk("pte == %016lx\n", (unsigned long) pte);
166
167 page = *pte;
168 printk("page == %08lx\n", pte_val(page));
169
170 val = pte_val(page);
171 if (val & _PAGE_PRESENT) printk("present ");
172 if (val & _PAGE_READ) printk("read ");
173 if (val & _PAGE_WRITE) printk("write ");
174 if (val & _PAGE_ACCESSED) printk("accessed ");
175 if (val & _PAGE_MODIFIED) printk("modified ");
176 if (val & _PAGE_R4KBUG) printk("r4kbug ");
177 if (val & _PAGE_GLOBAL) printk("global ");
178 if (val & _PAGE_VALID) printk("valid ");
179 printk("\n");
180}
181
182void dump_list_current(void *address)
183{
184 dump_list_process(current, address);
185}
186
187unsigned long vtop(void *address)
188{
189 pgd_t *pgd;
190 pud_t *pud;
191 pmd_t *pmd;
192 pte_t *pte;
193 unsigned long addr, paddr;
194
195 addr = (unsigned long) address;
196 pgd = pgd_offset(current->mm, addr);
197 pud = pud_offset(pgd, addr);
198 pmd = pmd_offset(pud, addr);
199 pte = pte_offset(pmd, addr);
200 paddr = (CKSEG1 | (unsigned int) pte_val(*pte)) & PAGE_MASK;
201 paddr |= (addr & ~PAGE_MASK);
202
203 return paddr;
204}
205
206void dump16(unsigned long *p)
207{
208 int i;
209
210 for (i = 0; i < 8; i++) {
211 printk("*%08lx == %08lx, ", (unsigned long)p, *p);
212 p++;
213 printk("*%08lx == %08lx\n", (unsigned long)p, *p);
214 p++;
215 }
216}
diff --git a/arch/mips/lib-64/watch.S b/arch/mips/lib-64/watch.S
deleted file mode 100644
index f91434013695..000000000000
--- a/arch/mips/lib-64/watch.S
+++ /dev/null
@@ -1,57 +0,0 @@
1/*
2 * This file is subject to the terms and conditions of the GNU General Public
3 * License. See the file "COPYING" in the main directory of this archive
4 * for more details.
5 *
6 * Kernel debug stuff to use the Watch registers.
7 * Useful to find stack overflows, dangling pointers etc.
8 *
9 * Copyright (C) 1995, 1996, 1999, 2001 by Ralf Baechle
10 */
11#include <asm/asm.h>
12#include <asm/mipsregs.h>
13#include <asm/regdef.h>
14
15 .set noreorder
16/*
17 * Parameter: a0 - physical address to watch
18 * a1 - set bit #1 to trap on load references
19 * bit #0 to trap on store references
20 * Results : none
21 */
22 LEAF(__watch_set)
23 ori a0, 7
24 xori a0, 7
25 or a0, a1
26 mtc0 a0, CP0_WATCHLO
27 sd a0, watch_savelo
28 dsrl32 a0, a0, 0
29
30 jr ra
31 mtc0 zero, CP0_WATCHHI
32 END(__watch_set)
33
34/*
35 * Parameter: none
36 * Results : none
37 */
38 LEAF(__watch_clear)
39 jr ra
40 mtc0 zero, CP0_WATCHLO
41 END(__watch_clear)
42
43/*
44 * Parameter: none
45 * Results : none
46 */
47 LEAF(__watch_reenable)
48 ld t0, watch_savelo
49 jr ra
50 mtc0 t0, CP0_WATCHLO
51 END(__watch_reenable)
52
53/*
54 * Saved value of the c0_watchlo register for watch_reenable()
55 */
56 .local watch_savelo
57 .comm watch_savelo, 8, 8
diff --git a/arch/mips/lib/Makefile b/arch/mips/lib/Makefile
index 5dad13efba7e..91ed1eb33102 100644
--- a/arch/mips/lib/Makefile
+++ b/arch/mips/lib/Makefile
@@ -8,5 +8,24 @@ lib-y += csum_partial.o memcpy.o memcpy-inatomic.o memset.o strlen_user.o \
8obj-y += iomap.o 8obj-y += iomap.o
9obj-$(CONFIG_PCI) += iomap-pci.o 9obj-$(CONFIG_PCI) += iomap-pci.o
10 10
11obj-$(CONFIG_CPU_LOONGSON2) += dump_tlb.o
12obj-$(CONFIG_CPU_MIPS32) += dump_tlb.o
13obj-$(CONFIG_CPU_MIPS64) += dump_tlb.o
14obj-$(CONFIG_CPU_NEVADA) += dump_tlb.o
15obj-$(CONFIG_CPU_R10000) += dump_tlb.o
16obj-$(CONFIG_CPU_R3000) += r3k_dump_tlb.o
17obj-$(CONFIG_CPU_R4300) += dump_tlb.o
18obj-$(CONFIG_CPU_R4X00) += dump_tlb.o
19obj-$(CONFIG_CPU_R5000) += dump_tlb.o
20obj-$(CONFIG_CPU_R5432) += dump_tlb.o
21obj-$(CONFIG_CPU_R6000) +=
22obj-$(CONFIG_CPU_R8000) +=
23obj-$(CONFIG_CPU_RM7000) += dump_tlb.o
24obj-$(CONFIG_CPU_RM9000) += dump_tlb.o
25obj-$(CONFIG_CPU_SB1) += dump_tlb.o
26obj-$(CONFIG_CPU_TX39XX) += r3k_dump_tlb.o
27obj-$(CONFIG_CPU_TX49XX) += dump_tlb.o
28obj-$(CONFIG_CPU_VR41XX) += dump_tlb.o
29
11# libgcc-style stuff needed in the kernel 30# libgcc-style stuff needed in the kernel
12lib-y += ashldi3.o ashrdi3.o lshrdi3.o ucmpdi2.o 31obj-y += ashldi3.o ashrdi3.o lshrdi3.o ucmpdi2.o
diff --git a/arch/mips/lib/dump_tlb.c b/arch/mips/lib/dump_tlb.c
new file mode 100644
index 000000000000..465ff0ec85b9
--- /dev/null
+++ b/arch/mips/lib/dump_tlb.c
@@ -0,0 +1,101 @@
1/*
2 * Dump R4x00 TLB for debugging purposes.
3 *
4 * Copyright (C) 1994, 1995 by Waldorf Electronics, written by Ralf Baechle.
5 * Copyright (C) 1999 by Silicon Graphics, Inc.
6 */
7#include <linux/kernel.h>
8#include <linux/mm.h>
9
10#include <asm/mipsregs.h>
11#include <asm/page.h>
12#include <asm/pgtable.h>
13#include <asm/tlbdebug.h>
14
15static inline const char *msk2str(unsigned int mask)
16{
17 switch (mask) {
18 case PM_4K: return "4kb";
19 case PM_16K: return "16kb";
20 case PM_64K: return "64kb";
21 case PM_256K: return "256kb";
22#ifndef CONFIG_CPU_VR41XX
23 case PM_1M: return "1Mb";
24 case PM_4M: return "4Mb";
25 case PM_16M: return "16Mb";
26 case PM_64M: return "64Mb";
27 case PM_256M: return "256Mb";
28#endif
29 }
30 return "";
31}
32
33#define BARRIER() \
34 __asm__ __volatile__( \
35 ".set\tnoreorder\n\t" \
36 "nop;nop;nop;nop;nop;nop;nop\n\t" \
37 ".set\treorder");
38
39static void dump_tlb(int first, int last)
40{
41 unsigned long s_entryhi, entryhi, asid;
42 unsigned long long entrylo0, entrylo1;
43 unsigned int s_index, pagemask, c0, c1, i;
44
45 s_entryhi = read_c0_entryhi();
46 s_index = read_c0_index();
47 asid = s_entryhi & 0xff;
48
49 for (i = first; i <= last; i++) {
50 write_c0_index(i);
51 BARRIER();
52 tlb_read();
53 BARRIER();
54 pagemask = read_c0_pagemask();
55 entryhi = read_c0_entryhi();
56 entrylo0 = read_c0_entrylo0();
57 entrylo1 = read_c0_entrylo1();
58
59 /* Unused entries have a virtual address of CKSEG0. */
60 if ((entryhi & ~0x1ffffUL) != CKSEG0
61 && (entryhi & 0xff) == asid) {
62#ifdef CONFIG_32BIT
63 int width = 8;
64#else
65 int width = 11;
66#endif
67 /*
68 * Only print entries in use
69 */
70 printk("Index: %2d pgmask=%s ", i, msk2str(pagemask));
71
72 c0 = (entrylo0 >> 3) & 7;
73 c1 = (entrylo1 >> 3) & 7;
74
75 printk("va=%0*lx asid=%02lx\n",
76 width, (entryhi & ~0x1fffUL),
77 entryhi & 0xff);
78 printk("\t[pa=%0*llx c=%d d=%d v=%d g=%d] ",
79 width,
80 (entrylo0 << 6) & PAGE_MASK, c0,
81 (entrylo0 & 4) ? 1 : 0,
82 (entrylo0 & 2) ? 1 : 0,
83 (entrylo0 & 1) ? 1 : 0);
84 printk("[pa=%0*llx c=%d d=%d v=%d g=%d]\n",
85 width,
86 (entrylo1 << 6) & PAGE_MASK, c1,
87 (entrylo1 & 4) ? 1 : 0,
88 (entrylo1 & 2) ? 1 : 0,
89 (entrylo1 & 1) ? 1 : 0);
90 }
91 }
92 printk("\n");
93
94 write_c0_entryhi(s_entryhi);
95 write_c0_index(s_index);
96}
97
98void dump_tlb_all(void)
99{
100 dump_tlb(0, current_cpu_data.tlbsize - 1);
101}
diff --git a/arch/mips/lib/r3k_dump_tlb.c b/arch/mips/lib/r3k_dump_tlb.c
new file mode 100644
index 000000000000..9cee907975ae
--- /dev/null
+++ b/arch/mips/lib/r3k_dump_tlb.c
@@ -0,0 +1,63 @@
1/*
2 * Dump R3000 TLB for debugging purposes.
3 *
4 * Copyright (C) 1994, 1995 by Waldorf Electronics, written by Ralf Baechle.
5 * Copyright (C) 1999 by Silicon Graphics, Inc.
6 * Copyright (C) 1999 by Harald Koerfgen
7 */
8#include <linux/kernel.h>
9#include <linux/mm.h>
10
11#include <asm/mipsregs.h>
12#include <asm/page.h>
13#include <asm/pgtable.h>
14#include <asm/tlbdebug.h>
15
16extern int r3k_have_wired_reg; /* defined in tlb-r3k.c */
17
18static void dump_tlb(int first, int last)
19{
20 int i;
21 unsigned int asid;
22 unsigned long entryhi, entrylo0;
23
24 asid = read_c0_entryhi() & 0xfc0;
25
26 for (i = first; i <= last; i++) {
27 write_c0_index(i<<8);
28 __asm__ __volatile__(
29 ".set\tnoreorder\n\t"
30 "tlbr\n\t"
31 "nop\n\t"
32 ".set\treorder");
33 entryhi = read_c0_entryhi();
34 entrylo0 = read_c0_entrylo0();
35
36 /* Unused entries have a virtual address of KSEG0. */
37 if ((entryhi & 0xffffe000) != 0x80000000
38 && (entryhi & 0xfc0) == asid) {
39 /*
40 * Only print entries in use
41 */
42 printk("Index: %2d ", i);
43
44 printk("va=%08lx asid=%08lx"
45 " [pa=%06lx n=%d d=%d v=%d g=%d]",
46 (entryhi & 0xffffe000),
47 entryhi & 0xfc0,
48 entrylo0 & PAGE_MASK,
49 (entrylo0 & (1 << 11)) ? 1 : 0,
50 (entrylo0 & (1 << 10)) ? 1 : 0,
51 (entrylo0 & (1 << 9)) ? 1 : 0,
52 (entrylo0 & (1 << 8)) ? 1 : 0);
53 }
54 }
55 printk("\n");
56
57 write_c0_entryhi(asid);
58}
59
60void dump_tlb_all(void)
61{
62 dump_tlb(0, current_cpu_data.tlbsize - 1);
63}
diff --git a/arch/mips/lib/ucmpdi2.c b/arch/mips/lib/ucmpdi2.c
index e9ff258ef028..e2ff6072b5a3 100644
--- a/arch/mips/lib/ucmpdi2.c
+++ b/arch/mips/lib/ucmpdi2.c
@@ -2,7 +2,7 @@
2 2
3#include "libgcc.h" 3#include "libgcc.h"
4 4
5word_type __ucmpdi2 (unsigned long a, unsigned long b) 5word_type __ucmpdi2 (unsigned long long a, unsigned long long b)
6{ 6{
7 const DWunion au = {.ll = a}; 7 const DWunion au = {.ll = a};
8 const DWunion bu = {.ll = b}; 8 const DWunion bu = {.ll = b};
diff --git a/arch/mips/lib/uncached.c b/arch/mips/lib/uncached.c
index 2388f7f3ffde..58d14f4d9349 100644
--- a/arch/mips/lib/uncached.c
+++ b/arch/mips/lib/uncached.c
@@ -12,6 +12,7 @@
12 12
13#include <asm/addrspace.h> 13#include <asm/addrspace.h>
14#include <asm/bug.h> 14#include <asm/bug.h>
15#include <asm/cacheflush.h>
15 16
16#ifndef CKSEG2 17#ifndef CKSEG2
17#define CKSEG2 CKSSEG 18#define CKSEG2 CKSSEG
diff --git a/arch/mips/math-emu/cp1emu.c b/arch/mips/math-emu/cp1emu.c
index 80531b35cd61..d7f05b0abe17 100644
--- a/arch/mips/math-emu/cp1emu.c
+++ b/arch/mips/math-emu/cp1emu.c
@@ -35,6 +35,7 @@
35 * better performance by compiling with -msoft-float! 35 * better performance by compiling with -msoft-float!
36 */ 36 */
37#include <linux/sched.h> 37#include <linux/sched.h>
38#include <linux/debugfs.h>
38 39
39#include <asm/inst.h> 40#include <asm/inst.h>
40#include <asm/bootinfo.h> 41#include <asm/bootinfo.h>
@@ -1277,3 +1278,36 @@ int fpu_emulator_cop1Handler(struct pt_regs *xcp, struct mips_fpu_struct *ctx,
1277 1278
1278 return sig; 1279 return sig;
1279} 1280}
1281
1282#ifdef CONFIG_DEBUG_FS
1283extern struct dentry *mips_debugfs_dir;
1284static int __init debugfs_fpuemu(void)
1285{
1286 struct dentry *d, *dir;
1287 int i;
1288 static struct {
1289 const char *name;
1290 unsigned int *v;
1291 } vars[] __initdata = {
1292 { "emulated", &fpuemustats.emulated },
1293 { "loads", &fpuemustats.loads },
1294 { "stores", &fpuemustats.stores },
1295 { "cp1ops", &fpuemustats.cp1ops },
1296 { "cp1xops", &fpuemustats.cp1xops },
1297 { "errors", &fpuemustats.errors },
1298 };
1299
1300 if (!mips_debugfs_dir)
1301 return -ENODEV;
1302 dir = debugfs_create_dir("fpuemustats", mips_debugfs_dir);
1303 if (IS_ERR(dir))
1304 return PTR_ERR(dir);
1305 for (i = 0; i < ARRAY_SIZE(vars); i++) {
1306 d = debugfs_create_u32(vars[i].name, S_IRUGO, dir, vars[i].v);
1307 if (IS_ERR(d))
1308 return PTR_ERR(d);
1309 }
1310 return 0;
1311}
1312__initcall(debugfs_fpuemu);
1313#endif
diff --git a/arch/mips/mips-boards/malta/Makefile b/arch/mips/mips-boards/malta/Makefile
index 377d9e8f250a..a242b0fc377d 100644
--- a/arch/mips/mips-boards/malta/Makefile
+++ b/arch/mips/mips-boards/malta/Makefile
@@ -19,6 +19,7 @@
19# under Linux. 19# under Linux.
20# 20#
21 21
22obj-y := malta_int.o malta_setup.o 22obj-y := malta_int.o malta_platform.o malta_setup.o
23
23obj-$(CONFIG_MTD) += malta_mtd.o 24obj-$(CONFIG_MTD) += malta_mtd.o
24obj-$(CONFIG_MIPS_MT_SMTC) += malta_smtc.o 25obj-$(CONFIG_MIPS_MT_SMTC) += malta_smtc.o
diff --git a/arch/mips/mips-boards/malta/malta_platform.c b/arch/mips/mips-boards/malta/malta_platform.c
new file mode 100644
index 000000000000..83b9bab3cd3f
--- /dev/null
+++ b/arch/mips/mips-boards/malta/malta_platform.c
@@ -0,0 +1,65 @@
1/*
2 * This file is subject to the terms and conditions of the GNU General Public
3 * License. See the file "COPYING" in the main directory of this archive
4 * for more details.
5 *
6 * Copyright (C) 2007 MIPS Technologies, Inc.
7 * written by Ralf Baechle (ralf@linux-mips.org)
8 *
9 * Probe driver for the Malta's UART ports:
10 *
11 * o 2 ports in the SMC SuperIO
12 * o 1 port in the CBUS UART, a discrete 16550 which normally is only used
13 * for bringups.
14 *
15 * We don't use 8250_platform.c on Malta as it would result in the CBUS
16 * UART becoming ttyS0.
17 */
18#include <linux/module.h>
19#include <linux/init.h>
20#include <linux/serial_8250.h>
21
22#define SMC_PORT(base, int) \
23{ \
24 .iobase = base, \
25 .irq = int, \
26 .uartclk = 1843200, \
27 .iotype = UPIO_PORT, \
28 .flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST, \
29 .regshift = 0, \
30}
31
32#define CBUS_UART_FLAGS (UPF_BOOT_AUTOCONF | UPF_SKIP_TEST | UPF_IOREMAP)
33
34static struct plat_serial8250_port uart8250_data[] = {
35 SMC_PORT(0x3F8, 4),
36 SMC_PORT(0x2F8, 3),
37 {
38 .mapbase = 0x1f000900, /* The CBUS UART */
39 .irq = MIPS_CPU_IRQ_BASE + 2,
40 .uartclk = 3686400, /* Twice the usual clk! */
41 .iotype = UPIO_MEM32,
42 .flags = CBUS_UART_FLAGS,
43 .regshift = 3,
44 },
45 { },
46};
47
48static struct platform_device uart8250_device = {
49 .name = "serial8250",
50 .id = PLAT8250_DEV_PLATFORM2,
51 .dev = {
52 .platform_data = uart8250_data,
53 },
54};
55
56static int __init uart8250_init(void)
57{
58 return platform_device_register(&uart8250_device);
59}
60
61module_init(uart8250_init);
62
63MODULE_AUTHOR("Ralf Baechle <ralf@linux-mips.org>");
64MODULE_LICENSE("GPL");
65MODULE_DESCRIPTION("8250 UART probe driver for the Malta CBUS UART");
diff --git a/arch/mips/mips-boards/sim/Makefile b/arch/mips/mipssim/Makefile
index dc0bfda11427..dc0bfda11427 100644
--- a/arch/mips/mips-boards/sim/Makefile
+++ b/arch/mips/mipssim/Makefile
diff --git a/arch/mips/mips-boards/sim/sim_cmdline.c b/arch/mips/mipssim/sim_cmdline.c
index c63021a5dc6c..c63021a5dc6c 100644
--- a/arch/mips/mips-boards/sim/sim_cmdline.c
+++ b/arch/mips/mipssim/sim_cmdline.c
diff --git a/arch/mips/mips-boards/sim/sim_console.c b/arch/mips/mipssim/sim_console.c
index de595a9ccb27..a2f41672cd5d 100644
--- a/arch/mips/mips-boards/sim/sim_console.c
+++ b/arch/mips/mipssim/sim_console.c
@@ -18,8 +18,8 @@
18 * written by Ralf Baechle 18 * written by Ralf Baechle
19 */ 19 */
20#include <linux/init.h> 20#include <linux/init.h>
21#include <linux/io.h>
21#include <linux/serial_reg.h> 22#include <linux/serial_reg.h>
22#include <asm/io.h>
23 23
24static inline unsigned int serial_in(int offset) 24static inline unsigned int serial_in(int offset)
25{ 25{
diff --git a/arch/mips/mipssim/sim_int.c b/arch/mips/mipssim/sim_int.c
new file mode 100644
index 000000000000..5cbc3509ab52
--- /dev/null
+++ b/arch/mips/mipssim/sim_int.c
@@ -0,0 +1,88 @@
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 */
18#include <linux/init.h>
19#include <linux/sched.h>
20#include <linux/slab.h>
21#include <linux/interrupt.h>
22#include <linux/kernel_stat.h>
23#include <asm/mips-boards/simint.h>
24#include <asm/irq_cpu.h>
25
26static inline int clz(unsigned long x)
27{
28 __asm__ (
29 " .set push \n"
30 " .set mips32 \n"
31 " clz %0, %1 \n"
32 " .set pop \n"
33 : "=r" (x)
34 : "r" (x));
35
36 return x;
37}
38
39/*
40 * Version of ffs that only looks at bits 12..15.
41 */
42static inline unsigned int irq_ffs(unsigned int pending)
43{
44#if defined(CONFIG_CPU_MIPS32) || defined(CONFIG_CPU_MIPS64)
45 return -clz(pending) + 31 - CAUSEB_IP;
46#else
47 unsigned int a0 = 7;
48 unsigned int t0;
49
50 t0 = s0 & 0xf000;
51 t0 = t0 < 1;
52 t0 = t0 << 2;
53 a0 = a0 - t0;
54 s0 = s0 << t0;
55
56 t0 = s0 & 0xc000;
57 t0 = t0 < 1;
58 t0 = t0 << 1;
59 a0 = a0 - t0;
60 s0 = s0 << t0;
61
62 t0 = s0 & 0x8000;
63 t0 = t0 < 1;
64 /* t0 = t0 << 2; */
65 a0 = a0 - t0;
66 /* s0 = s0 << t0; */
67
68 return a0;
69#endif
70}
71
72asmlinkage void plat_irq_dispatch(void)
73{
74 unsigned int pending = read_c0_cause() & read_c0_status() & ST0_IM;
75 int irq;
76
77 irq = irq_ffs(pending);
78
79 if (irq > 0)
80 do_IRQ(MIPS_CPU_IRQ_BASE + irq);
81 else
82 spurious_interrupt();
83}
84
85void __init arch_init_irq(void)
86{
87 mips_cpu_irq_init();
88}
diff --git a/arch/mips/mips-boards/sim/sim_mem.c b/arch/mips/mipssim/sim_mem.c
index e408ef0bcd6e..2312483eb838 100644
--- a/arch/mips/mips-boards/sim/sim_mem.c
+++ b/arch/mips/mipssim/sim_mem.c
@@ -95,7 +95,7 @@ void __init prom_meminit(void)
95 size = p->size; 95 size = p->size;
96 96
97 add_memory_region(base, size, type); 97 add_memory_region(base, size, type);
98 p++; 98 p++;
99 } 99 }
100} 100}
101 101
diff --git a/arch/mips/mips-boards/sim/sim_platform.c b/arch/mips/mipssim/sim_platform.c
index 53210a8c5dec..53210a8c5dec 100644
--- a/arch/mips/mips-boards/sim/sim_platform.c
+++ b/arch/mips/mipssim/sim_platform.c
diff --git a/arch/mips/mips-boards/sim/sim_setup.c b/arch/mips/mipssim/sim_setup.c
index b705f09e57c3..60e66906be65 100644
--- a/arch/mips/mips-boards/sim/sim_setup.c
+++ b/arch/mips/mipssim/sim_setup.c
@@ -19,18 +19,18 @@
19#include <linux/init.h> 19#include <linux/init.h>
20#include <linux/string.h> 20#include <linux/string.h>
21#include <linux/kernel.h> 21#include <linux/kernel.h>
22#include <linux/io.h>
23#include <linux/irq.h>
22#include <linux/ioport.h> 24#include <linux/ioport.h>
25#include <linux/serial.h>
23#include <linux/tty.h> 26#include <linux/tty.h>
24#include <linux/serial.h> 27#include <linux/serial.h>
25#include <linux/serial_core.h> 28#include <linux/serial_core.h>
26 29
27#include <asm/cpu.h> 30#include <asm/cpu.h>
28#include <asm/bootinfo.h> 31#include <asm/bootinfo.h>
29#include <asm/irq.h>
30#include <asm/mips-boards/generic.h> 32#include <asm/mips-boards/generic.h>
31#include <asm/mips-boards/prom.h> 33#include <asm/mips-boards/prom.h>
32#include <asm/serial.h>
33#include <asm/io.h>
34#include <asm/time.h> 34#include <asm/time.h>
35#include <asm/mips-boards/sim.h> 35#include <asm/mips-boards/sim.h>
36#include <asm/mips-boards/simint.h> 36#include <asm/mips-boards/simint.h>
@@ -62,7 +62,7 @@ void __init plat_mem_setup(void)
62#endif 62#endif
63} 63}
64 64
65void prom_init(void) 65void __init prom_init(void)
66{ 66{
67 set_io_port_base(0xbfd00000); 67 set_io_port_base(0xbfd00000);
68 68
@@ -84,7 +84,7 @@ static void __init serial_init(void)
84 /* hardware int 4 - the serial int, is CPU int 6 84 /* hardware int 4 - the serial int, is CPU int 6
85 but poll for now */ 85 but poll for now */
86 s.irq = 0; 86 s.irq = 0;
87 s.uartclk = BASE_BAUD * 16; 87 s.uartclk = 1843200;
88 s.flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST; 88 s.flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST;
89 s.iotype = UPIO_PORT; 89 s.iotype = UPIO_PORT;
90 s.regshift = 0; 90 s.regshift = 0;
diff --git a/arch/mips/mips-boards/sim/sim_smp.c b/arch/mips/mipssim/sim_smp.c
index cb47863ecf10..38fa807b99f9 100644
--- a/arch/mips/mips-boards/sim/sim_smp.c
+++ b/arch/mips/mipssim/sim_smp.c
@@ -22,13 +22,13 @@
22#include <linux/sched.h> 22#include <linux/sched.h>
23#include <linux/cpumask.h> 23#include <linux/cpumask.h>
24#include <linux/interrupt.h> 24#include <linux/interrupt.h>
25#include <linux/smp.h>
26
25#include <asm/atomic.h> 27#include <asm/atomic.h>
26#include <asm/cpu.h> 28#include <asm/cpu.h>
27#include <asm/processor.h> 29#include <asm/processor.h>
28#include <asm/system.h> 30#include <asm/system.h>
29#include <asm/hardirq.h>
30#include <asm/mmu_context.h> 31#include <asm/mmu_context.h>
31#include <asm/smp.h>
32#ifdef CONFIG_MIPS_MT_SMTC 32#ifdef CONFIG_MIPS_MT_SMTC
33#include <asm/smtc_ipi.h> 33#include <asm/smtc_ipi.h>
34#endif /* CONFIG_MIPS_MT_SMTC */ 34#endif /* CONFIG_MIPS_MT_SMTC */
@@ -73,11 +73,19 @@ void prom_init_secondary(void)
73#endif /* CONFIG_MIPS_MT_SMTC */ 73#endif /* CONFIG_MIPS_MT_SMTC */
74} 74}
75 75
76void plat_smp_setup(void)
77{
78#ifdef CONFIG_MIPS_MT_SMTC
79 if (read_c0_config3() & (1 << 2))
80 mipsmt_build_cpu_map(0);
81#endif /* CONFIG_MIPS_MT_SMTC */
82}
83
76/* 84/*
77 * Platform SMP pre-initialization 85 * Platform SMP pre-initialization
78 */ 86 */
79 87
80void prom_prepare_cpus(unsigned int max_cpus) 88void plat_prepare_cpus(unsigned int max_cpus)
81{ 89{
82#ifdef CONFIG_MIPS_MT_SMTC 90#ifdef CONFIG_MIPS_MT_SMTC
83 /* 91 /*
@@ -85,8 +93,8 @@ void prom_prepare_cpus(unsigned int max_cpus)
85 * but it may be multithreaded. 93 * but it may be multithreaded.
86 */ 94 */
87 95
88 if (read_c0_config3() & (1<<2)) { 96 if (read_c0_config3() & (1 << 2)) {
89 mipsmt_prepare_cpus(max_cpus); 97 mipsmt_prepare_cpus();
90 } 98 }
91#endif /* CONFIG_MIPS_MT_SMTC */ 99#endif /* CONFIG_MIPS_MT_SMTC */
92} 100}
diff --git a/arch/mips/mips-boards/sim/sim_time.c b/arch/mips/mipssim/sim_time.c
index 7224ffe31d36..a0f5a5dca1b2 100644
--- a/arch/mips/mips-boards/sim/sim_time.c
+++ b/arch/mips/mipssim/sim_time.c
@@ -5,10 +5,9 @@
5#include <linux/spinlock.h> 5#include <linux/spinlock.h>
6#include <linux/interrupt.h> 6#include <linux/interrupt.h>
7#include <linux/mc146818rtc.h> 7#include <linux/mc146818rtc.h>
8#include <linux/smp.h>
8#include <linux/timex.h> 9#include <linux/timex.h>
9 10
10#include <asm/mipsregs.h>
11#include <asm/ptrace.h>
12#include <asm/hardirq.h> 11#include <asm/hardirq.h>
13#include <asm/div64.h> 12#include <asm/div64.h>
14#include <asm/cpu.h> 13#include <asm/cpu.h>
@@ -16,7 +15,6 @@
16#include <asm/irq.h> 15#include <asm/irq.h>
17#include <asm/mc146818-time.h> 16#include <asm/mc146818-time.h>
18#include <asm/msc01_ic.h> 17#include <asm/msc01_ic.h>
19#include <asm/smp.h>
20 18
21#include <asm/mips-boards/generic.h> 19#include <asm/mips-boards/generic.h>
22#include <asm/mips-boards/prom.h> 20#include <asm/mips-boards/prom.h>
@@ -37,8 +35,7 @@ irqreturn_t sim_timer_interrupt(int irq, void *dev_id)
37#ifndef CONFIG_MIPS_MT_SMTC 35#ifndef CONFIG_MIPS_MT_SMTC
38 if (cpu == 0) { 36 if (cpu == 0) {
39 timer_interrupt(irq, dev_id); 37 timer_interrupt(irq, dev_id);
40 } 38 } else {
41 else {
42 /* Everyone else needs to reset the timer int here as 39 /* Everyone else needs to reset the timer int here as
43 ll_local_timer_interrupt doesn't */ 40 ll_local_timer_interrupt doesn't */
44 /* 41 /*
@@ -76,8 +73,10 @@ irqreturn_t sim_timer_interrupt(int irq, void *dev_id)
76 irq_enable_hazard(); 73 irq_enable_hazard();
77 evpe(vpflags); 74 evpe(vpflags);
78 75
79 if(cpu_data[cpu].vpe_id == 0) timer_interrupt(irq, dev_id); 76 if (cpu_data[cpu].vpe_id == 0)
80 else write_c0_compare (read_c0_count() + ( mips_hpt_frequency/HZ)); 77 timer_interrupt(irq, dev_id);
78 else
79 write_c0_compare (read_c0_count() + ( mips_hpt_frequency/HZ));
81 smtc_timer_broadcast(cpu_data[cpu].vpe_id); 80 smtc_timer_broadcast(cpu_data[cpu].vpe_id);
82 81
83#endif /* CONFIG_MIPS_MT_SMTC */ 82#endif /* CONFIG_MIPS_MT_SMTC */
@@ -85,7 +84,8 @@ irqreturn_t sim_timer_interrupt(int irq, void *dev_id)
85 /* 84 /*
86 * every CPU should do profiling and process accounting 85 * every CPU should do profiling and process accounting
87 */ 86 */
88 local_timer_interrupt (irq, dev_id); 87 local_timer_interrupt (irq, dev_id);
88
89 return IRQ_HANDLED; 89 return IRQ_HANDLED;
90#else 90#else
91 return timer_interrupt (irq, dev_id); 91 return timer_interrupt (irq, dev_id);
@@ -152,17 +152,15 @@ void __init sim_time_init(void)
152 152
153 local_irq_save(flags); 153 local_irq_save(flags);
154 154
155 155 /* Set Data mode - binary. */
156 /* Set Data mode - binary. */
157 CMOS_WRITE(CMOS_READ(RTC_CONTROL) | RTC_DM_BINARY, RTC_CONTROL); 156 CMOS_WRITE(CMOS_READ(RTC_CONTROL) | RTC_DM_BINARY, RTC_CONTROL);
158 157
159
160 est_freq = estimate_cpu_frequency (); 158 est_freq = estimate_cpu_frequency ();
161 159
162 printk("CPU frequency %d.%02d MHz\n", est_freq/1000000, 160 printk(KERN_INFO "CPU frequency %d.%02d MHz\n", est_freq / 1000000,
163 (est_freq%1000000)*100/1000000); 161 (est_freq % 1000000) * 100 / 1000000);
164 162
165 cpu_khz = est_freq / 1000; 163 cpu_khz = est_freq / 1000;
166 164
167 local_irq_restore(flags); 165 local_irq_restore(flags);
168} 166}
@@ -180,8 +178,7 @@ void __init plat_timer_setup(struct irqaction *irq)
180 if (cpu_has_veic) { 178 if (cpu_has_veic) {
181 set_vi_handler(MSC01E_INT_CPUCTR, mips_timer_dispatch); 179 set_vi_handler(MSC01E_INT_CPUCTR, mips_timer_dispatch);
182 mips_cpu_timer_irq = MSC01E_INT_BASE + MSC01E_INT_CPUCTR; 180 mips_cpu_timer_irq = MSC01E_INT_BASE + MSC01E_INT_CPUCTR;
183 } 181 } else {
184 else {
185 if (cpu_has_vint) 182 if (cpu_has_vint)
186 set_vi_handler(cp0_compare_irq, mips_timer_dispatch); 183 set_vi_handler(cp0_compare_irq, mips_timer_dispatch);
187 mips_cpu_timer_irq = MIPS_CPU_IRQ_BASE + cp0_compare_irq; 184 mips_cpu_timer_irq = MIPS_CPU_IRQ_BASE + cp0_compare_irq;
diff --git a/arch/mips/mm/Makefile b/arch/mips/mm/Makefile
index 293697b15603..19a0e544c4e9 100644
--- a/arch/mips/mm/Makefile
+++ b/arch/mips/mm/Makefile
@@ -9,6 +9,7 @@ obj-$(CONFIG_32BIT) += ioremap.o pgtable-32.o
9obj-$(CONFIG_64BIT) += pgtable-64.o 9obj-$(CONFIG_64BIT) += pgtable-64.o
10obj-$(CONFIG_HIGHMEM) += highmem.o 10obj-$(CONFIG_HIGHMEM) += highmem.o
11 11
12obj-$(CONFIG_CPU_LOONGSON2) += c-r4k.o cex-gen.o pg-r4k.o tlb-r4k.o
12obj-$(CONFIG_CPU_MIPS32) += c-r4k.o cex-gen.o pg-r4k.o tlb-r4k.o 13obj-$(CONFIG_CPU_MIPS32) += c-r4k.o cex-gen.o pg-r4k.o tlb-r4k.o
13obj-$(CONFIG_CPU_MIPS64) += c-r4k.o cex-gen.o pg-r4k.o tlb-r4k.o 14obj-$(CONFIG_CPU_MIPS64) += c-r4k.o cex-gen.o pg-r4k.o tlb-r4k.o
14obj-$(CONFIG_CPU_NEVADA) += c-r4k.o cex-gen.o pg-r4k.o tlb-r4k.o 15obj-$(CONFIG_CPU_NEVADA) += c-r4k.o cex-gen.o pg-r4k.o tlb-r4k.o
diff --git a/arch/mips/mm/c-r4k.c b/arch/mips/mm/c-r4k.c
index df04a315d830..be96231dccb6 100644
--- a/arch/mips/mm/c-r4k.c
+++ b/arch/mips/mm/c-r4k.c
@@ -335,6 +335,10 @@ static void r4k_flush_cache_all(void)
335 335
336static inline void local_r4k___flush_cache_all(void * args) 336static inline void local_r4k___flush_cache_all(void * args)
337{ 337{
338#if defined(CONFIG_CPU_LOONGSON2)
339 r4k_blast_scache();
340 return;
341#endif
338 r4k_blast_dcache(); 342 r4k_blast_dcache();
339 r4k_blast_icache(); 343 r4k_blast_icache();
340 344
@@ -848,6 +852,24 @@ static void __init probe_pcache(void)
848 c->options |= MIPS_CPU_PREFETCH; 852 c->options |= MIPS_CPU_PREFETCH;
849 break; 853 break;
850 854
855 case CPU_LOONGSON2:
856 icache_size = 1 << (12 + ((config & CONF_IC) >> 9));
857 c->icache.linesz = 16 << ((config & CONF_IB) >> 5);
858 if (prid & 0x3)
859 c->icache.ways = 4;
860 else
861 c->icache.ways = 2;
862 c->icache.waybit = 0;
863
864 dcache_size = 1 << (12 + ((config & CONF_DC) >> 6));
865 c->dcache.linesz = 16 << ((config & CONF_DB) >> 4);
866 if (prid & 0x3)
867 c->dcache.ways = 4;
868 else
869 c->dcache.ways = 2;
870 c->dcache.waybit = 0;
871 break;
872
851 default: 873 default:
852 if (!(config & MIPS_CONF_M)) 874 if (!(config & MIPS_CONF_M))
853 panic("Don't know how to probe P-caches on this cpu."); 875 panic("Don't know how to probe P-caches on this cpu.");
@@ -963,6 +985,14 @@ static void __init probe_pcache(void)
963 break; 985 break;
964 } 986 }
965 987
988#ifdef CONFIG_CPU_LOONGSON2
989 /*
990 * LOONGSON2 has 4 way icache, but when using indexed cache op,
991 * one op will act on all 4 ways
992 */
993 c->icache.ways = 1;
994#endif
995
966 printk("Primary instruction cache %ldkB, %s, %s, linesize %d bytes.\n", 996 printk("Primary instruction cache %ldkB, %s, %s, linesize %d bytes.\n",
967 icache_size >> 10, 997 icache_size >> 10,
968 cpu_has_vtag_icache ? "virtually tagged" : "physically tagged", 998 cpu_has_vtag_icache ? "virtually tagged" : "physically tagged",
@@ -1036,6 +1066,24 @@ static int __init probe_scache(void)
1036 return 1; 1066 return 1;
1037} 1067}
1038 1068
1069#if defined(CONFIG_CPU_LOONGSON2)
1070static void __init loongson2_sc_init(void)
1071{
1072 struct cpuinfo_mips *c = &current_cpu_data;
1073
1074 scache_size = 512*1024;
1075 c->scache.linesz = 32;
1076 c->scache.ways = 4;
1077 c->scache.waybit = 0;
1078 c->scache.waysize = scache_size / (c->scache.ways);
1079 c->scache.sets = scache_size / (c->scache.linesz * c->scache.ways);
1080 pr_info("Unified secondary cache %ldkB %s, linesize %d bytes.\n",
1081 scache_size >> 10, way_string[c->scache.ways], c->scache.linesz);
1082
1083 c->options |= MIPS_CPU_INCLUSIVE_CACHES;
1084}
1085#endif
1086
1039extern int r5k_sc_init(void); 1087extern int r5k_sc_init(void);
1040extern int rm7k_sc_init(void); 1088extern int rm7k_sc_init(void);
1041extern int mips_sc_init(void); 1089extern int mips_sc_init(void);
@@ -1085,6 +1133,12 @@ static void __init setup_scache(void)
1085#endif 1133#endif
1086 return; 1134 return;
1087 1135
1136#if defined(CONFIG_CPU_LOONGSON2)
1137 case CPU_LOONGSON2:
1138 loongson2_sc_init();
1139 return;
1140#endif
1141
1088 default: 1142 default:
1089 if (c->isa_level == MIPS_CPU_ISA_M32R1 || 1143 if (c->isa_level == MIPS_CPU_ISA_M32R1 ||
1090 c->isa_level == MIPS_CPU_ISA_M32R2 || 1144 c->isa_level == MIPS_CPU_ISA_M32R2 ||
diff --git a/arch/mips/mm/c-sb1.c b/arch/mips/mm/c-sb1.c
index 9ea460b16bda..6f9bd7fbd481 100644
--- a/arch/mips/mm/c-sb1.c
+++ b/arch/mips/mm/c-sb1.c
@@ -476,7 +476,7 @@ static __init void probe_cache_sizes(void)
476 * memory management function pointers, as well as initialize 476 * memory management function pointers, as well as initialize
477 * the caches and tlbs 477 * the caches and tlbs
478 */ 478 */
479void sb1_cache_init(void) 479void __init sb1_cache_init(void)
480{ 480{
481 extern char except_vec2_sb1; 481 extern char except_vec2_sb1;
482 482
diff --git a/arch/mips/mm/cache.c b/arch/mips/mm/cache.c
index abf99b1eba13..81f925a9a731 100644
--- a/arch/mips/mm/cache.c
+++ b/arch/mips/mm/cache.c
@@ -6,6 +6,8 @@
6 * Copyright (C) 1994 - 2003, 07 by Ralf Baechle (ralf@linux-mips.org) 6 * Copyright (C) 1994 - 2003, 07 by Ralf Baechle (ralf@linux-mips.org)
7 * Copyright (C) 2007 MIPS Technologies, Inc. 7 * Copyright (C) 2007 MIPS Technologies, Inc.
8 */ 8 */
9#include <linux/fs.h>
10#include <linux/fcntl.h>
9#include <linux/init.h> 11#include <linux/init.h>
10#include <linux/kernel.h> 12#include <linux/kernel.h>
11#include <linux/module.h> 13#include <linux/module.h>
@@ -164,3 +166,11 @@ void __init cpu_cache_init(void)
164 166
165 panic(cache_panic); 167 panic(cache_panic);
166} 168}
169
170int __weak __uncached_access(struct file *file, unsigned long addr)
171{
172 if (file->f_flags & O_SYNC)
173 return 1;
174
175 return addr >= __pa(high_memory);
176}
diff --git a/arch/mips/mm/tlb-r4k.c b/arch/mips/mm/tlb-r4k.c
index 65160d4984d9..dcd6913dc1ff 100644
--- a/arch/mips/mm/tlb-r4k.c
+++ b/arch/mips/mm/tlb-r4k.c
@@ -48,6 +48,22 @@ extern void build_tlb_refill_handler(void);
48 48
49#endif /* CONFIG_MIPS_MT_SMTC */ 49#endif /* CONFIG_MIPS_MT_SMTC */
50 50
51#if defined(CONFIG_CPU_LOONGSON2)
52/*
53 * LOONGSON2 has a 4 entry itlb which is a subset of dtlb,
54 * unfortrunately, itlb is not totally transparent to software.
55 */
56#define FLUSH_ITLB write_c0_diag(4);
57
58#define FLUSH_ITLB_VM(vma) { if ((vma)->vm_flags & VM_EXEC) write_c0_diag(4); }
59
60#else
61
62#define FLUSH_ITLB
63#define FLUSH_ITLB_VM(vma)
64
65#endif
66
51void local_flush_tlb_all(void) 67void local_flush_tlb_all(void)
52{ 68{
53 unsigned long flags; 69 unsigned long flags;
@@ -73,6 +89,7 @@ void local_flush_tlb_all(void)
73 } 89 }
74 tlbw_use_hazard(); 90 tlbw_use_hazard();
75 write_c0_entryhi(old_ctx); 91 write_c0_entryhi(old_ctx);
92 FLUSH_ITLB;
76 EXIT_CRITICAL(flags); 93 EXIT_CRITICAL(flags);
77} 94}
78 95
@@ -136,6 +153,7 @@ void local_flush_tlb_range(struct vm_area_struct *vma, unsigned long start,
136 } else { 153 } else {
137 drop_mmu_context(mm, cpu); 154 drop_mmu_context(mm, cpu);
138 } 155 }
156 FLUSH_ITLB;
139 EXIT_CRITICAL(flags); 157 EXIT_CRITICAL(flags);
140 } 158 }
141} 159}
@@ -178,6 +196,7 @@ void local_flush_tlb_kernel_range(unsigned long start, unsigned long end)
178 } else { 196 } else {
179 local_flush_tlb_all(); 197 local_flush_tlb_all();
180 } 198 }
199 FLUSH_ITLB;
181 EXIT_CRITICAL(flags); 200 EXIT_CRITICAL(flags);
182} 201}
183 202
@@ -210,6 +229,7 @@ void local_flush_tlb_page(struct vm_area_struct *vma, unsigned long page)
210 229
211 finish: 230 finish:
212 write_c0_entryhi(oldpid); 231 write_c0_entryhi(oldpid);
232 FLUSH_ITLB_VM(vma);
213 EXIT_CRITICAL(flags); 233 EXIT_CRITICAL(flags);
214 } 234 }
215} 235}
@@ -241,7 +261,7 @@ void local_flush_tlb_one(unsigned long page)
241 tlbw_use_hazard(); 261 tlbw_use_hazard();
242 } 262 }
243 write_c0_entryhi(oldpid); 263 write_c0_entryhi(oldpid);
244 264 FLUSH_ITLB;
245 EXIT_CRITICAL(flags); 265 EXIT_CRITICAL(flags);
246} 266}
247 267
@@ -293,6 +313,7 @@ void __update_tlb(struct vm_area_struct * vma, unsigned long address, pte_t pte)
293 else 313 else
294 tlb_write_indexed(); 314 tlb_write_indexed();
295 tlbw_use_hazard(); 315 tlbw_use_hazard();
316 FLUSH_ITLB_VM(vma);
296 EXIT_CRITICAL(flags); 317 EXIT_CRITICAL(flags);
297} 318}
298 319
diff --git a/arch/mips/mm/tlbex.c b/arch/mips/mm/tlbex.c
index e7149290d1cb..4ec0964b8394 100644
--- a/arch/mips/mm/tlbex.c
+++ b/arch/mips/mm/tlbex.c
@@ -893,6 +893,7 @@ static __init void build_tlb_write_entry(u32 **p, struct label **l,
893 case CPU_4KSC: 893 case CPU_4KSC:
894 case CPU_20KC: 894 case CPU_20KC:
895 case CPU_25KF: 895 case CPU_25KF:
896 case CPU_LOONGSON2:
896 tlbw(p); 897 tlbw(p);
897 break; 898 break;
898 899
@@ -1276,7 +1277,8 @@ static void __init build_r4000_tlb_refill_handler(void)
1276 * need three, with the second nop'ed and the third being 1277 * need three, with the second nop'ed and the third being
1277 * unused. 1278 * unused.
1278 */ 1279 */
1279#ifdef CONFIG_32BIT 1280 /* Loongson2 ebase is different than r4k, we have more space */
1281#if defined(CONFIG_32BIT) || defined(CONFIG_CPU_LOONGSON2)
1280 if ((p - tlb_handler) > 64) 1282 if ((p - tlb_handler) > 64)
1281 panic("TLB refill handler space exceeded"); 1283 panic("TLB refill handler space exceeded");
1282#else 1284#else
@@ -1289,7 +1291,7 @@ static void __init build_r4000_tlb_refill_handler(void)
1289 /* 1291 /*
1290 * Now fold the handler in the TLB refill handler space. 1292 * Now fold the handler in the TLB refill handler space.
1291 */ 1293 */
1292#ifdef CONFIG_32BIT 1294#if defined(CONFIG_32BIT) || defined(CONFIG_CPU_LOONGSON2)
1293 f = final_handler; 1295 f = final_handler;
1294 /* Simplest case, just copy the handler. */ 1296 /* Simplest case, just copy the handler. */
1295 copy_handler(relocs, labels, tlb_handler, p, f); 1297 copy_handler(relocs, labels, tlb_handler, p, f);
@@ -1336,7 +1338,7 @@ static void __init build_r4000_tlb_refill_handler(void)
1336 final_len); 1338 final_len);
1337 1339
1338 f = final_handler; 1340 f = final_handler;
1339#ifdef CONFIG_64BIT 1341#if defined(CONFIG_64BIT) && !defined(CONFIG_CPU_LOONGSON2)
1340 if (final_len > 32) 1342 if (final_len > 32)
1341 final_len = 64; 1343 final_len = 64;
1342 else 1344 else
diff --git a/arch/mips/momentum/ocelot_3/Makefile b/arch/mips/momentum/ocelot_3/Makefile
deleted file mode 100644
index d5a090a85a15..000000000000
--- a/arch/mips/momentum/ocelot_3/Makefile
+++ /dev/null
@@ -1,8 +0,0 @@
1#
2# Makefile for Momentum Computer's Ocelot-3 board.
3#
4# Note! Dependencies are done automagically by 'make dep', which also
5# removes any old dependencies. DON'T put your own dependencies here
6# unless it's something special (ie not a .c file).
7#
8obj-y += irq.o platform.o prom.o reset.o setup.o
diff --git a/arch/mips/momentum/ocelot_3/irq.c b/arch/mips/momentum/ocelot_3/irq.c
deleted file mode 100644
index 3862d1d1add4..000000000000
--- a/arch/mips/momentum/ocelot_3/irq.c
+++ /dev/null
@@ -1,109 +0,0 @@
1/*
2 * Copyright (C) 2000 RidgeRun, Inc.
3 * Author: RidgeRun, Inc.
4 * glonnon@ridgerun.com, skranz@ridgerun.com, stevej@ridgerun.com
5 *
6 * Copyright 2001 MontaVista Software Inc.
7 * Author: Jun Sun, jsun@mvista.com or jsun@junsun.net
8 * Copyright (C) 2000, 2001 Ralf Baechle (ralf@gnu.org)
9 *
10 * Copyright 2004 PMC-Sierra
11 * Author: Manish Lachwani (lachwani@pmc-sierra.com)
12 *
13 * This program is free software; you can redistribute it and/or modify it
14 * under the terms of the GNU General Public License as published by the
15 * Free Software Foundation; either version 2 of the License, or (at your
16 * option) any later version.
17 *
18 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
19 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
20 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN
21 * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
22 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
23 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
24 * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
25 * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
27 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28 *
29 * You should have received a copy of the GNU General Public License along
30 * with this program; if not, write to the Free Software Foundation, Inc.,
31 * 675 Mass Ave, Cambridge, MA 02139, USA.
32 *
33 * Copyright (C) 2004 MontaVista Software Inc.
34 * Author: Manish Lachwani, mlachwani@mvista.com
35 *
36 */
37#include <linux/errno.h>
38#include <linux/init.h>
39#include <linux/kernel_stat.h>
40#include <linux/module.h>
41#include <linux/signal.h>
42#include <linux/sched.h>
43#include <linux/types.h>
44#include <linux/interrupt.h>
45#include <linux/ioport.h>
46#include <linux/timex.h>
47#include <linux/slab.h>
48#include <linux/random.h>
49#include <asm/bitops.h>
50#include <asm/bootinfo.h>
51#include <asm/io.h>
52#include <asm/irq.h>
53#include <asm/mipsregs.h>
54#include <asm/system.h>
55
56static struct irqaction cascade_mv64340 = {
57 no_action, IRQF_DISABLED, CPU_MASK_NONE, "MV64340-Cascade", NULL, NULL
58};
59
60void __init arch_init_irq(void)
61{
62 /*
63 * Clear all of the interrupts while we change the able around a bit.
64 * int-handler is not on bootstrap
65 */
66 clear_c0_status(ST0_IM | ST0_BEV);
67
68 rm7k_cpu_irq_init();
69
70 /* set up the cascading interrupts */
71 setup_irq(8, &cascade_mv64340); /* unmask intControl IM8, IRQ 9 */
72 mv64340_irq_init(16);
73
74 set_c0_status(ST0_IM); /* IE in the status register */
75
76}
77
78asmlinkage void plat_irq_dispatch(void)
79{
80 unsigned int pending = read_c0_cause() & read_c0_status();
81
82 if (pending & STATUSF_IP0)
83 do_IRQ(0);
84 else if (pending & STATUSF_IP1)
85 do_IRQ(1);
86 else if (pending & STATUSF_IP2)
87 do_IRQ(2);
88 else if (pending & STATUSF_IP3)
89 do_IRQ(3);
90 else if (pending & STATUSF_IP4)
91 do_IRQ(4);
92 else if (pending & STATUSF_IP5)
93 do_IRQ(5);
94 else if (pending & STATUSF_IP6)
95 do_IRQ(6);
96 else if (pending & STATUSF_IP7)
97 do_IRQ(7);
98 else {
99 /*
100 * Now look at the extended interrupts
101 */
102 pending = (read_c0_cause() & (read_c0_intcontrol() << 8)) >> 16;
103
104 if (pending & STATUSF_IP8)
105 ll_mv64340_irq();
106 else
107 spurious_interrupt();
108 }
109}
diff --git a/arch/mips/momentum/ocelot_3/platform.c b/arch/mips/momentum/ocelot_3/platform.c
deleted file mode 100644
index 44e4c3fc7403..000000000000
--- a/arch/mips/momentum/ocelot_3/platform.c
+++ /dev/null
@@ -1,208 +0,0 @@
1#include <linux/delay.h>
2#include <linux/if_ether.h>
3#include <linux/ioport.h>
4#include <linux/mv643xx.h>
5#include <linux/platform_device.h>
6
7#include "ocelot_3_fpga.h"
8
9#if defined(CONFIG_MV643XX_ETH) || defined(CONFIG_MV643XX_ETH_MODULE)
10
11static struct resource mv643xx_eth_shared_resources[] = {
12 [0] = {
13 .name = "ethernet shared base",
14 .start = 0xf1000000 + MV643XX_ETH_SHARED_REGS,
15 .end = 0xf1000000 + MV643XX_ETH_SHARED_REGS +
16 MV643XX_ETH_SHARED_REGS_SIZE - 1,
17 .flags = IORESOURCE_MEM,
18 },
19};
20
21static struct platform_device mv643xx_eth_shared_device = {
22 .name = MV643XX_ETH_SHARED_NAME,
23 .id = 0,
24 .num_resources = ARRAY_SIZE(mv643xx_eth_shared_resources),
25 .resource = mv643xx_eth_shared_resources,
26};
27
28#define MV_SRAM_BASE 0xfe000000UL
29#define MV_SRAM_SIZE (256 * 1024)
30
31#define MV_SRAM_RXRING_SIZE (MV_SRAM_SIZE / 4)
32#define MV_SRAM_TXRING_SIZE (MV_SRAM_SIZE / 4)
33
34#define MV_SRAM_BASE_ETH0 MV_SRAM_BASE
35#define MV_SRAM_BASE_ETH1 (MV_SRAM_BASE + (MV_SRAM_SIZE / 2))
36
37#define MV64x60_IRQ_ETH_0 48
38#define MV64x60_IRQ_ETH_1 49
39#define MV64x60_IRQ_ETH_2 50
40
41static struct resource mv64x60_eth0_resources[] = {
42 [0] = {
43 .name = "eth0 irq",
44 .start = MV64x60_IRQ_ETH_0,
45 .end = MV64x60_IRQ_ETH_0,
46 .flags = IORESOURCE_IRQ,
47 },
48};
49
50static struct mv643xx_eth_platform_data eth0_pd = {
51 .port_number = 0,
52
53 .tx_sram_addr = MV_SRAM_BASE_ETH0,
54 .tx_sram_size = MV_SRAM_TXRING_SIZE,
55 .tx_queue_size = MV_SRAM_TXRING_SIZE / 16,
56
57 .rx_sram_addr = MV_SRAM_BASE_ETH0 + MV_SRAM_TXRING_SIZE,
58 .rx_sram_size = MV_SRAM_RXRING_SIZE,
59 .rx_queue_size = MV_SRAM_RXRING_SIZE / 16,
60};
61
62static struct platform_device eth0_device = {
63 .name = MV643XX_ETH_NAME,
64 .id = 0,
65 .num_resources = ARRAY_SIZE(mv64x60_eth0_resources),
66 .resource = mv64x60_eth0_resources,
67 .dev = {
68 .platform_data = &eth0_pd,
69 },
70};
71
72static struct resource mv64x60_eth1_resources[] = {
73 [0] = {
74 .name = "eth1 irq",
75 .start = MV64x60_IRQ_ETH_1,
76 .end = MV64x60_IRQ_ETH_1,
77 .flags = IORESOURCE_IRQ,
78 },
79};
80
81static struct mv643xx_eth_platform_data eth1_pd = {
82 .port_number = 1,
83
84 .tx_sram_addr = MV_SRAM_BASE_ETH1,
85 .tx_sram_size = MV_SRAM_TXRING_SIZE,
86 .tx_queue_size = MV_SRAM_TXRING_SIZE / 16,
87
88 .rx_sram_addr = MV_SRAM_BASE_ETH1 + MV_SRAM_TXRING_SIZE,
89 .rx_sram_size = MV_SRAM_RXRING_SIZE,
90 .rx_queue_size = MV_SRAM_RXRING_SIZE / 16,
91};
92
93static struct platform_device eth1_device = {
94 .name = MV643XX_ETH_NAME,
95 .id = 1,
96 .num_resources = ARRAY_SIZE(mv64x60_eth1_resources),
97 .resource = mv64x60_eth1_resources,
98 .dev = {
99 .platform_data = &eth1_pd,
100 },
101};
102
103static struct resource mv64x60_eth2_resources[] = {
104 [0] = {
105 .name = "eth2 irq",
106 .start = MV64x60_IRQ_ETH_2,
107 .end = MV64x60_IRQ_ETH_2,
108 .flags = IORESOURCE_IRQ,
109 },
110};
111
112static struct mv643xx_eth_platform_data eth2_pd = {
113 .port_number = 2,
114};
115
116static struct platform_device eth2_device = {
117 .name = MV643XX_ETH_NAME,
118 .id = 2,
119 .num_resources = ARRAY_SIZE(mv64x60_eth2_resources),
120 .resource = mv64x60_eth2_resources,
121 .dev = {
122 .platform_data = &eth2_pd,
123 },
124};
125
126static struct platform_device *mv643xx_eth_pd_devs[] __initdata = {
127 &mv643xx_eth_shared_device,
128 &eth0_device,
129 &eth1_device,
130 &eth2_device,
131};
132
133static u8 __init exchange_bit(u8 val, u8 cs)
134{
135 /* place the data */
136 OCELOT_FPGA_WRITE((val << 2) | cs, EEPROM_MODE);
137 udelay(1);
138
139 /* turn the clock on */
140 OCELOT_FPGA_WRITE((val << 2) | cs | 0x2, EEPROM_MODE);
141 udelay(1);
142
143 /* turn the clock off and read-strobe */
144 OCELOT_FPGA_WRITE((val << 2) | cs | 0x10, EEPROM_MODE);
145
146 /* return the data */
147 return (OCELOT_FPGA_READ(EEPROM_MODE) >> 3) & 0x1;
148}
149
150static void __init get_mac(char dest[6])
151{
152 u8 read_opcode[12] = {1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
153 int i,j;
154
155 for (i = 0; i < 12; i++)
156 exchange_bit(read_opcode[i], 1);
157
158 for (j = 0; j < 6; j++) {
159 dest[j] = 0;
160 for (i = 0; i < 8; i++) {
161 dest[j] <<= 1;
162 dest[j] |= exchange_bit(0, 1);
163 }
164 }
165
166 /* turn off CS */
167 exchange_bit(0,0);
168}
169
170/*
171 * Copy and increment ethernet MAC address by a small value.
172 *
173 * This is useful for systems where the only one MAC address is stored in
174 * non-volatile memory for multiple ports.
175 */
176static inline void eth_mac_add(unsigned char *dst, unsigned char *src,
177 unsigned int add)
178{
179 int i;
180
181 BUG_ON(add >= 256);
182
183 for (i = ETH_ALEN; i >= 0; i--) {
184 dst[i] = src[i] + add;
185 add = dst[i] < src[i]; /* compute carry */
186 }
187
188 WARN_ON(add);
189}
190
191static int __init mv643xx_eth_add_pds(void)
192{
193 unsigned char mac[ETH_ALEN];
194 int ret;
195
196 get_mac(mac);
197 eth_mac_add(eth0_pd.mac_addr, mac, 0);
198 eth_mac_add(eth1_pd.mac_addr, mac, 1);
199 eth_mac_add(eth2_pd.mac_addr, mac, 2);
200 ret = platform_add_devices(mv643xx_eth_pd_devs,
201 ARRAY_SIZE(mv643xx_eth_pd_devs));
202
203 return ret;
204}
205
206device_initcall(mv643xx_eth_add_pds);
207
208#endif /* defined(CONFIG_MV643XX_ETH) || defined(CONFIG_MV643XX_ETH_MODULE) */
diff --git a/arch/mips/momentum/ocelot_3/prom.c b/arch/mips/momentum/ocelot_3/prom.c
deleted file mode 100644
index 8e02df63578a..000000000000
--- a/arch/mips/momentum/ocelot_3/prom.c
+++ /dev/null
@@ -1,189 +0,0 @@
1/*
2 * Copyright 2002 Momentum Computer Inc.
3 * Author: Matthew Dharm <mdharm@momenco.com>
4 *
5 * Louis Hamilton, Red Hat, Inc.
6 * hamilton@redhat.com [MIPS64 modifications]
7 *
8 * Copyright 2004 PMC-Sierra
9 * Author: Manish Lachwani (lachwani@pmc-sierra.com)
10 *
11 * Based on Ocelot Linux port, which is
12 * Copyright 2001 MontaVista Software Inc.
13 * Author: jsun@mvista.com or jsun@junsun.net
14 *
15 * This program is free software; you can redistribute it and/or modify it
16 * under the terms of the GNU General Public License as published by the
17 * Free Software Foundation; either version 2 of the License, or (at your
18 * option) any later version.
19 *
20 * Copyright (C) 2004 MontaVista Software Inc.
21 * Author: Manish Lachwani, mlachwani@mvista.com
22 *
23 */
24#include <linux/init.h>
25#include <linux/bootmem.h>
26#include <linux/mv643xx.h>
27
28#include <asm/addrspace.h>
29#include <asm/bootinfo.h>
30#include <asm/pmon.h>
31#include "ocelot_3_fpga.h"
32
33struct callvectors* debug_vectors;
34extern unsigned long marvell_base;
35extern unsigned long cpu_clock;
36
37const char *get_system_type(void)
38{
39 return "Momentum Ocelot-3";
40}
41
42#ifdef CONFIG_64BIT
43
44unsigned long signext(unsigned long addr)
45{
46 addr &= 0xffffffff;
47 return (unsigned long)((int)addr);
48}
49
50void *get_arg(unsigned long args, int arc)
51{
52 unsigned long ul;
53 unsigned char *puc, uc;
54
55 args += (arc * 4);
56 ul = (unsigned long)signext(args);
57 puc = (unsigned char *)ul;
58 if (puc == 0)
59 return (void *)0;
60
61#ifdef CONFIG_CPU_LITTLE_ENDIAN
62 uc = *puc++;
63 ul = (unsigned long)uc;
64 uc = *puc++;
65 ul |= (((unsigned long)uc) << 8);
66 uc = *puc++;
67 ul |= (((unsigned long)uc) << 16);
68 uc = *puc++;
69 ul |= (((unsigned long)uc) << 24);
70#else /* CONFIG_CPU_LITTLE_ENDIAN */
71 uc = *puc++;
72 ul = ((unsigned long)uc) << 24;
73 uc = *puc++;
74 ul |= (((unsigned long)uc) << 16);
75 uc = *puc++;
76 ul |= (((unsigned long)uc) << 8);
77 uc = *puc++;
78 ul |= ((unsigned long)uc);
79#endif /* CONFIG_CPU_LITTLE_ENDIAN */
80 ul = signext(ul);
81 return (void *)ul;
82}
83
84char *arg64(unsigned long addrin, int arg_index)
85{
86 unsigned long args;
87 char *p;
88
89 args = signext(addrin);
90 p = (char *)get_arg(args, arg_index);
91
92 return p;
93}
94#endif /* CONFIG_64BIT */
95
96void __init prom_init(void)
97{
98 int argc = fw_arg0;
99 char **arg = (char **) fw_arg1;
100 char **env = (char **) fw_arg2;
101 struct callvectors *cv = (struct callvectors *) fw_arg3;
102 int i;
103
104#ifdef CONFIG_64BIT
105 char *ptr;
106 printk("prom_init - MIPS64\n");
107
108 /* save the PROM vectors for debugging use */
109 debug_vectors = (struct callvectors *)signext((unsigned long)cv);
110
111 /* arg[0] is "g", the rest is boot parameters */
112 arcs_cmdline[0] = '\0';
113
114 for (i = 1; i < argc; i++) {
115 ptr = (char *)arg64((unsigned long)arg, i);
116 if ((strlen(arcs_cmdline) + strlen(ptr) + 1) >=
117 sizeof(arcs_cmdline))
118 break;
119 strcat(arcs_cmdline, ptr);
120 strcat(arcs_cmdline, " ");
121 }
122 i = 0;
123
124 while (1) {
125 ptr = (char *)arg64((unsigned long)env, i);
126 if (! ptr)
127 break;
128
129 if (strncmp("gtbase", ptr, strlen("gtbase")) == 0) {
130 marvell_base = simple_strtol(ptr + strlen("gtbase="),
131 NULL, 16);
132
133 if ((marvell_base & 0xffffffff00000000) == 0)
134 marvell_base |= 0xffffffff00000000;
135
136 printk("marvell_base set to 0x%016lx\n", marvell_base);
137 }
138 if (strncmp("cpuclock", ptr, strlen("cpuclock")) == 0) {
139 cpu_clock = simple_strtol(ptr + strlen("cpuclock="),
140 NULL, 10);
141 printk("cpu_clock set to %d\n", cpu_clock);
142 }
143 i++;
144 }
145 printk("arcs_cmdline: %s\n", arcs_cmdline);
146
147#else /* CONFIG_64BIT */
148
149 /* save the PROM vectors for debugging use */
150 debug_vectors = cv;
151
152 /* arg[0] is "g", the rest is boot parameters */
153 arcs_cmdline[0] = '\0';
154 for (i = 1; i < argc; i++) {
155 if (strlen(arcs_cmdline) + strlen(arg[i] + 1)
156 >= sizeof(arcs_cmdline))
157 break;
158 strcat(arcs_cmdline, arg[i]);
159 strcat(arcs_cmdline, " ");
160 }
161
162 while (*env) {
163 if (strncmp("gtbase", *env, strlen("gtbase")) == 0) {
164 marvell_base = simple_strtol(*env + strlen("gtbase="),
165 NULL, 16);
166 }
167 if (strncmp("cpuclock", *env, strlen("cpuclock")) == 0) {
168 cpu_clock = simple_strtol(*env + strlen("cpuclock="),
169 NULL, 10);
170 }
171 env++;
172 }
173#endif /* CONFIG_64BIT */
174
175 mips_machgroup = MACH_GROUP_MOMENCO;
176 mips_machtype = MACH_MOMENCO_OCELOT_3;
177
178#ifndef CONFIG_64BIT
179 debug_vectors->printf("Booting Linux kernel...\n");
180#endif
181}
182
183void __init prom_free_prom_memory(void)
184{
185}
186
187void __init prom_fixup_mem_map(unsigned long start, unsigned long end)
188{
189}
diff --git a/arch/mips/momentum/ocelot_3/reset.c b/arch/mips/momentum/ocelot_3/reset.c
deleted file mode 100644
index 9d86d2468376..000000000000
--- a/arch/mips/momentum/ocelot_3/reset.c
+++ /dev/null
@@ -1,59 +0,0 @@
1/*
2 * This program is free software; you can redistribute it and/or modify it
3 * under the terms of the GNU General Public License as published by the
4 * Free Software Foundation; either version 2 of the License, or (at your
5 * option) any later version.
6 *
7 * Copyright (C) 1997, 01, 05 Ralf Baechle
8 * Copyright 2001 MontaVista Software Inc.
9 * Author: jsun@mvista.com or jsun@junsun.net
10 *
11 * Copyright (C) 2002 Momentum Computer Inc.
12 * Author: Matthew Dharm <mdharm@momenco.com>
13 *
14 * Louis Hamilton, Red Hat, Inc.
15 * hamilton@redhat.com [MIPS64 modifications]
16 *
17 * Copyright 2004 PMC-Sierra
18 * Author: Manish Lachwani (lachwani@pmc-sierra.com)
19 *
20 * Copyright (C) 2004 MontaVista Software Inc.
21 * Author: Manish Lachwani, mlachwani@mvista.com
22 */
23#include <linux/sched.h>
24#include <linux/mm.h>
25#include <linux/delay.h>
26#include <asm/io.h>
27#include <asm/pgtable.h>
28#include <asm/processor.h>
29#include <asm/reboot.h>
30#include <asm/system.h>
31
32void momenco_ocelot_restart(char *command)
33{
34 /* base address of timekeeper portion of part */
35 void *nvram = (void *) 0xfc807000L;
36
37 /* Ask the NVRAM/RTC/watchdog chip to assert reset in 1/16 second */
38 writeb(0x84, nvram + 0xff7);
39
40 /* wait for the watchdog to go off */
41 mdelay(100+(1000/16));
42
43 /* if the watchdog fails for some reason, let people know */
44 printk(KERN_NOTICE "Watchdog reset failed\n");
45}
46
47void momenco_ocelot_halt(void)
48{
49 printk(KERN_NOTICE "\n** You can safely turn off the power\n");
50 while (1)
51 __asm__(".set\tmips3\n\t"
52 "wait\n\t"
53 ".set\tmips0");
54}
55
56void momenco_ocelot_power_off(void)
57{
58 momenco_ocelot_halt();
59}
diff --git a/arch/mips/momentum/ocelot_3/setup.c b/arch/mips/momentum/ocelot_3/setup.c
deleted file mode 100644
index ff0829f81116..000000000000
--- a/arch/mips/momentum/ocelot_3/setup.c
+++ /dev/null
@@ -1,398 +0,0 @@
1/*
2 * setup.c
3 *
4 * BRIEF MODULE DESCRIPTION
5 * Momentum Computer Ocelot-3 board dependent boot routines
6 *
7 * Copyright (C) 1996, 1997, 01, 05 - 06 Ralf Baechle
8 * Copyright (C) 2000 RidgeRun, Inc.
9 * Copyright (C) 2001 Red Hat, Inc.
10 * Copyright (C) 2002 Momentum Computer
11 *
12 * Author: Matthew Dharm, Momentum Computer
13 * mdharm@momenco.com
14 *
15 * Louis Hamilton, Red Hat, Inc.
16 * hamilton@redhat.com [MIPS64 modifications]
17 *
18 * Author: RidgeRun, Inc.
19 * glonnon@ridgerun.com, skranz@ridgerun.com, stevej@ridgerun.com
20 *
21 * Copyright 2001 MontaVista Software Inc.
22 * Author: jsun@mvista.com or jsun@junsun.net
23 *
24 * Copyright 2004 PMC-Sierra
25 * Author: Manish Lachwani (lachwani@pmc-sierra.com)
26 *
27 * Copyright (C) 2004 MontaVista Software Inc.
28 * Author: Manish Lachwani, mlachwani@mvista.com
29 *
30 * This program is free software; you can redistribute it and/or modify it
31 * under the terms of the GNU General Public License as published by the
32 * Free Software Foundation; either version 2 of the License, or (at your
33 * option) any later version.
34 *
35 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
36 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
37 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN
38 * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
39 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
40 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
41 * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
42 * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
43 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
44 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
45 *
46 * You should have received a copy of the GNU General Public License along
47 * with this program; if not, write to the Free Software Foundation, Inc.,
48 * 675 Mass Ave, Cambridge, MA 02139, USA.
49 */
50#include <linux/init.h>
51#include <linux/kernel.h>
52#include <linux/types.h>
53#include <linux/mc146818rtc.h>
54#include <linux/ioport.h>
55#include <linux/interrupt.h>
56#include <linux/pci.h>
57#include <linux/timex.h>
58#include <linux/bootmem.h>
59#include <linux/mv643xx.h>
60#include <linux/pm.h>
61#include <linux/bcd.h>
62
63#include <asm/time.h>
64#include <asm/page.h>
65#include <asm/bootinfo.h>
66#include <asm/io.h>
67#include <asm/irq.h>
68#include <asm/pci.h>
69#include <asm/processor.h>
70#include <asm/reboot.h>
71#include <asm/mc146818rtc.h>
72#include <asm/tlbflush.h>
73#include "ocelot_3_fpga.h"
74
75/* Marvell Discovery Register Base */
76unsigned long marvell_base = (signed)0xf4000000;
77
78/* CPU clock */
79unsigned long cpu_clock;
80
81/* RTC/NVRAM */
82unsigned char* rtc_base = (unsigned char*)(signed)0xfc800000;
83
84/* FPGA Base */
85unsigned long ocelot_fpga_base = (signed)0xfc000000;
86
87/* Serial base */
88unsigned long uart_base = (signed)0xfd000000;
89
90/*
91 * Marvell Discovery SRAM. This is one place where Ethernet
92 * Tx and Rx descriptors can be placed to improve performance
93 */
94extern unsigned long mv64340_sram_base;
95
96/* These functions are used for rebooting or halting the machine*/
97extern void momenco_ocelot_restart(char *command);
98extern void momenco_ocelot_halt(void);
99extern void momenco_ocelot_power_off(void);
100
101void momenco_time_init(void);
102static char reset_reason;
103
104void add_wired_entry(unsigned long entrylo0, unsigned long entrylo1,
105 unsigned long entryhi, unsigned long pagemask);
106
107static inline unsigned long ENTRYLO(unsigned long paddr)
108{
109 return ((paddr & PAGE_MASK) |
110 (_PAGE_PRESENT | __READABLE | __WRITEABLE | _PAGE_GLOBAL |
111 _CACHE_UNCACHED)) >> 6;
112}
113
114void __init bus_error_init(void)
115{
116 /* nothing */
117}
118
119/*
120 * setup code for a handoff from a version 2 PMON 2000 PROM
121 */
122void setup_wired_tlb_entries(void)
123{
124 write_c0_wired(0);
125 local_flush_tlb_all();
126
127 /* marvell and extra space */
128 add_wired_entry(ENTRYLO(0xf4000000), ENTRYLO(0xf4010000), (signed)0xf4000000, PM_64K);
129
130 /* fpga, rtc, and uart */
131 add_wired_entry(ENTRYLO(0xfc000000), ENTRYLO(0xfd000000), (signed)0xfc000000, PM_16M);
132}
133
134unsigned long m48t37y_get_time(void)
135{
136 unsigned int year, month, day, hour, min, sec;
137 unsigned long flags;
138
139 spin_lock_irqsave(&rtc_lock, flags);
140 /* stop the update */
141 rtc_base[0x7ff8] = 0x40;
142
143 year = BCD2BIN(rtc_base[0x7fff]);
144 year += BCD2BIN(rtc_base[0x7ff1]) * 100;
145
146 month = BCD2BIN(rtc_base[0x7ffe]);
147
148 day = BCD2BIN(rtc_base[0x7ffd]);
149
150 hour = BCD2BIN(rtc_base[0x7ffb]);
151 min = BCD2BIN(rtc_base[0x7ffa]);
152 sec = BCD2BIN(rtc_base[0x7ff9]);
153
154 /* start the update */
155 rtc_base[0x7ff8] = 0x00;
156 spin_unlock_irqrestore(&rtc_lock, flags);
157
158 return mktime(year, month, day, hour, min, sec);
159}
160
161int m48t37y_set_time(unsigned long sec)
162{
163 struct rtc_time tm;
164 unsigned long flags;
165
166 /* convert to a more useful format -- note months count from 0 */
167 to_tm(sec, &tm);
168 tm.tm_mon += 1;
169
170 spin_lock_irqsave(&rtc_lock, flags);
171 /* enable writing */
172 rtc_base[0x7ff8] = 0x80;
173
174 /* year */
175 rtc_base[0x7fff] = BIN2BCD(tm.tm_year % 100);
176 rtc_base[0x7ff1] = BIN2BCD(tm.tm_year / 100);
177
178 /* month */
179 rtc_base[0x7ffe] = BIN2BCD(tm.tm_mon);
180
181 /* day */
182 rtc_base[0x7ffd] = BIN2BCD(tm.tm_mday);
183
184 /* hour/min/sec */
185 rtc_base[0x7ffb] = BIN2BCD(tm.tm_hour);
186 rtc_base[0x7ffa] = BIN2BCD(tm.tm_min);
187 rtc_base[0x7ff9] = BIN2BCD(tm.tm_sec);
188
189 /* day of week -- not really used, but let's keep it up-to-date */
190 rtc_base[0x7ffc] = BIN2BCD(tm.tm_wday + 1);
191
192 /* disable writing */
193 rtc_base[0x7ff8] = 0x00;
194 spin_unlock_irqrestore(&rtc_lock, flags);
195
196 return 0;
197}
198
199void __init plat_timer_setup(struct irqaction *irq)
200{
201 setup_irq(7, irq); /* Timer interrupt, unmask status IM7 */
202}
203
204void momenco_time_init(void)
205{
206 setup_wired_tlb_entries();
207
208 /*
209 * Ocelot-3 board has been built with both
210 * the Rm7900 and the Rm7065C
211 */
212 mips_hpt_frequency = cpu_clock / 2;
213
214 rtc_mips_get_time = m48t37y_get_time;
215 rtc_mips_set_time = m48t37y_set_time;
216}
217
218/*
219 * PCI Support for Ocelot-3
220 */
221
222/* Bus #0 IO and MEM space */
223#define OCELOT_3_PCI_IO_0_START 0xe0000000
224#define OCELOT_3_PCI_IO_0_SIZE 0x08000000
225#define OCELOT_3_PCI_MEM_0_START 0xc0000000
226#define OCELOT_3_PCI_MEM_0_SIZE 0x10000000
227
228/* Bus #1 IO and MEM space */
229#define OCELOT_3_PCI_IO_1_START 0xe8000000
230#define OCELOT_3_PCI_IO_1_SIZE 0x08000000
231#define OCELOT_3_PCI_MEM_1_START 0xd0000000
232#define OCELOT_3_PCI_MEM_1_SIZE 0x10000000
233
234static struct resource mv_pci_io_mem0_resource = {
235 .name = "MV64340 PCI0 IO MEM",
236 .start = OCELOT_3_PCI_IO_0_START,
237 .end = OCELOT_3_PCI_IO_0_START + OCELOT_3_PCI_IO_0_SIZE - 1,
238 .flags = IORESOURCE_IO,
239};
240
241static struct resource mv_pci_io_mem1_resource = {
242 .name = "MV64340 PCI1 IO MEM",
243 .start = OCELOT_3_PCI_IO_1_START,
244 .end = OCELOT_3_PCI_IO_1_START + OCELOT_3_PCI_IO_1_SIZE - 1,
245 .flags = IORESOURCE_IO,
246};
247
248static struct resource mv_pci_mem0_resource = {
249 .name = "MV64340 PCI0 MEM",
250 .start = OCELOT_3_PCI_MEM_0_START,
251 .end = OCELOT_3_PCI_MEM_0_START + OCELOT_3_PCI_MEM_0_SIZE - 1,
252 .flags = IORESOURCE_MEM,
253};
254
255static struct resource mv_pci_mem1_resource = {
256 .name = "MV64340 PCI1 MEM",
257 .start = OCELOT_3_PCI_MEM_1_START,
258 .end = OCELOT_3_PCI_MEM_1_START + OCELOT_3_PCI_MEM_1_SIZE - 1,
259 .flags = IORESOURCE_MEM,
260};
261
262static struct mv_pci_controller mv_bus0_controller = {
263 .pcic = {
264 .pci_ops = &mv_pci_ops,
265 .mem_resource = &mv_pci_mem0_resource,
266 .io_resource = &mv_pci_io_mem0_resource,
267 },
268 .config_addr = MV64340_PCI_0_CONFIG_ADDR,
269 .config_vreg = MV64340_PCI_0_CONFIG_DATA_VIRTUAL_REG,
270};
271
272static struct mv_pci_controller mv_bus1_controller = {
273 .pcic = {
274 .pci_ops = &mv_pci_ops,
275 .mem_resource = &mv_pci_mem1_resource,
276 .io_resource = &mv_pci_io_mem1_resource,
277 },
278 .config_addr = MV64340_PCI_1_CONFIG_ADDR,
279 .config_vreg = MV64340_PCI_1_CONFIG_DATA_VIRTUAL_REG,
280};
281
282static __init int __init ja_pci_init(void)
283{
284 uint32_t enable;
285 extern int pci_probe_only;
286
287 /* PMON will assign PCI resources */
288 pci_probe_only = 1;
289
290 enable = ~MV_READ(MV64340_BASE_ADDR_ENABLE);
291 /*
292 * We require at least one enabled I/O or PCI memory window or we
293 * will ignore this PCI bus. We ignore PCI windows 1, 2 and 3.
294 */
295 if (enable & (0x01 << 9) || enable & (0x01 << 10))
296 register_pci_controller(&mv_bus0_controller.pcic);
297
298 if (enable & (0x01 << 14) || enable & (0x01 << 15))
299 register_pci_controller(&mv_bus1_controller.pcic);
300
301 ioport_resource.end = OCELOT_3_PCI_IO_0_START + OCELOT_3_PCI_IO_0_SIZE +
302 OCELOT_3_PCI_IO_1_SIZE - 1;
303
304 iomem_resource.end = OCELOT_3_PCI_MEM_0_START + OCELOT_3_PCI_MEM_0_SIZE +
305 OCELOT_3_PCI_MEM_1_SIZE - 1;
306
307 set_io_port_base(OCELOT_3_PCI_IO_0_START); /* mips_io_port_base */
308
309 return 0;
310}
311
312arch_initcall(ja_pci_init);
313
314void __init plat_mem_setup(void)
315{
316 unsigned int tmpword;
317
318 board_time_init = momenco_time_init;
319
320 _machine_restart = momenco_ocelot_restart;
321 _machine_halt = momenco_ocelot_halt;
322 pm_power_off = momenco_ocelot_power_off;
323
324 /* Wired TLB entries */
325 setup_wired_tlb_entries();
326
327 /* shut down ethernet ports, just to be sure our memory doesn't get
328 * corrupted by random ethernet traffic.
329 */
330 MV_WRITE(MV643XX_ETH_TRANSMIT_QUEUE_COMMAND_REG(0), 0xff << 8);
331 MV_WRITE(MV643XX_ETH_TRANSMIT_QUEUE_COMMAND_REG(1), 0xff << 8);
332 MV_WRITE(MV643XX_ETH_RECEIVE_QUEUE_COMMAND_REG(0), 0xff << 8);
333 MV_WRITE(MV643XX_ETH_RECEIVE_QUEUE_COMMAND_REG(1), 0xff << 8);
334 do {}
335 while (MV_READ(MV643XX_ETH_RECEIVE_QUEUE_COMMAND_REG(0)) & 0xff);
336 do {}
337 while (MV_READ(MV643XX_ETH_RECEIVE_QUEUE_COMMAND_REG(1)) & 0xff);
338 do {}
339 while (MV_READ(MV643XX_ETH_TRANSMIT_QUEUE_COMMAND_REG(0)) & 0xff);
340 do {}
341 while (MV_READ(MV643XX_ETH_TRANSMIT_QUEUE_COMMAND_REG(1)) & 0xff);
342 MV_WRITE(MV643XX_ETH_PORT_SERIAL_CONTROL_REG(0),
343 MV_READ(MV643XX_ETH_PORT_SERIAL_CONTROL_REG(0)) & ~1);
344 MV_WRITE(MV643XX_ETH_PORT_SERIAL_CONTROL_REG(1),
345 MV_READ(MV643XX_ETH_PORT_SERIAL_CONTROL_REG(1)) & ~1);
346
347 /* Turn off the Bit-Error LED */
348 OCELOT_FPGA_WRITE(0x80, CLR);
349
350 tmpword = OCELOT_FPGA_READ(BOARDREV);
351 if (tmpword < 26)
352 printk("Momenco Ocelot-3: Board Assembly Rev. %c\n",
353 'A'+tmpword);
354 else
355 printk("Momenco Ocelot-3: Board Assembly Revision #0x%x\n",
356 tmpword);
357
358 tmpword = OCELOT_FPGA_READ(FPGA_REV);
359 printk("FPGA Rev: %d.%d\n", tmpword>>4, tmpword&15);
360 tmpword = OCELOT_FPGA_READ(RESET_STATUS);
361 printk("Reset reason: 0x%x\n", tmpword);
362 switch (tmpword) {
363 case 0x1:
364 printk(" - Power-up reset\n");
365 break;
366 case 0x2:
367 printk(" - Push-button reset\n");
368 break;
369 case 0x4:
370 printk(" - cPCI bus reset\n");
371 break;
372 case 0x8:
373 printk(" - Watchdog reset\n");
374 break;
375 case 0x10:
376 printk(" - Software reset\n");
377 break;
378 default:
379 printk(" - Unknown reset cause\n");
380 }
381 reset_reason = tmpword;
382 OCELOT_FPGA_WRITE(0xff, RESET_STATUS);
383
384 tmpword = OCELOT_FPGA_READ(CPCI_ID);
385 printk("cPCI ID register: 0x%02x\n", tmpword);
386 printk(" - Slot number: %d\n", tmpword & 0x1f);
387 printk(" - PCI bus present: %s\n", tmpword & 0x40 ? "yes" : "no");
388 printk(" - System Slot: %s\n", tmpword & 0x20 ? "yes" : "no");
389
390 tmpword = OCELOT_FPGA_READ(BOARD_STATUS);
391 printk("Board Status register: 0x%02x\n", tmpword);
392 printk(" - User jumper: %s\n", (tmpword & 0x80)?"installed":"absent");
393 printk(" - Boot flash write jumper: %s\n", (tmpword&0x40)?"installed":"absent");
394 printk(" - L3 cache size: %d MB\n", (1<<((tmpword&12) >> 2))&~1);
395
396 /* Support for 128 MB memory */
397 add_memory_region(0x0, 0x08000000, BOOT_MEM_RAM);
398}
diff --git a/arch/mips/momentum/ocelot_c/Makefile b/arch/mips/momentum/ocelot_c/Makefile
deleted file mode 100644
index d69161aa1675..000000000000
--- a/arch/mips/momentum/ocelot_c/Makefile
+++ /dev/null
@@ -1,8 +0,0 @@
1#
2# Makefile for Momentum Computer's Ocelot-C and -CS boards.
3#
4
5obj-y += cpci-irq.o irq.o platform.o prom.o reset.o \
6 setup.o uart-irq.o
7
8obj-$(CONFIG_KGDB) += dbg_io.o
diff --git a/arch/mips/momentum/ocelot_c/cpci-irq.c b/arch/mips/momentum/ocelot_c/cpci-irq.c
deleted file mode 100644
index 186a140fd2a9..000000000000
--- a/arch/mips/momentum/ocelot_c/cpci-irq.c
+++ /dev/null
@@ -1,100 +0,0 @@
1/*
2 * Copyright 2002 Momentum Computer
3 * Author: mdharm@momenco.com
4 *
5 * arch/mips/momentum/ocelot_c/cpci-irq.c
6 * Interrupt routines for cpci. Interrupt numbers are assigned from
7 * CPCI_IRQ_BASE to CPCI_IRQ_BASE+8 (8 interrupt sources).
8 *
9 * Note that the high-level software will need to be careful about using
10 * these interrupts. If this board is asserting a cPCI interrupt, it will
11 * also see the asserted interrupt. Care must be taken to avoid an
12 * interrupt flood.
13 *
14 * This program is free software; you can redistribute it and/or modify it
15 * under the terms of the GNU General Public License as published by the
16 * Free Software Foundation; either version 2 of the License, or (at your
17 * option) any later version.
18 */
19
20#include <linux/module.h>
21#include <linux/interrupt.h>
22#include <linux/irq.h>
23#include <linux/kernel.h>
24#include <linux/sched.h>
25#include <linux/kernel_stat.h>
26#include <asm/io.h>
27#include "ocelot_c_fpga.h"
28
29#define CPCI_IRQ_BASE 8
30
31static inline int ls1bit8(unsigned int x)
32{
33 int b = 7, s;
34
35 s = 4; if (((unsigned char)(x << 4)) == 0) s = 0; b -= s; x <<= s;
36 s = 2; if (((unsigned char)(x << 2)) == 0) s = 0; b -= s; x <<= s;
37 s = 1; if (((unsigned char)(x << 1)) == 0) s = 0; b -= s;
38
39 return b;
40}
41
42/* mask off an interrupt -- 0 is enable, 1 is disable */
43static inline void mask_cpci_irq(unsigned int irq)
44{
45 uint32_t value;
46
47 value = OCELOT_FPGA_READ(INTMASK);
48 value |= 1 << (irq - CPCI_IRQ_BASE);
49 OCELOT_FPGA_WRITE(value, INTMASK);
50
51 /* read the value back to assure that it's really been written */
52 value = OCELOT_FPGA_READ(INTMASK);
53}
54
55/* unmask an interrupt -- 0 is enable, 1 is disable */
56static inline void unmask_cpci_irq(unsigned int irq)
57{
58 uint32_t value;
59
60 value = OCELOT_FPGA_READ(INTMASK);
61 value &= ~(1 << (irq - CPCI_IRQ_BASE));
62 OCELOT_FPGA_WRITE(value, INTMASK);
63
64 /* read the value back to assure that it's really been written */
65 value = OCELOT_FPGA_READ(INTMASK);
66}
67
68/*
69 * Interrupt handler for interrupts coming from the FPGA chip.
70 * It could be built in ethernet ports etc...
71 */
72void ll_cpci_irq(void)
73{
74 unsigned int irq_src, irq_mask;
75
76 /* read the interrupt status registers */
77 irq_src = OCELOT_FPGA_READ(INTSTAT);
78 irq_mask = OCELOT_FPGA_READ(INTMASK);
79
80 /* mask for just the interrupts we want */
81 irq_src &= ~irq_mask;
82
83 do_IRQ(ls1bit8(irq_src) + CPCI_IRQ_BASE);
84}
85
86struct irq_chip cpci_irq_type = {
87 .name = "CPCI/FPGA",
88 .ack = mask_cpci_irq,
89 .mask = mask_cpci_irq,
90 .mask_ack = mask_cpci_irq,
91 .unmask = unmask_cpci_irq,
92};
93
94void cpci_irq_init(void)
95{
96 int i;
97
98 for (i = CPCI_IRQ_BASE; i < (CPCI_IRQ_BASE + 8); i++)
99 set_irq_chip_and_handler(i, &cpci_irq_type, handle_level_irq);
100}
diff --git a/arch/mips/momentum/ocelot_c/dbg_io.c b/arch/mips/momentum/ocelot_c/dbg_io.c
deleted file mode 100644
index 32d6fb4ee679..000000000000
--- a/arch/mips/momentum/ocelot_c/dbg_io.c
+++ /dev/null
@@ -1,121 +0,0 @@
1
2#include <asm/serial.h> /* For the serial port location and base baud */
3
4/* --- CONFIG --- */
5
6typedef unsigned char uint8;
7typedef unsigned int uint32;
8
9/* --- END OF CONFIG --- */
10
11#define UART16550_BAUD_2400 2400
12#define UART16550_BAUD_4800 4800
13#define UART16550_BAUD_9600 9600
14#define UART16550_BAUD_19200 19200
15#define UART16550_BAUD_38400 38400
16#define UART16550_BAUD_57600 57600
17#define UART16550_BAUD_115200 115200
18
19#define UART16550_PARITY_NONE 0
20#define UART16550_PARITY_ODD 0x08
21#define UART16550_PARITY_EVEN 0x18
22#define UART16550_PARITY_MARK 0x28
23#define UART16550_PARITY_SPACE 0x38
24
25#define UART16550_DATA_5BIT 0x0
26#define UART16550_DATA_6BIT 0x1
27#define UART16550_DATA_7BIT 0x2
28#define UART16550_DATA_8BIT 0x3
29
30#define UART16550_STOP_1BIT 0x0
31#define UART16550_STOP_2BIT 0x4
32
33/* ----------------------------------------------------- */
34
35/* === CONFIG === */
36
37/* [jsun] we use the second serial port for kdb */
38#define BASE OCELOT_SERIAL1_BASE
39#define MAX_BAUD OCELOT_BASE_BAUD
40
41/* === END OF CONFIG === */
42
43#define REG_OFFSET 4
44
45/* register offset */
46#define OFS_RCV_BUFFER 0
47#define OFS_TRANS_HOLD 0
48#define OFS_SEND_BUFFER 0
49#define OFS_INTR_ENABLE (1*REG_OFFSET)
50#define OFS_INTR_ID (2*REG_OFFSET)
51#define OFS_DATA_FORMAT (3*REG_OFFSET)
52#define OFS_LINE_CONTROL (3*REG_OFFSET)
53#define OFS_MODEM_CONTROL (4*REG_OFFSET)
54#define OFS_RS232_OUTPUT (4*REG_OFFSET)
55#define OFS_LINE_STATUS (5*REG_OFFSET)
56#define OFS_MODEM_STATUS (6*REG_OFFSET)
57#define OFS_RS232_INPUT (6*REG_OFFSET)
58#define OFS_SCRATCH_PAD (7*REG_OFFSET)
59
60#define OFS_DIVISOR_LSB (0*REG_OFFSET)
61#define OFS_DIVISOR_MSB (1*REG_OFFSET)
62
63
64/* memory-mapped read/write of the port */
65#define UART16550_READ(y) (*((volatile uint8*)(BASE + y)))
66#define UART16550_WRITE(y, z) ((*((volatile uint8*)(BASE + y))) = z)
67
68void debugInit(uint32 baud, uint8 data, uint8 parity, uint8 stop)
69{
70 /* disable interrupts */
71 UART16550_WRITE(OFS_INTR_ENABLE, 0);
72
73 /* set up baud rate */
74 {
75 uint32 divisor;
76
77 /* set DIAB bit */
78 UART16550_WRITE(OFS_LINE_CONTROL, 0x80);
79
80 /* set divisor */
81 divisor = MAX_BAUD / baud;
82 UART16550_WRITE(OFS_DIVISOR_LSB, divisor & 0xff);
83 UART16550_WRITE(OFS_DIVISOR_MSB, (divisor & 0xff00) >> 8);
84
85 /* clear DIAB bit */
86 UART16550_WRITE(OFS_LINE_CONTROL, 0x0);
87 }
88
89 /* set data format */
90 UART16550_WRITE(OFS_DATA_FORMAT, data | parity | stop);
91}
92
93static int remoteDebugInitialized = 0;
94
95uint8 getDebugChar(void)
96{
97 if (!remoteDebugInitialized) {
98 remoteDebugInitialized = 1;
99 debugInit(UART16550_BAUD_38400,
100 UART16550_DATA_8BIT,
101 UART16550_PARITY_NONE, UART16550_STOP_1BIT);
102 }
103
104 while ((UART16550_READ(OFS_LINE_STATUS) & 0x1) == 0);
105 return UART16550_READ(OFS_RCV_BUFFER);
106}
107
108
109int putDebugChar(uint8 byte)
110{
111 if (!remoteDebugInitialized) {
112 remoteDebugInitialized = 1;
113 debugInit(UART16550_BAUD_38400,
114 UART16550_DATA_8BIT,
115 UART16550_PARITY_NONE, UART16550_STOP_1BIT);
116 }
117
118 while ((UART16550_READ(OFS_LINE_STATUS) & 0x20) == 0);
119 UART16550_WRITE(OFS_SEND_BUFFER, byte);
120 return 1;
121}
diff --git a/arch/mips/momentum/ocelot_c/irq.c b/arch/mips/momentum/ocelot_c/irq.c
deleted file mode 100644
index 844d566c9de3..000000000000
--- a/arch/mips/momentum/ocelot_c/irq.c
+++ /dev/null
@@ -1,107 +0,0 @@
1/*
2 * Copyright (C) 2000 RidgeRun, Inc.
3 * Author: RidgeRun, Inc.
4 * glonnon@ridgerun.com, skranz@ridgerun.com, stevej@ridgerun.com
5 *
6 * Copyright 2001 MontaVista Software Inc.
7 * Author: Jun Sun, jsun@mvista.com or jsun@junsun.net
8 * Copyright (C) 2000, 01, 05 Ralf Baechle (ralf@linux-mips.org)
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/errno.h>
32#include <linux/init.h>
33#include <linux/kernel_stat.h>
34#include <linux/module.h>
35#include <linux/signal.h>
36#include <linux/sched.h>
37#include <linux/types.h>
38#include <linux/interrupt.h>
39#include <linux/ioport.h>
40#include <linux/timex.h>
41#include <linux/slab.h>
42#include <linux/random.h>
43#include <linux/bitops.h>
44#include <linux/mv643xx.h>
45#include <asm/bootinfo.h>
46#include <asm/io.h>
47#include <asm/irq_cpu.h>
48#include <asm/mipsregs.h>
49#include <asm/system.h>
50
51extern void uart_irq_init(void);
52extern void cpci_irq_init(void);
53
54static struct irqaction cascade_fpga = {
55 no_action, IRQF_DISABLED, CPU_MASK_NONE, "cascade via FPGA", NULL, NULL
56};
57
58static struct irqaction cascade_mv64340 = {
59 no_action, IRQF_DISABLED, CPU_MASK_NONE, "cascade via MV64340", NULL, NULL
60};
61
62extern void ll_uart_irq(void);
63extern void ll_cpci_irq(void);
64
65asmlinkage void plat_irq_dispatch(void)
66{
67 unsigned int pending = read_c0_cause() & read_c0_status() & ST0_IM;
68
69 if (pending & STATUSF_IP0)
70 do_IRQ(0);
71 else if (pending & STATUSF_IP1)
72 do_IRQ(1);
73 else if (pending & STATUSF_IP2)
74 do_IRQ(2);
75 else if (pending & STATUSF_IP3)
76 ll_uart_irq();
77 else if (pending & STATUSF_IP4)
78 do_IRQ(4);
79 else if (pending & STATUSF_IP5)
80 ll_cpci_irq();
81 else if (pending & STATUSF_IP6)
82 ll_mv64340_irq();
83 else if (pending & STATUSF_IP7)
84 do_IRQ(7);
85 else
86 spurious_interrupt();
87}
88
89void __init arch_init_irq(void)
90{
91 /*
92 * Clear all of the interrupts while we change the able around a bit.
93 * int-handler is not on bootstrap
94 */
95 clear_c0_status(ST0_IM);
96
97 mips_cpu_irq_init();
98
99 /* set up the cascading interrupts */
100 setup_irq(3, &cascade_fpga);
101 setup_irq(5, &cascade_fpga);
102 setup_irq(6, &cascade_mv64340);
103
104 mv64340_irq_init(16);
105 uart_irq_init();
106 cpci_irq_init();
107}
diff --git a/arch/mips/momentum/ocelot_c/platform.c b/arch/mips/momentum/ocelot_c/platform.c
deleted file mode 100644
index 7780aa0c6555..000000000000
--- a/arch/mips/momentum/ocelot_c/platform.c
+++ /dev/null
@@ -1,183 +0,0 @@
1#include <linux/delay.h>
2#include <linux/if_ether.h>
3#include <linux/ioport.h>
4#include <linux/mv643xx.h>
5#include <linux/platform_device.h>
6
7#include "ocelot_c_fpga.h"
8
9#if defined(CONFIG_MV643XX_ETH) || defined(CONFIG_MV643XX_ETH_MODULE)
10
11static struct resource mv643xx_eth_shared_resources[] = {
12 [0] = {
13 .name = "ethernet shared base",
14 .start = 0xf1000000 + MV643XX_ETH_SHARED_REGS,
15 .end = 0xf1000000 + MV643XX_ETH_SHARED_REGS +
16 MV643XX_ETH_SHARED_REGS_SIZE - 1,
17 .flags = IORESOURCE_MEM,
18 },
19};
20
21static struct platform_device mv643xx_eth_shared_device = {
22 .name = MV643XX_ETH_SHARED_NAME,
23 .id = 0,
24 .num_resources = ARRAY_SIZE(mv643xx_eth_shared_resources),
25 .resource = mv643xx_eth_shared_resources,
26};
27
28#define MV_SRAM_BASE 0xfe000000UL
29#define MV_SRAM_SIZE (256 * 1024)
30
31#define MV_SRAM_RXRING_SIZE (MV_SRAM_SIZE / 4)
32#define MV_SRAM_TXRING_SIZE (MV_SRAM_SIZE / 4)
33
34#define MV_SRAM_BASE_ETH0 MV_SRAM_BASE
35#define MV_SRAM_BASE_ETH1 (MV_SRAM_BASE + (MV_SRAM_SIZE / 2))
36
37#define MV64x60_IRQ_ETH_0 48
38#define MV64x60_IRQ_ETH_1 49
39
40static struct resource mv64x60_eth0_resources[] = {
41 [0] = {
42 .name = "eth0 irq",
43 .start = MV64x60_IRQ_ETH_0,
44 .end = MV64x60_IRQ_ETH_0,
45 .flags = IORESOURCE_IRQ,
46 },
47};
48
49static struct mv643xx_eth_platform_data eth0_pd = {
50 .port_number = 0,
51
52 .tx_sram_addr = MV_SRAM_BASE_ETH0,
53 .tx_sram_size = MV_SRAM_TXRING_SIZE,
54 .tx_queue_size = MV_SRAM_TXRING_SIZE / 16,
55
56 .rx_sram_addr = MV_SRAM_BASE_ETH0 + MV_SRAM_TXRING_SIZE,
57 .rx_sram_size = MV_SRAM_RXRING_SIZE,
58 .rx_queue_size = MV_SRAM_RXRING_SIZE / 16,
59};
60
61static struct platform_device eth0_device = {
62 .name = MV643XX_ETH_NAME,
63 .id = 0,
64 .num_resources = ARRAY_SIZE(mv64x60_eth0_resources),
65 .resource = mv64x60_eth0_resources,
66 .dev = {
67 .platform_data = &eth0_pd,
68 },
69};
70
71static struct resource mv64x60_eth1_resources[] = {
72 [0] = {
73 .name = "eth1 irq",
74 .start = MV64x60_IRQ_ETH_1,
75 .end = MV64x60_IRQ_ETH_1,
76 .flags = IORESOURCE_IRQ,
77 },
78};
79
80static struct mv643xx_eth_platform_data eth1_pd = {
81 .port_number = 1,
82
83 .tx_sram_addr = MV_SRAM_BASE_ETH1,
84 .tx_sram_size = MV_SRAM_TXRING_SIZE,
85 .tx_queue_size = MV_SRAM_TXRING_SIZE / 16,
86
87 .rx_sram_addr = MV_SRAM_BASE_ETH1 + MV_SRAM_TXRING_SIZE,
88 .rx_sram_size = MV_SRAM_RXRING_SIZE,
89 .rx_queue_size = MV_SRAM_RXRING_SIZE / 16,
90};
91
92static struct platform_device eth1_device = {
93 .name = MV643XX_ETH_NAME,
94 .id = 1,
95 .num_resources = ARRAY_SIZE(mv64x60_eth1_resources),
96 .resource = mv64x60_eth1_resources,
97 .dev = {
98 .platform_data = &eth1_pd,
99 },
100};
101
102static struct platform_device *mv643xx_eth_pd_devs[] __initdata = {
103 &mv643xx_eth_shared_device,
104 &eth0_device,
105 &eth1_device,
106 /* The third port is not wired up on the Ocelot C */
107};
108
109static u8 __init exchange_bit(u8 val, u8 cs)
110{
111 /* place the data */
112 OCELOT_FPGA_WRITE((val << 2) | cs, EEPROM_MODE);
113 udelay(1);
114
115 /* turn the clock on */
116 OCELOT_FPGA_WRITE((val << 2) | cs | 0x2, EEPROM_MODE);
117 udelay(1);
118
119 /* turn the clock off and read-strobe */
120 OCELOT_FPGA_WRITE((val << 2) | cs | 0x10, EEPROM_MODE);
121
122 /* return the data */
123 return (OCELOT_FPGA_READ(EEPROM_MODE) >> 3) & 0x1;
124}
125
126static void __init get_mac(char dest[6])
127{
128 u8 read_opcode[12] = {1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
129 int i,j;
130
131 for (i = 0; i < 12; i++)
132 exchange_bit(read_opcode[i], 1);
133
134 for (j = 0; j < 6; j++) {
135 dest[j] = 0;
136 for (i = 0; i < 8; i++) {
137 dest[j] <<= 1;
138 dest[j] |= exchange_bit(0, 1);
139 }
140 }
141
142 /* turn off CS */
143 exchange_bit(0,0);
144}
145
146/*
147 * Copy and increment ethernet MAC address by a small value.
148 *
149 * This is useful for systems where the only one MAC address is stored in
150 * non-volatile memory for multiple ports.
151 */
152static inline void eth_mac_add(unsigned char *dst, unsigned char *src,
153 unsigned int add)
154{
155 int i;
156
157 BUG_ON(add >= 256);
158
159 for (i = ETH_ALEN; i >= 0; i--) {
160 dst[i] = src[i] + add;
161 add = dst[i] < src[i]; /* compute carry */
162 }
163
164 WARN_ON(add);
165}
166
167static int __init mv643xx_eth_add_pds(void)
168{
169 unsigned char mac[ETH_ALEN];
170 int ret;
171
172 get_mac(mac);
173 eth_mac_add(eth0_pd.mac_addr, mac, 0);
174 eth_mac_add(eth1_pd.mac_addr, mac, 1);
175 ret = platform_add_devices(mv643xx_eth_pd_devs,
176 ARRAY_SIZE(mv643xx_eth_pd_devs));
177
178 return ret;
179}
180
181device_initcall(mv643xx_eth_add_pds);
182
183#endif /* defined(CONFIG_MV643XX_ETH) || defined(CONFIG_MV643XX_ETH_MODULE) */
diff --git a/arch/mips/momentum/ocelot_c/prom.c b/arch/mips/momentum/ocelot_c/prom.c
deleted file mode 100644
index b689ceea8cfb..000000000000
--- a/arch/mips/momentum/ocelot_c/prom.c
+++ /dev/null
@@ -1,183 +0,0 @@
1/*
2 * Copyright 2002 Momentum Computer Inc.
3 * Author: Matthew Dharm <mdharm@momenco.com>
4 *
5 * Louis Hamilton, Red Hat, Inc.
6 * hamilton@redhat.com [MIPS64 modifications]
7 *
8 * Based on Ocelot Linux port, which is
9 * Copyright 2001 MontaVista Software Inc.
10 * Author: jsun@mvista.com or jsun@junsun.net
11 *
12 * This program is free software; you can redistribute it and/or modify it
13 * under the terms of the GNU General Public License as published by the
14 * Free Software Foundation; either version 2 of the License, or (at your
15 * option) any later version.
16 */
17#include <linux/init.h>
18#include <linux/mm.h>
19#include <linux/sched.h>
20#include <linux/bootmem.h>
21#include <linux/mv643xx.h>
22
23#include <asm/addrspace.h>
24#include <asm/bootinfo.h>
25#include <asm/pmon.h>
26
27#include "ocelot_c_fpga.h"
28
29struct callvectors* debug_vectors;
30
31extern unsigned long marvell_base;
32extern unsigned int cpu_clock;
33
34const char *get_system_type(void)
35{
36#ifdef CONFIG_CPU_SR71000
37 return "Momentum Ocelot-CS";
38#else
39 return "Momentum Ocelot-C";
40#endif
41}
42
43#ifdef CONFIG_64BIT
44
45unsigned long signext(unsigned long addr)
46{
47 addr &= 0xffffffff;
48 return (unsigned long)((int)addr);
49}
50
51void *get_arg(unsigned long args, int arc)
52{
53 unsigned long ul;
54 unsigned char *puc, uc;
55
56 args += (arc * 4);
57 ul = (unsigned long)signext(args);
58 puc = (unsigned char *)ul;
59 if (puc == 0)
60 return (void *)0;
61
62#ifdef CONFIG_CPU_LITTLE_ENDIAN
63 uc = *puc++;
64 ul = (unsigned long)uc;
65 uc = *puc++;
66 ul |= (((unsigned long)uc) << 8);
67 uc = *puc++;
68 ul |= (((unsigned long)uc) << 16);
69 uc = *puc++;
70 ul |= (((unsigned long)uc) << 24);
71#else /* CONFIG_CPU_LITTLE_ENDIAN */
72 uc = *puc++;
73 ul = ((unsigned long)uc) << 24;
74 uc = *puc++;
75 ul |= (((unsigned long)uc) << 16);
76 uc = *puc++;
77 ul |= (((unsigned long)uc) << 8);
78 uc = *puc++;
79 ul |= ((unsigned long)uc);
80#endif /* CONFIG_CPU_LITTLE_ENDIAN */
81 ul = signext(ul);
82 return (void *)ul;
83}
84
85char *arg64(unsigned long addrin, int arg_index)
86{
87 unsigned long args;
88 char *p;
89 args = signext(addrin);
90 p = (char *)get_arg(args, arg_index);
91 return p;
92}
93#endif /* CONFIG_64BIT */
94
95
96void __init prom_init(void)
97{
98 int argc = fw_arg0;
99 char **arg = (char **) fw_arg1;
100 char **env = (char **) fw_arg2;
101 struct callvectors *cv = (struct callvectors *) fw_arg3;
102 int i;
103
104#ifdef CONFIG_64BIT
105 char *ptr;
106
107 printk("prom_init - MIPS64\n");
108 /* save the PROM vectors for debugging use */
109 debug_vectors = (struct callvectors *)signext((unsigned long)cv);
110
111 /* arg[0] is "g", the rest is boot parameters */
112 arcs_cmdline[0] = '\0';
113
114 for (i = 1; i < argc; i++) {
115 ptr = (char *)arg64((unsigned long)arg, i);
116 if ((strlen(arcs_cmdline) + strlen(ptr) + 1) >=
117 sizeof(arcs_cmdline))
118 break;
119 strcat(arcs_cmdline, ptr);
120 strcat(arcs_cmdline, " ");
121 }
122 i = 0;
123 while (1) {
124 ptr = (char *)arg64((unsigned long)env, i);
125 if (! ptr)
126 break;
127
128 if (strncmp("gtbase", ptr, strlen("gtbase")) == 0) {
129 marvell_base = simple_strtol(ptr + strlen("gtbase="),
130 NULL, 16);
131
132 if ((marvell_base & 0xffffffff00000000) == 0)
133 marvell_base |= 0xffffffff00000000;
134
135 printk("marvell_base set to 0x%016lx\n", marvell_base);
136 }
137 if (strncmp("cpuclock", ptr, strlen("cpuclock")) == 0) {
138 cpu_clock = simple_strtol(ptr + strlen("cpuclock="),
139 NULL, 10);
140 printk("cpu_clock set to %d\n", cpu_clock);
141 }
142 i++;
143 }
144 printk("arcs_cmdline: %s\n", arcs_cmdline);
145
146#else /* CONFIG_64BIT */
147 /* save the PROM vectors for debugging use */
148 debug_vectors = cv;
149
150 /* arg[0] is "g", the rest is boot parameters */
151 arcs_cmdline[0] = '\0';
152 for (i = 1; i < argc; i++) {
153 if (strlen(arcs_cmdline) + strlen(arg[i] + 1)
154 >= sizeof(arcs_cmdline))
155 break;
156 strcat(arcs_cmdline, arg[i]);
157 strcat(arcs_cmdline, " ");
158 }
159
160 while (*env) {
161 if (strncmp("gtbase", *env, strlen("gtbase")) == 0) {
162 marvell_base = simple_strtol(*env + strlen("gtbase="),
163 NULL, 16);
164 }
165 if (strncmp("cpuclock", *env, strlen("cpuclock")) == 0) {
166 cpu_clock = simple_strtol(*env + strlen("cpuclock="),
167 NULL, 10);
168 }
169 env++;
170 }
171#endif /* CONFIG_64BIT */
172
173 mips_machgroup = MACH_GROUP_MOMENCO;
174 mips_machtype = MACH_MOMENCO_OCELOT_C;
175
176#ifndef CONFIG_64BIT
177 debug_vectors->printf("Booting Linux kernel...\n");
178#endif
179}
180
181void __init prom_free_prom_memory(void)
182{
183}
diff --git a/arch/mips/momentum/ocelot_c/reset.c b/arch/mips/momentum/ocelot_c/reset.c
deleted file mode 100644
index 3fdcb64ff1e6..000000000000
--- a/arch/mips/momentum/ocelot_c/reset.c
+++ /dev/null
@@ -1,58 +0,0 @@
1/*
2 * This program is free software; you can redistribute it and/or modify it
3 * under the terms of the GNU General Public License as published by the
4 * Free Software Foundation; either version 2 of the License, or (at your
5 * option) any later version.
6 *
7 * Copyright (C) 1997, 2001 Ralf Baechle
8 * Copyright 2001 MontaVista Software Inc.
9 * Author: jsun@mvista.com or jsun@junsun.net
10 *
11 * Copyright (C) 2002 Momentum Computer Inc.
12 * Author: Matthew Dharm <mdharm@momenco.com>
13 *
14 * Louis Hamilton, Red Hat, Inc.
15 * hamilton@redhat.com [MIPS64 modifications]
16 */
17#include <linux/sched.h>
18#include <linux/mm.h>
19#include <asm/io.h>
20#include <asm/pgtable.h>
21#include <asm/processor.h>
22#include <asm/reboot.h>
23#include <asm/system.h>
24#include <linux/delay.h>
25
26void momenco_ocelot_restart(char *command)
27{
28 /* base address of timekeeper portion of part */
29 void *nvram = (void *)
30#ifdef CONFIG_64BIT
31 0xfffffffffc807000;
32#else
33 0xfc807000;
34#endif
35
36 /* Ask the NVRAM/RTC/watchdog chip to assert reset in 1/16 second */
37 writeb(0x84, nvram + 0xff7);
38
39 /* wait for the watchdog to go off */
40 mdelay(100+(1000/16));
41
42 /* if the watchdog fails for some reason, let people know */
43 printk(KERN_NOTICE "Watchdog reset failed\n");
44}
45
46void momenco_ocelot_halt(void)
47{
48 printk(KERN_NOTICE "\n** You can safely turn off the power\n");
49 while (1)
50 __asm__(".set\tmips3\n\t"
51 "wait\n\t"
52 ".set\tmips0");
53}
54
55void momenco_ocelot_power_off(void)
56{
57 momenco_ocelot_halt();
58}
diff --git a/arch/mips/momentum/ocelot_c/setup.c b/arch/mips/momentum/ocelot_c/setup.c
deleted file mode 100644
index 0b6b2338cfb4..000000000000
--- a/arch/mips/momentum/ocelot_c/setup.c
+++ /dev/null
@@ -1,362 +0,0 @@
1/*
2 * BRIEF MODULE DESCRIPTION
3 * Momentum Computer Ocelot-C and -CS board dependent boot routines
4 *
5 * Copyright (C) 1996, 1997, 2001 Ralf Baechle
6 * Copyright (C) 2000 RidgeRun, Inc.
7 * Copyright (C) 2001 Red Hat, Inc.
8 * Copyright (C) 2002 Momentum Computer
9 *
10 * Author: Matthew Dharm, Momentum Computer
11 * mdharm@momenco.com
12 *
13 * Louis Hamilton, Red Hat, Inc.
14 * hamilton@redhat.com [MIPS64 modifications]
15 *
16 * Author: RidgeRun, Inc.
17 * glonnon@ridgerun.com, skranz@ridgerun.com, stevej@ridgerun.com
18 *
19 * Copyright 2001 MontaVista Software Inc.
20 * Author: jsun@mvista.com or jsun@junsun.net
21 *
22 * This program is free software; you can redistribute it and/or modify it
23 * under the terms of the GNU General Public License as published by the
24 * Free Software Foundation; either version 2 of the License, or (at your
25 * option) any later version.
26 *
27 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
28 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
29 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN
30 * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
31 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
32 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
33 * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
34 * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
35 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
36 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37 *
38 * You should have received a copy of the GNU General Public License along
39 * with this program; if not, write to the Free Software Foundation, Inc.,
40 * 675 Mass Ave, Cambridge, MA 02139, USA.
41 *
42 */
43#include <linux/bcd.h>
44#include <linux/init.h>
45#include <linux/kernel.h>
46#include <linux/types.h>
47#include <linux/mm.h>
48#include <linux/swap.h>
49#include <linux/ioport.h>
50#include <linux/sched.h>
51#include <linux/interrupt.h>
52#include <linux/pci.h>
53#include <linux/pm.h>
54#include <linux/timex.h>
55#include <linux/vmalloc.h>
56#include <linux/mv643xx.h>
57
58#include <asm/time.h>
59#include <asm/bootinfo.h>
60#include <asm/page.h>
61#include <asm/io.h>
62#include <asm/irq.h>
63#include <asm/pci.h>
64#include <asm/processor.h>
65#include <asm/reboot.h>
66#include <asm/marvell.h>
67#include <linux/bootmem.h>
68#include <linux/blkdev.h>
69#include "ocelot_c_fpga.h"
70
71unsigned long marvell_base;
72unsigned int cpu_clock;
73
74/* These functions are used for rebooting or halting the machine*/
75extern void momenco_ocelot_restart(char *command);
76extern void momenco_ocelot_halt(void);
77extern void momenco_ocelot_power_off(void);
78
79void momenco_time_init(void);
80
81static char reset_reason;
82
83void add_wired_entry(unsigned long entrylo0, unsigned long entrylo1, unsigned long entryhi, unsigned long pagemask);
84
85static unsigned long ENTRYLO(unsigned long paddr)
86{
87 return ((paddr & PAGE_MASK) |
88 (_PAGE_PRESENT | __READABLE | __WRITEABLE | _PAGE_GLOBAL |
89 _CACHE_UNCACHED)) >> 6;
90}
91
92/* setup code for a handoff from a version 2 PMON 2000 PROM */
93void PMON_v2_setup(void)
94{
95 /* Some wired TLB entries for the MV64340 and perhiperals. The
96 MV64340 is going to be hit on every IRQ anyway - there's
97 absolutely no point in letting it be a random TLB entry, as
98 it'll just cause needless churning of the TLB. And we use
99 the other half for the serial port, which is just a PITA
100 otherwise :)
101
102 Device Physical Virtual
103 MV64340 Internal Regs 0xf4000000 0xf4000000
104 Ocelot-C[S] PLD (CS0) 0xfc000000 0xfc000000
105 NVRAM (CS1) 0xfc800000 0xfc800000
106 UARTs (CS2) 0xfd000000 0xfd000000
107 Internal SRAM 0xfe000000 0xfe000000
108 M-Systems DOC (CS3) 0xff000000 0xff000000
109 */
110 printk("PMON_v2_setup\n");
111
112#ifdef CONFIG_64BIT
113 /* marvell and extra space */
114 add_wired_entry(ENTRYLO(0xf4000000), ENTRYLO(0xf4010000), 0xfffffffff4000000, PM_64K);
115 /* fpga, rtc, and uart */
116 add_wired_entry(ENTRYLO(0xfc000000), ENTRYLO(0xfd000000), 0xfffffffffc000000, PM_16M);
117 /* m-sys and internal SRAM */
118 add_wired_entry(ENTRYLO(0xfe000000), ENTRYLO(0xff000000), 0xfffffffffe000000, PM_16M);
119
120 marvell_base = 0xfffffffff4000000;
121#else
122 /* marvell and extra space */
123 add_wired_entry(ENTRYLO(0xf4000000), ENTRYLO(0xf4010000), 0xf4000000, PM_64K);
124 /* fpga, rtc, and uart */
125 add_wired_entry(ENTRYLO(0xfc000000), ENTRYLO(0xfd000000), 0xfc000000, PM_16M);
126 /* m-sys and internal SRAM */
127 add_wired_entry(ENTRYLO(0xfe000000), ENTRYLO(0xff000000), 0xfe000000, PM_16M);
128
129 marvell_base = 0xf4000000;
130#endif
131}
132
133unsigned long m48t37y_get_time(void)
134{
135#ifdef CONFIG_64BIT
136 unsigned char *rtc_base = (unsigned char*)0xfffffffffc800000;
137#else
138 unsigned char* rtc_base = (unsigned char*)0xfc800000;
139#endif
140 unsigned int year, month, day, hour, min, sec;
141 unsigned long flags;
142
143 spin_lock_irqsave(&rtc_lock, flags);
144 /* stop the update */
145 rtc_base[0x7ff8] = 0x40;
146
147 year = BCD2BIN(rtc_base[0x7fff]);
148 year += BCD2BIN(rtc_base[0x7ff1]) * 100;
149
150 month = BCD2BIN(rtc_base[0x7ffe]);
151
152 day = BCD2BIN(rtc_base[0x7ffd]);
153
154 hour = BCD2BIN(rtc_base[0x7ffb]);
155 min = BCD2BIN(rtc_base[0x7ffa]);
156 sec = BCD2BIN(rtc_base[0x7ff9]);
157
158 /* start the update */
159 rtc_base[0x7ff8] = 0x00;
160 spin_unlock_irqrestore(&rtc_lock, flags);
161
162 return mktime(year, month, day, hour, min, sec);
163}
164
165int m48t37y_set_time(unsigned long sec)
166{
167#ifdef CONFIG_64BIT
168 unsigned char* rtc_base = (unsigned char*)0xfffffffffc800000;
169#else
170 unsigned char* rtc_base = (unsigned char*)0xfc800000;
171#endif
172 struct rtc_time tm;
173 unsigned long flags;
174
175 /* convert to a more useful format -- note months count from 0 */
176 to_tm(sec, &tm);
177 tm.tm_mon += 1;
178
179 spin_lock_irqsave(&rtc_lock, flags);
180 /* enable writing */
181 rtc_base[0x7ff8] = 0x80;
182
183 /* year */
184 rtc_base[0x7fff] = BIN2BCD(tm.tm_year % 100);
185 rtc_base[0x7ff1] = BIN2BCD(tm.tm_year / 100);
186
187 /* month */
188 rtc_base[0x7ffe] = BIN2BCD(tm.tm_mon);
189
190 /* day */
191 rtc_base[0x7ffd] = BIN2BCD(tm.tm_mday);
192
193 /* hour/min/sec */
194 rtc_base[0x7ffb] = BIN2BCD(tm.tm_hour);
195 rtc_base[0x7ffa] = BIN2BCD(tm.tm_min);
196 rtc_base[0x7ff9] = BIN2BCD(tm.tm_sec);
197
198 /* day of week -- not really used, but let's keep it up-to-date */
199 rtc_base[0x7ffc] = BIN2BCD(tm.tm_wday + 1);
200
201 /* disable writing */
202 rtc_base[0x7ff8] = 0x00;
203 spin_unlock_irqrestore(&rtc_lock, flags);
204
205 return 0;
206}
207
208void __init plat_timer_setup(struct irqaction *irq)
209{
210 setup_irq(7, irq);
211}
212
213void momenco_time_init(void)
214{
215#ifdef CONFIG_CPU_SR71000
216 mips_hpt_frequency = cpu_clock;
217#elif defined(CONFIG_CPU_RM7000)
218 mips_hpt_frequency = cpu_clock / 2;
219#else
220#error Unknown CPU for this board
221#endif
222 printk("momenco_time_init cpu_clock=%d\n", cpu_clock);
223
224 rtc_mips_get_time = m48t37y_get_time;
225 rtc_mips_set_time = m48t37y_set_time;
226}
227
228void __init plat_mem_setup(void)
229{
230 unsigned int tmpword;
231
232 board_time_init = momenco_time_init;
233
234 _machine_restart = momenco_ocelot_restart;
235 _machine_halt = momenco_ocelot_halt;
236 pm_power_off = momenco_ocelot_power_off;
237
238 /*
239 * initrd_start = (unsigned long)ocelot_initrd_start;
240 * initrd_end = (unsigned long)ocelot_initrd_start + (ulong)ocelot_initrd_size;
241 * initrd_below_start_ok = 1;
242 */
243
244 /* do handoff reconfiguration */
245 PMON_v2_setup();
246
247 /* shut down ethernet ports, just to be sure our memory doesn't get
248 * corrupted by random ethernet traffic.
249 */
250 MV_WRITE(MV643XX_ETH_TRANSMIT_QUEUE_COMMAND_REG(0), 0xff << 8);
251 MV_WRITE(MV643XX_ETH_TRANSMIT_QUEUE_COMMAND_REG(1), 0xff << 8);
252 MV_WRITE(MV643XX_ETH_RECEIVE_QUEUE_COMMAND_REG(0), 0xff << 8);
253 MV_WRITE(MV643XX_ETH_RECEIVE_QUEUE_COMMAND_REG(1), 0xff << 8);
254 do {}
255 while (MV_READ(MV643XX_ETH_RECEIVE_QUEUE_COMMAND_REG(0)) & 0xff);
256 do {}
257 while (MV_READ(MV643XX_ETH_RECEIVE_QUEUE_COMMAND_REG(1)) & 0xff);
258 do {}
259 while (MV_READ(MV643XX_ETH_TRANSMIT_QUEUE_COMMAND_REG(0)) & 0xff);
260 do {}
261 while (MV_READ(MV643XX_ETH_TRANSMIT_QUEUE_COMMAND_REG(1)) & 0xff);
262 MV_WRITE(MV643XX_ETH_PORT_SERIAL_CONTROL_REG(0),
263 MV_READ(MV643XX_ETH_PORT_SERIAL_CONTROL_REG(0)) & ~1);
264 MV_WRITE(MV643XX_ETH_PORT_SERIAL_CONTROL_REG(1),
265 MV_READ(MV643XX_ETH_PORT_SERIAL_CONTROL_REG(1)) & ~1);
266
267 /* Turn off the Bit-Error LED */
268 OCELOT_FPGA_WRITE(0x80, CLR);
269
270 tmpword = OCELOT_FPGA_READ(BOARDREV);
271#ifdef CONFIG_CPU_SR71000
272 if (tmpword < 26)
273 printk("Momenco Ocelot-CS: Board Assembly Rev. %c\n",
274 'A'+tmpword);
275 else
276 printk("Momenco Ocelot-CS: Board Assembly Revision #0x%x\n",
277 tmpword);
278#else
279 if (tmpword < 26)
280 printk("Momenco Ocelot-C: Board Assembly Rev. %c\n",
281 'A'+tmpword);
282 else
283 printk("Momenco Ocelot-C: Board Assembly Revision #0x%x\n",
284 tmpword);
285#endif
286
287 tmpword = OCELOT_FPGA_READ(FPGA_REV);
288 printk("FPGA Rev: %d.%d\n", tmpword>>4, tmpword&15);
289 tmpword = OCELOT_FPGA_READ(RESET_STATUS);
290 printk("Reset reason: 0x%x\n", tmpword);
291 switch (tmpword) {
292 case 0x1:
293 printk(" - Power-up reset\n");
294 break;
295 case 0x2:
296 printk(" - Push-button reset\n");
297 break;
298 case 0x4:
299 printk(" - cPCI bus reset\n");
300 break;
301 case 0x8:
302 printk(" - Watchdog reset\n");
303 break;
304 case 0x10:
305 printk(" - Software reset\n");
306 break;
307 default:
308 printk(" - Unknown reset cause\n");
309 }
310 reset_reason = tmpword;
311 OCELOT_FPGA_WRITE(0xff, RESET_STATUS);
312
313 tmpword = OCELOT_FPGA_READ(CPCI_ID);
314 printk("cPCI ID register: 0x%02x\n", tmpword);
315 printk(" - Slot number: %d\n", tmpword & 0x1f);
316 printk(" - PCI bus present: %s\n", tmpword & 0x40 ? "yes" : "no");
317 printk(" - System Slot: %s\n", tmpword & 0x20 ? "yes" : "no");
318
319 tmpword = OCELOT_FPGA_READ(BOARD_STATUS);
320 printk("Board Status register: 0x%02x\n", tmpword);
321 printk(" - User jumper: %s\n", (tmpword & 0x80)?"installed":"absent");
322 printk(" - Boot flash write jumper: %s\n", (tmpword&0x40)?"installed":"absent");
323 printk(" - L3 Cache size: %d MiB\n", (1<<((tmpword&12) >> 2))&~1);
324 printk(" - SDRAM size: %d MiB\n", 1<<(6+(tmpword&3)));
325
326 switch(tmpword &3) {
327 case 3:
328 /* 512MiB */
329 add_memory_region(0x0, 0x200<<20, BOOT_MEM_RAM);
330 break;
331 case 2:
332 /* 256MiB */
333 add_memory_region(0x0, 0x100<<20, BOOT_MEM_RAM);
334 break;
335 case 1:
336 /* 128MiB */
337 add_memory_region(0x0, 0x80<<20, BOOT_MEM_RAM);
338 break;
339 case 0:
340 /* 1GiB -- needs CONFIG_HIGHMEM */
341 add_memory_region(0x0, 0x400<<20, BOOT_MEM_RAM);
342 break;
343 }
344}
345
346/*
347 * This needs to be one of the first initcalls, because no I/O port access
348 * can work before this
349 */
350static int io_base_ioremap(void)
351{
352 void __iomem * io_remap_range = ioremap(0xc0000000UL, 0x10000);
353
354 if (!io_remap_range)
355 panic("Could not ioremap I/O port range");
356
357 set_io_port_base((unsigned long) io_remap_range);
358
359 return 0;
360}
361
362module_init(io_base_ioremap);
diff --git a/arch/mips/momentum/ocelot_c/uart-irq.c b/arch/mips/momentum/ocelot_c/uart-irq.c
deleted file mode 100644
index de1a31ee52f3..000000000000
--- a/arch/mips/momentum/ocelot_c/uart-irq.c
+++ /dev/null
@@ -1,91 +0,0 @@
1/*
2 * Copyright 2002 Momentum Computer
3 * Author: mdharm@momenco.com
4 *
5 * arch/mips/momentum/ocelot_c/uart-irq.c
6 * Interrupt routines for UARTs. Interrupt numbers are assigned from
7 * 80 to 81 (2 interrupt sources).
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
15#include <linux/module.h>
16#include <linux/interrupt.h>
17#include <linux/irq.h>
18#include <linux/kernel.h>
19#include <linux/sched.h>
20#include <linux/kernel_stat.h>
21#include <asm/io.h>
22#include <asm/irq.h>
23#include "ocelot_c_fpga.h"
24
25static inline int ls1bit8(unsigned int x)
26{
27 int b = 7, s;
28
29 s = 4; if (((unsigned char)(x << 4)) == 0) s = 0; b -= s; x <<= s;
30 s = 2; if (((unsigned char)(x << 2)) == 0) s = 0; b -= s; x <<= s;
31 s = 1; if (((unsigned char)(x << 1)) == 0) s = 0; b -= s;
32
33 return b;
34}
35
36/* mask off an interrupt -- 0 is enable, 1 is disable */
37static inline void mask_uart_irq(unsigned int irq)
38{
39 uint8_t value;
40
41 value = OCELOT_FPGA_READ(UART_INTMASK);
42 value |= 1 << (irq - 74);
43 OCELOT_FPGA_WRITE(value, UART_INTMASK);
44
45 /* read the value back to assure that it's really been written */
46 value = OCELOT_FPGA_READ(UART_INTMASK);
47}
48
49/* unmask an interrupt -- 0 is enable, 1 is disable */
50static inline void unmask_uart_irq(unsigned int irq)
51{
52 uint8_t value;
53
54 value = OCELOT_FPGA_READ(UART_INTMASK);
55 value &= ~(1 << (irq - 74));
56 OCELOT_FPGA_WRITE(value, UART_INTMASK);
57
58 /* read the value back to assure that it's really been written */
59 value = OCELOT_FPGA_READ(UART_INTMASK);
60}
61
62/*
63 * Interrupt handler for interrupts coming from the FPGA chip.
64 */
65void ll_uart_irq(void)
66{
67 unsigned int irq_src, irq_mask;
68
69 /* read the interrupt status registers */
70 irq_src = OCELOT_FPGA_READ(UART_INTSTAT);
71 irq_mask = OCELOT_FPGA_READ(UART_INTMASK);
72
73 /* mask for just the interrupts we want */
74 irq_src &= ~irq_mask;
75
76 do_IRQ(ls1bit8(irq_src) + 74);
77}
78
79struct irq_chip uart_irq_type = {
80 .name = "UART/FPGA",
81 .ack = mask_uart_irq,
82 .mask = mask_uart_irq,
83 .mask_ack = mask_uart_irq,
84 .unmask = unmask_uart_irq,
85};
86
87void uart_irq_init(void)
88{
89 set_irq_chip_and_handler(80, &uart_irq_type, handle_level_irq);
90 set_irq_chip_and_handler(81, &uart_irq_type, handle_level_irq);
91}
diff --git a/arch/mips/pci/Makefile b/arch/mips/pci/Makefile
index aba3dbf47eda..c58bd3d036f4 100644
--- a/arch/mips/pci/Makefile
+++ b/arch/mips/pci/Makefile
@@ -2,16 +2,14 @@
2# Makefile for the PCI specific kernel interface routines under Linux. 2# Makefile for the PCI specific kernel interface routines under Linux.
3# 3#
4 4
5obj-y += pci.o pci-dac.o 5obj-y += pci.o
6 6
7# 7#
8# PCI bus host bridge specific code 8# PCI bus host bridge specific code
9# 9#
10obj-$(CONFIG_MIPS_BONITO64) += ops-bonito64.o 10obj-$(CONFIG_MIPS_BONITO64) += ops-bonito64.o
11obj-$(CONFIG_PCI_GT64XXX_PCI0) += ops-gt64xxx_pci0.o 11obj-$(CONFIG_PCI_GT64XXX_PCI0) += ops-gt64xxx_pci0.o
12obj-$(CONFIG_PCI_MARVELL) += ops-marvell.o
13obj-$(CONFIG_MIPS_MSC) += ops-msc.o 12obj-$(CONFIG_MIPS_MSC) += ops-msc.o
14obj-$(CONFIG_MIPS_NILE4) += ops-nile4.o
15obj-$(CONFIG_MIPS_TX3927) += ops-tx3927.o 13obj-$(CONFIG_MIPS_TX3927) += ops-tx3927.o
16obj-$(CONFIG_PCI_VR41XX) += ops-vr41xx.o pci-vr41xx.o 14obj-$(CONFIG_PCI_VR41XX) += ops-vr41xx.o pci-vr41xx.o
17obj-$(CONFIG_NEC_CMBVR4133) += fixup-vr4133.o 15obj-$(CONFIG_NEC_CMBVR4133) += fixup-vr4133.o
@@ -22,17 +20,17 @@ obj-$(CONFIG_MARKEINS) += ops-emma2rh.o pci-emma2rh.o fixup-emma2rh.o
22# 20#
23obj-$(CONFIG_BASLER_EXCITE) += ops-titan.o pci-excite.o fixup-excite.o 21obj-$(CONFIG_BASLER_EXCITE) += ops-titan.o pci-excite.o fixup-excite.o
24obj-$(CONFIG_DDB5477) += fixup-ddb5477.o pci-ddb5477.o ops-ddb5477.o 22obj-$(CONFIG_DDB5477) += fixup-ddb5477.o pci-ddb5477.o ops-ddb5477.o
25obj-$(CONFIG_LASAT) += pci-lasat.o
26obj-$(CONFIG_MIPS_ATLAS) += fixup-atlas.o 23obj-$(CONFIG_MIPS_ATLAS) += fixup-atlas.o
27obj-$(CONFIG_MIPS_COBALT) += fixup-cobalt.o 24obj-$(CONFIG_MIPS_COBALT) += fixup-cobalt.o
28obj-$(CONFIG_MIPS_EV64120) += pci-ev64120.o
29obj-$(CONFIG_SOC_AU1500) += fixup-au1000.o ops-au1000.o 25obj-$(CONFIG_SOC_AU1500) += fixup-au1000.o ops-au1000.o
30obj-$(CONFIG_SOC_AU1550) += fixup-au1000.o ops-au1000.o 26obj-$(CONFIG_SOC_AU1550) += fixup-au1000.o ops-au1000.o
31obj-$(CONFIG_SOC_PNX8550) += fixup-pnx8550.o ops-pnx8550.o 27obj-$(CONFIG_SOC_PNX8550) += fixup-pnx8550.o ops-pnx8550.o
28obj-$(CONFIG_LEMOTE_FULONG) += fixup-lm2e.o ops-bonito64.o
32obj-$(CONFIG_MIPS_MALTA) += fixup-malta.o 29obj-$(CONFIG_MIPS_MALTA) += fixup-malta.o
33obj-$(CONFIG_MOMENCO_OCELOT) += fixup-ocelot.o pci-ocelot.o 30obj-$(CONFIG_MOMENCO_OCELOT) += fixup-ocelot.o pci-ocelot.o
34obj-$(CONFIG_MOMENCO_OCELOT_3) += fixup-ocelot3.o 31obj-$(CONFIG_PMC_MSP7120_GW) += fixup-pmcmsp.o ops-pmcmsp.o
35obj-$(CONFIG_MOMENCO_OCELOT_C) += fixup-ocelot-c.o pci-ocelot-c.o 32obj-$(CONFIG_PMC_MSP7120_EVAL) += fixup-pmcmsp.o ops-pmcmsp.o
33obj-$(CONFIG_PMC_MSP7120_FPGA) += fixup-pmcmsp.o ops-pmcmsp.o
36obj-$(CONFIG_PMC_YOSEMITE) += fixup-yosemite.o ops-titan.o ops-titan-ht.o \ 34obj-$(CONFIG_PMC_YOSEMITE) += fixup-yosemite.o ops-titan.o ops-titan-ht.o \
37 pci-yosemite.o 35 pci-yosemite.o
38obj-$(CONFIG_SGI_IP27) += ops-bridge.o pci-ip27.o 36obj-$(CONFIG_SGI_IP27) += ops-bridge.o pci-ip27.o
diff --git a/arch/mips/pci/fixup-atlas.c b/arch/mips/pci/fixup-atlas.c
index c6cd6e9cdfbc..45224fd2c7ba 100644
--- a/arch/mips/pci/fixup-atlas.c
+++ b/arch/mips/pci/fixup-atlas.c
@@ -58,7 +58,7 @@ static char irq_tab[][5] __initdata = {
58 {0, 0, 0, 0, 0 } /* 21: Unused */ 58 {0, 0, 0, 0, 0 } /* 21: Unused */
59}; 59};
60 60
61int __init pcibios_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 61int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
62{ 62{
63 return irq_tab[slot][pin]; 63 return irq_tab[slot][pin];
64} 64}
diff --git a/arch/mips/pci/fixup-au1000.c b/arch/mips/pci/fixup-au1000.c
index c2f8304fe55b..ca0276c8070a 100644
--- a/arch/mips/pci/fixup-au1000.c
+++ b/arch/mips/pci/fixup-au1000.c
@@ -35,7 +35,7 @@
35 35
36extern char irq_tab_alchemy[][5]; 36extern char irq_tab_alchemy[][5];
37 37
38int __init pcibios_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 38int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
39{ 39{
40 return irq_tab_alchemy[slot][pin]; 40 return irq_tab_alchemy[slot][pin];
41} 41}
diff --git a/arch/mips/pci/fixup-capcella.c b/arch/mips/pci/fixup-capcella.c
index 1e530751936c..1416bca6d1a3 100644
--- a/arch/mips/pci/fixup-capcella.c
+++ b/arch/mips/pci/fixup-capcella.c
@@ -38,7 +38,7 @@ static char irq_tab_capcella[][5] __initdata = {
38 [14] = { -1, INTA, INTB, INTC, INTD } 38 [14] = { -1, INTA, INTB, INTC, INTD }
39}; 39};
40 40
41int __init pcibios_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 41int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
42{ 42{
43 return irq_tab_capcella[slot][pin]; 43 return irq_tab_capcella[slot][pin];
44} 44}
diff --git a/arch/mips/pci/fixup-cobalt.c b/arch/mips/pci/fixup-cobalt.c
index d57ffd7242ca..76b4f0ffb1e5 100644
--- a/arch/mips/pci/fixup-cobalt.c
+++ b/arch/mips/pci/fixup-cobalt.c
@@ -58,8 +58,6 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C586_1,
58 58
59static void qube_raq_galileo_fixup(struct pci_dev *dev) 59static void qube_raq_galileo_fixup(struct pci_dev *dev)
60{ 60{
61 unsigned short galileo_id;
62
63 if (dev->devfn != PCI_DEVFN(0, 0)) 61 if (dev->devfn != PCI_DEVFN(0, 0))
64 return; 62 return;
65 63
@@ -84,16 +82,14 @@ static void qube_raq_galileo_fixup(struct pci_dev *dev)
84 * Therefore we must set the disconnect/retry cycle values to 82 * Therefore we must set the disconnect/retry cycle values to
85 * something sensible when using the new Galileo. 83 * something sensible when using the new Galileo.
86 */ 84 */
87 pci_read_config_word(dev, PCI_REVISION_ID, &galileo_id);
88 galileo_id &= 0xff; /* mask off class info */
89 85
90 printk(KERN_INFO "Galileo: revision %u\n", galileo_id); 86 printk(KERN_INFO "Galileo: revision %u\n", dev->revision);
91 87
92#if 0 88#if 0
93 if (galileo_id >= 0x10) { 89 if (dev->revision >= 0x10) {
94 /* New Galileo, assumes PCI stop line to VIA is connected. */ 90 /* New Galileo, assumes PCI stop line to VIA is connected. */
95 GT_WRITE(GT_PCI0_TOR_OFS, 0x4020); 91 GT_WRITE(GT_PCI0_TOR_OFS, 0x4020);
96 } else if (galileo_id == 0x1 || galileo_id == 0x2) 92 } else if (dev->revision == 0x1 || dev->revision == 0x2)
97#endif 93#endif
98 { 94 {
99 signed int timeo; 95 signed int timeo;
@@ -161,7 +157,7 @@ static char irq_tab_raq2[] __initdata = {
161 [COBALT_PCICONF_ETH1] = COBALT_ETH1_IRQ 157 [COBALT_PCICONF_ETH1] = COBALT_ETH1_IRQ
162}; 158};
163 159
164int __init pcibios_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 160int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
165{ 161{
166 if (cobalt_board_id < COBALT_BRD_ID_QUBE2) 162 if (cobalt_board_id < COBALT_BRD_ID_QUBE2)
167 return irq_tab_qube1[slot]; 163 return irq_tab_qube1[slot];
diff --git a/arch/mips/pci/fixup-emma2rh.c b/arch/mips/pci/fixup-emma2rh.c
index 7abcfd175d43..a2705895561d 100644
--- a/arch/mips/pci/fixup-emma2rh.c
+++ b/arch/mips/pci/fixup-emma2rh.c
@@ -89,7 +89,7 @@ static void __devinit emma2rh_pci_host_fixup(struct pci_dev *dev)
89DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_NEC, PCI_DEVICE_ID_NEC_EMMA2RH, 89DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_NEC, PCI_DEVICE_ID_NEC_EMMA2RH,
90 emma2rh_pci_host_fixup); 90 emma2rh_pci_host_fixup);
91 91
92int __init pcibios_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 92int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
93{ 93{
94 return irq_map[slot][pin]; 94 return irq_map[slot][pin];
95} 95}
diff --git a/arch/mips/pci/fixup-excite.c b/arch/mips/pci/fixup-excite.c
index 1da696d43f00..cd64d9f177c4 100644
--- a/arch/mips/pci/fixup-excite.c
+++ b/arch/mips/pci/fixup-excite.c
@@ -21,7 +21,7 @@
21#include <linux/pci.h> 21#include <linux/pci.h>
22#include <excite.h> 22#include <excite.h>
23 23
24int __init pcibios_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 24int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
25{ 25{
26 if (pin == 0) 26 if (pin == 0)
27 return -1; 27 return -1;
diff --git a/arch/mips/pci/fixup-ip32.c b/arch/mips/pci/fixup-ip32.c
index 3e66b0aa63ca..190fffd08d3e 100644
--- a/arch/mips/pci/fixup-ip32.c
+++ b/arch/mips/pci/fixup-ip32.c
@@ -39,7 +39,7 @@ static char irq_tab_mace[][5] __initdata = {
39 * irqs. I suppose a device without a pin A will thank us for doing it 39 * irqs. I suppose a device without a pin A will thank us for doing it
40 * right if there exists such a broken piece of crap. 40 * right if there exists such a broken piece of crap.
41 */ 41 */
42int __init pcibios_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 42int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
43{ 43{
44 return irq_tab_mace[slot][pin]; 44 return irq_tab_mace[slot][pin];
45} 45}
diff --git a/arch/mips/pci/fixup-jmr3927.c b/arch/mips/pci/fixup-jmr3927.c
index 73d18503517c..e974394be7bc 100644
--- a/arch/mips/pci/fixup-jmr3927.c
+++ b/arch/mips/pci/fixup-jmr3927.c
@@ -33,7 +33,7 @@
33 33
34#include <asm/jmr3927/jmr3927.h> 34#include <asm/jmr3927/jmr3927.h>
35 35
36int __init pcibios_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 36int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
37{ 37{
38 unsigned char irq = pin; 38 unsigned char irq = pin;
39 39
diff --git a/arch/mips/pci/fixup-lm2e.c b/arch/mips/pci/fixup-lm2e.c
new file mode 100644
index 000000000000..e18ae4f574c1
--- /dev/null
+++ b/arch/mips/pci/fixup-lm2e.c
@@ -0,0 +1,242 @@
1/*
2 * fixup-lm2e.c
3 *
4 * Copyright (C) 2004 ICT CAS
5 * Author: Li xiaoyu, ICT CAS
6 * lixy@ict.ac.cn
7 *
8 * Copyright (C) 2007 Lemote, Inc. & Institute of Computing Technology
9 * Author: Fuxin Zhang, zhangfx@lemote.com
10 *
11 * This program is free software; you can redistribute it and/or modify it
12 * under the terms of the GNU General Public License as published by the
13 * Free Software Foundation; either version 2 of the License, or (at your
14 * option) any later version.
15 *
16 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
17 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
18 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN
19 * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
20 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
21 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
22 * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
23 * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
25 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 *
27 * You should have received a copy of the GNU General Public License along
28 * with this program; if not, write to the Free Software Foundation, Inc.,
29 * 675 Mass Ave, Cambridge, MA 02139, USA.
30 *
31 */
32#include <linux/init.h>
33#include <linux/pci.h>
34#include <asm/mips-boards/bonito64.h>
35
36/* South bridge slot number is set by the pci probe process */
37static u8 sb_slot = 5;
38
39int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
40{
41 int irq = 0;
42
43 if (slot == sb_slot) {
44 switch (PCI_FUNC(dev->devfn)) {
45 case 2:
46 irq = 10;
47 break;
48 case 3:
49 irq = 11;
50 break;
51 case 5:
52 irq = 9;
53 break;
54 }
55 } else {
56 irq = BONITO_IRQ_BASE + 25 + pin;
57 }
58 return irq;
59
60}
61
62/* Do platform specific device initialization at pci_enable_device() time */
63int pcibios_plat_dev_init(struct pci_dev *dev)
64{
65 return 0;
66}
67
68static void __init loongson2e_nec_fixup(struct pci_dev *pdev)
69{
70 unsigned int val;
71
72 /* Configues port 1, 2, 3, 4 to be validate*/
73 pci_read_config_dword(pdev, 0xe0, &val);
74 pci_write_config_dword(pdev, 0xe0, (val & ~7) | 0x4);
75
76 /* System clock is 48-MHz Oscillator. */
77 pci_write_config_dword(pdev, 0xe4, 1 << 5);
78}
79
80static void __init loongson2e_686b_func0_fixup(struct pci_dev *pdev)
81{
82 unsigned char c;
83
84 sb_slot = PCI_SLOT(pdev->devfn);
85
86 printk(KERN_INFO "via686b fix: ISA bridge\n");
87
88 /* Enable I/O Recovery time */
89 pci_write_config_byte(pdev, 0x40, 0x08);
90
91 /* Enable ISA refresh */
92 pci_write_config_byte(pdev, 0x41, 0x01);
93
94 /* disable ISA line buffer */
95 pci_write_config_byte(pdev, 0x45, 0x00);
96
97 /* Gate INTR, and flush line buffer */
98 pci_write_config_byte(pdev, 0x46, 0xe0);
99
100 /* Disable PCI Delay Transaction, Enable EISA ports 4D0/4D1. */
101 /* pci_write_config_byte(pdev, 0x47, 0x20); */
102
103 /*
104 * enable PCI Delay Transaction, Enable EISA ports 4D0/4D1.
105 * enable time-out timer
106 */
107 pci_write_config_byte(pdev, 0x47, 0xe6);
108
109 /*
110 * enable level trigger on pci irqs: 9,10,11,13
111 * important! without this PCI interrupts won't work
112 */
113 outb(0x2e, 0x4d1);
114
115 /* 512 K PCI Decode */
116 pci_write_config_byte(pdev, 0x48, 0x01);
117
118 /* Wait for PGNT before grant to ISA Master/DMA */
119 pci_write_config_byte(pdev, 0x4a, 0x84);
120
121 /*
122 * Plug'n'Play
123 *
124 * Parallel DRQ 3, Floppy DRQ 2 (default)
125 */
126 pci_write_config_byte(pdev, 0x50, 0x0e);
127
128 /*
129 * IRQ Routing for Floppy and Parallel port
130 *
131 * IRQ 6 for floppy, IRQ 7 for parallel port
132 */
133 pci_write_config_byte(pdev, 0x51, 0x76);
134
135 /* IRQ Routing for serial ports (take IRQ 3 and 4) */
136 pci_write_config_byte(pdev, 0x52, 0x34);
137
138 /* All IRQ's level triggered. */
139 pci_write_config_byte(pdev, 0x54, 0x00);
140
141 /* route PIRQA-D irq */
142 pci_write_config_byte(pdev, 0x55, 0x90); /* bit 7-4, PIRQA */
143 pci_write_config_byte(pdev, 0x56, 0xba); /* bit 7-4, PIRQC; */
144 /* 3-0, PIRQB */
145 pci_write_config_byte(pdev, 0x57, 0xd0); /* bit 7-4, PIRQD */
146
147 /* enable function 5/6, audio/modem */
148 pci_read_config_byte(pdev, 0x85, &c);
149 c &= ~(0x3 << 2);
150 pci_write_config_byte(pdev, 0x85, c);
151
152 printk(KERN_INFO"via686b fix: ISA bridge done\n");
153}
154
155static void __init loongson2e_686b_func1_fixup(struct pci_dev *pdev)
156{
157 printk(KERN_INFO"via686b fix: IDE\n");
158
159 /* Modify IDE controller setup */
160 pci_write_config_byte(pdev, PCI_LATENCY_TIMER, 48);
161 pci_write_config_byte(pdev, PCI_COMMAND,
162 PCI_COMMAND_IO | PCI_COMMAND_MEMORY |
163 PCI_COMMAND_MASTER);
164 pci_write_config_byte(pdev, 0x40, 0x0b);
165 /* legacy mode */
166 pci_write_config_byte(pdev, 0x42, 0x09);
167
168#if 1/* play safe, otherwise we may see notebook's usb keyboard lockup */
169 /* disable read prefetch/write post buffers */
170 pci_write_config_byte(pdev, 0x41, 0x02);
171
172 /* use 3/4 as fifo thresh hold */
173 pci_write_config_byte(pdev, 0x43, 0x0a);
174 pci_write_config_byte(pdev, 0x44, 0x00);
175
176 pci_write_config_byte(pdev, 0x45, 0x00);
177#else
178 pci_write_config_byte(pdev, 0x41, 0xc2);
179 pci_write_config_byte(pdev, 0x43, 0x35);
180 pci_write_config_byte(pdev, 0x44, 0x1c);
181
182 pci_write_config_byte(pdev, 0x45, 0x10);
183#endif
184
185 printk(KERN_INFO"via686b fix: IDE done\n");
186}
187
188static void __init loongson2e_686b_func2_fixup(struct pci_dev *pdev)
189{
190 /* irq routing */
191 pci_write_config_byte(pdev, PCI_INTERRUPT_LINE, 10);
192}
193
194static void __init loongson2e_686b_func3_fixup(struct pci_dev *pdev)
195{
196 /* irq routing */
197 pci_write_config_byte(pdev, PCI_INTERRUPT_LINE, 11);
198}
199
200static void __init loongson2e_686b_func5_fixup(struct pci_dev *pdev)
201{
202 unsigned int val;
203 unsigned char c;
204
205 /* enable IO */
206 pci_write_config_byte(pdev, PCI_COMMAND,
207 PCI_COMMAND_IO | PCI_COMMAND_MEMORY |
208 PCI_COMMAND_MASTER);
209 pci_read_config_dword(pdev, 0x4, &val);
210 pci_write_config_dword(pdev, 0x4, val | 1);
211
212 /* route ac97 IRQ */
213 pci_write_config_byte(pdev, 0x3c, 9);
214
215 pci_read_config_byte(pdev, 0x8, &c);
216
217 /* link control: enable link & SGD PCM output */
218 pci_write_config_byte(pdev, 0x41, 0xcc);
219
220 /* disable game port, FM, midi, sb, enable write to reg2c-2f */
221 pci_write_config_byte(pdev, 0x42, 0x20);
222
223 /* we are using Avance logic codec */
224 pci_write_config_word(pdev, 0x2c, 0x1005);
225 pci_write_config_word(pdev, 0x2e, 0x4710);
226 pci_read_config_dword(pdev, 0x2c, &val);
227
228 pci_write_config_byte(pdev, 0x42, 0x0);
229}
230
231DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686,
232 loongson2e_686b_func0_fixup);
233DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C586_1,
234 loongson2e_686b_func1_fixup);
235DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C586_2,
236 loongson2e_686b_func2_fixup);
237DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C586_3,
238 loongson2e_686b_func3_fixup);
239DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686_5,
240 loongson2e_686b_func5_fixup);
241DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_NEC, PCI_DEVICE_ID_NEC_USB,
242 loongson2e_nec_fixup);
diff --git a/arch/mips/pci/fixup-malta.c b/arch/mips/pci/fixup-malta.c
index bf2c41d1e9c5..0f48498bc231 100644
--- a/arch/mips/pci/fixup-malta.c
+++ b/arch/mips/pci/fixup-malta.c
@@ -36,7 +36,7 @@ static char irq_tab[][5] __initdata = {
36 {0, PCID, PCIA, PCIB, PCIC } /* 21: PCI Slot 4 */ 36 {0, PCID, PCIA, PCIB, PCIC } /* 21: PCI Slot 4 */
37}; 37};
38 38
39int __init pcibios_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 39int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
40{ 40{
41 int virq; 41 int virq;
42 virq = irq_tab[slot][pin]; 42 virq = irq_tab[slot][pin];
diff --git a/arch/mips/pci/fixup-mpc30x.c b/arch/mips/pci/fixup-mpc30x.c
index 3c9ae41f7517..591159625722 100644
--- a/arch/mips/pci/fixup-mpc30x.c
+++ b/arch/mips/pci/fixup-mpc30x.c
@@ -34,7 +34,7 @@ static const int irq_tab_mpc30x[] __initdata = {
34 [29] = MQ200_IRQ, 34 [29] = MQ200_IRQ,
35}; 35};
36 36
37int __init pcibios_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 37int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
38{ 38{
39 if (slot == 30) 39 if (slot == 30)
40 return internal_func_irqs[PCI_FUNC(dev->devfn)]; 40 return internal_func_irqs[PCI_FUNC(dev->devfn)];
diff --git a/arch/mips/pci/fixup-ocelot-c.c b/arch/mips/pci/fixup-ocelot-c.c
deleted file mode 100644
index d45494807a33..000000000000
--- a/arch/mips/pci/fixup-ocelot-c.c
+++ /dev/null
@@ -1,41 +0,0 @@
1/*
2 * Copyright 2002 Momentum Computer Inc.
3 * Author: Matthew Dharm <mdharm@momenco.com>
4 *
5 * Based on work for the Linux port to the Ocelot board, which is
6 * Copyright 2001 MontaVista Software Inc.
7 * Author: Jun Sun, jsun@mvista.com or jsun@junsun.net
8 *
9 * arch/mips/momentum/ocelot_g/pci.c
10 * Board-specific PCI routines for mv64340 controller.
11 *
12 * This program is free software; you can redistribute it and/or modify it
13 * under the terms of the GNU General Public License as published by the
14 * Free Software Foundation; either version 2 of the License, or (at your
15 * option) any later version.
16 */
17#include <linux/types.h>
18#include <linux/pci.h>
19#include <linux/kernel.h>
20#include <linux/init.h>
21
22int __init pcibios_map_irq(struct pci_dev *dev, u8 slot, u8 pin)
23{
24 int bus = dev->bus->number;
25
26 if (bus == 0 && slot == 1)
27 return 2; /* PCI-X A */
28 if (bus == 1 && slot == 1)
29 return 12; /* PCI-X B */
30 if (bus == 1 && slot == 2)
31 return 4; /* PCI B */
32
33return 0;
34 panic("Whooops in pcibios_map_irq");
35}
36
37/* Do platform specific device initialization at pci_enable_device() time */
38int pcibios_plat_dev_init(struct pci_dev *dev)
39{
40 return 0;
41}
diff --git a/arch/mips/pci/fixup-ocelot3.c b/arch/mips/pci/fixup-ocelot3.c
deleted file mode 100644
index ececc03ec620..000000000000
--- a/arch/mips/pci/fixup-ocelot3.c
+++ /dev/null
@@ -1,41 +0,0 @@
1/*
2 * This file is subject to the terms and conditions of the GNU General Public
3 * License. See the file "COPYING" in the main directory of this archive
4 * for more details.
5 *
6 * Copyright (C) 2004 Montavista Software Inc.
7 * Author: Manish Lachwani (mlachwani@mvista.com)
8 *
9 * Looking at the schematics for the Ocelot-3 board, there are
10 * two PCI busses and each bus has two PCI slots.
11 */
12#include <linux/kernel.h>
13#include <linux/init.h>
14#include <linux/pci.h>
15#include <asm/mipsregs.h>
16
17/*
18 * Do platform specific device initialization at
19 * pci_enable_device() time
20 */
21int pcibios_plat_dev_init(struct pci_dev *dev)
22{
23 return 0;
24}
25
26int __init pcibios_map_irq(struct pci_dev *dev, u8 slot, u8 pin)
27{
28 int bus = dev->bus->number;
29
30 if (bus == 0 && slot == 1)
31 return 2; /* PCI-X A */
32 if (bus == 0 && slot == 2)
33 return 3; /* PCI-X B */
34 if (bus == 1 && slot == 1)
35 return 4; /* PCI A */
36 if (bus == 1 && slot == 2)
37 return 5; /* PCI B */
38
39return 0;
40 panic("Whooops in pcibios_map_irq");
41}
diff --git a/arch/mips/pci/fixup-pmcmsp.c b/arch/mips/pci/fixup-pmcmsp.c
new file mode 100644
index 000000000000..00261211dbfa
--- /dev/null
+++ b/arch/mips/pci/fixup-pmcmsp.c
@@ -0,0 +1,216 @@
1/*
2 * PMC-Sierra MSP board specific pci fixups.
3 *
4 * Copyright 2001 MontaVista Software Inc.
5 * Copyright 2005-2007 PMC-Sierra, Inc
6 *
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#ifdef CONFIG_PCI
32
33#include <linux/types.h>
34#include <linux/pci.h>
35#include <linux/kernel.h>
36#include <linux/init.h>
37
38#include <asm/byteorder.h>
39
40#include <msp_pci.h>
41#include <msp_cic_int.h>
42
43/* PCI interrupt pins */
44#define IRQ4 MSP_INT_EXT4
45#define IRQ5 MSP_INT_EXT5
46#define IRQ6 MSP_INT_EXT6
47
48#if defined(CONFIG_PMC_MSP7120_GW)
49/* Garibaldi Board IRQ wiring to PCI slots */
50static char irq_tab[][5] __initdata = {
51 /* INTA INTB INTC INTD */
52 {0, 0, 0, 0, 0 }, /* (AD[0]): Unused */
53 {0, 0, 0, 0, 0 }, /* (AD[1]): Unused */
54 {0, 0, 0, 0, 0 }, /* (AD[2]): Unused */
55 {0, 0, 0, 0, 0 }, /* (AD[3]): Unused */
56 {0, 0, 0, 0, 0 }, /* (AD[4]): Unused */
57 {0, 0, 0, 0, 0 }, /* (AD[5]): Unused */
58 {0, 0, 0, 0, 0 }, /* (AD[6]): Unused */
59 {0, 0, 0, 0, 0 }, /* (AD[7]): Unused */
60 {0, 0, 0, 0, 0 }, /* (AD[8]): Unused */
61 {0, 0, 0, 0, 0 }, /* (AD[9]): Unused */
62 {0, 0, 0, 0, 0 }, /* 0 (AD[10]): Unused */
63 {0, 0, 0, 0, 0 }, /* 1 (AD[11]): Unused */
64 {0, 0, 0, 0, 0 }, /* 2 (AD[12]): Unused */
65 {0, 0, 0, 0, 0 }, /* 3 (AD[13]): Unused */
66 {0, 0, 0, 0, 0 }, /* 4 (AD[14]): Unused */
67 {0, 0, 0, 0, 0 }, /* 5 (AD[15]): Unused */
68 {0, 0, 0, 0, 0 }, /* 6 (AD[16]): Unused */
69 {0, 0, 0, 0, 0 }, /* 7 (AD[17]): Unused */
70 {0, 0, 0, 0, 0 }, /* 8 (AD[18]): Unused */
71 {0, 0, 0, 0, 0 }, /* 9 (AD[19]): Unused */
72 {0, 0, 0, 0, 0 }, /* 10 (AD[20]): Unused */
73 {0, 0, 0, 0, 0 }, /* 11 (AD[21]): Unused */
74 {0, 0, 0, 0, 0 }, /* 12 (AD[22]): Unused */
75 {0, 0, 0, 0, 0 }, /* 13 (AD[23]): Unused */
76 {0, 0, 0, 0, 0 }, /* 14 (AD[24]): Unused */
77 {0, 0, 0, 0, 0 }, /* 15 (AD[25]): Unused */
78 {0, 0, 0, 0, 0 }, /* 16 (AD[26]): Unused */
79 {0, 0, 0, 0, 0 }, /* 17 (AD[27]): Unused */
80 {0, IRQ4, IRQ4, 0, 0 }, /* 18 (AD[28]): slot 0 */
81 {0, 0, 0, 0, 0 }, /* 19 (AD[29]): Unused */
82 {0, IRQ5, IRQ5, 0, 0 }, /* 20 (AD[30]): slot 1 */
83 {0, IRQ6, IRQ6, 0, 0 } /* 21 (AD[31]): slot 2 */
84};
85
86#elif defined(CONFIG_PMC_MSP7120_EVAL)
87
88/* MSP7120 Eval Board IRQ wiring to PCI slots */
89static char irq_tab[][5] __initdata = {
90 /* INTA INTB INTC INTD */
91 {0, 0, 0, 0, 0 }, /* (AD[0]): Unused */
92 {0, 0, 0, 0, 0 }, /* (AD[1]): Unused */
93 {0, 0, 0, 0, 0 }, /* (AD[2]): Unused */
94 {0, 0, 0, 0, 0 }, /* (AD[3]): Unused */
95 {0, 0, 0, 0, 0 }, /* (AD[4]): Unused */
96 {0, 0, 0, 0, 0 }, /* (AD[5]): Unused */
97 {0, 0, 0, 0, 0 }, /* (AD[6]): Unused */
98 {0, 0, 0, 0, 0 }, /* (AD[7]): Unused */
99 {0, 0, 0, 0, 0 }, /* (AD[8]): Unused */
100 {0, 0, 0, 0, 0 }, /* (AD[9]): Unused */
101 {0, 0, 0, 0, 0 }, /* 0 (AD[10]): Unused */
102 {0, 0, 0, 0, 0 }, /* 1 (AD[11]): Unused */
103 {0, 0, 0, 0, 0 }, /* 2 (AD[12]): Unused */
104 {0, 0, 0, 0, 0 }, /* 3 (AD[13]): Unused */
105 {0, 0, 0, 0, 0 }, /* 4 (AD[14]): Unused */
106 {0, 0, 0, 0, 0 }, /* 5 (AD[15]): Unused */
107 {0, IRQ6, IRQ6, 0, 0 }, /* 6 (AD[16]): slot 3 (mini) */
108 {0, IRQ5, IRQ5, 0, 0 }, /* 7 (AD[17]): slot 2 (mini) */
109 {0, IRQ4, IRQ4, IRQ4, IRQ4}, /* 8 (AD[18]): slot 0 (PCI) */
110 {0, IRQ5, IRQ5, IRQ5, IRQ5}, /* 9 (AD[19]): slot 1 (PCI) */
111 {0, 0, 0, 0, 0 }, /* 10 (AD[20]): Unused */
112 {0, 0, 0, 0, 0 }, /* 11 (AD[21]): Unused */
113 {0, 0, 0, 0, 0 }, /* 12 (AD[22]): Unused */
114 {0, 0, 0, 0, 0 }, /* 13 (AD[23]): Unused */
115 {0, 0, 0, 0, 0 }, /* 14 (AD[24]): Unused */
116 {0, 0, 0, 0, 0 }, /* 15 (AD[25]): Unused */
117 {0, 0, 0, 0, 0 }, /* 16 (AD[26]): Unused */
118 {0, 0, 0, 0, 0 }, /* 17 (AD[27]): Unused */
119 {0, 0, 0, 0, 0 }, /* 18 (AD[28]): Unused */
120 {0, 0, 0, 0, 0 }, /* 19 (AD[29]): Unused */
121 {0, 0, 0, 0, 0 }, /* 20 (AD[30]): Unused */
122 {0, 0, 0, 0, 0 } /* 21 (AD[31]): Unused */
123};
124
125#else
126
127/* Unknown board -- don't assign any IRQs */
128static char irq_tab[][5] __initdata = {
129 /* INTA INTB INTC INTD */
130 {0, 0, 0, 0, 0 }, /* (AD[0]): Unused */
131 {0, 0, 0, 0, 0 }, /* (AD[1]): Unused */
132 {0, 0, 0, 0, 0 }, /* (AD[2]): Unused */
133 {0, 0, 0, 0, 0 }, /* (AD[3]): Unused */
134 {0, 0, 0, 0, 0 }, /* (AD[4]): Unused */
135 {0, 0, 0, 0, 0 }, /* (AD[5]): Unused */
136 {0, 0, 0, 0, 0 }, /* (AD[6]): Unused */
137 {0, 0, 0, 0, 0 }, /* (AD[7]): Unused */
138 {0, 0, 0, 0, 0 }, /* (AD[8]): Unused */
139 {0, 0, 0, 0, 0 }, /* (AD[9]): Unused */
140 {0, 0, 0, 0, 0 }, /* 0 (AD[10]): Unused */
141 {0, 0, 0, 0, 0 }, /* 1 (AD[11]): Unused */
142 {0, 0, 0, 0, 0 }, /* 2 (AD[12]): Unused */
143 {0, 0, 0, 0, 0 }, /* 3 (AD[13]): Unused */
144 {0, 0, 0, 0, 0 }, /* 4 (AD[14]): Unused */
145 {0, 0, 0, 0, 0 }, /* 5 (AD[15]): Unused */
146 {0, 0, 0, 0, 0 }, /* 6 (AD[16]): Unused */
147 {0, 0, 0, 0, 0 }, /* 7 (AD[17]): Unused */
148 {0, 0, 0, 0, 0 }, /* 8 (AD[18]): Unused */
149 {0, 0, 0, 0, 0 }, /* 9 (AD[19]): Unused */
150 {0, 0, 0, 0, 0 }, /* 10 (AD[20]): Unused */
151 {0, 0, 0, 0, 0 }, /* 11 (AD[21]): Unused */
152 {0, 0, 0, 0, 0 }, /* 12 (AD[22]): Unused */
153 {0, 0, 0, 0, 0 }, /* 13 (AD[23]): Unused */
154 {0, 0, 0, 0, 0 }, /* 14 (AD[24]): Unused */
155 {0, 0, 0, 0, 0 }, /* 15 (AD[25]): Unused */
156 {0, 0, 0, 0, 0 }, /* 16 (AD[26]): Unused */
157 {0, 0, 0, 0, 0 }, /* 17 (AD[27]): Unused */
158 {0, 0, 0, 0, 0 }, /* 18 (AD[28]): Unused */
159 {0, 0, 0, 0, 0 }, /* 19 (AD[29]): Unused */
160 {0, 0, 0, 0, 0 }, /* 20 (AD[30]): Unused */
161 {0, 0, 0, 0, 0 } /* 21 (AD[31]): Unused */
162};
163#endif
164
165/*****************************************************************************
166 *
167 * FUNCTION: pcibios_plat_dev_init
168 * _________________________________________________________________________
169 *
170 * DESCRIPTION: Perform platform specific device initialization at
171 * pci_enable_device() time.
172 * None are needed for the MSP7120 PCI Controller.
173 *
174 * INPUTS: dev - structure describing the PCI device
175 *
176 * OUTPUTS: none
177 *
178 * RETURNS: PCIBIOS_SUCCESSFUL
179 *
180 ****************************************************************************/
181int pcibios_plat_dev_init(struct pci_dev *dev)
182{
183 return PCIBIOS_SUCCESSFUL;
184}
185
186/*****************************************************************************
187 *
188 * FUNCTION: pcibios_map_irq
189 * _________________________________________________________________________
190 *
191 * DESCRIPTION: Perform board supplied PCI IRQ mapping routine.
192 *
193 * INPUTS: dev - unused
194 * slot - PCI slot. Identified by which bit of the AD[] bus
195 * drives the IDSEL line. AD[10] is 0, AD[31] is
196 * slot 21.
197 * pin - numbered using the scheme of the PCI_INTERRUPT_PIN
198 * field of the config header.
199 *
200 * OUTPUTS: none
201 *
202 * RETURNS: IRQ number
203 *
204 ****************************************************************************/
205int __init pcibios_map_irq(struct pci_dev *dev, u8 slot, u8 pin)
206{
207#if !defined(CONFIG_PMC_MSP7120_GW) && !defined(CONFIG_PMC_MSP7120_EVAL)
208 printk(KERN_WARNING "PCI: unknown board, no PCI IRQs assigned.\n");
209#endif
210 printk(KERN_WARNING "PCI: irq_tab returned %d for slot=%d pin=%d\n",
211 irq_tab[slot][pin], slot, pin);
212
213 return irq_tab[slot][pin];
214}
215
216#endif /* CONFIG_PCI */
diff --git a/arch/mips/pci/fixup-pnx8550.c b/arch/mips/pci/fixup-pnx8550.c
index 50546dab6689..96857ac63bf5 100644
--- a/arch/mips/pci/fixup-pnx8550.c
+++ b/arch/mips/pci/fixup-pnx8550.c
@@ -45,7 +45,7 @@ void __init pcibios_fixup(void)
45 /* nothing to do here */ 45 /* nothing to do here */
46} 46}
47 47
48int __init pcibios_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 48int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
49{ 49{
50 return pnx8550_irq_tab[slot][pin]; 50 return pnx8550_irq_tab[slot][pin];
51} 51}
diff --git a/arch/mips/pci/fixup-rbtx4927.c b/arch/mips/pci/fixup-rbtx4927.c
index ceeb1860895a..3cdbecb8e714 100644
--- a/arch/mips/pci/fixup-rbtx4927.c
+++ b/arch/mips/pci/fixup-rbtx4927.c
@@ -119,7 +119,7 @@ int pci_get_irq(struct pci_dev *dev, int pin)
119 return irq; 119 return irq;
120} 120}
121 121
122int __init pcibios_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 122int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
123{ 123{
124 unsigned char irq; 124 unsigned char irq;
125 125
diff --git a/arch/mips/pci/fixup-sni.c b/arch/mips/pci/fixup-sni.c
index 36e5fb1b3786..a45bedd17233 100644
--- a/arch/mips/pci/fixup-sni.c
+++ b/arch/mips/pci/fixup-sni.c
@@ -120,7 +120,7 @@ static inline int is_rm300_revd(void)
120 return (csmsr & 0xa0) == 0x20; 120 return (csmsr & 0xa0) == 0x20;
121} 121}
122 122
123int __init pcibios_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 123int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
124{ 124{
125 switch (sni_brd_type) { 125 switch (sni_brd_type) {
126 case SNI_BRD_PCI_TOWER: 126 case SNI_BRD_PCI_TOWER:
diff --git a/arch/mips/pci/fixup-tb0219.c b/arch/mips/pci/fixup-tb0219.c
index 734f2b71e164..720a2b720c5c 100644
--- a/arch/mips/pci/fixup-tb0219.c
+++ b/arch/mips/pci/fixup-tb0219.c
@@ -23,7 +23,7 @@
23 23
24#include <asm/vr41xx/tb0219.h> 24#include <asm/vr41xx/tb0219.h>
25 25
26int __init pcibios_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 26int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
27{ 27{
28 int irq = -1; 28 int irq = -1;
29 29
diff --git a/arch/mips/pci/fixup-tb0226.c b/arch/mips/pci/fixup-tb0226.c
index c9e7cb4361a1..e3eedf4bf9bd 100644
--- a/arch/mips/pci/fixup-tb0226.c
+++ b/arch/mips/pci/fixup-tb0226.c
@@ -23,7 +23,7 @@
23#include <asm/vr41xx/giu.h> 23#include <asm/vr41xx/giu.h>
24#include <asm/vr41xx/tb0226.h> 24#include <asm/vr41xx/tb0226.h>
25 25
26int __init pcibios_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 26int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
27{ 27{
28 int irq = -1; 28 int irq = -1;
29 29
diff --git a/arch/mips/pci/fixup-tb0287.c b/arch/mips/pci/fixup-tb0287.c
index fbe6bcb28199..267ab3dc3d42 100644
--- a/arch/mips/pci/fixup-tb0287.c
+++ b/arch/mips/pci/fixup-tb0287.c
@@ -22,7 +22,7 @@
22 22
23#include <asm/vr41xx/tb0287.h> 23#include <asm/vr41xx/tb0287.h>
24 24
25int __init pcibios_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 25int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
26{ 26{
27 unsigned char bus; 27 unsigned char bus;
28 int irq = -1; 28 int irq = -1;
diff --git a/arch/mips/pci/fixup-tx4938.c b/arch/mips/pci/fixup-tx4938.c
index f455520ada88..2485f47dfe6f 100644
--- a/arch/mips/pci/fixup-tx4938.c
+++ b/arch/mips/pci/fixup-tx4938.c
@@ -69,7 +69,7 @@ int pci_get_irq(struct pci_dev *dev, int pin)
69 return irq; 69 return irq;
70} 70}
71 71
72int __init pcibios_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 72int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
73{ 73{
74 unsigned char irq = 0; 74 unsigned char irq = 0;
75 75
diff --git a/arch/mips/pci/fixup-vr4133.c b/arch/mips/pci/fixup-vr4133.c
index a8d9d22b13df..de5e5f6bbf4c 100644
--- a/arch/mips/pci/fixup-vr4133.c
+++ b/arch/mips/pci/fixup-vr4133.c
@@ -169,7 +169,7 @@ void i8259_init(void)
169} 169}
170#endif 170#endif
171 171
172int __init pcibios_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 172int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
173{ 173{
174 extern int pci_probe_only; 174 extern int pci_probe_only;
175 pci_probe_only = 1; 175 pci_probe_only = 1;
diff --git a/arch/mips/pci/fixup-wrppmc.c b/arch/mips/pci/fixup-wrppmc.c
index 3357c1300bb1..3d277549d5df 100644
--- a/arch/mips/pci/fixup-wrppmc.c
+++ b/arch/mips/pci/fixup-wrppmc.c
@@ -25,7 +25,7 @@ static char pci_irq_tab[PCI_SLOT_MAXNR][5] __initdata = {
25 [6] = {0, WRPPMC_PCI_INTA_IRQ, 0, 0, 0}, 25 [6] = {0, WRPPMC_PCI_INTA_IRQ, 0, 0, 0},
26}; 26};
27 27
28int __init pcibios_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 28int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
29{ 29{
30 return pci_irq_tab[slot][pin]; 30 return pci_irq_tab[slot][pin];
31} 31}
diff --git a/arch/mips/pci/fixup-yosemite.c b/arch/mips/pci/fixup-yosemite.c
index 81d77a587a51..fdafb13a793b 100644
--- a/arch/mips/pci/fixup-yosemite.c
+++ b/arch/mips/pci/fixup-yosemite.c
@@ -26,7 +26,7 @@
26#include <linux/init.h> 26#include <linux/init.h>
27#include <linux/pci.h> 27#include <linux/pci.h>
28 28
29int __init pcibios_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 29int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
30{ 30{
31 if (pin == 0) 31 if (pin == 0)
32 return -1; 32 return -1;
diff --git a/arch/mips/pci/ops-bonito64.c b/arch/mips/pci/ops-bonito64.c
index dc35270b65a2..f742c51acf0d 100644
--- a/arch/mips/pci/ops-bonito64.c
+++ b/arch/mips/pci/ops-bonito64.c
@@ -29,83 +29,60 @@
29#define PCI_ACCESS_READ 0 29#define PCI_ACCESS_READ 0
30#define PCI_ACCESS_WRITE 1 30#define PCI_ACCESS_WRITE 1
31 31
32/* 32#ifdef CONFIG_LEMOTE_FULONG
33 * PCI configuration cycle AD bus definition 33#define CFG_SPACE_REG(offset) (void *)CKSEG1ADDR(BONITO_PCICFG_BASE | (offset))
34 */ 34#define ID_SEL_BEGIN 11
35/* Type 0 */ 35#else
36#define PCI_CFG_TYPE0_REG_SHF 0 36#define CFG_SPACE_REG(offset) (void *)CKSEG1ADDR(_pcictrl_bonito_pcicfg + (offset))
37#define PCI_CFG_TYPE0_FUNC_SHF 8 37#define ID_SEL_BEGIN 10
38#endif
39#define MAX_DEV_NUM (31 - ID_SEL_BEGIN)
38 40
39/* Type 1 */
40#define PCI_CFG_TYPE1_REG_SHF 0
41#define PCI_CFG_TYPE1_FUNC_SHF 8
42#define PCI_CFG_TYPE1_DEV_SHF 11
43#define PCI_CFG_TYPE1_BUS_SHF 16
44 41
45static int bonito64_pcibios_config_access(unsigned char access_type, 42static int bonito64_pcibios_config_access(unsigned char access_type,
46 struct pci_bus *bus, 43 struct pci_bus *bus,
47 unsigned int devfn, int where, 44 unsigned int devfn, int where,
48 u32 * data) 45 u32 * data)
49{ 46{
50 unsigned char busnum = bus->number; 47 u32 busnum = bus->number;
48 u32 addr, type;
51 u32 dummy; 49 u32 dummy;
52 u64 pci_addr; 50 void *addrp;
53 51 int device = PCI_SLOT(devfn);
54 /* Algorithmics Bonito64 system controller. */ 52 int function = PCI_FUNC(devfn);
53 int reg = where & ~3;
55 54
56 if ((busnum == 0) && (PCI_SLOT(devfn) > 21)) {
57 /* We number bus 0 devices from 0..21 */
58 return -1;
59 }
60
61 /* Clear cause register bits */
62 BONITO_PCICMD |= (BONITO_PCICMD_MABORT_CLR |
63 BONITO_PCICMD_MTABORT_CLR);
64
65 /*
66 * Setup pattern to be used as PCI "address" for
67 * Type 0 cycle
68 */
69 if (busnum == 0) { 55 if (busnum == 0) {
70 /* IDSEL */ 56 /* Type 0 configuration for onboard PCI bus */
71 pci_addr = (u64) 1 << (PCI_SLOT(devfn) + 10); 57 if (device > MAX_DEV_NUM)
72 } else { 58 return -1;
73 /* Bus number */
74 pci_addr = busnum << PCI_CFG_TYPE1_BUS_SHF;
75
76 /* Device number */
77 pci_addr |=
78 PCI_SLOT(devfn) << PCI_CFG_TYPE1_DEV_SHF;
79 }
80
81 /* Function (same for Type 0/1) */
82 pci_addr |= PCI_FUNC(devfn) << PCI_CFG_TYPE0_FUNC_SHF;
83
84 /* Register number (same for Type 0/1) */
85 pci_addr |= (where & ~0x3) << PCI_CFG_TYPE0_REG_SHF;
86 59
87 if (busnum == 0) { 60 addr = (1 << (device + ID_SEL_BEGIN)) | (function << 8) | reg;
88 /* Type 0 */ 61 type = 0;
89 BONITO_PCIMAP_CFG = pci_addr >> 16;
90 } else { 62 } else {
91 /* Type 1 */ 63 /* Type 1 configuration for offboard PCI bus */
92 BONITO_PCIMAP_CFG = (pci_addr >> 16) | 0x10000; 64 addr = (busnum << 16) | (device << 11) | (function << 8) | reg;
65 type = 0x10000;
93 } 66 }
94 67
95 pci_addr &= 0xffff; 68 /* Clear aborts */
69 BONITO_PCICMD |= BONITO_PCICMD_MABORT_CLR | BONITO_PCICMD_MTABORT_CLR;
70
71 BONITO_PCIMAP_CFG = (addr >> 16) | type;
96 72
97 /* Flush Bonito register block */ 73 /* Flush Bonito register block */
98 dummy = BONITO_PCIMAP_CFG; 74 dummy = BONITO_PCIMAP_CFG;
99 iob(); /* sync */ 75 mmiowb();
100 76
101 /* Perform access */ 77 addrp = CFG_SPACE_REG(addr & 0xffff);
102 if (access_type == PCI_ACCESS_WRITE) { 78 if (access_type == PCI_ACCESS_WRITE) {
103 *(volatile u32 *) (_pcictrl_bonito_pcicfg + (u32)pci_addr) = *(u32 *) data; 79 writel(cpu_to_le32(*data), addrp);
104 80#ifndef CONFIG_LEMOTE_FULONG
105 /* Wait till done */ 81 /* Wait till done */
106 while (BONITO_PCIMSTAT & 0xF); 82 while (BONITO_PCIMSTAT & 0xF);
83#endif
107 } else { 84 } else {
108 *(u32 *) data = *(volatile u32 *) (_pcictrl_bonito_pcicfg + (u32)pci_addr); 85 *data = le32_to_cpu(readl(addrp));
109 } 86 }
110 87
111 /* Detect Master/Target abort */ 88 /* Detect Master/Target abort */
@@ -121,6 +98,7 @@ static int bonito64_pcibios_config_access(unsigned char access_type,
121 } 98 }
122 99
123 return 0; 100 return 0;
101
124} 102}
125 103
126 104
diff --git a/arch/mips/pci/ops-marvell.c b/arch/mips/pci/ops-marvell.c
deleted file mode 100644
index 1ac5c59199d1..000000000000
--- a/arch/mips/pci/ops-marvell.c
+++ /dev/null
@@ -1,93 +0,0 @@
1/*
2 * This file is subject to the terms and conditions of the GNU General Public
3 * License. See the file "COPYING" in the main directory of this archive
4 * for more details.
5 *
6 * Copyright (C) 2003, 2004 Ralf Baechle (ralf@linux-mips.org)
7 */
8#include <linux/kernel.h>
9#include <linux/types.h>
10#include <linux/pci.h>
11
12#include <asm/marvell.h>
13
14static int mv_read_config(struct pci_bus *bus, unsigned int devfn,
15 int where, int size, u32 * val)
16{
17 struct mv_pci_controller *mvbc = bus->sysdata;
18 unsigned long address_reg, data_reg;
19 u32 address;
20
21 address_reg = mvbc->config_addr;
22 data_reg = mvbc->config_vreg;
23
24 /* Accessing device 31 crashes those Marvells. Since years.
25 Will they ever make sane controllers ... */
26 if (PCI_SLOT(devfn) == 31)
27 return PCIBIOS_DEVICE_NOT_FOUND;
28
29 address = (bus->number << 16) | (devfn << 8) |
30 (where & 0xfc) | 0x80000000;
31
32 /* start the configuration cycle */
33 MV_WRITE(address_reg, address);
34
35 switch (size) {
36 case 1:
37 *val = MV_READ_8(data_reg + (where & 0x3));
38 break;
39
40 case 2:
41 *val = MV_READ_16(data_reg + (where & 0x3));
42 break;
43
44 case 4:
45 *val = MV_READ(data_reg);
46 break;
47 }
48
49 return PCIBIOS_SUCCESSFUL;
50}
51
52static int mv_write_config(struct pci_bus *bus, unsigned int devfn,
53 int where, int size, u32 val)
54{
55 struct mv_pci_controller *mvbc = bus->sysdata;
56 unsigned long address_reg, data_reg;
57 u32 address;
58
59 address_reg = mvbc->config_addr;
60 data_reg = mvbc->config_vreg;
61
62 /* Accessing device 31 crashes those Marvells. Since years.
63 Will they ever make sane controllers ... */
64 if (PCI_SLOT(devfn) == 31)
65 return PCIBIOS_DEVICE_NOT_FOUND;
66
67 address = (bus->number << 16) | (devfn << 8) |
68 (where & 0xfc) | 0x80000000;
69
70 /* start the configuration cycle */
71 MV_WRITE(address_reg, address);
72
73 switch (size) {
74 case 1:
75 MV_WRITE_8(data_reg + (where & 0x3), val);
76 break;
77
78 case 2:
79 MV_WRITE_16(data_reg + (where & 0x3), val);
80 break;
81
82 case 4:
83 MV_WRITE(data_reg, val);
84 break;
85 }
86
87 return PCIBIOS_SUCCESSFUL;
88}
89
90struct pci_ops mv_pci_ops = {
91 .read = mv_read_config,
92 .write = mv_write_config
93};
diff --git a/arch/mips/pci/ops-nile4.c b/arch/mips/pci/ops-nile4.c
deleted file mode 100644
index a8d38dc8c504..000000000000
--- a/arch/mips/pci/ops-nile4.c
+++ /dev/null
@@ -1,147 +0,0 @@
1#include <linux/kernel.h>
2#include <linux/init.h>
3#include <linux/pci.h>
4#include <asm/bootinfo.h>
5
6#include <asm/lasat/lasat.h>
7#include <asm/gt64120.h>
8#include <asm/nile4.h>
9
10#define PCI_ACCESS_READ 0
11#define PCI_ACCESS_WRITE 1
12
13#define LO(reg) (reg / 4)
14#define HI(reg) (reg / 4 + 1)
15
16volatile unsigned long *const vrc_pciregs = (void *) Vrc5074_BASE;
17
18static DEFINE_SPINLOCK(nile4_pci_lock);
19
20static int nile4_pcibios_config_access(unsigned char access_type,
21 struct pci_bus *bus, unsigned int devfn, int where, u32 * val)
22{
23 unsigned char busnum = bus->number;
24 u32 adr, mask, err;
25
26 if ((busnum == 0) && (PCI_SLOT(devfn) > 8))
27 /* The addressing scheme chosen leaves room for just
28 * 8 devices on the first busnum (besides the PCI
29 * controller itself) */
30 return PCIBIOS_DEVICE_NOT_FOUND;
31
32 if ((busnum == 0) && (devfn == PCI_DEVFN(0, 0))) {
33 /* Access controller registers directly */
34 if (access_type == PCI_ACCESS_WRITE) {
35 vrc_pciregs[(0x200 + where) >> 2] = *val;
36 } else {
37 *val = vrc_pciregs[(0x200 + where) >> 2];
38 }
39 return PCIBIOS_SUCCESSFUL;
40 }
41
42 /* Temporarily map PCI Window 1 to config space */
43 mask = vrc_pciregs[LO(NILE4_PCIINIT1)];
44 vrc_pciregs[LO(NILE4_PCIINIT1)] = 0x0000001a | (busnum ? 0x200 : 0);
45
46 /* Clear PCI Error register. This also clears the Error Type
47 * bits in the Control register */
48 vrc_pciregs[LO(NILE4_PCIERR)] = 0;
49 vrc_pciregs[HI(NILE4_PCIERR)] = 0;
50
51 /* Setup address */
52 if (busnum == 0)
53 adr =
54 KSEG1ADDR(PCI_WINDOW1) +
55 ((1 << (PCI_SLOT(devfn) + 15)) | (PCI_FUNC(devfn) << 8)
56 | (where & ~3));
57 else
58 adr = KSEG1ADDR(PCI_WINDOW1) | (busnum << 16) | (devfn << 8) |
59 (where & ~3);
60
61 if (access_type == PCI_ACCESS_WRITE)
62 *(u32 *) adr = *val;
63 else
64 *val = *(u32 *) adr;
65
66 /* Check for master or target abort */
67 err = (vrc_pciregs[HI(NILE4_PCICTRL)] >> 5) & 0x7;
68
69 /* Restore PCI Window 1 */
70 vrc_pciregs[LO(NILE4_PCIINIT1)] = mask;
71
72 if (err)
73 return PCIBIOS_DEVICE_NOT_FOUND;
74
75 return PCIBIOS_SUCCESSFUL;
76}
77
78static int nile4_pcibios_read(struct pci_bus *bus, unsigned int devfn,
79 int where, int size, u32 * val)
80{
81 unsigned long flags;
82 u32 data = 0;
83 int err;
84
85 if ((size == 2) && (where & 1))
86 return PCIBIOS_BAD_REGISTER_NUMBER;
87 else if ((size == 4) && (where & 3))
88 return PCIBIOS_BAD_REGISTER_NUMBER;
89
90 spin_lock_irqsave(&nile4_pci_lock, flags);
91 err = nile4_pcibios_config_access(PCI_ACCESS_READ, bus, devfn, where,
92 &data);
93 spin_unlock_irqrestore(&nile4_pci_lock, flags);
94
95 if (err)
96 return err;
97
98 if (size == 1)
99 *val = (data >> ((where & 3) << 3)) & 0xff;
100 else if (size == 2)
101 *val = (data >> ((where & 3) << 3)) & 0xffff;
102 else
103 *val = data;
104
105 return PCIBIOS_SUCCESSFUL;
106}
107
108static int nile4_pcibios_write(struct pci_bus *bus, unsigned int devfn,
109 int where, int size, u32 val)
110{
111 unsigned long flags;
112 u32 data = 0;
113 int err;
114
115 if ((size == 2) && (where & 1))
116 return PCIBIOS_BAD_REGISTER_NUMBER;
117 else if ((size == 4) && (where & 3))
118 return PCIBIOS_BAD_REGISTER_NUMBER;
119
120 spin_lock_irqsave(&nile4_pci_lock, flags);
121 err = nile4_pcibios_config_access(PCI_ACCESS_READ, bus, devfn, where,
122 &data);
123 spin_unlock_irqrestore(&nile4_pci_lock, flags);
124
125 if (err)
126 return err;
127
128 if (size == 1)
129 data = (data & ~(0xff << ((where & 3) << 3))) |
130 (val << ((where & 3) << 3));
131 else if (size == 2)
132 data = (data & ~(0xffff << ((where & 3) << 3))) |
133 (val << ((where & 3) << 3));
134 else
135 data = val;
136
137 if (nile4_pcibios_config_access
138 (PCI_ACCESS_WRITE, bus, devfn, where, &data))
139 return -1;
140
141 return PCIBIOS_SUCCESSFUL;
142}
143
144struct pci_ops nile4_pci_ops = {
145 .read = nile4_pcibios_read,
146 .write = nile4_pcibios_write,
147};
diff --git a/arch/mips/pci/ops-pmcmsp.c b/arch/mips/pci/ops-pmcmsp.c
new file mode 100644
index 000000000000..09fa007c1d1b
--- /dev/null
+++ b/arch/mips/pci/ops-pmcmsp.c
@@ -0,0 +1,994 @@
1/*
2 * PMC-Sierra MSP board specific pci_ops
3 *
4 * Copyright 2001 MontaVista Software Inc.
5 * Copyright 2005-2007 PMC-Sierra, Inc
6 *
7 * Author: Jun Sun, jsun@mvista.com or jsun@junsun.net
8 *
9 * Much of the code is derived from the original DDB5074 port by
10 * Geert Uytterhoeven <geert@sonycom.com>
11 *
12 * This program is free software; you can redistribute it and/or modify it
13 * under the terms of the GNU General Public License as published by the
14 * Free Software Foundation; either version 2 of the License, or (at your
15 * option) any later version.
16 *
17 */
18
19#define PCI_COUNTERS 1
20
21#include <linux/types.h>
22#include <linux/pci.h>
23#include <linux/interrupt.h>
24
25#if defined(CONFIG_PROC_FS) && defined(PCI_COUNTERS)
26#include <linux/proc_fs.h>
27#include <linux/seq_file.h>
28#endif /* CONFIG_PROC_FS && PCI_COUNTERS */
29
30#include <linux/kernel.h>
31#include <linux/init.h>
32
33#include <asm/byteorder.h>
34#if defined(CONFIG_PMC_MSP7120_GW) || defined(CONFIG_PMC_MSP7120_EVAL)
35#include <asm/mipsmtregs.h>
36#endif
37
38#include <msp_prom.h>
39#include <msp_cic_int.h>
40#include <msp_pci.h>
41#include <msp_regs.h>
42#include <msp_regops.h>
43
44#define PCI_ACCESS_READ 0
45#define PCI_ACCESS_WRITE 1
46
47#if defined(CONFIG_PROC_FS) && defined(PCI_COUNTERS)
48static char proc_init;
49extern struct proc_dir_entry *proc_bus_pci_dir;
50unsigned int pci_int_count[32];
51
52static void pci_proc_init(void);
53
54/*****************************************************************************
55 *
56 * FUNCTION: read_msp_pci_counts
57 * _________________________________________________________________________
58 *
59 * DESCRIPTION: Prints the count of how many times each PCI
60 * interrupt has asserted. Can be invoked by the
61 * /proc filesystem.
62 *
63 * INPUTS: page - part of STDOUT calculation
64 * off - part of STDOUT calculation
65 * count - part of STDOUT calculation
66 * data - unused
67 *
68 * OUTPUTS: start - new start location
69 * eof - end of file pointer
70 *
71 * RETURNS: len - STDOUT length
72 *
73 ****************************************************************************/
74static int read_msp_pci_counts(char *page, char **start, off_t off,
75 int count, int *eof, void *data)
76{
77 int i;
78 int len = 0;
79 unsigned int intcount, total = 0;
80
81 for (i = 0; i < 32; ++i) {
82 intcount = pci_int_count[i];
83 if (intcount != 0) {
84 len += sprintf(page + len, "[%d] = %u\n", i, intcount);
85 total += intcount;
86 }
87 }
88
89 len += sprintf(page + len, "total = %u\n", total);
90 if (len <= off+count)
91 *eof = 1;
92
93 *start = page + off;
94 len -= off;
95 if (len > count)
96 len = count;
97 if (len < 0)
98 len = 0;
99
100 return len;
101}
102
103/*****************************************************************************
104 *
105 * FUNCTION: gen_pci_cfg_wr
106 * _________________________________________________________________________
107 *
108 * DESCRIPTION: Generates a configuration write cycle for debug purposes.
109 * The IDSEL line asserted and location and data written are
110 * immaterial. Just want to be able to prove that a
111 * configuration write can be correctly generated on the
112 * PCI bus. Intent is that this function by invocable from
113 * the /proc filesystem.
114 *
115 * INPUTS: page - part of STDOUT calculation
116 * off - part of STDOUT calculation
117 * count - part of STDOUT calculation
118 * data - unused
119 *
120 * OUTPUTS: start - new start location
121 * eof - end of file pointer
122 *
123 * RETURNS: len - STDOUT length
124 *
125 ****************************************************************************/
126static int gen_pci_cfg_wr(char *page, char **start, off_t off,
127 int count, int *eof, void *data)
128{
129 unsigned char where = 0; /* Write to static Device/Vendor ID */
130 unsigned char bus_num = 0; /* Bus 0 */
131 unsigned char dev_fn = 0xF; /* Arbitrary device number */
132 u32 wr_data = 0xFF00AA00; /* Arbitrary data */
133 struct msp_pci_regs *preg = (void *)PCI_BASE_REG;
134 int len = 0;
135 unsigned long value;
136 int intr;
137
138 len += sprintf(page + len, "PMC MSP PCI: Beginning\n");
139
140 if (proc_init == 0) {
141 pci_proc_init();
142 proc_init = ~0;
143 }
144
145 len += sprintf(page + len, "PMC MSP PCI: Before Cfg Wr\n");
146
147 /*
148 * Generate PCI Configuration Write Cycle
149 */
150
151 /* Clear cause register bits */
152 preg->if_status = ~(BPCI_IFSTATUS_BC0F | BPCI_IFSTATUS_BC1F);
153
154 /* Setup address that is to appear on PCI bus */
155 preg->config_addr = BPCI_CFGADDR_ENABLE |
156 (bus_num << BPCI_CFGADDR_BUSNUM_SHF) |
157 (dev_fn << BPCI_CFGADDR_FUNCTNUM_SHF) |
158 (where & 0xFC);
159
160 value = cpu_to_le32(wr_data);
161
162 /* Launch the PCI configuration write cycle */
163 *PCI_CONFIG_SPACE_REG = value;
164
165 /*
166 * Check if the PCI configuration cycle (rd or wr) succeeded, by
167 * checking the status bits for errors like master or target abort.
168 */
169 intr = preg->if_status;
170
171 len += sprintf(page + len, "PMC MSP PCI: After Cfg Wr\n");
172
173 /* Handle STDOUT calculations */
174 if (len <= off+count)
175 *eof = 1;
176 *start = page + off;
177 len -= off;
178 if (len > count)
179 len = count;
180 if (len < 0)
181 len = 0;
182
183 return len;
184}
185
186/*****************************************************************************
187 *
188 * FUNCTION: pci_proc_init
189 * _________________________________________________________________________
190 *
191 * DESCRIPTION: Create entries in the /proc filesystem for debug access.
192 *
193 * INPUTS: none
194 *
195 * OUTPUTS: none
196 *
197 * RETURNS: none
198 *
199 ****************************************************************************/
200static void pci_proc_init(void)
201{
202 create_proc_read_entry("pmc_msp_pci_rd_cnt", 0, NULL,
203 read_msp_pci_counts, NULL);
204 create_proc_read_entry("pmc_msp_pci_cfg_wr", 0, NULL,
205 gen_pci_cfg_wr, NULL);
206}
207#endif /* CONFIG_PROC_FS && PCI_COUNTERS */
208
209spinlock_t bpci_lock = SPIN_LOCK_UNLOCKED;
210
211/*****************************************************************************
212 *
213 * STRUCT: pci_io_resource
214 * _________________________________________________________________________
215 *
216 * DESCRIPTION: Defines the address range that pciauto() will use to
217 * assign to the I/O BARs of PCI devices.
218 *
219 * Use the start and end addresses of the MSP7120 PCI Host
220 * Controller I/O space, in the form that they appear on the
221 * PCI bus AFTER MSP7120 has performed address translation.
222 *
223 * For I/O accesses, MSP7120 ignores OATRAN and maps I/O
224 * accesses into the bottom 0xFFF region of address space,
225 * so that is the range to put into the pci_io_resource
226 * struct.
227 *
228 * In MSP4200, the start address was 0x04 instead of the
229 * expected 0x00. Will just assume there was a good reason
230 * for this!
231 *
232 * NOTES: Linux, by default, will assign I/O space to the lowest
233 * region of address space. Since MSP7120 and Linux,
234 * by default, have no offset in between how they map, the
235 * io_offset element of pci_controller struct should be set
236 * to zero.
237 * ELEMENTS:
238 * name - String used for a meaningful name.
239 *
240 * start - Start address of MSP7120's I/O space, as MSP7120 presents
241 * the address on the PCI bus.
242 *
243 * end - End address of MSP7120's I/O space, as MSP7120 presents
244 * the address on the PCI bus.
245 *
246 * flags - Attributes indicating the type of resource. In this case,
247 * indicate I/O space.
248 *
249 ****************************************************************************/
250static struct resource pci_io_resource = {
251 .name = "pci IO space",
252 .start = 0x04,
253 .end = 0x0FFF,
254 .flags = IORESOURCE_IO /* I/O space */
255};
256
257/*****************************************************************************
258 *
259 * STRUCT: pci_mem_resource
260 * _________________________________________________________________________
261 *
262 * DESCRIPTION: Defines the address range that pciauto() will use to
263 * assign to the memory BARs of PCI devices.
264 *
265 * The .start and .end values are dependent upon how address
266 * translation is performed by the OATRAN regiser.
267 *
268 * The values to use for .start and .end are the values
269 * in the form they appear on the PCI bus AFTER MSP7120 has
270 * performed OATRAN address translation.
271 *
272 * ELEMENTS:
273 * name - String used for a meaningful name.
274 *
275 * start - Start address of MSP7120's memory space, as MSP7120 presents
276 * the address on the PCI bus.
277 *
278 * end - End address of MSP7120's memory space, as MSP7120 presents
279 * the address on the PCI bus.
280 *
281 * flags - Attributes indicating the type of resource. In this case,
282 * indicate memory space.
283 *
284 ****************************************************************************/
285static struct resource pci_mem_resource = {
286 .name = "pci memory space",
287 .start = MSP_PCI_SPACE_BASE,
288 .end = MSP_PCI_SPACE_END,
289 .flags = IORESOURCE_MEM /* memory space */
290};
291
292/*****************************************************************************
293 *
294 * FUNCTION: bpci_interrupt
295 * _________________________________________________________________________
296 *
297 * DESCRIPTION: PCI status interrupt handler. Updates the count of how
298 * many times each status bit has been set, then clears
299 * the status bits. If the appropriate macros are defined,
300 * these counts can be viewed via the /proc filesystem.
301 *
302 * INPUTS: irq - unused
303 * dev_id - unused
304 * pt_regs - unused
305 *
306 * OUTPUTS: none
307 *
308 * RETURNS: PCIBIOS_SUCCESSFUL - success
309 *
310 ****************************************************************************/
311static int bpci_interrupt(int irq, void *dev_id)
312{
313 struct msp_pci_regs *preg = (void *)PCI_BASE_REG;
314 unsigned int stat = preg->if_status;
315
316#if defined(CONFIG_PROC_FS) && defined(PCI_COUNTERS)
317 int i;
318 for (i = 0; i < 32; ++i) {
319 if ((1 << i) & stat)
320 ++pci_int_count[i];
321 }
322#endif /* PROC_FS && PCI_COUNTERS */
323
324 /* printk("PCI ISR: Status=%08X\n", stat); */
325
326 /* write to clear all asserted interrupts */
327 preg->if_status = stat;
328
329 return PCIBIOS_SUCCESSFUL;
330}
331
332/*****************************************************************************
333 *
334 * FUNCTION: msp_pcibios_config_access
335 * _________________________________________________________________________
336 *
337 * DESCRIPTION: Performs a PCI configuration access (rd or wr), then
338 * checks that the access succeeded by querying MSP7120's
339 * PCI status bits.
340 *
341 * INPUTS:
342 * access_type - kind of PCI configuration cycle to perform
343 * (read or write). Legal values are
344 * PCI_ACCESS_WRITE and PCI_ACCESS_READ.
345 *
346 * bus - pointer to the bus number of the device to
347 * be targetted for the configuration cycle.
348 * The only element of the pci_bus structure
349 * used is bus->number. This argument determines
350 * if the configuration access will be Type 0 or
351 * Type 1. Since MSP7120 assumes itself to be the
352 * PCI Host, any non-zero bus->number generates
353 * a Type 1 access.
354 *
355 * devfn - this is an 8-bit field. The lower three bits
356 * specify the function number of the device to
357 * be targetted for the configuration cycle, with
358 * all three-bit combinations being legal. The
359 * upper five bits specify the device number,
360 * with legal values being 10 to 31.
361 *
362 * where - address within the Configuration Header
363 * space to access.
364 *
365 * data - for write accesses, contains the data to
366 * write.
367 *
368 * OUTPUTS:
369 * data - for read accesses, contains the value read.
370 *
371 * RETURNS: PCIBIOS_SUCCESSFUL - success
372 * -1 - access failure
373 *
374 ****************************************************************************/
375int msp_pcibios_config_access(unsigned char access_type,
376 struct pci_bus *bus,
377 unsigned int devfn,
378 unsigned char where,
379 u32 *data)
380{
381 struct msp_pci_regs *preg = (void *)PCI_BASE_REG;
382 unsigned char bus_num = bus->number;
383 unsigned char dev_fn = (unsigned char)devfn;
384 unsigned long flags;
385 unsigned long intr;
386 unsigned long value;
387 static char pciirqflag;
388#if defined(CONFIG_PMC_MSP7120_GW) || defined(CONFIG_PMC_MSP7120_EVAL)
389 unsigned int vpe_status;
390#endif
391
392#if defined(CONFIG_PROC_FS) && defined(PCI_COUNTERS)
393 if (proc_init == 0) {
394 pci_proc_init();
395 proc_init = ~0;
396 }
397#endif /* CONFIG_PROC_FS && PCI_COUNTERS */
398
399 /*
400 * Just the first time this function invokes, allocate
401 * an interrupt line for PCI host status interrupts. The
402 * allocation assigns an interrupt handler to the interrupt.
403 */
404 if (pciirqflag == 0) {
405 request_irq(MSP_INT_PCI,/* Hardcoded internal MSP7120 wiring */
406 bpci_interrupt,
407 SA_SHIRQ | SA_INTERRUPT,
408 "PMC MSP PCI Host",
409 preg);
410 pciirqflag = ~0;
411 }
412
413#if defined(CONFIG_PMC_MSP7120_GW) || defined(CONFIG_PMC_MSP7120_EVAL)
414 local_irq_save(flags);
415 vpe_status = dvpe();
416#else
417 spin_lock_irqsave(&bpci_lock, flags);
418#endif
419
420 /*
421 * Clear PCI cause register bits.
422 *
423 * In Polo, the PCI Host had a dedicated DMA called the
424 * Block Copy (not to be confused with the general purpose Block
425 * Copy Engine block). There appear to have been special interrupts
426 * for this Block Copy, called Block Copy 0 Fault (BC0F) and
427 * Block Copy 1 Fault (BC1F). MSP4200 and MSP7120 don't have this
428 * dedicated Block Copy block, so these two interrupts are now
429 * marked reserved. In case the Block Copy is resurrected in a
430 * future design, maintain the code that treats these two interrupts
431 * specially.
432 *
433 * Write to clear all interrupts in the PCI status register, aside
434 * from BC0F and BC1F.
435 */
436 preg->if_status = ~(BPCI_IFSTATUS_BC0F | BPCI_IFSTATUS_BC1F);
437
438 /* Setup address that is to appear on PCI bus */
439 preg->config_addr = BPCI_CFGADDR_ENABLE |
440 (bus_num << BPCI_CFGADDR_BUSNUM_SHF) |
441 (dev_fn << BPCI_CFGADDR_FUNCTNUM_SHF) |
442 (where & 0xFC);
443
444 /* IF access is a PCI configuration write */
445 if (access_type == PCI_ACCESS_WRITE) {
446 value = cpu_to_le32(*data);
447 *PCI_CONFIG_SPACE_REG = value;
448 } else {
449 /* ELSE access is a PCI configuration read */
450 value = le32_to_cpu(*PCI_CONFIG_SPACE_REG);
451 *data = value;
452 }
453
454 /*
455 * Check if the PCI configuration cycle (rd or wr) succeeded, by
456 * checking the status bits for errors like master or target abort.
457 */
458 intr = preg->if_status;
459
460 /* Clear config access */
461 preg->config_addr = 0;
462
463 /* IF error occurred */
464 if (intr & ~(BPCI_IFSTATUS_BC0F | BPCI_IFSTATUS_BC1F)) {
465 /* Clear status bits */
466 preg->if_status = ~(BPCI_IFSTATUS_BC0F | BPCI_IFSTATUS_BC1F);
467
468#if defined(CONFIG_PMC_MSP7120_GW) || defined(CONFIG_PMC_MSP7120_EVAL)
469 evpe(vpe_status);
470 local_irq_restore(flags);
471#else
472 spin_unlock_irqrestore(&bpci_lock, flags);
473#endif
474
475 return -1;
476 }
477
478#if defined(CONFIG_PMC_MSP7120_GW) || defined(CONFIG_PMC_MSP7120_EVAL)
479 evpe(vpe_status);
480 local_irq_restore(flags);
481#else
482 spin_unlock_irqrestore(&bpci_lock, flags);
483#endif
484
485 return PCIBIOS_SUCCESSFUL;
486}
487
488/*****************************************************************************
489 *
490 * FUNCTION: msp_pcibios_read_config_byte
491 * _________________________________________________________________________
492 *
493 * DESCRIPTION: Read a byte from PCI configuration address spac
494 * Since the hardware can't address 8 bit chunks
495 * directly, read a 32-bit chunk, then mask off extraneous
496 * bits.
497 *
498 * INPUTS bus - structure containing attributes for the PCI bus
499 * that the read is destined for.
500 * devfn - device/function combination that the read is
501 * destined for.
502 * where - register within the Configuration Header space
503 * to access.
504 *
505 * OUTPUTS val - read data
506 *
507 * RETURNS: PCIBIOS_SUCCESSFUL - success
508 * -1 - read access failure
509 *
510 ****************************************************************************/
511static int
512msp_pcibios_read_config_byte(struct pci_bus *bus,
513 unsigned int devfn,
514 int where,
515 u32 *val)
516{
517 u32 data = 0;
518
519 /*
520 * If the config access did not complete normally (e.g., underwent
521 * master abort) do the PCI compliant thing, which is to supply an
522 * all ones value.
523 */
524 if (msp_pcibios_config_access(PCI_ACCESS_READ, bus, devfn,
525 where, &data)) {
526 *val = 0xFFFFFFFF;
527 return -1;
528 }
529
530 *val = (data >> ((where & 3) << 3)) & 0x0ff;
531
532 return PCIBIOS_SUCCESSFUL;
533}
534
535/*****************************************************************************
536 *
537 * FUNCTION: msp_pcibios_read_config_word
538 * _________________________________________________________________________
539 *
540 * DESCRIPTION: Read a word (16 bits) from PCI configuration address space.
541 * Since the hardware can't address 16 bit chunks
542 * directly, read a 32-bit chunk, then mask off extraneous
543 * bits.
544 *
545 * INPUTS bus - structure containing attributes for the PCI bus
546 * that the read is destined for.
547 * devfn - device/function combination that the read is
548 * destined for.
549 * where - register within the Configuration Header space
550 * to access.
551 *
552 * OUTPUTS val - read data
553 *
554 * RETURNS: PCIBIOS_SUCCESSFUL - success
555 * PCIBIOS_BAD_REGISTER_NUMBER - bad register address
556 * -1 - read access failure
557 *
558 ****************************************************************************/
559static int
560msp_pcibios_read_config_word(struct pci_bus *bus,
561 unsigned int devfn,
562 int where,
563 u32 *val)
564{
565 u32 data = 0;
566
567 /* if (where & 1) */ /* Commented out non-compliant code.
568 * Should allow word access to configuration
569 * registers, with only exception being when
570 * the word access would wrap around into
571 * the next dword.
572 */
573 if ((where & 3) == 3) {
574 *val = 0xFFFFFFFF;
575 return PCIBIOS_BAD_REGISTER_NUMBER;
576 }
577
578 /*
579 * If the config access did not complete normally (e.g., underwent
580 * master abort) do the PCI compliant thing, which is to supply an
581 * all ones value.
582 */
583 if (msp_pcibios_config_access(PCI_ACCESS_READ, bus, devfn,
584 where, &data)) {
585 *val = 0xFFFFFFFF;
586 return -1;
587 }
588
589 *val = (data >> ((where & 3) << 3)) & 0x0ffff;
590
591 return PCIBIOS_SUCCESSFUL;
592}
593
594/*****************************************************************************
595 *
596 * FUNCTION: msp_pcibios_read_config_dword
597 * _________________________________________________________________________
598 *
599 * DESCRIPTION: Read a double word (32 bits) from PCI configuration
600 * address space.
601 *
602 * INPUTS bus - structure containing attributes for the PCI bus
603 * that the read is destined for.
604 * devfn - device/function combination that the read is
605 * destined for.
606 * where - register within the Configuration Header space
607 * to access.
608 *
609 * OUTPUTS val - read data
610 *
611 * RETURNS: PCIBIOS_SUCCESSFUL - success
612 * PCIBIOS_BAD_REGISTER_NUMBER - bad register address
613 * -1 - read access failure
614 *
615 ****************************************************************************/
616static int
617msp_pcibios_read_config_dword(struct pci_bus *bus,
618 unsigned int devfn,
619 int where,
620 u32 *val)
621{
622 u32 data = 0;
623
624 /* Address must be dword aligned. */
625 if (where & 3) {
626 *val = 0xFFFFFFFF;
627 return PCIBIOS_BAD_REGISTER_NUMBER;
628 }
629
630 /*
631 * If the config access did not complete normally (e.g., underwent
632 * master abort) do the PCI compliant thing, which is to supply an
633 * all ones value.
634 */
635 if (msp_pcibios_config_access(PCI_ACCESS_READ, bus, devfn,
636 where, &data)) {
637 *val = 0xFFFFFFFF;
638 return -1;
639 }
640
641 *val = data;
642
643 return PCIBIOS_SUCCESSFUL;
644}
645
646/*****************************************************************************
647 *
648 * FUNCTION: msp_pcibios_write_config_byte
649 * _________________________________________________________________________
650 *
651 * DESCRIPTION: Write a byte to PCI configuration address space.
652 * Since the hardware can't address 8 bit chunks
653 * directly, a read-modify-write is performed.
654 *
655 * INPUTS bus - structure containing attributes for the PCI bus
656 * that the write is destined for.
657 * devfn - device/function combination that the write is
658 * destined for.
659 * where - register within the Configuration Header space
660 * to access.
661 * val - value to write
662 *
663 * OUTPUTS none
664 *
665 * RETURNS: PCIBIOS_SUCCESSFUL - success
666 * -1 - write access failure
667 *
668 ****************************************************************************/
669static int
670msp_pcibios_write_config_byte(struct pci_bus *bus,
671 unsigned int devfn,
672 int where,
673 u8 val)
674{
675 u32 data = 0;
676
677 /* read config space */
678 if (msp_pcibios_config_access(PCI_ACCESS_READ, bus, devfn,
679 where, &data))
680 return -1;
681
682 /* modify the byte within the dword */
683 data = (data & ~(0xff << ((where & 3) << 3))) |
684 (val << ((where & 3) << 3));
685
686 /* write back the full dword */
687 if (msp_pcibios_config_access(PCI_ACCESS_WRITE, bus, devfn,
688 where, &data))
689 return -1;
690
691 return PCIBIOS_SUCCESSFUL;
692}
693
694/*****************************************************************************
695 *
696 * FUNCTION: msp_pcibios_write_config_word
697 * _________________________________________________________________________
698 *
699 * DESCRIPTION: Write a word (16-bits) to PCI configuration address space.
700 * Since the hardware can't address 16 bit chunks
701 * directly, a read-modify-write is performed.
702 *
703 * INPUTS bus - structure containing attributes for the PCI bus
704 * that the write is destined for.
705 * devfn - device/function combination that the write is
706 * destined for.
707 * where - register within the Configuration Header space
708 * to access.
709 * val - value to write
710 *
711 * OUTPUTS none
712 *
713 * RETURNS: PCIBIOS_SUCCESSFUL - success
714 * PCIBIOS_BAD_REGISTER_NUMBER - bad register address
715 * -1 - write access failure
716 *
717 ****************************************************************************/
718static int
719msp_pcibios_write_config_word(struct pci_bus *bus,
720 unsigned int devfn,
721 int where,
722 u16 val)
723{
724 u32 data = 0;
725
726 /* Fixed non-compliance: if (where & 1) */
727 if ((where & 3) == 3)
728 return PCIBIOS_BAD_REGISTER_NUMBER;
729
730 /* read config space */
731 if (msp_pcibios_config_access(PCI_ACCESS_READ, bus, devfn,
732 where, &data))
733 return -1;
734
735 /* modify the word within the dword */
736 data = (data & ~(0xffff << ((where & 3) << 3))) |
737 (val << ((where & 3) << 3));
738
739 /* write back the full dword */
740 if (msp_pcibios_config_access(PCI_ACCESS_WRITE, bus, devfn,
741 where, &data))
742 return -1;
743
744 return PCIBIOS_SUCCESSFUL;
745}
746
747/*****************************************************************************
748 *
749 * FUNCTION: msp_pcibios_write_config_dword
750 * _________________________________________________________________________
751 *
752 * DESCRIPTION: Write a double word (32-bits) to PCI configuration address
753 * space.
754 *
755 * INPUTS bus - structure containing attributes for the PCI bus
756 * that the write is destined for.
757 * devfn - device/function combination that the write is
758 * destined for.
759 * where - register within the Configuration Header space
760 * to access.
761 * val - value to write
762 *
763 * OUTPUTS none
764 *
765 * RETURNS: PCIBIOS_SUCCESSFUL - success
766 * PCIBIOS_BAD_REGISTER_NUMBER - bad register address
767 * -1 - write access failure
768 *
769 ****************************************************************************/
770static int
771msp_pcibios_write_config_dword(struct pci_bus *bus,
772 unsigned int devfn,
773 int where,
774 u32 val)
775{
776 /* check that address is dword aligned */
777 if (where & 3)
778 return PCIBIOS_BAD_REGISTER_NUMBER;
779
780 /* perform write */
781 if (msp_pcibios_config_access(PCI_ACCESS_WRITE, bus, devfn,
782 where, &val))
783 return -1;
784
785 return PCIBIOS_SUCCESSFUL;
786}
787
788/*****************************************************************************
789 *
790 * FUNCTION: msp_pcibios_read_config
791 * _________________________________________________________________________
792 *
793 * DESCRIPTION: Interface the PCI configuration read request with
794 * the appropriate function, based on how many bytes
795 * the read request is.
796 *
797 * INPUTS bus - structure containing attributes for the PCI bus
798 * that the write is destined for.
799 * devfn - device/function combination that the write is
800 * destined for.
801 * where - register within the Configuration Header space
802 * to access.
803 * size - in units of bytes, should be 1, 2, or 4.
804 *
805 * OUTPUTS val - value read, with any extraneous bytes masked
806 * to zero.
807 *
808 * RETURNS: PCIBIOS_SUCCESSFUL - success
809 * -1 - failure
810 *
811 ****************************************************************************/
812int
813msp_pcibios_read_config(struct pci_bus *bus,
814 unsigned int devfn,
815 int where,
816 int size,
817 u32 *val)
818{
819 if (size == 1) {
820 if (msp_pcibios_read_config_byte(bus, devfn, where, val)) {
821 return -1;
822 }
823 } else if (size == 2) {
824 if (msp_pcibios_read_config_word(bus, devfn, where, val)) {
825 return -1;
826 }
827 } else if (size == 4) {
828 if (msp_pcibios_read_config_dword(bus, devfn, where, val)) {
829 return -1;
830 }
831 } else {
832 *val = 0xFFFFFFFF;
833 return -1;
834 }
835
836 return PCIBIOS_SUCCESSFUL;
837}
838
839/*****************************************************************************
840 *
841 * FUNCTION: msp_pcibios_write_config
842 * _________________________________________________________________________
843 *
844 * DESCRIPTION: Interface the PCI configuration write request with
845 * the appropriate function, based on how many bytes
846 * the read request is.
847 *
848 * INPUTS bus - structure containing attributes for the PCI bus
849 * that the write is destined for.
850 * devfn - device/function combination that the write is
851 * destined for.
852 * where - register within the Configuration Header space
853 * to access.
854 * size - in units of bytes, should be 1, 2, or 4.
855 * val - value to write
856 *
857 * OUTPUTS: none
858 *
859 * RETURNS: PCIBIOS_SUCCESSFUL - success
860 * -1 - failure
861 *
862 ****************************************************************************/
863int
864msp_pcibios_write_config(struct pci_bus *bus,
865 unsigned int devfn,
866 int where,
867 int size,
868 u32 val)
869{
870 if (size == 1) {
871 if (msp_pcibios_write_config_byte(bus, devfn,
872 where, (u8)(0xFF & val))) {
873 return -1;
874 }
875 } else if (size == 2) {
876 if (msp_pcibios_write_config_word(bus, devfn,
877 where, (u16)(0xFFFF & val))) {
878 return -1;
879 }
880 } else if (size == 4) {
881 if (msp_pcibios_write_config_dword(bus, devfn, where, val)) {
882 return -1;
883 }
884 } else {
885 return -1;
886 }
887
888 return PCIBIOS_SUCCESSFUL;
889}
890
891/*****************************************************************************
892 *
893 * STRUCTURE: msp_pci_ops
894 * _________________________________________________________________________
895 *
896 * DESCRIPTION: structure to abstract the hardware specific PCI
897 * configuration accesses.
898 *
899 * ELEMENTS:
900 * read - function for Linux to generate PCI Configuration reads.
901 * write - function for Linux to generate PCI Configuration writes.
902 *
903 ****************************************************************************/
904struct pci_ops msp_pci_ops = {
905 .read = msp_pcibios_read_config,
906 .write = msp_pcibios_write_config
907};
908
909/*****************************************************************************
910 *
911 * STRUCTURE: msp_pci_controller
912 * _________________________________________________________________________
913 *
914 * Describes the attributes of the MSP7120 PCI Host Controller
915 *
916 * ELEMENTS:
917 * pci_ops - abstracts the hardware specific PCI configuration
918 * accesses.
919 *
920 * mem_resource - address range pciauto() uses to assign to PCI device
921 * memory BARs.
922 *
923 * mem_offset - offset between how MSP7120 outbound PCI memory
924 * transaction addresses appear on the PCI bus and how Linux
925 * wants to configure memory BARs of the PCI devices.
926 * MSP7120 does nothing funky, so just set to zero.
927 *
928 * io_resource - address range pciauto() uses to assign to PCI device
929 * I/O BARs.
930 *
931 * io_offset - offset between how MSP7120 outbound PCI I/O
932 * transaction addresses appear on the PCI bus and how
933 * Linux defaults to configure I/O BARs of the PCI devices.
934 * MSP7120 maps outbound I/O accesses into the bottom
935 * bottom 4K of PCI address space (and ignores OATRAN).
936 * Since the Linux default is to configure I/O BARs to the
937 * bottom 4K, no special offset is needed. Just set to zero.
938 *
939 ****************************************************************************/
940static struct pci_controller msp_pci_controller = {
941 .pci_ops = &msp_pci_ops,
942 .mem_resource = &pci_mem_resource,
943 .mem_offset = 0,
944 .io_resource = &pci_io_resource,
945 .io_offset = 0
946};
947
948/*****************************************************************************
949 *
950 * FUNCTION: msp_pci_init
951 * _________________________________________________________________________
952 *
953 * DESCRIPTION: Initialize the PCI Host Controller and register it with
954 * Linux so Linux can seize control of the PCI bus.
955 *
956 ****************************************************************************/
957void __init msp_pci_init(void)
958{
959 struct msp_pci_regs *preg = (void *)PCI_BASE_REG;
960 u32 id;
961
962 /* Extract Device ID */
963 id = read_reg32(PCI_JTAG_DEVID_REG, 0xFFFF) >> 12;
964
965 /* Check if JTAG ID identifies MSP7120 */
966 if (!MSP_HAS_PCI(id)) {
967 printk(KERN_WARNING "PCI: No PCI; id reads as %x\n", id);
968 goto no_pci;
969 }
970
971 /*
972 * Enable flushing of the PCI-SDRAM queue upon a read
973 * of the SDRAM's Memory Configuration Register.
974 */
975 *(unsigned long *)QFLUSH_REG_1 = 3;
976
977 /* Configure PCI Host Controller. */
978 preg->if_status = ~0; /* Clear cause register bits */
979 preg->config_addr = 0; /* Clear config access */
980 preg->oatran = MSP_PCI_OATRAN; /* PCI outbound addr translation */
981 preg->if_mask = 0xF8BF87C0; /* Enable all PCI status interrupts */
982
983 /* configure so inb(), outb(), and family are functional */
984 set_io_port_base(MSP_PCI_IOSPACE_BASE);
985
986 /* Tell Linux the details of the MSP7120 PCI Host Controller */
987 register_pci_controller(&msp_pci_controller);
988
989 return;
990
991no_pci:
992 /* Disable PCI channel */
993 printk(KERN_WARNING "PCI: no host PCI bus detected\n");
994}
diff --git a/arch/mips/pci/ops-tx4938.c b/arch/mips/pci/ops-tx4938.c
index 445007084515..a450c4062031 100644
--- a/arch/mips/pci/ops-tx4938.c
+++ b/arch/mips/pci/ops-tx4938.c
@@ -46,50 +46,63 @@ struct resource tx4938_pcic1_pci_mem_resource = {
46 .flags = IORESOURCE_MEM 46 .flags = IORESOURCE_MEM
47}; 47};
48 48
49static int mkaddr(int bus, int dev_fn, int where, int *flagsp) 49static int mkaddr(int bus, int dev_fn, int where,
50 struct tx4938_pcic_reg *pcicptr)
50{ 51{
51 if (bus > 0) { 52 if (bus > 0) {
52 /* Type 1 configuration */ 53 /* Type 1 configuration */
53 tx4938_pcicptr->g2pcfgadrs = ((bus & 0xff) << 0x10) | 54 pcicptr->g2pcfgadrs = ((bus & 0xff) << 0x10) |
54 ((dev_fn & 0xff) << 0x08) | (where & 0xfc) | 1; 55 ((dev_fn & 0xff) << 0x08) | (where & 0xfc) | 1;
55 } else { 56 } else {
56 if (dev_fn >= PCI_DEVFN(TX4938_PCIC_MAX_DEVNU, 0)) 57 if (dev_fn >= PCI_DEVFN(TX4938_PCIC_MAX_DEVNU, 0))
57 return -1; 58 return -1;
58 59
59 /* Type 0 configuration */ 60 /* Type 0 configuration */
60 tx4938_pcicptr->g2pcfgadrs = ((bus & 0xff) << 0x10) | 61 pcicptr->g2pcfgadrs = ((bus & 0xff) << 0x10) |
61 ((dev_fn & 0xff) << 0x08) | (where & 0xfc); 62 ((dev_fn & 0xff) << 0x08) | (where & 0xfc);
62 } 63 }
63 /* clear M_ABORT and Disable M_ABORT Int. */ 64 /* clear M_ABORT and Disable M_ABORT Int. */
64 tx4938_pcicptr->pcistatus = 65 pcicptr->pcistatus =
65 (tx4938_pcicptr->pcistatus & 0x0000ffff) | 66 (pcicptr->pcistatus & 0x0000ffff) |
66 (PCI_STATUS_REC_MASTER_ABORT << 16); 67 (PCI_STATUS_REC_MASTER_ABORT << 16);
67 tx4938_pcicptr->pcimask &= ~PCI_STATUS_REC_MASTER_ABORT; 68 pcicptr->pcimask &= ~PCI_STATUS_REC_MASTER_ABORT;
68 69
69 return 0; 70 return 0;
70} 71}
71 72
72static int check_abort(int flags) 73static int check_abort(struct tx4938_pcic_reg *pcicptr)
73{ 74{
74 int code = PCIBIOS_SUCCESSFUL; 75 int code = PCIBIOS_SUCCESSFUL;
75 /* wait write cycle completion before checking error status */ 76 /* wait write cycle completion before checking error status */
76 while (tx4938_pcicptr->pcicstatus & TX4938_PCIC_PCICSTATUS_IWB) 77 while (pcicptr->pcicstatus & TX4938_PCIC_PCICSTATUS_IWB)
77 ; 78 ;
78 if (tx4938_pcicptr->pcistatus & (PCI_STATUS_REC_MASTER_ABORT << 16)) { 79 if (pcicptr->pcistatus & (PCI_STATUS_REC_MASTER_ABORT << 16)) {
79 tx4938_pcicptr->pcistatus = 80 pcicptr->pcistatus =
80 (tx4938_pcicptr-> 81 (pcicptr->
81 pcistatus & 0x0000ffff) | (PCI_STATUS_REC_MASTER_ABORT 82 pcistatus & 0x0000ffff) | (PCI_STATUS_REC_MASTER_ABORT
82 << 16); 83 << 16);
83 tx4938_pcicptr->pcimask |= PCI_STATUS_REC_MASTER_ABORT; 84 pcicptr->pcimask |= PCI_STATUS_REC_MASTER_ABORT;
84 code = PCIBIOS_DEVICE_NOT_FOUND; 85 code = PCIBIOS_DEVICE_NOT_FOUND;
85 } 86 }
86 return code; 87 return code;
87} 88}
88 89
90extern struct pci_controller tx4938_pci_controller[];
91extern struct tx4938_pcic_reg *get_tx4938_pcicptr(int ch);
92
93static struct tx4938_pcic_reg *pci_bus_to_pcicptr(struct pci_bus *bus)
94{
95 struct pci_controller *channel = bus->sysdata;
96 return get_tx4938_pcicptr(channel - &tx4938_pci_controller[0]);
97}
98
89static int tx4938_pcibios_read_config(struct pci_bus *bus, unsigned int devfn, 99static int tx4938_pcibios_read_config(struct pci_bus *bus, unsigned int devfn,
90 int where, int size, u32 * val) 100 int where, int size, u32 * val)
91{ 101{
92 int flags, retval, dev, busno, func; 102 int retval, dev, busno, func;
103 struct tx4938_pcic_reg *pcicptr = pci_bus_to_pcicptr(bus);
104 void __iomem *cfgdata =
105 (void __iomem *)(unsigned long)&pcicptr->g2pcfgdata;
93 106
94 dev = PCI_SLOT(devfn); 107 dev = PCI_SLOT(devfn);
95 func = PCI_FUNC(devfn); 108 func = PCI_FUNC(devfn);
@@ -101,32 +114,32 @@ static int tx4938_pcibios_read_config(struct pci_bus *bus, unsigned int devfn,
101 busno = 0; 114 busno = 0;
102 } 115 }
103 116
104 if (mkaddr(busno, devfn, where, &flags)) 117 if (mkaddr(busno, devfn, where, pcicptr))
105 return -1; 118 return -1;
106 119
107 switch (size) { 120 switch (size) {
108 case 1: 121 case 1:
109 *val = *(volatile u8 *) ((unsigned long) & tx4938_pcicptr->g2pcfgdata |
110#ifdef __BIG_ENDIAN 122#ifdef __BIG_ENDIAN
111 ((where & 3) ^ 3)); 123 cfgdata += (where & 3) ^ 3;
112#else 124#else
113 (where & 3)); 125 cfgdata += where & 3;
114#endif 126#endif
127 *val = __raw_readb(cfgdata);
115 break; 128 break;
116 case 2: 129 case 2:
117 *val = *(volatile u16 *) ((unsigned long) & tx4938_pcicptr->g2pcfgdata |
118#ifdef __BIG_ENDIAN 130#ifdef __BIG_ENDIAN
119 ((where & 3) ^ 2)); 131 cfgdata += (where & 2) ^ 2;
120#else 132#else
121 (where & 3)); 133 cfgdata += where & 2;
122#endif 134#endif
135 *val = __raw_readw(cfgdata);
123 break; 136 break;
124 case 4: 137 case 4:
125 *val = tx4938_pcicptr->g2pcfgdata; 138 *val = __raw_readl(cfgdata);
126 break; 139 break;
127 } 140 }
128 141
129 retval = check_abort(flags); 142 retval = check_abort(pcicptr);
130 if (retval == PCIBIOS_DEVICE_NOT_FOUND) 143 if (retval == PCIBIOS_DEVICE_NOT_FOUND)
131 *val = 0xffffffff; 144 *val = 0xffffffff;
132 145
@@ -136,7 +149,10 @@ static int tx4938_pcibios_read_config(struct pci_bus *bus, unsigned int devfn,
136static int tx4938_pcibios_write_config(struct pci_bus *bus, unsigned int devfn, int where, 149static int tx4938_pcibios_write_config(struct pci_bus *bus, unsigned int devfn, int where,
137 int size, u32 val) 150 int size, u32 val)
138{ 151{
139 int flags, dev, busno, func; 152 int dev, busno, func;
153 struct tx4938_pcic_reg *pcicptr = pci_bus_to_pcicptr(bus);
154 void __iomem *cfgdata =
155 (void __iomem *)(unsigned long)&pcicptr->g2pcfgdata;
140 156
141 busno = bus->number; 157 busno = bus->number;
142 dev = PCI_SLOT(devfn); 158 dev = PCI_SLOT(devfn);
@@ -149,32 +165,32 @@ static int tx4938_pcibios_write_config(struct pci_bus *bus, unsigned int devfn,
149 busno = 0; 165 busno = 0;
150 } 166 }
151 167
152 if (mkaddr(busno, devfn, where, &flags)) 168 if (mkaddr(busno, devfn, where, pcicptr))
153 return -1; 169 return -1;
154 170
155 switch (size) { 171 switch (size) {
156 case 1: 172 case 1:
157 *(volatile u8 *) ((unsigned long) & tx4938_pcicptr->g2pcfgdata |
158#ifdef __BIG_ENDIAN 173#ifdef __BIG_ENDIAN
159 ((where & 3) ^ 3)) = val; 174 cfgdata += (where & 3) ^ 3;
160#else 175#else
161 (where & 3)) = val; 176 cfgdata += where & 3;
162#endif 177#endif
178 __raw_writeb(val, cfgdata);
163 break; 179 break;
164 case 2: 180 case 2:
165 *(volatile u16 *) ((unsigned long) & tx4938_pcicptr->g2pcfgdata |
166#ifdef __BIG_ENDIAN 181#ifdef __BIG_ENDIAN
167 ((where & 0x3) ^ 0x2)) = val; 182 cfgdata += (where & 2) ^ 2;
168#else 183#else
169 (where & 3)) = val; 184 cfgdata += where & 2;
170#endif 185#endif
186 __raw_writew(val, cfgdata);
171 break; 187 break;
172 case 4: 188 case 4:
173 tx4938_pcicptr->g2pcfgdata = val; 189 __raw_writel(val, cfgdata);
174 break; 190 break;
175 } 191 }
176 192
177 return check_abort(flags); 193 return check_abort(pcicptr);
178} 194}
179 195
180struct pci_ops tx4938_pci_ops = { 196struct pci_ops tx4938_pci_ops = {
diff --git a/arch/mips/pci/pci-bcm1480.c b/arch/mips/pci/pci-bcm1480.c
index d7b9e1349f6d..2b4e30c7d105 100644
--- a/arch/mips/pci/pci-bcm1480.c
+++ b/arch/mips/pci/pci-bcm1480.c
@@ -74,8 +74,9 @@ static inline void WRITECFG32(u32 addr, u32 data)
74 *(u32 *)(cfg_space + (addr & ~3)) = data; 74 *(u32 *)(cfg_space + (addr & ~3)) = data;
75} 75}
76 76
77int pcibios_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 77int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
78{ 78{
79 This is b0rked.
79 return dev->irq; 80 return dev->irq;
80} 81}
81 82
diff --git a/arch/mips/pci/pci-dac.c b/arch/mips/pci/pci-dac.c
deleted file mode 100644
index 0f0ea1b7d4dd..000000000000
--- a/arch/mips/pci/pci-dac.c
+++ /dev/null
@@ -1,79 +0,0 @@
1/*
2 * This file is subject to the terms and conditions of the GNU General Public
3 * License. See the file "COPYING" in the main directory of this archive
4 * for more details.
5 *
6 * Copyright (C) 2000 Ani Joshi <ajoshi@unixbox.com>
7 * Copyright (C) 2000, 2001, 06 Ralf Baechle <ralf@linux-mips.org>
8 * swiped from i386, and cloned for MIPS by Geert, polished by Ralf.
9 */
10
11#include <linux/types.h>
12#include <linux/dma-mapping.h>
13#include <linux/mm.h>
14#include <linux/module.h>
15#include <linux/string.h>
16
17#include <asm/cache.h>
18#include <asm/io.h>
19
20#include <dma-coherence.h>
21
22#include <linux/pci.h>
23
24dma64_addr_t pci_dac_page_to_dma(struct pci_dev *pdev,
25 struct page *page, unsigned long offset, int direction)
26{
27 struct device *dev = &pdev->dev;
28
29 BUG_ON(direction == DMA_NONE);
30
31 if (!plat_device_is_coherent(dev)) {
32 unsigned long addr;
33
34 addr = (unsigned long) page_address(page) + offset;
35 dma_cache_wback_inv(addr, PAGE_SIZE);
36 }
37
38 return plat_map_dma_mem_page(dev, page) + offset;
39}
40
41EXPORT_SYMBOL(pci_dac_page_to_dma);
42
43struct page *pci_dac_dma_to_page(struct pci_dev *pdev,
44 dma64_addr_t dma_addr)
45{
46 return pfn_to_page(plat_dma_addr_to_phys(dma_addr) >> PAGE_SHIFT);
47}
48
49EXPORT_SYMBOL(pci_dac_dma_to_page);
50
51unsigned long pci_dac_dma_to_offset(struct pci_dev *pdev,
52 dma64_addr_t dma_addr)
53{
54 return dma_addr & ~PAGE_MASK;
55}
56
57EXPORT_SYMBOL(pci_dac_dma_to_offset);
58
59void pci_dac_dma_sync_single_for_cpu(struct pci_dev *pdev,
60 dma64_addr_t dma_addr, size_t len, int direction)
61{
62 BUG_ON(direction == PCI_DMA_NONE);
63
64 if (!plat_device_is_coherent(&pdev->dev))
65 dma_cache_wback_inv(dma_addr + PAGE_OFFSET, len);
66}
67
68EXPORT_SYMBOL(pci_dac_dma_sync_single_for_cpu);
69
70void pci_dac_dma_sync_single_for_device(struct pci_dev *pdev,
71 dma64_addr_t dma_addr, size_t len, int direction)
72{
73 BUG_ON(direction == PCI_DMA_NONE);
74
75 if (!plat_device_is_coherent(&pdev->dev))
76 dma_cache_wback_inv(dma_addr + PAGE_OFFSET, len);
77}
78
79EXPORT_SYMBOL(pci_dac_dma_sync_single_for_device);
diff --git a/arch/mips/pci/pci-ddb5477.c b/arch/mips/pci/pci-ddb5477.c
index d071bc375b11..7363e1877842 100644
--- a/arch/mips/pci/pci-ddb5477.c
+++ b/arch/mips/pci/pci-ddb5477.c
@@ -131,7 +131,7 @@ static unsigned char rockhopperII_irq_map[MAX_SLOT_NUM] = {
131 /* SLOT: 20, AD:31 */ VRC5477_IRQ_IOPCI_INTA, /* vrc5477 usb host */ 131 /* SLOT: 20, AD:31 */ VRC5477_IRQ_IOPCI_INTA, /* vrc5477 usb host */
132}; 132};
133 133
134int __init pcibios_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 134int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
135{ 135{
136 int slot_num; 136 int slot_num;
137 unsigned char *slot_irq_map; 137 unsigned char *slot_irq_map;
diff --git a/arch/mips/pci/pci-ev64120.c b/arch/mips/pci/pci-ev64120.c
deleted file mode 100644
index a84f594b5a18..000000000000
--- a/arch/mips/pci/pci-ev64120.c
+++ /dev/null
@@ -1,22 +0,0 @@
1#include <linux/pci.h>
2#include <asm/irq.h>
3
4int __init pcibios_map_irq(struct pci_dev *dev, u8 slot, u8 pin)
5{
6 int irq;
7
8 if (!pin)
9 return 0;
10
11 irq = allocate_irqno();
12 if (irq < 0)
13 return 0;
14
15 return irq;
16}
17
18/* Do platform specific device initialization at pci_enable_device() time */
19int pcibios_plat_dev_init(struct pci_dev *dev)
20{
21 return 0;
22}
diff --git a/arch/mips/pci/pci-ip27.c b/arch/mips/pci/pci-ip27.c
index 405ce0152739..a322543ac34e 100644
--- a/arch/mips/pci/pci-ip27.c
+++ b/arch/mips/pci/pci-ip27.c
@@ -134,7 +134,7 @@ int __init bridge_probe(nasid_t nasid, int widget_id, int masterwid)
134 * A given PCI device, in general, should be able to intr any of the cpus 134 * A given PCI device, in general, should be able to intr any of the cpus
135 * on any one of the hubs connected to its xbow. 135 * on any one of the hubs connected to its xbow.
136 */ 136 */
137int __devinit pcibios_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 137int __devinit pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
138{ 138{
139 struct bridge_controller *bc = BRIDGE_CONTROLLER(dev->bus); 139 struct bridge_controller *bc = BRIDGE_CONTROLLER(dev->bus);
140 int irq = bc->pci_int[slot]; 140 int irq = bc->pci_int[slot];
diff --git a/arch/mips/pci/pci-lasat.c b/arch/mips/pci/pci-lasat.c
deleted file mode 100644
index 985784a3e6f8..000000000000
--- a/arch/mips/pci/pci-lasat.c
+++ /dev/null
@@ -1,91 +0,0 @@
1/*
2 * This file is subject to the terms and conditions of the GNU General Public
3 * License. See the file "COPYING" in the main directory of this archive
4 * for more details.
5 *
6 * Copyright (C) 2000, 2001, 04 Keith M Wesolowski
7 */
8#include <linux/kernel.h>
9#include <linux/init.h>
10#include <linux/pci.h>
11#include <linux/types.h>
12#include <asm/bootinfo.h>
13
14extern struct pci_ops nile4_pci_ops;
15extern struct pci_ops gt64xxx_pci0_ops;
16static struct resource lasat_pci_mem_resource = {
17 .name = "LASAT PCI MEM",
18 .start = 0x18000000,
19 .end = 0x19ffffff,
20 .flags = IORESOURCE_MEM,
21};
22
23static struct resource lasat_pci_io_resource = {
24 .name = "LASAT PCI IO",
25 .start = 0x1a000000,
26 .end = 0x1bffffff,
27 .flags = IORESOURCE_IO,
28};
29
30static struct pci_controller lasat_pci_controller = {
31 .mem_resource = &lasat_pci_mem_resource,
32 .io_resource = &lasat_pci_io_resource,
33};
34
35static int __init lasat_pci_setup(void)
36{
37 printk("PCI: starting\n");
38
39 switch (mips_machtype) {
40 case MACH_LASAT_100:
41 lasat_pci_controller.pci_ops = &gt64xxx_pci0_ops;
42 break;
43 case MACH_LASAT_200:
44 lasat_pci_controller.pci_ops = &nile4_pci_ops;
45 break;
46 default:
47 panic("pcibios_init: mips_machtype incorrect");
48 }
49
50 register_pci_controller(&lasat_pci_controller);
51
52 return 0;
53}
54
55arch_initcall(lasat_pci_setup);
56
57#define LASATINT_ETH1 0
58#define LASATINT_ETH0 1
59#define LASATINT_HDC 2
60#define LASATINT_COMP 3
61#define LASATINT_HDLC 4
62#define LASATINT_PCIA 5
63#define LASATINT_PCIB 6
64#define LASATINT_PCIC 7
65#define LASATINT_PCID 8
66
67int __init pcibios_map_irq(struct pci_dev *dev, u8 slot, u8 pin)
68{
69 switch (slot) {
70 case 1:
71 case 2:
72 case 3:
73 return LASATINT_PCIA + (((slot-1) + (pin-1)) % 4);
74 case 4:
75 return LASATINT_ETH1; /* Ethernet 1 (LAN 2) */
76 case 5:
77 return LASATINT_ETH0; /* Ethernet 0 (LAN 1) */
78 case 6:
79 return LASATINT_HDC; /* IDE controller */
80 default:
81 return 0xff; /* Illegal */
82 }
83
84 return -1;
85}
86
87/* Do platform specific device initialization at pci_enable_device() time */
88int pcibios_plat_dev_init(struct pci_dev *dev)
89{
90 return 0;
91}
diff --git a/arch/mips/pci/pci-ocelot-c.c b/arch/mips/pci/pci-ocelot-c.c
deleted file mode 100644
index 027759f7c904..000000000000
--- a/arch/mips/pci/pci-ocelot-c.c
+++ /dev/null
@@ -1,145 +0,0 @@
1/*
2 * This file is subject to the terms and conditions of the GNU General Public
3 * License. See the file "COPYING" in the main directory of this archive
4 * for more details.
5 *
6 * Copyright (C) 2004, 06 by Ralf Baechle (ralf@linux-mips.org)
7 */
8
9#include <linux/types.h>
10#include <linux/pci.h>
11#include <linux/mv643xx.h>
12
13#include <linux/init.h>
14
15#include <asm/marvell.h>
16
17/*
18 * We assume the address ranges have already been setup appropriately by
19 * the firmware. PMON in case of the Ocelot C does that.
20 */
21static struct resource mv_pci_io_mem0_resource = {
22 .name = "MV64340 PCI0 IO MEM",
23 .flags = IORESOURCE_IO
24};
25
26static struct resource mv_pci_mem0_resource = {
27 .name = "MV64340 PCI0 MEM",
28 .flags = IORESOURCE_MEM
29};
30
31static struct mv_pci_controller mv_bus0_controller = {
32 .pcic = {
33 .pci_ops = &mv_pci_ops,
34 .mem_resource = &mv_pci_mem0_resource,
35 .io_resource = &mv_pci_io_mem0_resource,
36 },
37 .config_addr = MV64340_PCI_0_CONFIG_ADDR,
38 .config_vreg = MV64340_PCI_0_CONFIG_DATA_VIRTUAL_REG,
39};
40
41static uint32_t mv_io_base, mv_io_size;
42
43static void mv64340_pci0_init(void)
44{
45 uint32_t mem0_base, mem0_size;
46 uint32_t io_base, io_size;
47
48 io_base = MV_READ(MV64340_PCI_0_IO_BASE_ADDR) << 16;
49 io_size = (MV_READ(MV64340_PCI_0_IO_SIZE) + 1) << 16;
50 mem0_base = MV_READ(MV64340_PCI_0_MEMORY0_BASE_ADDR) << 16;
51 mem0_size = (MV_READ(MV64340_PCI_0_MEMORY0_SIZE) + 1) << 16;
52
53 mv_pci_io_mem0_resource.start = 0;
54 mv_pci_io_mem0_resource.end = io_size - 1;
55 mv_pci_mem0_resource.start = mem0_base;
56 mv_pci_mem0_resource.end = mem0_base + mem0_size - 1;
57 mv_bus0_controller.pcic.mem_offset = mem0_base;
58 mv_bus0_controller.pcic.io_offset = 0;
59
60 ioport_resource.end = io_size - 1;
61
62 register_pci_controller(&mv_bus0_controller.pcic);
63
64 mv_io_base = io_base;
65 mv_io_size = io_size;
66}
67
68static struct resource mv_pci_io_mem1_resource = {
69 .name = "MV64340 PCI1 IO MEM",
70 .flags = IORESOURCE_IO
71};
72
73static struct resource mv_pci_mem1_resource = {
74 .name = "MV64340 PCI1 MEM",
75 .flags = IORESOURCE_MEM
76};
77
78static struct mv_pci_controller mv_bus1_controller = {
79 .pcic = {
80 .pci_ops = &mv_pci_ops,
81 .mem_resource = &mv_pci_mem1_resource,
82 .io_resource = &mv_pci_io_mem1_resource,
83 },
84 .config_addr = MV64340_PCI_1_CONFIG_ADDR,
85 .config_vreg = MV64340_PCI_1_CONFIG_DATA_VIRTUAL_REG,
86};
87
88static __init void mv64340_pci1_init(void)
89{
90 uint32_t mem0_base, mem0_size;
91 uint32_t io_base, io_size;
92
93 io_base = MV_READ(MV64340_PCI_1_IO_BASE_ADDR) << 16;
94 io_size = (MV_READ(MV64340_PCI_1_IO_SIZE) + 1) << 16;
95 mem0_base = MV_READ(MV64340_PCI_1_MEMORY0_BASE_ADDR) << 16;
96 mem0_size = (MV_READ(MV64340_PCI_1_MEMORY0_SIZE) + 1) << 16;
97
98 /*
99 * Here we assume the I/O window of second bus to be contiguous with
100 * the first. A gap is no problem but would waste address space for
101 * remapping the port space.
102 */
103 mv_pci_io_mem1_resource.start = mv_io_size;
104 mv_pci_io_mem1_resource.end = mv_io_size + io_size - 1;
105 mv_pci_mem1_resource.start = mem0_base;
106 mv_pci_mem1_resource.end = mem0_base + mem0_size - 1;
107 mv_bus1_controller.pcic.mem_offset = mem0_base;
108 mv_bus1_controller.pcic.io_offset = 0;
109
110 ioport_resource.end = io_base + io_size -mv_io_base - 1;
111
112 register_pci_controller(&mv_bus1_controller.pcic);
113
114 mv_io_size = io_base + io_size - mv_io_base;
115}
116
117static __init int __init ocelot_c_pci_init(void)
118{
119 unsigned long io_v_base;
120 uint32_t enable;
121
122 enable = ~MV_READ(MV64340_BASE_ADDR_ENABLE);
123
124 /*
125 * We require at least one enabled I/O or PCI memory window or we
126 * will ignore this PCI bus. We ignore PCI windows 1, 2 and 3.
127 */
128 if (enable & (0x01 << 9) || enable & (0x01 << 10))
129 mv64340_pci0_init();
130
131 if (enable & (0x01 << 14) || enable & (0x01 << 15))
132 mv64340_pci1_init();
133
134 if (mv_io_size) {
135 io_v_base = (unsigned long) ioremap(mv_io_base, mv_io_size);
136 if (!io_v_base)
137 panic("Could not ioremap I/O port range");
138
139 set_io_port_base(io_v_base);
140 }
141
142 return 0;
143}
144
145arch_initcall(ocelot_c_pci_init);
diff --git a/arch/mips/pci/pci-sb1250.c b/arch/mips/pci/pci-sb1250.c
index 75c1246ced5f..c1ac6493155e 100644
--- a/arch/mips/pci/pci-sb1250.c
+++ b/arch/mips/pci/pci-sb1250.c
@@ -84,7 +84,7 @@ static inline void WRITECFG32(u32 addr, u32 data)
84 *(u32 *) (cfg_space + (addr & ~3)) = data; 84 *(u32 *) (cfg_space + (addr & ~3)) = data;
85} 85}
86 86
87int pcibios_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 87int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
88{ 88{
89 return dev->irq; 89 return dev->irq;
90} 90}
diff --git a/arch/mips/pci/pci.c b/arch/mips/pci/pci.c
index 8108231f2e20..99d8f4fd3ff4 100644
--- a/arch/mips/pci/pci.c
+++ b/arch/mips/pci/pci.c
@@ -269,7 +269,7 @@ void __devinit pcibios_fixup_bus(struct pci_bus *bus)
269 } 269 }
270 270
271 for (ln = bus->devices.next; ln != &bus->devices; ln = ln->next) { 271 for (ln = bus->devices.next; ln != &bus->devices; ln = ln->next) {
272 struct pci_dev *dev = pci_dev_b(ln); 272 dev = pci_dev_b(ln);
273 273
274 if ((dev->class >> 8) != PCI_CLASS_BRIDGE_PCI) 274 if ((dev->class >> 8) != PCI_CLASS_BRIDGE_PCI)
275 pcibios_fixup_device_resources(dev, bus); 275 pcibios_fixup_device_resources(dev, bus);
diff --git a/arch/mips/philips/pnx8550/common/platform.c b/arch/mips/philips/pnx8550/common/platform.c
index d43f56e2cd78..c839436bd012 100644
--- a/arch/mips/philips/pnx8550/common/platform.c
+++ b/arch/mips/philips/pnx8550/common/platform.c
@@ -123,7 +123,7 @@ static struct platform_device *pnx8550_platform_devices[] __initdata = {
123 &pnx8550_uart_device, 123 &pnx8550_uart_device,
124}; 124};
125 125
126int pnx8550_platform_init(void) 126static int __init pnx8550_platform_init(void)
127{ 127{
128 return platform_add_devices(pnx8550_platform_devices, 128 return platform_add_devices(pnx8550_platform_devices,
129 ARRAY_SIZE(pnx8550_platform_devices)); 129 ARRAY_SIZE(pnx8550_platform_devices));
diff --git a/arch/mips/philips/pnx8550/common/proc.c b/arch/mips/philips/pnx8550/common/proc.c
index 3f097558ef13..92311e95b700 100644
--- a/arch/mips/philips/pnx8550/common/proc.c
+++ b/arch/mips/philips/pnx8550/common/proc.c
@@ -78,29 +78,33 @@ static int pnx8550_proc_init( void )
78{ 78{
79 79
80 // Create /proc/pnx8550 80 // Create /proc/pnx8550
81 pnx8550_dir = create_proc_entry("pnx8550", S_IFDIR|S_IRUGO, NULL); 81 pnx8550_dir = proc_mkdir("pnx8550", NULL);
82 if (!pnx8550_dir) { 82 if (!pnx8550_dir) {
83 printk(KERN_ERR "Can't create pnx8550 proc dir\n"); 83 printk(KERN_ERR "Can't create pnx8550 proc dir\n");
84 return -1; 84 return -1;
85 } 85 }
86 86
87 // Create /proc/pnx8550/timers 87 // Create /proc/pnx8550/timers
88 pnx8550_timers = create_proc_entry("timers", S_IFREG|S_IRUGO, pnx8550_dir ); 88 pnx8550_timers = create_proc_read_entry(
89 if (pnx8550_timers){ 89 "timers",
90 pnx8550_timers->read_proc = pnx8550_timers_read; 90 0,
91 } 91 pnx8550_dir,
92 else { 92 pnx8550_timers_read,
93 NULL);
94
95 if (!pnx8550_timers)
93 printk(KERN_ERR "Can't create pnx8550 timers proc file\n"); 96 printk(KERN_ERR "Can't create pnx8550 timers proc file\n");
94 }
95 97
96 // Create /proc/pnx8550/registers 98 // Create /proc/pnx8550/registers
97 pnx8550_registers = create_proc_entry("registers", S_IFREG|S_IRUGO, pnx8550_dir ); 99 pnx8550_registers = create_proc_read_entry(
98 if (pnx8550_registers){ 100 "registers",
99 pnx8550_registers->read_proc = pnx8550_registers_read; 101 0,
100 } 102 pnx8550_dir,
101 else { 103 pnx8550_registers_read,
104 NULL);
105
106 if (!pnx8550_registers)
102 printk(KERN_ERR "Can't create pnx8550 registers proc file\n"); 107 printk(KERN_ERR "Can't create pnx8550 registers proc file\n");
103 }
104 108
105 return 0; 109 return 0;
106} 110}
diff --git a/arch/mips/pmc-sierra/Kconfig b/arch/mips/pmc-sierra/Kconfig
index 24d514c9dff9..abbd0bbfabd7 100644
--- a/arch/mips/pmc-sierra/Kconfig
+++ b/arch/mips/pmc-sierra/Kconfig
@@ -1,3 +1,49 @@
1choice
2 prompt "PMC-Sierra MSP SOC type"
3 depends on PMC_MSP
4
5config PMC_MSP4200_EVAL
6 bool "PMC-Sierra MSP4200 Eval Board"
7 select IRQ_MSP_SLP
8 select HW_HAS_PCI
9
10config PMC_MSP4200_GW
11 bool "PMC-Sierra MSP4200 VoIP Gateway"
12 select IRQ_MSP_SLP
13 select HW_HAS_PCI
14
15config PMC_MSP7120_EVAL
16 bool "PMC-Sierra MSP7120 Eval Board"
17 select SYS_SUPPORTS_MULTITHREADING
18 select IRQ_MSP_CIC
19 select HW_HAS_PCI
20
21config PMC_MSP7120_GW
22 bool "PMC-Sierra MSP7120 Residential Gateway"
23 select SYS_SUPPORTS_MULTITHREADING
24 select IRQ_MSP_CIC
25 select HW_HAS_PCI
26
27config PMC_MSP7120_FPGA
28 bool "PMC-Sierra MSP7120 FPGA"
29 select SYS_SUPPORTS_MULTITHREADING
30 select IRQ_MSP_CIC
31 select HW_HAS_PCI
32
33endchoice
34
35menu "Options for PMC-Sierra MSP chipsets"
36 depends on PMC_MSP
37
38config PMC_MSP_EMBEDDED_ROOTFS
39 bool "Root filesystem embedded in kernel image"
40 select MTD
41 select MTD_BLOCK
42 select MTD_PMC_MSP_RAMROOT
43 select MTD_RAM
44
45endmenu
46
1config HYPERTRANSPORT 47config HYPERTRANSPORT
2 bool "Hypertransport Support for PMC-Sierra Yosemite" 48 bool "Hypertransport Support for PMC-Sierra Yosemite"
3 depends on PMC_YOSEMITE 49 depends on PMC_YOSEMITE
diff --git a/arch/mips/pmc-sierra/msp71xx/Makefile b/arch/mips/pmc-sierra/msp71xx/Makefile
new file mode 100644
index 000000000000..4bba79c1cc79
--- /dev/null
+++ b/arch/mips/pmc-sierra/msp71xx/Makefile
@@ -0,0 +1,11 @@
1#
2# Makefile for the PMC-Sierra MSP SOCs
3#
4obj-y += msp_prom.o msp_setup.o msp_irq.o \
5 msp_time.o msp_serial.o msp_elb.o
6obj-$(CONFIG_PMC_MSP7120_GW) += msp_hwbutton.o
7obj-$(CONFIG_IRQ_MSP_SLP) += msp_irq_slp.o
8obj-$(CONFIG_IRQ_MSP_CIC) += msp_irq_cic.o
9obj-$(CONFIG_PCI) += msp_pci.o
10obj-$(CONFIG_MSPETH) += msp_eth.o
11obj-$(CONFIG_USB_MSP71XX) += msp_usb.o
diff --git a/arch/mips/momentum/ocelot_c/ocelot_c_fpga.h b/arch/mips/pmc-sierra/msp71xx/msp_elb.c
index f0f5581dcb50..3e9641007216 100644
--- a/arch/mips/momentum/ocelot_c/ocelot_c_fpga.h
+++ b/arch/mips/pmc-sierra/msp71xx/msp_elb.c
@@ -1,7 +1,9 @@
1/* 1/*
2 * Ocelot-C Board Register Definitions 2 * Sets up the proper Chip Select configuration registers. It is assumed that
3 * PMON sets up the ADDR and MASK registers properly.
3 * 4 *
4 * (C) 2002 Momentum Computer Inc. 5 * Copyright 2005-2006 PMC-Sierra, Inc.
6 * Author: Marc St-Jean, Marc_St-Jean@pmc-sierra.com
5 * 7 *
6 * This program is free software; you can redistribute it and/or modify it 8 * This program is free software; you can redistribute it and/or modify it
7 * under the terms of the GNU General Public License as published by the 9 * under the terms of the GNU General Public License as published by the
@@ -22,40 +24,23 @@
22 * You should have received a copy of the GNU General Public License along 24 * You should have received a copy of the GNU General Public License along
23 * with this program; if not, write to the Free Software Foundation, Inc., 25 * with this program; if not, write to the Free Software Foundation, Inc.,
24 * 675 Mass Ave, Cambridge, MA 02139, USA. 26 * 675 Mass Ave, Cambridge, MA 02139, USA.
25 *
26 * Louis Hamilton, Red Hat, Inc.
27 * hamilton@redhat.com [MIPS64 modifications]
28 */ 27 */
29 28
30#ifndef __OCELOT_C_FPGA_H__ 29#include <linux/kernel.h>
31#define __OCELOT_C_FPGA_H__ 30#include <linux/init.h>
32 31#include <msp_regs.h>
33 32
34#ifdef CONFIG_64BIT 33static int __init msp_elb_setup(void)
35#define OCELOT_C_CS0_ADDR (0xfffffffffc000000) 34{
36#else 35#if defined(CONFIG_PMC_MSP7120_GW) \
37#define OCELOT_C_CS0_ADDR (0xfc000000) 36 || defined(CONFIG_PMC_MSP7120_EVAL)
37 /*
38 * Force all CNFG to be identical and equal to CS0,
39 * according to OPS doc
40 */
41 *CS1_CNFG_REG = *CS2_CNFG_REG = *CS3_CNFG_REG = *CS0_CNFG_REG;
38#endif 42#endif
43 return 0;
44}
39 45
40#define OCELOT_C_REG_BOARDREV 0x0 46subsys_initcall(msp_elb_setup);
41#define OCELOT_C_REG_FPGA_REV 0x1
42#define OCELOT_C_REG_FPGA_TYPE 0x2
43#define OCELOT_C_REG_RESET_STATUS 0x3
44#define OCELOT_C_REG_BOARD_STATUS 0x4
45#define OCELOT_C_REG_CPCI_ID 0x5
46#define OCELOT_C_REG_SET 0x6
47#define OCELOT_C_REG_CLR 0x7
48#define OCELOT_C_REG_EEPROM_MODE 0x9
49#define OCELOT_C_REG_INTMASK 0xa
50#define OCELOT_C_REG_INTSTAT 0xb
51#define OCELOT_C_REG_UART_INTMASK 0xc
52#define OCELOT_C_REG_UART_INTSTAT 0xd
53#define OCELOT_C_REG_INTSET 0xe
54#define OCELOT_C_REG_INTCLR 0xf
55
56#define __FPGA_REG_TO_ADDR(reg) \
57 ((void *) OCELOT_C_CS0_ADDR + OCELOT_C_REG_##reg)
58#define OCELOT_FPGA_WRITE(x, reg) writeb(x, __FPGA_REG_TO_ADDR(reg))
59#define OCELOT_FPGA_READ(reg) readb(__FPGA_REG_TO_ADDR(reg))
60
61#endif
diff --git a/arch/mips/pmc-sierra/msp71xx/msp_hwbutton.c b/arch/mips/pmc-sierra/msp71xx/msp_hwbutton.c
new file mode 100644
index 000000000000..6fa85728158b
--- /dev/null
+++ b/arch/mips/pmc-sierra/msp71xx/msp_hwbutton.c
@@ -0,0 +1,179 @@
1/*
2 * Sets up interrupt handlers for various hardware switches which are
3 * connected to interrupt lines.
4 *
5 * Copyright 2005-2207 PMC-Sierra, Inc.
6 *
7 * This program is free software; you can redistribute it and/or modify it
8 * under the terms of the GNU General Public License as published by the
9 * Free Software Foundation; either version 2 of the License, or (at your
10 * option) any later version.
11 *
12 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
13 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
14 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN
15 * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
16 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
17 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
18 * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
19 * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
20 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
21 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
22 *
23 * You should have received a copy of the GNU General Public License along
24 * with this program; if not, write to the Free Software Foundation, Inc.,
25 * 675 Mass Ave, Cambridge, MA 02139, USA.
26 */
27
28#include <linux/kernel.h>
29#include <linux/init.h>
30#include <linux/interrupt.h>
31
32#include <msp_int.h>
33#include <msp_regs.h>
34#include <msp_regops.h>
35#ifdef CONFIG_PMCTWILED
36#include <msp_led_macros.h>
37#endif
38
39/* For hwbutton_interrupt->initial_state */
40#define HWBUTTON_HI 0x1
41#define HWBUTTON_LO 0x2
42
43/*
44 * This struct describes a hardware button
45 */
46struct hwbutton_interrupt {
47 char *name; /* Name of button */
48 int irq; /* Actual LINUX IRQ */
49 int eirq; /* Extended IRQ number (0-7) */
50 int initial_state; /* The "normal" state of the switch */
51 void (*handle_hi)(void *); /* Handler: switch input has gone HI */
52 void (*handle_lo)(void *); /* Handler: switch input has gone LO */
53 void *data; /* Optional data to pass to handler */
54};
55
56#ifdef CONFIG_PMC_MSP7120_GW
57extern void msp_restart(char *);
58
59static void softreset_push(void *data)
60{
61 printk(KERN_WARNING "SOFTRESET switch was pushed\n");
62
63 /*
64 * In the future you could move this to the release handler,
65 * timing the difference between the 'push' and 'release', and only
66 * doing this ungraceful restart if the button has been down for
67 * a certain amount of time; otherwise doing a graceful restart.
68 */
69
70 msp_restart(NULL);
71}
72
73static void softreset_release(void *data)
74{
75 printk(KERN_WARNING "SOFTRESET switch was released\n");
76
77 /* Do nothing */
78}
79
80static void standby_on(void *data)
81{
82 printk(KERN_WARNING "STANDBY switch was set to ON (not implemented)\n");
83
84 /* TODO: Put board in standby mode */
85#ifdef CONFIG_PMCTWILED
86 msp_led_turn_off(MSP_LED_PWRSTANDBY_GREEN);
87 msp_led_turn_on(MSP_LED_PWRSTANDBY_RED);
88#endif
89}
90
91static void standby_off(void *data)
92{
93 printk(KERN_WARNING
94 "STANDBY switch was set to OFF (not implemented)\n");
95
96 /* TODO: Take out of standby mode */
97#ifdef CONFIG_PMCTWILED
98 msp_led_turn_on(MSP_LED_PWRSTANDBY_GREEN);
99 msp_led_turn_off(MSP_LED_PWRSTANDBY_RED);
100#endif
101}
102
103static struct hwbutton_interrupt softreset_sw = {
104 .name = "Softreset button",
105 .irq = MSP_INT_EXT0,
106 .eirq = 0,
107 .initial_state = HWBUTTON_HI,
108 .handle_hi = softreset_release,
109 .handle_lo = softreset_push,
110 .data = NULL,
111};
112
113static struct hwbutton_interrupt standby_sw = {
114 .name = "Standby switch",
115 .irq = MSP_INT_EXT1,
116 .eirq = 1,
117 .initial_state = HWBUTTON_HI,
118 .handle_hi = standby_off,
119 .handle_lo = standby_on,
120 .data = NULL,
121};
122#endif /* CONFIG_PMC_MSP7120_GW */
123
124static irqreturn_t hwbutton_handler(int irq, void *data)
125{
126 struct hwbutton_interrupt *hirq = data;
127 unsigned long cic_ext = *CIC_EXT_CFG_REG;
128
129 if (irq != hirq->irq)
130 return IRQ_NONE;
131
132 if (CIC_EXT_IS_ACTIVE_HI(cic_ext, hirq->eirq)) {
133 /* Interrupt: pin is now HI */
134 CIC_EXT_SET_ACTIVE_LO(cic_ext, hirq->eirq);
135 hirq->handle_hi(hirq->data);
136 } else {
137 /* Interrupt: pin is now LO */
138 CIC_EXT_SET_ACTIVE_HI(cic_ext, hirq->eirq);
139 hirq->handle_lo(hirq->data);
140 }
141
142 /*
143 * Invert the POLARITY of this level interrupt to ack the interrupt
144 * Thus next state change will invoke the opposite message
145 */
146 *CIC_EXT_CFG_REG = cic_ext;
147
148 return IRQ_HANDLED;
149}
150
151static int msp_hwbutton_register(struct hwbutton_interrupt *hirq)
152{
153 unsigned long cic_ext;
154
155 if (hirq->handle_hi == NULL || hirq->handle_lo == NULL)
156 return -EINVAL;
157
158 cic_ext = *CIC_EXT_CFG_REG;
159 CIC_EXT_SET_TRIGGER_LEVEL(cic_ext, hirq->eirq);
160 if (hirq->initial_state == HWBUTTON_HI)
161 CIC_EXT_SET_ACTIVE_LO(cic_ext, hirq->eirq);
162 else
163 CIC_EXT_SET_ACTIVE_HI(cic_ext, hirq->eirq);
164 *CIC_EXT_CFG_REG = cic_ext;
165
166 return request_irq(hirq->irq, hwbutton_handler, SA_INTERRUPT,
167 hirq->name, (void *)hirq);
168}
169
170static int __init msp_hwbutton_setup(void)
171{
172#ifdef CONFIG_PMC_MSP7120_GW
173 msp_hwbutton_register(&softreset_sw);
174 msp_hwbutton_register(&standby_sw);
175#endif
176 return 0;
177}
178
179subsys_initcall(msp_hwbutton_setup);
diff --git a/arch/mips/pmc-sierra/msp71xx/msp_irq.c b/arch/mips/pmc-sierra/msp71xx/msp_irq.c
new file mode 100644
index 000000000000..734d598a2e3a
--- /dev/null
+++ b/arch/mips/pmc-sierra/msp71xx/msp_irq.c
@@ -0,0 +1,124 @@
1/*
2 * IRQ vector handles
3 *
4 * Copyright (C) 1995, 1996, 1997, 2003 by Ralf Baechle
5 *
6 * This file is subject to the terms and conditions of the GNU General Public
7 * License. See the file "COPYING" in the main directory of this archive
8 * for more details.
9 */
10
11#include <linux/kernel.h>
12#include <linux/init.h>
13#include <linux/irq.h>
14#include <linux/interrupt.h>
15#include <linux/ptrace.h>
16#include <linux/time.h>
17
18#include <asm/irq_cpu.h>
19
20#include <msp_int.h>
21
22extern void msp_int_handle(void);
23
24/* SLP bases systems */
25extern void msp_slp_irq_init(void);
26extern void msp_slp_irq_dispatch(void);
27
28/* CIC based systems */
29extern void msp_cic_irq_init(void);
30extern void msp_cic_irq_dispatch(void);
31
32/*
33 * The PMC-Sierra MSP interrupts are arranged in a 3 level cascaded
34 * hierarchical system. The first level are the direct MIPS interrupts
35 * and are assigned the interrupt range 0-7. The second level is the SLM
36 * interrupt controller and is assigned the range 8-39. The third level
37 * comprises the Peripherial block, the PCI block, the PCI MSI block and
38 * the SLP. The PCI interrupts and the SLP errors are handled by the
39 * relevant subsystems so the core interrupt code needs only concern
40 * itself with the Peripheral block. These are assigned interrupts in
41 * the range 40-71.
42 */
43
44asmlinkage void plat_irq_dispatch(struct pt_regs *regs)
45{
46 u32 pending;
47
48 pending = read_c0_status() & read_c0_cause();
49
50 /*
51 * jump to the correct interrupt routine
52 * These are arranged in priority order and the timer
53 * comes first!
54 */
55
56#ifdef CONFIG_IRQ_MSP_CIC /* break out the CIC stuff for now */
57 if (pending & C_IRQ4) /* do the peripherals first, that's the timer */
58 msp_cic_irq_dispatch();
59
60 else if (pending & C_IRQ0)
61 do_IRQ(MSP_INT_MAC0);
62
63 else if (pending & C_IRQ1)
64 do_IRQ(MSP_INT_MAC1);
65
66 else if (pending & C_IRQ2)
67 do_IRQ(MSP_INT_USB);
68
69 else if (pending & C_IRQ3)
70 do_IRQ(MSP_INT_SAR);
71
72 else if (pending & C_IRQ5)
73 do_IRQ(MSP_INT_SEC);
74
75#else
76 if (pending & C_IRQ5)
77 do_IRQ(MSP_INT_TIMER);
78
79 else if (pending & C_IRQ0)
80 do_IRQ(MSP_INT_MAC0);
81
82 else if (pending & C_IRQ1)
83 do_IRQ(MSP_INT_MAC1);
84
85 else if (pending & C_IRQ3)
86 do_IRQ(MSP_INT_VE);
87
88 else if (pending & C_IRQ4)
89 msp_slp_irq_dispatch();
90#endif
91
92 else if (pending & C_SW0) /* do software after hardware */
93 do_IRQ(MSP_INT_SW0);
94
95 else if (pending & C_SW1)
96 do_IRQ(MSP_INT_SW1);
97}
98
99static struct irqaction cascade_msp = {
100 .handler = no_action,
101 .name = "MSP cascade"
102};
103
104
105void __init arch_init_irq(void)
106{
107 /* initialize the 1st-level CPU based interrupt controller */
108 mips_cpu_irq_init();
109
110#ifdef CONFIG_IRQ_MSP_CIC
111 msp_cic_irq_init();
112
113 /* setup the cascaded interrupts */
114 setup_irq(MSP_INT_CIC, &cascade_msp);
115 setup_irq(MSP_INT_PER, &cascade_msp);
116#else
117 /* setup the 2nd-level SLP register based interrupt controller */
118 msp_slp_irq_init();
119
120 /* setup the cascaded SLP/PER interrupts */
121 setup_irq(MSP_INT_SLP, &cascade_msp);
122 setup_irq(MSP_INT_PER, &cascade_msp);
123#endif
124}
diff --git a/arch/mips/pmc-sierra/msp71xx/msp_irq_cic.c b/arch/mips/pmc-sierra/msp71xx/msp_irq_cic.c
new file mode 100644
index 000000000000..5175357d0a25
--- /dev/null
+++ b/arch/mips/pmc-sierra/msp71xx/msp_irq_cic.c
@@ -0,0 +1,134 @@
1/*
2 * This file define the irq handler for MSP SLM subsystem interrupts.
3 *
4 * Copyright 2005-2007 PMC-Sierra, Inc, derived from irq_cpu.c
5 * Author: Andrew Hughes, Andrew_Hughes@pmc-sierra.com
6 *
7 * This program is free software; you can redistribute it and/or modify it
8 * under the terms of the GNU General Public License as published by the
9 * Free Software Foundation; either version 2 of the License, or (at your
10 * option) any later version.
11 */
12
13#include <linux/init.h>
14#include <linux/interrupt.h>
15#include <linux/kernel.h>
16#include <linux/bitops.h>
17
18#include <asm/system.h>
19
20#include <msp_cic_int.h>
21#include <msp_regs.h>
22
23/*
24 * NOTE: We are only enabling support for VPE0 right now.
25 */
26
27static inline void unmask_msp_cic_irq(unsigned int irq)
28{
29
30 /* check for PER interrupt range */
31 if (irq < MSP_PER_INTBASE)
32 *CIC_VPE0_MSK_REG |= (1 << (irq - MSP_CIC_INTBASE));
33 else
34 *PER_INT_MSK_REG |= (1 << (irq - MSP_PER_INTBASE));
35}
36
37static inline void mask_msp_cic_irq(unsigned int irq)
38{
39 /* check for PER interrupt range */
40 if (irq < MSP_PER_INTBASE)
41 *CIC_VPE0_MSK_REG &= ~(1 << (irq - MSP_CIC_INTBASE));
42 else
43 *PER_INT_MSK_REG &= ~(1 << (irq - MSP_PER_INTBASE));
44}
45
46/*
47 * While we ack the interrupt interrupts are disabled and thus we don't need
48 * to deal with concurrency issues. Same for msp_cic_irq_end.
49 */
50static inline void ack_msp_cic_irq(unsigned int irq)
51{
52 mask_msp_cic_irq(irq);
53
54 /*
55 * only really necessary for 18, 16-14 and sometimes 3:0 (since
56 * these can be edge sensitive) but it doesn't hurt for the others.
57 */
58
59 /* check for PER interrupt range */
60 if (irq < MSP_PER_INTBASE)
61 *CIC_STS_REG = (1 << (irq - MSP_CIC_INTBASE));
62 else
63 *PER_INT_STS_REG = (1 << (irq - MSP_PER_INTBASE));
64}
65
66static struct irq_chip msp_cic_irq_controller = {
67 .name = "MSP_CIC",
68 .ack = ack_msp_cic_irq,
69 .mask = ack_msp_cic_irq,
70 .mask_ack = ack_msp_cic_irq,
71 .unmask = unmask_msp_cic_irq,
72};
73
74
75void __init msp_cic_irq_init(void)
76{
77 int i;
78
79 /* Mask/clear interrupts. */
80 *CIC_VPE0_MSK_REG = 0x00000000;
81 *PER_INT_MSK_REG = 0x00000000;
82 *CIC_STS_REG = 0xFFFFFFFF;
83 *PER_INT_STS_REG = 0xFFFFFFFF;
84
85#if defined(CONFIG_PMC_MSP7120_GW) || \
86 defined(CONFIG_PMC_MSP7120_EVAL)
87 /*
88 * The MSP7120 RG and EVBD boards use IRQ[6:4] for PCI.
89 * These inputs map to EXT_INT_POL[6:4] inside the CIC.
90 * They are to be active low, level sensitive.
91 */
92 *CIC_EXT_CFG_REG &= 0xFFFF8F8F;
93#endif
94
95 /* initialize all the IRQ descriptors */
96 for (i = MSP_CIC_INTBASE; i < MSP_PER_INTBASE + 32; i++)
97 set_irq_chip_and_handler(i, &msp_cic_irq_controller,
98 handle_level_irq);
99}
100
101void msp_cic_irq_dispatch(void)
102{
103 u32 pending;
104 int intbase;
105
106 intbase = MSP_CIC_INTBASE;
107 pending = *CIC_STS_REG & *CIC_VPE0_MSK_REG;
108
109 /* check for PER interrupt */
110 if (pending == (1 << (MSP_INT_PER - MSP_CIC_INTBASE))) {
111 intbase = MSP_PER_INTBASE;
112 pending = *PER_INT_STS_REG & *PER_INT_MSK_REG;
113 }
114
115 /* check for spurious interrupt */
116 if (pending == 0x00000000) {
117 printk(KERN_ERR
118 "Spurious %s interrupt? status %08x, mask %08x\n",
119 (intbase == MSP_CIC_INTBASE) ? "CIC" : "PER",
120 (intbase == MSP_CIC_INTBASE) ?
121 *CIC_STS_REG : *PER_INT_STS_REG,
122 (intbase == MSP_CIC_INTBASE) ?
123 *CIC_VPE0_MSK_REG : *PER_INT_MSK_REG);
124 return;
125 }
126
127 /* check for the timer and dispatch it first */
128 if ((intbase == MSP_CIC_INTBASE) &&
129 (pending & (1 << (MSP_INT_VPE0_TIMER - MSP_CIC_INTBASE))))
130 do_IRQ(MSP_INT_VPE0_TIMER);
131 else
132 do_IRQ(ffs(pending) + intbase - 1);
133}
134
diff --git a/arch/mips/pmc-sierra/msp71xx/msp_irq_slp.c b/arch/mips/pmc-sierra/msp71xx/msp_irq_slp.c
new file mode 100644
index 000000000000..f5f1b8d2bb9a
--- /dev/null
+++ b/arch/mips/pmc-sierra/msp71xx/msp_irq_slp.c
@@ -0,0 +1,109 @@
1/*
2 * This file define the irq handler for MSP SLM subsystem interrupts.
3 *
4 * Copyright 2005-2006 PMC-Sierra, Inc, derived from irq_cpu.c
5 * Author: Andrew Hughes, Andrew_Hughes@pmc-sierra.com
6 *
7 * This program is free software; you can redistribute it and/or modify it
8 * under the terms of the GNU General Public License as published by the
9 * Free Software Foundation; either version 2 of the License, or (at your
10 * option) any later version.
11 */
12
13#include <linux/init.h>
14#include <linux/interrupt.h>
15#include <linux/kernel.h>
16#include <linux/bitops.h>
17
18#include <asm/mipsregs.h>
19#include <asm/system.h>
20
21#include <msp_slp_int.h>
22#include <msp_regs.h>
23
24static inline void unmask_msp_slp_irq(unsigned int irq)
25{
26 /* check for PER interrupt range */
27 if (irq < MSP_PER_INTBASE)
28 *SLP_INT_MSK_REG |= (1 << (irq - MSP_SLP_INTBASE));
29 else
30 *PER_INT_MSK_REG |= (1 << (irq - MSP_PER_INTBASE));
31}
32
33static inline void mask_msp_slp_irq(unsigned int irq)
34{
35 /* check for PER interrupt range */
36 if (irq < MSP_PER_INTBASE)
37 *SLP_INT_MSK_REG &= ~(1 << (irq - MSP_SLP_INTBASE));
38 else
39 *PER_INT_MSK_REG &= ~(1 << (irq - MSP_PER_INTBASE));
40}
41
42/*
43 * While we ack the interrupt interrupts are disabled and thus we don't need
44 * to deal with concurrency issues. Same for msp_slp_irq_end.
45 */
46static inline void ack_msp_slp_irq(unsigned int irq)
47{
48 mask_slp_irq(irq);
49
50 /*
51 * only really necessary for 18, 16-14 and sometimes 3:0 (since
52 * these can be edge sensitive) but it doesn't hurt for the others.
53 */
54
55 /* check for PER interrupt range */
56 if (irq < MSP_PER_INTBASE)
57 *SLP_INT_STS_REG = (1 << (irq - MSP_SLP_INTBASE));
58 else
59 *PER_INT_STS_REG = (1 << (irq - MSP_PER_INTBASE));
60}
61
62static struct irq_chip msp_slp_irq_controller = {
63 .name = "MSP_SLP",
64 .ack = ack_msp_slp_irq,
65 .mask = ack_msp_slp_irq,
66 .mask_ack = ack_msp_slp_irq,
67 .unmask = unmask_msp_slp_irq,
68};
69
70void __init msp_slp_irq_init(void)
71{
72 int i;
73
74 /* Mask/clear interrupts. */
75 *SLP_INT_MSK_REG = 0x00000000;
76 *PER_INT_MSK_REG = 0x00000000;
77 *SLP_INT_STS_REG = 0xFFFFFFFF;
78 *PER_INT_STS_REG = 0xFFFFFFFF;
79
80 /* initialize all the IRQ descriptors */
81 for (i = MSP_SLP_INTBASE; i < MSP_PER_INTBASE + 32; i++)
82 set_irq_chip_and_handler(i, &msp_slp_irq_controller
83 handle_level_irq);
84}
85
86void msp_slp_irq_dispatch(void)
87{
88 u32 pending;
89 int intbase;
90
91 intbase = MSP_SLP_INTBASE;
92 pending = *SLP_INT_STS_REG & *SLP_INT_MSK_REG;
93
94 /* check for PER interrupt */
95 if (pending == (1 << (MSP_INT_PER - MSP_SLP_INTBASE))) {
96 intbase = MSP_PER_INTBASE;
97 pending = *PER_INT_STS_REG & *PER_INT_MSK_REG;
98 }
99
100 /* check for spurious interrupt */
101 if (pending == 0x00000000) {
102 printk(KERN_ERR "Spurious %s interrupt?\n",
103 (intbase == MSP_SLP_INTBASE) ? "SLP" : "PER");
104 return;
105 }
106
107 /* dispatch the irq */
108 do_IRQ(ffs(pending) + intbase - 1);
109}
diff --git a/arch/mips/momentum/ocelot_3/ocelot_3_fpga.h b/arch/mips/pmc-sierra/msp71xx/msp_pci.c
index 5710a9029f1c..f764fe7748d6 100644
--- a/arch/mips/momentum/ocelot_3/ocelot_3_fpga.h
+++ b/arch/mips/pmc-sierra/msp71xx/msp_pci.c
@@ -1,7 +1,7 @@
1/* 1/*
2 * Ocelot-3 Board Register Definitions 2 * The setup file for PCI related hardware on PMC-Sierra MSP processors.
3 * 3 *
4 * (C) 2002 Momentum Computer Inc. 4 * Copyright 2005-2006 PMC-Sierra, Inc.
5 * 5 *
6 * This program is free software; you can redistribute it and/or modify it 6 * This program is free software; you can redistribute it and/or modify it
7 * under the terms of the GNU General Public License as published by the 7 * under the terms of the GNU General Public License as published by the
@@ -22,38 +22,29 @@
22 * You should have received a copy of the GNU General Public License along 22 * You should have received a copy of the GNU General Public License along
23 * with this program; if not, write to the Free Software Foundation, Inc., 23 * with this program; if not, write to the Free Software Foundation, Inc.,
24 * 675 Mass Ave, Cambridge, MA 02139, USA. 24 * 675 Mass Ave, Cambridge, MA 02139, USA.
25 *
26 * Louis Hamilton, Red Hat, Inc.
27 * hamilton@redhat.com [MIPS64 modifications]
28 *
29 * Copyright (C) 2004 MontaVista Software Inc.
30 * Author: Manish Lachwani, mlachwani@mvista.com
31 */ 25 */
32 26
33#ifndef __OCELOT_3_FPGA_H__ 27#include <linux/init.h>
34#define __OCELOT_3_FPGA_H__ 28
35 29#include <msp_prom.h>
36#define OCELOT_3_REG_BOARDREV 0x0 30#include <msp_regs.h>
37#define OCELOT_3_REG_FPGA_REV 0x1 31
38#define OCELOT_3_REG_FPGA_TYPE 0x2 32extern void msp_pci_init(void);
39#define OCELOT_3_REG_RESET_STATUS 0x3
40#define OCELOT_3_REG_BOARD_STATUS 0x4
41#define OCELOT_3_REG_CPCI_ID 0x5
42#define OCELOT_3_REG_SET 0x6
43#define OCELOT_3_REG_CLR 0x7
44#define OCELOT_3_REG_EEPROM_MODE 0x9
45#define OCELOT_3_REG_INTMASK 0xa
46#define OCELOT_3_REG_INTSTAT 0xb
47#define OCELOT_3_REG_UART_INTMASK 0xc
48#define OCELOT_3_REG_UART_INTSTAT 0xd
49#define OCELOT_3_REG_INTSET 0xe
50#define OCELOT_3_REG_INTCLR 0xf
51
52extern unsigned long ocelot_fpga_base;
53
54#define __FPGA_REG_TO_ADDR(reg) \
55 ((void *) ocelot_fpga_base + OCELOT_3_REG_##reg)
56#define OCELOT_FPGA_WRITE(x, reg) writeb(x, __FPGA_REG_TO_ADDR(reg))
57#define OCELOT_FPGA_READ(reg) readb(__FPGA_REG_TO_ADDR(reg))
58 33
34static int __init msp_pci_setup(void)
35{
36#if 0 /* Linux 2.6 initialization code to be completed */
37 if (getdeviceid() & DEV_ID_SINGLE_PC) {
38 /* If single card mode */
39 slmRegs *sreg = (slmRegs *) SREG_BASE;
40
41 sreg->single_pc_enable = SINGLE_PCCARD;
42 }
59#endif 43#endif
44
45 msp_pci_init();
46
47 return 0;
48}
49
50subsys_initcall(msp_pci_setup);
diff --git a/arch/mips/pmc-sierra/msp71xx/msp_prom.c b/arch/mips/pmc-sierra/msp71xx/msp_prom.c
new file mode 100644
index 000000000000..e5bd5481d8db
--- /dev/null
+++ b/arch/mips/pmc-sierra/msp71xx/msp_prom.c
@@ -0,0 +1,566 @@
1/*
2 * BRIEF MODULE DESCRIPTION
3 * PROM library initialisation code, assuming a version of
4 * pmon is the boot code.
5 *
6 * Copyright 2000,2001 MontaVista Software Inc.
7 * Author: MontaVista Software, Inc.
8 * ppopov@mvista.com or source@mvista.com
9 *
10 * This file was derived from Carsten Langgaard's
11 * arch/mips/mips-boards/xx files.
12 *
13 * Carsten Langgaard, carstenl@mips.com
14 * Copyright (C) 1999,2000 MIPS Technologies, Inc. All rights reserved.
15 *
16 * This program is free software; you can redistribute it and/or modify it
17 * under the terms of the GNU General Public License as published by the
18 * Free Software Foundation; either version 2 of the License, or (at your
19 * option) any later version.
20 *
21 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
22 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
23 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN
24 * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
25 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
26 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
27 * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
28 * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
30 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 *
32 * You should have received a copy of the GNU General Public License along
33 * with this program; if not, write to the Free Software Foundation, Inc.,
34 * 675 Mass Ave, Cambridge, MA 02139, USA.
35 */
36
37#include <linux/module.h>
38#include <linux/kernel.h>
39#include <linux/init.h>
40#include <linux/string.h>
41#include <linux/interrupt.h>
42#include <linux/mm.h>
43#ifdef CONFIG_CRAMFS
44#include <linux/cramfs_fs.h>
45#endif
46#ifdef CONFIG_SQUASHFS
47#include <linux/squashfs_fs.h>
48#endif
49
50#include <asm/addrspace.h>
51#include <asm/bootinfo.h>
52#include <asm-generic/sections.h>
53#include <asm/page.h>
54
55#include <msp_prom.h>
56#include <msp_regs.h>
57
58/* global PROM environment variables and pointers */
59int prom_argc;
60char **prom_argv, **prom_envp;
61int *prom_vec;
62
63/* debug flag */
64int init_debug = 1;
65
66/* memory blocks */
67struct prom_pmemblock mdesc[PROM_MAX_PMEMBLOCKS];
68
69/* default feature sets */
70static char msp_default_features[] =
71#if defined(CONFIG_PMC_MSP4200_EVAL) \
72 || defined(CONFIG_PMC_MSP4200_GW)
73 "ERER";
74#elif defined(CONFIG_PMC_MSP7120_EVAL) \
75 || defined(CONFIG_PMC_MSP7120_GW)
76 "EMEMSP";
77#elif defined(CONFIG_PMC_MSP7120_FPGA)
78 "EMEM";
79#endif
80
81/* conversion functions */
82static inline unsigned char str2hexnum(unsigned char c)
83{
84 if (c >= '0' && c <= '9')
85 return c - '0';
86 if (c >= 'a' && c <= 'f')
87 return c - 'a' + 10;
88 return 0; /* foo */
89}
90
91static inline int str2eaddr(unsigned char *ea, unsigned char *str)
92{
93 int index = 0;
94 unsigned char num = 0;
95
96 while (*str != '\0') {
97 if ((*str == '.') || (*str == ':')) {
98 ea[index++] = num;
99 num = 0;
100 str++;
101 } else {
102 num = num << 4;
103 num |= str2hexnum(*str++);
104 }
105 }
106
107 if (index == 5) {
108 ea[index++] = num;
109 return 0;
110 } else
111 return -1;
112}
113EXPORT_SYMBOL(str2eaddr);
114
115static inline unsigned long str2hex(unsigned char *str)
116{
117 int value = 0;
118
119 while (*str) {
120 value = value << 4;
121 value |= str2hexnum(*str++);
122 }
123
124 return value;
125}
126
127/* function to query the system information */
128const char *get_system_type(void)
129{
130#if defined(CONFIG_PMC_MSP4200_EVAL)
131 return "PMC-Sierra MSP4200 Eval Board";
132#elif defined(CONFIG_PMC_MSP4200_GW)
133 return "PMC-Sierra MSP4200 VoIP Gateway";
134#elif defined(CONFIG_PMC_MSP7120_EVAL)
135 return "PMC-Sierra MSP7120 Eval Board";
136#elif defined(CONFIG_PMC_MSP7120_GW)
137 return "PMC-Sierra MSP7120 Residential Gateway";
138#elif defined(CONFIG_PMC_MSP7120_FPGA)
139 return "PMC-Sierra MSP7120 FPGA";
140#else
141 #error "What is the type of *your* MSP?"
142#endif
143}
144
145int get_ethernet_addr(char *ethaddr_name, char *ethernet_addr)
146{
147 char *ethaddr_str;
148
149 ethaddr_str = prom_getenv(ethaddr_name);
150 if (!ethaddr_str) {
151 printk(KERN_WARNING "%s not set in boot prom\n", ethaddr_name);
152 return -1;
153 }
154
155 if (str2eaddr(ethernet_addr, ethaddr_str) == -1) {
156 printk(KERN_WARNING "%s badly formatted-<%s>\n",
157 ethaddr_name, ethaddr_str);
158 return -1;
159 }
160
161 if (init_debug > 1) {
162 int i;
163 printk(KERN_DEBUG "get_ethernet_addr: for %s ", ethaddr_name);
164 for (i = 0; i < 5; i++)
165 printk(KERN_DEBUG "%02x:",
166 (unsigned char)*(ethernet_addr+i));
167 printk(KERN_DEBUG "%02x\n", *(ethernet_addr+i));
168 }
169
170 return 0;
171}
172EXPORT_SYMBOL(get_ethernet_addr);
173
174static char *get_features(void)
175{
176 char *feature = prom_getenv(FEATURES);
177
178 if (feature == NULL) {
179 /* default features based on MACHINE_TYPE */
180 feature = msp_default_features;
181 }
182
183 return feature;
184}
185
186static char test_feature(char c)
187{
188 char *feature = get_features();
189
190 while (*feature) {
191 if (*feature++ == c)
192 return *feature;
193 feature++;
194 }
195
196 return FEATURE_NOEXIST;
197}
198
199unsigned long get_deviceid(void)
200{
201 char *deviceid = prom_getenv(DEVICEID);
202
203 if (deviceid == NULL)
204 return *DEV_ID_REG;
205 else
206 return str2hex(deviceid);
207}
208
209char identify_pci(void)
210{
211 return test_feature(PCI_KEY);
212}
213EXPORT_SYMBOL(identify_pci);
214
215char identify_pcimux(void)
216{
217 return test_feature(PCIMUX_KEY);
218}
219
220char identify_sec(void)
221{
222 return test_feature(SEC_KEY);
223}
224EXPORT_SYMBOL(identify_sec);
225
226char identify_spad(void)
227{
228 return test_feature(SPAD_KEY);
229}
230EXPORT_SYMBOL(identify_spad);
231
232char identify_tdm(void)
233{
234 return test_feature(TDM_KEY);
235}
236EXPORT_SYMBOL(identify_tdm);
237
238char identify_zsp(void)
239{
240 return test_feature(ZSP_KEY);
241}
242EXPORT_SYMBOL(identify_zsp);
243
244static char identify_enetfeature(char key, unsigned long interface_num)
245{
246 char *feature = get_features();
247
248 while (*feature) {
249 if (*feature++ == key && interface_num-- == 0)
250 return *feature;
251 feature++;
252 }
253
254 return FEATURE_NOEXIST;
255}
256
257char identify_enet(unsigned long interface_num)
258{
259 return identify_enetfeature(ENET_KEY, interface_num);
260}
261EXPORT_SYMBOL(identify_enet);
262
263char identify_enetTxD(unsigned long interface_num)
264{
265 return identify_enetfeature(ENETTXD_KEY, interface_num);
266}
267EXPORT_SYMBOL(identify_enetTxD);
268
269unsigned long identify_family(void)
270{
271 unsigned long deviceid;
272
273 deviceid = get_deviceid();
274
275 return deviceid & CPU_DEVID_FAMILY;
276}
277EXPORT_SYMBOL(identify_family);
278
279unsigned long identify_revision(void)
280{
281 unsigned long deviceid;
282
283 deviceid = get_deviceid();
284
285 return deviceid & CPU_DEVID_REVISION;
286}
287EXPORT_SYMBOL(identify_revision);
288
289/* PROM environment functions */
290char *prom_getenv(char *env_name)
291{
292 /*
293 * Return a pointer to the given environment variable. prom_envp
294 * points to a null terminated array of pointers to variables.
295 * Environment variables are stored in the form of "memsize=64"
296 */
297
298 char **var = prom_envp;
299 int i = strlen(env_name);
300
301 while (*var) {
302 if (strncmp(env_name, *var, i) == 0) {
303 return (*var + strlen(env_name) + 1);
304 }
305 var++;
306 }
307
308 return NULL;
309}
310
311/* PROM commandline functions */
312char *prom_getcmdline(void)
313{
314 return &(arcs_cmdline[0]);
315}
316EXPORT_SYMBOL(prom_getcmdline);
317
318void __init prom_init_cmdline(void)
319{
320 char *cp;
321 int actr;
322
323 actr = 1; /* Always ignore argv[0] */
324
325 cp = &(arcs_cmdline[0]);
326 while (actr < prom_argc) {
327 strcpy(cp, prom_argv[actr]);
328 cp += strlen(prom_argv[actr]);
329 *cp++ = ' ';
330 actr++;
331 }
332 if (cp != &(arcs_cmdline[0])) /* get rid of trailing space */
333 --cp;
334 *cp = '\0';
335}
336
337/* memory allocation functions */
338static int __init prom_memtype_classify(unsigned int type)
339{
340 switch (type) {
341 case yamon_free:
342 return BOOT_MEM_RAM;
343 case yamon_prom:
344 return BOOT_MEM_ROM_DATA;
345 default:
346 return BOOT_MEM_RESERVED;
347 }
348}
349
350void __init prom_meminit(void)
351{
352 struct prom_pmemblock *p;
353
354 p = prom_getmdesc();
355
356 while (p->size) {
357 long type;
358 unsigned long base, size;
359
360 type = prom_memtype_classify(p->type);
361 base = p->base;
362 size = p->size;
363
364 add_memory_region(base, size, type);
365 p++;
366 }
367}
368
369void __init prom_free_prom_memory(void)
370{
371 int argc;
372 char **argv;
373 char **envp;
374 char *ptr;
375 int len = 0;
376 int i;
377 unsigned long addr;
378
379 /*
380 * preserve environment variables and command line from pmon/bbload
381 * first preserve the command line
382 */
383 for (argc = 0; argc < prom_argc; argc++) {
384 len += sizeof(char *); /* length of pointer */
385 len += strlen(prom_argv[argc]) + 1; /* length of string */
386 }
387 len += sizeof(char *); /* plus length of null pointer */
388
389 argv = kmalloc(len, GFP_KERNEL);
390 ptr = (char *) &argv[prom_argc + 1]; /* strings follow array */
391
392 for (argc = 0; argc < prom_argc; argc++) {
393 argv[argc] = ptr;
394 strcpy(ptr, prom_argv[argc]);
395 ptr += strlen(prom_argv[argc]) + 1;
396 }
397 argv[prom_argc] = NULL; /* end array with null pointer */
398 prom_argv = argv;
399
400 /* next preserve the environment variables */
401 len = 0;
402 i = 0;
403 for (envp = prom_envp; *envp != NULL; envp++) {
404 i++; /* count number of environment variables */
405 len += sizeof(char *); /* length of pointer */
406 len += strlen(*envp) + 1; /* length of string */
407 }
408 len += sizeof(char *); /* plus length of null pointer */
409
410 envp = kmalloc(len, GFP_KERNEL);
411 ptr = (char *) &envp[i+1];
412
413 for (argc = 0; argc < i; argc++) {
414 envp[argc] = ptr;
415 strcpy(ptr, prom_envp[argc]);
416 ptr += strlen(prom_envp[argc]) + 1;
417 }
418 envp[i] = NULL; /* end array with null pointer */
419 prom_envp = envp;
420
421 for (i = 0; i < boot_mem_map.nr_map; i++) {
422 if (boot_mem_map.map[i].type != BOOT_MEM_ROM_DATA)
423 continue;
424
425 addr = boot_mem_map.map[i].addr;
426 free_init_pages("prom memory",
427 addr, addr + boot_mem_map.map[i].size);
428 }
429}
430
431struct prom_pmemblock *__init prom_getmdesc(void)
432{
433 static char memsz_env[] __initdata = "memsize";
434 static char heaptop_env[] __initdata = "heaptop";
435 char *str;
436 unsigned int memsize;
437 unsigned int heaptop;
438#ifdef CONFIG_MTD_PMC_MSP_RAMROOT
439 void *ramroot_start;
440 unsigned long ramroot_size;
441#endif
442 int i;
443
444 str = prom_getenv(memsz_env);
445 if (!str) {
446 ppfinit("memsize not set in boot prom, "
447 "set to default (32Mb)\n");
448 memsize = 0x02000000;
449 } else {
450 memsize = simple_strtol(str, NULL, 0);
451
452 if (memsize == 0) {
453 /* if memsize is a bad size, use reasonable default */
454 memsize = 0x02000000;
455 }
456
457 /* convert to physical address (removing caching bits, etc) */
458 memsize = CPHYSADDR(memsize);
459 }
460
461 str = prom_getenv(heaptop_env);
462 if (!str) {
463 heaptop = CPHYSADDR((u32)&_text);
464 ppfinit("heaptop not set in boot prom, "
465 "set to default 0x%08x\n", heaptop);
466 } else {
467 heaptop = simple_strtol(str, NULL, 16);
468 if (heaptop == 0) {
469 /* heaptop conversion bad, might have 0xValue */
470 heaptop = simple_strtol(str, NULL, 0);
471
472 if (heaptop == 0) {
473 /* heaptop still bad, use reasonable default */
474 heaptop = CPHYSADDR((u32)&_text);
475 }
476 }
477
478 /* convert to physical address (removing caching bits, etc) */
479 heaptop = CPHYSADDR((u32)heaptop);
480 }
481
482 /* the base region */
483 i = 0;
484 mdesc[i].type = BOOT_MEM_RESERVED;
485 mdesc[i].base = 0x00000000;
486 mdesc[i].size = PAGE_ALIGN(0x300 + 0x80);
487 /* jtag interrupt vector + sizeof vector */
488
489 /* PMON data */
490 if (heaptop > mdesc[i].base + mdesc[i].size) {
491 i++; /* 1 */
492 mdesc[i].type = BOOT_MEM_ROM_DATA;
493 mdesc[i].base = mdesc[i-1].base + mdesc[i-1].size;
494 mdesc[i].size = heaptop - mdesc[i].base;
495 }
496
497 /* end of PMON data to start of kernel -- probably zero .. */
498 if (heaptop != CPHYSADDR((u32)_text)) {
499 i++; /* 2 */
500 mdesc[i].type = BOOT_MEM_RAM;
501 mdesc[i].base = heaptop;
502 mdesc[i].size = CPHYSADDR((u32)_text) - mdesc[i].base;
503 }
504
505 /* kernel proper */
506 i++; /* 3 */
507 mdesc[i].type = BOOT_MEM_RESERVED;
508 mdesc[i].base = CPHYSADDR((u32)_text);
509#ifdef CONFIG_MTD_PMC_MSP_RAMROOT
510 if (get_ramroot(&ramroot_start, &ramroot_size)) {
511 /*
512 * Rootfs in RAM -- follows kernel
513 * Combine rootfs image with kernel block so a
514 * page (4k) isn't wasted between memory blocks
515 */
516 mdesc[i].size = CPHYSADDR(PAGE_ALIGN(
517 (u32)ramroot_start + ramroot_size)) - mdesc[i].base;
518 } else
519#endif
520 mdesc[i].size = CPHYSADDR(PAGE_ALIGN(
521 (u32)_end)) - mdesc[i].base;
522
523 /* Remainder of RAM -- under memsize */
524 i++; /* 5 */
525 mdesc[i].type = yamon_free;
526 mdesc[i].base = mdesc[i-1].base + mdesc[i-1].size;
527 mdesc[i].size = memsize - mdesc[i].base;
528
529 return &mdesc[0];
530}
531
532/* rootfs functions */
533#ifdef CONFIG_MTD_PMC_MSP_RAMROOT
534bool get_ramroot(void **start, unsigned long *size)
535{
536 extern char _end[];
537
538 /* Check for start following the end of the kernel */
539 void *check_start = (void *)_end;
540
541 /* Check for supported rootfs types */
542#ifdef CONFIG_CRAMFS
543 if (*(__u32 *)check_start == CRAMFS_MAGIC) {
544 /* Get CRAMFS size */
545 *start = check_start;
546 *size = PAGE_ALIGN(((struct cramfs_super *)
547 check_start)->size);
548
549 return true;
550 }
551#endif
552#ifdef CONFIG_SQUASHFS
553 if (*((unsigned int *)check_start) == SQUASHFS_MAGIC) {
554 /* Get SQUASHFS size */
555 *start = check_start;
556 *size = PAGE_ALIGN(((struct squashfs_super_block *)
557 check_start)->bytes_used);
558
559 return true;
560 }
561#endif
562
563 return false;
564}
565EXPORT_SYMBOL(get_ramroot);
566#endif
diff --git a/arch/mips/pmc-sierra/msp71xx/msp_setup.c b/arch/mips/pmc-sierra/msp71xx/msp_setup.c
new file mode 100644
index 000000000000..8f69b789be90
--- /dev/null
+++ b/arch/mips/pmc-sierra/msp71xx/msp_setup.c
@@ -0,0 +1,256 @@
1/*
2 * The generic setup file for PMC-Sierra MSP processors
3 *
4 * Copyright 2005-2007 PMC-Sierra, Inc,
5 * Author: Jun Sun, jsun@mvista.com or jsun@junsun.net
6 *
7 * This program is free software; you can redistribute it and/or modify it
8 * under the terms of the GNU General Public License as published by the
9 * Free Software Foundation; either version 2 of the License, or (at your
10 * option) any later version.
11 */
12
13#include <asm/bootinfo.h>
14#include <asm/cacheflush.h>
15#include <asm/r4kcache.h>
16#include <asm/reboot.h>
17#include <asm/time.h>
18
19#include <msp_prom.h>
20#include <msp_regs.h>
21
22#if defined(CONFIG_PMC_MSP7120_GW)
23#include <msp_regops.h>
24#include <msp_gpio.h>
25#define MSP_BOARD_RESET_GPIO 9
26#endif
27
28extern void msp_timer_init(void);
29extern void msp_serial_setup(void);
30extern void pmctwiled_setup(void);
31
32#if defined(CONFIG_PMC_MSP7120_EVAL) || \
33 defined(CONFIG_PMC_MSP7120_GW) || \
34 defined(CONFIG_PMC_MSP7120_FPGA)
35/*
36 * Performs the reset for MSP7120-based boards
37 */
38void msp7120_reset(void)
39{
40 void *start, *end, *iptr;
41 register int i;
42
43 /* Diasble all interrupts */
44 local_irq_disable();
45#ifdef CONFIG_SYS_SUPPORTS_MULTITHREADING
46 dvpe();
47#endif
48
49 /* Cache the reset code of this function */
50 __asm__ __volatile__ (
51 " .set push \n"
52 " .set mips3 \n"
53 " la %0,startpoint \n"
54 " la %1,endpoint \n"
55 " .set pop \n"
56 : "=r" (start), "=r" (end)
57 :
58 );
59
60 for (iptr = (void *)((unsigned int)start & ~(L1_CACHE_BYTES - 1));
61 iptr < end; iptr += L1_CACHE_BYTES)
62 cache_op(Fill, iptr);
63
64 __asm__ __volatile__ (
65 "startpoint: \n"
66 );
67
68 /* Put the DDRC into self-refresh mode */
69 DDRC_INDIRECT_WRITE(DDRC_CTL(10), 0xb, 1 << 16);
70
71 /*
72 * IMPORTANT!
73 * DO NOT do anything from here on out that might even
74 * think about fetching from RAM - i.e., don't call any
75 * non-inlined functions, and be VERY sure that any inline
76 * functions you do call do NOT access any sort of RAM
77 * anywhere!
78 */
79
80 /* Wait a bit for the DDRC to settle */
81 for (i = 0; i < 100000000; i++);
82
83#if defined(CONFIG_PMC_MSP7120_GW)
84 /*
85 * Set GPIO 9 HI, (tied to board reset logic)
86 * GPIO 9 is the 4th GPIO of register 3
87 *
88 * NOTE: We cannot use the higher-level msp_gpio_mode()/out()
89 * as GPIO char driver may not be enabled and it would look up
90 * data inRAM!
91 */
92 set_value_reg32(GPIO_CFG3_REG,
93 basic_mode_mask(MSP_BOARD_RESET_GPIO),
94 basic_mode(MSP_GPIO_OUTPUT, MSP_BOARD_RESET_GPIO));
95 set_reg32(GPIO_DATA3_REG,
96 basic_data_mask(MSP_BOARD_RESET_GPIO));
97
98 /*
99 * In case GPIO9 doesn't reset the board (jumper configurable!)
100 * fallback to device reset below.
101 */
102#endif
103 /* Set bit 1 of the MSP7120 reset register */
104 *RST_SET_REG = 0x00000001;
105
106 __asm__ __volatile__ (
107 "endpoint: \n"
108 );
109}
110#endif
111
112void msp_restart(char *command)
113{
114 printk(KERN_WARNING "Now rebooting .......\n");
115
116#if defined(CONFIG_PMC_MSP7120_EVAL) || \
117 defined(CONFIG_PMC_MSP7120_GW) || \
118 defined(CONFIG_PMC_MSP7120_FPGA)
119 msp7120_reset();
120#else
121 /* No chip-specific reset code, just jump to the ROM reset vector */
122 set_c0_status(ST0_BEV | ST0_ERL);
123 change_c0_config(CONF_CM_CMASK, CONF_CM_UNCACHED);
124 flush_cache_all();
125 write_c0_wired(0);
126
127 __asm__ __volatile__("jr\t%0"::"r"(0xbfc00000));
128#endif
129}
130
131void msp_halt(void)
132{
133 printk(KERN_WARNING "\n** You can safely turn off the power\n");
134 while (1)
135 /* If possible call official function to get CPU WARs */
136 if (cpu_wait)
137 (*cpu_wait)();
138 else
139 __asm__(".set\tmips3\n\t" "wait\n\t" ".set\tmips0");
140}
141
142void msp_power_off(void)
143{
144 msp_halt();
145}
146
147void __init plat_mem_setup(void)
148{
149 _machine_restart = msp_restart;
150 _machine_halt = msp_halt;
151 pm_power_off = msp_power_off;
152
153 board_time_init = msp_timer_init;
154}
155
156void __init prom_init(void)
157{
158 unsigned long family;
159 unsigned long revision;
160
161 prom_argc = fw_arg0;
162 prom_argv = (char **)fw_arg1;
163 prom_envp = (char **)fw_arg2;
164
165 /*
166 * Someday we can use this with PMON2000 to get a
167 * platform call prom routines for output etc. without
168 * having to use grody hacks. For now it's unused.
169 *
170 * struct callvectors *cv = (struct callvectors *) fw_arg3;
171 */
172 family = identify_family();
173 revision = identify_revision();
174
175 switch (family) {
176 case FAMILY_FPGA:
177 if (FPGA_IS_MSP4200(revision)) {
178 /* Old-style revision ID */
179 mips_machgroup = MACH_GROUP_MSP;
180 mips_machtype = MACH_MSP4200_FPGA;
181 } else {
182 mips_machgroup = MACH_GROUP_MSP;
183 mips_machtype = MACH_MSP_OTHER;
184 }
185 break;
186
187 case FAMILY_MSP4200:
188 mips_machgroup = MACH_GROUP_MSP;
189#if defined(CONFIG_PMC_MSP4200_EVAL)
190 mips_machtype = MACH_MSP4200_EVAL;
191#elif defined(CONFIG_PMC_MSP4200_GW)
192 mips_machtype = MACH_MSP4200_GW;
193#else
194 mips_machtype = MACH_MSP_OTHER;
195#endif
196 break;
197
198 case FAMILY_MSP4200_FPGA:
199 mips_machgroup = MACH_GROUP_MSP;
200 mips_machtype = MACH_MSP4200_FPGA;
201 break;
202
203 case FAMILY_MSP7100:
204 mips_machgroup = MACH_GROUP_MSP;
205#if defined(CONFIG_PMC_MSP7120_EVAL)
206 mips_machtype = MACH_MSP7120_EVAL;
207#elif defined(CONFIG_PMC_MSP7120_GW)
208 mips_machtype = MACH_MSP7120_GW;
209#else
210 mips_machtype = MACH_MSP_OTHER;
211#endif
212 break;
213
214 case FAMILY_MSP7100_FPGA:
215 mips_machgroup = MACH_GROUP_MSP;
216 mips_machtype = MACH_MSP7120_FPGA;
217 break;
218
219 default:
220 /* we don't recognize the machine */
221 mips_machgroup = MACH_GROUP_UNKNOWN;
222 mips_machtype = MACH_UNKNOWN;
223 break;
224 }
225
226 /* make sure we have the right initialization routine - sanity */
227 if (mips_machgroup != MACH_GROUP_MSP) {
228 ppfinit("Unknown machine group in a "
229 "MSP initialization routine\n");
230 panic("***Bogosity factor five***, exiting\n");
231 }
232
233 prom_init_cmdline();
234
235 prom_meminit();
236
237 /*
238 * Sub-system setup follows.
239 * Setup functions can either be called here or using the
240 * subsys_initcall mechanism (i.e. see msp_pci_setup). The
241 * order in which they are called can be changed by using the
242 * link order in arch/mips/pmc-sierra/msp71xx/Makefile.
243 *
244 * NOTE: Please keep sub-system specific initialization code
245 * in separate specific files.
246 */
247 msp_serial_setup();
248
249#ifdef CONFIG_PMCTWILED
250 /*
251 * Setup LED states before the subsys_initcall loads other
252 * dependant drivers/modules.
253 */
254 pmctwiled_setup();
255#endif
256}
diff --git a/arch/mips/pmc-sierra/msp71xx/msp_time.c b/arch/mips/pmc-sierra/msp71xx/msp_time.c
new file mode 100644
index 000000000000..2a2beac5a4f8
--- /dev/null
+++ b/arch/mips/pmc-sierra/msp71xx/msp_time.c
@@ -0,0 +1,94 @@
1/*
2 * Setting up the clock on MSP SOCs. No RTC typically.
3 *
4 * Carsten Langgaard, carstenl@mips.com
5 * Copyright (C) 1999,2000 MIPS Technologies, Inc. All rights reserved.
6 *
7 * ########################################################################
8 *
9 * This program is free software; you can distribute it and/or modify it
10 * under the terms of the GNU General Public License (Version 2) as
11 * published by the Free Software Foundation.
12 *
13 * This program is distributed in the hope it will be useful, but WITHOUT
14 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
15 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
16 * for more details.
17 *
18 * You should have received a copy of the GNU General Public License along
19 * with this program; if not, write to the Free Software Foundation, Inc.,
20 * 59 Temple Place - Suite 330, Boston MA 02111-1307, USA.
21 *
22 * ########################################################################
23 */
24
25#include <linux/init.h>
26#include <linux/kernel_stat.h>
27#include <linux/sched.h>
28#include <linux/spinlock.h>
29#include <linux/module.h>
30#include <linux/ptrace.h>
31
32#include <asm/mipsregs.h>
33#include <asm/time.h>
34
35#include <msp_prom.h>
36#include <msp_int.h>
37#include <msp_regs.h>
38
39void __init msp_timer_init(void)
40{
41 char *endp, *s;
42 unsigned long cpu_rate = 0;
43
44 if (cpu_rate == 0) {
45 s = prom_getenv("clkfreqhz");
46 cpu_rate = simple_strtoul(s, &endp, 10);
47 if (endp != NULL && *endp != 0) {
48 printk(KERN_ERR
49 "Clock rate in Hz parse error: %s\n", s);
50 cpu_rate = 0;
51 }
52 }
53
54 if (cpu_rate == 0) {
55 s = prom_getenv("clkfreq");
56 cpu_rate = 1000 * simple_strtoul(s, &endp, 10);
57 if (endp != NULL && *endp != 0) {
58 printk(KERN_ERR
59 "Clock rate in MHz parse error: %s\n", s);
60 cpu_rate = 0;
61 }
62 }
63
64 if (cpu_rate == 0) {
65#if defined(CONFIG_PMC_MSP7120_EVAL) \
66 || defined(CONFIG_PMC_MSP7120_GW)
67 cpu_rate = 400000000;
68#elif defined(CONFIG_PMC_MSP7120_FPGA)
69 cpu_rate = 25000000;
70#else
71 cpu_rate = 150000000;
72#endif
73 printk(KERN_ERR
74 "Failed to determine CPU clock rate, "
75 "assuming %ld hz ...\n", cpu_rate);
76 }
77
78 printk(KERN_WARNING "Clock rate set to %ld\n", cpu_rate);
79
80 /* timer frequency is 1/2 clock rate */
81 mips_hpt_frequency = cpu_rate/2;
82}
83
84
85void __init plat_timer_setup(struct irqaction *irq)
86{
87#ifdef CONFIG_IRQ_MSP_CIC
88 /* we are using the vpe0 counter for timer interrupts */
89 setup_irq(MSP_INT_VPE0_TIMER, irq);
90#else
91 /* we are using the mips counter for timer interrupts */
92 setup_irq(MSP_INT_TIMER, irq);
93#endif
94}
diff --git a/arch/mips/pmc-sierra/msp71xx/msp_usb.c b/arch/mips/pmc-sierra/msp71xx/msp_usb.c
new file mode 100644
index 000000000000..21f9c70b6923
--- /dev/null
+++ b/arch/mips/pmc-sierra/msp71xx/msp_usb.c
@@ -0,0 +1,150 @@
1/*
2 * The setup file for USB related hardware on PMC-Sierra MSP processors.
3 *
4 * Copyright 2006-2007 PMC-Sierra, Inc.
5 *
6 * This program is free software; you can redistribute it and/or modify it
7 * under the terms of the GNU General Public License as published by the
8 * Free Software Foundation; either version 2 of the License, or (at your
9 * option) any later version.
10 *
11 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
12 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
13 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN
14 * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
15 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
16 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
17 * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
18 * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
19 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
20 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
21 *
22 * You should have received a copy of the GNU General Public License along
23 * with this program; if not, write to the Free Software Foundation, Inc.,
24 * 675 Mass Ave, Cambridge, MA 02139, USA.
25 */
26
27#include <linux/dma-mapping.h>
28#include <linux/init.h>
29#include <linux/ioport.h>
30#include <linux/platform_device.h>
31
32#include <asm/mipsregs.h>
33
34#include <msp_regs.h>
35#include <msp_int.h>
36#include <msp_prom.h>
37
38#if defined(CONFIG_USB_EHCI_HCD)
39static struct resource msp_usbhost_resources [] = {
40 [0] = {
41 .start = MSP_USB_BASE_START,
42 .end = MSP_USB_BASE_END,
43 .flags = IORESOURCE_MEM,
44 },
45 [1] = {
46 .start = MSP_INT_USB,
47 .end = MSP_INT_USB,
48 .flags = IORESOURCE_IRQ,
49 },
50};
51
52static u64 msp_usbhost_dma_mask = DMA_32BIT_MASK;
53
54static struct platform_device msp_usbhost_device = {
55 .name = "pmcmsp-ehci",
56 .id = 0,
57 .dev = {
58 .dma_mask = &msp_usbhost_dma_mask,
59 .coherent_dma_mask = DMA_32BIT_MASK,
60 },
61 .num_resources = ARRAY_SIZE (msp_usbhost_resources),
62 .resource = msp_usbhost_resources,
63};
64#endif /* CONFIG_USB_EHCI_HCD */
65
66#if defined(CONFIG_USB_GADGET)
67static struct resource msp_usbdev_resources [] = {
68 [0] = {
69 .start = MSP_USB_BASE,
70 .end = MSP_USB_BASE_END,
71 .flags = IORESOURCE_MEM,
72 },
73 [1] = {
74 .start = MSP_INT_USB,
75 .end = MSP_INT_USB,
76 .flags = IORESOURCE_IRQ,
77 },
78};
79
80static u64 msp_usbdev_dma_mask = DMA_32BIT_MASK;
81
82static struct platform_device msp_usbdev_device = {
83 .name = "msp71xx_udc",
84 .id = 0,
85 .dev = {
86 .dma_mask = &msp_usbdev_dma_mask,
87 .coherent_dma_mask = DMA_32BIT_MASK,
88 },
89 .num_resources = ARRAY_SIZE (msp_usbdev_resources),
90 .resource = msp_usbdev_resources,
91};
92#endif /* CONFIG_USB_GADGET */
93
94#if defined(CONFIG_USB_EHCI_HCD) || defined(CONFIG_USB_GADGET)
95static struct platform_device *msp_devs[1];
96#endif
97
98
99static int __init msp_usb_setup(void)
100{
101#if defined(CONFIG_USB_EHCI_HCD) || defined(CONFIG_USB_GADGET)
102 char *strp;
103 char envstr[32];
104 unsigned int val = 0;
105 int result = 0;
106
107 /*
108 * construct environment name usbmode
109 * set usbmode <host/device> as pmon environment var
110 */
111 snprintf((char *)&envstr[0], sizeof(envstr), "usbmode");
112
113#if defined(CONFIG_USB_EHCI_HCD)
114 /* default to host mode */
115 val = 1;
116#endif
117
118 /* get environment string */
119 strp = prom_getenv((char *)&envstr[0]);
120 if (strp) {
121 if (!strcmp(strp, "device"))
122 val = 0;
123 }
124
125 if (val) {
126#if defined(CONFIG_USB_EHCI_HCD)
127 /* get host mode device */
128 msp_devs[0] = &msp_usbhost_device;
129 ppfinit("platform add USB HOST done %s.\n",
130 msp_devs[0]->name);
131
132 result = platform_add_devices(msp_devs, ARRAY_SIZE (msp_devs));
133#endif /* CONFIG_USB_EHCI_HCD */
134 }
135#if defined(CONFIG_USB_GADGET)
136 else {
137 /* get device mode structure */
138 msp_devs[0] = &msp_usbdev_device;
139 ppfinit("platform add USB DEVICE done %s.\n",
140 msp_devs[0]->name);
141
142 result = platform_add_devices(msp_devs, ARRAY_SIZE (msp_devs));
143 }
144#endif /* CONFIG_USB_GADGET */
145#endif /* CONFIG_USB_EHCI_HCD || CONFIG_USB_GADGET */
146
147 return result;
148}
149
150subsys_initcall(msp_usb_setup);
diff --git a/arch/mips/pmc-sierra/yosemite/smp.c b/arch/mips/pmc-sierra/yosemite/smp.c
index 305491e74dbe..d83c4ada14f3 100644
--- a/arch/mips/pmc-sierra/yosemite/smp.c
+++ b/arch/mips/pmc-sierra/yosemite/smp.c
@@ -77,7 +77,7 @@ void __init plat_prepare_cpus(unsigned int max_cpus)
77 * stack so the first thing we do is throw away that stuff and load useful 77 * stack so the first thing we do is throw away that stuff and load useful
78 * values into the registers ... 78 * values into the registers ...
79 */ 79 */
80void prom_boot_secondary(int cpu, struct task_struct *idle) 80void __init prom_boot_secondary(int cpu, struct task_struct *idle)
81{ 81{
82 unsigned long gp = (unsigned long) task_thread_info(idle); 82 unsigned long gp = (unsigned long) task_thread_info(idle);
83 unsigned long sp = __KSTK_TOS(idle); 83 unsigned long sp = __KSTK_TOS(idle);
diff --git a/arch/mips/sgi-ip22/ip22-reset.c b/arch/mips/sgi-ip22/ip22-reset.c
index 66df5ac8f089..63afd7e44428 100644
--- a/arch/mips/sgi-ip22/ip22-reset.c
+++ b/arch/mips/sgi-ip22/ip22-reset.c
@@ -46,7 +46,7 @@ static struct timer_list power_timer, blink_timer, debounce_timer, volume_timer;
46 46
47static int machine_state; 47static int machine_state;
48 48
49static void ATTRIB_NORET sgi_machine_power_off(void) 49static void __noreturn sgi_machine_power_off(void)
50{ 50{
51 unsigned int tmp; 51 unsigned int tmp;
52 52
@@ -68,7 +68,7 @@ static void ATTRIB_NORET sgi_machine_power_off(void)
68 } 68 }
69} 69}
70 70
71static void ATTRIB_NORET sgi_machine_restart(char *command) 71static void __noreturn sgi_machine_restart(char *command)
72{ 72{
73 if (machine_state & MACHINE_SHUTTING_DOWN) 73 if (machine_state & MACHINE_SHUTTING_DOWN)
74 sgi_machine_power_off(); 74 sgi_machine_power_off();
@@ -76,7 +76,7 @@ static void ATTRIB_NORET sgi_machine_restart(char *command)
76 while (1); 76 while (1);
77} 77}
78 78
79static void ATTRIB_NORET sgi_machine_halt(void) 79static void __noreturn sgi_machine_halt(void)
80{ 80{
81 if (machine_state & MACHINE_SHUTTING_DOWN) 81 if (machine_state & MACHINE_SHUTTING_DOWN)
82 sgi_machine_power_off(); 82 sgi_machine_power_off();
diff --git a/arch/mips/sgi-ip27/ip27-berr.c b/arch/mips/sgi-ip27/ip27-berr.c
index ce907eda221b..123141ab21a2 100644
--- a/arch/mips/sgi-ip27/ip27-berr.c
+++ b/arch/mips/sgi-ip27/ip27-berr.c
@@ -21,7 +21,6 @@
21#include <asm/traps.h> 21#include <asm/traps.h>
22#include <asm/uaccess.h> 22#include <asm/uaccess.h>
23 23
24extern void dump_tlb_addr(unsigned long addr);
25extern void dump_tlb_all(void); 24extern void dump_tlb_all(void);
26 25
27static void dump_hub_information(unsigned long errst0, unsigned long errst1) 26static void dump_hub_information(unsigned long errst0, unsigned long errst1)
diff --git a/arch/mips/sgi-ip32/ip32-platform.c b/arch/mips/sgi-ip32/ip32-platform.c
index 120b15932caf..ba3697ee7ff6 100644
--- a/arch/mips/sgi-ip32/ip32-platform.c
+++ b/arch/mips/sgi-ip32/ip32-platform.c
@@ -1,5 +1,53 @@
1/*
2 * This file is subject to the terms and conditions of the GNU General Public
3 * License. See the file "COPYING" in the main directory of this archive
4 * for more details.
5 *
6 * Copyright (C) 2007 Ralf Baechle (ralf@linux-mips.org)
7 */
8#include <linux/module.h>
1#include <linux/init.h> 9#include <linux/init.h>
2#include <linux/platform_device.h> 10#include <linux/platform_device.h>
11#include <linux/serial_8250.h>
12
13#include <asm/ip32/mace.h>
14#include <asm/ip32/ip32_ints.h>
15
16/*
17 * .iobase isn't a constant (in the sense of C) so we fill it in at runtime.
18 */
19#define MACE_PORT(int) \
20{ \
21 .irq = int, \
22 .uartclk = 1843200, \
23 .iotype = UPIO_MEM, \
24 .flags = UPF_SKIP_TEST, \
25 .regshift = 8, \
26}
27
28static struct plat_serial8250_port uart8250_data[] = {
29 MACE_PORT(MACEISA_SERIAL1_IRQ),
30 MACE_PORT(MACEISA_SERIAL2_IRQ),
31 { },
32};
33
34static struct platform_device uart8250_device = {
35 .name = "serial8250",
36 .id = PLAT8250_DEV_PLATFORM,
37 .dev = {
38 .platform_data = uart8250_data,
39 },
40};
41
42static int __init uart8250_init(void)
43{
44 uart8250_data[0].iobase = (unsigned long) &mace->isa.serial1;
45 uart8250_data[1].iobase = (unsigned long) &mace->isa.serial1;
46
47 return platform_device_register(&uart8250_device);
48}
49
50device_initcall(uart8250_init);
3 51
4static __init int meth_devinit(void) 52static __init int meth_devinit(void)
5{ 53{
@@ -18,3 +66,7 @@ static __init int meth_devinit(void)
18} 66}
19 67
20device_initcall(meth_devinit); 68device_initcall(meth_devinit);
69
70MODULE_AUTHOR("Ralf Baechle <ralf@linux-mips.org>");
71MODULE_LICENSE("GPL");
72MODULE_DESCRIPTION("8250 UART probe driver for SGI IP32 aka O2");
diff --git a/arch/mips/sgi-ip32/ip32-setup.c b/arch/mips/sgi-ip32/ip32-setup.c
index 57708fe28bd7..bbba066cb405 100644
--- a/arch/mips/sgi-ip32/ip32-setup.c
+++ b/arch/mips/sgi-ip32/ip32-setup.c
@@ -62,12 +62,6 @@ static inline void str2eaddr(unsigned char *ea, unsigned char *str)
62} 62}
63#endif 63#endif
64 64
65#ifdef CONFIG_SERIAL_8250
66#include <linux/tty.h>
67#include <linux/serial.h>
68#include <linux/serial_core.h>
69#endif /* CONFIG_SERIAL_8250 */
70
71/* An arbitrary time; this can be decreased if reliability looks good */ 65/* An arbitrary time; this can be decreased if reliability looks good */
72#define WAIT_MS 10 66#define WAIT_MS 10
73 67
@@ -96,36 +90,6 @@ void __init plat_mem_setup(void)
96 90
97 board_time_init = ip32_time_init; 91 board_time_init = ip32_time_init;
98 92
99#ifdef CONFIG_SERIAL_8250
100 {
101 static struct uart_port o2_serial[2];
102
103 memset(o2_serial, 0, sizeof(o2_serial));
104 o2_serial[0].type = PORT_16550A;
105 o2_serial[0].line = 0;
106 o2_serial[0].irq = MACEISA_SERIAL1_IRQ;
107 o2_serial[0].flags = UPF_SKIP_TEST;
108 o2_serial[0].uartclk = 1843200;
109 o2_serial[0].iotype = UPIO_MEM;
110 o2_serial[0].membase = (char *)&mace->isa.serial1;
111 o2_serial[0].fifosize = 14;
112 /* How much to shift register offset by. Each UART register
113 * is replicated over 256 byte space */
114 o2_serial[0].regshift = 8;
115 o2_serial[1].type = PORT_16550A;
116 o2_serial[1].line = 1;
117 o2_serial[1].irq = MACEISA_SERIAL2_IRQ;
118 o2_serial[1].flags = UPF_SKIP_TEST;
119 o2_serial[1].uartclk = 1843200;
120 o2_serial[1].iotype = UPIO_MEM;
121 o2_serial[1].membase = (char *)&mace->isa.serial2;
122 o2_serial[1].fifosize = 14;
123 o2_serial[1].regshift = 8;
124
125 early_serial_setup(&o2_serial[0]);
126 early_serial_setup(&o2_serial[1]);
127 }
128#endif
129#ifdef CONFIG_SGI_O2MACE_ETH 93#ifdef CONFIG_SGI_O2MACE_ETH
130 { 94 {
131 char *mac = ArcGetEnvironmentVariable("eaddr"); 95 char *mac = ArcGetEnvironmentVariable("eaddr");
diff --git a/arch/mips/sibyte/cfe/setup.c b/arch/mips/sibyte/cfe/setup.c
index ae4a92c3e529..51898dd1304a 100644
--- a/arch/mips/sibyte/cfe/setup.c
+++ b/arch/mips/sibyte/cfe/setup.c
@@ -62,7 +62,7 @@ extern unsigned long initrd_start, initrd_end;
62extern int kgdb_port; 62extern int kgdb_port;
63#endif 63#endif
64 64
65static void ATTRIB_NORET cfe_linux_exit(void *arg) 65static void __noreturn cfe_linux_exit(void *arg)
66{ 66{
67 int warm = *(int *)arg; 67 int warm = *(int *)arg;
68 68
@@ -83,14 +83,14 @@ static void ATTRIB_NORET cfe_linux_exit(void *arg)
83 while (1); 83 while (1);
84} 84}
85 85
86static void ATTRIB_NORET cfe_linux_restart(char *command) 86static void __noreturn cfe_linux_restart(char *command)
87{ 87{
88 static const int zero; 88 static const int zero;
89 89
90 cfe_linux_exit((void *)&zero); 90 cfe_linux_exit((void *)&zero);
91} 91}
92 92
93static void ATTRIB_NORET cfe_linux_halt(void) 93static void __noreturn cfe_linux_halt(void)
94{ 94{
95 static const int one = 1; 95 static const int one = 1;
96 96
diff --git a/arch/mips/sibyte/swarm/time.c b/arch/mips/sibyte/swarm/time.c
deleted file mode 100644
index 97c73c793c35..000000000000
--- a/arch/mips/sibyte/swarm/time.c
+++ /dev/null
@@ -1,244 +0,0 @@
1/*
2 * Copyright (C) 2000, 2001 Broadcom Corporation
3 *
4 * This program is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU General Public License
6 * as published by the Free Software Foundation; either version 2
7 * of the License, or (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program; if not, write to the Free Software
16 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
17 */
18
19/*
20 * Time routines for the swarm board. We pass all the hard stuff
21 * through to the sb1250 handling code. Only thing we really keep
22 * track of here is what time of day we think it is. And we don't
23 * really even do a good job of that...
24 */
25
26
27#include <linux/bcd.h>
28#include <linux/init.h>
29#include <linux/time.h>
30#include <linux/sched.h>
31#include <linux/spinlock.h>
32#include <asm/system.h>
33#include <asm/addrspace.h>
34#include <asm/io.h>
35
36#include <asm/sibyte/sb1250.h>
37#include <asm/sibyte/sb1250_regs.h>
38#include <asm/sibyte/sb1250_smbus.h>
39
40static unsigned long long sec_bias = 0;
41static unsigned int usec_bias = 0;
42
43/* Xicor 1241 definitions */
44
45/*
46 * Register bits
47 */
48
49#define X1241REG_SR_BAT 0x80 /* currently on battery power */
50#define X1241REG_SR_RWEL 0x04 /* r/w latch is enabled, can write RTC */
51#define X1241REG_SR_WEL 0x02 /* r/w latch is unlocked, can enable r/w now */
52#define X1241REG_SR_RTCF 0x01 /* clock failed */
53#define X1241REG_BL_BP2 0x80 /* block protect 2 */
54#define X1241REG_BL_BP1 0x40 /* block protect 1 */
55#define X1241REG_BL_BP0 0x20 /* block protect 0 */
56#define X1241REG_BL_WD1 0x10
57#define X1241REG_BL_WD0 0x08
58#define X1241REG_HR_MIL 0x80 /* military time format */
59
60/*
61 * Register numbers
62 */
63
64#define X1241REG_BL 0x10 /* block protect bits */
65#define X1241REG_INT 0x11 /* */
66#define X1241REG_SC 0x30 /* Seconds */
67#define X1241REG_MN 0x31 /* Minutes */
68#define X1241REG_HR 0x32 /* Hours */
69#define X1241REG_DT 0x33 /* Day of month */
70#define X1241REG_MO 0x34 /* Month */
71#define X1241REG_YR 0x35 /* Year */
72#define X1241REG_DW 0x36 /* Day of Week */
73#define X1241REG_Y2K 0x37 /* Year 2K */
74#define X1241REG_SR 0x3F /* Status register */
75
76#define X1241_CCR_ADDRESS 0x6F
77
78#define SMB_CSR(reg) (IOADDR(A_SMB_REGISTER(1, reg)))
79
80static int xicor_read(uint8_t addr)
81{
82 while (__raw_readq(SMB_CSR(R_SMB_STATUS)) & M_SMB_BUSY)
83 ;
84
85 __raw_writeq((addr >> 8) & 0x7, SMB_CSR(R_SMB_CMD));
86 __raw_writeq(addr & 0xff, SMB_CSR(R_SMB_DATA));
87 __raw_writeq(V_SMB_ADDR(X1241_CCR_ADDRESS) | V_SMB_TT_WR2BYTE,
88 SMB_CSR(R_SMB_START));
89
90 while (__raw_readq(SMB_CSR(R_SMB_STATUS)) & M_SMB_BUSY)
91 ;
92
93 __raw_writeq(V_SMB_ADDR(X1241_CCR_ADDRESS) | V_SMB_TT_RD1BYTE,
94 SMB_CSR(R_SMB_START));
95
96 while (__raw_readq(SMB_CSR(R_SMB_STATUS)) & M_SMB_BUSY)
97 ;
98
99 if (__raw_readq(SMB_CSR(R_SMB_STATUS)) & M_SMB_ERROR) {
100 /* Clear error bit by writing a 1 */
101 __raw_writeq(M_SMB_ERROR, SMB_CSR(R_SMB_STATUS));
102 return -1;
103 }
104
105 return (__raw_readq(SMB_CSR(R_SMB_DATA)) & 0xff);
106}
107
108static int xicor_write(uint8_t addr, int b)
109{
110 while (__raw_readq(SMB_CSR(R_SMB_STATUS)) & M_SMB_BUSY)
111 ;
112
113 __raw_writeq(addr, SMB_CSR(R_SMB_CMD));
114 __raw_writeq((addr & 0xff) | ((b & 0xff) << 8), SMB_CSR(R_SMB_DATA));
115 __raw_writeq(V_SMB_ADDR(X1241_CCR_ADDRESS) | V_SMB_TT_WR3BYTE,
116 SMB_CSR(R_SMB_START));
117
118 while (__raw_readq(SMB_CSR(R_SMB_STATUS)) & M_SMB_BUSY)
119 ;
120
121 if (__raw_readq(SMB_CSR(R_SMB_STATUS)) & M_SMB_ERROR) {
122 /* Clear error bit by writing a 1 */
123 __raw_writeq(M_SMB_ERROR, SMB_CSR(R_SMB_STATUS));
124 return -1;
125 } else {
126 return 0;
127 }
128}
129
130/*
131 * In order to set the CMOS clock precisely, set_rtc_mmss has to be
132 * called 500 ms after the second nowtime has started, because when
133 * nowtime is written into the registers of the CMOS clock, it will
134 * jump to the next second precisely 500 ms later. Check the Motorola
135 * MC146818A or Dallas DS12887 data sheet for details.
136 *
137 * BUG: This routine does not handle hour overflow properly; it just
138 * sets the minutes. Usually you'll only notice that after reboot!
139 */
140int set_rtc_mmss(unsigned long nowtime)
141{
142 int retval = 0;
143 int real_seconds, real_minutes, cmos_minutes;
144
145 cmos_minutes = xicor_read(X1241REG_MN);
146 cmos_minutes = BCD2BIN(cmos_minutes);
147
148 /*
149 * since we're only adjusting minutes and seconds,
150 * don't interfere with hour overflow. This avoids
151 * messing with unknown time zones but requires your
152 * RTC not to be off by more than 15 minutes
153 */
154 real_seconds = nowtime % 60;
155 real_minutes = nowtime / 60;
156 if (((abs(real_minutes - cmos_minutes) + 15)/30) & 1)
157 real_minutes += 30; /* correct for half hour time zone */
158 real_minutes %= 60;
159
160 /* unlock writes to the CCR */
161 xicor_write(X1241REG_SR, X1241REG_SR_WEL);
162 xicor_write(X1241REG_SR, X1241REG_SR_WEL | X1241REG_SR_RWEL);
163
164 if (abs(real_minutes - cmos_minutes) < 30) {
165 real_seconds = BIN2BCD(real_seconds);
166 real_minutes = BIN2BCD(real_minutes);
167 xicor_write(X1241REG_SC, real_seconds);
168 xicor_write(X1241REG_MN, real_minutes);
169 } else {
170 printk(KERN_WARNING
171 "set_rtc_mmss: can't update from %d to %d\n",
172 cmos_minutes, real_minutes);
173 retval = -1;
174 }
175
176 xicor_write(X1241REG_SR, 0);
177
178 printk("set_rtc_mmss: %02d:%02d\n", real_minutes, real_seconds);
179
180 return retval;
181}
182
183static unsigned long __init get_swarm_time(void)
184{
185 unsigned int year, mon, day, hour, min, sec, y2k;
186
187 sec = xicor_read(X1241REG_SC);
188 min = xicor_read(X1241REG_MN);
189 hour = xicor_read(X1241REG_HR);
190
191 if (hour & X1241REG_HR_MIL) {
192 hour &= 0x3f;
193 } else {
194 if (hour & 0x20)
195 hour = (hour & 0xf) + 0x12;
196 }
197
198 sec = BCD2BIN(sec);
199 min = BCD2BIN(min);
200 hour = BCD2BIN(hour);
201
202 day = xicor_read(X1241REG_DT);
203 mon = xicor_read(X1241REG_MO);
204 year = xicor_read(X1241REG_YR);
205 y2k = xicor_read(X1241REG_Y2K);
206
207 day = BCD2BIN(day);
208 mon = BCD2BIN(mon);
209 year = BCD2BIN(year);
210 y2k = BCD2BIN(y2k);
211
212 year += (y2k * 100);
213
214 return mktime(year, mon, day, hour, min, sec);
215}
216
217/*
218 * Bring up the timer at 100 Hz.
219 */
220void __init swarm_time_init(void)
221{
222 unsigned int flags;
223 int status;
224
225 /* Set up the scd general purpose timer 0 to cpu 0 */
226 sb1250_time_init();
227
228 /* Establish communication with the Xicor 1241 RTC */
229 /* XXXKW how do I share the SMBus with the I2C subsystem? */
230
231 __raw_writeq(K_SMB_FREQ_400KHZ, SMB_CSR(R_SMB_FREQ));
232 __raw_writeq(0, SMB_CSR(R_SMB_CONTROL));
233
234 if ((status = xicor_read(X1241REG_SR_RTCF)) < 0) {
235 printk("x1241: couldn't detect on SWARM SMBus 1\n");
236 } else {
237 if (status & X1241REG_SR_RTCF)
238 printk("x1241: battery failed -- time is probably wrong\n");
239 write_seqlock_irqsave(&xtime_lock, flags);
240 xtime.tv_sec = get_swarm_time();
241 xtime.tv_nsec = 0;
242 write_sequnlock_irqrestore(&xtime_lock, flags);
243 }
244}
diff --git a/arch/mips/sni/Makefile b/arch/mips/sni/Makefile
index e5777b7e2bc9..471418e4f446 100644
--- a/arch/mips/sni/Makefile
+++ b/arch/mips/sni/Makefile
@@ -2,5 +2,5 @@
2# Makefile for the SNI specific part of the kernel 2# Makefile for the SNI specific part of the kernel
3# 3#
4 4
5obj-y += irq.o reset.o setup.o ds1216.o a20r.o rm200.o pcimt.o pcit.o time.o 5obj-y += irq.o reset.o setup.o a20r.o rm200.o pcimt.o pcit.o time.o
6obj-$(CONFIG_CPU_BIG_ENDIAN) += sniprom.o 6obj-$(CONFIG_CPU_BIG_ENDIAN) += sniprom.o
diff --git a/arch/mips/sni/a20r.c b/arch/mips/sni/a20r.c
index 31ab80f1befa..acc9ba76c1a9 100644
--- a/arch/mips/sni/a20r.c
+++ b/arch/mips/sni/a20r.c
@@ -15,7 +15,6 @@
15 15
16#include <asm/sni.h> 16#include <asm/sni.h>
17#include <asm/time.h> 17#include <asm/time.h>
18#include <asm/ds1216.h>
19 18
20#define PORT(_base,_irq) \ 19#define PORT(_base,_irq) \
21 { \ 20 { \
@@ -40,20 +39,34 @@ static struct platform_device a20r_serial8250_device = {
40 }, 39 },
41}; 40};
42 41
42static struct resource a20r_ds1216_rsrc[] = {
43 {
44 .start = 0x1c081ffc,
45 .end = 0x1c081fff,
46 .flags = IORESOURCE_MEM
47 }
48};
49
50static struct platform_device a20r_ds1216_device = {
51 .name = "rtc-ds1216",
52 .num_resources = ARRAY_SIZE(a20r_ds1216_rsrc),
53 .resource = a20r_ds1216_rsrc
54};
55
43static struct resource snirm_82596_rsrc[] = { 56static struct resource snirm_82596_rsrc[] = {
44 { 57 {
45 .start = 0xb8000000, 58 .start = 0x18000000,
46 .end = 0xb8000004, 59 .end = 0x18000004,
47 .flags = IORESOURCE_MEM 60 .flags = IORESOURCE_MEM
48 }, 61 },
49 { 62 {
50 .start = 0xb8010000, 63 .start = 0x18010000,
51 .end = 0xb8010004, 64 .end = 0x18010004,
52 .flags = IORESOURCE_MEM 65 .flags = IORESOURCE_MEM
53 }, 66 },
54 { 67 {
55 .start = 0xbff00000, 68 .start = 0x1ff00000,
56 .end = 0xbff00020, 69 .end = 0x1ff00020,
57 .flags = IORESOURCE_MEM 70 .flags = IORESOURCE_MEM
58 }, 71 },
59 { 72 {
@@ -74,8 +87,8 @@ static struct platform_device snirm_82596_pdev = {
74 87
75static struct resource snirm_53c710_rsrc[] = { 88static struct resource snirm_53c710_rsrc[] = {
76 { 89 {
77 .start = 0xb9000000, 90 .start = 0x19000000,
78 .end = 0xb90fffff, 91 .end = 0x190fffff,
79 .flags = IORESOURCE_MEM 92 .flags = IORESOURCE_MEM
80 }, 93 },
81 { 94 {
@@ -93,8 +106,8 @@ static struct platform_device snirm_53c710_pdev = {
93 106
94static struct resource sc26xx_rsrc[] = { 107static struct resource sc26xx_rsrc[] = {
95 { 108 {
96 .start = 0xbc070000, 109 .start = 0x1c070000,
97 .end = 0xbc0700ff, 110 .end = 0x1c0700ff,
98 .flags = IORESOURCE_MEM 111 .flags = IORESOURCE_MEM
99 }, 112 },
100 { 113 {
@@ -205,8 +218,7 @@ void __init sni_a20r_irq_init(void)
205 218
206void sni_a20r_init(void) 219void sni_a20r_init(void)
207{ 220{
208 ds1216_base = (volatile unsigned char *) SNI_DS1216_A20R_BASE; 221 /* FIXME, remove if not needed */
209 rtc_mips_get_time = ds1216_get_cmos_time;
210} 222}
211 223
212static int __init snirm_a20r_setup_devinit(void) 224static int __init snirm_a20r_setup_devinit(void)
@@ -218,6 +230,7 @@ static int __init snirm_a20r_setup_devinit(void)
218 platform_device_register(&snirm_53c710_pdev); 230 platform_device_register(&snirm_53c710_pdev);
219 platform_device_register(&sc26xx_pdev); 231 platform_device_register(&sc26xx_pdev);
220 platform_device_register(&a20r_serial8250_device); 232 platform_device_register(&a20r_serial8250_device);
233 platform_device_register(&a20r_ds1216_device);
221 break; 234 break;
222 } 235 }
223 236
diff --git a/arch/mips/sni/ds1216.c b/arch/mips/sni/ds1216.c
deleted file mode 100644
index 1d92732c14f1..000000000000
--- a/arch/mips/sni/ds1216.c
+++ /dev/null
@@ -1,81 +0,0 @@
1
2#include <linux/bcd.h>
3#include <linux/time.h>
4
5#include <asm/ds1216.h>
6
7volatile unsigned char *ds1216_base;
8
9/*
10 * Read the 64 bit we'd like to have - It a series
11 * of 64 bits showing up in the LSB of the base register.
12 *
13 */
14static unsigned char *ds1216_read(void)
15{
16 static unsigned char rdbuf[8];
17 unsigned char c;
18 int i, j;
19
20 for (i = 0; i < 8; i++) {
21 c = 0x0;
22 for (j = 0; j < 8; j++) {
23 c |= (*ds1216_base & 0x1) << j;
24 }
25 rdbuf[i] = c;
26 }
27
28 return rdbuf;
29}
30
31static void ds1216_switch_ds_to_clock(void)
32{
33 unsigned char magic[] = {
34 0xc5, 0x3a, 0xa3, 0x5c, 0xc5, 0x3a, 0xa3, 0x5c
35 };
36 int i,j,c;
37
38 /* Reset magic pointer */
39 c = *ds1216_base;
40
41 /* Write 64 bit magic to DS1216 */
42 for (i = 0; i < 8; i++) {
43 c = magic[i];
44 for (j = 0; j < 8; j++) {
45 *ds1216_base = c;
46 c = c >> 1;
47 }
48 }
49}
50
51unsigned long ds1216_get_cmos_time(void)
52{
53 unsigned char *rdbuf;
54 unsigned int year, month, date, hour, min, sec;
55
56 ds1216_switch_ds_to_clock();
57 rdbuf = ds1216_read();
58
59 sec = BCD2BIN(DS1216_SEC(rdbuf));
60 min = BCD2BIN(DS1216_MIN(rdbuf));
61 hour = BCD2BIN(DS1216_HOUR(rdbuf));
62 date = BCD2BIN(DS1216_DATE(rdbuf));
63 month = BCD2BIN(DS1216_MONTH(rdbuf));
64 year = BCD2BIN(DS1216_YEAR(rdbuf));
65
66 if (DS1216_1224(rdbuf) && DS1216_AMPM(rdbuf))
67 hour+=12;
68
69 if (year < 70)
70 year += 2000;
71 else
72 year += 1900;
73
74 return mktime(year, month, date, hour, min, sec);
75}
76
77int ds1216_set_rtc_mmss(unsigned long nowtime)
78{
79 printk("ds1216_set_rtc_mmss called but not implemented\n");
80 return -1;
81}
diff --git a/arch/mips/sni/pcimt.c b/arch/mips/sni/pcimt.c
index 97b234361b4d..44b1ae62aa4a 100644
--- a/arch/mips/sni/pcimt.c
+++ b/arch/mips/sni/pcimt.c
@@ -14,7 +14,6 @@
14#include <linux/pci.h> 14#include <linux/pci.h>
15#include <linux/serial_8250.h> 15#include <linux/serial_8250.h>
16 16
17#include <asm/mc146818-time.h>
18#include <asm/sni.h> 17#include <asm/sni.h>
19#include <asm/time.h> 18#include <asm/time.h>
20#include <asm/i8259.h> 19#include <asm/i8259.h>
@@ -90,6 +89,26 @@ static struct platform_device pcimt_serial8250_device = {
90 }, 89 },
91}; 90};
92 91
92static struct resource pcimt_cmos_rsrc[] = {
93 {
94 .start = 0x70,
95 .end = 0x71,
96 .flags = IORESOURCE_IO
97 },
98 {
99 .start = 8,
100 .end = 8,
101 .flags = IORESOURCE_IRQ
102 }
103};
104
105static struct platform_device pcimt_cmos_device = {
106 .name = "rtc_cmos",
107 .num_resources = ARRAY_SIZE(pcimt_cmos_rsrc),
108 .resource = pcimt_cmos_rsrc
109};
110
111
93static struct resource sni_io_resource = { 112static struct resource sni_io_resource = {
94 .start = 0x00000000UL, 113 .start = 0x00000000UL,
95 .end = 0x03bfffffUL, 114 .end = 0x03bfffffUL,
@@ -290,12 +309,10 @@ void __init sni_pcimt_irq_init(void)
290 change_c0_status(ST0_IM, IE_IRQ1|IE_IRQ3); 309 change_c0_status(ST0_IM, IE_IRQ1|IE_IRQ3);
291} 310}
292 311
293void sni_pcimt_init(void) 312void __init sni_pcimt_init(void)
294{ 313{
295 sni_pcimt_detect(); 314 sni_pcimt_detect();
296 sni_pcimt_sc_init(); 315 sni_pcimt_sc_init();
297 rtc_mips_get_time = mc146818_get_cmos_time;
298 rtc_mips_set_time = mc146818_set_rtc_mmss;
299 board_time_init = sni_cpu_time_init; 316 board_time_init = sni_cpu_time_init;
300 ioport_resource.end = sni_io_resource.end; 317 ioport_resource.end = sni_io_resource.end;
301#ifdef CONFIG_PCI 318#ifdef CONFIG_PCI
@@ -312,6 +329,7 @@ static int __init snirm_pcimt_setup_devinit(void)
312 case SNI_BRD_PCI_DESKTOP: 329 case SNI_BRD_PCI_DESKTOP:
313 case SNI_BRD_PCI_MTOWER_CPLUS: 330 case SNI_BRD_PCI_MTOWER_CPLUS:
314 platform_device_register(&pcimt_serial8250_device); 331 platform_device_register(&pcimt_serial8250_device);
332 platform_device_register(&pcimt_cmos_device);
315 break; 333 break;
316 } 334 }
317 335
diff --git a/arch/mips/sni/pcit.c b/arch/mips/sni/pcit.c
index 00d151f4d121..2480c478dcbd 100644
--- a/arch/mips/sni/pcit.c
+++ b/arch/mips/sni/pcit.c
@@ -13,7 +13,6 @@
13#include <linux/pci.h> 13#include <linux/pci.h>
14#include <linux/serial_8250.h> 14#include <linux/serial_8250.h>
15 15
16#include <asm/mc146818-time.h>
17#include <asm/sni.h> 16#include <asm/sni.h>
18#include <asm/time.h> 17#include <asm/time.h>
19#include <asm/irq_cpu.h> 18#include <asm/irq_cpu.h>
@@ -58,6 +57,25 @@ static struct platform_device pcit_cplus_serial8250_device = {
58 }, 57 },
59}; 58};
60 59
60static struct resource pcit_cmos_rsrc[] = {
61 {
62 .start = 0x70,
63 .end = 0x71,
64 .flags = IORESOURCE_IO
65 },
66 {
67 .start = 8,
68 .end = 8,
69 .flags = IORESOURCE_IRQ
70 }
71};
72
73static struct platform_device pcit_cmos_device = {
74 .name = "rtc_cmos",
75 .num_resources = ARRAY_SIZE(pcit_cmos_rsrc),
76 .resource = pcit_cmos_rsrc
77};
78
61static struct resource sni_io_resource = { 79static struct resource sni_io_resource = {
62 .start = 0x00000000UL, 80 .start = 0x00000000UL,
63 .end = 0x03bfffffUL, 81 .end = 0x03bfffffUL,
@@ -243,10 +261,8 @@ void __init sni_pcit_cplus_irq_init(void)
243 setup_irq (MIPS_CPU_IRQ_BASE + 3, &sni_isa_irq); 261 setup_irq (MIPS_CPU_IRQ_BASE + 3, &sni_isa_irq);
244} 262}
245 263
246void sni_pcit_init(void) 264void __init sni_pcit_init(void)
247{ 265{
248 rtc_mips_get_time = mc146818_get_cmos_time;
249 rtc_mips_set_time = mc146818_set_rtc_mmss;
250 board_time_init = sni_cpu_time_init; 266 board_time_init = sni_cpu_time_init;
251 ioport_resource.end = sni_io_resource.end; 267 ioport_resource.end = sni_io_resource.end;
252#ifdef CONFIG_PCI 268#ifdef CONFIG_PCI
@@ -261,10 +277,12 @@ static int __init snirm_pcit_setup_devinit(void)
261 switch (sni_brd_type) { 277 switch (sni_brd_type) {
262 case SNI_BRD_PCI_TOWER: 278 case SNI_BRD_PCI_TOWER:
263 platform_device_register(&pcit_serial8250_device); 279 platform_device_register(&pcit_serial8250_device);
280 platform_device_register(&pcit_cmos_device);
264 break; 281 break;
265 282
266 case SNI_BRD_PCI_TOWER_CPLUS: 283 case SNI_BRD_PCI_TOWER_CPLUS:
267 platform_device_register(&pcit_cplus_serial8250_device); 284 platform_device_register(&pcit_cplus_serial8250_device);
285 platform_device_register(&pcit_cmos_device);
268 break; 286 break;
269 } 287 }
270 return 0; 288 return 0;
diff --git a/arch/mips/sni/rm200.c b/arch/mips/sni/rm200.c
index b82ff129f5ea..28a11d8605ce 100644
--- a/arch/mips/sni/rm200.c
+++ b/arch/mips/sni/rm200.c
@@ -15,7 +15,6 @@
15 15
16#include <asm/sni.h> 16#include <asm/sni.h>
17#include <asm/time.h> 17#include <asm/time.h>
18#include <asm/ds1216.h>
19#include <asm/irq_cpu.h> 18#include <asm/irq_cpu.h>
20 19
21#define PORT(_base,_irq) \ 20#define PORT(_base,_irq) \
@@ -41,20 +40,34 @@ static struct platform_device rm200_serial8250_device = {
41 }, 40 },
42}; 41};
43 42
43static struct resource rm200_ds1216_rsrc[] = {
44 {
45 .start = 0x1cd41ffc,
46 .end = 0x1cd41fff,
47 .flags = IORESOURCE_MEM
48 }
49};
50
51static struct platform_device rm200_ds1216_device = {
52 .name = "rtc-ds1216",
53 .num_resources = ARRAY_SIZE(rm200_ds1216_rsrc),
54 .resource = rm200_ds1216_rsrc
55};
56
44static struct resource snirm_82596_rm200_rsrc[] = { 57static struct resource snirm_82596_rm200_rsrc[] = {
45 { 58 {
46 .start = 0xb8000000, 59 .start = 0x18000000,
47 .end = 0xb80fffff, 60 .end = 0x180fffff,
48 .flags = IORESOURCE_MEM 61 .flags = IORESOURCE_MEM
49 }, 62 },
50 { 63 {
51 .start = 0xbb000000, 64 .start = 0x1b000000,
52 .end = 0xbb000004, 65 .end = 0x1b000004,
53 .flags = IORESOURCE_MEM 66 .flags = IORESOURCE_MEM
54 }, 67 },
55 { 68 {
56 .start = 0xbff00000, 69 .start = 0x1ff00000,
57 .end = 0xbff00020, 70 .end = 0x1ff00020,
58 .flags = IORESOURCE_MEM 71 .flags = IORESOURCE_MEM
59 }, 72 },
60 { 73 {
@@ -75,8 +88,8 @@ static struct platform_device snirm_82596_rm200_pdev = {
75 88
76static struct resource snirm_53c710_rm200_rsrc[] = { 89static struct resource snirm_53c710_rm200_rsrc[] = {
77 { 90 {
78 .start = 0xb9000000, 91 .start = 0x19000000,
79 .end = 0xb90fffff, 92 .end = 0x190fffff,
80 .flags = IORESOURCE_MEM 93 .flags = IORESOURCE_MEM
81 }, 94 },
82 { 95 {
@@ -96,6 +109,7 @@ static int __init snirm_setup_devinit(void)
96{ 109{
97 if (sni_brd_type == SNI_BRD_RM200) { 110 if (sni_brd_type == SNI_BRD_RM200) {
98 platform_device_register(&rm200_serial8250_device); 111 platform_device_register(&rm200_serial8250_device);
112 platform_device_register(&rm200_ds1216_device);
99 platform_device_register(&snirm_82596_rm200_pdev); 113 platform_device_register(&snirm_82596_rm200_pdev);
100 platform_device_register(&snirm_53c710_rm200_pdev); 114 platform_device_register(&snirm_53c710_rm200_pdev);
101 } 115 }
@@ -176,11 +190,9 @@ void __init sni_rm200_irq_init(void)
176 setup_irq (SNI_RM200_INT_START + 0, &sni_isa_irq); 190 setup_irq (SNI_RM200_INT_START + 0, &sni_isa_irq);
177} 191}
178 192
179void sni_rm200_init(void) 193void __init sni_rm200_init(void)
180{ 194{
181 set_io_port_base(SNI_PORT_BASE + 0x02000000); 195 set_io_port_base(SNI_PORT_BASE + 0x02000000);
182 ioport_resource.end += 0x02000000; 196 ioport_resource.end += 0x02000000;
183 ds1216_base = (volatile unsigned char *) SNI_DS1216_RM200_BASE;
184 rtc_mips_get_time = ds1216_get_cmos_time;
185 board_time_init = sni_cpu_time_init; 197 board_time_init = sni_cpu_time_init;
186} 198}
diff --git a/arch/mips/sni/sniprom.c b/arch/mips/sni/sniprom.c
index 643366eb854a..00a03a6e8f58 100644
--- a/arch/mips/sni/sniprom.c
+++ b/arch/mips/sni/sniprom.c
@@ -146,7 +146,10 @@ static void __init sni_console_setup(void)
146 } 146 }
147 if (baud) 147 if (baud)
148 strcpy(options, baud); 148 strcpy(options, baud);
149 add_preferred_console("ttyS", port, baud ? options : NULL); 149 if (strncmp (cdev, "tty552", 6) == 0)
150 add_preferred_console("ttyS", port, baud ? options : NULL);
151 else
152 add_preferred_console("ttySC", port, baud ? options : NULL);
150 } 153 }
151} 154}
152 155
diff --git a/arch/mips/tx4938/common/Makefile b/arch/mips/tx4938/common/Makefile
index 2033ae77f632..83cda518f204 100644
--- a/arch/mips/tx4938/common/Makefile
+++ b/arch/mips/tx4938/common/Makefile
@@ -6,6 +6,6 @@
6# unless it's something special (ie not a .c file). 6# unless it's something special (ie not a .c file).
7# 7#
8 8
9obj-y += prom.o setup.o irq.o rtc_rx5c348.o 9obj-y += prom.o setup.o irq.o
10obj-$(CONFIG_KGDB) += dbgio.o 10obj-$(CONFIG_KGDB) += dbgio.o
11 11
diff --git a/arch/mips/tx4938/common/rtc_rx5c348.c b/arch/mips/tx4938/common/rtc_rx5c348.c
deleted file mode 100644
index 07f782fc0725..000000000000
--- a/arch/mips/tx4938/common/rtc_rx5c348.c
+++ /dev/null
@@ -1,192 +0,0 @@
1/*
2 * RTC routines for RICOH Rx5C348 SPI chip.
3 * Copyright (C) 2000-2001 Toshiba Corporation
4 *
5 * 2003-2005 (c) MontaVista Software, Inc. This file is licensed under the
6 * terms of the GNU General Public License version 2. This program is
7 * licensed "as is" without any warranty of any kind, whether express
8 * or implied.
9 *
10 * Support for TX4938 in 2.6 - Manish Lachwani (mlachwani@mvista.com)
11 */
12#include <linux/init.h>
13#include <linux/kernel.h>
14#include <linux/string.h>
15#include <linux/rtc.h>
16#include <linux/time.h>
17#include <linux/bcd.h>
18#include <asm/time.h>
19#include <asm/tx4938/spi.h>
20
21#define EPOCH 2000
22
23/* registers */
24#define Rx5C348_REG_SECOND 0
25#define Rx5C348_REG_MINUTE 1
26#define Rx5C348_REG_HOUR 2
27#define Rx5C348_REG_WEEK 3
28#define Rx5C348_REG_DAY 4
29#define Rx5C348_REG_MONTH 5
30#define Rx5C348_REG_YEAR 6
31#define Rx5C348_REG_ADJUST 7
32#define Rx5C348_REG_ALARM_W_MIN 8
33#define Rx5C348_REG_ALARM_W_HOUR 9
34#define Rx5C348_REG_ALARM_W_WEEK 10
35#define Rx5C348_REG_ALARM_D_MIN 11
36#define Rx5C348_REG_ALARM_D_HOUR 12
37#define Rx5C348_REG_CTL1 14
38#define Rx5C348_REG_CTL2 15
39
40/* register bits */
41#define Rx5C348_BIT_PM 0x20 /* REG_HOUR */
42#define Rx5C348_BIT_Y2K 0x80 /* REG_MONTH */
43#define Rx5C348_BIT_24H 0x20 /* REG_CTL1 */
44#define Rx5C348_BIT_XSTP 0x10 /* REG_CTL2 */
45
46/* commands */
47#define Rx5C348_CMD_W(addr) (((addr) << 4) | 0x08) /* single write */
48#define Rx5C348_CMD_R(addr) (((addr) << 4) | 0x0c) /* single read */
49#define Rx5C348_CMD_MW(addr) (((addr) << 4) | 0x00) /* burst write */
50#define Rx5C348_CMD_MR(addr) (((addr) << 4) | 0x04) /* burst read */
51
52static struct spi_dev_desc srtc_dev_desc = {
53 .baud = 1000000, /* 1.0Mbps @ Vdd 2.0V */
54 .tcss = 31,
55 .tcsh = 1,
56 .tcsr = 62,
57 /* 31us for Tcss (62us for Tcsr) is required for carry operation) */
58 .byteorder = 1, /* MSB-First */
59 .polarity = 0, /* High-Active */
60 .phase = 1, /* Shift-Then-Sample */
61
62};
63static int srtc_chipid;
64static int srtc_24h;
65
66static inline int
67spi_rtc_io(unsigned char *inbuf, unsigned char *outbuf, unsigned int count)
68{
69 unsigned char *inbufs[1], *outbufs[1];
70 unsigned int incounts[2], outcounts[2];
71 inbufs[0] = inbuf;
72 incounts[0] = count;
73 incounts[1] = 0;
74 outbufs[0] = outbuf;
75 outcounts[0] = count;
76 outcounts[1] = 0;
77 return txx9_spi_io(srtc_chipid, &srtc_dev_desc,
78 inbufs, incounts, outbufs, outcounts, 0);
79}
80
81/* RTC-dependent code for time.c */
82
83static int
84rtc_rx5c348_set_time(unsigned long t)
85{
86 unsigned char inbuf[8];
87 struct rtc_time tm;
88 u8 year, month, day, hour, minute, second, century;
89
90 /* convert */
91 to_tm(t, &tm);
92
93 year = tm.tm_year % 100;
94 month = tm.tm_mon+1; /* tm_mon starts from 0 to 11 */
95 day = tm.tm_mday;
96 hour = tm.tm_hour;
97 minute = tm.tm_min;
98 second = tm.tm_sec;
99 century = tm.tm_year / 100;
100
101 inbuf[0] = Rx5C348_CMD_MW(Rx5C348_REG_SECOND);
102 BIN_TO_BCD(second);
103 inbuf[1] = second;
104 BIN_TO_BCD(minute);
105 inbuf[2] = minute;
106
107 if (srtc_24h) {
108 BIN_TO_BCD(hour);
109 inbuf[3] = hour;
110 } else {
111 /* hour 0 is AM12, noon is PM12 */
112 inbuf[3] = 0;
113 if (hour >= 12)
114 inbuf[3] = Rx5C348_BIT_PM;
115 hour = (hour + 11) % 12 + 1;
116 BIN_TO_BCD(hour);
117 inbuf[3] |= hour;
118 }
119 inbuf[4] = 0; /* ignore week */
120 BIN_TO_BCD(day);
121 inbuf[5] = day;
122 BIN_TO_BCD(month);
123 inbuf[6] = month;
124 if (century >= 20)
125 inbuf[6] |= Rx5C348_BIT_Y2K;
126 BIN_TO_BCD(year);
127 inbuf[7] = year;
128 /* write in one transfer to avoid data inconsistency */
129 return spi_rtc_io(inbuf, NULL, 8);
130}
131
132static unsigned long
133rtc_rx5c348_get_time(void)
134{
135 unsigned char inbuf[8], outbuf[8];
136 unsigned int year, month, day, hour, minute, second;
137
138 inbuf[0] = Rx5C348_CMD_MR(Rx5C348_REG_SECOND);
139 memset(inbuf + 1, 0, 7);
140 /* read in one transfer to avoid data inconsistency */
141 if (spi_rtc_io(inbuf, outbuf, 8))
142 return 0;
143 second = outbuf[1];
144 BCD_TO_BIN(second);
145 minute = outbuf[2];
146 BCD_TO_BIN(minute);
147 if (srtc_24h) {
148 hour = outbuf[3];
149 BCD_TO_BIN(hour);
150 } else {
151 hour = outbuf[3] & ~Rx5C348_BIT_PM;
152 BCD_TO_BIN(hour);
153 hour %= 12;
154 if (outbuf[3] & Rx5C348_BIT_PM)
155 hour += 12;
156 }
157 day = outbuf[5];
158 BCD_TO_BIN(day);
159 month = outbuf[6] & ~Rx5C348_BIT_Y2K;
160 BCD_TO_BIN(month);
161 year = outbuf[7];
162 BCD_TO_BIN(year);
163 year += EPOCH;
164
165 return mktime(year, month, day, hour, minute, second);
166}
167
168void __init
169rtc_rx5c348_init(int chipid)
170{
171 unsigned char inbuf[2], outbuf[2];
172 srtc_chipid = chipid;
173 /* turn on RTC if it is not on */
174 inbuf[0] = Rx5C348_CMD_R(Rx5C348_REG_CTL2);
175 inbuf[1] = 0;
176 spi_rtc_io(inbuf, outbuf, 2);
177 if (outbuf[1] & Rx5C348_BIT_XSTP) {
178 inbuf[0] = Rx5C348_CMD_W(Rx5C348_REG_CTL2);
179 inbuf[1] = 0;
180 spi_rtc_io(inbuf, NULL, 2);
181 }
182
183 inbuf[0] = Rx5C348_CMD_R(Rx5C348_REG_CTL1);
184 inbuf[1] = 0;
185 spi_rtc_io(inbuf, outbuf, 2);
186 if (outbuf[1] & Rx5C348_BIT_24H)
187 srtc_24h = 1;
188
189 /* set the function pointers */
190 rtc_mips_get_time = rtc_rx5c348_get_time;
191 rtc_mips_set_time = rtc_rx5c348_set_time;
192}
diff --git a/arch/mips/tx4938/toshiba_rbtx4938/Makefile b/arch/mips/tx4938/toshiba_rbtx4938/Makefile
index 226941279d75..10c94e62bf5b 100644
--- a/arch/mips/tx4938/toshiba_rbtx4938/Makefile
+++ b/arch/mips/tx4938/toshiba_rbtx4938/Makefile
@@ -6,4 +6,4 @@
6# unless it's something special (ie not a .c file). 6# unless it's something special (ie not a .c file).
7# 7#
8 8
9obj-y += prom.o setup.o irq.o spi_eeprom.o spi_txx9.o 9obj-y += prom.o setup.o irq.o spi_eeprom.o
diff --git a/arch/mips/tx4938/toshiba_rbtx4938/irq.c b/arch/mips/tx4938/toshiba_rbtx4938/irq.c
index 2e96dbb248b1..91aea7aff515 100644
--- a/arch/mips/tx4938/toshiba_rbtx4938/irq.c
+++ b/arch/mips/tx4938/toshiba_rbtx4938/irq.c
@@ -165,8 +165,6 @@ toshiba_rbtx4938_irq_ioc_disable(unsigned int irq)
165 TX4938_RD08(TOSHIBA_RBTX4938_IOC_INTR_ENAB); 165 TX4938_RD08(TOSHIBA_RBTX4938_IOC_INTR_ENAB);
166} 166}
167 167
168extern void __init txx9_spi_irqinit(int irc_irq);
169
170void __init arch_init_irq(void) 168void __init arch_init_irq(void)
171{ 169{
172 extern void tx4938_irq_init(void); 170 extern void tx4938_irq_init(void);
@@ -185,9 +183,5 @@ void __init arch_init_irq(void)
185 /* Onboard 10M Ether: High Active */ 183 /* Onboard 10M Ether: High Active */
186 TX4938_WR(TX4938_MKA(TX4938_IRC_IRDM0), 0x00000040); 184 TX4938_WR(TX4938_MKA(TX4938_IRC_IRDM0), 0x00000040);
187 185
188 if (tx4938_ccfgptr->pcfg & TX4938_PCFG_SPI_SEL) {
189 txx9_spi_irqinit(RBTX4938_IRQ_IRC_SPI);
190 }
191
192 wbflush(); 186 wbflush();
193} 187}
diff --git a/arch/mips/tx4938/toshiba_rbtx4938/setup.c b/arch/mips/tx4938/toshiba_rbtx4938/setup.c
index f5d1ce739fcc..6ed39a5aea72 100644
--- a/arch/mips/tx4938/toshiba_rbtx4938/setup.c
+++ b/arch/mips/tx4938/toshiba_rbtx4938/setup.c
@@ -14,13 +14,13 @@
14#include <linux/init.h> 14#include <linux/init.h>
15#include <linux/types.h> 15#include <linux/types.h>
16#include <linux/ioport.h> 16#include <linux/ioport.h>
17#include <linux/proc_fs.h>
18#include <linux/delay.h> 17#include <linux/delay.h>
19#include <linux/interrupt.h> 18#include <linux/interrupt.h>
20#include <linux/console.h> 19#include <linux/console.h>
21#include <linux/pci.h> 20#include <linux/pci.h>
22#include <linux/pm.h> 21#include <linux/pm.h>
23#include <linux/platform_device.h> 22#include <linux/platform_device.h>
23#include <linux/clk.h>
24 24
25#include <asm/wbflush.h> 25#include <asm/wbflush.h>
26#include <asm/reboot.h> 26#include <asm/reboot.h>
@@ -35,6 +35,9 @@
35#include <linux/serial.h> 35#include <linux/serial.h>
36#include <linux/serial_core.h> 36#include <linux/serial_core.h>
37#endif 37#endif
38#include <linux/spi/spi.h>
39#include <asm/tx4938/spi.h>
40#include <asm/gpio.h>
38 41
39extern void rbtx4938_time_init(void) __init; 42extern void rbtx4938_time_init(void) __init;
40extern char * __init prom_getcmdline(void); 43extern char * __init prom_getcmdline(void);
@@ -349,7 +352,7 @@ static struct pci_dev *fake_pci_dev(struct pci_controller *hose,
349 static struct pci_dev dev; 352 static struct pci_dev dev;
350 static struct pci_bus bus; 353 static struct pci_bus bus;
351 354
352 dev.sysdata = (void *)hose; 355 dev.sysdata = bus.sysdata = hose;
353 dev.devfn = devfn; 356 dev.devfn = devfn;
354 bus.number = busnr; 357 bus.number = busnr;
355 bus.ops = hose->pci_ops; 358 bus.ops = hose->pci_ops;
@@ -382,8 +385,10 @@ int txboard_pci66_check(struct pci_controller *hose, int top_bus, int current_bu
382 printk("PCI: Checking 66MHz capabilities...\n"); 385 printk("PCI: Checking 66MHz capabilities...\n");
383 386
384 for (pci_devfn=devfn_start; pci_devfn<devfn_stop; pci_devfn++) { 387 for (pci_devfn=devfn_start; pci_devfn<devfn_stop; pci_devfn++) {
385 early_read_config_word(hose, top_bus, current_bus, pci_devfn, 388 if (early_read_config_word(hose, top_bus, current_bus,
386 PCI_VENDOR_ID, &vid); 389 pci_devfn, PCI_VENDOR_ID,
390 &vid) != PCIBIOS_SUCCESSFUL)
391 continue;
387 392
388 if (vid == 0xffff) continue; 393 if (vid == 0xffff) continue;
389 394
@@ -460,7 +465,6 @@ static int __init tx4938_pcibios_init(void)
460 int extarb = !(tx4938_ccfgptr->ccfg & TX4938_CCFG_PCIXARB); 465 int extarb = !(tx4938_ccfgptr->ccfg & TX4938_CCFG_PCIXARB);
461 466
462 PCIBIOS_MIN_IO = 0x00001000UL; 467 PCIBIOS_MIN_IO = 0x00001000UL;
463 PCIBIOS_MIN_MEM = 0x01000000UL;
464 468
465 mem_base[0] = txboard_request_phys_region_shrink(&mem_size[0]); 469 mem_base[0] = txboard_request_phys_region_shrink(&mem_size[0]);
466 io_base[0] = txboard_request_phys_region_shrink(&io_size[0]); 470 io_base[0] = txboard_request_phys_region_shrink(&io_size[0]);
@@ -574,82 +578,43 @@ arch_initcall(tx4938_pcibios_init);
574#define SEEPROM3_CS 1 /* IOC */ 578#define SEEPROM3_CS 1 /* IOC */
575#define SRTC_CS 2 /* IOC */ 579#define SRTC_CS 2 /* IOC */
576 580
577static int rbtx4938_spi_cs_func(int chipid, int on)
578{
579 unsigned char bit;
580 switch (chipid) {
581 case RBTX4938_SEEPROM1_CHIPID:
582 if (on)
583 tx4938_pioptr->dout &= ~(1 << SEEPROM1_CS);
584 else
585 tx4938_pioptr->dout |= (1 << SEEPROM1_CS);
586 return 0;
587 break;
588 case RBTX4938_SEEPROM2_CHIPID:
589 bit = (1 << SEEPROM2_CS);
590 break;
591 case RBTX4938_SEEPROM3_CHIPID:
592 bit = (1 << SEEPROM3_CS);
593 break;
594 case RBTX4938_SRTC_CHIPID:
595 bit = (1 << SRTC_CS);
596 break;
597 default:
598 return -ENODEV;
599 }
600 /* bit1,2,4 are low active, bit3 is high active */
601 *rbtx4938_spics_ptr =
602 (*rbtx4938_spics_ptr & ~bit) |
603 ((on ? (bit ^ 0x0b) : ~(bit ^ 0x0b)) & bit);
604 return 0;
605}
606
607#ifdef CONFIG_PCI 581#ifdef CONFIG_PCI
608extern int spi_eeprom_read(int chipid, int address, unsigned char *buf, int len); 582static int __init rbtx4938_ethaddr_init(void)
609
610int rbtx4938_get_tx4938_ethaddr(struct pci_dev *dev, unsigned char *addr)
611{ 583{
612 struct pci_controller *channel = (struct pci_controller *)dev->bus->sysdata; 584 unsigned char dat[17];
613 static unsigned char dat[17]; 585 unsigned char sum;
614 static int read_dat = 0; 586 int i;
615 int ch = 0;
616 587
617 if (channel != &tx4938_pci_controller[1]) 588 /* 0-3: "MAC\0", 4-9:eth0, 10-15:eth1, 16:sum */
618 return -ENODEV; 589 if (spi_eeprom_read(SEEPROM1_CS, 0, dat, sizeof(dat))) {
619 /* TX4938 PCIC1 */ 590 printk(KERN_ERR "seeprom: read error.\n");
620 switch (PCI_SLOT(dev->devfn)) {
621 case TX4938_PCIC_IDSEL_AD_TO_SLOT(31):
622 ch = 0;
623 break;
624 case TX4938_PCIC_IDSEL_AD_TO_SLOT(30):
625 ch = 1;
626 break;
627 default:
628 return -ENODEV; 591 return -ENODEV;
592 } else {
593 if (strcmp(dat, "MAC") != 0)
594 printk(KERN_WARNING "seeprom: bad signature.\n");
595 for (i = 0, sum = 0; i < sizeof(dat); i++)
596 sum += dat[i];
597 if (sum)
598 printk(KERN_WARNING "seeprom: bad checksum.\n");
629 } 599 }
630 if (!read_dat) { 600 for (i = 0; i < 2; i++) {
631 unsigned char sum; 601 unsigned int slot = TX4938_PCIC_IDSEL_AD_TO_SLOT(31 - i);
632 int i; 602 unsigned int id = (1 << 8) | PCI_DEVFN(slot, 0); /* bus 1 */
633 read_dat = 1; 603 struct platform_device *pdev;
634 /* 0-3: "MAC\0", 4-9:eth0, 10-15:eth1, 16:sum */ 604 if (!(tx4938_ccfgptr->pcfg &
635 if (spi_eeprom_read(RBTX4938_SEEPROM1_CHIPID, 605 (i ? TX4938_PCFG_ETH1_SEL : TX4938_PCFG_ETH0_SEL)))
636 0, dat, sizeof(dat))) { 606 continue;
637 printk(KERN_ERR "seeprom: read error.\n"); 607 pdev = platform_device_alloc("tc35815-mac", id);
638 } else { 608 if (!pdev ||
639 if (strcmp(dat, "MAC") != 0) 609 platform_device_add_data(pdev, &dat[4 + 6 * i], 6) ||
640 printk(KERN_WARNING "seeprom: bad signature.\n"); 610 platform_device_add(pdev))
641 for (i = 0, sum = 0; i < sizeof(dat); i++) 611 platform_device_put(pdev);
642 sum += dat[i];
643 if (sum)
644 printk(KERN_WARNING "seeprom: bad checksum.\n");
645 }
646 } 612 }
647 memcpy(addr, &dat[4 + 6 * ch], 6);
648 return 0; 613 return 0;
649} 614}
615device_initcall(rbtx4938_ethaddr_init);
650#endif /* CONFIG_PCI */ 616#endif /* CONFIG_PCI */
651 617
652extern void __init txx9_spi_init(unsigned long base, int (*cs_func)(int chipid, int on));
653static void __init rbtx4938_spi_setup(void) 618static void __init rbtx4938_spi_setup(void)
654{ 619{
655 /* set SPI_SEL */ 620 /* set SPI_SEL */
@@ -657,7 +622,6 @@ static void __init rbtx4938_spi_setup(void)
657 /* chip selects for SPI devices */ 622 /* chip selects for SPI devices */
658 tx4938_pioptr->dout |= (1 << SEEPROM1_CS); 623 tx4938_pioptr->dout |= (1 << SEEPROM1_CS);
659 tx4938_pioptr->dir |= (1 << SEEPROM1_CS); 624 tx4938_pioptr->dir |= (1 << SEEPROM1_CS);
660 txx9_spi_init(TX4938_SPI_REG, rbtx4938_spi_cs_func);
661} 625}
662 626
663static struct resource rbtx4938_fpga_resource; 627static struct resource rbtx4938_fpga_resource;
@@ -896,10 +860,8 @@ void tx4938_report_pcic_status(void)
896/* We use onchip r4k counter or TMR timer as our system wide timer 860/* We use onchip r4k counter or TMR timer as our system wide timer
897 * interrupt running at 100HZ. */ 861 * interrupt running at 100HZ. */
898 862
899extern void __init rtc_rx5c348_init(int chipid);
900void __init rbtx4938_time_init(void) 863void __init rbtx4938_time_init(void)
901{ 864{
902 rtc_rx5c348_init(RBTX4938_SRTC_CHIPID);
903 mips_hpt_frequency = txx9_cpu_clock / 2; 865 mips_hpt_frequency = txx9_cpu_clock / 2;
904} 866}
905 867
@@ -1016,29 +978,6 @@ void __init toshiba_rbtx4938_setup(void)
1016 *rbtx4938_dipsw_ptr, *rbtx4938_bdipsw_ptr); 978 *rbtx4938_dipsw_ptr, *rbtx4938_bdipsw_ptr);
1017} 979}
1018 980
1019#ifdef CONFIG_PROC_FS
1020extern void spi_eeprom_proc_create(struct proc_dir_entry *dir, int chipid);
1021static int __init tx4938_spi_proc_setup(void)
1022{
1023 struct proc_dir_entry *tx4938_spi_eeprom_dir;
1024
1025 tx4938_spi_eeprom_dir = proc_mkdir("spi_eeprom", 0);
1026
1027 if (!tx4938_spi_eeprom_dir)
1028 return -ENOMEM;
1029
1030 /* don't allow user access to RBTX4938_SEEPROM1_CHIPID
1031 * as it contains eth0 and eth1 MAC addresses
1032 */
1033 spi_eeprom_proc_create(tx4938_spi_eeprom_dir, RBTX4938_SEEPROM2_CHIPID);
1034 spi_eeprom_proc_create(tx4938_spi_eeprom_dir, RBTX4938_SEEPROM3_CHIPID);
1035
1036 return 0;
1037}
1038
1039__initcall(tx4938_spi_proc_setup);
1040#endif
1041
1042static int __init rbtx4938_ne_init(void) 981static int __init rbtx4938_ne_init(void)
1043{ 982{
1044 struct resource res[] = { 983 struct resource res[] = {
@@ -1057,3 +996,176 @@ static int __init rbtx4938_ne_init(void)
1057 return IS_ERR(dev) ? PTR_ERR(dev) : 0; 996 return IS_ERR(dev) ? PTR_ERR(dev) : 0;
1058} 997}
1059device_initcall(rbtx4938_ne_init); 998device_initcall(rbtx4938_ne_init);
999
1000/* GPIO support */
1001
1002static DEFINE_SPINLOCK(rbtx4938_spi_gpio_lock);
1003
1004static void rbtx4938_spi_gpio_set(unsigned gpio, int value)
1005{
1006 u8 val;
1007 unsigned long flags;
1008 gpio -= 16;
1009 spin_lock_irqsave(&rbtx4938_spi_gpio_lock, flags);
1010 val = *rbtx4938_spics_ptr;
1011 if (value)
1012 val |= 1 << gpio;
1013 else
1014 val &= ~(1 << gpio);
1015 *rbtx4938_spics_ptr = val;
1016 mmiowb();
1017 spin_unlock_irqrestore(&rbtx4938_spi_gpio_lock, flags);
1018}
1019
1020static int rbtx4938_spi_gpio_dir_out(unsigned gpio, int value)
1021{
1022 rbtx4938_spi_gpio_set(gpio, value);
1023 return 0;
1024}
1025
1026static DEFINE_SPINLOCK(tx4938_gpio_lock);
1027
1028static int tx4938_gpio_get(unsigned gpio)
1029{
1030 return tx4938_pioptr->din & (1 << gpio);
1031}
1032
1033static void tx4938_gpio_set_raw(unsigned gpio, int value)
1034{
1035 u32 val;
1036 val = tx4938_pioptr->dout;
1037 if (value)
1038 val |= 1 << gpio;
1039 else
1040 val &= ~(1 << gpio);
1041 tx4938_pioptr->dout = val;
1042}
1043
1044static void tx4938_gpio_set(unsigned gpio, int value)
1045{
1046 unsigned long flags;
1047 spin_lock_irqsave(&tx4938_gpio_lock, flags);
1048 tx4938_gpio_set_raw(gpio, value);
1049 mmiowb();
1050 spin_unlock_irqrestore(&tx4938_gpio_lock, flags);
1051}
1052
1053static int tx4938_gpio_dir_in(unsigned gpio)
1054{
1055 spin_lock_irq(&tx4938_gpio_lock);
1056 tx4938_pioptr->dir &= ~(1 << gpio);
1057 mmiowb();
1058 spin_unlock_irq(&tx4938_gpio_lock);
1059 return 0;
1060}
1061
1062static int tx4938_gpio_dir_out(unsigned int gpio, int value)
1063{
1064 spin_lock_irq(&tx4938_gpio_lock);
1065 tx4938_gpio_set_raw(gpio, value);
1066 tx4938_pioptr->dir |= 1 << gpio;
1067 mmiowb();
1068 spin_unlock_irq(&tx4938_gpio_lock);
1069 return 0;
1070}
1071
1072int gpio_direction_input(unsigned gpio)
1073{
1074 if (gpio < 16)
1075 return tx4938_gpio_dir_in(gpio);
1076 return -EINVAL;
1077}
1078
1079int gpio_direction_output(unsigned gpio, int value)
1080{
1081 if (gpio < 16)
1082 return tx4938_gpio_dir_out(gpio, value);
1083 if (gpio < 16 + 3)
1084 return rbtx4938_spi_gpio_dir_out(gpio, value);
1085 return -EINVAL;
1086}
1087
1088int gpio_get_value(unsigned gpio)
1089{
1090 if (gpio < 16)
1091 return tx4938_gpio_get(gpio);
1092 return 0;
1093}
1094
1095void gpio_set_value(unsigned gpio, int value)
1096{
1097 if (gpio < 16)
1098 tx4938_gpio_set(gpio, value);
1099 else
1100 rbtx4938_spi_gpio_set(gpio, value);
1101}
1102
1103/* SPI support */
1104
1105static void __init txx9_spi_init(unsigned long base, int irq)
1106{
1107 struct resource res[] = {
1108 {
1109 .start = base,
1110 .end = base + 0x20 - 1,
1111 .flags = IORESOURCE_MEM,
1112 .parent = &tx4938_reg_resource,
1113 }, {
1114 .start = irq,
1115 .flags = IORESOURCE_IRQ,
1116 },
1117 };
1118 platform_device_register_simple("txx9spi", 0,
1119 res, ARRAY_SIZE(res));
1120}
1121
1122static int __init rbtx4938_spi_init(void)
1123{
1124 struct spi_board_info srtc_info = {
1125 .modalias = "rs5c348",
1126 .max_speed_hz = 1000000, /* 1.0Mbps @ Vdd 2.0V */
1127 .bus_num = 0,
1128 .chip_select = 16 + SRTC_CS,
1129 /* Mode 1 (High-Active, Shift-Then-Sample), High Avtive CS */
1130 .mode = SPI_MODE_1 | SPI_CS_HIGH,
1131 };
1132 spi_register_board_info(&srtc_info, 1);
1133 spi_eeprom_register(SEEPROM1_CS);
1134 spi_eeprom_register(16 + SEEPROM2_CS);
1135 spi_eeprom_register(16 + SEEPROM3_CS);
1136 txx9_spi_init(TX4938_SPI_REG & 0xfffffffffULL, RBTX4938_IRQ_IRC_SPI);
1137 return 0;
1138}
1139arch_initcall(rbtx4938_spi_init);
1140
1141/* Minimum CLK support */
1142
1143struct clk *clk_get(struct device *dev, const char *id)
1144{
1145 if (!strcmp(id, "spi-baseclk"))
1146 return (struct clk *)(txx9_gbus_clock / 2 / 4);
1147 return ERR_PTR(-ENOENT);
1148}
1149EXPORT_SYMBOL(clk_get);
1150
1151int clk_enable(struct clk *clk)
1152{
1153 return 0;
1154}
1155EXPORT_SYMBOL(clk_enable);
1156
1157void clk_disable(struct clk *clk)
1158{
1159}
1160EXPORT_SYMBOL(clk_disable);
1161
1162unsigned long clk_get_rate(struct clk *clk)
1163{
1164 return (unsigned long)clk;
1165}
1166EXPORT_SYMBOL(clk_get_rate);
1167
1168void clk_put(struct clk *clk)
1169{
1170}
1171EXPORT_SYMBOL(clk_put);
diff --git a/arch/mips/tx4938/toshiba_rbtx4938/spi_eeprom.c b/arch/mips/tx4938/toshiba_rbtx4938/spi_eeprom.c
index 89596e62f909..4d6b4ade5e8c 100644
--- a/arch/mips/tx4938/toshiba_rbtx4938/spi_eeprom.c
+++ b/arch/mips/tx4938/toshiba_rbtx4938/spi_eeprom.c
@@ -10,209 +10,90 @@
10 * Support for TX4938 in 2.6 - Manish Lachwani (mlachwani@mvista.com) 10 * Support for TX4938 in 2.6 - Manish Lachwani (mlachwani@mvista.com)
11 */ 11 */
12#include <linux/init.h> 12#include <linux/init.h>
13#include <linux/delay.h> 13#include <linux/device.h>
14#include <linux/proc_fs.h> 14#include <linux/spi/spi.h>
15#include <linux/spinlock.h> 15#include <linux/spi/eeprom.h>
16#include <asm/tx4938/spi.h> 16#include <asm/tx4938/spi.h>
17#include <asm/tx4938/tx4938.h>
18 17
19/* ATMEL 250x0 instructions */ 18#define AT250X0_PAGE_SIZE 8
20#define ATMEL_WREN 0x06
21#define ATMEL_WRDI 0x04
22#define ATMEL_RDSR 0x05
23#define ATMEL_WRSR 0x01
24#define ATMEL_READ 0x03
25#define ATMEL_WRITE 0x02
26 19
27#define ATMEL_SR_BSY 0x01 20/* register board information for at25 driver */
28#define ATMEL_SR_WEN 0x02 21int __init spi_eeprom_register(int chipid)
29#define ATMEL_SR_BP0 0x04
30#define ATMEL_SR_BP1 0x08
31
32DEFINE_SPINLOCK(spi_eeprom_lock);
33
34static struct spi_dev_desc seeprom_dev_desc = {
35 .baud = 1500000, /* 1.5Mbps */
36 .tcss = 1,
37 .tcsh = 1,
38 .tcsr = 1,
39 .byteorder = 1, /* MSB-First */
40 .polarity = 0, /* High-Active */
41 .phase = 0, /* Sample-Then-Shift */
42
43};
44static inline int
45spi_eeprom_io(int chipid,
46 unsigned char **inbufs, unsigned int *incounts,
47 unsigned char **outbufs, unsigned int *outcounts)
48{
49 return txx9_spi_io(chipid, &seeprom_dev_desc,
50 inbufs, incounts, outbufs, outcounts, 0);
51}
52
53int spi_eeprom_write_enable(int chipid, int enable)
54{ 22{
55 unsigned char inbuf[1]; 23 static struct spi_eeprom eeprom = {
56 unsigned char *inbufs[1]; 24 .name = "at250x0",
57 unsigned int incounts[2]; 25 .byte_len = 128,
58 unsigned long flags; 26 .page_size = AT250X0_PAGE_SIZE,
59 int stat; 27 .flags = EE_ADDR1,
60 inbuf[0] = enable ? ATMEL_WREN : ATMEL_WRDI; 28 };
61 inbufs[0] = inbuf; 29 struct spi_board_info info = {
62 incounts[0] = sizeof(inbuf); 30 .modalias = "at25",
63 incounts[1] = 0; 31 .max_speed_hz = 1500000, /* 1.5Mbps */
64 spin_lock_irqsave(&spi_eeprom_lock, flags); 32 .bus_num = 0,
65 stat = spi_eeprom_io(chipid, inbufs, incounts, NULL, NULL); 33 .chip_select = chipid,
66 spin_unlock_irqrestore(&spi_eeprom_lock, flags); 34 .platform_data = &eeprom,
67 return stat; 35 /* Mode 0: High-Active, Sample-Then-Shift */
68} 36 };
69 37
70static int spi_eeprom_read_status_nolock(int chipid) 38 return spi_register_board_info(&info, 1);
71{
72 unsigned char inbuf[2], outbuf[2];
73 unsigned char *inbufs[1], *outbufs[1];
74 unsigned int incounts[2], outcounts[2];
75 int stat;
76 inbuf[0] = ATMEL_RDSR;
77 inbuf[1] = 0;
78 inbufs[0] = inbuf;
79 incounts[0] = sizeof(inbuf);
80 incounts[1] = 0;
81 outbufs[0] = outbuf;
82 outcounts[0] = sizeof(outbuf);
83 outcounts[1] = 0;
84 stat = spi_eeprom_io(chipid, inbufs, incounts, outbufs, outcounts);
85 if (stat < 0)
86 return stat;
87 return outbuf[1];
88} 39}
89 40
90int spi_eeprom_read_status(int chipid) 41/* simple temporary spi driver to provide early access to seeprom. */
91{
92 unsigned long flags;
93 int stat;
94 spin_lock_irqsave(&spi_eeprom_lock, flags);
95 stat = spi_eeprom_read_status_nolock(chipid);
96 spin_unlock_irqrestore(&spi_eeprom_lock, flags);
97 return stat;
98}
99 42
100int spi_eeprom_read(int chipid, int address, unsigned char *buf, int len) 43static struct read_param {
101{ 44 int chipid;
102 unsigned char inbuf[2]; 45 int address;
103 unsigned char *inbufs[2], *outbufs[2]; 46 unsigned char *buf;
104 unsigned int incounts[2], outcounts[3]; 47 int len;
105 unsigned long flags; 48} *read_param;
106 int stat;
107 inbuf[0] = ATMEL_READ;
108 inbuf[1] = address;
109 inbufs[0] = inbuf;
110 inbufs[1] = NULL;
111 incounts[0] = sizeof(inbuf);
112 incounts[1] = 0;
113 outbufs[0] = NULL;
114 outbufs[1] = buf;
115 outcounts[0] = 2;
116 outcounts[1] = len;
117 outcounts[2] = 0;
118 spin_lock_irqsave(&spi_eeprom_lock, flags);
119 stat = spi_eeprom_io(chipid, inbufs, incounts, outbufs, outcounts);
120 spin_unlock_irqrestore(&spi_eeprom_lock, flags);
121 return stat;
122}
123 49
124int spi_eeprom_write(int chipid, int address, unsigned char *buf, int len) 50static int __init early_seeprom_probe(struct spi_device *spi)
125{ 51{
126 unsigned char inbuf[2]; 52 int stat = 0;
127 unsigned char *inbufs[2]; 53 u8 cmd[2];
128 unsigned int incounts[3]; 54 int len = read_param->len;
129 unsigned long flags; 55 char *buf = read_param->buf;
130 int i, stat; 56 int address = read_param->address;
131 57
132 if (address / 8 != (address + len - 1) / 8) 58 dev_info(&spi->dev, "spiclk %u KHz.\n",
133 return -EINVAL; 59 (spi->max_speed_hz + 500) / 1000);
134 stat = spi_eeprom_write_enable(chipid, 1); 60 if (read_param->chipid != spi->chip_select)
135 if (stat < 0) 61 return -ENODEV;
136 return stat; 62 while (len > 0) {
137 stat = spi_eeprom_read_status(chipid); 63 /* spi_write_then_read can only work with small chunk */
138 if (stat < 0) 64 int c = len < AT250X0_PAGE_SIZE ? len : AT250X0_PAGE_SIZE;
139 return stat; 65 cmd[0] = 0x03; /* AT25_READ */
140 if (!(stat & ATMEL_SR_WEN)) 66 cmd[1] = address;
141 return -EPERM; 67 stat = spi_write_then_read(spi, cmd, sizeof(cmd), buf, c);
142 68 buf += c;
143 inbuf[0] = ATMEL_WRITE; 69 len -= c;
144 inbuf[1] = address; 70 address += c;
145 inbufs[0] = inbuf;
146 inbufs[1] = buf;
147 incounts[0] = sizeof(inbuf);
148 incounts[1] = len;
149 incounts[2] = 0;
150 spin_lock_irqsave(&spi_eeprom_lock, flags);
151 stat = spi_eeprom_io(chipid, inbufs, incounts, NULL, NULL);
152 if (stat < 0)
153 goto unlock_return;
154
155 /* write start. max 10ms */
156 for (i = 10; i > 0; i--) {
157 int stat = spi_eeprom_read_status_nolock(chipid);
158 if (stat < 0)
159 goto unlock_return;
160 if (!(stat & ATMEL_SR_BSY))
161 break;
162 mdelay(1);
163 } 71 }
164 spin_unlock_irqrestore(&spi_eeprom_lock, flags);
165 if (i == 0)
166 return -EIO;
167 return len;
168 unlock_return:
169 spin_unlock_irqrestore(&spi_eeprom_lock, flags);
170 return stat; 72 return stat;
171} 73}
172 74
173#ifdef CONFIG_PROC_FS 75static struct spi_driver early_seeprom_driver __initdata = {
174#define MAX_SIZE 0x80 /* for ATMEL 25010 */ 76 .driver = {
175static int spi_eeprom_read_proc(char *page, char **start, off_t off, 77 .name = "at25",
176 int count, int *eof, void *data) 78 .owner = THIS_MODULE,
177{ 79 },
178 unsigned int size = MAX_SIZE; 80 .probe = early_seeprom_probe,
179 if (spi_eeprom_read((int)data, 0, (unsigned char *)page, size) < 0) 81};
180 size = 0;
181 return size;
182}
183
184static int spi_eeprom_write_proc(struct file *file, const char *buffer,
185 unsigned long count, void *data)
186{
187 unsigned int size = MAX_SIZE;
188 int i;
189 if (file->f_pos >= size)
190 return -EIO;
191 if (file->f_pos + count > size)
192 count = size - file->f_pos;
193 for (i = 0; i < count; i += 8) {
194 int len = count - i < 8 ? count - i : 8;
195 if (spi_eeprom_write((int)data, file->f_pos,
196 (unsigned char *)buffer, len) < 0) {
197 count = -EIO;
198 break;
199 }
200 buffer += len;
201 file->f_pos += len;
202 }
203 return count;
204}
205 82
206__init void spi_eeprom_proc_create(struct proc_dir_entry *dir, int chipid) 83int __init spi_eeprom_read(int chipid, int address,
84 unsigned char *buf, int len)
207{ 85{
208 struct proc_dir_entry *entry; 86 int ret;
209 char name[128]; 87 struct read_param param = {
210 sprintf(name, "seeprom-%d", chipid); 88 .chipid = chipid,
211 entry = create_proc_entry(name, 0600, dir); 89 .address = address,
212 if (entry) { 90 .buf = buf,
213 entry->read_proc = spi_eeprom_read_proc; 91 .len = len
214 entry->write_proc = spi_eeprom_write_proc; 92 };
215 entry->data = (void *)chipid; 93
216 } 94 read_param = &param;
95 ret = spi_register_driver(&early_seeprom_driver);
96 if (!ret)
97 spi_unregister_driver(&early_seeprom_driver);
98 return ret;
217} 99}
218#endif /* CONFIG_PROC_FS */
diff --git a/arch/mips/tx4938/toshiba_rbtx4938/spi_txx9.c b/arch/mips/tx4938/toshiba_rbtx4938/spi_txx9.c
deleted file mode 100644
index 08b20cdfd7b3..000000000000
--- a/arch/mips/tx4938/toshiba_rbtx4938/spi_txx9.c
+++ /dev/null
@@ -1,164 +0,0 @@
1/*
2 * linux/arch/mips/tx4938/toshiba_rbtx4938/spi_txx9.c
3 * Copyright (C) 2000-2001 Toshiba Corporation
4 *
5 * 2003-2005 (c) MontaVista Software, Inc. This file is licensed under the
6 * terms of the GNU General Public License version 2. This program is
7 * licensed "as is" without any warranty of any kind, whether express
8 * or implied.
9 *
10 * Support for TX4938 in 2.6 - Manish Lachwani (mlachwani@mvista.com)
11 */
12#include <linux/init.h>
13#include <linux/delay.h>
14#include <linux/errno.h>
15#include <linux/interrupt.h>
16#include <linux/module.h>
17#include <linux/sched.h>
18#include <linux/spinlock.h>
19#include <linux/wait.h>
20#include <asm/tx4938/spi.h>
21#include <asm/tx4938/tx4938.h>
22
23static int (*txx9_spi_cs_func)(int chipid, int on);
24static DEFINE_SPINLOCK(txx9_spi_lock);
25
26extern unsigned int txx9_gbus_clock;
27
28#define SPI_FIFO_SIZE 4
29
30void __init txx9_spi_init(unsigned long base, int (*cs_func)(int chipid, int on))
31{
32 txx9_spi_cs_func = cs_func;
33 /* enter config mode */
34 tx4938_spiptr->mcr = TXx9_SPMCR_CONFIG | TXx9_SPMCR_BCLR;
35}
36
37static DECLARE_WAIT_QUEUE_HEAD(txx9_spi_wait);
38
39static irqreturn_t txx9_spi_interrupt(int irq, void *dev_id)
40{
41 /* disable rx intr */
42 tx4938_spiptr->cr0 &= ~TXx9_SPCR0_RBSIE;
43 wake_up(&txx9_spi_wait);
44
45 return IRQ_HANDLED;
46}
47
48static struct irqaction txx9_spi_action = {
49 .handler = txx9_spi_interrupt,
50 .name = "spi",
51};
52
53void __init txx9_spi_irqinit(int irc_irq)
54{
55 setup_irq(irc_irq, &txx9_spi_action);
56}
57
58int txx9_spi_io(int chipid, struct spi_dev_desc *desc,
59 unsigned char **inbufs, unsigned int *incounts,
60 unsigned char **outbufs, unsigned int *outcounts,
61 int cansleep)
62{
63 unsigned int incount, outcount;
64 unsigned char *inp, *outp;
65 int ret;
66 unsigned long flags;
67
68 spin_lock_irqsave(&txx9_spi_lock, flags);
69 if ((tx4938_spiptr->mcr & TXx9_SPMCR_OPMODE) == TXx9_SPMCR_ACTIVE) {
70 spin_unlock_irqrestore(&txx9_spi_lock, flags);
71 return -EBUSY;
72 }
73 /* enter config mode */
74 tx4938_spiptr->mcr = TXx9_SPMCR_CONFIG | TXx9_SPMCR_BCLR;
75 tx4938_spiptr->cr0 =
76 (desc->byteorder ? TXx9_SPCR0_SBOS : 0) |
77 (desc->polarity ? TXx9_SPCR0_SPOL : 0) |
78 (desc->phase ? TXx9_SPCR0_SPHA : 0) |
79 0x08;
80 tx4938_spiptr->cr1 =
81 (((TXX9_IMCLK + desc->baud) / (2 * desc->baud) - 1) << 8) |
82 0x08 /* 8 bit only */;
83 /* enter active mode */
84 tx4938_spiptr->mcr = TXx9_SPMCR_ACTIVE;
85 spin_unlock_irqrestore(&txx9_spi_lock, flags);
86
87 /* CS ON */
88 if ((ret = txx9_spi_cs_func(chipid, 1)) < 0) {
89 spin_unlock_irqrestore(&txx9_spi_lock, flags);
90 return ret;
91 }
92 udelay(desc->tcss);
93
94 /* do scatter IO */
95 inp = inbufs ? *inbufs : NULL;
96 outp = outbufs ? *outbufs : NULL;
97 incount = 0;
98 outcount = 0;
99 while (1) {
100 unsigned char data;
101 unsigned int count;
102 int i;
103 if (!incount) {
104 incount = incounts ? *incounts++ : 0;
105 inp = (incount && inbufs) ? *inbufs++ : NULL;
106 }
107 if (!outcount) {
108 outcount = outcounts ? *outcounts++ : 0;
109 outp = (outcount && outbufs) ? *outbufs++ : NULL;
110 }
111 if (!inp && !outp)
112 break;
113 count = SPI_FIFO_SIZE;
114 if (incount)
115 count = min(count, incount);
116 if (outcount)
117 count = min(count, outcount);
118
119 /* now tx must be idle... */
120 while (!(tx4938_spiptr->sr & TXx9_SPSR_SIDLE))
121 ;
122
123 tx4938_spiptr->cr0 =
124 (tx4938_spiptr->cr0 & ~TXx9_SPCR0_RXIFL_MASK) |
125 ((count - 1) << 12);
126 if (cansleep) {
127 /* enable rx intr */
128 tx4938_spiptr->cr0 |= TXx9_SPCR0_RBSIE;
129 }
130 /* send */
131 for (i = 0; i < count; i++)
132 tx4938_spiptr->dr = inp ? *inp++ : 0;
133 /* wait all rx data */
134 if (cansleep) {
135 wait_event(txx9_spi_wait,
136 tx4938_spiptr->sr & TXx9_SPSR_SRRDY);
137 } else {
138 while (!(tx4938_spiptr->sr & TXx9_SPSR_RBSI))
139 ;
140 }
141 /* receive */
142 for (i = 0; i < count; i++) {
143 data = tx4938_spiptr->dr;
144 if (outp)
145 *outp++ = data;
146 }
147 if (incount)
148 incount -= count;
149 if (outcount)
150 outcount -= count;
151 }
152
153 /* CS OFF */
154 udelay(desc->tcsh);
155 txx9_spi_cs_func(chipid, 0);
156 udelay(desc->tcsr);
157
158 spin_lock_irqsave(&txx9_spi_lock, flags);
159 /* enter config mode */
160 tx4938_spiptr->mcr = TXx9_SPMCR_CONFIG | TXx9_SPMCR_BCLR;
161 spin_unlock_irqrestore(&txx9_spi_lock, flags);
162
163 return 0;
164}
diff --git a/arch/mips/vr41xx/common/Makefile b/arch/mips/vr41xx/common/Makefile
index f842783acd86..d0d84ec8d63d 100644
--- a/arch/mips/vr41xx/common/Makefile
+++ b/arch/mips/vr41xx/common/Makefile
@@ -2,4 +2,4 @@
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 giu.o icu.o init.o irq.o pmu.o rtc.o siu.o type.o
diff --git a/arch/mips/vr41xx/common/giu.c b/arch/mips/vr41xx/common/giu.c
new file mode 100644
index 000000000000..d21f6f2d22a3
--- /dev/null
+++ b/arch/mips/vr41xx/common/giu.c
@@ -0,0 +1,122 @@
1/*
2 * NEC VR4100 series GIU platform device.
3 *
4 * Copyright (C) 2007 Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
5 *
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
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19 */
20#include <linux/errno.h>
21#include <linux/init.h>
22#include <linux/ioport.h>
23#include <linux/platform_device.h>
24
25#include <asm/cpu.h>
26#include <asm/vr41xx/giu.h>
27#include <asm/vr41xx/irq.h>
28
29static struct resource giu_50pins_pullupdown_resource[] __initdata = {
30 {
31 .start = 0x0b000100,
32 .end = 0x0b00011f,
33 .flags = IORESOURCE_MEM,
34 },
35 {
36 .start = 0x0b0002e0,
37 .end = 0x0b0002e3,
38 .flags = IORESOURCE_MEM,
39 },
40 {
41 .start = GIUINT_IRQ,
42 .end = GIUINT_IRQ,
43 .flags = IORESOURCE_IRQ,
44 },
45};
46
47static struct resource giu_36pins_resource[] __initdata = {
48 {
49 .start = 0x0f000140,
50 .end = 0x0f00015f,
51 .flags = IORESOURCE_MEM,
52 },
53 {
54 .start = GIUINT_IRQ,
55 .end = GIUINT_IRQ,
56 .flags = IORESOURCE_IRQ,
57 },
58};
59
60static struct resource giu_48pins_resource[] __initdata = {
61 {
62 .start = 0x0f000140,
63 .end = 0x0f000167,
64 .flags = IORESOURCE_MEM,
65 },
66 {
67 .start = GIUINT_IRQ,
68 .end = GIUINT_IRQ,
69 .flags = IORESOURCE_IRQ,
70 },
71};
72
73static int __init vr41xx_giu_add(void)
74{
75 struct platform_device *pdev;
76 struct resource *res;
77 unsigned int num;
78 int retval;
79
80 pdev = platform_device_alloc("GIU", -1);
81 if (!pdev)
82 return -ENOMEM;
83
84 switch (current_cpu_data.cputype) {
85 case CPU_VR4111:
86 case CPU_VR4121:
87 pdev->id = GPIO_50PINS_PULLUPDOWN;
88 res = giu_50pins_pullupdown_resource;
89 num = ARRAY_SIZE(giu_50pins_pullupdown_resource);
90 break;
91 case CPU_VR4122:
92 case CPU_VR4131:
93 pdev->id = GPIO_36PINS;
94 res = giu_36pins_resource;
95 num = ARRAY_SIZE(giu_36pins_resource);
96 break;
97 case CPU_VR4133:
98 pdev->id = GPIO_48PINS_EDGE_SELECT;
99 res = giu_48pins_resource;
100 num = ARRAY_SIZE(giu_48pins_resource);
101 break;
102 default:
103 retval = -ENODEV;
104 goto err_free_device;
105 }
106
107 retval = platform_device_add_resources(pdev, res, num);
108 if (retval)
109 goto err_free_device;
110
111 retval = platform_device_add(pdev);
112 if (retval)
113 goto err_free_device;
114
115 return 0;
116
117err_free_device:
118 platform_device_put(pdev);
119
120 return retval;
121}
122device_initcall(vr41xx_giu_add);
diff --git a/arch/mips/vr41xx/common/rtc.c b/arch/mips/vr41xx/common/rtc.c
new file mode 100644
index 000000000000..cce605b3d688
--- /dev/null
+++ b/arch/mips/vr41xx/common/rtc.c
@@ -0,0 +1,117 @@
1/*
2 * NEC VR4100 series RTC platform device.
3 *
4 * Copyright (C) 2007 Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
5 *
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
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19 */
20#include <linux/errno.h>
21#include <linux/init.h>
22#include <linux/ioport.h>
23#include <linux/platform_device.h>
24
25#include <asm/cpu.h>
26#include <asm/vr41xx/irq.h>
27
28static struct resource rtc_type1_resource[] __initdata = {
29 {
30 .start = 0x0b0000c0,
31 .end = 0x0b0000df,
32 .flags = IORESOURCE_MEM,
33 },
34 {
35 .start = 0x0b0001c0,
36 .end = 0x0b0001df,
37 .flags = IORESOURCE_MEM,
38 },
39 {
40 .start = ELAPSEDTIME_IRQ,
41 .end = ELAPSEDTIME_IRQ,
42 .flags = IORESOURCE_IRQ,
43 },
44 {
45 .start = RTCLONG1_IRQ,
46 .end = RTCLONG1_IRQ,
47 .flags = IORESOURCE_IRQ,
48 },
49};
50
51static struct resource rtc_type2_resource[] __initdata = {
52 {
53 .start = 0x0f000100,
54 .end = 0x0f00011f,
55 .flags = IORESOURCE_MEM,
56 },
57 {
58 .start = 0x0f000120,
59 .end = 0x0f00013f,
60 .flags = IORESOURCE_MEM,
61 },
62 {
63 .start = ELAPSEDTIME_IRQ,
64 .end = ELAPSEDTIME_IRQ,
65 .flags = IORESOURCE_IRQ,
66 },
67 {
68 .start = RTCLONG1_IRQ,
69 .end = RTCLONG1_IRQ,
70 .flags = IORESOURCE_IRQ,
71 },
72};
73
74static int __init vr41xx_rtc_add(void)
75{
76 struct platform_device *pdev;
77 struct resource *res;
78 unsigned int num;
79 int retval;
80
81 pdev = platform_device_alloc("RTC", -1);
82 if (!pdev)
83 return -ENOMEM;
84
85 switch (current_cpu_data.cputype) {
86 case CPU_VR4111:
87 case CPU_VR4121:
88 res = rtc_type1_resource;
89 num = ARRAY_SIZE(rtc_type1_resource);
90 break;
91 case CPU_VR4122:
92 case CPU_VR4131:
93 case CPU_VR4133:
94 res = rtc_type2_resource;
95 num = ARRAY_SIZE(rtc_type2_resource);
96 break;
97 default:
98 retval = -ENODEV;
99 goto err_free_device;
100 }
101
102 retval = platform_device_add_resources(pdev, res, num);
103 if (retval)
104 goto err_free_device;
105
106 retval = platform_device_add(pdev);
107 if (retval)
108 goto err_free_device;
109
110 return 0;
111
112err_free_device:
113 platform_device_put(pdev);
114
115 return retval;
116}
117device_initcall(vr41xx_rtc_add);
diff --git a/arch/mips/vr41xx/common/siu.c b/arch/mips/vr41xx/common/siu.c
new file mode 100644
index 000000000000..a1e774142163
--- /dev/null
+++ b/arch/mips/vr41xx/common/siu.c
@@ -0,0 +1,120 @@
1/*
2 * NEC VR4100 series SIU platform device.
3 *
4 * Copyright (C) 2007 Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
5 *
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
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19 */
20#include <linux/errno.h>
21#include <linux/init.h>
22#include <linux/ioport.h>
23#include <linux/platform_device.h>
24#include <linux/serial_core.h>
25
26#include <asm/cpu.h>
27#include <asm/vr41xx/siu.h>
28
29static unsigned int siu_type1_ports[SIU_PORTS_MAX] __initdata = {
30 PORT_VR41XX_SIU,
31 PORT_UNKNOWN,
32};
33
34static struct resource siu_type1_resource[] __initdata = {
35 {
36 .start = 0x0c000000,
37 .end = 0x0c00000a,
38 .flags = IORESOURCE_MEM,
39 },
40 {
41 .start = SIU_IRQ,
42 .end = SIU_IRQ,
43 .flags = IORESOURCE_IRQ,
44 },
45};
46
47static unsigned int siu_type2_ports[SIU_PORTS_MAX] __initdata = {
48 PORT_VR41XX_SIU,
49 PORT_VR41XX_DSIU,
50};
51
52static struct resource siu_type2_resource[] __initdata = {
53 {
54 .start = 0x0f000800,
55 .end = 0x0f00080a,
56 .flags = IORESOURCE_MEM,
57 },
58 {
59 .start = 0x0f000820,
60 .end = 0x0f000829,
61 .flags = IORESOURCE_MEM,
62 },
63 {
64 .start = SIU_IRQ,
65 .end = SIU_IRQ,
66 .flags = IORESOURCE_IRQ,
67 },
68 {
69 .start = DSIU_IRQ,
70 .end = DSIU_IRQ,
71 .flags = IORESOURCE_IRQ,
72 },
73};
74
75static int __init vr41xx_siu_add(void)
76{
77 struct platform_device *pdev;
78 struct resource *res;
79 unsigned int num;
80 int retval;
81
82 pdev = platform_device_alloc("SIU", -1);
83 if (!pdev)
84 return -ENOMEM;
85
86 switch (current_cpu_data.cputype) {
87 case CPU_VR4111:
88 case CPU_VR4121:
89 pdev->dev.platform_data = siu_type1_ports;
90 res = siu_type1_resource;
91 num = ARRAY_SIZE(siu_type1_resource);
92 break;
93 case CPU_VR4122:
94 case CPU_VR4131:
95 case CPU_VR4133:
96 pdev->dev.platform_data = siu_type2_ports;
97 res = siu_type2_resource;
98 num = ARRAY_SIZE(siu_type2_resource);
99 break;
100 default:
101 retval = -ENODEV;
102 goto err_free_device;
103 }
104
105 retval = platform_device_add_resources(pdev, res, num);
106 if (retval)
107 goto err_free_device;
108
109 retval = platform_device_add(pdev);
110 if (retval)
111 goto err_free_device;
112
113 return 0;
114
115err_free_device:
116 platform_device_put(pdev);
117
118 return retval;
119}
120device_initcall(vr41xx_siu_add);
diff --git a/arch/parisc/kernel/unwind.c b/arch/parisc/kernel/unwind.c
index e70f57e27643..322167737de7 100644
--- a/arch/parisc/kernel/unwind.c
+++ b/arch/parisc/kernel/unwind.c
@@ -16,6 +16,8 @@
16 16
17#include <asm/uaccess.h> 17#include <asm/uaccess.h>
18#include <asm/assembly.h> 18#include <asm/assembly.h>
19#include <asm/asm-offsets.h>
20#include <asm/ptrace.h>
19 21
20#include <asm/unwind.h> 22#include <asm/unwind.h>
21 23
@@ -26,6 +28,8 @@
26#define dbg(x...) 28#define dbg(x...)
27#endif 29#endif
28 30
31#define KERNEL_START (KERNEL_BINARY_TEXT_START - 0x1000)
32
29extern struct unwind_table_entry __start___unwind[]; 33extern struct unwind_table_entry __start___unwind[];
30extern struct unwind_table_entry __stop___unwind[]; 34extern struct unwind_table_entry __stop___unwind[];
31 35
@@ -197,6 +201,29 @@ static int unwind_init(void)
197 return 0; 201 return 0;
198} 202}
199 203
204#ifdef CONFIG_64BIT
205#define get_func_addr(fptr) fptr[2]
206#else
207#define get_func_addr(fptr) fptr[0]
208#endif
209
210static int unwind_special(struct unwind_frame_info *info, unsigned long pc, int frame_size)
211{
212 void handle_interruption(int, struct pt_regs *);
213 static unsigned long *hi = (unsigned long)&handle_interruption;
214
215 if (pc == get_func_addr(hi)) {
216 struct pt_regs *regs = (struct pt_regs *)(info->sp - frame_size - PT_SZ_ALGN);
217 dbg("Unwinding through handle_interruption()\n");
218 info->prev_sp = regs->gr[30];
219 info->prev_ip = regs->iaoq[0];
220
221 return 1;
222 }
223
224 return 0;
225}
226
200static void unwind_frame_regs(struct unwind_frame_info *info) 227static void unwind_frame_regs(struct unwind_frame_info *info)
201{ 228{
202 const struct unwind_table_entry *e; 229 const struct unwind_table_entry *e;
@@ -310,13 +337,15 @@ static void unwind_frame_regs(struct unwind_frame_info *info)
310 } 337 }
311 } 338 }
312 339
313 info->prev_sp = info->sp - frame_size; 340 if (!unwind_special(info, e->region_start, frame_size)) {
314 if (e->Millicode) 341 info->prev_sp = info->sp - frame_size;
315 info->rp = info->r31; 342 if (e->Millicode)
316 else if (rpoffset) 343 info->rp = info->r31;
317 info->rp = *(unsigned long *)(info->prev_sp - rpoffset); 344 else if (rpoffset)
318 info->prev_ip = info->rp; 345 info->rp = *(unsigned long *)(info->prev_sp - rpoffset);
319 info->rp = 0; 346 info->prev_ip = info->rp;
347 info->rp = 0;
348 }
320 349
321 dbg("analyzing func @ %lx, setting prev_sp=%lx " 350 dbg("analyzing func @ %lx, setting prev_sp=%lx "
322 "prev_ip=%lx npc=%lx\n", info->ip, info->prev_sp, 351 "prev_ip=%lx npc=%lx\n", info->ip, info->prev_sp,
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index 5eaeafd30bdf..6beee32144c0 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -698,8 +698,10 @@ config PCI
698 infrastructure code to support PCI bus devices. 698 infrastructure code to support PCI bus devices.
699 699
700config PCI_DOMAINS 700config PCI_DOMAINS
701 bool 701 def_bool PCI
702 default PCI 702
703config PCI_SYSCALL
704 def_bool PCI
703 705
704config PCI_QSPAN 706config PCI_QSPAN
705 bool "QSpan PCI" 707 bool "QSpan PCI"
diff --git a/arch/powerpc/configs/cell_defconfig b/arch/powerpc/configs/cell_defconfig
index 02c428affc8f..74f83f4a4e5e 100644
--- a/arch/powerpc/configs/cell_defconfig
+++ b/arch/powerpc/configs/cell_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.21-rc6 3# Linux kernel version: 2.6.22-rc6
4# Mon Apr 23 20:46:48 2007 4# Tue Jun 26 12:32:34 2007
5# 5#
6CONFIG_PPC64=y 6CONFIG_PPC64=y
7CONFIG_64BIT=y 7CONFIG_64BIT=y
@@ -41,6 +41,7 @@ CONFIG_PPC_DCR=y
41CONFIG_PPC_OF_PLATFORM_PCI=y 41CONFIG_PPC_OF_PLATFORM_PCI=y
42CONFIG_ALTIVEC=y 42CONFIG_ALTIVEC=y
43CONFIG_PPC_STD_MMU=y 43CONFIG_PPC_STD_MMU=y
44CONFIG_PPC_MM_SLICES=y
44CONFIG_VIRT_CPU_ACCOUNTING=y 45CONFIG_VIRT_CPU_ACCOUNTING=y
45CONFIG_SMP=y 46CONFIG_SMP=y
46CONFIG_NR_CPUS=4 47CONFIG_NR_CPUS=4
@@ -69,6 +70,7 @@ CONFIG_SYSVIPC_SYSCTL=y
69# CONFIG_AUDIT is not set 70# CONFIG_AUDIT is not set
70CONFIG_IKCONFIG=y 71CONFIG_IKCONFIG=y
71CONFIG_IKCONFIG_PROC=y 72CONFIG_IKCONFIG_PROC=y
73CONFIG_LOG_BUF_SHIFT=15
72CONFIG_CPUSETS=y 74CONFIG_CPUSETS=y
73CONFIG_SYSFS_DEPRECATED=y 75CONFIG_SYSFS_DEPRECATED=y
74# CONFIG_RELAY is not set 76# CONFIG_RELAY is not set
@@ -87,14 +89,19 @@ CONFIG_BUG=y
87CONFIG_ELF_CORE=y 89CONFIG_ELF_CORE=y
88CONFIG_BASE_FULL=y 90CONFIG_BASE_FULL=y
89CONFIG_FUTEX=y 91CONFIG_FUTEX=y
92CONFIG_ANON_INODES=y
90CONFIG_EPOLL=y 93CONFIG_EPOLL=y
94CONFIG_SIGNALFD=y
95CONFIG_TIMERFD=y
96CONFIG_EVENTFD=y
91CONFIG_SHMEM=y 97CONFIG_SHMEM=y
92CONFIG_SLAB=y
93CONFIG_VM_EVENT_COUNTERS=y 98CONFIG_VM_EVENT_COUNTERS=y
99CONFIG_SLAB=y
100# CONFIG_SLUB is not set
101# CONFIG_SLOB is not set
94CONFIG_RT_MUTEXES=y 102CONFIG_RT_MUTEXES=y
95# CONFIG_TINY_SHMEM is not set 103# CONFIG_TINY_SHMEM is not set
96CONFIG_BASE_SMALL=0 104CONFIG_BASE_SMALL=0
97# CONFIG_SLOB is not set
98 105
99# 106#
100# Loadable module support 107# Loadable module support
@@ -163,9 +170,14 @@ CONFIG_SPU_FS=m
163CONFIG_SPU_BASE=y 170CONFIG_SPU_BASE=y
164CONFIG_CBE_RAS=y 171CONFIG_CBE_RAS=y
165CONFIG_CBE_THERM=m 172CONFIG_CBE_THERM=m
173CONFIG_CBE_CPUFREQ=m
174# CONFIG_PQ2ADS is not set
166CONFIG_PPC_NATIVE=y 175CONFIG_PPC_NATIVE=y
167CONFIG_UDBG_RTAS_CONSOLE=y 176CONFIG_UDBG_RTAS_CONSOLE=y
168CONFIG_PPC_UDBG_BEAT=y 177CONFIG_PPC_UDBG_BEAT=y
178CONFIG_MPIC=y
179# CONFIG_MPIC_WEIRD is not set
180# CONFIG_PPC_I8259 is not set
169# CONFIG_U3_DART is not set 181# CONFIG_U3_DART is not set
170CONFIG_PPC_RTAS=y 182CONFIG_PPC_RTAS=y
171# CONFIG_RTAS_ERROR_LOGGING is not set 183# CONFIG_RTAS_ERROR_LOGGING is not set
@@ -177,9 +189,23 @@ CONFIG_MMIO_NVRAM=y
177# CONFIG_PPC_970_NAP is not set 189# CONFIG_PPC_970_NAP is not set
178CONFIG_PPC_INDIRECT_IO=y 190CONFIG_PPC_INDIRECT_IO=y
179CONFIG_GENERIC_IOMAP=y 191CONFIG_GENERIC_IOMAP=y
180# CONFIG_CPU_FREQ_PMAC64 is not set 192CONFIG_CPU_FREQ=y
181# CONFIG_WANT_EARLY_SERIAL is not set 193CONFIG_CPU_FREQ_TABLE=y
182CONFIG_MPIC=y 194# CONFIG_CPU_FREQ_DEBUG is not set
195CONFIG_CPU_FREQ_STAT=y
196# CONFIG_CPU_FREQ_STAT_DETAILS is not set
197CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
198# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
199CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
200CONFIG_CPU_FREQ_GOV_POWERSAVE=y
201CONFIG_CPU_FREQ_GOV_USERSPACE=y
202CONFIG_CPU_FREQ_GOV_ONDEMAND=y
203CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
204
205#
206# CPU Frequency drivers
207#
208# CONFIG_CPM2 is not set
183 209
184# 210#
185# Kernel options 211# Kernel options
@@ -224,12 +250,14 @@ CONFIG_RESOURCES_64BIT=y
224CONFIG_ZONE_DMA_FLAG=1 250CONFIG_ZONE_DMA_FLAG=1
225CONFIG_ARCH_MEMORY_PROBE=y 251CONFIG_ARCH_MEMORY_PROBE=y
226CONFIG_NODES_SPAN_OTHER_NODES=y 252CONFIG_NODES_SPAN_OTHER_NODES=y
253CONFIG_PPC_HAS_HASH_64K=y
227CONFIG_PPC_64K_PAGES=y 254CONFIG_PPC_64K_PAGES=y
228CONFIG_SCHED_SMT=y 255CONFIG_SCHED_SMT=y
229CONFIG_PROC_DEVICETREE=y 256CONFIG_PROC_DEVICETREE=y
230# CONFIG_CMDLINE_BOOL is not set 257# CONFIG_CMDLINE_BOOL is not set
231# CONFIG_PM is not set 258# CONFIG_PM is not set
232CONFIG_SECCOMP=y 259CONFIG_SECCOMP=y
260# CONFIG_WANT_DEVICE_TREE is not set
233CONFIG_ISA_DMA_API=y 261CONFIG_ISA_DMA_API=y
234 262
235# 263#
@@ -237,22 +265,18 @@ CONFIG_ISA_DMA_API=y
237# 265#
238CONFIG_ZONE_DMA=y 266CONFIG_ZONE_DMA=y
239CONFIG_GENERIC_ISA_DMA=y 267CONFIG_GENERIC_ISA_DMA=y
240# CONFIG_MPIC_WEIRD is not set
241# CONFIG_PPC_I8259 is not set
242# CONFIG_PPC_INDIRECT_PCI is not set 268# CONFIG_PPC_INDIRECT_PCI is not set
243CONFIG_PCI=y 269CONFIG_PCI=y
244CONFIG_PCI_DOMAINS=y 270CONFIG_PCI_DOMAINS=y
245CONFIG_PCIEPORTBUS=y 271CONFIG_PCIEPORTBUS=y
272CONFIG_ARCH_SUPPORTS_MSI=y
273# CONFIG_PCI_MSI is not set
246# CONFIG_PCI_DEBUG is not set 274# CONFIG_PCI_DEBUG is not set
247 275
248# 276#
249# PCCARD (PCMCIA/CardBus) support 277# PCCARD (PCMCIA/CardBus) support
250# 278#
251# CONFIG_PCCARD is not set 279# CONFIG_PCCARD is not set
252
253#
254# PCI Hotplug Support
255#
256# CONFIG_HOTPLUG_PCI is not set 280# CONFIG_HOTPLUG_PCI is not set
257CONFIG_KERNEL_START=0xc000000000000000 281CONFIG_KERNEL_START=0xc000000000000000
258 282
@@ -264,7 +288,6 @@ CONFIG_NET=y
264# 288#
265# Networking options 289# Networking options
266# 290#
267# CONFIG_NETDEBUG is not set
268CONFIG_PACKET=y 291CONFIG_PACKET=y
269# CONFIG_PACKET_MMAP is not set 292# CONFIG_PACKET_MMAP is not set
270CONFIG_UNIX=y 293CONFIG_UNIX=y
@@ -300,14 +323,11 @@ CONFIG_INET_TCP_DIAG=y
300CONFIG_TCP_CONG_CUBIC=y 323CONFIG_TCP_CONG_CUBIC=y
301CONFIG_DEFAULT_TCP_CONG="cubic" 324CONFIG_DEFAULT_TCP_CONG="cubic"
302# CONFIG_TCP_MD5SIG is not set 325# CONFIG_TCP_MD5SIG is not set
303
304#
305# IP: Virtual Server Configuration
306#
307# CONFIG_IP_VS is not set 326# CONFIG_IP_VS is not set
308CONFIG_IPV6=y 327CONFIG_IPV6=y
309# CONFIG_IPV6_PRIVACY is not set 328# CONFIG_IPV6_PRIVACY is not set
310# CONFIG_IPV6_ROUTER_PREF is not set 329# CONFIG_IPV6_ROUTER_PREF is not set
330# CONFIG_IPV6_OPTIMISTIC_DAD is not set
311CONFIG_INET6_AH=m 331CONFIG_INET6_AH=m
312CONFIG_INET6_ESP=m 332CONFIG_INET6_ESP=m
313CONFIG_INET6_IPCOMP=m 333CONFIG_INET6_IPCOMP=m
@@ -332,6 +352,7 @@ CONFIG_NETFILTER_NETLINK=m
332CONFIG_NETFILTER_NETLINK_QUEUE=m 352CONFIG_NETFILTER_NETLINK_QUEUE=m
333CONFIG_NETFILTER_NETLINK_LOG=m 353CONFIG_NETFILTER_NETLINK_LOG=m
334# CONFIG_NF_CONNTRACK_ENABLED is not set 354# CONFIG_NF_CONNTRACK_ENABLED is not set
355# CONFIG_NF_CONNTRACK is not set
335CONFIG_NETFILTER_XTABLES=m 356CONFIG_NETFILTER_XTABLES=m
336CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m 357CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
337CONFIG_NETFILTER_XT_TARGET_DSCP=m 358CONFIG_NETFILTER_XT_TARGET_DSCP=m
@@ -389,20 +410,8 @@ CONFIG_IP_NF_ARP_MANGLE=m
389# 410#
390# CONFIG_IP6_NF_QUEUE is not set 411# CONFIG_IP6_NF_QUEUE is not set
391# CONFIG_IP6_NF_IPTABLES is not set 412# CONFIG_IP6_NF_IPTABLES is not set
392
393#
394# DCCP Configuration (EXPERIMENTAL)
395#
396# CONFIG_IP_DCCP is not set 413# CONFIG_IP_DCCP is not set
397
398#
399# SCTP Configuration (EXPERIMENTAL)
400#
401# CONFIG_IP_SCTP is not set 414# CONFIG_IP_SCTP is not set
402
403#
404# TIPC Configuration (EXPERIMENTAL)
405#
406# CONFIG_TIPC is not set 415# CONFIG_TIPC is not set
407# CONFIG_ATM is not set 416# CONFIG_ATM is not set
408# CONFIG_BRIDGE is not set 417# CONFIG_BRIDGE is not set
@@ -429,7 +438,16 @@ CONFIG_NET_CLS_ROUTE=y
429# CONFIG_HAMRADIO is not set 438# CONFIG_HAMRADIO is not set
430# CONFIG_IRDA is not set 439# CONFIG_IRDA is not set
431# CONFIG_BT is not set 440# CONFIG_BT is not set
441# CONFIG_AF_RXRPC is not set
442
443#
444# Wireless
445#
446# CONFIG_CFG80211 is not set
447# CONFIG_WIRELESS_EXT is not set
448# CONFIG_MAC80211 is not set
432# CONFIG_IEEE80211 is not set 449# CONFIG_IEEE80211 is not set
450# CONFIG_RFKILL is not set
433 451
434# 452#
435# Device Drivers 453# Device Drivers
@@ -449,10 +467,6 @@ CONFIG_FW_LOADER=y
449# Connector - unified userspace <-> kernelspace linker 467# Connector - unified userspace <-> kernelspace linker
450# 468#
451# CONFIG_CONNECTOR is not set 469# CONFIG_CONNECTOR is not set
452
453#
454# Memory Technology Devices (MTD)
455#
456# CONFIG_MTD is not set 470# CONFIG_MTD is not set
457 471
458# 472#
@@ -489,12 +503,10 @@ CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
489# 503#
490# Misc devices 504# Misc devices
491# 505#
506# CONFIG_PHANTOM is not set
492# CONFIG_SGI_IOC4 is not set 507# CONFIG_SGI_IOC4 is not set
493# CONFIG_TIFM_CORE is not set 508# CONFIG_TIFM_CORE is not set
494 509# CONFIG_BLINK is not set
495#
496# ATA/ATAPI/MFM/RLL support
497#
498CONFIG_IDE=y 510CONFIG_IDE=y
499CONFIG_BLK_DEV_IDE=y 511CONFIG_BLK_DEV_IDE=y
500 512
@@ -509,6 +521,7 @@ CONFIG_IDEDISK_MULTI_MODE=y
509# CONFIG_BLK_DEV_IDEFLOPPY is not set 521# CONFIG_BLK_DEV_IDEFLOPPY is not set
510# CONFIG_BLK_DEV_IDESCSI is not set 522# CONFIG_BLK_DEV_IDESCSI is not set
511# CONFIG_IDE_TASK_IOCTL is not set 523# CONFIG_IDE_TASK_IOCTL is not set
524CONFIG_IDE_PROC_FS=y
512 525
513# 526#
514# IDE chipset support/bugfixes 527# IDE chipset support/bugfixes
@@ -516,6 +529,7 @@ CONFIG_IDEDISK_MULTI_MODE=y
516CONFIG_IDE_GENERIC=y 529CONFIG_IDE_GENERIC=y
517CONFIG_BLK_DEV_IDEPCI=y 530CONFIG_BLK_DEV_IDEPCI=y
518CONFIG_IDEPCI_SHARE_IRQ=y 531CONFIG_IDEPCI_SHARE_IRQ=y
532CONFIG_IDEPCI_PCIBUS_ORDER=y
519# CONFIG_BLK_DEV_OFFBOARD is not set 533# CONFIG_BLK_DEV_OFFBOARD is not set
520CONFIG_BLK_DEV_GENERIC=y 534CONFIG_BLK_DEV_GENERIC=y
521# CONFIG_BLK_DEV_OPTI621 is not set 535# CONFIG_BLK_DEV_OPTI621 is not set
@@ -580,6 +594,7 @@ CONFIG_CHR_DEV_SG=y
580# CONFIG_SCSI_CONSTANTS is not set 594# CONFIG_SCSI_CONSTANTS is not set
581# CONFIG_SCSI_LOGGING is not set 595# CONFIG_SCSI_LOGGING is not set
582# CONFIG_SCSI_SCAN_ASYNC is not set 596# CONFIG_SCSI_SCAN_ASYNC is not set
597CONFIG_SCSI_WAIT_SCAN=m
583 598
584# 599#
585# SCSI Transports 600# SCSI Transports
@@ -626,10 +641,6 @@ CONFIG_SCSI_SAS_ATTRS=y
626# CONFIG_SCSI_DC390T is not set 641# CONFIG_SCSI_DC390T is not set
627# CONFIG_SCSI_DEBUG is not set 642# CONFIG_SCSI_DEBUG is not set
628# CONFIG_SCSI_SRP is not set 643# CONFIG_SCSI_SRP is not set
629
630#
631# Serial ATA (prod) and Parallel ATA (experimental) drivers
632#
633CONFIG_ATA=y 644CONFIG_ATA=y
634# CONFIG_ATA_NONSTANDARD is not set 645# CONFIG_ATA_NONSTANDARD is not set
635# CONFIG_SATA_AHCI is not set 646# CONFIG_SATA_AHCI is not set
@@ -652,6 +663,7 @@ CONFIG_SATA_PROMISE=y
652# CONFIG_PATA_AMD is not set 663# CONFIG_PATA_AMD is not set
653# CONFIG_PATA_ARTOP is not set 664# CONFIG_PATA_ARTOP is not set
654# CONFIG_PATA_ATIIXP is not set 665# CONFIG_PATA_ATIIXP is not set
666# CONFIG_PATA_CMD640_PCI is not set
655# CONFIG_PATA_CMD64X is not set 667# CONFIG_PATA_CMD64X is not set
656# CONFIG_PATA_CS5520 is not set 668# CONFIG_PATA_CS5520 is not set
657# CONFIG_PATA_CS5530 is not set 669# CONFIG_PATA_CS5530 is not set
@@ -705,6 +717,7 @@ CONFIG_DM_MIRROR=m
705CONFIG_DM_ZERO=m 717CONFIG_DM_ZERO=m
706CONFIG_DM_MULTIPATH=m 718CONFIG_DM_MULTIPATH=m
707# CONFIG_DM_MULTIPATH_EMC is not set 719# CONFIG_DM_MULTIPATH_EMC is not set
720# CONFIG_DM_DELAY is not set
708 721
709# 722#
710# Fusion MPT device support 723# Fusion MPT device support
@@ -719,18 +732,14 @@ CONFIG_FUSION_MAX_SGE=128
719# 732#
720# IEEE 1394 (FireWire) support 733# IEEE 1394 (FireWire) support
721# 734#
735# CONFIG_FIREWIRE is not set
722# CONFIG_IEEE1394 is not set 736# CONFIG_IEEE1394 is not set
723 737
724# 738#
725# I2O device support 739# I2O device support
726# 740#
727# CONFIG_I2O is not set 741# CONFIG_I2O is not set
728 742# CONFIG_MACINTOSH_DRIVERS is not set
729#
730# Macintosh device drivers
731#
732# CONFIG_MAC_EMUMOUSEBTN is not set
733# CONFIG_WINDFARM is not set
734 743
735# 744#
736# Network device support 745# Network device support
@@ -740,15 +749,7 @@ CONFIG_NETDEVICES=y
740CONFIG_BONDING=m 749CONFIG_BONDING=m
741# CONFIG_EQUALIZER is not set 750# CONFIG_EQUALIZER is not set
742CONFIG_TUN=y 751CONFIG_TUN=y
743
744#
745# ARCnet devices
746#
747# CONFIG_ARCNET is not set 752# CONFIG_ARCNET is not set
748
749#
750# PHY device support
751#
752# CONFIG_PHYLIB is not set 753# CONFIG_PHYLIB is not set
753 754
754# 755#
@@ -767,10 +768,7 @@ CONFIG_MII=y
767# CONFIG_NET_TULIP is not set 768# CONFIG_NET_TULIP is not set
768# CONFIG_HP100 is not set 769# CONFIG_HP100 is not set
769# CONFIG_NET_PCI is not set 770# CONFIG_NET_PCI is not set
770 771CONFIG_NETDEV_1000=y
771#
772# Ethernet (1000 Mbit)
773#
774# CONFIG_ACENIC is not set 772# CONFIG_ACENIC is not set
775# CONFIG_DL2K is not set 773# CONFIG_DL2K is not set
776CONFIG_E1000=m 774CONFIG_E1000=m
@@ -784,15 +782,13 @@ CONFIG_E1000_NAPI=y
784CONFIG_SKGE=m 782CONFIG_SKGE=m
785CONFIG_SKY2=m 783CONFIG_SKY2=m
786# CONFIG_SK98LIN is not set 784# CONFIG_SK98LIN is not set
785# CONFIG_VIA_VELOCITY is not set
787CONFIG_TIGON3=y 786CONFIG_TIGON3=y
788# CONFIG_BNX2 is not set 787# CONFIG_BNX2 is not set
789CONFIG_SPIDER_NET=y 788CONFIG_SPIDER_NET=y
790# CONFIG_QLA3XXX is not set 789# CONFIG_QLA3XXX is not set
791# CONFIG_ATL1 is not set 790# CONFIG_ATL1 is not set
792 791CONFIG_NETDEV_10000=y
793#
794# Ethernet (10000 Mbit)
795#
796# CONFIG_CHELSIO_T1 is not set 792# CONFIG_CHELSIO_T1 is not set
797# CONFIG_CHELSIO_T3 is not set 793# CONFIG_CHELSIO_T3 is not set
798# CONFIG_IXGB is not set 794# CONFIG_IXGB is not set
@@ -800,20 +796,24 @@ CONFIG_SPIDER_NET=y
800# CONFIG_MYRI10GE is not set 796# CONFIG_MYRI10GE is not set
801# CONFIG_NETXEN_NIC is not set 797# CONFIG_NETXEN_NIC is not set
802# CONFIG_PASEMI_MAC is not set 798# CONFIG_PASEMI_MAC is not set
803 799# CONFIG_MLX4_CORE is not set
804#
805# Token Ring devices
806#
807# CONFIG_TR is not set 800# CONFIG_TR is not set
808 801
809# 802#
810# Wireless LAN (non-hamradio) 803# Wireless LAN
811# 804#
812# CONFIG_NET_RADIO is not set 805# CONFIG_WLAN_PRE80211 is not set
806# CONFIG_WLAN_80211 is not set
813 807
814# 808#
815# Wan interfaces 809# USB Network Adapters
816# 810#
811# CONFIG_USB_CATC is not set
812# CONFIG_USB_KAWETH is not set
813# CONFIG_USB_PEGASUS is not set
814# CONFIG_USB_RTL8150 is not set
815# CONFIG_USB_USBNET_MII is not set
816# CONFIG_USB_USBNET is not set
817# CONFIG_WAN is not set 817# CONFIG_WAN is not set
818# CONFIG_FDDI is not set 818# CONFIG_FDDI is not set
819# CONFIG_HIPPI is not set 819# CONFIG_HIPPI is not set
@@ -840,6 +840,7 @@ CONFIG_SPIDER_NET=y
840# 840#
841CONFIG_INPUT=y 841CONFIG_INPUT=y
842# CONFIG_INPUT_FF_MEMLESS is not set 842# CONFIG_INPUT_FF_MEMLESS is not set
843# CONFIG_INPUT_POLLDEV is not set
843 844
844# 845#
845# Userland interfaces 846# Userland interfaces
@@ -859,6 +860,7 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
859# CONFIG_INPUT_KEYBOARD is not set 860# CONFIG_INPUT_KEYBOARD is not set
860# CONFIG_INPUT_MOUSE is not set 861# CONFIG_INPUT_MOUSE is not set
861# CONFIG_INPUT_JOYSTICK is not set 862# CONFIG_INPUT_JOYSTICK is not set
863# CONFIG_INPUT_TABLET is not set
862# CONFIG_INPUT_TOUCHSCREEN is not set 864# CONFIG_INPUT_TOUCHSCREEN is not set
863# CONFIG_INPUT_MISC is not set 865# CONFIG_INPUT_MISC is not set
864 866
@@ -933,10 +935,6 @@ CONFIG_IPMI_DEVICE_INTERFACE=m
933CONFIG_IPMI_SI=m 935CONFIG_IPMI_SI=m
934CONFIG_IPMI_WATCHDOG=m 936CONFIG_IPMI_WATCHDOG=m
935CONFIG_IPMI_POWEROFF=m 937CONFIG_IPMI_POWEROFF=m
936
937#
938# Watchdog Cards
939#
940CONFIG_WATCHDOG=y 938CONFIG_WATCHDOG=y
941# CONFIG_WATCHDOG_NOWAYOUT is not set 939# CONFIG_WATCHDOG_NOWAYOUT is not set
942 940
@@ -959,7 +957,6 @@ CONFIG_WATCHDOG=y
959# CONFIG_HW_RANDOM is not set 957# CONFIG_HW_RANDOM is not set
960CONFIG_GEN_RTC=y 958CONFIG_GEN_RTC=y
961# CONFIG_GEN_RTC_X is not set 959# CONFIG_GEN_RTC_X is not set
962# CONFIG_DTLK is not set
963# CONFIG_R3964 is not set 960# CONFIG_R3964 is not set
964# CONFIG_APPLICOM is not set 961# CONFIG_APPLICOM is not set
965# CONFIG_AGP is not set 962# CONFIG_AGP is not set
@@ -971,11 +968,9 @@ CONFIG_GEN_RTC=y
971# TPM devices 968# TPM devices
972# 969#
973# CONFIG_TCG_TPM is not set 970# CONFIG_TCG_TPM is not set
974 971CONFIG_DEVPORT=y
975#
976# I2C support
977#
978CONFIG_I2C=y 972CONFIG_I2C=y
973CONFIG_I2C_BOARDINFO=y
979# CONFIG_I2C_CHARDEV is not set 974# CONFIG_I2C_CHARDEV is not set
980 975
981# 976#
@@ -999,17 +994,17 @@ CONFIG_I2C_ALGOBIT=y
999# CONFIG_I2C_NFORCE2 is not set 994# CONFIG_I2C_NFORCE2 is not set
1000# CONFIG_I2C_OCORES is not set 995# CONFIG_I2C_OCORES is not set
1001# CONFIG_I2C_PARPORT_LIGHT is not set 996# CONFIG_I2C_PARPORT_LIGHT is not set
1002# CONFIG_I2C_PASEMI is not set
1003# CONFIG_I2C_PROSAVAGE is not set 997# CONFIG_I2C_PROSAVAGE is not set
1004# CONFIG_I2C_SAVAGE4 is not set 998# CONFIG_I2C_SAVAGE4 is not set
999# CONFIG_I2C_SIMTEC is not set
1005# CONFIG_I2C_SIS5595 is not set 1000# CONFIG_I2C_SIS5595 is not set
1006# CONFIG_I2C_SIS630 is not set 1001# CONFIG_I2C_SIS630 is not set
1007# CONFIG_I2C_SIS96X is not set 1002# CONFIG_I2C_SIS96X is not set
1008# CONFIG_I2C_STUB is not set 1003# CONFIG_I2C_STUB is not set
1004# CONFIG_I2C_TINY_USB is not set
1009# CONFIG_I2C_VIA is not set 1005# CONFIG_I2C_VIA is not set
1010# CONFIG_I2C_VIAPRO is not set 1006# CONFIG_I2C_VIAPRO is not set
1011# CONFIG_I2C_VOODOO3 is not set 1007# CONFIG_I2C_VOODOO3 is not set
1012# CONFIG_I2C_PCA_ISA is not set
1013 1008
1014# 1009#
1015# Miscellaneous I2C Chip support 1010# Miscellaneous I2C Chip support
@@ -1036,12 +1031,7 @@ CONFIG_I2C_ALGOBIT=y
1036# Dallas's 1-wire bus 1031# Dallas's 1-wire bus
1037# 1032#
1038# CONFIG_W1 is not set 1033# CONFIG_W1 is not set
1039
1040#
1041# Hardware Monitoring support
1042#
1043# CONFIG_HWMON is not set 1034# CONFIG_HWMON is not set
1044# CONFIG_HWMON_VID is not set
1045 1035
1046# 1036#
1047# Multifunction device drivers 1037# Multifunction device drivers
@@ -1052,17 +1042,19 @@ CONFIG_I2C_ALGOBIT=y
1052# Multimedia devices 1042# Multimedia devices
1053# 1043#
1054# CONFIG_VIDEO_DEV is not set 1044# CONFIG_VIDEO_DEV is not set
1045# CONFIG_DVB_CORE is not set
1046# CONFIG_DAB is not set
1055 1047
1056# 1048#
1057# Digital Video Broadcasting Devices 1049# Graphics support
1058# 1050#
1059# CONFIG_DVB is not set 1051# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
1060# CONFIG_USB_DABUSB is not set
1061 1052
1062# 1053#
1063# Graphics support 1054# Display device support
1064# 1055#
1065# CONFIG_BACKLIGHT_LCD_SUPPORT is not set 1056# CONFIG_DISPLAY_SUPPORT is not set
1057# CONFIG_VGASTATE is not set
1066# CONFIG_FB is not set 1058# CONFIG_FB is not set
1067# CONFIG_FB_IBM_GXT4500 is not set 1059# CONFIG_FB_IBM_GXT4500 is not set
1068 1060
@@ -1084,6 +1076,17 @@ CONFIG_HID=m
1084# CONFIG_HID_DEBUG is not set 1076# CONFIG_HID_DEBUG is not set
1085 1077
1086# 1078#
1079# USB Input Devices
1080#
1081# CONFIG_USB_HID is not set
1082
1083#
1084# USB HID Boot Protocol drivers
1085#
1086# CONFIG_USB_KBD is not set
1087# CONFIG_USB_MOUSE is not set
1088
1089#
1087# USB support 1090# USB support
1088# 1091#
1089CONFIG_USB_ARCH_HAS_HCD=y 1092CONFIG_USB_ARCH_HAS_HCD=y
@@ -1096,6 +1099,7 @@ CONFIG_USB=m
1096# Miscellaneous USB options 1099# Miscellaneous USB options
1097# 1100#
1098CONFIG_USB_DEVICEFS=y 1101CONFIG_USB_DEVICEFS=y
1102CONFIG_USB_DEVICE_CLASS=y
1099# CONFIG_USB_DYNAMIC_MINORS is not set 1103# CONFIG_USB_DYNAMIC_MINORS is not set
1100# CONFIG_USB_OTG is not set 1104# CONFIG_USB_OTG is not set
1101 1105
@@ -1147,44 +1151,10 @@ CONFIG_USB_STORAGE=m
1147# CONFIG_USB_LIBUSUAL is not set 1151# CONFIG_USB_LIBUSUAL is not set
1148 1152
1149# 1153#
1150# USB Input Devices
1151#
1152# CONFIG_USB_HID is not set
1153
1154#
1155# USB HID Boot Protocol drivers
1156#
1157# CONFIG_USB_KBD is not set
1158# CONFIG_USB_MOUSE is not set
1159# CONFIG_USB_AIPTEK is not set
1160# CONFIG_USB_WACOM is not set
1161# CONFIG_USB_ACECAD is not set
1162# CONFIG_USB_KBTAB is not set
1163# CONFIG_USB_POWERMATE is not set
1164# CONFIG_USB_TOUCHSCREEN is not set
1165# CONFIG_USB_YEALINK is not set
1166# CONFIG_USB_XPAD is not set
1167# CONFIG_USB_ATI_REMOTE is not set
1168# CONFIG_USB_ATI_REMOTE2 is not set
1169# CONFIG_USB_KEYSPAN_REMOTE is not set
1170# CONFIG_USB_APPLETOUCH is not set
1171# CONFIG_USB_GTCO is not set
1172
1173#
1174# USB Imaging devices 1154# USB Imaging devices
1175# 1155#
1176# CONFIG_USB_MDC800 is not set 1156# CONFIG_USB_MDC800 is not set
1177# CONFIG_USB_MICROTEK is not set 1157# CONFIG_USB_MICROTEK is not set
1178
1179#
1180# USB Network Adapters
1181#
1182# CONFIG_USB_CATC is not set
1183# CONFIG_USB_KAWETH is not set
1184# CONFIG_USB_PEGASUS is not set
1185# CONFIG_USB_RTL8150 is not set
1186# CONFIG_USB_USBNET_MII is not set
1187# CONFIG_USB_USBNET is not set
1188CONFIG_USB_MON=y 1158CONFIG_USB_MON=y
1189 1159
1190# 1160#
@@ -1228,10 +1198,6 @@ CONFIG_USB_MON=y
1228# USB Gadget Support 1198# USB Gadget Support
1229# 1199#
1230# CONFIG_USB_GADGET is not set 1200# CONFIG_USB_GADGET is not set
1231
1232#
1233# MMC/SD Card support
1234#
1235# CONFIG_MMC is not set 1201# CONFIG_MMC is not set
1236 1202
1237# 1203#
@@ -1253,10 +1219,12 @@ CONFIG_USB_MON=y
1253CONFIG_INFINIBAND=m 1219CONFIG_INFINIBAND=m
1254CONFIG_INFINIBAND_USER_MAD=m 1220CONFIG_INFINIBAND_USER_MAD=m
1255CONFIG_INFINIBAND_USER_ACCESS=m 1221CONFIG_INFINIBAND_USER_ACCESS=m
1222CONFIG_INFINIBAND_USER_MEM=y
1256CONFIG_INFINIBAND_ADDR_TRANS=y 1223CONFIG_INFINIBAND_ADDR_TRANS=y
1257CONFIG_INFINIBAND_MTHCA=m 1224CONFIG_INFINIBAND_MTHCA=m
1258CONFIG_INFINIBAND_MTHCA_DEBUG=y 1225CONFIG_INFINIBAND_MTHCA_DEBUG=y
1259# CONFIG_INFINIBAND_AMSO1100 is not set 1226# CONFIG_INFINIBAND_AMSO1100 is not set
1227# CONFIG_MLX4_INFINIBAND is not set
1260CONFIG_INFINIBAND_IPOIB=m 1228CONFIG_INFINIBAND_IPOIB=m
1261# CONFIG_INFINIBAND_IPOIB_CM is not set 1229# CONFIG_INFINIBAND_IPOIB_CM is not set
1262CONFIG_INFINIBAND_IPOIB_DEBUG=y 1230CONFIG_INFINIBAND_IPOIB_DEBUG=y
@@ -1287,14 +1255,6 @@ CONFIG_INFINIBAND_IPOIB_DEBUG_DATA=y
1287# 1255#
1288 1256
1289# 1257#
1290# Auxiliary Display support
1291#
1292
1293#
1294# Virtualization
1295#
1296
1297#
1298# File systems 1258# File systems
1299# 1259#
1300CONFIG_EXT2_FS=y 1260CONFIG_EXT2_FS=y
@@ -1389,6 +1349,7 @@ CONFIG_LOCKD_V4=y
1389CONFIG_NFS_ACL_SUPPORT=y 1349CONFIG_NFS_ACL_SUPPORT=y
1390CONFIG_NFS_COMMON=y 1350CONFIG_NFS_COMMON=y
1391CONFIG_SUNRPC=y 1351CONFIG_SUNRPC=y
1352# CONFIG_SUNRPC_BIND34 is not set
1392# CONFIG_RPCSEC_GSS_KRB5 is not set 1353# CONFIG_RPCSEC_GSS_KRB5 is not set
1393# CONFIG_RPCSEC_GSS_SPKM3 is not set 1354# CONFIG_RPCSEC_GSS_SPKM3 is not set
1394# CONFIG_SMB_FS is not set 1355# CONFIG_SMB_FS is not set
@@ -1418,6 +1379,7 @@ CONFIG_MSDOS_PARTITION=y
1418# CONFIG_SUN_PARTITION is not set 1379# CONFIG_SUN_PARTITION is not set
1419# CONFIG_KARMA_PARTITION is not set 1380# CONFIG_KARMA_PARTITION is not set
1420CONFIG_EFI_PARTITION=y 1381CONFIG_EFI_PARTITION=y
1382# CONFIG_SYSV68_PARTITION is not set
1421 1383
1422# 1384#
1423# Native Language Support 1385# Native Language Support
@@ -1468,7 +1430,6 @@ CONFIG_NLS_ISO8859_15=m
1468# 1430#
1469# CONFIG_DLM is not set 1431# CONFIG_DLM is not set
1470# CONFIG_UCC_SLOW is not set 1432# CONFIG_UCC_SLOW is not set
1471# CONFIG_UCC_FAST is not set
1472 1433
1473# 1434#
1474# Library routines 1435# Library routines
@@ -1476,6 +1437,7 @@ CONFIG_NLS_ISO8859_15=m
1476CONFIG_BITREVERSE=y 1437CONFIG_BITREVERSE=y
1477# CONFIG_CRC_CCITT is not set 1438# CONFIG_CRC_CCITT is not set
1478# CONFIG_CRC16 is not set 1439# CONFIG_CRC16 is not set
1440# CONFIG_CRC_ITU_T is not set
1479CONFIG_CRC32=y 1441CONFIG_CRC32=y
1480# CONFIG_LIBCRC32C is not set 1442# CONFIG_LIBCRC32C is not set
1481CONFIG_ZLIB_INFLATE=m 1443CONFIG_ZLIB_INFLATE=m
@@ -1487,6 +1449,7 @@ CONFIG_TEXTSEARCH_FSM=m
1487CONFIG_PLIST=y 1449CONFIG_PLIST=y
1488CONFIG_HAS_IOMEM=y 1450CONFIG_HAS_IOMEM=y
1489CONFIG_HAS_IOPORT=y 1451CONFIG_HAS_IOPORT=y
1452CONFIG_HAS_DMA=y
1490 1453
1491# 1454#
1492# Instrumentation Support 1455# Instrumentation Support
@@ -1506,7 +1469,6 @@ CONFIG_DEBUG_FS=y
1506# CONFIG_HEADERS_CHECK is not set 1469# CONFIG_HEADERS_CHECK is not set
1507CONFIG_DEBUG_KERNEL=y 1470CONFIG_DEBUG_KERNEL=y
1508# CONFIG_DEBUG_SHIRQ is not set 1471# CONFIG_DEBUG_SHIRQ is not set
1509CONFIG_LOG_BUF_SHIFT=15
1510# CONFIG_DETECT_SOFTLOCKUP is not set 1472# CONFIG_DETECT_SOFTLOCKUP is not set
1511# CONFIG_SCHEDSTATS is not set 1473# CONFIG_SCHEDSTATS is not set
1512# CONFIG_TIMER_STATS is not set 1474# CONFIG_TIMER_STATS is not set
@@ -1565,6 +1527,7 @@ CONFIG_CRYPTO_ECB=m
1565CONFIG_CRYPTO_CBC=m 1527CONFIG_CRYPTO_CBC=m
1566CONFIG_CRYPTO_PCBC=m 1528CONFIG_CRYPTO_PCBC=m
1567# CONFIG_CRYPTO_LRW is not set 1529# CONFIG_CRYPTO_LRW is not set
1530# CONFIG_CRYPTO_CRYPTD is not set
1568CONFIG_CRYPTO_DES=m 1531CONFIG_CRYPTO_DES=m
1569# CONFIG_CRYPTO_FCRYPT is not set 1532# CONFIG_CRYPTO_FCRYPT is not set
1570# CONFIG_CRYPTO_BLOWFISH is not set 1533# CONFIG_CRYPTO_BLOWFISH is not set
diff --git a/arch/powerpc/configs/celleb_defconfig b/arch/powerpc/configs/celleb_defconfig
index 91b657b339b4..0dc9874b46e3 100644
--- a/arch/powerpc/configs/celleb_defconfig
+++ b/arch/powerpc/configs/celleb_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.21 3# Linux kernel version: 2.6.22-rc6
4# Tue May 8 12:32:16 2007 4# Tue Jun 26 12:33:17 2007
5# 5#
6CONFIG_PPC64=y 6CONFIG_PPC64=y
7CONFIG_64BIT=y 7CONFIG_64BIT=y
@@ -40,6 +40,7 @@ CONFIG_PPC_FPU=y
40CONFIG_PPC_OF_PLATFORM_PCI=y 40CONFIG_PPC_OF_PLATFORM_PCI=y
41CONFIG_ALTIVEC=y 41CONFIG_ALTIVEC=y
42CONFIG_PPC_STD_MMU=y 42CONFIG_PPC_STD_MMU=y
43CONFIG_PPC_MM_SLICES=y
43CONFIG_VIRT_CPU_ACCOUNTING=y 44CONFIG_VIRT_CPU_ACCOUNTING=y
44CONFIG_SMP=y 45CONFIG_SMP=y
45CONFIG_NR_CPUS=4 46CONFIG_NR_CPUS=4
@@ -68,6 +69,7 @@ CONFIG_SYSVIPC_SYSCTL=y
68# CONFIG_AUDIT is not set 69# CONFIG_AUDIT is not set
69CONFIG_IKCONFIG=y 70CONFIG_IKCONFIG=y
70CONFIG_IKCONFIG_PROC=y 71CONFIG_IKCONFIG_PROC=y
72CONFIG_LOG_BUF_SHIFT=15
71# CONFIG_CPUSETS is not set 73# CONFIG_CPUSETS is not set
72CONFIG_SYSFS_DEPRECATED=y 74CONFIG_SYSFS_DEPRECATED=y
73# CONFIG_RELAY is not set 75# CONFIG_RELAY is not set
@@ -86,14 +88,19 @@ CONFIG_BUG=y
86CONFIG_ELF_CORE=y 88CONFIG_ELF_CORE=y
87CONFIG_BASE_FULL=y 89CONFIG_BASE_FULL=y
88CONFIG_FUTEX=y 90CONFIG_FUTEX=y
91CONFIG_ANON_INODES=y
89CONFIG_EPOLL=y 92CONFIG_EPOLL=y
93CONFIG_SIGNALFD=y
94CONFIG_TIMERFD=y
95CONFIG_EVENTFD=y
90CONFIG_SHMEM=y 96CONFIG_SHMEM=y
91CONFIG_SLAB=y
92CONFIG_VM_EVENT_COUNTERS=y 97CONFIG_VM_EVENT_COUNTERS=y
98CONFIG_SLAB=y
99# CONFIG_SLUB is not set
100# CONFIG_SLOB is not set
93CONFIG_RT_MUTEXES=y 101CONFIG_RT_MUTEXES=y
94# CONFIG_TINY_SHMEM is not set 102# CONFIG_TINY_SHMEM is not set
95CONFIG_BASE_SMALL=0 103CONFIG_BASE_SMALL=0
96# CONFIG_SLOB is not set
97 104
98# 105#
99# Loadable module support 106# Loadable module support
@@ -148,6 +155,7 @@ CONFIG_PPC_CELL=y
148# Cell Broadband Engine options 155# Cell Broadband Engine options
149# 156#
150CONFIG_SPU_FS=y 157CONFIG_SPU_FS=y
158CONFIG_SPU_FS_64K_LS=y
151CONFIG_SPU_BASE=y 159CONFIG_SPU_BASE=y
152# CONFIG_PQ2ADS is not set 160# CONFIG_PQ2ADS is not set
153CONFIG_PPC_UDBG_BEAT=y 161CONFIG_PPC_UDBG_BEAT=y
@@ -206,6 +214,7 @@ CONFIG_RESOURCES_64BIT=y
206CONFIG_ZONE_DMA_FLAG=1 214CONFIG_ZONE_DMA_FLAG=1
207CONFIG_ARCH_MEMORY_PROBE=y 215CONFIG_ARCH_MEMORY_PROBE=y
208CONFIG_NODES_SPAN_OTHER_NODES=y 216CONFIG_NODES_SPAN_OTHER_NODES=y
217CONFIG_PPC_HAS_HASH_64K=y
209# CONFIG_PPC_64K_PAGES is not set 218# CONFIG_PPC_64K_PAGES is not set
210# CONFIG_SCHED_SMT is not set 219# CONFIG_SCHED_SMT is not set
211CONFIG_PROC_DEVICETREE=y 220CONFIG_PROC_DEVICETREE=y
@@ -224,16 +233,14 @@ CONFIG_GENERIC_ISA_DMA=y
224CONFIG_PCI=y 233CONFIG_PCI=y
225CONFIG_PCI_DOMAINS=y 234CONFIG_PCI_DOMAINS=y
226# CONFIG_PCIEPORTBUS is not set 235# CONFIG_PCIEPORTBUS is not set
236CONFIG_ARCH_SUPPORTS_MSI=y
237# CONFIG_PCI_MSI is not set
227# CONFIG_PCI_DEBUG is not set 238# CONFIG_PCI_DEBUG is not set
228 239
229# 240#
230# PCCARD (PCMCIA/CardBus) support 241# PCCARD (PCMCIA/CardBus) support
231# 242#
232# CONFIG_PCCARD is not set 243# CONFIG_PCCARD is not set
233
234#
235# PCI Hotplug Support
236#
237# CONFIG_HOTPLUG_PCI is not set 244# CONFIG_HOTPLUG_PCI is not set
238CONFIG_KERNEL_START=0xc000000000000000 245CONFIG_KERNEL_START=0xc000000000000000
239 246
@@ -277,10 +284,6 @@ CONFIG_INET_TCP_DIAG=y
277CONFIG_TCP_CONG_CUBIC=y 284CONFIG_TCP_CONG_CUBIC=y
278CONFIG_DEFAULT_TCP_CONG="cubic" 285CONFIG_DEFAULT_TCP_CONG="cubic"
279# CONFIG_TCP_MD5SIG is not set 286# CONFIG_TCP_MD5SIG is not set
280
281#
282# IP: Virtual Server Configuration
283#
284# CONFIG_IP_VS is not set 287# CONFIG_IP_VS is not set
285CONFIG_IPV6=y 288CONFIG_IPV6=y
286# CONFIG_IPV6_PRIVACY is not set 289# CONFIG_IPV6_PRIVACY is not set
@@ -323,20 +326,8 @@ CONFIG_IP_NF_QUEUE=m
323# 326#
324# CONFIG_IP6_NF_QUEUE is not set 327# CONFIG_IP6_NF_QUEUE is not set
325# CONFIG_IP6_NF_IPTABLES is not set 328# CONFIG_IP6_NF_IPTABLES is not set
326
327#
328# DCCP Configuration (EXPERIMENTAL)
329#
330# CONFIG_IP_DCCP is not set 329# CONFIG_IP_DCCP is not set
331
332#
333# SCTP Configuration (EXPERIMENTAL)
334#
335# CONFIG_IP_SCTP is not set 330# CONFIG_IP_SCTP is not set
336
337#
338# TIPC Configuration (EXPERIMENTAL)
339#
340# CONFIG_TIPC is not set 331# CONFIG_TIPC is not set
341# CONFIG_ATM is not set 332# CONFIG_ATM is not set
342# CONFIG_BRIDGE is not set 333# CONFIG_BRIDGE is not set
@@ -369,7 +360,9 @@ CONFIG_IP_NF_QUEUE=m
369# 360#
370# CONFIG_CFG80211 is not set 361# CONFIG_CFG80211 is not set
371# CONFIG_WIRELESS_EXT is not set 362# CONFIG_WIRELESS_EXT is not set
363# CONFIG_MAC80211 is not set
372# CONFIG_IEEE80211 is not set 364# CONFIG_IEEE80211 is not set
365# CONFIG_RFKILL is not set
373 366
374# 367#
375# Device Drivers 368# Device Drivers
@@ -425,12 +418,10 @@ CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
425# 418#
426# Misc devices 419# Misc devices
427# 420#
421# CONFIG_PHANTOM is not set
428# CONFIG_SGI_IOC4 is not set 422# CONFIG_SGI_IOC4 is not set
429# CONFIG_TIFM_CORE is not set 423# CONFIG_TIFM_CORE is not set
430 424# CONFIG_BLINK is not set
431#
432# ATA/ATAPI/MFM/RLL support
433#
434CONFIG_IDE=y 425CONFIG_IDE=y
435CONFIG_BLK_DEV_IDE=y 426CONFIG_BLK_DEV_IDE=y
436 427
@@ -445,6 +436,7 @@ CONFIG_BLK_DEV_IDECD=m
445# CONFIG_BLK_DEV_IDEFLOPPY is not set 436# CONFIG_BLK_DEV_IDEFLOPPY is not set
446# CONFIG_BLK_DEV_IDESCSI is not set 437# CONFIG_BLK_DEV_IDESCSI is not set
447# CONFIG_IDE_TASK_IOCTL is not set 438# CONFIG_IDE_TASK_IOCTL is not set
439CONFIG_IDE_PROC_FS=y
448 440
449# 441#
450# IDE chipset support/bugfixes 442# IDE chipset support/bugfixes
@@ -452,6 +444,7 @@ CONFIG_BLK_DEV_IDECD=m
452CONFIG_IDE_GENERIC=y 444CONFIG_IDE_GENERIC=y
453CONFIG_BLK_DEV_IDEPCI=y 445CONFIG_BLK_DEV_IDEPCI=y
454CONFIG_IDEPCI_SHARE_IRQ=y 446CONFIG_IDEPCI_SHARE_IRQ=y
447CONFIG_IDEPCI_PCIBUS_ORDER=y
455# CONFIG_BLK_DEV_OFFBOARD is not set 448# CONFIG_BLK_DEV_OFFBOARD is not set
456CONFIG_BLK_DEV_GENERIC=y 449CONFIG_BLK_DEV_GENERIC=y
457# CONFIG_BLK_DEV_OPTI621 is not set 450# CONFIG_BLK_DEV_OPTI621 is not set
@@ -516,6 +509,7 @@ CONFIG_SCSI_MULTI_LUN=y
516# CONFIG_SCSI_CONSTANTS is not set 509# CONFIG_SCSI_CONSTANTS is not set
517# CONFIG_SCSI_LOGGING is not set 510# CONFIG_SCSI_LOGGING is not set
518# CONFIG_SCSI_SCAN_ASYNC is not set 511# CONFIG_SCSI_SCAN_ASYNC is not set
512CONFIG_SCSI_WAIT_SCAN=m
519 513
520# 514#
521# SCSI Transports 515# SCSI Transports
@@ -560,12 +554,7 @@ CONFIG_SCSI_MULTI_LUN=y
560# CONFIG_SCSI_DC395x is not set 554# CONFIG_SCSI_DC395x is not set
561# CONFIG_SCSI_DC390T is not set 555# CONFIG_SCSI_DC390T is not set
562# CONFIG_SCSI_DEBUG is not set 556# CONFIG_SCSI_DEBUG is not set
563# CONFIG_SCSI_ESP_CORE is not set
564# CONFIG_SCSI_SRP is not set 557# CONFIG_SCSI_SRP is not set
565
566#
567# Serial ATA (prod) and Parallel ATA (experimental) drivers
568#
569# CONFIG_ATA is not set 558# CONFIG_ATA is not set
570 559
571# 560#
@@ -588,6 +577,7 @@ CONFIG_DM_MIRROR=m
588CONFIG_DM_ZERO=m 577CONFIG_DM_ZERO=m
589CONFIG_DM_MULTIPATH=m 578CONFIG_DM_MULTIPATH=m
590# CONFIG_DM_MULTIPATH_EMC is not set 579# CONFIG_DM_MULTIPATH_EMC is not set
580# CONFIG_DM_DELAY is not set
591 581
592# 582#
593# Fusion MPT device support 583# Fusion MPT device support
@@ -600,6 +590,7 @@ CONFIG_DM_MULTIPATH=m
600# 590#
601# IEEE 1394 (FireWire) support 591# IEEE 1394 (FireWire) support
602# 592#
593# CONFIG_FIREWIRE is not set
603# CONFIG_IEEE1394 is not set 594# CONFIG_IEEE1394 is not set
604 595
605# 596#
@@ -616,15 +607,7 @@ CONFIG_NETDEVICES=y
616# CONFIG_BONDING is not set 607# CONFIG_BONDING is not set
617# CONFIG_EQUALIZER is not set 608# CONFIG_EQUALIZER is not set
618# CONFIG_TUN is not set 609# CONFIG_TUN is not set
619
620#
621# ARCnet devices
622#
623# CONFIG_ARCNET is not set 610# CONFIG_ARCNET is not set
624
625#
626# PHY device support
627#
628# CONFIG_PHYLIB is not set 611# CONFIG_PHYLIB is not set
629 612
630# 613#
@@ -643,10 +626,7 @@ CONFIG_MII=y
643# CONFIG_NET_TULIP is not set 626# CONFIG_NET_TULIP is not set
644# CONFIG_HP100 is not set 627# CONFIG_HP100 is not set
645# CONFIG_NET_PCI is not set 628# CONFIG_NET_PCI is not set
646 629CONFIG_NETDEV_1000=y
647#
648# Ethernet (1000 Mbit)
649#
650# CONFIG_ACENIC is not set 630# CONFIG_ACENIC is not set
651# CONFIG_DL2K is not set 631# CONFIG_DL2K is not set
652# CONFIG_E1000 is not set 632# CONFIG_E1000 is not set
@@ -658,15 +638,13 @@ CONFIG_MII=y
658# CONFIG_SKGE is not set 638# CONFIG_SKGE is not set
659# CONFIG_SKY2 is not set 639# CONFIG_SKY2 is not set
660# CONFIG_SK98LIN is not set 640# CONFIG_SK98LIN is not set
641# CONFIG_VIA_VELOCITY is not set
661# CONFIG_TIGON3 is not set 642# CONFIG_TIGON3 is not set
662# CONFIG_BNX2 is not set 643# CONFIG_BNX2 is not set
663CONFIG_SPIDER_NET=y 644CONFIG_SPIDER_NET=y
664# CONFIG_QLA3XXX is not set 645# CONFIG_QLA3XXX is not set
665# CONFIG_ATL1 is not set 646# CONFIG_ATL1 is not set
666 647CONFIG_NETDEV_10000=y
667#
668# Ethernet (10000 Mbit)
669#
670# CONFIG_CHELSIO_T1 is not set 648# CONFIG_CHELSIO_T1 is not set
671# CONFIG_CHELSIO_T3 is not set 649# CONFIG_CHELSIO_T3 is not set
672# CONFIG_IXGB is not set 650# CONFIG_IXGB is not set
@@ -674,10 +652,7 @@ CONFIG_SPIDER_NET=y
674# CONFIG_MYRI10GE is not set 652# CONFIG_MYRI10GE is not set
675# CONFIG_NETXEN_NIC is not set 653# CONFIG_NETXEN_NIC is not set
676# CONFIG_PASEMI_MAC is not set 654# CONFIG_PASEMI_MAC is not set
677 655# CONFIG_MLX4_CORE is not set
678#
679# Token Ring devices
680#
681# CONFIG_TR is not set 656# CONFIG_TR is not set
682 657
683# 658#
@@ -687,8 +662,14 @@ CONFIG_SPIDER_NET=y
687# CONFIG_WLAN_80211 is not set 662# CONFIG_WLAN_80211 is not set
688 663
689# 664#
690# Wan interfaces 665# USB Network Adapters
691# 666#
667# CONFIG_USB_CATC is not set
668# CONFIG_USB_KAWETH is not set
669# CONFIG_USB_PEGASUS is not set
670# CONFIG_USB_RTL8150 is not set
671# CONFIG_USB_USBNET_MII is not set
672# CONFIG_USB_USBNET is not set
692# CONFIG_WAN is not set 673# CONFIG_WAN is not set
693# CONFIG_FDDI is not set 674# CONFIG_FDDI is not set
694# CONFIG_HIPPI is not set 675# CONFIG_HIPPI is not set
@@ -715,6 +696,7 @@ CONFIG_SPIDER_NET=y
715# 696#
716CONFIG_INPUT=y 697CONFIG_INPUT=y
717# CONFIG_INPUT_FF_MEMLESS is not set 698# CONFIG_INPUT_FF_MEMLESS is not set
699# CONFIG_INPUT_POLLDEV is not set
718 700
719# 701#
720# Userland interfaces 702# Userland interfaces
@@ -734,6 +716,7 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
734# CONFIG_INPUT_KEYBOARD is not set 716# CONFIG_INPUT_KEYBOARD is not set
735# CONFIG_INPUT_MOUSE is not set 717# CONFIG_INPUT_MOUSE is not set
736# CONFIG_INPUT_JOYSTICK is not set 718# CONFIG_INPUT_JOYSTICK is not set
719# CONFIG_INPUT_TABLET is not set
737# CONFIG_INPUT_TOUCHSCREEN is not set 720# CONFIG_INPUT_TOUCHSCREEN is not set
738# CONFIG_INPUT_MISC is not set 721# CONFIG_INPUT_MISC is not set
739 722
@@ -797,10 +780,6 @@ CONFIG_HVC_BEAT=y
797# IPMI 780# IPMI
798# 781#
799# CONFIG_IPMI_HANDLER is not set 782# CONFIG_IPMI_HANDLER is not set
800
801#
802# Watchdog Cards
803#
804CONFIG_WATCHDOG=y 783CONFIG_WATCHDOG=y
805# CONFIG_WATCHDOG_NOWAYOUT is not set 784# CONFIG_WATCHDOG_NOWAYOUT is not set
806 785
@@ -822,7 +801,6 @@ CONFIG_WATCHDOG=y
822# CONFIG_HW_RANDOM is not set 801# CONFIG_HW_RANDOM is not set
823CONFIG_GEN_RTC=y 802CONFIG_GEN_RTC=y
824# CONFIG_GEN_RTC_X is not set 803# CONFIG_GEN_RTC_X is not set
825# CONFIG_DTLK is not set
826# CONFIG_R3964 is not set 804# CONFIG_R3964 is not set
827# CONFIG_APPLICOM is not set 805# CONFIG_APPLICOM is not set
828# CONFIG_AGP is not set 806# CONFIG_AGP is not set
@@ -834,11 +812,9 @@ CONFIG_GEN_RTC=y
834# TPM devices 812# TPM devices
835# 813#
836# CONFIG_TCG_TPM is not set 814# CONFIG_TCG_TPM is not set
837 815CONFIG_DEVPORT=y
838#
839# I2C support
840#
841CONFIG_I2C=y 816CONFIG_I2C=y
817CONFIG_I2C_BOARDINFO=y
842# CONFIG_I2C_CHARDEV is not set 818# CONFIG_I2C_CHARDEV is not set
843 819
844# 820#
@@ -864,14 +840,15 @@ CONFIG_I2C_ALGOBIT=y
864# CONFIG_I2C_PARPORT_LIGHT is not set 840# CONFIG_I2C_PARPORT_LIGHT is not set
865# CONFIG_I2C_PROSAVAGE is not set 841# CONFIG_I2C_PROSAVAGE is not set
866# CONFIG_I2C_SAVAGE4 is not set 842# CONFIG_I2C_SAVAGE4 is not set
843# CONFIG_I2C_SIMTEC is not set
867# CONFIG_I2C_SIS5595 is not set 844# CONFIG_I2C_SIS5595 is not set
868# CONFIG_I2C_SIS630 is not set 845# CONFIG_I2C_SIS630 is not set
869# CONFIG_I2C_SIS96X is not set 846# CONFIG_I2C_SIS96X is not set
870# CONFIG_I2C_STUB is not set 847# CONFIG_I2C_STUB is not set
848# CONFIG_I2C_TINY_USB is not set
871# CONFIG_I2C_VIA is not set 849# CONFIG_I2C_VIA is not set
872# CONFIG_I2C_VIAPRO is not set 850# CONFIG_I2C_VIAPRO is not set
873# CONFIG_I2C_VOODOO3 is not set 851# CONFIG_I2C_VOODOO3 is not set
874# CONFIG_I2C_PCA_ISA is not set
875 852
876# 853#
877# Miscellaneous I2C Chip support 854# Miscellaneous I2C Chip support
@@ -898,12 +875,7 @@ CONFIG_I2C_ALGOBIT=y
898# Dallas's 1-wire bus 875# Dallas's 1-wire bus
899# 876#
900# CONFIG_W1 is not set 877# CONFIG_W1 is not set
901
902#
903# Hardware Monitoring support
904#
905# CONFIG_HWMON is not set 878# CONFIG_HWMON is not set
906# CONFIG_HWMON_VID is not set
907 879
908# 880#
909# Multifunction device drivers 881# Multifunction device drivers
@@ -914,17 +886,19 @@ CONFIG_I2C_ALGOBIT=y
914# Multimedia devices 886# Multimedia devices
915# 887#
916# CONFIG_VIDEO_DEV is not set 888# CONFIG_VIDEO_DEV is not set
889# CONFIG_DVB_CORE is not set
890# CONFIG_DAB is not set
917 891
918# 892#
919# Digital Video Broadcasting Devices 893# Graphics support
920# 894#
921# CONFIG_DVB is not set 895# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
922# CONFIG_USB_DABUSB is not set
923 896
924# 897#
925# Graphics support 898# Display device support
926# 899#
927# CONFIG_BACKLIGHT_LCD_SUPPORT is not set 900# CONFIG_DISPLAY_SUPPORT is not set
901# CONFIG_VGASTATE is not set
928# CONFIG_FB is not set 902# CONFIG_FB is not set
929# CONFIG_FB_IBM_GXT4500 is not set 903# CONFIG_FB_IBM_GXT4500 is not set
930 904
@@ -1015,37 +989,10 @@ CONFIG_USB_STORAGE=m
1015# CONFIG_USB_LIBUSUAL is not set 989# CONFIG_USB_LIBUSUAL is not set
1016 990
1017# 991#
1018# USB Input Devices
1019#
1020# CONFIG_USB_AIPTEK is not set
1021# CONFIG_USB_WACOM is not set
1022# CONFIG_USB_ACECAD is not set
1023# CONFIG_USB_KBTAB is not set
1024# CONFIG_USB_POWERMATE is not set
1025# CONFIG_USB_TOUCHSCREEN is not set
1026# CONFIG_USB_YEALINK is not set
1027# CONFIG_USB_XPAD is not set
1028# CONFIG_USB_ATI_REMOTE is not set
1029# CONFIG_USB_ATI_REMOTE2 is not set
1030# CONFIG_USB_KEYSPAN_REMOTE is not set
1031# CONFIG_USB_APPLETOUCH is not set
1032# CONFIG_USB_GTCO is not set
1033
1034#
1035# USB Imaging devices 992# USB Imaging devices
1036# 993#
1037# CONFIG_USB_MDC800 is not set 994# CONFIG_USB_MDC800 is not set
1038# CONFIG_USB_MICROTEK is not set 995# CONFIG_USB_MICROTEK is not set
1039
1040#
1041# USB Network Adapters
1042#
1043# CONFIG_USB_CATC is not set
1044# CONFIG_USB_KAWETH is not set
1045# CONFIG_USB_PEGASUS is not set
1046# CONFIG_USB_RTL8150 is not set
1047# CONFIG_USB_USBNET_MII is not set
1048# CONFIG_USB_USBNET is not set
1049CONFIG_USB_MON=y 996CONFIG_USB_MON=y
1050 997
1051# 998#
@@ -1089,10 +1036,6 @@ CONFIG_USB_MON=y
1089# USB Gadget Support 1036# USB Gadget Support
1090# 1037#
1091# CONFIG_USB_GADGET is not set 1038# CONFIG_USB_GADGET is not set
1092
1093#
1094# MMC/SD Card support
1095#
1096# CONFIG_MMC is not set 1039# CONFIG_MMC is not set
1097 1040
1098# 1041#
@@ -1136,14 +1079,6 @@ CONFIG_USB_MON=y
1136# 1079#
1137 1080
1138# 1081#
1139# Auxiliary Display support
1140#
1141
1142#
1143# Virtualization
1144#
1145
1146#
1147# File systems 1082# File systems
1148# 1083#
1149CONFIG_EXT2_FS=y 1084CONFIG_EXT2_FS=y
@@ -1246,6 +1181,7 @@ CONFIG_EXPORTFS=m
1246CONFIG_NFS_ACL_SUPPORT=m 1181CONFIG_NFS_ACL_SUPPORT=m
1247CONFIG_NFS_COMMON=y 1182CONFIG_NFS_COMMON=y
1248CONFIG_SUNRPC=m 1183CONFIG_SUNRPC=m
1184# CONFIG_SUNRPC_BIND34 is not set
1249# CONFIG_RPCSEC_GSS_KRB5 is not set 1185# CONFIG_RPCSEC_GSS_KRB5 is not set
1250# CONFIG_RPCSEC_GSS_SPKM3 is not set 1186# CONFIG_RPCSEC_GSS_SPKM3 is not set
1251# CONFIG_SMB_FS is not set 1187# CONFIG_SMB_FS is not set
@@ -1275,6 +1211,7 @@ CONFIG_MSDOS_PARTITION=y
1275# CONFIG_SUN_PARTITION is not set 1211# CONFIG_SUN_PARTITION is not set
1276# CONFIG_KARMA_PARTITION is not set 1212# CONFIG_KARMA_PARTITION is not set
1277CONFIG_EFI_PARTITION=y 1213CONFIG_EFI_PARTITION=y
1214# CONFIG_SYSV68_PARTITION is not set
1278 1215
1279# 1216#
1280# Native Language Support 1217# Native Language Support
@@ -1325,7 +1262,6 @@ CONFIG_NLS_ISO8859_15=m
1325# 1262#
1326# CONFIG_DLM is not set 1263# CONFIG_DLM is not set
1327# CONFIG_UCC_SLOW is not set 1264# CONFIG_UCC_SLOW is not set
1328# CONFIG_UCC_FAST is not set
1329 1265
1330# 1266#
1331# Library routines 1267# Library routines
@@ -1333,6 +1269,7 @@ CONFIG_NLS_ISO8859_15=m
1333CONFIG_BITREVERSE=y 1269CONFIG_BITREVERSE=y
1334# CONFIG_CRC_CCITT is not set 1270# CONFIG_CRC_CCITT is not set
1335# CONFIG_CRC16 is not set 1271# CONFIG_CRC16 is not set
1272# CONFIG_CRC_ITU_T is not set
1336CONFIG_CRC32=y 1273CONFIG_CRC32=y
1337CONFIG_LIBCRC32C=m 1274CONFIG_LIBCRC32C=m
1338CONFIG_ZLIB_INFLATE=m 1275CONFIG_ZLIB_INFLATE=m
@@ -1340,6 +1277,7 @@ CONFIG_ZLIB_DEFLATE=m
1340CONFIG_PLIST=y 1277CONFIG_PLIST=y
1341CONFIG_HAS_IOMEM=y 1278CONFIG_HAS_IOMEM=y
1342CONFIG_HAS_IOPORT=y 1279CONFIG_HAS_IOPORT=y
1280CONFIG_HAS_DMA=y
1343 1281
1344# 1282#
1345# Instrumentation Support 1283# Instrumentation Support
@@ -1358,7 +1296,6 @@ CONFIG_DEBUG_FS=y
1358# CONFIG_HEADERS_CHECK is not set 1296# CONFIG_HEADERS_CHECK is not set
1359CONFIG_DEBUG_KERNEL=y 1297CONFIG_DEBUG_KERNEL=y
1360# CONFIG_DEBUG_SHIRQ is not set 1298# CONFIG_DEBUG_SHIRQ is not set
1361CONFIG_LOG_BUF_SHIFT=15
1362CONFIG_DETECT_SOFTLOCKUP=y 1299CONFIG_DETECT_SOFTLOCKUP=y
1363# CONFIG_SCHEDSTATS is not set 1300# CONFIG_SCHEDSTATS is not set
1364# CONFIG_TIMER_STATS is not set 1301# CONFIG_TIMER_STATS is not set
@@ -1395,6 +1332,7 @@ CONFIG_PPC_EARLY_DEBUG=y
1395# CONFIG_PPC_EARLY_DEBUG_ISERIES is not set 1332# CONFIG_PPC_EARLY_DEBUG_ISERIES is not set
1396# CONFIG_PPC_EARLY_DEBUG_PAS_REALMODE is not set 1333# CONFIG_PPC_EARLY_DEBUG_PAS_REALMODE is not set
1397CONFIG_PPC_EARLY_DEBUG_BEAT=y 1334CONFIG_PPC_EARLY_DEBUG_BEAT=y
1335# CONFIG_PPC_EARLY_DEBUG_44x is not set
1398 1336
1399# 1337#
1400# Security options 1338# Security options
@@ -1425,6 +1363,7 @@ CONFIG_CRYPTO_ECB=m
1425CONFIG_CRYPTO_CBC=m 1363CONFIG_CRYPTO_CBC=m
1426CONFIG_CRYPTO_PCBC=m 1364CONFIG_CRYPTO_PCBC=m
1427# CONFIG_CRYPTO_LRW is not set 1365# CONFIG_CRYPTO_LRW is not set
1366# CONFIG_CRYPTO_CRYPTD is not set
1428CONFIG_CRYPTO_DES=m 1367CONFIG_CRYPTO_DES=m
1429# CONFIG_CRYPTO_FCRYPT is not set 1368# CONFIG_CRYPTO_FCRYPT is not set
1430CONFIG_CRYPTO_BLOWFISH=m 1369CONFIG_CRYPTO_BLOWFISH=m
diff --git a/arch/powerpc/configs/chrp32_defconfig b/arch/powerpc/configs/chrp32_defconfig
index 029c9a0e730c..7a747c438536 100644
--- a/arch/powerpc/configs/chrp32_defconfig
+++ b/arch/powerpc/configs/chrp32_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.20-rc5 3# Linux kernel version: 2.6.22-rc6
4# Mon Jan 22 22:12:58 2007 4# Tue Jun 26 12:36:45 2007
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7CONFIG_PPC32=y 7CONFIG_PPC32=y
@@ -34,9 +34,9 @@ CONFIG_CLASSIC32=y
34# CONFIG_PPC_83xx is not set 34# CONFIG_PPC_83xx is not set
35# CONFIG_PPC_85xx is not set 35# CONFIG_PPC_85xx is not set
36# CONFIG_PPC_86xx is not set 36# CONFIG_PPC_86xx is not set
37# CONFIG_PPC_8xx is not set
37# CONFIG_40x is not set 38# CONFIG_40x is not set
38# CONFIG_44x is not set 39# CONFIG_44x is not set
39# CONFIG_8xx is not set
40# CONFIG_E200 is not set 40# CONFIG_E200 is not set
41CONFIG_6xx=y 41CONFIG_6xx=y
42CONFIG_PPC_FPU=y 42CONFIG_PPC_FPU=y
@@ -45,6 +45,7 @@ CONFIG_PPC_FPU=y
45# CONFIG_ALTIVEC is not set 45# CONFIG_ALTIVEC is not set
46CONFIG_PPC_STD_MMU=y 46CONFIG_PPC_STD_MMU=y
47CONFIG_PPC_STD_MMU_32=y 47CONFIG_PPC_STD_MMU_32=y
48# CONFIG_PPC_MM_SLICES is not set
48CONFIG_SMP=y 49CONFIG_SMP=y
49CONFIG_NR_CPUS=4 50CONFIG_NR_CPUS=4
50CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 51CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
@@ -64,6 +65,7 @@ CONFIG_LOCALVERSION=""
64CONFIG_SWAP=y 65CONFIG_SWAP=y
65CONFIG_SYSVIPC=y 66CONFIG_SYSVIPC=y
66# CONFIG_IPC_NS is not set 67# CONFIG_IPC_NS is not set
68CONFIG_SYSVIPC_SYSCTL=y
67CONFIG_POSIX_MQUEUE=y 69CONFIG_POSIX_MQUEUE=y
68# CONFIG_BSD_PROCESS_ACCT is not set 70# CONFIG_BSD_PROCESS_ACCT is not set
69# CONFIG_TASKSTATS is not set 71# CONFIG_TASKSTATS is not set
@@ -71,9 +73,11 @@ CONFIG_POSIX_MQUEUE=y
71# CONFIG_AUDIT is not set 73# CONFIG_AUDIT is not set
72CONFIG_IKCONFIG=y 74CONFIG_IKCONFIG=y
73CONFIG_IKCONFIG_PROC=y 75CONFIG_IKCONFIG_PROC=y
76CONFIG_LOG_BUF_SHIFT=15
74# CONFIG_CPUSETS is not set 77# CONFIG_CPUSETS is not set
75CONFIG_SYSFS_DEPRECATED=y 78CONFIG_SYSFS_DEPRECATED=y
76# CONFIG_RELAY is not set 79# CONFIG_RELAY is not set
80CONFIG_BLK_DEV_INITRD=y
77CONFIG_INITRAMFS_SOURCE="" 81CONFIG_INITRAMFS_SOURCE=""
78# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 82# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
79CONFIG_SYSCTL=y 83CONFIG_SYSCTL=y
@@ -88,14 +92,19 @@ CONFIG_BUG=y
88CONFIG_ELF_CORE=y 92CONFIG_ELF_CORE=y
89CONFIG_BASE_FULL=y 93CONFIG_BASE_FULL=y
90CONFIG_FUTEX=y 94CONFIG_FUTEX=y
95CONFIG_ANON_INODES=y
91CONFIG_EPOLL=y 96CONFIG_EPOLL=y
97CONFIG_SIGNALFD=y
98CONFIG_TIMERFD=y
99CONFIG_EVENTFD=y
92CONFIG_SHMEM=y 100CONFIG_SHMEM=y
93CONFIG_SLAB=y
94CONFIG_VM_EVENT_COUNTERS=y 101CONFIG_VM_EVENT_COUNTERS=y
102CONFIG_SLAB=y
103# CONFIG_SLUB is not set
104# CONFIG_SLOB is not set
95CONFIG_RT_MUTEXES=y 105CONFIG_RT_MUTEXES=y
96# CONFIG_TINY_SHMEM is not set 106# CONFIG_TINY_SHMEM is not set
97CONFIG_BASE_SMALL=0 107CONFIG_BASE_SMALL=0
98# CONFIG_SLOB is not set
99 108
100# 109#
101# Loadable module support 110# Loadable module support
@@ -137,13 +146,18 @@ CONFIG_PPC_MULTIPLATFORM=y
137# CONFIG_APUS is not set 146# CONFIG_APUS is not set
138CONFIG_PPC_CHRP=y 147CONFIG_PPC_CHRP=y
139# CONFIG_PPC_MPC52xx is not set 148# CONFIG_PPC_MPC52xx is not set
149# CONFIG_PPC_MPC5200 is not set
140# CONFIG_PPC_EFIKA is not set 150# CONFIG_PPC_EFIKA is not set
141# CONFIG_PPC_LITE5200 is not set 151# CONFIG_PPC_LITE5200 is not set
142# CONFIG_PPC_PMAC is not set 152# CONFIG_PPC_PMAC is not set
143# CONFIG_PPC_CELL is not set 153# CONFIG_PPC_CELL is not set
144# CONFIG_PPC_CELL_NATIVE is not set 154# CONFIG_PPC_CELL_NATIVE is not set
155# CONFIG_PQ2ADS is not set
145CONFIG_PPC_NATIVE=y 156CONFIG_PPC_NATIVE=y
146# CONFIG_UDBG_RTAS_CONSOLE is not set 157# CONFIG_UDBG_RTAS_CONSOLE is not set
158CONFIG_MPIC=y
159# CONFIG_MPIC_WEIRD is not set
160CONFIG_PPC_I8259=y
147CONFIG_PPC_RTAS=y 161CONFIG_PPC_RTAS=y
148# CONFIG_RTAS_ERROR_LOGGING is not set 162# CONFIG_RTAS_ERROR_LOGGING is not set
149CONFIG_RTAS_PROC=y 163CONFIG_RTAS_PROC=y
@@ -154,8 +168,7 @@ CONFIG_PPC_MPC106=y
154# CONFIG_GENERIC_IOMAP is not set 168# CONFIG_GENERIC_IOMAP is not set
155# CONFIG_CPU_FREQ is not set 169# CONFIG_CPU_FREQ is not set
156# CONFIG_TAU is not set 170# CONFIG_TAU is not set
157# CONFIG_WANT_EARLY_SERIAL is not set 171# CONFIG_CPM2 is not set
158CONFIG_MPIC=y
159 172
160# 173#
161# Kernel options 174# Kernel options
@@ -186,33 +199,33 @@ CONFIG_FLAT_NODE_MEM_MAP=y
186# CONFIG_SPARSEMEM_STATIC is not set 199# CONFIG_SPARSEMEM_STATIC is not set
187CONFIG_SPLIT_PTLOCK_CPUS=4 200CONFIG_SPLIT_PTLOCK_CPUS=4
188# CONFIG_RESOURCES_64BIT is not set 201# CONFIG_RESOURCES_64BIT is not set
202CONFIG_ZONE_DMA_FLAG=1
189CONFIG_PROC_DEVICETREE=y 203CONFIG_PROC_DEVICETREE=y
190# CONFIG_CMDLINE_BOOL is not set 204# CONFIG_CMDLINE_BOOL is not set
191# CONFIG_PM is not set 205# CONFIG_PM is not set
192CONFIG_SECCOMP=y 206CONFIG_SECCOMP=y
207# CONFIG_WANT_DEVICE_TREE is not set
193CONFIG_ISA_DMA_API=y 208CONFIG_ISA_DMA_API=y
194 209
195# 210#
196# Bus options 211# Bus options
197# 212#
198CONFIG_ISA=y 213CONFIG_ISA=y
214CONFIG_ZONE_DMA=y
199CONFIG_GENERIC_ISA_DMA=y 215CONFIG_GENERIC_ISA_DMA=y
200# CONFIG_MPIC_WEIRD is not set
201CONFIG_PPC_I8259=y
202CONFIG_PPC_INDIRECT_PCI=y 216CONFIG_PPC_INDIRECT_PCI=y
217# CONFIG_PPC_INDIRECT_PCI_BE is not set
203CONFIG_PCI=y 218CONFIG_PCI=y
204CONFIG_PCI_DOMAINS=y 219CONFIG_PCI_DOMAINS=y
205# CONFIG_PCIEPORTBUS is not set 220# CONFIG_PCIEPORTBUS is not set
221CONFIG_ARCH_SUPPORTS_MSI=y
222# CONFIG_PCI_MSI is not set
206# CONFIG_PCI_DEBUG is not set 223# CONFIG_PCI_DEBUG is not set
207 224
208# 225#
209# PCCARD (PCMCIA/CardBus) support 226# PCCARD (PCMCIA/CardBus) support
210# 227#
211# CONFIG_PCCARD is not set 228# CONFIG_PCCARD is not set
212
213#
214# PCI Hotplug Support
215#
216# CONFIG_HOTPLUG_PCI is not set 229# CONFIG_HOTPLUG_PCI is not set
217 230
218# 231#
@@ -237,7 +250,6 @@ CONFIG_NET=y
237# 250#
238# Networking options 251# Networking options
239# 252#
240# CONFIG_NETDEBUG is not set
241CONFIG_PACKET=y 253CONFIG_PACKET=y
242# CONFIG_PACKET_MMAP is not set 254# CONFIG_PACKET_MMAP is not set
243CONFIG_UNIX=y 255CONFIG_UNIX=y
@@ -266,10 +278,6 @@ CONFIG_INET_TCP_DIAG=y
266CONFIG_TCP_CONG_CUBIC=y 278CONFIG_TCP_CONG_CUBIC=y
267CONFIG_DEFAULT_TCP_CONG="cubic" 279CONFIG_DEFAULT_TCP_CONG="cubic"
268# CONFIG_TCP_MD5SIG is not set 280# CONFIG_TCP_MD5SIG is not set
269
270#
271# IP: Virtual Server Configuration
272#
273# CONFIG_IP_VS is not set 281# CONFIG_IP_VS is not set
274# CONFIG_IPV6 is not set 282# CONFIG_IPV6 is not set
275# CONFIG_INET6_XFRM_TUNNEL is not set 283# CONFIG_INET6_XFRM_TUNNEL is not set
@@ -283,8 +291,6 @@ CONFIG_NETFILTER=y
283# 291#
284# CONFIG_NETFILTER_NETLINK is not set 292# CONFIG_NETFILTER_NETLINK is not set
285CONFIG_NF_CONNTRACK_ENABLED=m 293CONFIG_NF_CONNTRACK_ENABLED=m
286CONFIG_NF_CONNTRACK_SUPPORT=y
287# CONFIG_IP_NF_CONNTRACK_SUPPORT is not set
288CONFIG_NF_CONNTRACK=m 294CONFIG_NF_CONNTRACK=m
289# CONFIG_NF_CT_ACCT is not set 295# CONFIG_NF_CT_ACCT is not set
290# CONFIG_NF_CONNTRACK_MARK is not set 296# CONFIG_NF_CONNTRACK_MARK is not set
@@ -296,9 +302,37 @@ CONFIG_NF_CONNTRACK_FTP=m
296CONFIG_NF_CONNTRACK_IRC=m 302CONFIG_NF_CONNTRACK_IRC=m
297# CONFIG_NF_CONNTRACK_NETBIOS_NS is not set 303# CONFIG_NF_CONNTRACK_NETBIOS_NS is not set
298# CONFIG_NF_CONNTRACK_PPTP is not set 304# CONFIG_NF_CONNTRACK_PPTP is not set
305# CONFIG_NF_CONNTRACK_SANE is not set
299CONFIG_NF_CONNTRACK_SIP=m 306CONFIG_NF_CONNTRACK_SIP=m
300CONFIG_NF_CONNTRACK_TFTP=m 307CONFIG_NF_CONNTRACK_TFTP=m
301# CONFIG_NETFILTER_XTABLES is not set 308CONFIG_NETFILTER_XTABLES=m
309# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set
310# CONFIG_NETFILTER_XT_TARGET_MARK is not set
311# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set
312# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set
313# CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set
314# CONFIG_NETFILTER_XT_MATCH_COMMENT is not set
315# CONFIG_NETFILTER_XT_MATCH_CONNBYTES is not set
316# CONFIG_NETFILTER_XT_MATCH_CONNMARK is not set
317# CONFIG_NETFILTER_XT_MATCH_CONNTRACK is not set
318# CONFIG_NETFILTER_XT_MATCH_DCCP is not set
319# CONFIG_NETFILTER_XT_MATCH_DSCP is not set
320# CONFIG_NETFILTER_XT_MATCH_ESP is not set
321# CONFIG_NETFILTER_XT_MATCH_HELPER is not set
322# CONFIG_NETFILTER_XT_MATCH_LENGTH is not set
323# CONFIG_NETFILTER_XT_MATCH_LIMIT is not set
324# CONFIG_NETFILTER_XT_MATCH_MAC is not set
325# CONFIG_NETFILTER_XT_MATCH_MARK is not set
326# CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set
327# CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set
328# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set
329# CONFIG_NETFILTER_XT_MATCH_REALM is not set
330# CONFIG_NETFILTER_XT_MATCH_SCTP is not set
331# CONFIG_NETFILTER_XT_MATCH_STATE is not set
332# CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set
333# CONFIG_NETFILTER_XT_MATCH_STRING is not set
334# CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set
335# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set
302 336
303# 337#
304# IP: Netfilter Configuration 338# IP: Netfilter Configuration
@@ -306,20 +340,38 @@ CONFIG_NF_CONNTRACK_TFTP=m
306CONFIG_NF_CONNTRACK_IPV4=m 340CONFIG_NF_CONNTRACK_IPV4=m
307CONFIG_NF_CONNTRACK_PROC_COMPAT=y 341CONFIG_NF_CONNTRACK_PROC_COMPAT=y
308# CONFIG_IP_NF_QUEUE is not set 342# CONFIG_IP_NF_QUEUE is not set
309 343CONFIG_IP_NF_IPTABLES=m
310# 344# CONFIG_IP_NF_MATCH_IPRANGE is not set
311# DCCP Configuration (EXPERIMENTAL) 345# CONFIG_IP_NF_MATCH_TOS is not set
312# 346# CONFIG_IP_NF_MATCH_RECENT is not set
347# CONFIG_IP_NF_MATCH_ECN is not set
348# CONFIG_IP_NF_MATCH_AH is not set
349# CONFIG_IP_NF_MATCH_TTL is not set
350# CONFIG_IP_NF_MATCH_OWNER is not set
351# CONFIG_IP_NF_MATCH_ADDRTYPE is not set
352CONFIG_IP_NF_FILTER=m
353CONFIG_IP_NF_TARGET_REJECT=m
354CONFIG_IP_NF_TARGET_LOG=m
355# CONFIG_IP_NF_TARGET_ULOG is not set
356CONFIG_NF_NAT=m
357CONFIG_NF_NAT_NEEDED=y
358CONFIG_IP_NF_TARGET_MASQUERADE=m
359CONFIG_IP_NF_TARGET_REDIRECT=m
360# CONFIG_IP_NF_TARGET_NETMAP is not set
361# CONFIG_IP_NF_TARGET_SAME is not set
362# CONFIG_NF_NAT_SNMP_BASIC is not set
363CONFIG_NF_NAT_FTP=m
364CONFIG_NF_NAT_IRC=m
365CONFIG_NF_NAT_TFTP=m
366# CONFIG_NF_NAT_AMANDA is not set
367# CONFIG_NF_NAT_PPTP is not set
368# CONFIG_NF_NAT_H323 is not set
369CONFIG_NF_NAT_SIP=m
370# CONFIG_IP_NF_MANGLE is not set
371# CONFIG_IP_NF_RAW is not set
372# CONFIG_IP_NF_ARPTABLES is not set
313# CONFIG_IP_DCCP is not set 373# CONFIG_IP_DCCP is not set
314
315#
316# SCTP Configuration (EXPERIMENTAL)
317#
318# CONFIG_IP_SCTP is not set 374# CONFIG_IP_SCTP is not set
319
320#
321# TIPC Configuration (EXPERIMENTAL)
322#
323# CONFIG_TIPC is not set 375# CONFIG_TIPC is not set
324# CONFIG_ATM is not set 376# CONFIG_ATM is not set
325# CONFIG_BRIDGE is not set 377# CONFIG_BRIDGE is not set
@@ -345,7 +397,16 @@ CONFIG_NF_CONNTRACK_PROC_COMPAT=y
345# CONFIG_HAMRADIO is not set 397# CONFIG_HAMRADIO is not set
346# CONFIG_IRDA is not set 398# CONFIG_IRDA is not set
347# CONFIG_BT is not set 399# CONFIG_BT is not set
400# CONFIG_AF_RXRPC is not set
401
402#
403# Wireless
404#
405# CONFIG_CFG80211 is not set
406# CONFIG_WIRELESS_EXT is not set
407# CONFIG_MAC80211 is not set
348# CONFIG_IEEE80211 is not set 408# CONFIG_IEEE80211 is not set
409# CONFIG_RFKILL is not set
349 410
350# 411#
351# Device Drivers 412# Device Drivers
@@ -358,16 +419,13 @@ CONFIG_NF_CONNTRACK_PROC_COMPAT=y
358CONFIG_PREVENT_FIRMWARE_BUILD=y 419CONFIG_PREVENT_FIRMWARE_BUILD=y
359# CONFIG_FW_LOADER is not set 420# CONFIG_FW_LOADER is not set
360# CONFIG_DEBUG_DRIVER is not set 421# CONFIG_DEBUG_DRIVER is not set
422# CONFIG_DEBUG_DEVRES is not set
361# CONFIG_SYS_HYPERVISOR is not set 423# CONFIG_SYS_HYPERVISOR is not set
362 424
363# 425#
364# Connector - unified userspace <-> kernelspace linker 426# Connector - unified userspace <-> kernelspace linker
365# 427#
366# CONFIG_CONNECTOR is not set 428# CONFIG_CONNECTOR is not set
367
368#
369# Memory Technology Devices (MTD)
370#
371# CONFIG_MTD is not set 429# CONFIG_MTD is not set
372 430
373# 431#
@@ -379,6 +437,7 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
379# Plug and Play support 437# Plug and Play support
380# 438#
381# CONFIG_PNP is not set 439# CONFIG_PNP is not set
440# CONFIG_PNPACPI is not set
382 441
383# 442#
384# Block devices 443# Block devices
@@ -399,19 +458,16 @@ CONFIG_BLK_DEV_RAM=y
399CONFIG_BLK_DEV_RAM_COUNT=16 458CONFIG_BLK_DEV_RAM_COUNT=16
400CONFIG_BLK_DEV_RAM_SIZE=4096 459CONFIG_BLK_DEV_RAM_SIZE=4096
401CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 460CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
402CONFIG_BLK_DEV_INITRD=y
403# CONFIG_CDROM_PKTCDVD is not set 461# CONFIG_CDROM_PKTCDVD is not set
404# CONFIG_ATA_OVER_ETH is not set 462# CONFIG_ATA_OVER_ETH is not set
405 463
406# 464#
407# Misc devices 465# Misc devices
408# 466#
467# CONFIG_PHANTOM is not set
409# CONFIG_SGI_IOC4 is not set 468# CONFIG_SGI_IOC4 is not set
410# CONFIG_TIFM_CORE is not set 469# CONFIG_TIFM_CORE is not set
411 470# CONFIG_BLINK is not set
412#
413# ATA/ATAPI/MFM/RLL support
414#
415CONFIG_IDE=y 471CONFIG_IDE=y
416CONFIG_BLK_DEV_IDE=y 472CONFIG_BLK_DEV_IDE=y
417 473
@@ -426,6 +482,7 @@ CONFIG_BLK_DEV_IDECD=y
426# CONFIG_BLK_DEV_IDEFLOPPY is not set 482# CONFIG_BLK_DEV_IDEFLOPPY is not set
427# CONFIG_BLK_DEV_IDESCSI is not set 483# CONFIG_BLK_DEV_IDESCSI is not set
428# CONFIG_IDE_TASK_IOCTL is not set 484# CONFIG_IDE_TASK_IOCTL is not set
485CONFIG_IDE_PROC_FS=y
429 486
430# 487#
431# IDE chipset support/bugfixes 488# IDE chipset support/bugfixes
@@ -433,12 +490,12 @@ CONFIG_BLK_DEV_IDECD=y
433CONFIG_IDE_GENERIC=y 490CONFIG_IDE_GENERIC=y
434CONFIG_BLK_DEV_IDEPCI=y 491CONFIG_BLK_DEV_IDEPCI=y
435CONFIG_IDEPCI_SHARE_IRQ=y 492CONFIG_IDEPCI_SHARE_IRQ=y
493CONFIG_IDEPCI_PCIBUS_ORDER=y
436# CONFIG_BLK_DEV_OFFBOARD is not set 494# CONFIG_BLK_DEV_OFFBOARD is not set
437CONFIG_BLK_DEV_GENERIC=y 495CONFIG_BLK_DEV_GENERIC=y
438# CONFIG_BLK_DEV_OPTI621 is not set 496# CONFIG_BLK_DEV_OPTI621 is not set
439CONFIG_BLK_DEV_IDEDMA_PCI=y 497CONFIG_BLK_DEV_IDEDMA_PCI=y
440# CONFIG_BLK_DEV_IDEDMA_FORCED is not set 498# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
441CONFIG_IDEDMA_PCI_AUTO=y
442# CONFIG_IDEDMA_ONLYDISK is not set 499# CONFIG_IDEDMA_ONLYDISK is not set
443# CONFIG_BLK_DEV_AEC62XX is not set 500# CONFIG_BLK_DEV_AEC62XX is not set
444# CONFIG_BLK_DEV_ALI15X3 is not set 501# CONFIG_BLK_DEV_ALI15X3 is not set
@@ -453,6 +510,7 @@ CONFIG_IDEDMA_PCI_AUTO=y
453# CONFIG_BLK_DEV_JMICRON is not set 510# CONFIG_BLK_DEV_JMICRON is not set
454# CONFIG_BLK_DEV_SC1200 is not set 511# CONFIG_BLK_DEV_SC1200 is not set
455# CONFIG_BLK_DEV_PIIX is not set 512# CONFIG_BLK_DEV_PIIX is not set
513# CONFIG_BLK_DEV_IT8213 is not set
456# CONFIG_BLK_DEV_IT821X is not set 514# CONFIG_BLK_DEV_IT821X is not set
457# CONFIG_BLK_DEV_NS87415 is not set 515# CONFIG_BLK_DEV_NS87415 is not set
458# CONFIG_BLK_DEV_PDC202XX_OLD is not set 516# CONFIG_BLK_DEV_PDC202XX_OLD is not set
@@ -463,11 +521,11 @@ CONFIG_BLK_DEV_SL82C105=y
463# CONFIG_BLK_DEV_SLC90E66 is not set 521# CONFIG_BLK_DEV_SLC90E66 is not set
464# CONFIG_BLK_DEV_TRM290 is not set 522# CONFIG_BLK_DEV_TRM290 is not set
465CONFIG_BLK_DEV_VIA82CXXX=y 523CONFIG_BLK_DEV_VIA82CXXX=y
524# CONFIG_BLK_DEV_TC86C001 is not set
466# CONFIG_IDE_ARM is not set 525# CONFIG_IDE_ARM is not set
467# CONFIG_IDE_CHIPSETS is not set 526# CONFIG_IDE_CHIPSETS is not set
468CONFIG_BLK_DEV_IDEDMA=y 527CONFIG_BLK_DEV_IDEDMA=y
469# CONFIG_IDEDMA_IVB is not set 528# CONFIG_IDEDMA_IVB is not set
470CONFIG_IDEDMA_AUTO=y
471# CONFIG_BLK_DEV_HD is not set 529# CONFIG_BLK_DEV_HD is not set
472 530
473# 531#
@@ -497,6 +555,7 @@ CONFIG_CHR_DEV_SG=y
497CONFIG_SCSI_CONSTANTS=y 555CONFIG_SCSI_CONSTANTS=y
498# CONFIG_SCSI_LOGGING is not set 556# CONFIG_SCSI_LOGGING is not set
499# CONFIG_SCSI_SCAN_ASYNC is not set 557# CONFIG_SCSI_SCAN_ASYNC is not set
558CONFIG_SCSI_WAIT_SCAN=m
500 559
501# 560#
502# SCSI Transports 561# SCSI Transports
@@ -562,10 +621,6 @@ CONFIG_SCSI_SYM53C8XX_MMIO=y
562# CONFIG_SCSI_NSP32 is not set 621# CONFIG_SCSI_NSP32 is not set
563# CONFIG_SCSI_DEBUG is not set 622# CONFIG_SCSI_DEBUG is not set
564# CONFIG_SCSI_SRP is not set 623# CONFIG_SCSI_SRP is not set
565
566#
567# Serial ATA (prod) and Parallel ATA (experimental) drivers
568#
569# CONFIG_ATA is not set 624# CONFIG_ATA is not set
570 625
571# 626#
@@ -589,18 +644,14 @@ CONFIG_SCSI_SYM53C8XX_MMIO=y
589# 644#
590# IEEE 1394 (FireWire) support 645# IEEE 1394 (FireWire) support
591# 646#
647# CONFIG_FIREWIRE is not set
592# CONFIG_IEEE1394 is not set 648# CONFIG_IEEE1394 is not set
593 649
594# 650#
595# I2O device support 651# I2O device support
596# 652#
597# CONFIG_I2O is not set 653# CONFIG_I2O is not set
598 654# CONFIG_MACINTOSH_DRIVERS is not set
599#
600# Macintosh device drivers
601#
602# CONFIG_MAC_EMUMOUSEBTN is not set
603# CONFIG_WINDFARM is not set
604 655
605# 656#
606# Network device support 657# Network device support
@@ -610,15 +661,7 @@ CONFIG_NETDEVICES=y
610# CONFIG_BONDING is not set 661# CONFIG_BONDING is not set
611# CONFIG_EQUALIZER is not set 662# CONFIG_EQUALIZER is not set
612# CONFIG_TUN is not set 663# CONFIG_TUN is not set
613
614#
615# ARCnet devices
616#
617# CONFIG_ARCNET is not set 664# CONFIG_ARCNET is not set
618
619#
620# PHY device support
621#
622# CONFIG_PHYLIB is not set 665# CONFIG_PHYLIB is not set
623 666
624# 667#
@@ -677,10 +720,8 @@ CONFIG_8139TOO=y
677CONFIG_VIA_RHINE=y 720CONFIG_VIA_RHINE=y
678# CONFIG_VIA_RHINE_MMIO is not set 721# CONFIG_VIA_RHINE_MMIO is not set
679# CONFIG_VIA_RHINE_NAPI is not set 722# CONFIG_VIA_RHINE_NAPI is not set
680 723# CONFIG_SC92031 is not set
681# 724CONFIG_NETDEV_1000=y
682# Ethernet (1000 Mbit)
683#
684# CONFIG_ACENIC is not set 725# CONFIG_ACENIC is not set
685# CONFIG_DL2K is not set 726# CONFIG_DL2K is not set
686# CONFIG_E1000 is not set 727# CONFIG_E1000 is not set
@@ -696,33 +737,33 @@ CONFIG_VIA_RHINE=y
696# CONFIG_TIGON3 is not set 737# CONFIG_TIGON3 is not set
697# CONFIG_BNX2 is not set 738# CONFIG_BNX2 is not set
698CONFIG_MV643XX_ETH=y 739CONFIG_MV643XX_ETH=y
699# CONFIG_MV643XX_ETH_0 is not set
700# CONFIG_MV643XX_ETH_1 is not set
701# CONFIG_MV643XX_ETH_2 is not set
702# CONFIG_QLA3XXX is not set 740# CONFIG_QLA3XXX is not set
703 741# CONFIG_ATL1 is not set
704# 742CONFIG_NETDEV_10000=y
705# Ethernet (10000 Mbit)
706#
707# CONFIG_CHELSIO_T1 is not set 743# CONFIG_CHELSIO_T1 is not set
744# CONFIG_CHELSIO_T3 is not set
708# CONFIG_IXGB is not set 745# CONFIG_IXGB is not set
709# CONFIG_S2IO is not set 746# CONFIG_S2IO is not set
710# CONFIG_MYRI10GE is not set 747# CONFIG_MYRI10GE is not set
711# CONFIG_NETXEN_NIC is not set 748# CONFIG_NETXEN_NIC is not set
712 749# CONFIG_MLX4_CORE is not set
713#
714# Token Ring devices
715#
716# CONFIG_TR is not set 750# CONFIG_TR is not set
717 751
718# 752#
719# Wireless LAN (non-hamradio) 753# Wireless LAN
720# 754#
721# CONFIG_NET_RADIO is not set 755# CONFIG_WLAN_PRE80211 is not set
756# CONFIG_WLAN_80211 is not set
722 757
723# 758#
724# Wan interfaces 759# USB Network Adapters
725# 760#
761# CONFIG_USB_CATC is not set
762# CONFIG_USB_KAWETH is not set
763# CONFIG_USB_PEGASUS is not set
764# CONFIG_USB_RTL8150 is not set
765# CONFIG_USB_USBNET_MII is not set
766# CONFIG_USB_USBNET is not set
726# CONFIG_WAN is not set 767# CONFIG_WAN is not set
727# CONFIG_FDDI is not set 768# CONFIG_FDDI is not set
728# CONFIG_HIPPI is not set 769# CONFIG_HIPPI is not set
@@ -758,6 +799,7 @@ CONFIG_SLHC=m
758# 799#
759CONFIG_INPUT=y 800CONFIG_INPUT=y
760# CONFIG_INPUT_FF_MEMLESS is not set 801# CONFIG_INPUT_FF_MEMLESS is not set
802# CONFIG_INPUT_POLLDEV is not set
761 803
762# 804#
763# Userland interfaces 805# Userland interfaces
@@ -783,15 +825,28 @@ CONFIG_KEYBOARD_ATKBD=y
783# CONFIG_KEYBOARD_STOWAWAY is not set 825# CONFIG_KEYBOARD_STOWAWAY is not set
784CONFIG_INPUT_MOUSE=y 826CONFIG_INPUT_MOUSE=y
785CONFIG_MOUSE_PS2=y 827CONFIG_MOUSE_PS2=y
828CONFIG_MOUSE_PS2_ALPS=y
829CONFIG_MOUSE_PS2_LOGIPS2PP=y
830CONFIG_MOUSE_PS2_SYNAPTICS=y
831CONFIG_MOUSE_PS2_LIFEBOOK=y
832CONFIG_MOUSE_PS2_TRACKPOINT=y
833# CONFIG_MOUSE_PS2_TOUCHKIT is not set
786# CONFIG_MOUSE_SERIAL is not set 834# CONFIG_MOUSE_SERIAL is not set
835# CONFIG_MOUSE_APPLETOUCH is not set
787# CONFIG_MOUSE_INPORT is not set 836# CONFIG_MOUSE_INPORT is not set
788# CONFIG_MOUSE_LOGIBM is not set 837# CONFIG_MOUSE_LOGIBM is not set
789# CONFIG_MOUSE_PC110PAD is not set 838# CONFIG_MOUSE_PC110PAD is not set
790# CONFIG_MOUSE_VSXXXAA is not set 839# CONFIG_MOUSE_VSXXXAA is not set
791# CONFIG_INPUT_JOYSTICK is not set 840# CONFIG_INPUT_JOYSTICK is not set
841# CONFIG_INPUT_TABLET is not set
792# CONFIG_INPUT_TOUCHSCREEN is not set 842# CONFIG_INPUT_TOUCHSCREEN is not set
793CONFIG_INPUT_MISC=y 843CONFIG_INPUT_MISC=y
794# CONFIG_INPUT_PCSPKR is not set 844# CONFIG_INPUT_PCSPKR is not set
845# CONFIG_INPUT_ATI_REMOTE is not set
846# CONFIG_INPUT_ATI_REMOTE2 is not set
847# CONFIG_INPUT_KEYSPAN_REMOTE is not set
848# CONFIG_INPUT_POWERMATE is not set
849# CONFIG_INPUT_YEALINK is not set
795CONFIG_INPUT_UINPUT=y 850CONFIG_INPUT_UINPUT=y
796 851
797# 852#
@@ -831,6 +886,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4
831CONFIG_SERIAL_CORE=y 886CONFIG_SERIAL_CORE=y
832CONFIG_SERIAL_CORE_CONSOLE=y 887CONFIG_SERIAL_CORE_CONSOLE=y
833# CONFIG_SERIAL_JSM is not set 888# CONFIG_SERIAL_JSM is not set
889# CONFIG_SERIAL_OF_PLATFORM is not set
834CONFIG_UNIX98_PTYS=y 890CONFIG_UNIX98_PTYS=y
835CONFIG_LEGACY_PTYS=y 891CONFIG_LEGACY_PTYS=y
836CONFIG_LEGACY_PTY_COUNT=256 892CONFIG_LEGACY_PTY_COUNT=256
@@ -841,10 +897,6 @@ CONFIG_BRIQ_PANEL=m
841# IPMI 897# IPMI
842# 898#
843# CONFIG_IPMI_HANDLER is not set 899# CONFIG_IPMI_HANDLER is not set
844
845#
846# Watchdog Cards
847#
848# CONFIG_WATCHDOG is not set 900# CONFIG_WATCHDOG is not set
849# CONFIG_HW_RANDOM is not set 901# CONFIG_HW_RANDOM is not set
850CONFIG_NVRAM=y 902CONFIG_NVRAM=y
@@ -861,11 +913,9 @@ CONFIG_GEN_RTC=y
861# TPM devices 913# TPM devices
862# 914#
863# CONFIG_TCG_TPM is not set 915# CONFIG_TCG_TPM is not set
864 916CONFIG_DEVPORT=y
865#
866# I2C support
867#
868CONFIG_I2C=y 917CONFIG_I2C=y
918CONFIG_I2C_BOARDINFO=y
869# CONFIG_I2C_CHARDEV is not set 919# CONFIG_I2C_CHARDEV is not set
870 920
871# 921#
@@ -893,10 +943,12 @@ CONFIG_I2C_ALGOBIT=y
893# CONFIG_I2C_PARPORT_LIGHT is not set 943# CONFIG_I2C_PARPORT_LIGHT is not set
894# CONFIG_I2C_PROSAVAGE is not set 944# CONFIG_I2C_PROSAVAGE is not set
895# CONFIG_I2C_SAVAGE4 is not set 945# CONFIG_I2C_SAVAGE4 is not set
946# CONFIG_I2C_SIMTEC is not set
896# CONFIG_I2C_SIS5595 is not set 947# CONFIG_I2C_SIS5595 is not set
897# CONFIG_I2C_SIS630 is not set 948# CONFIG_I2C_SIS630 is not set
898# CONFIG_I2C_SIS96X is not set 949# CONFIG_I2C_SIS96X is not set
899# CONFIG_I2C_STUB is not set 950# CONFIG_I2C_STUB is not set
951# CONFIG_I2C_TINY_USB is not set
900# CONFIG_I2C_VIA is not set 952# CONFIG_I2C_VIA is not set
901# CONFIG_I2C_VIAPRO is not set 953# CONFIG_I2C_VIAPRO is not set
902# CONFIG_I2C_VOODOO3 is not set 954# CONFIG_I2C_VOODOO3 is not set
@@ -928,37 +980,56 @@ CONFIG_I2C_ALGOBIT=y
928# Dallas's 1-wire bus 980# Dallas's 1-wire bus
929# 981#
930# CONFIG_W1 is not set 982# CONFIG_W1 is not set
983# CONFIG_HWMON is not set
931 984
932# 985#
933# Hardware Monitoring support 986# Multifunction device drivers
934# 987#
935# CONFIG_HWMON is not set 988# CONFIG_MFD_SM501 is not set
936# CONFIG_HWMON_VID is not set
937 989
938# 990#
939# Multimedia devices 991# Multimedia devices
940# 992#
941# CONFIG_VIDEO_DEV is not set 993# CONFIG_VIDEO_DEV is not set
994# CONFIG_DVB_CORE is not set
995# CONFIG_DAB is not set
942 996
943# 997#
944# Digital Video Broadcasting Devices 998# Graphics support
945# 999#
946# CONFIG_DVB is not set 1000CONFIG_BACKLIGHT_LCD_SUPPORT=y
947# CONFIG_USB_DABUSB is not set 1001CONFIG_BACKLIGHT_CLASS_DEVICE=y
1002CONFIG_LCD_CLASS_DEVICE=m
948 1003
949# 1004#
950# Graphics support 1005# Display device support
951# 1006#
952CONFIG_FIRMWARE_EDID=y 1007CONFIG_DISPLAY_SUPPORT=m
1008
1009#
1010# Display hardware drivers
1011#
1012# CONFIG_VGASTATE is not set
953CONFIG_FB=y 1013CONFIG_FB=y
1014CONFIG_FIRMWARE_EDID=y
954CONFIG_FB_DDC=y 1015CONFIG_FB_DDC=y
955CONFIG_FB_CFB_FILLRECT=y 1016CONFIG_FB_CFB_FILLRECT=y
956CONFIG_FB_CFB_COPYAREA=y 1017CONFIG_FB_CFB_COPYAREA=y
957CONFIG_FB_CFB_IMAGEBLIT=y 1018CONFIG_FB_CFB_IMAGEBLIT=y
1019# CONFIG_FB_SYS_FILLRECT is not set
1020# CONFIG_FB_SYS_COPYAREA is not set
1021# CONFIG_FB_SYS_IMAGEBLIT is not set
1022# CONFIG_FB_SYS_FOPS is not set
1023CONFIG_FB_DEFERRED_IO=y
1024# CONFIG_FB_SVGALIB is not set
958CONFIG_FB_MACMODES=y 1025CONFIG_FB_MACMODES=y
959# CONFIG_FB_BACKLIGHT is not set 1026CONFIG_FB_BACKLIGHT=y
960CONFIG_FB_MODE_HELPERS=y 1027CONFIG_FB_MODE_HELPERS=y
961CONFIG_FB_TILEBLITTING=y 1028CONFIG_FB_TILEBLITTING=y
1029
1030#
1031# Frame buffer hardware drivers
1032#
962# CONFIG_FB_CIRRUS is not set 1033# CONFIG_FB_CIRRUS is not set
963# CONFIG_FB_PM2 is not set 1034# CONFIG_FB_PM2 is not set
964# CONFIG_FB_CYBER2000 is not set 1035# CONFIG_FB_CYBER2000 is not set
@@ -978,12 +1049,15 @@ CONFIG_FB_MATROX_G=y
978# CONFIG_FB_MATROX_MULTIHEAD is not set 1049# CONFIG_FB_MATROX_MULTIHEAD is not set
979CONFIG_FB_RADEON=y 1050CONFIG_FB_RADEON=y
980CONFIG_FB_RADEON_I2C=y 1051CONFIG_FB_RADEON_I2C=y
1052CONFIG_FB_RADEON_BACKLIGHT=y
981# CONFIG_FB_RADEON_DEBUG is not set 1053# CONFIG_FB_RADEON_DEBUG is not set
982# CONFIG_FB_ATY128 is not set 1054# CONFIG_FB_ATY128 is not set
983CONFIG_FB_ATY=y 1055CONFIG_FB_ATY=y
984CONFIG_FB_ATY_CT=y 1056CONFIG_FB_ATY_CT=y
985# CONFIG_FB_ATY_GENERIC_LCD is not set 1057# CONFIG_FB_ATY_GENERIC_LCD is not set
986CONFIG_FB_ATY_GX=y 1058CONFIG_FB_ATY_GX=y
1059CONFIG_FB_ATY_BACKLIGHT=y
1060# CONFIG_FB_S3 is not set
987# CONFIG_FB_SAVAGE is not set 1061# CONFIG_FB_SAVAGE is not set
988# CONFIG_FB_SIS is not set 1062# CONFIG_FB_SIS is not set
989# CONFIG_FB_NEOMAGIC is not set 1063# CONFIG_FB_NEOMAGIC is not set
@@ -991,7 +1065,10 @@ CONFIG_FB_ATY_GX=y
991CONFIG_FB_3DFX=y 1065CONFIG_FB_3DFX=y
992# CONFIG_FB_3DFX_ACCEL is not set 1066# CONFIG_FB_3DFX_ACCEL is not set
993# CONFIG_FB_VOODOO1 is not set 1067# CONFIG_FB_VOODOO1 is not set
1068# CONFIG_FB_VT8623 is not set
994# CONFIG_FB_TRIDENT is not set 1069# CONFIG_FB_TRIDENT is not set
1070# CONFIG_FB_ARK is not set
1071# CONFIG_FB_PM3 is not set
995# CONFIG_FB_IBM_GXT4500 is not set 1072# CONFIG_FB_IBM_GXT4500 is not set
996# CONFIG_FB_VIRTUAL is not set 1073# CONFIG_FB_VIRTUAL is not set
997 1074
@@ -1007,15 +1084,10 @@ CONFIG_FRAMEBUFFER_CONSOLE=y
1007# CONFIG_FONTS is not set 1084# CONFIG_FONTS is not set
1008CONFIG_FONT_8x8=y 1085CONFIG_FONT_8x8=y
1009CONFIG_FONT_8x16=y 1086CONFIG_FONT_8x16=y
1010
1011#
1012# Logo configuration
1013#
1014CONFIG_LOGO=y 1087CONFIG_LOGO=y
1015CONFIG_LOGO_LINUX_MONO=y 1088CONFIG_LOGO_LINUX_MONO=y
1016CONFIG_LOGO_LINUX_VGA16=y 1089CONFIG_LOGO_LINUX_VGA16=y
1017CONFIG_LOGO_LINUX_CLUT224=y 1090CONFIG_LOGO_LINUX_CLUT224=y
1018# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
1019 1091
1020# 1092#
1021# Sound 1093# Sound
@@ -1026,6 +1098,15 @@ CONFIG_LOGO_LINUX_CLUT224=y
1026# HID Devices 1098# HID Devices
1027# 1099#
1028CONFIG_HID=y 1100CONFIG_HID=y
1101# CONFIG_HID_DEBUG is not set
1102
1103#
1104# USB Input Devices
1105#
1106CONFIG_USB_HID=y
1107# CONFIG_USB_HIDINPUT_POWERBOOK is not set
1108# CONFIG_HID_FF is not set
1109# CONFIG_USB_HIDDEV is not set
1029 1110
1030# 1111#
1031# USB support 1112# USB support
@@ -1040,9 +1121,8 @@ CONFIG_USB=y
1040# Miscellaneous USB options 1121# Miscellaneous USB options
1041# 1122#
1042CONFIG_USB_DEVICEFS=y 1123CONFIG_USB_DEVICEFS=y
1043# CONFIG_USB_BANDWIDTH is not set 1124CONFIG_USB_DEVICE_CLASS=y
1044# CONFIG_USB_DYNAMIC_MINORS is not set 1125# CONFIG_USB_DYNAMIC_MINORS is not set
1045# CONFIG_USB_MULTITHREAD_PROBE is not set
1046# CONFIG_USB_OTG is not set 1126# CONFIG_USB_OTG is not set
1047 1127
1048# 1128#
@@ -1052,9 +1132,12 @@ CONFIG_USB_EHCI_HCD=m
1052# CONFIG_USB_EHCI_SPLIT_ISO is not set 1132# CONFIG_USB_EHCI_SPLIT_ISO is not set
1053# CONFIG_USB_EHCI_ROOT_HUB_TT is not set 1133# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
1054# CONFIG_USB_EHCI_TT_NEWSCHED is not set 1134# CONFIG_USB_EHCI_TT_NEWSCHED is not set
1135# CONFIG_USB_EHCI_BIG_ENDIAN_MMIO is not set
1055# CONFIG_USB_ISP116X_HCD is not set 1136# CONFIG_USB_ISP116X_HCD is not set
1056CONFIG_USB_OHCI_HCD=y 1137CONFIG_USB_OHCI_HCD=y
1057# CONFIG_USB_OHCI_BIG_ENDIAN is not set 1138# CONFIG_USB_OHCI_HCD_PPC_OF is not set
1139# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
1140# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
1058CONFIG_USB_OHCI_LITTLE_ENDIAN=y 1141CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1059CONFIG_USB_UHCI_HCD=y 1142CONFIG_USB_UHCI_HCD=y
1060# CONFIG_USB_SL811_HCD is not set 1143# CONFIG_USB_SL811_HCD is not set
@@ -1088,40 +1171,10 @@ CONFIG_USB_STORAGE=m
1088# CONFIG_USB_LIBUSUAL is not set 1171# CONFIG_USB_LIBUSUAL is not set
1089 1172
1090# 1173#
1091# USB Input Devices
1092#
1093CONFIG_USB_HID=y
1094# CONFIG_USB_HIDINPUT_POWERBOOK is not set
1095# CONFIG_HID_FF is not set
1096# CONFIG_USB_HIDDEV is not set
1097# CONFIG_USB_AIPTEK is not set
1098# CONFIG_USB_WACOM is not set
1099# CONFIG_USB_ACECAD is not set
1100# CONFIG_USB_KBTAB is not set
1101# CONFIG_USB_POWERMATE is not set
1102# CONFIG_USB_TOUCHSCREEN is not set
1103# CONFIG_USB_YEALINK is not set
1104# CONFIG_USB_XPAD is not set
1105# CONFIG_USB_ATI_REMOTE is not set
1106# CONFIG_USB_ATI_REMOTE2 is not set
1107# CONFIG_USB_KEYSPAN_REMOTE is not set
1108# CONFIG_USB_APPLETOUCH is not set
1109
1110#
1111# USB Imaging devices 1174# USB Imaging devices
1112# 1175#
1113# CONFIG_USB_MDC800 is not set 1176# CONFIG_USB_MDC800 is not set
1114# CONFIG_USB_MICROTEK is not set 1177# CONFIG_USB_MICROTEK is not set
1115
1116#
1117# USB Network Adapters
1118#
1119# CONFIG_USB_CATC is not set
1120# CONFIG_USB_KAWETH is not set
1121# CONFIG_USB_PEGASUS is not set
1122# CONFIG_USB_RTL8150 is not set
1123# CONFIG_USB_USBNET_MII is not set
1124# CONFIG_USB_USBNET is not set
1125CONFIG_USB_MON=y 1178CONFIG_USB_MON=y
1126 1179
1127# 1180#
@@ -1143,6 +1196,7 @@ CONFIG_USB_MON=y
1143# CONFIG_USB_RIO500 is not set 1196# CONFIG_USB_RIO500 is not set
1144# CONFIG_USB_LEGOTOWER is not set 1197# CONFIG_USB_LEGOTOWER is not set
1145# CONFIG_USB_LCD is not set 1198# CONFIG_USB_LCD is not set
1199# CONFIG_USB_BERRY_CHARGE is not set
1146# CONFIG_USB_LED is not set 1200# CONFIG_USB_LED is not set
1147# CONFIG_USB_CYPRESS_CY7C63 is not set 1201# CONFIG_USB_CYPRESS_CY7C63 is not set
1148# CONFIG_USB_CYTHERM is not set 1202# CONFIG_USB_CYTHERM is not set
@@ -1153,6 +1207,7 @@ CONFIG_USB_MON=y
1153# CONFIG_USB_SISUSBVGA is not set 1207# CONFIG_USB_SISUSBVGA is not set
1154# CONFIG_USB_LD is not set 1208# CONFIG_USB_LD is not set
1155# CONFIG_USB_TRANCEVIBRATOR is not set 1209# CONFIG_USB_TRANCEVIBRATOR is not set
1210# CONFIG_USB_IOWARRIOR is not set
1156# CONFIG_USB_TEST is not set 1211# CONFIG_USB_TEST is not set
1157 1212
1158# 1213#
@@ -1163,10 +1218,6 @@ CONFIG_USB_MON=y
1163# USB Gadget Support 1218# USB Gadget Support
1164# 1219#
1165# CONFIG_USB_GADGET is not set 1220# CONFIG_USB_GADGET is not set
1166
1167#
1168# MMC/SD Card support
1169#
1170# CONFIG_MMC is not set 1221# CONFIG_MMC is not set
1171 1222
1172# 1223#
@@ -1210,10 +1261,6 @@ CONFIG_USB_MON=y
1210# 1261#
1211 1262
1212# 1263#
1213# Virtualization
1214#
1215
1216#
1217# File systems 1264# File systems
1218# 1265#
1219CONFIG_EXT2_FS=y 1266CONFIG_EXT2_FS=y
@@ -1323,6 +1370,7 @@ CONFIG_MSDOS_PARTITION=y
1323# CONFIG_SUN_PARTITION is not set 1370# CONFIG_SUN_PARTITION is not set
1324# CONFIG_KARMA_PARTITION is not set 1371# CONFIG_KARMA_PARTITION is not set
1325# CONFIG_EFI_PARTITION is not set 1372# CONFIG_EFI_PARTITION is not set
1373# CONFIG_SYSV68_PARTITION is not set
1326 1374
1327# 1375#
1328# Native Language Support 1376# Native Language Support
@@ -1372,6 +1420,7 @@ CONFIG_NLS_ISO8859_1=m
1372# Distributed Lock Manager 1420# Distributed Lock Manager
1373# 1421#
1374# CONFIG_DLM is not set 1422# CONFIG_DLM is not set
1423# CONFIG_UCC_SLOW is not set
1375 1424
1376# 1425#
1377# Library routines 1426# Library routines
@@ -1379,17 +1428,21 @@ CONFIG_NLS_ISO8859_1=m
1379CONFIG_BITREVERSE=y 1428CONFIG_BITREVERSE=y
1380CONFIG_CRC_CCITT=m 1429CONFIG_CRC_CCITT=m
1381# CONFIG_CRC16 is not set 1430# CONFIG_CRC16 is not set
1431# CONFIG_CRC_ITU_T is not set
1382CONFIG_CRC32=y 1432CONFIG_CRC32=y
1383# CONFIG_LIBCRC32C is not set 1433# CONFIG_LIBCRC32C is not set
1384CONFIG_ZLIB_INFLATE=m 1434CONFIG_ZLIB_INFLATE=m
1385CONFIG_ZLIB_DEFLATE=m 1435CONFIG_ZLIB_DEFLATE=m
1386CONFIG_PLIST=y 1436CONFIG_PLIST=y
1387CONFIG_IOMAP_COPY=y 1437CONFIG_HAS_IOMEM=y
1438CONFIG_HAS_IOPORT=y
1439CONFIG_HAS_DMA=y
1388 1440
1389# 1441#
1390# Instrumentation Support 1442# Instrumentation Support
1391# 1443#
1392# CONFIG_PROFILING is not set 1444# CONFIG_PROFILING is not set
1445# CONFIG_KPROBES is not set
1393 1446
1394# 1447#
1395# Kernel hacking 1448# Kernel hacking
@@ -1401,15 +1454,15 @@ CONFIG_MAGIC_SYSRQ=y
1401# CONFIG_DEBUG_FS is not set 1454# CONFIG_DEBUG_FS is not set
1402# CONFIG_HEADERS_CHECK is not set 1455# CONFIG_HEADERS_CHECK is not set
1403CONFIG_DEBUG_KERNEL=y 1456CONFIG_DEBUG_KERNEL=y
1404CONFIG_LOG_BUF_SHIFT=15 1457# CONFIG_DEBUG_SHIRQ is not set
1405CONFIG_DETECT_SOFTLOCKUP=y 1458CONFIG_DETECT_SOFTLOCKUP=y
1406# CONFIG_SCHEDSTATS is not set 1459# CONFIG_SCHEDSTATS is not set
1460# CONFIG_TIMER_STATS is not set
1407# CONFIG_DEBUG_SLAB is not set 1461# CONFIG_DEBUG_SLAB is not set
1408# CONFIG_DEBUG_RT_MUTEXES is not set 1462# CONFIG_DEBUG_RT_MUTEXES is not set
1409# CONFIG_RT_MUTEX_TESTER is not set 1463# CONFIG_RT_MUTEX_TESTER is not set
1410# CONFIG_DEBUG_SPINLOCK is not set 1464# CONFIG_DEBUG_SPINLOCK is not set
1411CONFIG_DEBUG_MUTEXES=y 1465CONFIG_DEBUG_MUTEXES=y
1412# CONFIG_DEBUG_RWSEMS is not set
1413CONFIG_DEBUG_SPINLOCK_SLEEP=y 1466CONFIG_DEBUG_SPINLOCK_SLEEP=y
1414# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set 1467# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1415# CONFIG_DEBUG_KOBJECT is not set 1468# CONFIG_DEBUG_KOBJECT is not set
@@ -1420,6 +1473,10 @@ CONFIG_DEBUG_BUGVERBOSE=y
1420# CONFIG_DEBUG_LIST is not set 1473# CONFIG_DEBUG_LIST is not set
1421CONFIG_FORCED_INLINING=y 1474CONFIG_FORCED_INLINING=y
1422# CONFIG_RCU_TORTURE_TEST is not set 1475# CONFIG_RCU_TORTURE_TEST is not set
1476# CONFIG_FAULT_INJECTION is not set
1477# CONFIG_DEBUG_STACKOVERFLOW is not set
1478# CONFIG_DEBUG_STACK_USAGE is not set
1479# CONFIG_DEBUG_PAGEALLOC is not set
1423CONFIG_DEBUGGER=y 1480CONFIG_DEBUGGER=y
1424CONFIG_XMON=y 1481CONFIG_XMON=y
1425CONFIG_XMON_DEFAULT=y 1482CONFIG_XMON_DEFAULT=y
@@ -1454,8 +1511,11 @@ CONFIG_CRYPTO_SHA1=m
1454# CONFIG_CRYPTO_GF128MUL is not set 1511# CONFIG_CRYPTO_GF128MUL is not set
1455CONFIG_CRYPTO_ECB=m 1512CONFIG_CRYPTO_ECB=m
1456CONFIG_CRYPTO_CBC=m 1513CONFIG_CRYPTO_CBC=m
1514CONFIG_CRYPTO_PCBC=m
1457# CONFIG_CRYPTO_LRW is not set 1515# CONFIG_CRYPTO_LRW is not set
1516# CONFIG_CRYPTO_CRYPTD is not set
1458# CONFIG_CRYPTO_DES is not set 1517# CONFIG_CRYPTO_DES is not set
1518# CONFIG_CRYPTO_FCRYPT is not set
1459# CONFIG_CRYPTO_BLOWFISH is not set 1519# CONFIG_CRYPTO_BLOWFISH is not set
1460# CONFIG_CRYPTO_TWOFISH is not set 1520# CONFIG_CRYPTO_TWOFISH is not set
1461# CONFIG_CRYPTO_SERPENT is not set 1521# CONFIG_CRYPTO_SERPENT is not set
@@ -1469,6 +1529,7 @@ CONFIG_CRYPTO_ARC4=m
1469# CONFIG_CRYPTO_DEFLATE is not set 1529# CONFIG_CRYPTO_DEFLATE is not set
1470# CONFIG_CRYPTO_MICHAEL_MIC is not set 1530# CONFIG_CRYPTO_MICHAEL_MIC is not set
1471# CONFIG_CRYPTO_CRC32C is not set 1531# CONFIG_CRYPTO_CRC32C is not set
1532# CONFIG_CRYPTO_CAMELLIA is not set
1472# CONFIG_CRYPTO_TEST is not set 1533# CONFIG_CRYPTO_TEST is not set
1473 1534
1474# 1535#
diff --git a/arch/powerpc/configs/ebony_defconfig b/arch/powerpc/configs/ebony_defconfig
index c3b96ef3c2d1..5762cddfc148 100644
--- a/arch/powerpc/configs/ebony_defconfig
+++ b/arch/powerpc/configs/ebony_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.21 3# Linux kernel version: 2.6.22-rc6
4# Fri May 4 13:47:08 2007 4# Tue Jun 26 12:38:33 2007
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7CONFIG_PPC32=y 7CONFIG_PPC32=y
@@ -45,6 +45,7 @@ CONFIG_4xx=y
45CONFIG_BOOKE=y 45CONFIG_BOOKE=y
46CONFIG_PTE_64BIT=y 46CONFIG_PTE_64BIT=y
47CONFIG_PHYS_64BIT=y 47CONFIG_PHYS_64BIT=y
48# CONFIG_PPC_MM_SLICES is not set
48CONFIG_NOT_COHERENT_CACHE=y 49CONFIG_NOT_COHERENT_CACHE=y
49CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 50CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
50 51
@@ -70,6 +71,7 @@ CONFIG_POSIX_MQUEUE=y
70# CONFIG_UTS_NS is not set 71# CONFIG_UTS_NS is not set
71# CONFIG_AUDIT is not set 72# CONFIG_AUDIT is not set
72# CONFIG_IKCONFIG is not set 73# CONFIG_IKCONFIG is not set
74CONFIG_LOG_BUF_SHIFT=14
73CONFIG_SYSFS_DEPRECATED=y 75CONFIG_SYSFS_DEPRECATED=y
74# CONFIG_RELAY is not set 76# CONFIG_RELAY is not set
75CONFIG_BLK_DEV_INITRD=y 77CONFIG_BLK_DEV_INITRD=y
@@ -87,14 +89,19 @@ CONFIG_BUG=y
87CONFIG_ELF_CORE=y 89CONFIG_ELF_CORE=y
88CONFIG_BASE_FULL=y 90CONFIG_BASE_FULL=y
89CONFIG_FUTEX=y 91CONFIG_FUTEX=y
92CONFIG_ANON_INODES=y
90CONFIG_EPOLL=y 93CONFIG_EPOLL=y
94CONFIG_SIGNALFD=y
95CONFIG_TIMERFD=y
96CONFIG_EVENTFD=y
91CONFIG_SHMEM=y 97CONFIG_SHMEM=y
92CONFIG_SLAB=y
93CONFIG_VM_EVENT_COUNTERS=y 98CONFIG_VM_EVENT_COUNTERS=y
99CONFIG_SLAB=y
100# CONFIG_SLUB is not set
101# CONFIG_SLOB is not set
94CONFIG_RT_MUTEXES=y 102CONFIG_RT_MUTEXES=y
95# CONFIG_TINY_SHMEM is not set 103# CONFIG_TINY_SHMEM is not set
96CONFIG_BASE_SMALL=0 104CONFIG_BASE_SMALL=0
97# CONFIG_SLOB is not set
98 105
99# 106#
100# Loadable module support 107# Loadable module support
@@ -193,16 +200,14 @@ CONFIG_PPC_INDIRECT_PCI=y
193CONFIG_PCI=y 200CONFIG_PCI=y
194CONFIG_PCI_DOMAINS=y 201CONFIG_PCI_DOMAINS=y
195# CONFIG_PCIEPORTBUS is not set 202# CONFIG_PCIEPORTBUS is not set
203CONFIG_ARCH_SUPPORTS_MSI=y
204# CONFIG_PCI_MSI is not set
196# CONFIG_PCI_DEBUG is not set 205# CONFIG_PCI_DEBUG is not set
197 206
198# 207#
199# PCCARD (PCMCIA/CardBus) support 208# PCCARD (PCMCIA/CardBus) support
200# 209#
201# CONFIG_PCCARD is not set 210# CONFIG_PCCARD is not set
202
203#
204# PCI Hotplug Support
205#
206# CONFIG_HOTPLUG_PCI is not set 211# CONFIG_HOTPLUG_PCI is not set
207 212
208# 213#
@@ -264,20 +269,8 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
264# CONFIG_INET6_TUNNEL is not set 269# CONFIG_INET6_TUNNEL is not set
265# CONFIG_NETWORK_SECMARK is not set 270# CONFIG_NETWORK_SECMARK is not set
266# CONFIG_NETFILTER is not set 271# CONFIG_NETFILTER is not set
267
268#
269# DCCP Configuration (EXPERIMENTAL)
270#
271# CONFIG_IP_DCCP is not set 272# CONFIG_IP_DCCP is not set
272
273#
274# SCTP Configuration (EXPERIMENTAL)
275#
276# CONFIG_IP_SCTP is not set 273# CONFIG_IP_SCTP is not set
277
278#
279# TIPC Configuration (EXPERIMENTAL)
280#
281# CONFIG_TIPC is not set 274# CONFIG_TIPC is not set
282# CONFIG_ATM is not set 275# CONFIG_ATM is not set
283# CONFIG_BRIDGE is not set 276# CONFIG_BRIDGE is not set
@@ -310,7 +303,9 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
310# 303#
311# CONFIG_CFG80211 is not set 304# CONFIG_CFG80211 is not set
312# CONFIG_WIRELESS_EXT is not set 305# CONFIG_WIRELESS_EXT is not set
306# CONFIG_MAC80211 is not set
313# CONFIG_IEEE80211 is not set 307# CONFIG_IEEE80211 is not set
308# CONFIG_RFKILL is not set
314 309
315# 310#
316# Device Drivers 311# Device Drivers
@@ -365,12 +360,10 @@ CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
365# 360#
366# Misc devices 361# Misc devices
367# 362#
363# CONFIG_PHANTOM is not set
368# CONFIG_SGI_IOC4 is not set 364# CONFIG_SGI_IOC4 is not set
369# CONFIG_TIFM_CORE is not set 365# CONFIG_TIFM_CORE is not set
370 366# CONFIG_BLINK is not set
371#
372# ATA/ATAPI/MFM/RLL support
373#
374# CONFIG_IDE is not set 367# CONFIG_IDE is not set
375 368
376# 369#
@@ -379,10 +372,6 @@ CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
379# CONFIG_RAID_ATTRS is not set 372# CONFIG_RAID_ATTRS is not set
380# CONFIG_SCSI is not set 373# CONFIG_SCSI is not set
381# CONFIG_SCSI_NETLINK is not set 374# CONFIG_SCSI_NETLINK is not set
382
383#
384# Serial ATA (prod) and Parallel ATA (experimental) drivers
385#
386# CONFIG_ATA is not set 375# CONFIG_ATA is not set
387 376
388# 377#
@@ -398,6 +387,7 @@ CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
398# 387#
399# IEEE 1394 (FireWire) support 388# IEEE 1394 (FireWire) support
400# 389#
390# CONFIG_FIREWIRE is not set
401# CONFIG_IEEE1394 is not set 391# CONFIG_IEEE1394 is not set
402 392
403# 393#
@@ -414,35 +404,21 @@ CONFIG_NETDEVICES=y
414# CONFIG_BONDING is not set 404# CONFIG_BONDING is not set
415# CONFIG_EQUALIZER is not set 405# CONFIG_EQUALIZER is not set
416# CONFIG_TUN is not set 406# CONFIG_TUN is not set
417
418#
419# ARCnet devices
420#
421# CONFIG_ARCNET is not set 407# CONFIG_ARCNET is not set
422 408
423# 409#
424# PHY device support
425#
426
427#
428# Ethernet (10 or 100Mbit) 410# Ethernet (10 or 100Mbit)
429# 411#
430# CONFIG_NET_ETHERNET is not set 412# CONFIG_NET_ETHERNET is not set
431CONFIG_IBM_NEW_EMAC=y 413CONFIG_IBM_EMAC=y
432CONFIG_IBM_NEW_EMAC_RXB=128 414CONFIG_IBM_EMAC_RXB=128
433CONFIG_IBM_NEW_EMAC_TXB=64 415CONFIG_IBM_EMAC_TXB=64
434CONFIG_IBM_NEW_EMAC_POLL_WEIGHT=32 416CONFIG_IBM_EMAC_POLL_WEIGHT=32
435CONFIG_IBM_NEW_EMAC_RX_COPY_THRESHOLD=256 417CONFIG_IBM_EMAC_RX_COPY_THRESHOLD=256
436CONFIG_IBM_NEW_EMAC_RX_SKB_HEADROOM=0 418CONFIG_IBM_EMAC_RX_SKB_HEADROOM=0
437# CONFIG_IBM_NEW_EMAC_DEBUG is not set 419# CONFIG_IBM_EMAC_DEBUG is not set
438CONFIG_IBM_NEW_EMAC_ZMII=y 420CONFIG_IBM_EMAC_ZMII=y
439# CONFIG_IBM_NEW_EMAC_RGMII is not set 421CONFIG_NETDEV_1000=y
440# CONFIG_IBM_NEW_EMAC_TAH is not set
441# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
442
443#
444# Ethernet (1000 Mbit)
445#
446# CONFIG_ACENIC is not set 422# CONFIG_ACENIC is not set
447# CONFIG_DL2K is not set 423# CONFIG_DL2K is not set
448# CONFIG_E1000 is not set 424# CONFIG_E1000 is not set
@@ -454,24 +430,19 @@ CONFIG_IBM_NEW_EMAC_ZMII=y
454# CONFIG_SKGE is not set 430# CONFIG_SKGE is not set
455# CONFIG_SKY2 is not set 431# CONFIG_SKY2 is not set
456# CONFIG_SK98LIN is not set 432# CONFIG_SK98LIN is not set
433# CONFIG_VIA_VELOCITY is not set
457# CONFIG_TIGON3 is not set 434# CONFIG_TIGON3 is not set
458# CONFIG_BNX2 is not set 435# CONFIG_BNX2 is not set
459# CONFIG_QLA3XXX is not set 436# CONFIG_QLA3XXX is not set
460# CONFIG_ATL1 is not set 437# CONFIG_ATL1 is not set
461 438CONFIG_NETDEV_10000=y
462#
463# Ethernet (10000 Mbit)
464#
465# CONFIG_CHELSIO_T1 is not set 439# CONFIG_CHELSIO_T1 is not set
466# CONFIG_CHELSIO_T3 is not set 440# CONFIG_CHELSIO_T3 is not set
467# CONFIG_IXGB is not set 441# CONFIG_IXGB is not set
468# CONFIG_S2IO is not set 442# CONFIG_S2IO is not set
469# CONFIG_MYRI10GE is not set 443# CONFIG_MYRI10GE is not set
470# CONFIG_NETXEN_NIC is not set 444# CONFIG_NETXEN_NIC is not set
471 445# CONFIG_MLX4_CORE is not set
472#
473# Token Ring devices
474#
475# CONFIG_TR is not set 446# CONFIG_TR is not set
476 447
477# 448#
@@ -479,10 +450,6 @@ CONFIG_IBM_NEW_EMAC_ZMII=y
479# 450#
480# CONFIG_WLAN_PRE80211 is not set 451# CONFIG_WLAN_PRE80211 is not set
481# CONFIG_WLAN_80211 is not set 452# CONFIG_WLAN_80211 is not set
482
483#
484# Wan interfaces
485#
486# CONFIG_WAN is not set 453# CONFIG_WAN is not set
487# CONFIG_FDDI is not set 454# CONFIG_FDDI is not set
488# CONFIG_HIPPI is not set 455# CONFIG_HIPPI is not set
@@ -550,15 +517,10 @@ CONFIG_LEGACY_PTY_COUNT=256
550# IPMI 517# IPMI
551# 518#
552# CONFIG_IPMI_HANDLER is not set 519# CONFIG_IPMI_HANDLER is not set
553
554#
555# Watchdog Cards
556#
557# CONFIG_WATCHDOG is not set 520# CONFIG_WATCHDOG is not set
558# CONFIG_HW_RANDOM is not set 521# CONFIG_HW_RANDOM is not set
559# CONFIG_NVRAM is not set 522# CONFIG_NVRAM is not set
560# CONFIG_GEN_RTC is not set 523# CONFIG_GEN_RTC is not set
561# CONFIG_DTLK is not set
562# CONFIG_R3964 is not set 524# CONFIG_R3964 is not set
563# CONFIG_APPLICOM is not set 525# CONFIG_APPLICOM is not set
564# CONFIG_AGP is not set 526# CONFIG_AGP is not set
@@ -569,10 +531,7 @@ CONFIG_LEGACY_PTY_COUNT=256
569# TPM devices 531# TPM devices
570# 532#
571# CONFIG_TCG_TPM is not set 533# CONFIG_TCG_TPM is not set
572 534CONFIG_DEVPORT=y
573#
574# I2C support
575#
576# CONFIG_I2C is not set 535# CONFIG_I2C is not set
577 536
578# 537#
@@ -585,12 +544,7 @@ CONFIG_LEGACY_PTY_COUNT=256
585# Dallas's 1-wire bus 544# Dallas's 1-wire bus
586# 545#
587# CONFIG_W1 is not set 546# CONFIG_W1 is not set
588
589#
590# Hardware Monitoring support
591#
592# CONFIG_HWMON is not set 547# CONFIG_HWMON is not set
593# CONFIG_HWMON_VID is not set
594 548
595# 549#
596# Multifunction device drivers 550# Multifunction device drivers
@@ -601,16 +555,19 @@ CONFIG_LEGACY_PTY_COUNT=256
601# Multimedia devices 555# Multimedia devices
602# 556#
603# CONFIG_VIDEO_DEV is not set 557# CONFIG_VIDEO_DEV is not set
558# CONFIG_DVB_CORE is not set
559# CONFIG_DAB is not set
604 560
605# 561#
606# Digital Video Broadcasting Devices 562# Graphics support
607# 563#
608# CONFIG_DVB is not set 564# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
609 565
610# 566#
611# Graphics support 567# Display device support
612# 568#
613# CONFIG_BACKLIGHT_LCD_SUPPORT is not set 569# CONFIG_DISPLAY_SUPPORT is not set
570# CONFIG_VGASTATE is not set
614# CONFIG_FB is not set 571# CONFIG_FB is not set
615# CONFIG_FB_IBM_GXT4500 is not set 572# CONFIG_FB_IBM_GXT4500 is not set
616 573
@@ -635,10 +592,6 @@ CONFIG_USB_ARCH_HAS_EHCI=y
635# USB Gadget Support 592# USB Gadget Support
636# 593#
637# CONFIG_USB_GADGET is not set 594# CONFIG_USB_GADGET is not set
638
639#
640# MMC/SD Card support
641#
642# CONFIG_MMC is not set 595# CONFIG_MMC is not set
643 596
644# 597#
@@ -682,14 +635,6 @@ CONFIG_USB_ARCH_HAS_EHCI=y
682# 635#
683 636
684# 637#
685# Auxiliary Display support
686#
687
688#
689# Virtualization
690#
691
692#
693# File systems 638# File systems
694# 639#
695CONFIG_EXT2_FS=y 640CONFIG_EXT2_FS=y
@@ -770,6 +715,7 @@ CONFIG_LOCKD=y
770CONFIG_LOCKD_V4=y 715CONFIG_LOCKD_V4=y
771CONFIG_NFS_COMMON=y 716CONFIG_NFS_COMMON=y
772CONFIG_SUNRPC=y 717CONFIG_SUNRPC=y
718# CONFIG_SUNRPC_BIND34 is not set
773# CONFIG_RPCSEC_GSS_KRB5 is not set 719# CONFIG_RPCSEC_GSS_KRB5 is not set
774# CONFIG_RPCSEC_GSS_SPKM3 is not set 720# CONFIG_RPCSEC_GSS_SPKM3 is not set
775# CONFIG_SMB_FS is not set 721# CONFIG_SMB_FS is not set
@@ -795,7 +741,6 @@ CONFIG_MSDOS_PARTITION=y
795# 741#
796# CONFIG_DLM is not set 742# CONFIG_DLM is not set
797# CONFIG_UCC_SLOW is not set 743# CONFIG_UCC_SLOW is not set
798# CONFIG_UCC_FAST is not set
799 744
800# 745#
801# Library routines 746# Library routines
@@ -803,12 +748,14 @@ CONFIG_MSDOS_PARTITION=y
803CONFIG_BITREVERSE=y 748CONFIG_BITREVERSE=y
804# CONFIG_CRC_CCITT is not set 749# CONFIG_CRC_CCITT is not set
805# CONFIG_CRC16 is not set 750# CONFIG_CRC16 is not set
751# CONFIG_CRC_ITU_T is not set
806CONFIG_CRC32=y 752CONFIG_CRC32=y
807# CONFIG_LIBCRC32C is not set 753# CONFIG_LIBCRC32C is not set
808CONFIG_ZLIB_INFLATE=y 754CONFIG_ZLIB_INFLATE=y
809CONFIG_PLIST=y 755CONFIG_PLIST=y
810CONFIG_HAS_IOMEM=y 756CONFIG_HAS_IOMEM=y
811CONFIG_HAS_IOPORT=y 757CONFIG_HAS_IOPORT=y
758CONFIG_HAS_DMA=y
812 759
813# 760#
814# Instrumentation Support 761# Instrumentation Support
@@ -826,7 +773,6 @@ CONFIG_MAGIC_SYSRQ=y
826# CONFIG_HEADERS_CHECK is not set 773# CONFIG_HEADERS_CHECK is not set
827CONFIG_DEBUG_KERNEL=y 774CONFIG_DEBUG_KERNEL=y
828# CONFIG_DEBUG_SHIRQ is not set 775# CONFIG_DEBUG_SHIRQ is not set
829CONFIG_LOG_BUF_SHIFT=14
830CONFIG_DETECT_SOFTLOCKUP=y 776CONFIG_DETECT_SOFTLOCKUP=y
831# CONFIG_SCHEDSTATS is not set 777# CONFIG_SCHEDSTATS is not set
832# CONFIG_TIMER_STATS is not set 778# CONFIG_TIMER_STATS is not set
@@ -851,7 +797,6 @@ CONFIG_FORCED_INLINING=y
851# CONFIG_DEBUGGER is not set 797# CONFIG_DEBUGGER is not set
852# CONFIG_BDI_SWITCH is not set 798# CONFIG_BDI_SWITCH is not set
853# CONFIG_BOOTX_TEXT is not set 799# CONFIG_BOOTX_TEXT is not set
854# CONFIG_SERIAL_TEXT_DEBUG is not set
855# CONFIG_PPC_EARLY_DEBUG is not set 800# CONFIG_PPC_EARLY_DEBUG is not set
856 801
857# 802#
@@ -882,6 +827,7 @@ CONFIG_CRYPTO_ECB=y
882CONFIG_CRYPTO_CBC=y 827CONFIG_CRYPTO_CBC=y
883CONFIG_CRYPTO_PCBC=y 828CONFIG_CRYPTO_PCBC=y
884# CONFIG_CRYPTO_LRW is not set 829# CONFIG_CRYPTO_LRW is not set
830# CONFIG_CRYPTO_CRYPTD is not set
885CONFIG_CRYPTO_DES=y 831CONFIG_CRYPTO_DES=y
886# CONFIG_CRYPTO_FCRYPT is not set 832# CONFIG_CRYPTO_FCRYPT is not set
887# CONFIG_CRYPTO_BLOWFISH is not set 833# CONFIG_CRYPTO_BLOWFISH is not set
diff --git a/arch/powerpc/configs/g5_defconfig b/arch/powerpc/configs/g5_defconfig
index 3ccf19d8da38..a217f4ebcf71 100644
--- a/arch/powerpc/configs/g5_defconfig
+++ b/arch/powerpc/configs/g5_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.20-rc5 3# Linux kernel version: 2.6.22-rc6
4# Mon Jan 22 22:15:04 2007 4# Tue Jun 26 12:38:34 2007
5# 5#
6CONFIG_PPC64=y 6CONFIG_PPC64=y
7CONFIG_64BIT=y 7CONFIG_64BIT=y
@@ -27,6 +27,7 @@ CONFIG_GENERIC_TBSYNC=y
27CONFIG_AUDIT_ARCH=y 27CONFIG_AUDIT_ARCH=y
28CONFIG_GENERIC_BUG=y 28CONFIG_GENERIC_BUG=y
29# CONFIG_DEFAULT_UIMAGE is not set 29# CONFIG_DEFAULT_UIMAGE is not set
30CONFIG_PPC64_SWSUSP=y
30 31
31# 32#
32# Processor support 33# Processor support
@@ -39,6 +40,7 @@ CONFIG_PPC_FPU=y
39# CONFIG_PPC_OF_PLATFORM_PCI is not set 40# CONFIG_PPC_OF_PLATFORM_PCI is not set
40CONFIG_ALTIVEC=y 41CONFIG_ALTIVEC=y
41CONFIG_PPC_STD_MMU=y 42CONFIG_PPC_STD_MMU=y
43CONFIG_PPC_MM_SLICES=y
42CONFIG_VIRT_CPU_ACCOUNTING=y 44CONFIG_VIRT_CPU_ACCOUNTING=y
43CONFIG_SMP=y 45CONFIG_SMP=y
44CONFIG_NR_CPUS=4 46CONFIG_NR_CPUS=4
@@ -59,6 +61,7 @@ CONFIG_LOCALVERSION_AUTO=y
59CONFIG_SWAP=y 61CONFIG_SWAP=y
60CONFIG_SYSVIPC=y 62CONFIG_SYSVIPC=y
61# CONFIG_IPC_NS is not set 63# CONFIG_IPC_NS is not set
64CONFIG_SYSVIPC_SYSCTL=y
62CONFIG_POSIX_MQUEUE=y 65CONFIG_POSIX_MQUEUE=y
63# CONFIG_BSD_PROCESS_ACCT is not set 66# CONFIG_BSD_PROCESS_ACCT is not set
64# CONFIG_TASKSTATS is not set 67# CONFIG_TASKSTATS is not set
@@ -66,9 +69,11 @@ CONFIG_POSIX_MQUEUE=y
66# CONFIG_AUDIT is not set 69# CONFIG_AUDIT is not set
67CONFIG_IKCONFIG=y 70CONFIG_IKCONFIG=y
68CONFIG_IKCONFIG_PROC=y 71CONFIG_IKCONFIG_PROC=y
72CONFIG_LOG_BUF_SHIFT=17
69# CONFIG_CPUSETS is not set 73# CONFIG_CPUSETS is not set
70CONFIG_SYSFS_DEPRECATED=y 74CONFIG_SYSFS_DEPRECATED=y
71# CONFIG_RELAY is not set 75# CONFIG_RELAY is not set
76CONFIG_BLK_DEV_INITRD=y
72CONFIG_INITRAMFS_SOURCE="" 77CONFIG_INITRAMFS_SOURCE=""
73CONFIG_CC_OPTIMIZE_FOR_SIZE=y 78CONFIG_CC_OPTIMIZE_FOR_SIZE=y
74CONFIG_SYSCTL=y 79CONFIG_SYSCTL=y
@@ -83,14 +88,19 @@ CONFIG_BUG=y
83CONFIG_ELF_CORE=y 88CONFIG_ELF_CORE=y
84CONFIG_BASE_FULL=y 89CONFIG_BASE_FULL=y
85CONFIG_FUTEX=y 90CONFIG_FUTEX=y
91CONFIG_ANON_INODES=y
86CONFIG_EPOLL=y 92CONFIG_EPOLL=y
93CONFIG_SIGNALFD=y
94CONFIG_TIMERFD=y
95CONFIG_EVENTFD=y
87CONFIG_SHMEM=y 96CONFIG_SHMEM=y
88CONFIG_SLAB=y
89CONFIG_VM_EVENT_COUNTERS=y 97CONFIG_VM_EVENT_COUNTERS=y
98CONFIG_SLAB=y
99# CONFIG_SLUB is not set
100# CONFIG_SLOB is not set
90CONFIG_RT_MUTEXES=y 101CONFIG_RT_MUTEXES=y
91# CONFIG_TINY_SHMEM is not set 102# CONFIG_TINY_SHMEM is not set
92CONFIG_BASE_SMALL=0 103CONFIG_BASE_SMALL=0
93# CONFIG_SLOB is not set
94 104
95# 105#
96# Loadable module support 106# Loadable module support
@@ -131,15 +141,21 @@ CONFIG_PPC_MULTIPLATFORM=y
131# CONFIG_PPC_PSERIES is not set 141# CONFIG_PPC_PSERIES is not set
132# CONFIG_PPC_ISERIES is not set 142# CONFIG_PPC_ISERIES is not set
133# CONFIG_PPC_MPC52xx is not set 143# CONFIG_PPC_MPC52xx is not set
144# CONFIG_PPC_MPC5200 is not set
134CONFIG_PPC_PMAC=y 145CONFIG_PPC_PMAC=y
135CONFIG_PPC_PMAC64=y 146CONFIG_PPC_PMAC64=y
136# CONFIG_PPC_MAPLE is not set 147# CONFIG_PPC_MAPLE is not set
137# CONFIG_PPC_PASEMI is not set 148# CONFIG_PPC_PASEMI is not set
149# CONFIG_PPC_CELLEB is not set
150# CONFIG_PPC_PS3 is not set
138# CONFIG_PPC_CELL is not set 151# CONFIG_PPC_CELL is not set
139# CONFIG_PPC_CELL_NATIVE is not set 152# CONFIG_PPC_CELL_NATIVE is not set
140# CONFIG_PPC_IBM_CELL_BLADE is not set 153# CONFIG_PPC_IBM_CELL_BLADE is not set
141# CONFIG_PPC_PS3 is not set 154# CONFIG_PQ2ADS is not set
142CONFIG_PPC_NATIVE=y 155CONFIG_PPC_NATIVE=y
156CONFIG_MPIC=y
157# CONFIG_MPIC_WEIRD is not set
158# CONFIG_PPC_I8259 is not set
143CONFIG_U3_DART=y 159CONFIG_U3_DART=y
144# CONFIG_PPC_RTAS is not set 160# CONFIG_PPC_RTAS is not set
145# CONFIG_MMIO_NVRAM is not set 161# CONFIG_MMIO_NVRAM is not set
@@ -160,9 +176,12 @@ CONFIG_CPU_FREQ_GOV_POWERSAVE=y
160CONFIG_CPU_FREQ_GOV_USERSPACE=y 176CONFIG_CPU_FREQ_GOV_USERSPACE=y
161# CONFIG_CPU_FREQ_GOV_ONDEMAND is not set 177# CONFIG_CPU_FREQ_GOV_ONDEMAND is not set
162# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set 178# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set
179
180#
181# CPU Frequency drivers
182#
163CONFIG_CPU_FREQ_PMAC64=y 183CONFIG_CPU_FREQ_PMAC64=y
164# CONFIG_WANT_EARLY_SERIAL is not set 184# CONFIG_CPM2 is not set
165CONFIG_MPIC=y
166 185
167# 186#
168# Kernel options 187# Kernel options
@@ -199,34 +218,34 @@ CONFIG_FLAT_NODE_MEM_MAP=y
199# CONFIG_SPARSEMEM_STATIC is not set 218# CONFIG_SPARSEMEM_STATIC is not set
200CONFIG_SPLIT_PTLOCK_CPUS=4 219CONFIG_SPLIT_PTLOCK_CPUS=4
201CONFIG_RESOURCES_64BIT=y 220CONFIG_RESOURCES_64BIT=y
221CONFIG_ZONE_DMA_FLAG=1
222# CONFIG_PPC_HAS_HASH_64K is not set
202# CONFIG_PPC_64K_PAGES is not set 223# CONFIG_PPC_64K_PAGES is not set
203# CONFIG_SCHED_SMT is not set 224# CONFIG_SCHED_SMT is not set
204CONFIG_PROC_DEVICETREE=y 225CONFIG_PROC_DEVICETREE=y
205# CONFIG_CMDLINE_BOOL is not set 226# CONFIG_CMDLINE_BOOL is not set
206# CONFIG_PM is not set 227# CONFIG_PM is not set
207CONFIG_SECCOMP=y 228CONFIG_SECCOMP=y
229# CONFIG_WANT_DEVICE_TREE is not set
208CONFIG_ISA_DMA_API=y 230CONFIG_ISA_DMA_API=y
209 231
210# 232#
211# Bus options 233# Bus options
212# 234#
235CONFIG_ZONE_DMA=y
213CONFIG_GENERIC_ISA_DMA=y 236CONFIG_GENERIC_ISA_DMA=y
214# CONFIG_MPIC_WEIRD is not set
215# CONFIG_PPC_I8259 is not set
216# CONFIG_PPC_INDIRECT_PCI is not set 237# CONFIG_PPC_INDIRECT_PCI is not set
217CONFIG_PCI=y 238CONFIG_PCI=y
218CONFIG_PCI_DOMAINS=y 239CONFIG_PCI_DOMAINS=y
219# CONFIG_PCIEPORTBUS is not set 240# CONFIG_PCIEPORTBUS is not set
241CONFIG_ARCH_SUPPORTS_MSI=y
242CONFIG_PCI_MSI=y
220# CONFIG_PCI_DEBUG is not set 243# CONFIG_PCI_DEBUG is not set
221 244
222# 245#
223# PCCARD (PCMCIA/CardBus) support 246# PCCARD (PCMCIA/CardBus) support
224# 247#
225# CONFIG_PCCARD is not set 248# CONFIG_PCCARD is not set
226
227#
228# PCI Hotplug Support
229#
230# CONFIG_HOTPLUG_PCI is not set 249# CONFIG_HOTPLUG_PCI is not set
231CONFIG_KERNEL_START=0xc000000000000000 250CONFIG_KERNEL_START=0xc000000000000000
232 251
@@ -238,14 +257,15 @@ CONFIG_NET=y
238# 257#
239# Networking options 258# Networking options
240# 259#
241# CONFIG_NETDEBUG is not set
242CONFIG_PACKET=y 260CONFIG_PACKET=y
243# CONFIG_PACKET_MMAP is not set 261# CONFIG_PACKET_MMAP is not set
244CONFIG_UNIX=y 262CONFIG_UNIX=y
245CONFIG_XFRM=y 263CONFIG_XFRM=y
246CONFIG_XFRM_USER=m 264CONFIG_XFRM_USER=m
247# CONFIG_XFRM_SUB_POLICY is not set 265# CONFIG_XFRM_SUB_POLICY is not set
266# CONFIG_XFRM_MIGRATE is not set
248CONFIG_NET_KEY=m 267CONFIG_NET_KEY=m
268# CONFIG_NET_KEY_MIGRATE is not set
249CONFIG_INET=y 269CONFIG_INET=y
250CONFIG_IP_MULTICAST=y 270CONFIG_IP_MULTICAST=y
251# CONFIG_IP_ADVANCED_ROUTER is not set 271# CONFIG_IP_ADVANCED_ROUTER is not set
@@ -270,10 +290,6 @@ CONFIG_INET_TCP_DIAG=y
270CONFIG_TCP_CONG_CUBIC=y 290CONFIG_TCP_CONG_CUBIC=y
271CONFIG_DEFAULT_TCP_CONG="cubic" 291CONFIG_DEFAULT_TCP_CONG="cubic"
272# CONFIG_TCP_MD5SIG is not set 292# CONFIG_TCP_MD5SIG is not set
273
274#
275# IP: Virtual Server Configuration
276#
277# CONFIG_IP_VS is not set 293# CONFIG_IP_VS is not set
278# CONFIG_IPV6 is not set 294# CONFIG_IPV6 is not set
279# CONFIG_INET6_XFRM_TUNNEL is not set 295# CONFIG_INET6_XFRM_TUNNEL is not set
@@ -287,8 +303,6 @@ CONFIG_NETFILTER=y
287# 303#
288# CONFIG_NETFILTER_NETLINK is not set 304# CONFIG_NETFILTER_NETLINK is not set
289CONFIG_NF_CONNTRACK_ENABLED=m 305CONFIG_NF_CONNTRACK_ENABLED=m
290CONFIG_NF_CONNTRACK_SUPPORT=y
291# CONFIG_IP_NF_CONNTRACK_SUPPORT is not set
292CONFIG_NF_CONNTRACK=m 306CONFIG_NF_CONNTRACK=m
293# CONFIG_NF_CT_ACCT is not set 307# CONFIG_NF_CT_ACCT is not set
294CONFIG_NF_CONNTRACK_MARK=y 308CONFIG_NF_CONNTRACK_MARK=y
@@ -300,6 +314,7 @@ CONFIG_NF_CONNTRACK_FTP=m
300CONFIG_NF_CONNTRACK_IRC=m 314CONFIG_NF_CONNTRACK_IRC=m
301# CONFIG_NF_CONNTRACK_NETBIOS_NS is not set 315# CONFIG_NF_CONNTRACK_NETBIOS_NS is not set
302# CONFIG_NF_CONNTRACK_PPTP is not set 316# CONFIG_NF_CONNTRACK_PPTP is not set
317# CONFIG_NF_CONNTRACK_SANE is not set
303# CONFIG_NF_CONNTRACK_SIP is not set 318# CONFIG_NF_CONNTRACK_SIP is not set
304CONFIG_NF_CONNTRACK_TFTP=m 319CONFIG_NF_CONNTRACK_TFTP=m
305# CONFIG_NETFILTER_XTABLES is not set 320# CONFIG_NETFILTER_XTABLES is not set
@@ -310,20 +325,10 @@ CONFIG_NF_CONNTRACK_TFTP=m
310CONFIG_NF_CONNTRACK_IPV4=m 325CONFIG_NF_CONNTRACK_IPV4=m
311CONFIG_NF_CONNTRACK_PROC_COMPAT=y 326CONFIG_NF_CONNTRACK_PROC_COMPAT=y
312CONFIG_IP_NF_QUEUE=m 327CONFIG_IP_NF_QUEUE=m
313 328# CONFIG_IP_NF_IPTABLES is not set
314# 329# CONFIG_IP_NF_ARPTABLES is not set
315# DCCP Configuration (EXPERIMENTAL)
316#
317# CONFIG_IP_DCCP is not set 330# CONFIG_IP_DCCP is not set
318
319#
320# SCTP Configuration (EXPERIMENTAL)
321#
322# CONFIG_IP_SCTP is not set 331# CONFIG_IP_SCTP is not set
323
324#
325# TIPC Configuration (EXPERIMENTAL)
326#
327# CONFIG_TIPC is not set 332# CONFIG_TIPC is not set
328# CONFIG_ATM is not set 333# CONFIG_ATM is not set
329# CONFIG_BRIDGE is not set 334# CONFIG_BRIDGE is not set
@@ -350,7 +355,16 @@ CONFIG_LLC=y
350# CONFIG_HAMRADIO is not set 355# CONFIG_HAMRADIO is not set
351# CONFIG_IRDA is not set 356# CONFIG_IRDA is not set
352# CONFIG_BT is not set 357# CONFIG_BT is not set
358# CONFIG_AF_RXRPC is not set
359
360#
361# Wireless
362#
363# CONFIG_CFG80211 is not set
364# CONFIG_WIRELESS_EXT is not set
365# CONFIG_MAC80211 is not set
353# CONFIG_IEEE80211 is not set 366# CONFIG_IEEE80211 is not set
367# CONFIG_RFKILL is not set
354 368
355# 369#
356# Device Drivers 370# Device Drivers
@@ -363,16 +377,13 @@ CONFIG_STANDALONE=y
363CONFIG_PREVENT_FIRMWARE_BUILD=y 377CONFIG_PREVENT_FIRMWARE_BUILD=y
364CONFIG_FW_LOADER=y 378CONFIG_FW_LOADER=y
365# CONFIG_DEBUG_DRIVER is not set 379# CONFIG_DEBUG_DRIVER is not set
380# CONFIG_DEBUG_DEVRES is not set
366# CONFIG_SYS_HYPERVISOR is not set 381# CONFIG_SYS_HYPERVISOR is not set
367 382
368# 383#
369# Connector - unified userspace <-> kernelspace linker 384# Connector - unified userspace <-> kernelspace linker
370# 385#
371# CONFIG_CONNECTOR is not set 386# CONFIG_CONNECTOR is not set
372
373#
374# Memory Technology Devices (MTD)
375#
376# CONFIG_MTD is not set 387# CONFIG_MTD is not set
377 388
378# 389#
@@ -383,6 +394,7 @@ CONFIG_FW_LOADER=y
383# 394#
384# Plug and Play support 395# Plug and Play support
385# 396#
397# CONFIG_PNPACPI is not set
386 398
387# 399#
388# Block devices 400# Block devices
@@ -402,7 +414,6 @@ CONFIG_BLK_DEV_RAM=y
402CONFIG_BLK_DEV_RAM_COUNT=16 414CONFIG_BLK_DEV_RAM_COUNT=16
403CONFIG_BLK_DEV_RAM_SIZE=65536 415CONFIG_BLK_DEV_RAM_SIZE=65536
404CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 416CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
405CONFIG_BLK_DEV_INITRD=y
406CONFIG_CDROM_PKTCDVD=m 417CONFIG_CDROM_PKTCDVD=m
407CONFIG_CDROM_PKTCDVD_BUFFERS=8 418CONFIG_CDROM_PKTCDVD_BUFFERS=8
408# CONFIG_CDROM_PKTCDVD_WCACHE is not set 419# CONFIG_CDROM_PKTCDVD_WCACHE is not set
@@ -411,12 +422,10 @@ CONFIG_CDROM_PKTCDVD_BUFFERS=8
411# 422#
412# Misc devices 423# Misc devices
413# 424#
425# CONFIG_PHANTOM is not set
414# CONFIG_SGI_IOC4 is not set 426# CONFIG_SGI_IOC4 is not set
415# CONFIG_TIFM_CORE is not set 427# CONFIG_TIFM_CORE is not set
416 428# CONFIG_BLINK is not set
417#
418# ATA/ATAPI/MFM/RLL support
419#
420CONFIG_IDE=y 429CONFIG_IDE=y
421CONFIG_BLK_DEV_IDE=y 430CONFIG_BLK_DEV_IDE=y
422 431
@@ -431,6 +440,7 @@ CONFIG_BLK_DEV_IDECD=y
431# CONFIG_BLK_DEV_IDEFLOPPY is not set 440# CONFIG_BLK_DEV_IDEFLOPPY is not set
432# CONFIG_BLK_DEV_IDESCSI is not set 441# CONFIG_BLK_DEV_IDESCSI is not set
433# CONFIG_IDE_TASK_IOCTL is not set 442# CONFIG_IDE_TASK_IOCTL is not set
443CONFIG_IDE_PROC_FS=y
434 444
435# 445#
436# IDE chipset support/bugfixes 446# IDE chipset support/bugfixes
@@ -438,12 +448,12 @@ CONFIG_BLK_DEV_IDECD=y
438CONFIG_IDE_GENERIC=y 448CONFIG_IDE_GENERIC=y
439CONFIG_BLK_DEV_IDEPCI=y 449CONFIG_BLK_DEV_IDEPCI=y
440# CONFIG_IDEPCI_SHARE_IRQ is not set 450# CONFIG_IDEPCI_SHARE_IRQ is not set
451CONFIG_IDEPCI_PCIBUS_ORDER=y
441# CONFIG_BLK_DEV_OFFBOARD is not set 452# CONFIG_BLK_DEV_OFFBOARD is not set
442# CONFIG_BLK_DEV_GENERIC is not set 453# CONFIG_BLK_DEV_GENERIC is not set
443# CONFIG_BLK_DEV_OPTI621 is not set 454# CONFIG_BLK_DEV_OPTI621 is not set
444CONFIG_BLK_DEV_IDEDMA_PCI=y 455CONFIG_BLK_DEV_IDEDMA_PCI=y
445# CONFIG_BLK_DEV_IDEDMA_FORCED is not set 456# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
446CONFIG_IDEDMA_PCI_AUTO=y
447# CONFIG_IDEDMA_ONLYDISK is not set 457# CONFIG_IDEDMA_ONLYDISK is not set
448# CONFIG_BLK_DEV_AEC62XX is not set 458# CONFIG_BLK_DEV_AEC62XX is not set
449# CONFIG_BLK_DEV_ALI15X3 is not set 459# CONFIG_BLK_DEV_ALI15X3 is not set
@@ -458,6 +468,7 @@ CONFIG_IDEDMA_PCI_AUTO=y
458# CONFIG_BLK_DEV_JMICRON is not set 468# CONFIG_BLK_DEV_JMICRON is not set
459# CONFIG_BLK_DEV_SC1200 is not set 469# CONFIG_BLK_DEV_SC1200 is not set
460# CONFIG_BLK_DEV_PIIX is not set 470# CONFIG_BLK_DEV_PIIX is not set
471# CONFIG_BLK_DEV_IT8213 is not set
461# CONFIG_BLK_DEV_IT821X is not set 472# CONFIG_BLK_DEV_IT821X is not set
462# CONFIG_BLK_DEV_NS87415 is not set 473# CONFIG_BLK_DEV_NS87415 is not set
463# CONFIG_BLK_DEV_PDC202XX_OLD is not set 474# CONFIG_BLK_DEV_PDC202XX_OLD is not set
@@ -468,13 +479,13 @@ CONFIG_IDEDMA_PCI_AUTO=y
468# CONFIG_BLK_DEV_SLC90E66 is not set 479# CONFIG_BLK_DEV_SLC90E66 is not set
469# CONFIG_BLK_DEV_TRM290 is not set 480# CONFIG_BLK_DEV_TRM290 is not set
470# CONFIG_BLK_DEV_VIA82CXXX is not set 481# CONFIG_BLK_DEV_VIA82CXXX is not set
482# CONFIG_BLK_DEV_TC86C001 is not set
471CONFIG_BLK_DEV_IDE_PMAC=y 483CONFIG_BLK_DEV_IDE_PMAC=y
472CONFIG_BLK_DEV_IDE_PMAC_ATA100FIRST=y 484CONFIG_BLK_DEV_IDE_PMAC_ATA100FIRST=y
473CONFIG_BLK_DEV_IDEDMA_PMAC=y 485CONFIG_BLK_DEV_IDEDMA_PMAC=y
474# CONFIG_IDE_ARM is not set 486# CONFIG_IDE_ARM is not set
475CONFIG_BLK_DEV_IDEDMA=y 487CONFIG_BLK_DEV_IDEDMA=y
476# CONFIG_IDEDMA_IVB is not set 488# CONFIG_IDEDMA_IVB is not set
477CONFIG_IDEDMA_AUTO=y
478# CONFIG_BLK_DEV_HD is not set 489# CONFIG_BLK_DEV_HD is not set
479 490
480# 491#
@@ -504,6 +515,7 @@ CONFIG_SCSI_MULTI_LUN=y
504CONFIG_SCSI_CONSTANTS=y 515CONFIG_SCSI_CONSTANTS=y
505# CONFIG_SCSI_LOGGING is not set 516# CONFIG_SCSI_LOGGING is not set
506# CONFIG_SCSI_SCAN_ASYNC is not set 517# CONFIG_SCSI_SCAN_ASYNC is not set
518CONFIG_SCSI_WAIT_SCAN=m
507 519
508# 520#
509# SCSI Transports 521# SCSI Transports
@@ -550,11 +562,8 @@ CONFIG_SCSI_SPI_ATTRS=y
550# CONFIG_SCSI_DC390T is not set 562# CONFIG_SCSI_DC390T is not set
551# CONFIG_SCSI_DEBUG is not set 563# CONFIG_SCSI_DEBUG is not set
552# CONFIG_SCSI_SRP is not set 564# CONFIG_SCSI_SRP is not set
553
554#
555# Serial ATA (prod) and Parallel ATA (experimental) drivers
556#
557CONFIG_ATA=y 565CONFIG_ATA=y
566# CONFIG_ATA_NONSTANDARD is not set
558# CONFIG_SATA_AHCI is not set 567# CONFIG_SATA_AHCI is not set
559CONFIG_SATA_SVW=y 568CONFIG_SATA_SVW=y
560# CONFIG_ATA_PIIX is not set 569# CONFIG_ATA_PIIX is not set
@@ -570,10 +579,12 @@ CONFIG_SATA_SVW=y
570# CONFIG_SATA_ULI is not set 579# CONFIG_SATA_ULI is not set
571# CONFIG_SATA_VIA is not set 580# CONFIG_SATA_VIA is not set
572# CONFIG_SATA_VITESSE is not set 581# CONFIG_SATA_VITESSE is not set
582# CONFIG_SATA_INIC162X is not set
573# CONFIG_PATA_ALI is not set 583# CONFIG_PATA_ALI is not set
574# CONFIG_PATA_AMD is not set 584# CONFIG_PATA_AMD is not set
575# CONFIG_PATA_ARTOP is not set 585# CONFIG_PATA_ARTOP is not set
576# CONFIG_PATA_ATIIXP is not set 586# CONFIG_PATA_ATIIXP is not set
587# CONFIG_PATA_CMD640_PCI is not set
577# CONFIG_PATA_CMD64X is not set 588# CONFIG_PATA_CMD64X is not set
578# CONFIG_PATA_CS5520 is not set 589# CONFIG_PATA_CS5520 is not set
579# CONFIG_PATA_CS5530 is not set 590# CONFIG_PATA_CS5530 is not set
@@ -585,6 +596,7 @@ CONFIG_SATA_SVW=y
585# CONFIG_PATA_HPT3X2N is not set 596# CONFIG_PATA_HPT3X2N is not set
586# CONFIG_PATA_HPT3X3 is not set 597# CONFIG_PATA_HPT3X3 is not set
587# CONFIG_PATA_IT821X is not set 598# CONFIG_PATA_IT821X is not set
599# CONFIG_PATA_IT8213 is not set
588# CONFIG_PATA_JMICRON is not set 600# CONFIG_PATA_JMICRON is not set
589# CONFIG_PATA_TRIFLEX is not set 601# CONFIG_PATA_TRIFLEX is not set
590# CONFIG_PATA_MARVELL is not set 602# CONFIG_PATA_MARVELL is not set
@@ -624,6 +636,7 @@ CONFIG_DM_SNAPSHOT=m
624CONFIG_DM_MIRROR=m 636CONFIG_DM_MIRROR=m
625CONFIG_DM_ZERO=m 637CONFIG_DM_ZERO=m
626# CONFIG_DM_MULTIPATH is not set 638# CONFIG_DM_MULTIPATH is not set
639# CONFIG_DM_DELAY is not set
627 640
628# 641#
629# Fusion MPT device support 642# Fusion MPT device support
@@ -636,28 +649,26 @@ CONFIG_DM_ZERO=m
636# 649#
637# IEEE 1394 (FireWire) support 650# IEEE 1394 (FireWire) support
638# 651#
652# CONFIG_FIREWIRE is not set
639CONFIG_IEEE1394=y 653CONFIG_IEEE1394=y
640 654
641# 655#
642# Subsystem Options 656# Subsystem Options
643# 657#
644# CONFIG_IEEE1394_VERBOSEDEBUG is not set 658# CONFIG_IEEE1394_VERBOSEDEBUG is not set
645CONFIG_IEEE1394_OUI_DB=y
646CONFIG_IEEE1394_EXTRA_CONFIG_ROMS=y
647CONFIG_IEEE1394_CONFIG_ROM_IP1394=y
648# CONFIG_IEEE1394_EXPORT_FULL_API is not set
649 659
650# 660#
651# Device Drivers 661# Controllers
652# 662#
653# CONFIG_IEEE1394_PCILYNX is not set 663# CONFIG_IEEE1394_PCILYNX is not set
654CONFIG_IEEE1394_OHCI1394=y 664CONFIG_IEEE1394_OHCI1394=y
655 665
656# 666#
657# Protocol Drivers 667# Protocols
658# 668#
659CONFIG_IEEE1394_VIDEO1394=m 669CONFIG_IEEE1394_VIDEO1394=m
660CONFIG_IEEE1394_SBP2=m 670CONFIG_IEEE1394_SBP2=m
671CONFIG_IEEE1394_ETH1394_ROM_ENTRY=y
661CONFIG_IEEE1394_ETH1394=m 672CONFIG_IEEE1394_ETH1394=m
662CONFIG_IEEE1394_DV1394=m 673CONFIG_IEEE1394_DV1394=m
663CONFIG_IEEE1394_RAWIO=y 674CONFIG_IEEE1394_RAWIO=y
@@ -666,10 +677,7 @@ CONFIG_IEEE1394_RAWIO=y
666# I2O device support 677# I2O device support
667# 678#
668# CONFIG_I2O is not set 679# CONFIG_I2O is not set
669 680CONFIG_MACINTOSH_DRIVERS=y
670#
671# Macintosh device drivers
672#
673CONFIG_ADB_PMU=y 681CONFIG_ADB_PMU=y
674# CONFIG_ADB_PMU_LED is not set 682# CONFIG_ADB_PMU_LED is not set
675CONFIG_PMAC_SMU=y 683CONFIG_PMAC_SMU=y
@@ -689,15 +697,7 @@ CONFIG_DUMMY=m
689CONFIG_BONDING=m 697CONFIG_BONDING=m
690# CONFIG_EQUALIZER is not set 698# CONFIG_EQUALIZER is not set
691CONFIG_TUN=m 699CONFIG_TUN=m
692
693#
694# ARCnet devices
695#
696# CONFIG_ARCNET is not set 700# CONFIG_ARCNET is not set
697
698#
699# PHY device support
700#
701# CONFIG_PHYLIB is not set 701# CONFIG_PHYLIB is not set
702 702
703# 703#
@@ -716,10 +716,7 @@ CONFIG_SUNGEM=y
716# CONFIG_NET_TULIP is not set 716# CONFIG_NET_TULIP is not set
717# CONFIG_HP100 is not set 717# CONFIG_HP100 is not set
718# CONFIG_NET_PCI is not set 718# CONFIG_NET_PCI is not set
719 719CONFIG_NETDEV_1000=y
720#
721# Ethernet (1000 Mbit)
722#
723CONFIG_ACENIC=y 720CONFIG_ACENIC=y
724CONFIG_ACENIC_OMIT_TIGON_I=y 721CONFIG_ACENIC_OMIT_TIGON_I=y
725# CONFIG_DL2K is not set 722# CONFIG_DL2K is not set
@@ -734,35 +731,50 @@ CONFIG_E1000=y
734# CONFIG_SKGE is not set 731# CONFIG_SKGE is not set
735# CONFIG_SKY2 is not set 732# CONFIG_SKY2 is not set
736# CONFIG_SK98LIN is not set 733# CONFIG_SK98LIN is not set
734# CONFIG_VIA_VELOCITY is not set
737CONFIG_TIGON3=y 735CONFIG_TIGON3=y
738# CONFIG_BNX2 is not set 736# CONFIG_BNX2 is not set
739# CONFIG_QLA3XXX is not set 737# CONFIG_QLA3XXX is not set
740 738# CONFIG_ATL1 is not set
741# 739CONFIG_NETDEV_10000=y
742# Ethernet (10000 Mbit)
743#
744# CONFIG_CHELSIO_T1 is not set 740# CONFIG_CHELSIO_T1 is not set
741# CONFIG_CHELSIO_T3 is not set
745# CONFIG_IXGB is not set 742# CONFIG_IXGB is not set
746# CONFIG_S2IO is not set 743# CONFIG_S2IO is not set
747# CONFIG_MYRI10GE is not set 744# CONFIG_MYRI10GE is not set
748# CONFIG_NETXEN_NIC is not set 745# CONFIG_NETXEN_NIC is not set
749 746# CONFIG_PASEMI_MAC is not set
750# 747# CONFIG_MLX4_CORE is not set
751# Token Ring devices
752#
753CONFIG_TR=y 748CONFIG_TR=y
754CONFIG_IBMOL=y 749CONFIG_IBMOL=y
755# CONFIG_3C359 is not set 750# CONFIG_3C359 is not set
756# CONFIG_TMS380TR is not set 751# CONFIG_TMS380TR is not set
757 752
758# 753#
759# Wireless LAN (non-hamradio) 754# Wireless LAN
760# 755#
761# CONFIG_NET_RADIO is not set 756# CONFIG_WLAN_PRE80211 is not set
757# CONFIG_WLAN_80211 is not set
762 758
763# 759#
764# Wan interfaces 760# USB Network Adapters
765# 761#
762CONFIG_USB_CATC=m
763CONFIG_USB_KAWETH=m
764CONFIG_USB_PEGASUS=m
765CONFIG_USB_RTL8150=m
766# CONFIG_USB_USBNET_MII is not set
767CONFIG_USB_USBNET=m
768# CONFIG_USB_NET_AX8817X is not set
769CONFIG_USB_NET_CDCETHER=m
770# CONFIG_USB_NET_DM9601 is not set
771# CONFIG_USB_NET_GL620A is not set
772# CONFIG_USB_NET_NET1080 is not set
773# CONFIG_USB_NET_PLUSB is not set
774# CONFIG_USB_NET_MCS7830 is not set
775# CONFIG_USB_NET_RNDIS_HOST is not set
776# CONFIG_USB_NET_CDC_SUBSET is not set
777# CONFIG_USB_NET_ZAURUS is not set
766# CONFIG_WAN is not set 778# CONFIG_WAN is not set
767# CONFIG_FDDI is not set 779# CONFIG_FDDI is not set
768# CONFIG_HIPPI is not set 780# CONFIG_HIPPI is not set
@@ -798,6 +810,7 @@ CONFIG_SLHC=m
798# 810#
799CONFIG_INPUT=y 811CONFIG_INPUT=y
800CONFIG_INPUT_FF_MEMLESS=y 812CONFIG_INPUT_FF_MEMLESS=y
813# CONFIG_INPUT_POLLDEV is not set
801 814
802# 815#
803# Userland interfaces 816# Userland interfaces
@@ -824,8 +837,10 @@ CONFIG_INPUT_KEYBOARD=y
824CONFIG_INPUT_MOUSE=y 837CONFIG_INPUT_MOUSE=y
825# CONFIG_MOUSE_PS2 is not set 838# CONFIG_MOUSE_PS2 is not set
826# CONFIG_MOUSE_SERIAL is not set 839# CONFIG_MOUSE_SERIAL is not set
840# CONFIG_MOUSE_APPLETOUCH is not set
827# CONFIG_MOUSE_VSXXXAA is not set 841# CONFIG_MOUSE_VSXXXAA is not set
828# CONFIG_INPUT_JOYSTICK is not set 842# CONFIG_INPUT_JOYSTICK is not set
843# CONFIG_INPUT_TABLET is not set
829# CONFIG_INPUT_TOUCHSCREEN is not set 844# CONFIG_INPUT_TOUCHSCREEN is not set
830# CONFIG_INPUT_MISC is not set 845# CONFIG_INPUT_MISC is not set
831 846
@@ -866,15 +881,10 @@ CONFIG_LEGACY_PTY_COUNT=256
866# IPMI 881# IPMI
867# 882#
868# CONFIG_IPMI_HANDLER is not set 883# CONFIG_IPMI_HANDLER is not set
869
870#
871# Watchdog Cards
872#
873# CONFIG_WATCHDOG is not set 884# CONFIG_WATCHDOG is not set
874# CONFIG_HW_RANDOM is not set 885# CONFIG_HW_RANDOM is not set
875CONFIG_GEN_RTC=y 886CONFIG_GEN_RTC=y
876# CONFIG_GEN_RTC_X is not set 887# CONFIG_GEN_RTC_X is not set
877# CONFIG_DTLK is not set
878# CONFIG_R3964 is not set 888# CONFIG_R3964 is not set
879# CONFIG_APPLICOM is not set 889# CONFIG_APPLICOM is not set
880CONFIG_AGP=m 890CONFIG_AGP=m
@@ -888,11 +898,9 @@ CONFIG_MAX_RAW_DEVS=256
888# TPM devices 898# TPM devices
889# 899#
890# CONFIG_TCG_TPM is not set 900# CONFIG_TCG_TPM is not set
891 901CONFIG_DEVPORT=y
892#
893# I2C support
894#
895CONFIG_I2C=y 902CONFIG_I2C=y
903CONFIG_I2C_BOARDINFO=y
896CONFIG_I2C_CHARDEV=y 904CONFIG_I2C_CHARDEV=y
897 905
898# 906#
@@ -919,14 +927,15 @@ CONFIG_I2C_POWERMAC=y
919# CONFIG_I2C_PARPORT_LIGHT is not set 927# CONFIG_I2C_PARPORT_LIGHT is not set
920# CONFIG_I2C_PROSAVAGE is not set 928# CONFIG_I2C_PROSAVAGE is not set
921# CONFIG_I2C_SAVAGE4 is not set 929# CONFIG_I2C_SAVAGE4 is not set
930# CONFIG_I2C_SIMTEC is not set
922# CONFIG_I2C_SIS5595 is not set 931# CONFIG_I2C_SIS5595 is not set
923# CONFIG_I2C_SIS630 is not set 932# CONFIG_I2C_SIS630 is not set
924# CONFIG_I2C_SIS96X is not set 933# CONFIG_I2C_SIS96X is not set
925# CONFIG_I2C_STUB is not set 934# CONFIG_I2C_STUB is not set
935# CONFIG_I2C_TINY_USB is not set
926# CONFIG_I2C_VIA is not set 936# CONFIG_I2C_VIA is not set
927# CONFIG_I2C_VIAPRO is not set 937# CONFIG_I2C_VIAPRO is not set
928# CONFIG_I2C_VOODOO3 is not set 938# CONFIG_I2C_VOODOO3 is not set
929# CONFIG_I2C_PCA_ISA is not set
930 939
931# 940#
932# Miscellaneous I2C Chip support 941# Miscellaneous I2C Chip support
@@ -953,37 +962,53 @@ CONFIG_I2C_POWERMAC=y
953# Dallas's 1-wire bus 962# Dallas's 1-wire bus
954# 963#
955# CONFIG_W1 is not set 964# CONFIG_W1 is not set
965# CONFIG_HWMON is not set
956 966
957# 967#
958# Hardware Monitoring support 968# Multifunction device drivers
959# 969#
960# CONFIG_HWMON is not set 970# CONFIG_MFD_SM501 is not set
961# CONFIG_HWMON_VID is not set
962 971
963# 972#
964# Multimedia devices 973# Multimedia devices
965# 974#
966# CONFIG_VIDEO_DEV is not set 975# CONFIG_VIDEO_DEV is not set
976# CONFIG_DVB_CORE is not set
977CONFIG_DAB=y
978# CONFIG_USB_DABUSB is not set
967 979
968# 980#
969# Digital Video Broadcasting Devices 981# Graphics support
970# 982#
971# CONFIG_DVB is not set 983CONFIG_BACKLIGHT_LCD_SUPPORT=y
972# CONFIG_USB_DABUSB is not set 984CONFIG_BACKLIGHT_CLASS_DEVICE=y
985CONFIG_LCD_CLASS_DEVICE=m
973 986
974# 987#
975# Graphics support 988# Display device support
976# 989#
977CONFIG_FIRMWARE_EDID=y 990# CONFIG_DISPLAY_SUPPORT is not set
991CONFIG_VGASTATE=y
978CONFIG_FB=y 992CONFIG_FB=y
993CONFIG_FIRMWARE_EDID=y
979CONFIG_FB_DDC=y 994CONFIG_FB_DDC=y
980CONFIG_FB_CFB_FILLRECT=y 995CONFIG_FB_CFB_FILLRECT=y
981CONFIG_FB_CFB_COPYAREA=y 996CONFIG_FB_CFB_COPYAREA=y
982CONFIG_FB_CFB_IMAGEBLIT=y 997CONFIG_FB_CFB_IMAGEBLIT=y
998# CONFIG_FB_SYS_FILLRECT is not set
999# CONFIG_FB_SYS_COPYAREA is not set
1000# CONFIG_FB_SYS_IMAGEBLIT is not set
1001# CONFIG_FB_SYS_FOPS is not set
1002CONFIG_FB_DEFERRED_IO=y
1003# CONFIG_FB_SVGALIB is not set
983CONFIG_FB_MACMODES=y 1004CONFIG_FB_MACMODES=y
984# CONFIG_FB_BACKLIGHT is not set 1005CONFIG_FB_BACKLIGHT=y
985CONFIG_FB_MODE_HELPERS=y 1006CONFIG_FB_MODE_HELPERS=y
986CONFIG_FB_TILEBLITTING=y 1007CONFIG_FB_TILEBLITTING=y
1008
1009#
1010# Frame buffer hardware drivers
1011#
987# CONFIG_FB_CIRRUS is not set 1012# CONFIG_FB_CIRRUS is not set
988# CONFIG_FB_PM2 is not set 1013# CONFIG_FB_PM2 is not set
989# CONFIG_FB_CYBER2000 is not set 1014# CONFIG_FB_CYBER2000 is not set
@@ -994,20 +1019,27 @@ CONFIG_FB_OF=y
994# CONFIG_FB_S1D13XXX is not set 1019# CONFIG_FB_S1D13XXX is not set
995CONFIG_FB_NVIDIA=y 1020CONFIG_FB_NVIDIA=y
996CONFIG_FB_NVIDIA_I2C=y 1021CONFIG_FB_NVIDIA_I2C=y
1022# CONFIG_FB_NVIDIA_DEBUG is not set
1023CONFIG_FB_NVIDIA_BACKLIGHT=y
997# CONFIG_FB_RIVA is not set 1024# CONFIG_FB_RIVA is not set
998# CONFIG_FB_MATROX is not set 1025# CONFIG_FB_MATROX is not set
999CONFIG_FB_RADEON=y 1026CONFIG_FB_RADEON=y
1000CONFIG_FB_RADEON_I2C=y 1027CONFIG_FB_RADEON_I2C=y
1028CONFIG_FB_RADEON_BACKLIGHT=y
1001# CONFIG_FB_RADEON_DEBUG is not set 1029# CONFIG_FB_RADEON_DEBUG is not set
1002# CONFIG_FB_ATY128 is not set 1030# CONFIG_FB_ATY128 is not set
1003# CONFIG_FB_ATY is not set 1031# CONFIG_FB_ATY is not set
1032# CONFIG_FB_S3 is not set
1004# CONFIG_FB_SAVAGE is not set 1033# CONFIG_FB_SAVAGE is not set
1005# CONFIG_FB_SIS is not set 1034# CONFIG_FB_SIS is not set
1006# CONFIG_FB_NEOMAGIC is not set 1035# CONFIG_FB_NEOMAGIC is not set
1007# CONFIG_FB_KYRO is not set 1036# CONFIG_FB_KYRO is not set
1008# CONFIG_FB_3DFX is not set 1037# CONFIG_FB_3DFX is not set
1009# CONFIG_FB_VOODOO1 is not set 1038# CONFIG_FB_VOODOO1 is not set
1039# CONFIG_FB_VT8623 is not set
1010# CONFIG_FB_TRIDENT is not set 1040# CONFIG_FB_TRIDENT is not set
1041# CONFIG_FB_ARK is not set
1042# CONFIG_FB_PM3 is not set
1011# CONFIG_FB_IBM_GXT4500 is not set 1043# CONFIG_FB_IBM_GXT4500 is not set
1012# CONFIG_FB_VIRTUAL is not set 1044# CONFIG_FB_VIRTUAL is not set
1013 1045
@@ -1021,19 +1053,10 @@ CONFIG_FRAMEBUFFER_CONSOLE=y
1021# CONFIG_FONTS is not set 1053# CONFIG_FONTS is not set
1022CONFIG_FONT_8x8=y 1054CONFIG_FONT_8x8=y
1023CONFIG_FONT_8x16=y 1055CONFIG_FONT_8x16=y
1024
1025#
1026# Logo configuration
1027#
1028CONFIG_LOGO=y 1056CONFIG_LOGO=y
1029CONFIG_LOGO_LINUX_MONO=y 1057CONFIG_LOGO_LINUX_MONO=y
1030CONFIG_LOGO_LINUX_VGA16=y 1058CONFIG_LOGO_LINUX_VGA16=y
1031CONFIG_LOGO_LINUX_CLUT224=y 1059CONFIG_LOGO_LINUX_CLUT224=y
1032CONFIG_BACKLIGHT_LCD_SUPPORT=y
1033CONFIG_BACKLIGHT_CLASS_DEVICE=m
1034CONFIG_BACKLIGHT_DEVICE=y
1035CONFIG_LCD_CLASS_DEVICE=m
1036CONFIG_LCD_DEVICE=y
1037 1060
1038# 1061#
1039# Sound 1062# Sound
@@ -1152,6 +1175,12 @@ CONFIG_SND_AOA_SOUNDBUS_I2S=m
1152# 1175#
1153CONFIG_SND_USB_AUDIO=m 1176CONFIG_SND_USB_AUDIO=m
1154# CONFIG_SND_USB_USX2Y is not set 1177# CONFIG_SND_USB_USX2Y is not set
1178# CONFIG_SND_USB_CAIAQ is not set
1179
1180#
1181# System on Chip audio support
1182#
1183# CONFIG_SND_SOC is not set
1155 1184
1156# 1185#
1157# Open Sound System 1186# Open Sound System
@@ -1162,6 +1191,20 @@ CONFIG_SND_USB_AUDIO=m
1162# HID Devices 1191# HID Devices
1163# 1192#
1164CONFIG_HID=y 1193CONFIG_HID=y
1194# CONFIG_HID_DEBUG is not set
1195
1196#
1197# USB Input Devices
1198#
1199CONFIG_USB_HID=y
1200# CONFIG_USB_HIDINPUT_POWERBOOK is not set
1201CONFIG_HID_FF=y
1202CONFIG_HID_PID=y
1203CONFIG_LOGITECH_FF=y
1204# CONFIG_PANTHERLORD_FF is not set
1205CONFIG_THRUSTMASTER_FF=y
1206# CONFIG_ZEROPLUS_FF is not set
1207CONFIG_USB_HIDDEV=y
1165 1208
1166# 1209#
1167# USB support 1210# USB support
@@ -1176,9 +1219,8 @@ CONFIG_USB=y
1176# Miscellaneous USB options 1219# Miscellaneous USB options
1177# 1220#
1178CONFIG_USB_DEVICEFS=y 1221CONFIG_USB_DEVICEFS=y
1179# CONFIG_USB_BANDWIDTH is not set 1222CONFIG_USB_DEVICE_CLASS=y
1180# CONFIG_USB_DYNAMIC_MINORS is not set 1223# CONFIG_USB_DYNAMIC_MINORS is not set
1181# CONFIG_USB_MULTITHREAD_PROBE is not set
1182# CONFIG_USB_OTG is not set 1224# CONFIG_USB_OTG is not set
1183 1225
1184# 1226#
@@ -1188,9 +1230,15 @@ CONFIG_USB_EHCI_HCD=y
1188# CONFIG_USB_EHCI_SPLIT_ISO is not set 1230# CONFIG_USB_EHCI_SPLIT_ISO is not set
1189# CONFIG_USB_EHCI_ROOT_HUB_TT is not set 1231# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
1190# CONFIG_USB_EHCI_TT_NEWSCHED is not set 1232# CONFIG_USB_EHCI_TT_NEWSCHED is not set
1233# CONFIG_USB_EHCI_BIG_ENDIAN_MMIO is not set
1191# CONFIG_USB_ISP116X_HCD is not set 1234# CONFIG_USB_ISP116X_HCD is not set
1192CONFIG_USB_OHCI_HCD=y 1235CONFIG_USB_OHCI_HCD=y
1193# CONFIG_USB_OHCI_BIG_ENDIAN is not set 1236CONFIG_USB_OHCI_HCD_PPC_OF=y
1237CONFIG_USB_OHCI_HCD_PPC_OF_BE=y
1238# CONFIG_USB_OHCI_HCD_PPC_OF_LE is not set
1239CONFIG_USB_OHCI_HCD_PCI=y
1240CONFIG_USB_OHCI_BIG_ENDIAN_DESC=y
1241CONFIG_USB_OHCI_BIG_ENDIAN_MMIO=y
1194CONFIG_USB_OHCI_LITTLE_ENDIAN=y 1242CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1195# CONFIG_USB_UHCI_HCD is not set 1243# CONFIG_USB_UHCI_HCD is not set
1196# CONFIG_USB_SL811_HCD is not set 1244# CONFIG_USB_SL811_HCD is not set
@@ -1224,53 +1272,10 @@ CONFIG_USB_STORAGE_JUMPSHOT=y
1224# CONFIG_USB_LIBUSUAL is not set 1272# CONFIG_USB_LIBUSUAL is not set
1225 1273
1226# 1274#
1227# USB Input Devices
1228#
1229CONFIG_USB_HID=y
1230# CONFIG_USB_HIDINPUT_POWERBOOK is not set
1231CONFIG_HID_FF=y
1232CONFIG_HID_PID=y
1233CONFIG_LOGITECH_FF=y
1234CONFIG_THRUSTMASTER_FF=y
1235# CONFIG_ZEROPLUS_FF is not set
1236CONFIG_USB_HIDDEV=y
1237# CONFIG_USB_AIPTEK is not set
1238# CONFIG_USB_WACOM is not set
1239# CONFIG_USB_ACECAD is not set
1240# CONFIG_USB_KBTAB is not set
1241# CONFIG_USB_POWERMATE is not set
1242# CONFIG_USB_TOUCHSCREEN is not set
1243# CONFIG_USB_YEALINK is not set
1244# CONFIG_USB_XPAD is not set
1245# CONFIG_USB_ATI_REMOTE is not set
1246# CONFIG_USB_ATI_REMOTE2 is not set
1247# CONFIG_USB_KEYSPAN_REMOTE is not set
1248# CONFIG_USB_APPLETOUCH is not set
1249
1250#
1251# USB Imaging devices 1275# USB Imaging devices
1252# 1276#
1253# CONFIG_USB_MDC800 is not set 1277# CONFIG_USB_MDC800 is not set
1254# CONFIG_USB_MICROTEK is not set 1278# CONFIG_USB_MICROTEK is not set
1255
1256#
1257# USB Network Adapters
1258#
1259CONFIG_USB_CATC=m
1260CONFIG_USB_KAWETH=m
1261CONFIG_USB_PEGASUS=m
1262CONFIG_USB_RTL8150=m
1263# CONFIG_USB_USBNET_MII is not set
1264CONFIG_USB_USBNET=m
1265# CONFIG_USB_NET_AX8817X is not set
1266CONFIG_USB_NET_CDCETHER=m
1267# CONFIG_USB_NET_GL620A is not set
1268# CONFIG_USB_NET_NET1080 is not set
1269# CONFIG_USB_NET_PLUSB is not set
1270# CONFIG_USB_NET_MCS7830 is not set
1271# CONFIG_USB_NET_RNDIS_HOST is not set
1272# CONFIG_USB_NET_CDC_SUBSET is not set
1273# CONFIG_USB_NET_ZAURUS is not set
1274CONFIG_USB_MON=y 1279CONFIG_USB_MON=y
1275 1280
1276# 1281#
@@ -1343,6 +1348,7 @@ CONFIG_USB_EZUSB=y
1343# CONFIG_USB_RIO500 is not set 1348# CONFIG_USB_RIO500 is not set
1344# CONFIG_USB_LEGOTOWER is not set 1349# CONFIG_USB_LEGOTOWER is not set
1345# CONFIG_USB_LCD is not set 1350# CONFIG_USB_LCD is not set
1351# CONFIG_USB_BERRY_CHARGE is not set
1346# CONFIG_USB_LED is not set 1352# CONFIG_USB_LED is not set
1347# CONFIG_USB_CYPRESS_CY7C63 is not set 1353# CONFIG_USB_CYPRESS_CY7C63 is not set
1348# CONFIG_USB_CYTHERM is not set 1354# CONFIG_USB_CYTHERM is not set
@@ -1353,6 +1359,7 @@ CONFIG_USB_APPLEDISPLAY=m
1353# CONFIG_USB_SISUSBVGA is not set 1359# CONFIG_USB_SISUSBVGA is not set
1354# CONFIG_USB_LD is not set 1360# CONFIG_USB_LD is not set
1355# CONFIG_USB_TRANCEVIBRATOR is not set 1361# CONFIG_USB_TRANCEVIBRATOR is not set
1362# CONFIG_USB_IOWARRIOR is not set
1356# CONFIG_USB_TEST is not set 1363# CONFIG_USB_TEST is not set
1357 1364
1358# 1365#
@@ -1363,10 +1370,6 @@ CONFIG_USB_APPLEDISPLAY=m
1363# USB Gadget Support 1370# USB Gadget Support
1364# 1371#
1365# CONFIG_USB_GADGET is not set 1372# CONFIG_USB_GADGET is not set
1366
1367#
1368# MMC/SD Card support
1369#
1370# CONFIG_MMC is not set 1373# CONFIG_MMC is not set
1371 1374
1372# 1375#
@@ -1410,10 +1413,6 @@ CONFIG_USB_APPLEDISPLAY=m
1410# 1413#
1411 1414
1412# 1415#
1413# Virtualization
1414#
1415
1416#
1417# File systems 1416# File systems
1418# 1417#
1419CONFIG_EXT2_FS=y 1418CONFIG_EXT2_FS=y
@@ -1461,7 +1460,6 @@ CONFIG_AUTOFS_FS=m
1461CONFIG_ISO9660_FS=y 1460CONFIG_ISO9660_FS=y
1462CONFIG_JOLIET=y 1461CONFIG_JOLIET=y
1463CONFIG_ZISOFS=y 1462CONFIG_ZISOFS=y
1464CONFIG_ZISOFS_FS=y
1465CONFIG_UDF_FS=m 1463CONFIG_UDF_FS=m
1466CONFIG_UDF_NLS=y 1464CONFIG_UDF_NLS=y
1467 1465
@@ -1527,6 +1525,7 @@ CONFIG_NFS_ACL_SUPPORT=y
1527CONFIG_NFS_COMMON=y 1525CONFIG_NFS_COMMON=y
1528CONFIG_SUNRPC=y 1526CONFIG_SUNRPC=y
1529CONFIG_SUNRPC_GSS=y 1527CONFIG_SUNRPC_GSS=y
1528# CONFIG_SUNRPC_BIND34 is not set
1530CONFIG_RPCSEC_GSS_KRB5=y 1529CONFIG_RPCSEC_GSS_KRB5=y
1531# CONFIG_RPCSEC_GSS_SPKM3 is not set 1530# CONFIG_RPCSEC_GSS_SPKM3 is not set
1532# CONFIG_SMB_FS is not set 1531# CONFIG_SMB_FS is not set
@@ -1561,6 +1560,7 @@ CONFIG_MSDOS_PARTITION=y
1561# CONFIG_SUN_PARTITION is not set 1560# CONFIG_SUN_PARTITION is not set
1562# CONFIG_KARMA_PARTITION is not set 1561# CONFIG_KARMA_PARTITION is not set
1563# CONFIG_EFI_PARTITION is not set 1562# CONFIG_EFI_PARTITION is not set
1563# CONFIG_SYSV68_PARTITION is not set
1564 1564
1565# 1565#
1566# Native Language Support 1566# Native Language Support
@@ -1610,6 +1610,7 @@ CONFIG_NLS_UTF8=y
1610# Distributed Lock Manager 1610# Distributed Lock Manager
1611# 1611#
1612# CONFIG_DLM is not set 1612# CONFIG_DLM is not set
1613# CONFIG_UCC_SLOW is not set
1613 1614
1614# 1615#
1615# Library routines 1616# Library routines
@@ -1617,12 +1618,15 @@ CONFIG_NLS_UTF8=y
1617CONFIG_BITREVERSE=y 1618CONFIG_BITREVERSE=y
1618CONFIG_CRC_CCITT=m 1619CONFIG_CRC_CCITT=m
1619# CONFIG_CRC16 is not set 1620# CONFIG_CRC16 is not set
1621# CONFIG_CRC_ITU_T is not set
1620CONFIG_CRC32=y 1622CONFIG_CRC32=y
1621CONFIG_LIBCRC32C=m 1623CONFIG_LIBCRC32C=m
1622CONFIG_ZLIB_INFLATE=y 1624CONFIG_ZLIB_INFLATE=y
1623CONFIG_ZLIB_DEFLATE=m 1625CONFIG_ZLIB_DEFLATE=m
1624CONFIG_PLIST=y 1626CONFIG_PLIST=y
1625CONFIG_IOMAP_COPY=y 1627CONFIG_HAS_IOMEM=y
1628CONFIG_HAS_IOPORT=y
1629CONFIG_HAS_DMA=y
1626 1630
1627# 1631#
1628# Instrumentation Support 1632# Instrumentation Support
@@ -1641,15 +1645,15 @@ CONFIG_MAGIC_SYSRQ=y
1641CONFIG_DEBUG_FS=y 1645CONFIG_DEBUG_FS=y
1642# CONFIG_HEADERS_CHECK is not set 1646# CONFIG_HEADERS_CHECK is not set
1643CONFIG_DEBUG_KERNEL=y 1647CONFIG_DEBUG_KERNEL=y
1644CONFIG_LOG_BUF_SHIFT=17 1648# CONFIG_DEBUG_SHIRQ is not set
1645CONFIG_DETECT_SOFTLOCKUP=y 1649CONFIG_DETECT_SOFTLOCKUP=y
1646# CONFIG_SCHEDSTATS is not set 1650# CONFIG_SCHEDSTATS is not set
1651# CONFIG_TIMER_STATS is not set
1647# CONFIG_DEBUG_SLAB is not set 1652# CONFIG_DEBUG_SLAB is not set
1648# CONFIG_DEBUG_RT_MUTEXES is not set 1653# CONFIG_DEBUG_RT_MUTEXES is not set
1649# CONFIG_RT_MUTEX_TESTER is not set 1654# CONFIG_RT_MUTEX_TESTER is not set
1650# CONFIG_DEBUG_SPINLOCK is not set 1655# CONFIG_DEBUG_SPINLOCK is not set
1651CONFIG_DEBUG_MUTEXES=y 1656CONFIG_DEBUG_MUTEXES=y
1652# CONFIG_DEBUG_RWSEMS is not set
1653# CONFIG_DEBUG_SPINLOCK_SLEEP is not set 1657# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1654# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set 1658# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1655# CONFIG_DEBUG_KOBJECT is not set 1659# CONFIG_DEBUG_KOBJECT is not set
@@ -1659,8 +1663,10 @@ CONFIG_DEBUG_BUGVERBOSE=y
1659# CONFIG_DEBUG_LIST is not set 1663# CONFIG_DEBUG_LIST is not set
1660CONFIG_FORCED_INLINING=y 1664CONFIG_FORCED_INLINING=y
1661# CONFIG_RCU_TORTURE_TEST is not set 1665# CONFIG_RCU_TORTURE_TEST is not set
1666# CONFIG_FAULT_INJECTION is not set
1662# CONFIG_DEBUG_STACKOVERFLOW is not set 1667# CONFIG_DEBUG_STACKOVERFLOW is not set
1663# CONFIG_DEBUG_STACK_USAGE is not set 1668# CONFIG_DEBUG_STACK_USAGE is not set
1669# CONFIG_DEBUG_PAGEALLOC is not set
1664# CONFIG_DEBUGGER is not set 1670# CONFIG_DEBUGGER is not set
1665CONFIG_IRQSTACKS=y 1671CONFIG_IRQSTACKS=y
1666CONFIG_BOOTX_TEXT=y 1672CONFIG_BOOTX_TEXT=y
@@ -1693,8 +1699,11 @@ CONFIG_CRYPTO_WP512=m
1693# CONFIG_CRYPTO_GF128MUL is not set 1699# CONFIG_CRYPTO_GF128MUL is not set
1694CONFIG_CRYPTO_ECB=m 1700CONFIG_CRYPTO_ECB=m
1695CONFIG_CRYPTO_CBC=y 1701CONFIG_CRYPTO_CBC=y
1702CONFIG_CRYPTO_PCBC=m
1696# CONFIG_CRYPTO_LRW is not set 1703# CONFIG_CRYPTO_LRW is not set
1704# CONFIG_CRYPTO_CRYPTD is not set
1697CONFIG_CRYPTO_DES=y 1705CONFIG_CRYPTO_DES=y
1706# CONFIG_CRYPTO_FCRYPT is not set
1698CONFIG_CRYPTO_BLOWFISH=m 1707CONFIG_CRYPTO_BLOWFISH=m
1699CONFIG_CRYPTO_TWOFISH=m 1708CONFIG_CRYPTO_TWOFISH=m
1700CONFIG_CRYPTO_TWOFISH_COMMON=m 1709CONFIG_CRYPTO_TWOFISH_COMMON=m
@@ -1709,6 +1718,7 @@ CONFIG_CRYPTO_ANUBIS=m
1709CONFIG_CRYPTO_DEFLATE=m 1718CONFIG_CRYPTO_DEFLATE=m
1710CONFIG_CRYPTO_MICHAEL_MIC=m 1719CONFIG_CRYPTO_MICHAEL_MIC=m
1711CONFIG_CRYPTO_CRC32C=m 1720CONFIG_CRYPTO_CRC32C=m
1721# CONFIG_CRYPTO_CAMELLIA is not set
1712CONFIG_CRYPTO_TEST=m 1722CONFIG_CRYPTO_TEST=m
1713 1723
1714# 1724#
diff --git a/arch/powerpc/configs/holly_defconfig b/arch/powerpc/configs/holly_defconfig
index be633b9b57c3..32781849ad4c 100644
--- a/arch/powerpc/configs/holly_defconfig
+++ b/arch/powerpc/configs/holly_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.21 3# Linux kernel version: 2.6.22-rc6
4# Sat May 5 11:02:35 2007 4# Tue Jun 26 13:22:36 2007
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7CONFIG_PPC32=y 7CONFIG_PPC32=y
@@ -45,6 +45,7 @@ CONFIG_PPC_FPU=y
45# CONFIG_ALTIVEC is not set 45# CONFIG_ALTIVEC is not set
46CONFIG_PPC_STD_MMU=y 46CONFIG_PPC_STD_MMU=y
47CONFIG_PPC_STD_MMU_32=y 47CONFIG_PPC_STD_MMU_32=y
48# CONFIG_PPC_MM_SLICES is not set
48# CONFIG_SMP is not set 49# CONFIG_SMP is not set
49CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 50CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
50 51
@@ -70,6 +71,7 @@ CONFIG_SYSVIPC_SYSCTL=y
70# CONFIG_UTS_NS is not set 71# CONFIG_UTS_NS is not set
71# CONFIG_AUDIT is not set 72# CONFIG_AUDIT is not set
72# CONFIG_IKCONFIG is not set 73# CONFIG_IKCONFIG is not set
74CONFIG_LOG_BUF_SHIFT=14
73CONFIG_SYSFS_DEPRECATED=y 75CONFIG_SYSFS_DEPRECATED=y
74# CONFIG_RELAY is not set 76# CONFIG_RELAY is not set
75CONFIG_BLK_DEV_INITRD=y 77CONFIG_BLK_DEV_INITRD=y
@@ -87,14 +89,19 @@ CONFIG_BUG=y
87CONFIG_ELF_CORE=y 89CONFIG_ELF_CORE=y
88CONFIG_BASE_FULL=y 90CONFIG_BASE_FULL=y
89CONFIG_FUTEX=y 91CONFIG_FUTEX=y
92CONFIG_ANON_INODES=y
90CONFIG_EPOLL=y 93CONFIG_EPOLL=y
94CONFIG_SIGNALFD=y
95CONFIG_TIMERFD=y
96CONFIG_EVENTFD=y
91CONFIG_SHMEM=y 97CONFIG_SHMEM=y
92CONFIG_SLAB=y
93CONFIG_VM_EVENT_COUNTERS=y 98CONFIG_VM_EVENT_COUNTERS=y
99CONFIG_SLAB=y
100# CONFIG_SLUB is not set
101# CONFIG_SLOB is not set
94CONFIG_RT_MUTEXES=y 102CONFIG_RT_MUTEXES=y
95# CONFIG_TINY_SHMEM is not set 103# CONFIG_TINY_SHMEM is not set
96CONFIG_BASE_SMALL=0 104CONFIG_BASE_SMALL=0
97# CONFIG_SLOB is not set
98 105
99# 106#
100# Loadable module support 107# Loadable module support
@@ -140,6 +147,7 @@ CONFIG_EMBEDDED6xx=y
140# CONFIG_LINKSTATION is not set 147# CONFIG_LINKSTATION is not set
141# CONFIG_MPC7448HPC2 is not set 148# CONFIG_MPC7448HPC2 is not set
142CONFIG_PPC_HOLLY=y 149CONFIG_PPC_HOLLY=y
150# CONFIG_PPC_PRPMC2800 is not set
143CONFIG_TSI108_BRIDGE=y 151CONFIG_TSI108_BRIDGE=y
144CONFIG_MPIC=y 152CONFIG_MPIC=y
145CONFIG_MPIC_WEIRD=y 153CONFIG_MPIC_WEIRD=y
@@ -197,16 +205,14 @@ CONFIG_GENERIC_ISA_DMA=y
197CONFIG_PCI=y 205CONFIG_PCI=y
198CONFIG_PCI_DOMAINS=y 206CONFIG_PCI_DOMAINS=y
199# CONFIG_PCIEPORTBUS is not set 207# CONFIG_PCIEPORTBUS is not set
208CONFIG_ARCH_SUPPORTS_MSI=y
209# CONFIG_PCI_MSI is not set
200# CONFIG_PCI_DEBUG is not set 210# CONFIG_PCI_DEBUG is not set
201 211
202# 212#
203# PCCARD (PCMCIA/CardBus) support 213# PCCARD (PCMCIA/CardBus) support
204# 214#
205# CONFIG_PCCARD is not set 215# CONFIG_PCCARD is not set
206
207#
208# PCI Hotplug Support
209#
210# CONFIG_HOTPLUG_PCI is not set 216# CONFIG_HOTPLUG_PCI is not set
211 217
212# 218#
@@ -271,20 +277,8 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
271# CONFIG_INET6_TUNNEL is not set 277# CONFIG_INET6_TUNNEL is not set
272# CONFIG_NETWORK_SECMARK is not set 278# CONFIG_NETWORK_SECMARK is not set
273# CONFIG_NETFILTER is not set 279# CONFIG_NETFILTER is not set
274
275#
276# DCCP Configuration (EXPERIMENTAL)
277#
278# CONFIG_IP_DCCP is not set 280# CONFIG_IP_DCCP is not set
279
280#
281# SCTP Configuration (EXPERIMENTAL)
282#
283# CONFIG_IP_SCTP is not set 281# CONFIG_IP_SCTP is not set
284
285#
286# TIPC Configuration (EXPERIMENTAL)
287#
288# CONFIG_TIPC is not set 282# CONFIG_TIPC is not set
289# CONFIG_ATM is not set 283# CONFIG_ATM is not set
290# CONFIG_BRIDGE is not set 284# CONFIG_BRIDGE is not set
@@ -317,7 +311,9 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
317# 311#
318# CONFIG_CFG80211 is not set 312# CONFIG_CFG80211 is not set
319# CONFIG_WIRELESS_EXT is not set 313# CONFIG_WIRELESS_EXT is not set
314# CONFIG_MAC80211 is not set
320# CONFIG_IEEE80211 is not set 315# CONFIG_IEEE80211 is not set
316# CONFIG_RFKILL is not set
321 317
322# 318#
323# Device Drivers 319# Device Drivers
@@ -372,12 +368,10 @@ CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
372# 368#
373# Misc devices 369# Misc devices
374# 370#
371# CONFIG_PHANTOM is not set
375# CONFIG_SGI_IOC4 is not set 372# CONFIG_SGI_IOC4 is not set
376# CONFIG_TIFM_CORE is not set 373# CONFIG_TIFM_CORE is not set
377 374# CONFIG_BLINK is not set
378#
379# ATA/ATAPI/MFM/RLL support
380#
381# CONFIG_IDE is not set 375# CONFIG_IDE is not set
382 376
383# 377#
@@ -406,6 +400,7 @@ CONFIG_BLK_DEV_SD=y
406# CONFIG_SCSI_CONSTANTS is not set 400# CONFIG_SCSI_CONSTANTS is not set
407# CONFIG_SCSI_LOGGING is not set 401# CONFIG_SCSI_LOGGING is not set
408# CONFIG_SCSI_SCAN_ASYNC is not set 402# CONFIG_SCSI_SCAN_ASYNC is not set
403CONFIG_SCSI_WAIT_SCAN=m
409 404
410# 405#
411# SCSI Transports 406# SCSI Transports
@@ -453,12 +448,7 @@ CONFIG_BLK_DEV_SD=y
453# CONFIG_SCSI_DC390T is not set 448# CONFIG_SCSI_DC390T is not set
454# CONFIG_SCSI_NSP32 is not set 449# CONFIG_SCSI_NSP32 is not set
455# CONFIG_SCSI_DEBUG is not set 450# CONFIG_SCSI_DEBUG is not set
456# CONFIG_SCSI_ESP_CORE is not set
457# CONFIG_SCSI_SRP is not set 451# CONFIG_SCSI_SRP is not set
458
459#
460# Serial ATA (prod) and Parallel ATA (experimental) drivers
461#
462CONFIG_ATA=y 452CONFIG_ATA=y
463# CONFIG_ATA_NONSTANDARD is not set 453# CONFIG_ATA_NONSTANDARD is not set
464# CONFIG_SATA_AHCI is not set 454# CONFIG_SATA_AHCI is not set
@@ -531,6 +521,7 @@ CONFIG_ATA=y
531# 521#
532# IEEE 1394 (FireWire) support 522# IEEE 1394 (FireWire) support
533# 523#
524# CONFIG_FIREWIRE is not set
534# CONFIG_IEEE1394 is not set 525# CONFIG_IEEE1394 is not set
535 526
536# 527#
@@ -547,15 +538,7 @@ CONFIG_NETDEVICES=y
547# CONFIG_BONDING is not set 538# CONFIG_BONDING is not set
548# CONFIG_EQUALIZER is not set 539# CONFIG_EQUALIZER is not set
549# CONFIG_TUN is not set 540# CONFIG_TUN is not set
550
551#
552# ARCnet devices
553#
554# CONFIG_ARCNET is not set 541# CONFIG_ARCNET is not set
555
556#
557# PHY device support
558#
559CONFIG_PHYLIB=y 542CONFIG_PHYLIB=y
560 543
561# 544#
@@ -589,10 +572,7 @@ CONFIG_VORTEX=y
589# CONFIG_NET_TULIP is not set 572# CONFIG_NET_TULIP is not set
590# CONFIG_HP100 is not set 573# CONFIG_HP100 is not set
591# CONFIG_NET_PCI is not set 574# CONFIG_NET_PCI is not set
592 575CONFIG_NETDEV_1000=y
593#
594# Ethernet (1000 Mbit)
595#
596# CONFIG_ACENIC is not set 576# CONFIG_ACENIC is not set
597# CONFIG_DL2K is not set 577# CONFIG_DL2K is not set
598# CONFIG_E1000 is not set 578# CONFIG_E1000 is not set
@@ -604,25 +584,20 @@ CONFIG_VORTEX=y
604# CONFIG_SKGE is not set 584# CONFIG_SKGE is not set
605# CONFIG_SKY2 is not set 585# CONFIG_SKY2 is not set
606# CONFIG_SK98LIN is not set 586# CONFIG_SK98LIN is not set
587# CONFIG_VIA_VELOCITY is not set
607# CONFIG_TIGON3 is not set 588# CONFIG_TIGON3 is not set
608# CONFIG_BNX2 is not set 589# CONFIG_BNX2 is not set
609CONFIG_TSI108_ETH=y 590CONFIG_TSI108_ETH=y
610# CONFIG_QLA3XXX is not set 591# CONFIG_QLA3XXX is not set
611# CONFIG_ATL1 is not set 592# CONFIG_ATL1 is not set
612 593CONFIG_NETDEV_10000=y
613#
614# Ethernet (10000 Mbit)
615#
616# CONFIG_CHELSIO_T1 is not set 594# CONFIG_CHELSIO_T1 is not set
617# CONFIG_CHELSIO_T3 is not set 595# CONFIG_CHELSIO_T3 is not set
618# CONFIG_IXGB is not set 596# CONFIG_IXGB is not set
619# CONFIG_S2IO is not set 597# CONFIG_S2IO is not set
620# CONFIG_MYRI10GE is not set 598# CONFIG_MYRI10GE is not set
621# CONFIG_NETXEN_NIC is not set 599# CONFIG_NETXEN_NIC is not set
622 600# CONFIG_MLX4_CORE is not set
623#
624# Token Ring devices
625#
626# CONFIG_TR is not set 601# CONFIG_TR is not set
627 602
628# 603#
@@ -630,10 +605,6 @@ CONFIG_TSI108_ETH=y
630# 605#
631# CONFIG_WLAN_PRE80211 is not set 606# CONFIG_WLAN_PRE80211 is not set
632# CONFIG_WLAN_80211 is not set 607# CONFIG_WLAN_80211 is not set
633
634#
635# Wan interfaces
636#
637# CONFIG_WAN is not set 608# CONFIG_WAN is not set
638# CONFIG_FDDI is not set 609# CONFIG_FDDI is not set
639# CONFIG_HIPPI is not set 610# CONFIG_HIPPI is not set
@@ -660,6 +631,7 @@ CONFIG_TSI108_ETH=y
660# 631#
661CONFIG_INPUT=y 632CONFIG_INPUT=y
662# CONFIG_INPUT_FF_MEMLESS is not set 633# CONFIG_INPUT_FF_MEMLESS is not set
634# CONFIG_INPUT_POLLDEV is not set
663 635
664# 636#
665# Userland interfaces 637# Userland interfaces
@@ -676,6 +648,7 @@ CONFIG_INPUT=y
676# CONFIG_INPUT_KEYBOARD is not set 648# CONFIG_INPUT_KEYBOARD is not set
677# CONFIG_INPUT_MOUSE is not set 649# CONFIG_INPUT_MOUSE is not set
678# CONFIG_INPUT_JOYSTICK is not set 650# CONFIG_INPUT_JOYSTICK is not set
651# CONFIG_INPUT_TABLET is not set
679# CONFIG_INPUT_TOUCHSCREEN is not set 652# CONFIG_INPUT_TOUCHSCREEN is not set
680# CONFIG_INPUT_MISC is not set 653# CONFIG_INPUT_MISC is not set
681 654
@@ -721,16 +694,11 @@ CONFIG_LEGACY_PTY_COUNT=256
721# IPMI 694# IPMI
722# 695#
723# CONFIG_IPMI_HANDLER is not set 696# CONFIG_IPMI_HANDLER is not set
724
725#
726# Watchdog Cards
727#
728# CONFIG_WATCHDOG is not set 697# CONFIG_WATCHDOG is not set
729# CONFIG_HW_RANDOM is not set 698# CONFIG_HW_RANDOM is not set
730# CONFIG_NVRAM is not set 699# CONFIG_NVRAM is not set
731CONFIG_GEN_RTC=y 700CONFIG_GEN_RTC=y
732# CONFIG_GEN_RTC_X is not set 701# CONFIG_GEN_RTC_X is not set
733# CONFIG_DTLK is not set
734# CONFIG_R3964 is not set 702# CONFIG_R3964 is not set
735# CONFIG_APPLICOM is not set 703# CONFIG_APPLICOM is not set
736# CONFIG_AGP is not set 704# CONFIG_AGP is not set
@@ -741,10 +709,7 @@ CONFIG_GEN_RTC=y
741# TPM devices 709# TPM devices
742# 710#
743# CONFIG_TCG_TPM is not set 711# CONFIG_TCG_TPM is not set
744 712CONFIG_DEVPORT=y
745#
746# I2C support
747#
748# CONFIG_I2C is not set 713# CONFIG_I2C is not set
749 714
750# 715#
@@ -757,16 +722,15 @@ CONFIG_GEN_RTC=y
757# Dallas's 1-wire bus 722# Dallas's 1-wire bus
758# 723#
759# CONFIG_W1 is not set 724# CONFIG_W1 is not set
760
761#
762# Hardware Monitoring support
763#
764CONFIG_HWMON=y 725CONFIG_HWMON=y
765# CONFIG_HWMON_VID is not set 726# CONFIG_HWMON_VID is not set
766# CONFIG_SENSORS_ABITUGURU is not set 727# CONFIG_SENSORS_ABITUGURU is not set
767# CONFIG_SENSORS_F71805F is not set 728# CONFIG_SENSORS_F71805F is not set
768# CONFIG_SENSORS_PC87427 is not set 729# CONFIG_SENSORS_PC87427 is not set
730# CONFIG_SENSORS_SMSC47M1 is not set
731# CONFIG_SENSORS_SMSC47B397 is not set
769# CONFIG_SENSORS_VT1211 is not set 732# CONFIG_SENSORS_VT1211 is not set
733# CONFIG_SENSORS_W83627HF is not set
770# CONFIG_HWMON_DEBUG_CHIP is not set 734# CONFIG_HWMON_DEBUG_CHIP is not set
771 735
772# 736#
@@ -778,16 +742,19 @@ CONFIG_HWMON=y
778# Multimedia devices 742# Multimedia devices
779# 743#
780# CONFIG_VIDEO_DEV is not set 744# CONFIG_VIDEO_DEV is not set
745# CONFIG_DVB_CORE is not set
746# CONFIG_DAB is not set
781 747
782# 748#
783# Digital Video Broadcasting Devices 749# Graphics support
784# 750#
785# CONFIG_DVB is not set 751# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
786 752
787# 753#
788# Graphics support 754# Display device support
789# 755#
790# CONFIG_BACKLIGHT_LCD_SUPPORT is not set 756# CONFIG_DISPLAY_SUPPORT is not set
757# CONFIG_VGASTATE is not set
791# CONFIG_FB is not set 758# CONFIG_FB is not set
792# CONFIG_FB_IBM_GXT4500 is not set 759# CONFIG_FB_IBM_GXT4500 is not set
793 760
@@ -818,10 +785,6 @@ CONFIG_USB_ARCH_HAS_EHCI=y
818# USB Gadget Support 785# USB Gadget Support
819# 786#
820# CONFIG_USB_GADGET is not set 787# CONFIG_USB_GADGET is not set
821
822#
823# MMC/SD Card support
824#
825# CONFIG_MMC is not set 788# CONFIG_MMC is not set
826 789
827# 790#
@@ -865,14 +828,6 @@ CONFIG_USB_ARCH_HAS_EHCI=y
865# 828#
866 829
867# 830#
868# Auxiliary Display support
869#
870
871#
872# Virtualization
873#
874
875#
876# File systems 831# File systems
877# 832#
878CONFIG_EXT2_FS=y 833CONFIG_EXT2_FS=y
@@ -957,6 +912,7 @@ CONFIG_ROOT_NFS=y
957CONFIG_LOCKD=y 912CONFIG_LOCKD=y
958CONFIG_NFS_COMMON=y 913CONFIG_NFS_COMMON=y
959CONFIG_SUNRPC=y 914CONFIG_SUNRPC=y
915# CONFIG_SUNRPC_BIND34 is not set
960# CONFIG_RPCSEC_GSS_KRB5 is not set 916# CONFIG_RPCSEC_GSS_KRB5 is not set
961# CONFIG_RPCSEC_GSS_SPKM3 is not set 917# CONFIG_RPCSEC_GSS_SPKM3 is not set
962# CONFIG_SMB_FS is not set 918# CONFIG_SMB_FS is not set
@@ -986,6 +942,7 @@ CONFIG_MSDOS_PARTITION=y
986# CONFIG_SUN_PARTITION is not set 942# CONFIG_SUN_PARTITION is not set
987# CONFIG_KARMA_PARTITION is not set 943# CONFIG_KARMA_PARTITION is not set
988# CONFIG_EFI_PARTITION is not set 944# CONFIG_EFI_PARTITION is not set
945# CONFIG_SYSV68_PARTITION is not set
989 946
990# 947#
991# Native Language Support 948# Native Language Support
@@ -997,7 +954,6 @@ CONFIG_MSDOS_PARTITION=y
997# 954#
998# CONFIG_DLM is not set 955# CONFIG_DLM is not set
999# CONFIG_UCC_SLOW is not set 956# CONFIG_UCC_SLOW is not set
1000# CONFIG_UCC_FAST is not set
1001 957
1002# 958#
1003# Library routines 959# Library routines
@@ -1005,11 +961,13 @@ CONFIG_MSDOS_PARTITION=y
1005CONFIG_BITREVERSE=y 961CONFIG_BITREVERSE=y
1006# CONFIG_CRC_CCITT is not set 962# CONFIG_CRC_CCITT is not set
1007# CONFIG_CRC16 is not set 963# CONFIG_CRC16 is not set
964# CONFIG_CRC_ITU_T is not set
1008CONFIG_CRC32=y 965CONFIG_CRC32=y
1009# CONFIG_LIBCRC32C is not set 966# CONFIG_LIBCRC32C is not set
1010CONFIG_PLIST=y 967CONFIG_PLIST=y
1011CONFIG_HAS_IOMEM=y 968CONFIG_HAS_IOMEM=y
1012CONFIG_HAS_IOPORT=y 969CONFIG_HAS_IOPORT=y
970CONFIG_HAS_DMA=y
1013 971
1014# 972#
1015# Instrumentation Support 973# Instrumentation Support
@@ -1028,7 +986,6 @@ CONFIG_MAGIC_SYSRQ=y
1028# CONFIG_HEADERS_CHECK is not set 986# CONFIG_HEADERS_CHECK is not set
1029CONFIG_DEBUG_KERNEL=y 987CONFIG_DEBUG_KERNEL=y
1030# CONFIG_DEBUG_SHIRQ is not set 988# CONFIG_DEBUG_SHIRQ is not set
1031CONFIG_LOG_BUF_SHIFT=14
1032CONFIG_DETECT_SOFTLOCKUP=y 989CONFIG_DETECT_SOFTLOCKUP=y
1033# CONFIG_SCHEDSTATS is not set 990# CONFIG_SCHEDSTATS is not set
1034# CONFIG_TIMER_STATS is not set 991# CONFIG_TIMER_STATS is not set
diff --git a/arch/powerpc/configs/iseries_defconfig b/arch/powerpc/configs/iseries_defconfig
index af25118c8f24..8e3367452427 100644
--- a/arch/powerpc/configs/iseries_defconfig
+++ b/arch/powerpc/configs/iseries_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.22-rc1 3# Linux kernel version: 2.6.22-rc6
4# Mon May 14 14:27:46 2007 4# Tue Jun 26 13:22:39 2007
5# 5#
6CONFIG_PPC64=y 6CONFIG_PPC64=y
7CONFIG_64BIT=y 7CONFIG_64BIT=y
@@ -281,10 +281,6 @@ CONFIG_INET_TCP_DIAG=y
281CONFIG_TCP_CONG_CUBIC=y 281CONFIG_TCP_CONG_CUBIC=y
282CONFIG_DEFAULT_TCP_CONG="cubic" 282CONFIG_DEFAULT_TCP_CONG="cubic"
283# CONFIG_TCP_MD5SIG is not set 283# CONFIG_TCP_MD5SIG is not set
284
285#
286# IP: Virtual Server Configuration
287#
288# CONFIG_IP_VS is not set 284# CONFIG_IP_VS is not set
289# CONFIG_IPV6 is not set 285# CONFIG_IPV6 is not set
290# CONFIG_INET6_XFRM_TUNNEL is not set 286# CONFIG_INET6_XFRM_TUNNEL is not set
@@ -387,25 +383,13 @@ CONFIG_IP_NF_RAW=m
387CONFIG_IP_NF_ARPTABLES=m 383CONFIG_IP_NF_ARPTABLES=m
388CONFIG_IP_NF_ARPFILTER=m 384CONFIG_IP_NF_ARPFILTER=m
389CONFIG_IP_NF_ARP_MANGLE=m 385CONFIG_IP_NF_ARP_MANGLE=m
390
391#
392# DCCP Configuration (EXPERIMENTAL)
393#
394# CONFIG_IP_DCCP is not set 386# CONFIG_IP_DCCP is not set
395
396#
397# SCTP Configuration (EXPERIMENTAL)
398#
399CONFIG_IP_SCTP=m 387CONFIG_IP_SCTP=m
400# CONFIG_SCTP_DBG_MSG is not set 388# CONFIG_SCTP_DBG_MSG is not set
401# CONFIG_SCTP_DBG_OBJCNT is not set 389# CONFIG_SCTP_DBG_OBJCNT is not set
402# CONFIG_SCTP_HMAC_NONE is not set 390# CONFIG_SCTP_HMAC_NONE is not set
403# CONFIG_SCTP_HMAC_SHA1 is not set 391# CONFIG_SCTP_HMAC_SHA1 is not set
404CONFIG_SCTP_HMAC_MD5=y 392CONFIG_SCTP_HMAC_MD5=y
405
406#
407# TIPC Configuration (EXPERIMENTAL)
408#
409# CONFIG_TIPC is not set 393# CONFIG_TIPC is not set
410# CONFIG_ATM is not set 394# CONFIG_ATM is not set
411# CONFIG_BRIDGE is not set 395# CONFIG_BRIDGE is not set
@@ -501,10 +485,6 @@ CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
501# CONFIG_SGI_IOC4 is not set 485# CONFIG_SGI_IOC4 is not set
502# CONFIG_TIFM_CORE is not set 486# CONFIG_TIFM_CORE is not set
503# CONFIG_BLINK is not set 487# CONFIG_BLINK is not set
504
505#
506# ATA/ATAPI/MFM/RLL support
507#
508# CONFIG_IDE is not set 488# CONFIG_IDE is not set
509 489
510# 490#
@@ -581,7 +561,6 @@ CONFIG_SCSI_IBMVSCSI=m
581# CONFIG_SCSI_DC395x is not set 561# CONFIG_SCSI_DC395x is not set
582# CONFIG_SCSI_DC390T is not set 562# CONFIG_SCSI_DC390T is not set
583# CONFIG_SCSI_DEBUG is not set 563# CONFIG_SCSI_DEBUG is not set
584# CONFIG_SCSI_ESP_CORE is not set
585# CONFIG_SCSI_SRP is not set 564# CONFIG_SCSI_SRP is not set
586# CONFIG_ATA is not set 565# CONFIG_ATA is not set
587 566
@@ -634,10 +613,6 @@ CONFIG_DUMMY=m
634CONFIG_BONDING=m 613CONFIG_BONDING=m
635# CONFIG_EQUALIZER is not set 614# CONFIG_EQUALIZER is not set
636CONFIG_TUN=m 615CONFIG_TUN=m
637
638#
639# ARCnet devices
640#
641# CONFIG_ARCNET is not set 616# CONFIG_ARCNET is not set
642# CONFIG_PHYLIB is not set 617# CONFIG_PHYLIB is not set
643 618
@@ -705,11 +680,6 @@ CONFIG_NETDEV_10000=y
705# CONFIG_NETXEN_NIC is not set 680# CONFIG_NETXEN_NIC is not set
706# CONFIG_PASEMI_MAC is not set 681# CONFIG_PASEMI_MAC is not set
707# CONFIG_MLX4_CORE is not set 682# CONFIG_MLX4_CORE is not set
708CONFIG_MLX4_DEBUG=y
709
710#
711# Token Ring devices
712#
713CONFIG_TR=y 683CONFIG_TR=y
714CONFIG_IBMOL=y 684CONFIG_IBMOL=y
715# CONFIG_3C359 is not set 685# CONFIG_3C359 is not set
@@ -757,6 +727,7 @@ CONFIG_NET_POLL_CONTROLLER=y
757# 727#
758CONFIG_INPUT=y 728CONFIG_INPUT=y
759# CONFIG_INPUT_FF_MEMLESS is not set 729# CONFIG_INPUT_FF_MEMLESS is not set
730# CONFIG_INPUT_POLLDEV is not set
760 731
761# 732#
762# Userland interfaces 733# Userland interfaces
@@ -1139,7 +1110,6 @@ CONFIG_NLS_ISO8859_1=y
1139CONFIG_DLM=m 1110CONFIG_DLM=m
1140# CONFIG_DLM_DEBUG is not set 1111# CONFIG_DLM_DEBUG is not set
1141# CONFIG_UCC_SLOW is not set 1112# CONFIG_UCC_SLOW is not set
1142# CONFIG_UCC_FAST is not set
1143 1113
1144# 1114#
1145# Library routines 1115# Library routines
diff --git a/arch/powerpc/configs/linkstation_defconfig b/arch/powerpc/configs/linkstation_defconfig
index dde66a597a8d..78fd07c5f47f 100644
--- a/arch/powerpc/configs/linkstation_defconfig
+++ b/arch/powerpc/configs/linkstation_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.20-rc6 3# Linux kernel version: 2.6.22-rc6
4# Sun Jan 28 23:13:56 2007 4# Tue Jun 26 13:25:19 2007
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7CONFIG_PPC32=y 7CONFIG_PPC32=y
@@ -24,7 +24,7 @@ CONFIG_PPC_UDBG_16550=y
24# CONFIG_GENERIC_TBSYNC is not set 24# CONFIG_GENERIC_TBSYNC is not set
25CONFIG_AUDIT_ARCH=y 25CONFIG_AUDIT_ARCH=y
26CONFIG_GENERIC_BUG=y 26CONFIG_GENERIC_BUG=y
27# CONFIG_DEFAULT_UIMAGE is not set 27CONFIG_DEFAULT_UIMAGE=y
28 28
29# 29#
30# Processor support 30# Processor support
@@ -34,9 +34,9 @@ CONFIG_CLASSIC32=y
34# CONFIG_PPC_83xx is not set 34# CONFIG_PPC_83xx is not set
35# CONFIG_PPC_85xx is not set 35# CONFIG_PPC_85xx is not set
36# CONFIG_PPC_86xx is not set 36# CONFIG_PPC_86xx is not set
37# CONFIG_PPC_8xx is not set
37# CONFIG_40x is not set 38# CONFIG_40x is not set
38# CONFIG_44x is not set 39# CONFIG_44x is not set
39# CONFIG_8xx is not set
40# CONFIG_E200 is not set 40# CONFIG_E200 is not set
41CONFIG_6xx=y 41CONFIG_6xx=y
42CONFIG_PPC_FPU=y 42CONFIG_PPC_FPU=y
@@ -45,6 +45,7 @@ CONFIG_PPC_FPU=y
45# CONFIG_ALTIVEC is not set 45# CONFIG_ALTIVEC is not set
46CONFIG_PPC_STD_MMU=y 46CONFIG_PPC_STD_MMU=y
47CONFIG_PPC_STD_MMU_32=y 47CONFIG_PPC_STD_MMU_32=y
48# CONFIG_PPC_MM_SLICES is not set
48# CONFIG_SMP is not set 49# CONFIG_SMP is not set
49CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 50CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
50 51
@@ -63,6 +64,7 @@ CONFIG_LOCALVERSION_AUTO=y
63CONFIG_SWAP=y 64CONFIG_SWAP=y
64CONFIG_SYSVIPC=y 65CONFIG_SYSVIPC=y
65# CONFIG_IPC_NS is not set 66# CONFIG_IPC_NS is not set
67CONFIG_SYSVIPC_SYSCTL=y
66CONFIG_POSIX_MQUEUE=y 68CONFIG_POSIX_MQUEUE=y
67# CONFIG_BSD_PROCESS_ACCT is not set 69# CONFIG_BSD_PROCESS_ACCT is not set
68# CONFIG_TASKSTATS is not set 70# CONFIG_TASKSTATS is not set
@@ -70,8 +72,10 @@ CONFIG_POSIX_MQUEUE=y
70# CONFIG_AUDIT is not set 72# CONFIG_AUDIT is not set
71CONFIG_IKCONFIG=y 73CONFIG_IKCONFIG=y
72CONFIG_IKCONFIG_PROC=y 74CONFIG_IKCONFIG_PROC=y
75CONFIG_LOG_BUF_SHIFT=14
73CONFIG_SYSFS_DEPRECATED=y 76CONFIG_SYSFS_DEPRECATED=y
74# CONFIG_RELAY is not set 77# CONFIG_RELAY is not set
78CONFIG_BLK_DEV_INITRD=y
75CONFIG_INITRAMFS_SOURCE="" 79CONFIG_INITRAMFS_SOURCE=""
76# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 80# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
77CONFIG_SYSCTL=y 81CONFIG_SYSCTL=y
@@ -86,14 +90,19 @@ CONFIG_BUG=y
86CONFIG_ELF_CORE=y 90CONFIG_ELF_CORE=y
87CONFIG_BASE_FULL=y 91CONFIG_BASE_FULL=y
88CONFIG_FUTEX=y 92CONFIG_FUTEX=y
93CONFIG_ANON_INODES=y
89CONFIG_EPOLL=y 94CONFIG_EPOLL=y
95CONFIG_SIGNALFD=y
96CONFIG_TIMERFD=y
97CONFIG_EVENTFD=y
90CONFIG_SHMEM=y 98CONFIG_SHMEM=y
91CONFIG_SLAB=y
92CONFIG_VM_EVENT_COUNTERS=y 99CONFIG_VM_EVENT_COUNTERS=y
100CONFIG_SLAB=y
101# CONFIG_SLUB is not set
102# CONFIG_SLOB is not set
93CONFIG_RT_MUTEXES=y 103CONFIG_RT_MUTEXES=y
94# CONFIG_TINY_SHMEM is not set 104# CONFIG_TINY_SHMEM is not set
95CONFIG_BASE_SMALL=0 105CONFIG_BASE_SMALL=0
96# CONFIG_SLOB is not set
97 106
98# 107#
99# Loadable module support 108# Loadable module support
@@ -133,8 +142,20 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
133CONFIG_EMBEDDED6xx=y 142CONFIG_EMBEDDED6xx=y
134# CONFIG_APUS is not set 143# CONFIG_APUS is not set
135# CONFIG_PPC_MPC52xx is not set 144# CONFIG_PPC_MPC52xx is not set
145# CONFIG_PPC_MPC5200 is not set
136# CONFIG_PPC_CELL is not set 146# CONFIG_PPC_CELL is not set
137# CONFIG_PPC_CELL_NATIVE is not set 147# CONFIG_PPC_CELL_NATIVE is not set
148# CONFIG_PQ2ADS is not set
149CONFIG_LINKSTATION=y
150# CONFIG_MPC7448HPC2 is not set
151# CONFIG_PPC_HOLLY is not set
152# CONFIG_PPC_PRPMC2800 is not set
153CONFIG_MPC10X_BRIDGE=y
154CONFIG_MPC10X_OPENPIC=y
155# CONFIG_MPC10X_STORE_GATHERING is not set
156CONFIG_MPIC=y
157# CONFIG_MPIC_WEIRD is not set
158# CONFIG_PPC_I8259 is not set
138# CONFIG_PPC_RTAS is not set 159# CONFIG_PPC_RTAS is not set
139# CONFIG_MMIO_NVRAM is not set 160# CONFIG_MMIO_NVRAM is not set
140# CONFIG_PPC_MPC106 is not set 161# CONFIG_PPC_MPC106 is not set
@@ -143,39 +164,7 @@ CONFIG_EMBEDDED6xx=y
143# CONFIG_GENERIC_IOMAP is not set 164# CONFIG_GENERIC_IOMAP is not set
144# CONFIG_CPU_FREQ is not set 165# CONFIG_CPU_FREQ is not set
145# CONFIG_TAU is not set 166# CONFIG_TAU is not set
146# CONFIG_KATANA is not set 167# CONFIG_CPM2 is not set
147# CONFIG_WILLOW is not set
148# CONFIG_CPCI690 is not set
149# CONFIG_POWERPMC250 is not set
150# CONFIG_CHESTNUT is not set
151# CONFIG_SPRUCE is not set
152# CONFIG_HDPU is not set
153# CONFIG_EV64260 is not set
154# CONFIG_LOPEC is not set
155# CONFIG_MVME5100 is not set
156# CONFIG_PPLUS is not set
157# CONFIG_PRPMC750 is not set
158# CONFIG_PRPMC800 is not set
159# CONFIG_SANDPOINT is not set
160CONFIG_LINKSTATION=y
161# CONFIG_MPC7448HPC2 is not set
162# CONFIG_RADSTONE_PPC7D is not set
163# CONFIG_PAL4 is not set
164# CONFIG_GEMINI is not set
165# CONFIG_EST8260 is not set
166# CONFIG_SBC82xx is not set
167# CONFIG_SBS8260 is not set
168# CONFIG_RPX8260 is not set
169# CONFIG_TQM8260 is not set
170# CONFIG_ADS8272 is not set
171# CONFIG_PQ2FADS is not set
172# CONFIG_EV64360 is not set
173CONFIG_PPC_GEN550=y
174CONFIG_MPC10X_BRIDGE=y
175CONFIG_MPC10X_OPENPIC=y
176# CONFIG_MPC10X_STORE_GATHERING is not set
177# CONFIG_WANT_EARLY_SERIAL is not set
178CONFIG_MPIC=y
179 168
180# 169#
181# Kernel options 170# Kernel options
@@ -203,33 +192,33 @@ CONFIG_FLAT_NODE_MEM_MAP=y
203# CONFIG_SPARSEMEM_STATIC is not set 192# CONFIG_SPARSEMEM_STATIC is not set
204CONFIG_SPLIT_PTLOCK_CPUS=4 193CONFIG_SPLIT_PTLOCK_CPUS=4
205# CONFIG_RESOURCES_64BIT is not set 194# CONFIG_RESOURCES_64BIT is not set
195CONFIG_ZONE_DMA_FLAG=1
206CONFIG_PROC_DEVICETREE=y 196CONFIG_PROC_DEVICETREE=y
207# CONFIG_CMDLINE_BOOL is not set 197# CONFIG_CMDLINE_BOOL is not set
208# CONFIG_PM is not set 198# CONFIG_PM is not set
209CONFIG_SECCOMP=y 199CONFIG_SECCOMP=y
200# CONFIG_WANT_DEVICE_TREE is not set
210CONFIG_ISA_DMA_API=y 201CONFIG_ISA_DMA_API=y
211 202
212# 203#
213# Bus options 204# Bus options
214# 205#
206CONFIG_ZONE_DMA=y
215CONFIG_GENERIC_ISA_DMA=y 207CONFIG_GENERIC_ISA_DMA=y
216# CONFIG_MPIC_WEIRD is not set
217# CONFIG_PPC_I8259 is not set
218CONFIG_PPC_INDIRECT_PCI=y 208CONFIG_PPC_INDIRECT_PCI=y
209# CONFIG_PPC_INDIRECT_PCI_BE is not set
219CONFIG_FSL_SOC=y 210CONFIG_FSL_SOC=y
220CONFIG_PCI=y 211CONFIG_PCI=y
221CONFIG_PCI_DOMAINS=y 212CONFIG_PCI_DOMAINS=y
222# CONFIG_PCIEPORTBUS is not set 213# CONFIG_PCIEPORTBUS is not set
214CONFIG_ARCH_SUPPORTS_MSI=y
215# CONFIG_PCI_MSI is not set
223# CONFIG_PCI_DEBUG is not set 216# CONFIG_PCI_DEBUG is not set
224 217
225# 218#
226# PCCARD (PCMCIA/CardBus) support 219# PCCARD (PCMCIA/CardBus) support
227# 220#
228# CONFIG_PCCARD is not set 221# CONFIG_PCCARD is not set
229
230#
231# PCI Hotplug Support
232#
233# CONFIG_HOTPLUG_PCI is not set 222# CONFIG_HOTPLUG_PCI is not set
234 223
235# 224#
@@ -254,13 +243,13 @@ CONFIG_NET=y
254# 243#
255# Networking options 244# Networking options
256# 245#
257# CONFIG_NETDEBUG is not set
258CONFIG_PACKET=y 246CONFIG_PACKET=y
259CONFIG_PACKET_MMAP=y 247CONFIG_PACKET_MMAP=y
260CONFIG_UNIX=y 248CONFIG_UNIX=y
261CONFIG_XFRM=y 249CONFIG_XFRM=y
262# CONFIG_XFRM_USER is not set 250# CONFIG_XFRM_USER is not set
263# CONFIG_XFRM_SUB_POLICY is not set 251# CONFIG_XFRM_SUB_POLICY is not set
252# CONFIG_XFRM_MIGRATE is not set
264# CONFIG_NET_KEY is not set 253# CONFIG_NET_KEY is not set
265CONFIG_INET=y 254CONFIG_INET=y
266CONFIG_IP_MULTICAST=y 255CONFIG_IP_MULTICAST=y
@@ -289,10 +278,6 @@ CONFIG_INET_TCP_DIAG=y
289CONFIG_TCP_CONG_CUBIC=y 278CONFIG_TCP_CONG_CUBIC=y
290CONFIG_DEFAULT_TCP_CONG="cubic" 279CONFIG_DEFAULT_TCP_CONG="cubic"
291# CONFIG_TCP_MD5SIG is not set 280# CONFIG_TCP_MD5SIG is not set
292
293#
294# IP: Virtual Server Configuration
295#
296# CONFIG_IP_VS is not set 281# CONFIG_IP_VS is not set
297# CONFIG_IPV6 is not set 282# CONFIG_IPV6 is not set
298# CONFIG_INET6_XFRM_TUNNEL is not set 283# CONFIG_INET6_XFRM_TUNNEL is not set
@@ -306,8 +291,6 @@ CONFIG_NETFILTER=y
306# 291#
307# CONFIG_NETFILTER_NETLINK is not set 292# CONFIG_NETFILTER_NETLINK is not set
308CONFIG_NF_CONNTRACK_ENABLED=m 293CONFIG_NF_CONNTRACK_ENABLED=m
309CONFIG_NF_CONNTRACK_SUPPORT=y
310# CONFIG_IP_NF_CONNTRACK_SUPPORT is not set
311CONFIG_NF_CONNTRACK=m 294CONFIG_NF_CONNTRACK=m
312# CONFIG_NF_CT_ACCT is not set 295# CONFIG_NF_CT_ACCT is not set
313# CONFIG_NF_CONNTRACK_MARK is not set 296# CONFIG_NF_CONNTRACK_MARK is not set
@@ -320,16 +303,21 @@ CONFIG_NF_CONNTRACK_H323=m
320CONFIG_NF_CONNTRACK_IRC=m 303CONFIG_NF_CONNTRACK_IRC=m
321CONFIG_NF_CONNTRACK_NETBIOS_NS=m 304CONFIG_NF_CONNTRACK_NETBIOS_NS=m
322CONFIG_NF_CONNTRACK_PPTP=m 305CONFIG_NF_CONNTRACK_PPTP=m
306# CONFIG_NF_CONNTRACK_SANE is not set
323CONFIG_NF_CONNTRACK_SIP=m 307CONFIG_NF_CONNTRACK_SIP=m
324CONFIG_NF_CONNTRACK_TFTP=m 308CONFIG_NF_CONNTRACK_TFTP=m
325CONFIG_NETFILTER_XTABLES=m 309CONFIG_NETFILTER_XTABLES=m
326# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set 310# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set
311# CONFIG_NETFILTER_XT_TARGET_CONNMARK is not set
327# CONFIG_NETFILTER_XT_TARGET_DSCP is not set 312# CONFIG_NETFILTER_XT_TARGET_DSCP is not set
328# CONFIG_NETFILTER_XT_TARGET_MARK is not set 313# CONFIG_NETFILTER_XT_TARGET_MARK is not set
329# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set 314# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set
330# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set 315# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set
331# CONFIG_NETFILTER_XT_TARGET_NOTRACK is not set 316# CONFIG_NETFILTER_XT_TARGET_NOTRACK is not set
317# CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set
332# CONFIG_NETFILTER_XT_MATCH_COMMENT is not set 318# CONFIG_NETFILTER_XT_MATCH_COMMENT is not set
319# CONFIG_NETFILTER_XT_MATCH_CONNBYTES is not set
320# CONFIG_NETFILTER_XT_MATCH_CONNMARK is not set
333# CONFIG_NETFILTER_XT_MATCH_CONNTRACK is not set 321# CONFIG_NETFILTER_XT_MATCH_CONNTRACK is not set
334# CONFIG_NETFILTER_XT_MATCH_DCCP is not set 322# CONFIG_NETFILTER_XT_MATCH_DCCP is not set
335# CONFIG_NETFILTER_XT_MATCH_DSCP is not set 323# CONFIG_NETFILTER_XT_MATCH_DSCP is not set
@@ -370,7 +358,6 @@ CONFIG_IP_NF_FILTER=m
370CONFIG_IP_NF_TARGET_REJECT=m 358CONFIG_IP_NF_TARGET_REJECT=m
371# CONFIG_IP_NF_TARGET_LOG is not set 359# CONFIG_IP_NF_TARGET_LOG is not set
372# CONFIG_IP_NF_TARGET_ULOG is not set 360# CONFIG_IP_NF_TARGET_ULOG is not set
373# CONFIG_IP_NF_TARGET_TCPMSS is not set
374CONFIG_NF_NAT=m 361CONFIG_NF_NAT=m
375CONFIG_NF_NAT_NEEDED=y 362CONFIG_NF_NAT_NEEDED=y
376CONFIG_IP_NF_TARGET_MASQUERADE=m 363CONFIG_IP_NF_TARGET_MASQUERADE=m
@@ -390,24 +377,13 @@ CONFIG_IP_NF_MANGLE=m
390CONFIG_IP_NF_TARGET_TOS=m 377CONFIG_IP_NF_TARGET_TOS=m
391CONFIG_IP_NF_TARGET_ECN=m 378CONFIG_IP_NF_TARGET_ECN=m
392CONFIG_IP_NF_TARGET_TTL=m 379CONFIG_IP_NF_TARGET_TTL=m
380# CONFIG_IP_NF_TARGET_CLUSTERIP is not set
393CONFIG_IP_NF_RAW=m 381CONFIG_IP_NF_RAW=m
394CONFIG_IP_NF_ARPTABLES=m 382CONFIG_IP_NF_ARPTABLES=m
395CONFIG_IP_NF_ARPFILTER=m 383CONFIG_IP_NF_ARPFILTER=m
396CONFIG_IP_NF_ARP_MANGLE=m 384CONFIG_IP_NF_ARP_MANGLE=m
397
398#
399# DCCP Configuration (EXPERIMENTAL)
400#
401# CONFIG_IP_DCCP is not set 385# CONFIG_IP_DCCP is not set
402
403#
404# SCTP Configuration (EXPERIMENTAL)
405#
406# CONFIG_IP_SCTP is not set 386# CONFIG_IP_SCTP is not set
407
408#
409# TIPC Configuration (EXPERIMENTAL)
410#
411# CONFIG_TIPC is not set 387# CONFIG_TIPC is not set
412# CONFIG_ATM is not set 388# CONFIG_ATM is not set
413# CONFIG_BRIDGE is not set 389# CONFIG_BRIDGE is not set
@@ -433,6 +409,14 @@ CONFIG_IP_NF_ARP_MANGLE=m
433# CONFIG_HAMRADIO is not set 409# CONFIG_HAMRADIO is not set
434# CONFIG_IRDA is not set 410# CONFIG_IRDA is not set
435# CONFIG_BT is not set 411# CONFIG_BT is not set
412# CONFIG_AF_RXRPC is not set
413
414#
415# Wireless
416#
417# CONFIG_CFG80211 is not set
418CONFIG_WIRELESS_EXT=y
419# CONFIG_MAC80211 is not set
436CONFIG_IEEE80211=m 420CONFIG_IEEE80211=m
437CONFIG_IEEE80211_DEBUG=y 421CONFIG_IEEE80211_DEBUG=y
438CONFIG_IEEE80211_CRYPT_WEP=m 422CONFIG_IEEE80211_CRYPT_WEP=m
@@ -440,7 +424,7 @@ CONFIG_IEEE80211_CRYPT_CCMP=m
440CONFIG_IEEE80211_CRYPT_TKIP=m 424CONFIG_IEEE80211_CRYPT_TKIP=m
441CONFIG_IEEE80211_SOFTMAC=m 425CONFIG_IEEE80211_SOFTMAC=m
442CONFIG_IEEE80211_SOFTMAC_DEBUG=y 426CONFIG_IEEE80211_SOFTMAC_DEBUG=y
443CONFIG_WIRELESS_EXT=y 427# CONFIG_RFKILL is not set
444 428
445# 429#
446# Device Drivers 430# Device Drivers
@@ -453,16 +437,13 @@ CONFIG_STANDALONE=y
453CONFIG_PREVENT_FIRMWARE_BUILD=y 437CONFIG_PREVENT_FIRMWARE_BUILD=y
454CONFIG_FW_LOADER=m 438CONFIG_FW_LOADER=m
455# CONFIG_DEBUG_DRIVER is not set 439# CONFIG_DEBUG_DRIVER is not set
440# CONFIG_DEBUG_DEVRES is not set
456# CONFIG_SYS_HYPERVISOR is not set 441# CONFIG_SYS_HYPERVISOR is not set
457 442
458# 443#
459# Connector - unified userspace <-> kernelspace linker 444# Connector - unified userspace <-> kernelspace linker
460# 445#
461# CONFIG_CONNECTOR is not set 446# CONFIG_CONNECTOR is not set
462
463#
464# Memory Technology Devices (MTD)
465#
466CONFIG_MTD=y 447CONFIG_MTD=y
467# CONFIG_MTD_DEBUG is not set 448# CONFIG_MTD_DEBUG is not set
468CONFIG_MTD_CONCAT=y 449CONFIG_MTD_CONCAT=y
@@ -511,7 +492,6 @@ CONFIG_MTD_CFI_UTIL=y
511# CONFIG_MTD_RAM is not set 492# CONFIG_MTD_RAM is not set
512# CONFIG_MTD_ROM is not set 493# CONFIG_MTD_ROM is not set
513# CONFIG_MTD_ABSENT is not set 494# CONFIG_MTD_ABSENT is not set
514# CONFIG_MTD_OBSOLETE_CHIPS is not set
515 495
516# 496#
517# Mapping drivers for chip access 497# Mapping drivers for chip access
@@ -539,17 +519,13 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=1
539# CONFIG_MTD_DOC2000 is not set 519# CONFIG_MTD_DOC2000 is not set
540# CONFIG_MTD_DOC2001 is not set 520# CONFIG_MTD_DOC2001 is not set
541# CONFIG_MTD_DOC2001PLUS is not set 521# CONFIG_MTD_DOC2001PLUS is not set
542
543#
544# NAND Flash Device Drivers
545#
546# CONFIG_MTD_NAND is not set 522# CONFIG_MTD_NAND is not set
547# CONFIG_MTD_NAND_CAFE is not set 523# CONFIG_MTD_ONENAND is not set
548 524
549# 525#
550# OneNAND Flash Device Drivers 526# UBI - Unsorted block images
551# 527#
552# CONFIG_MTD_ONENAND is not set 528# CONFIG_MTD_UBI is not set
553 529
554# 530#
555# Parallel port support 531# Parallel port support
@@ -559,6 +535,7 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=1
559# 535#
560# Plug and Play support 536# Plug and Play support
561# 537#
538# CONFIG_PNPACPI is not set
562 539
563# 540#
564# Block devices 541# Block devices
@@ -578,19 +555,16 @@ CONFIG_BLK_DEV_RAM=y
578CONFIG_BLK_DEV_RAM_COUNT=2 555CONFIG_BLK_DEV_RAM_COUNT=2
579CONFIG_BLK_DEV_RAM_SIZE=8192 556CONFIG_BLK_DEV_RAM_SIZE=8192
580CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 557CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
581CONFIG_BLK_DEV_INITRD=y
582# CONFIG_CDROM_PKTCDVD is not set 558# CONFIG_CDROM_PKTCDVD is not set
583# CONFIG_ATA_OVER_ETH is not set 559# CONFIG_ATA_OVER_ETH is not set
584 560
585# 561#
586# Misc devices 562# Misc devices
587# 563#
564# CONFIG_PHANTOM is not set
588# CONFIG_SGI_IOC4 is not set 565# CONFIG_SGI_IOC4 is not set
589# CONFIG_TIFM_CORE is not set 566# CONFIG_TIFM_CORE is not set
590 567# CONFIG_BLINK is not set
591#
592# ATA/ATAPI/MFM/RLL support
593#
594# CONFIG_IDE is not set 568# CONFIG_IDE is not set
595 569
596# 570#
@@ -619,6 +593,7 @@ CONFIG_SCSI_MULTI_LUN=y
619# CONFIG_SCSI_CONSTANTS is not set 593# CONFIG_SCSI_CONSTANTS is not set
620# CONFIG_SCSI_LOGGING is not set 594# CONFIG_SCSI_LOGGING is not set
621# CONFIG_SCSI_SCAN_ASYNC is not set 595# CONFIG_SCSI_SCAN_ASYNC is not set
596CONFIG_SCSI_WAIT_SCAN=m
622 597
623# 598#
624# SCSI Transports 599# SCSI Transports
@@ -667,11 +642,8 @@ CONFIG_SCSI_MULTI_LUN=y
667# CONFIG_SCSI_NSP32 is not set 642# CONFIG_SCSI_NSP32 is not set
668# CONFIG_SCSI_DEBUG is not set 643# CONFIG_SCSI_DEBUG is not set
669# CONFIG_SCSI_SRP is not set 644# CONFIG_SCSI_SRP is not set
670
671#
672# Serial ATA (prod) and Parallel ATA (experimental) drivers
673#
674CONFIG_ATA=y 645CONFIG_ATA=y
646# CONFIG_ATA_NONSTANDARD is not set
675# CONFIG_SATA_AHCI is not set 647# CONFIG_SATA_AHCI is not set
676# CONFIG_SATA_SVW is not set 648# CONFIG_SATA_SVW is not set
677# CONFIG_ATA_PIIX is not set 649# CONFIG_ATA_PIIX is not set
@@ -687,10 +659,12 @@ CONFIG_ATA=y
687# CONFIG_SATA_ULI is not set 659# CONFIG_SATA_ULI is not set
688# CONFIG_SATA_VIA is not set 660# CONFIG_SATA_VIA is not set
689# CONFIG_SATA_VITESSE is not set 661# CONFIG_SATA_VITESSE is not set
662# CONFIG_SATA_INIC162X is not set
690# CONFIG_PATA_ALI is not set 663# CONFIG_PATA_ALI is not set
691# CONFIG_PATA_AMD is not set 664# CONFIG_PATA_AMD is not set
692# CONFIG_PATA_ARTOP is not set 665# CONFIG_PATA_ARTOP is not set
693# CONFIG_PATA_ATIIXP is not set 666# CONFIG_PATA_ATIIXP is not set
667# CONFIG_PATA_CMD640_PCI is not set
694# CONFIG_PATA_CMD64X is not set 668# CONFIG_PATA_CMD64X is not set
695# CONFIG_PATA_CS5520 is not set 669# CONFIG_PATA_CS5520 is not set
696# CONFIG_PATA_CS5530 is not set 670# CONFIG_PATA_CS5530 is not set
@@ -702,6 +676,7 @@ CONFIG_ATA=y
702# CONFIG_PATA_HPT3X2N is not set 676# CONFIG_PATA_HPT3X2N is not set
703# CONFIG_PATA_HPT3X3 is not set 677# CONFIG_PATA_HPT3X3 is not set
704CONFIG_PATA_IT821X=y 678CONFIG_PATA_IT821X=y
679# CONFIG_PATA_IT8213 is not set
705# CONFIG_PATA_JMICRON is not set 680# CONFIG_PATA_JMICRON is not set
706# CONFIG_PATA_TRIFLEX is not set 681# CONFIG_PATA_TRIFLEX is not set
707# CONFIG_PATA_MARVELL is not set 682# CONFIG_PATA_MARVELL is not set
@@ -738,18 +713,14 @@ CONFIG_PATA_SIL680=y
738# 713#
739# IEEE 1394 (FireWire) support 714# IEEE 1394 (FireWire) support
740# 715#
716# CONFIG_FIREWIRE is not set
741# CONFIG_IEEE1394 is not set 717# CONFIG_IEEE1394 is not set
742 718
743# 719#
744# I2O device support 720# I2O device support
745# 721#
746# CONFIG_I2O is not set 722# CONFIG_I2O is not set
747 723# CONFIG_MACINTOSH_DRIVERS is not set
748#
749# Macintosh device drivers
750#
751# CONFIG_MAC_EMUMOUSEBTN is not set
752# CONFIG_WINDFARM is not set
753 724
754# 725#
755# Network device support 726# Network device support
@@ -759,15 +730,7 @@ CONFIG_NETDEVICES=y
759# CONFIG_BONDING is not set 730# CONFIG_BONDING is not set
760# CONFIG_EQUALIZER is not set 731# CONFIG_EQUALIZER is not set
761CONFIG_TUN=m 732CONFIG_TUN=m
762
763#
764# ARCnet devices
765#
766# CONFIG_ARCNET is not set 733# CONFIG_ARCNET is not set
767
768#
769# PHY device support
770#
771# CONFIG_PHYLIB is not set 734# CONFIG_PHYLIB is not set
772 735
773# 736#
@@ -795,10 +758,7 @@ CONFIG_TULIP_MMIO=y
795# CONFIG_ULI526X is not set 758# CONFIG_ULI526X is not set
796# CONFIG_HP100 is not set 759# CONFIG_HP100 is not set
797# CONFIG_NET_PCI is not set 760# CONFIG_NET_PCI is not set
798 761CONFIG_NETDEV_1000=y
799#
800# Ethernet (1000 Mbit)
801#
802# CONFIG_ACENIC is not set 762# CONFIG_ACENIC is not set
803# CONFIG_DL2K is not set 763# CONFIG_DL2K is not set
804# CONFIG_E1000 is not set 764# CONFIG_E1000 is not set
@@ -811,58 +771,36 @@ CONFIG_R8169=y
811# CONFIG_SKGE is not set 771# CONFIG_SKGE is not set
812# CONFIG_SKY2 is not set 772# CONFIG_SKY2 is not set
813# CONFIG_SK98LIN is not set 773# CONFIG_SK98LIN is not set
774# CONFIG_VIA_VELOCITY is not set
814# CONFIG_TIGON3 is not set 775# CONFIG_TIGON3 is not set
815# CONFIG_BNX2 is not set 776# CONFIG_BNX2 is not set
816# CONFIG_QLA3XXX is not set 777# CONFIG_QLA3XXX is not set
817 778# CONFIG_ATL1 is not set
818# 779CONFIG_NETDEV_10000=y
819# Ethernet (10000 Mbit)
820#
821# CONFIG_CHELSIO_T1 is not set 780# CONFIG_CHELSIO_T1 is not set
781# CONFIG_CHELSIO_T3 is not set
822# CONFIG_IXGB is not set 782# CONFIG_IXGB is not set
823# CONFIG_S2IO is not set 783# CONFIG_S2IO is not set
824# CONFIG_MYRI10GE is not set 784# CONFIG_MYRI10GE is not set
825# CONFIG_NETXEN_NIC is not set 785# CONFIG_NETXEN_NIC is not set
826 786# CONFIG_MLX4_CORE is not set
827#
828# Token Ring devices
829#
830# CONFIG_TR is not set 787# CONFIG_TR is not set
831 788
832# 789#
833# Wireless LAN (non-hamradio) 790# Wireless LAN
834#
835CONFIG_NET_RADIO=y
836# CONFIG_NET_WIRELESS_RTNETLINK is not set
837
838#
839# Obsolete Wireless cards support (pre-802.11)
840#
841# CONFIG_STRIP is not set
842
843#
844# Wireless 802.11b ISA/PCI cards support
845#
846# CONFIG_IPW2100 is not set
847# CONFIG_IPW2200 is not set
848# CONFIG_AIRO is not set
849# CONFIG_HERMES is not set
850# CONFIG_ATMEL is not set
851
852#
853# Prism GT/Duette 802.11(a/b/g) PCI/Cardbus support
854# 791#
855# CONFIG_PRISM54 is not set 792# CONFIG_WLAN_PRE80211 is not set
856# CONFIG_USB_ZD1201 is not set 793# CONFIG_WLAN_80211 is not set
857# CONFIG_HOSTAP is not set
858# CONFIG_BCM43XX is not set
859CONFIG_ZD1211RW=m
860# CONFIG_ZD1211RW_DEBUG is not set
861CONFIG_NET_WIRELESS=y
862 794
863# 795#
864# Wan interfaces 796# USB Network Adapters
865# 797#
798# CONFIG_USB_CATC is not set
799# CONFIG_USB_KAWETH is not set
800# CONFIG_USB_PEGASUS is not set
801# CONFIG_USB_RTL8150 is not set
802# CONFIG_USB_USBNET_MII is not set
803# CONFIG_USB_USBNET is not set
866# CONFIG_WAN is not set 804# CONFIG_WAN is not set
867# CONFIG_FDDI is not set 805# CONFIG_FDDI is not set
868# CONFIG_HIPPI is not set 806# CONFIG_HIPPI is not set
@@ -872,7 +810,6 @@ CONFIG_NET_WIRELESS=y
872# CONFIG_SHAPER is not set 810# CONFIG_SHAPER is not set
873CONFIG_NETCONSOLE=y 811CONFIG_NETCONSOLE=y
874CONFIG_NETPOLL=y 812CONFIG_NETPOLL=y
875# CONFIG_NETPOLL_RX is not set
876# CONFIG_NETPOLL_TRAP is not set 813# CONFIG_NETPOLL_TRAP is not set
877CONFIG_NET_POLL_CONTROLLER=y 814CONFIG_NET_POLL_CONTROLLER=y
878 815
@@ -891,6 +828,7 @@ CONFIG_NET_POLL_CONTROLLER=y
891# 828#
892CONFIG_INPUT=y 829CONFIG_INPUT=y
893# CONFIG_INPUT_FF_MEMLESS is not set 830# CONFIG_INPUT_FF_MEMLESS is not set
831# CONFIG_INPUT_POLLDEV is not set
894 832
895# 833#
896# Userland interfaces 834# Userland interfaces
@@ -910,8 +848,14 @@ CONFIG_INPUT_EVDEV=m
910# CONFIG_INPUT_KEYBOARD is not set 848# CONFIG_INPUT_KEYBOARD is not set
911# CONFIG_INPUT_MOUSE is not set 849# CONFIG_INPUT_MOUSE is not set
912# CONFIG_INPUT_JOYSTICK is not set 850# CONFIG_INPUT_JOYSTICK is not set
851# CONFIG_INPUT_TABLET is not set
913# CONFIG_INPUT_TOUCHSCREEN is not set 852# CONFIG_INPUT_TOUCHSCREEN is not set
914CONFIG_INPUT_MISC=y 853CONFIG_INPUT_MISC=y
854# CONFIG_INPUT_ATI_REMOTE is not set
855# CONFIG_INPUT_ATI_REMOTE2 is not set
856# CONFIG_INPUT_KEYSPAN_REMOTE is not set
857# CONFIG_INPUT_POWERMATE is not set
858# CONFIG_INPUT_YEALINK is not set
915CONFIG_INPUT_UINPUT=m 859CONFIG_INPUT_UINPUT=m
916 860
917# 861#
@@ -950,6 +894,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4
950CONFIG_SERIAL_CORE=y 894CONFIG_SERIAL_CORE=y
951CONFIG_SERIAL_CORE_CONSOLE=y 895CONFIG_SERIAL_CORE_CONSOLE=y
952# CONFIG_SERIAL_JSM is not set 896# CONFIG_SERIAL_JSM is not set
897CONFIG_SERIAL_OF_PLATFORM=y
953CONFIG_UNIX98_PTYS=y 898CONFIG_UNIX98_PTYS=y
954CONFIG_LEGACY_PTYS=y 899CONFIG_LEGACY_PTYS=y
955CONFIG_LEGACY_PTY_COUNT=256 900CONFIG_LEGACY_PTY_COUNT=256
@@ -958,15 +903,10 @@ CONFIG_LEGACY_PTY_COUNT=256
958# IPMI 903# IPMI
959# 904#
960# CONFIG_IPMI_HANDLER is not set 905# CONFIG_IPMI_HANDLER is not set
961
962#
963# Watchdog Cards
964#
965# CONFIG_WATCHDOG is not set 906# CONFIG_WATCHDOG is not set
966CONFIG_HW_RANDOM=y 907CONFIG_HW_RANDOM=y
967# CONFIG_NVRAM is not set 908# CONFIG_NVRAM is not set
968# CONFIG_GEN_RTC is not set 909# CONFIG_GEN_RTC is not set
969# CONFIG_DTLK is not set
970# CONFIG_R3964 is not set 910# CONFIG_R3964 is not set
971# CONFIG_APPLICOM is not set 911# CONFIG_APPLICOM is not set
972# CONFIG_AGP is not set 912# CONFIG_AGP is not set
@@ -977,11 +917,9 @@ CONFIG_HW_RANDOM=y
977# TPM devices 917# TPM devices
978# 918#
979# CONFIG_TCG_TPM is not set 919# CONFIG_TCG_TPM is not set
980 920CONFIG_DEVPORT=y
981#
982# I2C support
983#
984CONFIG_I2C=y 921CONFIG_I2C=y
922CONFIG_I2C_BOARDINFO=y
985CONFIG_I2C_CHARDEV=y 923CONFIG_I2C_CHARDEV=y
986 924
987# 925#
@@ -1008,14 +946,15 @@ CONFIG_I2C_MPC=y
1008# CONFIG_I2C_PARPORT_LIGHT is not set 946# CONFIG_I2C_PARPORT_LIGHT is not set
1009# CONFIG_I2C_PROSAVAGE is not set 947# CONFIG_I2C_PROSAVAGE is not set
1010# CONFIG_I2C_SAVAGE4 is not set 948# CONFIG_I2C_SAVAGE4 is not set
949# CONFIG_I2C_SIMTEC is not set
1011# CONFIG_I2C_SIS5595 is not set 950# CONFIG_I2C_SIS5595 is not set
1012# CONFIG_I2C_SIS630 is not set 951# CONFIG_I2C_SIS630 is not set
1013# CONFIG_I2C_SIS96X is not set 952# CONFIG_I2C_SIS96X is not set
1014# CONFIG_I2C_STUB is not set 953# CONFIG_I2C_STUB is not set
954# CONFIG_I2C_TINY_USB is not set
1015# CONFIG_I2C_VIA is not set 955# CONFIG_I2C_VIA is not set
1016# CONFIG_I2C_VIAPRO is not set 956# CONFIG_I2C_VIAPRO is not set
1017# CONFIG_I2C_VOODOO3 is not set 957# CONFIG_I2C_VOODOO3 is not set
1018# CONFIG_I2C_PCA_ISA is not set
1019 958
1020# 959#
1021# Miscellaneous I2C Chip support 960# Miscellaneous I2C Chip support
@@ -1043,16 +982,14 @@ CONFIG_SENSORS_EEPROM=m
1043# Dallas's 1-wire bus 982# Dallas's 1-wire bus
1044# 983#
1045# CONFIG_W1 is not set 984# CONFIG_W1 is not set
1046
1047#
1048# Hardware Monitoring support
1049#
1050CONFIG_HWMON=y 985CONFIG_HWMON=y
1051# CONFIG_HWMON_VID is not set 986# CONFIG_HWMON_VID is not set
1052# CONFIG_SENSORS_ABITUGURU is not set 987# CONFIG_SENSORS_ABITUGURU is not set
988# CONFIG_SENSORS_AD7418 is not set
1053# CONFIG_SENSORS_ADM1021 is not set 989# CONFIG_SENSORS_ADM1021 is not set
1054# CONFIG_SENSORS_ADM1025 is not set 990# CONFIG_SENSORS_ADM1025 is not set
1055# CONFIG_SENSORS_ADM1026 is not set 991# CONFIG_SENSORS_ADM1026 is not set
992# CONFIG_SENSORS_ADM1029 is not set
1056# CONFIG_SENSORS_ADM1031 is not set 993# CONFIG_SENSORS_ADM1031 is not set
1057# CONFIG_SENSORS_ADM9240 is not set 994# CONFIG_SENSORS_ADM9240 is not set
1058# CONFIG_SENSORS_ASB100 is not set 995# CONFIG_SENSORS_ASB100 is not set
@@ -1075,6 +1012,7 @@ CONFIG_HWMON=y
1075# CONFIG_SENSORS_LM90 is not set 1012# CONFIG_SENSORS_LM90 is not set
1076# CONFIG_SENSORS_LM92 is not set 1013# CONFIG_SENSORS_LM92 is not set
1077# CONFIG_SENSORS_MAX1619 is not set 1014# CONFIG_SENSORS_MAX1619 is not set
1015# CONFIG_SENSORS_MAX6650 is not set
1078# CONFIG_SENSORS_PC87360 is not set 1016# CONFIG_SENSORS_PC87360 is not set
1079# CONFIG_SENSORS_PC87427 is not set 1017# CONFIG_SENSORS_PC87427 is not set
1080# CONFIG_SENSORS_SIS5595 is not set 1018# CONFIG_SENSORS_SIS5595 is not set
@@ -1094,20 +1032,27 @@ CONFIG_HWMON=y
1094# CONFIG_HWMON_DEBUG_CHIP is not set 1032# CONFIG_HWMON_DEBUG_CHIP is not set
1095 1033
1096# 1034#
1035# Multifunction device drivers
1036#
1037# CONFIG_MFD_SM501 is not set
1038
1039#
1097# Multimedia devices 1040# Multimedia devices
1098# 1041#
1099# CONFIG_VIDEO_DEV is not set 1042# CONFIG_VIDEO_DEV is not set
1043# CONFIG_DVB_CORE is not set
1044# CONFIG_DAB is not set
1100 1045
1101# 1046#
1102# Digital Video Broadcasting Devices 1047# Graphics support
1103# 1048#
1104# CONFIG_DVB is not set 1049# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
1105# CONFIG_USB_DABUSB is not set
1106 1050
1107# 1051#
1108# Graphics support 1052# Display device support
1109# 1053#
1110CONFIG_FIRMWARE_EDID=y 1054# CONFIG_DISPLAY_SUPPORT is not set
1055# CONFIG_VGASTATE is not set
1111# CONFIG_FB is not set 1056# CONFIG_FB is not set
1112# CONFIG_FB_IBM_GXT4500 is not set 1057# CONFIG_FB_IBM_GXT4500 is not set
1113 1058
@@ -1116,7 +1061,6 @@ CONFIG_FIRMWARE_EDID=y
1116# 1061#
1117# CONFIG_VGA_CONSOLE is not set 1062# CONFIG_VGA_CONSOLE is not set
1118CONFIG_DUMMY_CONSOLE=y 1063CONFIG_DUMMY_CONSOLE=y
1119# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
1120 1064
1121# 1065#
1122# Sound 1066# Sound
@@ -1127,6 +1071,18 @@ CONFIG_DUMMY_CONSOLE=y
1127# HID Devices 1071# HID Devices
1128# 1072#
1129CONFIG_HID=m 1073CONFIG_HID=m
1074# CONFIG_HID_DEBUG is not set
1075
1076#
1077# USB Input Devices
1078#
1079# CONFIG_USB_HID is not set
1080
1081#
1082# USB HID Boot Protocol drivers
1083#
1084# CONFIG_USB_KBD is not set
1085# CONFIG_USB_MOUSE is not set
1130 1086
1131# 1087#
1132# USB support 1088# USB support
@@ -1141,7 +1097,7 @@ CONFIG_USB=y
1141# Miscellaneous USB options 1097# Miscellaneous USB options
1142# 1098#
1143CONFIG_USB_DEVICEFS=y 1099CONFIG_USB_DEVICEFS=y
1144# CONFIG_USB_BANDWIDTH is not set 1100CONFIG_USB_DEVICE_CLASS=y
1145# CONFIG_USB_DYNAMIC_MINORS is not set 1101# CONFIG_USB_DYNAMIC_MINORS is not set
1146# CONFIG_USB_OTG is not set 1102# CONFIG_USB_OTG is not set
1147 1103
@@ -1152,9 +1108,15 @@ CONFIG_USB_EHCI_HCD=y
1152# CONFIG_USB_EHCI_SPLIT_ISO is not set 1108# CONFIG_USB_EHCI_SPLIT_ISO is not set
1153# CONFIG_USB_EHCI_ROOT_HUB_TT is not set 1109# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
1154# CONFIG_USB_EHCI_TT_NEWSCHED is not set 1110# CONFIG_USB_EHCI_TT_NEWSCHED is not set
1111# CONFIG_USB_EHCI_BIG_ENDIAN_MMIO is not set
1155# CONFIG_USB_ISP116X_HCD is not set 1112# CONFIG_USB_ISP116X_HCD is not set
1156CONFIG_USB_OHCI_HCD=y 1113CONFIG_USB_OHCI_HCD=y
1157# CONFIG_USB_OHCI_BIG_ENDIAN is not set 1114CONFIG_USB_OHCI_HCD_PPC_OF=y
1115CONFIG_USB_OHCI_HCD_PPC_OF_BE=y
1116# CONFIG_USB_OHCI_HCD_PPC_OF_LE is not set
1117CONFIG_USB_OHCI_HCD_PCI=y
1118CONFIG_USB_OHCI_BIG_ENDIAN_DESC=y
1119CONFIG_USB_OHCI_BIG_ENDIAN_MMIO=y
1158CONFIG_USB_OHCI_LITTLE_ENDIAN=y 1120CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1159# CONFIG_USB_UHCI_HCD is not set 1121# CONFIG_USB_UHCI_HCD is not set
1160# CONFIG_USB_SL811_HCD is not set 1122# CONFIG_USB_SL811_HCD is not set
@@ -1187,43 +1149,10 @@ CONFIG_USB_STORAGE=m
1187# CONFIG_USB_LIBUSUAL is not set 1149# CONFIG_USB_LIBUSUAL is not set
1188 1150
1189# 1151#
1190# USB Input Devices
1191#
1192# CONFIG_USB_HID is not set
1193
1194#
1195# USB HID Boot Protocol drivers
1196#
1197# CONFIG_USB_KBD is not set
1198# CONFIG_USB_MOUSE is not set
1199# CONFIG_USB_AIPTEK is not set
1200# CONFIG_USB_WACOM is not set
1201# CONFIG_USB_ACECAD is not set
1202# CONFIG_USB_KBTAB is not set
1203# CONFIG_USB_POWERMATE is not set
1204# CONFIG_USB_TOUCHSCREEN is not set
1205# CONFIG_USB_YEALINK is not set
1206# CONFIG_USB_XPAD is not set
1207# CONFIG_USB_ATI_REMOTE is not set
1208# CONFIG_USB_ATI_REMOTE2 is not set
1209# CONFIG_USB_KEYSPAN_REMOTE is not set
1210# CONFIG_USB_APPLETOUCH is not set
1211
1212#
1213# USB Imaging devices 1152# USB Imaging devices
1214# 1153#
1215# CONFIG_USB_MDC800 is not set 1154# CONFIG_USB_MDC800 is not set
1216# CONFIG_USB_MICROTEK is not set 1155# CONFIG_USB_MICROTEK is not set
1217
1218#
1219# USB Network Adapters
1220#
1221# CONFIG_USB_CATC is not set
1222# CONFIG_USB_KAWETH is not set
1223# CONFIG_USB_PEGASUS is not set
1224# CONFIG_USB_RTL8150 is not set
1225# CONFIG_USB_USBNET_MII is not set
1226# CONFIG_USB_USBNET is not set
1227CONFIG_USB_MON=y 1156CONFIG_USB_MON=y
1228 1157
1229# 1158#
@@ -1283,6 +1212,7 @@ CONFIG_USB_SERIAL_FTDI_SIO=y
1283# CONFIG_USB_RIO500 is not set 1212# CONFIG_USB_RIO500 is not set
1284# CONFIG_USB_LEGOTOWER is not set 1213# CONFIG_USB_LEGOTOWER is not set
1285# CONFIG_USB_LCD is not set 1214# CONFIG_USB_LCD is not set
1215# CONFIG_USB_BERRY_CHARGE is not set
1286# CONFIG_USB_LED is not set 1216# CONFIG_USB_LED is not set
1287# CONFIG_USB_CYPRESS_CY7C63 is not set 1217# CONFIG_USB_CYPRESS_CY7C63 is not set
1288# CONFIG_USB_CYTHERM is not set 1218# CONFIG_USB_CYTHERM is not set
@@ -1293,6 +1223,7 @@ CONFIG_USB_SERIAL_FTDI_SIO=y
1293# CONFIG_USB_SISUSBVGA is not set 1223# CONFIG_USB_SISUSBVGA is not set
1294# CONFIG_USB_LD is not set 1224# CONFIG_USB_LD is not set
1295# CONFIG_USB_TRANCEVIBRATOR is not set 1225# CONFIG_USB_TRANCEVIBRATOR is not set
1226# CONFIG_USB_IOWARRIOR is not set
1296# CONFIG_USB_TEST is not set 1227# CONFIG_USB_TEST is not set
1297 1228
1298# 1229#
@@ -1303,10 +1234,6 @@ CONFIG_USB_SERIAL_FTDI_SIO=y
1303# USB Gadget Support 1234# USB Gadget Support
1304# 1235#
1305# CONFIG_USB_GADGET is not set 1236# CONFIG_USB_GADGET is not set
1306
1307#
1308# MMC/SD Card support
1309#
1310# CONFIG_MMC is not set 1237# CONFIG_MMC is not set
1311 1238
1312# 1239#
@@ -1347,24 +1274,37 @@ CONFIG_RTC_INTF_SYSFS=y
1347CONFIG_RTC_INTF_PROC=y 1274CONFIG_RTC_INTF_PROC=y
1348CONFIG_RTC_INTF_DEV=y 1275CONFIG_RTC_INTF_DEV=y
1349# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set 1276# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
1277# CONFIG_RTC_DRV_TEST is not set
1350 1278
1351# 1279#
1352# RTC drivers 1280# I2C RTC drivers
1353# 1281#
1354# CONFIG_RTC_DRV_X1205 is not set
1355# CONFIG_RTC_DRV_DS1307 is not set 1282# CONFIG_RTC_DRV_DS1307 is not set
1356# CONFIG_RTC_DRV_DS1553 is not set
1357# CONFIG_RTC_DRV_ISL1208 is not set
1358# CONFIG_RTC_DRV_DS1672 is not set 1283# CONFIG_RTC_DRV_DS1672 is not set
1359# CONFIG_RTC_DRV_DS1742 is not set 1284# CONFIG_RTC_DRV_MAX6900 is not set
1285CONFIG_RTC_DRV_RS5C372=y
1286# CONFIG_RTC_DRV_ISL1208 is not set
1287# CONFIG_RTC_DRV_X1205 is not set
1360# CONFIG_RTC_DRV_PCF8563 is not set 1288# CONFIG_RTC_DRV_PCF8563 is not set
1361# CONFIG_RTC_DRV_PCF8583 is not set 1289# CONFIG_RTC_DRV_PCF8583 is not set
1362CONFIG_RTC_DRV_RS5C372=y 1290
1291#
1292# SPI RTC drivers
1293#
1294
1295#
1296# Platform RTC drivers
1297#
1298# CONFIG_RTC_DRV_DS1553 is not set
1299# CONFIG_RTC_DRV_DS1742 is not set
1363# CONFIG_RTC_DRV_M48T86 is not set 1300# CONFIG_RTC_DRV_M48T86 is not set
1364# CONFIG_RTC_DRV_TEST is not set
1365# CONFIG_RTC_DRV_V3020 is not set 1301# CONFIG_RTC_DRV_V3020 is not set
1366 1302
1367# 1303#
1304# on-CPU RTC drivers
1305#
1306
1307#
1368# DMA Engine support 1308# DMA Engine support
1369# 1309#
1370# CONFIG_DMA_ENGINE is not set 1310# CONFIG_DMA_ENGINE is not set
@@ -1378,10 +1318,6 @@ CONFIG_RTC_DRV_RS5C372=y
1378# 1318#
1379 1319
1380# 1320#
1381# Virtualization
1382#
1383
1384#
1385# File systems 1321# File systems
1386# 1322#
1387CONFIG_EXT2_FS=y 1323CONFIG_EXT2_FS=y
@@ -1421,7 +1357,6 @@ CONFIG_DNOTIFY=y
1421CONFIG_ISO9660_FS=m 1357CONFIG_ISO9660_FS=m
1422CONFIG_JOLIET=y 1358CONFIG_JOLIET=y
1423CONFIG_ZISOFS=y 1359CONFIG_ZISOFS=y
1424CONFIG_ZISOFS_FS=m
1425CONFIG_UDF_FS=m 1360CONFIG_UDF_FS=m
1426CONFIG_UDF_NLS=y 1361CONFIG_UDF_NLS=y
1427 1362
@@ -1489,6 +1424,7 @@ CONFIG_NFS_ACL_SUPPORT=y
1489CONFIG_NFS_COMMON=y 1424CONFIG_NFS_COMMON=y
1490CONFIG_SUNRPC=y 1425CONFIG_SUNRPC=y
1491CONFIG_SUNRPC_GSS=y 1426CONFIG_SUNRPC_GSS=y
1427# CONFIG_SUNRPC_BIND34 is not set
1492CONFIG_RPCSEC_GSS_KRB5=y 1428CONFIG_RPCSEC_GSS_KRB5=y
1493# CONFIG_RPCSEC_GSS_SPKM3 is not set 1429# CONFIG_RPCSEC_GSS_SPKM3 is not set
1494# CONFIG_SMB_FS is not set 1430# CONFIG_SMB_FS is not set
@@ -1557,6 +1493,7 @@ CONFIG_NLS_UTF8=m
1557# Distributed Lock Manager 1493# Distributed Lock Manager
1558# 1494#
1559# CONFIG_DLM is not set 1495# CONFIG_DLM is not set
1496# CONFIG_UCC_SLOW is not set
1560 1497
1561# 1498#
1562# Library routines 1499# Library routines
@@ -1564,6 +1501,7 @@ CONFIG_NLS_UTF8=m
1564CONFIG_BITREVERSE=y 1501CONFIG_BITREVERSE=y
1565CONFIG_CRC_CCITT=m 1502CONFIG_CRC_CCITT=m
1566# CONFIG_CRC16 is not set 1503# CONFIG_CRC16 is not set
1504# CONFIG_CRC_ITU_T is not set
1567CONFIG_CRC32=y 1505CONFIG_CRC32=y
1568CONFIG_LIBCRC32C=m 1506CONFIG_LIBCRC32C=m
1569CONFIG_ZLIB_INFLATE=m 1507CONFIG_ZLIB_INFLATE=m
@@ -1571,13 +1509,16 @@ CONFIG_ZLIB_DEFLATE=m
1571CONFIG_TEXTSEARCH=y 1509CONFIG_TEXTSEARCH=y
1572CONFIG_TEXTSEARCH_KMP=m 1510CONFIG_TEXTSEARCH_KMP=m
1573CONFIG_PLIST=y 1511CONFIG_PLIST=y
1574CONFIG_IOMAP_COPY=y 1512CONFIG_HAS_IOMEM=y
1513CONFIG_HAS_IOPORT=y
1514CONFIG_HAS_DMA=y
1575 1515
1576# 1516#
1577# Instrumentation Support 1517# Instrumentation Support
1578# 1518#
1579CONFIG_PROFILING=y 1519CONFIG_PROFILING=y
1580CONFIG_OPROFILE=m 1520CONFIG_OPROFILE=m
1521# CONFIG_KPROBES is not set
1581 1522
1582# 1523#
1583# Kernel hacking 1524# Kernel hacking
@@ -1589,15 +1530,15 @@ CONFIG_MAGIC_SYSRQ=y
1589# CONFIG_DEBUG_FS is not set 1530# CONFIG_DEBUG_FS is not set
1590# CONFIG_HEADERS_CHECK is not set 1531# CONFIG_HEADERS_CHECK is not set
1591CONFIG_DEBUG_KERNEL=y 1532CONFIG_DEBUG_KERNEL=y
1592CONFIG_LOG_BUF_SHIFT=14 1533# CONFIG_DEBUG_SHIRQ is not set
1593CONFIG_DETECT_SOFTLOCKUP=y 1534CONFIG_DETECT_SOFTLOCKUP=y
1594# CONFIG_SCHEDSTATS is not set 1535# CONFIG_SCHEDSTATS is not set
1536# CONFIG_TIMER_STATS is not set
1595# CONFIG_DEBUG_SLAB is not set 1537# CONFIG_DEBUG_SLAB is not set
1596# CONFIG_DEBUG_RT_MUTEXES is not set 1538# CONFIG_DEBUG_RT_MUTEXES is not set
1597# CONFIG_RT_MUTEX_TESTER is not set 1539# CONFIG_RT_MUTEX_TESTER is not set
1598# CONFIG_DEBUG_SPINLOCK is not set 1540# CONFIG_DEBUG_SPINLOCK is not set
1599# CONFIG_DEBUG_MUTEXES is not set 1541# CONFIG_DEBUG_MUTEXES is not set
1600# CONFIG_DEBUG_RWSEMS is not set
1601# CONFIG_DEBUG_SPINLOCK_SLEEP is not set 1542# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1602# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set 1543# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1603# CONFIG_DEBUG_KOBJECT is not set 1544# CONFIG_DEBUG_KOBJECT is not set
@@ -1607,10 +1548,13 @@ CONFIG_DEBUG_BUGVERBOSE=y
1607# CONFIG_DEBUG_LIST is not set 1548# CONFIG_DEBUG_LIST is not set
1608CONFIG_FORCED_INLINING=y 1549CONFIG_FORCED_INLINING=y
1609# CONFIG_RCU_TORTURE_TEST is not set 1550# CONFIG_RCU_TORTURE_TEST is not set
1551# CONFIG_FAULT_INJECTION is not set
1552# CONFIG_DEBUG_STACKOVERFLOW is not set
1553# CONFIG_DEBUG_STACK_USAGE is not set
1554# CONFIG_DEBUG_PAGEALLOC is not set
1610# CONFIG_DEBUGGER is not set 1555# CONFIG_DEBUGGER is not set
1611# CONFIG_BDI_SWITCH is not set 1556# CONFIG_BDI_SWITCH is not set
1612# CONFIG_BOOTX_TEXT is not set 1557# CONFIG_BOOTX_TEXT is not set
1613# CONFIG_SERIAL_TEXT_DEBUG is not set
1614# CONFIG_PPC_EARLY_DEBUG is not set 1558# CONFIG_PPC_EARLY_DEBUG is not set
1615 1559
1616# 1560#
@@ -1639,8 +1583,11 @@ CONFIG_CRYPTO_SHA1=m
1639# CONFIG_CRYPTO_GF128MUL is not set 1583# CONFIG_CRYPTO_GF128MUL is not set
1640CONFIG_CRYPTO_ECB=m 1584CONFIG_CRYPTO_ECB=m
1641CONFIG_CRYPTO_CBC=y 1585CONFIG_CRYPTO_CBC=y
1586CONFIG_CRYPTO_PCBC=m
1642# CONFIG_CRYPTO_LRW is not set 1587# CONFIG_CRYPTO_LRW is not set
1588# CONFIG_CRYPTO_CRYPTD is not set
1643CONFIG_CRYPTO_DES=y 1589CONFIG_CRYPTO_DES=y
1590# CONFIG_CRYPTO_FCRYPT is not set
1644CONFIG_CRYPTO_BLOWFISH=m 1591CONFIG_CRYPTO_BLOWFISH=m
1645CONFIG_CRYPTO_TWOFISH=m 1592CONFIG_CRYPTO_TWOFISH=m
1646CONFIG_CRYPTO_TWOFISH_COMMON=m 1593CONFIG_CRYPTO_TWOFISH_COMMON=m
@@ -1655,6 +1602,7 @@ CONFIG_CRYPTO_ARC4=m
1655CONFIG_CRYPTO_DEFLATE=m 1602CONFIG_CRYPTO_DEFLATE=m
1656CONFIG_CRYPTO_MICHAEL_MIC=m 1603CONFIG_CRYPTO_MICHAEL_MIC=m
1657CONFIG_CRYPTO_CRC32C=m 1604CONFIG_CRYPTO_CRC32C=m
1605# CONFIG_CRYPTO_CAMELLIA is not set
1658# CONFIG_CRYPTO_TEST is not set 1606# CONFIG_CRYPTO_TEST is not set
1659 1607
1660# 1608#
diff --git a/arch/powerpc/configs/lite5200_defconfig b/arch/powerpc/configs/lite5200_defconfig
index 8cbd87ded6b4..d12a981398b8 100644
--- a/arch/powerpc/configs/lite5200_defconfig
+++ b/arch/powerpc/configs/lite5200_defconfig
@@ -1,9 +1,10 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.20-rc5 3# Linux kernel version: 2.6.22-rc6
4# Mon Jan 22 22:18:18 2007 4# Tue Jun 26 13:26:09 2007
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7CONFIG_PPC_PM_NEEDS_RTC_LIB=y
7CONFIG_PPC32=y 8CONFIG_PPC32=y
8CONFIG_PPC_MERGE=y 9CONFIG_PPC_MERGE=y
9CONFIG_MMU=y 10CONFIG_MMU=y
@@ -34,9 +35,9 @@ CONFIG_CLASSIC32=y
34# CONFIG_PPC_83xx is not set 35# CONFIG_PPC_83xx is not set
35# CONFIG_PPC_85xx is not set 36# CONFIG_PPC_85xx is not set
36# CONFIG_PPC_86xx is not set 37# CONFIG_PPC_86xx is not set
38# CONFIG_PPC_8xx is not set
37# CONFIG_40x is not set 39# CONFIG_40x is not set
38# CONFIG_44x is not set 40# CONFIG_44x is not set
39# CONFIG_8xx is not set
40# CONFIG_E200 is not set 41# CONFIG_E200 is not set
41CONFIG_6xx=y 42CONFIG_6xx=y
42CONFIG_PPC_FPU=y 43CONFIG_PPC_FPU=y
@@ -45,6 +46,7 @@ CONFIG_PPC_FPU=y
45# CONFIG_ALTIVEC is not set 46# CONFIG_ALTIVEC is not set
46CONFIG_PPC_STD_MMU=y 47CONFIG_PPC_STD_MMU=y
47CONFIG_PPC_STD_MMU_32=y 48CONFIG_PPC_STD_MMU_32=y
49# CONFIG_PPC_MM_SLICES is not set
48# CONFIG_SMP is not set 50# CONFIG_SMP is not set
49CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 51CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
50 52
@@ -63,14 +65,17 @@ CONFIG_LOCALVERSION_AUTO=y
63CONFIG_SWAP=y 65CONFIG_SWAP=y
64CONFIG_SYSVIPC=y 66CONFIG_SYSVIPC=y
65# CONFIG_IPC_NS is not set 67# CONFIG_IPC_NS is not set
68CONFIG_SYSVIPC_SYSCTL=y
66# CONFIG_POSIX_MQUEUE is not set 69# CONFIG_POSIX_MQUEUE is not set
67# CONFIG_BSD_PROCESS_ACCT is not set 70# CONFIG_BSD_PROCESS_ACCT is not set
68# CONFIG_TASKSTATS is not set 71# CONFIG_TASKSTATS is not set
69# CONFIG_UTS_NS is not set 72# CONFIG_UTS_NS is not set
70# CONFIG_AUDIT is not set 73# CONFIG_AUDIT is not set
71# CONFIG_IKCONFIG is not set 74# CONFIG_IKCONFIG is not set
75CONFIG_LOG_BUF_SHIFT=14
72CONFIG_SYSFS_DEPRECATED=y 76CONFIG_SYSFS_DEPRECATED=y
73# CONFIG_RELAY is not set 77# CONFIG_RELAY is not set
78CONFIG_BLK_DEV_INITRD=y
74CONFIG_INITRAMFS_SOURCE="" 79CONFIG_INITRAMFS_SOURCE=""
75# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 80# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
76CONFIG_SYSCTL=y 81CONFIG_SYSCTL=y
@@ -83,14 +88,19 @@ CONFIG_BUG=y
83CONFIG_ELF_CORE=y 88CONFIG_ELF_CORE=y
84CONFIG_BASE_FULL=y 89CONFIG_BASE_FULL=y
85CONFIG_FUTEX=y 90CONFIG_FUTEX=y
91CONFIG_ANON_INODES=y
86# CONFIG_EPOLL is not set 92# CONFIG_EPOLL is not set
93CONFIG_SIGNALFD=y
94CONFIG_TIMERFD=y
95CONFIG_EVENTFD=y
87CONFIG_SHMEM=y 96CONFIG_SHMEM=y
88CONFIG_SLAB=y
89CONFIG_VM_EVENT_COUNTERS=y 97CONFIG_VM_EVENT_COUNTERS=y
98CONFIG_SLAB=y
99# CONFIG_SLUB is not set
100# CONFIG_SLOB is not set
90CONFIG_RT_MUTEXES=y 101CONFIG_RT_MUTEXES=y
91# CONFIG_TINY_SHMEM is not set 102# CONFIG_TINY_SHMEM is not set
92CONFIG_BASE_SMALL=0 103CONFIG_BASE_SMALL=0
93# CONFIG_SLOB is not set
94 104
95# 105#
96# Loadable module support 106# Loadable module support
@@ -131,11 +141,17 @@ CONFIG_PPC_MULTIPLATFORM=y
131# CONFIG_APUS is not set 141# CONFIG_APUS is not set
132# CONFIG_PPC_CHRP is not set 142# CONFIG_PPC_CHRP is not set
133CONFIG_PPC_MPC52xx=y 143CONFIG_PPC_MPC52xx=y
144CONFIG_PPC_MPC5200=y
145CONFIG_PPC_MPC5200_BUGFIX=y
134# CONFIG_PPC_EFIKA is not set 146# CONFIG_PPC_EFIKA is not set
135CONFIG_PPC_LITE5200=y 147CONFIG_PPC_LITE5200=y
136# CONFIG_PPC_PMAC is not set 148# CONFIG_PPC_PMAC is not set
137# CONFIG_PPC_CELL is not set 149# CONFIG_PPC_CELL is not set
138# CONFIG_PPC_CELL_NATIVE is not set 150# CONFIG_PPC_CELL_NATIVE is not set
151# CONFIG_PQ2ADS is not set
152# CONFIG_MPIC is not set
153# CONFIG_MPIC_WEIRD is not set
154# CONFIG_PPC_I8259 is not set
139# CONFIG_PPC_RTAS is not set 155# CONFIG_PPC_RTAS is not set
140# CONFIG_MMIO_NVRAM is not set 156# CONFIG_MMIO_NVRAM is not set
141# CONFIG_PPC_MPC106 is not set 157# CONFIG_PPC_MPC106 is not set
@@ -144,8 +160,7 @@ CONFIG_PPC_LITE5200=y
144# CONFIG_GENERIC_IOMAP is not set 160# CONFIG_GENERIC_IOMAP is not set
145# CONFIG_CPU_FREQ is not set 161# CONFIG_CPU_FREQ is not set
146# CONFIG_TAU is not set 162# CONFIG_TAU is not set
147# CONFIG_WANT_EARLY_SERIAL is not set 163# CONFIG_CPM2 is not set
148# CONFIG_MPIC is not set
149 164
150# 165#
151# Kernel options 166# Kernel options
@@ -174,6 +189,7 @@ CONFIG_FLAT_NODE_MEM_MAP=y
174# CONFIG_SPARSEMEM_STATIC is not set 189# CONFIG_SPARSEMEM_STATIC is not set
175CONFIG_SPLIT_PTLOCK_CPUS=4 190CONFIG_SPLIT_PTLOCK_CPUS=4
176# CONFIG_RESOURCES_64BIT is not set 191# CONFIG_RESOURCES_64BIT is not set
192CONFIG_ZONE_DMA_FLAG=1
177CONFIG_PROC_DEVICETREE=y 193CONFIG_PROC_DEVICETREE=y
178# CONFIG_CMDLINE_BOOL is not set 194# CONFIG_CMDLINE_BOOL is not set
179CONFIG_PM=y 195CONFIG_PM=y
@@ -182,28 +198,27 @@ CONFIG_PM=y
182# CONFIG_PM_SYSFS_DEPRECATED is not set 198# CONFIG_PM_SYSFS_DEPRECATED is not set
183# CONFIG_SOFTWARE_SUSPEND is not set 199# CONFIG_SOFTWARE_SUSPEND is not set
184CONFIG_SECCOMP=y 200CONFIG_SECCOMP=y
201# CONFIG_WANT_DEVICE_TREE is not set
185CONFIG_ISA_DMA_API=y 202CONFIG_ISA_DMA_API=y
186 203
187# 204#
188# Bus options 205# Bus options
189# 206#
207CONFIG_ZONE_DMA=y
190CONFIG_GENERIC_ISA_DMA=y 208CONFIG_GENERIC_ISA_DMA=y
191# CONFIG_MPIC_WEIRD is not set
192# CONFIG_PPC_I8259 is not set
193# CONFIG_PPC_INDIRECT_PCI is not set 209# CONFIG_PPC_INDIRECT_PCI is not set
210CONFIG_FSL_SOC=y
194CONFIG_PCI=y 211CONFIG_PCI=y
195CONFIG_PCI_DOMAINS=y 212CONFIG_PCI_DOMAINS=y
196# CONFIG_PCIEPORTBUS is not set 213# CONFIG_PCIEPORTBUS is not set
214CONFIG_ARCH_SUPPORTS_MSI=y
215# CONFIG_PCI_MSI is not set
197# CONFIG_PCI_DEBUG is not set 216# CONFIG_PCI_DEBUG is not set
198 217
199# 218#
200# PCCARD (PCMCIA/CardBus) support 219# PCCARD (PCMCIA/CardBus) support
201# 220#
202# CONFIG_PCCARD is not set 221# CONFIG_PCCARD is not set
203
204#
205# PCI Hotplug Support
206#
207# CONFIG_HOTPLUG_PCI is not set 222# CONFIG_HOTPLUG_PCI is not set
208 223
209# 224#
@@ -228,13 +243,13 @@ CONFIG_NET=y
228# 243#
229# Networking options 244# Networking options
230# 245#
231# CONFIG_NETDEBUG is not set
232CONFIG_PACKET=y 246CONFIG_PACKET=y
233# CONFIG_PACKET_MMAP is not set 247# CONFIG_PACKET_MMAP is not set
234CONFIG_UNIX=y 248CONFIG_UNIX=y
235CONFIG_XFRM=y 249CONFIG_XFRM=y
236CONFIG_XFRM_USER=m 250CONFIG_XFRM_USER=m
237# CONFIG_XFRM_SUB_POLICY is not set 251# CONFIG_XFRM_SUB_POLICY is not set
252# CONFIG_XFRM_MIGRATE is not set
238# CONFIG_NET_KEY is not set 253# CONFIG_NET_KEY is not set
239CONFIG_INET=y 254CONFIG_INET=y
240CONFIG_IP_MULTICAST=y 255CONFIG_IP_MULTICAST=y
@@ -268,20 +283,8 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
268# CONFIG_INET6_TUNNEL is not set 283# CONFIG_INET6_TUNNEL is not set
269# CONFIG_NETWORK_SECMARK is not set 284# CONFIG_NETWORK_SECMARK is not set
270# CONFIG_NETFILTER is not set 285# CONFIG_NETFILTER is not set
271
272#
273# DCCP Configuration (EXPERIMENTAL)
274#
275# CONFIG_IP_DCCP is not set 286# CONFIG_IP_DCCP is not set
276
277#
278# SCTP Configuration (EXPERIMENTAL)
279#
280# CONFIG_IP_SCTP is not set 287# CONFIG_IP_SCTP is not set
281
282#
283# TIPC Configuration (EXPERIMENTAL)
284#
285# CONFIG_TIPC is not set 288# CONFIG_TIPC is not set
286# CONFIG_ATM is not set 289# CONFIG_ATM is not set
287# CONFIG_BRIDGE is not set 290# CONFIG_BRIDGE is not set
@@ -307,7 +310,16 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
307# CONFIG_HAMRADIO is not set 310# CONFIG_HAMRADIO is not set
308# CONFIG_IRDA is not set 311# CONFIG_IRDA is not set
309# CONFIG_BT is not set 312# CONFIG_BT is not set
313# CONFIG_AF_RXRPC is not set
314
315#
316# Wireless
317#
318# CONFIG_CFG80211 is not set
319# CONFIG_WIRELESS_EXT is not set
320# CONFIG_MAC80211 is not set
310# CONFIG_IEEE80211 is not set 321# CONFIG_IEEE80211 is not set
322# CONFIG_RFKILL is not set
311 323
312# 324#
313# Device Drivers 325# Device Drivers
@@ -320,16 +332,13 @@ CONFIG_STANDALONE=y
320CONFIG_PREVENT_FIRMWARE_BUILD=y 332CONFIG_PREVENT_FIRMWARE_BUILD=y
321# CONFIG_FW_LOADER is not set 333# CONFIG_FW_LOADER is not set
322# CONFIG_DEBUG_DRIVER is not set 334# CONFIG_DEBUG_DRIVER is not set
335# CONFIG_DEBUG_DEVRES is not set
323# CONFIG_SYS_HYPERVISOR is not set 336# CONFIG_SYS_HYPERVISOR is not set
324 337
325# 338#
326# Connector - unified userspace <-> kernelspace linker 339# Connector - unified userspace <-> kernelspace linker
327# 340#
328# CONFIG_CONNECTOR is not set 341# CONFIG_CONNECTOR is not set
329
330#
331# Memory Technology Devices (MTD)
332#
333# CONFIG_MTD is not set 342# CONFIG_MTD is not set
334 343
335# 344#
@@ -340,6 +349,7 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
340# 349#
341# Plug and Play support 350# Plug and Play support
342# 351#
352# CONFIG_PNPACPI is not set
343 353
344# 354#
345# Block devices 355# Block devices
@@ -358,19 +368,16 @@ CONFIG_BLK_DEV_RAM=y
358CONFIG_BLK_DEV_RAM_COUNT=16 368CONFIG_BLK_DEV_RAM_COUNT=16
359CONFIG_BLK_DEV_RAM_SIZE=32768 369CONFIG_BLK_DEV_RAM_SIZE=32768
360CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 370CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
361CONFIG_BLK_DEV_INITRD=y
362# CONFIG_CDROM_PKTCDVD is not set 371# CONFIG_CDROM_PKTCDVD is not set
363# CONFIG_ATA_OVER_ETH is not set 372# CONFIG_ATA_OVER_ETH is not set
364 373
365# 374#
366# Misc devices 375# Misc devices
367# 376#
377# CONFIG_PHANTOM is not set
368# CONFIG_SGI_IOC4 is not set 378# CONFIG_SGI_IOC4 is not set
369# CONFIG_TIFM_CORE is not set 379# CONFIG_TIFM_CORE is not set
370 380# CONFIG_BLINK is not set
371#
372# ATA/ATAPI/MFM/RLL support
373#
374# CONFIG_IDE is not set 381# CONFIG_IDE is not set
375 382
376# 383#
@@ -399,6 +406,7 @@ CONFIG_SCSI=y
399# CONFIG_SCSI_CONSTANTS is not set 406# CONFIG_SCSI_CONSTANTS is not set
400# CONFIG_SCSI_LOGGING is not set 407# CONFIG_SCSI_LOGGING is not set
401# CONFIG_SCSI_SCAN_ASYNC is not set 408# CONFIG_SCSI_SCAN_ASYNC is not set
409CONFIG_SCSI_WAIT_SCAN=m
402 410
403# 411#
404# SCSI Transports 412# SCSI Transports
@@ -447,11 +455,8 @@ CONFIG_SCSI=y
447# CONFIG_SCSI_NSP32 is not set 455# CONFIG_SCSI_NSP32 is not set
448# CONFIG_SCSI_DEBUG is not set 456# CONFIG_SCSI_DEBUG is not set
449# CONFIG_SCSI_SRP is not set 457# CONFIG_SCSI_SRP is not set
450
451#
452# Serial ATA (prod) and Parallel ATA (experimental) drivers
453#
454CONFIG_ATA=y 458CONFIG_ATA=y
459# CONFIG_ATA_NONSTANDARD is not set
455# CONFIG_SATA_AHCI is not set 460# CONFIG_SATA_AHCI is not set
456# CONFIG_SATA_SVW is not set 461# CONFIG_SATA_SVW is not set
457# CONFIG_ATA_PIIX is not set 462# CONFIG_ATA_PIIX is not set
@@ -467,10 +472,12 @@ CONFIG_ATA=y
467# CONFIG_SATA_ULI is not set 472# CONFIG_SATA_ULI is not set
468# CONFIG_SATA_VIA is not set 473# CONFIG_SATA_VIA is not set
469# CONFIG_SATA_VITESSE is not set 474# CONFIG_SATA_VITESSE is not set
475# CONFIG_SATA_INIC162X is not set
470# CONFIG_PATA_ALI is not set 476# CONFIG_PATA_ALI is not set
471# CONFIG_PATA_AMD is not set 477# CONFIG_PATA_AMD is not set
472# CONFIG_PATA_ARTOP is not set 478# CONFIG_PATA_ARTOP is not set
473# CONFIG_PATA_ATIIXP is not set 479# CONFIG_PATA_ATIIXP is not set
480# CONFIG_PATA_CMD640_PCI is not set
474# CONFIG_PATA_CMD64X is not set 481# CONFIG_PATA_CMD64X is not set
475# CONFIG_PATA_CS5520 is not set 482# CONFIG_PATA_CS5520 is not set
476# CONFIG_PATA_CS5530 is not set 483# CONFIG_PATA_CS5530 is not set
@@ -482,9 +489,11 @@ CONFIG_ATA=y
482# CONFIG_PATA_HPT3X2N is not set 489# CONFIG_PATA_HPT3X2N is not set
483# CONFIG_PATA_HPT3X3 is not set 490# CONFIG_PATA_HPT3X3 is not set
484# CONFIG_PATA_IT821X is not set 491# CONFIG_PATA_IT821X is not set
492# CONFIG_PATA_IT8213 is not set
485# CONFIG_PATA_JMICRON is not set 493# CONFIG_PATA_JMICRON is not set
486# CONFIG_PATA_TRIFLEX is not set 494# CONFIG_PATA_TRIFLEX is not set
487# CONFIG_PATA_MARVELL is not set 495# CONFIG_PATA_MARVELL is not set
496CONFIG_PATA_MPC52xx=y
488# CONFIG_PATA_MPIIX is not set 497# CONFIG_PATA_MPIIX is not set
489# CONFIG_PATA_OLDPIIX is not set 498# CONFIG_PATA_OLDPIIX is not set
490# CONFIG_PATA_NETCELL is not set 499# CONFIG_PATA_NETCELL is not set
@@ -519,18 +528,14 @@ CONFIG_ATA=y
519# 528#
520# IEEE 1394 (FireWire) support 529# IEEE 1394 (FireWire) support
521# 530#
531# CONFIG_FIREWIRE is not set
522# CONFIG_IEEE1394 is not set 532# CONFIG_IEEE1394 is not set
523 533
524# 534#
525# I2O device support 535# I2O device support
526# 536#
527# CONFIG_I2O is not set 537# CONFIG_I2O is not set
528 538# CONFIG_MACINTOSH_DRIVERS is not set
529#
530# Macintosh device drivers
531#
532# CONFIG_MAC_EMUMOUSEBTN is not set
533# CONFIG_WINDFARM is not set
534 539
535# 540#
536# Network device support 541# Network device support
@@ -540,24 +545,13 @@ CONFIG_NETDEVICES=y
540# CONFIG_BONDING is not set 545# CONFIG_BONDING is not set
541# CONFIG_EQUALIZER is not set 546# CONFIG_EQUALIZER is not set
542# CONFIG_TUN is not set 547# CONFIG_TUN is not set
543
544#
545# ARCnet devices
546#
547# CONFIG_ARCNET is not set 548# CONFIG_ARCNET is not set
548 549
549# 550#
550# PHY device support
551#
552
553#
554# Ethernet (10 or 100Mbit) 551# Ethernet (10 or 100Mbit)
555# 552#
556# CONFIG_NET_ETHERNET is not set 553# CONFIG_NET_ETHERNET is not set
557 554CONFIG_NETDEV_1000=y
558#
559# Ethernet (1000 Mbit)
560#
561# CONFIG_ACENIC is not set 555# CONFIG_ACENIC is not set
562# CONFIG_DL2K is not set 556# CONFIG_DL2K is not set
563# CONFIG_E1000 is not set 557# CONFIG_E1000 is not set
@@ -569,33 +563,27 @@ CONFIG_NETDEVICES=y
569# CONFIG_SKGE is not set 563# CONFIG_SKGE is not set
570# CONFIG_SKY2 is not set 564# CONFIG_SKY2 is not set
571# CONFIG_SK98LIN is not set 565# CONFIG_SK98LIN is not set
566# CONFIG_VIA_VELOCITY is not set
572# CONFIG_TIGON3 is not set 567# CONFIG_TIGON3 is not set
573# CONFIG_BNX2 is not set 568# CONFIG_BNX2 is not set
574# CONFIG_MV643XX_ETH is not set 569# CONFIG_MV643XX_ETH is not set
575# CONFIG_QLA3XXX is not set 570# CONFIG_QLA3XXX is not set
576 571# CONFIG_ATL1 is not set
577# 572CONFIG_NETDEV_10000=y
578# Ethernet (10000 Mbit)
579#
580# CONFIG_CHELSIO_T1 is not set 573# CONFIG_CHELSIO_T1 is not set
574# CONFIG_CHELSIO_T3 is not set
581# CONFIG_IXGB is not set 575# CONFIG_IXGB is not set
582# CONFIG_S2IO is not set 576# CONFIG_S2IO is not set
583# CONFIG_MYRI10GE is not set 577# CONFIG_MYRI10GE is not set
584# CONFIG_NETXEN_NIC is not set 578# CONFIG_NETXEN_NIC is not set
585 579# CONFIG_MLX4_CORE is not set
586#
587# Token Ring devices
588#
589# CONFIG_TR is not set 580# CONFIG_TR is not set
590 581
591# 582#
592# Wireless LAN (non-hamradio) 583# Wireless LAN
593#
594# CONFIG_NET_RADIO is not set
595
596#
597# Wan interfaces
598# 584#
585# CONFIG_WLAN_PRE80211 is not set
586# CONFIG_WLAN_80211 is not set
599# CONFIG_WAN is not set 587# CONFIG_WAN is not set
600# CONFIG_FDDI is not set 588# CONFIG_FDDI is not set
601# CONFIG_HIPPI is not set 589# CONFIG_HIPPI is not set
@@ -657,15 +645,10 @@ CONFIG_LEGACY_PTY_COUNT=256
657# IPMI 645# IPMI
658# 646#
659# CONFIG_IPMI_HANDLER is not set 647# CONFIG_IPMI_HANDLER is not set
660
661#
662# Watchdog Cards
663#
664# CONFIG_WATCHDOG is not set 648# CONFIG_WATCHDOG is not set
665# CONFIG_HW_RANDOM is not set 649# CONFIG_HW_RANDOM is not set
666# CONFIG_NVRAM is not set 650# CONFIG_NVRAM is not set
667# CONFIG_GEN_RTC is not set 651# CONFIG_GEN_RTC is not set
668# CONFIG_DTLK is not set
669# CONFIG_R3964 is not set 652# CONFIG_R3964 is not set
670# CONFIG_APPLICOM is not set 653# CONFIG_APPLICOM is not set
671# CONFIG_AGP is not set 654# CONFIG_AGP is not set
@@ -676,10 +659,7 @@ CONFIG_LEGACY_PTY_COUNT=256
676# TPM devices 659# TPM devices
677# 660#
678# CONFIG_TCG_TPM is not set 661# CONFIG_TCG_TPM is not set
679 662CONFIG_DEVPORT=y
680#
681# I2C support
682#
683# CONFIG_I2C is not set 663# CONFIG_I2C is not set
684 664
685# 665#
@@ -692,30 +672,32 @@ CONFIG_LEGACY_PTY_COUNT=256
692# Dallas's 1-wire bus 672# Dallas's 1-wire bus
693# 673#
694# CONFIG_W1 is not set 674# CONFIG_W1 is not set
675# CONFIG_HWMON is not set
695 676
696# 677#
697# Hardware Monitoring support 678# Multifunction device drivers
698# 679#
699# CONFIG_HWMON is not set 680# CONFIG_MFD_SM501 is not set
700# CONFIG_HWMON_VID is not set
701 681
702# 682#
703# Multimedia devices 683# Multimedia devices
704# 684#
705# CONFIG_VIDEO_DEV is not set 685# CONFIG_VIDEO_DEV is not set
686# CONFIG_DVB_CORE is not set
687# CONFIG_DAB is not set
706 688
707# 689#
708# Digital Video Broadcasting Devices 690# Graphics support
709# 691#
710# CONFIG_DVB is not set 692# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
711 693
712# 694#
713# Graphics support 695# Display device support
714# 696#
715# CONFIG_FIRMWARE_EDID is not set 697# CONFIG_DISPLAY_SUPPORT is not set
698# CONFIG_VGASTATE is not set
716# CONFIG_FB is not set 699# CONFIG_FB is not set
717# CONFIG_FB_IBM_GXT4500 is not set 700# CONFIG_FB_IBM_GXT4500 is not set
718# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
719 701
720# 702#
721# Sound 703# Sound
@@ -738,10 +720,6 @@ CONFIG_USB_ARCH_HAS_EHCI=y
738# USB Gadget Support 720# USB Gadget Support
739# 721#
740# CONFIG_USB_GADGET is not set 722# CONFIG_USB_GADGET is not set
741
742#
743# MMC/SD Card support
744#
745# CONFIG_MMC is not set 723# CONFIG_MMC is not set
746 724
747# 725#
@@ -769,6 +747,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
769# 747#
770# Real Time Clock 748# Real Time Clock
771# 749#
750CONFIG_RTC_LIB=y
772# CONFIG_RTC_CLASS is not set 751# CONFIG_RTC_CLASS is not set
773 752
774# 753#
@@ -785,10 +764,6 @@ CONFIG_USB_ARCH_HAS_EHCI=y
785# 764#
786 765
787# 766#
788# Virtualization
789#
790
791#
792# File systems 767# File systems
793# 768#
794CONFIG_EXT2_FS=y 769CONFIG_EXT2_FS=y
@@ -888,16 +863,20 @@ CONFIG_MSDOS_PARTITION=y
888# Distributed Lock Manager 863# Distributed Lock Manager
889# 864#
890# CONFIG_DLM is not set 865# CONFIG_DLM is not set
866# CONFIG_UCC_SLOW is not set
891 867
892# 868#
893# Library routines 869# Library routines
894# 870#
895# CONFIG_CRC_CCITT is not set 871# CONFIG_CRC_CCITT is not set
896# CONFIG_CRC16 is not set 872# CONFIG_CRC16 is not set
873# CONFIG_CRC_ITU_T is not set
897# CONFIG_CRC32 is not set 874# CONFIG_CRC32 is not set
898# CONFIG_LIBCRC32C is not set 875# CONFIG_LIBCRC32C is not set
899CONFIG_PLIST=y 876CONFIG_PLIST=y
900CONFIG_IOMAP_COPY=y 877CONFIG_HAS_IOMEM=y
878CONFIG_HAS_IOPORT=y
879CONFIG_HAS_DMA=y
901 880
902# 881#
903# Instrumentation Support 882# Instrumentation Support
@@ -914,15 +893,15 @@ CONFIG_ENABLE_MUST_CHECK=y
914# CONFIG_DEBUG_FS is not set 893# CONFIG_DEBUG_FS is not set
915# CONFIG_HEADERS_CHECK is not set 894# CONFIG_HEADERS_CHECK is not set
916CONFIG_DEBUG_KERNEL=y 895CONFIG_DEBUG_KERNEL=y
917CONFIG_LOG_BUF_SHIFT=14 896# CONFIG_DEBUG_SHIRQ is not set
918CONFIG_DETECT_SOFTLOCKUP=y 897CONFIG_DETECT_SOFTLOCKUP=y
919# CONFIG_SCHEDSTATS is not set 898# CONFIG_SCHEDSTATS is not set
899# CONFIG_TIMER_STATS is not set
920# CONFIG_DEBUG_SLAB is not set 900# CONFIG_DEBUG_SLAB is not set
921# CONFIG_DEBUG_RT_MUTEXES is not set 901# CONFIG_DEBUG_RT_MUTEXES is not set
922# CONFIG_RT_MUTEX_TESTER is not set 902# CONFIG_RT_MUTEX_TESTER is not set
923# CONFIG_DEBUG_SPINLOCK is not set 903# CONFIG_DEBUG_SPINLOCK is not set
924# CONFIG_DEBUG_MUTEXES is not set 904# CONFIG_DEBUG_MUTEXES is not set
925# CONFIG_DEBUG_RWSEMS is not set
926# CONFIG_DEBUG_SPINLOCK_SLEEP is not set 905# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
927# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set 906# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
928# CONFIG_DEBUG_KOBJECT is not set 907# CONFIG_DEBUG_KOBJECT is not set
@@ -932,10 +911,13 @@ CONFIG_DEBUG_INFO=y
932# CONFIG_DEBUG_LIST is not set 911# CONFIG_DEBUG_LIST is not set
933CONFIG_FORCED_INLINING=y 912CONFIG_FORCED_INLINING=y
934# CONFIG_RCU_TORTURE_TEST is not set 913# CONFIG_RCU_TORTURE_TEST is not set
914# CONFIG_FAULT_INJECTION is not set
915# CONFIG_DEBUG_STACKOVERFLOW is not set
916# CONFIG_DEBUG_STACK_USAGE is not set
917# CONFIG_DEBUG_PAGEALLOC is not set
935# CONFIG_DEBUGGER is not set 918# CONFIG_DEBUGGER is not set
936# CONFIG_BDI_SWITCH is not set 919# CONFIG_BDI_SWITCH is not set
937# CONFIG_BOOTX_TEXT is not set 920# CONFIG_BOOTX_TEXT is not set
938# CONFIG_SERIAL_TEXT_DEBUG is not set
939# CONFIG_PPC_EARLY_DEBUG is not set 921# CONFIG_PPC_EARLY_DEBUG is not set
940 922
941# 923#
diff --git a/arch/powerpc/configs/maple_defconfig b/arch/powerpc/configs/maple_defconfig
index 15366f0e489f..eb3d9ad655ea 100644
--- a/arch/powerpc/configs/maple_defconfig
+++ b/arch/powerpc/configs/maple_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.20-rc5 3# Linux kernel version: 2.6.22-rc6
4# Mon Jan 22 22:19:02 2007 4# Tue Jun 26 13:27:35 2007
5# 5#
6CONFIG_PPC64=y 6CONFIG_PPC64=y
7CONFIG_64BIT=y 7CONFIG_64BIT=y
@@ -39,6 +39,7 @@ CONFIG_PPC_FPU=y
39# CONFIG_PPC_OF_PLATFORM_PCI is not set 39# CONFIG_PPC_OF_PLATFORM_PCI is not set
40# CONFIG_ALTIVEC is not set 40# CONFIG_ALTIVEC is not set
41CONFIG_PPC_STD_MMU=y 41CONFIG_PPC_STD_MMU=y
42CONFIG_PPC_MM_SLICES=y
42CONFIG_VIRT_CPU_ACCOUNTING=y 43CONFIG_VIRT_CPU_ACCOUNTING=y
43CONFIG_SMP=y 44CONFIG_SMP=y
44CONFIG_NR_CPUS=4 45CONFIG_NR_CPUS=4
@@ -59,6 +60,7 @@ CONFIG_LOCALVERSION_AUTO=y
59CONFIG_SWAP=y 60CONFIG_SWAP=y
60CONFIG_SYSVIPC=y 61CONFIG_SYSVIPC=y
61# CONFIG_IPC_NS is not set 62# CONFIG_IPC_NS is not set
63CONFIG_SYSVIPC_SYSCTL=y
62CONFIG_POSIX_MQUEUE=y 64CONFIG_POSIX_MQUEUE=y
63# CONFIG_BSD_PROCESS_ACCT is not set 65# CONFIG_BSD_PROCESS_ACCT is not set
64# CONFIG_TASKSTATS is not set 66# CONFIG_TASKSTATS is not set
@@ -66,10 +68,11 @@ CONFIG_POSIX_MQUEUE=y
66# CONFIG_AUDIT is not set 68# CONFIG_AUDIT is not set
67CONFIG_IKCONFIG=y 69CONFIG_IKCONFIG=y
68CONFIG_IKCONFIG_PROC=y 70CONFIG_IKCONFIG_PROC=y
71CONFIG_LOG_BUF_SHIFT=17
69# CONFIG_CPUSETS is not set 72# CONFIG_CPUSETS is not set
70CONFIG_SYSFS_DEPRECATED=y 73CONFIG_SYSFS_DEPRECATED=y
71# CONFIG_RELAY is not set 74# CONFIG_RELAY is not set
72CONFIG_INITRAMFS_SOURCE="" 75# CONFIG_BLK_DEV_INITRD is not set
73CONFIG_CC_OPTIMIZE_FOR_SIZE=y 76CONFIG_CC_OPTIMIZE_FOR_SIZE=y
74CONFIG_SYSCTL=y 77CONFIG_SYSCTL=y
75# CONFIG_EMBEDDED is not set 78# CONFIG_EMBEDDED is not set
@@ -83,14 +86,19 @@ CONFIG_BUG=y
83CONFIG_ELF_CORE=y 86CONFIG_ELF_CORE=y
84CONFIG_BASE_FULL=y 87CONFIG_BASE_FULL=y
85CONFIG_FUTEX=y 88CONFIG_FUTEX=y
89CONFIG_ANON_INODES=y
86CONFIG_EPOLL=y 90CONFIG_EPOLL=y
91CONFIG_SIGNALFD=y
92CONFIG_TIMERFD=y
93CONFIG_EVENTFD=y
87CONFIG_SHMEM=y 94CONFIG_SHMEM=y
88CONFIG_SLAB=y
89CONFIG_VM_EVENT_COUNTERS=y 95CONFIG_VM_EVENT_COUNTERS=y
96CONFIG_SLAB=y
97# CONFIG_SLUB is not set
98# CONFIG_SLOB is not set
90CONFIG_RT_MUTEXES=y 99CONFIG_RT_MUTEXES=y
91# CONFIG_TINY_SHMEM is not set 100# CONFIG_TINY_SHMEM is not set
92CONFIG_BASE_SMALL=0 101CONFIG_BASE_SMALL=0
93# CONFIG_SLOB is not set
94 102
95# 103#
96# Loadable module support 104# Loadable module support
@@ -131,29 +139,34 @@ CONFIG_PPC_MULTIPLATFORM=y
131# CONFIG_PPC_PSERIES is not set 139# CONFIG_PPC_PSERIES is not set
132# CONFIG_PPC_ISERIES is not set 140# CONFIG_PPC_ISERIES is not set
133# CONFIG_PPC_MPC52xx is not set 141# CONFIG_PPC_MPC52xx is not set
142# CONFIG_PPC_MPC5200 is not set
134# CONFIG_PPC_PMAC is not set 143# CONFIG_PPC_PMAC is not set
135CONFIG_PPC_MAPLE=y 144CONFIG_PPC_MAPLE=y
136# CONFIG_PPC_PASEMI is not set 145# CONFIG_PPC_PASEMI is not set
146# CONFIG_PPC_CELLEB is not set
147# CONFIG_PPC_PS3 is not set
137# CONFIG_PPC_CELL is not set 148# CONFIG_PPC_CELL is not set
138# CONFIG_PPC_CELL_NATIVE is not set 149# CONFIG_PPC_CELL_NATIVE is not set
139# CONFIG_PPC_IBM_CELL_BLADE is not set 150# CONFIG_PPC_IBM_CELL_BLADE is not set
140# CONFIG_PPC_PS3 is not set 151# CONFIG_PQ2ADS is not set
141CONFIG_PPC_NATIVE=y 152CONFIG_PPC_NATIVE=y
142CONFIG_UDBG_RTAS_CONSOLE=y 153CONFIG_UDBG_RTAS_CONSOLE=y
154CONFIG_MPIC=y
155# CONFIG_MPIC_WEIRD is not set
156# CONFIG_PPC_I8259 is not set
143CONFIG_U3_DART=y 157CONFIG_U3_DART=y
144CONFIG_PPC_RTAS=y 158CONFIG_PPC_RTAS=y
145# CONFIG_RTAS_ERROR_LOGGING is not set 159# CONFIG_RTAS_ERROR_LOGGING is not set
146CONFIG_RTAS_PROC=y 160CONFIG_RTAS_PROC=y
147# CONFIG_RTAS_FLASH is not set 161# CONFIG_RTAS_FLASH is not set
148# CONFIG_MMIO_NVRAM is not set 162CONFIG_MMIO_NVRAM=y
149CONFIG_MPIC_U3_HT_IRQS=y 163CONFIG_MPIC_U3_HT_IRQS=y
150# CONFIG_PPC_MPC106 is not set 164# CONFIG_PPC_MPC106 is not set
151CONFIG_PPC_970_NAP=y 165CONFIG_PPC_970_NAP=y
152# CONFIG_PPC_INDIRECT_IO is not set 166# CONFIG_PPC_INDIRECT_IO is not set
153# CONFIG_GENERIC_IOMAP is not set 167# CONFIG_GENERIC_IOMAP is not set
154# CONFIG_CPU_FREQ is not set 168# CONFIG_CPU_FREQ is not set
155# CONFIG_WANT_EARLY_SERIAL is not set 169# CONFIG_CPM2 is not set
156CONFIG_MPIC=y
157 170
158# 171#
159# Kernel options 172# Kernel options
@@ -189,34 +202,34 @@ CONFIG_FLAT_NODE_MEM_MAP=y
189# CONFIG_SPARSEMEM_STATIC is not set 202# CONFIG_SPARSEMEM_STATIC is not set
190CONFIG_SPLIT_PTLOCK_CPUS=4 203CONFIG_SPLIT_PTLOCK_CPUS=4
191CONFIG_RESOURCES_64BIT=y 204CONFIG_RESOURCES_64BIT=y
205CONFIG_ZONE_DMA_FLAG=1
206# CONFIG_PPC_HAS_HASH_64K is not set
192# CONFIG_PPC_64K_PAGES is not set 207# CONFIG_PPC_64K_PAGES is not set
193# CONFIG_SCHED_SMT is not set 208# CONFIG_SCHED_SMT is not set
194CONFIG_PROC_DEVICETREE=y 209CONFIG_PROC_DEVICETREE=y
195# CONFIG_CMDLINE_BOOL is not set 210# CONFIG_CMDLINE_BOOL is not set
196# CONFIG_PM is not set 211# CONFIG_PM is not set
197CONFIG_SECCOMP=y 212CONFIG_SECCOMP=y
213# CONFIG_WANT_DEVICE_TREE is not set
198CONFIG_ISA_DMA_API=y 214CONFIG_ISA_DMA_API=y
199 215
200# 216#
201# Bus options 217# Bus options
202# 218#
219CONFIG_ZONE_DMA=y
203CONFIG_GENERIC_ISA_DMA=y 220CONFIG_GENERIC_ISA_DMA=y
204# CONFIG_MPIC_WEIRD is not set
205# CONFIG_PPC_I8259 is not set
206# CONFIG_PPC_INDIRECT_PCI is not set 221# CONFIG_PPC_INDIRECT_PCI is not set
207CONFIG_PCI=y 222CONFIG_PCI=y
208CONFIG_PCI_DOMAINS=y 223CONFIG_PCI_DOMAINS=y
209# CONFIG_PCIEPORTBUS is not set 224# CONFIG_PCIEPORTBUS is not set
225CONFIG_ARCH_SUPPORTS_MSI=y
226CONFIG_PCI_MSI=y
210# CONFIG_PCI_DEBUG is not set 227# CONFIG_PCI_DEBUG is not set
211 228
212# 229#
213# PCCARD (PCMCIA/CardBus) support 230# PCCARD (PCMCIA/CardBus) support
214# 231#
215# CONFIG_PCCARD is not set 232# CONFIG_PCCARD is not set
216
217#
218# PCI Hotplug Support
219#
220# CONFIG_HOTPLUG_PCI is not set 233# CONFIG_HOTPLUG_PCI is not set
221CONFIG_KERNEL_START=0xc000000000000000 234CONFIG_KERNEL_START=0xc000000000000000
222 235
@@ -228,13 +241,13 @@ CONFIG_NET=y
228# 241#
229# Networking options 242# Networking options
230# 243#
231# CONFIG_NETDEBUG is not set
232CONFIG_PACKET=y 244CONFIG_PACKET=y
233CONFIG_PACKET_MMAP=y 245CONFIG_PACKET_MMAP=y
234CONFIG_UNIX=y 246CONFIG_UNIX=y
235CONFIG_XFRM=y 247CONFIG_XFRM=y
236CONFIG_XFRM_USER=m 248CONFIG_XFRM_USER=m
237# CONFIG_XFRM_SUB_POLICY is not set 249# CONFIG_XFRM_SUB_POLICY is not set
250# CONFIG_XFRM_MIGRATE is not set
238# CONFIG_NET_KEY is not set 251# CONFIG_NET_KEY is not set
239CONFIG_INET=y 252CONFIG_INET=y
240CONFIG_IP_MULTICAST=y 253CONFIG_IP_MULTICAST=y
@@ -268,20 +281,8 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
268# CONFIG_INET6_TUNNEL is not set 281# CONFIG_INET6_TUNNEL is not set
269# CONFIG_NETWORK_SECMARK is not set 282# CONFIG_NETWORK_SECMARK is not set
270# CONFIG_NETFILTER is not set 283# CONFIG_NETFILTER is not set
271
272#
273# DCCP Configuration (EXPERIMENTAL)
274#
275# CONFIG_IP_DCCP is not set 284# CONFIG_IP_DCCP is not set
276
277#
278# SCTP Configuration (EXPERIMENTAL)
279#
280# CONFIG_IP_SCTP is not set 285# CONFIG_IP_SCTP is not set
281
282#
283# TIPC Configuration (EXPERIMENTAL)
284#
285# CONFIG_TIPC is not set 286# CONFIG_TIPC is not set
286# CONFIG_ATM is not set 287# CONFIG_ATM is not set
287# CONFIG_BRIDGE is not set 288# CONFIG_BRIDGE is not set
@@ -307,7 +308,16 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
307# CONFIG_HAMRADIO is not set 308# CONFIG_HAMRADIO is not set
308# CONFIG_IRDA is not set 309# CONFIG_IRDA is not set
309# CONFIG_BT is not set 310# CONFIG_BT is not set
311# CONFIG_AF_RXRPC is not set
312
313#
314# Wireless
315#
316# CONFIG_CFG80211 is not set
317# CONFIG_WIRELESS_EXT is not set
318# CONFIG_MAC80211 is not set
310# CONFIG_IEEE80211 is not set 319# CONFIG_IEEE80211 is not set
320# CONFIG_RFKILL is not set
311 321
312# 322#
313# Device Drivers 323# Device Drivers
@@ -320,16 +330,13 @@ CONFIG_STANDALONE=y
320CONFIG_PREVENT_FIRMWARE_BUILD=y 330CONFIG_PREVENT_FIRMWARE_BUILD=y
321# CONFIG_FW_LOADER is not set 331# CONFIG_FW_LOADER is not set
322# CONFIG_DEBUG_DRIVER is not set 332# CONFIG_DEBUG_DRIVER is not set
333# CONFIG_DEBUG_DEVRES is not set
323# CONFIG_SYS_HYPERVISOR is not set 334# CONFIG_SYS_HYPERVISOR is not set
324 335
325# 336#
326# Connector - unified userspace <-> kernelspace linker 337# Connector - unified userspace <-> kernelspace linker
327# 338#
328# CONFIG_CONNECTOR is not set 339# CONFIG_CONNECTOR is not set
329
330#
331# Memory Technology Devices (MTD)
332#
333# CONFIG_MTD is not set 340# CONFIG_MTD is not set
334 341
335# 342#
@@ -340,6 +347,7 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
340# 347#
341# Plug and Play support 348# Plug and Play support
342# 349#
350# CONFIG_PNPACPI is not set
343 351
344# 352#
345# Block devices 353# Block devices
@@ -358,19 +366,16 @@ CONFIG_BLK_DEV_RAM=y
358CONFIG_BLK_DEV_RAM_COUNT=16 366CONFIG_BLK_DEV_RAM_COUNT=16
359CONFIG_BLK_DEV_RAM_SIZE=8192 367CONFIG_BLK_DEV_RAM_SIZE=8192
360CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 368CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
361# CONFIG_BLK_DEV_INITRD is not set
362# CONFIG_CDROM_PKTCDVD is not set 369# CONFIG_CDROM_PKTCDVD is not set
363# CONFIG_ATA_OVER_ETH is not set 370# CONFIG_ATA_OVER_ETH is not set
364 371
365# 372#
366# Misc devices 373# Misc devices
367# 374#
375# CONFIG_PHANTOM is not set
368# CONFIG_SGI_IOC4 is not set 376# CONFIG_SGI_IOC4 is not set
369# CONFIG_TIFM_CORE is not set 377# CONFIG_TIFM_CORE is not set
370 378# CONFIG_BLINK is not set
371#
372# ATA/ATAPI/MFM/RLL support
373#
374CONFIG_IDE=y 379CONFIG_IDE=y
375CONFIG_BLK_DEV_IDE=y 380CONFIG_BLK_DEV_IDE=y
376 381
@@ -384,6 +389,7 @@ CONFIG_BLK_DEV_IDECD=y
384# CONFIG_BLK_DEV_IDETAPE is not set 389# CONFIG_BLK_DEV_IDETAPE is not set
385# CONFIG_BLK_DEV_IDEFLOPPY is not set 390# CONFIG_BLK_DEV_IDEFLOPPY is not set
386CONFIG_IDE_TASK_IOCTL=y 391CONFIG_IDE_TASK_IOCTL=y
392CONFIG_IDE_PROC_FS=y
387 393
388# 394#
389# IDE chipset support/bugfixes 395# IDE chipset support/bugfixes
@@ -391,12 +397,12 @@ CONFIG_IDE_TASK_IOCTL=y
391CONFIG_IDE_GENERIC=y 397CONFIG_IDE_GENERIC=y
392CONFIG_BLK_DEV_IDEPCI=y 398CONFIG_BLK_DEV_IDEPCI=y
393CONFIG_IDEPCI_SHARE_IRQ=y 399CONFIG_IDEPCI_SHARE_IRQ=y
400CONFIG_IDEPCI_PCIBUS_ORDER=y
394# CONFIG_BLK_DEV_OFFBOARD is not set 401# CONFIG_BLK_DEV_OFFBOARD is not set
395CONFIG_BLK_DEV_GENERIC=y 402CONFIG_BLK_DEV_GENERIC=y
396# CONFIG_BLK_DEV_OPTI621 is not set 403# CONFIG_BLK_DEV_OPTI621 is not set
397CONFIG_BLK_DEV_IDEDMA_PCI=y 404CONFIG_BLK_DEV_IDEDMA_PCI=y
398# CONFIG_BLK_DEV_IDEDMA_FORCED is not set 405# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
399CONFIG_IDEDMA_PCI_AUTO=y
400# CONFIG_IDEDMA_ONLYDISK is not set 406# CONFIG_IDEDMA_ONLYDISK is not set
401# CONFIG_BLK_DEV_AEC62XX is not set 407# CONFIG_BLK_DEV_AEC62XX is not set
402# CONFIG_BLK_DEV_ALI15X3 is not set 408# CONFIG_BLK_DEV_ALI15X3 is not set
@@ -411,6 +417,7 @@ CONFIG_BLK_DEV_AMD74XX=y
411# CONFIG_BLK_DEV_JMICRON is not set 417# CONFIG_BLK_DEV_JMICRON is not set
412# CONFIG_BLK_DEV_SC1200 is not set 418# CONFIG_BLK_DEV_SC1200 is not set
413# CONFIG_BLK_DEV_PIIX is not set 419# CONFIG_BLK_DEV_PIIX is not set
420# CONFIG_BLK_DEV_IT8213 is not set
414# CONFIG_BLK_DEV_IT821X is not set 421# CONFIG_BLK_DEV_IT821X is not set
415# CONFIG_BLK_DEV_NS87415 is not set 422# CONFIG_BLK_DEV_NS87415 is not set
416# CONFIG_BLK_DEV_PDC202XX_OLD is not set 423# CONFIG_BLK_DEV_PDC202XX_OLD is not set
@@ -421,10 +428,10 @@ CONFIG_BLK_DEV_AMD74XX=y
421# CONFIG_BLK_DEV_SLC90E66 is not set 428# CONFIG_BLK_DEV_SLC90E66 is not set
422# CONFIG_BLK_DEV_TRM290 is not set 429# CONFIG_BLK_DEV_TRM290 is not set
423# CONFIG_BLK_DEV_VIA82CXXX is not set 430# CONFIG_BLK_DEV_VIA82CXXX is not set
431# CONFIG_BLK_DEV_TC86C001 is not set
424# CONFIG_IDE_ARM is not set 432# CONFIG_IDE_ARM is not set
425CONFIG_BLK_DEV_IDEDMA=y 433CONFIG_BLK_DEV_IDEDMA=y
426# CONFIG_IDEDMA_IVB is not set 434# CONFIG_IDEDMA_IVB is not set
427CONFIG_IDEDMA_AUTO=y
428# CONFIG_BLK_DEV_HD is not set 435# CONFIG_BLK_DEV_HD is not set
429 436
430# 437#
@@ -433,10 +440,6 @@ CONFIG_IDEDMA_AUTO=y
433# CONFIG_RAID_ATTRS is not set 440# CONFIG_RAID_ATTRS is not set
434# CONFIG_SCSI is not set 441# CONFIG_SCSI is not set
435# CONFIG_SCSI_NETLINK is not set 442# CONFIG_SCSI_NETLINK is not set
436
437#
438# Serial ATA (prod) and Parallel ATA (experimental) drivers
439#
440# CONFIG_ATA is not set 443# CONFIG_ATA is not set
441 444
442# 445#
@@ -452,18 +455,14 @@ CONFIG_IDEDMA_AUTO=y
452# 455#
453# IEEE 1394 (FireWire) support 456# IEEE 1394 (FireWire) support
454# 457#
458# CONFIG_FIREWIRE is not set
455# CONFIG_IEEE1394 is not set 459# CONFIG_IEEE1394 is not set
456 460
457# 461#
458# I2O device support 462# I2O device support
459# 463#
460# CONFIG_I2O is not set 464# CONFIG_I2O is not set
461 465# CONFIG_MACINTOSH_DRIVERS is not set
462#
463# Macintosh device drivers
464#
465# CONFIG_MAC_EMUMOUSEBTN is not set
466# CONFIG_WINDFARM is not set
467 466
468# 467#
469# Network device support 468# Network device support
@@ -473,15 +472,7 @@ CONFIG_NETDEVICES=y
473# CONFIG_BONDING is not set 472# CONFIG_BONDING is not set
474# CONFIG_EQUALIZER is not set 473# CONFIG_EQUALIZER is not set
475# CONFIG_TUN is not set 474# CONFIG_TUN is not set
476
477#
478# ARCnet devices
479#
480# CONFIG_ARCNET is not set 475# CONFIG_ARCNET is not set
481
482#
483# PHY device support
484#
485# CONFIG_PHYLIB is not set 476# CONFIG_PHYLIB is not set
486 477
487# 478#
@@ -518,10 +509,8 @@ CONFIG_AMD8111_ETH=y
518# CONFIG_EPIC100 is not set 509# CONFIG_EPIC100 is not set
519# CONFIG_SUNDANCE is not set 510# CONFIG_SUNDANCE is not set
520# CONFIG_VIA_RHINE is not set 511# CONFIG_VIA_RHINE is not set
521 512# CONFIG_SC92031 is not set
522# 513CONFIG_NETDEV_1000=y
523# Ethernet (1000 Mbit)
524#
525# CONFIG_ACENIC is not set 514# CONFIG_ACENIC is not set
526# CONFIG_DL2K is not set 515# CONFIG_DL2K is not set
527CONFIG_E1000=y 516CONFIG_E1000=y
@@ -539,29 +528,33 @@ CONFIG_E1000=y
539CONFIG_TIGON3=y 528CONFIG_TIGON3=y
540# CONFIG_BNX2 is not set 529# CONFIG_BNX2 is not set
541# CONFIG_QLA3XXX is not set 530# CONFIG_QLA3XXX is not set
542 531# CONFIG_ATL1 is not set
543# 532CONFIG_NETDEV_10000=y
544# Ethernet (10000 Mbit)
545#
546# CONFIG_CHELSIO_T1 is not set 533# CONFIG_CHELSIO_T1 is not set
534# CONFIG_CHELSIO_T3 is not set
547# CONFIG_IXGB is not set 535# CONFIG_IXGB is not set
548# CONFIG_S2IO is not set 536# CONFIG_S2IO is not set
549# CONFIG_MYRI10GE is not set 537# CONFIG_MYRI10GE is not set
550# CONFIG_NETXEN_NIC is not set 538# CONFIG_NETXEN_NIC is not set
551 539# CONFIG_PASEMI_MAC is not set
552# 540# CONFIG_MLX4_CORE is not set
553# Token Ring devices
554#
555# CONFIG_TR is not set 541# CONFIG_TR is not set
556 542
557# 543#
558# Wireless LAN (non-hamradio) 544# Wireless LAN
559# 545#
560# CONFIG_NET_RADIO is not set 546# CONFIG_WLAN_PRE80211 is not set
547# CONFIG_WLAN_80211 is not set
561 548
562# 549#
563# Wan interfaces 550# USB Network Adapters
564# 551#
552# CONFIG_USB_CATC is not set
553# CONFIG_USB_KAWETH is not set
554CONFIG_USB_PEGASUS=y
555# CONFIG_USB_RTL8150 is not set
556# CONFIG_USB_USBNET_MII is not set
557# CONFIG_USB_USBNET is not set
565# CONFIG_WAN is not set 558# CONFIG_WAN is not set
566# CONFIG_FDDI is not set 559# CONFIG_FDDI is not set
567# CONFIG_HIPPI is not set 560# CONFIG_HIPPI is not set
@@ -587,6 +580,7 @@ CONFIG_TIGON3=y
587# 580#
588CONFIG_INPUT=y 581CONFIG_INPUT=y
589# CONFIG_INPUT_FF_MEMLESS is not set 582# CONFIG_INPUT_FF_MEMLESS is not set
583# CONFIG_INPUT_POLLDEV is not set
590 584
591# 585#
592# Userland interfaces 586# Userland interfaces
@@ -606,6 +600,7 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=1200
606# CONFIG_INPUT_KEYBOARD is not set 600# CONFIG_INPUT_KEYBOARD is not set
607# CONFIG_INPUT_MOUSE is not set 601# CONFIG_INPUT_MOUSE is not set
608# CONFIG_INPUT_JOYSTICK is not set 602# CONFIG_INPUT_JOYSTICK is not set
603# CONFIG_INPUT_TABLET is not set
609# CONFIG_INPUT_TOUCHSCREEN is not set 604# CONFIG_INPUT_TOUCHSCREEN is not set
610# CONFIG_INPUT_MISC is not set 605# CONFIG_INPUT_MISC is not set
611 606
@@ -640,6 +635,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4
640CONFIG_SERIAL_CORE=y 635CONFIG_SERIAL_CORE=y
641CONFIG_SERIAL_CORE_CONSOLE=y 636CONFIG_SERIAL_CORE_CONSOLE=y
642# CONFIG_SERIAL_JSM is not set 637# CONFIG_SERIAL_JSM is not set
638# CONFIG_SERIAL_OF_PLATFORM is not set
643CONFIG_UNIX98_PTYS=y 639CONFIG_UNIX98_PTYS=y
644CONFIG_LEGACY_PTYS=y 640CONFIG_LEGACY_PTYS=y
645CONFIG_LEGACY_PTY_COUNT=256 641CONFIG_LEGACY_PTY_COUNT=256
@@ -650,15 +646,10 @@ CONFIG_HVC_RTAS=y
650# IPMI 646# IPMI
651# 647#
652# CONFIG_IPMI_HANDLER is not set 648# CONFIG_IPMI_HANDLER is not set
653
654#
655# Watchdog Cards
656#
657# CONFIG_WATCHDOG is not set 649# CONFIG_WATCHDOG is not set
658# CONFIG_HW_RANDOM is not set 650# CONFIG_HW_RANDOM is not set
659CONFIG_GEN_RTC=y 651CONFIG_GEN_RTC=y
660# CONFIG_GEN_RTC_X is not set 652# CONFIG_GEN_RTC_X is not set
661# CONFIG_DTLK is not set
662# CONFIG_R3964 is not set 653# CONFIG_R3964 is not set
663# CONFIG_APPLICOM is not set 654# CONFIG_APPLICOM is not set
664# CONFIG_AGP is not set 655# CONFIG_AGP is not set
@@ -670,11 +661,9 @@ CONFIG_GEN_RTC=y
670# TPM devices 661# TPM devices
671# 662#
672# CONFIG_TCG_TPM is not set 663# CONFIG_TCG_TPM is not set
673 664CONFIG_DEVPORT=y
674#
675# I2C support
676#
677CONFIG_I2C=y 665CONFIG_I2C=y
666CONFIG_I2C_BOARDINFO=y
678CONFIG_I2C_CHARDEV=y 667CONFIG_I2C_CHARDEV=y
679 668
680# 669#
@@ -700,14 +689,15 @@ CONFIG_I2C_AMD8111=y
700# CONFIG_I2C_PARPORT_LIGHT is not set 689# CONFIG_I2C_PARPORT_LIGHT is not set
701# CONFIG_I2C_PROSAVAGE is not set 690# CONFIG_I2C_PROSAVAGE is not set
702# CONFIG_I2C_SAVAGE4 is not set 691# CONFIG_I2C_SAVAGE4 is not set
692# CONFIG_I2C_SIMTEC is not set
703# CONFIG_I2C_SIS5595 is not set 693# CONFIG_I2C_SIS5595 is not set
704# CONFIG_I2C_SIS630 is not set 694# CONFIG_I2C_SIS630 is not set
705# CONFIG_I2C_SIS96X is not set 695# CONFIG_I2C_SIS96X is not set
706# CONFIG_I2C_STUB is not set 696# CONFIG_I2C_STUB is not set
697# CONFIG_I2C_TINY_USB is not set
707# CONFIG_I2C_VIA is not set 698# CONFIG_I2C_VIA is not set
708# CONFIG_I2C_VIAPRO is not set 699# CONFIG_I2C_VIAPRO is not set
709# CONFIG_I2C_VOODOO3 is not set 700# CONFIG_I2C_VOODOO3 is not set
710# CONFIG_I2C_PCA_ISA is not set
711 701
712# 702#
713# Miscellaneous I2C Chip support 703# Miscellaneous I2C Chip support
@@ -734,28 +724,30 @@ CONFIG_I2C_AMD8111=y
734# Dallas's 1-wire bus 724# Dallas's 1-wire bus
735# 725#
736# CONFIG_W1 is not set 726# CONFIG_W1 is not set
727# CONFIG_HWMON is not set
737 728
738# 729#
739# Hardware Monitoring support 730# Multifunction device drivers
740# 731#
741# CONFIG_HWMON is not set 732# CONFIG_MFD_SM501 is not set
742# CONFIG_HWMON_VID is not set
743 733
744# 734#
745# Multimedia devices 735# Multimedia devices
746# 736#
747# CONFIG_VIDEO_DEV is not set 737# CONFIG_VIDEO_DEV is not set
738# CONFIG_DVB_CORE is not set
739# CONFIG_DAB is not set
748 740
749# 741#
750# Digital Video Broadcasting Devices 742# Graphics support
751# 743#
752# CONFIG_DVB is not set 744# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
753# CONFIG_USB_DABUSB is not set
754 745
755# 746#
756# Graphics support 747# Display device support
757# 748#
758CONFIG_FIRMWARE_EDID=y 749# CONFIG_DISPLAY_SUPPORT is not set
750# CONFIG_VGASTATE is not set
759# CONFIG_FB is not set 751# CONFIG_FB is not set
760# CONFIG_FB_IBM_GXT4500 is not set 752# CONFIG_FB_IBM_GXT4500 is not set
761 753
@@ -764,7 +756,6 @@ CONFIG_FIRMWARE_EDID=y
764# 756#
765# CONFIG_VGA_CONSOLE is not set 757# CONFIG_VGA_CONSOLE is not set
766CONFIG_DUMMY_CONSOLE=y 758CONFIG_DUMMY_CONSOLE=y
767# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
768 759
769# 760#
770# Sound 761# Sound
@@ -775,6 +766,15 @@ CONFIG_DUMMY_CONSOLE=y
775# HID Devices 766# HID Devices
776# 767#
777CONFIG_HID=y 768CONFIG_HID=y
769# CONFIG_HID_DEBUG is not set
770
771#
772# USB Input Devices
773#
774CONFIG_USB_HID=y
775# CONFIG_USB_HIDINPUT_POWERBOOK is not set
776# CONFIG_HID_FF is not set
777# CONFIG_USB_HIDDEV is not set
778 778
779# 779#
780# USB support 780# USB support
@@ -789,9 +789,8 @@ CONFIG_USB=y
789# Miscellaneous USB options 789# Miscellaneous USB options
790# 790#
791CONFIG_USB_DEVICEFS=y 791CONFIG_USB_DEVICEFS=y
792# CONFIG_USB_BANDWIDTH is not set 792CONFIG_USB_DEVICE_CLASS=y
793# CONFIG_USB_DYNAMIC_MINORS is not set 793# CONFIG_USB_DYNAMIC_MINORS is not set
794# CONFIG_USB_MULTITHREAD_PROBE is not set
795# CONFIG_USB_OTG is not set 794# CONFIG_USB_OTG is not set
796 795
797# 796#
@@ -801,9 +800,12 @@ CONFIG_USB_EHCI_HCD=y
801CONFIG_USB_EHCI_SPLIT_ISO=y 800CONFIG_USB_EHCI_SPLIT_ISO=y
802CONFIG_USB_EHCI_ROOT_HUB_TT=y 801CONFIG_USB_EHCI_ROOT_HUB_TT=y
803# CONFIG_USB_EHCI_TT_NEWSCHED is not set 802# CONFIG_USB_EHCI_TT_NEWSCHED is not set
803# CONFIG_USB_EHCI_BIG_ENDIAN_MMIO is not set
804# CONFIG_USB_ISP116X_HCD is not set 804# CONFIG_USB_ISP116X_HCD is not set
805CONFIG_USB_OHCI_HCD=y 805CONFIG_USB_OHCI_HCD=y
806# CONFIG_USB_OHCI_BIG_ENDIAN is not set 806# CONFIG_USB_OHCI_HCD_PPC_OF is not set
807# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
808# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
807CONFIG_USB_OHCI_LITTLE_ENDIAN=y 809CONFIG_USB_OHCI_LITTLE_ENDIAN=y
808CONFIG_USB_UHCI_HCD=y 810CONFIG_USB_UHCI_HCD=y
809# CONFIG_USB_SL811_HCD is not set 811# CONFIG_USB_SL811_HCD is not set
@@ -824,39 +826,9 @@ CONFIG_USB_UHCI_HCD=y
824# CONFIG_USB_LIBUSUAL is not set 826# CONFIG_USB_LIBUSUAL is not set
825 827
826# 828#
827# USB Input Devices
828#
829CONFIG_USB_HID=y
830# CONFIG_USB_HIDINPUT_POWERBOOK is not set
831# CONFIG_HID_FF is not set
832# CONFIG_USB_HIDDEV 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 829# USB Imaging devices
848# 830#
849# CONFIG_USB_MDC800 is not set 831# CONFIG_USB_MDC800 is not set
850
851#
852# USB Network Adapters
853#
854# CONFIG_USB_CATC is not set
855# CONFIG_USB_KAWETH is not set
856CONFIG_USB_PEGASUS=y
857# CONFIG_USB_RTL8150 is not set
858# CONFIG_USB_USBNET_MII is not set
859# CONFIG_USB_USBNET is not set
860CONFIG_USB_MON=y 832CONFIG_USB_MON=y
861 833
862# 834#
@@ -929,6 +901,7 @@ CONFIG_USB_EZUSB=y
929# CONFIG_USB_RIO500 is not set 901# CONFIG_USB_RIO500 is not set
930# CONFIG_USB_LEGOTOWER is not set 902# CONFIG_USB_LEGOTOWER is not set
931# CONFIG_USB_LCD is not set 903# CONFIG_USB_LCD is not set
904# CONFIG_USB_BERRY_CHARGE is not set
932# CONFIG_USB_LED is not set 905# CONFIG_USB_LED is not set
933# CONFIG_USB_CYPRESS_CY7C63 is not set 906# CONFIG_USB_CYPRESS_CY7C63 is not set
934# CONFIG_USB_CYTHERM is not set 907# CONFIG_USB_CYTHERM is not set
@@ -939,6 +912,7 @@ CONFIG_USB_EZUSB=y
939# CONFIG_USB_SISUSBVGA is not set 912# CONFIG_USB_SISUSBVGA is not set
940# CONFIG_USB_LD is not set 913# CONFIG_USB_LD is not set
941# CONFIG_USB_TRANCEVIBRATOR is not set 914# CONFIG_USB_TRANCEVIBRATOR is not set
915# CONFIG_USB_IOWARRIOR is not set
942# CONFIG_USB_TEST is not set 916# CONFIG_USB_TEST is not set
943 917
944# 918#
@@ -949,10 +923,6 @@ CONFIG_USB_EZUSB=y
949# USB Gadget Support 923# USB Gadget Support
950# 924#
951# CONFIG_USB_GADGET is not set 925# CONFIG_USB_GADGET is not set
952
953#
954# MMC/SD Card support
955#
956# CONFIG_MMC is not set 926# CONFIG_MMC is not set
957 927
958# 928#
@@ -996,10 +966,6 @@ CONFIG_USB_EZUSB=y
996# 966#
997 967
998# 968#
999# Virtualization
1000#
1001
1002#
1003# File systems 969# File systems
1004# 970#
1005CONFIG_EXT2_FS=y 971CONFIG_EXT2_FS=y
@@ -1090,6 +1056,7 @@ CONFIG_NFS_ACL_SUPPORT=y
1090CONFIG_NFS_COMMON=y 1056CONFIG_NFS_COMMON=y
1091CONFIG_SUNRPC=y 1057CONFIG_SUNRPC=y
1092CONFIG_SUNRPC_GSS=y 1058CONFIG_SUNRPC_GSS=y
1059# CONFIG_SUNRPC_BIND34 is not set
1093CONFIG_RPCSEC_GSS_KRB5=y 1060CONFIG_RPCSEC_GSS_KRB5=y
1094# CONFIG_RPCSEC_GSS_SPKM3 is not set 1061# CONFIG_RPCSEC_GSS_SPKM3 is not set
1095# CONFIG_SMB_FS is not set 1062# CONFIG_SMB_FS is not set
@@ -1119,6 +1086,7 @@ CONFIG_MSDOS_PARTITION=y
1119# CONFIG_SUN_PARTITION is not set 1086# CONFIG_SUN_PARTITION is not set
1120# CONFIG_KARMA_PARTITION is not set 1087# CONFIG_KARMA_PARTITION is not set
1121# CONFIG_EFI_PARTITION is not set 1088# CONFIG_EFI_PARTITION is not set
1089# CONFIG_SYSV68_PARTITION is not set
1122 1090
1123# 1091#
1124# Native Language Support 1092# Native Language Support
@@ -1168,6 +1136,7 @@ CONFIG_NLS_UTF8=y
1168# Distributed Lock Manager 1136# Distributed Lock Manager
1169# 1137#
1170# CONFIG_DLM is not set 1138# CONFIG_DLM is not set
1139# CONFIG_UCC_SLOW is not set
1171 1140
1172# 1141#
1173# Library routines 1142# Library routines
@@ -1175,11 +1144,14 @@ CONFIG_NLS_UTF8=y
1175CONFIG_BITREVERSE=y 1144CONFIG_BITREVERSE=y
1176CONFIG_CRC_CCITT=y 1145CONFIG_CRC_CCITT=y
1177# CONFIG_CRC16 is not set 1146# CONFIG_CRC16 is not set
1147# CONFIG_CRC_ITU_T is not set
1178CONFIG_CRC32=y 1148CONFIG_CRC32=y
1179# CONFIG_LIBCRC32C is not set 1149# CONFIG_LIBCRC32C is not set
1180CONFIG_ZLIB_INFLATE=y 1150CONFIG_ZLIB_INFLATE=y
1181CONFIG_PLIST=y 1151CONFIG_PLIST=y
1182CONFIG_IOMAP_COPY=y 1152CONFIG_HAS_IOMEM=y
1153CONFIG_HAS_IOPORT=y
1154CONFIG_HAS_DMA=y
1183 1155
1184# 1156#
1185# Instrumentation Support 1157# Instrumentation Support
@@ -1197,16 +1169,16 @@ CONFIG_MAGIC_SYSRQ=y
1197CONFIG_DEBUG_FS=y 1169CONFIG_DEBUG_FS=y
1198# CONFIG_HEADERS_CHECK is not set 1170# CONFIG_HEADERS_CHECK is not set
1199CONFIG_DEBUG_KERNEL=y 1171CONFIG_DEBUG_KERNEL=y
1200CONFIG_LOG_BUF_SHIFT=17 1172# CONFIG_DEBUG_SHIRQ is not set
1201CONFIG_DETECT_SOFTLOCKUP=y 1173CONFIG_DETECT_SOFTLOCKUP=y
1202# CONFIG_SCHEDSTATS is not set 1174# CONFIG_SCHEDSTATS is not set
1175# CONFIG_TIMER_STATS is not set
1203CONFIG_DEBUG_SLAB=y 1176CONFIG_DEBUG_SLAB=y
1204# CONFIG_DEBUG_SLAB_LEAK is not set 1177# CONFIG_DEBUG_SLAB_LEAK is not set
1205# CONFIG_DEBUG_RT_MUTEXES is not set 1178# CONFIG_DEBUG_RT_MUTEXES is not set
1206# CONFIG_RT_MUTEX_TESTER is not set 1179# CONFIG_RT_MUTEX_TESTER is not set
1207# CONFIG_DEBUG_SPINLOCK is not set 1180# CONFIG_DEBUG_SPINLOCK is not set
1208# CONFIG_DEBUG_MUTEXES is not set 1181# CONFIG_DEBUG_MUTEXES is not set
1209# CONFIG_DEBUG_RWSEMS is not set
1210CONFIG_DEBUG_SPINLOCK_SLEEP=y 1182CONFIG_DEBUG_SPINLOCK_SLEEP=y
1211# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set 1183# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1212# CONFIG_DEBUG_KOBJECT is not set 1184# CONFIG_DEBUG_KOBJECT is not set
@@ -1216,8 +1188,10 @@ CONFIG_DEBUG_BUGVERBOSE=y
1216# CONFIG_DEBUG_LIST is not set 1188# CONFIG_DEBUG_LIST is not set
1217# CONFIG_FORCED_INLINING is not set 1189# CONFIG_FORCED_INLINING is not set
1218# CONFIG_RCU_TORTURE_TEST is not set 1190# CONFIG_RCU_TORTURE_TEST is not set
1191# CONFIG_FAULT_INJECTION is not set
1219CONFIG_DEBUG_STACKOVERFLOW=y 1192CONFIG_DEBUG_STACKOVERFLOW=y
1220CONFIG_DEBUG_STACK_USAGE=y 1193CONFIG_DEBUG_STACK_USAGE=y
1194# CONFIG_DEBUG_PAGEALLOC is not set
1221CONFIG_DEBUGGER=y 1195CONFIG_DEBUGGER=y
1222CONFIG_XMON=y 1196CONFIG_XMON=y
1223CONFIG_XMON_DEFAULT=y 1197CONFIG_XMON_DEFAULT=y
@@ -1252,8 +1226,11 @@ CONFIG_CRYPTO_MD5=y
1252# CONFIG_CRYPTO_GF128MUL is not set 1226# CONFIG_CRYPTO_GF128MUL is not set
1253CONFIG_CRYPTO_ECB=m 1227CONFIG_CRYPTO_ECB=m
1254CONFIG_CRYPTO_CBC=y 1228CONFIG_CRYPTO_CBC=y
1229CONFIG_CRYPTO_PCBC=m
1255# CONFIG_CRYPTO_LRW is not set 1230# CONFIG_CRYPTO_LRW is not set
1231# CONFIG_CRYPTO_CRYPTD is not set
1256CONFIG_CRYPTO_DES=y 1232CONFIG_CRYPTO_DES=y
1233# CONFIG_CRYPTO_FCRYPT is not set
1257# CONFIG_CRYPTO_BLOWFISH is not set 1234# CONFIG_CRYPTO_BLOWFISH is not set
1258# CONFIG_CRYPTO_TWOFISH is not set 1235# CONFIG_CRYPTO_TWOFISH is not set
1259# CONFIG_CRYPTO_SERPENT is not set 1236# CONFIG_CRYPTO_SERPENT is not set
@@ -1267,6 +1244,7 @@ CONFIG_CRYPTO_DES=y
1267# CONFIG_CRYPTO_DEFLATE is not set 1244# CONFIG_CRYPTO_DEFLATE is not set
1268# CONFIG_CRYPTO_MICHAEL_MIC is not set 1245# CONFIG_CRYPTO_MICHAEL_MIC is not set
1269# CONFIG_CRYPTO_CRC32C is not set 1246# CONFIG_CRYPTO_CRC32C is not set
1247# CONFIG_CRYPTO_CAMELLIA is not set
1270# CONFIG_CRYPTO_TEST is not set 1248# CONFIG_CRYPTO_TEST is not set
1271 1249
1272# 1250#
diff --git a/arch/powerpc/configs/mpc7448_hpc2_defconfig b/arch/powerpc/configs/mpc7448_hpc2_defconfig
index fdf09eabe6e7..174a290ee7a9 100644
--- a/arch/powerpc/configs/mpc7448_hpc2_defconfig
+++ b/arch/powerpc/configs/mpc7448_hpc2_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.20-rc5 3# Linux kernel version: 2.6.22-rc7
4# Mon Jan 22 22:20:53 2007 4# Sun Jul 1 23:56:54 2007
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7CONFIG_PPC32=y 7CONFIG_PPC32=y
@@ -34,9 +34,9 @@ CONFIG_CLASSIC32=y
34# CONFIG_PPC_83xx is not set 34# CONFIG_PPC_83xx is not set
35# CONFIG_PPC_85xx is not set 35# CONFIG_PPC_85xx is not set
36# CONFIG_PPC_86xx is not set 36# CONFIG_PPC_86xx is not set
37# CONFIG_PPC_8xx is not set
37# CONFIG_40x is not set 38# CONFIG_40x is not set
38# CONFIG_44x is not set 39# CONFIG_44x is not set
39# CONFIG_8xx is not set
40# CONFIG_E200 is not set 40# CONFIG_E200 is not set
41CONFIG_6xx=y 41CONFIG_6xx=y
42CONFIG_PPC_FPU=y 42CONFIG_PPC_FPU=y
@@ -45,6 +45,7 @@ CONFIG_PPC_FPU=y
45# CONFIG_ALTIVEC is not set 45# CONFIG_ALTIVEC is not set
46CONFIG_PPC_STD_MMU=y 46CONFIG_PPC_STD_MMU=y
47CONFIG_PPC_STD_MMU_32=y 47CONFIG_PPC_STD_MMU_32=y
48# CONFIG_PPC_MM_SLICES is not set
48# CONFIG_SMP is not set 49# CONFIG_SMP is not set
49CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 50CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
50 51
@@ -63,14 +64,17 @@ CONFIG_LOCALVERSION_AUTO=y
63CONFIG_SWAP=y 64CONFIG_SWAP=y
64CONFIG_SYSVIPC=y 65CONFIG_SYSVIPC=y
65# CONFIG_IPC_NS is not set 66# CONFIG_IPC_NS is not set
67CONFIG_SYSVIPC_SYSCTL=y
66# CONFIG_POSIX_MQUEUE is not set 68# CONFIG_POSIX_MQUEUE is not set
67# CONFIG_BSD_PROCESS_ACCT is not set 69# CONFIG_BSD_PROCESS_ACCT is not set
68# CONFIG_TASKSTATS is not set 70# CONFIG_TASKSTATS is not set
69# CONFIG_UTS_NS is not set 71# CONFIG_UTS_NS is not set
70# CONFIG_AUDIT is not set 72# CONFIG_AUDIT is not set
71# CONFIG_IKCONFIG is not set 73# CONFIG_IKCONFIG is not set
74CONFIG_LOG_BUF_SHIFT=14
72CONFIG_SYSFS_DEPRECATED=y 75CONFIG_SYSFS_DEPRECATED=y
73# CONFIG_RELAY is not set 76# CONFIG_RELAY is not set
77CONFIG_BLK_DEV_INITRD=y
74CONFIG_INITRAMFS_SOURCE="" 78CONFIG_INITRAMFS_SOURCE=""
75# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 79# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
76CONFIG_SYSCTL=y 80CONFIG_SYSCTL=y
@@ -84,14 +88,19 @@ CONFIG_BUG=y
84CONFIG_ELF_CORE=y 88CONFIG_ELF_CORE=y
85CONFIG_BASE_FULL=y 89CONFIG_BASE_FULL=y
86CONFIG_FUTEX=y 90CONFIG_FUTEX=y
91CONFIG_ANON_INODES=y
87CONFIG_EPOLL=y 92CONFIG_EPOLL=y
93CONFIG_SIGNALFD=y
94CONFIG_TIMERFD=y
95CONFIG_EVENTFD=y
88CONFIG_SHMEM=y 96CONFIG_SHMEM=y
89CONFIG_SLAB=y
90CONFIG_VM_EVENT_COUNTERS=y 97CONFIG_VM_EVENT_COUNTERS=y
98CONFIG_SLAB=y
99# CONFIG_SLUB is not set
100# CONFIG_SLOB is not set
91CONFIG_RT_MUTEXES=y 101CONFIG_RT_MUTEXES=y
92# CONFIG_TINY_SHMEM is not set 102# CONFIG_TINY_SHMEM is not set
93CONFIG_BASE_SMALL=0 103CONFIG_BASE_SMALL=0
94# CONFIG_SLOB is not set
95 104
96# 105#
97# Loadable module support 106# Loadable module support
@@ -126,8 +135,18 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
126CONFIG_EMBEDDED6xx=y 135CONFIG_EMBEDDED6xx=y
127# CONFIG_APUS is not set 136# CONFIG_APUS is not set
128# CONFIG_PPC_MPC52xx is not set 137# CONFIG_PPC_MPC52xx is not set
138# CONFIG_PPC_MPC5200 is not set
129# CONFIG_PPC_CELL is not set 139# CONFIG_PPC_CELL is not set
130# CONFIG_PPC_CELL_NATIVE is not set 140# CONFIG_PPC_CELL_NATIVE is not set
141# CONFIG_PQ2ADS is not set
142# CONFIG_LINKSTATION is not set
143CONFIG_MPC7448HPC2=y
144# CONFIG_PPC_HOLLY is not set
145# CONFIG_PPC_PRPMC2800 is not set
146CONFIG_TSI108_BRIDGE=y
147CONFIG_MPIC=y
148CONFIG_MPIC_WEIRD=y
149# CONFIG_PPC_I8259 is not set
131# CONFIG_PPC_RTAS is not set 150# CONFIG_PPC_RTAS is not set
132# CONFIG_MMIO_NVRAM is not set 151# CONFIG_MMIO_NVRAM is not set
133# CONFIG_PPC_MPC106 is not set 152# CONFIG_PPC_MPC106 is not set
@@ -136,36 +155,7 @@ CONFIG_EMBEDDED6xx=y
136# CONFIG_GENERIC_IOMAP is not set 155# CONFIG_GENERIC_IOMAP is not set
137# CONFIG_CPU_FREQ is not set 156# CONFIG_CPU_FREQ is not set
138# CONFIG_TAU is not set 157# CONFIG_TAU is not set
139# CONFIG_KATANA is not set 158# CONFIG_CPM2 is not set
140# CONFIG_WILLOW is not set
141# CONFIG_CPCI690 is not set
142# CONFIG_POWERPMC250 is not set
143# CONFIG_CHESTNUT is not set
144# CONFIG_SPRUCE is not set
145# CONFIG_HDPU is not set
146# CONFIG_EV64260 is not set
147# CONFIG_LOPEC is not set
148# CONFIG_MVME5100 is not set
149# CONFIG_PPLUS is not set
150# CONFIG_PRPMC750 is not set
151# CONFIG_PRPMC800 is not set
152# CONFIG_SANDPOINT is not set
153# CONFIG_LINKSTATION is not set
154CONFIG_MPC7448HPC2=y
155# CONFIG_RADSTONE_PPC7D is not set
156# CONFIG_PAL4 is not set
157# CONFIG_GEMINI is not set
158# CONFIG_EST8260 is not set
159# CONFIG_SBC82xx is not set
160# CONFIG_SBS8260 is not set
161# CONFIG_RPX8260 is not set
162# CONFIG_TQM8260 is not set
163# CONFIG_ADS8272 is not set
164# CONFIG_PQ2FADS is not set
165# CONFIG_EV64360 is not set
166CONFIG_TSI108_BRIDGE=y
167# CONFIG_WANT_EARLY_SERIAL is not set
168CONFIG_MPIC=y
169 159
170# 160#
171# Kernel options 161# Kernel options
@@ -193,31 +183,30 @@ CONFIG_FLAT_NODE_MEM_MAP=y
193# CONFIG_SPARSEMEM_STATIC is not set 183# CONFIG_SPARSEMEM_STATIC is not set
194CONFIG_SPLIT_PTLOCK_CPUS=4 184CONFIG_SPLIT_PTLOCK_CPUS=4
195# CONFIG_RESOURCES_64BIT is not set 185# CONFIG_RESOURCES_64BIT is not set
186CONFIG_ZONE_DMA_FLAG=1
196CONFIG_PROC_DEVICETREE=y 187CONFIG_PROC_DEVICETREE=y
197# CONFIG_CMDLINE_BOOL is not set 188# CONFIG_CMDLINE_BOOL is not set
198# CONFIG_PM is not set 189# CONFIG_PM is not set
199# CONFIG_SECCOMP is not set 190# CONFIG_SECCOMP is not set
191# CONFIG_WANT_DEVICE_TREE is not set
200CONFIG_ISA_DMA_API=y 192CONFIG_ISA_DMA_API=y
201 193
202# 194#
203# Bus options 195# Bus options
204# 196#
197CONFIG_ZONE_DMA=y
205CONFIG_GENERIC_ISA_DMA=y 198CONFIG_GENERIC_ISA_DMA=y
206CONFIG_MPIC_WEIRD=y
207# CONFIG_PPC_I8259 is not set
208# CONFIG_PPC_INDIRECT_PCI is not set 199# CONFIG_PPC_INDIRECT_PCI is not set
209CONFIG_PCI=y 200CONFIG_PCI=y
210CONFIG_PCI_DOMAINS=y 201CONFIG_PCI_DOMAINS=y
211# CONFIG_PCIEPORTBUS is not set 202# CONFIG_PCIEPORTBUS is not set
203CONFIG_ARCH_SUPPORTS_MSI=y
204# CONFIG_PCI_MSI is not set
212 205
213# 206#
214# PCCARD (PCMCIA/CardBus) support 207# PCCARD (PCMCIA/CardBus) support
215# 208#
216# CONFIG_PCCARD is not set 209# CONFIG_PCCARD is not set
217
218#
219# PCI Hotplug Support
220#
221# CONFIG_HOTPLUG_PCI is not set 210# CONFIG_HOTPLUG_PCI is not set
222 211
223# 212#
@@ -242,13 +231,13 @@ CONFIG_NET=y
242# 231#
243# Networking options 232# Networking options
244# 233#
245# CONFIG_NETDEBUG is not set
246CONFIG_PACKET=y 234CONFIG_PACKET=y
247# CONFIG_PACKET_MMAP is not set 235# CONFIG_PACKET_MMAP is not set
248CONFIG_UNIX=y 236CONFIG_UNIX=y
249CONFIG_XFRM=y 237CONFIG_XFRM=y
250CONFIG_XFRM_USER=y 238CONFIG_XFRM_USER=y
251# CONFIG_XFRM_SUB_POLICY is not set 239# CONFIG_XFRM_SUB_POLICY is not set
240# CONFIG_XFRM_MIGRATE is not set
252# CONFIG_NET_KEY is not set 241# CONFIG_NET_KEY is not set
253CONFIG_INET=y 242CONFIG_INET=y
254CONFIG_IP_MULTICAST=y 243CONFIG_IP_MULTICAST=y
@@ -282,20 +271,8 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
282# CONFIG_INET6_TUNNEL is not set 271# CONFIG_INET6_TUNNEL is not set
283# CONFIG_NETWORK_SECMARK is not set 272# CONFIG_NETWORK_SECMARK is not set
284# CONFIG_NETFILTER is not set 273# CONFIG_NETFILTER is not set
285
286#
287# DCCP Configuration (EXPERIMENTAL)
288#
289# CONFIG_IP_DCCP is not set 274# CONFIG_IP_DCCP is not set
290
291#
292# SCTP Configuration (EXPERIMENTAL)
293#
294# CONFIG_IP_SCTP is not set 275# CONFIG_IP_SCTP is not set
295
296#
297# TIPC Configuration (EXPERIMENTAL)
298#
299# CONFIG_TIPC is not set 276# CONFIG_TIPC is not set
300# CONFIG_ATM is not set 277# CONFIG_ATM is not set
301# CONFIG_BRIDGE is not set 278# CONFIG_BRIDGE is not set
@@ -321,7 +298,16 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
321# CONFIG_HAMRADIO is not set 298# CONFIG_HAMRADIO is not set
322# CONFIG_IRDA is not set 299# CONFIG_IRDA is not set
323# CONFIG_BT is not set 300# CONFIG_BT is not set
301# CONFIG_AF_RXRPC is not set
302
303#
304# Wireless
305#
306# CONFIG_CFG80211 is not set
307# CONFIG_WIRELESS_EXT is not set
308# CONFIG_MAC80211 is not set
324# CONFIG_IEEE80211 is not set 309# CONFIG_IEEE80211 is not set
310# CONFIG_RFKILL is not set
325 311
326# 312#
327# Device Drivers 313# Device Drivers
@@ -339,10 +325,6 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
339# Connector - unified userspace <-> kernelspace linker 325# Connector - unified userspace <-> kernelspace linker
340# 326#
341# CONFIG_CONNECTOR is not set 327# CONFIG_CONNECTOR is not set
342
343#
344# Memory Technology Devices (MTD)
345#
346# CONFIG_MTD is not set 328# CONFIG_MTD is not set
347 329
348# 330#
@@ -353,6 +335,7 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
353# 335#
354# Plug and Play support 336# Plug and Play support
355# 337#
338# CONFIG_PNPACPI is not set
356 339
357# 340#
358# Block devices 341# Block devices
@@ -371,19 +354,16 @@ CONFIG_BLK_DEV_RAM=y
371CONFIG_BLK_DEV_RAM_COUNT=16 354CONFIG_BLK_DEV_RAM_COUNT=16
372CONFIG_BLK_DEV_RAM_SIZE=131072 355CONFIG_BLK_DEV_RAM_SIZE=131072
373CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 356CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
374CONFIG_BLK_DEV_INITRD=y
375# CONFIG_CDROM_PKTCDVD is not set 357# CONFIG_CDROM_PKTCDVD is not set
376# CONFIG_ATA_OVER_ETH is not set 358# CONFIG_ATA_OVER_ETH is not set
377 359
378# 360#
379# Misc devices 361# Misc devices
380# 362#
363# CONFIG_PHANTOM is not set
381# CONFIG_SGI_IOC4 is not set 364# CONFIG_SGI_IOC4 is not set
382# CONFIG_TIFM_CORE is not set 365# CONFIG_TIFM_CORE is not set
383 366# CONFIG_BLINK is not set
384#
385# ATA/ATAPI/MFM/RLL support
386#
387# CONFIG_IDE is not set 367# CONFIG_IDE is not set
388 368
389# 369#
@@ -460,11 +440,8 @@ CONFIG_BLK_DEV_SD=y
460# CONFIG_SCSI_NSP32 is not set 440# CONFIG_SCSI_NSP32 is not set
461# CONFIG_SCSI_DEBUG is not set 441# CONFIG_SCSI_DEBUG is not set
462# CONFIG_SCSI_SRP is not set 442# CONFIG_SCSI_SRP is not set
463
464#
465# Serial ATA (prod) and Parallel ATA (experimental) drivers
466#
467CONFIG_ATA=y 443CONFIG_ATA=y
444# CONFIG_ATA_NONSTANDARD is not set
468# CONFIG_SATA_AHCI is not set 445# CONFIG_SATA_AHCI is not set
469# CONFIG_SATA_SVW is not set 446# CONFIG_SATA_SVW is not set
470# CONFIG_ATA_PIIX is not set 447# CONFIG_ATA_PIIX is not set
@@ -480,10 +457,12 @@ CONFIG_SATA_MV=y
480# CONFIG_SATA_ULI is not set 457# CONFIG_SATA_ULI is not set
481# CONFIG_SATA_VIA is not set 458# CONFIG_SATA_VIA is not set
482# CONFIG_SATA_VITESSE is not set 459# CONFIG_SATA_VITESSE is not set
460# CONFIG_SATA_INIC162X is not set
483# CONFIG_PATA_ALI is not set 461# CONFIG_PATA_ALI is not set
484# CONFIG_PATA_AMD is not set 462# CONFIG_PATA_AMD is not set
485# CONFIG_PATA_ARTOP is not set 463# CONFIG_PATA_ARTOP is not set
486# CONFIG_PATA_ATIIXP is not set 464# CONFIG_PATA_ATIIXP is not set
465# CONFIG_PATA_CMD640_PCI is not set
487# CONFIG_PATA_CMD64X is not set 466# CONFIG_PATA_CMD64X is not set
488# CONFIG_PATA_CS5520 is not set 467# CONFIG_PATA_CS5520 is not set
489# CONFIG_PATA_CS5530 is not set 468# CONFIG_PATA_CS5530 is not set
@@ -495,6 +474,7 @@ CONFIG_SATA_MV=y
495# CONFIG_PATA_HPT3X2N is not set 474# CONFIG_PATA_HPT3X2N is not set
496# CONFIG_PATA_HPT3X3 is not set 475# CONFIG_PATA_HPT3X3 is not set
497# CONFIG_PATA_IT821X is not set 476# CONFIG_PATA_IT821X is not set
477# CONFIG_PATA_IT8213 is not set
498# CONFIG_PATA_JMICRON is not set 478# CONFIG_PATA_JMICRON is not set
499# CONFIG_PATA_TRIFLEX is not set 479# CONFIG_PATA_TRIFLEX is not set
500# CONFIG_PATA_MARVELL is not set 480# CONFIG_PATA_MARVELL is not set
@@ -532,18 +512,14 @@ CONFIG_SATA_MV=y
532# 512#
533# IEEE 1394 (FireWire) support 513# IEEE 1394 (FireWire) support
534# 514#
515# CONFIG_FIREWIRE is not set
535# CONFIG_IEEE1394 is not set 516# CONFIG_IEEE1394 is not set
536 517
537# 518#
538# I2O device support 519# I2O device support
539# 520#
540# CONFIG_I2O is not set 521# CONFIG_I2O is not set
541 522# CONFIG_MACINTOSH_DRIVERS is not set
542#
543# Macintosh device drivers
544#
545# CONFIG_MAC_EMUMOUSEBTN is not set
546# CONFIG_WINDFARM is not set
547 523
548# 524#
549# Network device support 525# Network device support
@@ -553,15 +529,7 @@ CONFIG_NETDEVICES=y
553# CONFIG_BONDING is not set 529# CONFIG_BONDING is not set
554# CONFIG_EQUALIZER is not set 530# CONFIG_EQUALIZER is not set
555# CONFIG_TUN is not set 531# CONFIG_TUN is not set
556
557#
558# ARCnet devices
559#
560# CONFIG_ARCNET is not set 532# CONFIG_ARCNET is not set
561
562#
563# PHY device support
564#
565CONFIG_PHYLIB=y 533CONFIG_PHYLIB=y
566 534
567# 535#
@@ -615,10 +583,8 @@ CONFIG_8139TOO=y
615# CONFIG_SUNDANCE is not set 583# CONFIG_SUNDANCE is not set
616# CONFIG_TLAN is not set 584# CONFIG_TLAN is not set
617# CONFIG_VIA_RHINE is not set 585# CONFIG_VIA_RHINE is not set
618 586# CONFIG_SC92031 is not set
619# 587CONFIG_NETDEV_1000=y
620# Ethernet (1000 Mbit)
621#
622# CONFIG_ACENIC is not set 588# CONFIG_ACENIC is not set
623# CONFIG_DL2K is not set 589# CONFIG_DL2K is not set
624# CONFIG_E1000 is not set 590# CONFIG_E1000 is not set
@@ -635,29 +601,22 @@ CONFIG_8139TOO=y
635# CONFIG_BNX2 is not set 601# CONFIG_BNX2 is not set
636CONFIG_TSI108_ETH=y 602CONFIG_TSI108_ETH=y
637# CONFIG_QLA3XXX is not set 603# CONFIG_QLA3XXX is not set
638 604# CONFIG_ATL1 is not set
639# 605CONFIG_NETDEV_10000=y
640# Ethernet (10000 Mbit)
641#
642# CONFIG_CHELSIO_T1 is not set 606# CONFIG_CHELSIO_T1 is not set
607# CONFIG_CHELSIO_T3 is not set
643# CONFIG_IXGB is not set 608# CONFIG_IXGB is not set
644# CONFIG_S2IO is not set 609# CONFIG_S2IO is not set
645# CONFIG_MYRI10GE is not set 610# CONFIG_MYRI10GE is not set
646# CONFIG_NETXEN_NIC is not set 611# CONFIG_NETXEN_NIC is not set
647 612# CONFIG_MLX4_CORE is not set
648#
649# Token Ring devices
650#
651# CONFIG_TR is not set 613# CONFIG_TR is not set
652 614
653# 615#
654# Wireless LAN (non-hamradio) 616# Wireless LAN
655#
656# CONFIG_NET_RADIO is not set
657
658#
659# Wan interfaces
660# 617#
618# CONFIG_WLAN_PRE80211 is not set
619# CONFIG_WLAN_80211 is not set
661# CONFIG_WAN is not set 620# CONFIG_WAN is not set
662# CONFIG_FDDI is not set 621# CONFIG_FDDI is not set
663# CONFIG_HIPPI is not set 622# CONFIG_HIPPI is not set
@@ -684,6 +643,7 @@ CONFIG_TSI108_ETH=y
684# 643#
685CONFIG_INPUT=y 644CONFIG_INPUT=y
686# CONFIG_INPUT_FF_MEMLESS is not set 645# CONFIG_INPUT_FF_MEMLESS is not set
646# CONFIG_INPUT_POLLDEV is not set
687 647
688# 648#
689# Userland interfaces 649# Userland interfaces
@@ -700,6 +660,7 @@ CONFIG_INPUT=y
700# CONFIG_INPUT_KEYBOARD is not set 660# CONFIG_INPUT_KEYBOARD is not set
701# CONFIG_INPUT_MOUSE is not set 661# CONFIG_INPUT_MOUSE is not set
702# CONFIG_INPUT_JOYSTICK is not set 662# CONFIG_INPUT_JOYSTICK is not set
663# CONFIG_INPUT_TABLET is not set
703# CONFIG_INPUT_TOUCHSCREEN is not set 664# CONFIG_INPUT_TOUCHSCREEN is not set
704# CONFIG_INPUT_MISC is not set 665# CONFIG_INPUT_MISC is not set
705 666
@@ -732,6 +693,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4
732CONFIG_SERIAL_CORE=y 693CONFIG_SERIAL_CORE=y
733CONFIG_SERIAL_CORE_CONSOLE=y 694CONFIG_SERIAL_CORE_CONSOLE=y
734# CONFIG_SERIAL_JSM is not set 695# CONFIG_SERIAL_JSM is not set
696# CONFIG_SERIAL_OF_PLATFORM is not set
735CONFIG_UNIX98_PTYS=y 697CONFIG_UNIX98_PTYS=y
736CONFIG_LEGACY_PTYS=y 698CONFIG_LEGACY_PTYS=y
737CONFIG_LEGACY_PTY_COUNT=256 699CONFIG_LEGACY_PTY_COUNT=256
@@ -740,16 +702,11 @@ CONFIG_LEGACY_PTY_COUNT=256
740# IPMI 702# IPMI
741# 703#
742# CONFIG_IPMI_HANDLER is not set 704# CONFIG_IPMI_HANDLER is not set
743
744#
745# Watchdog Cards
746#
747# CONFIG_WATCHDOG is not set 705# CONFIG_WATCHDOG is not set
748# CONFIG_HW_RANDOM is not set 706# CONFIG_HW_RANDOM is not set
749# CONFIG_NVRAM is not set 707# CONFIG_NVRAM is not set
750CONFIG_GEN_RTC=y 708CONFIG_GEN_RTC=y
751# CONFIG_GEN_RTC_X is not set 709# CONFIG_GEN_RTC_X is not set
752# CONFIG_DTLK is not set
753# CONFIG_R3964 is not set 710# CONFIG_R3964 is not set
754# CONFIG_APPLICOM is not set 711# CONFIG_APPLICOM is not set
755# CONFIG_AGP is not set 712# CONFIG_AGP is not set
@@ -760,10 +717,7 @@ CONFIG_GEN_RTC=y
760# TPM devices 717# TPM devices
761# 718#
762# CONFIG_TCG_TPM is not set 719# CONFIG_TCG_TPM is not set
763 720CONFIG_DEVPORT=y
764#
765# I2C support
766#
767# CONFIG_I2C is not set 721# CONFIG_I2C is not set
768 722
769# 723#
@@ -776,35 +730,41 @@ CONFIG_GEN_RTC=y
776# Dallas's 1-wire bus 730# Dallas's 1-wire bus
777# 731#
778# CONFIG_W1 is not set 732# CONFIG_W1 is not set
779
780#
781# Hardware Monitoring support
782#
783CONFIG_HWMON=y 733CONFIG_HWMON=y
784# CONFIG_HWMON_VID is not set 734# CONFIG_HWMON_VID is not set
785# CONFIG_SENSORS_ABITUGURU is not set 735# CONFIG_SENSORS_ABITUGURU is not set
786# CONFIG_SENSORS_F71805F is not set 736# CONFIG_SENSORS_F71805F is not set
787# CONFIG_SENSORS_PC87427 is not set 737# CONFIG_SENSORS_PC87427 is not set
738# CONFIG_SENSORS_SMSC47M1 is not set
739# CONFIG_SENSORS_SMSC47B397 is not set
788# CONFIG_SENSORS_VT1211 is not set 740# CONFIG_SENSORS_VT1211 is not set
741# CONFIG_SENSORS_W83627HF is not set
789# CONFIG_HWMON_DEBUG_CHIP is not set 742# CONFIG_HWMON_DEBUG_CHIP is not set
790 743
791# 744#
745# Multifunction device drivers
746#
747# CONFIG_MFD_SM501 is not set
748
749#
792# Multimedia devices 750# Multimedia devices
793# 751#
794# CONFIG_VIDEO_DEV is not set 752# CONFIG_VIDEO_DEV is not set
753# CONFIG_DVB_CORE is not set
754CONFIG_DAB=y
795 755
796# 756#
797# Digital Video Broadcasting Devices 757# Graphics support
798# 758#
799# CONFIG_DVB is not set 759# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
800 760
801# 761#
802# Graphics support 762# Display device support
803# 763#
804CONFIG_FIRMWARE_EDID=y 764# CONFIG_DISPLAY_SUPPORT is not set
765# CONFIG_VGASTATE is not set
805# CONFIG_FB is not set 766# CONFIG_FB is not set
806# CONFIG_FB_IBM_GXT4500 is not set 767# CONFIG_FB_IBM_GXT4500 is not set
807# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
808 768
809# 769#
810# Sound 770# Sound
@@ -815,6 +775,7 @@ CONFIG_FIRMWARE_EDID=y
815# HID Devices 775# HID Devices
816# 776#
817CONFIG_HID=y 777CONFIG_HID=y
778# CONFIG_HID_DEBUG is not set
818 779
819# 780#
820# USB support 781# USB support
@@ -832,10 +793,6 @@ CONFIG_USB_ARCH_HAS_EHCI=y
832# USB Gadget Support 793# USB Gadget Support
833# 794#
834# CONFIG_USB_GADGET is not set 795# CONFIG_USB_GADGET is not set
835
836#
837# MMC/SD Card support
838#
839# CONFIG_MMC is not set 796# CONFIG_MMC is not set
840 797
841# 798#
@@ -879,10 +836,6 @@ CONFIG_USB_ARCH_HAS_EHCI=y
879# 836#
880 837
881# 838#
882# Virtualization
883#
884
885#
886# File systems 839# File systems
887# 840#
888CONFIG_EXT2_FS=y 841CONFIG_EXT2_FS=y
@@ -967,6 +920,7 @@ CONFIG_ROOT_NFS=y
967CONFIG_LOCKD=y 920CONFIG_LOCKD=y
968CONFIG_NFS_COMMON=y 921CONFIG_NFS_COMMON=y
969CONFIG_SUNRPC=y 922CONFIG_SUNRPC=y
923# CONFIG_SUNRPC_BIND34 is not set
970# CONFIG_RPCSEC_GSS_KRB5 is not set 924# CONFIG_RPCSEC_GSS_KRB5 is not set
971# CONFIG_RPCSEC_GSS_SPKM3 is not set 925# CONFIG_RPCSEC_GSS_SPKM3 is not set
972# CONFIG_SMB_FS is not set 926# CONFIG_SMB_FS is not set
@@ -996,6 +950,7 @@ CONFIG_MSDOS_PARTITION=y
996# CONFIG_SUN_PARTITION is not set 950# CONFIG_SUN_PARTITION is not set
997# CONFIG_KARMA_PARTITION is not set 951# CONFIG_KARMA_PARTITION is not set
998# CONFIG_EFI_PARTITION is not set 952# CONFIG_EFI_PARTITION is not set
953# CONFIG_SYSV68_PARTITION is not set
999 954
1000# 955#
1001# Native Language Support 956# Native Language Support
@@ -1006,6 +961,7 @@ CONFIG_MSDOS_PARTITION=y
1006# Distributed Lock Manager 961# Distributed Lock Manager
1007# 962#
1008# CONFIG_DLM is not set 963# CONFIG_DLM is not set
964# CONFIG_UCC_SLOW is not set
1009 965
1010# 966#
1011# Library routines 967# Library routines
@@ -1013,10 +969,13 @@ CONFIG_MSDOS_PARTITION=y
1013CONFIG_BITREVERSE=y 969CONFIG_BITREVERSE=y
1014# CONFIG_CRC_CCITT is not set 970# CONFIG_CRC_CCITT is not set
1015# CONFIG_CRC16 is not set 971# CONFIG_CRC16 is not set
972# CONFIG_CRC_ITU_T is not set
1016CONFIG_CRC32=y 973CONFIG_CRC32=y
1017# CONFIG_LIBCRC32C is not set 974# CONFIG_LIBCRC32C is not set
1018CONFIG_PLIST=y 975CONFIG_PLIST=y
1019CONFIG_IOMAP_COPY=y 976CONFIG_HAS_IOMEM=y
977CONFIG_HAS_IOPORT=y
978CONFIG_HAS_DMA=y
1020 979
1021# 980#
1022# Instrumentation Support 981# Instrumentation Support
@@ -1033,7 +992,6 @@ CONFIG_ENABLE_MUST_CHECK=y
1033# CONFIG_DEBUG_FS is not set 992# CONFIG_DEBUG_FS is not set
1034# CONFIG_HEADERS_CHECK is not set 993# CONFIG_HEADERS_CHECK is not set
1035# CONFIG_DEBUG_KERNEL is not set 994# CONFIG_DEBUG_KERNEL is not set
1036CONFIG_LOG_BUF_SHIFT=14
1037# CONFIG_DEBUG_BUGVERBOSE is not set 995# CONFIG_DEBUG_BUGVERBOSE is not set
1038# CONFIG_BOOTX_TEXT is not set 996# CONFIG_BOOTX_TEXT is not set
1039# CONFIG_PPC_EARLY_DEBUG is not set 997# CONFIG_PPC_EARLY_DEBUG is not set
diff --git a/arch/powerpc/configs/mpc8272_ads_defconfig b/arch/powerpc/configs/mpc8272_ads_defconfig
index 2af45025082f..4a429294e4da 100644
--- a/arch/powerpc/configs/mpc8272_ads_defconfig
+++ b/arch/powerpc/configs/mpc8272_ads_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.17-rc5 3# Linux kernel version: 2.6.22-rc7
4# Fri Jul 14 20:36:35 2006 4# Sun Jul 1 23:56:55 2007
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7CONFIG_PPC32=y 7CONFIG_PPC32=y
@@ -10,6 +10,7 @@ CONFIG_MMU=y
10CONFIG_GENERIC_HARDIRQS=y 10CONFIG_GENERIC_HARDIRQS=y
11CONFIG_IRQ_PER_CPU=y 11CONFIG_IRQ_PER_CPU=y
12CONFIG_RWSEM_XCHGADD_ALGORITHM=y 12CONFIG_RWSEM_XCHGADD_ALGORITHM=y
13CONFIG_ARCH_HAS_ILOG2_U32=y
13CONFIG_GENERIC_HWEIGHT=y 14CONFIG_GENERIC_HWEIGHT=y
14CONFIG_GENERIC_CALIBRATE_DELAY=y 15CONFIG_GENERIC_CALIBRATE_DELAY=y
15CONFIG_GENERIC_FIND_NEXT_BIT=y 16CONFIG_GENERIC_FIND_NEXT_BIT=y
@@ -21,25 +22,31 @@ CONFIG_ARCH_MAY_HAVE_PC_FDC=y
21CONFIG_PPC_OF=y 22CONFIG_PPC_OF=y
22# CONFIG_PPC_UDBG_16550 is not set 23# CONFIG_PPC_UDBG_16550 is not set
23# CONFIG_GENERIC_TBSYNC is not set 24# CONFIG_GENERIC_TBSYNC is not set
24# CONFIG_DEFAULT_UIMAGE is not set 25CONFIG_AUDIT_ARCH=y
26CONFIG_GENERIC_BUG=y
27CONFIG_DEFAULT_UIMAGE=y
25 28
26# 29#
27# Processor support 30# Processor support
28# 31#
29# CONFIG_CLASSIC32 is not set 32# CONFIG_CLASSIC32 is not set
30# CONFIG_PPC_52xx is not set
31CONFIG_PPC_82xx=y 33CONFIG_PPC_82xx=y
32# CONFIG_PPC_83xx is not set 34# CONFIG_PPC_83xx is not set
33# CONFIG_PPC_85xx is not set 35# CONFIG_PPC_85xx is not set
36# CONFIG_PPC_86xx is not set
37# CONFIG_PPC_8xx is not set
34# CONFIG_40x is not set 38# CONFIG_40x is not set
35# CONFIG_44x is not set 39# CONFIG_44x is not set
36# CONFIG_8xx is not set
37# CONFIG_E200 is not set 40# CONFIG_E200 is not set
38CONFIG_6xx=y 41CONFIG_6xx=y
39CONFIG_PPC_FPU=y 42CONFIG_PPC_FPU=y
43# CONFIG_PPC_DCR_NATIVE is not set
44# CONFIG_PPC_DCR_MMIO is not set
40CONFIG_PPC_STD_MMU=y 45CONFIG_PPC_STD_MMU=y
41CONFIG_PPC_STD_MMU_32=y 46CONFIG_PPC_STD_MMU_32=y
47# CONFIG_PPC_MM_SLICES is not set
42# CONFIG_SMP is not set 48# CONFIG_SMP is not set
49CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
43 50
44# 51#
45# Code maturity level options 52# Code maturity level options
@@ -55,14 +62,21 @@ CONFIG_LOCALVERSION="powerpc8272"
55CONFIG_LOCALVERSION_AUTO=y 62CONFIG_LOCALVERSION_AUTO=y
56CONFIG_SWAP=y 63CONFIG_SWAP=y
57CONFIG_SYSVIPC=y 64CONFIG_SYSVIPC=y
65# CONFIG_IPC_NS is not set
66CONFIG_SYSVIPC_SYSCTL=y
58# CONFIG_BSD_PROCESS_ACCT is not set 67# CONFIG_BSD_PROCESS_ACCT is not set
59CONFIG_SYSCTL=y 68# CONFIG_TASKSTATS is not set
69# CONFIG_UTS_NS is not set
60# CONFIG_AUDIT is not set 70# CONFIG_AUDIT is not set
61CONFIG_IKCONFIG=y 71CONFIG_IKCONFIG=y
62CONFIG_IKCONFIG_PROC=y 72CONFIG_IKCONFIG_PROC=y
73CONFIG_LOG_BUF_SHIFT=14
74CONFIG_SYSFS_DEPRECATED=y
63# CONFIG_RELAY is not set 75# CONFIG_RELAY is not set
64CONFIG_INITRAMFS_SOURCE="" 76# CONFIG_BLK_DEV_INITRD is not set
77CONFIG_SYSCTL=y
65CONFIG_EMBEDDED=y 78CONFIG_EMBEDDED=y
79CONFIG_SYSCTL_SYSCALL=y
66CONFIG_KALLSYMS=y 80CONFIG_KALLSYMS=y
67CONFIG_KALLSYMS_ALL=y 81CONFIG_KALLSYMS_ALL=y
68CONFIG_KALLSYMS_EXTRA_PASS=y 82CONFIG_KALLSYMS_EXTRA_PASS=y
@@ -72,12 +86,19 @@ CONFIG_BUG=y
72CONFIG_ELF_CORE=y 86CONFIG_ELF_CORE=y
73CONFIG_BASE_FULL=y 87CONFIG_BASE_FULL=y
74CONFIG_FUTEX=y 88CONFIG_FUTEX=y
89CONFIG_ANON_INODES=y
75CONFIG_EPOLL=y 90CONFIG_EPOLL=y
91CONFIG_SIGNALFD=y
92CONFIG_TIMERFD=y
93CONFIG_EVENTFD=y
76CONFIG_SHMEM=y 94CONFIG_SHMEM=y
95CONFIG_VM_EVENT_COUNTERS=y
77CONFIG_SLAB=y 96CONFIG_SLAB=y
97# CONFIG_SLUB is not set
98# CONFIG_SLOB is not set
99CONFIG_RT_MUTEXES=y
78# CONFIG_TINY_SHMEM is not set 100# CONFIG_TINY_SHMEM is not set
79CONFIG_BASE_SMALL=0 101CONFIG_BASE_SMALL=0
80# CONFIG_SLOB is not set
81 102
82# 103#
83# Loadable module support 104# Loadable module support
@@ -87,6 +108,7 @@ CONFIG_BASE_SMALL=0
87# 108#
88# Block layer 109# Block layer
89# 110#
111CONFIG_BLOCK=y
90# CONFIG_LBD is not set 112# CONFIG_LBD is not set
91# CONFIG_BLK_DEV_IO_TRACE is not set 113# CONFIG_BLK_DEV_IO_TRACE is not set
92# CONFIG_LSF is not set 114# CONFIG_LSF is not set
@@ -103,17 +125,29 @@ CONFIG_DEFAULT_AS=y
103# CONFIG_DEFAULT_CFQ is not set 125# CONFIG_DEFAULT_CFQ is not set
104# CONFIG_DEFAULT_NOOP is not set 126# CONFIG_DEFAULT_NOOP is not set
105CONFIG_DEFAULT_IOSCHED="anticipatory" 127CONFIG_DEFAULT_IOSCHED="anticipatory"
106CONFIG_PQ2ADS=y
107CONFIG_8260=y
108CONFIG_8272=y
109CONFIG_CPM2=y
110# CONFIG_WANT_EARLY_SERIAL is not set
111CONFIG_EMBEDDEDBOOT=y
112 128
113# 129#
114# Platform support 130# Platform support
115# 131#
116CONFIG_ADS8272=y 132# CONFIG_PPC_MPC52xx is not set
133# CONFIG_PPC_MPC5200 is not set
134# CONFIG_PPC_CELL is not set
135# CONFIG_PPC_CELL_NATIVE is not set
136CONFIG_MPC82xx_ADS=y
137CONFIG_PQ2ADS=y
138CONFIG_8260=y
139CONFIG_8272=y
140# CONFIG_MPIC is not set
141# CONFIG_MPIC_WEIRD is not set
142# CONFIG_PPC_I8259 is not set
143# CONFIG_PPC_RTAS is not set
144# CONFIG_MMIO_NVRAM is not set
145# CONFIG_PPC_MPC106 is not set
146# CONFIG_PPC_970_NAP is not set
147# CONFIG_PPC_INDIRECT_IO is not set
148# CONFIG_GENERIC_IOMAP is not set
149# CONFIG_CPU_FREQ is not set
150CONFIG_CPM2=y
117 151
118# 152#
119# Kernel options 153# Kernel options
@@ -121,6 +155,7 @@ CONFIG_ADS8272=y
121# CONFIG_HIGHMEM is not set 155# CONFIG_HIGHMEM is not set
122# CONFIG_HZ_100 is not set 156# CONFIG_HZ_100 is not set
123CONFIG_HZ_250=y 157CONFIG_HZ_250=y
158# CONFIG_HZ_300 is not set
124# CONFIG_HZ_1000 is not set 159# CONFIG_HZ_1000 is not set
125CONFIG_HZ=250 160CONFIG_HZ=250
126CONFIG_PREEMPT_NONE=y 161CONFIG_PREEMPT_NONE=y
@@ -128,26 +163,30 @@ CONFIG_PREEMPT_NONE=y
128# CONFIG_PREEMPT is not set 163# CONFIG_PREEMPT is not set
129CONFIG_BINFMT_ELF=y 164CONFIG_BINFMT_ELF=y
130CONFIG_BINFMT_MISC=y 165CONFIG_BINFMT_MISC=y
131# CONFIG_PC_KEYBOARD is not set 166CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
132CONFIG_ARCH_FLATMEM_ENABLE=y 167CONFIG_ARCH_FLATMEM_ENABLE=y
168CONFIG_ARCH_POPULATES_NODE_MAP=y
133CONFIG_FLATMEM=y 169CONFIG_FLATMEM=y
134CONFIG_FLAT_NODE_MEM_MAP=y 170CONFIG_FLAT_NODE_MEM_MAP=y
135# CONFIG_SPARSEMEM_STATIC is not set 171# CONFIG_SPARSEMEM_STATIC is not set
136CONFIG_SPLIT_PTLOCK_CPUS=4 172CONFIG_SPLIT_PTLOCK_CPUS=4
173# CONFIG_RESOURCES_64BIT is not set
174CONFIG_ZONE_DMA_FLAG=1
137CONFIG_PROC_DEVICETREE=y 175CONFIG_PROC_DEVICETREE=y
138# CONFIG_CMDLINE_BOOL is not set 176# CONFIG_CMDLINE_BOOL is not set
139# CONFIG_PM is not set 177# CONFIG_PM is not set
140# CONFIG_SOFTWARE_SUSPEND is not set
141CONFIG_SECCOMP=y 178CONFIG_SECCOMP=y
179# CONFIG_WANT_DEVICE_TREE is not set
142CONFIG_ISA_DMA_API=y 180CONFIG_ISA_DMA_API=y
143 181
144# 182#
145# Bus options 183# Bus options
146# 184#
147# CONFIG_PPC_I8259 is not set 185CONFIG_ZONE_DMA=y
148CONFIG_FSL_SOC=y 186CONFIG_FSL_SOC=y
149# CONFIG_PCI is not set 187# CONFIG_PCI is not set
150# CONFIG_PCI_DOMAINS is not set 188# CONFIG_PCI_DOMAINS is not set
189# CONFIG_ARCH_SUPPORTS_MSI is not set
151 190
152# 191#
153# PCCARD (PCMCIA/CardBus) support 192# PCCARD (PCMCIA/CardBus) support
@@ -155,10 +194,6 @@ CONFIG_FSL_SOC=y
155# CONFIG_PCCARD is not set 194# CONFIG_PCCARD is not set
156 195
157# 196#
158# PCI Hotplug Support
159#
160
161#
162# Advanced setup 197# Advanced setup
163# 198#
164# CONFIG_ADVANCED_OPTIONS is not set 199# CONFIG_ADVANCED_OPTIONS is not set
@@ -180,10 +215,11 @@ CONFIG_NET=y
180# 215#
181# Networking options 216# Networking options
182# 217#
183# CONFIG_NETDEBUG is not set
184CONFIG_PACKET=y 218CONFIG_PACKET=y
185# CONFIG_PACKET_MMAP is not set 219# CONFIG_PACKET_MMAP is not set
186CONFIG_UNIX=y 220CONFIG_UNIX=y
221CONFIG_XFRM=y
222# CONFIG_XFRM_USER is not set
187# CONFIG_NET_KEY is not set 223# CONFIG_NET_KEY is not set
188CONFIG_INET=y 224CONFIG_INET=y
189CONFIG_IP_MULTICAST=y 225CONFIG_IP_MULTICAST=y
@@ -201,15 +237,15 @@ CONFIG_SYN_COOKIES=y
201# CONFIG_INET_ESP is not set 237# CONFIG_INET_ESP is not set
202# CONFIG_INET_IPCOMP is not set 238# CONFIG_INET_IPCOMP is not set
203# CONFIG_INET_XFRM_TUNNEL is not set 239# CONFIG_INET_XFRM_TUNNEL is not set
204# CONFIG_INET_TUNNEL is not set 240CONFIG_INET_TUNNEL=y
241CONFIG_INET_XFRM_MODE_TRANSPORT=y
242CONFIG_INET_XFRM_MODE_TUNNEL=y
243CONFIG_INET_XFRM_MODE_BEET=y
205CONFIG_INET_DIAG=y 244CONFIG_INET_DIAG=y
206CONFIG_INET_TCP_DIAG=y 245CONFIG_INET_TCP_DIAG=y
207# CONFIG_TCP_CONG_ADVANCED is not set 246# CONFIG_TCP_CONG_ADVANCED is not set
208CONFIG_TCP_CONG_BIC=y 247CONFIG_TCP_CONG_CUBIC=y
209 248CONFIG_DEFAULT_TCP_CONG="cubic"
210#
211# IP: Virtual Server Configuration
212#
213# CONFIG_IP_VS is not set 249# CONFIG_IP_VS is not set
214CONFIG_IPV6=y 250CONFIG_IPV6=y
215# CONFIG_IPV6_PRIVACY is not set 251# CONFIG_IPV6_PRIVACY is not set
@@ -219,7 +255,12 @@ CONFIG_IPV6=y
219# CONFIG_INET6_IPCOMP is not set 255# CONFIG_INET6_IPCOMP is not set
220# CONFIG_INET6_XFRM_TUNNEL is not set 256# CONFIG_INET6_XFRM_TUNNEL is not set
221# CONFIG_INET6_TUNNEL is not set 257# CONFIG_INET6_TUNNEL is not set
258CONFIG_INET6_XFRM_MODE_TRANSPORT=y
259CONFIG_INET6_XFRM_MODE_TUNNEL=y
260CONFIG_INET6_XFRM_MODE_BEET=y
261CONFIG_IPV6_SIT=y
222# CONFIG_IPV6_TUNNEL is not set 262# CONFIG_IPV6_TUNNEL is not set
263# CONFIG_NETWORK_SECMARK is not set
223CONFIG_NETFILTER=y 264CONFIG_NETFILTER=y
224# CONFIG_NETFILTER_DEBUG is not set 265# CONFIG_NETFILTER_DEBUG is not set
225 266
@@ -227,13 +268,16 @@ CONFIG_NETFILTER=y
227# Core Netfilter Configuration 268# Core Netfilter Configuration
228# 269#
229# CONFIG_NETFILTER_NETLINK is not set 270# CONFIG_NETFILTER_NETLINK is not set
271# CONFIG_NF_CONNTRACK_ENABLED is not set
272# CONFIG_NF_CONNTRACK is not set
230# CONFIG_NETFILTER_XTABLES is not set 273# CONFIG_NETFILTER_XTABLES is not set
231 274
232# 275#
233# IP: Netfilter Configuration 276# IP: Netfilter Configuration
234# 277#
235# CONFIG_IP_NF_CONNTRACK is not set
236# CONFIG_IP_NF_QUEUE is not set 278# CONFIG_IP_NF_QUEUE is not set
279# CONFIG_IP_NF_IPTABLES is not set
280# CONFIG_IP_NF_ARPTABLES is not set
237# CONFIG_BRIDGE is not set 281# CONFIG_BRIDGE is not set
238# CONFIG_VLAN_8021Q is not set 282# CONFIG_VLAN_8021Q is not set
239# CONFIG_DECNET is not set 283# CONFIG_DECNET is not set
@@ -253,7 +297,14 @@ CONFIG_NETFILTER=y
253# CONFIG_HAMRADIO is not set 297# CONFIG_HAMRADIO is not set
254# CONFIG_IRDA is not set 298# CONFIG_IRDA is not set
255# CONFIG_BT is not set 299# CONFIG_BT is not set
300
301#
302# Wireless
303#
304# CONFIG_CFG80211 is not set
305# CONFIG_WIRELESS_EXT is not set
256# CONFIG_IEEE80211 is not set 306# CONFIG_IEEE80211 is not set
307# CONFIG_RFKILL is not set
257 308
258# 309#
259# Device Drivers 310# Device Drivers
@@ -266,15 +317,13 @@ CONFIG_STANDALONE=y
266CONFIG_PREVENT_FIRMWARE_BUILD=y 317CONFIG_PREVENT_FIRMWARE_BUILD=y
267# CONFIG_FW_LOADER is not set 318# CONFIG_FW_LOADER is not set
268# CONFIG_DEBUG_DRIVER is not set 319# CONFIG_DEBUG_DRIVER is not set
320# CONFIG_DEBUG_DEVRES is not set
321# CONFIG_SYS_HYPERVISOR is not set
269 322
270# 323#
271# Connector - unified userspace <-> kernelspace linker 324# Connector - unified userspace <-> kernelspace linker
272# 325#
273# CONFIG_CONNECTOR is not set 326# CONFIG_CONNECTOR is not set
274
275#
276# Memory Technology Devices (MTD)
277#
278# CONFIG_MTD is not set 327# CONFIG_MTD is not set
279 328
280# 329#
@@ -285,6 +334,7 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
285# 334#
286# Plug and Play support 335# Plug and Play support
287# 336#
337# CONFIG_PNPACPI is not set
288 338
289# 339#
290# Block devices 340# Block devices
@@ -295,14 +345,15 @@ CONFIG_BLK_DEV_LOOP=y
295# CONFIG_BLK_DEV_CRYPTOLOOP is not set 345# CONFIG_BLK_DEV_CRYPTOLOOP is not set
296# CONFIG_BLK_DEV_NBD is not set 346# CONFIG_BLK_DEV_NBD is not set
297# CONFIG_BLK_DEV_RAM is not set 347# CONFIG_BLK_DEV_RAM is not set
298# CONFIG_BLK_DEV_INITRD is not set
299# CONFIG_CDROM_PKTCDVD is not set 348# CONFIG_CDROM_PKTCDVD is not set
300# CONFIG_ATA_OVER_ETH is not set 349# CONFIG_ATA_OVER_ETH is not set
301 350
302# 351#
303# ATA/ATAPI/MFM/RLL support 352# Misc devices
304# 353#
354# CONFIG_BLINK is not set
305CONFIG_IDE=y 355CONFIG_IDE=y
356CONFIG_IDE_MAX_HWIFS=4
306CONFIG_BLK_DEV_IDE=y 357CONFIG_BLK_DEV_IDE=y
307 358
308# 359#
@@ -314,14 +365,15 @@ CONFIG_BLK_DEV_IDEDISK=y
314# CONFIG_BLK_DEV_IDECD is not set 365# CONFIG_BLK_DEV_IDECD is not set
315# CONFIG_BLK_DEV_IDEFLOPPY is not set 366# CONFIG_BLK_DEV_IDEFLOPPY is not set
316# CONFIG_IDE_TASK_IOCTL is not set 367# CONFIG_IDE_TASK_IOCTL is not set
368CONFIG_IDE_PROC_FS=y
317 369
318# 370#
319# IDE chipset support/bugfixes 371# IDE chipset support/bugfixes
320# 372#
321# CONFIG_IDE_GENERIC is not set 373# CONFIG_IDE_GENERIC is not set
374# CONFIG_IDEPCI_PCIBUS_ORDER is not set
322# CONFIG_IDE_ARM is not set 375# CONFIG_IDE_ARM is not set
323# CONFIG_BLK_DEV_IDEDMA is not set 376# CONFIG_BLK_DEV_IDEDMA is not set
324# CONFIG_IDEDMA_AUTO is not set
325# CONFIG_BLK_DEV_HD is not set 377# CONFIG_BLK_DEV_HD is not set
326 378
327# 379#
@@ -329,29 +381,14 @@ CONFIG_BLK_DEV_IDEDISK=y
329# 381#
330# CONFIG_RAID_ATTRS is not set 382# CONFIG_RAID_ATTRS is not set
331# CONFIG_SCSI is not set 383# CONFIG_SCSI is not set
384# CONFIG_SCSI_NETLINK is not set
385# CONFIG_ATA is not set
332 386
333# 387#
334# Multi-device support (RAID and LVM) 388# Multi-device support (RAID and LVM)
335# 389#
336# CONFIG_MD is not set 390# CONFIG_MD is not set
337 391# CONFIG_MACINTOSH_DRIVERS is not set
338#
339# Fusion MPT device support
340#
341# CONFIG_FUSION is not set
342
343#
344# IEEE 1394 (FireWire) support
345#
346
347#
348# I2O device support
349#
350
351#
352# Macintosh device drivers
353#
354# CONFIG_WINDFARM is not set
355 392
356# 393#
357# Network device support 394# Network device support
@@ -361,10 +398,6 @@ CONFIG_NETDEVICES=y
361# CONFIG_BONDING is not set 398# CONFIG_BONDING is not set
362# CONFIG_EQUALIZER is not set 399# CONFIG_EQUALIZER is not set
363CONFIG_TUN=y 400CONFIG_TUN=y
364
365#
366# PHY device support
367#
368CONFIG_PHYLIB=y 401CONFIG_PHYLIB=y
369 402
370# 403#
@@ -375,6 +408,9 @@ CONFIG_DAVICOM_PHY=y
375# CONFIG_QSEMI_PHY is not set 408# CONFIG_QSEMI_PHY is not set
376# CONFIG_LXT_PHY is not set 409# CONFIG_LXT_PHY is not set
377# CONFIG_CICADA_PHY is not set 410# CONFIG_CICADA_PHY is not set
411# CONFIG_VITESSE_PHY is not set
412# CONFIG_SMSC_PHY is not set
413# CONFIG_BROADCOM_PHY is not set
378# CONFIG_FIXED_PHY is not set 414# CONFIG_FIXED_PHY is not set
379 415
380# 416#
@@ -385,27 +421,14 @@ CONFIG_MII=y
385CONFIG_FS_ENET=y 421CONFIG_FS_ENET=y
386# CONFIG_FS_ENET_HAS_SCC is not set 422# CONFIG_FS_ENET_HAS_SCC is not set
387CONFIG_FS_ENET_HAS_FCC=y 423CONFIG_FS_ENET_HAS_FCC=y
424CONFIG_NETDEV_1000=y
425CONFIG_NETDEV_10000=y
388 426
389# 427#
390# Ethernet (1000 Mbit) 428# Wireless LAN
391#
392
393#
394# Ethernet (10000 Mbit)
395#
396
397#
398# Token Ring devices
399#
400
401#
402# Wireless LAN (non-hamradio)
403#
404# CONFIG_NET_RADIO is not set
405
406#
407# Wan interfaces
408# 429#
430# CONFIG_WLAN_PRE80211 is not set
431# CONFIG_WLAN_80211 is not set
409# CONFIG_WAN is not set 432# CONFIG_WAN is not set
410CONFIG_PPP=y 433CONFIG_PPP=y
411# CONFIG_PPP_FILTER is not set 434# CONFIG_PPP_FILTER is not set
@@ -414,6 +437,7 @@ CONFIG_PPP_SYNC_TTY=y
414CONFIG_PPP_DEFLATE=y 437CONFIG_PPP_DEFLATE=y
415# CONFIG_PPP_BSDCOMP is not set 438# CONFIG_PPP_BSDCOMP is not set
416# CONFIG_SLIP is not set 439# CONFIG_SLIP is not set
440CONFIG_SLHC=y
417# CONFIG_NETPOLL is not set 441# CONFIG_NETPOLL is not set
418# CONFIG_NET_POLL_CONTROLLER is not set 442# CONFIG_NET_POLL_CONTROLLER is not set
419 443
@@ -431,6 +455,8 @@ CONFIG_PPP_DEFLATE=y
431# Input device support 455# Input device support
432# 456#
433CONFIG_INPUT=y 457CONFIG_INPUT=y
458# CONFIG_INPUT_FF_MEMLESS is not set
459# CONFIG_INPUT_POLLDEV is not set
434 460
435# 461#
436# Userland interfaces 462# Userland interfaces
@@ -453,11 +479,19 @@ CONFIG_KEYBOARD_ATKBD=y
453# CONFIG_KEYBOARD_LKKBD is not set 479# CONFIG_KEYBOARD_LKKBD is not set
454# CONFIG_KEYBOARD_XTKBD is not set 480# CONFIG_KEYBOARD_XTKBD is not set
455# CONFIG_KEYBOARD_NEWTON is not set 481# CONFIG_KEYBOARD_NEWTON is not set
482# CONFIG_KEYBOARD_STOWAWAY is not set
456CONFIG_INPUT_MOUSE=y 483CONFIG_INPUT_MOUSE=y
457CONFIG_MOUSE_PS2=y 484CONFIG_MOUSE_PS2=y
485CONFIG_MOUSE_PS2_ALPS=y
486CONFIG_MOUSE_PS2_LOGIPS2PP=y
487CONFIG_MOUSE_PS2_SYNAPTICS=y
488CONFIG_MOUSE_PS2_LIFEBOOK=y
489CONFIG_MOUSE_PS2_TRACKPOINT=y
490# CONFIG_MOUSE_PS2_TOUCHKIT is not set
458# CONFIG_MOUSE_SERIAL is not set 491# CONFIG_MOUSE_SERIAL is not set
459# CONFIG_MOUSE_VSXXXAA is not set 492# CONFIG_MOUSE_VSXXXAA is not set
460# CONFIG_INPUT_JOYSTICK is not set 493# CONFIG_INPUT_JOYSTICK is not set
494# CONFIG_INPUT_TABLET is not set
461# CONFIG_INPUT_TOUCHSCREEN is not set 495# CONFIG_INPUT_TOUCHSCREEN is not set
462# CONFIG_INPUT_MISC is not set 496# CONFIG_INPUT_MISC is not set
463 497
@@ -485,6 +519,7 @@ CONFIG_SERIO_LIBPS2=y
485# 519#
486# Non-8250 serial port support 520# Non-8250 serial port support
487# 521#
522# CONFIG_SERIAL_UARTLITE is not set
488CONFIG_SERIAL_CORE=y 523CONFIG_SERIAL_CORE=y
489CONFIG_SERIAL_CORE_CONSOLE=y 524CONFIG_SERIAL_CORE_CONSOLE=y
490CONFIG_SERIAL_CPM=y 525CONFIG_SERIAL_CPM=y
@@ -503,29 +538,16 @@ CONFIG_LEGACY_PTY_COUNT=256
503# IPMI 538# IPMI
504# 539#
505# CONFIG_IPMI_HANDLER is not set 540# CONFIG_IPMI_HANDLER is not set
506
507#
508# Watchdog Cards
509#
510# CONFIG_WATCHDOG is not set 541# CONFIG_WATCHDOG is not set
542CONFIG_HW_RANDOM=y
511# CONFIG_NVRAM is not set 543# CONFIG_NVRAM is not set
512# CONFIG_GEN_RTC is not set 544# CONFIG_GEN_RTC is not set
513# CONFIG_DTLK is not set
514# CONFIG_R3964 is not set 545# CONFIG_R3964 is not set
515
516#
517# Ftape, the floppy tape device driver
518#
519# CONFIG_AGP is not set
520# CONFIG_RAW_DRIVER is not set 546# CONFIG_RAW_DRIVER is not set
521 547
522# 548#
523# TPM devices 549# TPM devices
524# 550#
525
526#
527# I2C support
528#
529# CONFIG_I2C is not set 551# CONFIG_I2C is not set
530 552
531# 553#
@@ -538,32 +560,32 @@ CONFIG_LEGACY_PTY_COUNT=256
538# Dallas's 1-wire bus 560# Dallas's 1-wire bus
539# 561#
540# CONFIG_W1 is not set 562# CONFIG_W1 is not set
541
542#
543# Hardware Monitoring support
544#
545# CONFIG_HWMON is not set 563# CONFIG_HWMON is not set
546# CONFIG_HWMON_VID is not set
547 564
548# 565#
549# Misc devices 566# Multifunction device drivers
550# 567#
568# CONFIG_MFD_SM501 is not set
551 569
552# 570#
553# Multimedia devices 571# Multimedia devices
554# 572#
555# CONFIG_VIDEO_DEV is not set 573# CONFIG_VIDEO_DEV is not set
556CONFIG_VIDEO_V4L2=y 574# CONFIG_DVB_CORE is not set
575CONFIG_DAB=y
557 576
558# 577#
559# Digital Video Broadcasting Devices 578# Graphics support
560# 579#
561# CONFIG_DVB is not set 580# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
562 581
563# 582#
564# Graphics support 583# Display device support
565# 584#
585# CONFIG_DISPLAY_SUPPORT is not set
586# CONFIG_VGASTATE is not set
566# CONFIG_FB is not set 587# CONFIG_FB is not set
588# CONFIG_FB_IBM_GXT4500 is not set
567 589
568# 590#
569# Sound 591# Sound
@@ -571,6 +593,12 @@ CONFIG_VIDEO_V4L2=y
571# CONFIG_SOUND is not set 593# CONFIG_SOUND is not set
572 594
573# 595#
596# HID Devices
597#
598CONFIG_HID=y
599# CONFIG_HID_DEBUG is not set
600
601#
574# USB support 602# USB support
575# 603#
576# CONFIG_USB_ARCH_HAS_HCD is not set 604# CONFIG_USB_ARCH_HAS_HCD is not set
@@ -586,6 +614,7 @@ CONFIG_VIDEO_V4L2=y
586# 614#
587CONFIG_USB_GADGET=y 615CONFIG_USB_GADGET=y
588# CONFIG_USB_GADGET_DEBUG_FILES is not set 616# CONFIG_USB_GADGET_DEBUG_FILES is not set
617# CONFIG_USB_GADGET_FSL_USB2 is not set
589# CONFIG_USB_GADGET_NET2280 is not set 618# CONFIG_USB_GADGET_NET2280 is not set
590# CONFIG_USB_GADGET_PXA2XX is not set 619# CONFIG_USB_GADGET_PXA2XX is not set
591# CONFIG_USB_GADGET_GOKU is not set 620# CONFIG_USB_GADGET_GOKU is not set
@@ -594,10 +623,6 @@ CONFIG_USB_GADGET=y
594# CONFIG_USB_GADGET_AT91 is not set 623# CONFIG_USB_GADGET_AT91 is not set
595# CONFIG_USB_GADGET_DUMMY_HCD is not set 624# CONFIG_USB_GADGET_DUMMY_HCD is not set
596# CONFIG_USB_GADGET_DUALSPEED is not set 625# CONFIG_USB_GADGET_DUALSPEED is not set
597
598#
599# MMC/SD Card support
600#
601# CONFIG_MMC is not set 626# CONFIG_MMC is not set
602 627
603# 628#
@@ -626,6 +651,19 @@ CONFIG_USB_GADGET=y
626# 651#
627 652
628# 653#
654# DMA Engine support
655#
656# CONFIG_DMA_ENGINE is not set
657
658#
659# DMA Clients
660#
661
662#
663# DMA Devices
664#
665
666#
629# File systems 667# File systems
630# 668#
631CONFIG_EXT2_FS=y 669CONFIG_EXT2_FS=y
@@ -645,9 +683,12 @@ CONFIG_XFS_FS=y
645# CONFIG_XFS_QUOTA is not set 683# CONFIG_XFS_QUOTA is not set
646# CONFIG_XFS_SECURITY is not set 684# CONFIG_XFS_SECURITY is not set
647# CONFIG_XFS_POSIX_ACL is not set 685# CONFIG_XFS_POSIX_ACL is not set
686# CONFIG_XFS_RT is not set
687# CONFIG_OCFS2_FS is not set
648# CONFIG_MINIX_FS is not set 688# CONFIG_MINIX_FS is not set
649# CONFIG_ROMFS_FS is not set 689# CONFIG_ROMFS_FS is not set
650CONFIG_INOTIFY=y 690CONFIG_INOTIFY=y
691CONFIG_INOTIFY_USER=y
651# CONFIG_QUOTA is not set 692# CONFIG_QUOTA is not set
652CONFIG_DNOTIFY=y 693CONFIG_DNOTIFY=y
653# CONFIG_AUTOFS_FS is not set 694# CONFIG_AUTOFS_FS is not set
@@ -672,8 +713,10 @@ CONFIG_AUTOFS4_FS=y
672# 713#
673CONFIG_PROC_FS=y 714CONFIG_PROC_FS=y
674CONFIG_PROC_KCORE=y 715CONFIG_PROC_KCORE=y
716CONFIG_PROC_SYSCTL=y
675CONFIG_SYSFS=y 717CONFIG_SYSFS=y
676CONFIG_TMPFS=y 718CONFIG_TMPFS=y
719# CONFIG_TMPFS_POSIX_ACL is not set
677# CONFIG_HUGETLB_PAGE is not set 720# CONFIG_HUGETLB_PAGE is not set
678CONFIG_RAMFS=y 721CONFIG_RAMFS=y
679 722
@@ -694,6 +737,7 @@ CONFIG_CRAMFS=y
694CONFIG_NFS_FS=y 737CONFIG_NFS_FS=y
695CONFIG_NFS_V3=y 738CONFIG_NFS_V3=y
696CONFIG_NFS_V3_ACL=y 739CONFIG_NFS_V3_ACL=y
740# CONFIG_NFS_DIRECTIO is not set
697# CONFIG_NFSD is not set 741# CONFIG_NFSD is not set
698CONFIG_ROOT_NFS=y 742CONFIG_ROOT_NFS=y
699CONFIG_LOCKD=y 743CONFIG_LOCKD=y
@@ -727,6 +771,7 @@ CONFIG_MSDOS_PARTITION=y
727# CONFIG_SUN_PARTITION is not set 771# CONFIG_SUN_PARTITION is not set
728# CONFIG_KARMA_PARTITION is not set 772# CONFIG_KARMA_PARTITION is not set
729# CONFIG_EFI_PARTITION is not set 773# CONFIG_EFI_PARTITION is not set
774# CONFIG_SYSV68_PARTITION is not set
730 775
731# 776#
732# Native Language Support 777# Native Language Support
@@ -771,37 +816,55 @@ CONFIG_NLS_ISO8859_1=y
771# CONFIG_NLS_KOI8_R is not set 816# CONFIG_NLS_KOI8_R is not set
772# CONFIG_NLS_KOI8_U is not set 817# CONFIG_NLS_KOI8_U is not set
773CONFIG_NLS_UTF8=y 818CONFIG_NLS_UTF8=y
819# CONFIG_UCC_SLOW is not set
774 820
775# 821#
776# Library routines 822# Library routines
777# 823#
824CONFIG_BITREVERSE=y
778CONFIG_CRC_CCITT=y 825CONFIG_CRC_CCITT=y
779# CONFIG_CRC16 is not set 826# CONFIG_CRC16 is not set
827# CONFIG_CRC_ITU_T is not set
780CONFIG_CRC32=y 828CONFIG_CRC32=y
781# CONFIG_LIBCRC32C is not set 829# CONFIG_LIBCRC32C is not set
782CONFIG_ZLIB_INFLATE=y 830CONFIG_ZLIB_INFLATE=y
783CONFIG_ZLIB_DEFLATE=y 831CONFIG_ZLIB_DEFLATE=y
832CONFIG_PLIST=y
833CONFIG_HAS_IOMEM=y
834CONFIG_HAS_IOPORT=y
835CONFIG_HAS_DMA=y
784 836
785# 837#
786# Kernel hacking 838# Kernel hacking
787# 839#
788# CONFIG_PRINTK_TIME is not set 840# CONFIG_PRINTK_TIME is not set
841CONFIG_ENABLE_MUST_CHECK=y
789# CONFIG_MAGIC_SYSRQ is not set 842# CONFIG_MAGIC_SYSRQ is not set
843# CONFIG_UNUSED_SYMBOLS is not set
844# CONFIG_DEBUG_FS is not set
845# CONFIG_HEADERS_CHECK is not set
790CONFIG_DEBUG_KERNEL=y 846CONFIG_DEBUG_KERNEL=y
791CONFIG_LOG_BUF_SHIFT=14 847# CONFIG_DEBUG_SHIRQ is not set
792CONFIG_DETECT_SOFTLOCKUP=y 848CONFIG_DETECT_SOFTLOCKUP=y
793# CONFIG_SCHEDSTATS is not set 849# CONFIG_SCHEDSTATS is not set
850# CONFIG_TIMER_STATS is not set
794# CONFIG_DEBUG_SLAB is not set 851# CONFIG_DEBUG_SLAB is not set
795# CONFIG_DEBUG_MUTEXES is not set 852# CONFIG_DEBUG_RT_MUTEXES is not set
853# CONFIG_RT_MUTEX_TESTER is not set
796# CONFIG_DEBUG_SPINLOCK is not set 854# CONFIG_DEBUG_SPINLOCK is not set
855# CONFIG_DEBUG_MUTEXES is not set
797# CONFIG_DEBUG_SPINLOCK_SLEEP is not set 856# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
857# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
798# CONFIG_DEBUG_KOBJECT is not set 858# CONFIG_DEBUG_KOBJECT is not set
859# CONFIG_DEBUG_BUGVERBOSE is not set
799CONFIG_DEBUG_INFO=y 860CONFIG_DEBUG_INFO=y
800# CONFIG_DEBUG_FS is not set
801# CONFIG_DEBUG_VM is not set 861# CONFIG_DEBUG_VM is not set
802# CONFIG_UNWIND_INFO is not set 862# CONFIG_DEBUG_LIST is not set
803CONFIG_FORCED_INLINING=y 863CONFIG_FORCED_INLINING=y
804# CONFIG_RCU_TORTURE_TEST is not set 864# CONFIG_FAULT_INJECTION is not set
865# CONFIG_DEBUG_STACKOVERFLOW is not set
866# CONFIG_DEBUG_STACK_USAGE is not set
867# CONFIG_DEBUG_PAGEALLOC is not set
805# CONFIG_DEBUGGER is not set 868# CONFIG_DEBUGGER is not set
806# CONFIG_KGDB_CONSOLE is not set 869# CONFIG_KGDB_CONSOLE is not set
807CONFIG_BDI_SWITCH=y 870CONFIG_BDI_SWITCH=y
@@ -818,6 +881,9 @@ CONFIG_BDI_SWITCH=y
818# Cryptographic options 881# Cryptographic options
819# 882#
820CONFIG_CRYPTO=y 883CONFIG_CRYPTO=y
884CONFIG_CRYPTO_ALGAPI=y
885CONFIG_CRYPTO_BLKCIPHER=y
886CONFIG_CRYPTO_MANAGER=y
821# CONFIG_CRYPTO_HMAC is not set 887# CONFIG_CRYPTO_HMAC is not set
822# CONFIG_CRYPTO_NULL is not set 888# CONFIG_CRYPTO_NULL is not set
823# CONFIG_CRYPTO_MD4 is not set 889# CONFIG_CRYPTO_MD4 is not set
@@ -827,7 +893,12 @@ CONFIG_CRYPTO_MD5=y
827# CONFIG_CRYPTO_SHA512 is not set 893# CONFIG_CRYPTO_SHA512 is not set
828# CONFIG_CRYPTO_WP512 is not set 894# CONFIG_CRYPTO_WP512 is not set
829# CONFIG_CRYPTO_TGR192 is not set 895# CONFIG_CRYPTO_TGR192 is not set
896CONFIG_CRYPTO_ECB=y
897CONFIG_CRYPTO_CBC=y
898CONFIG_CRYPTO_PCBC=y
899# CONFIG_CRYPTO_CRYPTD is not set
830CONFIG_CRYPTO_DES=y 900CONFIG_CRYPTO_DES=y
901# CONFIG_CRYPTO_FCRYPT is not set
831# CONFIG_CRYPTO_BLOWFISH is not set 902# CONFIG_CRYPTO_BLOWFISH is not set
832# CONFIG_CRYPTO_TWOFISH is not set 903# CONFIG_CRYPTO_TWOFISH is not set
833# CONFIG_CRYPTO_SERPENT is not set 904# CONFIG_CRYPTO_SERPENT is not set
@@ -841,7 +912,7 @@ CONFIG_CRYPTO_DES=y
841# CONFIG_CRYPTO_DEFLATE is not set 912# CONFIG_CRYPTO_DEFLATE is not set
842# CONFIG_CRYPTO_MICHAEL_MIC is not set 913# CONFIG_CRYPTO_MICHAEL_MIC is not set
843# CONFIG_CRYPTO_CRC32C is not set 914# CONFIG_CRYPTO_CRC32C is not set
844# CONFIG_CRYPTO_TEST is not set 915# CONFIG_CRYPTO_CAMELLIA is not set
845 916
846# 917#
847# Hardware crypto devices 918# Hardware crypto devices
diff --git a/arch/powerpc/configs/mpc8313_rdb_defconfig b/arch/powerpc/configs/mpc8313_rdb_defconfig
index f87523716c44..b7d3dffc981a 100644
--- a/arch/powerpc/configs/mpc8313_rdb_defconfig
+++ b/arch/powerpc/configs/mpc8313_rdb_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.20 3# Linux kernel version: 2.6.22-rc7
4# Wed Feb 7 22:08:04 2007 4# Sun Jul 1 23:56:55 2007
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7CONFIG_PPC32=y 7CONFIG_PPC32=y
@@ -45,6 +45,7 @@ CONFIG_PPC_FPU=y
45# CONFIG_PPC_DCR_MMIO is not set 45# CONFIG_PPC_DCR_MMIO is not set
46CONFIG_PPC_STD_MMU=y 46CONFIG_PPC_STD_MMU=y
47CONFIG_PPC_STD_MMU_32=y 47CONFIG_PPC_STD_MMU_32=y
48# CONFIG_PPC_MM_SLICES is not set
48# CONFIG_SMP is not set 49# CONFIG_SMP is not set
49CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 50CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
50 51
@@ -63,14 +64,17 @@ CONFIG_LOCALVERSION_AUTO=y
63CONFIG_SWAP=y 64CONFIG_SWAP=y
64CONFIG_SYSVIPC=y 65CONFIG_SYSVIPC=y
65# CONFIG_IPC_NS is not set 66# CONFIG_IPC_NS is not set
67CONFIG_SYSVIPC_SYSCTL=y
66# CONFIG_POSIX_MQUEUE is not set 68# CONFIG_POSIX_MQUEUE is not set
67# CONFIG_BSD_PROCESS_ACCT is not set 69# CONFIG_BSD_PROCESS_ACCT is not set
68# CONFIG_TASKSTATS is not set 70# CONFIG_TASKSTATS is not set
69# CONFIG_UTS_NS is not set 71# CONFIG_UTS_NS is not set
70# CONFIG_AUDIT is not set 72# CONFIG_AUDIT is not set
71# CONFIG_IKCONFIG is not set 73# CONFIG_IKCONFIG is not set
74CONFIG_LOG_BUF_SHIFT=14
72CONFIG_SYSFS_DEPRECATED=y 75CONFIG_SYSFS_DEPRECATED=y
73# CONFIG_RELAY is not set 76# CONFIG_RELAY is not set
77CONFIG_BLK_DEV_INITRD=y
74CONFIG_INITRAMFS_SOURCE="" 78CONFIG_INITRAMFS_SOURCE=""
75# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 79# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
76CONFIG_SYSCTL=y 80CONFIG_SYSCTL=y
@@ -83,14 +87,19 @@ CONFIG_BUG=y
83CONFIG_ELF_CORE=y 87CONFIG_ELF_CORE=y
84CONFIG_BASE_FULL=y 88CONFIG_BASE_FULL=y
85CONFIG_FUTEX=y 89CONFIG_FUTEX=y
90CONFIG_ANON_INODES=y
86# CONFIG_EPOLL is not set 91# CONFIG_EPOLL is not set
92CONFIG_SIGNALFD=y
93CONFIG_TIMERFD=y
94CONFIG_EVENTFD=y
87CONFIG_SHMEM=y 95CONFIG_SHMEM=y
88CONFIG_SLAB=y
89CONFIG_VM_EVENT_COUNTERS=y 96CONFIG_VM_EVENT_COUNTERS=y
97CONFIG_SLAB=y
98# CONFIG_SLUB is not set
99# CONFIG_SLOB is not set
90CONFIG_RT_MUTEXES=y 100CONFIG_RT_MUTEXES=y
91# CONFIG_TINY_SHMEM is not set 101# CONFIG_TINY_SHMEM is not set
92CONFIG_BASE_SMALL=0 102CONFIG_BASE_SMALL=0
93# CONFIG_SLOB is not set
94 103
95# 104#
96# Loadable module support 105# Loadable module support
@@ -122,19 +131,33 @@ CONFIG_DEFAULT_AS=y
122# CONFIG_DEFAULT_CFQ is not set 131# CONFIG_DEFAULT_CFQ is not set
123# CONFIG_DEFAULT_NOOP is not set 132# CONFIG_DEFAULT_NOOP is not set
124CONFIG_DEFAULT_IOSCHED="anticipatory" 133CONFIG_DEFAULT_IOSCHED="anticipatory"
125CONFIG_PPC_GEN550=y
126# CONFIG_WANT_EARLY_SERIAL is not set
127 134
128# 135#
129# Platform support 136# Platform support
130# 137#
138# CONFIG_PPC_MPC52xx is not set
139# CONFIG_PPC_MPC5200 is not set
140# CONFIG_PPC_CELL is not set
141# CONFIG_PPC_CELL_NATIVE is not set
142# CONFIG_PQ2ADS is not set
131CONFIG_MPC8313_RDB=y 143CONFIG_MPC8313_RDB=y
132# CONFIG_MPC832x_MDS is not set 144# CONFIG_MPC832x_MDS is not set
133# CONFIG_MPC834x_SYS is not set 145# CONFIG_MPC832x_RDB is not set
146# CONFIG_MPC834x_MDS is not set
134# CONFIG_MPC834x_ITX is not set 147# CONFIG_MPC834x_ITX is not set
135# CONFIG_MPC8360E_PB is not set 148# CONFIG_MPC836x_MDS is not set
136CONFIG_PPC_MPC831x=y 149CONFIG_PPC_MPC831x=y
137# CONFIG_MPIC is not set 150# CONFIG_MPIC is not set
151# CONFIG_MPIC_WEIRD is not set
152# CONFIG_PPC_I8259 is not set
153# CONFIG_PPC_RTAS is not set
154# CONFIG_MMIO_NVRAM is not set
155# CONFIG_PPC_MPC106 is not set
156# CONFIG_PPC_970_NAP is not set
157# CONFIG_PPC_INDIRECT_IO is not set
158# CONFIG_GENERIC_IOMAP is not set
159# CONFIG_CPU_FREQ is not set
160# CONFIG_CPM2 is not set
138 161
139# 162#
140# Kernel options 163# Kernel options
@@ -162,33 +185,34 @@ CONFIG_FLAT_NODE_MEM_MAP=y
162# CONFIG_SPARSEMEM_STATIC is not set 185# CONFIG_SPARSEMEM_STATIC is not set
163CONFIG_SPLIT_PTLOCK_CPUS=4 186CONFIG_SPLIT_PTLOCK_CPUS=4
164# CONFIG_RESOURCES_64BIT is not set 187# CONFIG_RESOURCES_64BIT is not set
188CONFIG_ZONE_DMA_FLAG=1
165CONFIG_PROC_DEVICETREE=y 189CONFIG_PROC_DEVICETREE=y
166# CONFIG_CMDLINE_BOOL is not set 190# CONFIG_CMDLINE_BOOL is not set
167# CONFIG_PM is not set 191# CONFIG_PM is not set
168CONFIG_SECCOMP=y 192CONFIG_SECCOMP=y
193CONFIG_WANT_DEVICE_TREE=y
194CONFIG_DEVICE_TREE=""
169CONFIG_ISA_DMA_API=y 195CONFIG_ISA_DMA_API=y
170 196
171# 197#
172# Bus options 198# Bus options
173# 199#
200CONFIG_ZONE_DMA=y
174CONFIG_GENERIC_ISA_DMA=y 201CONFIG_GENERIC_ISA_DMA=y
175# CONFIG_MPIC_WEIRD is not set
176# CONFIG_PPC_I8259 is not set
177CONFIG_PPC_INDIRECT_PCI=y 202CONFIG_PPC_INDIRECT_PCI=y
203# CONFIG_PPC_INDIRECT_PCI_BE is not set
178CONFIG_FSL_SOC=y 204CONFIG_FSL_SOC=y
179CONFIG_PCI=y 205CONFIG_PCI=y
180CONFIG_PCI_DOMAINS=y 206CONFIG_PCI_DOMAINS=y
181# CONFIG_PCIEPORTBUS is not set 207# CONFIG_PCIEPORTBUS is not set
208CONFIG_ARCH_SUPPORTS_MSI=y
209# CONFIG_PCI_MSI is not set
182# CONFIG_PCI_DEBUG is not set 210# CONFIG_PCI_DEBUG is not set
183 211
184# 212#
185# PCCARD (PCMCIA/CardBus) support 213# PCCARD (PCMCIA/CardBus) support
186# 214#
187# CONFIG_PCCARD is not set 215# CONFIG_PCCARD is not set
188
189#
190# PCI Hotplug Support
191#
192# CONFIG_HOTPLUG_PCI is not set 216# CONFIG_HOTPLUG_PCI is not set
193 217
194# 218#
@@ -213,13 +237,13 @@ CONFIG_NET=y
213# 237#
214# Networking options 238# Networking options
215# 239#
216# CONFIG_NETDEBUG is not set
217CONFIG_PACKET=y 240CONFIG_PACKET=y
218# CONFIG_PACKET_MMAP is not set 241# CONFIG_PACKET_MMAP is not set
219CONFIG_UNIX=y 242CONFIG_UNIX=y
220CONFIG_XFRM=y 243CONFIG_XFRM=y
221# CONFIG_XFRM_USER is not set 244# CONFIG_XFRM_USER is not set
222# CONFIG_XFRM_SUB_POLICY is not set 245# CONFIG_XFRM_SUB_POLICY is not set
246# CONFIG_XFRM_MIGRATE is not set
223# CONFIG_NET_KEY is not set 247# CONFIG_NET_KEY is not set
224CONFIG_INET=y 248CONFIG_INET=y
225CONFIG_IP_MULTICAST=y 249CONFIG_IP_MULTICAST=y
@@ -253,20 +277,8 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
253# CONFIG_INET6_TUNNEL is not set 277# CONFIG_INET6_TUNNEL is not set
254# CONFIG_NETWORK_SECMARK is not set 278# CONFIG_NETWORK_SECMARK is not set
255# CONFIG_NETFILTER is not set 279# CONFIG_NETFILTER is not set
256
257#
258# DCCP Configuration (EXPERIMENTAL)
259#
260# CONFIG_IP_DCCP is not set 280# CONFIG_IP_DCCP is not set
261
262#
263# SCTP Configuration (EXPERIMENTAL)
264#
265# CONFIG_IP_SCTP is not set 281# CONFIG_IP_SCTP is not set
266
267#
268# TIPC Configuration (EXPERIMENTAL)
269#
270# CONFIG_TIPC is not set 282# CONFIG_TIPC is not set
271# CONFIG_ATM is not set 283# CONFIG_ATM is not set
272# CONFIG_BRIDGE is not set 284# CONFIG_BRIDGE is not set
@@ -292,7 +304,16 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
292# CONFIG_HAMRADIO is not set 304# CONFIG_HAMRADIO is not set
293# CONFIG_IRDA is not set 305# CONFIG_IRDA is not set
294# CONFIG_BT is not set 306# CONFIG_BT is not set
307# CONFIG_AF_RXRPC is not set
308
309#
310# Wireless
311#
312# CONFIG_CFG80211 is not set
313# CONFIG_WIRELESS_EXT is not set
314# CONFIG_MAC80211 is not set
295# CONFIG_IEEE80211 is not set 315# CONFIG_IEEE80211 is not set
316# CONFIG_RFKILL is not set
296 317
297# 318#
298# Device Drivers 319# Device Drivers
@@ -305,16 +326,13 @@ CONFIG_STANDALONE=y
305CONFIG_PREVENT_FIRMWARE_BUILD=y 326CONFIG_PREVENT_FIRMWARE_BUILD=y
306# CONFIG_FW_LOADER is not set 327# CONFIG_FW_LOADER is not set
307# CONFIG_DEBUG_DRIVER is not set 328# CONFIG_DEBUG_DRIVER is not set
329# CONFIG_DEBUG_DEVRES is not set
308# CONFIG_SYS_HYPERVISOR is not set 330# CONFIG_SYS_HYPERVISOR is not set
309 331
310# 332#
311# Connector - unified userspace <-> kernelspace linker 333# Connector - unified userspace <-> kernelspace linker
312# 334#
313# CONFIG_CONNECTOR is not set 335# CONFIG_CONNECTOR is not set
314
315#
316# Memory Technology Devices (MTD)
317#
318CONFIG_MTD=y 336CONFIG_MTD=y
319# CONFIG_MTD_DEBUG is not set 337# CONFIG_MTD_DEBUG is not set
320# CONFIG_MTD_CONCAT is not set 338# CONFIG_MTD_CONCAT is not set
@@ -357,7 +375,6 @@ CONFIG_MTD_CFI_UTIL=y
357# CONFIG_MTD_RAM is not set 375# CONFIG_MTD_RAM is not set
358# CONFIG_MTD_ROM is not set 376# CONFIG_MTD_ROM is not set
359# CONFIG_MTD_ABSENT is not set 377# CONFIG_MTD_ABSENT is not set
360# CONFIG_MTD_OBSOLETE_CHIPS is not set
361 378
362# 379#
363# Mapping drivers for chip access 380# Mapping drivers for chip access
@@ -387,17 +404,13 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=2
387# CONFIG_MTD_DOC2000 is not set 404# CONFIG_MTD_DOC2000 is not set
388# CONFIG_MTD_DOC2001 is not set 405# CONFIG_MTD_DOC2001 is not set
389# CONFIG_MTD_DOC2001PLUS is not set 406# CONFIG_MTD_DOC2001PLUS is not set
390
391#
392# NAND Flash Device Drivers
393#
394# CONFIG_MTD_NAND is not set 407# CONFIG_MTD_NAND is not set
395# CONFIG_MTD_NAND_CAFE is not set 408# CONFIG_MTD_ONENAND is not set
396 409
397# 410#
398# OneNAND Flash Device Drivers 411# UBI - Unsorted block images
399# 412#
400# CONFIG_MTD_ONENAND is not set 413# CONFIG_MTD_UBI is not set
401 414
402# 415#
403# Parallel port support 416# Parallel port support
@@ -407,6 +420,7 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=2
407# 420#
408# Plug and Play support 421# Plug and Play support
409# 422#
423# CONFIG_PNPACPI is not set
410 424
411# 425#
412# Block devices 426# Block devices
@@ -426,19 +440,16 @@ CONFIG_BLK_DEV_RAM=y
426CONFIG_BLK_DEV_RAM_COUNT=16 440CONFIG_BLK_DEV_RAM_COUNT=16
427CONFIG_BLK_DEV_RAM_SIZE=32768 441CONFIG_BLK_DEV_RAM_SIZE=32768
428CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 442CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
429CONFIG_BLK_DEV_INITRD=y
430# CONFIG_CDROM_PKTCDVD is not set 443# CONFIG_CDROM_PKTCDVD is not set
431# CONFIG_ATA_OVER_ETH is not set 444# CONFIG_ATA_OVER_ETH is not set
432 445
433# 446#
434# Misc devices 447# Misc devices
435# 448#
449# CONFIG_PHANTOM is not set
436# CONFIG_SGI_IOC4 is not set 450# CONFIG_SGI_IOC4 is not set
437# CONFIG_TIFM_CORE is not set 451# CONFIG_TIFM_CORE is not set
438 452# CONFIG_BLINK is not set
439#
440# ATA/ATAPI/MFM/RLL support
441#
442# CONFIG_IDE is not set 453# CONFIG_IDE is not set
443 454
444# 455#
@@ -467,6 +478,7 @@ CONFIG_CHR_DEV_SG=y
467# CONFIG_SCSI_CONSTANTS is not set 478# CONFIG_SCSI_CONSTANTS is not set
468# CONFIG_SCSI_LOGGING is not set 479# CONFIG_SCSI_LOGGING is not set
469# CONFIG_SCSI_SCAN_ASYNC is not set 480# CONFIG_SCSI_SCAN_ASYNC is not set
481CONFIG_SCSI_WAIT_SCAN=m
470 482
471# 483#
472# SCSI Transports 484# SCSI Transports
@@ -514,10 +526,6 @@ CONFIG_SCSI_SPI_ATTRS=y
514# CONFIG_SCSI_NSP32 is not set 526# CONFIG_SCSI_NSP32 is not set
515# CONFIG_SCSI_DEBUG is not set 527# CONFIG_SCSI_DEBUG is not set
516# CONFIG_SCSI_SRP is not set 528# CONFIG_SCSI_SRP is not set
517
518#
519# Serial ATA (prod) and Parallel ATA (experimental) drivers
520#
521# CONFIG_ATA is not set 529# CONFIG_ATA is not set
522 530
523# 531#
@@ -545,18 +553,14 @@ CONFIG_MD_RAID1=y
545# 553#
546# IEEE 1394 (FireWire) support 554# IEEE 1394 (FireWire) support
547# 555#
556# CONFIG_FIREWIRE is not set
548# CONFIG_IEEE1394 is not set 557# CONFIG_IEEE1394 is not set
549 558
550# 559#
551# I2O device support 560# I2O device support
552# 561#
553# CONFIG_I2O is not set 562# CONFIG_I2O is not set
554 563# CONFIG_MACINTOSH_DRIVERS is not set
555#
556# Macintosh device drivers
557#
558# CONFIG_MAC_EMUMOUSEBTN is not set
559# CONFIG_WINDFARM is not set
560 564
561# 565#
562# Network device support 566# Network device support
@@ -566,15 +570,7 @@ CONFIG_NETDEVICES=y
566# CONFIG_BONDING is not set 570# CONFIG_BONDING is not set
567# CONFIG_EQUALIZER is not set 571# CONFIG_EQUALIZER is not set
568# CONFIG_TUN is not set 572# CONFIG_TUN is not set
569
570#
571# ARCnet devices
572#
573# CONFIG_ARCNET is not set 573# CONFIG_ARCNET is not set
574
575#
576# PHY device support
577#
578CONFIG_PHYLIB=y 574CONFIG_PHYLIB=y
579 575
580# 576#
@@ -624,10 +620,8 @@ CONFIG_E100=y
624# CONFIG_SUNDANCE is not set 620# CONFIG_SUNDANCE is not set
625# CONFIG_TLAN is not set 621# CONFIG_TLAN is not set
626# CONFIG_VIA_RHINE is not set 622# CONFIG_VIA_RHINE is not set
627 623# CONFIG_SC92031 is not set
628# 624CONFIG_NETDEV_1000=y
629# Ethernet (1000 Mbit)
630#
631# CONFIG_ACENIC is not set 625# CONFIG_ACENIC is not set
632# CONFIG_DL2K is not set 626# CONFIG_DL2K is not set
633# CONFIG_E1000 is not set 627# CONFIG_E1000 is not set
@@ -645,29 +639,32 @@ CONFIG_E100=y
645CONFIG_GIANFAR=y 639CONFIG_GIANFAR=y
646CONFIG_GFAR_NAPI=y 640CONFIG_GFAR_NAPI=y
647# CONFIG_QLA3XXX is not set 641# CONFIG_QLA3XXX is not set
648 642# CONFIG_ATL1 is not set
649# 643CONFIG_NETDEV_10000=y
650# Ethernet (10000 Mbit)
651#
652# CONFIG_CHELSIO_T1 is not set 644# CONFIG_CHELSIO_T1 is not set
645# CONFIG_CHELSIO_T3 is not set
653# CONFIG_IXGB is not set 646# CONFIG_IXGB is not set
654# CONFIG_S2IO is not set 647# CONFIG_S2IO is not set
655# CONFIG_MYRI10GE is not set 648# CONFIG_MYRI10GE is not set
656# CONFIG_NETXEN_NIC is not set 649# CONFIG_NETXEN_NIC is not set
657 650# CONFIG_MLX4_CORE is not set
658#
659# Token Ring devices
660#
661# CONFIG_TR is not set 651# CONFIG_TR is not set
662 652
663# 653#
664# Wireless LAN (non-hamradio) 654# Wireless LAN
665# 655#
666# CONFIG_NET_RADIO is not set 656# CONFIG_WLAN_PRE80211 is not set
657# CONFIG_WLAN_80211 is not set
667 658
668# 659#
669# Wan interfaces 660# USB Network Adapters
670# 661#
662# CONFIG_USB_CATC is not set
663# CONFIG_USB_KAWETH is not set
664# CONFIG_USB_PEGASUS is not set
665# CONFIG_USB_RTL8150 is not set
666# CONFIG_USB_USBNET_MII is not set
667# CONFIG_USB_USBNET is not set
671# CONFIG_WAN is not set 668# CONFIG_WAN is not set
672# CONFIG_FDDI is not set 669# CONFIG_FDDI is not set
673# CONFIG_HIPPI is not set 670# CONFIG_HIPPI is not set
@@ -694,6 +691,7 @@ CONFIG_GFAR_NAPI=y
694# 691#
695CONFIG_INPUT=y 692CONFIG_INPUT=y
696# CONFIG_INPUT_FF_MEMLESS is not set 693# CONFIG_INPUT_FF_MEMLESS is not set
694# CONFIG_INPUT_POLLDEV is not set
697 695
698# 696#
699# Userland interfaces 697# Userland interfaces
@@ -710,6 +708,7 @@ CONFIG_INPUT=y
710# CONFIG_INPUT_KEYBOARD is not set 708# CONFIG_INPUT_KEYBOARD is not set
711# CONFIG_INPUT_MOUSE is not set 709# CONFIG_INPUT_MOUSE is not set
712# CONFIG_INPUT_JOYSTICK is not set 710# CONFIG_INPUT_JOYSTICK is not set
711# CONFIG_INPUT_TABLET is not set
713# CONFIG_INPUT_TOUCHSCREEN is not set 712# CONFIG_INPUT_TOUCHSCREEN is not set
714# CONFIG_INPUT_MISC is not set 713# CONFIG_INPUT_MISC is not set
715 714
@@ -742,6 +741,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4
742CONFIG_SERIAL_CORE=y 741CONFIG_SERIAL_CORE=y
743CONFIG_SERIAL_CORE_CONSOLE=y 742CONFIG_SERIAL_CORE_CONSOLE=y
744# CONFIG_SERIAL_JSM is not set 743# CONFIG_SERIAL_JSM is not set
744# CONFIG_SERIAL_OF_PLATFORM is not set
745CONFIG_UNIX98_PTYS=y 745CONFIG_UNIX98_PTYS=y
746CONFIG_LEGACY_PTYS=y 746CONFIG_LEGACY_PTYS=y
747CONFIG_LEGACY_PTY_COUNT=256 747CONFIG_LEGACY_PTY_COUNT=256
@@ -750,10 +750,6 @@ CONFIG_LEGACY_PTY_COUNT=256
750# IPMI 750# IPMI
751# 751#
752# CONFIG_IPMI_HANDLER is not set 752# CONFIG_IPMI_HANDLER is not set
753
754#
755# Watchdog Cards
756#
757CONFIG_WATCHDOG=y 753CONFIG_WATCHDOG=y
758# CONFIG_WATCHDOG_NOWAYOUT is not set 754# CONFIG_WATCHDOG_NOWAYOUT is not set
759 755
@@ -776,7 +772,6 @@ CONFIG_83xx_WDT=y
776CONFIG_HW_RANDOM=y 772CONFIG_HW_RANDOM=y
777# CONFIG_NVRAM is not set 773# CONFIG_NVRAM is not set
778# CONFIG_GEN_RTC is not set 774# CONFIG_GEN_RTC is not set
779# CONFIG_DTLK is not set
780# CONFIG_R3964 is not set 775# CONFIG_R3964 is not set
781# CONFIG_APPLICOM is not set 776# CONFIG_APPLICOM is not set
782# CONFIG_AGP is not set 777# CONFIG_AGP is not set
@@ -787,11 +782,9 @@ CONFIG_HW_RANDOM=y
787# TPM devices 782# TPM devices
788# 783#
789# CONFIG_TCG_TPM is not set 784# CONFIG_TCG_TPM is not set
790 785CONFIG_DEVPORT=y
791#
792# I2C support
793#
794CONFIG_I2C=y 786CONFIG_I2C=y
787CONFIG_I2C_BOARDINFO=y
795CONFIG_I2C_CHARDEV=y 788CONFIG_I2C_CHARDEV=y
796 789
797# 790#
@@ -818,14 +811,15 @@ CONFIG_I2C_MPC=y
818# CONFIG_I2C_PARPORT_LIGHT is not set 811# CONFIG_I2C_PARPORT_LIGHT is not set
819# CONFIG_I2C_PROSAVAGE is not set 812# CONFIG_I2C_PROSAVAGE is not set
820# CONFIG_I2C_SAVAGE4 is not set 813# CONFIG_I2C_SAVAGE4 is not set
814# CONFIG_I2C_SIMTEC is not set
821# CONFIG_I2C_SIS5595 is not set 815# CONFIG_I2C_SIS5595 is not set
822# CONFIG_I2C_SIS630 is not set 816# CONFIG_I2C_SIS630 is not set
823# CONFIG_I2C_SIS96X is not set 817# CONFIG_I2C_SIS96X is not set
824# CONFIG_I2C_STUB is not set 818# CONFIG_I2C_STUB is not set
819# CONFIG_I2C_TINY_USB is not set
825# CONFIG_I2C_VIA is not set 820# CONFIG_I2C_VIA is not set
826# CONFIG_I2C_VIAPRO is not set 821# CONFIG_I2C_VIAPRO is not set
827# CONFIG_I2C_VOODOO3 is not set 822# CONFIG_I2C_VOODOO3 is not set
828# CONFIG_I2C_PCA_ISA is not set
829 823
830# 824#
831# Miscellaneous I2C Chip support 825# Miscellaneous I2C Chip support
@@ -859,21 +853,21 @@ CONFIG_SPI_MPC83xx=y
859# 853#
860# SPI Protocol Masters 854# SPI Protocol Masters
861# 855#
856# CONFIG_SPI_AT25 is not set
857# CONFIG_SPI_SPIDEV is not set
862 858
863# 859#
864# Dallas's 1-wire bus 860# Dallas's 1-wire bus
865# 861#
866# CONFIG_W1 is not set 862# CONFIG_W1 is not set
867
868#
869# Hardware Monitoring support
870#
871CONFIG_HWMON=y 863CONFIG_HWMON=y
872# CONFIG_HWMON_VID is not set 864# CONFIG_HWMON_VID is not set
873# CONFIG_SENSORS_ABITUGURU is not set 865# CONFIG_SENSORS_ABITUGURU is not set
866# CONFIG_SENSORS_AD7418 is not set
874# CONFIG_SENSORS_ADM1021 is not set 867# CONFIG_SENSORS_ADM1021 is not set
875# CONFIG_SENSORS_ADM1025 is not set 868# CONFIG_SENSORS_ADM1025 is not set
876# CONFIG_SENSORS_ADM1026 is not set 869# CONFIG_SENSORS_ADM1026 is not set
870# CONFIG_SENSORS_ADM1029 is not set
877# CONFIG_SENSORS_ADM1031 is not set 871# CONFIG_SENSORS_ADM1031 is not set
878# CONFIG_SENSORS_ADM9240 is not set 872# CONFIG_SENSORS_ADM9240 is not set
879# CONFIG_SENSORS_ASB100 is not set 873# CONFIG_SENSORS_ASB100 is not set
@@ -897,6 +891,7 @@ CONFIG_HWMON=y
897# CONFIG_SENSORS_LM90 is not set 891# CONFIG_SENSORS_LM90 is not set
898# CONFIG_SENSORS_LM92 is not set 892# CONFIG_SENSORS_LM92 is not set
899# CONFIG_SENSORS_MAX1619 is not set 893# CONFIG_SENSORS_MAX1619 is not set
894# CONFIG_SENSORS_MAX6650 is not set
900# CONFIG_SENSORS_PC87360 is not set 895# CONFIG_SENSORS_PC87360 is not set
901# CONFIG_SENSORS_PC87427 is not set 896# CONFIG_SENSORS_PC87427 is not set
902# CONFIG_SENSORS_SIS5595 is not set 897# CONFIG_SENSORS_SIS5595 is not set
@@ -916,23 +911,30 @@ CONFIG_HWMON=y
916# CONFIG_HWMON_DEBUG_CHIP is not set 911# CONFIG_HWMON_DEBUG_CHIP is not set
917 912
918# 913#
919# Multimedia devices 914# Multifunction device drivers
920# 915#
921# CONFIG_VIDEO_DEV is not set 916# CONFIG_MFD_SM501 is not set
922 917
923# 918#
924# Digital Video Broadcasting Devices 919# Multimedia devices
925# 920#
926# CONFIG_DVB is not set 921# CONFIG_VIDEO_DEV is not set
922# CONFIG_DVB_CORE is not set
923CONFIG_DAB=y
927# CONFIG_USB_DABUSB is not set 924# CONFIG_USB_DABUSB is not set
928 925
929# 926#
930# Graphics support 927# Graphics support
931# 928#
932CONFIG_FIRMWARE_EDID=y 929# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
930
931#
932# Display device support
933#
934# CONFIG_DISPLAY_SUPPORT is not set
935# CONFIG_VGASTATE is not set
933# CONFIG_FB is not set 936# CONFIG_FB is not set
934# CONFIG_FB_IBM_GXT4500 is not set 937# CONFIG_FB_IBM_GXT4500 is not set
935# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
936 938
937# 939#
938# Sound 940# Sound
@@ -943,6 +945,18 @@ CONFIG_FIRMWARE_EDID=y
943# HID Devices 945# HID Devices
944# 946#
945CONFIG_HID=y 947CONFIG_HID=y
948# CONFIG_HID_DEBUG is not set
949
950#
951# USB Input Devices
952#
953# CONFIG_USB_HID is not set
954
955#
956# USB HID Boot Protocol drivers
957#
958# CONFIG_USB_KBD is not set
959# CONFIG_USB_MOUSE is not set
946 960
947# 961#
948# USB support 962# USB support
@@ -957,7 +971,7 @@ CONFIG_USB=y
957# Miscellaneous USB options 971# Miscellaneous USB options
958# 972#
959CONFIG_USB_DEVICEFS=y 973CONFIG_USB_DEVICEFS=y
960# CONFIG_USB_BANDWIDTH is not set 974CONFIG_USB_DEVICE_CLASS=y
961# CONFIG_USB_DYNAMIC_MINORS is not set 975# CONFIG_USB_DYNAMIC_MINORS is not set
962# CONFIG_USB_OTG is not set 976# CONFIG_USB_OTG is not set
963 977
@@ -968,9 +982,15 @@ CONFIG_USB_EHCI_HCD=y
968# CONFIG_USB_EHCI_SPLIT_ISO is not set 982# CONFIG_USB_EHCI_SPLIT_ISO is not set
969# CONFIG_USB_EHCI_ROOT_HUB_TT is not set 983# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
970# CONFIG_USB_EHCI_TT_NEWSCHED is not set 984# CONFIG_USB_EHCI_TT_NEWSCHED is not set
985# CONFIG_USB_EHCI_BIG_ENDIAN_MMIO is not set
971# CONFIG_USB_ISP116X_HCD is not set 986# CONFIG_USB_ISP116X_HCD is not set
972CONFIG_USB_OHCI_HCD=y 987CONFIG_USB_OHCI_HCD=y
973# CONFIG_USB_OHCI_BIG_ENDIAN is not set 988CONFIG_USB_OHCI_HCD_PPC_OF=y
989CONFIG_USB_OHCI_HCD_PPC_OF_BE=y
990# CONFIG_USB_OHCI_HCD_PPC_OF_LE is not set
991CONFIG_USB_OHCI_HCD_PCI=y
992CONFIG_USB_OHCI_BIG_ENDIAN_DESC=y
993CONFIG_USB_OHCI_BIG_ENDIAN_MMIO=y
974CONFIG_USB_OHCI_LITTLE_ENDIAN=y 994CONFIG_USB_OHCI_LITTLE_ENDIAN=y
975CONFIG_USB_UHCI_HCD=y 995CONFIG_USB_UHCI_HCD=y
976# CONFIG_USB_SL811_HCD is not set 996# CONFIG_USB_SL811_HCD is not set
@@ -1002,43 +1022,10 @@ CONFIG_USB_STORAGE=y
1002# CONFIG_USB_LIBUSUAL is not set 1022# CONFIG_USB_LIBUSUAL is not set
1003 1023
1004# 1024#
1005# USB Input Devices
1006#
1007# CONFIG_USB_HID is not set
1008
1009#
1010# USB HID Boot Protocol drivers
1011#
1012# CONFIG_USB_KBD is not set
1013# CONFIG_USB_MOUSE is not set
1014# CONFIG_USB_AIPTEK is not set
1015# CONFIG_USB_WACOM is not set
1016# CONFIG_USB_ACECAD is not set
1017# CONFIG_USB_KBTAB is not set
1018# CONFIG_USB_POWERMATE is not set
1019# CONFIG_USB_TOUCHSCREEN is not set
1020# CONFIG_USB_YEALINK is not set
1021# CONFIG_USB_XPAD is not set
1022# CONFIG_USB_ATI_REMOTE is not set
1023# CONFIG_USB_ATI_REMOTE2 is not set
1024# CONFIG_USB_KEYSPAN_REMOTE is not set
1025# CONFIG_USB_APPLETOUCH is not set
1026
1027#
1028# USB Imaging devices 1025# USB Imaging devices
1029# 1026#
1030# CONFIG_USB_MDC800 is not set 1027# CONFIG_USB_MDC800 is not set
1031# CONFIG_USB_MICROTEK is not set 1028# CONFIG_USB_MICROTEK is not set
1032
1033#
1034# USB Network Adapters
1035#
1036# CONFIG_USB_CATC is not set
1037# CONFIG_USB_KAWETH is not set
1038# CONFIG_USB_PEGASUS is not set
1039# CONFIG_USB_RTL8150 is not set
1040# CONFIG_USB_USBNET_MII is not set
1041# CONFIG_USB_USBNET is not set
1042CONFIG_USB_MON=y 1029CONFIG_USB_MON=y
1043 1030
1044# 1031#
@@ -1060,6 +1047,7 @@ CONFIG_USB_MON=y
1060# CONFIG_USB_RIO500 is not set 1047# CONFIG_USB_RIO500 is not set
1061# CONFIG_USB_LEGOTOWER is not set 1048# CONFIG_USB_LEGOTOWER is not set
1062# CONFIG_USB_LCD is not set 1049# CONFIG_USB_LCD is not set
1050# CONFIG_USB_BERRY_CHARGE is not set
1063# CONFIG_USB_LED is not set 1051# CONFIG_USB_LED is not set
1064# CONFIG_USB_CYPRESS_CY7C63 is not set 1052# CONFIG_USB_CYPRESS_CY7C63 is not set
1065# CONFIG_USB_CYTHERM is not set 1053# CONFIG_USB_CYTHERM is not set
@@ -1070,6 +1058,7 @@ CONFIG_USB_MON=y
1070# CONFIG_USB_SISUSBVGA is not set 1058# CONFIG_USB_SISUSBVGA is not set
1071# CONFIG_USB_LD is not set 1059# CONFIG_USB_LD is not set
1072# CONFIG_USB_TRANCEVIBRATOR is not set 1060# CONFIG_USB_TRANCEVIBRATOR is not set
1061# CONFIG_USB_IOWARRIOR is not set
1073# CONFIG_USB_TEST is not set 1062# CONFIG_USB_TEST is not set
1074 1063
1075# 1064#
@@ -1082,6 +1071,7 @@ CONFIG_USB_MON=y
1082CONFIG_USB_GADGET=y 1071CONFIG_USB_GADGET=y
1083# CONFIG_USB_GADGET_DEBUG_FILES is not set 1072# CONFIG_USB_GADGET_DEBUG_FILES is not set
1084CONFIG_USB_GADGET_SELECTED=y 1073CONFIG_USB_GADGET_SELECTED=y
1074# CONFIG_USB_GADGET_FSL_USB2 is not set
1085CONFIG_USB_GADGET_NET2280=y 1075CONFIG_USB_GADGET_NET2280=y
1086CONFIG_USB_NET2280=y 1076CONFIG_USB_NET2280=y
1087# CONFIG_USB_GADGET_PXA2XX is not set 1077# CONFIG_USB_GADGET_PXA2XX is not set
@@ -1098,10 +1088,6 @@ CONFIG_USB_ETH_RNDIS=y
1098# CONFIG_USB_FILE_STORAGE is not set 1088# CONFIG_USB_FILE_STORAGE is not set
1099# CONFIG_USB_G_SERIAL is not set 1089# CONFIG_USB_G_SERIAL is not set
1100# CONFIG_USB_MIDI_GADGET is not set 1090# CONFIG_USB_MIDI_GADGET is not set
1101
1102#
1103# MMC/SD Card support
1104#
1105# CONFIG_MMC is not set 1091# CONFIG_MMC is not set
1106 1092
1107# 1093#
@@ -1142,26 +1128,39 @@ CONFIG_RTC_INTF_SYSFS=y
1142CONFIG_RTC_INTF_PROC=y 1128CONFIG_RTC_INTF_PROC=y
1143CONFIG_RTC_INTF_DEV=y 1129CONFIG_RTC_INTF_DEV=y
1144CONFIG_RTC_INTF_DEV_UIE_EMUL=y 1130CONFIG_RTC_INTF_DEV_UIE_EMUL=y
1131# CONFIG_RTC_DRV_TEST is not set
1145 1132
1146# 1133#
1147# RTC drivers 1134# I2C RTC drivers
1148# 1135#
1149# CONFIG_RTC_DRV_X1205 is not set
1150CONFIG_RTC_DRV_DS1307=y 1136CONFIG_RTC_DRV_DS1307=y
1151# CONFIG_RTC_DRV_DS1553 is not set
1152# CONFIG_RTC_DRV_ISL1208 is not set
1153# CONFIG_RTC_DRV_DS1672 is not set 1137# CONFIG_RTC_DRV_DS1672 is not set
1154# CONFIG_RTC_DRV_DS1742 is not set 1138# CONFIG_RTC_DRV_MAX6900 is not set
1139# CONFIG_RTC_DRV_RS5C372 is not set
1140# CONFIG_RTC_DRV_ISL1208 is not set
1141# CONFIG_RTC_DRV_X1205 is not set
1155# CONFIG_RTC_DRV_PCF8563 is not set 1142# CONFIG_RTC_DRV_PCF8563 is not set
1156# CONFIG_RTC_DRV_PCF8583 is not set 1143# CONFIG_RTC_DRV_PCF8583 is not set
1144
1145#
1146# SPI RTC drivers
1147#
1157# CONFIG_RTC_DRV_RS5C348 is not set 1148# CONFIG_RTC_DRV_RS5C348 is not set
1158# CONFIG_RTC_DRV_RS5C372 is not set
1159# CONFIG_RTC_DRV_M48T86 is not set
1160# CONFIG_RTC_DRV_TEST is not set
1161# CONFIG_RTC_DRV_MAX6902 is not set 1149# CONFIG_RTC_DRV_MAX6902 is not set
1150
1151#
1152# Platform RTC drivers
1153#
1154# CONFIG_RTC_DRV_DS1553 is not set
1155# CONFIG_RTC_DRV_DS1742 is not set
1156# CONFIG_RTC_DRV_M48T86 is not set
1162# CONFIG_RTC_DRV_V3020 is not set 1157# CONFIG_RTC_DRV_V3020 is not set
1163 1158
1164# 1159#
1160# on-CPU RTC drivers
1161#
1162
1163#
1165# DMA Engine support 1164# DMA Engine support
1166# 1165#
1167CONFIG_DMA_ENGINE=y 1166CONFIG_DMA_ENGINE=y
@@ -1177,10 +1176,6 @@ CONFIG_NET_DMA=y
1177CONFIG_INTEL_IOATDMA=y 1176CONFIG_INTEL_IOATDMA=y
1178 1177
1179# 1178#
1180# Virtualization
1181#
1182
1183#
1184# File systems 1179# File systems
1185# 1180#
1186CONFIG_EXT2_FS=y 1181CONFIG_EXT2_FS=y
@@ -1269,6 +1264,7 @@ CONFIG_LOCKD_V4=y
1269CONFIG_NFS_COMMON=y 1264CONFIG_NFS_COMMON=y
1270CONFIG_SUNRPC=y 1265CONFIG_SUNRPC=y
1271CONFIG_SUNRPC_GSS=y 1266CONFIG_SUNRPC_GSS=y
1267# CONFIG_SUNRPC_BIND34 is not set
1272CONFIG_RPCSEC_GSS_KRB5=y 1268CONFIG_RPCSEC_GSS_KRB5=y
1273# CONFIG_RPCSEC_GSS_SPKM3 is not set 1269# CONFIG_RPCSEC_GSS_SPKM3 is not set
1274# CONFIG_SMB_FS is not set 1270# CONFIG_SMB_FS is not set
@@ -1298,6 +1294,7 @@ CONFIG_MSDOS_PARTITION=y
1298# CONFIG_SUN_PARTITION is not set 1294# CONFIG_SUN_PARTITION is not set
1299# CONFIG_KARMA_PARTITION is not set 1295# CONFIG_KARMA_PARTITION is not set
1300# CONFIG_EFI_PARTITION is not set 1296# CONFIG_EFI_PARTITION is not set
1297# CONFIG_SYSV68_PARTITION is not set
1301 1298
1302# 1299#
1303# Native Language Support 1300# Native Language Support
@@ -1308,6 +1305,7 @@ CONFIG_MSDOS_PARTITION=y
1308# Distributed Lock Manager 1305# Distributed Lock Manager
1309# 1306#
1310# CONFIG_DLM is not set 1307# CONFIG_DLM is not set
1308# CONFIG_UCC_SLOW is not set
1311 1309
1312# 1310#
1313# Library routines 1311# Library routines
@@ -1315,10 +1313,13 @@ CONFIG_MSDOS_PARTITION=y
1315CONFIG_BITREVERSE=y 1313CONFIG_BITREVERSE=y
1316# CONFIG_CRC_CCITT is not set 1314# CONFIG_CRC_CCITT is not set
1317# CONFIG_CRC16 is not set 1315# CONFIG_CRC16 is not set
1316# CONFIG_CRC_ITU_T is not set
1318CONFIG_CRC32=y 1317CONFIG_CRC32=y
1319# CONFIG_LIBCRC32C is not set 1318# CONFIG_LIBCRC32C is not set
1320CONFIG_PLIST=y 1319CONFIG_PLIST=y
1321CONFIG_IOMAP_COPY=y 1320CONFIG_HAS_IOMEM=y
1321CONFIG_HAS_IOPORT=y
1322CONFIG_HAS_DMA=y
1322 1323
1323# 1324#
1324# Instrumentation Support 1325# Instrumentation Support
@@ -1335,15 +1336,15 @@ CONFIG_ENABLE_MUST_CHECK=y
1335# CONFIG_DEBUG_FS is not set 1336# CONFIG_DEBUG_FS is not set
1336# CONFIG_HEADERS_CHECK is not set 1337# CONFIG_HEADERS_CHECK is not set
1337CONFIG_DEBUG_KERNEL=y 1338CONFIG_DEBUG_KERNEL=y
1338CONFIG_LOG_BUF_SHIFT=14 1339# CONFIG_DEBUG_SHIRQ is not set
1339CONFIG_DETECT_SOFTLOCKUP=y 1340CONFIG_DETECT_SOFTLOCKUP=y
1340# CONFIG_SCHEDSTATS is not set 1341# CONFIG_SCHEDSTATS is not set
1342# CONFIG_TIMER_STATS is not set
1341# CONFIG_DEBUG_SLAB is not set 1343# CONFIG_DEBUG_SLAB is not set
1342# CONFIG_DEBUG_RT_MUTEXES is not set 1344# CONFIG_DEBUG_RT_MUTEXES is not set
1343# CONFIG_RT_MUTEX_TESTER is not set 1345# CONFIG_RT_MUTEX_TESTER is not set
1344# CONFIG_DEBUG_SPINLOCK is not set 1346# CONFIG_DEBUG_SPINLOCK is not set
1345# CONFIG_DEBUG_MUTEXES is not set 1347# CONFIG_DEBUG_MUTEXES is not set
1346# CONFIG_DEBUG_RWSEMS is not set
1347# CONFIG_DEBUG_SPINLOCK_SLEEP is not set 1348# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1348# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set 1349# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1349# CONFIG_DEBUG_KOBJECT is not set 1350# CONFIG_DEBUG_KOBJECT is not set
@@ -1353,12 +1354,13 @@ CONFIG_DETECT_SOFTLOCKUP=y
1353# CONFIG_DEBUG_LIST is not set 1354# CONFIG_DEBUG_LIST is not set
1354CONFIG_FORCED_INLINING=y 1355CONFIG_FORCED_INLINING=y
1355# CONFIG_RCU_TORTURE_TEST is not set 1356# CONFIG_RCU_TORTURE_TEST is not set
1357# CONFIG_FAULT_INJECTION is not set
1356# CONFIG_DEBUG_STACKOVERFLOW is not set 1358# CONFIG_DEBUG_STACKOVERFLOW is not set
1357# CONFIG_DEBUG_STACK_USAGE is not set 1359# CONFIG_DEBUG_STACK_USAGE is not set
1360# CONFIG_DEBUG_PAGEALLOC is not set
1358# CONFIG_DEBUGGER is not set 1361# CONFIG_DEBUGGER is not set
1359# CONFIG_BDI_SWITCH is not set 1362# CONFIG_BDI_SWITCH is not set
1360# CONFIG_BOOTX_TEXT is not set 1363# CONFIG_BOOTX_TEXT is not set
1361# CONFIG_SERIAL_TEXT_DEBUG is not set
1362# CONFIG_PPC_EARLY_DEBUG is not set 1364# CONFIG_PPC_EARLY_DEBUG is not set
1363 1365
1364# 1366#
@@ -1387,8 +1389,11 @@ CONFIG_CRYPTO_MD5=y
1387# CONFIG_CRYPTO_GF128MUL is not set 1389# CONFIG_CRYPTO_GF128MUL is not set
1388# CONFIG_CRYPTO_ECB is not set 1390# CONFIG_CRYPTO_ECB is not set
1389CONFIG_CRYPTO_CBC=y 1391CONFIG_CRYPTO_CBC=y
1392CONFIG_CRYPTO_PCBC=m
1390# CONFIG_CRYPTO_LRW is not set 1393# CONFIG_CRYPTO_LRW is not set
1394# CONFIG_CRYPTO_CRYPTD is not set
1391CONFIG_CRYPTO_DES=y 1395CONFIG_CRYPTO_DES=y
1396# CONFIG_CRYPTO_FCRYPT is not set
1392# CONFIG_CRYPTO_BLOWFISH is not set 1397# CONFIG_CRYPTO_BLOWFISH is not set
1393# CONFIG_CRYPTO_TWOFISH is not set 1398# CONFIG_CRYPTO_TWOFISH is not set
1394# CONFIG_CRYPTO_SERPENT is not set 1399# CONFIG_CRYPTO_SERPENT is not set
@@ -1402,6 +1407,7 @@ CONFIG_CRYPTO_DES=y
1402# CONFIG_CRYPTO_DEFLATE is not set 1407# CONFIG_CRYPTO_DEFLATE is not set
1403# CONFIG_CRYPTO_MICHAEL_MIC is not set 1408# CONFIG_CRYPTO_MICHAEL_MIC is not set
1404# CONFIG_CRYPTO_CRC32C is not set 1409# CONFIG_CRYPTO_CRC32C is not set
1410# CONFIG_CRYPTO_CAMELLIA is not set
1405# CONFIG_CRYPTO_TEST is not set 1411# CONFIG_CRYPTO_TEST is not set
1406 1412
1407# 1413#
diff --git a/arch/powerpc/configs/mpc832x_mds_defconfig b/arch/powerpc/configs/mpc832x_mds_defconfig
index 83192c0dc5bb..75ce78139a11 100644
--- a/arch/powerpc/configs/mpc832x_mds_defconfig
+++ b/arch/powerpc/configs/mpc832x_mds_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.21-rc5 3# Linux kernel version: 2.6.22-rc7
4# Mon Apr 9 16:09:16 2007 4# Sun Jul 1 23:56:55 2007
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7CONFIG_PPC32=y 7CONFIG_PPC32=y
@@ -45,6 +45,7 @@ CONFIG_PPC_FPU=y
45# CONFIG_PPC_DCR_MMIO is not set 45# CONFIG_PPC_DCR_MMIO is not set
46CONFIG_PPC_STD_MMU=y 46CONFIG_PPC_STD_MMU=y
47CONFIG_PPC_STD_MMU_32=y 47CONFIG_PPC_STD_MMU_32=y
48# CONFIG_PPC_MM_SLICES is not set
48# CONFIG_SMP is not set 49# CONFIG_SMP is not set
49CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 50CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
50 51
@@ -70,6 +71,7 @@ CONFIG_SYSVIPC_SYSCTL=y
70# CONFIG_UTS_NS is not set 71# CONFIG_UTS_NS is not set
71# CONFIG_AUDIT is not set 72# CONFIG_AUDIT is not set
72# CONFIG_IKCONFIG is not set 73# CONFIG_IKCONFIG is not set
74CONFIG_LOG_BUF_SHIFT=14
73CONFIG_SYSFS_DEPRECATED=y 75CONFIG_SYSFS_DEPRECATED=y
74# CONFIG_RELAY is not set 76# CONFIG_RELAY is not set
75CONFIG_BLK_DEV_INITRD=y 77CONFIG_BLK_DEV_INITRD=y
@@ -85,14 +87,19 @@ CONFIG_BUG=y
85CONFIG_ELF_CORE=y 87CONFIG_ELF_CORE=y
86CONFIG_BASE_FULL=y 88CONFIG_BASE_FULL=y
87CONFIG_FUTEX=y 89CONFIG_FUTEX=y
90CONFIG_ANON_INODES=y
88# CONFIG_EPOLL is not set 91# CONFIG_EPOLL is not set
92CONFIG_SIGNALFD=y
93CONFIG_TIMERFD=y
94CONFIG_EVENTFD=y
89CONFIG_SHMEM=y 95CONFIG_SHMEM=y
90CONFIG_SLAB=y
91CONFIG_VM_EVENT_COUNTERS=y 96CONFIG_VM_EVENT_COUNTERS=y
97CONFIG_SLAB=y
98# CONFIG_SLUB is not set
99# CONFIG_SLOB is not set
92CONFIG_RT_MUTEXES=y 100CONFIG_RT_MUTEXES=y
93# CONFIG_TINY_SHMEM is not set 101# CONFIG_TINY_SHMEM is not set
94CONFIG_BASE_SMALL=0 102CONFIG_BASE_SMALL=0
95# CONFIG_SLOB is not set
96 103
97# 104#
98# Loadable module support 105# Loadable module support
@@ -124,12 +131,15 @@ CONFIG_DEFAULT_AS=y
124# CONFIG_DEFAULT_CFQ is not set 131# CONFIG_DEFAULT_CFQ is not set
125# CONFIG_DEFAULT_NOOP is not set 132# CONFIG_DEFAULT_NOOP is not set
126CONFIG_DEFAULT_IOSCHED="anticipatory" 133CONFIG_DEFAULT_IOSCHED="anticipatory"
127CONFIG_QUICC_ENGINE=y
128# CONFIG_WANT_EARLY_SERIAL is not set
129 134
130# 135#
131# Platform support 136# Platform support
132# 137#
138# CONFIG_PPC_MPC52xx is not set
139# CONFIG_PPC_MPC5200 is not set
140# CONFIG_PPC_CELL is not set
141# CONFIG_PPC_CELL_NATIVE is not set
142# CONFIG_PQ2ADS is not set
133# CONFIG_MPC8313_RDB is not set 143# CONFIG_MPC8313_RDB is not set
134CONFIG_MPC832x_MDS=y 144CONFIG_MPC832x_MDS=y
135# CONFIG_MPC832x_RDB is not set 145# CONFIG_MPC832x_RDB is not set
@@ -138,6 +148,17 @@ CONFIG_MPC832x_MDS=y
138# CONFIG_MPC836x_MDS is not set 148# CONFIG_MPC836x_MDS is not set
139CONFIG_PPC_MPC832x=y 149CONFIG_PPC_MPC832x=y
140# CONFIG_MPIC is not set 150# CONFIG_MPIC is not set
151# CONFIG_MPIC_WEIRD is not set
152# CONFIG_PPC_I8259 is not set
153# CONFIG_PPC_RTAS is not set
154# CONFIG_MMIO_NVRAM is not set
155# CONFIG_PPC_MPC106 is not set
156# CONFIG_PPC_970_NAP is not set
157# CONFIG_PPC_INDIRECT_IO is not set
158# CONFIG_GENERIC_IOMAP is not set
159# CONFIG_CPU_FREQ is not set
160CONFIG_QUICC_ENGINE=y
161# CONFIG_CPM2 is not set
141 162
142# 163#
143# Kernel options 164# Kernel options
@@ -171,6 +192,8 @@ CONFIG_PROC_DEVICETREE=y
171# CONFIG_CMDLINE_BOOL is not set 192# CONFIG_CMDLINE_BOOL is not set
172# CONFIG_PM is not set 193# CONFIG_PM is not set
173CONFIG_SECCOMP=y 194CONFIG_SECCOMP=y
195CONFIG_WANT_DEVICE_TREE=y
196CONFIG_DEVICE_TREE=""
174CONFIG_ISA_DMA_API=y 197CONFIG_ISA_DMA_API=y
175 198
176# 199#
@@ -178,22 +201,19 @@ CONFIG_ISA_DMA_API=y
178# 201#
179CONFIG_ZONE_DMA=y 202CONFIG_ZONE_DMA=y
180CONFIG_GENERIC_ISA_DMA=y 203CONFIG_GENERIC_ISA_DMA=y
181# CONFIG_MPIC_WEIRD is not set
182# CONFIG_PPC_I8259 is not set
183CONFIG_PPC_INDIRECT_PCI=y 204CONFIG_PPC_INDIRECT_PCI=y
205# CONFIG_PPC_INDIRECT_PCI_BE is not set
184CONFIG_FSL_SOC=y 206CONFIG_FSL_SOC=y
185CONFIG_PCI=y 207CONFIG_PCI=y
186CONFIG_PCI_DOMAINS=y 208CONFIG_PCI_DOMAINS=y
187# CONFIG_PCIEPORTBUS is not set 209# CONFIG_PCIEPORTBUS is not set
210CONFIG_ARCH_SUPPORTS_MSI=y
211# CONFIG_PCI_MSI is not set
188 212
189# 213#
190# PCCARD (PCMCIA/CardBus) support 214# PCCARD (PCMCIA/CardBus) support
191# 215#
192# CONFIG_PCCARD is not set 216# CONFIG_PCCARD is not set
193
194#
195# PCI Hotplug Support
196#
197# CONFIG_HOTPLUG_PCI is not set 217# CONFIG_HOTPLUG_PCI is not set
198 218
199# 219#
@@ -218,7 +238,6 @@ CONFIG_NET=y
218# 238#
219# Networking options 239# Networking options
220# 240#
221# CONFIG_NETDEBUG is not set
222CONFIG_PACKET=y 241CONFIG_PACKET=y
223# CONFIG_PACKET_MMAP is not set 242# CONFIG_PACKET_MMAP is not set
224CONFIG_UNIX=y 243CONFIG_UNIX=y
@@ -259,20 +278,8 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
259# CONFIG_INET6_TUNNEL is not set 278# CONFIG_INET6_TUNNEL is not set
260# CONFIG_NETWORK_SECMARK is not set 279# CONFIG_NETWORK_SECMARK is not set
261# CONFIG_NETFILTER is not set 280# CONFIG_NETFILTER is not set
262
263#
264# DCCP Configuration (EXPERIMENTAL)
265#
266# CONFIG_IP_DCCP is not set 281# CONFIG_IP_DCCP is not set
267
268#
269# SCTP Configuration (EXPERIMENTAL)
270#
271# CONFIG_IP_SCTP is not set 282# CONFIG_IP_SCTP is not set
272
273#
274# TIPC Configuration (EXPERIMENTAL)
275#
276# CONFIG_TIPC is not set 283# CONFIG_TIPC is not set
277# CONFIG_ATM is not set 284# CONFIG_ATM is not set
278# CONFIG_BRIDGE is not set 285# CONFIG_BRIDGE is not set
@@ -298,7 +305,16 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
298# CONFIG_HAMRADIO is not set 305# CONFIG_HAMRADIO is not set
299# CONFIG_IRDA is not set 306# CONFIG_IRDA is not set
300# CONFIG_BT is not set 307# CONFIG_BT is not set
308# CONFIG_AF_RXRPC is not set
309
310#
311# Wireless
312#
313# CONFIG_CFG80211 is not set
314# CONFIG_WIRELESS_EXT is not set
315# CONFIG_MAC80211 is not set
301# CONFIG_IEEE80211 is not set 316# CONFIG_IEEE80211 is not set
317# CONFIG_RFKILL is not set
302 318
303# 319#
304# Device Drivers 320# Device Drivers
@@ -316,10 +332,6 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
316# Connector - unified userspace <-> kernelspace linker 332# Connector - unified userspace <-> kernelspace linker
317# 333#
318# CONFIG_CONNECTOR is not set 334# CONFIG_CONNECTOR is not set
319
320#
321# Memory Technology Devices (MTD)
322#
323# CONFIG_MTD is not set 335# CONFIG_MTD is not set
324 336
325# 337#
@@ -355,12 +367,10 @@ CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
355# 367#
356# Misc devices 368# Misc devices
357# 369#
370# CONFIG_PHANTOM is not set
358# CONFIG_SGI_IOC4 is not set 371# CONFIG_SGI_IOC4 is not set
359# CONFIG_TIFM_CORE is not set 372# CONFIG_TIFM_CORE is not set
360 373# CONFIG_BLINK is not set
361#
362# ATA/ATAPI/MFM/RLL support
363#
364# CONFIG_IDE is not set 374# CONFIG_IDE is not set
365 375
366# 376#
@@ -389,6 +399,7 @@ CONFIG_SCSI_PROC_FS=y
389# CONFIG_SCSI_CONSTANTS is not set 399# CONFIG_SCSI_CONSTANTS is not set
390# CONFIG_SCSI_LOGGING is not set 400# CONFIG_SCSI_LOGGING is not set
391# CONFIG_SCSI_SCAN_ASYNC is not set 401# CONFIG_SCSI_SCAN_ASYNC is not set
402CONFIG_SCSI_WAIT_SCAN=m
392 403
393# 404#
394# SCSI Transports 405# SCSI Transports
@@ -436,10 +447,6 @@ CONFIG_SCSI_PROC_FS=y
436# CONFIG_SCSI_NSP32 is not set 447# CONFIG_SCSI_NSP32 is not set
437# CONFIG_SCSI_DEBUG is not set 448# CONFIG_SCSI_DEBUG is not set
438# CONFIG_SCSI_SRP is not set 449# CONFIG_SCSI_SRP is not set
439
440#
441# Serial ATA (prod) and Parallel ATA (experimental) drivers
442#
443# CONFIG_ATA is not set 450# CONFIG_ATA is not set
444 451
445# 452#
@@ -458,18 +465,14 @@ CONFIG_SCSI_PROC_FS=y
458# 465#
459# IEEE 1394 (FireWire) support 466# IEEE 1394 (FireWire) support
460# 467#
468# CONFIG_FIREWIRE is not set
461# CONFIG_IEEE1394 is not set 469# CONFIG_IEEE1394 is not set
462 470
463# 471#
464# I2O device support 472# I2O device support
465# 473#
466# CONFIG_I2O is not set 474# CONFIG_I2O is not set
467 475# CONFIG_MACINTOSH_DRIVERS is not set
468#
469# Macintosh device drivers
470#
471# CONFIG_MAC_EMUMOUSEBTN is not set
472# CONFIG_WINDFARM is not set
473 476
474# 477#
475# Network device support 478# Network device support
@@ -479,15 +482,7 @@ CONFIG_NETDEVICES=y
479# CONFIG_BONDING is not set 482# CONFIG_BONDING is not set
480# CONFIG_EQUALIZER is not set 483# CONFIG_EQUALIZER is not set
481# CONFIG_TUN is not set 484# CONFIG_TUN is not set
482
483#
484# ARCnet devices
485#
486# CONFIG_ARCNET is not set 485# CONFIG_ARCNET is not set
487
488#
489# PHY device support
490#
491CONFIG_PHYLIB=y 486CONFIG_PHYLIB=y
492 487
493# 488#
@@ -501,7 +496,6 @@ CONFIG_DAVICOM_PHY=y
501# CONFIG_VITESSE_PHY is not set 496# CONFIG_VITESSE_PHY is not set
502# CONFIG_SMSC_PHY is not set 497# CONFIG_SMSC_PHY is not set
503# CONFIG_BROADCOM_PHY is not set 498# CONFIG_BROADCOM_PHY is not set
504# CONFIG_ICPLUS_PHY is not set
505# CONFIG_FIXED_PHY is not set 499# CONFIG_FIXED_PHY is not set
506 500
507# 501#
@@ -520,10 +514,7 @@ CONFIG_MII=y
520# CONFIG_NET_TULIP is not set 514# CONFIG_NET_TULIP is not set
521# CONFIG_HP100 is not set 515# CONFIG_HP100 is not set
522# CONFIG_NET_PCI is not set 516# CONFIG_NET_PCI is not set
523 517CONFIG_NETDEV_1000=y
524#
525# Ethernet (1000 Mbit)
526#
527# CONFIG_ACENIC is not set 518# CONFIG_ACENIC is not set
528# CONFIG_DL2K is not set 519# CONFIG_DL2K is not set
529# CONFIG_E1000 is not set 520# CONFIG_E1000 is not set
@@ -535,6 +526,7 @@ CONFIG_MII=y
535# CONFIG_SKGE is not set 526# CONFIG_SKGE is not set
536# CONFIG_SKY2 is not set 527# CONFIG_SKY2 is not set
537# CONFIG_SK98LIN is not set 528# CONFIG_SK98LIN is not set
529# CONFIG_VIA_VELOCITY is not set
538# CONFIG_TIGON3 is not set 530# CONFIG_TIGON3 is not set
539# CONFIG_BNX2 is not set 531# CONFIG_BNX2 is not set
540# CONFIG_GIANFAR is not set 532# CONFIG_GIANFAR is not set
@@ -542,33 +534,24 @@ CONFIG_UCC_GETH=y
542# CONFIG_UGETH_NAPI is not set 534# CONFIG_UGETH_NAPI is not set
543# CONFIG_UGETH_MAGIC_PACKET is not set 535# CONFIG_UGETH_MAGIC_PACKET is not set
544# CONFIG_UGETH_FILTERING is not set 536# CONFIG_UGETH_FILTERING is not set
545# CONFIG_UGETH_TX_ON_DEMOND is not set 537# CONFIG_UGETH_TX_ON_DEMAND is not set
546# CONFIG_QLA3XXX is not set 538# CONFIG_QLA3XXX is not set
547# CONFIG_ATL1 is not set 539# CONFIG_ATL1 is not set
548 540CONFIG_NETDEV_10000=y
549#
550# Ethernet (10000 Mbit)
551#
552# CONFIG_CHELSIO_T1 is not set 541# CONFIG_CHELSIO_T1 is not set
553# CONFIG_CHELSIO_T3 is not set 542# CONFIG_CHELSIO_T3 is not set
554# CONFIG_IXGB is not set 543# CONFIG_IXGB is not set
555# CONFIG_S2IO is not set 544# CONFIG_S2IO is not set
556# CONFIG_MYRI10GE is not set 545# CONFIG_MYRI10GE is not set
557# CONFIG_NETXEN_NIC is not set 546# CONFIG_NETXEN_NIC is not set
558 547# CONFIG_MLX4_CORE is not set
559#
560# Token Ring devices
561#
562# CONFIG_TR is not set 548# CONFIG_TR is not set
563 549
564# 550#
565# Wireless LAN (non-hamradio) 551# Wireless LAN
566#
567# CONFIG_NET_RADIO is not set
568
569#
570# Wan interfaces
571# 552#
553# CONFIG_WLAN_PRE80211 is not set
554# CONFIG_WLAN_80211 is not set
572# CONFIG_WAN is not set 555# CONFIG_WAN is not set
573# CONFIG_FDDI is not set 556# CONFIG_FDDI is not set
574# CONFIG_HIPPI is not set 557# CONFIG_HIPPI is not set
@@ -595,6 +578,7 @@ CONFIG_UCC_GETH=y
595# 578#
596CONFIG_INPUT=y 579CONFIG_INPUT=y
597# CONFIG_INPUT_FF_MEMLESS is not set 580# CONFIG_INPUT_FF_MEMLESS is not set
581# CONFIG_INPUT_POLLDEV is not set
598 582
599# 583#
600# Userland interfaces 584# Userland interfaces
@@ -611,6 +595,7 @@ CONFIG_INPUT=y
611# CONFIG_INPUT_KEYBOARD is not set 595# CONFIG_INPUT_KEYBOARD is not set
612# CONFIG_INPUT_MOUSE is not set 596# CONFIG_INPUT_MOUSE is not set
613# CONFIG_INPUT_JOYSTICK is not set 597# CONFIG_INPUT_JOYSTICK is not set
598# CONFIG_INPUT_TABLET is not set
614# CONFIG_INPUT_TOUCHSCREEN is not set 599# CONFIG_INPUT_TOUCHSCREEN is not set
615# CONFIG_INPUT_MISC is not set 600# CONFIG_INPUT_MISC is not set
616 601
@@ -652,10 +637,6 @@ CONFIG_LEGACY_PTY_COUNT=256
652# IPMI 637# IPMI
653# 638#
654# CONFIG_IPMI_HANDLER is not set 639# CONFIG_IPMI_HANDLER is not set
655
656#
657# Watchdog Cards
658#
659CONFIG_WATCHDOG=y 640CONFIG_WATCHDOG=y
660# CONFIG_WATCHDOG_NOWAYOUT is not set 641# CONFIG_WATCHDOG_NOWAYOUT is not set
661 642
@@ -674,7 +655,6 @@ CONFIG_HW_RANDOM=y
674# CONFIG_NVRAM is not set 655# CONFIG_NVRAM is not set
675CONFIG_GEN_RTC=y 656CONFIG_GEN_RTC=y
676# CONFIG_GEN_RTC_X is not set 657# CONFIG_GEN_RTC_X is not set
677# CONFIG_DTLK is not set
678# CONFIG_R3964 is not set 658# CONFIG_R3964 is not set
679# CONFIG_APPLICOM is not set 659# CONFIG_APPLICOM is not set
680# CONFIG_AGP is not set 660# CONFIG_AGP is not set
@@ -685,11 +665,9 @@ CONFIG_GEN_RTC=y
685# TPM devices 665# TPM devices
686# 666#
687# CONFIG_TCG_TPM is not set 667# CONFIG_TCG_TPM is not set
688 668CONFIG_DEVPORT=y
689#
690# I2C support
691#
692CONFIG_I2C=y 669CONFIG_I2C=y
670CONFIG_I2C_BOARDINFO=y
693CONFIG_I2C_CHARDEV=y 671CONFIG_I2C_CHARDEV=y
694 672
695# 673#
@@ -714,9 +692,9 @@ CONFIG_I2C_MPC=y
714# CONFIG_I2C_NFORCE2 is not set 692# CONFIG_I2C_NFORCE2 is not set
715# CONFIG_I2C_OCORES is not set 693# CONFIG_I2C_OCORES is not set
716# CONFIG_I2C_PARPORT_LIGHT is not set 694# CONFIG_I2C_PARPORT_LIGHT is not set
717# CONFIG_I2C_PASEMI is not set
718# CONFIG_I2C_PROSAVAGE is not set 695# CONFIG_I2C_PROSAVAGE is not set
719# CONFIG_I2C_SAVAGE4 is not set 696# CONFIG_I2C_SAVAGE4 is not set
697# CONFIG_I2C_SIMTEC is not set
720# CONFIG_I2C_SIS5595 is not set 698# CONFIG_I2C_SIS5595 is not set
721# CONFIG_I2C_SIS630 is not set 699# CONFIG_I2C_SIS630 is not set
722# CONFIG_I2C_SIS96X is not set 700# CONFIG_I2C_SIS96X is not set
@@ -724,7 +702,6 @@ CONFIG_I2C_MPC=y
724# CONFIG_I2C_VIA is not set 702# CONFIG_I2C_VIA is not set
725# CONFIG_I2C_VIAPRO is not set 703# CONFIG_I2C_VIAPRO is not set
726# CONFIG_I2C_VOODOO3 is not set 704# CONFIG_I2C_VOODOO3 is not set
727# CONFIG_I2C_PCA_ISA is not set
728 705
729# 706#
730# Miscellaneous I2C Chip support 707# Miscellaneous I2C Chip support
@@ -752,13 +729,10 @@ CONFIG_I2C_MPC=y
752# Dallas's 1-wire bus 729# Dallas's 1-wire bus
753# 730#
754# CONFIG_W1 is not set 731# CONFIG_W1 is not set
755
756#
757# Hardware Monitoring support
758#
759CONFIG_HWMON=y 732CONFIG_HWMON=y
760# CONFIG_HWMON_VID is not set 733# CONFIG_HWMON_VID is not set
761# CONFIG_SENSORS_ABITUGURU is not set 734# CONFIG_SENSORS_ABITUGURU is not set
735# CONFIG_SENSORS_AD7418 is not set
762# CONFIG_SENSORS_ADM1021 is not set 736# CONFIG_SENSORS_ADM1021 is not set
763# CONFIG_SENSORS_ADM1025 is not set 737# CONFIG_SENSORS_ADM1025 is not set
764# CONFIG_SENSORS_ADM1026 is not set 738# CONFIG_SENSORS_ADM1026 is not set
@@ -785,6 +759,7 @@ CONFIG_HWMON=y
785# CONFIG_SENSORS_LM90 is not set 759# CONFIG_SENSORS_LM90 is not set
786# CONFIG_SENSORS_LM92 is not set 760# CONFIG_SENSORS_LM92 is not set
787# CONFIG_SENSORS_MAX1619 is not set 761# CONFIG_SENSORS_MAX1619 is not set
762# CONFIG_SENSORS_MAX6650 is not set
788# CONFIG_SENSORS_PC87360 is not set 763# CONFIG_SENSORS_PC87360 is not set
789# CONFIG_SENSORS_PC87427 is not set 764# CONFIG_SENSORS_PC87427 is not set
790# CONFIG_SENSORS_SIS5595 is not set 765# CONFIG_SENSORS_SIS5595 is not set
@@ -812,16 +787,19 @@ CONFIG_HWMON=y
812# Multimedia devices 787# Multimedia devices
813# 788#
814# CONFIG_VIDEO_DEV is not set 789# CONFIG_VIDEO_DEV is not set
790# CONFIG_DVB_CORE is not set
791CONFIG_DAB=y
815 792
816# 793#
817# Digital Video Broadcasting Devices 794# Graphics support
818# 795#
819# CONFIG_DVB is not set 796# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
820 797
821# 798#
822# Graphics support 799# Display device support
823# 800#
824# CONFIG_BACKLIGHT_LCD_SUPPORT is not set 801# CONFIG_DISPLAY_SUPPORT is not set
802# CONFIG_VGASTATE is not set
825# CONFIG_FB is not set 803# CONFIG_FB is not set
826# CONFIG_FB_IBM_GXT4500 is not set 804# CONFIG_FB_IBM_GXT4500 is not set
827 805
@@ -852,10 +830,6 @@ CONFIG_USB_ARCH_HAS_EHCI=y
852# USB Gadget Support 830# USB Gadget Support
853# 831#
854# CONFIG_USB_GADGET is not set 832# CONFIG_USB_GADGET is not set
855
856#
857# MMC/SD Card support
858#
859# CONFIG_MMC is not set 833# CONFIG_MMC is not set
860 834
861# 835#
@@ -899,14 +873,6 @@ CONFIG_USB_ARCH_HAS_EHCI=y
899# 873#
900 874
901# 875#
902# Auxiliary Display support
903#
904
905#
906# Virtualization
907#
908
909#
910# File systems 876# File systems
911# 877#
912CONFIG_EXT2_FS=y 878CONFIG_EXT2_FS=y
@@ -994,6 +960,7 @@ CONFIG_LOCKD_V4=y
994CONFIG_NFS_COMMON=y 960CONFIG_NFS_COMMON=y
995CONFIG_SUNRPC=y 961CONFIG_SUNRPC=y
996CONFIG_SUNRPC_GSS=y 962CONFIG_SUNRPC_GSS=y
963# CONFIG_SUNRPC_BIND34 is not set
997CONFIG_RPCSEC_GSS_KRB5=y 964CONFIG_RPCSEC_GSS_KRB5=y
998# CONFIG_RPCSEC_GSS_SPKM3 is not set 965# CONFIG_RPCSEC_GSS_SPKM3 is not set
999# CONFIG_SMB_FS is not set 966# CONFIG_SMB_FS is not set
@@ -1019,6 +986,7 @@ CONFIG_PARTITION_ADVANCED=y
1019# CONFIG_SUN_PARTITION is not set 986# CONFIG_SUN_PARTITION is not set
1020# CONFIG_KARMA_PARTITION is not set 987# CONFIG_KARMA_PARTITION is not set
1021# CONFIG_EFI_PARTITION is not set 988# CONFIG_EFI_PARTITION is not set
989# CONFIG_SYSV68_PARTITION is not set
1022 990
1023# 991#
1024# Native Language Support 992# Native Language Support
@@ -1039,11 +1007,13 @@ CONFIG_UCC=y
1039CONFIG_BITREVERSE=y 1007CONFIG_BITREVERSE=y
1040# CONFIG_CRC_CCITT is not set 1008# CONFIG_CRC_CCITT is not set
1041# CONFIG_CRC16 is not set 1009# CONFIG_CRC16 is not set
1010# CONFIG_CRC_ITU_T is not set
1042CONFIG_CRC32=y 1011CONFIG_CRC32=y
1043# CONFIG_LIBCRC32C is not set 1012# CONFIG_LIBCRC32C is not set
1044CONFIG_PLIST=y 1013CONFIG_PLIST=y
1045CONFIG_HAS_IOMEM=y 1014CONFIG_HAS_IOMEM=y
1046CONFIG_HAS_IOPORT=y 1015CONFIG_HAS_IOPORT=y
1016CONFIG_HAS_DMA=y
1047 1017
1048# 1018#
1049# Instrumentation Support 1019# Instrumentation Support
@@ -1060,7 +1030,6 @@ CONFIG_ENABLE_MUST_CHECK=y
1060# CONFIG_DEBUG_FS is not set 1030# CONFIG_DEBUG_FS is not set
1061# CONFIG_HEADERS_CHECK is not set 1031# CONFIG_HEADERS_CHECK is not set
1062# CONFIG_DEBUG_KERNEL is not set 1032# CONFIG_DEBUG_KERNEL is not set
1063CONFIG_LOG_BUF_SHIFT=14
1064# CONFIG_DEBUG_BUGVERBOSE is not set 1033# CONFIG_DEBUG_BUGVERBOSE is not set
1065# CONFIG_BOOTX_TEXT is not set 1034# CONFIG_BOOTX_TEXT is not set
1066# CONFIG_PPC_EARLY_DEBUG is not set 1035# CONFIG_PPC_EARLY_DEBUG is not set
@@ -1093,6 +1062,7 @@ CONFIG_CRYPTO_ECB=m
1093CONFIG_CRYPTO_CBC=y 1062CONFIG_CRYPTO_CBC=y
1094CONFIG_CRYPTO_PCBC=m 1063CONFIG_CRYPTO_PCBC=m
1095# CONFIG_CRYPTO_LRW is not set 1064# CONFIG_CRYPTO_LRW is not set
1065# CONFIG_CRYPTO_CRYPTD is not set
1096CONFIG_CRYPTO_DES=y 1066CONFIG_CRYPTO_DES=y
1097# CONFIG_CRYPTO_FCRYPT is not set 1067# CONFIG_CRYPTO_FCRYPT is not set
1098# CONFIG_CRYPTO_BLOWFISH is not set 1068# CONFIG_CRYPTO_BLOWFISH is not set
diff --git a/arch/powerpc/configs/mpc832x_rdb_defconfig b/arch/powerpc/configs/mpc832x_rdb_defconfig
index 4a4da875fa4e..6a83b66dd99e 100644
--- a/arch/powerpc/configs/mpc832x_rdb_defconfig
+++ b/arch/powerpc/configs/mpc832x_rdb_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.21-rc5 3# Linux kernel version: 2.6.22-rc7
4# Mon Apr 9 16:12:43 2007 4# Sun Jul 1 23:56:56 2007
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7CONFIG_PPC32=y 7CONFIG_PPC32=y
@@ -45,6 +45,7 @@ CONFIG_PPC_FPU=y
45# CONFIG_PPC_DCR_MMIO is not set 45# CONFIG_PPC_DCR_MMIO is not set
46CONFIG_PPC_STD_MMU=y 46CONFIG_PPC_STD_MMU=y
47CONFIG_PPC_STD_MMU_32=y 47CONFIG_PPC_STD_MMU_32=y
48# CONFIG_PPC_MM_SLICES is not set
48# CONFIG_SMP is not set 49# CONFIG_SMP is not set
49CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 50CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
50 51
@@ -70,6 +71,7 @@ CONFIG_SYSVIPC_SYSCTL=y
70# CONFIG_UTS_NS is not set 71# CONFIG_UTS_NS is not set
71# CONFIG_AUDIT is not set 72# CONFIG_AUDIT is not set
72# CONFIG_IKCONFIG is not set 73# CONFIG_IKCONFIG is not set
74CONFIG_LOG_BUF_SHIFT=14
73CONFIG_SYSFS_DEPRECATED=y 75CONFIG_SYSFS_DEPRECATED=y
74# CONFIG_RELAY is not set 76# CONFIG_RELAY is not set
75CONFIG_BLK_DEV_INITRD=y 77CONFIG_BLK_DEV_INITRD=y
@@ -85,14 +87,19 @@ CONFIG_BUG=y
85CONFIG_ELF_CORE=y 87CONFIG_ELF_CORE=y
86CONFIG_BASE_FULL=y 88CONFIG_BASE_FULL=y
87CONFIG_FUTEX=y 89CONFIG_FUTEX=y
90CONFIG_ANON_INODES=y
88# CONFIG_EPOLL is not set 91# CONFIG_EPOLL is not set
92CONFIG_SIGNALFD=y
93CONFIG_TIMERFD=y
94CONFIG_EVENTFD=y
89CONFIG_SHMEM=y 95CONFIG_SHMEM=y
90CONFIG_SLAB=y
91CONFIG_VM_EVENT_COUNTERS=y 96CONFIG_VM_EVENT_COUNTERS=y
97CONFIG_SLAB=y
98# CONFIG_SLUB is not set
99# CONFIG_SLOB is not set
92CONFIG_RT_MUTEXES=y 100CONFIG_RT_MUTEXES=y
93# CONFIG_TINY_SHMEM is not set 101# CONFIG_TINY_SHMEM is not set
94CONFIG_BASE_SMALL=0 102CONFIG_BASE_SMALL=0
95# CONFIG_SLOB is not set
96 103
97# 104#
98# Loadable module support 105# Loadable module support
@@ -124,12 +131,15 @@ CONFIG_DEFAULT_AS=y
124# CONFIG_DEFAULT_CFQ is not set 131# CONFIG_DEFAULT_CFQ is not set
125# CONFIG_DEFAULT_NOOP is not set 132# CONFIG_DEFAULT_NOOP is not set
126CONFIG_DEFAULT_IOSCHED="anticipatory" 133CONFIG_DEFAULT_IOSCHED="anticipatory"
127CONFIG_QUICC_ENGINE=y
128# CONFIG_WANT_EARLY_SERIAL is not set
129 134
130# 135#
131# Platform support 136# Platform support
132# 137#
138# CONFIG_PPC_MPC52xx is not set
139# CONFIG_PPC_MPC5200 is not set
140# CONFIG_PPC_CELL is not set
141# CONFIG_PPC_CELL_NATIVE is not set
142# CONFIG_PQ2ADS is not set
133# CONFIG_MPC8313_RDB is not set 143# CONFIG_MPC8313_RDB is not set
134# CONFIG_MPC832x_MDS is not set 144# CONFIG_MPC832x_MDS is not set
135CONFIG_MPC832x_RDB=y 145CONFIG_MPC832x_RDB=y
@@ -138,6 +148,17 @@ CONFIG_MPC832x_RDB=y
138# CONFIG_MPC836x_MDS is not set 148# CONFIG_MPC836x_MDS is not set
139CONFIG_PPC_MPC832x=y 149CONFIG_PPC_MPC832x=y
140# CONFIG_MPIC is not set 150# CONFIG_MPIC is not set
151# CONFIG_MPIC_WEIRD is not set
152# CONFIG_PPC_I8259 is not set
153# CONFIG_PPC_RTAS is not set
154# CONFIG_MMIO_NVRAM is not set
155# CONFIG_PPC_MPC106 is not set
156# CONFIG_PPC_970_NAP is not set
157# CONFIG_PPC_INDIRECT_IO is not set
158# CONFIG_GENERIC_IOMAP is not set
159# CONFIG_CPU_FREQ is not set
160CONFIG_QUICC_ENGINE=y
161# CONFIG_CPM2 is not set
141 162
142# 163#
143# Kernel options 164# Kernel options
@@ -171,6 +192,8 @@ CONFIG_PROC_DEVICETREE=y
171# CONFIG_CMDLINE_BOOL is not set 192# CONFIG_CMDLINE_BOOL is not set
172# CONFIG_PM is not set 193# CONFIG_PM is not set
173CONFIG_SECCOMP=y 194CONFIG_SECCOMP=y
195CONFIG_WANT_DEVICE_TREE=y
196CONFIG_DEVICE_TREE=""
174CONFIG_ISA_DMA_API=y 197CONFIG_ISA_DMA_API=y
175 198
176# 199#
@@ -178,22 +201,19 @@ CONFIG_ISA_DMA_API=y
178# 201#
179CONFIG_ZONE_DMA=y 202CONFIG_ZONE_DMA=y
180CONFIG_GENERIC_ISA_DMA=y 203CONFIG_GENERIC_ISA_DMA=y
181# CONFIG_MPIC_WEIRD is not set
182# CONFIG_PPC_I8259 is not set
183CONFIG_PPC_INDIRECT_PCI=y 204CONFIG_PPC_INDIRECT_PCI=y
205# CONFIG_PPC_INDIRECT_PCI_BE is not set
184CONFIG_FSL_SOC=y 206CONFIG_FSL_SOC=y
185CONFIG_PCI=y 207CONFIG_PCI=y
186CONFIG_PCI_DOMAINS=y 208CONFIG_PCI_DOMAINS=y
187# CONFIG_PCIEPORTBUS is not set 209# CONFIG_PCIEPORTBUS is not set
210CONFIG_ARCH_SUPPORTS_MSI=y
211# CONFIG_PCI_MSI is not set
188 212
189# 213#
190# PCCARD (PCMCIA/CardBus) support 214# PCCARD (PCMCIA/CardBus) support
191# 215#
192# CONFIG_PCCARD is not set 216# CONFIG_PCCARD is not set
193
194#
195# PCI Hotplug Support
196#
197# CONFIG_HOTPLUG_PCI is not set 217# CONFIG_HOTPLUG_PCI is not set
198 218
199# 219#
@@ -218,7 +238,6 @@ CONFIG_NET=y
218# 238#
219# Networking options 239# Networking options
220# 240#
221# CONFIG_NETDEBUG is not set
222CONFIG_PACKET=y 241CONFIG_PACKET=y
223# CONFIG_PACKET_MMAP is not set 242# CONFIG_PACKET_MMAP is not set
224CONFIG_UNIX=y 243CONFIG_UNIX=y
@@ -259,20 +278,8 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
259# CONFIG_INET6_TUNNEL is not set 278# CONFIG_INET6_TUNNEL is not set
260# CONFIG_NETWORK_SECMARK is not set 279# CONFIG_NETWORK_SECMARK is not set
261# CONFIG_NETFILTER is not set 280# CONFIG_NETFILTER is not set
262
263#
264# DCCP Configuration (EXPERIMENTAL)
265#
266# CONFIG_IP_DCCP is not set 281# CONFIG_IP_DCCP is not set
267
268#
269# SCTP Configuration (EXPERIMENTAL)
270#
271# CONFIG_IP_SCTP is not set 282# CONFIG_IP_SCTP is not set
272
273#
274# TIPC Configuration (EXPERIMENTAL)
275#
276# CONFIG_TIPC is not set 283# CONFIG_TIPC is not set
277# CONFIG_ATM is not set 284# CONFIG_ATM is not set
278# CONFIG_BRIDGE is not set 285# CONFIG_BRIDGE is not set
@@ -298,7 +305,16 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
298# CONFIG_HAMRADIO is not set 305# CONFIG_HAMRADIO is not set
299# CONFIG_IRDA is not set 306# CONFIG_IRDA is not set
300# CONFIG_BT is not set 307# CONFIG_BT is not set
308# CONFIG_AF_RXRPC is not set
309
310#
311# Wireless
312#
313# CONFIG_CFG80211 is not set
314# CONFIG_WIRELESS_EXT is not set
315# CONFIG_MAC80211 is not set
301# CONFIG_IEEE80211 is not set 316# CONFIG_IEEE80211 is not set
317# CONFIG_RFKILL is not set
302 318
303# 319#
304# Device Drivers 320# Device Drivers
@@ -316,10 +332,6 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
316# Connector - unified userspace <-> kernelspace linker 332# Connector - unified userspace <-> kernelspace linker
317# 333#
318# CONFIG_CONNECTOR is not set 334# CONFIG_CONNECTOR is not set
319
320#
321# Memory Technology Devices (MTD)
322#
323# CONFIG_MTD is not set 335# CONFIG_MTD is not set
324 336
325# 337#
@@ -356,12 +368,10 @@ CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
356# 368#
357# Misc devices 369# Misc devices
358# 370#
371# CONFIG_PHANTOM is not set
359# CONFIG_SGI_IOC4 is not set 372# CONFIG_SGI_IOC4 is not set
360# CONFIG_TIFM_CORE is not set 373# CONFIG_TIFM_CORE is not set
361 374# CONFIG_BLINK is not set
362#
363# ATA/ATAPI/MFM/RLL support
364#
365# CONFIG_IDE is not set 375# CONFIG_IDE is not set
366 376
367# 377#
@@ -390,6 +400,7 @@ CONFIG_BLK_DEV_SD=y
390# CONFIG_SCSI_CONSTANTS is not set 400# CONFIG_SCSI_CONSTANTS is not set
391# CONFIG_SCSI_LOGGING is not set 401# CONFIG_SCSI_LOGGING is not set
392# CONFIG_SCSI_SCAN_ASYNC is not set 402# CONFIG_SCSI_SCAN_ASYNC is not set
403CONFIG_SCSI_WAIT_SCAN=m
393 404
394# 405#
395# SCSI Transports 406# SCSI Transports
@@ -437,10 +448,6 @@ CONFIG_BLK_DEV_SD=y
437# CONFIG_SCSI_NSP32 is not set 448# CONFIG_SCSI_NSP32 is not set
438# CONFIG_SCSI_DEBUG is not set 449# CONFIG_SCSI_DEBUG is not set
439# CONFIG_SCSI_SRP is not set 450# CONFIG_SCSI_SRP is not set
440
441#
442# Serial ATA (prod) and Parallel ATA (experimental) drivers
443#
444# CONFIG_ATA is not set 451# CONFIG_ATA is not set
445 452
446# 453#
@@ -459,18 +466,14 @@ CONFIG_BLK_DEV_SD=y
459# 466#
460# IEEE 1394 (FireWire) support 467# IEEE 1394 (FireWire) support
461# 468#
469# CONFIG_FIREWIRE is not set
462# CONFIG_IEEE1394 is not set 470# CONFIG_IEEE1394 is not set
463 471
464# 472#
465# I2O device support 473# I2O device support
466# 474#
467# CONFIG_I2O is not set 475# CONFIG_I2O is not set
468 476# CONFIG_MACINTOSH_DRIVERS is not set
469#
470# Macintosh device drivers
471#
472# CONFIG_MAC_EMUMOUSEBTN is not set
473# CONFIG_WINDFARM is not set
474 477
475# 478#
476# Network device support 479# Network device support
@@ -480,15 +483,7 @@ CONFIG_NETDEVICES=y
480# CONFIG_BONDING is not set 483# CONFIG_BONDING is not set
481# CONFIG_EQUALIZER is not set 484# CONFIG_EQUALIZER is not set
482# CONFIG_TUN is not set 485# CONFIG_TUN is not set
483
484#
485# ARCnet devices
486#
487# CONFIG_ARCNET is not set 486# CONFIG_ARCNET is not set
488
489#
490# PHY device support
491#
492CONFIG_PHYLIB=y 487CONFIG_PHYLIB=y
493 488
494# 489#
@@ -502,7 +497,6 @@ CONFIG_PHYLIB=y
502# CONFIG_VITESSE_PHY is not set 497# CONFIG_VITESSE_PHY is not set
503# CONFIG_SMSC_PHY is not set 498# CONFIG_SMSC_PHY is not set
504# CONFIG_BROADCOM_PHY is not set 499# CONFIG_BROADCOM_PHY is not set
505CONFIG_ICPLUS_PHY=y
506# CONFIG_FIXED_PHY is not set 500# CONFIG_FIXED_PHY is not set
507 501
508# 502#
@@ -521,10 +515,7 @@ CONFIG_MII=y
521# CONFIG_NET_TULIP is not set 515# CONFIG_NET_TULIP is not set
522# CONFIG_HP100 is not set 516# CONFIG_HP100 is not set
523# CONFIG_NET_PCI is not set 517# CONFIG_NET_PCI is not set
524 518CONFIG_NETDEV_1000=y
525#
526# Ethernet (1000 Mbit)
527#
528# CONFIG_ACENIC is not set 519# CONFIG_ACENIC is not set
529# CONFIG_DL2K is not set 520# CONFIG_DL2K is not set
530CONFIG_E1000=y 521CONFIG_E1000=y
@@ -538,6 +529,7 @@ CONFIG_E1000=y
538# CONFIG_SKGE is not set 529# CONFIG_SKGE is not set
539# CONFIG_SKY2 is not set 530# CONFIG_SKY2 is not set
540# CONFIG_SK98LIN is not set 531# CONFIG_SK98LIN is not set
532# CONFIG_VIA_VELOCITY is not set
541# CONFIG_TIGON3 is not set 533# CONFIG_TIGON3 is not set
542# CONFIG_BNX2 is not set 534# CONFIG_BNX2 is not set
543# CONFIG_GIANFAR is not set 535# CONFIG_GIANFAR is not set
@@ -545,33 +537,34 @@ CONFIG_UCC_GETH=y
545CONFIG_UGETH_NAPI=y 537CONFIG_UGETH_NAPI=y
546# CONFIG_UGETH_MAGIC_PACKET is not set 538# CONFIG_UGETH_MAGIC_PACKET is not set
547# CONFIG_UGETH_FILTERING is not set 539# CONFIG_UGETH_FILTERING is not set
548# CONFIG_UGETH_TX_ON_DEMOND is not set 540# CONFIG_UGETH_TX_ON_DEMAND is not set
549# CONFIG_QLA3XXX is not set 541# CONFIG_QLA3XXX is not set
550# CONFIG_ATL1 is not set 542# CONFIG_ATL1 is not set
551 543CONFIG_NETDEV_10000=y
552#
553# Ethernet (10000 Mbit)
554#
555# CONFIG_CHELSIO_T1 is not set 544# CONFIG_CHELSIO_T1 is not set
556# CONFIG_CHELSIO_T3 is not set 545# CONFIG_CHELSIO_T3 is not set
557# CONFIG_IXGB is not set 546# CONFIG_IXGB is not set
558# CONFIG_S2IO is not set 547# CONFIG_S2IO is not set
559# CONFIG_MYRI10GE is not set 548# CONFIG_MYRI10GE is not set
560# CONFIG_NETXEN_NIC is not set 549# CONFIG_NETXEN_NIC is not set
561 550# CONFIG_MLX4_CORE is not set
562#
563# Token Ring devices
564#
565# CONFIG_TR is not set 551# CONFIG_TR is not set
566 552
567# 553#
568# Wireless LAN (non-hamradio) 554# Wireless LAN
569# 555#
570# CONFIG_NET_RADIO is not set 556# CONFIG_WLAN_PRE80211 is not set
557# CONFIG_WLAN_80211 is not set
571 558
572# 559#
573# Wan interfaces 560# USB Network Adapters
574# 561#
562# CONFIG_USB_CATC is not set
563# CONFIG_USB_KAWETH is not set
564# CONFIG_USB_PEGASUS is not set
565# CONFIG_USB_RTL8150 is not set
566# CONFIG_USB_USBNET_MII is not set
567# CONFIG_USB_USBNET is not set
575# CONFIG_WAN is not set 568# CONFIG_WAN is not set
576# CONFIG_FDDI is not set 569# CONFIG_FDDI is not set
577# CONFIG_HIPPI is not set 570# CONFIG_HIPPI is not set
@@ -598,6 +591,7 @@ CONFIG_UGETH_NAPI=y
598# 591#
599CONFIG_INPUT=y 592CONFIG_INPUT=y
600# CONFIG_INPUT_FF_MEMLESS is not set 593# CONFIG_INPUT_FF_MEMLESS is not set
594# CONFIG_INPUT_POLLDEV is not set
601 595
602# 596#
603# Userland interfaces 597# Userland interfaces
@@ -614,6 +608,7 @@ CONFIG_INPUT=y
614# CONFIG_INPUT_KEYBOARD is not set 608# CONFIG_INPUT_KEYBOARD is not set
615# CONFIG_INPUT_MOUSE is not set 609# CONFIG_INPUT_MOUSE is not set
616# CONFIG_INPUT_JOYSTICK is not set 610# CONFIG_INPUT_JOYSTICK is not set
611# CONFIG_INPUT_TABLET is not set
617# CONFIG_INPUT_TOUCHSCREEN is not set 612# CONFIG_INPUT_TOUCHSCREEN is not set
618# CONFIG_INPUT_MISC is not set 613# CONFIG_INPUT_MISC is not set
619 614
@@ -655,10 +650,6 @@ CONFIG_LEGACY_PTY_COUNT=256
655# IPMI 650# IPMI
656# 651#
657# CONFIG_IPMI_HANDLER is not set 652# CONFIG_IPMI_HANDLER is not set
658
659#
660# Watchdog Cards
661#
662CONFIG_WATCHDOG=y 653CONFIG_WATCHDOG=y
663# CONFIG_WATCHDOG_NOWAYOUT is not set 654# CONFIG_WATCHDOG_NOWAYOUT is not set
664 655
@@ -682,7 +673,6 @@ CONFIG_HW_RANDOM=y
682# CONFIG_NVRAM is not set 673# CONFIG_NVRAM is not set
683CONFIG_GEN_RTC=y 674CONFIG_GEN_RTC=y
684# CONFIG_GEN_RTC_X is not set 675# CONFIG_GEN_RTC_X is not set
685# CONFIG_DTLK is not set
686# CONFIG_R3964 is not set 676# CONFIG_R3964 is not set
687# CONFIG_APPLICOM is not set 677# CONFIG_APPLICOM is not set
688# CONFIG_AGP is not set 678# CONFIG_AGP is not set
@@ -693,11 +683,9 @@ CONFIG_GEN_RTC=y
693# TPM devices 683# TPM devices
694# 684#
695# CONFIG_TCG_TPM is not set 685# CONFIG_TCG_TPM is not set
696 686CONFIG_DEVPORT=y
697#
698# I2C support
699#
700CONFIG_I2C=y 687CONFIG_I2C=y
688CONFIG_I2C_BOARDINFO=y
701CONFIG_I2C_CHARDEV=y 689CONFIG_I2C_CHARDEV=y
702 690
703# 691#
@@ -722,17 +710,17 @@ CONFIG_I2C_MPC=y
722# CONFIG_I2C_NFORCE2 is not set 710# CONFIG_I2C_NFORCE2 is not set
723# CONFIG_I2C_OCORES is not set 711# CONFIG_I2C_OCORES is not set
724# CONFIG_I2C_PARPORT_LIGHT is not set 712# CONFIG_I2C_PARPORT_LIGHT is not set
725# CONFIG_I2C_PASEMI is not set
726# CONFIG_I2C_PROSAVAGE is not set 713# CONFIG_I2C_PROSAVAGE is not set
727# CONFIG_I2C_SAVAGE4 is not set 714# CONFIG_I2C_SAVAGE4 is not set
715# CONFIG_I2C_SIMTEC is not set
728# CONFIG_I2C_SIS5595 is not set 716# CONFIG_I2C_SIS5595 is not set
729# CONFIG_I2C_SIS630 is not set 717# CONFIG_I2C_SIS630 is not set
730# CONFIG_I2C_SIS96X is not set 718# CONFIG_I2C_SIS96X is not set
731# CONFIG_I2C_STUB is not set 719# CONFIG_I2C_STUB is not set
720# CONFIG_I2C_TINY_USB is not set
732# CONFIG_I2C_VIA is not set 721# CONFIG_I2C_VIA is not set
733# CONFIG_I2C_VIAPRO is not set 722# CONFIG_I2C_VIAPRO is not set
734# CONFIG_I2C_VOODOO3 is not set 723# CONFIG_I2C_VOODOO3 is not set
735# CONFIG_I2C_PCA_ISA is not set
736 724
737# 725#
738# Miscellaneous I2C Chip support 726# Miscellaneous I2C Chip support
@@ -760,13 +748,10 @@ CONFIG_I2C_MPC=y
760# Dallas's 1-wire bus 748# Dallas's 1-wire bus
761# 749#
762# CONFIG_W1 is not set 750# CONFIG_W1 is not set
763
764#
765# Hardware Monitoring support
766#
767CONFIG_HWMON=y 751CONFIG_HWMON=y
768# CONFIG_HWMON_VID is not set 752# CONFIG_HWMON_VID is not set
769# CONFIG_SENSORS_ABITUGURU is not set 753# CONFIG_SENSORS_ABITUGURU is not set
754# CONFIG_SENSORS_AD7418 is not set
770# CONFIG_SENSORS_ADM1021 is not set 755# CONFIG_SENSORS_ADM1021 is not set
771# CONFIG_SENSORS_ADM1025 is not set 756# CONFIG_SENSORS_ADM1025 is not set
772# CONFIG_SENSORS_ADM1026 is not set 757# CONFIG_SENSORS_ADM1026 is not set
@@ -793,6 +778,7 @@ CONFIG_HWMON=y
793# CONFIG_SENSORS_LM90 is not set 778# CONFIG_SENSORS_LM90 is not set
794# CONFIG_SENSORS_LM92 is not set 779# CONFIG_SENSORS_LM92 is not set
795# CONFIG_SENSORS_MAX1619 is not set 780# CONFIG_SENSORS_MAX1619 is not set
781# CONFIG_SENSORS_MAX6650 is not set
796# CONFIG_SENSORS_PC87360 is not set 782# CONFIG_SENSORS_PC87360 is not set
797# CONFIG_SENSORS_PC87427 is not set 783# CONFIG_SENSORS_PC87427 is not set
798# CONFIG_SENSORS_SIS5595 is not set 784# CONFIG_SENSORS_SIS5595 is not set
@@ -820,17 +806,20 @@ CONFIG_HWMON=y
820# Multimedia devices 806# Multimedia devices
821# 807#
822# CONFIG_VIDEO_DEV is not set 808# CONFIG_VIDEO_DEV is not set
823 809# CONFIG_DVB_CORE is not set
824# 810CONFIG_DAB=y
825# Digital Video Broadcasting Devices
826#
827# CONFIG_DVB is not set
828# CONFIG_USB_DABUSB is not set 811# CONFIG_USB_DABUSB is not set
829 812
830# 813#
831# Graphics support 814# Graphics support
832# 815#
833# CONFIG_BACKLIGHT_LCD_SUPPORT is not set 816# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
817
818#
819# Display device support
820#
821# CONFIG_DISPLAY_SUPPORT is not set
822# CONFIG_VGASTATE is not set
834# CONFIG_FB is not set 823# CONFIG_FB is not set
835# CONFIG_FB_IBM_GXT4500 is not set 824# CONFIG_FB_IBM_GXT4500 is not set
836 825
@@ -846,6 +835,17 @@ CONFIG_HID=y
846# CONFIG_HID_DEBUG is not set 835# CONFIG_HID_DEBUG is not set
847 836
848# 837#
838# USB Input Devices
839#
840# CONFIG_USB_HID is not set
841
842#
843# USB HID Boot Protocol drivers
844#
845# CONFIG_USB_KBD is not set
846# CONFIG_USB_MOUSE is not set
847
848#
849# USB support 849# USB support
850# 850#
851CONFIG_USB_ARCH_HAS_HCD=y 851CONFIG_USB_ARCH_HAS_HCD=y
@@ -858,6 +858,7 @@ CONFIG_USB=y
858# Miscellaneous USB options 858# Miscellaneous USB options
859# 859#
860CONFIG_USB_DEVICEFS=y 860CONFIG_USB_DEVICEFS=y
861CONFIG_USB_DEVICE_CLASS=y
861# CONFIG_USB_DYNAMIC_MINORS is not set 862# CONFIG_USB_DYNAMIC_MINORS is not set
862# CONFIG_USB_OTG is not set 863# CONFIG_USB_OTG is not set
863 864
@@ -908,44 +909,10 @@ CONFIG_USB_STORAGE=y
908# CONFIG_USB_LIBUSUAL is not set 909# CONFIG_USB_LIBUSUAL is not set
909 910
910# 911#
911# USB Input Devices
912#
913# CONFIG_USB_HID is not set
914
915#
916# USB HID Boot Protocol drivers
917#
918# CONFIG_USB_KBD is not set
919# CONFIG_USB_MOUSE is not set
920# CONFIG_USB_AIPTEK is not set
921# CONFIG_USB_WACOM is not set
922# CONFIG_USB_ACECAD is not set
923# CONFIG_USB_KBTAB is not set
924# CONFIG_USB_POWERMATE is not set
925# CONFIG_USB_TOUCHSCREEN is not set
926# CONFIG_USB_YEALINK is not set
927# CONFIG_USB_XPAD is not set
928# CONFIG_USB_ATI_REMOTE is not set
929# CONFIG_USB_ATI_REMOTE2 is not set
930# CONFIG_USB_KEYSPAN_REMOTE is not set
931# CONFIG_USB_APPLETOUCH is not set
932# CONFIG_USB_GTCO is not set
933
934#
935# USB Imaging devices 912# USB Imaging devices
936# 913#
937# CONFIG_USB_MDC800 is not set 914# CONFIG_USB_MDC800 is not set
938# CONFIG_USB_MICROTEK is not set 915# CONFIG_USB_MICROTEK is not set
939
940#
941# USB Network Adapters
942#
943# CONFIG_USB_CATC is not set
944# CONFIG_USB_KAWETH is not set
945# CONFIG_USB_PEGASUS is not set
946# CONFIG_USB_RTL8150 is not set
947# CONFIG_USB_USBNET_MII is not set
948# CONFIG_USB_USBNET is not set
949CONFIG_USB_MON=y 916CONFIG_USB_MON=y
950 917
951# 918#
@@ -989,10 +956,6 @@ CONFIG_USB_MON=y
989# USB Gadget Support 956# USB Gadget Support
990# 957#
991# CONFIG_USB_GADGET is not set 958# CONFIG_USB_GADGET is not set
992
993#
994# MMC/SD Card support
995#
996# CONFIG_MMC is not set 959# CONFIG_MMC is not set
997 960
998# 961#
@@ -1036,14 +999,6 @@ CONFIG_USB_MON=y
1036# 999#
1037 1000
1038# 1001#
1039# Auxiliary Display support
1040#
1041
1042#
1043# Virtualization
1044#
1045
1046#
1047# File systems 1002# File systems
1048# 1003#
1049CONFIG_EXT2_FS=y 1004CONFIG_EXT2_FS=y
@@ -1134,6 +1089,7 @@ CONFIG_LOCKD_V4=y
1134CONFIG_NFS_COMMON=y 1089CONFIG_NFS_COMMON=y
1135CONFIG_SUNRPC=y 1090CONFIG_SUNRPC=y
1136CONFIG_SUNRPC_GSS=y 1091CONFIG_SUNRPC_GSS=y
1092# CONFIG_SUNRPC_BIND34 is not set
1137CONFIG_RPCSEC_GSS_KRB5=y 1093CONFIG_RPCSEC_GSS_KRB5=y
1138# CONFIG_RPCSEC_GSS_SPKM3 is not set 1094# CONFIG_RPCSEC_GSS_SPKM3 is not set
1139# CONFIG_SMB_FS is not set 1095# CONFIG_SMB_FS is not set
@@ -1164,6 +1120,7 @@ CONFIG_LDM_PARTITION=y
1164# CONFIG_SUN_PARTITION is not set 1120# CONFIG_SUN_PARTITION is not set
1165# CONFIG_KARMA_PARTITION is not set 1121# CONFIG_KARMA_PARTITION is not set
1166# CONFIG_EFI_PARTITION is not set 1122# CONFIG_EFI_PARTITION is not set
1123# CONFIG_SYSV68_PARTITION is not set
1167 1124
1168# 1125#
1169# Native Language Support 1126# Native Language Support
@@ -1223,11 +1180,13 @@ CONFIG_UCC=y
1223CONFIG_BITREVERSE=y 1180CONFIG_BITREVERSE=y
1224# CONFIG_CRC_CCITT is not set 1181# CONFIG_CRC_CCITT is not set
1225# CONFIG_CRC16 is not set 1182# CONFIG_CRC16 is not set
1183# CONFIG_CRC_ITU_T is not set
1226CONFIG_CRC32=y 1184CONFIG_CRC32=y
1227# CONFIG_LIBCRC32C is not set 1185# CONFIG_LIBCRC32C is not set
1228CONFIG_PLIST=y 1186CONFIG_PLIST=y
1229CONFIG_HAS_IOMEM=y 1187CONFIG_HAS_IOMEM=y
1230CONFIG_HAS_IOPORT=y 1188CONFIG_HAS_IOPORT=y
1189CONFIG_HAS_DMA=y
1231 1190
1232# 1191#
1233# Instrumentation Support 1192# Instrumentation Support
@@ -1244,7 +1203,6 @@ CONFIG_ENABLE_MUST_CHECK=y
1244# CONFIG_DEBUG_FS is not set 1203# CONFIG_DEBUG_FS is not set
1245# CONFIG_HEADERS_CHECK is not set 1204# CONFIG_HEADERS_CHECK is not set
1246# CONFIG_DEBUG_KERNEL is not set 1205# CONFIG_DEBUG_KERNEL is not set
1247CONFIG_LOG_BUF_SHIFT=14
1248# CONFIG_DEBUG_BUGVERBOSE is not set 1206# CONFIG_DEBUG_BUGVERBOSE is not set
1249# CONFIG_BOOTX_TEXT is not set 1207# CONFIG_BOOTX_TEXT is not set
1250# CONFIG_PPC_EARLY_DEBUG is not set 1208# CONFIG_PPC_EARLY_DEBUG is not set
@@ -1277,6 +1235,7 @@ CONFIG_CRYPTO_ECB=m
1277CONFIG_CRYPTO_CBC=y 1235CONFIG_CRYPTO_CBC=y
1278CONFIG_CRYPTO_PCBC=m 1236CONFIG_CRYPTO_PCBC=m
1279# CONFIG_CRYPTO_LRW is not set 1237# CONFIG_CRYPTO_LRW is not set
1238# CONFIG_CRYPTO_CRYPTD is not set
1280CONFIG_CRYPTO_DES=y 1239CONFIG_CRYPTO_DES=y
1281# CONFIG_CRYPTO_FCRYPT is not set 1240# CONFIG_CRYPTO_FCRYPT is not set
1282# CONFIG_CRYPTO_BLOWFISH is not set 1241# CONFIG_CRYPTO_BLOWFISH is not set
diff --git a/arch/powerpc/configs/mpc834x_itx_defconfig b/arch/powerpc/configs/mpc834x_itx_defconfig
index 23d8964846e0..85470b8cae09 100644
--- a/arch/powerpc/configs/mpc834x_itx_defconfig
+++ b/arch/powerpc/configs/mpc834x_itx_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.20 3# Linux kernel version: 2.6.22-rc7
4# Wed Feb 7 13:12:18 2007 4# Sun Jul 1 23:56:56 2007
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7CONFIG_PPC32=y 7CONFIG_PPC32=y
@@ -45,6 +45,7 @@ CONFIG_PPC_FPU=y
45# CONFIG_PPC_DCR_MMIO is not set 45# CONFIG_PPC_DCR_MMIO is not set
46CONFIG_PPC_STD_MMU=y 46CONFIG_PPC_STD_MMU=y
47CONFIG_PPC_STD_MMU_32=y 47CONFIG_PPC_STD_MMU_32=y
48# CONFIG_PPC_MM_SLICES is not set
48# CONFIG_SMP is not set 49# CONFIG_SMP is not set
49CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 50CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
50 51
@@ -63,14 +64,17 @@ CONFIG_LOCALVERSION_AUTO=y
63CONFIG_SWAP=y 64CONFIG_SWAP=y
64CONFIG_SYSVIPC=y 65CONFIG_SYSVIPC=y
65# CONFIG_IPC_NS is not set 66# CONFIG_IPC_NS is not set
67CONFIG_SYSVIPC_SYSCTL=y
66# CONFIG_POSIX_MQUEUE is not set 68# CONFIG_POSIX_MQUEUE is not set
67# CONFIG_BSD_PROCESS_ACCT is not set 69# CONFIG_BSD_PROCESS_ACCT is not set
68# CONFIG_TASKSTATS is not set 70# CONFIG_TASKSTATS is not set
69# CONFIG_UTS_NS is not set 71# CONFIG_UTS_NS is not set
70# CONFIG_AUDIT is not set 72# CONFIG_AUDIT is not set
71# CONFIG_IKCONFIG is not set 73# CONFIG_IKCONFIG is not set
74CONFIG_LOG_BUF_SHIFT=14
72CONFIG_SYSFS_DEPRECATED=y 75CONFIG_SYSFS_DEPRECATED=y
73# CONFIG_RELAY is not set 76# CONFIG_RELAY is not set
77CONFIG_BLK_DEV_INITRD=y
74CONFIG_INITRAMFS_SOURCE="" 78CONFIG_INITRAMFS_SOURCE=""
75# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 79# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
76CONFIG_SYSCTL=y 80CONFIG_SYSCTL=y
@@ -83,14 +87,19 @@ CONFIG_BUG=y
83CONFIG_ELF_CORE=y 87CONFIG_ELF_CORE=y
84CONFIG_BASE_FULL=y 88CONFIG_BASE_FULL=y
85CONFIG_FUTEX=y 89CONFIG_FUTEX=y
90CONFIG_ANON_INODES=y
86# CONFIG_EPOLL is not set 91# CONFIG_EPOLL is not set
92CONFIG_SIGNALFD=y
93CONFIG_TIMERFD=y
94CONFIG_EVENTFD=y
87CONFIG_SHMEM=y 95CONFIG_SHMEM=y
88CONFIG_SLAB=y
89CONFIG_VM_EVENT_COUNTERS=y 96CONFIG_VM_EVENT_COUNTERS=y
97CONFIG_SLAB=y
98# CONFIG_SLUB is not set
99# CONFIG_SLOB is not set
90CONFIG_RT_MUTEXES=y 100CONFIG_RT_MUTEXES=y
91# CONFIG_TINY_SHMEM is not set 101# CONFIG_TINY_SHMEM is not set
92CONFIG_BASE_SMALL=0 102CONFIG_BASE_SMALL=0
93# CONFIG_SLOB is not set
94 103
95# 104#
96# Loadable module support 105# Loadable module support
@@ -122,18 +131,33 @@ CONFIG_DEFAULT_AS=y
122# CONFIG_DEFAULT_CFQ is not set 131# CONFIG_DEFAULT_CFQ is not set
123# CONFIG_DEFAULT_NOOP is not set 132# CONFIG_DEFAULT_NOOP is not set
124CONFIG_DEFAULT_IOSCHED="anticipatory" 133CONFIG_DEFAULT_IOSCHED="anticipatory"
125CONFIG_PPC_GEN550=y
126# CONFIG_WANT_EARLY_SERIAL is not set
127 134
128# 135#
129# Platform support 136# Platform support
130# 137#
138# CONFIG_PPC_MPC52xx is not set
139# CONFIG_PPC_MPC5200 is not set
140# CONFIG_PPC_CELL is not set
141# CONFIG_PPC_CELL_NATIVE is not set
142# CONFIG_PQ2ADS is not set
143# CONFIG_MPC8313_RDB is not set
131# CONFIG_MPC832x_MDS is not set 144# CONFIG_MPC832x_MDS is not set
132# CONFIG_MPC834x_SYS is not set 145# CONFIG_MPC832x_RDB is not set
146# CONFIG_MPC834x_MDS is not set
133CONFIG_MPC834x_ITX=y 147CONFIG_MPC834x_ITX=y
134# CONFIG_MPC8360E_PB is not set 148# CONFIG_MPC836x_MDS is not set
135CONFIG_MPC834x=y 149CONFIG_MPC834x=y
136# CONFIG_MPIC is not set 150# CONFIG_MPIC is not set
151# CONFIG_MPIC_WEIRD is not set
152# CONFIG_PPC_I8259 is not set
153# CONFIG_PPC_RTAS is not set
154# CONFIG_MMIO_NVRAM is not set
155# CONFIG_PPC_MPC106 is not set
156# CONFIG_PPC_970_NAP is not set
157# CONFIG_PPC_INDIRECT_IO is not set
158# CONFIG_GENERIC_IOMAP is not set
159# CONFIG_CPU_FREQ is not set
160# CONFIG_CPM2 is not set
137 161
138# 162#
139# Kernel options 163# Kernel options
@@ -161,32 +185,33 @@ CONFIG_FLAT_NODE_MEM_MAP=y
161# CONFIG_SPARSEMEM_STATIC is not set 185# CONFIG_SPARSEMEM_STATIC is not set
162CONFIG_SPLIT_PTLOCK_CPUS=4 186CONFIG_SPLIT_PTLOCK_CPUS=4
163# CONFIG_RESOURCES_64BIT is not set 187# CONFIG_RESOURCES_64BIT is not set
188CONFIG_ZONE_DMA_FLAG=1
164CONFIG_PROC_DEVICETREE=y 189CONFIG_PROC_DEVICETREE=y
165# CONFIG_CMDLINE_BOOL is not set 190# CONFIG_CMDLINE_BOOL is not set
166# CONFIG_PM is not set 191# CONFIG_PM is not set
167CONFIG_SECCOMP=y 192CONFIG_SECCOMP=y
193CONFIG_WANT_DEVICE_TREE=y
194CONFIG_DEVICE_TREE=""
168CONFIG_ISA_DMA_API=y 195CONFIG_ISA_DMA_API=y
169 196
170# 197#
171# Bus options 198# Bus options
172# 199#
200CONFIG_ZONE_DMA=y
173CONFIG_GENERIC_ISA_DMA=y 201CONFIG_GENERIC_ISA_DMA=y
174# CONFIG_MPIC_WEIRD is not set
175# CONFIG_PPC_I8259 is not set
176CONFIG_PPC_INDIRECT_PCI=y 202CONFIG_PPC_INDIRECT_PCI=y
203# CONFIG_PPC_INDIRECT_PCI_BE is not set
177CONFIG_FSL_SOC=y 204CONFIG_FSL_SOC=y
178CONFIG_PCI=y 205CONFIG_PCI=y
179CONFIG_PCI_DOMAINS=y 206CONFIG_PCI_DOMAINS=y
180# CONFIG_PCIEPORTBUS is not set 207# CONFIG_PCIEPORTBUS is not set
208CONFIG_ARCH_SUPPORTS_MSI=y
209# CONFIG_PCI_MSI is not set
181 210
182# 211#
183# PCCARD (PCMCIA/CardBus) support 212# PCCARD (PCMCIA/CardBus) support
184# 213#
185# CONFIG_PCCARD is not set 214# CONFIG_PCCARD is not set
186
187#
188# PCI Hotplug Support
189#
190# CONFIG_HOTPLUG_PCI is not set 215# CONFIG_HOTPLUG_PCI is not set
191 216
192# 217#
@@ -211,13 +236,13 @@ CONFIG_NET=y
211# 236#
212# Networking options 237# Networking options
213# 238#
214# CONFIG_NETDEBUG is not set
215CONFIG_PACKET=y 239CONFIG_PACKET=y
216# CONFIG_PACKET_MMAP is not set 240# CONFIG_PACKET_MMAP is not set
217CONFIG_UNIX=y 241CONFIG_UNIX=y
218CONFIG_XFRM=y 242CONFIG_XFRM=y
219# CONFIG_XFRM_USER is not set 243# CONFIG_XFRM_USER is not set
220# CONFIG_XFRM_SUB_POLICY is not set 244# CONFIG_XFRM_SUB_POLICY is not set
245# CONFIG_XFRM_MIGRATE is not set
221# CONFIG_NET_KEY is not set 246# CONFIG_NET_KEY is not set
222CONFIG_INET=y 247CONFIG_INET=y
223CONFIG_IP_MULTICAST=y 248CONFIG_IP_MULTICAST=y
@@ -251,20 +276,8 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
251# CONFIG_INET6_TUNNEL is not set 276# CONFIG_INET6_TUNNEL is not set
252# CONFIG_NETWORK_SECMARK is not set 277# CONFIG_NETWORK_SECMARK is not set
253# CONFIG_NETFILTER is not set 278# CONFIG_NETFILTER is not set
254
255#
256# DCCP Configuration (EXPERIMENTAL)
257#
258# CONFIG_IP_DCCP is not set 279# CONFIG_IP_DCCP is not set
259
260#
261# SCTP Configuration (EXPERIMENTAL)
262#
263# CONFIG_IP_SCTP is not set 280# CONFIG_IP_SCTP is not set
264
265#
266# TIPC Configuration (EXPERIMENTAL)
267#
268# CONFIG_TIPC is not set 281# CONFIG_TIPC is not set
269# CONFIG_ATM is not set 282# CONFIG_ATM is not set
270# CONFIG_BRIDGE is not set 283# CONFIG_BRIDGE is not set
@@ -290,7 +303,16 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
290# CONFIG_HAMRADIO is not set 303# CONFIG_HAMRADIO is not set
291# CONFIG_IRDA is not set 304# CONFIG_IRDA is not set
292# CONFIG_BT is not set 305# CONFIG_BT is not set
306# CONFIG_AF_RXRPC is not set
307
308#
309# Wireless
310#
311# CONFIG_CFG80211 is not set
312# CONFIG_WIRELESS_EXT is not set
313# CONFIG_MAC80211 is not set
293# CONFIG_IEEE80211 is not set 314# CONFIG_IEEE80211 is not set
315# CONFIG_RFKILL is not set
294 316
295# 317#
296# Device Drivers 318# Device Drivers
@@ -308,10 +330,6 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
308# Connector - unified userspace <-> kernelspace linker 330# Connector - unified userspace <-> kernelspace linker
309# 331#
310# CONFIG_CONNECTOR is not set 332# CONFIG_CONNECTOR is not set
311
312#
313# Memory Technology Devices (MTD)
314#
315CONFIG_MTD=y 333CONFIG_MTD=y
316# CONFIG_MTD_DEBUG is not set 334# CONFIG_MTD_DEBUG is not set
317# CONFIG_MTD_CONCAT is not set 335# CONFIG_MTD_CONCAT is not set
@@ -354,7 +372,6 @@ CONFIG_MTD_CFI_UTIL=y
354# CONFIG_MTD_RAM is not set 372# CONFIG_MTD_RAM is not set
355# CONFIG_MTD_ROM is not set 373# CONFIG_MTD_ROM is not set
356# CONFIG_MTD_ABSENT is not set 374# CONFIG_MTD_ABSENT is not set
357# CONFIG_MTD_OBSOLETE_CHIPS is not set
358 375
359# 376#
360# Mapping drivers for chip access 377# Mapping drivers for chip access
@@ -384,17 +401,13 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=2
384# CONFIG_MTD_DOC2000 is not set 401# CONFIG_MTD_DOC2000 is not set
385# CONFIG_MTD_DOC2001 is not set 402# CONFIG_MTD_DOC2001 is not set
386# CONFIG_MTD_DOC2001PLUS is not set 403# CONFIG_MTD_DOC2001PLUS is not set
387
388#
389# NAND Flash Device Drivers
390#
391# CONFIG_MTD_NAND is not set 404# CONFIG_MTD_NAND is not set
392# CONFIG_MTD_NAND_CAFE is not set 405# CONFIG_MTD_ONENAND is not set
393 406
394# 407#
395# OneNAND Flash Device Drivers 408# UBI - Unsorted block images
396# 409#
397# CONFIG_MTD_ONENAND is not set 410# CONFIG_MTD_UBI is not set
398 411
399# 412#
400# Parallel port support 413# Parallel port support
@@ -404,6 +417,7 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=2
404# 417#
405# Plug and Play support 418# Plug and Play support
406# 419#
420# CONFIG_PNPACPI is not set
407 421
408# 422#
409# Block devices 423# Block devices
@@ -423,19 +437,16 @@ CONFIG_BLK_DEV_RAM=y
423CONFIG_BLK_DEV_RAM_COUNT=16 437CONFIG_BLK_DEV_RAM_COUNT=16
424CONFIG_BLK_DEV_RAM_SIZE=32768 438CONFIG_BLK_DEV_RAM_SIZE=32768
425CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 439CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
426CONFIG_BLK_DEV_INITRD=y
427# CONFIG_CDROM_PKTCDVD is not set 440# CONFIG_CDROM_PKTCDVD is not set
428# CONFIG_ATA_OVER_ETH is not set 441# CONFIG_ATA_OVER_ETH is not set
429 442
430# 443#
431# Misc devices 444# Misc devices
432# 445#
446# CONFIG_PHANTOM is not set
433# CONFIG_SGI_IOC4 is not set 447# CONFIG_SGI_IOC4 is not set
434# CONFIG_TIFM_CORE is not set 448# CONFIG_TIFM_CORE is not set
435 449# CONFIG_BLINK is not set
436#
437# ATA/ATAPI/MFM/RLL support
438#
439CONFIG_IDE=y 450CONFIG_IDE=y
440CONFIG_IDE_MAX_HWIFS=4 451CONFIG_IDE_MAX_HWIFS=4
441# CONFIG_BLK_DEV_IDE is not set 452# CONFIG_BLK_DEV_IDE is not set
@@ -468,6 +479,7 @@ CONFIG_CHR_DEV_SG=y
468# CONFIG_SCSI_CONSTANTS is not set 479# CONFIG_SCSI_CONSTANTS is not set
469# CONFIG_SCSI_LOGGING is not set 480# CONFIG_SCSI_LOGGING is not set
470# CONFIG_SCSI_SCAN_ASYNC is not set 481# CONFIG_SCSI_SCAN_ASYNC is not set
482CONFIG_SCSI_WAIT_SCAN=m
471 483
472# 484#
473# SCSI Transports 485# SCSI Transports
@@ -516,10 +528,6 @@ CONFIG_SCSI_SPI_ATTRS=y
516# CONFIG_SCSI_NSP32 is not set 528# CONFIG_SCSI_NSP32 is not set
517# CONFIG_SCSI_DEBUG is not set 529# CONFIG_SCSI_DEBUG is not set
518# CONFIG_SCSI_SRP is not set 530# CONFIG_SCSI_SRP is not set
519
520#
521# Serial ATA (prod) and Parallel ATA (experimental) drivers
522#
523CONFIG_ATA=y 531CONFIG_ATA=y
524# CONFIG_ATA_NONSTANDARD is not set 532# CONFIG_ATA_NONSTANDARD is not set
525# CONFIG_SATA_AHCI is not set 533# CONFIG_SATA_AHCI is not set
@@ -537,10 +545,12 @@ CONFIG_SATA_SIL=y
537# CONFIG_SATA_ULI is not set 545# CONFIG_SATA_ULI is not set
538# CONFIG_SATA_VIA is not set 546# CONFIG_SATA_VIA is not set
539# CONFIG_SATA_VITESSE is not set 547# CONFIG_SATA_VITESSE is not set
548# CONFIG_SATA_INIC162X is not set
540# CONFIG_PATA_ALI is not set 549# CONFIG_PATA_ALI is not set
541# CONFIG_PATA_AMD is not set 550# CONFIG_PATA_AMD is not set
542# CONFIG_PATA_ARTOP is not set 551# CONFIG_PATA_ARTOP is not set
543# CONFIG_PATA_ATIIXP is not set 552# CONFIG_PATA_ATIIXP is not set
553# CONFIG_PATA_CMD640_PCI is not set
544# CONFIG_PATA_CMD64X is not set 554# CONFIG_PATA_CMD64X is not set
545# CONFIG_PATA_CS5520 is not set 555# CONFIG_PATA_CS5520 is not set
546# CONFIG_PATA_CS5530 is not set 556# CONFIG_PATA_CS5530 is not set
@@ -552,6 +562,7 @@ CONFIG_SATA_SIL=y
552# CONFIG_PATA_HPT3X2N is not set 562# CONFIG_PATA_HPT3X2N is not set
553# CONFIG_PATA_HPT3X3 is not set 563# CONFIG_PATA_HPT3X3 is not set
554# CONFIG_PATA_IT821X is not set 564# CONFIG_PATA_IT821X is not set
565# CONFIG_PATA_IT8213 is not set
555# CONFIG_PATA_JMICRON is not set 566# CONFIG_PATA_JMICRON is not set
556# CONFIG_PATA_TRIFLEX is not set 567# CONFIG_PATA_TRIFLEX is not set
557# CONFIG_PATA_MARVELL is not set 568# CONFIG_PATA_MARVELL is not set
@@ -598,18 +609,14 @@ CONFIG_MD_RAID1=y
598# 609#
599# IEEE 1394 (FireWire) support 610# IEEE 1394 (FireWire) support
600# 611#
612# CONFIG_FIREWIRE is not set
601# CONFIG_IEEE1394 is not set 613# CONFIG_IEEE1394 is not set
602 614
603# 615#
604# I2O device support 616# I2O device support
605# 617#
606# CONFIG_I2O is not set 618# CONFIG_I2O is not set
607 619# CONFIG_MACINTOSH_DRIVERS is not set
608#
609# Macintosh device drivers
610#
611# CONFIG_MAC_EMUMOUSEBTN is not set
612# CONFIG_WINDFARM is not set
613 620
614# 621#
615# Network device support 622# Network device support
@@ -619,15 +626,7 @@ CONFIG_NETDEVICES=y
619# CONFIG_BONDING is not set 626# CONFIG_BONDING is not set
620# CONFIG_EQUALIZER is not set 627# CONFIG_EQUALIZER is not set
621# CONFIG_TUN is not set 628# CONFIG_TUN is not set
622
623#
624# ARCnet devices
625#
626# CONFIG_ARCNET is not set 629# CONFIG_ARCNET is not set
627
628#
629# PHY device support
630#
631CONFIG_PHYLIB=y 630CONFIG_PHYLIB=y
632 631
633# 632#
@@ -647,10 +646,7 @@ CONFIG_CICADA_PHY=y
647# Ethernet (10 or 100Mbit) 646# Ethernet (10 or 100Mbit)
648# 647#
649# CONFIG_NET_ETHERNET is not set 648# CONFIG_NET_ETHERNET is not set
650 649CONFIG_NETDEV_1000=y
651#
652# Ethernet (1000 Mbit)
653#
654# CONFIG_ACENIC is not set 650# CONFIG_ACENIC is not set
655# CONFIG_DL2K is not set 651# CONFIG_DL2K is not set
656# CONFIG_E1000 is not set 652# CONFIG_E1000 is not set
@@ -662,34 +658,38 @@ CONFIG_CICADA_PHY=y
662# CONFIG_SKGE is not set 658# CONFIG_SKGE is not set
663# CONFIG_SKY2 is not set 659# CONFIG_SKY2 is not set
664# CONFIG_SK98LIN is not set 660# CONFIG_SK98LIN is not set
661# CONFIG_VIA_VELOCITY is not set
665# CONFIG_TIGON3 is not set 662# CONFIG_TIGON3 is not set
666# CONFIG_BNX2 is not set 663# CONFIG_BNX2 is not set
667CONFIG_GIANFAR=y 664CONFIG_GIANFAR=y
668CONFIG_GFAR_NAPI=y 665CONFIG_GFAR_NAPI=y
669# CONFIG_QLA3XXX is not set 666# CONFIG_QLA3XXX is not set
670 667# CONFIG_ATL1 is not set
671# 668CONFIG_NETDEV_10000=y
672# Ethernet (10000 Mbit)
673#
674# CONFIG_CHELSIO_T1 is not set 669# CONFIG_CHELSIO_T1 is not set
670# CONFIG_CHELSIO_T3 is not set
675# CONFIG_IXGB is not set 671# CONFIG_IXGB is not set
676# CONFIG_S2IO is not set 672# CONFIG_S2IO is not set
677# CONFIG_MYRI10GE is not set 673# CONFIG_MYRI10GE is not set
678# CONFIG_NETXEN_NIC is not set 674# CONFIG_NETXEN_NIC is not set
679 675# CONFIG_MLX4_CORE is not set
680#
681# Token Ring devices
682#
683# CONFIG_TR is not set 676# CONFIG_TR is not set
684 677
685# 678#
686# Wireless LAN (non-hamradio) 679# Wireless LAN
687# 680#
688# CONFIG_NET_RADIO is not set 681# CONFIG_WLAN_PRE80211 is not set
682# CONFIG_WLAN_80211 is not set
689 683
690# 684#
691# Wan interfaces 685# USB Network Adapters
692# 686#
687# CONFIG_USB_CATC is not set
688# CONFIG_USB_KAWETH is not set
689# CONFIG_USB_PEGASUS is not set
690# CONFIG_USB_RTL8150 is not set
691# CONFIG_USB_USBNET_MII is not set
692# CONFIG_USB_USBNET is not set
693# CONFIG_WAN is not set 693# CONFIG_WAN is not set
694# CONFIG_FDDI is not set 694# CONFIG_FDDI is not set
695# CONFIG_HIPPI is not set 695# CONFIG_HIPPI is not set
@@ -745,6 +745,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4
745CONFIG_SERIAL_CORE=y 745CONFIG_SERIAL_CORE=y
746CONFIG_SERIAL_CORE_CONSOLE=y 746CONFIG_SERIAL_CORE_CONSOLE=y
747# CONFIG_SERIAL_JSM is not set 747# CONFIG_SERIAL_JSM is not set
748# CONFIG_SERIAL_OF_PLATFORM is not set
748CONFIG_UNIX98_PTYS=y 749CONFIG_UNIX98_PTYS=y
749CONFIG_LEGACY_PTYS=y 750CONFIG_LEGACY_PTYS=y
750CONFIG_LEGACY_PTY_COUNT=256 751CONFIG_LEGACY_PTY_COUNT=256
@@ -753,10 +754,6 @@ CONFIG_LEGACY_PTY_COUNT=256
753# IPMI 754# IPMI
754# 755#
755# CONFIG_IPMI_HANDLER is not set 756# CONFIG_IPMI_HANDLER is not set
756
757#
758# Watchdog Cards
759#
760CONFIG_WATCHDOG=y 757CONFIG_WATCHDOG=y
761# CONFIG_WATCHDOG_NOWAYOUT is not set 758# CONFIG_WATCHDOG_NOWAYOUT is not set
762 759
@@ -779,7 +776,6 @@ CONFIG_83xx_WDT=y
779CONFIG_HW_RANDOM=y 776CONFIG_HW_RANDOM=y
780# CONFIG_NVRAM is not set 777# CONFIG_NVRAM is not set
781# CONFIG_GEN_RTC is not set 778# CONFIG_GEN_RTC is not set
782# CONFIG_DTLK is not set
783# CONFIG_R3964 is not set 779# CONFIG_R3964 is not set
784# CONFIG_APPLICOM is not set 780# CONFIG_APPLICOM is not set
785# CONFIG_AGP is not set 781# CONFIG_AGP is not set
@@ -790,11 +786,9 @@ CONFIG_HW_RANDOM=y
790# TPM devices 786# TPM devices
791# 787#
792# CONFIG_TCG_TPM is not set 788# CONFIG_TCG_TPM is not set
793 789CONFIG_DEVPORT=y
794#
795# I2C support
796#
797CONFIG_I2C=y 790CONFIG_I2C=y
791CONFIG_I2C_BOARDINFO=y
798CONFIG_I2C_CHARDEV=y 792CONFIG_I2C_CHARDEV=y
799 793
800# 794#
@@ -821,14 +815,15 @@ CONFIG_I2C_MPC=y
821# CONFIG_I2C_PARPORT_LIGHT is not set 815# CONFIG_I2C_PARPORT_LIGHT is not set
822# CONFIG_I2C_PROSAVAGE is not set 816# CONFIG_I2C_PROSAVAGE is not set
823# CONFIG_I2C_SAVAGE4 is not set 817# CONFIG_I2C_SAVAGE4 is not set
818# CONFIG_I2C_SIMTEC is not set
824# CONFIG_I2C_SIS5595 is not set 819# CONFIG_I2C_SIS5595 is not set
825# CONFIG_I2C_SIS630 is not set 820# CONFIG_I2C_SIS630 is not set
826# CONFIG_I2C_SIS96X is not set 821# CONFIG_I2C_SIS96X is not set
827# CONFIG_I2C_STUB is not set 822# CONFIG_I2C_STUB is not set
823# CONFIG_I2C_TINY_USB is not set
828# CONFIG_I2C_VIA is not set 824# CONFIG_I2C_VIA is not set
829# CONFIG_I2C_VIAPRO is not set 825# CONFIG_I2C_VIAPRO is not set
830# CONFIG_I2C_VOODOO3 is not set 826# CONFIG_I2C_VOODOO3 is not set
831# CONFIG_I2C_PCA_ISA is not set
832 827
833# 828#
834# Miscellaneous I2C Chip support 829# Miscellaneous I2C Chip support
@@ -861,36 +856,40 @@ CONFIG_SPI_MPC83xx=y
861# 856#
862# SPI Protocol Masters 857# SPI Protocol Masters
863# 858#
859# CONFIG_SPI_AT25 is not set
860# CONFIG_SPI_SPIDEV is not set
864 861
865# 862#
866# Dallas's 1-wire bus 863# Dallas's 1-wire bus
867# 864#
868# CONFIG_W1 is not set 865# CONFIG_W1 is not set
866# CONFIG_HWMON is not set
869 867
870# 868#
871# Hardware Monitoring support 869# Multifunction device drivers
872# 870#
873# CONFIG_HWMON is not set 871# CONFIG_MFD_SM501 is not set
874# CONFIG_HWMON_VID is not set
875 872
876# 873#
877# Multimedia devices 874# Multimedia devices
878# 875#
879# CONFIG_VIDEO_DEV is not set 876# CONFIG_VIDEO_DEV is not set
877# CONFIG_DVB_CORE is not set
878CONFIG_DAB=y
879# CONFIG_USB_DABUSB is not set
880 880
881# 881#
882# Digital Video Broadcasting Devices 882# Graphics support
883# 883#
884# CONFIG_DVB is not set 884# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
885# CONFIG_USB_DABUSB is not set
886 885
887# 886#
888# Graphics support 887# Display device support
889# 888#
890# CONFIG_FIRMWARE_EDID is not set 889# CONFIG_DISPLAY_SUPPORT is not set
890# CONFIG_VGASTATE is not set
891# CONFIG_FB is not set 891# CONFIG_FB is not set
892# CONFIG_FB_IBM_GXT4500 is not set 892# CONFIG_FB_IBM_GXT4500 is not set
893# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
894 893
895# 894#
896# Sound 895# Sound
@@ -910,7 +909,7 @@ CONFIG_USB=y
910# Miscellaneous USB options 909# Miscellaneous USB options
911# 910#
912CONFIG_USB_DEVICEFS=y 911CONFIG_USB_DEVICEFS=y
913# CONFIG_USB_BANDWIDTH is not set 912CONFIG_USB_DEVICE_CLASS=y
914# CONFIG_USB_DYNAMIC_MINORS is not set 913# CONFIG_USB_DYNAMIC_MINORS is not set
915# CONFIG_USB_OTG is not set 914# CONFIG_USB_OTG is not set
916 915
@@ -921,6 +920,7 @@ CONFIG_USB_EHCI_HCD=y
921# CONFIG_USB_EHCI_SPLIT_ISO is not set 920# CONFIG_USB_EHCI_SPLIT_ISO is not set
922# CONFIG_USB_EHCI_ROOT_HUB_TT is not set 921# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
923# CONFIG_USB_EHCI_TT_NEWSCHED is not set 922# CONFIG_USB_EHCI_TT_NEWSCHED is not set
923# CONFIG_USB_EHCI_BIG_ENDIAN_MMIO is not set
924# CONFIG_USB_ISP116X_HCD is not set 924# CONFIG_USB_ISP116X_HCD is not set
925# CONFIG_USB_OHCI_HCD is not set 925# CONFIG_USB_OHCI_HCD is not set
926# CONFIG_USB_UHCI_HCD is not set 926# CONFIG_USB_UHCI_HCD is not set
@@ -953,28 +953,10 @@ CONFIG_USB_STORAGE=y
953# CONFIG_USB_LIBUSUAL is not set 953# CONFIG_USB_LIBUSUAL is not set
954 954
955# 955#
956# USB Input Devices
957#
958
959#
960# USB HID Boot Protocol drivers
961#
962
963#
964# USB Imaging devices 956# USB Imaging devices
965# 957#
966# CONFIG_USB_MDC800 is not set 958# CONFIG_USB_MDC800 is not set
967# CONFIG_USB_MICROTEK is not set 959# CONFIG_USB_MICROTEK is not set
968
969#
970# USB Network Adapters
971#
972# CONFIG_USB_CATC is not set
973# CONFIG_USB_KAWETH is not set
974# CONFIG_USB_PEGASUS is not set
975# CONFIG_USB_RTL8150 is not set
976# CONFIG_USB_USBNET_MII is not set
977# CONFIG_USB_USBNET is not set
978CONFIG_USB_MON=y 960CONFIG_USB_MON=y
979 961
980# 962#
@@ -996,6 +978,7 @@ CONFIG_USB_MON=y
996# CONFIG_USB_RIO500 is not set 978# CONFIG_USB_RIO500 is not set
997# CONFIG_USB_LEGOTOWER is not set 979# CONFIG_USB_LEGOTOWER is not set
998# CONFIG_USB_LCD is not set 980# CONFIG_USB_LCD is not set
981# CONFIG_USB_BERRY_CHARGE is not set
999# CONFIG_USB_LED is not set 982# CONFIG_USB_LED is not set
1000# CONFIG_USB_CYPRESS_CY7C63 is not set 983# CONFIG_USB_CYPRESS_CY7C63 is not set
1001# CONFIG_USB_CYTHERM is not set 984# CONFIG_USB_CYTHERM is not set
@@ -1006,6 +989,7 @@ CONFIG_USB_MON=y
1006# CONFIG_USB_SISUSBVGA is not set 989# CONFIG_USB_SISUSBVGA is not set
1007# CONFIG_USB_LD is not set 990# CONFIG_USB_LD is not set
1008# CONFIG_USB_TRANCEVIBRATOR is not set 991# CONFIG_USB_TRANCEVIBRATOR is not set
992# CONFIG_USB_IOWARRIOR is not set
1009# CONFIG_USB_TEST is not set 993# CONFIG_USB_TEST is not set
1010 994
1011# 995#
@@ -1016,10 +1000,6 @@ CONFIG_USB_MON=y
1016# USB Gadget Support 1000# USB Gadget Support
1017# 1001#
1018# CONFIG_USB_GADGET is not set 1002# CONFIG_USB_GADGET is not set
1019
1020#
1021# MMC/SD Card support
1022#
1023# CONFIG_MMC is not set 1003# CONFIG_MMC is not set
1024 1004
1025# 1005#
@@ -1060,26 +1040,39 @@ CONFIG_RTC_INTF_SYSFS=y
1060CONFIG_RTC_INTF_PROC=y 1040CONFIG_RTC_INTF_PROC=y
1061CONFIG_RTC_INTF_DEV=y 1041CONFIG_RTC_INTF_DEV=y
1062CONFIG_RTC_INTF_DEV_UIE_EMUL=y 1042CONFIG_RTC_INTF_DEV_UIE_EMUL=y
1043# CONFIG_RTC_DRV_TEST is not set
1063 1044
1064# 1045#
1065# RTC drivers 1046# I2C RTC drivers
1066# 1047#
1067# CONFIG_RTC_DRV_X1205 is not set
1068CONFIG_RTC_DRV_DS1307=y 1048CONFIG_RTC_DRV_DS1307=y
1069# CONFIG_RTC_DRV_DS1553 is not set
1070# CONFIG_RTC_DRV_ISL1208 is not set
1071# CONFIG_RTC_DRV_DS1672 is not set 1049# CONFIG_RTC_DRV_DS1672 is not set
1072# CONFIG_RTC_DRV_DS1742 is not set 1050# CONFIG_RTC_DRV_MAX6900 is not set
1051# CONFIG_RTC_DRV_RS5C372 is not set
1052# CONFIG_RTC_DRV_ISL1208 is not set
1053# CONFIG_RTC_DRV_X1205 is not set
1073# CONFIG_RTC_DRV_PCF8563 is not set 1054# CONFIG_RTC_DRV_PCF8563 is not set
1074# CONFIG_RTC_DRV_PCF8583 is not set 1055# CONFIG_RTC_DRV_PCF8583 is not set
1056
1057#
1058# SPI RTC drivers
1059#
1075# CONFIG_RTC_DRV_RS5C348 is not set 1060# CONFIG_RTC_DRV_RS5C348 is not set
1076# CONFIG_RTC_DRV_RS5C372 is not set
1077# CONFIG_RTC_DRV_M48T86 is not set
1078# CONFIG_RTC_DRV_TEST is not set
1079# CONFIG_RTC_DRV_MAX6902 is not set 1061# CONFIG_RTC_DRV_MAX6902 is not set
1062
1063#
1064# Platform RTC drivers
1065#
1066# CONFIG_RTC_DRV_DS1553 is not set
1067# CONFIG_RTC_DRV_DS1742 is not set
1068# CONFIG_RTC_DRV_M48T86 is not set
1080# CONFIG_RTC_DRV_V3020 is not set 1069# CONFIG_RTC_DRV_V3020 is not set
1081 1070
1082# 1071#
1072# on-CPU RTC drivers
1073#
1074
1075#
1083# DMA Engine support 1076# DMA Engine support
1084# 1077#
1085CONFIG_DMA_ENGINE=y 1078CONFIG_DMA_ENGINE=y
@@ -1095,10 +1088,6 @@ CONFIG_NET_DMA=y
1095CONFIG_INTEL_IOATDMA=y 1088CONFIG_INTEL_IOATDMA=y
1096 1089
1097# 1090#
1098# Virtualization
1099#
1100
1101#
1102# File systems 1091# File systems
1103# 1092#
1104CONFIG_EXT2_FS=y 1093CONFIG_EXT2_FS=y
@@ -1190,6 +1179,7 @@ CONFIG_LOCKD_V4=y
1190CONFIG_NFS_COMMON=y 1179CONFIG_NFS_COMMON=y
1191CONFIG_SUNRPC=y 1180CONFIG_SUNRPC=y
1192CONFIG_SUNRPC_GSS=y 1181CONFIG_SUNRPC_GSS=y
1182# CONFIG_SUNRPC_BIND34 is not set
1193CONFIG_RPCSEC_GSS_KRB5=y 1183CONFIG_RPCSEC_GSS_KRB5=y
1194# CONFIG_RPCSEC_GSS_SPKM3 is not set 1184# CONFIG_RPCSEC_GSS_SPKM3 is not set
1195# CONFIG_SMB_FS is not set 1185# CONFIG_SMB_FS is not set
@@ -1219,6 +1209,7 @@ CONFIG_MSDOS_PARTITION=y
1219# CONFIG_SUN_PARTITION is not set 1209# CONFIG_SUN_PARTITION is not set
1220# CONFIG_KARMA_PARTITION is not set 1210# CONFIG_KARMA_PARTITION is not set
1221# CONFIG_EFI_PARTITION is not set 1211# CONFIG_EFI_PARTITION is not set
1212# CONFIG_SYSV68_PARTITION is not set
1222 1213
1223# 1214#
1224# Native Language Support 1215# Native Language Support
@@ -1268,6 +1259,7 @@ CONFIG_NLS_DEFAULT="iso8859-1"
1268# Distributed Lock Manager 1259# Distributed Lock Manager
1269# 1260#
1270# CONFIG_DLM is not set 1261# CONFIG_DLM is not set
1262# CONFIG_UCC_SLOW is not set
1271 1263
1272# 1264#
1273# Library routines 1265# Library routines
@@ -1275,10 +1267,13 @@ CONFIG_NLS_DEFAULT="iso8859-1"
1275CONFIG_BITREVERSE=y 1267CONFIG_BITREVERSE=y
1276# CONFIG_CRC_CCITT is not set 1268# CONFIG_CRC_CCITT is not set
1277# CONFIG_CRC16 is not set 1269# CONFIG_CRC16 is not set
1270# CONFIG_CRC_ITU_T is not set
1278CONFIG_CRC32=y 1271CONFIG_CRC32=y
1279# CONFIG_LIBCRC32C is not set 1272# CONFIG_LIBCRC32C is not set
1280CONFIG_PLIST=y 1273CONFIG_PLIST=y
1281CONFIG_IOMAP_COPY=y 1274CONFIG_HAS_IOMEM=y
1275CONFIG_HAS_IOPORT=y
1276CONFIG_HAS_DMA=y
1282 1277
1283# 1278#
1284# Instrumentation Support 1279# Instrumentation Support
@@ -1295,10 +1290,8 @@ CONFIG_ENABLE_MUST_CHECK=y
1295# CONFIG_DEBUG_FS is not set 1290# CONFIG_DEBUG_FS is not set
1296# CONFIG_HEADERS_CHECK is not set 1291# CONFIG_HEADERS_CHECK is not set
1297# CONFIG_DEBUG_KERNEL is not set 1292# CONFIG_DEBUG_KERNEL is not set
1298CONFIG_LOG_BUF_SHIFT=14
1299# CONFIG_DEBUG_BUGVERBOSE is not set 1293# CONFIG_DEBUG_BUGVERBOSE is not set
1300# CONFIG_BOOTX_TEXT is not set 1294# CONFIG_BOOTX_TEXT is not set
1301# CONFIG_SERIAL_TEXT_DEBUG is not set
1302# CONFIG_PPC_EARLY_DEBUG is not set 1295# CONFIG_PPC_EARLY_DEBUG is not set
1303 1296
1304# 1297#
@@ -1327,8 +1320,11 @@ CONFIG_CRYPTO_MD5=y
1327# CONFIG_CRYPTO_GF128MUL is not set 1320# CONFIG_CRYPTO_GF128MUL is not set
1328# CONFIG_CRYPTO_ECB is not set 1321# CONFIG_CRYPTO_ECB is not set
1329CONFIG_CRYPTO_CBC=y 1322CONFIG_CRYPTO_CBC=y
1323CONFIG_CRYPTO_PCBC=m
1330# CONFIG_CRYPTO_LRW is not set 1324# CONFIG_CRYPTO_LRW is not set
1325# CONFIG_CRYPTO_CRYPTD is not set
1331CONFIG_CRYPTO_DES=y 1326CONFIG_CRYPTO_DES=y
1327# CONFIG_CRYPTO_FCRYPT is not set
1332# CONFIG_CRYPTO_BLOWFISH is not set 1328# CONFIG_CRYPTO_BLOWFISH is not set
1333# CONFIG_CRYPTO_TWOFISH is not set 1329# CONFIG_CRYPTO_TWOFISH is not set
1334# CONFIG_CRYPTO_SERPENT is not set 1330# CONFIG_CRYPTO_SERPENT is not set
@@ -1342,6 +1338,7 @@ CONFIG_CRYPTO_DES=y
1342# CONFIG_CRYPTO_DEFLATE is not set 1338# CONFIG_CRYPTO_DEFLATE is not set
1343# CONFIG_CRYPTO_MICHAEL_MIC is not set 1339# CONFIG_CRYPTO_MICHAEL_MIC is not set
1344# CONFIG_CRYPTO_CRC32C is not set 1340# CONFIG_CRYPTO_CRC32C is not set
1341# CONFIG_CRYPTO_CAMELLIA is not set
1345# CONFIG_CRYPTO_TEST is not set 1342# CONFIG_CRYPTO_TEST is not set
1346 1343
1347# 1344#
diff --git a/arch/powerpc/configs/mpc834x_itxgp_defconfig b/arch/powerpc/configs/mpc834x_itxgp_defconfig
index 4aa666c9cb94..704ee8b285bf 100644
--- a/arch/powerpc/configs/mpc834x_itxgp_defconfig
+++ b/arch/powerpc/configs/mpc834x_itxgp_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.20 3# Linux kernel version: 2.6.22-rc7
4# Fri Feb 9 13:28:19 2007 4# Sun Jul 1 23:56:56 2007
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7CONFIG_PPC32=y 7CONFIG_PPC32=y
@@ -45,6 +45,7 @@ CONFIG_PPC_FPU=y
45# CONFIG_PPC_DCR_MMIO is not set 45# CONFIG_PPC_DCR_MMIO is not set
46CONFIG_PPC_STD_MMU=y 46CONFIG_PPC_STD_MMU=y
47CONFIG_PPC_STD_MMU_32=y 47CONFIG_PPC_STD_MMU_32=y
48# CONFIG_PPC_MM_SLICES is not set
48# CONFIG_SMP is not set 49# CONFIG_SMP is not set
49CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 50CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
50 51
@@ -63,14 +64,17 @@ CONFIG_LOCALVERSION_AUTO=y
63CONFIG_SWAP=y 64CONFIG_SWAP=y
64CONFIG_SYSVIPC=y 65CONFIG_SYSVIPC=y
65# CONFIG_IPC_NS is not set 66# CONFIG_IPC_NS is not set
67CONFIG_SYSVIPC_SYSCTL=y
66# CONFIG_POSIX_MQUEUE is not set 68# CONFIG_POSIX_MQUEUE is not set
67# CONFIG_BSD_PROCESS_ACCT is not set 69# CONFIG_BSD_PROCESS_ACCT is not set
68# CONFIG_TASKSTATS is not set 70# CONFIG_TASKSTATS is not set
69# CONFIG_UTS_NS is not set 71# CONFIG_UTS_NS is not set
70# CONFIG_AUDIT is not set 72# CONFIG_AUDIT is not set
71# CONFIG_IKCONFIG is not set 73# CONFIG_IKCONFIG is not set
74CONFIG_LOG_BUF_SHIFT=14
72CONFIG_SYSFS_DEPRECATED=y 75CONFIG_SYSFS_DEPRECATED=y
73# CONFIG_RELAY is not set 76# CONFIG_RELAY is not set
77CONFIG_BLK_DEV_INITRD=y
74CONFIG_INITRAMFS_SOURCE="" 78CONFIG_INITRAMFS_SOURCE=""
75# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 79# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
76CONFIG_SYSCTL=y 80CONFIG_SYSCTL=y
@@ -83,14 +87,19 @@ CONFIG_BUG=y
83CONFIG_ELF_CORE=y 87CONFIG_ELF_CORE=y
84CONFIG_BASE_FULL=y 88CONFIG_BASE_FULL=y
85CONFIG_FUTEX=y 89CONFIG_FUTEX=y
90CONFIG_ANON_INODES=y
86# CONFIG_EPOLL is not set 91# CONFIG_EPOLL is not set
92CONFIG_SIGNALFD=y
93CONFIG_TIMERFD=y
94CONFIG_EVENTFD=y
87CONFIG_SHMEM=y 95CONFIG_SHMEM=y
88CONFIG_SLAB=y
89CONFIG_VM_EVENT_COUNTERS=y 96CONFIG_VM_EVENT_COUNTERS=y
97CONFIG_SLAB=y
98# CONFIG_SLUB is not set
99# CONFIG_SLOB is not set
90CONFIG_RT_MUTEXES=y 100CONFIG_RT_MUTEXES=y
91# CONFIG_TINY_SHMEM is not set 101# CONFIG_TINY_SHMEM is not set
92CONFIG_BASE_SMALL=0 102CONFIG_BASE_SMALL=0
93# CONFIG_SLOB is not set
94 103
95# 104#
96# Loadable module support 105# Loadable module support
@@ -122,18 +131,33 @@ CONFIG_DEFAULT_AS=y
122# CONFIG_DEFAULT_CFQ is not set 131# CONFIG_DEFAULT_CFQ is not set
123# CONFIG_DEFAULT_NOOP is not set 132# CONFIG_DEFAULT_NOOP is not set
124CONFIG_DEFAULT_IOSCHED="anticipatory" 133CONFIG_DEFAULT_IOSCHED="anticipatory"
125CONFIG_PPC_GEN550=y
126# CONFIG_WANT_EARLY_SERIAL is not set
127 134
128# 135#
129# Platform support 136# Platform support
130# 137#
138# CONFIG_PPC_MPC52xx is not set
139# CONFIG_PPC_MPC5200 is not set
140# CONFIG_PPC_CELL is not set
141# CONFIG_PPC_CELL_NATIVE is not set
142# CONFIG_PQ2ADS is not set
143# CONFIG_MPC8313_RDB is not set
131# CONFIG_MPC832x_MDS is not set 144# CONFIG_MPC832x_MDS is not set
132# CONFIG_MPC834x_SYS is not set 145# CONFIG_MPC832x_RDB is not set
146# CONFIG_MPC834x_MDS is not set
133CONFIG_MPC834x_ITX=y 147CONFIG_MPC834x_ITX=y
134# CONFIG_MPC8360E_PB is not set 148# CONFIG_MPC836x_MDS is not set
135CONFIG_MPC834x=y 149CONFIG_MPC834x=y
136# CONFIG_MPIC is not set 150# CONFIG_MPIC is not set
151# CONFIG_MPIC_WEIRD is not set
152# CONFIG_PPC_I8259 is not set
153# CONFIG_PPC_RTAS is not set
154# CONFIG_MMIO_NVRAM is not set
155# CONFIG_PPC_MPC106 is not set
156# CONFIG_PPC_970_NAP is not set
157# CONFIG_PPC_INDIRECT_IO is not set
158# CONFIG_GENERIC_IOMAP is not set
159# CONFIG_CPU_FREQ is not set
160# CONFIG_CPM2 is not set
137 161
138# 162#
139# Kernel options 163# Kernel options
@@ -161,32 +185,33 @@ CONFIG_FLAT_NODE_MEM_MAP=y
161# CONFIG_SPARSEMEM_STATIC is not set 185# CONFIG_SPARSEMEM_STATIC is not set
162CONFIG_SPLIT_PTLOCK_CPUS=4 186CONFIG_SPLIT_PTLOCK_CPUS=4
163# CONFIG_RESOURCES_64BIT is not set 187# CONFIG_RESOURCES_64BIT is not set
188CONFIG_ZONE_DMA_FLAG=1
164CONFIG_PROC_DEVICETREE=y 189CONFIG_PROC_DEVICETREE=y
165# CONFIG_CMDLINE_BOOL is not set 190# CONFIG_CMDLINE_BOOL is not set
166# CONFIG_PM is not set 191# CONFIG_PM is not set
167CONFIG_SECCOMP=y 192CONFIG_SECCOMP=y
193CONFIG_WANT_DEVICE_TREE=y
194CONFIG_DEVICE_TREE=""
168CONFIG_ISA_DMA_API=y 195CONFIG_ISA_DMA_API=y
169 196
170# 197#
171# Bus options 198# Bus options
172# 199#
200CONFIG_ZONE_DMA=y
173CONFIG_GENERIC_ISA_DMA=y 201CONFIG_GENERIC_ISA_DMA=y
174# CONFIG_MPIC_WEIRD is not set
175# CONFIG_PPC_I8259 is not set
176CONFIG_PPC_INDIRECT_PCI=y 202CONFIG_PPC_INDIRECT_PCI=y
203# CONFIG_PPC_INDIRECT_PCI_BE is not set
177CONFIG_FSL_SOC=y 204CONFIG_FSL_SOC=y
178CONFIG_PCI=y 205CONFIG_PCI=y
179CONFIG_PCI_DOMAINS=y 206CONFIG_PCI_DOMAINS=y
180# CONFIG_PCIEPORTBUS is not set 207# CONFIG_PCIEPORTBUS is not set
208CONFIG_ARCH_SUPPORTS_MSI=y
209# CONFIG_PCI_MSI is not set
181 210
182# 211#
183# PCCARD (PCMCIA/CardBus) support 212# PCCARD (PCMCIA/CardBus) support
184# 213#
185# CONFIG_PCCARD is not set 214# CONFIG_PCCARD is not set
186
187#
188# PCI Hotplug Support
189#
190# CONFIG_HOTPLUG_PCI is not set 215# CONFIG_HOTPLUG_PCI is not set
191 216
192# 217#
@@ -211,13 +236,13 @@ CONFIG_NET=y
211# 236#
212# Networking options 237# Networking options
213# 238#
214# CONFIG_NETDEBUG is not set
215CONFIG_PACKET=y 239CONFIG_PACKET=y
216# CONFIG_PACKET_MMAP is not set 240# CONFIG_PACKET_MMAP is not set
217CONFIG_UNIX=y 241CONFIG_UNIX=y
218CONFIG_XFRM=y 242CONFIG_XFRM=y
219# CONFIG_XFRM_USER is not set 243# CONFIG_XFRM_USER is not set
220# CONFIG_XFRM_SUB_POLICY is not set 244# CONFIG_XFRM_SUB_POLICY is not set
245# CONFIG_XFRM_MIGRATE is not set
221# CONFIG_NET_KEY is not set 246# CONFIG_NET_KEY is not set
222CONFIG_INET=y 247CONFIG_INET=y
223CONFIG_IP_MULTICAST=y 248CONFIG_IP_MULTICAST=y
@@ -251,20 +276,8 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
251# CONFIG_INET6_TUNNEL is not set 276# CONFIG_INET6_TUNNEL is not set
252# CONFIG_NETWORK_SECMARK is not set 277# CONFIG_NETWORK_SECMARK is not set
253# CONFIG_NETFILTER is not set 278# CONFIG_NETFILTER is not set
254
255#
256# DCCP Configuration (EXPERIMENTAL)
257#
258# CONFIG_IP_DCCP is not set 279# CONFIG_IP_DCCP is not set
259
260#
261# SCTP Configuration (EXPERIMENTAL)
262#
263# CONFIG_IP_SCTP is not set 280# CONFIG_IP_SCTP is not set
264
265#
266# TIPC Configuration (EXPERIMENTAL)
267#
268# CONFIG_TIPC is not set 281# CONFIG_TIPC is not set
269# CONFIG_ATM is not set 282# CONFIG_ATM is not set
270# CONFIG_BRIDGE is not set 283# CONFIG_BRIDGE is not set
@@ -290,7 +303,16 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
290# CONFIG_HAMRADIO is not set 303# CONFIG_HAMRADIO is not set
291# CONFIG_IRDA is not set 304# CONFIG_IRDA is not set
292# CONFIG_BT is not set 305# CONFIG_BT is not set
306# CONFIG_AF_RXRPC is not set
307
308#
309# Wireless
310#
311# CONFIG_CFG80211 is not set
312# CONFIG_WIRELESS_EXT is not set
313# CONFIG_MAC80211 is not set
293# CONFIG_IEEE80211 is not set 314# CONFIG_IEEE80211 is not set
315# CONFIG_RFKILL is not set
294 316
295# 317#
296# Device Drivers 318# Device Drivers
@@ -308,10 +330,6 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
308# Connector - unified userspace <-> kernelspace linker 330# Connector - unified userspace <-> kernelspace linker
309# 331#
310# CONFIG_CONNECTOR is not set 332# CONFIG_CONNECTOR is not set
311
312#
313# Memory Technology Devices (MTD)
314#
315CONFIG_MTD=y 333CONFIG_MTD=y
316# CONFIG_MTD_DEBUG is not set 334# CONFIG_MTD_DEBUG is not set
317# CONFIG_MTD_CONCAT is not set 335# CONFIG_MTD_CONCAT is not set
@@ -354,7 +372,6 @@ CONFIG_MTD_CFI_UTIL=y
354# CONFIG_MTD_RAM is not set 372# CONFIG_MTD_RAM is not set
355# CONFIG_MTD_ROM is not set 373# CONFIG_MTD_ROM is not set
356# CONFIG_MTD_ABSENT is not set 374# CONFIG_MTD_ABSENT is not set
357# CONFIG_MTD_OBSOLETE_CHIPS is not set
358 375
359# 376#
360# Mapping drivers for chip access 377# Mapping drivers for chip access
@@ -384,17 +401,13 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=2
384# CONFIG_MTD_DOC2000 is not set 401# CONFIG_MTD_DOC2000 is not set
385# CONFIG_MTD_DOC2001 is not set 402# CONFIG_MTD_DOC2001 is not set
386# CONFIG_MTD_DOC2001PLUS is not set 403# CONFIG_MTD_DOC2001PLUS is not set
387
388#
389# NAND Flash Device Drivers
390#
391# CONFIG_MTD_NAND is not set 404# CONFIG_MTD_NAND is not set
392# CONFIG_MTD_NAND_CAFE is not set 405# CONFIG_MTD_ONENAND is not set
393 406
394# 407#
395# OneNAND Flash Device Drivers 408# UBI - Unsorted block images
396# 409#
397# CONFIG_MTD_ONENAND is not set 410# CONFIG_MTD_UBI is not set
398 411
399# 412#
400# Parallel port support 413# Parallel port support
@@ -404,6 +417,7 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=2
404# 417#
405# Plug and Play support 418# Plug and Play support
406# 419#
420# CONFIG_PNPACPI is not set
407 421
408# 422#
409# Block devices 423# Block devices
@@ -422,19 +436,16 @@ CONFIG_BLK_DEV_RAM=y
422CONFIG_BLK_DEV_RAM_COUNT=16 436CONFIG_BLK_DEV_RAM_COUNT=16
423CONFIG_BLK_DEV_RAM_SIZE=32768 437CONFIG_BLK_DEV_RAM_SIZE=32768
424CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 438CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
425CONFIG_BLK_DEV_INITRD=y
426# CONFIG_CDROM_PKTCDVD is not set 439# CONFIG_CDROM_PKTCDVD is not set
427# CONFIG_ATA_OVER_ETH is not set 440# CONFIG_ATA_OVER_ETH is not set
428 441
429# 442#
430# Misc devices 443# Misc devices
431# 444#
445# CONFIG_PHANTOM is not set
432# CONFIG_SGI_IOC4 is not set 446# CONFIG_SGI_IOC4 is not set
433# CONFIG_TIFM_CORE is not set 447# CONFIG_TIFM_CORE is not set
434 448# CONFIG_BLINK is not set
435#
436# ATA/ATAPI/MFM/RLL support
437#
438# CONFIG_IDE is not set 449# CONFIG_IDE is not set
439 450
440# 451#
@@ -463,6 +474,7 @@ CONFIG_CHR_DEV_SG=y
463# CONFIG_SCSI_CONSTANTS is not set 474# CONFIG_SCSI_CONSTANTS is not set
464# CONFIG_SCSI_LOGGING is not set 475# CONFIG_SCSI_LOGGING is not set
465# CONFIG_SCSI_SCAN_ASYNC is not set 476# CONFIG_SCSI_SCAN_ASYNC is not set
477CONFIG_SCSI_WAIT_SCAN=m
466 478
467# 479#
468# SCSI Transports 480# SCSI Transports
@@ -510,10 +522,6 @@ CONFIG_SCSI_SPI_ATTRS=y
510# CONFIG_SCSI_NSP32 is not set 522# CONFIG_SCSI_NSP32 is not set
511# CONFIG_SCSI_DEBUG is not set 523# CONFIG_SCSI_DEBUG is not set
512# CONFIG_SCSI_SRP is not set 524# CONFIG_SCSI_SRP is not set
513
514#
515# Serial ATA (prod) and Parallel ATA (experimental) drivers
516#
517# CONFIG_ATA is not set 525# CONFIG_ATA is not set
518 526
519# 527#
@@ -532,18 +540,14 @@ CONFIG_SCSI_SPI_ATTRS=y
532# 540#
533# IEEE 1394 (FireWire) support 541# IEEE 1394 (FireWire) support
534# 542#
543# CONFIG_FIREWIRE is not set
535# CONFIG_IEEE1394 is not set 544# CONFIG_IEEE1394 is not set
536 545
537# 546#
538# I2O device support 547# I2O device support
539# 548#
540# CONFIG_I2O is not set 549# CONFIG_I2O is not set
541 550# CONFIG_MACINTOSH_DRIVERS is not set
542#
543# Macintosh device drivers
544#
545# CONFIG_MAC_EMUMOUSEBTN is not set
546# CONFIG_WINDFARM is not set
547 551
548# 552#
549# Network device support 553# Network device support
@@ -553,15 +557,7 @@ CONFIG_NETDEVICES=y
553# CONFIG_BONDING is not set 557# CONFIG_BONDING is not set
554# CONFIG_EQUALIZER is not set 558# CONFIG_EQUALIZER is not set
555# CONFIG_TUN is not set 559# CONFIG_TUN is not set
556
557#
558# ARCnet devices
559#
560# CONFIG_ARCNET is not set 560# CONFIG_ARCNET is not set
561
562#
563# PHY device support
564#
565CONFIG_PHYLIB=y 561CONFIG_PHYLIB=y
566 562
567# 563#
@@ -581,10 +577,7 @@ CONFIG_CICADA_PHY=y
581# Ethernet (10 or 100Mbit) 577# Ethernet (10 or 100Mbit)
582# 578#
583# CONFIG_NET_ETHERNET is not set 579# CONFIG_NET_ETHERNET is not set
584 580CONFIG_NETDEV_1000=y
585#
586# Ethernet (1000 Mbit)
587#
588# CONFIG_ACENIC is not set 581# CONFIG_ACENIC is not set
589# CONFIG_DL2K is not set 582# CONFIG_DL2K is not set
590# CONFIG_E1000 is not set 583# CONFIG_E1000 is not set
@@ -596,34 +589,28 @@ CONFIG_CICADA_PHY=y
596# CONFIG_SKGE is not set 589# CONFIG_SKGE is not set
597# CONFIG_SKY2 is not set 590# CONFIG_SKY2 is not set
598# CONFIG_SK98LIN is not set 591# CONFIG_SK98LIN is not set
592# CONFIG_VIA_VELOCITY is not set
599# CONFIG_TIGON3 is not set 593# CONFIG_TIGON3 is not set
600# CONFIG_BNX2 is not set 594# CONFIG_BNX2 is not set
601CONFIG_GIANFAR=y 595CONFIG_GIANFAR=y
602CONFIG_GFAR_NAPI=y 596CONFIG_GFAR_NAPI=y
603# CONFIG_QLA3XXX is not set 597# CONFIG_QLA3XXX is not set
604 598# CONFIG_ATL1 is not set
605# 599CONFIG_NETDEV_10000=y
606# Ethernet (10000 Mbit)
607#
608# CONFIG_CHELSIO_T1 is not set 600# CONFIG_CHELSIO_T1 is not set
601# CONFIG_CHELSIO_T3 is not set
609# CONFIG_IXGB is not set 602# CONFIG_IXGB is not set
610# CONFIG_S2IO is not set 603# CONFIG_S2IO is not set
611# CONFIG_MYRI10GE is not set 604# CONFIG_MYRI10GE is not set
612# CONFIG_NETXEN_NIC is not set 605# CONFIG_NETXEN_NIC is not set
613 606# CONFIG_MLX4_CORE is not set
614#
615# Token Ring devices
616#
617# CONFIG_TR is not set 607# CONFIG_TR is not set
618 608
619# 609#
620# Wireless LAN (non-hamradio) 610# Wireless LAN
621#
622# CONFIG_NET_RADIO is not set
623
624#
625# Wan interfaces
626# 611#
612# CONFIG_WLAN_PRE80211 is not set
613# CONFIG_WLAN_80211 is not set
627# CONFIG_WAN is not set 614# CONFIG_WAN is not set
628# CONFIG_FDDI is not set 615# CONFIG_FDDI is not set
629# CONFIG_HIPPI is not set 616# CONFIG_HIPPI is not set
@@ -679,6 +666,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4
679CONFIG_SERIAL_CORE=y 666CONFIG_SERIAL_CORE=y
680CONFIG_SERIAL_CORE_CONSOLE=y 667CONFIG_SERIAL_CORE_CONSOLE=y
681# CONFIG_SERIAL_JSM is not set 668# CONFIG_SERIAL_JSM is not set
669# CONFIG_SERIAL_OF_PLATFORM is not set
682CONFIG_UNIX98_PTYS=y 670CONFIG_UNIX98_PTYS=y
683CONFIG_LEGACY_PTYS=y 671CONFIG_LEGACY_PTYS=y
684CONFIG_LEGACY_PTY_COUNT=256 672CONFIG_LEGACY_PTY_COUNT=256
@@ -687,10 +675,6 @@ CONFIG_LEGACY_PTY_COUNT=256
687# IPMI 675# IPMI
688# 676#
689# CONFIG_IPMI_HANDLER is not set 677# CONFIG_IPMI_HANDLER is not set
690
691#
692# Watchdog Cards
693#
694CONFIG_WATCHDOG=y 678CONFIG_WATCHDOG=y
695# CONFIG_WATCHDOG_NOWAYOUT is not set 679# CONFIG_WATCHDOG_NOWAYOUT is not set
696 680
@@ -708,7 +692,6 @@ CONFIG_83xx_WDT=y
708CONFIG_HW_RANDOM=y 692CONFIG_HW_RANDOM=y
709# CONFIG_NVRAM is not set 693# CONFIG_NVRAM is not set
710# CONFIG_GEN_RTC is not set 694# CONFIG_GEN_RTC is not set
711# CONFIG_DTLK is not set
712# CONFIG_R3964 is not set 695# CONFIG_R3964 is not set
713# CONFIG_APPLICOM is not set 696# CONFIG_APPLICOM is not set
714# CONFIG_AGP is not set 697# CONFIG_AGP is not set
@@ -719,11 +702,9 @@ CONFIG_HW_RANDOM=y
719# TPM devices 702# TPM devices
720# 703#
721# CONFIG_TCG_TPM is not set 704# CONFIG_TCG_TPM is not set
722 705CONFIG_DEVPORT=y
723#
724# I2C support
725#
726CONFIG_I2C=y 706CONFIG_I2C=y
707CONFIG_I2C_BOARDINFO=y
727CONFIG_I2C_CHARDEV=y 708CONFIG_I2C_CHARDEV=y
728 709
729# 710#
@@ -750,6 +731,7 @@ CONFIG_I2C_MPC=y
750# CONFIG_I2C_PARPORT_LIGHT is not set 731# CONFIG_I2C_PARPORT_LIGHT is not set
751# CONFIG_I2C_PROSAVAGE is not set 732# CONFIG_I2C_PROSAVAGE is not set
752# CONFIG_I2C_SAVAGE4 is not set 733# CONFIG_I2C_SAVAGE4 is not set
734# CONFIG_I2C_SIMTEC is not set
753# CONFIG_I2C_SIS5595 is not set 735# CONFIG_I2C_SIS5595 is not set
754# CONFIG_I2C_SIS630 is not set 736# CONFIG_I2C_SIS630 is not set
755# CONFIG_I2C_SIS96X is not set 737# CONFIG_I2C_SIS96X is not set
@@ -757,7 +739,6 @@ CONFIG_I2C_MPC=y
757# CONFIG_I2C_VIA is not set 739# CONFIG_I2C_VIA is not set
758# CONFIG_I2C_VIAPRO is not set 740# CONFIG_I2C_VIAPRO is not set
759# CONFIG_I2C_VOODOO3 is not set 741# CONFIG_I2C_VOODOO3 is not set
760# CONFIG_I2C_PCA_ISA is not set
761 742
762# 743#
763# Miscellaneous I2C Chip support 744# Miscellaneous I2C Chip support
@@ -790,35 +771,39 @@ CONFIG_SPI_MPC83xx=y
790# 771#
791# SPI Protocol Masters 772# SPI Protocol Masters
792# 773#
774# CONFIG_SPI_AT25 is not set
775# CONFIG_SPI_SPIDEV is not set
793 776
794# 777#
795# Dallas's 1-wire bus 778# Dallas's 1-wire bus
796# 779#
797# CONFIG_W1 is not set 780# CONFIG_W1 is not set
781# CONFIG_HWMON is not set
798 782
799# 783#
800# Hardware Monitoring support 784# Multifunction device drivers
801# 785#
802# CONFIG_HWMON is not set 786# CONFIG_MFD_SM501 is not set
803# CONFIG_HWMON_VID is not set
804 787
805# 788#
806# Multimedia devices 789# Multimedia devices
807# 790#
808# CONFIG_VIDEO_DEV is not set 791# CONFIG_VIDEO_DEV is not set
792# CONFIG_DVB_CORE is not set
793CONFIG_DAB=y
809 794
810# 795#
811# Digital Video Broadcasting Devices 796# Graphics support
812# 797#
813# CONFIG_DVB is not set 798# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
814 799
815# 800#
816# Graphics support 801# Display device support
817# 802#
818# CONFIG_FIRMWARE_EDID is not set 803# CONFIG_DISPLAY_SUPPORT is not set
804# CONFIG_VGASTATE is not set
819# CONFIG_FB is not set 805# CONFIG_FB is not set
820# CONFIG_FB_IBM_GXT4500 is not set 806# CONFIG_FB_IBM_GXT4500 is not set
821# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
822 807
823# 808#
824# Sound 809# Sound
@@ -841,10 +826,6 @@ CONFIG_USB_ARCH_HAS_EHCI=y
841# USB Gadget Support 826# USB Gadget Support
842# 827#
843# CONFIG_USB_GADGET is not set 828# CONFIG_USB_GADGET is not set
844
845#
846# MMC/SD Card support
847#
848# CONFIG_MMC is not set 829# CONFIG_MMC is not set
849 830
850# 831#
@@ -885,26 +866,39 @@ CONFIG_RTC_INTF_SYSFS=y
885CONFIG_RTC_INTF_PROC=y 866CONFIG_RTC_INTF_PROC=y
886CONFIG_RTC_INTF_DEV=y 867CONFIG_RTC_INTF_DEV=y
887CONFIG_RTC_INTF_DEV_UIE_EMUL=y 868CONFIG_RTC_INTF_DEV_UIE_EMUL=y
869# CONFIG_RTC_DRV_TEST is not set
888 870
889# 871#
890# RTC drivers 872# I2C RTC drivers
891# 873#
892# CONFIG_RTC_DRV_X1205 is not set
893CONFIG_RTC_DRV_DS1307=y 874CONFIG_RTC_DRV_DS1307=y
894# CONFIG_RTC_DRV_DS1553 is not set
895# CONFIG_RTC_DRV_ISL1208 is not set
896# CONFIG_RTC_DRV_DS1672 is not set 875# CONFIG_RTC_DRV_DS1672 is not set
897# CONFIG_RTC_DRV_DS1742 is not set 876# CONFIG_RTC_DRV_MAX6900 is not set
877# CONFIG_RTC_DRV_RS5C372 is not set
878# CONFIG_RTC_DRV_ISL1208 is not set
879# CONFIG_RTC_DRV_X1205 is not set
898# CONFIG_RTC_DRV_PCF8563 is not set 880# CONFIG_RTC_DRV_PCF8563 is not set
899# CONFIG_RTC_DRV_PCF8583 is not set 881# CONFIG_RTC_DRV_PCF8583 is not set
882
883#
884# SPI RTC drivers
885#
900# CONFIG_RTC_DRV_RS5C348 is not set 886# CONFIG_RTC_DRV_RS5C348 is not set
901# CONFIG_RTC_DRV_RS5C372 is not set
902# CONFIG_RTC_DRV_M48T86 is not set
903# CONFIG_RTC_DRV_TEST is not set
904# CONFIG_RTC_DRV_MAX6902 is not set 887# CONFIG_RTC_DRV_MAX6902 is not set
888
889#
890# Platform RTC drivers
891#
892# CONFIG_RTC_DRV_DS1553 is not set
893# CONFIG_RTC_DRV_DS1742 is not set
894# CONFIG_RTC_DRV_M48T86 is not set
905# CONFIG_RTC_DRV_V3020 is not set 895# CONFIG_RTC_DRV_V3020 is not set
906 896
907# 897#
898# on-CPU RTC drivers
899#
900
901#
908# DMA Engine support 902# DMA Engine support
909# 903#
910CONFIG_DMA_ENGINE=y 904CONFIG_DMA_ENGINE=y
@@ -920,10 +914,6 @@ CONFIG_NET_DMA=y
920CONFIG_INTEL_IOATDMA=y 914CONFIG_INTEL_IOATDMA=y
921 915
922# 916#
923# Virtualization
924#
925
926#
927# File systems 917# File systems
928# 918#
929CONFIG_EXT2_FS=y 919CONFIG_EXT2_FS=y
@@ -1015,6 +1005,7 @@ CONFIG_LOCKD_V4=y
1015CONFIG_NFS_COMMON=y 1005CONFIG_NFS_COMMON=y
1016CONFIG_SUNRPC=y 1006CONFIG_SUNRPC=y
1017CONFIG_SUNRPC_GSS=y 1007CONFIG_SUNRPC_GSS=y
1008# CONFIG_SUNRPC_BIND34 is not set
1018CONFIG_RPCSEC_GSS_KRB5=y 1009CONFIG_RPCSEC_GSS_KRB5=y
1019# CONFIG_RPCSEC_GSS_SPKM3 is not set 1010# CONFIG_RPCSEC_GSS_SPKM3 is not set
1020# CONFIG_SMB_FS is not set 1011# CONFIG_SMB_FS is not set
@@ -1044,6 +1035,7 @@ CONFIG_MSDOS_PARTITION=y
1044# CONFIG_SUN_PARTITION is not set 1035# CONFIG_SUN_PARTITION is not set
1045# CONFIG_KARMA_PARTITION is not set 1036# CONFIG_KARMA_PARTITION is not set
1046# CONFIG_EFI_PARTITION is not set 1037# CONFIG_EFI_PARTITION is not set
1038# CONFIG_SYSV68_PARTITION is not set
1047 1039
1048# 1040#
1049# Native Language Support 1041# Native Language Support
@@ -1093,6 +1085,7 @@ CONFIG_NLS_DEFAULT="iso8859-1"
1093# Distributed Lock Manager 1085# Distributed Lock Manager
1094# 1086#
1095# CONFIG_DLM is not set 1087# CONFIG_DLM is not set
1088# CONFIG_UCC_SLOW is not set
1096 1089
1097# 1090#
1098# Library routines 1091# Library routines
@@ -1100,10 +1093,13 @@ CONFIG_NLS_DEFAULT="iso8859-1"
1100CONFIG_BITREVERSE=y 1093CONFIG_BITREVERSE=y
1101# CONFIG_CRC_CCITT is not set 1094# CONFIG_CRC_CCITT is not set
1102# CONFIG_CRC16 is not set 1095# CONFIG_CRC16 is not set
1096# CONFIG_CRC_ITU_T is not set
1103CONFIG_CRC32=y 1097CONFIG_CRC32=y
1104# CONFIG_LIBCRC32C is not set 1098# CONFIG_LIBCRC32C is not set
1105CONFIG_PLIST=y 1099CONFIG_PLIST=y
1106CONFIG_IOMAP_COPY=y 1100CONFIG_HAS_IOMEM=y
1101CONFIG_HAS_IOPORT=y
1102CONFIG_HAS_DMA=y
1107 1103
1108# 1104#
1109# Instrumentation Support 1105# Instrumentation Support
@@ -1120,10 +1116,8 @@ CONFIG_ENABLE_MUST_CHECK=y
1120# CONFIG_DEBUG_FS is not set 1116# CONFIG_DEBUG_FS is not set
1121# CONFIG_HEADERS_CHECK is not set 1117# CONFIG_HEADERS_CHECK is not set
1122# CONFIG_DEBUG_KERNEL is not set 1118# CONFIG_DEBUG_KERNEL is not set
1123CONFIG_LOG_BUF_SHIFT=14
1124# CONFIG_DEBUG_BUGVERBOSE is not set 1119# CONFIG_DEBUG_BUGVERBOSE is not set
1125# CONFIG_BOOTX_TEXT is not set 1120# CONFIG_BOOTX_TEXT is not set
1126# CONFIG_SERIAL_TEXT_DEBUG is not set
1127# CONFIG_PPC_EARLY_DEBUG is not set 1121# CONFIG_PPC_EARLY_DEBUG is not set
1128 1122
1129# 1123#
@@ -1152,8 +1146,11 @@ CONFIG_CRYPTO_MD5=y
1152# CONFIG_CRYPTO_GF128MUL is not set 1146# CONFIG_CRYPTO_GF128MUL is not set
1153# CONFIG_CRYPTO_ECB is not set 1147# CONFIG_CRYPTO_ECB is not set
1154CONFIG_CRYPTO_CBC=y 1148CONFIG_CRYPTO_CBC=y
1149CONFIG_CRYPTO_PCBC=m
1155# CONFIG_CRYPTO_LRW is not set 1150# CONFIG_CRYPTO_LRW is not set
1151# CONFIG_CRYPTO_CRYPTD is not set
1156CONFIG_CRYPTO_DES=y 1152CONFIG_CRYPTO_DES=y
1153# CONFIG_CRYPTO_FCRYPT is not set
1157# CONFIG_CRYPTO_BLOWFISH is not set 1154# CONFIG_CRYPTO_BLOWFISH is not set
1158# CONFIG_CRYPTO_TWOFISH is not set 1155# CONFIG_CRYPTO_TWOFISH is not set
1159# CONFIG_CRYPTO_SERPENT is not set 1156# CONFIG_CRYPTO_SERPENT is not set
@@ -1167,6 +1164,7 @@ CONFIG_CRYPTO_DES=y
1167# CONFIG_CRYPTO_DEFLATE is not set 1164# CONFIG_CRYPTO_DEFLATE is not set
1168# CONFIG_CRYPTO_MICHAEL_MIC is not set 1165# CONFIG_CRYPTO_MICHAEL_MIC is not set
1169# CONFIG_CRYPTO_CRC32C is not set 1166# CONFIG_CRYPTO_CRC32C is not set
1167# CONFIG_CRYPTO_CAMELLIA is not set
1170# CONFIG_CRYPTO_TEST is not set 1168# CONFIG_CRYPTO_TEST is not set
1171 1169
1172# 1170#
diff --git a/arch/powerpc/configs/mpc834x_mds_defconfig b/arch/powerpc/configs/mpc834x_mds_defconfig
index 2e3f8efb6ab1..c28b3ee3cb12 100644
--- a/arch/powerpc/configs/mpc834x_mds_defconfig
+++ b/arch/powerpc/configs/mpc834x_mds_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.20 3# Linux kernel version: 2.6.22-rc7
4# Thu Feb 8 01:00:48 2007 4# Sun Jul 1 23:56:57 2007
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7CONFIG_PPC32=y 7CONFIG_PPC32=y
@@ -45,6 +45,7 @@ CONFIG_PPC_FPU=y
45# CONFIG_PPC_DCR_MMIO is not set 45# CONFIG_PPC_DCR_MMIO is not set
46CONFIG_PPC_STD_MMU=y 46CONFIG_PPC_STD_MMU=y
47CONFIG_PPC_STD_MMU_32=y 47CONFIG_PPC_STD_MMU_32=y
48# CONFIG_PPC_MM_SLICES is not set
48# CONFIG_SMP is not set 49# CONFIG_SMP is not set
49CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 50CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
50 51
@@ -63,14 +64,17 @@ CONFIG_LOCALVERSION_AUTO=y
63CONFIG_SWAP=y 64CONFIG_SWAP=y
64CONFIG_SYSVIPC=y 65CONFIG_SYSVIPC=y
65# CONFIG_IPC_NS is not set 66# CONFIG_IPC_NS is not set
67CONFIG_SYSVIPC_SYSCTL=y
66# CONFIG_POSIX_MQUEUE is not set 68# CONFIG_POSIX_MQUEUE is not set
67# CONFIG_BSD_PROCESS_ACCT is not set 69# CONFIG_BSD_PROCESS_ACCT is not set
68# CONFIG_TASKSTATS is not set 70# CONFIG_TASKSTATS is not set
69# CONFIG_UTS_NS is not set 71# CONFIG_UTS_NS is not set
70# CONFIG_AUDIT is not set 72# CONFIG_AUDIT is not set
71# CONFIG_IKCONFIG is not set 73# CONFIG_IKCONFIG is not set
74CONFIG_LOG_BUF_SHIFT=14
72CONFIG_SYSFS_DEPRECATED=y 75CONFIG_SYSFS_DEPRECATED=y
73# CONFIG_RELAY is not set 76# CONFIG_RELAY is not set
77CONFIG_BLK_DEV_INITRD=y
74CONFIG_INITRAMFS_SOURCE="" 78CONFIG_INITRAMFS_SOURCE=""
75# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 79# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
76CONFIG_SYSCTL=y 80CONFIG_SYSCTL=y
@@ -83,14 +87,19 @@ CONFIG_BUG=y
83CONFIG_ELF_CORE=y 87CONFIG_ELF_CORE=y
84CONFIG_BASE_FULL=y 88CONFIG_BASE_FULL=y
85CONFIG_FUTEX=y 89CONFIG_FUTEX=y
90CONFIG_ANON_INODES=y
86# CONFIG_EPOLL is not set 91# CONFIG_EPOLL is not set
92CONFIG_SIGNALFD=y
93CONFIG_TIMERFD=y
94CONFIG_EVENTFD=y
87CONFIG_SHMEM=y 95CONFIG_SHMEM=y
88CONFIG_SLAB=y
89CONFIG_VM_EVENT_COUNTERS=y 96CONFIG_VM_EVENT_COUNTERS=y
97CONFIG_SLAB=y
98# CONFIG_SLUB is not set
99# CONFIG_SLOB is not set
90CONFIG_RT_MUTEXES=y 100CONFIG_RT_MUTEXES=y
91# CONFIG_TINY_SHMEM is not set 101# CONFIG_TINY_SHMEM is not set
92CONFIG_BASE_SMALL=0 102CONFIG_BASE_SMALL=0
93# CONFIG_SLOB is not set
94 103
95# 104#
96# Loadable module support 105# Loadable module support
@@ -122,19 +131,33 @@ CONFIG_DEFAULT_AS=y
122# CONFIG_DEFAULT_CFQ is not set 131# CONFIG_DEFAULT_CFQ is not set
123# CONFIG_DEFAULT_NOOP is not set 132# CONFIG_DEFAULT_NOOP is not set
124CONFIG_DEFAULT_IOSCHED="anticipatory" 133CONFIG_DEFAULT_IOSCHED="anticipatory"
125CONFIG_PPC_GEN550=y
126# CONFIG_WANT_EARLY_SERIAL is not set
127 134
128# 135#
129# Platform support 136# Platform support
130# 137#
138# CONFIG_PPC_MPC52xx is not set
139# CONFIG_PPC_MPC5200 is not set
140# CONFIG_PPC_CELL is not set
141# CONFIG_PPC_CELL_NATIVE is not set
142# CONFIG_PQ2ADS is not set
131# CONFIG_MPC8313_RDB is not set 143# CONFIG_MPC8313_RDB is not set
132# CONFIG_MPC832x_MDS is not set 144# CONFIG_MPC832x_MDS is not set
145# CONFIG_MPC832x_RDB is not set
133CONFIG_MPC834x_MDS=y 146CONFIG_MPC834x_MDS=y
134# CONFIG_MPC834x_ITX is not set 147# CONFIG_MPC834x_ITX is not set
135# CONFIG_MPC8360E_PB is not set 148# CONFIG_MPC836x_MDS is not set
136CONFIG_MPC834x=y 149CONFIG_MPC834x=y
137# CONFIG_MPIC is not set 150# CONFIG_MPIC is not set
151# CONFIG_MPIC_WEIRD is not set
152# CONFIG_PPC_I8259 is not set
153# CONFIG_PPC_RTAS is not set
154# CONFIG_MMIO_NVRAM is not set
155# CONFIG_PPC_MPC106 is not set
156# CONFIG_PPC_970_NAP is not set
157# CONFIG_PPC_INDIRECT_IO is not set
158# CONFIG_GENERIC_IOMAP is not set
159# CONFIG_CPU_FREQ is not set
160# CONFIG_CPM2 is not set
138 161
139# 162#
140# Kernel options 163# Kernel options
@@ -162,32 +185,33 @@ CONFIG_FLAT_NODE_MEM_MAP=y
162# CONFIG_SPARSEMEM_STATIC is not set 185# CONFIG_SPARSEMEM_STATIC is not set
163CONFIG_SPLIT_PTLOCK_CPUS=4 186CONFIG_SPLIT_PTLOCK_CPUS=4
164# CONFIG_RESOURCES_64BIT is not set 187# CONFIG_RESOURCES_64BIT is not set
188CONFIG_ZONE_DMA_FLAG=1
165CONFIG_PROC_DEVICETREE=y 189CONFIG_PROC_DEVICETREE=y
166# CONFIG_CMDLINE_BOOL is not set 190# CONFIG_CMDLINE_BOOL is not set
167# CONFIG_PM is not set 191# CONFIG_PM is not set
168CONFIG_SECCOMP=y 192CONFIG_SECCOMP=y
193CONFIG_WANT_DEVICE_TREE=y
194CONFIG_DEVICE_TREE=""
169CONFIG_ISA_DMA_API=y 195CONFIG_ISA_DMA_API=y
170 196
171# 197#
172# Bus options 198# Bus options
173# 199#
200CONFIG_ZONE_DMA=y
174CONFIG_GENERIC_ISA_DMA=y 201CONFIG_GENERIC_ISA_DMA=y
175# CONFIG_MPIC_WEIRD is not set
176# CONFIG_PPC_I8259 is not set
177CONFIG_PPC_INDIRECT_PCI=y 202CONFIG_PPC_INDIRECT_PCI=y
203# CONFIG_PPC_INDIRECT_PCI_BE is not set
178CONFIG_FSL_SOC=y 204CONFIG_FSL_SOC=y
179CONFIG_PCI=y 205CONFIG_PCI=y
180CONFIG_PCI_DOMAINS=y 206CONFIG_PCI_DOMAINS=y
181# CONFIG_PCIEPORTBUS is not set 207# CONFIG_PCIEPORTBUS is not set
208CONFIG_ARCH_SUPPORTS_MSI=y
209# CONFIG_PCI_MSI is not set
182 210
183# 211#
184# PCCARD (PCMCIA/CardBus) support 212# PCCARD (PCMCIA/CardBus) support
185# 213#
186# CONFIG_PCCARD is not set 214# CONFIG_PCCARD is not set
187
188#
189# PCI Hotplug Support
190#
191# CONFIG_HOTPLUG_PCI is not set 215# CONFIG_HOTPLUG_PCI is not set
192 216
193# 217#
@@ -212,13 +236,13 @@ CONFIG_NET=y
212# 236#
213# Networking options 237# Networking options
214# 238#
215# CONFIG_NETDEBUG is not set
216CONFIG_PACKET=y 239CONFIG_PACKET=y
217# CONFIG_PACKET_MMAP is not set 240# CONFIG_PACKET_MMAP is not set
218CONFIG_UNIX=y 241CONFIG_UNIX=y
219CONFIG_XFRM=y 242CONFIG_XFRM=y
220CONFIG_XFRM_USER=m 243CONFIG_XFRM_USER=m
221# CONFIG_XFRM_SUB_POLICY is not set 244# CONFIG_XFRM_SUB_POLICY is not set
245# CONFIG_XFRM_MIGRATE is not set
222# CONFIG_NET_KEY is not set 246# CONFIG_NET_KEY is not set
223CONFIG_INET=y 247CONFIG_INET=y
224CONFIG_IP_MULTICAST=y 248CONFIG_IP_MULTICAST=y
@@ -252,20 +276,8 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
252# CONFIG_INET6_TUNNEL is not set 276# CONFIG_INET6_TUNNEL is not set
253# CONFIG_NETWORK_SECMARK is not set 277# CONFIG_NETWORK_SECMARK is not set
254# CONFIG_NETFILTER is not set 278# CONFIG_NETFILTER is not set
255
256#
257# DCCP Configuration (EXPERIMENTAL)
258#
259# CONFIG_IP_DCCP is not set 279# CONFIG_IP_DCCP is not set
260
261#
262# SCTP Configuration (EXPERIMENTAL)
263#
264# CONFIG_IP_SCTP is not set 280# CONFIG_IP_SCTP is not set
265
266#
267# TIPC Configuration (EXPERIMENTAL)
268#
269# CONFIG_TIPC is not set 281# CONFIG_TIPC is not set
270# CONFIG_ATM is not set 282# CONFIG_ATM is not set
271# CONFIG_BRIDGE is not set 283# CONFIG_BRIDGE is not set
@@ -291,7 +303,16 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
291# CONFIG_HAMRADIO is not set 303# CONFIG_HAMRADIO is not set
292# CONFIG_IRDA is not set 304# CONFIG_IRDA is not set
293# CONFIG_BT is not set 305# CONFIG_BT is not set
306# CONFIG_AF_RXRPC is not set
307
308#
309# Wireless
310#
311# CONFIG_CFG80211 is not set
312# CONFIG_WIRELESS_EXT is not set
313# CONFIG_MAC80211 is not set
294# CONFIG_IEEE80211 is not set 314# CONFIG_IEEE80211 is not set
315# CONFIG_RFKILL is not set
295 316
296# 317#
297# Device Drivers 318# Device Drivers
@@ -309,10 +330,6 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
309# Connector - unified userspace <-> kernelspace linker 330# Connector - unified userspace <-> kernelspace linker
310# 331#
311# CONFIG_CONNECTOR is not set 332# CONFIG_CONNECTOR is not set
312
313#
314# Memory Technology Devices (MTD)
315#
316# CONFIG_MTD is not set 333# CONFIG_MTD is not set
317 334
318# 335#
@@ -323,6 +340,7 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
323# 340#
324# Plug and Play support 341# Plug and Play support
325# 342#
343# CONFIG_PNPACPI is not set
326 344
327# 345#
328# Block devices 346# Block devices
@@ -341,19 +359,16 @@ CONFIG_BLK_DEV_RAM=y
341CONFIG_BLK_DEV_RAM_COUNT=16 359CONFIG_BLK_DEV_RAM_COUNT=16
342CONFIG_BLK_DEV_RAM_SIZE=32768 360CONFIG_BLK_DEV_RAM_SIZE=32768
343CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 361CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
344CONFIG_BLK_DEV_INITRD=y
345# CONFIG_CDROM_PKTCDVD is not set 362# CONFIG_CDROM_PKTCDVD is not set
346# CONFIG_ATA_OVER_ETH is not set 363# CONFIG_ATA_OVER_ETH is not set
347 364
348# 365#
349# Misc devices 366# Misc devices
350# 367#
368# CONFIG_PHANTOM is not set
351# CONFIG_SGI_IOC4 is not set 369# CONFIG_SGI_IOC4 is not set
352# CONFIG_TIFM_CORE is not set 370# CONFIG_TIFM_CORE is not set
353 371# CONFIG_BLINK is not set
354#
355# ATA/ATAPI/MFM/RLL support
356#
357# CONFIG_IDE is not set 372# CONFIG_IDE is not set
358 373
359# 374#
@@ -362,10 +377,6 @@ CONFIG_BLK_DEV_INITRD=y
362# CONFIG_RAID_ATTRS is not set 377# CONFIG_RAID_ATTRS is not set
363# CONFIG_SCSI is not set 378# CONFIG_SCSI is not set
364# CONFIG_SCSI_NETLINK is not set 379# CONFIG_SCSI_NETLINK is not set
365
366#
367# Serial ATA (prod) and Parallel ATA (experimental) drivers
368#
369# CONFIG_ATA is not set 380# CONFIG_ATA is not set
370 381
371# 382#
@@ -381,18 +392,14 @@ CONFIG_BLK_DEV_INITRD=y
381# 392#
382# IEEE 1394 (FireWire) support 393# IEEE 1394 (FireWire) support
383# 394#
395# CONFIG_FIREWIRE is not set
384# CONFIG_IEEE1394 is not set 396# CONFIG_IEEE1394 is not set
385 397
386# 398#
387# I2O device support 399# I2O device support
388# 400#
389# CONFIG_I2O is not set 401# CONFIG_I2O is not set
390 402# CONFIG_MACINTOSH_DRIVERS is not set
391#
392# Macintosh device drivers
393#
394# CONFIG_MAC_EMUMOUSEBTN is not set
395# CONFIG_WINDFARM is not set
396 403
397# 404#
398# Network device support 405# Network device support
@@ -402,15 +409,7 @@ CONFIG_NETDEVICES=y
402# CONFIG_BONDING is not set 409# CONFIG_BONDING is not set
403# CONFIG_EQUALIZER is not set 410# CONFIG_EQUALIZER is not set
404# CONFIG_TUN is not set 411# CONFIG_TUN is not set
405
406#
407# ARCnet devices
408#
409# CONFIG_ARCNET is not set 412# CONFIG_ARCNET is not set
410
411#
412# PHY device support
413#
414CONFIG_PHYLIB=y 413CONFIG_PHYLIB=y
415 414
416# 415#
@@ -460,10 +459,8 @@ CONFIG_E100=y
460# CONFIG_SUNDANCE is not set 459# CONFIG_SUNDANCE is not set
461# CONFIG_TLAN is not set 460# CONFIG_TLAN is not set
462# CONFIG_VIA_RHINE is not set 461# CONFIG_VIA_RHINE is not set
463 462# CONFIG_SC92031 is not set
464# 463CONFIG_NETDEV_1000=y
465# Ethernet (1000 Mbit)
466#
467# CONFIG_ACENIC is not set 464# CONFIG_ACENIC is not set
468# CONFIG_DL2K is not set 465# CONFIG_DL2K is not set
469# CONFIG_E1000 is not set 466# CONFIG_E1000 is not set
@@ -481,29 +478,22 @@ CONFIG_E100=y
481CONFIG_GIANFAR=y 478CONFIG_GIANFAR=y
482# CONFIG_GFAR_NAPI is not set 479# CONFIG_GFAR_NAPI is not set
483# CONFIG_QLA3XXX is not set 480# CONFIG_QLA3XXX is not set
484 481# CONFIG_ATL1 is not set
485# 482CONFIG_NETDEV_10000=y
486# Ethernet (10000 Mbit)
487#
488# CONFIG_CHELSIO_T1 is not set 483# CONFIG_CHELSIO_T1 is not set
484# CONFIG_CHELSIO_T3 is not set
489# CONFIG_IXGB is not set 485# CONFIG_IXGB is not set
490# CONFIG_S2IO is not set 486# CONFIG_S2IO is not set
491# CONFIG_MYRI10GE is not set 487# CONFIG_MYRI10GE is not set
492# CONFIG_NETXEN_NIC is not set 488# CONFIG_NETXEN_NIC is not set
493 489# CONFIG_MLX4_CORE is not set
494#
495# Token Ring devices
496#
497# CONFIG_TR is not set 490# CONFIG_TR is not set
498 491
499# 492#
500# Wireless LAN (non-hamradio) 493# Wireless LAN
501#
502# CONFIG_NET_RADIO is not set
503
504#
505# Wan interfaces
506# 494#
495# CONFIG_WLAN_PRE80211 is not set
496# CONFIG_WLAN_80211 is not set
507# CONFIG_WAN is not set 497# CONFIG_WAN is not set
508# CONFIG_FDDI is not set 498# CONFIG_FDDI is not set
509# CONFIG_HIPPI is not set 499# CONFIG_HIPPI is not set
@@ -529,6 +519,7 @@ CONFIG_GIANFAR=y
529# 519#
530CONFIG_INPUT=y 520CONFIG_INPUT=y
531# CONFIG_INPUT_FF_MEMLESS is not set 521# CONFIG_INPUT_FF_MEMLESS is not set
522# CONFIG_INPUT_POLLDEV is not set
532 523
533# 524#
534# Userland interfaces 525# Userland interfaces
@@ -545,6 +536,7 @@ CONFIG_INPUT=y
545# CONFIG_INPUT_KEYBOARD is not set 536# CONFIG_INPUT_KEYBOARD is not set
546# CONFIG_INPUT_MOUSE is not set 537# CONFIG_INPUT_MOUSE is not set
547# CONFIG_INPUT_JOYSTICK is not set 538# CONFIG_INPUT_JOYSTICK is not set
539# CONFIG_INPUT_TABLET is not set
548# CONFIG_INPUT_TOUCHSCREEN is not set 540# CONFIG_INPUT_TOUCHSCREEN is not set
549# CONFIG_INPUT_MISC is not set 541# CONFIG_INPUT_MISC is not set
550 542
@@ -577,6 +569,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4
577CONFIG_SERIAL_CORE=y 569CONFIG_SERIAL_CORE=y
578CONFIG_SERIAL_CORE_CONSOLE=y 570CONFIG_SERIAL_CORE_CONSOLE=y
579# CONFIG_SERIAL_JSM is not set 571# CONFIG_SERIAL_JSM is not set
572# CONFIG_SERIAL_OF_PLATFORM is not set
580CONFIG_UNIX98_PTYS=y 573CONFIG_UNIX98_PTYS=y
581CONFIG_LEGACY_PTYS=y 574CONFIG_LEGACY_PTYS=y
582CONFIG_LEGACY_PTY_COUNT=256 575CONFIG_LEGACY_PTY_COUNT=256
@@ -585,10 +578,6 @@ CONFIG_LEGACY_PTY_COUNT=256
585# IPMI 578# IPMI
586# 579#
587# CONFIG_IPMI_HANDLER is not set 580# CONFIG_IPMI_HANDLER is not set
588
589#
590# Watchdog Cards
591#
592CONFIG_WATCHDOG=y 581CONFIG_WATCHDOG=y
593# CONFIG_WATCHDOG_NOWAYOUT is not set 582# CONFIG_WATCHDOG_NOWAYOUT is not set
594 583
@@ -607,7 +596,6 @@ CONFIG_83xx_WDT=y
607# CONFIG_NVRAM is not set 596# CONFIG_NVRAM is not set
608CONFIG_GEN_RTC=y 597CONFIG_GEN_RTC=y
609# CONFIG_GEN_RTC_X is not set 598# CONFIG_GEN_RTC_X is not set
610# CONFIG_DTLK is not set
611# CONFIG_R3964 is not set 599# CONFIG_R3964 is not set
612# CONFIG_APPLICOM is not set 600# CONFIG_APPLICOM is not set
613# CONFIG_AGP is not set 601# CONFIG_AGP is not set
@@ -618,11 +606,9 @@ CONFIG_GEN_RTC=y
618# TPM devices 606# TPM devices
619# 607#
620# CONFIG_TCG_TPM is not set 608# CONFIG_TCG_TPM is not set
621 609CONFIG_DEVPORT=y
622#
623# I2C support
624#
625CONFIG_I2C=y 610CONFIG_I2C=y
611CONFIG_I2C_BOARDINFO=y
626CONFIG_I2C_CHARDEV=y 612CONFIG_I2C_CHARDEV=y
627 613
628# 614#
@@ -649,6 +635,7 @@ CONFIG_I2C_MPC=y
649# CONFIG_I2C_PARPORT_LIGHT is not set 635# CONFIG_I2C_PARPORT_LIGHT is not set
650# CONFIG_I2C_PROSAVAGE is not set 636# CONFIG_I2C_PROSAVAGE is not set
651# CONFIG_I2C_SAVAGE4 is not set 637# CONFIG_I2C_SAVAGE4 is not set
638# CONFIG_I2C_SIMTEC is not set
652# CONFIG_I2C_SIS5595 is not set 639# CONFIG_I2C_SIS5595 is not set
653# CONFIG_I2C_SIS630 is not set 640# CONFIG_I2C_SIS630 is not set
654# CONFIG_I2C_SIS96X is not set 641# CONFIG_I2C_SIS96X is not set
@@ -656,7 +643,6 @@ CONFIG_I2C_MPC=y
656# CONFIG_I2C_VIA is not set 643# CONFIG_I2C_VIA is not set
657# CONFIG_I2C_VIAPRO is not set 644# CONFIG_I2C_VIAPRO is not set
658# CONFIG_I2C_VOODOO3 is not set 645# CONFIG_I2C_VOODOO3 is not set
659# CONFIG_I2C_PCA_ISA is not set
660 646
661# 647#
662# Miscellaneous I2C Chip support 648# Miscellaneous I2C Chip support
@@ -684,16 +670,14 @@ CONFIG_I2C_MPC=y
684# Dallas's 1-wire bus 670# Dallas's 1-wire bus
685# 671#
686# CONFIG_W1 is not set 672# CONFIG_W1 is not set
687
688#
689# Hardware Monitoring support
690#
691CONFIG_HWMON=y 673CONFIG_HWMON=y
692# CONFIG_HWMON_VID is not set 674# CONFIG_HWMON_VID is not set
693# CONFIG_SENSORS_ABITUGURU is not set 675# CONFIG_SENSORS_ABITUGURU is not set
676# CONFIG_SENSORS_AD7418 is not set
694# CONFIG_SENSORS_ADM1021 is not set 677# CONFIG_SENSORS_ADM1021 is not set
695# CONFIG_SENSORS_ADM1025 is not set 678# CONFIG_SENSORS_ADM1025 is not set
696# CONFIG_SENSORS_ADM1026 is not set 679# CONFIG_SENSORS_ADM1026 is not set
680# CONFIG_SENSORS_ADM1029 is not set
697# CONFIG_SENSORS_ADM1031 is not set 681# CONFIG_SENSORS_ADM1031 is not set
698# CONFIG_SENSORS_ADM9240 is not set 682# CONFIG_SENSORS_ADM9240 is not set
699# CONFIG_SENSORS_ASB100 is not set 683# CONFIG_SENSORS_ASB100 is not set
@@ -716,6 +700,7 @@ CONFIG_HWMON=y
716# CONFIG_SENSORS_LM90 is not set 700# CONFIG_SENSORS_LM90 is not set
717# CONFIG_SENSORS_LM92 is not set 701# CONFIG_SENSORS_LM92 is not set
718# CONFIG_SENSORS_MAX1619 is not set 702# CONFIG_SENSORS_MAX1619 is not set
703# CONFIG_SENSORS_MAX6650 is not set
719# CONFIG_SENSORS_PC87360 is not set 704# CONFIG_SENSORS_PC87360 is not set
720# CONFIG_SENSORS_PC87427 is not set 705# CONFIG_SENSORS_PC87427 is not set
721# CONFIG_SENSORS_SIS5595 is not set 706# CONFIG_SENSORS_SIS5595 is not set
@@ -735,22 +720,29 @@ CONFIG_HWMON=y
735# CONFIG_HWMON_DEBUG_CHIP is not set 720# CONFIG_HWMON_DEBUG_CHIP is not set
736 721
737# 722#
723# Multifunction device drivers
724#
725# CONFIG_MFD_SM501 is not set
726
727#
738# Multimedia devices 728# Multimedia devices
739# 729#
740# CONFIG_VIDEO_DEV is not set 730# CONFIG_VIDEO_DEV is not set
731# CONFIG_DVB_CORE is not set
732CONFIG_DAB=y
741 733
742# 734#
743# Digital Video Broadcasting Devices 735# Graphics support
744# 736#
745# CONFIG_DVB is not set 737# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
746 738
747# 739#
748# Graphics support 740# Display device support
749# 741#
750CONFIG_FIRMWARE_EDID=y 742# CONFIG_DISPLAY_SUPPORT is not set
743# CONFIG_VGASTATE is not set
751# CONFIG_FB is not set 744# CONFIG_FB is not set
752# CONFIG_FB_IBM_GXT4500 is not set 745# CONFIG_FB_IBM_GXT4500 is not set
753# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
754 746
755# 747#
756# Sound 748# Sound
@@ -761,6 +753,7 @@ CONFIG_FIRMWARE_EDID=y
761# HID Devices 753# HID Devices
762# 754#
763CONFIG_HID=y 755CONFIG_HID=y
756# CONFIG_HID_DEBUG is not set
764 757
765# 758#
766# USB support 759# USB support
@@ -778,10 +771,6 @@ CONFIG_USB_ARCH_HAS_EHCI=y
778# USB Gadget Support 771# USB Gadget Support
779# 772#
780# CONFIG_USB_GADGET is not set 773# CONFIG_USB_GADGET is not set
781
782#
783# MMC/SD Card support
784#
785# CONFIG_MMC is not set 774# CONFIG_MMC is not set
786 775
787# 776#
@@ -825,10 +814,6 @@ CONFIG_USB_ARCH_HAS_EHCI=y
825# 814#
826 815
827# 816#
828# Virtualization
829#
830
831#
832# File systems 817# File systems
833# 818#
834CONFIG_EXT2_FS=y 819CONFIG_EXT2_FS=y
@@ -916,6 +901,7 @@ CONFIG_LOCKD_V4=y
916CONFIG_NFS_COMMON=y 901CONFIG_NFS_COMMON=y
917CONFIG_SUNRPC=y 902CONFIG_SUNRPC=y
918CONFIG_SUNRPC_GSS=y 903CONFIG_SUNRPC_GSS=y
904# CONFIG_SUNRPC_BIND34 is not set
919CONFIG_RPCSEC_GSS_KRB5=y 905CONFIG_RPCSEC_GSS_KRB5=y
920# CONFIG_RPCSEC_GSS_SPKM3 is not set 906# CONFIG_RPCSEC_GSS_SPKM3 is not set
921# CONFIG_SMB_FS is not set 907# CONFIG_SMB_FS is not set
@@ -941,6 +927,7 @@ CONFIG_PARTITION_ADVANCED=y
941# CONFIG_SUN_PARTITION is not set 927# CONFIG_SUN_PARTITION is not set
942# CONFIG_KARMA_PARTITION is not set 928# CONFIG_KARMA_PARTITION is not set
943# CONFIG_EFI_PARTITION is not set 929# CONFIG_EFI_PARTITION is not set
930# CONFIG_SYSV68_PARTITION is not set
944 931
945# 932#
946# Native Language Support 933# Native Language Support
@@ -951,6 +938,7 @@ CONFIG_PARTITION_ADVANCED=y
951# Distributed Lock Manager 938# Distributed Lock Manager
952# 939#
953# CONFIG_DLM is not set 940# CONFIG_DLM is not set
941# CONFIG_UCC_SLOW is not set
954 942
955# 943#
956# Library routines 944# Library routines
@@ -958,10 +946,13 @@ CONFIG_PARTITION_ADVANCED=y
958CONFIG_BITREVERSE=y 946CONFIG_BITREVERSE=y
959# CONFIG_CRC_CCITT is not set 947# CONFIG_CRC_CCITT is not set
960# CONFIG_CRC16 is not set 948# CONFIG_CRC16 is not set
949# CONFIG_CRC_ITU_T is not set
961CONFIG_CRC32=y 950CONFIG_CRC32=y
962# CONFIG_LIBCRC32C is not set 951# CONFIG_LIBCRC32C is not set
963CONFIG_PLIST=y 952CONFIG_PLIST=y
964CONFIG_IOMAP_COPY=y 953CONFIG_HAS_IOMEM=y
954CONFIG_HAS_IOPORT=y
955CONFIG_HAS_DMA=y
965 956
966# 957#
967# Instrumentation Support 958# Instrumentation Support
@@ -978,10 +969,8 @@ CONFIG_ENABLE_MUST_CHECK=y
978# CONFIG_DEBUG_FS is not set 969# CONFIG_DEBUG_FS is not set
979# CONFIG_HEADERS_CHECK is not set 970# CONFIG_HEADERS_CHECK is not set
980# CONFIG_DEBUG_KERNEL is not set 971# CONFIG_DEBUG_KERNEL is not set
981CONFIG_LOG_BUF_SHIFT=14
982# CONFIG_DEBUG_BUGVERBOSE is not set 972# CONFIG_DEBUG_BUGVERBOSE is not set
983# CONFIG_BOOTX_TEXT is not set 973# CONFIG_BOOTX_TEXT is not set
984# CONFIG_SERIAL_TEXT_DEBUG is not set
985# CONFIG_PPC_EARLY_DEBUG is not set 974# CONFIG_PPC_EARLY_DEBUG is not set
986 975
987# 976#
@@ -1010,8 +999,11 @@ CONFIG_CRYPTO_MD5=y
1010# CONFIG_CRYPTO_GF128MUL is not set 999# CONFIG_CRYPTO_GF128MUL is not set
1011CONFIG_CRYPTO_ECB=m 1000CONFIG_CRYPTO_ECB=m
1012CONFIG_CRYPTO_CBC=y 1001CONFIG_CRYPTO_CBC=y
1002CONFIG_CRYPTO_PCBC=m
1013# CONFIG_CRYPTO_LRW is not set 1003# CONFIG_CRYPTO_LRW is not set
1004# CONFIG_CRYPTO_CRYPTD is not set
1014CONFIG_CRYPTO_DES=y 1005CONFIG_CRYPTO_DES=y
1006# CONFIG_CRYPTO_FCRYPT is not set
1015# CONFIG_CRYPTO_BLOWFISH is not set 1007# CONFIG_CRYPTO_BLOWFISH is not set
1016# CONFIG_CRYPTO_TWOFISH is not set 1008# CONFIG_CRYPTO_TWOFISH is not set
1017# CONFIG_CRYPTO_SERPENT is not set 1009# CONFIG_CRYPTO_SERPENT is not set
@@ -1025,6 +1017,7 @@ CONFIG_CRYPTO_DES=y
1025# CONFIG_CRYPTO_DEFLATE is not set 1017# CONFIG_CRYPTO_DEFLATE is not set
1026# CONFIG_CRYPTO_MICHAEL_MIC is not set 1018# CONFIG_CRYPTO_MICHAEL_MIC is not set
1027# CONFIG_CRYPTO_CRC32C is not set 1019# CONFIG_CRYPTO_CRC32C is not set
1020# CONFIG_CRYPTO_CAMELLIA is not set
1028# CONFIG_CRYPTO_TEST is not set 1021# CONFIG_CRYPTO_TEST is not set
1029 1022
1030# 1023#
diff --git a/arch/powerpc/configs/mpc836x_mds_defconfig b/arch/powerpc/configs/mpc836x_mds_defconfig
index 921a151dc778..bcbbc167f90d 100644
--- a/arch/powerpc/configs/mpc836x_mds_defconfig
+++ b/arch/powerpc/configs/mpc836x_mds_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.21-rc5 3# Linux kernel version: 2.6.22-rc7
4# Mon Apr 9 16:14:05 2007 4# Sun Jul 1 23:56:57 2007
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7CONFIG_PPC32=y 7CONFIG_PPC32=y
@@ -45,6 +45,7 @@ CONFIG_PPC_FPU=y
45# CONFIG_PPC_DCR_MMIO is not set 45# CONFIG_PPC_DCR_MMIO is not set
46CONFIG_PPC_STD_MMU=y 46CONFIG_PPC_STD_MMU=y
47CONFIG_PPC_STD_MMU_32=y 47CONFIG_PPC_STD_MMU_32=y
48# CONFIG_PPC_MM_SLICES is not set
48# CONFIG_SMP is not set 49# CONFIG_SMP is not set
49CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 50CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
50 51
@@ -70,6 +71,7 @@ CONFIG_SYSVIPC_SYSCTL=y
70# CONFIG_UTS_NS is not set 71# CONFIG_UTS_NS is not set
71# CONFIG_AUDIT is not set 72# CONFIG_AUDIT is not set
72# CONFIG_IKCONFIG is not set 73# CONFIG_IKCONFIG is not set
74CONFIG_LOG_BUF_SHIFT=14
73CONFIG_SYSFS_DEPRECATED=y 75CONFIG_SYSFS_DEPRECATED=y
74# CONFIG_RELAY is not set 76# CONFIG_RELAY is not set
75CONFIG_BLK_DEV_INITRD=y 77CONFIG_BLK_DEV_INITRD=y
@@ -85,14 +87,19 @@ CONFIG_BUG=y
85CONFIG_ELF_CORE=y 87CONFIG_ELF_CORE=y
86CONFIG_BASE_FULL=y 88CONFIG_BASE_FULL=y
87CONFIG_FUTEX=y 89CONFIG_FUTEX=y
90CONFIG_ANON_INODES=y
88# CONFIG_EPOLL is not set 91# CONFIG_EPOLL is not set
92CONFIG_SIGNALFD=y
93CONFIG_TIMERFD=y
94CONFIG_EVENTFD=y
89CONFIG_SHMEM=y 95CONFIG_SHMEM=y
90CONFIG_SLAB=y
91CONFIG_VM_EVENT_COUNTERS=y 96CONFIG_VM_EVENT_COUNTERS=y
97CONFIG_SLAB=y
98# CONFIG_SLUB is not set
99# CONFIG_SLOB is not set
92CONFIG_RT_MUTEXES=y 100CONFIG_RT_MUTEXES=y
93# CONFIG_TINY_SHMEM is not set 101# CONFIG_TINY_SHMEM is not set
94CONFIG_BASE_SMALL=0 102CONFIG_BASE_SMALL=0
95# CONFIG_SLOB is not set
96 103
97# 104#
98# Loadable module support 105# Loadable module support
@@ -124,12 +131,15 @@ CONFIG_DEFAULT_AS=y
124# CONFIG_DEFAULT_CFQ is not set 131# CONFIG_DEFAULT_CFQ is not set
125# CONFIG_DEFAULT_NOOP is not set 132# CONFIG_DEFAULT_NOOP is not set
126CONFIG_DEFAULT_IOSCHED="anticipatory" 133CONFIG_DEFAULT_IOSCHED="anticipatory"
127CONFIG_QUICC_ENGINE=y
128# CONFIG_WANT_EARLY_SERIAL is not set
129 134
130# 135#
131# Platform support 136# Platform support
132# 137#
138# CONFIG_PPC_MPC52xx is not set
139# CONFIG_PPC_MPC5200 is not set
140# CONFIG_PPC_CELL is not set
141# CONFIG_PPC_CELL_NATIVE is not set
142# CONFIG_PQ2ADS is not set
133# CONFIG_MPC8313_RDB is not set 143# CONFIG_MPC8313_RDB is not set
134# CONFIG_MPC832x_MDS is not set 144# CONFIG_MPC832x_MDS is not set
135# CONFIG_MPC832x_RDB is not set 145# CONFIG_MPC832x_RDB is not set
@@ -138,6 +148,17 @@ CONFIG_QUICC_ENGINE=y
138CONFIG_MPC836x_MDS=y 148CONFIG_MPC836x_MDS=y
139CONFIG_PPC_MPC836x=y 149CONFIG_PPC_MPC836x=y
140# CONFIG_MPIC is not set 150# CONFIG_MPIC is not set
151# CONFIG_MPIC_WEIRD is not set
152# CONFIG_PPC_I8259 is not set
153# CONFIG_PPC_RTAS is not set
154# CONFIG_MMIO_NVRAM is not set
155# CONFIG_PPC_MPC106 is not set
156# CONFIG_PPC_970_NAP is not set
157# CONFIG_PPC_INDIRECT_IO is not set
158# CONFIG_GENERIC_IOMAP is not set
159# CONFIG_CPU_FREQ is not set
160CONFIG_QUICC_ENGINE=y
161# CONFIG_CPM2 is not set
141 162
142# 163#
143# Kernel options 164# Kernel options
@@ -170,6 +191,8 @@ CONFIG_PROC_DEVICETREE=y
170# CONFIG_CMDLINE_BOOL is not set 191# CONFIG_CMDLINE_BOOL is not set
171# CONFIG_PM is not set 192# CONFIG_PM is not set
172CONFIG_SECCOMP=y 193CONFIG_SECCOMP=y
194CONFIG_WANT_DEVICE_TREE=y
195CONFIG_DEVICE_TREE=""
173CONFIG_ISA_DMA_API=y 196CONFIG_ISA_DMA_API=y
174 197
175# 198#
@@ -177,22 +200,19 @@ CONFIG_ISA_DMA_API=y
177# 200#
178CONFIG_ZONE_DMA=y 201CONFIG_ZONE_DMA=y
179CONFIG_GENERIC_ISA_DMA=y 202CONFIG_GENERIC_ISA_DMA=y
180# CONFIG_MPIC_WEIRD is not set
181# CONFIG_PPC_I8259 is not set
182CONFIG_PPC_INDIRECT_PCI=y 203CONFIG_PPC_INDIRECT_PCI=y
204# CONFIG_PPC_INDIRECT_PCI_BE is not set
183CONFIG_FSL_SOC=y 205CONFIG_FSL_SOC=y
184CONFIG_PCI=y 206CONFIG_PCI=y
185CONFIG_PCI_DOMAINS=y 207CONFIG_PCI_DOMAINS=y
186# CONFIG_PCIEPORTBUS is not set 208# CONFIG_PCIEPORTBUS is not set
209CONFIG_ARCH_SUPPORTS_MSI=y
210# CONFIG_PCI_MSI is not set
187 211
188# 212#
189# PCCARD (PCMCIA/CardBus) support 213# PCCARD (PCMCIA/CardBus) support
190# 214#
191# CONFIG_PCCARD is not set 215# CONFIG_PCCARD is not set
192
193#
194# PCI Hotplug Support
195#
196# CONFIG_HOTPLUG_PCI is not set 216# CONFIG_HOTPLUG_PCI is not set
197 217
198# 218#
@@ -217,7 +237,6 @@ CONFIG_NET=y
217# 237#
218# Networking options 238# Networking options
219# 239#
220# CONFIG_NETDEBUG is not set
221CONFIG_PACKET=y 240CONFIG_PACKET=y
222# CONFIG_PACKET_MMAP is not set 241# CONFIG_PACKET_MMAP is not set
223CONFIG_UNIX=y 242CONFIG_UNIX=y
@@ -258,20 +277,8 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
258# CONFIG_INET6_TUNNEL is not set 277# CONFIG_INET6_TUNNEL is not set
259# CONFIG_NETWORK_SECMARK is not set 278# CONFIG_NETWORK_SECMARK is not set
260# CONFIG_NETFILTER is not set 279# CONFIG_NETFILTER is not set
261
262#
263# DCCP Configuration (EXPERIMENTAL)
264#
265# CONFIG_IP_DCCP is not set 280# CONFIG_IP_DCCP is not set
266
267#
268# SCTP Configuration (EXPERIMENTAL)
269#
270# CONFIG_IP_SCTP is not set 281# CONFIG_IP_SCTP is not set
271
272#
273# TIPC Configuration (EXPERIMENTAL)
274#
275# CONFIG_TIPC is not set 282# CONFIG_TIPC is not set
276# CONFIG_ATM is not set 283# CONFIG_ATM is not set
277# CONFIG_BRIDGE is not set 284# CONFIG_BRIDGE is not set
@@ -297,7 +304,16 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
297# CONFIG_HAMRADIO is not set 304# CONFIG_HAMRADIO is not set
298# CONFIG_IRDA is not set 305# CONFIG_IRDA is not set
299# CONFIG_BT is not set 306# CONFIG_BT is not set
307# CONFIG_AF_RXRPC is not set
308
309#
310# Wireless
311#
312# CONFIG_CFG80211 is not set
313# CONFIG_WIRELESS_EXT is not set
314# CONFIG_MAC80211 is not set
300# CONFIG_IEEE80211 is not set 315# CONFIG_IEEE80211 is not set
316# CONFIG_RFKILL is not set
301 317
302# 318#
303# Device Drivers 319# Device Drivers
@@ -315,10 +331,6 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
315# Connector - unified userspace <-> kernelspace linker 331# Connector - unified userspace <-> kernelspace linker
316# 332#
317# CONFIG_CONNECTOR is not set 333# CONFIG_CONNECTOR is not set
318
319#
320# Memory Technology Devices (MTD)
321#
322# CONFIG_MTD is not set 334# CONFIG_MTD is not set
323 335
324# 336#
@@ -354,12 +366,10 @@ CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
354# 366#
355# Misc devices 367# Misc devices
356# 368#
369# CONFIG_PHANTOM is not set
357# CONFIG_SGI_IOC4 is not set 370# CONFIG_SGI_IOC4 is not set
358# CONFIG_TIFM_CORE is not set 371# CONFIG_TIFM_CORE is not set
359 372# CONFIG_BLINK is not set
360#
361# ATA/ATAPI/MFM/RLL support
362#
363# CONFIG_IDE is not set 373# CONFIG_IDE is not set
364 374
365# 375#
@@ -388,6 +398,7 @@ CONFIG_SCSI_PROC_FS=y
388# CONFIG_SCSI_CONSTANTS is not set 398# CONFIG_SCSI_CONSTANTS is not set
389# CONFIG_SCSI_LOGGING is not set 399# CONFIG_SCSI_LOGGING is not set
390# CONFIG_SCSI_SCAN_ASYNC is not set 400# CONFIG_SCSI_SCAN_ASYNC is not set
401CONFIG_SCSI_WAIT_SCAN=m
391 402
392# 403#
393# SCSI Transports 404# SCSI Transports
@@ -435,10 +446,6 @@ CONFIG_SCSI_PROC_FS=y
435# CONFIG_SCSI_NSP32 is not set 446# CONFIG_SCSI_NSP32 is not set
436# CONFIG_SCSI_DEBUG is not set 447# CONFIG_SCSI_DEBUG is not set
437# CONFIG_SCSI_SRP is not set 448# CONFIG_SCSI_SRP is not set
438
439#
440# Serial ATA (prod) and Parallel ATA (experimental) drivers
441#
442# CONFIG_ATA is not set 449# CONFIG_ATA is not set
443 450
444# 451#
@@ -457,18 +464,14 @@ CONFIG_SCSI_PROC_FS=y
457# 464#
458# IEEE 1394 (FireWire) support 465# IEEE 1394 (FireWire) support
459# 466#
467# CONFIG_FIREWIRE is not set
460# CONFIG_IEEE1394 is not set 468# CONFIG_IEEE1394 is not set
461 469
462# 470#
463# I2O device support 471# I2O device support
464# 472#
465# CONFIG_I2O is not set 473# CONFIG_I2O is not set
466 474# CONFIG_MACINTOSH_DRIVERS is not set
467#
468# Macintosh device drivers
469#
470# CONFIG_MAC_EMUMOUSEBTN is not set
471# CONFIG_WINDFARM is not set
472 475
473# 476#
474# Network device support 477# Network device support
@@ -478,15 +481,7 @@ CONFIG_NETDEVICES=y
478# CONFIG_BONDING is not set 481# CONFIG_BONDING is not set
479# CONFIG_EQUALIZER is not set 482# CONFIG_EQUALIZER is not set
480# CONFIG_TUN is not set 483# CONFIG_TUN is not set
481
482#
483# ARCnet devices
484#
485# CONFIG_ARCNET is not set 484# CONFIG_ARCNET is not set
486
487#
488# PHY device support
489#
490CONFIG_PHYLIB=y 485CONFIG_PHYLIB=y
491 486
492# 487#
@@ -500,7 +495,6 @@ CONFIG_MARVELL_PHY=y
500# CONFIG_VITESSE_PHY is not set 495# CONFIG_VITESSE_PHY is not set
501# CONFIG_SMSC_PHY is not set 496# CONFIG_SMSC_PHY is not set
502# CONFIG_BROADCOM_PHY is not set 497# CONFIG_BROADCOM_PHY is not set
503# CONFIG_ICPLUS_PHY is not set
504# CONFIG_FIXED_PHY is not set 498# CONFIG_FIXED_PHY is not set
505 499
506# 500#
@@ -519,10 +513,7 @@ CONFIG_MII=y
519# CONFIG_NET_TULIP is not set 513# CONFIG_NET_TULIP is not set
520# CONFIG_HP100 is not set 514# CONFIG_HP100 is not set
521# CONFIG_NET_PCI is not set 515# CONFIG_NET_PCI is not set
522 516CONFIG_NETDEV_1000=y
523#
524# Ethernet (1000 Mbit)
525#
526# CONFIG_ACENIC is not set 517# CONFIG_ACENIC is not set
527# CONFIG_DL2K is not set 518# CONFIG_DL2K is not set
528# CONFIG_E1000 is not set 519# CONFIG_E1000 is not set
@@ -534,6 +525,7 @@ CONFIG_MII=y
534# CONFIG_SKGE is not set 525# CONFIG_SKGE is not set
535# CONFIG_SKY2 is not set 526# CONFIG_SKY2 is not set
536# CONFIG_SK98LIN is not set 527# CONFIG_SK98LIN is not set
528# CONFIG_VIA_VELOCITY is not set
537# CONFIG_TIGON3 is not set 529# CONFIG_TIGON3 is not set
538# CONFIG_BNX2 is not set 530# CONFIG_BNX2 is not set
539# CONFIG_GIANFAR is not set 531# CONFIG_GIANFAR is not set
@@ -541,33 +533,24 @@ CONFIG_UCC_GETH=y
541# CONFIG_UGETH_NAPI is not set 533# CONFIG_UGETH_NAPI is not set
542# CONFIG_UGETH_MAGIC_PACKET is not set 534# CONFIG_UGETH_MAGIC_PACKET is not set
543# CONFIG_UGETH_FILTERING is not set 535# CONFIG_UGETH_FILTERING is not set
544# CONFIG_UGETH_TX_ON_DEMOND is not set 536# CONFIG_UGETH_TX_ON_DEMAND is not set
545# CONFIG_QLA3XXX is not set 537# CONFIG_QLA3XXX is not set
546# CONFIG_ATL1 is not set 538# CONFIG_ATL1 is not set
547 539CONFIG_NETDEV_10000=y
548#
549# Ethernet (10000 Mbit)
550#
551# CONFIG_CHELSIO_T1 is not set 540# CONFIG_CHELSIO_T1 is not set
552# CONFIG_CHELSIO_T3 is not set 541# CONFIG_CHELSIO_T3 is not set
553# CONFIG_IXGB is not set 542# CONFIG_IXGB is not set
554# CONFIG_S2IO is not set 543# CONFIG_S2IO is not set
555# CONFIG_MYRI10GE is not set 544# CONFIG_MYRI10GE is not set
556# CONFIG_NETXEN_NIC is not set 545# CONFIG_NETXEN_NIC is not set
557 546# CONFIG_MLX4_CORE is not set
558#
559# Token Ring devices
560#
561# CONFIG_TR is not set 547# CONFIG_TR is not set
562 548
563# 549#
564# Wireless LAN (non-hamradio) 550# Wireless LAN
565#
566# CONFIG_NET_RADIO is not set
567
568#
569# Wan interfaces
570# 551#
552# CONFIG_WLAN_PRE80211 is not set
553# CONFIG_WLAN_80211 is not set
571# CONFIG_WAN is not set 554# CONFIG_WAN is not set
572# CONFIG_FDDI is not set 555# CONFIG_FDDI is not set
573# CONFIG_HIPPI is not set 556# CONFIG_HIPPI is not set
@@ -594,6 +577,7 @@ CONFIG_UCC_GETH=y
594# 577#
595CONFIG_INPUT=y 578CONFIG_INPUT=y
596# CONFIG_INPUT_FF_MEMLESS is not set 579# CONFIG_INPUT_FF_MEMLESS is not set
580# CONFIG_INPUT_POLLDEV is not set
597 581
598# 582#
599# Userland interfaces 583# Userland interfaces
@@ -610,6 +594,7 @@ CONFIG_INPUT=y
610# CONFIG_INPUT_KEYBOARD is not set 594# CONFIG_INPUT_KEYBOARD is not set
611# CONFIG_INPUT_MOUSE is not set 595# CONFIG_INPUT_MOUSE is not set
612# CONFIG_INPUT_JOYSTICK is not set 596# CONFIG_INPUT_JOYSTICK is not set
597# CONFIG_INPUT_TABLET is not set
613# CONFIG_INPUT_TOUCHSCREEN is not set 598# CONFIG_INPUT_TOUCHSCREEN is not set
614# CONFIG_INPUT_MISC is not set 599# CONFIG_INPUT_MISC is not set
615 600
@@ -651,10 +636,6 @@ CONFIG_LEGACY_PTY_COUNT=256
651# IPMI 636# IPMI
652# 637#
653# CONFIG_IPMI_HANDLER is not set 638# CONFIG_IPMI_HANDLER is not set
654
655#
656# Watchdog Cards
657#
658CONFIG_WATCHDOG=y 639CONFIG_WATCHDOG=y
659# CONFIG_WATCHDOG_NOWAYOUT is not set 640# CONFIG_WATCHDOG_NOWAYOUT is not set
660 641
@@ -673,7 +654,6 @@ CONFIG_HW_RANDOM=y
673# CONFIG_NVRAM is not set 654# CONFIG_NVRAM is not set
674CONFIG_GEN_RTC=y 655CONFIG_GEN_RTC=y
675# CONFIG_GEN_RTC_X is not set 656# CONFIG_GEN_RTC_X is not set
676# CONFIG_DTLK is not set
677# CONFIG_R3964 is not set 657# CONFIG_R3964 is not set
678# CONFIG_APPLICOM is not set 658# CONFIG_APPLICOM is not set
679# CONFIG_AGP is not set 659# CONFIG_AGP is not set
@@ -684,11 +664,9 @@ CONFIG_GEN_RTC=y
684# TPM devices 664# TPM devices
685# 665#
686# CONFIG_TCG_TPM is not set 666# CONFIG_TCG_TPM is not set
687 667CONFIG_DEVPORT=y
688#
689# I2C support
690#
691CONFIG_I2C=y 668CONFIG_I2C=y
669CONFIG_I2C_BOARDINFO=y
692CONFIG_I2C_CHARDEV=y 670CONFIG_I2C_CHARDEV=y
693 671
694# 672#
@@ -713,9 +691,9 @@ CONFIG_I2C_MPC=y
713# CONFIG_I2C_NFORCE2 is not set 691# CONFIG_I2C_NFORCE2 is not set
714# CONFIG_I2C_OCORES is not set 692# CONFIG_I2C_OCORES is not set
715# CONFIG_I2C_PARPORT_LIGHT is not set 693# CONFIG_I2C_PARPORT_LIGHT is not set
716# CONFIG_I2C_PASEMI is not set
717# CONFIG_I2C_PROSAVAGE is not set 694# CONFIG_I2C_PROSAVAGE is not set
718# CONFIG_I2C_SAVAGE4 is not set 695# CONFIG_I2C_SAVAGE4 is not set
696# CONFIG_I2C_SIMTEC is not set
719# CONFIG_I2C_SIS5595 is not set 697# CONFIG_I2C_SIS5595 is not set
720# CONFIG_I2C_SIS630 is not set 698# CONFIG_I2C_SIS630 is not set
721# CONFIG_I2C_SIS96X is not set 699# CONFIG_I2C_SIS96X is not set
@@ -723,7 +701,6 @@ CONFIG_I2C_MPC=y
723# CONFIG_I2C_VIA is not set 701# CONFIG_I2C_VIA is not set
724# CONFIG_I2C_VIAPRO is not set 702# CONFIG_I2C_VIAPRO is not set
725# CONFIG_I2C_VOODOO3 is not set 703# CONFIG_I2C_VOODOO3 is not set
726# CONFIG_I2C_PCA_ISA is not set
727 704
728# 705#
729# Miscellaneous I2C Chip support 706# Miscellaneous I2C Chip support
@@ -751,13 +728,10 @@ CONFIG_I2C_MPC=y
751# Dallas's 1-wire bus 728# Dallas's 1-wire bus
752# 729#
753# CONFIG_W1 is not set 730# CONFIG_W1 is not set
754
755#
756# Hardware Monitoring support
757#
758CONFIG_HWMON=y 731CONFIG_HWMON=y
759# CONFIG_HWMON_VID is not set 732# CONFIG_HWMON_VID is not set
760# CONFIG_SENSORS_ABITUGURU is not set 733# CONFIG_SENSORS_ABITUGURU is not set
734# CONFIG_SENSORS_AD7418 is not set
761# CONFIG_SENSORS_ADM1021 is not set 735# CONFIG_SENSORS_ADM1021 is not set
762# CONFIG_SENSORS_ADM1025 is not set 736# CONFIG_SENSORS_ADM1025 is not set
763# CONFIG_SENSORS_ADM1026 is not set 737# CONFIG_SENSORS_ADM1026 is not set
@@ -784,6 +758,7 @@ CONFIG_HWMON=y
784# CONFIG_SENSORS_LM90 is not set 758# CONFIG_SENSORS_LM90 is not set
785# CONFIG_SENSORS_LM92 is not set 759# CONFIG_SENSORS_LM92 is not set
786# CONFIG_SENSORS_MAX1619 is not set 760# CONFIG_SENSORS_MAX1619 is not set
761# CONFIG_SENSORS_MAX6650 is not set
787# CONFIG_SENSORS_PC87360 is not set 762# CONFIG_SENSORS_PC87360 is not set
788# CONFIG_SENSORS_PC87427 is not set 763# CONFIG_SENSORS_PC87427 is not set
789# CONFIG_SENSORS_SIS5595 is not set 764# CONFIG_SENSORS_SIS5595 is not set
@@ -811,16 +786,19 @@ CONFIG_HWMON=y
811# Multimedia devices 786# Multimedia devices
812# 787#
813# CONFIG_VIDEO_DEV is not set 788# CONFIG_VIDEO_DEV is not set
789# CONFIG_DVB_CORE is not set
790CONFIG_DAB=y
814 791
815# 792#
816# Digital Video Broadcasting Devices 793# Graphics support
817# 794#
818# CONFIG_DVB is not set 795# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
819 796
820# 797#
821# Graphics support 798# Display device support
822# 799#
823# CONFIG_BACKLIGHT_LCD_SUPPORT is not set 800# CONFIG_DISPLAY_SUPPORT is not set
801# CONFIG_VGASTATE is not set
824# CONFIG_FB is not set 802# CONFIG_FB is not set
825# CONFIG_FB_IBM_GXT4500 is not set 803# CONFIG_FB_IBM_GXT4500 is not set
826 804
@@ -851,10 +829,6 @@ CONFIG_USB_ARCH_HAS_EHCI=y
851# USB Gadget Support 829# USB Gadget Support
852# 830#
853# CONFIG_USB_GADGET is not set 831# CONFIG_USB_GADGET is not set
854
855#
856# MMC/SD Card support
857#
858# CONFIG_MMC is not set 832# CONFIG_MMC is not set
859 833
860# 834#
@@ -898,14 +872,6 @@ CONFIG_USB_ARCH_HAS_EHCI=y
898# 872#
899 873
900# 874#
901# Auxiliary Display support
902#
903
904#
905# Virtualization
906#
907
908#
909# File systems 875# File systems
910# 876#
911CONFIG_EXT2_FS=y 877CONFIG_EXT2_FS=y
@@ -993,6 +959,7 @@ CONFIG_LOCKD_V4=y
993CONFIG_NFS_COMMON=y 959CONFIG_NFS_COMMON=y
994CONFIG_SUNRPC=y 960CONFIG_SUNRPC=y
995CONFIG_SUNRPC_GSS=y 961CONFIG_SUNRPC_GSS=y
962# CONFIG_SUNRPC_BIND34 is not set
996CONFIG_RPCSEC_GSS_KRB5=y 963CONFIG_RPCSEC_GSS_KRB5=y
997# CONFIG_RPCSEC_GSS_SPKM3 is not set 964# CONFIG_RPCSEC_GSS_SPKM3 is not set
998# CONFIG_SMB_FS is not set 965# CONFIG_SMB_FS is not set
@@ -1018,6 +985,7 @@ CONFIG_PARTITION_ADVANCED=y
1018# CONFIG_SUN_PARTITION is not set 985# CONFIG_SUN_PARTITION is not set
1019# CONFIG_KARMA_PARTITION is not set 986# CONFIG_KARMA_PARTITION is not set
1020# CONFIG_EFI_PARTITION is not set 987# CONFIG_EFI_PARTITION is not set
988# CONFIG_SYSV68_PARTITION is not set
1021 989
1022# 990#
1023# Native Language Support 991# Native Language Support
@@ -1038,11 +1006,13 @@ CONFIG_UCC=y
1038CONFIG_BITREVERSE=y 1006CONFIG_BITREVERSE=y
1039# CONFIG_CRC_CCITT is not set 1007# CONFIG_CRC_CCITT is not set
1040# CONFIG_CRC16 is not set 1008# CONFIG_CRC16 is not set
1009# CONFIG_CRC_ITU_T is not set
1041CONFIG_CRC32=y 1010CONFIG_CRC32=y
1042# CONFIG_LIBCRC32C is not set 1011# CONFIG_LIBCRC32C is not set
1043CONFIG_PLIST=y 1012CONFIG_PLIST=y
1044CONFIG_HAS_IOMEM=y 1013CONFIG_HAS_IOMEM=y
1045CONFIG_HAS_IOPORT=y 1014CONFIG_HAS_IOPORT=y
1015CONFIG_HAS_DMA=y
1046 1016
1047# 1017#
1048# Instrumentation Support 1018# Instrumentation Support
@@ -1059,7 +1029,6 @@ CONFIG_ENABLE_MUST_CHECK=y
1059# CONFIG_DEBUG_FS is not set 1029# CONFIG_DEBUG_FS is not set
1060# CONFIG_HEADERS_CHECK is not set 1030# CONFIG_HEADERS_CHECK is not set
1061# CONFIG_DEBUG_KERNEL is not set 1031# CONFIG_DEBUG_KERNEL is not set
1062CONFIG_LOG_BUF_SHIFT=14
1063# CONFIG_DEBUG_BUGVERBOSE is not set 1032# CONFIG_DEBUG_BUGVERBOSE is not set
1064# CONFIG_BOOTX_TEXT is not set 1033# CONFIG_BOOTX_TEXT is not set
1065# CONFIG_PPC_EARLY_DEBUG is not set 1034# CONFIG_PPC_EARLY_DEBUG is not set
@@ -1092,6 +1061,7 @@ CONFIG_CRYPTO_ECB=m
1092CONFIG_CRYPTO_CBC=y 1061CONFIG_CRYPTO_CBC=y
1093CONFIG_CRYPTO_PCBC=m 1062CONFIG_CRYPTO_PCBC=m
1094# CONFIG_CRYPTO_LRW is not set 1063# CONFIG_CRYPTO_LRW is not set
1064# CONFIG_CRYPTO_CRYPTD is not set
1095CONFIG_CRYPTO_DES=y 1065CONFIG_CRYPTO_DES=y
1096# CONFIG_CRYPTO_FCRYPT is not set 1066# CONFIG_CRYPTO_FCRYPT is not set
1097# CONFIG_CRYPTO_BLOWFISH is not set 1067# CONFIG_CRYPTO_BLOWFISH is not set
diff --git a/arch/powerpc/configs/mpc8540_ads_defconfig b/arch/powerpc/configs/mpc8540_ads_defconfig
index 17120c472304..faedcf8d64a7 100644
--- a/arch/powerpc/configs/mpc8540_ads_defconfig
+++ b/arch/powerpc/configs/mpc8540_ads_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.20-rc5 3# Linux kernel version: 2.6.22-rc7
4# Mon Jan 22 22:25:24 2007 4# Sun Jul 1 23:56:58 2007
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7CONFIG_PPC32=y 7CONFIG_PPC32=y
@@ -34,9 +34,9 @@ CONFIG_DEFAULT_UIMAGE=y
34# CONFIG_PPC_83xx is not set 34# CONFIG_PPC_83xx is not set
35CONFIG_PPC_85xx=y 35CONFIG_PPC_85xx=y
36# CONFIG_PPC_86xx is not set 36# CONFIG_PPC_86xx is not set
37# CONFIG_PPC_8xx is not set
37# CONFIG_40x is not set 38# CONFIG_40x is not set
38# CONFIG_44x is not set 39# CONFIG_44x is not set
39# CONFIG_8xx is not set
40# CONFIG_E200 is not set 40# CONFIG_E200 is not set
41CONFIG_85xx=y 41CONFIG_85xx=y
42CONFIG_E500=y 42CONFIG_E500=y
@@ -46,6 +46,7 @@ CONFIG_BOOKE=y
46CONFIG_FSL_BOOKE=y 46CONFIG_FSL_BOOKE=y
47# CONFIG_PHYS_64BIT is not set 47# CONFIG_PHYS_64BIT is not set
48CONFIG_SPE=y 48CONFIG_SPE=y
49# CONFIG_PPC_MM_SLICES is not set
49CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 50CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
50 51
51# 52#
@@ -63,14 +64,17 @@ CONFIG_LOCALVERSION_AUTO=y
63CONFIG_SWAP=y 64CONFIG_SWAP=y
64CONFIG_SYSVIPC=y 65CONFIG_SYSVIPC=y
65# CONFIG_IPC_NS is not set 66# CONFIG_IPC_NS is not set
67CONFIG_SYSVIPC_SYSCTL=y
66# CONFIG_POSIX_MQUEUE is not set 68# CONFIG_POSIX_MQUEUE is not set
67# CONFIG_BSD_PROCESS_ACCT is not set 69# CONFIG_BSD_PROCESS_ACCT is not set
68# CONFIG_TASKSTATS is not set 70# CONFIG_TASKSTATS is not set
69# CONFIG_UTS_NS is not set 71# CONFIG_UTS_NS is not set
70# CONFIG_AUDIT is not set 72# CONFIG_AUDIT is not set
71# CONFIG_IKCONFIG is not set 73# CONFIG_IKCONFIG is not set
74CONFIG_LOG_BUF_SHIFT=14
72CONFIG_SYSFS_DEPRECATED=y 75CONFIG_SYSFS_DEPRECATED=y
73# CONFIG_RELAY is not set 76# CONFIG_RELAY is not set
77CONFIG_BLK_DEV_INITRD=y
74CONFIG_INITRAMFS_SOURCE="" 78CONFIG_INITRAMFS_SOURCE=""
75# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 79# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
76CONFIG_SYSCTL=y 80CONFIG_SYSCTL=y
@@ -85,14 +89,19 @@ CONFIG_BUG=y
85CONFIG_ELF_CORE=y 89CONFIG_ELF_CORE=y
86CONFIG_BASE_FULL=y 90CONFIG_BASE_FULL=y
87CONFIG_FUTEX=y 91CONFIG_FUTEX=y
92CONFIG_ANON_INODES=y
88CONFIG_EPOLL=y 93CONFIG_EPOLL=y
94CONFIG_SIGNALFD=y
95CONFIG_TIMERFD=y
96CONFIG_EVENTFD=y
89CONFIG_SHMEM=y 97CONFIG_SHMEM=y
90CONFIG_SLAB=y
91CONFIG_VM_EVENT_COUNTERS=y 98CONFIG_VM_EVENT_COUNTERS=y
99CONFIG_SLAB=y
100# CONFIG_SLUB is not set
101# CONFIG_SLOB is not set
92CONFIG_RT_MUTEXES=y 102CONFIG_RT_MUTEXES=y
93# CONFIG_TINY_SHMEM is not set 103# CONFIG_TINY_SHMEM is not set
94CONFIG_BASE_SMALL=0 104CONFIG_BASE_SMALL=0
95# CONFIG_SLOB is not set
96 105
97# 106#
98# Loadable module support 107# Loadable module support
@@ -119,17 +128,33 @@ CONFIG_DEFAULT_AS=y
119# CONFIG_DEFAULT_CFQ is not set 128# CONFIG_DEFAULT_CFQ is not set
120# CONFIG_DEFAULT_NOOP is not set 129# CONFIG_DEFAULT_NOOP is not set
121CONFIG_DEFAULT_IOSCHED="anticipatory" 130CONFIG_DEFAULT_IOSCHED="anticipatory"
122# CONFIG_WANT_EARLY_SERIAL is not set
123 131
124# 132#
125# Platform support 133# Platform support
126# 134#
135# CONFIG_PPC_MPC52xx is not set
136# CONFIG_PPC_MPC5200 is not set
137# CONFIG_PPC_CELL is not set
138# CONFIG_PPC_CELL_NATIVE is not set
139# CONFIG_PQ2ADS is not set
127CONFIG_MPC8540_ADS=y 140CONFIG_MPC8540_ADS=y
128# CONFIG_MPC8560_ADS is not set 141# CONFIG_MPC8560_ADS is not set
129# CONFIG_MPC85xx_CDS is not set 142# CONFIG_MPC85xx_CDS is not set
143# CONFIG_MPC85xx_MDS is not set
144# CONFIG_MPC8544_DS is not set
130CONFIG_MPC8540=y 145CONFIG_MPC8540=y
131CONFIG_PPC_INDIRECT_PCI_BE=y 146CONFIG_MPC85xx=y
132CONFIG_MPIC=y 147CONFIG_MPIC=y
148# CONFIG_MPIC_WEIRD is not set
149# CONFIG_PPC_I8259 is not set
150# CONFIG_PPC_RTAS is not set
151# CONFIG_MMIO_NVRAM is not set
152# CONFIG_PPC_MPC106 is not set
153# CONFIG_PPC_970_NAP is not set
154# CONFIG_PPC_INDIRECT_IO is not set
155# CONFIG_GENERIC_IOMAP is not set
156# CONFIG_CPU_FREQ is not set
157# CONFIG_CPM2 is not set
133 158
134# 159#
135# Kernel options 160# Kernel options
@@ -158,21 +183,25 @@ CONFIG_FLAT_NODE_MEM_MAP=y
158# CONFIG_SPARSEMEM_STATIC is not set 183# CONFIG_SPARSEMEM_STATIC is not set
159CONFIG_SPLIT_PTLOCK_CPUS=4 184CONFIG_SPLIT_PTLOCK_CPUS=4
160# CONFIG_RESOURCES_64BIT is not set 185# CONFIG_RESOURCES_64BIT is not set
186CONFIG_ZONE_DMA_FLAG=1
161CONFIG_PROC_DEVICETREE=y 187CONFIG_PROC_DEVICETREE=y
162# CONFIG_CMDLINE_BOOL is not set 188# CONFIG_CMDLINE_BOOL is not set
163# CONFIG_PM is not set 189# CONFIG_PM is not set
164# CONFIG_SECCOMP is not set 190# CONFIG_SECCOMP is not set
191CONFIG_WANT_DEVICE_TREE=y
192CONFIG_DEVICE_TREE=""
165CONFIG_ISA_DMA_API=y 193CONFIG_ISA_DMA_API=y
166 194
167# 195#
168# Bus options 196# Bus options
169# 197#
170# CONFIG_MPIC_WEIRD is not set 198CONFIG_ZONE_DMA=y
171# CONFIG_PPC_I8259 is not set
172CONFIG_PPC_INDIRECT_PCI=y 199CONFIG_PPC_INDIRECT_PCI=y
200CONFIG_PPC_INDIRECT_PCI_BE=y
173CONFIG_FSL_SOC=y 201CONFIG_FSL_SOC=y
174# CONFIG_PCI is not set 202# CONFIG_PCI is not set
175# CONFIG_PCI_DOMAINS is not set 203# CONFIG_PCI_DOMAINS is not set
204# CONFIG_ARCH_SUPPORTS_MSI is not set
176 205
177# 206#
178# PCCARD (PCMCIA/CardBus) support 207# PCCARD (PCMCIA/CardBus) support
@@ -180,10 +209,6 @@ CONFIG_FSL_SOC=y
180# CONFIG_PCCARD is not set 209# CONFIG_PCCARD is not set
181 210
182# 211#
183# PCI Hotplug Support
184#
185
186#
187# Advanced setup 212# Advanced setup
188# 213#
189# CONFIG_ADVANCED_OPTIONS is not set 214# CONFIG_ADVANCED_OPTIONS is not set
@@ -205,13 +230,13 @@ CONFIG_NET=y
205# 230#
206# Networking options 231# Networking options
207# 232#
208# CONFIG_NETDEBUG is not set
209CONFIG_PACKET=y 233CONFIG_PACKET=y
210# CONFIG_PACKET_MMAP is not set 234# CONFIG_PACKET_MMAP is not set
211CONFIG_UNIX=y 235CONFIG_UNIX=y
212CONFIG_XFRM=y 236CONFIG_XFRM=y
213CONFIG_XFRM_USER=y 237CONFIG_XFRM_USER=y
214# CONFIG_XFRM_SUB_POLICY is not set 238# CONFIG_XFRM_SUB_POLICY is not set
239# CONFIG_XFRM_MIGRATE is not set
215# CONFIG_NET_KEY is not set 240# CONFIG_NET_KEY is not set
216CONFIG_INET=y 241CONFIG_INET=y
217CONFIG_IP_MULTICAST=y 242CONFIG_IP_MULTICAST=y
@@ -245,20 +270,8 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
245# CONFIG_INET6_TUNNEL is not set 270# CONFIG_INET6_TUNNEL is not set
246# CONFIG_NETWORK_SECMARK is not set 271# CONFIG_NETWORK_SECMARK is not set
247# CONFIG_NETFILTER is not set 272# CONFIG_NETFILTER is not set
248
249#
250# DCCP Configuration (EXPERIMENTAL)
251#
252# CONFIG_IP_DCCP is not set 273# CONFIG_IP_DCCP is not set
253
254#
255# SCTP Configuration (EXPERIMENTAL)
256#
257# CONFIG_IP_SCTP is not set 274# CONFIG_IP_SCTP is not set
258
259#
260# TIPC Configuration (EXPERIMENTAL)
261#
262# CONFIG_TIPC is not set 275# CONFIG_TIPC is not set
263# CONFIG_ATM is not set 276# CONFIG_ATM is not set
264# CONFIG_BRIDGE is not set 277# CONFIG_BRIDGE is not set
@@ -284,7 +297,16 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
284# CONFIG_HAMRADIO is not set 297# CONFIG_HAMRADIO is not set
285# CONFIG_IRDA is not set 298# CONFIG_IRDA is not set
286# CONFIG_BT is not set 299# CONFIG_BT is not set
300# CONFIG_AF_RXRPC is not set
301
302#
303# Wireless
304#
305# CONFIG_CFG80211 is not set
306# CONFIG_WIRELESS_EXT is not set
307# CONFIG_MAC80211 is not set
287# CONFIG_IEEE80211 is not set 308# CONFIG_IEEE80211 is not set
309# CONFIG_RFKILL is not set
288 310
289# 311#
290# Device Drivers 312# Device Drivers
@@ -297,16 +319,13 @@ CONFIG_STANDALONE=y
297CONFIG_PREVENT_FIRMWARE_BUILD=y 319CONFIG_PREVENT_FIRMWARE_BUILD=y
298# CONFIG_FW_LOADER is not set 320# CONFIG_FW_LOADER is not set
299# CONFIG_DEBUG_DRIVER is not set 321# CONFIG_DEBUG_DRIVER is not set
322# CONFIG_DEBUG_DEVRES is not set
300# CONFIG_SYS_HYPERVISOR is not set 323# CONFIG_SYS_HYPERVISOR is not set
301 324
302# 325#
303# Connector - unified userspace <-> kernelspace linker 326# Connector - unified userspace <-> kernelspace linker
304# 327#
305# CONFIG_CONNECTOR is not set 328# CONFIG_CONNECTOR is not set
306
307#
308# Memory Technology Devices (MTD)
309#
310# CONFIG_MTD is not set 329# CONFIG_MTD is not set
311 330
312# 331#
@@ -317,6 +336,7 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
317# 336#
318# Plug and Play support 337# Plug and Play support
319# 338#
339# CONFIG_PNPACPI is not set
320 340
321# 341#
322# Block devices 342# Block devices
@@ -330,18 +350,13 @@ CONFIG_BLK_DEV_RAM=y
330CONFIG_BLK_DEV_RAM_COUNT=16 350CONFIG_BLK_DEV_RAM_COUNT=16
331CONFIG_BLK_DEV_RAM_SIZE=32768 351CONFIG_BLK_DEV_RAM_SIZE=32768
332CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 352CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
333CONFIG_BLK_DEV_INITRD=y
334# CONFIG_CDROM_PKTCDVD is not set 353# CONFIG_CDROM_PKTCDVD is not set
335# CONFIG_ATA_OVER_ETH is not set 354# CONFIG_ATA_OVER_ETH is not set
336 355
337# 356#
338# Misc devices 357# Misc devices
339# 358#
340# CONFIG_TIFM_CORE is not set 359# CONFIG_BLINK is not set
341
342#
343# ATA/ATAPI/MFM/RLL support
344#
345# CONFIG_IDE is not set 360# CONFIG_IDE is not set
346 361
347# 362#
@@ -350,35 +365,13 @@ CONFIG_BLK_DEV_INITRD=y
350# CONFIG_RAID_ATTRS is not set 365# CONFIG_RAID_ATTRS is not set
351# CONFIG_SCSI is not set 366# CONFIG_SCSI is not set
352# CONFIG_SCSI_NETLINK is not set 367# CONFIG_SCSI_NETLINK is not set
353
354#
355# Serial ATA (prod) and Parallel ATA (experimental) drivers
356#
357# CONFIG_ATA is not set 368# CONFIG_ATA is not set
358 369
359# 370#
360# Multi-device support (RAID and LVM) 371# Multi-device support (RAID and LVM)
361# 372#
362# CONFIG_MD is not set 373# CONFIG_MD is not set
363 374# CONFIG_MACINTOSH_DRIVERS is not set
364#
365# Fusion MPT device support
366#
367# CONFIG_FUSION is not set
368
369#
370# IEEE 1394 (FireWire) support
371#
372
373#
374# I2O device support
375#
376
377#
378# Macintosh device drivers
379#
380# CONFIG_MAC_EMUMOUSEBTN is not set
381# CONFIG_WINDFARM is not set
382 375
383# 376#
384# Network device support 377# Network device support
@@ -388,10 +381,6 @@ CONFIG_NETDEVICES=y
388# CONFIG_BONDING is not set 381# CONFIG_BONDING is not set
389# CONFIG_EQUALIZER is not set 382# CONFIG_EQUALIZER is not set
390# CONFIG_TUN is not set 383# CONFIG_TUN is not set
391
392#
393# PHY device support
394#
395CONFIG_PHYLIB=y 384CONFIG_PHYLIB=y
396 385
397# 386#
@@ -412,29 +401,16 @@ CONFIG_PHYLIB=y
412# 401#
413CONFIG_NET_ETHERNET=y 402CONFIG_NET_ETHERNET=y
414CONFIG_MII=y 403CONFIG_MII=y
415 404CONFIG_NETDEV_1000=y
416#
417# Ethernet (1000 Mbit)
418#
419CONFIG_GIANFAR=y 405CONFIG_GIANFAR=y
420CONFIG_GFAR_NAPI=y 406CONFIG_GFAR_NAPI=y
407CONFIG_NETDEV_10000=y
421 408
422# 409#
423# Ethernet (10000 Mbit) 410# Wireless LAN
424#
425
426#
427# Token Ring devices
428#
429
430#
431# Wireless LAN (non-hamradio)
432#
433# CONFIG_NET_RADIO is not set
434
435#
436# Wan interfaces
437# 411#
412# CONFIG_WLAN_PRE80211 is not set
413# CONFIG_WLAN_80211 is not set
438# CONFIG_WAN is not set 414# CONFIG_WAN is not set
439# CONFIG_PPP is not set 415# CONFIG_PPP is not set
440# CONFIG_SLIP is not set 416# CONFIG_SLIP is not set
@@ -458,6 +434,7 @@ CONFIG_GFAR_NAPI=y
458# 434#
459CONFIG_INPUT=y 435CONFIG_INPUT=y
460# CONFIG_INPUT_FF_MEMLESS is not set 436# CONFIG_INPUT_FF_MEMLESS is not set
437# CONFIG_INPUT_POLLDEV is not set
461 438
462# 439#
463# Userland interfaces 440# Userland interfaces
@@ -474,6 +451,7 @@ CONFIG_INPUT=y
474# CONFIG_INPUT_KEYBOARD is not set 451# CONFIG_INPUT_KEYBOARD is not set
475# CONFIG_INPUT_MOUSE is not set 452# CONFIG_INPUT_MOUSE is not set
476# CONFIG_INPUT_JOYSTICK is not set 453# CONFIG_INPUT_JOYSTICK is not set
454# CONFIG_INPUT_TABLET is not set
477# CONFIG_INPUT_TOUCHSCREEN is not set 455# CONFIG_INPUT_TOUCHSCREEN is not set
478# CONFIG_INPUT_MISC is not set 456# CONFIG_INPUT_MISC is not set
479 457
@@ -497,6 +475,7 @@ CONFIG_SERIAL_8250_CONSOLE=y
497CONFIG_SERIAL_8250_NR_UARTS=4 475CONFIG_SERIAL_8250_NR_UARTS=4
498CONFIG_SERIAL_8250_RUNTIME_UARTS=4 476CONFIG_SERIAL_8250_RUNTIME_UARTS=4
499# CONFIG_SERIAL_8250_EXTENDED is not set 477# CONFIG_SERIAL_8250_EXTENDED is not set
478CONFIG_SERIAL_8250_SHARE_IRQ=y
500 479
501# 480#
502# Non-8250 serial port support 481# Non-8250 serial port support
@@ -504,6 +483,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4
504# CONFIG_SERIAL_UARTLITE is not set 483# CONFIG_SERIAL_UARTLITE is not set
505CONFIG_SERIAL_CORE=y 484CONFIG_SERIAL_CORE=y
506CONFIG_SERIAL_CORE_CONSOLE=y 485CONFIG_SERIAL_CORE_CONSOLE=y
486# CONFIG_SERIAL_OF_PLATFORM is not set
507CONFIG_UNIX98_PTYS=y 487CONFIG_UNIX98_PTYS=y
508CONFIG_LEGACY_PTYS=y 488CONFIG_LEGACY_PTYS=y
509CONFIG_LEGACY_PTY_COUNT=256 489CONFIG_LEGACY_PTY_COUNT=256
@@ -512,16 +492,11 @@ CONFIG_LEGACY_PTY_COUNT=256
512# IPMI 492# IPMI
513# 493#
514# CONFIG_IPMI_HANDLER is not set 494# CONFIG_IPMI_HANDLER is not set
515
516#
517# Watchdog Cards
518#
519# CONFIG_WATCHDOG is not set 495# CONFIG_WATCHDOG is not set
520# CONFIG_HW_RANDOM is not set 496# CONFIG_HW_RANDOM is not set
521# CONFIG_NVRAM is not set 497# CONFIG_NVRAM is not set
522CONFIG_GEN_RTC=y 498CONFIG_GEN_RTC=y
523# CONFIG_GEN_RTC_X is not set 499# CONFIG_GEN_RTC_X is not set
524# CONFIG_DTLK is not set
525# CONFIG_R3964 is not set 500# CONFIG_R3964 is not set
526# CONFIG_RAW_DRIVER is not set 501# CONFIG_RAW_DRIVER is not set
527 502
@@ -529,10 +504,6 @@ CONFIG_GEN_RTC=y
529# TPM devices 504# TPM devices
530# 505#
531# CONFIG_TCG_TPM is not set 506# CONFIG_TCG_TPM is not set
532
533#
534# I2C support
535#
536# CONFIG_I2C is not set 507# CONFIG_I2C is not set
537 508
538# 509#
@@ -545,35 +516,41 @@ CONFIG_GEN_RTC=y
545# Dallas's 1-wire bus 516# Dallas's 1-wire bus
546# 517#
547# CONFIG_W1 is not set 518# CONFIG_W1 is not set
548
549#
550# Hardware Monitoring support
551#
552CONFIG_HWMON=y 519CONFIG_HWMON=y
553# CONFIG_HWMON_VID is not set 520# CONFIG_HWMON_VID is not set
554# CONFIG_SENSORS_ABITUGURU is not set 521# CONFIG_SENSORS_ABITUGURU is not set
555# CONFIG_SENSORS_F71805F is not set 522# CONFIG_SENSORS_F71805F is not set
556# CONFIG_SENSORS_PC87427 is not set 523# CONFIG_SENSORS_PC87427 is not set
524# CONFIG_SENSORS_SMSC47M1 is not set
525# CONFIG_SENSORS_SMSC47B397 is not set
557# CONFIG_SENSORS_VT1211 is not set 526# CONFIG_SENSORS_VT1211 is not set
527# CONFIG_SENSORS_W83627HF is not set
558# CONFIG_HWMON_DEBUG_CHIP is not set 528# CONFIG_HWMON_DEBUG_CHIP is not set
559 529
560# 530#
531# Multifunction device drivers
532#
533# CONFIG_MFD_SM501 is not set
534
535#
561# Multimedia devices 536# Multimedia devices
562# 537#
563# CONFIG_VIDEO_DEV is not set 538# CONFIG_VIDEO_DEV is not set
539# CONFIG_DVB_CORE is not set
540CONFIG_DAB=y
564 541
565# 542#
566# Digital Video Broadcasting Devices 543# Graphics support
567# 544#
568# CONFIG_DVB is not set 545# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
569 546
570# 547#
571# Graphics support 548# Display device support
572# 549#
573CONFIG_FIRMWARE_EDID=y 550# CONFIG_DISPLAY_SUPPORT is not set
551# CONFIG_VGASTATE is not set
574# CONFIG_FB is not set 552# CONFIG_FB is not set
575# CONFIG_FB_IBM_GXT4500 is not set 553# CONFIG_FB_IBM_GXT4500 is not set
576# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
577 554
578# 555#
579# Sound 556# Sound
@@ -584,6 +561,7 @@ CONFIG_FIRMWARE_EDID=y
584# HID Devices 561# HID Devices
585# 562#
586CONFIG_HID=y 563CONFIG_HID=y
564# CONFIG_HID_DEBUG is not set
587 565
588# 566#
589# USB support 567# USB support
@@ -600,10 +578,6 @@ CONFIG_HID=y
600# USB Gadget Support 578# USB Gadget Support
601# 579#
602# CONFIG_USB_GADGET is not set 580# CONFIG_USB_GADGET is not set
603
604#
605# MMC/SD Card support
606#
607# CONFIG_MMC is not set 581# CONFIG_MMC is not set
608 582
609# 583#
@@ -646,10 +620,6 @@ CONFIG_HID=y
646# 620#
647 621
648# 622#
649# Virtualization
650#
651
652#
653# File systems 623# File systems
654# 624#
655CONFIG_EXT2_FS=y 625CONFIG_EXT2_FS=y
@@ -734,6 +704,7 @@ CONFIG_ROOT_NFS=y
734CONFIG_LOCKD=y 704CONFIG_LOCKD=y
735CONFIG_NFS_COMMON=y 705CONFIG_NFS_COMMON=y
736CONFIG_SUNRPC=y 706CONFIG_SUNRPC=y
707# CONFIG_SUNRPC_BIND34 is not set
737# CONFIG_RPCSEC_GSS_KRB5 is not set 708# CONFIG_RPCSEC_GSS_KRB5 is not set
738# CONFIG_RPCSEC_GSS_SPKM3 is not set 709# CONFIG_RPCSEC_GSS_SPKM3 is not set
739# CONFIG_SMB_FS is not set 710# CONFIG_SMB_FS is not set
@@ -759,6 +730,7 @@ CONFIG_PARTITION_ADVANCED=y
759# CONFIG_SUN_PARTITION is not set 730# CONFIG_SUN_PARTITION is not set
760# CONFIG_KARMA_PARTITION is not set 731# CONFIG_KARMA_PARTITION is not set
761# CONFIG_EFI_PARTITION is not set 732# CONFIG_EFI_PARTITION is not set
733# CONFIG_SYSV68_PARTITION is not set
762 734
763# 735#
764# Native Language Support 736# Native Language Support
@@ -769,6 +741,7 @@ CONFIG_PARTITION_ADVANCED=y
769# Distributed Lock Manager 741# Distributed Lock Manager
770# 742#
771# CONFIG_DLM is not set 743# CONFIG_DLM is not set
744# CONFIG_UCC_SLOW is not set
772 745
773# 746#
774# Library routines 747# Library routines
@@ -776,10 +749,13 @@ CONFIG_PARTITION_ADVANCED=y
776CONFIG_BITREVERSE=y 749CONFIG_BITREVERSE=y
777# CONFIG_CRC_CCITT is not set 750# CONFIG_CRC_CCITT is not set
778# CONFIG_CRC16 is not set 751# CONFIG_CRC16 is not set
752# CONFIG_CRC_ITU_T is not set
779CONFIG_CRC32=y 753CONFIG_CRC32=y
780# CONFIG_LIBCRC32C is not set 754# CONFIG_LIBCRC32C is not set
781CONFIG_PLIST=y 755CONFIG_PLIST=y
782CONFIG_IOMAP_COPY=y 756CONFIG_HAS_IOMEM=y
757CONFIG_HAS_IOPORT=y
758CONFIG_HAS_DMA=y
783 759
784# 760#
785# Instrumentation Support 761# Instrumentation Support
@@ -796,15 +772,15 @@ CONFIG_ENABLE_MUST_CHECK=y
796# CONFIG_DEBUG_FS is not set 772# CONFIG_DEBUG_FS is not set
797# CONFIG_HEADERS_CHECK is not set 773# CONFIG_HEADERS_CHECK is not set
798CONFIG_DEBUG_KERNEL=y 774CONFIG_DEBUG_KERNEL=y
799CONFIG_LOG_BUF_SHIFT=14 775# CONFIG_DEBUG_SHIRQ is not set
800CONFIG_DETECT_SOFTLOCKUP=y 776CONFIG_DETECT_SOFTLOCKUP=y
801# CONFIG_SCHEDSTATS is not set 777# CONFIG_SCHEDSTATS is not set
778# CONFIG_TIMER_STATS is not set
802# CONFIG_DEBUG_SLAB is not set 779# CONFIG_DEBUG_SLAB is not set
803# CONFIG_DEBUG_RT_MUTEXES is not set 780# CONFIG_DEBUG_RT_MUTEXES is not set
804# CONFIG_RT_MUTEX_TESTER is not set 781# CONFIG_RT_MUTEX_TESTER is not set
805# CONFIG_DEBUG_SPINLOCK is not set 782# CONFIG_DEBUG_SPINLOCK is not set
806CONFIG_DEBUG_MUTEXES=y 783CONFIG_DEBUG_MUTEXES=y
807# CONFIG_DEBUG_RWSEMS is not set
808# CONFIG_DEBUG_SPINLOCK_SLEEP is not set 784# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
809# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set 785# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
810# CONFIG_DEBUG_KOBJECT is not set 786# CONFIG_DEBUG_KOBJECT is not set
@@ -813,7 +789,10 @@ CONFIG_DEBUG_MUTEXES=y
813# CONFIG_DEBUG_VM is not set 789# CONFIG_DEBUG_VM is not set
814# CONFIG_DEBUG_LIST is not set 790# CONFIG_DEBUG_LIST is not set
815CONFIG_FORCED_INLINING=y 791CONFIG_FORCED_INLINING=y
816# CONFIG_RCU_TORTURE_TEST is not set 792# CONFIG_FAULT_INJECTION is not set
793# CONFIG_DEBUG_STACKOVERFLOW is not set
794# CONFIG_DEBUG_STACK_USAGE is not set
795# CONFIG_DEBUG_PAGEALLOC is not set
817# CONFIG_DEBUGGER is not set 796# CONFIG_DEBUGGER is not set
818# CONFIG_BDI_SWITCH is not set 797# CONFIG_BDI_SWITCH is not set
819# CONFIG_BOOTX_TEXT is not set 798# CONFIG_BOOTX_TEXT is not set
diff --git a/arch/powerpc/configs/mpc8544_ds_defconfig b/arch/powerpc/configs/mpc8544_ds_defconfig
index b563513cc96c..c40a25a79cbb 100644
--- a/arch/powerpc/configs/mpc8544_ds_defconfig
+++ b/arch/powerpc/configs/mpc8544_ds_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.21-rc3 3# Linux kernel version: 2.6.22-rc7
4# Mon Mar 19 17:18:49 2007 4# Sun Jul 1 23:56:58 2007
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7CONFIG_PPC32=y 7CONFIG_PPC32=y
@@ -46,6 +46,7 @@ CONFIG_BOOKE=y
46CONFIG_FSL_BOOKE=y 46CONFIG_FSL_BOOKE=y
47# CONFIG_PHYS_64BIT is not set 47# CONFIG_PHYS_64BIT is not set
48# CONFIG_SPE is not set 48# CONFIG_SPE is not set
49# CONFIG_PPC_MM_SLICES is not set
49CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 50CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
50 51
51# 52#
@@ -73,6 +74,7 @@ CONFIG_AUDIT=y
73# CONFIG_AUDITSYSCALL is not set 74# CONFIG_AUDITSYSCALL is not set
74CONFIG_IKCONFIG=y 75CONFIG_IKCONFIG=y
75CONFIG_IKCONFIG_PROC=y 76CONFIG_IKCONFIG_PROC=y
77CONFIG_LOG_BUF_SHIFT=14
76CONFIG_SYSFS_DEPRECATED=y 78CONFIG_SYSFS_DEPRECATED=y
77# CONFIG_RELAY is not set 79# CONFIG_RELAY is not set
78CONFIG_BLK_DEV_INITRD=y 80CONFIG_BLK_DEV_INITRD=y
@@ -90,14 +92,19 @@ CONFIG_BUG=y
90CONFIG_ELF_CORE=y 92CONFIG_ELF_CORE=y
91CONFIG_BASE_FULL=y 93CONFIG_BASE_FULL=y
92CONFIG_FUTEX=y 94CONFIG_FUTEX=y
95CONFIG_ANON_INODES=y
93CONFIG_EPOLL=y 96CONFIG_EPOLL=y
97CONFIG_SIGNALFD=y
98CONFIG_TIMERFD=y
99CONFIG_EVENTFD=y
94CONFIG_SHMEM=y 100CONFIG_SHMEM=y
95CONFIG_SLAB=y
96CONFIG_VM_EVENT_COUNTERS=y 101CONFIG_VM_EVENT_COUNTERS=y
102CONFIG_SLAB=y
103# CONFIG_SLUB is not set
104# CONFIG_SLOB is not set
97CONFIG_RT_MUTEXES=y 105CONFIG_RT_MUTEXES=y
98# CONFIG_TINY_SHMEM is not set 106# CONFIG_TINY_SHMEM is not set
99CONFIG_BASE_SMALL=0 107CONFIG_BASE_SMALL=0
100# CONFIG_SLOB is not set
101 108
102# 109#
103# Loadable module support 110# Loadable module support
@@ -129,19 +136,32 @@ CONFIG_IOSCHED_CFQ=y
129CONFIG_DEFAULT_CFQ=y 136CONFIG_DEFAULT_CFQ=y
130# CONFIG_DEFAULT_NOOP is not set 137# CONFIG_DEFAULT_NOOP is not set
131CONFIG_DEFAULT_IOSCHED="cfq" 138CONFIG_DEFAULT_IOSCHED="cfq"
132# CONFIG_WANT_EARLY_SERIAL is not set
133 139
134# 140#
135# Platform support 141# Platform support
136# 142#
143# CONFIG_PPC_MPC52xx is not set
144# CONFIG_PPC_MPC5200 is not set
145# CONFIG_PPC_CELL is not set
146# CONFIG_PPC_CELL_NATIVE is not set
147# CONFIG_PQ2ADS is not set
137# CONFIG_MPC8540_ADS is not set 148# CONFIG_MPC8540_ADS is not set
138# CONFIG_MPC8560_ADS is not set 149# CONFIG_MPC8560_ADS is not set
139# CONFIG_MPC85xx_CDS is not set 150# CONFIG_MPC85xx_CDS is not set
140# CONFIG_MPC85xx_MDS is not set 151# CONFIG_MPC85xx_MDS is not set
141CONFIG_MPC8544_DS=y 152CONFIG_MPC8544_DS=y
142CONFIG_MPC85xx=y 153CONFIG_MPC85xx=y
143CONFIG_PPC_INDIRECT_PCI_BE=y
144CONFIG_MPIC=y 154CONFIG_MPIC=y
155# CONFIG_MPIC_WEIRD is not set
156# CONFIG_PPC_I8259 is not set
157# CONFIG_PPC_RTAS is not set
158# CONFIG_MMIO_NVRAM is not set
159# CONFIG_PPC_MPC106 is not set
160# CONFIG_PPC_970_NAP is not set
161# CONFIG_PPC_INDIRECT_IO is not set
162# CONFIG_GENERIC_IOMAP is not set
163# CONFIG_CPU_FREQ is not set
164# CONFIG_CPM2 is not set
145 165
146# 166#
147# Kernel options 167# Kernel options
@@ -176,28 +196,26 @@ CONFIG_CMDLINE_BOOL=y
176CONFIG_CMDLINE="root=/dev/sda3 rw console=ttyS0,115200" 196CONFIG_CMDLINE="root=/dev/sda3 rw console=ttyS0,115200"
177# CONFIG_PM is not set 197# CONFIG_PM is not set
178CONFIG_SECCOMP=y 198CONFIG_SECCOMP=y
199CONFIG_WANT_DEVICE_TREE=y
200CONFIG_DEVICE_TREE=""
179CONFIG_ISA_DMA_API=y 201CONFIG_ISA_DMA_API=y
180 202
181# 203#
182# Bus options 204# Bus options
183# 205#
184CONFIG_ZONE_DMA=y 206CONFIG_ZONE_DMA=y
185# CONFIG_MPIC_WEIRD is not set
186# CONFIG_PPC_I8259 is not set
187CONFIG_PPC_INDIRECT_PCI=y 207CONFIG_PPC_INDIRECT_PCI=y
208CONFIG_PPC_INDIRECT_PCI_BE=y
188CONFIG_FSL_SOC=y 209CONFIG_FSL_SOC=y
189# CONFIG_PCI is not set 210# CONFIG_PCI is not set
190# CONFIG_PCI_DOMAINS is not set 211# CONFIG_PCI_DOMAINS is not set
212# CONFIG_ARCH_SUPPORTS_MSI is not set
191 213
192# 214#
193# PCCARD (PCMCIA/CardBus) support 215# PCCARD (PCMCIA/CardBus) support
194# 216#
195 217
196# 218#
197# PCI Hotplug Support
198#
199
200#
201# Advanced setup 219# Advanced setup
202# 220#
203# CONFIG_ADVANCED_OPTIONS is not set 221# CONFIG_ADVANCED_OPTIONS is not set
@@ -219,7 +237,6 @@ CONFIG_NET=y
219# 237#
220# Networking options 238# Networking options
221# 239#
222# CONFIG_NETDEBUG is not set
223CONFIG_PACKET=y 240CONFIG_PACKET=y
224# CONFIG_PACKET_MMAP is not set 241# CONFIG_PACKET_MMAP is not set
225CONFIG_UNIX=y 242CONFIG_UNIX=y
@@ -270,25 +287,13 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
270# CONFIG_INET6_TUNNEL is not set 287# CONFIG_INET6_TUNNEL is not set
271# CONFIG_NETWORK_SECMARK is not set 288# CONFIG_NETWORK_SECMARK is not set
272# CONFIG_NETFILTER is not set 289# CONFIG_NETFILTER is not set
273
274#
275# DCCP Configuration (EXPERIMENTAL)
276#
277# CONFIG_IP_DCCP is not set 290# CONFIG_IP_DCCP is not set
278
279#
280# SCTP Configuration (EXPERIMENTAL)
281#
282CONFIG_IP_SCTP=m 291CONFIG_IP_SCTP=m
283# CONFIG_SCTP_DBG_MSG is not set 292# CONFIG_SCTP_DBG_MSG is not set
284# CONFIG_SCTP_DBG_OBJCNT is not set 293# CONFIG_SCTP_DBG_OBJCNT is not set
285# CONFIG_SCTP_HMAC_NONE is not set 294# CONFIG_SCTP_HMAC_NONE is not set
286# CONFIG_SCTP_HMAC_SHA1 is not set 295# CONFIG_SCTP_HMAC_SHA1 is not set
287CONFIG_SCTP_HMAC_MD5=y 296CONFIG_SCTP_HMAC_MD5=y
288
289#
290# TIPC Configuration (EXPERIMENTAL)
291#
292# CONFIG_TIPC is not set 297# CONFIG_TIPC is not set
293# CONFIG_ATM is not set 298# CONFIG_ATM is not set
294# CONFIG_BRIDGE is not set 299# CONFIG_BRIDGE is not set
@@ -314,10 +319,19 @@ CONFIG_SCTP_HMAC_MD5=y
314# CONFIG_HAMRADIO is not set 319# CONFIG_HAMRADIO is not set
315# CONFIG_IRDA is not set 320# CONFIG_IRDA is not set
316# CONFIG_BT is not set 321# CONFIG_BT is not set
317# CONFIG_IEEE80211 is not set 322# CONFIG_AF_RXRPC is not set
318CONFIG_FIB_RULES=y 323CONFIG_FIB_RULES=y
319 324
320# 325#
326# Wireless
327#
328# CONFIG_CFG80211 is not set
329# CONFIG_WIRELESS_EXT is not set
330# CONFIG_MAC80211 is not set
331# CONFIG_IEEE80211 is not set
332# CONFIG_RFKILL is not set
333
334#
321# Device Drivers 335# Device Drivers
322# 336#
323 337
@@ -334,10 +348,6 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
334# Connector - unified userspace <-> kernelspace linker 348# Connector - unified userspace <-> kernelspace linker
335# 349#
336# CONFIG_CONNECTOR is not set 350# CONFIG_CONNECTOR is not set
337
338#
339# Memory Technology Devices (MTD)
340#
341# CONFIG_MTD is not set 351# CONFIG_MTD is not set
342 352
343# 353#
@@ -368,10 +378,7 @@ CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
368# 378#
369# Misc devices 379# Misc devices
370# 380#
371 381# CONFIG_BLINK is not set
372#
373# ATA/ATAPI/MFM/RLL support
374#
375# CONFIG_IDE is not set 382# CONFIG_IDE is not set
376 383
377# 384#
@@ -400,6 +407,7 @@ CONFIG_SCSI_MULTI_LUN=y
400# CONFIG_SCSI_CONSTANTS is not set 407# CONFIG_SCSI_CONSTANTS is not set
401CONFIG_SCSI_LOGGING=y 408CONFIG_SCSI_LOGGING=y
402# CONFIG_SCSI_SCAN_ASYNC is not set 409# CONFIG_SCSI_SCAN_ASYNC is not set
410CONFIG_SCSI_WAIT_SCAN=m
403 411
404# 412#
405# SCSI Transports 413# SCSI Transports
@@ -415,10 +423,6 @@ CONFIG_SCSI_LOGGING=y
415# 423#
416# CONFIG_ISCSI_TCP is not set 424# CONFIG_ISCSI_TCP is not set
417# CONFIG_SCSI_DEBUG is not set 425# CONFIG_SCSI_DEBUG is not set
418
419#
420# Serial ATA (prod) and Parallel ATA (experimental) drivers
421#
422CONFIG_ATA=y 426CONFIG_ATA=y
423# CONFIG_ATA_NONSTANDARD is not set 427# CONFIG_ATA_NONSTANDARD is not set
424# CONFIG_PATA_PLATFORM is not set 428# CONFIG_PATA_PLATFORM is not set
@@ -427,25 +431,7 @@ CONFIG_ATA=y
427# Multi-device support (RAID and LVM) 431# Multi-device support (RAID and LVM)
428# 432#
429# CONFIG_MD is not set 433# CONFIG_MD is not set
430 434# CONFIG_MACINTOSH_DRIVERS is not set
431#
432# Fusion MPT device support
433#
434# CONFIG_FUSION is not set
435
436#
437# IEEE 1394 (FireWire) support
438#
439
440#
441# I2O device support
442#
443
444#
445# Macintosh device drivers
446#
447# CONFIG_MAC_EMUMOUSEBTN is not set
448# CONFIG_WINDFARM is not set
449 435
450# 436#
451# Network device support 437# Network device support
@@ -455,10 +441,6 @@ CONFIG_NETDEVICES=y
455# CONFIG_BONDING is not set 441# CONFIG_BONDING is not set
456# CONFIG_EQUALIZER is not set 442# CONFIG_EQUALIZER is not set
457# CONFIG_TUN is not set 443# CONFIG_TUN is not set
458
459#
460# PHY device support
461#
462CONFIG_PHYLIB=y 444CONFIG_PHYLIB=y
463 445
464# 446#
@@ -479,29 +461,16 @@ CONFIG_VITESSE_PHY=y
479# 461#
480CONFIG_NET_ETHERNET=y 462CONFIG_NET_ETHERNET=y
481CONFIG_MII=y 463CONFIG_MII=y
482 464CONFIG_NETDEV_1000=y
483#
484# Ethernet (1000 Mbit)
485#
486CONFIG_GIANFAR=y 465CONFIG_GIANFAR=y
487CONFIG_GFAR_NAPI=y 466CONFIG_GFAR_NAPI=y
467CONFIG_NETDEV_10000=y
488 468
489# 469#
490# Ethernet (10000 Mbit) 470# Wireless LAN
491#
492
493#
494# Token Ring devices
495#
496
497#
498# Wireless LAN (non-hamradio)
499#
500# CONFIG_NET_RADIO is not set
501
502#
503# Wan interfaces
504# 471#
472# CONFIG_WLAN_PRE80211 is not set
473# CONFIG_WLAN_80211 is not set
505# CONFIG_WAN is not set 474# CONFIG_WAN is not set
506# CONFIG_PPP is not set 475# CONFIG_PPP is not set
507# CONFIG_SLIP is not set 476# CONFIG_SLIP is not set
@@ -525,6 +494,7 @@ CONFIG_GFAR_NAPI=y
525# 494#
526CONFIG_INPUT=y 495CONFIG_INPUT=y
527# CONFIG_INPUT_FF_MEMLESS is not set 496# CONFIG_INPUT_FF_MEMLESS is not set
497# CONFIG_INPUT_POLLDEV is not set
528 498
529# 499#
530# Userland interfaces 500# Userland interfaces
@@ -541,6 +511,7 @@ CONFIG_INPUT=y
541# CONFIG_INPUT_KEYBOARD is not set 511# CONFIG_INPUT_KEYBOARD is not set
542# CONFIG_INPUT_MOUSE is not set 512# CONFIG_INPUT_MOUSE is not set
543# CONFIG_INPUT_JOYSTICK is not set 513# CONFIG_INPUT_JOYSTICK is not set
514# CONFIG_INPUT_TABLET is not set
544# CONFIG_INPUT_TOUCHSCREEN is not set 515# CONFIG_INPUT_TOUCHSCREEN is not set
545# CONFIG_INPUT_MISC is not set 516# CONFIG_INPUT_MISC is not set
546 517
@@ -571,6 +542,7 @@ CONFIG_SERIAL_8250_CONSOLE=y
571CONFIG_SERIAL_8250_NR_UARTS=4 542CONFIG_SERIAL_8250_NR_UARTS=4
572CONFIG_SERIAL_8250_RUNTIME_UARTS=4 543CONFIG_SERIAL_8250_RUNTIME_UARTS=4
573# CONFIG_SERIAL_8250_EXTENDED is not set 544# CONFIG_SERIAL_8250_EXTENDED is not set
545CONFIG_SERIAL_8250_SHARE_IRQ=y
574 546
575# 547#
576# Non-8250 serial port support 548# Non-8250 serial port support
@@ -587,16 +559,11 @@ CONFIG_LEGACY_PTY_COUNT=256
587# IPMI 559# IPMI
588# 560#
589# CONFIG_IPMI_HANDLER is not set 561# CONFIG_IPMI_HANDLER is not set
590
591#
592# Watchdog Cards
593#
594# CONFIG_WATCHDOG is not set 562# CONFIG_WATCHDOG is not set
595# CONFIG_HW_RANDOM is not set 563# CONFIG_HW_RANDOM is not set
596CONFIG_NVRAM=y 564CONFIG_NVRAM=y
597CONFIG_GEN_RTC=y 565CONFIG_GEN_RTC=y
598CONFIG_GEN_RTC_X=y 566CONFIG_GEN_RTC_X=y
599# CONFIG_DTLK is not set
600# CONFIG_R3964 is not set 567# CONFIG_R3964 is not set
601# CONFIG_RAW_DRIVER is not set 568# CONFIG_RAW_DRIVER is not set
602 569
@@ -604,10 +571,6 @@ CONFIG_GEN_RTC_X=y
604# TPM devices 571# TPM devices
605# 572#
606# CONFIG_TCG_TPM is not set 573# CONFIG_TCG_TPM is not set
607
608#
609# I2C support
610#
611# CONFIG_I2C is not set 574# CONFIG_I2C is not set
612 575
613# 576#
@@ -620,12 +583,7 @@ CONFIG_GEN_RTC_X=y
620# Dallas's 1-wire bus 583# Dallas's 1-wire bus
621# 584#
622# CONFIG_W1 is not set 585# CONFIG_W1 is not set
623
624#
625# Hardware Monitoring support
626#
627# CONFIG_HWMON is not set 586# CONFIG_HWMON is not set
628# CONFIG_HWMON_VID is not set
629 587
630# 588#
631# Multifunction device drivers 589# Multifunction device drivers
@@ -636,13 +594,9 @@ CONFIG_GEN_RTC_X=y
636# Multimedia devices 594# Multimedia devices
637# 595#
638# CONFIG_VIDEO_DEV is not set 596# CONFIG_VIDEO_DEV is not set
639
640#
641# Digital Video Broadcasting Devices
642#
643CONFIG_DVB=y
644CONFIG_DVB_CORE=m 597CONFIG_DVB_CORE=m
645# CONFIG_DVB_CORE_ATTACH is not set 598# CONFIG_DVB_CORE_ATTACH is not set
599CONFIG_DVB_CAPTURE_DRIVERS=y
646 600
647# 601#
648# Supported DVB Frontends 602# Supported DVB Frontends
@@ -676,11 +630,18 @@ CONFIG_DVB_CORE=m
676# 630#
677# Miscellaneous devices 631# Miscellaneous devices
678# 632#
633CONFIG_DAB=y
679 634
680# 635#
681# Graphics support 636# Graphics support
682# 637#
683# CONFIG_BACKLIGHT_LCD_SUPPORT is not set 638# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
639
640#
641# Display device support
642#
643# CONFIG_DISPLAY_SUPPORT is not set
644# CONFIG_VGASTATE is not set
684# CONFIG_FB is not set 645# CONFIG_FB is not set
685# CONFIG_FB_IBM_GXT4500 is not set 646# CONFIG_FB_IBM_GXT4500 is not set
686 647
@@ -716,10 +677,6 @@ CONFIG_HID=y
716# USB Gadget Support 677# USB Gadget Support
717# 678#
718# CONFIG_USB_GADGET is not set 679# CONFIG_USB_GADGET is not set
719
720#
721# MMC/SD Card support
722#
723# CONFIG_MMC is not set 680# CONFIG_MMC is not set
724 681
725# 682#
@@ -759,17 +716,29 @@ CONFIG_RTC_INTF_SYSFS=y
759CONFIG_RTC_INTF_PROC=y 716CONFIG_RTC_INTF_PROC=y
760CONFIG_RTC_INTF_DEV=y 717CONFIG_RTC_INTF_DEV=y
761# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set 718# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
719# CONFIG_RTC_DRV_TEST is not set
720
721#
722# I2C RTC drivers
723#
762 724
763# 725#
764# RTC drivers 726# SPI RTC drivers
727#
728
729#
730# Platform RTC drivers
765# 731#
766# CONFIG_RTC_DRV_DS1553 is not set 732# CONFIG_RTC_DRV_DS1553 is not set
767# CONFIG_RTC_DRV_DS1742 is not set 733# CONFIG_RTC_DRV_DS1742 is not set
768# CONFIG_RTC_DRV_M48T86 is not set 734# CONFIG_RTC_DRV_M48T86 is not set
769# CONFIG_RTC_DRV_TEST is not set
770# CONFIG_RTC_DRV_V3020 is not set 735# CONFIG_RTC_DRV_V3020 is not set
771 736
772# 737#
738# on-CPU RTC drivers
739#
740
741#
773# DMA Engine support 742# DMA Engine support
774# 743#
775# CONFIG_DMA_ENGINE is not set 744# CONFIG_DMA_ENGINE is not set
@@ -783,14 +752,6 @@ CONFIG_RTC_INTF_DEV=y
783# 752#
784 753
785# 754#
786# Auxiliary Display support
787#
788
789#
790# Virtualization
791#
792
793#
794# File systems 755# File systems
795# 756#
796CONFIG_EXT2_FS=y 757CONFIG_EXT2_FS=y
@@ -890,6 +851,7 @@ CONFIG_LOCKD_V4=y
890CONFIG_NFS_COMMON=y 851CONFIG_NFS_COMMON=y
891CONFIG_SUNRPC=y 852CONFIG_SUNRPC=y
892CONFIG_SUNRPC_GSS=y 853CONFIG_SUNRPC_GSS=y
854# CONFIG_SUNRPC_BIND34 is not set
893CONFIG_RPCSEC_GSS_KRB5=y 855CONFIG_RPCSEC_GSS_KRB5=y
894# CONFIG_RPCSEC_GSS_SPKM3 is not set 856# CONFIG_RPCSEC_GSS_SPKM3 is not set
895# CONFIG_SMB_FS is not set 857# CONFIG_SMB_FS is not set
@@ -919,6 +881,7 @@ CONFIG_MSDOS_PARTITION=y
919# CONFIG_SUN_PARTITION is not set 881# CONFIG_SUN_PARTITION is not set
920# CONFIG_KARMA_PARTITION is not set 882# CONFIG_KARMA_PARTITION is not set
921# CONFIG_EFI_PARTITION is not set 883# CONFIG_EFI_PARTITION is not set
884# CONFIG_SYSV68_PARTITION is not set
922 885
923# 886#
924# Native Language Support 887# Native Language Support
@@ -968,6 +931,7 @@ CONFIG_NLS_UTF8=m
968# Distributed Lock Manager 931# Distributed Lock Manager
969# 932#
970# CONFIG_DLM is not set 933# CONFIG_DLM is not set
934# CONFIG_UCC_SLOW is not set
971 935
972# 936#
973# Library routines 937# Library routines
@@ -975,12 +939,14 @@ CONFIG_NLS_UTF8=m
975CONFIG_BITREVERSE=y 939CONFIG_BITREVERSE=y
976# CONFIG_CRC_CCITT is not set 940# CONFIG_CRC_CCITT is not set
977# CONFIG_CRC16 is not set 941# CONFIG_CRC16 is not set
942# CONFIG_CRC_ITU_T is not set
978CONFIG_CRC32=y 943CONFIG_CRC32=y
979CONFIG_LIBCRC32C=m 944CONFIG_LIBCRC32C=m
980CONFIG_ZLIB_INFLATE=y 945CONFIG_ZLIB_INFLATE=y
981CONFIG_PLIST=y 946CONFIG_PLIST=y
982CONFIG_HAS_IOMEM=y 947CONFIG_HAS_IOMEM=y
983CONFIG_HAS_IOPORT=y 948CONFIG_HAS_IOPORT=y
949CONFIG_HAS_DMA=y
984 950
985# 951#
986# Instrumentation Support 952# Instrumentation Support
@@ -998,7 +964,6 @@ CONFIG_ENABLE_MUST_CHECK=y
998# CONFIG_HEADERS_CHECK is not set 964# CONFIG_HEADERS_CHECK is not set
999CONFIG_DEBUG_KERNEL=y 965CONFIG_DEBUG_KERNEL=y
1000# CONFIG_DEBUG_SHIRQ is not set 966# CONFIG_DEBUG_SHIRQ is not set
1001CONFIG_LOG_BUF_SHIFT=14
1002CONFIG_DETECT_SOFTLOCKUP=y 967CONFIG_DETECT_SOFTLOCKUP=y
1003# CONFIG_SCHEDSTATS is not set 968# CONFIG_SCHEDSTATS is not set
1004# CONFIG_TIMER_STATS is not set 969# CONFIG_TIMER_STATS is not set
@@ -1020,6 +985,7 @@ CONFIG_FORCED_INLINING=y
1020# CONFIG_FAULT_INJECTION is not set 985# CONFIG_FAULT_INJECTION is not set
1021# CONFIG_DEBUG_STACKOVERFLOW is not set 986# CONFIG_DEBUG_STACKOVERFLOW is not set
1022# CONFIG_DEBUG_STACK_USAGE is not set 987# CONFIG_DEBUG_STACK_USAGE is not set
988# CONFIG_DEBUG_PAGEALLOC is not set
1023# CONFIG_DEBUGGER is not set 989# CONFIG_DEBUGGER is not set
1024# CONFIG_BDI_SWITCH is not set 990# CONFIG_BDI_SWITCH is not set
1025# CONFIG_BOOTX_TEXT is not set 991# CONFIG_BOOTX_TEXT is not set
@@ -1054,6 +1020,7 @@ CONFIG_CRYPTO_MD5=y
1054CONFIG_CRYPTO_CBC=y 1020CONFIG_CRYPTO_CBC=y
1055CONFIG_CRYPTO_PCBC=m 1021CONFIG_CRYPTO_PCBC=m
1056# CONFIG_CRYPTO_LRW is not set 1022# CONFIG_CRYPTO_LRW is not set
1023# CONFIG_CRYPTO_CRYPTD is not set
1057CONFIG_CRYPTO_DES=y 1024CONFIG_CRYPTO_DES=y
1058# CONFIG_CRYPTO_FCRYPT is not set 1025# CONFIG_CRYPTO_FCRYPT is not set
1059# CONFIG_CRYPTO_BLOWFISH is not set 1026# CONFIG_CRYPTO_BLOWFISH is not set
diff --git a/arch/powerpc/configs/mpc8560_ads_defconfig b/arch/powerpc/configs/mpc8560_ads_defconfig
index ecaa267a853c..a30bc6f6211c 100644
--- a/arch/powerpc/configs/mpc8560_ads_defconfig
+++ b/arch/powerpc/configs/mpc8560_ads_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.20-rc5 3# Linux kernel version: 2.6.22-rc7
4# Mon Jan 22 22:25:53 2007 4# Sun Jul 1 23:56:58 2007
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7CONFIG_PPC32=y 7CONFIG_PPC32=y
@@ -20,7 +20,7 @@ CONFIG_GENERIC_NVRAM=y
20CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y 20CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
21CONFIG_ARCH_MAY_HAVE_PC_FDC=y 21CONFIG_ARCH_MAY_HAVE_PC_FDC=y
22CONFIG_PPC_OF=y 22CONFIG_PPC_OF=y
23# CONFIG_PPC_UDBG_16550 is not set 23CONFIG_PPC_UDBG_16550=y
24# CONFIG_GENERIC_TBSYNC is not set 24# CONFIG_GENERIC_TBSYNC is not set
25CONFIG_AUDIT_ARCH=y 25CONFIG_AUDIT_ARCH=y
26CONFIG_GENERIC_BUG=y 26CONFIG_GENERIC_BUG=y
@@ -34,9 +34,9 @@ CONFIG_DEFAULT_UIMAGE=y
34# CONFIG_PPC_83xx is not set 34# CONFIG_PPC_83xx is not set
35CONFIG_PPC_85xx=y 35CONFIG_PPC_85xx=y
36# CONFIG_PPC_86xx is not set 36# CONFIG_PPC_86xx is not set
37# CONFIG_PPC_8xx is not set
37# CONFIG_40x is not set 38# CONFIG_40x is not set
38# CONFIG_44x is not set 39# CONFIG_44x is not set
39# CONFIG_8xx is not set
40# CONFIG_E200 is not set 40# CONFIG_E200 is not set
41CONFIG_85xx=y 41CONFIG_85xx=y
42CONFIG_E500=y 42CONFIG_E500=y
@@ -46,6 +46,7 @@ CONFIG_BOOKE=y
46CONFIG_FSL_BOOKE=y 46CONFIG_FSL_BOOKE=y
47# CONFIG_PHYS_64BIT is not set 47# CONFIG_PHYS_64BIT is not set
48CONFIG_SPE=y 48CONFIG_SPE=y
49# CONFIG_PPC_MM_SLICES is not set
49CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 50CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
50 51
51# 52#
@@ -63,14 +64,17 @@ CONFIG_LOCALVERSION_AUTO=y
63CONFIG_SWAP=y 64CONFIG_SWAP=y
64CONFIG_SYSVIPC=y 65CONFIG_SYSVIPC=y
65# CONFIG_IPC_NS is not set 66# CONFIG_IPC_NS is not set
67CONFIG_SYSVIPC_SYSCTL=y
66# CONFIG_POSIX_MQUEUE is not set 68# CONFIG_POSIX_MQUEUE is not set
67# CONFIG_BSD_PROCESS_ACCT is not set 69# CONFIG_BSD_PROCESS_ACCT is not set
68# CONFIG_TASKSTATS is not set 70# CONFIG_TASKSTATS is not set
69# CONFIG_UTS_NS is not set 71# CONFIG_UTS_NS is not set
70# CONFIG_AUDIT is not set 72# CONFIG_AUDIT is not set
71# CONFIG_IKCONFIG is not set 73# CONFIG_IKCONFIG is not set
74CONFIG_LOG_BUF_SHIFT=14
72CONFIG_SYSFS_DEPRECATED=y 75CONFIG_SYSFS_DEPRECATED=y
73# CONFIG_RELAY is not set 76# CONFIG_RELAY is not set
77CONFIG_BLK_DEV_INITRD=y
74CONFIG_INITRAMFS_SOURCE="" 78CONFIG_INITRAMFS_SOURCE=""
75# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 79# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
76CONFIG_SYSCTL=y 80CONFIG_SYSCTL=y
@@ -85,14 +89,19 @@ CONFIG_BUG=y
85CONFIG_ELF_CORE=y 89CONFIG_ELF_CORE=y
86CONFIG_BASE_FULL=y 90CONFIG_BASE_FULL=y
87CONFIG_FUTEX=y 91CONFIG_FUTEX=y
92CONFIG_ANON_INODES=y
88CONFIG_EPOLL=y 93CONFIG_EPOLL=y
94CONFIG_SIGNALFD=y
95CONFIG_TIMERFD=y
96CONFIG_EVENTFD=y
89CONFIG_SHMEM=y 97CONFIG_SHMEM=y
90CONFIG_SLAB=y
91CONFIG_VM_EVENT_COUNTERS=y 98CONFIG_VM_EVENT_COUNTERS=y
99CONFIG_SLAB=y
100# CONFIG_SLUB is not set
101# CONFIG_SLOB is not set
92CONFIG_RT_MUTEXES=y 102CONFIG_RT_MUTEXES=y
93# CONFIG_TINY_SHMEM is not set 103# CONFIG_TINY_SHMEM is not set
94CONFIG_BASE_SMALL=0 104CONFIG_BASE_SMALL=0
95# CONFIG_SLOB is not set
96 105
97# 106#
98# Loadable module support 107# Loadable module support
@@ -119,18 +128,33 @@ CONFIG_DEFAULT_AS=y
119# CONFIG_DEFAULT_CFQ is not set 128# CONFIG_DEFAULT_CFQ is not set
120# CONFIG_DEFAULT_NOOP is not set 129# CONFIG_DEFAULT_NOOP is not set
121CONFIG_DEFAULT_IOSCHED="anticipatory" 130CONFIG_DEFAULT_IOSCHED="anticipatory"
122CONFIG_CPM2=y
123# CONFIG_WANT_EARLY_SERIAL is not set
124 131
125# 132#
126# Platform support 133# Platform support
127# 134#
135# CONFIG_PPC_MPC52xx is not set
136# CONFIG_PPC_MPC5200 is not set
137# CONFIG_PPC_CELL is not set
138# CONFIG_PPC_CELL_NATIVE is not set
139# CONFIG_PQ2ADS is not set
128# CONFIG_MPC8540_ADS is not set 140# CONFIG_MPC8540_ADS is not set
129CONFIG_MPC8560_ADS=y 141CONFIG_MPC8560_ADS=y
130# CONFIG_MPC85xx_CDS is not set 142# CONFIG_MPC85xx_CDS is not set
143# CONFIG_MPC85xx_MDS is not set
144# CONFIG_MPC8544_DS is not set
131CONFIG_MPC8560=y 145CONFIG_MPC8560=y
132CONFIG_PPC_INDIRECT_PCI_BE=y 146CONFIG_MPC85xx=y
133CONFIG_MPIC=y 147CONFIG_MPIC=y
148# CONFIG_MPIC_WEIRD is not set
149# CONFIG_PPC_I8259 is not set
150# CONFIG_PPC_RTAS is not set
151# CONFIG_MMIO_NVRAM is not set
152# CONFIG_PPC_MPC106 is not set
153# CONFIG_PPC_970_NAP is not set
154# CONFIG_PPC_INDIRECT_IO is not set
155# CONFIG_GENERIC_IOMAP is not set
156# CONFIG_CPU_FREQ is not set
157CONFIG_CPM2=y
134 158
135# 159#
136# Kernel options 160# Kernel options
@@ -148,7 +172,6 @@ CONFIG_BINFMT_ELF=y
148CONFIG_BINFMT_MISC=y 172CONFIG_BINFMT_MISC=y
149# CONFIG_MATH_EMULATION is not set 173# CONFIG_MATH_EMULATION is not set
150CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 174CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
151# CONFIG_PC_KEYBOARD is not set
152CONFIG_ARCH_FLATMEM_ENABLE=y 175CONFIG_ARCH_FLATMEM_ENABLE=y
153CONFIG_ARCH_POPULATES_NODE_MAP=y 176CONFIG_ARCH_POPULATES_NODE_MAP=y
154CONFIG_SELECT_MEMORY_MODEL=y 177CONFIG_SELECT_MEMORY_MODEL=y
@@ -160,32 +183,33 @@ CONFIG_FLAT_NODE_MEM_MAP=y
160# CONFIG_SPARSEMEM_STATIC is not set 183# CONFIG_SPARSEMEM_STATIC is not set
161CONFIG_SPLIT_PTLOCK_CPUS=4 184CONFIG_SPLIT_PTLOCK_CPUS=4
162# CONFIG_RESOURCES_64BIT is not set 185# CONFIG_RESOURCES_64BIT is not set
186CONFIG_ZONE_DMA_FLAG=1
163# CONFIG_PROC_DEVICETREE is not set 187# CONFIG_PROC_DEVICETREE is not set
164# CONFIG_CMDLINE_BOOL is not set 188# CONFIG_CMDLINE_BOOL is not set
165# CONFIG_PM is not set 189# CONFIG_PM is not set
166# CONFIG_SECCOMP is not set 190# CONFIG_SECCOMP is not set
191CONFIG_WANT_DEVICE_TREE=y
192CONFIG_DEVICE_TREE=""
167CONFIG_ISA_DMA_API=y 193CONFIG_ISA_DMA_API=y
168 194
169# 195#
170# Bus options 196# Bus options
171# 197#
172# CONFIG_MPIC_WEIRD is not set 198CONFIG_ZONE_DMA=y
173# CONFIG_PPC_I8259 is not set
174CONFIG_PPC_INDIRECT_PCI=y 199CONFIG_PPC_INDIRECT_PCI=y
200CONFIG_PPC_INDIRECT_PCI_BE=y
175CONFIG_FSL_SOC=y 201CONFIG_FSL_SOC=y
176CONFIG_PCI=y 202CONFIG_PCI=y
177CONFIG_PCI_DOMAINS=y 203CONFIG_PCI_DOMAINS=y
178# CONFIG_PCIEPORTBUS is not set 204# CONFIG_PCIEPORTBUS is not set
205CONFIG_ARCH_SUPPORTS_MSI=y
206# CONFIG_PCI_MSI is not set
179CONFIG_PCI_DEBUG=y 207CONFIG_PCI_DEBUG=y
180 208
181# 209#
182# PCCARD (PCMCIA/CardBus) support 210# PCCARD (PCMCIA/CardBus) support
183# 211#
184# CONFIG_PCCARD is not set 212# CONFIG_PCCARD is not set
185
186#
187# PCI Hotplug Support
188#
189# CONFIG_HOTPLUG_PCI is not set 213# CONFIG_HOTPLUG_PCI is not set
190 214
191# 215#
@@ -210,13 +234,13 @@ CONFIG_NET=y
210# 234#
211# Networking options 235# Networking options
212# 236#
213# CONFIG_NETDEBUG is not set
214CONFIG_PACKET=y 237CONFIG_PACKET=y
215# CONFIG_PACKET_MMAP is not set 238# CONFIG_PACKET_MMAP is not set
216CONFIG_UNIX=y 239CONFIG_UNIX=y
217CONFIG_XFRM=y 240CONFIG_XFRM=y
218# CONFIG_XFRM_USER is not set 241# CONFIG_XFRM_USER is not set
219# CONFIG_XFRM_SUB_POLICY is not set 242# CONFIG_XFRM_SUB_POLICY is not set
243# CONFIG_XFRM_MIGRATE is not set
220# CONFIG_NET_KEY is not set 244# CONFIG_NET_KEY is not set
221CONFIG_INET=y 245CONFIG_INET=y
222CONFIG_IP_MULTICAST=y 246CONFIG_IP_MULTICAST=y
@@ -250,20 +274,8 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
250# CONFIG_INET6_TUNNEL is not set 274# CONFIG_INET6_TUNNEL is not set
251# CONFIG_NETWORK_SECMARK is not set 275# CONFIG_NETWORK_SECMARK is not set
252# CONFIG_NETFILTER is not set 276# CONFIG_NETFILTER is not set
253
254#
255# DCCP Configuration (EXPERIMENTAL)
256#
257# CONFIG_IP_DCCP is not set 277# CONFIG_IP_DCCP is not set
258
259#
260# SCTP Configuration (EXPERIMENTAL)
261#
262# CONFIG_IP_SCTP is not set 278# CONFIG_IP_SCTP is not set
263
264#
265# TIPC Configuration (EXPERIMENTAL)
266#
267# CONFIG_TIPC is not set 279# CONFIG_TIPC is not set
268# CONFIG_ATM is not set 280# CONFIG_ATM is not set
269# CONFIG_BRIDGE is not set 281# CONFIG_BRIDGE is not set
@@ -289,7 +301,16 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
289# CONFIG_HAMRADIO is not set 301# CONFIG_HAMRADIO is not set
290# CONFIG_IRDA is not set 302# CONFIG_IRDA is not set
291# CONFIG_BT is not set 303# CONFIG_BT is not set
304# CONFIG_AF_RXRPC is not set
305
306#
307# Wireless
308#
309# CONFIG_CFG80211 is not set
310# CONFIG_WIRELESS_EXT is not set
311# CONFIG_MAC80211 is not set
292# CONFIG_IEEE80211 is not set 312# CONFIG_IEEE80211 is not set
313# CONFIG_RFKILL is not set
293 314
294# 315#
295# Device Drivers 316# Device Drivers
@@ -302,16 +323,13 @@ CONFIG_STANDALONE=y
302CONFIG_PREVENT_FIRMWARE_BUILD=y 323CONFIG_PREVENT_FIRMWARE_BUILD=y
303# CONFIG_FW_LOADER is not set 324# CONFIG_FW_LOADER is not set
304# CONFIG_DEBUG_DRIVER is not set 325# CONFIG_DEBUG_DRIVER is not set
326# CONFIG_DEBUG_DEVRES is not set
305# CONFIG_SYS_HYPERVISOR is not set 327# CONFIG_SYS_HYPERVISOR is not set
306 328
307# 329#
308# Connector - unified userspace <-> kernelspace linker 330# Connector - unified userspace <-> kernelspace linker
309# 331#
310# CONFIG_CONNECTOR is not set 332# CONFIG_CONNECTOR is not set
311
312#
313# Memory Technology Devices (MTD)
314#
315# CONFIG_MTD is not set 333# CONFIG_MTD is not set
316 334
317# 335#
@@ -322,6 +340,7 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
322# 340#
323# Plug and Play support 341# Plug and Play support
324# 342#
343# CONFIG_PNPACPI is not set
325 344
326# 345#
327# Block devices 346# Block devices
@@ -340,19 +359,16 @@ CONFIG_BLK_DEV_RAM=y
340CONFIG_BLK_DEV_RAM_COUNT=16 359CONFIG_BLK_DEV_RAM_COUNT=16
341CONFIG_BLK_DEV_RAM_SIZE=32768 360CONFIG_BLK_DEV_RAM_SIZE=32768
342CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 361CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
343CONFIG_BLK_DEV_INITRD=y
344# CONFIG_CDROM_PKTCDVD is not set 362# CONFIG_CDROM_PKTCDVD is not set
345# CONFIG_ATA_OVER_ETH is not set 363# CONFIG_ATA_OVER_ETH is not set
346 364
347# 365#
348# Misc devices 366# Misc devices
349# 367#
368# CONFIG_PHANTOM is not set
350# CONFIG_SGI_IOC4 is not set 369# CONFIG_SGI_IOC4 is not set
351# CONFIG_TIFM_CORE is not set 370# CONFIG_TIFM_CORE is not set
352 371# CONFIG_BLINK is not set
353#
354# ATA/ATAPI/MFM/RLL support
355#
356# CONFIG_IDE is not set 372# CONFIG_IDE is not set
357 373
358# 374#
@@ -361,10 +377,6 @@ CONFIG_BLK_DEV_INITRD=y
361# CONFIG_RAID_ATTRS is not set 377# CONFIG_RAID_ATTRS is not set
362# CONFIG_SCSI is not set 378# CONFIG_SCSI is not set
363# CONFIG_SCSI_NETLINK is not set 379# CONFIG_SCSI_NETLINK is not set
364
365#
366# Serial ATA (prod) and Parallel ATA (experimental) drivers
367#
368# CONFIG_ATA is not set 380# CONFIG_ATA is not set
369 381
370# 382#
@@ -380,18 +392,14 @@ CONFIG_BLK_DEV_INITRD=y
380# 392#
381# IEEE 1394 (FireWire) support 393# IEEE 1394 (FireWire) support
382# 394#
395# CONFIG_FIREWIRE is not set
383# CONFIG_IEEE1394 is not set 396# CONFIG_IEEE1394 is not set
384 397
385# 398#
386# I2O device support 399# I2O device support
387# 400#
388# CONFIG_I2O is not set 401# CONFIG_I2O is not set
389 402# CONFIG_MACINTOSH_DRIVERS is not set
390#
391# Macintosh device drivers
392#
393# CONFIG_MAC_EMUMOUSEBTN is not set
394# CONFIG_WINDFARM is not set
395 403
396# 404#
397# Network device support 405# Network device support
@@ -401,15 +409,7 @@ CONFIG_NETDEVICES=y
401# CONFIG_BONDING is not set 409# CONFIG_BONDING is not set
402# CONFIG_EQUALIZER is not set 410# CONFIG_EQUALIZER is not set
403# CONFIG_TUN is not set 411# CONFIG_TUN is not set
404
405#
406# ARCnet devices
407#
408# CONFIG_ARCNET is not set 412# CONFIG_ARCNET is not set
409
410#
411# PHY device support
412#
413CONFIG_PHYLIB=y 413CONFIG_PHYLIB=y
414 414
415# 415#
@@ -444,10 +444,7 @@ CONFIG_MII=y
444CONFIG_FS_ENET=y 444CONFIG_FS_ENET=y
445# CONFIG_FS_ENET_HAS_SCC is not set 445# CONFIG_FS_ENET_HAS_SCC is not set
446CONFIG_FS_ENET_HAS_FCC=y 446CONFIG_FS_ENET_HAS_FCC=y
447 447CONFIG_NETDEV_1000=y
448#
449# Ethernet (1000 Mbit)
450#
451# CONFIG_ACENIC is not set 448# CONFIG_ACENIC is not set
452# CONFIG_DL2K is not set 449# CONFIG_DL2K is not set
453CONFIG_E1000=y 450CONFIG_E1000=y
@@ -461,34 +458,28 @@ CONFIG_E1000_NAPI=y
461# CONFIG_SKGE is not set 458# CONFIG_SKGE is not set
462# CONFIG_SKY2 is not set 459# CONFIG_SKY2 is not set
463# CONFIG_SK98LIN is not set 460# CONFIG_SK98LIN is not set
461# CONFIG_VIA_VELOCITY is not set
464# CONFIG_TIGON3 is not set 462# CONFIG_TIGON3 is not set
465# CONFIG_BNX2 is not set 463# CONFIG_BNX2 is not set
466CONFIG_GIANFAR=y 464CONFIG_GIANFAR=y
467CONFIG_GFAR_NAPI=y 465CONFIG_GFAR_NAPI=y
468# CONFIG_QLA3XXX is not set 466# CONFIG_QLA3XXX is not set
469 467# CONFIG_ATL1 is not set
470# 468CONFIG_NETDEV_10000=y
471# Ethernet (10000 Mbit)
472#
473# CONFIG_CHELSIO_T1 is not set 469# CONFIG_CHELSIO_T1 is not set
470# CONFIG_CHELSIO_T3 is not set
474# CONFIG_IXGB is not set 471# CONFIG_IXGB is not set
475# CONFIG_S2IO is not set 472# CONFIG_S2IO is not set
476# CONFIG_MYRI10GE is not set 473# CONFIG_MYRI10GE is not set
477# CONFIG_NETXEN_NIC is not set 474# CONFIG_NETXEN_NIC is not set
478 475# CONFIG_MLX4_CORE is not set
479#
480# Token Ring devices
481#
482# CONFIG_TR is not set 476# CONFIG_TR is not set
483 477
484# 478#
485# Wireless LAN (non-hamradio) 479# Wireless LAN
486#
487# CONFIG_NET_RADIO is not set
488
489#
490# Wan interfaces
491# 480#
481# CONFIG_WLAN_PRE80211 is not set
482# CONFIG_WLAN_80211 is not set
492# CONFIG_WAN is not set 483# CONFIG_WAN is not set
493# CONFIG_FDDI is not set 484# CONFIG_FDDI is not set
494# CONFIG_HIPPI is not set 485# CONFIG_HIPPI is not set
@@ -514,6 +505,7 @@ CONFIG_GFAR_NAPI=y
514# 505#
515CONFIG_INPUT=y 506CONFIG_INPUT=y
516# CONFIG_INPUT_FF_MEMLESS is not set 507# CONFIG_INPUT_FF_MEMLESS is not set
508# CONFIG_INPUT_POLLDEV is not set
517 509
518# 510#
519# Userland interfaces 511# Userland interfaces
@@ -530,6 +522,7 @@ CONFIG_INPUT=y
530# CONFIG_INPUT_KEYBOARD is not set 522# CONFIG_INPUT_KEYBOARD is not set
531# CONFIG_INPUT_MOUSE is not set 523# CONFIG_INPUT_MOUSE is not set
532# CONFIG_INPUT_JOYSTICK is not set 524# CONFIG_INPUT_JOYSTICK is not set
525# CONFIG_INPUT_TABLET is not set
533# CONFIG_INPUT_TOUCHSCREEN is not set 526# CONFIG_INPUT_TOUCHSCREEN is not set
534# CONFIG_INPUT_MISC is not set 527# CONFIG_INPUT_MISC is not set
535 528
@@ -573,16 +566,11 @@ CONFIG_LEGACY_PTY_COUNT=256
573# IPMI 566# IPMI
574# 567#
575# CONFIG_IPMI_HANDLER is not set 568# CONFIG_IPMI_HANDLER is not set
576
577#
578# Watchdog Cards
579#
580# CONFIG_WATCHDOG is not set 569# CONFIG_WATCHDOG is not set
581CONFIG_HW_RANDOM=y 570CONFIG_HW_RANDOM=y
582# CONFIG_NVRAM is not set 571# CONFIG_NVRAM is not set
583CONFIG_GEN_RTC=y 572CONFIG_GEN_RTC=y
584# CONFIG_GEN_RTC_X is not set 573# CONFIG_GEN_RTC_X is not set
585# CONFIG_DTLK is not set
586# CONFIG_R3964 is not set 574# CONFIG_R3964 is not set
587# CONFIG_APPLICOM is not set 575# CONFIG_APPLICOM is not set
588# CONFIG_AGP is not set 576# CONFIG_AGP is not set
@@ -593,10 +581,7 @@ CONFIG_GEN_RTC=y
593# TPM devices 581# TPM devices
594# 582#
595# CONFIG_TCG_TPM is not set 583# CONFIG_TCG_TPM is not set
596 584CONFIG_DEVPORT=y
597#
598# I2C support
599#
600# CONFIG_I2C is not set 585# CONFIG_I2C is not set
601 586
602# 587#
@@ -609,35 +594,41 @@ CONFIG_GEN_RTC=y
609# Dallas's 1-wire bus 594# Dallas's 1-wire bus
610# 595#
611# CONFIG_W1 is not set 596# CONFIG_W1 is not set
612
613#
614# Hardware Monitoring support
615#
616CONFIG_HWMON=y 597CONFIG_HWMON=y
617# CONFIG_HWMON_VID is not set 598# CONFIG_HWMON_VID is not set
618# CONFIG_SENSORS_ABITUGURU is not set 599# CONFIG_SENSORS_ABITUGURU is not set
619# CONFIG_SENSORS_F71805F is not set 600# CONFIG_SENSORS_F71805F is not set
620# CONFIG_SENSORS_PC87427 is not set 601# CONFIG_SENSORS_PC87427 is not set
602# CONFIG_SENSORS_SMSC47M1 is not set
603# CONFIG_SENSORS_SMSC47B397 is not set
621# CONFIG_SENSORS_VT1211 is not set 604# CONFIG_SENSORS_VT1211 is not set
605# CONFIG_SENSORS_W83627HF is not set
622# CONFIG_HWMON_DEBUG_CHIP is not set 606# CONFIG_HWMON_DEBUG_CHIP is not set
623 607
624# 608#
609# Multifunction device drivers
610#
611# CONFIG_MFD_SM501 is not set
612
613#
625# Multimedia devices 614# Multimedia devices
626# 615#
627# CONFIG_VIDEO_DEV is not set 616# CONFIG_VIDEO_DEV is not set
617# CONFIG_DVB_CORE is not set
618CONFIG_DAB=y
628 619
629# 620#
630# Digital Video Broadcasting Devices 621# Graphics support
631# 622#
632# CONFIG_DVB is not set 623# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
633 624
634# 625#
635# Graphics support 626# Display device support
636# 627#
637CONFIG_FIRMWARE_EDID=y 628# CONFIG_DISPLAY_SUPPORT is not set
629# CONFIG_VGASTATE is not set
638# CONFIG_FB is not set 630# CONFIG_FB is not set
639# CONFIG_FB_IBM_GXT4500 is not set 631# CONFIG_FB_IBM_GXT4500 is not set
640# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
641 632
642# 633#
643# Sound 634# Sound
@@ -648,6 +639,7 @@ CONFIG_FIRMWARE_EDID=y
648# HID Devices 639# HID Devices
649# 640#
650CONFIG_HID=y 641CONFIG_HID=y
642# CONFIG_HID_DEBUG is not set
651 643
652# 644#
653# USB support 645# USB support
@@ -665,10 +657,6 @@ CONFIG_USB_ARCH_HAS_EHCI=y
665# USB Gadget Support 657# USB Gadget Support
666# 658#
667# CONFIG_USB_GADGET is not set 659# CONFIG_USB_GADGET is not set
668
669#
670# MMC/SD Card support
671#
672# CONFIG_MMC is not set 660# CONFIG_MMC is not set
673 661
674# 662#
@@ -712,10 +700,6 @@ CONFIG_USB_ARCH_HAS_EHCI=y
712# 700#
713 701
714# 702#
715# Virtualization
716#
717
718#
719# File systems 703# File systems
720# 704#
721CONFIG_EXT2_FS=y 705CONFIG_EXT2_FS=y
@@ -800,6 +784,7 @@ CONFIG_ROOT_NFS=y
800CONFIG_LOCKD=y 784CONFIG_LOCKD=y
801CONFIG_NFS_COMMON=y 785CONFIG_NFS_COMMON=y
802CONFIG_SUNRPC=y 786CONFIG_SUNRPC=y
787# CONFIG_SUNRPC_BIND34 is not set
803# CONFIG_RPCSEC_GSS_KRB5 is not set 788# CONFIG_RPCSEC_GSS_KRB5 is not set
804# CONFIG_RPCSEC_GSS_SPKM3 is not set 789# CONFIG_RPCSEC_GSS_SPKM3 is not set
805# CONFIG_SMB_FS is not set 790# CONFIG_SMB_FS is not set
@@ -825,6 +810,7 @@ CONFIG_PARTITION_ADVANCED=y
825# CONFIG_SUN_PARTITION is not set 810# CONFIG_SUN_PARTITION is not set
826# CONFIG_KARMA_PARTITION is not set 811# CONFIG_KARMA_PARTITION is not set
827# CONFIG_EFI_PARTITION is not set 812# CONFIG_EFI_PARTITION is not set
813# CONFIG_SYSV68_PARTITION is not set
828 814
829# 815#
830# Native Language Support 816# Native Language Support
@@ -835,6 +821,7 @@ CONFIG_PARTITION_ADVANCED=y
835# Distributed Lock Manager 821# Distributed Lock Manager
836# 822#
837# CONFIG_DLM is not set 823# CONFIG_DLM is not set
824# CONFIG_UCC_SLOW is not set
838 825
839# 826#
840# Library routines 827# Library routines
@@ -842,10 +829,13 @@ CONFIG_PARTITION_ADVANCED=y
842CONFIG_BITREVERSE=y 829CONFIG_BITREVERSE=y
843# CONFIG_CRC_CCITT is not set 830# CONFIG_CRC_CCITT is not set
844# CONFIG_CRC16 is not set 831# CONFIG_CRC16 is not set
832# CONFIG_CRC_ITU_T is not set
845CONFIG_CRC32=y 833CONFIG_CRC32=y
846# CONFIG_LIBCRC32C is not set 834# CONFIG_LIBCRC32C is not set
847CONFIG_PLIST=y 835CONFIG_PLIST=y
848CONFIG_IOMAP_COPY=y 836CONFIG_HAS_IOMEM=y
837CONFIG_HAS_IOPORT=y
838CONFIG_HAS_DMA=y
849 839
850# 840#
851# Instrumentation Support 841# Instrumentation Support
@@ -862,15 +852,15 @@ CONFIG_ENABLE_MUST_CHECK=y
862# CONFIG_DEBUG_FS is not set 852# CONFIG_DEBUG_FS is not set
863# CONFIG_HEADERS_CHECK is not set 853# CONFIG_HEADERS_CHECK is not set
864CONFIG_DEBUG_KERNEL=y 854CONFIG_DEBUG_KERNEL=y
865CONFIG_LOG_BUF_SHIFT=14 855# CONFIG_DEBUG_SHIRQ is not set
866CONFIG_DETECT_SOFTLOCKUP=y 856CONFIG_DETECT_SOFTLOCKUP=y
867# CONFIG_SCHEDSTATS is not set 857# CONFIG_SCHEDSTATS is not set
858# CONFIG_TIMER_STATS is not set
868# CONFIG_DEBUG_SLAB is not set 859# CONFIG_DEBUG_SLAB is not set
869# CONFIG_DEBUG_RT_MUTEXES is not set 860# CONFIG_DEBUG_RT_MUTEXES is not set
870# CONFIG_RT_MUTEX_TESTER is not set 861# CONFIG_RT_MUTEX_TESTER is not set
871# CONFIG_DEBUG_SPINLOCK is not set 862# CONFIG_DEBUG_SPINLOCK is not set
872CONFIG_DEBUG_MUTEXES=y 863CONFIG_DEBUG_MUTEXES=y
873# CONFIG_DEBUG_RWSEMS is not set
874# CONFIG_DEBUG_SPINLOCK_SLEEP is not set 864# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
875# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set 865# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
876# CONFIG_DEBUG_KOBJECT is not set 866# CONFIG_DEBUG_KOBJECT is not set
@@ -879,7 +869,10 @@ CONFIG_DEBUG_MUTEXES=y
879# CONFIG_DEBUG_VM is not set 869# CONFIG_DEBUG_VM is not set
880# CONFIG_DEBUG_LIST is not set 870# CONFIG_DEBUG_LIST is not set
881CONFIG_FORCED_INLINING=y 871CONFIG_FORCED_INLINING=y
882# CONFIG_RCU_TORTURE_TEST is not set 872# CONFIG_FAULT_INJECTION is not set
873# CONFIG_DEBUG_STACKOVERFLOW is not set
874# CONFIG_DEBUG_STACK_USAGE is not set
875# CONFIG_DEBUG_PAGEALLOC is not set
883# CONFIG_DEBUGGER is not set 876# CONFIG_DEBUGGER is not set
884# CONFIG_KGDB_CONSOLE is not set 877# CONFIG_KGDB_CONSOLE is not set
885# CONFIG_BDI_SWITCH is not set 878# CONFIG_BDI_SWITCH is not set
diff --git a/arch/powerpc/configs/mpc8568mds_defconfig b/arch/powerpc/configs/mpc8568mds_defconfig
index 7b3800674cbf..6451d4dd28a0 100644
--- a/arch/powerpc/configs/mpc8568mds_defconfig
+++ b/arch/powerpc/configs/mpc8568mds_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.20 3# Linux kernel version: 2.6.22-rc7
4# Sat Feb 17 16:26:53 2007 4# Sun Jul 1 23:56:59 2007
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7CONFIG_PPC32=y 7CONFIG_PPC32=y
@@ -46,6 +46,7 @@ CONFIG_BOOKE=y
46CONFIG_FSL_BOOKE=y 46CONFIG_FSL_BOOKE=y
47# CONFIG_PHYS_64BIT is not set 47# CONFIG_PHYS_64BIT is not set
48CONFIG_SPE=y 48CONFIG_SPE=y
49# CONFIG_PPC_MM_SLICES is not set
49CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 50CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
50 51
51# 52#
@@ -70,8 +71,10 @@ CONFIG_SYSVIPC_SYSCTL=y
70# CONFIG_UTS_NS is not set 71# CONFIG_UTS_NS is not set
71# CONFIG_AUDIT is not set 72# CONFIG_AUDIT is not set
72# CONFIG_IKCONFIG is not set 73# CONFIG_IKCONFIG is not set
74CONFIG_LOG_BUF_SHIFT=14
73CONFIG_SYSFS_DEPRECATED=y 75CONFIG_SYSFS_DEPRECATED=y
74# CONFIG_RELAY is not set 76# CONFIG_RELAY is not set
77CONFIG_BLK_DEV_INITRD=y
75CONFIG_INITRAMFS_SOURCE="" 78CONFIG_INITRAMFS_SOURCE=""
76# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 79# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
77CONFIG_SYSCTL=y 80CONFIG_SYSCTL=y
@@ -84,14 +87,19 @@ CONFIG_BUG=y
84CONFIG_ELF_CORE=y 87CONFIG_ELF_CORE=y
85CONFIG_BASE_FULL=y 88CONFIG_BASE_FULL=y
86CONFIG_FUTEX=y 89CONFIG_FUTEX=y
90CONFIG_ANON_INODES=y
87# CONFIG_EPOLL is not set 91# CONFIG_EPOLL is not set
92CONFIG_SIGNALFD=y
93CONFIG_TIMERFD=y
94CONFIG_EVENTFD=y
88CONFIG_SHMEM=y 95CONFIG_SHMEM=y
89CONFIG_SLAB=y
90CONFIG_VM_EVENT_COUNTERS=y 96CONFIG_VM_EVENT_COUNTERS=y
97CONFIG_SLAB=y
98# CONFIG_SLUB is not set
99# CONFIG_SLOB is not set
91CONFIG_RT_MUTEXES=y 100CONFIG_RT_MUTEXES=y
92# CONFIG_TINY_SHMEM is not set 101# CONFIG_TINY_SHMEM is not set
93CONFIG_BASE_SMALL=0 102CONFIG_BASE_SMALL=0
94# CONFIG_SLOB is not set
95 103
96# 104#
97# Loadable module support 105# Loadable module support
@@ -123,18 +131,32 @@ CONFIG_DEFAULT_AS=y
123# CONFIG_DEFAULT_CFQ is not set 131# CONFIG_DEFAULT_CFQ is not set
124# CONFIG_DEFAULT_NOOP is not set 132# CONFIG_DEFAULT_NOOP is not set
125CONFIG_DEFAULT_IOSCHED="anticipatory" 133CONFIG_DEFAULT_IOSCHED="anticipatory"
126# CONFIG_WANT_EARLY_SERIAL is not set
127 134
128# 135#
129# Platform support 136# Platform support
130# 137#
138# CONFIG_PPC_MPC52xx is not set
139# CONFIG_PPC_MPC5200 is not set
140# CONFIG_PPC_CELL is not set
141# CONFIG_PPC_CELL_NATIVE is not set
142# CONFIG_PQ2ADS is not set
131# CONFIG_MPC8540_ADS is not set 143# CONFIG_MPC8540_ADS is not set
132# CONFIG_MPC8560_ADS is not set 144# CONFIG_MPC8560_ADS is not set
133# CONFIG_MPC85xx_CDS is not set 145# CONFIG_MPC85xx_CDS is not set
134CONFIG_MPC85xx_MDS=y 146CONFIG_MPC85xx_MDS=y
147# CONFIG_MPC8544_DS is not set
135CONFIG_MPC85xx=y 148CONFIG_MPC85xx=y
136CONFIG_PPC_INDIRECT_PCI_BE=y
137CONFIG_MPIC=y 149CONFIG_MPIC=y
150# CONFIG_MPIC_WEIRD is not set
151# CONFIG_PPC_I8259 is not set
152# CONFIG_PPC_RTAS is not set
153# CONFIG_MMIO_NVRAM is not set
154# CONFIG_PPC_MPC106 is not set
155# CONFIG_PPC_970_NAP is not set
156# CONFIG_PPC_INDIRECT_IO is not set
157# CONFIG_GENERIC_IOMAP is not set
158# CONFIG_CPU_FREQ is not set
159# CONFIG_CPM2 is not set
138 160
139# 161#
140# Kernel options 162# Kernel options
@@ -168,18 +190,20 @@ CONFIG_PROC_DEVICETREE=y
168# CONFIG_CMDLINE_BOOL is not set 190# CONFIG_CMDLINE_BOOL is not set
169# CONFIG_PM is not set 191# CONFIG_PM is not set
170CONFIG_SECCOMP=y 192CONFIG_SECCOMP=y
193CONFIG_WANT_DEVICE_TREE=y
194CONFIG_DEVICE_TREE=""
171CONFIG_ISA_DMA_API=y 195CONFIG_ISA_DMA_API=y
172 196
173# 197#
174# Bus options 198# Bus options
175# 199#
176CONFIG_ZONE_DMA=y 200CONFIG_ZONE_DMA=y
177# CONFIG_MPIC_WEIRD is not set
178# CONFIG_PPC_I8259 is not set
179CONFIG_PPC_INDIRECT_PCI=y 201CONFIG_PPC_INDIRECT_PCI=y
202CONFIG_PPC_INDIRECT_PCI_BE=y
180CONFIG_FSL_SOC=y 203CONFIG_FSL_SOC=y
181# CONFIG_PCI is not set 204# CONFIG_PCI is not set
182# CONFIG_PCI_DOMAINS is not set 205# CONFIG_PCI_DOMAINS is not set
206# CONFIG_ARCH_SUPPORTS_MSI is not set
183 207
184# 208#
185# PCCARD (PCMCIA/CardBus) support 209# PCCARD (PCMCIA/CardBus) support
@@ -187,10 +211,6 @@ CONFIG_FSL_SOC=y
187# CONFIG_PCCARD is not set 211# CONFIG_PCCARD is not set
188 212
189# 213#
190# PCI Hotplug Support
191#
192
193#
194# Advanced setup 214# Advanced setup
195# 215#
196# CONFIG_ADVANCED_OPTIONS is not set 216# CONFIG_ADVANCED_OPTIONS is not set
@@ -212,7 +232,6 @@ CONFIG_NET=y
212# 232#
213# Networking options 233# Networking options
214# 234#
215# CONFIG_NETDEBUG is not set
216CONFIG_PACKET=y 235CONFIG_PACKET=y
217# CONFIG_PACKET_MMAP is not set 236# CONFIG_PACKET_MMAP is not set
218CONFIG_UNIX=y 237CONFIG_UNIX=y
@@ -253,20 +272,8 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
253# CONFIG_INET6_TUNNEL is not set 272# CONFIG_INET6_TUNNEL is not set
254# CONFIG_NETWORK_SECMARK is not set 273# CONFIG_NETWORK_SECMARK is not set
255# CONFIG_NETFILTER is not set 274# CONFIG_NETFILTER is not set
256
257#
258# DCCP Configuration (EXPERIMENTAL)
259#
260# CONFIG_IP_DCCP is not set 275# CONFIG_IP_DCCP is not set
261
262#
263# SCTP Configuration (EXPERIMENTAL)
264#
265# CONFIG_IP_SCTP is not set 276# CONFIG_IP_SCTP is not set
266
267#
268# TIPC Configuration (EXPERIMENTAL)
269#
270# CONFIG_TIPC is not set 277# CONFIG_TIPC is not set
271# CONFIG_ATM is not set 278# CONFIG_ATM is not set
272# CONFIG_BRIDGE is not set 279# CONFIG_BRIDGE is not set
@@ -292,7 +299,16 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
292# CONFIG_HAMRADIO is not set 299# CONFIG_HAMRADIO is not set
293# CONFIG_IRDA is not set 300# CONFIG_IRDA is not set
294# CONFIG_BT is not set 301# CONFIG_BT is not set
302# CONFIG_AF_RXRPC is not set
303
304#
305# Wireless
306#
307# CONFIG_CFG80211 is not set
308# CONFIG_WIRELESS_EXT is not set
309# CONFIG_MAC80211 is not set
295# CONFIG_IEEE80211 is not set 310# CONFIG_IEEE80211 is not set
311# CONFIG_RFKILL is not set
296 312
297# 313#
298# Device Drivers 314# Device Drivers
@@ -312,10 +328,6 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
312# Connector - unified userspace <-> kernelspace linker 328# Connector - unified userspace <-> kernelspace linker
313# 329#
314# CONFIG_CONNECTOR is not set 330# CONFIG_CONNECTOR is not set
315
316#
317# Memory Technology Devices (MTD)
318#
319# CONFIG_MTD is not set 331# CONFIG_MTD is not set
320 332
321# 333#
@@ -326,6 +338,7 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
326# 338#
327# Plug and Play support 339# Plug and Play support
328# 340#
341# CONFIG_PNPACPI is not set
329 342
330# 343#
331# Block devices 344# Block devices
@@ -339,17 +352,13 @@ CONFIG_BLK_DEV_RAM=y
339CONFIG_BLK_DEV_RAM_COUNT=16 352CONFIG_BLK_DEV_RAM_COUNT=16
340CONFIG_BLK_DEV_RAM_SIZE=32768 353CONFIG_BLK_DEV_RAM_SIZE=32768
341CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 354CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
342CONFIG_BLK_DEV_INITRD=y
343# CONFIG_CDROM_PKTCDVD is not set 355# CONFIG_CDROM_PKTCDVD is not set
344# CONFIG_ATA_OVER_ETH is not set 356# CONFIG_ATA_OVER_ETH is not set
345 357
346# 358#
347# Misc devices 359# Misc devices
348# 360#
349 361# CONFIG_BLINK is not set
350#
351# ATA/ATAPI/MFM/RLL support
352#
353# CONFIG_IDE is not set 362# CONFIG_IDE is not set
354 363
355# 364#
@@ -378,6 +387,7 @@ CONFIG_SCSI_PROC_FS=y
378# CONFIG_SCSI_CONSTANTS is not set 387# CONFIG_SCSI_CONSTANTS is not set
379# CONFIG_SCSI_LOGGING is not set 388# CONFIG_SCSI_LOGGING is not set
380# CONFIG_SCSI_SCAN_ASYNC is not set 389# CONFIG_SCSI_SCAN_ASYNC is not set
390CONFIG_SCSI_WAIT_SCAN=m
381 391
382# 392#
383# SCSI Transports 393# SCSI Transports
@@ -393,35 +403,13 @@ CONFIG_SCSI_PROC_FS=y
393# 403#
394# CONFIG_ISCSI_TCP is not set 404# CONFIG_ISCSI_TCP is not set
395# CONFIG_SCSI_DEBUG is not set 405# CONFIG_SCSI_DEBUG is not set
396
397#
398# Serial ATA (prod) and Parallel ATA (experimental) drivers
399#
400# CONFIG_ATA is not set 406# CONFIG_ATA is not set
401 407
402# 408#
403# Multi-device support (RAID and LVM) 409# Multi-device support (RAID and LVM)
404# 410#
405# CONFIG_MD is not set 411# CONFIG_MD is not set
406 412# CONFIG_MACINTOSH_DRIVERS is not set
407#
408# Fusion MPT device support
409#
410# CONFIG_FUSION is not set
411
412#
413# IEEE 1394 (FireWire) support
414#
415
416#
417# I2O device support
418#
419
420#
421# Macintosh device drivers
422#
423# CONFIG_MAC_EMUMOUSEBTN is not set
424# CONFIG_WINDFARM is not set
425 413
426# 414#
427# Network device support 415# Network device support
@@ -431,10 +419,6 @@ CONFIG_NETDEVICES=y
431# CONFIG_BONDING is not set 419# CONFIG_BONDING is not set
432# CONFIG_EQUALIZER is not set 420# CONFIG_EQUALIZER is not set
433# CONFIG_TUN is not set 421# CONFIG_TUN is not set
434
435#
436# PHY device support
437#
438CONFIG_PHYLIB=y 422CONFIG_PHYLIB=y
439 423
440# 424#
@@ -455,29 +439,16 @@ CONFIG_MARVELL_PHY=y
455# 439#
456CONFIG_NET_ETHERNET=y 440CONFIG_NET_ETHERNET=y
457CONFIG_MII=y 441CONFIG_MII=y
458 442CONFIG_NETDEV_1000=y
459#
460# Ethernet (1000 Mbit)
461#
462CONFIG_GIANFAR=y 443CONFIG_GIANFAR=y
463CONFIG_GFAR_NAPI=y 444CONFIG_GFAR_NAPI=y
445CONFIG_NETDEV_10000=y
464 446
465# 447#
466# Ethernet (10000 Mbit) 448# Wireless LAN
467#
468
469#
470# Token Ring devices
471#
472
473#
474# Wireless LAN (non-hamradio)
475#
476# CONFIG_NET_RADIO is not set
477
478#
479# Wan interfaces
480# 449#
450# CONFIG_WLAN_PRE80211 is not set
451# CONFIG_WLAN_80211 is not set
481# CONFIG_WAN is not set 452# CONFIG_WAN is not set
482# CONFIG_PPP is not set 453# CONFIG_PPP is not set
483# CONFIG_SLIP is not set 454# CONFIG_SLIP is not set
@@ -501,6 +472,7 @@ CONFIG_GFAR_NAPI=y
501# 472#
502CONFIG_INPUT=y 473CONFIG_INPUT=y
503# CONFIG_INPUT_FF_MEMLESS is not set 474# CONFIG_INPUT_FF_MEMLESS is not set
475# CONFIG_INPUT_POLLDEV is not set
504 476
505# 477#
506# Userland interfaces 478# Userland interfaces
@@ -517,6 +489,7 @@ CONFIG_INPUT=y
517# CONFIG_INPUT_KEYBOARD is not set 489# CONFIG_INPUT_KEYBOARD is not set
518# CONFIG_INPUT_MOUSE is not set 490# CONFIG_INPUT_MOUSE is not set
519# CONFIG_INPUT_JOYSTICK is not set 491# CONFIG_INPUT_JOYSTICK is not set
492# CONFIG_INPUT_TABLET is not set
520# CONFIG_INPUT_TOUCHSCREEN is not set 493# CONFIG_INPUT_TOUCHSCREEN is not set
521# CONFIG_INPUT_MISC is not set 494# CONFIG_INPUT_MISC is not set
522 495
@@ -540,6 +513,7 @@ CONFIG_SERIAL_8250_CONSOLE=y
540CONFIG_SERIAL_8250_NR_UARTS=4 513CONFIG_SERIAL_8250_NR_UARTS=4
541CONFIG_SERIAL_8250_RUNTIME_UARTS=4 514CONFIG_SERIAL_8250_RUNTIME_UARTS=4
542# CONFIG_SERIAL_8250_EXTENDED is not set 515# CONFIG_SERIAL_8250_EXTENDED is not set
516CONFIG_SERIAL_8250_SHARE_IRQ=y
543 517
544# 518#
545# Non-8250 serial port support 519# Non-8250 serial port support
@@ -556,10 +530,6 @@ CONFIG_LEGACY_PTY_COUNT=256
556# IPMI 530# IPMI
557# 531#
558# CONFIG_IPMI_HANDLER is not set 532# CONFIG_IPMI_HANDLER is not set
559
560#
561# Watchdog Cards
562#
563CONFIG_WATCHDOG=y 533CONFIG_WATCHDOG=y
564# CONFIG_WATCHDOG_NOWAYOUT is not set 534# CONFIG_WATCHDOG_NOWAYOUT is not set
565 535
@@ -572,7 +542,6 @@ CONFIG_HW_RANDOM=y
572# CONFIG_NVRAM is not set 542# CONFIG_NVRAM is not set
573CONFIG_GEN_RTC=y 543CONFIG_GEN_RTC=y
574# CONFIG_GEN_RTC_X is not set 544# CONFIG_GEN_RTC_X is not set
575# CONFIG_DTLK is not set
576# CONFIG_R3964 is not set 545# CONFIG_R3964 is not set
577# CONFIG_RAW_DRIVER is not set 546# CONFIG_RAW_DRIVER is not set
578 547
@@ -580,11 +549,8 @@ CONFIG_GEN_RTC=y
580# TPM devices 549# TPM devices
581# 550#
582# CONFIG_TCG_TPM is not set 551# CONFIG_TCG_TPM is not set
583
584#
585# I2C support
586#
587CONFIG_I2C=y 552CONFIG_I2C=y
553CONFIG_I2C_BOARDINFO=y
588CONFIG_I2C_CHARDEV=y 554CONFIG_I2C_CHARDEV=y
589 555
590# 556#
@@ -600,8 +566,8 @@ CONFIG_I2C_CHARDEV=y
600CONFIG_I2C_MPC=y 566CONFIG_I2C_MPC=y
601# CONFIG_I2C_OCORES is not set 567# CONFIG_I2C_OCORES is not set
602# CONFIG_I2C_PARPORT_LIGHT is not set 568# CONFIG_I2C_PARPORT_LIGHT is not set
569# CONFIG_I2C_SIMTEC is not set
603# CONFIG_I2C_STUB is not set 570# CONFIG_I2C_STUB is not set
604# CONFIG_I2C_PCA_ISA is not set
605 571
606# 572#
607# Miscellaneous I2C Chip support 573# Miscellaneous I2C Chip support
@@ -629,16 +595,14 @@ CONFIG_I2C_MPC=y
629# Dallas's 1-wire bus 595# Dallas's 1-wire bus
630# 596#
631# CONFIG_W1 is not set 597# CONFIG_W1 is not set
632
633#
634# Hardware Monitoring support
635#
636CONFIG_HWMON=y 598CONFIG_HWMON=y
637# CONFIG_HWMON_VID is not set 599# CONFIG_HWMON_VID is not set
638# CONFIG_SENSORS_ABITUGURU is not set 600# CONFIG_SENSORS_ABITUGURU is not set
601# CONFIG_SENSORS_AD7418 is not set
639# CONFIG_SENSORS_ADM1021 is not set 602# CONFIG_SENSORS_ADM1021 is not set
640# CONFIG_SENSORS_ADM1025 is not set 603# CONFIG_SENSORS_ADM1025 is not set
641# CONFIG_SENSORS_ADM1026 is not set 604# CONFIG_SENSORS_ADM1026 is not set
605# CONFIG_SENSORS_ADM1029 is not set
642# CONFIG_SENSORS_ADM1031 is not set 606# CONFIG_SENSORS_ADM1031 is not set
643# CONFIG_SENSORS_ADM9240 is not set 607# CONFIG_SENSORS_ADM9240 is not set
644# CONFIG_SENSORS_ASB100 is not set 608# CONFIG_SENSORS_ASB100 is not set
@@ -661,6 +625,7 @@ CONFIG_HWMON=y
661# CONFIG_SENSORS_LM90 is not set 625# CONFIG_SENSORS_LM90 is not set
662# CONFIG_SENSORS_LM92 is not set 626# CONFIG_SENSORS_LM92 is not set
663# CONFIG_SENSORS_MAX1619 is not set 627# CONFIG_SENSORS_MAX1619 is not set
628# CONFIG_SENSORS_MAX6650 is not set
664# CONFIG_SENSORS_PC87360 is not set 629# CONFIG_SENSORS_PC87360 is not set
665# CONFIG_SENSORS_PC87427 is not set 630# CONFIG_SENSORS_PC87427 is not set
666# CONFIG_SENSORS_SMSC47M1 is not set 631# CONFIG_SENSORS_SMSC47M1 is not set
@@ -677,22 +642,29 @@ CONFIG_HWMON=y
677# CONFIG_HWMON_DEBUG_CHIP is not set 642# CONFIG_HWMON_DEBUG_CHIP is not set
678 643
679# 644#
645# Multifunction device drivers
646#
647# CONFIG_MFD_SM501 is not set
648
649#
680# Multimedia devices 650# Multimedia devices
681# 651#
682# CONFIG_VIDEO_DEV is not set 652# CONFIG_VIDEO_DEV is not set
653# CONFIG_DVB_CORE is not set
654CONFIG_DAB=y
683 655
684# 656#
685# Digital Video Broadcasting Devices 657# Graphics support
686# 658#
687# CONFIG_DVB is not set 659# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
688 660
689# 661#
690# Graphics support 662# Display device support
691# 663#
692CONFIG_FIRMWARE_EDID=y 664# CONFIG_DISPLAY_SUPPORT is not set
665# CONFIG_VGASTATE is not set
693# CONFIG_FB is not set 666# CONFIG_FB is not set
694# CONFIG_FB_IBM_GXT4500 is not set 667# CONFIG_FB_IBM_GXT4500 is not set
695# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
696 668
697# 669#
698# Sound 670# Sound
@@ -720,10 +692,6 @@ CONFIG_HID=y
720# USB Gadget Support 692# USB Gadget Support
721# 693#
722# CONFIG_USB_GADGET is not set 694# CONFIG_USB_GADGET is not set
723
724#
725# MMC/SD Card support
726#
727# CONFIG_MMC is not set 695# CONFIG_MMC is not set
728 696
729# 697#
@@ -766,14 +734,6 @@ CONFIG_HID=y
766# 734#
767 735
768# 736#
769# Auxiliary Display support
770#
771
772#
773# Virtualization
774#
775
776#
777# File systems 737# File systems
778# 738#
779CONFIG_EXT2_FS=y 739CONFIG_EXT2_FS=y
@@ -861,6 +821,7 @@ CONFIG_LOCKD_V4=y
861CONFIG_NFS_COMMON=y 821CONFIG_NFS_COMMON=y
862CONFIG_SUNRPC=y 822CONFIG_SUNRPC=y
863CONFIG_SUNRPC_GSS=y 823CONFIG_SUNRPC_GSS=y
824# CONFIG_SUNRPC_BIND34 is not set
864CONFIG_RPCSEC_GSS_KRB5=y 825CONFIG_RPCSEC_GSS_KRB5=y
865# CONFIG_RPCSEC_GSS_SPKM3 is not set 826# CONFIG_RPCSEC_GSS_SPKM3 is not set
866# CONFIG_SMB_FS is not set 827# CONFIG_SMB_FS is not set
@@ -886,6 +847,7 @@ CONFIG_PARTITION_ADVANCED=y
886# CONFIG_SUN_PARTITION is not set 847# CONFIG_SUN_PARTITION is not set
887# CONFIG_KARMA_PARTITION is not set 848# CONFIG_KARMA_PARTITION is not set
888# CONFIG_EFI_PARTITION is not set 849# CONFIG_EFI_PARTITION is not set
850# CONFIG_SYSV68_PARTITION is not set
889 851
890# 852#
891# Native Language Support 853# Native Language Support
@@ -896,6 +858,7 @@ CONFIG_PARTITION_ADVANCED=y
896# Distributed Lock Manager 858# Distributed Lock Manager
897# 859#
898# CONFIG_DLM is not set 860# CONFIG_DLM is not set
861# CONFIG_UCC_SLOW is not set
899 862
900# 863#
901# Library routines 864# Library routines
@@ -903,11 +866,13 @@ CONFIG_PARTITION_ADVANCED=y
903CONFIG_BITREVERSE=y 866CONFIG_BITREVERSE=y
904# CONFIG_CRC_CCITT is not set 867# CONFIG_CRC_CCITT is not set
905# CONFIG_CRC16 is not set 868# CONFIG_CRC16 is not set
869# CONFIG_CRC_ITU_T is not set
906CONFIG_CRC32=y 870CONFIG_CRC32=y
907# CONFIG_LIBCRC32C is not set 871# CONFIG_LIBCRC32C is not set
908CONFIG_PLIST=y 872CONFIG_PLIST=y
909CONFIG_HAS_IOMEM=y 873CONFIG_HAS_IOMEM=y
910CONFIG_HAS_IOPORT=y 874CONFIG_HAS_IOPORT=y
875CONFIG_HAS_DMA=y
911 876
912# 877#
913# Instrumentation Support 878# Instrumentation Support
@@ -926,9 +891,9 @@ CONFIG_ENABLE_MUST_CHECK=y
926# CONFIG_HEADERS_CHECK is not set 891# CONFIG_HEADERS_CHECK is not set
927CONFIG_DEBUG_KERNEL=y 892CONFIG_DEBUG_KERNEL=y
928# CONFIG_DEBUG_SHIRQ is not set 893# CONFIG_DEBUG_SHIRQ is not set
929CONFIG_LOG_BUF_SHIFT=14
930CONFIG_DETECT_SOFTLOCKUP=y 894CONFIG_DETECT_SOFTLOCKUP=y
931# CONFIG_SCHEDSTATS is not set 895# CONFIG_SCHEDSTATS is not set
896# CONFIG_TIMER_STATS is not set
932# CONFIG_DEBUG_SLAB is not set 897# CONFIG_DEBUG_SLAB is not set
933# CONFIG_DEBUG_RT_MUTEXES is not set 898# CONFIG_DEBUG_RT_MUTEXES is not set
934# CONFIG_RT_MUTEX_TESTER is not set 899# CONFIG_RT_MUTEX_TESTER is not set
@@ -943,8 +908,10 @@ CONFIG_DETECT_SOFTLOCKUP=y
943# CONFIG_DEBUG_LIST is not set 908# CONFIG_DEBUG_LIST is not set
944CONFIG_FORCED_INLINING=y 909CONFIG_FORCED_INLINING=y
945# CONFIG_RCU_TORTURE_TEST is not set 910# CONFIG_RCU_TORTURE_TEST is not set
911# CONFIG_FAULT_INJECTION is not set
946# CONFIG_DEBUG_STACKOVERFLOW is not set 912# CONFIG_DEBUG_STACKOVERFLOW is not set
947# CONFIG_DEBUG_STACK_USAGE is not set 913# CONFIG_DEBUG_STACK_USAGE is not set
914# CONFIG_DEBUG_PAGEALLOC is not set
948CONFIG_DEBUGGER=y 915CONFIG_DEBUGGER=y
949# CONFIG_XMON is not set 916# CONFIG_XMON is not set
950# CONFIG_BDI_SWITCH is not set 917# CONFIG_BDI_SWITCH is not set
@@ -958,6 +925,7 @@ CONFIG_PPC_EARLY_DEBUG=y
958# CONFIG_PPC_EARLY_DEBUG_ISERIES is not set 925# CONFIG_PPC_EARLY_DEBUG_ISERIES is not set
959# CONFIG_PPC_EARLY_DEBUG_PAS_REALMODE is not set 926# CONFIG_PPC_EARLY_DEBUG_PAS_REALMODE is not set
960# CONFIG_PPC_EARLY_DEBUG_BEAT is not set 927# CONFIG_PPC_EARLY_DEBUG_BEAT is not set
928# CONFIG_PPC_EARLY_DEBUG_44x is not set
961 929
962# 930#
963# Security options 931# Security options
@@ -987,6 +955,7 @@ CONFIG_CRYPTO_ECB=m
987CONFIG_CRYPTO_CBC=y 955CONFIG_CRYPTO_CBC=y
988CONFIG_CRYPTO_PCBC=m 956CONFIG_CRYPTO_PCBC=m
989# CONFIG_CRYPTO_LRW is not set 957# CONFIG_CRYPTO_LRW is not set
958# CONFIG_CRYPTO_CRYPTD is not set
990CONFIG_CRYPTO_DES=y 959CONFIG_CRYPTO_DES=y
991# CONFIG_CRYPTO_FCRYPT is not set 960# CONFIG_CRYPTO_FCRYPT is not set
992# CONFIG_CRYPTO_BLOWFISH is not set 961# CONFIG_CRYPTO_BLOWFISH is not set
diff --git a/arch/powerpc/configs/mpc85xx_cds_defconfig b/arch/powerpc/configs/mpc85xx_cds_defconfig
index 1f61bce33e32..d9afe7009d99 100644
--- a/arch/powerpc/configs/mpc85xx_cds_defconfig
+++ b/arch/powerpc/configs/mpc85xx_cds_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.20-rc5 3# Linux kernel version: 2.6.22-rc7
4# Mon Jan 22 22:26:46 2007 4# Sun Jul 1 23:56:59 2007
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7CONFIG_PPC32=y 7CONFIG_PPC32=y
@@ -34,9 +34,9 @@ CONFIG_DEFAULT_UIMAGE=y
34# CONFIG_PPC_83xx is not set 34# CONFIG_PPC_83xx is not set
35CONFIG_PPC_85xx=y 35CONFIG_PPC_85xx=y
36# CONFIG_PPC_86xx is not set 36# CONFIG_PPC_86xx is not set
37# CONFIG_PPC_8xx is not set
37# CONFIG_40x is not set 38# CONFIG_40x is not set
38# CONFIG_44x is not set 39# CONFIG_44x is not set
39# CONFIG_8xx is not set
40# CONFIG_E200 is not set 40# CONFIG_E200 is not set
41CONFIG_85xx=y 41CONFIG_85xx=y
42CONFIG_E500=y 42CONFIG_E500=y
@@ -46,6 +46,7 @@ CONFIG_BOOKE=y
46CONFIG_FSL_BOOKE=y 46CONFIG_FSL_BOOKE=y
47# CONFIG_PHYS_64BIT is not set 47# CONFIG_PHYS_64BIT is not set
48CONFIG_SPE=y 48CONFIG_SPE=y
49# CONFIG_PPC_MM_SLICES is not set
49CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 50CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
50 51
51# 52#
@@ -63,14 +64,17 @@ CONFIG_LOCALVERSION_AUTO=y
63CONFIG_SWAP=y 64CONFIG_SWAP=y
64CONFIG_SYSVIPC=y 65CONFIG_SYSVIPC=y
65# CONFIG_IPC_NS is not set 66# CONFIG_IPC_NS is not set
67CONFIG_SYSVIPC_SYSCTL=y
66# CONFIG_POSIX_MQUEUE is not set 68# CONFIG_POSIX_MQUEUE is not set
67# CONFIG_BSD_PROCESS_ACCT is not set 69# CONFIG_BSD_PROCESS_ACCT is not set
68# CONFIG_TASKSTATS is not set 70# CONFIG_TASKSTATS is not set
69# CONFIG_UTS_NS is not set 71# CONFIG_UTS_NS is not set
70# CONFIG_AUDIT is not set 72# CONFIG_AUDIT is not set
71# CONFIG_IKCONFIG is not set 73# CONFIG_IKCONFIG is not set
74CONFIG_LOG_BUF_SHIFT=14
72CONFIG_SYSFS_DEPRECATED=y 75CONFIG_SYSFS_DEPRECATED=y
73# CONFIG_RELAY is not set 76# CONFIG_RELAY is not set
77CONFIG_BLK_DEV_INITRD=y
74CONFIG_INITRAMFS_SOURCE="" 78CONFIG_INITRAMFS_SOURCE=""
75# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 79# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
76CONFIG_SYSCTL=y 80CONFIG_SYSCTL=y
@@ -85,14 +89,19 @@ CONFIG_BUG=y
85CONFIG_ELF_CORE=y 89CONFIG_ELF_CORE=y
86CONFIG_BASE_FULL=y 90CONFIG_BASE_FULL=y
87CONFIG_FUTEX=y 91CONFIG_FUTEX=y
92CONFIG_ANON_INODES=y
88CONFIG_EPOLL=y 93CONFIG_EPOLL=y
94CONFIG_SIGNALFD=y
95CONFIG_TIMERFD=y
96CONFIG_EVENTFD=y
89CONFIG_SHMEM=y 97CONFIG_SHMEM=y
90CONFIG_SLAB=y
91CONFIG_VM_EVENT_COUNTERS=y 98CONFIG_VM_EVENT_COUNTERS=y
99CONFIG_SLAB=y
100# CONFIG_SLUB is not set
101# CONFIG_SLOB is not set
92CONFIG_RT_MUTEXES=y 102CONFIG_RT_MUTEXES=y
93# CONFIG_TINY_SHMEM is not set 103# CONFIG_TINY_SHMEM is not set
94CONFIG_BASE_SMALL=0 104CONFIG_BASE_SMALL=0
95# CONFIG_SLOB is not set
96 105
97# 106#
98# Loadable module support 107# Loadable module support
@@ -119,17 +128,33 @@ CONFIG_DEFAULT_AS=y
119# CONFIG_DEFAULT_CFQ is not set 128# CONFIG_DEFAULT_CFQ is not set
120# CONFIG_DEFAULT_NOOP is not set 129# CONFIG_DEFAULT_NOOP is not set
121CONFIG_DEFAULT_IOSCHED="anticipatory" 130CONFIG_DEFAULT_IOSCHED="anticipatory"
122# CONFIG_WANT_EARLY_SERIAL is not set
123 131
124# 132#
125# Platform support 133# Platform support
126# 134#
135# CONFIG_PPC_MPC52xx is not set
136# CONFIG_PPC_MPC5200 is not set
137# CONFIG_PPC_CELL is not set
138# CONFIG_PPC_CELL_NATIVE is not set
139# CONFIG_PQ2ADS is not set
127# CONFIG_MPC8540_ADS is not set 140# CONFIG_MPC8540_ADS is not set
128# CONFIG_MPC8560_ADS is not set 141# CONFIG_MPC8560_ADS is not set
129CONFIG_MPC85xx_CDS=y 142CONFIG_MPC85xx_CDS=y
143# CONFIG_MPC85xx_MDS is not set
144# CONFIG_MPC8544_DS is not set
130CONFIG_MPC8540=y 145CONFIG_MPC8540=y
131CONFIG_PPC_INDIRECT_PCI_BE=y 146CONFIG_MPC85xx=y
132CONFIG_MPIC=y 147CONFIG_MPIC=y
148# CONFIG_MPIC_WEIRD is not set
149# CONFIG_PPC_I8259 is not set
150# CONFIG_PPC_RTAS is not set
151# CONFIG_MMIO_NVRAM is not set
152# CONFIG_PPC_MPC106 is not set
153# CONFIG_PPC_970_NAP is not set
154# CONFIG_PPC_INDIRECT_IO is not set
155# CONFIG_GENERIC_IOMAP is not set
156# CONFIG_CPU_FREQ is not set
157# CONFIG_CPM2 is not set
133 158
134# 159#
135# Kernel options 160# Kernel options
@@ -158,32 +183,33 @@ CONFIG_FLAT_NODE_MEM_MAP=y
158# CONFIG_SPARSEMEM_STATIC is not set 183# CONFIG_SPARSEMEM_STATIC is not set
159CONFIG_SPLIT_PTLOCK_CPUS=4 184CONFIG_SPLIT_PTLOCK_CPUS=4
160# CONFIG_RESOURCES_64BIT is not set 185# CONFIG_RESOURCES_64BIT is not set
186CONFIG_ZONE_DMA_FLAG=1
161CONFIG_PROC_DEVICETREE=y 187CONFIG_PROC_DEVICETREE=y
162# CONFIG_CMDLINE_BOOL is not set 188# CONFIG_CMDLINE_BOOL is not set
163# CONFIG_PM is not set 189# CONFIG_PM is not set
164# CONFIG_SECCOMP is not set 190# CONFIG_SECCOMP is not set
191CONFIG_WANT_DEVICE_TREE=y
192CONFIG_DEVICE_TREE=""
165CONFIG_ISA_DMA_API=y 193CONFIG_ISA_DMA_API=y
166 194
167# 195#
168# Bus options 196# Bus options
169# 197#
170# CONFIG_MPIC_WEIRD is not set 198CONFIG_ZONE_DMA=y
171# CONFIG_PPC_I8259 is not set
172CONFIG_PPC_INDIRECT_PCI=y 199CONFIG_PPC_INDIRECT_PCI=y
200CONFIG_PPC_INDIRECT_PCI_BE=y
173CONFIG_FSL_SOC=y 201CONFIG_FSL_SOC=y
174CONFIG_PCI=y 202CONFIG_PCI=y
175CONFIG_PCI_DOMAINS=y 203CONFIG_PCI_DOMAINS=y
176# CONFIG_PCIEPORTBUS is not set 204# CONFIG_PCIEPORTBUS is not set
205CONFIG_ARCH_SUPPORTS_MSI=y
206# CONFIG_PCI_MSI is not set
177# CONFIG_PCI_DEBUG is not set 207# CONFIG_PCI_DEBUG is not set
178 208
179# 209#
180# PCCARD (PCMCIA/CardBus) support 210# PCCARD (PCMCIA/CardBus) support
181# 211#
182# CONFIG_PCCARD is not set 212# CONFIG_PCCARD is not set
183
184#
185# PCI Hotplug Support
186#
187# CONFIG_HOTPLUG_PCI is not set 213# CONFIG_HOTPLUG_PCI is not set
188 214
189# 215#
@@ -208,13 +234,13 @@ CONFIG_NET=y
208# 234#
209# Networking options 235# Networking options
210# 236#
211# CONFIG_NETDEBUG is not set
212CONFIG_PACKET=y 237CONFIG_PACKET=y
213# CONFIG_PACKET_MMAP is not set 238# CONFIG_PACKET_MMAP is not set
214CONFIG_UNIX=y 239CONFIG_UNIX=y
215CONFIG_XFRM=y 240CONFIG_XFRM=y
216CONFIG_XFRM_USER=y 241CONFIG_XFRM_USER=y
217# CONFIG_XFRM_SUB_POLICY is not set 242# CONFIG_XFRM_SUB_POLICY is not set
243# CONFIG_XFRM_MIGRATE is not set
218# CONFIG_NET_KEY is not set 244# CONFIG_NET_KEY is not set
219CONFIG_INET=y 245CONFIG_INET=y
220CONFIG_IP_MULTICAST=y 246CONFIG_IP_MULTICAST=y
@@ -248,20 +274,8 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
248# CONFIG_INET6_TUNNEL is not set 274# CONFIG_INET6_TUNNEL is not set
249# CONFIG_NETWORK_SECMARK is not set 275# CONFIG_NETWORK_SECMARK is not set
250# CONFIG_NETFILTER is not set 276# CONFIG_NETFILTER is not set
251
252#
253# DCCP Configuration (EXPERIMENTAL)
254#
255# CONFIG_IP_DCCP is not set 277# CONFIG_IP_DCCP is not set
256
257#
258# SCTP Configuration (EXPERIMENTAL)
259#
260# CONFIG_IP_SCTP is not set 278# CONFIG_IP_SCTP is not set
261
262#
263# TIPC Configuration (EXPERIMENTAL)
264#
265# CONFIG_TIPC is not set 279# CONFIG_TIPC is not set
266# CONFIG_ATM is not set 280# CONFIG_ATM is not set
267# CONFIG_BRIDGE is not set 281# CONFIG_BRIDGE is not set
@@ -287,7 +301,16 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
287# CONFIG_HAMRADIO is not set 301# CONFIG_HAMRADIO is not set
288# CONFIG_IRDA is not set 302# CONFIG_IRDA is not set
289# CONFIG_BT is not set 303# CONFIG_BT is not set
304# CONFIG_AF_RXRPC is not set
305
306#
307# Wireless
308#
309# CONFIG_CFG80211 is not set
310# CONFIG_WIRELESS_EXT is not set
311# CONFIG_MAC80211 is not set
290# CONFIG_IEEE80211 is not set 312# CONFIG_IEEE80211 is not set
313# CONFIG_RFKILL is not set
291 314
292# 315#
293# Device Drivers 316# Device Drivers
@@ -300,16 +323,13 @@ CONFIG_STANDALONE=y
300CONFIG_PREVENT_FIRMWARE_BUILD=y 323CONFIG_PREVENT_FIRMWARE_BUILD=y
301# CONFIG_FW_LOADER is not set 324# CONFIG_FW_LOADER is not set
302# CONFIG_DEBUG_DRIVER is not set 325# CONFIG_DEBUG_DRIVER is not set
326# CONFIG_DEBUG_DEVRES is not set
303# CONFIG_SYS_HYPERVISOR is not set 327# CONFIG_SYS_HYPERVISOR is not set
304 328
305# 329#
306# Connector - unified userspace <-> kernelspace linker 330# Connector - unified userspace <-> kernelspace linker
307# 331#
308# CONFIG_CONNECTOR is not set 332# CONFIG_CONNECTOR is not set
309
310#
311# Memory Technology Devices (MTD)
312#
313# CONFIG_MTD is not set 333# CONFIG_MTD is not set
314 334
315# 335#
@@ -320,6 +340,7 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
320# 340#
321# Plug and Play support 341# Plug and Play support
322# 342#
343# CONFIG_PNPACPI is not set
323 344
324# 345#
325# Block devices 346# Block devices
@@ -338,19 +359,16 @@ CONFIG_BLK_DEV_RAM=y
338CONFIG_BLK_DEV_RAM_COUNT=16 359CONFIG_BLK_DEV_RAM_COUNT=16
339CONFIG_BLK_DEV_RAM_SIZE=32768 360CONFIG_BLK_DEV_RAM_SIZE=32768
340CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 361CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
341CONFIG_BLK_DEV_INITRD=y
342# CONFIG_CDROM_PKTCDVD is not set 362# CONFIG_CDROM_PKTCDVD is not set
343# CONFIG_ATA_OVER_ETH is not set 363# CONFIG_ATA_OVER_ETH is not set
344 364
345# 365#
346# Misc devices 366# Misc devices
347# 367#
368# CONFIG_PHANTOM is not set
348# CONFIG_SGI_IOC4 is not set 369# CONFIG_SGI_IOC4 is not set
349# CONFIG_TIFM_CORE is not set 370# CONFIG_TIFM_CORE is not set
350 371# CONFIG_BLINK is not set
351#
352# ATA/ATAPI/MFM/RLL support
353#
354CONFIG_IDE=y 372CONFIG_IDE=y
355CONFIG_IDE_MAX_HWIFS=4 373CONFIG_IDE_MAX_HWIFS=4
356CONFIG_BLK_DEV_IDE=y 374CONFIG_BLK_DEV_IDE=y
@@ -365,6 +383,7 @@ CONFIG_BLK_DEV_IDE=y
365# CONFIG_BLK_DEV_IDETAPE is not set 383# CONFIG_BLK_DEV_IDETAPE is not set
366# CONFIG_BLK_DEV_IDEFLOPPY is not set 384# CONFIG_BLK_DEV_IDEFLOPPY is not set
367# CONFIG_IDE_TASK_IOCTL is not set 385# CONFIG_IDE_TASK_IOCTL is not set
386CONFIG_IDE_PROC_FS=y
368 387
369# 388#
370# IDE chipset support/bugfixes 389# IDE chipset support/bugfixes
@@ -372,12 +391,13 @@ CONFIG_BLK_DEV_IDE=y
372CONFIG_IDE_GENERIC=y 391CONFIG_IDE_GENERIC=y
373CONFIG_BLK_DEV_IDEPCI=y 392CONFIG_BLK_DEV_IDEPCI=y
374CONFIG_IDEPCI_SHARE_IRQ=y 393CONFIG_IDEPCI_SHARE_IRQ=y
394CONFIG_IDEPCI_PCIBUS_ORDER=y
375# CONFIG_BLK_DEV_OFFBOARD is not set 395# CONFIG_BLK_DEV_OFFBOARD is not set
376CONFIG_BLK_DEV_GENERIC=y 396CONFIG_BLK_DEV_GENERIC=y
377# CONFIG_BLK_DEV_OPTI621 is not set 397# CONFIG_BLK_DEV_OPTI621 is not set
378CONFIG_BLK_DEV_IDEDMA_PCI=y 398CONFIG_BLK_DEV_IDEDMA_PCI=y
379# CONFIG_BLK_DEV_IDEDMA_FORCED is not set 399# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
380# CONFIG_IDEDMA_PCI_AUTO is not set 400# CONFIG_IDEDMA_ONLYDISK is not set
381# CONFIG_BLK_DEV_AEC62XX is not set 401# CONFIG_BLK_DEV_AEC62XX is not set
382# CONFIG_BLK_DEV_ALI15X3 is not set 402# CONFIG_BLK_DEV_ALI15X3 is not set
383# CONFIG_BLK_DEV_AMD74XX is not set 403# CONFIG_BLK_DEV_AMD74XX is not set
@@ -391,6 +411,7 @@ CONFIG_BLK_DEV_IDEDMA_PCI=y
391# CONFIG_BLK_DEV_JMICRON is not set 411# CONFIG_BLK_DEV_JMICRON is not set
392# CONFIG_BLK_DEV_SC1200 is not set 412# CONFIG_BLK_DEV_SC1200 is not set
393# CONFIG_BLK_DEV_PIIX is not set 413# CONFIG_BLK_DEV_PIIX is not set
414# CONFIG_BLK_DEV_IT8213 is not set
394# CONFIG_BLK_DEV_IT821X is not set 415# CONFIG_BLK_DEV_IT821X is not set
395# CONFIG_BLK_DEV_NS87415 is not set 416# CONFIG_BLK_DEV_NS87415 is not set
396# CONFIG_BLK_DEV_PDC202XX_OLD is not set 417# CONFIG_BLK_DEV_PDC202XX_OLD is not set
@@ -401,10 +422,10 @@ CONFIG_BLK_DEV_IDEDMA_PCI=y
401# CONFIG_BLK_DEV_SLC90E66 is not set 422# CONFIG_BLK_DEV_SLC90E66 is not set
402# CONFIG_BLK_DEV_TRM290 is not set 423# CONFIG_BLK_DEV_TRM290 is not set
403CONFIG_BLK_DEV_VIA82CXXX=y 424CONFIG_BLK_DEV_VIA82CXXX=y
425# CONFIG_BLK_DEV_TC86C001 is not set
404# CONFIG_IDE_ARM is not set 426# CONFIG_IDE_ARM is not set
405CONFIG_BLK_DEV_IDEDMA=y 427CONFIG_BLK_DEV_IDEDMA=y
406# CONFIG_IDEDMA_IVB is not set 428# CONFIG_IDEDMA_IVB is not set
407# CONFIG_IDEDMA_AUTO is not set
408# CONFIG_BLK_DEV_HD is not set 429# CONFIG_BLK_DEV_HD is not set
409 430
410# 431#
@@ -413,10 +434,6 @@ CONFIG_BLK_DEV_IDEDMA=y
413# CONFIG_RAID_ATTRS is not set 434# CONFIG_RAID_ATTRS is not set
414# CONFIG_SCSI is not set 435# CONFIG_SCSI is not set
415# CONFIG_SCSI_NETLINK is not set 436# CONFIG_SCSI_NETLINK is not set
416
417#
418# Serial ATA (prod) and Parallel ATA (experimental) drivers
419#
420# CONFIG_ATA is not set 437# CONFIG_ATA is not set
421 438
422# 439#
@@ -432,18 +449,14 @@ CONFIG_BLK_DEV_IDEDMA=y
432# 449#
433# IEEE 1394 (FireWire) support 450# IEEE 1394 (FireWire) support
434# 451#
452# CONFIG_FIREWIRE is not set
435# CONFIG_IEEE1394 is not set 453# CONFIG_IEEE1394 is not set
436 454
437# 455#
438# I2O device support 456# I2O device support
439# 457#
440# CONFIG_I2O is not set 458# CONFIG_I2O is not set
441 459# CONFIG_MACINTOSH_DRIVERS is not set
442#
443# Macintosh device drivers
444#
445# CONFIG_MAC_EMUMOUSEBTN is not set
446# CONFIG_WINDFARM is not set
447 460
448# 461#
449# Network device support 462# Network device support
@@ -453,15 +466,7 @@ CONFIG_NETDEVICES=y
453# CONFIG_BONDING is not set 466# CONFIG_BONDING is not set
454# CONFIG_EQUALIZER is not set 467# CONFIG_EQUALIZER is not set
455# CONFIG_TUN is not set 468# CONFIG_TUN is not set
456
457#
458# ARCnet devices
459#
460# CONFIG_ARCNET is not set 469# CONFIG_ARCNET is not set
461
462#
463# PHY device support
464#
465CONFIG_PHYLIB=y 470CONFIG_PHYLIB=y
466 471
467# 472#
@@ -493,10 +498,7 @@ CONFIG_MII=y
493# CONFIG_NET_TULIP is not set 498# CONFIG_NET_TULIP is not set
494# CONFIG_HP100 is not set 499# CONFIG_HP100 is not set
495# CONFIG_NET_PCI is not set 500# CONFIG_NET_PCI is not set
496 501CONFIG_NETDEV_1000=y
497#
498# Ethernet (1000 Mbit)
499#
500# CONFIG_ACENIC is not set 502# CONFIG_ACENIC is not set
501# CONFIG_DL2K is not set 503# CONFIG_DL2K is not set
502CONFIG_E1000=y 504CONFIG_E1000=y
@@ -510,34 +512,28 @@ CONFIG_E1000_NAPI=y
510# CONFIG_SKGE is not set 512# CONFIG_SKGE is not set
511# CONFIG_SKY2 is not set 513# CONFIG_SKY2 is not set
512# CONFIG_SK98LIN is not set 514# CONFIG_SK98LIN is not set
515# CONFIG_VIA_VELOCITY is not set
513# CONFIG_TIGON3 is not set 516# CONFIG_TIGON3 is not set
514# CONFIG_BNX2 is not set 517# CONFIG_BNX2 is not set
515CONFIG_GIANFAR=y 518CONFIG_GIANFAR=y
516CONFIG_GFAR_NAPI=y 519CONFIG_GFAR_NAPI=y
517# CONFIG_QLA3XXX is not set 520# CONFIG_QLA3XXX is not set
518 521# CONFIG_ATL1 is not set
519# 522CONFIG_NETDEV_10000=y
520# Ethernet (10000 Mbit)
521#
522# CONFIG_CHELSIO_T1 is not set 523# CONFIG_CHELSIO_T1 is not set
524# CONFIG_CHELSIO_T3 is not set
523# CONFIG_IXGB is not set 525# CONFIG_IXGB is not set
524# CONFIG_S2IO is not set 526# CONFIG_S2IO is not set
525# CONFIG_MYRI10GE is not set 527# CONFIG_MYRI10GE is not set
526# CONFIG_NETXEN_NIC is not set 528# CONFIG_NETXEN_NIC is not set
527 529# CONFIG_MLX4_CORE is not set
528#
529# Token Ring devices
530#
531# CONFIG_TR is not set 530# CONFIG_TR is not set
532 531
533# 532#
534# Wireless LAN (non-hamradio) 533# Wireless LAN
535#
536# CONFIG_NET_RADIO is not set
537
538#
539# Wan interfaces
540# 534#
535# CONFIG_WLAN_PRE80211 is not set
536# CONFIG_WLAN_80211 is not set
541# CONFIG_WAN is not set 537# CONFIG_WAN is not set
542# CONFIG_FDDI is not set 538# CONFIG_FDDI is not set
543# CONFIG_HIPPI is not set 539# CONFIG_HIPPI is not set
@@ -563,6 +559,7 @@ CONFIG_GFAR_NAPI=y
563# 559#
564CONFIG_INPUT=y 560CONFIG_INPUT=y
565# CONFIG_INPUT_FF_MEMLESS is not set 561# CONFIG_INPUT_FF_MEMLESS is not set
562# CONFIG_INPUT_POLLDEV is not set
566 563
567# 564#
568# Userland interfaces 565# Userland interfaces
@@ -579,6 +576,7 @@ CONFIG_INPUT=y
579# CONFIG_INPUT_KEYBOARD is not set 576# CONFIG_INPUT_KEYBOARD is not set
580# CONFIG_INPUT_MOUSE is not set 577# CONFIG_INPUT_MOUSE is not set
581# CONFIG_INPUT_JOYSTICK is not set 578# CONFIG_INPUT_JOYSTICK is not set
579# CONFIG_INPUT_TABLET is not set
582# CONFIG_INPUT_TOUCHSCREEN is not set 580# CONFIG_INPUT_TOUCHSCREEN is not set
583# CONFIG_INPUT_MISC is not set 581# CONFIG_INPUT_MISC is not set
584 582
@@ -603,6 +601,7 @@ CONFIG_SERIAL_8250_PCI=y
603CONFIG_SERIAL_8250_NR_UARTS=4 601CONFIG_SERIAL_8250_NR_UARTS=4
604CONFIG_SERIAL_8250_RUNTIME_UARTS=4 602CONFIG_SERIAL_8250_RUNTIME_UARTS=4
605# CONFIG_SERIAL_8250_EXTENDED is not set 603# CONFIG_SERIAL_8250_EXTENDED is not set
604CONFIG_SERIAL_8250_SHARE_IRQ=y
606 605
607# 606#
608# Non-8250 serial port support 607# Non-8250 serial port support
@@ -611,6 +610,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4
611CONFIG_SERIAL_CORE=y 610CONFIG_SERIAL_CORE=y
612CONFIG_SERIAL_CORE_CONSOLE=y 611CONFIG_SERIAL_CORE_CONSOLE=y
613# CONFIG_SERIAL_JSM is not set 612# CONFIG_SERIAL_JSM is not set
613# CONFIG_SERIAL_OF_PLATFORM is not set
614CONFIG_UNIX98_PTYS=y 614CONFIG_UNIX98_PTYS=y
615CONFIG_LEGACY_PTYS=y 615CONFIG_LEGACY_PTYS=y
616CONFIG_LEGACY_PTY_COUNT=256 616CONFIG_LEGACY_PTY_COUNT=256
@@ -619,16 +619,11 @@ CONFIG_LEGACY_PTY_COUNT=256
619# IPMI 619# IPMI
620# 620#
621# CONFIG_IPMI_HANDLER is not set 621# CONFIG_IPMI_HANDLER is not set
622
623#
624# Watchdog Cards
625#
626# CONFIG_WATCHDOG is not set 622# CONFIG_WATCHDOG is not set
627# CONFIG_HW_RANDOM is not set 623# CONFIG_HW_RANDOM is not set
628# CONFIG_NVRAM is not set 624# CONFIG_NVRAM is not set
629CONFIG_GEN_RTC=y 625CONFIG_GEN_RTC=y
630# CONFIG_GEN_RTC_X is not set 626# CONFIG_GEN_RTC_X is not set
631# CONFIG_DTLK is not set
632# CONFIG_R3964 is not set 627# CONFIG_R3964 is not set
633# CONFIG_APPLICOM is not set 628# CONFIG_APPLICOM is not set
634# CONFIG_AGP is not set 629# CONFIG_AGP is not set
@@ -639,10 +634,7 @@ CONFIG_GEN_RTC=y
639# TPM devices 634# TPM devices
640# 635#
641# CONFIG_TCG_TPM is not set 636# CONFIG_TCG_TPM is not set
642 637CONFIG_DEVPORT=y
643#
644# I2C support
645#
646# CONFIG_I2C is not set 638# CONFIG_I2C is not set
647 639
648# 640#
@@ -655,35 +647,41 @@ CONFIG_GEN_RTC=y
655# Dallas's 1-wire bus 647# Dallas's 1-wire bus
656# 648#
657# CONFIG_W1 is not set 649# CONFIG_W1 is not set
658
659#
660# Hardware Monitoring support
661#
662CONFIG_HWMON=y 650CONFIG_HWMON=y
663# CONFIG_HWMON_VID is not set 651# CONFIG_HWMON_VID is not set
664# CONFIG_SENSORS_ABITUGURU is not set 652# CONFIG_SENSORS_ABITUGURU is not set
665# CONFIG_SENSORS_F71805F is not set 653# CONFIG_SENSORS_F71805F is not set
666# CONFIG_SENSORS_PC87427 is not set 654# CONFIG_SENSORS_PC87427 is not set
655# CONFIG_SENSORS_SMSC47M1 is not set
656# CONFIG_SENSORS_SMSC47B397 is not set
667# CONFIG_SENSORS_VT1211 is not set 657# CONFIG_SENSORS_VT1211 is not set
658# CONFIG_SENSORS_W83627HF is not set
668# CONFIG_HWMON_DEBUG_CHIP is not set 659# CONFIG_HWMON_DEBUG_CHIP is not set
669 660
670# 661#
662# Multifunction device drivers
663#
664# CONFIG_MFD_SM501 is not set
665
666#
671# Multimedia devices 667# Multimedia devices
672# 668#
673# CONFIG_VIDEO_DEV is not set 669# CONFIG_VIDEO_DEV is not set
670# CONFIG_DVB_CORE is not set
671CONFIG_DAB=y
674 672
675# 673#
676# Digital Video Broadcasting Devices 674# Graphics support
677# 675#
678# CONFIG_DVB is not set 676# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
679 677
680# 678#
681# Graphics support 679# Display device support
682# 680#
683CONFIG_FIRMWARE_EDID=y 681# CONFIG_DISPLAY_SUPPORT is not set
682# CONFIG_VGASTATE is not set
684# CONFIG_FB is not set 683# CONFIG_FB is not set
685# CONFIG_FB_IBM_GXT4500 is not set 684# CONFIG_FB_IBM_GXT4500 is not set
686# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
687 685
688# 686#
689# Sound 687# Sound
@@ -694,6 +692,7 @@ CONFIG_FIRMWARE_EDID=y
694# HID Devices 692# HID Devices
695# 693#
696CONFIG_HID=y 694CONFIG_HID=y
695# CONFIG_HID_DEBUG is not set
697 696
698# 697#
699# USB support 698# USB support
@@ -711,10 +710,6 @@ CONFIG_USB_ARCH_HAS_EHCI=y
711# USB Gadget Support 710# USB Gadget Support
712# 711#
713# CONFIG_USB_GADGET is not set 712# CONFIG_USB_GADGET is not set
714
715#
716# MMC/SD Card support
717#
718# CONFIG_MMC is not set 713# CONFIG_MMC is not set
719 714
720# 715#
@@ -758,10 +753,6 @@ CONFIG_USB_ARCH_HAS_EHCI=y
758# 753#
759 754
760# 755#
761# Virtualization
762#
763
764#
765# File systems 756# File systems
766# 757#
767CONFIG_EXT2_FS=y 758CONFIG_EXT2_FS=y
@@ -846,6 +837,7 @@ CONFIG_ROOT_NFS=y
846CONFIG_LOCKD=y 837CONFIG_LOCKD=y
847CONFIG_NFS_COMMON=y 838CONFIG_NFS_COMMON=y
848CONFIG_SUNRPC=y 839CONFIG_SUNRPC=y
840# CONFIG_SUNRPC_BIND34 is not set
849# CONFIG_RPCSEC_GSS_KRB5 is not set 841# CONFIG_RPCSEC_GSS_KRB5 is not set
850# CONFIG_RPCSEC_GSS_SPKM3 is not set 842# CONFIG_RPCSEC_GSS_SPKM3 is not set
851# CONFIG_SMB_FS is not set 843# CONFIG_SMB_FS is not set
@@ -871,6 +863,7 @@ CONFIG_PARTITION_ADVANCED=y
871# CONFIG_SUN_PARTITION is not set 863# CONFIG_SUN_PARTITION is not set
872# CONFIG_KARMA_PARTITION is not set 864# CONFIG_KARMA_PARTITION is not set
873# CONFIG_EFI_PARTITION is not set 865# CONFIG_EFI_PARTITION is not set
866# CONFIG_SYSV68_PARTITION is not set
874 867
875# 868#
876# Native Language Support 869# Native Language Support
@@ -881,6 +874,7 @@ CONFIG_PARTITION_ADVANCED=y
881# Distributed Lock Manager 874# Distributed Lock Manager
882# 875#
883# CONFIG_DLM is not set 876# CONFIG_DLM is not set
877# CONFIG_UCC_SLOW is not set
884 878
885# 879#
886# Library routines 880# Library routines
@@ -888,10 +882,13 @@ CONFIG_PARTITION_ADVANCED=y
888CONFIG_BITREVERSE=y 882CONFIG_BITREVERSE=y
889# CONFIG_CRC_CCITT is not set 883# CONFIG_CRC_CCITT is not set
890# CONFIG_CRC16 is not set 884# CONFIG_CRC16 is not set
885# CONFIG_CRC_ITU_T is not set
891CONFIG_CRC32=y 886CONFIG_CRC32=y
892# CONFIG_LIBCRC32C is not set 887# CONFIG_LIBCRC32C is not set
893CONFIG_PLIST=y 888CONFIG_PLIST=y
894CONFIG_IOMAP_COPY=y 889CONFIG_HAS_IOMEM=y
890CONFIG_HAS_IOPORT=y
891CONFIG_HAS_DMA=y
895 892
896# 893#
897# Instrumentation Support 894# Instrumentation Support
@@ -908,15 +905,15 @@ CONFIG_ENABLE_MUST_CHECK=y
908# CONFIG_DEBUG_FS is not set 905# CONFIG_DEBUG_FS is not set
909# CONFIG_HEADERS_CHECK is not set 906# CONFIG_HEADERS_CHECK is not set
910CONFIG_DEBUG_KERNEL=y 907CONFIG_DEBUG_KERNEL=y
911CONFIG_LOG_BUF_SHIFT=14 908# CONFIG_DEBUG_SHIRQ is not set
912CONFIG_DETECT_SOFTLOCKUP=y 909CONFIG_DETECT_SOFTLOCKUP=y
913# CONFIG_SCHEDSTATS is not set 910# CONFIG_SCHEDSTATS is not set
911# CONFIG_TIMER_STATS is not set
914# CONFIG_DEBUG_SLAB is not set 912# CONFIG_DEBUG_SLAB is not set
915# CONFIG_DEBUG_RT_MUTEXES is not set 913# CONFIG_DEBUG_RT_MUTEXES is not set
916# CONFIG_RT_MUTEX_TESTER is not set 914# CONFIG_RT_MUTEX_TESTER is not set
917# CONFIG_DEBUG_SPINLOCK is not set 915# CONFIG_DEBUG_SPINLOCK is not set
918CONFIG_DEBUG_MUTEXES=y 916CONFIG_DEBUG_MUTEXES=y
919# CONFIG_DEBUG_RWSEMS is not set
920# CONFIG_DEBUG_SPINLOCK_SLEEP is not set 917# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
921# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set 918# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
922# CONFIG_DEBUG_KOBJECT is not set 919# CONFIG_DEBUG_KOBJECT is not set
@@ -925,7 +922,10 @@ CONFIG_DEBUG_MUTEXES=y
925# CONFIG_DEBUG_VM is not set 922# CONFIG_DEBUG_VM is not set
926# CONFIG_DEBUG_LIST is not set 923# CONFIG_DEBUG_LIST is not set
927CONFIG_FORCED_INLINING=y 924CONFIG_FORCED_INLINING=y
928# CONFIG_RCU_TORTURE_TEST is not set 925# CONFIG_FAULT_INJECTION is not set
926# CONFIG_DEBUG_STACKOVERFLOW is not set
927# CONFIG_DEBUG_STACK_USAGE is not set
928# CONFIG_DEBUG_PAGEALLOC is not set
929# CONFIG_DEBUGGER is not set 929# CONFIG_DEBUGGER is not set
930# CONFIG_BDI_SWITCH is not set 930# CONFIG_BDI_SWITCH is not set
931# CONFIG_BOOTX_TEXT is not set 931# CONFIG_BOOTX_TEXT is not set
diff --git a/arch/powerpc/configs/mpc8641_hpcn_defconfig b/arch/powerpc/configs/mpc8641_hpcn_defconfig
index 53fcd6932f5b..1ac94a605b05 100644
--- a/arch/powerpc/configs/mpc8641_hpcn_defconfig
+++ b/arch/powerpc/configs/mpc8641_hpcn_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.20-rc5 3# Linux kernel version: 2.6.22-rc7
4# Mon Jan 22 22:27:14 2007 4# Sun Jul 1 23:57:00 2007
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7CONFIG_PPC32=y 7CONFIG_PPC32=y
@@ -24,7 +24,7 @@ CONFIG_PPC_UDBG_16550=y
24CONFIG_GENERIC_TBSYNC=y 24CONFIG_GENERIC_TBSYNC=y
25CONFIG_AUDIT_ARCH=y 25CONFIG_AUDIT_ARCH=y
26CONFIG_GENERIC_BUG=y 26CONFIG_GENERIC_BUG=y
27# CONFIG_DEFAULT_UIMAGE is not set 27CONFIG_DEFAULT_UIMAGE=y
28 28
29# 29#
30# Processor support 30# Processor support
@@ -34,9 +34,9 @@ CONFIG_GENERIC_BUG=y
34# CONFIG_PPC_83xx is not set 34# CONFIG_PPC_83xx is not set
35# CONFIG_PPC_85xx is not set 35# CONFIG_PPC_85xx is not set
36CONFIG_PPC_86xx=y 36CONFIG_PPC_86xx=y
37# CONFIG_PPC_8xx is not set
37# CONFIG_40x is not set 38# CONFIG_40x is not set
38# CONFIG_44x is not set 39# CONFIG_44x is not set
39# CONFIG_8xx is not set
40# CONFIG_E200 is not set 40# CONFIG_E200 is not set
41CONFIG_6xx=y 41CONFIG_6xx=y
42CONFIG_PPC_FPU=y 42CONFIG_PPC_FPU=y
@@ -45,6 +45,7 @@ CONFIG_PPC_FPU=y
45CONFIG_ALTIVEC=y 45CONFIG_ALTIVEC=y
46CONFIG_PPC_STD_MMU=y 46CONFIG_PPC_STD_MMU=y
47CONFIG_PPC_STD_MMU_32=y 47CONFIG_PPC_STD_MMU_32=y
48# CONFIG_PPC_MM_SLICES is not set
48CONFIG_SMP=y 49CONFIG_SMP=y
49CONFIG_NR_CPUS=2 50CONFIG_NR_CPUS=2
50CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 51CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
@@ -70,9 +71,11 @@ CONFIG_LOCALVERSION=""
70# CONFIG_AUDIT is not set 71# CONFIG_AUDIT is not set
71CONFIG_IKCONFIG=y 72CONFIG_IKCONFIG=y
72CONFIG_IKCONFIG_PROC=y 73CONFIG_IKCONFIG_PROC=y
74CONFIG_LOG_BUF_SHIFT=14
73# CONFIG_CPUSETS is not set 75# CONFIG_CPUSETS is not set
74CONFIG_SYSFS_DEPRECATED=y 76CONFIG_SYSFS_DEPRECATED=y
75# CONFIG_RELAY is not set 77# CONFIG_RELAY is not set
78CONFIG_BLK_DEV_INITRD=y
76CONFIG_INITRAMFS_SOURCE="" 79CONFIG_INITRAMFS_SOURCE=""
77# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 80# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
78CONFIG_SYSCTL=y 81CONFIG_SYSCTL=y
@@ -87,14 +90,19 @@ CONFIG_BUG=y
87# CONFIG_ELF_CORE is not set 90# CONFIG_ELF_CORE is not set
88CONFIG_BASE_FULL=y 91CONFIG_BASE_FULL=y
89CONFIG_FUTEX=y 92CONFIG_FUTEX=y
93CONFIG_ANON_INODES=y
90CONFIG_EPOLL=y 94CONFIG_EPOLL=y
95CONFIG_SIGNALFD=y
96CONFIG_TIMERFD=y
97CONFIG_EVENTFD=y
91CONFIG_SHMEM=y 98CONFIG_SHMEM=y
92CONFIG_SLAB=y
93CONFIG_VM_EVENT_COUNTERS=y 99CONFIG_VM_EVENT_COUNTERS=y
100CONFIG_SLAB=y
101# CONFIG_SLUB is not set
102# CONFIG_SLOB is not set
94CONFIG_RT_MUTEXES=y 103CONFIG_RT_MUTEXES=y
95# CONFIG_TINY_SHMEM is not set 104# CONFIG_TINY_SHMEM is not set
96CONFIG_BASE_SMALL=0 105CONFIG_BASE_SMALL=0
97# CONFIG_SLOB is not set
98 106
99# 107#
100# Loadable module support 108# Loadable module support
@@ -121,15 +129,28 @@ CONFIG_DEFAULT_DEADLINE=y
121# CONFIG_DEFAULT_CFQ is not set 129# CONFIG_DEFAULT_CFQ is not set
122# CONFIG_DEFAULT_NOOP is not set 130# CONFIG_DEFAULT_NOOP is not set
123CONFIG_DEFAULT_IOSCHED="deadline" 131CONFIG_DEFAULT_IOSCHED="deadline"
124# CONFIG_WANT_EARLY_SERIAL is not set
125CONFIG_PPC_INDIRECT_PCI_BE=y
126CONFIG_MPIC=y
127 132
128# 133#
129# Platform Support 134# Platform support
130# 135#
136# CONFIG_PPC_MPC52xx is not set
137# CONFIG_PPC_MPC5200 is not set
138# CONFIG_PPC_CELL is not set
139# CONFIG_PPC_CELL_NATIVE is not set
140# CONFIG_PQ2ADS is not set
131CONFIG_MPC8641_HPCN=y 141CONFIG_MPC8641_HPCN=y
132CONFIG_MPC8641=y 142CONFIG_MPC8641=y
143CONFIG_MPIC=y
144# CONFIG_MPIC_WEIRD is not set
145CONFIG_PPC_I8259=y
146# CONFIG_PPC_RTAS is not set
147# CONFIG_MMIO_NVRAM is not set
148# CONFIG_PPC_MPC106 is not set
149# CONFIG_PPC_970_NAP is not set
150# CONFIG_PPC_INDIRECT_IO is not set
151# CONFIG_GENERIC_IOMAP is not set
152# CONFIG_CPU_FREQ is not set
153# CONFIG_CPM2 is not set
133 154
134# 155#
135# Kernel options 156# Kernel options
@@ -159,33 +180,34 @@ CONFIG_FLAT_NODE_MEM_MAP=y
159# CONFIG_SPARSEMEM_STATIC is not set 180# CONFIG_SPARSEMEM_STATIC is not set
160CONFIG_SPLIT_PTLOCK_CPUS=4 181CONFIG_SPLIT_PTLOCK_CPUS=4
161# CONFIG_RESOURCES_64BIT is not set 182# CONFIG_RESOURCES_64BIT is not set
183CONFIG_ZONE_DMA_FLAG=1
162CONFIG_PROC_DEVICETREE=y 184CONFIG_PROC_DEVICETREE=y
163# CONFIG_CMDLINE_BOOL is not set 185# CONFIG_CMDLINE_BOOL is not set
164# CONFIG_PM is not set 186# CONFIG_PM is not set
165# CONFIG_SECCOMP is not set 187# CONFIG_SECCOMP is not set
188# CONFIG_WANT_DEVICE_TREE is not set
166CONFIG_ISA_DMA_API=y 189CONFIG_ISA_DMA_API=y
167 190
168# 191#
169# Bus options 192# Bus options
170# 193#
194CONFIG_ZONE_DMA=y
171CONFIG_GENERIC_ISA_DMA=y 195CONFIG_GENERIC_ISA_DMA=y
172# CONFIG_MPIC_WEIRD is not set
173CONFIG_PPC_I8259=y
174CONFIG_PPC_INDIRECT_PCI=y 196CONFIG_PPC_INDIRECT_PCI=y
197CONFIG_PPC_INDIRECT_PCI_BE=y
175CONFIG_FSL_SOC=y 198CONFIG_FSL_SOC=y
199CONFIG_FSL_PCIE=y
176CONFIG_PCI=y 200CONFIG_PCI=y
177CONFIG_PCI_DOMAINS=y 201CONFIG_PCI_DOMAINS=y
178# CONFIG_PCIEPORTBUS is not set 202# CONFIG_PCIEPORTBUS is not set
203CONFIG_ARCH_SUPPORTS_MSI=y
204# CONFIG_PCI_MSI is not set
179# CONFIG_PCI_DEBUG is not set 205# CONFIG_PCI_DEBUG is not set
180 206
181# 207#
182# PCCARD (PCMCIA/CardBus) support 208# PCCARD (PCMCIA/CardBus) support
183# 209#
184# CONFIG_PCCARD is not set 210# CONFIG_PCCARD is not set
185
186#
187# PCI Hotplug Support
188#
189# CONFIG_HOTPLUG_PCI is not set 211# CONFIG_HOTPLUG_PCI is not set
190 212
191# 213#
@@ -210,13 +232,13 @@ CONFIG_NET=y
210# 232#
211# Networking options 233# Networking options
212# 234#
213# CONFIG_NETDEBUG is not set
214CONFIG_PACKET=y 235CONFIG_PACKET=y
215# CONFIG_PACKET_MMAP is not set 236# CONFIG_PACKET_MMAP is not set
216CONFIG_UNIX=y 237CONFIG_UNIX=y
217CONFIG_XFRM=y 238CONFIG_XFRM=y
218CONFIG_XFRM_USER=y 239CONFIG_XFRM_USER=y
219# CONFIG_XFRM_SUB_POLICY is not set 240# CONFIG_XFRM_SUB_POLICY is not set
241# CONFIG_XFRM_MIGRATE is not set
220# CONFIG_NET_KEY is not set 242# CONFIG_NET_KEY is not set
221CONFIG_INET=y 243CONFIG_INET=y
222# CONFIG_IP_MULTICAST is not set 244# CONFIG_IP_MULTICAST is not set
@@ -234,7 +256,7 @@ CONFIG_IP_PNP_RARP=y
234# CONFIG_INET_ESP is not set 256# CONFIG_INET_ESP is not set
235# CONFIG_INET_IPCOMP is not set 257# CONFIG_INET_IPCOMP is not set
236# CONFIG_INET_XFRM_TUNNEL is not set 258# CONFIG_INET_XFRM_TUNNEL is not set
237# CONFIG_INET_TUNNEL is not set 259CONFIG_INET_TUNNEL=y
238CONFIG_INET_XFRM_MODE_TRANSPORT=y 260CONFIG_INET_XFRM_MODE_TRANSPORT=y
239CONFIG_INET_XFRM_MODE_TUNNEL=y 261CONFIG_INET_XFRM_MODE_TUNNEL=y
240CONFIG_INET_XFRM_MODE_BEET=y 262CONFIG_INET_XFRM_MODE_BEET=y
@@ -247,6 +269,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
247CONFIG_IPV6=y 269CONFIG_IPV6=y
248# CONFIG_IPV6_PRIVACY is not set 270# CONFIG_IPV6_PRIVACY is not set
249# CONFIG_IPV6_ROUTER_PREF is not set 271# CONFIG_IPV6_ROUTER_PREF is not set
272# CONFIG_IPV6_OPTIMISTIC_DAD is not set
250# CONFIG_INET6_AH is not set 273# CONFIG_INET6_AH is not set
251# CONFIG_INET6_ESP is not set 274# CONFIG_INET6_ESP is not set
252# CONFIG_INET6_IPCOMP is not set 275# CONFIG_INET6_IPCOMP is not set
@@ -262,20 +285,8 @@ CONFIG_IPV6_SIT=y
262# CONFIG_IPV6_MULTIPLE_TABLES is not set 285# CONFIG_IPV6_MULTIPLE_TABLES is not set
263# CONFIG_NETWORK_SECMARK is not set 286# CONFIG_NETWORK_SECMARK is not set
264# CONFIG_NETFILTER is not set 287# CONFIG_NETFILTER is not set
265
266#
267# DCCP Configuration (EXPERIMENTAL)
268#
269# CONFIG_IP_DCCP is not set 288# CONFIG_IP_DCCP is not set
270
271#
272# SCTP Configuration (EXPERIMENTAL)
273#
274# CONFIG_IP_SCTP is not set 289# CONFIG_IP_SCTP is not set
275
276#
277# TIPC Configuration (EXPERIMENTAL)
278#
279# CONFIG_TIPC is not set 290# CONFIG_TIPC is not set
280# CONFIG_ATM is not set 291# CONFIG_ATM is not set
281# CONFIG_BRIDGE is not set 292# CONFIG_BRIDGE is not set
@@ -301,7 +312,16 @@ CONFIG_IPV6_SIT=y
301# CONFIG_HAMRADIO is not set 312# CONFIG_HAMRADIO is not set
302# CONFIG_IRDA is not set 313# CONFIG_IRDA is not set
303# CONFIG_BT is not set 314# CONFIG_BT is not set
315# CONFIG_AF_RXRPC is not set
316
317#
318# Wireless
319#
320# CONFIG_CFG80211 is not set
321# CONFIG_WIRELESS_EXT is not set
322# CONFIG_MAC80211 is not set
304# CONFIG_IEEE80211 is not set 323# CONFIG_IEEE80211 is not set
324# CONFIG_RFKILL is not set
305 325
306# 326#
307# Device Drivers 327# Device Drivers
@@ -314,16 +334,13 @@ CONFIG_STANDALONE=y
314CONFIG_PREVENT_FIRMWARE_BUILD=y 334CONFIG_PREVENT_FIRMWARE_BUILD=y
315CONFIG_FW_LOADER=y 335CONFIG_FW_LOADER=y
316# CONFIG_DEBUG_DRIVER is not set 336# CONFIG_DEBUG_DRIVER is not set
337# CONFIG_DEBUG_DEVRES is not set
317# CONFIG_SYS_HYPERVISOR is not set 338# CONFIG_SYS_HYPERVISOR is not set
318 339
319# 340#
320# Connector - unified userspace <-> kernelspace linker 341# Connector - unified userspace <-> kernelspace linker
321# 342#
322# CONFIG_CONNECTOR is not set 343# CONFIG_CONNECTOR is not set
323
324#
325# Memory Technology Devices (MTD)
326#
327# CONFIG_MTD is not set 344# CONFIG_MTD is not set
328 345
329# 346#
@@ -334,6 +351,7 @@ CONFIG_FW_LOADER=y
334# 351#
335# Plug and Play support 352# Plug and Play support
336# 353#
354# CONFIG_PNPACPI is not set
337 355
338# 356#
339# Block devices 357# Block devices
@@ -352,19 +370,16 @@ CONFIG_BLK_DEV_RAM=y
352CONFIG_BLK_DEV_RAM_COUNT=16 370CONFIG_BLK_DEV_RAM_COUNT=16
353CONFIG_BLK_DEV_RAM_SIZE=131072 371CONFIG_BLK_DEV_RAM_SIZE=131072
354CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 372CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
355CONFIG_BLK_DEV_INITRD=y
356# CONFIG_CDROM_PKTCDVD is not set 373# CONFIG_CDROM_PKTCDVD is not set
357# CONFIG_ATA_OVER_ETH is not set 374# CONFIG_ATA_OVER_ETH is not set
358 375
359# 376#
360# Misc devices 377# Misc devices
361# 378#
379# CONFIG_PHANTOM is not set
362# CONFIG_SGI_IOC4 is not set 380# CONFIG_SGI_IOC4 is not set
363# CONFIG_TIFM_CORE is not set 381# CONFIG_TIFM_CORE is not set
364 382# CONFIG_BLINK is not set
365#
366# ATA/ATAPI/MFM/RLL support
367#
368# CONFIG_IDE is not set 383# CONFIG_IDE is not set
369 384
370# 385#
@@ -373,10 +388,6 @@ CONFIG_BLK_DEV_INITRD=y
373# CONFIG_RAID_ATTRS is not set 388# CONFIG_RAID_ATTRS is not set
374# CONFIG_SCSI is not set 389# CONFIG_SCSI is not set
375# CONFIG_SCSI_NETLINK is not set 390# CONFIG_SCSI_NETLINK is not set
376
377#
378# Serial ATA (prod) and Parallel ATA (experimental) drivers
379#
380# CONFIG_ATA is not set 391# CONFIG_ATA is not set
381 392
382# 393#
@@ -392,18 +403,14 @@ CONFIG_BLK_DEV_INITRD=y
392# 403#
393# IEEE 1394 (FireWire) support 404# IEEE 1394 (FireWire) support
394# 405#
406# CONFIG_FIREWIRE is not set
395# CONFIG_IEEE1394 is not set 407# CONFIG_IEEE1394 is not set
396 408
397# 409#
398# I2O device support 410# I2O device support
399# 411#
400# CONFIG_I2O is not set 412# CONFIG_I2O is not set
401 413# CONFIG_MACINTOSH_DRIVERS is not set
402#
403# Macintosh device drivers
404#
405# CONFIG_MAC_EMUMOUSEBTN is not set
406# CONFIG_WINDFARM is not set
407 414
408# 415#
409# Network device support 416# Network device support
@@ -413,15 +420,7 @@ CONFIG_DUMMY=y
413# CONFIG_BONDING is not set 420# CONFIG_BONDING is not set
414# CONFIG_EQUALIZER is not set 421# CONFIG_EQUALIZER is not set
415# CONFIG_TUN is not set 422# CONFIG_TUN is not set
416
417#
418# ARCnet devices
419#
420# CONFIG_ARCNET is not set 423# CONFIG_ARCNET is not set
421
422#
423# PHY device support
424#
425CONFIG_PHYLIB=y 424CONFIG_PHYLIB=y
426 425
427# 426#
@@ -453,10 +452,7 @@ CONFIG_MII=y
453# CONFIG_NET_TULIP is not set 452# CONFIG_NET_TULIP is not set
454# CONFIG_HP100 is not set 453# CONFIG_HP100 is not set
455# CONFIG_NET_PCI is not set 454# CONFIG_NET_PCI is not set
456 455CONFIG_NETDEV_1000=y
457#
458# Ethernet (1000 Mbit)
459#
460# CONFIG_ACENIC is not set 456# CONFIG_ACENIC is not set
461# CONFIG_DL2K is not set 457# CONFIG_DL2K is not set
462# CONFIG_E1000 is not set 458# CONFIG_E1000 is not set
@@ -468,34 +464,28 @@ CONFIG_MII=y
468# CONFIG_SKGE is not set 464# CONFIG_SKGE is not set
469# CONFIG_SKY2 is not set 465# CONFIG_SKY2 is not set
470# CONFIG_SK98LIN is not set 466# CONFIG_SK98LIN is not set
467# CONFIG_VIA_VELOCITY is not set
471# CONFIG_TIGON3 is not set 468# CONFIG_TIGON3 is not set
472# CONFIG_BNX2 is not set 469# CONFIG_BNX2 is not set
473CONFIG_GIANFAR=y 470CONFIG_GIANFAR=y
474# CONFIG_GFAR_NAPI is not set 471# CONFIG_GFAR_NAPI is not set
475# CONFIG_QLA3XXX is not set 472# CONFIG_QLA3XXX is not set
476 473# CONFIG_ATL1 is not set
477# 474CONFIG_NETDEV_10000=y
478# Ethernet (10000 Mbit)
479#
480# CONFIG_CHELSIO_T1 is not set 475# CONFIG_CHELSIO_T1 is not set
476# CONFIG_CHELSIO_T3 is not set
481# CONFIG_IXGB is not set 477# CONFIG_IXGB is not set
482# CONFIG_S2IO is not set 478# CONFIG_S2IO is not set
483# CONFIG_MYRI10GE is not set 479# CONFIG_MYRI10GE is not set
484# CONFIG_NETXEN_NIC is not set 480# CONFIG_NETXEN_NIC is not set
485 481# CONFIG_MLX4_CORE is not set
486#
487# Token Ring devices
488#
489# CONFIG_TR is not set 482# CONFIG_TR is not set
490 483
491# 484#
492# Wireless LAN (non-hamradio) 485# Wireless LAN
493#
494# CONFIG_NET_RADIO is not set
495
496#
497# Wan interfaces
498# 486#
487# CONFIG_WLAN_PRE80211 is not set
488# CONFIG_WLAN_80211 is not set
499# CONFIG_WAN is not set 489# CONFIG_WAN is not set
500# CONFIG_FDDI is not set 490# CONFIG_FDDI is not set
501# CONFIG_HIPPI is not set 491# CONFIG_HIPPI is not set
@@ -521,6 +511,7 @@ CONFIG_GIANFAR=y
521# 511#
522CONFIG_INPUT=y 512CONFIG_INPUT=y
523# CONFIG_INPUT_FF_MEMLESS is not set 513# CONFIG_INPUT_FF_MEMLESS is not set
514# CONFIG_INPUT_POLLDEV is not set
524 515
525# 516#
526# Userland interfaces 517# Userland interfaces
@@ -537,6 +528,7 @@ CONFIG_INPUT=y
537# CONFIG_INPUT_KEYBOARD is not set 528# CONFIG_INPUT_KEYBOARD is not set
538# CONFIG_INPUT_MOUSE is not set 529# CONFIG_INPUT_MOUSE is not set
539# CONFIG_INPUT_JOYSTICK is not set 530# CONFIG_INPUT_JOYSTICK is not set
531# CONFIG_INPUT_TABLET is not set
540# CONFIG_INPUT_TOUCHSCREEN is not set 532# CONFIG_INPUT_TOUCHSCREEN is not set
541# CONFIG_INPUT_MISC is not set 533# CONFIG_INPUT_MISC is not set
542 534
@@ -581,6 +573,7 @@ CONFIG_SERIAL_8250_RSA=y
581CONFIG_SERIAL_CORE=y 573CONFIG_SERIAL_CORE=y
582CONFIG_SERIAL_CORE_CONSOLE=y 574CONFIG_SERIAL_CORE_CONSOLE=y
583# CONFIG_SERIAL_JSM is not set 575# CONFIG_SERIAL_JSM is not set
576# CONFIG_SERIAL_OF_PLATFORM is not set
584CONFIG_UNIX98_PTYS=y 577CONFIG_UNIX98_PTYS=y
585# CONFIG_LEGACY_PTYS is not set 578# CONFIG_LEGACY_PTYS is not set
586 579
@@ -588,15 +581,10 @@ CONFIG_UNIX98_PTYS=y
588# IPMI 581# IPMI
589# 582#
590# CONFIG_IPMI_HANDLER is not set 583# CONFIG_IPMI_HANDLER is not set
591
592#
593# Watchdog Cards
594#
595# CONFIG_WATCHDOG is not set 584# CONFIG_WATCHDOG is not set
596# CONFIG_HW_RANDOM is not set 585# CONFIG_HW_RANDOM is not set
597# CONFIG_NVRAM is not set 586# CONFIG_NVRAM is not set
598# CONFIG_GEN_RTC is not set 587# CONFIG_GEN_RTC is not set
599# CONFIG_DTLK is not set
600# CONFIG_R3964 is not set 588# CONFIG_R3964 is not set
601# CONFIG_APPLICOM is not set 589# CONFIG_APPLICOM is not set
602# CONFIG_AGP is not set 590# CONFIG_AGP is not set
@@ -607,11 +595,9 @@ CONFIG_UNIX98_PTYS=y
607# TPM devices 595# TPM devices
608# 596#
609# CONFIG_TCG_TPM is not set 597# CONFIG_TCG_TPM is not set
610 598CONFIG_DEVPORT=y
611#
612# I2C support
613#
614CONFIG_I2C=y 599CONFIG_I2C=y
600CONFIG_I2C_BOARDINFO=y
615# CONFIG_I2C_CHARDEV is not set 601# CONFIG_I2C_CHARDEV is not set
616 602
617# 603#
@@ -638,13 +624,13 @@ CONFIG_I2C_MPC=y
638# CONFIG_I2C_PARPORT_LIGHT is not set 624# CONFIG_I2C_PARPORT_LIGHT is not set
639# CONFIG_I2C_PROSAVAGE is not set 625# CONFIG_I2C_PROSAVAGE is not set
640# CONFIG_I2C_SAVAGE4 is not set 626# CONFIG_I2C_SAVAGE4 is not set
627# CONFIG_I2C_SIMTEC is not set
641# CONFIG_I2C_SIS5595 is not set 628# CONFIG_I2C_SIS5595 is not set
642# CONFIG_I2C_SIS630 is not set 629# CONFIG_I2C_SIS630 is not set
643# CONFIG_I2C_SIS96X is not set 630# CONFIG_I2C_SIS96X is not set
644# CONFIG_I2C_VIA is not set 631# CONFIG_I2C_VIA is not set
645# CONFIG_I2C_VIAPRO is not set 632# CONFIG_I2C_VIAPRO is not set
646# CONFIG_I2C_VOODOO3 is not set 633# CONFIG_I2C_VOODOO3 is not set
647# CONFIG_I2C_PCA_ISA is not set
648 634
649# 635#
650# Miscellaneous I2C Chip support 636# Miscellaneous I2C Chip support
@@ -672,27 +658,30 @@ CONFIG_SENSORS_EEPROM=y
672# Dallas's 1-wire bus 658# Dallas's 1-wire bus
673# 659#
674# CONFIG_W1 is not set 660# CONFIG_W1 is not set
661# CONFIG_HWMON is not set
675 662
676# 663#
677# Hardware Monitoring support 664# Multifunction device drivers
678# 665#
679# CONFIG_HWMON is not set 666# CONFIG_MFD_SM501 is not set
680# CONFIG_HWMON_VID is not set
681 667
682# 668#
683# Multimedia devices 669# Multimedia devices
684# 670#
685# CONFIG_VIDEO_DEV is not set 671# CONFIG_VIDEO_DEV is not set
672# CONFIG_DVB_CORE is not set
673CONFIG_DAB=y
686 674
687# 675#
688# Digital Video Broadcasting Devices 676# Graphics support
689# 677#
690# CONFIG_DVB is not set 678# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
691 679
692# 680#
693# Graphics support 681# Display device support
694# 682#
695CONFIG_FIRMWARE_EDID=y 683# CONFIG_DISPLAY_SUPPORT is not set
684# CONFIG_VGASTATE is not set
696# CONFIG_FB is not set 685# CONFIG_FB is not set
697# CONFIG_FB_IBM_GXT4500 is not set 686# CONFIG_FB_IBM_GXT4500 is not set
698 687
@@ -702,7 +691,6 @@ CONFIG_FIRMWARE_EDID=y
702CONFIG_VGA_CONSOLE=y 691CONFIG_VGA_CONSOLE=y
703# CONFIG_VGACON_SOFT_SCROLLBACK is not set 692# CONFIG_VGACON_SOFT_SCROLLBACK is not set
704CONFIG_DUMMY_CONSOLE=y 693CONFIG_DUMMY_CONSOLE=y
705# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
706 694
707# 695#
708# Sound 696# Sound
@@ -713,6 +701,7 @@ CONFIG_DUMMY_CONSOLE=y
713# HID Devices 701# HID Devices
714# 702#
715CONFIG_HID=y 703CONFIG_HID=y
704# CONFIG_HID_DEBUG is not set
716 705
717# 706#
718# USB support 707# USB support
@@ -730,10 +719,6 @@ CONFIG_USB_ARCH_HAS_EHCI=y
730# USB Gadget Support 719# USB Gadget Support
731# 720#
732# CONFIG_USB_GADGET is not set 721# CONFIG_USB_GADGET is not set
733
734#
735# MMC/SD Card support
736#
737# CONFIG_MMC is not set 722# CONFIG_MMC is not set
738 723
739# 724#
@@ -777,10 +762,6 @@ CONFIG_USB_ARCH_HAS_EHCI=y
777# 762#
778 763
779# 764#
780# Virtualization
781#
782
783#
784# File systems 765# File systems
785# 766#
786CONFIG_EXT2_FS=y 767CONFIG_EXT2_FS=y
@@ -869,6 +850,7 @@ CONFIG_LOCKD_V4=y
869CONFIG_EXPORTFS=y 850CONFIG_EXPORTFS=y
870CONFIG_NFS_COMMON=y 851CONFIG_NFS_COMMON=y
871CONFIG_SUNRPC=y 852CONFIG_SUNRPC=y
853# CONFIG_SUNRPC_BIND34 is not set
872# CONFIG_RPCSEC_GSS_KRB5 is not set 854# CONFIG_RPCSEC_GSS_KRB5 is not set
873# CONFIG_RPCSEC_GSS_SPKM3 is not set 855# CONFIG_RPCSEC_GSS_SPKM3 is not set
874# CONFIG_SMB_FS is not set 856# CONFIG_SMB_FS is not set
@@ -899,6 +881,7 @@ CONFIG_LDM_PARTITION=y
899# CONFIG_SUN_PARTITION is not set 881# CONFIG_SUN_PARTITION is not set
900# CONFIG_KARMA_PARTITION is not set 882# CONFIG_KARMA_PARTITION is not set
901# CONFIG_EFI_PARTITION is not set 883# CONFIG_EFI_PARTITION is not set
884# CONFIG_SYSV68_PARTITION is not set
902 885
903# 886#
904# Native Language Support 887# Native Language Support
@@ -948,6 +931,7 @@ CONFIG_NLS_DEFAULT="iso8859-1"
948# Distributed Lock Manager 931# Distributed Lock Manager
949# 932#
950# CONFIG_DLM is not set 933# CONFIG_DLM is not set
934# CONFIG_UCC_SLOW is not set
951 935
952# 936#
953# Library routines 937# Library routines
@@ -955,10 +939,13 @@ CONFIG_NLS_DEFAULT="iso8859-1"
955CONFIG_BITREVERSE=y 939CONFIG_BITREVERSE=y
956# CONFIG_CRC_CCITT is not set 940# CONFIG_CRC_CCITT is not set
957# CONFIG_CRC16 is not set 941# CONFIG_CRC16 is not set
942# CONFIG_CRC_ITU_T is not set
958CONFIG_CRC32=y 943CONFIG_CRC32=y
959# CONFIG_LIBCRC32C is not set 944# CONFIG_LIBCRC32C is not set
960CONFIG_PLIST=y 945CONFIG_PLIST=y
961CONFIG_IOMAP_COPY=y 946CONFIG_HAS_IOMEM=y
947CONFIG_HAS_IOPORT=y
948CONFIG_HAS_DMA=y
962 949
963# 950#
964# Instrumentation Support 951# Instrumentation Support
@@ -975,15 +962,15 @@ CONFIG_ENABLE_MUST_CHECK=y
975# CONFIG_DEBUG_FS is not set 962# CONFIG_DEBUG_FS is not set
976# CONFIG_HEADERS_CHECK is not set 963# CONFIG_HEADERS_CHECK is not set
977CONFIG_DEBUG_KERNEL=y 964CONFIG_DEBUG_KERNEL=y
978CONFIG_LOG_BUF_SHIFT=14 965# CONFIG_DEBUG_SHIRQ is not set
979CONFIG_DETECT_SOFTLOCKUP=y 966CONFIG_DETECT_SOFTLOCKUP=y
980# CONFIG_SCHEDSTATS is not set 967# CONFIG_SCHEDSTATS is not set
968# CONFIG_TIMER_STATS is not set
981# CONFIG_DEBUG_SLAB is not set 969# CONFIG_DEBUG_SLAB is not set
982# CONFIG_DEBUG_RT_MUTEXES is not set 970# CONFIG_DEBUG_RT_MUTEXES is not set
983# CONFIG_RT_MUTEX_TESTER is not set 971# CONFIG_RT_MUTEX_TESTER is not set
984# CONFIG_DEBUG_SPINLOCK is not set 972# CONFIG_DEBUG_SPINLOCK is not set
985# CONFIG_DEBUG_MUTEXES is not set 973# CONFIG_DEBUG_MUTEXES is not set
986# CONFIG_DEBUG_RWSEMS is not set
987# CONFIG_DEBUG_SPINLOCK_SLEEP is not set 974# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
988# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set 975# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
989# CONFIG_DEBUG_KOBJECT is not set 976# CONFIG_DEBUG_KOBJECT is not set
@@ -993,7 +980,10 @@ CONFIG_DETECT_SOFTLOCKUP=y
993# CONFIG_DEBUG_VM is not set 980# CONFIG_DEBUG_VM is not set
994# CONFIG_DEBUG_LIST is not set 981# CONFIG_DEBUG_LIST is not set
995CONFIG_FORCED_INLINING=y 982CONFIG_FORCED_INLINING=y
996# CONFIG_RCU_TORTURE_TEST is not set 983# CONFIG_FAULT_INJECTION is not set
984# CONFIG_DEBUG_STACKOVERFLOW is not set
985# CONFIG_DEBUG_STACK_USAGE is not set
986# CONFIG_DEBUG_PAGEALLOC is not set
997# CONFIG_DEBUGGER is not set 987# CONFIG_DEBUGGER is not set
998# CONFIG_BDI_SWITCH is not set 988# CONFIG_BDI_SWITCH is not set
999# CONFIG_BOOTX_TEXT is not set 989# CONFIG_BOOTX_TEXT is not set
diff --git a/arch/powerpc/configs/mpc866_ads_defconfig b/arch/powerpc/configs/mpc866_ads_defconfig
index 539d9e3d3668..e6b18ea8f643 100644
--- a/arch/powerpc/configs/mpc866_ads_defconfig
+++ b/arch/powerpc/configs/mpc866_ads_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.19-rc6 3# Linux kernel version: 2.6.22-rc7
4# Fri Nov 24 21:13:55 2006 4# Sun Jul 1 23:57:00 2007
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7CONFIG_PPC32=y 7CONFIG_PPC32=y
@@ -10,6 +10,7 @@ CONFIG_MMU=y
10CONFIG_GENERIC_HARDIRQS=y 10CONFIG_GENERIC_HARDIRQS=y
11CONFIG_IRQ_PER_CPU=y 11CONFIG_IRQ_PER_CPU=y
12CONFIG_RWSEM_XCHGADD_ALGORITHM=y 12CONFIG_RWSEM_XCHGADD_ALGORITHM=y
13CONFIG_ARCH_HAS_ILOG2_U32=y
13CONFIG_GENERIC_HWEIGHT=y 14CONFIG_GENERIC_HWEIGHT=y
14CONFIG_GENERIC_CALIBRATE_DELAY=y 15CONFIG_GENERIC_CALIBRATE_DELAY=y
15CONFIG_GENERIC_FIND_NEXT_BIT=y 16CONFIG_GENERIC_FIND_NEXT_BIT=y
@@ -28,7 +29,6 @@ CONFIG_AUDIT_ARCH=y
28# Processor support 29# Processor support
29# 30#
30# CONFIG_CLASSIC32 is not set 31# CONFIG_CLASSIC32 is not set
31# CONFIG_PPC_52xx is not set
32# CONFIG_PPC_82xx is not set 32# CONFIG_PPC_82xx is not set
33# CONFIG_PPC_83xx is not set 33# CONFIG_PPC_83xx is not set
34# CONFIG_PPC_85xx is not set 34# CONFIG_PPC_85xx is not set
@@ -40,6 +40,7 @@ CONFIG_PPC_8xx=y
40CONFIG_8xx=y 40CONFIG_8xx=y
41# CONFIG_PPC_DCR_NATIVE is not set 41# CONFIG_PPC_DCR_NATIVE is not set
42# CONFIG_PPC_DCR_MMIO is not set 42# CONFIG_PPC_DCR_MMIO is not set
43# CONFIG_PPC_MM_SLICES is not set
43CONFIG_NOT_COHERENT_CACHE=y 44CONFIG_NOT_COHERENT_CACHE=y
44CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 45CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
45 46
@@ -58,14 +59,17 @@ CONFIG_LOCALVERSION_AUTO=y
58# CONFIG_SWAP is not set 59# CONFIG_SWAP is not set
59CONFIG_SYSVIPC=y 60CONFIG_SYSVIPC=y
60# CONFIG_IPC_NS is not set 61# CONFIG_IPC_NS is not set
62CONFIG_SYSVIPC_SYSCTL=y
61# CONFIG_POSIX_MQUEUE is not set 63# CONFIG_POSIX_MQUEUE is not set
62# CONFIG_BSD_PROCESS_ACCT is not set 64# CONFIG_BSD_PROCESS_ACCT is not set
63# CONFIG_TASKSTATS is not set 65# CONFIG_TASKSTATS is not set
64# CONFIG_UTS_NS is not set 66# CONFIG_UTS_NS is not set
65# CONFIG_AUDIT is not set 67# CONFIG_AUDIT is not set
66# CONFIG_IKCONFIG is not set 68# CONFIG_IKCONFIG is not set
69CONFIG_LOG_BUF_SHIFT=14
70CONFIG_SYSFS_DEPRECATED=y
67# CONFIG_RELAY is not set 71# CONFIG_RELAY is not set
68CONFIG_INITRAMFS_SOURCE="" 72# CONFIG_BLK_DEV_INITRD is not set
69# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 73# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
70CONFIG_SYSCTL=y 74CONFIG_SYSCTL=y
71CONFIG_EMBEDDED=y 75CONFIG_EMBEDDED=y
@@ -78,14 +82,19 @@ CONFIG_PRINTK=y
78CONFIG_ELF_CORE=y 82CONFIG_ELF_CORE=y
79# CONFIG_BASE_FULL is not set 83# CONFIG_BASE_FULL is not set
80CONFIG_FUTEX=y 84CONFIG_FUTEX=y
85CONFIG_ANON_INODES=y
81# CONFIG_EPOLL is not set 86# CONFIG_EPOLL is not set
87CONFIG_SIGNALFD=y
88CONFIG_TIMERFD=y
89CONFIG_EVENTFD=y
82CONFIG_SHMEM=y 90CONFIG_SHMEM=y
83CONFIG_SLAB=y
84# CONFIG_VM_EVENT_COUNTERS is not set 91# CONFIG_VM_EVENT_COUNTERS is not set
92CONFIG_SLAB=y
93# CONFIG_SLUB is not set
94# CONFIG_SLOB is not set
85CONFIG_RT_MUTEXES=y 95CONFIG_RT_MUTEXES=y
86# CONFIG_TINY_SHMEM is not set 96# CONFIG_TINY_SHMEM is not set
87CONFIG_BASE_SMALL=1 97CONFIG_BASE_SMALL=1
88# CONFIG_SLOB is not set
89 98
90# 99#
91# Loadable module support 100# Loadable module support
@@ -112,13 +121,14 @@ CONFIG_DEFAULT_AS=y
112# CONFIG_DEFAULT_CFQ is not set 121# CONFIG_DEFAULT_CFQ is not set
113# CONFIG_DEFAULT_NOOP is not set 122# CONFIG_DEFAULT_NOOP is not set
114CONFIG_DEFAULT_IOSCHED="anticipatory" 123CONFIG_DEFAULT_IOSCHED="anticipatory"
115# CONFIG_WANT_EARLY_SERIAL is not set
116CONFIG_EMBEDDEDBOOT=y
117# CONFIG_MPIC is not set
118 124
119# 125#
120# Platform support 126# Platform support
121# 127#
128# CONFIG_PPC_MPC52xx is not set
129# CONFIG_PPC_MPC5200 is not set
130# CONFIG_PPC_CELL is not set
131# CONFIG_PPC_CELL_NATIVE is not set
122CONFIG_CPM1=y 132CONFIG_CPM1=y
123# CONFIG_MPC8XXFADS is not set 133# CONFIG_MPC8XXFADS is not set
124CONFIG_MPC86XADS=y 134CONFIG_MPC86XADS=y
@@ -137,6 +147,18 @@ CONFIG_NO_UCODE_PATCH=y
137# CONFIG_USB_SOF_UCODE_PATCH is not set 147# CONFIG_USB_SOF_UCODE_PATCH is not set
138# CONFIG_I2C_SPI_UCODE_PATCH is not set 148# CONFIG_I2C_SPI_UCODE_PATCH is not set
139# CONFIG_I2C_SPI_SMC1_UCODE_PATCH is not set 149# CONFIG_I2C_SPI_SMC1_UCODE_PATCH is not set
150# CONFIG_PQ2ADS is not set
151# CONFIG_MPIC is not set
152# CONFIG_MPIC_WEIRD is not set
153# CONFIG_PPC_I8259 is not set
154# CONFIG_PPC_RTAS is not set
155# CONFIG_MMIO_NVRAM is not set
156# CONFIG_PPC_MPC106 is not set
157# CONFIG_PPC_970_NAP is not set
158# CONFIG_PPC_INDIRECT_IO is not set
159# CONFIG_GENERIC_IOMAP is not set
160# CONFIG_CPU_FREQ is not set
161# CONFIG_CPM2 is not set
140 162
141# 163#
142# Kernel options 164# Kernel options
@@ -144,6 +166,7 @@ CONFIG_NO_UCODE_PATCH=y
144# CONFIG_HIGHMEM is not set 166# CONFIG_HIGHMEM is not set
145# CONFIG_HZ_100 is not set 167# CONFIG_HZ_100 is not set
146# CONFIG_HZ_250 is not set 168# CONFIG_HZ_250 is not set
169# CONFIG_HZ_300 is not set
147CONFIG_HZ_1000=y 170CONFIG_HZ_1000=y
148CONFIG_HZ=1000 171CONFIG_HZ=1000
149CONFIG_PREEMPT_NONE=y 172CONFIG_PREEMPT_NONE=y
@@ -164,31 +187,29 @@ CONFIG_FLAT_NODE_MEM_MAP=y
164# CONFIG_SPARSEMEM_STATIC is not set 187# CONFIG_SPARSEMEM_STATIC is not set
165CONFIG_SPLIT_PTLOCK_CPUS=4 188CONFIG_SPLIT_PTLOCK_CPUS=4
166# CONFIG_RESOURCES_64BIT is not set 189# CONFIG_RESOURCES_64BIT is not set
190CONFIG_ZONE_DMA_FLAG=1
167# CONFIG_PROC_DEVICETREE is not set 191# CONFIG_PROC_DEVICETREE is not set
168# CONFIG_CMDLINE_BOOL is not set 192# CONFIG_CMDLINE_BOOL is not set
169# CONFIG_PM is not set 193# CONFIG_PM is not set
170# CONFIG_SECCOMP is not set 194# CONFIG_SECCOMP is not set
195# CONFIG_WANT_DEVICE_TREE is not set
171CONFIG_ISA_DMA_API=y 196CONFIG_ISA_DMA_API=y
172 197
173# 198#
174# Bus options 199# Bus options
175# 200#
176# CONFIG_MPIC_WEIRD is not set 201CONFIG_ZONE_DMA=y
177# CONFIG_PPC_I8259 is not set
178CONFIG_FSL_SOC=y 202CONFIG_FSL_SOC=y
179# CONFIG_PCI is not set 203# CONFIG_PCI is not set
180# CONFIG_PCI_DOMAINS is not set 204# CONFIG_PCI_DOMAINS is not set
181# CONFIG_PCI_QSPAN is not set 205# CONFIG_PCI_QSPAN is not set
206# CONFIG_ARCH_SUPPORTS_MSI is not set
182 207
183# 208#
184# PCCARD (PCMCIA/CardBus) support 209# PCCARD (PCMCIA/CardBus) support
185# 210#
186 211
187# 212#
188# PCI Hotplug Support
189#
190
191#
192# Advanced setup 213# Advanced setup
193# 214#
194# CONFIG_ADVANCED_OPTIONS is not set 215# CONFIG_ADVANCED_OPTIONS is not set
@@ -212,13 +233,13 @@ CONFIG_NET=y
212# 233#
213# Networking options 234# Networking options
214# 235#
215# CONFIG_NETDEBUG is not set
216CONFIG_PACKET=y 236CONFIG_PACKET=y
217# CONFIG_PACKET_MMAP is not set 237# CONFIG_PACKET_MMAP is not set
218CONFIG_UNIX=y 238CONFIG_UNIX=y
219CONFIG_XFRM=y 239CONFIG_XFRM=y
220# CONFIG_XFRM_USER is not set 240# CONFIG_XFRM_USER is not set
221# CONFIG_XFRM_SUB_POLICY is not set 241# CONFIG_XFRM_SUB_POLICY is not set
242# CONFIG_XFRM_MIGRATE is not set
222# CONFIG_NET_KEY is not set 243# CONFIG_NET_KEY is not set
223CONFIG_INET=y 244CONFIG_INET=y
224CONFIG_IP_MULTICAST=y 245CONFIG_IP_MULTICAST=y
@@ -246,25 +267,14 @@ CONFIG_INET_TCP_DIAG=y
246# CONFIG_TCP_CONG_ADVANCED is not set 267# CONFIG_TCP_CONG_ADVANCED is not set
247CONFIG_TCP_CONG_CUBIC=y 268CONFIG_TCP_CONG_CUBIC=y
248CONFIG_DEFAULT_TCP_CONG="cubic" 269CONFIG_DEFAULT_TCP_CONG="cubic"
270# CONFIG_TCP_MD5SIG is not set
249# CONFIG_IPV6 is not set 271# CONFIG_IPV6 is not set
250# CONFIG_INET6_XFRM_TUNNEL is not set 272# CONFIG_INET6_XFRM_TUNNEL is not set
251# CONFIG_INET6_TUNNEL is not set 273# CONFIG_INET6_TUNNEL is not set
252# CONFIG_NETWORK_SECMARK is not set 274# CONFIG_NETWORK_SECMARK is not set
253# CONFIG_NETFILTER is not set 275# CONFIG_NETFILTER is not set
254
255#
256# DCCP Configuration (EXPERIMENTAL)
257#
258# CONFIG_IP_DCCP is not set 276# CONFIG_IP_DCCP is not set
259
260#
261# SCTP Configuration (EXPERIMENTAL)
262#
263# CONFIG_IP_SCTP is not set 277# CONFIG_IP_SCTP is not set
264
265#
266# TIPC Configuration (EXPERIMENTAL)
267#
268# CONFIG_TIPC is not set 278# CONFIG_TIPC is not set
269# CONFIG_ATM is not set 279# CONFIG_ATM is not set
270# CONFIG_BRIDGE is not set 280# CONFIG_BRIDGE is not set
@@ -290,7 +300,16 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
290# CONFIG_HAMRADIO is not set 300# CONFIG_HAMRADIO is not set
291# CONFIG_IRDA is not set 301# CONFIG_IRDA is not set
292# CONFIG_BT is not set 302# CONFIG_BT is not set
303# CONFIG_AF_RXRPC is not set
304
305#
306# Wireless
307#
308# CONFIG_CFG80211 is not set
309# CONFIG_WIRELESS_EXT is not set
310# CONFIG_MAC80211 is not set
293# CONFIG_IEEE80211 is not set 311# CONFIG_IEEE80211 is not set
312# CONFIG_RFKILL is not set
294 313
295# 314#
296# Device Drivers 315# Device Drivers
@@ -307,10 +326,6 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
307# Connector - unified userspace <-> kernelspace linker 326# Connector - unified userspace <-> kernelspace linker
308# 327#
309# CONFIG_CONNECTOR is not set 328# CONFIG_CONNECTOR is not set
310
311#
312# Memory Technology Devices (MTD)
313#
314# CONFIG_MTD is not set 329# CONFIG_MTD is not set
315 330
316# 331#
@@ -321,6 +336,7 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
321# 336#
322# Plug and Play support 337# Plug and Play support
323# 338#
339# CONFIG_PNPACPI is not set
324 340
325# 341#
326# Block devices 342# Block devices
@@ -331,18 +347,13 @@ CONFIG_BLK_DEV_LOOP=y
331# CONFIG_BLK_DEV_CRYPTOLOOP is not set 347# CONFIG_BLK_DEV_CRYPTOLOOP is not set
332# CONFIG_BLK_DEV_NBD is not set 348# CONFIG_BLK_DEV_NBD is not set
333# CONFIG_BLK_DEV_RAM is not set 349# CONFIG_BLK_DEV_RAM is not set
334# CONFIG_BLK_DEV_INITRD is not set
335# CONFIG_CDROM_PKTCDVD is not set 350# CONFIG_CDROM_PKTCDVD is not set
336# CONFIG_ATA_OVER_ETH is not set 351# CONFIG_ATA_OVER_ETH is not set
337 352
338# 353#
339# Misc devices 354# Misc devices
340# 355#
341# CONFIG_TIFM_CORE is not set 356# CONFIG_BLINK is not set
342
343#
344# ATA/ATAPI/MFM/RLL support
345#
346# CONFIG_IDE is not set 357# CONFIG_IDE is not set
347 358
348# 359#
@@ -351,34 +362,13 @@ CONFIG_BLK_DEV_LOOP=y
351# CONFIG_RAID_ATTRS is not set 362# CONFIG_RAID_ATTRS is not set
352# CONFIG_SCSI is not set 363# CONFIG_SCSI is not set
353# CONFIG_SCSI_NETLINK is not set 364# CONFIG_SCSI_NETLINK is not set
354
355#
356# Serial ATA (prod) and Parallel ATA (experimental) drivers
357#
358# CONFIG_ATA is not set 365# CONFIG_ATA is not set
359 366
360# 367#
361# Multi-device support (RAID and LVM) 368# Multi-device support (RAID and LVM)
362# 369#
363# CONFIG_MD is not set 370# CONFIG_MD is not set
364 371# CONFIG_MACINTOSH_DRIVERS is not set
365#
366# Fusion MPT device support
367#
368# CONFIG_FUSION is not set
369
370#
371# IEEE 1394 (FireWire) support
372#
373
374#
375# I2O device support
376#
377
378#
379# Macintosh device drivers
380#
381# CONFIG_WINDFARM is not set
382 372
383# 373#
384# Network device support 374# Network device support
@@ -388,10 +378,6 @@ CONFIG_NETDEVICES=y
388# CONFIG_BONDING is not set 378# CONFIG_BONDING is not set
389# CONFIG_EQUALIZER is not set 379# CONFIG_EQUALIZER is not set
390# CONFIG_TUN is not set 380# CONFIG_TUN is not set
391
392#
393# PHY device support
394#
395CONFIG_PHYLIB=y 381CONFIG_PHYLIB=y
396 382
397# 383#
@@ -404,6 +390,7 @@ CONFIG_PHYLIB=y
404# CONFIG_CICADA_PHY is not set 390# CONFIG_CICADA_PHY is not set
405# CONFIG_VITESSE_PHY is not set 391# CONFIG_VITESSE_PHY is not set
406# CONFIG_SMSC_PHY is not set 392# CONFIG_SMSC_PHY is not set
393# CONFIG_BROADCOM_PHY is not set
407CONFIG_FIXED_PHY=y 394CONFIG_FIXED_PHY=y
408CONFIG_FIXED_MII_10_FDX=y 395CONFIG_FIXED_MII_10_FDX=y
409CONFIG_FIXED_MII_100_FDX=y 396CONFIG_FIXED_MII_100_FDX=y
@@ -417,27 +404,14 @@ CONFIG_MII=y
417CONFIG_FS_ENET=y 404CONFIG_FS_ENET=y
418CONFIG_FS_ENET_HAS_SCC=y 405CONFIG_FS_ENET_HAS_SCC=y
419CONFIG_FS_ENET_HAS_FEC=y 406CONFIG_FS_ENET_HAS_FEC=y
407CONFIG_NETDEV_1000=y
408CONFIG_NETDEV_10000=y
420 409
421# 410#
422# Ethernet (1000 Mbit) 411# Wireless LAN
423#
424
425#
426# Ethernet (10000 Mbit)
427#
428
429#
430# Token Ring devices
431#
432
433#
434# Wireless LAN (non-hamradio)
435#
436# CONFIG_NET_RADIO is not set
437
438#
439# Wan interfaces
440# 412#
413# CONFIG_WLAN_PRE80211 is not set
414# CONFIG_WLAN_80211 is not set
441# CONFIG_WAN is not set 415# CONFIG_WAN is not set
442# CONFIG_PPP is not set 416# CONFIG_PPP is not set
443# CONFIG_SLIP is not set 417# CONFIG_SLIP is not set
@@ -461,6 +435,7 @@ CONFIG_FS_ENET_HAS_FEC=y
461# 435#
462CONFIG_INPUT=y 436CONFIG_INPUT=y
463# CONFIG_INPUT_FF_MEMLESS is not set 437# CONFIG_INPUT_FF_MEMLESS is not set
438# CONFIG_INPUT_POLLDEV is not set
464 439
465# 440#
466# Userland interfaces 441# Userland interfaces
@@ -486,9 +461,16 @@ CONFIG_KEYBOARD_ATKBD=y
486# CONFIG_KEYBOARD_STOWAWAY is not set 461# CONFIG_KEYBOARD_STOWAWAY is not set
487CONFIG_INPUT_MOUSE=y 462CONFIG_INPUT_MOUSE=y
488CONFIG_MOUSE_PS2=y 463CONFIG_MOUSE_PS2=y
464CONFIG_MOUSE_PS2_ALPS=y
465CONFIG_MOUSE_PS2_LOGIPS2PP=y
466CONFIG_MOUSE_PS2_SYNAPTICS=y
467CONFIG_MOUSE_PS2_LIFEBOOK=y
468CONFIG_MOUSE_PS2_TRACKPOINT=y
469# CONFIG_MOUSE_PS2_TOUCHKIT is not set
489# CONFIG_MOUSE_SERIAL is not set 470# CONFIG_MOUSE_SERIAL is not set
490# CONFIG_MOUSE_VSXXXAA is not set 471# CONFIG_MOUSE_VSXXXAA is not set
491# CONFIG_INPUT_JOYSTICK is not set 472# CONFIG_INPUT_JOYSTICK is not set
473# CONFIG_INPUT_TABLET is not set
492# CONFIG_INPUT_TOUCHSCREEN is not set 474# CONFIG_INPUT_TOUCHSCREEN is not set
493# CONFIG_INPUT_MISC is not set 475# CONFIG_INPUT_MISC is not set
494 476
@@ -516,6 +498,7 @@ CONFIG_SERIO_LIBPS2=y
516# 498#
517# Non-8250 serial port support 499# Non-8250 serial port support
518# 500#
501# CONFIG_SERIAL_UARTLITE is not set
519CONFIG_SERIAL_CORE=y 502CONFIG_SERIAL_CORE=y
520CONFIG_SERIAL_CORE_CONSOLE=y 503CONFIG_SERIAL_CORE_CONSOLE=y
521CONFIG_SERIAL_CPM=y 504CONFIG_SERIAL_CPM=y
@@ -533,31 +516,18 @@ CONFIG_UNIX98_PTYS=y
533# IPMI 516# IPMI
534# 517#
535# CONFIG_IPMI_HANDLER is not set 518# CONFIG_IPMI_HANDLER is not set
536
537#
538# Watchdog Cards
539#
540# CONFIG_WATCHDOG is not set 519# CONFIG_WATCHDOG is not set
541CONFIG_HW_RANDOM=y 520CONFIG_HW_RANDOM=y
542# CONFIG_NVRAM is not set 521# CONFIG_NVRAM is not set
543CONFIG_GEN_RTC=y 522CONFIG_GEN_RTC=y
544# CONFIG_GEN_RTC_X is not set 523# CONFIG_GEN_RTC_X is not set
545# CONFIG_DTLK is not set
546# CONFIG_R3964 is not set 524# CONFIG_R3964 is not set
547
548#
549# Ftape, the floppy tape device driver
550#
551# CONFIG_RAW_DRIVER is not set 525# CONFIG_RAW_DRIVER is not set
552 526
553# 527#
554# TPM devices 528# TPM devices
555# 529#
556# CONFIG_TCG_TPM is not set 530# CONFIG_TCG_TPM is not set
557
558#
559# I2C support
560#
561# CONFIG_I2C is not set 531# CONFIG_I2C is not set
562 532
563# 533#
@@ -570,33 +540,41 @@ CONFIG_GEN_RTC=y
570# Dallas's 1-wire bus 540# Dallas's 1-wire bus
571# 541#
572# CONFIG_W1 is not set 542# CONFIG_W1 is not set
573
574#
575# Hardware Monitoring support
576#
577CONFIG_HWMON=y 543CONFIG_HWMON=y
578# CONFIG_HWMON_VID is not set 544# CONFIG_HWMON_VID is not set
579# CONFIG_SENSORS_ABITUGURU is not set 545# CONFIG_SENSORS_ABITUGURU is not set
580# CONFIG_SENSORS_F71805F is not set 546# CONFIG_SENSORS_F71805F is not set
547# CONFIG_SENSORS_PC87427 is not set
548# CONFIG_SENSORS_SMSC47M1 is not set
549# CONFIG_SENSORS_SMSC47B397 is not set
581# CONFIG_SENSORS_VT1211 is not set 550# CONFIG_SENSORS_VT1211 is not set
551# CONFIG_SENSORS_W83627HF is not set
582# CONFIG_HWMON_DEBUG_CHIP is not set 552# CONFIG_HWMON_DEBUG_CHIP is not set
583 553
584# 554#
555# Multifunction device drivers
556#
557# CONFIG_MFD_SM501 is not set
558
559#
585# Multimedia devices 560# Multimedia devices
586# 561#
587# CONFIG_VIDEO_DEV is not set 562# CONFIG_VIDEO_DEV is not set
563# CONFIG_DVB_CORE is not set
564CONFIG_DAB=y
588 565
589# 566#
590# Digital Video Broadcasting Devices 567# Graphics support
591# 568#
592# CONFIG_DVB is not set 569# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
593 570
594# 571#
595# Graphics support 572# Display device support
596# 573#
597CONFIG_FIRMWARE_EDID=y 574# CONFIG_DISPLAY_SUPPORT is not set
575# CONFIG_VGASTATE is not set
598# CONFIG_FB is not set 576# CONFIG_FB is not set
599# CONFIG_BACKLIGHT_LCD_SUPPORT is not set 577# CONFIG_FB_IBM_GXT4500 is not set
600 578
601# 579#
602# Sound 580# Sound
@@ -604,6 +582,12 @@ CONFIG_FIRMWARE_EDID=y
604# CONFIG_SOUND is not set 582# CONFIG_SOUND is not set
605 583
606# 584#
585# HID Devices
586#
587CONFIG_HID=y
588# CONFIG_HID_DEBUG is not set
589
590#
607# USB support 591# USB support
608# 592#
609# CONFIG_USB_ARCH_HAS_HCD is not set 593# CONFIG_USB_ARCH_HAS_HCD is not set
@@ -618,10 +602,6 @@ CONFIG_FIRMWARE_EDID=y
618# USB Gadget Support 602# USB Gadget Support
619# 603#
620# CONFIG_USB_GADGET is not set 604# CONFIG_USB_GADGET is not set
621
622#
623# MMC/SD Card support
624#
625# CONFIG_MMC is not set 605# CONFIG_MMC is not set
626 606
627# 607#
@@ -752,6 +732,7 @@ CONFIG_LOCKD=y
752CONFIG_LOCKD_V4=y 732CONFIG_LOCKD_V4=y
753CONFIG_NFS_COMMON=y 733CONFIG_NFS_COMMON=y
754CONFIG_SUNRPC=y 734CONFIG_SUNRPC=y
735# CONFIG_SUNRPC_BIND34 is not set
755# CONFIG_RPCSEC_GSS_KRB5 is not set 736# CONFIG_RPCSEC_GSS_KRB5 is not set
756# CONFIG_RPCSEC_GSS_SPKM3 is not set 737# CONFIG_RPCSEC_GSS_SPKM3 is not set
757# CONFIG_SMB_FS is not set 738# CONFIG_SMB_FS is not set
@@ -781,6 +762,7 @@ CONFIG_MSDOS_PARTITION=y
781# CONFIG_SUN_PARTITION is not set 762# CONFIG_SUN_PARTITION is not set
782# CONFIG_KARMA_PARTITION is not set 763# CONFIG_KARMA_PARTITION is not set
783# CONFIG_EFI_PARTITION is not set 764# CONFIG_EFI_PARTITION is not set
765# CONFIG_SYSV68_PARTITION is not set
784 766
785# 767#
786# Native Language Support 768# Native Language Support
@@ -788,14 +770,25 @@ CONFIG_MSDOS_PARTITION=y
788# CONFIG_NLS is not set 770# CONFIG_NLS is not set
789 771
790# 772#
773# Distributed Lock Manager
774#
775# CONFIG_DLM is not set
776# CONFIG_UCC_SLOW is not set
777
778#
791# Library routines 779# Library routines
792# 780#
781CONFIG_BITREVERSE=y
793CONFIG_CRC_CCITT=y 782CONFIG_CRC_CCITT=y
794# CONFIG_CRC16 is not set 783# CONFIG_CRC16 is not set
784# CONFIG_CRC_ITU_T is not set
795CONFIG_CRC32=y 785CONFIG_CRC32=y
796# CONFIG_LIBCRC32C is not set 786# CONFIG_LIBCRC32C is not set
797CONFIG_ZLIB_INFLATE=y 787CONFIG_ZLIB_INFLATE=y
798CONFIG_PLIST=y 788CONFIG_PLIST=y
789CONFIG_HAS_IOMEM=y
790CONFIG_HAS_IOPORT=y
791CONFIG_HAS_DMA=y
799 792
800# 793#
801# Instrumentation Support 794# Instrumentation Support
@@ -809,11 +802,9 @@ CONFIG_PLIST=y
809CONFIG_ENABLE_MUST_CHECK=y 802CONFIG_ENABLE_MUST_CHECK=y
810# CONFIG_MAGIC_SYSRQ is not set 803# CONFIG_MAGIC_SYSRQ is not set
811# CONFIG_UNUSED_SYMBOLS is not set 804# CONFIG_UNUSED_SYMBOLS is not set
812# CONFIG_DEBUG_KERNEL is not set
813CONFIG_LOG_BUF_SHIFT=14
814# CONFIG_DEBUG_FS is not set 805# CONFIG_DEBUG_FS is not set
815# CONFIG_UNWIND_INFO is not set
816# CONFIG_HEADERS_CHECK is not set 806# CONFIG_HEADERS_CHECK is not set
807# CONFIG_DEBUG_KERNEL is not set
817# CONFIG_BOOTX_TEXT is not set 808# CONFIG_BOOTX_TEXT is not set
818# CONFIG_PPC_EARLY_DEBUG is not set 809# CONFIG_PPC_EARLY_DEBUG is not set
819 810
diff --git a/arch/powerpc/configs/mpc885_ads_defconfig b/arch/powerpc/configs/mpc885_ads_defconfig
index e2c17d8da4fc..fc4f9b766aa7 100644
--- a/arch/powerpc/configs/mpc885_ads_defconfig
+++ b/arch/powerpc/configs/mpc885_ads_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.19-rc4 3# Linux kernel version: 2.6.22-rc7
4# Fri Nov 10 21:30:40 2006 4# Sun Jul 1 23:57:01 2007
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7CONFIG_PPC32=y 7CONFIG_PPC32=y
@@ -10,6 +10,7 @@ CONFIG_MMU=y
10CONFIG_GENERIC_HARDIRQS=y 10CONFIG_GENERIC_HARDIRQS=y
11CONFIG_IRQ_PER_CPU=y 11CONFIG_IRQ_PER_CPU=y
12CONFIG_RWSEM_XCHGADD_ALGORITHM=y 12CONFIG_RWSEM_XCHGADD_ALGORITHM=y
13CONFIG_ARCH_HAS_ILOG2_U32=y
13CONFIG_GENERIC_HWEIGHT=y 14CONFIG_GENERIC_HWEIGHT=y
14CONFIG_GENERIC_CALIBRATE_DELAY=y 15CONFIG_GENERIC_CALIBRATE_DELAY=y
15CONFIG_GENERIC_FIND_NEXT_BIT=y 16CONFIG_GENERIC_FIND_NEXT_BIT=y
@@ -28,7 +29,6 @@ CONFIG_AUDIT_ARCH=y
28# Processor support 29# Processor support
29# 30#
30# CONFIG_CLASSIC32 is not set 31# CONFIG_CLASSIC32 is not set
31# CONFIG_PPC_52xx is not set
32# CONFIG_PPC_82xx is not set 32# CONFIG_PPC_82xx is not set
33# CONFIG_PPC_83xx is not set 33# CONFIG_PPC_83xx is not set
34# CONFIG_PPC_85xx is not set 34# CONFIG_PPC_85xx is not set
@@ -38,6 +38,9 @@ CONFIG_PPC_8xx=y
38# CONFIG_44x is not set 38# CONFIG_44x is not set
39# CONFIG_E200 is not set 39# CONFIG_E200 is not set
40CONFIG_8xx=y 40CONFIG_8xx=y
41# CONFIG_PPC_DCR_NATIVE is not set
42# CONFIG_PPC_DCR_MMIO is not set
43# CONFIG_PPC_MM_SLICES is not set
41CONFIG_NOT_COHERENT_CACHE=y 44CONFIG_NOT_COHERENT_CACHE=y
42CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 45CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
43 46
@@ -56,14 +59,17 @@ CONFIG_LOCALVERSION_AUTO=y
56# CONFIG_SWAP is not set 59# CONFIG_SWAP is not set
57CONFIG_SYSVIPC=y 60CONFIG_SYSVIPC=y
58# CONFIG_IPC_NS is not set 61# CONFIG_IPC_NS is not set
62CONFIG_SYSVIPC_SYSCTL=y
59# CONFIG_POSIX_MQUEUE is not set 63# CONFIG_POSIX_MQUEUE is not set
60# CONFIG_BSD_PROCESS_ACCT is not set 64# CONFIG_BSD_PROCESS_ACCT is not set
61# CONFIG_TASKSTATS is not set 65# CONFIG_TASKSTATS is not set
62# CONFIG_UTS_NS is not set 66# CONFIG_UTS_NS is not set
63# CONFIG_AUDIT is not set 67# CONFIG_AUDIT is not set
64# CONFIG_IKCONFIG is not set 68# CONFIG_IKCONFIG is not set
69CONFIG_LOG_BUF_SHIFT=14
70CONFIG_SYSFS_DEPRECATED=y
65# CONFIG_RELAY is not set 71# CONFIG_RELAY is not set
66CONFIG_INITRAMFS_SOURCE="" 72# CONFIG_BLK_DEV_INITRD is not set
67# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 73# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
68CONFIG_SYSCTL=y 74CONFIG_SYSCTL=y
69CONFIG_EMBEDDED=y 75CONFIG_EMBEDDED=y
@@ -76,14 +82,19 @@ CONFIG_PRINTK=y
76CONFIG_ELF_CORE=y 82CONFIG_ELF_CORE=y
77# CONFIG_BASE_FULL is not set 83# CONFIG_BASE_FULL is not set
78CONFIG_FUTEX=y 84CONFIG_FUTEX=y
85CONFIG_ANON_INODES=y
79# CONFIG_EPOLL is not set 86# CONFIG_EPOLL is not set
87CONFIG_SIGNALFD=y
88CONFIG_TIMERFD=y
89CONFIG_EVENTFD=y
80CONFIG_SHMEM=y 90CONFIG_SHMEM=y
81CONFIG_SLAB=y
82# CONFIG_VM_EVENT_COUNTERS is not set 91# CONFIG_VM_EVENT_COUNTERS is not set
92CONFIG_SLAB=y
93# CONFIG_SLUB is not set
94# CONFIG_SLOB is not set
83CONFIG_RT_MUTEXES=y 95CONFIG_RT_MUTEXES=y
84# CONFIG_TINY_SHMEM is not set 96# CONFIG_TINY_SHMEM is not set
85CONFIG_BASE_SMALL=1 97CONFIG_BASE_SMALL=1
86# CONFIG_SLOB is not set
87 98
88# 99#
89# Loadable module support 100# Loadable module support
@@ -110,19 +121,27 @@ CONFIG_DEFAULT_AS=y
110# CONFIG_DEFAULT_CFQ is not set 121# CONFIG_DEFAULT_CFQ is not set
111# CONFIG_DEFAULT_NOOP is not set 122# CONFIG_DEFAULT_NOOP is not set
112CONFIG_DEFAULT_IOSCHED="anticipatory" 123CONFIG_DEFAULT_IOSCHED="anticipatory"
113# CONFIG_WANT_EARLY_SERIAL is not set
114CONFIG_EMBEDDEDBOOT=y
115# CONFIG_MPIC is not set
116 124
117# 125#
118# Platform support 126# Platform support
119# 127#
128# CONFIG_PPC_MPC52xx is not set
129# CONFIG_PPC_MPC5200 is not set
130# CONFIG_PPC_CELL is not set
131# CONFIG_PPC_CELL_NATIVE is not set
120CONFIG_CPM1=y 132CONFIG_CPM1=y
121# CONFIG_MPC8XXFADS is not set 133# CONFIG_MPC8XXFADS is not set
122# CONFIG_MPC86XADS is not set 134# CONFIG_MPC86XADS is not set
123CONFIG_MPC885ADS=y 135CONFIG_MPC885ADS=y
124 136
125# 137#
138# Freescale Ethernet driver platform-specific options
139#
140CONFIG_MPC8xx_SECOND_ETH=y
141CONFIG_MPC8xx_SECOND_ETH_FEC2=y
142# CONFIG_MPC8xx_SECOND_ETH_SCC3 is not set
143
144#
126# MPC8xx CPM Options 145# MPC8xx CPM Options
127# 146#
128 147
@@ -135,6 +154,18 @@ CONFIG_NO_UCODE_PATCH=y
135# CONFIG_USB_SOF_UCODE_PATCH is not set 154# CONFIG_USB_SOF_UCODE_PATCH is not set
136# CONFIG_I2C_SPI_UCODE_PATCH is not set 155# CONFIG_I2C_SPI_UCODE_PATCH is not set
137# CONFIG_I2C_SPI_SMC1_UCODE_PATCH is not set 156# CONFIG_I2C_SPI_SMC1_UCODE_PATCH is not set
157# CONFIG_PQ2ADS is not set
158# CONFIG_MPIC is not set
159# CONFIG_MPIC_WEIRD is not set
160# CONFIG_PPC_I8259 is not set
161# CONFIG_PPC_RTAS is not set
162# CONFIG_MMIO_NVRAM is not set
163# CONFIG_PPC_MPC106 is not set
164# CONFIG_PPC_970_NAP is not set
165# CONFIG_PPC_INDIRECT_IO is not set
166# CONFIG_GENERIC_IOMAP is not set
167# CONFIG_CPU_FREQ is not set
168# CONFIG_CPM2 is not set
138 169
139# 170#
140# Kernel options 171# Kernel options
@@ -142,6 +173,7 @@ CONFIG_NO_UCODE_PATCH=y
142# CONFIG_HIGHMEM is not set 173# CONFIG_HIGHMEM is not set
143# CONFIG_HZ_100 is not set 174# CONFIG_HZ_100 is not set
144# CONFIG_HZ_250 is not set 175# CONFIG_HZ_250 is not set
176# CONFIG_HZ_300 is not set
145CONFIG_HZ_1000=y 177CONFIG_HZ_1000=y
146CONFIG_HZ=1000 178CONFIG_HZ=1000
147CONFIG_PREEMPT_NONE=y 179CONFIG_PREEMPT_NONE=y
@@ -162,31 +194,29 @@ CONFIG_FLAT_NODE_MEM_MAP=y
162# CONFIG_SPARSEMEM_STATIC is not set 194# CONFIG_SPARSEMEM_STATIC is not set
163CONFIG_SPLIT_PTLOCK_CPUS=4 195CONFIG_SPLIT_PTLOCK_CPUS=4
164# CONFIG_RESOURCES_64BIT is not set 196# CONFIG_RESOURCES_64BIT is not set
197CONFIG_ZONE_DMA_FLAG=1
165# CONFIG_PROC_DEVICETREE is not set 198# CONFIG_PROC_DEVICETREE is not set
166# CONFIG_CMDLINE_BOOL is not set 199# CONFIG_CMDLINE_BOOL is not set
167# CONFIG_PM is not set 200# CONFIG_PM is not set
168# CONFIG_SECCOMP is not set 201# CONFIG_SECCOMP is not set
202# CONFIG_WANT_DEVICE_TREE is not set
169CONFIG_ISA_DMA_API=y 203CONFIG_ISA_DMA_API=y
170 204
171# 205#
172# Bus options 206# Bus options
173# 207#
174# CONFIG_MPIC_WEIRD is not set 208CONFIG_ZONE_DMA=y
175# CONFIG_PPC_I8259 is not set
176CONFIG_FSL_SOC=y 209CONFIG_FSL_SOC=y
177# CONFIG_PCI is not set 210# CONFIG_PCI is not set
178# CONFIG_PCI_DOMAINS is not set 211# CONFIG_PCI_DOMAINS is not set
179# CONFIG_PCI_QSPAN is not set 212# CONFIG_PCI_QSPAN is not set
213# CONFIG_ARCH_SUPPORTS_MSI is not set
180 214
181# 215#
182# PCCARD (PCMCIA/CardBus) support 216# PCCARD (PCMCIA/CardBus) support
183# 217#
184 218
185# 219#
186# PCI Hotplug Support
187#
188
189#
190# Advanced setup 220# Advanced setup
191# 221#
192# CONFIG_ADVANCED_OPTIONS is not set 222# CONFIG_ADVANCED_OPTIONS is not set
@@ -210,13 +240,13 @@ CONFIG_NET=y
210# 240#
211# Networking options 241# Networking options
212# 242#
213# CONFIG_NETDEBUG is not set
214CONFIG_PACKET=y 243CONFIG_PACKET=y
215# CONFIG_PACKET_MMAP is not set 244# CONFIG_PACKET_MMAP is not set
216CONFIG_UNIX=y 245CONFIG_UNIX=y
217CONFIG_XFRM=y 246CONFIG_XFRM=y
218# CONFIG_XFRM_USER is not set 247# CONFIG_XFRM_USER is not set
219# CONFIG_XFRM_SUB_POLICY is not set 248# CONFIG_XFRM_SUB_POLICY is not set
249# CONFIG_XFRM_MIGRATE is not set
220# CONFIG_NET_KEY is not set 250# CONFIG_NET_KEY is not set
221CONFIG_INET=y 251CONFIG_INET=y
222CONFIG_IP_MULTICAST=y 252CONFIG_IP_MULTICAST=y
@@ -244,25 +274,14 @@ CONFIG_INET_TCP_DIAG=y
244# CONFIG_TCP_CONG_ADVANCED is not set 274# CONFIG_TCP_CONG_ADVANCED is not set
245CONFIG_TCP_CONG_CUBIC=y 275CONFIG_TCP_CONG_CUBIC=y
246CONFIG_DEFAULT_TCP_CONG="cubic" 276CONFIG_DEFAULT_TCP_CONG="cubic"
277# CONFIG_TCP_MD5SIG is not set
247# CONFIG_IPV6 is not set 278# CONFIG_IPV6 is not set
248# CONFIG_INET6_XFRM_TUNNEL is not set 279# CONFIG_INET6_XFRM_TUNNEL is not set
249# CONFIG_INET6_TUNNEL is not set 280# CONFIG_INET6_TUNNEL is not set
250# CONFIG_NETWORK_SECMARK is not set 281# CONFIG_NETWORK_SECMARK is not set
251# CONFIG_NETFILTER is not set 282# CONFIG_NETFILTER is not set
252
253#
254# DCCP Configuration (EXPERIMENTAL)
255#
256# CONFIG_IP_DCCP is not set 283# CONFIG_IP_DCCP is not set
257
258#
259# SCTP Configuration (EXPERIMENTAL)
260#
261# CONFIG_IP_SCTP is not set 284# CONFIG_IP_SCTP is not set
262
263#
264# TIPC Configuration (EXPERIMENTAL)
265#
266# CONFIG_TIPC is not set 285# CONFIG_TIPC is not set
267# CONFIG_ATM is not set 286# CONFIG_ATM is not set
268# CONFIG_BRIDGE is not set 287# CONFIG_BRIDGE is not set
@@ -288,7 +307,16 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
288# CONFIG_HAMRADIO is not set 307# CONFIG_HAMRADIO is not set
289# CONFIG_IRDA is not set 308# CONFIG_IRDA is not set
290# CONFIG_BT is not set 309# CONFIG_BT is not set
310# CONFIG_AF_RXRPC is not set
311
312#
313# Wireless
314#
315# CONFIG_CFG80211 is not set
316# CONFIG_WIRELESS_EXT is not set
317# CONFIG_MAC80211 is not set
291# CONFIG_IEEE80211 is not set 318# CONFIG_IEEE80211 is not set
319# CONFIG_RFKILL is not set
292 320
293# 321#
294# Device Drivers 322# Device Drivers
@@ -305,10 +333,6 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
305# Connector - unified userspace <-> kernelspace linker 333# Connector - unified userspace <-> kernelspace linker
306# 334#
307# CONFIG_CONNECTOR is not set 335# CONFIG_CONNECTOR is not set
308
309#
310# Memory Technology Devices (MTD)
311#
312# CONFIG_MTD is not set 336# CONFIG_MTD is not set
313 337
314# 338#
@@ -319,6 +343,7 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
319# 343#
320# Plug and Play support 344# Plug and Play support
321# 345#
346# CONFIG_PNPACPI is not set
322 347
323# 348#
324# Block devices 349# Block devices
@@ -329,18 +354,13 @@ CONFIG_BLK_DEV_LOOP=y
329# CONFIG_BLK_DEV_CRYPTOLOOP is not set 354# CONFIG_BLK_DEV_CRYPTOLOOP is not set
330# CONFIG_BLK_DEV_NBD is not set 355# CONFIG_BLK_DEV_NBD is not set
331# CONFIG_BLK_DEV_RAM is not set 356# CONFIG_BLK_DEV_RAM is not set
332# CONFIG_BLK_DEV_INITRD is not set
333# CONFIG_CDROM_PKTCDVD is not set 357# CONFIG_CDROM_PKTCDVD is not set
334# CONFIG_ATA_OVER_ETH is not set 358# CONFIG_ATA_OVER_ETH is not set
335 359
336# 360#
337# Misc devices 361# Misc devices
338# 362#
339# CONFIG_TIFM_CORE is not set 363# CONFIG_BLINK is not set
340
341#
342# ATA/ATAPI/MFM/RLL support
343#
344# CONFIG_IDE is not set 364# CONFIG_IDE is not set
345 365
346# 366#
@@ -349,34 +369,13 @@ CONFIG_BLK_DEV_LOOP=y
349# CONFIG_RAID_ATTRS is not set 369# CONFIG_RAID_ATTRS is not set
350# CONFIG_SCSI is not set 370# CONFIG_SCSI is not set
351# CONFIG_SCSI_NETLINK is not set 371# CONFIG_SCSI_NETLINK is not set
352
353#
354# Serial ATA (prod) and Parallel ATA (experimental) drivers
355#
356# CONFIG_ATA is not set 372# CONFIG_ATA is not set
357 373
358# 374#
359# Multi-device support (RAID and LVM) 375# Multi-device support (RAID and LVM)
360# 376#
361# CONFIG_MD is not set 377# CONFIG_MD is not set
362 378# CONFIG_MACINTOSH_DRIVERS is not set
363#
364# Fusion MPT device support
365#
366# CONFIG_FUSION is not set
367
368#
369# IEEE 1394 (FireWire) support
370#
371
372#
373# I2O device support
374#
375
376#
377# Macintosh device drivers
378#
379# CONFIG_WINDFARM is not set
380 379
381# 380#
382# Network device support 381# Network device support
@@ -386,10 +385,6 @@ CONFIG_NETDEVICES=y
386# CONFIG_BONDING is not set 385# CONFIG_BONDING is not set
387# CONFIG_EQUALIZER is not set 386# CONFIG_EQUALIZER is not set
388# CONFIG_TUN is not set 387# CONFIG_TUN is not set
389
390#
391# PHY device support
392#
393CONFIG_PHYLIB=y 388CONFIG_PHYLIB=y
394 389
395# 390#
@@ -402,6 +397,7 @@ CONFIG_DAVICOM_PHY=y
402# CONFIG_CICADA_PHY is not set 397# CONFIG_CICADA_PHY is not set
403# CONFIG_VITESSE_PHY is not set 398# CONFIG_VITESSE_PHY is not set
404# CONFIG_SMSC_PHY is not set 399# CONFIG_SMSC_PHY is not set
400# CONFIG_BROADCOM_PHY is not set
405CONFIG_FIXED_PHY=y 401CONFIG_FIXED_PHY=y
406CONFIG_FIXED_MII_10_FDX=y 402CONFIG_FIXED_MII_10_FDX=y
407# CONFIG_FIXED_MII_100_FDX is not set 403# CONFIG_FIXED_MII_100_FDX is not set
@@ -415,27 +411,14 @@ CONFIG_MII=y
415CONFIG_FS_ENET=y 411CONFIG_FS_ENET=y
416CONFIG_FS_ENET_HAS_SCC=y 412CONFIG_FS_ENET_HAS_SCC=y
417CONFIG_FS_ENET_HAS_FEC=y 413CONFIG_FS_ENET_HAS_FEC=y
414CONFIG_NETDEV_1000=y
415CONFIG_NETDEV_10000=y
418 416
419# 417#
420# Ethernet (1000 Mbit) 418# Wireless LAN
421#
422
423#
424# Ethernet (10000 Mbit)
425#
426
427#
428# Token Ring devices
429#
430
431#
432# Wireless LAN (non-hamradio)
433#
434# CONFIG_NET_RADIO is not set
435
436#
437# Wan interfaces
438# 419#
420# CONFIG_WLAN_PRE80211 is not set
421# CONFIG_WLAN_80211 is not set
439# CONFIG_WAN is not set 422# CONFIG_WAN is not set
440# CONFIG_PPP is not set 423# CONFIG_PPP is not set
441# CONFIG_SLIP is not set 424# CONFIG_SLIP is not set
@@ -459,6 +442,7 @@ CONFIG_FS_ENET_HAS_FEC=y
459# 442#
460CONFIG_INPUT=y 443CONFIG_INPUT=y
461# CONFIG_INPUT_FF_MEMLESS is not set 444# CONFIG_INPUT_FF_MEMLESS is not set
445# CONFIG_INPUT_POLLDEV is not set
462 446
463# 447#
464# Userland interfaces 448# Userland interfaces
@@ -484,9 +468,16 @@ CONFIG_KEYBOARD_ATKBD=y
484# CONFIG_KEYBOARD_STOWAWAY is not set 468# CONFIG_KEYBOARD_STOWAWAY is not set
485CONFIG_INPUT_MOUSE=y 469CONFIG_INPUT_MOUSE=y
486CONFIG_MOUSE_PS2=y 470CONFIG_MOUSE_PS2=y
471CONFIG_MOUSE_PS2_ALPS=y
472CONFIG_MOUSE_PS2_LOGIPS2PP=y
473CONFIG_MOUSE_PS2_SYNAPTICS=y
474CONFIG_MOUSE_PS2_LIFEBOOK=y
475CONFIG_MOUSE_PS2_TRACKPOINT=y
476# CONFIG_MOUSE_PS2_TOUCHKIT is not set
487# CONFIG_MOUSE_SERIAL is not set 477# CONFIG_MOUSE_SERIAL is not set
488# CONFIG_MOUSE_VSXXXAA is not set 478# CONFIG_MOUSE_VSXXXAA is not set
489# CONFIG_INPUT_JOYSTICK is not set 479# CONFIG_INPUT_JOYSTICK is not set
480# CONFIG_INPUT_TABLET is not set
490# CONFIG_INPUT_TOUCHSCREEN is not set 481# CONFIG_INPUT_TOUCHSCREEN is not set
491# CONFIG_INPUT_MISC is not set 482# CONFIG_INPUT_MISC is not set
492 483
@@ -514,6 +505,7 @@ CONFIG_SERIO_LIBPS2=y
514# 505#
515# Non-8250 serial port support 506# Non-8250 serial port support
516# 507#
508# CONFIG_SERIAL_UARTLITE is not set
517CONFIG_SERIAL_CORE=y 509CONFIG_SERIAL_CORE=y
518CONFIG_SERIAL_CORE_CONSOLE=y 510CONFIG_SERIAL_CORE_CONSOLE=y
519CONFIG_SERIAL_CPM=y 511CONFIG_SERIAL_CPM=y
@@ -531,31 +523,18 @@ CONFIG_UNIX98_PTYS=y
531# IPMI 523# IPMI
532# 524#
533# CONFIG_IPMI_HANDLER is not set 525# CONFIG_IPMI_HANDLER is not set
534
535#
536# Watchdog Cards
537#
538# CONFIG_WATCHDOG is not set 526# CONFIG_WATCHDOG is not set
539CONFIG_HW_RANDOM=y 527CONFIG_HW_RANDOM=y
540# CONFIG_NVRAM is not set 528# CONFIG_NVRAM is not set
541CONFIG_GEN_RTC=y 529CONFIG_GEN_RTC=y
542# CONFIG_GEN_RTC_X is not set 530# CONFIG_GEN_RTC_X is not set
543# CONFIG_DTLK is not set
544# CONFIG_R3964 is not set 531# CONFIG_R3964 is not set
545
546#
547# Ftape, the floppy tape device driver
548#
549# CONFIG_RAW_DRIVER is not set 532# CONFIG_RAW_DRIVER is not set
550 533
551# 534#
552# TPM devices 535# TPM devices
553# 536#
554# CONFIG_TCG_TPM is not set 537# CONFIG_TCG_TPM is not set
555
556#
557# I2C support
558#
559# CONFIG_I2C is not set 538# CONFIG_I2C is not set
560 539
561# 540#
@@ -568,33 +547,41 @@ CONFIG_GEN_RTC=y
568# Dallas's 1-wire bus 547# Dallas's 1-wire bus
569# 548#
570# CONFIG_W1 is not set 549# CONFIG_W1 is not set
571
572#
573# Hardware Monitoring support
574#
575CONFIG_HWMON=y 550CONFIG_HWMON=y
576# CONFIG_HWMON_VID is not set 551# CONFIG_HWMON_VID is not set
577# CONFIG_SENSORS_ABITUGURU is not set 552# CONFIG_SENSORS_ABITUGURU is not set
578# CONFIG_SENSORS_F71805F is not set 553# CONFIG_SENSORS_F71805F is not set
554# CONFIG_SENSORS_PC87427 is not set
555# CONFIG_SENSORS_SMSC47M1 is not set
556# CONFIG_SENSORS_SMSC47B397 is not set
579# CONFIG_SENSORS_VT1211 is not set 557# CONFIG_SENSORS_VT1211 is not set
558# CONFIG_SENSORS_W83627HF is not set
580# CONFIG_HWMON_DEBUG_CHIP is not set 559# CONFIG_HWMON_DEBUG_CHIP is not set
581 560
582# 561#
562# Multifunction device drivers
563#
564# CONFIG_MFD_SM501 is not set
565
566#
583# Multimedia devices 567# Multimedia devices
584# 568#
585# CONFIG_VIDEO_DEV is not set 569# CONFIG_VIDEO_DEV is not set
570# CONFIG_DVB_CORE is not set
571CONFIG_DAB=y
586 572
587# 573#
588# Digital Video Broadcasting Devices 574# Graphics support
589# 575#
590# CONFIG_DVB is not set 576# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
591 577
592# 578#
593# Graphics support 579# Display device support
594# 580#
595CONFIG_FIRMWARE_EDID=y 581# CONFIG_DISPLAY_SUPPORT is not set
582# CONFIG_VGASTATE is not set
596# CONFIG_FB is not set 583# CONFIG_FB is not set
597# CONFIG_BACKLIGHT_LCD_SUPPORT is not set 584# CONFIG_FB_IBM_GXT4500 is not set
598 585
599# 586#
600# Sound 587# Sound
@@ -602,6 +589,12 @@ CONFIG_FIRMWARE_EDID=y
602# CONFIG_SOUND is not set 589# CONFIG_SOUND is not set
603 590
604# 591#
592# HID Devices
593#
594CONFIG_HID=y
595# CONFIG_HID_DEBUG is not set
596
597#
605# USB support 598# USB support
606# 599#
607# CONFIG_USB_ARCH_HAS_HCD is not set 600# CONFIG_USB_ARCH_HAS_HCD is not set
@@ -616,10 +609,6 @@ CONFIG_FIRMWARE_EDID=y
616# USB Gadget Support 609# USB Gadget Support
617# 610#
618# CONFIG_USB_GADGET is not set 611# CONFIG_USB_GADGET is not set
619
620#
621# MMC/SD Card support
622#
623# CONFIG_MMC is not set 612# CONFIG_MMC is not set
624 613
625# 614#
@@ -750,6 +739,7 @@ CONFIG_LOCKD=y
750CONFIG_LOCKD_V4=y 739CONFIG_LOCKD_V4=y
751CONFIG_NFS_COMMON=y 740CONFIG_NFS_COMMON=y
752CONFIG_SUNRPC=y 741CONFIG_SUNRPC=y
742# CONFIG_SUNRPC_BIND34 is not set
753# CONFIG_RPCSEC_GSS_KRB5 is not set 743# CONFIG_RPCSEC_GSS_KRB5 is not set
754# CONFIG_RPCSEC_GSS_SPKM3 is not set 744# CONFIG_RPCSEC_GSS_SPKM3 is not set
755# CONFIG_SMB_FS is not set 745# CONFIG_SMB_FS is not set
@@ -779,6 +769,7 @@ CONFIG_MSDOS_PARTITION=y
779# CONFIG_SUN_PARTITION is not set 769# CONFIG_SUN_PARTITION is not set
780# CONFIG_KARMA_PARTITION is not set 770# CONFIG_KARMA_PARTITION is not set
781# CONFIG_EFI_PARTITION is not set 771# CONFIG_EFI_PARTITION is not set
772# CONFIG_SYSV68_PARTITION is not set
782 773
783# 774#
784# Native Language Support 775# Native Language Support
@@ -786,14 +777,25 @@ CONFIG_MSDOS_PARTITION=y
786# CONFIG_NLS is not set 777# CONFIG_NLS is not set
787 778
788# 779#
780# Distributed Lock Manager
781#
782# CONFIG_DLM is not set
783# CONFIG_UCC_SLOW is not set
784
785#
789# Library routines 786# Library routines
790# 787#
788CONFIG_BITREVERSE=y
791CONFIG_CRC_CCITT=y 789CONFIG_CRC_CCITT=y
792# CONFIG_CRC16 is not set 790# CONFIG_CRC16 is not set
791# CONFIG_CRC_ITU_T is not set
793CONFIG_CRC32=y 792CONFIG_CRC32=y
794# CONFIG_LIBCRC32C is not set 793# CONFIG_LIBCRC32C is not set
795CONFIG_ZLIB_INFLATE=y 794CONFIG_ZLIB_INFLATE=y
796CONFIG_PLIST=y 795CONFIG_PLIST=y
796CONFIG_HAS_IOMEM=y
797CONFIG_HAS_IOPORT=y
798CONFIG_HAS_DMA=y
797 799
798# 800#
799# Instrumentation Support 801# Instrumentation Support
@@ -807,11 +809,9 @@ CONFIG_PLIST=y
807CONFIG_ENABLE_MUST_CHECK=y 809CONFIG_ENABLE_MUST_CHECK=y
808# CONFIG_MAGIC_SYSRQ is not set 810# CONFIG_MAGIC_SYSRQ is not set
809# CONFIG_UNUSED_SYMBOLS is not set 811# CONFIG_UNUSED_SYMBOLS is not set
810# CONFIG_DEBUG_KERNEL is not set
811CONFIG_LOG_BUF_SHIFT=14
812# CONFIG_DEBUG_FS is not set 812# CONFIG_DEBUG_FS is not set
813# CONFIG_UNWIND_INFO is not set
814# CONFIG_HEADERS_CHECK is not set 813# CONFIG_HEADERS_CHECK is not set
814# CONFIG_DEBUG_KERNEL is not set
815# CONFIG_BOOTX_TEXT is not set 815# CONFIG_BOOTX_TEXT is not set
816# CONFIG_PPC_EARLY_DEBUG is not set 816# CONFIG_PPC_EARLY_DEBUG is not set
817 817
diff --git a/arch/powerpc/configs/pasemi_defconfig b/arch/powerpc/configs/pasemi_defconfig
index 0507c8f7bfbc..905998b925ea 100644
--- a/arch/powerpc/configs/pasemi_defconfig
+++ b/arch/powerpc/configs/pasemi_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.21 3# Linux kernel version: 2.6.22-rc6
4# Mon May 14 12:55:04 2007 4# Tue Jun 26 13:51:39 2007
5# 5#
6CONFIG_PPC64=y 6CONFIG_PPC64=y
7CONFIG_64BIT=y 7CONFIG_64BIT=y
@@ -295,20 +295,8 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
295# CONFIG_INET6_TUNNEL is not set 295# CONFIG_INET6_TUNNEL is not set
296# CONFIG_NETWORK_SECMARK is not set 296# CONFIG_NETWORK_SECMARK is not set
297# CONFIG_NETFILTER is not set 297# CONFIG_NETFILTER is not set
298
299#
300# DCCP Configuration (EXPERIMENTAL)
301#
302# CONFIG_IP_DCCP is not set 298# CONFIG_IP_DCCP is not set
303
304#
305# SCTP Configuration (EXPERIMENTAL)
306#
307# CONFIG_IP_SCTP is not set 299# CONFIG_IP_SCTP is not set
308
309#
310# TIPC Configuration (EXPERIMENTAL)
311#
312# CONFIG_TIPC is not set 300# CONFIG_TIPC is not set
313# CONFIG_ATM is not set 301# CONFIG_ATM is not set
314# CONFIG_BRIDGE is not set 302# CONFIG_BRIDGE is not set
@@ -466,10 +454,6 @@ CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
466# CONFIG_SGI_IOC4 is not set 454# CONFIG_SGI_IOC4 is not set
467# CONFIG_TIFM_CORE is not set 455# CONFIG_TIFM_CORE is not set
468# CONFIG_BLINK is not set 456# CONFIG_BLINK is not set
469
470#
471# ATA/ATAPI/MFM/RLL support
472#
473CONFIG_IDE=y 457CONFIG_IDE=y
474CONFIG_BLK_DEV_IDE=y 458CONFIG_BLK_DEV_IDE=y
475 459
@@ -571,7 +555,6 @@ CONFIG_SCSI_3W_9XXX=y
571# CONFIG_SCSI_DC395x is not set 555# CONFIG_SCSI_DC395x is not set
572# CONFIG_SCSI_DC390T is not set 556# CONFIG_SCSI_DC390T is not set
573# CONFIG_SCSI_DEBUG is not set 557# CONFIG_SCSI_DEBUG is not set
574# CONFIG_SCSI_ESP_CORE is not set
575# CONFIG_SCSI_SRP is not set 558# CONFIG_SCSI_SRP is not set
576 559
577# 560#
@@ -580,10 +563,6 @@ CONFIG_SCSI_3W_9XXX=y
580# CONFIG_PCMCIA_FDOMAIN is not set 563# CONFIG_PCMCIA_FDOMAIN is not set
581# CONFIG_PCMCIA_QLOGIC is not set 564# CONFIG_PCMCIA_QLOGIC is not set
582# CONFIG_PCMCIA_SYM53C500 is not set 565# CONFIG_PCMCIA_SYM53C500 is not set
583
584#
585# Serial ATA (prod) and Parallel ATA (experimental) drivers
586#
587CONFIG_ATA=y 566CONFIG_ATA=y
588# CONFIG_ATA_NONSTANDARD is not set 567# CONFIG_ATA_NONSTANDARD is not set
589# CONFIG_SATA_AHCI is not set 568# CONFIG_SATA_AHCI is not set
@@ -694,15 +673,7 @@ CONFIG_DUMMY=y
694# CONFIG_BONDING is not set 673# CONFIG_BONDING is not set
695# CONFIG_EQUALIZER is not set 674# CONFIG_EQUALIZER is not set
696# CONFIG_TUN is not set 675# CONFIG_TUN is not set
697
698#
699# ARCnet devices
700#
701# CONFIG_ARCNET is not set 676# CONFIG_ARCNET is not set
702
703#
704# PHY device support
705#
706CONFIG_PHYLIB=y 677CONFIG_PHYLIB=y
707 678
708# 679#
@@ -752,10 +723,7 @@ CONFIG_NET_PCI=y
752# CONFIG_SUNDANCE is not set 723# CONFIG_SUNDANCE is not set
753# CONFIG_VIA_RHINE is not set 724# CONFIG_VIA_RHINE is not set
754# CONFIG_SC92031 is not set 725# CONFIG_SC92031 is not set
755 726CONFIG_NETDEV_1000=y
756#
757# Ethernet (1000 Mbit)
758#
759# CONFIG_ACENIC is not set 727# CONFIG_ACENIC is not set
760# CONFIG_DL2K is not set 728# CONFIG_DL2K is not set
761CONFIG_E1000=y 729CONFIG_E1000=y
@@ -774,10 +742,7 @@ CONFIG_TIGON3=y
774# CONFIG_BNX2 is not set 742# CONFIG_BNX2 is not set
775# CONFIG_QLA3XXX is not set 743# CONFIG_QLA3XXX is not set
776# CONFIG_ATL1 is not set 744# CONFIG_ATL1 is not set
777 745CONFIG_NETDEV_10000=y
778#
779# Ethernet (10000 Mbit)
780#
781# CONFIG_CHELSIO_T1 is not set 746# CONFIG_CHELSIO_T1 is not set
782# CONFIG_CHELSIO_T3 is not set 747# CONFIG_CHELSIO_T3 is not set
783# CONFIG_IXGB is not set 748# CONFIG_IXGB is not set
@@ -786,11 +751,6 @@ CONFIG_TIGON3=y
786# CONFIG_NETXEN_NIC is not set 751# CONFIG_NETXEN_NIC is not set
787CONFIG_PASEMI_MAC=y 752CONFIG_PASEMI_MAC=y
788# CONFIG_MLX4_CORE is not set 753# CONFIG_MLX4_CORE is not set
789CONFIG_MLX4_DEBUG=y
790
791#
792# Token Ring devices
793#
794# CONFIG_TR is not set 754# CONFIG_TR is not set
795 755
796# 756#
@@ -808,15 +768,7 @@ CONFIG_MLX4_DEBUG=y
808# CONFIG_USB_RTL8150 is not set 768# CONFIG_USB_RTL8150 is not set
809# CONFIG_USB_USBNET_MII is not set 769# CONFIG_USB_USBNET_MII is not set
810# CONFIG_USB_USBNET is not set 770# CONFIG_USB_USBNET is not set
811
812#
813# PCMCIA network device support
814#
815# CONFIG_NET_PCMCIA is not set 771# CONFIG_NET_PCMCIA is not set
816
817#
818# Wan interfaces
819#
820# CONFIG_WAN is not set 772# CONFIG_WAN is not set
821# CONFIG_FDDI is not set 773# CONFIG_FDDI is not set
822# CONFIG_HIPPI is not set 774# CONFIG_HIPPI is not set
@@ -843,6 +795,7 @@ CONFIG_MLX4_DEBUG=y
843# 795#
844CONFIG_INPUT=y 796CONFIG_INPUT=y
845# CONFIG_INPUT_FF_MEMLESS is not set 797# CONFIG_INPUT_FF_MEMLESS is not set
798# CONFIG_INPUT_POLLDEV is not set
846 799
847# 800#
848# Userland interfaces 801# Userland interfaces
@@ -1661,7 +1614,6 @@ CONFIG_NLS_ISO8859_1=y
1661# 1614#
1662# CONFIG_DLM is not set 1615# CONFIG_DLM is not set
1663# CONFIG_UCC_SLOW is not set 1616# CONFIG_UCC_SLOW is not set
1664# CONFIG_UCC_FAST is not set
1665 1617
1666# 1618#
1667# Library routines 1619# Library routines
diff --git a/arch/powerpc/configs/pmac32_defconfig b/arch/powerpc/configs/pmac32_defconfig
index f611df480fd9..0d8ba623e29a 100644
--- a/arch/powerpc/configs/pmac32_defconfig
+++ b/arch/powerpc/configs/pmac32_defconfig
@@ -1,9 +1,10 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.20-rc5 3# Linux kernel version: 2.6.22-rc6
4# Mon Jan 22 22:28:56 2007 4# Tue Jun 26 14:11:36 2007
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7CONFIG_PPC_PM_NEEDS_RTC_LIB=y
7CONFIG_PPC32=y 8CONFIG_PPC32=y
8CONFIG_PPC_MERGE=y 9CONFIG_PPC_MERGE=y
9CONFIG_MMU=y 10CONFIG_MMU=y
@@ -24,6 +25,7 @@ CONFIG_PPC_OF=y
24# CONFIG_GENERIC_TBSYNC is not set 25# CONFIG_GENERIC_TBSYNC is not set
25CONFIG_AUDIT_ARCH=y 26CONFIG_AUDIT_ARCH=y
26CONFIG_GENERIC_BUG=y 27CONFIG_GENERIC_BUG=y
28CONFIG_SYS_SUPPORTS_APM_EMULATION=y
27# CONFIG_DEFAULT_UIMAGE is not set 29# CONFIG_DEFAULT_UIMAGE is not set
28 30
29# 31#
@@ -34,9 +36,9 @@ CONFIG_CLASSIC32=y
34# CONFIG_PPC_83xx is not set 36# CONFIG_PPC_83xx is not set
35# CONFIG_PPC_85xx is not set 37# CONFIG_PPC_85xx is not set
36# CONFIG_PPC_86xx is not set 38# CONFIG_PPC_86xx is not set
39# CONFIG_PPC_8xx is not set
37# CONFIG_40x is not set 40# CONFIG_40x is not set
38# CONFIG_44x is not set 41# CONFIG_44x is not set
39# CONFIG_8xx is not set
40# CONFIG_E200 is not set 42# CONFIG_E200 is not set
41CONFIG_6xx=y 43CONFIG_6xx=y
42CONFIG_PPC_FPU=y 44CONFIG_PPC_FPU=y
@@ -45,6 +47,7 @@ CONFIG_PPC_FPU=y
45CONFIG_ALTIVEC=y 47CONFIG_ALTIVEC=y
46CONFIG_PPC_STD_MMU=y 48CONFIG_PPC_STD_MMU=y
47CONFIG_PPC_STD_MMU_32=y 49CONFIG_PPC_STD_MMU_32=y
50# CONFIG_PPC_MM_SLICES is not set
48# CONFIG_SMP is not set 51# CONFIG_SMP is not set
49CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 52CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
50 53
@@ -63,6 +66,7 @@ CONFIG_LOCALVERSION=""
63CONFIG_SWAP=y 66CONFIG_SWAP=y
64CONFIG_SYSVIPC=y 67CONFIG_SYSVIPC=y
65# CONFIG_IPC_NS is not set 68# CONFIG_IPC_NS is not set
69CONFIG_SYSVIPC_SYSCTL=y
66CONFIG_POSIX_MQUEUE=y 70CONFIG_POSIX_MQUEUE=y
67# CONFIG_BSD_PROCESS_ACCT is not set 71# CONFIG_BSD_PROCESS_ACCT is not set
68# CONFIG_TASKSTATS is not set 72# CONFIG_TASKSTATS is not set
@@ -70,8 +74,10 @@ CONFIG_POSIX_MQUEUE=y
70# CONFIG_AUDIT is not set 74# CONFIG_AUDIT is not set
71CONFIG_IKCONFIG=y 75CONFIG_IKCONFIG=y
72CONFIG_IKCONFIG_PROC=y 76CONFIG_IKCONFIG_PROC=y
77CONFIG_LOG_BUF_SHIFT=14
73CONFIG_SYSFS_DEPRECATED=y 78CONFIG_SYSFS_DEPRECATED=y
74# CONFIG_RELAY is not set 79# CONFIG_RELAY is not set
80CONFIG_BLK_DEV_INITRD=y
75CONFIG_INITRAMFS_SOURCE="" 81CONFIG_INITRAMFS_SOURCE=""
76# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 82# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
77CONFIG_SYSCTL=y 83CONFIG_SYSCTL=y
@@ -86,14 +92,19 @@ CONFIG_BUG=y
86CONFIG_ELF_CORE=y 92CONFIG_ELF_CORE=y
87CONFIG_BASE_FULL=y 93CONFIG_BASE_FULL=y
88CONFIG_FUTEX=y 94CONFIG_FUTEX=y
95CONFIG_ANON_INODES=y
89CONFIG_EPOLL=y 96CONFIG_EPOLL=y
97CONFIG_SIGNALFD=y
98CONFIG_TIMERFD=y
99CONFIG_EVENTFD=y
90CONFIG_SHMEM=y 100CONFIG_SHMEM=y
91CONFIG_SLAB=y
92CONFIG_VM_EVENT_COUNTERS=y 101CONFIG_VM_EVENT_COUNTERS=y
102CONFIG_SLAB=y
103# CONFIG_SLUB is not set
104# CONFIG_SLOB is not set
93CONFIG_RT_MUTEXES=y 105CONFIG_RT_MUTEXES=y
94# CONFIG_TINY_SHMEM is not set 106# CONFIG_TINY_SHMEM is not set
95CONFIG_BASE_SMALL=0 107CONFIG_BASE_SMALL=0
96# CONFIG_SLOB is not set
97 108
98# 109#
99# Loadable module support 110# Loadable module support
@@ -134,12 +145,17 @@ CONFIG_PPC_MULTIPLATFORM=y
134# CONFIG_APUS is not set 145# CONFIG_APUS is not set
135# CONFIG_PPC_CHRP is not set 146# CONFIG_PPC_CHRP is not set
136# CONFIG_PPC_MPC52xx is not set 147# CONFIG_PPC_MPC52xx is not set
148# CONFIG_PPC_MPC5200 is not set
137# CONFIG_PPC_EFIKA is not set 149# CONFIG_PPC_EFIKA is not set
138# CONFIG_PPC_LITE5200 is not set 150# CONFIG_PPC_LITE5200 is not set
139CONFIG_PPC_PMAC=y 151CONFIG_PPC_PMAC=y
140# CONFIG_PPC_CELL is not set 152# CONFIG_PPC_CELL is not set
141# CONFIG_PPC_CELL_NATIVE is not set 153# CONFIG_PPC_CELL_NATIVE is not set
154# CONFIG_PQ2ADS is not set
142CONFIG_PPC_NATIVE=y 155CONFIG_PPC_NATIVE=y
156CONFIG_MPIC=y
157# CONFIG_MPIC_WEIRD is not set
158# CONFIG_PPC_I8259 is not set
143# CONFIG_PPC_RTAS is not set 159# CONFIG_PPC_RTAS is not set
144# CONFIG_MMIO_NVRAM is not set 160# CONFIG_MMIO_NVRAM is not set
145CONFIG_PPC_MPC106=y 161CONFIG_PPC_MPC106=y
@@ -158,11 +174,14 @@ CONFIG_CPU_FREQ_GOV_POWERSAVE=y
158CONFIG_CPU_FREQ_GOV_USERSPACE=y 174CONFIG_CPU_FREQ_GOV_USERSPACE=y
159# CONFIG_CPU_FREQ_GOV_ONDEMAND is not set 175# CONFIG_CPU_FREQ_GOV_ONDEMAND is not set
160# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set 176# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set
177
178#
179# CPU Frequency drivers
180#
161CONFIG_CPU_FREQ_PMAC=y 181CONFIG_CPU_FREQ_PMAC=y
162CONFIG_PPC601_SYNC_FIX=y 182CONFIG_PPC601_SYNC_FIX=y
163# CONFIG_TAU is not set 183# CONFIG_TAU is not set
164# CONFIG_WANT_EARLY_SERIAL is not set 184# CONFIG_CPM2 is not set
165CONFIG_MPIC=y
166 185
167# 186#
168# Kernel options 187# Kernel options
@@ -191,6 +210,7 @@ CONFIG_FLAT_NODE_MEM_MAP=y
191# CONFIG_SPARSEMEM_STATIC is not set 210# CONFIG_SPARSEMEM_STATIC is not set
192CONFIG_SPLIT_PTLOCK_CPUS=4 211CONFIG_SPLIT_PTLOCK_CPUS=4
193# CONFIG_RESOURCES_64BIT is not set 212# CONFIG_RESOURCES_64BIT is not set
213CONFIG_ZONE_DMA_FLAG=1
194CONFIG_PROC_DEVICETREE=y 214CONFIG_PROC_DEVICETREE=y
195# CONFIG_CMDLINE_BOOL is not set 215# CONFIG_CMDLINE_BOOL is not set
196CONFIG_PM=y 216CONFIG_PM=y
@@ -200,19 +220,23 @@ CONFIG_PM_DEBUG=y
200CONFIG_PM_SYSFS_DEPRECATED=y 220CONFIG_PM_SYSFS_DEPRECATED=y
201CONFIG_SOFTWARE_SUSPEND=y 221CONFIG_SOFTWARE_SUSPEND=y
202CONFIG_PM_STD_PARTITION="" 222CONFIG_PM_STD_PARTITION=""
223CONFIG_APM_EMULATION=y
203CONFIG_SECCOMP=y 224CONFIG_SECCOMP=y
225# CONFIG_WANT_DEVICE_TREE is not set
204CONFIG_ISA_DMA_API=y 226CONFIG_ISA_DMA_API=y
205 227
206# 228#
207# Bus options 229# Bus options
208# 230#
231CONFIG_ZONE_DMA=y
209CONFIG_GENERIC_ISA_DMA=y 232CONFIG_GENERIC_ISA_DMA=y
210# CONFIG_MPIC_WEIRD is not set
211# CONFIG_PPC_I8259 is not set
212CONFIG_PPC_INDIRECT_PCI=y 233CONFIG_PPC_INDIRECT_PCI=y
234# CONFIG_PPC_INDIRECT_PCI_BE is not set
213CONFIG_PCI=y 235CONFIG_PCI=y
214CONFIG_PCI_DOMAINS=y 236CONFIG_PCI_DOMAINS=y
215# CONFIG_PCIEPORTBUS is not set 237# CONFIG_PCIEPORTBUS is not set
238CONFIG_ARCH_SUPPORTS_MSI=y
239# CONFIG_PCI_MSI is not set
216# CONFIG_PCI_DEBUG is not set 240# CONFIG_PCI_DEBUG is not set
217 241
218# 242#
@@ -237,10 +261,6 @@ CONFIG_YENTA_TOSHIBA=y
237# CONFIG_PD6729 is not set 261# CONFIG_PD6729 is not set
238# CONFIG_I82092 is not set 262# CONFIG_I82092 is not set
239CONFIG_PCCARD_NONSTATIC=m 263CONFIG_PCCARD_NONSTATIC=m
240
241#
242# PCI Hotplug Support
243#
244# CONFIG_HOTPLUG_PCI is not set 264# CONFIG_HOTPLUG_PCI is not set
245 265
246# 266#
@@ -265,14 +285,15 @@ CONFIG_NET=y
265# 285#
266# Networking options 286# Networking options
267# 287#
268# CONFIG_NETDEBUG is not set
269CONFIG_PACKET=y 288CONFIG_PACKET=y
270# CONFIG_PACKET_MMAP is not set 289# CONFIG_PACKET_MMAP is not set
271CONFIG_UNIX=y 290CONFIG_UNIX=y
272CONFIG_XFRM=y 291CONFIG_XFRM=y
273CONFIG_XFRM_USER=y 292CONFIG_XFRM_USER=y
274# CONFIG_XFRM_SUB_POLICY is not set 293# CONFIG_XFRM_SUB_POLICY is not set
294# CONFIG_XFRM_MIGRATE is not set
275CONFIG_NET_KEY=y 295CONFIG_NET_KEY=y
296# CONFIG_NET_KEY_MIGRATE is not set
276CONFIG_INET=y 297CONFIG_INET=y
277CONFIG_IP_MULTICAST=y 298CONFIG_IP_MULTICAST=y
278# CONFIG_IP_ADVANCED_ROUTER is not set 299# CONFIG_IP_ADVANCED_ROUTER is not set
@@ -297,10 +318,6 @@ CONFIG_INET_TCP_DIAG=y
297CONFIG_TCP_CONG_CUBIC=y 318CONFIG_TCP_CONG_CUBIC=y
298CONFIG_DEFAULT_TCP_CONG="cubic" 319CONFIG_DEFAULT_TCP_CONG="cubic"
299# CONFIG_TCP_MD5SIG is not set 320# CONFIG_TCP_MD5SIG is not set
300
301#
302# IP: Virtual Server Configuration
303#
304# CONFIG_IP_VS is not set 321# CONFIG_IP_VS is not set
305# CONFIG_IPV6 is not set 322# CONFIG_IPV6 is not set
306# CONFIG_INET6_XFRM_TUNNEL is not set 323# CONFIG_INET6_XFRM_TUNNEL is not set
@@ -314,8 +331,6 @@ CONFIG_NETFILTER=y
314# 331#
315# CONFIG_NETFILTER_NETLINK is not set 332# CONFIG_NETFILTER_NETLINK is not set
316CONFIG_NF_CONNTRACK_ENABLED=m 333CONFIG_NF_CONNTRACK_ENABLED=m
317CONFIG_NF_CONNTRACK_SUPPORT=y
318# CONFIG_IP_NF_CONNTRACK_SUPPORT is not set
319CONFIG_NF_CONNTRACK=m 334CONFIG_NF_CONNTRACK=m
320# CONFIG_NF_CT_ACCT is not set 335# CONFIG_NF_CT_ACCT is not set
321# CONFIG_NF_CONNTRACK_MARK is not set 336# CONFIG_NF_CONNTRACK_MARK is not set
@@ -327,16 +342,21 @@ CONFIG_NF_CONNTRACK_FTP=m
327CONFIG_NF_CONNTRACK_IRC=m 342CONFIG_NF_CONNTRACK_IRC=m
328# CONFIG_NF_CONNTRACK_NETBIOS_NS is not set 343# CONFIG_NF_CONNTRACK_NETBIOS_NS is not set
329# CONFIG_NF_CONNTRACK_PPTP is not set 344# CONFIG_NF_CONNTRACK_PPTP is not set
345# CONFIG_NF_CONNTRACK_SANE is not set
330# CONFIG_NF_CONNTRACK_SIP is not set 346# CONFIG_NF_CONNTRACK_SIP is not set
331CONFIG_NF_CONNTRACK_TFTP=m 347CONFIG_NF_CONNTRACK_TFTP=m
332CONFIG_NETFILTER_XTABLES=m 348CONFIG_NETFILTER_XTABLES=m
333CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m 349CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
350# CONFIG_NETFILTER_XT_TARGET_CONNMARK is not set
334# CONFIG_NETFILTER_XT_TARGET_DSCP is not set 351# CONFIG_NETFILTER_XT_TARGET_DSCP is not set
335CONFIG_NETFILTER_XT_TARGET_MARK=m 352CONFIG_NETFILTER_XT_TARGET_MARK=m
336CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m 353CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
337CONFIG_NETFILTER_XT_TARGET_NFLOG=m 354CONFIG_NETFILTER_XT_TARGET_NFLOG=m
338CONFIG_NETFILTER_XT_TARGET_NOTRACK=m 355CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
356CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
339CONFIG_NETFILTER_XT_MATCH_COMMENT=m 357CONFIG_NETFILTER_XT_MATCH_COMMENT=m
358# CONFIG_NETFILTER_XT_MATCH_CONNBYTES is not set
359# CONFIG_NETFILTER_XT_MATCH_CONNMARK is not set
340CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m 360CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
341CONFIG_NETFILTER_XT_MATCH_DCCP=m 361CONFIG_NETFILTER_XT_MATCH_DCCP=m
342CONFIG_NETFILTER_XT_MATCH_DSCP=m 362CONFIG_NETFILTER_XT_MATCH_DSCP=m
@@ -377,7 +397,6 @@ CONFIG_IP_NF_FILTER=m
377CONFIG_IP_NF_TARGET_REJECT=m 397CONFIG_IP_NF_TARGET_REJECT=m
378CONFIG_IP_NF_TARGET_LOG=m 398CONFIG_IP_NF_TARGET_LOG=m
379CONFIG_IP_NF_TARGET_ULOG=m 399CONFIG_IP_NF_TARGET_ULOG=m
380CONFIG_IP_NF_TARGET_TCPMSS=m
381CONFIG_NF_NAT=m 400CONFIG_NF_NAT=m
382CONFIG_NF_NAT_NEEDED=y 401CONFIG_NF_NAT_NEEDED=y
383CONFIG_IP_NF_TARGET_MASQUERADE=m 402CONFIG_IP_NF_TARGET_MASQUERADE=m
@@ -396,14 +415,11 @@ CONFIG_IP_NF_MANGLE=m
396CONFIG_IP_NF_TARGET_TOS=m 415CONFIG_IP_NF_TARGET_TOS=m
397CONFIG_IP_NF_TARGET_ECN=m 416CONFIG_IP_NF_TARGET_ECN=m
398CONFIG_IP_NF_TARGET_TTL=m 417CONFIG_IP_NF_TARGET_TTL=m
418# CONFIG_IP_NF_TARGET_CLUSTERIP is not set
399CONFIG_IP_NF_RAW=m 419CONFIG_IP_NF_RAW=m
400CONFIG_IP_NF_ARPTABLES=m 420CONFIG_IP_NF_ARPTABLES=m
401CONFIG_IP_NF_ARPFILTER=m 421CONFIG_IP_NF_ARPFILTER=m
402CONFIG_IP_NF_ARP_MANGLE=m 422CONFIG_IP_NF_ARP_MANGLE=m
403
404#
405# DCCP Configuration (EXPERIMENTAL)
406#
407CONFIG_IP_DCCP=m 423CONFIG_IP_DCCP=m
408CONFIG_INET_DCCP_DIAG=m 424CONFIG_INET_DCCP_DIAG=m
409CONFIG_IP_DCCP_ACKVEC=y 425CONFIG_IP_DCCP_ACKVEC=y
@@ -422,15 +438,7 @@ CONFIG_IP_DCCP_CCID3_RTO=100
422# DCCP Kernel Hacking 438# DCCP Kernel Hacking
423# 439#
424# CONFIG_IP_DCCP_DEBUG is not set 440# CONFIG_IP_DCCP_DEBUG is not set
425
426#
427# SCTP Configuration (EXPERIMENTAL)
428#
429# CONFIG_IP_SCTP is not set 441# CONFIG_IP_SCTP is not set
430
431#
432# TIPC Configuration (EXPERIMENTAL)
433#
434# CONFIG_TIPC is not set 442# CONFIG_TIPC is not set
435# CONFIG_ATM is not set 443# CONFIG_ATM is not set
436# CONFIG_BRIDGE is not set 444# CONFIG_BRIDGE is not set
@@ -448,6 +456,7 @@ CONFIG_IP_DCCP_CCID3_RTO=100
448# QoS and/or fair queueing 456# QoS and/or fair queueing
449# 457#
450# CONFIG_NET_SCHED is not set 458# CONFIG_NET_SCHED is not set
459CONFIG_NET_SCH_FIFO=y
451CONFIG_NET_CLS_ROUTE=y 460CONFIG_NET_CLS_ROUTE=y
452 461
453# 462#
@@ -485,6 +494,7 @@ CONFIG_IRTTY_SIR=m
485# Dongle support 494# Dongle support
486# 495#
487# CONFIG_DONGLE is not set 496# CONFIG_DONGLE is not set
497# CONFIG_KINGSUN_DONGLE is not set
488 498
489# 499#
490# Old SIR device drivers 500# Old SIR device drivers
@@ -532,13 +542,23 @@ CONFIG_BT_HCIBFUSB=m
532# CONFIG_BT_HCIBLUECARD is not set 542# CONFIG_BT_HCIBLUECARD is not set
533# CONFIG_BT_HCIBTUART is not set 543# CONFIG_BT_HCIBTUART is not set
534# CONFIG_BT_HCIVHCI is not set 544# CONFIG_BT_HCIVHCI is not set
545# CONFIG_AF_RXRPC is not set
546
547#
548# Wireless
549#
550CONFIG_CFG80211=m
551CONFIG_WIRELESS_EXT=y
552CONFIG_MAC80211=m
553CONFIG_MAC80211_LEDS=y
554# CONFIG_MAC80211_DEBUG is not set
535CONFIG_IEEE80211=m 555CONFIG_IEEE80211=m
536# CONFIG_IEEE80211_DEBUG is not set 556# CONFIG_IEEE80211_DEBUG is not set
537CONFIG_IEEE80211_CRYPT_WEP=m 557CONFIG_IEEE80211_CRYPT_WEP=m
538CONFIG_IEEE80211_CRYPT_CCMP=m 558CONFIG_IEEE80211_CRYPT_CCMP=m
539CONFIG_IEEE80211_CRYPT_TKIP=m 559CONFIG_IEEE80211_CRYPT_TKIP=m
540# CONFIG_IEEE80211_SOFTMAC is not set 560# CONFIG_IEEE80211_SOFTMAC is not set
541CONFIG_WIRELESS_EXT=y 561# CONFIG_RFKILL is not set
542 562
543# 563#
544# Device Drivers 564# Device Drivers
@@ -551,6 +571,7 @@ CONFIG_WIRELESS_EXT=y
551CONFIG_PREVENT_FIRMWARE_BUILD=y 571CONFIG_PREVENT_FIRMWARE_BUILD=y
552CONFIG_FW_LOADER=y 572CONFIG_FW_LOADER=y
553# CONFIG_DEBUG_DRIVER is not set 573# CONFIG_DEBUG_DRIVER is not set
574# CONFIG_DEBUG_DEVRES is not set
554# CONFIG_SYS_HYPERVISOR is not set 575# CONFIG_SYS_HYPERVISOR is not set
555 576
556# 577#
@@ -558,10 +579,6 @@ CONFIG_FW_LOADER=y
558# 579#
559CONFIG_CONNECTOR=y 580CONFIG_CONNECTOR=y
560CONFIG_PROC_EVENTS=y 581CONFIG_PROC_EVENTS=y
561
562#
563# Memory Technology Devices (MTD)
564#
565# CONFIG_MTD is not set 582# CONFIG_MTD is not set
566 583
567# 584#
@@ -572,6 +589,7 @@ CONFIG_PROC_EVENTS=y
572# 589#
573# Plug and Play support 590# Plug and Play support
574# 591#
592# CONFIG_PNPACPI is not set
575 593
576# 594#
577# Block devices 595# Block devices
@@ -592,19 +610,16 @@ CONFIG_BLK_DEV_RAM=y
592CONFIG_BLK_DEV_RAM_COUNT=16 610CONFIG_BLK_DEV_RAM_COUNT=16
593CONFIG_BLK_DEV_RAM_SIZE=4096 611CONFIG_BLK_DEV_RAM_SIZE=4096
594CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 612CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
595CONFIG_BLK_DEV_INITRD=y
596# CONFIG_CDROM_PKTCDVD is not set 613# CONFIG_CDROM_PKTCDVD is not set
597# CONFIG_ATA_OVER_ETH is not set 614# CONFIG_ATA_OVER_ETH is not set
598 615
599# 616#
600# Misc devices 617# Misc devices
601# 618#
619# CONFIG_PHANTOM is not set
602# CONFIG_SGI_IOC4 is not set 620# CONFIG_SGI_IOC4 is not set
603# CONFIG_TIFM_CORE is not set 621# CONFIG_TIFM_CORE is not set
604 622# CONFIG_BLINK is not set
605#
606# ATA/ATAPI/MFM/RLL support
607#
608CONFIG_IDE=y 623CONFIG_IDE=y
609CONFIG_BLK_DEV_IDE=y 624CONFIG_BLK_DEV_IDE=y
610 625
@@ -615,11 +630,13 @@ CONFIG_BLK_DEV_IDE=y
615CONFIG_BLK_DEV_IDEDISK=y 630CONFIG_BLK_DEV_IDEDISK=y
616# CONFIG_IDEDISK_MULTI_MODE is not set 631# CONFIG_IDEDISK_MULTI_MODE is not set
617CONFIG_BLK_DEV_IDECS=m 632CONFIG_BLK_DEV_IDECS=m
633# CONFIG_BLK_DEV_DELKIN is not set
618CONFIG_BLK_DEV_IDECD=y 634CONFIG_BLK_DEV_IDECD=y
619# CONFIG_BLK_DEV_IDETAPE is not set 635# CONFIG_BLK_DEV_IDETAPE is not set
620CONFIG_BLK_DEV_IDEFLOPPY=y 636CONFIG_BLK_DEV_IDEFLOPPY=y
621CONFIG_BLK_DEV_IDESCSI=y 637CONFIG_BLK_DEV_IDESCSI=y
622# CONFIG_IDE_TASK_IOCTL is not set 638# CONFIG_IDE_TASK_IOCTL is not set
639CONFIG_IDE_PROC_FS=y
623 640
624# 641#
625# IDE chipset support/bugfixes 642# IDE chipset support/bugfixes
@@ -627,12 +644,12 @@ CONFIG_BLK_DEV_IDESCSI=y
627# CONFIG_IDE_GENERIC is not set 644# CONFIG_IDE_GENERIC is not set
628CONFIG_BLK_DEV_IDEPCI=y 645CONFIG_BLK_DEV_IDEPCI=y
629CONFIG_IDEPCI_SHARE_IRQ=y 646CONFIG_IDEPCI_SHARE_IRQ=y
647CONFIG_IDEPCI_PCIBUS_ORDER=y
630# CONFIG_BLK_DEV_OFFBOARD is not set 648# CONFIG_BLK_DEV_OFFBOARD is not set
631CONFIG_BLK_DEV_GENERIC=y 649CONFIG_BLK_DEV_GENERIC=y
632# CONFIG_BLK_DEV_OPTI621 is not set 650# CONFIG_BLK_DEV_OPTI621 is not set
633CONFIG_BLK_DEV_IDEDMA_PCI=y 651CONFIG_BLK_DEV_IDEDMA_PCI=y
634# CONFIG_BLK_DEV_IDEDMA_FORCED is not set 652# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
635CONFIG_IDEDMA_PCI_AUTO=y
636# CONFIG_IDEDMA_ONLYDISK is not set 653# CONFIG_IDEDMA_ONLYDISK is not set
637# CONFIG_BLK_DEV_AEC62XX is not set 654# CONFIG_BLK_DEV_AEC62XX is not set
638# CONFIG_BLK_DEV_ALI15X3 is not set 655# CONFIG_BLK_DEV_ALI15X3 is not set
@@ -647,6 +664,7 @@ CONFIG_IDEDMA_PCI_AUTO=y
647# CONFIG_BLK_DEV_JMICRON is not set 664# CONFIG_BLK_DEV_JMICRON is not set
648# CONFIG_BLK_DEV_SC1200 is not set 665# CONFIG_BLK_DEV_SC1200 is not set
649# CONFIG_BLK_DEV_PIIX is not set 666# CONFIG_BLK_DEV_PIIX is not set
667# CONFIG_BLK_DEV_IT8213 is not set
650# CONFIG_BLK_DEV_IT821X is not set 668# CONFIG_BLK_DEV_IT821X is not set
651# CONFIG_BLK_DEV_NS87415 is not set 669# CONFIG_BLK_DEV_NS87415 is not set
652# CONFIG_BLK_DEV_PDC202XX_OLD is not set 670# CONFIG_BLK_DEV_PDC202XX_OLD is not set
@@ -657,13 +675,13 @@ CONFIG_BLK_DEV_SL82C105=y
657# CONFIG_BLK_DEV_SLC90E66 is not set 675# CONFIG_BLK_DEV_SLC90E66 is not set
658# CONFIG_BLK_DEV_TRM290 is not set 676# CONFIG_BLK_DEV_TRM290 is not set
659# CONFIG_BLK_DEV_VIA82CXXX is not set 677# CONFIG_BLK_DEV_VIA82CXXX is not set
678# CONFIG_BLK_DEV_TC86C001 is not set
660CONFIG_BLK_DEV_IDE_PMAC=y 679CONFIG_BLK_DEV_IDE_PMAC=y
661CONFIG_BLK_DEV_IDE_PMAC_ATA100FIRST=y 680CONFIG_BLK_DEV_IDE_PMAC_ATA100FIRST=y
662CONFIG_BLK_DEV_IDEDMA_PMAC=y 681CONFIG_BLK_DEV_IDEDMA_PMAC=y
663# CONFIG_IDE_ARM is not set 682# CONFIG_IDE_ARM is not set
664CONFIG_BLK_DEV_IDEDMA=y 683CONFIG_BLK_DEV_IDEDMA=y
665# CONFIG_IDEDMA_IVB is not set 684# CONFIG_IDEDMA_IVB is not set
666CONFIG_IDEDMA_AUTO=y
667# CONFIG_BLK_DEV_HD is not set 685# CONFIG_BLK_DEV_HD is not set
668 686
669# 687#
@@ -693,6 +711,7 @@ CONFIG_CHR_DEV_SG=y
693CONFIG_SCSI_CONSTANTS=y 711CONFIG_SCSI_CONSTANTS=y
694# CONFIG_SCSI_LOGGING is not set 712# CONFIG_SCSI_LOGGING is not set
695# CONFIG_SCSI_SCAN_ASYNC is not set 713# CONFIG_SCSI_SCAN_ASYNC is not set
714CONFIG_SCSI_WAIT_SCAN=m
696 715
697# 716#
698# SCSI Transports 717# SCSI Transports
@@ -762,10 +781,6 @@ CONFIG_SCSI_MAC53C94=y
762# CONFIG_PCMCIA_NINJA_SCSI is not set 781# CONFIG_PCMCIA_NINJA_SCSI is not set
763# CONFIG_PCMCIA_QLOGIC is not set 782# CONFIG_PCMCIA_QLOGIC is not set
764# CONFIG_PCMCIA_SYM53C500 is not set 783# CONFIG_PCMCIA_SYM53C500 is not set
765
766#
767# Serial ATA (prod) and Parallel ATA (experimental) drivers
768#
769# CONFIG_ATA is not set 784# CONFIG_ATA is not set
770 785
771# 786#
@@ -787,6 +802,7 @@ CONFIG_DM_SNAPSHOT=m
787CONFIG_DM_MIRROR=m 802CONFIG_DM_MIRROR=m
788CONFIG_DM_ZERO=m 803CONFIG_DM_ZERO=m
789# CONFIG_DM_MULTIPATH is not set 804# CONFIG_DM_MULTIPATH is not set
805# CONFIG_DM_DELAY is not set
790 806
791# 807#
792# Fusion MPT device support 808# Fusion MPT device support
@@ -799,28 +815,26 @@ CONFIG_DM_ZERO=m
799# 815#
800# IEEE 1394 (FireWire) support 816# IEEE 1394 (FireWire) support
801# 817#
818# CONFIG_FIREWIRE is not set
802CONFIG_IEEE1394=m 819CONFIG_IEEE1394=m
803 820
804# 821#
805# Subsystem Options 822# Subsystem Options
806# 823#
807# CONFIG_IEEE1394_VERBOSEDEBUG is not set 824# CONFIG_IEEE1394_VERBOSEDEBUG is not set
808# CONFIG_IEEE1394_OUI_DB is not set
809CONFIG_IEEE1394_EXTRA_CONFIG_ROMS=y
810CONFIG_IEEE1394_CONFIG_ROM_IP1394=y
811# CONFIG_IEEE1394_EXPORT_FULL_API is not set
812 825
813# 826#
814# Device Drivers 827# Controllers
815# 828#
816# CONFIG_IEEE1394_PCILYNX is not set 829# CONFIG_IEEE1394_PCILYNX is not set
817CONFIG_IEEE1394_OHCI1394=m 830CONFIG_IEEE1394_OHCI1394=m
818 831
819# 832#
820# Protocol Drivers 833# Protocols
821# 834#
822CONFIG_IEEE1394_VIDEO1394=m 835CONFIG_IEEE1394_VIDEO1394=m
823CONFIG_IEEE1394_SBP2=m 836CONFIG_IEEE1394_SBP2=m
837# CONFIG_IEEE1394_ETH1394_ROM_ENTRY is not set
824# CONFIG_IEEE1394_ETH1394 is not set 838# CONFIG_IEEE1394_ETH1394 is not set
825CONFIG_IEEE1394_DV1394=m 839CONFIG_IEEE1394_DV1394=m
826CONFIG_IEEE1394_RAWIO=m 840CONFIG_IEEE1394_RAWIO=m
@@ -829,10 +843,7 @@ CONFIG_IEEE1394_RAWIO=m
829# I2O device support 843# I2O device support
830# 844#
831# CONFIG_I2O is not set 845# CONFIG_I2O is not set
832 846CONFIG_MACINTOSH_DRIVERS=y
833#
834# Macintosh device drivers
835#
836CONFIG_ADB=y 847CONFIG_ADB=y
837CONFIG_ADB_CUDA=y 848CONFIG_ADB_CUDA=y
838CONFIG_ADB_PMU=y 849CONFIG_ADB_PMU=y
@@ -858,15 +869,7 @@ CONFIG_DUMMY=m
858# CONFIG_BONDING is not set 869# CONFIG_BONDING is not set
859# CONFIG_EQUALIZER is not set 870# CONFIG_EQUALIZER is not set
860CONFIG_TUN=m 871CONFIG_TUN=m
861
862#
863# ARCnet devices
864#
865# CONFIG_ARCNET is not set 872# CONFIG_ARCNET is not set
866
867#
868# PHY device support
869#
870# CONFIG_PHYLIB is not set 873# CONFIG_PHYLIB is not set
871 874
872# 875#
@@ -907,10 +910,8 @@ CONFIG_PCNET32=y
907# CONFIG_SUNDANCE is not set 910# CONFIG_SUNDANCE is not set
908# CONFIG_TLAN is not set 911# CONFIG_TLAN is not set
909# CONFIG_VIA_RHINE is not set 912# CONFIG_VIA_RHINE is not set
910 913# CONFIG_SC92031 is not set
911# 914CONFIG_NETDEV_1000=y
912# Ethernet (1000 Mbit)
913#
914# CONFIG_ACENIC is not set 915# CONFIG_ACENIC is not set
915# CONFIG_DL2K is not set 916# CONFIG_DL2K is not set
916# CONFIG_E1000 is not set 917# CONFIG_E1000 is not set
@@ -927,77 +928,62 @@ CONFIG_PCNET32=y
927# CONFIG_BNX2 is not set 928# CONFIG_BNX2 is not set
928# CONFIG_MV643XX_ETH is not set 929# CONFIG_MV643XX_ETH is not set
929# CONFIG_QLA3XXX is not set 930# CONFIG_QLA3XXX is not set
930 931# CONFIG_ATL1 is not set
931# 932CONFIG_NETDEV_10000=y
932# Ethernet (10000 Mbit)
933#
934# CONFIG_CHELSIO_T1 is not set 933# CONFIG_CHELSIO_T1 is not set
934# CONFIG_CHELSIO_T3 is not set
935# CONFIG_IXGB is not set 935# CONFIG_IXGB is not set
936# CONFIG_S2IO is not set 936# CONFIG_S2IO is not set
937# CONFIG_MYRI10GE is not set 937# CONFIG_MYRI10GE is not set
938# CONFIG_NETXEN_NIC is not set 938# CONFIG_NETXEN_NIC is not set
939 939# CONFIG_MLX4_CORE is not set
940#
941# Token Ring devices
942#
943# CONFIG_TR is not set 940# CONFIG_TR is not set
944 941
945# 942#
946# Wireless LAN (non-hamradio) 943# Wireless LAN
947#
948CONFIG_NET_RADIO=y
949# CONFIG_NET_WIRELESS_RTNETLINK is not set
950
951#
952# Obsolete Wireless cards support (pre-802.11)
953#
954# CONFIG_STRIP is not set
955# CONFIG_PCMCIA_WAVELAN is not set
956# CONFIG_PCMCIA_NETWAVE is not set
957
958#
959# Wireless 802.11 Frequency Hopping cards support
960# 944#
945# CONFIG_WLAN_PRE80211 is not set
946CONFIG_WLAN_80211=y
961# CONFIG_PCMCIA_RAYCS is not set 947# CONFIG_PCMCIA_RAYCS is not set
962
963#
964# Wireless 802.11b ISA/PCI cards support
965#
966# CONFIG_IPW2100 is not set 948# CONFIG_IPW2100 is not set
967# CONFIG_IPW2200 is not set 949# CONFIG_IPW2200 is not set
950# CONFIG_LIBERTAS is not set
968# CONFIG_AIRO is not set 951# CONFIG_AIRO is not set
969CONFIG_HERMES=m 952CONFIG_HERMES=m
970CONFIG_APPLE_AIRPORT=m 953CONFIG_APPLE_AIRPORT=m
971# CONFIG_PLX_HERMES is not set 954# CONFIG_PLX_HERMES is not set
972# CONFIG_TMD_HERMES is not set 955# CONFIG_TMD_HERMES is not set
973# CONFIG_NORTEL_HERMES is not set 956# CONFIG_NORTEL_HERMES is not set
974# CONFIG_PCI_HERMES is not set 957CONFIG_PCI_HERMES=m
975# CONFIG_ATMEL is not set 958# CONFIG_ATMEL is not set
976 959CONFIG_PCMCIA_HERMES=m
977#
978# Wireless 802.11b Pcmcia/Cardbus cards support
979#
980# CONFIG_PCMCIA_HERMES is not set
981# CONFIG_PCMCIA_SPECTRUM is not set 960# CONFIG_PCMCIA_SPECTRUM is not set
982# CONFIG_AIRO_CS is not set 961# CONFIG_AIRO_CS is not set
983# CONFIG_PCMCIA_WL3501 is not set 962# CONFIG_PCMCIA_WL3501 is not set
984
985#
986# Prism GT/Duette 802.11(a/b/g) PCI/Cardbus support
987#
988CONFIG_PRISM54=m 963CONFIG_PRISM54=m
989# CONFIG_USB_ZD1201 is not set 964# CONFIG_USB_ZD1201 is not set
990# CONFIG_HOSTAP is not set 965# CONFIG_HOSTAP is not set
991CONFIG_NET_WIRELESS=y
992 966
993# 967#
994# PCMCIA network device support 968# USB Network Adapters
995# 969#
970# CONFIG_USB_CATC is not set
971# CONFIG_USB_KAWETH is not set
972# CONFIG_USB_PEGASUS is not set
973# CONFIG_USB_RTL8150 is not set
974CONFIG_USB_USBNET_MII=m
975CONFIG_USB_USBNET=m
976CONFIG_USB_NET_AX8817X=m
977CONFIG_USB_NET_CDCETHER=m
978# CONFIG_USB_NET_DM9601 is not set
979# CONFIG_USB_NET_GL620A is not set
980CONFIG_USB_NET_NET1080=m
981# CONFIG_USB_NET_PLUSB is not set
982# CONFIG_USB_NET_MCS7830 is not set
983# CONFIG_USB_NET_RNDIS_HOST is not set
984# CONFIG_USB_NET_CDC_SUBSET is not set
985CONFIG_USB_NET_ZAURUS=m
996# CONFIG_NET_PCMCIA is not set 986# CONFIG_NET_PCMCIA is not set
997
998#
999# Wan interfaces
1000#
1001# CONFIG_WAN is not set 987# CONFIG_WAN is not set
1002# CONFIG_FDDI is not set 988# CONFIG_FDDI is not set
1003# CONFIG_HIPPI is not set 989# CONFIG_HIPPI is not set
@@ -1033,6 +1019,7 @@ CONFIG_SLHC=y
1033# 1019#
1034CONFIG_INPUT=y 1020CONFIG_INPUT=y
1035# CONFIG_INPUT_FF_MEMLESS is not set 1021# CONFIG_INPUT_FF_MEMLESS is not set
1022# CONFIG_INPUT_POLLDEV is not set
1036 1023
1037# 1024#
1038# Userland interfaces 1025# Userland interfaces
@@ -1059,8 +1046,10 @@ CONFIG_INPUT_KEYBOARD=y
1059CONFIG_INPUT_MOUSE=y 1046CONFIG_INPUT_MOUSE=y
1060# CONFIG_MOUSE_PS2 is not set 1047# CONFIG_MOUSE_PS2 is not set
1061# CONFIG_MOUSE_SERIAL is not set 1048# CONFIG_MOUSE_SERIAL is not set
1049# CONFIG_MOUSE_APPLETOUCH is not set
1062# CONFIG_MOUSE_VSXXXAA is not set 1050# CONFIG_MOUSE_VSXXXAA is not set
1063# CONFIG_INPUT_JOYSTICK is not set 1051# CONFIG_INPUT_JOYSTICK is not set
1052# CONFIG_INPUT_TABLET is not set
1064# CONFIG_INPUT_TOUCHSCREEN is not set 1053# CONFIG_INPUT_TOUCHSCREEN is not set
1065# CONFIG_INPUT_MISC is not set 1054# CONFIG_INPUT_MISC is not set
1066 1055
@@ -1100,6 +1089,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4
1100CONFIG_SERIAL_CORE=m 1089CONFIG_SERIAL_CORE=m
1101CONFIG_SERIAL_PMACZILOG=m 1090CONFIG_SERIAL_PMACZILOG=m
1102# CONFIG_SERIAL_JSM is not set 1091# CONFIG_SERIAL_JSM is not set
1092# CONFIG_SERIAL_OF_PLATFORM is not set
1103CONFIG_UNIX98_PTYS=y 1093CONFIG_UNIX98_PTYS=y
1104CONFIG_LEGACY_PTYS=y 1094CONFIG_LEGACY_PTYS=y
1105CONFIG_LEGACY_PTY_COUNT=256 1095CONFIG_LEGACY_PTY_COUNT=256
@@ -1108,16 +1098,11 @@ CONFIG_LEGACY_PTY_COUNT=256
1108# IPMI 1098# IPMI
1109# 1099#
1110# CONFIG_IPMI_HANDLER is not set 1100# CONFIG_IPMI_HANDLER is not set
1111
1112#
1113# Watchdog Cards
1114#
1115# CONFIG_WATCHDOG is not set 1101# CONFIG_WATCHDOG is not set
1116# CONFIG_HW_RANDOM is not set 1102# CONFIG_HW_RANDOM is not set
1117CONFIG_NVRAM=y 1103CONFIG_NVRAM=y
1118CONFIG_GEN_RTC=y 1104CONFIG_GEN_RTC=y
1119# CONFIG_GEN_RTC_X is not set 1105# CONFIG_GEN_RTC_X is not set
1120# CONFIG_DTLK is not set
1121# CONFIG_R3964 is not set 1106# CONFIG_R3964 is not set
1122# CONFIG_APPLICOM is not set 1107# CONFIG_APPLICOM is not set
1123CONFIG_AGP=m 1108CONFIG_AGP=m
@@ -1143,11 +1128,9 @@ CONFIG_DRM_RADEON=m
1143# TPM devices 1128# TPM devices
1144# 1129#
1145# CONFIG_TCG_TPM is not set 1130# CONFIG_TCG_TPM is not set
1146 1131CONFIG_DEVPORT=y
1147#
1148# I2C support
1149#
1150CONFIG_I2C=y 1132CONFIG_I2C=y
1133CONFIG_I2C_BOARDINFO=y
1151CONFIG_I2C_CHARDEV=m 1134CONFIG_I2C_CHARDEV=m
1152 1135
1153# 1136#
@@ -1175,14 +1158,15 @@ CONFIG_I2C_POWERMAC=y
1175# CONFIG_I2C_PARPORT_LIGHT is not set 1158# CONFIG_I2C_PARPORT_LIGHT is not set
1176# CONFIG_I2C_PROSAVAGE is not set 1159# CONFIG_I2C_PROSAVAGE is not set
1177# CONFIG_I2C_SAVAGE4 is not set 1160# CONFIG_I2C_SAVAGE4 is not set
1161# CONFIG_I2C_SIMTEC is not set
1178# CONFIG_I2C_SIS5595 is not set 1162# CONFIG_I2C_SIS5595 is not set
1179# CONFIG_I2C_SIS630 is not set 1163# CONFIG_I2C_SIS630 is not set
1180# CONFIG_I2C_SIS96X is not set 1164# CONFIG_I2C_SIS96X is not set
1181# CONFIG_I2C_STUB is not set 1165# CONFIG_I2C_STUB is not set
1166# CONFIG_I2C_TINY_USB is not set
1182# CONFIG_I2C_VIA is not set 1167# CONFIG_I2C_VIA is not set
1183# CONFIG_I2C_VIAPRO is not set 1168# CONFIG_I2C_VIAPRO is not set
1184# CONFIG_I2C_VOODOO3 is not set 1169# CONFIG_I2C_VOODOO3 is not set
1185# CONFIG_I2C_PCA_ISA is not set
1186 1170
1187# 1171#
1188# Miscellaneous I2C Chip support 1172# Miscellaneous I2C Chip support
@@ -1210,37 +1194,56 @@ CONFIG_I2C_POWERMAC=y
1210# Dallas's 1-wire bus 1194# Dallas's 1-wire bus
1211# 1195#
1212# CONFIG_W1 is not set 1196# CONFIG_W1 is not set
1197# CONFIG_HWMON is not set
1213 1198
1214# 1199#
1215# Hardware Monitoring support 1200# Multifunction device drivers
1216# 1201#
1217# CONFIG_HWMON is not set 1202# CONFIG_MFD_SM501 is not set
1218# CONFIG_HWMON_VID is not set
1219 1203
1220# 1204#
1221# Multimedia devices 1205# Multimedia devices
1222# 1206#
1223# CONFIG_VIDEO_DEV is not set 1207# CONFIG_VIDEO_DEV is not set
1208# CONFIG_DVB_CORE is not set
1209# CONFIG_DAB is not set
1224 1210
1225# 1211#
1226# Digital Video Broadcasting Devices 1212# Graphics support
1227# 1213#
1228# CONFIG_DVB is not set 1214CONFIG_BACKLIGHT_LCD_SUPPORT=y
1229# CONFIG_USB_DABUSB is not set 1215CONFIG_BACKLIGHT_CLASS_DEVICE=y
1216CONFIG_LCD_CLASS_DEVICE=m
1230 1217
1231# 1218#
1232# Graphics support 1219# Display device support
1233# 1220#
1234# CONFIG_FIRMWARE_EDID is not set 1221CONFIG_DISPLAY_SUPPORT=y
1222
1223#
1224# Display hardware drivers
1225#
1226CONFIG_VGASTATE=y
1235CONFIG_FB=y 1227CONFIG_FB=y
1228# CONFIG_FIRMWARE_EDID is not set
1236CONFIG_FB_DDC=y 1229CONFIG_FB_DDC=y
1237CONFIG_FB_CFB_FILLRECT=y 1230CONFIG_FB_CFB_FILLRECT=y
1238CONFIG_FB_CFB_COPYAREA=y 1231CONFIG_FB_CFB_COPYAREA=y
1239CONFIG_FB_CFB_IMAGEBLIT=y 1232CONFIG_FB_CFB_IMAGEBLIT=y
1233# CONFIG_FB_SYS_FILLRECT is not set
1234# CONFIG_FB_SYS_COPYAREA is not set
1235# CONFIG_FB_SYS_IMAGEBLIT is not set
1236# CONFIG_FB_SYS_FOPS is not set
1237CONFIG_FB_DEFERRED_IO=y
1238# CONFIG_FB_SVGALIB is not set
1240CONFIG_FB_MACMODES=y 1239CONFIG_FB_MACMODES=y
1241CONFIG_FB_BACKLIGHT=y 1240CONFIG_FB_BACKLIGHT=y
1242CONFIG_FB_MODE_HELPERS=y 1241CONFIG_FB_MODE_HELPERS=y
1243CONFIG_FB_TILEBLITTING=y 1242CONFIG_FB_TILEBLITTING=y
1243
1244#
1245# Frame buffer hardware drivers
1246#
1244# CONFIG_FB_CIRRUS is not set 1247# CONFIG_FB_CIRRUS is not set
1245# CONFIG_FB_PM2 is not set 1248# CONFIG_FB_PM2 is not set
1246# CONFIG_FB_CYBER2000 is not set 1249# CONFIG_FB_CYBER2000 is not set
@@ -1255,6 +1258,7 @@ CONFIG_FB_IMSTT=y
1255# CONFIG_FB_S1D13XXX is not set 1258# CONFIG_FB_S1D13XXX is not set
1256CONFIG_FB_NVIDIA=y 1259CONFIG_FB_NVIDIA=y
1257CONFIG_FB_NVIDIA_I2C=y 1260CONFIG_FB_NVIDIA_I2C=y
1261# CONFIG_FB_NVIDIA_DEBUG is not set
1258CONFIG_FB_NVIDIA_BACKLIGHT=y 1262CONFIG_FB_NVIDIA_BACKLIGHT=y
1259# CONFIG_FB_RIVA is not set 1263# CONFIG_FB_RIVA is not set
1260CONFIG_FB_MATROX=y 1264CONFIG_FB_MATROX=y
@@ -1274,6 +1278,7 @@ CONFIG_FB_ATY_CT=y
1274# CONFIG_FB_ATY_GENERIC_LCD is not set 1278# CONFIG_FB_ATY_GENERIC_LCD is not set
1275CONFIG_FB_ATY_GX=y 1279CONFIG_FB_ATY_GX=y
1276CONFIG_FB_ATY_BACKLIGHT=y 1280CONFIG_FB_ATY_BACKLIGHT=y
1281# CONFIG_FB_S3 is not set
1277# CONFIG_FB_SAVAGE is not set 1282# CONFIG_FB_SAVAGE is not set
1278# CONFIG_FB_SIS is not set 1283# CONFIG_FB_SIS is not set
1279# CONFIG_FB_NEOMAGIC is not set 1284# CONFIG_FB_NEOMAGIC is not set
@@ -1281,7 +1286,10 @@ CONFIG_FB_ATY_BACKLIGHT=y
1281CONFIG_FB_3DFX=y 1286CONFIG_FB_3DFX=y
1282# CONFIG_FB_3DFX_ACCEL is not set 1287# CONFIG_FB_3DFX_ACCEL is not set
1283# CONFIG_FB_VOODOO1 is not set 1288# CONFIG_FB_VOODOO1 is not set
1289# CONFIG_FB_VT8623 is not set
1284# CONFIG_FB_TRIDENT is not set 1290# CONFIG_FB_TRIDENT is not set
1291# CONFIG_FB_ARK is not set
1292# CONFIG_FB_PM3 is not set
1285# CONFIG_FB_IBM_GXT4500 is not set 1293# CONFIG_FB_IBM_GXT4500 is not set
1286# CONFIG_FB_VIRTUAL is not set 1294# CONFIG_FB_VIRTUAL is not set
1287 1295
@@ -1295,26 +1303,15 @@ CONFIG_FRAMEBUFFER_CONSOLE=y
1295# CONFIG_FONTS is not set 1303# CONFIG_FONTS is not set
1296CONFIG_FONT_8x8=y 1304CONFIG_FONT_8x8=y
1297CONFIG_FONT_8x16=y 1305CONFIG_FONT_8x16=y
1298
1299#
1300# Logo configuration
1301#
1302CONFIG_LOGO=y 1306CONFIG_LOGO=y
1303CONFIG_LOGO_LINUX_MONO=y 1307CONFIG_LOGO_LINUX_MONO=y
1304CONFIG_LOGO_LINUX_VGA16=y 1308CONFIG_LOGO_LINUX_VGA16=y
1305CONFIG_LOGO_LINUX_CLUT224=y 1309CONFIG_LOGO_LINUX_CLUT224=y
1306CONFIG_BACKLIGHT_LCD_SUPPORT=y
1307CONFIG_BACKLIGHT_CLASS_DEVICE=y
1308CONFIG_BACKLIGHT_DEVICE=y
1309CONFIG_LCD_CLASS_DEVICE=m
1310CONFIG_LCD_DEVICE=y
1311 1310
1312# 1311#
1313# Sound 1312# Sound
1314# 1313#
1315CONFIG_SOUND=m 1314CONFIG_SOUND=m
1316CONFIG_DMASOUND_PMAC=m
1317CONFIG_DMASOUND=m
1318 1315
1319# 1316#
1320# Advanced Linux Sound Architecture 1317# Advanced Linux Sound Architecture
@@ -1428,6 +1425,7 @@ CONFIG_SND_AOA_SOUNDBUS_I2S=m
1428# 1425#
1429CONFIG_SND_USB_AUDIO=m 1426CONFIG_SND_USB_AUDIO=m
1430# CONFIG_SND_USB_USX2Y is not set 1427# CONFIG_SND_USB_USX2Y is not set
1428# CONFIG_SND_USB_CAIAQ is not set
1431 1429
1432# 1430#
1433# PCMCIA devices 1431# PCMCIA devices
@@ -1436,6 +1434,11 @@ CONFIG_SND_USB_AUDIO=m
1436# CONFIG_SND_PDAUDIOCF is not set 1434# CONFIG_SND_PDAUDIOCF is not set
1437 1435
1438# 1436#
1437# System on Chip audio support
1438#
1439# CONFIG_SND_SOC is not set
1440
1441#
1439# Open Sound System 1442# Open Sound System
1440# 1443#
1441# CONFIG_SOUND_PRIME is not set 1444# CONFIG_SOUND_PRIME is not set
@@ -1444,6 +1447,15 @@ CONFIG_SND_USB_AUDIO=m
1444# HID Devices 1447# HID Devices
1445# 1448#
1446CONFIG_HID=y 1449CONFIG_HID=y
1450# CONFIG_HID_DEBUG is not set
1451
1452#
1453# USB Input Devices
1454#
1455CONFIG_USB_HID=y
1456CONFIG_USB_HIDINPUT_POWERBOOK=y
1457# CONFIG_HID_FF is not set
1458# CONFIG_USB_HIDDEV is not set
1447 1459
1448# 1460#
1449# USB support 1461# USB support
@@ -1458,10 +1470,9 @@ CONFIG_USB=y
1458# Miscellaneous USB options 1470# Miscellaneous USB options
1459# 1471#
1460CONFIG_USB_DEVICEFS=y 1472CONFIG_USB_DEVICEFS=y
1461# CONFIG_USB_BANDWIDTH is not set 1473CONFIG_USB_DEVICE_CLASS=y
1462CONFIG_USB_DYNAMIC_MINORS=y 1474CONFIG_USB_DYNAMIC_MINORS=y
1463# CONFIG_USB_SUSPEND is not set 1475# CONFIG_USB_SUSPEND is not set
1464# CONFIG_USB_MULTITHREAD_PROBE is not set
1465# CONFIG_USB_OTG is not set 1476# CONFIG_USB_OTG is not set
1466 1477
1467# 1478#
@@ -1471,9 +1482,12 @@ CONFIG_USB_EHCI_HCD=m
1471CONFIG_USB_EHCI_SPLIT_ISO=y 1482CONFIG_USB_EHCI_SPLIT_ISO=y
1472CONFIG_USB_EHCI_ROOT_HUB_TT=y 1483CONFIG_USB_EHCI_ROOT_HUB_TT=y
1473# CONFIG_USB_EHCI_TT_NEWSCHED is not set 1484# CONFIG_USB_EHCI_TT_NEWSCHED is not set
1485# CONFIG_USB_EHCI_BIG_ENDIAN_MMIO is not set
1474# CONFIG_USB_ISP116X_HCD is not set 1486# CONFIG_USB_ISP116X_HCD is not set
1475CONFIG_USB_OHCI_HCD=y 1487CONFIG_USB_OHCI_HCD=y
1476# CONFIG_USB_OHCI_BIG_ENDIAN is not set 1488# CONFIG_USB_OHCI_HCD_PPC_OF is not set
1489# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
1490# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
1477CONFIG_USB_OHCI_LITTLE_ENDIAN=y 1491CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1478# CONFIG_USB_UHCI_HCD is not set 1492# CONFIG_USB_UHCI_HCD is not set
1479# CONFIG_USB_SL811_HCD is not set 1493# CONFIG_USB_SL811_HCD is not set
@@ -1506,49 +1520,10 @@ CONFIG_USB_STORAGE=m
1506# CONFIG_USB_LIBUSUAL is not set 1520# CONFIG_USB_LIBUSUAL is not set
1507 1521
1508# 1522#
1509# USB Input Devices
1510#
1511CONFIG_USB_HID=y
1512CONFIG_USB_HIDINPUT_POWERBOOK=y
1513# CONFIG_HID_FF is not set
1514# CONFIG_USB_HIDDEV is not set
1515# CONFIG_USB_AIPTEK is not set
1516# CONFIG_USB_WACOM is not set
1517# CONFIG_USB_ACECAD is not set
1518# CONFIG_USB_KBTAB is not set
1519# CONFIG_USB_POWERMATE is not set
1520# CONFIG_USB_TOUCHSCREEN is not set
1521# CONFIG_USB_YEALINK is not set
1522# CONFIG_USB_XPAD is not set
1523# CONFIG_USB_ATI_REMOTE is not set
1524# CONFIG_USB_ATI_REMOTE2 is not set
1525# CONFIG_USB_KEYSPAN_REMOTE is not set
1526CONFIG_USB_APPLETOUCH=y
1527
1528#
1529# USB Imaging devices 1523# USB Imaging devices
1530# 1524#
1531# CONFIG_USB_MDC800 is not set 1525# CONFIG_USB_MDC800 is not set
1532# CONFIG_USB_MICROTEK is not set 1526# CONFIG_USB_MICROTEK is not set
1533
1534#
1535# USB Network Adapters
1536#
1537# CONFIG_USB_CATC is not set
1538# CONFIG_USB_KAWETH is not set
1539# CONFIG_USB_PEGASUS is not set
1540# CONFIG_USB_RTL8150 is not set
1541CONFIG_USB_USBNET_MII=m
1542CONFIG_USB_USBNET=m
1543CONFIG_USB_NET_AX8817X=m
1544CONFIG_USB_NET_CDCETHER=m
1545# CONFIG_USB_NET_GL620A is not set
1546CONFIG_USB_NET_NET1080=m
1547# CONFIG_USB_NET_PLUSB is not set
1548# CONFIG_USB_NET_MCS7830 is not set
1549# CONFIG_USB_NET_RNDIS_HOST is not set
1550# CONFIG_USB_NET_CDC_SUBSET is not set
1551CONFIG_USB_NET_ZAURUS=m
1552CONFIG_USB_MON=y 1527CONFIG_USB_MON=y
1553 1528
1554# 1529#
@@ -1620,6 +1595,7 @@ CONFIG_USB_EZUSB=y
1620# CONFIG_USB_RIO500 is not set 1595# CONFIG_USB_RIO500 is not set
1621# CONFIG_USB_LEGOTOWER is not set 1596# CONFIG_USB_LEGOTOWER is not set
1622# CONFIG_USB_LCD is not set 1597# CONFIG_USB_LCD is not set
1598# CONFIG_USB_BERRY_CHARGE is not set
1623# CONFIG_USB_LED is not set 1599# CONFIG_USB_LED is not set
1624# CONFIG_USB_CYPRESS_CY7C63 is not set 1600# CONFIG_USB_CYPRESS_CY7C63 is not set
1625# CONFIG_USB_CYTHERM is not set 1601# CONFIG_USB_CYTHERM is not set
@@ -1630,6 +1606,7 @@ CONFIG_USB_APPLEDISPLAY=m
1630# CONFIG_USB_SISUSBVGA is not set 1606# CONFIG_USB_SISUSBVGA is not set
1631# CONFIG_USB_LD is not set 1607# CONFIG_USB_LD is not set
1632# CONFIG_USB_TRANCEVIBRATOR is not set 1608# CONFIG_USB_TRANCEVIBRATOR is not set
1609# CONFIG_USB_IOWARRIOR is not set
1633# CONFIG_USB_TEST is not set 1610# CONFIG_USB_TEST is not set
1634 1611
1635# 1612#
@@ -1640,10 +1617,6 @@ CONFIG_USB_APPLEDISPLAY=m
1640# USB Gadget Support 1617# USB Gadget Support
1641# 1618#
1642# CONFIG_USB_GADGET is not set 1619# CONFIG_USB_GADGET is not set
1643
1644#
1645# MMC/SD Card support
1646#
1647# CONFIG_MMC is not set 1620# CONFIG_MMC is not set
1648 1621
1649# 1622#
@@ -1676,6 +1649,7 @@ CONFIG_LEDS_TRIGGER_IDE_DISK=y
1676# 1649#
1677# Real Time Clock 1650# Real Time Clock
1678# 1651#
1652CONFIG_RTC_LIB=y
1679# CONFIG_RTC_CLASS is not set 1653# CONFIG_RTC_CLASS is not set
1680 1654
1681# 1655#
@@ -1692,10 +1666,6 @@ CONFIG_LEDS_TRIGGER_IDE_DISK=y
1692# 1666#
1693 1667
1694# 1668#
1695# Virtualization
1696#
1697
1698#
1699# File systems 1669# File systems
1700# 1670#
1701CONFIG_EXT2_FS=y 1671CONFIG_EXT2_FS=y
@@ -1731,7 +1701,6 @@ CONFIG_FUSE_FS=m
1731CONFIG_ISO9660_FS=y 1701CONFIG_ISO9660_FS=y
1732CONFIG_JOLIET=y 1702CONFIG_JOLIET=y
1733CONFIG_ZISOFS=y 1703CONFIG_ZISOFS=y
1734CONFIG_ZISOFS_FS=y
1735CONFIG_UDF_FS=m 1704CONFIG_UDF_FS=m
1736CONFIG_UDF_NLS=y 1705CONFIG_UDF_NLS=y
1737 1706
@@ -1796,6 +1765,7 @@ CONFIG_NFS_ACL_SUPPORT=y
1796CONFIG_NFS_COMMON=y 1765CONFIG_NFS_COMMON=y
1797CONFIG_SUNRPC=y 1766CONFIG_SUNRPC=y
1798CONFIG_SUNRPC_GSS=y 1767CONFIG_SUNRPC_GSS=y
1768# CONFIG_SUNRPC_BIND34 is not set
1799CONFIG_RPCSEC_GSS_KRB5=y 1769CONFIG_RPCSEC_GSS_KRB5=y
1800# CONFIG_RPCSEC_GSS_SPKM3 is not set 1770# CONFIG_RPCSEC_GSS_SPKM3 is not set
1801CONFIG_SMB_FS=m 1771CONFIG_SMB_FS=m
@@ -1826,6 +1796,7 @@ CONFIG_MSDOS_PARTITION=y
1826# CONFIG_SUN_PARTITION is not set 1796# CONFIG_SUN_PARTITION is not set
1827# CONFIG_KARMA_PARTITION is not set 1797# CONFIG_KARMA_PARTITION is not set
1828# CONFIG_EFI_PARTITION is not set 1798# CONFIG_EFI_PARTITION is not set
1799# CONFIG_SYSV68_PARTITION is not set
1829 1800
1830# 1801#
1831# Native Language Support 1802# Native Language Support
@@ -1875,6 +1846,7 @@ CONFIG_NLS_UTF8=m
1875# Distributed Lock Manager 1846# Distributed Lock Manager
1876# 1847#
1877# CONFIG_DLM is not set 1848# CONFIG_DLM is not set
1849# CONFIG_UCC_SLOW is not set
1878 1850
1879# 1851#
1880# Library routines 1852# Library routines
@@ -1882,6 +1854,7 @@ CONFIG_NLS_UTF8=m
1882CONFIG_BITREVERSE=y 1854CONFIG_BITREVERSE=y
1883CONFIG_CRC_CCITT=y 1855CONFIG_CRC_CCITT=y
1884CONFIG_CRC16=y 1856CONFIG_CRC16=y
1857# CONFIG_CRC_ITU_T is not set
1885CONFIG_CRC32=y 1858CONFIG_CRC32=y
1886CONFIG_LIBCRC32C=m 1859CONFIG_LIBCRC32C=m
1887CONFIG_ZLIB_INFLATE=y 1860CONFIG_ZLIB_INFLATE=y
@@ -1891,13 +1864,16 @@ CONFIG_TEXTSEARCH_KMP=m
1891CONFIG_TEXTSEARCH_BM=m 1864CONFIG_TEXTSEARCH_BM=m
1892CONFIG_TEXTSEARCH_FSM=m 1865CONFIG_TEXTSEARCH_FSM=m
1893CONFIG_PLIST=y 1866CONFIG_PLIST=y
1894CONFIG_IOMAP_COPY=y 1867CONFIG_HAS_IOMEM=y
1868CONFIG_HAS_IOPORT=y
1869CONFIG_HAS_DMA=y
1895 1870
1896# 1871#
1897# Instrumentation Support 1872# Instrumentation Support
1898# 1873#
1899CONFIG_PROFILING=y 1874CONFIG_PROFILING=y
1900CONFIG_OPROFILE=y 1875CONFIG_OPROFILE=y
1876# CONFIG_KPROBES is not set
1901 1877
1902# 1878#
1903# Kernel hacking 1879# Kernel hacking
@@ -1909,15 +1885,15 @@ CONFIG_MAGIC_SYSRQ=y
1909# CONFIG_DEBUG_FS is not set 1885# CONFIG_DEBUG_FS is not set
1910# CONFIG_HEADERS_CHECK is not set 1886# CONFIG_HEADERS_CHECK is not set
1911CONFIG_DEBUG_KERNEL=y 1887CONFIG_DEBUG_KERNEL=y
1912CONFIG_LOG_BUF_SHIFT=14 1888# CONFIG_DEBUG_SHIRQ is not set
1913CONFIG_DETECT_SOFTLOCKUP=y 1889CONFIG_DETECT_SOFTLOCKUP=y
1914# CONFIG_SCHEDSTATS is not set 1890# CONFIG_SCHEDSTATS is not set
1891# CONFIG_TIMER_STATS is not set
1915# CONFIG_DEBUG_SLAB is not set 1892# CONFIG_DEBUG_SLAB is not set
1916# CONFIG_DEBUG_RT_MUTEXES is not set 1893# CONFIG_DEBUG_RT_MUTEXES is not set
1917# CONFIG_RT_MUTEX_TESTER is not set 1894# CONFIG_RT_MUTEX_TESTER is not set
1918# CONFIG_DEBUG_SPINLOCK is not set 1895# CONFIG_DEBUG_SPINLOCK is not set
1919# CONFIG_DEBUG_MUTEXES is not set 1896# CONFIG_DEBUG_MUTEXES is not set
1920# CONFIG_DEBUG_RWSEMS is not set
1921# CONFIG_DEBUG_SPINLOCK_SLEEP is not set 1897# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1922# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set 1898# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1923# CONFIG_DEBUG_KOBJECT is not set 1899# CONFIG_DEBUG_KOBJECT is not set
@@ -1927,6 +1903,9 @@ CONFIG_DEBUG_BUGVERBOSE=y
1927# CONFIG_DEBUG_LIST is not set 1903# CONFIG_DEBUG_LIST is not set
1928# CONFIG_FORCED_INLINING is not set 1904# CONFIG_FORCED_INLINING is not set
1929# CONFIG_RCU_TORTURE_TEST is not set 1905# CONFIG_RCU_TORTURE_TEST is not set
1906# CONFIG_FAULT_INJECTION is not set
1907# CONFIG_DEBUG_STACKOVERFLOW is not set
1908# CONFIG_DEBUG_STACK_USAGE is not set
1930CONFIG_DEBUGGER=y 1909CONFIG_DEBUGGER=y
1931CONFIG_XMON=y 1910CONFIG_XMON=y
1932CONFIG_XMON_DEFAULT=y 1911CONFIG_XMON_DEFAULT=y
@@ -1962,8 +1941,11 @@ CONFIG_CRYPTO_TGR192=m
1962# CONFIG_CRYPTO_GF128MUL is not set 1941# CONFIG_CRYPTO_GF128MUL is not set
1963CONFIG_CRYPTO_ECB=m 1942CONFIG_CRYPTO_ECB=m
1964CONFIG_CRYPTO_CBC=y 1943CONFIG_CRYPTO_CBC=y
1944CONFIG_CRYPTO_PCBC=m
1965# CONFIG_CRYPTO_LRW is not set 1945# CONFIG_CRYPTO_LRW is not set
1946# CONFIG_CRYPTO_CRYPTD is not set
1966CONFIG_CRYPTO_DES=y 1947CONFIG_CRYPTO_DES=y
1948# CONFIG_CRYPTO_FCRYPT is not set
1967CONFIG_CRYPTO_BLOWFISH=m 1949CONFIG_CRYPTO_BLOWFISH=m
1968CONFIG_CRYPTO_TWOFISH=m 1950CONFIG_CRYPTO_TWOFISH=m
1969CONFIG_CRYPTO_TWOFISH_COMMON=m 1951CONFIG_CRYPTO_TWOFISH_COMMON=m
@@ -1978,6 +1960,7 @@ CONFIG_CRYPTO_ANUBIS=m
1978CONFIG_CRYPTO_DEFLATE=m 1960CONFIG_CRYPTO_DEFLATE=m
1979CONFIG_CRYPTO_MICHAEL_MIC=m 1961CONFIG_CRYPTO_MICHAEL_MIC=m
1980CONFIG_CRYPTO_CRC32C=m 1962CONFIG_CRYPTO_CRC32C=m
1963# CONFIG_CRYPTO_CAMELLIA is not set
1981# CONFIG_CRYPTO_TEST is not set 1964# CONFIG_CRYPTO_TEST is not set
1982 1965
1983# 1966#
diff --git a/arch/powerpc/configs/ppc64_defconfig b/arch/powerpc/configs/ppc64_defconfig
index 126b9f87df25..6e503d98daba 100644
--- a/arch/powerpc/configs/ppc64_defconfig
+++ b/arch/powerpc/configs/ppc64_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.20-rc5 3# Linux kernel version: 2.6.22-rc6
4# Mon Jan 22 22:28:58 2007 4# Tue Jun 26 14:15:02 2007
5# 5#
6CONFIG_PPC64=y 6CONFIG_PPC64=y
7CONFIG_64BIT=y 7CONFIG_64BIT=y
@@ -27,6 +27,7 @@ CONFIG_GENERIC_TBSYNC=y
27CONFIG_AUDIT_ARCH=y 27CONFIG_AUDIT_ARCH=y
28CONFIG_GENERIC_BUG=y 28CONFIG_GENERIC_BUG=y
29# CONFIG_DEFAULT_UIMAGE is not set 29# CONFIG_DEFAULT_UIMAGE is not set
30CONFIG_PPC64_SWSUSP=y
30 31
31# 32#
32# Processor support 33# Processor support
@@ -41,6 +42,7 @@ CONFIG_PPC_DCR=y
41CONFIG_PPC_OF_PLATFORM_PCI=y 42CONFIG_PPC_OF_PLATFORM_PCI=y
42CONFIG_ALTIVEC=y 43CONFIG_ALTIVEC=y
43CONFIG_PPC_STD_MMU=y 44CONFIG_PPC_STD_MMU=y
45CONFIG_PPC_MM_SLICES=y
44CONFIG_VIRT_CPU_ACCOUNTING=y 46CONFIG_VIRT_CPU_ACCOUNTING=y
45CONFIG_SMP=y 47CONFIG_SMP=y
46CONFIG_NR_CPUS=32 48CONFIG_NR_CPUS=32
@@ -61,20 +63,23 @@ CONFIG_LOCALVERSION_AUTO=y
61CONFIG_SWAP=y 63CONFIG_SWAP=y
62CONFIG_SYSVIPC=y 64CONFIG_SYSVIPC=y
63# CONFIG_IPC_NS is not set 65# CONFIG_IPC_NS is not set
66CONFIG_SYSVIPC_SYSCTL=y
64CONFIG_POSIX_MQUEUE=y 67CONFIG_POSIX_MQUEUE=y
65# CONFIG_BSD_PROCESS_ACCT is not set 68# CONFIG_BSD_PROCESS_ACCT is not set
66CONFIG_TASKSTATS=y 69CONFIG_TASKSTATS=y
67CONFIG_TASK_DELAY_ACCT=y 70CONFIG_TASK_DELAY_ACCT=y
71# CONFIG_TASK_XACCT is not set
68# CONFIG_UTS_NS is not set 72# CONFIG_UTS_NS is not set
69# CONFIG_AUDIT is not set 73# CONFIG_AUDIT is not set
70CONFIG_IKCONFIG=y 74CONFIG_IKCONFIG=y
71CONFIG_IKCONFIG_PROC=y 75CONFIG_IKCONFIG_PROC=y
76CONFIG_LOG_BUF_SHIFT=17
72CONFIG_CPUSETS=y 77CONFIG_CPUSETS=y
73CONFIG_SYSFS_DEPRECATED=y 78CONFIG_SYSFS_DEPRECATED=y
74CONFIG_RELAY=y 79CONFIG_RELAY=y
80CONFIG_BLK_DEV_INITRD=y
75CONFIG_INITRAMFS_SOURCE="" 81CONFIG_INITRAMFS_SOURCE=""
76CONFIG_CC_OPTIMIZE_FOR_SIZE=y 82CONFIG_CC_OPTIMIZE_FOR_SIZE=y
77# CONFIG_TASK_XACCT is not set
78CONFIG_SYSCTL=y 83CONFIG_SYSCTL=y
79# CONFIG_EMBEDDED is not set 84# CONFIG_EMBEDDED is not set
80CONFIG_SYSCTL_SYSCALL=y 85CONFIG_SYSCTL_SYSCALL=y
@@ -87,14 +92,19 @@ CONFIG_BUG=y
87CONFIG_ELF_CORE=y 92CONFIG_ELF_CORE=y
88CONFIG_BASE_FULL=y 93CONFIG_BASE_FULL=y
89CONFIG_FUTEX=y 94CONFIG_FUTEX=y
95CONFIG_ANON_INODES=y
90CONFIG_EPOLL=y 96CONFIG_EPOLL=y
97CONFIG_SIGNALFD=y
98CONFIG_TIMERFD=y
99CONFIG_EVENTFD=y
91CONFIG_SHMEM=y 100CONFIG_SHMEM=y
92CONFIG_SLAB=y
93CONFIG_VM_EVENT_COUNTERS=y 101CONFIG_VM_EVENT_COUNTERS=y
102CONFIG_SLAB=y
103# CONFIG_SLUB is not set
104# CONFIG_SLOB is not set
94CONFIG_RT_MUTEXES=y 105CONFIG_RT_MUTEXES=y
95# CONFIG_TINY_SHMEM is not set 106# CONFIG_TINY_SHMEM is not set
96CONFIG_BASE_SMALL=0 107CONFIG_BASE_SMALL=0
97# CONFIG_SLOB is not set
98 108
99# 109#
100# Loadable module support 110# Loadable module support
@@ -133,24 +143,54 @@ CONFIG_PPC_MULTIPLATFORM=y
133# CONFIG_EMBEDDED6xx is not set 143# CONFIG_EMBEDDED6xx is not set
134# CONFIG_APUS is not set 144# CONFIG_APUS is not set
135CONFIG_PPC_PSERIES=y 145CONFIG_PPC_PSERIES=y
146CONFIG_PPC_SPLPAR=y
147CONFIG_EEH=y
148CONFIG_SCANLOG=m
149CONFIG_LPARCFG=y
136CONFIG_PPC_ISERIES=y 150CONFIG_PPC_ISERIES=y
151
152#
153# iSeries device drivers
154#
155CONFIG_VIODASD=y
156CONFIG_VIOCD=m
157CONFIG_VIOTAPE=m
158CONFIG_VIOPATH=y
137# CONFIG_PPC_MPC52xx is not set 159# CONFIG_PPC_MPC52xx is not set
160# CONFIG_PPC_MPC5200 is not set
138CONFIG_PPC_PMAC=y 161CONFIG_PPC_PMAC=y
139CONFIG_PPC_PMAC64=y 162CONFIG_PPC_PMAC64=y
140CONFIG_PPC_MAPLE=y 163CONFIG_PPC_MAPLE=y
141# CONFIG_PPC_PASEMI is not set 164# CONFIG_PPC_PASEMI is not set
165CONFIG_PPC_CELLEB=y
166# CONFIG_PPC_PS3 is not set
142CONFIG_PPC_CELL=y 167CONFIG_PPC_CELL=y
143CONFIG_PPC_CELL_NATIVE=y 168CONFIG_PPC_CELL_NATIVE=y
144CONFIG_PPC_IBM_CELL_BLADE=y 169CONFIG_PPC_IBM_CELL_BLADE=y
145# CONFIG_PPC_PS3 is not set 170
171#
172# Cell Broadband Engine options
173#
174CONFIG_SPU_FS=m
175CONFIG_SPU_FS_64K_LS=y
176CONFIG_SPU_BASE=y
177CONFIG_CBE_RAS=y
178CONFIG_CBE_THERM=m
179CONFIG_CBE_CPUFREQ=m
180# CONFIG_PQ2ADS is not set
146CONFIG_PPC_NATIVE=y 181CONFIG_PPC_NATIVE=y
147CONFIG_UDBG_RTAS_CONSOLE=y 182CONFIG_UDBG_RTAS_CONSOLE=y
183CONFIG_PPC_UDBG_BEAT=y
148CONFIG_XICS=y 184CONFIG_XICS=y
185CONFIG_MPIC=y
186# CONFIG_MPIC_WEIRD is not set
187CONFIG_PPC_I8259=y
149CONFIG_U3_DART=y 188CONFIG_U3_DART=y
150CONFIG_PPC_RTAS=y 189CONFIG_PPC_RTAS=y
151CONFIG_RTAS_ERROR_LOGGING=y 190CONFIG_RTAS_ERROR_LOGGING=y
152CONFIG_RTAS_PROC=y 191CONFIG_RTAS_PROC=y
153CONFIG_RTAS_FLASH=m 192CONFIG_RTAS_FLASH=m
193CONFIG_PPC_PMI=m
154CONFIG_MMIO_NVRAM=y 194CONFIG_MMIO_NVRAM=y
155CONFIG_MPIC_U3_HT_IRQS=y 195CONFIG_MPIC_U3_HT_IRQS=y
156CONFIG_IBMVIO=y 196CONFIG_IBMVIO=y
@@ -171,18 +211,12 @@ CONFIG_CPU_FREQ_GOV_POWERSAVE=y
171CONFIG_CPU_FREQ_GOV_USERSPACE=y 211CONFIG_CPU_FREQ_GOV_USERSPACE=y
172# CONFIG_CPU_FREQ_GOV_ONDEMAND is not set 212# CONFIG_CPU_FREQ_GOV_ONDEMAND is not set
173# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set 213# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set
174CONFIG_CPU_FREQ_PMAC64=y
175# CONFIG_WANT_EARLY_SERIAL is not set
176CONFIG_MPIC=y
177 214
178# 215#
179# Cell Broadband Engine options 216# CPU Frequency drivers
180# 217#
181CONFIG_SPU_FS=m 218CONFIG_CPU_FREQ_PMAC64=y
182CONFIG_SPU_BASE=y 219# CONFIG_CPM2 is not set
183CONFIG_CBE_RAS=y
184CONFIG_CBE_THERM=m
185CONFIG_CBE_CPUFREQ=m
186 220
187# 221#
188# Kernel options 222# Kernel options
@@ -205,10 +239,6 @@ CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
205CONFIG_KEXEC=y 239CONFIG_KEXEC=y
206# CONFIG_CRASH_DUMP is not set 240# CONFIG_CRASH_DUMP is not set
207CONFIG_IRQ_ALL_CPUS=y 241CONFIG_IRQ_ALL_CPUS=y
208CONFIG_PPC_SPLPAR=y
209CONFIG_EEH=y
210CONFIG_SCANLOG=m
211CONFIG_LPARCFG=y
212# CONFIG_NUMA is not set 242# CONFIG_NUMA is not set
213CONFIG_ARCH_SELECT_MEMORY_MODEL=y 243CONFIG_ARCH_SELECT_MEMORY_MODEL=y
214CONFIG_ARCH_FLATMEM_ENABLE=y 244CONFIG_ARCH_FLATMEM_ENABLE=y
@@ -227,35 +257,35 @@ CONFIG_MEMORY_HOTPLUG=y
227CONFIG_MEMORY_HOTPLUG_SPARSE=y 257CONFIG_MEMORY_HOTPLUG_SPARSE=y
228CONFIG_SPLIT_PTLOCK_CPUS=4 258CONFIG_SPLIT_PTLOCK_CPUS=4
229CONFIG_RESOURCES_64BIT=y 259CONFIG_RESOURCES_64BIT=y
260CONFIG_ZONE_DMA_FLAG=1
230CONFIG_ARCH_MEMORY_PROBE=y 261CONFIG_ARCH_MEMORY_PROBE=y
262CONFIG_PPC_HAS_HASH_64K=y
231# CONFIG_PPC_64K_PAGES is not set 263# CONFIG_PPC_64K_PAGES is not set
232# CONFIG_SCHED_SMT is not set 264# CONFIG_SCHED_SMT is not set
233CONFIG_PROC_DEVICETREE=y 265CONFIG_PROC_DEVICETREE=y
234# CONFIG_CMDLINE_BOOL is not set 266# CONFIG_CMDLINE_BOOL is not set
235# CONFIG_PM is not set 267# CONFIG_PM is not set
236CONFIG_SECCOMP=y 268CONFIG_SECCOMP=y
269# CONFIG_WANT_DEVICE_TREE is not set
237CONFIG_ISA_DMA_API=y 270CONFIG_ISA_DMA_API=y
238 271
239# 272#
240# Bus options 273# Bus options
241# 274#
275CONFIG_ZONE_DMA=y
242CONFIG_GENERIC_ISA_DMA=y 276CONFIG_GENERIC_ISA_DMA=y
243# CONFIG_MPIC_WEIRD is not set
244CONFIG_PPC_I8259=y
245# CONFIG_PPC_INDIRECT_PCI is not set 277# CONFIG_PPC_INDIRECT_PCI is not set
246CONFIG_PCI=y 278CONFIG_PCI=y
247CONFIG_PCI_DOMAINS=y 279CONFIG_PCI_DOMAINS=y
248# CONFIG_PCIEPORTBUS is not set 280# CONFIG_PCIEPORTBUS is not set
281CONFIG_ARCH_SUPPORTS_MSI=y
282CONFIG_PCI_MSI=y
249# CONFIG_PCI_DEBUG is not set 283# CONFIG_PCI_DEBUG is not set
250 284
251# 285#
252# PCCARD (PCMCIA/CardBus) support 286# PCCARD (PCMCIA/CardBus) support
253# 287#
254# CONFIG_PCCARD is not set 288# CONFIG_PCCARD is not set
255
256#
257# PCI Hotplug Support
258#
259CONFIG_HOTPLUG_PCI=m 289CONFIG_HOTPLUG_PCI=m
260# CONFIG_HOTPLUG_PCI_FAKE is not set 290# CONFIG_HOTPLUG_PCI_FAKE is not set
261# CONFIG_HOTPLUG_PCI_CPCI is not set 291# CONFIG_HOTPLUG_PCI_CPCI is not set
@@ -272,14 +302,15 @@ CONFIG_NET=y
272# 302#
273# Networking options 303# Networking options
274# 304#
275# CONFIG_NETDEBUG is not set
276CONFIG_PACKET=y 305CONFIG_PACKET=y
277# CONFIG_PACKET_MMAP is not set 306# CONFIG_PACKET_MMAP is not set
278CONFIG_UNIX=y 307CONFIG_UNIX=y
279CONFIG_XFRM=y 308CONFIG_XFRM=y
280CONFIG_XFRM_USER=m 309CONFIG_XFRM_USER=m
281# CONFIG_XFRM_SUB_POLICY is not set 310# CONFIG_XFRM_SUB_POLICY is not set
311# CONFIG_XFRM_MIGRATE is not set
282CONFIG_NET_KEY=m 312CONFIG_NET_KEY=m
313# CONFIG_NET_KEY_MIGRATE is not set
283CONFIG_INET=y 314CONFIG_INET=y
284CONFIG_IP_MULTICAST=y 315CONFIG_IP_MULTICAST=y
285# CONFIG_IP_ADVANCED_ROUTER is not set 316# CONFIG_IP_ADVANCED_ROUTER is not set
@@ -304,10 +335,6 @@ CONFIG_INET_TCP_DIAG=y
304CONFIG_TCP_CONG_CUBIC=y 335CONFIG_TCP_CONG_CUBIC=y
305CONFIG_DEFAULT_TCP_CONG="cubic" 336CONFIG_DEFAULT_TCP_CONG="cubic"
306# CONFIG_TCP_MD5SIG is not set 337# CONFIG_TCP_MD5SIG is not set
307
308#
309# IP: Virtual Server Configuration
310#
311# CONFIG_IP_VS is not set 338# CONFIG_IP_VS is not set
312# CONFIG_IPV6 is not set 339# CONFIG_IPV6 is not set
313# CONFIG_INET6_XFRM_TUNNEL is not set 340# CONFIG_INET6_XFRM_TUNNEL is not set
@@ -323,8 +350,6 @@ CONFIG_NETFILTER_NETLINK=y
323CONFIG_NETFILTER_NETLINK_QUEUE=m 350CONFIG_NETFILTER_NETLINK_QUEUE=m
324CONFIG_NETFILTER_NETLINK_LOG=m 351CONFIG_NETFILTER_NETLINK_LOG=m
325CONFIG_NF_CONNTRACK_ENABLED=m 352CONFIG_NF_CONNTRACK_ENABLED=m
326CONFIG_NF_CONNTRACK_SUPPORT=y
327# CONFIG_IP_NF_CONNTRACK_SUPPORT is not set
328CONFIG_NF_CONNTRACK=m 353CONFIG_NF_CONNTRACK=m
329CONFIG_NF_CT_ACCT=y 354CONFIG_NF_CT_ACCT=y
330CONFIG_NF_CONNTRACK_MARK=y 355CONFIG_NF_CONNTRACK_MARK=y
@@ -337,10 +362,42 @@ CONFIG_NF_CONNTRACK_H323=m
337CONFIG_NF_CONNTRACK_IRC=m 362CONFIG_NF_CONNTRACK_IRC=m
338CONFIG_NF_CONNTRACK_NETBIOS_NS=m 363CONFIG_NF_CONNTRACK_NETBIOS_NS=m
339CONFIG_NF_CONNTRACK_PPTP=m 364CONFIG_NF_CONNTRACK_PPTP=m
365# CONFIG_NF_CONNTRACK_SANE is not set
340CONFIG_NF_CONNTRACK_SIP=m 366CONFIG_NF_CONNTRACK_SIP=m
341CONFIG_NF_CONNTRACK_TFTP=m 367CONFIG_NF_CONNTRACK_TFTP=m
342CONFIG_NF_CT_NETLINK=m 368CONFIG_NF_CT_NETLINK=m
343# CONFIG_NETFILTER_XTABLES is not set 369CONFIG_NETFILTER_XTABLES=m
370CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
371CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
372CONFIG_NETFILTER_XT_TARGET_DSCP=m
373CONFIG_NETFILTER_XT_TARGET_MARK=m
374CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
375CONFIG_NETFILTER_XT_TARGET_NFLOG=m
376CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
377CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
378CONFIG_NETFILTER_XT_MATCH_COMMENT=m
379CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
380CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
381CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
382CONFIG_NETFILTER_XT_MATCH_DCCP=m
383CONFIG_NETFILTER_XT_MATCH_DSCP=m
384CONFIG_NETFILTER_XT_MATCH_ESP=m
385CONFIG_NETFILTER_XT_MATCH_HELPER=m
386CONFIG_NETFILTER_XT_MATCH_LENGTH=m
387CONFIG_NETFILTER_XT_MATCH_LIMIT=m
388CONFIG_NETFILTER_XT_MATCH_MAC=m
389CONFIG_NETFILTER_XT_MATCH_MARK=m
390CONFIG_NETFILTER_XT_MATCH_POLICY=m
391CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
392CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
393CONFIG_NETFILTER_XT_MATCH_QUOTA=m
394CONFIG_NETFILTER_XT_MATCH_REALM=m
395CONFIG_NETFILTER_XT_MATCH_SCTP=m
396CONFIG_NETFILTER_XT_MATCH_STATE=m
397CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
398CONFIG_NETFILTER_XT_MATCH_STRING=m
399CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
400CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
344 401
345# 402#
346# IP: Netfilter Configuration 403# IP: Netfilter Configuration
@@ -348,20 +405,45 @@ CONFIG_NF_CT_NETLINK=m
348CONFIG_NF_CONNTRACK_IPV4=m 405CONFIG_NF_CONNTRACK_IPV4=m
349CONFIG_NF_CONNTRACK_PROC_COMPAT=y 406CONFIG_NF_CONNTRACK_PROC_COMPAT=y
350CONFIG_IP_NF_QUEUE=m 407CONFIG_IP_NF_QUEUE=m
351 408CONFIG_IP_NF_IPTABLES=m
352# 409CONFIG_IP_NF_MATCH_IPRANGE=m
353# DCCP Configuration (EXPERIMENTAL) 410CONFIG_IP_NF_MATCH_TOS=m
354# 411CONFIG_IP_NF_MATCH_RECENT=m
412CONFIG_IP_NF_MATCH_ECN=m
413CONFIG_IP_NF_MATCH_AH=m
414CONFIG_IP_NF_MATCH_TTL=m
415CONFIG_IP_NF_MATCH_OWNER=m
416CONFIG_IP_NF_MATCH_ADDRTYPE=m
417CONFIG_IP_NF_FILTER=m
418CONFIG_IP_NF_TARGET_REJECT=m
419CONFIG_IP_NF_TARGET_LOG=m
420CONFIG_IP_NF_TARGET_ULOG=m
421CONFIG_NF_NAT=m
422CONFIG_NF_NAT_NEEDED=y
423CONFIG_IP_NF_TARGET_MASQUERADE=m
424CONFIG_IP_NF_TARGET_REDIRECT=m
425CONFIG_IP_NF_TARGET_NETMAP=m
426CONFIG_IP_NF_TARGET_SAME=m
427CONFIG_NF_NAT_SNMP_BASIC=m
428CONFIG_NF_NAT_PROTO_GRE=m
429CONFIG_NF_NAT_FTP=m
430CONFIG_NF_NAT_IRC=m
431CONFIG_NF_NAT_TFTP=m
432CONFIG_NF_NAT_AMANDA=m
433CONFIG_NF_NAT_PPTP=m
434CONFIG_NF_NAT_H323=m
435CONFIG_NF_NAT_SIP=m
436CONFIG_IP_NF_MANGLE=m
437CONFIG_IP_NF_TARGET_TOS=m
438CONFIG_IP_NF_TARGET_ECN=m
439CONFIG_IP_NF_TARGET_TTL=m
440CONFIG_IP_NF_TARGET_CLUSTERIP=m
441CONFIG_IP_NF_RAW=m
442CONFIG_IP_NF_ARPTABLES=m
443CONFIG_IP_NF_ARPFILTER=m
444CONFIG_IP_NF_ARP_MANGLE=m
355# CONFIG_IP_DCCP is not set 445# CONFIG_IP_DCCP is not set
356
357#
358# SCTP Configuration (EXPERIMENTAL)
359#
360# CONFIG_IP_SCTP is not set 446# CONFIG_IP_SCTP is not set
361
362#
363# TIPC Configuration (EXPERIMENTAL)
364#
365# CONFIG_TIPC is not set 447# CONFIG_TIPC is not set
366# CONFIG_ATM is not set 448# CONFIG_ATM is not set
367# CONFIG_BRIDGE is not set 449# CONFIG_BRIDGE is not set
@@ -380,6 +462,7 @@ CONFIG_LLC=y
380# QoS and/or fair queueing 462# QoS and/or fair queueing
381# 463#
382# CONFIG_NET_SCHED is not set 464# CONFIG_NET_SCHED is not set
465CONFIG_NET_CLS_ROUTE=y
383 466
384# 467#
385# Network testing 468# Network testing
@@ -388,7 +471,16 @@ CONFIG_LLC=y
388# CONFIG_HAMRADIO is not set 471# CONFIG_HAMRADIO is not set
389# CONFIG_IRDA is not set 472# CONFIG_IRDA is not set
390# CONFIG_BT is not set 473# CONFIG_BT is not set
474# CONFIG_AF_RXRPC is not set
475
476#
477# Wireless
478#
479# CONFIG_CFG80211 is not set
480# CONFIG_WIRELESS_EXT is not set
481# CONFIG_MAC80211 is not set
391# CONFIG_IEEE80211 is not set 482# CONFIG_IEEE80211 is not set
483# CONFIG_RFKILL is not set
392 484
393# 485#
394# Device Drivers 486# Device Drivers
@@ -401,16 +493,13 @@ CONFIG_STANDALONE=y
401CONFIG_PREVENT_FIRMWARE_BUILD=y 493CONFIG_PREVENT_FIRMWARE_BUILD=y
402CONFIG_FW_LOADER=y 494CONFIG_FW_LOADER=y
403# CONFIG_DEBUG_DRIVER is not set 495# CONFIG_DEBUG_DRIVER is not set
496# CONFIG_DEBUG_DEVRES is not set
404# CONFIG_SYS_HYPERVISOR is not set 497# CONFIG_SYS_HYPERVISOR is not set
405 498
406# 499#
407# Connector - unified userspace <-> kernelspace linker 500# Connector - unified userspace <-> kernelspace linker
408# 501#
409# CONFIG_CONNECTOR is not set 502# CONFIG_CONNECTOR is not set
410
411#
412# Memory Technology Devices (MTD)
413#
414# CONFIG_MTD is not set 503# CONFIG_MTD is not set
415 504
416# 505#
@@ -421,6 +510,7 @@ CONFIG_FW_LOADER=y
421# 510#
422# Plug and Play support 511# Plug and Play support
423# 512#
513# CONFIG_PNPACPI is not set
424 514
425# 515#
426# Block devices 516# Block devices
@@ -440,19 +530,16 @@ CONFIG_BLK_DEV_RAM=y
440CONFIG_BLK_DEV_RAM_COUNT=16 530CONFIG_BLK_DEV_RAM_COUNT=16
441CONFIG_BLK_DEV_RAM_SIZE=65536 531CONFIG_BLK_DEV_RAM_SIZE=65536
442CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 532CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
443CONFIG_BLK_DEV_INITRD=y
444# CONFIG_CDROM_PKTCDVD is not set 533# CONFIG_CDROM_PKTCDVD is not set
445# CONFIG_ATA_OVER_ETH is not set 534# CONFIG_ATA_OVER_ETH is not set
446 535
447# 536#
448# Misc devices 537# Misc devices
449# 538#
539# CONFIG_PHANTOM is not set
450# CONFIG_SGI_IOC4 is not set 540# CONFIG_SGI_IOC4 is not set
451# CONFIG_TIFM_CORE is not set 541# CONFIG_TIFM_CORE is not set
452 542# CONFIG_BLINK is not set
453#
454# ATA/ATAPI/MFM/RLL support
455#
456CONFIG_IDE=y 543CONFIG_IDE=y
457CONFIG_BLK_DEV_IDE=y 544CONFIG_BLK_DEV_IDE=y
458 545
@@ -467,6 +554,7 @@ CONFIG_BLK_DEV_IDECD=y
467# CONFIG_BLK_DEV_IDEFLOPPY is not set 554# CONFIG_BLK_DEV_IDEFLOPPY is not set
468# CONFIG_BLK_DEV_IDESCSI is not set 555# CONFIG_BLK_DEV_IDESCSI is not set
469# CONFIG_IDE_TASK_IOCTL is not set 556# CONFIG_IDE_TASK_IOCTL is not set
557CONFIG_IDE_PROC_FS=y
470 558
471# 559#
472# IDE chipset support/bugfixes 560# IDE chipset support/bugfixes
@@ -474,12 +562,12 @@ CONFIG_BLK_DEV_IDECD=y
474CONFIG_IDE_GENERIC=y 562CONFIG_IDE_GENERIC=y
475CONFIG_BLK_DEV_IDEPCI=y 563CONFIG_BLK_DEV_IDEPCI=y
476CONFIG_IDEPCI_SHARE_IRQ=y 564CONFIG_IDEPCI_SHARE_IRQ=y
565CONFIG_IDEPCI_PCIBUS_ORDER=y
477# CONFIG_BLK_DEV_OFFBOARD is not set 566# CONFIG_BLK_DEV_OFFBOARD is not set
478CONFIG_BLK_DEV_GENERIC=y 567CONFIG_BLK_DEV_GENERIC=y
479# CONFIG_BLK_DEV_OPTI621 is not set 568# CONFIG_BLK_DEV_OPTI621 is not set
480CONFIG_BLK_DEV_IDEDMA_PCI=y 569CONFIG_BLK_DEV_IDEDMA_PCI=y
481# CONFIG_BLK_DEV_IDEDMA_FORCED is not set 570# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
482CONFIG_IDEDMA_PCI_AUTO=y
483# CONFIG_IDEDMA_ONLYDISK is not set 571# CONFIG_IDEDMA_ONLYDISK is not set
484# CONFIG_BLK_DEV_AEC62XX is not set 572# CONFIG_BLK_DEV_AEC62XX is not set
485# CONFIG_BLK_DEV_ALI15X3 is not set 573# CONFIG_BLK_DEV_ALI15X3 is not set
@@ -494,6 +582,7 @@ CONFIG_BLK_DEV_AMD74XX=y
494# CONFIG_BLK_DEV_JMICRON is not set 582# CONFIG_BLK_DEV_JMICRON is not set
495# CONFIG_BLK_DEV_SC1200 is not set 583# CONFIG_BLK_DEV_SC1200 is not set
496# CONFIG_BLK_DEV_PIIX is not set 584# CONFIG_BLK_DEV_PIIX is not set
585# CONFIG_BLK_DEV_IT8213 is not set
497# CONFIG_BLK_DEV_IT821X is not set 586# CONFIG_BLK_DEV_IT821X is not set
498# CONFIG_BLK_DEV_NS87415 is not set 587# CONFIG_BLK_DEV_NS87415 is not set
499# CONFIG_BLK_DEV_PDC202XX_OLD is not set 588# CONFIG_BLK_DEV_PDC202XX_OLD is not set
@@ -504,13 +593,14 @@ CONFIG_BLK_DEV_AMD74XX=y
504# CONFIG_BLK_DEV_SLC90E66 is not set 593# CONFIG_BLK_DEV_SLC90E66 is not set
505# CONFIG_BLK_DEV_TRM290 is not set 594# CONFIG_BLK_DEV_TRM290 is not set
506# CONFIG_BLK_DEV_VIA82CXXX is not set 595# CONFIG_BLK_DEV_VIA82CXXX is not set
596# CONFIG_BLK_DEV_TC86C001 is not set
597CONFIG_BLK_DEV_CELLEB=y
507CONFIG_BLK_DEV_IDE_PMAC=y 598CONFIG_BLK_DEV_IDE_PMAC=y
508CONFIG_BLK_DEV_IDE_PMAC_ATA100FIRST=y 599CONFIG_BLK_DEV_IDE_PMAC_ATA100FIRST=y
509CONFIG_BLK_DEV_IDEDMA_PMAC=y 600CONFIG_BLK_DEV_IDEDMA_PMAC=y
510# CONFIG_IDE_ARM is not set 601# CONFIG_IDE_ARM is not set
511CONFIG_BLK_DEV_IDEDMA=y 602CONFIG_BLK_DEV_IDEDMA=y
512# CONFIG_IDEDMA_IVB is not set 603# CONFIG_IDEDMA_IVB is not set
513CONFIG_IDEDMA_AUTO=y
514# CONFIG_BLK_DEV_HD is not set 604# CONFIG_BLK_DEV_HD is not set
515 605
516# 606#
@@ -540,6 +630,7 @@ CONFIG_SCSI_MULTI_LUN=y
540CONFIG_SCSI_CONSTANTS=y 630CONFIG_SCSI_CONSTANTS=y
541# CONFIG_SCSI_LOGGING is not set 631# CONFIG_SCSI_LOGGING is not set
542# CONFIG_SCSI_SCAN_ASYNC is not set 632# CONFIG_SCSI_SCAN_ASYNC is not set
633CONFIG_SCSI_WAIT_SCAN=m
543 634
544# 635#
545# SCSI Transports 636# SCSI Transports
@@ -593,11 +684,8 @@ CONFIG_SCSI_LPFC=m
593# CONFIG_SCSI_DC390T is not set 684# CONFIG_SCSI_DC390T is not set
594CONFIG_SCSI_DEBUG=m 685CONFIG_SCSI_DEBUG=m
595# CONFIG_SCSI_SRP is not set 686# CONFIG_SCSI_SRP is not set
596
597#
598# Serial ATA (prod) and Parallel ATA (experimental) drivers
599#
600CONFIG_ATA=y 687CONFIG_ATA=y
688CONFIG_ATA_NONSTANDARD=y
601# CONFIG_SATA_AHCI is not set 689# CONFIG_SATA_AHCI is not set
602CONFIG_SATA_SVW=y 690CONFIG_SATA_SVW=y
603# CONFIG_ATA_PIIX is not set 691# CONFIG_ATA_PIIX is not set
@@ -613,10 +701,12 @@ CONFIG_SATA_SVW=y
613# CONFIG_SATA_ULI is not set 701# CONFIG_SATA_ULI is not set
614# CONFIG_SATA_VIA is not set 702# CONFIG_SATA_VIA is not set
615# CONFIG_SATA_VITESSE is not set 703# CONFIG_SATA_VITESSE is not set
704# CONFIG_SATA_INIC162X is not set
616# CONFIG_PATA_ALI is not set 705# CONFIG_PATA_ALI is not set
617# CONFIG_PATA_AMD is not set 706# CONFIG_PATA_AMD is not set
618# CONFIG_PATA_ARTOP is not set 707# CONFIG_PATA_ARTOP is not set
619# CONFIG_PATA_ATIIXP is not set 708# CONFIG_PATA_ATIIXP is not set
709# CONFIG_PATA_CMD640_PCI is not set
620# CONFIG_PATA_CMD64X is not set 710# CONFIG_PATA_CMD64X is not set
621# CONFIG_PATA_CS5520 is not set 711# CONFIG_PATA_CS5520 is not set
622# CONFIG_PATA_CS5530 is not set 712# CONFIG_PATA_CS5530 is not set
@@ -628,6 +718,7 @@ CONFIG_SATA_SVW=y
628# CONFIG_PATA_HPT3X2N is not set 718# CONFIG_PATA_HPT3X2N is not set
629# CONFIG_PATA_HPT3X3 is not set 719# CONFIG_PATA_HPT3X3 is not set
630# CONFIG_PATA_IT821X is not set 720# CONFIG_PATA_IT821X is not set
721# CONFIG_PATA_IT8213 is not set
631# CONFIG_PATA_JMICRON is not set 722# CONFIG_PATA_JMICRON is not set
632# CONFIG_PATA_TRIFLEX is not set 723# CONFIG_PATA_TRIFLEX is not set
633# CONFIG_PATA_MARVELL is not set 724# CONFIG_PATA_MARVELL is not set
@@ -647,6 +738,7 @@ CONFIG_SATA_SVW=y
647# CONFIG_PATA_SIS is not set 738# CONFIG_PATA_SIS is not set
648# CONFIG_PATA_VIA is not set 739# CONFIG_PATA_VIA is not set
649CONFIG_PATA_WINBOND=y 740CONFIG_PATA_WINBOND=y
741CONFIG_PATA_SCC=y
650 742
651# 743#
652# Multi-device support (RAID and LVM) 744# Multi-device support (RAID and LVM)
@@ -669,6 +761,7 @@ CONFIG_DM_MIRROR=m
669CONFIG_DM_ZERO=m 761CONFIG_DM_ZERO=m
670CONFIG_DM_MULTIPATH=m 762CONFIG_DM_MULTIPATH=m
671CONFIG_DM_MULTIPATH_EMC=m 763CONFIG_DM_MULTIPATH_EMC=m
764# CONFIG_DM_DELAY is not set
672 765
673# 766#
674# Fusion MPT device support 767# Fusion MPT device support
@@ -681,28 +774,26 @@ CONFIG_DM_MULTIPATH_EMC=m
681# 774#
682# IEEE 1394 (FireWire) support 775# IEEE 1394 (FireWire) support
683# 776#
777# CONFIG_FIREWIRE is not set
684CONFIG_IEEE1394=y 778CONFIG_IEEE1394=y
685 779
686# 780#
687# Subsystem Options 781# Subsystem Options
688# 782#
689# CONFIG_IEEE1394_VERBOSEDEBUG is not set 783# CONFIG_IEEE1394_VERBOSEDEBUG is not set
690# CONFIG_IEEE1394_OUI_DB is not set
691CONFIG_IEEE1394_EXTRA_CONFIG_ROMS=y
692CONFIG_IEEE1394_CONFIG_ROM_IP1394=y
693# CONFIG_IEEE1394_EXPORT_FULL_API is not set
694 784
695# 785#
696# Device Drivers 786# Controllers
697# 787#
698# CONFIG_IEEE1394_PCILYNX is not set 788# CONFIG_IEEE1394_PCILYNX is not set
699CONFIG_IEEE1394_OHCI1394=y 789CONFIG_IEEE1394_OHCI1394=y
700 790
701# 791#
702# Protocol Drivers 792# Protocols
703# 793#
704CONFIG_IEEE1394_VIDEO1394=m 794CONFIG_IEEE1394_VIDEO1394=m
705CONFIG_IEEE1394_SBP2=m 795CONFIG_IEEE1394_SBP2=m
796CONFIG_IEEE1394_ETH1394_ROM_ENTRY=y
706CONFIG_IEEE1394_ETH1394=m 797CONFIG_IEEE1394_ETH1394=m
707CONFIG_IEEE1394_DV1394=m 798CONFIG_IEEE1394_DV1394=m
708CONFIG_IEEE1394_RAWIO=y 799CONFIG_IEEE1394_RAWIO=y
@@ -711,10 +802,7 @@ CONFIG_IEEE1394_RAWIO=y
711# I2O device support 802# I2O device support
712# 803#
713# CONFIG_I2O is not set 804# CONFIG_I2O is not set
714 805CONFIG_MACINTOSH_DRIVERS=y
715#
716# Macintosh device drivers
717#
718CONFIG_ADB_PMU=y 806CONFIG_ADB_PMU=y
719# CONFIG_ADB_PMU_LED is not set 807# CONFIG_ADB_PMU_LED is not set
720CONFIG_PMAC_SMU=y 808CONFIG_PMAC_SMU=y
@@ -734,16 +822,23 @@ CONFIG_DUMMY=m
734CONFIG_BONDING=m 822CONFIG_BONDING=m
735# CONFIG_EQUALIZER is not set 823# CONFIG_EQUALIZER is not set
736CONFIG_TUN=m 824CONFIG_TUN=m
737
738#
739# ARCnet devices
740#
741# CONFIG_ARCNET is not set 825# CONFIG_ARCNET is not set
826CONFIG_PHYLIB=m
742 827
743# 828#
744# PHY device support 829# MII PHY device drivers
745# 830#
746# CONFIG_PHYLIB is not set 831CONFIG_MARVELL_PHY=m
832# CONFIG_DAVICOM_PHY is not set
833# CONFIG_QSEMI_PHY is not set
834# CONFIG_LXT_PHY is not set
835# CONFIG_CICADA_PHY is not set
836# CONFIG_VITESSE_PHY is not set
837# CONFIG_SMSC_PHY is not set
838CONFIG_BROADCOM_PHY=m
839CONFIG_FIXED_PHY=m
840CONFIG_FIXED_MII_10_FDX=y
841CONFIG_FIXED_MII_100_FDX=y
747 842
748# 843#
749# Ethernet (10 or 100Mbit) 844# Ethernet (10 or 100Mbit)
@@ -782,10 +877,8 @@ CONFIG_E100=y
782# CONFIG_EPIC100 is not set 877# CONFIG_EPIC100 is not set
783# CONFIG_SUNDANCE is not set 878# CONFIG_SUNDANCE is not set
784# CONFIG_VIA_RHINE is not set 879# CONFIG_VIA_RHINE is not set
785 880# CONFIG_SC92031 is not set
786# 881CONFIG_NETDEV_1000=y
787# Ethernet (1000 Mbit)
788#
789CONFIG_ACENIC=y 882CONFIG_ACENIC=y
790CONFIG_ACENIC_OMIT_TIGON_I=y 883CONFIG_ACENIC_OMIT_TIGON_I=y
791# CONFIG_DL2K is not set 884# CONFIG_DL2K is not set
@@ -805,33 +898,37 @@ CONFIG_TIGON3=y
805# CONFIG_BNX2 is not set 898# CONFIG_BNX2 is not set
806CONFIG_SPIDER_NET=m 899CONFIG_SPIDER_NET=m
807# CONFIG_QLA3XXX is not set 900# CONFIG_QLA3XXX is not set
808 901# CONFIG_ATL1 is not set
809# 902CONFIG_NETDEV_10000=y
810# Ethernet (10000 Mbit)
811#
812# CONFIG_CHELSIO_T1 is not set 903# CONFIG_CHELSIO_T1 is not set
904# CONFIG_CHELSIO_T3 is not set
813CONFIG_IXGB=m 905CONFIG_IXGB=m
814# CONFIG_IXGB_NAPI is not set 906# CONFIG_IXGB_NAPI is not set
815# CONFIG_S2IO is not set 907# CONFIG_S2IO is not set
816# CONFIG_MYRI10GE is not set 908# CONFIG_MYRI10GE is not set
817# CONFIG_NETXEN_NIC is not set 909# CONFIG_NETXEN_NIC is not set
818 910CONFIG_PASEMI_MAC=m
819# 911# CONFIG_MLX4_CORE is not set
820# Token Ring devices
821#
822CONFIG_TR=y 912CONFIG_TR=y
823CONFIG_IBMOL=y 913CONFIG_IBMOL=y
824# CONFIG_3C359 is not set 914# CONFIG_3C359 is not set
825# CONFIG_TMS380TR is not set 915# CONFIG_TMS380TR is not set
826 916
827# 917#
828# Wireless LAN (non-hamradio) 918# Wireless LAN
829# 919#
830# CONFIG_NET_RADIO is not set 920# CONFIG_WLAN_PRE80211 is not set
921# CONFIG_WLAN_80211 is not set
831 922
832# 923#
833# Wan interfaces 924# USB Network Adapters
834# 925#
926# CONFIG_USB_CATC is not set
927# CONFIG_USB_KAWETH is not set
928# CONFIG_USB_PEGASUS is not set
929# CONFIG_USB_RTL8150 is not set
930# CONFIG_USB_USBNET_MII is not set
931# CONFIG_USB_USBNET is not set
835# CONFIG_WAN is not set 932# CONFIG_WAN is not set
836CONFIG_ISERIES_VETH=m 933CONFIG_ISERIES_VETH=m
837# CONFIG_FDDI is not set 934# CONFIG_FDDI is not set
@@ -851,7 +948,6 @@ CONFIG_SLHC=m
851# CONFIG_SHAPER is not set 948# CONFIG_SHAPER is not set
852CONFIG_NETCONSOLE=y 949CONFIG_NETCONSOLE=y
853CONFIG_NETPOLL=y 950CONFIG_NETPOLL=y
854CONFIG_NETPOLL_RX=y
855CONFIG_NETPOLL_TRAP=y 951CONFIG_NETPOLL_TRAP=y
856CONFIG_NET_POLL_CONTROLLER=y 952CONFIG_NET_POLL_CONTROLLER=y
857 953
@@ -870,6 +966,7 @@ CONFIG_NET_POLL_CONTROLLER=y
870# 966#
871CONFIG_INPUT=y 967CONFIG_INPUT=y
872# CONFIG_INPUT_FF_MEMLESS is not set 968# CONFIG_INPUT_FF_MEMLESS is not set
969# CONFIG_INPUT_POLLDEV is not set
873 970
874# 971#
875# Userland interfaces 972# Userland interfaces
@@ -895,12 +992,25 @@ CONFIG_KEYBOARD_ATKBD=y
895# CONFIG_KEYBOARD_STOWAWAY is not set 992# CONFIG_KEYBOARD_STOWAWAY is not set
896CONFIG_INPUT_MOUSE=y 993CONFIG_INPUT_MOUSE=y
897CONFIG_MOUSE_PS2=y 994CONFIG_MOUSE_PS2=y
995CONFIG_MOUSE_PS2_ALPS=y
996CONFIG_MOUSE_PS2_LOGIPS2PP=y
997CONFIG_MOUSE_PS2_SYNAPTICS=y
998CONFIG_MOUSE_PS2_LIFEBOOK=y
999CONFIG_MOUSE_PS2_TRACKPOINT=y
1000# CONFIG_MOUSE_PS2_TOUCHKIT is not set
898# CONFIG_MOUSE_SERIAL is not set 1001# CONFIG_MOUSE_SERIAL is not set
1002# CONFIG_MOUSE_APPLETOUCH is not set
899# CONFIG_MOUSE_VSXXXAA is not set 1003# CONFIG_MOUSE_VSXXXAA is not set
900# CONFIG_INPUT_JOYSTICK is not set 1004# CONFIG_INPUT_JOYSTICK is not set
1005# CONFIG_INPUT_TABLET is not set
901# CONFIG_INPUT_TOUCHSCREEN is not set 1006# CONFIG_INPUT_TOUCHSCREEN is not set
902CONFIG_INPUT_MISC=y 1007CONFIG_INPUT_MISC=y
903CONFIG_INPUT_PCSPKR=m 1008CONFIG_INPUT_PCSPKR=m
1009# CONFIG_INPUT_ATI_REMOTE is not set
1010# CONFIG_INPUT_ATI_REMOTE2 is not set
1011# CONFIG_INPUT_KEYSPAN_REMOTE is not set
1012# CONFIG_INPUT_POWERMATE is not set
1013# CONFIG_INPUT_YEALINK is not set
904# CONFIG_INPUT_UINPUT is not set 1014# CONFIG_INPUT_UINPUT is not set
905 1015
906# 1016#
@@ -940,7 +1050,12 @@ CONFIG_SERIAL_CORE=y
940CONFIG_SERIAL_CORE_CONSOLE=y 1050CONFIG_SERIAL_CORE_CONSOLE=y
941# CONFIG_SERIAL_PMACZILOG is not set 1051# CONFIG_SERIAL_PMACZILOG is not set
942CONFIG_SERIAL_ICOM=m 1052CONFIG_SERIAL_ICOM=m
1053CONFIG_SERIAL_TXX9=y
1054CONFIG_HAS_TXX9_SERIAL=y
1055CONFIG_SERIAL_TXX9_NR_UARTS=6
1056CONFIG_SERIAL_TXX9_CONSOLE=y
943# CONFIG_SERIAL_JSM is not set 1057# CONFIG_SERIAL_JSM is not set
1058# CONFIG_SERIAL_OF_PLATFORM is not set
944CONFIG_UNIX98_PTYS=y 1059CONFIG_UNIX98_PTYS=y
945CONFIG_LEGACY_PTYS=y 1060CONFIG_LEGACY_PTYS=y
946CONFIG_LEGACY_PTY_COUNT=256 1061CONFIG_LEGACY_PTY_COUNT=256
@@ -948,21 +1063,17 @@ CONFIG_HVC_DRIVER=y
948CONFIG_HVC_CONSOLE=y 1063CONFIG_HVC_CONSOLE=y
949CONFIG_HVC_ISERIES=y 1064CONFIG_HVC_ISERIES=y
950CONFIG_HVC_RTAS=y 1065CONFIG_HVC_RTAS=y
1066CONFIG_HVC_BEAT=y
951CONFIG_HVCS=m 1067CONFIG_HVCS=m
952 1068
953# 1069#
954# IPMI 1070# IPMI
955# 1071#
956# CONFIG_IPMI_HANDLER is not set 1072# CONFIG_IPMI_HANDLER is not set
957
958#
959# Watchdog Cards
960#
961# CONFIG_WATCHDOG is not set 1073# CONFIG_WATCHDOG is not set
962# CONFIG_HW_RANDOM is not set 1074# CONFIG_HW_RANDOM is not set
963CONFIG_GEN_RTC=y 1075CONFIG_GEN_RTC=y
964# CONFIG_GEN_RTC_X is not set 1076# CONFIG_GEN_RTC_X is not set
965# CONFIG_DTLK is not set
966# CONFIG_R3964 is not set 1077# CONFIG_R3964 is not set
967# CONFIG_APPLICOM is not set 1078# CONFIG_APPLICOM is not set
968# CONFIG_AGP is not set 1079# CONFIG_AGP is not set
@@ -975,11 +1086,9 @@ CONFIG_MAX_RAW_DEVS=256
975# TPM devices 1086# TPM devices
976# 1087#
977# CONFIG_TCG_TPM is not set 1088# CONFIG_TCG_TPM is not set
978 1089CONFIG_DEVPORT=y
979#
980# I2C support
981#
982CONFIG_I2C=y 1090CONFIG_I2C=y
1091CONFIG_I2C_BOARDINFO=y
983CONFIG_I2C_CHARDEV=y 1092CONFIG_I2C_CHARDEV=y
984 1093
985# 1094#
@@ -1006,14 +1115,15 @@ CONFIG_I2C_POWERMAC=y
1006# CONFIG_I2C_PARPORT_LIGHT is not set 1115# CONFIG_I2C_PARPORT_LIGHT is not set
1007# CONFIG_I2C_PROSAVAGE is not set 1116# CONFIG_I2C_PROSAVAGE is not set
1008# CONFIG_I2C_SAVAGE4 is not set 1117# CONFIG_I2C_SAVAGE4 is not set
1118# CONFIG_I2C_SIMTEC is not set
1009# CONFIG_I2C_SIS5595 is not set 1119# CONFIG_I2C_SIS5595 is not set
1010# CONFIG_I2C_SIS630 is not set 1120# CONFIG_I2C_SIS630 is not set
1011# CONFIG_I2C_SIS96X is not set 1121# CONFIG_I2C_SIS96X is not set
1012# CONFIG_I2C_STUB is not set 1122# CONFIG_I2C_STUB is not set
1123# CONFIG_I2C_TINY_USB is not set
1013# CONFIG_I2C_VIA is not set 1124# CONFIG_I2C_VIA is not set
1014# CONFIG_I2C_VIAPRO is not set 1125# CONFIG_I2C_VIAPRO is not set
1015# CONFIG_I2C_VOODOO3 is not set 1126# CONFIG_I2C_VOODOO3 is not set
1016# CONFIG_I2C_PCA_ISA is not set
1017 1127
1018# 1128#
1019# Miscellaneous I2C Chip support 1129# Miscellaneous I2C Chip support
@@ -1040,37 +1150,56 @@ CONFIG_I2C_POWERMAC=y
1040# Dallas's 1-wire bus 1150# Dallas's 1-wire bus
1041# 1151#
1042# CONFIG_W1 is not set 1152# CONFIG_W1 is not set
1153# CONFIG_HWMON is not set
1043 1154
1044# 1155#
1045# Hardware Monitoring support 1156# Multifunction device drivers
1046# 1157#
1047# CONFIG_HWMON is not set 1158# CONFIG_MFD_SM501 is not set
1048# CONFIG_HWMON_VID is not set
1049 1159
1050# 1160#
1051# Multimedia devices 1161# Multimedia devices
1052# 1162#
1053# CONFIG_VIDEO_DEV is not set 1163# CONFIG_VIDEO_DEV is not set
1164# CONFIG_DVB_CORE is not set
1165# CONFIG_DAB is not set
1054 1166
1055# 1167#
1056# Digital Video Broadcasting Devices 1168# Graphics support
1057# 1169#
1058# CONFIG_DVB is not set 1170CONFIG_BACKLIGHT_LCD_SUPPORT=y
1059# CONFIG_USB_DABUSB is not set 1171CONFIG_BACKLIGHT_CLASS_DEVICE=y
1172CONFIG_LCD_CLASS_DEVICE=y
1060 1173
1061# 1174#
1062# Graphics support 1175# Display device support
1063# 1176#
1064CONFIG_FIRMWARE_EDID=y 1177CONFIG_DISPLAY_SUPPORT=y
1178
1179#
1180# Display hardware drivers
1181#
1182# CONFIG_VGASTATE is not set
1065CONFIG_FB=y 1183CONFIG_FB=y
1184CONFIG_FIRMWARE_EDID=y
1066CONFIG_FB_DDC=y 1185CONFIG_FB_DDC=y
1067CONFIG_FB_CFB_FILLRECT=y 1186CONFIG_FB_CFB_FILLRECT=y
1068CONFIG_FB_CFB_COPYAREA=y 1187CONFIG_FB_CFB_COPYAREA=y
1069CONFIG_FB_CFB_IMAGEBLIT=y 1188CONFIG_FB_CFB_IMAGEBLIT=y
1189# CONFIG_FB_SYS_FILLRECT is not set
1190# CONFIG_FB_SYS_COPYAREA is not set
1191# CONFIG_FB_SYS_IMAGEBLIT is not set
1192# CONFIG_FB_SYS_FOPS is not set
1193CONFIG_FB_DEFERRED_IO=y
1194# CONFIG_FB_SVGALIB is not set
1070CONFIG_FB_MACMODES=y 1195CONFIG_FB_MACMODES=y
1071# CONFIG_FB_BACKLIGHT is not set 1196CONFIG_FB_BACKLIGHT=y
1072CONFIG_FB_MODE_HELPERS=y 1197CONFIG_FB_MODE_HELPERS=y
1073CONFIG_FB_TILEBLITTING=y 1198CONFIG_FB_TILEBLITTING=y
1199
1200#
1201# Frame buffer hardware drivers
1202#
1074# CONFIG_FB_CIRRUS is not set 1203# CONFIG_FB_CIRRUS is not set
1075# CONFIG_FB_PM2 is not set 1204# CONFIG_FB_PM2 is not set
1076# CONFIG_FB_CYBER2000 is not set 1205# CONFIG_FB_CYBER2000 is not set
@@ -1090,16 +1219,21 @@ CONFIG_FB_MATROX_MAVEN=m
1090CONFIG_FB_MATROX_MULTIHEAD=y 1219CONFIG_FB_MATROX_MULTIHEAD=y
1091CONFIG_FB_RADEON=y 1220CONFIG_FB_RADEON=y
1092CONFIG_FB_RADEON_I2C=y 1221CONFIG_FB_RADEON_I2C=y
1222CONFIG_FB_RADEON_BACKLIGHT=y
1093# CONFIG_FB_RADEON_DEBUG is not set 1223# CONFIG_FB_RADEON_DEBUG is not set
1094# CONFIG_FB_ATY128 is not set 1224# CONFIG_FB_ATY128 is not set
1095# CONFIG_FB_ATY is not set 1225# CONFIG_FB_ATY is not set
1226# CONFIG_FB_S3 is not set
1096# CONFIG_FB_SAVAGE is not set 1227# CONFIG_FB_SAVAGE is not set
1097# CONFIG_FB_SIS is not set 1228# CONFIG_FB_SIS is not set
1098# CONFIG_FB_NEOMAGIC is not set 1229# CONFIG_FB_NEOMAGIC is not set
1099# CONFIG_FB_KYRO is not set 1230# CONFIG_FB_KYRO is not set
1100# CONFIG_FB_3DFX is not set 1231# CONFIG_FB_3DFX is not set
1101# CONFIG_FB_VOODOO1 is not set 1232# CONFIG_FB_VOODOO1 is not set
1233# CONFIG_FB_VT8623 is not set
1102# CONFIG_FB_TRIDENT is not set 1234# CONFIG_FB_TRIDENT is not set
1235# CONFIG_FB_ARK is not set
1236# CONFIG_FB_PM3 is not set
1103CONFIG_FB_IBM_GXT4500=y 1237CONFIG_FB_IBM_GXT4500=y
1104# CONFIG_FB_VIRTUAL is not set 1238# CONFIG_FB_VIRTUAL is not set
1105 1239
@@ -1113,19 +1247,10 @@ CONFIG_FRAMEBUFFER_CONSOLE=y
1113# CONFIG_FONTS is not set 1247# CONFIG_FONTS is not set
1114CONFIG_FONT_8x8=y 1248CONFIG_FONT_8x8=y
1115CONFIG_FONT_8x16=y 1249CONFIG_FONT_8x16=y
1116
1117#
1118# Logo configuration
1119#
1120CONFIG_LOGO=y 1250CONFIG_LOGO=y
1121CONFIG_LOGO_LINUX_MONO=y 1251CONFIG_LOGO_LINUX_MONO=y
1122CONFIG_LOGO_LINUX_VGA16=y 1252CONFIG_LOGO_LINUX_VGA16=y
1123CONFIG_LOGO_LINUX_CLUT224=y 1253CONFIG_LOGO_LINUX_CLUT224=y
1124CONFIG_BACKLIGHT_LCD_SUPPORT=y
1125CONFIG_BACKLIGHT_CLASS_DEVICE=y
1126CONFIG_BACKLIGHT_DEVICE=y
1127CONFIG_LCD_CLASS_DEVICE=y
1128CONFIG_LCD_DEVICE=y
1129 1254
1130# 1255#
1131# Sound 1256# Sound
@@ -1242,6 +1367,12 @@ CONFIG_SND_AOA_SOUNDBUS_I2S=m
1242# 1367#
1243# CONFIG_SND_USB_AUDIO is not set 1368# CONFIG_SND_USB_AUDIO is not set
1244# CONFIG_SND_USB_USX2Y is not set 1369# CONFIG_SND_USB_USX2Y is not set
1370# CONFIG_SND_USB_CAIAQ is not set
1371
1372#
1373# System on Chip audio support
1374#
1375# CONFIG_SND_SOC is not set
1245 1376
1246# 1377#
1247# Open Sound System 1378# Open Sound System
@@ -1252,6 +1383,15 @@ CONFIG_SND_AOA_SOUNDBUS_I2S=m
1252# HID Devices 1383# HID Devices
1253# 1384#
1254CONFIG_HID=y 1385CONFIG_HID=y
1386# CONFIG_HID_DEBUG is not set
1387
1388#
1389# USB Input Devices
1390#
1391CONFIG_USB_HID=y
1392# CONFIG_USB_HIDINPUT_POWERBOOK is not set
1393# CONFIG_HID_FF is not set
1394CONFIG_USB_HIDDEV=y
1255 1395
1256# 1396#
1257# USB support 1397# USB support
@@ -1266,9 +1406,8 @@ CONFIG_USB=y
1266# Miscellaneous USB options 1406# Miscellaneous USB options
1267# 1407#
1268CONFIG_USB_DEVICEFS=y 1408CONFIG_USB_DEVICEFS=y
1269# CONFIG_USB_BANDWIDTH is not set 1409CONFIG_USB_DEVICE_CLASS=y
1270# CONFIG_USB_DYNAMIC_MINORS is not set 1410# CONFIG_USB_DYNAMIC_MINORS is not set
1271# CONFIG_USB_MULTITHREAD_PROBE is not set
1272# CONFIG_USB_OTG is not set 1411# CONFIG_USB_OTG is not set
1273 1412
1274# 1413#
@@ -1278,9 +1417,12 @@ CONFIG_USB_EHCI_HCD=y
1278# CONFIG_USB_EHCI_SPLIT_ISO is not set 1417# CONFIG_USB_EHCI_SPLIT_ISO is not set
1279# CONFIG_USB_EHCI_ROOT_HUB_TT is not set 1418# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
1280CONFIG_USB_EHCI_TT_NEWSCHED=y 1419CONFIG_USB_EHCI_TT_NEWSCHED=y
1420CONFIG_USB_EHCI_BIG_ENDIAN_MMIO=y
1281# CONFIG_USB_ISP116X_HCD is not set 1421# CONFIG_USB_ISP116X_HCD is not set
1282CONFIG_USB_OHCI_HCD=y 1422CONFIG_USB_OHCI_HCD=y
1283# CONFIG_USB_OHCI_BIG_ENDIAN is not set 1423# CONFIG_USB_OHCI_HCD_PPC_OF is not set
1424# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
1425CONFIG_USB_OHCI_BIG_ENDIAN_MMIO=y
1284CONFIG_USB_OHCI_LITTLE_ENDIAN=y 1426CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1285# CONFIG_USB_UHCI_HCD is not set 1427# CONFIG_USB_UHCI_HCD is not set
1286# CONFIG_USB_SL811_HCD is not set 1428# CONFIG_USB_SL811_HCD is not set
@@ -1314,40 +1456,10 @@ CONFIG_USB_STORAGE=m
1314# CONFIG_USB_LIBUSUAL is not set 1456# CONFIG_USB_LIBUSUAL is not set
1315 1457
1316# 1458#
1317# USB Input Devices
1318#
1319CONFIG_USB_HID=y
1320# CONFIG_USB_HIDINPUT_POWERBOOK is not set
1321# CONFIG_HID_FF is not set
1322CONFIG_USB_HIDDEV=y
1323# CONFIG_USB_AIPTEK is not set
1324# CONFIG_USB_WACOM is not set
1325# CONFIG_USB_ACECAD is not set
1326# CONFIG_USB_KBTAB is not set
1327# CONFIG_USB_POWERMATE is not set
1328# CONFIG_USB_TOUCHSCREEN is not set
1329# CONFIG_USB_YEALINK is not set
1330# CONFIG_USB_XPAD is not set
1331# CONFIG_USB_ATI_REMOTE is not set
1332# CONFIG_USB_ATI_REMOTE2 is not set
1333# CONFIG_USB_KEYSPAN_REMOTE is not set
1334# CONFIG_USB_APPLETOUCH is not set
1335
1336#
1337# USB Imaging devices 1459# USB Imaging devices
1338# 1460#
1339# CONFIG_USB_MDC800 is not set 1461# CONFIG_USB_MDC800 is not set
1340# CONFIG_USB_MICROTEK is not set 1462# CONFIG_USB_MICROTEK is not set
1341
1342#
1343# USB Network Adapters
1344#
1345# CONFIG_USB_CATC is not set
1346# CONFIG_USB_KAWETH is not set
1347# CONFIG_USB_PEGASUS is not set
1348# CONFIG_USB_RTL8150 is not set
1349# CONFIG_USB_USBNET_MII is not set
1350# CONFIG_USB_USBNET is not set
1351# CONFIG_USB_MON is not set 1463# CONFIG_USB_MON is not set
1352 1464
1353# 1465#
@@ -1369,6 +1481,7 @@ CONFIG_USB_HIDDEV=y
1369# CONFIG_USB_RIO500 is not set 1481# CONFIG_USB_RIO500 is not set
1370# CONFIG_USB_LEGOTOWER is not set 1482# CONFIG_USB_LEGOTOWER is not set
1371# CONFIG_USB_LCD is not set 1483# CONFIG_USB_LCD is not set
1484# CONFIG_USB_BERRY_CHARGE is not set
1372# CONFIG_USB_LED is not set 1485# CONFIG_USB_LED is not set
1373# CONFIG_USB_CYPRESS_CY7C63 is not set 1486# CONFIG_USB_CYPRESS_CY7C63 is not set
1374# CONFIG_USB_CYTHERM is not set 1487# CONFIG_USB_CYTHERM is not set
@@ -1379,6 +1492,7 @@ CONFIG_USB_APPLEDISPLAY=m
1379# CONFIG_USB_SISUSBVGA is not set 1492# CONFIG_USB_SISUSBVGA is not set
1380# CONFIG_USB_LD is not set 1493# CONFIG_USB_LD is not set
1381# CONFIG_USB_TRANCEVIBRATOR is not set 1494# CONFIG_USB_TRANCEVIBRATOR is not set
1495# CONFIG_USB_IOWARRIOR is not set
1382# CONFIG_USB_TEST is not set 1496# CONFIG_USB_TEST is not set
1383 1497
1384# 1498#
@@ -1389,10 +1503,6 @@ CONFIG_USB_APPLEDISPLAY=m
1389# USB Gadget Support 1503# USB Gadget Support
1390# 1504#
1391# CONFIG_USB_GADGET is not set 1505# CONFIG_USB_GADGET is not set
1392
1393#
1394# MMC/SD Card support
1395#
1396# CONFIG_MMC is not set 1506# CONFIG_MMC is not set
1397 1507
1398# 1508#
@@ -1417,8 +1527,11 @@ CONFIG_INFINIBAND=m
1417CONFIG_INFINIBAND_ADDR_TRANS=y 1527CONFIG_INFINIBAND_ADDR_TRANS=y
1418CONFIG_INFINIBAND_MTHCA=m 1528CONFIG_INFINIBAND_MTHCA=m
1419CONFIG_INFINIBAND_MTHCA_DEBUG=y 1529CONFIG_INFINIBAND_MTHCA_DEBUG=y
1530# CONFIG_INFINIBAND_IPATH is not set
1420# CONFIG_INFINIBAND_AMSO1100 is not set 1531# CONFIG_INFINIBAND_AMSO1100 is not set
1532# CONFIG_MLX4_INFINIBAND is not set
1421CONFIG_INFINIBAND_IPOIB=m 1533CONFIG_INFINIBAND_IPOIB=m
1534# CONFIG_INFINIBAND_IPOIB_CM is not set
1422CONFIG_INFINIBAND_IPOIB_DEBUG=y 1535CONFIG_INFINIBAND_IPOIB_DEBUG=y
1423# CONFIG_INFINIBAND_IPOIB_DEBUG_DATA is not set 1536# CONFIG_INFINIBAND_IPOIB_DEBUG_DATA is not set
1424# CONFIG_INFINIBAND_SRP is not set 1537# CONFIG_INFINIBAND_SRP is not set
@@ -1447,10 +1560,6 @@ CONFIG_INFINIBAND_ISER=m
1447# 1560#
1448 1561
1449# 1562#
1450# Virtualization
1451#
1452
1453#
1454# File systems 1563# File systems
1455# 1564#
1456CONFIG_EXT2_FS=y 1565CONFIG_EXT2_FS=y
@@ -1567,6 +1676,7 @@ CONFIG_NFS_ACL_SUPPORT=y
1567CONFIG_NFS_COMMON=y 1676CONFIG_NFS_COMMON=y
1568CONFIG_SUNRPC=y 1677CONFIG_SUNRPC=y
1569CONFIG_SUNRPC_GSS=y 1678CONFIG_SUNRPC_GSS=y
1679# CONFIG_SUNRPC_BIND34 is not set
1570CONFIG_RPCSEC_GSS_KRB5=y 1680CONFIG_RPCSEC_GSS_KRB5=y
1571CONFIG_RPCSEC_GSS_SPKM3=m 1681CONFIG_RPCSEC_GSS_SPKM3=m
1572# CONFIG_SMB_FS is not set 1682# CONFIG_SMB_FS is not set
@@ -1602,6 +1712,7 @@ CONFIG_MSDOS_PARTITION=y
1602# CONFIG_SUN_PARTITION is not set 1712# CONFIG_SUN_PARTITION is not set
1603# CONFIG_KARMA_PARTITION is not set 1713# CONFIG_KARMA_PARTITION is not set
1604# CONFIG_EFI_PARTITION is not set 1714# CONFIG_EFI_PARTITION is not set
1715# CONFIG_SYSV68_PARTITION is not set
1605 1716
1606# 1717#
1607# Native Language Support 1718# Native Language Support
@@ -1651,15 +1762,7 @@ CONFIG_NLS_UTF8=m
1651# Distributed Lock Manager 1762# Distributed Lock Manager
1652# 1763#
1653# CONFIG_DLM is not set 1764# CONFIG_DLM is not set
1654 1765# CONFIG_UCC_SLOW is not set
1655#
1656# iSeries device drivers
1657#
1658# CONFIG_VIOCONS is not set
1659CONFIG_VIODASD=y
1660CONFIG_VIOCD=m
1661CONFIG_VIOTAPE=m
1662CONFIG_VIOPATH=y
1663 1766
1664# 1767#
1665# Library routines 1768# Library routines
@@ -1667,14 +1770,19 @@ CONFIG_VIOPATH=y
1667CONFIG_BITREVERSE=y 1770CONFIG_BITREVERSE=y
1668CONFIG_CRC_CCITT=m 1771CONFIG_CRC_CCITT=m
1669# CONFIG_CRC16 is not set 1772# CONFIG_CRC16 is not set
1773# CONFIG_CRC_ITU_T is not set
1670CONFIG_CRC32=y 1774CONFIG_CRC32=y
1671CONFIG_LIBCRC32C=m 1775CONFIG_LIBCRC32C=m
1672CONFIG_ZLIB_INFLATE=y 1776CONFIG_ZLIB_INFLATE=y
1673CONFIG_ZLIB_DEFLATE=m 1777CONFIG_ZLIB_DEFLATE=m
1674CONFIG_TEXTSEARCH=y 1778CONFIG_TEXTSEARCH=y
1675CONFIG_TEXTSEARCH_KMP=m 1779CONFIG_TEXTSEARCH_KMP=m
1780CONFIG_TEXTSEARCH_BM=m
1781CONFIG_TEXTSEARCH_FSM=m
1676CONFIG_PLIST=y 1782CONFIG_PLIST=y
1677CONFIG_IOMAP_COPY=y 1783CONFIG_HAS_IOMEM=y
1784CONFIG_HAS_IOPORT=y
1785CONFIG_HAS_DMA=y
1678 1786
1679# 1787#
1680# Instrumentation Support 1788# Instrumentation Support
@@ -1693,15 +1801,15 @@ CONFIG_MAGIC_SYSRQ=y
1693CONFIG_DEBUG_FS=y 1801CONFIG_DEBUG_FS=y
1694# CONFIG_HEADERS_CHECK is not set 1802# CONFIG_HEADERS_CHECK is not set
1695CONFIG_DEBUG_KERNEL=y 1803CONFIG_DEBUG_KERNEL=y
1696CONFIG_LOG_BUF_SHIFT=17 1804# CONFIG_DEBUG_SHIRQ is not set
1697CONFIG_DETECT_SOFTLOCKUP=y 1805CONFIG_DETECT_SOFTLOCKUP=y
1698# CONFIG_SCHEDSTATS is not set 1806# CONFIG_SCHEDSTATS is not set
1807# CONFIG_TIMER_STATS is not set
1699# CONFIG_DEBUG_SLAB is not set 1808# CONFIG_DEBUG_SLAB is not set
1700# CONFIG_DEBUG_RT_MUTEXES is not set 1809# CONFIG_DEBUG_RT_MUTEXES is not set
1701# CONFIG_RT_MUTEX_TESTER is not set 1810# CONFIG_RT_MUTEX_TESTER is not set
1702# CONFIG_DEBUG_SPINLOCK is not set 1811# CONFIG_DEBUG_SPINLOCK is not set
1703CONFIG_DEBUG_MUTEXES=y 1812CONFIG_DEBUG_MUTEXES=y
1704# CONFIG_DEBUG_RWSEMS is not set
1705# CONFIG_DEBUG_SPINLOCK_SLEEP is not set 1813# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1706# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set 1814# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1707# CONFIG_DEBUG_KOBJECT is not set 1815# CONFIG_DEBUG_KOBJECT is not set
@@ -1711,8 +1819,10 @@ CONFIG_DEBUG_BUGVERBOSE=y
1711# CONFIG_DEBUG_LIST is not set 1819# CONFIG_DEBUG_LIST is not set
1712CONFIG_FORCED_INLINING=y 1820CONFIG_FORCED_INLINING=y
1713# CONFIG_RCU_TORTURE_TEST is not set 1821# CONFIG_RCU_TORTURE_TEST is not set
1822# CONFIG_FAULT_INJECTION is not set
1714CONFIG_DEBUG_STACKOVERFLOW=y 1823CONFIG_DEBUG_STACKOVERFLOW=y
1715CONFIG_DEBUG_STACK_USAGE=y 1824CONFIG_DEBUG_STACK_USAGE=y
1825# CONFIG_DEBUG_PAGEALLOC is not set
1716# CONFIG_HCALL_STATS is not set 1826# CONFIG_HCALL_STATS is not set
1717CONFIG_DEBUGGER=y 1827CONFIG_DEBUGGER=y
1718CONFIG_XMON=y 1828CONFIG_XMON=y
@@ -1749,8 +1859,11 @@ CONFIG_CRYPTO_TGR192=m
1749# CONFIG_CRYPTO_GF128MUL is not set 1859# CONFIG_CRYPTO_GF128MUL is not set
1750CONFIG_CRYPTO_ECB=m 1860CONFIG_CRYPTO_ECB=m
1751CONFIG_CRYPTO_CBC=y 1861CONFIG_CRYPTO_CBC=y
1862CONFIG_CRYPTO_PCBC=m
1752# CONFIG_CRYPTO_LRW is not set 1863# CONFIG_CRYPTO_LRW is not set
1864# CONFIG_CRYPTO_CRYPTD is not set
1753CONFIG_CRYPTO_DES=y 1865CONFIG_CRYPTO_DES=y
1866# CONFIG_CRYPTO_FCRYPT is not set
1754CONFIG_CRYPTO_BLOWFISH=m 1867CONFIG_CRYPTO_BLOWFISH=m
1755CONFIG_CRYPTO_TWOFISH=m 1868CONFIG_CRYPTO_TWOFISH=m
1756CONFIG_CRYPTO_TWOFISH_COMMON=m 1869CONFIG_CRYPTO_TWOFISH_COMMON=m
@@ -1765,6 +1878,7 @@ CONFIG_CRYPTO_ANUBIS=m
1765CONFIG_CRYPTO_DEFLATE=m 1878CONFIG_CRYPTO_DEFLATE=m
1766CONFIG_CRYPTO_MICHAEL_MIC=m 1879CONFIG_CRYPTO_MICHAEL_MIC=m
1767CONFIG_CRYPTO_CRC32C=m 1880CONFIG_CRYPTO_CRC32C=m
1881# CONFIG_CRYPTO_CAMELLIA is not set
1768CONFIG_CRYPTO_TEST=m 1882CONFIG_CRYPTO_TEST=m
1769 1883
1770# 1884#
diff --git a/arch/powerpc/configs/prpmc2800_defconfig b/arch/powerpc/configs/prpmc2800_defconfig
index c70a73082007..fb504a714625 100644
--- a/arch/powerpc/configs/prpmc2800_defconfig
+++ b/arch/powerpc/configs/prpmc2800_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.21 3# Linux kernel version: 2.6.22-rc6
4# Wed May 9 09:42:46 2007 4# Tue Jun 26 14:15:11 2007
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7CONFIG_PPC32=y 7CONFIG_PPC32=y
@@ -90,7 +90,11 @@ CONFIG_BUG=y
90CONFIG_ELF_CORE=y 90CONFIG_ELF_CORE=y
91CONFIG_BASE_FULL=y 91CONFIG_BASE_FULL=y
92CONFIG_FUTEX=y 92CONFIG_FUTEX=y
93CONFIG_ANON_INODES=y
93CONFIG_EPOLL=y 94CONFIG_EPOLL=y
95CONFIG_SIGNALFD=y
96CONFIG_TIMERFD=y
97CONFIG_EVENTFD=y
94CONFIG_SHMEM=y 98CONFIG_SHMEM=y
95CONFIG_VM_EVENT_COUNTERS=y 99CONFIG_VM_EVENT_COUNTERS=y
96CONFIG_SLAB=y 100CONFIG_SLAB=y
@@ -274,20 +278,8 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
274# CONFIG_INET6_TUNNEL is not set 278# CONFIG_INET6_TUNNEL is not set
275# CONFIG_NETWORK_SECMARK is not set 279# CONFIG_NETWORK_SECMARK is not set
276# CONFIG_NETFILTER is not set 280# CONFIG_NETFILTER is not set
277
278#
279# DCCP Configuration (EXPERIMENTAL)
280#
281# CONFIG_IP_DCCP is not set 281# CONFIG_IP_DCCP is not set
282
283#
284# SCTP Configuration (EXPERIMENTAL)
285#
286# CONFIG_IP_SCTP is not set 282# CONFIG_IP_SCTP is not set
287
288#
289# TIPC Configuration (EXPERIMENTAL)
290#
291# CONFIG_TIPC is not set 283# CONFIG_TIPC is not set
292# CONFIG_ATM is not set 284# CONFIG_ATM is not set
293# CONFIG_BRIDGE is not set 285# CONFIG_BRIDGE is not set
@@ -383,7 +375,6 @@ CONFIG_MTD_CFI_UTIL=y
383# CONFIG_MTD_RAM is not set 375# CONFIG_MTD_RAM is not set
384# CONFIG_MTD_ROM is not set 376# CONFIG_MTD_ROM is not set
385# CONFIG_MTD_ABSENT is not set 377# CONFIG_MTD_ABSENT is not set
386# CONFIG_MTD_OBSOLETE_CHIPS is not set
387 378
388# 379#
389# Mapping drivers for chip access 380# Mapping drivers for chip access
@@ -454,10 +445,6 @@ CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
454# CONFIG_SGI_IOC4 is not set 445# CONFIG_SGI_IOC4 is not set
455# CONFIG_TIFM_CORE is not set 446# CONFIG_TIFM_CORE is not set
456# CONFIG_BLINK is not set 447# CONFIG_BLINK is not set
457
458#
459# ATA/ATAPI/MFM/RLL support
460#
461CONFIG_IDE=y 448CONFIG_IDE=y
462CONFIG_BLK_DEV_IDE=y 449CONFIG_BLK_DEV_IDE=y
463 450
@@ -472,6 +459,7 @@ CONFIG_BLK_DEV_IDEDISK=y
472# CONFIG_BLK_DEV_IDEFLOPPY is not set 459# CONFIG_BLK_DEV_IDEFLOPPY is not set
473# CONFIG_BLK_DEV_IDESCSI is not set 460# CONFIG_BLK_DEV_IDESCSI is not set
474# CONFIG_IDE_TASK_IOCTL is not set 461# CONFIG_IDE_TASK_IOCTL is not set
462CONFIG_IDE_PROC_FS=y
475 463
476# 464#
477# IDE chipset support/bugfixes 465# IDE chipset support/bugfixes
@@ -479,6 +467,7 @@ CONFIG_BLK_DEV_IDEDISK=y
479CONFIG_IDE_GENERIC=y 467CONFIG_IDE_GENERIC=y
480CONFIG_BLK_DEV_IDEPCI=y 468CONFIG_BLK_DEV_IDEPCI=y
481# CONFIG_IDEPCI_SHARE_IRQ is not set 469# CONFIG_IDEPCI_SHARE_IRQ is not set
470CONFIG_IDEPCI_PCIBUS_ORDER=y
482# CONFIG_BLK_DEV_OFFBOARD is not set 471# CONFIG_BLK_DEV_OFFBOARD is not set
483CONFIG_BLK_DEV_GENERIC=y 472CONFIG_BLK_DEV_GENERIC=y
484# CONFIG_BLK_DEV_OPTI621 is not set 473# CONFIG_BLK_DEV_OPTI621 is not set
@@ -588,12 +577,7 @@ CONFIG_BLK_DEV_SD=y
588# CONFIG_SCSI_DC390T is not set 577# CONFIG_SCSI_DC390T is not set
589# CONFIG_SCSI_NSP32 is not set 578# CONFIG_SCSI_NSP32 is not set
590# CONFIG_SCSI_DEBUG is not set 579# CONFIG_SCSI_DEBUG is not set
591# CONFIG_SCSI_ESP_CORE is not set
592# CONFIG_SCSI_SRP is not set 580# CONFIG_SCSI_SRP is not set
593
594#
595# Serial ATA (prod) and Parallel ATA (experimental) drivers
596#
597CONFIG_ATA=y 581CONFIG_ATA=y
598# CONFIG_ATA_NONSTANDARD is not set 582# CONFIG_ATA_NONSTANDARD is not set
599# CONFIG_SATA_AHCI is not set 583# CONFIG_SATA_AHCI is not set
@@ -665,6 +649,7 @@ CONFIG_SATA_MV=y
665# 649#
666# IEEE 1394 (FireWire) support 650# IEEE 1394 (FireWire) support
667# 651#
652# CONFIG_FIREWIRE is not set
668# CONFIG_IEEE1394 is not set 653# CONFIG_IEEE1394 is not set
669 654
670# 655#
@@ -683,15 +668,7 @@ CONFIG_NETDEVICES=y
683# CONFIG_BONDING is not set 668# CONFIG_BONDING is not set
684# CONFIG_EQUALIZER is not set 669# CONFIG_EQUALIZER is not set
685# CONFIG_TUN is not set 670# CONFIG_TUN is not set
686
687#
688# ARCnet devices
689#
690# CONFIG_ARCNET is not set 671# CONFIG_ARCNET is not set
691
692#
693# PHY device support
694#
695CONFIG_PHYLIB=y 672CONFIG_PHYLIB=y
696 673
697# 674#
@@ -746,10 +723,7 @@ CONFIG_8139TOO=y
746# CONFIG_TLAN is not set 723# CONFIG_TLAN is not set
747# CONFIG_VIA_RHINE is not set 724# CONFIG_VIA_RHINE is not set
748# CONFIG_SC92031 is not set 725# CONFIG_SC92031 is not set
749 726CONFIG_NETDEV_1000=y
750#
751# Ethernet (1000 Mbit)
752#
753# CONFIG_ACENIC is not set 727# CONFIG_ACENIC is not set
754# CONFIG_DL2K is not set 728# CONFIG_DL2K is not set
755CONFIG_E1000=y 729CONFIG_E1000=y
@@ -769,20 +743,14 @@ CONFIG_E1000=y
769CONFIG_MV643XX_ETH=y 743CONFIG_MV643XX_ETH=y
770# CONFIG_QLA3XXX is not set 744# CONFIG_QLA3XXX is not set
771# CONFIG_ATL1 is not set 745# CONFIG_ATL1 is not set
772 746CONFIG_NETDEV_10000=y
773#
774# Ethernet (10000 Mbit)
775#
776# CONFIG_CHELSIO_T1 is not set 747# CONFIG_CHELSIO_T1 is not set
777# CONFIG_CHELSIO_T3 is not set 748# CONFIG_CHELSIO_T3 is not set
778# CONFIG_IXGB is not set 749# CONFIG_IXGB is not set
779# CONFIG_S2IO is not set 750# CONFIG_S2IO is not set
780# CONFIG_MYRI10GE is not set 751# CONFIG_MYRI10GE is not set
781# CONFIG_NETXEN_NIC is not set 752# CONFIG_NETXEN_NIC is not set
782 753# CONFIG_MLX4_CORE is not set
783#
784# Token Ring devices
785#
786# CONFIG_TR is not set 754# CONFIG_TR is not set
787 755
788# 756#
@@ -792,8 +760,14 @@ CONFIG_MV643XX_ETH=y
792# CONFIG_WLAN_80211 is not set 760# CONFIG_WLAN_80211 is not set
793 761
794# 762#
795# Wan interfaces 763# USB Network Adapters
796# 764#
765# CONFIG_USB_CATC is not set
766# CONFIG_USB_KAWETH is not set
767# CONFIG_USB_PEGASUS is not set
768# CONFIG_USB_RTL8150 is not set
769# CONFIG_USB_USBNET_MII is not set
770# CONFIG_USB_USBNET is not set
797# CONFIG_WAN is not set 771# CONFIG_WAN is not set
798# CONFIG_FDDI is not set 772# CONFIG_FDDI is not set
799# CONFIG_HIPPI is not set 773# CONFIG_HIPPI is not set
@@ -820,6 +794,7 @@ CONFIG_MV643XX_ETH=y
820# 794#
821CONFIG_INPUT=y 795CONFIG_INPUT=y
822# CONFIG_INPUT_FF_MEMLESS is not set 796# CONFIG_INPUT_FF_MEMLESS is not set
797# CONFIG_INPUT_POLLDEV is not set
823 798
824# 799#
825# Userland interfaces 800# Userland interfaces
@@ -880,16 +855,11 @@ CONFIG_LEGACY_PTY_COUNT=256
880# IPMI 855# IPMI
881# 856#
882# CONFIG_IPMI_HANDLER is not set 857# CONFIG_IPMI_HANDLER is not set
883
884#
885# Watchdog Cards
886#
887# CONFIG_WATCHDOG is not set 858# CONFIG_WATCHDOG is not set
888# CONFIG_HW_RANDOM is not set 859# CONFIG_HW_RANDOM is not set
889# CONFIG_NVRAM is not set 860# CONFIG_NVRAM is not set
890CONFIG_GEN_RTC=y 861CONFIG_GEN_RTC=y
891# CONFIG_GEN_RTC_X is not set 862# CONFIG_GEN_RTC_X is not set
892# CONFIG_DTLK is not set
893# CONFIG_R3964 is not set 863# CONFIG_R3964 is not set
894# CONFIG_APPLICOM is not set 864# CONFIG_APPLICOM is not set
895# CONFIG_AGP is not set 865# CONFIG_AGP is not set
@@ -1023,12 +993,8 @@ CONFIG_HWMON=y
1023# Multimedia devices 993# Multimedia devices
1024# 994#
1025# CONFIG_VIDEO_DEV is not set 995# CONFIG_VIDEO_DEV is not set
1026 996# CONFIG_DVB_CORE is not set
1027# 997# CONFIG_DAB is not set
1028# Digital Video Broadcasting Devices
1029#
1030# CONFIG_DVB is not set
1031# CONFIG_USB_DABUSB is not set
1032 998
1033# 999#
1034# Graphics support 1000# Graphics support
@@ -1124,16 +1090,6 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1124# 1090#
1125# CONFIG_USB_MDC800 is not set 1091# CONFIG_USB_MDC800 is not set
1126# CONFIG_USB_MICROTEK is not set 1092# CONFIG_USB_MICROTEK is not set
1127
1128#
1129# USB Network Adapters
1130#
1131# CONFIG_USB_CATC is not set
1132# CONFIG_USB_KAWETH is not set
1133# CONFIG_USB_PEGASUS is not set
1134# CONFIG_USB_RTL8150 is not set
1135# CONFIG_USB_USBNET_MII is not set
1136# CONFIG_USB_USBNET is not set
1137CONFIG_USB_MON=y 1093CONFIG_USB_MON=y
1138 1094
1139# 1095#
@@ -1261,14 +1217,6 @@ CONFIG_RTC_DRV_MAX6900=y
1261# 1217#
1262 1218
1263# 1219#
1264# Auxiliary Display support
1265#
1266
1267#
1268# Virtualization
1269#
1270
1271#
1272# File systems 1220# File systems
1273# 1221#
1274CONFIG_EXT2_FS=y 1222CONFIG_EXT2_FS=y
@@ -1396,7 +1344,6 @@ CONFIG_MSDOS_PARTITION=y
1396# 1344#
1397# CONFIG_DLM is not set 1345# CONFIG_DLM is not set
1398# CONFIG_UCC_SLOW is not set 1346# CONFIG_UCC_SLOW is not set
1399# CONFIG_UCC_FAST is not set
1400 1347
1401# 1348#
1402# Library routines 1349# Library routines
@@ -1404,6 +1351,7 @@ CONFIG_MSDOS_PARTITION=y
1404CONFIG_BITREVERSE=y 1351CONFIG_BITREVERSE=y
1405# CONFIG_CRC_CCITT is not set 1352# CONFIG_CRC_CCITT is not set
1406# CONFIG_CRC16 is not set 1353# CONFIG_CRC16 is not set
1354# CONFIG_CRC_ITU_T is not set
1407CONFIG_CRC32=y 1355CONFIG_CRC32=y
1408# CONFIG_LIBCRC32C is not set 1356# CONFIG_LIBCRC32C is not set
1409CONFIG_PLIST=y 1357CONFIG_PLIST=y
diff --git a/arch/powerpc/configs/ps3_defconfig b/arch/powerpc/configs/ps3_defconfig
index 477934558f06..956d1df61e0f 100644
--- a/arch/powerpc/configs/ps3_defconfig
+++ b/arch/powerpc/configs/ps3_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.21 3# Linux kernel version: 2.6.22-rc6
4# Fri May 11 10:16:27 2007 4# Tue Jun 26 14:15:19 2007
5# 5#
6CONFIG_PPC64=y 6CONFIG_PPC64=y
7CONFIG_64BIT=y 7CONFIG_64BIT=y
@@ -87,7 +87,11 @@ CONFIG_BUG=y
87CONFIG_ELF_CORE=y 87CONFIG_ELF_CORE=y
88CONFIG_BASE_FULL=y 88CONFIG_BASE_FULL=y
89CONFIG_FUTEX=y 89CONFIG_FUTEX=y
90CONFIG_ANON_INODES=y
90CONFIG_EPOLL=y 91CONFIG_EPOLL=y
92CONFIG_SIGNALFD=y
93CONFIG_TIMERFD=y
94CONFIG_EVENTFD=y
91CONFIG_SHMEM=y 95CONFIG_SHMEM=y
92CONFIG_VM_EVENT_COUNTERS=y 96CONFIG_VM_EVENT_COUNTERS=y
93CONFIG_SLAB=y 97CONFIG_SLAB=y
@@ -301,20 +305,8 @@ CONFIG_IPV6_SIT=y
301# CONFIG_IPV6_MULTIPLE_TABLES is not set 305# CONFIG_IPV6_MULTIPLE_TABLES is not set
302# CONFIG_NETWORK_SECMARK is not set 306# CONFIG_NETWORK_SECMARK is not set
303# CONFIG_NETFILTER is not set 307# CONFIG_NETFILTER is not set
304
305#
306# DCCP Configuration (EXPERIMENTAL)
307#
308# CONFIG_IP_DCCP is not set 308# CONFIG_IP_DCCP is not set
309
310#
311# SCTP Configuration (EXPERIMENTAL)
312#
313# CONFIG_IP_SCTP is not set 309# CONFIG_IP_SCTP is not set
314
315#
316# TIPC Configuration (EXPERIMENTAL)
317#
318# CONFIG_TIPC is not set 310# CONFIG_TIPC is not set
319# CONFIG_ATM is not set 311# CONFIG_ATM is not set
320# CONFIG_BRIDGE is not set 312# CONFIG_BRIDGE is not set
@@ -418,10 +410,6 @@ CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
418# Misc devices 410# Misc devices
419# 411#
420# CONFIG_BLINK is not set 412# CONFIG_BLINK is not set
421
422#
423# ATA/ATAPI/MFM/RLL support
424#
425# CONFIG_IDE is not set 413# CONFIG_IDE is not set
426 414
427# 415#
@@ -467,11 +455,6 @@ CONFIG_SCSI_WAIT_SCAN=m
467# 455#
468# CONFIG_ISCSI_TCP is not set 456# CONFIG_ISCSI_TCP is not set
469# CONFIG_SCSI_DEBUG is not set 457# CONFIG_SCSI_DEBUG is not set
470# CONFIG_SCSI_ESP_CORE is not set
471
472#
473# Serial ATA (prod) and Parallel ATA (experimental) drivers
474#
475# CONFIG_ATA is not set 458# CONFIG_ATA is not set
476 459
477# 460#
@@ -490,27 +473,12 @@ CONFIG_NETDEVICES=y
490# CONFIG_TUN is not set 473# CONFIG_TUN is not set
491 474
492# 475#
493# PHY device support
494#
495
496#
497# Ethernet (10 or 100Mbit) 476# Ethernet (10 or 100Mbit)
498# 477#
499# CONFIG_NET_ETHERNET is not set 478# CONFIG_NET_ETHERNET is not set
500CONFIG_MII=m 479CONFIG_MII=m
501 480CONFIG_NETDEV_1000=y
502# 481CONFIG_NETDEV_10000=y
503# Ethernet (1000 Mbit)
504#
505
506#
507# Ethernet (10000 Mbit)
508#
509CONFIG_MLX4_DEBUG=y
510
511#
512# Token Ring devices
513#
514 482
515# 483#
516# Wireless LAN 484# Wireless LAN
@@ -536,10 +504,6 @@ CONFIG_USB_NET_MCS7830=m
536# CONFIG_USB_NET_RNDIS_HOST is not set 504# CONFIG_USB_NET_RNDIS_HOST is not set
537# CONFIG_USB_NET_CDC_SUBSET is not set 505# CONFIG_USB_NET_CDC_SUBSET is not set
538# CONFIG_USB_NET_ZAURUS is not set 506# CONFIG_USB_NET_ZAURUS is not set
539
540#
541# Wan interfaces
542#
543# CONFIG_WAN is not set 507# CONFIG_WAN is not set
544# CONFIG_PPP is not set 508# CONFIG_PPP is not set
545# CONFIG_SLIP is not set 509# CONFIG_SLIP is not set
@@ -563,6 +527,7 @@ CONFIG_USB_NET_MCS7830=m
563# 527#
564CONFIG_INPUT=y 528CONFIG_INPUT=y
565# CONFIG_INPUT_FF_MEMLESS is not set 529# CONFIG_INPUT_FF_MEMLESS is not set
530# CONFIG_INPUT_POLLDEV is not set
566 531
567# 532#
568# Userland interfaces 533# Userland interfaces
@@ -652,12 +617,8 @@ CONFIG_GEN_RTC=y
652# Multimedia devices 617# Multimedia devices
653# 618#
654# CONFIG_VIDEO_DEV is not set 619# CONFIG_VIDEO_DEV is not set
655 620# CONFIG_DVB_CORE is not set
656# 621# CONFIG_DAB is not set
657# Digital Video Broadcasting Devices
658#
659# CONFIG_DVB is not set
660# CONFIG_USB_DABUSB is not set
661 622
662# 623#
663# Graphics support 624# Graphics support
@@ -672,13 +633,13 @@ CONFIG_GEN_RTC=y
672CONFIG_FB=y 633CONFIG_FB=y
673# CONFIG_FIRMWARE_EDID is not set 634# CONFIG_FIRMWARE_EDID is not set
674# CONFIG_FB_DDC is not set 635# CONFIG_FB_DDC is not set
675CONFIG_FB_CFB_FILLRECT=y 636# CONFIG_FB_CFB_FILLRECT is not set
676CONFIG_FB_CFB_COPYAREA=y 637# CONFIG_FB_CFB_COPYAREA is not set
677CONFIG_FB_CFB_IMAGEBLIT=y 638# CONFIG_FB_CFB_IMAGEBLIT is not set
678# CONFIG_FB_SYS_FILLRECT is not set 639CONFIG_FB_SYS_FILLRECT=y
679# CONFIG_FB_SYS_COPYAREA is not set 640CONFIG_FB_SYS_COPYAREA=y
680# CONFIG_FB_SYS_IMAGEBLIT is not set 641CONFIG_FB_SYS_IMAGEBLIT=y
681# CONFIG_FB_SYS_FOPS is not set 642CONFIG_FB_SYS_FOPS=y
682CONFIG_FB_DEFERRED_IO=y 643CONFIG_FB_DEFERRED_IO=y
683# CONFIG_FB_SVGALIB is not set 644# CONFIG_FB_SVGALIB is not set
684# CONFIG_FB_MACMODES is not set 645# CONFIG_FB_MACMODES is not set
@@ -751,9 +712,10 @@ CONFIG_SND_VERBOSE_PROCFS=y
751# 712#
752# CONFIG_SND_USB_AUDIO is not set 713# CONFIG_SND_USB_AUDIO is not set
753# CONFIG_SND_USB_USX2Y is not set 714# CONFIG_SND_USB_USX2Y is not set
715# CONFIG_SND_USB_CAIAQ is not set
754 716
755# 717#
756# SoC audio support 718# System on Chip audio support
757# 719#
758# CONFIG_SND_SOC is not set 720# CONFIG_SND_SOC is not set
759 721
@@ -1098,7 +1060,6 @@ CONFIG_NLS_ISO8859_1=y
1098# 1060#
1099# CONFIG_DLM is not set 1061# CONFIG_DLM is not set
1100# CONFIG_UCC_SLOW is not set 1062# CONFIG_UCC_SLOW is not set
1101# CONFIG_UCC_FAST is not set
1102 1063
1103# 1064#
1104# Library routines 1065# Library routines
diff --git a/arch/powerpc/configs/pseries_defconfig b/arch/powerpc/configs/pseries_defconfig
index 6e96e50c362d..0caf0dd5ea87 100644
--- a/arch/powerpc/configs/pseries_defconfig
+++ b/arch/powerpc/configs/pseries_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.20-rc5 3# Linux kernel version: 2.6.22-rc6
4# Mon Jan 22 22:31:27 2007 4# Tue Jun 26 14:17:45 2007
5# 5#
6CONFIG_PPC64=y 6CONFIG_PPC64=y
7CONFIG_64BIT=y 7CONFIG_64BIT=y
@@ -40,6 +40,7 @@ CONFIG_PPC_FPU=y
40# CONFIG_PPC_OF_PLATFORM_PCI is not set 40# CONFIG_PPC_OF_PLATFORM_PCI is not set
41CONFIG_ALTIVEC=y 41CONFIG_ALTIVEC=y
42CONFIG_PPC_STD_MMU=y 42CONFIG_PPC_STD_MMU=y
43CONFIG_PPC_MM_SLICES=y
43CONFIG_VIRT_CPU_ACCOUNTING=y 44CONFIG_VIRT_CPU_ACCOUNTING=y
44CONFIG_SMP=y 45CONFIG_SMP=y
45CONFIG_NR_CPUS=128 46CONFIG_NR_CPUS=128
@@ -60,16 +61,23 @@ CONFIG_LOCALVERSION_AUTO=y
60CONFIG_SWAP=y 61CONFIG_SWAP=y
61CONFIG_SYSVIPC=y 62CONFIG_SYSVIPC=y
62# CONFIG_IPC_NS is not set 63# CONFIG_IPC_NS is not set
64CONFIG_SYSVIPC_SYSCTL=y
63CONFIG_POSIX_MQUEUE=y 65CONFIG_POSIX_MQUEUE=y
64# CONFIG_BSD_PROCESS_ACCT is not set 66# CONFIG_BSD_PROCESS_ACCT is not set
67CONFIG_TASKSTATS=y
68CONFIG_TASK_DELAY_ACCT=y
69CONFIG_TASK_XACCT=y
70CONFIG_TASK_IO_ACCOUNTING=y
65# CONFIG_UTS_NS is not set 71# CONFIG_UTS_NS is not set
66CONFIG_AUDIT=y 72CONFIG_AUDIT=y
67CONFIG_AUDITSYSCALL=y 73CONFIG_AUDITSYSCALL=y
68CONFIG_IKCONFIG=y 74CONFIG_IKCONFIG=y
69CONFIG_IKCONFIG_PROC=y 75CONFIG_IKCONFIG_PROC=y
76CONFIG_LOG_BUF_SHIFT=17
70CONFIG_CPUSETS=y 77CONFIG_CPUSETS=y
71CONFIG_SYSFS_DEPRECATED=y 78CONFIG_SYSFS_DEPRECATED=y
72# CONFIG_RELAY is not set 79# CONFIG_RELAY is not set
80CONFIG_BLK_DEV_INITRD=y
73CONFIG_INITRAMFS_SOURCE="" 81CONFIG_INITRAMFS_SOURCE=""
74CONFIG_CC_OPTIMIZE_FOR_SIZE=y 82CONFIG_CC_OPTIMIZE_FOR_SIZE=y
75CONFIG_SYSCTL=y 83CONFIG_SYSCTL=y
@@ -84,14 +92,19 @@ CONFIG_BUG=y
84CONFIG_ELF_CORE=y 92CONFIG_ELF_CORE=y
85CONFIG_BASE_FULL=y 93CONFIG_BASE_FULL=y
86CONFIG_FUTEX=y 94CONFIG_FUTEX=y
95CONFIG_ANON_INODES=y
87CONFIG_EPOLL=y 96CONFIG_EPOLL=y
97CONFIG_SIGNALFD=y
98CONFIG_TIMERFD=y
99CONFIG_EVENTFD=y
88CONFIG_SHMEM=y 100CONFIG_SHMEM=y
89CONFIG_SLAB=y
90CONFIG_VM_EVENT_COUNTERS=y 101CONFIG_VM_EVENT_COUNTERS=y
102CONFIG_SLAB=y
103# CONFIG_SLUB is not set
104# CONFIG_SLOB is not set
91CONFIG_RT_MUTEXES=y 105CONFIG_RT_MUTEXES=y
92# CONFIG_TINY_SHMEM is not set 106# CONFIG_TINY_SHMEM is not set
93CONFIG_BASE_SMALL=0 107CONFIG_BASE_SMALL=0
94# CONFIG_SLOB is not set
95 108
96# 109#
97# Loadable module support 110# Loadable module support
@@ -130,18 +143,28 @@ CONFIG_PPC_MULTIPLATFORM=y
130# CONFIG_EMBEDDED6xx is not set 143# CONFIG_EMBEDDED6xx is not set
131# CONFIG_APUS is not set 144# CONFIG_APUS is not set
132CONFIG_PPC_PSERIES=y 145CONFIG_PPC_PSERIES=y
146CONFIG_PPC_SPLPAR=y
147CONFIG_EEH=y
148CONFIG_SCANLOG=m
149CONFIG_LPARCFG=y
133# CONFIG_PPC_ISERIES is not set 150# CONFIG_PPC_ISERIES is not set
134# CONFIG_PPC_MPC52xx is not set 151# CONFIG_PPC_MPC52xx is not set
152# CONFIG_PPC_MPC5200 is not set
135# CONFIG_PPC_PMAC is not set 153# CONFIG_PPC_PMAC is not set
136# CONFIG_PPC_MAPLE is not set 154# CONFIG_PPC_MAPLE is not set
137# CONFIG_PPC_PASEMI is not set 155# CONFIG_PPC_PASEMI is not set
156# CONFIG_PPC_CELLEB is not set
157# CONFIG_PPC_PS3 is not set
138# CONFIG_PPC_CELL is not set 158# CONFIG_PPC_CELL is not set
139# CONFIG_PPC_CELL_NATIVE is not set 159# CONFIG_PPC_CELL_NATIVE is not set
140# CONFIG_PPC_IBM_CELL_BLADE is not set 160# CONFIG_PPC_IBM_CELL_BLADE is not set
141# CONFIG_PPC_PS3 is not set 161# CONFIG_PQ2ADS is not set
142CONFIG_PPC_NATIVE=y 162CONFIG_PPC_NATIVE=y
143# CONFIG_UDBG_RTAS_CONSOLE is not set 163# CONFIG_UDBG_RTAS_CONSOLE is not set
144CONFIG_XICS=y 164CONFIG_XICS=y
165CONFIG_MPIC=y
166# CONFIG_MPIC_WEIRD is not set
167CONFIG_PPC_I8259=y
145# CONFIG_U3_DART is not set 168# CONFIG_U3_DART is not set
146CONFIG_PPC_RTAS=y 169CONFIG_PPC_RTAS=y
147CONFIG_RTAS_ERROR_LOGGING=y 170CONFIG_RTAS_ERROR_LOGGING=y
@@ -155,8 +178,7 @@ CONFIG_IBMEBUS=y
155# CONFIG_PPC_INDIRECT_IO is not set 178# CONFIG_PPC_INDIRECT_IO is not set
156# CONFIG_GENERIC_IOMAP is not set 179# CONFIG_GENERIC_IOMAP is not set
157# CONFIG_CPU_FREQ is not set 180# CONFIG_CPU_FREQ is not set
158# CONFIG_WANT_EARLY_SERIAL is not set 181# CONFIG_CPM2 is not set
159CONFIG_MPIC=y
160 182
161# 183#
162# Kernel options 184# Kernel options
@@ -179,10 +201,6 @@ CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
179CONFIG_KEXEC=y 201CONFIG_KEXEC=y
180# CONFIG_CRASH_DUMP is not set 202# CONFIG_CRASH_DUMP is not set
181CONFIG_IRQ_ALL_CPUS=y 203CONFIG_IRQ_ALL_CPUS=y
182CONFIG_PPC_SPLPAR=y
183CONFIG_EEH=y
184CONFIG_SCANLOG=m
185CONFIG_LPARCFG=y
186CONFIG_NUMA=y 204CONFIG_NUMA=y
187CONFIG_NODES_SHIFT=4 205CONFIG_NODES_SHIFT=4
188CONFIG_ARCH_SELECT_MEMORY_MODEL=y 206CONFIG_ARCH_SELECT_MEMORY_MODEL=y
@@ -202,35 +220,35 @@ CONFIG_SPARSEMEM_EXTREME=y
202CONFIG_SPLIT_PTLOCK_CPUS=4 220CONFIG_SPLIT_PTLOCK_CPUS=4
203CONFIG_MIGRATION=y 221CONFIG_MIGRATION=y
204CONFIG_RESOURCES_64BIT=y 222CONFIG_RESOURCES_64BIT=y
223CONFIG_ZONE_DMA_FLAG=1
205CONFIG_NODES_SPAN_OTHER_NODES=y 224CONFIG_NODES_SPAN_OTHER_NODES=y
225# CONFIG_PPC_HAS_HASH_64K is not set
206# CONFIG_PPC_64K_PAGES is not set 226# CONFIG_PPC_64K_PAGES is not set
207CONFIG_SCHED_SMT=y 227CONFIG_SCHED_SMT=y
208CONFIG_PROC_DEVICETREE=y 228CONFIG_PROC_DEVICETREE=y
209# CONFIG_CMDLINE_BOOL is not set 229# CONFIG_CMDLINE_BOOL is not set
210# CONFIG_PM is not set 230# CONFIG_PM is not set
211CONFIG_SECCOMP=y 231CONFIG_SECCOMP=y
232# CONFIG_WANT_DEVICE_TREE is not set
212CONFIG_ISA_DMA_API=y 233CONFIG_ISA_DMA_API=y
213 234
214# 235#
215# Bus options 236# Bus options
216# 237#
238CONFIG_ZONE_DMA=y
217CONFIG_GENERIC_ISA_DMA=y 239CONFIG_GENERIC_ISA_DMA=y
218# CONFIG_MPIC_WEIRD is not set
219CONFIG_PPC_I8259=y
220# CONFIG_PPC_INDIRECT_PCI is not set 240# CONFIG_PPC_INDIRECT_PCI is not set
221CONFIG_PCI=y 241CONFIG_PCI=y
222CONFIG_PCI_DOMAINS=y 242CONFIG_PCI_DOMAINS=y
223# CONFIG_PCIEPORTBUS is not set 243# CONFIG_PCIEPORTBUS is not set
244CONFIG_ARCH_SUPPORTS_MSI=y
245CONFIG_PCI_MSI=y
224# CONFIG_PCI_DEBUG is not set 246# CONFIG_PCI_DEBUG is not set
225 247
226# 248#
227# PCCARD (PCMCIA/CardBus) support 249# PCCARD (PCMCIA/CardBus) support
228# 250#
229# CONFIG_PCCARD is not set 251# CONFIG_PCCARD is not set
230
231#
232# PCI Hotplug Support
233#
234CONFIG_HOTPLUG_PCI=m 252CONFIG_HOTPLUG_PCI=m
235# CONFIG_HOTPLUG_PCI_FAKE is not set 253# CONFIG_HOTPLUG_PCI_FAKE is not set
236# CONFIG_HOTPLUG_PCI_CPCI is not set 254# CONFIG_HOTPLUG_PCI_CPCI is not set
@@ -247,14 +265,15 @@ CONFIG_NET=y
247# 265#
248# Networking options 266# Networking options
249# 267#
250# CONFIG_NETDEBUG is not set
251CONFIG_PACKET=y 268CONFIG_PACKET=y
252# CONFIG_PACKET_MMAP is not set 269# CONFIG_PACKET_MMAP is not set
253CONFIG_UNIX=y 270CONFIG_UNIX=y
254CONFIG_XFRM=y 271CONFIG_XFRM=y
255CONFIG_XFRM_USER=m 272CONFIG_XFRM_USER=m
256# CONFIG_XFRM_SUB_POLICY is not set 273# CONFIG_XFRM_SUB_POLICY is not set
274# CONFIG_XFRM_MIGRATE is not set
257CONFIG_NET_KEY=m 275CONFIG_NET_KEY=m
276# CONFIG_NET_KEY_MIGRATE is not set
258CONFIG_INET=y 277CONFIG_INET=y
259CONFIG_IP_MULTICAST=y 278CONFIG_IP_MULTICAST=y
260# CONFIG_IP_ADVANCED_ROUTER is not set 279# CONFIG_IP_ADVANCED_ROUTER is not set
@@ -279,10 +298,6 @@ CONFIG_INET_TCP_DIAG=y
279CONFIG_TCP_CONG_CUBIC=y 298CONFIG_TCP_CONG_CUBIC=y
280CONFIG_DEFAULT_TCP_CONG="cubic" 299CONFIG_DEFAULT_TCP_CONG="cubic"
281# CONFIG_TCP_MD5SIG is not set 300# CONFIG_TCP_MD5SIG is not set
282
283#
284# IP: Virtual Server Configuration
285#
286# CONFIG_IP_VS is not set 301# CONFIG_IP_VS is not set
287# CONFIG_IPV6 is not set 302# CONFIG_IPV6 is not set
288# CONFIG_INET6_XFRM_TUNNEL is not set 303# CONFIG_INET6_XFRM_TUNNEL is not set
@@ -298,10 +313,8 @@ CONFIG_NETFILTER_NETLINK=y
298CONFIG_NETFILTER_NETLINK_QUEUE=m 313CONFIG_NETFILTER_NETLINK_QUEUE=m
299CONFIG_NETFILTER_NETLINK_LOG=m 314CONFIG_NETFILTER_NETLINK_LOG=m
300CONFIG_NF_CONNTRACK_ENABLED=m 315CONFIG_NF_CONNTRACK_ENABLED=m
301CONFIG_NF_CONNTRACK_SUPPORT=y
302# CONFIG_IP_NF_CONNTRACK_SUPPORT is not set
303CONFIG_NF_CONNTRACK=m 316CONFIG_NF_CONNTRACK=m
304# CONFIG_NF_CT_ACCT is not set 317CONFIG_NF_CT_ACCT=y
305CONFIG_NF_CONNTRACK_MARK=y 318CONFIG_NF_CONNTRACK_MARK=y
306CONFIG_NF_CONNTRACK_EVENTS=y 319CONFIG_NF_CONNTRACK_EVENTS=y
307# CONFIG_NF_CT_PROTO_SCTP is not set 320# CONFIG_NF_CT_PROTO_SCTP is not set
@@ -311,10 +324,39 @@ CONFIG_NF_CONNTRACK_FTP=m
311CONFIG_NF_CONNTRACK_IRC=m 324CONFIG_NF_CONNTRACK_IRC=m
312# CONFIG_NF_CONNTRACK_NETBIOS_NS is not set 325# CONFIG_NF_CONNTRACK_NETBIOS_NS is not set
313# CONFIG_NF_CONNTRACK_PPTP is not set 326# CONFIG_NF_CONNTRACK_PPTP is not set
327# CONFIG_NF_CONNTRACK_SANE is not set
314# CONFIG_NF_CONNTRACK_SIP is not set 328# CONFIG_NF_CONNTRACK_SIP is not set
315CONFIG_NF_CONNTRACK_TFTP=m 329CONFIG_NF_CONNTRACK_TFTP=m
316CONFIG_NF_CT_NETLINK=m 330CONFIG_NF_CT_NETLINK=m
317# CONFIG_NETFILTER_XTABLES is not set 331CONFIG_NETFILTER_XTABLES=m
332CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
333CONFIG_NETFILTER_XT_TARGET_MARK=m
334CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
335CONFIG_NETFILTER_XT_TARGET_NFLOG=m
336CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
337CONFIG_NETFILTER_XT_MATCH_COMMENT=m
338CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
339CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
340CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
341CONFIG_NETFILTER_XT_MATCH_DCCP=m
342CONFIG_NETFILTER_XT_MATCH_DSCP=m
343CONFIG_NETFILTER_XT_MATCH_ESP=m
344CONFIG_NETFILTER_XT_MATCH_HELPER=m
345CONFIG_NETFILTER_XT_MATCH_LENGTH=m
346CONFIG_NETFILTER_XT_MATCH_LIMIT=m
347CONFIG_NETFILTER_XT_MATCH_MAC=m
348CONFIG_NETFILTER_XT_MATCH_MARK=m
349CONFIG_NETFILTER_XT_MATCH_POLICY=m
350CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
351CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
352CONFIG_NETFILTER_XT_MATCH_QUOTA=m
353CONFIG_NETFILTER_XT_MATCH_REALM=m
354CONFIG_NETFILTER_XT_MATCH_SCTP=m
355CONFIG_NETFILTER_XT_MATCH_STATE=m
356CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
357CONFIG_NETFILTER_XT_MATCH_STRING=m
358CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
359CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
318 360
319# 361#
320# IP: Netfilter Configuration 362# IP: Netfilter Configuration
@@ -322,20 +364,38 @@ CONFIG_NF_CT_NETLINK=m
322CONFIG_NF_CONNTRACK_IPV4=m 364CONFIG_NF_CONNTRACK_IPV4=m
323CONFIG_NF_CONNTRACK_PROC_COMPAT=y 365CONFIG_NF_CONNTRACK_PROC_COMPAT=y
324CONFIG_IP_NF_QUEUE=m 366CONFIG_IP_NF_QUEUE=m
325 367CONFIG_IP_NF_IPTABLES=m
326# 368CONFIG_IP_NF_MATCH_IPRANGE=m
327# DCCP Configuration (EXPERIMENTAL) 369CONFIG_IP_NF_MATCH_TOS=m
328# 370CONFIG_IP_NF_MATCH_RECENT=m
371CONFIG_IP_NF_MATCH_ECN=m
372CONFIG_IP_NF_MATCH_AH=m
373CONFIG_IP_NF_MATCH_TTL=m
374CONFIG_IP_NF_MATCH_OWNER=m
375CONFIG_IP_NF_MATCH_ADDRTYPE=m
376CONFIG_IP_NF_FILTER=m
377CONFIG_IP_NF_TARGET_REJECT=m
378CONFIG_IP_NF_TARGET_LOG=m
379CONFIG_IP_NF_TARGET_ULOG=m
380CONFIG_NF_NAT=m
381CONFIG_NF_NAT_NEEDED=y
382CONFIG_IP_NF_TARGET_MASQUERADE=m
383CONFIG_IP_NF_TARGET_REDIRECT=m
384CONFIG_IP_NF_TARGET_NETMAP=m
385CONFIG_IP_NF_TARGET_SAME=m
386CONFIG_NF_NAT_SNMP_BASIC=m
387CONFIG_NF_NAT_FTP=m
388CONFIG_NF_NAT_IRC=m
389CONFIG_NF_NAT_TFTP=m
390# CONFIG_NF_NAT_AMANDA is not set
391# CONFIG_NF_NAT_PPTP is not set
392# CONFIG_NF_NAT_H323 is not set
393# CONFIG_NF_NAT_SIP is not set
394# CONFIG_IP_NF_MANGLE is not set
395# CONFIG_IP_NF_RAW is not set
396# CONFIG_IP_NF_ARPTABLES is not set
329# CONFIG_IP_DCCP is not set 397# CONFIG_IP_DCCP is not set
330
331#
332# SCTP Configuration (EXPERIMENTAL)
333#
334# CONFIG_IP_SCTP is not set 398# CONFIG_IP_SCTP is not set
335
336#
337# TIPC Configuration (EXPERIMENTAL)
338#
339# CONFIG_TIPC is not set 399# CONFIG_TIPC is not set
340# CONFIG_ATM is not set 400# CONFIG_ATM is not set
341# CONFIG_BRIDGE is not set 401# CONFIG_BRIDGE is not set
@@ -354,6 +414,7 @@ CONFIG_LLC=y
354# QoS and/or fair queueing 414# QoS and/or fair queueing
355# 415#
356# CONFIG_NET_SCHED is not set 416# CONFIG_NET_SCHED is not set
417CONFIG_NET_CLS_ROUTE=y
357 418
358# 419#
359# Network testing 420# Network testing
@@ -363,7 +424,16 @@ CONFIG_LLC=y
363# CONFIG_HAMRADIO is not set 424# CONFIG_HAMRADIO is not set
364# CONFIG_IRDA is not set 425# CONFIG_IRDA is not set
365# CONFIG_BT is not set 426# CONFIG_BT is not set
427# CONFIG_AF_RXRPC is not set
428
429#
430# Wireless
431#
432# CONFIG_CFG80211 is not set
433# CONFIG_WIRELESS_EXT is not set
434# CONFIG_MAC80211 is not set
366# CONFIG_IEEE80211 is not set 435# CONFIG_IEEE80211 is not set
436# CONFIG_RFKILL is not set
367 437
368# 438#
369# Device Drivers 439# Device Drivers
@@ -376,16 +446,13 @@ CONFIG_STANDALONE=y
376CONFIG_PREVENT_FIRMWARE_BUILD=y 446CONFIG_PREVENT_FIRMWARE_BUILD=y
377CONFIG_FW_LOADER=y 447CONFIG_FW_LOADER=y
378# CONFIG_DEBUG_DRIVER is not set 448# CONFIG_DEBUG_DRIVER is not set
449# CONFIG_DEBUG_DEVRES is not set
379# CONFIG_SYS_HYPERVISOR is not set 450# CONFIG_SYS_HYPERVISOR is not set
380 451
381# 452#
382# Connector - unified userspace <-> kernelspace linker 453# Connector - unified userspace <-> kernelspace linker
383# 454#
384# CONFIG_CONNECTOR is not set 455# CONFIG_CONNECTOR is not set
385
386#
387# Memory Technology Devices (MTD)
388#
389# CONFIG_MTD is not set 456# CONFIG_MTD is not set
390 457
391# 458#
@@ -403,6 +470,7 @@ CONFIG_PARPORT_PC=m
403# 470#
404# Plug and Play support 471# Plug and Play support
405# 472#
473# CONFIG_PNPACPI is not set
406 474
407# 475#
408# Block devices 476# Block devices
@@ -423,19 +491,16 @@ CONFIG_BLK_DEV_RAM=y
423CONFIG_BLK_DEV_RAM_COUNT=16 491CONFIG_BLK_DEV_RAM_COUNT=16
424CONFIG_BLK_DEV_RAM_SIZE=65536 492CONFIG_BLK_DEV_RAM_SIZE=65536
425CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 493CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
426CONFIG_BLK_DEV_INITRD=y
427# CONFIG_CDROM_PKTCDVD is not set 494# CONFIG_CDROM_PKTCDVD is not set
428# CONFIG_ATA_OVER_ETH is not set 495# CONFIG_ATA_OVER_ETH is not set
429 496
430# 497#
431# Misc devices 498# Misc devices
432# 499#
500# CONFIG_PHANTOM is not set
433# CONFIG_SGI_IOC4 is not set 501# CONFIG_SGI_IOC4 is not set
434# CONFIG_TIFM_CORE is not set 502# CONFIG_TIFM_CORE is not set
435 503# CONFIG_BLINK is not set
436#
437# ATA/ATAPI/MFM/RLL support
438#
439CONFIG_IDE=y 504CONFIG_IDE=y
440CONFIG_BLK_DEV_IDE=y 505CONFIG_BLK_DEV_IDE=y
441 506
@@ -450,6 +515,7 @@ CONFIG_BLK_DEV_IDECD=y
450# CONFIG_BLK_DEV_IDEFLOPPY is not set 515# CONFIG_BLK_DEV_IDEFLOPPY is not set
451# CONFIG_BLK_DEV_IDESCSI is not set 516# CONFIG_BLK_DEV_IDESCSI is not set
452# CONFIG_IDE_TASK_IOCTL is not set 517# CONFIG_IDE_TASK_IOCTL is not set
518CONFIG_IDE_PROC_FS=y
453 519
454# 520#
455# IDE chipset support/bugfixes 521# IDE chipset support/bugfixes
@@ -457,12 +523,12 @@ CONFIG_BLK_DEV_IDECD=y
457CONFIG_IDE_GENERIC=y 523CONFIG_IDE_GENERIC=y
458CONFIG_BLK_DEV_IDEPCI=y 524CONFIG_BLK_DEV_IDEPCI=y
459CONFIG_IDEPCI_SHARE_IRQ=y 525CONFIG_IDEPCI_SHARE_IRQ=y
526CONFIG_IDEPCI_PCIBUS_ORDER=y
460# CONFIG_BLK_DEV_OFFBOARD is not set 527# CONFIG_BLK_DEV_OFFBOARD is not set
461CONFIG_BLK_DEV_GENERIC=y 528CONFIG_BLK_DEV_GENERIC=y
462# CONFIG_BLK_DEV_OPTI621 is not set 529# CONFIG_BLK_DEV_OPTI621 is not set
463CONFIG_BLK_DEV_IDEDMA_PCI=y 530CONFIG_BLK_DEV_IDEDMA_PCI=y
464# CONFIG_BLK_DEV_IDEDMA_FORCED is not set 531# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
465CONFIG_IDEDMA_PCI_AUTO=y
466# CONFIG_IDEDMA_ONLYDISK is not set 532# CONFIG_IDEDMA_ONLYDISK is not set
467# CONFIG_BLK_DEV_AEC62XX is not set 533# CONFIG_BLK_DEV_AEC62XX is not set
468# CONFIG_BLK_DEV_ALI15X3 is not set 534# CONFIG_BLK_DEV_ALI15X3 is not set
@@ -477,6 +543,7 @@ CONFIG_BLK_DEV_AMD74XX=y
477# CONFIG_BLK_DEV_JMICRON is not set 543# CONFIG_BLK_DEV_JMICRON is not set
478# CONFIG_BLK_DEV_SC1200 is not set 544# CONFIG_BLK_DEV_SC1200 is not set
479# CONFIG_BLK_DEV_PIIX is not set 545# CONFIG_BLK_DEV_PIIX is not set
546# CONFIG_BLK_DEV_IT8213 is not set
480# CONFIG_BLK_DEV_IT821X is not set 547# CONFIG_BLK_DEV_IT821X is not set
481# CONFIG_BLK_DEV_NS87415 is not set 548# CONFIG_BLK_DEV_NS87415 is not set
482# CONFIG_BLK_DEV_PDC202XX_OLD is not set 549# CONFIG_BLK_DEV_PDC202XX_OLD is not set
@@ -487,10 +554,10 @@ CONFIG_BLK_DEV_AMD74XX=y
487# CONFIG_BLK_DEV_SLC90E66 is not set 554# CONFIG_BLK_DEV_SLC90E66 is not set
488# CONFIG_BLK_DEV_TRM290 is not set 555# CONFIG_BLK_DEV_TRM290 is not set
489# CONFIG_BLK_DEV_VIA82CXXX is not set 556# CONFIG_BLK_DEV_VIA82CXXX is not set
557# CONFIG_BLK_DEV_TC86C001 is not set
490# CONFIG_IDE_ARM is not set 558# CONFIG_IDE_ARM is not set
491CONFIG_BLK_DEV_IDEDMA=y 559CONFIG_BLK_DEV_IDEDMA=y
492# CONFIG_IDEDMA_IVB is not set 560# CONFIG_IDEDMA_IVB is not set
493CONFIG_IDEDMA_AUTO=y
494# CONFIG_BLK_DEV_HD is not set 561# CONFIG_BLK_DEV_HD is not set
495 562
496# 563#
@@ -520,6 +587,7 @@ CONFIG_SCSI_MULTI_LUN=y
520CONFIG_SCSI_CONSTANTS=y 587CONFIG_SCSI_CONSTANTS=y
521# CONFIG_SCSI_LOGGING is not set 588# CONFIG_SCSI_LOGGING is not set
522# CONFIG_SCSI_SCAN_ASYNC is not set 589# CONFIG_SCSI_SCAN_ASYNC is not set
590CONFIG_SCSI_WAIT_SCAN=m
523 591
524# 592#
525# SCSI Transports 593# SCSI Transports
@@ -575,11 +643,8 @@ CONFIG_SCSI_LPFC=m
575# CONFIG_SCSI_DC390T is not set 643# CONFIG_SCSI_DC390T is not set
576# CONFIG_SCSI_DEBUG is not set 644# CONFIG_SCSI_DEBUG is not set
577# CONFIG_SCSI_SRP is not set 645# CONFIG_SCSI_SRP is not set
578
579#
580# Serial ATA (prod) and Parallel ATA (experimental) drivers
581#
582CONFIG_ATA=y 646CONFIG_ATA=y
647# CONFIG_ATA_NONSTANDARD is not set
583# CONFIG_SATA_AHCI is not set 648# CONFIG_SATA_AHCI is not set
584# CONFIG_SATA_SVW is not set 649# CONFIG_SATA_SVW is not set
585# CONFIG_ATA_PIIX is not set 650# CONFIG_ATA_PIIX is not set
@@ -595,10 +660,12 @@ CONFIG_ATA=y
595# CONFIG_SATA_ULI is not set 660# CONFIG_SATA_ULI is not set
596# CONFIG_SATA_VIA is not set 661# CONFIG_SATA_VIA is not set
597# CONFIG_SATA_VITESSE is not set 662# CONFIG_SATA_VITESSE is not set
663# CONFIG_SATA_INIC162X is not set
598# CONFIG_PATA_ALI is not set 664# CONFIG_PATA_ALI is not set
599# CONFIG_PATA_AMD is not set 665# CONFIG_PATA_AMD is not set
600# CONFIG_PATA_ARTOP is not set 666# CONFIG_PATA_ARTOP is not set
601# CONFIG_PATA_ATIIXP is not set 667# CONFIG_PATA_ATIIXP is not set
668# CONFIG_PATA_CMD640_PCI is not set
602# CONFIG_PATA_CMD64X is not set 669# CONFIG_PATA_CMD64X is not set
603# CONFIG_PATA_CS5520 is not set 670# CONFIG_PATA_CS5520 is not set
604# CONFIG_PATA_CS5530 is not set 671# CONFIG_PATA_CS5530 is not set
@@ -610,6 +677,7 @@ CONFIG_ATA=y
610# CONFIG_PATA_HPT3X2N is not set 677# CONFIG_PATA_HPT3X2N is not set
611# CONFIG_PATA_HPT3X3 is not set 678# CONFIG_PATA_HPT3X3 is not set
612# CONFIG_PATA_IT821X is not set 679# CONFIG_PATA_IT821X is not set
680# CONFIG_PATA_IT8213 is not set
613# CONFIG_PATA_JMICRON is not set 681# CONFIG_PATA_JMICRON is not set
614# CONFIG_PATA_TRIFLEX is not set 682# CONFIG_PATA_TRIFLEX is not set
615# CONFIG_PATA_MARVELL is not set 683# CONFIG_PATA_MARVELL is not set
@@ -650,6 +718,7 @@ CONFIG_DM_MIRROR=m
650CONFIG_DM_ZERO=m 718CONFIG_DM_ZERO=m
651CONFIG_DM_MULTIPATH=m 719CONFIG_DM_MULTIPATH=m
652CONFIG_DM_MULTIPATH_EMC=m 720CONFIG_DM_MULTIPATH_EMC=m
721# CONFIG_DM_DELAY is not set
653 722
654# 723#
655# Fusion MPT device support 724# Fusion MPT device support
@@ -662,18 +731,14 @@ CONFIG_DM_MULTIPATH_EMC=m
662# 731#
663# IEEE 1394 (FireWire) support 732# IEEE 1394 (FireWire) support
664# 733#
734# CONFIG_FIREWIRE is not set
665# CONFIG_IEEE1394 is not set 735# CONFIG_IEEE1394 is not set
666 736
667# 737#
668# I2O device support 738# I2O device support
669# 739#
670# CONFIG_I2O is not set 740# CONFIG_I2O is not set
671 741# CONFIG_MACINTOSH_DRIVERS is not set
672#
673# Macintosh device drivers
674#
675# CONFIG_MAC_EMUMOUSEBTN is not set
676# CONFIG_WINDFARM is not set
677 742
678# 743#
679# Network device support 744# Network device support
@@ -683,15 +748,7 @@ CONFIG_DUMMY=m
683CONFIG_BONDING=m 748CONFIG_BONDING=m
684# CONFIG_EQUALIZER is not set 749# CONFIG_EQUALIZER is not set
685CONFIG_TUN=m 750CONFIG_TUN=m
686
687#
688# ARCnet devices
689#
690# CONFIG_ARCNET is not set 751# CONFIG_ARCNET is not set
691
692#
693# PHY device support
694#
695# CONFIG_PHYLIB is not set 752# CONFIG_PHYLIB is not set
696 753
697# 754#
@@ -731,11 +788,9 @@ CONFIG_E100=y
731# CONFIG_EPIC100 is not set 788# CONFIG_EPIC100 is not set
732# CONFIG_SUNDANCE is not set 789# CONFIG_SUNDANCE is not set
733# CONFIG_VIA_RHINE is not set 790# CONFIG_VIA_RHINE is not set
791# CONFIG_SC92031 is not set
734# CONFIG_NET_POCKET is not set 792# CONFIG_NET_POCKET is not set
735 793CONFIG_NETDEV_1000=y
736#
737# Ethernet (1000 Mbit)
738#
739CONFIG_ACENIC=y 794CONFIG_ACENIC=y
740CONFIG_ACENIC_OMIT_TIGON_I=y 795CONFIG_ACENIC_OMIT_TIGON_I=y
741# CONFIG_DL2K is not set 796# CONFIG_DL2K is not set
@@ -754,11 +809,10 @@ CONFIG_E1000=y
754CONFIG_TIGON3=y 809CONFIG_TIGON3=y
755# CONFIG_BNX2 is not set 810# CONFIG_BNX2 is not set
756# CONFIG_QLA3XXX is not set 811# CONFIG_QLA3XXX is not set
757 812# CONFIG_ATL1 is not set
758# 813CONFIG_NETDEV_10000=y
759# Ethernet (10000 Mbit)
760#
761# CONFIG_CHELSIO_T1 is not set 814# CONFIG_CHELSIO_T1 is not set
815# CONFIG_CHELSIO_T3 is not set
762CONFIG_EHEA=m 816CONFIG_EHEA=m
763CONFIG_IXGB=m 817CONFIG_IXGB=m
764# CONFIG_IXGB_NAPI is not set 818# CONFIG_IXGB_NAPI is not set
@@ -766,23 +820,28 @@ CONFIG_S2IO=m
766# CONFIG_S2IO_NAPI is not set 820# CONFIG_S2IO_NAPI is not set
767# CONFIG_MYRI10GE is not set 821# CONFIG_MYRI10GE is not set
768# CONFIG_NETXEN_NIC is not set 822# CONFIG_NETXEN_NIC is not set
769 823# CONFIG_PASEMI_MAC is not set
770# 824# CONFIG_MLX4_CORE is not set
771# Token Ring devices
772#
773CONFIG_TR=y 825CONFIG_TR=y
774CONFIG_IBMOL=y 826CONFIG_IBMOL=y
775# CONFIG_3C359 is not set 827# CONFIG_3C359 is not set
776# CONFIG_TMS380TR is not set 828# CONFIG_TMS380TR is not set
777 829
778# 830#
779# Wireless LAN (non-hamradio) 831# Wireless LAN
780# 832#
781# CONFIG_NET_RADIO is not set 833# CONFIG_WLAN_PRE80211 is not set
834# CONFIG_WLAN_80211 is not set
782 835
783# 836#
784# Wan interfaces 837# USB Network Adapters
785# 838#
839# CONFIG_USB_CATC is not set
840# CONFIG_USB_KAWETH is not set
841# CONFIG_USB_PEGASUS is not set
842# CONFIG_USB_RTL8150 is not set
843# CONFIG_USB_USBNET_MII is not set
844# CONFIG_USB_USBNET is not set
786# CONFIG_WAN is not set 845# CONFIG_WAN is not set
787# CONFIG_FDDI is not set 846# CONFIG_FDDI is not set
788# CONFIG_HIPPI is not set 847# CONFIG_HIPPI is not set
@@ -802,7 +861,6 @@ CONFIG_SLHC=m
802# CONFIG_SHAPER is not set 861# CONFIG_SHAPER is not set
803CONFIG_NETCONSOLE=y 862CONFIG_NETCONSOLE=y
804CONFIG_NETPOLL=y 863CONFIG_NETPOLL=y
805CONFIG_NETPOLL_RX=y
806CONFIG_NETPOLL_TRAP=y 864CONFIG_NETPOLL_TRAP=y
807CONFIG_NET_POLL_CONTROLLER=y 865CONFIG_NET_POLL_CONTROLLER=y
808 866
@@ -821,6 +879,7 @@ CONFIG_NET_POLL_CONTROLLER=y
821# 879#
822CONFIG_INPUT=y 880CONFIG_INPUT=y
823# CONFIG_INPUT_FF_MEMLESS is not set 881# CONFIG_INPUT_FF_MEMLESS is not set
882# CONFIG_INPUT_POLLDEV is not set
824 883
825# 884#
826# Userland interfaces 885# Userland interfaces
@@ -846,12 +905,25 @@ CONFIG_KEYBOARD_ATKBD=y
846# CONFIG_KEYBOARD_STOWAWAY is not set 905# CONFIG_KEYBOARD_STOWAWAY is not set
847CONFIG_INPUT_MOUSE=y 906CONFIG_INPUT_MOUSE=y
848CONFIG_MOUSE_PS2=y 907CONFIG_MOUSE_PS2=y
908CONFIG_MOUSE_PS2_ALPS=y
909CONFIG_MOUSE_PS2_LOGIPS2PP=y
910CONFIG_MOUSE_PS2_SYNAPTICS=y
911CONFIG_MOUSE_PS2_LIFEBOOK=y
912CONFIG_MOUSE_PS2_TRACKPOINT=y
913# CONFIG_MOUSE_PS2_TOUCHKIT is not set
849# CONFIG_MOUSE_SERIAL is not set 914# CONFIG_MOUSE_SERIAL is not set
915# CONFIG_MOUSE_APPLETOUCH is not set
850# CONFIG_MOUSE_VSXXXAA is not set 916# CONFIG_MOUSE_VSXXXAA is not set
851# CONFIG_INPUT_JOYSTICK is not set 917# CONFIG_INPUT_JOYSTICK is not set
918# CONFIG_INPUT_TABLET is not set
852# CONFIG_INPUT_TOUCHSCREEN is not set 919# CONFIG_INPUT_TOUCHSCREEN is not set
853CONFIG_INPUT_MISC=y 920CONFIG_INPUT_MISC=y
854CONFIG_INPUT_PCSPKR=m 921CONFIG_INPUT_PCSPKR=m
922# CONFIG_INPUT_ATI_REMOTE is not set
923# CONFIG_INPUT_ATI_REMOTE2 is not set
924# CONFIG_INPUT_KEYSPAN_REMOTE is not set
925# CONFIG_INPUT_POWERMATE is not set
926# CONFIG_INPUT_YEALINK is not set
855# CONFIG_INPUT_UINPUT is not set 927# CONFIG_INPUT_UINPUT is not set
856 928
857# 929#
@@ -892,6 +964,7 @@ CONFIG_SERIAL_CORE=y
892CONFIG_SERIAL_CORE_CONSOLE=y 964CONFIG_SERIAL_CORE_CONSOLE=y
893CONFIG_SERIAL_ICOM=m 965CONFIG_SERIAL_ICOM=m
894CONFIG_SERIAL_JSM=m 966CONFIG_SERIAL_JSM=m
967# CONFIG_SERIAL_OF_PLATFORM is not set
895CONFIG_UNIX98_PTYS=y 968CONFIG_UNIX98_PTYS=y
896CONFIG_LEGACY_PTYS=y 969CONFIG_LEGACY_PTYS=y
897CONFIG_LEGACY_PTY_COUNT=256 970CONFIG_LEGACY_PTY_COUNT=256
@@ -907,15 +980,10 @@ CONFIG_HVCS=m
907# IPMI 980# IPMI
908# 981#
909# CONFIG_IPMI_HANDLER is not set 982# CONFIG_IPMI_HANDLER is not set
910
911#
912# Watchdog Cards
913#
914# CONFIG_WATCHDOG is not set 983# CONFIG_WATCHDOG is not set
915# CONFIG_HW_RANDOM is not set 984# CONFIG_HW_RANDOM is not set
916CONFIG_GEN_RTC=y 985CONFIG_GEN_RTC=y
917# CONFIG_GEN_RTC_X is not set 986# CONFIG_GEN_RTC_X is not set
918# CONFIG_DTLK is not set
919# CONFIG_R3964 is not set 987# CONFIG_R3964 is not set
920# CONFIG_APPLICOM is not set 988# CONFIG_APPLICOM is not set
921# CONFIG_AGP is not set 989# CONFIG_AGP is not set
@@ -928,11 +996,9 @@ CONFIG_MAX_RAW_DEVS=1024
928# TPM devices 996# TPM devices
929# 997#
930# CONFIG_TCG_TPM is not set 998# CONFIG_TCG_TPM is not set
931 999CONFIG_DEVPORT=y
932#
933# I2C support
934#
935CONFIG_I2C=y 1000CONFIG_I2C=y
1001CONFIG_I2C_BOARDINFO=y
936# CONFIG_I2C_CHARDEV is not set 1002# CONFIG_I2C_CHARDEV is not set
937 1003
938# 1004#
@@ -959,14 +1025,15 @@ CONFIG_I2C_ALGOBIT=y
959# CONFIG_I2C_PARPORT_LIGHT is not set 1025# CONFIG_I2C_PARPORT_LIGHT is not set
960# CONFIG_I2C_PROSAVAGE is not set 1026# CONFIG_I2C_PROSAVAGE is not set
961# CONFIG_I2C_SAVAGE4 is not set 1027# CONFIG_I2C_SAVAGE4 is not set
1028# CONFIG_I2C_SIMTEC is not set
962# CONFIG_I2C_SIS5595 is not set 1029# CONFIG_I2C_SIS5595 is not set
963# CONFIG_I2C_SIS630 is not set 1030# CONFIG_I2C_SIS630 is not set
964# CONFIG_I2C_SIS96X is not set 1031# CONFIG_I2C_SIS96X is not set
965# CONFIG_I2C_STUB is not set 1032# CONFIG_I2C_STUB is not set
1033# CONFIG_I2C_TINY_USB is not set
966# CONFIG_I2C_VIA is not set 1034# CONFIG_I2C_VIA is not set
967# CONFIG_I2C_VIAPRO is not set 1035# CONFIG_I2C_VIAPRO is not set
968# CONFIG_I2C_VOODOO3 is not set 1036# CONFIG_I2C_VOODOO3 is not set
969# CONFIG_I2C_PCA_ISA is not set
970 1037
971# 1038#
972# Miscellaneous I2C Chip support 1039# Miscellaneous I2C Chip support
@@ -993,37 +1060,56 @@ CONFIG_I2C_ALGOBIT=y
993# Dallas's 1-wire bus 1060# Dallas's 1-wire bus
994# 1061#
995# CONFIG_W1 is not set 1062# CONFIG_W1 is not set
1063# CONFIG_HWMON is not set
996 1064
997# 1065#
998# Hardware Monitoring support 1066# Multifunction device drivers
999# 1067#
1000# CONFIG_HWMON is not set 1068# CONFIG_MFD_SM501 is not set
1001# CONFIG_HWMON_VID is not set
1002 1069
1003# 1070#
1004# Multimedia devices 1071# Multimedia devices
1005# 1072#
1006# CONFIG_VIDEO_DEV is not set 1073# CONFIG_VIDEO_DEV is not set
1074# CONFIG_DVB_CORE is not set
1075# CONFIG_DAB is not set
1007 1076
1008# 1077#
1009# Digital Video Broadcasting Devices 1078# Graphics support
1010# 1079#
1011# CONFIG_DVB is not set 1080CONFIG_BACKLIGHT_LCD_SUPPORT=y
1012# CONFIG_USB_DABUSB is not set 1081CONFIG_BACKLIGHT_CLASS_DEVICE=y
1082CONFIG_LCD_CLASS_DEVICE=m
1013 1083
1014# 1084#
1015# Graphics support 1085# Display device support
1016# 1086#
1017CONFIG_FIRMWARE_EDID=y 1087CONFIG_DISPLAY_SUPPORT=y
1088
1089#
1090# Display hardware drivers
1091#
1092# CONFIG_VGASTATE is not set
1018CONFIG_FB=y 1093CONFIG_FB=y
1094CONFIG_FIRMWARE_EDID=y
1019CONFIG_FB_DDC=y 1095CONFIG_FB_DDC=y
1020CONFIG_FB_CFB_FILLRECT=y 1096CONFIG_FB_CFB_FILLRECT=y
1021CONFIG_FB_CFB_COPYAREA=y 1097CONFIG_FB_CFB_COPYAREA=y
1022CONFIG_FB_CFB_IMAGEBLIT=y 1098CONFIG_FB_CFB_IMAGEBLIT=y
1099# CONFIG_FB_SYS_FILLRECT is not set
1100# CONFIG_FB_SYS_COPYAREA is not set
1101# CONFIG_FB_SYS_IMAGEBLIT is not set
1102# CONFIG_FB_SYS_FOPS is not set
1103CONFIG_FB_DEFERRED_IO=y
1104# CONFIG_FB_SVGALIB is not set
1023CONFIG_FB_MACMODES=y 1105CONFIG_FB_MACMODES=y
1024# CONFIG_FB_BACKLIGHT is not set 1106CONFIG_FB_BACKLIGHT=y
1025CONFIG_FB_MODE_HELPERS=y 1107CONFIG_FB_MODE_HELPERS=y
1026CONFIG_FB_TILEBLITTING=y 1108CONFIG_FB_TILEBLITTING=y
1109
1110#
1111# Frame buffer hardware drivers
1112#
1027# CONFIG_FB_CIRRUS is not set 1113# CONFIG_FB_CIRRUS is not set
1028# CONFIG_FB_PM2 is not set 1114# CONFIG_FB_PM2 is not set
1029# CONFIG_FB_CYBER2000 is not set 1115# CONFIG_FB_CYBER2000 is not set
@@ -1042,16 +1128,21 @@ CONFIG_FB_MATROX_G=y
1042CONFIG_FB_MATROX_MULTIHEAD=y 1128CONFIG_FB_MATROX_MULTIHEAD=y
1043CONFIG_FB_RADEON=y 1129CONFIG_FB_RADEON=y
1044CONFIG_FB_RADEON_I2C=y 1130CONFIG_FB_RADEON_I2C=y
1131CONFIG_FB_RADEON_BACKLIGHT=y
1045# CONFIG_FB_RADEON_DEBUG is not set 1132# CONFIG_FB_RADEON_DEBUG is not set
1046# CONFIG_FB_ATY128 is not set 1133# CONFIG_FB_ATY128 is not set
1047# CONFIG_FB_ATY is not set 1134# CONFIG_FB_ATY is not set
1135# CONFIG_FB_S3 is not set
1048# CONFIG_FB_SAVAGE is not set 1136# CONFIG_FB_SAVAGE is not set
1049# CONFIG_FB_SIS is not set 1137# CONFIG_FB_SIS is not set
1050# CONFIG_FB_NEOMAGIC is not set 1138# CONFIG_FB_NEOMAGIC is not set
1051# CONFIG_FB_KYRO is not set 1139# CONFIG_FB_KYRO is not set
1052# CONFIG_FB_3DFX is not set 1140# CONFIG_FB_3DFX is not set
1053# CONFIG_FB_VOODOO1 is not set 1141# CONFIG_FB_VOODOO1 is not set
1142# CONFIG_FB_VT8623 is not set
1054# CONFIG_FB_TRIDENT is not set 1143# CONFIG_FB_TRIDENT is not set
1144# CONFIG_FB_ARK is not set
1145# CONFIG_FB_PM3 is not set
1055CONFIG_FB_IBM_GXT4500=y 1146CONFIG_FB_IBM_GXT4500=y
1056# CONFIG_FB_VIRTUAL is not set 1147# CONFIG_FB_VIRTUAL is not set
1057 1148
@@ -1065,19 +1156,10 @@ CONFIG_FRAMEBUFFER_CONSOLE=y
1065# CONFIG_FONTS is not set 1156# CONFIG_FONTS is not set
1066CONFIG_FONT_8x8=y 1157CONFIG_FONT_8x8=y
1067CONFIG_FONT_8x16=y 1158CONFIG_FONT_8x16=y
1068
1069#
1070# Logo configuration
1071#
1072CONFIG_LOGO=y 1159CONFIG_LOGO=y
1073CONFIG_LOGO_LINUX_MONO=y 1160CONFIG_LOGO_LINUX_MONO=y
1074CONFIG_LOGO_LINUX_VGA16=y 1161CONFIG_LOGO_LINUX_VGA16=y
1075CONFIG_LOGO_LINUX_CLUT224=y 1162CONFIG_LOGO_LINUX_CLUT224=y
1076CONFIG_BACKLIGHT_LCD_SUPPORT=y
1077CONFIG_BACKLIGHT_CLASS_DEVICE=m
1078CONFIG_BACKLIGHT_DEVICE=y
1079CONFIG_LCD_CLASS_DEVICE=m
1080CONFIG_LCD_DEVICE=y
1081 1163
1082# 1164#
1083# Sound 1165# Sound
@@ -1088,6 +1170,15 @@ CONFIG_LCD_DEVICE=y
1088# HID Devices 1170# HID Devices
1089# 1171#
1090CONFIG_HID=y 1172CONFIG_HID=y
1173# CONFIG_HID_DEBUG is not set
1174
1175#
1176# USB Input Devices
1177#
1178CONFIG_USB_HID=y
1179# CONFIG_USB_HIDINPUT_POWERBOOK is not set
1180# CONFIG_HID_FF is not set
1181CONFIG_USB_HIDDEV=y
1091 1182
1092# 1183#
1093# USB support 1184# USB support
@@ -1102,9 +1193,8 @@ CONFIG_USB=y
1102# Miscellaneous USB options 1193# Miscellaneous USB options
1103# 1194#
1104CONFIG_USB_DEVICEFS=y 1195CONFIG_USB_DEVICEFS=y
1105# CONFIG_USB_BANDWIDTH is not set 1196CONFIG_USB_DEVICE_CLASS=y
1106# CONFIG_USB_DYNAMIC_MINORS is not set 1197# CONFIG_USB_DYNAMIC_MINORS is not set
1107# CONFIG_USB_MULTITHREAD_PROBE is not set
1108# CONFIG_USB_OTG is not set 1198# CONFIG_USB_OTG is not set
1109 1199
1110# 1200#
@@ -1114,9 +1204,12 @@ CONFIG_USB_EHCI_HCD=y
1114# CONFIG_USB_EHCI_SPLIT_ISO is not set 1204# CONFIG_USB_EHCI_SPLIT_ISO is not set
1115# CONFIG_USB_EHCI_ROOT_HUB_TT is not set 1205# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
1116# CONFIG_USB_EHCI_TT_NEWSCHED is not set 1206# CONFIG_USB_EHCI_TT_NEWSCHED is not set
1207# CONFIG_USB_EHCI_BIG_ENDIAN_MMIO is not set
1117# CONFIG_USB_ISP116X_HCD is not set 1208# CONFIG_USB_ISP116X_HCD is not set
1118CONFIG_USB_OHCI_HCD=y 1209CONFIG_USB_OHCI_HCD=y
1119# CONFIG_USB_OHCI_BIG_ENDIAN is not set 1210# CONFIG_USB_OHCI_HCD_PPC_OF is not set
1211# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
1212# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
1120CONFIG_USB_OHCI_LITTLE_ENDIAN=y 1213CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1121# CONFIG_USB_UHCI_HCD is not set 1214# CONFIG_USB_UHCI_HCD is not set
1122# CONFIG_USB_SL811_HCD is not set 1215# CONFIG_USB_SL811_HCD is not set
@@ -1149,40 +1242,10 @@ CONFIG_USB_STORAGE=y
1149# CONFIG_USB_LIBUSUAL is not set 1242# CONFIG_USB_LIBUSUAL is not set
1150 1243
1151# 1244#
1152# USB Input Devices
1153#
1154CONFIG_USB_HID=y
1155# CONFIG_USB_HIDINPUT_POWERBOOK is not set
1156# CONFIG_HID_FF is not set
1157CONFIG_USB_HIDDEV=y
1158# CONFIG_USB_AIPTEK is not set
1159# CONFIG_USB_WACOM is not set
1160# CONFIG_USB_ACECAD is not set
1161# CONFIG_USB_KBTAB is not set
1162# CONFIG_USB_POWERMATE is not set
1163# CONFIG_USB_TOUCHSCREEN is not set
1164# CONFIG_USB_YEALINK is not set
1165# CONFIG_USB_XPAD is not set
1166# CONFIG_USB_ATI_REMOTE is not set
1167# CONFIG_USB_ATI_REMOTE2 is not set
1168# CONFIG_USB_KEYSPAN_REMOTE is not set
1169# CONFIG_USB_APPLETOUCH is not set
1170
1171#
1172# USB Imaging devices 1245# USB Imaging devices
1173# 1246#
1174# CONFIG_USB_MDC800 is not set 1247# CONFIG_USB_MDC800 is not set
1175# CONFIG_USB_MICROTEK is not set 1248# CONFIG_USB_MICROTEK is not set
1176
1177#
1178# USB Network Adapters
1179#
1180# CONFIG_USB_CATC is not set
1181# CONFIG_USB_KAWETH is not set
1182# CONFIG_USB_PEGASUS is not set
1183# CONFIG_USB_RTL8150 is not set
1184# CONFIG_USB_USBNET_MII is not set
1185# CONFIG_USB_USBNET is not set
1186CONFIG_USB_MON=y 1249CONFIG_USB_MON=y
1187 1250
1188# 1251#
@@ -1205,6 +1268,7 @@ CONFIG_USB_MON=y
1205# CONFIG_USB_RIO500 is not set 1268# CONFIG_USB_RIO500 is not set
1206# CONFIG_USB_LEGOTOWER is not set 1269# CONFIG_USB_LEGOTOWER is not set
1207# CONFIG_USB_LCD is not set 1270# CONFIG_USB_LCD is not set
1271# CONFIG_USB_BERRY_CHARGE is not set
1208# CONFIG_USB_LED is not set 1272# CONFIG_USB_LED is not set
1209# CONFIG_USB_CYPRESS_CY7C63 is not set 1273# CONFIG_USB_CYPRESS_CY7C63 is not set
1210# CONFIG_USB_CYTHERM is not set 1274# CONFIG_USB_CYTHERM is not set
@@ -1215,6 +1279,7 @@ CONFIG_USB_MON=y
1215# CONFIG_USB_SISUSBVGA is not set 1279# CONFIG_USB_SISUSBVGA is not set
1216# CONFIG_USB_LD is not set 1280# CONFIG_USB_LD is not set
1217# CONFIG_USB_TRANCEVIBRATOR is not set 1281# CONFIG_USB_TRANCEVIBRATOR is not set
1282# CONFIG_USB_IOWARRIOR is not set
1218# CONFIG_USB_TEST is not set 1283# CONFIG_USB_TEST is not set
1219 1284
1220# 1285#
@@ -1225,10 +1290,6 @@ CONFIG_USB_MON=y
1225# USB Gadget Support 1290# USB Gadget Support
1226# 1291#
1227# CONFIG_USB_GADGET is not set 1292# CONFIG_USB_GADGET is not set
1228
1229#
1230# MMC/SD Card support
1231#
1232# CONFIG_MMC is not set 1293# CONFIG_MMC is not set
1233 1294
1234# 1295#
@@ -1250,13 +1311,16 @@ CONFIG_USB_MON=y
1250CONFIG_INFINIBAND=m 1311CONFIG_INFINIBAND=m
1251CONFIG_INFINIBAND_USER_MAD=m 1312CONFIG_INFINIBAND_USER_MAD=m
1252CONFIG_INFINIBAND_USER_ACCESS=m 1313CONFIG_INFINIBAND_USER_ACCESS=m
1314CONFIG_INFINIBAND_USER_MEM=y
1253CONFIG_INFINIBAND_ADDR_TRANS=y 1315CONFIG_INFINIBAND_ADDR_TRANS=y
1254CONFIG_INFINIBAND_MTHCA=m 1316CONFIG_INFINIBAND_MTHCA=m
1255CONFIG_INFINIBAND_MTHCA_DEBUG=y 1317CONFIG_INFINIBAND_MTHCA_DEBUG=y
1318# CONFIG_INFINIBAND_IPATH is not set
1256CONFIG_INFINIBAND_EHCA=m 1319CONFIG_INFINIBAND_EHCA=m
1257CONFIG_INFINIBAND_EHCA_SCALING=y
1258# CONFIG_INFINIBAND_AMSO1100 is not set 1320# CONFIG_INFINIBAND_AMSO1100 is not set
1321# CONFIG_MLX4_INFINIBAND is not set
1259CONFIG_INFINIBAND_IPOIB=m 1322CONFIG_INFINIBAND_IPOIB=m
1323# CONFIG_INFINIBAND_IPOIB_CM is not set
1260CONFIG_INFINIBAND_IPOIB_DEBUG=y 1324CONFIG_INFINIBAND_IPOIB_DEBUG=y
1261# CONFIG_INFINIBAND_IPOIB_DEBUG_DATA is not set 1325# CONFIG_INFINIBAND_IPOIB_DEBUG_DATA is not set
1262CONFIG_INFINIBAND_SRP=m 1326CONFIG_INFINIBAND_SRP=m
@@ -1285,8 +1349,9 @@ CONFIG_INFINIBAND_SRP=m
1285# 1349#
1286 1350
1287# 1351#
1288# Virtualization 1352# Auxiliary Display support
1289# 1353#
1354# CONFIG_KS0108 is not set
1290 1355
1291# 1356#
1292# File systems 1357# File systems
@@ -1341,7 +1406,6 @@ CONFIG_FUSE_FS=m
1341CONFIG_ISO9660_FS=y 1406CONFIG_ISO9660_FS=y
1342CONFIG_JOLIET=y 1407CONFIG_JOLIET=y
1343CONFIG_ZISOFS=y 1408CONFIG_ZISOFS=y
1344CONFIG_ZISOFS_FS=y
1345CONFIG_UDF_FS=m 1409CONFIG_UDF_FS=m
1346CONFIG_UDF_NLS=y 1410CONFIG_UDF_NLS=y
1347 1411
@@ -1407,6 +1471,7 @@ CONFIG_NFS_ACL_SUPPORT=y
1407CONFIG_NFS_COMMON=y 1471CONFIG_NFS_COMMON=y
1408CONFIG_SUNRPC=y 1472CONFIG_SUNRPC=y
1409CONFIG_SUNRPC_GSS=y 1473CONFIG_SUNRPC_GSS=y
1474# CONFIG_SUNRPC_BIND34 is not set
1410CONFIG_RPCSEC_GSS_KRB5=y 1475CONFIG_RPCSEC_GSS_KRB5=y
1411CONFIG_RPCSEC_GSS_SPKM3=m 1476CONFIG_RPCSEC_GSS_SPKM3=m
1412# CONFIG_SMB_FS is not set 1477# CONFIG_SMB_FS is not set
@@ -1476,6 +1541,7 @@ CONFIG_NLS_ISO8859_1=y
1476# Distributed Lock Manager 1541# Distributed Lock Manager
1477# 1542#
1478# CONFIG_DLM is not set 1543# CONFIG_DLM is not set
1544# CONFIG_UCC_SLOW is not set
1479 1545
1480# 1546#
1481# Library routines 1547# Library routines
@@ -1483,12 +1549,19 @@ CONFIG_NLS_ISO8859_1=y
1483CONFIG_BITREVERSE=y 1549CONFIG_BITREVERSE=y
1484CONFIG_CRC_CCITT=m 1550CONFIG_CRC_CCITT=m
1485# CONFIG_CRC16 is not set 1551# CONFIG_CRC16 is not set
1552# CONFIG_CRC_ITU_T is not set
1486CONFIG_CRC32=y 1553CONFIG_CRC32=y
1487CONFIG_LIBCRC32C=m 1554CONFIG_LIBCRC32C=m
1488CONFIG_ZLIB_INFLATE=y 1555CONFIG_ZLIB_INFLATE=y
1489CONFIG_ZLIB_DEFLATE=m 1556CONFIG_ZLIB_DEFLATE=m
1557CONFIG_TEXTSEARCH=y
1558CONFIG_TEXTSEARCH_KMP=m
1559CONFIG_TEXTSEARCH_BM=m
1560CONFIG_TEXTSEARCH_FSM=m
1490CONFIG_PLIST=y 1561CONFIG_PLIST=y
1491CONFIG_IOMAP_COPY=y 1562CONFIG_HAS_IOMEM=y
1563CONFIG_HAS_IOPORT=y
1564CONFIG_HAS_DMA=y
1492 1565
1493# 1566#
1494# Instrumentation Support 1567# Instrumentation Support
@@ -1507,15 +1580,15 @@ CONFIG_MAGIC_SYSRQ=y
1507CONFIG_DEBUG_FS=y 1580CONFIG_DEBUG_FS=y
1508# CONFIG_HEADERS_CHECK is not set 1581# CONFIG_HEADERS_CHECK is not set
1509CONFIG_DEBUG_KERNEL=y 1582CONFIG_DEBUG_KERNEL=y
1510CONFIG_LOG_BUF_SHIFT=17 1583# CONFIG_DEBUG_SHIRQ is not set
1511CONFIG_DETECT_SOFTLOCKUP=y 1584CONFIG_DETECT_SOFTLOCKUP=y
1512# CONFIG_SCHEDSTATS is not set 1585# CONFIG_SCHEDSTATS is not set
1586# CONFIG_TIMER_STATS is not set
1513# CONFIG_DEBUG_SLAB is not set 1587# CONFIG_DEBUG_SLAB is not set
1514# CONFIG_DEBUG_RT_MUTEXES is not set 1588# CONFIG_DEBUG_RT_MUTEXES is not set
1515# CONFIG_RT_MUTEX_TESTER is not set 1589# CONFIG_RT_MUTEX_TESTER is not set
1516# CONFIG_DEBUG_SPINLOCK is not set 1590# CONFIG_DEBUG_SPINLOCK is not set
1517# CONFIG_DEBUG_MUTEXES is not set 1591# CONFIG_DEBUG_MUTEXES is not set
1518# CONFIG_DEBUG_RWSEMS is not set
1519# CONFIG_DEBUG_SPINLOCK_SLEEP is not set 1592# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1520# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set 1593# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1521# CONFIG_DEBUG_KOBJECT is not set 1594# CONFIG_DEBUG_KOBJECT is not set
@@ -1526,8 +1599,10 @@ CONFIG_DEBUG_BUGVERBOSE=y
1526CONFIG_FORCED_INLINING=y 1599CONFIG_FORCED_INLINING=y
1527# CONFIG_RCU_TORTURE_TEST is not set 1600# CONFIG_RCU_TORTURE_TEST is not set
1528# CONFIG_LKDTM is not set 1601# CONFIG_LKDTM is not set
1602# CONFIG_FAULT_INJECTION is not set
1529CONFIG_DEBUG_STACKOVERFLOW=y 1603CONFIG_DEBUG_STACKOVERFLOW=y
1530# CONFIG_DEBUG_STACK_USAGE is not set 1604# CONFIG_DEBUG_STACK_USAGE is not set
1605# CONFIG_DEBUG_PAGEALLOC is not set
1531CONFIG_HCALL_STATS=y 1606CONFIG_HCALL_STATS=y
1532CONFIG_DEBUGGER=y 1607CONFIG_DEBUGGER=y
1533CONFIG_XMON=y 1608CONFIG_XMON=y
@@ -1564,8 +1639,11 @@ CONFIG_CRYPTO_TGR192=m
1564# CONFIG_CRYPTO_GF128MUL is not set 1639# CONFIG_CRYPTO_GF128MUL is not set
1565CONFIG_CRYPTO_ECB=m 1640CONFIG_CRYPTO_ECB=m
1566CONFIG_CRYPTO_CBC=y 1641CONFIG_CRYPTO_CBC=y
1642CONFIG_CRYPTO_PCBC=m
1567# CONFIG_CRYPTO_LRW is not set 1643# CONFIG_CRYPTO_LRW is not set
1644# CONFIG_CRYPTO_CRYPTD is not set
1568CONFIG_CRYPTO_DES=y 1645CONFIG_CRYPTO_DES=y
1646# CONFIG_CRYPTO_FCRYPT is not set
1569CONFIG_CRYPTO_BLOWFISH=m 1647CONFIG_CRYPTO_BLOWFISH=m
1570CONFIG_CRYPTO_TWOFISH=m 1648CONFIG_CRYPTO_TWOFISH=m
1571CONFIG_CRYPTO_TWOFISH_COMMON=m 1649CONFIG_CRYPTO_TWOFISH_COMMON=m
@@ -1580,6 +1658,7 @@ CONFIG_CRYPTO_ANUBIS=m
1580CONFIG_CRYPTO_DEFLATE=m 1658CONFIG_CRYPTO_DEFLATE=m
1581CONFIG_CRYPTO_MICHAEL_MIC=m 1659CONFIG_CRYPTO_MICHAEL_MIC=m
1582CONFIG_CRYPTO_CRC32C=m 1660CONFIG_CRYPTO_CRC32C=m
1661# CONFIG_CRYPTO_CAMELLIA is not set
1583CONFIG_CRYPTO_TEST=m 1662CONFIG_CRYPTO_TEST=m
1584 1663
1585# 1664#
diff --git a/arch/powerpc/kernel/irq.c b/arch/powerpc/kernel/irq.c
index 42c8ed6ed528..c2b84c64db20 100644
--- a/arch/powerpc/kernel/irq.c
+++ b/arch/powerpc/kernel/irq.c
@@ -412,6 +412,12 @@ struct irq_map_entry irq_map[NR_IRQS];
412static unsigned int irq_virq_count = NR_IRQS; 412static unsigned int irq_virq_count = NR_IRQS;
413static struct irq_host *irq_default_host; 413static struct irq_host *irq_default_host;
414 414
415irq_hw_number_t virq_to_hw(unsigned int virq)
416{
417 return irq_map[virq].hwirq;
418}
419EXPORT_SYMBOL_GPL(virq_to_hw);
420
415struct irq_host *irq_alloc_host(unsigned int revmap_type, 421struct irq_host *irq_alloc_host(unsigned int revmap_type,
416 unsigned int revmap_arg, 422 unsigned int revmap_arg,
417 struct irq_host_ops *ops, 423 struct irq_host_ops *ops,
diff --git a/arch/powerpc/kernel/pci_32.c b/arch/powerpc/kernel/pci_32.c
index e66064b5093a..86982112b0dd 100644
--- a/arch/powerpc/kernel/pci_32.c
+++ b/arch/powerpc/kernel/pci_32.c
@@ -1047,10 +1047,10 @@ void pcibios_make_OF_bus_map(void)
1047#endif /* CONFIG_PPC_OF */ 1047#endif /* CONFIG_PPC_OF */
1048 1048
1049/* Add sysfs properties */ 1049/* Add sysfs properties */
1050void pcibios_add_platform_entries(struct pci_dev *pdev) 1050int pcibios_add_platform_entries(struct pci_dev *pdev)
1051{ 1051{
1052#ifdef CONFIG_PPC_OF 1052#ifdef CONFIG_PPC_OF
1053 device_create_file(&pdev->dev, &dev_attr_devspec); 1053 return device_create_file(&pdev->dev, &dev_attr_devspec);
1054#endif /* CONFIG_PPC_OF */ 1054#endif /* CONFIG_PPC_OF */
1055} 1055}
1056 1056
diff --git a/arch/powerpc/kernel/pci_64.c b/arch/powerpc/kernel/pci_64.c
index 249cca27a9b8..e3009a43ac56 100644
--- a/arch/powerpc/kernel/pci_64.c
+++ b/arch/powerpc/kernel/pci_64.c
@@ -367,8 +367,10 @@ struct pci_dev *of_create_pci_dev(struct device_node *node,
367 sprintf(pci_name(dev), "%04x:%02x:%02x.%d", pci_domain_nr(bus), 367 sprintf(pci_name(dev), "%04x:%02x:%02x.%d", pci_domain_nr(bus),
368 dev->bus->number, PCI_SLOT(devfn), PCI_FUNC(devfn)); 368 dev->bus->number, PCI_SLOT(devfn), PCI_FUNC(devfn));
369 dev->class = get_int_prop(node, "class-code", 0); 369 dev->class = get_int_prop(node, "class-code", 0);
370 dev->revision = get_int_prop(node, "revision-id", 0);
370 371
371 DBG(" class: 0x%x\n", dev->class); 372 DBG(" class: 0x%x\n", dev->class);
373 DBG(" revision: 0x%x\n", dev->revision);
372 374
373 dev->current_state = 4; /* unknown power state */ 375 dev->current_state = 4; /* unknown power state */
374 dev->error_state = pci_channel_io_normal; 376 dev->error_state = pci_channel_io_normal;
@@ -876,9 +878,9 @@ static ssize_t pci_show_devspec(struct device *dev,
876} 878}
877static DEVICE_ATTR(devspec, S_IRUGO, pci_show_devspec, NULL); 879static DEVICE_ATTR(devspec, S_IRUGO, pci_show_devspec, NULL);
878 880
879void pcibios_add_platform_entries(struct pci_dev *pdev) 881int pcibios_add_platform_entries(struct pci_dev *pdev)
880{ 882{
881 device_create_file(&pdev->dev, &dev_attr_devspec); 883 return device_create_file(&pdev->dev, &dev_attr_devspec);
882} 884}
883 885
884#define ISA_SPACE_MASK 0x1 886#define ISA_SPACE_MASK 0x1
diff --git a/arch/powerpc/kernel/signal_64.c b/arch/powerpc/kernel/signal_64.c
index 1ce0ae3f6ffc..b27e26852fdb 100644
--- a/arch/powerpc/kernel/signal_64.c
+++ b/arch/powerpc/kernel/signal_64.c
@@ -176,6 +176,13 @@ static long restore_sigcontext(struct pt_regs *regs, sigset_t *set, int sig,
176 */ 176 */
177 discard_lazy_cpu_state(); 177 discard_lazy_cpu_state();
178 178
179 /*
180 * Force reload of FP/VEC.
181 * This has to be done before copying stuff into current->thread.fpr/vr
182 * for the reasons explained in the previous comment.
183 */
184 regs->msr &= ~(MSR_FP | MSR_FE0 | MSR_FE1 | MSR_VEC);
185
179 err |= __copy_from_user(&current->thread.fpr, &sc->fp_regs, FP_REGS_SIZE); 186 err |= __copy_from_user(&current->thread.fpr, &sc->fp_regs, FP_REGS_SIZE);
180 187
181#ifdef CONFIG_ALTIVEC 188#ifdef CONFIG_ALTIVEC
@@ -197,9 +204,6 @@ static long restore_sigcontext(struct pt_regs *regs, sigset_t *set, int sig,
197 current->thread.vrsave = 0; 204 current->thread.vrsave = 0;
198#endif /* CONFIG_ALTIVEC */ 205#endif /* CONFIG_ALTIVEC */
199 206
200 /* Force reload of FP/VEC */
201 regs->msr &= ~(MSR_FP | MSR_FE0 | MSR_FE1 | MSR_VEC);
202
203 return err; 207 return err;
204} 208}
205 209
diff --git a/arch/powerpc/kernel/sys_ppc32.c b/arch/powerpc/kernel/sys_ppc32.c
index 047246ad4f65..b42cbf1e2d7d 100644
--- a/arch/powerpc/kernel/sys_ppc32.c
+++ b/arch/powerpc/kernel/sys_ppc32.c
@@ -810,3 +810,12 @@ asmlinkage long compat_sys_request_key(const char __user *_type,
810 return sys_request_key(_type, _description, _callout_info, destringid); 810 return sys_request_key(_type, _description, _callout_info, destringid);
811} 811}
812 812
813asmlinkage long compat_sys_sync_file_range2(int fd, unsigned int flags,
814 unsigned offset_hi, unsigned offset_lo,
815 unsigned nbytes_hi, unsigned nbytes_lo)
816{
817 loff_t offset = ((loff_t)offset_hi << 32) | offset_lo;
818 loff_t nbytes = ((loff_t)nbytes_hi << 32) | nbytes_lo;
819
820 return sys_sync_file_range(fd, offset, nbytes, flags);
821}
diff --git a/arch/powerpc/kernel/vdso32/gettimeofday.S b/arch/powerpc/kernel/vdso32/gettimeofday.S
index 05909f754307..72ca26df457e 100644
--- a/arch/powerpc/kernel/vdso32/gettimeofday.S
+++ b/arch/powerpc/kernel/vdso32/gettimeofday.S
@@ -32,6 +32,8 @@ V_FUNCTION_BEGIN(__kernel_gettimeofday)
32 mr r11,r4 /* r11 saves tz */ 32 mr r11,r4 /* r11 saves tz */
33 bl __get_datapage@local /* get data page */ 33 bl __get_datapage@local /* get data page */
34 mr r9, r3 /* datapage ptr in r9 */ 34 mr r9, r3 /* datapage ptr in r9 */
35 cmplwi r10,0 /* check if tv is NULL */
36 beq 3f
35 bl __do_get_xsec@local /* get xsec from tb & kernel */ 37 bl __do_get_xsec@local /* get xsec from tb & kernel */
36 bne- 2f /* out of line -> do syscall */ 38 bne- 2f /* out of line -> do syscall */
37 39
@@ -50,7 +52,7 @@ V_FUNCTION_BEGIN(__kernel_gettimeofday)
50 mulhwu r5,r5,r6 52 mulhwu r5,r5,r6
51 stw r5,TVAL32_TV_USEC(r10) 53 stw r5,TVAL32_TV_USEC(r10)
52 54
53 cmpli cr0,r11,0 /* check if tz is NULL */ 553: cmplwi r11,0 /* check if tz is NULL */
54 beq 1f 56 beq 1f
55 lwz r4,CFG_TZ_MINUTEWEST(r9)/* fill tz */ 57 lwz r4,CFG_TZ_MINUTEWEST(r9)/* fill tz */
56 lwz r5,CFG_TZ_DSTTIME(r9) 58 lwz r5,CFG_TZ_DSTTIME(r9)
diff --git a/arch/powerpc/kernel/vdso64/gettimeofday.S b/arch/powerpc/kernel/vdso64/gettimeofday.S
index 40ffd9b6cef7..c6401f9e37f1 100644
--- a/arch/powerpc/kernel/vdso64/gettimeofday.S
+++ b/arch/powerpc/kernel/vdso64/gettimeofday.S
@@ -1,5 +1,4 @@
1 1/*
2 /*
3 * Userland implementation of gettimeofday() for 64 bits processes in a 2 * Userland implementation of gettimeofday() for 64 bits processes in a
4 * ppc64 kernel for use in the vDSO 3 * ppc64 kernel for use in the vDSO
5 * 4 *
@@ -32,6 +31,8 @@ V_FUNCTION_BEGIN(__kernel_gettimeofday)
32 mr r11,r3 /* r11 holds tv */ 31 mr r11,r3 /* r11 holds tv */
33 mr r10,r4 /* r10 holds tz */ 32 mr r10,r4 /* r10 holds tz */
34 bl V_LOCAL_FUNC(__get_datapage) /* get data page */ 33 bl V_LOCAL_FUNC(__get_datapage) /* get data page */
34 cmpldi r11,0 /* check if tv is NULL */
35 beq 2f
35 bl V_LOCAL_FUNC(__do_get_xsec) /* get xsec from tb & kernel */ 36 bl V_LOCAL_FUNC(__do_get_xsec) /* get xsec from tb & kernel */
36 lis r7,15 /* r7 = 1000000 = USEC_PER_SEC */ 37 lis r7,15 /* r7 = 1000000 = USEC_PER_SEC */
37 ori r7,r7,16960 38 ori r7,r7,16960
@@ -43,8 +44,8 @@ V_FUNCTION_BEGIN(__kernel_gettimeofday)
43 * XSEC_PER_SEC 44 * XSEC_PER_SEC
44 */ 45 */
45 rldicl r0,r0,44,20 46 rldicl r0,r0,44,20
46 cmpldi cr0,r10,0 /* check if tz is NULL */
47 std r0,TVAL64_TV_USEC(r11) /* store usec in tv */ 47 std r0,TVAL64_TV_USEC(r11) /* store usec in tv */
482: cmpldi r10,0 /* check if tz is NULL */
48 beq 1f 49 beq 1f
49 lwz r4,CFG_TZ_MINUTEWEST(r3)/* fill tz */ 50 lwz r4,CFG_TZ_MINUTEWEST(r3)/* fill tz */
50 lwz r5,CFG_TZ_DSTTIME(r3) 51 lwz r5,CFG_TZ_DSTTIME(r3)
diff --git a/arch/powerpc/platforms/cell/cbe_cpufreq.c b/arch/powerpc/platforms/cell/cbe_cpufreq.c
index ac445998d831..ab511d5b65a4 100644
--- a/arch/powerpc/platforms/cell/cbe_cpufreq.c
+++ b/arch/powerpc/platforms/cell/cbe_cpufreq.c
@@ -74,6 +74,7 @@ static unsigned int pmi_frequency_limit = 0;
74 74
75static struct of_device *pmi_dev; 75static struct of_device *pmi_dev;
76 76
77#ifdef CONFIG_PPC_PMI
77static int set_pmode_pmi(int cpu, unsigned int pmode) 78static int set_pmode_pmi(int cpu, unsigned int pmode)
78{ 79{
79 int ret; 80 int ret;
@@ -102,7 +103,7 @@ static int set_pmode_pmi(int cpu, unsigned int pmode)
102#endif 103#endif
103 return ret; 104 return ret;
104} 105}
105 106#endif
106 107
107static int get_pmode(int cpu) 108static int get_pmode(int cpu)
108{ 109{
@@ -157,9 +158,11 @@ static int set_pmode_reg(int cpu, unsigned int pmode)
157} 158}
158 159
159static int set_pmode(int cpu, unsigned int slow_mode) { 160static int set_pmode(int cpu, unsigned int slow_mode) {
161#ifdef CONFIG_PPC_PMI
160 if (pmi_dev) 162 if (pmi_dev)
161 return set_pmode_pmi(cpu, slow_mode); 163 return set_pmode_pmi(cpu, slow_mode);
162 else 164 else
165#endif
163 return set_pmode_reg(cpu, slow_mode); 166 return set_pmode_reg(cpu, slow_mode);
164} 167}
165 168
@@ -323,26 +326,28 @@ static struct cpufreq_driver cbe_cpufreq_driver = {
323 326
324static int __init cbe_cpufreq_init(void) 327static int __init cbe_cpufreq_init(void)
325{ 328{
329#ifdef CONFIG_PPC_PMI
326 struct device_node *np; 330 struct device_node *np;
327 331#endif
328 if (!machine_is(cell)) 332 if (!machine_is(cell))
329 return -ENODEV; 333 return -ENODEV;
330 334#ifdef CONFIG_PPC_PMI
331 np = of_find_node_by_type(NULL, "ibm,pmi"); 335 np = of_find_node_by_type(NULL, "ibm,pmi");
332 336
333 pmi_dev = of_find_device_by_node(np); 337 pmi_dev = of_find_device_by_node(np);
334 338
335 if (pmi_dev) 339 if (pmi_dev)
336 pmi_register_handler(pmi_dev, &cbe_pmi_handler); 340 pmi_register_handler(pmi_dev, &cbe_pmi_handler);
337 341#endif
338 return cpufreq_register_driver(&cbe_cpufreq_driver); 342 return cpufreq_register_driver(&cbe_cpufreq_driver);
339} 343}
340 344
341static void __exit cbe_cpufreq_exit(void) 345static void __exit cbe_cpufreq_exit(void)
342{ 346{
347#ifdef CONFIG_PPC_PMI
343 if (pmi_dev) 348 if (pmi_dev)
344 pmi_unregister_handler(pmi_dev, &cbe_pmi_handler); 349 pmi_unregister_handler(pmi_dev, &cbe_pmi_handler);
345 350#endif
346 cpufreq_unregister_driver(&cbe_cpufreq_driver); 351 cpufreq_unregister_driver(&cbe_cpufreq_driver);
347} 352}
348 353
diff --git a/arch/ppc/8260_io/enet.c b/arch/ppc/8260_io/enet.c
index 4c0a7d732f69..615b6583d9b0 100644
--- a/arch/ppc/8260_io/enet.c
+++ b/arch/ppc/8260_io/enet.c
@@ -477,9 +477,9 @@ for (;;) {
477 } 477 }
478 else { 478 else {
479 skb_put(skb,pkt_len-4); /* Make room */ 479 skb_put(skb,pkt_len-4); /* Make room */
480 eth_copy_and_sum(skb, 480 skb_copy_to_linear_data(skb,
481 (unsigned char *)__va(bdp->cbd_bufaddr), 481 (unsigned char *)__va(bdp->cbd_bufaddr),
482 pkt_len-4, 0); 482 pkt_len-4);
483 skb->protocol=eth_type_trans(skb,dev); 483 skb->protocol=eth_type_trans(skb,dev);
484 netif_rx(skb); 484 netif_rx(skb);
485 } 485 }
diff --git a/arch/ppc/8260_io/fcc_enet.c b/arch/ppc/8260_io/fcc_enet.c
index cab395da25da..6f3ed6a72e0b 100644
--- a/arch/ppc/8260_io/fcc_enet.c
+++ b/arch/ppc/8260_io/fcc_enet.c
@@ -734,9 +734,9 @@ for (;;) {
734 } 734 }
735 else { 735 else {
736 skb_put(skb,pkt_len); /* Make room */ 736 skb_put(skb,pkt_len); /* Make room */
737 eth_copy_and_sum(skb, 737 skb_copy_to_linear_data(skb,
738 (unsigned char *)__va(bdp->cbd_bufaddr), 738 (unsigned char *)__va(bdp->cbd_bufaddr),
739 pkt_len, 0); 739 pkt_len);
740 skb->protocol=eth_type_trans(skb,dev); 740 skb->protocol=eth_type_trans(skb,dev);
741 netif_rx(skb); 741 netif_rx(skb);
742 } 742 }
diff --git a/arch/ppc/8xx_io/enet.c b/arch/ppc/8xx_io/enet.c
index e58288e14369..703d47eee436 100644
--- a/arch/ppc/8xx_io/enet.c
+++ b/arch/ppc/8xx_io/enet.c
@@ -506,9 +506,9 @@ for (;;) {
506 } 506 }
507 else { 507 else {
508 skb_put(skb,pkt_len-4); /* Make room */ 508 skb_put(skb,pkt_len-4); /* Make room */
509 eth_copy_and_sum(skb, 509 skb_copy_to_linear_data(skb,
510 cep->rx_vaddr[bdp - cep->rx_bd_base], 510 cep->rx_vaddr[bdp - cep->rx_bd_base],
511 pkt_len-4, 0); 511 pkt_len-4);
512 skb->protocol=eth_type_trans(skb,dev); 512 skb->protocol=eth_type_trans(skb,dev);
513 netif_rx(skb); 513 netif_rx(skb);
514 } 514 }
diff --git a/arch/ppc/8xx_io/fec.c b/arch/ppc/8xx_io/fec.c
index d38335d2d710..0288279be9aa 100644
--- a/arch/ppc/8xx_io/fec.c
+++ b/arch/ppc/8xx_io/fec.c
@@ -725,7 +725,7 @@ while (!(bdp->cbd_sc & BD_ENET_RX_EMPTY)) {
725 fep->stats.rx_dropped++; 725 fep->stats.rx_dropped++;
726 } else { 726 } else {
727 skb_put(skb,pkt_len-4); /* Make room */ 727 skb_put(skb,pkt_len-4); /* Make room */
728 eth_copy_and_sum(skb, data, pkt_len-4, 0); 728 skb_copy_to_linear_data(skb, data, pkt_len-4);
729 skb->protocol=eth_type_trans(skb,dev); 729 skb->protocol=eth_type_trans(skb,dev);
730 netif_rx(skb); 730 netif_rx(skb);
731 } 731 }
diff --git a/arch/ppc/Kconfig b/arch/ppc/Kconfig
index ccce2a4a1522..6bdeeb70b157 100644
--- a/arch/ppc/Kconfig
+++ b/arch/ppc/Kconfig
@@ -1237,8 +1237,10 @@ config PCI
1237 infrastructure code to support PCI bus devices. 1237 infrastructure code to support PCI bus devices.
1238 1238
1239config PCI_DOMAINS 1239config PCI_DOMAINS
1240 bool 1240 def_bool PCI
1241 default PCI 1241
1242config PCI_SYSCALL
1243 def_bool PCI
1242 1244
1243config MPC83xx_PCI2 1245config MPC83xx_PCI2
1244 bool "Support for 2nd PCI host controller" 1246 bool "Support for 2nd PCI host controller"
diff --git a/arch/ppc/kernel/pci.c b/arch/ppc/kernel/pci.c
index 5e723c4c2571..c2ec13bea006 100644
--- a/arch/ppc/kernel/pci.c
+++ b/arch/ppc/kernel/pci.c
@@ -633,12 +633,6 @@ void pcibios_make_OF_bus_map(void)
633{ 633{
634} 634}
635 635
636/* Add sysfs properties */
637void pcibios_add_platform_entries(struct pci_dev *pdev)
638{
639}
640
641
642static int __init 636static int __init
643pcibios_init(void) 637pcibios_init(void)
644{ 638{
diff --git a/arch/ppc/syslib/mv64x60.c b/arch/ppc/syslib/mv64x60.c
index 8485a68cd475..032f4b7f4225 100644
--- a/arch/ppc/syslib/mv64x60.c
+++ b/arch/ppc/syslib/mv64x60.c
@@ -2415,7 +2415,6 @@ static struct bin_attribute mv64xxx_hs_reg_attr = { /* Hotswap register */
2415 .attr = { 2415 .attr = {
2416 .name = "hs_reg", 2416 .name = "hs_reg",
2417 .mode = S_IRUGO | S_IWUSR, 2417 .mode = S_IRUGO | S_IWUSR,
2418 .owner = THIS_MODULE,
2419 }, 2418 },
2420 .size = VAL_LEN_MAX, 2419 .size = VAL_LEN_MAX,
2421 .read = mv64xxx_hs_reg_read, 2420 .read = mv64xxx_hs_reg_read,
diff --git a/arch/s390/crypto/crypt_s390.h b/arch/s390/crypto/crypt_s390.h
index 2775d2618332..95f5160df27f 100644
--- a/arch/s390/crypto/crypt_s390.h
+++ b/arch/s390/crypto/crypt_s390.h
@@ -24,7 +24,7 @@
24#define CRYPT_S390_PRIORITY 300 24#define CRYPT_S390_PRIORITY 300
25#define CRYPT_S390_COMPOSITE_PRIORITY 400 25#define CRYPT_S390_COMPOSITE_PRIORITY 400
26 26
27/* s930 cryptographic operations */ 27/* s390 cryptographic operations */
28enum crypt_s390_operations { 28enum crypt_s390_operations {
29 CRYPT_S390_KM = 0x0100, 29 CRYPT_S390_KM = 0x0100,
30 CRYPT_S390_KMC = 0x0200, 30 CRYPT_S390_KMC = 0x0200,
diff --git a/arch/s390/kernel/early.c b/arch/s390/kernel/early.c
index 50538e545618..e6289ee74ecd 100644
--- a/arch/s390/kernel/early.c
+++ b/arch/s390/kernel/early.c
@@ -171,37 +171,6 @@ static inline int memory_fast_detect(void)
171} 171}
172#endif 172#endif
173 173
174#define ADDR2G (1UL << 31)
175
176static noinline __init unsigned long sclp_memory_detect(void)
177{
178 struct sclp_readinfo_sccb *sccb;
179 unsigned long long memsize;
180
181 sccb = &s390_readinfo_sccb;
182
183 if (sccb->header.response_code != 0x10)
184 return 0;
185
186 if (sccb->rnsize)
187 memsize = sccb->rnsize << 20;
188 else
189 memsize = sccb->rnsize2 << 20;
190 if (sccb->rnmax)
191 memsize *= sccb->rnmax;
192 else
193 memsize *= sccb->rnmax2;
194#ifndef CONFIG_64BIT
195 /*
196 * Can't deal with more than 2G in 31 bit addressing mode, so
197 * limit the value in order to avoid strange side effects.
198 */
199 if (memsize > ADDR2G)
200 memsize = ADDR2G;
201#endif
202 return (unsigned long) memsize;
203}
204
205static inline __init unsigned long __tprot(unsigned long addr) 174static inline __init unsigned long __tprot(unsigned long addr)
206{ 175{
207 int cc = -1; 176 int cc = -1;
@@ -218,6 +187,7 @@ static inline __init unsigned long __tprot(unsigned long addr)
218 187
219/* Checking memory in 128KB increments. */ 188/* Checking memory in 128KB increments. */
220#define CHUNK_INCR (1UL << 17) 189#define CHUNK_INCR (1UL << 17)
190#define ADDR2G (1UL << 31)
221 191
222static noinline __init void find_memory_chunks(unsigned long memsize) 192static noinline __init void find_memory_chunks(unsigned long memsize)
223{ 193{
@@ -293,7 +263,7 @@ static noinline __init void setup_lowcore_early(void)
293 */ 263 */
294void __init startup_init(void) 264void __init startup_init(void)
295{ 265{
296 unsigned long memsize; 266 unsigned long long memsize;
297 267
298 ipl_save_parameters(); 268 ipl_save_parameters();
299 clear_bss_section(); 269 clear_bss_section();
@@ -305,8 +275,17 @@ void __init startup_init(void)
305 sort_main_extable(); 275 sort_main_extable();
306 setup_lowcore_early(); 276 setup_lowcore_early();
307 sclp_readinfo_early(); 277 sclp_readinfo_early();
278 sclp_facilities_detect();
308 memsize = sclp_memory_detect(); 279 memsize = sclp_memory_detect();
280#ifndef CONFIG_64BIT
281 /*
282 * Can't deal with more than 2G in 31 bit addressing mode, so
283 * limit the value in order to avoid strange side effects.
284 */
285 if (memsize > ADDR2G)
286 memsize = ADDR2G;
287#endif
309 if (memory_fast_detect() < 0) 288 if (memory_fast_detect() < 0)
310 find_memory_chunks(memsize); 289 find_memory_chunks((unsigned long) memsize);
311 lockdep_on(); 290 lockdep_on();
312} 291}
diff --git a/arch/s390/kernel/entry.S b/arch/s390/kernel/entry.S
index 6234c6978a1f..bc7ff3658c3d 100644
--- a/arch/s390/kernel/entry.S
+++ b/arch/s390/kernel/entry.S
@@ -107,6 +107,11 @@ STACK_SIZE = 1 << STACK_SHIFT
107 l %r13,__LC_SVC_NEW_PSW+4 # load &system_call to %r13 107 l %r13,__LC_SVC_NEW_PSW+4 # load &system_call to %r13
108 .endm 108 .endm
109 109
110 .macro SAVE_ALL_SVC psworg,savearea
111 la %r12,\psworg
112 l %r15,__LC_KERNEL_STACK # problem state -> load ksp
113 .endm
114
110 .macro SAVE_ALL_SYNC psworg,savearea 115 .macro SAVE_ALL_SYNC psworg,savearea
111 la %r12,\psworg 116 la %r12,\psworg
112 tm \psworg+1,0x01 # test problem state bit 117 tm \psworg+1,0x01 # test problem state bit
@@ -218,7 +223,7 @@ system_call:
218 STORE_TIMER __LC_SYNC_ENTER_TIMER 223 STORE_TIMER __LC_SYNC_ENTER_TIMER
219sysc_saveall: 224sysc_saveall:
220 SAVE_ALL_BASE __LC_SAVE_AREA 225 SAVE_ALL_BASE __LC_SAVE_AREA
221 SAVE_ALL_SYNC __LC_SVC_OLD_PSW,__LC_SAVE_AREA 226 SAVE_ALL_SVC __LC_SVC_OLD_PSW,__LC_SAVE_AREA
222 CREATE_STACK_FRAME __LC_SVC_OLD_PSW,__LC_SAVE_AREA 227 CREATE_STACK_FRAME __LC_SVC_OLD_PSW,__LC_SAVE_AREA
223 lh %r7,0x8a # get svc number from lowcore 228 lh %r7,0x8a # get svc number from lowcore
224#ifdef CONFIG_VIRT_CPU_ACCOUNTING 229#ifdef CONFIG_VIRT_CPU_ACCOUNTING
diff --git a/arch/s390/kernel/entry64.S b/arch/s390/kernel/entry64.S
index 685f11faa4bc..2a7b1304418b 100644
--- a/arch/s390/kernel/entry64.S
+++ b/arch/s390/kernel/entry64.S
@@ -99,6 +99,11 @@ _TIF_WORK_INT = (_TIF_SIGPENDING | _TIF_RESTORE_SIGMASK | _TIF_NEED_RESCHED | \
99 larl %r13,system_call 99 larl %r13,system_call
100 .endm 100 .endm
101 101
102 .macro SAVE_ALL_SVC psworg,savearea
103 la %r12,\psworg
104 lg %r15,__LC_KERNEL_STACK # problem state -> load ksp
105 .endm
106
102 .macro SAVE_ALL_SYNC psworg,savearea 107 .macro SAVE_ALL_SYNC psworg,savearea
103 la %r12,\psworg 108 la %r12,\psworg
104 tm \psworg+1,0x01 # test problem state bit 109 tm \psworg+1,0x01 # test problem state bit
@@ -207,7 +212,7 @@ system_call:
207 STORE_TIMER __LC_SYNC_ENTER_TIMER 212 STORE_TIMER __LC_SYNC_ENTER_TIMER
208sysc_saveall: 213sysc_saveall:
209 SAVE_ALL_BASE __LC_SAVE_AREA 214 SAVE_ALL_BASE __LC_SAVE_AREA
210 SAVE_ALL_SYNC __LC_SVC_OLD_PSW,__LC_SAVE_AREA 215 SAVE_ALL_SVC __LC_SVC_OLD_PSW,__LC_SAVE_AREA
211 CREATE_STACK_FRAME __LC_SVC_OLD_PSW,__LC_SAVE_AREA 216 CREATE_STACK_FRAME __LC_SVC_OLD_PSW,__LC_SAVE_AREA
212 llgh %r7,__LC_SVC_INT_CODE # get svc number from lowcore 217 llgh %r7,__LC_SVC_INT_CODE # get svc number from lowcore
213#ifdef CONFIG_VIRT_CPU_ACCOUNTING 218#ifdef CONFIG_VIRT_CPU_ACCOUNTING
diff --git a/arch/s390/kernel/ipl.c b/arch/s390/kernel/ipl.c
index 367caf92ea78..9a13b24ee1ab 100644
--- a/arch/s390/kernel/ipl.c
+++ b/arch/s390/kernel/ipl.c
@@ -25,10 +25,6 @@
25 25
26#define IPL_PARM_BLOCK_VERSION 0 26#define IPL_PARM_BLOCK_VERSION 0
27 27
28#define SCCB_VALID (s390_readinfo_sccb.header.response_code == 0x10)
29#define SCCB_LOADPARM (&s390_readinfo_sccb.loadparm)
30#define SCCB_FLAG (s390_readinfo_sccb.flags)
31
32#define IPL_UNKNOWN_STR "unknown" 28#define IPL_UNKNOWN_STR "unknown"
33#define IPL_CCW_STR "ccw" 29#define IPL_CCW_STR "ccw"
34#define IPL_FCP_STR "fcp" 30#define IPL_FCP_STR "fcp"
@@ -146,6 +142,8 @@ static struct ipl_parameter_block *dump_block_ccw;
146 142
147static enum shutdown_action on_panic_action = SHUTDOWN_STOP; 143static enum shutdown_action on_panic_action = SHUTDOWN_STOP;
148 144
145static struct sclp_ipl_info sclp_ipl_info;
146
149int diag308(unsigned long subcode, void *addr) 147int diag308(unsigned long subcode, void *addr)
150{ 148{
151 register unsigned long _addr asm("0") = (unsigned long) addr; 149 register unsigned long _addr asm("0") = (unsigned long) addr;
@@ -314,7 +312,6 @@ static struct bin_attribute ipl_parameter_attr = {
314 .attr = { 312 .attr = {
315 .name = "binary_parameter", 313 .name = "binary_parameter",
316 .mode = S_IRUGO, 314 .mode = S_IRUGO,
317 .owner = THIS_MODULE,
318 }, 315 },
319 .size = PAGE_SIZE, 316 .size = PAGE_SIZE,
320 .read = &ipl_parameter_read, 317 .read = &ipl_parameter_read,
@@ -338,7 +335,6 @@ static struct bin_attribute ipl_scp_data_attr = {
338 .attr = { 335 .attr = {
339 .name = "scp_data", 336 .name = "scp_data",
340 .mode = S_IRUGO, 337 .mode = S_IRUGO,
341 .owner = THIS_MODULE,
342 }, 338 },
343 .size = PAGE_SIZE, 339 .size = PAGE_SIZE,
344 .read = &ipl_scp_data_read, 340 .read = &ipl_scp_data_read,
@@ -375,9 +371,9 @@ static ssize_t ipl_ccw_loadparm_show(struct kset *kset, char *page)
375{ 371{
376 char loadparm[LOADPARM_LEN + 1] = {}; 372 char loadparm[LOADPARM_LEN + 1] = {};
377 373
378 if (!SCCB_VALID) 374 if (!sclp_ipl_info.is_valid)
379 return sprintf(page, "#unknown#\n"); 375 return sprintf(page, "#unknown#\n");
380 memcpy(loadparm, SCCB_LOADPARM, LOADPARM_LEN); 376 memcpy(loadparm, &sclp_ipl_info.loadparm, LOADPARM_LEN);
381 EBCASC(loadparm, LOADPARM_LEN); 377 EBCASC(loadparm, LOADPARM_LEN);
382 strstrip(loadparm); 378 strstrip(loadparm);
383 return sprintf(page, "%s\n", loadparm); 379 return sprintf(page, "%s\n", loadparm);
@@ -910,9 +906,9 @@ static int __init reipl_ccw_init(void)
910 reipl_block_ccw->hdr.blk0_len = IPL_PARM_BLK0_CCW_LEN; 906 reipl_block_ccw->hdr.blk0_len = IPL_PARM_BLK0_CCW_LEN;
911 reipl_block_ccw->hdr.pbt = DIAG308_IPL_TYPE_CCW; 907 reipl_block_ccw->hdr.pbt = DIAG308_IPL_TYPE_CCW;
912 /* check if read scp info worked and set loadparm */ 908 /* check if read scp info worked and set loadparm */
913 if (SCCB_VALID) 909 if (sclp_ipl_info.is_valid)
914 memcpy(reipl_block_ccw->ipl_info.ccw.load_param, 910 memcpy(reipl_block_ccw->ipl_info.ccw.load_param,
915 SCCB_LOADPARM, LOADPARM_LEN); 911 &sclp_ipl_info.loadparm, LOADPARM_LEN);
916 else 912 else
917 /* read scp info failed: set empty loadparm (EBCDIC blanks) */ 913 /* read scp info failed: set empty loadparm (EBCDIC blanks) */
918 memset(reipl_block_ccw->ipl_info.ccw.load_param, 0x40, 914 memset(reipl_block_ccw->ipl_info.ccw.load_param, 0x40,
@@ -1007,7 +1003,7 @@ static int __init dump_fcp_init(void)
1007{ 1003{
1008 int rc; 1004 int rc;
1009 1005
1010 if(!(SCCB_FLAG & 0x2) || !SCCB_VALID) 1006 if (!sclp_ipl_info.has_dump)
1011 return 0; /* LDIPL DUMP is not installed */ 1007 return 0; /* LDIPL DUMP is not installed */
1012 if (!diag308_set_works) 1008 if (!diag308_set_works)
1013 return 0; 1009 return 0;
@@ -1088,6 +1084,7 @@ static int __init s390_ipl_init(void)
1088{ 1084{
1089 int rc; 1085 int rc;
1090 1086
1087 sclp_get_ipl_info(&sclp_ipl_info);
1091 reipl_probe(); 1088 reipl_probe();
1092 rc = ipl_init(); 1089 rc = ipl_init();
1093 if (rc) 1090 if (rc)
diff --git a/arch/s390/kernel/process.c b/arch/s390/kernel/process.c
index eb43c3b31269..441975b796fb 100644
--- a/arch/s390/kernel/process.c
+++ b/arch/s390/kernel/process.c
@@ -93,8 +93,8 @@ void do_monitor_call(struct pt_regs *regs, long interruption_code)
93 /* disable monitor call class 0 */ 93 /* disable monitor call class 0 */
94 __ctl_clear_bit(8, 15); 94 __ctl_clear_bit(8, 15);
95 95
96 atomic_notifier_call_chain(&idle_chain, CPU_NOT_IDLE, 96 atomic_notifier_call_chain(&idle_chain, S390_CPU_NOT_IDLE,
97 (void *)(long) smp_processor_id()); 97 (void *)(long) smp_processor_id());
98} 98}
99 99
100extern void s390_handle_mcck(void); 100extern void s390_handle_mcck(void);
@@ -115,7 +115,7 @@ static void default_idle(void)
115 } 115 }
116 116
117 rc = atomic_notifier_call_chain(&idle_chain, 117 rc = atomic_notifier_call_chain(&idle_chain,
118 CPU_IDLE, (void *)(long) cpu); 118 S390_CPU_IDLE, (void *)(long) cpu);
119 if (rc != NOTIFY_OK && rc != NOTIFY_DONE) 119 if (rc != NOTIFY_OK && rc != NOTIFY_DONE)
120 BUG(); 120 BUG();
121 if (rc != NOTIFY_OK) { 121 if (rc != NOTIFY_OK) {
diff --git a/arch/s390/kernel/smp.c b/arch/s390/kernel/smp.c
index 8ff2feaf9b00..182c085ae4dd 100644
--- a/arch/s390/kernel/smp.c
+++ b/arch/s390/kernel/smp.c
@@ -410,58 +410,40 @@ EXPORT_SYMBOL(smp_ctl_clear_bit);
410unsigned int zfcpdump_prefix_array[NR_CPUS + 1] \ 410unsigned int zfcpdump_prefix_array[NR_CPUS + 1] \
411 __attribute__((__section__(".data"))); 411 __attribute__((__section__(".data")));
412 412
413static void __init smp_get_save_areas(void) 413static void __init smp_get_save_area(unsigned int cpu, unsigned int phy_cpu)
414{ 414{
415 unsigned int cpu, cpu_num, rc;
416 __u16 boot_cpu_addr;
417
418 if (ipl_info.type != IPL_TYPE_FCP_DUMP) 415 if (ipl_info.type != IPL_TYPE_FCP_DUMP)
419 return; 416 return;
420 boot_cpu_addr = S390_lowcore.cpu_data.cpu_addr; 417 if (cpu >= NR_CPUS) {
421 cpu_num = 1; 418 printk(KERN_WARNING "Registers for cpu %i not saved since dump "
422 for (cpu = 0; cpu <= 65535; cpu++) { 419 "kernel was compiled with NR_CPUS=%i\n", cpu, NR_CPUS);
423 if ((u16) cpu == boot_cpu_addr) 420 return;
424 continue;
425 __cpu_logical_map[1] = (__u16) cpu;
426 if (signal_processor(1, sigp_sense) == sigp_not_operational)
427 continue;
428 if (cpu_num >= NR_CPUS) {
429 printk("WARNING: Registers for cpu %i are not "
430 "saved, since dump kernel was compiled with"
431 "NR_CPUS=%i!\n", cpu_num, NR_CPUS);
432 continue;
433 }
434 zfcpdump_save_areas[cpu_num] =
435 alloc_bootmem(sizeof(union save_area));
436 while (1) {
437 rc = signal_processor(1, sigp_stop_and_store_status);
438 if (rc != sigp_busy)
439 break;
440 cpu_relax();
441 }
442 memcpy(zfcpdump_save_areas[cpu_num],
443 (void *)(unsigned long) store_prefix() +
444 SAVE_AREA_BASE, SAVE_AREA_SIZE);
445#ifdef __s390x__
446 /* copy original prefix register */
447 zfcpdump_save_areas[cpu_num]->s390x.pref_reg =
448 zfcpdump_prefix_array[cpu_num];
449#endif
450 cpu_num++;
451 } 421 }
422 zfcpdump_save_areas[cpu] = alloc_bootmem(sizeof(union save_area));
423 __cpu_logical_map[1] = (__u16) phy_cpu;
424 while (signal_processor(1, sigp_stop_and_store_status) == sigp_busy)
425 cpu_relax();
426 memcpy(zfcpdump_save_areas[cpu],
427 (void *)(unsigned long) store_prefix() + SAVE_AREA_BASE,
428 SAVE_AREA_SIZE);
429#ifdef CONFIG_64BIT
430 /* copy original prefix register */
431 zfcpdump_save_areas[cpu]->s390x.pref_reg = zfcpdump_prefix_array[cpu];
432#endif
452} 433}
453 434
454union save_area *zfcpdump_save_areas[NR_CPUS + 1]; 435union save_area *zfcpdump_save_areas[NR_CPUS + 1];
455EXPORT_SYMBOL_GPL(zfcpdump_save_areas); 436EXPORT_SYMBOL_GPL(zfcpdump_save_areas);
456 437
457#else 438#else
458#define smp_get_save_areas() do { } while (0) 439
459#endif 440static inline void smp_get_save_area(unsigned int cpu, unsigned int phy_cpu) { }
441
442#endif /* CONFIG_ZFCPDUMP || CONFIG_ZFCPDUMP_MODULE */
460 443
461/* 444/*
462 * Lets check how many CPUs we have. 445 * Lets check how many CPUs we have.
463 */ 446 */
464
465static unsigned int __init smp_count_cpus(void) 447static unsigned int __init smp_count_cpus(void)
466{ 448{
467 unsigned int cpu, num_cpus; 449 unsigned int cpu, num_cpus;
@@ -470,7 +452,6 @@ static unsigned int __init smp_count_cpus(void)
470 /* 452 /*
471 * cpu 0 is the boot cpu. See smp_prepare_boot_cpu. 453 * cpu 0 is the boot cpu. See smp_prepare_boot_cpu.
472 */ 454 */
473
474 boot_cpu_addr = S390_lowcore.cpu_data.cpu_addr; 455 boot_cpu_addr = S390_lowcore.cpu_data.cpu_addr;
475 current_thread_info()->cpu = 0; 456 current_thread_info()->cpu = 0;
476 num_cpus = 1; 457 num_cpus = 1;
@@ -480,12 +461,11 @@ static unsigned int __init smp_count_cpus(void)
480 __cpu_logical_map[1] = (__u16) cpu; 461 __cpu_logical_map[1] = (__u16) cpu;
481 if (signal_processor(1, sigp_sense) == sigp_not_operational) 462 if (signal_processor(1, sigp_sense) == sigp_not_operational)
482 continue; 463 continue;
464 smp_get_save_area(num_cpus, cpu);
483 num_cpus++; 465 num_cpus++;
484 } 466 }
485
486 printk("Detected %d CPU's\n", (int) num_cpus); 467 printk("Detected %d CPU's\n", (int) num_cpus);
487 printk("Boot cpu address %2X\n", boot_cpu_addr); 468 printk("Boot cpu address %2X\n", boot_cpu_addr);
488
489 return num_cpus; 469 return num_cpus;
490} 470}
491 471
@@ -606,7 +586,6 @@ void __init smp_setup_cpu_possible_map(void)
606{ 586{
607 unsigned int phy_cpus, pos_cpus, cpu; 587 unsigned int phy_cpus, pos_cpus, cpu;
608 588
609 smp_get_save_areas();
610 phy_cpus = smp_count_cpus(); 589 phy_cpus = smp_count_cpus();
611 pos_cpus = min(phy_cpus + additional_cpus, (unsigned int) NR_CPUS); 590 pos_cpus = min(phy_cpus + additional_cpus, (unsigned int) NR_CPUS);
612 591
diff --git a/arch/s390/kernel/time.c b/arch/s390/kernel/time.c
index 9c2872a7cca7..48dae49bc1ec 100644
--- a/arch/s390/kernel/time.c
+++ b/arch/s390/kernel/time.c
@@ -226,10 +226,10 @@ static int nohz_idle_notify(struct notifier_block *self,
226 unsigned long action, void *hcpu) 226 unsigned long action, void *hcpu)
227{ 227{
228 switch (action) { 228 switch (action) {
229 case CPU_IDLE: 229 case S390_CPU_IDLE:
230 stop_hz_timer(); 230 stop_hz_timer();
231 break; 231 break;
232 case CPU_NOT_IDLE: 232 case S390_CPU_NOT_IDLE:
233 start_hz_timer(); 233 start_hz_timer();
234 break; 234 break;
235 } 235 }
diff --git a/arch/s390/kernel/vtime.c b/arch/s390/kernel/vtime.c
index 1e1a6ee2cac1..b6ed143e8597 100644
--- a/arch/s390/kernel/vtime.c
+++ b/arch/s390/kernel/vtime.c
@@ -545,10 +545,10 @@ static int vtimer_idle_notify(struct notifier_block *self,
545 unsigned long action, void *hcpu) 545 unsigned long action, void *hcpu)
546{ 546{
547 switch (action) { 547 switch (action) {
548 case CPU_IDLE: 548 case S390_CPU_IDLE:
549 stop_cpu_timer(); 549 stop_cpu_timer();
550 break; 550 break;
551 case CPU_NOT_IDLE: 551 case S390_CPU_NOT_IDLE:
552 start_cpu_timer(); 552 start_cpu_timer();
553 break; 553 break;
554 } 554 }
diff --git a/arch/s390/lib/Makefile b/arch/s390/lib/Makefile
index 59aea65ce99f..52084436ab69 100644
--- a/arch/s390/lib/Makefile
+++ b/arch/s390/lib/Makefile
@@ -4,7 +4,7 @@
4 4
5EXTRA_AFLAGS := -traditional 5EXTRA_AFLAGS := -traditional
6 6
7lib-y += delay.o string.o uaccess_std.o uaccess_pt.o qrnnd.o 7lib-y += delay.o string.o uaccess_std.o uaccess_pt.o
8obj-$(CONFIG_32BIT) += div64.o 8obj-$(CONFIG_32BIT) += div64.o qrnnd.o
9lib-$(CONFIG_64BIT) += uaccess_mvcos.o 9lib-$(CONFIG_64BIT) += uaccess_mvcos.o
10lib-$(CONFIG_SMP) += spinlock.o 10lib-$(CONFIG_SMP) += spinlock.o
diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig
index fbcc00c6c06e..8567cc901942 100644
--- a/arch/sparc/Kconfig
+++ b/arch/sparc/Kconfig
@@ -210,6 +210,9 @@ config PCI
210 CP-1200, JavaEngine-1, Corona, Red October, and Serengeti SGSC. 210 CP-1200, JavaEngine-1, Corona, Red October, and Serengeti SGSC.
211 All of these platforms are extremely obscure, so say N if unsure. 211 All of these platforms are extremely obscure, so say N if unsure.
212 212
213config PCI_SYSCALL
214 def_bool PCI
215
213source "drivers/pci/Kconfig" 216source "drivers/pci/Kconfig"
214 217
215endif 218endif
diff --git a/arch/sparc/kernel/smp.c b/arch/sparc/kernel/smp.c
index 4d9ad59031bb..4fea3ac7bff0 100644
--- a/arch/sparc/kernel/smp.c
+++ b/arch/sparc/kernel/smp.c
@@ -68,16 +68,6 @@ void __cpuinit smp_store_cpu_info(int id)
68 cpu_data(id).prom_node = cpu_node; 68 cpu_data(id).prom_node = cpu_node;
69 cpu_data(id).mid = cpu_get_hwmid(cpu_node); 69 cpu_data(id).mid = cpu_get_hwmid(cpu_node);
70 70
71 /* this is required to tune the scheduler correctly */
72 /* is it possible to have CPUs with different cache sizes? */
73 if (id == boot_cpu_id) {
74 int cache_line,cache_nlines;
75 cache_line = 0x20;
76 cache_line = prom_getintdefault(cpu_node, "ecache-line-size", cache_line);
77 cache_nlines = 0x8000;
78 cache_nlines = prom_getintdefault(cpu_node, "ecache-nlines", cache_nlines);
79 max_cache_size = cache_line * cache_nlines;
80 }
81 if (cpu_data(id).mid < 0) 71 if (cpu_data(id).mid < 0)
82 panic("No MID found for CPU%d at node 0x%08d", id, cpu_node); 72 panic("No MID found for CPU%d at node 0x%08d", id, cpu_node);
83} 73}
diff --git a/arch/sparc64/Kconfig b/arch/sparc64/Kconfig
index 89a1b469b93d..6566d13db04f 100644
--- a/arch/sparc64/Kconfig
+++ b/arch/sparc64/Kconfig
@@ -320,8 +320,10 @@ config PCI
320 doesn't. 320 doesn't.
321 321
322config PCI_DOMAINS 322config PCI_DOMAINS
323 bool 323 def_bool PCI
324 default PCI 324
325config PCI_SYSCALL
326 def_bool PCI
325 327
326source "drivers/pci/Kconfig" 328source "drivers/pci/Kconfig"
327 329
diff --git a/arch/sparc64/kernel/irq.c b/arch/sparc64/kernel/irq.c
index e60d283f60bc..6b6165d36fd8 100644
--- a/arch/sparc64/kernel/irq.c
+++ b/arch/sparc64/kernel/irq.c
@@ -329,6 +329,10 @@ static void sun4v_irq_enable(unsigned int virt_irq)
329 if (err != HV_EOK) 329 if (err != HV_EOK)
330 printk("sun4v_intr_settarget(%x,%lu): err(%d)\n", 330 printk("sun4v_intr_settarget(%x,%lu): err(%d)\n",
331 ino, cpuid, err); 331 ino, cpuid, err);
332 err = sun4v_intr_setstate(ino, HV_INTR_STATE_IDLE);
333 if (err != HV_EOK)
334 printk("sun4v_intr_setstate(%x): "
335 "err(%d)\n", ino, err);
332 err = sun4v_intr_setenabled(ino, HV_INTR_ENABLED); 336 err = sun4v_intr_setenabled(ino, HV_INTR_ENABLED);
333 if (err != HV_EOK) 337 if (err != HV_EOK)
334 printk("sun4v_intr_setenabled(%x): err(%d)\n", 338 printk("sun4v_intr_setenabled(%x): err(%d)\n",
@@ -400,6 +404,12 @@ static void sun4v_virq_enable(unsigned int virt_irq)
400 "err(%d)\n", 404 "err(%d)\n",
401 dev_handle, dev_ino, cpuid, err); 405 dev_handle, dev_ino, cpuid, err);
402 err = sun4v_vintr_set_state(dev_handle, dev_ino, 406 err = sun4v_vintr_set_state(dev_handle, dev_ino,
407 HV_INTR_STATE_IDLE);
408 if (err != HV_EOK)
409 printk("sun4v_vintr_set_state(%lx,%lx,"
410 "HV_INTR_STATE_IDLE): err(%d)\n",
411 dev_handle, dev_ino, err);
412 err = sun4v_vintr_set_valid(dev_handle, dev_ino,
403 HV_INTR_ENABLED); 413 HV_INTR_ENABLED);
404 if (err != HV_EOK) 414 if (err != HV_EOK)
405 printk("sun4v_vintr_set_state(%lx,%lx," 415 printk("sun4v_vintr_set_state(%lx,%lx,"
@@ -420,7 +430,7 @@ static void sun4v_virq_disable(unsigned int virt_irq)
420 dev_handle = ino & IMAP_IGN; 430 dev_handle = ino & IMAP_IGN;
421 dev_ino = ino & IMAP_INO; 431 dev_ino = ino & IMAP_INO;
422 432
423 err = sun4v_vintr_set_state(dev_handle, dev_ino, 433 err = sun4v_vintr_set_valid(dev_handle, dev_ino,
424 HV_INTR_DISABLED); 434 HV_INTR_DISABLED);
425 if (err != HV_EOK) 435 if (err != HV_EOK)
426 printk("sun4v_vintr_set_state(%lx,%lx," 436 printk("sun4v_vintr_set_state(%lx,%lx,"
diff --git a/arch/sparc64/kernel/pci.c b/arch/sparc64/kernel/pci.c
index 81f4a5ea05f7..55ad1b899bb8 100644
--- a/arch/sparc64/kernel/pci.c
+++ b/arch/sparc64/kernel/pci.c
@@ -448,6 +448,7 @@ struct pci_dev *of_create_pci_dev(struct pci_pbm_info *pbm,
448 */ 448 */
449 pci_read_config_dword(dev, PCI_CLASS_REVISION, &class); 449 pci_read_config_dword(dev, PCI_CLASS_REVISION, &class);
450 dev->class = class >> 8; 450 dev->class = class >> 8;
451 dev->revision = class & 0xff;
451 452
452 sprintf(pci_name(dev), "%04x:%02x:%02x.%d", pci_domain_nr(bus), 453 sprintf(pci_name(dev), "%04x:%02x:%02x.%d", pci_domain_nr(bus),
453 dev->bus->number, PCI_SLOT(devfn), PCI_FUNC(devfn)); 454 dev->bus->number, PCI_SLOT(devfn), PCI_FUNC(devfn));
diff --git a/arch/sparc64/kernel/smp.c b/arch/sparc64/kernel/smp.c
index 4dcd7d0b60f2..40e40f968d61 100644
--- a/arch/sparc64/kernel/smp.c
+++ b/arch/sparc64/kernel/smp.c
@@ -1163,32 +1163,6 @@ int setup_profiling_timer(unsigned int multiplier)
1163 return -EINVAL; 1163 return -EINVAL;
1164} 1164}
1165 1165
1166static void __init smp_tune_scheduling(void)
1167{
1168 unsigned int smallest = ~0U;
1169 int i;
1170
1171 for (i = 0; i < NR_CPUS; i++) {
1172 unsigned int val = cpu_data(i).ecache_size;
1173
1174 if (val && val < smallest)
1175 smallest = val;
1176 }
1177
1178 /* Any value less than 256K is nonsense. */
1179 if (smallest < (256U * 1024U))
1180 smallest = 256 * 1024;
1181
1182 max_cache_size = smallest;
1183
1184 if (smallest < 1U * 1024U * 1024U)
1185 printk(KERN_INFO "Using max_cache_size of %uKB\n",
1186 smallest / 1024U);
1187 else
1188 printk(KERN_INFO "Using max_cache_size of %uMB\n",
1189 smallest / 1024U / 1024U);
1190}
1191
1192/* Constrain the number of cpus to max_cpus. */ 1166/* Constrain the number of cpus to max_cpus. */
1193void __init smp_prepare_cpus(unsigned int max_cpus) 1167void __init smp_prepare_cpus(unsigned int max_cpus)
1194{ 1168{
@@ -1206,7 +1180,6 @@ void __init smp_prepare_cpus(unsigned int max_cpus)
1206 } 1180 }
1207 1181
1208 cpu_data(boot_cpu_id).udelay_val = loops_per_jiffy; 1182 cpu_data(boot_cpu_id).udelay_val = loops_per_jiffy;
1209 smp_tune_scheduling();
1210} 1183}
1211 1184
1212void __devinit smp_prepare_boot_cpu(void) 1185void __devinit smp_prepare_boot_cpu(void)
diff --git a/arch/x86_64/Kconfig b/arch/x86_64/Kconfig
index 5ce94430c019..8bdd25ac1542 100644
--- a/arch/x86_64/Kconfig
+++ b/arch/x86_64/Kconfig
@@ -427,6 +427,10 @@ config NR_CPUS
427 This is purely to save memory - each supported CPU requires 427 This is purely to save memory - each supported CPU requires
428 memory in the static kernel configuration. 428 memory in the static kernel configuration.
429 429
430config PHYSICAL_ALIGN
431 hex
432 default "0x200000"
433
430config HOTPLUG_CPU 434config HOTPLUG_CPU
431 bool "Support for suspend on SMP and hot-pluggable CPUs (EXPERIMENTAL)" 435 bool "Support for suspend on SMP and hot-pluggable CPUs (EXPERIMENTAL)"
432 depends on SMP && HOTPLUG && EXPERIMENTAL 436 depends on SMP && HOTPLUG && EXPERIMENTAL
diff --git a/arch/x86_64/Kconfig.debug b/arch/x86_64/Kconfig.debug
index 8a8677518447..775d211a5cf9 100644
--- a/arch/x86_64/Kconfig.debug
+++ b/arch/x86_64/Kconfig.debug
@@ -9,7 +9,6 @@ source "lib/Kconfig.debug"
9config DEBUG_RODATA 9config DEBUG_RODATA
10 bool "Write protect kernel read-only data structures" 10 bool "Write protect kernel read-only data structures"
11 depends on DEBUG_KERNEL 11 depends on DEBUG_KERNEL
12 depends on !KPROBES # temporary for 2.6.22
13 help 12 help
14 Mark the kernel read-only data as write-protected in the pagetables, 13 Mark the kernel read-only data as write-protected in the pagetables,
15 in order to catch accidental (and incorrect) writes to such const data. 14 in order to catch accidental (and incorrect) writes to such const data.
diff --git a/arch/x86_64/boot/Makefile b/arch/x86_64/boot/Makefile
index ee6f6505f95f..67096389de1f 100644
--- a/arch/x86_64/boot/Makefile
+++ b/arch/x86_64/boot/Makefile
@@ -1,135 +1,9 @@
1# 1#
2# arch/x86_64/boot/Makefile 2# arch/x86_64/boot/Makefile
3# 3#
4# This file is subject to the terms and conditions of the GNU General Public 4# The actual boot code is shared with i386 including the Makefile.
5# License. See the file "COPYING" in the main directory of this archive 5# So tell kbuild that we fetch the code from i386 and include the
6# for more details. 6# Makefile from i386 too.
7#
8# Copyright (C) 1994 by Linus Torvalds
9#
10
11# ROOT_DEV specifies the default root-device when making the image.
12# This can be either FLOPPY, CURRENT, /dev/xxxx or empty, in which case
13# the default of FLOPPY is used by 'build'.
14
15ROOT_DEV := CURRENT
16
17# If you want to preset the SVGA mode, uncomment the next line and
18# set SVGA_MODE to whatever number you want.
19# Set it to -DSVGA_MODE=NORMAL_VGA if you just want the EGA/VGA mode.
20# The number is the same as you would ordinarily press at bootup.
21
22SVGA_MODE := -DSVGA_MODE=NORMAL_VGA
23
24# If you want the RAM disk device, define this to be the size in blocks.
25
26#RAMDISK := -DRAMDISK=512
27
28targets := vmlinux.bin bootsect bootsect.o \
29 setup setup.o bzImage mtools.conf
30
31EXTRA_CFLAGS := -m32
32
33hostprogs-y := tools/build
34HOST_EXTRACFLAGS += $(LINUXINCLUDE)
35subdir- := compressed/ #Let make clean descend in compressed/
36# ---------------------------------------------------------------------------
37
38$(obj)/bzImage: IMAGE_OFFSET := 0x100000
39$(obj)/bzImage: EXTRA_AFLAGS := $(SVGA_MODE) $(RAMDISK) -D__BIG_KERNEL__
40$(obj)/bzImage: BUILDFLAGS := -b
41
42quiet_cmd_image = BUILD $@
43cmd_image = $(obj)/tools/build $(BUILDFLAGS) $(obj)/bootsect $(obj)/setup \
44 $(obj)/vmlinux.bin $(ROOT_DEV) > $@
45
46$(obj)/bzImage: $(obj)/bootsect $(obj)/setup \
47 $(obj)/vmlinux.bin $(obj)/tools/build FORCE
48 $(call if_changed,image)
49 @echo 'Kernel: $@ is ready' ' (#'`cat .version`')'
50
51$(obj)/vmlinux.bin: $(obj)/compressed/vmlinux FORCE
52 $(call if_changed,objcopy)
53
54LDFLAGS_bootsect := -Ttext 0x0 -s --oformat binary
55LDFLAGS_setup := -Ttext 0x0 -s --oformat binary -e begtext
56
57$(obj)/setup $(obj)/bootsect: %: %.o FORCE
58 $(call if_changed,ld)
59
60$(obj)/compressed/vmlinux: FORCE
61 $(Q)$(MAKE) $(build)=$(obj)/compressed IMAGE_OFFSET=$(IMAGE_OFFSET) $@
62
63# Set this if you want to pass append arguments to the zdisk/fdimage/isoimage kernel
64FDARGS =
65# Set this if you want an initrd included with the zdisk/fdimage/isoimage kernel
66FDINITRD =
67
68image_cmdline = default linux $(FDARGS) $(if $(FDINITRD),initrd=initrd.img,)
69
70$(obj)/mtools.conf: $(src)/mtools.conf.in
71 sed -e 's|@OBJ@|$(obj)|g' < $< > $@
72
73# This requires write access to /dev/fd0
74zdisk: $(BOOTIMAGE) $(obj)/mtools.conf
75 MTOOLSRC=$(obj)/mtools.conf mformat a: ; sync
76 syslinux /dev/fd0 ; sync
77 echo '$(image_cmdline)' | \
78 MTOOLSRC=$(obj)/mtools.conf mcopy - a:syslinux.cfg
79 if [ -f '$(FDINITRD)' ] ; then \
80 MTOOLSRC=$(obj)/mtools.conf mcopy '$(FDINITRD)' a:initrd.img ; \
81 fi
82 MTOOLSRC=$(obj)/mtools.conf mcopy $(BOOTIMAGE) a:linux ; sync
83
84# These require being root or having syslinux 2.02 or higher installed
85fdimage fdimage144: $(BOOTIMAGE) $(obj)/mtools.conf
86 dd if=/dev/zero of=$(obj)/fdimage bs=1024 count=1440
87 MTOOLSRC=$(obj)/mtools.conf mformat v: ; sync
88 syslinux $(obj)/fdimage ; sync
89 echo '$(image_cmdline)' | \
90 MTOOLSRC=$(obj)/mtools.conf mcopy - v:syslinux.cfg
91 if [ -f '$(FDINITRD)' ] ; then \
92 MTOOLSRC=$(obj)/mtools.conf mcopy '$(FDINITRD)' v:initrd.img ; \
93 fi
94 MTOOLSRC=$(obj)/mtools.conf mcopy $(BOOTIMAGE) v:linux ; sync
95
96fdimage288: $(BOOTIMAGE) $(obj)/mtools.conf
97 dd if=/dev/zero of=$(obj)/fdimage bs=1024 count=2880
98 MTOOLSRC=$(obj)/mtools.conf mformat w: ; sync
99 syslinux $(obj)/fdimage ; sync
100 echo '$(image_cmdline)' | \
101 MTOOLSRC=$(obj)/mtools.conf mcopy - w:syslinux.cfg
102 if [ -f '$(FDINITRD)' ] ; then \
103 MTOOLSRC=$(obj)/mtools.conf mcopy '$(FDINITRD)' w:initrd.img ; \
104 fi
105 MTOOLSRC=$(obj)/mtools.conf mcopy $(BOOTIMAGE) w:linux ; sync
106
107isoimage: $(BOOTIMAGE)
108 -rm -rf $(obj)/isoimage
109 mkdir $(obj)/isoimage
110 for i in lib lib64 share end ; do \
111 if [ -f /usr/$$i/syslinux/isolinux.bin ] ; then \
112 cp /usr/$$i/syslinux/isolinux.bin $(obj)/isoimage ; \
113 break ; \
114 fi ; \
115 if [ $$i = end ] ; then exit 1 ; fi ; \
116 done
117 cp $(BOOTIMAGE) $(obj)/isoimage/linux
118 echo '$(image_cmdline)' > $(obj)/isoimage/isolinux.cfg
119 if [ -f '$(FDINITRD)' ] ; then \
120 cp '$(FDINITRD)' $(obj)/isoimage/initrd.img ; \
121 fi
122 mkisofs -J -r -o $(obj)/image.iso -b isolinux.bin -c boot.cat \
123 -no-emul-boot -boot-load-size 4 -boot-info-table \
124 $(obj)/isoimage
125 rm -rf $(obj)/isoimage
126
127zlilo: $(BOOTIMAGE)
128 if [ -f $(INSTALL_PATH)/vmlinuz ]; then mv $(INSTALL_PATH)/vmlinuz $(INSTALL_PATH)/vmlinuz.old; fi
129 if [ -f $(INSTALL_PATH)/System.map ]; then mv $(INSTALL_PATH)/System.map $(INSTALL_PATH)/System.old; fi
130 cat $(BOOTIMAGE) > $(INSTALL_PATH)/vmlinuz
131 cp System.map $(INSTALL_PATH)/
132 if [ -x /sbin/lilo ]; then /sbin/lilo; else /etc/lilo/install; fi
133 7
134install: 8src := arch/i386/boot
135 sh $(srctree)/$(src)/install.sh $(KERNELRELEASE) $(BOOTIMAGE) System.map "$(INSTALL_PATH)" 9include $(src)/Makefile
diff --git a/arch/x86_64/boot/bootsect.S b/arch/x86_64/boot/bootsect.S
deleted file mode 100644
index 011b7a4993d4..000000000000
--- a/arch/x86_64/boot/bootsect.S
+++ /dev/null
@@ -1,98 +0,0 @@
1/*
2 * bootsect.S Copyright (C) 1991, 1992 Linus Torvalds
3 *
4 * modified by Drew Eckhardt
5 * modified by Bruce Evans (bde)
6 * modified by Chris Noe (May 1999) (as86 -> gas)
7 * gutted by H. Peter Anvin (Jan 2003)
8 *
9 * BIG FAT NOTE: We're in real mode using 64k segments. Therefore segment
10 * addresses must be multiplied by 16 to obtain their respective linear
11 * addresses. To avoid confusion, linear addresses are written using leading
12 * hex while segment addresses are written as segment:offset.
13 *
14 */
15
16#include <asm/boot.h>
17
18SETUPSECTS = 4 /* default nr of setup-sectors */
19BOOTSEG = 0x07C0 /* original address of boot-sector */
20INITSEG = DEF_INITSEG /* we move boot here - out of the way */
21SETUPSEG = DEF_SETUPSEG /* setup starts here */
22SYSSEG = DEF_SYSSEG /* system loaded at 0x10000 (65536) */
23SYSSIZE = DEF_SYSSIZE /* system size: # of 16-byte clicks */
24 /* to be loaded */
25ROOT_DEV = 0 /* ROOT_DEV is now written by "build" */
26SWAP_DEV = 0 /* SWAP_DEV is now written by "build" */
27
28#ifndef SVGA_MODE
29#define SVGA_MODE ASK_VGA
30#endif
31
32#ifndef RAMDISK
33#define RAMDISK 0
34#endif
35
36#ifndef ROOT_RDONLY
37#define ROOT_RDONLY 1
38#endif
39
40.code16
41.text
42
43.global _start
44_start:
45
46 # Normalize the start address
47 jmpl $BOOTSEG, $start2
48
49start2:
50 movw %cs, %ax
51 movw %ax, %ds
52 movw %ax, %es
53 movw %ax, %ss
54 movw $0x7c00, %sp
55 sti
56 cld
57
58 movw $bugger_off_msg, %si
59
60msg_loop:
61 lodsb
62 andb %al, %al
63 jz die
64 movb $0xe, %ah
65 movw $7, %bx
66 int $0x10
67 jmp msg_loop
68
69die:
70 # Allow the user to press a key, then reboot
71 xorw %ax, %ax
72 int $0x16
73 int $0x19
74
75 # int 0x19 should never return. In case it does anyway,
76 # invoke the BIOS reset code...
77 ljmp $0xf000,$0xfff0
78
79
80bugger_off_msg:
81 .ascii "Direct booting from floppy is no longer supported.\r\n"
82 .ascii "Please use a boot loader program instead.\r\n"
83 .ascii "\n"
84 .ascii "Remove disk and press any key to reboot . . .\r\n"
85 .byte 0
86
87
88 # Kernel attributes; used by setup
89
90 .org 497
91setup_sects: .byte SETUPSECTS
92root_flags: .word ROOT_RDONLY
93syssize: .word SYSSIZE
94swap_dev: .word SWAP_DEV
95ram_size: .word RAMDISK
96vid_mode: .word SVGA_MODE
97root_dev: .word ROOT_DEV
98boot_flag: .word 0xAA55
diff --git a/arch/x86_64/boot/compressed/Makefile b/arch/x86_64/boot/compressed/Makefile
index 705a3e33d7e1..c9f2da7496c1 100644
--- a/arch/x86_64/boot/compressed/Makefile
+++ b/arch/x86_64/boot/compressed/Makefile
@@ -7,11 +7,12 @@
7# 7#
8 8
9targets := vmlinux vmlinux.bin vmlinux.bin.gz head.o misc.o piggy.o 9targets := vmlinux vmlinux.bin vmlinux.bin.gz head.o misc.o piggy.o
10EXTRA_AFLAGS := -traditional
11 10
12# cannot use EXTRA_CFLAGS because base CFLAGS contains -mkernel which conflicts with 11CFLAGS := -m64 -D__KERNEL__ $(LINUXINCLUDE) -O2 \
13# -m32 12 -fno-strict-aliasing -fPIC -mcmodel=small \
14CFLAGS := -m64 -D__KERNEL__ -Iinclude -O2 -fno-strict-aliasing -fPIC -mcmodel=small -fno-builtin 13 $(call cc-option, -ffreestanding) \
14 $(call cc-option, -fno-stack-protector)
15AFLAGS := $(CFLAGS) -D__ASSEMBLY__
15LDFLAGS := -m elf_x86_64 16LDFLAGS := -m elf_x86_64
16 17
17LDFLAGS_vmlinux := -T 18LDFLAGS_vmlinux := -T
diff --git a/arch/x86_64/boot/compressed/head.S b/arch/x86_64/boot/compressed/head.S
index f9d5692a0106..1312bfaff306 100644
--- a/arch/x86_64/boot/compressed/head.S
+++ b/arch/x86_64/boot/compressed/head.S
@@ -46,10 +46,10 @@ startup_32:
46 * at and where we were actually loaded at. This can only be done 46 * at and where we were actually loaded at. This can only be done
47 * with a short local call on x86. Nothing else will tell us what 47 * with a short local call on x86. Nothing else will tell us what
48 * address we are running at. The reserved chunk of the real-mode 48 * address we are running at. The reserved chunk of the real-mode
49 * data at 0x34-0x3f are used as the stack for this calculation. 49 * data at 0x1e4 (defined as a scratch field) are used as the stack
50 * Only 4 bytes are needed. 50 * for this calculation. Only 4 bytes are needed.
51 */ 51 */
52 leal 0x40(%esi), %esp 52 leal (0x1e4+4)(%esi), %esp
53 call 1f 53 call 1f
541: popl %ebp 541: popl %ebp
55 subl $1b, %ebp 55 subl $1b, %ebp
diff --git a/arch/x86_64/boot/install.sh b/arch/x86_64/boot/install.sh
deleted file mode 100644
index baaa2369bdb8..000000000000
--- a/arch/x86_64/boot/install.sh
+++ /dev/null
@@ -1,2 +0,0 @@
1#!/bin/sh
2. $srctree/arch/i386/boot/install.sh
diff --git a/arch/x86_64/boot/mtools.conf.in b/arch/x86_64/boot/mtools.conf.in
deleted file mode 100644
index efd6d2490c1d..000000000000
--- a/arch/x86_64/boot/mtools.conf.in
+++ /dev/null
@@ -1,17 +0,0 @@
1#
2# mtools configuration file for "make (b)zdisk"
3#
4
5# Actual floppy drive
6drive a:
7 file="/dev/fd0"
8
9# 1.44 MB floppy disk image
10drive v:
11 file="@OBJ@/fdimage" cylinders=80 heads=2 sectors=18 filter
12
13# 2.88 MB floppy disk image (mostly for virtual uses)
14drive w:
15 file="@OBJ@/fdimage" cylinders=80 heads=2 sectors=36 filter
16
17
diff --git a/arch/x86_64/boot/setup.S b/arch/x86_64/boot/setup.S
deleted file mode 100644
index e9e33f949697..000000000000
--- a/arch/x86_64/boot/setup.S
+++ /dev/null
@@ -1,826 +0,0 @@
1/*
2 * setup.S Copyright (C) 1991, 1992 Linus Torvalds
3 *
4 * setup.s is responsible for getting the system data from the BIOS,
5 * and putting them into the appropriate places in system memory.
6 * both setup.s and system has been loaded by the bootblock.
7 *
8 * This code asks the bios for memory/disk/other parameters, and
9 * puts them in a "safe" place: 0x90000-0x901FF, ie where the
10 * boot-block used to be. It is then up to the protected mode
11 * system to read them from there before the area is overwritten
12 * for buffer-blocks.
13 *
14 * Move PS/2 aux init code to psaux.c
15 * (troyer@saifr00.cfsat.Honeywell.COM) 03Oct92
16 *
17 * some changes and additional features by Christoph Niemann,
18 * March 1993/June 1994 (Christoph.Niemann@linux.org)
19 *
20 * add APM BIOS checking by Stephen Rothwell, May 1994
21 * (sfr@canb.auug.org.au)
22 *
23 * High load stuff, initrd support and position independency
24 * by Hans Lermen & Werner Almesberger, February 1996
25 * <lermen@elserv.ffm.fgan.de>, <almesber@lrc.epfl.ch>
26 *
27 * Video handling moved to video.S by Martin Mares, March 1996
28 * <mj@k332.feld.cvut.cz>
29 *
30 * Extended memory detection scheme retwiddled by orc@pell.chi.il.us (david
31 * parsons) to avoid loadlin confusion, July 1997
32 *
33 * Transcribed from Intel (as86) -> AT&T (gas) by Chris Noe, May 1999.
34 * <stiker@northlink.com>
35 *
36 * Fix to work around buggy BIOSes which don't use carry bit correctly
37 * and/or report extended memory in CX/DX for e801h memory size detection
38 * call. As a result the kernel got wrong figures. The int15/e801h docs
39 * from Ralf Brown interrupt list seem to indicate AX/BX should be used
40 * anyway. So to avoid breaking many machines (presumably there was a reason
41 * to orginally use CX/DX instead of AX/BX), we do a kludge to see
42 * if CX/DX have been changed in the e801 call and if so use AX/BX .
43 * Michael Miller, April 2001 <michaelm@mjmm.org>
44 *
45 * Added long mode checking and SSE force. March 2003, Andi Kleen.
46 */
47
48#include <asm/segment.h>
49#include <linux/utsrelease.h>
50#include <linux/compile.h>
51#include <asm/boot.h>
52#include <asm/e820.h>
53#include <asm/page.h>
54#include <asm/setup.h>
55
56/* Signature words to ensure LILO loaded us right */
57#define SIG1 0xAA55
58#define SIG2 0x5A5A
59
60INITSEG = DEF_INITSEG # 0x9000, we move boot here, out of the way
61SYSSEG = DEF_SYSSEG # 0x1000, system loaded at 0x10000 (65536).
62SETUPSEG = DEF_SETUPSEG # 0x9020, this is the current segment
63 # ... and the former contents of CS
64
65DELTA_INITSEG = SETUPSEG - INITSEG # 0x0020
66
67.code16
68.globl begtext, begdata, begbss, endtext, enddata, endbss
69
70.text
71begtext:
72.data
73begdata:
74.bss
75begbss:
76.text
77
78start:
79 jmp trampoline
80
81# This is the setup header, and it must start at %cs:2 (old 0x9020:2)
82
83 .ascii "HdrS" # header signature
84 .word 0x0206 # header version number (>= 0x0105)
85 # or else old loadlin-1.5 will fail)
86realmode_swtch: .word 0, 0 # default_switch, SETUPSEG
87start_sys_seg: .word SYSSEG
88 .word kernel_version # pointing to kernel version string
89 # above section of header is compatible
90 # with loadlin-1.5 (header v1.5). Don't
91 # change it.
92
93type_of_loader: .byte 0 # = 0, old one (LILO, Loadlin,
94 # Bootlin, SYSLX, bootsect...)
95 # See Documentation/i386/boot.txt for
96 # assigned ids
97
98# flags, unused bits must be zero (RFU) bit within loadflags
99loadflags:
100LOADED_HIGH = 1 # If set, the kernel is loaded high
101CAN_USE_HEAP = 0x80 # If set, the loader also has set
102 # heap_end_ptr to tell how much
103 # space behind setup.S can be used for
104 # heap purposes.
105 # Only the loader knows what is free
106#ifndef __BIG_KERNEL__
107 .byte 0
108#else
109 .byte LOADED_HIGH
110#endif
111
112setup_move_size: .word 0x8000 # size to move, when setup is not
113 # loaded at 0x90000. We will move setup
114 # to 0x90000 then just before jumping
115 # into the kernel. However, only the
116 # loader knows how much data behind
117 # us also needs to be loaded.
118
119code32_start: # here loaders can put a different
120 # start address for 32-bit code.
121#ifndef __BIG_KERNEL__
122 .long 0x1000 # 0x1000 = default for zImage
123#else
124 .long 0x100000 # 0x100000 = default for big kernel
125#endif
126
127ramdisk_image: .long 0 # address of loaded ramdisk image
128 # Here the loader puts the 32-bit
129 # address where it loaded the image.
130 # This only will be read by the kernel.
131
132ramdisk_size: .long 0 # its size in bytes
133
134bootsect_kludge:
135 .long 0 # obsolete
136
137heap_end_ptr: .word modelist+1024 # (Header version 0x0201 or later)
138 # space from here (exclusive) down to
139 # end of setup code can be used by setup
140 # for local heap purposes.
141
142pad1: .word 0
143cmd_line_ptr: .long 0 # (Header version 0x0202 or later)
144 # If nonzero, a 32-bit pointer
145 # to the kernel command line.
146 # The command line should be
147 # located between the start of
148 # setup and the end of low
149 # memory (0xa0000), or it may
150 # get overwritten before it
151 # gets read. If this field is
152 # used, there is no longer
153 # anything magical about the
154 # 0x90000 segment; the setup
155 # can be located anywhere in
156 # low memory 0x10000 or higher.
157
158ramdisk_max: .long 0xffffffff
159kernel_alignment: .long 0x200000 # physical addr alignment required for
160 # protected mode relocatable kernel
161#ifdef CONFIG_RELOCATABLE
162relocatable_kernel: .byte 1
163#else
164relocatable_kernel: .byte 0
165#endif
166pad2: .byte 0
167pad3: .word 0
168
169cmdline_size: .long COMMAND_LINE_SIZE-1 #length of the command line,
170 #added with boot protocol
171 #version 2.06
172
173trampoline: call start_of_setup
174 .align 16
175 # The offset at this point is 0x240
176 .space (0xeff-0x240+1) # E820 & EDD space (ending at 0xeff)
177# End of setup header #####################################################
178
179start_of_setup:
180# Bootlin depends on this being done early
181 movw $0x01500, %ax
182 movb $0x81, %dl
183 int $0x13
184
185#ifdef SAFE_RESET_DISK_CONTROLLER
186# Reset the disk controller.
187 movw $0x0000, %ax
188 movb $0x80, %dl
189 int $0x13
190#endif
191
192# Set %ds = %cs, we know that SETUPSEG = %cs at this point
193 movw %cs, %ax # aka SETUPSEG
194 movw %ax, %ds
195# Check signature at end of setup
196 cmpw $SIG1, setup_sig1
197 jne bad_sig
198
199 cmpw $SIG2, setup_sig2
200 jne bad_sig
201
202 jmp good_sig1
203
204# Routine to print asciiz string at ds:si
205prtstr:
206 lodsb
207 andb %al, %al
208 jz fin
209
210 call prtchr
211 jmp prtstr
212
213fin: ret
214
215# Space printing
216prtsp2: call prtspc # Print double space
217prtspc: movb $0x20, %al # Print single space (note: fall-thru)
218
219prtchr:
220 pushw %ax
221 pushw %cx
222 movw $0007,%bx
223 movw $0x01, %cx
224 movb $0x0e, %ah
225 int $0x10
226 popw %cx
227 popw %ax
228 ret
229
230beep: movb $0x07, %al
231 jmp prtchr
232
233no_sig_mess: .string "No setup signature found ..."
234
235good_sig1:
236 jmp good_sig
237
238# We now have to find the rest of the setup code/data
239bad_sig:
240 movw %cs, %ax # SETUPSEG
241 subw $DELTA_INITSEG, %ax # INITSEG
242 movw %ax, %ds
243 xorb %bh, %bh
244 movb (497), %bl # get setup sect from bootsect
245 subw $4, %bx # LILO loads 4 sectors of setup
246 shlw $8, %bx # convert to words (1sect=2^8 words)
247 movw %bx, %cx
248 shrw $3, %bx # convert to segment
249 addw $SYSSEG, %bx
250 movw %bx, %cs:start_sys_seg
251# Move rest of setup code/data to here
252 movw $2048, %di # four sectors loaded by LILO
253 subw %si, %si
254 movw %cs, %ax # aka SETUPSEG
255 movw %ax, %es
256 movw $SYSSEG, %ax
257 movw %ax, %ds
258 rep
259 movsw
260 movw %cs, %ax # aka SETUPSEG
261 movw %ax, %ds
262 cmpw $SIG1, setup_sig1
263 jne no_sig
264
265 cmpw $SIG2, setup_sig2
266 jne no_sig
267
268 jmp good_sig
269
270no_sig:
271 lea no_sig_mess, %si
272 call prtstr
273
274no_sig_loop:
275 jmp no_sig_loop
276
277good_sig:
278 movw %cs, %ax # aka SETUPSEG
279 subw $DELTA_INITSEG, %ax # aka INITSEG
280 movw %ax, %ds
281# Check if an old loader tries to load a big-kernel
282 testb $LOADED_HIGH, %cs:loadflags # Do we have a big kernel?
283 jz loader_ok # No, no danger for old loaders.
284
285 cmpb $0, %cs:type_of_loader # Do we have a loader that
286 # can deal with us?
287 jnz loader_ok # Yes, continue.
288
289 pushw %cs # No, we have an old loader,
290 popw %ds # die.
291 lea loader_panic_mess, %si
292 call prtstr
293
294 jmp no_sig_loop
295
296loader_panic_mess: .string "Wrong loader, giving up..."
297
298loader_ok:
299 /* check for long mode. */
300 /* we have to do this before the VESA setup, otherwise the user
301 can't see the error message. */
302
303 pushw %ds
304 movw %cs,%ax
305 movw %ax,%ds
306
307 call verify_cpu
308 testl %eax,%eax
309 jz sse_ok
310
311no_longmode:
312 call beep
313 lea long_mode_panic,%si
314 call prtstr
315no_longmode_loop:
316 jmp no_longmode_loop
317long_mode_panic:
318 .string "Your CPU does not support long mode. Use a 32bit distribution."
319 .byte 0
320
321#include "../kernel/verify_cpu.S"
322sse_ok:
323 popw %ds
324
325# tell BIOS we want to go to long mode
326 movl $0xec00,%eax # declare target operating mode
327 movl $2,%ebx # long mode
328 int $0x15
329
330# Get memory size (extended mem, kB)
331
332 xorl %eax, %eax
333 movl %eax, (0x1e0)
334#ifndef STANDARD_MEMORY_BIOS_CALL
335 movb %al, (E820NR)
336# Try three different memory detection schemes. First, try
337# e820h, which lets us assemble a memory map, then try e801h,
338# which returns a 32-bit memory size, and finally 88h, which
339# returns 0-64m
340
341# method E820H:
342# the memory map from hell. e820h returns memory classified into
343# a whole bunch of different types, and allows memory holes and
344# everything. We scan through this memory map and build a list
345# of the first 32 memory areas, which we return at [E820MAP].
346# This is documented at http://www.acpi.info/, in the ACPI 2.0 specification.
347
348#define SMAP 0x534d4150
349
350meme820:
351 xorl %ebx, %ebx # continuation counter
352 movw $E820MAP, %di # point into the whitelist
353 # so we can have the bios
354 # directly write into it.
355
356jmpe820:
357 movl $0x0000e820, %eax # e820, upper word zeroed
358 movl $SMAP, %edx # ascii 'SMAP'
359 movl $20, %ecx # size of the e820rec
360 pushw %ds # data record.
361 popw %es
362 int $0x15 # make the call
363 jc bail820 # fall to e801 if it fails
364
365 cmpl $SMAP, %eax # check the return is `SMAP'
366 jne bail820 # fall to e801 if it fails
367
368# cmpl $1, 16(%di) # is this usable memory?
369# jne again820
370
371 # If this is usable memory, we save it by simply advancing %di by
372 # sizeof(e820rec).
373 #
374good820:
375 movb (E820NR), %al # up to 128 entries
376 cmpb $E820MAX, %al
377 jae bail820
378
379 incb (E820NR)
380 movw %di, %ax
381 addw $20, %ax
382 movw %ax, %di
383again820:
384 cmpl $0, %ebx # check to see if
385 jne jmpe820 # %ebx is set to EOF
386bail820:
387
388
389# method E801H:
390# memory size is in 1k chunksizes, to avoid confusing loadlin.
391# we store the 0xe801 memory size in a completely different place,
392# because it will most likely be longer than 16 bits.
393# (use 1e0 because that's what Larry Augustine uses in his
394# alternative new memory detection scheme, and it's sensible
395# to write everything into the same place.)
396
397meme801:
398 stc # fix to work around buggy
399 xorw %cx,%cx # BIOSes which don't clear/set
400 xorw %dx,%dx # carry on pass/error of
401 # e801h memory size call
402 # or merely pass cx,dx though
403 # without changing them.
404 movw $0xe801, %ax
405 int $0x15
406 jc mem88
407
408 cmpw $0x0, %cx # Kludge to handle BIOSes
409 jne e801usecxdx # which report their extended
410 cmpw $0x0, %dx # memory in AX/BX rather than
411 jne e801usecxdx # CX/DX. The spec I have read
412 movw %ax, %cx # seems to indicate AX/BX
413 movw %bx, %dx # are more reasonable anyway...
414
415e801usecxdx:
416 andl $0xffff, %edx # clear sign extend
417 shll $6, %edx # and go from 64k to 1k chunks
418 movl %edx, (0x1e0) # store extended memory size
419 andl $0xffff, %ecx # clear sign extend
420 addl %ecx, (0x1e0) # and add lower memory into
421 # total size.
422
423# Ye Olde Traditional Methode. Returns the memory size (up to 16mb or
424# 64mb, depending on the bios) in ax.
425mem88:
426
427#endif
428 movb $0x88, %ah
429 int $0x15
430 movw %ax, (2)
431
432# Set the keyboard repeat rate to the max
433 movw $0x0305, %ax
434 xorw %bx, %bx
435 int $0x16
436
437# Check for video adapter and its parameters and allow the
438# user to browse video modes.
439 call video # NOTE: we need %ds pointing
440 # to bootsector
441
442# Get hd0 data...
443 xorw %ax, %ax
444 movw %ax, %ds
445 ldsw (4 * 0x41), %si
446 movw %cs, %ax # aka SETUPSEG
447 subw $DELTA_INITSEG, %ax # aka INITSEG
448 pushw %ax
449 movw %ax, %es
450 movw $0x0080, %di
451 movw $0x10, %cx
452 pushw %cx
453 cld
454 rep
455 movsb
456# Get hd1 data...
457 xorw %ax, %ax
458 movw %ax, %ds
459 ldsw (4 * 0x46), %si
460 popw %cx
461 popw %es
462 movw $0x0090, %di
463 rep
464 movsb
465# Check that there IS a hd1 :-)
466 movw $0x01500, %ax
467 movb $0x81, %dl
468 int $0x13
469 jc no_disk1
470
471 cmpb $3, %ah
472 je is_disk1
473
474no_disk1:
475 movw %cs, %ax # aka SETUPSEG
476 subw $DELTA_INITSEG, %ax # aka INITSEG
477 movw %ax, %es
478 movw $0x0090, %di
479 movw $0x10, %cx
480 xorw %ax, %ax
481 cld
482 rep
483 stosb
484is_disk1:
485
486# Check for PS/2 pointing device
487 movw %cs, %ax # aka SETUPSEG
488 subw $DELTA_INITSEG, %ax # aka INITSEG
489 movw %ax, %ds
490 movb $0, (0x1ff) # default is no pointing device
491 int $0x11 # int 0x11: equipment list
492 testb $0x04, %al # check if mouse installed
493 jz no_psmouse
494
495 movb $0xAA, (0x1ff) # device present
496no_psmouse:
497
498#include "../../i386/boot/edd.S"
499
500# Now we want to move to protected mode ...
501 cmpw $0, %cs:realmode_swtch
502 jz rmodeswtch_normal
503
504 lcall *%cs:realmode_swtch
505
506 jmp rmodeswtch_end
507
508rmodeswtch_normal:
509 pushw %cs
510 call default_switch
511
512rmodeswtch_end:
513# we get the code32 start address and modify the below 'jmpi'
514# (loader may have changed it)
515 movl %cs:code32_start, %eax
516 movl %eax, %cs:code32
517
518# Now we move the system to its rightful place ... but we check if we have a
519# big-kernel. In that case we *must* not move it ...
520 testb $LOADED_HIGH, %cs:loadflags
521 jz do_move0 # .. then we have a normal low
522 # loaded zImage
523 # .. or else we have a high
524 # loaded bzImage
525 jmp end_move # ... and we skip moving
526
527do_move0:
528 movw $0x100, %ax # start of destination segment
529 movw %cs, %bp # aka SETUPSEG
530 subw $DELTA_INITSEG, %bp # aka INITSEG
531 movw %cs:start_sys_seg, %bx # start of source segment
532 cld
533do_move:
534 movw %ax, %es # destination segment
535 incb %ah # instead of add ax,#0x100
536 movw %bx, %ds # source segment
537 addw $0x100, %bx
538 subw %di, %di
539 subw %si, %si
540 movw $0x800, %cx
541 rep
542 movsw
543 cmpw %bp, %bx # assume start_sys_seg > 0x200,
544 # so we will perhaps read one
545 # page more than needed, but
546 # never overwrite INITSEG
547 # because destination is a
548 # minimum one page below source
549 jb do_move
550
551end_move:
552# then we load the segment descriptors
553 movw %cs, %ax # aka SETUPSEG
554 movw %ax, %ds
555
556# Check whether we need to be downward compatible with version <=201
557 cmpl $0, cmd_line_ptr
558 jne end_move_self # loader uses version >=202 features
559 cmpb $0x20, type_of_loader
560 je end_move_self # bootsect loader, we know of it
561
562# Boot loader doesnt support boot protocol version 2.02.
563# If we have our code not at 0x90000, we need to move it there now.
564# We also then need to move the params behind it (commandline)
565# Because we would overwrite the code on the current IP, we move
566# it in two steps, jumping high after the first one.
567 movw %cs, %ax
568 cmpw $SETUPSEG, %ax
569 je end_move_self
570
571 cli # make sure we really have
572 # interrupts disabled !
573 # because after this the stack
574 # should not be used
575 subw $DELTA_INITSEG, %ax # aka INITSEG
576 movw %ss, %dx
577 cmpw %ax, %dx
578 jb move_self_1
579
580 addw $INITSEG, %dx
581 subw %ax, %dx # this will go into %ss after
582 # the move
583move_self_1:
584 movw %ax, %ds
585 movw $INITSEG, %ax # real INITSEG
586 movw %ax, %es
587 movw %cs:setup_move_size, %cx
588 std # we have to move up, so we use
589 # direction down because the
590 # areas may overlap
591 movw %cx, %di
592 decw %di
593 movw %di, %si
594 subw $move_self_here+0x200, %cx
595 rep
596 movsb
597 ljmp $SETUPSEG, $move_self_here
598
599move_self_here:
600 movw $move_self_here+0x200, %cx
601 rep
602 movsb
603 movw $SETUPSEG, %ax
604 movw %ax, %ds
605 movw %dx, %ss
606end_move_self: # now we are at the right place
607 lidt idt_48 # load idt with 0,0
608 xorl %eax, %eax # Compute gdt_base
609 movw %ds, %ax # (Convert %ds:gdt to a linear ptr)
610 shll $4, %eax
611 addl $gdt, %eax
612 movl %eax, (gdt_48+2)
613 lgdt gdt_48 # load gdt with whatever is
614 # appropriate
615
616# that was painless, now we enable a20
617 call empty_8042
618
619 movb $0xD1, %al # command write
620 outb %al, $0x64
621 call empty_8042
622
623 movb $0xDF, %al # A20 on
624 outb %al, $0x60
625 call empty_8042
626
627#
628# You must preserve the other bits here. Otherwise embarrasing things
629# like laptops powering off on boot happen. Corrected version by Kira
630# Brown from Linux 2.2
631#
632 inb $0x92, %al #
633 orb $02, %al # "fast A20" version
634 outb %al, $0x92 # some chips have only this
635
636# wait until a20 really *is* enabled; it can take a fair amount of
637# time on certain systems; Toshiba Tecras are known to have this
638# problem. The memory location used here (0x200) is the int 0x80
639# vector, which should be safe to use.
640
641 xorw %ax, %ax # segment 0x0000
642 movw %ax, %fs
643 decw %ax # segment 0xffff (HMA)
644 movw %ax, %gs
645a20_wait:
646 incw %ax # unused memory location <0xfff0
647 movw %ax, %fs:(0x200) # we use the "int 0x80" vector
648 cmpw %gs:(0x210), %ax # and its corresponding HMA addr
649 je a20_wait # loop until no longer aliased
650
651# make sure any possible coprocessor is properly reset..
652 xorw %ax, %ax
653 outb %al, $0xf0
654 call delay
655
656 outb %al, $0xf1
657 call delay
658
659# well, that went ok, I hope. Now we mask all interrupts - the rest
660# is done in init_IRQ().
661 movb $0xFF, %al # mask all interrupts for now
662 outb %al, $0xA1
663 call delay
664
665 movb $0xFB, %al # mask all irq's but irq2 which
666 outb %al, $0x21 # is cascaded
667
668# Well, that certainly wasn't fun :-(. Hopefully it works, and we don't
669# need no steenking BIOS anyway (except for the initial loading :-).
670# The BIOS-routine wants lots of unnecessary data, and it's less
671# "interesting" anyway. This is how REAL programmers do it.
672#
673# Well, now's the time to actually move into protected mode. To make
674# things as simple as possible, we do no register set-up or anything,
675# we let the gnu-compiled 32-bit programs do that. We just jump to
676# absolute address 0x1000 (or the loader supplied one),
677# in 32-bit protected mode.
678#
679# Note that the short jump isn't strictly needed, although there are
680# reasons why it might be a good idea. It won't hurt in any case.
681 movw $1, %ax # protected mode (PE) bit
682 lmsw %ax # This is it!
683 jmp flush_instr
684
685flush_instr:
686 xorw %bx, %bx # Flag to indicate a boot
687 xorl %esi, %esi # Pointer to real-mode code
688 movw %cs, %si
689 subw $DELTA_INITSEG, %si
690 shll $4, %esi # Convert to 32-bit pointer
691# NOTE: For high loaded big kernels we need a
692# jmpi 0x100000,__KERNEL_CS
693#
694# but we yet haven't reloaded the CS register, so the default size
695# of the target offset still is 16 bit.
696# However, using an operand prefix (0x66), the CPU will properly
697# take our 48 bit far pointer. (INTeL 80386 Programmer's Reference
698# Manual, Mixing 16-bit and 32-bit code, page 16-6)
699
700 .byte 0x66, 0xea # prefix + jmpi-opcode
701code32: .long 0x1000 # will be set to 0x100000
702 # for big kernels
703 .word __KERNEL_CS
704
705# Here's a bunch of information about your current kernel..
706kernel_version: .ascii UTS_RELEASE
707 .ascii " ("
708 .ascii LINUX_COMPILE_BY
709 .ascii "@"
710 .ascii LINUX_COMPILE_HOST
711 .ascii ") "
712 .ascii UTS_VERSION
713 .byte 0
714
715# This is the default real mode switch routine.
716# to be called just before protected mode transition
717default_switch:
718 cli # no interrupts allowed !
719 movb $0x80, %al # disable NMI for bootup
720 # sequence
721 outb %al, $0x70
722 lret
723
724
725# This routine checks that the keyboard command queue is empty
726# (after emptying the output buffers)
727#
728# Some machines have delusions that the keyboard buffer is always full
729# with no keyboard attached...
730#
731# If there is no keyboard controller, we will usually get 0xff
732# to all the reads. With each IO taking a microsecond and
733# a timeout of 100,000 iterations, this can take about half a
734# second ("delay" == outb to port 0x80). That should be ok,
735# and should also be plenty of time for a real keyboard controller
736# to empty.
737#
738
739empty_8042:
740 pushl %ecx
741 movl $100000, %ecx
742
743empty_8042_loop:
744 decl %ecx
745 jz empty_8042_end_loop
746
747 call delay
748
749 inb $0x64, %al # 8042 status port
750 testb $1, %al # output buffer?
751 jz no_output
752
753 call delay
754 inb $0x60, %al # read it
755 jmp empty_8042_loop
756
757no_output:
758 testb $2, %al # is input buffer full?
759 jnz empty_8042_loop # yes - loop
760empty_8042_end_loop:
761 popl %ecx
762 ret
763
764# Read the cmos clock. Return the seconds in al
765gettime:
766 pushw %cx
767 movb $0x02, %ah
768 int $0x1a
769 movb %dh, %al # %dh contains the seconds
770 andb $0x0f, %al
771 movb %dh, %ah
772 movb $0x04, %cl
773 shrb %cl, %ah
774 aad
775 popw %cx
776 ret
777
778# Delay is needed after doing I/O
779delay:
780 outb %al,$0x80
781 ret
782
783# Descriptor tables
784gdt:
785 .word 0, 0, 0, 0 # dummy
786
787 .word 0, 0, 0, 0 # unused
788
789 .word 0xFFFF # 4Gb - (0x100000*0x1000 = 4Gb)
790 .word 0 # base address = 0
791 .word 0x9A00 # code read/exec
792 .word 0x00CF # granularity = 4096, 386
793 # (+5th nibble of limit)
794
795 .word 0xFFFF # 4Gb - (0x100000*0x1000 = 4Gb)
796 .word 0 # base address = 0
797 .word 0x9200 # data read/write
798 .word 0x00CF # granularity = 4096, 386
799 # (+5th nibble of limit)
800gdt_end:
801idt_48:
802 .word 0 # idt limit = 0
803 .word 0, 0 # idt base = 0L
804gdt_48:
805 .word gdt_end-gdt-1 # gdt limit
806 .word 0, 0 # gdt base (filled in later)
807
808# Include video setup & detection code
809
810#include "../../i386/boot/video.S"
811
812# Setup signature -- must be last
813setup_sig1: .word SIG1
814setup_sig2: .word SIG2
815
816# After this point, there is some free space which is used by the video mode
817# handling code to store the temporary mode table (not used by the kernel).
818
819modelist:
820
821.text
822endtext:
823.data
824enddata:
825.bss
826endbss:
diff --git a/arch/x86_64/boot/tools/build.c b/arch/x86_64/boot/tools/build.c
deleted file mode 100644
index eae86691709a..000000000000
--- a/arch/x86_64/boot/tools/build.c
+++ /dev/null
@@ -1,185 +0,0 @@
1/*
2 * Copyright (C) 1991, 1992 Linus Torvalds
3 * Copyright (C) 1997 Martin Mares
4 */
5
6/*
7 * This file builds a disk-image from three different files:
8 *
9 * - bootsect: compatibility mbr which prints an error message if
10 * someone tries to boot the kernel directly.
11 * - setup: 8086 machine code, sets up system parm
12 * - system: 80386 code for actual system
13 *
14 * It does some checking that all files are of the correct type, and
15 * just writes the result to stdout, removing headers and padding to
16 * the right amount. It also writes some system data to stderr.
17 */
18
19/*
20 * Changes by tytso to allow root device specification
21 * High loaded stuff by Hans Lermen & Werner Almesberger, Feb. 1996
22 * Cross compiling fixes by Gertjan van Wingerde, July 1996
23 * Rewritten by Martin Mares, April 1997
24 */
25
26#include <stdio.h>
27#include <string.h>
28#include <stdlib.h>
29#include <stdarg.h>
30#include <sys/types.h>
31#include <sys/stat.h>
32#include <sys/sysmacros.h>
33#include <unistd.h>
34#include <fcntl.h>
35#include <asm/boot.h>
36
37typedef unsigned char byte;
38typedef unsigned short word;
39typedef unsigned long u32;
40
41#define DEFAULT_MAJOR_ROOT 0
42#define DEFAULT_MINOR_ROOT 0
43
44/* Minimal number of setup sectors (see also bootsect.S) */
45#define SETUP_SECTS 4
46
47byte buf[1024];
48int fd;
49int is_big_kernel;
50
51void die(const char * str, ...)
52{
53 va_list args;
54 va_start(args, str);
55 vfprintf(stderr, str, args);
56 fputc('\n', stderr);
57 exit(1);
58}
59
60void file_open(const char *name)
61{
62 if ((fd = open(name, O_RDONLY, 0)) < 0)
63 die("Unable to open `%s': %m", name);
64}
65
66void usage(void)
67{
68 die("Usage: build [-b] bootsect setup system [rootdev] [> image]");
69}
70
71int main(int argc, char ** argv)
72{
73 unsigned int i, c, sz, setup_sectors;
74 u32 sys_size;
75 byte major_root, minor_root;
76 struct stat sb;
77
78 if (argc > 2 && !strcmp(argv[1], "-b"))
79 {
80 is_big_kernel = 1;
81 argc--, argv++;
82 }
83 if ((argc < 4) || (argc > 5))
84 usage();
85 if (argc > 4) {
86 if (!strcmp(argv[4], "CURRENT")) {
87 if (stat("/", &sb)) {
88 perror("/");
89 die("Couldn't stat /");
90 }
91 major_root = major(sb.st_dev);
92 minor_root = minor(sb.st_dev);
93 } else if (strcmp(argv[4], "FLOPPY")) {
94 if (stat(argv[4], &sb)) {
95 perror(argv[4]);
96 die("Couldn't stat root device.");
97 }
98 major_root = major(sb.st_rdev);
99 minor_root = minor(sb.st_rdev);
100 } else {
101 major_root = 0;
102 minor_root = 0;
103 }
104 } else {
105 major_root = DEFAULT_MAJOR_ROOT;
106 minor_root = DEFAULT_MINOR_ROOT;
107 }
108 fprintf(stderr, "Root device is (%d, %d)\n", major_root, minor_root);
109
110 file_open(argv[1]);
111 i = read(fd, buf, sizeof(buf));
112 fprintf(stderr,"Boot sector %d bytes.\n",i);
113 if (i != 512)
114 die("Boot block must be exactly 512 bytes");
115 if (buf[510] != 0x55 || buf[511] != 0xaa)
116 die("Boot block hasn't got boot flag (0xAA55)");
117 buf[508] = minor_root;
118 buf[509] = major_root;
119 if (write(1, buf, 512) != 512)
120 die("Write call failed");
121 close (fd);
122
123 file_open(argv[2]); /* Copy the setup code */
124 for (i=0 ; (c=read(fd, buf, sizeof(buf)))>0 ; i+=c )
125 if (write(1, buf, c) != c)
126 die("Write call failed");
127 if (c != 0)
128 die("read-error on `setup'");
129 close (fd);
130
131 setup_sectors = (i + 511) / 512; /* Pad unused space with zeros */
132 /* for compatibility with ancient versions of LILO. */
133 if (setup_sectors < SETUP_SECTS)
134 setup_sectors = SETUP_SECTS;
135 fprintf(stderr, "Setup is %d bytes.\n", i);
136 memset(buf, 0, sizeof(buf));
137 while (i < setup_sectors * 512) {
138 c = setup_sectors * 512 - i;
139 if (c > sizeof(buf))
140 c = sizeof(buf);
141 if (write(1, buf, c) != c)
142 die("Write call failed");
143 i += c;
144 }
145
146 file_open(argv[3]);
147 if (fstat (fd, &sb))
148 die("Unable to stat `%s': %m", argv[3]);
149 sz = sb.st_size;
150 fprintf (stderr, "System is %d kB\n", sz/1024);
151 sys_size = (sz + 15) / 16;
152 if (!is_big_kernel && sys_size > DEF_SYSSIZE)
153 die("System is too big. Try using bzImage or modules.");
154 while (sz > 0) {
155 int l, n;
156
157 l = (sz > sizeof(buf)) ? sizeof(buf) : sz;
158 if ((n=read(fd, buf, l)) != l) {
159 if (n < 0)
160 die("Error reading %s: %m", argv[3]);
161 else
162 die("%s: Unexpected EOF", argv[3]);
163 }
164 if (write(1, buf, l) != l)
165 die("Write failed");
166 sz -= l;
167 }
168 close(fd);
169
170 if (lseek(1, 497, SEEK_SET) != 497) /* Write sizes to the bootsector */
171 die("Output: seek failed");
172 buf[0] = setup_sectors;
173 if (write(1, buf, 1) != 1)
174 die("Write of setup sector count failed");
175 if (lseek(1, 500, SEEK_SET) != 500)
176 die("Output: seek failed");
177 buf[0] = (sys_size & 0xff);
178 buf[1] = ((sys_size >> 8) & 0xff);
179 buf[2] = ((sys_size >> 16) & 0xff);
180 buf[3] = ((sys_size >> 24) & 0xff);
181 if (write(1, buf, 4) != 4)
182 die("Write of image length failed");
183
184 return 0; /* Everything is OK */
185}
diff --git a/arch/x86_64/kernel/Makefile b/arch/x86_64/kernel/Makefile
index de1de8a2fd84..47f1dc30bf56 100644
--- a/arch/x86_64/kernel/Makefile
+++ b/arch/x86_64/kernel/Makefile
@@ -44,6 +44,7 @@ obj-$(CONFIG_PCI) += early-quirks.o
44 44
45obj-y += topology.o 45obj-y += topology.o
46obj-y += intel_cacheinfo.o 46obj-y += intel_cacheinfo.o
47obj-y += addon_cpuid_features.o
47obj-y += pcspeaker.o 48obj-y += pcspeaker.o
48 49
49CFLAGS_vsyscall.o := $(PROFILING) -g0 50CFLAGS_vsyscall.o := $(PROFILING) -g0
@@ -55,6 +56,7 @@ cpuid-$(subst m,y,$(CONFIG_X86_CPUID)) += ../../i386/kernel/cpuid.o
55topology-y += ../../i386/kernel/topology.o 56topology-y += ../../i386/kernel/topology.o
56microcode-$(subst m,y,$(CONFIG_MICROCODE)) += ../../i386/kernel/microcode.o 57microcode-$(subst m,y,$(CONFIG_MICROCODE)) += ../../i386/kernel/microcode.o
57intel_cacheinfo-y += ../../i386/kernel/cpu/intel_cacheinfo.o 58intel_cacheinfo-y += ../../i386/kernel/cpu/intel_cacheinfo.o
59addon_cpuid_features-y += ../../i386/kernel/cpu/addon_cpuid_features.o
58quirks-y += ../../i386/kernel/quirks.o 60quirks-y += ../../i386/kernel/quirks.o
59i8237-y += ../../i386/kernel/i8237.o 61i8237-y += ../../i386/kernel/i8237.o
60msr-$(subst m,y,$(CONFIG_X86_MSR)) += ../../i386/kernel/msr.o 62msr-$(subst m,y,$(CONFIG_X86_MSR)) += ../../i386/kernel/msr.o
diff --git a/arch/x86_64/kernel/entry.S b/arch/x86_64/kernel/entry.S
index fa984b53e7e6..a67f87bf4015 100644
--- a/arch/x86_64/kernel/entry.S
+++ b/arch/x86_64/kernel/entry.S
@@ -1163,3 +1163,10 @@ ENTRY(call_softirq)
1163 ret 1163 ret
1164 CFI_ENDPROC 1164 CFI_ENDPROC
1165ENDPROC(call_softirq) 1165ENDPROC(call_softirq)
1166
1167KPROBE_ENTRY(ignore_sysret)
1168 CFI_STARTPROC
1169 mov $-ENOSYS,%eax
1170 sysret
1171 CFI_ENDPROC
1172ENDPROC(ignore_sysret)
diff --git a/arch/x86_64/kernel/io_apic.c b/arch/x86_64/kernel/io_apic.c
index d8bfe315471c..1c6c6f724573 100644
--- a/arch/x86_64/kernel/io_apic.c
+++ b/arch/x86_64/kernel/io_apic.c
@@ -1492,6 +1492,7 @@ static void ack_lapic_irq (unsigned int irq)
1492static void end_lapic_irq (unsigned int i) { /* nothing */ } 1492static void end_lapic_irq (unsigned int i) { /* nothing */ }
1493 1493
1494static struct hw_interrupt_type lapic_irq_type __read_mostly = { 1494static struct hw_interrupt_type lapic_irq_type __read_mostly = {
1495 .name = "local-APIC",
1495 .typename = "local-APIC-edge", 1496 .typename = "local-APIC-edge",
1496 .startup = NULL, /* startup_irq() not used for IRQ0 */ 1497 .startup = NULL, /* startup_irq() not used for IRQ0 */
1497 .shutdown = NULL, /* shutdown_irq() not used for IRQ0 */ 1498 .shutdown = NULL, /* shutdown_irq() not used for IRQ0 */
diff --git a/arch/x86_64/kernel/irq.c b/arch/x86_64/kernel/irq.c
index 3eaceac32481..39cb3fa83ebb 100644
--- a/arch/x86_64/kernel/irq.c
+++ b/arch/x86_64/kernel/irq.c
@@ -144,17 +144,43 @@ void fixup_irqs(cpumask_t map)
144 144
145 for (irq = 0; irq < NR_IRQS; irq++) { 145 for (irq = 0; irq < NR_IRQS; irq++) {
146 cpumask_t mask; 146 cpumask_t mask;
147 int break_affinity = 0;
148 int set_affinity = 1;
149
147 if (irq == 2) 150 if (irq == 2)
148 continue; 151 continue;
149 152
153 /* interrupt's are disabled at this point */
154 spin_lock(&irq_desc[irq].lock);
155
156 if (!irq_has_action(irq) ||
157 cpus_equal(irq_desc[irq].affinity, map)) {
158 spin_unlock(&irq_desc[irq].lock);
159 continue;
160 }
161
150 cpus_and(mask, irq_desc[irq].affinity, map); 162 cpus_and(mask, irq_desc[irq].affinity, map);
151 if (any_online_cpu(mask) == NR_CPUS) { 163 if (cpus_empty(mask)) {
152 printk("Breaking affinity for irq %i\n", irq); 164 break_affinity = 1;
153 mask = map; 165 mask = map;
154 } 166 }
167
168 if (irq_desc[irq].chip->mask)
169 irq_desc[irq].chip->mask(irq);
170
155 if (irq_desc[irq].chip->set_affinity) 171 if (irq_desc[irq].chip->set_affinity)
156 irq_desc[irq].chip->set_affinity(irq, mask); 172 irq_desc[irq].chip->set_affinity(irq, mask);
157 else if (irq_desc[irq].action && !(warned++)) 173 else if (!(warned++))
174 set_affinity = 0;
175
176 if (irq_desc[irq].chip->unmask)
177 irq_desc[irq].chip->unmask(irq);
178
179 spin_unlock(&irq_desc[irq].lock);
180
181 if (break_affinity && set_affinity)
182 printk("Broke affinity for irq %i\n", irq);
183 else if (!set_affinity)
158 printk("Cannot set affinity for irq %i\n", irq); 184 printk("Cannot set affinity for irq %i\n", irq);
159 } 185 }
160 186
diff --git a/arch/x86_64/kernel/mce.c b/arch/x86_64/kernel/mce.c
index a14375dd5425..aa1d15991794 100644
--- a/arch/x86_64/kernel/mce.c
+++ b/arch/x86_64/kernel/mce.c
@@ -497,15 +497,17 @@ static ssize_t mce_read(struct file *filp, char __user *ubuf, size_t usize, loff
497 for (i = 0; i < next; i++) { 497 for (i = 0; i < next; i++) {
498 unsigned long start = jiffies; 498 unsigned long start = jiffies;
499 while (!mcelog.entry[i].finished) { 499 while (!mcelog.entry[i].finished) {
500 if (!time_before(jiffies, start + 2)) { 500 if (time_after_eq(jiffies, start + 2)) {
501 memset(mcelog.entry + i,0, sizeof(struct mce)); 501 memset(mcelog.entry + i,0, sizeof(struct mce));
502 continue; 502 goto timeout;
503 } 503 }
504 cpu_relax(); 504 cpu_relax();
505 } 505 }
506 smp_rmb(); 506 smp_rmb();
507 err |= copy_to_user(buf, mcelog.entry + i, sizeof(struct mce)); 507 err |= copy_to_user(buf, mcelog.entry + i, sizeof(struct mce));
508 buf += sizeof(struct mce); 508 buf += sizeof(struct mce);
509 timeout:
510 ;
509 } 511 }
510 512
511 memset(mcelog.entry, 0, next * sizeof(struct mce)); 513 memset(mcelog.entry, 0, next * sizeof(struct mce));
diff --git a/arch/x86_64/kernel/pci-dma.c b/arch/x86_64/kernel/pci-dma.c
index 9f80aad3fe2d..90f6315d02d4 100644
--- a/arch/x86_64/kernel/pci-dma.c
+++ b/arch/x86_64/kernel/pci-dma.c
@@ -22,8 +22,7 @@ EXPORT_SYMBOL(bad_dma_address);
22int iommu_bio_merge __read_mostly = 0; 22int iommu_bio_merge __read_mostly = 0;
23EXPORT_SYMBOL(iommu_bio_merge); 23EXPORT_SYMBOL(iommu_bio_merge);
24 24
25int iommu_sac_force __read_mostly = 0; 25static int iommu_sac_force __read_mostly = 0;
26EXPORT_SYMBOL(iommu_sac_force);
27 26
28int no_iommu __read_mostly; 27int no_iommu __read_mostly;
29#ifdef CONFIG_IOMMU_DEBUG 28#ifdef CONFIG_IOMMU_DEBUG
diff --git a/arch/x86_64/kernel/setup.c b/arch/x86_64/kernel/setup.c
index eb6524f3ac29..33ef718f8cb5 100644
--- a/arch/x86_64/kernel/setup.c
+++ b/arch/x86_64/kernel/setup.c
@@ -846,6 +846,8 @@ void __cpuinit identify_cpu(struct cpuinfo_x86 *c)
846 c->x86_capability[2] = cpuid_edx(0x80860001); 846 c->x86_capability[2] = cpuid_edx(0x80860001);
847 } 847 }
848 848
849 init_scattered_cpuid_features(c);
850
849 c->apicid = phys_pkg_id(0); 851 c->apicid = phys_pkg_id(0);
850 852
851 /* 853 /*
@@ -931,7 +933,7 @@ static int show_cpuinfo(struct seq_file *m, void *v)
931 "fpu", "vme", "de", "pse", "tsc", "msr", "pae", "mce", 933 "fpu", "vme", "de", "pse", "tsc", "msr", "pae", "mce",
932 "cx8", "apic", NULL, "sep", "mtrr", "pge", "mca", "cmov", 934 "cx8", "apic", NULL, "sep", "mtrr", "pge", "mca", "cmov",
933 "pat", "pse36", "pn", "clflush", NULL, "dts", "acpi", "mmx", 935 "pat", "pse36", "pn", "clflush", NULL, "dts", "acpi", "mmx",
934 "fxsr", "sse", "sse2", "ss", "ht", "tm", "ia64", NULL, 936 "fxsr", "sse", "sse2", "ss", "ht", "tm", "ia64", "pbe",
935 937
936 /* AMD-defined */ 938 /* AMD-defined */
937 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 939 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
@@ -947,10 +949,11 @@ static int show_cpuinfo(struct seq_file *m, void *v)
947 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 949 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
948 950
949 /* Other (Linux-defined) */ 951 /* Other (Linux-defined) */
950 "cxmmx", NULL, "cyrix_arr", "centaur_mcr", NULL, 952 "cxmmx", "k6_mtrr", "cyrix_arr", "centaur_mcr",
951 "constant_tsc", NULL, NULL, 953 NULL, NULL, NULL, NULL,
952 "up", NULL, NULL, NULL, NULL, NULL, NULL, NULL, 954 "constant_tsc", "up", NULL, "arch_perfmon",
953 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 955 "pebs", "bts", NULL, "sync_rdtsc",
956 "rep_good", NULL, NULL, NULL, NULL, NULL, NULL, NULL,
954 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 957 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
955 958
956 /* Intel-defined (#2) */ 959 /* Intel-defined (#2) */
@@ -961,7 +964,7 @@ static int show_cpuinfo(struct seq_file *m, void *v)
961 964
962 /* VIA/Cyrix/Centaur-defined */ 965 /* VIA/Cyrix/Centaur-defined */
963 NULL, NULL, "rng", "rng_en", NULL, NULL, "ace", "ace_en", 966 NULL, NULL, "rng", "rng_en", NULL, NULL, "ace", "ace_en",
964 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 967 "ace2", "ace2_en", "phe", "phe_en", "pmm", "pmm_en", NULL, NULL,
965 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 968 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
966 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 969 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
967 970
@@ -972,6 +975,12 @@ static int show_cpuinfo(struct seq_file *m, void *v)
972 "osvw", "ibs", NULL, NULL, NULL, NULL, 975 "osvw", "ibs", NULL, NULL, NULL, NULL,
973 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 976 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
974 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 977 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
978
979 /* Auxiliary (Linux-defined) */
980 "ida", NULL, NULL, NULL, NULL, NULL, NULL, NULL,
981 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
982 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
983 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
975 }; 984 };
976 static char *x86_power_flags[] = { 985 static char *x86_power_flags[] = {
977 "ts", /* temperature sensor */ 986 "ts", /* temperature sensor */
diff --git a/arch/x86_64/kernel/setup64.c b/arch/x86_64/kernel/setup64.c
index 64379a80d763..1200aaac403e 100644
--- a/arch/x86_64/kernel/setup64.c
+++ b/arch/x86_64/kernel/setup64.c
@@ -150,6 +150,8 @@ void pda_init(int cpu)
150char boot_exception_stacks[(N_EXCEPTION_STACKS - 1) * EXCEPTION_STKSZ + DEBUG_STKSZ] 150char boot_exception_stacks[(N_EXCEPTION_STACKS - 1) * EXCEPTION_STKSZ + DEBUG_STKSZ]
151__attribute__((section(".bss.page_aligned"))); 151__attribute__((section(".bss.page_aligned")));
152 152
153extern asmlinkage void ignore_sysret(void);
154
153/* May not be marked __init: used by software suspend */ 155/* May not be marked __init: used by software suspend */
154void syscall_init(void) 156void syscall_init(void)
155{ 157{
@@ -160,6 +162,7 @@ void syscall_init(void)
160 */ 162 */
161 wrmsrl(MSR_STAR, ((u64)__USER32_CS)<<48 | ((u64)__KERNEL_CS)<<32); 163 wrmsrl(MSR_STAR, ((u64)__USER32_CS)<<48 | ((u64)__KERNEL_CS)<<32);
162 wrmsrl(MSR_LSTAR, system_call); 164 wrmsrl(MSR_LSTAR, system_call);
165 wrmsrl(MSR_CSTAR, ignore_sysret);
163 166
164#ifdef CONFIG_IA32_EMULATION 167#ifdef CONFIG_IA32_EMULATION
165 syscall32_cpu_init (); 168 syscall32_cpu_init ();
diff --git a/arch/x86_64/kernel/verify_cpu.S b/arch/x86_64/kernel/verify_cpu.S
index e035f5948199..45b6f8a975a1 100644
--- a/arch/x86_64/kernel/verify_cpu.S
+++ b/arch/x86_64/kernel/verify_cpu.S
@@ -37,20 +37,6 @@ verify_cpu:
37 pushl $0 # Kill any dangerous flags 37 pushl $0 # Kill any dangerous flags
38 popfl 38 popfl
39 39
40 /* minimum CPUID flags for x86-64 as defined by AMD */
41#define M(x) (1<<(x))
42#define M2(a,b) M(a)|M(b)
43#define M4(a,b,c,d) M(a)|M(b)|M(c)|M(d)
44
45#define SSE_MASK \
46 (M2(X86_FEATURE_XMM,X86_FEATURE_XMM2))
47#define REQUIRED_MASK1 \
48 (M4(X86_FEATURE_FPU,X86_FEATURE_PSE,X86_FEATURE_TSC,X86_FEATURE_MSR)|\
49 M4(X86_FEATURE_PAE,X86_FEATURE_CX8,X86_FEATURE_PGE,X86_FEATURE_CMOV)|\
50 M(X86_FEATURE_FXSR))
51#define REQUIRED_MASK2 \
52 (M(X86_FEATURE_LM - 32))
53
54 pushfl # standard way to check for cpuid 40 pushfl # standard way to check for cpuid
55 popl %eax 41 popl %eax
56 movl %eax,%ebx 42 movl %eax,%ebx
@@ -79,8 +65,8 @@ verify_cpu:
79verify_cpu_noamd: 65verify_cpu_noamd:
80 movl $0x1,%eax # Does the cpu have what it takes 66 movl $0x1,%eax # Does the cpu have what it takes
81 cpuid 67 cpuid
82 andl $REQUIRED_MASK1,%edx 68 andl $REQUIRED_MASK0,%edx
83 xorl $REQUIRED_MASK1,%edx 69 xorl $REQUIRED_MASK0,%edx
84 jnz verify_cpu_no_longmode 70 jnz verify_cpu_no_longmode
85 71
86 movl $0x80000000,%eax # See if extended cpuid is implemented 72 movl $0x80000000,%eax # See if extended cpuid is implemented
@@ -90,8 +76,8 @@ verify_cpu_noamd:
90 76
91 movl $0x80000001,%eax # Does the cpu have what it takes 77 movl $0x80000001,%eax # Does the cpu have what it takes
92 cpuid 78 cpuid
93 andl $REQUIRED_MASK2,%edx 79 andl $REQUIRED_MASK1,%edx
94 xorl $REQUIRED_MASK2,%edx 80 xorl $REQUIRED_MASK1,%edx
95 jnz verify_cpu_no_longmode 81 jnz verify_cpu_no_longmode
96 82
97verify_cpu_sse_test: 83verify_cpu_sse_test:
diff --git a/arch/x86_64/mm/init.c b/arch/x86_64/mm/init.c
index efb6e845114e..9a0e98accf04 100644
--- a/arch/x86_64/mm/init.c
+++ b/arch/x86_64/mm/init.c
@@ -605,6 +605,11 @@ void mark_rodata_ro(void)
605 if (num_possible_cpus() > 1) 605 if (num_possible_cpus() > 1)
606 start = (unsigned long)_etext; 606 start = (unsigned long)_etext;
607#endif 607#endif
608
609#ifdef CONFIG_KPROBES
610 start = (unsigned long)__start_rodata;
611#endif
612
608 end = (unsigned long)__end_rodata; 613 end = (unsigned long)__end_rodata;
609 start = (start + PAGE_SIZE - 1) & PAGE_MASK; 614 start = (start + PAGE_SIZE - 1) & PAGE_MASK;
610 end &= PAGE_MASK; 615 end &= PAGE_MASK;