aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mips
diff options
context:
space:
mode:
Diffstat (limited to 'arch/mips')
-rw-r--r--arch/mips/Kconfig171
-rw-r--r--arch/mips/Kconfig.debug8
-rw-r--r--arch/mips/Makefile17
-rw-r--r--arch/mips/au1000/common/Makefile2
-rw-r--r--arch/mips/au1000/common/int-handler.S68
-rw-r--r--arch/mips/au1000/common/irq.c21
-rw-r--r--arch/mips/au1000/common/prom.c24
-rw-r--r--arch/mips/au1000/common/sleeper.S5
-rw-r--r--arch/mips/au1000/common/time.c1
-rw-r--r--arch/mips/cobalt/Makefile2
-rw-r--r--arch/mips/cobalt/int-handler.S25
-rw-r--r--arch/mips/cobalt/irq.c6
-rw-r--r--arch/mips/configs/atlas_defconfig83
-rw-r--r--arch/mips/configs/bigsur_defconfig64
-rw-r--r--arch/mips/configs/capcella_defconfig143
-rw-r--r--arch/mips/configs/cobalt_defconfig68
-rw-r--r--arch/mips/configs/db1000_defconfig70
-rw-r--r--arch/mips/configs/db1100_defconfig71
-rw-r--r--arch/mips/configs/db1200_defconfig68
-rw-r--r--arch/mips/configs/db1500_defconfig105
-rw-r--r--arch/mips/configs/db1550_defconfig73
-rw-r--r--arch/mips/configs/ddb5476_defconfig69
-rw-r--r--arch/mips/configs/ddb5477_defconfig67
-rw-r--r--arch/mips/configs/decstation_defconfig69
-rw-r--r--arch/mips/configs/e55_defconfig288
-rw-r--r--arch/mips/configs/ev64120_defconfig67
-rw-r--r--arch/mips/configs/ev96100_defconfig64
-rw-r--r--arch/mips/configs/ip22_defconfig77
-rw-r--r--arch/mips/configs/ip27_defconfig54
-rw-r--r--arch/mips/configs/ip32_defconfig67
-rw-r--r--arch/mips/configs/it8172_defconfig66
-rw-r--r--arch/mips/configs/ivr_defconfig67
-rw-r--r--arch/mips/configs/jaguar-atx_defconfig56
-rw-r--r--arch/mips/configs/jmr3927_defconfig72
-rw-r--r--arch/mips/configs/lasat200_defconfig69
-rw-r--r--arch/mips/configs/malta_defconfig86
-rw-r--r--arch/mips/configs/mipssim_defconfig64
-rw-r--r--arch/mips/configs/mpc30x_defconfig95
-rw-r--r--arch/mips/configs/ocelot_3_defconfig72
-rw-r--r--arch/mips/configs/ocelot_c_defconfig66
-rw-r--r--arch/mips/configs/ocelot_defconfig64
-rw-r--r--arch/mips/configs/ocelot_g_defconfig66
-rw-r--r--arch/mips/configs/pb1100_defconfig70
-rw-r--r--arch/mips/configs/pb1500_defconfig73
-rw-r--r--arch/mips/configs/pb1550_defconfig73
-rw-r--r--arch/mips/configs/pnx8550-jbs_defconfig76
-rw-r--r--arch/mips/configs/pnx8550-v2pci_defconfig85
-rw-r--r--arch/mips/configs/qemu_defconfig48
-rw-r--r--arch/mips/configs/rbhma4500_defconfig95
-rw-r--r--arch/mips/configs/rm200_defconfig121
-rw-r--r--arch/mips/configs/sb1250-swarm_defconfig63
-rw-r--r--arch/mips/configs/sead_defconfig50
-rw-r--r--arch/mips/configs/tb0226_defconfig218
-rw-r--r--arch/mips/configs/tb0229_defconfig282
-rw-r--r--arch/mips/configs/tb0287_defconfig1132
-rw-r--r--arch/mips/configs/workpad_defconfig185
-rw-r--r--arch/mips/configs/yosemite_defconfig54
-rw-r--r--arch/mips/ddb5xxx/ddb5074/Makefile2
-rw-r--r--arch/mips/ddb5xxx/ddb5074/int-handler.S120
-rw-r--r--arch/mips/ddb5xxx/ddb5074/irq.c26
-rw-r--r--arch/mips/ddb5xxx/ddb5476/Makefile2
-rw-r--r--arch/mips/ddb5xxx/ddb5476/dbg_io.c2
-rw-r--r--arch/mips/ddb5xxx/ddb5476/int-handler.S112
-rw-r--r--arch/mips/ddb5xxx/ddb5476/irq.c30
-rw-r--r--arch/mips/ddb5xxx/ddb5476/vrc5476_irq.c6
-rw-r--r--arch/mips/ddb5xxx/ddb5477/Makefile2
-rw-r--r--arch/mips/ddb5xxx/ddb5477/int-handler.S75
-rw-r--r--arch/mips/ddb5xxx/ddb5477/irq.c24
-rw-r--r--arch/mips/ddb5xxx/ddb5477/kgdb_io.c2
-rw-r--r--arch/mips/dec/boot/decstation.c3
-rw-r--r--arch/mips/dec/int-handler.S14
-rw-r--r--arch/mips/dec/setup.c3
-rw-r--r--arch/mips/defconfig77
-rw-r--r--arch/mips/galileo-boards/ev96100/Makefile2
-rw-r--r--arch/mips/galileo-boards/ev96100/int-handler.S33
-rw-r--r--arch/mips/galileo-boards/ev96100/irq.c19
-rw-r--r--arch/mips/gt64120/ev64120/Makefile2
-rw-r--r--arch/mips/gt64120/ev64120/int-handler.S113
-rw-r--r--arch/mips/gt64120/ev64120/irq.c27
-rw-r--r--arch/mips/gt64120/ev64120/serialGT.c2
-rw-r--r--arch/mips/gt64120/momenco_ocelot/Makefile2
-rw-r--r--arch/mips/gt64120/momenco_ocelot/dbg_io.c2
-rw-r--r--arch/mips/gt64120/momenco_ocelot/int-handler.S131
-rw-r--r--arch/mips/gt64120/momenco_ocelot/irq.c36
-rw-r--r--arch/mips/ite-boards/generic/Makefile2
-rw-r--r--arch/mips/ite-boards/generic/dbg_io.c2
-rw-r--r--arch/mips/ite-boards/generic/int-handler.S63
-rw-r--r--arch/mips/ite-boards/generic/irq.c18
-rw-r--r--arch/mips/ite-boards/generic/time.c1
-rw-r--r--arch/mips/ite-boards/ivr/init.c2
-rw-r--r--arch/mips/ite-boards/qed-4n-s01b/init.c2
-rw-r--r--arch/mips/jazz/Makefile2
-rw-r--r--arch/mips/jazz/int-handler.S282
-rw-r--r--arch/mips/jazz/irq.c78
-rw-r--r--arch/mips/jmr3927/common/rtc_ds1742.c60
-rw-r--r--arch/mips/jmr3927/rbhma3100/Makefile2
-rw-r--r--arch/mips/jmr3927/rbhma3100/int-handler.S74
-rw-r--r--arch/mips/jmr3927/rbhma3100/irq.c6
-rw-r--r--arch/mips/kernel/Makefile5
-rw-r--r--arch/mips/kernel/asm-offsets.c7
-rw-r--r--arch/mips/kernel/branch.c2
-rw-r--r--arch/mips/kernel/cpu-bugs64.c8
-rw-r--r--arch/mips/kernel/cpu-probe.c15
-rw-r--r--arch/mips/kernel/entry.S69
-rw-r--r--arch/mips/kernel/gdb-low.S32
-rw-r--r--arch/mips/kernel/gdb-stub.c61
-rw-r--r--arch/mips/kernel/genex.S43
-rw-r--r--arch/mips/kernel/head.S57
-rw-r--r--arch/mips/kernel/i8259.c4
-rw-r--r--arch/mips/kernel/irq-msc01.c9
-rw-r--r--arch/mips/kernel/irq.c18
-rw-r--r--arch/mips/kernel/kspd.c398
-rw-r--r--arch/mips/kernel/linux32.c74
-rw-r--r--arch/mips/kernel/mips-mt.c449
-rw-r--r--arch/mips/kernel/mips_ksyms.c15
-rw-r--r--arch/mips/kernel/module.c6
-rw-r--r--arch/mips/kernel/proc.c2
-rw-r--r--arch/mips/kernel/process.c21
-rw-r--r--arch/mips/kernel/ptrace.c18
-rw-r--r--arch/mips/kernel/ptrace32.c14
-rw-r--r--arch/mips/kernel/r4k_switch.S34
-rw-r--r--arch/mips/kernel/rtlx.c518
-rw-r--r--arch/mips/kernel/scall32-o32.S13
-rw-r--r--arch/mips/kernel/scall64-64.S2
-rw-r--r--arch/mips/kernel/scall64-n32.S2
-rw-r--r--arch/mips/kernel/scall64-o32.S4
-rw-r--r--arch/mips/kernel/setup.c23
-rw-r--r--arch/mips/kernel/signal-common.h30
-rw-r--r--arch/mips/kernel/smp-mt.c (renamed from arch/mips/kernel/smp_mt.c)44
-rw-r--r--arch/mips/kernel/smp.c17
-rw-r--r--arch/mips/kernel/smtc-asm.S130
-rw-r--r--arch/mips/kernel/smtc-proc.c93
-rw-r--r--arch/mips/kernel/smtc.c1322
-rw-r--r--arch/mips/kernel/syscall.c27
-rw-r--r--arch/mips/kernel/time.c3
-rw-r--r--arch/mips/kernel/traps.c232
-rw-r--r--arch/mips/kernel/vmlinux.lds.S22
-rw-r--r--arch/mips/kernel/vpe.c665
-rw-r--r--arch/mips/lasat/Makefile2
-rw-r--r--arch/mips/lasat/interrupt.c14
-rw-r--r--arch/mips/lasat/lasatIRQ.S69
-rw-r--r--arch/mips/math-emu/dp_fint.c4
-rw-r--r--arch/mips/math-emu/dp_flong.c4
-rw-r--r--arch/mips/math-emu/sp_fint.c4
-rw-r--r--arch/mips/math-emu/sp_flong.c4
-rw-r--r--arch/mips/mips-boards/atlas/atlas_int.c92
-rw-r--r--arch/mips/mips-boards/generic/Makefile4
-rw-r--r--arch/mips/mips-boards/generic/gdb_hook.c2
-rw-r--r--arch/mips/mips-boards/generic/init.c2
-rw-r--r--arch/mips/mips-boards/generic/memory.c9
-rw-r--r--arch/mips/mips-boards/generic/mipsIRQ.S155
-rw-r--r--arch/mips/mips-boards/generic/pci.c1
-rw-r--r--arch/mips/mips-boards/generic/time.c68
-rw-r--r--arch/mips/mips-boards/malta/Makefile1
-rw-r--r--arch/mips/mips-boards/malta/malta_int.c105
-rw-r--r--arch/mips/mips-boards/malta/malta_smp.c128
-rw-r--r--arch/mips/mips-boards/sead/sead_int.c86
-rw-r--r--arch/mips/mips-boards/sim/cmdline.c59
-rw-r--r--arch/mips/mips-boards/sim/sim_cmdline.c6
-rw-r--r--arch/mips/mips-boards/sim/sim_int.c64
-rw-r--r--arch/mips/mips-boards/sim/sim_irq.S4
-rw-r--r--arch/mips/mips-boards/sim/sim_mem.c9
-rw-r--r--arch/mips/mips-boards/sim/sim_smp.c14
-rw-r--r--arch/mips/mm/c-r3k.c5
-rw-r--r--arch/mips/mm/c-r4k.c98
-rw-r--r--arch/mips/mm/c-sb1.c1
-rw-r--r--arch/mips/mm/c-tx39.c7
-rw-r--r--arch/mips/mm/cache.c1
-rw-r--r--arch/mips/mm/fault.c13
-rw-r--r--arch/mips/mm/highmem.c2
-rw-r--r--arch/mips/mm/init.c50
-rw-r--r--arch/mips/mm/pg-r4k.c1
-rw-r--r--arch/mips/mm/sc-rm7k.c2
-rw-r--r--arch/mips/mm/tlb-r4k.c85
-rw-r--r--arch/mips/mm/tlbex.c89
-rw-r--r--arch/mips/momentum/jaguar_atx/Makefile2
-rw-r--r--arch/mips/momentum/jaguar_atx/dbg_io.c2
-rw-r--r--arch/mips/momentum/jaguar_atx/int-handler.S128
-rw-r--r--arch/mips/momentum/jaguar_atx/irq.c35
-rw-r--r--arch/mips/momentum/jaguar_atx/setup.c36
-rw-r--r--arch/mips/momentum/ocelot_3/Makefile2
-rw-r--r--arch/mips/momentum/ocelot_3/int-handler.S137
-rw-r--r--arch/mips/momentum/ocelot_3/irq.c38
-rw-r--r--arch/mips/momentum/ocelot_3/setup.c24
-rw-r--r--arch/mips/momentum/ocelot_c/Makefile2
-rw-r--r--arch/mips/momentum/ocelot_c/dbg_io.c2
-rw-r--r--arch/mips/momentum/ocelot_c/int-handler.S102
-rw-r--r--arch/mips/momentum/ocelot_c/irq.c30
-rw-r--r--arch/mips/momentum/ocelot_g/Makefile2
-rw-r--r--arch/mips/momentum/ocelot_g/dbg_io.c2
-rw-r--r--arch/mips/momentum/ocelot_g/int-handler.S131
-rw-r--r--arch/mips/momentum/ocelot_g/irq.c38
-rw-r--r--arch/mips/oprofile/common.c14
-rw-r--r--arch/mips/oprofile/op_model_mipsxx.c34
-rw-r--r--arch/mips/oprofile/op_model_rm9000.c2
-rw-r--r--arch/mips/philips/pnx8550/common/Makefile2
-rw-r--r--arch/mips/philips/pnx8550/common/int.c23
-rw-r--r--arch/mips/philips/pnx8550/common/mipsIRQ.S76
-rw-r--r--arch/mips/philips/pnx8550/common/platform.c1
-rw-r--r--arch/mips/pmc-sierra/yosemite/Makefile2
-rw-r--r--arch/mips/pmc-sierra/yosemite/irq-handler.S93
-rw-r--r--arch/mips/pmc-sierra/yosemite/irq.c33
-rw-r--r--arch/mips/qemu/Makefile2
-rw-r--r--arch/mips/qemu/q-int.S17
-rw-r--r--arch/mips/qemu/q-irq.c3
-rw-r--r--arch/mips/sgi-ip22/Makefile2
-rw-r--r--arch/mips/sgi-ip22/ip22-int.c59
-rw-r--r--arch/mips/sgi-ip22/ip22-irq.S118
-rw-r--r--arch/mips/sgi-ip27/Makefile2
-rw-r--r--arch/mips/sgi-ip27/TODO4
-rw-r--r--arch/mips/sgi-ip27/ip27-irq-glue.S45
-rw-r--r--arch/mips/sgi-ip27/ip27-irq.c27
-rw-r--r--arch/mips/sgi-ip27/ip27-timer.c2
-rw-r--r--arch/mips/sgi-ip32/Makefile2
-rw-r--r--arch/mips/sgi-ip32/ip32-irq-glue.S86
-rw-r--r--arch/mips/sgi-ip32/ip32-irq.c44
-rw-r--r--arch/mips/sibyte/bcm1480/Makefile2
-rw-r--r--arch/mips/sibyte/bcm1480/irq.c77
-rw-r--r--arch/mips/sibyte/bcm1480/irq_handler.S165
-rw-r--r--arch/mips/sibyte/sb1250/Makefile2
-rw-r--r--arch/mips/sibyte/sb1250/irq.c78
-rw-r--r--arch/mips/sibyte/sb1250/irq_handler.S147
-rw-r--r--arch/mips/sni/Makefile2
-rw-r--r--arch/mips/sni/int-handler.S106
-rw-r--r--arch/mips/sni/irq.c37
-rw-r--r--arch/mips/tx4927/common/Makefile2
-rw-r--r--arch/mips/tx4927/common/tx4927_irq.c30
-rw-r--r--arch/mips/tx4927/common/tx4927_irq_handler.S103
-rw-r--r--arch/mips/tx4938/common/Makefile2
-rw-r--r--arch/mips/tx4938/common/irq.c21
-rw-r--r--arch/mips/tx4938/common/irq_handler.S84
-rw-r--r--arch/mips/vr41xx/Kconfig13
-rw-r--r--arch/mips/vr41xx/common/Makefile2
-rw-r--r--arch/mips/vr41xx/common/int-handler.S114
-rw-r--r--arch/mips/vr41xx/common/irq.c29
235 files changed, 9093 insertions, 5949 deletions
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index 7aec60d40420..e8ff09fe73d9 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -13,7 +13,7 @@ choice
13 default SGI_IP22 13 default SGI_IP22
14 14
15config MIPS_MTX1 15config MIPS_MTX1
16 bool "Support for 4G Systems MTX-1 board" 16 bool "4G Systems MTX-1 board"
17 select DMA_NONCOHERENT 17 select DMA_NONCOHERENT
18 select HW_HAS_PCI 18 select HW_HAS_PCI
19 select SOC_AU1500 19 select SOC_AU1500
@@ -120,7 +120,7 @@ config MIPS_MIRAGE
120 select SYS_SUPPORTS_LITTLE_ENDIAN 120 select SYS_SUPPORTS_LITTLE_ENDIAN
121 121
122config MIPS_COBALT 122config MIPS_COBALT
123 bool "Support for Cobalt Server" 123 bool "Cobalt Server"
124 select DMA_NONCOHERENT 124 select DMA_NONCOHERENT
125 select HW_HAS_PCI 125 select HW_HAS_PCI
126 select I8259 126 select I8259
@@ -132,7 +132,7 @@ config MIPS_COBALT
132 select SYS_SUPPORTS_LITTLE_ENDIAN 132 select SYS_SUPPORTS_LITTLE_ENDIAN
133 133
134config MACH_DECSTATION 134config MACH_DECSTATION
135 bool "Support for DECstations" 135 bool "DECstations"
136 select BOOT_ELF32 136 select BOOT_ELF32
137 select DMA_NONCOHERENT 137 select DMA_NONCOHERENT
138 select EARLY_PRINTK 138 select EARLY_PRINTK
@@ -158,7 +158,7 @@ config MACH_DECSTATION
158 otherwise choose R3000. 158 otherwise choose R3000.
159 159
160config MIPS_EV64120 160config MIPS_EV64120
161 bool "Support for Galileo EV64120 Evaluation board (EXPERIMENTAL)" 161 bool "Galileo EV64120 Evaluation board (EXPERIMENTAL)"
162 depends on EXPERIMENTAL 162 depends on EXPERIMENTAL
163 select DMA_NONCOHERENT 163 select DMA_NONCOHERENT
164 select HW_HAS_PCI 164 select HW_HAS_PCI
@@ -175,7 +175,7 @@ config MIPS_EV64120
175 kernel for this platform. 175 kernel for this platform.
176 176
177config MIPS_EV96100 177config MIPS_EV96100
178 bool "Support for Galileo EV96100 Evaluation board (EXPERIMENTAL)" 178 bool "Galileo EV96100 Evaluation board (EXPERIMENTAL)"
179 depends on EXPERIMENTAL 179 depends on EXPERIMENTAL
180 select DMA_NONCOHERENT 180 select DMA_NONCOHERENT
181 select HW_HAS_PCI 181 select HW_HAS_PCI
@@ -195,7 +195,7 @@ config MIPS_EV96100
195 here if you wish to build a kernel for this platform. 195 here if you wish to build a kernel for this platform.
196 196
197config MIPS_IVR 197config MIPS_IVR
198 bool "Support for Globespan IVR board" 198 bool "Globespan IVR board"
199 select DMA_NONCOHERENT 199 select DMA_NONCOHERENT
200 select HW_HAS_PCI 200 select HW_HAS_PCI
201 select ITE_BOARD_GEN 201 select ITE_BOARD_GEN
@@ -211,7 +211,7 @@ config MIPS_IVR
211 build a kernel for this platform. 211 build a kernel for this platform.
212 212
213config MIPS_ITE8172 213config MIPS_ITE8172
214 bool "Support for ITE 8172G board" 214 bool "ITE 8172G board"
215 select DMA_NONCOHERENT 215 select DMA_NONCOHERENT
216 select HW_HAS_PCI 216 select HW_HAS_PCI
217 select ITE_BOARD_GEN 217 select ITE_BOARD_GEN
@@ -228,7 +228,7 @@ config MIPS_ITE8172
228 a kernel for this platform. 228 a kernel for this platform.
229 229
230config MACH_JAZZ 230config MACH_JAZZ
231 bool "Support for the Jazz family of machines" 231 bool "Jazz family of machines"
232 select ARC 232 select ARC
233 select ARC32 233 select ARC32
234 select ARCH_MAY_HAVE_PC_FDC 234 select ARCH_MAY_HAVE_PC_FDC
@@ -246,7 +246,7 @@ config MACH_JAZZ
246 Olivetti M700-10 workstations. 246 Olivetti M700-10 workstations.
247 247
248config LASAT 248config LASAT
249 bool "Support for LASAT Networks platforms" 249 bool "LASAT Networks platforms"
250 select DMA_NONCOHERENT 250 select DMA_NONCOHERENT
251 select HW_HAS_PCI 251 select HW_HAS_PCI
252 select MIPS_GT64120 252 select MIPS_GT64120
@@ -258,7 +258,7 @@ config LASAT
258 select SYS_SUPPORTS_LITTLE_ENDIAN 258 select SYS_SUPPORTS_LITTLE_ENDIAN
259 259
260config MIPS_ATLAS 260config MIPS_ATLAS
261 bool "Support for MIPS Atlas board" 261 bool "MIPS Atlas board"
262 select BOOT_ELF32 262 select BOOT_ELF32
263 select DMA_NONCOHERENT 263 select DMA_NONCOHERENT
264 select IRQ_CPU 264 select IRQ_CPU
@@ -283,7 +283,7 @@ config MIPS_ATLAS
283 board. 283 board.
284 284
285config MIPS_MALTA 285config MIPS_MALTA
286 bool "Support for MIPS Malta board" 286 bool "MIPS Malta board"
287 select ARCH_MAY_HAVE_PC_FDC 287 select ARCH_MAY_HAVE_PC_FDC
288 select BOOT_ELF32 288 select BOOT_ELF32
289 select HAVE_STD_PC_SERIAL_PORT 289 select HAVE_STD_PC_SERIAL_PORT
@@ -311,7 +311,7 @@ config MIPS_MALTA
311 board. 311 board.
312 312
313config MIPS_SEAD 313config MIPS_SEAD
314 bool "Support for MIPS SEAD board (EXPERIMENTAL)" 314 bool "MIPS SEAD board (EXPERIMENTAL)"
315 depends on EXPERIMENTAL 315 depends on EXPERIMENTAL
316 select IRQ_CPU 316 select IRQ_CPU
317 select DMA_NONCOHERENT 317 select DMA_NONCOHERENT
@@ -328,7 +328,7 @@ config MIPS_SEAD
328 board. 328 board.
329 329
330config MIPS_SIM 330config MIPS_SIM
331 bool 'Support for MIPS simulator (MIPSsim)' 331 bool 'MIPS simulator (MIPSsim)'
332 select DMA_NONCOHERENT 332 select DMA_NONCOHERENT
333 select IRQ_CPU 333 select IRQ_CPU
334 select SYS_HAS_CPU_MIPS32_R1 334 select SYS_HAS_CPU_MIPS32_R1
@@ -341,7 +341,7 @@ config MIPS_SIM
341 emulator. 341 emulator.
342 342
343config MOMENCO_JAGUAR_ATX 343config MOMENCO_JAGUAR_ATX
344 bool "Support for Momentum Jaguar board" 344 bool "Momentum Jaguar board"
345 select BOOT_ELF32 345 select BOOT_ELF32
346 select DMA_NONCOHERENT 346 select DMA_NONCOHERENT
347 select HW_HAS_PCI 347 select HW_HAS_PCI
@@ -361,7 +361,7 @@ config MOMENCO_JAGUAR_ATX
361 Momentum Computer <http://www.momenco.com/>. 361 Momentum Computer <http://www.momenco.com/>.
362 362
363config MOMENCO_OCELOT 363config MOMENCO_OCELOT
364 bool "Support for Momentum Ocelot board" 364 bool "Momentum Ocelot board"
365 select DMA_NONCOHERENT 365 select DMA_NONCOHERENT
366 select HW_HAS_PCI 366 select HW_HAS_PCI
367 select IRQ_CPU 367 select IRQ_CPU
@@ -378,7 +378,7 @@ config MOMENCO_OCELOT
378 Momentum Computer <http://www.momenco.com/>. 378 Momentum Computer <http://www.momenco.com/>.
379 379
380config MOMENCO_OCELOT_3 380config MOMENCO_OCELOT_3
381 bool "Support for Momentum Ocelot-3 board" 381 bool "Momentum Ocelot-3 board"
382 select BOOT_ELF32 382 select BOOT_ELF32
383 select DMA_NONCOHERENT 383 select DMA_NONCOHERENT
384 select HW_HAS_PCI 384 select HW_HAS_PCI
@@ -397,7 +397,7 @@ config MOMENCO_OCELOT_3
397 PMC-Sierra Rm79000 core. 397 PMC-Sierra Rm79000 core.
398 398
399config MOMENCO_OCELOT_C 399config MOMENCO_OCELOT_C
400 bool "Support for Momentum Ocelot-C board" 400 bool "Momentum Ocelot-C board"
401 select DMA_NONCOHERENT 401 select DMA_NONCOHERENT
402 select HW_HAS_PCI 402 select HW_HAS_PCI
403 select IRQ_CPU 403 select IRQ_CPU
@@ -414,7 +414,7 @@ config MOMENCO_OCELOT_C
414 Momentum Computer <http://www.momenco.com/>. 414 Momentum Computer <http://www.momenco.com/>.
415 415
416config MOMENCO_OCELOT_G 416config MOMENCO_OCELOT_G
417 bool "Support for Momentum Ocelot-G board" 417 bool "Momentum Ocelot-G board"
418 select DMA_NONCOHERENT 418 select DMA_NONCOHERENT
419 select HW_HAS_PCI 419 select HW_HAS_PCI
420 select IRQ_CPU 420 select IRQ_CPU
@@ -431,23 +431,23 @@ config MOMENCO_OCELOT_G
431 Momentum Computer <http://www.momenco.com/>. 431 Momentum Computer <http://www.momenco.com/>.
432 432
433config MIPS_XXS1500 433config MIPS_XXS1500
434 bool "Support for MyCable XXS1500 board" 434 bool "MyCable XXS1500 board"
435 select DMA_NONCOHERENT 435 select DMA_NONCOHERENT
436 select SOC_AU1500 436 select SOC_AU1500
437 select SYS_SUPPORTS_LITTLE_ENDIAN 437 select SYS_SUPPORTS_LITTLE_ENDIAN
438 438
439config PNX8550_V2PCI 439config PNX8550_V2PCI
440 bool "Support for Philips PNX8550 based Viper2-PCI board" 440 bool "Philips PNX8550 based Viper2-PCI board"
441 select PNX8550 441 select PNX8550
442 select SYS_SUPPORTS_LITTLE_ENDIAN 442 select SYS_SUPPORTS_LITTLE_ENDIAN
443 443
444config PNX8550_JBS 444config PNX8550_JBS
445 bool "Support for Philips PNX8550 based JBS board" 445 bool "Philips PNX8550 based JBS board"
446 select PNX8550 446 select PNX8550
447 select SYS_SUPPORTS_LITTLE_ENDIAN 447 select SYS_SUPPORTS_LITTLE_ENDIAN
448 448
449config DDB5074 449config DDB5074
450 bool "Support for NEC DDB Vrc-5074 (EXPERIMENTAL)" 450 bool "NEC DDB Vrc-5074 (EXPERIMENTAL)"
451 depends on EXPERIMENTAL 451 depends on EXPERIMENTAL
452 select DDB5XXX_COMMON 452 select DDB5XXX_COMMON
453 select DMA_NONCOHERENT 453 select DMA_NONCOHERENT
@@ -465,7 +465,7 @@ config DDB5074
465 evaluation board. 465 evaluation board.
466 466
467config DDB5476 467config DDB5476
468 bool "Support for NEC DDB Vrc-5476" 468 bool "NEC DDB Vrc-5476"
469 select DDB5XXX_COMMON 469 select DDB5XXX_COMMON
470 select DMA_NONCOHERENT 470 select DMA_NONCOHERENT
471 select HAVE_STD_PC_SERIAL_PORT 471 select HAVE_STD_PC_SERIAL_PORT
@@ -486,7 +486,7 @@ config DDB5476
486 IDE controller, PS2 keyboard, PS2 mouse, etc. 486 IDE controller, PS2 keyboard, PS2 mouse, etc.
487 487
488config DDB5477 488config DDB5477
489 bool "Support for NEC DDB Vrc-5477" 489 bool "NEC DDB Vrc-5477"
490 select DDB5XXX_COMMON 490 select DDB5XXX_COMMON
491 select DMA_NONCOHERENT 491 select DMA_NONCOHERENT
492 select HW_HAS_PCI 492 select HW_HAS_PCI
@@ -504,13 +504,13 @@ config DDB5477
504 ether port USB, AC97, PCI, etc. 504 ether port USB, AC97, PCI, etc.
505 505
506config MACH_VR41XX 506config MACH_VR41XX
507 bool "Support for NEC VR4100 series based machines" 507 bool "NEC VR41XX-based machines"
508 select SYS_HAS_CPU_VR41XX 508 select SYS_HAS_CPU_VR41XX
509 select SYS_SUPPORTS_32BIT_KERNEL 509 select SYS_SUPPORTS_32BIT_KERNEL
510 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL 510 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
511 511
512config PMC_YOSEMITE 512config PMC_YOSEMITE
513 bool "Support for PMC-Sierra Yosemite eval board" 513 bool "PMC-Sierra Yosemite eval board"
514 select DMA_COHERENT 514 select DMA_COHERENT
515 select HW_HAS_PCI 515 select HW_HAS_PCI
516 select IRQ_CPU 516 select IRQ_CPU
@@ -527,7 +527,7 @@ config PMC_YOSEMITE
527 manufactured by PMC-Sierra. 527 manufactured by PMC-Sierra.
528 528
529config QEMU 529config QEMU
530 bool "Support for Qemu" 530 bool "Qemu"
531 select DMA_COHERENT 531 select DMA_COHERENT
532 select GENERIC_ISA_DMA 532 select GENERIC_ISA_DMA
533 select HAVE_STD_PC_SERIAL_PORT 533 select HAVE_STD_PC_SERIAL_PORT
@@ -547,7 +547,7 @@ config QEMU
547 can be found at http://www.linux-mips.org/wiki/Qemu. 547 can be found at http://www.linux-mips.org/wiki/Qemu.
548 548
549config SGI_IP22 549config SGI_IP22
550 bool "Support for SGI IP22 (Indy/Indigo2)" 550 bool "SGI IP22 (Indy/Indigo2)"
551 select ARC 551 select ARC
552 select ARC32 552 select ARC32
553 select BOOT_ELF32 553 select BOOT_ELF32
@@ -567,7 +567,7 @@ config SGI_IP22
567 that runs on these, say Y here. 567 that runs on these, say Y here.
568 568
569config SGI_IP27 569config SGI_IP27
570 bool "Support for SGI IP27 (Origin200/2000)" 570 bool "SGI IP27 (Origin200/2000)"
571 select ARC 571 select ARC
572 select ARC64 572 select ARC64
573 select BOOT_ELF64 573 select BOOT_ELF64
@@ -583,7 +583,7 @@ config SGI_IP27
583 here. 583 here.
584 584
585config SGI_IP32 585config SGI_IP32
586 bool "Support for SGI IP32 (O2) (EXPERIMENTAL)" 586 bool "SGI IP32 (O2) (EXPERIMENTAL)"
587 depends on EXPERIMENTAL 587 depends on EXPERIMENTAL
588 select ARC 588 select ARC
589 select ARC32 589 select ARC32
@@ -604,7 +604,7 @@ config SGI_IP32
604 If you want this kernel to run on SGI O2 workstation, say Y here. 604 If you want this kernel to run on SGI O2 workstation, say Y here.
605 605
606config SIBYTE_BIGSUR 606config SIBYTE_BIGSUR
607 bool "Support for Sibyte BCM91480B-BigSur" 607 bool "Sibyte BCM91480B-BigSur"
608 select BOOT_ELF32 608 select BOOT_ELF32
609 select DMA_COHERENT 609 select DMA_COHERENT
610 select PCI_DOMAINS 610 select PCI_DOMAINS
@@ -615,7 +615,7 @@ config SIBYTE_BIGSUR
615 select SYS_SUPPORTS_LITTLE_ENDIAN 615 select SYS_SUPPORTS_LITTLE_ENDIAN
616 616
617config SIBYTE_SWARM 617config SIBYTE_SWARM
618 bool "Support for Sibyte BCM91250A-SWARM" 618 bool "Sibyte BCM91250A-SWARM"
619 select BOOT_ELF32 619 select BOOT_ELF32
620 select DMA_COHERENT 620 select DMA_COHERENT
621 select SIBYTE_SB1250 621 select SIBYTE_SB1250
@@ -626,7 +626,7 @@ config SIBYTE_SWARM
626 select SYS_SUPPORTS_LITTLE_ENDIAN 626 select SYS_SUPPORTS_LITTLE_ENDIAN
627 627
628config SIBYTE_SENTOSA 628config SIBYTE_SENTOSA
629 bool "Support for Sibyte BCM91250E-Sentosa" 629 bool "Sibyte BCM91250E-Sentosa"
630 depends on EXPERIMENTAL 630 depends on EXPERIMENTAL
631 select BOOT_ELF32 631 select BOOT_ELF32
632 select DMA_COHERENT 632 select DMA_COHERENT
@@ -637,7 +637,7 @@ config SIBYTE_SENTOSA
637 select SYS_SUPPORTS_LITTLE_ENDIAN 637 select SYS_SUPPORTS_LITTLE_ENDIAN
638 638
639config SIBYTE_RHONE 639config SIBYTE_RHONE
640 bool "Support for Sibyte BCM91125E-Rhone" 640 bool "Sibyte BCM91125E-Rhone"
641 depends on EXPERIMENTAL 641 depends on EXPERIMENTAL
642 select BOOT_ELF32 642 select BOOT_ELF32
643 select DMA_COHERENT 643 select DMA_COHERENT
@@ -648,7 +648,7 @@ config SIBYTE_RHONE
648 select SYS_SUPPORTS_LITTLE_ENDIAN 648 select SYS_SUPPORTS_LITTLE_ENDIAN
649 649
650config SIBYTE_CARMEL 650config SIBYTE_CARMEL
651 bool "Support for Sibyte BCM91120x-Carmel" 651 bool "Sibyte BCM91120x-Carmel"
652 depends on EXPERIMENTAL 652 depends on EXPERIMENTAL
653 select BOOT_ELF32 653 select BOOT_ELF32
654 select DMA_COHERENT 654 select DMA_COHERENT
@@ -659,7 +659,7 @@ config SIBYTE_CARMEL
659 select SYS_SUPPORTS_LITTLE_ENDIAN 659 select SYS_SUPPORTS_LITTLE_ENDIAN
660 660
661config SIBYTE_PTSWARM 661config SIBYTE_PTSWARM
662 bool "Support for Sibyte BCM91250PT-PTSWARM" 662 bool "Sibyte BCM91250PT-PTSWARM"
663 depends on EXPERIMENTAL 663 depends on EXPERIMENTAL
664 select BOOT_ELF32 664 select BOOT_ELF32
665 select DMA_COHERENT 665 select DMA_COHERENT
@@ -671,7 +671,7 @@ config SIBYTE_PTSWARM
671 select SYS_SUPPORTS_LITTLE_ENDIAN 671 select SYS_SUPPORTS_LITTLE_ENDIAN
672 672
673config SIBYTE_LITTLESUR 673config SIBYTE_LITTLESUR
674 bool "Support for Sibyte BCM91250C2-LittleSur" 674 bool "Sibyte BCM91250C2-LittleSur"
675 depends on EXPERIMENTAL 675 depends on EXPERIMENTAL
676 select BOOT_ELF32 676 select BOOT_ELF32
677 select DMA_COHERENT 677 select DMA_COHERENT
@@ -683,7 +683,7 @@ config SIBYTE_LITTLESUR
683 select SYS_SUPPORTS_LITTLE_ENDIAN 683 select SYS_SUPPORTS_LITTLE_ENDIAN
684 684
685config SIBYTE_CRHINE 685config SIBYTE_CRHINE
686 bool "Support for Sibyte BCM91120C-CRhine" 686 bool "Sibyte BCM91120C-CRhine"
687 depends on EXPERIMENTAL 687 depends on EXPERIMENTAL
688 select BOOT_ELF32 688 select BOOT_ELF32
689 select DMA_COHERENT 689 select DMA_COHERENT
@@ -694,7 +694,7 @@ config SIBYTE_CRHINE
694 select SYS_SUPPORTS_LITTLE_ENDIAN 694 select SYS_SUPPORTS_LITTLE_ENDIAN
695 695
696config SIBYTE_CRHONE 696config SIBYTE_CRHONE
697 bool "Support for Sibyte BCM91125C-CRhone" 697 bool "Sibyte BCM91125C-CRhone"
698 depends on EXPERIMENTAL 698 depends on EXPERIMENTAL
699 select BOOT_ELF32 699 select BOOT_ELF32
700 select DMA_COHERENT 700 select DMA_COHERENT
@@ -706,7 +706,7 @@ config SIBYTE_CRHONE
706 select SYS_SUPPORTS_LITTLE_ENDIAN 706 select SYS_SUPPORTS_LITTLE_ENDIAN
707 707
708config SNI_RM200_PCI 708config SNI_RM200_PCI
709 bool "Support for SNI RM200 PCI" 709 bool "SNI RM200 PCI"
710 select ARC 710 select ARC
711 select ARC32 711 select ARC32
712 select ARCH_MAY_HAVE_PC_FDC 712 select ARCH_MAY_HAVE_PC_FDC
@@ -732,7 +732,7 @@ config SNI_RM200_PCI
732 support this machine type. 732 support this machine type.
733 733
734config TOSHIBA_JMR3927 734config TOSHIBA_JMR3927
735 bool "Support for Toshiba JMR-TX3927 board" 735 bool "Toshiba JMR-TX3927 board"
736 select DMA_NONCOHERENT 736 select DMA_NONCOHERENT
737 select HW_HAS_PCI 737 select HW_HAS_PCI
738 select MIPS_TX3927 738 select MIPS_TX3927
@@ -743,7 +743,7 @@ config TOSHIBA_JMR3927
743 select TOSHIBA_BOARDS 743 select TOSHIBA_BOARDS
744 744
745config TOSHIBA_RBTX4927 745config TOSHIBA_RBTX4927
746 bool "Support for Toshiba TBTX49[23]7 board" 746 bool "Toshiba TBTX49[23]7 board"
747 select DMA_NONCOHERENT 747 select DMA_NONCOHERENT
748 select HAS_TXX9_SERIAL 748 select HAS_TXX9_SERIAL
749 select HW_HAS_PCI 749 select HW_HAS_PCI
@@ -760,7 +760,7 @@ config TOSHIBA_RBTX4927
760 support this machine type 760 support this machine type
761 761
762config TOSHIBA_RBTX4938 762config TOSHIBA_RBTX4938
763 bool "Support for Toshiba RBTX4938 board" 763 bool "Toshiba RBTX4938 board"
764 select HAVE_STD_PC_SERIAL_PORT 764 select HAVE_STD_PC_SERIAL_PORT
765 select DMA_NONCOHERENT 765 select DMA_NONCOHERENT
766 select GENERIC_ISA_DMA 766 select GENERIC_ISA_DMA
@@ -816,6 +816,10 @@ config GENERIC_CALIBRATE_DELAY
816 bool 816 bool
817 default y 817 default y
818 818
819config SCHED_NO_NO_OMIT_FRAME_POINTER
820 bool
821 default y
822
819# 823#
820# Select some configuration options automatically based on user selections. 824# Select some configuration options automatically based on user selections.
821# 825#
@@ -1063,6 +1067,7 @@ choice
1063config CPU_MIPS32_R1 1067config CPU_MIPS32_R1
1064 bool "MIPS32 Release 1" 1068 bool "MIPS32 Release 1"
1065 depends on SYS_HAS_CPU_MIPS32_R1 1069 depends on SYS_HAS_CPU_MIPS32_R1
1070 select CPU_HAS_LLSC
1066 select CPU_HAS_PREFETCH 1071 select CPU_HAS_PREFETCH
1067 select CPU_SUPPORTS_32BIT_KERNEL 1072 select CPU_SUPPORTS_32BIT_KERNEL
1068 select CPU_SUPPORTS_HIGHMEM 1073 select CPU_SUPPORTS_HIGHMEM
@@ -1080,6 +1085,7 @@ config CPU_MIPS32_R1
1080config CPU_MIPS32_R2 1085config CPU_MIPS32_R2
1081 bool "MIPS32 Release 2" 1086 bool "MIPS32 Release 2"
1082 depends on SYS_HAS_CPU_MIPS32_R2 1087 depends on SYS_HAS_CPU_MIPS32_R2
1088 select CPU_HAS_LLSC
1083 select CPU_HAS_PREFETCH 1089 select CPU_HAS_PREFETCH
1084 select CPU_SUPPORTS_32BIT_KERNEL 1090 select CPU_SUPPORTS_32BIT_KERNEL
1085 select CPU_SUPPORTS_HIGHMEM 1091 select CPU_SUPPORTS_HIGHMEM
@@ -1093,6 +1099,7 @@ config CPU_MIPS32_R2
1093config CPU_MIPS64_R1 1099config CPU_MIPS64_R1
1094 bool "MIPS64 Release 1" 1100 bool "MIPS64 Release 1"
1095 depends on SYS_HAS_CPU_MIPS64_R1 1101 depends on SYS_HAS_CPU_MIPS64_R1
1102 select CPU_HAS_LLSC
1096 select CPU_HAS_PREFETCH 1103 select CPU_HAS_PREFETCH
1097 select CPU_SUPPORTS_32BIT_KERNEL 1104 select CPU_SUPPORTS_32BIT_KERNEL
1098 select CPU_SUPPORTS_64BIT_KERNEL 1105 select CPU_SUPPORTS_64BIT_KERNEL
@@ -1111,6 +1118,7 @@ config CPU_MIPS64_R1
1111config CPU_MIPS64_R2 1118config CPU_MIPS64_R2
1112 bool "MIPS64 Release 2" 1119 bool "MIPS64 Release 2"
1113 depends on SYS_HAS_CPU_MIPS64_R2 1120 depends on SYS_HAS_CPU_MIPS64_R2
1121 select CPU_HAS_LLSC
1114 select CPU_HAS_PREFETCH 1122 select CPU_HAS_PREFETCH
1115 select CPU_SUPPORTS_32BIT_KERNEL 1123 select CPU_SUPPORTS_32BIT_KERNEL
1116 select CPU_SUPPORTS_64BIT_KERNEL 1124 select CPU_SUPPORTS_64BIT_KERNEL
@@ -1125,6 +1133,7 @@ config CPU_MIPS64_R2
1125config CPU_R3000 1133config CPU_R3000
1126 bool "R3000" 1134 bool "R3000"
1127 depends on SYS_HAS_CPU_R3000 1135 depends on SYS_HAS_CPU_R3000
1136 select CPU_HAS_WB
1128 select CPU_SUPPORTS_32BIT_KERNEL 1137 select CPU_SUPPORTS_32BIT_KERNEL
1129 select CPU_SUPPORTS_HIGHMEM 1138 select CPU_SUPPORTS_HIGHMEM
1130 help 1139 help
@@ -1154,6 +1163,7 @@ config CPU_VR41XX
1154config CPU_R4300 1163config CPU_R4300
1155 bool "R4300" 1164 bool "R4300"
1156 depends on SYS_HAS_CPU_R4300 1165 depends on SYS_HAS_CPU_R4300
1166 select CPU_HAS_LLSC
1157 select CPU_SUPPORTS_32BIT_KERNEL 1167 select CPU_SUPPORTS_32BIT_KERNEL
1158 select CPU_SUPPORTS_64BIT_KERNEL 1168 select CPU_SUPPORTS_64BIT_KERNEL
1159 help 1169 help
@@ -1162,6 +1172,7 @@ config CPU_R4300
1162config CPU_R4X00 1172config CPU_R4X00
1163 bool "R4x00" 1173 bool "R4x00"
1164 depends on SYS_HAS_CPU_R4X00 1174 depends on SYS_HAS_CPU_R4X00
1175 select CPU_HAS_LLSC
1165 select CPU_SUPPORTS_32BIT_KERNEL 1176 select CPU_SUPPORTS_32BIT_KERNEL
1166 select CPU_SUPPORTS_64BIT_KERNEL 1177 select CPU_SUPPORTS_64BIT_KERNEL
1167 help 1178 help
@@ -1171,6 +1182,7 @@ config CPU_R4X00
1171config CPU_TX49XX 1182config CPU_TX49XX
1172 bool "R49XX" 1183 bool "R49XX"
1173 depends on SYS_HAS_CPU_TX49XX 1184 depends on SYS_HAS_CPU_TX49XX
1185 select CPU_HAS_LLSC
1174 select CPU_HAS_PREFETCH 1186 select CPU_HAS_PREFETCH
1175 select CPU_SUPPORTS_32BIT_KERNEL 1187 select CPU_SUPPORTS_32BIT_KERNEL
1176 select CPU_SUPPORTS_64BIT_KERNEL 1188 select CPU_SUPPORTS_64BIT_KERNEL
@@ -1178,6 +1190,7 @@ config CPU_TX49XX
1178config CPU_R5000 1190config CPU_R5000
1179 bool "R5000" 1191 bool "R5000"
1180 depends on SYS_HAS_CPU_R5000 1192 depends on SYS_HAS_CPU_R5000
1193 select CPU_HAS_LLSC
1181 select CPU_SUPPORTS_32BIT_KERNEL 1194 select CPU_SUPPORTS_32BIT_KERNEL
1182 select CPU_SUPPORTS_64BIT_KERNEL 1195 select CPU_SUPPORTS_64BIT_KERNEL
1183 help 1196 help
@@ -1186,12 +1199,14 @@ config CPU_R5000
1186config CPU_R5432 1199config CPU_R5432
1187 bool "R5432" 1200 bool "R5432"
1188 depends on SYS_HAS_CPU_R5432 1201 depends on SYS_HAS_CPU_R5432
1202 select CPU_HAS_LLSC
1189 select CPU_SUPPORTS_32BIT_KERNEL 1203 select CPU_SUPPORTS_32BIT_KERNEL
1190 select CPU_SUPPORTS_64BIT_KERNEL 1204 select CPU_SUPPORTS_64BIT_KERNEL
1191 1205
1192config CPU_R6000 1206config CPU_R6000
1193 bool "R6000" 1207 bool "R6000"
1194 depends on EXPERIMENTAL 1208 depends on EXPERIMENTAL
1209 select CPU_HAS_LLSC
1195 depends on SYS_HAS_CPU_R6000 1210 depends on SYS_HAS_CPU_R6000
1196 select CPU_SUPPORTS_32BIT_KERNEL 1211 select CPU_SUPPORTS_32BIT_KERNEL
1197 help 1212 help
@@ -1201,6 +1216,7 @@ config CPU_R6000
1201config CPU_NEVADA 1216config CPU_NEVADA
1202 bool "RM52xx" 1217 bool "RM52xx"
1203 depends on SYS_HAS_CPU_NEVADA 1218 depends on SYS_HAS_CPU_NEVADA
1219 select CPU_HAS_LLSC
1204 select CPU_SUPPORTS_32BIT_KERNEL 1220 select CPU_SUPPORTS_32BIT_KERNEL
1205 select CPU_SUPPORTS_64BIT_KERNEL 1221 select CPU_SUPPORTS_64BIT_KERNEL
1206 help 1222 help
@@ -1210,6 +1226,7 @@ config CPU_R8000
1210 bool "R8000" 1226 bool "R8000"
1211 depends on EXPERIMENTAL 1227 depends on EXPERIMENTAL
1212 depends on SYS_HAS_CPU_R8000 1228 depends on SYS_HAS_CPU_R8000
1229 select CPU_HAS_LLSC
1213 select CPU_HAS_PREFETCH 1230 select CPU_HAS_PREFETCH
1214 select CPU_SUPPORTS_64BIT_KERNEL 1231 select CPU_SUPPORTS_64BIT_KERNEL
1215 help 1232 help
@@ -1219,6 +1236,7 @@ config CPU_R8000
1219config CPU_R10000 1236config CPU_R10000
1220 bool "R10000" 1237 bool "R10000"
1221 depends on SYS_HAS_CPU_R10000 1238 depends on SYS_HAS_CPU_R10000
1239 select CPU_HAS_LLSC
1222 select CPU_HAS_PREFETCH 1240 select CPU_HAS_PREFETCH
1223 select CPU_SUPPORTS_32BIT_KERNEL 1241 select CPU_SUPPORTS_32BIT_KERNEL
1224 select CPU_SUPPORTS_64BIT_KERNEL 1242 select CPU_SUPPORTS_64BIT_KERNEL
@@ -1229,6 +1247,7 @@ config CPU_R10000
1229config CPU_RM7000 1247config CPU_RM7000
1230 bool "RM7000" 1248 bool "RM7000"
1231 depends on SYS_HAS_CPU_RM7000 1249 depends on SYS_HAS_CPU_RM7000
1250 select CPU_HAS_LLSC
1232 select CPU_HAS_PREFETCH 1251 select CPU_HAS_PREFETCH
1233 select CPU_SUPPORTS_32BIT_KERNEL 1252 select CPU_SUPPORTS_32BIT_KERNEL
1234 select CPU_SUPPORTS_64BIT_KERNEL 1253 select CPU_SUPPORTS_64BIT_KERNEL
@@ -1237,6 +1256,7 @@ config CPU_RM7000
1237config CPU_RM9000 1256config CPU_RM9000
1238 bool "RM9000" 1257 bool "RM9000"
1239 depends on SYS_HAS_CPU_RM9000 1258 depends on SYS_HAS_CPU_RM9000
1259 select CPU_HAS_LLSC
1240 select CPU_HAS_PREFETCH 1260 select CPU_HAS_PREFETCH
1241 select CPU_SUPPORTS_32BIT_KERNEL 1261 select CPU_SUPPORTS_32BIT_KERNEL
1242 select CPU_SUPPORTS_64BIT_KERNEL 1262 select CPU_SUPPORTS_64BIT_KERNEL
@@ -1245,6 +1265,7 @@ config CPU_RM9000
1245config CPU_SB1 1265config CPU_SB1
1246 bool "SB1" 1266 bool "SB1"
1247 depends on SYS_HAS_CPU_SB1 1267 depends on SYS_HAS_CPU_SB1
1268 select CPU_HAS_LLSC
1248 select CPU_SUPPORTS_32BIT_KERNEL 1269 select CPU_SUPPORTS_32BIT_KERNEL
1249 select CPU_SUPPORTS_64BIT_KERNEL 1270 select CPU_SUPPORTS_64BIT_KERNEL
1250 select CPU_SUPPORTS_HIGHMEM 1271 select CPU_SUPPORTS_HIGHMEM
@@ -1390,13 +1411,12 @@ config PAGE_SIZE_8KB
1390 1411
1391config PAGE_SIZE_16KB 1412config PAGE_SIZE_16KB
1392 bool "16kB" 1413 bool "16kB"
1393 depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX 1414 depends on !CPU_R3000 && !CPU_TX39XX
1394 help 1415 help
1395 Using 16kB page size will result in higher performance kernel at 1416 Using 16kB page size will result in higher performance kernel at
1396 the price of higher memory consumption. This option is available on 1417 the price of higher memory consumption. This option is available on
1397 all non-R3000 family processor. Not that at the time of this 1418 all non-R3000 family processors. Note that you will need a suitable
1398 writing this option is still high experimental; there are also 1419 Linux distribution to support this.
1399 issues with compatibility of user applications.
1400 1420
1401config PAGE_SIZE_64KB 1421config PAGE_SIZE_64KB
1402 bool "64kB" 1422 bool "64kB"
@@ -1405,8 +1425,7 @@ config PAGE_SIZE_64KB
1405 Using 64kB page size will result in higher performance kernel at 1425 Using 64kB page size will result in higher performance kernel at
1406 the price of higher memory consumption. This option is available on 1426 the price of higher memory consumption. This option is available on
1407 all non-R3000 family processor. Not that at the time of this 1427 all non-R3000 family processor. Not that at the time of this
1408 writing this option is still high experimental; there are also 1428 writing this option is still high experimental.
1409 issues with compatibility of user applications.
1410 1429
1411endchoice 1430endchoice
1412 1431
@@ -1443,6 +1462,12 @@ choice
1443 prompt "MIPS MT options" 1462 prompt "MIPS MT options"
1444 depends on MIPS_MT 1463 depends on MIPS_MT
1445 1464
1465config MIPS_MT_SMTC
1466 bool "SMTC: Use all TCs on all VPEs for SMP"
1467 select CPU_MIPSR2_IRQ_VI
1468 select CPU_MIPSR2_SRS
1469 select SMP
1470
1446config MIPS_MT_SMP 1471config MIPS_MT_SMP
1447 bool "Use 1 TC on each available VPE for SMP" 1472 bool "Use 1 TC on each available VPE for SMP"
1448 select SMP 1473 select SMP
@@ -1456,6 +1481,11 @@ config MIPS_VPE_LOADER
1456 1481
1457endchoice 1482endchoice
1458 1483
1484config MIPS_MT_FPAFF
1485 bool "Dynamic FPU affinity for FP-intensive threads"
1486 depends on MIPS_MT
1487 default y
1488
1459config MIPS_VPE_LOADER_TOM 1489config MIPS_VPE_LOADER_TOM
1460 bool "Load VPE program into memory hidden from linux" 1490 bool "Load VPE program into memory hidden from linux"
1461 depends on MIPS_VPE_LOADER 1491 depends on MIPS_VPE_LOADER
@@ -1472,6 +1502,16 @@ config MIPS_VPE_APSP_API
1472 depends on MIPS_VPE_LOADER 1502 depends on MIPS_VPE_LOADER
1473 help 1503 help
1474 1504
1505config MIPS_APSP_KSPD
1506 bool "Enable KSPD"
1507 depends on MIPS_VPE_APSP_API
1508 default y
1509 help
1510 KSPD is a kernel daemon that accepts syscall requests from the SP
1511 side, actions them and returns the results. It also handles the
1512 "exit" syscall notifying other kernel modules the SP program is
1513 exiting. You probably want to say yes here.
1514
1475config SB1_PASS_1_WORKAROUNDS 1515config SB1_PASS_1_WORKAROUNDS
1476 bool 1516 bool
1477 depends on CPU_SB1_PASS_1 1517 depends on CPU_SB1_PASS_1
@@ -1491,38 +1531,15 @@ config 64BIT_PHYS_ADDR
1491 bool "Support for 64-bit physical address space" 1531 bool "Support for 64-bit physical address space"
1492 depends on (CPU_R4X00 || CPU_R5000 || CPU_RM7000 || CPU_RM9000 || CPU_R10000 || CPU_SB1 || CPU_MIPS32 || CPU_MIPS64) && 32BIT 1532 depends on (CPU_R4X00 || CPU_R5000 || CPU_RM7000 || CPU_RM9000 || CPU_R10000 || CPU_SB1 || CPU_MIPS32 || CPU_MIPS64) && 32BIT
1493 1533
1494config CPU_ADVANCED
1495 bool "Override CPU Options"
1496 depends on 32BIT
1497 help
1498 Saying yes here allows you to select support for various features
1499 your CPU may or may not have. Most people should say N here.
1500
1501config CPU_HAS_LLSC 1534config CPU_HAS_LLSC
1502 bool "ll/sc Instructions available" if CPU_ADVANCED 1535 bool
1503 default y if !CPU_ADVANCED && !CPU_R3000 && !CPU_VR41XX && !CPU_TX39XX
1504 help
1505 MIPS R4000 series and later provide the Load Linked (ll)
1506 and Store Conditional (sc) instructions. More information is
1507 available at <http://www.go-ecs.com/mips/miptek1.htm>.
1508
1509 Say Y here if your CPU has the ll and sc instructions. Say Y here
1510 for better performance, N if you don't know. You must say Y here
1511 for multiprocessor machines.
1512 1536
1513config CPU_HAS_WB 1537config CPU_HAS_WB
1514 bool "Writeback Buffer available" if CPU_ADVANCED 1538 bool
1515 default y if !CPU_ADVANCED && CPU_R3000 && MACH_DECSTATION
1516 help
1517 Say N here for slightly better performance. You must say Y here for
1518 machines which require flushing of write buffers in software. Saying
1519 Y is the safe option; N may result in kernel malfunction and crashes.
1520
1521menu "MIPSR2 Interrupt handling"
1522 depends on CPU_MIPSR2 && CPU_ADVANCED
1523 1539
1524config CPU_MIPSR2_IRQ_VI 1540config CPU_MIPSR2_IRQ_VI
1525 bool "Vectored interrupt mode" 1541 bool "Vectored interrupt mode"
1542 depends on CPU_MIPSR2
1526 help 1543 help
1527 Vectored interrupt mode allowing faster dispatching of interrupts. 1544 Vectored interrupt mode allowing faster dispatching of interrupts.
1528 The board support code needs to be written to take advantage of this 1545 The board support code needs to be written to take advantage of this
@@ -1532,6 +1549,7 @@ config CPU_MIPSR2_IRQ_VI
1532 1549
1533config CPU_MIPSR2_IRQ_EI 1550config CPU_MIPSR2_IRQ_EI
1534 bool "External interrupt controller mode" 1551 bool "External interrupt controller mode"
1552 depends on CPU_MIPSR2
1535 help 1553 help
1536 Extended interrupt mode takes advantage of an external interrupt 1554 Extended interrupt mode takes advantage of an external interrupt
1537 controller to allow fast dispatching from many possible interrupt 1555 controller to allow fast dispatching from many possible interrupt
@@ -1545,7 +1563,6 @@ config CPU_MIPSR2_SRS
1545 Allow the kernel to use shadow register sets for fast interrupts. 1563 Allow the kernel to use shadow register sets for fast interrupts.
1546 Interrupt handlers must be specially written to use shadow sets. 1564 Interrupt handlers must be specially written to use shadow sets.
1547 Say N unless you know that shadow register set upport is needed. 1565 Say N unless you know that shadow register set upport is needed.
1548endmenu
1549 1566
1550config CPU_HAS_SYNC 1567config CPU_HAS_SYNC
1551 bool 1568 bool
@@ -1599,7 +1616,7 @@ source "mm/Kconfig"
1599 1616
1600config SMP 1617config SMP
1601 bool "Multi-Processing support" 1618 bool "Multi-Processing support"
1602 depends on CPU_RM9000 || ((SIBYTE_BCM1x80 || SIBYTE_BCM1x55 || SIBYTE_SB1250 || QEMU) && !SIBYTE_STANDALONE) || SGI_IP27 || MIPS_MT_SMP 1619 depends on CPU_RM9000 || ((SIBYTE_BCM1x80 || SIBYTE_BCM1x55 || SIBYTE_SB1250 || QEMU) && !SIBYTE_STANDALONE) || SGI_IP27 || MIPS_MT_SMP || MIPS_MT_SMTC
1603 ---help--- 1620 ---help---
1604 This enables support for systems with more than one CPU. If you have 1621 This enables support for systems with more than one CPU. If you have
1605 a system with only one CPU, like most personal computers, say N. If 1622 a system with only one CPU, like most personal computers, say N. If
diff --git a/arch/mips/Kconfig.debug b/arch/mips/Kconfig.debug
index d3c5cc3b9c9d..515f9e611307 100644
--- a/arch/mips/Kconfig.debug
+++ b/arch/mips/Kconfig.debug
@@ -6,7 +6,13 @@ config CROSSCOMPILE
6 bool "Are you using a crosscompiler" 6 bool "Are you using a crosscompiler"
7 help 7 help
8 Say Y here if you are compiling the kernel on a different 8 Say Y here if you are compiling the kernel on a different
9 architecture than the one it is intended to run on. 9 architecture than the one it is intended to run on. This is just a
10 convenience option which will select the appropriate value for
11 the CROSS_COMPILE make variable which otherwise has to be passed on
12 the command line from mips-linux-, mipsel-linux-, mips64-linux- and
13 mips64el-linux- as appropriate for a particular kernel configuration.
14 You will have to pass the value for CROSS_COMPILE manually if the
15 name prefix for your tools is different.
10 16
11config CMDLINE 17config CMDLINE
12 string "Default kernel command string" 18 string "Default kernel command string"
diff --git a/arch/mips/Makefile b/arch/mips/Makefile
index 9a69e0f0ab76..133900aca992 100644
--- a/arch/mips/Makefile
+++ b/arch/mips/Makefile
@@ -105,18 +105,18 @@ cflags-$(CONFIG_CPU_R4300) += -march=r4300 -Wa,--trap
105cflags-$(CONFIG_CPU_VR41XX) += -march=r4100 -Wa,--trap 105cflags-$(CONFIG_CPU_VR41XX) += -march=r4100 -Wa,--trap
106cflags-$(CONFIG_CPU_R4X00) += -march=r4600 -Wa,--trap 106cflags-$(CONFIG_CPU_R4X00) += -march=r4600 -Wa,--trap
107cflags-$(CONFIG_CPU_TX49XX) += -march=r4600 -Wa,--trap 107cflags-$(CONFIG_CPU_TX49XX) += -march=r4600 -Wa,--trap
108cflags-$(CONFIG_CPU_MIPS32_R1) += $(call cc-option,-march=mips32,-mips2 -mtune=r4600) \ 108cflags-$(CONFIG_CPU_MIPS32_R1) += $(call cc-option,-march=mips32,-mips32 -U_MIPS_ISA -D_MIPS_ISA=_MIPS_ISA_MIPS32) \
109 -Wa,-mips32 -Wa,--trap 109 -Wa,-mips32 -Wa,--trap
110cflags-$(CONFIG_CPU_MIPS32_R2) += $(call cc-option,-march=mips32r2,-mips2 -mtune=r4600) \ 110cflags-$(CONFIG_CPU_MIPS32_R2) += $(call cc-option,-march=mips32r2,-mips32r2 -U_MIPS_ISA -D_MIPS_ISA=_MIPS_ISA_MIPS32) \
111 -Wa,-mips32r2 -Wa,--trap 111 -Wa,-mips32r2 -Wa,--trap
112cflags-$(CONFIG_CPU_MIPS64_R1) += $(call cc-option,-march=mips64,-mips2 -mtune=r4600) \ 112cflags-$(CONFIG_CPU_MIPS64_R1) += $(call cc-option,-march=mips64,-mips64 -U_MIPS_ISA -D_MIPS_ISA=_MIPS_ISA_MIPS64) \
113 -Wa,-mips64 -Wa,--trap 113 -Wa,-mips64 -Wa,--trap
114cflags-$(CONFIG_CPU_MIPS64_R2) += $(call cc-option,-march=mips64r2,-mips2 -mtune=r4600 ) \ 114cflags-$(CONFIG_CPU_MIPS64_R2) += $(call cc-option,-march=mips64r2,-mips64r2 -U_MIPS_ISA -D_MIPS_ISA=_MIPS_ISA_MIPS64) \
115 -Wa,-mips64r2 -Wa,--trap 115 -Wa,-mips64r2 -Wa,--trap
116cflags-$(CONFIG_CPU_R5000) += -march=r5000 -Wa,--trap 116cflags-$(CONFIG_CPU_R5000) += -march=r5000 -Wa,--trap
117cflags-$(CONFIG_CPU_R5432) += $(call cc-options,-march=r5400,-march=r5000) \ 117cflags-$(CONFIG_CPU_R5432) += $(call cc-option,-march=r5400,-march=r5000) \
118 -Wa,--trap 118 -Wa,--trap
119cflags-$(CONFIG_CPU_NEVADA) += $(call cc-options,-march=rm5200,-march=r5000) \ 119cflags-$(CONFIG_CPU_NEVADA) += $(call cc-option,-march=rm5200,-march=r5000) \
120 -Wa,--trap 120 -Wa,--trap
121cflags-$(CONFIG_CPU_RM7000) += $(call cc-option,-march=rm7000,-march=r5000) \ 121cflags-$(CONFIG_CPU_RM7000) += $(call cc-option,-march=rm7000,-march=r5000) \
122 -Wa,--trap 122 -Wa,--trap
@@ -615,7 +615,10 @@ LDFLAGS += -m $(ld-emul)
615ifdef CONFIG_MIPS 615ifdef CONFIG_MIPS
616CHECKFLAGS += $(shell $(CC) $(CFLAGS) -dM -E -xc /dev/null | \ 616CHECKFLAGS += $(shell $(CC) $(CFLAGS) -dM -E -xc /dev/null | \
617 egrep -vw '__GNUC_(MAJOR|MINOR|PATCHLEVEL)__' | \ 617 egrep -vw '__GNUC_(MAJOR|MINOR|PATCHLEVEL)__' | \
618 sed -e 's/^\#define /-D/' -e 's/ /="/' -e 's/$$/"/') 618 sed -e 's/^\#define /-D/' -e "s/ /='/" -e "s/$$/'/")
619ifdef CONFIG_64BIT
620CHECKFLAGS += -m64
621endif
619endif 622endif
620 623
621OBJCOPYFLAGS += --remove-section=.reginfo 624OBJCOPYFLAGS += --remove-section=.reginfo
diff --git a/arch/mips/au1000/common/Makefile b/arch/mips/au1000/common/Makefile
index a1edfd1f643c..bf682f50b859 100644
--- a/arch/mips/au1000/common/Makefile
+++ b/arch/mips/au1000/common/Makefile
@@ -6,7 +6,7 @@
6# Makefile for the Alchemy Au1000 CPU, generic files. 6# Makefile for the Alchemy Au1000 CPU, generic files.
7# 7#
8 8
9obj-y += prom.o int-handler.o irq.o puts.o time.o reset.o \ 9obj-y += prom.o irq.o puts.o time.o reset.o \
10 au1xxx_irqmap.o clocks.o platform.o power.o setup.o \ 10 au1xxx_irqmap.o clocks.o platform.o power.o setup.o \
11 sleeper.o cputable.o dma.o dbdma.o gpio.o 11 sleeper.o cputable.o dma.o dbdma.o gpio.o
12 12
diff --git a/arch/mips/au1000/common/int-handler.S b/arch/mips/au1000/common/int-handler.S
deleted file mode 100644
index 1c4ca883321e..000000000000
--- a/arch/mips/au1000/common/int-handler.S
+++ /dev/null
@@ -1,68 +0,0 @@
1/*
2 * Copyright 2001 MontaVista Software Inc.
3 * Author: ppopov@mvista.com
4 *
5 * Interrupt dispatcher for Au1000 boards.
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#include <asm/asm.h>
13#include <asm/mipsregs.h>
14#include <asm/addrspace.h>
15#include <asm/regdef.h>
16#include <asm/stackframe.h>
17
18 .text
19 .set macro
20 .set noat
21 .align 5
22
23NESTED(au1000_IRQ, PT_SIZE, sp)
24 SAVE_ALL
25 CLI # Important: mark KERNEL mode !
26
27 mfc0 t0,CP0_CAUSE # get pending interrupts
28 mfc0 t1,CP0_STATUS # get enabled interrupts
29 and t0,t1 # isolate allowed ones
30
31 andi t0,0xff00 # isolate pending bits
32 beqz t0, 3f # spurious interrupt
33
34 andi a0, t0, CAUSEF_IP7
35 beq a0, zero, 1f
36 move a0, sp
37 jal mips_timer_interrupt
38 j ret_from_irq
39
401:
41 andi a0, t0, CAUSEF_IP2 # Interrupt Controller 0, Request 0
42 beq a0, zero, 2f
43 move a0,sp
44 jal intc0_req0_irqdispatch
45 j ret_from_irq
462:
47 andi a0, t0, CAUSEF_IP3 # Interrupt Controller 0, Request 1
48 beq a0, zero, 3f
49 move a0,sp
50 jal intc0_req1_irqdispatch
51 j ret_from_irq
523:
53 andi a0, t0, CAUSEF_IP4 # Interrupt Controller 1, Request 0
54 beq a0, zero, 4f
55 move a0,sp
56 jal intc1_req0_irqdispatch
57 j ret_from_irq
584:
59 andi a0, t0, CAUSEF_IP5 # Interrupt Controller 1, Request 1
60 beq a0, zero, 5f
61 move a0, sp
62 jal intc1_req1_irqdispatch
63 j ret_from_irq
64
655:
66 move a0, sp
67 j spurious_interrupt
68END(au1000_IRQ)
diff --git a/arch/mips/au1000/common/irq.c b/arch/mips/au1000/common/irq.c
index 1339a0979f66..afe05ec12c27 100644
--- a/arch/mips/au1000/common/irq.c
+++ b/arch/mips/au1000/common/irq.c
@@ -66,9 +66,9 @@
66#define EXT_INTC1_REQ1 5 /* IP 5 */ 66#define EXT_INTC1_REQ1 5 /* IP 5 */
67#define MIPS_TIMER_IP 7 /* IP 7 */ 67#define MIPS_TIMER_IP 7 /* IP 7 */
68 68
69extern asmlinkage void au1000_IRQ(void);
70extern void set_debug_traps(void); 69extern void set_debug_traps(void);
71extern irq_cpustat_t irq_stat [NR_CPUS]; 70extern irq_cpustat_t irq_stat [NR_CPUS];
71extern void mips_timer_interrupt(struct pt_regs *regs);
72 72
73static void setup_local_irq(unsigned int irq, int type, int int_req); 73static void setup_local_irq(unsigned int irq, int type, int int_req);
74static unsigned int startup_irq(unsigned int irq); 74static unsigned int startup_irq(unsigned int irq);
@@ -446,7 +446,6 @@ void __init arch_init_irq(void)
446 extern int au1xxx_ic0_nr_irqs; 446 extern int au1xxx_ic0_nr_irqs;
447 447
448 cp0_status = read_c0_status(); 448 cp0_status = read_c0_status();
449 set_except_vector(0, au1000_IRQ);
450 449
451 /* Initialize interrupt controllers to a safe state. 450 /* Initialize interrupt controllers to a safe state.
452 */ 451 */
@@ -661,3 +660,21 @@ restore_au1xxx_intctl(void)
661 au_writel(sleep_intctl_mask[0], IC0_MASKSET); au_sync(); 660 au_writel(sleep_intctl_mask[0], IC0_MASKSET); au_sync();
662} 661}
663#endif /* CONFIG_PM */ 662#endif /* CONFIG_PM */
663
664asmlinkage void plat_irq_dispatch(struct pt_regs *regs)
665{
666 unsigned int pending = read_c0_status() & read_c0_cause() & ST0_IM;
667
668 if (pending & CAUSEF_IP7)
669 mips_timer_interrupt(regs);
670 else if (pending & CAUSEF_IP2)
671 intc0_req0_irqdispatch(regs);
672 else if (pending & CAUSEF_IP3)
673 intc0_req1_irqdispatch(regs);
674 else if (pending & CAUSEF_IP4)
675 intc1_req0_irqdispatch(regs);
676 else if (pending & CAUSEF_IP5)
677 intc1_req1_irqdispatch(regs);
678 else
679 spurious_interrupt(regs);
680}
diff --git a/arch/mips/au1000/common/prom.c b/arch/mips/au1000/common/prom.c
index 9c171afd9a53..ae7d8c57bf3f 100644
--- a/arch/mips/au1000/common/prom.c
+++ b/arch/mips/au1000/common/prom.c
@@ -1,10 +1,9 @@
1/* 1/*
2 * 2 *
3 * BRIEF MODULE DESCRIPTION 3 * BRIEF MODULE DESCRIPTION
4 * PROM library initialisation code, assuming a version of 4 * PROM library initialisation code, assuming YAMON is the boot loader.
5 * pmon is the boot code.
6 * 5 *
7 * Copyright 2000,2001 MontaVista Software Inc. 6 * Copyright 2000, 2001, 2006 MontaVista Software Inc.
8 * Author: MontaVista Software, Inc. 7 * Author: MontaVista Software, Inc.
9 * ppopov@mvista.com or source@mvista.com 8 * ppopov@mvista.com or source@mvista.com
10 * 9 *
@@ -49,9 +48,9 @@ extern char **prom_argv, **prom_envp;
49 48
50typedef struct 49typedef struct
51{ 50{
52 char *name; 51 char *name;
53/* char *val; */ 52 char *val;
54}t_env_var; 53} t_env_var;
55 54
56 55
57char * prom_getcmdline(void) 56char * prom_getcmdline(void)
@@ -85,21 +84,16 @@ char *prom_getenv(char *envname)
85{ 84{
86 /* 85 /*
87 * Return a pointer to the given environment variable. 86 * Return a pointer to the given environment variable.
88 * Environment variables are stored in the form of "memsize=64".
89 */ 87 */
90 88
91 t_env_var *env = (t_env_var *)prom_envp; 89 t_env_var *env = (t_env_var *)prom_envp;
92 int i;
93
94 i = strlen(envname);
95 90
96 while(env->name) { 91 while (env->name) {
97 if(strncmp(envname, env->name, i) == 0) { 92 if (strcmp(envname, env->name) == 0)
98 return(env->name + strlen(envname) + 1); 93 return env->val;
99 }
100 env++; 94 env++;
101 } 95 }
102 return(NULL); 96 return NULL;
103} 97}
104 98
105inline unsigned char str2hexnum(unsigned char c) 99inline unsigned char str2hexnum(unsigned char c)
diff --git a/arch/mips/au1000/common/sleeper.S b/arch/mips/au1000/common/sleeper.S
index 44dac3b0df3b..683d9da84b66 100644
--- a/arch/mips/au1000/common/sleeper.S
+++ b/arch/mips/au1000/common/sleeper.S
@@ -112,6 +112,11 @@ sdsleep:
112 mtc0 k0, CP0_PAGEMASK 112 mtc0 k0, CP0_PAGEMASK
113 lw k0, 0x14(sp) 113 lw k0, 0x14(sp)
114 mtc0 k0, CP0_CONFIG 114 mtc0 k0, CP0_CONFIG
115
116 /* We need to catch the ealry Alchemy SOCs with
117 * the write-only Config[OD] bit and set it back to one...
118 */
119 jal au1x00_fixup_config_od
115 lw $1, PT_R1(sp) 120 lw $1, PT_R1(sp)
116 lw $2, PT_R2(sp) 121 lw $2, PT_R2(sp)
117 lw $3, PT_R3(sp) 122 lw $3, PT_R3(sp)
diff --git a/arch/mips/au1000/common/time.c b/arch/mips/au1000/common/time.c
index f85f1524b366..f74d66a58a21 100644
--- a/arch/mips/au1000/common/time.c
+++ b/arch/mips/au1000/common/time.c
@@ -116,6 +116,7 @@ void mips_timer_interrupt(struct pt_regs *regs)
116 116
117null: 117null:
118 ack_r4ktimer(0); 118 ack_r4ktimer(0);
119 irq_exit();
119} 120}
120 121
121#ifdef CONFIG_PM 122#ifdef CONFIG_PM
diff --git a/arch/mips/cobalt/Makefile b/arch/mips/cobalt/Makefile
index 720e757b2b64..225ac8f34ccd 100644
--- a/arch/mips/cobalt/Makefile
+++ b/arch/mips/cobalt/Makefile
@@ -2,7 +2,7 @@
2# Makefile for the Cobalt micro systems family specific parts of the kernel 2# Makefile for the Cobalt micro systems family specific parts of the kernel
3# 3#
4 4
5obj-y := irq.o int-handler.o reset.o setup.o 5obj-y := irq.o reset.o setup.o
6 6
7obj-$(CONFIG_EARLY_PRINTK) += console.o 7obj-$(CONFIG_EARLY_PRINTK) += console.o
8 8
diff --git a/arch/mips/cobalt/int-handler.S b/arch/mips/cobalt/int-handler.S
deleted file mode 100644
index e75d5e3ca868..000000000000
--- a/arch/mips/cobalt/int-handler.S
+++ /dev/null
@@ -1,25 +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) 1995, 1996, 1997, 2003 by Ralf Baechle
7 * Copyright (C) 2001, 2002, 2003 by Liam Davies (ldavies@agile.tv)
8 */
9#include <asm/asm.h>
10#include <asm/mipsregs.h>
11#include <asm/mach-cobalt/cobalt.h>
12#include <asm/regdef.h>
13#include <asm/stackframe.h>
14
15 .text
16 .align 5
17 NESTED(cobalt_handle_int, PT_SIZE, sp)
18 SAVE_ALL
19 CLI
20
21 PTR_LA ra, ret_from_irq
22 move a0, sp
23 j cobalt_irq
24
25 END(cobalt_handle_int)
diff --git a/arch/mips/cobalt/irq.c b/arch/mips/cobalt/irq.c
index f9a108820d6e..0b75f4fb7195 100644
--- a/arch/mips/cobalt/irq.c
+++ b/arch/mips/cobalt/irq.c
@@ -20,8 +20,6 @@
20 20
21#include <asm/mach-cobalt/cobalt.h> 21#include <asm/mach-cobalt/cobalt.h>
22 22
23extern void cobalt_handle_int(void);
24
25/* 23/*
26 * We have two types of interrupts that we handle, ones that come in through 24 * We have two types of interrupts that we handle, ones that come in through
27 * the CPU interrupt lines, and ones that come in on the via chip. The CPU 25 * the CPU interrupt lines, and ones that come in on the via chip. The CPU
@@ -79,7 +77,7 @@ static inline void via_pic_irq(struct pt_regs *regs)
79 do_IRQ(irq, regs); 77 do_IRQ(irq, regs);
80} 78}
81 79
82asmlinkage void cobalt_irq(struct pt_regs *regs) 80asmlinkage void plat_irq_dispatch(struct pt_regs *regs)
83{ 81{
84 unsigned pending; 82 unsigned pending;
85 83
@@ -122,8 +120,6 @@ void __init arch_init_irq(void)
122 */ 120 */
123 GALILEO_OUTL(0, GT_INTRMASK_OFS); 121 GALILEO_OUTL(0, GT_INTRMASK_OFS);
124 122
125 set_except_vector(0, cobalt_handle_int);
126
127 init_i8259_irqs(); /* 0 ... 15 */ 123 init_i8259_irqs(); /* 0 ... 15 */
128 mips_cpu_irq_init(COBALT_CPU_IRQ); /* 16 ... 23 */ 124 mips_cpu_irq_init(COBALT_CPU_IRQ); /* 16 ... 23 */
129 125
diff --git a/arch/mips/configs/atlas_defconfig b/arch/mips/configs/atlas_defconfig
index 9e1ae953e966..4b080bcb258f 100644
--- a/arch/mips/configs/atlas_defconfig
+++ b/arch/mips/configs/atlas_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.16-rc1 3# Linux kernel version: 2.6.17-rc2
4# Fri Jan 27 15:39:52 2006 4# Mon Apr 24 14:50:55 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -64,6 +64,8 @@ CONFIG_MIPS_ATLAS=y
64# CONFIG_TOSHIBA_RBTX4927 is not set 64# CONFIG_TOSHIBA_RBTX4927 is not set
65# CONFIG_TOSHIBA_RBTX4938 is not set 65# CONFIG_TOSHIBA_RBTX4938 is not set
66CONFIG_RWSEM_GENERIC_SPINLOCK=y 66CONFIG_RWSEM_GENERIC_SPINLOCK=y
67CONFIG_GENERIC_FIND_NEXT_BIT=y
68CONFIG_GENERIC_HWEIGHT=y
67CONFIG_GENERIC_CALIBRATE_DELAY=y 69CONFIG_GENERIC_CALIBRATE_DELAY=y
68CONFIG_DMA_NONCOHERENT=y 70CONFIG_DMA_NONCOHERENT=y
69CONFIG_DMA_NEED_PCI_MAP_STATE=y 71CONFIG_DMA_NEED_PCI_MAP_STATE=y
@@ -127,11 +129,11 @@ CONFIG_RM7000_CPU_SCACHE=y
127CONFIG_CPU_HAS_PREFETCH=y 129CONFIG_CPU_HAS_PREFETCH=y
128# CONFIG_MIPS_MT is not set 130# CONFIG_MIPS_MT is not set
129# CONFIG_64BIT_PHYS_ADDR is not set 131# CONFIG_64BIT_PHYS_ADDR is not set
130# CONFIG_CPU_ADVANCED is not set
131CONFIG_CPU_HAS_LLSC=y 132CONFIG_CPU_HAS_LLSC=y
132CONFIG_CPU_HAS_SYNC=y 133CONFIG_CPU_HAS_SYNC=y
133CONFIG_GENERIC_HARDIRQS=y 134CONFIG_GENERIC_HARDIRQS=y
134CONFIG_GENERIC_IRQ_PROBE=y 135CONFIG_GENERIC_IRQ_PROBE=y
136CONFIG_CPU_SUPPORTS_HIGHMEM=y
135CONFIG_ARCH_FLATMEM_ENABLE=y 137CONFIG_ARCH_FLATMEM_ENABLE=y
136CONFIG_SELECT_MEMORY_MODEL=y 138CONFIG_SELECT_MEMORY_MODEL=y
137CONFIG_FLATMEM_MANUAL=y 139CONFIG_FLATMEM_MANUAL=y
@@ -149,7 +151,6 @@ CONFIG_PREEMPT_NONE=y
149# Code maturity level options 151# Code maturity level options
150# 152#
151CONFIG_EXPERIMENTAL=y 153CONFIG_EXPERIMENTAL=y
152CONFIG_CLEAN_COMPILE=y
153CONFIG_BROKEN_ON_SMP=y 154CONFIG_BROKEN_ON_SMP=y
154CONFIG_INIT_ENV_ARG_LIMIT=32 155CONFIG_INIT_ENV_ARG_LIMIT=32
155 156
@@ -165,6 +166,7 @@ CONFIG_SYSVIPC=y
165CONFIG_SYSCTL=y 166CONFIG_SYSCTL=y
166# CONFIG_AUDIT is not set 167# CONFIG_AUDIT is not set
167# CONFIG_IKCONFIG is not set 168# CONFIG_IKCONFIG is not set
169CONFIG_RELAY=y
168CONFIG_INITRAMFS_SOURCE="" 170CONFIG_INITRAMFS_SOURCE=""
169# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 171# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
170CONFIG_EMBEDDED=y 172CONFIG_EMBEDDED=y
@@ -178,10 +180,6 @@ CONFIG_BASE_FULL=y
178CONFIG_FUTEX=y 180CONFIG_FUTEX=y
179CONFIG_EPOLL=y 181CONFIG_EPOLL=y
180CONFIG_SHMEM=y 182CONFIG_SHMEM=y
181CONFIG_CC_ALIGN_FUNCTIONS=0
182CONFIG_CC_ALIGN_LABELS=0
183CONFIG_CC_ALIGN_LOOPS=0
184CONFIG_CC_ALIGN_JUMPS=0
185CONFIG_SLAB=y 183CONFIG_SLAB=y
186# CONFIG_TINY_SHMEM is not set 184# CONFIG_TINY_SHMEM is not set
187CONFIG_BASE_SMALL=0 185CONFIG_BASE_SMALL=0
@@ -193,7 +191,6 @@ CONFIG_BASE_SMALL=0
193CONFIG_MODULES=y 191CONFIG_MODULES=y
194CONFIG_MODULE_UNLOAD=y 192CONFIG_MODULE_UNLOAD=y
195# CONFIG_MODULE_FORCE_UNLOAD is not set 193# CONFIG_MODULE_FORCE_UNLOAD is not set
196CONFIG_OBSOLETE_MODPARM=y
197CONFIG_MODVERSIONS=y 194CONFIG_MODVERSIONS=y
198CONFIG_MODULE_SRCVERSION_ALL=y 195CONFIG_MODULE_SRCVERSION_ALL=y
199CONFIG_KMOD=y 196CONFIG_KMOD=y
@@ -202,6 +199,8 @@ CONFIG_KMOD=y
202# Block layer 199# Block layer
203# 200#
204# CONFIG_LBD is not set 201# CONFIG_LBD is not set
202# CONFIG_BLK_DEV_IO_TRACE is not set
203# CONFIG_LSF is not set
205 204
206# 205#
207# IO Schedulers 206# IO Schedulers
@@ -221,7 +220,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
221# 220#
222CONFIG_HW_HAS_PCI=y 221CONFIG_HW_HAS_PCI=y
223CONFIG_PCI=y 222CONFIG_PCI=y
224CONFIG_PCI_LEGACY_PROC=y
225CONFIG_MMU=y 223CONFIG_MMU=y
226 224
227# 225#
@@ -249,6 +247,7 @@ CONFIG_NET=y
249# 247#
250# Networking options 248# Networking options
251# 249#
250# CONFIG_NETDEBUG is not set
252CONFIG_PACKET=y 251CONFIG_PACKET=y
253CONFIG_PACKET_MMAP=y 252CONFIG_PACKET_MMAP=y
254CONFIG_UNIX=y 253CONFIG_UNIX=y
@@ -281,6 +280,7 @@ CONFIG_SYN_COOKIES=y
281CONFIG_INET_AH=m 280CONFIG_INET_AH=m
282CONFIG_INET_ESP=m 281CONFIG_INET_ESP=m
283CONFIG_INET_IPCOMP=m 282CONFIG_INET_IPCOMP=m
283CONFIG_INET_XFRM_TUNNEL=m
284CONFIG_INET_TUNNEL=m 284CONFIG_INET_TUNNEL=m
285CONFIG_INET_DIAG=y 285CONFIG_INET_DIAG=y
286CONFIG_INET_TCP_DIAG=y 286CONFIG_INET_TCP_DIAG=y
@@ -322,9 +322,12 @@ CONFIG_IP_VS_NQ=m
322CONFIG_IP_VS_FTP=m 322CONFIG_IP_VS_FTP=m
323CONFIG_IPV6=m 323CONFIG_IPV6=m
324CONFIG_IPV6_PRIVACY=y 324CONFIG_IPV6_PRIVACY=y
325CONFIG_IPV6_ROUTER_PREF=y
326CONFIG_IPV6_ROUTE_INFO=y
325CONFIG_INET6_AH=m 327CONFIG_INET6_AH=m
326CONFIG_INET6_ESP=m 328CONFIG_INET6_ESP=m
327CONFIG_INET6_IPCOMP=m 329CONFIG_INET6_IPCOMP=m
330CONFIG_INET6_XFRM_TUNNEL=m
328CONFIG_INET6_TUNNEL=m 331CONFIG_INET6_TUNNEL=m
329CONFIG_IPV6_TUNNEL=m 332CONFIG_IPV6_TUNNEL=m
330CONFIG_NETFILTER=y 333CONFIG_NETFILTER=y
@@ -348,11 +351,14 @@ CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
348CONFIG_NETFILTER_XT_MATCH_CONNMARK=m 351CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
349CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m 352CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
350CONFIG_NETFILTER_XT_MATCH_DCCP=m 353CONFIG_NETFILTER_XT_MATCH_DCCP=m
354CONFIG_NETFILTER_XT_MATCH_ESP=m
351CONFIG_NETFILTER_XT_MATCH_HELPER=m 355CONFIG_NETFILTER_XT_MATCH_HELPER=m
352CONFIG_NETFILTER_XT_MATCH_LENGTH=m 356CONFIG_NETFILTER_XT_MATCH_LENGTH=m
353CONFIG_NETFILTER_XT_MATCH_LIMIT=m 357CONFIG_NETFILTER_XT_MATCH_LIMIT=m
354CONFIG_NETFILTER_XT_MATCH_MAC=m 358CONFIG_NETFILTER_XT_MATCH_MAC=m
355CONFIG_NETFILTER_XT_MATCH_MARK=m 359CONFIG_NETFILTER_XT_MATCH_MARK=m
360CONFIG_NETFILTER_XT_MATCH_POLICY=m
361CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
356CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m 362CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
357CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m 363CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
358CONFIG_NETFILTER_XT_MATCH_REALM=m 364CONFIG_NETFILTER_XT_MATCH_REALM=m
@@ -376,20 +382,19 @@ CONFIG_IP_NF_IRC=m
376CONFIG_IP_NF_TFTP=m 382CONFIG_IP_NF_TFTP=m
377CONFIG_IP_NF_AMANDA=m 383CONFIG_IP_NF_AMANDA=m
378CONFIG_IP_NF_PPTP=m 384CONFIG_IP_NF_PPTP=m
385CONFIG_IP_NF_H323=m
379CONFIG_IP_NF_QUEUE=m 386CONFIG_IP_NF_QUEUE=m
380CONFIG_IP_NF_IPTABLES=m 387CONFIG_IP_NF_IPTABLES=m
381CONFIG_IP_NF_MATCH_IPRANGE=m 388CONFIG_IP_NF_MATCH_IPRANGE=m
382CONFIG_IP_NF_MATCH_MULTIPORT=m
383CONFIG_IP_NF_MATCH_TOS=m 389CONFIG_IP_NF_MATCH_TOS=m
384CONFIG_IP_NF_MATCH_RECENT=m 390CONFIG_IP_NF_MATCH_RECENT=m
385CONFIG_IP_NF_MATCH_ECN=m 391CONFIG_IP_NF_MATCH_ECN=m
386CONFIG_IP_NF_MATCH_DSCP=m 392CONFIG_IP_NF_MATCH_DSCP=m
387CONFIG_IP_NF_MATCH_AH_ESP=m 393CONFIG_IP_NF_MATCH_AH=m
388CONFIG_IP_NF_MATCH_TTL=m 394CONFIG_IP_NF_MATCH_TTL=m
389CONFIG_IP_NF_MATCH_OWNER=m 395CONFIG_IP_NF_MATCH_OWNER=m
390CONFIG_IP_NF_MATCH_ADDRTYPE=m 396CONFIG_IP_NF_MATCH_ADDRTYPE=m
391CONFIG_IP_NF_MATCH_HASHLIMIT=m 397CONFIG_IP_NF_MATCH_HASHLIMIT=m
392CONFIG_IP_NF_MATCH_POLICY=m
393CONFIG_IP_NF_FILTER=m 398CONFIG_IP_NF_FILTER=m
394CONFIG_IP_NF_TARGET_REJECT=m 399CONFIG_IP_NF_TARGET_REJECT=m
395CONFIG_IP_NF_TARGET_LOG=m 400CONFIG_IP_NF_TARGET_LOG=m
@@ -407,6 +412,7 @@ CONFIG_IP_NF_NAT_FTP=m
407CONFIG_IP_NF_NAT_TFTP=m 412CONFIG_IP_NF_NAT_TFTP=m
408CONFIG_IP_NF_NAT_AMANDA=m 413CONFIG_IP_NF_NAT_AMANDA=m
409CONFIG_IP_NF_NAT_PPTP=m 414CONFIG_IP_NF_NAT_PPTP=m
415CONFIG_IP_NF_NAT_H323=m
410CONFIG_IP_NF_MANGLE=m 416CONFIG_IP_NF_MANGLE=m
411CONFIG_IP_NF_TARGET_TOS=m 417CONFIG_IP_NF_TARGET_TOS=m
412CONFIG_IP_NF_TARGET_ECN=m 418CONFIG_IP_NF_TARGET_ECN=m
@@ -427,12 +433,10 @@ CONFIG_IP6_NF_MATCH_RT=m
427CONFIG_IP6_NF_MATCH_OPTS=m 433CONFIG_IP6_NF_MATCH_OPTS=m
428CONFIG_IP6_NF_MATCH_FRAG=m 434CONFIG_IP6_NF_MATCH_FRAG=m
429CONFIG_IP6_NF_MATCH_HL=m 435CONFIG_IP6_NF_MATCH_HL=m
430CONFIG_IP6_NF_MATCH_MULTIPORT=m
431CONFIG_IP6_NF_MATCH_OWNER=m 436CONFIG_IP6_NF_MATCH_OWNER=m
432CONFIG_IP6_NF_MATCH_IPV6HEADER=m 437CONFIG_IP6_NF_MATCH_IPV6HEADER=m
433CONFIG_IP6_NF_MATCH_AHESP=m 438CONFIG_IP6_NF_MATCH_AH=m
434CONFIG_IP6_NF_MATCH_EUI64=m 439CONFIG_IP6_NF_MATCH_EUI64=m
435CONFIG_IP6_NF_MATCH_POLICY=m
436CONFIG_IP6_NF_FILTER=m 440CONFIG_IP6_NF_FILTER=m
437CONFIG_IP6_NF_TARGET_LOG=m 441CONFIG_IP6_NF_TARGET_LOG=m
438CONFIG_IP6_NF_TARGET_REJECT=m 442CONFIG_IP6_NF_TARGET_REJECT=m
@@ -478,6 +482,11 @@ CONFIG_IP_SCTP=m
478# CONFIG_SCTP_HMAC_NONE is not set 482# CONFIG_SCTP_HMAC_NONE is not set
479# CONFIG_SCTP_HMAC_SHA1 is not set 483# CONFIG_SCTP_HMAC_SHA1 is not set
480CONFIG_SCTP_HMAC_MD5=y 484CONFIG_SCTP_HMAC_MD5=y
485
486#
487# TIPC Configuration (EXPERIMENTAL)
488#
489# CONFIG_TIPC is not set
481# CONFIG_ATM is not set 490# CONFIG_ATM is not set
482CONFIG_BRIDGE=m 491CONFIG_BRIDGE=m
483CONFIG_VLAN_8021Q=m 492CONFIG_VLAN_8021Q=m
@@ -492,11 +501,6 @@ CONFIG_IPDDP_ENCAP=y
492CONFIG_IPDDP_DECAP=y 501CONFIG_IPDDP_DECAP=y
493# CONFIG_X25 is not set 502# CONFIG_X25 is not set
494# CONFIG_LAPB is not set 503# CONFIG_LAPB is not set
495
496#
497# TIPC Configuration (EXPERIMENTAL)
498#
499# CONFIG_TIPC is not set
500CONFIG_NET_DIVERT=y 504CONFIG_NET_DIVERT=y
501# CONFIG_ECONET is not set 505# CONFIG_ECONET is not set
502# CONFIG_WAN_ROUTER is not set 506# CONFIG_WAN_ROUTER is not set
@@ -556,6 +560,9 @@ CONFIG_IEEE80211=m
556# CONFIG_IEEE80211_DEBUG is not set 560# CONFIG_IEEE80211_DEBUG is not set
557CONFIG_IEEE80211_CRYPT_WEP=m 561CONFIG_IEEE80211_CRYPT_WEP=m
558CONFIG_IEEE80211_CRYPT_CCMP=m 562CONFIG_IEEE80211_CRYPT_CCMP=m
563CONFIG_IEEE80211_SOFTMAC=m
564# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set
565CONFIG_WIRELESS_EXT=y
559 566
560# 567#
561# Device Drivers 568# Device Drivers
@@ -694,9 +701,8 @@ CONFIG_SCSI_SYM53C8XX_2=y
694CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=0 701CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=0
695CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16 702CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
696CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64 703CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
697# CONFIG_SCSI_SYM53C8XX_IOMAPPED is not set 704CONFIG_SCSI_SYM53C8XX_MMIO=y
698# CONFIG_SCSI_IPR is not set 705# CONFIG_SCSI_IPR is not set
699# CONFIG_SCSI_QLOGIC_FC is not set
700# CONFIG_SCSI_QLOGIC_1280 is not set 706# CONFIG_SCSI_QLOGIC_1280 is not set
701# CONFIG_SCSI_QLA_FC is not set 707# CONFIG_SCSI_QLA_FC is not set
702# CONFIG_SCSI_LPFC is not set 708# CONFIG_SCSI_LPFC is not set
@@ -715,6 +721,7 @@ CONFIG_MD_RAID0=m
715CONFIG_MD_RAID1=m 721CONFIG_MD_RAID1=m
716CONFIG_MD_RAID10=m 722CONFIG_MD_RAID10=m
717CONFIG_MD_RAID5=m 723CONFIG_MD_RAID5=m
724CONFIG_MD_RAID5_RESHAPE=y
718CONFIG_MD_RAID6=m 725CONFIG_MD_RAID6=m
719CONFIG_MD_MULTIPATH=m 726CONFIG_MD_MULTIPATH=m
720CONFIG_MD_FAULTY=m 727CONFIG_MD_FAULTY=m
@@ -921,6 +928,7 @@ CONFIG_HW_CONSOLE=y
921# 928#
922CONFIG_SERIAL_8250=y 929CONFIG_SERIAL_8250=y
923CONFIG_SERIAL_8250_CONSOLE=y 930CONFIG_SERIAL_8250_CONSOLE=y
931CONFIG_SERIAL_8250_PCI=m
924CONFIG_SERIAL_8250_NR_UARTS=4 932CONFIG_SERIAL_8250_NR_UARTS=4
925CONFIG_SERIAL_8250_RUNTIME_UARTS=4 933CONFIG_SERIAL_8250_RUNTIME_UARTS=4
926# CONFIG_SERIAL_8250_EXTENDED is not set 934# CONFIG_SERIAL_8250_EXTENDED is not set
@@ -930,6 +938,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4
930# 938#
931CONFIG_SERIAL_CORE=y 939CONFIG_SERIAL_CORE=y
932CONFIG_SERIAL_CORE_CONSOLE=y 940CONFIG_SERIAL_CORE_CONSOLE=y
941# CONFIG_SERIAL_JSM is not set
933CONFIG_UNIX98_PTYS=y 942CONFIG_UNIX98_PTYS=y
934CONFIG_LEGACY_PTYS=y 943CONFIG_LEGACY_PTYS=y
935CONFIG_LEGACY_PTY_COUNT=256 944CONFIG_LEGACY_PTY_COUNT=256
@@ -988,10 +997,6 @@ CONFIG_LEGACY_PTY_COUNT=256
988# 997#
989 998
990# 999#
991# Multimedia Capabilities Port drivers
992#
993
994#
995# Multimedia devices 1000# Multimedia devices
996# 1001#
997# CONFIG_VIDEO_DEV is not set 1002# CONFIG_VIDEO_DEV is not set
@@ -1022,6 +1027,7 @@ CONFIG_DUMMY_CONSOLE=y
1022# 1027#
1023CONFIG_USB_ARCH_HAS_HCD=y 1028CONFIG_USB_ARCH_HAS_HCD=y
1024CONFIG_USB_ARCH_HAS_OHCI=y 1029CONFIG_USB_ARCH_HAS_OHCI=y
1030CONFIG_USB_ARCH_HAS_EHCI=y
1025# CONFIG_USB is not set 1031# CONFIG_USB is not set
1026 1032
1027# 1033#
@@ -1039,13 +1045,31 @@ CONFIG_USB_ARCH_HAS_OHCI=y
1039# CONFIG_MMC is not set 1045# CONFIG_MMC is not set
1040 1046
1041# 1047#
1048# LED devices
1049#
1050# CONFIG_NEW_LEDS is not set
1051
1052#
1053# LED drivers
1054#
1055
1056#
1057# LED Triggers
1058#
1059
1060#
1042# InfiniBand support 1061# InfiniBand support
1043# 1062#
1044# CONFIG_INFINIBAND is not set 1063# CONFIG_INFINIBAND is not set
1045 1064
1046# 1065#
1047# SN Devices 1066# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
1067#
1068
1069#
1070# Real Time Clock
1048# 1071#
1072# CONFIG_RTC_CLASS is not set
1049 1073
1050# 1074#
1051# File systems 1075# File systems
@@ -1120,7 +1144,6 @@ CONFIG_SYSFS=y
1120# CONFIG_TMPFS is not set 1144# CONFIG_TMPFS is not set
1121# CONFIG_HUGETLB_PAGE is not set 1145# CONFIG_HUGETLB_PAGE is not set
1122CONFIG_RAMFS=y 1146CONFIG_RAMFS=y
1123CONFIG_RELAYFS_FS=m
1124# CONFIG_CONFIGFS_FS is not set 1147# CONFIG_CONFIGFS_FS is not set
1125 1148
1126# 1149#
@@ -1140,7 +1163,6 @@ CONFIG_VXFS_FS=m
1140# CONFIG_QNX4FS_FS is not set 1163# CONFIG_QNX4FS_FS is not set
1141CONFIG_SYSV_FS=m 1164CONFIG_SYSV_FS=m
1142CONFIG_UFS_FS=m 1165CONFIG_UFS_FS=m
1143# CONFIG_UFS_FS_WRITE is not set
1144 1166
1145# 1167#
1146# Network File Systems 1168# Network File Systems
@@ -1232,6 +1254,7 @@ CONFIG_NLS_UTF8=m
1232# CONFIG_MAGIC_SYSRQ is not set 1254# CONFIG_MAGIC_SYSRQ is not set
1233# CONFIG_DEBUG_KERNEL is not set 1255# CONFIG_DEBUG_KERNEL is not set
1234CONFIG_LOG_BUF_SHIFT=14 1256CONFIG_LOG_BUF_SHIFT=14
1257# CONFIG_DEBUG_FS is not set
1235CONFIG_CROSSCOMPILE=y 1258CONFIG_CROSSCOMPILE=y
1236CONFIG_CMDLINE="" 1259CONFIG_CMDLINE=""
1237 1260
diff --git a/arch/mips/configs/bigsur_defconfig b/arch/mips/configs/bigsur_defconfig
index 32984100a75e..d85cda58d650 100644
--- a/arch/mips/configs/bigsur_defconfig
+++ b/arch/mips/configs/bigsur_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.16-rc1 3# Linux kernel version: 2.6.17-rc2
4# Fri Jan 27 15:39:53 2006 4# Mon Apr 24 14:50:55 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -80,6 +80,8 @@ CONFIG_SIBYTE_CFE=y
80# CONFIG_SIBYTE_SB1250_PROF is not set 80# CONFIG_SIBYTE_SB1250_PROF is not set
81# CONFIG_SIBYTE_TBPROF is not set 81# CONFIG_SIBYTE_TBPROF is not set
82CONFIG_RWSEM_GENERIC_SPINLOCK=y 82CONFIG_RWSEM_GENERIC_SPINLOCK=y
83CONFIG_GENERIC_FIND_NEXT_BIT=y
84CONFIG_GENERIC_HWEIGHT=y
83CONFIG_GENERIC_CALIBRATE_DELAY=y 85CONFIG_GENERIC_CALIBRATE_DELAY=y
84CONFIG_DMA_COHERENT=y 86CONFIG_DMA_COHERENT=y
85CONFIG_CPU_BIG_ENDIAN=y 87CONFIG_CPU_BIG_ENDIAN=y
@@ -154,7 +156,6 @@ CONFIG_PREEMPT_NONE=y
154# Code maturity level options 156# Code maturity level options
155# 157#
156CONFIG_EXPERIMENTAL=y 158CONFIG_EXPERIMENTAL=y
157CONFIG_CLEAN_COMPILE=y
158CONFIG_LOCK_KERNEL=y 159CONFIG_LOCK_KERNEL=y
159CONFIG_INIT_ENV_ARG_LIMIT=32 160CONFIG_INIT_ENV_ARG_LIMIT=32
160 161
@@ -172,6 +173,7 @@ CONFIG_SYSCTL=y
172CONFIG_IKCONFIG=y 173CONFIG_IKCONFIG=y
173CONFIG_IKCONFIG_PROC=y 174CONFIG_IKCONFIG_PROC=y
174# CONFIG_CPUSETS is not set 175# CONFIG_CPUSETS is not set
176# CONFIG_RELAY is not set
175CONFIG_INITRAMFS_SOURCE="" 177CONFIG_INITRAMFS_SOURCE=""
176# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 178# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
177CONFIG_EMBEDDED=y 179CONFIG_EMBEDDED=y
@@ -186,10 +188,6 @@ CONFIG_BASE_FULL=y
186CONFIG_FUTEX=y 188CONFIG_FUTEX=y
187CONFIG_EPOLL=y 189CONFIG_EPOLL=y
188CONFIG_SHMEM=y 190CONFIG_SHMEM=y
189CONFIG_CC_ALIGN_FUNCTIONS=0
190CONFIG_CC_ALIGN_LABELS=0
191CONFIG_CC_ALIGN_LOOPS=0
192CONFIG_CC_ALIGN_JUMPS=0
193CONFIG_SLAB=y 191CONFIG_SLAB=y
194# CONFIG_TINY_SHMEM is not set 192# CONFIG_TINY_SHMEM is not set
195CONFIG_BASE_SMALL=0 193CONFIG_BASE_SMALL=0
@@ -201,7 +199,6 @@ CONFIG_BASE_SMALL=0
201CONFIG_MODULES=y 199CONFIG_MODULES=y
202CONFIG_MODULE_UNLOAD=y 200CONFIG_MODULE_UNLOAD=y
203# CONFIG_MODULE_FORCE_UNLOAD is not set 201# CONFIG_MODULE_FORCE_UNLOAD is not set
204CONFIG_OBSOLETE_MODPARM=y
205CONFIG_MODVERSIONS=y 202CONFIG_MODVERSIONS=y
206CONFIG_MODULE_SRCVERSION_ALL=y 203CONFIG_MODULE_SRCVERSION_ALL=y
207CONFIG_KMOD=y 204CONFIG_KMOD=y
@@ -210,6 +207,7 @@ CONFIG_STOP_MACHINE=y
210# 207#
211# Block layer 208# Block layer
212# 209#
210# CONFIG_BLK_DEV_IO_TRACE is not set
213 211
214# 212#
215# IO Schedulers 213# IO Schedulers
@@ -230,7 +228,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
230CONFIG_HW_HAS_PCI=y 228CONFIG_HW_HAS_PCI=y
231CONFIG_PCI=y 229CONFIG_PCI=y
232CONFIG_PCI_DOMAINS=y 230CONFIG_PCI_DOMAINS=y
233CONFIG_PCI_LEGACY_PROC=y
234CONFIG_PCI_DEBUG=y 231CONFIG_PCI_DEBUG=y
235CONFIG_MMU=y 232CONFIG_MMU=y
236 233
@@ -249,6 +246,7 @@ CONFIG_MMU=y
249# 246#
250CONFIG_BINFMT_ELF=y 247CONFIG_BINFMT_ELF=y
251# CONFIG_BINFMT_MISC is not set 248# CONFIG_BINFMT_MISC is not set
249CONFIG_BUILD_ELF64=y
252CONFIG_MIPS32_COMPAT=y 250CONFIG_MIPS32_COMPAT=y
253CONFIG_COMPAT=y 251CONFIG_COMPAT=y
254CONFIG_MIPS32_O32=y 252CONFIG_MIPS32_O32=y
@@ -263,6 +261,7 @@ CONFIG_NET=y
263# 261#
264# Networking options 262# Networking options
265# 263#
264# CONFIG_NETDEBUG is not set
266CONFIG_PACKET=y 265CONFIG_PACKET=y
267CONFIG_PACKET_MMAP=y 266CONFIG_PACKET_MMAP=y
268CONFIG_UNIX=y 267CONFIG_UNIX=y
@@ -284,12 +283,15 @@ CONFIG_IP_PNP_BOOTP=y
284# CONFIG_INET_AH is not set 283# CONFIG_INET_AH is not set
285# CONFIG_INET_ESP is not set 284# CONFIG_INET_ESP is not set
286# CONFIG_INET_IPCOMP is not set 285# CONFIG_INET_IPCOMP is not set
287CONFIG_INET_TUNNEL=m 286# CONFIG_INET_XFRM_TUNNEL is not set
287# CONFIG_INET_TUNNEL is not set
288CONFIG_INET_DIAG=y 288CONFIG_INET_DIAG=y
289CONFIG_INET_TCP_DIAG=y 289CONFIG_INET_TCP_DIAG=y
290# CONFIG_TCP_CONG_ADVANCED is not set 290# CONFIG_TCP_CONG_ADVANCED is not set
291CONFIG_TCP_CONG_BIC=y 291CONFIG_TCP_CONG_BIC=y
292# CONFIG_IPV6 is not set 292# CONFIG_IPV6 is not set
293# CONFIG_INET6_XFRM_TUNNEL is not set
294# CONFIG_INET6_TUNNEL is not set
293# CONFIG_NETFILTER is not set 295# CONFIG_NETFILTER is not set
294 296
295# 297#
@@ -301,6 +303,11 @@ CONFIG_TCP_CONG_BIC=y
301# SCTP Configuration (EXPERIMENTAL) 303# SCTP Configuration (EXPERIMENTAL)
302# 304#
303# CONFIG_IP_SCTP is not set 305# CONFIG_IP_SCTP is not set
306
307#
308# TIPC Configuration (EXPERIMENTAL)
309#
310# CONFIG_TIPC is not set
304# CONFIG_ATM is not set 311# CONFIG_ATM is not set
305# CONFIG_BRIDGE is not set 312# CONFIG_BRIDGE is not set
306# CONFIG_VLAN_8021Q is not set 313# CONFIG_VLAN_8021Q is not set
@@ -310,11 +317,6 @@ CONFIG_TCP_CONG_BIC=y
310# CONFIG_ATALK is not set 317# CONFIG_ATALK is not set
311# CONFIG_X25 is not set 318# CONFIG_X25 is not set
312# CONFIG_LAPB is not set 319# CONFIG_LAPB is not set
313
314#
315# TIPC Configuration (EXPERIMENTAL)
316#
317# CONFIG_TIPC is not set
318# CONFIG_NET_DIVERT is not set 320# CONFIG_NET_DIVERT is not set
319# CONFIG_ECONET is not set 321# CONFIG_ECONET is not set
320# CONFIG_WAN_ROUTER is not set 322# CONFIG_WAN_ROUTER is not set
@@ -377,7 +379,7 @@ CONFIG_BLK_DEV_LOOP=m
377CONFIG_BLK_DEV_NBD=m 379CONFIG_BLK_DEV_NBD=m
378# CONFIG_BLK_DEV_SX8 is not set 380# CONFIG_BLK_DEV_SX8 is not set
379# CONFIG_BLK_DEV_RAM is not set 381# CONFIG_BLK_DEV_RAM is not set
380CONFIG_BLK_DEV_RAM_COUNT=16 382# CONFIG_BLK_DEV_INITRD is not set
381# CONFIG_CDROM_PKTCDVD is not set 383# CONFIG_CDROM_PKTCDVD is not set
382# CONFIG_ATA_OVER_ETH is not set 384# CONFIG_ATA_OVER_ETH is not set
383 385
@@ -575,6 +577,7 @@ CONFIG_SIBYTE_SB1250_DUART_CONSOLE=y
575# 577#
576# Non-8250 serial port support 578# Non-8250 serial port support
577# 579#
580# CONFIG_SERIAL_JSM is not set
578CONFIG_UNIX98_PTYS=y 581CONFIG_UNIX98_PTYS=y
579CONFIG_LEGACY_PTYS=y 582CONFIG_LEGACY_PTYS=y
580CONFIG_LEGACY_PTY_COUNT=256 583CONFIG_LEGACY_PTY_COUNT=256
@@ -637,7 +640,6 @@ CONFIG_I2C_ALGO_SIBYTE=y
637# CONFIG_I2C_PROSAVAGE is not set 640# CONFIG_I2C_PROSAVAGE is not set
638# CONFIG_I2C_SAVAGE4 is not set 641# CONFIG_I2C_SAVAGE4 is not set
639CONFIG_I2C_SIBYTE=y 642CONFIG_I2C_SIBYTE=y
640# CONFIG_SCx200_ACB is not set
641# CONFIG_I2C_SIS5595 is not set 643# CONFIG_I2C_SIS5595 is not set
642# CONFIG_I2C_SIS630 is not set 644# CONFIG_I2C_SIS630 is not set
643# CONFIG_I2C_SIS96X is not set 645# CONFIG_I2C_SIS96X is not set
@@ -656,9 +658,7 @@ CONFIG_SENSORS_EEPROM=y
656CONFIG_SENSORS_PCF8574=y 658CONFIG_SENSORS_PCF8574=y
657CONFIG_SENSORS_PCA9539=y 659CONFIG_SENSORS_PCA9539=y
658CONFIG_SENSORS_PCF8591=y 660CONFIG_SENSORS_PCF8591=y
659CONFIG_SENSORS_RTC8564=y
660CONFIG_SENSORS_MAX6875=y 661CONFIG_SENSORS_MAX6875=y
661# CONFIG_RTC_X1205_I2C is not set
662CONFIG_I2C_DEBUG_CORE=y 662CONFIG_I2C_DEBUG_CORE=y
663CONFIG_I2C_DEBUG_ALGO=y 663CONFIG_I2C_DEBUG_ALGO=y
664CONFIG_I2C_DEBUG_BUS=y 664CONFIG_I2C_DEBUG_BUS=y
@@ -686,10 +686,6 @@ CONFIG_I2C_DEBUG_CHIP=y
686# 686#
687 687
688# 688#
689# Multimedia Capabilities Port drivers
690#
691
692#
693# Multimedia devices 689# Multimedia devices
694# 690#
695# CONFIG_VIDEO_DEV is not set 691# CONFIG_VIDEO_DEV is not set
@@ -714,6 +710,7 @@ CONFIG_I2C_DEBUG_CHIP=y
714# 710#
715CONFIG_USB_ARCH_HAS_HCD=y 711CONFIG_USB_ARCH_HAS_HCD=y
716CONFIG_USB_ARCH_HAS_OHCI=y 712CONFIG_USB_ARCH_HAS_OHCI=y
713CONFIG_USB_ARCH_HAS_EHCI=y
717# CONFIG_USB is not set 714# CONFIG_USB is not set
718 715
719# 716#
@@ -731,13 +728,31 @@ CONFIG_USB_ARCH_HAS_OHCI=y
731# CONFIG_MMC is not set 728# CONFIG_MMC is not set
732 729
733# 730#
731# LED devices
732#
733# CONFIG_NEW_LEDS is not set
734
735#
736# LED drivers
737#
738
739#
740# LED Triggers
741#
742
743#
734# InfiniBand support 744# InfiniBand support
735# 745#
736# CONFIG_INFINIBAND is not set 746# CONFIG_INFINIBAND is not set
737 747
738# 748#
739# SN Devices 749# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
750#
751
752#
753# Real Time Clock
740# 754#
755# CONFIG_RTC_CLASS is not set
741 756
742# 757#
743# File systems 758# File systems
@@ -785,7 +800,6 @@ CONFIG_SYSFS=y
785# CONFIG_TMPFS is not set 800# CONFIG_TMPFS is not set
786# CONFIG_HUGETLB_PAGE is not set 801# CONFIG_HUGETLB_PAGE is not set
787CONFIG_RAMFS=y 802CONFIG_RAMFS=y
788# CONFIG_RELAYFS_FS is not set
789# CONFIG_CONFIGFS_FS is not set 803# CONFIG_CONFIGFS_FS is not set
790 804
791# 805#
diff --git a/arch/mips/configs/capcella_defconfig b/arch/mips/configs/capcella_defconfig
index 6c2961affbd6..ca0af1683a00 100644
--- a/arch/mips/configs/capcella_defconfig
+++ b/arch/mips/configs/capcella_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.16-rc1 3# Linux kernel version: 2.6.17-rc2
4# Fri Jan 27 15:39:54 2006 4# Tue Apr 25 00:08:06 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -72,6 +72,8 @@ CONFIG_ZAO_CAPCELLA=y
72CONFIG_PCI_VR41XX=y 72CONFIG_PCI_VR41XX=y
73# CONFIG_VRC4173 is not set 73# CONFIG_VRC4173 is not set
74CONFIG_RWSEM_GENERIC_SPINLOCK=y 74CONFIG_RWSEM_GENERIC_SPINLOCK=y
75CONFIG_GENERIC_FIND_NEXT_BIT=y
76CONFIG_GENERIC_HWEIGHT=y
75CONFIG_GENERIC_CALIBRATE_DELAY=y 77CONFIG_GENERIC_CALIBRATE_DELAY=y
76CONFIG_DMA_NONCOHERENT=y 78CONFIG_DMA_NONCOHERENT=y
77CONFIG_DMA_NEED_PCI_MAP_STATE=y 79CONFIG_DMA_NEED_PCI_MAP_STATE=y
@@ -90,7 +92,7 @@ CONFIG_MIPS_L1_CACHE_SHIFT=5
90# CONFIG_CPU_MIPS64_R2 is not set 92# CONFIG_CPU_MIPS64_R2 is not set
91# CONFIG_CPU_R3000 is not set 93# CONFIG_CPU_R3000 is not set
92# CONFIG_CPU_TX39XX is not set 94# CONFIG_CPU_TX39XX is not set
93# CONFIG_CPU_VR41XX is not set 95CONFIG_CPU_VR41XX=y
94# CONFIG_CPU_R4300 is not set 96# CONFIG_CPU_R4300 is not set
95# CONFIG_CPU_R4X00 is not set 97# CONFIG_CPU_R4X00 is not set
96# CONFIG_CPU_TX49XX is not set 98# CONFIG_CPU_TX49XX is not set
@@ -103,18 +105,21 @@ CONFIG_MIPS_L1_CACHE_SHIFT=5
103# CONFIG_CPU_RM7000 is not set 105# CONFIG_CPU_RM7000 is not set
104# CONFIG_CPU_RM9000 is not set 106# CONFIG_CPU_RM9000 is not set
105# CONFIG_CPU_SB1 is not set 107# CONFIG_CPU_SB1 is not set
108CONFIG_SYS_HAS_CPU_VR41XX=y
109CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y
110CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y
111CONFIG_CPU_SUPPORTS_64BIT_KERNEL=y
106 112
107# 113#
108# Kernel type 114# Kernel type
109# 115#
110# CONFIG_32BIT is not set 116CONFIG_32BIT=y
111# CONFIG_64BIT is not set 117# CONFIG_64BIT is not set
112CONFIG_PAGE_SIZE_4KB=y 118CONFIG_PAGE_SIZE_4KB=y
113# CONFIG_PAGE_SIZE_8KB is not set 119# CONFIG_PAGE_SIZE_8KB is not set
114# CONFIG_PAGE_SIZE_16KB is not set 120# CONFIG_PAGE_SIZE_16KB is not set
115# CONFIG_PAGE_SIZE_64KB is not set 121# CONFIG_PAGE_SIZE_64KB is not set
116# CONFIG_MIPS_MT is not set 122# CONFIG_MIPS_MT is not set
117CONFIG_CPU_HAS_LLSC=y
118CONFIG_CPU_HAS_SYNC=y 123CONFIG_CPU_HAS_SYNC=y
119CONFIG_GENERIC_HARDIRQS=y 124CONFIG_GENERIC_HARDIRQS=y
120CONFIG_GENERIC_IRQ_PROBE=y 125CONFIG_GENERIC_IRQ_PROBE=y
@@ -135,7 +140,6 @@ CONFIG_PREEMPT_NONE=y
135# Code maturity level options 140# Code maturity level options
136# 141#
137CONFIG_EXPERIMENTAL=y 142CONFIG_EXPERIMENTAL=y
138CONFIG_CLEAN_COMPILE=y
139CONFIG_BROKEN_ON_SMP=y 143CONFIG_BROKEN_ON_SMP=y
140CONFIG_INIT_ENV_ARG_LIMIT=32 144CONFIG_INIT_ENV_ARG_LIMIT=32
141 145
@@ -151,6 +155,7 @@ CONFIG_SYSVIPC=y
151CONFIG_SYSCTL=y 155CONFIG_SYSCTL=y
152# CONFIG_AUDIT is not set 156# CONFIG_AUDIT is not set
153# CONFIG_IKCONFIG is not set 157# CONFIG_IKCONFIG is not set
158# CONFIG_RELAY is not set
154CONFIG_INITRAMFS_SOURCE="" 159CONFIG_INITRAMFS_SOURCE=""
155# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 160# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
156CONFIG_EMBEDDED=y 161CONFIG_EMBEDDED=y
@@ -164,10 +169,6 @@ CONFIG_BASE_FULL=y
164CONFIG_FUTEX=y 169CONFIG_FUTEX=y
165CONFIG_EPOLL=y 170CONFIG_EPOLL=y
166CONFIG_SHMEM=y 171CONFIG_SHMEM=y
167CONFIG_CC_ALIGN_FUNCTIONS=0
168CONFIG_CC_ALIGN_LABELS=0
169CONFIG_CC_ALIGN_LOOPS=0
170CONFIG_CC_ALIGN_JUMPS=0
171CONFIG_SLAB=y 172CONFIG_SLAB=y
172# CONFIG_TINY_SHMEM is not set 173# CONFIG_TINY_SHMEM is not set
173CONFIG_BASE_SMALL=0 174CONFIG_BASE_SMALL=0
@@ -179,7 +180,6 @@ CONFIG_BASE_SMALL=0
179CONFIG_MODULES=y 180CONFIG_MODULES=y
180CONFIG_MODULE_UNLOAD=y 181CONFIG_MODULE_UNLOAD=y
181# CONFIG_MODULE_FORCE_UNLOAD is not set 182# CONFIG_MODULE_FORCE_UNLOAD is not set
182CONFIG_OBSOLETE_MODPARM=y
183CONFIG_MODVERSIONS=y 183CONFIG_MODVERSIONS=y
184CONFIG_MODULE_SRCVERSION_ALL=y 184CONFIG_MODULE_SRCVERSION_ALL=y
185CONFIG_KMOD=y 185CONFIG_KMOD=y
@@ -187,6 +187,9 @@ CONFIG_KMOD=y
187# 187#
188# Block layer 188# Block layer
189# 189#
190# CONFIG_LBD is not set
191# CONFIG_BLK_DEV_IO_TRACE is not set
192# CONFIG_LSF is not set
190 193
191# 194#
192# IO Schedulers 195# IO Schedulers
@@ -206,7 +209,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
206# 209#
207CONFIG_HW_HAS_PCI=y 210CONFIG_HW_HAS_PCI=y
208CONFIG_PCI=y 211CONFIG_PCI=y
209CONFIG_PCI_LEGACY_PROC=y
210CONFIG_MMU=y 212CONFIG_MMU=y
211 213
212# 214#
@@ -224,6 +226,7 @@ CONFIG_MMU=y
224# 226#
225CONFIG_BINFMT_ELF=y 227CONFIG_BINFMT_ELF=y
226# CONFIG_BINFMT_MISC is not set 228# CONFIG_BINFMT_MISC is not set
229CONFIG_TRAD_SIGNALS=y
227 230
228# 231#
229# Networking 232# Networking
@@ -233,6 +236,7 @@ CONFIG_NET=y
233# 236#
234# Networking options 237# Networking options
235# 238#
239# CONFIG_NETDEBUG is not set
236CONFIG_PACKET=y 240CONFIG_PACKET=y
237CONFIG_PACKET_MMAP=y 241CONFIG_PACKET_MMAP=y
238CONFIG_UNIX=y 242CONFIG_UNIX=y
@@ -255,12 +259,15 @@ CONFIG_IP_PNP_BOOTP=y
255# CONFIG_INET_AH is not set 259# CONFIG_INET_AH is not set
256# CONFIG_INET_ESP is not set 260# CONFIG_INET_ESP is not set
257# CONFIG_INET_IPCOMP is not set 261# CONFIG_INET_IPCOMP is not set
258CONFIG_INET_TUNNEL=m 262# CONFIG_INET_XFRM_TUNNEL is not set
263# CONFIG_INET_TUNNEL is not set
259CONFIG_INET_DIAG=y 264CONFIG_INET_DIAG=y
260CONFIG_INET_TCP_DIAG=y 265CONFIG_INET_TCP_DIAG=y
261# CONFIG_TCP_CONG_ADVANCED is not set 266# CONFIG_TCP_CONG_ADVANCED is not set
262CONFIG_TCP_CONG_BIC=y 267CONFIG_TCP_CONG_BIC=y
263# CONFIG_IPV6 is not set 268# CONFIG_IPV6 is not set
269# CONFIG_INET6_XFRM_TUNNEL is not set
270# CONFIG_INET6_TUNNEL is not set
264# CONFIG_NETFILTER is not set 271# CONFIG_NETFILTER is not set
265 272
266# 273#
@@ -272,6 +279,11 @@ CONFIG_TCP_CONG_BIC=y
272# SCTP Configuration (EXPERIMENTAL) 279# SCTP Configuration (EXPERIMENTAL)
273# 280#
274# CONFIG_IP_SCTP is not set 281# CONFIG_IP_SCTP is not set
282
283#
284# TIPC Configuration (EXPERIMENTAL)
285#
286# CONFIG_TIPC is not set
275# CONFIG_ATM is not set 287# CONFIG_ATM is not set
276# CONFIG_BRIDGE is not set 288# CONFIG_BRIDGE is not set
277# CONFIG_VLAN_8021Q is not set 289# CONFIG_VLAN_8021Q is not set
@@ -281,11 +293,6 @@ CONFIG_TCP_CONG_BIC=y
281# CONFIG_ATALK is not set 293# CONFIG_ATALK is not set
282# CONFIG_X25 is not set 294# CONFIG_X25 is not set
283# CONFIG_LAPB is not set 295# CONFIG_LAPB is not set
284
285#
286# TIPC Configuration (EXPERIMENTAL)
287#
288# CONFIG_TIPC is not set
289# CONFIG_NET_DIVERT is not set 296# CONFIG_NET_DIVERT is not set
290# CONFIG_ECONET is not set 297# CONFIG_ECONET is not set
291# CONFIG_WAN_ROUTER is not set 298# CONFIG_WAN_ROUTER is not set
@@ -302,10 +309,7 @@ CONFIG_TCP_CONG_BIC=y
302# CONFIG_HAMRADIO is not set 309# CONFIG_HAMRADIO is not set
303# CONFIG_IRDA is not set 310# CONFIG_IRDA is not set
304# CONFIG_BT is not set 311# CONFIG_BT is not set
305CONFIG_IEEE80211=m 312# CONFIG_IEEE80211 is not set
306# CONFIG_IEEE80211_DEBUG is not set
307CONFIG_IEEE80211_CRYPT_WEP=m
308CONFIG_IEEE80211_CRYPT_CCMP=m
309 313
310# 314#
311# Device Drivers 315# Device Drivers
@@ -348,10 +352,12 @@ CONFIG_CONNECTOR=m
348# CONFIG_BLK_DEV_LOOP is not set 352# CONFIG_BLK_DEV_LOOP is not set
349# CONFIG_BLK_DEV_NBD is not set 353# CONFIG_BLK_DEV_NBD is not set
350# CONFIG_BLK_DEV_SX8 is not set 354# CONFIG_BLK_DEV_SX8 is not set
351# CONFIG_BLK_DEV_RAM is not set 355CONFIG_BLK_DEV_RAM=y
352CONFIG_BLK_DEV_RAM_COUNT=16 356CONFIG_BLK_DEV_RAM_COUNT=16
357CONFIG_BLK_DEV_RAM_SIZE=4096
358# CONFIG_BLK_DEV_INITRD is not set
353# CONFIG_CDROM_PKTCDVD is not set 359# CONFIG_CDROM_PKTCDVD is not set
354CONFIG_ATA_OVER_ETH=m 360# CONFIG_ATA_OVER_ETH is not set
355 361
356# 362#
357# ATA/ATAPI/MFM/RLL support 363# ATA/ATAPI/MFM/RLL support
@@ -578,6 +584,11 @@ CONFIG_HW_CONSOLE=y
578# 584#
579# Non-8250 serial port support 585# Non-8250 serial port support
580# 586#
587CONFIG_SERIAL_CORE=y
588CONFIG_SERIAL_CORE_CONSOLE=y
589CONFIG_SERIAL_VR41XX=y
590CONFIG_SERIAL_VR41XX_CONSOLE=y
591# CONFIG_SERIAL_JSM is not set
581CONFIG_UNIX98_PTYS=y 592CONFIG_UNIX98_PTYS=y
582CONFIG_LEGACY_PTYS=y 593CONFIG_LEGACY_PTYS=y
583CONFIG_LEGACY_PTY_COUNT=256 594CONFIG_LEGACY_PTY_COUNT=256
@@ -601,6 +612,7 @@ CONFIG_LEGACY_PTY_COUNT=256
601# Ftape, the floppy tape device driver 612# Ftape, the floppy tape device driver
602# 613#
603# CONFIG_DRM is not set 614# CONFIG_DRM is not set
615CONFIG_GPIO_VR41XX=y
604# CONFIG_RAW_DRIVER is not set 616# CONFIG_RAW_DRIVER is not set
605 617
606# 618#
@@ -636,10 +648,6 @@ CONFIG_LEGACY_PTY_COUNT=256
636# 648#
637 649
638# 650#
639# Multimedia Capabilities Port drivers
640#
641
642#
643# Multimedia devices 651# Multimedia devices
644# 652#
645# CONFIG_VIDEO_DEV is not set 653# CONFIG_VIDEO_DEV is not set
@@ -670,6 +678,7 @@ CONFIG_DUMMY_CONSOLE=y
670# 678#
671CONFIG_USB_ARCH_HAS_HCD=y 679CONFIG_USB_ARCH_HAS_HCD=y
672CONFIG_USB_ARCH_HAS_OHCI=y 680CONFIG_USB_ARCH_HAS_OHCI=y
681CONFIG_USB_ARCH_HAS_EHCI=y
673# CONFIG_USB is not set 682# CONFIG_USB is not set
674 683
675# 684#
@@ -687,13 +696,48 @@ CONFIG_USB_ARCH_HAS_OHCI=y
687# CONFIG_MMC is not set 696# CONFIG_MMC is not set
688 697
689# 698#
699# LED devices
700#
701# CONFIG_NEW_LEDS is not set
702
703#
704# LED drivers
705#
706
707#
708# LED Triggers
709#
710
711#
690# InfiniBand support 712# InfiniBand support
691# 713#
692# CONFIG_INFINIBAND is not set 714# CONFIG_INFINIBAND is not set
693 715
694# 716#
695# SN Devices 717# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
718#
719
720#
721# Real Time Clock
722#
723CONFIG_RTC_LIB=y
724CONFIG_RTC_CLASS=y
725CONFIG_RTC_HCTOSYS=y
726CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
727
728#
729# RTC interfaces
730#
731CONFIG_RTC_INTF_SYSFS=y
732CONFIG_RTC_INTF_PROC=y
733CONFIG_RTC_INTF_DEV=y
734
735#
736# RTC drivers
696# 737#
738# CONFIG_RTC_DRV_M48T86 is not set
739CONFIG_RTC_DRV_VR41XX=y
740# CONFIG_RTC_DRV_TEST is not set
697 741
698# 742#
699# File systems 743# File systems
@@ -712,7 +756,7 @@ CONFIG_EXT2_FS=y
712CONFIG_INOTIFY=y 756CONFIG_INOTIFY=y
713# CONFIG_QUOTA is not set 757# CONFIG_QUOTA is not set
714CONFIG_DNOTIFY=y 758CONFIG_DNOTIFY=y
715CONFIG_AUTOFS_FS=y 759# CONFIG_AUTOFS_FS is not set
716CONFIG_AUTOFS4_FS=y 760CONFIG_AUTOFS4_FS=y
717CONFIG_FUSE_FS=m 761CONFIG_FUSE_FS=m
718 762
@@ -735,10 +779,9 @@ CONFIG_FUSE_FS=m
735CONFIG_PROC_FS=y 779CONFIG_PROC_FS=y
736CONFIG_PROC_KCORE=y 780CONFIG_PROC_KCORE=y
737CONFIG_SYSFS=y 781CONFIG_SYSFS=y
738# CONFIG_TMPFS is not set 782CONFIG_TMPFS=y
739# CONFIG_HUGETLB_PAGE is not set 783# CONFIG_HUGETLB_PAGE is not set
740CONFIG_RAMFS=y 784CONFIG_RAMFS=y
741CONFIG_RELAYFS_FS=m
742# CONFIG_CONFIGFS_FS is not set 785# CONFIG_CONFIGFS_FS is not set
743 786
744# 787#
@@ -805,44 +848,20 @@ CONFIG_MSDOS_PARTITION=y
805# CONFIG_MAGIC_SYSRQ is not set 848# CONFIG_MAGIC_SYSRQ is not set
806# CONFIG_DEBUG_KERNEL is not set 849# CONFIG_DEBUG_KERNEL is not set
807CONFIG_LOG_BUF_SHIFT=14 850CONFIG_LOG_BUF_SHIFT=14
851# CONFIG_DEBUG_FS is not set
808CONFIG_CROSSCOMPILE=y 852CONFIG_CROSSCOMPILE=y
809CONFIG_CMDLINE="mem=32M console=ttyVR0,38400" 853CONFIG_CMDLINE="mem=32M console=ttyVR0,38400"
810 854
811# 855#
812# Security options 856# Security options
813# 857#
814CONFIG_KEYS=y 858# CONFIG_KEYS is not set
815CONFIG_KEYS_DEBUG_PROC_KEYS=y
816# CONFIG_SECURITY is not set 859# CONFIG_SECURITY is not set
817 860
818# 861#
819# Cryptographic options 862# Cryptographic options
820# 863#
821CONFIG_CRYPTO=y 864# CONFIG_CRYPTO is not set
822CONFIG_CRYPTO_HMAC=y
823CONFIG_CRYPTO_NULL=m
824CONFIG_CRYPTO_MD4=m
825CONFIG_CRYPTO_MD5=m
826CONFIG_CRYPTO_SHA1=m
827CONFIG_CRYPTO_SHA256=m
828CONFIG_CRYPTO_SHA512=m
829CONFIG_CRYPTO_WP512=m
830CONFIG_CRYPTO_TGR192=m
831CONFIG_CRYPTO_DES=m
832CONFIG_CRYPTO_BLOWFISH=m
833CONFIG_CRYPTO_TWOFISH=m
834CONFIG_CRYPTO_SERPENT=m
835CONFIG_CRYPTO_AES=m
836CONFIG_CRYPTO_CAST5=m
837CONFIG_CRYPTO_CAST6=m
838CONFIG_CRYPTO_TEA=m
839CONFIG_CRYPTO_ARC4=m
840CONFIG_CRYPTO_KHAZAD=m
841CONFIG_CRYPTO_ANUBIS=m
842CONFIG_CRYPTO_DEFLATE=m
843CONFIG_CRYPTO_MICHAEL_MIC=m
844CONFIG_CRYPTO_CRC32C=m
845# CONFIG_CRYPTO_TEST is not set
846 865
847# 866#
848# Hardware crypto devices 867# Hardware crypto devices
@@ -852,8 +871,6 @@ CONFIG_CRYPTO_CRC32C=m
852# Library routines 871# Library routines
853# 872#
854# CONFIG_CRC_CCITT is not set 873# CONFIG_CRC_CCITT is not set
855CONFIG_CRC16=m 874# CONFIG_CRC16 is not set
856CONFIG_CRC32=y 875CONFIG_CRC32=y
857CONFIG_LIBCRC32C=m 876# CONFIG_LIBCRC32C is not set
858CONFIG_ZLIB_INFLATE=m
859CONFIG_ZLIB_DEFLATE=m
diff --git a/arch/mips/configs/cobalt_defconfig b/arch/mips/configs/cobalt_defconfig
index 8336b21d3db2..7d269e609282 100644
--- a/arch/mips/configs/cobalt_defconfig
+++ b/arch/mips/configs/cobalt_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.16-rc1 3# Linux kernel version: 2.6.17-rc2
4# Fri Jan 27 15:39:55 2006 4# Mon Apr 24 14:50:57 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -63,7 +63,10 @@ CONFIG_MIPS_COBALT=y
63# CONFIG_TOSHIBA_JMR3927 is not set 63# CONFIG_TOSHIBA_JMR3927 is not set
64# CONFIG_TOSHIBA_RBTX4927 is not set 64# CONFIG_TOSHIBA_RBTX4927 is not set
65# CONFIG_TOSHIBA_RBTX4938 is not set 65# CONFIG_TOSHIBA_RBTX4938 is not set
66CONFIG_EARLY_PRINTK=y
66CONFIG_RWSEM_GENERIC_SPINLOCK=y 67CONFIG_RWSEM_GENERIC_SPINLOCK=y
68CONFIG_GENERIC_FIND_NEXT_BIT=y
69CONFIG_GENERIC_HWEIGHT=y
67CONFIG_GENERIC_CALIBRATE_DELAY=y 70CONFIG_GENERIC_CALIBRATE_DELAY=y
68CONFIG_DMA_NONCOHERENT=y 71CONFIG_DMA_NONCOHERENT=y
69CONFIG_DMA_NEED_PCI_MAP_STATE=y 72CONFIG_DMA_NEED_PCI_MAP_STATE=y
@@ -113,7 +116,6 @@ CONFIG_PAGE_SIZE_4KB=y
113# CONFIG_PAGE_SIZE_16KB is not set 116# CONFIG_PAGE_SIZE_16KB is not set
114# CONFIG_PAGE_SIZE_64KB is not set 117# CONFIG_PAGE_SIZE_64KB is not set
115# CONFIG_MIPS_MT is not set 118# CONFIG_MIPS_MT is not set
116# CONFIG_CPU_ADVANCED is not set
117CONFIG_CPU_HAS_LLSC=y 119CONFIG_CPU_HAS_LLSC=y
118CONFIG_CPU_HAS_SYNC=y 120CONFIG_CPU_HAS_SYNC=y
119CONFIG_GENERIC_HARDIRQS=y 121CONFIG_GENERIC_HARDIRQS=y
@@ -135,7 +137,6 @@ CONFIG_PREEMPT_NONE=y
135# Code maturity level options 137# Code maturity level options
136# 138#
137CONFIG_EXPERIMENTAL=y 139CONFIG_EXPERIMENTAL=y
138CONFIG_CLEAN_COMPILE=y
139CONFIG_BROKEN_ON_SMP=y 140CONFIG_BROKEN_ON_SMP=y
140CONFIG_INIT_ENV_ARG_LIMIT=32 141CONFIG_INIT_ENV_ARG_LIMIT=32
141 142
@@ -151,6 +152,7 @@ CONFIG_SYSVIPC=y
151CONFIG_SYSCTL=y 152CONFIG_SYSCTL=y
152# CONFIG_AUDIT is not set 153# CONFIG_AUDIT is not set
153# CONFIG_IKCONFIG is not set 154# CONFIG_IKCONFIG is not set
155CONFIG_RELAY=y
154CONFIG_INITRAMFS_SOURCE="" 156CONFIG_INITRAMFS_SOURCE=""
155# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 157# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
156CONFIG_EMBEDDED=y 158CONFIG_EMBEDDED=y
@@ -164,10 +166,6 @@ CONFIG_BASE_FULL=y
164CONFIG_FUTEX=y 166CONFIG_FUTEX=y
165CONFIG_EPOLL=y 167CONFIG_EPOLL=y
166CONFIG_SHMEM=y 168CONFIG_SHMEM=y
167CONFIG_CC_ALIGN_FUNCTIONS=0
168CONFIG_CC_ALIGN_LABELS=0
169CONFIG_CC_ALIGN_LOOPS=0
170CONFIG_CC_ALIGN_JUMPS=0
171CONFIG_SLAB=y 169CONFIG_SLAB=y
172# CONFIG_TINY_SHMEM is not set 170# CONFIG_TINY_SHMEM is not set
173CONFIG_BASE_SMALL=0 171CONFIG_BASE_SMALL=0
@@ -182,6 +180,8 @@ CONFIG_BASE_SMALL=0
182# Block layer 180# Block layer
183# 181#
184# CONFIG_LBD is not set 182# CONFIG_LBD is not set
183# CONFIG_BLK_DEV_IO_TRACE is not set
184# CONFIG_LSF is not set
185 185
186# 186#
187# IO Schedulers 187# IO Schedulers
@@ -201,7 +201,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
201# 201#
202CONFIG_HW_HAS_PCI=y 202CONFIG_HW_HAS_PCI=y
203CONFIG_PCI=y 203CONFIG_PCI=y
204CONFIG_PCI_LEGACY_PROC=y
205CONFIG_MMU=y 204CONFIG_MMU=y
206 205
207# 206#
@@ -229,6 +228,7 @@ CONFIG_NET=y
229# 228#
230# Networking options 229# Networking options
231# 230#
231# CONFIG_NETDEBUG is not set
232CONFIG_PACKET=y 232CONFIG_PACKET=y
233# CONFIG_PACKET_MMAP is not set 233# CONFIG_PACKET_MMAP is not set
234CONFIG_UNIX=y 234CONFIG_UNIX=y
@@ -247,12 +247,15 @@ CONFIG_IP_FIB_HASH=y
247# CONFIG_INET_AH is not set 247# CONFIG_INET_AH is not set
248# CONFIG_INET_ESP is not set 248# CONFIG_INET_ESP is not set
249# CONFIG_INET_IPCOMP is not set 249# CONFIG_INET_IPCOMP is not set
250CONFIG_INET_TUNNEL=y 250# CONFIG_INET_XFRM_TUNNEL is not set
251# CONFIG_INET_TUNNEL is not set
251CONFIG_INET_DIAG=y 252CONFIG_INET_DIAG=y
252CONFIG_INET_TCP_DIAG=y 253CONFIG_INET_TCP_DIAG=y
253# CONFIG_TCP_CONG_ADVANCED is not set 254# CONFIG_TCP_CONG_ADVANCED is not set
254CONFIG_TCP_CONG_BIC=y 255CONFIG_TCP_CONG_BIC=y
255# CONFIG_IPV6 is not set 256# CONFIG_IPV6 is not set
257# CONFIG_INET6_XFRM_TUNNEL is not set
258# CONFIG_INET6_TUNNEL is not set
256# CONFIG_NETFILTER is not set 259# CONFIG_NETFILTER is not set
257 260
258# 261#
@@ -264,6 +267,11 @@ CONFIG_TCP_CONG_BIC=y
264# SCTP Configuration (EXPERIMENTAL) 267# SCTP Configuration (EXPERIMENTAL)
265# 268#
266# CONFIG_IP_SCTP is not set 269# CONFIG_IP_SCTP is not set
270
271#
272# TIPC Configuration (EXPERIMENTAL)
273#
274# CONFIG_TIPC is not set
267# CONFIG_ATM is not set 275# CONFIG_ATM is not set
268# CONFIG_BRIDGE is not set 276# CONFIG_BRIDGE is not set
269# CONFIG_VLAN_8021Q is not set 277# CONFIG_VLAN_8021Q is not set
@@ -273,11 +281,6 @@ CONFIG_TCP_CONG_BIC=y
273# CONFIG_ATALK is not set 281# CONFIG_ATALK is not set
274# CONFIG_X25 is not set 282# CONFIG_X25 is not set
275# CONFIG_LAPB is not set 283# CONFIG_LAPB is not set
276
277#
278# TIPC Configuration (EXPERIMENTAL)
279#
280# CONFIG_TIPC is not set
281# CONFIG_NET_DIVERT is not set 284# CONFIG_NET_DIVERT is not set
282# CONFIG_ECONET is not set 285# CONFIG_ECONET is not set
283# CONFIG_WAN_ROUTER is not set 286# CONFIG_WAN_ROUTER is not set
@@ -298,6 +301,9 @@ CONFIG_IEEE80211=y
298# CONFIG_IEEE80211_DEBUG is not set 301# CONFIG_IEEE80211_DEBUG is not set
299CONFIG_IEEE80211_CRYPT_WEP=y 302CONFIG_IEEE80211_CRYPT_WEP=y
300CONFIG_IEEE80211_CRYPT_CCMP=y 303CONFIG_IEEE80211_CRYPT_CCMP=y
304CONFIG_IEEE80211_SOFTMAC=y
305# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set
306CONFIG_WIRELESS_EXT=y
301 307
302# 308#
303# Device Drivers 309# Device Drivers
@@ -343,7 +349,7 @@ CONFIG_BLK_DEV_LOOP=y
343# CONFIG_BLK_DEV_NBD is not set 349# CONFIG_BLK_DEV_NBD is not set
344# CONFIG_BLK_DEV_SX8 is not set 350# CONFIG_BLK_DEV_SX8 is not set
345# CONFIG_BLK_DEV_RAM is not set 351# CONFIG_BLK_DEV_RAM is not set
346CONFIG_BLK_DEV_RAM_COUNT=16 352# CONFIG_BLK_DEV_INITRD is not set
347CONFIG_CDROM_PKTCDVD=y 353CONFIG_CDROM_PKTCDVD=y
348CONFIG_CDROM_PKTCDVD_BUFFERS=8 354CONFIG_CDROM_PKTCDVD_BUFFERS=8
349# CONFIG_CDROM_PKTCDVD_WCACHE is not set 355# CONFIG_CDROM_PKTCDVD_WCACHE is not set
@@ -593,6 +599,7 @@ CONFIG_HW_CONSOLE=y
593# 599#
594CONFIG_SERIAL_8250=y 600CONFIG_SERIAL_8250=y
595CONFIG_SERIAL_8250_CONSOLE=y 601CONFIG_SERIAL_8250_CONSOLE=y
602CONFIG_SERIAL_8250_PCI=y
596CONFIG_SERIAL_8250_NR_UARTS=4 603CONFIG_SERIAL_8250_NR_UARTS=4
597CONFIG_SERIAL_8250_RUNTIME_UARTS=4 604CONFIG_SERIAL_8250_RUNTIME_UARTS=4
598# CONFIG_SERIAL_8250_EXTENDED is not set 605# CONFIG_SERIAL_8250_EXTENDED is not set
@@ -602,6 +609,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4
602# 609#
603CONFIG_SERIAL_CORE=y 610CONFIG_SERIAL_CORE=y
604CONFIG_SERIAL_CORE_CONSOLE=y 611CONFIG_SERIAL_CORE_CONSOLE=y
612# CONFIG_SERIAL_JSM is not set
605CONFIG_UNIX98_PTYS=y 613CONFIG_UNIX98_PTYS=y
606CONFIG_LEGACY_PTYS=y 614CONFIG_LEGACY_PTYS=y
607CONFIG_LEGACY_PTY_COUNT=256 615CONFIG_LEGACY_PTY_COUNT=256
@@ -660,10 +668,6 @@ CONFIG_COBALT_LCD=y
660# 668#
661 669
662# 670#
663# Multimedia Capabilities Port drivers
664#
665
666#
667# Multimedia devices 671# Multimedia devices
668# 672#
669# CONFIG_VIDEO_DEV is not set 673# CONFIG_VIDEO_DEV is not set
@@ -694,6 +698,7 @@ CONFIG_DUMMY_CONSOLE=y
694# 698#
695CONFIG_USB_ARCH_HAS_HCD=y 699CONFIG_USB_ARCH_HAS_HCD=y
696CONFIG_USB_ARCH_HAS_OHCI=y 700CONFIG_USB_ARCH_HAS_OHCI=y
701CONFIG_USB_ARCH_HAS_EHCI=y
697# CONFIG_USB is not set 702# CONFIG_USB is not set
698 703
699# 704#
@@ -711,13 +716,31 @@ CONFIG_USB_ARCH_HAS_OHCI=y
711# CONFIG_MMC is not set 716# CONFIG_MMC is not set
712 717
713# 718#
719# LED devices
720#
721# CONFIG_NEW_LEDS is not set
722
723#
724# LED drivers
725#
726
727#
728# LED Triggers
729#
730
731#
714# InfiniBand support 732# InfiniBand support
715# 733#
716# CONFIG_INFINIBAND is not set 734# CONFIG_INFINIBAND is not set
717 735
718# 736#
719# SN Devices 737# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
738#
739
740#
741# Real Time Clock
720# 742#
743# CONFIG_RTC_CLASS is not set
721 744
722# 745#
723# File systems 746# File systems
@@ -765,7 +788,6 @@ CONFIG_SYSFS=y
765# CONFIG_TMPFS is not set 788# CONFIG_TMPFS is not set
766# CONFIG_HUGETLB_PAGE is not set 789# CONFIG_HUGETLB_PAGE is not set
767CONFIG_RAMFS=y 790CONFIG_RAMFS=y
768CONFIG_RELAYFS_FS=y
769# CONFIG_CONFIGFS_FS is not set 791# CONFIG_CONFIGFS_FS is not set
770 792
771# 793#
@@ -828,6 +850,8 @@ CONFIG_MSDOS_PARTITION=y
828# CONFIG_MAGIC_SYSRQ is not set 850# CONFIG_MAGIC_SYSRQ is not set
829# CONFIG_DEBUG_KERNEL is not set 851# CONFIG_DEBUG_KERNEL is not set
830CONFIG_LOG_BUF_SHIFT=14 852CONFIG_LOG_BUF_SHIFT=14
853# CONFIG_DEBUG_FS is not set
854# CONFIG_UNWIND_INFO is not set
831CONFIG_CROSSCOMPILE=y 855CONFIG_CROSSCOMPILE=y
832CONFIG_CMDLINE="" 856CONFIG_CMDLINE=""
833 857
diff --git a/arch/mips/configs/db1000_defconfig b/arch/mips/configs/db1000_defconfig
index 7f071403c8e3..579b665e3339 100644
--- a/arch/mips/configs/db1000_defconfig
+++ b/arch/mips/configs/db1000_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.16-rc1 3# Linux kernel version: 2.6.17-rc2
4# Fri Jan 27 15:39:56 2006 4# Mon Apr 24 14:50:57 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -64,6 +64,8 @@ CONFIG_MIPS_DB1000=y
64# CONFIG_TOSHIBA_RBTX4927 is not set 64# CONFIG_TOSHIBA_RBTX4927 is not set
65# CONFIG_TOSHIBA_RBTX4938 is not set 65# CONFIG_TOSHIBA_RBTX4938 is not set
66CONFIG_RWSEM_GENERIC_SPINLOCK=y 66CONFIG_RWSEM_GENERIC_SPINLOCK=y
67CONFIG_GENERIC_FIND_NEXT_BIT=y
68CONFIG_GENERIC_HWEIGHT=y
67CONFIG_GENERIC_CALIBRATE_DELAY=y 69CONFIG_GENERIC_CALIBRATE_DELAY=y
68CONFIG_DMA_NONCOHERENT=y 70CONFIG_DMA_NONCOHERENT=y
69CONFIG_DMA_NEED_PCI_MAP_STATE=y 71CONFIG_DMA_NEED_PCI_MAP_STATE=y
@@ -114,11 +116,11 @@ CONFIG_PAGE_SIZE_4KB=y
114CONFIG_CPU_HAS_PREFETCH=y 116CONFIG_CPU_HAS_PREFETCH=y
115# CONFIG_MIPS_MT is not set 117# CONFIG_MIPS_MT is not set
116CONFIG_64BIT_PHYS_ADDR=y 118CONFIG_64BIT_PHYS_ADDR=y
117# CONFIG_CPU_ADVANCED is not set
118CONFIG_CPU_HAS_LLSC=y 119CONFIG_CPU_HAS_LLSC=y
119CONFIG_CPU_HAS_SYNC=y 120CONFIG_CPU_HAS_SYNC=y
120CONFIG_GENERIC_HARDIRQS=y 121CONFIG_GENERIC_HARDIRQS=y
121CONFIG_GENERIC_IRQ_PROBE=y 122CONFIG_GENERIC_IRQ_PROBE=y
123CONFIG_CPU_SUPPORTS_HIGHMEM=y
122CONFIG_ARCH_FLATMEM_ENABLE=y 124CONFIG_ARCH_FLATMEM_ENABLE=y
123CONFIG_SELECT_MEMORY_MODEL=y 125CONFIG_SELECT_MEMORY_MODEL=y
124CONFIG_FLATMEM_MANUAL=y 126CONFIG_FLATMEM_MANUAL=y
@@ -136,7 +138,6 @@ CONFIG_PREEMPT_NONE=y
136# Code maturity level options 138# Code maturity level options
137# 139#
138CONFIG_EXPERIMENTAL=y 140CONFIG_EXPERIMENTAL=y
139CONFIG_CLEAN_COMPILE=y
140CONFIG_BROKEN_ON_SMP=y 141CONFIG_BROKEN_ON_SMP=y
141CONFIG_INIT_ENV_ARG_LIMIT=32 142CONFIG_INIT_ENV_ARG_LIMIT=32
142 143
@@ -152,6 +153,7 @@ CONFIG_SYSVIPC=y
152CONFIG_SYSCTL=y 153CONFIG_SYSCTL=y
153# CONFIG_AUDIT is not set 154# CONFIG_AUDIT is not set
154# CONFIG_IKCONFIG is not set 155# CONFIG_IKCONFIG is not set
156CONFIG_RELAY=y
155CONFIG_INITRAMFS_SOURCE="" 157CONFIG_INITRAMFS_SOURCE=""
156# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 158# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
157CONFIG_EMBEDDED=y 159CONFIG_EMBEDDED=y
@@ -165,10 +167,6 @@ CONFIG_BASE_FULL=y
165CONFIG_FUTEX=y 167CONFIG_FUTEX=y
166CONFIG_EPOLL=y 168CONFIG_EPOLL=y
167CONFIG_SHMEM=y 169CONFIG_SHMEM=y
168CONFIG_CC_ALIGN_FUNCTIONS=0
169CONFIG_CC_ALIGN_LABELS=0
170CONFIG_CC_ALIGN_LOOPS=0
171CONFIG_CC_ALIGN_JUMPS=0
172CONFIG_SLAB=y 170CONFIG_SLAB=y
173# CONFIG_TINY_SHMEM is not set 171# CONFIG_TINY_SHMEM is not set
174CONFIG_BASE_SMALL=0 172CONFIG_BASE_SMALL=0
@@ -181,7 +179,6 @@ CONFIG_OBSOLETE_INTERMODULE=y
181CONFIG_MODULES=y 179CONFIG_MODULES=y
182CONFIG_MODULE_UNLOAD=y 180CONFIG_MODULE_UNLOAD=y
183# CONFIG_MODULE_FORCE_UNLOAD is not set 181# CONFIG_MODULE_FORCE_UNLOAD is not set
184CONFIG_OBSOLETE_MODPARM=y
185CONFIG_MODVERSIONS=y 182CONFIG_MODVERSIONS=y
186CONFIG_MODULE_SRCVERSION_ALL=y 183CONFIG_MODULE_SRCVERSION_ALL=y
187CONFIG_KMOD=y 184CONFIG_KMOD=y
@@ -190,6 +187,8 @@ CONFIG_KMOD=y
190# Block layer 187# Block layer
191# 188#
192# CONFIG_LBD is not set 189# CONFIG_LBD is not set
190# CONFIG_BLK_DEV_IO_TRACE is not set
191# CONFIG_LSF is not set
193 192
194# 193#
195# IO Schedulers 194# IO Schedulers
@@ -245,6 +244,7 @@ CONFIG_NET=y
245# 244#
246# Networking options 245# Networking options
247# 246#
247# CONFIG_NETDEBUG is not set
248CONFIG_PACKET=y 248CONFIG_PACKET=y
249# CONFIG_PACKET_MMAP is not set 249# CONFIG_PACKET_MMAP is not set
250CONFIG_UNIX=y 250CONFIG_UNIX=y
@@ -267,7 +267,8 @@ CONFIG_IP_PNP_BOOTP=y
267# CONFIG_INET_AH is not set 267# CONFIG_INET_AH is not set
268# CONFIG_INET_ESP is not set 268# CONFIG_INET_ESP is not set
269# CONFIG_INET_IPCOMP is not set 269# CONFIG_INET_IPCOMP is not set
270CONFIG_INET_TUNNEL=m 270# CONFIG_INET_XFRM_TUNNEL is not set
271# CONFIG_INET_TUNNEL is not set
271CONFIG_INET_DIAG=y 272CONFIG_INET_DIAG=y
272CONFIG_INET_TCP_DIAG=y 273CONFIG_INET_TCP_DIAG=y
273# CONFIG_TCP_CONG_ADVANCED is not set 274# CONFIG_TCP_CONG_ADVANCED is not set
@@ -278,6 +279,8 @@ CONFIG_TCP_CONG_BIC=y
278# 279#
279# CONFIG_IP_VS is not set 280# CONFIG_IP_VS is not set
280# CONFIG_IPV6 is not set 281# CONFIG_IPV6 is not set
282# CONFIG_INET6_XFRM_TUNNEL is not set
283# CONFIG_INET6_TUNNEL is not set
281CONFIG_NETFILTER=y 284CONFIG_NETFILTER=y
282# CONFIG_NETFILTER_DEBUG is not set 285# CONFIG_NETFILTER_DEBUG is not set
283 286
@@ -294,10 +297,13 @@ CONFIG_NETFILTER_XT_TARGET_MARK=m
294CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m 297CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
295CONFIG_NETFILTER_XT_MATCH_COMMENT=m 298CONFIG_NETFILTER_XT_MATCH_COMMENT=m
296CONFIG_NETFILTER_XT_MATCH_DCCP=m 299CONFIG_NETFILTER_XT_MATCH_DCCP=m
300CONFIG_NETFILTER_XT_MATCH_ESP=m
297CONFIG_NETFILTER_XT_MATCH_LENGTH=m 301CONFIG_NETFILTER_XT_MATCH_LENGTH=m
298CONFIG_NETFILTER_XT_MATCH_LIMIT=m 302CONFIG_NETFILTER_XT_MATCH_LIMIT=m
299CONFIG_NETFILTER_XT_MATCH_MAC=m 303CONFIG_NETFILTER_XT_MATCH_MAC=m
300CONFIG_NETFILTER_XT_MATCH_MARK=m 304CONFIG_NETFILTER_XT_MATCH_MARK=m
305CONFIG_NETFILTER_XT_MATCH_POLICY=m
306CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
301CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m 307CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
302CONFIG_NETFILTER_XT_MATCH_REALM=m 308CONFIG_NETFILTER_XT_MATCH_REALM=m
303CONFIG_NETFILTER_XT_MATCH_SCTP=m 309CONFIG_NETFILTER_XT_MATCH_SCTP=m
@@ -321,6 +327,11 @@ CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
321# SCTP Configuration (EXPERIMENTAL) 327# SCTP Configuration (EXPERIMENTAL)
322# 328#
323# CONFIG_IP_SCTP is not set 329# CONFIG_IP_SCTP is not set
330
331#
332# TIPC Configuration (EXPERIMENTAL)
333#
334# CONFIG_TIPC is not set
324# CONFIG_ATM is not set 335# CONFIG_ATM is not set
325# CONFIG_BRIDGE is not set 336# CONFIG_BRIDGE is not set
326# CONFIG_VLAN_8021Q is not set 337# CONFIG_VLAN_8021Q is not set
@@ -330,11 +341,6 @@ CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
330# CONFIG_ATALK is not set 341# CONFIG_ATALK is not set
331# CONFIG_X25 is not set 342# CONFIG_X25 is not set
332# CONFIG_LAPB is not set 343# CONFIG_LAPB is not set
333
334#
335# TIPC Configuration (EXPERIMENTAL)
336#
337# CONFIG_TIPC is not set
338# CONFIG_NET_DIVERT is not set 344# CONFIG_NET_DIVERT is not set
339# CONFIG_ECONET is not set 345# CONFIG_ECONET is not set
340# CONFIG_WAN_ROUTER is not set 346# CONFIG_WAN_ROUTER is not set
@@ -356,6 +362,9 @@ CONFIG_IEEE80211=m
356# CONFIG_IEEE80211_DEBUG is not set 362# CONFIG_IEEE80211_DEBUG is not set
357CONFIG_IEEE80211_CRYPT_WEP=m 363CONFIG_IEEE80211_CRYPT_WEP=m
358CONFIG_IEEE80211_CRYPT_CCMP=m 364CONFIG_IEEE80211_CRYPT_CCMP=m
365CONFIG_IEEE80211_SOFTMAC=m
366# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set
367CONFIG_WIRELESS_EXT=y
359 368
360# 369#
361# Device Drivers 370# Device Drivers
@@ -412,7 +421,6 @@ CONFIG_MTD_CFI_I2=y
412# CONFIG_MTD_CFI_I8 is not set 421# CONFIG_MTD_CFI_I8 is not set
413# CONFIG_MTD_CFI_INTELEXT is not set 422# CONFIG_MTD_CFI_INTELEXT is not set
414CONFIG_MTD_CFI_AMDSTD=y 423CONFIG_MTD_CFI_AMDSTD=y
415CONFIG_MTD_CFI_AMDSTD_RETRY=0
416# CONFIG_MTD_CFI_STAA is not set 424# CONFIG_MTD_CFI_STAA is not set
417CONFIG_MTD_CFI_UTIL=y 425CONFIG_MTD_CFI_UTIL=y
418# CONFIG_MTD_RAM is not set 426# CONFIG_MTD_RAM is not set
@@ -434,7 +442,6 @@ CONFIG_MTD_ALCHEMY=y
434# CONFIG_MTD_SLRAM is not set 442# CONFIG_MTD_SLRAM is not set
435# CONFIG_MTD_PHRAM is not set 443# CONFIG_MTD_PHRAM is not set
436# CONFIG_MTD_MTDRAM is not set 444# CONFIG_MTD_MTDRAM is not set
437# CONFIG_MTD_BLKMTD is not set
438# CONFIG_MTD_BLOCK2MTD is not set 445# CONFIG_MTD_BLOCK2MTD is not set
439 446
440# 447#
@@ -471,7 +478,7 @@ CONFIG_BLK_DEV_LOOP=y
471# CONFIG_BLK_DEV_CRYPTOLOOP is not set 478# CONFIG_BLK_DEV_CRYPTOLOOP is not set
472# CONFIG_BLK_DEV_NBD is not set 479# CONFIG_BLK_DEV_NBD is not set
473# CONFIG_BLK_DEV_RAM is not set 480# CONFIG_BLK_DEV_RAM is not set
474CONFIG_BLK_DEV_RAM_COUNT=16 481# CONFIG_BLK_DEV_INITRD is not set
475CONFIG_CDROM_PKTCDVD=m 482CONFIG_CDROM_PKTCDVD=m
476CONFIG_CDROM_PKTCDVD_BUFFERS=8 483CONFIG_CDROM_PKTCDVD_BUFFERS=8
477# CONFIG_CDROM_PKTCDVD_WCACHE is not set 484# CONFIG_CDROM_PKTCDVD_WCACHE is not set
@@ -722,10 +729,6 @@ CONFIG_SYNCLINK_CS=m
722# 729#
723 730
724# 731#
725# Multimedia Capabilities Port drivers
726#
727
728#
729# Multimedia devices 732# Multimedia devices
730# 733#
731# CONFIG_VIDEO_DEV is not set 734# CONFIG_VIDEO_DEV is not set
@@ -756,6 +759,7 @@ CONFIG_DUMMY_CONSOLE=y
756# 759#
757CONFIG_USB_ARCH_HAS_HCD=y 760CONFIG_USB_ARCH_HAS_HCD=y
758CONFIG_USB_ARCH_HAS_OHCI=y 761CONFIG_USB_ARCH_HAS_OHCI=y
762# CONFIG_USB_ARCH_HAS_EHCI is not set
759# CONFIG_USB is not set 763# CONFIG_USB is not set
760 764
761# 765#
@@ -773,12 +777,30 @@ CONFIG_USB_ARCH_HAS_OHCI=y
773# CONFIG_MMC is not set 777# CONFIG_MMC is not set
774 778
775# 779#
780# LED devices
781#
782# CONFIG_NEW_LEDS is not set
783
784#
785# LED drivers
786#
787
788#
789# LED Triggers
790#
791
792#
776# InfiniBand support 793# InfiniBand support
777# 794#
778 795
779# 796#
780# SN Devices 797# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
798#
799
800#
801# Real Time Clock
781# 802#
803# CONFIG_RTC_CLASS is not set
782 804
783# 805#
784# File systems 806# File systems
@@ -836,7 +858,6 @@ CONFIG_SYSFS=y
836CONFIG_TMPFS=y 858CONFIG_TMPFS=y
837# CONFIG_HUGETLB_PAGE is not set 859# CONFIG_HUGETLB_PAGE is not set
838CONFIG_RAMFS=y 860CONFIG_RAMFS=y
839CONFIG_RELAYFS_FS=m
840# CONFIG_CONFIGFS_FS is not set 861# CONFIG_CONFIGFS_FS is not set
841 862
842# 863#
@@ -945,6 +966,7 @@ CONFIG_NLS_DEFAULT="iso8859-1"
945# CONFIG_MAGIC_SYSRQ is not set 966# CONFIG_MAGIC_SYSRQ is not set
946# CONFIG_DEBUG_KERNEL is not set 967# CONFIG_DEBUG_KERNEL is not set
947CONFIG_LOG_BUF_SHIFT=14 968CONFIG_LOG_BUF_SHIFT=14
969# CONFIG_DEBUG_FS is not set
948CONFIG_CROSSCOMPILE=y 970CONFIG_CROSSCOMPILE=y
949CONFIG_CMDLINE="" 971CONFIG_CMDLINE=""
950 972
diff --git a/arch/mips/configs/db1100_defconfig b/arch/mips/configs/db1100_defconfig
index 98590cac1ec5..e5eb53867422 100644
--- a/arch/mips/configs/db1100_defconfig
+++ b/arch/mips/configs/db1100_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.16-rc1 3# Linux kernel version: 2.6.17-rc2
4# Fri Jan 27 15:39:57 2006 4# Mon Apr 24 14:50:58 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -64,6 +64,8 @@ CONFIG_MIPS_DB1100=y
64# CONFIG_TOSHIBA_RBTX4927 is not set 64# CONFIG_TOSHIBA_RBTX4927 is not set
65# CONFIG_TOSHIBA_RBTX4938 is not set 65# CONFIG_TOSHIBA_RBTX4938 is not set
66CONFIG_RWSEM_GENERIC_SPINLOCK=y 66CONFIG_RWSEM_GENERIC_SPINLOCK=y
67CONFIG_GENERIC_FIND_NEXT_BIT=y
68CONFIG_GENERIC_HWEIGHT=y
67CONFIG_GENERIC_CALIBRATE_DELAY=y 69CONFIG_GENERIC_CALIBRATE_DELAY=y
68CONFIG_DMA_NONCOHERENT=y 70CONFIG_DMA_NONCOHERENT=y
69CONFIG_DMA_NEED_PCI_MAP_STATE=y 71CONFIG_DMA_NEED_PCI_MAP_STATE=y
@@ -114,11 +116,11 @@ CONFIG_PAGE_SIZE_4KB=y
114CONFIG_CPU_HAS_PREFETCH=y 116CONFIG_CPU_HAS_PREFETCH=y
115# CONFIG_MIPS_MT is not set 117# CONFIG_MIPS_MT is not set
116CONFIG_64BIT_PHYS_ADDR=y 118CONFIG_64BIT_PHYS_ADDR=y
117# CONFIG_CPU_ADVANCED is not set
118CONFIG_CPU_HAS_LLSC=y 119CONFIG_CPU_HAS_LLSC=y
119CONFIG_CPU_HAS_SYNC=y 120CONFIG_CPU_HAS_SYNC=y
120CONFIG_GENERIC_HARDIRQS=y 121CONFIG_GENERIC_HARDIRQS=y
121CONFIG_GENERIC_IRQ_PROBE=y 122CONFIG_GENERIC_IRQ_PROBE=y
123CONFIG_CPU_SUPPORTS_HIGHMEM=y
122CONFIG_ARCH_FLATMEM_ENABLE=y 124CONFIG_ARCH_FLATMEM_ENABLE=y
123CONFIG_SELECT_MEMORY_MODEL=y 125CONFIG_SELECT_MEMORY_MODEL=y
124CONFIG_FLATMEM_MANUAL=y 126CONFIG_FLATMEM_MANUAL=y
@@ -136,7 +138,6 @@ CONFIG_PREEMPT_NONE=y
136# Code maturity level options 138# Code maturity level options
137# 139#
138CONFIG_EXPERIMENTAL=y 140CONFIG_EXPERIMENTAL=y
139CONFIG_CLEAN_COMPILE=y
140CONFIG_BROKEN_ON_SMP=y 141CONFIG_BROKEN_ON_SMP=y
141CONFIG_INIT_ENV_ARG_LIMIT=32 142CONFIG_INIT_ENV_ARG_LIMIT=32
142 143
@@ -152,6 +153,7 @@ CONFIG_SYSVIPC=y
152CONFIG_SYSCTL=y 153CONFIG_SYSCTL=y
153# CONFIG_AUDIT is not set 154# CONFIG_AUDIT is not set
154# CONFIG_IKCONFIG is not set 155# CONFIG_IKCONFIG is not set
156CONFIG_RELAY=y
155CONFIG_INITRAMFS_SOURCE="" 157CONFIG_INITRAMFS_SOURCE=""
156# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 158# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
157CONFIG_EMBEDDED=y 159CONFIG_EMBEDDED=y
@@ -165,10 +167,6 @@ CONFIG_BASE_FULL=y
165CONFIG_FUTEX=y 167CONFIG_FUTEX=y
166CONFIG_EPOLL=y 168CONFIG_EPOLL=y
167CONFIG_SHMEM=y 169CONFIG_SHMEM=y
168CONFIG_CC_ALIGN_FUNCTIONS=0
169CONFIG_CC_ALIGN_LABELS=0
170CONFIG_CC_ALIGN_LOOPS=0
171CONFIG_CC_ALIGN_JUMPS=0
172CONFIG_SLAB=y 170CONFIG_SLAB=y
173# CONFIG_TINY_SHMEM is not set 171# CONFIG_TINY_SHMEM is not set
174CONFIG_BASE_SMALL=0 172CONFIG_BASE_SMALL=0
@@ -181,7 +179,6 @@ CONFIG_OBSOLETE_INTERMODULE=y
181CONFIG_MODULES=y 179CONFIG_MODULES=y
182CONFIG_MODULE_UNLOAD=y 180CONFIG_MODULE_UNLOAD=y
183# CONFIG_MODULE_FORCE_UNLOAD is not set 181# CONFIG_MODULE_FORCE_UNLOAD is not set
184CONFIG_OBSOLETE_MODPARM=y
185CONFIG_MODVERSIONS=y 182CONFIG_MODVERSIONS=y
186CONFIG_MODULE_SRCVERSION_ALL=y 183CONFIG_MODULE_SRCVERSION_ALL=y
187CONFIG_KMOD=y 184CONFIG_KMOD=y
@@ -190,6 +187,8 @@ CONFIG_KMOD=y
190# Block layer 187# Block layer
191# 188#
192# CONFIG_LBD is not set 189# CONFIG_LBD is not set
190# CONFIG_BLK_DEV_IO_TRACE is not set
191# CONFIG_LSF is not set
193 192
194# 193#
195# IO Schedulers 194# IO Schedulers
@@ -234,6 +233,7 @@ CONFIG_NET=y
234# 233#
235# Networking options 234# Networking options
236# 235#
236# CONFIG_NETDEBUG is not set
237CONFIG_PACKET=y 237CONFIG_PACKET=y
238# CONFIG_PACKET_MMAP is not set 238# CONFIG_PACKET_MMAP is not set
239CONFIG_UNIX=y 239CONFIG_UNIX=y
@@ -256,7 +256,8 @@ CONFIG_IP_PNP_BOOTP=y
256# CONFIG_INET_AH is not set 256# CONFIG_INET_AH is not set
257# CONFIG_INET_ESP is not set 257# CONFIG_INET_ESP is not set
258# CONFIG_INET_IPCOMP is not set 258# CONFIG_INET_IPCOMP is not set
259CONFIG_INET_TUNNEL=m 259# CONFIG_INET_XFRM_TUNNEL is not set
260# CONFIG_INET_TUNNEL is not set
260CONFIG_INET_DIAG=y 261CONFIG_INET_DIAG=y
261CONFIG_INET_TCP_DIAG=y 262CONFIG_INET_TCP_DIAG=y
262# CONFIG_TCP_CONG_ADVANCED is not set 263# CONFIG_TCP_CONG_ADVANCED is not set
@@ -267,6 +268,8 @@ CONFIG_TCP_CONG_BIC=y
267# 268#
268# CONFIG_IP_VS is not set 269# CONFIG_IP_VS is not set
269# CONFIG_IPV6 is not set 270# CONFIG_IPV6 is not set
271# CONFIG_INET6_XFRM_TUNNEL is not set
272# CONFIG_INET6_TUNNEL is not set
270CONFIG_NETFILTER=y 273CONFIG_NETFILTER=y
271# CONFIG_NETFILTER_DEBUG is not set 274# CONFIG_NETFILTER_DEBUG is not set
272 275
@@ -283,10 +286,13 @@ CONFIG_NETFILTER_XT_TARGET_MARK=m
283CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m 286CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
284CONFIG_NETFILTER_XT_MATCH_COMMENT=m 287CONFIG_NETFILTER_XT_MATCH_COMMENT=m
285CONFIG_NETFILTER_XT_MATCH_DCCP=m 288CONFIG_NETFILTER_XT_MATCH_DCCP=m
289CONFIG_NETFILTER_XT_MATCH_ESP=m
286CONFIG_NETFILTER_XT_MATCH_LENGTH=m 290CONFIG_NETFILTER_XT_MATCH_LENGTH=m
287CONFIG_NETFILTER_XT_MATCH_LIMIT=m 291CONFIG_NETFILTER_XT_MATCH_LIMIT=m
288CONFIG_NETFILTER_XT_MATCH_MAC=m 292CONFIG_NETFILTER_XT_MATCH_MAC=m
289CONFIG_NETFILTER_XT_MATCH_MARK=m 293CONFIG_NETFILTER_XT_MATCH_MARK=m
294CONFIG_NETFILTER_XT_MATCH_POLICY=m
295CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
290CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m 296CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
291CONFIG_NETFILTER_XT_MATCH_REALM=m 297CONFIG_NETFILTER_XT_MATCH_REALM=m
292CONFIG_NETFILTER_XT_MATCH_SCTP=m 298CONFIG_NETFILTER_XT_MATCH_SCTP=m
@@ -310,6 +316,11 @@ CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
310# SCTP Configuration (EXPERIMENTAL) 316# SCTP Configuration (EXPERIMENTAL)
311# 317#
312# CONFIG_IP_SCTP is not set 318# CONFIG_IP_SCTP is not set
319
320#
321# TIPC Configuration (EXPERIMENTAL)
322#
323# CONFIG_TIPC is not set
313# CONFIG_ATM is not set 324# CONFIG_ATM is not set
314# CONFIG_BRIDGE is not set 325# CONFIG_BRIDGE is not set
315# CONFIG_VLAN_8021Q is not set 326# CONFIG_VLAN_8021Q is not set
@@ -319,11 +330,6 @@ CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
319# CONFIG_ATALK is not set 330# CONFIG_ATALK is not set
320# CONFIG_X25 is not set 331# CONFIG_X25 is not set
321# CONFIG_LAPB is not set 332# CONFIG_LAPB is not set
322
323#
324# TIPC Configuration (EXPERIMENTAL)
325#
326# CONFIG_TIPC is not set
327# CONFIG_NET_DIVERT is not set 333# CONFIG_NET_DIVERT is not set
328# CONFIG_ECONET is not set 334# CONFIG_ECONET is not set
329# CONFIG_WAN_ROUTER is not set 335# CONFIG_WAN_ROUTER is not set
@@ -345,6 +351,9 @@ CONFIG_IEEE80211=m
345# CONFIG_IEEE80211_DEBUG is not set 351# CONFIG_IEEE80211_DEBUG is not set
346CONFIG_IEEE80211_CRYPT_WEP=m 352CONFIG_IEEE80211_CRYPT_WEP=m
347CONFIG_IEEE80211_CRYPT_CCMP=m 353CONFIG_IEEE80211_CRYPT_CCMP=m
354CONFIG_IEEE80211_SOFTMAC=m
355# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set
356CONFIG_WIRELESS_EXT=y
348 357
349# 358#
350# Device Drivers 359# Device Drivers
@@ -401,7 +410,6 @@ CONFIG_MTD_CFI_I2=y
401# CONFIG_MTD_CFI_I8 is not set 410# CONFIG_MTD_CFI_I8 is not set
402# CONFIG_MTD_CFI_INTELEXT is not set 411# CONFIG_MTD_CFI_INTELEXT is not set
403CONFIG_MTD_CFI_AMDSTD=y 412CONFIG_MTD_CFI_AMDSTD=y
404CONFIG_MTD_CFI_AMDSTD_RETRY=0
405# CONFIG_MTD_CFI_STAA is not set 413# CONFIG_MTD_CFI_STAA is not set
406CONFIG_MTD_CFI_UTIL=y 414CONFIG_MTD_CFI_UTIL=y
407# CONFIG_MTD_RAM is not set 415# CONFIG_MTD_RAM is not set
@@ -423,7 +431,6 @@ CONFIG_MTD_ALCHEMY=y
423# CONFIG_MTD_SLRAM is not set 431# CONFIG_MTD_SLRAM is not set
424# CONFIG_MTD_PHRAM is not set 432# CONFIG_MTD_PHRAM is not set
425# CONFIG_MTD_MTDRAM is not set 433# CONFIG_MTD_MTDRAM is not set
426# CONFIG_MTD_BLKMTD is not set
427# CONFIG_MTD_BLOCK2MTD is not set 434# CONFIG_MTD_BLOCK2MTD is not set
428 435
429# 436#
@@ -460,7 +467,7 @@ CONFIG_BLK_DEV_LOOP=y
460# CONFIG_BLK_DEV_CRYPTOLOOP is not set 467# CONFIG_BLK_DEV_CRYPTOLOOP is not set
461# CONFIG_BLK_DEV_NBD is not set 468# CONFIG_BLK_DEV_NBD is not set
462# CONFIG_BLK_DEV_RAM is not set 469# CONFIG_BLK_DEV_RAM is not set
463CONFIG_BLK_DEV_RAM_COUNT=16 470# CONFIG_BLK_DEV_INITRD is not set
464CONFIG_CDROM_PKTCDVD=m 471CONFIG_CDROM_PKTCDVD=m
465CONFIG_CDROM_PKTCDVD_BUFFERS=8 472CONFIG_CDROM_PKTCDVD_BUFFERS=8
466# CONFIG_CDROM_PKTCDVD_WCACHE is not set 473# CONFIG_CDROM_PKTCDVD_WCACHE is not set
@@ -690,10 +697,6 @@ CONFIG_LEGACY_PTY_COUNT=256
690# 697#
691 698
692# 699#
693# Multimedia Capabilities Port drivers
694#
695
696#
697# Multimedia devices 700# Multimedia devices
698# 701#
699# CONFIG_VIDEO_DEV is not set 702# CONFIG_VIDEO_DEV is not set
@@ -711,6 +714,7 @@ CONFIG_FB_CFB_FILLRECT=y
711CONFIG_FB_CFB_COPYAREA=y 714CONFIG_FB_CFB_COPYAREA=y
712CONFIG_FB_CFB_IMAGEBLIT=y 715CONFIG_FB_CFB_IMAGEBLIT=y
713# CONFIG_FB_MACMODES is not set 716# CONFIG_FB_MACMODES is not set
717CONFIG_FB_FIRMWARE_EDID=y
714# CONFIG_FB_MODE_HELPERS is not set 718# CONFIG_FB_MODE_HELPERS is not set
715# CONFIG_FB_TILEBLITTING is not set 719# CONFIG_FB_TILEBLITTING is not set
716# CONFIG_FB_S1D13XXX is not set 720# CONFIG_FB_S1D13XXX is not set
@@ -755,6 +759,7 @@ CONFIG_LOGO_LINUX_CLUT224=y
755# 759#
756CONFIG_USB_ARCH_HAS_HCD=y 760CONFIG_USB_ARCH_HAS_HCD=y
757CONFIG_USB_ARCH_HAS_OHCI=y 761CONFIG_USB_ARCH_HAS_OHCI=y
762# CONFIG_USB_ARCH_HAS_EHCI is not set
758# CONFIG_USB is not set 763# CONFIG_USB is not set
759 764
760# 765#
@@ -772,12 +777,30 @@ CONFIG_USB_ARCH_HAS_OHCI=y
772# CONFIG_MMC is not set 777# CONFIG_MMC is not set
773 778
774# 779#
780# LED devices
781#
782# CONFIG_NEW_LEDS is not set
783
784#
785# LED drivers
786#
787
788#
789# LED Triggers
790#
791
792#
775# InfiniBand support 793# InfiniBand support
776# 794#
777 795
778# 796#
779# SN Devices 797# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
798#
799
800#
801# Real Time Clock
780# 802#
803# CONFIG_RTC_CLASS is not set
781 804
782# 805#
783# File systems 806# File systems
@@ -835,7 +858,6 @@ CONFIG_SYSFS=y
835CONFIG_TMPFS=y 858CONFIG_TMPFS=y
836# CONFIG_HUGETLB_PAGE is not set 859# CONFIG_HUGETLB_PAGE is not set
837CONFIG_RAMFS=y 860CONFIG_RAMFS=y
838CONFIG_RELAYFS_FS=m
839# CONFIG_CONFIGFS_FS is not set 861# CONFIG_CONFIGFS_FS is not set
840 862
841# 863#
@@ -944,6 +966,7 @@ CONFIG_NLS_DEFAULT="iso8859-1"
944# CONFIG_MAGIC_SYSRQ is not set 966# CONFIG_MAGIC_SYSRQ is not set
945# CONFIG_DEBUG_KERNEL is not set 967# CONFIG_DEBUG_KERNEL is not set
946CONFIG_LOG_BUF_SHIFT=14 968CONFIG_LOG_BUF_SHIFT=14
969# CONFIG_DEBUG_FS is not set
947CONFIG_CROSSCOMPILE=y 970CONFIG_CROSSCOMPILE=y
948CONFIG_CMDLINE="" 971CONFIG_CMDLINE=""
949 972
diff --git a/arch/mips/configs/db1200_defconfig b/arch/mips/configs/db1200_defconfig
index 92888472dca0..a43fb2329fd5 100644
--- a/arch/mips/configs/db1200_defconfig
+++ b/arch/mips/configs/db1200_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.16-rc1 3# Linux kernel version: 2.6.17-rc2
4# Fri Jan 27 15:39:58 2006 4# Mon Apr 24 14:50:58 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -64,6 +64,8 @@ CONFIG_MIPS_DB1200=y
64# CONFIG_TOSHIBA_RBTX4927 is not set 64# CONFIG_TOSHIBA_RBTX4927 is not set
65# CONFIG_TOSHIBA_RBTX4938 is not set 65# CONFIG_TOSHIBA_RBTX4938 is not set
66CONFIG_RWSEM_GENERIC_SPINLOCK=y 66CONFIG_RWSEM_GENERIC_SPINLOCK=y
67CONFIG_GENERIC_FIND_NEXT_BIT=y
68CONFIG_GENERIC_HWEIGHT=y
67CONFIG_GENERIC_CALIBRATE_DELAY=y 69CONFIG_GENERIC_CALIBRATE_DELAY=y
68CONFIG_DMA_COHERENT=y 70CONFIG_DMA_COHERENT=y
69CONFIG_MIPS_DISABLE_OBSOLETE_IDE=y 71CONFIG_MIPS_DISABLE_OBSOLETE_IDE=y
@@ -114,11 +116,11 @@ CONFIG_PAGE_SIZE_4KB=y
114CONFIG_CPU_HAS_PREFETCH=y 116CONFIG_CPU_HAS_PREFETCH=y
115# CONFIG_MIPS_MT is not set 117# CONFIG_MIPS_MT is not set
116CONFIG_64BIT_PHYS_ADDR=y 118CONFIG_64BIT_PHYS_ADDR=y
117# CONFIG_CPU_ADVANCED is not set
118CONFIG_CPU_HAS_LLSC=y 119CONFIG_CPU_HAS_LLSC=y
119CONFIG_CPU_HAS_SYNC=y 120CONFIG_CPU_HAS_SYNC=y
120CONFIG_GENERIC_HARDIRQS=y 121CONFIG_GENERIC_HARDIRQS=y
121CONFIG_GENERIC_IRQ_PROBE=y 122CONFIG_GENERIC_IRQ_PROBE=y
123CONFIG_CPU_SUPPORTS_HIGHMEM=y
122CONFIG_ARCH_FLATMEM_ENABLE=y 124CONFIG_ARCH_FLATMEM_ENABLE=y
123CONFIG_SELECT_MEMORY_MODEL=y 125CONFIG_SELECT_MEMORY_MODEL=y
124CONFIG_FLATMEM_MANUAL=y 126CONFIG_FLATMEM_MANUAL=y
@@ -136,7 +138,6 @@ CONFIG_PREEMPT_NONE=y
136# Code maturity level options 138# Code maturity level options
137# 139#
138CONFIG_EXPERIMENTAL=y 140CONFIG_EXPERIMENTAL=y
139CONFIG_CLEAN_COMPILE=y
140CONFIG_BROKEN_ON_SMP=y 141CONFIG_BROKEN_ON_SMP=y
141CONFIG_INIT_ENV_ARG_LIMIT=32 142CONFIG_INIT_ENV_ARG_LIMIT=32
142 143
@@ -153,6 +154,7 @@ CONFIG_SYSCTL=y
153# CONFIG_AUDIT is not set 154# CONFIG_AUDIT is not set
154CONFIG_IKCONFIG=y 155CONFIG_IKCONFIG=y
155CONFIG_IKCONFIG_PROC=y 156CONFIG_IKCONFIG_PROC=y
157# CONFIG_RELAY is not set
156CONFIG_INITRAMFS_SOURCE="" 158CONFIG_INITRAMFS_SOURCE=""
157# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 159# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
158CONFIG_EMBEDDED=y 160CONFIG_EMBEDDED=y
@@ -166,10 +168,6 @@ CONFIG_BASE_FULL=y
166CONFIG_FUTEX=y 168CONFIG_FUTEX=y
167CONFIG_EPOLL=y 169CONFIG_EPOLL=y
168CONFIG_SHMEM=y 170CONFIG_SHMEM=y
169CONFIG_CC_ALIGN_FUNCTIONS=0
170CONFIG_CC_ALIGN_LABELS=0
171CONFIG_CC_ALIGN_LOOPS=0
172CONFIG_CC_ALIGN_JUMPS=0
173CONFIG_SLAB=y 171CONFIG_SLAB=y
174# CONFIG_TINY_SHMEM is not set 172# CONFIG_TINY_SHMEM is not set
175CONFIG_BASE_SMALL=0 173CONFIG_BASE_SMALL=0
@@ -182,7 +180,6 @@ CONFIG_OBSOLETE_INTERMODULE=y
182CONFIG_MODULES=y 180CONFIG_MODULES=y
183CONFIG_MODULE_UNLOAD=y 181CONFIG_MODULE_UNLOAD=y
184# CONFIG_MODULE_FORCE_UNLOAD is not set 182# CONFIG_MODULE_FORCE_UNLOAD is not set
185CONFIG_OBSOLETE_MODPARM=y
186CONFIG_MODVERSIONS=y 183CONFIG_MODVERSIONS=y
187CONFIG_MODULE_SRCVERSION_ALL=y 184CONFIG_MODULE_SRCVERSION_ALL=y
188CONFIG_KMOD=y 185CONFIG_KMOD=y
@@ -191,6 +188,8 @@ CONFIG_KMOD=y
191# Block layer 188# Block layer
192# 189#
193# CONFIG_LBD is not set 190# CONFIG_LBD is not set
191# CONFIG_BLK_DEV_IO_TRACE is not set
192# CONFIG_LSF is not set
194 193
195# 194#
196# IO Schedulers 195# IO Schedulers
@@ -244,6 +243,7 @@ CONFIG_NET=y
244# 243#
245# Networking options 244# Networking options
246# 245#
246# CONFIG_NETDEBUG is not set
247CONFIG_PACKET=y 247CONFIG_PACKET=y
248# CONFIG_PACKET_MMAP is not set 248# CONFIG_PACKET_MMAP is not set
249CONFIG_UNIX=y 249CONFIG_UNIX=y
@@ -263,7 +263,8 @@ CONFIG_IP_FIB_HASH=y
263# CONFIG_INET_AH is not set 263# CONFIG_INET_AH is not set
264# CONFIG_INET_ESP is not set 264# CONFIG_INET_ESP is not set
265# CONFIG_INET_IPCOMP is not set 265# CONFIG_INET_IPCOMP is not set
266CONFIG_INET_TUNNEL=m 266# CONFIG_INET_XFRM_TUNNEL is not set
267# CONFIG_INET_TUNNEL is not set
267CONFIG_INET_DIAG=y 268CONFIG_INET_DIAG=y
268CONFIG_INET_TCP_DIAG=y 269CONFIG_INET_TCP_DIAG=y
269# CONFIG_TCP_CONG_ADVANCED is not set 270# CONFIG_TCP_CONG_ADVANCED is not set
@@ -274,6 +275,8 @@ CONFIG_TCP_CONG_BIC=y
274# 275#
275# CONFIG_IP_VS is not set 276# CONFIG_IP_VS is not set
276# CONFIG_IPV6 is not set 277# CONFIG_IPV6 is not set
278# CONFIG_INET6_XFRM_TUNNEL is not set
279# CONFIG_INET6_TUNNEL is not set
277CONFIG_NETFILTER=y 280CONFIG_NETFILTER=y
278# CONFIG_NETFILTER_DEBUG is not set 281# CONFIG_NETFILTER_DEBUG is not set
279 282
@@ -288,10 +291,13 @@ CONFIG_NETFILTER_XT_TARGET_MARK=m
288CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m 291CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
289CONFIG_NETFILTER_XT_MATCH_COMMENT=m 292CONFIG_NETFILTER_XT_MATCH_COMMENT=m
290CONFIG_NETFILTER_XT_MATCH_DCCP=m 293CONFIG_NETFILTER_XT_MATCH_DCCP=m
294CONFIG_NETFILTER_XT_MATCH_ESP=m
291CONFIG_NETFILTER_XT_MATCH_LENGTH=m 295CONFIG_NETFILTER_XT_MATCH_LENGTH=m
292CONFIG_NETFILTER_XT_MATCH_LIMIT=m 296CONFIG_NETFILTER_XT_MATCH_LIMIT=m
293CONFIG_NETFILTER_XT_MATCH_MAC=m 297CONFIG_NETFILTER_XT_MATCH_MAC=m
294CONFIG_NETFILTER_XT_MATCH_MARK=m 298CONFIG_NETFILTER_XT_MATCH_MARK=m
299CONFIG_NETFILTER_XT_MATCH_POLICY=m
300CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
295CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m 301CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
296CONFIG_NETFILTER_XT_MATCH_REALM=m 302CONFIG_NETFILTER_XT_MATCH_REALM=m
297CONFIG_NETFILTER_XT_MATCH_SCTP=m 303CONFIG_NETFILTER_XT_MATCH_SCTP=m
@@ -315,6 +321,11 @@ CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
315# SCTP Configuration (EXPERIMENTAL) 321# SCTP Configuration (EXPERIMENTAL)
316# 322#
317# CONFIG_IP_SCTP is not set 323# CONFIG_IP_SCTP is not set
324
325#
326# TIPC Configuration (EXPERIMENTAL)
327#
328# CONFIG_TIPC is not set
318# CONFIG_ATM is not set 329# CONFIG_ATM is not set
319# CONFIG_BRIDGE is not set 330# CONFIG_BRIDGE is not set
320# CONFIG_VLAN_8021Q is not set 331# CONFIG_VLAN_8021Q is not set
@@ -324,11 +335,6 @@ CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
324# CONFIG_ATALK is not set 335# CONFIG_ATALK is not set
325# CONFIG_X25 is not set 336# CONFIG_X25 is not set
326# CONFIG_LAPB is not set 337# CONFIG_LAPB is not set
327
328#
329# TIPC Configuration (EXPERIMENTAL)
330#
331# CONFIG_TIPC is not set
332# CONFIG_NET_DIVERT is not set 338# CONFIG_NET_DIVERT is not set
333# CONFIG_ECONET is not set 339# CONFIG_ECONET is not set
334# CONFIG_WAN_ROUTER is not set 340# CONFIG_WAN_ROUTER is not set
@@ -403,7 +409,6 @@ CONFIG_MTD_CFI_I2=y
403# CONFIG_MTD_CFI_I8 is not set 409# CONFIG_MTD_CFI_I8 is not set
404# CONFIG_MTD_CFI_INTELEXT is not set 410# CONFIG_MTD_CFI_INTELEXT is not set
405CONFIG_MTD_CFI_AMDSTD=y 411CONFIG_MTD_CFI_AMDSTD=y
406CONFIG_MTD_CFI_AMDSTD_RETRY=0
407# CONFIG_MTD_CFI_STAA is not set 412# CONFIG_MTD_CFI_STAA is not set
408CONFIG_MTD_CFI_UTIL=y 413CONFIG_MTD_CFI_UTIL=y
409# CONFIG_MTD_RAM is not set 414# CONFIG_MTD_RAM is not set
@@ -425,7 +430,6 @@ CONFIG_MTD_ALCHEMY=y
425# CONFIG_MTD_SLRAM is not set 430# CONFIG_MTD_SLRAM is not set
426# CONFIG_MTD_PHRAM is not set 431# CONFIG_MTD_PHRAM is not set
427# CONFIG_MTD_MTDRAM is not set 432# CONFIG_MTD_MTDRAM is not set
428# CONFIG_MTD_BLKMTD is not set
429# CONFIG_MTD_BLOCK2MTD is not set 433# CONFIG_MTD_BLOCK2MTD is not set
430 434
431# 435#
@@ -763,10 +767,6 @@ CONFIG_LEGACY_PTY_COUNT=256
763# 767#
764 768
765# 769#
766# Multimedia Capabilities Port drivers
767#
768
769#
770# Multimedia devices 770# Multimedia devices
771# 771#
772# CONFIG_VIDEO_DEV is not set 772# CONFIG_VIDEO_DEV is not set
@@ -784,6 +784,7 @@ CONFIG_FB_CFB_FILLRECT=y
784CONFIG_FB_CFB_COPYAREA=y 784CONFIG_FB_CFB_COPYAREA=y
785CONFIG_FB_CFB_IMAGEBLIT=y 785CONFIG_FB_CFB_IMAGEBLIT=y
786# CONFIG_FB_MACMODES is not set 786# CONFIG_FB_MACMODES is not set
787CONFIG_FB_FIRMWARE_EDID=y
787# CONFIG_FB_MODE_HELPERS is not set 788# CONFIG_FB_MODE_HELPERS is not set
788# CONFIG_FB_TILEBLITTING is not set 789# CONFIG_FB_TILEBLITTING is not set
789# CONFIG_FB_S1D13XXX is not set 790# CONFIG_FB_S1D13XXX is not set
@@ -794,6 +795,7 @@ CONFIG_FB_AU1200=y
794# Console display driver support 795# Console display driver support
795# 796#
796CONFIG_VGA_CONSOLE=y 797CONFIG_VGA_CONSOLE=y
798# CONFIG_VGACON_SOFT_SCROLLBACK is not set
797CONFIG_DUMMY_CONSOLE=y 799CONFIG_DUMMY_CONSOLE=y
798# CONFIG_FRAMEBUFFER_CONSOLE is not set 800# CONFIG_FRAMEBUFFER_CONSOLE is not set
799 801
@@ -816,6 +818,7 @@ CONFIG_LOGO_LINUX_CLUT224=y
816# 818#
817CONFIG_USB_ARCH_HAS_HCD=y 819CONFIG_USB_ARCH_HAS_HCD=y
818CONFIG_USB_ARCH_HAS_OHCI=y 820CONFIG_USB_ARCH_HAS_OHCI=y
821CONFIG_USB_ARCH_HAS_EHCI=y
819# CONFIG_USB is not set 822# CONFIG_USB is not set
820 823
821# 824#
@@ -832,6 +835,7 @@ CONFIG_USB_GADGET=m
832# CONFIG_USB_GADGET_GOKU is not set 835# CONFIG_USB_GADGET_GOKU is not set
833# CONFIG_USB_GADGET_LH7A40X is not set 836# CONFIG_USB_GADGET_LH7A40X is not set
834# CONFIG_USB_GADGET_OMAP is not set 837# CONFIG_USB_GADGET_OMAP is not set
838# CONFIG_USB_GADGET_AT91 is not set
835# CONFIG_USB_GADGET_DUMMY_HCD is not set 839# CONFIG_USB_GADGET_DUMMY_HCD is not set
836# CONFIG_USB_GADGET_DUALSPEED is not set 840# CONFIG_USB_GADGET_DUALSPEED is not set
837 841
@@ -844,12 +848,30 @@ CONFIG_MMC_BLOCK=y
844CONFIG_MMC_AU1X=y 848CONFIG_MMC_AU1X=y
845 849
846# 850#
851# LED devices
852#
853# CONFIG_NEW_LEDS is not set
854
855#
856# LED drivers
857#
858
859#
860# LED Triggers
861#
862
863#
847# InfiniBand support 864# InfiniBand support
848# 865#
849 866
850# 867#
851# SN Devices 868# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
869#
870
871#
872# Real Time Clock
852# 873#
874# CONFIG_RTC_CLASS is not set
853 875
854# 876#
855# File systems 877# File systems
@@ -913,7 +935,6 @@ CONFIG_SYSFS=y
913CONFIG_TMPFS=y 935CONFIG_TMPFS=y
914# CONFIG_HUGETLB_PAGE is not set 936# CONFIG_HUGETLB_PAGE is not set
915CONFIG_RAMFS=y 937CONFIG_RAMFS=y
916# CONFIG_RELAYFS_FS is not set
917# CONFIG_CONFIGFS_FS is not set 938# CONFIG_CONFIGFS_FS is not set
918 939
919# 940#
@@ -1027,6 +1048,7 @@ CONFIG_NLS_UTF8=m
1027# CONFIG_MAGIC_SYSRQ is not set 1048# CONFIG_MAGIC_SYSRQ is not set
1028# CONFIG_DEBUG_KERNEL is not set 1049# CONFIG_DEBUG_KERNEL is not set
1029CONFIG_LOG_BUF_SHIFT=14 1050CONFIG_LOG_BUF_SHIFT=14
1051# CONFIG_DEBUG_FS is not set
1030CONFIG_CROSSCOMPILE=y 1052CONFIG_CROSSCOMPILE=y
1031CONFIG_CMDLINE="mem=48M" 1053CONFIG_CMDLINE="mem=48M"
1032 1054
diff --git a/arch/mips/configs/db1500_defconfig b/arch/mips/configs/db1500_defconfig
index 5a415b1d4af0..ad632d87c4ef 100644
--- a/arch/mips/configs/db1500_defconfig
+++ b/arch/mips/configs/db1500_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.16-rc1 3# Linux kernel version: 2.6.17-rc2
4# Fri Jan 27 15:39:59 2006 4# Mon Apr 24 14:50:59 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -64,6 +64,8 @@ CONFIG_MIPS_DB1500=y
64# CONFIG_TOSHIBA_RBTX4927 is not set 64# CONFIG_TOSHIBA_RBTX4927 is not set
65# CONFIG_TOSHIBA_RBTX4938 is not set 65# CONFIG_TOSHIBA_RBTX4938 is not set
66CONFIG_RWSEM_GENERIC_SPINLOCK=y 66CONFIG_RWSEM_GENERIC_SPINLOCK=y
67CONFIG_GENERIC_FIND_NEXT_BIT=y
68CONFIG_GENERIC_HWEIGHT=y
67CONFIG_GENERIC_CALIBRATE_DELAY=y 69CONFIG_GENERIC_CALIBRATE_DELAY=y
68CONFIG_DMA_NONCOHERENT=y 70CONFIG_DMA_NONCOHERENT=y
69CONFIG_DMA_NEED_PCI_MAP_STATE=y 71CONFIG_DMA_NEED_PCI_MAP_STATE=y
@@ -116,11 +118,11 @@ CONFIG_PAGE_SIZE_4KB=y
116CONFIG_CPU_HAS_PREFETCH=y 118CONFIG_CPU_HAS_PREFETCH=y
117# CONFIG_MIPS_MT is not set 119# CONFIG_MIPS_MT is not set
118CONFIG_64BIT_PHYS_ADDR=y 120CONFIG_64BIT_PHYS_ADDR=y
119# CONFIG_CPU_ADVANCED is not set
120CONFIG_CPU_HAS_LLSC=y 121CONFIG_CPU_HAS_LLSC=y
121CONFIG_CPU_HAS_SYNC=y 122CONFIG_CPU_HAS_SYNC=y
122CONFIG_GENERIC_HARDIRQS=y 123CONFIG_GENERIC_HARDIRQS=y
123CONFIG_GENERIC_IRQ_PROBE=y 124CONFIG_GENERIC_IRQ_PROBE=y
125CONFIG_CPU_SUPPORTS_HIGHMEM=y
124CONFIG_ARCH_FLATMEM_ENABLE=y 126CONFIG_ARCH_FLATMEM_ENABLE=y
125CONFIG_SELECT_MEMORY_MODEL=y 127CONFIG_SELECT_MEMORY_MODEL=y
126CONFIG_FLATMEM_MANUAL=y 128CONFIG_FLATMEM_MANUAL=y
@@ -138,7 +140,6 @@ CONFIG_PREEMPT_NONE=y
138# Code maturity level options 140# Code maturity level options
139# 141#
140CONFIG_EXPERIMENTAL=y 142CONFIG_EXPERIMENTAL=y
141CONFIG_CLEAN_COMPILE=y
142CONFIG_BROKEN_ON_SMP=y 143CONFIG_BROKEN_ON_SMP=y
143CONFIG_INIT_ENV_ARG_LIMIT=32 144CONFIG_INIT_ENV_ARG_LIMIT=32
144 145
@@ -154,6 +155,7 @@ CONFIG_SYSVIPC=y
154CONFIG_SYSCTL=y 155CONFIG_SYSCTL=y
155# CONFIG_AUDIT is not set 156# CONFIG_AUDIT is not set
156# CONFIG_IKCONFIG is not set 157# CONFIG_IKCONFIG is not set
158CONFIG_RELAY=y
157CONFIG_INITRAMFS_SOURCE="" 159CONFIG_INITRAMFS_SOURCE=""
158# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 160# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
159CONFIG_EMBEDDED=y 161CONFIG_EMBEDDED=y
@@ -167,10 +169,6 @@ CONFIG_BASE_FULL=y
167CONFIG_FUTEX=y 169CONFIG_FUTEX=y
168CONFIG_EPOLL=y 170CONFIG_EPOLL=y
169CONFIG_SHMEM=y 171CONFIG_SHMEM=y
170CONFIG_CC_ALIGN_FUNCTIONS=0
171CONFIG_CC_ALIGN_LABELS=0
172CONFIG_CC_ALIGN_LOOPS=0
173CONFIG_CC_ALIGN_JUMPS=0
174CONFIG_SLAB=y 172CONFIG_SLAB=y
175# CONFIG_TINY_SHMEM is not set 173# CONFIG_TINY_SHMEM is not set
176CONFIG_BASE_SMALL=0 174CONFIG_BASE_SMALL=0
@@ -183,7 +181,6 @@ CONFIG_OBSOLETE_INTERMODULE=y
183CONFIG_MODULES=y 181CONFIG_MODULES=y
184CONFIG_MODULE_UNLOAD=y 182CONFIG_MODULE_UNLOAD=y
185# CONFIG_MODULE_FORCE_UNLOAD is not set 183# CONFIG_MODULE_FORCE_UNLOAD is not set
186CONFIG_OBSOLETE_MODPARM=y
187CONFIG_MODVERSIONS=y 184CONFIG_MODVERSIONS=y
188CONFIG_MODULE_SRCVERSION_ALL=y 185CONFIG_MODULE_SRCVERSION_ALL=y
189CONFIG_KMOD=y 186CONFIG_KMOD=y
@@ -192,6 +189,8 @@ CONFIG_KMOD=y
192# Block layer 189# Block layer
193# 190#
194# CONFIG_LBD is not set 191# CONFIG_LBD is not set
192# CONFIG_BLK_DEV_IO_TRACE is not set
193# CONFIG_LSF is not set
195 194
196# 195#
197# IO Schedulers 196# IO Schedulers
@@ -211,7 +210,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
211# 210#
212CONFIG_HW_HAS_PCI=y 211CONFIG_HW_HAS_PCI=y
213CONFIG_PCI=y 212CONFIG_PCI=y
214CONFIG_PCI_LEGACY_PROC=y
215CONFIG_MMU=y 213CONFIG_MMU=y
216 214
217# 215#
@@ -253,6 +251,7 @@ CONFIG_NET=y
253# 251#
254# Networking options 252# Networking options
255# 253#
254# CONFIG_NETDEBUG is not set
256CONFIG_PACKET=y 255CONFIG_PACKET=y
257# CONFIG_PACKET_MMAP is not set 256# CONFIG_PACKET_MMAP is not set
258CONFIG_UNIX=y 257CONFIG_UNIX=y
@@ -275,7 +274,8 @@ CONFIG_IP_PNP_BOOTP=y
275# CONFIG_INET_AH is not set 274# CONFIG_INET_AH is not set
276# CONFIG_INET_ESP is not set 275# CONFIG_INET_ESP is not set
277# CONFIG_INET_IPCOMP is not set 276# CONFIG_INET_IPCOMP is not set
278CONFIG_INET_TUNNEL=m 277# CONFIG_INET_XFRM_TUNNEL is not set
278# CONFIG_INET_TUNNEL is not set
279CONFIG_INET_DIAG=y 279CONFIG_INET_DIAG=y
280CONFIG_INET_TCP_DIAG=y 280CONFIG_INET_TCP_DIAG=y
281# CONFIG_TCP_CONG_ADVANCED is not set 281# CONFIG_TCP_CONG_ADVANCED is not set
@@ -286,6 +286,8 @@ CONFIG_TCP_CONG_BIC=y
286# 286#
287# CONFIG_IP_VS is not set 287# CONFIG_IP_VS is not set
288# CONFIG_IPV6 is not set 288# CONFIG_IPV6 is not set
289# CONFIG_INET6_XFRM_TUNNEL is not set
290# CONFIG_INET6_TUNNEL is not set
289CONFIG_NETFILTER=y 291CONFIG_NETFILTER=y
290# CONFIG_NETFILTER_DEBUG is not set 292# CONFIG_NETFILTER_DEBUG is not set
291 293
@@ -302,10 +304,13 @@ CONFIG_NETFILTER_XT_TARGET_MARK=m
302CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m 304CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
303CONFIG_NETFILTER_XT_MATCH_COMMENT=m 305CONFIG_NETFILTER_XT_MATCH_COMMENT=m
304CONFIG_NETFILTER_XT_MATCH_DCCP=m 306CONFIG_NETFILTER_XT_MATCH_DCCP=m
307CONFIG_NETFILTER_XT_MATCH_ESP=m
305CONFIG_NETFILTER_XT_MATCH_LENGTH=m 308CONFIG_NETFILTER_XT_MATCH_LENGTH=m
306CONFIG_NETFILTER_XT_MATCH_LIMIT=m 309CONFIG_NETFILTER_XT_MATCH_LIMIT=m
307CONFIG_NETFILTER_XT_MATCH_MAC=m 310CONFIG_NETFILTER_XT_MATCH_MAC=m
308CONFIG_NETFILTER_XT_MATCH_MARK=m 311CONFIG_NETFILTER_XT_MATCH_MARK=m
312CONFIG_NETFILTER_XT_MATCH_POLICY=m
313CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
309CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m 314CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
310CONFIG_NETFILTER_XT_MATCH_REALM=m 315CONFIG_NETFILTER_XT_MATCH_REALM=m
311CONFIG_NETFILTER_XT_MATCH_SCTP=m 316CONFIG_NETFILTER_XT_MATCH_SCTP=m
@@ -329,6 +334,11 @@ CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
329# SCTP Configuration (EXPERIMENTAL) 334# SCTP Configuration (EXPERIMENTAL)
330# 335#
331# CONFIG_IP_SCTP is not set 336# CONFIG_IP_SCTP is not set
337
338#
339# TIPC Configuration (EXPERIMENTAL)
340#
341# CONFIG_TIPC is not set
332# CONFIG_ATM is not set 342# CONFIG_ATM is not set
333# CONFIG_BRIDGE is not set 343# CONFIG_BRIDGE is not set
334# CONFIG_VLAN_8021Q is not set 344# CONFIG_VLAN_8021Q is not set
@@ -338,11 +348,6 @@ CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
338# CONFIG_ATALK is not set 348# CONFIG_ATALK is not set
339# CONFIG_X25 is not set 349# CONFIG_X25 is not set
340# CONFIG_LAPB is not set 350# CONFIG_LAPB is not set
341
342#
343# TIPC Configuration (EXPERIMENTAL)
344#
345# CONFIG_TIPC is not set
346# CONFIG_NET_DIVERT is not set 351# CONFIG_NET_DIVERT is not set
347# CONFIG_ECONET is not set 352# CONFIG_ECONET is not set
348# CONFIG_WAN_ROUTER is not set 353# CONFIG_WAN_ROUTER is not set
@@ -364,6 +369,9 @@ CONFIG_IEEE80211=m
364# CONFIG_IEEE80211_DEBUG is not set 369# CONFIG_IEEE80211_DEBUG is not set
365CONFIG_IEEE80211_CRYPT_WEP=m 370CONFIG_IEEE80211_CRYPT_WEP=m
366CONFIG_IEEE80211_CRYPT_CCMP=m 371CONFIG_IEEE80211_CRYPT_CCMP=m
372CONFIG_IEEE80211_SOFTMAC=m
373# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set
374CONFIG_WIRELESS_EXT=y
367 375
368# 376#
369# Device Drivers 377# Device Drivers
@@ -420,7 +428,6 @@ CONFIG_MTD_CFI_I2=y
420# CONFIG_MTD_CFI_I8 is not set 428# CONFIG_MTD_CFI_I8 is not set
421CONFIG_MTD_CFI_INTELEXT=y 429CONFIG_MTD_CFI_INTELEXT=y
422CONFIG_MTD_CFI_AMDSTD=y 430CONFIG_MTD_CFI_AMDSTD=y
423CONFIG_MTD_CFI_AMDSTD_RETRY=0
424# CONFIG_MTD_CFI_STAA is not set 431# CONFIG_MTD_CFI_STAA is not set
425CONFIG_MTD_CFI_UTIL=y 432CONFIG_MTD_CFI_UTIL=y
426# CONFIG_MTD_RAM is not set 433# CONFIG_MTD_RAM is not set
@@ -443,7 +450,6 @@ CONFIG_MTD_ALCHEMY=y
443# CONFIG_MTD_SLRAM is not set 450# CONFIG_MTD_SLRAM is not set
444# CONFIG_MTD_PHRAM is not set 451# CONFIG_MTD_PHRAM is not set
445# CONFIG_MTD_MTDRAM is not set 452# CONFIG_MTD_MTDRAM is not set
446# CONFIG_MTD_BLKMTD is not set
447# CONFIG_MTD_BLOCK2MTD is not set 453# CONFIG_MTD_BLOCK2MTD is not set
448 454
449# 455#
@@ -486,7 +492,7 @@ CONFIG_BLK_DEV_LOOP=y
486# CONFIG_BLK_DEV_SX8 is not set 492# CONFIG_BLK_DEV_SX8 is not set
487# CONFIG_BLK_DEV_UB is not set 493# CONFIG_BLK_DEV_UB is not set
488# CONFIG_BLK_DEV_RAM is not set 494# CONFIG_BLK_DEV_RAM is not set
489CONFIG_BLK_DEV_RAM_COUNT=16 495# CONFIG_BLK_DEV_INITRD is not set
490CONFIG_CDROM_PKTCDVD=m 496CONFIG_CDROM_PKTCDVD=m
491CONFIG_CDROM_PKTCDVD_BUFFERS=8 497CONFIG_CDROM_PKTCDVD_BUFFERS=8
492# CONFIG_CDROM_PKTCDVD_WCACHE is not set 498# CONFIG_CDROM_PKTCDVD_WCACHE is not set
@@ -714,6 +720,7 @@ CONFIG_SERIO_RAW=m
714# 720#
715CONFIG_SERIAL_8250=y 721CONFIG_SERIAL_8250=y
716CONFIG_SERIAL_8250_CONSOLE=y 722CONFIG_SERIAL_8250_CONSOLE=y
723CONFIG_SERIAL_8250_PCI=y
717# CONFIG_SERIAL_8250_CS is not set 724# CONFIG_SERIAL_8250_CS is not set
718CONFIG_SERIAL_8250_NR_UARTS=4 725CONFIG_SERIAL_8250_NR_UARTS=4
719CONFIG_SERIAL_8250_RUNTIME_UARTS=4 726CONFIG_SERIAL_8250_RUNTIME_UARTS=4
@@ -725,6 +732,7 @@ CONFIG_SERIAL_8250_AU1X00=y
725# 732#
726CONFIG_SERIAL_CORE=y 733CONFIG_SERIAL_CORE=y
727CONFIG_SERIAL_CORE_CONSOLE=y 734CONFIG_SERIAL_CORE_CONSOLE=y
735# CONFIG_SERIAL_JSM is not set
728CONFIG_UNIX98_PTYS=y 736CONFIG_UNIX98_PTYS=y
729CONFIG_LEGACY_PTYS=y 737CONFIG_LEGACY_PTYS=y
730CONFIG_LEGACY_PTY_COUNT=256 738CONFIG_LEGACY_PTY_COUNT=256
@@ -790,10 +798,6 @@ CONFIG_SYNCLINK_CS=m
790# 798#
791 799
792# 800#
793# Multimedia Capabilities Port drivers
794#
795
796#
797# Multimedia devices 801# Multimedia devices
798# 802#
799# CONFIG_VIDEO_DEV is not set 803# CONFIG_VIDEO_DEV is not set
@@ -802,6 +806,7 @@ CONFIG_SYNCLINK_CS=m
802# Digital Video Broadcasting Devices 806# Digital Video Broadcasting Devices
803# 807#
804# CONFIG_DVB is not set 808# CONFIG_DVB is not set
809# CONFIG_USB_DABUSB is not set
805 810
806# 811#
807# Graphics support 812# Graphics support
@@ -825,9 +830,11 @@ CONFIG_SND_SEQ_DUMMY=m
825CONFIG_SND_OSSEMUL=y 830CONFIG_SND_OSSEMUL=y
826CONFIG_SND_MIXER_OSS=m 831CONFIG_SND_MIXER_OSS=m
827CONFIG_SND_PCM_OSS=m 832CONFIG_SND_PCM_OSS=m
833CONFIG_SND_PCM_OSS_PLUGINS=y
828CONFIG_SND_SEQUENCER_OSS=y 834CONFIG_SND_SEQUENCER_OSS=y
829# CONFIG_SND_DYNAMIC_MINORS is not set 835# CONFIG_SND_DYNAMIC_MINORS is not set
830CONFIG_SND_SUPPORT_OLD_API=y 836CONFIG_SND_SUPPORT_OLD_API=y
837CONFIG_SND_VERBOSE_PROCFS=y
831# CONFIG_SND_VERBOSE_PRINTK is not set 838# CONFIG_SND_VERBOSE_PRINTK is not set
832# CONFIG_SND_DEBUG is not set 839# CONFIG_SND_DEBUG is not set
833 840
@@ -846,6 +853,7 @@ CONFIG_SND_MTPAV=m
846# PCI devices 853# PCI devices
847# 854#
848# CONFIG_SND_AD1889 is not set 855# CONFIG_SND_AD1889 is not set
856# CONFIG_SND_ALS300 is not set
849# CONFIG_SND_ALI5451 is not set 857# CONFIG_SND_ALI5451 is not set
850# CONFIG_SND_ATIIXP is not set 858# CONFIG_SND_ATIIXP is not set
851# CONFIG_SND_ATIIXP_MODEM is not set 859# CONFIG_SND_ATIIXP_MODEM is not set
@@ -877,6 +885,7 @@ CONFIG_SND_MTPAV=m
877# CONFIG_SND_MIXART is not set 885# CONFIG_SND_MIXART is not set
878# CONFIG_SND_NM256 is not set 886# CONFIG_SND_NM256 is not set
879# CONFIG_SND_PCXHR is not set 887# CONFIG_SND_PCXHR is not set
888# CONFIG_SND_RIPTIDE is not set
880# CONFIG_SND_RME32 is not set 889# CONFIG_SND_RME32 is not set
881# CONFIG_SND_RME96 is not set 890# CONFIG_SND_RME96 is not set
882# CONFIG_SND_RME9652 is not set 891# CONFIG_SND_RME9652 is not set
@@ -905,34 +914,22 @@ CONFIG_SND_AU1X00=m
905# Open Sound System 914# Open Sound System
906# 915#
907CONFIG_SOUND_PRIME=y 916CONFIG_SOUND_PRIME=y
908CONFIG_OBSOLETE_OSS_DRIVER=y
909# CONFIG_SOUND_BT878 is not set 917# CONFIG_SOUND_BT878 is not set
910# CONFIG_SOUND_CMPCI is not set
911# CONFIG_SOUND_EMU10K1 is not set 918# CONFIG_SOUND_EMU10K1 is not set
912# CONFIG_SOUND_FUSION is not set 919# CONFIG_SOUND_FUSION is not set
913# CONFIG_SOUND_CS4281 is not set
914# CONFIG_SOUND_ES1370 is not set
915# CONFIG_SOUND_ES1371 is not set 920# CONFIG_SOUND_ES1371 is not set
916# CONFIG_SOUND_ESSSOLO1 is not set
917# CONFIG_SOUND_MAESTRO is not set
918# CONFIG_SOUND_MAESTRO3 is not set
919# CONFIG_SOUND_ICH is not set 921# CONFIG_SOUND_ICH is not set
920# CONFIG_SOUND_SONICVIBES is not set
921# CONFIG_SOUND_AU1000 is not set
922# CONFIG_SOUND_TRIDENT is not set 922# CONFIG_SOUND_TRIDENT is not set
923# CONFIG_SOUND_MSNDCLAS is not set 923# CONFIG_SOUND_MSNDCLAS is not set
924# CONFIG_SOUND_MSNDPIN is not set 924# CONFIG_SOUND_MSNDPIN is not set
925# CONFIG_SOUND_VIA82CXXX is not set 925# CONFIG_SOUND_VIA82CXXX is not set
926# CONFIG_SOUND_ALI5455 is not set
927# CONFIG_SOUND_FORTE is not set
928# CONFIG_SOUND_RME96XX is not set
929# CONFIG_SOUND_AD1980 is not set
930 926
931# 927#
932# USB support 928# USB support
933# 929#
934CONFIG_USB_ARCH_HAS_HCD=y 930CONFIG_USB_ARCH_HAS_HCD=y
935CONFIG_USB_ARCH_HAS_OHCI=y 931CONFIG_USB_ARCH_HAS_OHCI=y
932CONFIG_USB_ARCH_HAS_EHCI=y
936CONFIG_USB=y 933CONFIG_USB=y
937# CONFIG_USB_DEBUG is not set 934# CONFIG_USB_DEBUG is not set
938 935
@@ -958,7 +955,6 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
958# 955#
959# USB Device Class drivers 956# USB Device Class drivers
960# 957#
961# CONFIG_OBSOLETE_OSS_USB_DRIVER is not set
962# CONFIG_USB_ACM is not set 958# CONFIG_USB_ACM is not set
963# CONFIG_USB_PRINTER is not set 959# CONFIG_USB_PRINTER is not set
964 960
@@ -985,9 +981,7 @@ CONFIG_USB_HIDINPUT=y
985# CONFIG_USB_ACECAD is not set 981# CONFIG_USB_ACECAD is not set
986# CONFIG_USB_KBTAB is not set 982# CONFIG_USB_KBTAB is not set
987# CONFIG_USB_POWERMATE is not set 983# CONFIG_USB_POWERMATE is not set
988# CONFIG_USB_MTOUCH is not set 984# CONFIG_USB_TOUCHSCREEN is not set
989# CONFIG_USB_ITMTOUCH is not set
990# CONFIG_USB_EGALAX is not set
991CONFIG_USB_YEALINK=m 985CONFIG_USB_YEALINK=m
992# CONFIG_USB_XPAD is not set 986# CONFIG_USB_XPAD is not set
993# CONFIG_USB_ATI_REMOTE is not set 987# CONFIG_USB_ATI_REMOTE is not set
@@ -1001,15 +995,6 @@ CONFIG_USB_YEALINK=m
1001# CONFIG_USB_MDC800 is not set 995# CONFIG_USB_MDC800 is not set
1002 996
1003# 997#
1004# USB Multimedia devices
1005#
1006# CONFIG_USB_DABUSB is not set
1007
1008#
1009# Video4Linux support is needed for USB Multimedia device support
1010#
1011
1012#
1013# USB Network Adapters 998# USB Network Adapters
1014# 999#
1015# CONFIG_USB_CATC is not set 1000# CONFIG_USB_CATC is not set
@@ -1059,13 +1044,31 @@ CONFIG_USB_LD=m
1059# CONFIG_MMC is not set 1044# CONFIG_MMC is not set
1060 1045
1061# 1046#
1047# LED devices
1048#
1049# CONFIG_NEW_LEDS is not set
1050
1051#
1052# LED drivers
1053#
1054
1055#
1056# LED Triggers
1057#
1058
1059#
1062# InfiniBand support 1060# InfiniBand support
1063# 1061#
1064# CONFIG_INFINIBAND is not set 1062# CONFIG_INFINIBAND is not set
1065 1063
1066# 1064#
1067# SN Devices 1065# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
1066#
1067
1068#
1069# Real Time Clock
1068# 1070#
1071# CONFIG_RTC_CLASS is not set
1069 1072
1070# 1073#
1071# File systems 1074# File systems
@@ -1123,7 +1126,6 @@ CONFIG_SYSFS=y
1123CONFIG_TMPFS=y 1126CONFIG_TMPFS=y
1124# CONFIG_HUGETLB_PAGE is not set 1127# CONFIG_HUGETLB_PAGE is not set
1125CONFIG_RAMFS=y 1128CONFIG_RAMFS=y
1126CONFIG_RELAYFS_FS=m
1127# CONFIG_CONFIGFS_FS is not set 1129# CONFIG_CONFIGFS_FS is not set
1128 1130
1129# 1131#
@@ -1232,6 +1234,7 @@ CONFIG_NLS_DEFAULT="iso8859-1"
1232# CONFIG_MAGIC_SYSRQ is not set 1234# CONFIG_MAGIC_SYSRQ is not set
1233# CONFIG_DEBUG_KERNEL is not set 1235# CONFIG_DEBUG_KERNEL is not set
1234CONFIG_LOG_BUF_SHIFT=14 1236CONFIG_LOG_BUF_SHIFT=14
1237# CONFIG_DEBUG_FS is not set
1235CONFIG_CROSSCOMPILE=y 1238CONFIG_CROSSCOMPILE=y
1236CONFIG_CMDLINE="" 1239CONFIG_CMDLINE=""
1237 1240
diff --git a/arch/mips/configs/db1550_defconfig b/arch/mips/configs/db1550_defconfig
index 8dc1f18badfe..8130e23dc255 100644
--- a/arch/mips/configs/db1550_defconfig
+++ b/arch/mips/configs/db1550_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.16-rc1 3# Linux kernel version: 2.6.17-rc2
4# Fri Jan 27 15:40:00 2006 4# Mon Apr 24 14:51:00 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -64,6 +64,8 @@ CONFIG_MIPS_DB1550=y
64# CONFIG_TOSHIBA_RBTX4927 is not set 64# CONFIG_TOSHIBA_RBTX4927 is not set
65# CONFIG_TOSHIBA_RBTX4938 is not set 65# CONFIG_TOSHIBA_RBTX4938 is not set
66CONFIG_RWSEM_GENERIC_SPINLOCK=y 66CONFIG_RWSEM_GENERIC_SPINLOCK=y
67CONFIG_GENERIC_FIND_NEXT_BIT=y
68CONFIG_GENERIC_HWEIGHT=y
67CONFIG_GENERIC_CALIBRATE_DELAY=y 69CONFIG_GENERIC_CALIBRATE_DELAY=y
68CONFIG_DMA_NONCOHERENT=y 70CONFIG_DMA_NONCOHERENT=y
69CONFIG_DMA_NEED_PCI_MAP_STATE=y 71CONFIG_DMA_NEED_PCI_MAP_STATE=y
@@ -115,11 +117,11 @@ CONFIG_PAGE_SIZE_4KB=y
115CONFIG_CPU_HAS_PREFETCH=y 117CONFIG_CPU_HAS_PREFETCH=y
116# CONFIG_MIPS_MT is not set 118# CONFIG_MIPS_MT is not set
117CONFIG_64BIT_PHYS_ADDR=y 119CONFIG_64BIT_PHYS_ADDR=y
118# CONFIG_CPU_ADVANCED is not set
119CONFIG_CPU_HAS_LLSC=y 120CONFIG_CPU_HAS_LLSC=y
120CONFIG_CPU_HAS_SYNC=y 121CONFIG_CPU_HAS_SYNC=y
121CONFIG_GENERIC_HARDIRQS=y 122CONFIG_GENERIC_HARDIRQS=y
122CONFIG_GENERIC_IRQ_PROBE=y 123CONFIG_GENERIC_IRQ_PROBE=y
124CONFIG_CPU_SUPPORTS_HIGHMEM=y
123CONFIG_ARCH_FLATMEM_ENABLE=y 125CONFIG_ARCH_FLATMEM_ENABLE=y
124CONFIG_SELECT_MEMORY_MODEL=y 126CONFIG_SELECT_MEMORY_MODEL=y
125CONFIG_FLATMEM_MANUAL=y 127CONFIG_FLATMEM_MANUAL=y
@@ -137,7 +139,6 @@ CONFIG_PREEMPT_NONE=y
137# Code maturity level options 139# Code maturity level options
138# 140#
139CONFIG_EXPERIMENTAL=y 141CONFIG_EXPERIMENTAL=y
140CONFIG_CLEAN_COMPILE=y
141CONFIG_BROKEN_ON_SMP=y 142CONFIG_BROKEN_ON_SMP=y
142CONFIG_INIT_ENV_ARG_LIMIT=32 143CONFIG_INIT_ENV_ARG_LIMIT=32
143 144
@@ -153,6 +154,7 @@ CONFIG_SYSVIPC=y
153CONFIG_SYSCTL=y 154CONFIG_SYSCTL=y
154# CONFIG_AUDIT is not set 155# CONFIG_AUDIT is not set
155# CONFIG_IKCONFIG is not set 156# CONFIG_IKCONFIG is not set
157CONFIG_RELAY=y
156CONFIG_INITRAMFS_SOURCE="" 158CONFIG_INITRAMFS_SOURCE=""
157# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 159# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
158CONFIG_EMBEDDED=y 160CONFIG_EMBEDDED=y
@@ -166,10 +168,6 @@ CONFIG_BASE_FULL=y
166CONFIG_FUTEX=y 168CONFIG_FUTEX=y
167CONFIG_EPOLL=y 169CONFIG_EPOLL=y
168CONFIG_SHMEM=y 170CONFIG_SHMEM=y
169CONFIG_CC_ALIGN_FUNCTIONS=0
170CONFIG_CC_ALIGN_LABELS=0
171CONFIG_CC_ALIGN_LOOPS=0
172CONFIG_CC_ALIGN_JUMPS=0
173CONFIG_SLAB=y 171CONFIG_SLAB=y
174# CONFIG_TINY_SHMEM is not set 172# CONFIG_TINY_SHMEM is not set
175CONFIG_BASE_SMALL=0 173CONFIG_BASE_SMALL=0
@@ -182,7 +180,6 @@ CONFIG_OBSOLETE_INTERMODULE=y
182CONFIG_MODULES=y 180CONFIG_MODULES=y
183CONFIG_MODULE_UNLOAD=y 181CONFIG_MODULE_UNLOAD=y
184# CONFIG_MODULE_FORCE_UNLOAD is not set 182# CONFIG_MODULE_FORCE_UNLOAD is not set
185CONFIG_OBSOLETE_MODPARM=y
186CONFIG_MODVERSIONS=y 183CONFIG_MODVERSIONS=y
187CONFIG_MODULE_SRCVERSION_ALL=y 184CONFIG_MODULE_SRCVERSION_ALL=y
188CONFIG_KMOD=y 185CONFIG_KMOD=y
@@ -191,6 +188,8 @@ CONFIG_KMOD=y
191# Block layer 188# Block layer
192# 189#
193# CONFIG_LBD is not set 190# CONFIG_LBD is not set
191# CONFIG_BLK_DEV_IO_TRACE is not set
192# CONFIG_LSF is not set
194 193
195# 194#
196# IO Schedulers 195# IO Schedulers
@@ -210,7 +209,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
210# 209#
211CONFIG_HW_HAS_PCI=y 210CONFIG_HW_HAS_PCI=y
212CONFIG_PCI=y 211CONFIG_PCI=y
213CONFIG_PCI_LEGACY_PROC=y
214CONFIG_MMU=y 212CONFIG_MMU=y
215 213
216# 214#
@@ -252,6 +250,7 @@ CONFIG_NET=y
252# 250#
253# Networking options 251# Networking options
254# 252#
253# CONFIG_NETDEBUG is not set
255CONFIG_PACKET=y 254CONFIG_PACKET=y
256# CONFIG_PACKET_MMAP is not set 255# CONFIG_PACKET_MMAP is not set
257CONFIG_UNIX=y 256CONFIG_UNIX=y
@@ -274,7 +273,8 @@ CONFIG_IP_PNP_BOOTP=y
274# CONFIG_INET_AH is not set 273# CONFIG_INET_AH is not set
275# CONFIG_INET_ESP is not set 274# CONFIG_INET_ESP is not set
276# CONFIG_INET_IPCOMP is not set 275# CONFIG_INET_IPCOMP is not set
277CONFIG_INET_TUNNEL=m 276# CONFIG_INET_XFRM_TUNNEL is not set
277# CONFIG_INET_TUNNEL is not set
278CONFIG_INET_DIAG=y 278CONFIG_INET_DIAG=y
279CONFIG_INET_TCP_DIAG=y 279CONFIG_INET_TCP_DIAG=y
280# CONFIG_TCP_CONG_ADVANCED is not set 280# CONFIG_TCP_CONG_ADVANCED is not set
@@ -285,6 +285,8 @@ CONFIG_TCP_CONG_BIC=y
285# 285#
286# CONFIG_IP_VS is not set 286# CONFIG_IP_VS is not set
287# CONFIG_IPV6 is not set 287# CONFIG_IPV6 is not set
288# CONFIG_INET6_XFRM_TUNNEL is not set
289# CONFIG_INET6_TUNNEL is not set
288CONFIG_NETFILTER=y 290CONFIG_NETFILTER=y
289# CONFIG_NETFILTER_DEBUG is not set 291# CONFIG_NETFILTER_DEBUG is not set
290 292
@@ -301,10 +303,13 @@ CONFIG_NETFILTER_XT_TARGET_MARK=m
301CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m 303CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
302CONFIG_NETFILTER_XT_MATCH_COMMENT=m 304CONFIG_NETFILTER_XT_MATCH_COMMENT=m
303CONFIG_NETFILTER_XT_MATCH_DCCP=m 305CONFIG_NETFILTER_XT_MATCH_DCCP=m
306CONFIG_NETFILTER_XT_MATCH_ESP=m
304CONFIG_NETFILTER_XT_MATCH_LENGTH=m 307CONFIG_NETFILTER_XT_MATCH_LENGTH=m
305CONFIG_NETFILTER_XT_MATCH_LIMIT=m 308CONFIG_NETFILTER_XT_MATCH_LIMIT=m
306CONFIG_NETFILTER_XT_MATCH_MAC=m 309CONFIG_NETFILTER_XT_MATCH_MAC=m
307CONFIG_NETFILTER_XT_MATCH_MARK=m 310CONFIG_NETFILTER_XT_MATCH_MARK=m
311CONFIG_NETFILTER_XT_MATCH_POLICY=m
312CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
308CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m 313CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
309CONFIG_NETFILTER_XT_MATCH_REALM=m 314CONFIG_NETFILTER_XT_MATCH_REALM=m
310CONFIG_NETFILTER_XT_MATCH_SCTP=m 315CONFIG_NETFILTER_XT_MATCH_SCTP=m
@@ -328,6 +333,11 @@ CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
328# SCTP Configuration (EXPERIMENTAL) 333# SCTP Configuration (EXPERIMENTAL)
329# 334#
330# CONFIG_IP_SCTP is not set 335# CONFIG_IP_SCTP is not set
336
337#
338# TIPC Configuration (EXPERIMENTAL)
339#
340# CONFIG_TIPC is not set
331# CONFIG_ATM is not set 341# CONFIG_ATM is not set
332# CONFIG_BRIDGE is not set 342# CONFIG_BRIDGE is not set
333# CONFIG_VLAN_8021Q is not set 343# CONFIG_VLAN_8021Q is not set
@@ -337,11 +347,6 @@ CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
337# CONFIG_ATALK is not set 347# CONFIG_ATALK is not set
338# CONFIG_X25 is not set 348# CONFIG_X25 is not set
339# CONFIG_LAPB is not set 349# CONFIG_LAPB is not set
340
341#
342# TIPC Configuration (EXPERIMENTAL)
343#
344# CONFIG_TIPC is not set
345# CONFIG_NET_DIVERT is not set 350# CONFIG_NET_DIVERT is not set
346# CONFIG_ECONET is not set 351# CONFIG_ECONET is not set
347# CONFIG_WAN_ROUTER is not set 352# CONFIG_WAN_ROUTER is not set
@@ -363,6 +368,9 @@ CONFIG_IEEE80211=m
363# CONFIG_IEEE80211_DEBUG is not set 368# CONFIG_IEEE80211_DEBUG is not set
364CONFIG_IEEE80211_CRYPT_WEP=m 369CONFIG_IEEE80211_CRYPT_WEP=m
365CONFIG_IEEE80211_CRYPT_CCMP=m 370CONFIG_IEEE80211_CRYPT_CCMP=m
371CONFIG_IEEE80211_SOFTMAC=m
372# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set
373CONFIG_WIRELESS_EXT=y
366 374
367# 375#
368# Device Drivers 376# Device Drivers
@@ -419,7 +427,6 @@ CONFIG_MTD_CFI_I2=y
419# CONFIG_MTD_CFI_I8 is not set 427# CONFIG_MTD_CFI_I8 is not set
420# CONFIG_MTD_CFI_INTELEXT is not set 428# CONFIG_MTD_CFI_INTELEXT is not set
421CONFIG_MTD_CFI_AMDSTD=y 429CONFIG_MTD_CFI_AMDSTD=y
422CONFIG_MTD_CFI_AMDSTD_RETRY=0
423# CONFIG_MTD_CFI_STAA is not set 430# CONFIG_MTD_CFI_STAA is not set
424CONFIG_MTD_CFI_UTIL=y 431CONFIG_MTD_CFI_UTIL=y
425# CONFIG_MTD_RAM is not set 432# CONFIG_MTD_RAM is not set
@@ -442,7 +449,6 @@ CONFIG_MTD_ALCHEMY=y
442# CONFIG_MTD_SLRAM is not set 449# CONFIG_MTD_SLRAM is not set
443# CONFIG_MTD_PHRAM is not set 450# CONFIG_MTD_PHRAM is not set
444# CONFIG_MTD_MTDRAM is not set 451# CONFIG_MTD_MTDRAM is not set
445# CONFIG_MTD_BLKMTD is not set
446# CONFIG_MTD_BLOCK2MTD is not set 452# CONFIG_MTD_BLOCK2MTD is not set
447 453
448# 454#
@@ -489,7 +495,7 @@ CONFIG_BLK_DEV_LOOP=y
489# CONFIG_BLK_DEV_NBD is not set 495# CONFIG_BLK_DEV_NBD is not set
490# CONFIG_BLK_DEV_SX8 is not set 496# CONFIG_BLK_DEV_SX8 is not set
491# CONFIG_BLK_DEV_RAM is not set 497# CONFIG_BLK_DEV_RAM is not set
492CONFIG_BLK_DEV_RAM_COUNT=16 498# CONFIG_BLK_DEV_INITRD is not set
493CONFIG_CDROM_PKTCDVD=m 499CONFIG_CDROM_PKTCDVD=m
494CONFIG_CDROM_PKTCDVD_BUFFERS=8 500CONFIG_CDROM_PKTCDVD_BUFFERS=8
495# CONFIG_CDROM_PKTCDVD_WCACHE is not set 501# CONFIG_CDROM_PKTCDVD_WCACHE is not set
@@ -754,6 +760,7 @@ CONFIG_SERIO_RAW=m
754# 760#
755CONFIG_SERIAL_8250=y 761CONFIG_SERIAL_8250=y
756CONFIG_SERIAL_8250_CONSOLE=y 762CONFIG_SERIAL_8250_CONSOLE=y
763CONFIG_SERIAL_8250_PCI=y
757# CONFIG_SERIAL_8250_CS is not set 764# CONFIG_SERIAL_8250_CS is not set
758CONFIG_SERIAL_8250_NR_UARTS=4 765CONFIG_SERIAL_8250_NR_UARTS=4
759CONFIG_SERIAL_8250_RUNTIME_UARTS=4 766CONFIG_SERIAL_8250_RUNTIME_UARTS=4
@@ -765,6 +772,7 @@ CONFIG_SERIAL_8250_AU1X00=y
765# 772#
766CONFIG_SERIAL_CORE=y 773CONFIG_SERIAL_CORE=y
767CONFIG_SERIAL_CORE_CONSOLE=y 774CONFIG_SERIAL_CORE_CONSOLE=y
775# CONFIG_SERIAL_JSM is not set
768CONFIG_UNIX98_PTYS=y 776CONFIG_UNIX98_PTYS=y
769CONFIG_LEGACY_PTYS=y 777CONFIG_LEGACY_PTYS=y
770CONFIG_LEGACY_PTY_COUNT=256 778CONFIG_LEGACY_PTY_COUNT=256
@@ -830,10 +838,6 @@ CONFIG_SYNCLINK_CS=m
830# 838#
831 839
832# 840#
833# Multimedia Capabilities Port drivers
834#
835
836#
837# Multimedia devices 841# Multimedia devices
838# 842#
839# CONFIG_VIDEO_DEV is not set 843# CONFIG_VIDEO_DEV is not set
@@ -858,6 +862,7 @@ CONFIG_SYNCLINK_CS=m
858# 862#
859CONFIG_USB_ARCH_HAS_HCD=y 863CONFIG_USB_ARCH_HAS_HCD=y
860CONFIG_USB_ARCH_HAS_OHCI=y 864CONFIG_USB_ARCH_HAS_OHCI=y
865CONFIG_USB_ARCH_HAS_EHCI=y
861# CONFIG_USB is not set 866# CONFIG_USB is not set
862 867
863# 868#
@@ -875,13 +880,31 @@ CONFIG_USB_ARCH_HAS_OHCI=y
875# CONFIG_MMC is not set 880# CONFIG_MMC is not set
876 881
877# 882#
883# LED devices
884#
885# CONFIG_NEW_LEDS is not set
886
887#
888# LED drivers
889#
890
891#
892# LED Triggers
893#
894
895#
878# InfiniBand support 896# InfiniBand support
879# 897#
880# CONFIG_INFINIBAND is not set 898# CONFIG_INFINIBAND is not set
881 899
882# 900#
883# SN Devices 901# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
902#
903
904#
905# Real Time Clock
884# 906#
907# CONFIG_RTC_CLASS is not set
885 908
886# 909#
887# File systems 910# File systems
@@ -939,7 +962,6 @@ CONFIG_SYSFS=y
939CONFIG_TMPFS=y 962CONFIG_TMPFS=y
940# CONFIG_HUGETLB_PAGE is not set 963# CONFIG_HUGETLB_PAGE is not set
941CONFIG_RAMFS=y 964CONFIG_RAMFS=y
942CONFIG_RELAYFS_FS=m
943# CONFIG_CONFIGFS_FS is not set 965# CONFIG_CONFIGFS_FS is not set
944 966
945# 967#
@@ -1048,6 +1070,7 @@ CONFIG_NLS_DEFAULT="iso8859-1"
1048# CONFIG_MAGIC_SYSRQ is not set 1070# CONFIG_MAGIC_SYSRQ is not set
1049# CONFIG_DEBUG_KERNEL is not set 1071# CONFIG_DEBUG_KERNEL is not set
1050CONFIG_LOG_BUF_SHIFT=14 1072CONFIG_LOG_BUF_SHIFT=14
1073# CONFIG_DEBUG_FS is not set
1051CONFIG_CROSSCOMPILE=y 1074CONFIG_CROSSCOMPILE=y
1052CONFIG_CMDLINE="" 1075CONFIG_CMDLINE=""
1053 1076
diff --git a/arch/mips/configs/ddb5476_defconfig b/arch/mips/configs/ddb5476_defconfig
index 8fae63e47e5e..8d88ac1bbfeb 100644
--- a/arch/mips/configs/ddb5476_defconfig
+++ b/arch/mips/configs/ddb5476_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.16-rc1 3# Linux kernel version: 2.6.17-rc2
4# Fri Jan 27 15:40:02 2006 4# Mon Apr 24 14:51:00 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -64,6 +64,8 @@ CONFIG_DDB5476=y
64# CONFIG_TOSHIBA_RBTX4927 is not set 64# CONFIG_TOSHIBA_RBTX4927 is not set
65# CONFIG_TOSHIBA_RBTX4938 is not set 65# CONFIG_TOSHIBA_RBTX4938 is not set
66CONFIG_RWSEM_GENERIC_SPINLOCK=y 66CONFIG_RWSEM_GENERIC_SPINLOCK=y
67CONFIG_GENERIC_FIND_NEXT_BIT=y
68CONFIG_GENERIC_HWEIGHT=y
67CONFIG_GENERIC_CALIBRATE_DELAY=y 69CONFIG_GENERIC_CALIBRATE_DELAY=y
68CONFIG_DMA_NONCOHERENT=y 70CONFIG_DMA_NONCOHERENT=y
69CONFIG_DMA_NEED_PCI_MAP_STATE=y 71CONFIG_DMA_NEED_PCI_MAP_STATE=y
@@ -114,7 +116,6 @@ CONFIG_PAGE_SIZE_4KB=y
114# CONFIG_PAGE_SIZE_16KB is not set 116# CONFIG_PAGE_SIZE_16KB is not set
115# CONFIG_PAGE_SIZE_64KB is not set 117# CONFIG_PAGE_SIZE_64KB is not set
116# CONFIG_MIPS_MT is not set 118# CONFIG_MIPS_MT is not set
117# CONFIG_CPU_ADVANCED is not set
118CONFIG_CPU_HAS_LLSC=y 119CONFIG_CPU_HAS_LLSC=y
119CONFIG_CPU_HAS_SYNC=y 120CONFIG_CPU_HAS_SYNC=y
120CONFIG_GENERIC_HARDIRQS=y 121CONFIG_GENERIC_HARDIRQS=y
@@ -136,7 +137,6 @@ CONFIG_PREEMPT_NONE=y
136# Code maturity level options 137# Code maturity level options
137# 138#
138CONFIG_EXPERIMENTAL=y 139CONFIG_EXPERIMENTAL=y
139CONFIG_CLEAN_COMPILE=y
140CONFIG_BROKEN_ON_SMP=y 140CONFIG_BROKEN_ON_SMP=y
141CONFIG_INIT_ENV_ARG_LIMIT=32 141CONFIG_INIT_ENV_ARG_LIMIT=32
142 142
@@ -152,6 +152,7 @@ CONFIG_SYSVIPC=y
152CONFIG_SYSCTL=y 152CONFIG_SYSCTL=y
153# CONFIG_AUDIT is not set 153# CONFIG_AUDIT is not set
154# CONFIG_IKCONFIG is not set 154# CONFIG_IKCONFIG is not set
155CONFIG_RELAY=y
155CONFIG_INITRAMFS_SOURCE="" 156CONFIG_INITRAMFS_SOURCE=""
156# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 157# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
157CONFIG_EMBEDDED=y 158CONFIG_EMBEDDED=y
@@ -165,10 +166,6 @@ CONFIG_BASE_FULL=y
165CONFIG_FUTEX=y 166CONFIG_FUTEX=y
166CONFIG_EPOLL=y 167CONFIG_EPOLL=y
167CONFIG_SHMEM=y 168CONFIG_SHMEM=y
168CONFIG_CC_ALIGN_FUNCTIONS=0
169CONFIG_CC_ALIGN_LABELS=0
170CONFIG_CC_ALIGN_LOOPS=0
171CONFIG_CC_ALIGN_JUMPS=0
172CONFIG_SLAB=y 169CONFIG_SLAB=y
173# CONFIG_TINY_SHMEM is not set 170# CONFIG_TINY_SHMEM is not set
174CONFIG_BASE_SMALL=0 171CONFIG_BASE_SMALL=0
@@ -183,6 +180,8 @@ CONFIG_BASE_SMALL=0
183# Block layer 180# Block layer
184# 181#
185# CONFIG_LBD is not set 182# CONFIG_LBD is not set
183# CONFIG_BLK_DEV_IO_TRACE is not set
184# CONFIG_LSF is not set
186 185
187# 186#
188# IO Schedulers 187# IO Schedulers
@@ -202,7 +201,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
202# 201#
203CONFIG_HW_HAS_PCI=y 202CONFIG_HW_HAS_PCI=y
204CONFIG_PCI=y 203CONFIG_PCI=y
205CONFIG_PCI_LEGACY_PROC=y
206CONFIG_ISA=y 204CONFIG_ISA=y
207CONFIG_MMU=y 205CONFIG_MMU=y
208 206
@@ -231,6 +229,7 @@ CONFIG_NET=y
231# 229#
232# Networking options 230# Networking options
233# 231#
232# CONFIG_NETDEBUG is not set
234CONFIG_PACKET=y 233CONFIG_PACKET=y
235# CONFIG_PACKET_MMAP is not set 234# CONFIG_PACKET_MMAP is not set
236CONFIG_UNIX=y 235CONFIG_UNIX=y
@@ -252,12 +251,15 @@ CONFIG_IP_PNP_BOOTP=y
252# CONFIG_INET_AH is not set 251# CONFIG_INET_AH is not set
253# CONFIG_INET_ESP is not set 252# CONFIG_INET_ESP is not set
254# CONFIG_INET_IPCOMP is not set 253# CONFIG_INET_IPCOMP is not set
255CONFIG_INET_TUNNEL=y 254# CONFIG_INET_XFRM_TUNNEL is not set
255# CONFIG_INET_TUNNEL is not set
256CONFIG_INET_DIAG=y 256CONFIG_INET_DIAG=y
257CONFIG_INET_TCP_DIAG=y 257CONFIG_INET_TCP_DIAG=y
258# CONFIG_TCP_CONG_ADVANCED is not set 258# CONFIG_TCP_CONG_ADVANCED is not set
259CONFIG_TCP_CONG_BIC=y 259CONFIG_TCP_CONG_BIC=y
260# CONFIG_IPV6 is not set 260# CONFIG_IPV6 is not set
261# CONFIG_INET6_XFRM_TUNNEL is not set
262# CONFIG_INET6_TUNNEL is not set
261# CONFIG_NETFILTER is not set 263# CONFIG_NETFILTER is not set
262 264
263# 265#
@@ -269,6 +271,11 @@ CONFIG_TCP_CONG_BIC=y
269# SCTP Configuration (EXPERIMENTAL) 271# SCTP Configuration (EXPERIMENTAL)
270# 272#
271# CONFIG_IP_SCTP is not set 273# CONFIG_IP_SCTP is not set
274
275#
276# TIPC Configuration (EXPERIMENTAL)
277#
278# CONFIG_TIPC is not set
272# CONFIG_ATM is not set 279# CONFIG_ATM is not set
273# CONFIG_BRIDGE is not set 280# CONFIG_BRIDGE is not set
274# CONFIG_VLAN_8021Q is not set 281# CONFIG_VLAN_8021Q is not set
@@ -278,11 +285,6 @@ CONFIG_TCP_CONG_BIC=y
278# CONFIG_ATALK is not set 285# CONFIG_ATALK is not set
279# CONFIG_X25 is not set 286# CONFIG_X25 is not set
280# CONFIG_LAPB is not set 287# CONFIG_LAPB is not set
281
282#
283# TIPC Configuration (EXPERIMENTAL)
284#
285# CONFIG_TIPC is not set
286# CONFIG_NET_DIVERT is not set 288# CONFIG_NET_DIVERT is not set
287# CONFIG_ECONET is not set 289# CONFIG_ECONET is not set
288# CONFIG_WAN_ROUTER is not set 290# CONFIG_WAN_ROUTER is not set
@@ -303,6 +305,9 @@ CONFIG_IEEE80211=y
303# CONFIG_IEEE80211_DEBUG is not set 305# CONFIG_IEEE80211_DEBUG is not set
304CONFIG_IEEE80211_CRYPT_WEP=y 306CONFIG_IEEE80211_CRYPT_WEP=y
305CONFIG_IEEE80211_CRYPT_CCMP=y 307CONFIG_IEEE80211_CRYPT_CCMP=y
308CONFIG_IEEE80211_SOFTMAC=y
309# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set
310CONFIG_WIRELESS_EXT=y
306 311
307# 312#
308# Device Drivers 313# Device Drivers
@@ -348,7 +353,7 @@ CONFIG_PROC_EVENTS=y
348# CONFIG_BLK_DEV_NBD is not set 353# CONFIG_BLK_DEV_NBD is not set
349# CONFIG_BLK_DEV_SX8 is not set 354# CONFIG_BLK_DEV_SX8 is not set
350# CONFIG_BLK_DEV_RAM is not set 355# CONFIG_BLK_DEV_RAM is not set
351CONFIG_BLK_DEV_RAM_COUNT=16 356# CONFIG_BLK_DEV_INITRD is not set
352CONFIG_CDROM_PKTCDVD=y 357CONFIG_CDROM_PKTCDVD=y
353CONFIG_CDROM_PKTCDVD_BUFFERS=8 358CONFIG_CDROM_PKTCDVD_BUFFERS=8
354# CONFIG_CDROM_PKTCDVD_WCACHE is not set 359# CONFIG_CDROM_PKTCDVD_WCACHE is not set
@@ -571,6 +576,7 @@ CONFIG_HW_CONSOLE=y
571# 576#
572CONFIG_SERIAL_8250=y 577CONFIG_SERIAL_8250=y
573CONFIG_SERIAL_8250_CONSOLE=y 578CONFIG_SERIAL_8250_CONSOLE=y
579CONFIG_SERIAL_8250_PCI=y
574CONFIG_SERIAL_8250_NR_UARTS=4 580CONFIG_SERIAL_8250_NR_UARTS=4
575CONFIG_SERIAL_8250_RUNTIME_UARTS=4 581CONFIG_SERIAL_8250_RUNTIME_UARTS=4
576# CONFIG_SERIAL_8250_EXTENDED is not set 582# CONFIG_SERIAL_8250_EXTENDED is not set
@@ -580,6 +586,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4
580# 586#
581CONFIG_SERIAL_CORE=y 587CONFIG_SERIAL_CORE=y
582CONFIG_SERIAL_CORE_CONSOLE=y 588CONFIG_SERIAL_CORE_CONSOLE=y
589# CONFIG_SERIAL_JSM is not set
583CONFIG_UNIX98_PTYS=y 590CONFIG_UNIX98_PTYS=y
584CONFIG_LEGACY_PTYS=y 591CONFIG_LEGACY_PTYS=y
585CONFIG_LEGACY_PTY_COUNT=256 592CONFIG_LEGACY_PTY_COUNT=256
@@ -638,10 +645,6 @@ CONFIG_LEGACY_PTY_COUNT=256
638# 645#
639 646
640# 647#
641# Multimedia Capabilities Port drivers
642#
643
644#
645# Multimedia devices 648# Multimedia devices
646# 649#
647# CONFIG_VIDEO_DEV is not set 650# CONFIG_VIDEO_DEV is not set
@@ -659,6 +662,7 @@ CONFIG_FB=y
659# CONFIG_FB_CFB_COPYAREA is not set 662# CONFIG_FB_CFB_COPYAREA is not set
660# CONFIG_FB_CFB_IMAGEBLIT is not set 663# CONFIG_FB_CFB_IMAGEBLIT is not set
661# CONFIG_FB_MACMODES is not set 664# CONFIG_FB_MACMODES is not set
665CONFIG_FB_FIRMWARE_EDID=y
662# CONFIG_FB_MODE_HELPERS is not set 666# CONFIG_FB_MODE_HELPERS is not set
663# CONFIG_FB_TILEBLITTING is not set 667# CONFIG_FB_TILEBLITTING is not set
664# CONFIG_FB_CIRRUS is not set 668# CONFIG_FB_CIRRUS is not set
@@ -670,7 +674,6 @@ CONFIG_FB=y
670# CONFIG_FB_NVIDIA is not set 674# CONFIG_FB_NVIDIA is not set
671# CONFIG_FB_RIVA is not set 675# CONFIG_FB_RIVA is not set
672# CONFIG_FB_MATROX is not set 676# CONFIG_FB_MATROX is not set
673# CONFIG_FB_RADEON_OLD is not set
674# CONFIG_FB_RADEON is not set 677# CONFIG_FB_RADEON is not set
675# CONFIG_FB_ATY128 is not set 678# CONFIG_FB_ATY128 is not set
676# CONFIG_FB_ATY is not set 679# CONFIG_FB_ATY is not set
@@ -708,6 +711,7 @@ CONFIG_DUMMY_CONSOLE=y
708# 711#
709CONFIG_USB_ARCH_HAS_HCD=y 712CONFIG_USB_ARCH_HAS_HCD=y
710CONFIG_USB_ARCH_HAS_OHCI=y 713CONFIG_USB_ARCH_HAS_OHCI=y
714CONFIG_USB_ARCH_HAS_EHCI=y
711# CONFIG_USB is not set 715# CONFIG_USB is not set
712 716
713# 717#
@@ -725,13 +729,31 @@ CONFIG_USB_ARCH_HAS_OHCI=y
725# CONFIG_MMC is not set 729# CONFIG_MMC is not set
726 730
727# 731#
732# LED devices
733#
734# CONFIG_NEW_LEDS is not set
735
736#
737# LED drivers
738#
739
740#
741# LED Triggers
742#
743
744#
728# InfiniBand support 745# InfiniBand support
729# 746#
730# CONFIG_INFINIBAND is not set 747# CONFIG_INFINIBAND is not set
731 748
732# 749#
733# SN Devices 750# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
751#
752
753#
754# Real Time Clock
734# 755#
756# CONFIG_RTC_CLASS is not set
735 757
736# 758#
737# File systems 759# File systems
@@ -776,7 +798,6 @@ CONFIG_SYSFS=y
776# CONFIG_TMPFS is not set 798# CONFIG_TMPFS is not set
777# CONFIG_HUGETLB_PAGE is not set 799# CONFIG_HUGETLB_PAGE is not set
778CONFIG_RAMFS=y 800CONFIG_RAMFS=y
779CONFIG_RELAYFS_FS=y
780# CONFIG_CONFIGFS_FS is not set 801# CONFIG_CONFIGFS_FS is not set
781 802
782# 803#
@@ -840,6 +861,8 @@ CONFIG_MSDOS_PARTITION=y
840# CONFIG_MAGIC_SYSRQ is not set 861# CONFIG_MAGIC_SYSRQ is not set
841# CONFIG_DEBUG_KERNEL is not set 862# CONFIG_DEBUG_KERNEL is not set
842CONFIG_LOG_BUF_SHIFT=14 863CONFIG_LOG_BUF_SHIFT=14
864# CONFIG_DEBUG_FS is not set
865# CONFIG_UNWIND_INFO is not set
843CONFIG_CROSSCOMPILE=y 866CONFIG_CROSSCOMPILE=y
844CONFIG_CMDLINE="ip=any" 867CONFIG_CMDLINE="ip=any"
845 868
diff --git a/arch/mips/configs/ddb5477_defconfig b/arch/mips/configs/ddb5477_defconfig
index a0fcd44e7709..8c911b671415 100644
--- a/arch/mips/configs/ddb5477_defconfig
+++ b/arch/mips/configs/ddb5477_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.16-rc1 3# Linux kernel version: 2.6.17-rc2
4# Fri Jan 27 15:40:02 2006 4# Mon Apr 24 14:51:01 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -65,6 +65,8 @@ CONFIG_DDB5477=y
65# CONFIG_TOSHIBA_RBTX4938 is not set 65# CONFIG_TOSHIBA_RBTX4938 is not set
66CONFIG_DDB5477_BUS_FREQUENCY=0 66CONFIG_DDB5477_BUS_FREQUENCY=0
67CONFIG_RWSEM_GENERIC_SPINLOCK=y 67CONFIG_RWSEM_GENERIC_SPINLOCK=y
68CONFIG_GENERIC_FIND_NEXT_BIT=y
69CONFIG_GENERIC_HWEIGHT=y
68CONFIG_GENERIC_CALIBRATE_DELAY=y 70CONFIG_GENERIC_CALIBRATE_DELAY=y
69CONFIG_DMA_NONCOHERENT=y 71CONFIG_DMA_NONCOHERENT=y
70CONFIG_DMA_NEED_PCI_MAP_STATE=y 72CONFIG_DMA_NEED_PCI_MAP_STATE=y
@@ -114,7 +116,6 @@ CONFIG_PAGE_SIZE_4KB=y
114# CONFIG_PAGE_SIZE_16KB is not set 116# CONFIG_PAGE_SIZE_16KB is not set
115# CONFIG_PAGE_SIZE_64KB is not set 117# CONFIG_PAGE_SIZE_64KB is not set
116# CONFIG_MIPS_MT is not set 118# CONFIG_MIPS_MT is not set
117# CONFIG_CPU_ADVANCED is not set
118CONFIG_CPU_HAS_LLSC=y 119CONFIG_CPU_HAS_LLSC=y
119CONFIG_CPU_HAS_SYNC=y 120CONFIG_CPU_HAS_SYNC=y
120CONFIG_GENERIC_HARDIRQS=y 121CONFIG_GENERIC_HARDIRQS=y
@@ -136,7 +137,6 @@ CONFIG_PREEMPT_NONE=y
136# Code maturity level options 137# Code maturity level options
137# 138#
138CONFIG_EXPERIMENTAL=y 139CONFIG_EXPERIMENTAL=y
139CONFIG_CLEAN_COMPILE=y
140CONFIG_BROKEN_ON_SMP=y 140CONFIG_BROKEN_ON_SMP=y
141CONFIG_INIT_ENV_ARG_LIMIT=32 141CONFIG_INIT_ENV_ARG_LIMIT=32
142 142
@@ -152,6 +152,7 @@ CONFIG_SYSVIPC=y
152CONFIG_SYSCTL=y 152CONFIG_SYSCTL=y
153# CONFIG_AUDIT is not set 153# CONFIG_AUDIT is not set
154# CONFIG_IKCONFIG is not set 154# CONFIG_IKCONFIG is not set
155CONFIG_RELAY=y
155CONFIG_INITRAMFS_SOURCE="" 156CONFIG_INITRAMFS_SOURCE=""
156# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 157# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
157CONFIG_EMBEDDED=y 158CONFIG_EMBEDDED=y
@@ -165,10 +166,6 @@ CONFIG_BASE_FULL=y
165CONFIG_FUTEX=y 166CONFIG_FUTEX=y
166CONFIG_EPOLL=y 167CONFIG_EPOLL=y
167CONFIG_SHMEM=y 168CONFIG_SHMEM=y
168CONFIG_CC_ALIGN_FUNCTIONS=0
169CONFIG_CC_ALIGN_LABELS=0
170CONFIG_CC_ALIGN_LOOPS=0
171CONFIG_CC_ALIGN_JUMPS=0
172CONFIG_SLAB=y 169CONFIG_SLAB=y
173# CONFIG_TINY_SHMEM is not set 170# CONFIG_TINY_SHMEM is not set
174CONFIG_BASE_SMALL=0 171CONFIG_BASE_SMALL=0
@@ -183,6 +180,8 @@ CONFIG_BASE_SMALL=0
183# Block layer 180# Block layer
184# 181#
185# CONFIG_LBD is not set 182# CONFIG_LBD is not set
183# CONFIG_BLK_DEV_IO_TRACE is not set
184# CONFIG_LSF is not set
186 185
187# 186#
188# IO Schedulers 187# IO Schedulers
@@ -202,7 +201,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
202# 201#
203CONFIG_HW_HAS_PCI=y 202CONFIG_HW_HAS_PCI=y
204CONFIG_PCI=y 203CONFIG_PCI=y
205CONFIG_PCI_LEGACY_PROC=y
206CONFIG_MMU=y 204CONFIG_MMU=y
207 205
208# 206#
@@ -230,6 +228,7 @@ CONFIG_NET=y
230# 228#
231# Networking options 229# Networking options
232# 230#
231# CONFIG_NETDEBUG is not set
233CONFIG_PACKET=y 232CONFIG_PACKET=y
234# CONFIG_PACKET_MMAP is not set 233# CONFIG_PACKET_MMAP is not set
235CONFIG_UNIX=y 234CONFIG_UNIX=y
@@ -251,12 +250,15 @@ CONFIG_IP_PNP_BOOTP=y
251# CONFIG_INET_AH is not set 250# CONFIG_INET_AH is not set
252# CONFIG_INET_ESP is not set 251# CONFIG_INET_ESP is not set
253# CONFIG_INET_IPCOMP is not set 252# CONFIG_INET_IPCOMP is not set
254CONFIG_INET_TUNNEL=y 253# CONFIG_INET_XFRM_TUNNEL is not set
254# CONFIG_INET_TUNNEL is not set
255CONFIG_INET_DIAG=y 255CONFIG_INET_DIAG=y
256CONFIG_INET_TCP_DIAG=y 256CONFIG_INET_TCP_DIAG=y
257# CONFIG_TCP_CONG_ADVANCED is not set 257# CONFIG_TCP_CONG_ADVANCED is not set
258CONFIG_TCP_CONG_BIC=y 258CONFIG_TCP_CONG_BIC=y
259# CONFIG_IPV6 is not set 259# CONFIG_IPV6 is not set
260# CONFIG_INET6_XFRM_TUNNEL is not set
261# CONFIG_INET6_TUNNEL is not set
260# CONFIG_NETFILTER is not set 262# CONFIG_NETFILTER is not set
261 263
262# 264#
@@ -268,6 +270,11 @@ CONFIG_TCP_CONG_BIC=y
268# SCTP Configuration (EXPERIMENTAL) 270# SCTP Configuration (EXPERIMENTAL)
269# 271#
270# CONFIG_IP_SCTP is not set 272# CONFIG_IP_SCTP is not set
273
274#
275# TIPC Configuration (EXPERIMENTAL)
276#
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
273# CONFIG_VLAN_8021Q is not set 280# CONFIG_VLAN_8021Q is not set
@@ -277,11 +284,6 @@ CONFIG_TCP_CONG_BIC=y
277# CONFIG_ATALK is not set 284# CONFIG_ATALK is not set
278# CONFIG_X25 is not set 285# CONFIG_X25 is not set
279# CONFIG_LAPB is not set 286# CONFIG_LAPB is not set
280
281#
282# TIPC Configuration (EXPERIMENTAL)
283#
284# CONFIG_TIPC is not set
285# CONFIG_NET_DIVERT is not set 287# CONFIG_NET_DIVERT is not set
286# CONFIG_ECONET is not set 288# CONFIG_ECONET is not set
287# CONFIG_WAN_ROUTER is not set 289# CONFIG_WAN_ROUTER is not set
@@ -302,6 +304,9 @@ CONFIG_IEEE80211=y
302# CONFIG_IEEE80211_DEBUG is not set 304# CONFIG_IEEE80211_DEBUG is not set
303CONFIG_IEEE80211_CRYPT_WEP=y 305CONFIG_IEEE80211_CRYPT_WEP=y
304CONFIG_IEEE80211_CRYPT_CCMP=y 306CONFIG_IEEE80211_CRYPT_CCMP=y
307CONFIG_IEEE80211_SOFTMAC=y
308# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set
309CONFIG_WIRELESS_EXT=y
305 310
306# 311#
307# Device Drivers 312# Device Drivers
@@ -346,7 +351,7 @@ CONFIG_PROC_EVENTS=y
346# CONFIG_BLK_DEV_NBD is not set 351# CONFIG_BLK_DEV_NBD is not set
347# CONFIG_BLK_DEV_SX8 is not set 352# CONFIG_BLK_DEV_SX8 is not set
348# CONFIG_BLK_DEV_RAM is not set 353# CONFIG_BLK_DEV_RAM is not set
349CONFIG_BLK_DEV_RAM_COUNT=16 354# CONFIG_BLK_DEV_INITRD is not set
350CONFIG_CDROM_PKTCDVD=y 355CONFIG_CDROM_PKTCDVD=y
351CONFIG_CDROM_PKTCDVD_BUFFERS=8 356CONFIG_CDROM_PKTCDVD_BUFFERS=8
352# CONFIG_CDROM_PKTCDVD_WCACHE is not set 357# CONFIG_CDROM_PKTCDVD_WCACHE is not set
@@ -556,6 +561,7 @@ CONFIG_HW_CONSOLE=y
556# 561#
557CONFIG_SERIAL_8250=y 562CONFIG_SERIAL_8250=y
558CONFIG_SERIAL_8250_CONSOLE=y 563CONFIG_SERIAL_8250_CONSOLE=y
564CONFIG_SERIAL_8250_PCI=y
559CONFIG_SERIAL_8250_NR_UARTS=4 565CONFIG_SERIAL_8250_NR_UARTS=4
560CONFIG_SERIAL_8250_RUNTIME_UARTS=4 566CONFIG_SERIAL_8250_RUNTIME_UARTS=4
561# CONFIG_SERIAL_8250_EXTENDED is not set 567# CONFIG_SERIAL_8250_EXTENDED is not set
@@ -565,6 +571,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4
565# 571#
566CONFIG_SERIAL_CORE=y 572CONFIG_SERIAL_CORE=y
567CONFIG_SERIAL_CORE_CONSOLE=y 573CONFIG_SERIAL_CORE_CONSOLE=y
574# CONFIG_SERIAL_JSM is not set
568CONFIG_UNIX98_PTYS=y 575CONFIG_UNIX98_PTYS=y
569CONFIG_LEGACY_PTYS=y 576CONFIG_LEGACY_PTYS=y
570CONFIG_LEGACY_PTY_COUNT=256 577CONFIG_LEGACY_PTY_COUNT=256
@@ -623,10 +630,6 @@ CONFIG_LEGACY_PTY_COUNT=256
623# 630#
624 631
625# 632#
626# Multimedia Capabilities Port drivers
627#
628
629#
630# Multimedia devices 633# Multimedia devices
631# 634#
632# CONFIG_VIDEO_DEV is not set 635# CONFIG_VIDEO_DEV is not set
@@ -657,6 +660,7 @@ CONFIG_DUMMY_CONSOLE=y
657# 660#
658CONFIG_USB_ARCH_HAS_HCD=y 661CONFIG_USB_ARCH_HAS_HCD=y
659CONFIG_USB_ARCH_HAS_OHCI=y 662CONFIG_USB_ARCH_HAS_OHCI=y
663CONFIG_USB_ARCH_HAS_EHCI=y
660# CONFIG_USB is not set 664# CONFIG_USB is not set
661 665
662# 666#
@@ -674,13 +678,31 @@ CONFIG_USB_ARCH_HAS_OHCI=y
674# CONFIG_MMC is not set 678# CONFIG_MMC is not set
675 679
676# 680#
681# LED devices
682#
683# CONFIG_NEW_LEDS is not set
684
685#
686# LED drivers
687#
688
689#
690# LED Triggers
691#
692
693#
677# InfiniBand support 694# InfiniBand support
678# 695#
679# CONFIG_INFINIBAND is not set 696# CONFIG_INFINIBAND is not set
680 697
681# 698#
682# SN Devices 699# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
700#
701
702#
703# Real Time Clock
683# 704#
705# CONFIG_RTC_CLASS is not set
684 706
685# 707#
686# File systems 708# File systems
@@ -725,7 +747,6 @@ CONFIG_SYSFS=y
725# CONFIG_TMPFS is not set 747# CONFIG_TMPFS is not set
726# CONFIG_HUGETLB_PAGE is not set 748# CONFIG_HUGETLB_PAGE is not set
727CONFIG_RAMFS=y 749CONFIG_RAMFS=y
728CONFIG_RELAYFS_FS=y
729# CONFIG_CONFIGFS_FS is not set 750# CONFIG_CONFIGFS_FS is not set
730 751
731# 752#
@@ -792,6 +813,8 @@ CONFIG_MSDOS_PARTITION=y
792# CONFIG_MAGIC_SYSRQ is not set 813# CONFIG_MAGIC_SYSRQ is not set
793# CONFIG_DEBUG_KERNEL is not set 814# CONFIG_DEBUG_KERNEL is not set
794CONFIG_LOG_BUF_SHIFT=14 815CONFIG_LOG_BUF_SHIFT=14
816# CONFIG_DEBUG_FS is not set
817# CONFIG_UNWIND_INFO is not set
795CONFIG_CROSSCOMPILE=y 818CONFIG_CROSSCOMPILE=y
796CONFIG_CMDLINE="ip=any" 819CONFIG_CMDLINE="ip=any"
797 820
diff --git a/arch/mips/configs/decstation_defconfig b/arch/mips/configs/decstation_defconfig
index 5a181eadd437..d838496e114f 100644
--- a/arch/mips/configs/decstation_defconfig
+++ b/arch/mips/configs/decstation_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.16-rc1 3# Linux kernel version: 2.6.17-rc2
4# Fri Jan 27 15:40:03 2006 4# Mon Apr 24 14:51:01 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -63,11 +63,13 @@ CONFIG_MACH_DECSTATION=y
63# CONFIG_TOSHIBA_JMR3927 is not set 63# CONFIG_TOSHIBA_JMR3927 is not set
64# CONFIG_TOSHIBA_RBTX4927 is not set 64# CONFIG_TOSHIBA_RBTX4927 is not set
65# CONFIG_TOSHIBA_RBTX4938 is not set 65# CONFIG_TOSHIBA_RBTX4938 is not set
66CONFIG_EARLY_PRINTK=y
66CONFIG_RWSEM_GENERIC_SPINLOCK=y 67CONFIG_RWSEM_GENERIC_SPINLOCK=y
68CONFIG_GENERIC_FIND_NEXT_BIT=y
69CONFIG_GENERIC_HWEIGHT=y
67CONFIG_GENERIC_CALIBRATE_DELAY=y 70CONFIG_GENERIC_CALIBRATE_DELAY=y
68CONFIG_DMA_NONCOHERENT=y 71CONFIG_DMA_NONCOHERENT=y
69CONFIG_DMA_NEED_PCI_MAP_STATE=y 72CONFIG_DMA_NEED_PCI_MAP_STATE=y
70CONFIG_EARLY_PRINTK=y
71# CONFIG_CPU_BIG_ENDIAN is not set 73# CONFIG_CPU_BIG_ENDIAN is not set
72CONFIG_CPU_LITTLE_ENDIAN=y 74CONFIG_CPU_LITTLE_ENDIAN=y
73CONFIG_SYS_SUPPORTS_LITTLE_ENDIAN=y 75CONFIG_SYS_SUPPORTS_LITTLE_ENDIAN=y
@@ -113,7 +115,6 @@ CONFIG_PAGE_SIZE_4KB=y
113# CONFIG_PAGE_SIZE_16KB is not set 115# CONFIG_PAGE_SIZE_16KB is not set
114# CONFIG_PAGE_SIZE_64KB is not set 116# CONFIG_PAGE_SIZE_64KB is not set
115# CONFIG_MIPS_MT is not set 117# CONFIG_MIPS_MT is not set
116# CONFIG_CPU_ADVANCED is not set
117CONFIG_CPU_HAS_WB=y 118CONFIG_CPU_HAS_WB=y
118CONFIG_GENERIC_HARDIRQS=y 119CONFIG_GENERIC_HARDIRQS=y
119CONFIG_GENERIC_IRQ_PROBE=y 120CONFIG_GENERIC_IRQ_PROBE=y
@@ -135,7 +136,6 @@ CONFIG_PREEMPT_NONE=y
135# Code maturity level options 136# Code maturity level options
136# 137#
137CONFIG_EXPERIMENTAL=y 138CONFIG_EXPERIMENTAL=y
138CONFIG_CLEAN_COMPILE=y
139CONFIG_BROKEN_ON_SMP=y 139CONFIG_BROKEN_ON_SMP=y
140CONFIG_INIT_ENV_ARG_LIMIT=32 140CONFIG_INIT_ENV_ARG_LIMIT=32
141 141
@@ -151,6 +151,7 @@ CONFIG_SYSVIPC=y
151CONFIG_SYSCTL=y 151CONFIG_SYSCTL=y
152# CONFIG_AUDIT is not set 152# CONFIG_AUDIT is not set
153# CONFIG_IKCONFIG is not set 153# CONFIG_IKCONFIG is not set
154CONFIG_RELAY=y
154CONFIG_INITRAMFS_SOURCE="" 155CONFIG_INITRAMFS_SOURCE=""
155# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 156# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
156CONFIG_EMBEDDED=y 157CONFIG_EMBEDDED=y
@@ -165,10 +166,6 @@ CONFIG_BASE_FULL=y
165CONFIG_FUTEX=y 166CONFIG_FUTEX=y
166CONFIG_EPOLL=y 167CONFIG_EPOLL=y
167CONFIG_SHMEM=y 168CONFIG_SHMEM=y
168CONFIG_CC_ALIGN_FUNCTIONS=0
169CONFIG_CC_ALIGN_LABELS=0
170CONFIG_CC_ALIGN_LOOPS=0
171CONFIG_CC_ALIGN_JUMPS=0
172CONFIG_SLAB=y 169CONFIG_SLAB=y
173# CONFIG_TINY_SHMEM is not set 170# CONFIG_TINY_SHMEM is not set
174CONFIG_BASE_SMALL=0 171CONFIG_BASE_SMALL=0
@@ -180,7 +177,6 @@ CONFIG_BASE_SMALL=0
180CONFIG_MODULES=y 177CONFIG_MODULES=y
181CONFIG_MODULE_UNLOAD=y 178CONFIG_MODULE_UNLOAD=y
182# CONFIG_MODULE_FORCE_UNLOAD is not set 179# CONFIG_MODULE_FORCE_UNLOAD is not set
183CONFIG_OBSOLETE_MODPARM=y
184# CONFIG_MODVERSIONS is not set 180# CONFIG_MODVERSIONS is not set
185CONFIG_MODULE_SRCVERSION_ALL=y 181CONFIG_MODULE_SRCVERSION_ALL=y
186CONFIG_KMOD=y 182CONFIG_KMOD=y
@@ -189,6 +185,8 @@ CONFIG_KMOD=y
189# Block layer 185# Block layer
190# 186#
191# CONFIG_LBD is not set 187# CONFIG_LBD is not set
188# CONFIG_BLK_DEV_IO_TRACE is not set
189# CONFIG_LSF is not set
192 190
193# 191#
194# IO Schedulers 192# IO Schedulers
@@ -233,11 +231,10 @@ CONFIG_NET=y
233# 231#
234# Networking options 232# Networking options
235# 233#
234# CONFIG_NETDEBUG is not set
236CONFIG_PACKET=y 235CONFIG_PACKET=y
237CONFIG_PACKET_MMAP=y 236CONFIG_PACKET_MMAP=y
238CONFIG_UNIX=y 237CONFIG_UNIX=y
239CONFIG_XFRM=y
240CONFIG_XFRM_USER=m
241# CONFIG_NET_KEY is not set 238# CONFIG_NET_KEY is not set
242CONFIG_INET=y 239CONFIG_INET=y
243# CONFIG_IP_MULTICAST is not set 240# CONFIG_IP_MULTICAST is not set
@@ -254,12 +251,15 @@ CONFIG_IP_PNP_BOOTP=y
254# CONFIG_INET_AH is not set 251# CONFIG_INET_AH is not set
255# CONFIG_INET_ESP is not set 252# CONFIG_INET_ESP is not set
256# CONFIG_INET_IPCOMP is not set 253# CONFIG_INET_IPCOMP is not set
257CONFIG_INET_TUNNEL=m 254# CONFIG_INET_XFRM_TUNNEL is not set
255# CONFIG_INET_TUNNEL is not set
258CONFIG_INET_DIAG=y 256CONFIG_INET_DIAG=y
259CONFIG_INET_TCP_DIAG=y 257CONFIG_INET_TCP_DIAG=y
260# CONFIG_TCP_CONG_ADVANCED is not set 258# CONFIG_TCP_CONG_ADVANCED is not set
261CONFIG_TCP_CONG_BIC=y 259CONFIG_TCP_CONG_BIC=y
262# CONFIG_IPV6 is not set 260# CONFIG_IPV6 is not set
261# CONFIG_INET6_XFRM_TUNNEL is not set
262# CONFIG_INET6_TUNNEL is not set
263# CONFIG_NETFILTER is not set 263# CONFIG_NETFILTER is not set
264 264
265# 265#
@@ -271,6 +271,11 @@ CONFIG_TCP_CONG_BIC=y
271# SCTP Configuration (EXPERIMENTAL) 271# SCTP Configuration (EXPERIMENTAL)
272# 272#
273# CONFIG_IP_SCTP is not set 273# CONFIG_IP_SCTP is not set
274
275#
276# TIPC Configuration (EXPERIMENTAL)
277#
278# CONFIG_TIPC is not set
274# CONFIG_ATM is not set 279# CONFIG_ATM is not set
275# CONFIG_BRIDGE is not set 280# CONFIG_BRIDGE is not set
276# CONFIG_VLAN_8021Q is not set 281# CONFIG_VLAN_8021Q is not set
@@ -280,11 +285,6 @@ CONFIG_TCP_CONG_BIC=y
280# CONFIG_ATALK is not set 285# CONFIG_ATALK is not set
281# CONFIG_X25 is not set 286# CONFIG_X25 is not set
282# CONFIG_LAPB is not set 287# CONFIG_LAPB is not set
283
284#
285# TIPC Configuration (EXPERIMENTAL)
286#
287# CONFIG_TIPC is not set
288# CONFIG_NET_DIVERT is not set 288# CONFIG_NET_DIVERT is not set
289# CONFIG_ECONET is not set 289# CONFIG_ECONET is not set
290# CONFIG_WAN_ROUTER is not set 290# CONFIG_WAN_ROUTER is not set
@@ -305,6 +305,9 @@ CONFIG_IEEE80211=m
305# CONFIG_IEEE80211_DEBUG is not set 305# CONFIG_IEEE80211_DEBUG is not set
306CONFIG_IEEE80211_CRYPT_WEP=m 306CONFIG_IEEE80211_CRYPT_WEP=m
307CONFIG_IEEE80211_CRYPT_CCMP=m 307CONFIG_IEEE80211_CRYPT_CCMP=m
308CONFIG_IEEE80211_SOFTMAC=m
309# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set
310CONFIG_WIRELESS_EXT=y
308 311
309# 312#
310# Device Drivers 313# Device Drivers
@@ -345,7 +348,7 @@ CONFIG_BLK_DEV_LOOP=m
345# CONFIG_BLK_DEV_CRYPTOLOOP is not set 348# CONFIG_BLK_DEV_CRYPTOLOOP is not set
346# CONFIG_BLK_DEV_NBD is not set 349# CONFIG_BLK_DEV_NBD is not set
347# CONFIG_BLK_DEV_RAM is not set 350# CONFIG_BLK_DEV_RAM is not set
348CONFIG_BLK_DEV_RAM_COUNT=16 351# CONFIG_BLK_DEV_INITRD is not set
349# CONFIG_CDROM_PKTCDVD is not set 352# CONFIG_CDROM_PKTCDVD is not set
350# CONFIG_ATA_OVER_ETH is not set 353# CONFIG_ATA_OVER_ETH is not set
351 354
@@ -567,10 +570,6 @@ CONFIG_RTC=y
567# 570#
568 571
569# 572#
570# Multimedia Capabilities Port drivers
571#
572
573#
574# Multimedia devices 573# Multimedia devices
575# 574#
576# CONFIG_VIDEO_DEV is not set 575# CONFIG_VIDEO_DEV is not set
@@ -588,6 +587,7 @@ CONFIG_FB_CFB_FILLRECT=y
588CONFIG_FB_CFB_COPYAREA=y 587CONFIG_FB_CFB_COPYAREA=y
589CONFIG_FB_CFB_IMAGEBLIT=y 588CONFIG_FB_CFB_IMAGEBLIT=y
590# CONFIG_FB_MACMODES is not set 589# CONFIG_FB_MACMODES is not set
590CONFIG_FB_FIRMWARE_EDID=y
591# CONFIG_FB_MODE_HELPERS is not set 591# CONFIG_FB_MODE_HELPERS is not set
592# CONFIG_FB_TILEBLITTING is not set 592# CONFIG_FB_TILEBLITTING is not set
593# CONFIG_FB_S1D13XXX is not set 593# CONFIG_FB_S1D13XXX is not set
@@ -617,6 +617,7 @@ CONFIG_LOGO_DEC_CLUT224=y
617# 617#
618# CONFIG_USB_ARCH_HAS_HCD is not set 618# CONFIG_USB_ARCH_HAS_HCD is not set
619# CONFIG_USB_ARCH_HAS_OHCI is not set 619# CONFIG_USB_ARCH_HAS_OHCI is not set
620# CONFIG_USB_ARCH_HAS_EHCI is not set
620 621
621# 622#
622# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 623# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
@@ -633,12 +634,30 @@ CONFIG_LOGO_DEC_CLUT224=y
633# CONFIG_MMC is not set 634# CONFIG_MMC is not set
634 635
635# 636#
637# LED devices
638#
639# CONFIG_NEW_LEDS is not set
640
641#
642# LED drivers
643#
644
645#
646# LED Triggers
647#
648
649#
636# InfiniBand support 650# InfiniBand support
637# 651#
638 652
639# 653#
640# SN Devices 654# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
655#
656
657#
658# Real Time Clock
641# 659#
660# CONFIG_RTC_CLASS is not set
642 661
643# 662#
644# File systems 663# File systems
@@ -686,7 +705,6 @@ CONFIG_SYSFS=y
686CONFIG_TMPFS=y 705CONFIG_TMPFS=y
687# CONFIG_HUGETLB_PAGE is not set 706# CONFIG_HUGETLB_PAGE is not set
688CONFIG_RAMFS=y 707CONFIG_RAMFS=y
689CONFIG_RELAYFS_FS=m
690# CONFIG_CONFIGFS_FS is not set 708# CONFIG_CONFIGFS_FS is not set
691 709
692# 710#
@@ -705,7 +723,6 @@ CONFIG_RELAYFS_FS=m
705# CONFIG_QNX4FS_FS is not set 723# CONFIG_QNX4FS_FS is not set
706# CONFIG_SYSV_FS is not set 724# CONFIG_SYSV_FS is not set
707CONFIG_UFS_FS=y 725CONFIG_UFS_FS=y
708CONFIG_UFS_FS_WRITE=y
709 726
710# 727#
711# Network File Systems 728# Network File Systems
diff --git a/arch/mips/configs/e55_defconfig b/arch/mips/configs/e55_defconfig
index 8fbfc06a6a2a..0760f4318910 100644
--- a/arch/mips/configs/e55_defconfig
+++ b/arch/mips/configs/e55_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.16-rc1 3# Linux kernel version: 2.6.17-rc2
4# Fri Jan 27 15:40:04 2006 4# Tue Apr 25 00:08:20 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -70,6 +70,8 @@ CONFIG_CASIO_E55=y
70# CONFIG_VICTOR_MPC30X is not set 70# CONFIG_VICTOR_MPC30X is not set
71# CONFIG_ZAO_CAPCELLA is not set 71# CONFIG_ZAO_CAPCELLA is not set
72CONFIG_RWSEM_GENERIC_SPINLOCK=y 72CONFIG_RWSEM_GENERIC_SPINLOCK=y
73CONFIG_GENERIC_FIND_NEXT_BIT=y
74CONFIG_GENERIC_HWEIGHT=y
73CONFIG_GENERIC_CALIBRATE_DELAY=y 75CONFIG_GENERIC_CALIBRATE_DELAY=y
74CONFIG_DMA_NONCOHERENT=y 76CONFIG_DMA_NONCOHERENT=y
75CONFIG_DMA_NEED_PCI_MAP_STATE=y 77CONFIG_DMA_NEED_PCI_MAP_STATE=y
@@ -88,7 +90,7 @@ CONFIG_MIPS_L1_CACHE_SHIFT=5
88# CONFIG_CPU_MIPS64_R2 is not set 90# CONFIG_CPU_MIPS64_R2 is not set
89# CONFIG_CPU_R3000 is not set 91# CONFIG_CPU_R3000 is not set
90# CONFIG_CPU_TX39XX is not set 92# CONFIG_CPU_TX39XX is not set
91# CONFIG_CPU_VR41XX is not set 93CONFIG_CPU_VR41XX=y
92# CONFIG_CPU_R4300 is not set 94# CONFIG_CPU_R4300 is not set
93# CONFIG_CPU_R4X00 is not set 95# CONFIG_CPU_R4X00 is not set
94# CONFIG_CPU_TX49XX is not set 96# CONFIG_CPU_TX49XX is not set
@@ -101,18 +103,21 @@ CONFIG_MIPS_L1_CACHE_SHIFT=5
101# CONFIG_CPU_RM7000 is not set 103# CONFIG_CPU_RM7000 is not set
102# CONFIG_CPU_RM9000 is not set 104# CONFIG_CPU_RM9000 is not set
103# CONFIG_CPU_SB1 is not set 105# CONFIG_CPU_SB1 is not set
106CONFIG_SYS_HAS_CPU_VR41XX=y
107CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y
108CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y
109CONFIG_CPU_SUPPORTS_64BIT_KERNEL=y
104 110
105# 111#
106# Kernel type 112# Kernel type
107# 113#
108# CONFIG_32BIT is not set 114CONFIG_32BIT=y
109# CONFIG_64BIT is not set 115# CONFIG_64BIT is not set
110CONFIG_PAGE_SIZE_4KB=y 116CONFIG_PAGE_SIZE_4KB=y
111# CONFIG_PAGE_SIZE_8KB is not set 117# CONFIG_PAGE_SIZE_8KB is not set
112# CONFIG_PAGE_SIZE_16KB is not set 118# CONFIG_PAGE_SIZE_16KB is not set
113# CONFIG_PAGE_SIZE_64KB is not set 119# CONFIG_PAGE_SIZE_64KB is not set
114# CONFIG_MIPS_MT is not set 120# CONFIG_MIPS_MT is not set
115CONFIG_CPU_HAS_LLSC=y
116CONFIG_CPU_HAS_SYNC=y 121CONFIG_CPU_HAS_SYNC=y
117CONFIG_GENERIC_HARDIRQS=y 122CONFIG_GENERIC_HARDIRQS=y
118CONFIG_GENERIC_IRQ_PROBE=y 123CONFIG_GENERIC_IRQ_PROBE=y
@@ -133,7 +138,6 @@ CONFIG_PREEMPT_NONE=y
133# Code maturity level options 138# Code maturity level options
134# 139#
135CONFIG_EXPERIMENTAL=y 140CONFIG_EXPERIMENTAL=y
136CONFIG_CLEAN_COMPILE=y
137CONFIG_BROKEN_ON_SMP=y 141CONFIG_BROKEN_ON_SMP=y
138CONFIG_INIT_ENV_ARG_LIMIT=32 142CONFIG_INIT_ENV_ARG_LIMIT=32
139 143
@@ -144,11 +148,10 @@ CONFIG_LOCALVERSION=""
144CONFIG_LOCALVERSION_AUTO=y 148CONFIG_LOCALVERSION_AUTO=y
145CONFIG_SWAP=y 149CONFIG_SWAP=y
146CONFIG_SYSVIPC=y 150CONFIG_SYSVIPC=y
147# CONFIG_POSIX_MQUEUE is not set
148# CONFIG_BSD_PROCESS_ACCT is not set 151# CONFIG_BSD_PROCESS_ACCT is not set
149CONFIG_SYSCTL=y 152CONFIG_SYSCTL=y
150# CONFIG_AUDIT is not set
151# CONFIG_IKCONFIG is not set 153# CONFIG_IKCONFIG is not set
154# CONFIG_RELAY is not set
152CONFIG_INITRAMFS_SOURCE="" 155CONFIG_INITRAMFS_SOURCE=""
153# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 156# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
154CONFIG_EMBEDDED=y 157CONFIG_EMBEDDED=y
@@ -162,10 +165,6 @@ CONFIG_BASE_FULL=y
162CONFIG_FUTEX=y 165CONFIG_FUTEX=y
163CONFIG_EPOLL=y 166CONFIG_EPOLL=y
164CONFIG_SHMEM=y 167CONFIG_SHMEM=y
165CONFIG_CC_ALIGN_FUNCTIONS=0
166CONFIG_CC_ALIGN_LABELS=0
167CONFIG_CC_ALIGN_LOOPS=0
168CONFIG_CC_ALIGN_JUMPS=0
169CONFIG_SLAB=y 168CONFIG_SLAB=y
170# CONFIG_TINY_SHMEM is not set 169# CONFIG_TINY_SHMEM is not set
171CONFIG_BASE_SMALL=0 170CONFIG_BASE_SMALL=0
@@ -177,7 +176,6 @@ CONFIG_BASE_SMALL=0
177CONFIG_MODULES=y 176CONFIG_MODULES=y
178CONFIG_MODULE_UNLOAD=y 177CONFIG_MODULE_UNLOAD=y
179# CONFIG_MODULE_FORCE_UNLOAD is not set 178# CONFIG_MODULE_FORCE_UNLOAD is not set
180CONFIG_OBSOLETE_MODPARM=y
181CONFIG_MODVERSIONS=y 179CONFIG_MODVERSIONS=y
182CONFIG_MODULE_SRCVERSION_ALL=y 180CONFIG_MODULE_SRCVERSION_ALL=y
183CONFIG_KMOD=y 181CONFIG_KMOD=y
@@ -185,6 +183,9 @@ CONFIG_KMOD=y
185# 183#
186# Block layer 184# Block layer
187# 185#
186# CONFIG_LBD is not set
187# CONFIG_BLK_DEV_IO_TRACE is not set
188# CONFIG_LSF is not set
188 189
189# 190#
190# IO Schedulers 191# IO Schedulers
@@ -219,85 +220,12 @@ CONFIG_MMU=y
219# 220#
220CONFIG_BINFMT_ELF=y 221CONFIG_BINFMT_ELF=y
221# CONFIG_BINFMT_MISC is not set 222# CONFIG_BINFMT_MISC is not set
223CONFIG_TRAD_SIGNALS=y
222 224
223# 225#
224# Networking 226# Networking
225# 227#
226CONFIG_NET=y 228# CONFIG_NET is not set
227
228#
229# Networking options
230#
231CONFIG_PACKET=y
232CONFIG_PACKET_MMAP=y
233CONFIG_UNIX=y
234CONFIG_XFRM=y
235CONFIG_XFRM_USER=m
236CONFIG_NET_KEY=y
237CONFIG_INET=y
238CONFIG_IP_MULTICAST=y
239# CONFIG_IP_ADVANCED_ROUTER is not set
240CONFIG_IP_FIB_HASH=y
241# CONFIG_IP_PNP is not set
242# CONFIG_NET_IPIP is not set
243# CONFIG_NET_IPGRE is not set
244# CONFIG_IP_MROUTE is not set
245# CONFIG_ARPD is not set
246# CONFIG_SYN_COOKIES is not set
247# CONFIG_INET_AH is not set
248# CONFIG_INET_ESP is not set
249# CONFIG_INET_IPCOMP is not set
250CONFIG_INET_TUNNEL=m
251CONFIG_INET_DIAG=y
252CONFIG_INET_TCP_DIAG=y
253# CONFIG_TCP_CONG_ADVANCED is not set
254CONFIG_TCP_CONG_BIC=y
255# CONFIG_IPV6 is not set
256# CONFIG_NETFILTER is not set
257
258#
259# DCCP Configuration (EXPERIMENTAL)
260#
261# CONFIG_IP_DCCP is not set
262
263#
264# SCTP Configuration (EXPERIMENTAL)
265#
266# CONFIG_IP_SCTP is not set
267# CONFIG_ATM is not set
268# CONFIG_BRIDGE is not set
269# CONFIG_VLAN_8021Q is not set
270# CONFIG_DECNET is not set
271# CONFIG_LLC2 is not set
272# CONFIG_IPX is not set
273# CONFIG_ATALK is not set
274# CONFIG_X25 is not set
275# CONFIG_LAPB is not set
276
277#
278# TIPC Configuration (EXPERIMENTAL)
279#
280# CONFIG_TIPC is not set
281# CONFIG_NET_DIVERT is not set
282# CONFIG_ECONET is not set
283# CONFIG_WAN_ROUTER is not set
284
285#
286# QoS and/or fair queueing
287#
288# CONFIG_NET_SCHED is not set
289
290#
291# Network testing
292#
293# CONFIG_NET_PKTGEN is not set
294# CONFIG_HAMRADIO is not set
295# CONFIG_IRDA is not set
296# CONFIG_BT is not set
297CONFIG_IEEE80211=m
298# CONFIG_IEEE80211_DEBUG is not set
299CONFIG_IEEE80211_CRYPT_WEP=m
300CONFIG_IEEE80211_CRYPT_CCMP=m
301 229
302# 230#
303# Device Drivers 231# Device Drivers
@@ -313,7 +241,6 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
313# 241#
314# Connector - unified userspace <-> kernelspace linker 242# Connector - unified userspace <-> kernelspace linker
315# 243#
316CONFIG_CONNECTOR=m
317 244
318# 245#
319# Memory Technology Devices (MTD) 246# Memory Technology Devices (MTD)
@@ -335,11 +262,11 @@ CONFIG_CONNECTOR=m
335# 262#
336# CONFIG_BLK_DEV_COW_COMMON is not set 263# CONFIG_BLK_DEV_COW_COMMON is not set
337# CONFIG_BLK_DEV_LOOP is not set 264# CONFIG_BLK_DEV_LOOP is not set
338# CONFIG_BLK_DEV_NBD is not set 265CONFIG_BLK_DEV_RAM=m
339# CONFIG_BLK_DEV_RAM is not set
340CONFIG_BLK_DEV_RAM_COUNT=16 266CONFIG_BLK_DEV_RAM_COUNT=16
267CONFIG_BLK_DEV_RAM_SIZE=4096
268# CONFIG_BLK_DEV_INITRD is not set
341# CONFIG_CDROM_PKTCDVD is not set 269# CONFIG_CDROM_PKTCDVD is not set
342# CONFIG_ATA_OVER_ETH is not set
343 270
344# 271#
345# ATA/ATAPI/MFM/RLL support 272# ATA/ATAPI/MFM/RLL support
@@ -398,81 +325,8 @@ CONFIG_IDE_GENERIC=y
398# 325#
399 326
400# 327#
401# Network device support
402#
403CONFIG_NETDEVICES=y
404# CONFIG_DUMMY is not set
405# CONFIG_BONDING is not set
406# CONFIG_EQUALIZER is not set
407# CONFIG_TUN is not set
408
409#
410# ARCnet devices
411#
412# CONFIG_ARCNET is not set
413
414#
415# PHY device support
416#
417CONFIG_PHYLIB=m
418
419#
420# MII PHY device drivers
421#
422CONFIG_MARVELL_PHY=m
423CONFIG_DAVICOM_PHY=m
424CONFIG_QSEMI_PHY=m
425CONFIG_LXT_PHY=m
426CONFIG_CICADA_PHY=m
427
428#
429# Ethernet (10 or 100Mbit)
430#
431CONFIG_NET_ETHERNET=y
432# CONFIG_MII is not set
433# CONFIG_NET_VENDOR_3COM is not set
434# CONFIG_NET_VENDOR_SMC is not set
435# CONFIG_DM9000 is not set
436# CONFIG_NET_VENDOR_RACAL is not set
437# CONFIG_AT1700 is not set
438# CONFIG_DEPCA is not set
439# CONFIG_HP100 is not set
440# CONFIG_NET_ISA is not set
441# CONFIG_NET_PCI is not set
442
443#
444# Ethernet (1000 Mbit)
445#
446
447#
448# Ethernet (10000 Mbit)
449#
450
451#
452# Token Ring devices
453#
454# CONFIG_TR is not set
455
456#
457# Wireless LAN (non-hamradio)
458#
459# CONFIG_NET_RADIO is not set
460
461#
462# Wan interfaces
463#
464# CONFIG_WAN is not set
465# CONFIG_PPP is not set
466# CONFIG_SLIP is not set
467# CONFIG_SHAPER is not set
468# CONFIG_NETCONSOLE is not set
469# CONFIG_NETPOLL is not set
470# CONFIG_NET_POLL_CONTROLLER is not set
471
472#
473# ISDN subsystem 328# ISDN subsystem
474# 329#
475# CONFIG_ISDN is not set
476 330
477# 331#
478# Telephony Support 332# Telephony Support
@@ -508,11 +362,7 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=240
508# 362#
509# Hardware I/O ports 363# Hardware I/O ports
510# 364#
511CONFIG_SERIO=y 365# CONFIG_SERIO is not set
512# CONFIG_SERIO_I8042 is not set
513CONFIG_SERIO_SERPORT=y
514# CONFIG_SERIO_LIBPS2 is not set
515CONFIG_SERIO_RAW=m
516# CONFIG_GAMEPORT is not set 366# CONFIG_GAMEPORT is not set
517 367
518# 368#
@@ -531,6 +381,10 @@ CONFIG_HW_CONSOLE=y
531# 381#
532# Non-8250 serial port support 382# Non-8250 serial port support
533# 383#
384CONFIG_SERIAL_CORE=y
385CONFIG_SERIAL_CORE_CONSOLE=y
386CONFIG_SERIAL_VR41XX=y
387CONFIG_SERIAL_VR41XX_CONSOLE=y
534CONFIG_UNIX98_PTYS=y 388CONFIG_UNIX98_PTYS=y
535CONFIG_LEGACY_PTYS=y 389CONFIG_LEGACY_PTYS=y
536CONFIG_LEGACY_PTY_COUNT=256 390CONFIG_LEGACY_PTY_COUNT=256
@@ -565,6 +419,7 @@ CONFIG_WATCHDOG=y
565# 419#
566# Ftape, the floppy tape device driver 420# Ftape, the floppy tape device driver
567# 421#
422CONFIG_GPIO_VR41XX=y
568# CONFIG_RAW_DRIVER is not set 423# CONFIG_RAW_DRIVER is not set
569 424
570# 425#
@@ -600,10 +455,6 @@ CONFIG_WATCHDOG=y
600# 455#
601 456
602# 457#
603# Multimedia Capabilities Port drivers
604#
605
606#
607# Multimedia devices 458# Multimedia devices
608# 459#
609# CONFIG_VIDEO_DEV is not set 460# CONFIG_VIDEO_DEV is not set
@@ -611,7 +462,6 @@ CONFIG_WATCHDOG=y
611# 462#
612# Digital Video Broadcasting Devices 463# Digital Video Broadcasting Devices
613# 464#
614# CONFIG_DVB is not set
615 465
616# 466#
617# Graphics support 467# Graphics support
@@ -635,6 +485,7 @@ CONFIG_DUMMY_CONSOLE=y
635# 485#
636# CONFIG_USB_ARCH_HAS_HCD is not set 486# CONFIG_USB_ARCH_HAS_HCD is not set
637# CONFIG_USB_ARCH_HAS_OHCI is not set 487# CONFIG_USB_ARCH_HAS_OHCI is not set
488# CONFIG_USB_ARCH_HAS_EHCI is not set
638 489
639# 490#
640# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 491# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
@@ -651,12 +502,30 @@ CONFIG_DUMMY_CONSOLE=y
651# CONFIG_MMC is not set 502# CONFIG_MMC is not set
652 503
653# 504#
505# LED devices
506#
507# CONFIG_NEW_LEDS is not set
508
509#
510# LED drivers
511#
512
513#
514# LED Triggers
515#
516
517#
654# InfiniBand support 518# InfiniBand support
655# 519#
656 520
657# 521#
658# SN Devices 522# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
523#
524
525#
526# Real Time Clock
659# 527#
528# CONFIG_RTC_CLASS is not set
660 529
661# 530#
662# File systems 531# File systems
@@ -669,13 +538,12 @@ CONFIG_EXT2_FS=y
669# CONFIG_JFS_FS is not set 538# CONFIG_JFS_FS is not set
670# CONFIG_FS_POSIX_ACL is not set 539# CONFIG_FS_POSIX_ACL is not set
671# CONFIG_XFS_FS is not set 540# CONFIG_XFS_FS is not set
672# CONFIG_OCFS2_FS is not set
673# CONFIG_MINIX_FS is not set 541# CONFIG_MINIX_FS is not set
674# CONFIG_ROMFS_FS is not set 542# CONFIG_ROMFS_FS is not set
675CONFIG_INOTIFY=y 543CONFIG_INOTIFY=y
676# CONFIG_QUOTA is not set 544# CONFIG_QUOTA is not set
677CONFIG_DNOTIFY=y 545CONFIG_DNOTIFY=y
678CONFIG_AUTOFS_FS=y 546# CONFIG_AUTOFS_FS is not set
679CONFIG_AUTOFS4_FS=y 547CONFIG_AUTOFS4_FS=y
680CONFIG_FUSE_FS=m 548CONFIG_FUSE_FS=m
681 549
@@ -698,10 +566,9 @@ CONFIG_FUSE_FS=m
698CONFIG_PROC_FS=y 566CONFIG_PROC_FS=y
699CONFIG_PROC_KCORE=y 567CONFIG_PROC_KCORE=y
700CONFIG_SYSFS=y 568CONFIG_SYSFS=y
701# CONFIG_TMPFS is not set 569CONFIG_TMPFS=y
702# CONFIG_HUGETLB_PAGE is not set 570# CONFIG_HUGETLB_PAGE is not set
703CONFIG_RAMFS=y 571CONFIG_RAMFS=y
704CONFIG_RELAYFS_FS=m
705# CONFIG_CONFIGFS_FS is not set 572# CONFIG_CONFIGFS_FS is not set
706 573
707# 574#
@@ -722,29 +589,6 @@ CONFIG_RELAYFS_FS=m
722# CONFIG_UFS_FS is not set 589# CONFIG_UFS_FS is not set
723 590
724# 591#
725# Network File Systems
726#
727CONFIG_NFS_FS=m
728# CONFIG_NFS_V3 is not set
729# CONFIG_NFS_V4 is not set
730# CONFIG_NFS_DIRECTIO is not set
731CONFIG_NFSD=m
732# CONFIG_NFSD_V3 is not set
733# CONFIG_NFSD_TCP is not set
734CONFIG_LOCKD=m
735CONFIG_EXPORTFS=m
736CONFIG_NFS_COMMON=y
737CONFIG_SUNRPC=m
738# CONFIG_RPCSEC_GSS_KRB5 is not set
739# CONFIG_RPCSEC_GSS_SPKM3 is not set
740# CONFIG_SMB_FS is not set
741# CONFIG_CIFS is not set
742# CONFIG_NCP_FS is not set
743# CONFIG_CODA_FS is not set
744# CONFIG_AFS_FS is not set
745# CONFIG_9P_FS is not set
746
747#
748# Partition Types 592# Partition Types
749# 593#
750# CONFIG_PARTITION_ADVANCED is not set 594# CONFIG_PARTITION_ADVANCED is not set
@@ -767,44 +611,20 @@ CONFIG_MSDOS_PARTITION=y
767# CONFIG_MAGIC_SYSRQ is not set 611# CONFIG_MAGIC_SYSRQ is not set
768# CONFIG_DEBUG_KERNEL is not set 612# CONFIG_DEBUG_KERNEL is not set
769CONFIG_LOG_BUF_SHIFT=14 613CONFIG_LOG_BUF_SHIFT=14
614# CONFIG_DEBUG_FS is not set
770CONFIG_CROSSCOMPILE=y 615CONFIG_CROSSCOMPILE=y
771CONFIG_CMDLINE="console=ttyVR0,19200 mem=8M" 616CONFIG_CMDLINE="console=ttyVR0,19200 mem=8M"
772 617
773# 618#
774# Security options 619# Security options
775# 620#
776CONFIG_KEYS=y 621# CONFIG_KEYS is not set
777CONFIG_KEYS_DEBUG_PROC_KEYS=y
778# CONFIG_SECURITY is not set 622# CONFIG_SECURITY is not set
779 623
780# 624#
781# Cryptographic options 625# Cryptographic options
782# 626#
783CONFIG_CRYPTO=y 627# CONFIG_CRYPTO is not set
784CONFIG_CRYPTO_HMAC=y
785CONFIG_CRYPTO_NULL=m
786CONFIG_CRYPTO_MD4=m
787CONFIG_CRYPTO_MD5=m
788CONFIG_CRYPTO_SHA1=m
789CONFIG_CRYPTO_SHA256=m
790CONFIG_CRYPTO_SHA512=m
791CONFIG_CRYPTO_WP512=m
792CONFIG_CRYPTO_TGR192=m
793CONFIG_CRYPTO_DES=m
794CONFIG_CRYPTO_BLOWFISH=m
795CONFIG_CRYPTO_TWOFISH=m
796CONFIG_CRYPTO_SERPENT=m
797CONFIG_CRYPTO_AES=m
798CONFIG_CRYPTO_CAST5=m
799CONFIG_CRYPTO_CAST6=m
800CONFIG_CRYPTO_TEA=m
801CONFIG_CRYPTO_ARC4=m
802CONFIG_CRYPTO_KHAZAD=m
803CONFIG_CRYPTO_ANUBIS=m
804CONFIG_CRYPTO_DEFLATE=m
805CONFIG_CRYPTO_MICHAEL_MIC=m
806CONFIG_CRYPTO_CRC32C=m
807# CONFIG_CRYPTO_TEST is not set
808 628
809# 629#
810# Hardware crypto devices 630# Hardware crypto devices
@@ -814,8 +634,6 @@ CONFIG_CRYPTO_CRC32C=m
814# Library routines 634# Library routines
815# 635#
816# CONFIG_CRC_CCITT is not set 636# CONFIG_CRC_CCITT is not set
817CONFIG_CRC16=m 637# CONFIG_CRC16 is not set
818CONFIG_CRC32=m 638# CONFIG_CRC32 is not set
819CONFIG_LIBCRC32C=m 639# CONFIG_LIBCRC32C is not set
820CONFIG_ZLIB_INFLATE=m
821CONFIG_ZLIB_DEFLATE=m
diff --git a/arch/mips/configs/ev64120_defconfig b/arch/mips/configs/ev64120_defconfig
index f2d43be69007..7067f608b22c 100644
--- a/arch/mips/configs/ev64120_defconfig
+++ b/arch/mips/configs/ev64120_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.16-rc1 3# Linux kernel version: 2.6.17-rc2
4# Fri Jan 27 15:40:05 2006 4# Mon Apr 24 14:51:02 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -65,6 +65,8 @@ CONFIG_MIPS_EV64120=y
65# CONFIG_TOSHIBA_RBTX4938 is not set 65# CONFIG_TOSHIBA_RBTX4938 is not set
66# CONFIG_EVB_PCI1 is not set 66# CONFIG_EVB_PCI1 is not set
67CONFIG_RWSEM_GENERIC_SPINLOCK=y 67CONFIG_RWSEM_GENERIC_SPINLOCK=y
68CONFIG_GENERIC_FIND_NEXT_BIT=y
69CONFIG_GENERIC_HWEIGHT=y
68CONFIG_GENERIC_CALIBRATE_DELAY=y 70CONFIG_GENERIC_CALIBRATE_DELAY=y
69CONFIG_DMA_NONCOHERENT=y 71CONFIG_DMA_NONCOHERENT=y
70CONFIG_DMA_NEED_PCI_MAP_STATE=y 72CONFIG_DMA_NEED_PCI_MAP_STATE=y
@@ -116,7 +118,6 @@ CONFIG_PAGE_SIZE_4KB=y
116# CONFIG_PAGE_SIZE_64KB is not set 118# CONFIG_PAGE_SIZE_64KB is not set
117# CONFIG_MIPS_MT is not set 119# CONFIG_MIPS_MT is not set
118# CONFIG_64BIT_PHYS_ADDR is not set 120# CONFIG_64BIT_PHYS_ADDR is not set
119# CONFIG_CPU_ADVANCED is not set
120CONFIG_CPU_HAS_LLSC=y 121CONFIG_CPU_HAS_LLSC=y
121CONFIG_CPU_HAS_SYNC=y 122CONFIG_CPU_HAS_SYNC=y
122CONFIG_GENERIC_HARDIRQS=y 123CONFIG_GENERIC_HARDIRQS=y
@@ -138,7 +139,6 @@ CONFIG_PREEMPT_NONE=y
138# Code maturity level options 139# Code maturity level options
139# 140#
140CONFIG_EXPERIMENTAL=y 141CONFIG_EXPERIMENTAL=y
141CONFIG_CLEAN_COMPILE=y
142CONFIG_BROKEN_ON_SMP=y 142CONFIG_BROKEN_ON_SMP=y
143CONFIG_INIT_ENV_ARG_LIMIT=32 143CONFIG_INIT_ENV_ARG_LIMIT=32
144 144
@@ -154,6 +154,7 @@ CONFIG_SYSVIPC=y
154CONFIG_SYSCTL=y 154CONFIG_SYSCTL=y
155# CONFIG_AUDIT is not set 155# CONFIG_AUDIT is not set
156# CONFIG_IKCONFIG is not set 156# CONFIG_IKCONFIG is not set
157CONFIG_RELAY=y
157CONFIG_INITRAMFS_SOURCE="" 158CONFIG_INITRAMFS_SOURCE=""
158# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 159# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
159CONFIG_EMBEDDED=y 160CONFIG_EMBEDDED=y
@@ -167,10 +168,6 @@ CONFIG_BASE_FULL=y
167CONFIG_FUTEX=y 168CONFIG_FUTEX=y
168CONFIG_EPOLL=y 169CONFIG_EPOLL=y
169CONFIG_SHMEM=y 170CONFIG_SHMEM=y
170CONFIG_CC_ALIGN_FUNCTIONS=0
171CONFIG_CC_ALIGN_LABELS=0
172CONFIG_CC_ALIGN_LOOPS=0
173CONFIG_CC_ALIGN_JUMPS=0
174CONFIG_SLAB=y 171CONFIG_SLAB=y
175# CONFIG_TINY_SHMEM is not set 172# CONFIG_TINY_SHMEM is not set
176CONFIG_BASE_SMALL=0 173CONFIG_BASE_SMALL=0
@@ -182,7 +179,6 @@ CONFIG_BASE_SMALL=0
182CONFIG_MODULES=y 179CONFIG_MODULES=y
183CONFIG_MODULE_UNLOAD=y 180CONFIG_MODULE_UNLOAD=y
184# CONFIG_MODULE_FORCE_UNLOAD is not set 181# CONFIG_MODULE_FORCE_UNLOAD is not set
185CONFIG_OBSOLETE_MODPARM=y
186CONFIG_MODVERSIONS=y 182CONFIG_MODVERSIONS=y
187CONFIG_MODULE_SRCVERSION_ALL=y 183CONFIG_MODULE_SRCVERSION_ALL=y
188# CONFIG_KMOD is not set 184# CONFIG_KMOD is not set
@@ -191,6 +187,8 @@ CONFIG_MODULE_SRCVERSION_ALL=y
191# Block layer 187# Block layer
192# 188#
193# CONFIG_LBD is not set 189# CONFIG_LBD is not set
190# CONFIG_BLK_DEV_IO_TRACE is not set
191# CONFIG_LSF is not set
194 192
195# 193#
196# IO Schedulers 194# IO Schedulers
@@ -210,7 +208,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
210# 208#
211CONFIG_HW_HAS_PCI=y 209CONFIG_HW_HAS_PCI=y
212CONFIG_PCI=y 210CONFIG_PCI=y
213CONFIG_PCI_LEGACY_PROC=y
214CONFIG_MMU=y 211CONFIG_MMU=y
215 212
216# 213#
@@ -238,6 +235,7 @@ CONFIG_NET=y
238# 235#
239# Networking options 236# Networking options
240# 237#
238# CONFIG_NETDEBUG is not set
241# CONFIG_PACKET is not set 239# CONFIG_PACKET is not set
242CONFIG_UNIX=y 240CONFIG_UNIX=y
243CONFIG_XFRM=y 241CONFIG_XFRM=y
@@ -258,12 +256,15 @@ CONFIG_IP_PNP=y
258# CONFIG_INET_AH is not set 256# CONFIG_INET_AH is not set
259# CONFIG_INET_ESP is not set 257# CONFIG_INET_ESP is not set
260# CONFIG_INET_IPCOMP is not set 258# CONFIG_INET_IPCOMP is not set
261CONFIG_INET_TUNNEL=m 259# CONFIG_INET_XFRM_TUNNEL is not set
260# CONFIG_INET_TUNNEL is not set
262CONFIG_INET_DIAG=y 261CONFIG_INET_DIAG=y
263CONFIG_INET_TCP_DIAG=y 262CONFIG_INET_TCP_DIAG=y
264# CONFIG_TCP_CONG_ADVANCED is not set 263# CONFIG_TCP_CONG_ADVANCED is not set
265CONFIG_TCP_CONG_BIC=y 264CONFIG_TCP_CONG_BIC=y
266# CONFIG_IPV6 is not set 265# CONFIG_IPV6 is not set
266# CONFIG_INET6_XFRM_TUNNEL is not set
267# CONFIG_INET6_TUNNEL is not set
267# CONFIG_NETFILTER is not set 268# CONFIG_NETFILTER is not set
268 269
269# 270#
@@ -275,6 +276,11 @@ CONFIG_TCP_CONG_BIC=y
275# SCTP Configuration (EXPERIMENTAL) 276# SCTP Configuration (EXPERIMENTAL)
276# 277#
277# CONFIG_IP_SCTP is not set 278# CONFIG_IP_SCTP is not set
279
280#
281# TIPC Configuration (EXPERIMENTAL)
282#
283# CONFIG_TIPC is not set
278# CONFIG_ATM is not set 284# CONFIG_ATM is not set
279# CONFIG_BRIDGE is not set 285# CONFIG_BRIDGE is not set
280# CONFIG_VLAN_8021Q is not set 286# CONFIG_VLAN_8021Q is not set
@@ -284,11 +290,6 @@ CONFIG_TCP_CONG_BIC=y
284# CONFIG_ATALK is not set 290# CONFIG_ATALK is not set
285# CONFIG_X25 is not set 291# CONFIG_X25 is not set
286# CONFIG_LAPB is not set 292# CONFIG_LAPB is not set
287
288#
289# TIPC Configuration (EXPERIMENTAL)
290#
291# CONFIG_TIPC is not set
292# CONFIG_NET_DIVERT is not set 293# CONFIG_NET_DIVERT is not set
293# CONFIG_ECONET is not set 294# CONFIG_ECONET is not set
294# CONFIG_WAN_ROUTER is not set 295# CONFIG_WAN_ROUTER is not set
@@ -309,6 +310,9 @@ CONFIG_IEEE80211=m
309# CONFIG_IEEE80211_DEBUG is not set 310# CONFIG_IEEE80211_DEBUG is not set
310CONFIG_IEEE80211_CRYPT_WEP=m 311CONFIG_IEEE80211_CRYPT_WEP=m
311CONFIG_IEEE80211_CRYPT_CCMP=m 312CONFIG_IEEE80211_CRYPT_CCMP=m
313CONFIG_IEEE80211_SOFTMAC=m
314# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set
315CONFIG_WIRELESS_EXT=y
312 316
313# 317#
314# Device Drivers 318# Device Drivers
@@ -352,7 +356,7 @@ CONFIG_CONNECTOR=m
352# CONFIG_BLK_DEV_NBD is not set 356# CONFIG_BLK_DEV_NBD is not set
353# CONFIG_BLK_DEV_SX8 is not set 357# CONFIG_BLK_DEV_SX8 is not set
354# CONFIG_BLK_DEV_RAM is not set 358# CONFIG_BLK_DEV_RAM is not set
355CONFIG_BLK_DEV_RAM_COUNT=16 359# CONFIG_BLK_DEV_INITRD is not set
356CONFIG_CDROM_PKTCDVD=m 360CONFIG_CDROM_PKTCDVD=m
357CONFIG_CDROM_PKTCDVD_BUFFERS=8 361CONFIG_CDROM_PKTCDVD_BUFFERS=8
358# CONFIG_CDROM_PKTCDVD_WCACHE is not set 362# CONFIG_CDROM_PKTCDVD_WCACHE is not set
@@ -550,6 +554,7 @@ CONFIG_HW_CONSOLE=y
550# 554#
551CONFIG_SERIAL_8250=y 555CONFIG_SERIAL_8250=y
552CONFIG_SERIAL_8250_CONSOLE=y 556CONFIG_SERIAL_8250_CONSOLE=y
557CONFIG_SERIAL_8250_PCI=y
553CONFIG_SERIAL_8250_NR_UARTS=4 558CONFIG_SERIAL_8250_NR_UARTS=4
554CONFIG_SERIAL_8250_RUNTIME_UARTS=4 559CONFIG_SERIAL_8250_RUNTIME_UARTS=4
555# CONFIG_SERIAL_8250_EXTENDED is not set 560# CONFIG_SERIAL_8250_EXTENDED is not set
@@ -559,6 +564,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4
559# 564#
560CONFIG_SERIAL_CORE=y 565CONFIG_SERIAL_CORE=y
561CONFIG_SERIAL_CORE_CONSOLE=y 566CONFIG_SERIAL_CORE_CONSOLE=y
567# CONFIG_SERIAL_JSM is not set
562CONFIG_UNIX98_PTYS=y 568CONFIG_UNIX98_PTYS=y
563CONFIG_LEGACY_PTYS=y 569CONFIG_LEGACY_PTYS=y
564CONFIG_LEGACY_PTY_COUNT=256 570CONFIG_LEGACY_PTY_COUNT=256
@@ -617,10 +623,6 @@ CONFIG_LEGACY_PTY_COUNT=256
617# 623#
618 624
619# 625#
620# Multimedia Capabilities Port drivers
621#
622
623#
624# Multimedia devices 626# Multimedia devices
625# 627#
626# CONFIG_VIDEO_DEV is not set 628# CONFIG_VIDEO_DEV is not set
@@ -651,6 +653,7 @@ CONFIG_DUMMY_CONSOLE=y
651# 653#
652CONFIG_USB_ARCH_HAS_HCD=y 654CONFIG_USB_ARCH_HAS_HCD=y
653CONFIG_USB_ARCH_HAS_OHCI=y 655CONFIG_USB_ARCH_HAS_OHCI=y
656CONFIG_USB_ARCH_HAS_EHCI=y
654# CONFIG_USB is not set 657# CONFIG_USB is not set
655 658
656# 659#
@@ -668,13 +671,31 @@ CONFIG_USB_ARCH_HAS_OHCI=y
668# CONFIG_MMC is not set 671# CONFIG_MMC is not set
669 672
670# 673#
674# LED devices
675#
676# CONFIG_NEW_LEDS is not set
677
678#
679# LED drivers
680#
681
682#
683# LED Triggers
684#
685
686#
671# InfiniBand support 687# InfiniBand support
672# 688#
673# CONFIG_INFINIBAND is not set 689# CONFIG_INFINIBAND is not set
674 690
675# 691#
676# SN Devices 692# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
693#
694
695#
696# Real Time Clock
677# 697#
698# CONFIG_RTC_CLASS is not set
678 699
679# 700#
680# File systems 701# File systems
@@ -719,7 +740,6 @@ CONFIG_SYSFS=y
719# CONFIG_TMPFS is not set 740# CONFIG_TMPFS is not set
720# CONFIG_HUGETLB_PAGE is not set 741# CONFIG_HUGETLB_PAGE is not set
721CONFIG_RAMFS=y 742CONFIG_RAMFS=y
722CONFIG_RELAYFS_FS=m
723# CONFIG_CONFIGFS_FS is not set 743# CONFIG_CONFIGFS_FS is not set
724 744
725# 745#
@@ -783,6 +803,7 @@ CONFIG_MSDOS_PARTITION=y
783# CONFIG_MAGIC_SYSRQ is not set 803# CONFIG_MAGIC_SYSRQ is not set
784# CONFIG_DEBUG_KERNEL is not set 804# CONFIG_DEBUG_KERNEL is not set
785CONFIG_LOG_BUF_SHIFT=14 805CONFIG_LOG_BUF_SHIFT=14
806# CONFIG_DEBUG_FS is not set
786CONFIG_CROSSCOMPILE=y 807CONFIG_CROSSCOMPILE=y
787CONFIG_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::" 808CONFIG_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::"
788 809
diff --git a/arch/mips/configs/ev96100_defconfig b/arch/mips/configs/ev96100_defconfig
index ac5841c4b698..00b56ed0e638 100644
--- a/arch/mips/configs/ev96100_defconfig
+++ b/arch/mips/configs/ev96100_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.16-rc1 3# Linux kernel version: 2.6.17-rc2
4# Fri Jan 27 15:40:06 2006 4# Mon Apr 24 14:51:03 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -64,6 +64,8 @@ CONFIG_MIPS_EV96100=y
64# CONFIG_TOSHIBA_RBTX4927 is not set 64# CONFIG_TOSHIBA_RBTX4927 is not set
65# CONFIG_TOSHIBA_RBTX4938 is not set 65# CONFIG_TOSHIBA_RBTX4938 is not set
66CONFIG_RWSEM_GENERIC_SPINLOCK=y 66CONFIG_RWSEM_GENERIC_SPINLOCK=y
67CONFIG_GENERIC_FIND_NEXT_BIT=y
68CONFIG_GENERIC_HWEIGHT=y
67CONFIG_GENERIC_CALIBRATE_DELAY=y 69CONFIG_GENERIC_CALIBRATE_DELAY=y
68CONFIG_DMA_NONCOHERENT=y 70CONFIG_DMA_NONCOHERENT=y
69CONFIG_DMA_NEED_PCI_MAP_STATE=y 71CONFIG_DMA_NEED_PCI_MAP_STATE=y
@@ -119,7 +121,6 @@ CONFIG_RM7000_CPU_SCACHE=y
119CONFIG_CPU_HAS_PREFETCH=y 121CONFIG_CPU_HAS_PREFETCH=y
120# CONFIG_MIPS_MT is not set 122# CONFIG_MIPS_MT is not set
121# CONFIG_64BIT_PHYS_ADDR is not set 123# CONFIG_64BIT_PHYS_ADDR is not set
122# CONFIG_CPU_ADVANCED is not set
123CONFIG_CPU_HAS_LLSC=y 124CONFIG_CPU_HAS_LLSC=y
124CONFIG_CPU_HAS_SYNC=y 125CONFIG_CPU_HAS_SYNC=y
125CONFIG_GENERIC_HARDIRQS=y 126CONFIG_GENERIC_HARDIRQS=y
@@ -142,7 +143,6 @@ CONFIG_PREEMPT_NONE=y
142# Code maturity level options 143# Code maturity level options
143# 144#
144CONFIG_EXPERIMENTAL=y 145CONFIG_EXPERIMENTAL=y
145CONFIG_CLEAN_COMPILE=y
146CONFIG_BROKEN_ON_SMP=y 146CONFIG_BROKEN_ON_SMP=y
147CONFIG_INIT_ENV_ARG_LIMIT=32 147CONFIG_INIT_ENV_ARG_LIMIT=32
148 148
@@ -158,6 +158,7 @@ CONFIG_SYSVIPC=y
158CONFIG_SYSCTL=y 158CONFIG_SYSCTL=y
159# CONFIG_AUDIT is not set 159# CONFIG_AUDIT is not set
160# CONFIG_IKCONFIG is not set 160# CONFIG_IKCONFIG is not set
161CONFIG_RELAY=y
161CONFIG_INITRAMFS_SOURCE="" 162CONFIG_INITRAMFS_SOURCE=""
162# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 163# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
163CONFIG_EMBEDDED=y 164CONFIG_EMBEDDED=y
@@ -171,10 +172,6 @@ CONFIG_BASE_FULL=y
171CONFIG_FUTEX=y 172CONFIG_FUTEX=y
172CONFIG_EPOLL=y 173CONFIG_EPOLL=y
173CONFIG_SHMEM=y 174CONFIG_SHMEM=y
174CONFIG_CC_ALIGN_FUNCTIONS=0
175CONFIG_CC_ALIGN_LABELS=0
176CONFIG_CC_ALIGN_LOOPS=0
177CONFIG_CC_ALIGN_JUMPS=0
178CONFIG_SLAB=y 175CONFIG_SLAB=y
179# CONFIG_TINY_SHMEM is not set 176# CONFIG_TINY_SHMEM is not set
180CONFIG_BASE_SMALL=0 177CONFIG_BASE_SMALL=0
@@ -186,7 +183,6 @@ CONFIG_BASE_SMALL=0
186CONFIG_MODULES=y 183CONFIG_MODULES=y
187CONFIG_MODULE_UNLOAD=y 184CONFIG_MODULE_UNLOAD=y
188# CONFIG_MODULE_FORCE_UNLOAD is not set 185# CONFIG_MODULE_FORCE_UNLOAD is not set
189CONFIG_OBSOLETE_MODPARM=y
190CONFIG_MODVERSIONS=y 186CONFIG_MODVERSIONS=y
191CONFIG_MODULE_SRCVERSION_ALL=y 187CONFIG_MODULE_SRCVERSION_ALL=y
192# CONFIG_KMOD is not set 188# CONFIG_KMOD is not set
@@ -195,6 +191,8 @@ CONFIG_MODULE_SRCVERSION_ALL=y
195# Block layer 191# Block layer
196# 192#
197# CONFIG_LBD is not set 193# CONFIG_LBD is not set
194# CONFIG_BLK_DEV_IO_TRACE is not set
195# CONFIG_LSF is not set
198 196
199# 197#
200# IO Schedulers 198# IO Schedulers
@@ -240,6 +238,7 @@ CONFIG_NET=y
240# 238#
241# Networking options 239# Networking options
242# 240#
241# CONFIG_NETDEBUG is not set
243# CONFIG_PACKET is not set 242# CONFIG_PACKET is not set
244CONFIG_UNIX=y 243CONFIG_UNIX=y
245CONFIG_XFRM=y 244CONFIG_XFRM=y
@@ -260,12 +259,15 @@ CONFIG_IP_PNP_BOOTP=y
260# CONFIG_INET_AH is not set 259# CONFIG_INET_AH is not set
261# CONFIG_INET_ESP is not set 260# CONFIG_INET_ESP is not set
262# CONFIG_INET_IPCOMP is not set 261# CONFIG_INET_IPCOMP is not set
263CONFIG_INET_TUNNEL=m 262# CONFIG_INET_XFRM_TUNNEL is not set
263# CONFIG_INET_TUNNEL is not set
264CONFIG_INET_DIAG=y 264CONFIG_INET_DIAG=y
265CONFIG_INET_TCP_DIAG=y 265CONFIG_INET_TCP_DIAG=y
266# CONFIG_TCP_CONG_ADVANCED is not set 266# CONFIG_TCP_CONG_ADVANCED is not set
267CONFIG_TCP_CONG_BIC=y 267CONFIG_TCP_CONG_BIC=y
268# CONFIG_IPV6 is not set 268# CONFIG_IPV6 is not set
269# CONFIG_INET6_XFRM_TUNNEL is not set
270# CONFIG_INET6_TUNNEL is not set
269# CONFIG_NETFILTER is not set 271# CONFIG_NETFILTER is not set
270 272
271# 273#
@@ -277,6 +279,11 @@ CONFIG_TCP_CONG_BIC=y
277# SCTP Configuration (EXPERIMENTAL) 279# SCTP Configuration (EXPERIMENTAL)
278# 280#
279# CONFIG_IP_SCTP is not set 281# CONFIG_IP_SCTP is not set
282
283#
284# TIPC Configuration (EXPERIMENTAL)
285#
286# CONFIG_TIPC is not set
280# CONFIG_ATM is not set 287# CONFIG_ATM is not set
281# CONFIG_BRIDGE is not set 288# CONFIG_BRIDGE is not set
282# CONFIG_VLAN_8021Q is not set 289# CONFIG_VLAN_8021Q is not set
@@ -286,11 +293,6 @@ CONFIG_TCP_CONG_BIC=y
286# CONFIG_ATALK is not set 293# CONFIG_ATALK is not set
287# CONFIG_X25 is not set 294# CONFIG_X25 is not set
288# CONFIG_LAPB is not set 295# CONFIG_LAPB is not set
289
290#
291# TIPC Configuration (EXPERIMENTAL)
292#
293# CONFIG_TIPC is not set
294# CONFIG_NET_DIVERT is not set 296# CONFIG_NET_DIVERT is not set
295# CONFIG_ECONET is not set 297# CONFIG_ECONET is not set
296# CONFIG_WAN_ROUTER is not set 298# CONFIG_WAN_ROUTER is not set
@@ -311,6 +313,9 @@ CONFIG_IEEE80211=m
311# CONFIG_IEEE80211_DEBUG is not set 313# CONFIG_IEEE80211_DEBUG is not set
312CONFIG_IEEE80211_CRYPT_WEP=m 314CONFIG_IEEE80211_CRYPT_WEP=m
313CONFIG_IEEE80211_CRYPT_CCMP=m 315CONFIG_IEEE80211_CRYPT_CCMP=m
316CONFIG_IEEE80211_SOFTMAC=m
317# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set
318CONFIG_WIRELESS_EXT=y
314 319
315# 320#
316# Device Drivers 321# Device Drivers
@@ -349,7 +354,7 @@ CONFIG_CONNECTOR=m
349# CONFIG_BLK_DEV_LOOP is not set 354# CONFIG_BLK_DEV_LOOP is not set
350# CONFIG_BLK_DEV_NBD is not set 355# CONFIG_BLK_DEV_NBD is not set
351# CONFIG_BLK_DEV_RAM is not set 356# CONFIG_BLK_DEV_RAM is not set
352CONFIG_BLK_DEV_RAM_COUNT=16 357# CONFIG_BLK_DEV_INITRD is not set
353CONFIG_CDROM_PKTCDVD=m 358CONFIG_CDROM_PKTCDVD=m
354CONFIG_CDROM_PKTCDVD_BUFFERS=8 359CONFIG_CDROM_PKTCDVD_BUFFERS=8
355# CONFIG_CDROM_PKTCDVD_WCACHE is not set 360# CONFIG_CDROM_PKTCDVD_WCACHE is not set
@@ -567,10 +572,6 @@ CONFIG_LEGACY_PTY_COUNT=256
567# 572#
568 573
569# 574#
570# Multimedia Capabilities Port drivers
571#
572
573#
574# Multimedia devices 575# Multimedia devices
575# 576#
576# CONFIG_VIDEO_DEV is not set 577# CONFIG_VIDEO_DEV is not set
@@ -601,6 +602,7 @@ CONFIG_DUMMY_CONSOLE=y
601# 602#
602# CONFIG_USB_ARCH_HAS_HCD is not set 603# CONFIG_USB_ARCH_HAS_HCD is not set
603# CONFIG_USB_ARCH_HAS_OHCI is not set 604# CONFIG_USB_ARCH_HAS_OHCI is not set
605# CONFIG_USB_ARCH_HAS_EHCI is not set
604 606
605# 607#
606# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 608# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
@@ -617,12 +619,30 @@ CONFIG_DUMMY_CONSOLE=y
617# CONFIG_MMC is not set 619# CONFIG_MMC is not set
618 620
619# 621#
622# LED devices
623#
624# CONFIG_NEW_LEDS is not set
625
626#
627# LED drivers
628#
629
630#
631# LED Triggers
632#
633
634#
620# InfiniBand support 635# InfiniBand support
621# 636#
622 637
623# 638#
624# SN Devices 639# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
640#
641
642#
643# Real Time Clock
625# 644#
645# CONFIG_RTC_CLASS is not set
626 646
627# 647#
628# File systems 648# File systems
@@ -667,7 +687,6 @@ CONFIG_SYSFS=y
667# CONFIG_TMPFS is not set 687# CONFIG_TMPFS is not set
668# CONFIG_HUGETLB_PAGE is not set 688# CONFIG_HUGETLB_PAGE is not set
669CONFIG_RAMFS=y 689CONFIG_RAMFS=y
670CONFIG_RELAYFS_FS=m
671# CONFIG_CONFIGFS_FS is not set 690# CONFIG_CONFIGFS_FS is not set
672 691
673# 692#
@@ -731,6 +750,7 @@ CONFIG_MSDOS_PARTITION=y
731# CONFIG_MAGIC_SYSRQ is not set 750# CONFIG_MAGIC_SYSRQ is not set
732# CONFIG_DEBUG_KERNEL is not set 751# CONFIG_DEBUG_KERNEL is not set
733CONFIG_LOG_BUF_SHIFT=14 752CONFIG_LOG_BUF_SHIFT=14
753# CONFIG_DEBUG_FS is not set
734CONFIG_CROSSCOMPILE=y 754CONFIG_CROSSCOMPILE=y
735CONFIG_CMDLINE="" 755CONFIG_CMDLINE=""
736 756
diff --git a/arch/mips/configs/ip22_defconfig b/arch/mips/configs/ip22_defconfig
index 42d5cd7927cb..607e2985ffe3 100644
--- a/arch/mips/configs/ip22_defconfig
+++ b/arch/mips/configs/ip22_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.16-rc1 3# Linux kernel version: 2.6.17-rc2
4# Fri Jan 27 15:39:51 2006 4# Mon Apr 24 14:50:54 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -64,6 +64,8 @@ CONFIG_SGI_IP22=y
64# CONFIG_TOSHIBA_RBTX4927 is not set 64# CONFIG_TOSHIBA_RBTX4927 is not set
65# CONFIG_TOSHIBA_RBTX4938 is not set 65# CONFIG_TOSHIBA_RBTX4938 is not set
66CONFIG_RWSEM_GENERIC_SPINLOCK=y 66CONFIG_RWSEM_GENERIC_SPINLOCK=y
67CONFIG_GENERIC_FIND_NEXT_BIT=y
68CONFIG_GENERIC_HWEIGHT=y
67CONFIG_GENERIC_CALIBRATE_DELAY=y 69CONFIG_GENERIC_CALIBRATE_DELAY=y
68CONFIG_ARC=y 70CONFIG_ARC=y
69CONFIG_DMA_NONCOHERENT=y 71CONFIG_DMA_NONCOHERENT=y
@@ -121,7 +123,6 @@ CONFIG_BOARD_SCACHE=y
121CONFIG_IP22_CPU_SCACHE=y 123CONFIG_IP22_CPU_SCACHE=y
122# CONFIG_MIPS_MT is not set 124# CONFIG_MIPS_MT is not set
123# CONFIG_64BIT_PHYS_ADDR is not set 125# CONFIG_64BIT_PHYS_ADDR is not set
124# CONFIG_CPU_ADVANCED is not set
125CONFIG_CPU_HAS_LLSC=y 126CONFIG_CPU_HAS_LLSC=y
126CONFIG_CPU_HAS_SYNC=y 127CONFIG_CPU_HAS_SYNC=y
127CONFIG_GENERIC_HARDIRQS=y 128CONFIG_GENERIC_HARDIRQS=y
@@ -143,7 +144,6 @@ CONFIG_PREEMPT_VOLUNTARY=y
143# Code maturity level options 144# Code maturity level options
144# 145#
145CONFIG_EXPERIMENTAL=y 146CONFIG_EXPERIMENTAL=y
146CONFIG_CLEAN_COMPILE=y
147CONFIG_BROKEN_ON_SMP=y 147CONFIG_BROKEN_ON_SMP=y
148CONFIG_INIT_ENV_ARG_LIMIT=32 148CONFIG_INIT_ENV_ARG_LIMIT=32
149 149
@@ -160,6 +160,7 @@ CONFIG_SYSCTL=y
160# CONFIG_AUDIT is not set 160# CONFIG_AUDIT is not set
161CONFIG_IKCONFIG=y 161CONFIG_IKCONFIG=y
162CONFIG_IKCONFIG_PROC=y 162CONFIG_IKCONFIG_PROC=y
163CONFIG_RELAY=y
163CONFIG_INITRAMFS_SOURCE="" 164CONFIG_INITRAMFS_SOURCE=""
164# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 165# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
165CONFIG_EMBEDDED=y 166CONFIG_EMBEDDED=y
@@ -173,10 +174,6 @@ CONFIG_BASE_FULL=y
173CONFIG_FUTEX=y 174CONFIG_FUTEX=y
174CONFIG_EPOLL=y 175CONFIG_EPOLL=y
175CONFIG_SHMEM=y 176CONFIG_SHMEM=y
176CONFIG_CC_ALIGN_FUNCTIONS=0
177CONFIG_CC_ALIGN_LABELS=0
178CONFIG_CC_ALIGN_LOOPS=0
179CONFIG_CC_ALIGN_JUMPS=0
180CONFIG_SLAB=y 177CONFIG_SLAB=y
181# CONFIG_TINY_SHMEM is not set 178# CONFIG_TINY_SHMEM is not set
182CONFIG_BASE_SMALL=0 179CONFIG_BASE_SMALL=0
@@ -188,7 +185,6 @@ CONFIG_BASE_SMALL=0
188CONFIG_MODULES=y 185CONFIG_MODULES=y
189CONFIG_MODULE_UNLOAD=y 186CONFIG_MODULE_UNLOAD=y
190# CONFIG_MODULE_FORCE_UNLOAD is not set 187# CONFIG_MODULE_FORCE_UNLOAD is not set
191CONFIG_OBSOLETE_MODPARM=y
192CONFIG_MODVERSIONS=y 188CONFIG_MODVERSIONS=y
193CONFIG_MODULE_SRCVERSION_ALL=y 189CONFIG_MODULE_SRCVERSION_ALL=y
194CONFIG_KMOD=y 190CONFIG_KMOD=y
@@ -197,6 +193,8 @@ CONFIG_KMOD=y
197# Block layer 193# Block layer
198# 194#
199# CONFIG_LBD is not set 195# CONFIG_LBD is not set
196# CONFIG_BLK_DEV_IO_TRACE is not set
197# CONFIG_LSF is not set
200 198
201# 199#
202# IO Schedulers 200# IO Schedulers
@@ -242,6 +240,7 @@ CONFIG_NET=y
242# 240#
243# Networking options 241# Networking options
244# 242#
243# CONFIG_NETDEBUG is not set
245CONFIG_PACKET=y 244CONFIG_PACKET=y
246CONFIG_PACKET_MMAP=y 245CONFIG_PACKET_MMAP=y
247CONFIG_UNIX=y 246CONFIG_UNIX=y
@@ -264,6 +263,7 @@ CONFIG_IP_PNP_BOOTP=y
264CONFIG_INET_AH=m 263CONFIG_INET_AH=m
265CONFIG_INET_ESP=m 264CONFIG_INET_ESP=m
266CONFIG_INET_IPCOMP=m 265CONFIG_INET_IPCOMP=m
266CONFIG_INET_XFRM_TUNNEL=m
267CONFIG_INET_TUNNEL=m 267CONFIG_INET_TUNNEL=m
268CONFIG_INET_DIAG=y 268CONFIG_INET_DIAG=y
269CONFIG_INET_TCP_DIAG=y 269CONFIG_INET_TCP_DIAG=y
@@ -305,9 +305,12 @@ CONFIG_IP_VS_NQ=m
305CONFIG_IP_VS_FTP=m 305CONFIG_IP_VS_FTP=m
306CONFIG_IPV6=m 306CONFIG_IPV6=m
307CONFIG_IPV6_PRIVACY=y 307CONFIG_IPV6_PRIVACY=y
308CONFIG_IPV6_ROUTER_PREF=y
309CONFIG_IPV6_ROUTE_INFO=y
308CONFIG_INET6_AH=m 310CONFIG_INET6_AH=m
309CONFIG_INET6_ESP=m 311CONFIG_INET6_ESP=m
310CONFIG_INET6_IPCOMP=m 312CONFIG_INET6_IPCOMP=m
313CONFIG_INET6_XFRM_TUNNEL=m
311CONFIG_INET6_TUNNEL=m 314CONFIG_INET6_TUNNEL=m
312CONFIG_IPV6_TUNNEL=m 315CONFIG_IPV6_TUNNEL=m
313CONFIG_NETFILTER=y 316CONFIG_NETFILTER=y
@@ -330,11 +333,14 @@ CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
330CONFIG_NETFILTER_XT_MATCH_CONNMARK=m 333CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
331CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m 334CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
332CONFIG_NETFILTER_XT_MATCH_DCCP=m 335CONFIG_NETFILTER_XT_MATCH_DCCP=m
336CONFIG_NETFILTER_XT_MATCH_ESP=m
333CONFIG_NETFILTER_XT_MATCH_HELPER=m 337CONFIG_NETFILTER_XT_MATCH_HELPER=m
334CONFIG_NETFILTER_XT_MATCH_LENGTH=m 338CONFIG_NETFILTER_XT_MATCH_LENGTH=m
335CONFIG_NETFILTER_XT_MATCH_LIMIT=m 339CONFIG_NETFILTER_XT_MATCH_LIMIT=m
336CONFIG_NETFILTER_XT_MATCH_MAC=m 340CONFIG_NETFILTER_XT_MATCH_MAC=m
337CONFIG_NETFILTER_XT_MATCH_MARK=m 341CONFIG_NETFILTER_XT_MATCH_MARK=m
342CONFIG_NETFILTER_XT_MATCH_POLICY=m
343CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
338CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m 344CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
339CONFIG_NETFILTER_XT_MATCH_REALM=m 345CONFIG_NETFILTER_XT_MATCH_REALM=m
340CONFIG_NETFILTER_XT_MATCH_SCTP=m 346CONFIG_NETFILTER_XT_MATCH_SCTP=m
@@ -357,20 +363,19 @@ CONFIG_IP_NF_IRC=m
357CONFIG_IP_NF_TFTP=m 363CONFIG_IP_NF_TFTP=m
358CONFIG_IP_NF_AMANDA=m 364CONFIG_IP_NF_AMANDA=m
359CONFIG_IP_NF_PPTP=m 365CONFIG_IP_NF_PPTP=m
366CONFIG_IP_NF_H323=m
360CONFIG_IP_NF_QUEUE=m 367CONFIG_IP_NF_QUEUE=m
361CONFIG_IP_NF_IPTABLES=m 368CONFIG_IP_NF_IPTABLES=m
362CONFIG_IP_NF_MATCH_IPRANGE=m 369CONFIG_IP_NF_MATCH_IPRANGE=m
363CONFIG_IP_NF_MATCH_MULTIPORT=m
364CONFIG_IP_NF_MATCH_TOS=m 370CONFIG_IP_NF_MATCH_TOS=m
365CONFIG_IP_NF_MATCH_RECENT=m 371CONFIG_IP_NF_MATCH_RECENT=m
366CONFIG_IP_NF_MATCH_ECN=m 372CONFIG_IP_NF_MATCH_ECN=m
367CONFIG_IP_NF_MATCH_DSCP=m 373CONFIG_IP_NF_MATCH_DSCP=m
368CONFIG_IP_NF_MATCH_AH_ESP=m 374CONFIG_IP_NF_MATCH_AH=m
369CONFIG_IP_NF_MATCH_TTL=m 375CONFIG_IP_NF_MATCH_TTL=m
370CONFIG_IP_NF_MATCH_OWNER=m 376CONFIG_IP_NF_MATCH_OWNER=m
371CONFIG_IP_NF_MATCH_ADDRTYPE=m 377CONFIG_IP_NF_MATCH_ADDRTYPE=m
372CONFIG_IP_NF_MATCH_HASHLIMIT=m 378CONFIG_IP_NF_MATCH_HASHLIMIT=m
373CONFIG_IP_NF_MATCH_POLICY=m
374CONFIG_IP_NF_FILTER=m 379CONFIG_IP_NF_FILTER=m
375CONFIG_IP_NF_TARGET_REJECT=m 380CONFIG_IP_NF_TARGET_REJECT=m
376CONFIG_IP_NF_TARGET_LOG=m 381CONFIG_IP_NF_TARGET_LOG=m
@@ -388,6 +393,7 @@ CONFIG_IP_NF_NAT_FTP=m
388CONFIG_IP_NF_NAT_TFTP=m 393CONFIG_IP_NF_NAT_TFTP=m
389CONFIG_IP_NF_NAT_AMANDA=m 394CONFIG_IP_NF_NAT_AMANDA=m
390CONFIG_IP_NF_NAT_PPTP=m 395CONFIG_IP_NF_NAT_PPTP=m
396CONFIG_IP_NF_NAT_H323=m
391CONFIG_IP_NF_MANGLE=m 397CONFIG_IP_NF_MANGLE=m
392CONFIG_IP_NF_TARGET_TOS=m 398CONFIG_IP_NF_TARGET_TOS=m
393CONFIG_IP_NF_TARGET_ECN=m 399CONFIG_IP_NF_TARGET_ECN=m
@@ -408,12 +414,10 @@ CONFIG_IP6_NF_MATCH_RT=m
408CONFIG_IP6_NF_MATCH_OPTS=m 414CONFIG_IP6_NF_MATCH_OPTS=m
409CONFIG_IP6_NF_MATCH_FRAG=m 415CONFIG_IP6_NF_MATCH_FRAG=m
410CONFIG_IP6_NF_MATCH_HL=m 416CONFIG_IP6_NF_MATCH_HL=m
411CONFIG_IP6_NF_MATCH_MULTIPORT=m
412CONFIG_IP6_NF_MATCH_OWNER=m 417CONFIG_IP6_NF_MATCH_OWNER=m
413CONFIG_IP6_NF_MATCH_IPV6HEADER=m 418CONFIG_IP6_NF_MATCH_IPV6HEADER=m
414CONFIG_IP6_NF_MATCH_AHESP=m 419CONFIG_IP6_NF_MATCH_AH=m
415CONFIG_IP6_NF_MATCH_EUI64=m 420CONFIG_IP6_NF_MATCH_EUI64=m
416CONFIG_IP6_NF_MATCH_POLICY=m
417CONFIG_IP6_NF_FILTER=m 421CONFIG_IP6_NF_FILTER=m
418CONFIG_IP6_NF_TARGET_LOG=m 422CONFIG_IP6_NF_TARGET_LOG=m
419CONFIG_IP6_NF_TARGET_REJECT=m 423CONFIG_IP6_NF_TARGET_REJECT=m
@@ -435,6 +439,11 @@ CONFIG_IP_SCTP=m
435# CONFIG_SCTP_HMAC_NONE is not set 439# CONFIG_SCTP_HMAC_NONE is not set
436# CONFIG_SCTP_HMAC_SHA1 is not set 440# CONFIG_SCTP_HMAC_SHA1 is not set
437CONFIG_SCTP_HMAC_MD5=y 441CONFIG_SCTP_HMAC_MD5=y
442
443#
444# TIPC Configuration (EXPERIMENTAL)
445#
446# CONFIG_TIPC is not set
438# CONFIG_ATM is not set 447# CONFIG_ATM is not set
439# CONFIG_BRIDGE is not set 448# CONFIG_BRIDGE is not set
440# CONFIG_VLAN_8021Q is not set 449# CONFIG_VLAN_8021Q is not set
@@ -444,11 +453,6 @@ CONFIG_SCTP_HMAC_MD5=y
444# CONFIG_ATALK is not set 453# CONFIG_ATALK is not set
445# CONFIG_X25 is not set 454# CONFIG_X25 is not set
446# CONFIG_LAPB is not set 455# CONFIG_LAPB is not set
447
448#
449# TIPC Configuration (EXPERIMENTAL)
450#
451# CONFIG_TIPC is not set
452CONFIG_NET_DIVERT=y 456CONFIG_NET_DIVERT=y
453# CONFIG_ECONET is not set 457# CONFIG_ECONET is not set
454# CONFIG_WAN_ROUTER is not set 458# CONFIG_WAN_ROUTER is not set
@@ -508,6 +512,9 @@ CONFIG_IEEE80211=m
508# CONFIG_IEEE80211_DEBUG is not set 512# CONFIG_IEEE80211_DEBUG is not set
509CONFIG_IEEE80211_CRYPT_WEP=m 513CONFIG_IEEE80211_CRYPT_WEP=m
510CONFIG_IEEE80211_CRYPT_CCMP=m 514CONFIG_IEEE80211_CRYPT_CCMP=m
515CONFIG_IEEE80211_SOFTMAC=m
516# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set
517CONFIG_WIRELESS_EXT=y
511 518
512# 519#
513# Device Drivers 520# Device Drivers
@@ -546,7 +553,7 @@ CONFIG_CONNECTOR=m
546# CONFIG_BLK_DEV_LOOP is not set 553# CONFIG_BLK_DEV_LOOP is not set
547# CONFIG_BLK_DEV_NBD is not set 554# CONFIG_BLK_DEV_NBD is not set
548# CONFIG_BLK_DEV_RAM is not set 555# CONFIG_BLK_DEV_RAM is not set
549CONFIG_BLK_DEV_RAM_COUNT=16 556# CONFIG_BLK_DEV_INITRD is not set
550CONFIG_CDROM_PKTCDVD=m 557CONFIG_CDROM_PKTCDVD=m
551CONFIG_CDROM_PKTCDVD_BUFFERS=8 558CONFIG_CDROM_PKTCDVD_BUFFERS=8
552# CONFIG_CDROM_PKTCDVD_WCACHE is not set 559# CONFIG_CDROM_PKTCDVD_WCACHE is not set
@@ -812,10 +819,6 @@ CONFIG_MAX_RAW_DEVS=256
812# 819#
813 820
814# 821#
815# Multimedia Capabilities Port drivers
816#
817
818#
819# Multimedia devices 822# Multimedia devices
820# 823#
821# CONFIG_VIDEO_DEV is not set 824# CONFIG_VIDEO_DEV is not set
@@ -857,6 +860,7 @@ CONFIG_LOGO_SGI_CLUT224=y
857# 860#
858# CONFIG_USB_ARCH_HAS_HCD is not set 861# CONFIG_USB_ARCH_HAS_HCD is not set
859# CONFIG_USB_ARCH_HAS_OHCI is not set 862# CONFIG_USB_ARCH_HAS_OHCI is not set
863# CONFIG_USB_ARCH_HAS_EHCI is not set
860 864
861# 865#
862# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 866# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
@@ -873,12 +877,30 @@ CONFIG_LOGO_SGI_CLUT224=y
873# CONFIG_MMC is not set 877# CONFIG_MMC is not set
874 878
875# 879#
880# LED devices
881#
882# CONFIG_NEW_LEDS is not set
883
884#
885# LED drivers
886#
887
888#
889# LED Triggers
890#
891
892#
876# InfiniBand support 893# InfiniBand support
877# 894#
878 895
879# 896#
880# SN Devices 897# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
898#
899
900#
901# Real Time Clock
881# 902#
903# CONFIG_RTC_CLASS is not set
882 904
883# 905#
884# File systems 906# File systems
@@ -944,7 +966,6 @@ CONFIG_SYSFS=y
944# CONFIG_TMPFS is not set 966# CONFIG_TMPFS is not set
945# CONFIG_HUGETLB_PAGE is not set 967# CONFIG_HUGETLB_PAGE is not set
946CONFIG_RAMFS=y 968CONFIG_RAMFS=y
947CONFIG_RELAYFS_FS=m
948# CONFIG_CONFIGFS_FS is not set 969# CONFIG_CONFIGFS_FS is not set
949 970
950# 971#
@@ -963,7 +984,6 @@ CONFIG_EFS_FS=m
963# CONFIG_QNX4FS_FS is not set 984# CONFIG_QNX4FS_FS is not set
964# CONFIG_SYSV_FS is not set 985# CONFIG_SYSV_FS is not set
965CONFIG_UFS_FS=m 986CONFIG_UFS_FS=m
966# CONFIG_UFS_FS_WRITE is not set
967 987
968# 988#
969# Network File Systems 989# Network File Systems
@@ -1078,6 +1098,7 @@ CONFIG_NLS_UTF8=m
1078# CONFIG_MAGIC_SYSRQ is not set 1098# CONFIG_MAGIC_SYSRQ is not set
1079# CONFIG_DEBUG_KERNEL is not set 1099# CONFIG_DEBUG_KERNEL is not set
1080CONFIG_LOG_BUF_SHIFT=14 1100CONFIG_LOG_BUF_SHIFT=14
1101# CONFIG_DEBUG_FS is not set
1081CONFIG_CROSSCOMPILE=y 1102CONFIG_CROSSCOMPILE=y
1082CONFIG_CMDLINE="" 1103CONFIG_CMDLINE=""
1083 1104
diff --git a/arch/mips/configs/ip27_defconfig b/arch/mips/configs/ip27_defconfig
index 8c40590737e1..f724b4b2ecf2 100644
--- a/arch/mips/configs/ip27_defconfig
+++ b/arch/mips/configs/ip27_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.16-rc4 3# Linux kernel version: 2.6.17-rc2
4# Tue Feb 21 13:44:31 2006 4# Mon Apr 24 14:51:04 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -70,6 +70,8 @@ CONFIG_NUMA=y
70# CONFIG_REPLICATE_KTEXT is not set 70# CONFIG_REPLICATE_KTEXT is not set
71# CONFIG_REPLICATE_EXHANDLERS is not set 71# CONFIG_REPLICATE_EXHANDLERS is not set
72CONFIG_RWSEM_GENERIC_SPINLOCK=y 72CONFIG_RWSEM_GENERIC_SPINLOCK=y
73CONFIG_GENERIC_FIND_NEXT_BIT=y
74CONFIG_GENERIC_HWEIGHT=y
73CONFIG_GENERIC_CALIBRATE_DELAY=y 75CONFIG_GENERIC_CALIBRATE_DELAY=y
74CONFIG_ARC=y 76CONFIG_ARC=y
75CONFIG_DMA_IP27=y 77CONFIG_DMA_IP27=y
@@ -123,6 +125,7 @@ CONFIG_CPU_HAS_SYNC=y
123CONFIG_GENERIC_HARDIRQS=y 125CONFIG_GENERIC_HARDIRQS=y
124CONFIG_GENERIC_IRQ_PROBE=y 126CONFIG_GENERIC_IRQ_PROBE=y
125CONFIG_CPU_SUPPORTS_HIGHMEM=y 127CONFIG_CPU_SUPPORTS_HIGHMEM=y
128CONFIG_NODES_SHIFT=6
126CONFIG_SELECT_MEMORY_MODEL=y 129CONFIG_SELECT_MEMORY_MODEL=y
127# CONFIG_FLATMEM_MANUAL is not set 130# CONFIG_FLATMEM_MANUAL is not set
128CONFIG_DISCONTIGMEM_MANUAL=y 131CONFIG_DISCONTIGMEM_MANUAL=y
@@ -162,6 +165,7 @@ CONFIG_SYSCTL=y
162CONFIG_IKCONFIG=y 165CONFIG_IKCONFIG=y
163CONFIG_IKCONFIG_PROC=y 166CONFIG_IKCONFIG_PROC=y
164CONFIG_CPUSETS=y 167CONFIG_CPUSETS=y
168CONFIG_RELAY=y
165CONFIG_INITRAMFS_SOURCE="" 169CONFIG_INITRAMFS_SOURCE=""
166# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 170# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
167CONFIG_EMBEDDED=y 171CONFIG_EMBEDDED=y
@@ -175,10 +179,6 @@ CONFIG_BASE_FULL=y
175CONFIG_FUTEX=y 179CONFIG_FUTEX=y
176CONFIG_EPOLL=y 180CONFIG_EPOLL=y
177CONFIG_SHMEM=y 181CONFIG_SHMEM=y
178CONFIG_CC_ALIGN_FUNCTIONS=0
179CONFIG_CC_ALIGN_LABELS=0
180CONFIG_CC_ALIGN_LOOPS=0
181CONFIG_CC_ALIGN_JUMPS=0
182CONFIG_SLAB=y 182CONFIG_SLAB=y
183# CONFIG_TINY_SHMEM is not set 183# CONFIG_TINY_SHMEM is not set
184CONFIG_BASE_SMALL=0 184CONFIG_BASE_SMALL=0
@@ -190,7 +190,6 @@ CONFIG_BASE_SMALL=0
190CONFIG_MODULES=y 190CONFIG_MODULES=y
191CONFIG_MODULE_UNLOAD=y 191CONFIG_MODULE_UNLOAD=y
192# CONFIG_MODULE_FORCE_UNLOAD is not set 192# CONFIG_MODULE_FORCE_UNLOAD is not set
193CONFIG_OBSOLETE_MODPARM=y
194# CONFIG_MODVERSIONS is not set 193# CONFIG_MODVERSIONS is not set
195CONFIG_MODULE_SRCVERSION_ALL=y 194CONFIG_MODULE_SRCVERSION_ALL=y
196CONFIG_KMOD=y 195CONFIG_KMOD=y
@@ -199,6 +198,7 @@ CONFIG_STOP_MACHINE=y
199# 198#
200# Block layer 199# Block layer
201# 200#
201# CONFIG_BLK_DEV_IO_TRACE is not set
202 202
203# 203#
204# IO Schedulers 204# IO Schedulers
@@ -219,7 +219,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
219CONFIG_HW_HAS_PCI=y 219CONFIG_HW_HAS_PCI=y
220CONFIG_PCI=y 220CONFIG_PCI=y
221CONFIG_PCI_DOMAINS=y 221CONFIG_PCI_DOMAINS=y
222CONFIG_PCI_LEGACY_PROC=y
223CONFIG_MMU=y 222CONFIG_MMU=y
224 223
225# 224#
@@ -237,6 +236,7 @@ CONFIG_MMU=y
237# 236#
238CONFIG_BINFMT_ELF=y 237CONFIG_BINFMT_ELF=y
239# CONFIG_BINFMT_MISC is not set 238# CONFIG_BINFMT_MISC is not set
239# CONFIG_BUILD_ELF64 is not set
240CONFIG_MIPS32_COMPAT=y 240CONFIG_MIPS32_COMPAT=y
241CONFIG_COMPAT=y 241CONFIG_COMPAT=y
242CONFIG_MIPS32_O32=y 242CONFIG_MIPS32_O32=y
@@ -274,12 +274,15 @@ CONFIG_IP_PNP=y
274# CONFIG_INET_AH is not set 274# CONFIG_INET_AH is not set
275# CONFIG_INET_ESP is not set 275# CONFIG_INET_ESP is not set
276# CONFIG_INET_IPCOMP is not set 276# CONFIG_INET_IPCOMP is not set
277CONFIG_INET_TUNNEL=m 277# CONFIG_INET_XFRM_TUNNEL is not set
278# CONFIG_INET_TUNNEL is not set
278CONFIG_INET_DIAG=y 279CONFIG_INET_DIAG=y
279CONFIG_INET_TCP_DIAG=y 280CONFIG_INET_TCP_DIAG=y
280# CONFIG_TCP_CONG_ADVANCED is not set 281# CONFIG_TCP_CONG_ADVANCED is not set
281CONFIG_TCP_CONG_BIC=y 282CONFIG_TCP_CONG_BIC=y
282# CONFIG_IPV6 is not set 283# CONFIG_IPV6 is not set
284# CONFIG_INET6_XFRM_TUNNEL is not set
285# CONFIG_INET6_TUNNEL is not set
283# CONFIG_NETFILTER is not set 286# CONFIG_NETFILTER is not set
284 287
285# 288#
@@ -363,6 +366,9 @@ CONFIG_IEEE80211=m
363# CONFIG_IEEE80211_DEBUG is not set 366# CONFIG_IEEE80211_DEBUG is not set
364CONFIG_IEEE80211_CRYPT_WEP=m 367CONFIG_IEEE80211_CRYPT_WEP=m
365CONFIG_IEEE80211_CRYPT_CCMP=m 368CONFIG_IEEE80211_CRYPT_CCMP=m
369CONFIG_IEEE80211_SOFTMAC=m
370# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set
371CONFIG_WIRELESS_EXT=y
366 372
367# 373#
368# Device Drivers 374# Device Drivers
@@ -407,7 +413,7 @@ CONFIG_BLK_DEV_CRYPTOLOOP=m
407# CONFIG_BLK_DEV_NBD is not set 413# CONFIG_BLK_DEV_NBD is not set
408# CONFIG_BLK_DEV_SX8 is not set 414# CONFIG_BLK_DEV_SX8 is not set
409# CONFIG_BLK_DEV_RAM is not set 415# CONFIG_BLK_DEV_RAM is not set
410CONFIG_BLK_DEV_RAM_COUNT=16 416# CONFIG_BLK_DEV_INITRD is not set
411CONFIG_CDROM_PKTCDVD=m 417CONFIG_CDROM_PKTCDVD=m
412CONFIG_CDROM_PKTCDVD_BUFFERS=8 418CONFIG_CDROM_PKTCDVD_BUFFERS=8
413# CONFIG_CDROM_PKTCDVD_WCACHE is not set 419# CONFIG_CDROM_PKTCDVD_WCACHE is not set
@@ -473,7 +479,6 @@ CONFIG_SCSI_SAS_ATTRS=m
473# CONFIG_SCSI_INIA100 is not set 479# CONFIG_SCSI_INIA100 is not set
474# CONFIG_SCSI_SYM53C8XX_2 is not set 480# CONFIG_SCSI_SYM53C8XX_2 is not set
475# CONFIG_SCSI_IPR is not set 481# CONFIG_SCSI_IPR is not set
476# CONFIG_SCSI_QLOGIC_FC is not set
477CONFIG_SCSI_QLOGIC_1280=y 482CONFIG_SCSI_QLOGIC_1280=y
478# CONFIG_SCSI_QLA_FC is not set 483# CONFIG_SCSI_QLA_FC is not set
479# CONFIG_SCSI_LPFC is not set 484# CONFIG_SCSI_LPFC is not set
@@ -491,6 +496,7 @@ CONFIG_MD_RAID0=y
491CONFIG_MD_RAID1=y 496CONFIG_MD_RAID1=y
492CONFIG_MD_RAID10=m 497CONFIG_MD_RAID10=m
493CONFIG_MD_RAID5=y 498CONFIG_MD_RAID5=y
499CONFIG_MD_RAID5_RESHAPE=y
494CONFIG_MD_RAID6=m 500CONFIG_MD_RAID6=m
495CONFIG_MD_MULTIPATH=m 501CONFIG_MD_MULTIPATH=m
496CONFIG_MD_FAULTY=m 502CONFIG_MD_FAULTY=m
@@ -654,6 +660,7 @@ CONFIG_SERIO_RAW=m
654# 660#
655CONFIG_SERIAL_8250=y 661CONFIG_SERIAL_8250=y
656CONFIG_SERIAL_8250_CONSOLE=y 662CONFIG_SERIAL_8250_CONSOLE=y
663CONFIG_SERIAL_8250_PCI=y
657CONFIG_SERIAL_8250_NR_UARTS=4 664CONFIG_SERIAL_8250_NR_UARTS=4
658CONFIG_SERIAL_8250_RUNTIME_UARTS=4 665CONFIG_SERIAL_8250_RUNTIME_UARTS=4
659CONFIG_SERIAL_8250_EXTENDED=y 666CONFIG_SERIAL_8250_EXTENDED=y
@@ -727,10 +734,6 @@ CONFIG_SGI_IP27_RTC=y
727# 734#
728 735
729# 736#
730# Multimedia Capabilities Port drivers
731#
732
733#
734# Multimedia devices 737# Multimedia devices
735# 738#
736# CONFIG_VIDEO_DEV is not set 739# CONFIG_VIDEO_DEV is not set
@@ -755,6 +758,7 @@ CONFIG_SGI_IP27_RTC=y
755# 758#
756CONFIG_USB_ARCH_HAS_HCD=y 759CONFIG_USB_ARCH_HAS_HCD=y
757CONFIG_USB_ARCH_HAS_OHCI=y 760CONFIG_USB_ARCH_HAS_OHCI=y
761CONFIG_USB_ARCH_HAS_EHCI=y
758# CONFIG_USB is not set 762# CONFIG_USB is not set
759 763
760# 764#
@@ -772,17 +776,31 @@ CONFIG_USB_ARCH_HAS_OHCI=y
772# CONFIG_MMC is not set 776# CONFIG_MMC is not set
773 777
774# 778#
779# LED devices
780#
781# CONFIG_NEW_LEDS is not set
782
783#
784# LED drivers
785#
786
787#
788# LED Triggers
789#
790
791#
775# InfiniBand support 792# InfiniBand support
776# 793#
777# CONFIG_INFINIBAND is not set 794# CONFIG_INFINIBAND is not set
778 795
779# 796#
780# SN Devices 797# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
781# 798#
782 799
783# 800#
784# EDAC - error detection and reporting (RAS) 801# Real Time Clock
785# 802#
803# CONFIG_RTC_CLASS is not set
786 804
787# 805#
788# File systems 806# File systems
@@ -840,7 +858,6 @@ CONFIG_SYSFS=y
840# CONFIG_TMPFS is not set 858# CONFIG_TMPFS is not set
841# CONFIG_HUGETLB_PAGE is not set 859# CONFIG_HUGETLB_PAGE is not set
842CONFIG_RAMFS=y 860CONFIG_RAMFS=y
843CONFIG_RELAYFS_FS=m
844# CONFIG_CONFIGFS_FS is not set 861# CONFIG_CONFIGFS_FS is not set
845 862
846# 863#
@@ -922,6 +939,7 @@ CONFIG_SGI_PARTITION=y
922# CONFIG_MAGIC_SYSRQ is not set 939# CONFIG_MAGIC_SYSRQ is not set
923# CONFIG_DEBUG_KERNEL is not set 940# CONFIG_DEBUG_KERNEL is not set
924CONFIG_LOG_BUF_SHIFT=15 941CONFIG_LOG_BUF_SHIFT=15
942# CONFIG_DEBUG_FS is not set
925CONFIG_CROSSCOMPILE=y 943CONFIG_CROSSCOMPILE=y
926CONFIG_CMDLINE="" 944CONFIG_CMDLINE=""
927 945
diff --git a/arch/mips/configs/ip32_defconfig b/arch/mips/configs/ip32_defconfig
index 7fdcaf51face..8f11d3565b2d 100644
--- a/arch/mips/configs/ip32_defconfig
+++ b/arch/mips/configs/ip32_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.16-rc1 3# Linux kernel version: 2.6.17-rc2
4# Fri Jan 27 15:40:09 2006 4# Mon Apr 24 14:51:05 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -64,6 +64,8 @@ CONFIG_SGI_IP32=y
64# CONFIG_TOSHIBA_RBTX4927 is not set 64# CONFIG_TOSHIBA_RBTX4927 is not set
65# CONFIG_TOSHIBA_RBTX4938 is not set 65# CONFIG_TOSHIBA_RBTX4938 is not set
66CONFIG_RWSEM_GENERIC_SPINLOCK=y 66CONFIG_RWSEM_GENERIC_SPINLOCK=y
67CONFIG_GENERIC_FIND_NEXT_BIT=y
68CONFIG_GENERIC_HWEIGHT=y
67CONFIG_GENERIC_CALIBRATE_DELAY=y 69CONFIG_GENERIC_CALIBRATE_DELAY=y
68CONFIG_ARC=y 70CONFIG_ARC=y
69CONFIG_DMA_IP32=y 71CONFIG_DMA_IP32=y
@@ -142,7 +144,6 @@ CONFIG_PREEMPT_VOLUNTARY=y
142# Code maturity level options 144# Code maturity level options
143# 145#
144CONFIG_EXPERIMENTAL=y 146CONFIG_EXPERIMENTAL=y
145CONFIG_CLEAN_COMPILE=y
146CONFIG_BROKEN_ON_SMP=y 147CONFIG_BROKEN_ON_SMP=y
147CONFIG_INIT_ENV_ARG_LIMIT=32 148CONFIG_INIT_ENV_ARG_LIMIT=32
148 149
@@ -159,6 +160,7 @@ CONFIG_BSD_PROCESS_ACCT=y
159CONFIG_SYSCTL=y 160CONFIG_SYSCTL=y
160# CONFIG_AUDIT is not set 161# CONFIG_AUDIT is not set
161# CONFIG_IKCONFIG is not set 162# CONFIG_IKCONFIG is not set
163CONFIG_RELAY=y
162CONFIG_INITRAMFS_SOURCE="" 164CONFIG_INITRAMFS_SOURCE=""
163# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 165# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
164CONFIG_EMBEDDED=y 166CONFIG_EMBEDDED=y
@@ -172,10 +174,6 @@ CONFIG_BASE_FULL=y
172CONFIG_FUTEX=y 174CONFIG_FUTEX=y
173CONFIG_EPOLL=y 175CONFIG_EPOLL=y
174CONFIG_SHMEM=y 176CONFIG_SHMEM=y
175CONFIG_CC_ALIGN_FUNCTIONS=0
176CONFIG_CC_ALIGN_LABELS=0
177CONFIG_CC_ALIGN_LOOPS=0
178CONFIG_CC_ALIGN_JUMPS=0
179CONFIG_SLAB=y 177CONFIG_SLAB=y
180# CONFIG_TINY_SHMEM is not set 178# CONFIG_TINY_SHMEM is not set
181CONFIG_BASE_SMALL=0 179CONFIG_BASE_SMALL=0
@@ -189,6 +187,7 @@ CONFIG_BASE_SMALL=0
189# 187#
190# Block layer 188# Block layer
191# 189#
190# CONFIG_BLK_DEV_IO_TRACE is not set
192 191
193# 192#
194# IO Schedulers 193# IO Schedulers
@@ -208,7 +207,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
208# 207#
209CONFIG_HW_HAS_PCI=y 208CONFIG_HW_HAS_PCI=y
210CONFIG_PCI=y 209CONFIG_PCI=y
211CONFIG_PCI_LEGACY_PROC=y
212CONFIG_MMU=y 210CONFIG_MMU=y
213 211
214# 212#
@@ -226,6 +224,7 @@ CONFIG_MMU=y
226# 224#
227CONFIG_BINFMT_ELF=y 225CONFIG_BINFMT_ELF=y
228CONFIG_BINFMT_MISC=y 226CONFIG_BINFMT_MISC=y
227# CONFIG_BUILD_ELF64 is not set
229CONFIG_MIPS32_COMPAT=y 228CONFIG_MIPS32_COMPAT=y
230CONFIG_COMPAT=y 229CONFIG_COMPAT=y
231CONFIG_MIPS32_O32=y 230CONFIG_MIPS32_O32=y
@@ -240,6 +239,7 @@ CONFIG_NET=y
240# 239#
241# Networking options 240# Networking options
242# 241#
242# CONFIG_NETDEBUG is not set
243CONFIG_PACKET=y 243CONFIG_PACKET=y
244CONFIG_PACKET_MMAP=y 244CONFIG_PACKET_MMAP=y
245CONFIG_UNIX=y 245CONFIG_UNIX=y
@@ -261,12 +261,15 @@ CONFIG_IP_PNP_BOOTP=y
261# CONFIG_INET_AH is not set 261# CONFIG_INET_AH is not set
262# CONFIG_INET_ESP is not set 262# CONFIG_INET_ESP is not set
263# CONFIG_INET_IPCOMP is not set 263# CONFIG_INET_IPCOMP is not set
264CONFIG_INET_TUNNEL=y 264# CONFIG_INET_XFRM_TUNNEL is not set
265# CONFIG_INET_TUNNEL is not set
265CONFIG_INET_DIAG=y 266CONFIG_INET_DIAG=y
266CONFIG_INET_TCP_DIAG=y 267CONFIG_INET_TCP_DIAG=y
267# CONFIG_TCP_CONG_ADVANCED is not set 268# CONFIG_TCP_CONG_ADVANCED is not set
268CONFIG_TCP_CONG_BIC=y 269CONFIG_TCP_CONG_BIC=y
269# CONFIG_IPV6 is not set 270# CONFIG_IPV6 is not set
271# CONFIG_INET6_XFRM_TUNNEL is not set
272# CONFIG_INET6_TUNNEL is not set
270# CONFIG_NETFILTER is not set 273# CONFIG_NETFILTER is not set
271 274
272# 275#
@@ -278,6 +281,11 @@ CONFIG_TCP_CONG_BIC=y
278# SCTP Configuration (EXPERIMENTAL) 281# SCTP Configuration (EXPERIMENTAL)
279# 282#
280# CONFIG_IP_SCTP is not set 283# CONFIG_IP_SCTP is not set
284
285#
286# TIPC Configuration (EXPERIMENTAL)
287#
288# CONFIG_TIPC is not set
281# CONFIG_ATM is not set 289# CONFIG_ATM is not set
282# CONFIG_BRIDGE is not set 290# CONFIG_BRIDGE is not set
283# CONFIG_VLAN_8021Q is not set 291# CONFIG_VLAN_8021Q is not set
@@ -287,11 +295,6 @@ CONFIG_TCP_CONG_BIC=y
287# CONFIG_ATALK is not set 295# CONFIG_ATALK is not set
288# CONFIG_X25 is not set 296# CONFIG_X25 is not set
289# CONFIG_LAPB is not set 297# CONFIG_LAPB is not set
290
291#
292# TIPC Configuration (EXPERIMENTAL)
293#
294# CONFIG_TIPC is not set
295# CONFIG_NET_DIVERT is not set 298# CONFIG_NET_DIVERT is not set
296# CONFIG_ECONET is not set 299# CONFIG_ECONET is not set
297# CONFIG_WAN_ROUTER is not set 300# CONFIG_WAN_ROUTER is not set
@@ -312,6 +315,9 @@ CONFIG_IEEE80211=y
312# CONFIG_IEEE80211_DEBUG is not set 315# CONFIG_IEEE80211_DEBUG is not set
313CONFIG_IEEE80211_CRYPT_WEP=y 316CONFIG_IEEE80211_CRYPT_WEP=y
314CONFIG_IEEE80211_CRYPT_CCMP=y 317CONFIG_IEEE80211_CRYPT_CCMP=y
318CONFIG_IEEE80211_SOFTMAC=y
319# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set
320CONFIG_WIRELESS_EXT=y
315 321
316# 322#
317# Device Drivers 323# Device Drivers
@@ -357,7 +363,7 @@ CONFIG_BLK_DEV_LOOP=y
357# CONFIG_BLK_DEV_NBD is not set 363# CONFIG_BLK_DEV_NBD is not set
358# CONFIG_BLK_DEV_SX8 is not set 364# CONFIG_BLK_DEV_SX8 is not set
359# CONFIG_BLK_DEV_RAM is not set 365# CONFIG_BLK_DEV_RAM is not set
360CONFIG_BLK_DEV_RAM_COUNT=16 366# CONFIG_BLK_DEV_INITRD is not set
361CONFIG_CDROM_PKTCDVD=y 367CONFIG_CDROM_PKTCDVD=y
362CONFIG_CDROM_PKTCDVD_BUFFERS=8 368CONFIG_CDROM_PKTCDVD_BUFFERS=8
363# CONFIG_CDROM_PKTCDVD_WCACHE is not set 369# CONFIG_CDROM_PKTCDVD_WCACHE is not set
@@ -428,7 +434,6 @@ CONFIG_AIC7XXX_REG_PRETTY_PRINT=y
428# CONFIG_SCSI_INIA100 is not set 434# CONFIG_SCSI_INIA100 is not set
429# CONFIG_SCSI_SYM53C8XX_2 is not set 435# CONFIG_SCSI_SYM53C8XX_2 is not set
430# CONFIG_SCSI_IPR is not set 436# CONFIG_SCSI_IPR is not set
431# CONFIG_SCSI_QLOGIC_FC is not set
432# CONFIG_SCSI_QLOGIC_1280 is not set 437# CONFIG_SCSI_QLOGIC_1280 is not set
433# CONFIG_SCSI_QLA_FC is not set 438# CONFIG_SCSI_QLA_FC is not set
434# CONFIG_SCSI_LPFC is not set 439# CONFIG_SCSI_LPFC is not set
@@ -615,6 +620,7 @@ CONFIG_HW_CONSOLE=y
615# 620#
616CONFIG_SERIAL_8250=y 621CONFIG_SERIAL_8250=y
617CONFIG_SERIAL_8250_CONSOLE=y 622CONFIG_SERIAL_8250_CONSOLE=y
623CONFIG_SERIAL_8250_PCI=y
618CONFIG_SERIAL_8250_NR_UARTS=4 624CONFIG_SERIAL_8250_NR_UARTS=4
619CONFIG_SERIAL_8250_RUNTIME_UARTS=4 625CONFIG_SERIAL_8250_RUNTIME_UARTS=4
620# CONFIG_SERIAL_8250_EXTENDED is not set 626# CONFIG_SERIAL_8250_EXTENDED is not set
@@ -624,6 +630,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4
624# 630#
625CONFIG_SERIAL_CORE=y 631CONFIG_SERIAL_CORE=y
626CONFIG_SERIAL_CORE_CONSOLE=y 632CONFIG_SERIAL_CORE_CONSOLE=y
633# CONFIG_SERIAL_JSM is not set
627CONFIG_UNIX98_PTYS=y 634CONFIG_UNIX98_PTYS=y
628CONFIG_LEGACY_PTYS=y 635CONFIG_LEGACY_PTYS=y
629CONFIG_LEGACY_PTY_COUNT=256 636CONFIG_LEGACY_PTY_COUNT=256
@@ -682,10 +689,6 @@ CONFIG_LEGACY_PTY_COUNT=256
682# 689#
683 690
684# 691#
685# Multimedia Capabilities Port drivers
686#
687
688#
689# Multimedia devices 692# Multimedia devices
690# 693#
691# CONFIG_VIDEO_DEV is not set 694# CONFIG_VIDEO_DEV is not set
@@ -716,6 +719,7 @@ CONFIG_DUMMY_CONSOLE=y
716# 719#
717CONFIG_USB_ARCH_HAS_HCD=y 720CONFIG_USB_ARCH_HAS_HCD=y
718CONFIG_USB_ARCH_HAS_OHCI=y 721CONFIG_USB_ARCH_HAS_OHCI=y
722CONFIG_USB_ARCH_HAS_EHCI=y
719# CONFIG_USB is not set 723# CONFIG_USB is not set
720 724
721# 725#
@@ -733,13 +737,31 @@ CONFIG_USB_ARCH_HAS_OHCI=y
733# CONFIG_MMC is not set 737# CONFIG_MMC is not set
734 738
735# 739#
740# LED devices
741#
742# CONFIG_NEW_LEDS is not set
743
744#
745# LED drivers
746#
747
748#
749# LED Triggers
750#
751
752#
736# InfiniBand support 753# InfiniBand support
737# 754#
738# CONFIG_INFINIBAND is not set 755# CONFIG_INFINIBAND is not set
739 756
740# 757#
741# SN Devices 758# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
759#
760
761#
762# Real Time Clock
742# 763#
764# CONFIG_RTC_CLASS is not set
743 765
744# 766#
745# File systems 767# File systems
@@ -784,7 +806,6 @@ CONFIG_SYSFS=y
784CONFIG_TMPFS=y 806CONFIG_TMPFS=y
785# CONFIG_HUGETLB_PAGE is not set 807# CONFIG_HUGETLB_PAGE is not set
786CONFIG_RAMFS=y 808CONFIG_RAMFS=y
787CONFIG_RELAYFS_FS=y
788# CONFIG_CONFIGFS_FS is not set 809# CONFIG_CONFIGFS_FS is not set
789 810
790# 811#
@@ -861,6 +882,8 @@ CONFIG_SGI_PARTITION=y
861# CONFIG_MAGIC_SYSRQ is not set 882# CONFIG_MAGIC_SYSRQ is not set
862# CONFIG_DEBUG_KERNEL is not set 883# CONFIG_DEBUG_KERNEL is not set
863CONFIG_LOG_BUF_SHIFT=14 884CONFIG_LOG_BUF_SHIFT=14
885# CONFIG_DEBUG_FS is not set
886# CONFIG_UNWIND_INFO is not set
864CONFIG_CROSSCOMPILE=y 887CONFIG_CROSSCOMPILE=y
865CONFIG_CMDLINE="" 888CONFIG_CMDLINE=""
866 889
diff --git a/arch/mips/configs/it8172_defconfig b/arch/mips/configs/it8172_defconfig
index c716996d9eca..757adf23853d 100644
--- a/arch/mips/configs/it8172_defconfig
+++ b/arch/mips/configs/it8172_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.16-rc1 3# Linux kernel version: 2.6.17-rc2
4# Fri Jan 27 15:40:10 2006 4# Mon Apr 24 14:51:05 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -65,6 +65,8 @@ CONFIG_MIPS_ITE8172=y
65# CONFIG_TOSHIBA_RBTX4938 is not set 65# CONFIG_TOSHIBA_RBTX4938 is not set
66# CONFIG_IT8172_REVC is not set 66# CONFIG_IT8172_REVC is not set
67CONFIG_RWSEM_GENERIC_SPINLOCK=y 67CONFIG_RWSEM_GENERIC_SPINLOCK=y
68CONFIG_GENERIC_FIND_NEXT_BIT=y
69CONFIG_GENERIC_HWEIGHT=y
68CONFIG_GENERIC_CALIBRATE_DELAY=y 70CONFIG_GENERIC_CALIBRATE_DELAY=y
69CONFIG_DMA_NONCOHERENT=y 71CONFIG_DMA_NONCOHERENT=y
70CONFIG_DMA_NEED_PCI_MAP_STATE=y 72CONFIG_DMA_NEED_PCI_MAP_STATE=y
@@ -115,7 +117,6 @@ CONFIG_PAGE_SIZE_4KB=y
115# CONFIG_PAGE_SIZE_16KB is not set 117# CONFIG_PAGE_SIZE_16KB is not set
116# CONFIG_PAGE_SIZE_64KB is not set 118# CONFIG_PAGE_SIZE_64KB is not set
117# CONFIG_MIPS_MT is not set 119# CONFIG_MIPS_MT is not set
118# CONFIG_CPU_ADVANCED is not set
119CONFIG_CPU_HAS_LLSC=y 120CONFIG_CPU_HAS_LLSC=y
120CONFIG_CPU_HAS_SYNC=y 121CONFIG_CPU_HAS_SYNC=y
121CONFIG_GENERIC_HARDIRQS=y 122CONFIG_GENERIC_HARDIRQS=y
@@ -137,7 +138,6 @@ CONFIG_PREEMPT_NONE=y
137# Code maturity level options 138# Code maturity level options
138# 139#
139CONFIG_EXPERIMENTAL=y 140CONFIG_EXPERIMENTAL=y
140CONFIG_CLEAN_COMPILE=y
141CONFIG_BROKEN_ON_SMP=y 141CONFIG_BROKEN_ON_SMP=y
142CONFIG_INIT_ENV_ARG_LIMIT=32 142CONFIG_INIT_ENV_ARG_LIMIT=32
143 143
@@ -154,6 +154,7 @@ CONFIG_BSD_PROCESS_ACCT=y
154CONFIG_SYSCTL=y 154CONFIG_SYSCTL=y
155# CONFIG_AUDIT is not set 155# CONFIG_AUDIT is not set
156# CONFIG_IKCONFIG is not set 156# CONFIG_IKCONFIG is not set
157CONFIG_RELAY=y
157CONFIG_INITRAMFS_SOURCE="" 158CONFIG_INITRAMFS_SOURCE=""
158# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 159# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
159CONFIG_EMBEDDED=y 160CONFIG_EMBEDDED=y
@@ -167,10 +168,6 @@ CONFIG_BASE_FULL=y
167CONFIG_FUTEX=y 168CONFIG_FUTEX=y
168CONFIG_EPOLL=y 169CONFIG_EPOLL=y
169CONFIG_SHMEM=y 170CONFIG_SHMEM=y
170CONFIG_CC_ALIGN_FUNCTIONS=0
171CONFIG_CC_ALIGN_LABELS=0
172CONFIG_CC_ALIGN_LOOPS=0
173CONFIG_CC_ALIGN_JUMPS=0
174CONFIG_SLAB=y 171CONFIG_SLAB=y
175# CONFIG_TINY_SHMEM is not set 172# CONFIG_TINY_SHMEM is not set
176CONFIG_BASE_SMALL=0 173CONFIG_BASE_SMALL=0
@@ -183,7 +180,6 @@ CONFIG_OBSOLETE_INTERMODULE=y
183CONFIG_MODULES=y 180CONFIG_MODULES=y
184CONFIG_MODULE_UNLOAD=y 181CONFIG_MODULE_UNLOAD=y
185# CONFIG_MODULE_FORCE_UNLOAD is not set 182# CONFIG_MODULE_FORCE_UNLOAD is not set
186CONFIG_OBSOLETE_MODPARM=y
187CONFIG_MODVERSIONS=y 183CONFIG_MODVERSIONS=y
188CONFIG_MODULE_SRCVERSION_ALL=y 184CONFIG_MODULE_SRCVERSION_ALL=y
189CONFIG_KMOD=y 185CONFIG_KMOD=y
@@ -192,6 +188,8 @@ CONFIG_KMOD=y
192# Block layer 188# Block layer
193# 189#
194# CONFIG_LBD is not set 190# CONFIG_LBD is not set
191# CONFIG_BLK_DEV_IO_TRACE is not set
192# CONFIG_LSF is not set
195 193
196# 194#
197# IO Schedulers 195# IO Schedulers
@@ -237,6 +235,7 @@ CONFIG_NET=y
237# 235#
238# Networking options 236# Networking options
239# 237#
238# CONFIG_NETDEBUG is not set
240CONFIG_PACKET=y 239CONFIG_PACKET=y
241CONFIG_PACKET_MMAP=y 240CONFIG_PACKET_MMAP=y
242CONFIG_UNIX=y 241CONFIG_UNIX=y
@@ -258,12 +257,15 @@ CONFIG_IP_PNP_BOOTP=y
258# CONFIG_INET_AH is not set 257# CONFIG_INET_AH is not set
259# CONFIG_INET_ESP is not set 258# CONFIG_INET_ESP is not set
260# CONFIG_INET_IPCOMP is not set 259# CONFIG_INET_IPCOMP is not set
261CONFIG_INET_TUNNEL=m 260# CONFIG_INET_XFRM_TUNNEL is not set
261# CONFIG_INET_TUNNEL is not set
262CONFIG_INET_DIAG=y 262CONFIG_INET_DIAG=y
263CONFIG_INET_TCP_DIAG=y 263CONFIG_INET_TCP_DIAG=y
264# CONFIG_TCP_CONG_ADVANCED is not set 264# CONFIG_TCP_CONG_ADVANCED is not set
265CONFIG_TCP_CONG_BIC=y 265CONFIG_TCP_CONG_BIC=y
266# CONFIG_IPV6 is not set 266# CONFIG_IPV6 is not set
267# CONFIG_INET6_XFRM_TUNNEL is not set
268# CONFIG_INET6_TUNNEL is not set
267# CONFIG_NETFILTER is not set 269# CONFIG_NETFILTER is not set
268 270
269# 271#
@@ -275,6 +277,11 @@ CONFIG_TCP_CONG_BIC=y
275# SCTP Configuration (EXPERIMENTAL) 277# SCTP Configuration (EXPERIMENTAL)
276# 278#
277# CONFIG_IP_SCTP is not set 279# CONFIG_IP_SCTP is not set
280
281#
282# TIPC Configuration (EXPERIMENTAL)
283#
284# CONFIG_TIPC is not set
278# CONFIG_ATM is not set 285# CONFIG_ATM is not set
279# CONFIG_BRIDGE is not set 286# CONFIG_BRIDGE is not set
280# CONFIG_VLAN_8021Q is not set 287# CONFIG_VLAN_8021Q is not set
@@ -284,11 +291,6 @@ CONFIG_TCP_CONG_BIC=y
284# CONFIG_ATALK is not set 291# CONFIG_ATALK is not set
285# CONFIG_X25 is not set 292# CONFIG_X25 is not set
286# CONFIG_LAPB is not set 293# CONFIG_LAPB is not set
287
288#
289# TIPC Configuration (EXPERIMENTAL)
290#
291# CONFIG_TIPC is not set
292# CONFIG_NET_DIVERT is not set 294# CONFIG_NET_DIVERT is not set
293# CONFIG_ECONET is not set 295# CONFIG_ECONET is not set
294# CONFIG_WAN_ROUTER is not set 296# CONFIG_WAN_ROUTER is not set
@@ -309,6 +311,9 @@ CONFIG_IEEE80211=m
309# CONFIG_IEEE80211_DEBUG is not set 311# CONFIG_IEEE80211_DEBUG is not set
310CONFIG_IEEE80211_CRYPT_WEP=m 312CONFIG_IEEE80211_CRYPT_WEP=m
311CONFIG_IEEE80211_CRYPT_CCMP=m 313CONFIG_IEEE80211_CRYPT_CCMP=m
314CONFIG_IEEE80211_SOFTMAC=m
315# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set
316CONFIG_WIRELESS_EXT=y
312 317
313# 318#
314# Device Drivers 319# Device Drivers
@@ -387,7 +392,6 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=2
387# CONFIG_MTD_SLRAM is not set 392# CONFIG_MTD_SLRAM is not set
388# CONFIG_MTD_PHRAM is not set 393# CONFIG_MTD_PHRAM is not set
389# CONFIG_MTD_MTDRAM is not set 394# CONFIG_MTD_MTDRAM is not set
390# CONFIG_MTD_BLKMTD is not set
391# CONFIG_MTD_BLOCK2MTD is not set 395# CONFIG_MTD_BLOCK2MTD is not set
392 396
393# 397#
@@ -424,7 +428,7 @@ CONFIG_BLK_DEV_LOOP=y
424# CONFIG_BLK_DEV_CRYPTOLOOP is not set 428# CONFIG_BLK_DEV_CRYPTOLOOP is not set
425# CONFIG_BLK_DEV_NBD is not set 429# CONFIG_BLK_DEV_NBD is not set
426# CONFIG_BLK_DEV_RAM is not set 430# CONFIG_BLK_DEV_RAM is not set
427CONFIG_BLK_DEV_RAM_COUNT=16 431# CONFIG_BLK_DEV_INITRD is not set
428CONFIG_CDROM_PKTCDVD=m 432CONFIG_CDROM_PKTCDVD=m
429CONFIG_CDROM_PKTCDVD_BUFFERS=8 433CONFIG_CDROM_PKTCDVD_BUFFERS=8
430# CONFIG_CDROM_PKTCDVD_WCACHE is not set 434# CONFIG_CDROM_PKTCDVD_WCACHE is not set
@@ -666,10 +670,6 @@ CONFIG_LEGACY_PTY_COUNT=256
666# 670#
667 671
668# 672#
669# Multimedia Capabilities Port drivers
670#
671
672#
673# Multimedia devices 673# Multimedia devices
674# 674#
675# CONFIG_VIDEO_DEV is not set 675# CONFIG_VIDEO_DEV is not set
@@ -704,7 +704,6 @@ CONFIG_SOUND=y
704# Open Sound System 704# Open Sound System
705# 705#
706CONFIG_SOUND_PRIME=y 706CONFIG_SOUND_PRIME=y
707# CONFIG_OBSOLETE_OSS_DRIVER is not set
708CONFIG_SOUND_IT8172=y 707CONFIG_SOUND_IT8172=y
709# CONFIG_SOUND_MSNDCLAS is not set 708# CONFIG_SOUND_MSNDCLAS is not set
710# CONFIG_SOUND_MSNDPIN is not set 709# CONFIG_SOUND_MSNDPIN is not set
@@ -714,6 +713,7 @@ CONFIG_SOUND_IT8172=y
714# 713#
715# CONFIG_USB_ARCH_HAS_HCD is not set 714# CONFIG_USB_ARCH_HAS_HCD is not set
716# CONFIG_USB_ARCH_HAS_OHCI is not set 715# CONFIG_USB_ARCH_HAS_OHCI is not set
716# CONFIG_USB_ARCH_HAS_EHCI is not set
717 717
718# 718#
719# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 719# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
@@ -730,12 +730,30 @@ CONFIG_SOUND_IT8172=y
730# CONFIG_MMC is not set 730# CONFIG_MMC is not set
731 731
732# 732#
733# LED devices
734#
735# CONFIG_NEW_LEDS is not set
736
737#
738# LED drivers
739#
740
741#
742# LED Triggers
743#
744
745#
733# InfiniBand support 746# InfiniBand support
734# 747#
735 748
736# 749#
737# SN Devices 750# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
751#
752
753#
754# Real Time Clock
738# 755#
756# CONFIG_RTC_CLASS is not set
739 757
740# 758#
741# File systems 759# File systems
@@ -780,7 +798,6 @@ CONFIG_SYSFS=y
780# CONFIG_TMPFS is not set 798# CONFIG_TMPFS is not set
781# CONFIG_HUGETLB_PAGE is not set 799# CONFIG_HUGETLB_PAGE is not set
782CONFIG_RAMFS=y 800CONFIG_RAMFS=y
783CONFIG_RELAYFS_FS=m
784# CONFIG_CONFIGFS_FS is not set 801# CONFIG_CONFIGFS_FS is not set
785 802
786# 803#
@@ -846,6 +863,7 @@ CONFIG_MSDOS_PARTITION=y
846# CONFIG_MAGIC_SYSRQ is not set 863# CONFIG_MAGIC_SYSRQ is not set
847# CONFIG_DEBUG_KERNEL is not set 864# CONFIG_DEBUG_KERNEL is not set
848CONFIG_LOG_BUF_SHIFT=14 865CONFIG_LOG_BUF_SHIFT=14
866# CONFIG_DEBUG_FS is not set
849CONFIG_CROSSCOMPILE=y 867CONFIG_CROSSCOMPILE=y
850CONFIG_CMDLINE="" 868CONFIG_CMDLINE=""
851 869
diff --git a/arch/mips/configs/ivr_defconfig b/arch/mips/configs/ivr_defconfig
index a8376d125e11..021761a8a237 100644
--- a/arch/mips/configs/ivr_defconfig
+++ b/arch/mips/configs/ivr_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.16-rc1 3# Linux kernel version: 2.6.17-rc2
4# Fri Jan 27 15:40:11 2006 4# Mon Apr 24 14:51:06 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -64,6 +64,8 @@ CONFIG_MIPS_IVR=y
64# CONFIG_TOSHIBA_RBTX4927 is not set 64# CONFIG_TOSHIBA_RBTX4927 is not set
65# CONFIG_TOSHIBA_RBTX4938 is not set 65# CONFIG_TOSHIBA_RBTX4938 is not set
66CONFIG_RWSEM_GENERIC_SPINLOCK=y 66CONFIG_RWSEM_GENERIC_SPINLOCK=y
67CONFIG_GENERIC_FIND_NEXT_BIT=y
68CONFIG_GENERIC_HWEIGHT=y
67CONFIG_GENERIC_CALIBRATE_DELAY=y 69CONFIG_GENERIC_CALIBRATE_DELAY=y
68CONFIG_DMA_NONCOHERENT=y 70CONFIG_DMA_NONCOHERENT=y
69CONFIG_DMA_NEED_PCI_MAP_STATE=y 71CONFIG_DMA_NEED_PCI_MAP_STATE=y
@@ -112,7 +114,6 @@ CONFIG_PAGE_SIZE_4KB=y
112# CONFIG_PAGE_SIZE_16KB is not set 114# CONFIG_PAGE_SIZE_16KB is not set
113# CONFIG_PAGE_SIZE_64KB is not set 115# CONFIG_PAGE_SIZE_64KB is not set
114# CONFIG_MIPS_MT is not set 116# CONFIG_MIPS_MT is not set
115# CONFIG_CPU_ADVANCED is not set
116CONFIG_CPU_HAS_LLSC=y 117CONFIG_CPU_HAS_LLSC=y
117CONFIG_CPU_HAS_SYNC=y 118CONFIG_CPU_HAS_SYNC=y
118CONFIG_GENERIC_HARDIRQS=y 119CONFIG_GENERIC_HARDIRQS=y
@@ -134,7 +135,6 @@ CONFIG_PREEMPT_NONE=y
134# Code maturity level options 135# Code maturity level options
135# 136#
136CONFIG_EXPERIMENTAL=y 137CONFIG_EXPERIMENTAL=y
137CONFIG_CLEAN_COMPILE=y
138CONFIG_BROKEN_ON_SMP=y 138CONFIG_BROKEN_ON_SMP=y
139CONFIG_INIT_ENV_ARG_LIMIT=32 139CONFIG_INIT_ENV_ARG_LIMIT=32
140 140
@@ -151,6 +151,7 @@ CONFIG_BSD_PROCESS_ACCT=y
151CONFIG_SYSCTL=y 151CONFIG_SYSCTL=y
152# CONFIG_AUDIT is not set 152# CONFIG_AUDIT is not set
153# CONFIG_IKCONFIG is not set 153# CONFIG_IKCONFIG is not set
154CONFIG_RELAY=y
154CONFIG_INITRAMFS_SOURCE="" 155CONFIG_INITRAMFS_SOURCE=""
155# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 156# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
156CONFIG_EMBEDDED=y 157CONFIG_EMBEDDED=y
@@ -164,10 +165,6 @@ CONFIG_BASE_FULL=y
164CONFIG_FUTEX=y 165CONFIG_FUTEX=y
165CONFIG_EPOLL=y 166CONFIG_EPOLL=y
166CONFIG_SHMEM=y 167CONFIG_SHMEM=y
167CONFIG_CC_ALIGN_FUNCTIONS=0
168CONFIG_CC_ALIGN_LABELS=0
169CONFIG_CC_ALIGN_LOOPS=0
170CONFIG_CC_ALIGN_JUMPS=0
171CONFIG_SLAB=y 168CONFIG_SLAB=y
172# CONFIG_TINY_SHMEM is not set 169# CONFIG_TINY_SHMEM is not set
173CONFIG_BASE_SMALL=0 170CONFIG_BASE_SMALL=0
@@ -179,7 +176,6 @@ CONFIG_BASE_SMALL=0
179CONFIG_MODULES=y 176CONFIG_MODULES=y
180CONFIG_MODULE_UNLOAD=y 177CONFIG_MODULE_UNLOAD=y
181# CONFIG_MODULE_FORCE_UNLOAD is not set 178# CONFIG_MODULE_FORCE_UNLOAD is not set
182CONFIG_OBSOLETE_MODPARM=y
183CONFIG_MODVERSIONS=y 179CONFIG_MODVERSIONS=y
184CONFIG_MODULE_SRCVERSION_ALL=y 180CONFIG_MODULE_SRCVERSION_ALL=y
185CONFIG_KMOD=y 181CONFIG_KMOD=y
@@ -188,6 +184,8 @@ CONFIG_KMOD=y
188# Block layer 184# Block layer
189# 185#
190# CONFIG_LBD is not set 186# CONFIG_LBD is not set
187# CONFIG_BLK_DEV_IO_TRACE is not set
188# CONFIG_LSF is not set
191 189
192# 190#
193# IO Schedulers 191# IO Schedulers
@@ -207,7 +205,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
207# 205#
208CONFIG_HW_HAS_PCI=y 206CONFIG_HW_HAS_PCI=y
209CONFIG_PCI=y 207CONFIG_PCI=y
210CONFIG_PCI_LEGACY_PROC=y
211CONFIG_MMU=y 208CONFIG_MMU=y
212 209
213# 210#
@@ -235,6 +232,7 @@ CONFIG_NET=y
235# 232#
236# Networking options 233# Networking options
237# 234#
235# CONFIG_NETDEBUG is not set
238CONFIG_PACKET=y 236CONFIG_PACKET=y
239CONFIG_PACKET_MMAP=y 237CONFIG_PACKET_MMAP=y
240CONFIG_UNIX=y 238CONFIG_UNIX=y
@@ -256,12 +254,15 @@ CONFIG_IP_PNP_BOOTP=y
256# CONFIG_INET_AH is not set 254# CONFIG_INET_AH is not set
257# CONFIG_INET_ESP is not set 255# CONFIG_INET_ESP is not set
258# CONFIG_INET_IPCOMP is not set 256# CONFIG_INET_IPCOMP is not set
259CONFIG_INET_TUNNEL=m 257# CONFIG_INET_XFRM_TUNNEL is not set
258# CONFIG_INET_TUNNEL is not set
260CONFIG_INET_DIAG=y 259CONFIG_INET_DIAG=y
261CONFIG_INET_TCP_DIAG=y 260CONFIG_INET_TCP_DIAG=y
262# CONFIG_TCP_CONG_ADVANCED is not set 261# CONFIG_TCP_CONG_ADVANCED is not set
263CONFIG_TCP_CONG_BIC=y 262CONFIG_TCP_CONG_BIC=y
264# CONFIG_IPV6 is not set 263# CONFIG_IPV6 is not set
264# CONFIG_INET6_XFRM_TUNNEL is not set
265# CONFIG_INET6_TUNNEL is not set
265# CONFIG_NETFILTER is not set 266# CONFIG_NETFILTER is not set
266 267
267# 268#
@@ -273,6 +274,11 @@ CONFIG_TCP_CONG_BIC=y
273# SCTP Configuration (EXPERIMENTAL) 274# SCTP Configuration (EXPERIMENTAL)
274# 275#
275# CONFIG_IP_SCTP is not set 276# CONFIG_IP_SCTP is not set
277
278#
279# TIPC Configuration (EXPERIMENTAL)
280#
281# CONFIG_TIPC is not set
276# CONFIG_ATM is not set 282# CONFIG_ATM is not set
277# CONFIG_BRIDGE is not set 283# CONFIG_BRIDGE is not set
278# CONFIG_VLAN_8021Q is not set 284# CONFIG_VLAN_8021Q is not set
@@ -282,11 +288,6 @@ CONFIG_TCP_CONG_BIC=y
282# CONFIG_ATALK is not set 288# CONFIG_ATALK is not set
283# CONFIG_X25 is not set 289# CONFIG_X25 is not set
284# CONFIG_LAPB is not set 290# CONFIG_LAPB is not set
285
286#
287# TIPC Configuration (EXPERIMENTAL)
288#
289# CONFIG_TIPC is not set
290# CONFIG_NET_DIVERT is not set 291# CONFIG_NET_DIVERT is not set
291# CONFIG_ECONET is not set 292# CONFIG_ECONET is not set
292# CONFIG_WAN_ROUTER is not set 293# CONFIG_WAN_ROUTER is not set
@@ -307,6 +308,9 @@ CONFIG_IEEE80211=m
307# CONFIG_IEEE80211_DEBUG is not set 308# CONFIG_IEEE80211_DEBUG is not set
308CONFIG_IEEE80211_CRYPT_WEP=m 309CONFIG_IEEE80211_CRYPT_WEP=m
309CONFIG_IEEE80211_CRYPT_CCMP=m 310CONFIG_IEEE80211_CRYPT_CCMP=m
311CONFIG_IEEE80211_SOFTMAC=m
312# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set
313CONFIG_WIRELESS_EXT=y
310 314
311# 315#
312# Device Drivers 316# Device Drivers
@@ -350,7 +354,7 @@ CONFIG_CONNECTOR=m
350# CONFIG_BLK_DEV_NBD is not set 354# CONFIG_BLK_DEV_NBD is not set
351# CONFIG_BLK_DEV_SX8 is not set 355# CONFIG_BLK_DEV_SX8 is not set
352# CONFIG_BLK_DEV_RAM is not set 356# CONFIG_BLK_DEV_RAM is not set
353CONFIG_BLK_DEV_RAM_COUNT=16 357# CONFIG_BLK_DEV_INITRD is not set
354CONFIG_CDROM_PKTCDVD=m 358CONFIG_CDROM_PKTCDVD=m
355CONFIG_CDROM_PKTCDVD_BUFFERS=8 359CONFIG_CDROM_PKTCDVD_BUFFERS=8
356# CONFIG_CDROM_PKTCDVD_WCACHE is not set 360# CONFIG_CDROM_PKTCDVD_WCACHE is not set
@@ -565,6 +569,7 @@ CONFIG_IT8172_SCR1=y
565# 569#
566CONFIG_SERIAL_8250=y 570CONFIG_SERIAL_8250=y
567CONFIG_SERIAL_8250_CONSOLE=y 571CONFIG_SERIAL_8250_CONSOLE=y
572CONFIG_SERIAL_8250_PCI=y
568CONFIG_SERIAL_8250_NR_UARTS=4 573CONFIG_SERIAL_8250_NR_UARTS=4
569CONFIG_SERIAL_8250_RUNTIME_UARTS=4 574CONFIG_SERIAL_8250_RUNTIME_UARTS=4
570# CONFIG_SERIAL_8250_EXTENDED is not set 575# CONFIG_SERIAL_8250_EXTENDED is not set
@@ -574,6 +579,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4
574# 579#
575CONFIG_SERIAL_CORE=y 580CONFIG_SERIAL_CORE=y
576CONFIG_SERIAL_CORE_CONSOLE=y 581CONFIG_SERIAL_CORE_CONSOLE=y
582# CONFIG_SERIAL_JSM is not set
577CONFIG_UNIX98_PTYS=y 583CONFIG_UNIX98_PTYS=y
578CONFIG_LEGACY_PTYS=y 584CONFIG_LEGACY_PTYS=y
579CONFIG_LEGACY_PTY_COUNT=256 585CONFIG_LEGACY_PTY_COUNT=256
@@ -631,10 +637,6 @@ CONFIG_RTC=y
631# 637#
632 638
633# 639#
634# Multimedia Capabilities Port drivers
635#
636
637#
638# Multimedia devices 640# Multimedia devices
639# 641#
640# CONFIG_VIDEO_DEV is not set 642# CONFIG_VIDEO_DEV is not set
@@ -665,6 +667,7 @@ CONFIG_DUMMY_CONSOLE=y
665# 667#
666CONFIG_USB_ARCH_HAS_HCD=y 668CONFIG_USB_ARCH_HAS_HCD=y
667CONFIG_USB_ARCH_HAS_OHCI=y 669CONFIG_USB_ARCH_HAS_OHCI=y
670CONFIG_USB_ARCH_HAS_EHCI=y
668# CONFIG_USB is not set 671# CONFIG_USB is not set
669 672
670# 673#
@@ -682,13 +685,31 @@ CONFIG_USB_ARCH_HAS_OHCI=y
682# CONFIG_MMC is not set 685# CONFIG_MMC is not set
683 686
684# 687#
688# LED devices
689#
690# CONFIG_NEW_LEDS is not set
691
692#
693# LED drivers
694#
695
696#
697# LED Triggers
698#
699
700#
685# InfiniBand support 701# InfiniBand support
686# 702#
687# CONFIG_INFINIBAND is not set 703# CONFIG_INFINIBAND is not set
688 704
689# 705#
690# SN Devices 706# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
707#
708
709#
710# Real Time Clock
691# 711#
712# CONFIG_RTC_CLASS is not set
692 713
693# 714#
694# File systems 715# File systems
@@ -733,7 +754,6 @@ CONFIG_SYSFS=y
733# CONFIG_TMPFS is not set 754# CONFIG_TMPFS is not set
734# CONFIG_HUGETLB_PAGE is not set 755# CONFIG_HUGETLB_PAGE is not set
735CONFIG_RAMFS=y 756CONFIG_RAMFS=y
736CONFIG_RELAYFS_FS=m
737# CONFIG_CONFIGFS_FS is not set 757# CONFIG_CONFIGFS_FS is not set
738 758
739# 759#
@@ -797,6 +817,7 @@ CONFIG_MSDOS_PARTITION=y
797# CONFIG_MAGIC_SYSRQ is not set 817# CONFIG_MAGIC_SYSRQ is not set
798# CONFIG_DEBUG_KERNEL is not set 818# CONFIG_DEBUG_KERNEL is not set
799CONFIG_LOG_BUF_SHIFT=14 819CONFIG_LOG_BUF_SHIFT=14
820# CONFIG_DEBUG_FS is not set
800CONFIG_CROSSCOMPILE=y 821CONFIG_CROSSCOMPILE=y
801CONFIG_CMDLINE="" 822CONFIG_CMDLINE=""
802 823
diff --git a/arch/mips/configs/jaguar-atx_defconfig b/arch/mips/configs/jaguar-atx_defconfig
index 316015379dbc..08f6c30b0abc 100644
--- a/arch/mips/configs/jaguar-atx_defconfig
+++ b/arch/mips/configs/jaguar-atx_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.16-rc1 3# Linux kernel version: 2.6.17-rc2
4# Fri Jan 27 15:40:12 2006 4# Mon Apr 24 14:51:06 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -65,6 +65,8 @@ CONFIG_MOMENCO_JAGUAR_ATX=y
65# CONFIG_TOSHIBA_RBTX4938 is not set 65# CONFIG_TOSHIBA_RBTX4938 is not set
66CONFIG_JAGUAR_DMALOW=y 66CONFIG_JAGUAR_DMALOW=y
67CONFIG_RWSEM_GENERIC_SPINLOCK=y 67CONFIG_RWSEM_GENERIC_SPINLOCK=y
68CONFIG_GENERIC_FIND_NEXT_BIT=y
69CONFIG_GENERIC_HWEIGHT=y
68CONFIG_GENERIC_CALIBRATE_DELAY=y 70CONFIG_GENERIC_CALIBRATE_DELAY=y
69CONFIG_DMA_NONCOHERENT=y 71CONFIG_DMA_NONCOHERENT=y
70CONFIG_DMA_NEED_PCI_MAP_STATE=y 72CONFIG_DMA_NEED_PCI_MAP_STATE=y
@@ -122,7 +124,6 @@ CONFIG_RM7000_CPU_SCACHE=y
122CONFIG_CPU_HAS_PREFETCH=y 124CONFIG_CPU_HAS_PREFETCH=y
123# CONFIG_MIPS_MT is not set 125# CONFIG_MIPS_MT is not set
124# CONFIG_64BIT_PHYS_ADDR is not set 126# CONFIG_64BIT_PHYS_ADDR is not set
125# CONFIG_CPU_ADVANCED is not set
126CONFIG_CPU_HAS_LLSC=y 127CONFIG_CPU_HAS_LLSC=y
127CONFIG_CPU_HAS_SYNC=y 128CONFIG_CPU_HAS_SYNC=y
128CONFIG_GENERIC_HARDIRQS=y 129CONFIG_GENERIC_HARDIRQS=y
@@ -144,7 +145,6 @@ CONFIG_PREEMPT_NONE=y
144# Code maturity level options 145# Code maturity level options
145# 146#
146# CONFIG_EXPERIMENTAL is not set 147# CONFIG_EXPERIMENTAL is not set
147CONFIG_CLEAN_COMPILE=y
148CONFIG_BROKEN_ON_SMP=y 148CONFIG_BROKEN_ON_SMP=y
149CONFIG_INIT_ENV_ARG_LIMIT=32 149CONFIG_INIT_ENV_ARG_LIMIT=32
150 150
@@ -160,6 +160,7 @@ CONFIG_SYSCTL=y
160# CONFIG_AUDIT is not set 160# CONFIG_AUDIT is not set
161CONFIG_IKCONFIG=y 161CONFIG_IKCONFIG=y
162CONFIG_IKCONFIG_PROC=y 162CONFIG_IKCONFIG_PROC=y
163CONFIG_RELAY=y
163CONFIG_INITRAMFS_SOURCE="" 164CONFIG_INITRAMFS_SOURCE=""
164CONFIG_EMBEDDED=y 165CONFIG_EMBEDDED=y
165CONFIG_KALLSYMS=y 166CONFIG_KALLSYMS=y
@@ -172,10 +173,6 @@ CONFIG_BASE_FULL=y
172CONFIG_FUTEX=y 173CONFIG_FUTEX=y
173CONFIG_EPOLL=y 174CONFIG_EPOLL=y
174CONFIG_SHMEM=y 175CONFIG_SHMEM=y
175CONFIG_CC_ALIGN_FUNCTIONS=0
176CONFIG_CC_ALIGN_LABELS=0
177CONFIG_CC_ALIGN_LOOPS=0
178CONFIG_CC_ALIGN_JUMPS=0
179CONFIG_SLAB=y 176CONFIG_SLAB=y
180# CONFIG_TINY_SHMEM is not set 177# CONFIG_TINY_SHMEM is not set
181CONFIG_BASE_SMALL=0 178CONFIG_BASE_SMALL=0
@@ -186,7 +183,6 @@ CONFIG_BASE_SMALL=0
186# 183#
187CONFIG_MODULES=y 184CONFIG_MODULES=y
188CONFIG_MODULE_UNLOAD=y 185CONFIG_MODULE_UNLOAD=y
189CONFIG_OBSOLETE_MODPARM=y
190# CONFIG_MODVERSIONS is not set 186# CONFIG_MODVERSIONS is not set
191CONFIG_MODULE_SRCVERSION_ALL=y 187CONFIG_MODULE_SRCVERSION_ALL=y
192CONFIG_KMOD=y 188CONFIG_KMOD=y
@@ -195,6 +191,8 @@ CONFIG_KMOD=y
195# Block layer 191# Block layer
196# 192#
197# CONFIG_LBD is not set 193# CONFIG_LBD is not set
194# CONFIG_BLK_DEV_IO_TRACE is not set
195# CONFIG_LSF is not set
198 196
199# 197#
200# IO Schedulers 198# IO Schedulers
@@ -214,7 +212,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
214# 212#
215CONFIG_HW_HAS_PCI=y 213CONFIG_HW_HAS_PCI=y
216CONFIG_PCI=y 214CONFIG_PCI=y
217CONFIG_PCI_LEGACY_PROC=y
218CONFIG_MMU=y 215CONFIG_MMU=y
219 216
220# 217#
@@ -241,6 +238,7 @@ CONFIG_NET=y
241# 238#
242# Networking options 239# Networking options
243# 240#
241# CONFIG_NETDEBUG is not set
244# CONFIG_PACKET is not set 242# CONFIG_PACKET is not set
245CONFIG_UNIX=y 243CONFIG_UNIX=y
246CONFIG_XFRM=y 244CONFIG_XFRM=y
@@ -260,16 +258,19 @@ CONFIG_IP_PNP_BOOTP=y
260# CONFIG_INET_AH is not set 258# CONFIG_INET_AH is not set
261# CONFIG_INET_ESP is not set 259# CONFIG_INET_ESP is not set
262# CONFIG_INET_IPCOMP is not set 260# CONFIG_INET_IPCOMP is not set
263CONFIG_INET_TUNNEL=m 261# CONFIG_INET_XFRM_TUNNEL is not set
262# CONFIG_INET_TUNNEL is not set
264CONFIG_INET_DIAG=y 263CONFIG_INET_DIAG=y
265CONFIG_INET_TCP_DIAG=y 264CONFIG_INET_TCP_DIAG=y
266# CONFIG_TCP_CONG_ADVANCED is not set 265# CONFIG_TCP_CONG_ADVANCED is not set
267CONFIG_TCP_CONG_BIC=y 266CONFIG_TCP_CONG_BIC=y
268CONFIG_IPV6=m 267CONFIG_IPV6=m
269CONFIG_IPV6_PRIVACY=y 268CONFIG_IPV6_PRIVACY=y
269CONFIG_IPV6_ROUTER_PREF=y
270CONFIG_INET6_AH=m 270CONFIG_INET6_AH=m
271CONFIG_INET6_ESP=m 271CONFIG_INET6_ESP=m
272CONFIG_INET6_IPCOMP=m 272CONFIG_INET6_IPCOMP=m
273CONFIG_INET6_XFRM_TUNNEL=m
273CONFIG_INET6_TUNNEL=m 274CONFIG_INET6_TUNNEL=m
274CONFIG_IPV6_TUNNEL=m 275CONFIG_IPV6_TUNNEL=m
275# CONFIG_NETFILTER is not set 276# CONFIG_NETFILTER is not set
@@ -338,10 +339,9 @@ CONFIG_CONNECTOR=m
338# CONFIG_BLK_DEV_NBD is not set 339# CONFIG_BLK_DEV_NBD is not set
339# CONFIG_BLK_DEV_SX8 is not set 340# CONFIG_BLK_DEV_SX8 is not set
340# CONFIG_BLK_DEV_RAM is not set 341# CONFIG_BLK_DEV_RAM is not set
341CONFIG_BLK_DEV_RAM_COUNT=16 342# CONFIG_BLK_DEV_INITRD is not set
342CONFIG_CDROM_PKTCDVD=m 343CONFIG_CDROM_PKTCDVD=m
343CONFIG_CDROM_PKTCDVD_BUFFERS=8 344CONFIG_CDROM_PKTCDVD_BUFFERS=8
344# CONFIG_CDROM_PKTCDVD_WCACHE is not set
345CONFIG_ATA_OVER_ETH=m 345CONFIG_ATA_OVER_ETH=m
346 346
347# 347#
@@ -423,6 +423,7 @@ CONFIG_NET_PCI=y
423# CONFIG_PCNET32 is not set 423# CONFIG_PCNET32 is not set
424# CONFIG_AMD8111_ETH is not set 424# CONFIG_AMD8111_ETH is not set
425# CONFIG_ADAPTEC_STARFIRE is not set 425# CONFIG_ADAPTEC_STARFIRE is not set
426# CONFIG_FORCEDETH is not set
426# CONFIG_DGRS is not set 427# CONFIG_DGRS is not set
427CONFIG_EEPRO100=y 428CONFIG_EEPRO100=y
428# CONFIG_E100 is not set 429# CONFIG_E100 is not set
@@ -446,6 +447,7 @@ CONFIG_EEPRO100=y
446# CONFIG_HAMACHI is not set 447# CONFIG_HAMACHI is not set
447# CONFIG_R8169 is not set 448# CONFIG_R8169 is not set
448# CONFIG_SIS190 is not set 449# CONFIG_SIS190 is not set
450# CONFIG_SKGE is not set
449# CONFIG_SK98LIN is not set 451# CONFIG_SK98LIN is not set
450# CONFIG_VIA_VELOCITY is not set 452# CONFIG_VIA_VELOCITY is not set
451# CONFIG_TIGON3 is not set 453# CONFIG_TIGON3 is not set
@@ -514,6 +516,7 @@ CONFIG_MV643XX_ETH_2=y
514# 516#
515CONFIG_SERIAL_8250=y 517CONFIG_SERIAL_8250=y
516CONFIG_SERIAL_8250_CONSOLE=y 518CONFIG_SERIAL_8250_CONSOLE=y
519CONFIG_SERIAL_8250_PCI=y
517CONFIG_SERIAL_8250_NR_UARTS=4 520CONFIG_SERIAL_8250_NR_UARTS=4
518CONFIG_SERIAL_8250_RUNTIME_UARTS=4 521CONFIG_SERIAL_8250_RUNTIME_UARTS=4
519# CONFIG_SERIAL_8250_EXTENDED is not set 522# CONFIG_SERIAL_8250_EXTENDED is not set
@@ -523,6 +526,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4
523# 526#
524CONFIG_SERIAL_CORE=y 527CONFIG_SERIAL_CORE=y
525CONFIG_SERIAL_CORE_CONSOLE=y 528CONFIG_SERIAL_CORE_CONSOLE=y
529# CONFIG_SERIAL_JSM is not set
526CONFIG_UNIX98_PTYS=y 530CONFIG_UNIX98_PTYS=y
527CONFIG_LEGACY_PTYS=y 531CONFIG_LEGACY_PTYS=y
528CONFIG_LEGACY_PTY_COUNT=256 532CONFIG_LEGACY_PTY_COUNT=256
@@ -579,10 +583,6 @@ CONFIG_LEGACY_PTY_COUNT=256
579# 583#
580 584
581# 585#
582# Multimedia Capabilities Port drivers
583#
584
585#
586# Multimedia devices 586# Multimedia devices
587# 587#
588# CONFIG_VIDEO_DEV is not set 588# CONFIG_VIDEO_DEV is not set
@@ -607,6 +607,7 @@ CONFIG_LEGACY_PTY_COUNT=256
607# 607#
608CONFIG_USB_ARCH_HAS_HCD=y 608CONFIG_USB_ARCH_HAS_HCD=y
609CONFIG_USB_ARCH_HAS_OHCI=y 609CONFIG_USB_ARCH_HAS_OHCI=y
610CONFIG_USB_ARCH_HAS_EHCI=y
610# CONFIG_USB is not set 611# CONFIG_USB is not set
611 612
612# 613#
@@ -624,12 +625,29 @@ CONFIG_USB_ARCH_HAS_OHCI=y
624# CONFIG_MMC is not set 625# CONFIG_MMC is not set
625 626
626# 627#
628# LED devices
629#
630# CONFIG_NEW_LEDS is not set
631
632#
633# LED drivers
634#
635
636#
637# LED Triggers
638#
639
640#
627# InfiniBand support 641# InfiniBand support
628# 642#
629# CONFIG_INFINIBAND is not set 643# CONFIG_INFINIBAND is not set
630 644
631# 645#
632# SN Devices 646# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
647#
648
649#
650# Real Time Clock
633# 651#
634 652
635# 653#
@@ -672,7 +690,6 @@ CONFIG_SYSFS=y
672# CONFIG_TMPFS is not set 690# CONFIG_TMPFS is not set
673# CONFIG_HUGETLB_PAGE is not set 691# CONFIG_HUGETLB_PAGE is not set
674CONFIG_RAMFS=y 692CONFIG_RAMFS=y
675CONFIG_RELAYFS_FS=m
676 693
677# 694#
678# Miscellaneous filesystems 695# Miscellaneous filesystems
@@ -718,6 +735,7 @@ CONFIG_MSDOS_PARTITION=y
718# CONFIG_MAGIC_SYSRQ is not set 735# CONFIG_MAGIC_SYSRQ is not set
719# CONFIG_DEBUG_KERNEL is not set 736# CONFIG_DEBUG_KERNEL is not set
720CONFIG_LOG_BUF_SHIFT=14 737CONFIG_LOG_BUF_SHIFT=14
738# CONFIG_DEBUG_FS is not set
721CONFIG_CROSSCOMPILE=y 739CONFIG_CROSSCOMPILE=y
722CONFIG_CMDLINE="" 740CONFIG_CMDLINE=""
723 741
diff --git a/arch/mips/configs/jmr3927_defconfig b/arch/mips/configs/jmr3927_defconfig
index 53fbef1ac25d..38b1e026e10d 100644
--- a/arch/mips/configs/jmr3927_defconfig
+++ b/arch/mips/configs/jmr3927_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.16-rc1 3# Linux kernel version: 2.6.17-rc2
4# Fri Jan 27 15:40:13 2006 4# Mon Apr 24 14:51:07 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -64,6 +64,8 @@ CONFIG_TOSHIBA_JMR3927=y
64# CONFIG_TOSHIBA_RBTX4927 is not set 64# CONFIG_TOSHIBA_RBTX4927 is not set
65# CONFIG_TOSHIBA_RBTX4938 is not set 65# CONFIG_TOSHIBA_RBTX4938 is not set
66CONFIG_RWSEM_GENERIC_SPINLOCK=y 66CONFIG_RWSEM_GENERIC_SPINLOCK=y
67CONFIG_GENERIC_FIND_NEXT_BIT=y
68CONFIG_GENERIC_HWEIGHT=y
67CONFIG_GENERIC_CALIBRATE_DELAY=y 69CONFIG_GENERIC_CALIBRATE_DELAY=y
68CONFIG_DMA_NONCOHERENT=y 70CONFIG_DMA_NONCOHERENT=y
69CONFIG_DMA_NEED_PCI_MAP_STATE=y 71CONFIG_DMA_NEED_PCI_MAP_STATE=y
@@ -111,7 +113,6 @@ CONFIG_PAGE_SIZE_4KB=y
111# CONFIG_PAGE_SIZE_16KB is not set 113# CONFIG_PAGE_SIZE_16KB is not set
112# CONFIG_PAGE_SIZE_64KB is not set 114# CONFIG_PAGE_SIZE_64KB is not set
113# CONFIG_MIPS_MT is not set 115# CONFIG_MIPS_MT is not set
114# CONFIG_CPU_ADVANCED is not set
115CONFIG_CPU_HAS_SYNC=y 116CONFIG_CPU_HAS_SYNC=y
116CONFIG_GENERIC_HARDIRQS=y 117CONFIG_GENERIC_HARDIRQS=y
117CONFIG_GENERIC_IRQ_PROBE=y 118CONFIG_GENERIC_IRQ_PROBE=y
@@ -133,7 +134,6 @@ CONFIG_RTC_DS1742=y
133# Code maturity level options 134# Code maturity level options
134# 135#
135CONFIG_EXPERIMENTAL=y 136CONFIG_EXPERIMENTAL=y
136CONFIG_CLEAN_COMPILE=y
137CONFIG_BROKEN_ON_SMP=y 137CONFIG_BROKEN_ON_SMP=y
138CONFIG_INIT_ENV_ARG_LIMIT=32 138CONFIG_INIT_ENV_ARG_LIMIT=32
139 139
@@ -149,6 +149,7 @@ CONFIG_SYSVIPC=y
149CONFIG_SYSCTL=y 149CONFIG_SYSCTL=y
150# CONFIG_AUDIT is not set 150# CONFIG_AUDIT is not set
151# CONFIG_IKCONFIG is not set 151# CONFIG_IKCONFIG is not set
152CONFIG_RELAY=y
152CONFIG_INITRAMFS_SOURCE="" 153CONFIG_INITRAMFS_SOURCE=""
153# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 154# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
154CONFIG_EMBEDDED=y 155CONFIG_EMBEDDED=y
@@ -162,10 +163,6 @@ CONFIG_BASE_FULL=y
162CONFIG_FUTEX=y 163CONFIG_FUTEX=y
163CONFIG_EPOLL=y 164CONFIG_EPOLL=y
164CONFIG_SHMEM=y 165CONFIG_SHMEM=y
165CONFIG_CC_ALIGN_FUNCTIONS=0
166CONFIG_CC_ALIGN_LABELS=0
167CONFIG_CC_ALIGN_LOOPS=0
168CONFIG_CC_ALIGN_JUMPS=0
169CONFIG_SLAB=y 166CONFIG_SLAB=y
170# CONFIG_TINY_SHMEM is not set 167# CONFIG_TINY_SHMEM is not set
171CONFIG_BASE_SMALL=0 168CONFIG_BASE_SMALL=0
@@ -180,6 +177,8 @@ CONFIG_BASE_SMALL=0
180# Block layer 177# Block layer
181# 178#
182# CONFIG_LBD is not set 179# CONFIG_LBD is not set
180# CONFIG_BLK_DEV_IO_TRACE is not set
181# CONFIG_LSF is not set
183 182
184# 183#
185# IO Schedulers 184# IO Schedulers
@@ -199,7 +198,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
199# 198#
200CONFIG_HW_HAS_PCI=y 199CONFIG_HW_HAS_PCI=y
201CONFIG_PCI=y 200CONFIG_PCI=y
202CONFIG_PCI_LEGACY_PROC=y
203CONFIG_MMU=y 201CONFIG_MMU=y
204 202
205# 203#
@@ -227,6 +225,7 @@ CONFIG_NET=y
227# 225#
228# Networking options 226# Networking options
229# 227#
228# CONFIG_NETDEBUG is not set
230CONFIG_PACKET=y 229CONFIG_PACKET=y
231# CONFIG_PACKET_MMAP is not set 230# CONFIG_PACKET_MMAP is not set
232CONFIG_UNIX=y 231CONFIG_UNIX=y
@@ -248,12 +247,15 @@ CONFIG_IP_PNP_BOOTP=y
248# CONFIG_INET_AH is not set 247# CONFIG_INET_AH is not set
249# CONFIG_INET_ESP is not set 248# CONFIG_INET_ESP is not set
250# CONFIG_INET_IPCOMP is not set 249# CONFIG_INET_IPCOMP is not set
251CONFIG_INET_TUNNEL=y 250# CONFIG_INET_XFRM_TUNNEL is not set
251# CONFIG_INET_TUNNEL is not set
252CONFIG_INET_DIAG=y 252CONFIG_INET_DIAG=y
253CONFIG_INET_TCP_DIAG=y 253CONFIG_INET_TCP_DIAG=y
254# CONFIG_TCP_CONG_ADVANCED is not set 254# CONFIG_TCP_CONG_ADVANCED is not set
255CONFIG_TCP_CONG_BIC=y 255CONFIG_TCP_CONG_BIC=y
256# CONFIG_IPV6 is not set 256# CONFIG_IPV6 is not set
257# CONFIG_INET6_XFRM_TUNNEL is not set
258# CONFIG_INET6_TUNNEL is not set
257# CONFIG_NETFILTER is not set 259# CONFIG_NETFILTER is not set
258 260
259# 261#
@@ -265,6 +267,11 @@ CONFIG_TCP_CONG_BIC=y
265# SCTP Configuration (EXPERIMENTAL) 267# SCTP Configuration (EXPERIMENTAL)
266# 268#
267# CONFIG_IP_SCTP is not set 269# CONFIG_IP_SCTP is not set
270
271#
272# TIPC Configuration (EXPERIMENTAL)
273#
274# CONFIG_TIPC is not set
268# CONFIG_ATM is not set 275# CONFIG_ATM is not set
269# CONFIG_BRIDGE is not set 276# CONFIG_BRIDGE is not set
270# CONFIG_VLAN_8021Q is not set 277# CONFIG_VLAN_8021Q is not set
@@ -274,11 +281,6 @@ CONFIG_TCP_CONG_BIC=y
274# CONFIG_ATALK is not set 281# CONFIG_ATALK is not set
275# CONFIG_X25 is not set 282# CONFIG_X25 is not set
276# CONFIG_LAPB is not set 283# CONFIG_LAPB is not set
277
278#
279# TIPC Configuration (EXPERIMENTAL)
280#
281# CONFIG_TIPC is not set
282# CONFIG_NET_DIVERT is not set 284# CONFIG_NET_DIVERT is not set
283# CONFIG_ECONET is not set 285# CONFIG_ECONET is not set
284# CONFIG_WAN_ROUTER is not set 286# CONFIG_WAN_ROUTER is not set
@@ -299,6 +301,9 @@ CONFIG_IEEE80211=y
299# CONFIG_IEEE80211_DEBUG is not set 301# CONFIG_IEEE80211_DEBUG is not set
300CONFIG_IEEE80211_CRYPT_WEP=y 302CONFIG_IEEE80211_CRYPT_WEP=y
301CONFIG_IEEE80211_CRYPT_CCMP=y 303CONFIG_IEEE80211_CRYPT_CCMP=y
304CONFIG_IEEE80211_SOFTMAC=y
305# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set
306CONFIG_WIRELESS_EXT=y
302 307
303# 308#
304# Device Drivers 309# Device Drivers
@@ -343,7 +348,7 @@ CONFIG_PROC_EVENTS=y
343# CONFIG_BLK_DEV_NBD is not set 348# CONFIG_BLK_DEV_NBD is not set
344# CONFIG_BLK_DEV_SX8 is not set 349# CONFIG_BLK_DEV_SX8 is not set
345# CONFIG_BLK_DEV_RAM is not set 350# CONFIG_BLK_DEV_RAM is not set
346CONFIG_BLK_DEV_RAM_COUNT=16 351# CONFIG_BLK_DEV_INITRD is not set
347CONFIG_CDROM_PKTCDVD=y 352CONFIG_CDROM_PKTCDVD=y
348CONFIG_CDROM_PKTCDVD_BUFFERS=8 353CONFIG_CDROM_PKTCDVD_BUFFERS=8
349# CONFIG_CDROM_PKTCDVD_WCACHE is not set 354# CONFIG_CDROM_PKTCDVD_WCACHE is not set
@@ -551,7 +556,12 @@ CONFIG_SERIAL_NONSTANDARD=y
551# 556#
552# Non-8250 serial port support 557# Non-8250 serial port support
553# 558#
559CONFIG_SERIAL_CORE=y
560CONFIG_SERIAL_TXX9=y
554CONFIG_HAS_TXX9_SERIAL=y 561CONFIG_HAS_TXX9_SERIAL=y
562# CONFIG_SERIAL_TXX9_CONSOLE is not set
563# CONFIG_SERIAL_TXX9_STDSERIAL is not set
564# CONFIG_SERIAL_JSM is not set
555# CONFIG_UNIX98_PTYS is not set 565# CONFIG_UNIX98_PTYS is not set
556CONFIG_LEGACY_PTYS=y 566CONFIG_LEGACY_PTYS=y
557CONFIG_LEGACY_PTY_COUNT=256 567CONFIG_LEGACY_PTY_COUNT=256
@@ -610,10 +620,6 @@ CONFIG_LEGACY_PTY_COUNT=256
610# 620#
611 621
612# 622#
613# Multimedia Capabilities Port drivers
614#
615
616#
617# Multimedia devices 623# Multimedia devices
618# 624#
619# CONFIG_VIDEO_DEV is not set 625# CONFIG_VIDEO_DEV is not set
@@ -631,6 +637,7 @@ CONFIG_FB=y
631# CONFIG_FB_CFB_COPYAREA is not set 637# CONFIG_FB_CFB_COPYAREA is not set
632# CONFIG_FB_CFB_IMAGEBLIT is not set 638# CONFIG_FB_CFB_IMAGEBLIT is not set
633# CONFIG_FB_MACMODES is not set 639# CONFIG_FB_MACMODES is not set
640CONFIG_FB_FIRMWARE_EDID=y
634# CONFIG_FB_MODE_HELPERS is not set 641# CONFIG_FB_MODE_HELPERS is not set
635# CONFIG_FB_TILEBLITTING is not set 642# CONFIG_FB_TILEBLITTING is not set
636# CONFIG_FB_CIRRUS is not set 643# CONFIG_FB_CIRRUS is not set
@@ -642,7 +649,6 @@ CONFIG_FB=y
642# CONFIG_FB_NVIDIA is not set 649# CONFIG_FB_NVIDIA is not set
643# CONFIG_FB_RIVA is not set 650# CONFIG_FB_RIVA is not set
644# CONFIG_FB_MATROX is not set 651# CONFIG_FB_MATROX is not set
645# CONFIG_FB_RADEON_OLD is not set
646# CONFIG_FB_RADEON is not set 652# CONFIG_FB_RADEON is not set
647# CONFIG_FB_ATY128 is not set 653# CONFIG_FB_ATY128 is not set
648# CONFIG_FB_ATY is not set 654# CONFIG_FB_ATY is not set
@@ -679,6 +685,7 @@ CONFIG_DUMMY_CONSOLE=y
679# 685#
680CONFIG_USB_ARCH_HAS_HCD=y 686CONFIG_USB_ARCH_HAS_HCD=y
681CONFIG_USB_ARCH_HAS_OHCI=y 687CONFIG_USB_ARCH_HAS_OHCI=y
688CONFIG_USB_ARCH_HAS_EHCI=y
682# CONFIG_USB is not set 689# CONFIG_USB is not set
683 690
684# 691#
@@ -696,13 +703,31 @@ CONFIG_USB_ARCH_HAS_OHCI=y
696# CONFIG_MMC is not set 703# CONFIG_MMC is not set
697 704
698# 705#
706# LED devices
707#
708# CONFIG_NEW_LEDS is not set
709
710#
711# LED drivers
712#
713
714#
715# LED Triggers
716#
717
718#
699# InfiniBand support 719# InfiniBand support
700# 720#
701# CONFIG_INFINIBAND is not set 721# CONFIG_INFINIBAND is not set
702 722
703# 723#
704# SN Devices 724# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
725#
726
727#
728# Real Time Clock
705# 729#
730# CONFIG_RTC_CLASS is not set
706 731
707# 732#
708# File systems 733# File systems
@@ -745,7 +770,6 @@ CONFIG_SYSFS=y
745# CONFIG_TMPFS is not set 770# CONFIG_TMPFS is not set
746# CONFIG_HUGETLB_PAGE is not set 771# CONFIG_HUGETLB_PAGE is not set
747CONFIG_RAMFS=y 772CONFIG_RAMFS=y
748CONFIG_RELAYFS_FS=y
749# CONFIG_CONFIGFS_FS is not set 773# CONFIG_CONFIGFS_FS is not set
750 774
751# 775#
@@ -809,6 +833,8 @@ CONFIG_MSDOS_PARTITION=y
809# CONFIG_MAGIC_SYSRQ is not set 833# CONFIG_MAGIC_SYSRQ is not set
810# CONFIG_DEBUG_KERNEL is not set 834# CONFIG_DEBUG_KERNEL is not set
811CONFIG_LOG_BUF_SHIFT=14 835CONFIG_LOG_BUF_SHIFT=14
836# CONFIG_DEBUG_FS is not set
837# CONFIG_UNWIND_INFO is not set
812CONFIG_CROSSCOMPILE=y 838CONFIG_CROSSCOMPILE=y
813CONFIG_CMDLINE="" 839CONFIG_CMDLINE=""
814 840
diff --git a/arch/mips/configs/lasat200_defconfig b/arch/mips/configs/lasat200_defconfig
index ef0fa9fc79d6..4d25990a0a05 100644
--- a/arch/mips/configs/lasat200_defconfig
+++ b/arch/mips/configs/lasat200_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.16-rc1 3# Linux kernel version: 2.6.17-rc2
4# Fri Jan 27 15:40:14 2006 4# Mon Apr 24 14:51:07 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -68,6 +68,8 @@ CONFIG_PICVUE_PROC=y
68CONFIG_DS1603=y 68CONFIG_DS1603=y
69CONFIG_LASAT_SYSCTL=y 69CONFIG_LASAT_SYSCTL=y
70CONFIG_RWSEM_GENERIC_SPINLOCK=y 70CONFIG_RWSEM_GENERIC_SPINLOCK=y
71CONFIG_GENERIC_FIND_NEXT_BIT=y
72CONFIG_GENERIC_HWEIGHT=y
71CONFIG_GENERIC_CALIBRATE_DELAY=y 73CONFIG_GENERIC_CALIBRATE_DELAY=y
72CONFIG_DMA_NONCOHERENT=y 74CONFIG_DMA_NONCOHERENT=y
73CONFIG_DMA_NEED_PCI_MAP_STATE=y 75CONFIG_DMA_NEED_PCI_MAP_STATE=y
@@ -119,7 +121,6 @@ CONFIG_BOARD_SCACHE=y
119CONFIG_R5000_CPU_SCACHE=y 121CONFIG_R5000_CPU_SCACHE=y
120# CONFIG_MIPS_MT is not set 122# CONFIG_MIPS_MT is not set
121# CONFIG_64BIT_PHYS_ADDR is not set 123# CONFIG_64BIT_PHYS_ADDR is not set
122# CONFIG_CPU_ADVANCED is not set
123CONFIG_CPU_HAS_LLSC=y 124CONFIG_CPU_HAS_LLSC=y
124CONFIG_CPU_HAS_SYNC=y 125CONFIG_CPU_HAS_SYNC=y
125CONFIG_GENERIC_HARDIRQS=y 126CONFIG_GENERIC_HARDIRQS=y
@@ -141,7 +142,6 @@ CONFIG_PREEMPT_NONE=y
141# Code maturity level options 142# Code maturity level options
142# 143#
143CONFIG_EXPERIMENTAL=y 144CONFIG_EXPERIMENTAL=y
144CONFIG_CLEAN_COMPILE=y
145CONFIG_BROKEN_ON_SMP=y 145CONFIG_BROKEN_ON_SMP=y
146CONFIG_INIT_ENV_ARG_LIMIT=32 146CONFIG_INIT_ENV_ARG_LIMIT=32
147 147
@@ -157,6 +157,7 @@ CONFIG_SYSVIPC=y
157CONFIG_SYSCTL=y 157CONFIG_SYSCTL=y
158# CONFIG_AUDIT is not set 158# CONFIG_AUDIT is not set
159# CONFIG_IKCONFIG is not set 159# CONFIG_IKCONFIG is not set
160CONFIG_RELAY=y
160CONFIG_INITRAMFS_SOURCE="" 161CONFIG_INITRAMFS_SOURCE=""
161# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 162# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
162CONFIG_EMBEDDED=y 163CONFIG_EMBEDDED=y
@@ -170,10 +171,6 @@ CONFIG_BASE_FULL=y
170CONFIG_FUTEX=y 171CONFIG_FUTEX=y
171CONFIG_EPOLL=y 172CONFIG_EPOLL=y
172CONFIG_SHMEM=y 173CONFIG_SHMEM=y
173CONFIG_CC_ALIGN_FUNCTIONS=0
174CONFIG_CC_ALIGN_LABELS=0
175CONFIG_CC_ALIGN_LOOPS=0
176CONFIG_CC_ALIGN_JUMPS=0
177CONFIG_SLAB=y 174CONFIG_SLAB=y
178# CONFIG_TINY_SHMEM is not set 175# CONFIG_TINY_SHMEM is not set
179CONFIG_BASE_SMALL=0 176CONFIG_BASE_SMALL=0
@@ -186,7 +183,6 @@ CONFIG_OBSOLETE_INTERMODULE=y
186CONFIG_MODULES=y 183CONFIG_MODULES=y
187CONFIG_MODULE_UNLOAD=y 184CONFIG_MODULE_UNLOAD=y
188# CONFIG_MODULE_FORCE_UNLOAD is not set 185# CONFIG_MODULE_FORCE_UNLOAD is not set
189CONFIG_OBSOLETE_MODPARM=y
190CONFIG_MODVERSIONS=y 186CONFIG_MODVERSIONS=y
191CONFIG_MODULE_SRCVERSION_ALL=y 187CONFIG_MODULE_SRCVERSION_ALL=y
192CONFIG_KMOD=y 188CONFIG_KMOD=y
@@ -195,6 +191,8 @@ CONFIG_KMOD=y
195# Block layer 191# Block layer
196# 192#
197# CONFIG_LBD is not set 193# CONFIG_LBD is not set
194# CONFIG_BLK_DEV_IO_TRACE is not set
195# CONFIG_LSF is not set
198 196
199# 197#
200# IO Schedulers 198# IO Schedulers
@@ -214,7 +212,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
214# 212#
215CONFIG_HW_HAS_PCI=y 213CONFIG_HW_HAS_PCI=y
216CONFIG_PCI=y 214CONFIG_PCI=y
217CONFIG_PCI_LEGACY_PROC=y
218CONFIG_MMU=y 215CONFIG_MMU=y
219 216
220# 217#
@@ -242,6 +239,7 @@ CONFIG_NET=y
242# 239#
243# Networking options 240# Networking options
244# 241#
242# CONFIG_NETDEBUG is not set
245# CONFIG_PACKET is not set 243# CONFIG_PACKET is not set
246CONFIG_UNIX=y 244CONFIG_UNIX=y
247CONFIG_XFRM=y 245CONFIG_XFRM=y
@@ -259,12 +257,15 @@ CONFIG_IP_FIB_HASH=y
259# CONFIG_INET_AH is not set 257# CONFIG_INET_AH is not set
260# CONFIG_INET_ESP is not set 258# CONFIG_INET_ESP is not set
261# CONFIG_INET_IPCOMP is not set 259# CONFIG_INET_IPCOMP is not set
262CONFIG_INET_TUNNEL=m 260# CONFIG_INET_XFRM_TUNNEL is not set
261# CONFIG_INET_TUNNEL is not set
263CONFIG_INET_DIAG=y 262CONFIG_INET_DIAG=y
264CONFIG_INET_TCP_DIAG=y 263CONFIG_INET_TCP_DIAG=y
265# CONFIG_TCP_CONG_ADVANCED is not set 264# CONFIG_TCP_CONG_ADVANCED is not set
266CONFIG_TCP_CONG_BIC=y 265CONFIG_TCP_CONG_BIC=y
267# CONFIG_IPV6 is not set 266# CONFIG_IPV6 is not set
267# CONFIG_INET6_XFRM_TUNNEL is not set
268# CONFIG_INET6_TUNNEL is not set
268# CONFIG_NETFILTER is not set 269# CONFIG_NETFILTER is not set
269 270
270# 271#
@@ -276,6 +277,11 @@ CONFIG_TCP_CONG_BIC=y
276# SCTP Configuration (EXPERIMENTAL) 277# SCTP Configuration (EXPERIMENTAL)
277# 278#
278# CONFIG_IP_SCTP is not set 279# CONFIG_IP_SCTP is not set
280
281#
282# TIPC Configuration (EXPERIMENTAL)
283#
284# CONFIG_TIPC is not set
279# CONFIG_ATM is not set 285# CONFIG_ATM is not set
280# CONFIG_BRIDGE is not set 286# CONFIG_BRIDGE is not set
281# CONFIG_VLAN_8021Q is not set 287# CONFIG_VLAN_8021Q is not set
@@ -285,11 +291,6 @@ CONFIG_TCP_CONG_BIC=y
285# CONFIG_ATALK is not set 291# CONFIG_ATALK is not set
286# CONFIG_X25 is not set 292# CONFIG_X25 is not set
287# CONFIG_LAPB is not set 293# CONFIG_LAPB is not set
288
289#
290# TIPC Configuration (EXPERIMENTAL)
291#
292# CONFIG_TIPC is not set
293# CONFIG_NET_DIVERT is not set 294# CONFIG_NET_DIVERT is not set
294# CONFIG_ECONET is not set 295# CONFIG_ECONET is not set
295# CONFIG_WAN_ROUTER is not set 296# CONFIG_WAN_ROUTER is not set
@@ -310,6 +311,9 @@ CONFIG_IEEE80211=m
310# CONFIG_IEEE80211_DEBUG is not set 311# CONFIG_IEEE80211_DEBUG is not set
311CONFIG_IEEE80211_CRYPT_WEP=m 312CONFIG_IEEE80211_CRYPT_WEP=m
312CONFIG_IEEE80211_CRYPT_CCMP=m 313CONFIG_IEEE80211_CRYPT_CCMP=m
314CONFIG_IEEE80211_SOFTMAC=m
315# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set
316CONFIG_WIRELESS_EXT=y
313 317
314# 318#
315# Device Drivers 319# Device Drivers
@@ -366,7 +370,6 @@ CONFIG_MTD_CFI_I2=y
366# CONFIG_MTD_CFI_I8 is not set 370# CONFIG_MTD_CFI_I8 is not set
367# CONFIG_MTD_CFI_INTELEXT is not set 371# CONFIG_MTD_CFI_INTELEXT is not set
368CONFIG_MTD_CFI_AMDSTD=y 372CONFIG_MTD_CFI_AMDSTD=y
369CONFIG_MTD_CFI_AMDSTD_RETRY=0
370# CONFIG_MTD_CFI_STAA is not set 373# CONFIG_MTD_CFI_STAA is not set
371CONFIG_MTD_CFI_UTIL=y 374CONFIG_MTD_CFI_UTIL=y
372# CONFIG_MTD_RAM is not set 375# CONFIG_MTD_RAM is not set
@@ -389,7 +392,6 @@ CONFIG_MTD_LASAT=y
389# CONFIG_MTD_SLRAM is not set 392# CONFIG_MTD_SLRAM is not set
390# CONFIG_MTD_PHRAM is not set 393# CONFIG_MTD_PHRAM is not set
391# CONFIG_MTD_MTDRAM is not set 394# CONFIG_MTD_MTDRAM is not set
392# CONFIG_MTD_BLKMTD is not set
393# CONFIG_MTD_BLOCK2MTD is not set 395# CONFIG_MTD_BLOCK2MTD is not set
394 396
395# 397#
@@ -430,7 +432,7 @@ CONFIG_MTD_LASAT=y
430# CONFIG_BLK_DEV_NBD is not set 432# CONFIG_BLK_DEV_NBD is not set
431# CONFIG_BLK_DEV_SX8 is not set 433# CONFIG_BLK_DEV_SX8 is not set
432# CONFIG_BLK_DEV_RAM is not set 434# CONFIG_BLK_DEV_RAM is not set
433CONFIG_BLK_DEV_RAM_COUNT=16 435# CONFIG_BLK_DEV_INITRD is not set
434CONFIG_CDROM_PKTCDVD=m 436CONFIG_CDROM_PKTCDVD=m
435CONFIG_CDROM_PKTCDVD_BUFFERS=8 437CONFIG_CDROM_PKTCDVD_BUFFERS=8
436# CONFIG_CDROM_PKTCDVD_WCACHE is not set 438# CONFIG_CDROM_PKTCDVD_WCACHE is not set
@@ -672,6 +674,7 @@ CONFIG_HW_CONSOLE=y
672# 674#
673CONFIG_SERIAL_8250=y 675CONFIG_SERIAL_8250=y
674CONFIG_SERIAL_8250_CONSOLE=y 676CONFIG_SERIAL_8250_CONSOLE=y
677CONFIG_SERIAL_8250_PCI=y
675CONFIG_SERIAL_8250_NR_UARTS=4 678CONFIG_SERIAL_8250_NR_UARTS=4
676CONFIG_SERIAL_8250_RUNTIME_UARTS=4 679CONFIG_SERIAL_8250_RUNTIME_UARTS=4
677# CONFIG_SERIAL_8250_EXTENDED is not set 680# CONFIG_SERIAL_8250_EXTENDED is not set
@@ -681,6 +684,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4
681# 684#
682CONFIG_SERIAL_CORE=y 685CONFIG_SERIAL_CORE=y
683CONFIG_SERIAL_CORE_CONSOLE=y 686CONFIG_SERIAL_CORE_CONSOLE=y
687# CONFIG_SERIAL_JSM is not set
684CONFIG_UNIX98_PTYS=y 688CONFIG_UNIX98_PTYS=y
685CONFIG_LEGACY_PTYS=y 689CONFIG_LEGACY_PTYS=y
686CONFIG_LEGACY_PTY_COUNT=256 690CONFIG_LEGACY_PTY_COUNT=256
@@ -739,10 +743,6 @@ CONFIG_LEGACY_PTY_COUNT=256
739# 743#
740 744
741# 745#
742# Multimedia Capabilities Port drivers
743#
744
745#
746# Multimedia devices 746# Multimedia devices
747# 747#
748# CONFIG_VIDEO_DEV is not set 748# CONFIG_VIDEO_DEV is not set
@@ -773,6 +773,7 @@ CONFIG_DUMMY_CONSOLE=y
773# 773#
774CONFIG_USB_ARCH_HAS_HCD=y 774CONFIG_USB_ARCH_HAS_HCD=y
775CONFIG_USB_ARCH_HAS_OHCI=y 775CONFIG_USB_ARCH_HAS_OHCI=y
776CONFIG_USB_ARCH_HAS_EHCI=y
776# CONFIG_USB is not set 777# CONFIG_USB is not set
777 778
778# 779#
@@ -790,13 +791,31 @@ CONFIG_USB_ARCH_HAS_OHCI=y
790# CONFIG_MMC is not set 791# CONFIG_MMC is not set
791 792
792# 793#
794# LED devices
795#
796# CONFIG_NEW_LEDS is not set
797
798#
799# LED drivers
800#
801
802#
803# LED Triggers
804#
805
806#
793# InfiniBand support 807# InfiniBand support
794# 808#
795# CONFIG_INFINIBAND is not set 809# CONFIG_INFINIBAND is not set
796 810
797# 811#
798# SN Devices 812# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
813#
814
815#
816# Real Time Clock
799# 817#
818# CONFIG_RTC_CLASS is not set
800 819
801# 820#
802# File systems 821# File systems
@@ -847,7 +866,6 @@ CONFIG_SYSFS=y
847# CONFIG_TMPFS is not set 866# CONFIG_TMPFS is not set
848# CONFIG_HUGETLB_PAGE is not set 867# CONFIG_HUGETLB_PAGE is not set
849CONFIG_RAMFS=y 868CONFIG_RAMFS=y
850CONFIG_RELAYFS_FS=m
851# CONFIG_CONFIGFS_FS is not set 869# CONFIG_CONFIGFS_FS is not set
852 870
853# 871#
@@ -914,6 +932,7 @@ CONFIG_MSDOS_PARTITION=y
914# CONFIG_MAGIC_SYSRQ is not set 932# CONFIG_MAGIC_SYSRQ is not set
915# CONFIG_DEBUG_KERNEL is not set 933# CONFIG_DEBUG_KERNEL is not set
916CONFIG_LOG_BUF_SHIFT=14 934CONFIG_LOG_BUF_SHIFT=14
935# CONFIG_DEBUG_FS is not set
917CONFIG_CROSSCOMPILE=y 936CONFIG_CROSSCOMPILE=y
918CONFIG_CMDLINE="" 937CONFIG_CMDLINE=""
919 938
diff --git a/arch/mips/configs/malta_defconfig b/arch/mips/configs/malta_defconfig
index 367d279efdd9..977f52be51dc 100644
--- a/arch/mips/configs/malta_defconfig
+++ b/arch/mips/configs/malta_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.16-rc1 3# Linux kernel version: 2.6.17-rc2
4# Fri Jan 27 15:40:15 2006 4# Mon Apr 24 14:51:08 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -64,6 +64,8 @@ CONFIG_MIPS_MALTA=y
64# CONFIG_TOSHIBA_RBTX4927 is not set 64# CONFIG_TOSHIBA_RBTX4927 is not set
65# CONFIG_TOSHIBA_RBTX4938 is not set 65# CONFIG_TOSHIBA_RBTX4938 is not set
66CONFIG_RWSEM_GENERIC_SPINLOCK=y 66CONFIG_RWSEM_GENERIC_SPINLOCK=y
67CONFIG_GENERIC_FIND_NEXT_BIT=y
68CONFIG_GENERIC_HWEIGHT=y
67CONFIG_GENERIC_CALIBRATE_DELAY=y 69CONFIG_GENERIC_CALIBRATE_DELAY=y
68CONFIG_ARCH_MAY_HAVE_PC_FDC=y 70CONFIG_ARCH_MAY_HAVE_PC_FDC=y
69CONFIG_DMA_NONCOHERENT=y 71CONFIG_DMA_NONCOHERENT=y
@@ -128,16 +130,21 @@ CONFIG_PAGE_SIZE_4KB=y
128# CONFIG_PAGE_SIZE_64KB is not set 130# CONFIG_PAGE_SIZE_64KB is not set
129CONFIG_CPU_HAS_PREFETCH=y 131CONFIG_CPU_HAS_PREFETCH=y
130CONFIG_MIPS_MT=y 132CONFIG_MIPS_MT=y
133# CONFIG_MIPS_MT_SMTC is not set
131# CONFIG_MIPS_MT_SMP is not set 134# CONFIG_MIPS_MT_SMP is not set
132CONFIG_MIPS_VPE_LOADER=y 135CONFIG_MIPS_VPE_LOADER=y
136CONFIG_MIPS_MT_FPAFF=y
133CONFIG_MIPS_VPE_LOADER_TOM=y 137CONFIG_MIPS_VPE_LOADER_TOM=y
134CONFIG_MIPS_VPE_APSP_API=y 138CONFIG_MIPS_VPE_APSP_API=y
139CONFIG_MIPS_APSP_KSPD=y
135# CONFIG_64BIT_PHYS_ADDR is not set 140# CONFIG_64BIT_PHYS_ADDR is not set
136# CONFIG_CPU_ADVANCED is not set
137CONFIG_CPU_HAS_LLSC=y 141CONFIG_CPU_HAS_LLSC=y
142# CONFIG_CPU_MIPSR2_IRQ_VI is not set
143# CONFIG_CPU_MIPSR2_IRQ_EI is not set
138CONFIG_CPU_HAS_SYNC=y 144CONFIG_CPU_HAS_SYNC=y
139CONFIG_GENERIC_HARDIRQS=y 145CONFIG_GENERIC_HARDIRQS=y
140CONFIG_GENERIC_IRQ_PROBE=y 146CONFIG_GENERIC_IRQ_PROBE=y
147CONFIG_CPU_SUPPORTS_HIGHMEM=y
141CONFIG_ARCH_FLATMEM_ENABLE=y 148CONFIG_ARCH_FLATMEM_ENABLE=y
142CONFIG_SELECT_MEMORY_MODEL=y 149CONFIG_SELECT_MEMORY_MODEL=y
143CONFIG_FLATMEM_MANUAL=y 150CONFIG_FLATMEM_MANUAL=y
@@ -155,7 +162,6 @@ CONFIG_PREEMPT_NONE=y
155# Code maturity level options 162# Code maturity level options
156# 163#
157CONFIG_EXPERIMENTAL=y 164CONFIG_EXPERIMENTAL=y
158CONFIG_CLEAN_COMPILE=y
159CONFIG_BROKEN_ON_SMP=y 165CONFIG_BROKEN_ON_SMP=y
160CONFIG_INIT_ENV_ARG_LIMIT=32 166CONFIG_INIT_ENV_ARG_LIMIT=32
161 167
@@ -171,6 +177,7 @@ CONFIG_SYSVIPC=y
171CONFIG_SYSCTL=y 177CONFIG_SYSCTL=y
172# CONFIG_AUDIT is not set 178# CONFIG_AUDIT is not set
173# CONFIG_IKCONFIG is not set 179# CONFIG_IKCONFIG is not set
180CONFIG_RELAY=y
174CONFIG_INITRAMFS_SOURCE="" 181CONFIG_INITRAMFS_SOURCE=""
175# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 182# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
176CONFIG_EMBEDDED=y 183CONFIG_EMBEDDED=y
@@ -184,10 +191,6 @@ CONFIG_BASE_FULL=y
184CONFIG_FUTEX=y 191CONFIG_FUTEX=y
185CONFIG_EPOLL=y 192CONFIG_EPOLL=y
186CONFIG_SHMEM=y 193CONFIG_SHMEM=y
187CONFIG_CC_ALIGN_FUNCTIONS=0
188CONFIG_CC_ALIGN_LABELS=0
189CONFIG_CC_ALIGN_LOOPS=0
190CONFIG_CC_ALIGN_JUMPS=0
191CONFIG_SLAB=y 194CONFIG_SLAB=y
192# CONFIG_TINY_SHMEM is not set 195# CONFIG_TINY_SHMEM is not set
193CONFIG_BASE_SMALL=0 196CONFIG_BASE_SMALL=0
@@ -199,7 +202,6 @@ CONFIG_BASE_SMALL=0
199CONFIG_MODULES=y 202CONFIG_MODULES=y
200CONFIG_MODULE_UNLOAD=y 203CONFIG_MODULE_UNLOAD=y
201# CONFIG_MODULE_FORCE_UNLOAD is not set 204# CONFIG_MODULE_FORCE_UNLOAD is not set
202CONFIG_OBSOLETE_MODPARM=y
203CONFIG_MODVERSIONS=y 205CONFIG_MODVERSIONS=y
204CONFIG_MODULE_SRCVERSION_ALL=y 206CONFIG_MODULE_SRCVERSION_ALL=y
205CONFIG_KMOD=y 207CONFIG_KMOD=y
@@ -208,6 +210,8 @@ CONFIG_KMOD=y
208# Block layer 210# Block layer
209# 211#
210# CONFIG_LBD is not set 212# CONFIG_LBD is not set
213# CONFIG_BLK_DEV_IO_TRACE is not set
214# CONFIG_LSF is not set
211 215
212# 216#
213# IO Schedulers 217# IO Schedulers
@@ -227,7 +231,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
227# 231#
228CONFIG_HW_HAS_PCI=y 232CONFIG_HW_HAS_PCI=y
229CONFIG_PCI=y 233CONFIG_PCI=y
230CONFIG_PCI_LEGACY_PROC=y
231CONFIG_MMU=y 234CONFIG_MMU=y
232 235
233# 236#
@@ -255,6 +258,7 @@ CONFIG_NET=y
255# 258#
256# Networking options 259# Networking options
257# 260#
261# CONFIG_NETDEBUG is not set
258CONFIG_PACKET=y 262CONFIG_PACKET=y
259CONFIG_PACKET_MMAP=y 263CONFIG_PACKET_MMAP=y
260CONFIG_UNIX=y 264CONFIG_UNIX=y
@@ -287,6 +291,7 @@ CONFIG_SYN_COOKIES=y
287CONFIG_INET_AH=m 291CONFIG_INET_AH=m
288CONFIG_INET_ESP=m 292CONFIG_INET_ESP=m
289CONFIG_INET_IPCOMP=m 293CONFIG_INET_IPCOMP=m
294CONFIG_INET_XFRM_TUNNEL=m
290CONFIG_INET_TUNNEL=m 295CONFIG_INET_TUNNEL=m
291CONFIG_INET_DIAG=y 296CONFIG_INET_DIAG=y
292CONFIG_INET_TCP_DIAG=y 297CONFIG_INET_TCP_DIAG=y
@@ -328,9 +333,12 @@ CONFIG_IP_VS_NQ=m
328CONFIG_IP_VS_FTP=m 333CONFIG_IP_VS_FTP=m
329CONFIG_IPV6=m 334CONFIG_IPV6=m
330CONFIG_IPV6_PRIVACY=y 335CONFIG_IPV6_PRIVACY=y
336CONFIG_IPV6_ROUTER_PREF=y
337CONFIG_IPV6_ROUTE_INFO=y
331CONFIG_INET6_AH=m 338CONFIG_INET6_AH=m
332CONFIG_INET6_ESP=m 339CONFIG_INET6_ESP=m
333CONFIG_INET6_IPCOMP=m 340CONFIG_INET6_IPCOMP=m
341CONFIG_INET6_XFRM_TUNNEL=m
334CONFIG_INET6_TUNNEL=m 342CONFIG_INET6_TUNNEL=m
335CONFIG_IPV6_TUNNEL=m 343CONFIG_IPV6_TUNNEL=m
336CONFIG_NETFILTER=y 344CONFIG_NETFILTER=y
@@ -354,11 +362,14 @@ CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
354CONFIG_NETFILTER_XT_MATCH_CONNMARK=m 362CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
355CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m 363CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
356CONFIG_NETFILTER_XT_MATCH_DCCP=m 364CONFIG_NETFILTER_XT_MATCH_DCCP=m
365CONFIG_NETFILTER_XT_MATCH_ESP=m
357CONFIG_NETFILTER_XT_MATCH_HELPER=m 366CONFIG_NETFILTER_XT_MATCH_HELPER=m
358CONFIG_NETFILTER_XT_MATCH_LENGTH=m 367CONFIG_NETFILTER_XT_MATCH_LENGTH=m
359CONFIG_NETFILTER_XT_MATCH_LIMIT=m 368CONFIG_NETFILTER_XT_MATCH_LIMIT=m
360CONFIG_NETFILTER_XT_MATCH_MAC=m 369CONFIG_NETFILTER_XT_MATCH_MAC=m
361CONFIG_NETFILTER_XT_MATCH_MARK=m 370CONFIG_NETFILTER_XT_MATCH_MARK=m
371CONFIG_NETFILTER_XT_MATCH_POLICY=m
372CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
362# CONFIG_NETFILTER_XT_MATCH_PHYSDEV is not set 373# CONFIG_NETFILTER_XT_MATCH_PHYSDEV is not set
363CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m 374CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
364CONFIG_NETFILTER_XT_MATCH_REALM=m 375CONFIG_NETFILTER_XT_MATCH_REALM=m
@@ -382,20 +393,19 @@ CONFIG_IP_NF_IRC=m
382CONFIG_IP_NF_TFTP=m 393CONFIG_IP_NF_TFTP=m
383CONFIG_IP_NF_AMANDA=m 394CONFIG_IP_NF_AMANDA=m
384CONFIG_IP_NF_PPTP=m 395CONFIG_IP_NF_PPTP=m
396CONFIG_IP_NF_H323=m
385CONFIG_IP_NF_QUEUE=m 397CONFIG_IP_NF_QUEUE=m
386CONFIG_IP_NF_IPTABLES=m 398CONFIG_IP_NF_IPTABLES=m
387CONFIG_IP_NF_MATCH_IPRANGE=m 399CONFIG_IP_NF_MATCH_IPRANGE=m
388CONFIG_IP_NF_MATCH_MULTIPORT=m
389CONFIG_IP_NF_MATCH_TOS=m 400CONFIG_IP_NF_MATCH_TOS=m
390CONFIG_IP_NF_MATCH_RECENT=m 401CONFIG_IP_NF_MATCH_RECENT=m
391CONFIG_IP_NF_MATCH_ECN=m 402CONFIG_IP_NF_MATCH_ECN=m
392CONFIG_IP_NF_MATCH_DSCP=m 403CONFIG_IP_NF_MATCH_DSCP=m
393CONFIG_IP_NF_MATCH_AH_ESP=m 404CONFIG_IP_NF_MATCH_AH=m
394CONFIG_IP_NF_MATCH_TTL=m 405CONFIG_IP_NF_MATCH_TTL=m
395CONFIG_IP_NF_MATCH_OWNER=m 406CONFIG_IP_NF_MATCH_OWNER=m
396CONFIG_IP_NF_MATCH_ADDRTYPE=m 407CONFIG_IP_NF_MATCH_ADDRTYPE=m
397CONFIG_IP_NF_MATCH_HASHLIMIT=m 408CONFIG_IP_NF_MATCH_HASHLIMIT=m
398CONFIG_IP_NF_MATCH_POLICY=m
399CONFIG_IP_NF_FILTER=m 409CONFIG_IP_NF_FILTER=m
400CONFIG_IP_NF_TARGET_REJECT=m 410CONFIG_IP_NF_TARGET_REJECT=m
401CONFIG_IP_NF_TARGET_LOG=m 411CONFIG_IP_NF_TARGET_LOG=m
@@ -413,6 +423,7 @@ CONFIG_IP_NF_NAT_FTP=m
413CONFIG_IP_NF_NAT_TFTP=m 423CONFIG_IP_NF_NAT_TFTP=m
414CONFIG_IP_NF_NAT_AMANDA=m 424CONFIG_IP_NF_NAT_AMANDA=m
415CONFIG_IP_NF_NAT_PPTP=m 425CONFIG_IP_NF_NAT_PPTP=m
426CONFIG_IP_NF_NAT_H323=m
416CONFIG_IP_NF_MANGLE=m 427CONFIG_IP_NF_MANGLE=m
417CONFIG_IP_NF_TARGET_TOS=m 428CONFIG_IP_NF_TARGET_TOS=m
418CONFIG_IP_NF_TARGET_ECN=m 429CONFIG_IP_NF_TARGET_ECN=m
@@ -433,12 +444,10 @@ CONFIG_IP6_NF_MATCH_RT=m
433CONFIG_IP6_NF_MATCH_OPTS=m 444CONFIG_IP6_NF_MATCH_OPTS=m
434CONFIG_IP6_NF_MATCH_FRAG=m 445CONFIG_IP6_NF_MATCH_FRAG=m
435CONFIG_IP6_NF_MATCH_HL=m 446CONFIG_IP6_NF_MATCH_HL=m
436CONFIG_IP6_NF_MATCH_MULTIPORT=m
437CONFIG_IP6_NF_MATCH_OWNER=m 447CONFIG_IP6_NF_MATCH_OWNER=m
438CONFIG_IP6_NF_MATCH_IPV6HEADER=m 448CONFIG_IP6_NF_MATCH_IPV6HEADER=m
439CONFIG_IP6_NF_MATCH_AHESP=m 449CONFIG_IP6_NF_MATCH_AH=m
440CONFIG_IP6_NF_MATCH_EUI64=m 450CONFIG_IP6_NF_MATCH_EUI64=m
441CONFIG_IP6_NF_MATCH_POLICY=m
442CONFIG_IP6_NF_FILTER=m 451CONFIG_IP6_NF_FILTER=m
443CONFIG_IP6_NF_TARGET_LOG=m 452CONFIG_IP6_NF_TARGET_LOG=m
444CONFIG_IP6_NF_TARGET_REJECT=m 453CONFIG_IP6_NF_TARGET_REJECT=m
@@ -484,6 +493,11 @@ CONFIG_IP_SCTP=m
484# CONFIG_SCTP_HMAC_NONE is not set 493# CONFIG_SCTP_HMAC_NONE is not set
485# CONFIG_SCTP_HMAC_SHA1 is not set 494# CONFIG_SCTP_HMAC_SHA1 is not set
486CONFIG_SCTP_HMAC_MD5=y 495CONFIG_SCTP_HMAC_MD5=y
496
497#
498# TIPC Configuration (EXPERIMENTAL)
499#
500# CONFIG_TIPC is not set
487# CONFIG_ATM is not set 501# CONFIG_ATM is not set
488CONFIG_BRIDGE=m 502CONFIG_BRIDGE=m
489CONFIG_VLAN_8021Q=m 503CONFIG_VLAN_8021Q=m
@@ -498,11 +512,6 @@ CONFIG_IPDDP_ENCAP=y
498CONFIG_IPDDP_DECAP=y 512CONFIG_IPDDP_DECAP=y
499# CONFIG_X25 is not set 513# CONFIG_X25 is not set
500# CONFIG_LAPB is not set 514# CONFIG_LAPB is not set
501
502#
503# TIPC Configuration (EXPERIMENTAL)
504#
505# CONFIG_TIPC is not set
506CONFIG_NET_DIVERT=y 515CONFIG_NET_DIVERT=y
507# CONFIG_ECONET is not set 516# CONFIG_ECONET is not set
508# CONFIG_WAN_ROUTER is not set 517# CONFIG_WAN_ROUTER is not set
@@ -562,6 +571,9 @@ CONFIG_IEEE80211=m
562# CONFIG_IEEE80211_DEBUG is not set 571# CONFIG_IEEE80211_DEBUG is not set
563CONFIG_IEEE80211_CRYPT_WEP=m 572CONFIG_IEEE80211_CRYPT_WEP=m
564CONFIG_IEEE80211_CRYPT_CCMP=m 573CONFIG_IEEE80211_CRYPT_CCMP=m
574CONFIG_IEEE80211_SOFTMAC=m
575# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set
576CONFIG_WIRELESS_EXT=y
565 577
566# 578#
567# Device Drivers 579# Device Drivers
@@ -734,7 +746,6 @@ CONFIG_AIC7XXX_REG_PRETTY_PRINT=y
734# CONFIG_SCSI_INIA100 is not set 746# CONFIG_SCSI_INIA100 is not set
735# CONFIG_SCSI_SYM53C8XX_2 is not set 747# CONFIG_SCSI_SYM53C8XX_2 is not set
736# CONFIG_SCSI_IPR is not set 748# CONFIG_SCSI_IPR is not set
737# CONFIG_SCSI_QLOGIC_FC is not set
738# CONFIG_SCSI_QLOGIC_1280 is not set 749# CONFIG_SCSI_QLOGIC_1280 is not set
739# CONFIG_SCSI_QLA_FC is not set 750# CONFIG_SCSI_QLA_FC is not set
740# CONFIG_SCSI_LPFC is not set 751# CONFIG_SCSI_LPFC is not set
@@ -753,6 +764,7 @@ CONFIG_MD_RAID0=m
753CONFIG_MD_RAID1=m 764CONFIG_MD_RAID1=m
754CONFIG_MD_RAID10=m 765CONFIG_MD_RAID10=m
755CONFIG_MD_RAID5=m 766CONFIG_MD_RAID5=m
767CONFIG_MD_RAID5_RESHAPE=y
756CONFIG_MD_RAID6=m 768CONFIG_MD_RAID6=m
757CONFIG_MD_MULTIPATH=m 769CONFIG_MD_MULTIPATH=m
758CONFIG_MD_FAULTY=m 770CONFIG_MD_FAULTY=m
@@ -956,6 +968,7 @@ CONFIG_HW_CONSOLE=y
956# 968#
957CONFIG_SERIAL_8250=y 969CONFIG_SERIAL_8250=y
958CONFIG_SERIAL_8250_CONSOLE=y 970CONFIG_SERIAL_8250_CONSOLE=y
971CONFIG_SERIAL_8250_PCI=y
959CONFIG_SERIAL_8250_NR_UARTS=4 972CONFIG_SERIAL_8250_NR_UARTS=4
960CONFIG_SERIAL_8250_RUNTIME_UARTS=4 973CONFIG_SERIAL_8250_RUNTIME_UARTS=4
961# CONFIG_SERIAL_8250_EXTENDED is not set 974# CONFIG_SERIAL_8250_EXTENDED is not set
@@ -965,6 +978,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4
965# 978#
966CONFIG_SERIAL_CORE=y 979CONFIG_SERIAL_CORE=y
967CONFIG_SERIAL_CORE_CONSOLE=y 980CONFIG_SERIAL_CORE_CONSOLE=y
981# CONFIG_SERIAL_JSM is not set
968CONFIG_UNIX98_PTYS=y 982CONFIG_UNIX98_PTYS=y
969CONFIG_LEGACY_PTYS=y 983CONFIG_LEGACY_PTYS=y
970CONFIG_LEGACY_PTY_COUNT=256 984CONFIG_LEGACY_PTY_COUNT=256
@@ -1022,10 +1036,6 @@ CONFIG_RTC=y
1022# 1036#
1023 1037
1024# 1038#
1025# Multimedia Capabilities Port drivers
1026#
1027
1028#
1029# Multimedia devices 1039# Multimedia devices
1030# 1040#
1031# CONFIG_VIDEO_DEV is not set 1041# CONFIG_VIDEO_DEV is not set
@@ -1056,6 +1066,7 @@ CONFIG_DUMMY_CONSOLE=y
1056# 1066#
1057CONFIG_USB_ARCH_HAS_HCD=y 1067CONFIG_USB_ARCH_HAS_HCD=y
1058CONFIG_USB_ARCH_HAS_OHCI=y 1068CONFIG_USB_ARCH_HAS_OHCI=y
1069CONFIG_USB_ARCH_HAS_EHCI=y
1059# CONFIG_USB is not set 1070# CONFIG_USB is not set
1060 1071
1061# 1072#
@@ -1073,13 +1084,31 @@ CONFIG_USB_ARCH_HAS_OHCI=y
1073# CONFIG_MMC is not set 1084# CONFIG_MMC is not set
1074 1085
1075# 1086#
1087# LED devices
1088#
1089# CONFIG_NEW_LEDS is not set
1090
1091#
1092# LED drivers
1093#
1094
1095#
1096# LED Triggers
1097#
1098
1099#
1076# InfiniBand support 1100# InfiniBand support
1077# 1101#
1078# CONFIG_INFINIBAND is not set 1102# CONFIG_INFINIBAND is not set
1079 1103
1080# 1104#
1081# SN Devices 1105# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
1106#
1107
1108#
1109# Real Time Clock
1082# 1110#
1111# CONFIG_RTC_CLASS is not set
1083 1112
1084# 1113#
1085# File systems 1114# File systems
@@ -1154,7 +1183,6 @@ CONFIG_SYSFS=y
1154# CONFIG_TMPFS is not set 1183# CONFIG_TMPFS is not set
1155# CONFIG_HUGETLB_PAGE is not set 1184# CONFIG_HUGETLB_PAGE is not set
1156CONFIG_RAMFS=y 1185CONFIG_RAMFS=y
1157CONFIG_RELAYFS_FS=m
1158# CONFIG_CONFIGFS_FS is not set 1186# CONFIG_CONFIGFS_FS is not set
1159 1187
1160# 1188#
@@ -1174,7 +1202,6 @@ CONFIG_VXFS_FS=m
1174# CONFIG_QNX4FS_FS is not set 1202# CONFIG_QNX4FS_FS is not set
1175CONFIG_SYSV_FS=m 1203CONFIG_SYSV_FS=m
1176CONFIG_UFS_FS=m 1204CONFIG_UFS_FS=m
1177# CONFIG_UFS_FS_WRITE is not set
1178 1205
1179# 1206#
1180# Network File Systems 1207# Network File Systems
@@ -1266,6 +1293,7 @@ CONFIG_NLS_UTF8=m
1266# CONFIG_MAGIC_SYSRQ is not set 1293# CONFIG_MAGIC_SYSRQ is not set
1267# CONFIG_DEBUG_KERNEL is not set 1294# CONFIG_DEBUG_KERNEL is not set
1268CONFIG_LOG_BUF_SHIFT=14 1295CONFIG_LOG_BUF_SHIFT=14
1296# CONFIG_DEBUG_FS is not set
1269CONFIG_CROSSCOMPILE=y 1297CONFIG_CROSSCOMPILE=y
1270CONFIG_CMDLINE="" 1298CONFIG_CMDLINE=""
1271 1299
diff --git a/arch/mips/configs/mipssim_defconfig b/arch/mips/configs/mipssim_defconfig
index fe78961762b8..00560e0143f1 100644
--- a/arch/mips/configs/mipssim_defconfig
+++ b/arch/mips/configs/mipssim_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.16-rc1 3# Linux kernel version: 2.6.17-rc2
4# Fri Jan 27 15:40:16 2006 4# Mon Apr 24 14:51:09 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -64,6 +64,8 @@ CONFIG_MIPS_SIM=y
64# CONFIG_TOSHIBA_RBTX4927 is not set 64# CONFIG_TOSHIBA_RBTX4927 is not set
65# CONFIG_TOSHIBA_RBTX4938 is not set 65# CONFIG_TOSHIBA_RBTX4938 is not set
66CONFIG_RWSEM_GENERIC_SPINLOCK=y 66CONFIG_RWSEM_GENERIC_SPINLOCK=y
67CONFIG_GENERIC_FIND_NEXT_BIT=y
68CONFIG_GENERIC_HWEIGHT=y
67CONFIG_GENERIC_CALIBRATE_DELAY=y 69CONFIG_GENERIC_CALIBRATE_DELAY=y
68CONFIG_DMA_NONCOHERENT=y 70CONFIG_DMA_NONCOHERENT=y
69CONFIG_DMA_NEED_PCI_MAP_STATE=y 71CONFIG_DMA_NEED_PCI_MAP_STATE=y
@@ -114,16 +116,19 @@ CONFIG_PAGE_SIZE_4KB=y
114# CONFIG_PAGE_SIZE_64KB is not set 116# CONFIG_PAGE_SIZE_64KB is not set
115CONFIG_CPU_HAS_PREFETCH=y 117CONFIG_CPU_HAS_PREFETCH=y
116CONFIG_MIPS_MT=y 118CONFIG_MIPS_MT=y
119# CONFIG_MIPS_MT_SMTC is not set
117# CONFIG_MIPS_MT_SMP is not set 120# CONFIG_MIPS_MT_SMP is not set
118CONFIG_MIPS_VPE_LOADER=y 121CONFIG_MIPS_VPE_LOADER=y
122CONFIG_MIPS_MT_FPAFF=y
119CONFIG_MIPS_VPE_LOADER_TOM=y 123CONFIG_MIPS_VPE_LOADER_TOM=y
120CONFIG_MIPS_VPE_APSP_API=y 124CONFIG_MIPS_VPE_APSP_API=y
125CONFIG_MIPS_APSP_KSPD=y
121# CONFIG_64BIT_PHYS_ADDR is not set 126# CONFIG_64BIT_PHYS_ADDR is not set
122# CONFIG_CPU_ADVANCED is not set
123CONFIG_CPU_HAS_LLSC=y 127CONFIG_CPU_HAS_LLSC=y
124CONFIG_CPU_HAS_SYNC=y 128CONFIG_CPU_HAS_SYNC=y
125CONFIG_GENERIC_HARDIRQS=y 129CONFIG_GENERIC_HARDIRQS=y
126CONFIG_GENERIC_IRQ_PROBE=y 130CONFIG_GENERIC_IRQ_PROBE=y
131CONFIG_CPU_SUPPORTS_HIGHMEM=y
127CONFIG_ARCH_FLATMEM_ENABLE=y 132CONFIG_ARCH_FLATMEM_ENABLE=y
128CONFIG_SELECT_MEMORY_MODEL=y 133CONFIG_SELECT_MEMORY_MODEL=y
129CONFIG_FLATMEM_MANUAL=y 134CONFIG_FLATMEM_MANUAL=y
@@ -141,7 +146,6 @@ CONFIG_PREEMPT_NONE=y
141# Code maturity level options 146# Code maturity level options
142# 147#
143CONFIG_EXPERIMENTAL=y 148CONFIG_EXPERIMENTAL=y
144CONFIG_CLEAN_COMPILE=y
145CONFIG_BROKEN_ON_SMP=y 149CONFIG_BROKEN_ON_SMP=y
146CONFIG_INIT_ENV_ARG_LIMIT=32 150CONFIG_INIT_ENV_ARG_LIMIT=32
147 151
@@ -157,6 +161,7 @@ CONFIG_SYSVIPC=y
157CONFIG_SYSCTL=y 161CONFIG_SYSCTL=y
158# CONFIG_AUDIT is not set 162# CONFIG_AUDIT is not set
159# CONFIG_IKCONFIG is not set 163# CONFIG_IKCONFIG is not set
164# CONFIG_RELAY is not set
160CONFIG_INITRAMFS_SOURCE="" 165CONFIG_INITRAMFS_SOURCE=""
161# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 166# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
162CONFIG_EMBEDDED=y 167CONFIG_EMBEDDED=y
@@ -171,10 +176,6 @@ CONFIG_BASE_FULL=y
171CONFIG_FUTEX=y 176CONFIG_FUTEX=y
172CONFIG_EPOLL=y 177CONFIG_EPOLL=y
173CONFIG_SHMEM=y 178CONFIG_SHMEM=y
174CONFIG_CC_ALIGN_FUNCTIONS=0
175CONFIG_CC_ALIGN_LABELS=0
176CONFIG_CC_ALIGN_LOOPS=0
177CONFIG_CC_ALIGN_JUMPS=0
178CONFIG_SLAB=y 179CONFIG_SLAB=y
179# CONFIG_TINY_SHMEM is not set 180# CONFIG_TINY_SHMEM is not set
180CONFIG_BASE_SMALL=0 181CONFIG_BASE_SMALL=0
@@ -186,7 +187,6 @@ CONFIG_BASE_SMALL=0
186CONFIG_MODULES=y 187CONFIG_MODULES=y
187CONFIG_MODULE_UNLOAD=y 188CONFIG_MODULE_UNLOAD=y
188# CONFIG_MODULE_FORCE_UNLOAD is not set 189# CONFIG_MODULE_FORCE_UNLOAD is not set
189CONFIG_OBSOLETE_MODPARM=y
190CONFIG_MODVERSIONS=y 190CONFIG_MODVERSIONS=y
191CONFIG_MODULE_SRCVERSION_ALL=y 191CONFIG_MODULE_SRCVERSION_ALL=y
192CONFIG_KMOD=y 192CONFIG_KMOD=y
@@ -195,6 +195,7 @@ CONFIG_KMOD=y
195# Block layer 195# Block layer
196# 196#
197# CONFIG_LBD is not set 197# CONFIG_LBD is not set
198# CONFIG_LSF is not set
198 199
199# 200#
200# IO Schedulers 201# IO Schedulers
@@ -238,6 +239,7 @@ CONFIG_NET=y
238# 239#
239# Networking options 240# Networking options
240# 241#
242# CONFIG_NETDEBUG is not set
241CONFIG_PACKET=y 243CONFIG_PACKET=y
242CONFIG_PACKET_MMAP=y 244CONFIG_PACKET_MMAP=y
243CONFIG_UNIX=y 245CONFIG_UNIX=y
@@ -268,12 +270,15 @@ CONFIG_SYN_COOKIES=y
268# CONFIG_INET_AH is not set 270# CONFIG_INET_AH is not set
269# CONFIG_INET_ESP is not set 271# CONFIG_INET_ESP is not set
270# CONFIG_INET_IPCOMP is not set 272# CONFIG_INET_IPCOMP is not set
273# CONFIG_INET_XFRM_TUNNEL is not set
271# CONFIG_INET_TUNNEL is not set 274# CONFIG_INET_TUNNEL is not set
272CONFIG_INET_DIAG=y 275CONFIG_INET_DIAG=y
273CONFIG_INET_TCP_DIAG=y 276CONFIG_INET_TCP_DIAG=y
274# CONFIG_TCP_CONG_ADVANCED is not set 277# CONFIG_TCP_CONG_ADVANCED is not set
275CONFIG_TCP_CONG_BIC=y 278CONFIG_TCP_CONG_BIC=y
276# CONFIG_IPV6 is not set 279# CONFIG_IPV6 is not set
280# CONFIG_INET6_XFRM_TUNNEL is not set
281# CONFIG_INET6_TUNNEL is not set
277# CONFIG_NETFILTER is not set 282# CONFIG_NETFILTER is not set
278 283
279# 284#
@@ -290,6 +295,11 @@ CONFIG_IP_SCTP=m
290# CONFIG_SCTP_HMAC_NONE is not set 295# CONFIG_SCTP_HMAC_NONE is not set
291# CONFIG_SCTP_HMAC_SHA1 is not set 296# CONFIG_SCTP_HMAC_SHA1 is not set
292CONFIG_SCTP_HMAC_MD5=y 297CONFIG_SCTP_HMAC_MD5=y
298
299#
300# TIPC Configuration (EXPERIMENTAL)
301#
302# CONFIG_TIPC is not set
293# CONFIG_ATM is not set 303# CONFIG_ATM is not set
294# CONFIG_BRIDGE is not set 304# CONFIG_BRIDGE is not set
295# CONFIG_VLAN_8021Q is not set 305# CONFIG_VLAN_8021Q is not set
@@ -299,11 +309,6 @@ CONFIG_SCTP_HMAC_MD5=y
299# CONFIG_ATALK is not set 309# CONFIG_ATALK is not set
300# CONFIG_X25 is not set 310# CONFIG_X25 is not set
301# CONFIG_LAPB is not set 311# CONFIG_LAPB is not set
302
303#
304# TIPC Configuration (EXPERIMENTAL)
305#
306# CONFIG_TIPC is not set
307CONFIG_NET_DIVERT=y 312CONFIG_NET_DIVERT=y
308# CONFIG_ECONET is not set 313# CONFIG_ECONET is not set
309# CONFIG_WAN_ROUTER is not set 314# CONFIG_WAN_ROUTER is not set
@@ -397,7 +402,7 @@ CONFIG_BLK_DEV_LOOP=y
397# CONFIG_BLK_DEV_CRYPTOLOOP is not set 402# CONFIG_BLK_DEV_CRYPTOLOOP is not set
398CONFIG_BLK_DEV_NBD=y 403CONFIG_BLK_DEV_NBD=y
399# CONFIG_BLK_DEV_RAM is not set 404# CONFIG_BLK_DEV_RAM is not set
400CONFIG_BLK_DEV_RAM_COUNT=16 405# CONFIG_BLK_DEV_INITRD is not set
401# CONFIG_CDROM_PKTCDVD is not set 406# CONFIG_CDROM_PKTCDVD is not set
402# CONFIG_ATA_OVER_ETH is not set 407# CONFIG_ATA_OVER_ETH is not set
403 408
@@ -532,7 +537,7 @@ CONFIG_SERIO_SERPORT=y
532CONFIG_SERIAL_8250=y 537CONFIG_SERIAL_8250=y
533CONFIG_SERIAL_8250_CONSOLE=y 538CONFIG_SERIAL_8250_CONSOLE=y
534CONFIG_SERIAL_8250_NR_UARTS=1 539CONFIG_SERIAL_8250_NR_UARTS=1
535CONFIG_SERIAL_8250_RUNTIME_UARTS=4 540CONFIG_SERIAL_8250_RUNTIME_UARTS=1
536# CONFIG_SERIAL_8250_EXTENDED is not set 541# CONFIG_SERIAL_8250_EXTENDED is not set
537 542
538# 543#
@@ -596,10 +601,6 @@ CONFIG_LEGACY_PTY_COUNT=256
596# 601#
597 602
598# 603#
599# Multimedia Capabilities Port drivers
600#
601
602#
603# Multimedia devices 604# Multimedia devices
604# 605#
605# CONFIG_VIDEO_DEV is not set 606# CONFIG_VIDEO_DEV is not set
@@ -624,6 +625,7 @@ CONFIG_LEGACY_PTY_COUNT=256
624# 625#
625# CONFIG_USB_ARCH_HAS_HCD is not set 626# CONFIG_USB_ARCH_HAS_HCD is not set
626# CONFIG_USB_ARCH_HAS_OHCI is not set 627# CONFIG_USB_ARCH_HAS_OHCI is not set
628# CONFIG_USB_ARCH_HAS_EHCI is not set
627 629
628# 630#
629# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 631# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
@@ -640,12 +642,30 @@ CONFIG_LEGACY_PTY_COUNT=256
640# CONFIG_MMC is not set 642# CONFIG_MMC is not set
641 643
642# 644#
645# LED devices
646#
647# CONFIG_NEW_LEDS is not set
648
649#
650# LED drivers
651#
652
653#
654# LED Triggers
655#
656
657#
643# InfiniBand support 658# InfiniBand support
644# 659#
645 660
646# 661#
647# SN Devices 662# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
663#
664
665#
666# Real Time Clock
648# 667#
668# CONFIG_RTC_CLASS is not set
649 669
650# 670#
651# File systems 671# File systems
@@ -690,8 +710,6 @@ CONFIG_PROC_FS=y
690# CONFIG_TMPFS is not set 710# CONFIG_TMPFS is not set
691# CONFIG_HUGETLB_PAGE is not set 711# CONFIG_HUGETLB_PAGE is not set
692CONFIG_RAMFS=y 712CONFIG_RAMFS=y
693# CONFIG_RELAYFS_FS is not set
694# CONFIG_CONFIGFS_FS is not set
695 713
696# 714#
697# Miscellaneous filesystems 715# Miscellaneous filesystems
diff --git a/arch/mips/configs/mpc30x_defconfig b/arch/mips/configs/mpc30x_defconfig
index e4620e7f0a5e..286a018375b2 100644
--- a/arch/mips/configs/mpc30x_defconfig
+++ b/arch/mips/configs/mpc30x_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.16-rc1 3# Linux kernel version: 2.6.17-rc2
4# Fri Jan 27 15:40:17 2006 4# Mon Apr 24 14:51:09 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -72,6 +72,8 @@ CONFIG_VICTOR_MPC30X=y
72CONFIG_PCI_VR41XX=y 72CONFIG_PCI_VR41XX=y
73CONFIG_VRC4173=y 73CONFIG_VRC4173=y
74CONFIG_RWSEM_GENERIC_SPINLOCK=y 74CONFIG_RWSEM_GENERIC_SPINLOCK=y
75CONFIG_GENERIC_FIND_NEXT_BIT=y
76CONFIG_GENERIC_HWEIGHT=y
75CONFIG_GENERIC_CALIBRATE_DELAY=y 77CONFIG_GENERIC_CALIBRATE_DELAY=y
76CONFIG_DMA_NONCOHERENT=y 78CONFIG_DMA_NONCOHERENT=y
77CONFIG_DMA_NEED_PCI_MAP_STATE=y 79CONFIG_DMA_NEED_PCI_MAP_STATE=y
@@ -90,7 +92,7 @@ CONFIG_MIPS_L1_CACHE_SHIFT=5
90# CONFIG_CPU_MIPS64_R2 is not set 92# CONFIG_CPU_MIPS64_R2 is not set
91# CONFIG_CPU_R3000 is not set 93# CONFIG_CPU_R3000 is not set
92# CONFIG_CPU_TX39XX is not set 94# CONFIG_CPU_TX39XX is not set
93# CONFIG_CPU_VR41XX is not set 95CONFIG_CPU_VR41XX=y
94# CONFIG_CPU_R4300 is not set 96# CONFIG_CPU_R4300 is not set
95# CONFIG_CPU_R4X00 is not set 97# CONFIG_CPU_R4X00 is not set
96# CONFIG_CPU_TX49XX is not set 98# CONFIG_CPU_TX49XX is not set
@@ -103,18 +105,21 @@ CONFIG_MIPS_L1_CACHE_SHIFT=5
103# CONFIG_CPU_RM7000 is not set 105# CONFIG_CPU_RM7000 is not set
104# CONFIG_CPU_RM9000 is not set 106# CONFIG_CPU_RM9000 is not set
105# CONFIG_CPU_SB1 is not set 107# CONFIG_CPU_SB1 is not set
108CONFIG_SYS_HAS_CPU_VR41XX=y
109CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y
110CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y
111CONFIG_CPU_SUPPORTS_64BIT_KERNEL=y
106 112
107# 113#
108# Kernel type 114# Kernel type
109# 115#
110# CONFIG_32BIT is not set 116CONFIG_32BIT=y
111# CONFIG_64BIT is not set 117# CONFIG_64BIT is not set
112CONFIG_PAGE_SIZE_4KB=y 118CONFIG_PAGE_SIZE_4KB=y
113# CONFIG_PAGE_SIZE_8KB is not set 119# CONFIG_PAGE_SIZE_8KB is not set
114# CONFIG_PAGE_SIZE_16KB is not set 120# CONFIG_PAGE_SIZE_16KB is not set
115# CONFIG_PAGE_SIZE_64KB is not set 121# CONFIG_PAGE_SIZE_64KB is not set
116# CONFIG_MIPS_MT is not set 122# CONFIG_MIPS_MT is not set
117CONFIG_CPU_HAS_LLSC=y
118CONFIG_CPU_HAS_SYNC=y 123CONFIG_CPU_HAS_SYNC=y
119CONFIG_GENERIC_HARDIRQS=y 124CONFIG_GENERIC_HARDIRQS=y
120CONFIG_GENERIC_IRQ_PROBE=y 125CONFIG_GENERIC_IRQ_PROBE=y
@@ -135,7 +140,6 @@ CONFIG_PREEMPT_NONE=y
135# Code maturity level options 140# Code maturity level options
136# 141#
137CONFIG_EXPERIMENTAL=y 142CONFIG_EXPERIMENTAL=y
138CONFIG_CLEAN_COMPILE=y
139CONFIG_BROKEN_ON_SMP=y 143CONFIG_BROKEN_ON_SMP=y
140CONFIG_INIT_ENV_ARG_LIMIT=32 144CONFIG_INIT_ENV_ARG_LIMIT=32
141 145
@@ -151,6 +155,7 @@ CONFIG_SYSVIPC=y
151CONFIG_SYSCTL=y 155CONFIG_SYSCTL=y
152# CONFIG_AUDIT is not set 156# CONFIG_AUDIT is not set
153# CONFIG_IKCONFIG is not set 157# CONFIG_IKCONFIG is not set
158CONFIG_RELAY=y
154CONFIG_INITRAMFS_SOURCE="" 159CONFIG_INITRAMFS_SOURCE=""
155# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 160# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
156CONFIG_EMBEDDED=y 161CONFIG_EMBEDDED=y
@@ -164,10 +169,6 @@ CONFIG_BASE_FULL=y
164CONFIG_FUTEX=y 169CONFIG_FUTEX=y
165CONFIG_EPOLL=y 170CONFIG_EPOLL=y
166CONFIG_SHMEM=y 171CONFIG_SHMEM=y
167CONFIG_CC_ALIGN_FUNCTIONS=0
168CONFIG_CC_ALIGN_LABELS=0
169CONFIG_CC_ALIGN_LOOPS=0
170CONFIG_CC_ALIGN_JUMPS=0
171CONFIG_SLAB=y 172CONFIG_SLAB=y
172# CONFIG_TINY_SHMEM is not set 173# CONFIG_TINY_SHMEM is not set
173CONFIG_BASE_SMALL=0 174CONFIG_BASE_SMALL=0
@@ -179,7 +180,6 @@ CONFIG_BASE_SMALL=0
179CONFIG_MODULES=y 180CONFIG_MODULES=y
180CONFIG_MODULE_UNLOAD=y 181CONFIG_MODULE_UNLOAD=y
181# CONFIG_MODULE_FORCE_UNLOAD is not set 182# CONFIG_MODULE_FORCE_UNLOAD is not set
182CONFIG_OBSOLETE_MODPARM=y
183CONFIG_MODVERSIONS=y 183CONFIG_MODVERSIONS=y
184CONFIG_MODULE_SRCVERSION_ALL=y 184CONFIG_MODULE_SRCVERSION_ALL=y
185CONFIG_KMOD=y 185CONFIG_KMOD=y
@@ -187,6 +187,9 @@ CONFIG_KMOD=y
187# 187#
188# Block layer 188# Block layer
189# 189#
190# CONFIG_LBD is not set
191# CONFIG_BLK_DEV_IO_TRACE is not set
192# CONFIG_LSF is not set
190 193
191# 194#
192# IO Schedulers 195# IO Schedulers
@@ -206,7 +209,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
206# 209#
207CONFIG_HW_HAS_PCI=y 210CONFIG_HW_HAS_PCI=y
208CONFIG_PCI=y 211CONFIG_PCI=y
209CONFIG_PCI_LEGACY_PROC=y
210CONFIG_MMU=y 212CONFIG_MMU=y
211 213
212# 214#
@@ -225,6 +227,7 @@ CONFIG_PCMCIA_IOCTL=y
225# CONFIG_YENTA is not set 227# CONFIG_YENTA is not set
226# CONFIG_PD6729 is not set 228# CONFIG_PD6729 is not set
227# CONFIG_I82092 is not set 229# CONFIG_I82092 is not set
230# CONFIG_PCMCIA_VRC4173 is not set
228 231
229# 232#
230# PCI Hotplug Support 233# PCI Hotplug Support
@@ -236,6 +239,7 @@ CONFIG_PCMCIA_IOCTL=y
236# 239#
237CONFIG_BINFMT_ELF=y 240CONFIG_BINFMT_ELF=y
238# CONFIG_BINFMT_MISC is not set 241# CONFIG_BINFMT_MISC is not set
242CONFIG_TRAD_SIGNALS=y
239 243
240# 244#
241# Networking 245# Networking
@@ -245,6 +249,7 @@ CONFIG_NET=y
245# 249#
246# Networking options 250# Networking options
247# 251#
252# CONFIG_NETDEBUG is not set
248CONFIG_PACKET=y 253CONFIG_PACKET=y
249CONFIG_PACKET_MMAP=y 254CONFIG_PACKET_MMAP=y
250CONFIG_UNIX=y 255CONFIG_UNIX=y
@@ -264,12 +269,15 @@ CONFIG_IP_FIB_HASH=y
264# CONFIG_INET_AH is not set 269# CONFIG_INET_AH is not set
265# CONFIG_INET_ESP is not set 270# CONFIG_INET_ESP is not set
266# CONFIG_INET_IPCOMP is not set 271# CONFIG_INET_IPCOMP is not set
267CONFIG_INET_TUNNEL=m 272# CONFIG_INET_XFRM_TUNNEL is not set
273# CONFIG_INET_TUNNEL is not set
268CONFIG_INET_DIAG=y 274CONFIG_INET_DIAG=y
269CONFIG_INET_TCP_DIAG=y 275CONFIG_INET_TCP_DIAG=y
270# CONFIG_TCP_CONG_ADVANCED is not set 276# CONFIG_TCP_CONG_ADVANCED is not set
271CONFIG_TCP_CONG_BIC=y 277CONFIG_TCP_CONG_BIC=y
272# CONFIG_IPV6 is not set 278# CONFIG_IPV6 is not set
279# CONFIG_INET6_XFRM_TUNNEL is not set
280# CONFIG_INET6_TUNNEL is not set
273# CONFIG_NETFILTER is not set 281# CONFIG_NETFILTER is not set
274 282
275# 283#
@@ -281,6 +289,11 @@ CONFIG_TCP_CONG_BIC=y
281# SCTP Configuration (EXPERIMENTAL) 289# SCTP Configuration (EXPERIMENTAL)
282# 290#
283# CONFIG_IP_SCTP is not set 291# CONFIG_IP_SCTP is not set
292
293#
294# TIPC Configuration (EXPERIMENTAL)
295#
296# CONFIG_TIPC is not set
284# CONFIG_ATM is not set 297# CONFIG_ATM is not set
285# CONFIG_BRIDGE is not set 298# CONFIG_BRIDGE is not set
286# CONFIG_VLAN_8021Q is not set 299# CONFIG_VLAN_8021Q is not set
@@ -290,11 +303,6 @@ CONFIG_TCP_CONG_BIC=y
290# CONFIG_ATALK is not set 303# CONFIG_ATALK is not set
291# CONFIG_X25 is not set 304# CONFIG_X25 is not set
292# CONFIG_LAPB is not set 305# CONFIG_LAPB is not set
293
294#
295# TIPC Configuration (EXPERIMENTAL)
296#
297# CONFIG_TIPC is not set
298# CONFIG_NET_DIVERT is not set 306# CONFIG_NET_DIVERT is not set
299# CONFIG_ECONET is not set 307# CONFIG_ECONET is not set
300# CONFIG_WAN_ROUTER is not set 308# CONFIG_WAN_ROUTER is not set
@@ -316,6 +324,9 @@ CONFIG_IEEE80211=m
316CONFIG_IEEE80211_CRYPT_WEP=m 324CONFIG_IEEE80211_CRYPT_WEP=m
317CONFIG_IEEE80211_CRYPT_CCMP=m 325CONFIG_IEEE80211_CRYPT_CCMP=m
318CONFIG_IEEE80211_CRYPT_TKIP=m 326CONFIG_IEEE80211_CRYPT_TKIP=m
327CONFIG_IEEE80211_SOFTMAC=m
328# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set
329CONFIG_WIRELESS_EXT=y
319 330
320# 331#
321# Device Drivers 332# Device Drivers
@@ -360,7 +371,7 @@ CONFIG_CONNECTOR=m
360# CONFIG_BLK_DEV_SX8 is not set 371# CONFIG_BLK_DEV_SX8 is not set
361# CONFIG_BLK_DEV_UB is not set 372# CONFIG_BLK_DEV_UB is not set
362# CONFIG_BLK_DEV_RAM is not set 373# CONFIG_BLK_DEV_RAM is not set
363CONFIG_BLK_DEV_RAM_COUNT=16 374# CONFIG_BLK_DEV_INITRD is not set
364# CONFIG_CDROM_PKTCDVD is not set 375# CONFIG_CDROM_PKTCDVD is not set
365CONFIG_ATA_OVER_ETH=m 376CONFIG_ATA_OVER_ETH=m
366 377
@@ -475,6 +486,7 @@ CONFIG_MII=m
475# Wireless LAN (non-hamradio) 486# Wireless LAN (non-hamradio)
476# 487#
477CONFIG_NET_RADIO=y 488CONFIG_NET_RADIO=y
489# CONFIG_NET_WIRELESS_RTNETLINK is not set
478 490
479# 491#
480# Obsolete Wireless cards support (pre-802.11) 492# Obsolete Wireless cards support (pre-802.11)
@@ -513,6 +525,7 @@ CONFIG_PCMCIA_HERMES=m
513# 525#
514# CONFIG_PRISM54 is not set 526# CONFIG_PRISM54 is not set
515# CONFIG_HOSTAP is not set 527# CONFIG_HOSTAP is not set
528# CONFIG_BCM43XX is not set
516CONFIG_NET_WIRELESS=y 529CONFIG_NET_WIRELESS=y
517 530
518# 531#
@@ -604,6 +617,8 @@ CONFIG_HW_CONSOLE=y
604# 617#
605# Non-8250 serial port support 618# Non-8250 serial port support
606# 619#
620# CONFIG_SERIAL_VR41XX is not set
621# CONFIG_SERIAL_JSM is not set
607CONFIG_UNIX98_PTYS=y 622CONFIG_UNIX98_PTYS=y
608CONFIG_LEGACY_PTYS=y 623CONFIG_LEGACY_PTYS=y
609CONFIG_LEGACY_PTY_COUNT=256 624CONFIG_LEGACY_PTY_COUNT=256
@@ -634,6 +649,7 @@ CONFIG_LEGACY_PTY_COUNT=256
634# CONFIG_SYNCLINK_CS is not set 649# CONFIG_SYNCLINK_CS is not set
635# CONFIG_CARDMAN_4000 is not set 650# CONFIG_CARDMAN_4000 is not set
636# CONFIG_CARDMAN_4040 is not set 651# CONFIG_CARDMAN_4040 is not set
652# CONFIG_GPIO_VR41XX is not set
637# CONFIG_RAW_DRIVER is not set 653# CONFIG_RAW_DRIVER is not set
638 654
639# 655#
@@ -669,10 +685,6 @@ CONFIG_LEGACY_PTY_COUNT=256
669# 685#
670 686
671# 687#
672# Multimedia Capabilities Port drivers
673#
674
675#
676# Multimedia devices 688# Multimedia devices
677# 689#
678# CONFIG_VIDEO_DEV is not set 690# CONFIG_VIDEO_DEV is not set
@@ -681,6 +693,7 @@ CONFIG_LEGACY_PTY_COUNT=256
681# Digital Video Broadcasting Devices 693# Digital Video Broadcasting Devices
682# 694#
683# CONFIG_DVB is not set 695# CONFIG_DVB is not set
696# CONFIG_USB_DABUSB is not set
684 697
685# 698#
686# Graphics support 699# Graphics support
@@ -703,6 +716,7 @@ CONFIG_DUMMY_CONSOLE=y
703# 716#
704CONFIG_USB_ARCH_HAS_HCD=y 717CONFIG_USB_ARCH_HAS_HCD=y
705CONFIG_USB_ARCH_HAS_OHCI=y 718CONFIG_USB_ARCH_HAS_OHCI=y
719CONFIG_USB_ARCH_HAS_EHCI=y
706CONFIG_USB=m 720CONFIG_USB=m
707# CONFIG_USB_DEBUG is not set 721# CONFIG_USB_DEBUG is not set
708 722
@@ -756,9 +770,7 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
756# CONFIG_USB_ACECAD is not set 770# CONFIG_USB_ACECAD is not set
757# CONFIG_USB_KBTAB is not set 771# CONFIG_USB_KBTAB is not set
758# CONFIG_USB_POWERMATE is not set 772# CONFIG_USB_POWERMATE is not set
759# CONFIG_USB_MTOUCH is not set 773# CONFIG_USB_TOUCHSCREEN is not set
760# CONFIG_USB_ITMTOUCH is not set
761# CONFIG_USB_EGALAX is not set
762# CONFIG_USB_YEALINK is not set 774# CONFIG_USB_YEALINK is not set
763# CONFIG_USB_XPAD is not set 775# CONFIG_USB_XPAD is not set
764# CONFIG_USB_ATI_REMOTE is not set 776# CONFIG_USB_ATI_REMOTE is not set
@@ -772,15 +784,6 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
772# CONFIG_USB_MDC800 is not set 784# CONFIG_USB_MDC800 is not set
773 785
774# 786#
775# USB Multimedia devices
776#
777# CONFIG_USB_DABUSB is not set
778
779#
780# Video4Linux support is needed for USB Multimedia device support
781#
782
783#
784# USB Network Adapters 787# USB Network Adapters
785# 788#
786# CONFIG_USB_CATC is not set 789# CONFIG_USB_CATC is not set
@@ -832,13 +835,31 @@ CONFIG_USB_PEGASUS=m
832# CONFIG_MMC is not set 835# CONFIG_MMC is not set
833 836
834# 837#
838# LED devices
839#
840# CONFIG_NEW_LEDS is not set
841
842#
843# LED drivers
844#
845
846#
847# LED Triggers
848#
849
850#
835# InfiniBand support 851# InfiniBand support
836# 852#
837# CONFIG_INFINIBAND is not set 853# CONFIG_INFINIBAND is not set
838 854
839# 855#
840# SN Devices 856# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
857#
858
859#
860# Real Time Clock
841# 861#
862# CONFIG_RTC_CLASS is not set
842 863
843# 864#
844# File systems 865# File systems
@@ -883,7 +904,6 @@ CONFIG_SYSFS=y
883# CONFIG_TMPFS is not set 904# CONFIG_TMPFS is not set
884# CONFIG_HUGETLB_PAGE is not set 905# CONFIG_HUGETLB_PAGE is not set
885CONFIG_RAMFS=y 906CONFIG_RAMFS=y
886CONFIG_RELAYFS_FS=m
887# CONFIG_CONFIGFS_FS is not set 907# CONFIG_CONFIGFS_FS is not set
888 908
889# 909#
@@ -946,6 +966,7 @@ CONFIG_MSDOS_PARTITION=y
946# CONFIG_MAGIC_SYSRQ is not set 966# CONFIG_MAGIC_SYSRQ is not set
947# CONFIG_DEBUG_KERNEL is not set 967# CONFIG_DEBUG_KERNEL is not set
948CONFIG_LOG_BUF_SHIFT=14 968CONFIG_LOG_BUF_SHIFT=14
969# CONFIG_DEBUG_FS is not set
949CONFIG_CROSSCOMPILE=y 970CONFIG_CROSSCOMPILE=y
950CONFIG_CMDLINE="mem=32M console=ttyVR0,19200" 971CONFIG_CMDLINE="mem=32M console=ttyVR0,19200"
951 972
diff --git a/arch/mips/configs/ocelot_3_defconfig b/arch/mips/configs/ocelot_3_defconfig
index 925d8adef88d..1ce4310fd92a 100644
--- a/arch/mips/configs/ocelot_3_defconfig
+++ b/arch/mips/configs/ocelot_3_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.16-rc1 3# Linux kernel version: 2.6.17-rc2
4# Fri Jan 27 15:40:18 2006 4# Mon Apr 24 14:51:10 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -64,6 +64,8 @@ CONFIG_MOMENCO_OCELOT_3=y
64# CONFIG_TOSHIBA_RBTX4927 is not set 64# CONFIG_TOSHIBA_RBTX4927 is not set
65# CONFIG_TOSHIBA_RBTX4938 is not set 65# CONFIG_TOSHIBA_RBTX4938 is not set
66CONFIG_RWSEM_GENERIC_SPINLOCK=y 66CONFIG_RWSEM_GENERIC_SPINLOCK=y
67CONFIG_GENERIC_FIND_NEXT_BIT=y
68CONFIG_GENERIC_HWEIGHT=y
67CONFIG_GENERIC_CALIBRATE_DELAY=y 69CONFIG_GENERIC_CALIBRATE_DELAY=y
68CONFIG_DMA_NONCOHERENT=y 70CONFIG_DMA_NONCOHERENT=y
69CONFIG_DMA_NEED_PCI_MAP_STATE=y 71CONFIG_DMA_NEED_PCI_MAP_STATE=y
@@ -120,7 +122,6 @@ CONFIG_RM7000_CPU_SCACHE=y
120CONFIG_CPU_HAS_PREFETCH=y 122CONFIG_CPU_HAS_PREFETCH=y
121# CONFIG_MIPS_MT is not set 123# CONFIG_MIPS_MT is not set
122# CONFIG_64BIT_PHYS_ADDR is not set 124# CONFIG_64BIT_PHYS_ADDR is not set
123# CONFIG_CPU_ADVANCED is not set
124CONFIG_CPU_HAS_LLSC=y 125CONFIG_CPU_HAS_LLSC=y
125CONFIG_CPU_HAS_SYNC=y 126CONFIG_CPU_HAS_SYNC=y
126CONFIG_GENERIC_HARDIRQS=y 127CONFIG_GENERIC_HARDIRQS=y
@@ -144,7 +145,6 @@ CONFIG_PREEMPT_NONE=y
144# Code maturity level options 145# Code maturity level options
145# 146#
146CONFIG_EXPERIMENTAL=y 147CONFIG_EXPERIMENTAL=y
147CONFIG_CLEAN_COMPILE=y
148CONFIG_BROKEN_ON_SMP=y 148CONFIG_BROKEN_ON_SMP=y
149CONFIG_INIT_ENV_ARG_LIMIT=32 149CONFIG_INIT_ENV_ARG_LIMIT=32
150 150
@@ -161,6 +161,7 @@ CONFIG_SYSCTL=y
161# CONFIG_AUDIT is not set 161# CONFIG_AUDIT is not set
162CONFIG_IKCONFIG=y 162CONFIG_IKCONFIG=y
163CONFIG_IKCONFIG_PROC=y 163CONFIG_IKCONFIG_PROC=y
164CONFIG_RELAY=y
164CONFIG_INITRAMFS_SOURCE="" 165CONFIG_INITRAMFS_SOURCE=""
165# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 166# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
166CONFIG_EMBEDDED=y 167CONFIG_EMBEDDED=y
@@ -174,10 +175,6 @@ CONFIG_BASE_FULL=y
174CONFIG_FUTEX=y 175CONFIG_FUTEX=y
175CONFIG_EPOLL=y 176CONFIG_EPOLL=y
176CONFIG_SHMEM=y 177CONFIG_SHMEM=y
177CONFIG_CC_ALIGN_FUNCTIONS=0
178CONFIG_CC_ALIGN_LABELS=0
179CONFIG_CC_ALIGN_LOOPS=0
180CONFIG_CC_ALIGN_JUMPS=0
181CONFIG_SLAB=y 178CONFIG_SLAB=y
182# CONFIG_TINY_SHMEM is not set 179# CONFIG_TINY_SHMEM is not set
183CONFIG_BASE_SMALL=0 180CONFIG_BASE_SMALL=0
@@ -189,7 +186,6 @@ CONFIG_BASE_SMALL=0
189CONFIG_MODULES=y 186CONFIG_MODULES=y
190CONFIG_MODULE_UNLOAD=y 187CONFIG_MODULE_UNLOAD=y
191# CONFIG_MODULE_FORCE_UNLOAD is not set 188# CONFIG_MODULE_FORCE_UNLOAD is not set
192CONFIG_OBSOLETE_MODPARM=y
193CONFIG_MODVERSIONS=y 189CONFIG_MODVERSIONS=y
194# CONFIG_MODULE_SRCVERSION_ALL is not set 190# CONFIG_MODULE_SRCVERSION_ALL is not set
195CONFIG_KMOD=y 191CONFIG_KMOD=y
@@ -198,6 +194,8 @@ CONFIG_KMOD=y
198# Block layer 194# Block layer
199# 195#
200# CONFIG_LBD is not set 196# CONFIG_LBD is not set
197# CONFIG_BLK_DEV_IO_TRACE is not set
198# CONFIG_LSF is not set
201 199
202# 200#
203# IO Schedulers 201# IO Schedulers
@@ -217,7 +215,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
217# 215#
218CONFIG_HW_HAS_PCI=y 216CONFIG_HW_HAS_PCI=y
219CONFIG_PCI=y 217CONFIG_PCI=y
220CONFIG_PCI_LEGACY_PROC=y
221CONFIG_MMU=y 218CONFIG_MMU=y
222 219
223# 220#
@@ -245,6 +242,7 @@ CONFIG_NET=y
245# 242#
246# Networking options 243# Networking options
247# 244#
245# CONFIG_NETDEBUG is not set
248CONFIG_PACKET=y 246CONFIG_PACKET=y
249# CONFIG_PACKET_MMAP is not set 247# CONFIG_PACKET_MMAP is not set
250CONFIG_UNIX=y 248CONFIG_UNIX=y
@@ -266,6 +264,7 @@ CONFIG_IP_PNP_BOOTP=y
266# CONFIG_INET_AH is not set 264# CONFIG_INET_AH is not set
267# CONFIG_INET_ESP is not set 265# CONFIG_INET_ESP is not set
268# CONFIG_INET_IPCOMP is not set 266# CONFIG_INET_IPCOMP is not set
267# CONFIG_INET_XFRM_TUNNEL is not set
269# CONFIG_INET_TUNNEL is not set 268# CONFIG_INET_TUNNEL is not set
270CONFIG_INET_DIAG=y 269CONFIG_INET_DIAG=y
271CONFIG_INET_TCP_DIAG=y 270CONFIG_INET_TCP_DIAG=y
@@ -278,9 +277,12 @@ CONFIG_TCP_CONG_BIC=y
278# CONFIG_IP_VS is not set 277# CONFIG_IP_VS is not set
279CONFIG_IPV6=m 278CONFIG_IPV6=m
280# CONFIG_IPV6_PRIVACY is not set 279# CONFIG_IPV6_PRIVACY is not set
280CONFIG_IPV6_ROUTER_PREF=y
281CONFIG_IPV6_ROUTE_INFO=y
281# CONFIG_INET6_AH is not set 282# CONFIG_INET6_AH is not set
282# CONFIG_INET6_ESP is not set 283# CONFIG_INET6_ESP is not set
283# CONFIG_INET6_IPCOMP is not set 284# CONFIG_INET6_IPCOMP is not set
285# CONFIG_INET6_XFRM_TUNNEL is not set
284# CONFIG_INET6_TUNNEL is not set 286# CONFIG_INET6_TUNNEL is not set
285# CONFIG_IPV6_TUNNEL is not set 287# CONFIG_IPV6_TUNNEL is not set
286CONFIG_NETFILTER=y 288CONFIG_NETFILTER=y
@@ -299,10 +301,13 @@ CONFIG_NETFILTER_XT_TARGET_MARK=m
299CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m 301CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
300CONFIG_NETFILTER_XT_MATCH_COMMENT=m 302CONFIG_NETFILTER_XT_MATCH_COMMENT=m
301CONFIG_NETFILTER_XT_MATCH_DCCP=m 303CONFIG_NETFILTER_XT_MATCH_DCCP=m
304CONFIG_NETFILTER_XT_MATCH_ESP=m
302CONFIG_NETFILTER_XT_MATCH_LENGTH=m 305CONFIG_NETFILTER_XT_MATCH_LENGTH=m
303CONFIG_NETFILTER_XT_MATCH_LIMIT=m 306CONFIG_NETFILTER_XT_MATCH_LIMIT=m
304CONFIG_NETFILTER_XT_MATCH_MAC=m 307CONFIG_NETFILTER_XT_MATCH_MAC=m
305CONFIG_NETFILTER_XT_MATCH_MARK=m 308CONFIG_NETFILTER_XT_MATCH_MARK=m
309CONFIG_NETFILTER_XT_MATCH_POLICY=m
310CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
306CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m 311CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
307CONFIG_NETFILTER_XT_MATCH_REALM=m 312CONFIG_NETFILTER_XT_MATCH_REALM=m
308CONFIG_NETFILTER_XT_MATCH_SCTP=m 313CONFIG_NETFILTER_XT_MATCH_SCTP=m
@@ -332,6 +337,11 @@ CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
332# SCTP Configuration (EXPERIMENTAL) 337# SCTP Configuration (EXPERIMENTAL)
333# 338#
334# CONFIG_IP_SCTP is not set 339# CONFIG_IP_SCTP is not set
340
341#
342# TIPC Configuration (EXPERIMENTAL)
343#
344# CONFIG_TIPC is not set
335# CONFIG_ATM is not set 345# CONFIG_ATM is not set
336# CONFIG_BRIDGE is not set 346# CONFIG_BRIDGE is not set
337# CONFIG_VLAN_8021Q is not set 347# CONFIG_VLAN_8021Q is not set
@@ -341,11 +351,6 @@ CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
341# CONFIG_ATALK is not set 351# CONFIG_ATALK is not set
342# CONFIG_X25 is not set 352# CONFIG_X25 is not set
343# CONFIG_LAPB is not set 353# CONFIG_LAPB is not set
344
345#
346# TIPC Configuration (EXPERIMENTAL)
347#
348# CONFIG_TIPC is not set
349# CONFIG_NET_DIVERT is not set 354# CONFIG_NET_DIVERT is not set
350# CONFIG_ECONET is not set 355# CONFIG_ECONET is not set
351# CONFIG_WAN_ROUTER is not set 356# CONFIG_WAN_ROUTER is not set
@@ -367,6 +372,9 @@ CONFIG_IEEE80211=m
367# CONFIG_IEEE80211_DEBUG is not set 372# CONFIG_IEEE80211_DEBUG is not set
368CONFIG_IEEE80211_CRYPT_WEP=m 373CONFIG_IEEE80211_CRYPT_WEP=m
369CONFIG_IEEE80211_CRYPT_CCMP=m 374CONFIG_IEEE80211_CRYPT_CCMP=m
375CONFIG_IEEE80211_SOFTMAC=m
376# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set
377CONFIG_WIRELESS_EXT=y
370 378
371# 379#
372# Device Drivers 380# Device Drivers
@@ -411,7 +419,7 @@ CONFIG_BLK_DEV_LOOP=y
411# CONFIG_BLK_DEV_NBD is not set 419# CONFIG_BLK_DEV_NBD is not set
412# CONFIG_BLK_DEV_SX8 is not set 420# CONFIG_BLK_DEV_SX8 is not set
413# CONFIG_BLK_DEV_RAM is not set 421# CONFIG_BLK_DEV_RAM is not set
414CONFIG_BLK_DEV_RAM_COUNT=16 422# CONFIG_BLK_DEV_INITRD is not set
415# CONFIG_CDROM_PKTCDVD is not set 423# CONFIG_CDROM_PKTCDVD is not set
416CONFIG_ATA_OVER_ETH=m 424CONFIG_ATA_OVER_ETH=m
417 425
@@ -475,7 +483,6 @@ CONFIG_ISCSI_TCP=m
475# CONFIG_SCSI_INIA100 is not set 483# CONFIG_SCSI_INIA100 is not set
476# CONFIG_SCSI_SYM53C8XX_2 is not set 484# CONFIG_SCSI_SYM53C8XX_2 is not set
477# CONFIG_SCSI_IPR is not set 485# CONFIG_SCSI_IPR is not set
478# CONFIG_SCSI_QLOGIC_FC is not set
479# CONFIG_SCSI_QLOGIC_1280 is not set 486# CONFIG_SCSI_QLOGIC_1280 is not set
480# CONFIG_SCSI_QLA_FC is not set 487# CONFIG_SCSI_QLA_FC is not set
481# CONFIG_SCSI_LPFC is not set 488# CONFIG_SCSI_LPFC is not set
@@ -690,6 +697,7 @@ CONFIG_HW_CONSOLE=y
690# 697#
691CONFIG_SERIAL_8250=y 698CONFIG_SERIAL_8250=y
692CONFIG_SERIAL_8250_CONSOLE=y 699CONFIG_SERIAL_8250_CONSOLE=y
700CONFIG_SERIAL_8250_PCI=y
693CONFIG_SERIAL_8250_NR_UARTS=4 701CONFIG_SERIAL_8250_NR_UARTS=4
694CONFIG_SERIAL_8250_RUNTIME_UARTS=4 702CONFIG_SERIAL_8250_RUNTIME_UARTS=4
695# CONFIG_SERIAL_8250_EXTENDED is not set 703# CONFIG_SERIAL_8250_EXTENDED is not set
@@ -699,6 +707,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4
699# 707#
700CONFIG_SERIAL_CORE=y 708CONFIG_SERIAL_CORE=y
701CONFIG_SERIAL_CORE_CONSOLE=y 709CONFIG_SERIAL_CORE_CONSOLE=y
710# CONFIG_SERIAL_JSM is not set
702CONFIG_UNIX98_PTYS=y 711CONFIG_UNIX98_PTYS=y
703CONFIG_LEGACY_PTYS=y 712CONFIG_LEGACY_PTYS=y
704CONFIG_LEGACY_PTY_COUNT=256 713CONFIG_LEGACY_PTY_COUNT=256
@@ -756,10 +765,6 @@ CONFIG_RTC=y
756# 765#
757 766
758# 767#
759# Multimedia Capabilities Port drivers
760#
761
762#
763# Multimedia devices 768# Multimedia devices
764# 769#
765# CONFIG_VIDEO_DEV is not set 770# CONFIG_VIDEO_DEV is not set
@@ -777,6 +782,7 @@ CONFIG_FB=y
777# CONFIG_FB_CFB_COPYAREA is not set 782# CONFIG_FB_CFB_COPYAREA is not set
778# CONFIG_FB_CFB_IMAGEBLIT is not set 783# CONFIG_FB_CFB_IMAGEBLIT is not set
779# CONFIG_FB_MACMODES is not set 784# CONFIG_FB_MACMODES is not set
785CONFIG_FB_FIRMWARE_EDID=y
780CONFIG_FB_MODE_HELPERS=y 786CONFIG_FB_MODE_HELPERS=y
781# CONFIG_FB_TILEBLITTING is not set 787# CONFIG_FB_TILEBLITTING is not set
782# CONFIG_FB_CIRRUS is not set 788# CONFIG_FB_CIRRUS is not set
@@ -788,7 +794,6 @@ CONFIG_FB_MODE_HELPERS=y
788# CONFIG_FB_NVIDIA is not set 794# CONFIG_FB_NVIDIA is not set
789# CONFIG_FB_RIVA is not set 795# CONFIG_FB_RIVA is not set
790# CONFIG_FB_MATROX is not set 796# CONFIG_FB_MATROX is not set
791# CONFIG_FB_RADEON_OLD is not set
792# CONFIG_FB_RADEON is not set 797# CONFIG_FB_RADEON is not set
793# CONFIG_FB_ATY128 is not set 798# CONFIG_FB_ATY128 is not set
794# CONFIG_FB_ATY is not set 799# CONFIG_FB_ATY is not set
@@ -832,6 +837,7 @@ CONFIG_LOGO_LINUX_CLUT224=y
832# 837#
833CONFIG_USB_ARCH_HAS_HCD=y 838CONFIG_USB_ARCH_HAS_HCD=y
834CONFIG_USB_ARCH_HAS_OHCI=y 839CONFIG_USB_ARCH_HAS_OHCI=y
840CONFIG_USB_ARCH_HAS_EHCI=y
835# CONFIG_USB is not set 841# CONFIG_USB is not set
836 842
837# 843#
@@ -849,13 +855,31 @@ CONFIG_USB_ARCH_HAS_OHCI=y
849# CONFIG_MMC is not set 855# CONFIG_MMC is not set
850 856
851# 857#
858# LED devices
859#
860# CONFIG_NEW_LEDS is not set
861
862#
863# LED drivers
864#
865
866#
867# LED Triggers
868#
869
870#
852# InfiniBand support 871# InfiniBand support
853# 872#
854# CONFIG_INFINIBAND is not set 873# CONFIG_INFINIBAND is not set
855 874
856# 875#
857# SN Devices 876# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
877#
878
879#
880# Real Time Clock
858# 881#
882# CONFIG_RTC_CLASS is not set
859 883
860# 884#
861# File systems 885# File systems
@@ -914,7 +938,6 @@ CONFIG_SYSFS=y
914CONFIG_TMPFS=y 938CONFIG_TMPFS=y
915# CONFIG_HUGETLB_PAGE is not set 939# CONFIG_HUGETLB_PAGE is not set
916CONFIG_RAMFS=y 940CONFIG_RAMFS=y
917CONFIG_RELAYFS_FS=m
918# CONFIG_CONFIGFS_FS is not set 941# CONFIG_CONFIGFS_FS is not set
919 942
920# 943#
@@ -1025,6 +1048,7 @@ CONFIG_NLS_DEFAULT="iso8859-1"
1025# CONFIG_MAGIC_SYSRQ is not set 1048# CONFIG_MAGIC_SYSRQ is not set
1026# CONFIG_DEBUG_KERNEL is not set 1049# CONFIG_DEBUG_KERNEL is not set
1027CONFIG_LOG_BUF_SHIFT=14 1050CONFIG_LOG_BUF_SHIFT=14
1051# CONFIG_DEBUG_FS is not set
1028CONFIG_CROSSCOMPILE=y 1052CONFIG_CROSSCOMPILE=y
1029CONFIG_CMDLINE="ip=any root=nfs" 1053CONFIG_CMDLINE="ip=any root=nfs"
1030 1054
diff --git a/arch/mips/configs/ocelot_c_defconfig b/arch/mips/configs/ocelot_c_defconfig
index ee1cf9b9eb9a..8a6aa5012f89 100644
--- a/arch/mips/configs/ocelot_c_defconfig
+++ b/arch/mips/configs/ocelot_c_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.16-rc1 3# Linux kernel version: 2.6.17-rc2
4# Fri Jan 27 15:40:19 2006 4# Mon Apr 24 14:51:10 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -64,6 +64,8 @@ CONFIG_MOMENCO_OCELOT_C=y
64# CONFIG_TOSHIBA_RBTX4927 is not set 64# CONFIG_TOSHIBA_RBTX4927 is not set
65# CONFIG_TOSHIBA_RBTX4938 is not set 65# CONFIG_TOSHIBA_RBTX4938 is not set
66CONFIG_RWSEM_GENERIC_SPINLOCK=y 66CONFIG_RWSEM_GENERIC_SPINLOCK=y
67CONFIG_GENERIC_FIND_NEXT_BIT=y
68CONFIG_GENERIC_HWEIGHT=y
67CONFIG_GENERIC_CALIBRATE_DELAY=y 69CONFIG_GENERIC_CALIBRATE_DELAY=y
68CONFIG_DMA_NONCOHERENT=y 70CONFIG_DMA_NONCOHERENT=y
69CONFIG_DMA_NEED_PCI_MAP_STATE=y 71CONFIG_DMA_NEED_PCI_MAP_STATE=y
@@ -139,7 +141,6 @@ CONFIG_PREEMPT_NONE=y
139# Code maturity level options 141# Code maturity level options
140# 142#
141CONFIG_EXPERIMENTAL=y 143CONFIG_EXPERIMENTAL=y
142CONFIG_CLEAN_COMPILE=y
143CONFIG_BROKEN_ON_SMP=y 144CONFIG_BROKEN_ON_SMP=y
144CONFIG_INIT_ENV_ARG_LIMIT=32 145CONFIG_INIT_ENV_ARG_LIMIT=32
145 146
@@ -155,6 +156,7 @@ CONFIG_SYSVIPC=y
155CONFIG_SYSCTL=y 156CONFIG_SYSCTL=y
156# CONFIG_AUDIT is not set 157# CONFIG_AUDIT is not set
157# CONFIG_IKCONFIG is not set 158# CONFIG_IKCONFIG is not set
159CONFIG_RELAY=y
158CONFIG_INITRAMFS_SOURCE="" 160CONFIG_INITRAMFS_SOURCE=""
159# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 161# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
160CONFIG_EMBEDDED=y 162CONFIG_EMBEDDED=y
@@ -168,10 +170,6 @@ CONFIG_BASE_FULL=y
168CONFIG_FUTEX=y 170CONFIG_FUTEX=y
169CONFIG_EPOLL=y 171CONFIG_EPOLL=y
170CONFIG_SHMEM=y 172CONFIG_SHMEM=y
171CONFIG_CC_ALIGN_FUNCTIONS=0
172CONFIG_CC_ALIGN_LABELS=0
173CONFIG_CC_ALIGN_LOOPS=0
174CONFIG_CC_ALIGN_JUMPS=0
175CONFIG_SLAB=y 173CONFIG_SLAB=y
176# CONFIG_TINY_SHMEM is not set 174# CONFIG_TINY_SHMEM is not set
177CONFIG_BASE_SMALL=0 175CONFIG_BASE_SMALL=0
@@ -185,6 +183,7 @@ CONFIG_BASE_SMALL=0
185# 183#
186# Block layer 184# Block layer
187# 185#
186# CONFIG_BLK_DEV_IO_TRACE is not set
188 187
189# 188#
190# IO Schedulers 189# IO Schedulers
@@ -204,7 +203,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
204# 203#
205CONFIG_HW_HAS_PCI=y 204CONFIG_HW_HAS_PCI=y
206CONFIG_PCI=y 205CONFIG_PCI=y
207CONFIG_PCI_LEGACY_PROC=y
208CONFIG_MMU=y 206CONFIG_MMU=y
209 207
210# 208#
@@ -222,6 +220,7 @@ CONFIG_MMU=y
222# 220#
223CONFIG_BINFMT_ELF=y 221CONFIG_BINFMT_ELF=y
224# CONFIG_BINFMT_MISC is not set 222# CONFIG_BINFMT_MISC is not set
223# CONFIG_BUILD_ELF64 is not set
225CONFIG_MIPS32_COMPAT=y 224CONFIG_MIPS32_COMPAT=y
226CONFIG_COMPAT=y 225CONFIG_COMPAT=y
227CONFIG_MIPS32_O32=y 226CONFIG_MIPS32_O32=y
@@ -236,6 +235,7 @@ CONFIG_NET=y
236# 235#
237# Networking options 236# Networking options
238# 237#
238# CONFIG_NETDEBUG is not set
239# CONFIG_PACKET is not set 239# CONFIG_PACKET is not set
240CONFIG_UNIX=y 240CONFIG_UNIX=y
241CONFIG_XFRM=y 241CONFIG_XFRM=y
@@ -256,12 +256,15 @@ CONFIG_IP_PNP_DHCP=y
256# CONFIG_INET_AH is not set 256# CONFIG_INET_AH is not set
257# CONFIG_INET_ESP is not set 257# CONFIG_INET_ESP is not set
258# CONFIG_INET_IPCOMP is not set 258# CONFIG_INET_IPCOMP is not set
259CONFIG_INET_TUNNEL=y 259# CONFIG_INET_XFRM_TUNNEL is not set
260# CONFIG_INET_TUNNEL is not set
260CONFIG_INET_DIAG=y 261CONFIG_INET_DIAG=y
261CONFIG_INET_TCP_DIAG=y 262CONFIG_INET_TCP_DIAG=y
262# CONFIG_TCP_CONG_ADVANCED is not set 263# CONFIG_TCP_CONG_ADVANCED is not set
263CONFIG_TCP_CONG_BIC=y 264CONFIG_TCP_CONG_BIC=y
264# CONFIG_IPV6 is not set 265# CONFIG_IPV6 is not set
266# CONFIG_INET6_XFRM_TUNNEL is not set
267# CONFIG_INET6_TUNNEL is not set
265# CONFIG_NETFILTER is not set 268# CONFIG_NETFILTER is not set
266 269
267# 270#
@@ -273,6 +276,11 @@ CONFIG_TCP_CONG_BIC=y
273# SCTP Configuration (EXPERIMENTAL) 276# SCTP Configuration (EXPERIMENTAL)
274# 277#
275# CONFIG_IP_SCTP is not set 278# CONFIG_IP_SCTP is not set
279
280#
281# TIPC Configuration (EXPERIMENTAL)
282#
283# CONFIG_TIPC is not set
276# CONFIG_ATM is not set 284# CONFIG_ATM is not set
277# CONFIG_BRIDGE is not set 285# CONFIG_BRIDGE is not set
278# CONFIG_VLAN_8021Q is not set 286# CONFIG_VLAN_8021Q is not set
@@ -282,11 +290,6 @@ CONFIG_TCP_CONG_BIC=y
282# CONFIG_ATALK is not set 290# CONFIG_ATALK is not set
283# CONFIG_X25 is not set 291# CONFIG_X25 is not set
284# CONFIG_LAPB is not set 292# CONFIG_LAPB is not set
285
286#
287# TIPC Configuration (EXPERIMENTAL)
288#
289# CONFIG_TIPC is not set
290# CONFIG_NET_DIVERT is not set 293# CONFIG_NET_DIVERT is not set
291# CONFIG_ECONET is not set 294# CONFIG_ECONET is not set
292# CONFIG_WAN_ROUTER is not set 295# CONFIG_WAN_ROUTER is not set
@@ -307,6 +310,9 @@ CONFIG_IEEE80211=y
307# CONFIG_IEEE80211_DEBUG is not set 310# CONFIG_IEEE80211_DEBUG is not set
308CONFIG_IEEE80211_CRYPT_WEP=y 311CONFIG_IEEE80211_CRYPT_WEP=y
309CONFIG_IEEE80211_CRYPT_CCMP=y 312CONFIG_IEEE80211_CRYPT_CCMP=y
313CONFIG_IEEE80211_SOFTMAC=y
314# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set
315CONFIG_WIRELESS_EXT=y
310 316
311# 317#
312# Device Drivers 318# Device Drivers
@@ -351,7 +357,7 @@ CONFIG_PROC_EVENTS=y
351# CONFIG_BLK_DEV_NBD is not set 357# CONFIG_BLK_DEV_NBD is not set
352# CONFIG_BLK_DEV_SX8 is not set 358# CONFIG_BLK_DEV_SX8 is not set
353# CONFIG_BLK_DEV_RAM is not set 359# CONFIG_BLK_DEV_RAM is not set
354CONFIG_BLK_DEV_RAM_COUNT=16 360# CONFIG_BLK_DEV_INITRD is not set
355CONFIG_CDROM_PKTCDVD=y 361CONFIG_CDROM_PKTCDVD=y
356CONFIG_CDROM_PKTCDVD_BUFFERS=8 362CONFIG_CDROM_PKTCDVD_BUFFERS=8
357# CONFIG_CDROM_PKTCDVD_WCACHE is not set 363# CONFIG_CDROM_PKTCDVD_WCACHE is not set
@@ -542,6 +548,7 @@ CONFIG_HW_CONSOLE=y
542# 548#
543CONFIG_SERIAL_8250=y 549CONFIG_SERIAL_8250=y
544CONFIG_SERIAL_8250_CONSOLE=y 550CONFIG_SERIAL_8250_CONSOLE=y
551CONFIG_SERIAL_8250_PCI=y
545CONFIG_SERIAL_8250_NR_UARTS=4 552CONFIG_SERIAL_8250_NR_UARTS=4
546CONFIG_SERIAL_8250_RUNTIME_UARTS=4 553CONFIG_SERIAL_8250_RUNTIME_UARTS=4
547# CONFIG_SERIAL_8250_EXTENDED is not set 554# CONFIG_SERIAL_8250_EXTENDED is not set
@@ -551,6 +558,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4
551# 558#
552CONFIG_SERIAL_CORE=y 559CONFIG_SERIAL_CORE=y
553CONFIG_SERIAL_CORE_CONSOLE=y 560CONFIG_SERIAL_CORE_CONSOLE=y
561# CONFIG_SERIAL_JSM is not set
554CONFIG_UNIX98_PTYS=y 562CONFIG_UNIX98_PTYS=y
555CONFIG_LEGACY_PTYS=y 563CONFIG_LEGACY_PTYS=y
556CONFIG_LEGACY_PTY_COUNT=256 564CONFIG_LEGACY_PTY_COUNT=256
@@ -609,10 +617,6 @@ CONFIG_LEGACY_PTY_COUNT=256
609# 617#
610 618
611# 619#
612# Multimedia Capabilities Port drivers
613#
614
615#
616# Multimedia devices 620# Multimedia devices
617# 621#
618# CONFIG_VIDEO_DEV is not set 622# CONFIG_VIDEO_DEV is not set
@@ -643,6 +647,7 @@ CONFIG_DUMMY_CONSOLE=y
643# 647#
644CONFIG_USB_ARCH_HAS_HCD=y 648CONFIG_USB_ARCH_HAS_HCD=y
645CONFIG_USB_ARCH_HAS_OHCI=y 649CONFIG_USB_ARCH_HAS_OHCI=y
650CONFIG_USB_ARCH_HAS_EHCI=y
646# CONFIG_USB is not set 651# CONFIG_USB is not set
647 652
648# 653#
@@ -660,13 +665,31 @@ CONFIG_USB_ARCH_HAS_OHCI=y
660# CONFIG_MMC is not set 665# CONFIG_MMC is not set
661 666
662# 667#
668# LED devices
669#
670# CONFIG_NEW_LEDS is not set
671
672#
673# LED drivers
674#
675
676#
677# LED Triggers
678#
679
680#
663# InfiniBand support 681# InfiniBand support
664# 682#
665# CONFIG_INFINIBAND is not set 683# CONFIG_INFINIBAND is not set
666 684
667# 685#
668# SN Devices 686# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
687#
688
689#
690# Real Time Clock
669# 691#
692# CONFIG_RTC_CLASS is not set
670 693
671# 694#
672# File systems 695# File systems
@@ -711,7 +734,6 @@ CONFIG_SYSFS=y
711# CONFIG_TMPFS is not set 734# CONFIG_TMPFS is not set
712# CONFIG_HUGETLB_PAGE is not set 735# CONFIG_HUGETLB_PAGE is not set
713CONFIG_RAMFS=y 736CONFIG_RAMFS=y
714CONFIG_RELAYFS_FS=y
715# CONFIG_CONFIGFS_FS is not set 737# CONFIG_CONFIGFS_FS is not set
716 738
717# 739#
@@ -778,6 +800,8 @@ CONFIG_MSDOS_PARTITION=y
778# CONFIG_MAGIC_SYSRQ is not set 800# CONFIG_MAGIC_SYSRQ is not set
779# CONFIG_DEBUG_KERNEL is not set 801# CONFIG_DEBUG_KERNEL is not set
780CONFIG_LOG_BUF_SHIFT=14 802CONFIG_LOG_BUF_SHIFT=14
803# CONFIG_DEBUG_FS is not set
804# CONFIG_UNWIND_INFO is not set
781CONFIG_CROSSCOMPILE=y 805CONFIG_CROSSCOMPILE=y
782CONFIG_CMDLINE="" 806CONFIG_CMDLINE=""
783 807
diff --git a/arch/mips/configs/ocelot_defconfig b/arch/mips/configs/ocelot_defconfig
index d80ff278f2af..f9ee35eeb762 100644
--- a/arch/mips/configs/ocelot_defconfig
+++ b/arch/mips/configs/ocelot_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.16-rc1 3# Linux kernel version: 2.6.17-rc2
4# Fri Jan 27 15:40:20 2006 4# Mon Apr 24 14:51:11 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -64,6 +64,8 @@ CONFIG_MOMENCO_OCELOT=y
64# CONFIG_TOSHIBA_RBTX4927 is not set 64# CONFIG_TOSHIBA_RBTX4927 is not set
65# CONFIG_TOSHIBA_RBTX4938 is not set 65# CONFIG_TOSHIBA_RBTX4938 is not set
66CONFIG_RWSEM_GENERIC_SPINLOCK=y 66CONFIG_RWSEM_GENERIC_SPINLOCK=y
67CONFIG_GENERIC_FIND_NEXT_BIT=y
68CONFIG_GENERIC_HWEIGHT=y
67CONFIG_GENERIC_CALIBRATE_DELAY=y 69CONFIG_GENERIC_CALIBRATE_DELAY=y
68CONFIG_DMA_NONCOHERENT=y 70CONFIG_DMA_NONCOHERENT=y
69CONFIG_DMA_NEED_PCI_MAP_STATE=y 71CONFIG_DMA_NEED_PCI_MAP_STATE=y
@@ -121,7 +123,6 @@ CONFIG_RM7000_CPU_SCACHE=y
121CONFIG_CPU_HAS_PREFETCH=y 123CONFIG_CPU_HAS_PREFETCH=y
122# CONFIG_MIPS_MT is not set 124# CONFIG_MIPS_MT is not set
123# CONFIG_64BIT_PHYS_ADDR is not set 125# CONFIG_64BIT_PHYS_ADDR is not set
124# CONFIG_CPU_ADVANCED is not set
125CONFIG_CPU_HAS_LLSC=y 126CONFIG_CPU_HAS_LLSC=y
126CONFIG_CPU_HAS_SYNC=y 127CONFIG_CPU_HAS_SYNC=y
127CONFIG_GENERIC_HARDIRQS=y 128CONFIG_GENERIC_HARDIRQS=y
@@ -144,7 +145,6 @@ CONFIG_PREEMPT_NONE=y
144# Code maturity level options 145# Code maturity level options
145# 146#
146CONFIG_EXPERIMENTAL=y 147CONFIG_EXPERIMENTAL=y
147CONFIG_CLEAN_COMPILE=y
148CONFIG_BROKEN_ON_SMP=y 148CONFIG_BROKEN_ON_SMP=y
149CONFIG_INIT_ENV_ARG_LIMIT=32 149CONFIG_INIT_ENV_ARG_LIMIT=32
150 150
@@ -160,6 +160,7 @@ CONFIG_SYSVIPC=y
160CONFIG_SYSCTL=y 160CONFIG_SYSCTL=y
161# CONFIG_AUDIT is not set 161# CONFIG_AUDIT is not set
162# CONFIG_IKCONFIG is not set 162# CONFIG_IKCONFIG is not set
163CONFIG_RELAY=y
163CONFIG_INITRAMFS_SOURCE="" 164CONFIG_INITRAMFS_SOURCE=""
164# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 165# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
165CONFIG_EMBEDDED=y 166CONFIG_EMBEDDED=y
@@ -173,10 +174,6 @@ CONFIG_BASE_FULL=y
173CONFIG_FUTEX=y 174CONFIG_FUTEX=y
174CONFIG_EPOLL=y 175CONFIG_EPOLL=y
175CONFIG_SHMEM=y 176CONFIG_SHMEM=y
176CONFIG_CC_ALIGN_FUNCTIONS=0
177CONFIG_CC_ALIGN_LABELS=0
178CONFIG_CC_ALIGN_LOOPS=0
179CONFIG_CC_ALIGN_JUMPS=0
180CONFIG_SLAB=y 177CONFIG_SLAB=y
181# CONFIG_TINY_SHMEM is not set 178# CONFIG_TINY_SHMEM is not set
182CONFIG_BASE_SMALL=0 179CONFIG_BASE_SMALL=0
@@ -191,6 +188,8 @@ CONFIG_BASE_SMALL=0
191# Block layer 188# Block layer
192# 189#
193# CONFIG_LBD is not set 190# CONFIG_LBD is not set
191# CONFIG_BLK_DEV_IO_TRACE is not set
192# CONFIG_LSF is not set
194 193
195# 194#
196# IO Schedulers 195# IO Schedulers
@@ -236,6 +235,7 @@ CONFIG_NET=y
236# 235#
237# Networking options 236# Networking options
238# 237#
238# CONFIG_NETDEBUG is not set
239# CONFIG_PACKET is not set 239# CONFIG_PACKET is not set
240CONFIG_UNIX=y 240CONFIG_UNIX=y
241CONFIG_XFRM=y 241CONFIG_XFRM=y
@@ -256,12 +256,15 @@ CONFIG_IP_PNP_BOOTP=y
256# CONFIG_INET_AH is not set 256# CONFIG_INET_AH is not set
257# CONFIG_INET_ESP is not set 257# CONFIG_INET_ESP is not set
258# CONFIG_INET_IPCOMP is not set 258# CONFIG_INET_IPCOMP is not set
259CONFIG_INET_TUNNEL=y 259# CONFIG_INET_XFRM_TUNNEL is not set
260# CONFIG_INET_TUNNEL is not set
260CONFIG_INET_DIAG=y 261CONFIG_INET_DIAG=y
261CONFIG_INET_TCP_DIAG=y 262CONFIG_INET_TCP_DIAG=y
262# CONFIG_TCP_CONG_ADVANCED is not set 263# CONFIG_TCP_CONG_ADVANCED is not set
263CONFIG_TCP_CONG_BIC=y 264CONFIG_TCP_CONG_BIC=y
264# CONFIG_IPV6 is not set 265# CONFIG_IPV6 is not set
266# CONFIG_INET6_XFRM_TUNNEL is not set
267# CONFIG_INET6_TUNNEL is not set
265# CONFIG_NETFILTER is not set 268# CONFIG_NETFILTER is not set
266 269
267# 270#
@@ -273,6 +276,11 @@ CONFIG_TCP_CONG_BIC=y
273# SCTP Configuration (EXPERIMENTAL) 276# SCTP Configuration (EXPERIMENTAL)
274# 277#
275# CONFIG_IP_SCTP is not set 278# CONFIG_IP_SCTP is not set
279
280#
281# TIPC Configuration (EXPERIMENTAL)
282#
283# CONFIG_TIPC is not set
276# CONFIG_ATM is not set 284# CONFIG_ATM is not set
277# CONFIG_BRIDGE is not set 285# CONFIG_BRIDGE is not set
278# CONFIG_VLAN_8021Q is not set 286# CONFIG_VLAN_8021Q is not set
@@ -282,11 +290,6 @@ CONFIG_TCP_CONG_BIC=y
282# CONFIG_ATALK is not set 290# CONFIG_ATALK is not set
283# CONFIG_X25 is not set 291# CONFIG_X25 is not set
284# CONFIG_LAPB is not set 292# CONFIG_LAPB is not set
285
286#
287# TIPC Configuration (EXPERIMENTAL)
288#
289# CONFIG_TIPC is not set
290# CONFIG_NET_DIVERT is not set 293# CONFIG_NET_DIVERT is not set
291# CONFIG_ECONET is not set 294# CONFIG_ECONET is not set
292# CONFIG_WAN_ROUTER is not set 295# CONFIG_WAN_ROUTER is not set
@@ -307,6 +310,9 @@ CONFIG_IEEE80211=y
307# CONFIG_IEEE80211_DEBUG is not set 310# CONFIG_IEEE80211_DEBUG is not set
308CONFIG_IEEE80211_CRYPT_WEP=y 311CONFIG_IEEE80211_CRYPT_WEP=y
309CONFIG_IEEE80211_CRYPT_CCMP=y 312CONFIG_IEEE80211_CRYPT_CCMP=y
313CONFIG_IEEE80211_SOFTMAC=y
314# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set
315CONFIG_WIRELESS_EXT=y
310 316
311# 317#
312# Device Drivers 318# Device Drivers
@@ -346,7 +352,7 @@ CONFIG_PROC_EVENTS=y
346# CONFIG_BLK_DEV_LOOP is not set 352# CONFIG_BLK_DEV_LOOP is not set
347# CONFIG_BLK_DEV_NBD is not set 353# CONFIG_BLK_DEV_NBD is not set
348# CONFIG_BLK_DEV_RAM is not set 354# CONFIG_BLK_DEV_RAM is not set
349CONFIG_BLK_DEV_RAM_COUNT=16 355# CONFIG_BLK_DEV_INITRD is not set
350CONFIG_CDROM_PKTCDVD=y 356CONFIG_CDROM_PKTCDVD=y
351CONFIG_CDROM_PKTCDVD_BUFFERS=8 357CONFIG_CDROM_PKTCDVD_BUFFERS=8
352# CONFIG_CDROM_PKTCDVD_WCACHE is not set 358# CONFIG_CDROM_PKTCDVD_WCACHE is not set
@@ -563,10 +569,6 @@ CONFIG_LEGACY_PTY_COUNT=256
563# 569#
564 570
565# 571#
566# Multimedia Capabilities Port drivers
567#
568
569#
570# Multimedia devices 572# Multimedia devices
571# 573#
572# CONFIG_VIDEO_DEV is not set 574# CONFIG_VIDEO_DEV is not set
@@ -597,6 +599,7 @@ CONFIG_DUMMY_CONSOLE=y
597# 599#
598# CONFIG_USB_ARCH_HAS_HCD is not set 600# CONFIG_USB_ARCH_HAS_HCD is not set
599# CONFIG_USB_ARCH_HAS_OHCI is not set 601# CONFIG_USB_ARCH_HAS_OHCI is not set
602# CONFIG_USB_ARCH_HAS_EHCI is not set
600 603
601# 604#
602# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 605# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
@@ -613,12 +616,30 @@ CONFIG_DUMMY_CONSOLE=y
613# CONFIG_MMC is not set 616# CONFIG_MMC is not set
614 617
615# 618#
619# LED devices
620#
621# CONFIG_NEW_LEDS is not set
622
623#
624# LED drivers
625#
626
627#
628# LED Triggers
629#
630
631#
616# InfiniBand support 632# InfiniBand support
617# 633#
618 634
619# 635#
620# SN Devices 636# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
637#
638
639#
640# Real Time Clock
621# 641#
642# CONFIG_RTC_CLASS is not set
622 643
623# 644#
624# File systems 645# File systems
@@ -663,7 +684,6 @@ CONFIG_SYSFS=y
663# CONFIG_TMPFS is not set 684# CONFIG_TMPFS is not set
664# CONFIG_HUGETLB_PAGE is not set 685# CONFIG_HUGETLB_PAGE is not set
665CONFIG_RAMFS=y 686CONFIG_RAMFS=y
666CONFIG_RELAYFS_FS=y
667# CONFIG_CONFIGFS_FS is not set 687# CONFIG_CONFIGFS_FS is not set
668 688
669# 689#
@@ -730,6 +750,8 @@ CONFIG_MSDOS_PARTITION=y
730# CONFIG_MAGIC_SYSRQ is not set 750# CONFIG_MAGIC_SYSRQ is not set
731# CONFIG_DEBUG_KERNEL is not set 751# CONFIG_DEBUG_KERNEL is not set
732CONFIG_LOG_BUF_SHIFT=14 752CONFIG_LOG_BUF_SHIFT=14
753# CONFIG_DEBUG_FS is not set
754# CONFIG_UNWIND_INFO is not set
733CONFIG_CROSSCOMPILE=y 755CONFIG_CROSSCOMPILE=y
734CONFIG_CMDLINE="" 756CONFIG_CMDLINE=""
735 757
diff --git a/arch/mips/configs/ocelot_g_defconfig b/arch/mips/configs/ocelot_g_defconfig
index c0f508d180c4..b48bdee2411f 100644
--- a/arch/mips/configs/ocelot_g_defconfig
+++ b/arch/mips/configs/ocelot_g_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.16-rc1 3# Linux kernel version: 2.6.17-rc2
4# Fri Jan 27 15:40:21 2006 4# Mon Apr 24 14:51:11 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -64,6 +64,8 @@ CONFIG_MOMENCO_OCELOT_G=y
64# CONFIG_TOSHIBA_RBTX4927 is not set 64# CONFIG_TOSHIBA_RBTX4927 is not set
65# CONFIG_TOSHIBA_RBTX4938 is not set 65# CONFIG_TOSHIBA_RBTX4938 is not set
66CONFIG_RWSEM_GENERIC_SPINLOCK=y 66CONFIG_RWSEM_GENERIC_SPINLOCK=y
67CONFIG_GENERIC_FIND_NEXT_BIT=y
68CONFIG_GENERIC_HWEIGHT=y
67CONFIG_GENERIC_CALIBRATE_DELAY=y 69CONFIG_GENERIC_CALIBRATE_DELAY=y
68CONFIG_DMA_NONCOHERENT=y 70CONFIG_DMA_NONCOHERENT=y
69CONFIG_DMA_NEED_PCI_MAP_STATE=y 71CONFIG_DMA_NEED_PCI_MAP_STATE=y
@@ -142,7 +144,6 @@ CONFIG_PREEMPT_NONE=y
142# Code maturity level options 144# Code maturity level options
143# 145#
144CONFIG_EXPERIMENTAL=y 146CONFIG_EXPERIMENTAL=y
145CONFIG_CLEAN_COMPILE=y
146CONFIG_BROKEN_ON_SMP=y 147CONFIG_BROKEN_ON_SMP=y
147CONFIG_INIT_ENV_ARG_LIMIT=32 148CONFIG_INIT_ENV_ARG_LIMIT=32
148 149
@@ -158,6 +159,7 @@ CONFIG_SYSVIPC=y
158CONFIG_SYSCTL=y 159CONFIG_SYSCTL=y
159# CONFIG_AUDIT is not set 160# CONFIG_AUDIT is not set
160# CONFIG_IKCONFIG is not set 161# CONFIG_IKCONFIG is not set
162CONFIG_RELAY=y
161CONFIG_INITRAMFS_SOURCE="" 163CONFIG_INITRAMFS_SOURCE=""
162# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 164# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
163CONFIG_EMBEDDED=y 165CONFIG_EMBEDDED=y
@@ -171,10 +173,6 @@ CONFIG_BASE_FULL=y
171CONFIG_FUTEX=y 173CONFIG_FUTEX=y
172CONFIG_EPOLL=y 174CONFIG_EPOLL=y
173CONFIG_SHMEM=y 175CONFIG_SHMEM=y
174CONFIG_CC_ALIGN_FUNCTIONS=0
175CONFIG_CC_ALIGN_LABELS=0
176CONFIG_CC_ALIGN_LOOPS=0
177CONFIG_CC_ALIGN_JUMPS=0
178CONFIG_SLAB=y 176CONFIG_SLAB=y
179# CONFIG_TINY_SHMEM is not set 177# CONFIG_TINY_SHMEM is not set
180CONFIG_BASE_SMALL=0 178CONFIG_BASE_SMALL=0
@@ -188,6 +186,7 @@ CONFIG_BASE_SMALL=0
188# 186#
189# Block layer 187# Block layer
190# 188#
189# CONFIG_BLK_DEV_IO_TRACE is not set
191 190
192# 191#
193# IO Schedulers 192# IO Schedulers
@@ -207,7 +206,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
207# 206#
208CONFIG_HW_HAS_PCI=y 207CONFIG_HW_HAS_PCI=y
209CONFIG_PCI=y 208CONFIG_PCI=y
210CONFIG_PCI_LEGACY_PROC=y
211CONFIG_MMU=y 209CONFIG_MMU=y
212 210
213# 211#
@@ -225,6 +223,7 @@ CONFIG_MMU=y
225# 223#
226CONFIG_BINFMT_ELF=y 224CONFIG_BINFMT_ELF=y
227# CONFIG_BINFMT_MISC is not set 225# CONFIG_BINFMT_MISC is not set
226# CONFIG_BUILD_ELF64 is not set
228CONFIG_MIPS32_COMPAT=y 227CONFIG_MIPS32_COMPAT=y
229CONFIG_COMPAT=y 228CONFIG_COMPAT=y
230CONFIG_MIPS32_O32=y 229CONFIG_MIPS32_O32=y
@@ -239,6 +238,7 @@ CONFIG_NET=y
239# 238#
240# Networking options 239# Networking options
241# 240#
241# CONFIG_NETDEBUG is not set
242# CONFIG_PACKET is not set 242# CONFIG_PACKET is not set
243CONFIG_UNIX=y 243CONFIG_UNIX=y
244CONFIG_XFRM=y 244CONFIG_XFRM=y
@@ -259,12 +259,15 @@ CONFIG_IP_PNP_DHCP=y
259# CONFIG_INET_AH is not set 259# CONFIG_INET_AH is not set
260# CONFIG_INET_ESP is not set 260# CONFIG_INET_ESP is not set
261# CONFIG_INET_IPCOMP is not set 261# CONFIG_INET_IPCOMP is not set
262CONFIG_INET_TUNNEL=y 262# CONFIG_INET_XFRM_TUNNEL is not set
263# CONFIG_INET_TUNNEL is not set
263CONFIG_INET_DIAG=y 264CONFIG_INET_DIAG=y
264CONFIG_INET_TCP_DIAG=y 265CONFIG_INET_TCP_DIAG=y
265# CONFIG_TCP_CONG_ADVANCED is not set 266# CONFIG_TCP_CONG_ADVANCED is not set
266CONFIG_TCP_CONG_BIC=y 267CONFIG_TCP_CONG_BIC=y
267# CONFIG_IPV6 is not set 268# CONFIG_IPV6 is not set
269# CONFIG_INET6_XFRM_TUNNEL is not set
270# CONFIG_INET6_TUNNEL is not set
268# CONFIG_NETFILTER is not set 271# CONFIG_NETFILTER is not set
269 272
270# 273#
@@ -276,6 +279,11 @@ CONFIG_TCP_CONG_BIC=y
276# SCTP Configuration (EXPERIMENTAL) 279# SCTP Configuration (EXPERIMENTAL)
277# 280#
278# CONFIG_IP_SCTP is not set 281# CONFIG_IP_SCTP is not set
282
283#
284# TIPC Configuration (EXPERIMENTAL)
285#
286# CONFIG_TIPC is not set
279# CONFIG_ATM is not set 287# CONFIG_ATM is not set
280# CONFIG_BRIDGE is not set 288# CONFIG_BRIDGE is not set
281# CONFIG_VLAN_8021Q is not set 289# CONFIG_VLAN_8021Q is not set
@@ -285,11 +293,6 @@ CONFIG_TCP_CONG_BIC=y
285# CONFIG_ATALK is not set 293# CONFIG_ATALK is not set
286# CONFIG_X25 is not set 294# CONFIG_X25 is not set
287# CONFIG_LAPB is not set 295# CONFIG_LAPB is not set
288
289#
290# TIPC Configuration (EXPERIMENTAL)
291#
292# CONFIG_TIPC is not set
293# CONFIG_NET_DIVERT is not set 296# CONFIG_NET_DIVERT is not set
294# CONFIG_ECONET is not set 297# CONFIG_ECONET is not set
295# CONFIG_WAN_ROUTER is not set 298# CONFIG_WAN_ROUTER is not set
@@ -310,6 +313,9 @@ CONFIG_IEEE80211=y
310# CONFIG_IEEE80211_DEBUG is not set 313# CONFIG_IEEE80211_DEBUG is not set
311CONFIG_IEEE80211_CRYPT_WEP=y 314CONFIG_IEEE80211_CRYPT_WEP=y
312CONFIG_IEEE80211_CRYPT_CCMP=y 315CONFIG_IEEE80211_CRYPT_CCMP=y
316CONFIG_IEEE80211_SOFTMAC=y
317# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set
318CONFIG_WIRELESS_EXT=y
313 319
314# 320#
315# Device Drivers 321# Device Drivers
@@ -354,7 +360,7 @@ CONFIG_PROC_EVENTS=y
354# CONFIG_BLK_DEV_NBD is not set 360# CONFIG_BLK_DEV_NBD is not set
355# CONFIG_BLK_DEV_SX8 is not set 361# CONFIG_BLK_DEV_SX8 is not set
356# CONFIG_BLK_DEV_RAM is not set 362# CONFIG_BLK_DEV_RAM is not set
357CONFIG_BLK_DEV_RAM_COUNT=16 363# CONFIG_BLK_DEV_INITRD is not set
358CONFIG_CDROM_PKTCDVD=y 364CONFIG_CDROM_PKTCDVD=y
359CONFIG_CDROM_PKTCDVD_BUFFERS=8 365CONFIG_CDROM_PKTCDVD_BUFFERS=8
360# CONFIG_CDROM_PKTCDVD_WCACHE is not set 366# CONFIG_CDROM_PKTCDVD_WCACHE is not set
@@ -545,6 +551,7 @@ CONFIG_HW_CONSOLE=y
545# 551#
546CONFIG_SERIAL_8250=y 552CONFIG_SERIAL_8250=y
547CONFIG_SERIAL_8250_CONSOLE=y 553CONFIG_SERIAL_8250_CONSOLE=y
554CONFIG_SERIAL_8250_PCI=y
548CONFIG_SERIAL_8250_NR_UARTS=4 555CONFIG_SERIAL_8250_NR_UARTS=4
549CONFIG_SERIAL_8250_RUNTIME_UARTS=4 556CONFIG_SERIAL_8250_RUNTIME_UARTS=4
550# CONFIG_SERIAL_8250_EXTENDED is not set 557# CONFIG_SERIAL_8250_EXTENDED is not set
@@ -554,6 +561,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4
554# 561#
555CONFIG_SERIAL_CORE=y 562CONFIG_SERIAL_CORE=y
556CONFIG_SERIAL_CORE_CONSOLE=y 563CONFIG_SERIAL_CORE_CONSOLE=y
564# CONFIG_SERIAL_JSM is not set
557CONFIG_UNIX98_PTYS=y 565CONFIG_UNIX98_PTYS=y
558CONFIG_LEGACY_PTYS=y 566CONFIG_LEGACY_PTYS=y
559CONFIG_LEGACY_PTY_COUNT=256 567CONFIG_LEGACY_PTY_COUNT=256
@@ -612,10 +620,6 @@ CONFIG_LEGACY_PTY_COUNT=256
612# 620#
613 621
614# 622#
615# Multimedia Capabilities Port drivers
616#
617
618#
619# Multimedia devices 623# Multimedia devices
620# 624#
621# CONFIG_VIDEO_DEV is not set 625# CONFIG_VIDEO_DEV is not set
@@ -646,6 +650,7 @@ CONFIG_DUMMY_CONSOLE=y
646# 650#
647CONFIG_USB_ARCH_HAS_HCD=y 651CONFIG_USB_ARCH_HAS_HCD=y
648CONFIG_USB_ARCH_HAS_OHCI=y 652CONFIG_USB_ARCH_HAS_OHCI=y
653CONFIG_USB_ARCH_HAS_EHCI=y
649# CONFIG_USB is not set 654# CONFIG_USB is not set
650 655
651# 656#
@@ -663,13 +668,31 @@ CONFIG_USB_ARCH_HAS_OHCI=y
663# CONFIG_MMC is not set 668# CONFIG_MMC is not set
664 669
665# 670#
671# LED devices
672#
673# CONFIG_NEW_LEDS is not set
674
675#
676# LED drivers
677#
678
679#
680# LED Triggers
681#
682
683#
666# InfiniBand support 684# InfiniBand support
667# 685#
668# CONFIG_INFINIBAND is not set 686# CONFIG_INFINIBAND is not set
669 687
670# 688#
671# SN Devices 689# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
690#
691
692#
693# Real Time Clock
672# 694#
695# CONFIG_RTC_CLASS is not set
673 696
674# 697#
675# File systems 698# File systems
@@ -714,7 +737,6 @@ CONFIG_SYSFS=y
714# CONFIG_TMPFS is not set 737# CONFIG_TMPFS is not set
715# CONFIG_HUGETLB_PAGE is not set 738# CONFIG_HUGETLB_PAGE is not set
716CONFIG_RAMFS=y 739CONFIG_RAMFS=y
717CONFIG_RELAYFS_FS=y
718# CONFIG_CONFIGFS_FS is not set 740# CONFIG_CONFIGFS_FS is not set
719 741
720# 742#
@@ -781,6 +803,8 @@ CONFIG_MSDOS_PARTITION=y
781# CONFIG_MAGIC_SYSRQ is not set 803# CONFIG_MAGIC_SYSRQ is not set
782# CONFIG_DEBUG_KERNEL is not set 804# CONFIG_DEBUG_KERNEL is not set
783CONFIG_LOG_BUF_SHIFT=14 805CONFIG_LOG_BUF_SHIFT=14
806# CONFIG_DEBUG_FS is not set
807# CONFIG_UNWIND_INFO is not set
784CONFIG_CROSSCOMPILE=y 808CONFIG_CROSSCOMPILE=y
785CONFIG_CMDLINE="" 809CONFIG_CMDLINE=""
786 810
diff --git a/arch/mips/configs/pb1100_defconfig b/arch/mips/configs/pb1100_defconfig
index 194b3c772bb7..01aac40634b4 100644
--- a/arch/mips/configs/pb1100_defconfig
+++ b/arch/mips/configs/pb1100_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.16-rc1 3# Linux kernel version: 2.6.17-rc2
4# Fri Jan 27 15:40:22 2006 4# Mon Apr 24 14:51:12 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -64,6 +64,8 @@ CONFIG_MIPS_PB1100=y
64# CONFIG_TOSHIBA_RBTX4927 is not set 64# CONFIG_TOSHIBA_RBTX4927 is not set
65# CONFIG_TOSHIBA_RBTX4938 is not set 65# CONFIG_TOSHIBA_RBTX4938 is not set
66CONFIG_RWSEM_GENERIC_SPINLOCK=y 66CONFIG_RWSEM_GENERIC_SPINLOCK=y
67CONFIG_GENERIC_FIND_NEXT_BIT=y
68CONFIG_GENERIC_HWEIGHT=y
67CONFIG_GENERIC_CALIBRATE_DELAY=y 69CONFIG_GENERIC_CALIBRATE_DELAY=y
68CONFIG_DMA_NONCOHERENT=y 70CONFIG_DMA_NONCOHERENT=y
69CONFIG_DMA_NEED_PCI_MAP_STATE=y 71CONFIG_DMA_NEED_PCI_MAP_STATE=y
@@ -116,11 +118,11 @@ CONFIG_PAGE_SIZE_4KB=y
116CONFIG_CPU_HAS_PREFETCH=y 118CONFIG_CPU_HAS_PREFETCH=y
117# CONFIG_MIPS_MT is not set 119# CONFIG_MIPS_MT is not set
118CONFIG_64BIT_PHYS_ADDR=y 120CONFIG_64BIT_PHYS_ADDR=y
119# CONFIG_CPU_ADVANCED is not set
120CONFIG_CPU_HAS_LLSC=y 121CONFIG_CPU_HAS_LLSC=y
121CONFIG_CPU_HAS_SYNC=y 122CONFIG_CPU_HAS_SYNC=y
122CONFIG_GENERIC_HARDIRQS=y 123CONFIG_GENERIC_HARDIRQS=y
123CONFIG_GENERIC_IRQ_PROBE=y 124CONFIG_GENERIC_IRQ_PROBE=y
125CONFIG_CPU_SUPPORTS_HIGHMEM=y
124CONFIG_ARCH_FLATMEM_ENABLE=y 126CONFIG_ARCH_FLATMEM_ENABLE=y
125CONFIG_SELECT_MEMORY_MODEL=y 127CONFIG_SELECT_MEMORY_MODEL=y
126CONFIG_FLATMEM_MANUAL=y 128CONFIG_FLATMEM_MANUAL=y
@@ -138,7 +140,6 @@ CONFIG_PREEMPT_NONE=y
138# Code maturity level options 140# Code maturity level options
139# 141#
140CONFIG_EXPERIMENTAL=y 142CONFIG_EXPERIMENTAL=y
141CONFIG_CLEAN_COMPILE=y
142CONFIG_BROKEN_ON_SMP=y 143CONFIG_BROKEN_ON_SMP=y
143CONFIG_INIT_ENV_ARG_LIMIT=32 144CONFIG_INIT_ENV_ARG_LIMIT=32
144 145
@@ -154,6 +155,7 @@ CONFIG_SYSVIPC=y
154CONFIG_SYSCTL=y 155CONFIG_SYSCTL=y
155# CONFIG_AUDIT is not set 156# CONFIG_AUDIT is not set
156# CONFIG_IKCONFIG is not set 157# CONFIG_IKCONFIG is not set
158CONFIG_RELAY=y
157CONFIG_INITRAMFS_SOURCE="" 159CONFIG_INITRAMFS_SOURCE=""
158# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 160# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
159CONFIG_EMBEDDED=y 161CONFIG_EMBEDDED=y
@@ -167,10 +169,6 @@ CONFIG_BASE_FULL=y
167CONFIG_FUTEX=y 169CONFIG_FUTEX=y
168CONFIG_EPOLL=y 170CONFIG_EPOLL=y
169CONFIG_SHMEM=y 171CONFIG_SHMEM=y
170CONFIG_CC_ALIGN_FUNCTIONS=0
171CONFIG_CC_ALIGN_LABELS=0
172CONFIG_CC_ALIGN_LOOPS=0
173CONFIG_CC_ALIGN_JUMPS=0
174CONFIG_SLAB=y 172CONFIG_SLAB=y
175# CONFIG_TINY_SHMEM is not set 173# CONFIG_TINY_SHMEM is not set
176CONFIG_BASE_SMALL=0 174CONFIG_BASE_SMALL=0
@@ -183,7 +181,6 @@ CONFIG_OBSOLETE_INTERMODULE=y
183CONFIG_MODULES=y 181CONFIG_MODULES=y
184CONFIG_MODULE_UNLOAD=y 182CONFIG_MODULE_UNLOAD=y
185# CONFIG_MODULE_FORCE_UNLOAD is not set 183# CONFIG_MODULE_FORCE_UNLOAD is not set
186CONFIG_OBSOLETE_MODPARM=y
187CONFIG_MODVERSIONS=y 184CONFIG_MODVERSIONS=y
188CONFIG_MODULE_SRCVERSION_ALL=y 185CONFIG_MODULE_SRCVERSION_ALL=y
189CONFIG_KMOD=y 186CONFIG_KMOD=y
@@ -192,6 +189,8 @@ CONFIG_KMOD=y
192# Block layer 189# Block layer
193# 190#
194# CONFIG_LBD is not set 191# CONFIG_LBD is not set
192# CONFIG_BLK_DEV_IO_TRACE is not set
193# CONFIG_LSF is not set
195 194
196# 195#
197# IO Schedulers 196# IO Schedulers
@@ -247,6 +246,7 @@ CONFIG_NET=y
247# 246#
248# Networking options 247# Networking options
249# 248#
249# CONFIG_NETDEBUG is not set
250CONFIG_PACKET=y 250CONFIG_PACKET=y
251# CONFIG_PACKET_MMAP is not set 251# CONFIG_PACKET_MMAP is not set
252CONFIG_UNIX=y 252CONFIG_UNIX=y
@@ -269,7 +269,8 @@ CONFIG_IP_PNP_BOOTP=y
269# CONFIG_INET_AH is not set 269# CONFIG_INET_AH is not set
270# CONFIG_INET_ESP is not set 270# CONFIG_INET_ESP is not set
271# CONFIG_INET_IPCOMP is not set 271# CONFIG_INET_IPCOMP is not set
272CONFIG_INET_TUNNEL=m 272# CONFIG_INET_XFRM_TUNNEL is not set
273# CONFIG_INET_TUNNEL is not set
273CONFIG_INET_DIAG=y 274CONFIG_INET_DIAG=y
274CONFIG_INET_TCP_DIAG=y 275CONFIG_INET_TCP_DIAG=y
275# CONFIG_TCP_CONG_ADVANCED is not set 276# CONFIG_TCP_CONG_ADVANCED is not set
@@ -280,6 +281,8 @@ CONFIG_TCP_CONG_BIC=y
280# 281#
281# CONFIG_IP_VS is not set 282# CONFIG_IP_VS is not set
282# CONFIG_IPV6 is not set 283# CONFIG_IPV6 is not set
284# CONFIG_INET6_XFRM_TUNNEL is not set
285# CONFIG_INET6_TUNNEL is not set
283CONFIG_NETFILTER=y 286CONFIG_NETFILTER=y
284# CONFIG_NETFILTER_DEBUG is not set 287# CONFIG_NETFILTER_DEBUG is not set
285 288
@@ -296,10 +299,13 @@ CONFIG_NETFILTER_XT_TARGET_MARK=m
296CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m 299CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
297CONFIG_NETFILTER_XT_MATCH_COMMENT=m 300CONFIG_NETFILTER_XT_MATCH_COMMENT=m
298CONFIG_NETFILTER_XT_MATCH_DCCP=m 301CONFIG_NETFILTER_XT_MATCH_DCCP=m
302CONFIG_NETFILTER_XT_MATCH_ESP=m
299CONFIG_NETFILTER_XT_MATCH_LENGTH=m 303CONFIG_NETFILTER_XT_MATCH_LENGTH=m
300CONFIG_NETFILTER_XT_MATCH_LIMIT=m 304CONFIG_NETFILTER_XT_MATCH_LIMIT=m
301CONFIG_NETFILTER_XT_MATCH_MAC=m 305CONFIG_NETFILTER_XT_MATCH_MAC=m
302CONFIG_NETFILTER_XT_MATCH_MARK=m 306CONFIG_NETFILTER_XT_MATCH_MARK=m
307CONFIG_NETFILTER_XT_MATCH_POLICY=m
308CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
303CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m 309CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
304CONFIG_NETFILTER_XT_MATCH_REALM=m 310CONFIG_NETFILTER_XT_MATCH_REALM=m
305CONFIG_NETFILTER_XT_MATCH_SCTP=m 311CONFIG_NETFILTER_XT_MATCH_SCTP=m
@@ -323,6 +329,11 @@ CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
323# SCTP Configuration (EXPERIMENTAL) 329# SCTP Configuration (EXPERIMENTAL)
324# 330#
325# CONFIG_IP_SCTP is not set 331# CONFIG_IP_SCTP is not set
332
333#
334# TIPC Configuration (EXPERIMENTAL)
335#
336# CONFIG_TIPC is not set
326# CONFIG_ATM is not set 337# CONFIG_ATM is not set
327# CONFIG_BRIDGE is not set 338# CONFIG_BRIDGE is not set
328# CONFIG_VLAN_8021Q is not set 339# CONFIG_VLAN_8021Q is not set
@@ -332,11 +343,6 @@ CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
332# CONFIG_ATALK is not set 343# CONFIG_ATALK is not set
333# CONFIG_X25 is not set 344# CONFIG_X25 is not set
334# CONFIG_LAPB is not set 345# CONFIG_LAPB is not set
335
336#
337# TIPC Configuration (EXPERIMENTAL)
338#
339# CONFIG_TIPC is not set
340# CONFIG_NET_DIVERT is not set 346# CONFIG_NET_DIVERT is not set
341# CONFIG_ECONET is not set 347# CONFIG_ECONET is not set
342# CONFIG_WAN_ROUTER is not set 348# CONFIG_WAN_ROUTER is not set
@@ -358,6 +364,9 @@ CONFIG_IEEE80211=m
358# CONFIG_IEEE80211_DEBUG is not set 364# CONFIG_IEEE80211_DEBUG is not set
359CONFIG_IEEE80211_CRYPT_WEP=m 365CONFIG_IEEE80211_CRYPT_WEP=m
360CONFIG_IEEE80211_CRYPT_CCMP=m 366CONFIG_IEEE80211_CRYPT_CCMP=m
367CONFIG_IEEE80211_SOFTMAC=m
368# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set
369CONFIG_WIRELESS_EXT=y
361 370
362# 371#
363# Device Drivers 372# Device Drivers
@@ -414,7 +423,6 @@ CONFIG_MTD_CFI_I2=y
414# CONFIG_MTD_CFI_I8 is not set 423# CONFIG_MTD_CFI_I8 is not set
415# CONFIG_MTD_CFI_INTELEXT is not set 424# CONFIG_MTD_CFI_INTELEXT is not set
416CONFIG_MTD_CFI_AMDSTD=y 425CONFIG_MTD_CFI_AMDSTD=y
417CONFIG_MTD_CFI_AMDSTD_RETRY=0
418# CONFIG_MTD_CFI_STAA is not set 426# CONFIG_MTD_CFI_STAA is not set
419CONFIG_MTD_CFI_UTIL=y 427CONFIG_MTD_CFI_UTIL=y
420# CONFIG_MTD_RAM is not set 428# CONFIG_MTD_RAM is not set
@@ -436,7 +444,6 @@ CONFIG_MTD_ALCHEMY=y
436# CONFIG_MTD_SLRAM is not set 444# CONFIG_MTD_SLRAM is not set
437# CONFIG_MTD_PHRAM is not set 445# CONFIG_MTD_PHRAM is not set
438# CONFIG_MTD_MTDRAM is not set 446# CONFIG_MTD_MTDRAM is not set
439# CONFIG_MTD_BLKMTD is not set
440# CONFIG_MTD_BLOCK2MTD is not set 447# CONFIG_MTD_BLOCK2MTD is not set
441 448
442# 449#
@@ -473,7 +480,7 @@ CONFIG_BLK_DEV_LOOP=y
473# CONFIG_BLK_DEV_CRYPTOLOOP is not set 480# CONFIG_BLK_DEV_CRYPTOLOOP is not set
474# CONFIG_BLK_DEV_NBD is not set 481# CONFIG_BLK_DEV_NBD is not set
475# CONFIG_BLK_DEV_RAM is not set 482# CONFIG_BLK_DEV_RAM is not set
476CONFIG_BLK_DEV_RAM_COUNT=16 483# CONFIG_BLK_DEV_INITRD is not set
477CONFIG_CDROM_PKTCDVD=m 484CONFIG_CDROM_PKTCDVD=m
478CONFIG_CDROM_PKTCDVD_BUFFERS=8 485CONFIG_CDROM_PKTCDVD_BUFFERS=8
479# CONFIG_CDROM_PKTCDVD_WCACHE is not set 486# CONFIG_CDROM_PKTCDVD_WCACHE is not set
@@ -716,10 +723,6 @@ CONFIG_SYNCLINK_CS=m
716# 723#
717 724
718# 725#
719# Multimedia Capabilities Port drivers
720#
721
722#
723# Multimedia devices 726# Multimedia devices
724# 727#
725# CONFIG_VIDEO_DEV is not set 728# CONFIG_VIDEO_DEV is not set
@@ -750,6 +753,7 @@ CONFIG_DUMMY_CONSOLE=y
750# 753#
751CONFIG_USB_ARCH_HAS_HCD=y 754CONFIG_USB_ARCH_HAS_HCD=y
752CONFIG_USB_ARCH_HAS_OHCI=y 755CONFIG_USB_ARCH_HAS_OHCI=y
756# CONFIG_USB_ARCH_HAS_EHCI is not set
753# CONFIG_USB is not set 757# CONFIG_USB is not set
754 758
755# 759#
@@ -767,12 +771,30 @@ CONFIG_USB_ARCH_HAS_OHCI=y
767# CONFIG_MMC is not set 771# CONFIG_MMC is not set
768 772
769# 773#
774# LED devices
775#
776# CONFIG_NEW_LEDS is not set
777
778#
779# LED drivers
780#
781
782#
783# LED Triggers
784#
785
786#
770# InfiniBand support 787# InfiniBand support
771# 788#
772 789
773# 790#
774# SN Devices 791# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
792#
793
794#
795# Real Time Clock
775# 796#
797# CONFIG_RTC_CLASS is not set
776 798
777# 799#
778# File systems 800# File systems
@@ -830,7 +852,6 @@ CONFIG_SYSFS=y
830CONFIG_TMPFS=y 852CONFIG_TMPFS=y
831# CONFIG_HUGETLB_PAGE is not set 853# CONFIG_HUGETLB_PAGE is not set
832CONFIG_RAMFS=y 854CONFIG_RAMFS=y
833CONFIG_RELAYFS_FS=m
834# CONFIG_CONFIGFS_FS is not set 855# CONFIG_CONFIGFS_FS is not set
835 856
836# 857#
@@ -939,6 +960,7 @@ CONFIG_NLS_DEFAULT="iso8859-1"
939# CONFIG_MAGIC_SYSRQ is not set 960# CONFIG_MAGIC_SYSRQ is not set
940# CONFIG_DEBUG_KERNEL is not set 961# CONFIG_DEBUG_KERNEL is not set
941CONFIG_LOG_BUF_SHIFT=14 962CONFIG_LOG_BUF_SHIFT=14
963# CONFIG_DEBUG_FS is not set
942CONFIG_CROSSCOMPILE=y 964CONFIG_CROSSCOMPILE=y
943CONFIG_CMDLINE="" 965CONFIG_CMDLINE=""
944 966
diff --git a/arch/mips/configs/pb1500_defconfig b/arch/mips/configs/pb1500_defconfig
index 8985725e6a98..398c3c265b9f 100644
--- a/arch/mips/configs/pb1500_defconfig
+++ b/arch/mips/configs/pb1500_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.16-rc1 3# Linux kernel version: 2.6.17-rc2
4# Fri Jan 27 15:40:24 2006 4# Mon Apr 24 14:51:13 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -64,6 +64,8 @@ CONFIG_MIPS_PB1500=y
64# CONFIG_TOSHIBA_RBTX4927 is not set 64# CONFIG_TOSHIBA_RBTX4927 is not set
65# CONFIG_TOSHIBA_RBTX4938 is not set 65# CONFIG_TOSHIBA_RBTX4938 is not set
66CONFIG_RWSEM_GENERIC_SPINLOCK=y 66CONFIG_RWSEM_GENERIC_SPINLOCK=y
67CONFIG_GENERIC_FIND_NEXT_BIT=y
68CONFIG_GENERIC_HWEIGHT=y
67CONFIG_GENERIC_CALIBRATE_DELAY=y 69CONFIG_GENERIC_CALIBRATE_DELAY=y
68CONFIG_DMA_NONCOHERENT=y 70CONFIG_DMA_NONCOHERENT=y
69CONFIG_DMA_NEED_PCI_MAP_STATE=y 71CONFIG_DMA_NEED_PCI_MAP_STATE=y
@@ -115,11 +117,11 @@ CONFIG_PAGE_SIZE_4KB=y
115CONFIG_CPU_HAS_PREFETCH=y 117CONFIG_CPU_HAS_PREFETCH=y
116# CONFIG_MIPS_MT is not set 118# CONFIG_MIPS_MT is not set
117CONFIG_64BIT_PHYS_ADDR=y 119CONFIG_64BIT_PHYS_ADDR=y
118# CONFIG_CPU_ADVANCED is not set
119CONFIG_CPU_HAS_LLSC=y 120CONFIG_CPU_HAS_LLSC=y
120CONFIG_CPU_HAS_SYNC=y 121CONFIG_CPU_HAS_SYNC=y
121CONFIG_GENERIC_HARDIRQS=y 122CONFIG_GENERIC_HARDIRQS=y
122CONFIG_GENERIC_IRQ_PROBE=y 123CONFIG_GENERIC_IRQ_PROBE=y
124CONFIG_CPU_SUPPORTS_HIGHMEM=y
123CONFIG_ARCH_FLATMEM_ENABLE=y 125CONFIG_ARCH_FLATMEM_ENABLE=y
124CONFIG_SELECT_MEMORY_MODEL=y 126CONFIG_SELECT_MEMORY_MODEL=y
125CONFIG_FLATMEM_MANUAL=y 127CONFIG_FLATMEM_MANUAL=y
@@ -137,7 +139,6 @@ CONFIG_PREEMPT_NONE=y
137# Code maturity level options 139# Code maturity level options
138# 140#
139CONFIG_EXPERIMENTAL=y 141CONFIG_EXPERIMENTAL=y
140CONFIG_CLEAN_COMPILE=y
141CONFIG_BROKEN_ON_SMP=y 142CONFIG_BROKEN_ON_SMP=y
142CONFIG_INIT_ENV_ARG_LIMIT=32 143CONFIG_INIT_ENV_ARG_LIMIT=32
143 144
@@ -153,6 +154,7 @@ CONFIG_SYSVIPC=y
153CONFIG_SYSCTL=y 154CONFIG_SYSCTL=y
154# CONFIG_AUDIT is not set 155# CONFIG_AUDIT is not set
155# CONFIG_IKCONFIG is not set 156# CONFIG_IKCONFIG is not set
157CONFIG_RELAY=y
156CONFIG_INITRAMFS_SOURCE="" 158CONFIG_INITRAMFS_SOURCE=""
157# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 159# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
158CONFIG_EMBEDDED=y 160CONFIG_EMBEDDED=y
@@ -166,10 +168,6 @@ CONFIG_BASE_FULL=y
166CONFIG_FUTEX=y 168CONFIG_FUTEX=y
167CONFIG_EPOLL=y 169CONFIG_EPOLL=y
168CONFIG_SHMEM=y 170CONFIG_SHMEM=y
169CONFIG_CC_ALIGN_FUNCTIONS=0
170CONFIG_CC_ALIGN_LABELS=0
171CONFIG_CC_ALIGN_LOOPS=0
172CONFIG_CC_ALIGN_JUMPS=0
173CONFIG_SLAB=y 171CONFIG_SLAB=y
174# CONFIG_TINY_SHMEM is not set 172# CONFIG_TINY_SHMEM is not set
175CONFIG_BASE_SMALL=0 173CONFIG_BASE_SMALL=0
@@ -182,7 +180,6 @@ CONFIG_OBSOLETE_INTERMODULE=y
182CONFIG_MODULES=y 180CONFIG_MODULES=y
183CONFIG_MODULE_UNLOAD=y 181CONFIG_MODULE_UNLOAD=y
184# CONFIG_MODULE_FORCE_UNLOAD is not set 182# CONFIG_MODULE_FORCE_UNLOAD is not set
185CONFIG_OBSOLETE_MODPARM=y
186CONFIG_MODVERSIONS=y 183CONFIG_MODVERSIONS=y
187CONFIG_MODULE_SRCVERSION_ALL=y 184CONFIG_MODULE_SRCVERSION_ALL=y
188CONFIG_KMOD=y 185CONFIG_KMOD=y
@@ -191,6 +188,8 @@ CONFIG_KMOD=y
191# Block layer 188# Block layer
192# 189#
193# CONFIG_LBD is not set 190# CONFIG_LBD is not set
191# CONFIG_BLK_DEV_IO_TRACE is not set
192# CONFIG_LSF is not set
194 193
195# 194#
196# IO Schedulers 195# IO Schedulers
@@ -210,7 +209,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
210# 209#
211CONFIG_HW_HAS_PCI=y 210CONFIG_HW_HAS_PCI=y
212CONFIG_PCI=y 211CONFIG_PCI=y
213CONFIG_PCI_LEGACY_PROC=y
214CONFIG_MMU=y 212CONFIG_MMU=y
215 213
216# 214#
@@ -253,6 +251,7 @@ CONFIG_NET=y
253# 251#
254# Networking options 252# Networking options
255# 253#
254# CONFIG_NETDEBUG is not set
256CONFIG_PACKET=y 255CONFIG_PACKET=y
257# CONFIG_PACKET_MMAP is not set 256# CONFIG_PACKET_MMAP is not set
258CONFIG_UNIX=y 257CONFIG_UNIX=y
@@ -275,7 +274,8 @@ CONFIG_IP_PNP_BOOTP=y
275# CONFIG_INET_AH is not set 274# CONFIG_INET_AH is not set
276# CONFIG_INET_ESP is not set 275# CONFIG_INET_ESP is not set
277# CONFIG_INET_IPCOMP is not set 276# CONFIG_INET_IPCOMP is not set
278CONFIG_INET_TUNNEL=m 277# CONFIG_INET_XFRM_TUNNEL is not set
278# CONFIG_INET_TUNNEL is not set
279CONFIG_INET_DIAG=y 279CONFIG_INET_DIAG=y
280CONFIG_INET_TCP_DIAG=y 280CONFIG_INET_TCP_DIAG=y
281# CONFIG_TCP_CONG_ADVANCED is not set 281# CONFIG_TCP_CONG_ADVANCED is not set
@@ -286,6 +286,8 @@ CONFIG_TCP_CONG_BIC=y
286# 286#
287# CONFIG_IP_VS is not set 287# CONFIG_IP_VS is not set
288# CONFIG_IPV6 is not set 288# CONFIG_IPV6 is not set
289# CONFIG_INET6_XFRM_TUNNEL is not set
290# CONFIG_INET6_TUNNEL is not set
289CONFIG_NETFILTER=y 291CONFIG_NETFILTER=y
290# CONFIG_NETFILTER_DEBUG is not set 292# CONFIG_NETFILTER_DEBUG is not set
291 293
@@ -302,10 +304,13 @@ CONFIG_NETFILTER_XT_TARGET_MARK=m
302CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m 304CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
303CONFIG_NETFILTER_XT_MATCH_COMMENT=m 305CONFIG_NETFILTER_XT_MATCH_COMMENT=m
304CONFIG_NETFILTER_XT_MATCH_DCCP=m 306CONFIG_NETFILTER_XT_MATCH_DCCP=m
307CONFIG_NETFILTER_XT_MATCH_ESP=m
305CONFIG_NETFILTER_XT_MATCH_LENGTH=m 308CONFIG_NETFILTER_XT_MATCH_LENGTH=m
306CONFIG_NETFILTER_XT_MATCH_LIMIT=m 309CONFIG_NETFILTER_XT_MATCH_LIMIT=m
307CONFIG_NETFILTER_XT_MATCH_MAC=m 310CONFIG_NETFILTER_XT_MATCH_MAC=m
308CONFIG_NETFILTER_XT_MATCH_MARK=m 311CONFIG_NETFILTER_XT_MATCH_MARK=m
312CONFIG_NETFILTER_XT_MATCH_POLICY=m
313CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
309CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m 314CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
310CONFIG_NETFILTER_XT_MATCH_REALM=m 315CONFIG_NETFILTER_XT_MATCH_REALM=m
311CONFIG_NETFILTER_XT_MATCH_SCTP=m 316CONFIG_NETFILTER_XT_MATCH_SCTP=m
@@ -329,6 +334,11 @@ CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
329# SCTP Configuration (EXPERIMENTAL) 334# SCTP Configuration (EXPERIMENTAL)
330# 335#
331# CONFIG_IP_SCTP is not set 336# CONFIG_IP_SCTP is not set
337
338#
339# TIPC Configuration (EXPERIMENTAL)
340#
341# CONFIG_TIPC is not set
332# CONFIG_ATM is not set 342# CONFIG_ATM is not set
333# CONFIG_BRIDGE is not set 343# CONFIG_BRIDGE is not set
334# CONFIG_VLAN_8021Q is not set 344# CONFIG_VLAN_8021Q is not set
@@ -338,11 +348,6 @@ CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
338# CONFIG_ATALK is not set 348# CONFIG_ATALK is not set
339# CONFIG_X25 is not set 349# CONFIG_X25 is not set
340# CONFIG_LAPB is not set 350# CONFIG_LAPB is not set
341
342#
343# TIPC Configuration (EXPERIMENTAL)
344#
345# CONFIG_TIPC is not set
346# CONFIG_NET_DIVERT is not set 351# CONFIG_NET_DIVERT is not set
347# CONFIG_ECONET is not set 352# CONFIG_ECONET is not set
348# CONFIG_WAN_ROUTER is not set 353# CONFIG_WAN_ROUTER is not set
@@ -364,6 +369,9 @@ CONFIG_IEEE80211=m
364# CONFIG_IEEE80211_DEBUG is not set 369# CONFIG_IEEE80211_DEBUG is not set
365CONFIG_IEEE80211_CRYPT_WEP=m 370CONFIG_IEEE80211_CRYPT_WEP=m
366CONFIG_IEEE80211_CRYPT_CCMP=m 371CONFIG_IEEE80211_CRYPT_CCMP=m
372CONFIG_IEEE80211_SOFTMAC=m
373# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set
374CONFIG_WIRELESS_EXT=y
367 375
368# 376#
369# Device Drivers 377# Device Drivers
@@ -420,7 +428,6 @@ CONFIG_MTD_CFI_I2=y
420# CONFIG_MTD_CFI_I8 is not set 428# CONFIG_MTD_CFI_I8 is not set
421# CONFIG_MTD_CFI_INTELEXT is not set 429# CONFIG_MTD_CFI_INTELEXT is not set
422CONFIG_MTD_CFI_AMDSTD=y 430CONFIG_MTD_CFI_AMDSTD=y
423CONFIG_MTD_CFI_AMDSTD_RETRY=0
424# CONFIG_MTD_CFI_STAA is not set 431# CONFIG_MTD_CFI_STAA is not set
425CONFIG_MTD_CFI_UTIL=y 432CONFIG_MTD_CFI_UTIL=y
426# CONFIG_MTD_RAM is not set 433# CONFIG_MTD_RAM is not set
@@ -443,7 +450,6 @@ CONFIG_MTD_ALCHEMY=y
443# CONFIG_MTD_SLRAM is not set 450# CONFIG_MTD_SLRAM is not set
444# CONFIG_MTD_PHRAM is not set 451# CONFIG_MTD_PHRAM is not set
445# CONFIG_MTD_MTDRAM is not set 452# CONFIG_MTD_MTDRAM is not set
446# CONFIG_MTD_BLKMTD is not set
447# CONFIG_MTD_BLOCK2MTD is not set 453# CONFIG_MTD_BLOCK2MTD is not set
448 454
449# 455#
@@ -485,7 +491,7 @@ CONFIG_BLK_DEV_LOOP=y
485# CONFIG_BLK_DEV_NBD is not set 491# CONFIG_BLK_DEV_NBD is not set
486# CONFIG_BLK_DEV_SX8 is not set 492# CONFIG_BLK_DEV_SX8 is not set
487# CONFIG_BLK_DEV_RAM is not set 493# CONFIG_BLK_DEV_RAM is not set
488CONFIG_BLK_DEV_RAM_COUNT=16 494# CONFIG_BLK_DEV_INITRD is not set
489CONFIG_CDROM_PKTCDVD=m 495CONFIG_CDROM_PKTCDVD=m
490CONFIG_CDROM_PKTCDVD_BUFFERS=8 496CONFIG_CDROM_PKTCDVD_BUFFERS=8
491# CONFIG_CDROM_PKTCDVD_WCACHE is not set 497# CONFIG_CDROM_PKTCDVD_WCACHE is not set
@@ -750,6 +756,7 @@ CONFIG_SERIO_RAW=m
750# 756#
751CONFIG_SERIAL_8250=y 757CONFIG_SERIAL_8250=y
752CONFIG_SERIAL_8250_CONSOLE=y 758CONFIG_SERIAL_8250_CONSOLE=y
759CONFIG_SERIAL_8250_PCI=y
753# CONFIG_SERIAL_8250_CS is not set 760# CONFIG_SERIAL_8250_CS is not set
754CONFIG_SERIAL_8250_NR_UARTS=4 761CONFIG_SERIAL_8250_NR_UARTS=4
755CONFIG_SERIAL_8250_RUNTIME_UARTS=4 762CONFIG_SERIAL_8250_RUNTIME_UARTS=4
@@ -761,6 +768,7 @@ CONFIG_SERIAL_8250_AU1X00=y
761# 768#
762CONFIG_SERIAL_CORE=y 769CONFIG_SERIAL_CORE=y
763CONFIG_SERIAL_CORE_CONSOLE=y 770CONFIG_SERIAL_CORE_CONSOLE=y
771# CONFIG_SERIAL_JSM is not set
764CONFIG_UNIX98_PTYS=y 772CONFIG_UNIX98_PTYS=y
765CONFIG_LEGACY_PTYS=y 773CONFIG_LEGACY_PTYS=y
766CONFIG_LEGACY_PTY_COUNT=256 774CONFIG_LEGACY_PTY_COUNT=256
@@ -826,10 +834,6 @@ CONFIG_SYNCLINK_CS=m
826# 834#
827 835
828# 836#
829# Multimedia Capabilities Port drivers
830#
831
832#
833# Multimedia devices 837# Multimedia devices
834# 838#
835# CONFIG_VIDEO_DEV is not set 839# CONFIG_VIDEO_DEV is not set
@@ -854,6 +858,7 @@ CONFIG_SYNCLINK_CS=m
854# 858#
855CONFIG_USB_ARCH_HAS_HCD=y 859CONFIG_USB_ARCH_HAS_HCD=y
856CONFIG_USB_ARCH_HAS_OHCI=y 860CONFIG_USB_ARCH_HAS_OHCI=y
861CONFIG_USB_ARCH_HAS_EHCI=y
857# CONFIG_USB is not set 862# CONFIG_USB is not set
858 863
859# 864#
@@ -871,13 +876,31 @@ CONFIG_USB_ARCH_HAS_OHCI=y
871# CONFIG_MMC is not set 876# CONFIG_MMC is not set
872 877
873# 878#
879# LED devices
880#
881# CONFIG_NEW_LEDS is not set
882
883#
884# LED drivers
885#
886
887#
888# LED Triggers
889#
890
891#
874# InfiniBand support 892# InfiniBand support
875# 893#
876# CONFIG_INFINIBAND is not set 894# CONFIG_INFINIBAND is not set
877 895
878# 896#
879# SN Devices 897# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
898#
899
900#
901# Real Time Clock
880# 902#
903# CONFIG_RTC_CLASS is not set
881 904
882# 905#
883# File systems 906# File systems
@@ -935,7 +958,6 @@ CONFIG_SYSFS=y
935CONFIG_TMPFS=y 958CONFIG_TMPFS=y
936# CONFIG_HUGETLB_PAGE is not set 959# CONFIG_HUGETLB_PAGE is not set
937CONFIG_RAMFS=y 960CONFIG_RAMFS=y
938CONFIG_RELAYFS_FS=m
939# CONFIG_CONFIGFS_FS is not set 961# CONFIG_CONFIGFS_FS is not set
940 962
941# 963#
@@ -1044,6 +1066,7 @@ CONFIG_NLS_DEFAULT="iso8859-1"
1044# CONFIG_MAGIC_SYSRQ is not set 1066# CONFIG_MAGIC_SYSRQ is not set
1045# CONFIG_DEBUG_KERNEL is not set 1067# CONFIG_DEBUG_KERNEL is not set
1046CONFIG_LOG_BUF_SHIFT=14 1068CONFIG_LOG_BUF_SHIFT=14
1069# CONFIG_DEBUG_FS is not set
1047CONFIG_CROSSCOMPILE=y 1070CONFIG_CROSSCOMPILE=y
1048CONFIG_CMDLINE="" 1071CONFIG_CMDLINE=""
1049 1072
diff --git a/arch/mips/configs/pb1550_defconfig b/arch/mips/configs/pb1550_defconfig
index adbf997b540e..ea282a53bb66 100644
--- a/arch/mips/configs/pb1550_defconfig
+++ b/arch/mips/configs/pb1550_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.16-rc1 3# Linux kernel version: 2.6.17-rc2
4# Fri Jan 27 15:40:25 2006 4# Mon Apr 24 14:51:13 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -64,6 +64,8 @@ CONFIG_MIPS_PB1550=y
64# CONFIG_TOSHIBA_RBTX4927 is not set 64# CONFIG_TOSHIBA_RBTX4927 is not set
65# CONFIG_TOSHIBA_RBTX4938 is not set 65# CONFIG_TOSHIBA_RBTX4938 is not set
66CONFIG_RWSEM_GENERIC_SPINLOCK=y 66CONFIG_RWSEM_GENERIC_SPINLOCK=y
67CONFIG_GENERIC_FIND_NEXT_BIT=y
68CONFIG_GENERIC_HWEIGHT=y
67CONFIG_GENERIC_CALIBRATE_DELAY=y 69CONFIG_GENERIC_CALIBRATE_DELAY=y
68CONFIG_DMA_NONCOHERENT=y 70CONFIG_DMA_NONCOHERENT=y
69CONFIG_DMA_NEED_PCI_MAP_STATE=y 71CONFIG_DMA_NEED_PCI_MAP_STATE=y
@@ -115,11 +117,11 @@ CONFIG_PAGE_SIZE_4KB=y
115CONFIG_CPU_HAS_PREFETCH=y 117CONFIG_CPU_HAS_PREFETCH=y
116# CONFIG_MIPS_MT is not set 118# CONFIG_MIPS_MT is not set
117CONFIG_64BIT_PHYS_ADDR=y 119CONFIG_64BIT_PHYS_ADDR=y
118# CONFIG_CPU_ADVANCED is not set
119CONFIG_CPU_HAS_LLSC=y 120CONFIG_CPU_HAS_LLSC=y
120CONFIG_CPU_HAS_SYNC=y 121CONFIG_CPU_HAS_SYNC=y
121CONFIG_GENERIC_HARDIRQS=y 122CONFIG_GENERIC_HARDIRQS=y
122CONFIG_GENERIC_IRQ_PROBE=y 123CONFIG_GENERIC_IRQ_PROBE=y
124CONFIG_CPU_SUPPORTS_HIGHMEM=y
123CONFIG_ARCH_FLATMEM_ENABLE=y 125CONFIG_ARCH_FLATMEM_ENABLE=y
124CONFIG_SELECT_MEMORY_MODEL=y 126CONFIG_SELECT_MEMORY_MODEL=y
125CONFIG_FLATMEM_MANUAL=y 127CONFIG_FLATMEM_MANUAL=y
@@ -137,7 +139,6 @@ CONFIG_PREEMPT_NONE=y
137# Code maturity level options 139# Code maturity level options
138# 140#
139CONFIG_EXPERIMENTAL=y 141CONFIG_EXPERIMENTAL=y
140CONFIG_CLEAN_COMPILE=y
141CONFIG_BROKEN_ON_SMP=y 142CONFIG_BROKEN_ON_SMP=y
142CONFIG_INIT_ENV_ARG_LIMIT=32 143CONFIG_INIT_ENV_ARG_LIMIT=32
143 144
@@ -153,6 +154,7 @@ CONFIG_SYSVIPC=y
153CONFIG_SYSCTL=y 154CONFIG_SYSCTL=y
154# CONFIG_AUDIT is not set 155# CONFIG_AUDIT is not set
155# CONFIG_IKCONFIG is not set 156# CONFIG_IKCONFIG is not set
157CONFIG_RELAY=y
156CONFIG_INITRAMFS_SOURCE="" 158CONFIG_INITRAMFS_SOURCE=""
157# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 159# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
158CONFIG_EMBEDDED=y 160CONFIG_EMBEDDED=y
@@ -166,10 +168,6 @@ CONFIG_BASE_FULL=y
166CONFIG_FUTEX=y 168CONFIG_FUTEX=y
167CONFIG_EPOLL=y 169CONFIG_EPOLL=y
168CONFIG_SHMEM=y 170CONFIG_SHMEM=y
169CONFIG_CC_ALIGN_FUNCTIONS=0
170CONFIG_CC_ALIGN_LABELS=0
171CONFIG_CC_ALIGN_LOOPS=0
172CONFIG_CC_ALIGN_JUMPS=0
173CONFIG_SLAB=y 171CONFIG_SLAB=y
174# CONFIG_TINY_SHMEM is not set 172# CONFIG_TINY_SHMEM is not set
175CONFIG_BASE_SMALL=0 173CONFIG_BASE_SMALL=0
@@ -182,7 +180,6 @@ CONFIG_OBSOLETE_INTERMODULE=y
182CONFIG_MODULES=y 180CONFIG_MODULES=y
183CONFIG_MODULE_UNLOAD=y 181CONFIG_MODULE_UNLOAD=y
184# CONFIG_MODULE_FORCE_UNLOAD is not set 182# CONFIG_MODULE_FORCE_UNLOAD is not set
185CONFIG_OBSOLETE_MODPARM=y
186CONFIG_MODVERSIONS=y 183CONFIG_MODVERSIONS=y
187CONFIG_MODULE_SRCVERSION_ALL=y 184CONFIG_MODULE_SRCVERSION_ALL=y
188CONFIG_KMOD=y 185CONFIG_KMOD=y
@@ -191,6 +188,8 @@ CONFIG_KMOD=y
191# Block layer 188# Block layer
192# 189#
193# CONFIG_LBD is not set 190# CONFIG_LBD is not set
191# CONFIG_BLK_DEV_IO_TRACE is not set
192# CONFIG_LSF is not set
194 193
195# 194#
196# IO Schedulers 195# IO Schedulers
@@ -210,7 +209,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
210# 209#
211CONFIG_HW_HAS_PCI=y 210CONFIG_HW_HAS_PCI=y
212CONFIG_PCI=y 211CONFIG_PCI=y
213CONFIG_PCI_LEGACY_PROC=y
214CONFIG_MMU=y 212CONFIG_MMU=y
215 213
216# 214#
@@ -253,6 +251,7 @@ CONFIG_NET=y
253# 251#
254# Networking options 252# Networking options
255# 253#
254# CONFIG_NETDEBUG is not set
256CONFIG_PACKET=y 255CONFIG_PACKET=y
257# CONFIG_PACKET_MMAP is not set 256# CONFIG_PACKET_MMAP is not set
258CONFIG_UNIX=y 257CONFIG_UNIX=y
@@ -275,7 +274,8 @@ CONFIG_IP_PNP_BOOTP=y
275# CONFIG_INET_AH is not set 274# CONFIG_INET_AH is not set
276# CONFIG_INET_ESP is not set 275# CONFIG_INET_ESP is not set
277# CONFIG_INET_IPCOMP is not set 276# CONFIG_INET_IPCOMP is not set
278CONFIG_INET_TUNNEL=m 277# CONFIG_INET_XFRM_TUNNEL is not set
278# CONFIG_INET_TUNNEL is not set
279CONFIG_INET_DIAG=y 279CONFIG_INET_DIAG=y
280CONFIG_INET_TCP_DIAG=y 280CONFIG_INET_TCP_DIAG=y
281# CONFIG_TCP_CONG_ADVANCED is not set 281# CONFIG_TCP_CONG_ADVANCED is not set
@@ -286,6 +286,8 @@ CONFIG_TCP_CONG_BIC=y
286# 286#
287# CONFIG_IP_VS is not set 287# CONFIG_IP_VS is not set
288# CONFIG_IPV6 is not set 288# CONFIG_IPV6 is not set
289# CONFIG_INET6_XFRM_TUNNEL is not set
290# CONFIG_INET6_TUNNEL is not set
289CONFIG_NETFILTER=y 291CONFIG_NETFILTER=y
290# CONFIG_NETFILTER_DEBUG is not set 292# CONFIG_NETFILTER_DEBUG is not set
291 293
@@ -302,10 +304,13 @@ CONFIG_NETFILTER_XT_TARGET_MARK=m
302CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m 304CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
303CONFIG_NETFILTER_XT_MATCH_COMMENT=m 305CONFIG_NETFILTER_XT_MATCH_COMMENT=m
304CONFIG_NETFILTER_XT_MATCH_DCCP=m 306CONFIG_NETFILTER_XT_MATCH_DCCP=m
307CONFIG_NETFILTER_XT_MATCH_ESP=m
305CONFIG_NETFILTER_XT_MATCH_LENGTH=m 308CONFIG_NETFILTER_XT_MATCH_LENGTH=m
306CONFIG_NETFILTER_XT_MATCH_LIMIT=m 309CONFIG_NETFILTER_XT_MATCH_LIMIT=m
307CONFIG_NETFILTER_XT_MATCH_MAC=m 310CONFIG_NETFILTER_XT_MATCH_MAC=m
308CONFIG_NETFILTER_XT_MATCH_MARK=m 311CONFIG_NETFILTER_XT_MATCH_MARK=m
312CONFIG_NETFILTER_XT_MATCH_POLICY=m
313CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
309CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m 314CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
310CONFIG_NETFILTER_XT_MATCH_REALM=m 315CONFIG_NETFILTER_XT_MATCH_REALM=m
311CONFIG_NETFILTER_XT_MATCH_SCTP=m 316CONFIG_NETFILTER_XT_MATCH_SCTP=m
@@ -329,6 +334,11 @@ CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
329# SCTP Configuration (EXPERIMENTAL) 334# SCTP Configuration (EXPERIMENTAL)
330# 335#
331# CONFIG_IP_SCTP is not set 336# CONFIG_IP_SCTP is not set
337
338#
339# TIPC Configuration (EXPERIMENTAL)
340#
341# CONFIG_TIPC is not set
332# CONFIG_ATM is not set 342# CONFIG_ATM is not set
333# CONFIG_BRIDGE is not set 343# CONFIG_BRIDGE is not set
334# CONFIG_VLAN_8021Q is not set 344# CONFIG_VLAN_8021Q is not set
@@ -338,11 +348,6 @@ CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
338# CONFIG_ATALK is not set 348# CONFIG_ATALK is not set
339# CONFIG_X25 is not set 349# CONFIG_X25 is not set
340# CONFIG_LAPB is not set 350# CONFIG_LAPB is not set
341
342#
343# TIPC Configuration (EXPERIMENTAL)
344#
345# CONFIG_TIPC is not set
346# CONFIG_NET_DIVERT is not set 351# CONFIG_NET_DIVERT is not set
347# CONFIG_ECONET is not set 352# CONFIG_ECONET is not set
348# CONFIG_WAN_ROUTER is not set 353# CONFIG_WAN_ROUTER is not set
@@ -364,6 +369,9 @@ CONFIG_IEEE80211=m
364# CONFIG_IEEE80211_DEBUG is not set 369# CONFIG_IEEE80211_DEBUG is not set
365CONFIG_IEEE80211_CRYPT_WEP=m 370CONFIG_IEEE80211_CRYPT_WEP=m
366CONFIG_IEEE80211_CRYPT_CCMP=m 371CONFIG_IEEE80211_CRYPT_CCMP=m
372CONFIG_IEEE80211_SOFTMAC=m
373# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set
374CONFIG_WIRELESS_EXT=y
367 375
368# 376#
369# Device Drivers 377# Device Drivers
@@ -420,7 +428,6 @@ CONFIG_MTD_CFI_I2=y
420# CONFIG_MTD_CFI_I8 is not set 428# CONFIG_MTD_CFI_I8 is not set
421# CONFIG_MTD_CFI_INTELEXT is not set 429# CONFIG_MTD_CFI_INTELEXT is not set
422CONFIG_MTD_CFI_AMDSTD=y 430CONFIG_MTD_CFI_AMDSTD=y
423CONFIG_MTD_CFI_AMDSTD_RETRY=0
424# CONFIG_MTD_CFI_STAA is not set 431# CONFIG_MTD_CFI_STAA is not set
425CONFIG_MTD_CFI_UTIL=y 432CONFIG_MTD_CFI_UTIL=y
426# CONFIG_MTD_RAM is not set 433# CONFIG_MTD_RAM is not set
@@ -443,7 +450,6 @@ CONFIG_MTD_ALCHEMY=y
443# CONFIG_MTD_SLRAM is not set 450# CONFIG_MTD_SLRAM is not set
444# CONFIG_MTD_PHRAM is not set 451# CONFIG_MTD_PHRAM is not set
445# CONFIG_MTD_MTDRAM is not set 452# CONFIG_MTD_MTDRAM is not set
446# CONFIG_MTD_BLKMTD is not set
447# CONFIG_MTD_BLOCK2MTD is not set 453# CONFIG_MTD_BLOCK2MTD is not set
448 454
449# 455#
@@ -485,7 +491,7 @@ CONFIG_BLK_DEV_LOOP=y
485# CONFIG_BLK_DEV_NBD is not set 491# CONFIG_BLK_DEV_NBD is not set
486# CONFIG_BLK_DEV_SX8 is not set 492# CONFIG_BLK_DEV_SX8 is not set
487# CONFIG_BLK_DEV_RAM is not set 493# CONFIG_BLK_DEV_RAM is not set
488CONFIG_BLK_DEV_RAM_COUNT=16 494# CONFIG_BLK_DEV_INITRD is not set
489CONFIG_CDROM_PKTCDVD=m 495CONFIG_CDROM_PKTCDVD=m
490CONFIG_CDROM_PKTCDVD_BUFFERS=8 496CONFIG_CDROM_PKTCDVD_BUFFERS=8
491# CONFIG_CDROM_PKTCDVD_WCACHE is not set 497# CONFIG_CDROM_PKTCDVD_WCACHE is not set
@@ -742,6 +748,7 @@ CONFIG_SERIO_RAW=m
742# 748#
743CONFIG_SERIAL_8250=y 749CONFIG_SERIAL_8250=y
744CONFIG_SERIAL_8250_CONSOLE=y 750CONFIG_SERIAL_8250_CONSOLE=y
751CONFIG_SERIAL_8250_PCI=y
745# CONFIG_SERIAL_8250_CS is not set 752# CONFIG_SERIAL_8250_CS is not set
746CONFIG_SERIAL_8250_NR_UARTS=4 753CONFIG_SERIAL_8250_NR_UARTS=4
747CONFIG_SERIAL_8250_RUNTIME_UARTS=4 754CONFIG_SERIAL_8250_RUNTIME_UARTS=4
@@ -753,6 +760,7 @@ CONFIG_SERIAL_8250_AU1X00=y
753# 760#
754CONFIG_SERIAL_CORE=y 761CONFIG_SERIAL_CORE=y
755CONFIG_SERIAL_CORE_CONSOLE=y 762CONFIG_SERIAL_CORE_CONSOLE=y
763# CONFIG_SERIAL_JSM is not set
756CONFIG_UNIX98_PTYS=y 764CONFIG_UNIX98_PTYS=y
757CONFIG_LEGACY_PTYS=y 765CONFIG_LEGACY_PTYS=y
758CONFIG_LEGACY_PTY_COUNT=256 766CONFIG_LEGACY_PTY_COUNT=256
@@ -818,10 +826,6 @@ CONFIG_SYNCLINK_CS=m
818# 826#
819 827
820# 828#
821# Multimedia Capabilities Port drivers
822#
823
824#
825# Multimedia devices 829# Multimedia devices
826# 830#
827# CONFIG_VIDEO_DEV is not set 831# CONFIG_VIDEO_DEV is not set
@@ -846,6 +850,7 @@ CONFIG_SYNCLINK_CS=m
846# 850#
847CONFIG_USB_ARCH_HAS_HCD=y 851CONFIG_USB_ARCH_HAS_HCD=y
848CONFIG_USB_ARCH_HAS_OHCI=y 852CONFIG_USB_ARCH_HAS_OHCI=y
853CONFIG_USB_ARCH_HAS_EHCI=y
849# CONFIG_USB is not set 854# CONFIG_USB is not set
850 855
851# 856#
@@ -863,13 +868,31 @@ CONFIG_USB_ARCH_HAS_OHCI=y
863# CONFIG_MMC is not set 868# CONFIG_MMC is not set
864 869
865# 870#
871# LED devices
872#
873# CONFIG_NEW_LEDS is not set
874
875#
876# LED drivers
877#
878
879#
880# LED Triggers
881#
882
883#
866# InfiniBand support 884# InfiniBand support
867# 885#
868# CONFIG_INFINIBAND is not set 886# CONFIG_INFINIBAND is not set
869 887
870# 888#
871# SN Devices 889# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
890#
891
892#
893# Real Time Clock
872# 894#
895# CONFIG_RTC_CLASS is not set
873 896
874# 897#
875# File systems 898# File systems
@@ -927,7 +950,6 @@ CONFIG_SYSFS=y
927CONFIG_TMPFS=y 950CONFIG_TMPFS=y
928# CONFIG_HUGETLB_PAGE is not set 951# CONFIG_HUGETLB_PAGE is not set
929CONFIG_RAMFS=y 952CONFIG_RAMFS=y
930CONFIG_RELAYFS_FS=m
931# CONFIG_CONFIGFS_FS is not set 953# CONFIG_CONFIGFS_FS is not set
932 954
933# 955#
@@ -1036,6 +1058,7 @@ CONFIG_NLS_DEFAULT="iso8859-1"
1036# CONFIG_MAGIC_SYSRQ is not set 1058# CONFIG_MAGIC_SYSRQ is not set
1037# CONFIG_DEBUG_KERNEL is not set 1059# CONFIG_DEBUG_KERNEL is not set
1038CONFIG_LOG_BUF_SHIFT=14 1060CONFIG_LOG_BUF_SHIFT=14
1061# CONFIG_DEBUG_FS is not set
1039CONFIG_CROSSCOMPILE=y 1062CONFIG_CROSSCOMPILE=y
1040CONFIG_CMDLINE="" 1063CONFIG_CMDLINE=""
1041 1064
diff --git a/arch/mips/configs/pnx8550-jbs_defconfig b/arch/mips/configs/pnx8550-jbs_defconfig
index b5db700450ba..4c57e564db0b 100644
--- a/arch/mips/configs/pnx8550-jbs_defconfig
+++ b/arch/mips/configs/pnx8550-jbs_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.16-rc1 3# Linux kernel version: 2.6.17-rc2
4# Fri Jan 27 15:40:26 2006 4# Mon Apr 24 14:51:14 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -64,6 +64,8 @@ CONFIG_PNX8550_JBS=y
64# CONFIG_TOSHIBA_RBTX4927 is not set 64# CONFIG_TOSHIBA_RBTX4927 is not set
65# CONFIG_TOSHIBA_RBTX4938 is not set 65# CONFIG_TOSHIBA_RBTX4938 is not set
66CONFIG_RWSEM_GENERIC_SPINLOCK=y 66CONFIG_RWSEM_GENERIC_SPINLOCK=y
67CONFIG_GENERIC_FIND_NEXT_BIT=y
68CONFIG_GENERIC_HWEIGHT=y
67CONFIG_GENERIC_CALIBRATE_DELAY=y 69CONFIG_GENERIC_CALIBRATE_DELAY=y
68CONFIG_DMA_NONCOHERENT=y 70CONFIG_DMA_NONCOHERENT=y
69CONFIG_DMA_NEED_PCI_MAP_STATE=y 71CONFIG_DMA_NEED_PCI_MAP_STATE=y
@@ -114,11 +116,11 @@ CONFIG_PAGE_SIZE_4KB=y
114CONFIG_CPU_HAS_PREFETCH=y 116CONFIG_CPU_HAS_PREFETCH=y
115# CONFIG_MIPS_MT is not set 117# CONFIG_MIPS_MT is not set
116# CONFIG_64BIT_PHYS_ADDR is not set 118# CONFIG_64BIT_PHYS_ADDR is not set
117# CONFIG_CPU_ADVANCED is not set
118CONFIG_CPU_HAS_LLSC=y 119CONFIG_CPU_HAS_LLSC=y
119CONFIG_CPU_HAS_SYNC=y 120CONFIG_CPU_HAS_SYNC=y
120CONFIG_GENERIC_HARDIRQS=y 121CONFIG_GENERIC_HARDIRQS=y
121CONFIG_GENERIC_IRQ_PROBE=y 122CONFIG_GENERIC_IRQ_PROBE=y
123CONFIG_CPU_SUPPORTS_HIGHMEM=y
122CONFIG_ARCH_FLATMEM_ENABLE=y 124CONFIG_ARCH_FLATMEM_ENABLE=y
123CONFIG_SELECT_MEMORY_MODEL=y 125CONFIG_SELECT_MEMORY_MODEL=y
124CONFIG_FLATMEM_MANUAL=y 126CONFIG_FLATMEM_MANUAL=y
@@ -136,7 +138,6 @@ CONFIG_PREEMPT_NONE=y
136# Code maturity level options 138# Code maturity level options
137# 139#
138CONFIG_EXPERIMENTAL=y 140CONFIG_EXPERIMENTAL=y
139CONFIG_CLEAN_COMPILE=y
140CONFIG_BROKEN_ON_SMP=y 141CONFIG_BROKEN_ON_SMP=y
141CONFIG_INIT_ENV_ARG_LIMIT=32 142CONFIG_INIT_ENV_ARG_LIMIT=32
142 143
@@ -153,6 +154,7 @@ CONFIG_SYSCTL=y
153# CONFIG_AUDIT is not set 154# CONFIG_AUDIT is not set
154CONFIG_IKCONFIG=y 155CONFIG_IKCONFIG=y
155CONFIG_IKCONFIG_PROC=y 156CONFIG_IKCONFIG_PROC=y
157# CONFIG_RELAY is not set
156CONFIG_INITRAMFS_SOURCE="" 158CONFIG_INITRAMFS_SOURCE=""
157# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 159# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
158CONFIG_EMBEDDED=y 160CONFIG_EMBEDDED=y
@@ -167,10 +169,6 @@ CONFIG_BASE_FULL=y
167CONFIG_FUTEX=y 169CONFIG_FUTEX=y
168CONFIG_EPOLL=y 170CONFIG_EPOLL=y
169CONFIG_SHMEM=y 171CONFIG_SHMEM=y
170CONFIG_CC_ALIGN_FUNCTIONS=0
171CONFIG_CC_ALIGN_LABELS=0
172CONFIG_CC_ALIGN_LOOPS=0
173CONFIG_CC_ALIGN_JUMPS=0
174CONFIG_SLAB=y 172CONFIG_SLAB=y
175# CONFIG_TINY_SHMEM is not set 173# CONFIG_TINY_SHMEM is not set
176CONFIG_BASE_SMALL=0 174CONFIG_BASE_SMALL=0
@@ -181,7 +179,6 @@ CONFIG_BASE_SMALL=0
181# 179#
182CONFIG_MODULES=y 180CONFIG_MODULES=y
183# CONFIG_MODULE_UNLOAD is not set 181# CONFIG_MODULE_UNLOAD is not set
184CONFIG_OBSOLETE_MODPARM=y
185# CONFIG_MODVERSIONS is not set 182# CONFIG_MODVERSIONS is not set
186# CONFIG_MODULE_SRCVERSION_ALL is not set 183# CONFIG_MODULE_SRCVERSION_ALL is not set
187CONFIG_KMOD=y 184CONFIG_KMOD=y
@@ -190,6 +187,8 @@ CONFIG_KMOD=y
190# Block layer 187# Block layer
191# 188#
192# CONFIG_LBD is not set 189# CONFIG_LBD is not set
190# CONFIG_BLK_DEV_IO_TRACE is not set
191# CONFIG_LSF is not set
193 192
194# 193#
195# IO Schedulers 194# IO Schedulers
@@ -209,7 +208,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
209# 208#
210CONFIG_HW_HAS_PCI=y 209CONFIG_HW_HAS_PCI=y
211CONFIG_PCI=y 210CONFIG_PCI=y
212# CONFIG_PCI_LEGACY_PROC is not set
213# CONFIG_PCI_DEBUG is not set 211# CONFIG_PCI_DEBUG is not set
214CONFIG_MMU=y 212CONFIG_MMU=y
215 213
@@ -238,6 +236,7 @@ CONFIG_NET=y
238# 236#
239# Networking options 237# Networking options
240# 238#
239# CONFIG_NETDEBUG is not set
241CONFIG_PACKET=y 240CONFIG_PACKET=y
242# CONFIG_PACKET_MMAP is not set 241# CONFIG_PACKET_MMAP is not set
243CONFIG_UNIX=y 242CONFIG_UNIX=y
@@ -257,12 +256,15 @@ CONFIG_IP_PNP_BOOTP=y
257# CONFIG_INET_AH is not set 256# CONFIG_INET_AH is not set
258# CONFIG_INET_ESP is not set 257# CONFIG_INET_ESP is not set
259# CONFIG_INET_IPCOMP is not set 258# CONFIG_INET_IPCOMP is not set
259# CONFIG_INET_XFRM_TUNNEL is not set
260# CONFIG_INET_TUNNEL is not set 260# CONFIG_INET_TUNNEL is not set
261CONFIG_INET_DIAG=y 261CONFIG_INET_DIAG=y
262CONFIG_INET_TCP_DIAG=y 262CONFIG_INET_TCP_DIAG=y
263# CONFIG_TCP_CONG_ADVANCED is not set 263# CONFIG_TCP_CONG_ADVANCED is not set
264CONFIG_TCP_CONG_BIC=y 264CONFIG_TCP_CONG_BIC=y
265# CONFIG_IPV6 is not set 265# CONFIG_IPV6 is not set
266# CONFIG_INET6_XFRM_TUNNEL is not set
267# CONFIG_INET6_TUNNEL is not set
266# CONFIG_NETFILTER is not set 268# CONFIG_NETFILTER is not set
267 269
268# 270#
@@ -274,6 +276,11 @@ CONFIG_TCP_CONG_BIC=y
274# SCTP Configuration (EXPERIMENTAL) 276# SCTP Configuration (EXPERIMENTAL)
275# 277#
276# CONFIG_IP_SCTP is not set 278# CONFIG_IP_SCTP is not set
279
280#
281# TIPC Configuration (EXPERIMENTAL)
282#
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
279# CONFIG_VLAN_8021Q is not set 286# CONFIG_VLAN_8021Q is not set
@@ -283,11 +290,6 @@ CONFIG_TCP_CONG_BIC=y
283# CONFIG_ATALK is not set 290# CONFIG_ATALK is not set
284# CONFIG_X25 is not set 291# CONFIG_X25 is not set
285# CONFIG_LAPB is not set 292# CONFIG_LAPB is not set
286
287#
288# TIPC Configuration (EXPERIMENTAL)
289#
290# CONFIG_TIPC is not set
291# CONFIG_NET_DIVERT is not set 293# CONFIG_NET_DIVERT is not set
292# CONFIG_ECONET is not set 294# CONFIG_ECONET is not set
293# CONFIG_WAN_ROUTER is not set 295# CONFIG_WAN_ROUTER is not set
@@ -469,7 +471,6 @@ CONFIG_ISCSI_TCP=m
469# CONFIG_SCSI_INIA100 is not set 471# CONFIG_SCSI_INIA100 is not set
470# CONFIG_SCSI_SYM53C8XX_2 is not set 472# CONFIG_SCSI_SYM53C8XX_2 is not set
471# CONFIG_SCSI_IPR is not set 473# CONFIG_SCSI_IPR is not set
472# CONFIG_SCSI_QLOGIC_FC is not set
473# CONFIG_SCSI_QLOGIC_1280 is not set 474# CONFIG_SCSI_QLOGIC_1280 is not set
474# CONFIG_SCSI_QLA_FC is not set 475# CONFIG_SCSI_QLA_FC is not set
475# CONFIG_SCSI_LPFC is not set 476# CONFIG_SCSI_LPFC is not set
@@ -671,6 +672,7 @@ CONFIG_HW_CONSOLE=y
671# Non-8250 serial port support 672# Non-8250 serial port support
672# 673#
673# CONFIG_SERIAL_IP3106 is not set 674# CONFIG_SERIAL_IP3106 is not set
675# CONFIG_SERIAL_JSM is not set
674CONFIG_UNIX98_PTYS=y 676CONFIG_UNIX98_PTYS=y
675CONFIG_LEGACY_PTYS=y 677CONFIG_LEGACY_PTYS=y
676CONFIG_LEGACY_PTY_COUNT=256 678CONFIG_LEGACY_PTY_COUNT=256
@@ -723,6 +725,7 @@ CONFIG_LEGACY_PTY_COUNT=256
723# 725#
724CONFIG_HWMON=y 726CONFIG_HWMON=y
725# CONFIG_HWMON_VID is not set 727# CONFIG_HWMON_VID is not set
728# CONFIG_SENSORS_F71805F is not set
726# CONFIG_HWMON_DEBUG_CHIP is not set 729# CONFIG_HWMON_DEBUG_CHIP is not set
727 730
728# 731#
@@ -730,10 +733,6 @@ CONFIG_HWMON=y
730# 733#
731 734
732# 735#
733# Multimedia Capabilities Port drivers
734#
735
736#
737# Multimedia devices 736# Multimedia devices
738# 737#
739# CONFIG_VIDEO_DEV is not set 738# CONFIG_VIDEO_DEV is not set
@@ -742,6 +741,7 @@ CONFIG_HWMON=y
742# Digital Video Broadcasting Devices 741# Digital Video Broadcasting Devices
743# 742#
744# CONFIG_DVB is not set 743# CONFIG_DVB is not set
744# CONFIG_USB_DABUSB is not set
745 745
746# 746#
747# Graphics support 747# Graphics support
@@ -764,6 +764,7 @@ CONFIG_DUMMY_CONSOLE=y
764# 764#
765CONFIG_USB_ARCH_HAS_HCD=y 765CONFIG_USB_ARCH_HAS_HCD=y
766CONFIG_USB_ARCH_HAS_OHCI=y 766CONFIG_USB_ARCH_HAS_OHCI=y
767CONFIG_USB_ARCH_HAS_EHCI=y
767CONFIG_USB=y 768CONFIG_USB=y
768# CONFIG_USB_DEBUG is not set 769# CONFIG_USB_DEBUG is not set
769 770
@@ -827,9 +828,7 @@ CONFIG_USB_STORAGE_JUMPSHOT=y
827# CONFIG_USB_ACECAD is not set 828# CONFIG_USB_ACECAD is not set
828# CONFIG_USB_KBTAB is not set 829# CONFIG_USB_KBTAB is not set
829# CONFIG_USB_POWERMATE is not set 830# CONFIG_USB_POWERMATE is not set
830# CONFIG_USB_MTOUCH is not set 831# CONFIG_USB_TOUCHSCREEN is not set
831# CONFIG_USB_ITMTOUCH is not set
832# CONFIG_USB_EGALAX is not set
833# CONFIG_USB_YEALINK is not set 832# CONFIG_USB_YEALINK is not set
834# CONFIG_USB_XPAD is not set 833# CONFIG_USB_XPAD is not set
835# CONFIG_USB_ATI_REMOTE is not set 834# CONFIG_USB_ATI_REMOTE is not set
@@ -844,15 +843,6 @@ CONFIG_USB_STORAGE_JUMPSHOT=y
844# CONFIG_USB_MICROTEK is not set 843# CONFIG_USB_MICROTEK is not set
845 844
846# 845#
847# USB Multimedia devices
848#
849# CONFIG_USB_DABUSB is not set
850
851#
852# Video4Linux support is needed for USB Multimedia device support
853#
854
855#
856# USB Network Adapters 846# USB Network Adapters
857# 847#
858# CONFIG_USB_CATC is not set 848# CONFIG_USB_CATC is not set
@@ -902,13 +892,31 @@ CONFIG_USB_MON=y
902# CONFIG_MMC is not set 892# CONFIG_MMC is not set
903 893
904# 894#
895# LED devices
896#
897# CONFIG_NEW_LEDS is not set
898
899#
900# LED drivers
901#
902
903#
904# LED Triggers
905#
906
907#
905# InfiniBand support 908# InfiniBand support
906# 909#
907# CONFIG_INFINIBAND is not set 910# CONFIG_INFINIBAND is not set
908 911
909# 912#
910# SN Devices 913# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
914#
915
916#
917# Real Time Clock
911# 918#
919# CONFIG_RTC_CLASS is not set
912 920
913# 921#
914# File systems 922# File systems
@@ -956,7 +964,6 @@ CONFIG_SYSFS=y
956CONFIG_TMPFS=y 964CONFIG_TMPFS=y
957# CONFIG_HUGETLB_PAGE is not set 965# CONFIG_HUGETLB_PAGE is not set
958CONFIG_RAMFS=y 966CONFIG_RAMFS=y
959# CONFIG_RELAYFS_FS is not set
960# CONFIG_CONFIGFS_FS is not set 967# CONFIG_CONFIGFS_FS is not set
961 968
962# 969#
@@ -1067,6 +1074,7 @@ CONFIG_LOG_BUF_SHIFT=14
1067CONFIG_DETECT_SOFTLOCKUP=y 1074CONFIG_DETECT_SOFTLOCKUP=y
1068# CONFIG_SCHEDSTATS is not set 1075# CONFIG_SCHEDSTATS is not set
1069CONFIG_DEBUG_SLAB=y 1076CONFIG_DEBUG_SLAB=y
1077# CONFIG_DEBUG_SLAB_LEAK is not set
1070CONFIG_DEBUG_MUTEXES=y 1078CONFIG_DEBUG_MUTEXES=y
1071# CONFIG_DEBUG_SPINLOCK is not set 1079# CONFIG_DEBUG_SPINLOCK is not set
1072# CONFIG_DEBUG_SPINLOCK_SLEEP is not set 1080# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
diff --git a/arch/mips/configs/pnx8550-v2pci_defconfig b/arch/mips/configs/pnx8550-v2pci_defconfig
index 4187287f0763..3c8f35162fec 100644
--- a/arch/mips/configs/pnx8550-v2pci_defconfig
+++ b/arch/mips/configs/pnx8550-v2pci_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.16-rc1 3# Linux kernel version: 2.6.17-rc2
4# Fri Jan 27 15:40:28 2006 4# Mon Apr 24 14:51:14 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -64,6 +64,8 @@ CONFIG_PNX8550_V2PCI=y
64# CONFIG_TOSHIBA_RBTX4927 is not set 64# CONFIG_TOSHIBA_RBTX4927 is not set
65# CONFIG_TOSHIBA_RBTX4938 is not set 65# CONFIG_TOSHIBA_RBTX4938 is not set
66CONFIG_RWSEM_GENERIC_SPINLOCK=y 66CONFIG_RWSEM_GENERIC_SPINLOCK=y
67CONFIG_GENERIC_FIND_NEXT_BIT=y
68CONFIG_GENERIC_HWEIGHT=y
67CONFIG_GENERIC_CALIBRATE_DELAY=y 69CONFIG_GENERIC_CALIBRATE_DELAY=y
68CONFIG_DMA_NONCOHERENT=y 70CONFIG_DMA_NONCOHERENT=y
69CONFIG_DMA_NEED_PCI_MAP_STATE=y 71CONFIG_DMA_NEED_PCI_MAP_STATE=y
@@ -114,12 +116,11 @@ CONFIG_PAGE_SIZE_4KB=y
114CONFIG_CPU_HAS_PREFETCH=y 116CONFIG_CPU_HAS_PREFETCH=y
115# CONFIG_MIPS_MT is not set 117# CONFIG_MIPS_MT is not set
116# CONFIG_64BIT_PHYS_ADDR is not set 118# CONFIG_64BIT_PHYS_ADDR is not set
117CONFIG_CPU_ADVANCED=y
118CONFIG_CPU_HAS_LLSC=y 119CONFIG_CPU_HAS_LLSC=y
119# CONFIG_CPU_HAS_WB is not set
120CONFIG_CPU_HAS_SYNC=y 120CONFIG_CPU_HAS_SYNC=y
121CONFIG_GENERIC_HARDIRQS=y 121CONFIG_GENERIC_HARDIRQS=y
122CONFIG_GENERIC_IRQ_PROBE=y 122CONFIG_GENERIC_IRQ_PROBE=y
123CONFIG_CPU_SUPPORTS_HIGHMEM=y
123CONFIG_ARCH_FLATMEM_ENABLE=y 124CONFIG_ARCH_FLATMEM_ENABLE=y
124CONFIG_SELECT_MEMORY_MODEL=y 125CONFIG_SELECT_MEMORY_MODEL=y
125CONFIG_FLATMEM_MANUAL=y 126CONFIG_FLATMEM_MANUAL=y
@@ -137,7 +138,6 @@ CONFIG_PREEMPT_NONE=y
137# Code maturity level options 138# Code maturity level options
138# 139#
139CONFIG_EXPERIMENTAL=y 140CONFIG_EXPERIMENTAL=y
140CONFIG_CLEAN_COMPILE=y
141CONFIG_BROKEN_ON_SMP=y 141CONFIG_BROKEN_ON_SMP=y
142CONFIG_INIT_ENV_ARG_LIMIT=32 142CONFIG_INIT_ENV_ARG_LIMIT=32
143 143
@@ -154,6 +154,7 @@ CONFIG_SYSCTL=y
154# CONFIG_AUDIT is not set 154# CONFIG_AUDIT is not set
155CONFIG_IKCONFIG=y 155CONFIG_IKCONFIG=y
156CONFIG_IKCONFIG_PROC=y 156CONFIG_IKCONFIG_PROC=y
157# CONFIG_RELAY is not set
157CONFIG_INITRAMFS_SOURCE="" 158CONFIG_INITRAMFS_SOURCE=""
158# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 159# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
159CONFIG_EMBEDDED=y 160CONFIG_EMBEDDED=y
@@ -167,10 +168,6 @@ CONFIG_BASE_FULL=y
167CONFIG_FUTEX=y 168CONFIG_FUTEX=y
168CONFIG_EPOLL=y 169CONFIG_EPOLL=y
169CONFIG_SHMEM=y 170CONFIG_SHMEM=y
170CONFIG_CC_ALIGN_FUNCTIONS=0
171CONFIG_CC_ALIGN_LABELS=0
172CONFIG_CC_ALIGN_LOOPS=0
173CONFIG_CC_ALIGN_JUMPS=0
174CONFIG_SLAB=y 171CONFIG_SLAB=y
175# CONFIG_TINY_SHMEM is not set 172# CONFIG_TINY_SHMEM is not set
176CONFIG_BASE_SMALL=0 173CONFIG_BASE_SMALL=0
@@ -181,7 +178,6 @@ CONFIG_BASE_SMALL=0
181# 178#
182CONFIG_MODULES=y 179CONFIG_MODULES=y
183# CONFIG_MODULE_UNLOAD is not set 180# CONFIG_MODULE_UNLOAD is not set
184CONFIG_OBSOLETE_MODPARM=y
185# CONFIG_MODVERSIONS is not set 181# CONFIG_MODVERSIONS is not set
186# CONFIG_MODULE_SRCVERSION_ALL is not set 182# CONFIG_MODULE_SRCVERSION_ALL is not set
187CONFIG_KMOD=y 183CONFIG_KMOD=y
@@ -190,6 +186,8 @@ CONFIG_KMOD=y
190# Block layer 186# Block layer
191# 187#
192# CONFIG_LBD is not set 188# CONFIG_LBD is not set
189# CONFIG_BLK_DEV_IO_TRACE is not set
190# CONFIG_LSF is not set
193 191
194# 192#
195# IO Schedulers 193# IO Schedulers
@@ -209,7 +207,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
209# 207#
210CONFIG_HW_HAS_PCI=y 208CONFIG_HW_HAS_PCI=y
211CONFIG_PCI=y 209CONFIG_PCI=y
212# CONFIG_PCI_LEGACY_PROC is not set
213CONFIG_MMU=y 210CONFIG_MMU=y
214 211
215# 212#
@@ -237,6 +234,7 @@ CONFIG_NET=y
237# 234#
238# Networking options 235# Networking options
239# 236#
237# CONFIG_NETDEBUG is not set
240CONFIG_PACKET=y 238CONFIG_PACKET=y
241# CONFIG_PACKET_MMAP is not set 239# CONFIG_PACKET_MMAP is not set
242CONFIG_UNIX=y 240CONFIG_UNIX=y
@@ -256,6 +254,7 @@ CONFIG_IP_PNP=y
256# CONFIG_INET_AH is not set 254# CONFIG_INET_AH is not set
257# CONFIG_INET_ESP is not set 255# CONFIG_INET_ESP is not set
258# CONFIG_INET_IPCOMP is not set 256# CONFIG_INET_IPCOMP is not set
257# CONFIG_INET_XFRM_TUNNEL is not set
259# CONFIG_INET_TUNNEL is not set 258# CONFIG_INET_TUNNEL is not set
260CONFIG_INET_DIAG=y 259CONFIG_INET_DIAG=y
261CONFIG_INET_TCP_DIAG=y 260CONFIG_INET_TCP_DIAG=y
@@ -268,9 +267,12 @@ CONFIG_TCP_CONG_BIC=y
268# CONFIG_IP_VS is not set 267# CONFIG_IP_VS is not set
269CONFIG_IPV6=m 268CONFIG_IPV6=m
270# CONFIG_IPV6_PRIVACY is not set 269# CONFIG_IPV6_PRIVACY is not set
270CONFIG_IPV6_ROUTER_PREF=y
271CONFIG_IPV6_ROUTE_INFO=y
271# CONFIG_INET6_AH is not set 272# CONFIG_INET6_AH is not set
272# CONFIG_INET6_ESP is not set 273# CONFIG_INET6_ESP is not set
273# CONFIG_INET6_IPCOMP is not set 274# CONFIG_INET6_IPCOMP is not set
275# CONFIG_INET6_XFRM_TUNNEL is not set
274# CONFIG_INET6_TUNNEL is not set 276# CONFIG_INET6_TUNNEL is not set
275# CONFIG_IPV6_TUNNEL is not set 277# CONFIG_IPV6_TUNNEL is not set
276CONFIG_NETFILTER=y 278CONFIG_NETFILTER=y
@@ -287,10 +289,12 @@ CONFIG_NETFILTER_XT_TARGET_MARK=m
287CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m 289CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
288CONFIG_NETFILTER_XT_MATCH_COMMENT=m 290CONFIG_NETFILTER_XT_MATCH_COMMENT=m
289CONFIG_NETFILTER_XT_MATCH_DCCP=m 291CONFIG_NETFILTER_XT_MATCH_DCCP=m
292CONFIG_NETFILTER_XT_MATCH_ESP=m
290CONFIG_NETFILTER_XT_MATCH_LENGTH=m 293CONFIG_NETFILTER_XT_MATCH_LENGTH=m
291CONFIG_NETFILTER_XT_MATCH_LIMIT=m 294CONFIG_NETFILTER_XT_MATCH_LIMIT=m
292CONFIG_NETFILTER_XT_MATCH_MAC=m 295CONFIG_NETFILTER_XT_MATCH_MAC=m
293CONFIG_NETFILTER_XT_MATCH_MARK=m 296CONFIG_NETFILTER_XT_MATCH_MARK=m
297CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
294CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m 298CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
295CONFIG_NETFILTER_XT_MATCH_REALM=m 299CONFIG_NETFILTER_XT_MATCH_REALM=m
296CONFIG_NETFILTER_XT_MATCH_SCTP=m 300CONFIG_NETFILTER_XT_MATCH_SCTP=m
@@ -320,6 +324,11 @@ CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
320# SCTP Configuration (EXPERIMENTAL) 324# SCTP Configuration (EXPERIMENTAL)
321# 325#
322# CONFIG_IP_SCTP is not set 326# CONFIG_IP_SCTP is not set
327
328#
329# TIPC Configuration (EXPERIMENTAL)
330#
331# CONFIG_TIPC is not set
323# CONFIG_ATM is not set 332# CONFIG_ATM is not set
324# CONFIG_BRIDGE is not set 333# CONFIG_BRIDGE is not set
325# CONFIG_VLAN_8021Q is not set 334# CONFIG_VLAN_8021Q is not set
@@ -329,11 +338,6 @@ CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
329# CONFIG_ATALK is not set 338# CONFIG_ATALK is not set
330# CONFIG_X25 is not set 339# CONFIG_X25 is not set
331# CONFIG_LAPB is not set 340# CONFIG_LAPB is not set
332
333#
334# TIPC Configuration (EXPERIMENTAL)
335#
336# CONFIG_TIPC is not set
337# CONFIG_NET_DIVERT is not set 341# CONFIG_NET_DIVERT is not set
338# CONFIG_ECONET is not set 342# CONFIG_ECONET is not set
339# CONFIG_WAN_ROUTER is not set 343# CONFIG_WAN_ROUTER is not set
@@ -521,7 +525,6 @@ CONFIG_AIC7XXX_DEBUG_MASK=0
521# CONFIG_SCSI_INIA100 is not set 525# CONFIG_SCSI_INIA100 is not set
522# CONFIG_SCSI_SYM53C8XX_2 is not set 526# CONFIG_SCSI_SYM53C8XX_2 is not set
523# CONFIG_SCSI_IPR is not set 527# CONFIG_SCSI_IPR is not set
524# CONFIG_SCSI_QLOGIC_FC is not set
525# CONFIG_SCSI_QLOGIC_1280 is not set 528# CONFIG_SCSI_QLOGIC_1280 is not set
526# CONFIG_SCSI_QLA_FC is not set 529# CONFIG_SCSI_QLA_FC is not set
527# CONFIG_SCSI_LPFC is not set 530# CONFIG_SCSI_LPFC is not set
@@ -757,6 +760,7 @@ CONFIG_SERIAL_NONSTANDARD=y
757# Non-8250 serial port support 760# Non-8250 serial port support
758# 761#
759# CONFIG_SERIAL_IP3106 is not set 762# CONFIG_SERIAL_IP3106 is not set
763# CONFIG_SERIAL_JSM is not set
760CONFIG_UNIX98_PTYS=y 764CONFIG_UNIX98_PTYS=y
761CONFIG_LEGACY_PTYS=y 765CONFIG_LEGACY_PTYS=y
762CONFIG_LEGACY_PTY_COUNT=256 766CONFIG_LEGACY_PTY_COUNT=256
@@ -816,7 +820,6 @@ CONFIG_I2C_ALGOBIT=m
816# CONFIG_I2C_PARPORT_LIGHT is not set 820# CONFIG_I2C_PARPORT_LIGHT is not set
817# CONFIG_I2C_PROSAVAGE is not set 821# CONFIG_I2C_PROSAVAGE is not set
818# CONFIG_I2C_SAVAGE4 is not set 822# CONFIG_I2C_SAVAGE4 is not set
819# CONFIG_SCx200_ACB is not set
820# CONFIG_I2C_SIS5595 is not set 823# CONFIG_I2C_SIS5595 is not set
821# CONFIG_I2C_SIS630 is not set 824# CONFIG_I2C_SIS630 is not set
822# CONFIG_I2C_SIS96X is not set 825# CONFIG_I2C_SIS96X is not set
@@ -835,9 +838,7 @@ CONFIG_I2C_ALGOBIT=m
835# CONFIG_SENSORS_PCF8574 is not set 838# CONFIG_SENSORS_PCF8574 is not set
836# CONFIG_SENSORS_PCA9539 is not set 839# CONFIG_SENSORS_PCA9539 is not set
837# CONFIG_SENSORS_PCF8591 is not set 840# CONFIG_SENSORS_PCF8591 is not set
838# CONFIG_SENSORS_RTC8564 is not set
839# CONFIG_SENSORS_MAX6875 is not set 841# CONFIG_SENSORS_MAX6875 is not set
840# CONFIG_RTC_X1205_I2C is not set
841# CONFIG_I2C_DEBUG_CORE is not set 842# CONFIG_I2C_DEBUG_CORE is not set
842# CONFIG_I2C_DEBUG_ALGO is not set 843# CONFIG_I2C_DEBUG_ALGO is not set
843# CONFIG_I2C_DEBUG_BUS is not set 844# CONFIG_I2C_DEBUG_BUS is not set
@@ -867,6 +868,7 @@ CONFIG_HWMON=y
867# CONFIG_SENSORS_ASB100 is not set 868# CONFIG_SENSORS_ASB100 is not set
868# CONFIG_SENSORS_ATXP1 is not set 869# CONFIG_SENSORS_ATXP1 is not set
869# CONFIG_SENSORS_DS1621 is not set 870# CONFIG_SENSORS_DS1621 is not set
871# CONFIG_SENSORS_F71805F is not set
870# CONFIG_SENSORS_FSCHER is not set 872# CONFIG_SENSORS_FSCHER is not set
871# CONFIG_SENSORS_FSCPOS is not set 873# CONFIG_SENSORS_FSCPOS is not set
872# CONFIG_SENSORS_GL518SM is not set 874# CONFIG_SENSORS_GL518SM is not set
@@ -901,10 +903,6 @@ CONFIG_HWMON=y
901# 903#
902 904
903# 905#
904# Multimedia Capabilities Port drivers
905#
906
907#
908# Multimedia devices 906# Multimedia devices
909# 907#
910# CONFIG_VIDEO_DEV is not set 908# CONFIG_VIDEO_DEV is not set
@@ -913,6 +911,7 @@ CONFIG_HWMON=y
913# Digital Video Broadcasting Devices 911# Digital Video Broadcasting Devices
914# 912#
915# CONFIG_DVB is not set 913# CONFIG_DVB is not set
914# CONFIG_USB_DABUSB is not set
916 915
917# 916#
918# Graphics support 917# Graphics support
@@ -922,6 +921,7 @@ CONFIG_FB=y
922# CONFIG_FB_CFB_COPYAREA is not set 921# CONFIG_FB_CFB_COPYAREA is not set
923# CONFIG_FB_CFB_IMAGEBLIT is not set 922# CONFIG_FB_CFB_IMAGEBLIT is not set
924# CONFIG_FB_MACMODES is not set 923# CONFIG_FB_MACMODES is not set
924CONFIG_FB_FIRMWARE_EDID=y
925# CONFIG_FB_MODE_HELPERS is not set 925# CONFIG_FB_MODE_HELPERS is not set
926# CONFIG_FB_TILEBLITTING is not set 926# CONFIG_FB_TILEBLITTING is not set
927# CONFIG_FB_CIRRUS is not set 927# CONFIG_FB_CIRRUS is not set
@@ -933,7 +933,6 @@ CONFIG_FB=y
933# CONFIG_FB_NVIDIA is not set 933# CONFIG_FB_NVIDIA is not set
934# CONFIG_FB_RIVA is not set 934# CONFIG_FB_RIVA is not set
935# CONFIG_FB_MATROX is not set 935# CONFIG_FB_MATROX is not set
936# CONFIG_FB_RADEON_OLD is not set
937# CONFIG_FB_RADEON is not set 936# CONFIG_FB_RADEON is not set
938# CONFIG_FB_ATY128 is not set 937# CONFIG_FB_ATY128 is not set
939# CONFIG_FB_ATY is not set 938# CONFIG_FB_ATY is not set
@@ -970,6 +969,7 @@ CONFIG_DUMMY_CONSOLE=y
970# 969#
971CONFIG_USB_ARCH_HAS_HCD=y 970CONFIG_USB_ARCH_HAS_HCD=y
972CONFIG_USB_ARCH_HAS_OHCI=y 971CONFIG_USB_ARCH_HAS_OHCI=y
972CONFIG_USB_ARCH_HAS_EHCI=y
973CONFIG_USB=y 973CONFIG_USB=y
974# CONFIG_USB_DEBUG is not set 974# CONFIG_USB_DEBUG is not set
975 975
@@ -1030,9 +1030,7 @@ CONFIG_USB_HIDDEV=y
1030# CONFIG_USB_ACECAD is not set 1030# CONFIG_USB_ACECAD is not set
1031# CONFIG_USB_KBTAB is not set 1031# CONFIG_USB_KBTAB is not set
1032# CONFIG_USB_POWERMATE is not set 1032# CONFIG_USB_POWERMATE is not set
1033# CONFIG_USB_MTOUCH is not set 1033# CONFIG_USB_TOUCHSCREEN is not set
1034# CONFIG_USB_ITMTOUCH is not set
1035# CONFIG_USB_EGALAX is not set
1036# CONFIG_USB_YEALINK is not set 1034# CONFIG_USB_YEALINK is not set
1037# CONFIG_USB_XPAD is not set 1035# CONFIG_USB_XPAD is not set
1038# CONFIG_USB_ATI_REMOTE is not set 1036# CONFIG_USB_ATI_REMOTE is not set
@@ -1047,15 +1045,6 @@ CONFIG_USB_HIDDEV=y
1047# CONFIG_USB_MICROTEK is not set 1045# CONFIG_USB_MICROTEK is not set
1048 1046
1049# 1047#
1050# USB Multimedia devices
1051#
1052# CONFIG_USB_DABUSB is not set
1053
1054#
1055# Video4Linux support is needed for USB Multimedia device support
1056#
1057
1058#
1059# USB Network Adapters 1048# USB Network Adapters
1060# 1049#
1061# CONFIG_USB_CATC is not set 1050# CONFIG_USB_CATC is not set
@@ -1106,13 +1095,31 @@ CONFIG_USB_MON=y
1106# CONFIG_MMC is not set 1095# CONFIG_MMC is not set
1107 1096
1108# 1097#
1098# LED devices
1099#
1100# CONFIG_NEW_LEDS is not set
1101
1102#
1103# LED drivers
1104#
1105
1106#
1107# LED Triggers
1108#
1109
1110#
1109# InfiniBand support 1111# InfiniBand support
1110# 1112#
1111# CONFIG_INFINIBAND is not set 1113# CONFIG_INFINIBAND is not set
1112 1114
1113# 1115#
1114# SN Devices 1116# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
1117#
1118
1119#
1120# Real Time Clock
1115# 1121#
1122# CONFIG_RTC_CLASS is not set
1116 1123
1117# 1124#
1118# File systems 1125# File systems
@@ -1171,7 +1178,6 @@ CONFIG_SYSFS=y
1171CONFIG_TMPFS=y 1178CONFIG_TMPFS=y
1172# CONFIG_HUGETLB_PAGE is not set 1179# CONFIG_HUGETLB_PAGE is not set
1173CONFIG_RAMFS=y 1180CONFIG_RAMFS=y
1174# CONFIG_RELAYFS_FS is not set
1175# CONFIG_CONFIGFS_FS is not set 1181# CONFIG_CONFIGFS_FS is not set
1176 1182
1177# 1183#
@@ -1280,6 +1286,7 @@ CONFIG_NLS_DEFAULT="iso8859-1"
1280# CONFIG_MAGIC_SYSRQ is not set 1286# CONFIG_MAGIC_SYSRQ is not set
1281# CONFIG_DEBUG_KERNEL is not set 1287# CONFIG_DEBUG_KERNEL is not set
1282CONFIG_LOG_BUF_SHIFT=14 1288CONFIG_LOG_BUF_SHIFT=14
1289# CONFIG_DEBUG_FS is not set
1283CONFIG_CROSSCOMPILE=y 1290CONFIG_CROSSCOMPILE=y
1284CONFIG_CMDLINE="" 1291CONFIG_CMDLINE=""
1285 1292
diff --git a/arch/mips/configs/qemu_defconfig b/arch/mips/configs/qemu_defconfig
index 31f5afabafa8..4bcc01dea041 100644
--- a/arch/mips/configs/qemu_defconfig
+++ b/arch/mips/configs/qemu_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.16-rc2 3# Linux kernel version: 2.6.17-rc2
4# Sun Feb 12 19:18:55 2006 4# Mon Apr 24 14:51:15 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -64,6 +64,8 @@ CONFIG_QEMU=y
64# CONFIG_TOSHIBA_RBTX4927 is not set 64# CONFIG_TOSHIBA_RBTX4927 is not set
65# CONFIG_TOSHIBA_RBTX4938 is not set 65# CONFIG_TOSHIBA_RBTX4938 is not set
66CONFIG_RWSEM_GENERIC_SPINLOCK=y 66CONFIG_RWSEM_GENERIC_SPINLOCK=y
67CONFIG_GENERIC_FIND_NEXT_BIT=y
68CONFIG_GENERIC_HWEIGHT=y
67CONFIG_GENERIC_CALIBRATE_DELAY=y 69CONFIG_GENERIC_CALIBRATE_DELAY=y
68CONFIG_DMA_COHERENT=y 70CONFIG_DMA_COHERENT=y
69CONFIG_GENERIC_ISA_DMA=y 71CONFIG_GENERIC_ISA_DMA=y
@@ -115,16 +117,17 @@ CONFIG_PAGE_SIZE_4KB=y
115CONFIG_CPU_HAS_PREFETCH=y 117CONFIG_CPU_HAS_PREFETCH=y
116# CONFIG_MIPS_MT is not set 118# CONFIG_MIPS_MT is not set
117# CONFIG_64BIT_PHYS_ADDR is not set 119# CONFIG_64BIT_PHYS_ADDR is not set
118# CONFIG_CPU_ADVANCED is not set
119CONFIG_CPU_HAS_LLSC=y 120CONFIG_CPU_HAS_LLSC=y
120CONFIG_CPU_HAS_SYNC=y 121CONFIG_CPU_HAS_SYNC=y
121CONFIG_GENERIC_HARDIRQS=y 122CONFIG_GENERIC_HARDIRQS=y
122CONFIG_GENERIC_IRQ_PROBE=y 123CONFIG_GENERIC_IRQ_PROBE=y
124CONFIG_CPU_SUPPORTS_HIGHMEM=y
123CONFIG_ARCH_FLATMEM_ENABLE=y 125CONFIG_ARCH_FLATMEM_ENABLE=y
124CONFIG_FLATMEM=y 126CONFIG_FLATMEM=y
125CONFIG_FLAT_NODE_MEM_MAP=y 127CONFIG_FLAT_NODE_MEM_MAP=y
126# CONFIG_SPARSEMEM_STATIC is not set 128# CONFIG_SPARSEMEM_STATIC is not set
127CONFIG_SPLIT_PTLOCK_CPUS=4 129CONFIG_SPLIT_PTLOCK_CPUS=4
130# CONFIG_SMP is not set
128CONFIG_PREEMPT_NONE=y 131CONFIG_PREEMPT_NONE=y
129# CONFIG_PREEMPT_VOLUNTARY is not set 132# CONFIG_PREEMPT_VOLUNTARY is not set
130# CONFIG_PREEMPT is not set 133# CONFIG_PREEMPT is not set
@@ -147,6 +150,7 @@ CONFIG_LOCALVERSION_AUTO=y
147CONFIG_SYSCTL=y 150CONFIG_SYSCTL=y
148# CONFIG_AUDIT is not set 151# CONFIG_AUDIT is not set
149# CONFIG_IKCONFIG is not set 152# CONFIG_IKCONFIG is not set
153CONFIG_RELAY=y
150CONFIG_INITRAMFS_SOURCE="" 154CONFIG_INITRAMFS_SOURCE=""
151CONFIG_EMBEDDED=y 155CONFIG_EMBEDDED=y
152CONFIG_KALLSYMS=y 156CONFIG_KALLSYMS=y
@@ -159,10 +163,6 @@ CONFIG_ELF_CORE=y
159# CONFIG_FUTEX is not set 163# CONFIG_FUTEX is not set
160# CONFIG_EPOLL is not set 164# CONFIG_EPOLL is not set
161# CONFIG_SHMEM is not set 165# CONFIG_SHMEM is not set
162CONFIG_CC_ALIGN_FUNCTIONS=0
163CONFIG_CC_ALIGN_LABELS=0
164CONFIG_CC_ALIGN_LOOPS=0
165CONFIG_CC_ALIGN_JUMPS=0
166CONFIG_SLAB=y 166CONFIG_SLAB=y
167CONFIG_TINY_SHMEM=y 167CONFIG_TINY_SHMEM=y
168CONFIG_BASE_SMALL=1 168CONFIG_BASE_SMALL=1
@@ -177,6 +177,8 @@ CONFIG_BASE_SMALL=1
177# Block layer 177# Block layer
178# 178#
179# CONFIG_LBD is not set 179# CONFIG_LBD is not set
180# CONFIG_BLK_DEV_IO_TRACE is not set
181# CONFIG_LSF is not set
180 182
181# 183#
182# IO Schedulers 184# IO Schedulers
@@ -196,6 +198,7 @@ CONFIG_DEFAULT_IOSCHED="noop"
196# 198#
197CONFIG_ISA=y 199CONFIG_ISA=y
198CONFIG_MMU=y 200CONFIG_MMU=y
201CONFIG_I8253=y
199 202
200# 203#
201# PCCARD (PCMCIA/CardBus) support 204# PCCARD (PCMCIA/CardBus) support
@@ -241,12 +244,15 @@ CONFIG_IP_PNP_BOOTP=y
241# CONFIG_INET_AH is not set 244# CONFIG_INET_AH is not set
242# CONFIG_INET_ESP is not set 245# CONFIG_INET_ESP is not set
243# CONFIG_INET_IPCOMP is not set 246# CONFIG_INET_IPCOMP is not set
247# CONFIG_INET_XFRM_TUNNEL is not set
244# CONFIG_INET_TUNNEL is not set 248# CONFIG_INET_TUNNEL is not set
245CONFIG_INET_DIAG=y 249CONFIG_INET_DIAG=y
246CONFIG_INET_TCP_DIAG=y 250CONFIG_INET_TCP_DIAG=y
247# CONFIG_TCP_CONG_ADVANCED is not set 251# CONFIG_TCP_CONG_ADVANCED is not set
248CONFIG_TCP_CONG_BIC=y 252CONFIG_TCP_CONG_BIC=y
249# CONFIG_IPV6 is not set 253# CONFIG_IPV6 is not set
254# CONFIG_INET6_XFRM_TUNNEL is not set
255# CONFIG_INET6_TUNNEL is not set
250# CONFIG_NETFILTER is not set 256# CONFIG_NETFILTER is not set
251# CONFIG_BRIDGE is not set 257# CONFIG_BRIDGE is not set
252# CONFIG_VLAN_8021Q is not set 258# CONFIG_VLAN_8021Q is not set
@@ -308,7 +314,7 @@ CONFIG_PROC_EVENTS=y
308# CONFIG_BLK_DEV_LOOP is not set 314# CONFIG_BLK_DEV_LOOP is not set
309# CONFIG_BLK_DEV_NBD is not set 315# CONFIG_BLK_DEV_NBD is not set
310# CONFIG_BLK_DEV_RAM is not set 316# CONFIG_BLK_DEV_RAM is not set
311CONFIG_BLK_DEV_RAM_COUNT=16 317# CONFIG_BLK_DEV_INITRD is not set
312# CONFIG_CDROM_PKTCDVD is not set 318# CONFIG_CDROM_PKTCDVD is not set
313# CONFIG_ATA_OVER_ETH is not set 319# CONFIG_ATA_OVER_ETH is not set
314 320
@@ -530,10 +536,6 @@ CONFIG_LEGACY_PTY_COUNT=256
530# 536#
531 537
532# 538#
533# Multimedia Capabilities Port drivers
534#
535
536#
537# Multimedia devices 539# Multimedia devices
538# 540#
539# CONFIG_VIDEO_DEV is not set 541# CONFIG_VIDEO_DEV is not set
@@ -552,6 +554,7 @@ CONFIG_LEGACY_PTY_COUNT=256
552# Console display driver support 554# Console display driver support
553# 555#
554CONFIG_VGA_CONSOLE=y 556CONFIG_VGA_CONSOLE=y
557# CONFIG_VGACON_SOFT_SCROLLBACK is not set
555# CONFIG_MDA_CONSOLE is not set 558# CONFIG_MDA_CONSOLE is not set
556CONFIG_DUMMY_CONSOLE=y 559CONFIG_DUMMY_CONSOLE=y
557 560
@@ -565,6 +568,7 @@ CONFIG_DUMMY_CONSOLE=y
565# 568#
566# CONFIG_USB_ARCH_HAS_HCD is not set 569# CONFIG_USB_ARCH_HAS_HCD is not set
567# CONFIG_USB_ARCH_HAS_OHCI is not set 570# CONFIG_USB_ARCH_HAS_OHCI is not set
571# CONFIG_USB_ARCH_HAS_EHCI is not set
568 572
569# 573#
570# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 574# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
@@ -581,15 +585,28 @@ CONFIG_DUMMY_CONSOLE=y
581# CONFIG_MMC is not set 585# CONFIG_MMC is not set
582 586
583# 587#
588# LED devices
589#
590# CONFIG_NEW_LEDS is not set
591
592#
593# LED drivers
594#
595
596#
597# LED Triggers
598#
599
600#
584# InfiniBand support 601# InfiniBand support
585# 602#
586 603
587# 604#
588# SN Devices 605# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
589# 606#
590 607
591# 608#
592# EDAC - error detection and reporting (RAS) 609# Real Time Clock
593# 610#
594 611
595# 612#
@@ -632,7 +649,6 @@ CONFIG_SYSFS=y
632# CONFIG_TMPFS is not set 649# CONFIG_TMPFS is not set
633# CONFIG_HUGETLB_PAGE is not set 650# CONFIG_HUGETLB_PAGE is not set
634CONFIG_RAMFS=y 651CONFIG_RAMFS=y
635CONFIG_RELAYFS_FS=y
636 652
637# 653#
638# Miscellaneous filesystems 654# Miscellaneous filesystems
@@ -680,6 +696,8 @@ CONFIG_MSDOS_PARTITION=y
680# CONFIG_MAGIC_SYSRQ is not set 696# CONFIG_MAGIC_SYSRQ is not set
681# CONFIG_DEBUG_KERNEL is not set 697# CONFIG_DEBUG_KERNEL is not set
682CONFIG_LOG_BUF_SHIFT=14 698CONFIG_LOG_BUF_SHIFT=14
699# CONFIG_DEBUG_FS is not set
700# CONFIG_UNWIND_INFO is not set
683CONFIG_CROSSCOMPILE=y 701CONFIG_CROSSCOMPILE=y
684CONFIG_CMDLINE="" 702CONFIG_CMDLINE=""
685 703
diff --git a/arch/mips/configs/rbhma4500_defconfig b/arch/mips/configs/rbhma4500_defconfig
index b126f763cf51..3d441932e43a 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.16-rc1 3# Linux kernel version: 2.6.17-rc2
4# Fri Jan 27 15:40:30 2006 4# Mon Apr 24 14:51:16 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -71,6 +71,8 @@ CONFIG_TOSHIBA_RBTX4938_MPLEX_PIO58_61=y
71# CONFIG_TOSHIBA_RBTX4938_MPLEX_NAND is not set 71# CONFIG_TOSHIBA_RBTX4938_MPLEX_NAND is not set
72# CONFIG_TOSHIBA_RBTX4938_MPLEX_ATA is not set 72# CONFIG_TOSHIBA_RBTX4938_MPLEX_ATA is not set
73CONFIG_RWSEM_GENERIC_SPINLOCK=y 73CONFIG_RWSEM_GENERIC_SPINLOCK=y
74CONFIG_GENERIC_FIND_NEXT_BIT=y
75CONFIG_GENERIC_HWEIGHT=y
74CONFIG_GENERIC_CALIBRATE_DELAY=y 76CONFIG_GENERIC_CALIBRATE_DELAY=y
75CONFIG_DMA_NONCOHERENT=y 77CONFIG_DMA_NONCOHERENT=y
76CONFIG_DMA_NEED_PCI_MAP_STATE=y 78CONFIG_DMA_NEED_PCI_MAP_STATE=y
@@ -121,10 +123,9 @@ CONFIG_PAGE_SIZE_4KB=y
121# CONFIG_PAGE_SIZE_8KB is not set 123# CONFIG_PAGE_SIZE_8KB is not set
122# CONFIG_PAGE_SIZE_16KB is not set 124# CONFIG_PAGE_SIZE_16KB is not set
123# CONFIG_PAGE_SIZE_64KB is not set 125# CONFIG_PAGE_SIZE_64KB is not set
126CONFIG_CPU_HAS_PREFETCH=y
124# CONFIG_MIPS_MT is not set 127# CONFIG_MIPS_MT is not set
125CONFIG_CPU_ADVANCED=y
126CONFIG_CPU_HAS_LLSC=y 128CONFIG_CPU_HAS_LLSC=y
127CONFIG_CPU_HAS_WB=y
128CONFIG_CPU_HAS_SYNC=y 129CONFIG_CPU_HAS_SYNC=y
129CONFIG_GENERIC_HARDIRQS=y 130CONFIG_GENERIC_HARDIRQS=y
130CONFIG_GENERIC_IRQ_PROBE=y 131CONFIG_GENERIC_IRQ_PROBE=y
@@ -145,7 +146,6 @@ CONFIG_PREEMPT_NONE=y
145# Code maturity level options 146# Code maturity level options
146# 147#
147CONFIG_EXPERIMENTAL=y 148CONFIG_EXPERIMENTAL=y
148CONFIG_CLEAN_COMPILE=y
149CONFIG_BROKEN_ON_SMP=y 149CONFIG_BROKEN_ON_SMP=y
150CONFIG_INIT_ENV_ARG_LIMIT=32 150CONFIG_INIT_ENV_ARG_LIMIT=32
151 151
@@ -162,6 +162,7 @@ CONFIG_SYSCTL=y
162# CONFIG_AUDIT is not set 162# CONFIG_AUDIT is not set
163CONFIG_IKCONFIG=y 163CONFIG_IKCONFIG=y
164CONFIG_IKCONFIG_PROC=y 164CONFIG_IKCONFIG_PROC=y
165CONFIG_RELAY=y
165CONFIG_INITRAMFS_SOURCE="" 166CONFIG_INITRAMFS_SOURCE=""
166# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 167# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
167CONFIG_EMBEDDED=y 168CONFIG_EMBEDDED=y
@@ -175,10 +176,6 @@ CONFIG_BASE_FULL=y
175# CONFIG_FUTEX is not set 176# CONFIG_FUTEX is not set
176# CONFIG_EPOLL is not set 177# CONFIG_EPOLL is not set
177CONFIG_SHMEM=y 178CONFIG_SHMEM=y
178CONFIG_CC_ALIGN_FUNCTIONS=0
179CONFIG_CC_ALIGN_LABELS=0
180CONFIG_CC_ALIGN_LOOPS=0
181CONFIG_CC_ALIGN_JUMPS=0
182CONFIG_SLAB=y 179CONFIG_SLAB=y
183# CONFIG_TINY_SHMEM is not set 180# CONFIG_TINY_SHMEM is not set
184CONFIG_BASE_SMALL=0 181CONFIG_BASE_SMALL=0
@@ -190,7 +187,6 @@ CONFIG_OBSOLETE_INTERMODULE=y
190# 187#
191CONFIG_MODULES=y 188CONFIG_MODULES=y
192# CONFIG_MODULE_UNLOAD is not set 189# CONFIG_MODULE_UNLOAD is not set
193CONFIG_OBSOLETE_MODPARM=y
194# CONFIG_MODVERSIONS is not set 190# CONFIG_MODVERSIONS is not set
195# CONFIG_MODULE_SRCVERSION_ALL is not set 191# CONFIG_MODULE_SRCVERSION_ALL is not set
196CONFIG_KMOD=y 192CONFIG_KMOD=y
@@ -199,6 +195,8 @@ CONFIG_KMOD=y
199# Block layer 195# Block layer
200# 196#
201# CONFIG_LBD is not set 197# CONFIG_LBD is not set
198# CONFIG_BLK_DEV_IO_TRACE is not set
199# CONFIG_LSF is not set
202 200
203# 201#
204# IO Schedulers 202# IO Schedulers
@@ -218,7 +216,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
218# 216#
219CONFIG_HW_HAS_PCI=y 217CONFIG_HW_HAS_PCI=y
220CONFIG_PCI=y 218CONFIG_PCI=y
221# CONFIG_PCI_LEGACY_PROC is not set
222CONFIG_ISA=y 219CONFIG_ISA=y
223CONFIG_MMU=y 220CONFIG_MMU=y
224 221
@@ -247,6 +244,7 @@ CONFIG_NET=y
247# 244#
248# Networking options 245# Networking options
249# 246#
247# CONFIG_NETDEBUG is not set
250CONFIG_PACKET=y 248CONFIG_PACKET=y
251# CONFIG_PACKET_MMAP is not set 249# CONFIG_PACKET_MMAP is not set
252CONFIG_UNIX=y 250CONFIG_UNIX=y
@@ -267,6 +265,7 @@ CONFIG_IP_PNP_BOOTP=y
267# CONFIG_INET_AH is not set 265# CONFIG_INET_AH is not set
268# CONFIG_INET_ESP is not set 266# CONFIG_INET_ESP is not set
269# CONFIG_INET_IPCOMP is not set 267# CONFIG_INET_IPCOMP is not set
268# CONFIG_INET_XFRM_TUNNEL is not set
270# CONFIG_INET_TUNNEL is not set 269# CONFIG_INET_TUNNEL is not set
271CONFIG_INET_DIAG=y 270CONFIG_INET_DIAG=y
272CONFIG_INET_TCP_DIAG=y 271CONFIG_INET_TCP_DIAG=y
@@ -279,9 +278,12 @@ CONFIG_TCP_CONG_BIC=y
279# CONFIG_IP_VS is not set 278# CONFIG_IP_VS is not set
280CONFIG_IPV6=m 279CONFIG_IPV6=m
281# CONFIG_IPV6_PRIVACY is not set 280# CONFIG_IPV6_PRIVACY is not set
281CONFIG_IPV6_ROUTER_PREF=y
282CONFIG_IPV6_ROUTE_INFO=y
282# CONFIG_INET6_AH is not set 283# CONFIG_INET6_AH is not set
283# CONFIG_INET6_ESP is not set 284# CONFIG_INET6_ESP is not set
284# CONFIG_INET6_IPCOMP is not set 285# CONFIG_INET6_IPCOMP is not set
286# CONFIG_INET6_XFRM_TUNNEL is not set
285# CONFIG_INET6_TUNNEL is not set 287# CONFIG_INET6_TUNNEL is not set
286# CONFIG_IPV6_TUNNEL is not set 288# CONFIG_IPV6_TUNNEL is not set
287CONFIG_NETFILTER=y 289CONFIG_NETFILTER=y
@@ -300,10 +302,12 @@ CONFIG_NETFILTER_XT_TARGET_MARK=m
300CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m 302CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
301CONFIG_NETFILTER_XT_MATCH_COMMENT=m 303CONFIG_NETFILTER_XT_MATCH_COMMENT=m
302CONFIG_NETFILTER_XT_MATCH_DCCP=m 304CONFIG_NETFILTER_XT_MATCH_DCCP=m
305CONFIG_NETFILTER_XT_MATCH_ESP=m
303CONFIG_NETFILTER_XT_MATCH_LENGTH=m 306CONFIG_NETFILTER_XT_MATCH_LENGTH=m
304CONFIG_NETFILTER_XT_MATCH_LIMIT=m 307CONFIG_NETFILTER_XT_MATCH_LIMIT=m
305CONFIG_NETFILTER_XT_MATCH_MAC=m 308CONFIG_NETFILTER_XT_MATCH_MAC=m
306CONFIG_NETFILTER_XT_MATCH_MARK=m 309CONFIG_NETFILTER_XT_MATCH_MARK=m
310CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
307CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m 311CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
308CONFIG_NETFILTER_XT_MATCH_REALM=m 312CONFIG_NETFILTER_XT_MATCH_REALM=m
309CONFIG_NETFILTER_XT_MATCH_SCTP=m 313CONFIG_NETFILTER_XT_MATCH_SCTP=m
@@ -333,6 +337,11 @@ CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
333# SCTP Configuration (EXPERIMENTAL) 337# SCTP Configuration (EXPERIMENTAL)
334# 338#
335# CONFIG_IP_SCTP is not set 339# CONFIG_IP_SCTP is not set
340
341#
342# TIPC Configuration (EXPERIMENTAL)
343#
344# CONFIG_TIPC is not set
336# CONFIG_ATM is not set 345# CONFIG_ATM is not set
337# CONFIG_BRIDGE is not set 346# CONFIG_BRIDGE is not set
338# CONFIG_VLAN_8021Q is not set 347# CONFIG_VLAN_8021Q is not set
@@ -342,11 +351,6 @@ CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
342# CONFIG_ATALK is not set 351# CONFIG_ATALK is not set
343# CONFIG_X25 is not set 352# CONFIG_X25 is not set
344# CONFIG_LAPB is not set 353# CONFIG_LAPB is not set
345
346#
347# TIPC Configuration (EXPERIMENTAL)
348#
349# CONFIG_TIPC is not set
350# CONFIG_NET_DIVERT is not set 354# CONFIG_NET_DIVERT is not set
351# CONFIG_ECONET is not set 355# CONFIG_ECONET is not set
352# CONFIG_WAN_ROUTER is not set 356# CONFIG_WAN_ROUTER is not set
@@ -369,6 +373,9 @@ CONFIG_IEEE80211=m
369CONFIG_IEEE80211_CRYPT_WEP=m 373CONFIG_IEEE80211_CRYPT_WEP=m
370CONFIG_IEEE80211_CRYPT_CCMP=m 374CONFIG_IEEE80211_CRYPT_CCMP=m
371CONFIG_IEEE80211_CRYPT_TKIP=m 375CONFIG_IEEE80211_CRYPT_TKIP=m
376CONFIG_IEEE80211_SOFTMAC=m
377# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set
378CONFIG_WIRELESS_EXT=y
372 379
373# 380#
374# Device Drivers 381# Device Drivers
@@ -425,7 +432,6 @@ CONFIG_MTD_CFI_I2=y
425# CONFIG_MTD_CFI_I8 is not set 432# CONFIG_MTD_CFI_I8 is not set
426CONFIG_MTD_CFI_INTELEXT=y 433CONFIG_MTD_CFI_INTELEXT=y
427CONFIG_MTD_CFI_AMDSTD=y 434CONFIG_MTD_CFI_AMDSTD=y
428CONFIG_MTD_CFI_AMDSTD_RETRY=0
429# CONFIG_MTD_CFI_STAA is not set 435# CONFIG_MTD_CFI_STAA is not set
430CONFIG_MTD_CFI_UTIL=y 436CONFIG_MTD_CFI_UTIL=y
431# CONFIG_MTD_RAM is not set 437# CONFIG_MTD_RAM is not set
@@ -447,7 +453,6 @@ CONFIG_MTD_CFI_UTIL=y
447# CONFIG_MTD_SLRAM is not set 453# CONFIG_MTD_SLRAM is not set
448# CONFIG_MTD_PHRAM is not set 454# CONFIG_MTD_PHRAM is not set
449# CONFIG_MTD_MTDRAM is not set 455# CONFIG_MTD_MTDRAM is not set
450# CONFIG_MTD_BLKMTD is not set
451# CONFIG_MTD_BLOCK2MTD is not set 456# CONFIG_MTD_BLOCK2MTD is not set
452 457
453# 458#
@@ -702,6 +707,7 @@ CONFIG_NET_PCI=y
702# Wireless LAN (non-hamradio) 707# Wireless LAN (non-hamradio)
703# 708#
704CONFIG_NET_RADIO=y 709CONFIG_NET_RADIO=y
710# CONFIG_NET_WIRELESS_RTNETLINK is not set
705 711
706# 712#
707# Obsolete Wireless cards support (pre-802.11) 713# Obsolete Wireless cards support (pre-802.11)
@@ -715,6 +721,8 @@ CONFIG_NET_RADIO=y
715# 721#
716# CONFIG_IPW2100 is not set 722# CONFIG_IPW2100 is not set
717CONFIG_IPW2200=m 723CONFIG_IPW2200=m
724# CONFIG_IPW2200_MONITOR is not set
725# CONFIG_IPW_QOS is not set
718# CONFIG_IPW2200_DEBUG is not set 726# CONFIG_IPW2200_DEBUG is not set
719# CONFIG_HERMES is not set 727# CONFIG_HERMES is not set
720# CONFIG_ATMEL is not set 728# CONFIG_ATMEL is not set
@@ -724,6 +732,7 @@ CONFIG_IPW2200=m
724# 732#
725# CONFIG_PRISM54 is not set 733# CONFIG_PRISM54 is not set
726# CONFIG_HOSTAP is not set 734# CONFIG_HOSTAP is not set
735# CONFIG_BCM43XX is not set
727CONFIG_NET_WIRELESS=y 736CONFIG_NET_WIRELESS=y
728 737
729# 738#
@@ -821,7 +830,12 @@ CONFIG_HW_CONSOLE=y
821# 830#
822# Non-8250 serial port support 831# Non-8250 serial port support
823# 832#
833CONFIG_SERIAL_CORE=y
834CONFIG_SERIAL_TXX9=y
824CONFIG_HAS_TXX9_SERIAL=y 835CONFIG_HAS_TXX9_SERIAL=y
836# CONFIG_SERIAL_TXX9_CONSOLE is not set
837# CONFIG_SERIAL_TXX9_STDSERIAL is not set
838# CONFIG_SERIAL_JSM is not set
825CONFIG_UNIX98_PTYS=y 839CONFIG_UNIX98_PTYS=y
826CONFIG_LEGACY_PTYS=y 840CONFIG_LEGACY_PTYS=y
827CONFIG_LEGACY_PTY_COUNT=256 841CONFIG_LEGACY_PTY_COUNT=256
@@ -874,6 +888,7 @@ CONFIG_LEGACY_PTY_COUNT=256
874# 888#
875CONFIG_HWMON=y 889CONFIG_HWMON=y
876# CONFIG_HWMON_VID is not set 890# CONFIG_HWMON_VID is not set
891# CONFIG_SENSORS_F71805F is not set
877# CONFIG_HWMON_DEBUG_CHIP is not set 892# CONFIG_HWMON_DEBUG_CHIP is not set
878 893
879# 894#
@@ -881,10 +896,6 @@ CONFIG_HWMON=y
881# 896#
882 897
883# 898#
884# Multimedia Capabilities Port drivers
885#
886
887#
888# Multimedia devices 899# Multimedia devices
889# 900#
890# CONFIG_VIDEO_DEV is not set 901# CONFIG_VIDEO_DEV is not set
@@ -893,6 +904,7 @@ CONFIG_HWMON=y
893# Digital Video Broadcasting Devices 904# Digital Video Broadcasting Devices
894# 905#
895# CONFIG_DVB is not set 906# CONFIG_DVB is not set
907# CONFIG_USB_DABUSB is not set
896 908
897# 909#
898# Graphics support 910# Graphics support
@@ -902,6 +914,7 @@ CONFIG_FB_CFB_FILLRECT=y
902CONFIG_FB_CFB_COPYAREA=y 914CONFIG_FB_CFB_COPYAREA=y
903CONFIG_FB_CFB_IMAGEBLIT=y 915CONFIG_FB_CFB_IMAGEBLIT=y
904# CONFIG_FB_MACMODES is not set 916# CONFIG_FB_MACMODES is not set
917CONFIG_FB_FIRMWARE_EDID=y
905# CONFIG_FB_MODE_HELPERS is not set 918# CONFIG_FB_MODE_HELPERS is not set
906# CONFIG_FB_TILEBLITTING is not set 919# CONFIG_FB_TILEBLITTING is not set
907# CONFIG_FB_CIRRUS is not set 920# CONFIG_FB_CIRRUS is not set
@@ -913,7 +926,6 @@ CONFIG_FB_CFB_IMAGEBLIT=y
913# CONFIG_FB_NVIDIA is not set 926# CONFIG_FB_NVIDIA is not set
914# CONFIG_FB_RIVA is not set 927# CONFIG_FB_RIVA is not set
915# CONFIG_FB_MATROX is not set 928# CONFIG_FB_MATROX is not set
916# CONFIG_FB_RADEON_OLD is not set
917# CONFIG_FB_RADEON is not set 929# CONFIG_FB_RADEON is not set
918# CONFIG_FB_ATY128 is not set 930# CONFIG_FB_ATY128 is not set
919CONFIG_FB_ATY=y 931CONFIG_FB_ATY=y
@@ -934,6 +946,7 @@ CONFIG_FB_ATY_CT=y
934# Console display driver support 946# Console display driver support
935# 947#
936CONFIG_VGA_CONSOLE=y 948CONFIG_VGA_CONSOLE=y
949# CONFIG_VGACON_SOFT_SCROLLBACK is not set
937# CONFIG_MDA_CONSOLE is not set 950# CONFIG_MDA_CONSOLE is not set
938CONFIG_DUMMY_CONSOLE=y 951CONFIG_DUMMY_CONSOLE=y
939# CONFIG_FRAMEBUFFER_CONSOLE is not set 952# CONFIG_FRAMEBUFFER_CONSOLE is not set
@@ -954,6 +967,7 @@ CONFIG_DUMMY_CONSOLE=y
954# 967#
955CONFIG_USB_ARCH_HAS_HCD=y 968CONFIG_USB_ARCH_HAS_HCD=y
956CONFIG_USB_ARCH_HAS_OHCI=y 969CONFIG_USB_ARCH_HAS_OHCI=y
970CONFIG_USB_ARCH_HAS_EHCI=y
957CONFIG_USB=y 971CONFIG_USB=y
958# CONFIG_USB_DEBUG is not set 972# CONFIG_USB_DEBUG is not set
959 973
@@ -1003,9 +1017,7 @@ CONFIG_USB_HIDDEV=y
1003# CONFIG_USB_ACECAD is not set 1017# CONFIG_USB_ACECAD is not set
1004# CONFIG_USB_KBTAB is not set 1018# CONFIG_USB_KBTAB is not set
1005# CONFIG_USB_POWERMATE is not set 1019# CONFIG_USB_POWERMATE is not set
1006# CONFIG_USB_MTOUCH is not set 1020# CONFIG_USB_TOUCHSCREEN is not set
1007# CONFIG_USB_ITMTOUCH is not set
1008# CONFIG_USB_EGALAX is not set
1009CONFIG_USB_YEALINK=m 1021CONFIG_USB_YEALINK=m
1010# CONFIG_USB_XPAD is not set 1022# CONFIG_USB_XPAD is not set
1011# CONFIG_USB_ATI_REMOTE is not set 1023# CONFIG_USB_ATI_REMOTE is not set
@@ -1019,15 +1031,6 @@ CONFIG_USB_YEALINK=m
1019# CONFIG_USB_MDC800 is not set 1031# CONFIG_USB_MDC800 is not set
1020 1032
1021# 1033#
1022# USB Multimedia devices
1023#
1024# CONFIG_USB_DABUSB is not set
1025
1026#
1027# Video4Linux support is needed for USB Multimedia device support
1028#
1029
1030#
1031# USB Network Adapters 1034# USB Network Adapters
1032# 1035#
1033# CONFIG_USB_CATC is not set 1036# CONFIG_USB_CATC is not set
@@ -1078,13 +1081,31 @@ CONFIG_USB_MON=y
1078# CONFIG_MMC is not set 1081# CONFIG_MMC is not set
1079 1082
1080# 1083#
1084# LED devices
1085#
1086# CONFIG_NEW_LEDS is not set
1087
1088#
1089# LED drivers
1090#
1091
1092#
1093# LED Triggers
1094#
1095
1096#
1081# InfiniBand support 1097# InfiniBand support
1082# 1098#
1083# CONFIG_INFINIBAND is not set 1099# CONFIG_INFINIBAND is not set
1084 1100
1085# 1101#
1086# SN Devices 1102# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
1103#
1104
1105#
1106# Real Time Clock
1087# 1107#
1108# CONFIG_RTC_CLASS is not set
1088 1109
1089# 1110#
1090# File systems 1111# File systems
@@ -1148,7 +1169,6 @@ CONFIG_SYSFS=y
1148CONFIG_TMPFS=y 1169CONFIG_TMPFS=y
1149# CONFIG_HUGETLB_PAGE is not set 1170# CONFIG_HUGETLB_PAGE is not set
1150CONFIG_RAMFS=y 1171CONFIG_RAMFS=y
1151CONFIG_RELAYFS_FS=m
1152# CONFIG_CONFIGFS_FS is not set 1172# CONFIG_CONFIGFS_FS is not set
1153 1173
1154# 1174#
@@ -1266,6 +1286,7 @@ CONFIG_NLS_DEFAULT="iso8859-1"
1266# CONFIG_MAGIC_SYSRQ is not set 1286# CONFIG_MAGIC_SYSRQ is not set
1267# CONFIG_DEBUG_KERNEL is not set 1287# CONFIG_DEBUG_KERNEL is not set
1268CONFIG_LOG_BUF_SHIFT=14 1288CONFIG_LOG_BUF_SHIFT=14
1289# CONFIG_DEBUG_FS is not set
1269CONFIG_CROSSCOMPILE=y 1290CONFIG_CROSSCOMPILE=y
1270CONFIG_CMDLINE="" 1291CONFIG_CMDLINE=""
1271 1292
diff --git a/arch/mips/configs/rm200_defconfig b/arch/mips/configs/rm200_defconfig
index 463ed3dbf6ae..edfb9679a25a 100644
--- a/arch/mips/configs/rm200_defconfig
+++ b/arch/mips/configs/rm200_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.16-rc1 3# Linux kernel version: 2.6.17-rc2
4# Fri Jan 27 15:40:31 2006 4# Mon Apr 24 14:51:16 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -64,6 +64,8 @@ CONFIG_SNI_RM200_PCI=y
64# CONFIG_TOSHIBA_RBTX4927 is not set 64# CONFIG_TOSHIBA_RBTX4927 is not set
65# CONFIG_TOSHIBA_RBTX4938 is not set 65# CONFIG_TOSHIBA_RBTX4938 is not set
66CONFIG_RWSEM_GENERIC_SPINLOCK=y 66CONFIG_RWSEM_GENERIC_SPINLOCK=y
67CONFIG_GENERIC_FIND_NEXT_BIT=y
68CONFIG_GENERIC_HWEIGHT=y
67CONFIG_GENERIC_CALIBRATE_DELAY=y 69CONFIG_GENERIC_CALIBRATE_DELAY=y
68CONFIG_ARC=y 70CONFIG_ARC=y
69CONFIG_ARCH_MAY_HAVE_PC_FDC=y 71CONFIG_ARCH_MAY_HAVE_PC_FDC=y
@@ -122,7 +124,6 @@ CONFIG_PAGE_SIZE_4KB=y
122# CONFIG_PAGE_SIZE_64KB is not set 124# CONFIG_PAGE_SIZE_64KB is not set
123# CONFIG_MIPS_MT is not set 125# CONFIG_MIPS_MT is not set
124# CONFIG_64BIT_PHYS_ADDR is not set 126# CONFIG_64BIT_PHYS_ADDR is not set
125# CONFIG_CPU_ADVANCED is not set
126CONFIG_CPU_HAS_LLSC=y 127CONFIG_CPU_HAS_LLSC=y
127CONFIG_CPU_HAS_SYNC=y 128CONFIG_CPU_HAS_SYNC=y
128CONFIG_GENERIC_HARDIRQS=y 129CONFIG_GENERIC_HARDIRQS=y
@@ -145,7 +146,6 @@ CONFIG_PREEMPT_VOLUNTARY=y
145# Code maturity level options 146# Code maturity level options
146# 147#
147CONFIG_EXPERIMENTAL=y 148CONFIG_EXPERIMENTAL=y
148CONFIG_CLEAN_COMPILE=y
149CONFIG_BROKEN_ON_SMP=y 149CONFIG_BROKEN_ON_SMP=y
150CONFIG_INIT_ENV_ARG_LIMIT=32 150CONFIG_INIT_ENV_ARG_LIMIT=32
151 151
@@ -163,6 +163,7 @@ CONFIG_SYSCTL=y
163# CONFIG_AUDIT is not set 163# CONFIG_AUDIT is not set
164CONFIG_IKCONFIG=y 164CONFIG_IKCONFIG=y
165CONFIG_IKCONFIG_PROC=y 165CONFIG_IKCONFIG_PROC=y
166CONFIG_RELAY=y
166CONFIG_INITRAMFS_SOURCE="" 167CONFIG_INITRAMFS_SOURCE=""
167# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 168# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
168CONFIG_EMBEDDED=y 169CONFIG_EMBEDDED=y
@@ -176,10 +177,6 @@ CONFIG_BASE_FULL=y
176CONFIG_FUTEX=y 177CONFIG_FUTEX=y
177CONFIG_EPOLL=y 178CONFIG_EPOLL=y
178CONFIG_SHMEM=y 179CONFIG_SHMEM=y
179CONFIG_CC_ALIGN_FUNCTIONS=0
180CONFIG_CC_ALIGN_LABELS=0
181CONFIG_CC_ALIGN_LOOPS=0
182CONFIG_CC_ALIGN_JUMPS=0
183CONFIG_SLAB=y 180CONFIG_SLAB=y
184# CONFIG_TINY_SHMEM is not set 181# CONFIG_TINY_SHMEM is not set
185CONFIG_BASE_SMALL=0 182CONFIG_BASE_SMALL=0
@@ -191,7 +188,6 @@ CONFIG_BASE_SMALL=0
191CONFIG_MODULES=y 188CONFIG_MODULES=y
192CONFIG_MODULE_UNLOAD=y 189CONFIG_MODULE_UNLOAD=y
193# CONFIG_MODULE_FORCE_UNLOAD is not set 190# CONFIG_MODULE_FORCE_UNLOAD is not set
194CONFIG_OBSOLETE_MODPARM=y
195CONFIG_MODVERSIONS=y 191CONFIG_MODVERSIONS=y
196# CONFIG_MODULE_SRCVERSION_ALL is not set 192# CONFIG_MODULE_SRCVERSION_ALL is not set
197CONFIG_KMOD=y 193CONFIG_KMOD=y
@@ -200,6 +196,8 @@ CONFIG_KMOD=y
200# Block layer 196# Block layer
201# 197#
202# CONFIG_LBD is not set 198# CONFIG_LBD is not set
199# CONFIG_BLK_DEV_IO_TRACE is not set
200# CONFIG_LSF is not set
203 201
204# 202#
205# IO Schedulers 203# IO Schedulers
@@ -220,10 +218,10 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
220CONFIG_HW_HAS_EISA=y 218CONFIG_HW_HAS_EISA=y
221CONFIG_HW_HAS_PCI=y 219CONFIG_HW_HAS_PCI=y
222CONFIG_PCI=y 220CONFIG_PCI=y
223CONFIG_PCI_LEGACY_PROC=y
224CONFIG_ISA=y 221CONFIG_ISA=y
225# CONFIG_EISA is not set 222# CONFIG_EISA is not set
226CONFIG_MMU=y 223CONFIG_MMU=y
224CONFIG_I8253=y
227 225
228# 226#
229# PCCARD (PCMCIA/CardBus) support 227# PCCARD (PCMCIA/CardBus) support
@@ -250,6 +248,7 @@ CONFIG_NET=y
250# 248#
251# Networking options 249# Networking options
252# 250#
251# CONFIG_NETDEBUG is not set
253CONFIG_PACKET=m 252CONFIG_PACKET=m
254CONFIG_PACKET_MMAP=y 253CONFIG_PACKET_MMAP=y
255CONFIG_UNIX=y 254CONFIG_UNIX=y
@@ -272,6 +271,7 @@ CONFIG_IP_PIMSM_V2=y
272# CONFIG_INET_AH is not set 271# CONFIG_INET_AH is not set
273# CONFIG_INET_ESP is not set 272# CONFIG_INET_ESP is not set
274# CONFIG_INET_IPCOMP is not set 273# CONFIG_INET_IPCOMP is not set
274# CONFIG_INET_XFRM_TUNNEL is not set
275CONFIG_INET_TUNNEL=m 275CONFIG_INET_TUNNEL=m
276CONFIG_INET_DIAG=y 276CONFIG_INET_DIAG=y
277CONFIG_INET_TCP_DIAG=y 277CONFIG_INET_TCP_DIAG=y
@@ -284,9 +284,12 @@ CONFIG_TCP_CONG_BIC=y
284# CONFIG_IP_VS is not set 284# CONFIG_IP_VS is not set
285CONFIG_IPV6=m 285CONFIG_IPV6=m
286CONFIG_IPV6_PRIVACY=y 286CONFIG_IPV6_PRIVACY=y
287CONFIG_IPV6_ROUTER_PREF=y
288CONFIG_IPV6_ROUTE_INFO=y
287CONFIG_INET6_AH=m 289CONFIG_INET6_AH=m
288CONFIG_INET6_ESP=m 290CONFIG_INET6_ESP=m
289CONFIG_INET6_IPCOMP=m 291CONFIG_INET6_IPCOMP=m
292CONFIG_INET6_XFRM_TUNNEL=m
290CONFIG_INET6_TUNNEL=m 293CONFIG_INET6_TUNNEL=m
291CONFIG_IPV6_TUNNEL=m 294CONFIG_IPV6_TUNNEL=m
292CONFIG_NETFILTER=y 295CONFIG_NETFILTER=y
@@ -309,11 +312,14 @@ CONFIG_NETFILTER_XT_MATCH_COMMENT=m
309CONFIG_NETFILTER_XT_MATCH_CONNMARK=m 312CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
310CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m 313CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
311CONFIG_NETFILTER_XT_MATCH_DCCP=m 314CONFIG_NETFILTER_XT_MATCH_DCCP=m
315CONFIG_NETFILTER_XT_MATCH_ESP=m
312CONFIG_NETFILTER_XT_MATCH_HELPER=m 316CONFIG_NETFILTER_XT_MATCH_HELPER=m
313CONFIG_NETFILTER_XT_MATCH_LENGTH=m 317CONFIG_NETFILTER_XT_MATCH_LENGTH=m
314CONFIG_NETFILTER_XT_MATCH_LIMIT=m 318CONFIG_NETFILTER_XT_MATCH_LIMIT=m
315CONFIG_NETFILTER_XT_MATCH_MAC=m 319CONFIG_NETFILTER_XT_MATCH_MAC=m
316CONFIG_NETFILTER_XT_MATCH_MARK=m 320CONFIG_NETFILTER_XT_MATCH_MARK=m
321CONFIG_NETFILTER_XT_MATCH_POLICY=m
322CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
317CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m 323CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
318CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m 324CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
319CONFIG_NETFILTER_XT_MATCH_REALM=m 325CONFIG_NETFILTER_XT_MATCH_REALM=m
@@ -337,20 +343,19 @@ CONFIG_IP_NF_IRC=m
337CONFIG_IP_NF_TFTP=m 343CONFIG_IP_NF_TFTP=m
338CONFIG_IP_NF_AMANDA=m 344CONFIG_IP_NF_AMANDA=m
339CONFIG_IP_NF_PPTP=m 345CONFIG_IP_NF_PPTP=m
346CONFIG_IP_NF_H323=m
340CONFIG_IP_NF_QUEUE=m 347CONFIG_IP_NF_QUEUE=m
341CONFIG_IP_NF_IPTABLES=m 348CONFIG_IP_NF_IPTABLES=m
342CONFIG_IP_NF_MATCH_IPRANGE=m 349CONFIG_IP_NF_MATCH_IPRANGE=m
343CONFIG_IP_NF_MATCH_MULTIPORT=m
344CONFIG_IP_NF_MATCH_TOS=m 350CONFIG_IP_NF_MATCH_TOS=m
345CONFIG_IP_NF_MATCH_RECENT=m 351CONFIG_IP_NF_MATCH_RECENT=m
346CONFIG_IP_NF_MATCH_ECN=m 352CONFIG_IP_NF_MATCH_ECN=m
347CONFIG_IP_NF_MATCH_DSCP=m 353CONFIG_IP_NF_MATCH_DSCP=m
348CONFIG_IP_NF_MATCH_AH_ESP=m 354CONFIG_IP_NF_MATCH_AH=m
349CONFIG_IP_NF_MATCH_TTL=m 355CONFIG_IP_NF_MATCH_TTL=m
350CONFIG_IP_NF_MATCH_OWNER=m 356CONFIG_IP_NF_MATCH_OWNER=m
351CONFIG_IP_NF_MATCH_ADDRTYPE=m 357CONFIG_IP_NF_MATCH_ADDRTYPE=m
352CONFIG_IP_NF_MATCH_HASHLIMIT=m 358CONFIG_IP_NF_MATCH_HASHLIMIT=m
353CONFIG_IP_NF_MATCH_POLICY=m
354CONFIG_IP_NF_FILTER=m 359CONFIG_IP_NF_FILTER=m
355CONFIG_IP_NF_TARGET_REJECT=m 360CONFIG_IP_NF_TARGET_REJECT=m
356CONFIG_IP_NF_TARGET_LOG=m 361CONFIG_IP_NF_TARGET_LOG=m
@@ -368,6 +373,7 @@ CONFIG_IP_NF_NAT_FTP=m
368CONFIG_IP_NF_NAT_TFTP=m 373CONFIG_IP_NF_NAT_TFTP=m
369CONFIG_IP_NF_NAT_AMANDA=m 374CONFIG_IP_NF_NAT_AMANDA=m
370CONFIG_IP_NF_NAT_PPTP=m 375CONFIG_IP_NF_NAT_PPTP=m
376CONFIG_IP_NF_NAT_H323=m
371CONFIG_IP_NF_MANGLE=m 377CONFIG_IP_NF_MANGLE=m
372CONFIG_IP_NF_TARGET_TOS=m 378CONFIG_IP_NF_TARGET_TOS=m
373CONFIG_IP_NF_TARGET_ECN=m 379CONFIG_IP_NF_TARGET_ECN=m
@@ -388,12 +394,10 @@ CONFIG_IP6_NF_MATCH_RT=m
388CONFIG_IP6_NF_MATCH_OPTS=m 394CONFIG_IP6_NF_MATCH_OPTS=m
389CONFIG_IP6_NF_MATCH_FRAG=m 395CONFIG_IP6_NF_MATCH_FRAG=m
390CONFIG_IP6_NF_MATCH_HL=m 396CONFIG_IP6_NF_MATCH_HL=m
391CONFIG_IP6_NF_MATCH_MULTIPORT=m
392CONFIG_IP6_NF_MATCH_OWNER=m 397CONFIG_IP6_NF_MATCH_OWNER=m
393CONFIG_IP6_NF_MATCH_IPV6HEADER=m 398CONFIG_IP6_NF_MATCH_IPV6HEADER=m
394CONFIG_IP6_NF_MATCH_AHESP=m 399CONFIG_IP6_NF_MATCH_AH=m
395CONFIG_IP6_NF_MATCH_EUI64=m 400CONFIG_IP6_NF_MATCH_EUI64=m
396CONFIG_IP6_NF_MATCH_POLICY=m
397CONFIG_IP6_NF_FILTER=m 401CONFIG_IP6_NF_FILTER=m
398CONFIG_IP6_NF_TARGET_LOG=m 402CONFIG_IP6_NF_TARGET_LOG=m
399CONFIG_IP6_NF_TARGET_REJECT=m 403CONFIG_IP6_NF_TARGET_REJECT=m
@@ -439,21 +443,22 @@ CONFIG_BRIDGE_EBT_ULOG=m
439# SCTP Configuration (EXPERIMENTAL) 443# SCTP Configuration (EXPERIMENTAL)
440# 444#
441# CONFIG_IP_SCTP is not set 445# CONFIG_IP_SCTP is not set
446
447#
448# TIPC Configuration (EXPERIMENTAL)
449#
450# CONFIG_TIPC is not set
442# CONFIG_ATM is not set 451# CONFIG_ATM is not set
443CONFIG_BRIDGE=m 452CONFIG_BRIDGE=m
444# CONFIG_VLAN_8021Q is not set 453# CONFIG_VLAN_8021Q is not set
445CONFIG_DECNET=m 454CONFIG_DECNET=m
446# CONFIG_DECNET_ROUTER is not set 455# CONFIG_DECNET_ROUTER is not set
456CONFIG_LLC=m
447# CONFIG_LLC2 is not set 457# CONFIG_LLC2 is not set
448# CONFIG_IPX is not set 458# CONFIG_IPX is not set
449# CONFIG_ATALK is not set 459# CONFIG_ATALK is not set
450# CONFIG_X25 is not set 460# CONFIG_X25 is not set
451# CONFIG_LAPB is not set 461# CONFIG_LAPB is not set
452
453#
454# TIPC Configuration (EXPERIMENTAL)
455#
456# CONFIG_TIPC is not set
457# CONFIG_NET_DIVERT is not set 462# CONFIG_NET_DIVERT is not set
458# CONFIG_ECONET is not set 463# CONFIG_ECONET is not set
459# CONFIG_WAN_ROUTER is not set 464# CONFIG_WAN_ROUTER is not set
@@ -533,6 +538,9 @@ CONFIG_IEEE80211=m
533# CONFIG_IEEE80211_DEBUG is not set 538# CONFIG_IEEE80211_DEBUG is not set
534CONFIG_IEEE80211_CRYPT_WEP=m 539CONFIG_IEEE80211_CRYPT_WEP=m
535CONFIG_IEEE80211_CRYPT_CCMP=m 540CONFIG_IEEE80211_CRYPT_CCMP=m
541CONFIG_IEEE80211_SOFTMAC=m
542# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set
543CONFIG_WIRELESS_EXT=y
536 544
537# 545#
538# Device Drivers 546# Device Drivers
@@ -620,6 +628,7 @@ CONFIG_BLK_DEV_UB=m
620CONFIG_BLK_DEV_RAM=m 628CONFIG_BLK_DEV_RAM=m
621CONFIG_BLK_DEV_RAM_COUNT=16 629CONFIG_BLK_DEV_RAM_COUNT=16
622CONFIG_BLK_DEV_RAM_SIZE=4096 630CONFIG_BLK_DEV_RAM_SIZE=4096
631# CONFIG_BLK_DEV_INITRD is not set
623CONFIG_CDROM_PKTCDVD=m 632CONFIG_CDROM_PKTCDVD=m
624CONFIG_CDROM_PKTCDVD_BUFFERS=8 633CONFIG_CDROM_PKTCDVD_BUFFERS=8
625# CONFIG_CDROM_PKTCDVD_WCACHE is not set 634# CONFIG_CDROM_PKTCDVD_WCACHE is not set
@@ -700,12 +709,11 @@ CONFIG_SCSI_SYM53C8XX_2=y
700CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1 709CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
701CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16 710CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
702CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64 711CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
703# CONFIG_SCSI_SYM53C8XX_IOMAPPED is not set 712CONFIG_SCSI_SYM53C8XX_MMIO=y
704# CONFIG_SCSI_IPR is not set 713# CONFIG_SCSI_IPR is not set
705# CONFIG_SCSI_PAS16 is not set 714# CONFIG_SCSI_PAS16 is not set
706# CONFIG_SCSI_PSI240I is not set 715# CONFIG_SCSI_PSI240I is not set
707# CONFIG_SCSI_QLOGIC_FAS is not set 716# CONFIG_SCSI_QLOGIC_FAS is not set
708# CONFIG_SCSI_QLOGIC_FC is not set
709# CONFIG_SCSI_QLOGIC_1280 is not set 717# CONFIG_SCSI_QLOGIC_1280 is not set
710# CONFIG_SCSI_QLA_FC is not set 718# CONFIG_SCSI_QLA_FC is not set
711# CONFIG_SCSI_LPFC is not set 719# CONFIG_SCSI_LPFC is not set
@@ -731,6 +739,7 @@ CONFIG_MD_RAID0=m
731CONFIG_MD_RAID1=m 739CONFIG_MD_RAID1=m
732CONFIG_MD_RAID10=m 740CONFIG_MD_RAID10=m
733CONFIG_MD_RAID5=m 741CONFIG_MD_RAID5=m
742CONFIG_MD_RAID5_RESHAPE=y
734# CONFIG_MD_RAID6 is not set 743# CONFIG_MD_RAID6 is not set
735CONFIG_MD_MULTIPATH=m 744CONFIG_MD_MULTIPATH=m
736CONFIG_MD_FAULTY=m 745CONFIG_MD_FAULTY=m
@@ -965,6 +974,7 @@ CONFIG_HW_CONSOLE=y
965# Serial drivers 974# Serial drivers
966# 975#
967CONFIG_SERIAL_8250=m 976CONFIG_SERIAL_8250=m
977CONFIG_SERIAL_8250_PCI=m
968CONFIG_SERIAL_8250_NR_UARTS=4 978CONFIG_SERIAL_8250_NR_UARTS=4
969CONFIG_SERIAL_8250_RUNTIME_UARTS=4 979CONFIG_SERIAL_8250_RUNTIME_UARTS=4
970CONFIG_SERIAL_8250_EXTENDED=y 980CONFIG_SERIAL_8250_EXTENDED=y
@@ -977,6 +987,7 @@ CONFIG_SERIAL_8250_RSA=y
977# Non-8250 serial port support 987# Non-8250 serial port support
978# 988#
979CONFIG_SERIAL_CORE=m 989CONFIG_SERIAL_CORE=m
990# CONFIG_SERIAL_JSM is not set
980CONFIG_UNIX98_PTYS=y 991CONFIG_UNIX98_PTYS=y
981CONFIG_LEGACY_PTYS=y 992CONFIG_LEGACY_PTYS=y
982CONFIG_LEGACY_PTY_COUNT=256 993CONFIG_LEGACY_PTY_COUNT=256
@@ -1027,12 +1038,19 @@ CONFIG_RTC=m
1027# Dallas's 1-wire bus 1038# Dallas's 1-wire bus
1028# 1039#
1029CONFIG_W1=m 1040CONFIG_W1=m
1030CONFIG_W1_MATROX=m 1041
1031CONFIG_W1_DS9490=m 1042#
1032# CONFIG_W1_DS9490_BRIDGE is not set 1043# 1-wire Bus Masters
1033CONFIG_W1_THERM=m 1044#
1034CONFIG_W1_SMEM=m 1045# CONFIG_W1_MASTER_MATROX is not set
1035# CONFIG_W1_DS2433 is not set 1046# CONFIG_W1_MASTER_DS9490 is not set
1047
1048#
1049# 1-wire Slaves
1050#
1051# CONFIG_W1_SLAVE_THERM is not set
1052# CONFIG_W1_SLAVE_SMEM is not set
1053# CONFIG_W1_SLAVE_DS2433 is not set
1036 1054
1037# 1055#
1038# Hardware Monitoring support 1056# Hardware Monitoring support
@@ -1045,10 +1063,6 @@ CONFIG_W1_SMEM=m
1045# 1063#
1046 1064
1047# 1065#
1048# Multimedia Capabilities Port drivers
1049#
1050
1051#
1052# Multimedia devices 1066# Multimedia devices
1053# 1067#
1054# CONFIG_VIDEO_DEV is not set 1068# CONFIG_VIDEO_DEV is not set
@@ -1057,6 +1071,7 @@ CONFIG_W1_SMEM=m
1057# Digital Video Broadcasting Devices 1071# Digital Video Broadcasting Devices
1058# 1072#
1059# CONFIG_DVB is not set 1073# CONFIG_DVB is not set
1074CONFIG_USB_DABUSB=m
1060 1075
1061# 1076#
1062# Graphics support 1077# Graphics support
@@ -1067,6 +1082,7 @@ CONFIG_W1_SMEM=m
1067# Console display driver support 1082# Console display driver support
1068# 1083#
1069CONFIG_VGA_CONSOLE=y 1084CONFIG_VGA_CONSOLE=y
1085# CONFIG_VGACON_SOFT_SCROLLBACK is not set
1070# CONFIG_MDA_CONSOLE is not set 1086# CONFIG_MDA_CONSOLE is not set
1071CONFIG_DUMMY_CONSOLE=y 1087CONFIG_DUMMY_CONSOLE=y
1072 1088
@@ -1080,6 +1096,7 @@ CONFIG_DUMMY_CONSOLE=y
1080# 1096#
1081CONFIG_USB_ARCH_HAS_HCD=y 1097CONFIG_USB_ARCH_HAS_HCD=y
1082CONFIG_USB_ARCH_HAS_OHCI=y 1098CONFIG_USB_ARCH_HAS_OHCI=y
1099CONFIG_USB_ARCH_HAS_EHCI=y
1083CONFIG_USB=m 1100CONFIG_USB=m
1084# CONFIG_USB_DEBUG is not set 1101# CONFIG_USB_DEBUG is not set
1085 1102
@@ -1151,9 +1168,7 @@ CONFIG_USB_WACOM=m
1151# CONFIG_USB_ACECAD is not set 1168# CONFIG_USB_ACECAD is not set
1152CONFIG_USB_KBTAB=m 1169CONFIG_USB_KBTAB=m
1153CONFIG_USB_POWERMATE=m 1170CONFIG_USB_POWERMATE=m
1154# CONFIG_USB_MTOUCH is not set 1171# CONFIG_USB_TOUCHSCREEN is not set
1155# CONFIG_USB_ITMTOUCH is not set
1156CONFIG_USB_EGALAX=m
1157CONFIG_USB_YEALINK=m 1172CONFIG_USB_YEALINK=m
1158CONFIG_USB_XPAD=m 1173CONFIG_USB_XPAD=m
1159# CONFIG_USB_ATI_REMOTE is not set 1174# CONFIG_USB_ATI_REMOTE is not set
@@ -1168,15 +1183,6 @@ CONFIG_USB_MDC800=m
1168CONFIG_USB_MICROTEK=m 1183CONFIG_USB_MICROTEK=m
1169 1184
1170# 1185#
1171# USB Multimedia devices
1172#
1173CONFIG_USB_DABUSB=m
1174
1175#
1176# Video4Linux support is needed for USB Multimedia device support
1177#
1178
1179#
1180# USB Network Adapters 1186# USB Network Adapters
1181# 1187#
1182CONFIG_USB_CATC=m 1188CONFIG_USB_CATC=m
@@ -1213,6 +1219,7 @@ CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
1213CONFIG_USB_SERIAL_CYPRESS_M8=m 1219CONFIG_USB_SERIAL_CYPRESS_M8=m
1214CONFIG_USB_SERIAL_EMPEG=m 1220CONFIG_USB_SERIAL_EMPEG=m
1215CONFIG_USB_SERIAL_FTDI_SIO=m 1221CONFIG_USB_SERIAL_FTDI_SIO=m
1222# CONFIG_USB_SERIAL_FUNSOFT is not set
1216CONFIG_USB_SERIAL_VISOR=m 1223CONFIG_USB_SERIAL_VISOR=m
1217CONFIG_USB_SERIAL_IPAQ=m 1224CONFIG_USB_SERIAL_IPAQ=m
1218CONFIG_USB_SERIAL_IR=m 1225CONFIG_USB_SERIAL_IR=m
@@ -1237,6 +1244,7 @@ CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y
1237CONFIG_USB_SERIAL_KLSI=m 1244CONFIG_USB_SERIAL_KLSI=m
1238CONFIG_USB_SERIAL_KOBIL_SCT=m 1245CONFIG_USB_SERIAL_KOBIL_SCT=m
1239CONFIG_USB_SERIAL_MCT_U232=m 1246CONFIG_USB_SERIAL_MCT_U232=m
1247# CONFIG_USB_SERIAL_NAVMAN is not set
1240CONFIG_USB_SERIAL_PL2303=m 1248CONFIG_USB_SERIAL_PL2303=m
1241CONFIG_USB_SERIAL_HP4X=m 1249CONFIG_USB_SERIAL_HP4X=m
1242CONFIG_USB_SERIAL_SAFE=m 1250CONFIG_USB_SERIAL_SAFE=m
@@ -1281,13 +1289,31 @@ CONFIG_USB_TEST=m
1281# CONFIG_MMC is not set 1289# CONFIG_MMC is not set
1282 1290
1283# 1291#
1292# LED devices
1293#
1294# CONFIG_NEW_LEDS is not set
1295
1296#
1297# LED drivers
1298#
1299
1300#
1301# LED Triggers
1302#
1303
1304#
1284# InfiniBand support 1305# InfiniBand support
1285# 1306#
1286# CONFIG_INFINIBAND is not set 1307# CONFIG_INFINIBAND is not set
1287 1308
1288# 1309#
1289# SN Devices 1310# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
1311#
1312
1313#
1314# Real Time Clock
1290# 1315#
1316# CONFIG_RTC_CLASS is not set
1291 1317
1292# 1318#
1293# File systems 1319# File systems
@@ -1358,7 +1384,6 @@ CONFIG_SYSFS=y
1358# CONFIG_TMPFS is not set 1384# CONFIG_TMPFS is not set
1359# CONFIG_HUGETLB_PAGE is not set 1385# CONFIG_HUGETLB_PAGE is not set
1360CONFIG_RAMFS=y 1386CONFIG_RAMFS=y
1361CONFIG_RELAYFS_FS=m
1362# CONFIG_CONFIGFS_FS is not set 1387# CONFIG_CONFIGFS_FS is not set
1363 1388
1364# 1389#
@@ -1379,7 +1404,6 @@ CONFIG_HPFS_FS=m
1379CONFIG_QNX4FS_FS=m 1404CONFIG_QNX4FS_FS=m
1380CONFIG_SYSV_FS=m 1405CONFIG_SYSV_FS=m
1381CONFIG_UFS_FS=m 1406CONFIG_UFS_FS=m
1382# CONFIG_UFS_FS_WRITE is not set
1383 1407
1384# 1408#
1385# Network File Systems 1409# Network File Systems
@@ -1500,6 +1524,7 @@ CONFIG_NLS_UTF8=m
1500# CONFIG_MAGIC_SYSRQ is not set 1524# CONFIG_MAGIC_SYSRQ is not set
1501# CONFIG_DEBUG_KERNEL is not set 1525# CONFIG_DEBUG_KERNEL is not set
1502CONFIG_LOG_BUF_SHIFT=14 1526CONFIG_LOG_BUF_SHIFT=14
1527# CONFIG_DEBUG_FS is not set
1503CONFIG_CROSSCOMPILE=y 1528CONFIG_CROSSCOMPILE=y
1504CONFIG_CMDLINE="" 1529CONFIG_CMDLINE=""
1505 1530
diff --git a/arch/mips/configs/sb1250-swarm_defconfig b/arch/mips/configs/sb1250-swarm_defconfig
index da68c3f72050..e388a3dae0a9 100644
--- a/arch/mips/configs/sb1250-swarm_defconfig
+++ b/arch/mips/configs/sb1250-swarm_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.16-rc1 3# Linux kernel version: 2.6.17-rc2
4# Fri Jan 27 15:40:32 2006 4# Mon Apr 24 14:51:17 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -81,6 +81,8 @@ CONFIG_SIBYTE_CFE=y
81# CONFIG_SIBYTE_SB1250_PROF is not set 81# CONFIG_SIBYTE_SB1250_PROF is not set
82# CONFIG_SIBYTE_TBPROF is not set 82# CONFIG_SIBYTE_TBPROF is not set
83CONFIG_RWSEM_GENERIC_SPINLOCK=y 83CONFIG_RWSEM_GENERIC_SPINLOCK=y
84CONFIG_GENERIC_FIND_NEXT_BIT=y
85CONFIG_GENERIC_HWEIGHT=y
84CONFIG_GENERIC_CALIBRATE_DELAY=y 86CONFIG_GENERIC_CALIBRATE_DELAY=y
85CONFIG_DMA_COHERENT=y 87CONFIG_DMA_COHERENT=y
86CONFIG_CPU_BIG_ENDIAN=y 88CONFIG_CPU_BIG_ENDIAN=y
@@ -158,7 +160,6 @@ CONFIG_PREEMPT_BKL=y
158# Code maturity level options 160# Code maturity level options
159# 161#
160CONFIG_EXPERIMENTAL=y 162CONFIG_EXPERIMENTAL=y
161CONFIG_CLEAN_COMPILE=y
162CONFIG_LOCK_KERNEL=y 163CONFIG_LOCK_KERNEL=y
163CONFIG_INIT_ENV_ARG_LIMIT=32 164CONFIG_INIT_ENV_ARG_LIMIT=32
164 165
@@ -175,6 +176,7 @@ CONFIG_SYSCTL=y
175# CONFIG_AUDIT is not set 176# CONFIG_AUDIT is not set
176# CONFIG_IKCONFIG is not set 177# CONFIG_IKCONFIG is not set
177CONFIG_CPUSETS=y 178CONFIG_CPUSETS=y
179CONFIG_RELAY=y
178CONFIG_INITRAMFS_SOURCE="" 180CONFIG_INITRAMFS_SOURCE=""
179# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 181# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
180CONFIG_EMBEDDED=y 182CONFIG_EMBEDDED=y
@@ -188,10 +190,6 @@ CONFIG_BASE_FULL=y
188CONFIG_FUTEX=y 190CONFIG_FUTEX=y
189CONFIG_EPOLL=y 191CONFIG_EPOLL=y
190CONFIG_SHMEM=y 192CONFIG_SHMEM=y
191CONFIG_CC_ALIGN_FUNCTIONS=0
192CONFIG_CC_ALIGN_LABELS=0
193CONFIG_CC_ALIGN_LOOPS=0
194CONFIG_CC_ALIGN_JUMPS=0
195CONFIG_SLAB=y 193CONFIG_SLAB=y
196# CONFIG_TINY_SHMEM is not set 194# CONFIG_TINY_SHMEM is not set
197CONFIG_BASE_SMALL=0 195CONFIG_BASE_SMALL=0
@@ -203,7 +201,6 @@ CONFIG_BASE_SMALL=0
203CONFIG_MODULES=y 201CONFIG_MODULES=y
204CONFIG_MODULE_UNLOAD=y 202CONFIG_MODULE_UNLOAD=y
205# CONFIG_MODULE_FORCE_UNLOAD is not set 203# CONFIG_MODULE_FORCE_UNLOAD is not set
206CONFIG_OBSOLETE_MODPARM=y
207CONFIG_MODVERSIONS=y 204CONFIG_MODVERSIONS=y
208CONFIG_MODULE_SRCVERSION_ALL=y 205CONFIG_MODULE_SRCVERSION_ALL=y
209CONFIG_KMOD=y 206CONFIG_KMOD=y
@@ -212,6 +209,7 @@ CONFIG_STOP_MACHINE=y
212# 209#
213# Block layer 210# Block layer
214# 211#
212# CONFIG_BLK_DEV_IO_TRACE is not set
215 213
216# 214#
217# IO Schedulers 215# IO Schedulers
@@ -231,7 +229,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
231# 229#
232CONFIG_HW_HAS_PCI=y 230CONFIG_HW_HAS_PCI=y
233CONFIG_PCI=y 231CONFIG_PCI=y
234CONFIG_PCI_LEGACY_PROC=y
235CONFIG_MMU=y 232CONFIG_MMU=y
236 233
237# 234#
@@ -249,6 +246,7 @@ CONFIG_MMU=y
249# 246#
250CONFIG_BINFMT_ELF=y 247CONFIG_BINFMT_ELF=y
251# CONFIG_BINFMT_MISC is not set 248# CONFIG_BINFMT_MISC is not set
249# CONFIG_BUILD_ELF64 is not set
252CONFIG_MIPS32_COMPAT=y 250CONFIG_MIPS32_COMPAT=y
253CONFIG_COMPAT=y 251CONFIG_COMPAT=y
254CONFIG_MIPS32_O32=y 252CONFIG_MIPS32_O32=y
@@ -263,6 +261,7 @@ CONFIG_NET=y
263# 261#
264# Networking options 262# Networking options
265# 263#
264# CONFIG_NETDEBUG is not set
266CONFIG_PACKET=y 265CONFIG_PACKET=y
267CONFIG_PACKET_MMAP=y 266CONFIG_PACKET_MMAP=y
268CONFIG_UNIX=y 267CONFIG_UNIX=y
@@ -284,12 +283,15 @@ CONFIG_IP_PNP_BOOTP=y
284# CONFIG_INET_AH is not set 283# CONFIG_INET_AH is not set
285# CONFIG_INET_ESP is not set 284# CONFIG_INET_ESP is not set
286# CONFIG_INET_IPCOMP is not set 285# CONFIG_INET_IPCOMP is not set
287CONFIG_INET_TUNNEL=m 286# CONFIG_INET_XFRM_TUNNEL is not set
287# CONFIG_INET_TUNNEL is not set
288CONFIG_INET_DIAG=y 288CONFIG_INET_DIAG=y
289CONFIG_INET_TCP_DIAG=y 289CONFIG_INET_TCP_DIAG=y
290# CONFIG_TCP_CONG_ADVANCED is not set 290# CONFIG_TCP_CONG_ADVANCED is not set
291CONFIG_TCP_CONG_BIC=y 291CONFIG_TCP_CONG_BIC=y
292# CONFIG_IPV6 is not set 292# CONFIG_IPV6 is not set
293# CONFIG_INET6_XFRM_TUNNEL is not set
294# CONFIG_INET6_TUNNEL is not set
293# CONFIG_NETFILTER is not set 295# CONFIG_NETFILTER is not set
294 296
295# 297#
@@ -301,6 +303,11 @@ CONFIG_TCP_CONG_BIC=y
301# SCTP Configuration (EXPERIMENTAL) 303# SCTP Configuration (EXPERIMENTAL)
302# 304#
303# CONFIG_IP_SCTP is not set 305# CONFIG_IP_SCTP is not set
306
307#
308# TIPC Configuration (EXPERIMENTAL)
309#
310# CONFIG_TIPC is not set
304# CONFIG_ATM is not set 311# CONFIG_ATM is not set
305# CONFIG_BRIDGE is not set 312# CONFIG_BRIDGE is not set
306# CONFIG_VLAN_8021Q is not set 313# CONFIG_VLAN_8021Q is not set
@@ -310,11 +317,6 @@ CONFIG_TCP_CONG_BIC=y
310# CONFIG_ATALK is not set 317# CONFIG_ATALK is not set
311# CONFIG_X25 is not set 318# CONFIG_X25 is not set
312# CONFIG_LAPB is not set 319# CONFIG_LAPB is not set
313
314#
315# TIPC Configuration (EXPERIMENTAL)
316#
317# CONFIG_TIPC is not set
318# CONFIG_NET_DIVERT is not set 320# CONFIG_NET_DIVERT is not set
319# CONFIG_ECONET is not set 321# CONFIG_ECONET is not set
320# CONFIG_WAN_ROUTER is not set 322# CONFIG_WAN_ROUTER is not set
@@ -335,6 +337,9 @@ CONFIG_IEEE80211=m
335# CONFIG_IEEE80211_DEBUG is not set 337# CONFIG_IEEE80211_DEBUG is not set
336CONFIG_IEEE80211_CRYPT_WEP=m 338CONFIG_IEEE80211_CRYPT_WEP=m
337CONFIG_IEEE80211_CRYPT_CCMP=m 339CONFIG_IEEE80211_CRYPT_CCMP=m
340CONFIG_IEEE80211_SOFTMAC=m
341# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set
342CONFIG_WIRELESS_EXT=y
338 343
339# 344#
340# Device Drivers 345# Device Drivers
@@ -589,6 +594,7 @@ CONFIG_SIBYTE_SB1250_DUART_CONSOLE=y
589# 594#
590# Non-8250 serial port support 595# Non-8250 serial port support
591# 596#
597# CONFIG_SERIAL_JSM is not set
592CONFIG_UNIX98_PTYS=y 598CONFIG_UNIX98_PTYS=y
593CONFIG_LEGACY_PTYS=y 599CONFIG_LEGACY_PTYS=y
594CONFIG_LEGACY_PTY_COUNT=256 600CONFIG_LEGACY_PTY_COUNT=256
@@ -647,10 +653,6 @@ CONFIG_LEGACY_PTY_COUNT=256
647# 653#
648 654
649# 655#
650# Multimedia Capabilities Port drivers
651#
652
653#
654# Multimedia devices 656# Multimedia devices
655# 657#
656# CONFIG_VIDEO_DEV is not set 658# CONFIG_VIDEO_DEV is not set
@@ -675,6 +677,7 @@ CONFIG_LEGACY_PTY_COUNT=256
675# 677#
676CONFIG_USB_ARCH_HAS_HCD=y 678CONFIG_USB_ARCH_HAS_HCD=y
677CONFIG_USB_ARCH_HAS_OHCI=y 679CONFIG_USB_ARCH_HAS_OHCI=y
680CONFIG_USB_ARCH_HAS_EHCI=y
678# CONFIG_USB is not set 681# CONFIG_USB is not set
679 682
680# 683#
@@ -692,13 +695,31 @@ CONFIG_USB_ARCH_HAS_OHCI=y
692# CONFIG_MMC is not set 695# CONFIG_MMC is not set
693 696
694# 697#
698# LED devices
699#
700# CONFIG_NEW_LEDS is not set
701
702#
703# LED drivers
704#
705
706#
707# LED Triggers
708#
709
710#
695# InfiniBand support 711# InfiniBand support
696# 712#
697# CONFIG_INFINIBAND is not set 713# CONFIG_INFINIBAND is not set
698 714
699# 715#
700# SN Devices 716# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
717#
718
719#
720# Real Time Clock
701# 721#
722# CONFIG_RTC_CLASS is not set
702 723
703# 724#
704# File systems 725# File systems
@@ -746,7 +767,6 @@ CONFIG_SYSFS=y
746# CONFIG_TMPFS is not set 767# CONFIG_TMPFS is not set
747# CONFIG_HUGETLB_PAGE is not set 768# CONFIG_HUGETLB_PAGE is not set
748CONFIG_RAMFS=y 769CONFIG_RAMFS=y
749CONFIG_RELAYFS_FS=m
750# CONFIG_CONFIGFS_FS is not set 770# CONFIG_CONFIGFS_FS is not set
751 771
752# 772#
@@ -812,6 +832,7 @@ CONFIG_MSDOS_PARTITION=y
812# CONFIG_MAGIC_SYSRQ is not set 832# CONFIG_MAGIC_SYSRQ is not set
813# CONFIG_DEBUG_KERNEL is not set 833# CONFIG_DEBUG_KERNEL is not set
814CONFIG_LOG_BUF_SHIFT=15 834CONFIG_LOG_BUF_SHIFT=15
835# CONFIG_DEBUG_FS is not set
815CONFIG_CROSSCOMPILE=y 836CONFIG_CROSSCOMPILE=y
816CONFIG_CMDLINE="" 837CONFIG_CMDLINE=""
817# CONFIG_SB1XXX_CORELIS is not set 838# CONFIG_SB1XXX_CORELIS is not set
diff --git a/arch/mips/configs/sead_defconfig b/arch/mips/configs/sead_defconfig
index 9a936d7b7c0c..6b8a6a416a25 100644
--- a/arch/mips/configs/sead_defconfig
+++ b/arch/mips/configs/sead_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.16-rc1 3# Linux kernel version: 2.6.17-rc2
4# Fri Jan 27 15:40:33 2006 4# Mon Apr 24 14:51:17 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -64,6 +64,8 @@ CONFIG_MIPS_SEAD=y
64# CONFIG_TOSHIBA_RBTX4927 is not set 64# CONFIG_TOSHIBA_RBTX4927 is not set
65# CONFIG_TOSHIBA_RBTX4938 is not set 65# CONFIG_TOSHIBA_RBTX4938 is not set
66CONFIG_RWSEM_GENERIC_SPINLOCK=y 66CONFIG_RWSEM_GENERIC_SPINLOCK=y
67CONFIG_GENERIC_FIND_NEXT_BIT=y
68CONFIG_GENERIC_HWEIGHT=y
67CONFIG_GENERIC_CALIBRATE_DELAY=y 69CONFIG_GENERIC_CALIBRATE_DELAY=y
68CONFIG_DMA_NONCOHERENT=y 70CONFIG_DMA_NONCOHERENT=y
69CONFIG_DMA_NEED_PCI_MAP_STATE=y 71CONFIG_DMA_NEED_PCI_MAP_STATE=y
@@ -118,11 +120,11 @@ CONFIG_PAGE_SIZE_4KB=y
118CONFIG_CPU_HAS_PREFETCH=y 120CONFIG_CPU_HAS_PREFETCH=y
119# CONFIG_MIPS_MT is not set 121# CONFIG_MIPS_MT is not set
120# CONFIG_64BIT_PHYS_ADDR is not set 122# CONFIG_64BIT_PHYS_ADDR is not set
121# CONFIG_CPU_ADVANCED is not set
122CONFIG_CPU_HAS_LLSC=y 123CONFIG_CPU_HAS_LLSC=y
123CONFIG_CPU_HAS_SYNC=y 124CONFIG_CPU_HAS_SYNC=y
124CONFIG_GENERIC_HARDIRQS=y 125CONFIG_GENERIC_HARDIRQS=y
125CONFIG_GENERIC_IRQ_PROBE=y 126CONFIG_GENERIC_IRQ_PROBE=y
127CONFIG_CPU_SUPPORTS_HIGHMEM=y
126CONFIG_ARCH_FLATMEM_ENABLE=y 128CONFIG_ARCH_FLATMEM_ENABLE=y
127CONFIG_SELECT_MEMORY_MODEL=y 129CONFIG_SELECT_MEMORY_MODEL=y
128CONFIG_FLATMEM_MANUAL=y 130CONFIG_FLATMEM_MANUAL=y
@@ -140,7 +142,6 @@ CONFIG_PREEMPT_NONE=y
140# Code maturity level options 142# Code maturity level options
141# 143#
142CONFIG_EXPERIMENTAL=y 144CONFIG_EXPERIMENTAL=y
143CONFIG_CLEAN_COMPILE=y
144CONFIG_BROKEN_ON_SMP=y 145CONFIG_BROKEN_ON_SMP=y
145CONFIG_INIT_ENV_ARG_LIMIT=32 146CONFIG_INIT_ENV_ARG_LIMIT=32
146 147
@@ -154,6 +155,7 @@ CONFIG_SYSVIPC=y
154# CONFIG_BSD_PROCESS_ACCT is not set 155# CONFIG_BSD_PROCESS_ACCT is not set
155CONFIG_SYSCTL=y 156CONFIG_SYSCTL=y
156# CONFIG_IKCONFIG is not set 157# CONFIG_IKCONFIG is not set
158CONFIG_RELAY=y
157CONFIG_INITRAMFS_SOURCE="" 159CONFIG_INITRAMFS_SOURCE=""
158# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 160# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
159CONFIG_EMBEDDED=y 161CONFIG_EMBEDDED=y
@@ -167,10 +169,6 @@ CONFIG_BASE_FULL=y
167CONFIG_FUTEX=y 169CONFIG_FUTEX=y
168CONFIG_EPOLL=y 170CONFIG_EPOLL=y
169CONFIG_SHMEM=y 171CONFIG_SHMEM=y
170CONFIG_CC_ALIGN_FUNCTIONS=0
171CONFIG_CC_ALIGN_LABELS=0
172CONFIG_CC_ALIGN_LOOPS=0
173CONFIG_CC_ALIGN_JUMPS=0
174CONFIG_SLAB=y 172CONFIG_SLAB=y
175# CONFIG_TINY_SHMEM is not set 173# CONFIG_TINY_SHMEM is not set
176CONFIG_BASE_SMALL=0 174CONFIG_BASE_SMALL=0
@@ -185,6 +183,8 @@ CONFIG_BASE_SMALL=0
185# Block layer 183# Block layer
186# 184#
187# CONFIG_LBD is not set 185# CONFIG_LBD is not set
186# CONFIG_BLK_DEV_IO_TRACE is not set
187# CONFIG_LSF is not set
188 188
189# 189#
190# IO Schedulers 190# IO Schedulers
@@ -296,12 +296,6 @@ CONFIG_RAID_ATTRS=y
296# 296#
297 297
298# 298#
299# Network device support
300#
301# CONFIG_NETPOLL is not set
302# CONFIG_NET_POLL_CONTROLLER is not set
303
304#
305# ISDN subsystem 299# ISDN subsystem
306# 300#
307 301
@@ -397,10 +391,6 @@ CONFIG_LEGACY_PTY_COUNT=256
397# 391#
398 392
399# 393#
400# Multimedia Capabilities Port drivers
401#
402
403#
404# Multimedia devices 394# Multimedia devices
405# 395#
406# CONFIG_VIDEO_DEV is not set 396# CONFIG_VIDEO_DEV is not set
@@ -424,6 +414,7 @@ CONFIG_LEGACY_PTY_COUNT=256
424# 414#
425# CONFIG_USB_ARCH_HAS_HCD is not set 415# CONFIG_USB_ARCH_HAS_HCD is not set
426# CONFIG_USB_ARCH_HAS_OHCI is not set 416# CONFIG_USB_ARCH_HAS_OHCI is not set
417# CONFIG_USB_ARCH_HAS_EHCI is not set
427 418
428# 419#
429# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 420# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
@@ -440,12 +431,30 @@ CONFIG_LEGACY_PTY_COUNT=256
440# CONFIG_MMC is not set 431# CONFIG_MMC is not set
441 432
442# 433#
434# LED devices
435#
436# CONFIG_NEW_LEDS is not set
437
438#
439# LED drivers
440#
441
442#
443# LED Triggers
444#
445
446#
443# InfiniBand support 447# InfiniBand support
444# 448#
445 449
446# 450#
447# SN Devices 451# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
452#
453
454#
455# Real Time Clock
448# 456#
457# CONFIG_RTC_CLASS is not set
449 458
450# 459#
451# File systems 460# File systems
@@ -489,7 +498,6 @@ CONFIG_SYSFS=y
489# CONFIG_TMPFS is not set 498# CONFIG_TMPFS is not set
490# CONFIG_HUGETLB_PAGE is not set 499# CONFIG_HUGETLB_PAGE is not set
491CONFIG_RAMFS=y 500CONFIG_RAMFS=y
492CONFIG_RELAYFS_FS=y
493# CONFIG_CONFIGFS_FS is not set 501# CONFIG_CONFIGFS_FS is not set
494 502
495# 503#
@@ -543,6 +551,8 @@ CONFIG_PARTITION_ADVANCED=y
543# CONFIG_MAGIC_SYSRQ is not set 551# CONFIG_MAGIC_SYSRQ is not set
544# CONFIG_DEBUG_KERNEL is not set 552# CONFIG_DEBUG_KERNEL is not set
545CONFIG_LOG_BUF_SHIFT=14 553CONFIG_LOG_BUF_SHIFT=14
554# CONFIG_DEBUG_FS is not set
555# CONFIG_UNWIND_INFO is not set
546CONFIG_CROSSCOMPILE=y 556CONFIG_CROSSCOMPILE=y
547CONFIG_CMDLINE="" 557CONFIG_CMDLINE=""
548 558
diff --git a/arch/mips/configs/tb0226_defconfig b/arch/mips/configs/tb0226_defconfig
index c2dee0d1c72c..dba0bdcdcf29 100644
--- a/arch/mips/configs/tb0226_defconfig
+++ b/arch/mips/configs/tb0226_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.16-rc1 3# Linux kernel version: 2.6.17-rc2
4# Fri Jan 27 15:40:34 2006 4# Tue Apr 25 00:08:41 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -68,12 +68,14 @@ CONFIG_MACH_VR41XX=y
68# CONFIG_NEC_CMBVR4133 is not set 68# CONFIG_NEC_CMBVR4133 is not set
69CONFIG_TANBAC_TB022X=y 69CONFIG_TANBAC_TB022X=y
70CONFIG_TANBAC_TB0226=y 70CONFIG_TANBAC_TB0226=y
71CONFIG_TANBAC_TB0287=y 71# CONFIG_TANBAC_TB0287 is not set
72# CONFIG_VICTOR_MPC30X is not set 72# CONFIG_VICTOR_MPC30X is not set
73# CONFIG_ZAO_CAPCELLA is not set 73# CONFIG_ZAO_CAPCELLA is not set
74CONFIG_PCI_VR41XX=y 74CONFIG_PCI_VR41XX=y
75# CONFIG_VRC4173 is not set 75# CONFIG_VRC4173 is not set
76CONFIG_RWSEM_GENERIC_SPINLOCK=y 76CONFIG_RWSEM_GENERIC_SPINLOCK=y
77CONFIG_GENERIC_FIND_NEXT_BIT=y
78CONFIG_GENERIC_HWEIGHT=y
77CONFIG_GENERIC_CALIBRATE_DELAY=y 79CONFIG_GENERIC_CALIBRATE_DELAY=y
78CONFIG_DMA_NONCOHERENT=y 80CONFIG_DMA_NONCOHERENT=y
79CONFIG_DMA_NEED_PCI_MAP_STATE=y 81CONFIG_DMA_NEED_PCI_MAP_STATE=y
@@ -92,7 +94,7 @@ CONFIG_MIPS_L1_CACHE_SHIFT=5
92# CONFIG_CPU_MIPS64_R2 is not set 94# CONFIG_CPU_MIPS64_R2 is not set
93# CONFIG_CPU_R3000 is not set 95# CONFIG_CPU_R3000 is not set
94# CONFIG_CPU_TX39XX is not set 96# CONFIG_CPU_TX39XX is not set
95# CONFIG_CPU_VR41XX is not set 97CONFIG_CPU_VR41XX=y
96# CONFIG_CPU_R4300 is not set 98# CONFIG_CPU_R4300 is not set
97# CONFIG_CPU_R4X00 is not set 99# CONFIG_CPU_R4X00 is not set
98# CONFIG_CPU_TX49XX is not set 100# CONFIG_CPU_TX49XX is not set
@@ -105,18 +107,21 @@ CONFIG_MIPS_L1_CACHE_SHIFT=5
105# CONFIG_CPU_RM7000 is not set 107# CONFIG_CPU_RM7000 is not set
106# CONFIG_CPU_RM9000 is not set 108# CONFIG_CPU_RM9000 is not set
107# CONFIG_CPU_SB1 is not set 109# CONFIG_CPU_SB1 is not set
110CONFIG_SYS_HAS_CPU_VR41XX=y
111CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y
112CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y
113CONFIG_CPU_SUPPORTS_64BIT_KERNEL=y
108 114
109# 115#
110# Kernel type 116# Kernel type
111# 117#
112# CONFIG_32BIT is not set 118CONFIG_32BIT=y
113# CONFIG_64BIT is not set 119# CONFIG_64BIT is not set
114CONFIG_PAGE_SIZE_4KB=y 120CONFIG_PAGE_SIZE_4KB=y
115# CONFIG_PAGE_SIZE_8KB is not set 121# CONFIG_PAGE_SIZE_8KB is not set
116# CONFIG_PAGE_SIZE_16KB is not set 122# CONFIG_PAGE_SIZE_16KB is not set
117# CONFIG_PAGE_SIZE_64KB is not set 123# CONFIG_PAGE_SIZE_64KB is not set
118# CONFIG_MIPS_MT is not set 124# CONFIG_MIPS_MT is not set
119CONFIG_CPU_HAS_LLSC=y
120CONFIG_CPU_HAS_SYNC=y 125CONFIG_CPU_HAS_SYNC=y
121CONFIG_GENERIC_HARDIRQS=y 126CONFIG_GENERIC_HARDIRQS=y
122CONFIG_GENERIC_IRQ_PROBE=y 127CONFIG_GENERIC_IRQ_PROBE=y
@@ -137,7 +142,6 @@ CONFIG_PREEMPT_NONE=y
137# Code maturity level options 142# Code maturity level options
138# 143#
139CONFIG_EXPERIMENTAL=y 144CONFIG_EXPERIMENTAL=y
140CONFIG_CLEAN_COMPILE=y
141CONFIG_BROKEN_ON_SMP=y 145CONFIG_BROKEN_ON_SMP=y
142CONFIG_INIT_ENV_ARG_LIMIT=32 146CONFIG_INIT_ENV_ARG_LIMIT=32
143 147
@@ -153,6 +157,7 @@ CONFIG_SYSVIPC=y
153CONFIG_SYSCTL=y 157CONFIG_SYSCTL=y
154# CONFIG_AUDIT is not set 158# CONFIG_AUDIT is not set
155# CONFIG_IKCONFIG is not set 159# CONFIG_IKCONFIG is not set
160# CONFIG_RELAY is not set
156CONFIG_INITRAMFS_SOURCE="" 161CONFIG_INITRAMFS_SOURCE=""
157# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 162# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
158CONFIG_EMBEDDED=y 163CONFIG_EMBEDDED=y
@@ -166,10 +171,6 @@ CONFIG_BASE_FULL=y
166CONFIG_FUTEX=y 171CONFIG_FUTEX=y
167CONFIG_EPOLL=y 172CONFIG_EPOLL=y
168CONFIG_SHMEM=y 173CONFIG_SHMEM=y
169CONFIG_CC_ALIGN_FUNCTIONS=0
170CONFIG_CC_ALIGN_LABELS=0
171CONFIG_CC_ALIGN_LOOPS=0
172CONFIG_CC_ALIGN_JUMPS=0
173CONFIG_SLAB=y 174CONFIG_SLAB=y
174# CONFIG_TINY_SHMEM is not set 175# CONFIG_TINY_SHMEM is not set
175CONFIG_BASE_SMALL=0 176CONFIG_BASE_SMALL=0
@@ -181,7 +182,6 @@ CONFIG_BASE_SMALL=0
181CONFIG_MODULES=y 182CONFIG_MODULES=y
182CONFIG_MODULE_UNLOAD=y 183CONFIG_MODULE_UNLOAD=y
183# CONFIG_MODULE_FORCE_UNLOAD is not set 184# CONFIG_MODULE_FORCE_UNLOAD is not set
184CONFIG_OBSOLETE_MODPARM=y
185CONFIG_MODVERSIONS=y 185CONFIG_MODVERSIONS=y
186CONFIG_MODULE_SRCVERSION_ALL=y 186CONFIG_MODULE_SRCVERSION_ALL=y
187CONFIG_KMOD=y 187CONFIG_KMOD=y
@@ -189,6 +189,9 @@ CONFIG_KMOD=y
189# 189#
190# Block layer 190# Block layer
191# 191#
192# CONFIG_LBD is not set
193# CONFIG_BLK_DEV_IO_TRACE is not set
194# CONFIG_LSF is not set
192 195
193# 196#
194# IO Schedulers 197# IO Schedulers
@@ -208,7 +211,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
208# 211#
209CONFIG_HW_HAS_PCI=y 212CONFIG_HW_HAS_PCI=y
210CONFIG_PCI=y 213CONFIG_PCI=y
211# CONFIG_PCI_LEGACY_PROC is not set
212CONFIG_MMU=y 214CONFIG_MMU=y
213 215
214# 216#
@@ -226,6 +228,7 @@ CONFIG_MMU=y
226# 228#
227CONFIG_BINFMT_ELF=y 229CONFIG_BINFMT_ELF=y
228# CONFIG_BINFMT_MISC is not set 230# CONFIG_BINFMT_MISC is not set
231CONFIG_TRAD_SIGNALS=y
229 232
230# 233#
231# Networking 234# Networking
@@ -235,11 +238,10 @@ CONFIG_NET=y
235# 238#
236# Networking options 239# Networking options
237# 240#
241# CONFIG_NETDEBUG is not set
238CONFIG_PACKET=y 242CONFIG_PACKET=y
239# CONFIG_PACKET_MMAP is not set 243# CONFIG_PACKET_MMAP is not set
240CONFIG_UNIX=y 244CONFIG_UNIX=y
241CONFIG_XFRM=y
242CONFIG_XFRM_USER=m
243# CONFIG_NET_KEY is not set 245# CONFIG_NET_KEY is not set
244CONFIG_INET=y 246CONFIG_INET=y
245CONFIG_IP_MULTICAST=y 247CONFIG_IP_MULTICAST=y
@@ -263,12 +265,15 @@ CONFIG_SYN_COOKIES=y
263# CONFIG_INET_AH is not set 265# CONFIG_INET_AH is not set
264# CONFIG_INET_ESP is not set 266# CONFIG_INET_ESP is not set
265# CONFIG_INET_IPCOMP is not set 267# CONFIG_INET_IPCOMP is not set
266CONFIG_INET_TUNNEL=m 268# CONFIG_INET_XFRM_TUNNEL is not set
269# CONFIG_INET_TUNNEL is not set
267CONFIG_INET_DIAG=y 270CONFIG_INET_DIAG=y
268CONFIG_INET_TCP_DIAG=y 271CONFIG_INET_TCP_DIAG=y
269# CONFIG_TCP_CONG_ADVANCED is not set 272# CONFIG_TCP_CONG_ADVANCED is not set
270CONFIG_TCP_CONG_BIC=y 273CONFIG_TCP_CONG_BIC=y
271# CONFIG_IPV6 is not set 274# CONFIG_IPV6 is not set
275# CONFIG_INET6_XFRM_TUNNEL is not set
276# CONFIG_INET6_TUNNEL is not set
272# CONFIG_NETFILTER is not set 277# CONFIG_NETFILTER is not set
273 278
274# 279#
@@ -280,6 +285,11 @@ CONFIG_TCP_CONG_BIC=y
280# SCTP Configuration (EXPERIMENTAL) 285# SCTP Configuration (EXPERIMENTAL)
281# 286#
282# CONFIG_IP_SCTP is not set 287# CONFIG_IP_SCTP is not set
288
289#
290# TIPC Configuration (EXPERIMENTAL)
291#
292# CONFIG_TIPC is not set
283# CONFIG_ATM is not set 293# CONFIG_ATM is not set
284# CONFIG_BRIDGE is not set 294# CONFIG_BRIDGE is not set
285# CONFIG_VLAN_8021Q is not set 295# CONFIG_VLAN_8021Q is not set
@@ -289,11 +299,6 @@ CONFIG_TCP_CONG_BIC=y
289# CONFIG_ATALK is not set 299# CONFIG_ATALK is not set
290# CONFIG_X25 is not set 300# CONFIG_X25 is not set
291# CONFIG_LAPB is not set 301# CONFIG_LAPB is not set
292
293#
294# TIPC Configuration (EXPERIMENTAL)
295#
296# CONFIG_TIPC is not set
297# CONFIG_NET_DIVERT is not set 302# CONFIG_NET_DIVERT is not set
298# CONFIG_ECONET is not set 303# CONFIG_ECONET is not set
299# CONFIG_WAN_ROUTER is not set 304# CONFIG_WAN_ROUTER is not set
@@ -310,10 +315,7 @@ CONFIG_TCP_CONG_BIC=y
310# CONFIG_HAMRADIO is not set 315# CONFIG_HAMRADIO is not set
311# CONFIG_IRDA is not set 316# CONFIG_IRDA is not set
312# CONFIG_BT is not set 317# CONFIG_BT is not set
313CONFIG_IEEE80211=m 318# CONFIG_IEEE80211 is not set
314# CONFIG_IEEE80211_DEBUG is not set
315CONFIG_IEEE80211_CRYPT_WEP=m
316CONFIG_IEEE80211_CRYPT_CCMP=m
317 319
318# 320#
319# Device Drivers 321# Device Drivers
@@ -358,11 +360,12 @@ CONFIG_BLK_DEV_LOOP=m
358CONFIG_BLK_DEV_NBD=m 360CONFIG_BLK_DEV_NBD=m
359# CONFIG_BLK_DEV_SX8 is not set 361# CONFIG_BLK_DEV_SX8 is not set
360# CONFIG_BLK_DEV_UB is not set 362# CONFIG_BLK_DEV_UB is not set
361CONFIG_BLK_DEV_RAM=m 363CONFIG_BLK_DEV_RAM=y
362CONFIG_BLK_DEV_RAM_COUNT=16 364CONFIG_BLK_DEV_RAM_COUNT=16
363CONFIG_BLK_DEV_RAM_SIZE=4096 365CONFIG_BLK_DEV_RAM_SIZE=4096
366# CONFIG_BLK_DEV_INITRD is not set
364# CONFIG_CDROM_PKTCDVD is not set 367# CONFIG_CDROM_PKTCDVD is not set
365CONFIG_ATA_OVER_ETH=m 368# CONFIG_ATA_OVER_ETH is not set
366 369
367# 370#
368# ATA/ATAPI/MFM/RLL support 371# ATA/ATAPI/MFM/RLL support
@@ -397,14 +400,14 @@ CONFIG_SCSI_MULTI_LUN=y
397# SCSI Transport Attributes 400# SCSI Transport Attributes
398# 401#
399# CONFIG_SCSI_SPI_ATTRS is not set 402# CONFIG_SCSI_SPI_ATTRS is not set
400CONFIG_SCSI_FC_ATTRS=y 403# CONFIG_SCSI_FC_ATTRS is not set
401CONFIG_SCSI_ISCSI_ATTRS=m 404# CONFIG_SCSI_ISCSI_ATTRS is not set
402# CONFIG_SCSI_SAS_ATTRS is not set 405# CONFIG_SCSI_SAS_ATTRS is not set
403 406
404# 407#
405# SCSI low-level drivers 408# SCSI low-level drivers
406# 409#
407CONFIG_ISCSI_TCP=m 410# CONFIG_ISCSI_TCP is not set
408# CONFIG_BLK_DEV_3W_XXXX_RAID is not set 411# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
409# CONFIG_SCSI_3W_9XXX is not set 412# CONFIG_SCSI_3W_9XXX is not set
410# CONFIG_SCSI_ACARD is not set 413# CONFIG_SCSI_ACARD is not set
@@ -424,7 +427,6 @@ CONFIG_ISCSI_TCP=m
424# CONFIG_SCSI_INIA100 is not set 427# CONFIG_SCSI_INIA100 is not set
425# CONFIG_SCSI_SYM53C8XX_2 is not set 428# CONFIG_SCSI_SYM53C8XX_2 is not set
426# CONFIG_SCSI_IPR is not set 429# CONFIG_SCSI_IPR is not set
427# CONFIG_SCSI_QLOGIC_FC is not set
428# CONFIG_SCSI_QLOGIC_1280 is not set 430# CONFIG_SCSI_QLOGIC_1280 is not set
429# CONFIG_SCSI_QLA_FC is not set 431# CONFIG_SCSI_QLA_FC is not set
430# CONFIG_SCSI_LPFC is not set 432# CONFIG_SCSI_LPFC is not set
@@ -507,8 +509,8 @@ CONFIG_NET_PCI=y
507# CONFIG_B44 is not set 509# CONFIG_B44 is not set
508# CONFIG_FORCEDETH is not set 510# CONFIG_FORCEDETH is not set
509# CONFIG_DGRS is not set 511# CONFIG_DGRS is not set
510CONFIG_EEPRO100=y 512# CONFIG_EEPRO100 is not set
511# CONFIG_E100 is not set 513CONFIG_E100=y
512# CONFIG_FEALNX is not set 514# CONFIG_FEALNX is not set
513# CONFIG_NATSEMI is not set 515# CONFIG_NATSEMI is not set
514# CONFIG_NE2K_PCI is not set 516# CONFIG_NE2K_PCI is not set
@@ -625,6 +627,11 @@ CONFIG_HW_CONSOLE=y
625# 627#
626# Non-8250 serial port support 628# Non-8250 serial port support
627# 629#
630CONFIG_SERIAL_CORE=y
631CONFIG_SERIAL_CORE_CONSOLE=y
632CONFIG_SERIAL_VR41XX=y
633CONFIG_SERIAL_VR41XX_CONSOLE=y
634# CONFIG_SERIAL_JSM is not set
628CONFIG_UNIX98_PTYS=y 635CONFIG_UNIX98_PTYS=y
629CONFIG_LEGACY_PTYS=y 636CONFIG_LEGACY_PTYS=y
630CONFIG_LEGACY_PTY_COUNT=256 637CONFIG_LEGACY_PTY_COUNT=256
@@ -685,10 +692,6 @@ CONFIG_GPIO_VR41XX=y
685# 692#
686 693
687# 694#
688# Multimedia Capabilities Port drivers
689#
690
691#
692# Multimedia devices 695# Multimedia devices
693# 696#
694# CONFIG_VIDEO_DEV is not set 697# CONFIG_VIDEO_DEV is not set
@@ -697,6 +700,7 @@ CONFIG_GPIO_VR41XX=y
697# Digital Video Broadcasting Devices 700# Digital Video Broadcasting Devices
698# 701#
699# CONFIG_DVB is not set 702# CONFIG_DVB is not set
703# CONFIG_USB_DABUSB is not set
700 704
701# 705#
702# Graphics support 706# Graphics support
@@ -719,6 +723,7 @@ CONFIG_DUMMY_CONSOLE=y
719# 723#
720CONFIG_USB_ARCH_HAS_HCD=y 724CONFIG_USB_ARCH_HAS_HCD=y
721CONFIG_USB_ARCH_HAS_OHCI=y 725CONFIG_USB_ARCH_HAS_OHCI=y
726CONFIG_USB_ARCH_HAS_EHCI=y
722CONFIG_USB=y 727CONFIG_USB=y
723# CONFIG_USB_DEBUG is not set 728# CONFIG_USB_DEBUG is not set
724 729
@@ -756,7 +761,7 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
756# 761#
757# may also be needed; see USB_STORAGE Help for more information 762# may also be needed; see USB_STORAGE Help for more information
758# 763#
759CONFIG_USB_STORAGE=m 764CONFIG_USB_STORAGE=y
760# CONFIG_USB_STORAGE_DEBUG is not set 765# CONFIG_USB_STORAGE_DEBUG is not set
761# CONFIG_USB_STORAGE_DATAFAB is not set 766# CONFIG_USB_STORAGE_DATAFAB is not set
762# CONFIG_USB_STORAGE_FREECOM is not set 767# CONFIG_USB_STORAGE_FREECOM is not set
@@ -783,9 +788,7 @@ CONFIG_USB_STORAGE=m
783# CONFIG_USB_ACECAD is not set 788# CONFIG_USB_ACECAD is not set
784# CONFIG_USB_KBTAB is not set 789# CONFIG_USB_KBTAB is not set
785# CONFIG_USB_POWERMATE is not set 790# CONFIG_USB_POWERMATE is not set
786# CONFIG_USB_MTOUCH is not set 791# CONFIG_USB_TOUCHSCREEN is not set
787# CONFIG_USB_ITMTOUCH is not set
788# CONFIG_USB_EGALAX is not set
789# CONFIG_USB_YEALINK is not set 792# CONFIG_USB_YEALINK is not set
790# CONFIG_USB_XPAD is not set 793# CONFIG_USB_XPAD is not set
791# CONFIG_USB_ATI_REMOTE is not set 794# CONFIG_USB_ATI_REMOTE is not set
@@ -800,15 +803,6 @@ CONFIG_USB_STORAGE=m
800# CONFIG_USB_MICROTEK is not set 803# CONFIG_USB_MICROTEK is not set
801 804
802# 805#
803# USB Multimedia devices
804#
805# CONFIG_USB_DABUSB is not set
806
807#
808# Video4Linux support is needed for USB Multimedia device support
809#
810
811#
812# USB Network Adapters 806# USB Network Adapters
813# 807#
814# CONFIG_USB_CATC is not set 808# CONFIG_USB_CATC is not set
@@ -816,7 +810,7 @@ CONFIG_USB_STORAGE=m
816# CONFIG_USB_PEGASUS is not set 810# CONFIG_USB_PEGASUS is not set
817# CONFIG_USB_RTL8150 is not set 811# CONFIG_USB_RTL8150 is not set
818# CONFIG_USB_USBNET is not set 812# CONFIG_USB_USBNET is not set
819CONFIG_USB_MON=y 813# CONFIG_USB_MON is not set
820 814
821# 815#
822# USB port drivers 816# USB port drivers
@@ -860,13 +854,48 @@ CONFIG_USB_MON=y
860# CONFIG_MMC is not set 854# CONFIG_MMC is not set
861 855
862# 856#
857# LED devices
858#
859# CONFIG_NEW_LEDS is not set
860
861#
862# LED drivers
863#
864
865#
866# LED Triggers
867#
868
869#
863# InfiniBand support 870# InfiniBand support
864# 871#
865# CONFIG_INFINIBAND is not set 872# CONFIG_INFINIBAND is not set
866 873
867# 874#
868# SN Devices 875# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
876#
877
878#
879# Real Time Clock
880#
881CONFIG_RTC_LIB=y
882CONFIG_RTC_CLASS=y
883CONFIG_RTC_HCTOSYS=y
884CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
885
886#
887# RTC interfaces
888#
889CONFIG_RTC_INTF_SYSFS=y
890CONFIG_RTC_INTF_PROC=y
891CONFIG_RTC_INTF_DEV=y
892
893#
894# RTC drivers
869# 895#
896# CONFIG_RTC_DRV_M48T86 is not set
897CONFIG_RTC_DRV_VR41XX=y
898# CONFIG_RTC_DRV_TEST is not set
870 899
871# 900#
872# File systems 901# File systems
@@ -911,7 +940,6 @@ CONFIG_SYSFS=y
911CONFIG_TMPFS=y 940CONFIG_TMPFS=y
912# CONFIG_HUGETLB_PAGE is not set 941# CONFIG_HUGETLB_PAGE is not set
913CONFIG_RAMFS=y 942CONFIG_RAMFS=y
914CONFIG_RELAYFS_FS=m
915# CONFIG_CONFIGFS_FS is not set 943# CONFIG_CONFIGFS_FS is not set
916 944
917# 945#
@@ -952,9 +980,7 @@ CONFIG_NFS_COMMON=y
952CONFIG_SUNRPC=y 980CONFIG_SUNRPC=y
953# CONFIG_RPCSEC_GSS_KRB5 is not set 981# CONFIG_RPCSEC_GSS_KRB5 is not set
954# CONFIG_RPCSEC_GSS_SPKM3 is not set 982# CONFIG_RPCSEC_GSS_SPKM3 is not set
955CONFIG_SMB_FS=m 983# CONFIG_SMB_FS is not set
956CONFIG_SMB_NLS_DEFAULT=y
957CONFIG_SMB_NLS_REMOTE="cp932"
958# CONFIG_CIFS is not set 984# CONFIG_CIFS is not set
959# CONFIG_NCP_FS is not set 985# CONFIG_NCP_FS is not set
960# CONFIG_CODA_FS is not set 986# CONFIG_CODA_FS is not set
@@ -970,46 +996,7 @@ CONFIG_MSDOS_PARTITION=y
970# 996#
971# Native Language Support 997# Native Language Support
972# 998#
973CONFIG_NLS=y 999# CONFIG_NLS is not set
974CONFIG_NLS_DEFAULT="iso8859-1"
975CONFIG_NLS_CODEPAGE_437=m
976# CONFIG_NLS_CODEPAGE_737 is not set
977# CONFIG_NLS_CODEPAGE_775 is not set
978# CONFIG_NLS_CODEPAGE_850 is not set
979# CONFIG_NLS_CODEPAGE_852 is not set
980# CONFIG_NLS_CODEPAGE_855 is not set
981# CONFIG_NLS_CODEPAGE_857 is not set
982# CONFIG_NLS_CODEPAGE_860 is not set
983# CONFIG_NLS_CODEPAGE_861 is not set
984# CONFIG_NLS_CODEPAGE_862 is not set
985# CONFIG_NLS_CODEPAGE_863 is not set
986# CONFIG_NLS_CODEPAGE_864 is not set
987# CONFIG_NLS_CODEPAGE_865 is not set
988# CONFIG_NLS_CODEPAGE_866 is not set
989# CONFIG_NLS_CODEPAGE_869 is not set
990# CONFIG_NLS_CODEPAGE_936 is not set
991# CONFIG_NLS_CODEPAGE_950 is not set
992CONFIG_NLS_CODEPAGE_932=m
993# CONFIG_NLS_CODEPAGE_949 is not set
994# CONFIG_NLS_CODEPAGE_874 is not set
995# CONFIG_NLS_ISO8859_8 is not set
996# CONFIG_NLS_CODEPAGE_1250 is not set
997# CONFIG_NLS_CODEPAGE_1251 is not set
998# CONFIG_NLS_ASCII is not set
999CONFIG_NLS_ISO8859_1=m
1000# CONFIG_NLS_ISO8859_2 is not set
1001# CONFIG_NLS_ISO8859_3 is not set
1002# CONFIG_NLS_ISO8859_4 is not set
1003# CONFIG_NLS_ISO8859_5 is not set
1004# CONFIG_NLS_ISO8859_6 is not set
1005# CONFIG_NLS_ISO8859_7 is not set
1006# CONFIG_NLS_ISO8859_9 is not set
1007# CONFIG_NLS_ISO8859_13 is not set
1008# CONFIG_NLS_ISO8859_14 is not set
1009# CONFIG_NLS_ISO8859_15 is not set
1010# CONFIG_NLS_KOI8_R is not set
1011# CONFIG_NLS_KOI8_U is not set
1012# CONFIG_NLS_UTF8 is not set
1013 1000
1014# 1001#
1015# Profiling support 1002# Profiling support
@@ -1023,44 +1010,20 @@ CONFIG_NLS_ISO8859_1=m
1023# CONFIG_MAGIC_SYSRQ is not set 1010# CONFIG_MAGIC_SYSRQ is not set
1024# CONFIG_DEBUG_KERNEL is not set 1011# CONFIG_DEBUG_KERNEL is not set
1025CONFIG_LOG_BUF_SHIFT=14 1012CONFIG_LOG_BUF_SHIFT=14
1013# CONFIG_DEBUG_FS is not set
1026CONFIG_CROSSCOMPILE=y 1014CONFIG_CROSSCOMPILE=y
1027CONFIG_CMDLINE="mem=32M console=ttyVR0,115200" 1015CONFIG_CMDLINE="mem=32M console=ttyVR0,115200"
1028 1016
1029# 1017#
1030# Security options 1018# Security options
1031# 1019#
1032CONFIG_KEYS=y 1020# CONFIG_KEYS is not set
1033CONFIG_KEYS_DEBUG_PROC_KEYS=y
1034# CONFIG_SECURITY is not set 1021# CONFIG_SECURITY is not set
1035 1022
1036# 1023#
1037# Cryptographic options 1024# Cryptographic options
1038# 1025#
1039CONFIG_CRYPTO=y 1026# CONFIG_CRYPTO is not set
1040CONFIG_CRYPTO_HMAC=y
1041CONFIG_CRYPTO_NULL=m
1042CONFIG_CRYPTO_MD4=m
1043CONFIG_CRYPTO_MD5=m
1044CONFIG_CRYPTO_SHA1=m
1045CONFIG_CRYPTO_SHA256=m
1046CONFIG_CRYPTO_SHA512=m
1047CONFIG_CRYPTO_WP512=m
1048CONFIG_CRYPTO_TGR192=m
1049CONFIG_CRYPTO_DES=m
1050CONFIG_CRYPTO_BLOWFISH=m
1051CONFIG_CRYPTO_TWOFISH=m
1052CONFIG_CRYPTO_SERPENT=m
1053CONFIG_CRYPTO_AES=m
1054CONFIG_CRYPTO_CAST5=m
1055CONFIG_CRYPTO_CAST6=m
1056CONFIG_CRYPTO_TEA=m
1057CONFIG_CRYPTO_ARC4=m
1058CONFIG_CRYPTO_KHAZAD=m
1059CONFIG_CRYPTO_ANUBIS=m
1060CONFIG_CRYPTO_DEFLATE=m
1061CONFIG_CRYPTO_MICHAEL_MIC=m
1062CONFIG_CRYPTO_CRC32C=m
1063# CONFIG_CRYPTO_TEST is not set
1064 1027
1065# 1028#
1066# Hardware crypto devices 1029# Hardware crypto devices
@@ -1069,9 +1032,8 @@ CONFIG_CRYPTO_CRC32C=m
1069# 1032#
1070# Library routines 1033# Library routines
1071# 1034#
1072CONFIG_CRC_CCITT=m 1035# CONFIG_CRC_CCITT is not set
1073CONFIG_CRC16=m 1036# CONFIG_CRC16 is not set
1074CONFIG_CRC32=m 1037# CONFIG_CRC32 is not set
1075CONFIG_LIBCRC32C=m 1038# CONFIG_LIBCRC32C is not set
1076CONFIG_ZLIB_INFLATE=m 1039CONFIG_ZLIB_INFLATE=m
1077CONFIG_ZLIB_DEFLATE=m
diff --git a/arch/mips/configs/tb0229_defconfig b/arch/mips/configs/tb0229_defconfig
index be99261d7997..5a924c1a5803 100644
--- a/arch/mips/configs/tb0229_defconfig
+++ b/arch/mips/configs/tb0229_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.16-rc1 3# Linux kernel version: 2.6.17-rc2
4# Fri Jan 27 15:40:35 2006 4# Tue Apr 25 00:08:59 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -68,12 +68,14 @@ CONFIG_MACH_VR41XX=y
68# CONFIG_NEC_CMBVR4133 is not set 68# CONFIG_NEC_CMBVR4133 is not set
69CONFIG_TANBAC_TB022X=y 69CONFIG_TANBAC_TB022X=y
70# CONFIG_TANBAC_TB0226 is not set 70# CONFIG_TANBAC_TB0226 is not set
71CONFIG_TANBAC_TB0287=y 71# CONFIG_TANBAC_TB0287 is not set
72# CONFIG_VICTOR_MPC30X is not set 72# CONFIG_VICTOR_MPC30X is not set
73# CONFIG_ZAO_CAPCELLA is not set 73# CONFIG_ZAO_CAPCELLA is not set
74CONFIG_PCI_VR41XX=y 74CONFIG_PCI_VR41XX=y
75# CONFIG_VRC4173 is not set 75# CONFIG_VRC4173 is not set
76CONFIG_RWSEM_GENERIC_SPINLOCK=y 76CONFIG_RWSEM_GENERIC_SPINLOCK=y
77CONFIG_GENERIC_FIND_NEXT_BIT=y
78CONFIG_GENERIC_HWEIGHT=y
77CONFIG_GENERIC_CALIBRATE_DELAY=y 79CONFIG_GENERIC_CALIBRATE_DELAY=y
78CONFIG_DMA_NONCOHERENT=y 80CONFIG_DMA_NONCOHERENT=y
79CONFIG_DMA_NEED_PCI_MAP_STATE=y 81CONFIG_DMA_NEED_PCI_MAP_STATE=y
@@ -92,7 +94,7 @@ CONFIG_MIPS_L1_CACHE_SHIFT=5
92# CONFIG_CPU_MIPS64_R2 is not set 94# CONFIG_CPU_MIPS64_R2 is not set
93# CONFIG_CPU_R3000 is not set 95# CONFIG_CPU_R3000 is not set
94# CONFIG_CPU_TX39XX is not set 96# CONFIG_CPU_TX39XX is not set
95# CONFIG_CPU_VR41XX is not set 97CONFIG_CPU_VR41XX=y
96# CONFIG_CPU_R4300 is not set 98# CONFIG_CPU_R4300 is not set
97# CONFIG_CPU_R4X00 is not set 99# CONFIG_CPU_R4X00 is not set
98# CONFIG_CPU_TX49XX is not set 100# CONFIG_CPU_TX49XX is not set
@@ -105,18 +107,21 @@ CONFIG_MIPS_L1_CACHE_SHIFT=5
105# CONFIG_CPU_RM7000 is not set 107# CONFIG_CPU_RM7000 is not set
106# CONFIG_CPU_RM9000 is not set 108# CONFIG_CPU_RM9000 is not set
107# CONFIG_CPU_SB1 is not set 109# CONFIG_CPU_SB1 is not set
110CONFIG_SYS_HAS_CPU_VR41XX=y
111CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y
112CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y
113CONFIG_CPU_SUPPORTS_64BIT_KERNEL=y
108 114
109# 115#
110# Kernel type 116# Kernel type
111# 117#
112# CONFIG_32BIT is not set 118CONFIG_32BIT=y
113# CONFIG_64BIT is not set 119# CONFIG_64BIT is not set
114CONFIG_PAGE_SIZE_4KB=y 120CONFIG_PAGE_SIZE_4KB=y
115# CONFIG_PAGE_SIZE_8KB is not set 121# CONFIG_PAGE_SIZE_8KB is not set
116# CONFIG_PAGE_SIZE_16KB is not set 122# CONFIG_PAGE_SIZE_16KB is not set
117# CONFIG_PAGE_SIZE_64KB is not set 123# CONFIG_PAGE_SIZE_64KB is not set
118# CONFIG_MIPS_MT is not set 124# CONFIG_MIPS_MT is not set
119CONFIG_CPU_HAS_LLSC=y
120CONFIG_CPU_HAS_SYNC=y 125CONFIG_CPU_HAS_SYNC=y
121CONFIG_GENERIC_HARDIRQS=y 126CONFIG_GENERIC_HARDIRQS=y
122CONFIG_GENERIC_IRQ_PROBE=y 127CONFIG_GENERIC_IRQ_PROBE=y
@@ -137,7 +142,6 @@ CONFIG_PREEMPT_NONE=y
137# Code maturity level options 142# Code maturity level options
138# 143#
139CONFIG_EXPERIMENTAL=y 144CONFIG_EXPERIMENTAL=y
140CONFIG_CLEAN_COMPILE=y
141CONFIG_BROKEN_ON_SMP=y 145CONFIG_BROKEN_ON_SMP=y
142CONFIG_INIT_ENV_ARG_LIMIT=32 146CONFIG_INIT_ENV_ARG_LIMIT=32
143 147
@@ -153,6 +157,7 @@ CONFIG_SYSVIPC=y
153CONFIG_SYSCTL=y 157CONFIG_SYSCTL=y
154# CONFIG_AUDIT is not set 158# CONFIG_AUDIT is not set
155# CONFIG_IKCONFIG is not set 159# CONFIG_IKCONFIG is not set
160# CONFIG_RELAY is not set
156CONFIG_INITRAMFS_SOURCE="" 161CONFIG_INITRAMFS_SOURCE=""
157# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 162# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
158CONFIG_EMBEDDED=y 163CONFIG_EMBEDDED=y
@@ -166,10 +171,6 @@ CONFIG_BASE_FULL=y
166CONFIG_FUTEX=y 171CONFIG_FUTEX=y
167CONFIG_EPOLL=y 172CONFIG_EPOLL=y
168CONFIG_SHMEM=y 173CONFIG_SHMEM=y
169CONFIG_CC_ALIGN_FUNCTIONS=0
170CONFIG_CC_ALIGN_LABELS=0
171CONFIG_CC_ALIGN_LOOPS=0
172CONFIG_CC_ALIGN_JUMPS=0
173CONFIG_SLAB=y 174CONFIG_SLAB=y
174# CONFIG_TINY_SHMEM is not set 175# CONFIG_TINY_SHMEM is not set
175CONFIG_BASE_SMALL=0 176CONFIG_BASE_SMALL=0
@@ -181,7 +182,6 @@ CONFIG_BASE_SMALL=0
181CONFIG_MODULES=y 182CONFIG_MODULES=y
182CONFIG_MODULE_UNLOAD=y 183CONFIG_MODULE_UNLOAD=y
183# CONFIG_MODULE_FORCE_UNLOAD is not set 184# CONFIG_MODULE_FORCE_UNLOAD is not set
184CONFIG_OBSOLETE_MODPARM=y
185CONFIG_MODVERSIONS=y 185CONFIG_MODVERSIONS=y
186CONFIG_MODULE_SRCVERSION_ALL=y 186CONFIG_MODULE_SRCVERSION_ALL=y
187CONFIG_KMOD=y 187CONFIG_KMOD=y
@@ -189,6 +189,9 @@ CONFIG_KMOD=y
189# 189#
190# Block layer 190# Block layer
191# 191#
192# CONFIG_LBD is not set
193# CONFIG_BLK_DEV_IO_TRACE is not set
194# CONFIG_LSF is not set
192 195
193# 196#
194# IO Schedulers 197# IO Schedulers
@@ -208,7 +211,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
208# 211#
209CONFIG_HW_HAS_PCI=y 212CONFIG_HW_HAS_PCI=y
210CONFIG_PCI=y 213CONFIG_PCI=y
211# CONFIG_PCI_LEGACY_PROC is not set
212CONFIG_MMU=y 214CONFIG_MMU=y
213 215
214# 216#
@@ -226,6 +228,7 @@ CONFIG_MMU=y
226# 228#
227CONFIG_BINFMT_ELF=y 229CONFIG_BINFMT_ELF=y
228# CONFIG_BINFMT_MISC is not set 230# CONFIG_BINFMT_MISC is not set
231CONFIG_TRAD_SIGNALS=y
229 232
230# 233#
231# Networking 234# Networking
@@ -235,11 +238,10 @@ CONFIG_NET=y
235# 238#
236# Networking options 239# Networking options
237# 240#
241# CONFIG_NETDEBUG is not set
238CONFIG_PACKET=y 242CONFIG_PACKET=y
239# CONFIG_PACKET_MMAP is not set 243# CONFIG_PACKET_MMAP is not set
240CONFIG_UNIX=y 244CONFIG_UNIX=y
241CONFIG_XFRM=y
242CONFIG_XFRM_USER=m
243# CONFIG_NET_KEY is not set 245# CONFIG_NET_KEY is not set
244CONFIG_INET=y 246CONFIG_INET=y
245CONFIG_IP_MULTICAST=y 247CONFIG_IP_MULTICAST=y
@@ -264,12 +266,15 @@ CONFIG_SYN_COOKIES=y
264# CONFIG_INET_AH is not set 266# CONFIG_INET_AH is not set
265# CONFIG_INET_ESP is not set 267# CONFIG_INET_ESP is not set
266# CONFIG_INET_IPCOMP is not set 268# CONFIG_INET_IPCOMP is not set
269# CONFIG_INET_XFRM_TUNNEL is not set
267CONFIG_INET_TUNNEL=m 270CONFIG_INET_TUNNEL=m
268CONFIG_INET_DIAG=y 271CONFIG_INET_DIAG=y
269CONFIG_INET_TCP_DIAG=y 272CONFIG_INET_TCP_DIAG=y
270# CONFIG_TCP_CONG_ADVANCED is not set 273# CONFIG_TCP_CONG_ADVANCED is not set
271CONFIG_TCP_CONG_BIC=y 274CONFIG_TCP_CONG_BIC=y
272# CONFIG_IPV6 is not set 275# CONFIG_IPV6 is not set
276# CONFIG_INET6_XFRM_TUNNEL is not set
277# CONFIG_INET6_TUNNEL is not set
273# CONFIG_NETFILTER is not set 278# CONFIG_NETFILTER is not set
274 279
275# 280#
@@ -281,6 +286,11 @@ CONFIG_TCP_CONG_BIC=y
281# SCTP Configuration (EXPERIMENTAL) 286# SCTP Configuration (EXPERIMENTAL)
282# 287#
283# CONFIG_IP_SCTP is not set 288# CONFIG_IP_SCTP is not set
289
290#
291# TIPC Configuration (EXPERIMENTAL)
292#
293# CONFIG_TIPC is not set
284# CONFIG_ATM is not set 294# CONFIG_ATM is not set
285# CONFIG_BRIDGE is not set 295# CONFIG_BRIDGE is not set
286# CONFIG_VLAN_8021Q is not set 296# CONFIG_VLAN_8021Q is not set
@@ -290,11 +300,6 @@ CONFIG_TCP_CONG_BIC=y
290# CONFIG_ATALK is not set 300# CONFIG_ATALK is not set
291# CONFIG_X25 is not set 301# CONFIG_X25 is not set
292# CONFIG_LAPB is not set 302# CONFIG_LAPB is not set
293
294#
295# TIPC Configuration (EXPERIMENTAL)
296#
297# CONFIG_TIPC is not set
298# CONFIG_NET_DIVERT is not set 303# CONFIG_NET_DIVERT is not set
299# CONFIG_ECONET is not set 304# CONFIG_ECONET is not set
300# CONFIG_WAN_ROUTER is not set 305# CONFIG_WAN_ROUTER is not set
@@ -311,10 +316,7 @@ CONFIG_TCP_CONG_BIC=y
311# CONFIG_HAMRADIO is not set 316# CONFIG_HAMRADIO is not set
312# CONFIG_IRDA is not set 317# CONFIG_IRDA is not set
313# CONFIG_BT is not set 318# CONFIG_BT is not set
314CONFIG_IEEE80211=m 319# CONFIG_IEEE80211 is not set
315# CONFIG_IEEE80211_DEBUG is not set
316CONFIG_IEEE80211_CRYPT_WEP=m
317CONFIG_IEEE80211_CRYPT_CCMP=m
318 320
319# 321#
320# Device Drivers 322# Device Drivers
@@ -325,12 +327,12 @@ CONFIG_IEEE80211_CRYPT_CCMP=m
325# 327#
326CONFIG_STANDALONE=y 328CONFIG_STANDALONE=y
327CONFIG_PREVENT_FIRMWARE_BUILD=y 329CONFIG_PREVENT_FIRMWARE_BUILD=y
328CONFIG_FW_LOADER=m 330# CONFIG_FW_LOADER is not set
329 331
330# 332#
331# Connector - unified userspace <-> kernelspace linker 333# Connector - unified userspace <-> kernelspace linker
332# 334#
333CONFIG_CONNECTOR=m 335# CONFIG_CONNECTOR is not set
334 336
335# 337#
336# Memory Technology Devices (MTD) 338# Memory Technology Devices (MTD)
@@ -363,10 +365,8 @@ CONFIG_BLK_DEV_RAM=y
363CONFIG_BLK_DEV_RAM_COUNT=16 365CONFIG_BLK_DEV_RAM_COUNT=16
364CONFIG_BLK_DEV_RAM_SIZE=4096 366CONFIG_BLK_DEV_RAM_SIZE=4096
365# CONFIG_BLK_DEV_INITRD is not set 367# CONFIG_BLK_DEV_INITRD is not set
366CONFIG_CDROM_PKTCDVD=m 368# CONFIG_CDROM_PKTCDVD is not set
367CONFIG_CDROM_PKTCDVD_BUFFERS=8 369# CONFIG_ATA_OVER_ETH is not set
368# CONFIG_CDROM_PKTCDVD_WCACHE is not set
369CONFIG_ATA_OVER_ETH=m
370 370
371# 371#
372# ATA/ATAPI/MFM/RLL support 372# ATA/ATAPI/MFM/RLL support
@@ -443,30 +443,7 @@ CONFIG_MII=y
443# 443#
444# CONFIG_NET_TULIP is not set 444# CONFIG_NET_TULIP is not set
445# CONFIG_HP100 is not set 445# CONFIG_HP100 is not set
446CONFIG_NET_PCI=y 446# CONFIG_NET_PCI is not set
447# CONFIG_PCNET32 is not set
448# CONFIG_AMD8111_ETH is not set
449# CONFIG_ADAPTEC_STARFIRE is not set
450# CONFIG_B44 is not set
451# CONFIG_FORCEDETH is not set
452# CONFIG_DGRS is not set
453CONFIG_EEPRO100=y
454# CONFIG_E100 is not set
455# CONFIG_FEALNX is not set
456# CONFIG_NATSEMI is not set
457# CONFIG_NE2K_PCI is not set
458# CONFIG_8139CP is not set
459CONFIG_8139TOO=y
460CONFIG_8139TOO_PIO=y
461# CONFIG_8139TOO_TUNE_TWISTER is not set
462# CONFIG_8139TOO_8129 is not set
463# CONFIG_8139_OLD_RX_RESET is not set
464# CONFIG_SIS900 is not set
465# CONFIG_EPIC100 is not set
466# CONFIG_SUNDANCE is not set
467# CONFIG_TLAN is not set
468# CONFIG_VIA_RHINE is not set
469# CONFIG_LAN_SAA9730 is not set
470 447
471# 448#
472# Ethernet (1000 Mbit) 449# Ethernet (1000 Mbit)
@@ -483,7 +460,6 @@ CONFIG_R8169=y
483# CONFIG_SKGE is not set 460# CONFIG_SKGE is not set
484# CONFIG_SKY2 is not set 461# CONFIG_SKY2 is not set
485# CONFIG_SK98LIN is not set 462# CONFIG_SK98LIN is not set
486# CONFIG_VIA_VELOCITY is not set
487# CONFIG_TIGON3 is not set 463# CONFIG_TIGON3 is not set
488# CONFIG_BNX2 is not set 464# CONFIG_BNX2 is not set
489 465
@@ -510,19 +486,8 @@ CONFIG_R8169=y
510# CONFIG_WAN is not set 486# CONFIG_WAN is not set
511# CONFIG_FDDI is not set 487# CONFIG_FDDI is not set
512# CONFIG_HIPPI is not set 488# CONFIG_HIPPI is not set
513CONFIG_PPP=m 489# CONFIG_PPP is not set
514CONFIG_PPP_MULTILINK=y 490# CONFIG_SLIP is not set
515CONFIG_PPP_FILTER=y
516CONFIG_PPP_ASYNC=m
517CONFIG_PPP_SYNC_TTY=m
518CONFIG_PPP_DEFLATE=m
519CONFIG_PPP_BSDCOMP=m
520CONFIG_PPP_MPPE=m
521CONFIG_PPPOE=m
522CONFIG_SLIP=m
523CONFIG_SLIP_COMPRESSED=y
524CONFIG_SLIP_SMART=y
525CONFIG_SLIP_MODE_SLIP6=y
526# CONFIG_SHAPER is not set 491# CONFIG_SHAPER is not set
527# CONFIG_NETCONSOLE is not set 492# CONFIG_NETCONSOLE is not set
528# CONFIG_NETPOLL is not set 493# CONFIG_NETPOLL is not set
@@ -583,6 +548,11 @@ CONFIG_HW_CONSOLE=y
583# 548#
584# Non-8250 serial port support 549# Non-8250 serial port support
585# 550#
551CONFIG_SERIAL_CORE=y
552CONFIG_SERIAL_CORE_CONSOLE=y
553CONFIG_SERIAL_VR41XX=y
554CONFIG_SERIAL_VR41XX_CONSOLE=y
555# CONFIG_SERIAL_JSM is not set
586CONFIG_UNIX98_PTYS=y 556CONFIG_UNIX98_PTYS=y
587CONFIG_LEGACY_PTYS=y 557CONFIG_LEGACY_PTYS=y
588CONFIG_LEGACY_PTY_COUNT=256 558CONFIG_LEGACY_PTY_COUNT=256
@@ -607,6 +577,7 @@ CONFIG_TANBAC_TB0219=y
607# Ftape, the floppy tape device driver 577# Ftape, the floppy tape device driver
608# 578#
609# CONFIG_DRM is not set 579# CONFIG_DRM is not set
580CONFIG_GPIO_VR41XX=y
610# CONFIG_RAW_DRIVER is not set 581# CONFIG_RAW_DRIVER is not set
611 582
612# 583#
@@ -642,10 +613,6 @@ CONFIG_TANBAC_TB0219=y
642# 613#
643 614
644# 615#
645# Multimedia Capabilities Port drivers
646#
647
648#
649# Multimedia devices 616# Multimedia devices
650# 617#
651# CONFIG_VIDEO_DEV is not set 618# CONFIG_VIDEO_DEV is not set
@@ -654,6 +621,7 @@ CONFIG_TANBAC_TB0219=y
654# Digital Video Broadcasting Devices 621# Digital Video Broadcasting Devices
655# 622#
656# CONFIG_DVB is not set 623# CONFIG_DVB is not set
624# CONFIG_USB_DABUSB is not set
657 625
658# 626#
659# Graphics support 627# Graphics support
@@ -676,6 +644,7 @@ CONFIG_DUMMY_CONSOLE=y
676# 644#
677CONFIG_USB_ARCH_HAS_HCD=y 645CONFIG_USB_ARCH_HAS_HCD=y
678CONFIG_USB_ARCH_HAS_OHCI=y 646CONFIG_USB_ARCH_HAS_OHCI=y
647CONFIG_USB_ARCH_HAS_EHCI=y
679CONFIG_USB=m 648CONFIG_USB=m
680# CONFIG_USB_DEBUG is not set 649# CONFIG_USB_DEBUG is not set
681 650
@@ -731,9 +700,7 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
731# CONFIG_USB_ACECAD is not set 700# CONFIG_USB_ACECAD is not set
732# CONFIG_USB_KBTAB is not set 701# CONFIG_USB_KBTAB is not set
733# CONFIG_USB_POWERMATE is not set 702# CONFIG_USB_POWERMATE is not set
734# CONFIG_USB_MTOUCH is not set 703# CONFIG_USB_TOUCHSCREEN is not set
735# CONFIG_USB_ITMTOUCH is not set
736# CONFIG_USB_EGALAX is not set
737# CONFIG_USB_YEALINK is not set 704# CONFIG_USB_YEALINK is not set
738# CONFIG_USB_XPAD is not set 705# CONFIG_USB_XPAD is not set
739# CONFIG_USB_ATI_REMOTE is not set 706# CONFIG_USB_ATI_REMOTE is not set
@@ -747,15 +714,6 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
747# CONFIG_USB_MDC800 is not set 714# CONFIG_USB_MDC800 is not set
748 715
749# 716#
750# USB Multimedia devices
751#
752# CONFIG_USB_DABUSB is not set
753
754#
755# Video4Linux support is needed for USB Multimedia device support
756#
757
758#
759# USB Network Adapters 717# USB Network Adapters
760# 718#
761# CONFIG_USB_CATC is not set 719# CONFIG_USB_CATC is not set
@@ -807,13 +765,48 @@ CONFIG_USB_MON=y
807# CONFIG_MMC is not set 765# CONFIG_MMC is not set
808 766
809# 767#
768# LED devices
769#
770# CONFIG_NEW_LEDS is not set
771
772#
773# LED drivers
774#
775
776#
777# LED Triggers
778#
779
780#
810# InfiniBand support 781# InfiniBand support
811# 782#
812# CONFIG_INFINIBAND is not set 783# CONFIG_INFINIBAND is not set
813 784
814# 785#
815# SN Devices 786# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
787#
788
789#
790# Real Time Clock
791#
792CONFIG_RTC_LIB=y
793CONFIG_RTC_CLASS=y
794CONFIG_RTC_HCTOSYS=y
795CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
796
797#
798# RTC interfaces
799#
800CONFIG_RTC_INTF_SYSFS=y
801CONFIG_RTC_INTF_PROC=y
802CONFIG_RTC_INTF_DEV=y
803
804#
805# RTC drivers
816# 806#
807# CONFIG_RTC_DRV_M48T86 is not set
808CONFIG_RTC_DRV_VR41XX=y
809# CONFIG_RTC_DRV_TEST is not set
817 810
818# 811#
819# File systems 812# File systems
@@ -821,32 +814,16 @@ CONFIG_USB_MON=y
821CONFIG_EXT2_FS=y 814CONFIG_EXT2_FS=y
822# CONFIG_EXT2_FS_XATTR is not set 815# CONFIG_EXT2_FS_XATTR is not set
823# CONFIG_EXT2_FS_XIP is not set 816# CONFIG_EXT2_FS_XIP is not set
824CONFIG_EXT3_FS=m 817# CONFIG_EXT3_FS is not set
825CONFIG_EXT3_FS_XATTR=y
826# CONFIG_EXT3_FS_POSIX_ACL is not set
827CONFIG_EXT3_FS_SECURITY=y
828CONFIG_JBD=m
829# CONFIG_JBD_DEBUG is not set
830CONFIG_FS_MBCACHE=y
831# CONFIG_REISERFS_FS is not set 818# CONFIG_REISERFS_FS is not set
832CONFIG_JFS_FS=m 819# CONFIG_JFS_FS is not set
833# CONFIG_JFS_POSIX_ACL is not set
834# CONFIG_JFS_SECURITY is not set
835# CONFIG_JFS_DEBUG is not set
836# CONFIG_JFS_STATISTICS is not set
837# CONFIG_FS_POSIX_ACL is not set 820# CONFIG_FS_POSIX_ACL is not set
838CONFIG_XFS_FS=y 821# CONFIG_XFS_FS is not set
839CONFIG_XFS_EXPORT=y
840CONFIG_XFS_QUOTA=y
841# CONFIG_XFS_SECURITY is not set
842CONFIG_XFS_POSIX_ACL=y
843# CONFIG_XFS_RT is not set
844# CONFIG_OCFS2_FS is not set 822# CONFIG_OCFS2_FS is not set
845# CONFIG_MINIX_FS is not set 823# CONFIG_MINIX_FS is not set
846CONFIG_ROMFS_FS=m 824CONFIG_ROMFS_FS=m
847CONFIG_INOTIFY=y 825CONFIG_INOTIFY=y
848# CONFIG_QUOTA is not set 826# CONFIG_QUOTA is not set
849CONFIG_QUOTACTL=y
850CONFIG_DNOTIFY=y 827CONFIG_DNOTIFY=y
851# CONFIG_AUTOFS_FS is not set 828# CONFIG_AUTOFS_FS is not set
852CONFIG_AUTOFS4_FS=y 829CONFIG_AUTOFS4_FS=y
@@ -855,20 +832,14 @@ CONFIG_FUSE_FS=m
855# 832#
856# CD-ROM/DVD Filesystems 833# CD-ROM/DVD Filesystems
857# 834#
858CONFIG_ISO9660_FS=y 835# CONFIG_ISO9660_FS is not set
859CONFIG_JOLIET=y
860CONFIG_ZISOFS=y
861CONFIG_ZISOFS_FS=y
862# CONFIG_UDF_FS is not set 836# CONFIG_UDF_FS is not set
863 837
864# 838#
865# DOS/FAT/NT Filesystems 839# DOS/FAT/NT Filesystems
866# 840#
867CONFIG_FAT_FS=m 841# CONFIG_MSDOS_FS is not set
868CONFIG_MSDOS_FS=m 842# CONFIG_VFAT_FS is not set
869CONFIG_VFAT_FS=m
870CONFIG_FAT_DEFAULT_CODEPAGE=437
871CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
872# CONFIG_NTFS_FS is not set 843# CONFIG_NTFS_FS is not set
873 844
874# 845#
@@ -880,7 +851,6 @@ CONFIG_SYSFS=y
880CONFIG_TMPFS=y 851CONFIG_TMPFS=y
881# CONFIG_HUGETLB_PAGE is not set 852# CONFIG_HUGETLB_PAGE is not set
882CONFIG_RAMFS=y 853CONFIG_RAMFS=y
883CONFIG_RELAYFS_FS=m
884# CONFIG_CONFIGFS_FS is not set 854# CONFIG_CONFIGFS_FS is not set
885 855
886# 856#
@@ -921,9 +891,7 @@ CONFIG_NFS_COMMON=y
921CONFIG_SUNRPC=y 891CONFIG_SUNRPC=y
922# CONFIG_RPCSEC_GSS_KRB5 is not set 892# CONFIG_RPCSEC_GSS_KRB5 is not set
923# CONFIG_RPCSEC_GSS_SPKM3 is not set 893# CONFIG_RPCSEC_GSS_SPKM3 is not set
924CONFIG_SMB_FS=m 894# CONFIG_SMB_FS is not set
925CONFIG_SMB_NLS_DEFAULT=y
926CONFIG_SMB_NLS_REMOTE="cp932"
927# CONFIG_CIFS is not set 895# CONFIG_CIFS is not set
928# CONFIG_NCP_FS is not set 896# CONFIG_NCP_FS is not set
929# CONFIG_CODA_FS is not set 897# CONFIG_CODA_FS is not set
@@ -939,46 +907,7 @@ CONFIG_MSDOS_PARTITION=y
939# 907#
940# Native Language Support 908# Native Language Support
941# 909#
942CONFIG_NLS=y 910# CONFIG_NLS is not set
943CONFIG_NLS_DEFAULT="iso8859-1"
944CONFIG_NLS_CODEPAGE_437=m
945# CONFIG_NLS_CODEPAGE_737 is not set
946# CONFIG_NLS_CODEPAGE_775 is not set
947# CONFIG_NLS_CODEPAGE_850 is not set
948# CONFIG_NLS_CODEPAGE_852 is not set
949# CONFIG_NLS_CODEPAGE_855 is not set
950# CONFIG_NLS_CODEPAGE_857 is not set
951# CONFIG_NLS_CODEPAGE_860 is not set
952# CONFIG_NLS_CODEPAGE_861 is not set
953# CONFIG_NLS_CODEPAGE_862 is not set
954# CONFIG_NLS_CODEPAGE_863 is not set
955# CONFIG_NLS_CODEPAGE_864 is not set
956# CONFIG_NLS_CODEPAGE_865 is not set
957# CONFIG_NLS_CODEPAGE_866 is not set
958# CONFIG_NLS_CODEPAGE_869 is not set
959# CONFIG_NLS_CODEPAGE_936 is not set
960# CONFIG_NLS_CODEPAGE_950 is not set
961CONFIG_NLS_CODEPAGE_932=m
962# CONFIG_NLS_CODEPAGE_949 is not set
963# CONFIG_NLS_CODEPAGE_874 is not set
964# CONFIG_NLS_ISO8859_8 is not set
965# CONFIG_NLS_CODEPAGE_1250 is not set
966# CONFIG_NLS_CODEPAGE_1251 is not set
967# CONFIG_NLS_ASCII is not set
968CONFIG_NLS_ISO8859_1=m
969# CONFIG_NLS_ISO8859_2 is not set
970# CONFIG_NLS_ISO8859_3 is not set
971# CONFIG_NLS_ISO8859_4 is not set
972# CONFIG_NLS_ISO8859_5 is not set
973# CONFIG_NLS_ISO8859_6 is not set
974# CONFIG_NLS_ISO8859_7 is not set
975# CONFIG_NLS_ISO8859_9 is not set
976# CONFIG_NLS_ISO8859_13 is not set
977# CONFIG_NLS_ISO8859_14 is not set
978# CONFIG_NLS_ISO8859_15 is not set
979# CONFIG_NLS_KOI8_R is not set
980# CONFIG_NLS_KOI8_U is not set
981# CONFIG_NLS_UTF8 is not set
982 911
983# 912#
984# Profiling support 913# Profiling support
@@ -992,44 +921,20 @@ CONFIG_NLS_ISO8859_1=m
992# CONFIG_MAGIC_SYSRQ is not set 921# CONFIG_MAGIC_SYSRQ is not set
993# CONFIG_DEBUG_KERNEL is not set 922# CONFIG_DEBUG_KERNEL is not set
994CONFIG_LOG_BUF_SHIFT=14 923CONFIG_LOG_BUF_SHIFT=14
924# CONFIG_DEBUG_FS is not set
995CONFIG_CROSSCOMPILE=y 925CONFIG_CROSSCOMPILE=y
996CONFIG_CMDLINE="mem=64M console=ttyVR0,115200 ip=any root=/dev/nfs" 926CONFIG_CMDLINE="mem=64M console=ttyVR0,115200 ip=any root=/dev/nfs"
997 927
998# 928#
999# Security options 929# Security options
1000# 930#
1001CONFIG_KEYS=y 931# CONFIG_KEYS is not set
1002CONFIG_KEYS_DEBUG_PROC_KEYS=y
1003# CONFIG_SECURITY is not set 932# CONFIG_SECURITY is not set
1004 933
1005# 934#
1006# Cryptographic options 935# Cryptographic options
1007# 936#
1008CONFIG_CRYPTO=y 937# CONFIG_CRYPTO is not set
1009CONFIG_CRYPTO_HMAC=y
1010CONFIG_CRYPTO_NULL=m
1011CONFIG_CRYPTO_MD4=m
1012CONFIG_CRYPTO_MD5=m
1013CONFIG_CRYPTO_SHA1=m
1014CONFIG_CRYPTO_SHA256=m
1015CONFIG_CRYPTO_SHA512=m
1016CONFIG_CRYPTO_WP512=m
1017CONFIG_CRYPTO_TGR192=m
1018CONFIG_CRYPTO_DES=m
1019CONFIG_CRYPTO_BLOWFISH=m
1020CONFIG_CRYPTO_TWOFISH=m
1021CONFIG_CRYPTO_SERPENT=m
1022CONFIG_CRYPTO_AES=m
1023CONFIG_CRYPTO_CAST5=m
1024CONFIG_CRYPTO_CAST6=m
1025CONFIG_CRYPTO_TEA=m
1026CONFIG_CRYPTO_ARC4=m
1027CONFIG_CRYPTO_KHAZAD=m
1028CONFIG_CRYPTO_ANUBIS=m
1029CONFIG_CRYPTO_DEFLATE=m
1030CONFIG_CRYPTO_MICHAEL_MIC=m
1031CONFIG_CRYPTO_CRC32C=m
1032# CONFIG_CRYPTO_TEST is not set
1033 938
1034# 939#
1035# Hardware crypto devices 940# Hardware crypto devices
@@ -1038,9 +943,8 @@ CONFIG_CRYPTO_CRC32C=m
1038# 943#
1039# Library routines 944# Library routines
1040# 945#
1041CONFIG_CRC_CCITT=m 946# CONFIG_CRC_CCITT is not set
1042CONFIG_CRC16=m 947# CONFIG_CRC16 is not set
1043CONFIG_CRC32=y 948CONFIG_CRC32=y
1044CONFIG_LIBCRC32C=m 949# CONFIG_LIBCRC32C is not set
1045CONFIG_ZLIB_INFLATE=y 950CONFIG_ZLIB_INFLATE=m
1046CONFIG_ZLIB_DEFLATE=m
diff --git a/arch/mips/configs/tb0287_defconfig b/arch/mips/configs/tb0287_defconfig
new file mode 100644
index 000000000000..9f215ea350dc
--- /dev/null
+++ b/arch/mips/configs/tb0287_defconfig
@@ -0,0 +1,1132 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.17-rc2
4# Tue Apr 25 00:09:17 2006
5#
6CONFIG_MIPS=y
7
8#
9# Machine selection
10#
11# CONFIG_MIPS_MTX1 is not set
12# CONFIG_MIPS_BOSPORUS is not set
13# CONFIG_MIPS_PB1000 is not set
14# CONFIG_MIPS_PB1100 is not set
15# CONFIG_MIPS_PB1500 is not set
16# CONFIG_MIPS_PB1550 is not set
17# CONFIG_MIPS_PB1200 is not set
18# CONFIG_MIPS_DB1000 is not set
19# CONFIG_MIPS_DB1100 is not set
20# CONFIG_MIPS_DB1500 is not set
21# CONFIG_MIPS_DB1550 is not set
22# CONFIG_MIPS_DB1200 is not set
23# CONFIG_MIPS_MIRAGE is not set
24# CONFIG_MIPS_COBALT is not set
25# CONFIG_MACH_DECSTATION is not set
26# CONFIG_MIPS_EV64120 is not set
27# CONFIG_MIPS_EV96100 is not set
28# CONFIG_MIPS_IVR is not set
29# CONFIG_MIPS_ITE8172 is not set
30# CONFIG_MACH_JAZZ is not set
31# CONFIG_LASAT is not set
32# CONFIG_MIPS_ATLAS is not set
33# CONFIG_MIPS_MALTA is not set
34# CONFIG_MIPS_SEAD 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_V2PCI is not set
43# CONFIG_PNX8550_JBS is not set
44# CONFIG_DDB5074 is not set
45# CONFIG_DDB5476 is not set
46# CONFIG_DDB5477 is not set
47CONFIG_MACH_VR41XX=y
48# CONFIG_PMC_YOSEMITE is not set
49# CONFIG_QEMU is not set
50# CONFIG_SGI_IP22 is not set
51# CONFIG_SGI_IP27 is not set
52# CONFIG_SGI_IP32 is not set
53# CONFIG_SIBYTE_BIGSUR is not set
54# CONFIG_SIBYTE_SWARM is not set
55# CONFIG_SIBYTE_SENTOSA is not set
56# CONFIG_SIBYTE_RHONE is not set
57# CONFIG_SIBYTE_CARMEL is not set
58# CONFIG_SIBYTE_PTSWARM is not set
59# CONFIG_SIBYTE_LITTLESUR is not set
60# CONFIG_SIBYTE_CRHINE is not set
61# CONFIG_SIBYTE_CRHONE is not set
62# CONFIG_SNI_RM200_PCI is not set
63# CONFIG_TOSHIBA_JMR3927 is not set
64# CONFIG_TOSHIBA_RBTX4927 is not set
65# CONFIG_TOSHIBA_RBTX4938 is not set
66# CONFIG_CASIO_E55 is not set
67# CONFIG_IBM_WORKPAD is not set
68# CONFIG_NEC_CMBVR4133 is not set
69CONFIG_TANBAC_TB022X=y
70# CONFIG_TANBAC_TB0226 is not set
71CONFIG_TANBAC_TB0287=y
72# CONFIG_VICTOR_MPC30X is not set
73# CONFIG_ZAO_CAPCELLA is not set
74CONFIG_PCI_VR41XX=y
75# CONFIG_VRC4173 is not set
76CONFIG_RWSEM_GENERIC_SPINLOCK=y
77CONFIG_GENERIC_FIND_NEXT_BIT=y
78CONFIG_GENERIC_HWEIGHT=y
79CONFIG_GENERIC_CALIBRATE_DELAY=y
80CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
81CONFIG_DMA_NONCOHERENT=y
82CONFIG_DMA_NEED_PCI_MAP_STATE=y
83# CONFIG_CPU_BIG_ENDIAN is not set
84CONFIG_CPU_LITTLE_ENDIAN=y
85CONFIG_SYS_SUPPORTS_LITTLE_ENDIAN=y
86CONFIG_IRQ_CPU=y
87CONFIG_MIPS_L1_CACHE_SHIFT=5
88
89#
90# CPU selection
91#
92# CONFIG_CPU_MIPS32_R1 is not set
93# CONFIG_CPU_MIPS32_R2 is not set
94# CONFIG_CPU_MIPS64_R1 is not set
95# CONFIG_CPU_MIPS64_R2 is not set
96# CONFIG_CPU_R3000 is not set
97# CONFIG_CPU_TX39XX is not set
98CONFIG_CPU_VR41XX=y
99# CONFIG_CPU_R4300 is not set
100# CONFIG_CPU_R4X00 is not set
101# CONFIG_CPU_TX49XX is not set
102# CONFIG_CPU_R5000 is not set
103# CONFIG_CPU_R5432 is not set
104# CONFIG_CPU_R6000 is not set
105# CONFIG_CPU_NEVADA is not set
106# CONFIG_CPU_R8000 is not set
107# CONFIG_CPU_R10000 is not set
108# CONFIG_CPU_RM7000 is not set
109# CONFIG_CPU_RM9000 is not set
110# CONFIG_CPU_SB1 is not set
111CONFIG_SYS_HAS_CPU_VR41XX=y
112CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y
113CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y
114CONFIG_CPU_SUPPORTS_64BIT_KERNEL=y
115
116#
117# Kernel type
118#
119CONFIG_32BIT=y
120# CONFIG_64BIT is not set
121CONFIG_PAGE_SIZE_4KB=y
122# CONFIG_PAGE_SIZE_8KB is not set
123# CONFIG_PAGE_SIZE_16KB is not set
124# CONFIG_PAGE_SIZE_64KB is not set
125# CONFIG_MIPS_MT is not set
126CONFIG_CPU_HAS_SYNC=y
127CONFIG_GENERIC_HARDIRQS=y
128CONFIG_GENERIC_IRQ_PROBE=y
129CONFIG_ARCH_FLATMEM_ENABLE=y
130CONFIG_SELECT_MEMORY_MODEL=y
131CONFIG_FLATMEM_MANUAL=y
132# CONFIG_DISCONTIGMEM_MANUAL is not set
133# CONFIG_SPARSEMEM_MANUAL is not set
134CONFIG_FLATMEM=y
135CONFIG_FLAT_NODE_MEM_MAP=y
136# CONFIG_SPARSEMEM_STATIC is not set
137CONFIG_SPLIT_PTLOCK_CPUS=4
138CONFIG_PREEMPT_NONE=y
139# CONFIG_PREEMPT_VOLUNTARY is not set
140# CONFIG_PREEMPT is not set
141
142#
143# Code maturity level options
144#
145CONFIG_EXPERIMENTAL=y
146CONFIG_BROKEN_ON_SMP=y
147CONFIG_INIT_ENV_ARG_LIMIT=32
148
149#
150# General setup
151#
152CONFIG_LOCALVERSION=""
153CONFIG_LOCALVERSION_AUTO=y
154CONFIG_SWAP=y
155CONFIG_SYSVIPC=y
156# CONFIG_POSIX_MQUEUE is not set
157# CONFIG_BSD_PROCESS_ACCT is not set
158CONFIG_SYSCTL=y
159# CONFIG_AUDIT is not set
160# CONFIG_IKCONFIG is not set
161# CONFIG_RELAY is not set
162CONFIG_INITRAMFS_SOURCE=""
163# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
164CONFIG_EMBEDDED=y
165CONFIG_KALLSYMS=y
166# CONFIG_KALLSYMS_EXTRA_PASS is not set
167# CONFIG_HOTPLUG is not set
168CONFIG_PRINTK=y
169CONFIG_BUG=y
170CONFIG_ELF_CORE=y
171CONFIG_BASE_FULL=y
172CONFIG_FUTEX=y
173CONFIG_EPOLL=y
174CONFIG_SHMEM=y
175CONFIG_SLAB=y
176# CONFIG_TINY_SHMEM is not set
177CONFIG_BASE_SMALL=0
178# CONFIG_SLOB is not set
179
180#
181# Loadable module support
182#
183CONFIG_MODULES=y
184CONFIG_MODULE_UNLOAD=y
185# CONFIG_MODULE_FORCE_UNLOAD is not set
186CONFIG_MODVERSIONS=y
187CONFIG_MODULE_SRCVERSION_ALL=y
188CONFIG_KMOD=y
189
190#
191# Block layer
192#
193# CONFIG_LBD is not set
194# CONFIG_BLK_DEV_IO_TRACE is not set
195# CONFIG_LSF is not set
196
197#
198# IO Schedulers
199#
200CONFIG_IOSCHED_NOOP=y
201CONFIG_IOSCHED_AS=y
202CONFIG_IOSCHED_DEADLINE=y
203CONFIG_IOSCHED_CFQ=y
204CONFIG_DEFAULT_AS=y
205# CONFIG_DEFAULT_DEADLINE is not set
206# CONFIG_DEFAULT_CFQ is not set
207# CONFIG_DEFAULT_NOOP is not set
208CONFIG_DEFAULT_IOSCHED="anticipatory"
209
210#
211# Bus options (PCI, PCMCIA, EISA, ISA, TC)
212#
213CONFIG_HW_HAS_PCI=y
214CONFIG_PCI=y
215CONFIG_MMU=y
216
217#
218# PCCARD (PCMCIA/CardBus) support
219#
220# CONFIG_PCCARD is not set
221
222#
223# PCI Hotplug Support
224#
225# CONFIG_HOTPLUG_PCI is not set
226
227#
228# Executable file formats
229#
230CONFIG_BINFMT_ELF=y
231# CONFIG_BINFMT_MISC is not set
232CONFIG_TRAD_SIGNALS=y
233
234#
235# Networking
236#
237CONFIG_NET=y
238
239#
240# Networking options
241#
242# CONFIG_NETDEBUG is not set
243CONFIG_PACKET=y
244# CONFIG_PACKET_MMAP is not set
245CONFIG_UNIX=y
246# CONFIG_NET_KEY is not set
247CONFIG_INET=y
248CONFIG_IP_MULTICAST=y
249CONFIG_IP_ADVANCED_ROUTER=y
250CONFIG_ASK_IP_FIB_HASH=y
251# CONFIG_IP_FIB_TRIE is not set
252CONFIG_IP_FIB_HASH=y
253CONFIG_IP_MULTIPLE_TABLES=y
254CONFIG_IP_ROUTE_MULTIPATH=y
255# CONFIG_IP_ROUTE_MULTIPATH_CACHED is not set
256CONFIG_IP_ROUTE_VERBOSE=y
257CONFIG_IP_PNP=y
258# CONFIG_IP_PNP_DHCP is not set
259CONFIG_IP_PNP_BOOTP=y
260# CONFIG_IP_PNP_RARP is not set
261CONFIG_NET_IPIP=m
262CONFIG_NET_IPGRE=m
263# CONFIG_NET_IPGRE_BROADCAST is not set
264# CONFIG_IP_MROUTE is not set
265# CONFIG_ARPD is not set
266CONFIG_SYN_COOKIES=y
267# CONFIG_INET_AH is not set
268# CONFIG_INET_ESP is not set
269# CONFIG_INET_IPCOMP is not set
270# CONFIG_INET_XFRM_TUNNEL is not set
271CONFIG_INET_TUNNEL=m
272CONFIG_INET_DIAG=y
273CONFIG_INET_TCP_DIAG=y
274CONFIG_TCP_CONG_ADVANCED=y
275
276#
277# TCP congestion control
278#
279CONFIG_TCP_CONG_BIC=y
280CONFIG_TCP_CONG_CUBIC=m
281CONFIG_TCP_CONG_WESTWOOD=m
282CONFIG_TCP_CONG_HTCP=m
283# CONFIG_TCP_CONG_HSTCP is not set
284# CONFIG_TCP_CONG_HYBLA is not set
285# CONFIG_TCP_CONG_VEGAS is not set
286# CONFIG_TCP_CONG_SCALABLE is not set
287# CONFIG_IPV6 is not set
288# CONFIG_INET6_XFRM_TUNNEL is not set
289# CONFIG_INET6_TUNNEL is not set
290# CONFIG_NETFILTER is not set
291
292#
293# DCCP Configuration (EXPERIMENTAL)
294#
295# CONFIG_IP_DCCP is not set
296
297#
298# SCTP Configuration (EXPERIMENTAL)
299#
300# CONFIG_IP_SCTP is not set
301
302#
303# TIPC Configuration (EXPERIMENTAL)
304#
305# CONFIG_TIPC is not set
306# CONFIG_ATM is not set
307# CONFIG_BRIDGE is not set
308# CONFIG_VLAN_8021Q is not set
309# CONFIG_DECNET is not set
310# CONFIG_LLC2 is not set
311# CONFIG_IPX is not set
312# CONFIG_ATALK is not set
313# CONFIG_X25 is not set
314# CONFIG_LAPB is not set
315# CONFIG_NET_DIVERT is not set
316# CONFIG_ECONET is not set
317# CONFIG_WAN_ROUTER is not set
318
319#
320# QoS and/or fair queueing
321#
322# CONFIG_NET_SCHED is not set
323
324#
325# Network testing
326#
327# CONFIG_NET_PKTGEN is not set
328# CONFIG_HAMRADIO is not set
329# CONFIG_IRDA is not set
330# CONFIG_BT is not set
331# CONFIG_IEEE80211 is not set
332
333#
334# Device Drivers
335#
336
337#
338# Generic Driver Options
339#
340CONFIG_STANDALONE=y
341CONFIG_PREVENT_FIRMWARE_BUILD=y
342# CONFIG_FW_LOADER is not set
343
344#
345# Connector - unified userspace <-> kernelspace linker
346#
347# CONFIG_CONNECTOR is not set
348
349#
350# Memory Technology Devices (MTD)
351#
352# CONFIG_MTD is not set
353
354#
355# Parallel port support
356#
357# CONFIG_PARPORT is not set
358
359#
360# Plug and Play support
361#
362
363#
364# Block devices
365#
366# CONFIG_BLK_CPQ_DA is not set
367# CONFIG_BLK_CPQ_CISS_DA is not set
368# CONFIG_BLK_DEV_DAC960 is not set
369# CONFIG_BLK_DEV_UMEM is not set
370# CONFIG_BLK_DEV_COW_COMMON is not set
371CONFIG_BLK_DEV_LOOP=m
372# CONFIG_BLK_DEV_CRYPTOLOOP is not set
373CONFIG_BLK_DEV_NBD=m
374# CONFIG_BLK_DEV_SX8 is not set
375# CONFIG_BLK_DEV_UB is not set
376CONFIG_BLK_DEV_RAM=y
377CONFIG_BLK_DEV_RAM_COUNT=16
378CONFIG_BLK_DEV_RAM_SIZE=4096
379# CONFIG_BLK_DEV_INITRD is not set
380# CONFIG_CDROM_PKTCDVD is not set
381# CONFIG_ATA_OVER_ETH is not set
382
383#
384# ATA/ATAPI/MFM/RLL support
385#
386CONFIG_IDE=y
387CONFIG_BLK_DEV_IDE=y
388
389#
390# Please see Documentation/ide.txt for help/info on IDE drives
391#
392# CONFIG_BLK_DEV_IDE_SATA is not set
393CONFIG_BLK_DEV_IDEDISK=y
394# CONFIG_IDEDISK_MULTI_MODE is not set
395# CONFIG_BLK_DEV_IDECD is not set
396# CONFIG_BLK_DEV_IDETAPE is not set
397# CONFIG_BLK_DEV_IDEFLOPPY is not set
398# CONFIG_BLK_DEV_IDESCSI is not set
399# CONFIG_IDE_TASK_IOCTL is not set
400
401#
402# IDE chipset support/bugfixes
403#
404CONFIG_IDE_GENERIC=y
405CONFIG_BLK_DEV_IDEPCI=y
406# CONFIG_IDEPCI_SHARE_IRQ is not set
407# CONFIG_BLK_DEV_OFFBOARD is not set
408# CONFIG_BLK_DEV_GENERIC is not set
409# CONFIG_BLK_DEV_OPTI621 is not set
410CONFIG_BLK_DEV_IDEDMA_PCI=y
411# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
412# CONFIG_IDEDMA_PCI_AUTO is not set
413# CONFIG_BLK_DEV_AEC62XX is not set
414# CONFIG_BLK_DEV_ALI15X3 is not set
415# CONFIG_BLK_DEV_AMD74XX is not set
416# CONFIG_BLK_DEV_CMD64X is not set
417# CONFIG_BLK_DEV_TRIFLEX is not set
418# CONFIG_BLK_DEV_CY82C693 is not set
419# CONFIG_BLK_DEV_CS5520 is not set
420# CONFIG_BLK_DEV_CS5530 is not set
421# CONFIG_BLK_DEV_HPT34X is not set
422# CONFIG_BLK_DEV_HPT366 is not set
423# CONFIG_BLK_DEV_SC1200 is not set
424# CONFIG_BLK_DEV_PIIX is not set
425# CONFIG_BLK_DEV_IT821X is not set
426# CONFIG_BLK_DEV_NS87415 is not set
427# CONFIG_BLK_DEV_PDC202XX_OLD is not set
428# CONFIG_BLK_DEV_PDC202XX_NEW is not set
429# CONFIG_BLK_DEV_SVWKS is not set
430CONFIG_BLK_DEV_SIIMAGE=y
431# CONFIG_BLK_DEV_SLC90E66 is not set
432# CONFIG_BLK_DEV_TRM290 is not set
433# CONFIG_BLK_DEV_VIA82CXXX is not set
434# CONFIG_IDE_ARM is not set
435CONFIG_BLK_DEV_IDEDMA=y
436# CONFIG_IDEDMA_IVB is not set
437# CONFIG_IDEDMA_AUTO is not set
438# CONFIG_BLK_DEV_HD is not set
439
440#
441# SCSI device support
442#
443# CONFIG_RAID_ATTRS is not set
444CONFIG_SCSI=y
445CONFIG_SCSI_PROC_FS=y
446
447#
448# SCSI support type (disk, tape, CD-ROM)
449#
450CONFIG_BLK_DEV_SD=y
451# CONFIG_CHR_DEV_ST is not set
452# CONFIG_CHR_DEV_OSST is not set
453# CONFIG_BLK_DEV_SR is not set
454# CONFIG_CHR_DEV_SG is not set
455# CONFIG_CHR_DEV_SCH is not set
456
457#
458# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
459#
460# CONFIG_SCSI_MULTI_LUN is not set
461# CONFIG_SCSI_CONSTANTS is not set
462# CONFIG_SCSI_LOGGING is not set
463
464#
465# SCSI Transport Attributes
466#
467# CONFIG_SCSI_SPI_ATTRS is not set
468# CONFIG_SCSI_FC_ATTRS is not set
469# CONFIG_SCSI_ISCSI_ATTRS is not set
470# CONFIG_SCSI_SAS_ATTRS is not set
471
472#
473# SCSI low-level drivers
474#
475# CONFIG_ISCSI_TCP is not set
476# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
477# CONFIG_SCSI_3W_9XXX is not set
478# CONFIG_SCSI_ACARD is not set
479# CONFIG_SCSI_AACRAID is not set
480# CONFIG_SCSI_AIC7XXX is not set
481# CONFIG_SCSI_AIC7XXX_OLD is not set
482# CONFIG_SCSI_AIC79XX is not set
483# CONFIG_SCSI_DPT_I2O is not set
484# CONFIG_MEGARAID_NEWGEN is not set
485# CONFIG_MEGARAID_LEGACY is not set
486# CONFIG_MEGARAID_SAS is not set
487# CONFIG_SCSI_SATA is not set
488# CONFIG_SCSI_DMX3191D is not set
489# CONFIG_SCSI_FUTURE_DOMAIN is not set
490# CONFIG_SCSI_IPS is not set
491# CONFIG_SCSI_INITIO is not set
492# CONFIG_SCSI_INIA100 is not set
493# CONFIG_SCSI_SYM53C8XX_2 is not set
494# CONFIG_SCSI_IPR is not set
495# CONFIG_SCSI_QLOGIC_1280 is not set
496# CONFIG_SCSI_QLA_FC is not set
497# CONFIG_SCSI_LPFC is not set
498# CONFIG_SCSI_DC395x is not set
499# CONFIG_SCSI_DC390T is not set
500# CONFIG_SCSI_NSP32 is not set
501# CONFIG_SCSI_DEBUG is not set
502
503#
504# Multi-device support (RAID and LVM)
505#
506# CONFIG_MD is not set
507
508#
509# Fusion MPT device support
510#
511# CONFIG_FUSION is not set
512# CONFIG_FUSION_SPI is not set
513# CONFIG_FUSION_FC is not set
514# CONFIG_FUSION_SAS is not set
515
516#
517# IEEE 1394 (FireWire) support
518#
519CONFIG_IEEE1394=m
520
521#
522# Subsystem Options
523#
524# CONFIG_IEEE1394_VERBOSEDEBUG is not set
525# CONFIG_IEEE1394_OUI_DB is not set
526CONFIG_IEEE1394_EXTRA_CONFIG_ROMS=y
527CONFIG_IEEE1394_CONFIG_ROM_IP1394=y
528# CONFIG_IEEE1394_EXPORT_FULL_API is not set
529
530#
531# Device Drivers
532#
533
534#
535# Texas Instruments PCILynx requires I2C
536#
537CONFIG_IEEE1394_OHCI1394=m
538
539#
540# Protocol Drivers
541#
542CONFIG_IEEE1394_VIDEO1394=m
543CONFIG_IEEE1394_SBP2=m
544# CONFIG_IEEE1394_SBP2_PHYS_DMA is not set
545CONFIG_IEEE1394_ETH1394=m
546CONFIG_IEEE1394_DV1394=m
547CONFIG_IEEE1394_RAWIO=m
548
549#
550# I2O device support
551#
552# CONFIG_I2O is not set
553
554#
555# Network device support
556#
557CONFIG_NETDEVICES=y
558CONFIG_DUMMY=m
559# CONFIG_BONDING is not set
560# CONFIG_EQUALIZER is not set
561# CONFIG_TUN is not set
562
563#
564# ARCnet devices
565#
566# CONFIG_ARCNET is not set
567
568#
569# PHY device support
570#
571# CONFIG_PHYLIB is not set
572
573#
574# Ethernet (10 or 100Mbit)
575#
576CONFIG_NET_ETHERNET=y
577CONFIG_MII=y
578# CONFIG_HAPPYMEAL is not set
579# CONFIG_SUNGEM is not set
580# CONFIG_CASSINI is not set
581# CONFIG_NET_VENDOR_3COM is not set
582# CONFIG_DM9000 is not set
583
584#
585# Tulip family network device support
586#
587# CONFIG_NET_TULIP is not set
588# CONFIG_HP100 is not set
589# CONFIG_NET_PCI is not set
590
591#
592# Ethernet (1000 Mbit)
593#
594# CONFIG_ACENIC is not set
595# CONFIG_DL2K is not set
596# CONFIG_E1000 is not set
597# CONFIG_NS83820 is not set
598# CONFIG_HAMACHI is not set
599# CONFIG_YELLOWFIN is not set
600CONFIG_R8169=y
601# CONFIG_R8169_NAPI is not set
602# CONFIG_SIS190 is not set
603# CONFIG_SKGE is not set
604# CONFIG_SKY2 is not set
605# CONFIG_SK98LIN is not set
606# CONFIG_TIGON3 is not set
607# CONFIG_BNX2 is not set
608
609#
610# Ethernet (10000 Mbit)
611#
612# CONFIG_CHELSIO_T1 is not set
613# CONFIG_IXGB is not set
614# CONFIG_S2IO is not set
615
616#
617# Token Ring devices
618#
619# CONFIG_TR is not set
620
621#
622# Wireless LAN (non-hamradio)
623#
624# CONFIG_NET_RADIO is not set
625
626#
627# Wan interfaces
628#
629# CONFIG_WAN is not set
630# CONFIG_FDDI is not set
631# CONFIG_HIPPI is not set
632# CONFIG_PPP is not set
633# CONFIG_SLIP is not set
634# CONFIG_NET_FC is not set
635# CONFIG_SHAPER is not set
636# CONFIG_NETCONSOLE is not set
637# CONFIG_NETPOLL is not set
638# CONFIG_NET_POLL_CONTROLLER is not set
639
640#
641# ISDN subsystem
642#
643# CONFIG_ISDN is not set
644
645#
646# Telephony Support
647#
648# CONFIG_PHONE is not set
649
650#
651# Input device support
652#
653CONFIG_INPUT=y
654
655#
656# Userland interfaces
657#
658# CONFIG_INPUT_MOUSEDEV is not set
659# CONFIG_INPUT_JOYDEV is not set
660# CONFIG_INPUT_TSDEV is not set
661# CONFIG_INPUT_EVDEV is not set
662# CONFIG_INPUT_EVBUG is not set
663
664#
665# Input Device Drivers
666#
667# CONFIG_INPUT_KEYBOARD is not set
668# CONFIG_INPUT_MOUSE is not set
669# CONFIG_INPUT_JOYSTICK is not set
670# CONFIG_INPUT_TOUCHSCREEN is not set
671# CONFIG_INPUT_MISC is not set
672
673#
674# Hardware I/O ports
675#
676# CONFIG_SERIO is not set
677# CONFIG_GAMEPORT is not set
678
679#
680# Character devices
681#
682CONFIG_VT=y
683CONFIG_VT_CONSOLE=y
684CONFIG_HW_CONSOLE=y
685# CONFIG_SERIAL_NONSTANDARD is not set
686
687#
688# Serial drivers
689#
690# CONFIG_SERIAL_8250 is not set
691
692#
693# Non-8250 serial port support
694#
695CONFIG_SERIAL_CORE=y
696CONFIG_SERIAL_CORE_CONSOLE=y
697CONFIG_SERIAL_VR41XX=y
698CONFIG_SERIAL_VR41XX_CONSOLE=y
699# CONFIG_SERIAL_JSM is not set
700CONFIG_UNIX98_PTYS=y
701CONFIG_LEGACY_PTYS=y
702CONFIG_LEGACY_PTY_COUNT=256
703
704#
705# IPMI
706#
707# CONFIG_IPMI_HANDLER is not set
708
709#
710# Watchdog Cards
711#
712# CONFIG_WATCHDOG is not set
713# CONFIG_RTC is not set
714# CONFIG_GEN_RTC is not set
715# CONFIG_DTLK is not set
716# CONFIG_R3964 is not set
717# CONFIG_APPLICOM is not set
718# CONFIG_TANBAC_TB0219 is not set
719
720#
721# Ftape, the floppy tape device driver
722#
723# CONFIG_DRM is not set
724CONFIG_GPIO_VR41XX=y
725# CONFIG_RAW_DRIVER is not set
726
727#
728# TPM devices
729#
730# CONFIG_TCG_TPM is not set
731# CONFIG_TELCLOCK is not set
732
733#
734# I2C support
735#
736# CONFIG_I2C is not set
737
738#
739# SPI support
740#
741# CONFIG_SPI is not set
742# CONFIG_SPI_MASTER is not set
743
744#
745# Dallas's 1-wire bus
746#
747# CONFIG_W1 is not set
748
749#
750# Hardware Monitoring support
751#
752# CONFIG_HWMON is not set
753# CONFIG_HWMON_VID is not set
754
755#
756# Misc devices
757#
758
759#
760# Multimedia devices
761#
762# CONFIG_VIDEO_DEV is not set
763
764#
765# Digital Video Broadcasting Devices
766#
767# CONFIG_DVB is not set
768# CONFIG_USB_DABUSB is not set
769
770#
771# Graphics support
772#
773CONFIG_FB=y
774CONFIG_FB_CFB_FILLRECT=y
775CONFIG_FB_CFB_COPYAREA=y
776CONFIG_FB_CFB_IMAGEBLIT=y
777# CONFIG_FB_MACMODES is not set
778CONFIG_FB_FIRMWARE_EDID=y
779# CONFIG_FB_MODE_HELPERS is not set
780# CONFIG_FB_TILEBLITTING is not set
781# CONFIG_FB_CIRRUS is not set
782# CONFIG_FB_PM2 is not set
783# CONFIG_FB_CYBER2000 is not set
784# CONFIG_FB_ASILIANT is not set
785# CONFIG_FB_IMSTT is not set
786# CONFIG_FB_S1D13XXX is not set
787# CONFIG_FB_NVIDIA is not set
788# CONFIG_FB_RIVA is not set
789# CONFIG_FB_MATROX is not set
790# CONFIG_FB_RADEON is not set
791# CONFIG_FB_ATY128 is not set
792# CONFIG_FB_ATY is not set
793# CONFIG_FB_SAVAGE is not set
794# CONFIG_FB_SIS is not set
795# CONFIG_FB_NEOMAGIC is not set
796# CONFIG_FB_KYRO is not set
797# CONFIG_FB_3DFX is not set
798# CONFIG_FB_VOODOO1 is not set
799CONFIG_FB_SMIVGX=y
800# CONFIG_FB_TRIDENT is not set
801# CONFIG_FB_VIRTUAL is not set
802
803#
804# Console display driver support
805#
806# CONFIG_VGA_CONSOLE is not set
807CONFIG_DUMMY_CONSOLE=y
808# CONFIG_FRAMEBUFFER_CONSOLE is not set
809
810#
811# Logo configuration
812#
813# CONFIG_LOGO is not set
814# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
815
816#
817# Sound
818#
819# CONFIG_SOUND is not set
820
821#
822# USB support
823#
824CONFIG_USB_ARCH_HAS_HCD=y
825CONFIG_USB_ARCH_HAS_OHCI=y
826CONFIG_USB_ARCH_HAS_EHCI=y
827CONFIG_USB=m
828# CONFIG_USB_DEBUG is not set
829
830#
831# Miscellaneous USB options
832#
833# CONFIG_USB_DEVICEFS is not set
834# CONFIG_USB_BANDWIDTH is not set
835# CONFIG_USB_DYNAMIC_MINORS is not set
836# CONFIG_USB_OTG is not set
837
838#
839# USB Host Controller Drivers
840#
841CONFIG_USB_EHCI_HCD=m
842# CONFIG_USB_EHCI_SPLIT_ISO is not set
843# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
844# CONFIG_USB_ISP116X_HCD is not set
845CONFIG_USB_OHCI_HCD=m
846# CONFIG_USB_OHCI_BIG_ENDIAN is not set
847CONFIG_USB_OHCI_LITTLE_ENDIAN=y
848# CONFIG_USB_UHCI_HCD is not set
849# CONFIG_USB_SL811_HCD is not set
850
851#
852# USB Device Class drivers
853#
854# CONFIG_USB_ACM is not set
855# CONFIG_USB_PRINTER is not set
856
857#
858# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
859#
860
861#
862# may also be needed; see USB_STORAGE Help for more information
863#
864CONFIG_USB_STORAGE=m
865# CONFIG_USB_STORAGE_DEBUG is not set
866# CONFIG_USB_STORAGE_DATAFAB is not set
867# CONFIG_USB_STORAGE_FREECOM is not set
868# CONFIG_USB_STORAGE_ISD200 is not set
869# CONFIG_USB_STORAGE_DPCM is not set
870# CONFIG_USB_STORAGE_USBAT is not set
871# CONFIG_USB_STORAGE_SDDR09 is not set
872# CONFIG_USB_STORAGE_SDDR55 is not set
873# CONFIG_USB_STORAGE_JUMPSHOT is not set
874# CONFIG_USB_STORAGE_ALAUDA is not set
875# CONFIG_USB_LIBUSUAL is not set
876
877#
878# USB Input Devices
879#
880CONFIG_USB_HID=m
881CONFIG_USB_HIDINPUT=y
882# CONFIG_USB_HIDINPUT_POWERBOOK is not set
883# CONFIG_HID_FF is not set
884# CONFIG_USB_HIDDEV is not set
885
886#
887# USB HID Boot Protocol drivers
888#
889# CONFIG_USB_KBD is not set
890# CONFIG_USB_MOUSE is not set
891# CONFIG_USB_AIPTEK is not set
892# CONFIG_USB_WACOM is not set
893# CONFIG_USB_ACECAD is not set
894# CONFIG_USB_KBTAB is not set
895# CONFIG_USB_POWERMATE is not set
896# CONFIG_USB_TOUCHSCREEN is not set
897# CONFIG_USB_YEALINK is not set
898# CONFIG_USB_XPAD is not set
899# CONFIG_USB_ATI_REMOTE is not set
900# CONFIG_USB_ATI_REMOTE2 is not set
901# CONFIG_USB_KEYSPAN_REMOTE is not set
902# CONFIG_USB_APPLETOUCH is not set
903
904#
905# USB Imaging devices
906#
907# CONFIG_USB_MDC800 is not set
908# CONFIG_USB_MICROTEK is not set
909
910#
911# USB Network Adapters
912#
913# CONFIG_USB_CATC is not set
914# CONFIG_USB_KAWETH is not set
915# CONFIG_USB_PEGASUS is not set
916# CONFIG_USB_RTL8150 is not set
917# CONFIG_USB_USBNET is not set
918CONFIG_USB_MON=y
919
920#
921# USB port drivers
922#
923
924#
925# USB Serial Converter support
926#
927# CONFIG_USB_SERIAL is not set
928
929#
930# USB Miscellaneous drivers
931#
932# CONFIG_USB_EMI62 is not set
933# CONFIG_USB_EMI26 is not set
934# CONFIG_USB_AUERSWALD is not set
935# CONFIG_USB_RIO500 is not set
936# CONFIG_USB_LEGOTOWER is not set
937# CONFIG_USB_LCD is not set
938# CONFIG_USB_LED is not set
939# CONFIG_USB_CYTHERM is not set
940# CONFIG_USB_PHIDGETKIT is not set
941# CONFIG_USB_PHIDGETSERVO is not set
942# CONFIG_USB_IDMOUSE is not set
943# CONFIG_USB_SISUSBVGA is not set
944# CONFIG_USB_LD is not set
945
946#
947# USB DSL modem support
948#
949
950#
951# USB Gadget Support
952#
953# CONFIG_USB_GADGET is not set
954
955#
956# MMC/SD Card support
957#
958# CONFIG_MMC is not set
959
960#
961# LED devices
962#
963# CONFIG_NEW_LEDS is not set
964
965#
966# LED drivers
967#
968
969#
970# LED Triggers
971#
972
973#
974# InfiniBand support
975#
976# CONFIG_INFINIBAND is not set
977
978#
979# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
980#
981
982#
983# Real Time Clock
984#
985# CONFIG_RTC_CLASS is not set
986
987#
988# File systems
989#
990CONFIG_EXT2_FS=y
991# CONFIG_EXT2_FS_XATTR is not set
992# CONFIG_EXT2_FS_XIP is not set
993CONFIG_EXT3_FS=y
994CONFIG_EXT3_FS_XATTR=y
995# CONFIG_EXT3_FS_POSIX_ACL is not set
996# CONFIG_EXT3_FS_SECURITY is not set
997CONFIG_JBD=y
998# CONFIG_JBD_DEBUG is not set
999CONFIG_FS_MBCACHE=y
1000# CONFIG_REISERFS_FS is not set
1001# CONFIG_JFS_FS is not set
1002# CONFIG_FS_POSIX_ACL is not set
1003CONFIG_XFS_FS=y
1004CONFIG_XFS_QUOTA=y
1005# CONFIG_XFS_SECURITY is not set
1006CONFIG_XFS_POSIX_ACL=y
1007# CONFIG_XFS_RT is not set
1008# CONFIG_OCFS2_FS is not set
1009# CONFIG_MINIX_FS is not set
1010CONFIG_ROMFS_FS=m
1011CONFIG_INOTIFY=y
1012# CONFIG_QUOTA is not set
1013CONFIG_QUOTACTL=y
1014# CONFIG_DNOTIFY is not set
1015# CONFIG_AUTOFS_FS is not set
1016CONFIG_AUTOFS4_FS=y
1017# CONFIG_FUSE_FS is not set
1018
1019#
1020# CD-ROM/DVD Filesystems
1021#
1022# CONFIG_ISO9660_FS is not set
1023# CONFIG_UDF_FS is not set
1024
1025#
1026# DOS/FAT/NT Filesystems
1027#
1028# CONFIG_MSDOS_FS is not set
1029# CONFIG_VFAT_FS is not set
1030# CONFIG_NTFS_FS is not set
1031
1032#
1033# Pseudo filesystems
1034#
1035CONFIG_PROC_FS=y
1036CONFIG_PROC_KCORE=y
1037CONFIG_SYSFS=y
1038CONFIG_TMPFS=y
1039# CONFIG_HUGETLB_PAGE is not set
1040CONFIG_RAMFS=y
1041# CONFIG_CONFIGFS_FS is not set
1042
1043#
1044# Miscellaneous filesystems
1045#
1046# CONFIG_ADFS_FS is not set
1047# CONFIG_AFFS_FS is not set
1048# CONFIG_HFS_FS is not set
1049# CONFIG_HFSPLUS_FS is not set
1050# CONFIG_BEFS_FS is not set
1051# CONFIG_BFS_FS is not set
1052# CONFIG_EFS_FS is not set
1053CONFIG_CRAMFS=m
1054# CONFIG_VXFS_FS is not set
1055# CONFIG_HPFS_FS is not set
1056# CONFIG_QNX4FS_FS is not set
1057# CONFIG_SYSV_FS is not set
1058# CONFIG_UFS_FS is not set
1059
1060#
1061# Network File Systems
1062#
1063CONFIG_NFS_FS=y
1064CONFIG_NFS_V3=y
1065# CONFIG_NFS_V3_ACL is not set
1066# CONFIG_NFS_V4 is not set
1067# CONFIG_NFS_DIRECTIO is not set
1068# CONFIG_NFSD is not set
1069CONFIG_ROOT_NFS=y
1070CONFIG_LOCKD=y
1071CONFIG_LOCKD_V4=y
1072CONFIG_NFS_COMMON=y
1073CONFIG_SUNRPC=y
1074# CONFIG_RPCSEC_GSS_KRB5 is not set
1075# CONFIG_RPCSEC_GSS_SPKM3 is not set
1076# CONFIG_SMB_FS is not set
1077# CONFIG_CIFS is not set
1078# CONFIG_NCP_FS is not set
1079# CONFIG_CODA_FS is not set
1080# CONFIG_AFS_FS is not set
1081# CONFIG_9P_FS is not set
1082
1083#
1084# Partition Types
1085#
1086# CONFIG_PARTITION_ADVANCED is not set
1087CONFIG_MSDOS_PARTITION=y
1088
1089#
1090# Native Language Support
1091#
1092# CONFIG_NLS is not set
1093
1094#
1095# Profiling support
1096#
1097# CONFIG_PROFILING is not set
1098
1099#
1100# Kernel hacking
1101#
1102# CONFIG_PRINTK_TIME is not set
1103# CONFIG_MAGIC_SYSRQ is not set
1104# CONFIG_DEBUG_KERNEL is not set
1105CONFIG_LOG_BUF_SHIFT=14
1106# CONFIG_DEBUG_FS is not set
1107CONFIG_CROSSCOMPILE=y
1108CONFIG_CMDLINE="mem=64M console=ttyVR0,115200 ip=any root=/dev/nfs"
1109
1110#
1111# Security options
1112#
1113# CONFIG_KEYS is not set
1114# CONFIG_SECURITY is not set
1115
1116#
1117# Cryptographic options
1118#
1119# CONFIG_CRYPTO is not set
1120
1121#
1122# Hardware crypto devices
1123#
1124
1125#
1126# Library routines
1127#
1128# CONFIG_CRC_CCITT is not set
1129# CONFIG_CRC16 is not set
1130CONFIG_CRC32=y
1131# CONFIG_LIBCRC32C is not set
1132CONFIG_ZLIB_INFLATE=m
diff --git a/arch/mips/configs/workpad_defconfig b/arch/mips/configs/workpad_defconfig
index 7132e296d40a..ac7765eb8da7 100644
--- a/arch/mips/configs/workpad_defconfig
+++ b/arch/mips/configs/workpad_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.16-rc1 3# Linux kernel version: 2.6.17-rc2
4# Fri Jan 27 15:40:36 2006 4# Tue Apr 25 00:09:33 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -70,6 +70,8 @@ CONFIG_IBM_WORKPAD=y
70# CONFIG_VICTOR_MPC30X is not set 70# CONFIG_VICTOR_MPC30X is not set
71# CONFIG_ZAO_CAPCELLA is not set 71# CONFIG_ZAO_CAPCELLA is not set
72CONFIG_RWSEM_GENERIC_SPINLOCK=y 72CONFIG_RWSEM_GENERIC_SPINLOCK=y
73CONFIG_GENERIC_FIND_NEXT_BIT=y
74CONFIG_GENERIC_HWEIGHT=y
73CONFIG_GENERIC_CALIBRATE_DELAY=y 75CONFIG_GENERIC_CALIBRATE_DELAY=y
74CONFIG_DMA_NONCOHERENT=y 76CONFIG_DMA_NONCOHERENT=y
75CONFIG_DMA_NEED_PCI_MAP_STATE=y 77CONFIG_DMA_NEED_PCI_MAP_STATE=y
@@ -88,7 +90,7 @@ CONFIG_MIPS_L1_CACHE_SHIFT=5
88# CONFIG_CPU_MIPS64_R2 is not set 90# CONFIG_CPU_MIPS64_R2 is not set
89# CONFIG_CPU_R3000 is not set 91# CONFIG_CPU_R3000 is not set
90# CONFIG_CPU_TX39XX is not set 92# CONFIG_CPU_TX39XX is not set
91# CONFIG_CPU_VR41XX is not set 93CONFIG_CPU_VR41XX=y
92# CONFIG_CPU_R4300 is not set 94# CONFIG_CPU_R4300 is not set
93# CONFIG_CPU_R4X00 is not set 95# CONFIG_CPU_R4X00 is not set
94# CONFIG_CPU_TX49XX is not set 96# CONFIG_CPU_TX49XX is not set
@@ -101,18 +103,21 @@ CONFIG_MIPS_L1_CACHE_SHIFT=5
101# CONFIG_CPU_RM7000 is not set 103# CONFIG_CPU_RM7000 is not set
102# CONFIG_CPU_RM9000 is not set 104# CONFIG_CPU_RM9000 is not set
103# CONFIG_CPU_SB1 is not set 105# CONFIG_CPU_SB1 is not set
106CONFIG_SYS_HAS_CPU_VR41XX=y
107CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y
108CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y
109CONFIG_CPU_SUPPORTS_64BIT_KERNEL=y
104 110
105# 111#
106# Kernel type 112# Kernel type
107# 113#
108# CONFIG_32BIT is not set 114CONFIG_32BIT=y
109# CONFIG_64BIT is not set 115# CONFIG_64BIT is not set
110CONFIG_PAGE_SIZE_4KB=y 116CONFIG_PAGE_SIZE_4KB=y
111# CONFIG_PAGE_SIZE_8KB is not set 117# CONFIG_PAGE_SIZE_8KB is not set
112# CONFIG_PAGE_SIZE_16KB is not set 118# CONFIG_PAGE_SIZE_16KB is not set
113# CONFIG_PAGE_SIZE_64KB is not set 119# CONFIG_PAGE_SIZE_64KB is not set
114# CONFIG_MIPS_MT is not set 120# CONFIG_MIPS_MT is not set
115CONFIG_CPU_HAS_LLSC=y
116CONFIG_CPU_HAS_SYNC=y 121CONFIG_CPU_HAS_SYNC=y
117CONFIG_GENERIC_HARDIRQS=y 122CONFIG_GENERIC_HARDIRQS=y
118CONFIG_GENERIC_IRQ_PROBE=y 123CONFIG_GENERIC_IRQ_PROBE=y
@@ -133,7 +138,6 @@ CONFIG_PREEMPT_NONE=y
133# Code maturity level options 138# Code maturity level options
134# 139#
135CONFIG_EXPERIMENTAL=y 140CONFIG_EXPERIMENTAL=y
136CONFIG_CLEAN_COMPILE=y
137CONFIG_BROKEN_ON_SMP=y 141CONFIG_BROKEN_ON_SMP=y
138CONFIG_INIT_ENV_ARG_LIMIT=32 142CONFIG_INIT_ENV_ARG_LIMIT=32
139 143
@@ -149,6 +153,7 @@ CONFIG_SYSVIPC=y
149CONFIG_SYSCTL=y 153CONFIG_SYSCTL=y
150# CONFIG_AUDIT is not set 154# CONFIG_AUDIT is not set
151# CONFIG_IKCONFIG is not set 155# CONFIG_IKCONFIG is not set
156# CONFIG_RELAY is not set
152CONFIG_INITRAMFS_SOURCE="" 157CONFIG_INITRAMFS_SOURCE=""
153# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 158# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
154CONFIG_EMBEDDED=y 159CONFIG_EMBEDDED=y
@@ -162,10 +167,6 @@ CONFIG_BASE_FULL=y
162CONFIG_FUTEX=y 167CONFIG_FUTEX=y
163CONFIG_EPOLL=y 168CONFIG_EPOLL=y
164CONFIG_SHMEM=y 169CONFIG_SHMEM=y
165CONFIG_CC_ALIGN_FUNCTIONS=0
166CONFIG_CC_ALIGN_LABELS=0
167CONFIG_CC_ALIGN_LOOPS=0
168CONFIG_CC_ALIGN_JUMPS=0
169CONFIG_SLAB=y 170CONFIG_SLAB=y
170# CONFIG_TINY_SHMEM is not set 171# CONFIG_TINY_SHMEM is not set
171CONFIG_BASE_SMALL=0 172CONFIG_BASE_SMALL=0
@@ -177,7 +178,6 @@ CONFIG_BASE_SMALL=0
177CONFIG_MODULES=y 178CONFIG_MODULES=y
178CONFIG_MODULE_UNLOAD=y 179CONFIG_MODULE_UNLOAD=y
179# CONFIG_MODULE_FORCE_UNLOAD is not set 180# CONFIG_MODULE_FORCE_UNLOAD is not set
180CONFIG_OBSOLETE_MODPARM=y
181CONFIG_MODVERSIONS=y 181CONFIG_MODVERSIONS=y
182CONFIG_MODULE_SRCVERSION_ALL=y 182CONFIG_MODULE_SRCVERSION_ALL=y
183CONFIG_KMOD=y 183CONFIG_KMOD=y
@@ -185,6 +185,9 @@ CONFIG_KMOD=y
185# 185#
186# Block layer 186# Block layer
187# 187#
188# CONFIG_LBD is not set
189# CONFIG_BLK_DEV_IO_TRACE is not set
190# CONFIG_LSF is not set
188 191
189# 192#
190# IO Schedulers 193# IO Schedulers
@@ -220,6 +223,7 @@ CONFIG_PCMCIA_IOCTL=y
220# CONFIG_I82365 is not set 223# CONFIG_I82365 is not set
221# CONFIG_TCIC is not set 224# CONFIG_TCIC is not set
222CONFIG_PCMCIA_PROBE=y 225CONFIG_PCMCIA_PROBE=y
226CONFIG_PCMCIA_VRC4171=y
223 227
224# 228#
225# PCI Hotplug Support 229# PCI Hotplug Support
@@ -230,6 +234,7 @@ CONFIG_PCMCIA_PROBE=y
230# 234#
231CONFIG_BINFMT_ELF=y 235CONFIG_BINFMT_ELF=y
232# CONFIG_BINFMT_MISC is not set 236# CONFIG_BINFMT_MISC is not set
237CONFIG_TRAD_SIGNALS=y
233 238
234# 239#
235# Networking 240# Networking
@@ -239,6 +244,7 @@ CONFIG_NET=y
239# 244#
240# Networking options 245# Networking options
241# 246#
247# CONFIG_NETDEBUG is not set
242CONFIG_PACKET=y 248CONFIG_PACKET=y
243CONFIG_PACKET_MMAP=y 249CONFIG_PACKET_MMAP=y
244CONFIG_UNIX=y 250CONFIG_UNIX=y
@@ -258,12 +264,15 @@ CONFIG_IP_FIB_HASH=y
258# CONFIG_INET_AH is not set 264# CONFIG_INET_AH is not set
259# CONFIG_INET_ESP is not set 265# CONFIG_INET_ESP is not set
260# CONFIG_INET_IPCOMP is not set 266# CONFIG_INET_IPCOMP is not set
261CONFIG_INET_TUNNEL=m 267# CONFIG_INET_XFRM_TUNNEL is not set
268# CONFIG_INET_TUNNEL is not set
262CONFIG_INET_DIAG=y 269CONFIG_INET_DIAG=y
263CONFIG_INET_TCP_DIAG=y 270CONFIG_INET_TCP_DIAG=y
264# CONFIG_TCP_CONG_ADVANCED is not set 271# CONFIG_TCP_CONG_ADVANCED is not set
265CONFIG_TCP_CONG_BIC=y 272CONFIG_TCP_CONG_BIC=y
266# CONFIG_IPV6 is not set 273# CONFIG_IPV6 is not set
274# CONFIG_INET6_XFRM_TUNNEL is not set
275# CONFIG_INET6_TUNNEL is not set
267# CONFIG_NETFILTER is not set 276# CONFIG_NETFILTER is not set
268 277
269# 278#
@@ -275,6 +284,11 @@ CONFIG_TCP_CONG_BIC=y
275# SCTP Configuration (EXPERIMENTAL) 284# SCTP Configuration (EXPERIMENTAL)
276# 285#
277# CONFIG_IP_SCTP is not set 286# CONFIG_IP_SCTP is not set
287
288#
289# TIPC Configuration (EXPERIMENTAL)
290#
291# CONFIG_TIPC is not set
278# CONFIG_ATM is not set 292# CONFIG_ATM is not set
279# CONFIG_BRIDGE is not set 293# CONFIG_BRIDGE is not set
280# CONFIG_VLAN_8021Q is not set 294# CONFIG_VLAN_8021Q is not set
@@ -284,11 +298,6 @@ CONFIG_TCP_CONG_BIC=y
284# CONFIG_ATALK is not set 298# CONFIG_ATALK is not set
285# CONFIG_X25 is not set 299# CONFIG_X25 is not set
286# CONFIG_LAPB is not set 300# CONFIG_LAPB is not set
287
288#
289# TIPC Configuration (EXPERIMENTAL)
290#
291# CONFIG_TIPC is not set
292# CONFIG_NET_DIVERT is not set 301# CONFIG_NET_DIVERT is not set
293# CONFIG_ECONET is not set 302# CONFIG_ECONET is not set
294# CONFIG_WAN_ROUTER is not set 303# CONFIG_WAN_ROUTER is not set
@@ -305,10 +314,8 @@ CONFIG_TCP_CONG_BIC=y
305# CONFIG_HAMRADIO is not set 314# CONFIG_HAMRADIO is not set
306# CONFIG_IRDA is not set 315# CONFIG_IRDA is not set
307# CONFIG_BT is not set 316# CONFIG_BT is not set
308CONFIG_IEEE80211=m 317# CONFIG_IEEE80211 is not set
309# CONFIG_IEEE80211_DEBUG is not set 318CONFIG_WIRELESS_EXT=y
310CONFIG_IEEE80211_CRYPT_WEP=m
311CONFIG_IEEE80211_CRYPT_CCMP=m
312 319
313# 320#
314# Device Drivers 321# Device Drivers
@@ -347,10 +354,12 @@ CONFIG_CONNECTOR=m
347# CONFIG_BLK_DEV_COW_COMMON is not set 354# CONFIG_BLK_DEV_COW_COMMON is not set
348# CONFIG_BLK_DEV_LOOP is not set 355# CONFIG_BLK_DEV_LOOP is not set
349# CONFIG_BLK_DEV_NBD is not set 356# CONFIG_BLK_DEV_NBD is not set
350# CONFIG_BLK_DEV_RAM is not set 357CONFIG_BLK_DEV_RAM=m
351CONFIG_BLK_DEV_RAM_COUNT=16 358CONFIG_BLK_DEV_RAM_COUNT=16
359CONFIG_BLK_DEV_RAM_SIZE=4096
360# CONFIG_BLK_DEV_INITRD is not set
352# CONFIG_CDROM_PKTCDVD is not set 361# CONFIG_CDROM_PKTCDVD is not set
353CONFIG_ATA_OVER_ETH=m 362# CONFIG_ATA_OVER_ETH is not set
354 363
355# 364#
356# ATA/ATAPI/MFM/RLL support 365# ATA/ATAPI/MFM/RLL support
@@ -468,7 +477,38 @@ CONFIG_MII=m
468# 477#
469# Wireless LAN (non-hamradio) 478# Wireless LAN (non-hamradio)
470# 479#
471# CONFIG_NET_RADIO is not set 480CONFIG_NET_RADIO=y
481# CONFIG_NET_WIRELESS_RTNETLINK is not set
482
483#
484# Obsolete Wireless cards support (pre-802.11)
485#
486# CONFIG_STRIP is not set
487# CONFIG_ARLAN is not set
488# CONFIG_WAVELAN is not set
489# CONFIG_PCMCIA_WAVELAN is not set
490# CONFIG_PCMCIA_NETWAVE is not set
491
492#
493# Wireless 802.11 Frequency Hopping cards support
494#
495# CONFIG_PCMCIA_RAYCS is not set
496
497#
498# Wireless 802.11b ISA/PCI cards support
499#
500CONFIG_HERMES=m
501# CONFIG_ATMEL is not set
502
503#
504# Wireless 802.11b Pcmcia/Cardbus cards support
505#
506CONFIG_PCMCIA_HERMES=m
507# CONFIG_PCMCIA_SPECTRUM is not set
508# CONFIG_AIRO_CS is not set
509# CONFIG_PCMCIA_WL3501 is not set
510# CONFIG_HOSTAP is not set
511CONFIG_NET_WIRELESS=y
472 512
473# 513#
474# PCMCIA network device support 514# PCMCIA network device support
@@ -512,10 +552,7 @@ CONFIG_INPUT=y
512# 552#
513# Userland interfaces 553# Userland interfaces
514# 554#
515CONFIG_INPUT_MOUSEDEV=y 555# CONFIG_INPUT_MOUSEDEV is not set
516CONFIG_INPUT_MOUSEDEV_PSAUX=y
517CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
518CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
519# CONFIG_INPUT_JOYDEV is not set 556# CONFIG_INPUT_JOYDEV is not set
520# CONFIG_INPUT_TSDEV is not set 557# CONFIG_INPUT_TSDEV is not set
521# CONFIG_INPUT_EVDEV is not set 558# CONFIG_INPUT_EVDEV is not set
@@ -533,11 +570,7 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
533# 570#
534# Hardware I/O ports 571# Hardware I/O ports
535# 572#
536CONFIG_SERIO=y 573# CONFIG_SERIO is not set
537# CONFIG_SERIO_I8042 is not set
538CONFIG_SERIO_SERPORT=y
539# CONFIG_SERIO_LIBPS2 is not set
540CONFIG_SERIO_RAW=m
541# CONFIG_GAMEPORT is not set 574# CONFIG_GAMEPORT is not set
542 575
543# 576#
@@ -556,6 +589,10 @@ CONFIG_HW_CONSOLE=y
556# 589#
557# Non-8250 serial port support 590# Non-8250 serial port support
558# 591#
592CONFIG_SERIAL_CORE=y
593CONFIG_SERIAL_CORE_CONSOLE=y
594CONFIG_SERIAL_VR41XX=y
595CONFIG_SERIAL_VR41XX_CONSOLE=y
559CONFIG_UNIX98_PTYS=y 596CONFIG_UNIX98_PTYS=y
560CONFIG_LEGACY_PTYS=y 597CONFIG_LEGACY_PTYS=y
561CONFIG_LEGACY_PTY_COUNT=256 598CONFIG_LEGACY_PTY_COUNT=256
@@ -568,20 +605,7 @@ CONFIG_LEGACY_PTY_COUNT=256
568# 605#
569# Watchdog Cards 606# Watchdog Cards
570# 607#
571CONFIG_WATCHDOG=y 608# CONFIG_WATCHDOG is not set
572# CONFIG_WATCHDOG_NOWAYOUT is not set
573
574#
575# Watchdog Device Drivers
576#
577# CONFIG_SOFT_WATCHDOG is not set
578
579#
580# ISA-based Watchdog Cards
581#
582# CONFIG_PCWATCHDOG is not set
583# CONFIG_MIXCOMWD is not set
584# CONFIG_WDT is not set
585# CONFIG_RTC is not set 609# CONFIG_RTC is not set
586# CONFIG_GEN_RTC is not set 610# CONFIG_GEN_RTC is not set
587# CONFIG_DTLK is not set 611# CONFIG_DTLK is not set
@@ -597,6 +621,7 @@ CONFIG_WATCHDOG=y
597# CONFIG_SYNCLINK_CS is not set 621# CONFIG_SYNCLINK_CS is not set
598# CONFIG_CARDMAN_4000 is not set 622# CONFIG_CARDMAN_4000 is not set
599# CONFIG_CARDMAN_4040 is not set 623# CONFIG_CARDMAN_4040 is not set
624# CONFIG_GPIO_VR41XX is not set
600# CONFIG_RAW_DRIVER is not set 625# CONFIG_RAW_DRIVER is not set
601 626
602# 627#
@@ -632,10 +657,6 @@ CONFIG_WATCHDOG=y
632# 657#
633 658
634# 659#
635# Multimedia Capabilities Port drivers
636#
637
638#
639# Multimedia devices 660# Multimedia devices
640# 661#
641# CONFIG_VIDEO_DEV is not set 662# CONFIG_VIDEO_DEV is not set
@@ -667,6 +688,7 @@ CONFIG_DUMMY_CONSOLE=y
667# 688#
668# CONFIG_USB_ARCH_HAS_HCD is not set 689# CONFIG_USB_ARCH_HAS_HCD is not set
669# CONFIG_USB_ARCH_HAS_OHCI is not set 690# CONFIG_USB_ARCH_HAS_OHCI is not set
691# CONFIG_USB_ARCH_HAS_EHCI is not set
670 692
671# 693#
672# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 694# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
@@ -683,12 +705,30 @@ CONFIG_DUMMY_CONSOLE=y
683# CONFIG_MMC is not set 705# CONFIG_MMC is not set
684 706
685# 707#
708# LED devices
709#
710# CONFIG_NEW_LEDS is not set
711
712#
713# LED drivers
714#
715
716#
717# LED Triggers
718#
719
720#
686# InfiniBand support 721# InfiniBand support
687# 722#
688 723
689# 724#
690# SN Devices 725# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
726#
727
728#
729# Real Time Clock
691# 730#
731# CONFIG_RTC_CLASS is not set
692 732
693# 733#
694# File systems 734# File systems
@@ -710,7 +750,7 @@ CONFIG_FS_POSIX_ACL=y
710CONFIG_INOTIFY=y 750CONFIG_INOTIFY=y
711# CONFIG_QUOTA is not set 751# CONFIG_QUOTA is not set
712CONFIG_DNOTIFY=y 752CONFIG_DNOTIFY=y
713CONFIG_AUTOFS_FS=y 753# CONFIG_AUTOFS_FS is not set
714CONFIG_AUTOFS4_FS=y 754CONFIG_AUTOFS4_FS=y
715CONFIG_FUSE_FS=m 755CONFIG_FUSE_FS=m
716 756
@@ -733,10 +773,9 @@ CONFIG_FUSE_FS=m
733CONFIG_PROC_FS=y 773CONFIG_PROC_FS=y
734CONFIG_PROC_KCORE=y 774CONFIG_PROC_KCORE=y
735CONFIG_SYSFS=y 775CONFIG_SYSFS=y
736# CONFIG_TMPFS is not set 776CONFIG_TMPFS=y
737# CONFIG_HUGETLB_PAGE is not set 777# CONFIG_HUGETLB_PAGE is not set
738CONFIG_RAMFS=y 778CONFIG_RAMFS=y
739CONFIG_RELAYFS_FS=m
740# CONFIG_CONFIGFS_FS is not set 779# CONFIG_CONFIGFS_FS is not set
741 780
742# 781#
@@ -802,44 +841,20 @@ CONFIG_MSDOS_PARTITION=y
802# CONFIG_MAGIC_SYSRQ is not set 841# CONFIG_MAGIC_SYSRQ is not set
803# CONFIG_DEBUG_KERNEL is not set 842# CONFIG_DEBUG_KERNEL is not set
804CONFIG_LOG_BUF_SHIFT=14 843CONFIG_LOG_BUF_SHIFT=14
844# CONFIG_DEBUG_FS is not set
805CONFIG_CROSSCOMPILE=y 845CONFIG_CROSSCOMPILE=y
806CONFIG_CMDLINE="console=ttyVR0,19200 mem=16M" 846CONFIG_CMDLINE="console=ttyVR0,19200 mem=16M"
807 847
808# 848#
809# Security options 849# Security options
810# 850#
811CONFIG_KEYS=y 851# CONFIG_KEYS is not set
812CONFIG_KEYS_DEBUG_PROC_KEYS=y
813# CONFIG_SECURITY is not set 852# CONFIG_SECURITY is not set
814 853
815# 854#
816# Cryptographic options 855# Cryptographic options
817# 856#
818CONFIG_CRYPTO=y 857# CONFIG_CRYPTO is not set
819CONFIG_CRYPTO_HMAC=y
820CONFIG_CRYPTO_NULL=m
821CONFIG_CRYPTO_MD4=m
822CONFIG_CRYPTO_MD5=m
823CONFIG_CRYPTO_SHA1=m
824CONFIG_CRYPTO_SHA256=m
825CONFIG_CRYPTO_SHA512=m
826CONFIG_CRYPTO_WP512=m
827CONFIG_CRYPTO_TGR192=m
828CONFIG_CRYPTO_DES=m
829CONFIG_CRYPTO_BLOWFISH=m
830CONFIG_CRYPTO_TWOFISH=m
831CONFIG_CRYPTO_SERPENT=m
832CONFIG_CRYPTO_AES=m
833CONFIG_CRYPTO_CAST5=m
834CONFIG_CRYPTO_CAST6=m
835CONFIG_CRYPTO_TEA=m
836CONFIG_CRYPTO_ARC4=m
837CONFIG_CRYPTO_KHAZAD=m
838CONFIG_CRYPTO_ANUBIS=m
839CONFIG_CRYPTO_DEFLATE=m
840CONFIG_CRYPTO_MICHAEL_MIC=m
841CONFIG_CRYPTO_CRC32C=m
842# CONFIG_CRYPTO_TEST is not set
843 858
844# 859#
845# Hardware crypto devices 860# Hardware crypto devices
@@ -849,8 +864,6 @@ CONFIG_CRYPTO_CRC32C=m
849# Library routines 864# Library routines
850# 865#
851# CONFIG_CRC_CCITT is not set 866# CONFIG_CRC_CCITT is not set
852CONFIG_CRC16=m 867# CONFIG_CRC16 is not set
853CONFIG_CRC32=y 868CONFIG_CRC32=y
854CONFIG_LIBCRC32C=m 869# CONFIG_LIBCRC32C is not set
855CONFIG_ZLIB_INFLATE=m
856CONFIG_ZLIB_DEFLATE=m
diff --git a/arch/mips/configs/yosemite_defconfig b/arch/mips/configs/yosemite_defconfig
index 67457850941d..b52d709de962 100644
--- a/arch/mips/configs/yosemite_defconfig
+++ b/arch/mips/configs/yosemite_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.16-rc1 3# Linux kernel version: 2.6.17-rc2
4# Fri Jan 27 15:40:37 2006 4# Mon Apr 24 14:51:20 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -65,6 +65,8 @@ CONFIG_PMC_YOSEMITE=y
65# CONFIG_TOSHIBA_RBTX4938 is not set 65# CONFIG_TOSHIBA_RBTX4938 is not set
66# CONFIG_HYPERTRANSPORT is not set 66# CONFIG_HYPERTRANSPORT is not set
67CONFIG_RWSEM_GENERIC_SPINLOCK=y 67CONFIG_RWSEM_GENERIC_SPINLOCK=y
68CONFIG_GENERIC_FIND_NEXT_BIT=y
69CONFIG_GENERIC_HWEIGHT=y
68CONFIG_GENERIC_CALIBRATE_DELAY=y 70CONFIG_GENERIC_CALIBRATE_DELAY=y
69CONFIG_DMA_COHERENT=y 71CONFIG_DMA_COHERENT=y
70CONFIG_CPU_BIG_ENDIAN=y 72CONFIG_CPU_BIG_ENDIAN=y
@@ -116,7 +118,6 @@ CONFIG_PAGE_SIZE_4KB=y
116CONFIG_CPU_HAS_PREFETCH=y 118CONFIG_CPU_HAS_PREFETCH=y
117# CONFIG_MIPS_MT is not set 119# CONFIG_MIPS_MT is not set
118# CONFIG_64BIT_PHYS_ADDR is not set 120# CONFIG_64BIT_PHYS_ADDR is not set
119# CONFIG_CPU_ADVANCED is not set
120CONFIG_CPU_HAS_LLSC=y 121CONFIG_CPU_HAS_LLSC=y
121CONFIG_CPU_HAS_SYNC=y 122CONFIG_CPU_HAS_SYNC=y
122CONFIG_GENERIC_HARDIRQS=y 123CONFIG_GENERIC_HARDIRQS=y
@@ -140,7 +141,6 @@ CONFIG_PREEMPT_BKL=y
140# Code maturity level options 141# Code maturity level options
141# 142#
142# CONFIG_EXPERIMENTAL is not set 143# CONFIG_EXPERIMENTAL is not set
143CONFIG_CLEAN_COMPILE=y
144CONFIG_LOCK_KERNEL=y 144CONFIG_LOCK_KERNEL=y
145CONFIG_INIT_ENV_ARG_LIMIT=32 145CONFIG_INIT_ENV_ARG_LIMIT=32
146 146
@@ -157,6 +157,7 @@ CONFIG_SYSCTL=y
157CONFIG_IKCONFIG=y 157CONFIG_IKCONFIG=y
158CONFIG_IKCONFIG_PROC=y 158CONFIG_IKCONFIG_PROC=y
159# CONFIG_CPUSETS is not set 159# CONFIG_CPUSETS is not set
160CONFIG_RELAY=y
160CONFIG_INITRAMFS_SOURCE="" 161CONFIG_INITRAMFS_SOURCE=""
161CONFIG_EMBEDDED=y 162CONFIG_EMBEDDED=y
162CONFIG_KALLSYMS=y 163CONFIG_KALLSYMS=y
@@ -170,10 +171,6 @@ CONFIG_BASE_FULL=y
170CONFIG_FUTEX=y 171CONFIG_FUTEX=y
171CONFIG_EPOLL=y 172CONFIG_EPOLL=y
172CONFIG_SHMEM=y 173CONFIG_SHMEM=y
173CONFIG_CC_ALIGN_FUNCTIONS=0
174CONFIG_CC_ALIGN_LABELS=0
175CONFIG_CC_ALIGN_LOOPS=0
176CONFIG_CC_ALIGN_JUMPS=0
177CONFIG_SLAB=y 174CONFIG_SLAB=y
178# CONFIG_TINY_SHMEM is not set 175# CONFIG_TINY_SHMEM is not set
179CONFIG_BASE_SMALL=0 176CONFIG_BASE_SMALL=0
@@ -184,7 +181,6 @@ CONFIG_BASE_SMALL=0
184# 181#
185CONFIG_MODULES=y 182CONFIG_MODULES=y
186CONFIG_MODULE_UNLOAD=y 183CONFIG_MODULE_UNLOAD=y
187CONFIG_OBSOLETE_MODPARM=y
188# CONFIG_MODVERSIONS is not set 184# CONFIG_MODVERSIONS is not set
189# CONFIG_MODULE_SRCVERSION_ALL is not set 185# CONFIG_MODULE_SRCVERSION_ALL is not set
190CONFIG_KMOD=y 186CONFIG_KMOD=y
@@ -194,6 +190,8 @@ CONFIG_STOP_MACHINE=y
194# Block layer 190# Block layer
195# 191#
196# CONFIG_LBD is not set 192# CONFIG_LBD is not set
193# CONFIG_BLK_DEV_IO_TRACE is not set
194# CONFIG_LSF is not set
197 195
198# 196#
199# IO Schedulers 197# IO Schedulers
@@ -213,7 +211,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
213# 211#
214CONFIG_HW_HAS_PCI=y 212CONFIG_HW_HAS_PCI=y
215CONFIG_PCI=y 213CONFIG_PCI=y
216CONFIG_PCI_LEGACY_PROC=y
217# CONFIG_PCI_DEBUG is not set 214# CONFIG_PCI_DEBUG is not set
218CONFIG_MMU=y 215CONFIG_MMU=y
219 216
@@ -241,6 +238,7 @@ CONFIG_NET=y
241# 238#
242# Networking options 239# Networking options
243# 240#
241# CONFIG_NETDEBUG is not set
244CONFIG_PACKET=m 242CONFIG_PACKET=m
245CONFIG_PACKET_MMAP=y 243CONFIG_PACKET_MMAP=y
246CONFIG_UNIX=y 244CONFIG_UNIX=y
@@ -261,16 +259,19 @@ CONFIG_IP_PNP_BOOTP=y
261# CONFIG_INET_AH is not set 259# CONFIG_INET_AH is not set
262# CONFIG_INET_ESP is not set 260# CONFIG_INET_ESP is not set
263# CONFIG_INET_IPCOMP is not set 261# CONFIG_INET_IPCOMP is not set
264CONFIG_INET_TUNNEL=m 262# CONFIG_INET_XFRM_TUNNEL is not set
263# CONFIG_INET_TUNNEL is not set
265CONFIG_INET_DIAG=y 264CONFIG_INET_DIAG=y
266CONFIG_INET_TCP_DIAG=y 265CONFIG_INET_TCP_DIAG=y
267# CONFIG_TCP_CONG_ADVANCED is not set 266# CONFIG_TCP_CONG_ADVANCED is not set
268CONFIG_TCP_CONG_BIC=y 267CONFIG_TCP_CONG_BIC=y
269CONFIG_IPV6=m 268CONFIG_IPV6=m
270CONFIG_IPV6_PRIVACY=y 269CONFIG_IPV6_PRIVACY=y
270CONFIG_IPV6_ROUTER_PREF=y
271CONFIG_INET6_AH=m 271CONFIG_INET6_AH=m
272CONFIG_INET6_ESP=m 272CONFIG_INET6_ESP=m
273CONFIG_INET6_IPCOMP=m 273CONFIG_INET6_IPCOMP=m
274CONFIG_INET6_XFRM_TUNNEL=m
274CONFIG_INET6_TUNNEL=m 275CONFIG_INET6_TUNNEL=m
275CONFIG_IPV6_TUNNEL=m 276CONFIG_IPV6_TUNNEL=m
276# CONFIG_NETFILTER is not set 277# CONFIG_NETFILTER is not set
@@ -340,10 +341,9 @@ CONFIG_CONNECTOR=m
340# CONFIG_BLK_DEV_NBD is not set 341# CONFIG_BLK_DEV_NBD is not set
341# CONFIG_BLK_DEV_SX8 is not set 342# CONFIG_BLK_DEV_SX8 is not set
342# CONFIG_BLK_DEV_RAM is not set 343# CONFIG_BLK_DEV_RAM is not set
343CONFIG_BLK_DEV_RAM_COUNT=16 344# CONFIG_BLK_DEV_INITRD is not set
344CONFIG_CDROM_PKTCDVD=m 345CONFIG_CDROM_PKTCDVD=m
345CONFIG_CDROM_PKTCDVD_BUFFERS=8 346CONFIG_CDROM_PKTCDVD_BUFFERS=8
346# CONFIG_CDROM_PKTCDVD_WCACHE is not set
347CONFIG_ATA_OVER_ETH=m 347CONFIG_ATA_OVER_ETH=m
348 348
349# 349#
@@ -433,6 +433,7 @@ CONFIG_MII=y
433# CONFIG_HAMACHI is not set 433# CONFIG_HAMACHI is not set
434# CONFIG_R8169 is not set 434# CONFIG_R8169 is not set
435# CONFIG_SIS190 is not set 435# CONFIG_SIS190 is not set
436# CONFIG_SKGE is not set
436# CONFIG_SK98LIN is not set 437# CONFIG_SK98LIN is not set
437# CONFIG_TIGON3 is not set 438# CONFIG_TIGON3 is not set
438# CONFIG_BNX2 is not set 439# CONFIG_BNX2 is not set
@@ -497,6 +498,7 @@ CONFIG_TITAN_GE=y
497# 498#
498CONFIG_SERIAL_8250=y 499CONFIG_SERIAL_8250=y
499CONFIG_SERIAL_8250_CONSOLE=y 500CONFIG_SERIAL_8250_CONSOLE=y
501CONFIG_SERIAL_8250_PCI=y
500CONFIG_SERIAL_8250_NR_UARTS=4 502CONFIG_SERIAL_8250_NR_UARTS=4
501CONFIG_SERIAL_8250_RUNTIME_UARTS=4 503CONFIG_SERIAL_8250_RUNTIME_UARTS=4
502# CONFIG_SERIAL_8250_EXTENDED is not set 504# CONFIG_SERIAL_8250_EXTENDED is not set
@@ -506,6 +508,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4
506# 508#
507CONFIG_SERIAL_CORE=y 509CONFIG_SERIAL_CORE=y
508CONFIG_SERIAL_CORE_CONSOLE=y 510CONFIG_SERIAL_CORE_CONSOLE=y
511# CONFIG_SERIAL_JSM is not set
509CONFIG_UNIX98_PTYS=y 512CONFIG_UNIX98_PTYS=y
510CONFIG_LEGACY_PTYS=y 513CONFIG_LEGACY_PTYS=y
511CONFIG_LEGACY_PTY_COUNT=256 514CONFIG_LEGACY_PTY_COUNT=256
@@ -563,10 +566,6 @@ CONFIG_GEN_RTC_X=y
563# 566#
564 567
565# 568#
566# Multimedia Capabilities Port drivers
567#
568
569#
570# Multimedia devices 569# Multimedia devices
571# 570#
572# CONFIG_VIDEO_DEV is not set 571# CONFIG_VIDEO_DEV is not set
@@ -591,6 +590,7 @@ CONFIG_GEN_RTC_X=y
591# 590#
592CONFIG_USB_ARCH_HAS_HCD=y 591CONFIG_USB_ARCH_HAS_HCD=y
593CONFIG_USB_ARCH_HAS_OHCI=y 592CONFIG_USB_ARCH_HAS_OHCI=y
593CONFIG_USB_ARCH_HAS_EHCI=y
594# CONFIG_USB is not set 594# CONFIG_USB is not set
595 595
596# 596#
@@ -608,12 +608,29 @@ CONFIG_USB_ARCH_HAS_OHCI=y
608# CONFIG_MMC is not set 608# CONFIG_MMC is not set
609 609
610# 610#
611# LED devices
612#
613# CONFIG_NEW_LEDS is not set
614
615#
616# LED drivers
617#
618
619#
620# LED Triggers
621#
622
623#
611# InfiniBand support 624# InfiniBand support
612# 625#
613# CONFIG_INFINIBAND is not set 626# CONFIG_INFINIBAND is not set
614 627
615# 628#
616# SN Devices 629# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
630#
631
632#
633# Real Time Clock
617# 634#
618 635
619# 636#
@@ -656,7 +673,6 @@ CONFIG_SYSFS=y
656CONFIG_TMPFS=y 673CONFIG_TMPFS=y
657# CONFIG_HUGETLB_PAGE is not set 674# CONFIG_HUGETLB_PAGE is not set
658CONFIG_RAMFS=y 675CONFIG_RAMFS=y
659CONFIG_RELAYFS_FS=m
660 676
661# 677#
662# Miscellaneous filesystems 678# Miscellaneous filesystems
diff --git a/arch/mips/ddb5xxx/ddb5074/Makefile b/arch/mips/ddb5xxx/ddb5074/Makefile
index 488206b8d94e..304c02107b46 100644
--- a/arch/mips/ddb5xxx/ddb5074/Makefile
+++ b/arch/mips/ddb5xxx/ddb5074/Makefile
@@ -3,6 +3,6 @@
3# under Linux. 3# under Linux.
4# 4#
5 5
6obj-y += setup.o irq.o int-handler.o nile4_pic.o 6obj-y += setup.o irq.o nile4_pic.o
7 7
8EXTRA_AFLAGS := $(CFLAGS) 8EXTRA_AFLAGS := $(CFLAGS)
diff --git a/arch/mips/ddb5xxx/ddb5074/int-handler.S b/arch/mips/ddb5xxx/ddb5074/int-handler.S
deleted file mode 100644
index a78644150b37..000000000000
--- a/arch/mips/ddb5xxx/ddb5074/int-handler.S
+++ /dev/null
@@ -1,120 +0,0 @@
1/*
2 * arch/mips/ddb5074/int-handler.S -- NEC DDB Vrc-5074 interrupt handler
3 *
4 * Based on arch/mips/sgi/kernel/indyIRQ.S
5 *
6 * Copyright (C) 1996 David S. Miller (dm@engr.sgi.com)
7 *
8 * Copyright (C) 2000 Geert Uytterhoeven <geert@sonycom.com>
9 * Sony Software Development Center Europe (SDCE), Brussels
10 */
11#include <asm/asm.h>
12#include <asm/mipsregs.h>
13#include <asm/regdef.h>
14#include <asm/stackframe.h>
15
16/* A lot of complication here is taken away because:
17 *
18 * 1) We handle one interrupt and return, sitting in a loop and moving across
19 * all the pending IRQ bits in the cause register is _NOT_ the answer, the
20 * common case is one pending IRQ so optimize in that direction.
21 *
22 * 2) We need not check against bits in the status register IRQ mask, that
23 * would make this routine slow as hell.
24 *
25 * 3) Linux only thinks in terms of all IRQs on or all IRQs off, nothing in
26 * between like BSD spl() brain-damage.
27 *
28 * Furthermore, the IRQs on the INDY look basically (barring software IRQs
29 * which we don't use at all) like:
30 *
31 * MIPS IRQ Source
32 * -------- ------
33 * 0 Software (ignored)
34 * 1 Software (ignored)
35 * 2 Local IRQ level zero
36 * 3 Local IRQ level one
37 * 4 8254 Timer zero
38 * 5 8254 Timer one
39 * 6 Bus Error
40 * 7 R4k timer (what we use)
41 *
42 * We handle the IRQ according to _our_ priority which is:
43 *
44 * Highest ---- R4k Timer
45 * Local IRQ zero
46 * Local IRQ one
47 * Bus Error
48 * 8254 Timer zero
49 * Lowest ---- 8254 Timer one
50 *
51 * then we just return, if multiple IRQs are pending then we will just take
52 * another exception, big deal.
53 */
54
55 .text
56 .set noreorder
57 .set noat
58 .align 5
59 NESTED(ddbIRQ, PT_SIZE, sp)
60 SAVE_ALL
61 CLI
62 .set at
63 mfc0 s0, CP0_CAUSE # get irq mask
64
65#if 1
66 mfc0 t2,CP0_STATUS # get enabled interrupts
67 and s0,t2 # isolate allowed ones
68#endif
69 /* First we check for r4k counter/timer IRQ. */
70 andi a0, s0, CAUSEF_IP2 # delay slot, check local level zero
71 beq a0, zero, 1f
72 andi a0, s0, CAUSEF_IP3 # delay slot, check local level one
73
74 /* Wheee, local level zero interrupt. */
75 jal ddb_local0_irqdispatch
76 move a0, sp # delay slot
77
78 j ret_from_irq
79 nop # delay slot
80
811:
82 beq a0, zero, 1f
83 andi a0, s0, CAUSEF_IP6 # delay slot, check bus error
84
85 /* Wheee, local level one interrupt. */
86 move a0, sp
87 jal ddb_local1_irqdispatch
88 nop
89
90 j ret_from_irq
91 nop
92
931:
94 beq a0, zero, 1f
95 nop
96
97 /* Wheee, an asynchronous bus error... */
98 move a0, sp
99 jal ddb_buserror_irq
100 nop
101
102 j ret_from_irq
103 nop
104
1051:
106 /* Here by mistake? This is possible, what can happen
107 * is that by the time we take the exception the IRQ
108 * pin goes low, so just leave if this is the case.
109 */
110 andi a0, s0, (CAUSEF_IP4 | CAUSEF_IP5)
111 beq a0, zero, 1f
112
113 /* Must be one of the 8254 timers... */
114 move a0, sp
115 jal ddb_8254timer_irq
116 nop
1171:
118 j ret_from_irq
119 nop
120 END(ddbIRQ)
diff --git a/arch/mips/ddb5xxx/ddb5074/irq.c b/arch/mips/ddb5xxx/ddb5074/irq.c
index 45088a1be414..60c087b7738c 100644
--- a/arch/mips/ddb5xxx/ddb5074/irq.c
+++ b/arch/mips/ddb5xxx/ddb5074/irq.c
@@ -21,8 +21,6 @@
21#include <asm/ddb5xxx/ddb5074.h> 21#include <asm/ddb5xxx/ddb5074.h>
22 22
23 23
24extern asmlinkage void ddbIRQ(void);
25
26static struct irqaction irq_cascade = { no_action, 0, CPU_MASK_NONE, "cascade", NULL, NULL }; 24static struct irqaction irq_cascade = { no_action, 0, CPU_MASK_NONE, "cascade", NULL, NULL };
27 25
28#define M1543_PNP_CONFIG 0x03f0 /* PnP Config Port */ 26#define M1543_PNP_CONFIG 0x03f0 /* PnP Config Port */
@@ -90,7 +88,7 @@ static void m1543_irq_setup(void)
90 88
91} 89}
92 90
93void ddb_local0_irqdispatch(struct pt_regs *regs) 91static void ddb_local0_irqdispatch(struct pt_regs *regs)
94{ 92{
95 u32 mask; 93 u32 mask;
96 int nile4_irq; 94 int nile4_irq;
@@ -118,29 +116,41 @@ void ddb_local0_irqdispatch(struct pt_regs *regs)
118 } 116 }
119} 117}
120 118
121void ddb_local1_irqdispatch(void) 119static void ddb_local1_irqdispatch(void)
122{ 120{
123 printk("ddb_local1_irqdispatch called\n"); 121 printk("ddb_local1_irqdispatch called\n");
124} 122}
125 123
126void ddb_buserror_irq(void) 124static void ddb_buserror_irq(void)
127{ 125{
128 printk("ddb_buserror_irq called\n"); 126 printk("ddb_buserror_irq called\n");
129} 127}
130 128
131void ddb_8254timer_irq(void) 129static void ddb_8254timer_irq(void)
132{ 130{
133 printk("ddb_8254timer_irq called\n"); 131 printk("ddb_8254timer_irq called\n");
134} 132}
135 133
134asmlinkage void plat_irq_dispatch(struct pt_regs *regs)
135{
136 unsigned int pending = read_c0_cause() & read_c0_status();
137
138 if (pending & CAUSEF_IP2)
139 ddb_local0_irqdispatch(regs);
140 else if (pending & CAUSEF_IP3)
141 ddb_local1_irqdispatch();
142 else if (pending & CAUSEF_IP6)
143 ddb_buserror_irq();
144 else if (pending & (CAUSEF_IP4 | CAUSEF_IP5))
145 ddb_8254timer_irq();
146}
147
136void __init arch_init_irq(void) 148void __init arch_init_irq(void)
137{ 149{
138 /* setup cascade interrupts */ 150 /* setup cascade interrupts */
139 setup_irq(NILE4_IRQ_BASE + NILE4_INT_INTE, &irq_cascade); 151 setup_irq(NILE4_IRQ_BASE + NILE4_INT_INTE, &irq_cascade);
140 setup_irq(CPU_IRQ_BASE + CPU_NILE4_CASCADE, &irq_cascade); 152 setup_irq(CPU_IRQ_BASE + CPU_NILE4_CASCADE, &irq_cascade);
141 153
142 set_except_vector(0, ddbIRQ);
143
144 nile4_irq_setup(NILE4_IRQ_BASE); 154 nile4_irq_setup(NILE4_IRQ_BASE);
145 m1543_irq_setup(); 155 m1543_irq_setup();
146 init_i8259_irqs(); 156 init_i8259_irqs();
diff --git a/arch/mips/ddb5xxx/ddb5476/Makefile b/arch/mips/ddb5xxx/ddb5476/Makefile
index 61eec363cb02..ab0312cb47b4 100644
--- a/arch/mips/ddb5xxx/ddb5476/Makefile
+++ b/arch/mips/ddb5xxx/ddb5476/Makefile
@@ -3,7 +3,7 @@
3# under Linux. 3# under Linux.
4# 4#
5 5
6obj-y += setup.o irq.o int-handler.o nile4_pic.o vrc5476_irq.o 6obj-y += setup.o irq.o nile4_pic.o vrc5476_irq.o
7obj-$(CONFIG_KGDB) += dbg_io.o 7obj-$(CONFIG_KGDB) += dbg_io.o
8 8
9EXTRA_AFLAGS := $(CFLAGS) 9EXTRA_AFLAGS := $(CFLAGS)
diff --git a/arch/mips/ddb5xxx/ddb5476/dbg_io.c b/arch/mips/ddb5xxx/ddb5476/dbg_io.c
index 85e9e5013679..f2296a999953 100644
--- a/arch/mips/ddb5xxx/ddb5476/dbg_io.c
+++ b/arch/mips/ddb5xxx/ddb5476/dbg_io.c
@@ -86,7 +86,7 @@ void debugInit(uint32 baud, uint8 data, uint8 parity, uint8 stop)
86 /* disable interrupts */ 86 /* disable interrupts */
87 UART16550_WRITE(OFS_INTR_ENABLE, 0); 87 UART16550_WRITE(OFS_INTR_ENABLE, 0);
88 88
89 /* set up buad rate */ 89 /* set up baud rate */
90 { 90 {
91 uint32 divisor; 91 uint32 divisor;
92 92
diff --git a/arch/mips/ddb5xxx/ddb5476/int-handler.S b/arch/mips/ddb5xxx/ddb5476/int-handler.S
deleted file mode 100644
index 12c292e189ba..000000000000
--- a/arch/mips/ddb5xxx/ddb5476/int-handler.S
+++ /dev/null
@@ -1,112 +0,0 @@
1/*
2 * Copyright 2001 MontaVista Software Inc.
3 * Author: jsun@mvista.com or jsun@junsun.net
4 *
5 * First-level interrupt dispatcher for ddb5476
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#include <asm/asm.h>
13#include <asm/mipsregs.h>
14#include <asm/addrspace.h>
15#include <asm/regdef.h>
16#include <asm/stackframe.h>
17
18#include <asm/ddb5xxx/ddb5476.h>
19
20/*
21 * first level interrupt dispatcher for ocelot board -
22 * We check for the timer first, then check PCI ints A and D.
23 * Then check for serial IRQ and fall through.
24 */
25 .align 5
26 NESTED(ddb5476_handle_int, PT_SIZE, sp)
27 SAVE_ALL
28 CLI
29 .set at
30 .set noreorder
31 mfc0 t0, CP0_CAUSE
32 mfc0 t2, CP0_STATUS
33
34 and t0, t2
35
36 andi t1, t0, STATUSF_IP7 /* cpu timer */
37 bnez t1, ll_cpu_ip7
38 andi t1, t0, STATUSF_IP2 /* vrc5476 & i8259 */
39 bnez t1, ll_cpu_ip2
40 andi t1, t0, STATUSF_IP3
41 bnez t1, ll_cpu_ip3
42 andi t1, t0, STATUSF_IP4
43 bnez t1, ll_cpu_ip4
44 andi t1, t0, STATUSF_IP5
45 bnez t1, ll_cpu_ip5
46 andi t1, t0, STATUSF_IP6
47 bnez t1, ll_cpu_ip6
48 andi t1, t0, STATUSF_IP0 /* software int 0 */
49 bnez t1, ll_cpu_ip0
50 andi t1, t0, STATUSF_IP1 /* software int 1 */
51 bnez t1, ll_cpu_ip1
52 nop
53
54 .set reorder
55
56 /* wrong alarm or masked ... */
57 // j spurious_interrupt
58 move a0, sp
59 jal vrc5476_irq_dispatch
60 j ret_from_irq
61 nop
62
63 .align 5
64
65ll_cpu_ip0:
66 li a0, CPU_IRQ_BASE + 0
67 move a1, sp
68 jal do_IRQ
69 j ret_from_irq
70
71ll_cpu_ip1:
72 li a0, CPU_IRQ_BASE + 1
73 move a1, sp
74 jal do_IRQ
75 j ret_from_irq
76
77ll_cpu_ip2: /* jump to second-level dispatching */
78 move a0, sp
79 jal vrc5476_irq_dispatch
80 j ret_from_irq
81
82ll_cpu_ip3:
83 li a0, CPU_IRQ_BASE + 3
84 move a1, sp
85 jal do_IRQ
86 j ret_from_irq
87
88ll_cpu_ip4:
89 li a0, CPU_IRQ_BASE + 4
90 move a1, sp
91 jal do_IRQ
92 j ret_from_irq
93
94ll_cpu_ip5:
95 li a0, CPU_IRQ_BASE + 5
96 move a1, sp
97 jal do_IRQ
98 j ret_from_irq
99
100ll_cpu_ip6:
101 li a0, CPU_IRQ_BASE + 6
102 move a1, sp
103 jal do_IRQ
104 j ret_from_irq
105
106ll_cpu_ip7:
107 li a0, CPU_IRQ_BASE + 7
108 move a1, sp
109 jal do_IRQ
110 j ret_from_irq
111
112 END(ddb5476_handle_int)
diff --git a/arch/mips/ddb5xxx/ddb5476/irq.c b/arch/mips/ddb5xxx/ddb5476/irq.c
index 5388b5868c4a..7583a1f30711 100644
--- a/arch/mips/ddb5xxx/ddb5476/irq.c
+++ b/arch/mips/ddb5xxx/ddb5476/irq.c
@@ -110,11 +110,36 @@ static void nile4_irq_setup(void)
110static struct irqaction irq_cascade = { no_action, 0, CPU_MASK_NONE, "cascade", NULL, NULL }; 110static struct irqaction irq_cascade = { no_action, 0, CPU_MASK_NONE, "cascade", NULL, NULL };
111static struct irqaction irq_error = { no_action, 0, CPU_MASK_NONE, "error", NULL, NULL }; 111static struct irqaction irq_error = { no_action, 0, CPU_MASK_NONE, "error", NULL, NULL };
112 112
113extern asmlinkage void ddb5476_handle_int(void);
114extern int setup_irq(unsigned int irq, struct irqaction *irqaction); 113extern int setup_irq(unsigned int irq, struct irqaction *irqaction);
115extern void mips_cpu_irq_init(u32 irq_base); 114extern void mips_cpu_irq_init(u32 irq_base);
116extern void vrc5476_irq_init(u32 irq_base); 115extern void vrc5476_irq_init(u32 irq_base);
117 116
117extern void vrc5476_irq_dispatch(struct pt_regs *regs);
118
119asmlinkage void plat_irq_dispatch(struct pt_regs *regs)
120{
121 unsigned int pending = read_c0_cause() & read_c0_status();
122
123 if (pending & STATUSF_IP7)
124 do_IRQ(CPU_IRQ_BASE + 7, regs);
125 else if (pending & STATUSF_IP2)
126 vrc5476_irq_dispatch(regs);
127 else if (pending & STATUSF_IP3)
128 do_IRQ(CPU_IRQ_BASE + 3, regs);
129 else if (pending & STATUSF_IP4)
130 do_IRQ(CPU_IRQ_BASE + 4, regs);
131 else if (pending & STATUSF_IP5)
132 do_IRQ(CPU_IRQ_BASE + 5, regs);
133 else if (pending & STATUSF_IP6)
134 do_IRQ(CPU_IRQ_BASE + 6, regs);
135 else if (pending & STATUSF_IP0)
136 do_IRQ(CPU_IRQ_BASE, regs);
137 else if (pending & STATUSF_IP1)
138 do_IRQ(CPU_IRQ_BASE + 1, regs);
139
140 vrc5476_irq_dispatch(regs);
141}
142
118void __init arch_init_irq(void) 143void __init arch_init_irq(void)
119{ 144{
120 /* hardware initialization */ 145 /* hardware initialization */
@@ -137,7 +162,4 @@ void __init arch_init_irq(void)
137 setup_irq(VRC5476_IRQ_BASE + VRC5476_IRQ_LBRT, &irq_error); 162 setup_irq(VRC5476_IRQ_BASE + VRC5476_IRQ_LBRT, &irq_error);
138 setup_irq(VRC5476_IRQ_BASE + VRC5476_IRQ_PCIS, &irq_error); 163 setup_irq(VRC5476_IRQ_BASE + VRC5476_IRQ_PCIS, &irq_error);
139 setup_irq(VRC5476_IRQ_BASE + VRC5476_IRQ_PCI, &irq_error); 164 setup_irq(VRC5476_IRQ_BASE + VRC5476_IRQ_PCI, &irq_error);
140
141 /* setup the grandpa intr vector */
142 set_except_vector(0, ddb5476_handle_int);
143} 165}
diff --git a/arch/mips/ddb5xxx/ddb5476/vrc5476_irq.c b/arch/mips/ddb5xxx/ddb5476/vrc5476_irq.c
index f66fe5b58636..a3c5e7b18018 100644
--- a/arch/mips/ddb5xxx/ddb5476/vrc5476_irq.c
+++ b/arch/mips/ddb5xxx/ddb5476/vrc5476_irq.c
@@ -77,11 +77,9 @@ vrc5476_irq_init(u32 base)
77} 77}
78 78
79 79
80asmlinkage void 80void
81vrc5476_irq_dispatch(struct pt_regs *regs) 81vrc5476_irq_dispatch(struct pt_regs *regs)
82{ 82{
83 extern void spurious_interrupt(void);
84
85 u32 mask; 83 u32 mask;
86 int nile4_irq; 84 int nile4_irq;
87 85
@@ -107,5 +105,5 @@ vrc5476_irq_dispatch(struct pt_regs *regs)
107 return; 105 return;
108 } 106 }
109 } 107 }
110 spurious_interrupt(); 108 spurious_interrupt(regs);
111} 109}
diff --git a/arch/mips/ddb5xxx/ddb5477/Makefile b/arch/mips/ddb5xxx/ddb5477/Makefile
index b79b43c9f93b..ea68815ad17a 100644
--- a/arch/mips/ddb5xxx/ddb5477/Makefile
+++ b/arch/mips/ddb5xxx/ddb5477/Makefile
@@ -2,7 +2,7 @@
2# Makefile for NEC DDB-Vrc5477 board 2# Makefile for NEC DDB-Vrc5477 board
3# 3#
4 4
5obj-y += int-handler.o irq.o irq_5477.o setup.o lcd44780.o 5obj-y += irq.o irq_5477.o setup.o lcd44780.o
6 6
7obj-$(CONFIG_RUNTIME_DEBUG) += debug.o 7obj-$(CONFIG_RUNTIME_DEBUG) += debug.o
8obj-$(CONFIG_KGDB) += kgdb_io.o 8obj-$(CONFIG_KGDB) += kgdb_io.o
diff --git a/arch/mips/ddb5xxx/ddb5477/int-handler.S b/arch/mips/ddb5xxx/ddb5477/int-handler.S
deleted file mode 100644
index a2502a14400e..000000000000
--- a/arch/mips/ddb5xxx/ddb5477/int-handler.S
+++ /dev/null
@@ -1,75 +0,0 @@
1/*
2 * Copyright 2001 MontaVista Software Inc.
3 * Author: jsun@mvista.com or jsun@junsun.net
4 *
5 * First-level interrupt dispatcher for ddb5477
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#include <asm/asm.h>
13#include <asm/mipsregs.h>
14#include <asm/addrspace.h>
15#include <asm/regdef.h>
16#include <asm/stackframe.h>
17#include <asm/ddb5xxx/ddb5477.h>
18
19/*
20 * first level interrupt dispatcher for ocelot board -
21 * We check for the timer first, then check PCI ints A and D.
22 * Then check for serial IRQ and fall through.
23 */
24 .align 5
25 NESTED(ddb5477_handle_int, PT_SIZE, sp)
26 SAVE_ALL
27 CLI
28 .set at
29 .set noreorder
30 mfc0 t0, CP0_CAUSE
31 mfc0 t2, CP0_STATUS
32
33 and t0, t2
34
35 andi t1, t0, STATUSF_IP7 /* cpu timer */
36 bnez t1, ll_cputimer_irq
37 andi t1, t0, (STATUSF_IP2 | STATUSF_IP3 | STATUSF_IP4 | STATUSF_IP5 | STATUSF_IP6 )
38 bnez t1, ll_vrc5477_irq
39 andi t1, t0, STATUSF_IP0 /* software int 0 */
40 bnez t1, ll_cpu_ip0
41 andi t1, t0, STATUSF_IP1 /* software int 1 */
42 bnez t1, ll_cpu_ip1
43 nop
44 .set reorder
45
46 /* wrong alarm or masked ... */
47 j spurious_interrupt
48 nop
49 END(ddb5477_handle_int)
50
51 .align 5
52
53ll_vrc5477_irq:
54 move a0, sp
55 jal vrc5477_irq_dispatch
56 j ret_from_irq
57
58ll_cputimer_irq:
59 li a0, CPU_IRQ_BASE + 7
60 move a1, sp
61 jal do_IRQ
62 j ret_from_irq
63
64
65ll_cpu_ip0:
66 li a0, CPU_IRQ_BASE + 0
67 move a1, sp
68 jal do_IRQ
69 j ret_from_irq
70
71ll_cpu_ip1:
72 li a0, CPU_IRQ_BASE + 1
73 move a1, sp
74 jal do_IRQ
75 j ret_from_irq
diff --git a/arch/mips/ddb5xxx/ddb5477/irq.c b/arch/mips/ddb5xxx/ddb5477/irq.c
index 9ffe1a9142ca..de433cf9fb50 100644
--- a/arch/mips/ddb5xxx/ddb5477/irq.c
+++ b/arch/mips/ddb5xxx/ddb5477/irq.c
@@ -75,7 +75,6 @@ set_pci_int_attr(u32 pci, u32 intn, u32 active, u32 trigger)
75 75
76extern void vrc5477_irq_init(u32 base); 76extern void vrc5477_irq_init(u32 base);
77extern void mips_cpu_irq_init(u32 base); 77extern void mips_cpu_irq_init(u32 base);
78extern asmlinkage void ddb5477_handle_int(void);
79extern int setup_irq(unsigned int irq, struct irqaction *irqaction); 78extern int setup_irq(unsigned int irq, struct irqaction *irqaction);
80static struct irqaction irq_cascade = { no_action, 0, CPU_MASK_NONE, "cascade", NULL, NULL }; 79static struct irqaction irq_cascade = { no_action, 0, CPU_MASK_NONE, "cascade", NULL, NULL };
81 80
@@ -135,9 +134,6 @@ void __init arch_init_irq(void)
135 /* setup cascade interrupts */ 134 /* setup cascade interrupts */
136 setup_irq(VRC5477_IRQ_BASE + VRC5477_I8259_CASCADE, &irq_cascade); 135 setup_irq(VRC5477_IRQ_BASE + VRC5477_I8259_CASCADE, &irq_cascade);
137 setup_irq(CPU_IRQ_BASE + CPU_VRC5477_CASCADE, &irq_cascade); 136 setup_irq(CPU_IRQ_BASE + CPU_VRC5477_CASCADE, &irq_cascade);
138
139 /* hook up the first-level interrupt handler */
140 set_except_vector(0, ddb5477_handle_int);
141} 137}
142 138
143u8 i8259_interrupt_ack(void) 139u8 i8259_interrupt_ack(void)
@@ -159,7 +155,7 @@ u8 i8259_interrupt_ack(void)
159 * the first level int-handler will jump here if it is a vrc5477 irq 155 * the first level int-handler will jump here if it is a vrc5477 irq
160 */ 156 */
161#define NUM_5477_IRQS 32 157#define NUM_5477_IRQS 32
162asmlinkage void 158static void
163vrc5477_irq_dispatch(struct pt_regs *regs) 159vrc5477_irq_dispatch(struct pt_regs *regs)
164{ 160{
165 u32 intStatus; 161 u32 intStatus;
@@ -197,3 +193,21 @@ vrc5477_irq_dispatch(struct pt_regs *regs)
197 } 193 }
198 } 194 }
199} 195}
196
197#define VR5477INTS (STATUSF_IP2|STATUSF_IP3|STATUSF_IP4|STATUSF_IP5|STATUSF_IP6)
198
199asmlinkage void plat_irq_dispatch(struct pt_regs *regs)
200{
201 unsigned int pending = read_c0_cause() & read_c0_status();
202
203 if (pending & STATUSF_IP7)
204 do_IRQ(CPU_IRQ_BASE + 7, regs);
205 else if (pending & VR5477INTS)
206 vrc5477_irq_dispatch(regs);
207 else if (pending & STATUSF_IP0)
208 do_IRQ(CPU_IRQ_BASE, regs);
209 else if (pending & STATUSF_IP1)
210 do_IRQ(CPU_IRQ_BASE + 1, regs);
211 else
212 spurious_interrupt(regs);
213}
diff --git a/arch/mips/ddb5xxx/ddb5477/kgdb_io.c b/arch/mips/ddb5xxx/ddb5477/kgdb_io.c
index 1d18d590495b..385bbdb10170 100644
--- a/arch/mips/ddb5xxx/ddb5477/kgdb_io.c
+++ b/arch/mips/ddb5xxx/ddb5477/kgdb_io.c
@@ -86,7 +86,7 @@ void debugInit(uint32 baud, uint8 data, uint8 parity, uint8 stop)
86 /* disable interrupts */ 86 /* disable interrupts */
87 UART16550_WRITE(OFS_INTR_ENABLE, 0); 87 UART16550_WRITE(OFS_INTR_ENABLE, 0);
88 88
89 /* set up buad rate */ 89 /* set up baud rate */
90 { 90 {
91 uint32 divisor; 91 uint32 divisor;
92 92
diff --git a/arch/mips/dec/boot/decstation.c b/arch/mips/dec/boot/decstation.c
index 56fd4277555e..4db8bacaf22d 100644
--- a/arch/mips/dec/boot/decstation.c
+++ b/arch/mips/dec/boot/decstation.c
@@ -1,6 +1,7 @@
1/* 1/*
2 * arch/mips/dec/decstation.c 2 * arch/mips/dec/decstation.c
3 */ 3 */
4#include <asm/sections.h>
4 5
5#define RELOC 6#define RELOC
6#define INITRD 7#define INITRD
@@ -24,7 +25,7 @@
24#define INITRD_START (*(unsigned long *) (PARAM+0x218)) 25#define INITRD_START (*(unsigned long *) (PARAM+0x218))
25#define INITRD_SIZE (*(unsigned long *) (PARAM+0x21c)) 26#define INITRD_SIZE (*(unsigned long *) (PARAM+0x21c))
26 27
27extern int _ftext, _end; /* begin and end of kernel image */ 28extern int _ftext; /* begin and end of kernel image */
28extern void kernel_entry(int, char **, unsigned long, int *); 29extern void kernel_entry(int, char **, unsigned long, int *);
29 30
30void * memcpy(void * dest, const void *src, unsigned int count) 31void * memcpy(void * dest, const void *src, unsigned int count)
diff --git a/arch/mips/dec/int-handler.S b/arch/mips/dec/int-handler.S
index 41fa372007bf..e8ec93e33fe6 100644
--- a/arch/mips/dec/int-handler.S
+++ b/arch/mips/dec/int-handler.S
@@ -36,7 +36,7 @@
36 .text 36 .text
37 .set noreorder 37 .set noreorder
38/* 38/*
39 * decstation_handle_int: Interrupt handler for DECstations 39 * plat_irq_dispatch: Interrupt handler for DECstations
40 * 40 *
41 * We follow the model in the Indy interrupt code by David Miller, where he 41 * We follow the model in the Indy interrupt code by David Miller, where he
42 * says: a lot of complication here is taken away because: 42 * says: a lot of complication here is taken away because:
@@ -125,11 +125,7 @@
125 * just take another exception, big deal. 125 * just take another exception, big deal.
126 */ 126 */
127 .align 5 127 .align 5
128 NESTED(decstation_handle_int, PT_SIZE, ra) 128 NESTED(plat_irq_dispatch, PT_SIZE, ra)
129 .set noat
130 SAVE_ALL
131 CLI # TEST: interrupts should be off
132 .set at
133 .set noreorder 129 .set noreorder
134 130
135 /* 131 /*
@@ -282,9 +278,11 @@ fpu:
282#endif 278#endif
283 279
284spurious: 280spurious:
285 j spurious_interrupt 281 jal spurious_interrupt
286 nop 282 nop
287 END(decstation_handle_int) 283 j ret_from_irq
284 nop
285 END(plat_irq_dispatch)
288 286
289/* 287/*
290 * Generic unimplemented interrupt routines -- cpu_mask_nr_tbl 288 * Generic unimplemented interrupt routines -- cpu_mask_nr_tbl
diff --git a/arch/mips/dec/setup.c b/arch/mips/dec/setup.c
index 7c1ca8f6330e..ad5d436d80c1 100644
--- a/arch/mips/dec/setup.c
+++ b/arch/mips/dec/setup.c
@@ -48,8 +48,6 @@ extern void dec_machine_halt(void);
48extern void dec_machine_power_off(void); 48extern void dec_machine_power_off(void);
49extern irqreturn_t dec_intr_halt(int irq, void *dev_id, struct pt_regs *regs); 49extern irqreturn_t dec_intr_halt(int irq, void *dev_id, struct pt_regs *regs);
50 50
51extern asmlinkage void decstation_handle_int(void);
52
53unsigned long dec_kn_slot_base, dec_kn_slot_size; 51unsigned long dec_kn_slot_base, dec_kn_slot_size;
54 52
55EXPORT_SYMBOL(dec_kn_slot_base); 53EXPORT_SYMBOL(dec_kn_slot_base);
@@ -744,7 +742,6 @@ void __init arch_init_irq(void)
744 panic("Don't know how to set this up!"); 742 panic("Don't know how to set this up!");
745 break; 743 break;
746 } 744 }
747 set_except_vector(0, decstation_handle_int);
748 745
749 /* Free the FPU interrupt if the exception is present. */ 746 /* Free the FPU interrupt if the exception is present. */
750 if (!cpu_has_nofpuex) { 747 if (!cpu_has_nofpuex) {
diff --git a/arch/mips/defconfig b/arch/mips/defconfig
index 42d5cd7927cb..607e2985ffe3 100644
--- a/arch/mips/defconfig
+++ b/arch/mips/defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.16-rc1 3# Linux kernel version: 2.6.17-rc2
4# Fri Jan 27 15:39:51 2006 4# Mon Apr 24 14:50:54 2006
5# 5#
6CONFIG_MIPS=y 6CONFIG_MIPS=y
7 7
@@ -64,6 +64,8 @@ CONFIG_SGI_IP22=y
64# CONFIG_TOSHIBA_RBTX4927 is not set 64# CONFIG_TOSHIBA_RBTX4927 is not set
65# CONFIG_TOSHIBA_RBTX4938 is not set 65# CONFIG_TOSHIBA_RBTX4938 is not set
66CONFIG_RWSEM_GENERIC_SPINLOCK=y 66CONFIG_RWSEM_GENERIC_SPINLOCK=y
67CONFIG_GENERIC_FIND_NEXT_BIT=y
68CONFIG_GENERIC_HWEIGHT=y
67CONFIG_GENERIC_CALIBRATE_DELAY=y 69CONFIG_GENERIC_CALIBRATE_DELAY=y
68CONFIG_ARC=y 70CONFIG_ARC=y
69CONFIG_DMA_NONCOHERENT=y 71CONFIG_DMA_NONCOHERENT=y
@@ -121,7 +123,6 @@ CONFIG_BOARD_SCACHE=y
121CONFIG_IP22_CPU_SCACHE=y 123CONFIG_IP22_CPU_SCACHE=y
122# CONFIG_MIPS_MT is not set 124# CONFIG_MIPS_MT is not set
123# CONFIG_64BIT_PHYS_ADDR is not set 125# CONFIG_64BIT_PHYS_ADDR is not set
124# CONFIG_CPU_ADVANCED is not set
125CONFIG_CPU_HAS_LLSC=y 126CONFIG_CPU_HAS_LLSC=y
126CONFIG_CPU_HAS_SYNC=y 127CONFIG_CPU_HAS_SYNC=y
127CONFIG_GENERIC_HARDIRQS=y 128CONFIG_GENERIC_HARDIRQS=y
@@ -143,7 +144,6 @@ CONFIG_PREEMPT_VOLUNTARY=y
143# Code maturity level options 144# Code maturity level options
144# 145#
145CONFIG_EXPERIMENTAL=y 146CONFIG_EXPERIMENTAL=y
146CONFIG_CLEAN_COMPILE=y
147CONFIG_BROKEN_ON_SMP=y 147CONFIG_BROKEN_ON_SMP=y
148CONFIG_INIT_ENV_ARG_LIMIT=32 148CONFIG_INIT_ENV_ARG_LIMIT=32
149 149
@@ -160,6 +160,7 @@ CONFIG_SYSCTL=y
160# CONFIG_AUDIT is not set 160# CONFIG_AUDIT is not set
161CONFIG_IKCONFIG=y 161CONFIG_IKCONFIG=y
162CONFIG_IKCONFIG_PROC=y 162CONFIG_IKCONFIG_PROC=y
163CONFIG_RELAY=y
163CONFIG_INITRAMFS_SOURCE="" 164CONFIG_INITRAMFS_SOURCE=""
164# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 165# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
165CONFIG_EMBEDDED=y 166CONFIG_EMBEDDED=y
@@ -173,10 +174,6 @@ CONFIG_BASE_FULL=y
173CONFIG_FUTEX=y 174CONFIG_FUTEX=y
174CONFIG_EPOLL=y 175CONFIG_EPOLL=y
175CONFIG_SHMEM=y 176CONFIG_SHMEM=y
176CONFIG_CC_ALIGN_FUNCTIONS=0
177CONFIG_CC_ALIGN_LABELS=0
178CONFIG_CC_ALIGN_LOOPS=0
179CONFIG_CC_ALIGN_JUMPS=0
180CONFIG_SLAB=y 177CONFIG_SLAB=y
181# CONFIG_TINY_SHMEM is not set 178# CONFIG_TINY_SHMEM is not set
182CONFIG_BASE_SMALL=0 179CONFIG_BASE_SMALL=0
@@ -188,7 +185,6 @@ CONFIG_BASE_SMALL=0
188CONFIG_MODULES=y 185CONFIG_MODULES=y
189CONFIG_MODULE_UNLOAD=y 186CONFIG_MODULE_UNLOAD=y
190# CONFIG_MODULE_FORCE_UNLOAD is not set 187# CONFIG_MODULE_FORCE_UNLOAD is not set
191CONFIG_OBSOLETE_MODPARM=y
192CONFIG_MODVERSIONS=y 188CONFIG_MODVERSIONS=y
193CONFIG_MODULE_SRCVERSION_ALL=y 189CONFIG_MODULE_SRCVERSION_ALL=y
194CONFIG_KMOD=y 190CONFIG_KMOD=y
@@ -197,6 +193,8 @@ CONFIG_KMOD=y
197# Block layer 193# Block layer
198# 194#
199# CONFIG_LBD is not set 195# CONFIG_LBD is not set
196# CONFIG_BLK_DEV_IO_TRACE is not set
197# CONFIG_LSF is not set
200 198
201# 199#
202# IO Schedulers 200# IO Schedulers
@@ -242,6 +240,7 @@ CONFIG_NET=y
242# 240#
243# Networking options 241# Networking options
244# 242#
243# CONFIG_NETDEBUG is not set
245CONFIG_PACKET=y 244CONFIG_PACKET=y
246CONFIG_PACKET_MMAP=y 245CONFIG_PACKET_MMAP=y
247CONFIG_UNIX=y 246CONFIG_UNIX=y
@@ -264,6 +263,7 @@ CONFIG_IP_PNP_BOOTP=y
264CONFIG_INET_AH=m 263CONFIG_INET_AH=m
265CONFIG_INET_ESP=m 264CONFIG_INET_ESP=m
266CONFIG_INET_IPCOMP=m 265CONFIG_INET_IPCOMP=m
266CONFIG_INET_XFRM_TUNNEL=m
267CONFIG_INET_TUNNEL=m 267CONFIG_INET_TUNNEL=m
268CONFIG_INET_DIAG=y 268CONFIG_INET_DIAG=y
269CONFIG_INET_TCP_DIAG=y 269CONFIG_INET_TCP_DIAG=y
@@ -305,9 +305,12 @@ CONFIG_IP_VS_NQ=m
305CONFIG_IP_VS_FTP=m 305CONFIG_IP_VS_FTP=m
306CONFIG_IPV6=m 306CONFIG_IPV6=m
307CONFIG_IPV6_PRIVACY=y 307CONFIG_IPV6_PRIVACY=y
308CONFIG_IPV6_ROUTER_PREF=y
309CONFIG_IPV6_ROUTE_INFO=y
308CONFIG_INET6_AH=m 310CONFIG_INET6_AH=m
309CONFIG_INET6_ESP=m 311CONFIG_INET6_ESP=m
310CONFIG_INET6_IPCOMP=m 312CONFIG_INET6_IPCOMP=m
313CONFIG_INET6_XFRM_TUNNEL=m
311CONFIG_INET6_TUNNEL=m 314CONFIG_INET6_TUNNEL=m
312CONFIG_IPV6_TUNNEL=m 315CONFIG_IPV6_TUNNEL=m
313CONFIG_NETFILTER=y 316CONFIG_NETFILTER=y
@@ -330,11 +333,14 @@ CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
330CONFIG_NETFILTER_XT_MATCH_CONNMARK=m 333CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
331CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m 334CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
332CONFIG_NETFILTER_XT_MATCH_DCCP=m 335CONFIG_NETFILTER_XT_MATCH_DCCP=m
336CONFIG_NETFILTER_XT_MATCH_ESP=m
333CONFIG_NETFILTER_XT_MATCH_HELPER=m 337CONFIG_NETFILTER_XT_MATCH_HELPER=m
334CONFIG_NETFILTER_XT_MATCH_LENGTH=m 338CONFIG_NETFILTER_XT_MATCH_LENGTH=m
335CONFIG_NETFILTER_XT_MATCH_LIMIT=m 339CONFIG_NETFILTER_XT_MATCH_LIMIT=m
336CONFIG_NETFILTER_XT_MATCH_MAC=m 340CONFIG_NETFILTER_XT_MATCH_MAC=m
337CONFIG_NETFILTER_XT_MATCH_MARK=m 341CONFIG_NETFILTER_XT_MATCH_MARK=m
342CONFIG_NETFILTER_XT_MATCH_POLICY=m
343CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
338CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m 344CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
339CONFIG_NETFILTER_XT_MATCH_REALM=m 345CONFIG_NETFILTER_XT_MATCH_REALM=m
340CONFIG_NETFILTER_XT_MATCH_SCTP=m 346CONFIG_NETFILTER_XT_MATCH_SCTP=m
@@ -357,20 +363,19 @@ CONFIG_IP_NF_IRC=m
357CONFIG_IP_NF_TFTP=m 363CONFIG_IP_NF_TFTP=m
358CONFIG_IP_NF_AMANDA=m 364CONFIG_IP_NF_AMANDA=m
359CONFIG_IP_NF_PPTP=m 365CONFIG_IP_NF_PPTP=m
366CONFIG_IP_NF_H323=m
360CONFIG_IP_NF_QUEUE=m 367CONFIG_IP_NF_QUEUE=m
361CONFIG_IP_NF_IPTABLES=m 368CONFIG_IP_NF_IPTABLES=m
362CONFIG_IP_NF_MATCH_IPRANGE=m 369CONFIG_IP_NF_MATCH_IPRANGE=m
363CONFIG_IP_NF_MATCH_MULTIPORT=m
364CONFIG_IP_NF_MATCH_TOS=m 370CONFIG_IP_NF_MATCH_TOS=m
365CONFIG_IP_NF_MATCH_RECENT=m 371CONFIG_IP_NF_MATCH_RECENT=m
366CONFIG_IP_NF_MATCH_ECN=m 372CONFIG_IP_NF_MATCH_ECN=m
367CONFIG_IP_NF_MATCH_DSCP=m 373CONFIG_IP_NF_MATCH_DSCP=m
368CONFIG_IP_NF_MATCH_AH_ESP=m 374CONFIG_IP_NF_MATCH_AH=m
369CONFIG_IP_NF_MATCH_TTL=m 375CONFIG_IP_NF_MATCH_TTL=m
370CONFIG_IP_NF_MATCH_OWNER=m 376CONFIG_IP_NF_MATCH_OWNER=m
371CONFIG_IP_NF_MATCH_ADDRTYPE=m 377CONFIG_IP_NF_MATCH_ADDRTYPE=m
372CONFIG_IP_NF_MATCH_HASHLIMIT=m 378CONFIG_IP_NF_MATCH_HASHLIMIT=m
373CONFIG_IP_NF_MATCH_POLICY=m
374CONFIG_IP_NF_FILTER=m 379CONFIG_IP_NF_FILTER=m
375CONFIG_IP_NF_TARGET_REJECT=m 380CONFIG_IP_NF_TARGET_REJECT=m
376CONFIG_IP_NF_TARGET_LOG=m 381CONFIG_IP_NF_TARGET_LOG=m
@@ -388,6 +393,7 @@ CONFIG_IP_NF_NAT_FTP=m
388CONFIG_IP_NF_NAT_TFTP=m 393CONFIG_IP_NF_NAT_TFTP=m
389CONFIG_IP_NF_NAT_AMANDA=m 394CONFIG_IP_NF_NAT_AMANDA=m
390CONFIG_IP_NF_NAT_PPTP=m 395CONFIG_IP_NF_NAT_PPTP=m
396CONFIG_IP_NF_NAT_H323=m
391CONFIG_IP_NF_MANGLE=m 397CONFIG_IP_NF_MANGLE=m
392CONFIG_IP_NF_TARGET_TOS=m 398CONFIG_IP_NF_TARGET_TOS=m
393CONFIG_IP_NF_TARGET_ECN=m 399CONFIG_IP_NF_TARGET_ECN=m
@@ -408,12 +414,10 @@ CONFIG_IP6_NF_MATCH_RT=m
408CONFIG_IP6_NF_MATCH_OPTS=m 414CONFIG_IP6_NF_MATCH_OPTS=m
409CONFIG_IP6_NF_MATCH_FRAG=m 415CONFIG_IP6_NF_MATCH_FRAG=m
410CONFIG_IP6_NF_MATCH_HL=m 416CONFIG_IP6_NF_MATCH_HL=m
411CONFIG_IP6_NF_MATCH_MULTIPORT=m
412CONFIG_IP6_NF_MATCH_OWNER=m 417CONFIG_IP6_NF_MATCH_OWNER=m
413CONFIG_IP6_NF_MATCH_IPV6HEADER=m 418CONFIG_IP6_NF_MATCH_IPV6HEADER=m
414CONFIG_IP6_NF_MATCH_AHESP=m 419CONFIG_IP6_NF_MATCH_AH=m
415CONFIG_IP6_NF_MATCH_EUI64=m 420CONFIG_IP6_NF_MATCH_EUI64=m
416CONFIG_IP6_NF_MATCH_POLICY=m
417CONFIG_IP6_NF_FILTER=m 421CONFIG_IP6_NF_FILTER=m
418CONFIG_IP6_NF_TARGET_LOG=m 422CONFIG_IP6_NF_TARGET_LOG=m
419CONFIG_IP6_NF_TARGET_REJECT=m 423CONFIG_IP6_NF_TARGET_REJECT=m
@@ -435,6 +439,11 @@ CONFIG_IP_SCTP=m
435# CONFIG_SCTP_HMAC_NONE is not set 439# CONFIG_SCTP_HMAC_NONE is not set
436# CONFIG_SCTP_HMAC_SHA1 is not set 440# CONFIG_SCTP_HMAC_SHA1 is not set
437CONFIG_SCTP_HMAC_MD5=y 441CONFIG_SCTP_HMAC_MD5=y
442
443#
444# TIPC Configuration (EXPERIMENTAL)
445#
446# CONFIG_TIPC is not set
438# CONFIG_ATM is not set 447# CONFIG_ATM is not set
439# CONFIG_BRIDGE is not set 448# CONFIG_BRIDGE is not set
440# CONFIG_VLAN_8021Q is not set 449# CONFIG_VLAN_8021Q is not set
@@ -444,11 +453,6 @@ CONFIG_SCTP_HMAC_MD5=y
444# CONFIG_ATALK is not set 453# CONFIG_ATALK is not set
445# CONFIG_X25 is not set 454# CONFIG_X25 is not set
446# CONFIG_LAPB is not set 455# CONFIG_LAPB is not set
447
448#
449# TIPC Configuration (EXPERIMENTAL)
450#
451# CONFIG_TIPC is not set
452CONFIG_NET_DIVERT=y 456CONFIG_NET_DIVERT=y
453# CONFIG_ECONET is not set 457# CONFIG_ECONET is not set
454# CONFIG_WAN_ROUTER is not set 458# CONFIG_WAN_ROUTER is not set
@@ -508,6 +512,9 @@ CONFIG_IEEE80211=m
508# CONFIG_IEEE80211_DEBUG is not set 512# CONFIG_IEEE80211_DEBUG is not set
509CONFIG_IEEE80211_CRYPT_WEP=m 513CONFIG_IEEE80211_CRYPT_WEP=m
510CONFIG_IEEE80211_CRYPT_CCMP=m 514CONFIG_IEEE80211_CRYPT_CCMP=m
515CONFIG_IEEE80211_SOFTMAC=m
516# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set
517CONFIG_WIRELESS_EXT=y
511 518
512# 519#
513# Device Drivers 520# Device Drivers
@@ -546,7 +553,7 @@ CONFIG_CONNECTOR=m
546# CONFIG_BLK_DEV_LOOP is not set 553# CONFIG_BLK_DEV_LOOP is not set
547# CONFIG_BLK_DEV_NBD is not set 554# CONFIG_BLK_DEV_NBD is not set
548# CONFIG_BLK_DEV_RAM is not set 555# CONFIG_BLK_DEV_RAM is not set
549CONFIG_BLK_DEV_RAM_COUNT=16 556# CONFIG_BLK_DEV_INITRD is not set
550CONFIG_CDROM_PKTCDVD=m 557CONFIG_CDROM_PKTCDVD=m
551CONFIG_CDROM_PKTCDVD_BUFFERS=8 558CONFIG_CDROM_PKTCDVD_BUFFERS=8
552# CONFIG_CDROM_PKTCDVD_WCACHE is not set 559# CONFIG_CDROM_PKTCDVD_WCACHE is not set
@@ -812,10 +819,6 @@ CONFIG_MAX_RAW_DEVS=256
812# 819#
813 820
814# 821#
815# Multimedia Capabilities Port drivers
816#
817
818#
819# Multimedia devices 822# Multimedia devices
820# 823#
821# CONFIG_VIDEO_DEV is not set 824# CONFIG_VIDEO_DEV is not set
@@ -857,6 +860,7 @@ CONFIG_LOGO_SGI_CLUT224=y
857# 860#
858# CONFIG_USB_ARCH_HAS_HCD is not set 861# CONFIG_USB_ARCH_HAS_HCD is not set
859# CONFIG_USB_ARCH_HAS_OHCI is not set 862# CONFIG_USB_ARCH_HAS_OHCI is not set
863# CONFIG_USB_ARCH_HAS_EHCI is not set
860 864
861# 865#
862# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 866# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
@@ -873,12 +877,30 @@ CONFIG_LOGO_SGI_CLUT224=y
873# CONFIG_MMC is not set 877# CONFIG_MMC is not set
874 878
875# 879#
880# LED devices
881#
882# CONFIG_NEW_LEDS is not set
883
884#
885# LED drivers
886#
887
888#
889# LED Triggers
890#
891
892#
876# InfiniBand support 893# InfiniBand support
877# 894#
878 895
879# 896#
880# SN Devices 897# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
898#
899
900#
901# Real Time Clock
881# 902#
903# CONFIG_RTC_CLASS is not set
882 904
883# 905#
884# File systems 906# File systems
@@ -944,7 +966,6 @@ CONFIG_SYSFS=y
944# CONFIG_TMPFS is not set 966# CONFIG_TMPFS is not set
945# CONFIG_HUGETLB_PAGE is not set 967# CONFIG_HUGETLB_PAGE is not set
946CONFIG_RAMFS=y 968CONFIG_RAMFS=y
947CONFIG_RELAYFS_FS=m
948# CONFIG_CONFIGFS_FS is not set 969# CONFIG_CONFIGFS_FS is not set
949 970
950# 971#
@@ -963,7 +984,6 @@ CONFIG_EFS_FS=m
963# CONFIG_QNX4FS_FS is not set 984# CONFIG_QNX4FS_FS is not set
964# CONFIG_SYSV_FS is not set 985# CONFIG_SYSV_FS is not set
965CONFIG_UFS_FS=m 986CONFIG_UFS_FS=m
966# CONFIG_UFS_FS_WRITE is not set
967 987
968# 988#
969# Network File Systems 989# Network File Systems
@@ -1078,6 +1098,7 @@ CONFIG_NLS_UTF8=m
1078# CONFIG_MAGIC_SYSRQ is not set 1098# CONFIG_MAGIC_SYSRQ is not set
1079# CONFIG_DEBUG_KERNEL is not set 1099# CONFIG_DEBUG_KERNEL is not set
1080CONFIG_LOG_BUF_SHIFT=14 1100CONFIG_LOG_BUF_SHIFT=14
1101# CONFIG_DEBUG_FS is not set
1081CONFIG_CROSSCOMPILE=y 1102CONFIG_CROSSCOMPILE=y
1082CONFIG_CMDLINE="" 1103CONFIG_CMDLINE=""
1083 1104
diff --git a/arch/mips/galileo-boards/ev96100/Makefile b/arch/mips/galileo-boards/ev96100/Makefile
index 58c02f9db69d..cd868ec78cbc 100644
--- a/arch/mips/galileo-boards/ev96100/Makefile
+++ b/arch/mips/galileo-boards/ev96100/Makefile
@@ -6,4 +6,4 @@
6# Makefile for the Galileo EV96100 board. 6# Makefile for the Galileo EV96100 board.
7# 7#
8 8
9obj-y += init.o irq.o puts.o reset.o time.o int-handler.o setup.o 9obj-y += init.o irq.o puts.o reset.o time.o setup.o
diff --git a/arch/mips/galileo-boards/ev96100/int-handler.S b/arch/mips/galileo-boards/ev96100/int-handler.S
deleted file mode 100644
index ff4d10a38859..000000000000
--- a/arch/mips/galileo-boards/ev96100/int-handler.S
+++ /dev/null
@@ -1,33 +0,0 @@
1#include <asm/asm.h>
2#include <asm/mipsregs.h>
3#include <asm/regdef.h>
4#include <asm/stackframe.h>
5
6 .set noat
7 .align 5
8
9NESTED(ev96100IRQ, PT_SIZE, sp)
10 SAVE_ALL
11 CLI # Important: mark KERNEL mode !
12
13 mfc0 t0, CP0_CAUSE # get pending interrupts
14 mfc0 t1, CP0_STATUS # get enabled interrupts
15 and t0, t1 # isolate allowed ones
16
17 # FIX ME add R7000 extensions
18 andi t0,0xff00 # isolate pending bits
19 andi a0, t0, CAUSEF_IP7
20 beq a0, zero, 1f
21 move a0, sp
22 jal mips_timer_interrupt
23 j ret_from_irq
24
251: beqz t0, 3f # spurious interrupt
26
27 move a0, t0
28 move a1, sp
29 jal ev96100_cpu_irq
30 j ret_from_irq
31
323: j spurious_interrupt
33 END(ev96100IRQ)
diff --git a/arch/mips/galileo-boards/ev96100/irq.c b/arch/mips/galileo-boards/ev96100/irq.c
index 97bf094da4fe..ee5d6720f23b 100644
--- a/arch/mips/galileo-boards/ev96100/irq.c
+++ b/arch/mips/galileo-boards/ev96100/irq.c
@@ -40,8 +40,6 @@
40#include <linux/interrupt.h> 40#include <linux/interrupt.h>
41#include <asm/irq_cpu.h> 41#include <asm/irq_cpu.h>
42 42
43extern asmlinkage void ev96100IRQ(void);
44
45static inline unsigned int ffz8(unsigned int word) 43static inline unsigned int ffz8(unsigned int word)
46{ 44{
47 unsigned long k; 45 unsigned long k;
@@ -54,13 +52,26 @@ static inline unsigned int ffz8(unsigned int word)
54 return k; 52 return k;
55} 53}
56 54
57asmlinkage void ev96100_cpu_irq(unsigned int pendin) 55extern void mips_timer_interrupt(struct pt_regs *regs);
56
57asmlinkage void ev96100_cpu_irq(unsigned int pending, struct pt_regs *regs)
58{ 58{
59 do_IRQ(ffz8(pending >> 8), regs); 59 do_IRQ(ffz8(pending >> 8), regs);
60} 60}
61 61
62asmlinkage void plat_irq_dispatch(struct pt_regs *regs)
63{
64 unsigned int pending = read_c0_cause() & read_c0_status() & ST0_IM;
65
66 if (pending & CAUSEF_IP7)
67 mips_timer_interrupt(regs);
68 else if (pending)
69 ev96100_cpu_irq(pending, regs);
70 else
71 spurious_interrupt(regs);
72}
73
62void __init arch_init_irq(void) 74void __init arch_init_irq(void)
63{ 75{
64 set_except_vector(0, ev96100IRQ);
65 mips_cpu_irq_init(0); 76 mips_cpu_irq_init(0);
66} 77}
diff --git a/arch/mips/gt64120/ev64120/Makefile b/arch/mips/gt64120/ev64120/Makefile
index ebe91c57e173..b2c53a8f8718 100644
--- a/arch/mips/gt64120/ev64120/Makefile
+++ b/arch/mips/gt64120/ev64120/Makefile
@@ -6,6 +6,6 @@
6# Makefile for the Galileo EV64120 board. 6# Makefile for the Galileo EV64120 board.
7# 7#
8 8
9obj-y += int-handler.o irq.o promcon.o reset.o serialGT.o setup.o 9obj-y += irq.o promcon.o reset.o serialGT.o setup.o
10 10
11EXTRA_AFLAGS := $(CFLAGS) 11EXTRA_AFLAGS := $(CFLAGS)
diff --git a/arch/mips/gt64120/ev64120/int-handler.S b/arch/mips/gt64120/ev64120/int-handler.S
deleted file mode 100644
index 752435faf2de..000000000000
--- a/arch/mips/gt64120/ev64120/int-handler.S
+++ /dev/null
@@ -1,113 +0,0 @@
1/*
2 * int-handler.S
3 *
4 * Based on the cobalt handler.
5 */
6#include <asm/asm.h>
7#include <asm/mipsregs.h>
8#include <asm/addrspace.h>
9#include <asm/regdef.h>
10#include <asm/stackframe.h>
11
12/*
13 * galileo_handle_int -
14 * We check for the timer first, then check PCI ints A and D.
15 * Then check for serial IRQ and fall through.
16 */
17 .align 5
18 .set reorder
19 .set noat
20 NESTED(galileo_handle_int, PT_SIZE, sp)
21 SAVE_ALL
22 CLI
23 .set at
24 mfc0 t0,CP0_CAUSE
25 mfc0 t2,CP0_STATUS
26
27 and t0,t2
28
29 andi t1,t0,STATUSF_IP4 /* int2 hardware line (timer) */
30 bnez t1,ll_gt64120_irq
31 andi t1,t0,STATUSF_IP2 /* int0 hardware line */
32 bnez t1,ll_pci_intA
33 andi t1,t0,STATUSF_IP5 /* int3 hardware line */
34 bnez t1,ll_pci_intD
35 andi t1,t0,STATUSF_IP6 /* int4 hardware line */
36 bnez t1,ll_serial_irq
37 andi t1,t0,STATUSF_IP7 /* compare int */
38 bnez t1,ll_compare_irq
39 nop
40
41 /* wrong alarm or masked ... */
42 j spurious_interrupt
43 nop
44 END(galileo_handle_int)
45
46
47 .align 5
48 .set reorder
49ll_gt64120_irq:
50 li a0,4
51 move a1,sp
52 jal do_IRQ
53 nop
54 j ret_from_irq
55 nop
56
57 .align 5
58 .set reorder
59ll_compare_irq:
60 li a0,7
61 move a1,sp
62 jal do_IRQ
63 nop
64 j ret_from_irq
65 nop
66
67 .align 5
68 .set reorder
69ll_pci_intA:
70 move a0,sp
71 jal pci_intA
72 nop
73 j ret_from_irq
74 nop
75
76#if 0
77 .align 5
78 .set reorder
79ll_pci_intB:
80 move a0,sp
81 jal pci_intB
82 nop
83 j ret_from_irq
84 nop
85
86 .align 5
87 .set reorder
88ll_pci_intC:
89 move a0,sp
90 jal pci_intC
91 nop
92 j ret_from_irq
93 nop
94#endif
95
96 .align 5
97 .set reorder
98ll_pci_intD:
99 move a0,sp
100 jal pci_intD
101 nop
102 j ret_from_irq
103 nop
104
105 .align 5
106 .set reorder
107ll_serial_irq:
108 li a0,6
109 move a1,sp
110 jal do_IRQ
111 nop
112 j ret_from_irq
113 nop
diff --git a/arch/mips/gt64120/ev64120/irq.c b/arch/mips/gt64120/ev64120/irq.c
index 3b186159b21a..46c468b26b30 100644
--- a/arch/mips/gt64120/ev64120/irq.c
+++ b/arch/mips/gt64120/ev64120/irq.c
@@ -46,14 +46,22 @@
46#include <asm/system.h> 46#include <asm/system.h>
47#include <asm/gt64120.h> 47#include <asm/gt64120.h>
48 48
49asmlinkage inline void pci_intA(struct pt_regs *regs) 49asmlinkage void plat_irq_dispatch(struct pt_regs *regs)
50{ 50{
51 do_IRQ(GT_INTA, regs); 51 unsigned int pending = read_c0_status() & read_c0_cause();
52} 52
53 53 if (pending & STATUSF_IP4) /* int2 hardware line (timer) */
54asmlinkage inline void pci_intD(struct pt_regs *regs) 54 do_IRQ(4, regs);
55{ 55 else if (pending & STATUSF_IP2) /* int0 hardware line */
56 do_IRQ(GT_INTD, regs); 56 do_IRQ(GT_INTA, regs);
57 else if (pending & STATUSF_IP5) /* int3 hardware line */
58 do_IRQ(GT_INTD, regs);
59 else if (pending & STATUSF_IP6) /* int4 hardware line */
60 do_IRQ(6, regs);
61 else if (pending & STATUSF_IP7) /* compare int */
62 do_IRQ(7, regs);
63 else
64 spurious_interrupt(regs);
57} 65}
58 66
59static void disable_ev64120_irq(unsigned int irq_nr) 67static void disable_ev64120_irq(unsigned int irq_nr)
@@ -109,16 +117,11 @@ static struct hw_interrupt_type ev64120_irq_type = {
109 117
110void gt64120_irq_setup(void) 118void gt64120_irq_setup(void)
111{ 119{
112 extern asmlinkage void galileo_handle_int(void);
113
114 /* 120 /*
115 * Clear all of the interrupts while we change the able around a bit. 121 * Clear all of the interrupts while we change the able around a bit.
116 */ 122 */
117 clear_c0_status(ST0_IM); 123 clear_c0_status(ST0_IM);
118 124
119 /* Sets the exception_handler array. */
120 set_except_vector(0, galileo_handle_int);
121
122 local_irq_disable(); 125 local_irq_disable();
123 126
124 /* 127 /*
diff --git a/arch/mips/gt64120/ev64120/serialGT.c b/arch/mips/gt64120/ev64120/serialGT.c
index 16e34a546e54..8f0d835491ff 100644
--- a/arch/mips/gt64120/ev64120/serialGT.c
+++ b/arch/mips/gt64120/ev64120/serialGT.c
@@ -149,7 +149,7 @@ void serial_set(int channel, unsigned long baud)
149#else 149#else
150 /* 150 /*
151 * Note: Set baud rate, hardcoded here for rate of 115200 151 * Note: Set baud rate, hardcoded here for rate of 115200
152 * since became unsure of above "buad rate" algorithm (??). 152 * since became unsure of above "baud rate" algorithm (??).
153 */ 153 */
154 outreg(channel, LCR, 0x83); 154 outreg(channel, LCR, 0x83);
155 outreg(channel, DLM, 0x00); // See note above 155 outreg(channel, DLM, 0x00); // See note above
diff --git a/arch/mips/gt64120/momenco_ocelot/Makefile b/arch/mips/gt64120/momenco_ocelot/Makefile
index 7b59c6567c79..6f708df8373b 100644
--- a/arch/mips/gt64120/momenco_ocelot/Makefile
+++ b/arch/mips/gt64120/momenco_ocelot/Makefile
@@ -2,7 +2,7 @@
2# Makefile for Momentum's Ocelot board. 2# Makefile for Momentum's Ocelot board.
3# 3#
4 4
5obj-y += int-handler.o irq.o prom.o reset.o setup.o 5obj-y += irq.o prom.o reset.o setup.o
6 6
7obj-$(CONFIG_KGDB) += dbg_io.o 7obj-$(CONFIG_KGDB) += dbg_io.o
8 8
diff --git a/arch/mips/gt64120/momenco_ocelot/dbg_io.c b/arch/mips/gt64120/momenco_ocelot/dbg_io.c
index 8720bccfdea2..f0a6a38fcf4d 100644
--- a/arch/mips/gt64120/momenco_ocelot/dbg_io.c
+++ b/arch/mips/gt64120/momenco_ocelot/dbg_io.c
@@ -73,7 +73,7 @@ void debugInit(uint32 baud, uint8 data, uint8 parity, uint8 stop)
73 /* disable interrupts */ 73 /* disable interrupts */
74 UART16550_WRITE(OFS_INTR_ENABLE, 0); 74 UART16550_WRITE(OFS_INTR_ENABLE, 0);
75 75
76 /* set up buad rate */ 76 /* set up baud rate */
77 { 77 {
78 uint32 divisor; 78 uint32 divisor;
79 79
diff --git a/arch/mips/gt64120/momenco_ocelot/int-handler.S b/arch/mips/gt64120/momenco_ocelot/int-handler.S
deleted file mode 100644
index 808acef248cc..000000000000
--- a/arch/mips/gt64120/momenco_ocelot/int-handler.S
+++ /dev/null
@@ -1,131 +0,0 @@
1/*
2 * Copyright 2001 MontaVista Software Inc.
3 * Author: jsun@mvista.com or jsun@junsun.net
4 *
5 * First-level interrupt dispatcher for ocelot board.
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#include <asm/asm.h>
13#include <asm/mipsregs.h>
14#include <asm/addrspace.h>
15#include <asm/regdef.h>
16#include <asm/stackframe.h>
17
18/*
19 * first level interrupt dispatcher for ocelot board -
20 * We check for the timer first, then check PCI ints A and D.
21 * Then check for serial IRQ and fall through.
22 */
23 .align 5
24 NESTED(ocelot_handle_int, PT_SIZE, sp)
25 SAVE_ALL
26 CLI
27 .set at
28 mfc0 t0, CP0_CAUSE
29 mfc0 t2, CP0_STATUS
30
31 and t0, t2
32
33 andi t1, t0, STATUSF_IP2 /* int0 hardware line */
34 bnez t1, ll_pri_enet_irq
35 andi t1, t0, STATUSF_IP3 /* int1 hardware line */
36 bnez t1, ll_sec_enet_irq
37 andi t1, t0, STATUSF_IP4 /* int2 hardware line */
38 bnez t1, ll_uart1_irq
39 andi t1, t0, STATUSF_IP5 /* int3 hardware line */
40 bnez t1, ll_cpci_irq
41 andi t1, t0, STATUSF_IP6 /* int4 hardware line */
42 bnez t1, ll_galileo_irq
43 andi t1, t0, STATUSF_IP7 /* cpu timer */
44 bnez t1, ll_cputimer_irq
45
46 /* now look at the extended interrupts */
47 mfc0 t0, CP0_CAUSE
48 cfc0 t1, CP0_S1_INTCONTROL
49
50 /* shift the mask 8 bits left to line up the bits */
51 sll t2, t1, 8
52
53 and t0, t2
54 srl t0, t0, 16
55
56 andi t1, t0, STATUSF_IP8 /* int6 hardware line */
57 bnez t1, ll_pmc1_irq
58 andi t1, t0, STATUSF_IP9 /* int7 hardware line */
59 bnez t1, ll_pmc2_irq
60 andi t1, t0, STATUSF_IP10 /* int8 hardware line */
61 bnez t1, ll_cpci_abcd_irq
62 andi t1, t0, STATUSF_IP11 /* int9 hardware line */
63 bnez t1, ll_uart2_irq
64
65 .set reorder
66
67 /* wrong alarm or masked ... */
68 j spurious_interrupt
69 nop
70 END(ocelot_handle_int)
71
72 .align 5
73ll_pri_enet_irq:
74 li a0, 2
75 move a1, sp
76 jal do_IRQ
77 j ret_from_irq
78
79ll_sec_enet_irq:
80 li a0, 3
81 move a1, sp
82 jal do_IRQ
83 j ret_from_irq
84
85ll_uart1_irq:
86 li a0, 4
87 move a1, sp
88 jal do_IRQ
89 j ret_from_irq
90
91ll_cpci_irq:
92 li a0, 5
93 move a1, sp
94 jal do_IRQ
95 j ret_from_irq
96
97ll_galileo_irq:
98 li a0, 6
99 move a1, sp
100 jal do_IRQ
101 j ret_from_irq
102
103ll_cputimer_irq:
104 li a0, 7
105 move a1, sp
106 jal do_IRQ
107 j ret_from_irq
108
109ll_pmc1_irq:
110 li a0, 8
111 move a1, sp
112 jal do_IRQ
113 j ret_from_irq
114
115ll_pmc2_irq:
116 li a0, 9
117 move a1, sp
118 jal do_IRQ
119 j ret_from_irq
120
121ll_cpci_abcd_irq:
122 li a0, 10
123 move a1, sp
124 jal do_IRQ
125 j ret_from_irq
126
127ll_uart2_irq:
128 li a0, 11
129 move a1, sp
130 jal do_IRQ
131 j ret_from_irq
diff --git a/arch/mips/gt64120/momenco_ocelot/irq.c b/arch/mips/gt64120/momenco_ocelot/irq.c
index 4f108da71b23..885f67f32ea3 100644
--- a/arch/mips/gt64120/momenco_ocelot/irq.c
+++ b/arch/mips/gt64120/momenco_ocelot/irq.c
@@ -48,7 +48,38 @@
48#include <asm/mipsregs.h> 48#include <asm/mipsregs.h>
49#include <asm/system.h> 49#include <asm/system.h>
50 50
51extern asmlinkage void ocelot_handle_int(void); 51asmlinkage void plat_irq_dispatch(struct pt_regs *regs)
52{
53 unsigned int pending = read_c0_status() & read_c0_cause();
54
55 if (pending & STATUSF_IP2) /* int0 hardware line */
56 do_IRQ(2, regs);
57 else if (pending & STATUSF_IP3) /* int1 hardware line */
58 do_IRQ(3, regs);
59 else if (pending & STATUSF_IP4) /* int2 hardware line */
60 do_IRQ(4, regs);
61 else if (pending & STATUSF_IP5) /* int3 hardware line */
62 do_IRQ(5, regs);
63 else if (pending & STATUSF_IP6) /* int4 hardware line */
64 do_IRQ(6, regs);
65 else if (pending & STATUSF_IP7) /* cpu timer */
66 do_IRQ(7, regs);
67 else {
68 /*
69 * Now look at the extended interrupts
70 */
71 pending = (read_c0_cause() & (read_c0_intcontrol() << 8)) >> 16;
72
73 if (pending & STATUSF_IP8) /* int6 hardware line */
74 do_IRQ(8, regs);
75 else if (pending & STATUSF_IP9) /* int7 hardware line */
76 do_IRQ(9, regs);
77 else if (pending & STATUSF_IP10) /* int8 hardware line */
78 do_IRQ(10, regs);
79 else if (pending & STATUSF_IP11) /* int9 hardware line */
80 do_IRQ(11, regs);
81 }
82}
52 83
53void __init arch_init_irq(void) 84void __init arch_init_irq(void)
54{ 85{
@@ -59,9 +90,6 @@ void __init arch_init_irq(void)
59 clear_c0_status(ST0_IM); 90 clear_c0_status(ST0_IM);
60 local_irq_disable(); 91 local_irq_disable();
61 92
62 /* Sets the first-level interrupt dispatcher. */
63 set_except_vector(0, ocelot_handle_int);
64
65 mips_cpu_irq_init(0); 93 mips_cpu_irq_init(0);
66 rm7k_cpu_irq_init(8); 94 rm7k_cpu_irq_init(8);
67} 95}
diff --git a/arch/mips/ite-boards/generic/Makefile b/arch/mips/ite-boards/generic/Makefile
index 0e7853f43983..63431538d0ec 100644
--- a/arch/mips/ite-boards/generic/Makefile
+++ b/arch/mips/ite-boards/generic/Makefile
@@ -6,7 +6,7 @@
6# Makefile for the ITE 8172 (qed-4n-s01b) board, generic files. 6# Makefile for the ITE 8172 (qed-4n-s01b) board, generic files.
7# 7#
8 8
9obj-y += it8172_setup.o irq.o int-handler.o pmon_prom.o \ 9obj-y += it8172_setup.o irq.o pmon_prom.o \
10 time.o lpc.o puts.o reset.o 10 time.o lpc.o puts.o reset.o
11 11
12obj-$(CONFIG_IT8172_CIR)+= it8172_cir.o 12obj-$(CONFIG_IT8172_CIR)+= it8172_cir.o
diff --git a/arch/mips/ite-boards/generic/dbg_io.c b/arch/mips/ite-boards/generic/dbg_io.c
index c4f8530fd07e..6a7ccaf93502 100644
--- a/arch/mips/ite-boards/generic/dbg_io.c
+++ b/arch/mips/ite-boards/generic/dbg_io.c
@@ -72,7 +72,7 @@ void debugInit(uint32 baud, uint8 data, uint8 parity, uint8 stop)
72 /* disable interrupts */ 72 /* disable interrupts */
73 UART16550_WRITE(OFS_INTR_ENABLE, 0); 73 UART16550_WRITE(OFS_INTR_ENABLE, 0);
74 74
75 /* set up buad rate */ 75 /* set up baud rate */
76 { 76 {
77 uint32 divisor; 77 uint32 divisor;
78 78
diff --git a/arch/mips/ite-boards/generic/int-handler.S b/arch/mips/ite-boards/generic/int-handler.S
deleted file mode 100644
index d190d8add9cb..000000000000
--- a/arch/mips/ite-boards/generic/int-handler.S
+++ /dev/null
@@ -1,63 +0,0 @@
1#include <asm/asm.h>
2#include <asm/mipsregs.h>
3#include <asm/regdef.h>
4#include <asm/stackframe.h>
5
6 .text
7 .set macro
8 .set noat
9 .align 5
10
11NESTED(it8172_IRQ, PT_SIZE, sp)
12 SAVE_ALL
13 CLI # Important: mark KERNEL mode !
14
15 /* We're working with 'reorder' set at this point. */
16 /*
17 * Get pending interrupts
18 */
19
20 mfc0 t0,CP0_CAUSE # get pending interrupts
21 mfc0 t1,CP0_STATUS # get enabled interrupts
22 and t0,t1 # isolate allowed ones
23
24 andi t0,0xff00 # isolate pending bits
25 beqz t0, 3f # spurious interrupt
26
27 andi a0, t0, CAUSEF_IP7
28 beq a0, zero, 1f
29
30 li a0, 127 # MIPS_CPU_TIMER_IRQ = (NR_IRQS-1)
31 move a1, sp
32 jal ll_timer_interrupt
33 j ret_from_irq
34 nop
35
361:
37 andi a0, t0, CAUSEF_IP2 # the only int we expect at this time
38 beq a0, zero, 3f
39 move a0,sp
40 jal it8172_hw0_irqdispatch
41
42 mfc0 t0,CP0_STATUS # disable interrupts
43 ori t0,1
44 xori t0,1
45 mtc0 t0,CP0_STATUS
46 nop
47 nop
48 nop
49
50 la a1, ret_from_irq
51 jr a1
52 nop
53
543:
55 move a0, sp
56 jal mips_spurious_interrupt
57 nop
58 la a1, ret_from_irq
59 jr a1
60 nop
61
62END(it8172_IRQ)
63
diff --git a/arch/mips/ite-boards/generic/irq.c b/arch/mips/ite-boards/generic/irq.c
index e67f96129491..77be7216bdd0 100644
--- a/arch/mips/ite-boards/generic/irq.c
+++ b/arch/mips/ite-boards/generic/irq.c
@@ -62,12 +62,8 @@
62 62
63#define ALLINTS_NOTIMER (IE_IRQ0 | IE_IRQ1 | IE_IRQ2 | IE_IRQ3 | IE_IRQ4) 63#define ALLINTS_NOTIMER (IE_IRQ0 | IE_IRQ1 | IE_IRQ2 | IE_IRQ3 | IE_IRQ4)
64 64
65void disable_it8172_irq(unsigned int irq_nr);
66void enable_it8172_irq(unsigned int irq_nr);
67
68extern void set_debug_traps(void); 65extern void set_debug_traps(void);
69extern void mips_timer_interrupt(int irq, struct pt_regs *regs); 66extern void mips_timer_interrupt(int irq, struct pt_regs *regs);
70extern asmlinkage void it8172_IRQ(void);
71 67
72struct it8172_intc_regs volatile *it8172_hw0_icregs = 68struct it8172_intc_regs volatile *it8172_hw0_icregs =
73 (struct it8172_intc_regs volatile *)(KSEG1ADDR(IT8172_PCI_IO_BASE + IT_INTC_BASE)); 69 (struct it8172_intc_regs volatile *)(KSEG1ADDR(IT8172_PCI_IO_BASE + IT_INTC_BASE));
@@ -181,8 +177,6 @@ void __init arch_init_irq(void)
181 int i; 177 int i;
182 unsigned long flags; 178 unsigned long flags;
183 179
184 set_except_vector(0, it8172_IRQ);
185
186 /* mask all interrupts */ 180 /* mask all interrupts */
187 it8172_hw0_icregs->lb_mask = 0xffff; 181 it8172_hw0_icregs->lb_mask = 0xffff;
188 it8172_hw0_icregs->lpc_mask = 0xffff; 182 it8172_hw0_icregs->lpc_mask = 0xffff;
@@ -282,6 +276,18 @@ void it8172_hw0_irqdispatch(struct pt_regs *regs)
282 do_IRQ(irq, regs); 276 do_IRQ(irq, regs);
283} 277}
284 278
279asmlinkage void plat_irq_dispatch(struct pt_regs *regs)
280{
281 unsigned int pending = read_c0_cause() & read_c0_status() & ST0_IM;
282
283 if (!pending)
284 mips_spurious_interrupt(regs);
285 else if (pending & CAUSEF_IP7)
286 ll_timer_interrupt(127, regs);
287 else if (pending & CAUSEF_IP2)
288 it8172_hw0_irqdispatch(regs);
289}
290
285void show_pending_irqs(void) 291void show_pending_irqs(void)
286{ 292{
287 fputs("intstatus: "); 293 fputs("intstatus: ");
diff --git a/arch/mips/ite-boards/generic/time.c b/arch/mips/ite-boards/generic/time.c
index b79817bb6cce..dee497a91807 100644
--- a/arch/mips/ite-boards/generic/time.c
+++ b/arch/mips/ite-boards/generic/time.c
@@ -29,6 +29,7 @@
29#include <linux/sched.h> 29#include <linux/sched.h>
30#include <linux/time.h> 30#include <linux/time.h>
31#include <linux/spinlock.h> 31#include <linux/spinlock.h>
32#include <linux/mc146818rtc.h>
32 33
33#include <asm/time.h> 34#include <asm/time.h>
34#include <asm/mipsregs.h> 35#include <asm/mipsregs.h>
diff --git a/arch/mips/ite-boards/ivr/init.c b/arch/mips/ite-boards/ivr/init.c
index b774db035b31..05cf9218c432 100644
--- a/arch/mips/ite-boards/ivr/init.c
+++ b/arch/mips/ite-boards/ivr/init.c
@@ -34,13 +34,13 @@
34#include <asm/bootinfo.h> 34#include <asm/bootinfo.h>
35#include <linux/string.h> 35#include <linux/string.h>
36#include <linux/kernel.h> 36#include <linux/kernel.h>
37#include <asm/sections.h>
37#include <asm/it8172/it8172.h> 38#include <asm/it8172/it8172.h>
38#include <asm/it8172/it8172_dbg.h> 39#include <asm/it8172/it8172_dbg.h>
39 40
40int prom_argc; 41int prom_argc;
41char **prom_argv, **prom_envp; 42char **prom_argv, **prom_envp;
42 43
43extern char _end;
44extern void __init prom_init_cmdline(void); 44extern void __init prom_init_cmdline(void);
45extern unsigned long __init prom_get_memsize(void); 45extern unsigned long __init prom_get_memsize(void);
46extern void __init it8172_init_ram_resource(unsigned long memsize); 46extern void __init it8172_init_ram_resource(unsigned long memsize);
diff --git a/arch/mips/ite-boards/qed-4n-s01b/init.c b/arch/mips/ite-boards/qed-4n-s01b/init.c
index e8ec8be66a80..ea2a754cafe5 100644
--- a/arch/mips/ite-boards/qed-4n-s01b/init.c
+++ b/arch/mips/ite-boards/qed-4n-s01b/init.c
@@ -34,13 +34,13 @@
34#include <asm/bootinfo.h> 34#include <asm/bootinfo.h>
35#include <linux/string.h> 35#include <linux/string.h>
36#include <linux/kernel.h> 36#include <linux/kernel.h>
37#include <asm/sections.h>
37#include <asm/it8172/it8172.h> 38#include <asm/it8172/it8172.h>
38#include <asm/it8172/it8172_dbg.h> 39#include <asm/it8172/it8172_dbg.h>
39 40
40int prom_argc; 41int prom_argc;
41char **prom_argv, **prom_envp; 42char **prom_argv, **prom_envp;
42 43
43extern char _end;
44extern void __init prom_init_cmdline(void); 44extern void __init prom_init_cmdline(void);
45extern unsigned long __init prom_get_memsize(void); 45extern unsigned long __init prom_get_memsize(void);
46extern void __init it8172_init_ram_resource(unsigned long memsize); 46extern void __init it8172_init_ram_resource(unsigned long memsize);
diff --git a/arch/mips/jazz/Makefile b/arch/mips/jazz/Makefile
index 85749246a671..02bd39add891 100644
--- a/arch/mips/jazz/Makefile
+++ b/arch/mips/jazz/Makefile
@@ -2,6 +2,6 @@
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 := int-handler.o irq.o jazzdma.o reset.o setup.o 5obj-y := irq.o jazzdma.o reset.o setup.o
6 6
7EXTRA_AFLAGS := $(CFLAGS) 7EXTRA_AFLAGS := $(CFLAGS)
diff --git a/arch/mips/jazz/int-handler.S b/arch/mips/jazz/int-handler.S
deleted file mode 100644
index dc752c67b528..000000000000
--- a/arch/mips/jazz/int-handler.S
+++ /dev/null
@@ -1,282 +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) 1995, 1996, 1997, 1998 by Ralf Baechle and Andreas Busse
7 *
8 * Jazz family specific interrupt stuff
9 *
10 * To do: On Jazz machines we remap some non-ISA interrupts to ISA
11 * interrupts. These interrupts should use their own vectors.
12 * Squeeze the last cycles out of the handlers. Only a dead
13 * cycle is a good cycle.
14 */
15#include <asm/asm.h>
16#include <asm/mipsregs.h>
17#include <asm/jazz.h>
18#include <asm/regdef.h>
19#include <asm/stackframe.h>
20
21/*
22 * jazz_handle_int: Interrupt handler for the ACER Pica-61 boards
23 */
24 .set noreorder
25
26 NESTED(jazz_handle_int, PT_SIZE, ra)
27 .set noat
28 SAVE_ALL
29 CLI
30 .set at
31
32 /*
33 * Get pending interrupts
34 */
35 mfc0 t0,CP0_CAUSE # get pending interrupts
36 mfc0 t1,CP0_STATUS # get enabled interrupts
37 and t0,t1 # isolate allowed ones
38 andi t0,0xff00 # isolate pending bits
39 beqz t0,3f
40 sll t0,16 # delay slot
41
42 /*
43 * Find irq with highest priority
44 * FIXME: This is slow - use binary search
45 */
46 la t1,ll_vectors
471: bltz t0,2f # found pending irq
48 sll t0,1
49 b 1b
50 subu t1,PTRSIZE # delay slot
51
52 /*
53 * Do the low-level stuff
54 */
552: lw t0,(t1)
56 jr t0
57 nop # delay slot
58 END(jazz_handle_int)
59
60ll_sw0: li s1,~IE_SW0
61 mfc0 t0,CP0_CAUSE
62 and t0,s1
63 mtc0 t0,CP0_CAUSE
64 PANIC("Unimplemented sw0 handler")
65
66ll_sw1: li s1,~IE_SW1
67 mfc0 t0,CP0_CAUSE
68 and t0,s1
69 mtc0 t0,CP0_CAUSE
70 PANIC("Unimplemented sw1 handler")
71
72ll_local_dma: li s1,~IE_IRQ0
73 PANIC("Unimplemented local_dma handler")
74
75ll_local_dev: lbu t0,JAZZ_IO_IRQ_SOURCE
76#if PTRSIZE == 8 /* True 64 bit kernel */
77 dsll t0,1
78#endif
79 .set reorder
80 LONG_L t0,local_vector(t0)
81 jr t0
82 .set noreorder
83
84/*
85 * The braindead PICA hardware gives us no way to distinguish if we really
86 * received interrupt 7 from the (E)ISA bus or if we just received an
87 * interrupt with no findable cause. This sometimes happens with braindead
88 * cards. Oh well - for all the Jazz boxes slots are more or less just
89 * whistles and bells and we're aware of the problem.
90 */
91ll_isa_irq: lw a0, JAZZ_EISA_IRQ_ACK
92
93 jal do_IRQ
94 move a1,sp
95
96 j ret_from_irq
97 nop
98
99/*
100 * Hmm... This is not just a plain PC clone so the question is
101 * which devices on Jazz machines can generate an (E)ISA NMI?
102 * (Writing to nonexistent memory?)
103 */
104ll_isa_nmi: li s1,~IE_IRQ3
105 PANIC("Unimplemented isa_nmi handler")
106
107/*
108 * Timer IRQ - remapped to be more similar to an IBM compatible.
109 *
110 * The timer interrupt is handled specially to ensure that the jiffies
111 * variable is updated at all times. Specifically, the timer interrupt is
112 * just like the complete handlers except that it is invoked with interrupts
113 * disabled and should never re-enable them. If other interrupts were
114 * allowed to be processed while the timer interrupt is active, then the
115 * other interrupts would have to avoid using the jiffies variable for delay
116 * and interval timing operations to avoid hanging the system.
117 */
118ll_timer: lw zero,JAZZ_TIMER_REGISTER # timer irq cleared on read
119 li s1,~IE_IRQ4
120
121 li a0, JAZZ_TIMER_IRQ
122 jal do_IRQ
123 move a1,sp
124
125 mfc0 t0,CP0_STATUS # disable interrupts again
126 ori t0,1
127 xori t0,1
128 mtc0 t0,CP0_STATUS
129
130 j ret_from_irq
131 nop
132
133/*
134 * CPU count/compare IRQ (unused)
135 */
136ll_count: j ret_from_irq
137 mtc0 zero,CP0_COMPARE
138
139#if 0
140/*
141 * Call the handler for the interrupt
142 * (Currently unused)
143 */
144call_real: /*
145 * temporarily disable interrupt
146 */
147 mfc0 t2,CP0_STATUS
148 and t2,s1
149 mtc0 t2,CP0_STATUS
150 nor s1,zero,s1
151 jal do_IRQ
152
153 /*
154 * reenable interrupt
155 */
156 mfc0 t2,CP0_STATUS
157 or t2,s1
158 mtc0 t2,CP0_STATUS
159 j ret_from_irq
160#endif
161
162 .data
163 PTR ll_sw0 # SW0
164 PTR ll_sw1 # SW1
165 PTR ll_local_dma # Local DMA
166 PTR ll_local_dev # Local devices
167 PTR ll_isa_irq # ISA IRQ
168 PTR ll_isa_nmi # ISA NMI
169 PTR ll_timer # Timer
170ll_vectors: PTR ll_count # Count/Compare IRQ
171
172 /*
173 * Interrupt handlers for local devices.
174 */
175 .text
176 .set reorder
177loc_no_irq: PANIC("Unimplemented loc_no_irq handler")
178/*
179 * Parallel port IRQ
180 */
181loc_parallel: li s1,~JAZZ_IE_PARALLEL
182 li a0,JAZZ_PARALLEL_IRQ
183 b loc_call
184
185/*
186 * Floppy IRQ
187 */
188loc_floppy: li s1,~JAZZ_IE_FLOPPY
189 li a0,JAZZ_FLOPPY_IRQ
190 b loc_call
191
192/*
193 * Sound IRQ
194 */
195loc_sound: PANIC("Unimplemented loc_sound handler")
196loc_video: PANIC("Unimplemented loc_video handler")
197
198/*
199 * Ethernet interrupt handler
200 */
201loc_ethernet: li s1,~JAZZ_IE_ETHERNET
202 li a0,JAZZ_ETHERNET_IRQ
203 b loc_call
204
205/*
206 * SCSI interrupt handler
207 */
208loc_scsi: li s1,~JAZZ_IE_SCSI
209 li a0,JAZZ_SCSI_IRQ
210 b loc_call
211
212/*
213 * Keyboard interrupt handler
214 */
215loc_keyboard: li s1,~JAZZ_IE_KEYBOARD
216 li a0,JAZZ_KEYBOARD_IRQ
217 b loc_call
218
219/*
220 * Mouse interrupt handler
221 */
222loc_mouse: li s1,~JAZZ_IE_MOUSE
223 li a0,JAZZ_MOUSE_IRQ
224 b loc_call
225
226/*
227 * Serial port 1 IRQ
228 */
229loc_serial1: li s1,~JAZZ_IE_SERIAL1
230 li a0,JAZZ_SERIAL1_IRQ
231 b loc_call
232
233/*
234 * Serial port 2 IRQ
235 */
236loc_serial2: li s1,~JAZZ_IE_SERIAL2
237 li a0,JAZZ_SERIAL2_IRQ
238 b loc_call
239
240/*
241 * Call the interrupt handler for an interrupt generated by a
242 * local device.
243 */
244loc_call: /*
245 * Temporarily disable interrupt source
246 */
247 lhu t2,JAZZ_IO_IRQ_ENABLE
248 and t2,s1
249 sh t2,JAZZ_IO_IRQ_ENABLE
250
251 nor s1,zero,s1
252 jal do_IRQ
253
254 /*
255 * Reenable interrupt
256 */
257 lhu t2,JAZZ_IO_IRQ_ENABLE
258 or t2,s1
259 sh t2,JAZZ_IO_IRQ_ENABLE
260
261 j ret_from_irq
262
263/*
264 * "Jump extender" to reach spurious_interrupt
265 */
2663: j spurious_interrupt
267
268/*
269 * Vectors for interrupts generated by local devices
270 */
271 .data
272local_vector: PTR loc_no_irq
273 PTR loc_parallel
274 PTR loc_floppy
275 PTR loc_sound
276 PTR loc_video
277 PTR loc_ethernet
278 PTR loc_scsi
279 PTR loc_keyboard
280 PTR loc_mouse
281 PTR loc_serial1
282 PTR loc_serial2
diff --git a/arch/mips/jazz/irq.c b/arch/mips/jazz/irq.c
index b309b1bcf2e8..becc9accd495 100644
--- a/arch/mips/jazz/irq.c
+++ b/arch/mips/jazz/irq.c
@@ -15,8 +15,6 @@
15#include <asm/io.h> 15#include <asm/io.h>
16#include <asm/jazz.h> 16#include <asm/jazz.h>
17 17
18extern asmlinkage void jazz_handle_int(void);
19
20static DEFINE_SPINLOCK(r4030_lock); 18static DEFINE_SPINLOCK(r4030_lock);
21 19
22static void enable_r4030_irq(unsigned int irq) 20static void enable_r4030_irq(unsigned int irq)
@@ -90,10 +88,82 @@ void __init init_r4030_ints(void)
90 */ 88 */
91void __init arch_init_irq(void) 89void __init arch_init_irq(void)
92{ 90{
93 set_except_vector(0, jazz_handle_int);
94
95 init_i8259_irqs(); /* Integrated i8259 */ 91 init_i8259_irqs(); /* Integrated i8259 */
96 init_r4030_ints(); 92 init_r4030_ints();
97 93
98 change_c0_status(ST0_IM, IE_IRQ4 | IE_IRQ3 | IE_IRQ2 | IE_IRQ1); 94 change_c0_status(ST0_IM, IE_IRQ4 | IE_IRQ3 | IE_IRQ2 | IE_IRQ1);
99} 95}
96
97static void loc_call(unsigned int irq, struct pt_regs *regs, unsigned int mask)
98{
99 r4030_write_reg16(JAZZ_IO_IRQ_ENABLE,
100 r4030_read_reg16(JAZZ_IO_IRQ_ENABLE) & mask);
101 do_IRQ(irq, regs);
102 r4030_write_reg16(JAZZ_IO_IRQ_ENABLE,
103 r4030_read_reg16(JAZZ_IO_IRQ_ENABLE) | mask);
104}
105
106static void ll_local_dev(struct pt_regs *regs)
107{
108 switch (r4030_read_reg32(JAZZ_IO_IRQ_SOURCE)) {
109 case 0:
110 panic("Unimplemented loc_no_irq handler");
111 break;
112 case 4:
113 loc_call(JAZZ_PARALLEL_IRQ, regs, JAZZ_IE_PARALLEL);
114 break;
115 case 8:
116 loc_call(JAZZ_PARALLEL_IRQ, regs, JAZZ_IE_FLOPPY);
117 break;
118 case 12:
119 panic("Unimplemented loc_sound handler");
120 break;
121 case 16:
122 panic("Unimplemented loc_video handler");
123 break;
124 case 20:
125 loc_call(JAZZ_ETHERNET_IRQ, regs, JAZZ_IE_ETHERNET);
126 break;
127 case 24:
128 loc_call(JAZZ_SCSI_IRQ, regs, JAZZ_IE_SCSI);
129 break;
130 case 28:
131 loc_call(JAZZ_KEYBOARD_IRQ, regs, JAZZ_IE_KEYBOARD);
132 break;
133 case 32:
134 loc_call(JAZZ_MOUSE_IRQ, regs, JAZZ_IE_MOUSE);
135 break;
136 case 36:
137 loc_call(JAZZ_SERIAL1_IRQ, regs, JAZZ_IE_SERIAL1);
138 break;
139 case 40:
140 loc_call(JAZZ_SERIAL2_IRQ, regs, JAZZ_IE_SERIAL2);
141 break;
142 }
143}
144
145asmlinkage void plat_irq_dispatch(struct pt_regs *regs)
146{
147 unsigned int pending = read_c0_cause() & read_c0_status() & ST0_IM;
148
149 if (pending & IE_IRQ5)
150 write_c0_compare(0);
151 else if (pending & IE_IRQ4) {
152 r4030_read_reg32(JAZZ_TIMER_REGISTER);
153 do_IRQ(JAZZ_TIMER_IRQ, regs);
154 } else if (pending & IE_IRQ3)
155 panic("Unimplemented ISA NMI handler");
156 else if (pending & IE_IRQ2)
157 do_IRQ(r4030_read_reg32(JAZZ_EISA_IRQ_ACK), regs);
158 else if (pending & IE_IRQ1) {
159 ll_local_dev(regs);
160 } else if (unlikely(pending & IE_IRQ0))
161 panic("Unimplemented local_dma handler");
162 else if (pending & IE_SW1) {
163 clear_c0_cause(IE_SW1);
164 panic("Unimplemented sw1 handler");
165 } else if (pending & IE_SW0) {
166 clear_c0_cause(IE_SW0);
167 panic("Unimplemented sw0 handler");
168 }
169}
diff --git a/arch/mips/jmr3927/common/rtc_ds1742.c b/arch/mips/jmr3927/common/rtc_ds1742.c
index a6bd3f4d3049..e6561345d12a 100644
--- a/arch/mips/jmr3927/common/rtc_ds1742.c
+++ b/arch/mips/jmr3927/common/rtc_ds1742.c
@@ -60,15 +60,15 @@ rtc_ds1742_get_time(void)
60 unsigned long flags; 60 unsigned long flags;
61 61
62 spin_lock_irqsave(&rtc_lock, flags); 62 spin_lock_irqsave(&rtc_lock, flags);
63 CMOS_WRITE(RTC_READ, RTC_CONTROL); 63 rtc_write(RTC_READ, RTC_CONTROL);
64 second = BCD2BIN(CMOS_READ(RTC_SECONDS) & RTC_SECONDS_MASK); 64 second = BCD2BIN(rtc_read(RTC_SECONDS) & RTC_SECONDS_MASK);
65 minute = BCD2BIN(CMOS_READ(RTC_MINUTES)); 65 minute = BCD2BIN(rtc_read(RTC_MINUTES));
66 hour = BCD2BIN(CMOS_READ(RTC_HOURS)); 66 hour = BCD2BIN(rtc_read(RTC_HOURS));
67 day = BCD2BIN(CMOS_READ(RTC_DATE)); 67 day = BCD2BIN(rtc_read(RTC_DATE));
68 month = BCD2BIN(CMOS_READ(RTC_MONTH)); 68 month = BCD2BIN(rtc_read(RTC_MONTH));
69 year = BCD2BIN(CMOS_READ(RTC_YEAR)); 69 year = BCD2BIN(rtc_read(RTC_YEAR));
70 century = BCD2BIN(CMOS_READ(RTC_CENTURY) & RTC_CENTURY_MASK); 70 century = BCD2BIN(rtc_read(RTC_CENTURY) & RTC_CENTURY_MASK);
71 CMOS_WRITE(0, RTC_CONTROL); 71 rtc_write(0, RTC_CONTROL);
72 spin_unlock_irqrestore(&rtc_lock, flags); 72 spin_unlock_irqrestore(&rtc_lock, flags);
73 73
74 year += century * 100; 74 year += century * 100;
@@ -87,16 +87,16 @@ rtc_ds1742_set_time(unsigned long t)
87 unsigned long flags; 87 unsigned long flags;
88 88
89 spin_lock_irqsave(&rtc_lock, flags); 89 spin_lock_irqsave(&rtc_lock, flags);
90 CMOS_WRITE(RTC_READ, RTC_CONTROL); 90 rtc_write(RTC_READ, RTC_CONTROL);
91 cmos_second = (u8)(CMOS_READ(RTC_SECONDS) & RTC_SECONDS_MASK); 91 cmos_second = (u8)(rtc_read(RTC_SECONDS) & RTC_SECONDS_MASK);
92 cmos_minute = (u8)CMOS_READ(RTC_MINUTES); 92 cmos_minute = (u8)rtc_read(RTC_MINUTES);
93 cmos_hour = (u8)CMOS_READ(RTC_HOURS); 93 cmos_hour = (u8)rtc_read(RTC_HOURS);
94 cmos_day = (u8)CMOS_READ(RTC_DATE); 94 cmos_day = (u8)rtc_read(RTC_DATE);
95 cmos_month = (u8)CMOS_READ(RTC_MONTH); 95 cmos_month = (u8)rtc_read(RTC_MONTH);
96 cmos_year = (u8)CMOS_READ(RTC_YEAR); 96 cmos_year = (u8)rtc_read(RTC_YEAR);
97 cmos_century = CMOS_READ(RTC_CENTURY) & RTC_CENTURY_MASK; 97 cmos_century = rtc_read(RTC_CENTURY) & RTC_CENTURY_MASK;
98 98
99 CMOS_WRITE(RTC_WRITE, RTC_CONTROL); 99 rtc_write(RTC_WRITE, RTC_CONTROL);
100 100
101 /* convert */ 101 /* convert */
102 to_tm(t, &tm); 102 to_tm(t, &tm);
@@ -104,18 +104,18 @@ rtc_ds1742_set_time(unsigned long t)
104 /* check each field one by one */ 104 /* check each field one by one */
105 year = BIN2BCD(tm.tm_year - EPOCH); 105 year = BIN2BCD(tm.tm_year - EPOCH);
106 if (year != cmos_year) { 106 if (year != cmos_year) {
107 CMOS_WRITE(year,RTC_YEAR); 107 rtc_write(year,RTC_YEAR);
108 } 108 }
109 109
110 month = BIN2BCD(tm.tm_mon); 110 month = BIN2BCD(tm.tm_mon);
111 if (month != (cmos_month & 0x1f)) { 111 if (month != (cmos_month & 0x1f)) {
112 CMOS_WRITE((month & 0x1f) | (cmos_month & ~0x1f),RTC_MONTH); 112 rtc_write((month & 0x1f) | (cmos_month & ~0x1f),RTC_MONTH);
113 } 113 }
114 114
115 day = BIN2BCD(tm.tm_mday); 115 day = BIN2BCD(tm.tm_mday);
116 if (day != cmos_day) { 116 if (day != cmos_day) {
117 117
118 CMOS_WRITE(day, RTC_DATE); 118 rtc_write(day, RTC_DATE);
119 } 119 }
120 120
121 if (cmos_hour & 0x40) { 121 if (cmos_hour & 0x40) {
@@ -130,20 +130,20 @@ rtc_ds1742_set_time(unsigned long t)
130 /* 24 hour format */ 130 /* 24 hour format */
131 hour = BIN2BCD(tm.tm_hour) & 0x3f; 131 hour = BIN2BCD(tm.tm_hour) & 0x3f;
132 } 132 }
133 if (hour != cmos_hour) CMOS_WRITE(hour, RTC_HOURS); 133 if (hour != cmos_hour) rtc_write(hour, RTC_HOURS);
134 134
135 minute = BIN2BCD(tm.tm_min); 135 minute = BIN2BCD(tm.tm_min);
136 if (minute != cmos_minute) { 136 if (minute != cmos_minute) {
137 CMOS_WRITE(minute, RTC_MINUTES); 137 rtc_write(minute, RTC_MINUTES);
138 } 138 }
139 139
140 second = BIN2BCD(tm.tm_sec); 140 second = BIN2BCD(tm.tm_sec);
141 if (second != cmos_second) { 141 if (second != cmos_second) {
142 CMOS_WRITE(second & RTC_SECONDS_MASK,RTC_SECONDS); 142 rtc_write(second & RTC_SECONDS_MASK,RTC_SECONDS);
143 } 143 }
144 144
145 /* RTC_CENTURY and RTC_CONTROL share same address... */ 145 /* RTC_CENTURY and RTC_CONTROL share same address... */
146 CMOS_WRITE(cmos_century, RTC_CONTROL); 146 rtc_write(cmos_century, RTC_CONTROL);
147 spin_unlock_irqrestore(&rtc_lock, flags); 147 spin_unlock_irqrestore(&rtc_lock, flags);
148 148
149 return 0; 149 return 0;
@@ -163,9 +163,9 @@ rtc_ds1742_init(unsigned long base)
163 rtc_mips_set_time = rtc_ds1742_set_time; 163 rtc_mips_set_time = rtc_ds1742_set_time;
164 164
165 /* clear oscillator stop bit */ 165 /* clear oscillator stop bit */
166 CMOS_WRITE(RTC_READ, RTC_CONTROL); 166 rtc_write(RTC_READ, RTC_CONTROL);
167 cmos_second = (u8)(CMOS_READ(RTC_SECONDS) & RTC_SECONDS_MASK); 167 cmos_second = (u8)(rtc_read(RTC_SECONDS) & RTC_SECONDS_MASK);
168 CMOS_WRITE(RTC_WRITE, RTC_CONTROL); 168 rtc_write(RTC_WRITE, RTC_CONTROL);
169 CMOS_WRITE(cmos_second, RTC_SECONDS); /* clear msb */ 169 rtc_write(cmos_second, RTC_SECONDS); /* clear msb */
170 CMOS_WRITE(0, RTC_CONTROL); 170 rtc_write(0, RTC_CONTROL);
171} 171}
diff --git a/arch/mips/jmr3927/rbhma3100/Makefile b/arch/mips/jmr3927/rbhma3100/Makefile
index 75bf418b94c0..baf5077813c1 100644
--- a/arch/mips/jmr3927/rbhma3100/Makefile
+++ b/arch/mips/jmr3927/rbhma3100/Makefile
@@ -2,7 +2,7 @@
2# Makefile for TOSHIBA JMR-TX3927 board 2# Makefile for TOSHIBA JMR-TX3927 board
3# 3#
4 4
5obj-y += init.o int-handler.o irq.o setup.o 5obj-y += init.o irq.o setup.o
6obj-$(CONFIG_RUNTIME_DEBUG) += debug.o 6obj-$(CONFIG_RUNTIME_DEBUG) += debug.o
7obj-$(CONFIG_KGDB) += kgdb_io.o 7obj-$(CONFIG_KGDB) += kgdb_io.o
8 8
diff --git a/arch/mips/jmr3927/rbhma3100/int-handler.S b/arch/mips/jmr3927/rbhma3100/int-handler.S
deleted file mode 100644
index f85bbf407542..000000000000
--- a/arch/mips/jmr3927/rbhma3100/int-handler.S
+++ /dev/null
@@ -1,74 +0,0 @@
1/*
2 * Copyright 2001 MontaVista Software Inc.
3 * Author: MontaVista Software, Inc.
4 * ahennessy@mvista.com
5 *
6 * Based on arch/mips/tsdb/kernel/int-handler.S
7 *
8 * Copyright (C) 2000-2001 Toshiba Corporation
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 <asm/asm.h>
32#include <asm/mipsregs.h>
33#include <asm/regdef.h>
34#include <asm/stackframe.h>
35#include <asm/jmr3927/jmr3927.h>
36
37 /* A lot of complication here is taken away because:
38 *
39 * 1) We handle one interrupt and return, sitting in a loop
40 * and moving across all the pending IRQ bits in the cause
41 * register is _NOT_ the answer, the common case is one
42 * pending IRQ so optimize in that direction.
43 *
44 * 2) We need not check against bits in the status register
45 * IRQ mask, that would make this routine slow as hell.
46 *
47 * 3) Linux only thinks in terms of all IRQs on or all IRQs
48 * off, nothing in between like BSD spl() brain-damage.
49 *
50 */
51
52/* Flush write buffer (needed?)
53 * NOTE: TX39xx performs "non-blocking load", so explicitly use the target
54 * register of LBU to flush immediately.
55 */
56#define FLUSH_WB(tmp) \
57 la tmp, JMR3927_IOC_REV_ADDR; \
58 lbu tmp, (tmp); \
59 move tmp, zero;
60
61 .text
62 .set noreorder
63 .set noat
64 .align 5
65 NESTED(jmr3927_IRQ, PT_SIZE, sp)
66 SAVE_ALL
67 CLI
68 .set at
69 jal jmr3927_irc_irqdispatch
70 move a0, sp
71 FLUSH_WB(t0)
72 j ret_from_irq
73 nop
74 END(jmr3927_IRQ)
diff --git a/arch/mips/jmr3927/rbhma3100/irq.c b/arch/mips/jmr3927/rbhma3100/irq.c
index 2810727f1d4e..11304d1354f4 100644
--- a/arch/mips/jmr3927/rbhma3100/irq.c
+++ b/arch/mips/jmr3927/rbhma3100/irq.c
@@ -77,8 +77,6 @@ static int jmr3927_gen_iack(void)
77} 77}
78#endif 78#endif
79 79
80extern asmlinkage void jmr3927_IRQ(void);
81
82#define irc_dlevel 0 80#define irc_dlevel 0
83#define irc_elevel 1 81#define irc_elevel 1
84 82
@@ -262,7 +260,7 @@ void jmr3927_spurious(struct pt_regs *regs)
262 regs->cp0_cause, regs->cp0_epc, regs->regs[31]); 260 regs->cp0_cause, regs->cp0_epc, regs->regs[31]);
263} 261}
264 262
265void jmr3927_irc_irqdispatch(struct pt_regs *regs) 263asmlinkage void plat_irq_dispatch(struct pt_regs *regs)
266{ 264{
267 int irq; 265 int irq;
268 266
@@ -398,8 +396,6 @@ void __init arch_init_irq(void)
398 396
399 jmr3927_irq_init(NR_ISA_IRQS); 397 jmr3927_irq_init(NR_ISA_IRQS);
400 398
401 set_except_vector(0, jmr3927_IRQ);
402
403 /* setup irq space */ 399 /* setup irq space */
404 add_tb_irq_space(&jmr3927_isac_irqspace); 400 add_tb_irq_space(&jmr3927_isac_irqspace);
405 add_tb_irq_space(&jmr3927_ioc_irqspace); 401 add_tb_irq_space(&jmr3927_ioc_irqspace);
diff --git a/arch/mips/kernel/Makefile b/arch/mips/kernel/Makefile
index 309d54cceda3..34e8a256765c 100644
--- a/arch/mips/kernel/Makefile
+++ b/arch/mips/kernel/Makefile
@@ -34,8 +34,11 @@ obj-$(CONFIG_CPU_R6000) += r6000_fpu.o r4k_switch.o
34 34
35obj-$(CONFIG_SMP) += smp.o 35obj-$(CONFIG_SMP) += smp.o
36 36
37obj-$(CONFIG_MIPS_MT_SMP) += smp_mt.o 37obj-$(CONFIG_MIPS_MT) += mips-mt.o
38obj-$(CONFIG_MIPS_MT_SMTC) += smtc.o smtc-asm.o smtc-proc.o
39obj-$(CONFIG_MIPS_MT_SMP) += smp-mt.o
38 40
41obj-$(CONFIG_MIPS_APSP_KSPD) += kspd.o
39obj-$(CONFIG_MIPS_VPE_LOADER) += vpe.o 42obj-$(CONFIG_MIPS_VPE_LOADER) += vpe.o
40obj-$(CONFIG_MIPS_VPE_APSP_API) += rtlx.o 43obj-$(CONFIG_MIPS_VPE_APSP_API) += rtlx.o
41 44
diff --git a/arch/mips/kernel/asm-offsets.c b/arch/mips/kernel/asm-offsets.c
index ca6b03c773be..0facfaf4e950 100644
--- a/arch/mips/kernel/asm-offsets.c
+++ b/arch/mips/kernel/asm-offsets.c
@@ -69,6 +69,9 @@ void output_ptreg_defines(void)
69 offset("#define PT_BVADDR ", struct pt_regs, cp0_badvaddr); 69 offset("#define PT_BVADDR ", struct pt_regs, cp0_badvaddr);
70 offset("#define PT_STATUS ", struct pt_regs, cp0_status); 70 offset("#define PT_STATUS ", struct pt_regs, cp0_status);
71 offset("#define PT_CAUSE ", struct pt_regs, cp0_cause); 71 offset("#define PT_CAUSE ", struct pt_regs, cp0_cause);
72#ifdef CONFIG_MIPS_MT_SMTC
73 offset("#define PT_TCSTATUS ", struct pt_regs, cp0_tcstatus);
74#endif /* CONFIG_MIPS_MT_SMTC */
72 size("#define PT_SIZE ", struct pt_regs); 75 size("#define PT_SIZE ", struct pt_regs);
73 linefeed; 76 linefeed;
74} 77}
@@ -269,8 +272,8 @@ void output_sc_defines(void)
269 text("/* Linux sigcontext offsets. */"); 272 text("/* Linux sigcontext offsets. */");
270 offset("#define SC_REGS ", struct sigcontext, sc_regs); 273 offset("#define SC_REGS ", struct sigcontext, sc_regs);
271 offset("#define SC_FPREGS ", struct sigcontext, sc_fpregs); 274 offset("#define SC_FPREGS ", struct sigcontext, sc_fpregs);
272 offset("#define SC_MDHI ", struct sigcontext, sc_hi); 275 offset("#define SC_MDHI ", struct sigcontext, sc_mdhi);
273 offset("#define SC_MDLO ", struct sigcontext, sc_lo); 276 offset("#define SC_MDLO ", struct sigcontext, sc_mdlo);
274 offset("#define SC_PC ", struct sigcontext, sc_pc); 277 offset("#define SC_PC ", struct sigcontext, sc_pc);
275 offset("#define SC_FPC_CSR ", struct sigcontext, sc_fpc_csr); 278 offset("#define SC_FPC_CSR ", struct sigcontext, sc_fpc_csr);
276 linefeed; 279 linefeed;
diff --git a/arch/mips/kernel/branch.c b/arch/mips/kernel/branch.c
index 374de839558d..b6232d9033cb 100644
--- a/arch/mips/kernel/branch.c
+++ b/arch/mips/kernel/branch.c
@@ -184,7 +184,7 @@ int __compute_return_epc(struct pt_regs *regs)
184 bit = (insn.i_format.rt >> 2); 184 bit = (insn.i_format.rt >> 2);
185 bit += (bit != 0); 185 bit += (bit != 0);
186 bit += 23; 186 bit += 23;
187 switch (insn.i_format.rt) { 187 switch (insn.i_format.rt & 3) {
188 case 0: /* bc1f */ 188 case 0: /* bc1f */
189 case 2: /* bc1fl */ 189 case 2: /* bc1fl */
190 if (~fcr31 & (1 << bit)) 190 if (~fcr31 & (1 << bit))
diff --git a/arch/mips/kernel/cpu-bugs64.c b/arch/mips/kernel/cpu-bugs64.c
index 47a087b6c11b..d268827c62bd 100644
--- a/arch/mips/kernel/cpu-bugs64.c
+++ b/arch/mips/kernel/cpu-bugs64.c
@@ -206,7 +206,7 @@ static inline void check_daddi(void)
206 "daddi %0, %1, %3\n\t" 206 "daddi %0, %1, %3\n\t"
207 ".set pop" 207 ".set pop"
208 : "=r" (v), "=&r" (tmp) 208 : "=r" (v), "=&r" (tmp)
209 : "I" (0xffffffffffffdb9a), "I" (0x1234)); 209 : "I" (0xffffffffffffdb9aUL), "I" (0x1234));
210 set_except_vector(12, handler); 210 set_except_vector(12, handler);
211 local_irq_restore(flags); 211 local_irq_restore(flags);
212 212
@@ -224,7 +224,7 @@ static inline void check_daddi(void)
224 "dsrl %1, %1, 1\n\t" 224 "dsrl %1, %1, 1\n\t"
225 "daddi %0, %1, %3" 225 "daddi %0, %1, %3"
226 : "=r" (v), "=&r" (tmp) 226 : "=r" (v), "=&r" (tmp)
227 : "I" (0xffffffffffffdb9a), "I" (0x1234)); 227 : "I" (0xffffffffffffdb9aUL), "I" (0x1234));
228 set_except_vector(12, handler); 228 set_except_vector(12, handler);
229 local_irq_restore(flags); 229 local_irq_restore(flags);
230 230
@@ -280,7 +280,7 @@ static inline void check_daddiu(void)
280 "daddu %1, %2\n\t" 280 "daddu %1, %2\n\t"
281 ".set pop" 281 ".set pop"
282 : "=&r" (v), "=&r" (w), "=&r" (tmp) 282 : "=&r" (v), "=&r" (w), "=&r" (tmp)
283 : "I" (0xffffffffffffdb9a), "I" (0x1234)); 283 : "I" (0xffffffffffffdb9aUL), "I" (0x1234));
284 284
285 if (v == w) { 285 if (v == w) {
286 printk("no.\n"); 286 printk("no.\n");
@@ -296,7 +296,7 @@ static inline void check_daddiu(void)
296 "addiu %1, $0, %4\n\t" 296 "addiu %1, $0, %4\n\t"
297 "daddu %1, %2" 297 "daddu %1, %2"
298 : "=&r" (v), "=&r" (w), "=&r" (tmp) 298 : "=&r" (v), "=&r" (w), "=&r" (tmp)
299 : "I" (0xffffffffffffdb9a), "I" (0x1234)); 299 : "I" (0xffffffffffffdb9aUL), "I" (0x1234));
300 300
301 if (v == w) { 301 if (v == w) {
302 printk("yes.\n"); 302 printk("yes.\n");
diff --git a/arch/mips/kernel/cpu-probe.c b/arch/mips/kernel/cpu-probe.c
index 58b3b14873cb..8c2c359a05f4 100644
--- a/arch/mips/kernel/cpu-probe.c
+++ b/arch/mips/kernel/cpu-probe.c
@@ -121,6 +121,7 @@ static inline void check_wait(void)
121 case CPU_24K: 121 case CPU_24K:
122 case CPU_25KF: 122 case CPU_25KF:
123 case CPU_34K: 123 case CPU_34K:
124 case CPU_74K:
124 case CPU_PR4450: 125 case CPU_PR4450:
125 cpu_wait = r4k_wait; 126 cpu_wait = r4k_wait;
126 printk(" available.\n"); 127 printk(" available.\n");
@@ -432,6 +433,15 @@ static inline void cpu_probe_legacy(struct cpuinfo_mips *c)
432 MIPS_CPU_LLSC; 433 MIPS_CPU_LLSC;
433 c->tlbsize = 64; 434 c->tlbsize = 64;
434 break; 435 break;
436 case PRID_IMP_R14000:
437 c->cputype = CPU_R14000;
438 c->isa_level = MIPS_CPU_ISA_IV;
439 c->options = MIPS_CPU_TLB | MIPS_CPU_4K_CACHE | MIPS_CPU_4KEX |
440 MIPS_CPU_FPU | MIPS_CPU_32FPR |
441 MIPS_CPU_COUNTER | MIPS_CPU_WATCH |
442 MIPS_CPU_LLSC;
443 c->tlbsize = 64;
444 break;
435 } 445 }
436} 446}
437 447
@@ -593,6 +603,9 @@ static inline void cpu_probe_mips(struct cpuinfo_mips *c)
593 case PRID_IMP_34K: 603 case PRID_IMP_34K:
594 c->cputype = CPU_34K; 604 c->cputype = CPU_34K;
595 break; 605 break;
606 case PRID_IMP_74K:
607 c->cputype = CPU_74K;
608 break;
596 } 609 }
597} 610}
598 611
@@ -642,7 +655,7 @@ static inline void cpu_probe_sibyte(struct cpuinfo_mips *c)
642 case PRID_IMP_SB1: 655 case PRID_IMP_SB1:
643 c->cputype = CPU_SB1; 656 c->cputype = CPU_SB1;
644 /* FPU in pass1 is known to have issues. */ 657 /* FPU in pass1 is known to have issues. */
645 if ((c->processor_id & 0xff) < 0x20) 658 if ((c->processor_id & 0xff) < 0x02)
646 c->options &= ~(MIPS_CPU_FPU | MIPS_CPU_32FPR); 659 c->options &= ~(MIPS_CPU_FPU | MIPS_CPU_32FPR);
647 break; 660 break;
648 case PRID_IMP_SB1A: 661 case PRID_IMP_SB1A:
diff --git a/arch/mips/kernel/entry.S b/arch/mips/kernel/entry.S
index 83c87fe4ee4f..a9c6de1b9542 100644
--- a/arch/mips/kernel/entry.S
+++ b/arch/mips/kernel/entry.S
@@ -17,6 +17,9 @@
17#include <asm/isadep.h> 17#include <asm/isadep.h>
18#include <asm/thread_info.h> 18#include <asm/thread_info.h>
19#include <asm/war.h> 19#include <asm/war.h>
20#ifdef CONFIG_MIPS_MT_SMTC
21#include <asm/mipsmtregs.h>
22#endif
20 23
21#ifdef CONFIG_PREEMPT 24#ifdef CONFIG_PREEMPT
22 .macro preempt_stop 25 .macro preempt_stop
@@ -75,6 +78,37 @@ FEXPORT(syscall_exit)
75 bnez t0, syscall_exit_work 78 bnez t0, syscall_exit_work
76 79
77FEXPORT(restore_all) # restore full frame 80FEXPORT(restore_all) # restore full frame
81#ifdef CONFIG_MIPS_MT_SMTC
82/* Detect and execute deferred IPI "interrupts" */
83 move a0,sp
84 jal deferred_smtc_ipi
85/* Re-arm any temporarily masked interrupts not explicitly "acked" */
86 mfc0 v0, CP0_TCSTATUS
87 ori v1, v0, TCSTATUS_IXMT
88 mtc0 v1, CP0_TCSTATUS
89 andi v0, TCSTATUS_IXMT
90 ehb
91 mfc0 t0, CP0_TCCONTEXT
92 DMT 9 # dmt t1
93 jal mips_ihb
94 mfc0 t2, CP0_STATUS
95 andi t3, t0, 0xff00
96 or t2, t2, t3
97 mtc0 t2, CP0_STATUS
98 ehb
99 andi t1, t1, VPECONTROL_TE
100 beqz t1, 1f
101 EMT
1021:
103 mfc0 v1, CP0_TCSTATUS
104 /* We set IXMT above, XOR should clear it here */
105 xori v1, v1, TCSTATUS_IXMT
106 or v1, v0, v1
107 mtc0 v1, CP0_TCSTATUS
108 ehb
109 xor t0, t0, t3
110 mtc0 t0, CP0_TCCONTEXT
111#endif /* CONFIG_MIPS_MT_SMTC */
78 .set noat 112 .set noat
79 RESTORE_TEMP 113 RESTORE_TEMP
80 RESTORE_AT 114 RESTORE_AT
@@ -120,28 +154,17 @@ syscall_exit_work:
120 jal do_syscall_trace 154 jal do_syscall_trace
121 b resume_userspace 155 b resume_userspace
122 156
157#if defined(CONFIG_CPU_MIPSR2) || defined(CONFIG_MIPS_MT)
158
123/* 159/*
124 * Common spurious interrupt handler. 160 * MIPS32R2 Instruction Hazard Barrier - must be called
161 *
162 * For C code use the inline version named instruction_hazard().
125 */ 163 */
126LEAF(spurious_interrupt) 164LEAF(mips_ihb)
127 /* 165 .set mips32r2
128 * Someone tried to fool us by sending an interrupt but we 166 jr.hb ra
129 * couldn't find a cause for it. 167 nop
130 */ 168 END(mips_ihb)
131 PTR_LA t1, irq_err_count 169
132#ifdef CONFIG_SMP 170#endif /* CONFIG_CPU_MIPSR2 or CONFIG_MIPS_MT */
1331: ll t0, (t1)
134 addiu t0, 1
135 sc t0, (t1)
136#if R10000_LLSC_WAR
137 beqzl t0, 1b
138#else
139 beqz t0, 1b
140#endif
141#else
142 lw t0, (t1)
143 addiu t0, 1
144 sw t0, (t1)
145#endif
146 j ret_from_irq
147 END(spurious_interrupt)
diff --git a/arch/mips/kernel/gdb-low.S b/arch/mips/kernel/gdb-low.S
index 235ad9f6bd35..5fd7a8af0c62 100644
--- a/arch/mips/kernel/gdb-low.S
+++ b/arch/mips/kernel/gdb-low.S
@@ -54,9 +54,11 @@
54 */ 54 */
55 mfc0 k0, CP0_CAUSE 55 mfc0 k0, CP0_CAUSE
56 andi k0, k0, 0x7c 56 andi k0, k0, 0x7c
57 add k1, k1, k0 57#ifdef CONFIG_64BIT
58 PTR_L k0, saved_vectors(k1) 58 dsll k0, k0, 1
59 jr k0 59#endif
60 PTR_L k1, saved_vectors(k0)
61 jr k1
60 nop 62 nop
611: 631:
62 move k0, sp 64 move k0, sp
@@ -283,11 +285,33 @@
283 */ 285 */
284 286
2853: 2873:
288#ifdef CONFIG_MIPS_MT_SMTC
289 /* Read-modify write of Status must be atomic */
290 mfc0 t2, CP0_TCSTATUS
291 ori t1, t2, TCSTATUS_IXMT
292 mtc0 t1, CP0_TCSTATUS
293 andi t2, t2, TCSTATUS_IXMT
294 ehb
295 DMT 9 # dmt t1
296 jal mips_ihb
297 nop
298#endif /* CONFIG_MIPS_MT_SMTC */
286 mfc0 t0, CP0_STATUS 299 mfc0 t0, CP0_STATUS
287 ori t0, 0x1f 300 ori t0, 0x1f
288 xori t0, 0x1f 301 xori t0, 0x1f
289 mtc0 t0, CP0_STATUS 302 mtc0 t0, CP0_STATUS
290 303#ifdef CONFIG_MIPS_MT_SMTC
304 andi t1, t1, VPECONTROL_TE
305 beqz t1, 9f
306 nop
307 EMT # emt
3089:
309 mfc0 t1, CP0_TCSTATUS
310 xori t1, t1, TCSTATUS_IXMT
311 or t1, t1, t2
312 mtc0 t1, CP0_TCSTATUS
313 ehb
314#endif /* CONFIG_MIPS_MT_SMTC */
291 LONG_L v0, GDB_FR_STATUS(sp) 315 LONG_L v0, GDB_FR_STATUS(sp)
292 LONG_L v1, GDB_FR_EPC(sp) 316 LONG_L v1, GDB_FR_EPC(sp)
293 mtc0 v0, CP0_STATUS 317 mtc0 v0, CP0_STATUS
diff --git a/arch/mips/kernel/gdb-stub.c b/arch/mips/kernel/gdb-stub.c
index d4f88e0af24c..6ecbdc1fefd1 100644
--- a/arch/mips/kernel/gdb-stub.c
+++ b/arch/mips/kernel/gdb-stub.c
@@ -140,6 +140,7 @@
140#include <asm/system.h> 140#include <asm/system.h>
141#include <asm/gdb-stub.h> 141#include <asm/gdb-stub.h>
142#include <asm/inst.h> 142#include <asm/inst.h>
143#include <asm/smp.h>
143 144
144/* 145/*
145 * external low-level support routines 146 * external low-level support routines
@@ -669,6 +670,64 @@ static void kgdb_wait(void *arg)
669 local_irq_restore(flags); 670 local_irq_restore(flags);
670} 671}
671 672
673/*
674 * GDB stub needs to call kgdb_wait on all processor with interrupts
675 * disabled, so it uses it's own special variant.
676 */
677static int kgdb_smp_call_kgdb_wait(void)
678{
679#ifdef CONFIG_SMP
680 struct call_data_struct data;
681 int i, cpus = num_online_cpus() - 1;
682 int cpu = smp_processor_id();
683
684 /*
685 * Can die spectacularly if this CPU isn't yet marked online
686 */
687 BUG_ON(!cpu_online(cpu));
688
689 if (!cpus)
690 return 0;
691
692 if (spin_is_locked(&smp_call_lock)) {
693 /*
694 * Some other processor is trying to make us do something
695 * but we're not going to respond... give up
696 */
697 return -1;
698 }
699
700 /*
701 * We will continue here, accepting the fact that
702 * the kernel may deadlock if another CPU attempts
703 * to call smp_call_function now...
704 */
705
706 data.func = kgdb_wait;
707 data.info = NULL;
708 atomic_set(&data.started, 0);
709 data.wait = 0;
710
711 spin_lock(&smp_call_lock);
712 call_data = &data;
713 mb();
714
715 /* Send a message to all other CPUs and wait for them to respond */
716 for (i = 0; i < NR_CPUS; i++)
717 if (cpu_online(i) && i != cpu)
718 core_send_ipi(i, SMP_CALL_FUNCTION);
719
720 /* Wait for response */
721 /* FIXME: lock-up detection, backtrace on lock-up */
722 while (atomic_read(&data.started) != cpus)
723 barrier();
724
725 call_data = NULL;
726 spin_unlock(&smp_call_lock);
727#endif
728
729 return 0;
730}
672 731
673/* 732/*
674 * This function does all command processing for interfacing to gdb. It 733 * This function does all command processing for interfacing to gdb. It
@@ -718,7 +777,7 @@ void handle_exception (struct gdb_regs *regs)
718 /* 777 /*
719 * force other cpus to enter kgdb 778 * force other cpus to enter kgdb
720 */ 779 */
721 smp_call_function(kgdb_wait, NULL, 0, 0); 780 kgdb_smp_call_kgdb_wait();
722 781
723 /* 782 /*
724 * If we're in breakpoint() increment the PC 783 * If we're in breakpoint() increment the PC
diff --git a/arch/mips/kernel/genex.S b/arch/mips/kernel/genex.S
index 13f22d1d0e8b..ff7af369f286 100644
--- a/arch/mips/kernel/genex.S
+++ b/arch/mips/kernel/genex.S
@@ -12,6 +12,7 @@
12#include <linux/init.h> 12#include <linux/init.h>
13 13
14#include <asm/asm.h> 14#include <asm/asm.h>
15#include <asm/asmmacro.h>
15#include <asm/cacheops.h> 16#include <asm/cacheops.h>
16#include <asm/regdef.h> 17#include <asm/regdef.h>
17#include <asm/fpregdef.h> 18#include <asm/fpregdef.h>
@@ -122,6 +123,20 @@ handle_vcei:
122 .set pop 123 .set pop
123 END(except_vec3_r4000) 124 END(except_vec3_r4000)
124 125
126 __FINIT
127
128 .align 5
129NESTED(handle_int, PT_SIZE, sp)
130 SAVE_ALL
131 CLI
132
133 PTR_LA ra, ret_from_irq
134 move a0, sp
135 j plat_irq_dispatch
136 END(handle_int)
137
138 __INIT
139
125/* 140/*
126 * Special interrupt vector for MIPS64 ISA & embedded MIPS processors. 141 * Special interrupt vector for MIPS64 ISA & embedded MIPS processors.
127 * This is a dedicated interrupt exception vector which reduces the 142 * This is a dedicated interrupt exception vector which reduces the
@@ -157,6 +172,15 @@ NESTED(except_vec_vi, 0, sp)
157 SAVE_AT 172 SAVE_AT
158 .set push 173 .set push
159 .set noreorder 174 .set noreorder
175#ifdef CONFIG_MIPS_MT_SMTC
176 /*
177 * To keep from blindly blocking *all* interrupts
178 * during service by SMTC kernel, we also want to
179 * pass the IM value to be cleared.
180 */
181EXPORT(except_vec_vi_mori)
182 ori a0, $0, 0
183#endif /* CONFIG_MIPS_MT_SMTC */
160EXPORT(except_vec_vi_lui) 184EXPORT(except_vec_vi_lui)
161 lui v0, 0 /* Patched */ 185 lui v0, 0 /* Patched */
162 j except_vec_vi_handler 186 j except_vec_vi_handler
@@ -173,6 +197,25 @@ EXPORT(except_vec_vi_end)
173NESTED(except_vec_vi_handler, 0, sp) 197NESTED(except_vec_vi_handler, 0, sp)
174 SAVE_TEMP 198 SAVE_TEMP
175 SAVE_STATIC 199 SAVE_STATIC
200#ifdef CONFIG_MIPS_MT_SMTC
201 /*
202 * SMTC has an interesting problem that interrupts are level-triggered,
203 * and the CLI macro will clear EXL, potentially causing a duplicate
204 * interrupt service invocation. So we need to clear the associated
205 * IM bit of Status prior to doing CLI, and restore it after the
206 * service routine has been invoked - we must assume that the
207 * service routine will have cleared the state, and any active
208 * level represents a new or otherwised unserviced event...
209 */
210 mfc0 t1, CP0_STATUS
211 and t0, a0, t1
212 mfc0 t2, CP0_TCCONTEXT
213 or t0, t0, t2
214 mtc0 t0, CP0_TCCONTEXT
215 xor t1, t1, t0
216 mtc0 t1, CP0_STATUS
217 ehb
218#endif /* CONFIG_MIPS_MT_SMTC */
176 CLI 219 CLI
177 move a0, sp 220 move a0, sp
178 jalr v0 221 jalr v0
diff --git a/arch/mips/kernel/head.S b/arch/mips/kernel/head.S
index 2e9122a4213a..bdf6f6eff721 100644
--- a/arch/mips/kernel/head.S
+++ b/arch/mips/kernel/head.S
@@ -18,6 +18,7 @@
18#include <linux/threads.h> 18#include <linux/threads.h>
19 19
20#include <asm/asm.h> 20#include <asm/asm.h>
21#include <asm/asmmacro.h>
21#include <asm/regdef.h> 22#include <asm/regdef.h>
22#include <asm/page.h> 23#include <asm/page.h>
23#include <asm/mipsregs.h> 24#include <asm/mipsregs.h>
@@ -82,12 +83,33 @@
82 */ 83 */
83 .macro setup_c0_status set clr 84 .macro setup_c0_status set clr
84 .set push 85 .set push
86#ifdef CONFIG_MIPS_MT_SMTC
87 /*
88 * For SMTC, we need to set privilege and disable interrupts only for
89 * the current TC, using the TCStatus register.
90 */
91 mfc0 t0, CP0_TCSTATUS
92 /* Fortunately CU 0 is in the same place in both registers */
93 /* Set TCU0, TMX, TKSU (for later inversion) and IXMT */
94 li t1, ST0_CU0 | 0x08001c00
95 or t0, t1
96 /* Clear TKSU, leave IXMT */
97 xori t0, 0x00001800
98 mtc0 t0, CP0_TCSTATUS
99 ehb
100 /* We need to leave the global IE bit set, but clear EXL...*/
101 mfc0 t0, CP0_STATUS
102 or t0, ST0_CU0 | ST0_EXL | ST0_ERL | \set | \clr
103 xor t0, ST0_EXL | ST0_ERL | \clr
104 mtc0 t0, CP0_STATUS
105#else
85 mfc0 t0, CP0_STATUS 106 mfc0 t0, CP0_STATUS
86 or t0, ST0_CU0|\set|0x1f|\clr 107 or t0, ST0_CU0|\set|0x1f|\clr
87 xor t0, 0x1f|\clr 108 xor t0, 0x1f|\clr
88 mtc0 t0, CP0_STATUS 109 mtc0 t0, CP0_STATUS
89 .set noreorder 110 .set noreorder
90 sll zero,3 # ehb 111 sll zero,3 # ehb
112#endif
91 .set pop 113 .set pop
92 .endm 114 .endm
93 115
@@ -134,6 +156,24 @@ NESTED(kernel_entry, 16, sp) # kernel entry point
134 156
135 ARC64_TWIDDLE_PC 157 ARC64_TWIDDLE_PC
136 158
159#ifdef CONFIG_MIPS_MT_SMTC
160 /*
161 * In SMTC kernel, "CLI" is thread-specific, in TCStatus.
162 * We still need to enable interrupts globally in Status,
163 * and clear EXL/ERL.
164 *
165 * TCContext is used to track interrupt levels under
166 * service in SMTC kernel. Clear for boot TC before
167 * allowing any interrupts.
168 */
169 mtc0 zero, CP0_TCCONTEXT
170
171 mfc0 t0, CP0_STATUS
172 ori t0, t0, 0xff1f
173 xori t0, t0, 0x001e
174 mtc0 t0, CP0_STATUS
175#endif /* CONFIG_MIPS_MT_SMTC */
176
137 PTR_LA t0, __bss_start # clear .bss 177 PTR_LA t0, __bss_start # clear .bss
138 LONG_S zero, (t0) 178 LONG_S zero, (t0)
139 PTR_LA t1, __bss_stop - LONGSIZE 179 PTR_LA t1, __bss_stop - LONGSIZE
@@ -166,8 +206,25 @@ NESTED(kernel_entry, 16, sp) # kernel entry point
166 * function after setting up the stack and gp registers. 206 * function after setting up the stack and gp registers.
167 */ 207 */
168NESTED(smp_bootstrap, 16, sp) 208NESTED(smp_bootstrap, 16, sp)
209#ifdef CONFIG_MIPS_MT_SMTC
210 /*
211 * Read-modify-writes of Status must be atomic, and this
212 * is one case where CLI is invoked without EXL being
213 * necessarily set. The CLI and setup_c0_status will
214 * in fact be redundant for all but the first TC of
215 * each VPE being booted.
216 */
217 DMT 10 # dmt t2 /* t0, t1 are used by CLI and setup_c0_status() */
218 jal mips_ihb
219#endif /* CONFIG_MIPS_MT_SMTC */
169 setup_c0_status_sec 220 setup_c0_status_sec
170 smp_slave_setup 221 smp_slave_setup
222#ifdef CONFIG_MIPS_MT_SMTC
223 andi t2, t2, VPECONTROL_TE
224 beqz t2, 2f
225 EMT # emt
2262:
227#endif /* CONFIG_MIPS_MT_SMTC */
171 j start_secondary 228 j start_secondary
172 END(smp_bootstrap) 229 END(smp_bootstrap)
173#endif /* CONFIG_SMP */ 230#endif /* CONFIG_SMP */
diff --git a/arch/mips/kernel/i8259.c b/arch/mips/kernel/i8259.c
index b974ac9057f6..2125ba5f1d9b 100644
--- a/arch/mips/kernel/i8259.c
+++ b/arch/mips/kernel/i8259.c
@@ -187,6 +187,10 @@ handle_real_irq:
187 outb(cached_21,0x21); 187 outb(cached_21,0x21);
188 outb(0x60+irq,0x20); /* 'Specific EOI' to master */ 188 outb(0x60+irq,0x20); /* 'Specific EOI' to master */
189 } 189 }
190#ifdef CONFIG_MIPS_MT_SMTC
191 if (irq_hwmask[irq] & ST0_IM)
192 set_c0_status(irq_hwmask[irq] & ST0_IM);
193#endif /* CONFIG_MIPS_MT_SMTC */
190 spin_unlock_irqrestore(&i8259A_lock, flags); 194 spin_unlock_irqrestore(&i8259A_lock, flags);
191 return; 195 return;
192 196
diff --git a/arch/mips/kernel/irq-msc01.c b/arch/mips/kernel/irq-msc01.c
index 3f653c7cfbf3..97ebdc754b9e 100644
--- a/arch/mips/kernel/irq-msc01.c
+++ b/arch/mips/kernel/irq-msc01.c
@@ -76,6 +76,11 @@ static void level_mask_and_ack_msc_irq(unsigned int irq)
76 mask_msc_irq(irq); 76 mask_msc_irq(irq);
77 if (!cpu_has_veic) 77 if (!cpu_has_veic)
78 MSCIC_WRITE(MSC01_IC_EOI, 0); 78 MSCIC_WRITE(MSC01_IC_EOI, 0);
79#ifdef CONFIG_MIPS_MT_SMTC
80 /* This actually needs to be a call into platform code */
81 if (irq_hwmask[irq] & ST0_IM)
82 set_c0_status(irq_hwmask[irq] & ST0_IM);
83#endif /* CONFIG_MIPS_MT_SMTC */
79} 84}
80 85
81/* 86/*
@@ -92,6 +97,10 @@ static void edge_mask_and_ack_msc_irq(unsigned int irq)
92 MSCIC_WRITE(MSC01_IC_SUP+irq*8, r | ~MSC01_IC_SUP_EDGE_BIT); 97 MSCIC_WRITE(MSC01_IC_SUP+irq*8, r | ~MSC01_IC_SUP_EDGE_BIT);
93 MSCIC_WRITE(MSC01_IC_SUP+irq*8, r); 98 MSCIC_WRITE(MSC01_IC_SUP+irq*8, r);
94 } 99 }
100#ifdef CONFIG_MIPS_MT_SMTC
101 if (irq_hwmask[irq] & ST0_IM)
102 set_c0_status(irq_hwmask[irq] & ST0_IM);
103#endif /* CONFIG_MIPS_MT_SMTC */
95} 104}
96 105
97/* 106/*
diff --git a/arch/mips/kernel/irq.c b/arch/mips/kernel/irq.c
index 3dd76b3d2967..3dce742e716f 100644
--- a/arch/mips/kernel/irq.c
+++ b/arch/mips/kernel/irq.c
@@ -38,6 +38,15 @@ void ack_bad_irq(unsigned int irq)
38 38
39atomic_t irq_err_count; 39atomic_t irq_err_count;
40 40
41#ifdef CONFIG_MIPS_MT_SMTC
42/*
43 * SMTC Kernel needs to manipulate low-level CPU interrupt mask
44 * in do_IRQ. These are passed in setup_irq_smtc() and stored
45 * in this table.
46 */
47unsigned long irq_hwmask[NR_IRQS];
48#endif /* CONFIG_MIPS_MT_SMTC */
49
41#undef do_IRQ 50#undef do_IRQ
42 51
43/* 52/*
@@ -49,6 +58,7 @@ asmlinkage unsigned int do_IRQ(unsigned int irq, struct pt_regs *regs)
49{ 58{
50 irq_enter(); 59 irq_enter();
51 60
61 __DO_IRQ_SMTC_HOOK();
52 __do_IRQ(irq, regs); 62 __do_IRQ(irq, regs);
53 63
54 irq_exit(); 64 irq_exit();
@@ -101,6 +111,11 @@ skip:
101 return 0; 111 return 0;
102} 112}
103 113
114asmlinkage void spurious_interrupt(struct pt_regs *regs)
115{
116 atomic_inc(&irq_err_count);
117}
118
104#ifdef CONFIG_KGDB 119#ifdef CONFIG_KGDB
105extern void breakpoint(void); 120extern void breakpoint(void);
106extern void set_debug_traps(void); 121extern void set_debug_traps(void);
@@ -124,6 +139,9 @@ void __init init_IRQ(void)
124 irq_desc[i].depth = 1; 139 irq_desc[i].depth = 1;
125 irq_desc[i].handler = &no_irq_type; 140 irq_desc[i].handler = &no_irq_type;
126 spin_lock_init(&irq_desc[i].lock); 141 spin_lock_init(&irq_desc[i].lock);
142#ifdef CONFIG_MIPS_MT_SMTC
143 irq_hwmask[i] = 0;
144#endif /* CONFIG_MIPS_MT_SMTC */
127 } 145 }
128 146
129 arch_init_irq(); 147 arch_init_irq();
diff --git a/arch/mips/kernel/kspd.c b/arch/mips/kernel/kspd.c
new file mode 100644
index 000000000000..f06a144c7881
--- /dev/null
+++ b/arch/mips/kernel/kspd.c
@@ -0,0 +1,398 @@
1/*
2 * Copyright (C) 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/kernel.h>
19#include <linux/module.h>
20#include <linux/unistd.h>
21#include <linux/file.h>
22#include <linux/fs.h>
23#include <linux/syscalls.h>
24#include <linux/workqueue.h>
25#include <linux/errno.h>
26#include <linux/list.h>
27
28#include <asm/vpe.h>
29#include <asm/rtlx.h>
30#include <asm/kspd.h>
31
32static struct workqueue_struct *workqueue = NULL;
33static struct work_struct work;
34
35extern unsigned long cpu_khz;
36
37struct mtsp_syscall {
38 int cmd;
39 unsigned char abi;
40 unsigned char size;
41};
42
43struct mtsp_syscall_ret {
44 int retval;
45 int errno;
46};
47
48struct mtsp_syscall_generic {
49 int arg0;
50 int arg1;
51 int arg2;
52 int arg3;
53 int arg4;
54 int arg5;
55 int arg6;
56};
57
58static struct list_head kspd_notifylist;
59static int sp_stopping = 0;
60
61/* these should match with those in the SDE kit */
62#define MTSP_SYSCALL_BASE 0
63#define MTSP_SYSCALL_EXIT (MTSP_SYSCALL_BASE + 0)
64#define MTSP_SYSCALL_OPEN (MTSP_SYSCALL_BASE + 1)
65#define MTSP_SYSCALL_READ (MTSP_SYSCALL_BASE + 2)
66#define MTSP_SYSCALL_WRITE (MTSP_SYSCALL_BASE + 3)
67#define MTSP_SYSCALL_CLOSE (MTSP_SYSCALL_BASE + 4)
68#define MTSP_SYSCALL_LSEEK32 (MTSP_SYSCALL_BASE + 5)
69#define MTSP_SYSCALL_ISATTY (MTSP_SYSCALL_BASE + 6)
70#define MTSP_SYSCALL_GETTIME (MTSP_SYSCALL_BASE + 7)
71#define MTSP_SYSCALL_PIPEFREQ (MTSP_SYSCALL_BASE + 8)
72#define MTSP_SYSCALL_GETTOD (MTSP_SYSCALL_BASE + 9)
73
74#define MTSP_O_RDONLY 0x0000
75#define MTSP_O_WRONLY 0x0001
76#define MTSP_O_RDWR 0x0002
77#define MTSP_O_NONBLOCK 0x0004
78#define MTSP_O_APPEND 0x0008
79#define MTSP_O_SHLOCK 0x0010
80#define MTSP_O_EXLOCK 0x0020
81#define MTSP_O_ASYNC 0x0040
82#define MTSP_O_FSYNC O_SYNC
83#define MTSP_O_NOFOLLOW 0x0100
84#define MTSP_O_SYNC 0x0080
85#define MTSP_O_CREAT 0x0200
86#define MTSP_O_TRUNC 0x0400
87#define MTSP_O_EXCL 0x0800
88#define MTSP_O_BINARY 0x8000
89
90#define SP_VPE 1
91
92struct apsp_table {
93 int sp;
94 int ap;
95};
96
97/* we might want to do the mode flags too */
98struct apsp_table open_flags_table[] = {
99 { MTSP_O_RDWR, O_RDWR },
100 { MTSP_O_WRONLY, O_WRONLY },
101 { MTSP_O_CREAT, O_CREAT },
102 { MTSP_O_TRUNC, O_TRUNC },
103 { MTSP_O_NONBLOCK, O_NONBLOCK },
104 { MTSP_O_APPEND, O_APPEND },
105 { MTSP_O_NOFOLLOW, O_NOFOLLOW }
106};
107
108struct apsp_table syscall_command_table[] = {
109 { MTSP_SYSCALL_OPEN, __NR_open },
110 { MTSP_SYSCALL_CLOSE, __NR_close },
111 { MTSP_SYSCALL_READ, __NR_read },
112 { MTSP_SYSCALL_WRITE, __NR_write },
113 { MTSP_SYSCALL_LSEEK32, __NR_lseek }
114};
115
116static int sp_syscall(int num, int arg0, int arg1, int arg2, int arg3)
117{
118 register long int _num __asm__ ("$2") = num;
119 register long int _arg0 __asm__ ("$4") = arg0;
120 register long int _arg1 __asm__ ("$5") = arg1;
121 register long int _arg2 __asm__ ("$6") = arg2;
122 register long int _arg3 __asm__ ("$7") = arg3;
123
124 mm_segment_t old_fs;
125
126 old_fs = get_fs();
127 set_fs(KERNEL_DS);
128
129 __asm__ __volatile__ (
130 " syscall \n"
131 : "=r" (_num), "=r" (_arg3)
132 : "r" (_num), "r" (_arg0), "r" (_arg1), "r" (_arg2), "r" (_arg3));
133
134 set_fs(old_fs);
135
136 /* $a3 is error flag */
137 if (_arg3)
138 return -_num;
139
140 return _num;
141}
142
143static int translate_syscall_command(int cmd)
144{
145 int i;
146 int ret = -1;
147
148 for (i = 0; i < ARRAY_SIZE(syscall_command_table); i++) {
149 if ((cmd == syscall_command_table[i].sp))
150 return syscall_command_table[i].ap;
151 }
152
153 return ret;
154}
155
156static unsigned int translate_open_flags(int flags)
157{
158 int i;
159 unsigned int ret = 0;
160
161 for (i = 0; i < (sizeof(open_flags_table) / sizeof(struct apsp_table));
162 i++) {
163 if( (flags & open_flags_table[i].sp) ) {
164 ret |= open_flags_table[i].ap;
165 }
166 }
167
168 return ret;
169}
170
171
172static void sp_setfsuidgid( uid_t uid, gid_t gid)
173{
174 current->fsuid = uid;
175 current->fsgid = gid;
176
177 key_fsuid_changed(current);
178 key_fsgid_changed(current);
179}
180
181/*
182 * Expects a request to be on the sysio channel. Reads it. Decides whether
183 * its a linux syscall and runs it, or whatever. Puts the return code back
184 * into the request and sends the whole thing back.
185 */
186void sp_work_handle_request(void)
187{
188 struct mtsp_syscall sc;
189 struct mtsp_syscall_generic generic;
190 struct mtsp_syscall_ret ret;
191 struct kspd_notifications *n;
192 struct timeval tv;
193 struct timezone tz;
194 int cmd;
195
196 char *vcwd;
197 mm_segment_t old_fs;
198 int size;
199
200 ret.retval = -1;
201
202 if (!rtlx_read(RTLX_CHANNEL_SYSIO, &sc, sizeof(struct mtsp_syscall), 0)) {
203 printk(KERN_ERR "Expected request but nothing to read\n");
204 return;
205 }
206
207 size = sc.size;
208
209 if (size) {
210 if (!rtlx_read(RTLX_CHANNEL_SYSIO, &generic, size, 0)) {
211 printk(KERN_ERR "Expected request but nothing to read\n");
212 return;
213 }
214 }
215
216 /* Run the syscall at the priviledge of the user who loaded the
217 SP program */
218
219 if (vpe_getuid(SP_VPE))
220 sp_setfsuidgid( vpe_getuid(SP_VPE), vpe_getgid(SP_VPE));
221
222 switch (sc.cmd) {
223 /* needs the flags argument translating from SDE kit to
224 linux */
225 case MTSP_SYSCALL_PIPEFREQ:
226 ret.retval = cpu_khz * 1000;
227 ret.errno = 0;
228 break;
229
230 case MTSP_SYSCALL_GETTOD:
231 memset(&tz, 0, sizeof(tz));
232 if ((ret.retval = sp_syscall(__NR_gettimeofday, (int)&tv,
233 (int)&tz, 0,0)) == 0)
234 ret.retval = tv.tv_sec;
235
236 ret.errno = errno;
237 break;
238
239 case MTSP_SYSCALL_EXIT:
240 list_for_each_entry(n, &kspd_notifylist, list)
241 n->kspd_sp_exit(SP_VPE);
242 sp_stopping = 1;
243
244 printk(KERN_DEBUG "KSPD got exit syscall from SP exitcode %d\n",
245 generic.arg0);
246 break;
247
248 case MTSP_SYSCALL_OPEN:
249 generic.arg1 = translate_open_flags(generic.arg1);
250
251 vcwd = vpe_getcwd(SP_VPE);
252
253 /* change to the cwd of the process that loaded the SP program */
254 old_fs = get_fs();
255 set_fs(KERNEL_DS);
256 sys_chdir(vcwd);
257 set_fs(old_fs);
258
259 sc.cmd = __NR_open;
260
261 /* fall through */
262
263 default:
264 if ((sc.cmd >= __NR_Linux) &&
265 (sc.cmd <= (__NR_Linux + __NR_Linux_syscalls)) )
266 cmd = sc.cmd;
267 else
268 cmd = translate_syscall_command(sc.cmd);
269
270 if (cmd >= 0) {
271 ret.retval = sp_syscall(cmd, generic.arg0, generic.arg1,
272 generic.arg2, generic.arg3);
273 ret.errno = errno;
274 } else
275 printk(KERN_WARNING
276 "KSPD: Unknown SP syscall number %d\n", sc.cmd);
277 break;
278 } /* switch */
279
280 if (vpe_getuid(SP_VPE))
281 sp_setfsuidgid( 0, 0);
282
283 if ((rtlx_write(RTLX_CHANNEL_SYSIO, &ret, sizeof(struct mtsp_syscall_ret), 0))
284 < sizeof(struct mtsp_syscall_ret))
285 printk("KSPD: sp_work_handle_request failed to send to SP\n");
286}
287
288static void sp_cleanup(void)
289{
290 struct files_struct *files = current->files;
291 int i, j;
292 struct fdtable *fdt;
293
294 j = 0;
295
296 /*
297 * It is safe to dereference the fd table without RCU or
298 * ->file_lock
299 */
300 fdt = files_fdtable(files);
301 for (;;) {
302 unsigned long set;
303 i = j * __NFDBITS;
304 if (i >= fdt->max_fdset || i >= fdt->max_fds)
305 break;
306 set = fdt->open_fds->fds_bits[j++];
307 while (set) {
308 if (set & 1) {
309 struct file * file = xchg(&fdt->fd[i], NULL);
310 if (file)
311 filp_close(file, files);
312 }
313 i++;
314 set >>= 1;
315 }
316 }
317}
318
319static int channel_open = 0;
320
321/* the work handler */
322static void sp_work(void *data)
323{
324 if (!channel_open) {
325 if( rtlx_open(RTLX_CHANNEL_SYSIO, 1) != 0) {
326 printk("KSPD: unable to open sp channel\n");
327 sp_stopping = 1;
328 } else {
329 channel_open++;
330 printk(KERN_DEBUG "KSPD: SP channel opened\n");
331 }
332 } else {
333 /* wait for some data, allow it to sleep */
334 rtlx_read_poll(RTLX_CHANNEL_SYSIO, 1);
335
336 /* Check we haven't been woken because we are stopping */
337 if (!sp_stopping)
338 sp_work_handle_request();
339 }
340
341 if (!sp_stopping)
342 queue_work(workqueue, &work);
343 else
344 sp_cleanup();
345}
346
347static void startwork(int vpe)
348{
349 sp_stopping = channel_open = 0;
350
351 if (workqueue == NULL) {
352 if ((workqueue = create_singlethread_workqueue("kspd")) == NULL) {
353 printk(KERN_ERR "unable to start kspd\n");
354 return;
355 }
356
357 INIT_WORK(&work, sp_work, NULL);
358 queue_work(workqueue, &work);
359 } else
360 queue_work(workqueue, &work);
361
362}
363
364static void stopwork(int vpe)
365{
366 sp_stopping = 1;
367
368 printk(KERN_DEBUG "KSPD: SP stopping\n");
369}
370
371void kspd_notify(struct kspd_notifications *notify)
372{
373 list_add(&notify->list, &kspd_notifylist);
374}
375
376static struct vpe_notifications notify;
377static int kspd_module_init(void)
378{
379 INIT_LIST_HEAD(&kspd_notifylist);
380
381 notify.start = startwork;
382 notify.stop = stopwork;
383 vpe_notify(SP_VPE, &notify);
384
385 return 0;
386}
387
388static void kspd_module_exit(void)
389{
390
391}
392
393module_init(kspd_module_init);
394module_exit(kspd_module_exit);
395
396MODULE_DESCRIPTION("MIPS KSPD");
397MODULE_AUTHOR("Elizabeth Oldham, MIPS Technologies, Inc.");
398MODULE_LICENSE("GPL");
diff --git a/arch/mips/kernel/linux32.c b/arch/mips/kernel/linux32.c
index 3f40c37a9ee6..a7d2bb3cf835 100644
--- a/arch/mips/kernel/linux32.c
+++ b/arch/mips/kernel/linux32.c
@@ -356,73 +356,13 @@ asmlinkage int sys32_llseek(unsigned int fd, unsigned int offset_high,
356asmlinkage ssize_t sys32_pread(unsigned int fd, char __user * buf, 356asmlinkage ssize_t sys32_pread(unsigned int fd, char __user * buf,
357 size_t count, u32 unused, u64 a4, u64 a5) 357 size_t count, u32 unused, u64 a4, u64 a5)
358{ 358{
359 ssize_t ret; 359 return sys_pread64(fd, buf, count, merge_64(a4, a5));
360 struct file * file;
361 ssize_t (*read)(struct file *, char __user *, size_t, loff_t *);
362 loff_t pos;
363
364 ret = -EBADF;
365 file = fget(fd);
366 if (!file)
367 goto bad_file;
368 if (!(file->f_mode & FMODE_READ))
369 goto out;
370 pos = merge_64(a4, a5);
371 ret = rw_verify_area(READ, file, &pos, count);
372 if (ret < 0)
373 goto out;
374 ret = -EINVAL;
375 if (!file->f_op || !(read = file->f_op->read))
376 goto out;
377 if (pos < 0)
378 goto out;
379 ret = -ESPIPE;
380 if (!(file->f_mode & FMODE_PREAD))
381 goto out;
382 ret = read(file, buf, count, &pos);
383 if (ret > 0)
384 dnotify_parent(file->f_dentry, DN_ACCESS);
385out:
386 fput(file);
387bad_file:
388 return ret;
389} 360}
390 361
391asmlinkage ssize_t sys32_pwrite(unsigned int fd, const char __user * buf, 362asmlinkage ssize_t sys32_pwrite(unsigned int fd, const char __user * buf,
392 size_t count, u32 unused, u64 a4, u64 a5) 363 size_t count, u32 unused, u64 a4, u64 a5)
393{ 364{
394 ssize_t ret; 365 return sys_pwrite64(fd, buf, count, merge_64(a4, a5));
395 struct file * file;
396 ssize_t (*write)(struct file *, const char __user *, size_t, loff_t *);
397 loff_t pos;
398
399 ret = -EBADF;
400 file = fget(fd);
401 if (!file)
402 goto bad_file;
403 if (!(file->f_mode & FMODE_WRITE))
404 goto out;
405 pos = merge_64(a4, a5);
406 ret = rw_verify_area(WRITE, file, &pos, count);
407 if (ret < 0)
408 goto out;
409 ret = -EINVAL;
410 if (!file->f_op || !(write = file->f_op->write))
411 goto out;
412 if (pos < 0)
413 goto out;
414
415 ret = -ESPIPE;
416 if (!(file->f_mode & FMODE_PWRITE))
417 goto out;
418
419 ret = write(file, buf, count, &pos);
420 if (ret > 0)
421 dnotify_parent(file->f_dentry, DN_MODIFY);
422out:
423 fput(file);
424bad_file:
425 return ret;
426} 366}
427 367
428asmlinkage int sys32_sched_rr_get_interval(compat_pid_t pid, 368asmlinkage int sys32_sched_rr_get_interval(compat_pid_t pid,
@@ -1182,6 +1122,16 @@ asmlinkage ssize_t sys32_readahead(int fd, u32 pad0, u64 a2, u64 a3,
1182 return sys_readahead(fd, merge_64(a2, a3), count); 1122 return sys_readahead(fd, merge_64(a2, a3), count);
1183} 1123}
1184 1124
1125asmlinkage long sys32_sync_file_range(int fd, int __pad,
1126 unsigned long a2, unsigned long a3,
1127 unsigned long a4, unsigned long a5,
1128 int flags)
1129{
1130 return sys_sync_file_range(fd,
1131 merge_64(a2, a3), merge_64(a4, a5),
1132 flags);
1133}
1134
1185/* Argument list sizes for sys_socketcall */ 1135/* Argument list sizes for sys_socketcall */
1186#define AL(x) ((x) * sizeof(unsigned int)) 1136#define AL(x) ((x) * sizeof(unsigned int))
1187static unsigned char socketcall_nargs[18]={AL(0),AL(3),AL(3),AL(3),AL(2),AL(3), 1137static unsigned char socketcall_nargs[18]={AL(0),AL(3),AL(3),AL(3),AL(2),AL(3),
diff --git a/arch/mips/kernel/mips-mt.c b/arch/mips/kernel/mips-mt.c
new file mode 100644
index 000000000000..02237a685ec7
--- /dev/null
+++ b/arch/mips/kernel/mips-mt.c
@@ -0,0 +1,449 @@
1/*
2 * General MIPS MT support routines, usable in AP/SP, SMVP, or SMTC kernels
3 * Copyright (C) 2005 Mips Technologies, Inc
4 */
5
6#include <linux/kernel.h>
7#include <linux/sched.h>
8#include <linux/cpumask.h>
9#include <linux/interrupt.h>
10
11#include <asm/cpu.h>
12#include <asm/processor.h>
13#include <asm/atomic.h>
14#include <asm/system.h>
15#include <asm/hardirq.h>
16#include <asm/mmu_context.h>
17#include <asm/smp.h>
18#include <asm/mipsmtregs.h>
19#include <asm/r4kcache.h>
20#include <asm/cacheflush.h>
21
22/*
23 * CPU mask used to set process affinity for MT VPEs/TCs with FPUs
24 */
25
26cpumask_t mt_fpu_cpumask;
27
28#ifdef CONFIG_MIPS_MT_FPAFF
29
30#include <linux/cpu.h>
31#include <linux/delay.h>
32#include <asm/uaccess.h>
33
34unsigned long mt_fpemul_threshold = 0;
35
36/*
37 * Replacement functions for the sys_sched_setaffinity() and
38 * sys_sched_getaffinity() system calls, so that we can integrate
39 * FPU affinity with the user's requested processor affinity.
40 * This code is 98% identical with the sys_sched_setaffinity()
41 * and sys_sched_getaffinity() system calls, and should be
42 * updated when kernel/sched.c changes.
43 */
44
45/*
46 * find_process_by_pid - find a process with a matching PID value.
47 * used in sys_sched_set/getaffinity() in kernel/sched.c, so
48 * cloned here.
49 */
50static inline task_t *find_process_by_pid(pid_t pid)
51{
52 return pid ? find_task_by_pid(pid) : current;
53}
54
55
56/*
57 * mipsmt_sys_sched_setaffinity - set the cpu affinity of a process
58 */
59asmlinkage long mipsmt_sys_sched_setaffinity(pid_t pid, unsigned int len,
60 unsigned long __user *user_mask_ptr)
61{
62 cpumask_t new_mask;
63 cpumask_t effective_mask;
64 int retval;
65 task_t *p;
66
67 if (len < sizeof(new_mask))
68 return -EINVAL;
69
70 if (copy_from_user(&new_mask, user_mask_ptr, sizeof(new_mask)))
71 return -EFAULT;
72
73 lock_cpu_hotplug();
74 read_lock(&tasklist_lock);
75
76 p = find_process_by_pid(pid);
77 if (!p) {
78 read_unlock(&tasklist_lock);
79 unlock_cpu_hotplug();
80 return -ESRCH;
81 }
82
83 /*
84 * It is not safe to call set_cpus_allowed with the
85 * tasklist_lock held. We will bump the task_struct's
86 * usage count and drop tasklist_lock before invoking
87 * set_cpus_allowed.
88 */
89 get_task_struct(p);
90
91 retval = -EPERM;
92 if ((current->euid != p->euid) && (current->euid != p->uid) &&
93 !capable(CAP_SYS_NICE)) {
94 read_unlock(&tasklist_lock);
95 goto out_unlock;
96 }
97
98 /* Record new user-specified CPU set for future reference */
99 p->thread.user_cpus_allowed = new_mask;
100
101 /* Unlock the task list */
102 read_unlock(&tasklist_lock);
103
104 /* Compute new global allowed CPU set if necessary */
105 if( (p->thread.mflags & MF_FPUBOUND)
106 && cpus_intersects(new_mask, mt_fpu_cpumask)) {
107 cpus_and(effective_mask, new_mask, mt_fpu_cpumask);
108 retval = set_cpus_allowed(p, effective_mask);
109 } else {
110 p->thread.mflags &= ~MF_FPUBOUND;
111 retval = set_cpus_allowed(p, new_mask);
112 }
113
114
115out_unlock:
116 put_task_struct(p);
117 unlock_cpu_hotplug();
118 return retval;
119}
120
121/*
122 * mipsmt_sys_sched_getaffinity - get the cpu affinity of a process
123 */
124asmlinkage long mipsmt_sys_sched_getaffinity(pid_t pid, unsigned int len,
125 unsigned long __user *user_mask_ptr)
126{
127 unsigned int real_len;
128 cpumask_t mask;
129 int retval;
130 task_t *p;
131
132 real_len = sizeof(mask);
133 if (len < real_len)
134 return -EINVAL;
135
136 lock_cpu_hotplug();
137 read_lock(&tasklist_lock);
138
139 retval = -ESRCH;
140 p = find_process_by_pid(pid);
141 if (!p)
142 goto out_unlock;
143
144 retval = 0;
145
146 cpus_and(mask, p->thread.user_cpus_allowed, cpu_possible_map);
147
148out_unlock:
149 read_unlock(&tasklist_lock);
150 unlock_cpu_hotplug();
151 if (retval)
152 return retval;
153 if (copy_to_user(user_mask_ptr, &mask, real_len))
154 return -EFAULT;
155 return real_len;
156}
157
158#endif /* CONFIG_MIPS_MT_FPAFF */
159
160/*
161 * Dump new MIPS MT state for the core. Does not leave TCs halted.
162 * Takes an argument which taken to be a pre-call MVPControl value.
163 */
164
165void mips_mt_regdump(unsigned long mvpctl)
166{
167 unsigned long flags;
168 unsigned long vpflags;
169 unsigned long mvpconf0;
170 int nvpe;
171 int ntc;
172 int i;
173 int tc;
174 unsigned long haltval;
175 unsigned long tcstatval;
176#ifdef CONFIG_MIPS_MT_SMTC
177 void smtc_soft_dump(void);
178#endif /* CONFIG_MIPT_MT_SMTC */
179
180 local_irq_save(flags);
181 vpflags = dvpe();
182 printk("=== MIPS MT State Dump ===\n");
183 printk("-- Global State --\n");
184 printk(" MVPControl Passed: %08lx\n", mvpctl);
185 printk(" MVPControl Read: %08lx\n", vpflags);
186 printk(" MVPConf0 : %08lx\n", (mvpconf0 = read_c0_mvpconf0()));
187 nvpe = ((mvpconf0 & MVPCONF0_PVPE) >> MVPCONF0_PVPE_SHIFT) + 1;
188 ntc = ((mvpconf0 & MVPCONF0_PTC) >> MVPCONF0_PTC_SHIFT) + 1;
189 printk("-- per-VPE State --\n");
190 for(i = 0; i < nvpe; i++) {
191 for(tc = 0; tc < ntc; tc++) {
192 settc(tc);
193 if((read_tc_c0_tcbind() & TCBIND_CURVPE) == i) {
194 printk(" VPE %d\n", i);
195 printk(" VPEControl : %08lx\n", read_vpe_c0_vpecontrol());
196 printk(" VPEConf0 : %08lx\n", read_vpe_c0_vpeconf0());
197 printk(" VPE%d.Status : %08lx\n",
198 i, read_vpe_c0_status());
199 printk(" VPE%d.EPC : %08lx\n", i, read_vpe_c0_epc());
200 printk(" VPE%d.Cause : %08lx\n", i, read_vpe_c0_cause());
201 printk(" VPE%d.Config7 : %08lx\n",
202 i, read_vpe_c0_config7());
203 break; /* Next VPE */
204 }
205 }
206 }
207 printk("-- per-TC State --\n");
208 for(tc = 0; tc < ntc; tc++) {
209 settc(tc);
210 if(read_tc_c0_tcbind() == read_c0_tcbind()) {
211 /* Are we dumping ourself? */
212 haltval = 0; /* Then we're not halted, and mustn't be */
213 tcstatval = flags; /* And pre-dump TCStatus is flags */
214 printk(" TC %d (current TC with VPE EPC above)\n", tc);
215 } else {
216 haltval = read_tc_c0_tchalt();
217 write_tc_c0_tchalt(1);
218 tcstatval = read_tc_c0_tcstatus();
219 printk(" TC %d\n", tc);
220 }
221 printk(" TCStatus : %08lx\n", tcstatval);
222 printk(" TCBind : %08lx\n", read_tc_c0_tcbind());
223 printk(" TCRestart : %08lx\n", read_tc_c0_tcrestart());
224 printk(" TCHalt : %08lx\n", haltval);
225 printk(" TCContext : %08lx\n", read_tc_c0_tccontext());
226 if (!haltval)
227 write_tc_c0_tchalt(0);
228 }
229#ifdef CONFIG_MIPS_MT_SMTC
230 smtc_soft_dump();
231#endif /* CONFIG_MIPT_MT_SMTC */
232 printk("===========================\n");
233 evpe(vpflags);
234 local_irq_restore(flags);
235}
236
237static int mt_opt_norps = 0;
238static int mt_opt_rpsctl = -1;
239static int mt_opt_nblsu = -1;
240static int mt_opt_forceconfig7 = 0;
241static int mt_opt_config7 = -1;
242
243static int __init rps_disable(char *s)
244{
245 mt_opt_norps = 1;
246 return 1;
247}
248__setup("norps", rps_disable);
249
250static int __init rpsctl_set(char *str)
251{
252 get_option(&str, &mt_opt_rpsctl);
253 return 1;
254}
255__setup("rpsctl=", rpsctl_set);
256
257static int __init nblsu_set(char *str)
258{
259 get_option(&str, &mt_opt_nblsu);
260 return 1;
261}
262__setup("nblsu=", nblsu_set);
263
264static int __init config7_set(char *str)
265{
266 get_option(&str, &mt_opt_config7);
267 mt_opt_forceconfig7 = 1;
268 return 1;
269}
270__setup("config7=", config7_set);
271
272/* Experimental cache flush control parameters that should go away some day */
273int mt_protiflush = 0;
274int mt_protdflush = 0;
275int mt_n_iflushes = 1;
276int mt_n_dflushes = 1;
277
278static int __init set_protiflush(char *s)
279{
280 mt_protiflush = 1;
281 return 1;
282}
283__setup("protiflush", set_protiflush);
284
285static int __init set_protdflush(char *s)
286{
287 mt_protdflush = 1;
288 return 1;
289}
290__setup("protdflush", set_protdflush);
291
292static int __init niflush(char *s)
293{
294 get_option(&s, &mt_n_iflushes);
295 return 1;
296}
297__setup("niflush=", niflush);
298
299static int __init ndflush(char *s)
300{
301 get_option(&s, &mt_n_dflushes);
302 return 1;
303}
304__setup("ndflush=", ndflush);
305#ifdef CONFIG_MIPS_MT_FPAFF
306static int fpaff_threshold = -1;
307
308static int __init fpaff_thresh(char *str)
309{
310 get_option(&str, &fpaff_threshold);
311 return 1;
312}
313
314__setup("fpaff=", fpaff_thresh);
315#endif /* CONFIG_MIPS_MT_FPAFF */
316
317static unsigned int itc_base = 0;
318
319static int __init set_itc_base(char *str)
320{
321 get_option(&str, &itc_base);
322 return 1;
323}
324
325__setup("itcbase=", set_itc_base);
326
327void mips_mt_set_cpuoptions(void)
328{
329 unsigned int oconfig7 = read_c0_config7();
330 unsigned int nconfig7 = oconfig7;
331
332 if (mt_opt_norps) {
333 printk("\"norps\" option deprectated: use \"rpsctl=\"\n");
334 }
335 if (mt_opt_rpsctl >= 0) {
336 printk("34K return prediction stack override set to %d.\n",
337 mt_opt_rpsctl);
338 if (mt_opt_rpsctl)
339 nconfig7 |= (1 << 2);
340 else
341 nconfig7 &= ~(1 << 2);
342 }
343 if (mt_opt_nblsu >= 0) {
344 printk("34K ALU/LSU sync override set to %d.\n", mt_opt_nblsu);
345 if (mt_opt_nblsu)
346 nconfig7 |= (1 << 5);
347 else
348 nconfig7 &= ~(1 << 5);
349 }
350 if (mt_opt_forceconfig7) {
351 printk("CP0.Config7 forced to 0x%08x.\n", mt_opt_config7);
352 nconfig7 = mt_opt_config7;
353 }
354 if (oconfig7 != nconfig7) {
355 __asm__ __volatile("sync");
356 write_c0_config7(nconfig7);
357 ehb ();
358 printk("Config7: 0x%08x\n", read_c0_config7());
359 }
360
361 /* Report Cache management debug options */
362 if (mt_protiflush)
363 printk("I-cache flushes single-threaded\n");
364 if (mt_protdflush)
365 printk("D-cache flushes single-threaded\n");
366 if (mt_n_iflushes != 1)
367 printk("I-Cache Flushes Repeated %d times\n", mt_n_iflushes);
368 if (mt_n_dflushes != 1)
369 printk("D-Cache Flushes Repeated %d times\n", mt_n_dflushes);
370
371#ifdef CONFIG_MIPS_MT_FPAFF
372 /* FPU Use Factor empirically derived from experiments on 34K */
373#define FPUSEFACTOR 333
374
375 if (fpaff_threshold >= 0) {
376 mt_fpemul_threshold = fpaff_threshold;
377 } else {
378 mt_fpemul_threshold =
379 (FPUSEFACTOR * (loops_per_jiffy/(500000/HZ))) / HZ;
380 }
381 printk("FPU Affinity set after %ld emulations\n",
382 mt_fpemul_threshold);
383#endif /* CONFIG_MIPS_MT_FPAFF */
384
385 if (itc_base != 0) {
386 /*
387 * Configure ITC mapping. This code is very
388 * specific to the 34K core family, which uses
389 * a special mode bit ("ITC") in the ErrCtl
390 * register to enable access to ITC control
391 * registers via cache "tag" operations.
392 */
393 unsigned long ectlval;
394 unsigned long itcblkgrn;
395
396 /* ErrCtl register is known as "ecc" to Linux */
397 ectlval = read_c0_ecc();
398 write_c0_ecc(ectlval | (0x1 << 26));
399 ehb();
400#define INDEX_0 (0x80000000)
401#define INDEX_8 (0x80000008)
402 /* Read "cache tag" for Dcache pseudo-index 8 */
403 cache_op(Index_Load_Tag_D, INDEX_8);
404 ehb();
405 itcblkgrn = read_c0_dtaglo();
406 itcblkgrn &= 0xfffe0000;
407 /* Set for 128 byte pitch of ITC cells */
408 itcblkgrn |= 0x00000c00;
409 /* Stage in Tag register */
410 write_c0_dtaglo(itcblkgrn);
411 ehb();
412 /* Write out to ITU with CACHE op */
413 cache_op(Index_Store_Tag_D, INDEX_8);
414 /* Now set base address, and turn ITC on with 0x1 bit */
415 write_c0_dtaglo((itc_base & 0xfffffc00) | 0x1 );
416 ehb();
417 /* Write out to ITU with CACHE op */
418 cache_op(Index_Store_Tag_D, INDEX_0);
419 write_c0_ecc(ectlval);
420 ehb();
421 printk("Mapped %ld ITC cells starting at 0x%08x\n",
422 ((itcblkgrn & 0x7fe00000) >> 20), itc_base);
423 }
424}
425
426/*
427 * Function to protect cache flushes from concurrent execution
428 * depends on MP software model chosen.
429 */
430
431void mt_cflush_lockdown(void)
432{
433#ifdef CONFIG_MIPS_MT_SMTC
434 void smtc_cflush_lockdown(void);
435
436 smtc_cflush_lockdown();
437#endif /* CONFIG_MIPS_MT_SMTC */
438 /* FILL IN VSMP and AP/SP VERSIONS HERE */
439}
440
441void mt_cflush_release(void)
442{
443#ifdef CONFIG_MIPS_MT_SMTC
444 void smtc_cflush_release(void);
445
446 smtc_cflush_release();
447#endif /* CONFIG_MIPS_MT_SMTC */
448 /* FILL IN VSMP and AP/SP VERSIONS HERE */
449}
diff --git a/arch/mips/kernel/mips_ksyms.c b/arch/mips/kernel/mips_ksyms.c
index e042f9d2ba31..0a71a4c33716 100644
--- a/arch/mips/kernel/mips_ksyms.c
+++ b/arch/mips/kernel/mips_ksyms.c
@@ -28,21 +28,9 @@ extern long __strnlen_user_asm(const char *s);
28/* 28/*
29 * String functions 29 * String functions
30 */ 30 */
31EXPORT_SYMBOL(memchr);
32EXPORT_SYMBOL(memcmp);
33EXPORT_SYMBOL(memset); 31EXPORT_SYMBOL(memset);
34EXPORT_SYMBOL(memcpy); 32EXPORT_SYMBOL(memcpy);
35EXPORT_SYMBOL(memmove); 33EXPORT_SYMBOL(memmove);
36EXPORT_SYMBOL(strcat);
37EXPORT_SYMBOL(strchr);
38#ifdef CONFIG_64BIT
39EXPORT_SYMBOL(strncmp);
40#endif
41EXPORT_SYMBOL(strlen);
42EXPORT_SYMBOL(strncat);
43EXPORT_SYMBOL(strnlen);
44EXPORT_SYMBOL(strrchr);
45EXPORT_SYMBOL(strstr);
46 34
47EXPORT_SYMBOL(kernel_thread); 35EXPORT_SYMBOL(kernel_thread);
48 36
@@ -61,6 +49,3 @@ EXPORT_SYMBOL(__strnlen_user_asm);
61EXPORT_SYMBOL(csum_partial); 49EXPORT_SYMBOL(csum_partial);
62 50
63EXPORT_SYMBOL(invalid_pte_table); 51EXPORT_SYMBOL(invalid_pte_table);
64#ifdef CONFIG_GENERIC_IRQ_PROBE
65EXPORT_SYMBOL(probe_irq_mask);
66#endif
diff --git a/arch/mips/kernel/module.c b/arch/mips/kernel/module.c
index e54a7f442f8a..d7bf0215bc1d 100644
--- a/arch/mips/kernel/module.c
+++ b/arch/mips/kernel/module.c
@@ -288,6 +288,9 @@ int apply_relocate(Elf_Shdr *sechdrs, const char *strtab,
288 sym = (Elf_Sym *)sechdrs[symindex].sh_addr 288 sym = (Elf_Sym *)sechdrs[symindex].sh_addr
289 + ELF_MIPS_R_SYM(rel[i]); 289 + ELF_MIPS_R_SYM(rel[i]);
290 if (!sym->st_value) { 290 if (!sym->st_value) {
291 /* Ignore unresolved weak symbol */
292 if (ELF_ST_BIND(sym->st_info) == STB_WEAK)
293 continue;
291 printk(KERN_WARNING "%s: Unknown symbol %s\n", 294 printk(KERN_WARNING "%s: Unknown symbol %s\n",
292 me->name, strtab + sym->st_name); 295 me->name, strtab + sym->st_name);
293 return -ENOENT; 296 return -ENOENT;
@@ -325,6 +328,9 @@ int apply_relocate_add(Elf_Shdr *sechdrs, const char *strtab,
325 sym = (Elf_Sym *)sechdrs[symindex].sh_addr 328 sym = (Elf_Sym *)sechdrs[symindex].sh_addr
326 + ELF_MIPS_R_SYM(rel[i]); 329 + ELF_MIPS_R_SYM(rel[i]);
327 if (!sym->st_value) { 330 if (!sym->st_value) {
331 /* Ignore unresolved weak symbol */
332 if (ELF_ST_BIND(sym->st_info) == STB_WEAK)
333 continue;
328 printk(KERN_WARNING "%s: Unknown symbol %s\n", 334 printk(KERN_WARNING "%s: Unknown symbol %s\n",
329 me->name, strtab + sym->st_name); 335 me->name, strtab + sym->st_name);
330 return -ENOENT; 336 return -ENOENT;
diff --git a/arch/mips/kernel/proc.c b/arch/mips/kernel/proc.c
index 84ab959f924a..9def554f335b 100644
--- a/arch/mips/kernel/proc.c
+++ b/arch/mips/kernel/proc.c
@@ -42,6 +42,7 @@ static const char *cpu_name[] = {
42 [CPU_R8000] = "R8000", 42 [CPU_R8000] = "R8000",
43 [CPU_R10000] = "R10000", 43 [CPU_R10000] = "R10000",
44 [CPU_R12000] = "R12000", 44 [CPU_R12000] = "R12000",
45 [CPU_R14000] = "R14000",
45 [CPU_R4300] = "R4300", 46 [CPU_R4300] = "R4300",
46 [CPU_R4650] = "R4650", 47 [CPU_R4650] = "R4650",
47 [CPU_R4700] = "R4700", 48 [CPU_R4700] = "R4700",
@@ -74,6 +75,7 @@ static const char *cpu_name[] = {
74 [CPU_24K] = "MIPS 24K", 75 [CPU_24K] = "MIPS 24K",
75 [CPU_25KF] = "MIPS 25Kf", 76 [CPU_25KF] = "MIPS 25Kf",
76 [CPU_34K] = "MIPS 34K", 77 [CPU_34K] = "MIPS 34K",
78 [CPU_74K] = "MIPS 74K",
77 [CPU_VR4111] = "NEC VR4111", 79 [CPU_VR4111] = "NEC VR4111",
78 [CPU_VR4121] = "NEC VR4121", 80 [CPU_VR4121] = "NEC VR4121",
79 [CPU_VR4122] = "NEC VR4122", 81 [CPU_VR4122] = "NEC VR4122",
diff --git a/arch/mips/kernel/process.c b/arch/mips/kernel/process.c
index c66db5e5ab62..199a06e873c6 100644
--- a/arch/mips/kernel/process.c
+++ b/arch/mips/kernel/process.c
@@ -41,6 +41,10 @@
41#include <asm/elf.h> 41#include <asm/elf.h>
42#include <asm/isadep.h> 42#include <asm/isadep.h>
43#include <asm/inst.h> 43#include <asm/inst.h>
44#ifdef CONFIG_MIPS_MT_SMTC
45#include <asm/mipsmtregs.h>
46extern void smtc_idle_loop_hook(void);
47#endif /* CONFIG_MIPS_MT_SMTC */
44 48
45/* 49/*
46 * The idle thread. There's no useful work to be done, so just try to conserve 50 * The idle thread. There's no useful work to be done, so just try to conserve
@@ -51,9 +55,13 @@ ATTRIB_NORET void cpu_idle(void)
51{ 55{
52 /* endless idle loop with no priority at all */ 56 /* endless idle loop with no priority at all */
53 while (1) { 57 while (1) {
54 while (!need_resched()) 58 while (!need_resched()) {
59#ifdef CONFIG_MIPS_MT_SMTC
60 smtc_idle_loop_hook();
61#endif /* CONFIG_MIPS_MT_SMTC */
55 if (cpu_wait) 62 if (cpu_wait)
56 (*cpu_wait)(); 63 (*cpu_wait)();
64 }
57 preempt_enable_no_resched(); 65 preempt_enable_no_resched();
58 schedule(); 66 schedule();
59 preempt_disable(); 67 preempt_disable();
@@ -177,6 +185,17 @@ int copy_thread(int nr, unsigned long clone_flags, unsigned long usp,
177 childregs->cp0_status &= ~(ST0_CU2|ST0_CU1); 185 childregs->cp0_status &= ~(ST0_CU2|ST0_CU1);
178 clear_tsk_thread_flag(p, TIF_USEDFPU); 186 clear_tsk_thread_flag(p, TIF_USEDFPU);
179 187
188#ifdef CONFIG_MIPS_MT_FPAFF
189 /*
190 * FPU affinity support is cleaner if we track the
191 * user-visible CPU affinity from the very beginning.
192 * The generic cpus_allowed mask will already have
193 * been copied from the parent before copy_thread
194 * is invoked.
195 */
196 p->thread.user_cpus_allowed = p->cpus_allowed;
197#endif /* CONFIG_MIPS_MT_FPAFF */
198
180 if (clone_flags & CLONE_SETTLS) 199 if (clone_flags & CLONE_SETTLS)
181 ti->tp_value = regs->regs[7]; 200 ti->tp_value = regs->regs[7];
182 201
diff --git a/arch/mips/kernel/ptrace.c b/arch/mips/kernel/ptrace.c
index f838b36cc765..9b4733c12395 100644
--- a/arch/mips/kernel/ptrace.c
+++ b/arch/mips/kernel/ptrace.c
@@ -248,10 +248,20 @@ long arch_ptrace(struct task_struct *child, long request, long addr, long data)
248 break; 248 break;
249 case FPC_EIR: { /* implementation / version register */ 249 case FPC_EIR: { /* implementation / version register */
250 unsigned int flags; 250 unsigned int flags;
251#ifdef CONFIG_MIPS_MT_SMTC
252 unsigned int irqflags;
253 unsigned int mtflags;
254#endif /* CONFIG_MIPS_MT_SMTC */
251 255
252 if (!cpu_has_fpu) 256 if (!cpu_has_fpu)
253 break; 257 break;
254 258
259#ifdef CONFIG_MIPS_MT_SMTC
260 /* Read-modify-write of Status must be atomic */
261 local_irq_save(irqflags);
262 mtflags = dmt();
263#endif /* CONFIG_MIPS_MT_SMTC */
264
255 preempt_disable(); 265 preempt_disable();
256 if (cpu_has_mipsmt) { 266 if (cpu_has_mipsmt) {
257 unsigned int vpflags = dvpe(); 267 unsigned int vpflags = dvpe();
@@ -266,6 +276,10 @@ long arch_ptrace(struct task_struct *child, long request, long addr, long data)
266 __asm__ __volatile__("cfc1\t%0,$0": "=r" (tmp)); 276 __asm__ __volatile__("cfc1\t%0,$0": "=r" (tmp));
267 write_c0_status(flags); 277 write_c0_status(flags);
268 } 278 }
279#ifdef CONFIG_MIPS_MT_SMTC
280 emt(mtflags);
281 local_irq_restore(irqflags);
282#endif /* CONFIG_MIPS_MT_SMTC */
269 preempt_enable(); 283 preempt_enable();
270 break; 284 break;
271 } 285 }
@@ -469,7 +483,7 @@ static inline int audit_arch(void)
469asmlinkage void do_syscall_trace(struct pt_regs *regs, int entryexit) 483asmlinkage void do_syscall_trace(struct pt_regs *regs, int entryexit)
470{ 484{
471 if (unlikely(current->audit_context) && entryexit) 485 if (unlikely(current->audit_context) && entryexit)
472 audit_syscall_exit(current, AUDITSC_RESULT(regs->regs[2]), 486 audit_syscall_exit(AUDITSC_RESULT(regs->regs[2]),
473 regs->regs[2]); 487 regs->regs[2]);
474 488
475 if (!(current->ptrace & PT_PTRACED)) 489 if (!(current->ptrace & PT_PTRACED))
@@ -493,7 +507,7 @@ asmlinkage void do_syscall_trace(struct pt_regs *regs, int entryexit)
493 } 507 }
494 out: 508 out:
495 if (unlikely(current->audit_context) && !entryexit) 509 if (unlikely(current->audit_context) && !entryexit)
496 audit_syscall_entry(current, audit_arch(), regs->regs[2], 510 audit_syscall_entry(audit_arch(), regs->regs[2],
497 regs->regs[4], regs->regs[5], 511 regs->regs[4], regs->regs[5],
498 regs->regs[6], regs->regs[7]); 512 regs->regs[6], regs->regs[7]);
499} 513}
diff --git a/arch/mips/kernel/ptrace32.c b/arch/mips/kernel/ptrace32.c
index 0d5cf97af727..8704dc0496ea 100644
--- a/arch/mips/kernel/ptrace32.c
+++ b/arch/mips/kernel/ptrace32.c
@@ -173,12 +173,22 @@ asmlinkage int sys32_ptrace(int request, int pid, int addr, int data)
173 break; 173 break;
174 case FPC_EIR: { /* implementation / version register */ 174 case FPC_EIR: { /* implementation / version register */
175 unsigned int flags; 175 unsigned int flags;
176#ifdef CONFIG_MIPS_MT_SMTC
177 unsigned int irqflags;
178 unsigned int mtflags;
179#endif /* CONFIG_MIPS_MT_SMTC */
176 180
177 if (!cpu_has_fpu) { 181 if (!cpu_has_fpu) {
178 tmp = 0; 182 tmp = 0;
179 break; 183 break;
180 } 184 }
181 185
186#ifdef CONFIG_MIPS_MT_SMTC
187 /* Read-modify-write of Status must be atomic */
188 local_irq_save(irqflags);
189 mtflags = dmt();
190#endif /* CONFIG_MIPS_MT_SMTC */
191
182 preempt_disable(); 192 preempt_disable();
183 if (cpu_has_mipsmt) { 193 if (cpu_has_mipsmt) {
184 unsigned int vpflags = dvpe(); 194 unsigned int vpflags = dvpe();
@@ -193,6 +203,10 @@ asmlinkage int sys32_ptrace(int request, int pid, int addr, int data)
193 __asm__ __volatile__("cfc1\t%0,$0": "=r" (tmp)); 203 __asm__ __volatile__("cfc1\t%0,$0": "=r" (tmp));
194 write_c0_status(flags); 204 write_c0_status(flags);
195 } 205 }
206#ifdef CONFIG_MIPS_MT_SMTC
207 emt(mtflags);
208 local_irq_restore(irqflags);
209#endif /* CONFIG_MIPS_MT_SMTC */
196 preempt_enable(); 210 preempt_enable();
197 break; 211 break;
198 } 212 }
diff --git a/arch/mips/kernel/r4k_switch.S b/arch/mips/kernel/r4k_switch.S
index d2afbd19a9c8..0b1b54acee9f 100644
--- a/arch/mips/kernel/r4k_switch.S
+++ b/arch/mips/kernel/r4k_switch.S
@@ -88,7 +88,18 @@
88 88
89 PTR_ADDIU t0, $28, _THREAD_SIZE - 32 89 PTR_ADDIU t0, $28, _THREAD_SIZE - 32
90 set_saved_sp t0, t1, t2 90 set_saved_sp t0, t1, t2
91 91#ifdef CONFIG_MIPS_MT_SMTC
92 /* Read-modify-writes of Status must be atomic on a VPE */
93 mfc0 t2, CP0_TCSTATUS
94 ori t1, t2, TCSTATUS_IXMT
95 mtc0 t1, CP0_TCSTATUS
96 andi t2, t2, TCSTATUS_IXMT
97 ehb
98 DMT 8 # dmt t0
99 move t1,ra
100 jal mips_ihb
101 move ra,t1
102#endif /* CONFIG_MIPS_MT_SMTC */
92 mfc0 t1, CP0_STATUS /* Do we really need this? */ 103 mfc0 t1, CP0_STATUS /* Do we really need this? */
93 li a3, 0xff01 104 li a3, 0xff01
94 and t1, a3 105 and t1, a3
@@ -97,6 +108,18 @@
97 and a2, a3 108 and a2, a3
98 or a2, t1 109 or a2, t1
99 mtc0 a2, CP0_STATUS 110 mtc0 a2, CP0_STATUS
111#ifdef CONFIG_MIPS_MT_SMTC
112 ehb
113 andi t0, t0, VPECONTROL_TE
114 beqz t0, 1f
115 emt
1161:
117 mfc0 t1, CP0_TCSTATUS
118 xori t1, t1, TCSTATUS_IXMT
119 or t1, t1, t2
120 mtc0 t1, CP0_TCSTATUS
121 ehb
122#endif /* CONFIG_MIPS_MT_SMTC */
100 move v0, a0 123 move v0, a0
101 jr ra 124 jr ra
102 END(resume) 125 END(resume)
@@ -131,10 +154,19 @@ LEAF(_restore_fp)
131#define FPU_DEFAULT 0x00000000 154#define FPU_DEFAULT 0x00000000
132 155
133LEAF(_init_fpu) 156LEAF(_init_fpu)
157#ifdef CONFIG_MIPS_MT_SMTC
158 /* Rather than manipulate per-VPE Status, set per-TC bit in TCStatus */
159 mfc0 t0, CP0_TCSTATUS
160 /* Bit position is the same for Status, TCStatus */
161 li t1, ST0_CU1
162 or t0, t1
163 mtc0 t0, CP0_TCSTATUS
164#else /* Normal MIPS CU1 enable */
134 mfc0 t0, CP0_STATUS 165 mfc0 t0, CP0_STATUS
135 li t1, ST0_CU1 166 li t1, ST0_CU1
136 or t0, t1 167 or t0, t1
137 mtc0 t0, CP0_STATUS 168 mtc0 t0, CP0_STATUS
169#endif /* CONFIG_MIPS_MT_SMTC */
138 fpu_enable_hazard 170 fpu_enable_hazard
139 171
140 li t1, FPU_DEFAULT 172 li t1, FPU_DEFAULT
diff --git a/arch/mips/kernel/rtlx.c b/arch/mips/kernel/rtlx.c
index 986a9cf23067..caf777f83289 100644
--- a/arch/mips/kernel/rtlx.c
+++ b/arch/mips/kernel/rtlx.c
@@ -21,45 +21,44 @@
21#include <linux/module.h> 21#include <linux/module.h>
22#include <linux/fs.h> 22#include <linux/fs.h>
23#include <linux/init.h> 23#include <linux/init.h>
24#include <asm/uaccess.h>
25#include <linux/slab.h>
26#include <linux/list.h>
27#include <linux/vmalloc.h>
28#include <linux/elf.h>
29#include <linux/seq_file.h>
30#include <linux/syscalls.h>
31#include <linux/moduleloader.h>
24#include <linux/interrupt.h> 32#include <linux/interrupt.h>
25#include <linux/irq.h>
26#include <linux/poll.h> 33#include <linux/poll.h>
27#include <linux/sched.h> 34#include <linux/sched.h>
28#include <linux/wait.h> 35#include <linux/wait.h>
29
30#include <asm/mipsmtregs.h> 36#include <asm/mipsmtregs.h>
31#include <asm/bitops.h> 37#include <asm/cacheflush.h>
38#include <asm/atomic.h>
32#include <asm/cpu.h> 39#include <asm/cpu.h>
33#include <asm/processor.h> 40#include <asm/processor.h>
41#include <asm/system.h>
42#include <asm/vpe.h>
34#include <asm/rtlx.h> 43#include <asm/rtlx.h>
35#include <asm/uaccess.h>
36 44
37#define RTLX_TARG_VPE 1 45#define RTLX_TARG_VPE 1
38 46
39static struct rtlx_info *rtlx; 47static struct rtlx_info *rtlx;
40static int major; 48static int major;
41static char module_name[] = "rtlx"; 49static char module_name[] = "rtlx";
42static struct irqaction irq;
43static int irq_num;
44
45static inline int spacefree(int read, int write, int size)
46{
47 if (read == write) {
48 /*
49 * never fill the buffer completely, so indexes are always
50 * equal if empty and only empty, or !equal if data available
51 */
52 return size - 1;
53 }
54
55 return ((read + size - write) % size) - 1;
56}
57 50
58static struct chan_waitqueues { 51static struct chan_waitqueues {
59 wait_queue_head_t rt_queue; 52 wait_queue_head_t rt_queue;
60 wait_queue_head_t lx_queue; 53 wait_queue_head_t lx_queue;
54 int in_open;
61} channel_wqs[RTLX_CHANNELS]; 55} channel_wqs[RTLX_CHANNELS];
62 56
57static struct irqaction irq;
58static int irq_num;
59static struct vpe_notifications notify;
60static int sp_stopping = 0;
61
63extern void *vpe_get_shared(int index); 62extern void *vpe_get_shared(int index);
64 63
65static void rtlx_dispatch(struct pt_regs *regs) 64static void rtlx_dispatch(struct pt_regs *regs)
@@ -67,174 +66,298 @@ static void rtlx_dispatch(struct pt_regs *regs)
67 do_IRQ(MIPSCPU_INT_BASE + MIPS_CPU_RTLX_IRQ, regs); 66 do_IRQ(MIPSCPU_INT_BASE + MIPS_CPU_RTLX_IRQ, regs);
68} 67}
69 68
69
70/* Interrupt handler may be called before rtlx_init has otherwise had
71 a chance to run.
72*/
70static irqreturn_t rtlx_interrupt(int irq, void *dev_id, struct pt_regs *regs) 73static irqreturn_t rtlx_interrupt(int irq, void *dev_id, struct pt_regs *regs)
71{ 74{
72 int i; 75 int i;
73 76
74 for (i = 0; i < RTLX_CHANNELS; i++) { 77 for (i = 0; i < RTLX_CHANNELS; i++) {
75 struct rtlx_channel *chan = &rtlx->channel[i]; 78 wake_up(&channel_wqs[i].lx_queue);
76 79 wake_up(&channel_wqs[i].rt_queue);
77 if (chan->lx_read != chan->lx_write)
78 wake_up_interruptible(&channel_wqs[i].lx_queue);
79 } 80 }
80 81
81 return IRQ_HANDLED; 82 return IRQ_HANDLED;
82} 83}
83 84
84/* call when we have the address of the shared structure from the SP side. */ 85static __attribute_used__ void dump_rtlx(void)
85static int rtlx_init(struct rtlx_info *rtlxi)
86{ 86{
87 int i; 87 int i;
88 88
89 if (rtlxi->id != RTLX_ID) { 89 printk("id 0x%lx state %d\n", rtlx->id, rtlx->state);
90 printk(KERN_WARNING "no valid RTLX id at 0x%p\n", rtlxi);
91 return -ENOEXEC;
92 }
93 90
94 /* initialise the wait queues */
95 for (i = 0; i < RTLX_CHANNELS; i++) { 91 for (i = 0; i < RTLX_CHANNELS; i++) {
96 init_waitqueue_head(&channel_wqs[i].rt_queue); 92 struct rtlx_channel *chan = &rtlx->channel[i];
97 init_waitqueue_head(&channel_wqs[i].lx_queue);
98 }
99 93
100 /* set up for interrupt handling */ 94 printk(" rt_state %d lx_state %d buffer_size %d\n",
101 memset(&irq, 0, sizeof(struct irqaction)); 95 chan->rt_state, chan->lx_state, chan->buffer_size);
102 96
103 if (cpu_has_vint) 97 printk(" rt_read %d rt_write %d\n",
104 set_vi_handler(MIPS_CPU_RTLX_IRQ, rtlx_dispatch); 98 chan->rt_read, chan->rt_write);
99
100 printk(" lx_read %d lx_write %d\n",
101 chan->lx_read, chan->lx_write);
105 102
106 irq_num = MIPSCPU_INT_BASE + MIPS_CPU_RTLX_IRQ; 103 printk(" rt_buffer <%s>\n", chan->rt_buffer);
107 irq.handler = rtlx_interrupt; 104 printk(" lx_buffer <%s>\n", chan->lx_buffer);
108 irq.flags = SA_INTERRUPT; 105 }
109 irq.name = "RTLX"; 106}
110 irq.dev_id = rtlx; 107
111 setup_irq(irq_num, &irq); 108/* call when we have the address of the shared structure from the SP side. */
109static int rtlx_init(struct rtlx_info *rtlxi)
110{
111 if (rtlxi->id != RTLX_ID) {
112 printk(KERN_ERR "no valid RTLX id at 0x%p 0x%x\n", rtlxi, rtlxi->id);
113 return -ENOEXEC;
114 }
112 115
113 rtlx = rtlxi; 116 rtlx = rtlxi;
114 117
115 return 0; 118 return 0;
116} 119}
117 120
118/* only allow one open process at a time to open each channel */ 121/* notifications */
119static int rtlx_open(struct inode *inode, struct file *filp) 122static void starting(int vpe)
123{
124 int i;
125 sp_stopping = 0;
126
127 /* force a reload of rtlx */
128 rtlx=NULL;
129
130 /* wake up any sleeping rtlx_open's */
131 for (i = 0; i < RTLX_CHANNELS; i++)
132 wake_up_interruptible(&channel_wqs[i].lx_queue);
133}
134
135static void stopping(int vpe)
120{ 136{
121 int minor, ret; 137 int i;
138
139 sp_stopping = 1;
140 for (i = 0; i < RTLX_CHANNELS; i++)
141 wake_up_interruptible(&channel_wqs[i].lx_queue);
142}
143
144
145int rtlx_open(int index, int can_sleep)
146{
147 int ret;
122 struct rtlx_channel *chan; 148 struct rtlx_channel *chan;
149 volatile struct rtlx_info **p;
123 150
124 /* assume only 1 device at the mo. */ 151 if (index >= RTLX_CHANNELS) {
125 minor = MINOR(inode->i_rdev); 152 printk(KERN_DEBUG "rtlx_open index out of range\n");
153 return -ENOSYS;
154 }
155
156 if (channel_wqs[index].in_open) {
157 printk(KERN_DEBUG "rtlx_open channel %d already opened\n", index);
158 return -EBUSY;
159 }
160
161 channel_wqs[index].in_open++;
126 162
127 if (rtlx == NULL) { 163 if (rtlx == NULL) {
128 struct rtlx_info **p;
129 if( (p = vpe_get_shared(RTLX_TARG_VPE)) == NULL) { 164 if( (p = vpe_get_shared(RTLX_TARG_VPE)) == NULL) {
130 printk(KERN_ERR "vpe_get_shared is NULL. " 165 if (can_sleep) {
131 "Has an SP program been loaded?\n"); 166 DECLARE_WAITQUEUE(wait, current);
132 return -EFAULT; 167
168 /* go to sleep */
169 add_wait_queue(&channel_wqs[index].lx_queue, &wait);
170
171 set_current_state(TASK_INTERRUPTIBLE);
172 while ((p = vpe_get_shared(RTLX_TARG_VPE)) == NULL) {
173 schedule();
174 set_current_state(TASK_INTERRUPTIBLE);
175 }
176
177 set_current_state(TASK_RUNNING);
178 remove_wait_queue(&channel_wqs[index].lx_queue, &wait);
179
180 /* back running */
181 } else {
182 printk( KERN_DEBUG "No SP program loaded, and device "
183 "opened with O_NONBLOCK\n");
184 channel_wqs[index].in_open = 0;
185 return -ENOSYS;
186 }
133 } 187 }
134 188
135 if (*p == NULL) { 189 if (*p == NULL) {
136 printk(KERN_ERR "vpe_shared %p %p\n", p, *p); 190 if (can_sleep) {
137 return -EFAULT; 191 DECLARE_WAITQUEUE(wait, current);
192
193 /* go to sleep */
194 add_wait_queue(&channel_wqs[index].lx_queue, &wait);
195
196 set_current_state(TASK_INTERRUPTIBLE);
197 while (*p == NULL) {
198 schedule();
199
200 /* reset task state to interruptable otherwise
201 we'll whizz round here like a very fast loopy
202 thing. schedule() appears to return with state
203 set to TASK_RUNNING.
204
205 If the loaded SP program, for whatever reason,
206 doesn't set up the shared structure *p will never
207 become true. So whoever connected to either /dev/rt?
208 or if it was kspd, will then take up rather a lot of
209 processor cycles.
210 */
211
212 set_current_state(TASK_INTERRUPTIBLE);
213 }
214
215 set_current_state(TASK_RUNNING);
216 remove_wait_queue(&channel_wqs[index].lx_queue, &wait);
217
218 /* back running */
219 }
220 else {
221 printk(" *vpe_get_shared is NULL. "
222 "Has an SP program been loaded?\n");
223 channel_wqs[index].in_open = 0;
224 return -ENOSYS;
225 }
138 } 226 }
139 227
140 if ((ret = rtlx_init(*p)) < 0) 228 if ((unsigned int)*p < KSEG0) {
141 return ret; 229 printk(KERN_WARNING "vpe_get_shared returned an invalid pointer "
230 "maybe an error code %d\n", (int)*p);
231 channel_wqs[index].in_open = 0;
232 return -ENOSYS;
233 }
234
235 if ((ret = rtlx_init(*p)) < 0) {
236 channel_wqs[index].in_open = 0;
237 return ret;
238 }
142 } 239 }
143 240
144 chan = &rtlx->channel[minor]; 241 chan = &rtlx->channel[index];
145 242
146 if (test_and_set_bit(RTLX_STATE_OPENED, &chan->lx_state)) 243 if (chan->lx_state == RTLX_STATE_OPENED) {
147 return -EBUSY; 244 channel_wqs[index].in_open = 0;
245 return -EBUSY;
246 }
148 247
248 chan->lx_state = RTLX_STATE_OPENED;
249 channel_wqs[index].in_open = 0;
149 return 0; 250 return 0;
150} 251}
151 252
152static int rtlx_release(struct inode *inode, struct file *filp) 253int rtlx_release(int index)
153{ 254{
154 int minor = MINOR(inode->i_rdev); 255 rtlx->channel[index].lx_state = RTLX_STATE_UNUSED;
155
156 clear_bit(RTLX_STATE_OPENED, &rtlx->channel[minor].lx_state);
157 smp_mb__after_clear_bit();
158
159 return 0; 256 return 0;
160} 257}
161 258
162static unsigned int rtlx_poll(struct file *file, poll_table * wait) 259unsigned int rtlx_read_poll(int index, int can_sleep)
163{ 260{
164 int minor; 261 struct rtlx_channel *chan;
165 unsigned int mask = 0;
166 struct rtlx_channel *chan;
167 262
168 minor = MINOR(file->f_dentry->d_inode->i_rdev); 263 if (rtlx == NULL)
169 chan = &rtlx->channel[minor]; 264 return 0;
170 265
171 poll_wait(file, &channel_wqs[minor].rt_queue, wait); 266 chan = &rtlx->channel[index];
172 poll_wait(file, &channel_wqs[minor].lx_queue, wait);
173 267
174 /* data available to read? */ 268 /* data available to read? */
175 if (chan->lx_read != chan->lx_write) 269 if (chan->lx_read == chan->lx_write) {
176 mask |= POLLIN | POLLRDNORM; 270 if (can_sleep) {
271 DECLARE_WAITQUEUE(wait, current);
177 272
178 /* space to write */ 273 /* go to sleep */
179 if (spacefree(chan->rt_read, chan->rt_write, chan->buffer_size)) 274 add_wait_queue(&channel_wqs[index].lx_queue, &wait);
180 mask |= POLLOUT | POLLWRNORM;
181 275
182 return mask; 276 set_current_state(TASK_INTERRUPTIBLE);
277 while (chan->lx_read == chan->lx_write) {
278 schedule();
279
280 set_current_state(TASK_INTERRUPTIBLE);
281
282 if (sp_stopping) {
283 set_current_state(TASK_RUNNING);
284 remove_wait_queue(&channel_wqs[index].lx_queue, &wait);
285 return 0;
286 }
287 }
288
289 set_current_state(TASK_RUNNING);
290 remove_wait_queue(&channel_wqs[index].lx_queue, &wait);
291
292 /* back running */
293 }
294 else
295 return 0;
296 }
297
298 return (chan->lx_write + chan->buffer_size - chan->lx_read)
299 % chan->buffer_size;
183} 300}
184 301
185static ssize_t rtlx_read(struct file *file, char __user * buffer, size_t count, 302static inline int write_spacefree(int read, int write, int size)
186 loff_t * ppos)
187{ 303{
188 unsigned long failed; 304 if (read == write) {
189 size_t fl = 0L; 305 /*
190 int minor; 306 * Never fill the buffer completely, so indexes are always
191 struct rtlx_channel *lx; 307 * equal if empty and only empty, or !equal if data available
192 DECLARE_WAITQUEUE(wait, current); 308 */
309 return size - 1;
310 }
193 311
194 minor = MINOR(file->f_dentry->d_inode->i_rdev); 312 return ((read + size - write) % size) - 1;
195 lx = &rtlx->channel[minor]; 313}
196 314
197 /* data available? */ 315unsigned int rtlx_write_poll(int index)
198 if (lx->lx_write == lx->lx_read) { 316{
199 if (file->f_flags & O_NONBLOCK) 317 struct rtlx_channel *chan = &rtlx->channel[index];
200 return 0; /* -EAGAIN makes cat whinge */ 318 return write_spacefree(chan->rt_read, chan->rt_write, chan->buffer_size);
319}
201 320
202 /* go to sleep */ 321static inline void copy_to(void *dst, void *src, size_t count, int user)
203 add_wait_queue(&channel_wqs[minor].lx_queue, &wait); 322{
204 set_current_state(TASK_INTERRUPTIBLE); 323 if (user)
324 copy_to_user(dst, src, count);
325 else
326 memcpy(dst, src, count);
327}
205 328
206 while (lx->lx_write == lx->lx_read) 329static inline void copy_from(void *dst, void *src, size_t count, int user)
207 schedule(); 330{
331 if (user)
332 copy_from_user(dst, src, count);
333 else
334 memcpy(dst, src, count);
335}
208 336
209 set_current_state(TASK_RUNNING); 337ssize_t rtlx_read(int index, void *buff, size_t count, int user)
210 remove_wait_queue(&channel_wqs[minor].lx_queue, &wait); 338{
339 size_t fl = 0L;
340 struct rtlx_channel *lx;
211 341
212 /* back running */ 342 if (rtlx == NULL)
213 } 343 return -ENOSYS;
344
345 lx = &rtlx->channel[index];
214 346
215 /* find out how much in total */ 347 /* find out how much in total */
216 count = min(count, 348 count = min(count,
217 (size_t)(lx->lx_write + lx->buffer_size - lx->lx_read) % lx->buffer_size); 349 (size_t)(lx->lx_write + lx->buffer_size - lx->lx_read)
350 % lx->buffer_size);
218 351
219 /* then how much from the read pointer onwards */ 352 /* then how much from the read pointer onwards */
220 fl = min(count, (size_t)lx->buffer_size - lx->lx_read); 353 fl = min( count, (size_t)lx->buffer_size - lx->lx_read);
221 354
222 failed = copy_to_user (buffer, &lx->lx_buffer[lx->lx_read], fl); 355 copy_to(buff, &lx->lx_buffer[lx->lx_read], fl, user);
223 if (failed) {
224 count = fl - failed;
225 goto out;
226 }
227 356
228 /* and if there is anything left at the beginning of the buffer */ 357 /* and if there is anything left at the beginning of the buffer */
229 if (count - fl) { 358 if ( count - fl )
230 failed = copy_to_user (buffer + fl, lx->lx_buffer, count - fl); 359 copy_to (buff + fl, lx->lx_buffer, count - fl, user);
231 if (failed) {
232 count -= failed;
233 goto out;
234 }
235 }
236 360
237out:
238 /* update the index */ 361 /* update the index */
239 lx->lx_read += count; 362 lx->lx_read += count;
240 lx->lx_read %= lx->buffer_size; 363 lx->lx_read %= lx->buffer_size;
@@ -242,20 +365,100 @@ out:
242 return count; 365 return count;
243} 366}
244 367
245static ssize_t rtlx_write(struct file *file, const char __user * buffer, 368ssize_t rtlx_write(int index, void *buffer, size_t count, int user)
369{
370 struct rtlx_channel *rt;
371 size_t fl;
372
373 if (rtlx == NULL)
374 return(-ENOSYS);
375
376 rt = &rtlx->channel[index];
377
378 /* total number of bytes to copy */
379 count = min(count,
380 (size_t)write_spacefree(rt->rt_read, rt->rt_write,
381 rt->buffer_size));
382
383 /* first bit from write pointer to the end of the buffer, or count */
384 fl = min(count, (size_t) rt->buffer_size - rt->rt_write);
385
386 copy_from (&rt->rt_buffer[rt->rt_write], buffer, fl, user);
387
388 /* if there's any left copy to the beginning of the buffer */
389 if( count - fl )
390 copy_from (rt->rt_buffer, buffer + fl, count - fl, user);
391
392 rt->rt_write += count;
393 rt->rt_write %= rt->buffer_size;
394
395 return(count);
396}
397
398
399static int file_open(struct inode *inode, struct file *filp)
400{
401 int minor = iminor(inode);
402
403 return rtlx_open(minor, (filp->f_flags & O_NONBLOCK) ? 0 : 1);
404}
405
406static int file_release(struct inode *inode, struct file *filp)
407{
408 int minor = iminor(inode);
409
410 return rtlx_release(minor);
411}
412
413static unsigned int file_poll(struct file *file, poll_table * wait)
414{
415 int minor;
416 unsigned int mask = 0;
417
418 minor = iminor(file->f_dentry->d_inode);
419
420 poll_wait(file, &channel_wqs[minor].rt_queue, wait);
421 poll_wait(file, &channel_wqs[minor].lx_queue, wait);
422
423 if (rtlx == NULL)
424 return 0;
425
426 /* data available to read? */
427 if (rtlx_read_poll(minor, 0))
428 mask |= POLLIN | POLLRDNORM;
429
430 /* space to write */
431 if (rtlx_write_poll(minor))
432 mask |= POLLOUT | POLLWRNORM;
433
434 return mask;
435}
436
437static ssize_t file_read(struct file *file, char __user * buffer, size_t count,
438 loff_t * ppos)
439{
440 int minor = iminor(file->f_dentry->d_inode);
441
442 /* data available? */
443 if (!rtlx_read_poll(minor, (file->f_flags & O_NONBLOCK) ? 0 : 1)) {
444 return 0; // -EAGAIN makes cat whinge
445 }
446
447 return rtlx_read(minor, buffer, count, 1);
448}
449
450static ssize_t file_write(struct file *file, const char __user * buffer,
246 size_t count, loff_t * ppos) 451 size_t count, loff_t * ppos)
247{ 452{
248 unsigned long failed;
249 int minor; 453 int minor;
250 struct rtlx_channel *rt; 454 struct rtlx_channel *rt;
251 size_t fl;
252 DECLARE_WAITQUEUE(wait, current); 455 DECLARE_WAITQUEUE(wait, current);
253 456
254 minor = MINOR(file->f_dentry->d_inode->i_rdev); 457 minor = iminor(file->f_dentry->d_inode);
255 rt = &rtlx->channel[minor]; 458 rt = &rtlx->channel[minor];
256 459
257 /* any space left... */ 460 /* any space left... */
258 if (!spacefree(rt->rt_read, rt->rt_write, rt->buffer_size)) { 461 if (!rtlx_write_poll(minor)) {
259 462
260 if (file->f_flags & O_NONBLOCK) 463 if (file->f_flags & O_NONBLOCK)
261 return -EAGAIN; 464 return -EAGAIN;
@@ -263,61 +466,64 @@ static ssize_t rtlx_write(struct file *file, const char __user * buffer,
263 add_wait_queue(&channel_wqs[minor].rt_queue, &wait); 466 add_wait_queue(&channel_wqs[minor].rt_queue, &wait);
264 set_current_state(TASK_INTERRUPTIBLE); 467 set_current_state(TASK_INTERRUPTIBLE);
265 468
266 while (!spacefree(rt->rt_read, rt->rt_write, rt->buffer_size)) 469 while (!rtlx_write_poll(minor))
267 schedule(); 470 schedule();
268 471
269 set_current_state(TASK_RUNNING); 472 set_current_state(TASK_RUNNING);
270 remove_wait_queue(&channel_wqs[minor].rt_queue, &wait); 473 remove_wait_queue(&channel_wqs[minor].rt_queue, &wait);
271 } 474 }
272 475
273 /* total number of bytes to copy */ 476 return rtlx_write(minor, (void *)buffer, count, 1);
274 count = min(count, (size_t)spacefree(rt->rt_read, rt->rt_write, rt->buffer_size) );
275
276 /* first bit from write pointer to the end of the buffer, or count */
277 fl = min(count, (size_t) rt->buffer_size - rt->rt_write);
278
279 failed = copy_from_user(&rt->rt_buffer[rt->rt_write], buffer, fl);
280 if (failed) {
281 count = fl - failed;
282 goto out;
283 }
284
285 /* if there's any left copy to the beginning of the buffer */
286 if (count - fl) {
287 failed = copy_from_user(rt->rt_buffer, buffer + fl, count - fl);
288 if (failed) {
289 count -= failed;
290 goto out;
291 }
292 }
293
294out:
295 rt->rt_write += count;
296 rt->rt_write %= rt->buffer_size;
297
298 return count;
299} 477}
300 478
301static struct file_operations rtlx_fops = { 479static struct file_operations rtlx_fops = {
302 .owner = THIS_MODULE, 480 .owner = THIS_MODULE,
303 .open = rtlx_open, 481 .open = file_open,
304 .release = rtlx_release, 482 .release = file_release,
305 .write = rtlx_write, 483 .write = file_write,
306 .read = rtlx_read, 484 .read = file_read,
307 .poll = rtlx_poll 485 .poll = file_poll
486};
487
488static struct irqaction rtlx_irq = {
489 .handler = rtlx_interrupt,
490 .flags = SA_INTERRUPT,
491 .name = "RTLX",
308}; 492};
309 493
494static int rtlx_irq_num = MIPSCPU_INT_BASE + MIPS_CPU_RTLX_IRQ;
495
310static char register_chrdev_failed[] __initdata = 496static char register_chrdev_failed[] __initdata =
311 KERN_ERR "rtlx_module_init: unable to register device\n"; 497 KERN_ERR "rtlx_module_init: unable to register device\n";
312 498
313static int __init rtlx_module_init(void) 499static int rtlx_module_init(void)
314{ 500{
501 int i;
502
315 major = register_chrdev(0, module_name, &rtlx_fops); 503 major = register_chrdev(0, module_name, &rtlx_fops);
316 if (major < 0) { 504 if (major < 0) {
317 printk(register_chrdev_failed); 505 printk(register_chrdev_failed);
318 return major; 506 return major;
319 } 507 }
320 508
509 /* initialise the wait queues */
510 for (i = 0; i < RTLX_CHANNELS; i++) {
511 init_waitqueue_head(&channel_wqs[i].rt_queue);
512 init_waitqueue_head(&channel_wqs[i].lx_queue);
513 channel_wqs[i].in_open = 0;
514 }
515
516 /* set up notifiers */
517 notify.start = starting;
518 notify.stop = stopping;
519 vpe_notify(RTLX_TARG_VPE, &notify);
520
521 if (cpu_has_vint)
522 set_vi_handler(MIPS_CPU_RTLX_IRQ, rtlx_dispatch);
523
524 rtlx_irq.dev_id = rtlx;
525 setup_irq(rtlx_irq_num, &rtlx_irq);
526
321 return 0; 527 return 0;
322} 528}
323 529
@@ -330,5 +536,5 @@ module_init(rtlx_module_init);
330module_exit(rtlx_module_exit); 536module_exit(rtlx_module_exit);
331 537
332MODULE_DESCRIPTION("MIPS RTLX"); 538MODULE_DESCRIPTION("MIPS RTLX");
333MODULE_AUTHOR("Elizabeth Clarke, MIPS Technologies, Inc."); 539MODULE_AUTHOR("Elizabeth Oldham, MIPS Technologies, Inc.");
334MODULE_LICENSE("GPL"); 540MODULE_LICENSE("GPL");
diff --git a/arch/mips/kernel/scall32-o32.S b/arch/mips/kernel/scall32-o32.S
index 2f2dc54b2e26..a0ac0e5f61ad 100644
--- a/arch/mips/kernel/scall32-o32.S
+++ b/arch/mips/kernel/scall32-o32.S
@@ -569,8 +569,19 @@ einval: li v0, -EINVAL
569 sys sys_tkill 2 569 sys sys_tkill 2
570 sys sys_sendfile64 5 570 sys sys_sendfile64 5
571 sys sys_futex 6 571 sys sys_futex 6
572#ifdef CONFIG_MIPS_MT_FPAFF
573 /*
574 * For FPU affinity scheduling on MIPS MT processors, we need to
575 * intercept sys_sched_xxxaffinity() calls until we get a proper hook
576 * in kernel/sched.c. Considered only temporary we only support these
577 * hooks for the 32-bit kernel - there is no MIPS64 MT processor atm.
578 */
579 sys mipsmt_sys_sched_setaffinity 3
580 sys mipsmt_sys_sched_getaffinity 3
581#else
572 sys sys_sched_setaffinity 3 582 sys sys_sched_setaffinity 3
573 sys sys_sched_getaffinity 3 /* 4240 */ 583 sys sys_sched_getaffinity 3 /* 4240 */
584#endif /* CONFIG_MIPS_MT_FPAFF */
574 sys sys_io_setup 2 585 sys sys_io_setup 2
575 sys sys_io_destroy 1 586 sys sys_io_destroy 1
576 sys sys_io_getevents 5 587 sys sys_io_getevents 5
@@ -634,6 +645,8 @@ einval: li v0, -EINVAL
634 sys sys_pselect6 6 645 sys sys_pselect6 6
635 sys sys_ppoll 5 646 sys sys_ppoll 5
636 sys sys_unshare 1 647 sys sys_unshare 1
648 sys sys_splice 4
649 sys sys_sync_file_range 7 /* 4305 */
637 .endm 650 .endm
638 651
639 /* We pre-compute the number of _instruction_ bytes needed to 652 /* We pre-compute the number of _instruction_ bytes needed to
diff --git a/arch/mips/kernel/scall64-64.S b/arch/mips/kernel/scall64-64.S
index 98bf25df56f3..9ba750887377 100644
--- a/arch/mips/kernel/scall64-64.S
+++ b/arch/mips/kernel/scall64-64.S
@@ -460,3 +460,5 @@ sys_call_table:
460 PTR sys_pselect6 /* 5260 */ 460 PTR sys_pselect6 /* 5260 */
461 PTR sys_ppoll 461 PTR sys_ppoll
462 PTR sys_unshare 462 PTR sys_unshare
463 PTR sys_splice
464 PTR sys_sync_file_range
diff --git a/arch/mips/kernel/scall64-n32.S b/arch/mips/kernel/scall64-n32.S
index 05a2c0567dae..942aca26f9c4 100644
--- a/arch/mips/kernel/scall64-n32.S
+++ b/arch/mips/kernel/scall64-n32.S
@@ -386,3 +386,5 @@ EXPORT(sysn32_call_table)
386 PTR sys_pselect6 386 PTR sys_pselect6
387 PTR sys_ppoll /* 6265 */ 387 PTR sys_ppoll /* 6265 */
388 PTR sys_unshare 388 PTR sys_unshare
389 PTR sys_splice
390 PTR sys_sync_file_range
diff --git a/arch/mips/kernel/scall64-o32.S b/arch/mips/kernel/scall64-o32.S
index 19c4ca481b02..8efb23a84131 100644
--- a/arch/mips/kernel/scall64-o32.S
+++ b/arch/mips/kernel/scall64-o32.S
@@ -209,7 +209,7 @@ sys_call_table:
209 PTR sys_fork 209 PTR sys_fork
210 PTR sys_read 210 PTR sys_read
211 PTR sys_write 211 PTR sys_write
212 PTR sys_open /* 4005 */ 212 PTR compat_sys_open /* 4005 */
213 PTR sys_close 213 PTR sys_close
214 PTR sys_waitpid 214 PTR sys_waitpid
215 PTR sys_creat 215 PTR sys_creat
@@ -508,4 +508,6 @@ sys_call_table:
508 PTR sys_pselect6 508 PTR sys_pselect6
509 PTR sys_ppoll 509 PTR sys_ppoll
510 PTR sys_unshare 510 PTR sys_unshare
511 PTR sys_splice
512 PTR sys32_sync_file_range /* 4305 */
511 .size sys_call_table,.-sys_call_table 513 .size sys_call_table,.-sys_call_table
diff --git a/arch/mips/kernel/setup.c b/arch/mips/kernel/setup.c
index dcbfd27071f0..397a70e651b5 100644
--- a/arch/mips/kernel/setup.c
+++ b/arch/mips/kernel/setup.c
@@ -246,7 +246,7 @@ static inline int parse_rd_cmdline(unsigned long* rd_start, unsigned long* rd_en
246#ifdef CONFIG_64BIT 246#ifdef CONFIG_64BIT
247 /* HACK: Guess if the sign extension was forgotten */ 247 /* HACK: Guess if the sign extension was forgotten */
248 if (start > 0x0000000080000000 && start < 0x00000000ffffffff) 248 if (start > 0x0000000080000000 && start < 0x00000000ffffffff)
249 start |= 0xffffffff00000000; 249 start |= 0xffffffff00000000UL;
250#endif 250#endif
251 251
252 end = start + size; 252 end = start + size;
@@ -355,8 +355,6 @@ static inline void bootmem_init(void)
355 } 355 }
356#endif 356#endif
357 357
358 memory_present(0, first_usable_pfn, max_low_pfn);
359
360 /* Initialize the boot-time allocator with low memory only. */ 358 /* Initialize the boot-time allocator with low memory only. */
361 bootmap_size = init_bootmem(first_usable_pfn, max_low_pfn); 359 bootmap_size = init_bootmem(first_usable_pfn, max_low_pfn);
362 360
@@ -410,6 +408,7 @@ static inline void bootmem_init(void)
410 408
411 /* Register lowmem ranges */ 409 /* Register lowmem ranges */
412 free_bootmem(PFN_PHYS(curr_pfn), PFN_PHYS(size)); 410 free_bootmem(PFN_PHYS(curr_pfn), PFN_PHYS(size));
411 memory_present(0, curr_pfn, curr_pfn + size - 1);
413 } 412 }
414 413
415 /* Reserve the bootmap memory. */ 414 /* Reserve the bootmap memory. */
@@ -419,17 +418,20 @@ static inline void bootmem_init(void)
419#ifdef CONFIG_BLK_DEV_INITRD 418#ifdef CONFIG_BLK_DEV_INITRD
420 initrd_below_start_ok = 1; 419 initrd_below_start_ok = 1;
421 if (initrd_start) { 420 if (initrd_start) {
422 unsigned long initrd_size = ((unsigned char *)initrd_end) - ((unsigned char *)initrd_start); 421 unsigned long initrd_size = ((unsigned char *)initrd_end) -
422 ((unsigned char *)initrd_start);
423 const int width = sizeof(long) * 2;
424
423 printk("Initial ramdisk at: 0x%p (%lu bytes)\n", 425 printk("Initial ramdisk at: 0x%p (%lu bytes)\n",
424 (void *)initrd_start, initrd_size); 426 (void *)initrd_start, initrd_size);
425 427
426 if (CPHYSADDR(initrd_end) > PFN_PHYS(max_low_pfn)) { 428 if (CPHYSADDR(initrd_end) > PFN_PHYS(max_low_pfn)) {
427 printk("initrd extends beyond end of memory " 429 printk("initrd extends beyond end of memory "
428 "(0x%0*Lx > 0x%0*Lx)\ndisabling initrd\n", 430 "(0x%0*Lx > 0x%0*Lx)\ndisabling initrd\n",
429 sizeof(long) * 2, 431 width,
430 (unsigned long long)CPHYSADDR(initrd_end), 432 (unsigned long long) CPHYSADDR(initrd_end),
431 sizeof(long) * 2, 433 width,
432 (unsigned long long)PFN_PHYS(max_low_pfn)); 434 (unsigned long long) PFN_PHYS(max_low_pfn));
433 initrd_start = initrd_end = 0; 435 initrd_start = initrd_end = 0;
434 initrd_reserve_bootmem = 0; 436 initrd_reserve_bootmem = 0;
435 } 437 }
@@ -529,7 +531,10 @@ void __init setup_arch(char **cmdline_p)
529 531
530int __init fpu_disable(char *s) 532int __init fpu_disable(char *s)
531{ 533{
532 cpu_data[0].options &= ~MIPS_CPU_FPU; 534 int i;
535
536 for (i = 0; i < NR_CPUS; i++)
537 cpu_data[i].options &= ~MIPS_CPU_FPU;
533 538
534 return 1; 539 return 1;
535} 540}
diff --git a/arch/mips/kernel/signal-common.h b/arch/mips/kernel/signal-common.h
index 3ca786215d48..ce6cb915c0a7 100644
--- a/arch/mips/kernel/signal-common.h
+++ b/arch/mips/kernel/signal-common.h
@@ -31,7 +31,6 @@ setup_sigcontext(struct pt_regs *regs, struct sigcontext __user *sc)
31 save_gp_reg(31); 31 save_gp_reg(31);
32#undef save_gp_reg 32#undef save_gp_reg
33 33
34#ifdef CONFIG_32BIT
35 err |= __put_user(regs->hi, &sc->sc_mdhi); 34 err |= __put_user(regs->hi, &sc->sc_mdhi);
36 err |= __put_user(regs->lo, &sc->sc_mdlo); 35 err |= __put_user(regs->lo, &sc->sc_mdlo);
37 if (cpu_has_dsp) { 36 if (cpu_has_dsp) {
@@ -43,20 +42,6 @@ setup_sigcontext(struct pt_regs *regs, struct sigcontext __user *sc)
43 err |= __put_user(mflo3(), &sc->sc_lo3); 42 err |= __put_user(mflo3(), &sc->sc_lo3);
44 err |= __put_user(rddsp(DSP_MASK), &sc->sc_dsp); 43 err |= __put_user(rddsp(DSP_MASK), &sc->sc_dsp);
45 } 44 }
46#endif
47#ifdef CONFIG_64BIT
48 err |= __put_user(regs->hi, &sc->sc_hi[0]);
49 err |= __put_user(regs->lo, &sc->sc_lo[0]);
50 if (cpu_has_dsp) {
51 err |= __put_user(mfhi1(), &sc->sc_hi[1]);
52 err |= __put_user(mflo1(), &sc->sc_lo[1]);
53 err |= __put_user(mfhi2(), &sc->sc_hi[2]);
54 err |= __put_user(mflo2(), &sc->sc_lo[2]);
55 err |= __put_user(mfhi3(), &sc->sc_hi[3]);
56 err |= __put_user(mflo3(), &sc->sc_lo[3]);
57 err |= __put_user(rddsp(DSP_MASK), &sc->sc_dsp);
58 }
59#endif
60 45
61 err |= __put_user(!!used_math(), &sc->sc_used_math); 46 err |= __put_user(!!used_math(), &sc->sc_used_math);
62 47
@@ -92,7 +77,6 @@ restore_sigcontext(struct pt_regs *regs, struct sigcontext __user *sc)
92 current_thread_info()->restart_block.fn = do_no_restart_syscall; 77 current_thread_info()->restart_block.fn = do_no_restart_syscall;
93 78
94 err |= __get_user(regs->cp0_epc, &sc->sc_pc); 79 err |= __get_user(regs->cp0_epc, &sc->sc_pc);
95#ifdef CONFIG_32BIT
96 err |= __get_user(regs->hi, &sc->sc_mdhi); 80 err |= __get_user(regs->hi, &sc->sc_mdhi);
97 err |= __get_user(regs->lo, &sc->sc_mdlo); 81 err |= __get_user(regs->lo, &sc->sc_mdlo);
98 if (cpu_has_dsp) { 82 if (cpu_has_dsp) {
@@ -104,20 +88,6 @@ restore_sigcontext(struct pt_regs *regs, struct sigcontext __user *sc)
104 err |= __get_user(treg, &sc->sc_lo3); mtlo3(treg); 88 err |= __get_user(treg, &sc->sc_lo3); mtlo3(treg);
105 err |= __get_user(treg, &sc->sc_dsp); wrdsp(treg, DSP_MASK); 89 err |= __get_user(treg, &sc->sc_dsp); wrdsp(treg, DSP_MASK);
106 } 90 }
107#endif
108#ifdef CONFIG_64BIT
109 err |= __get_user(regs->hi, &sc->sc_hi[0]);
110 err |= __get_user(regs->lo, &sc->sc_lo[0]);
111 if (cpu_has_dsp) {
112 err |= __get_user(treg, &sc->sc_hi[1]); mthi1(treg);
113 err |= __get_user(treg, &sc->sc_lo[1]); mthi1(treg);
114 err |= __get_user(treg, &sc->sc_hi[2]); mthi2(treg);
115 err |= __get_user(treg, &sc->sc_lo[2]); mthi2(treg);
116 err |= __get_user(treg, &sc->sc_hi[3]); mthi3(treg);
117 err |= __get_user(treg, &sc->sc_lo[3]); mthi3(treg);
118 err |= __get_user(treg, &sc->sc_dsp); wrdsp(treg, DSP_MASK);
119 }
120#endif
121 91
122#define restore_gp_reg(i) do { \ 92#define restore_gp_reg(i) do { \
123 err |= __get_user(regs->regs[i], &sc->sc_regs[i]); \ 93 err |= __get_user(regs->regs[i], &sc->sc_regs[i]); \
diff --git a/arch/mips/kernel/smp_mt.c b/arch/mips/kernel/smp-mt.c
index 993b8bf56aaf..57770902b9ae 100644
--- a/arch/mips/kernel/smp_mt.c
+++ b/arch/mips/kernel/smp-mt.c
@@ -1,8 +1,4 @@
1/* 1/*
2 * Copyright (C) 2004, 2005 MIPS Technologies, Inc. All rights reserved.
3 *
4 * Elizabeth Clarke (beth@mips.com)
5 *
6 * This program is free software; you can distribute it and/or modify it 2 * This program is free software; you can distribute it and/or modify it
7 * under the terms of the GNU General Public License (Version 2) as 3 * under the terms of the GNU General Public License (Version 2) as
8 * published by the Free Software Foundation. 4 * published by the Free Software Foundation.
@@ -16,6 +12,10 @@
16 * with this program; if not, write to the Free Software Foundation, Inc., 12 * with this program; if not, write to the Free Software Foundation, Inc.,
17 * 59 Temple Place - Suite 330, Boston MA 02111-1307, USA. 13 * 59 Temple Place - Suite 330, Boston MA 02111-1307, USA.
18 * 14 *
15 * Copyright (C) 2004, 05, 06 MIPS Technologies, Inc.
16 * Elizabeth Clarke (beth@mips.com)
17 * Ralf Baechle (ralf@linux-mips.org)
18 * Copyright (C) 2006 Ralf Baechle (ralf@linux-mips.org)
19 */ 19 */
20#include <linux/kernel.h> 20#include <linux/kernel.h>
21#include <linux/sched.h> 21#include <linux/sched.h>
@@ -24,6 +24,7 @@
24#include <linux/compiler.h> 24#include <linux/compiler.h>
25 25
26#include <asm/atomic.h> 26#include <asm/atomic.h>
27#include <asm/cacheflush.h>
27#include <asm/cpu.h> 28#include <asm/cpu.h>
28#include <asm/processor.h> 29#include <asm/processor.h>
29#include <asm/system.h> 30#include <asm/system.h>
@@ -33,8 +34,8 @@
33#include <asm/time.h> 34#include <asm/time.h>
34#include <asm/mipsregs.h> 35#include <asm/mipsregs.h>
35#include <asm/mipsmtregs.h> 36#include <asm/mipsmtregs.h>
36#include <asm/cacheflush.h> 37#include <asm/mips_mt.h>
37#include <asm/mips-boards/maltaint.h> 38#include <asm/mips-boards/maltaint.h> /* This is f*cking wrong */
38 39
39#define MIPS_CPU_IPI_RESCHED_IRQ 0 40#define MIPS_CPU_IPI_RESCHED_IRQ 0
40#define MIPS_CPU_IPI_CALL_IRQ 1 41#define MIPS_CPU_IPI_CALL_IRQ 1
@@ -66,6 +67,7 @@ void __init sanitize_tlb_entries(void)
66 if (!cpu_has_mipsmt) 67 if (!cpu_has_mipsmt)
67 return; 68 return;
68 69
70 /* Enable VPC */
69 set_c0_mvpcontrol(MVPCONTROL_VPC); 71 set_c0_mvpcontrol(MVPCONTROL_VPC);
70 72
71 back_to_back_c0_hazard(); 73 back_to_back_c0_hazard();
@@ -106,12 +108,12 @@ void __init sanitize_tlb_entries(void)
106 108
107static void ipi_resched_dispatch (struct pt_regs *regs) 109static void ipi_resched_dispatch (struct pt_regs *regs)
108{ 110{
109 do_IRQ(MIPS_CPU_IPI_RESCHED_IRQ, regs); 111 do_IRQ(MIPSCPU_INT_BASE + MIPS_CPU_IPI_RESCHED_IRQ, regs);
110} 112}
111 113
112static void ipi_call_dispatch (struct pt_regs *regs) 114static void ipi_call_dispatch (struct pt_regs *regs)
113{ 115{
114 do_IRQ(MIPS_CPU_IPI_CALL_IRQ, regs); 116 do_IRQ(MIPSCPU_INT_BASE + MIPS_CPU_IPI_CALL_IRQ, regs);
115} 117}
116 118
117irqreturn_t ipi_resched_interrupt(int irq, void *dev_id, struct pt_regs *regs) 119irqreturn_t ipi_resched_interrupt(int irq, void *dev_id, struct pt_regs *regs)
@@ -148,6 +150,11 @@ void plat_smp_setup(void)
148 unsigned long val; 150 unsigned long val;
149 int i, num; 151 int i, num;
150 152
153#ifdef CONFIG_MIPS_MT_FPAFF
154 /* If we have an FPU, enroll ourselves in the FPU-full mask */
155 if (cpu_has_fpu)
156 cpu_set(0, mt_fpu_cpumask);
157#endif /* CONFIG_MIPS_MT_FPAFF */
151 if (!cpu_has_mipsmt) 158 if (!cpu_has_mipsmt)
152 return; 159 return;
153 160
@@ -155,6 +162,8 @@ void plat_smp_setup(void)
155 dvpe(); 162 dvpe();
156 dmt(); 163 dmt();
157 164
165 mips_mt_set_cpuoptions();
166
158 /* Put MVPE's into 'configuration state' */ 167 /* Put MVPE's into 'configuration state' */
159 set_c0_mvpcontrol(MVPCONTROL_VPC); 168 set_c0_mvpcontrol(MVPCONTROL_VPC);
160 169
@@ -189,11 +198,13 @@ void plat_smp_setup(void)
189 198
190 if (i != 0) { 199 if (i != 0) {
191 write_vpe_c0_status((read_c0_status() & ~(ST0_IM | ST0_IE | ST0_KSU)) | ST0_CU0); 200 write_vpe_c0_status((read_c0_status() & ~(ST0_IM | ST0_IE | ST0_KSU)) | ST0_CU0);
192 write_vpe_c0_cause(read_vpe_c0_cause() & ~CAUSEF_IP);
193 201
194 /* set config to be the same as vpe0, particularly kseg0 coherency alg */ 202 /* set config to be the same as vpe0, particularly kseg0 coherency alg */
195 write_vpe_c0_config( read_c0_config()); 203 write_vpe_c0_config( read_c0_config());
196 204
205 /* make sure there are no software interrupts pending */
206 write_vpe_c0_cause(read_vpe_c0_cause() & ~(C_SW1|C_SW0));
207
197 /* Propagate Config7 */ 208 /* Propagate Config7 */
198 write_vpe_c0_config7(read_c0_config7()); 209 write_vpe_c0_config7(read_c0_config7());
199 } 210 }
@@ -233,16 +244,16 @@ void plat_smp_setup(void)
233 /* We'll wait until starting the secondaries before starting MVPE */ 244 /* We'll wait until starting the secondaries before starting MVPE */
234 245
235 printk(KERN_INFO "Detected %i available secondary CPU(s)\n", num); 246 printk(KERN_INFO "Detected %i available secondary CPU(s)\n", num);
247}
236 248
249void __init plat_prepare_cpus(unsigned int max_cpus)
250{
237 /* set up ipi interrupts */ 251 /* set up ipi interrupts */
238 if (cpu_has_vint) { 252 if (cpu_has_vint) {
239 set_vi_handler (MIPS_CPU_IPI_RESCHED_IRQ, ipi_resched_dispatch); 253 set_vi_handler (MIPS_CPU_IPI_RESCHED_IRQ, ipi_resched_dispatch);
240 set_vi_handler (MIPS_CPU_IPI_CALL_IRQ, ipi_call_dispatch); 254 set_vi_handler (MIPS_CPU_IPI_CALL_IRQ, ipi_call_dispatch);
241 } 255 }
242}
243 256
244void __init plat_prepare_cpus(unsigned int max_cpus)
245{
246 cpu_ipi_resched_irq = MIPSCPU_INT_BASE + MIPS_CPU_IPI_RESCHED_IRQ; 257 cpu_ipi_resched_irq = MIPSCPU_INT_BASE + MIPS_CPU_IPI_RESCHED_IRQ;
247 cpu_ipi_call_irq = MIPSCPU_INT_BASE + MIPS_CPU_IPI_CALL_IRQ; 258 cpu_ipi_call_irq = MIPSCPU_INT_BASE + MIPS_CPU_IPI_CALL_IRQ;
248 259
@@ -287,7 +298,8 @@ void prom_boot_secondary(int cpu, struct task_struct *idle)
287 /* global pointer */ 298 /* global pointer */
288 write_tc_gpr_gp((unsigned long)gp); 299 write_tc_gpr_gp((unsigned long)gp);
289 300
290 flush_icache_range((unsigned long)gp, (unsigned long)(gp + 1)); 301 flush_icache_range((unsigned long)gp,
302 (unsigned long)(gp + sizeof(struct thread_info)));
291 303
292 /* finally out of configuration and into chaos */ 304 /* finally out of configuration and into chaos */
293 clear_c0_mvpcontrol(MVPCONTROL_VPC); 305 clear_c0_mvpcontrol(MVPCONTROL_VPC);
@@ -305,6 +317,12 @@ void prom_smp_finish(void)
305{ 317{
306 write_c0_compare(read_c0_count() + (8* mips_hpt_frequency/HZ)); 318 write_c0_compare(read_c0_count() + (8* mips_hpt_frequency/HZ));
307 319
320#ifdef CONFIG_MIPS_MT_FPAFF
321 /* If we have an FPU, enroll ourselves in the FPU-full mask */
322 if (cpu_has_fpu)
323 cpu_set(smp_processor_id(), mt_fpu_cpumask);
324#endif /* CONFIG_MIPS_MT_FPAFF */
325
308 local_irq_enable(); 326 local_irq_enable();
309} 327}
310 328
diff --git a/arch/mips/kernel/smp.c b/arch/mips/kernel/smp.c
index 78d171bfa331..298f82fe8440 100644
--- a/arch/mips/kernel/smp.c
+++ b/arch/mips/kernel/smp.c
@@ -38,6 +38,10 @@
38#include <asm/mmu_context.h> 38#include <asm/mmu_context.h>
39#include <asm/smp.h> 39#include <asm/smp.h>
40 40
41#ifdef CONFIG_MIPS_MT_SMTC
42#include <asm/mipsmtregs.h>
43#endif /* CONFIG_MIPS_MT_SMTC */
44
41cpumask_t phys_cpu_present_map; /* Bitmask of available CPUs */ 45cpumask_t phys_cpu_present_map; /* Bitmask of available CPUs */
42volatile cpumask_t cpu_callin_map; /* Bitmask of started secondaries */ 46volatile cpumask_t cpu_callin_map; /* Bitmask of started secondaries */
43cpumask_t cpu_online_map; /* Bitmask of currently online CPUs */ 47cpumask_t cpu_online_map; /* Bitmask of currently online CPUs */
@@ -85,6 +89,10 @@ asmlinkage void start_secondary(void)
85{ 89{
86 unsigned int cpu; 90 unsigned int cpu;
87 91
92#ifdef CONFIG_MIPS_MT_SMTC
93 /* Only do cpu_probe for first TC of CPU */
94 if ((read_c0_tcbind() & TCBIND_CURTC) == 0)
95#endif /* CONFIG_MIPS_MT_SMTC */
88 cpu_probe(); 96 cpu_probe();
89 cpu_report(); 97 cpu_report();
90 per_cpu_trap_init(); 98 per_cpu_trap_init();
@@ -179,11 +187,13 @@ int smp_call_function (void (*func) (void *info), void *info, int retry,
179 if (wait) 187 if (wait)
180 while (atomic_read(&data.finished) != cpus) 188 while (atomic_read(&data.finished) != cpus)
181 barrier(); 189 barrier();
190 call_data = NULL;
182 spin_unlock(&smp_call_lock); 191 spin_unlock(&smp_call_lock);
183 192
184 return 0; 193 return 0;
185} 194}
186 195
196
187void smp_call_function_interrupt(void) 197void smp_call_function_interrupt(void)
188{ 198{
189 void (*func) (void *info) = call_data->func; 199 void (*func) (void *info) = call_data->func;
@@ -237,6 +247,9 @@ void __init smp_prepare_cpus(unsigned int max_cpus)
237 current_thread_info()->cpu = 0; 247 current_thread_info()->cpu = 0;
238 smp_tune_scheduling(); 248 smp_tune_scheduling();
239 plat_prepare_cpus(max_cpus); 249 plat_prepare_cpus(max_cpus);
250#ifndef CONFIG_HOTPLUG_CPU
251 cpu_present_map = cpu_possible_map;
252#endif
240} 253}
241 254
242/* preload SMP state for boot cpu */ 255/* preload SMP state for boot cpu */
@@ -432,7 +445,7 @@ static int __init topology_init(void)
432 int cpu; 445 int cpu;
433 int ret; 446 int ret;
434 447
435 for_each_cpu(cpu) { 448 for_each_present_cpu(cpu) {
436 ret = register_cpu(&per_cpu(cpu_devices, cpu), cpu, NULL); 449 ret = register_cpu(&per_cpu(cpu_devices, cpu), cpu, NULL);
437 if (ret) 450 if (ret)
438 printk(KERN_WARNING "topology_init: register_cpu %d " 451 printk(KERN_WARNING "topology_init: register_cpu %d "
@@ -446,5 +459,3 @@ subsys_initcall(topology_init);
446 459
447EXPORT_SYMBOL(flush_tlb_page); 460EXPORT_SYMBOL(flush_tlb_page);
448EXPORT_SYMBOL(flush_tlb_one); 461EXPORT_SYMBOL(flush_tlb_one);
449EXPORT_SYMBOL(cpu_data);
450EXPORT_SYMBOL(synchronize_irq);
diff --git a/arch/mips/kernel/smtc-asm.S b/arch/mips/kernel/smtc-asm.S
new file mode 100644
index 000000000000..c9d65196d917
--- /dev/null
+++ b/arch/mips/kernel/smtc-asm.S
@@ -0,0 +1,130 @@
1/*
2 * Assembly Language Functions for MIPS MT SMTC support
3 */
4
5/*
6 * This file should be built into the kernel only if CONFIG_MIPS_MT_SMTC is set. */
7
8#include <asm/regdef.h>
9#include <asm/asmmacro.h>
10#include <asm/stackframe.h>
11#include <asm/stackframe.h>
12
13/*
14 * "Software Interrupt" linkage.
15 *
16 * This is invoked when an "Interrupt" is sent from one TC to another,
17 * where the TC to be interrupted is halted, has it's Restart address
18 * and Status values saved by the "remote control" thread, then modified
19 * to cause execution to begin here, in kenel mode. This code then
20 * disguises the TC state as that of an exception and transfers
21 * control to the general exception or vectored interrupt handler.
22 */
23 .set noreorder
24
25/*
26The __smtc_ipi_vector would use k0 and k1 as temporaries and
271) Set EXL (this is per-VPE, so this can't be done by proxy!)
282) Restore the K/CU and IXMT bits to the pre "exception" state
29 (EXL means no interrupts and access to the kernel map).
303) Set EPC to be the saved value of TCRestart.
314) Jump to the exception handler entry point passed by the sender.
32
33CAN WE PROVE THAT WE WON'T DO THIS IF INTS DISABLED??
34*/
35
36/*
37 * Reviled and slandered vision: Set EXL and restore K/CU/IXMT
38 * state of pre-halt thread, then save everything and call
39 * thought some function pointer to imaginary_exception, which
40 * will parse a register value or memory message queue to
41 * deliver things like interprocessor interrupts. On return
42 * from that function, jump to the global ret_from_irq code
43 * to invoke the scheduler and return as appropriate.
44 */
45
46#define PT_PADSLOT4 (PT_R0-8)
47#define PT_PADSLOT5 (PT_R0-4)
48
49 .text
50 .align 5
51FEXPORT(__smtc_ipi_vector)
52 .set noat
53 /* Disable thread scheduling to make Status update atomic */
54 DMT 27 # dmt k1
55 ehb
56 /* Set EXL */
57 mfc0 k0,CP0_STATUS
58 ori k0,k0,ST0_EXL
59 mtc0 k0,CP0_STATUS
60 ehb
61 /* Thread scheduling now inhibited by EXL. Restore TE state. */
62 andi k1,k1,VPECONTROL_TE
63 beqz k1,1f
64 emt
651:
66 /*
67 * The IPI sender has put some information on the anticipated
68 * kernel stack frame. If we were in user mode, this will be
69 * built above the saved kernel SP. If we were already in the
70 * kernel, it will be built above the current CPU SP.
71 *
72 * Were we in kernel mode, as indicated by CU0?
73 */
74 sll k1,k0,3
75 .set noreorder
76 bltz k1,2f
77 move k1,sp
78 .set reorder
79 /*
80 * If previously in user mode, set CU0 and use kernel stack.
81 */
82 li k1,ST0_CU0
83 or k1,k1,k0
84 mtc0 k1,CP0_STATUS
85 ehb
86 get_saved_sp
87 /* Interrupting TC will have pre-set values in slots in the new frame */
882: subu k1,k1,PT_SIZE
89 /* Load TCStatus Value */
90 lw k0,PT_TCSTATUS(k1)
91 /* Write it to TCStatus to restore CU/KSU/IXMT state */
92 mtc0 k0,$2,1
93 ehb
94 lw k0,PT_EPC(k1)
95 mtc0 k0,CP0_EPC
96 /* Save all will redundantly recompute the SP, but use it for now */
97 SAVE_ALL
98 CLI
99 move a0,sp
100 /* Function to be invoked passed stack pad slot 5 */
101 lw t0,PT_PADSLOT5(sp)
102 /* Argument from sender passed in stack pad slot 4 */
103 lw a1,PT_PADSLOT4(sp)
104 jalr t0
105 nop
106 j ret_from_irq
107 nop
108
109/*
110 * Called from idle loop to provoke processing of queued IPIs
111 * First IPI message in queue passed as argument.
112 */
113
114LEAF(self_ipi)
115 /* Before anything else, block interrupts */
116 mfc0 t0,CP0_TCSTATUS
117 ori t1,t0,TCSTATUS_IXMT
118 mtc0 t1,CP0_TCSTATUS
119 ehb
120 /* We know we're in kernel mode, so prepare stack frame */
121 subu t1,sp,PT_SIZE
122 sw ra,PT_EPC(t1)
123 sw a0,PT_PADSLOT4(t1)
124 la t2,ipi_decode
125 sw t2,PT_PADSLOT5(t1)
126 /* Save pre-disable value of TCStatus */
127 sw t0,PT_TCSTATUS(t1)
128 j __smtc_ipi_vector
129 nop
130END(self_ipi)
diff --git a/arch/mips/kernel/smtc-proc.c b/arch/mips/kernel/smtc-proc.c
new file mode 100644
index 000000000000..6f3709996172
--- /dev/null
+++ b/arch/mips/kernel/smtc-proc.c
@@ -0,0 +1,93 @@
1/*
2 * /proc hooks for SMTC kernel
3 * Copyright (C) 2005 Mips Technologies, Inc
4 */
5
6#include <linux/kernel.h>
7#include <linux/sched.h>
8#include <linux/cpumask.h>
9#include <linux/interrupt.h>
10
11#include <asm/cpu.h>
12#include <asm/processor.h>
13#include <asm/atomic.h>
14#include <asm/system.h>
15#include <asm/hardirq.h>
16#include <asm/mmu_context.h>
17#include <asm/smp.h>
18#include <asm/mipsregs.h>
19#include <asm/cacheflush.h>
20#include <linux/proc_fs.h>
21
22#include <asm/smtc_proc.h>
23
24/*
25 * /proc diagnostic and statistics hooks
26 */
27
28/*
29 * Statistics gathered
30 */
31unsigned long selfipis[NR_CPUS];
32
33struct smtc_cpu_proc smtc_cpu_stats[NR_CPUS];
34
35static struct proc_dir_entry *smtc_stats;
36
37atomic_t smtc_fpu_recoveries;
38
39static int proc_read_smtc(char *page, char **start, off_t off,
40 int count, int *eof, void *data)
41{
42 int totalen = 0;
43 int len;
44 int i;
45 extern unsigned long ebase;
46
47 len = sprintf(page, "SMTC Status Word: 0x%08x\n", smtc_status);
48 totalen += len;
49 page += len;
50 len = sprintf(page, "Config7: 0x%08x\n", read_c0_config7());
51 totalen += len;
52 page += len;
53 len = sprintf(page, "EBASE: 0x%08lx\n", ebase);
54 totalen += len;
55 page += len;
56 len = sprintf(page, "Counter Interrupts taken per CPU (TC)\n");
57 totalen += len;
58 page += len;
59 for (i=0; i < NR_CPUS; i++) {
60 len = sprintf(page, "%d: %ld\n", i, smtc_cpu_stats[i].timerints);
61 totalen += len;
62 page += len;
63 }
64 len = sprintf(page, "Self-IPIs by CPU:\n");
65 totalen += len;
66 page += len;
67 for(i = 0; i < NR_CPUS; i++) {
68 len = sprintf(page, "%d: %ld\n", i, smtc_cpu_stats[i].selfipis);
69 totalen += len;
70 page += len;
71 }
72 len = sprintf(page, "%d Recoveries of \"stolen\" FPU\n",
73 atomic_read(&smtc_fpu_recoveries));
74 totalen += len;
75 page += len;
76
77 return totalen;
78}
79
80void init_smtc_stats(void)
81{
82 int i;
83
84 for (i=0; i<NR_CPUS; i++) {
85 smtc_cpu_stats[i].timerints = 0;
86 smtc_cpu_stats[i].selfipis = 0;
87 }
88
89 atomic_set(&smtc_fpu_recoveries, 0);
90
91 smtc_stats = create_proc_read_entry("smtc", 0444, NULL,
92 proc_read_smtc, NULL);
93}
diff --git a/arch/mips/kernel/smtc.c b/arch/mips/kernel/smtc.c
new file mode 100644
index 000000000000..2e8e52c135e6
--- /dev/null
+++ b/arch/mips/kernel/smtc.c
@@ -0,0 +1,1322 @@
1/* Copyright (C) 2004 Mips Technologies, Inc */
2
3#include <linux/kernel.h>
4#include <linux/sched.h>
5#include <linux/cpumask.h>
6#include <linux/interrupt.h>
7
8#include <asm/cpu.h>
9#include <asm/processor.h>
10#include <asm/atomic.h>
11#include <asm/system.h>
12#include <asm/hardirq.h>
13#include <asm/hazards.h>
14#include <asm/mmu_context.h>
15#include <asm/smp.h>
16#include <asm/mipsregs.h>
17#include <asm/cacheflush.h>
18#include <asm/time.h>
19#include <asm/addrspace.h>
20#include <asm/smtc.h>
21#include <asm/smtc_ipi.h>
22#include <asm/smtc_proc.h>
23
24/*
25 * This file should be built into the kernel only if CONFIG_MIPS_MT_SMTC is set.
26 */
27
28/*
29 * MIPSCPU_INT_BASE is identically defined in both
30 * asm-mips/mips-boards/maltaint.h and asm-mips/mips-boards/simint.h,
31 * but as yet there's no properly organized include structure that
32 * will ensure that the right *int.h file will be included for a
33 * given platform build.
34 */
35
36#define MIPSCPU_INT_BASE 16
37
38#define MIPS_CPU_IPI_IRQ 1
39
40#define LOCK_MT_PRA() \
41 local_irq_save(flags); \
42 mtflags = dmt()
43
44#define UNLOCK_MT_PRA() \
45 emt(mtflags); \
46 local_irq_restore(flags)
47
48#define LOCK_CORE_PRA() \
49 local_irq_save(flags); \
50 mtflags = dvpe()
51
52#define UNLOCK_CORE_PRA() \
53 evpe(mtflags); \
54 local_irq_restore(flags)
55
56/*
57 * Data structures purely associated with SMTC parallelism
58 */
59
60
61/*
62 * Table for tracking ASIDs whose lifetime is prolonged.
63 */
64
65asiduse smtc_live_asid[MAX_SMTC_TLBS][MAX_SMTC_ASIDS];
66
67/*
68 * Clock interrupt "latch" buffers, per "CPU"
69 */
70
71unsigned int ipi_timer_latch[NR_CPUS];
72
73/*
74 * Number of InterProcessor Interupt (IPI) message buffers to allocate
75 */
76
77#define IPIBUF_PER_CPU 4
78
79struct smtc_ipi_q IPIQ[NR_CPUS];
80struct smtc_ipi_q freeIPIq;
81
82
83/* Forward declarations */
84
85void ipi_decode(struct pt_regs *, struct smtc_ipi *);
86void post_direct_ipi(int cpu, struct smtc_ipi *pipi);
87void setup_cross_vpe_interrupts(void);
88void init_smtc_stats(void);
89
90/* Global SMTC Status */
91
92unsigned int smtc_status = 0;
93
94/* Boot command line configuration overrides */
95
96static int vpelimit = 0;
97static int tclimit = 0;
98static int ipibuffers = 0;
99static int nostlb = 0;
100static int asidmask = 0;
101unsigned long smtc_asid_mask = 0xff;
102
103static int __init maxvpes(char *str)
104{
105 get_option(&str, &vpelimit);
106 return 1;
107}
108
109static int __init maxtcs(char *str)
110{
111 get_option(&str, &tclimit);
112 return 1;
113}
114
115static int __init ipibufs(char *str)
116{
117 get_option(&str, &ipibuffers);
118 return 1;
119}
120
121static int __init stlb_disable(char *s)
122{
123 nostlb = 1;
124 return 1;
125}
126
127static int __init asidmask_set(char *str)
128{
129 get_option(&str, &asidmask);
130 switch(asidmask) {
131 case 0x1:
132 case 0x3:
133 case 0x7:
134 case 0xf:
135 case 0x1f:
136 case 0x3f:
137 case 0x7f:
138 case 0xff:
139 smtc_asid_mask = (unsigned long)asidmask;
140 break;
141 default:
142 printk("ILLEGAL ASID mask 0x%x from command line\n", asidmask);
143 }
144 return 1;
145}
146
147__setup("maxvpes=", maxvpes);
148__setup("maxtcs=", maxtcs);
149__setup("ipibufs=", ipibufs);
150__setup("nostlb", stlb_disable);
151__setup("asidmask=", asidmask_set);
152
153/* Enable additional debug checks before going into CPU idle loop */
154#define SMTC_IDLE_HOOK_DEBUG
155
156#ifdef SMTC_IDLE_HOOK_DEBUG
157
158static int hang_trig = 0;
159
160static int __init hangtrig_enable(char *s)
161{
162 hang_trig = 1;
163 return 1;
164}
165
166
167__setup("hangtrig", hangtrig_enable);
168
169#define DEFAULT_BLOCKED_IPI_LIMIT 32
170
171static int timerq_limit = DEFAULT_BLOCKED_IPI_LIMIT;
172
173static int __init tintq(char *str)
174{
175 get_option(&str, &timerq_limit);
176 return 1;
177}
178
179__setup("tintq=", tintq);
180
181int imstuckcount[2][8];
182/* vpemask represents IM/IE bits of per-VPE Status registers, low-to-high */
183int vpemask[2][8] = {{0,1,1,0,0,0,0,1},{0,1,0,0,0,0,0,1}};
184int tcnoprog[NR_CPUS];
185static atomic_t idle_hook_initialized = {0};
186static int clock_hang_reported[NR_CPUS];
187
188#endif /* SMTC_IDLE_HOOK_DEBUG */
189
190/* Initialize shared TLB - the should probably migrate to smtc_setup_cpus() */
191
192void __init sanitize_tlb_entries(void)
193{
194 printk("Deprecated sanitize_tlb_entries() invoked\n");
195}
196
197
198/*
199 * Configure shared TLB - VPC configuration bit must be set by caller
200 */
201
202void smtc_configure_tlb(void)
203{
204 int i,tlbsiz,vpes;
205 unsigned long mvpconf0;
206 unsigned long config1val;
207
208 /* Set up ASID preservation table */
209 for (vpes=0; vpes<MAX_SMTC_TLBS; vpes++) {
210 for(i = 0; i < MAX_SMTC_ASIDS; i++) {
211 smtc_live_asid[vpes][i] = 0;
212 }
213 }
214 mvpconf0 = read_c0_mvpconf0();
215
216 if ((vpes = ((mvpconf0 & MVPCONF0_PVPE)
217 >> MVPCONF0_PVPE_SHIFT) + 1) > 1) {
218 /* If we have multiple VPEs, try to share the TLB */
219 if ((mvpconf0 & MVPCONF0_TLBS) && !nostlb) {
220 /*
221 * If TLB sizing is programmable, shared TLB
222 * size is the total available complement.
223 * Otherwise, we have to take the sum of all
224 * static VPE TLB entries.
225 */
226 if ((tlbsiz = ((mvpconf0 & MVPCONF0_PTLBE)
227 >> MVPCONF0_PTLBE_SHIFT)) == 0) {
228 /*
229 * If there's more than one VPE, there had better
230 * be more than one TC, because we need one to bind
231 * to each VPE in turn to be able to read
232 * its configuration state!
233 */
234 settc(1);
235 /* Stop the TC from doing anything foolish */
236 write_tc_c0_tchalt(TCHALT_H);
237 mips_ihb();
238 /* No need to un-Halt - that happens later anyway */
239 for (i=0; i < vpes; i++) {
240 write_tc_c0_tcbind(i);
241 /*
242 * To be 100% sure we're really getting the right
243 * information, we exit the configuration state
244 * and do an IHB after each rebinding.
245 */
246 write_c0_mvpcontrol(
247 read_c0_mvpcontrol() & ~ MVPCONTROL_VPC );
248 mips_ihb();
249 /*
250 * Only count if the MMU Type indicated is TLB
251 */
252 if(((read_vpe_c0_config() & MIPS_CONF_MT) >> 7) == 1) {
253 config1val = read_vpe_c0_config1();
254 tlbsiz += ((config1val >> 25) & 0x3f) + 1;
255 }
256
257 /* Put core back in configuration state */
258 write_c0_mvpcontrol(
259 read_c0_mvpcontrol() | MVPCONTROL_VPC );
260 mips_ihb();
261 }
262 }
263 write_c0_mvpcontrol(read_c0_mvpcontrol() | MVPCONTROL_STLB);
264
265 /*
266 * Setup kernel data structures to use software total,
267 * rather than read the per-VPE Config1 value. The values
268 * for "CPU 0" gets copied to all the other CPUs as part
269 * of their initialization in smtc_cpu_setup().
270 */
271
272 tlbsiz = tlbsiz & 0x3f; /* MIPS32 limits TLB indices to 64 */
273 cpu_data[0].tlbsize = tlbsiz;
274 smtc_status |= SMTC_TLB_SHARED;
275
276 printk("TLB of %d entry pairs shared by %d VPEs\n",
277 tlbsiz, vpes);
278 } else {
279 printk("WARNING: TLB Not Sharable on SMTC Boot!\n");
280 }
281 }
282}
283
284
285/*
286 * Incrementally build the CPU map out of constituent MIPS MT cores,
287 * using the specified available VPEs and TCs. Plaform code needs
288 * to ensure that each MIPS MT core invokes this routine on reset,
289 * one at a time(!).
290 *
291 * This version of the build_cpu_map and prepare_cpus routines assumes
292 * that *all* TCs of a MIPS MT core will be used for Linux, and that
293 * they will be spread across *all* available VPEs (to minimise the
294 * loss of efficiency due to exception service serialization).
295 * An improved version would pick up configuration information and
296 * possibly leave some TCs/VPEs as "slave" processors.
297 *
298 * Use c0_MVPConf0 to find out how many TCs are available, setting up
299 * phys_cpu_present_map and the logical/physical mappings.
300 */
301
302int __init mipsmt_build_cpu_map(int start_cpu_slot)
303{
304 int i, ntcs;
305
306 /*
307 * The CPU map isn't actually used for anything at this point,
308 * so it's not clear what else we should do apart from set
309 * everything up so that "logical" = "physical".
310 */
311 ntcs = ((read_c0_mvpconf0() & MVPCONF0_PTC) >> MVPCONF0_PTC_SHIFT) + 1;
312 for (i=start_cpu_slot; i<NR_CPUS && i<ntcs; i++) {
313 cpu_set(i, phys_cpu_present_map);
314 __cpu_number_map[i] = i;
315 __cpu_logical_map[i] = i;
316 }
317 /* Initialize map of CPUs with FPUs */
318 cpus_clear(mt_fpu_cpumask);
319
320 /* One of those TC's is the one booting, and not a secondary... */
321 printk("%i available secondary CPU TC(s)\n", i - 1);
322
323 return i;
324}
325
326/*
327 * Common setup before any secondaries are started
328 * Make sure all CPU's are in a sensible state before we boot any of the
329 * secondaries.
330 *
331 * For MIPS MT "SMTC" operation, we set up all TCs, spread as evenly
332 * as possible across the available VPEs.
333 */
334
335static void smtc_tc_setup(int vpe, int tc, int cpu)
336{
337 settc(tc);
338 write_tc_c0_tchalt(TCHALT_H);
339 mips_ihb();
340 write_tc_c0_tcstatus((read_tc_c0_tcstatus()
341 & ~(TCSTATUS_TKSU | TCSTATUS_DA | TCSTATUS_IXMT))
342 | TCSTATUS_A);
343 write_tc_c0_tccontext(0);
344 /* Bind tc to vpe */
345 write_tc_c0_tcbind(vpe);
346 /* In general, all TCs should have the same cpu_data indications */
347 memcpy(&cpu_data[cpu], &cpu_data[0], sizeof(struct cpuinfo_mips));
348 /* For 34Kf, start with TC/CPU 0 as sole owner of single FPU context */
349 if (cpu_data[0].cputype == CPU_34K)
350 cpu_data[cpu].options &= ~MIPS_CPU_FPU;
351 cpu_data[cpu].vpe_id = vpe;
352 cpu_data[cpu].tc_id = tc;
353}
354
355
356void mipsmt_prepare_cpus(void)
357{
358 int i, vpe, tc, ntc, nvpe, tcpervpe, slop, cpu;
359 unsigned long flags;
360 unsigned long val;
361 int nipi;
362 struct smtc_ipi *pipi;
363
364 /* disable interrupts so we can disable MT */
365 local_irq_save(flags);
366 /* disable MT so we can configure */
367 dvpe();
368 dmt();
369
370 freeIPIq.lock = SPIN_LOCK_UNLOCKED;
371
372 /*
373 * We probably don't have as many VPEs as we do SMP "CPUs",
374 * but it's possible - and in any case we'll never use more!
375 */
376 for (i=0; i<NR_CPUS; i++) {
377 IPIQ[i].head = IPIQ[i].tail = NULL;
378 IPIQ[i].lock = SPIN_LOCK_UNLOCKED;
379 IPIQ[i].depth = 0;
380 ipi_timer_latch[i] = 0;
381 }
382
383 /* cpu_data index starts at zero */
384 cpu = 0;
385 cpu_data[cpu].vpe_id = 0;
386 cpu_data[cpu].tc_id = 0;
387 cpu++;
388
389 /* Report on boot-time options */
390 mips_mt_set_cpuoptions ();
391 if (vpelimit > 0)
392 printk("Limit of %d VPEs set\n", vpelimit);
393 if (tclimit > 0)
394 printk("Limit of %d TCs set\n", tclimit);
395 if (nostlb) {
396 printk("Shared TLB Use Inhibited - UNSAFE for Multi-VPE Operation\n");
397 }
398 if (asidmask)
399 printk("ASID mask value override to 0x%x\n", asidmask);
400
401 /* Temporary */
402#ifdef SMTC_IDLE_HOOK_DEBUG
403 if (hang_trig)
404 printk("Logic Analyser Trigger on suspected TC hang\n");
405#endif /* SMTC_IDLE_HOOK_DEBUG */
406
407 /* Put MVPE's into 'configuration state' */
408 write_c0_mvpcontrol( read_c0_mvpcontrol() | MVPCONTROL_VPC );
409
410 val = read_c0_mvpconf0();
411 nvpe = ((val & MVPCONF0_PVPE) >> MVPCONF0_PVPE_SHIFT) + 1;
412 if (vpelimit > 0 && nvpe > vpelimit)
413 nvpe = vpelimit;
414 ntc = ((val & MVPCONF0_PTC) >> MVPCONF0_PTC_SHIFT) + 1;
415 if (ntc > NR_CPUS)
416 ntc = NR_CPUS;
417 if (tclimit > 0 && ntc > tclimit)
418 ntc = tclimit;
419 tcpervpe = ntc / nvpe;
420 slop = ntc % nvpe; /* Residual TCs, < NVPE */
421
422 /* Set up shared TLB */
423 smtc_configure_tlb();
424
425 for (tc = 0, vpe = 0 ; (vpe < nvpe) && (tc < ntc) ; vpe++) {
426 /*
427 * Set the MVP bits.
428 */
429 settc(tc);
430 write_vpe_c0_vpeconf0(read_vpe_c0_vpeconf0() | VPECONF0_MVP);
431 if (vpe != 0)
432 printk(", ");
433 printk("VPE %d: TC", vpe);
434 for (i = 0; i < tcpervpe; i++) {
435 /*
436 * TC 0 is bound to VPE 0 at reset,
437 * and is presumably executing this
438 * code. Leave it alone!
439 */
440 if (tc != 0) {
441 smtc_tc_setup(vpe,tc, cpu);
442 cpu++;
443 }
444 printk(" %d", tc);
445 tc++;
446 }
447 if (slop) {
448 if (tc != 0) {
449 smtc_tc_setup(vpe,tc, cpu);
450 cpu++;
451 }
452 printk(" %d", tc);
453 tc++;
454 slop--;
455 }
456 if (vpe != 0) {
457 /*
458 * Clear any stale software interrupts from VPE's Cause
459 */
460 write_vpe_c0_cause(0);
461
462 /*
463 * Clear ERL/EXL of VPEs other than 0
464 * and set restricted interrupt enable/mask.
465 */
466 write_vpe_c0_status((read_vpe_c0_status()
467 & ~(ST0_BEV | ST0_ERL | ST0_EXL | ST0_IM))
468 | (STATUSF_IP0 | STATUSF_IP1 | STATUSF_IP7
469 | ST0_IE));
470 /*
471 * set config to be the same as vpe0,
472 * particularly kseg0 coherency alg
473 */
474 write_vpe_c0_config(read_c0_config());
475 /* Clear any pending timer interrupt */
476 write_vpe_c0_compare(0);
477 /* Propagate Config7 */
478 write_vpe_c0_config7(read_c0_config7());
479 }
480 /* enable multi-threading within VPE */
481 write_vpe_c0_vpecontrol(read_vpe_c0_vpecontrol() | VPECONTROL_TE);
482 /* enable the VPE */
483 write_vpe_c0_vpeconf0(read_vpe_c0_vpeconf0() | VPECONF0_VPA);
484 }
485
486 /*
487 * Pull any physically present but unused TCs out of circulation.
488 */
489 while (tc < (((val & MVPCONF0_PTC) >> MVPCONF0_PTC_SHIFT) + 1)) {
490 cpu_clear(tc, phys_cpu_present_map);
491 cpu_clear(tc, cpu_present_map);
492 tc++;
493 }
494
495 /* release config state */
496 write_c0_mvpcontrol( read_c0_mvpcontrol() & ~ MVPCONTROL_VPC );
497
498 printk("\n");
499
500 /* Set up coprocessor affinity CPU mask(s) */
501
502 for (tc = 0; tc < ntc; tc++) {
503 if(cpu_data[tc].options & MIPS_CPU_FPU)
504 cpu_set(tc, mt_fpu_cpumask);
505 }
506
507 /* set up ipi interrupts... */
508
509 /* If we have multiple VPEs running, set up the cross-VPE interrupt */
510
511 if (nvpe > 1)
512 setup_cross_vpe_interrupts();
513
514 /* Set up queue of free IPI "messages". */
515 nipi = NR_CPUS * IPIBUF_PER_CPU;
516 if (ipibuffers > 0)
517 nipi = ipibuffers;
518
519 pipi = kmalloc(nipi *sizeof(struct smtc_ipi), GFP_KERNEL);
520 if (pipi == NULL)
521 panic("kmalloc of IPI message buffers failed\n");
522 else
523 printk("IPI buffer pool of %d buffers\n", nipi);
524 for (i = 0; i < nipi; i++) {
525 smtc_ipi_nq(&freeIPIq, pipi);
526 pipi++;
527 }
528
529 /* Arm multithreading and enable other VPEs - but all TCs are Halted */
530 emt(EMT_ENABLE);
531 evpe(EVPE_ENABLE);
532 local_irq_restore(flags);
533 /* Initialize SMTC /proc statistics/diagnostics */
534 init_smtc_stats();
535}
536
537
538/*
539 * Setup the PC, SP, and GP of a secondary processor and start it
540 * running!
541 * smp_bootstrap is the place to resume from
542 * __KSTK_TOS(idle) is apparently the stack pointer
543 * (unsigned long)idle->thread_info the gp
544 *
545 */
546void smtc_boot_secondary(int cpu, struct task_struct *idle)
547{
548 extern u32 kernelsp[NR_CPUS];
549 long flags;
550 int mtflags;
551
552 LOCK_MT_PRA();
553 if (cpu_data[cpu].vpe_id != cpu_data[smp_processor_id()].vpe_id) {
554 dvpe();
555 }
556 settc(cpu_data[cpu].tc_id);
557
558 /* pc */
559 write_tc_c0_tcrestart((unsigned long)&smp_bootstrap);
560
561 /* stack pointer */
562 kernelsp[cpu] = __KSTK_TOS(idle);
563 write_tc_gpr_sp(__KSTK_TOS(idle));
564
565 /* global pointer */
566 write_tc_gpr_gp((unsigned long)idle->thread_info);
567
568 smtc_status |= SMTC_MTC_ACTIVE;
569 write_tc_c0_tchalt(0);
570 if (cpu_data[cpu].vpe_id != cpu_data[smp_processor_id()].vpe_id) {
571 evpe(EVPE_ENABLE);
572 }
573 UNLOCK_MT_PRA();
574}
575
576void smtc_init_secondary(void)
577{
578 /*
579 * Start timer on secondary VPEs if necessary.
580 * mips_timer_setup should already have been invoked by init/main
581 * on "boot" TC. Like per_cpu_trap_init() hack, this assumes that
582 * SMTC init code assigns TCs consdecutively and in ascending order
583 * to across available VPEs.
584 */
585 if(((read_c0_tcbind() & TCBIND_CURTC) != 0)
586 && ((read_c0_tcbind() & TCBIND_CURVPE)
587 != cpu_data[smp_processor_id() - 1].vpe_id)){
588 write_c0_compare (read_c0_count() + mips_hpt_frequency/HZ);
589 }
590
591 local_irq_enable();
592}
593
594void smtc_smp_finish(void)
595{
596 printk("TC %d going on-line as CPU %d\n",
597 cpu_data[smp_processor_id()].tc_id, smp_processor_id());
598}
599
600void smtc_cpus_done(void)
601{
602}
603
604/*
605 * Support for SMTC-optimized driver IRQ registration
606 */
607
608/*
609 * SMTC Kernel needs to manipulate low-level CPU interrupt mask
610 * in do_IRQ. These are passed in setup_irq_smtc() and stored
611 * in this table.
612 */
613
614int setup_irq_smtc(unsigned int irq, struct irqaction * new,
615 unsigned long hwmask)
616{
617 irq_hwmask[irq] = hwmask;
618
619 return setup_irq(irq, new);
620}
621
622/*
623 * IPI model for SMTC is tricky, because interrupts aren't TC-specific.
624 * Within a VPE one TC can interrupt another by different approaches.
625 * The easiest to get right would probably be to make all TCs except
626 * the target IXMT and set a software interrupt, but an IXMT-based
627 * scheme requires that a handler must run before a new IPI could
628 * be sent, which would break the "broadcast" loops in MIPS MT.
629 * A more gonzo approach within a VPE is to halt the TC, extract
630 * its Restart, Status, and a couple of GPRs, and program the Restart
631 * address to emulate an interrupt.
632 *
633 * Within a VPE, one can be confident that the target TC isn't in
634 * a critical EXL state when halted, since the write to the Halt
635 * register could not have issued on the writing thread if the
636 * halting thread had EXL set. So k0 and k1 of the target TC
637 * can be used by the injection code. Across VPEs, one can't
638 * be certain that the target TC isn't in a critical exception
639 * state. So we try a two-step process of sending a software
640 * interrupt to the target VPE, which either handles the event
641 * itself (if it was the target) or injects the event within
642 * the VPE.
643 */
644
645void smtc_ipi_qdump(void)
646{
647 int i;
648
649 for (i = 0; i < NR_CPUS ;i++) {
650 printk("IPIQ[%d]: head = 0x%x, tail = 0x%x, depth = %d\n",
651 i, (unsigned)IPIQ[i].head, (unsigned)IPIQ[i].tail,
652 IPIQ[i].depth);
653 }
654}
655
656/*
657 * The standard atomic.h primitives don't quite do what we want
658 * here: We need an atomic add-and-return-previous-value (which
659 * could be done with atomic_add_return and a decrement) and an
660 * atomic set/zero-and-return-previous-value (which can't really
661 * be done with the atomic.h primitives). And since this is
662 * MIPS MT, we can assume that we have LL/SC.
663 */
664static __inline__ int atomic_postincrement(unsigned int *pv)
665{
666 unsigned long result;
667
668 unsigned long temp;
669
670 __asm__ __volatile__(
671 "1: ll %0, %2 \n"
672 " addu %1, %0, 1 \n"
673 " sc %1, %2 \n"
674 " beqz %1, 1b \n"
675 " sync \n"
676 : "=&r" (result), "=&r" (temp), "=m" (*pv)
677 : "m" (*pv)
678 : "memory");
679
680 return result;
681}
682
683/* No longer used in IPI dispatch, but retained for future recycling */
684
685static __inline__ int atomic_postclear(unsigned int *pv)
686{
687 unsigned long result;
688
689 unsigned long temp;
690
691 __asm__ __volatile__(
692 "1: ll %0, %2 \n"
693 " or %1, $0, $0 \n"
694 " sc %1, %2 \n"
695 " beqz %1, 1b \n"
696 " sync \n"
697 : "=&r" (result), "=&r" (temp), "=m" (*pv)
698 : "m" (*pv)
699 : "memory");
700
701 return result;
702}
703
704
705void smtc_send_ipi(int cpu, int type, unsigned int action)
706{
707 int tcstatus;
708 struct smtc_ipi *pipi;
709 long flags;
710 int mtflags;
711
712 if (cpu == smp_processor_id()) {
713 printk("Cannot Send IPI to self!\n");
714 return;
715 }
716 /* Set up a descriptor, to be delivered either promptly or queued */
717 pipi = smtc_ipi_dq(&freeIPIq);
718 if (pipi == NULL) {
719 bust_spinlocks(1);
720 mips_mt_regdump(dvpe());
721 panic("IPI Msg. Buffers Depleted\n");
722 }
723 pipi->type = type;
724 pipi->arg = (void *)action;
725 pipi->dest = cpu;
726 if (cpu_data[cpu].vpe_id != cpu_data[smp_processor_id()].vpe_id) {
727 /* If not on same VPE, enqueue and send cross-VPE interupt */
728 smtc_ipi_nq(&IPIQ[cpu], pipi);
729 LOCK_CORE_PRA();
730 settc(cpu_data[cpu].tc_id);
731 write_vpe_c0_cause(read_vpe_c0_cause() | C_SW1);
732 UNLOCK_CORE_PRA();
733 } else {
734 /*
735 * Not sufficient to do a LOCK_MT_PRA (dmt) here,
736 * since ASID shootdown on the other VPE may
737 * collide with this operation.
738 */
739 LOCK_CORE_PRA();
740 settc(cpu_data[cpu].tc_id);
741 /* Halt the targeted TC */
742 write_tc_c0_tchalt(TCHALT_H);
743 mips_ihb();
744
745 /*
746 * Inspect TCStatus - if IXMT is set, we have to queue
747 * a message. Otherwise, we set up the "interrupt"
748 * of the other TC
749 */
750 tcstatus = read_tc_c0_tcstatus();
751
752 if ((tcstatus & TCSTATUS_IXMT) != 0) {
753 /*
754 * Spin-waiting here can deadlock,
755 * so we queue the message for the target TC.
756 */
757 write_tc_c0_tchalt(0);
758 UNLOCK_CORE_PRA();
759 /* Try to reduce redundant timer interrupt messages */
760 if(type == SMTC_CLOCK_TICK) {
761 if(atomic_postincrement(&ipi_timer_latch[cpu])!=0) {
762 smtc_ipi_nq(&freeIPIq, pipi);
763 return;
764 }
765 }
766 smtc_ipi_nq(&IPIQ[cpu], pipi);
767 } else {
768 post_direct_ipi(cpu, pipi);
769 write_tc_c0_tchalt(0);
770 UNLOCK_CORE_PRA();
771 }
772 }
773}
774
775/*
776 * Send IPI message to Halted TC, TargTC/TargVPE already having been set
777 */
778void post_direct_ipi(int cpu, struct smtc_ipi *pipi)
779{
780 struct pt_regs *kstack;
781 unsigned long tcstatus;
782 unsigned long tcrestart;
783 extern u32 kernelsp[NR_CPUS];
784 extern void __smtc_ipi_vector(void);
785
786 /* Extract Status, EPC from halted TC */
787 tcstatus = read_tc_c0_tcstatus();
788 tcrestart = read_tc_c0_tcrestart();
789 /* If TCRestart indicates a WAIT instruction, advance the PC */
790 if ((tcrestart & 0x80000000)
791 && ((*(unsigned int *)tcrestart & 0xfe00003f) == 0x42000020)) {
792 tcrestart += 4;
793 }
794 /*
795 * Save on TC's future kernel stack
796 *
797 * CU bit of Status is indicator that TC was
798 * already running on a kernel stack...
799 */
800 if(tcstatus & ST0_CU0) {
801 /* Note that this "- 1" is pointer arithmetic */
802 kstack = ((struct pt_regs *)read_tc_gpr_sp()) - 1;
803 } else {
804 kstack = ((struct pt_regs *)kernelsp[cpu]) - 1;
805 }
806
807 kstack->cp0_epc = (long)tcrestart;
808 /* Save TCStatus */
809 kstack->cp0_tcstatus = tcstatus;
810 /* Pass token of operation to be performed kernel stack pad area */
811 kstack->pad0[4] = (unsigned long)pipi;
812 /* Pass address of function to be called likewise */
813 kstack->pad0[5] = (unsigned long)&ipi_decode;
814 /* Set interrupt exempt and kernel mode */
815 tcstatus |= TCSTATUS_IXMT;
816 tcstatus &= ~TCSTATUS_TKSU;
817 write_tc_c0_tcstatus(tcstatus);
818 ehb();
819 /* Set TC Restart address to be SMTC IPI vector */
820 write_tc_c0_tcrestart(__smtc_ipi_vector);
821}
822
823void ipi_resched_interrupt(struct pt_regs *regs)
824{
825 /* Return from interrupt should be enough to cause scheduler check */
826}
827
828
829void ipi_call_interrupt(struct pt_regs *regs)
830{
831 /* Invoke generic function invocation code in smp.c */
832 smp_call_function_interrupt();
833}
834
835void ipi_decode(struct pt_regs *regs, struct smtc_ipi *pipi)
836{
837 void *arg_copy = pipi->arg;
838 int type_copy = pipi->type;
839 int dest_copy = pipi->dest;
840
841 smtc_ipi_nq(&freeIPIq, pipi);
842 switch (type_copy) {
843 case SMTC_CLOCK_TICK:
844 /* Invoke Clock "Interrupt" */
845 ipi_timer_latch[dest_copy] = 0;
846#ifdef SMTC_IDLE_HOOK_DEBUG
847 clock_hang_reported[dest_copy] = 0;
848#endif /* SMTC_IDLE_HOOK_DEBUG */
849 local_timer_interrupt(0, NULL, regs);
850 break;
851 case LINUX_SMP_IPI:
852 switch ((int)arg_copy) {
853 case SMP_RESCHEDULE_YOURSELF:
854 ipi_resched_interrupt(regs);
855 break;
856 case SMP_CALL_FUNCTION:
857 ipi_call_interrupt(regs);
858 break;
859 default:
860 printk("Impossible SMTC IPI Argument 0x%x\n",
861 (int)arg_copy);
862 break;
863 }
864 break;
865 default:
866 printk("Impossible SMTC IPI Type 0x%x\n", type_copy);
867 break;
868 }
869}
870
871void deferred_smtc_ipi(struct pt_regs *regs)
872{
873 struct smtc_ipi *pipi;
874 unsigned long flags;
875/* DEBUG */
876 int q = smp_processor_id();
877
878 /*
879 * Test is not atomic, but much faster than a dequeue,
880 * and the vast majority of invocations will have a null queue.
881 */
882 if(IPIQ[q].head != NULL) {
883 while((pipi = smtc_ipi_dq(&IPIQ[q])) != NULL) {
884 /* ipi_decode() should be called with interrupts off */
885 local_irq_save(flags);
886 ipi_decode(regs, pipi);
887 local_irq_restore(flags);
888 }
889 }
890}
891
892/*
893 * Send clock tick to all TCs except the one executing the funtion
894 */
895
896void smtc_timer_broadcast(int vpe)
897{
898 int cpu;
899 int myTC = cpu_data[smp_processor_id()].tc_id;
900 int myVPE = cpu_data[smp_processor_id()].vpe_id;
901
902 smtc_cpu_stats[smp_processor_id()].timerints++;
903
904 for_each_online_cpu(cpu) {
905 if (cpu_data[cpu].vpe_id == myVPE &&
906 cpu_data[cpu].tc_id != myTC)
907 smtc_send_ipi(cpu, SMTC_CLOCK_TICK, 0);
908 }
909}
910
911/*
912 * Cross-VPE interrupts in the SMTC prototype use "software interrupts"
913 * set via cross-VPE MTTR manipulation of the Cause register. It would be
914 * in some regards preferable to have external logic for "doorbell" hardware
915 * interrupts.
916 */
917
918static int cpu_ipi_irq = MIPSCPU_INT_BASE + MIPS_CPU_IPI_IRQ;
919
920static irqreturn_t ipi_interrupt(int irq, void *dev_idm, struct pt_regs *regs)
921{
922 int my_vpe = cpu_data[smp_processor_id()].vpe_id;
923 int my_tc = cpu_data[smp_processor_id()].tc_id;
924 int cpu;
925 struct smtc_ipi *pipi;
926 unsigned long tcstatus;
927 int sent;
928 long flags;
929 unsigned int mtflags;
930 unsigned int vpflags;
931
932 /*
933 * So long as cross-VPE interrupts are done via
934 * MFTR/MTTR read-modify-writes of Cause, we need
935 * to stop other VPEs whenever the local VPE does
936 * anything similar.
937 */
938 local_irq_save(flags);
939 vpflags = dvpe();
940 clear_c0_cause(0x100 << MIPS_CPU_IPI_IRQ);
941 set_c0_status(0x100 << MIPS_CPU_IPI_IRQ);
942 irq_enable_hazard();
943 evpe(vpflags);
944 local_irq_restore(flags);
945
946 /*
947 * Cross-VPE Interrupt handler: Try to directly deliver IPIs
948 * queued for TCs on this VPE other than the current one.
949 * Return-from-interrupt should cause us to drain the queue
950 * for the current TC, so we ought not to have to do it explicitly here.
951 */
952
953 for_each_online_cpu(cpu) {
954 if (cpu_data[cpu].vpe_id != my_vpe)
955 continue;
956
957 pipi = smtc_ipi_dq(&IPIQ[cpu]);
958 if (pipi != NULL) {
959 if (cpu_data[cpu].tc_id != my_tc) {
960 sent = 0;
961 LOCK_MT_PRA();
962 settc(cpu_data[cpu].tc_id);
963 write_tc_c0_tchalt(TCHALT_H);
964 mips_ihb();
965 tcstatus = read_tc_c0_tcstatus();
966 if ((tcstatus & TCSTATUS_IXMT) == 0) {
967 post_direct_ipi(cpu, pipi);
968 sent = 1;
969 }
970 write_tc_c0_tchalt(0);
971 UNLOCK_MT_PRA();
972 if (!sent) {
973 smtc_ipi_req(&IPIQ[cpu], pipi);
974 }
975 } else {
976 /*
977 * ipi_decode() should be called
978 * with interrupts off
979 */
980 local_irq_save(flags);
981 ipi_decode(regs, pipi);
982 local_irq_restore(flags);
983 }
984 }
985 }
986
987 return IRQ_HANDLED;
988}
989
990static void ipi_irq_dispatch(struct pt_regs *regs)
991{
992 do_IRQ(cpu_ipi_irq, regs);
993}
994
995static struct irqaction irq_ipi;
996
997void setup_cross_vpe_interrupts(void)
998{
999 if (!cpu_has_vint)
1000 panic("SMTC Kernel requires Vectored Interupt support");
1001
1002 set_vi_handler(MIPS_CPU_IPI_IRQ, ipi_irq_dispatch);
1003
1004 irq_ipi.handler = ipi_interrupt;
1005 irq_ipi.flags = SA_INTERRUPT;
1006 irq_ipi.name = "SMTC_IPI";
1007
1008 setup_irq_smtc(cpu_ipi_irq, &irq_ipi, (0x100 << MIPS_CPU_IPI_IRQ));
1009
1010 irq_desc[cpu_ipi_irq].status |= IRQ_PER_CPU;
1011}
1012
1013/*
1014 * SMTC-specific hacks invoked from elsewhere in the kernel.
1015 */
1016
1017void smtc_idle_loop_hook(void)
1018{
1019#ifdef SMTC_IDLE_HOOK_DEBUG
1020 int im;
1021 int flags;
1022 int mtflags;
1023 int bit;
1024 int vpe;
1025 int tc;
1026 int hook_ntcs;
1027 /*
1028 * printk within DMT-protected regions can deadlock,
1029 * so buffer diagnostic messages for later output.
1030 */
1031 char *pdb_msg;
1032 char id_ho_db_msg[768]; /* worst-case use should be less than 700 */
1033
1034 if (atomic_read(&idle_hook_initialized) == 0) { /* fast test */
1035 if (atomic_add_return(1, &idle_hook_initialized) == 1) {
1036 int mvpconf0;
1037 /* Tedious stuff to just do once */
1038 mvpconf0 = read_c0_mvpconf0();
1039 hook_ntcs = ((mvpconf0 & MVPCONF0_PTC) >> MVPCONF0_PTC_SHIFT) + 1;
1040 if (hook_ntcs > NR_CPUS)
1041 hook_ntcs = NR_CPUS;
1042 for (tc = 0; tc < hook_ntcs; tc++) {
1043 tcnoprog[tc] = 0;
1044 clock_hang_reported[tc] = 0;
1045 }
1046 for (vpe = 0; vpe < 2; vpe++)
1047 for (im = 0; im < 8; im++)
1048 imstuckcount[vpe][im] = 0;
1049 printk("Idle loop test hook initialized for %d TCs\n", hook_ntcs);
1050 atomic_set(&idle_hook_initialized, 1000);
1051 } else {
1052 /* Someone else is initializing in parallel - let 'em finish */
1053 while (atomic_read(&idle_hook_initialized) < 1000)
1054 ;
1055 }
1056 }
1057
1058 /* Have we stupidly left IXMT set somewhere? */
1059 if (read_c0_tcstatus() & 0x400) {
1060 write_c0_tcstatus(read_c0_tcstatus() & ~0x400);
1061 ehb();
1062 printk("Dangling IXMT in cpu_idle()\n");
1063 }
1064
1065 /* Have we stupidly left an IM bit turned off? */
1066#define IM_LIMIT 2000
1067 local_irq_save(flags);
1068 mtflags = dmt();
1069 pdb_msg = &id_ho_db_msg[0];
1070 im = read_c0_status();
1071 vpe = cpu_data[smp_processor_id()].vpe_id;
1072 for (bit = 0; bit < 8; bit++) {
1073 /*
1074 * In current prototype, I/O interrupts
1075 * are masked for VPE > 0
1076 */
1077 if (vpemask[vpe][bit]) {
1078 if (!(im & (0x100 << bit)))
1079 imstuckcount[vpe][bit]++;
1080 else
1081 imstuckcount[vpe][bit] = 0;
1082 if (imstuckcount[vpe][bit] > IM_LIMIT) {
1083 set_c0_status(0x100 << bit);
1084 ehb();
1085 imstuckcount[vpe][bit] = 0;
1086 pdb_msg += sprintf(pdb_msg,
1087 "Dangling IM %d fixed for VPE %d\n", bit,
1088 vpe);
1089 }
1090 }
1091 }
1092
1093 /*
1094 * Now that we limit outstanding timer IPIs, check for hung TC
1095 */
1096 for (tc = 0; tc < NR_CPUS; tc++) {
1097 /* Don't check ourself - we'll dequeue IPIs just below */
1098 if ((tc != smp_processor_id()) &&
1099 ipi_timer_latch[tc] > timerq_limit) {
1100 if (clock_hang_reported[tc] == 0) {
1101 pdb_msg += sprintf(pdb_msg,
1102 "TC %d looks hung with timer latch at %d\n",
1103 tc, ipi_timer_latch[tc]);
1104 clock_hang_reported[tc]++;
1105 }
1106 }
1107 }
1108 emt(mtflags);
1109 local_irq_restore(flags);
1110 if (pdb_msg != &id_ho_db_msg[0])
1111 printk("CPU%d: %s", smp_processor_id(), id_ho_db_msg);
1112#endif /* SMTC_IDLE_HOOK_DEBUG */
1113 /*
1114 * To the extent that we've ever turned interrupts off,
1115 * we may have accumulated deferred IPIs. This is subtle.
1116 * If we use the smtc_ipi_qdepth() macro, we'll get an
1117 * exact number - but we'll also disable interrupts
1118 * and create a window of failure where a new IPI gets
1119 * queued after we test the depth but before we re-enable
1120 * interrupts. So long as IXMT never gets set, however,
1121 * we should be OK: If we pick up something and dispatch
1122 * it here, that's great. If we see nothing, but concurrent
1123 * with this operation, another TC sends us an IPI, IXMT
1124 * is clear, and we'll handle it as a real pseudo-interrupt
1125 * and not a pseudo-pseudo interrupt.
1126 */
1127 if (IPIQ[smp_processor_id()].depth > 0) {
1128 struct smtc_ipi *pipi;
1129 extern void self_ipi(struct smtc_ipi *);
1130
1131 if ((pipi = smtc_ipi_dq(&IPIQ[smp_processor_id()])) != NULL) {
1132 self_ipi(pipi);
1133 smtc_cpu_stats[smp_processor_id()].selfipis++;
1134 }
1135 }
1136}
1137
1138void smtc_soft_dump(void)
1139{
1140 int i;
1141
1142 printk("Counter Interrupts taken per CPU (TC)\n");
1143 for (i=0; i < NR_CPUS; i++) {
1144 printk("%d: %ld\n", i, smtc_cpu_stats[i].timerints);
1145 }
1146 printk("Self-IPI invocations:\n");
1147 for (i=0; i < NR_CPUS; i++) {
1148 printk("%d: %ld\n", i, smtc_cpu_stats[i].selfipis);
1149 }
1150 smtc_ipi_qdump();
1151 printk("Timer IPI Backlogs:\n");
1152 for (i=0; i < NR_CPUS; i++) {
1153 printk("%d: %d\n", i, ipi_timer_latch[i]);
1154 }
1155 printk("%d Recoveries of \"stolen\" FPU\n",
1156 atomic_read(&smtc_fpu_recoveries));
1157}
1158
1159
1160/*
1161 * TLB management routines special to SMTC
1162 */
1163
1164void smtc_get_new_mmu_context(struct mm_struct *mm, unsigned long cpu)
1165{
1166 unsigned long flags, mtflags, tcstat, prevhalt, asid;
1167 int tlb, i;
1168
1169 /*
1170 * It would be nice to be able to use a spinlock here,
1171 * but this is invoked from within TLB flush routines
1172 * that protect themselves with DVPE, so if a lock is
1173 * held by another TC, it'll never be freed.
1174 *
1175 * DVPE/DMT must not be done with interrupts enabled,
1176 * so even so most callers will already have disabled
1177 * them, let's be really careful...
1178 */
1179
1180 local_irq_save(flags);
1181 if (smtc_status & SMTC_TLB_SHARED) {
1182 mtflags = dvpe();
1183 tlb = 0;
1184 } else {
1185 mtflags = dmt();
1186 tlb = cpu_data[cpu].vpe_id;
1187 }
1188 asid = asid_cache(cpu);
1189
1190 do {
1191 if (!((asid += ASID_INC) & ASID_MASK) ) {
1192 if (cpu_has_vtag_icache)
1193 flush_icache_all();
1194 /* Traverse all online CPUs (hack requires contigous range) */
1195 for (i = 0; i < num_online_cpus(); i++) {
1196 /*
1197 * We don't need to worry about our own CPU, nor those of
1198 * CPUs who don't share our TLB.
1199 */
1200 if ((i != smp_processor_id()) &&
1201 ((smtc_status & SMTC_TLB_SHARED) ||
1202 (cpu_data[i].vpe_id == cpu_data[cpu].vpe_id))) {
1203 settc(cpu_data[i].tc_id);
1204 prevhalt = read_tc_c0_tchalt() & TCHALT_H;
1205 if (!prevhalt) {
1206 write_tc_c0_tchalt(TCHALT_H);
1207 mips_ihb();
1208 }
1209 tcstat = read_tc_c0_tcstatus();
1210 smtc_live_asid[tlb][(tcstat & ASID_MASK)] |= (asiduse)(0x1 << i);
1211 if (!prevhalt)
1212 write_tc_c0_tchalt(0);
1213 }
1214 }
1215 if (!asid) /* fix version if needed */
1216 asid = ASID_FIRST_VERSION;
1217 local_flush_tlb_all(); /* start new asid cycle */
1218 }
1219 } while (smtc_live_asid[tlb][(asid & ASID_MASK)]);
1220
1221 /*
1222 * SMTC shares the TLB within VPEs and possibly across all VPEs.
1223 */
1224 for (i = 0; i < num_online_cpus(); i++) {
1225 if ((smtc_status & SMTC_TLB_SHARED) ||
1226 (cpu_data[i].vpe_id == cpu_data[cpu].vpe_id))
1227 cpu_context(i, mm) = asid_cache(i) = asid;
1228 }
1229
1230 if (smtc_status & SMTC_TLB_SHARED)
1231 evpe(mtflags);
1232 else
1233 emt(mtflags);
1234 local_irq_restore(flags);
1235}
1236
1237/*
1238 * Invoked from macros defined in mmu_context.h
1239 * which must already have disabled interrupts
1240 * and done a DVPE or DMT as appropriate.
1241 */
1242
1243void smtc_flush_tlb_asid(unsigned long asid)
1244{
1245 int entry;
1246 unsigned long ehi;
1247
1248 entry = read_c0_wired();
1249
1250 /* Traverse all non-wired entries */
1251 while (entry < current_cpu_data.tlbsize) {
1252 write_c0_index(entry);
1253 ehb();
1254 tlb_read();
1255 ehb();
1256 ehi = read_c0_entryhi();
1257 if((ehi & ASID_MASK) == asid) {
1258 /*
1259 * Invalidate only entries with specified ASID,
1260 * makiing sure all entries differ.
1261 */
1262 write_c0_entryhi(CKSEG0 + (entry << (PAGE_SHIFT + 1)));
1263 write_c0_entrylo0(0);
1264 write_c0_entrylo1(0);
1265 mtc0_tlbw_hazard();
1266 tlb_write_indexed();
1267 }
1268 entry++;
1269 }
1270 write_c0_index(PARKED_INDEX);
1271 tlbw_use_hazard();
1272}
1273
1274/*
1275 * Support for single-threading cache flush operations.
1276 */
1277
1278int halt_state_save[NR_CPUS];
1279
1280/*
1281 * To really, really be sure that nothing is being done
1282 * by other TCs, halt them all. This code assumes that
1283 * a DVPE has already been done, so while their Halted
1284 * state is theoretically architecturally unstable, in
1285 * practice, it's not going to change while we're looking
1286 * at it.
1287 */
1288
1289void smtc_cflush_lockdown(void)
1290{
1291 int cpu;
1292
1293 for_each_online_cpu(cpu) {
1294 if (cpu != smp_processor_id()) {
1295 settc(cpu_data[cpu].tc_id);
1296 halt_state_save[cpu] = read_tc_c0_tchalt();
1297 write_tc_c0_tchalt(TCHALT_H);
1298 }
1299 }
1300 mips_ihb();
1301}
1302
1303/* It would be cheating to change the cpu_online states during a flush! */
1304
1305void smtc_cflush_release(void)
1306{
1307 int cpu;
1308
1309 /*
1310 * Start with a hazard barrier to ensure
1311 * that all CACHE ops have played through.
1312 */
1313 mips_ihb();
1314
1315 for_each_online_cpu(cpu) {
1316 if (cpu != smp_processor_id()) {
1317 settc(cpu_data[cpu].tc_id);
1318 write_tc_c0_tchalt(halt_state_save[cpu]);
1319 }
1320 }
1321 mips_ihb();
1322}
diff --git a/arch/mips/kernel/syscall.c b/arch/mips/kernel/syscall.c
index 2aeaa2fd4b32..5e8a18a8e2bd 100644
--- a/arch/mips/kernel/syscall.c
+++ b/arch/mips/kernel/syscall.c
@@ -276,31 +276,9 @@ void sys_set_thread_area(unsigned long addr)
276 276
277asmlinkage int _sys_sysmips(int cmd, long arg1, int arg2, int arg3) 277asmlinkage int _sys_sysmips(int cmd, long arg1, int arg2, int arg3)
278{ 278{
279 int tmp, len; 279 int tmp;
280 char __user *name;
281 280
282 switch(cmd) { 281 switch(cmd) {
283 case SETNAME: {
284 char nodename[__NEW_UTS_LEN + 1];
285
286 if (!capable(CAP_SYS_ADMIN))
287 return -EPERM;
288
289 name = (char __user *) arg1;
290
291 len = strncpy_from_user(nodename, name, __NEW_UTS_LEN);
292 if (len < 0)
293 return -EFAULT;
294
295 down_write(&uts_sem);
296 strncpy(system_utsname.nodename, nodename, len);
297 nodename[__NEW_UTS_LEN] = '\0';
298 strlcpy(system_utsname.nodename, nodename,
299 sizeof(system_utsname.nodename));
300 up_write(&uts_sem);
301 return 0;
302 }
303
304 case MIPS_ATOMIC_SET: 282 case MIPS_ATOMIC_SET:
305 printk(KERN_CRIT "How did I get here?\n"); 283 printk(KERN_CRIT "How did I get here?\n");
306 return -EINVAL; 284 return -EINVAL;
@@ -313,9 +291,6 @@ asmlinkage int _sys_sysmips(int cmd, long arg1, int arg2, int arg3)
313 case FLUSH_CACHE: 291 case FLUSH_CACHE:
314 __flush_cache_all(); 292 __flush_cache_all();
315 return 0; 293 return 0;
316
317 case MIPS_RDNVRAM:
318 return -EIO;
319 } 294 }
320 295
321 return -EINVAL; 296 return -EINVAL;
diff --git a/arch/mips/kernel/time.c b/arch/mips/kernel/time.c
index 5e51a2d8f3f0..13ff4da598cd 100644
--- a/arch/mips/kernel/time.c
+++ b/arch/mips/kernel/time.c
@@ -116,8 +116,7 @@ static void c0_timer_ack(void)
116 write_c0_compare(expirelo); 116 write_c0_compare(expirelo);
117 117
118 /* Check to see if we have missed any timer interrupts. */ 118 /* Check to see if we have missed any timer interrupts. */
119 count = read_c0_count(); 119 while (((count = read_c0_count()) - expirelo) < 0x7fffffff) {
120 if ((count - expirelo) < 0x7fffffff) {
121 /* missed_timer_count++; */ 120 /* missed_timer_count++; */
122 expirelo = count + cycles_per_jiffy; 121 expirelo = count + cycles_per_jiffy;
123 write_c0_compare(expirelo); 122 write_c0_compare(expirelo);
diff --git a/arch/mips/kernel/traps.c b/arch/mips/kernel/traps.c
index bed0eb6cf55d..a7564b08eb4d 100644
--- a/arch/mips/kernel/traps.c
+++ b/arch/mips/kernel/traps.c
@@ -42,6 +42,7 @@
42#include <asm/watch.h> 42#include <asm/watch.h>
43#include <asm/types.h> 43#include <asm/types.h>
44 44
45extern asmlinkage void handle_int(void);
45extern asmlinkage void handle_tlbm(void); 46extern asmlinkage void handle_tlbm(void);
46extern asmlinkage void handle_tlbl(void); 47extern asmlinkage void handle_tlbl(void);
47extern asmlinkage void handle_tlbs(void); 48extern asmlinkage void handle_tlbs(void);
@@ -279,9 +280,16 @@ static DEFINE_SPINLOCK(die_lock);
279NORET_TYPE void ATTRIB_NORET die(const char * str, struct pt_regs * regs) 280NORET_TYPE void ATTRIB_NORET die(const char * str, struct pt_regs * regs)
280{ 281{
281 static int die_counter; 282 static int die_counter;
283#ifdef CONFIG_MIPS_MT_SMTC
284 unsigned long dvpret = dvpe();
285#endif /* CONFIG_MIPS_MT_SMTC */
282 286
283 console_verbose(); 287 console_verbose();
284 spin_lock_irq(&die_lock); 288 spin_lock_irq(&die_lock);
289 bust_spinlocks(1);
290#ifdef CONFIG_MIPS_MT_SMTC
291 mips_mt_regdump(dvpret);
292#endif /* CONFIG_MIPS_MT_SMTC */
285 printk("%s[#%d]:\n", str, ++die_counter); 293 printk("%s[#%d]:\n", str, ++die_counter);
286 show_registers(regs); 294 show_registers(regs);
287 spin_unlock_irq(&die_lock); 295 spin_unlock_irq(&die_lock);
@@ -750,12 +758,43 @@ asmlinkage void do_cpu(struct pt_regs *regs)
750 &current->thread.fpu.soft); 758 &current->thread.fpu.soft);
751 if (sig) 759 if (sig)
752 force_sig(sig, current); 760 force_sig(sig, current);
761#ifdef CONFIG_MIPS_MT_FPAFF
762 else {
763 /*
764 * MIPS MT processors may have fewer FPU contexts
765 * than CPU threads. If we've emulated more than
766 * some threshold number of instructions, force
767 * migration to a "CPU" that has FP support.
768 */
769 if(mt_fpemul_threshold > 0
770 && ((current->thread.emulated_fp++
771 > mt_fpemul_threshold))) {
772 /*
773 * If there's no FPU present, or if the
774 * application has already restricted
775 * the allowed set to exclude any CPUs
776 * with FPUs, we'll skip the procedure.
777 */
778 if (cpus_intersects(current->cpus_allowed,
779 mt_fpu_cpumask)) {
780 cpumask_t tmask;
781
782 cpus_and(tmask,
783 current->thread.user_cpus_allowed,
784 mt_fpu_cpumask);
785 set_cpus_allowed(current, tmask);
786 current->thread.mflags |= MF_FPUBOUND;
787 }
788 }
789 }
790#endif /* CONFIG_MIPS_MT_FPAFF */
753 } 791 }
754 792
755 return; 793 return;
756 794
757 case 2: 795 case 2:
758 case 3: 796 case 3:
797 die_if_kernel("do_cpu invoked from kernel context!", regs);
759 break; 798 break;
760 } 799 }
761 800
@@ -780,19 +819,64 @@ asmlinkage void do_watch(struct pt_regs *regs)
780 819
781asmlinkage void do_mcheck(struct pt_regs *regs) 820asmlinkage void do_mcheck(struct pt_regs *regs)
782{ 821{
822 const int field = 2 * sizeof(unsigned long);
823 int multi_match = regs->cp0_status & ST0_TS;
824
783 show_regs(regs); 825 show_regs(regs);
784 dump_tlb_all(); 826
827 if (multi_match) {
828 printk("Index : %0x\n", read_c0_index());
829 printk("Pagemask: %0x\n", read_c0_pagemask());
830 printk("EntryHi : %0*lx\n", field, read_c0_entryhi());
831 printk("EntryLo0: %0*lx\n", field, read_c0_entrylo0());
832 printk("EntryLo1: %0*lx\n", field, read_c0_entrylo1());
833 printk("\n");
834 dump_tlb_all();
835 }
836
837 show_code((unsigned int *) regs->cp0_epc);
838
785 /* 839 /*
786 * Some chips may have other causes of machine check (e.g. SB1 840 * Some chips may have other causes of machine check (e.g. SB1
787 * graduation timer) 841 * graduation timer)
788 */ 842 */
789 panic("Caught Machine Check exception - %scaused by multiple " 843 panic("Caught Machine Check exception - %scaused by multiple "
790 "matching entries in the TLB.", 844 "matching entries in the TLB.",
791 (regs->cp0_status & ST0_TS) ? "" : "not "); 845 (multi_match) ? "" : "not ");
792} 846}
793 847
794asmlinkage void do_mt(struct pt_regs *regs) 848asmlinkage void do_mt(struct pt_regs *regs)
795{ 849{
850 int subcode;
851
852 die_if_kernel("MIPS MT Thread exception in kernel", regs);
853
854 subcode = (read_vpe_c0_vpecontrol() & VPECONTROL_EXCPT)
855 >> VPECONTROL_EXCPT_SHIFT;
856 switch (subcode) {
857 case 0:
858 printk(KERN_ERR "Thread Underflow\n");
859 break;
860 case 1:
861 printk(KERN_ERR "Thread Overflow\n");
862 break;
863 case 2:
864 printk(KERN_ERR "Invalid YIELD Qualifier\n");
865 break;
866 case 3:
867 printk(KERN_ERR "Gating Storage Exception\n");
868 break;
869 case 4:
870 printk(KERN_ERR "YIELD Scheduler Exception\n");
871 break;
872 case 5:
873 printk(KERN_ERR "Gating Storage Schedulier Exception\n");
874 break;
875 default:
876 printk(KERN_ERR "*** UNKNOWN THREAD EXCEPTION %d ***\n",
877 subcode);
878 break;
879 }
796 die_if_kernel("MIPS MT Thread exception in kernel", regs); 880 die_if_kernel("MIPS MT Thread exception in kernel", regs);
797 881
798 force_sig(SIGILL, current); 882 force_sig(SIGILL, current);
@@ -833,6 +917,7 @@ static inline void parity_protection_init(void)
833{ 917{
834 switch (current_cpu_data.cputype) { 918 switch (current_cpu_data.cputype) {
835 case CPU_24K: 919 case CPU_24K:
920 case CPU_34K:
836 case CPU_5KC: 921 case CPU_5KC:
837 write_c0_ecc(0x80000000); 922 write_c0_ecc(0x80000000);
838 back_to_back_c0_hazard(); 923 back_to_back_c0_hazard();
@@ -928,7 +1013,15 @@ void ejtag_exception_handler(struct pt_regs *regs)
928 */ 1013 */
929void nmi_exception_handler(struct pt_regs *regs) 1014void nmi_exception_handler(struct pt_regs *regs)
930{ 1015{
1016#ifdef CONFIG_MIPS_MT_SMTC
1017 unsigned long dvpret = dvpe();
1018 bust_spinlocks(1);
931 printk("NMI taken!!!!\n"); 1019 printk("NMI taken!!!!\n");
1020 mips_mt_regdump(dvpret);
1021#else
1022 bust_spinlocks(1);
1023 printk("NMI taken!!!!\n");
1024#endif /* CONFIG_MIPS_MT_SMTC */
932 die("NMI", regs); 1025 die("NMI", regs);
933 while(1) ; 1026 while(1) ;
934} 1027}
@@ -960,27 +1053,29 @@ void *set_except_vector(int n, void *addr)
960 1053
961#ifdef CONFIG_CPU_MIPSR2 1054#ifdef CONFIG_CPU_MIPSR2
962/* 1055/*
963 * Shadow register allocation 1056 * MIPSR2 shadow register set allocation
964 * FIXME: SMP... 1057 * FIXME: SMP...
965 */ 1058 */
966 1059
967/* MIPSR2 shadow register sets */ 1060static struct shadow_registers {
968struct shadow_registers { 1061 /*
969 spinlock_t sr_lock; /* */ 1062 * Number of shadow register sets supported
970 int sr_supported; /* Number of shadow register sets supported */ 1063 */
971 int sr_allocated; /* Bitmap of allocated shadow registers */ 1064 unsigned long sr_supported;
1065 /*
1066 * Bitmap of allocated shadow registers
1067 */
1068 unsigned long sr_allocated;
972} shadow_registers; 1069} shadow_registers;
973 1070
974void mips_srs_init(void) 1071static void mips_srs_init(void)
975{ 1072{
976#ifdef CONFIG_CPU_MIPSR2_SRS 1073#ifdef CONFIG_CPU_MIPSR2_SRS
977 shadow_registers.sr_supported = ((read_c0_srsctl() >> 26) & 0x0f) + 1; 1074 shadow_registers.sr_supported = ((read_c0_srsctl() >> 26) & 0x0f) + 1;
978 printk ("%d MIPSR2 register sets available\n", shadow_registers.sr_supported); 1075 printk(KERN_INFO "%d MIPSR2 register sets available\n",
979#else 1076 shadow_registers.sr_supported);
980 shadow_registers.sr_supported = 1;
981#endif 1077#endif
982 shadow_registers.sr_allocated = 1; /* Set 0 used by kernel */ 1078 shadow_registers.sr_allocated = 1; /* Set 0 used by kernel */
983 spin_lock_init(&shadow_registers.sr_lock);
984} 1079}
985 1080
986int mips_srs_max(void) 1081int mips_srs_max(void)
@@ -988,38 +1083,30 @@ int mips_srs_max(void)
988 return shadow_registers.sr_supported; 1083 return shadow_registers.sr_supported;
989} 1084}
990 1085
991int mips_srs_alloc (void) 1086int mips_srs_alloc(void)
992{ 1087{
993 struct shadow_registers *sr = &shadow_registers; 1088 struct shadow_registers *sr = &shadow_registers;
994 unsigned long flags;
995 int set; 1089 int set;
996 1090
997 spin_lock_irqsave(&sr->sr_lock, flags); 1091again:
1092 set = find_first_zero_bit(&sr->sr_allocated, sr->sr_supported);
1093 if (set >= sr->sr_supported)
1094 return -1;
998 1095
999 for (set = 0; set < sr->sr_supported; set++) { 1096 if (test_and_set_bit(set, &sr->sr_allocated))
1000 if ((sr->sr_allocated & (1 << set)) == 0) { 1097 goto again;
1001 sr->sr_allocated |= 1 << set;
1002 spin_unlock_irqrestore(&sr->sr_lock, flags);
1003 return set;
1004 }
1005 }
1006 1098
1007 /* None available */ 1099 return set;
1008 spin_unlock_irqrestore(&sr->sr_lock, flags);
1009 return -1;
1010} 1100}
1011 1101
1012void mips_srs_free (int set) 1102void mips_srs_free(int set)
1013{ 1103{
1014 struct shadow_registers *sr = &shadow_registers; 1104 struct shadow_registers *sr = &shadow_registers;
1015 unsigned long flags;
1016 1105
1017 spin_lock_irqsave(&sr->sr_lock, flags); 1106 clear_bit(set, &sr->sr_allocated);
1018 sr->sr_allocated &= ~(1 << set);
1019 spin_unlock_irqrestore(&sr->sr_lock, flags);
1020} 1107}
1021 1108
1022void *set_vi_srs_handler (int n, void *addr, int srs) 1109static void *set_vi_srs_handler(int n, void *addr, int srs)
1023{ 1110{
1024 unsigned long handler; 1111 unsigned long handler;
1025 unsigned long old_handler = vi_handlers[n]; 1112 unsigned long old_handler = vi_handlers[n];
@@ -1032,8 +1119,7 @@ void *set_vi_srs_handler (int n, void *addr, int srs)
1032 if (addr == NULL) { 1119 if (addr == NULL) {
1033 handler = (unsigned long) do_default_vi; 1120 handler = (unsigned long) do_default_vi;
1034 srs = 0; 1121 srs = 0;
1035 } 1122 } else
1036 else
1037 handler = (unsigned long) addr; 1123 handler = (unsigned long) addr;
1038 vi_handlers[n] = (unsigned long) addr; 1124 vi_handlers[n] = (unsigned long) addr;
1039 1125
@@ -1045,8 +1131,7 @@ void *set_vi_srs_handler (int n, void *addr, int srs)
1045 if (cpu_has_veic) { 1131 if (cpu_has_veic) {
1046 if (board_bind_eic_interrupt) 1132 if (board_bind_eic_interrupt)
1047 board_bind_eic_interrupt (n, srs); 1133 board_bind_eic_interrupt (n, srs);
1048 } 1134 } else if (cpu_has_vint) {
1049 else if (cpu_has_vint) {
1050 /* SRSMap is only defined if shadow sets are implemented */ 1135 /* SRSMap is only defined if shadow sets are implemented */
1051 if (mips_srs_max() > 1) 1136 if (mips_srs_max() > 1)
1052 change_c0_srsmap (0xf << n*4, srs << n*4); 1137 change_c0_srsmap (0xf << n*4, srs << n*4);
@@ -1060,6 +1145,15 @@ void *set_vi_srs_handler (int n, void *addr, int srs)
1060 1145
1061 extern char except_vec_vi, except_vec_vi_lui; 1146 extern char except_vec_vi, except_vec_vi_lui;
1062 extern char except_vec_vi_ori, except_vec_vi_end; 1147 extern char except_vec_vi_ori, except_vec_vi_end;
1148#ifdef CONFIG_MIPS_MT_SMTC
1149 /*
1150 * We need to provide the SMTC vectored interrupt handler
1151 * not only with the address of the handler, but with the
1152 * Status.IM bit to be masked before going there.
1153 */
1154 extern char except_vec_vi_mori;
1155 const int mori_offset = &except_vec_vi_mori - &except_vec_vi;
1156#endif /* CONFIG_MIPS_MT_SMTC */
1063 const int handler_len = &except_vec_vi_end - &except_vec_vi; 1157 const int handler_len = &except_vec_vi_end - &except_vec_vi;
1064 const int lui_offset = &except_vec_vi_lui - &except_vec_vi; 1158 const int lui_offset = &except_vec_vi_lui - &except_vec_vi;
1065 const int ori_offset = &except_vec_vi_ori - &except_vec_vi; 1159 const int ori_offset = &except_vec_vi_ori - &except_vec_vi;
@@ -1073,6 +1167,12 @@ void *set_vi_srs_handler (int n, void *addr, int srs)
1073 } 1167 }
1074 1168
1075 memcpy (b, &except_vec_vi, handler_len); 1169 memcpy (b, &except_vec_vi, handler_len);
1170#ifdef CONFIG_MIPS_MT_SMTC
1171 if (n > 7)
1172 printk("Vector index %d exceeds SMTC maximum\n", n);
1173 w = (u32 *)(b + mori_offset);
1174 *w = (*w & 0xffff0000) | (0x100 << n);
1175#endif /* CONFIG_MIPS_MT_SMTC */
1076 w = (u32 *)(b + lui_offset); 1176 w = (u32 *)(b + lui_offset);
1077 *w = (*w & 0xffff0000) | (((u32)handler >> 16) & 0xffff); 1177 *w = (*w & 0xffff0000) | (((u32)handler >> 16) & 0xffff);
1078 w = (u32 *)(b + ori_offset); 1178 w = (u32 *)(b + ori_offset);
@@ -1095,9 +1195,9 @@ void *set_vi_srs_handler (int n, void *addr, int srs)
1095 return (void *)old_handler; 1195 return (void *)old_handler;
1096} 1196}
1097 1197
1098void *set_vi_handler (int n, void *addr) 1198void *set_vi_handler(int n, void *addr)
1099{ 1199{
1100 return set_vi_srs_handler (n, addr, 0); 1200 return set_vi_srs_handler(n, addr, 0);
1101} 1201}
1102#endif 1202#endif
1103 1203
@@ -1113,8 +1213,29 @@ extern asmlinkage int _restore_fp_context(struct sigcontext *sc);
1113extern asmlinkage int fpu_emulator_save_context(struct sigcontext *sc); 1213extern asmlinkage int fpu_emulator_save_context(struct sigcontext *sc);
1114extern asmlinkage int fpu_emulator_restore_context(struct sigcontext *sc); 1214extern asmlinkage int fpu_emulator_restore_context(struct sigcontext *sc);
1115 1215
1216#ifdef CONFIG_SMP
1217static int smp_save_fp_context(struct sigcontext *sc)
1218{
1219 return cpu_has_fpu
1220 ? _save_fp_context(sc)
1221 : fpu_emulator_save_context(sc);
1222}
1223
1224static int smp_restore_fp_context(struct sigcontext *sc)
1225{
1226 return cpu_has_fpu
1227 ? _restore_fp_context(sc)
1228 : fpu_emulator_restore_context(sc);
1229}
1230#endif
1231
1116static inline void signal_init(void) 1232static inline void signal_init(void)
1117{ 1233{
1234#ifdef CONFIG_SMP
1235 /* For now just do the cpu_has_fpu check when the functions are invoked */
1236 save_fp_context = smp_save_fp_context;
1237 restore_fp_context = smp_restore_fp_context;
1238#else
1118 if (cpu_has_fpu) { 1239 if (cpu_has_fpu) {
1119 save_fp_context = _save_fp_context; 1240 save_fp_context = _save_fp_context;
1120 restore_fp_context = _restore_fp_context; 1241 restore_fp_context = _restore_fp_context;
@@ -1122,6 +1243,7 @@ static inline void signal_init(void)
1122 save_fp_context = fpu_emulator_save_context; 1243 save_fp_context = fpu_emulator_save_context;
1123 restore_fp_context = fpu_emulator_restore_context; 1244 restore_fp_context = fpu_emulator_restore_context;
1124 } 1245 }
1246#endif
1125} 1247}
1126 1248
1127#ifdef CONFIG_MIPS32_COMPAT 1249#ifdef CONFIG_MIPS32_COMPAT
@@ -1158,6 +1280,20 @@ void __init per_cpu_trap_init(void)
1158{ 1280{
1159 unsigned int cpu = smp_processor_id(); 1281 unsigned int cpu = smp_processor_id();
1160 unsigned int status_set = ST0_CU0; 1282 unsigned int status_set = ST0_CU0;
1283#ifdef CONFIG_MIPS_MT_SMTC
1284 int secondaryTC = 0;
1285 int bootTC = (cpu == 0);
1286
1287 /*
1288 * Only do per_cpu_trap_init() for first TC of Each VPE.
1289 * Note that this hack assumes that the SMTC init code
1290 * assigns TCs consecutively and in ascending order.
1291 */
1292
1293 if (((read_c0_tcbind() & TCBIND_CURTC) != 0) &&
1294 ((read_c0_tcbind() & TCBIND_CURVPE) == cpu_data[cpu - 1].vpe_id))
1295 secondaryTC = 1;
1296#endif /* CONFIG_MIPS_MT_SMTC */
1161 1297
1162 /* 1298 /*
1163 * Disable coprocessors and select 32-bit or 64-bit addressing 1299 * Disable coprocessors and select 32-bit or 64-bit addressing
@@ -1180,6 +1316,10 @@ void __init per_cpu_trap_init(void)
1180 write_c0_hwrena (0x0000000f); /* Allow rdhwr to all registers */ 1316 write_c0_hwrena (0x0000000f); /* Allow rdhwr to all registers */
1181#endif 1317#endif
1182 1318
1319#ifdef CONFIG_MIPS_MT_SMTC
1320 if (!secondaryTC) {
1321#endif /* CONFIG_MIPS_MT_SMTC */
1322
1183 /* 1323 /*
1184 * Interrupt handling. 1324 * Interrupt handling.
1185 */ 1325 */
@@ -1196,6 +1336,9 @@ void __init per_cpu_trap_init(void)
1196 } else 1336 } else
1197 set_c0_cause(CAUSEF_IV); 1337 set_c0_cause(CAUSEF_IV);
1198 } 1338 }
1339#ifdef CONFIG_MIPS_MT_SMTC
1340 }
1341#endif /* CONFIG_MIPS_MT_SMTC */
1199 1342
1200 cpu_data[cpu].asid_cache = ASID_FIRST_VERSION; 1343 cpu_data[cpu].asid_cache = ASID_FIRST_VERSION;
1201 TLBMISS_HANDLER_SETUP(); 1344 TLBMISS_HANDLER_SETUP();
@@ -1205,8 +1348,14 @@ void __init per_cpu_trap_init(void)
1205 BUG_ON(current->mm); 1348 BUG_ON(current->mm);
1206 enter_lazy_tlb(&init_mm, current); 1349 enter_lazy_tlb(&init_mm, current);
1207 1350
1208 cpu_cache_init(); 1351#ifdef CONFIG_MIPS_MT_SMTC
1209 tlb_init(); 1352 if (bootTC) {
1353#endif /* CONFIG_MIPS_MT_SMTC */
1354 cpu_cache_init();
1355 tlb_init();
1356#ifdef CONFIG_MIPS_MT_SMTC
1357 }
1358#endif /* CONFIG_MIPS_MT_SMTC */
1210} 1359}
1211 1360
1212/* Install CPU exception handler */ 1361/* Install CPU exception handler */
@@ -1278,7 +1427,7 @@ void __init trap_init(void)
1278 if (cpu_has_veic || cpu_has_vint) { 1427 if (cpu_has_veic || cpu_has_vint) {
1279 int nvec = cpu_has_veic ? 64 : 8; 1428 int nvec = cpu_has_veic ? 64 : 8;
1280 for (i = 0; i < nvec; i++) 1429 for (i = 0; i < nvec; i++)
1281 set_vi_handler (i, NULL); 1430 set_vi_handler(i, NULL);
1282 } 1431 }
1283 else if (cpu_has_divec) 1432 else if (cpu_has_divec)
1284 set_handler(0x200, &except_vec4, 0x8); 1433 set_handler(0x200, &except_vec4, 0x8);
@@ -1297,6 +1446,7 @@ void __init trap_init(void)
1297 if (board_be_init) 1446 if (board_be_init)
1298 board_be_init(); 1447 board_be_init();
1299 1448
1449 set_except_vector(0, handle_int);
1300 set_except_vector(1, handle_tlbm); 1450 set_except_vector(1, handle_tlbm);
1301 set_except_vector(2, handle_tlbl); 1451 set_except_vector(2, handle_tlbl);
1302 set_except_vector(3, handle_tlbs); 1452 set_except_vector(3, handle_tlbs);
diff --git a/arch/mips/kernel/vmlinux.lds.S b/arch/mips/kernel/vmlinux.lds.S
index 2ad0cedf29fe..b84d1f9ce28e 100644
--- a/arch/mips/kernel/vmlinux.lds.S
+++ b/arch/mips/kernel/vmlinux.lds.S
@@ -2,7 +2,7 @@
2#include <asm/asm-offsets.h> 2#include <asm/asm-offsets.h>
3#include <asm-generic/vmlinux.lds.h> 3#include <asm-generic/vmlinux.lds.h>
4 4
5#undef mips /* CPP really sucks for this job */ 5#undef mips
6#define mips mips 6#define mips mips
7OUTPUT_ARCH(mips) 7OUTPUT_ARCH(mips)
8ENTRY(kernel_entry) 8ENTRY(kernel_entry)
@@ -151,23 +151,13 @@ SECTIONS
151 151
152 /* This is the MIPS specific mdebug section. */ 152 /* This is the MIPS specific mdebug section. */
153 .mdebug : { *(.mdebug) } 153 .mdebug : { *(.mdebug) }
154 /* These are needed for ELF backends which have not yet been 154
155 converted to the new style linker. */ 155 STABS_DEBUG
156 .stab 0 : { *(.stab) } 156
157 .stabstr 0 : { *(.stabstr) } 157 DWARF_DEBUG
158 /* DWARF debug sections. 158
159 Symbols in the .debug DWARF section are relative to the beginning of the
160 section so we begin .debug at 0. It's not clear yet what needs to happen
161 for the others. */
162 .debug 0 : { *(.debug) }
163 .debug_srcinfo 0 : { *(.debug_srcinfo) }
164 .debug_aranges 0 : { *(.debug_aranges) }
165 .debug_pubnames 0 : { *(.debug_pubnames) }
166 .debug_sfnames 0 : { *(.debug_sfnames) }
167 .line 0 : { *(.line) }
168 /* These must appear regardless of . */ 159 /* These must appear regardless of . */
169 .gptab.sdata : { *(.gptab.data) *(.gptab.sdata) } 160 .gptab.sdata : { *(.gptab.data) *(.gptab.sdata) }
170 .gptab.sbss : { *(.gptab.bss) *(.gptab.sbss) } 161 .gptab.sbss : { *(.gptab.bss) *(.gptab.sbss) }
171 .comment : { *(.comment) }
172 .note : { *(.note) } 162 .note : { *(.note) }
173} 163}
diff --git a/arch/mips/kernel/vpe.c b/arch/mips/kernel/vpe.c
index ae83b755cf4a..85d7df7b18e1 100644
--- a/arch/mips/kernel/vpe.c
+++ b/arch/mips/kernel/vpe.c
@@ -13,7 +13,6 @@
13 * You should have received a copy of the GNU General Public License along 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., 14 * with this program; if not, write to the Free Software Foundation, Inc.,
15 * 59 Temple Place - Suite 330, Boston MA 02111-1307, USA. 15 * 59 Temple Place - Suite 330, Boston MA 02111-1307, USA.
16 *
17 */ 16 */
18 17
19/* 18/*
@@ -27,11 +26,8 @@
27 * 26 *
28 * To load and run, simply cat a SP 'program file' to /dev/vpe1. 27 * To load and run, simply cat a SP 'program file' to /dev/vpe1.
29 * i.e cat spapp >/dev/vpe1. 28 * i.e cat spapp >/dev/vpe1.
30 *
31 * You'll need to have the following device files.
32 * mknod /dev/vpe0 c 63 0
33 * mknod /dev/vpe1 c 63 1
34 */ 29 */
30
35#include <linux/config.h> 31#include <linux/config.h>
36#include <linux/kernel.h> 32#include <linux/kernel.h>
37#include <linux/module.h> 33#include <linux/module.h>
@@ -55,6 +51,8 @@
55#include <asm/cpu.h> 51#include <asm/cpu.h>
56#include <asm/processor.h> 52#include <asm/processor.h>
57#include <asm/system.h> 53#include <asm/system.h>
54#include <asm/vpe.h>
55#include <asm/kspd.h>
58 56
59typedef void *vpe_handle; 57typedef void *vpe_handle;
60 58
@@ -68,6 +66,11 @@ typedef void *vpe_handle;
68static char module_name[] = "vpe"; 66static char module_name[] = "vpe";
69static int major; 67static int major;
70 68
69#ifdef CONFIG_MIPS_APSP_KSPD
70 static struct kspd_notifications kspd_events;
71static int kspd_events_reqd = 0;
72#endif
73
71/* grab the likely amount of memory we will need. */ 74/* grab the likely amount of memory we will need. */
72#ifdef CONFIG_MIPS_VPE_LOADER_TOM 75#ifdef CONFIG_MIPS_VPE_LOADER_TOM
73#define P_SIZE (2 * 1024 * 1024) 76#define P_SIZE (2 * 1024 * 1024)
@@ -76,7 +79,10 @@ static int major;
76#define P_SIZE (256 * 1024) 79#define P_SIZE (256 * 1024)
77#endif 80#endif
78 81
82extern unsigned long physical_memsize;
83
79#define MAX_VPES 16 84#define MAX_VPES 16
85#define VPE_PATH_MAX 256
80 86
81enum vpe_state { 87enum vpe_state {
82 VPE_STATE_UNUSED = 0, 88 VPE_STATE_UNUSED = 0,
@@ -102,6 +108,8 @@ struct vpe {
102 unsigned long len; 108 unsigned long len;
103 char *pbuffer; 109 char *pbuffer;
104 unsigned long plen; 110 unsigned long plen;
111 unsigned int uid, gid;
112 char cwd[VPE_PATH_MAX];
105 113
106 unsigned long __start; 114 unsigned long __start;
107 115
@@ -113,6 +121,9 @@ struct vpe {
113 121
114 /* shared symbol address */ 122 /* shared symbol address */
115 void *shared_ptr; 123 void *shared_ptr;
124
125 /* the list of who wants to know when something major happens */
126 struct list_head notify;
116}; 127};
117 128
118struct tc { 129struct tc {
@@ -138,7 +149,7 @@ struct vpecontrol_ {
138} vpecontrol; 149} vpecontrol;
139 150
140static void release_progmem(void *ptr); 151static void release_progmem(void *ptr);
141static void dump_vpe(struct vpe * v); 152/* static __attribute_used__ void dump_vpe(struct vpe * v); */
142extern void save_gp_address(unsigned int secbase, unsigned int rel); 153extern void save_gp_address(unsigned int secbase, unsigned int rel);
143 154
144/* get the vpe associated with this minor */ 155/* get the vpe associated with this minor */
@@ -146,12 +157,14 @@ struct vpe *get_vpe(int minor)
146{ 157{
147 struct vpe *v; 158 struct vpe *v;
148 159
160 if (!cpu_has_mipsmt)
161 return NULL;
162
149 list_for_each_entry(v, &vpecontrol.vpe_list, list) { 163 list_for_each_entry(v, &vpecontrol.vpe_list, list) {
150 if (v->minor == minor) 164 if (v->minor == minor)
151 return v; 165 return v;
152 } 166 }
153 167
154 printk(KERN_DEBUG "VPE: get_vpe minor %d not found\n", minor);
155 return NULL; 168 return NULL;
156} 169}
157 170
@@ -165,8 +178,6 @@ struct tc *get_tc(int index)
165 return t; 178 return t;
166 } 179 }
167 180
168 printk(KERN_DEBUG "VPE: get_tc index %d not found\n", index);
169
170 return NULL; 181 return NULL;
171} 182}
172 183
@@ -179,8 +190,6 @@ struct tc *get_tc_unused(void)
179 return t; 190 return t;
180 } 191 }
181 192
182 printk(KERN_DEBUG "VPE: All TC's are in use\n");
183
184 return NULL; 193 return NULL;
185} 194}
186 195
@@ -190,13 +199,13 @@ struct vpe *alloc_vpe(int minor)
190 struct vpe *v; 199 struct vpe *v;
191 200
192 if ((v = kzalloc(sizeof(struct vpe), GFP_KERNEL)) == NULL) { 201 if ((v = kzalloc(sizeof(struct vpe), GFP_KERNEL)) == NULL) {
193 printk(KERN_WARNING "VPE: alloc_vpe no mem\n");
194 return NULL; 202 return NULL;
195 } 203 }
196 204
197 INIT_LIST_HEAD(&v->tc); 205 INIT_LIST_HEAD(&v->tc);
198 list_add_tail(&v->list, &vpecontrol.vpe_list); 206 list_add_tail(&v->list, &vpecontrol.vpe_list);
199 207
208 INIT_LIST_HEAD(&v->notify);
200 v->minor = minor; 209 v->minor = minor;
201 return v; 210 return v;
202} 211}
@@ -207,7 +216,6 @@ struct tc *alloc_tc(int index)
207 struct tc *t; 216 struct tc *t;
208 217
209 if ((t = kzalloc(sizeof(struct tc), GFP_KERNEL)) == NULL) { 218 if ((t = kzalloc(sizeof(struct tc), GFP_KERNEL)) == NULL) {
210 printk(KERN_WARNING "VPE: alloc_tc no mem\n");
211 return NULL; 219 return NULL;
212 } 220 }
213 221
@@ -236,20 +244,16 @@ void dump_mtregs(void)
236 printk("config3 0x%lx MT %ld\n", val, 244 printk("config3 0x%lx MT %ld\n", val,
237 (val & CONFIG3_MT) >> CONFIG3_MT_SHIFT); 245 (val & CONFIG3_MT) >> CONFIG3_MT_SHIFT);
238 246
239 val = read_c0_mvpconf0();
240 printk("mvpconf0 0x%lx, PVPE %ld PTC %ld M %ld\n", val,
241 (val & MVPCONF0_PVPE) >> MVPCONF0_PVPE_SHIFT,
242 val & MVPCONF0_PTC, (val & MVPCONF0_M) >> MVPCONF0_M_SHIFT);
243
244 val = read_c0_mvpcontrol(); 247 val = read_c0_mvpcontrol();
245 printk("MVPControl 0x%lx, STLB %ld VPC %ld EVP %ld\n", val, 248 printk("MVPControl 0x%lx, STLB %ld VPC %ld EVP %ld\n", val,
246 (val & MVPCONTROL_STLB) >> MVPCONTROL_STLB_SHIFT, 249 (val & MVPCONTROL_STLB) >> MVPCONTROL_STLB_SHIFT,
247 (val & MVPCONTROL_VPC) >> MVPCONTROL_VPC_SHIFT, 250 (val & MVPCONTROL_VPC) >> MVPCONTROL_VPC_SHIFT,
248 (val & MVPCONTROL_EVP)); 251 (val & MVPCONTROL_EVP));
249 252
250 val = read_c0_vpeconf0(); 253 val = read_c0_mvpconf0();
251 printk("VPEConf0 0x%lx MVP %ld\n", val, 254 printk("mvpconf0 0x%lx, PVPE %ld PTC %ld M %ld\n", val,
252 (val & VPECONF0_MVP) >> VPECONF0_MVP_SHIFT); 255 (val & MVPCONF0_PVPE) >> MVPCONF0_PVPE_SHIFT,
256 val & MVPCONF0_PTC, (val & MVPCONF0_M) >> MVPCONF0_M_SHIFT);
253} 257}
254 258
255/* Find some VPE program space */ 259/* Find some VPE program space */
@@ -354,9 +358,9 @@ static int apply_r_mips_gprel16(struct module *me, uint32_t *location,
354 } 358 }
355 359
356 if( (rel > 32768) || (rel < -32768) ) { 360 if( (rel > 32768) || (rel < -32768) ) {
357 printk(KERN_ERR 361 printk(KERN_DEBUG "VPE loader: apply_r_mips_gprel16: "
358 "apply_r_mips_gprel16: relative address out of range 0x%x %d\n", 362 "relative address 0x%x out of range of gp register\n",
359 rel, rel); 363 rel);
360 return -ENOEXEC; 364 return -ENOEXEC;
361 } 365 }
362 366
@@ -374,8 +378,8 @@ static int apply_r_mips_pc16(struct module *me, uint32_t *location,
374 rel -= 1; // and one instruction less due to the branch delay slot. 378 rel -= 1; // and one instruction less due to the branch delay slot.
375 379
376 if( (rel > 32768) || (rel < -32768) ) { 380 if( (rel > 32768) || (rel < -32768) ) {
377 printk(KERN_ERR 381 printk(KERN_DEBUG "VPE loader: "
378 "apply_r_mips_pc16: relative address out of range 0x%x\n", rel); 382 "apply_r_mips_pc16: relative address out of range 0x%x\n", rel);
379 return -ENOEXEC; 383 return -ENOEXEC;
380 } 384 }
381 385
@@ -396,7 +400,8 @@ static int apply_r_mips_26(struct module *me, uint32_t *location,
396 Elf32_Addr v) 400 Elf32_Addr v)
397{ 401{
398 if (v % 4) { 402 if (v % 4) {
399 printk(KERN_ERR "module %s: dangerous relocation mod4\n", me->name); 403 printk(KERN_DEBUG "VPE loader: apply_r_mips_26 "
404 " unaligned relocation\n");
400 return -ENOEXEC; 405 return -ENOEXEC;
401 } 406 }
402 407
@@ -459,12 +464,13 @@ static int apply_r_mips_lo16(struct module *me, uint32_t *location,
459 /* 464 /*
460 * The value for the HI16 had best be the same. 465 * The value for the HI16 had best be the same.
461 */ 466 */
462 if (v != l->value) { 467 if (v != l->value) {
463 printk("%d != %d\n", v, l->value); 468 printk(KERN_DEBUG "VPE loader: "
464 goto out_danger; 469 "apply_r_mips_lo16/hi16: "
470 "inconsistent value information\n");
471 return -ENOEXEC;
465 } 472 }
466 473
467
468 /* 474 /*
469 * Do the HI16 relocation. Note that we actually don't 475 * Do the HI16 relocation. Note that we actually don't
470 * need to know anything about the LO16 itself, except 476 * need to know anything about the LO16 itself, except
@@ -500,11 +506,6 @@ static int apply_r_mips_lo16(struct module *me, uint32_t *location,
500 *location = insnlo; 506 *location = insnlo;
501 507
502 return 0; 508 return 0;
503
504out_danger:
505 printk(KERN_ERR "module %s: dangerous " "relocation\n", me->name);
506
507 return -ENOEXEC;
508} 509}
509 510
510static int (*reloc_handlers[]) (struct module *me, uint32_t *location, 511static int (*reloc_handlers[]) (struct module *me, uint32_t *location,
@@ -518,6 +519,15 @@ static int (*reloc_handlers[]) (struct module *me, uint32_t *location,
518 [R_MIPS_PC16] = apply_r_mips_pc16 519 [R_MIPS_PC16] = apply_r_mips_pc16
519}; 520};
520 521
522static char *rstrs[] = {
523 [R_MIPS_NONE] = "MIPS_NONE",
524 [R_MIPS_32] = "MIPS_32",
525 [R_MIPS_26] = "MIPS_26",
526 [R_MIPS_HI16] = "MIPS_HI16",
527 [R_MIPS_LO16] = "MIPS_LO16",
528 [R_MIPS_GPREL16] = "MIPS_GPREL16",
529 [R_MIPS_PC16] = "MIPS_PC16"
530};
521 531
522int apply_relocations(Elf32_Shdr *sechdrs, 532int apply_relocations(Elf32_Shdr *sechdrs,
523 const char *strtab, 533 const char *strtab,
@@ -552,15 +562,13 @@ int apply_relocations(Elf32_Shdr *sechdrs,
552 562
553 res = reloc_handlers[ELF32_R_TYPE(r_info)](me, location, v); 563 res = reloc_handlers[ELF32_R_TYPE(r_info)](me, location, v);
554 if( res ) { 564 if( res ) {
555 printk(KERN_DEBUG 565 char *r = rstrs[ELF32_R_TYPE(r_info)];
556 "relocation error 0x%x sym refer <%s> value 0x%x " 566 printk(KERN_WARNING "VPE loader: .text+0x%x "
557 "type 0x%x r_info 0x%x\n", 567 "relocation type %s for symbol \"%s\" failed\n",
558 (unsigned int)location, strtab + sym->st_name, v, 568 rel[i].r_offset, r ? r : "UNKNOWN",
559 r_info, ELF32_R_TYPE(r_info)); 569 strtab + sym->st_name);
560 }
561
562 if (res)
563 return res; 570 return res;
571 }
564 } 572 }
565 573
566 return 0; 574 return 0;
@@ -576,7 +584,7 @@ void save_gp_address(unsigned int secbase, unsigned int rel)
576 584
577 585
578/* Change all symbols so that sh_value encodes the pointer directly. */ 586/* Change all symbols so that sh_value encodes the pointer directly. */
579static int simplify_symbols(Elf_Shdr * sechdrs, 587static void simplify_symbols(Elf_Shdr * sechdrs,
580 unsigned int symindex, 588 unsigned int symindex,
581 const char *strtab, 589 const char *strtab,
582 const char *secstrings, 590 const char *secstrings,
@@ -585,18 +593,21 @@ static int simplify_symbols(Elf_Shdr * sechdrs,
585 Elf_Sym *sym = (void *)sechdrs[symindex].sh_addr; 593 Elf_Sym *sym = (void *)sechdrs[symindex].sh_addr;
586 unsigned long secbase, bssbase = 0; 594 unsigned long secbase, bssbase = 0;
587 unsigned int i, n = sechdrs[symindex].sh_size / sizeof(Elf_Sym); 595 unsigned int i, n = sechdrs[symindex].sh_size / sizeof(Elf_Sym);
588 int ret = 0, size; 596 int size;
589 597
590 /* find the .bss section for COMMON symbols */ 598 /* find the .bss section for COMMON symbols */
591 for (i = 0; i < nsecs; i++) { 599 for (i = 0; i < nsecs; i++) {
592 if (strncmp(secstrings + sechdrs[i].sh_name, ".bss", 4) == 0) 600 if (strncmp(secstrings + sechdrs[i].sh_name, ".bss", 4) == 0) {
593 bssbase = sechdrs[i].sh_addr; 601 bssbase = sechdrs[i].sh_addr;
602 break;
603 }
594 } 604 }
595 605
596 for (i = 1; i < n; i++) { 606 for (i = 1; i < n; i++) {
597 switch (sym[i].st_shndx) { 607 switch (sym[i].st_shndx) {
598 case SHN_COMMON: 608 case SHN_COMMON:
599 /* Allocate space for the symbol in the .bss section. st_value is currently size. 609 /* Allocate space for the symbol in the .bss section.
610 st_value is currently size.
600 We want it to have the address of the symbol. */ 611 We want it to have the address of the symbol. */
601 612
602 size = sym[i].st_value; 613 size = sym[i].st_value;
@@ -614,11 +625,9 @@ static int simplify_symbols(Elf_Shdr * sechdrs,
614 break; 625 break;
615 626
616 case SHN_MIPS_SCOMMON: 627 case SHN_MIPS_SCOMMON:
617 628 printk(KERN_DEBUG "simplify_symbols: ignoring SHN_MIPS_SCOMMON"
618 printk(KERN_DEBUG 629 "symbol <%s> st_shndx %d\n", strtab + sym[i].st_name,
619 "simplify_symbols: ignoring SHN_MIPS_SCOMMON symbol <%s> st_shndx %d\n", 630 sym[i].st_shndx);
620 strtab + sym[i].st_name, sym[i].st_shndx);
621
622 // .sbss section 631 // .sbss section
623 break; 632 break;
624 633
@@ -632,10 +641,7 @@ static int simplify_symbols(Elf_Shdr * sechdrs,
632 sym[i].st_value += secbase; 641 sym[i].st_value += secbase;
633 break; 642 break;
634 } 643 }
635
636 } 644 }
637
638 return ret;
639} 645}
640 646
641#ifdef DEBUG_ELFLOADER 647#ifdef DEBUG_ELFLOADER
@@ -655,9 +661,26 @@ static void dump_elfsymbols(Elf_Shdr * sechdrs, unsigned int symindex,
655 661
656static void dump_tc(struct tc *t) 662static void dump_tc(struct tc *t)
657{ 663{
658 printk(KERN_WARNING "VPE: TC index %d TCStatus 0x%lx halt 0x%lx\n", 664 unsigned long val;
659 t->index, read_tc_c0_tcstatus(), read_tc_c0_tchalt()); 665
660 printk(KERN_WARNING "VPE: tcrestart 0x%lx\n", read_tc_c0_tcrestart()); 666 settc(t->index);
667 printk(KERN_DEBUG "VPE loader: TC index %d targtc %ld "
668 "TCStatus 0x%lx halt 0x%lx\n",
669 t->index, read_c0_vpecontrol() & VPECONTROL_TARGTC,
670 read_tc_c0_tcstatus(), read_tc_c0_tchalt());
671
672 printk(KERN_DEBUG " tcrestart 0x%lx\n", read_tc_c0_tcrestart());
673 printk(KERN_DEBUG " tcbind 0x%lx\n", read_tc_c0_tcbind());
674
675 val = read_c0_vpeconf0();
676 printk(KERN_DEBUG " VPEConf0 0x%lx MVP %ld\n", val,
677 (val & VPECONF0_MVP) >> VPECONF0_MVP_SHIFT);
678
679 printk(KERN_DEBUG " c0 status 0x%lx\n", read_vpe_c0_status());
680 printk(KERN_DEBUG " c0 cause 0x%lx\n", read_vpe_c0_cause());
681
682 printk(KERN_DEBUG " c0 badvaddr 0x%lx\n", read_vpe_c0_badvaddr());
683 printk(KERN_DEBUG " c0 epc 0x%lx\n", read_vpe_c0_epc());
661} 684}
662 685
663static void dump_tclist(void) 686static void dump_tclist(void)
@@ -672,96 +695,108 @@ static void dump_tclist(void)
672/* We are prepared so configure and start the VPE... */ 695/* We are prepared so configure and start the VPE... */
673int vpe_run(struct vpe * v) 696int vpe_run(struct vpe * v)
674{ 697{
675 unsigned long val; 698 struct vpe_notifications *n;
699 unsigned long val, dmt_flag;
676 struct tc *t; 700 struct tc *t;
677 701
678 /* check we are the Master VPE */ 702 /* check we are the Master VPE */
679 val = read_c0_vpeconf0(); 703 val = read_c0_vpeconf0();
680 if (!(val & VPECONF0_MVP)) { 704 if (!(val & VPECONF0_MVP)) {
681 printk(KERN_WARNING 705 printk(KERN_WARNING
682 "VPE: only Master VPE's are allowed to configure MT\n"); 706 "VPE loader: only Master VPE's are allowed to configure MT\n");
683 return -1; 707 return -1;
684 } 708 }
685 709
686 /* disable MT (using dvpe) */ 710 /* disable MT (using dvpe) */
687 dvpe(); 711 dvpe();
688 712
713 if (!list_empty(&v->tc)) {
714 if ((t = list_entry(v->tc.next, struct tc, tc)) == NULL) {
715 printk(KERN_WARNING "VPE loader: TC %d is already in use.\n",
716 t->index);
717 return -ENOEXEC;
718 }
719 } else {
720 printk(KERN_WARNING "VPE loader: No TC's associated with VPE %d\n",
721 v->minor);
722 return -ENOEXEC;
723 }
724
689 /* Put MVPE's into 'configuration state' */ 725 /* Put MVPE's into 'configuration state' */
690 set_c0_mvpcontrol(MVPCONTROL_VPC); 726 set_c0_mvpcontrol(MVPCONTROL_VPC);
691 727
692 if (!list_empty(&v->tc)) {
693 if ((t = list_entry(v->tc.next, struct tc, tc)) == NULL) {
694 printk(KERN_WARNING "VPE: TC %d is already in use.\n",
695 t->index);
696 return -ENOEXEC;
697 }
698 } else {
699 printk(KERN_WARNING "VPE: No TC's associated with VPE %d\n",
700 v->minor);
701 return -ENOEXEC;
702 }
703
704 settc(t->index); 728 settc(t->index);
705 729
706 val = read_vpe_c0_vpeconf0();
707
708 /* should check it is halted, and not activated */ 730 /* should check it is halted, and not activated */
709 if ((read_tc_c0_tcstatus() & TCSTATUS_A) || !(read_tc_c0_tchalt() & TCHALT_H)) { 731 if ((read_tc_c0_tcstatus() & TCSTATUS_A) || !(read_tc_c0_tchalt() & TCHALT_H)) {
710 printk(KERN_WARNING "VPE: TC %d is already doing something!\n", 732 printk(KERN_WARNING "VPE loader: TC %d is already doing something!\n",
711 t->index); 733 t->index);
712
713 dump_tclist(); 734 dump_tclist();
714 return -ENOEXEC; 735 return -ENOEXEC;
715 } 736 }
716 737
738 /*
739 * Disable multi-threaded execution whilst we activate, clear the
740 * halt bit and bound the tc to the other VPE...
741 */
742 dmt_flag = dmt();
743
717 /* Write the address we want it to start running from in the TCPC register. */ 744 /* Write the address we want it to start running from in the TCPC register. */
718 write_tc_c0_tcrestart((unsigned long)v->__start); 745 write_tc_c0_tcrestart((unsigned long)v->__start);
719
720 /* write the sivc_info address to tccontext */
721 write_tc_c0_tccontext((unsigned long)0); 746 write_tc_c0_tccontext((unsigned long)0);
722 747 /*
723 /* Set up the XTC bit in vpeconf0 to point at our tc */ 748 * Mark the TC as activated, not interrupt exempt and not dynamically
724 write_vpe_c0_vpeconf0(read_vpe_c0_vpeconf0() | (t->index << VPECONF0_XTC_SHIFT)); 749 * allocatable
725 750 */
726 /* mark the TC as activated, not interrupt exempt and not dynamically allocatable */
727 val = read_tc_c0_tcstatus(); 751 val = read_tc_c0_tcstatus();
728 val = (val & ~(TCSTATUS_DA | TCSTATUS_IXMT)) | TCSTATUS_A; 752 val = (val & ~(TCSTATUS_DA | TCSTATUS_IXMT)) | TCSTATUS_A;
729 write_tc_c0_tcstatus(val); 753 write_tc_c0_tcstatus(val);
730 754
731 write_tc_c0_tchalt(read_tc_c0_tchalt() & ~TCHALT_H); 755 write_tc_c0_tchalt(read_tc_c0_tchalt() & ~TCHALT_H);
732 756
733 /* set up VPE1 */
734 write_vpe_c0_vpecontrol(read_vpe_c0_vpecontrol() & ~VPECONTROL_TE); // no multiple TC's
735 write_vpe_c0_vpeconf0(read_vpe_c0_vpeconf0() | VPECONF0_VPA); // enable this VPE
736
737 /* 757 /*
738 * The sde-kit passes 'memsize' to __start in $a3, so set something 758 * The sde-kit passes 'memsize' to __start in $a3, so set something
739 * here... 759 * here... Or set $a3 to zero and define DFLT_STACK_SIZE and
740 * Or set $a3 (register 7) to zero and define DFLT_STACK_SIZE and
741 * DFLT_HEAP_SIZE when you compile your program 760 * DFLT_HEAP_SIZE when you compile your program
742 */ 761 */
762 mttgpr(7, physical_memsize);
763
764
765 /* set up VPE1 */
766 /*
767 * bind the TC to VPE 1 as late as possible so we only have the final
768 * VPE registers to set up, and so an EJTAG probe can trigger on it
769 */
770 write_tc_c0_tcbind((read_tc_c0_tcbind() & ~TCBIND_CURVPE) | v->minor);
743 771
744 mttgpr(7, 0); 772 /* Set up the XTC bit in vpeconf0 to point at our tc */
773 write_vpe_c0_vpeconf0( (read_vpe_c0_vpeconf0() & ~(VPECONF0_XTC))
774 | (t->index << VPECONF0_XTC_SHIFT));
745 775
746 /* set config to be the same as vpe0, particularly kseg0 coherency alg */ 776 /* enable this VPE */
747 write_vpe_c0_config(read_c0_config()); 777 write_vpe_c0_vpeconf0(read_vpe_c0_vpeconf0() | VPECONF0_VPA);
748 778
749 /* clear out any left overs from a previous program */ 779 /* clear out any left overs from a previous program */
780 write_vpe_c0_status(0);
750 write_vpe_c0_cause(0); 781 write_vpe_c0_cause(0);
751 782
752 /* take system out of configuration state */ 783 /* take system out of configuration state */
753 clear_c0_mvpcontrol(MVPCONTROL_VPC); 784 clear_c0_mvpcontrol(MVPCONTROL_VPC);
754 785
755 /* clear interrupts enabled IE, ERL, EXL, and KSU from c0 status */ 786 /* now safe to re-enable multi-threading */
756 write_vpe_c0_status(read_vpe_c0_status() & ~(ST0_ERL | ST0_KSU | ST0_IE | ST0_EXL)); 787 emt(dmt_flag);
757 788
758 /* set it running */ 789 /* set it running */
759 evpe(EVPE_ENABLE); 790 evpe(EVPE_ENABLE);
760 791
792 list_for_each_entry(n, &v->notify, list) {
793 n->start(v->minor);
794 }
795
761 return 0; 796 return 0;
762} 797}
763 798
764static unsigned long find_vpe_symbols(struct vpe * v, Elf_Shdr * sechdrs, 799static int find_vpe_symbols(struct vpe * v, Elf_Shdr * sechdrs,
765 unsigned int symindex, const char *strtab, 800 unsigned int symindex, const char *strtab,
766 struct module *mod) 801 struct module *mod)
767{ 802{
@@ -778,26 +813,28 @@ static unsigned long find_vpe_symbols(struct vpe * v, Elf_Shdr * sechdrs,
778 } 813 }
779 } 814 }
780 815
816 if ( (v->__start == 0) || (v->shared_ptr == NULL))
817 return -1;
818
781 return 0; 819 return 0;
782} 820}
783 821
784/* 822/*
785 * Allocates a VPE with some program code space(the load address), copies 823 * Allocates a VPE with some program code space(the load address), copies the
786 * the contents of the program (p)buffer performing relocatations/etc, 824 * contents of the program (p)buffer performing relocatations/etc, free's it
787 * free's it when finished. 825 * when finished.
788*/ 826 */
789int vpe_elfload(struct vpe * v) 827int vpe_elfload(struct vpe * v)
790{ 828{
791 Elf_Ehdr *hdr; 829 Elf_Ehdr *hdr;
792 Elf_Shdr *sechdrs; 830 Elf_Shdr *sechdrs;
793 long err = 0; 831 long err = 0;
794 char *secstrings, *strtab = NULL; 832 char *secstrings, *strtab = NULL;
795 unsigned int len, i, symindex = 0, strindex = 0; 833 unsigned int len, i, symindex = 0, strindex = 0, relocate = 0;
796
797 struct module mod; // so we can re-use the relocations code 834 struct module mod; // so we can re-use the relocations code
798 835
799 memset(&mod, 0, sizeof(struct module)); 836 memset(&mod, 0, sizeof(struct module));
800 strcpy(mod.name, "VPE dummy prog module"); 837 strcpy(mod.name, "VPE loader");
801 838
802 hdr = (Elf_Ehdr *) v->pbuffer; 839 hdr = (Elf_Ehdr *) v->pbuffer;
803 len = v->plen; 840 len = v->plen;
@@ -805,16 +842,22 @@ int vpe_elfload(struct vpe * v)
805 /* Sanity checks against insmoding binaries or wrong arch, 842 /* Sanity checks against insmoding binaries or wrong arch,
806 weird elf version */ 843 weird elf version */
807 if (memcmp(hdr->e_ident, ELFMAG, 4) != 0 844 if (memcmp(hdr->e_ident, ELFMAG, 4) != 0
808 || hdr->e_type != ET_REL || !elf_check_arch(hdr) 845 || (hdr->e_type != ET_REL && hdr->e_type != ET_EXEC)
846 || !elf_check_arch(hdr)
809 || hdr->e_shentsize != sizeof(*sechdrs)) { 847 || hdr->e_shentsize != sizeof(*sechdrs)) {
810 printk(KERN_WARNING 848 printk(KERN_WARNING
811 "VPE program, wrong arch or weird elf version\n"); 849 "VPE loader: program wrong arch or weird elf version\n");
812 850
813 return -ENOEXEC; 851 return -ENOEXEC;
814 } 852 }
815 853
854 if (hdr->e_type == ET_REL)
855 relocate = 1;
856
816 if (len < hdr->e_shoff + hdr->e_shnum * sizeof(Elf_Shdr)) { 857 if (len < hdr->e_shoff + hdr->e_shnum * sizeof(Elf_Shdr)) {
817 printk(KERN_ERR "VPE program length %u truncated\n", len); 858 printk(KERN_ERR "VPE loader: program length %u truncated\n",
859 len);
860
818 return -ENOEXEC; 861 return -ENOEXEC;
819 } 862 }
820 863
@@ -826,82 +869,126 @@ int vpe_elfload(struct vpe * v)
826 /* And these should exist, but gcc whinges if we don't init them */ 869 /* And these should exist, but gcc whinges if we don't init them */
827 symindex = strindex = 0; 870 symindex = strindex = 0;
828 871
829 for (i = 1; i < hdr->e_shnum; i++) { 872 if (relocate) {
830 873 for (i = 1; i < hdr->e_shnum; i++) {
831 if (sechdrs[i].sh_type != SHT_NOBITS 874 if (sechdrs[i].sh_type != SHT_NOBITS
832 && len < sechdrs[i].sh_offset + sechdrs[i].sh_size) { 875 && len < sechdrs[i].sh_offset + sechdrs[i].sh_size) {
833 printk(KERN_ERR "VPE program length %u truncated\n", 876 printk(KERN_ERR "VPE program length %u truncated\n",
834 len); 877 len);
835 return -ENOEXEC; 878 return -ENOEXEC;
836 } 879 }
837 880
838 /* Mark all sections sh_addr with their address in the 881 /* Mark all sections sh_addr with their address in the
839 temporary image. */ 882 temporary image. */
840 sechdrs[i].sh_addr = (size_t) hdr + sechdrs[i].sh_offset; 883 sechdrs[i].sh_addr = (size_t) hdr + sechdrs[i].sh_offset;
841 884
842 /* Internal symbols and strings. */ 885 /* Internal symbols and strings. */
843 if (sechdrs[i].sh_type == SHT_SYMTAB) { 886 if (sechdrs[i].sh_type == SHT_SYMTAB) {
844 symindex = i; 887 symindex = i;
845 strindex = sechdrs[i].sh_link; 888 strindex = sechdrs[i].sh_link;
846 strtab = (char *)hdr + sechdrs[strindex].sh_offset; 889 strtab = (char *)hdr + sechdrs[strindex].sh_offset;
890 }
847 } 891 }
892 layout_sections(&mod, hdr, sechdrs, secstrings);
848 } 893 }
849 894
850 layout_sections(&mod, hdr, sechdrs, secstrings);
851
852 v->load_addr = alloc_progmem(mod.core_size); 895 v->load_addr = alloc_progmem(mod.core_size);
853 memset(v->load_addr, 0, mod.core_size); 896 memset(v->load_addr, 0, mod.core_size);
854 897
855 printk("VPE elf_loader: loading to %p\n", v->load_addr); 898 printk("VPE loader: loading to %p\n", v->load_addr);
856 899
857 for (i = 0; i < hdr->e_shnum; i++) { 900 if (relocate) {
858 void *dest; 901 for (i = 0; i < hdr->e_shnum; i++) {
902 void *dest;
859 903
860 if (!(sechdrs[i].sh_flags & SHF_ALLOC)) 904 if (!(sechdrs[i].sh_flags & SHF_ALLOC))
861 continue; 905 continue;
862 906
863 dest = v->load_addr + sechdrs[i].sh_entsize; 907 dest = v->load_addr + sechdrs[i].sh_entsize;
864 908
865 if (sechdrs[i].sh_type != SHT_NOBITS) 909 if (sechdrs[i].sh_type != SHT_NOBITS)
866 memcpy(dest, (void *)sechdrs[i].sh_addr, 910 memcpy(dest, (void *)sechdrs[i].sh_addr,
867 sechdrs[i].sh_size); 911 sechdrs[i].sh_size);
868 /* Update sh_addr to point to copy in image. */ 912 /* Update sh_addr to point to copy in image. */
869 sechdrs[i].sh_addr = (unsigned long)dest; 913 sechdrs[i].sh_addr = (unsigned long)dest;
870 }
871 914
872 /* Fix up syms, so that st_value is a pointer to location. */ 915 printk(KERN_DEBUG " section sh_name %s sh_addr 0x%x\n",
873 err = 916 secstrings + sechdrs[i].sh_name, sechdrs[i].sh_addr);
874 simplify_symbols(sechdrs, symindex, strtab, secstrings, 917 }
875 hdr->e_shnum, &mod);
876 if (err < 0) {
877 printk(KERN_WARNING "VPE: unable to simplify symbols\n");
878 goto cleanup;
879 }
880 918
881 /* Now do relocations. */ 919 /* Fix up syms, so that st_value is a pointer to location. */
882 for (i = 1; i < hdr->e_shnum; i++) { 920 simplify_symbols(sechdrs, symindex, strtab, secstrings,
883 const char *strtab = (char *)sechdrs[strindex].sh_addr; 921 hdr->e_shnum, &mod);
884 unsigned int info = sechdrs[i].sh_info; 922
885 923 /* Now do relocations. */
886 /* Not a valid relocation section? */ 924 for (i = 1; i < hdr->e_shnum; i++) {
887 if (info >= hdr->e_shnum) 925 const char *strtab = (char *)sechdrs[strindex].sh_addr;
888 continue; 926 unsigned int info = sechdrs[i].sh_info;
889 927
890 /* Don't bother with non-allocated sections */ 928 /* Not a valid relocation section? */
891 if (!(sechdrs[info].sh_flags & SHF_ALLOC)) 929 if (info >= hdr->e_shnum)
892 continue; 930 continue;
893 931
894 if (sechdrs[i].sh_type == SHT_REL) 932 /* Don't bother with non-allocated sections */
895 err = 933 if (!(sechdrs[info].sh_flags & SHF_ALLOC))
896 apply_relocations(sechdrs, strtab, symindex, i, &mod); 934 continue;
897 else if (sechdrs[i].sh_type == SHT_RELA) 935
898 err = apply_relocate_add(sechdrs, strtab, symindex, i, 936 if (sechdrs[i].sh_type == SHT_REL)
899 &mod); 937 err = apply_relocations(sechdrs, strtab, symindex, i,
900 if (err < 0) { 938 &mod);
901 printk(KERN_WARNING 939 else if (sechdrs[i].sh_type == SHT_RELA)
902 "vpe_elfload: error in relocations err %ld\n", 940 err = apply_relocate_add(sechdrs, strtab, symindex, i,
903 err); 941 &mod);
904 goto cleanup; 942 if (err < 0)
943 return err;
944
945 }
946 } else {
947 for (i = 0; i < hdr->e_shnum; i++) {
948
949 /* Internal symbols and strings. */
950 if (sechdrs[i].sh_type == SHT_SYMTAB) {
951 symindex = i;
952 strindex = sechdrs[i].sh_link;
953 strtab = (char *)hdr + sechdrs[strindex].sh_offset;
954
955 /* mark the symtab's address for when we try to find the
956 magic symbols */
957 sechdrs[i].sh_addr = (size_t) hdr + sechdrs[i].sh_offset;
958 }
959
960 /* filter sections we dont want in the final image */
961 if (!(sechdrs[i].sh_flags & SHF_ALLOC) ||
962 (sechdrs[i].sh_type == SHT_MIPS_REGINFO)) {
963 printk( KERN_DEBUG " ignoring section, "
964 "name %s type %x address 0x%x \n",
965 secstrings + sechdrs[i].sh_name,
966 sechdrs[i].sh_type, sechdrs[i].sh_addr);
967 continue;
968 }
969
970 if (sechdrs[i].sh_addr < (unsigned int)v->load_addr) {
971 printk( KERN_WARNING "VPE loader: "
972 "fully linked image has invalid section, "
973 "name %s type %x address 0x%x, before load "
974 "address of 0x%x\n",
975 secstrings + sechdrs[i].sh_name,
976 sechdrs[i].sh_type, sechdrs[i].sh_addr,
977 (unsigned int)v->load_addr);
978 return -ENOEXEC;
979 }
980
981 printk(KERN_DEBUG " copying section sh_name %s, sh_addr 0x%x "
982 "size 0x%x0 from x%p\n",
983 secstrings + sechdrs[i].sh_name, sechdrs[i].sh_addr,
984 sechdrs[i].sh_size, hdr + sechdrs[i].sh_offset);
985
986 if (sechdrs[i].sh_type != SHT_NOBITS)
987 memcpy((void *)sechdrs[i].sh_addr,
988 (char *)hdr + sechdrs[i].sh_offset,
989 sechdrs[i].sh_size);
990 else
991 memset((void *)sechdrs[i].sh_addr, 0, sechdrs[i].sh_size);
905 } 992 }
906 } 993 }
907 994
@@ -910,71 +997,104 @@ int vpe_elfload(struct vpe * v)
910 (unsigned long)v->load_addr + v->len); 997 (unsigned long)v->load_addr + v->len);
911 998
912 if ((find_vpe_symbols(v, sechdrs, symindex, strtab, &mod)) < 0) { 999 if ((find_vpe_symbols(v, sechdrs, symindex, strtab, &mod)) < 0) {
1000 if (v->__start == 0) {
1001 printk(KERN_WARNING "VPE loader: program does not contain "
1002 "a __start symbol\n");
1003 return -ENOEXEC;
1004 }
913 1005
914 printk(KERN_WARNING 1006 if (v->shared_ptr == NULL)
915 "VPE: program doesn't contain __start or vpe_shared symbols\n"); 1007 printk(KERN_WARNING "VPE loader: "
916 err = -ENOEXEC; 1008 "program does not contain vpe_shared symbol.\n"
1009 " Unable to use AMVP (AP/SP) facilities.\n");
917 } 1010 }
918 1011
919 printk(" elf loaded\n"); 1012 printk(" elf loaded\n");
920 1013 return 0;
921cleanup:
922 return err;
923} 1014}
924 1015
925static void dump_vpe(struct vpe * v) 1016__attribute_used__ void dump_vpe(struct vpe * v)
926{ 1017{
927 struct tc *t; 1018 struct tc *t;
928 1019
1020 settc(v->minor);
1021
929 printk(KERN_DEBUG "VPEControl 0x%lx\n", read_vpe_c0_vpecontrol()); 1022 printk(KERN_DEBUG "VPEControl 0x%lx\n", read_vpe_c0_vpecontrol());
930 printk(KERN_DEBUG "VPEConf0 0x%lx\n", read_vpe_c0_vpeconf0()); 1023 printk(KERN_DEBUG "VPEConf0 0x%lx\n", read_vpe_c0_vpeconf0());
931 1024
932 list_for_each_entry(t, &vpecontrol.tc_list, list) { 1025 list_for_each_entry(t, &vpecontrol.tc_list, list)
933 dump_tc(t); 1026 dump_tc(t);
934 }
935} 1027}
936 1028
937/* checks for VPE is unused and gets ready to load program */ 1029static void cleanup_tc(struct tc *tc)
1030{
1031 int tmp;
1032
1033 /* Put MVPE's into 'configuration state' */
1034 set_c0_mvpcontrol(MVPCONTROL_VPC);
1035
1036 settc(tc->index);
1037 tmp = read_tc_c0_tcstatus();
1038
1039 /* mark not allocated and not dynamically allocatable */
1040 tmp &= ~(TCSTATUS_A | TCSTATUS_DA);
1041 tmp |= TCSTATUS_IXMT; /* interrupt exempt */
1042 write_tc_c0_tcstatus(tmp);
1043
1044 write_tc_c0_tchalt(TCHALT_H);
1045
1046 /* bind it to anything other than VPE1 */
1047 write_tc_c0_tcbind(read_tc_c0_tcbind() & ~TCBIND_CURVPE); // | TCBIND_CURVPE
1048
1049 clear_c0_mvpcontrol(MVPCONTROL_VPC);
1050}
1051
1052static int getcwd(char *buff, int size)
1053{
1054 mm_segment_t old_fs;
1055 int ret;
1056
1057 old_fs = get_fs();
1058 set_fs(KERNEL_DS);
1059
1060 ret = sys_getcwd(buff,size);
1061
1062 set_fs(old_fs);
1063
1064 return ret;
1065}
1066
1067/* checks VPE is unused and gets ready to load program */
938static int vpe_open(struct inode *inode, struct file *filp) 1068static int vpe_open(struct inode *inode, struct file *filp)
939{ 1069{
940 int minor; 1070 int minor, ret;
941 struct vpe *v; 1071 struct vpe *v;
1072 struct vpe_notifications *not;
942 1073
943 /* assume only 1 device at the mo. */ 1074 /* assume only 1 device at the mo. */
944 if ((minor = MINOR(inode->i_rdev)) != 1) { 1075 if ((minor = iminor(inode)) != 1) {
945 printk(KERN_WARNING "VPE: only vpe1 is supported\n"); 1076 printk(KERN_WARNING "VPE loader: only vpe1 is supported\n");
946 return -ENODEV; 1077 return -ENODEV;
947 } 1078 }
948 1079
949 if ((v = get_vpe(minor)) == NULL) { 1080 if ((v = get_vpe(minor)) == NULL) {
950 printk(KERN_WARNING "VPE: unable to get vpe\n"); 1081 printk(KERN_WARNING "VPE loader: unable to get vpe\n");
951 return -ENODEV; 1082 return -ENODEV;
952 } 1083 }
953 1084
954 if (v->state != VPE_STATE_UNUSED) { 1085 if (v->state != VPE_STATE_UNUSED) {
955 unsigned long tmp;
956 struct tc *t;
957
958 printk(KERN_WARNING "VPE: device %d already in use\n", minor);
959
960 dvpe(); 1086 dvpe();
961 dump_vpe(v);
962
963 printk(KERN_WARNING "VPE: re-initialising %d\n", minor);
964
965 release_progmem(v->load_addr);
966 1087
967 t = get_tc(minor); 1088 printk(KERN_DEBUG "VPE loader: tc in use dumping regs\n");
968 settc(minor);
969 tmp = read_tc_c0_tcstatus();
970 1089
971 /* mark not allocated and not dynamically allocatable */ 1090 dump_tc(get_tc(minor));
972 tmp &= ~(TCSTATUS_A | TCSTATUS_DA);
973 tmp |= TCSTATUS_IXMT; /* interrupt exempt */
974 write_tc_c0_tcstatus(tmp);
975 1091
976 write_tc_c0_tchalt(TCHALT_H); 1092 list_for_each_entry(not, &v->notify, list) {
1093 not->stop(minor);
1094 }
977 1095
1096 release_progmem(v->load_addr);
1097 cleanup_tc(get_tc(minor));
978 } 1098 }
979 1099
980 // allocate it so when we get write ops we know it's expected. 1100 // allocate it so when we get write ops we know it's expected.
@@ -986,6 +1106,24 @@ static int vpe_open(struct inode *inode, struct file *filp)
986 v->load_addr = NULL; 1106 v->load_addr = NULL;
987 v->len = 0; 1107 v->len = 0;
988 1108
1109 v->uid = filp->f_uid;
1110 v->gid = filp->f_gid;
1111
1112#ifdef CONFIG_MIPS_APSP_KSPD
1113 /* get kspd to tell us when a syscall_exit happens */
1114 if (!kspd_events_reqd) {
1115 kspd_notify(&kspd_events);
1116 kspd_events_reqd++;
1117 }
1118#endif
1119
1120 v->cwd[0] = 0;
1121 ret = getcwd(v->cwd, VPE_PATH_MAX);
1122 if (ret < 0)
1123 printk(KERN_WARNING "VPE loader: open, getcwd returned %d\n", ret);
1124
1125 v->shared_ptr = NULL;
1126 v->__start = 0;
989 return 0; 1127 return 0;
990} 1128}
991 1129
@@ -995,7 +1133,7 @@ static int vpe_release(struct inode *inode, struct file *filp)
995 struct vpe *v; 1133 struct vpe *v;
996 Elf_Ehdr *hdr; 1134 Elf_Ehdr *hdr;
997 1135
998 minor = MINOR(inode->i_rdev); 1136 minor = iminor(inode);
999 if ((v = get_vpe(minor)) == NULL) 1137 if ((v = get_vpe(minor)) == NULL)
1000 return -ENODEV; 1138 return -ENODEV;
1001 1139
@@ -1006,14 +1144,22 @@ static int vpe_release(struct inode *inode, struct file *filp)
1006 if (vpe_elfload(v) >= 0) 1144 if (vpe_elfload(v) >= 0)
1007 vpe_run(v); 1145 vpe_run(v);
1008 else { 1146 else {
1009 printk(KERN_WARNING "VPE: ELF load failed.\n"); 1147 printk(KERN_WARNING "VPE loader: ELF load failed.\n");
1010 ret = -ENOEXEC; 1148 ret = -ENOEXEC;
1011 } 1149 }
1012 } else { 1150 } else {
1013 printk(KERN_WARNING "VPE: only elf files are supported\n"); 1151 printk(KERN_WARNING "VPE loader: only elf files are supported\n");
1014 ret = -ENOEXEC; 1152 ret = -ENOEXEC;
1015 } 1153 }
1016 1154
1155 /* It's good to be able to run the SP and if it chokes have a look at
1156 the /dev/rt?. But if we reset the pointer to the shared struct we
1157 loose what has happened. So perhaps if garbage is sent to the vpe
1158 device, use it as a trigger for the reset. Hopefully a nice
1159 executable will be along shortly. */
1160 if (ret < 0)
1161 v->shared_ptr = NULL;
1162
1017 // cleanup any temp buffers 1163 // cleanup any temp buffers
1018 if (v->pbuffer) 1164 if (v->pbuffer)
1019 vfree(v->pbuffer); 1165 vfree(v->pbuffer);
@@ -1028,26 +1174,24 @@ static ssize_t vpe_write(struct file *file, const char __user * buffer,
1028 size_t ret = count; 1174 size_t ret = count;
1029 struct vpe *v; 1175 struct vpe *v;
1030 1176
1031 minor = MINOR(file->f_dentry->d_inode->i_rdev); 1177 minor = iminor(file->f_dentry->d_inode);
1032 if ((v = get_vpe(minor)) == NULL) 1178 if ((v = get_vpe(minor)) == NULL)
1033 return -ENODEV; 1179 return -ENODEV;
1034 1180
1035 if (v->pbuffer == NULL) { 1181 if (v->pbuffer == NULL) {
1036 printk(KERN_ERR "vpe_write: no pbuffer\n"); 1182 printk(KERN_ERR "VPE loader: no buffer for program\n");
1037 return -ENOMEM; 1183 return -ENOMEM;
1038 } 1184 }
1039 1185
1040 if ((count + v->len) > v->plen) { 1186 if ((count + v->len) > v->plen) {
1041 printk(KERN_WARNING 1187 printk(KERN_WARNING
1042 "VPE Loader: elf size too big. Perhaps strip uneeded symbols\n"); 1188 "VPE loader: elf size too big. Perhaps strip uneeded symbols\n");
1043 return -ENOMEM; 1189 return -ENOMEM;
1044 } 1190 }
1045 1191
1046 count -= copy_from_user(v->pbuffer + v->len, buffer, count); 1192 count -= copy_from_user(v->pbuffer + v->len, buffer, count);
1047 if (!count) { 1193 if (!count)
1048 printk("vpe_write: copy_to_user failed\n");
1049 return -EFAULT; 1194 return -EFAULT;
1050 }
1051 1195
1052 v->len += count; 1196 v->len += count;
1053 return ret; 1197 return ret;
@@ -1149,16 +1293,70 @@ void *vpe_get_shared(int index)
1149{ 1293{
1150 struct vpe *v; 1294 struct vpe *v;
1151 1295
1152 if ((v = get_vpe(index)) == NULL) { 1296 if ((v = get_vpe(index)) == NULL)
1153 printk(KERN_WARNING "vpe: invalid vpe index %d\n", index);
1154 return NULL; 1297 return NULL;
1155 }
1156 1298
1157 return v->shared_ptr; 1299 return v->shared_ptr;
1158} 1300}
1159 1301
1160EXPORT_SYMBOL(vpe_get_shared); 1302EXPORT_SYMBOL(vpe_get_shared);
1161 1303
1304int vpe_getuid(int index)
1305{
1306 struct vpe *v;
1307
1308 if ((v = get_vpe(index)) == NULL)
1309 return -1;
1310
1311 return v->uid;
1312}
1313
1314EXPORT_SYMBOL(vpe_getuid);
1315
1316int vpe_getgid(int index)
1317{
1318 struct vpe *v;
1319
1320 if ((v = get_vpe(index)) == NULL)
1321 return -1;
1322
1323 return v->gid;
1324}
1325
1326EXPORT_SYMBOL(vpe_getgid);
1327
1328int vpe_notify(int index, struct vpe_notifications *notify)
1329{
1330 struct vpe *v;
1331
1332 if ((v = get_vpe(index)) == NULL)
1333 return -1;
1334
1335 list_add(&notify->list, &v->notify);
1336 return 0;
1337}
1338
1339EXPORT_SYMBOL(vpe_notify);
1340
1341char *vpe_getcwd(int index)
1342{
1343 struct vpe *v;
1344
1345 if ((v = get_vpe(index)) == NULL)
1346 return NULL;
1347
1348 return v->cwd;
1349}
1350
1351EXPORT_SYMBOL(vpe_getcwd);
1352
1353#ifdef CONFIG_MIPS_APSP_KSPD
1354static void kspd_sp_exit( int sp_id)
1355{
1356 cleanup_tc(get_tc(sp_id));
1357}
1358#endif
1359
1162static int __init vpe_module_init(void) 1360static int __init vpe_module_init(void)
1163{ 1361{
1164 struct vpe *v = NULL; 1362 struct vpe *v = NULL;
@@ -1201,7 +1399,8 @@ static int __init vpe_module_init(void)
1201 return -ENODEV; 1399 return -ENODEV;
1202 } 1400 }
1203 1401
1204 list_add(&t->tc, &v->tc); /* add the tc to the list of this vpe's tc's. */ 1402 /* add the tc to the list of this vpe's tc's. */
1403 list_add(&t->tc, &v->tc);
1205 1404
1206 /* deactivate all but vpe0 */ 1405 /* deactivate all but vpe0 */
1207 if (i != 0) { 1406 if (i != 0) {
@@ -1222,10 +1421,12 @@ static int __init vpe_module_init(void)
1222 ~(ST0_IM | ST0_IE | ST0_KSU)) 1421 ~(ST0_IM | ST0_IE | ST0_KSU))
1223 | ST0_CU0); 1422 | ST0_CU0);
1224 1423
1225 /* set config to be the same as vpe0, particularly kseg0 coherency alg */ 1424 /*
1425 * Set config to be the same as vpe0,
1426 * particularly kseg0 coherency alg
1427 */
1226 write_vpe_c0_config(read_c0_config()); 1428 write_vpe_c0_config(read_c0_config());
1227 } 1429 }
1228
1229 } 1430 }
1230 1431
1231 /* TC's */ 1432 /* TC's */
@@ -1234,23 +1435,28 @@ static int __init vpe_module_init(void)
1234 if (i != 0) { 1435 if (i != 0) {
1235 unsigned long tmp; 1436 unsigned long tmp;
1236 1437
1237 /* tc 0 will of course be running.... */
1238 if (i == 0)
1239 t->state = TC_STATE_RUNNING;
1240
1241 settc(i); 1438 settc(i);
1242 1439
1243 /* bind a TC to each VPE, May as well put all excess TC's 1440 /* Any TC that is bound to VPE0 gets left as is - in case
1244 on the last VPE */ 1441 we are running SMTC on VPE0. A TC that is bound to any
1245 if (i >= (((val & MVPCONF0_PVPE) >> MVPCONF0_PVPE_SHIFT) + 1)) 1442 other VPE gets bound to VPE0, ideally I'd like to make
1246 write_tc_c0_tcbind(read_tc_c0_tcbind() | 1443 it homeless but it doesn't appear to let me bind a TC
1247 ((val & MVPCONF0_PVPE) >> MVPCONF0_PVPE_SHIFT)); 1444 to a non-existent VPE. Which is perfectly reasonable.
1248 else 1445
1249 write_tc_c0_tcbind(read_tc_c0_tcbind() | i); 1446 The (un)bound state is visible to an EJTAG probe so may
1447 notify GDB...
1448 */
1449
1450 if (((tmp = read_tc_c0_tcbind()) & TCBIND_CURVPE)) {
1451 /* tc is bound >vpe0 */
1452 write_tc_c0_tcbind(tmp & ~TCBIND_CURVPE);
1453
1454 t->pvpe = get_vpe(0); /* set the parent vpe */
1455 }
1250 1456
1251 tmp = read_tc_c0_tcstatus(); 1457 tmp = read_tc_c0_tcstatus();
1252 1458
1253 /* mark not allocated and not dynamically allocatable */ 1459 /* mark not activated and not dynamically allocatable */
1254 tmp &= ~(TCSTATUS_A | TCSTATUS_DA); 1460 tmp &= ~(TCSTATUS_A | TCSTATUS_DA);
1255 tmp |= TCSTATUS_IXMT; /* interrupt exempt */ 1461 tmp |= TCSTATUS_IXMT; /* interrupt exempt */
1256 write_tc_c0_tcstatus(tmp); 1462 write_tc_c0_tcstatus(tmp);
@@ -1262,6 +1468,9 @@ static int __init vpe_module_init(void)
1262 /* release config state */ 1468 /* release config state */
1263 clear_c0_mvpcontrol(MVPCONTROL_VPC); 1469 clear_c0_mvpcontrol(MVPCONTROL_VPC);
1264 1470
1471#ifdef CONFIG_MIPS_APSP_KSPD
1472 kspd_events.kspd_sp_exit = kspd_sp_exit;
1473#endif
1265 return 0; 1474 return 0;
1266} 1475}
1267 1476
@@ -1281,5 +1490,5 @@ static void __exit vpe_module_exit(void)
1281module_init(vpe_module_init); 1490module_init(vpe_module_init);
1282module_exit(vpe_module_exit); 1491module_exit(vpe_module_exit);
1283MODULE_DESCRIPTION("MIPS VPE Loader"); 1492MODULE_DESCRIPTION("MIPS VPE Loader");
1284MODULE_AUTHOR("Elizabeth Clarke, MIPS Technologies, Inc"); 1493MODULE_AUTHOR("Elizabeth Oldham, MIPS Technologies, Inc.");
1285MODULE_LICENSE("GPL"); 1494MODULE_LICENSE("GPL");
diff --git a/arch/mips/lasat/Makefile b/arch/mips/lasat/Makefile
index 0d5aec436725..99f5046fdf49 100644
--- a/arch/mips/lasat/Makefile
+++ b/arch/mips/lasat/Makefile
@@ -3,7 +3,7 @@
3# 3#
4 4
5obj-y += reset.o setup.o prom.o lasat_board.o \ 5obj-y += reset.o setup.o prom.o lasat_board.o \
6 at93c.o interrupt.o lasatIRQ.o 6 at93c.o interrupt.o
7 7
8obj-$(CONFIG_LASAT_SYSCTL) += sysctl.o 8obj-$(CONFIG_LASAT_SYSCTL) += sysctl.o
9obj-$(CONFIG_DS1603) += ds1603.o 9obj-$(CONFIG_DS1603) += ds1603.o
diff --git a/arch/mips/lasat/interrupt.c b/arch/mips/lasat/interrupt.c
index 852a41901a5e..2d3472b21ebb 100644
--- a/arch/mips/lasat/interrupt.c
+++ b/arch/mips/lasat/interrupt.c
@@ -27,14 +27,13 @@
27#include <asm/bootinfo.h> 27#include <asm/bootinfo.h>
28#include <asm/irq.h> 28#include <asm/irq.h>
29#include <asm/lasat/lasatint.h> 29#include <asm/lasat/lasatint.h>
30#include <asm/time.h>
30#include <asm/gdb-stub.h> 31#include <asm/gdb-stub.h>
31 32
32static volatile int *lasat_int_status = NULL; 33static volatile int *lasat_int_status = NULL;
33static volatile int *lasat_int_mask = NULL; 34static volatile int *lasat_int_mask = NULL;
34static volatile int lasat_int_mask_shift; 35static volatile int lasat_int_mask_shift;
35 36
36extern asmlinkage void lasatIRQ(void);
37
38void disable_lasat_irq(unsigned int irq_nr) 37void disable_lasat_irq(unsigned int irq_nr)
39{ 38{
40 unsigned long flags; 39 unsigned long flags;
@@ -109,11 +108,17 @@ static unsigned long get_int_status_200(void)
109 return int_status; 108 return int_status;
110} 109}
111 110
112void lasat_hw0_irqdispatch(struct pt_regs *regs) 111asmlinkage void plat_irq_dispatch(struct pt_regs *regs)
113{ 112{
114 unsigned long int_status; 113 unsigned long int_status;
114 unsigned int cause = read_c0_cause();
115 int irq; 115 int irq;
116 116
117 if (cause & CAUSEF_IP7) { /* R4000 count / compare IRQ */
118 ll_timer_interrupt(7, regs);
119 return;
120 }
121
117 int_status = get_int_status(); 122 int_status = get_int_status();
118 123
119 /* if int_status == 0, then the interrupt has already been cleared */ 124 /* if int_status == 0, then the interrupt has already been cleared */
@@ -147,9 +152,6 @@ void __init arch_init_irq(void)
147 panic("arch_init_irq: mips_machtype incorrect"); 152 panic("arch_init_irq: mips_machtype incorrect");
148 } 153 }
149 154
150 /* Now safe to set the exception vector. */
151 set_except_vector(0, lasatIRQ);
152
153 for (i = 0; i <= LASATINT_END; i++) { 155 for (i = 0; i <= LASATINT_END; i++) {
154 irq_desc[i].status = IRQ_DISABLED; 156 irq_desc[i].status = IRQ_DISABLED;
155 irq_desc[i].action = 0; 157 irq_desc[i].action = 0;
diff --git a/arch/mips/lasat/lasatIRQ.S b/arch/mips/lasat/lasatIRQ.S
deleted file mode 100644
index 2a2b0d056561..000000000000
--- a/arch/mips/lasat/lasatIRQ.S
+++ /dev/null
@@ -1,69 +0,0 @@
1/*
2 * Carsten Langgaard, carstenl@mips.com
3 * Copyright (C) 1999, 2000 MIPS Technologies, Inc. All rights reserved.
4 *
5 * This program is free software; you can distribute it and/or modify it
6 * under the terms of the GNU General Public License (Version 2) as
7 * published by the Free Software Foundation.
8 *
9 * This program is distributed in the hope it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12 * for more details.
13 *
14 * You should have received a copy of the GNU General Public License along
15 * with this program; if not, write to the Free Software Foundation, Inc.,
16 * 59 Temple Place - Suite 330, Boston MA 02111-1307, USA.
17 *
18 * Interrupt exception dispatch code.
19 */
20#include <asm/asm.h>
21#include <asm/mipsregs.h>
22#include <asm/regdef.h>
23#include <asm/stackframe.h>
24
25 .text
26 .set noreorder
27 .align 5
28 NESTED(lasatIRQ, PT_SIZE, sp)
29 .set noat
30 SAVE_ALL
31 CLI
32 .set at
33 .set noreorder
34
35 mfc0 s0, CP0_CAUSE # get irq mask
36
37 /* First we check for r4k counter/timer IRQ. */
38 andi a0, s0, CAUSEF_IP7
39 beq a0, zero, 1f
40 andi a0, s0, CAUSEF_IP2 # delay slot, check hw0 interrupt
41
42 /* Wheee, a timer interrupt. */
43 li a0, 7
44 jal ll_timer_interrupt
45 move a1, sp
46
47 j ret_from_irq
48 nop
49
501:
51 /* Wheee, combined hardware level zero interrupt. */
52 jal lasat_hw0_irqdispatch
53 move a0, sp # delay slot
54
55 j ret_from_irq
56 nop # delay slot
57
581:
59 /*
60 * Here by mistake? This is possible, what can happen is that by the
61 * time we take the exception the IRQ pin goes low, so just leave if
62 * this is the case.
63 */
64 move a1,s0
65 mfc0 a1, CP0_EPC
66
67 j ret_from_irq
68 nop
69 END(lasatIRQ)
diff --git a/arch/mips/math-emu/dp_fint.c b/arch/mips/math-emu/dp_fint.c
index a1962eb460f8..39a71de16f47 100644
--- a/arch/mips/math-emu/dp_fint.c
+++ b/arch/mips/math-emu/dp_fint.c
@@ -29,7 +29,9 @@
29 29
30ieee754dp ieee754dp_fint(int x) 30ieee754dp ieee754dp_fint(int x)
31{ 31{
32 COMPXDP; 32 u64 xm;
33 int xe;
34 int xs;
33 35
34 CLEARCX; 36 CLEARCX;
35 37
diff --git a/arch/mips/math-emu/dp_flong.c b/arch/mips/math-emu/dp_flong.c
index eae90a866aa1..f08f223e488a 100644
--- a/arch/mips/math-emu/dp_flong.c
+++ b/arch/mips/math-emu/dp_flong.c
@@ -29,7 +29,9 @@
29 29
30ieee754dp ieee754dp_flong(s64 x) 30ieee754dp ieee754dp_flong(s64 x)
31{ 31{
32 COMPXDP; 32 u64 xm;
33 int xe;
34 int xs;
33 35
34 CLEARCX; 36 CLEARCX;
35 37
diff --git a/arch/mips/math-emu/sp_fint.c b/arch/mips/math-emu/sp_fint.c
index 7aac13afb09a..e88e125e01c2 100644
--- a/arch/mips/math-emu/sp_fint.c
+++ b/arch/mips/math-emu/sp_fint.c
@@ -29,7 +29,9 @@
29 29
30ieee754sp ieee754sp_fint(int x) 30ieee754sp ieee754sp_fint(int x)
31{ 31{
32 COMPXSP; 32 unsigned xm;
33 int xe;
34 int xs;
33 35
34 CLEARCX; 36 CLEARCX;
35 37
diff --git a/arch/mips/math-emu/sp_flong.c b/arch/mips/math-emu/sp_flong.c
index 3d6c1d11c178..26d6919a269a 100644
--- a/arch/mips/math-emu/sp_flong.c
+++ b/arch/mips/math-emu/sp_flong.c
@@ -29,7 +29,9 @@
29 29
30ieee754sp ieee754sp_flong(s64 x) 30ieee754sp ieee754sp_flong(s64 x)
31{ 31{
32 COMPXDP; /* <--- need 64-bit mantissa temp */ 32 u64 xm; /* <--- need 64-bit mantissa temp */
33 int xe;
34 int xs;
33 35
34 CLEARCX; 36 CLEARCX;
35 37
diff --git a/arch/mips/mips-boards/atlas/atlas_int.c b/arch/mips/mips-boards/atlas/atlas_int.c
index bc0ebc69bfb3..db53950b7cfb 100644
--- a/arch/mips/mips-boards/atlas/atlas_int.c
+++ b/arch/mips/mips-boards/atlas/atlas_int.c
@@ -39,8 +39,6 @@
39 39
40static struct atlas_ictrl_regs *atlas_hw0_icregs; 40static struct atlas_ictrl_regs *atlas_hw0_icregs;
41 41
42extern asmlinkage void mipsIRQ(void);
43
44#if 0 42#if 0
45#define DEBUG_INT(x...) printk(x) 43#define DEBUG_INT(x...) printk(x)
46#else 44#else
@@ -98,7 +96,7 @@ static inline int ls1bit32(unsigned int x)
98 return b; 96 return b;
99} 97}
100 98
101void atlas_hw0_irqdispatch(struct pt_regs *regs) 99static inline void atlas_hw0_irqdispatch(struct pt_regs *regs)
102{ 100{
103 unsigned long int_status; 101 unsigned long int_status;
104 int irq; 102 int irq;
@@ -116,6 +114,91 @@ void atlas_hw0_irqdispatch(struct pt_regs *regs)
116 do_IRQ(irq, regs); 114 do_IRQ(irq, regs);
117} 115}
118 116
117static inline int clz(unsigned long x)
118{
119 __asm__ (
120 " .set push \n"
121 " .set mips32 \n"
122 " clz %0, %1 \n"
123 " .set pop \n"
124 : "=r" (x)
125 : "r" (x));
126
127 return x;
128}
129
130/*
131 * Version of ffs that only looks at bits 12..15.
132 */
133static inline unsigned int irq_ffs(unsigned int pending)
134{
135#if defined(CONFIG_CPU_MIPS32) || defined(CONFIG_CPU_MIPS64)
136 return -clz(pending) + 31 - CAUSEB_IP;
137#else
138 unsigned int a0 = 7;
139 unsigned int t0;
140
141 t0 = s0 & 0xf000;
142 t0 = t0 < 1;
143 t0 = t0 << 2;
144 a0 = a0 - t0;
145 s0 = s0 << t0;
146
147 t0 = s0 & 0xc000;
148 t0 = t0 < 1;
149 t0 = t0 << 1;
150 a0 = a0 - t0;
151 s0 = s0 << t0;
152
153 t0 = s0 & 0x8000;
154 t0 = t0 < 1;
155 //t0 = t0 << 2;
156 a0 = a0 - t0;
157 //s0 = s0 << t0;
158
159 return a0;
160#endif
161}
162
163/*
164 * IRQs on the Atlas board look basically (barring software IRQs which we
165 * don't use at all and all external interrupt sources are combined together
166 * on hardware interrupt 0 (MIPS IRQ 2)) like:
167 *
168 * MIPS IRQ Source
169 * -------- ------
170 * 0 Software (ignored)
171 * 1 Software (ignored)
172 * 2 Combined hardware interrupt (hw0)
173 * 3 Hardware (ignored)
174 * 4 Hardware (ignored)
175 * 5 Hardware (ignored)
176 * 6 Hardware (ignored)
177 * 7 R4k timer (what we use)
178 *
179 * We handle the IRQ according to _our_ priority which is:
180 *
181 * Highest ---- R4k Timer
182 * Lowest ---- Combined hardware interrupt
183 *
184 * then we just return, if multiple IRQs are pending then we will just take
185 * another exception, big deal.
186 */
187asmlinkage void plat_irq_dispatch(struct pt_regs *regs)
188{
189 unsigned int pending = read_c0_cause() & read_c0_status() & ST0_IM;
190 int irq;
191
192 irq = irq_ffs(pending);
193
194 if (irq == MIPSCPU_INT_ATLAS)
195 atlas_hw0_irqdispatch(regs);
196 else if (irq > 0)
197 do_IRQ(MIPSCPU_INT_BASE + irq, regs);
198 else
199 spurious_interrupt(regs);
200}
201
119void __init arch_init_irq(void) 202void __init arch_init_irq(void)
120{ 203{
121 int i; 204 int i;
@@ -128,9 +211,6 @@ void __init arch_init_irq(void)
128 */ 211 */
129 atlas_hw0_icregs->intrsten = 0xffffffff; 212 atlas_hw0_icregs->intrsten = 0xffffffff;
130 213
131 /* Now safe to set the exception vector. */
132 set_except_vector(0, mipsIRQ);
133
134 for (i = ATLASINT_BASE; i <= ATLASINT_END; i++) { 214 for (i = ATLASINT_BASE; i <= ATLASINT_END; i++) {
135 irq_desc[i].status = IRQ_DISABLED; 215 irq_desc[i].status = IRQ_DISABLED;
136 irq_desc[i].action = 0; 216 irq_desc[i].action = 0;
diff --git a/arch/mips/mips-boards/generic/Makefile b/arch/mips/mips-boards/generic/Makefile
index b21bc6887fa8..be47c1c2bc80 100644
--- a/arch/mips/mips-boards/generic/Makefile
+++ b/arch/mips/mips-boards/generic/Makefile
@@ -18,8 +18,8 @@
18# Makefile for the MIPS boards generic routines under Linux. 18# Makefile for the MIPS boards generic routines under Linux.
19# 19#
20 20
21obj-y := mipsIRQ.o reset.o display.o init.o memory.o \ 21obj-y := reset.o display.o init.o memory.o printf.o \
22 printf.o cmdline.o time.o 22 cmdline.o time.o
23obj-$(CONFIG_PCI) += pci.o 23obj-$(CONFIG_PCI) += pci.o
24obj-$(CONFIG_KGDB) += gdb_hook.o 24obj-$(CONFIG_KGDB) += gdb_hook.o
25 25
diff --git a/arch/mips/mips-boards/generic/gdb_hook.c b/arch/mips/mips-boards/generic/gdb_hook.c
index 91a2ccbe3730..6a1854de4579 100644
--- a/arch/mips/mips-boards/generic/gdb_hook.c
+++ b/arch/mips/mips-boards/generic/gdb_hook.c
@@ -25,7 +25,7 @@
25#include <asm/serial.h> 25#include <asm/serial.h>
26#include <asm/io.h> 26#include <asm/io.h>
27 27
28static struct serial_state rs_table[RS_TABLE_SIZE] = { 28static struct serial_state rs_table[] = {
29 SERIAL_PORT_DFNS /* Defined in serial.h */ 29 SERIAL_PORT_DFNS /* Defined in serial.h */
30}; 30};
31 31
diff --git a/arch/mips/mips-boards/generic/init.c b/arch/mips/mips-boards/generic/init.c
index eab5a705e989..df4e94735604 100644
--- a/arch/mips/mips-boards/generic/init.c
+++ b/arch/mips/mips-boards/generic/init.c
@@ -220,7 +220,6 @@ void __init kgdb_config (void)
220 generic_putDebugChar (*s++); 220 generic_putDebugChar (*s++);
221 } 221 }
222 222
223 kgdb_enabled = 1;
224 /* Breakpoint is invoked after interrupts are initialised */ 223 /* Breakpoint is invoked after interrupts are initialised */
225 } 224 }
226} 225}
@@ -338,6 +337,7 @@ void __init prom_init(void)
338 case MIPS_REVISION_CORID_CORE_MSC: 337 case MIPS_REVISION_CORID_CORE_MSC:
339 case MIPS_REVISION_CORID_CORE_FPGA2: 338 case MIPS_REVISION_CORID_CORE_FPGA2:
340 case MIPS_REVISION_CORID_CORE_FPGA3: 339 case MIPS_REVISION_CORID_CORE_FPGA3:
340 case MIPS_REVISION_CORID_CORE_24K:
341 case MIPS_REVISION_CORID_CORE_EMUL_MSC: 341 case MIPS_REVISION_CORID_CORE_EMUL_MSC:
342 _pcictrl_msc = (unsigned long)ioremap(MIPS_MSC01_PCI_REG_BASE, 0x2000); 342 _pcictrl_msc = (unsigned long)ioremap(MIPS_MSC01_PCI_REG_BASE, 0x2000);
343 343
diff --git a/arch/mips/mips-boards/generic/memory.c b/arch/mips/mips-boards/generic/memory.c
index 32c9210373ac..bc4d093685bb 100644
--- a/arch/mips/mips-boards/generic/memory.c
+++ b/arch/mips/mips-boards/generic/memory.c
@@ -22,10 +22,12 @@
22#include <linux/init.h> 22#include <linux/init.h>
23#include <linux/mm.h> 23#include <linux/mm.h>
24#include <linux/bootmem.h> 24#include <linux/bootmem.h>
25#include <linux/pfn.h>
25#include <linux/string.h> 26#include <linux/string.h>
26 27
27#include <asm/bootinfo.h> 28#include <asm/bootinfo.h>
28#include <asm/page.h> 29#include <asm/page.h>
30#include <asm/sections.h>
29 31
30#include <asm/mips-boards/prom.h> 32#include <asm/mips-boards/prom.h>
31 33
@@ -46,9 +48,6 @@ static char *mtypes[3] = {
46}; 48};
47#endif 49#endif
48 50
49/* References to section boundaries */
50extern char _end;
51
52struct prom_pmemblock * __init prom_getmdesc(void) 51struct prom_pmemblock * __init prom_getmdesc(void)
53{ 52{
54 char *memsize_str; 53 char *memsize_str;
@@ -106,10 +105,10 @@ struct prom_pmemblock * __init prom_getmdesc(void)
106 105
107 mdesc[3].type = yamon_dontuse; 106 mdesc[3].type = yamon_dontuse;
108 mdesc[3].base = 0x00100000; 107 mdesc[3].base = 0x00100000;
109 mdesc[3].size = CPHYSADDR(PAGE_ALIGN(&_end)) - mdesc[3].base; 108 mdesc[3].size = CPHYSADDR(PFN_ALIGN((unsigned long)&_end)) - mdesc[3].base;
110 109
111 mdesc[4].type = yamon_free; 110 mdesc[4].type = yamon_free;
112 mdesc[4].base = CPHYSADDR(PAGE_ALIGN(&_end)); 111 mdesc[4].base = CPHYSADDR(PFN_ALIGN(&_end));
113 mdesc[4].size = memsize - mdesc[4].base; 112 mdesc[4].size = memsize - mdesc[4].base;
114 113
115 return &mdesc[0]; 114 return &mdesc[0];
diff --git a/arch/mips/mips-boards/generic/mipsIRQ.S b/arch/mips/mips-boards/generic/mipsIRQ.S
deleted file mode 100644
index ddd5c73a2971..000000000000
--- a/arch/mips/mips-boards/generic/mipsIRQ.S
+++ /dev/null
@@ -1,155 +0,0 @@
1/*
2 * Carsten Langgaard, carstenl@mips.com
3 * Copyright (C) 1999, 2000 MIPS Technologies, Inc. All rights reserved.
4 *
5 * ########################################################################
6 *
7 * This program is free software; you can distribute it and/or modify it
8 * under the terms of the GNU General Public License (Version 2) as
9 * published by the Free Software Foundation.
10 *
11 * This program is distributed in the hope it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * for more details.
15 *
16 * You should have received a copy of the GNU General Public License along
17 * with this program; if not, write to the Free Software Foundation, Inc.,
18 * 59 Temple Place - Suite 330, Boston MA 02111-1307, USA.
19 *
20 * ########################################################################
21 *
22 * Interrupt exception dispatch code.
23 *
24 */
25#include <linux/config.h>
26
27#include <asm/asm.h>
28#include <asm/mipsregs.h>
29#include <asm/regdef.h>
30#include <asm/stackframe.h>
31
32#ifdef CONFIG_MIPS_ATLAS
33#include <asm/mips-boards/atlasint.h>
34#define CASCADE_IRQ MIPSCPU_INT_ATLAS
35#define CASCADE_DISPATCH atlas_hw0_irqdispatch
36#endif
37#ifdef CONFIG_MIPS_MALTA
38#include <asm/mips-boards/maltaint.h>
39#define CASCADE_IRQ MIPSCPU_INT_I8259A
40#define CASCADE_DISPATCH malta_hw0_irqdispatch
41#endif
42#ifdef CONFIG_MIPS_SEAD
43#include <asm/mips-boards/seadint.h>
44#endif
45
46/* A lot of complication here is taken away because:
47 *
48 * 1) We handle one interrupt and return, sitting in a loop and moving across
49 * all the pending IRQ bits in the cause register is _NOT_ the answer, the
50 * common case is one pending IRQ so optimize in that direction.
51 *
52 * 2) We need not check against bits in the status register IRQ mask, that
53 * would make this routine slow as hell.
54 *
55 * 3) Linux only thinks in terms of all IRQs on or all IRQs off, nothing in
56 * between like BSD spl() brain-damage.
57 *
58 * Furthermore, the IRQs on the MIPS board look basically (barring software
59 * IRQs which we don't use at all and all external interrupt sources are
60 * combined together on hardware interrupt 0 (MIPS IRQ 2)) like:
61 *
62 * MIPS IRQ Source
63 * -------- ------
64 * 0 Software (ignored)
65 * 1 Software (ignored)
66 * 2 Combined hardware interrupt (hw0)
67 * 3 Hardware (ignored)
68 * 4 Hardware (ignored)
69 * 5 Hardware (ignored)
70 * 6 Hardware (ignored)
71 * 7 R4k timer (what we use)
72 *
73 * Note: On the SEAD board thing are a little bit different.
74 * Here IRQ 2 (hw0) is wired to the UART0 and IRQ 3 (hw1) is wired
75 * wired to UART1.
76 *
77 * We handle the IRQ according to _our_ priority which is:
78 *
79 * Highest ---- R4k Timer
80 * Lowest ---- Combined hardware interrupt
81 *
82 * then we just return, if multiple IRQs are pending then we will just take
83 * another exception, big deal.
84 */
85
86 .text
87 .set noreorder
88 .set noat
89 .align 5
90 NESTED(mipsIRQ, PT_SIZE, sp)
91 SAVE_ALL
92 CLI
93 .set at
94
95 mfc0 s0, CP0_CAUSE # get irq bits
96 mfc0 s1, CP0_STATUS # get irq mask
97 andi s0, ST0_IM # CAUSE.CE may be non-zero!
98 and s0, s1
99
100#if defined(CONFIG_CPU_MIPS32) || defined(CONFIG_CPU_MIPS64)
101 .set mips32
102 clz a0, s0
103 .set mips0
104 negu a0
105 addu a0, 31-CAUSEB_IP
106 bltz a0, spurious
107#else
108 beqz s0, spurious
109 li a0, 7
110
111 and t0, s0, 0xf000
112 sltiu t0, t0, 1
113 sll t0, 2
114 subu a0, t0
115 sll s0, t0
116
117 and t0, s0, 0xc000
118 sltiu t0, t0, 1
119 sll t0, 1
120 subu a0, t0
121 sll s0, t0
122
123 and t0, s0, 0x8000
124 sltiu t0, t0, 1
125 # sll t0, 0
126 subu a0, t0
127 # sll s0, t0
128#endif
129
130#ifdef CASCADE_IRQ
131 li a1, CASCADE_IRQ
132 bne a0, a1, 1f
133 addu a0, MIPSCPU_INT_BASE
134
135 jal CASCADE_DISPATCH
136 move a0, sp
137
138 j ret_from_irq
139 nop
1401:
141#else
142 addu a0, MIPSCPU_INT_BASE
143#endif
144
145 jal do_IRQ
146 move a1, sp
147
148 j ret_from_irq
149 nop
150
151
152spurious:
153 j spurious_interrupt
154 nop
155 END(mipsIRQ)
diff --git a/arch/mips/mips-boards/generic/pci.c b/arch/mips/mips-boards/generic/pci.c
index 1f6f9df74ab2..9337f6c8873a 100644
--- a/arch/mips/mips-boards/generic/pci.c
+++ b/arch/mips/mips-boards/generic/pci.c
@@ -198,6 +198,7 @@ void __init mips_pcibios_init(void)
198 case MIPS_REVISION_CORID_CORE_MSC: 198 case MIPS_REVISION_CORID_CORE_MSC:
199 case MIPS_REVISION_CORID_CORE_FPGA2: 199 case MIPS_REVISION_CORID_CORE_FPGA2:
200 case MIPS_REVISION_CORID_CORE_FPGA3: 200 case MIPS_REVISION_CORID_CORE_FPGA3:
201 case MIPS_REVISION_CORID_CORE_24K:
201 case MIPS_REVISION_CORID_CORE_EMUL_MSC: 202 case MIPS_REVISION_CORID_CORE_EMUL_MSC:
202 /* Set up resource ranges from the controller's registers. */ 203 /* Set up resource ranges from the controller's registers. */
203 MSC_READ(MSC01_PCI_SC2PMBASL, start); 204 MSC_READ(MSC01_PCI_SC2PMBASL, start);
diff --git a/arch/mips/mips-boards/generic/time.c b/arch/mips/mips-boards/generic/time.c
index 93f3bf2c2b22..a9f6124b3a22 100644
--- a/arch/mips/mips-boards/generic/time.c
+++ b/arch/mips/mips-boards/generic/time.c
@@ -30,6 +30,7 @@
30#include <linux/mc146818rtc.h> 30#include <linux/mc146818rtc.h>
31 31
32#include <asm/mipsregs.h> 32#include <asm/mipsregs.h>
33#include <asm/mipsmtregs.h>
33#include <asm/ptrace.h> 34#include <asm/ptrace.h>
34#include <asm/hardirq.h> 35#include <asm/hardirq.h>
35#include <asm/irq.h> 36#include <asm/irq.h>
@@ -50,16 +51,23 @@ unsigned long cpu_khz;
50static char display_string[] = " LINUX ON ATLAS "; 51static char display_string[] = " LINUX ON ATLAS ";
51#endif 52#endif
52#if defined(CONFIG_MIPS_MALTA) 53#if defined(CONFIG_MIPS_MALTA)
54#if defined(CONFIG_MIPS_MT_SMTC)
55static char display_string[] = " SMTC LINUX ON MALTA ";
56#else
53static char display_string[] = " LINUX ON MALTA "; 57static char display_string[] = " LINUX ON MALTA ";
58#endif /* CONFIG_MIPS_MT_SMTC */
54#endif 59#endif
55#if defined(CONFIG_MIPS_SEAD) 60#if defined(CONFIG_MIPS_SEAD)
56static char display_string[] = " LINUX ON SEAD "; 61static char display_string[] = " LINUX ON SEAD ";
57#endif 62#endif
58static unsigned int display_count = 0; 63static unsigned int display_count;
59#define MAX_DISPLAY_COUNT (sizeof(display_string) - 8) 64#define MAX_DISPLAY_COUNT (sizeof(display_string) - 8)
60 65
61static unsigned int timer_tick_count=0; 66#define CPUCTR_IMASKBIT (0x100 << MIPSCPU_INT_CPUCTR)
67
68static unsigned int timer_tick_count;
62static int mips_cpu_timer_irq; 69static int mips_cpu_timer_irq;
70extern void smtc_timer_broadcast(int);
63 71
64static inline void scroll_display_message(void) 72static inline void scroll_display_message(void)
65{ 73{
@@ -75,15 +83,55 @@ static void mips_timer_dispatch (struct pt_regs *regs)
75 do_IRQ (mips_cpu_timer_irq, regs); 83 do_IRQ (mips_cpu_timer_irq, regs);
76} 84}
77 85
86/*
87 * Redeclare until I get around mopping the timer code insanity on MIPS.
88 */
78extern int null_perf_irq(struct pt_regs *regs); 89extern int null_perf_irq(struct pt_regs *regs);
79 90
80extern int (*perf_irq)(struct pt_regs *regs); 91extern int (*perf_irq)(struct pt_regs *regs);
81 92
82irqreturn_t mips_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) 93irqreturn_t mips_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs)
83{ 94{
84 int r2 = cpu_has_mips_r2;
85 int cpu = smp_processor_id(); 95 int cpu = smp_processor_id();
96 int r2 = cpu_has_mips_r2;
97
98#ifdef CONFIG_MIPS_MT_SMTC
99 /*
100 * In an SMTC system, one Count/Compare set exists per VPE.
101 * Which TC within a VPE gets the interrupt is essentially
102 * random - we only know that it shouldn't be one with
103 * IXMT set. Whichever TC gets the interrupt needs to
104 * send special interprocessor interrupts to the other
105 * TCs to make sure that they schedule, etc.
106 *
107 * That code is specific to the SMTC kernel, not to
108 * the a particular platform, so it's invoked from
109 * the general MIPS timer_interrupt routine.
110 */
111
112 /*
113 * DVPE is necessary so long as cross-VPE interrupts
114 * are done via read-modify-write of Cause register.
115 */
116 int vpflags = dvpe();
117 write_c0_compare (read_c0_count() - 1);
118 clear_c0_cause(CPUCTR_IMASKBIT);
119 evpe(vpflags);
120
121 if (cpu_data[cpu].vpe_id == 0) {
122 timer_interrupt(irq, dev_id, regs);
123 scroll_display_message();
124 } else
125 write_c0_compare (read_c0_count() + ( mips_hpt_frequency/HZ));
126 smtc_timer_broadcast(cpu_data[cpu].vpe_id);
86 127
128 if (cpu != 0)
129 /*
130 * Other CPUs should do profiling and process accounting
131 */
132 local_timer_interrupt(irq, dev_id, regs);
133
134#else /* CONFIG_MIPS_MT_SMTC */
87 if (cpu == 0) { 135 if (cpu == 0) {
88 /* 136 /*
89 * CPU 0 handles the global timer interrupt job and process 137 * CPU 0 handles the global timer interrupt job and process
@@ -107,12 +155,14 @@ irqreturn_t mips_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs)
107 * More support needs to be added to kernel/time for 155 * More support needs to be added to kernel/time for
108 * counter/timer interrupts on multiple CPU's 156 * counter/timer interrupts on multiple CPU's
109 */ 157 */
110 write_c0_compare (read_c0_count() + (mips_hpt_frequency/HZ)); 158 write_c0_compare(read_c0_count() + (mips_hpt_frequency/HZ));
159
111 /* 160 /*
112 * other CPUs should do profiling and process accounting 161 * Other CPUs should do profiling and process accounting
113 */ 162 */
114 local_timer_interrupt (irq, dev_id, regs); 163 local_timer_interrupt(irq, dev_id, regs);
115 } 164 }
165#endif /* CONFIG_MIPS_MT_SMTC */
116 166
117out: 167out:
118 return IRQ_HANDLED; 168 return IRQ_HANDLED;
@@ -126,7 +176,7 @@ static unsigned int __init estimate_cpu_frequency(void)
126 unsigned int prid = read_c0_prid() & 0xffff00; 176 unsigned int prid = read_c0_prid() & 0xffff00;
127 unsigned int count; 177 unsigned int count;
128 178
129#ifdef CONFIG_MIPS_SEAD 179#if defined(CONFIG_MIPS_SEAD) || defined(CONFIG_MIPS_SIM)
130 /* 180 /*
131 * The SEAD board doesn't have a real time clock, so we can't 181 * The SEAD board doesn't have a real time clock, so we can't
132 * really calculate the timer frequency 182 * really calculate the timer frequency
@@ -211,7 +261,11 @@ void __init mips_timer_setup(struct irqaction *irq)
211 261
212 /* we are using the cpu counter for timer interrupts */ 262 /* we are using the cpu counter for timer interrupts */
213 irq->handler = mips_timer_interrupt; /* we use our own handler */ 263 irq->handler = mips_timer_interrupt; /* we use our own handler */
264#ifdef CONFIG_MIPS_MT_SMTC
265 setup_irq_smtc(mips_cpu_timer_irq, irq, CPUCTR_IMASKBIT);
266#else
214 setup_irq(mips_cpu_timer_irq, irq); 267 setup_irq(mips_cpu_timer_irq, irq);
268#endif /* CONFIG_MIPS_MT_SMTC */
215 269
216#ifdef CONFIG_SMP 270#ifdef CONFIG_SMP
217 /* irq_desc(riptor) is a global resource, when the interrupt overlaps 271 /* irq_desc(riptor) is a global resource, when the interrupt overlaps
diff --git a/arch/mips/mips-boards/malta/Makefile b/arch/mips/mips-boards/malta/Makefile
index fd4c143c0e2f..77ee5c6d33c1 100644
--- a/arch/mips/mips-boards/malta/Makefile
+++ b/arch/mips/mips-boards/malta/Makefile
@@ -20,3 +20,4 @@
20# 20#
21 21
22obj-y := malta_int.o malta_setup.o 22obj-y := malta_int.o malta_setup.o
23obj-$(CONFIG_SMP) += malta_smp.o
diff --git a/arch/mips/mips-boards/malta/malta_int.c b/arch/mips/mips-boards/malta/malta_int.c
index d06dc5ad6c9e..7cc0ba4f553a 100644
--- a/arch/mips/mips-boards/malta/malta_int.c
+++ b/arch/mips/mips-boards/malta/malta_int.c
@@ -40,7 +40,6 @@
40#include <asm/mips-boards/msc01_pci.h> 40#include <asm/mips-boards/msc01_pci.h>
41#include <asm/msc01_ic.h> 41#include <asm/msc01_ic.h>
42 42
43extern asmlinkage void mipsIRQ(void);
44extern void mips_timer_interrupt(void); 43extern void mips_timer_interrupt(void);
45 44
46static DEFINE_SPINLOCK(mips_irq_lock); 45static DEFINE_SPINLOCK(mips_irq_lock);
@@ -58,6 +57,7 @@ static inline int mips_pcibios_iack(void)
58 case MIPS_REVISION_CORID_CORE_MSC: 57 case MIPS_REVISION_CORID_CORE_MSC:
59 case MIPS_REVISION_CORID_CORE_FPGA2: 58 case MIPS_REVISION_CORID_CORE_FPGA2:
60 case MIPS_REVISION_CORID_CORE_FPGA3: 59 case MIPS_REVISION_CORID_CORE_FPGA3:
60 case MIPS_REVISION_CORID_CORE_24K:
61 case MIPS_REVISION_CORID_CORE_EMUL_MSC: 61 case MIPS_REVISION_CORID_CORE_EMUL_MSC:
62 MSC_READ(MSC01_PCI_IACK, irq); 62 MSC_READ(MSC01_PCI_IACK, irq);
63 irq &= 0xff; 63 irq &= 0xff;
@@ -114,13 +114,14 @@ static inline int get_int(void)
114 return irq; 114 return irq;
115} 115}
116 116
117void malta_hw0_irqdispatch(struct pt_regs *regs) 117static void malta_hw0_irqdispatch(struct pt_regs *regs)
118{ 118{
119 int irq; 119 int irq;
120 120
121 irq = get_int(); 121 irq = get_int();
122 if (irq < 0) 122 if (irq < 0) {
123 return; /* interrupt has already been cleared */ 123 return; /* interrupt has already been cleared */
124 }
124 125
125 do_IRQ(MALTA_INT_BASE+irq, regs); 126 do_IRQ(MALTA_INT_BASE+irq, regs);
126} 127}
@@ -143,6 +144,7 @@ void corehi_irqdispatch(struct pt_regs *regs)
143 case MIPS_REVISION_CORID_CORE_MSC: 144 case MIPS_REVISION_CORID_CORE_MSC:
144 case MIPS_REVISION_CORID_CORE_FPGA2: 145 case MIPS_REVISION_CORID_CORE_FPGA2:
145 case MIPS_REVISION_CORID_CORE_FPGA3: 146 case MIPS_REVISION_CORID_CORE_FPGA3:
147 case MIPS_REVISION_CORID_CORE_24K:
146 case MIPS_REVISION_CORID_CORE_EMUL_MSC: 148 case MIPS_REVISION_CORID_CORE_EMUL_MSC:
147 ll_msc_irq(regs); 149 ll_msc_irq(regs);
148 break; 150 break;
@@ -182,6 +184,92 @@ void corehi_irqdispatch(struct pt_regs *regs)
182 die("CoreHi interrupt", regs); 184 die("CoreHi interrupt", regs);
183} 185}
184 186
187static inline int clz(unsigned long x)
188{
189 __asm__ (
190 " .set push \n"
191 " .set mips32 \n"
192 " clz %0, %1 \n"
193 " .set pop \n"
194 : "=r" (x)
195 : "r" (x));
196
197 return x;
198}
199
200/*
201 * Version of ffs that only looks at bits 12..15.
202 */
203static inline unsigned int irq_ffs(unsigned int pending)
204{
205#if defined(CONFIG_CPU_MIPS32) || defined(CONFIG_CPU_MIPS64)
206 return -clz(pending) + 31 - CAUSEB_IP;
207#else
208 unsigned int a0 = 7;
209 unsigned int t0;
210
211 t0 = s0 & 0xf000;
212 t0 = t0 < 1;
213 t0 = t0 << 2;
214 a0 = a0 - t0;
215 s0 = s0 << t0;
216
217 t0 = s0 & 0xc000;
218 t0 = t0 < 1;
219 t0 = t0 << 1;
220 a0 = a0 - t0;
221 s0 = s0 << t0;
222
223 t0 = s0 & 0x8000;
224 t0 = t0 < 1;
225 //t0 = t0 << 2;
226 a0 = a0 - t0;
227 //s0 = s0 << t0;
228
229 return a0;
230#endif
231}
232
233/*
234 * IRQs on the Malta board look basically (barring software IRQs which we
235 * don't use at all and all external interrupt sources are combined together
236 * on hardware interrupt 0 (MIPS IRQ 2)) like:
237 *
238 * MIPS IRQ Source
239 * -------- ------
240 * 0 Software (ignored)
241 * 1 Software (ignored)
242 * 2 Combined hardware interrupt (hw0)
243 * 3 Hardware (ignored)
244 * 4 Hardware (ignored)
245 * 5 Hardware (ignored)
246 * 6 Hardware (ignored)
247 * 7 R4k timer (what we use)
248 *
249 * We handle the IRQ according to _our_ priority which is:
250 *
251 * Highest ---- R4k Timer
252 * Lowest ---- Combined hardware interrupt
253 *
254 * then we just return, if multiple IRQs are pending then we will just take
255 * another exception, big deal.
256 */
257
258asmlinkage void plat_irq_dispatch(struct pt_regs *regs)
259{
260 unsigned int pending = read_c0_cause() & read_c0_status() & ST0_IM;
261 int irq;
262
263 irq = irq_ffs(pending);
264
265 if (irq == MIPSCPU_INT_I8259A)
266 malta_hw0_irqdispatch(regs);
267 else if (irq > 0)
268 do_IRQ(MIPSCPU_INT_BASE + irq, regs);
269 else
270 spurious_interrupt(regs);
271}
272
185static struct irqaction i8259irq = { 273static struct irqaction i8259irq = {
186 .handler = no_action, 274 .handler = no_action,
187 .name = "XT-PIC cascade" 275 .name = "XT-PIC cascade"
@@ -214,7 +302,6 @@ int __initdata msc_nr_eicirqs = sizeof(msc_eicirqmap)/sizeof(msc_irqmap_t);
214 302
215void __init arch_init_irq(void) 303void __init arch_init_irq(void)
216{ 304{
217 set_except_vector(0, mipsIRQ);
218 init_i8259_irqs(); 305 init_i8259_irqs();
219 306
220 if (!cpu_has_veic) 307 if (!cpu_has_veic)
@@ -224,6 +311,7 @@ void __init arch_init_irq(void)
224 case MIPS_REVISION_CORID_CORE_MSC: 311 case MIPS_REVISION_CORID_CORE_MSC:
225 case MIPS_REVISION_CORID_CORE_FPGA2: 312 case MIPS_REVISION_CORID_CORE_FPGA2:
226 case MIPS_REVISION_CORID_CORE_FPGA3: 313 case MIPS_REVISION_CORID_CORE_FPGA3:
314 case MIPS_REVISION_CORID_CORE_24K:
227 case MIPS_REVISION_CORID_CORE_EMUL_MSC: 315 case MIPS_REVISION_CORID_CORE_EMUL_MSC:
228 if (cpu_has_veic) 316 if (cpu_has_veic)
229 init_msc_irqs (MSC01E_INT_BASE, msc_eicirqmap, msc_nr_eicirqs); 317 init_msc_irqs (MSC01E_INT_BASE, msc_eicirqmap, msc_nr_eicirqs);
@@ -240,12 +328,17 @@ void __init arch_init_irq(void)
240 else if (cpu_has_vint) { 328 else if (cpu_has_vint) {
241 set_vi_handler (MIPSCPU_INT_I8259A, malta_hw0_irqdispatch); 329 set_vi_handler (MIPSCPU_INT_I8259A, malta_hw0_irqdispatch);
242 set_vi_handler (MIPSCPU_INT_COREHI, corehi_irqdispatch); 330 set_vi_handler (MIPSCPU_INT_COREHI, corehi_irqdispatch);
243 331#ifdef CONFIG_MIPS_MT_SMTC
332 setup_irq_smtc (MIPSCPU_INT_BASE+MIPSCPU_INT_I8259A, &i8259irq,
333 (0x100 << MIPSCPU_INT_I8259A));
334 setup_irq_smtc (MIPSCPU_INT_BASE+MIPSCPU_INT_COREHI,
335 &corehi_irqaction, (0x100 << MIPSCPU_INT_COREHI));
336#else /* Not SMTC */
244 setup_irq (MIPSCPU_INT_BASE+MIPSCPU_INT_I8259A, &i8259irq); 337 setup_irq (MIPSCPU_INT_BASE+MIPSCPU_INT_I8259A, &i8259irq);
245 setup_irq (MIPSCPU_INT_BASE+MIPSCPU_INT_COREHI, &corehi_irqaction); 338 setup_irq (MIPSCPU_INT_BASE+MIPSCPU_INT_COREHI, &corehi_irqaction);
339#endif /* CONFIG_MIPS_MT_SMTC */
246 } 340 }
247 else { 341 else {
248 set_except_vector(0, mipsIRQ);
249 setup_irq (MIPSCPU_INT_BASE+MIPSCPU_INT_I8259A, &i8259irq); 342 setup_irq (MIPSCPU_INT_BASE+MIPSCPU_INT_I8259A, &i8259irq);
250 setup_irq (MIPSCPU_INT_BASE+MIPSCPU_INT_COREHI, &corehi_irqaction); 343 setup_irq (MIPSCPU_INT_BASE+MIPSCPU_INT_COREHI, &corehi_irqaction);
251 } 344 }
diff --git a/arch/mips/mips-boards/malta/malta_smp.c b/arch/mips/mips-boards/malta/malta_smp.c
new file mode 100644
index 000000000000..6c6c8eeedbce
--- /dev/null
+++ b/arch/mips/mips-boards/malta/malta_smp.c
@@ -0,0 +1,128 @@
1/*
2 * Malta Platform-specific hooks for SMP operation
3 */
4
5#include <linux/kernel.h>
6#include <linux/sched.h>
7#include <linux/cpumask.h>
8#include <linux/interrupt.h>
9
10#include <asm/atomic.h>
11#include <asm/cpu.h>
12#include <asm/processor.h>
13#include <asm/system.h>
14#include <asm/hardirq.h>
15#include <asm/mmu_context.h>
16#include <asm/smp.h>
17#ifdef CONFIG_MIPS_MT_SMTC
18#include <asm/smtc_ipi.h>
19#endif /* CONFIG_MIPS_MT_SMTC */
20
21/* VPE/SMP Prototype implements platform interfaces directly */
22#if !defined(CONFIG_MIPS_MT_SMP)
23
24/*
25 * Cause the specified action to be performed on a targeted "CPU"
26 */
27
28void core_send_ipi(int cpu, unsigned int action)
29{
30/* "CPU" may be TC of same VPE, VPE of same CPU, or different CPU */
31#ifdef CONFIG_MIPS_MT_SMTC
32 smtc_send_ipi(cpu, LINUX_SMP_IPI, action);
33#endif /* CONFIG_MIPS_MT_SMTC */
34}
35
36/*
37 * Detect available CPUs/VPEs/TCs and populate phys_cpu_present_map
38 */
39
40void __init prom_build_cpu_map(void)
41{
42 int nextslot;
43
44 /*
45 * As of November, 2004, MIPSsim only simulates one core
46 * at a time. However, that core may be a MIPS MT core
47 * with multiple virtual processors and thread contexts.
48 */
49
50 if (read_c0_config3() & (1<<2)) {
51 nextslot = mipsmt_build_cpu_map(1);
52 }
53}
54
55/*
56 * Platform "CPU" startup hook
57 */
58
59void prom_boot_secondary(int cpu, struct task_struct *idle)
60{
61#ifdef CONFIG_MIPS_MT_SMTC
62 smtc_boot_secondary(cpu, idle);
63#endif /* CONFIG_MIPS_MT_SMTC */
64}
65
66/*
67 * Post-config but pre-boot cleanup entry point
68 */
69
70void prom_init_secondary(void)
71{
72#ifdef CONFIG_MIPS_MT_SMTC
73 void smtc_init_secondary(void);
74 int myvpe;
75
76 /* Don't enable Malta I/O interrupts (IP2) for secondary VPEs */
77 myvpe = read_c0_tcbind() & TCBIND_CURVPE;
78 if (myvpe != 0) {
79 /* Ideally, this should be done only once per VPE, but... */
80 clear_c0_status(STATUSF_IP2);
81 set_c0_status(STATUSF_IP0 | STATUSF_IP1 | STATUSF_IP3
82 | STATUSF_IP4 | STATUSF_IP5 | STATUSF_IP6
83 | STATUSF_IP7);
84 }
85
86 smtc_init_secondary();
87#endif /* CONFIG_MIPS_MT_SMTC */
88}
89
90/*
91 * Platform SMP pre-initialization
92 *
93 * As noted above, we can assume a single CPU for now
94 * but it may be multithreaded.
95 */
96
97void plat_smp_setup(void)
98{
99 if (read_c0_config3() & (1<<2))
100 mipsmt_build_cpu_map(0);
101}
102
103void __init plat_prepare_cpus(unsigned int max_cpus)
104{
105 if (read_c0_config3() & (1<<2))
106 mipsmt_prepare_cpus();
107}
108
109/*
110 * SMP initialization finalization entry point
111 */
112
113void prom_smp_finish(void)
114{
115#ifdef CONFIG_MIPS_MT_SMTC
116 smtc_smp_finish();
117#endif /* CONFIG_MIPS_MT_SMTC */
118}
119
120/*
121 * Hook for after all CPUs are online
122 */
123
124void prom_cpus_done(void)
125{
126}
127
128#endif /* CONFIG_MIPS32R2_MT_SMP */
diff --git a/arch/mips/mips-boards/sead/sead_int.c b/arch/mips/mips-boards/sead/sead_int.c
index 90fda0d9915f..9168d934c661 100644
--- a/arch/mips/mips-boards/sead/sead_int.c
+++ b/arch/mips/mips-boards/sead/sead_int.c
@@ -24,16 +24,94 @@
24#include <linux/irq.h> 24#include <linux/irq.h>
25 25
26#include <asm/irq_cpu.h> 26#include <asm/irq_cpu.h>
27#include <asm/mipsregs.h>
27#include <asm/system.h> 28#include <asm/system.h>
28 29
29#include <asm/mips-boards/seadint.h> 30#include <asm/mips-boards/seadint.h>
30 31
31extern asmlinkage void mipsIRQ(void); 32static inline int clz(unsigned long x)
33{
34 __asm__ (
35 " .set push \n"
36 " .set mips32 \n"
37 " clz %0, %1 \n"
38 " .set pop \n"
39 : "=r" (x)
40 : "r" (x));
41
42 return x;
43}
44
45/*
46 * Version of ffs that only looks at bits 12..15.
47 */
48static inline unsigned int irq_ffs(unsigned int pending)
49{
50#if defined(CONFIG_CPU_MIPS32) || defined(CONFIG_CPU_MIPS64)
51 return -clz(pending) + 31 - CAUSEB_IP;
52#else
53 unsigned int a0 = 7;
54 unsigned int t0;
55
56 t0 = s0 & 0xf000;
57 t0 = t0 < 1;
58 t0 = t0 << 2;
59 a0 = a0 - t0;
60 s0 = s0 << t0;
61
62 t0 = s0 & 0xc000;
63 t0 = t0 < 1;
64 t0 = t0 << 1;
65 a0 = a0 - t0;
66 s0 = s0 << t0;
67
68 t0 = s0 & 0x8000;
69 t0 = t0 < 1;
70 //t0 = t0 << 2;
71 a0 = a0 - t0;
72 //s0 = s0 << t0;
73
74 return a0;
75#endif
76}
77
78/*
79 * IRQs on the SEAD board look basically are combined together on hardware
80 * interrupt 0 (MIPS IRQ 2)) like:
81 *
82 * MIPS IRQ Source
83 * -------- ------
84 * 0 Software (ignored)
85 * 1 Software (ignored)
86 * 2 UART0 (hw0)
87 * 3 UART1 (hw1)
88 * 4 Hardware (ignored)
89 * 5 Hardware (ignored)
90 * 6 Hardware (ignored)
91 * 7 R4k timer (what we use)
92 *
93 * We handle the IRQ according to _our_ priority which is:
94 *
95 * Highest ---- R4k Timer
96 * Lowest ---- Combined hardware interrupt
97 *
98 * then we just return, if multiple IRQs are pending then we will just take
99 * another exception, big deal.
100 */
101asmlinkage void plat_irq_dispatch(struct pt_regs *regs)
102{
103 unsigned int pending = read_c0_cause() & read_c0_status() & ST0_IM;
104 int irq;
105
106 irq = irq_ffs(pending);
107
108 if (irq >= 0)
109 do_IRQ(MIPSCPU_INT_BASE + irq, regs);
110 else
111 spurious_interrupt(regs);
112}
32 113
33void __init arch_init_irq(void) 114void __init arch_init_irq(void)
34{ 115{
35 mips_cpu_irq_init(MIPSCPU_INT_BASE); 116 mips_cpu_irq_init(MIPSCPU_INT_BASE);
36
37 /* Now safe to set the exception vector. */
38 set_except_vector(0, mipsIRQ);
39} 117}
diff --git a/arch/mips/mips-boards/sim/cmdline.c b/arch/mips/mips-boards/sim/cmdline.c
deleted file mode 100644
index fef9fbd8e710..000000000000
--- a/arch/mips/mips-boards/sim/cmdline.c
+++ /dev/null
@@ -1,59 +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 * Kernel command line creation using the prom monitor (YAMON) argc/argv.
19 */
20#include <linux/init.h>
21#include <linux/string.h>
22
23#include <asm/bootinfo.h>
24
25extern int prom_argc;
26extern int *_prom_argv;
27
28/*
29 * YAMON (32-bit PROM) pass arguments and environment as 32-bit pointer.
30 * This macro take care of sign extension.
31 */
32#define prom_argv(index) ((char *)(((int *)(int)_prom_argv)[(index)]))
33
34char arcs_cmdline[CL_SIZE];
35
36char * __init prom_getcmdline(void)
37{
38 return &(arcs_cmdline[0]);
39}
40
41
42void __init prom_init_cmdline(void)
43{
44 char *cp;
45 int actr;
46
47 actr = 1; /* Always ignore argv[0] */
48
49 cp = &(arcs_cmdline[0]);
50 while(actr < prom_argc) {
51 strcpy(cp, prom_argv(actr));
52 cp += strlen(prom_argv(actr));
53 *cp++ = ' ';
54 actr++;
55 }
56 if (cp != &(arcs_cmdline[0])) /* get rid of trailing space */
57 --cp;
58 *cp = '\0';
59}
diff --git a/arch/mips/mips-boards/sim/sim_cmdline.c b/arch/mips/mips-boards/sim/sim_cmdline.c
index 9df37c6fca36..c63021a5dc6c 100644
--- a/arch/mips/mips-boards/sim/sim_cmdline.c
+++ b/arch/mips/mips-boards/sim/sim_cmdline.c
@@ -26,8 +26,10 @@ char * __init prom_getcmdline(void)
26 return arcs_cmdline; 26 return arcs_cmdline;
27} 27}
28 28
29
30void __init prom_init_cmdline(void) 29void __init prom_init_cmdline(void)
31{ 30{
32 /* nothing to do */ 31 char *cp;
32 cp = arcs_cmdline;
33 /* Get boot line from environment? */
34 *cp = '\0';
33} 35}
diff --git a/arch/mips/mips-boards/sim/sim_int.c b/arch/mips/mips-boards/sim/sim_int.c
index a4d0a2c05031..2c15c8efec4e 100644
--- a/arch/mips/mips-boards/sim/sim_int.c
+++ b/arch/mips/mips-boards/sim/sim_int.c
@@ -25,17 +25,71 @@
25 25
26extern void mips_cpu_irq_init(int); 26extern void mips_cpu_irq_init(int);
27 27
28extern asmlinkage void simIRQ(void); 28static inline int clz(unsigned long x)
29{
30 __asm__ (
31 " .set push \n"
32 " .set mips32 \n"
33 " clz %0, %1 \n"
34 " .set pop \n"
35 : "=r" (x)
36 : "r" (x));
37
38 return x;
39}
40
41/*
42 * Version of ffs that only looks at bits 12..15.
43 */
44static inline unsigned int irq_ffs(unsigned int pending)
45{
46#if defined(CONFIG_CPU_MIPS32) || defined(CONFIG_CPU_MIPS64)
47 return -clz(pending) + 31 - CAUSEB_IP;
48#else
49 unsigned int a0 = 7;
50 unsigned int t0;
51
52 t0 = s0 & 0xf000;
53 t0 = t0 < 1;
54 t0 = t0 << 2;
55 a0 = a0 - t0;
56 s0 = s0 << t0;
57
58 t0 = s0 & 0xc000;
59 t0 = t0 < 1;
60 t0 = t0 << 1;
61 a0 = a0 - t0;
62 s0 = s0 << t0;
29 63
30asmlinkage void sim_hw0_irqdispatch(struct pt_regs *regs) 64 t0 = s0 & 0x8000;
65 t0 = t0 < 1;
66 //t0 = t0 << 2;
67 a0 = a0 - t0;
68 //s0 = s0 << t0;
69
70 return a0;
71#endif
72}
73
74static inline void sim_hw0_irqdispatch(struct pt_regs *regs)
31{ 75{
32 do_IRQ(2, regs); 76 do_IRQ(2, regs);
33} 77}
34 78
35void __init arch_init_irq(void) 79asmlinkage void plat_irq_dispatch(struct pt_regs *regs)
36{ 80{
37 /* Now safe to set the exception vector. */ 81 unsigned int pending = read_c0_cause() & read_c0_status() & ST0_IM;
38 set_except_vector(0, simIRQ); 82 int irq;
83
84 irq = irq_ffs(pending);
39 85
86 if (irq > 0)
87 do_IRQ(MIPSCPU_INT_BASE + irq, regs);
88 else
89 spurious_interrupt(regs);
90}
91
92void __init arch_init_irq(void)
93{
40 mips_cpu_irq_init(MIPSCPU_INT_BASE); 94 mips_cpu_irq_init(MIPSCPU_INT_BASE);
41} 95}
diff --git a/arch/mips/mips-boards/sim/sim_irq.S b/arch/mips/mips-boards/sim/sim_irq.S
index da52297a2216..d16cf3822076 100644
--- a/arch/mips/mips-boards/sim/sim_irq.S
+++ b/arch/mips/mips-boards/sim/sim_irq.S
@@ -94,6 +94,8 @@
94 94
95 95
96spurious: 96spurious:
97 j spurious_interrupt 97 jal spurious_interrupt
98 nop
99 j ret_from_irq
98 nop 100 nop
99 END(simIRQ) 101 END(simIRQ)
diff --git a/arch/mips/mips-boards/sim/sim_mem.c b/arch/mips/mips-boards/sim/sim_mem.c
index e57f737bab10..f7ce76983328 100644
--- a/arch/mips/mips-boards/sim/sim_mem.c
+++ b/arch/mips/mips-boards/sim/sim_mem.c
@@ -18,9 +18,11 @@
18#include <linux/init.h> 18#include <linux/init.h>
19#include <linux/mm.h> 19#include <linux/mm.h>
20#include <linux/bootmem.h> 20#include <linux/bootmem.h>
21#include <linux/pfn.h>
21 22
22#include <asm/bootinfo.h> 23#include <asm/bootinfo.h>
23#include <asm/page.h> 24#include <asm/page.h>
25#include <asm/sections.h>
24 26
25#include <asm/mips-boards/prom.h> 27#include <asm/mips-boards/prom.h>
26 28
@@ -39,9 +41,6 @@ static char *mtypes[3] = {
39}; 41};
40#endif 42#endif
41 43
42/* References to section boundaries */
43extern char _end;
44
45struct prom_pmemblock * __init prom_getmdesc(void) 44struct prom_pmemblock * __init prom_getmdesc(void)
46{ 45{
47 unsigned int memsize; 46 unsigned int memsize;
@@ -61,10 +60,10 @@ struct prom_pmemblock * __init prom_getmdesc(void)
61 60
62 mdesc[2].type = simmem_reserved; 61 mdesc[2].type = simmem_reserved;
63 mdesc[2].base = 0x00100000; 62 mdesc[2].base = 0x00100000;
64 mdesc[2].size = CPHYSADDR(PAGE_ALIGN(&_end)) - mdesc[2].base; 63 mdesc[2].size = CPHYSADDR(PFN_ALIGN(&_end)) - mdesc[2].base;
65 64
66 mdesc[3].type = simmem_free; 65 mdesc[3].type = simmem_free;
67 mdesc[3].base = CPHYSADDR(PAGE_ALIGN(&_end)); 66 mdesc[3].base = CPHYSADDR(PFN_ALIGN(&_end));
68 mdesc[3].size = memsize - mdesc[3].base; 67 mdesc[3].size = memsize - mdesc[3].base;
69 68
70 return &mdesc[0]; 69 return &mdesc[0];
diff --git a/arch/mips/mips-boards/sim/sim_smp.c b/arch/mips/mips-boards/sim/sim_smp.c
index a9f0c2bfe4ad..b7084e7c4bf9 100644
--- a/arch/mips/mips-boards/sim/sim_smp.c
+++ b/arch/mips/mips-boards/sim/sim_smp.c
@@ -44,8 +44,6 @@
44void core_send_ipi(int cpu, unsigned int action) 44void core_send_ipi(int cpu, unsigned int action)
45{ 45{
46#ifdef CONFIG_MIPS_MT_SMTC 46#ifdef CONFIG_MIPS_MT_SMTC
47 void smtc_send_ipi(int, int, unsigned int);
48
49 smtc_send_ipi(cpu, LINUX_SMP_IPI, action); 47 smtc_send_ipi(cpu, LINUX_SMP_IPI, action);
50#endif /* CONFIG_MIPS_MT_SMTC */ 48#endif /* CONFIG_MIPS_MT_SMTC */
51/* "CPU" may be TC of same VPE, VPE of same CPU, or different CPU */ 49/* "CPU" may be TC of same VPE, VPE of same CPU, or different CPU */
@@ -59,15 +57,8 @@ void core_send_ipi(int cpu, unsigned int action)
59void __init prom_build_cpu_map(void) 57void __init prom_build_cpu_map(void)
60{ 58{
61#ifdef CONFIG_MIPS_MT_SMTC 59#ifdef CONFIG_MIPS_MT_SMTC
62 extern int mipsmt_build_cpu_map(int startslot);
63 int nextslot; 60 int nextslot;
64 61
65 cpus_clear(phys_cpu_present_map);
66
67 /* Register the boot CPU */
68
69 smp_prepare_boot_cpu();
70
71 /* 62 /*
72 * As of November, 2004, MIPSsim only simulates one core 63 * As of November, 2004, MIPSsim only simulates one core
73 * at a time. However, that core may be a MIPS MT core 64 * at a time. However, that core may be a MIPS MT core
@@ -87,8 +78,6 @@ void __init prom_build_cpu_map(void)
87void prom_boot_secondary(int cpu, struct task_struct *idle) 78void prom_boot_secondary(int cpu, struct task_struct *idle)
88{ 79{
89#ifdef CONFIG_MIPS_MT_SMTC 80#ifdef CONFIG_MIPS_MT_SMTC
90 extern void smtc_boot_secondary(int cpu, struct task_struct *t);
91
92 smtc_boot_secondary(cpu, idle); 81 smtc_boot_secondary(cpu, idle);
93#endif /* CONFIG_MIPS_MT_SMTC */ 82#endif /* CONFIG_MIPS_MT_SMTC */
94} 83}
@@ -113,7 +102,6 @@ void prom_init_secondary(void)
113void prom_prepare_cpus(unsigned int max_cpus) 102void prom_prepare_cpus(unsigned int max_cpus)
114{ 103{
115#ifdef CONFIG_MIPS_MT_SMTC 104#ifdef CONFIG_MIPS_MT_SMTC
116 void mipsmt_prepare_cpus(int c);
117 /* 105 /*
118 * As noted above, we can assume a single CPU for now 106 * As noted above, we can assume a single CPU for now
119 * but it may be multithreaded. 107 * but it may be multithreaded.
@@ -132,8 +120,6 @@ void prom_prepare_cpus(unsigned int max_cpus)
132void prom_smp_finish(void) 120void prom_smp_finish(void)
133{ 121{
134#ifdef CONFIG_MIPS_MT_SMTC 122#ifdef CONFIG_MIPS_MT_SMTC
135 void smtc_smp_finish(void);
136
137 smtc_smp_finish(); 123 smtc_smp_finish();
138#endif /* CONFIG_MIPS_MT_SMTC */ 124#endif /* CONFIG_MIPS_MT_SMTC */
139} 125}
diff --git a/arch/mips/mm/c-r3k.c b/arch/mips/mm/c-r3k.c
index 9dd1352d5748..bb041a22f20a 100644
--- a/arch/mips/mm/c-r3k.c
+++ b/arch/mips/mm/c-r3k.c
@@ -260,6 +260,10 @@ static void r3k_flush_cache_page(struct vm_area_struct *vma, unsigned long page,
260{ 260{
261} 261}
262 262
263static void local_r3k_flush_data_cache_page(unsigned long addr)
264{
265}
266
263static void r3k_flush_data_cache_page(unsigned long addr) 267static void r3k_flush_data_cache_page(unsigned long addr)
264{ 268{
265} 269}
@@ -335,6 +339,7 @@ void __init r3k_cache_init(void)
335 flush_icache_range = r3k_flush_icache_range; 339 flush_icache_range = r3k_flush_icache_range;
336 340
337 flush_cache_sigtramp = r3k_flush_cache_sigtramp; 341 flush_cache_sigtramp = r3k_flush_cache_sigtramp;
342 local_flush_data_cache_page = local_r3k_flush_data_cache_page;
338 flush_data_cache_page = r3k_flush_data_cache_page; 343 flush_data_cache_page = r3k_flush_data_cache_page;
339 344
340 _dma_cache_wback_inv = r3k_dma_cache_wback_inv; 345 _dma_cache_wback_inv = r3k_dma_cache_wback_inv;
diff --git a/arch/mips/mm/c-r4k.c b/arch/mips/mm/c-r4k.c
index 32b7f6aeb983..4a43924cd4fc 100644
--- a/arch/mips/mm/c-r4k.c
+++ b/arch/mips/mm/c-r4k.c
@@ -29,6 +29,27 @@
29#include <asm/war.h> 29#include <asm/war.h>
30#include <asm/cacheflush.h> /* for run_uncached() */ 30#include <asm/cacheflush.h> /* for run_uncached() */
31 31
32
33/*
34 * Special Variant of smp_call_function for use by cache functions:
35 *
36 * o No return value
37 * o collapses to normal function call on UP kernels
38 * o collapses to normal function call on systems with a single shared
39 * primary cache.
40 */
41static inline void r4k_on_each_cpu(void (*func) (void *info), void *info,
42 int retry, int wait)
43{
44 preempt_disable();
45
46#if !defined(CONFIG_MIPS_MT_SMP) && !defined(CONFIG_MIPS_MT_SMTC)
47 smp_call_function(func, info, retry, wait);
48#endif
49 func(info);
50 preempt_enable();
51}
52
32/* 53/*
33 * Must die. 54 * Must die.
34 */ 55 */
@@ -154,7 +175,8 @@ static inline void blast_icache32_r4600_v1_page_indexed(unsigned long page)
154 175
155static inline void tx49_blast_icache32_page_indexed(unsigned long page) 176static inline void tx49_blast_icache32_page_indexed(unsigned long page)
156{ 177{
157 unsigned long start = page; 178 unsigned long indexmask = current_cpu_data.icache.waysize - 1;
179 unsigned long start = INDEX_BASE + (page & indexmask);
158 unsigned long end = start + PAGE_SIZE; 180 unsigned long end = start + PAGE_SIZE;
159 unsigned long ws_inc = 1UL << current_cpu_data.icache.waybit; 181 unsigned long ws_inc = 1UL << current_cpu_data.icache.waybit;
160 unsigned long ws_end = current_cpu_data.icache.ways << 182 unsigned long ws_end = current_cpu_data.icache.ways <<
@@ -298,7 +320,7 @@ static void r4k_flush_cache_all(void)
298 if (!cpu_has_dc_aliases) 320 if (!cpu_has_dc_aliases)
299 return; 321 return;
300 322
301 on_each_cpu(local_r4k_flush_cache_all, NULL, 1, 1); 323 r4k_on_each_cpu(local_r4k_flush_cache_all, NULL, 1, 1);
302} 324}
303 325
304static inline void local_r4k___flush_cache_all(void * args) 326static inline void local_r4k___flush_cache_all(void * args)
@@ -313,13 +335,14 @@ static inline void local_r4k___flush_cache_all(void * args)
313 case CPU_R4400MC: 335 case CPU_R4400MC:
314 case CPU_R10000: 336 case CPU_R10000:
315 case CPU_R12000: 337 case CPU_R12000:
338 case CPU_R14000:
316 r4k_blast_scache(); 339 r4k_blast_scache();
317 } 340 }
318} 341}
319 342
320static void r4k___flush_cache_all(void) 343static void r4k___flush_cache_all(void)
321{ 344{
322 on_each_cpu(local_r4k___flush_cache_all, NULL, 1, 1); 345 r4k_on_each_cpu(local_r4k___flush_cache_all, NULL, 1, 1);
323} 346}
324 347
325static inline void local_r4k_flush_cache_range(void * args) 348static inline void local_r4k_flush_cache_range(void * args)
@@ -340,7 +363,7 @@ static inline void local_r4k_flush_cache_range(void * args)
340static void r4k_flush_cache_range(struct vm_area_struct *vma, 363static void r4k_flush_cache_range(struct vm_area_struct *vma,
341 unsigned long start, unsigned long end) 364 unsigned long start, unsigned long end)
342{ 365{
343 on_each_cpu(local_r4k_flush_cache_range, vma, 1, 1); 366 r4k_on_each_cpu(local_r4k_flush_cache_range, vma, 1, 1);
344} 367}
345 368
346static inline void local_r4k_flush_cache_mm(void * args) 369static inline void local_r4k_flush_cache_mm(void * args)
@@ -369,7 +392,7 @@ static void r4k_flush_cache_mm(struct mm_struct *mm)
369 if (!cpu_has_dc_aliases) 392 if (!cpu_has_dc_aliases)
370 return; 393 return;
371 394
372 on_each_cpu(local_r4k_flush_cache_mm, mm, 1, 1); 395 r4k_on_each_cpu(local_r4k_flush_cache_mm, mm, 1, 1);
373} 396}
374 397
375struct flush_cache_page_args { 398struct flush_cache_page_args {
@@ -460,7 +483,7 @@ static void r4k_flush_cache_page(struct vm_area_struct *vma,
460 args.addr = addr; 483 args.addr = addr;
461 args.pfn = pfn; 484 args.pfn = pfn;
462 485
463 on_each_cpu(local_r4k_flush_cache_page, &args, 1, 1); 486 r4k_on_each_cpu(local_r4k_flush_cache_page, &args, 1, 1);
464} 487}
465 488
466static inline void local_r4k_flush_data_cache_page(void * addr) 489static inline void local_r4k_flush_data_cache_page(void * addr)
@@ -470,7 +493,7 @@ static inline void local_r4k_flush_data_cache_page(void * addr)
470 493
471static void r4k_flush_data_cache_page(unsigned long addr) 494static void r4k_flush_data_cache_page(unsigned long addr)
472{ 495{
473 on_each_cpu(local_r4k_flush_data_cache_page, (void *) addr, 1, 1); 496 r4k_on_each_cpu(local_r4k_flush_data_cache_page, (void *) addr, 1, 1);
474} 497}
475 498
476struct flush_icache_range_args { 499struct flush_icache_range_args {
@@ -513,7 +536,7 @@ static void r4k_flush_icache_range(unsigned long start, unsigned long end)
513 args.start = start; 536 args.start = start;
514 args.end = end; 537 args.end = end;
515 538
516 on_each_cpu(local_r4k_flush_icache_range, &args, 1, 1); 539 r4k_on_each_cpu(local_r4k_flush_icache_range, &args, 1, 1);
517 instruction_hazard(); 540 instruction_hazard();
518} 541}
519 542
@@ -589,7 +612,7 @@ static void r4k_flush_icache_page(struct vm_area_struct *vma,
589 args.vma = vma; 612 args.vma = vma;
590 args.page = page; 613 args.page = page;
591 614
592 on_each_cpu(local_r4k_flush_icache_page, &args, 1, 1); 615 r4k_on_each_cpu(local_r4k_flush_icache_page, &args, 1, 1);
593} 616}
594 617
595 618
@@ -688,7 +711,7 @@ static void local_r4k_flush_cache_sigtramp(void * arg)
688 711
689static void r4k_flush_cache_sigtramp(unsigned long addr) 712static void r4k_flush_cache_sigtramp(unsigned long addr)
690{ 713{
691 on_each_cpu(local_r4k_flush_cache_sigtramp, (void *) addr, 1, 1); 714 r4k_on_each_cpu(local_r4k_flush_cache_sigtramp, (void *) addr, 1, 1);
692} 715}
693 716
694static void r4k_flush_icache_all(void) 717static void r4k_flush_icache_all(void)
@@ -749,12 +772,12 @@ static void __init probe_pcache(void)
749 icache_size = 1 << (12 + ((config & CONF_IC) >> 9)); 772 icache_size = 1 << (12 + ((config & CONF_IC) >> 9));
750 c->icache.linesz = 16 << ((config & CONF_IB) >> 5); 773 c->icache.linesz = 16 << ((config & CONF_IB) >> 5);
751 c->icache.ways = 2; 774 c->icache.ways = 2;
752 c->icache.waybit = ffs(icache_size/2) - 1; 775 c->icache.waybit = __ffs(icache_size/2);
753 776
754 dcache_size = 1 << (12 + ((config & CONF_DC) >> 6)); 777 dcache_size = 1 << (12 + ((config & CONF_DC) >> 6));
755 c->dcache.linesz = 16 << ((config & CONF_DB) >> 4); 778 c->dcache.linesz = 16 << ((config & CONF_DB) >> 4);
756 c->dcache.ways = 2; 779 c->dcache.ways = 2;
757 c->dcache.waybit= ffs(dcache_size/2) - 1; 780 c->dcache.waybit= __ffs(dcache_size/2);
758 781
759 c->options |= MIPS_CPU_CACHE_CDEX_P; 782 c->options |= MIPS_CPU_CACHE_CDEX_P;
760 break; 783 break;
@@ -811,6 +834,7 @@ static void __init probe_pcache(void)
811 834
812 case CPU_R10000: 835 case CPU_R10000:
813 case CPU_R12000: 836 case CPU_R12000:
837 case CPU_R14000:
814 icache_size = 1 << (12 + ((config & R10K_CONF_IC) >> 29)); 838 icache_size = 1 << (12 + ((config & R10K_CONF_IC) >> 29));
815 c->icache.linesz = 64; 839 c->icache.linesz = 64;
816 c->icache.ways = 2; 840 c->icache.ways = 2;
@@ -837,12 +861,12 @@ static void __init probe_pcache(void)
837 icache_size = 1 << (10 + ((config & CONF_IC) >> 9)); 861 icache_size = 1 << (10 + ((config & CONF_IC) >> 9));
838 c->icache.linesz = 16 << ((config & CONF_IB) >> 5); 862 c->icache.linesz = 16 << ((config & CONF_IB) >> 5);
839 c->icache.ways = 2; 863 c->icache.ways = 2;
840 c->icache.waybit = ffs(icache_size/2) - 1; 864 c->icache.waybit = __ffs(icache_size/2);
841 865
842 dcache_size = 1 << (10 + ((config & CONF_DC) >> 6)); 866 dcache_size = 1 << (10 + ((config & CONF_DC) >> 6));
843 c->dcache.linesz = 16 << ((config & CONF_DB) >> 4); 867 c->dcache.linesz = 16 << ((config & CONF_DB) >> 4);
844 c->dcache.ways = 2; 868 c->dcache.ways = 2;
845 c->dcache.waybit = ffs(dcache_size/2) - 1; 869 c->dcache.waybit = __ffs(dcache_size/2);
846 870
847 c->options |= MIPS_CPU_CACHE_CDEX_P; 871 c->options |= MIPS_CPU_CACHE_CDEX_P;
848 break; 872 break;
@@ -873,12 +897,12 @@ static void __init probe_pcache(void)
873 icache_size = 1 << (12 + ((config & CONF_IC) >> 9)); 897 icache_size = 1 << (12 + ((config & CONF_IC) >> 9));
874 c->icache.linesz = 16 << ((config & CONF_IB) >> 5); 898 c->icache.linesz = 16 << ((config & CONF_IB) >> 5);
875 c->icache.ways = 4; 899 c->icache.ways = 4;
876 c->icache.waybit = ffs(icache_size / c->icache.ways) - 1; 900 c->icache.waybit = __ffs(icache_size / c->icache.ways);
877 901
878 dcache_size = 1 << (12 + ((config & CONF_DC) >> 6)); 902 dcache_size = 1 << (12 + ((config & CONF_DC) >> 6));
879 c->dcache.linesz = 16 << ((config & CONF_DB) >> 4); 903 c->dcache.linesz = 16 << ((config & CONF_DB) >> 4);
880 c->dcache.ways = 4; 904 c->dcache.ways = 4;
881 c->dcache.waybit = ffs(dcache_size / c->dcache.ways) - 1; 905 c->dcache.waybit = __ffs(dcache_size / c->dcache.ways);
882 906
883#if !defined(CONFIG_SMP) || !defined(RM9000_CDEX_SMP_WAR) 907#if !defined(CONFIG_SMP) || !defined(RM9000_CDEX_SMP_WAR)
884 c->options |= MIPS_CPU_CACHE_CDEX_P; 908 c->options |= MIPS_CPU_CACHE_CDEX_P;
@@ -906,7 +930,7 @@ static void __init probe_pcache(void)
906 icache_size = c->icache.sets * 930 icache_size = c->icache.sets *
907 c->icache.ways * 931 c->icache.ways *
908 c->icache.linesz; 932 c->icache.linesz;
909 c->icache.waybit = ffs(icache_size/c->icache.ways) - 1; 933 c->icache.waybit = __ffs(icache_size/c->icache.ways);
910 934
911 if (config & 0x8) /* VI bit */ 935 if (config & 0x8) /* VI bit */
912 c->icache.flags |= MIPS_CACHE_VTAG; 936 c->icache.flags |= MIPS_CACHE_VTAG;
@@ -926,7 +950,7 @@ static void __init probe_pcache(void)
926 dcache_size = c->dcache.sets * 950 dcache_size = c->dcache.sets *
927 c->dcache.ways * 951 c->dcache.ways *
928 c->dcache.linesz; 952 c->dcache.linesz;
929 c->dcache.waybit = ffs(dcache_size/c->dcache.ways) - 1; 953 c->dcache.waybit = __ffs(dcache_size/c->dcache.ways);
930 954
931 c->options |= MIPS_CPU_PREFETCH; 955 c->options |= MIPS_CPU_PREFETCH;
932 break; 956 break;
@@ -964,9 +988,11 @@ static void __init probe_pcache(void)
964 c->dcache.flags |= MIPS_CACHE_PINDEX; 988 c->dcache.flags |= MIPS_CACHE_PINDEX;
965 case CPU_R10000: 989 case CPU_R10000:
966 case CPU_R12000: 990 case CPU_R12000:
991 case CPU_R14000:
967 case CPU_SB1: 992 case CPU_SB1:
968 break; 993 break;
969 case CPU_24K: 994 case CPU_24K:
995 case CPU_34K:
970 if (!(read_c0_config7() & (1 << 16))) 996 if (!(read_c0_config7() & (1 << 16)))
971 default: 997 default:
972 if (c->dcache.waysize > PAGE_SIZE) 998 if (c->dcache.waysize > PAGE_SIZE)
@@ -1090,6 +1116,7 @@ static void __init setup_scache(void)
1090 1116
1091 case CPU_R10000: 1117 case CPU_R10000:
1092 case CPU_R12000: 1118 case CPU_R12000:
1119 case CPU_R14000:
1093 scache_size = 0x80000 << ((config & R10K_CONF_SS) >> 16); 1120 scache_size = 0x80000 << ((config & R10K_CONF_SS) >> 16);
1094 c->scache.linesz = 64 << ((config >> 13) & 1); 1121 c->scache.linesz = 64 << ((config >> 13) & 1);
1095 c->scache.ways = 2; 1122 c->scache.ways = 2;
@@ -1134,6 +1161,31 @@ static void __init setup_scache(void)
1134 c->options |= MIPS_CPU_SUBSET_CACHES; 1161 c->options |= MIPS_CPU_SUBSET_CACHES;
1135} 1162}
1136 1163
1164void au1x00_fixup_config_od(void)
1165{
1166 /*
1167 * c0_config.od (bit 19) was write only (and read as 0)
1168 * on the early revisions of Alchemy SOCs. It disables the bus
1169 * transaction overlapping and needs to be set to fix various errata.
1170 */
1171 switch (read_c0_prid()) {
1172 case 0x00030100: /* Au1000 DA */
1173 case 0x00030201: /* Au1000 HA */
1174 case 0x00030202: /* Au1000 HB */
1175 case 0x01030200: /* Au1500 AB */
1176 /*
1177 * Au1100 errata actually keeps silence about this bit, so we set it
1178 * just in case for those revisions that require it to be set according
1179 * to arch/mips/au1000/common/cputable.c
1180 */
1181 case 0x02030200: /* Au1100 AB */
1182 case 0x02030201: /* Au1100 BA */
1183 case 0x02030202: /* Au1100 BC */
1184 set_c0_config(1 << 19);
1185 break;
1186 }
1187}
1188
1137static inline void coherency_setup(void) 1189static inline void coherency_setup(void)
1138{ 1190{
1139 change_c0_config(CONF_CM_CMASK, CONF_CM_DEFAULT); 1191 change_c0_config(CONF_CM_CMASK, CONF_CM_DEFAULT);
@@ -1154,6 +1206,15 @@ static inline void coherency_setup(void)
1154 case CPU_R4400MC: 1206 case CPU_R4400MC:
1155 clear_c0_config(CONF_CU); 1207 clear_c0_config(CONF_CU);
1156 break; 1208 break;
1209 /*
1210 * We need to catch the ealry Alchemy SOCs with
1211 * the write-only co_config.od bit and set it back to one...
1212 */
1213 case CPU_AU1000: /* rev. DA, HA, HB */
1214 case CPU_AU1100: /* rev. AB, BA, BC ?? */
1215 case CPU_AU1500: /* rev. AB */
1216 au1x00_fixup_config_od();
1217 break;
1157 } 1218 }
1158} 1219}
1159 1220
@@ -1198,6 +1259,7 @@ void __init r4k_cache_init(void)
1198 1259
1199 flush_cache_sigtramp = r4k_flush_cache_sigtramp; 1260 flush_cache_sigtramp = r4k_flush_cache_sigtramp;
1200 flush_icache_all = r4k_flush_icache_all; 1261 flush_icache_all = r4k_flush_icache_all;
1262 local_flush_data_cache_page = local_r4k_flush_data_cache_page;
1201 flush_data_cache_page = r4k_flush_data_cache_page; 1263 flush_data_cache_page = r4k_flush_data_cache_page;
1202 flush_icache_range = r4k_flush_icache_range; 1264 flush_icache_range = r4k_flush_icache_range;
1203 1265
diff --git a/arch/mips/mm/c-sb1.c b/arch/mips/mm/c-sb1.c
index 2f08b535f20e..f9b129491b1e 100644
--- a/arch/mips/mm/c-sb1.c
+++ b/arch/mips/mm/c-sb1.c
@@ -528,6 +528,7 @@ void sb1_cache_init(void)
528 flush_cache_page = sb1_flush_cache_page; 528 flush_cache_page = sb1_flush_cache_page;
529 529
530 flush_cache_sigtramp = sb1_flush_cache_sigtramp; 530 flush_cache_sigtramp = sb1_flush_cache_sigtramp;
531 local_flush_data_cache_page = (void *) sb1_nop;
531 flush_data_cache_page = (void *) sb1_nop; 532 flush_data_cache_page = (void *) sb1_nop;
532 533
533 /* Full flush */ 534 /* Full flush */
diff --git a/arch/mips/mm/c-tx39.c b/arch/mips/mm/c-tx39.c
index fe232e3988e3..5dfc9b1901f6 100644
--- a/arch/mips/mm/c-tx39.c
+++ b/arch/mips/mm/c-tx39.c
@@ -216,6 +216,11 @@ static void tx39_flush_cache_page(struct vm_area_struct *vma, unsigned long page
216 tx39_blast_icache_page_indexed(page); 216 tx39_blast_icache_page_indexed(page);
217} 217}
218 218
219static void local_tx39_flush_data_cache_page(void * addr)
220{
221 tx39_blast_dcache_page(addr);
222}
223
219static void tx39_flush_data_cache_page(unsigned long addr) 224static void tx39_flush_data_cache_page(unsigned long addr)
220{ 225{
221 tx39_blast_dcache_page(addr); 226 tx39_blast_dcache_page(addr);
@@ -381,6 +386,7 @@ void __init tx39_cache_init(void)
381 flush_icache_range = (void *) tx39h_flush_icache_all; 386 flush_icache_range = (void *) tx39h_flush_icache_all;
382 387
383 flush_cache_sigtramp = (void *) tx39h_flush_icache_all; 388 flush_cache_sigtramp = (void *) tx39h_flush_icache_all;
389 local_flush_data_cache_page = (void *) tx39h_flush_icache_all;
384 flush_data_cache_page = (void *) tx39h_flush_icache_all; 390 flush_data_cache_page = (void *) tx39h_flush_icache_all;
385 391
386 _dma_cache_wback_inv = tx39h_dma_cache_wback_inv; 392 _dma_cache_wback_inv = tx39h_dma_cache_wback_inv;
@@ -406,6 +412,7 @@ void __init tx39_cache_init(void)
406 flush_icache_range = tx39_flush_icache_range; 412 flush_icache_range = tx39_flush_icache_range;
407 413
408 flush_cache_sigtramp = tx39_flush_cache_sigtramp; 414 flush_cache_sigtramp = tx39_flush_cache_sigtramp;
415 local_flush_data_cache_page = local_tx39_flush_data_cache_page;
409 flush_data_cache_page = tx39_flush_data_cache_page; 416 flush_data_cache_page = tx39_flush_data_cache_page;
410 417
411 _dma_cache_wback_inv = tx39_dma_cache_wback_inv; 418 _dma_cache_wback_inv = tx39_dma_cache_wback_inv;
diff --git a/arch/mips/mm/cache.c b/arch/mips/mm/cache.c
index 591c22b080e4..83a56296be86 100644
--- a/arch/mips/mm/cache.c
+++ b/arch/mips/mm/cache.c
@@ -30,6 +30,7 @@ void (*flush_icache_page)(struct vm_area_struct *vma, struct page *page);
30 30
31/* MIPS specific cache operations */ 31/* MIPS specific cache operations */
32void (*flush_cache_sigtramp)(unsigned long addr); 32void (*flush_cache_sigtramp)(unsigned long addr);
33void (*local_flush_data_cache_page)(void * addr);
33void (*flush_data_cache_page)(unsigned long addr); 34void (*flush_data_cache_page)(unsigned long addr);
34void (*flush_icache_all)(void); 35void (*flush_icache_all)(void);
35 36
diff --git a/arch/mips/mm/fault.c b/arch/mips/mm/fault.c
index 2d9624fd10ec..e3a617224868 100644
--- a/arch/mips/mm/fault.c
+++ b/arch/mips/mm/fault.c
@@ -157,7 +157,6 @@ no_context:
157 * Oops. The kernel tried to access some bad page. We'll have to 157 * Oops. The kernel tried to access some bad page. We'll have to
158 * terminate things with extreme prejudice. 158 * terminate things with extreme prejudice.
159 */ 159 */
160
161 bust_spinlocks(1); 160 bust_spinlocks(1);
162 161
163 printk(KERN_ALERT "CPU %d Unable to handle kernel paging request at " 162 printk(KERN_ALERT "CPU %d Unable to handle kernel paging request at "
@@ -188,11 +187,20 @@ do_sigbus:
188 /* Kernel mode? Handle exceptions or die */ 187 /* Kernel mode? Handle exceptions or die */
189 if (!user_mode(regs)) 188 if (!user_mode(regs))
190 goto no_context; 189 goto no_context;
191 190 else
192 /* 191 /*
193 * Send a sigbus, regardless of whether we were in kernel 192 * Send a sigbus, regardless of whether we were in kernel
194 * or user mode. 193 * or user mode.
195 */ 194 */
195#if 0
196 printk("do_page_fault() #3: sending SIGBUS to %s for "
197 "invalid %s\n%0*lx (epc == %0*lx, ra == %0*lx)\n",
198 tsk->comm,
199 write ? "write access to" : "read access from",
200 field, address,
201 field, (unsigned long) regs->cp0_epc,
202 field, (unsigned long) regs->regs[31]);
203#endif
196 tsk->thread.cp0_badvaddr = address; 204 tsk->thread.cp0_badvaddr = address;
197 info.si_signo = SIGBUS; 205 info.si_signo = SIGBUS;
198 info.si_errno = 0; 206 info.si_errno = 0;
@@ -201,7 +209,6 @@ do_sigbus:
201 force_sig_info(SIGBUS, &info, tsk); 209 force_sig_info(SIGBUS, &info, tsk);
202 210
203 return; 211 return;
204
205vmalloc_fault: 212vmalloc_fault:
206 { 213 {
207 /* 214 /*
diff --git a/arch/mips/mm/highmem.c b/arch/mips/mm/highmem.c
index 1f7b37b38f5c..0c544375b856 100644
--- a/arch/mips/mm/highmem.c
+++ b/arch/mips/mm/highmem.c
@@ -83,6 +83,7 @@ void __kunmap_atomic(void *kvaddr, enum km_type type)
83 preempt_check_resched(); 83 preempt_check_resched();
84} 84}
85 85
86#ifndef CONFIG_LIMITED_DMA
86/* 87/*
87 * This is the same as kmap_atomic() but can map memory that doesn't 88 * This is the same as kmap_atomic() but can map memory that doesn't
88 * have a struct page associated with it. 89 * have a struct page associated with it.
@@ -101,6 +102,7 @@ void *kmap_atomic_pfn(unsigned long pfn, enum km_type type)
101 102
102 return (void*) vaddr; 103 return (void*) vaddr;
103} 104}
105#endif /* CONFIG_LIMITED_DMA */
104 106
105struct page *__kmap_atomic_to_page(void *ptr) 107struct page *__kmap_atomic_to_page(void *ptr)
106{ 108{
diff --git a/arch/mips/mm/init.c b/arch/mips/mm/init.c
index ad89c442f299..33f6e1cdfd5b 100644
--- a/arch/mips/mm/init.c
+++ b/arch/mips/mm/init.c
@@ -227,7 +227,7 @@ void __init mem_init(void)
227 for (tmp = 0; tmp < max_low_pfn; tmp++) 227 for (tmp = 0; tmp < max_low_pfn; tmp++)
228 if (page_is_ram(tmp)) { 228 if (page_is_ram(tmp)) {
229 ram++; 229 ram++;
230 if (PageReserved(mem_map+tmp)) 230 if (PageReserved(pfn_to_page(tmp)))
231 reservedpages++; 231 reservedpages++;
232 } 232 }
233 233
@@ -276,6 +276,20 @@ void __init mem_init(void)
276} 276}
277#endif /* !CONFIG_NEED_MULTIPLE_NODES */ 277#endif /* !CONFIG_NEED_MULTIPLE_NODES */
278 278
279void free_init_pages(char *what, unsigned long begin, unsigned long end)
280{
281 unsigned long addr;
282
283 for (addr = begin; addr < end; addr += PAGE_SIZE) {
284 ClearPageReserved(virt_to_page(addr));
285 init_page_count(virt_to_page(addr));
286 memset((void *)addr, 0xcc, PAGE_SIZE);
287 free_page(addr);
288 totalram_pages++;
289 }
290 printk(KERN_INFO "Freeing %s: %ldk freed\n", what, (end - begin) >> 10);
291}
292
279#ifdef CONFIG_BLK_DEV_INITRD 293#ifdef CONFIG_BLK_DEV_INITRD
280void free_initrd_mem(unsigned long start, unsigned long end) 294void free_initrd_mem(unsigned long start, unsigned long end)
281{ 295{
@@ -284,16 +298,7 @@ void free_initrd_mem(unsigned long start, unsigned long end)
284 start = (unsigned long)phys_to_virt(CPHYSADDR(start)); 298 start = (unsigned long)phys_to_virt(CPHYSADDR(start));
285 end = (unsigned long)phys_to_virt(CPHYSADDR(end)); 299 end = (unsigned long)phys_to_virt(CPHYSADDR(end));
286#endif 300#endif
287 if (start < end) 301 free_init_pages("initrd memory", start, end);
288 printk(KERN_INFO "Freeing initrd memory: %ldk freed\n",
289 (end - start) >> 10);
290
291 for (; start < end; start += PAGE_SIZE) {
292 ClearPageReserved(virt_to_page(start));
293 init_page_count(virt_to_page(start));
294 free_page(start);
295 totalram_pages++;
296 }
297} 302}
298#endif 303#endif
299 304
@@ -301,24 +306,17 @@ extern unsigned long prom_free_prom_memory(void);
301 306
302void free_initmem(void) 307void free_initmem(void)
303{ 308{
304 unsigned long addr, page, freed; 309 unsigned long start, end, freed;
305 310
306 freed = prom_free_prom_memory(); 311 freed = prom_free_prom_memory();
312 if (freed)
313 printk(KERN_INFO "Freeing firmware memory: %ldk freed\n",freed);
307 314
308 addr = (unsigned long) &__init_begin; 315 start = (unsigned long)(&__init_begin);
309 while (addr < (unsigned long) &__init_end) { 316 end = (unsigned long)(&__init_end);
310#ifdef CONFIG_64BIT 317#ifdef CONFIG_64BIT
311 page = PAGE_OFFSET | CPHYSADDR(addr); 318 start = PAGE_OFFSET | CPHYSADDR(start);
312#else 319 end = PAGE_OFFSET | CPHYSADDR(end);
313 page = addr;
314#endif 320#endif
315 ClearPageReserved(virt_to_page(page)); 321 free_init_pages("unused kernel memory", start, end);
316 init_page_count(virt_to_page(page));
317 free_page(page);
318 totalram_pages++;
319 freed += PAGE_SIZE;
320 addr += PAGE_SIZE;
321 }
322 printk(KERN_INFO "Freeing unused kernel memory: %ldk freed\n",
323 freed >> 10);
324} 322}
diff --git a/arch/mips/mm/pg-r4k.c b/arch/mips/mm/pg-r4k.c
index e4390dc3eb48..b7c749232ffe 100644
--- a/arch/mips/mm/pg-r4k.c
+++ b/arch/mips/mm/pg-r4k.c
@@ -357,6 +357,7 @@ void __init build_clear_page(void)
357 357
358 case CPU_R10000: 358 case CPU_R10000:
359 case CPU_R12000: 359 case CPU_R12000:
360 case CPU_R14000:
360 pref_src_mode = Pref_LoadStreamed; 361 pref_src_mode = Pref_LoadStreamed;
361 pref_dst_mode = Pref_StoreStreamed; 362 pref_dst_mode = Pref_StoreStreamed;
362 break; 363 break;
diff --git a/arch/mips/mm/sc-rm7k.c b/arch/mips/mm/sc-rm7k.c
index 3b6cc9ba1b05..31ec73052423 100644
--- a/arch/mips/mm/sc-rm7k.c
+++ b/arch/mips/mm/sc-rm7k.c
@@ -138,7 +138,7 @@ void __init rm7k_sc_init(void)
138 138
139 c->scache.linesz = sc_lsize; 139 c->scache.linesz = sc_lsize;
140 c->scache.ways = 4; 140 c->scache.ways = 4;
141 c->scache.waybit= ffs(scache_size / c->scache.ways) - 1; 141 c->scache.waybit= __ffs(scache_size / c->scache.ways);
142 c->scache.waysize = scache_size / c->scache.ways; 142 c->scache.waysize = scache_size / c->scache.ways;
143 c->scache.sets = scache_size / (c->scache.linesz * c->scache.ways); 143 c->scache.sets = scache_size / (c->scache.linesz * c->scache.ways);
144 printk(KERN_INFO "Secondary cache size %dK, linesize %d bytes.\n", 144 printk(KERN_INFO "Secondary cache size %dK, linesize %d bytes.\n",
diff --git a/arch/mips/mm/tlb-r4k.c b/arch/mips/mm/tlb-r4k.c
index a865f2394cb0..9dca099ba16b 100644
--- a/arch/mips/mm/tlb-r4k.c
+++ b/arch/mips/mm/tlb-r4k.c
@@ -32,13 +32,35 @@ extern void build_tlb_refill_handler(void);
32 "nop; nop; nop; nop; nop; nop;\n\t" \ 32 "nop; nop; nop; nop; nop; nop;\n\t" \
33 ".set reorder\n\t") 33 ".set reorder\n\t")
34 34
35/* Atomicity and interruptability */
36#ifdef CONFIG_MIPS_MT_SMTC
37
38#include <asm/smtc.h>
39#include <asm/mipsmtregs.h>
40
41#define ENTER_CRITICAL(flags) \
42 { \
43 unsigned int mvpflags; \
44 local_irq_save(flags);\
45 mvpflags = dvpe()
46#define EXIT_CRITICAL(flags) \
47 evpe(mvpflags); \
48 local_irq_restore(flags); \
49 }
50#else
51
52#define ENTER_CRITICAL(flags) local_irq_save(flags)
53#define EXIT_CRITICAL(flags) local_irq_restore(flags)
54
55#endif /* CONFIG_MIPS_MT_SMTC */
56
35void local_flush_tlb_all(void) 57void local_flush_tlb_all(void)
36{ 58{
37 unsigned long flags; 59 unsigned long flags;
38 unsigned long old_ctx; 60 unsigned long old_ctx;
39 int entry; 61 int entry;
40 62
41 local_irq_save(flags); 63 ENTER_CRITICAL(flags);
42 /* Save old context and create impossible VPN2 value */ 64 /* Save old context and create impossible VPN2 value */
43 old_ctx = read_c0_entryhi(); 65 old_ctx = read_c0_entryhi();
44 write_c0_entrylo0(0); 66 write_c0_entrylo0(0);
@@ -57,7 +79,7 @@ void local_flush_tlb_all(void)
57 } 79 }
58 tlbw_use_hazard(); 80 tlbw_use_hazard();
59 write_c0_entryhi(old_ctx); 81 write_c0_entryhi(old_ctx);
60 local_irq_restore(flags); 82 EXIT_CRITICAL(flags);
61} 83}
62 84
63/* All entries common to a mm share an asid. To effectively flush 85/* All entries common to a mm share an asid. To effectively flush
@@ -87,6 +109,7 @@ void local_flush_tlb_range(struct vm_area_struct *vma, unsigned long start,
87 unsigned long flags; 109 unsigned long flags;
88 int size; 110 int size;
89 111
112 ENTER_CRITICAL(flags);
90 size = (end - start + (PAGE_SIZE - 1)) >> PAGE_SHIFT; 113 size = (end - start + (PAGE_SIZE - 1)) >> PAGE_SHIFT;
91 size = (size + 1) >> 1; 114 size = (size + 1) >> 1;
92 local_irq_save(flags); 115 local_irq_save(flags);
@@ -120,7 +143,7 @@ void local_flush_tlb_range(struct vm_area_struct *vma, unsigned long start,
120 } else { 143 } else {
121 drop_mmu_context(mm, cpu); 144 drop_mmu_context(mm, cpu);
122 } 145 }
123 local_irq_restore(flags); 146 EXIT_CRITICAL(flags);
124 } 147 }
125} 148}
126 149
@@ -129,9 +152,9 @@ void local_flush_tlb_kernel_range(unsigned long start, unsigned long end)
129 unsigned long flags; 152 unsigned long flags;
130 int size; 153 int size;
131 154
155 ENTER_CRITICAL(flags);
132 size = (end - start + (PAGE_SIZE - 1)) >> PAGE_SHIFT; 156 size = (end - start + (PAGE_SIZE - 1)) >> PAGE_SHIFT;
133 size = (size + 1) >> 1; 157 size = (size + 1) >> 1;
134 local_irq_save(flags);
135 if (size <= current_cpu_data.tlbsize / 2) { 158 if (size <= current_cpu_data.tlbsize / 2) {
136 int pid = read_c0_entryhi(); 159 int pid = read_c0_entryhi();
137 160
@@ -162,7 +185,7 @@ void local_flush_tlb_kernel_range(unsigned long start, unsigned long end)
162 } else { 185 } else {
163 local_flush_tlb_all(); 186 local_flush_tlb_all();
164 } 187 }
165 local_irq_restore(flags); 188 EXIT_CRITICAL(flags);
166} 189}
167 190
168void local_flush_tlb_page(struct vm_area_struct *vma, unsigned long page) 191void local_flush_tlb_page(struct vm_area_struct *vma, unsigned long page)
@@ -175,7 +198,7 @@ void local_flush_tlb_page(struct vm_area_struct *vma, unsigned long page)
175 198
176 newpid = cpu_asid(cpu, vma->vm_mm); 199 newpid = cpu_asid(cpu, vma->vm_mm);
177 page &= (PAGE_MASK << 1); 200 page &= (PAGE_MASK << 1);
178 local_irq_save(flags); 201 ENTER_CRITICAL(flags);
179 oldpid = read_c0_entryhi(); 202 oldpid = read_c0_entryhi();
180 write_c0_entryhi(page | newpid); 203 write_c0_entryhi(page | newpid);
181 mtc0_tlbw_hazard(); 204 mtc0_tlbw_hazard();
@@ -194,7 +217,7 @@ void local_flush_tlb_page(struct vm_area_struct *vma, unsigned long page)
194 217
195 finish: 218 finish:
196 write_c0_entryhi(oldpid); 219 write_c0_entryhi(oldpid);
197 local_irq_restore(flags); 220 EXIT_CRITICAL(flags);
198 } 221 }
199} 222}
200 223
@@ -207,7 +230,7 @@ void local_flush_tlb_one(unsigned long page)
207 unsigned long flags; 230 unsigned long flags;
208 int oldpid, idx; 231 int oldpid, idx;
209 232
210 local_irq_save(flags); 233 ENTER_CRITICAL(flags);
211 oldpid = read_c0_entryhi(); 234 oldpid = read_c0_entryhi();
212 page &= (PAGE_MASK << 1); 235 page &= (PAGE_MASK << 1);
213 write_c0_entryhi(page); 236 write_c0_entryhi(page);
@@ -226,7 +249,7 @@ void local_flush_tlb_one(unsigned long page)
226 } 249 }
227 write_c0_entryhi(oldpid); 250 write_c0_entryhi(oldpid);
228 251
229 local_irq_restore(flags); 252 EXIT_CRITICAL(flags);
230} 253}
231 254
232/* 255/*
@@ -249,7 +272,7 @@ void __update_tlb(struct vm_area_struct * vma, unsigned long address, pte_t pte)
249 if (current->active_mm != vma->vm_mm) 272 if (current->active_mm != vma->vm_mm)
250 return; 273 return;
251 274
252 local_irq_save(flags); 275 ENTER_CRITICAL(flags);
253 276
254 pid = read_c0_entryhi() & ASID_MASK; 277 pid = read_c0_entryhi() & ASID_MASK;
255 address &= (PAGE_MASK << 1); 278 address &= (PAGE_MASK << 1);
@@ -277,7 +300,7 @@ void __update_tlb(struct vm_area_struct * vma, unsigned long address, pte_t pte)
277 else 300 else
278 tlb_write_indexed(); 301 tlb_write_indexed();
279 tlbw_use_hazard(); 302 tlbw_use_hazard();
280 local_irq_restore(flags); 303 EXIT_CRITICAL(flags);
281} 304}
282 305
283#if 0 306#if 0
@@ -291,7 +314,7 @@ static void r4k_update_mmu_cache_hwbug(struct vm_area_struct * vma,
291 pte_t *ptep; 314 pte_t *ptep;
292 int idx; 315 int idx;
293 316
294 local_irq_save(flags); 317 ENTER_CRITICAL(flags);
295 address &= (PAGE_MASK << 1); 318 address &= (PAGE_MASK << 1);
296 asid = read_c0_entryhi() & ASID_MASK; 319 asid = read_c0_entryhi() & ASID_MASK;
297 write_c0_entryhi(address | asid); 320 write_c0_entryhi(address | asid);
@@ -310,7 +333,7 @@ static void r4k_update_mmu_cache_hwbug(struct vm_area_struct * vma,
310 else 333 else
311 tlb_write_indexed(); 334 tlb_write_indexed();
312 tlbw_use_hazard(); 335 tlbw_use_hazard();
313 local_irq_restore(flags); 336 EXIT_CRITICAL(flags);
314} 337}
315#endif 338#endif
316 339
@@ -322,7 +345,7 @@ void __init add_wired_entry(unsigned long entrylo0, unsigned long entrylo1,
322 unsigned long old_pagemask; 345 unsigned long old_pagemask;
323 unsigned long old_ctx; 346 unsigned long old_ctx;
324 347
325 local_irq_save(flags); 348 ENTER_CRITICAL(flags);
326 /* Save old context and create impossible VPN2 value */ 349 /* Save old context and create impossible VPN2 value */
327 old_ctx = read_c0_entryhi(); 350 old_ctx = read_c0_entryhi();
328 old_pagemask = read_c0_pagemask(); 351 old_pagemask = read_c0_pagemask();
@@ -342,7 +365,7 @@ void __init add_wired_entry(unsigned long entrylo0, unsigned long entrylo1,
342 BARRIER; 365 BARRIER;
343 write_c0_pagemask(old_pagemask); 366 write_c0_pagemask(old_pagemask);
344 local_flush_tlb_all(); 367 local_flush_tlb_all();
345 local_irq_restore(flags); 368 EXIT_CRITICAL(flags);
346} 369}
347 370
348/* 371/*
@@ -362,7 +385,7 @@ __init int add_temporary_entry(unsigned long entrylo0, unsigned long entrylo1,
362 unsigned long old_pagemask; 385 unsigned long old_pagemask;
363 unsigned long old_ctx; 386 unsigned long old_ctx;
364 387
365 local_irq_save(flags); 388 ENTER_CRITICAL(flags);
366 /* Save old context and create impossible VPN2 value */ 389 /* Save old context and create impossible VPN2 value */
367 old_ctx = read_c0_entryhi(); 390 old_ctx = read_c0_entryhi();
368 old_pagemask = read_c0_pagemask(); 391 old_pagemask = read_c0_pagemask();
@@ -386,10 +409,11 @@ __init int add_temporary_entry(unsigned long entrylo0, unsigned long entrylo1,
386 write_c0_entryhi(old_ctx); 409 write_c0_entryhi(old_ctx);
387 write_c0_pagemask(old_pagemask); 410 write_c0_pagemask(old_pagemask);
388out: 411out:
389 local_irq_restore(flags); 412 EXIT_CRITICAL(flags);
390 return ret; 413 return ret;
391} 414}
392 415
416extern void __init sanitize_tlb_entries(void);
393static void __init probe_tlb(unsigned long config) 417static void __init probe_tlb(unsigned long config)
394{ 418{
395 struct cpuinfo_mips *c = &current_cpu_data; 419 struct cpuinfo_mips *c = &current_cpu_data;
@@ -402,6 +426,14 @@ static void __init probe_tlb(unsigned long config)
402 */ 426 */
403 if ((c->processor_id & 0xff0000) == PRID_COMP_LEGACY) 427 if ((c->processor_id & 0xff0000) == PRID_COMP_LEGACY)
404 return; 428 return;
429#ifdef CONFIG_MIPS_MT_SMTC
430 /*
431 * If TLB is shared in SMTC system, total size already
432 * has been calculated and written into cpu_data tlbsize
433 */
434 if((smtc_status & SMTC_TLB_SHARED) == SMTC_TLB_SHARED)
435 return;
436#endif /* CONFIG_MIPS_MT_SMTC */
405 437
406 reg = read_c0_config1(); 438 reg = read_c0_config1();
407 if (!((config >> 7) & 3)) 439 if (!((config >> 7) & 3))
@@ -410,6 +442,15 @@ static void __init probe_tlb(unsigned long config)
410 c->tlbsize = ((reg >> 25) & 0x3f) + 1; 442 c->tlbsize = ((reg >> 25) & 0x3f) + 1;
411} 443}
412 444
445static int __initdata ntlb = 0;
446static int __init set_ntlb(char *str)
447{
448 get_option(&str, &ntlb);
449 return 1;
450}
451
452__setup("ntlb=", set_ntlb);
453
413void __init tlb_init(void) 454void __init tlb_init(void)
414{ 455{
415 unsigned int config = read_c0_config(); 456 unsigned int config = read_c0_config();
@@ -432,5 +473,15 @@ void __init tlb_init(void)
432 473
433 /* Did I tell you that ARC SUCKS? */ 474 /* Did I tell you that ARC SUCKS? */
434 475
476 if (ntlb) {
477 if (ntlb > 1 && ntlb <= current_cpu_data.tlbsize) {
478 int wired = current_cpu_data.tlbsize - ntlb;
479 write_c0_wired(wired);
480 write_c0_index(wired-1);
481 printk ("Restricting TLB to %d entries\n", ntlb);
482 } else
483 printk("Ignoring invalid argument ntlb=%d\n", ntlb);
484 }
485
435 build_tlb_refill_handler(); 486 build_tlb_refill_handler();
436} 487}
diff --git a/arch/mips/mm/tlbex.c b/arch/mips/mm/tlbex.c
index 599b3c297186..54507be2ab5b 100644
--- a/arch/mips/mm/tlbex.c
+++ b/arch/mips/mm/tlbex.c
@@ -7,6 +7,16 @@
7 * 7 *
8 * Copyright (C) 2004,2005 by Thiemo Seufer 8 * Copyright (C) 2004,2005 by Thiemo Seufer
9 * Copyright (C) 2005 Maciej W. Rozycki 9 * Copyright (C) 2005 Maciej W. Rozycki
10 * Copyright (C) 2006 Ralf Baechle (ralf@linux-mips.org)
11 *
12 * ... and the days got worse and worse and now you see
13 * I've gone completly out of my mind.
14 *
15 * They're coming to take me a away haha
16 * they're coming to take me a away hoho hihi haha
17 * to the funny farm where code is beautiful all the time ...
18 *
19 * (Condolences to Napoleon XIV)
10 */ 20 */
11 21
12#include <stdarg.h> 22#include <stdarg.h>
@@ -68,6 +78,7 @@ enum fields
68 BIMM = 0x040, 78 BIMM = 0x040,
69 JIMM = 0x080, 79 JIMM = 0x080,
70 FUNC = 0x100, 80 FUNC = 0x100,
81 SET = 0x200
71}; 82};
72 83
73#define OP_MASK 0x2f 84#define OP_MASK 0x2f
@@ -86,6 +97,8 @@ enum fields
86#define JIMM_SH 0 97#define JIMM_SH 0
87#define FUNC_MASK 0x2f 98#define FUNC_MASK 0x2f
88#define FUNC_SH 0 99#define FUNC_SH 0
100#define SET_MASK 0x7
101#define SET_SH 0
89 102
90enum opcode { 103enum opcode {
91 insn_invalid, 104 insn_invalid,
@@ -129,8 +142,8 @@ static __initdata struct insn insn_table[] = {
129 { insn_bne, M(bne_op,0,0,0,0,0), RS | RT | BIMM }, 142 { insn_bne, M(bne_op,0,0,0,0,0), RS | RT | BIMM },
130 { insn_daddiu, M(daddiu_op,0,0,0,0,0), RS | RT | SIMM }, 143 { insn_daddiu, M(daddiu_op,0,0,0,0,0), RS | RT | SIMM },
131 { insn_daddu, M(spec_op,0,0,0,0,daddu_op), RS | RT | RD }, 144 { insn_daddu, M(spec_op,0,0,0,0,daddu_op), RS | RT | RD },
132 { insn_dmfc0, M(cop0_op,dmfc_op,0,0,0,0), RT | RD }, 145 { insn_dmfc0, M(cop0_op,dmfc_op,0,0,0,0), RT | RD | SET},
133 { insn_dmtc0, M(cop0_op,dmtc_op,0,0,0,0), RT | RD }, 146 { insn_dmtc0, M(cop0_op,dmtc_op,0,0,0,0), RT | RD | SET},
134 { insn_dsll, M(spec_op,0,0,0,0,dsll_op), RT | RD | RE }, 147 { insn_dsll, M(spec_op,0,0,0,0,dsll_op), RT | RD | RE },
135 { insn_dsll32, M(spec_op,0,0,0,0,dsll32_op), RT | RD | RE }, 148 { insn_dsll32, M(spec_op,0,0,0,0,dsll32_op), RT | RD | RE },
136 { insn_dsra, M(spec_op,0,0,0,0,dsra_op), RT | RD | RE }, 149 { insn_dsra, M(spec_op,0,0,0,0,dsra_op), RT | RD | RE },
@@ -145,8 +158,8 @@ static __initdata struct insn insn_table[] = {
145 { insn_lld, M(lld_op,0,0,0,0,0), RS | RT | SIMM }, 158 { insn_lld, M(lld_op,0,0,0,0,0), RS | RT | SIMM },
146 { insn_lui, M(lui_op,0,0,0,0,0), RT | SIMM }, 159 { insn_lui, M(lui_op,0,0,0,0,0), RT | SIMM },
147 { insn_lw, M(lw_op,0,0,0,0,0), RS | RT | SIMM }, 160 { insn_lw, M(lw_op,0,0,0,0,0), RS | RT | SIMM },
148 { insn_mfc0, M(cop0_op,mfc_op,0,0,0,0), RT | RD }, 161 { insn_mfc0, M(cop0_op,mfc_op,0,0,0,0), RT | RD | SET},
149 { insn_mtc0, M(cop0_op,mtc_op,0,0,0,0), RT | RD }, 162 { insn_mtc0, M(cop0_op,mtc_op,0,0,0,0), RT | RD | SET},
150 { insn_ori, M(ori_op,0,0,0,0,0), RS | RT | UIMM }, 163 { insn_ori, M(ori_op,0,0,0,0,0), RS | RT | UIMM },
151 { insn_rfe, M(cop0_op,cop_op,0,0,0,rfe_op), 0 }, 164 { insn_rfe, M(cop0_op,cop_op,0,0,0,rfe_op), 0 },
152 { insn_sc, M(sc_op,0,0,0,0,0), RS | RT | SIMM }, 165 { insn_sc, M(sc_op,0,0,0,0,0), RS | RT | SIMM },
@@ -242,6 +255,14 @@ static __init u32 build_func(u32 arg)
242 return arg & FUNC_MASK; 255 return arg & FUNC_MASK;
243} 256}
244 257
258static __init u32 build_set(u32 arg)
259{
260 if (arg & ~SET_MASK)
261 printk(KERN_WARNING "TLB synthesizer field overflow\n");
262
263 return arg & SET_MASK;
264}
265
245/* 266/*
246 * The order of opcode arguments is implicitly left to right, 267 * The order of opcode arguments is implicitly left to right,
247 * starting with RS and ending with FUNC or IMM. 268 * starting with RS and ending with FUNC or IMM.
@@ -273,6 +294,7 @@ static void __init build_insn(u32 **buf, enum opcode opc, ...)
273 if (ip->fields & BIMM) op |= build_bimm(va_arg(ap, s32)); 294 if (ip->fields & BIMM) op |= build_bimm(va_arg(ap, s32));
274 if (ip->fields & JIMM) op |= build_jimm(va_arg(ap, u32)); 295 if (ip->fields & JIMM) op |= build_jimm(va_arg(ap, u32));
275 if (ip->fields & FUNC) op |= build_func(va_arg(ap, u32)); 296 if (ip->fields & FUNC) op |= build_func(va_arg(ap, u32));
297 if (ip->fields & SET) op |= build_set(va_arg(ap, u32));
276 va_end(ap); 298 va_end(ap);
277 299
278 **buf = op; 300 **buf = op;
@@ -358,8 +380,8 @@ I_u1s2(_bgezl);
358I_u1s2(_bltz); 380I_u1s2(_bltz);
359I_u1s2(_bltzl); 381I_u1s2(_bltzl);
360I_u1u2s3(_bne); 382I_u1u2s3(_bne);
361I_u1u2(_dmfc0); 383I_u1u2u3(_dmfc0);
362I_u1u2(_dmtc0); 384I_u1u2u3(_dmtc0);
363I_u2u1s3(_daddiu); 385I_u2u1s3(_daddiu);
364I_u3u1u2(_daddu); 386I_u3u1u2(_daddu);
365I_u2u1u3(_dsll); 387I_u2u1u3(_dsll);
@@ -376,8 +398,8 @@ I_u2s3u1(_ll);
376I_u2s3u1(_lld); 398I_u2s3u1(_lld);
377I_u1s2(_lui); 399I_u1s2(_lui);
378I_u2s3u1(_lw); 400I_u2s3u1(_lw);
379I_u1u2(_mfc0); 401I_u1u2u3(_mfc0);
380I_u1u2(_mtc0); 402I_u1u2u3(_mtc0);
381I_u2u1u3(_ori); 403I_u2u1u3(_ori);
382I_0(_rfe); 404I_0(_rfe);
383I_u2s3u1(_sc); 405I_u2s3u1(_sc);
@@ -451,8 +473,8 @@ L_LA(_r3000_write_probe_fail)
451# define i_SLL(buf, rs, rt, sh) i_dsll(buf, rs, rt, sh) 473# define i_SLL(buf, rs, rt, sh) i_dsll(buf, rs, rt, sh)
452# define i_SRA(buf, rs, rt, sh) i_dsra(buf, rs, rt, sh) 474# define i_SRA(buf, rs, rt, sh) i_dsra(buf, rs, rt, sh)
453# define i_SRL(buf, rs, rt, sh) i_dsrl(buf, rs, rt, sh) 475# define i_SRL(buf, rs, rt, sh) i_dsrl(buf, rs, rt, sh)
454# define i_MFC0(buf, rt, rd) i_dmfc0(buf, rt, rd) 476# define i_MFC0(buf, rt, rd...) i_dmfc0(buf, rt, rd)
455# define i_MTC0(buf, rt, rd) i_dmtc0(buf, rt, rd) 477# define i_MTC0(buf, rt, rd...) i_dmtc0(buf, rt, rd)
456# define i_ADDIU(buf, rs, rt, val) i_daddiu(buf, rs, rt, val) 478# define i_ADDIU(buf, rs, rt, val) i_daddiu(buf, rs, rt, val)
457# define i_ADDU(buf, rs, rt, rd) i_daddu(buf, rs, rt, rd) 479# define i_ADDU(buf, rs, rt, rd) i_daddu(buf, rs, rt, rd)
458# define i_SUBU(buf, rs, rt, rd) i_dsubu(buf, rs, rt, rd) 480# define i_SUBU(buf, rs, rt, rd) i_dsubu(buf, rs, rt, rd)
@@ -464,8 +486,8 @@ L_LA(_r3000_write_probe_fail)
464# define i_SLL(buf, rs, rt, sh) i_sll(buf, rs, rt, sh) 486# define i_SLL(buf, rs, rt, sh) i_sll(buf, rs, rt, sh)
465# define i_SRA(buf, rs, rt, sh) i_sra(buf, rs, rt, sh) 487# define i_SRA(buf, rs, rt, sh) i_sra(buf, rs, rt, sh)
466# define i_SRL(buf, rs, rt, sh) i_srl(buf, rs, rt, sh) 488# define i_SRL(buf, rs, rt, sh) i_srl(buf, rs, rt, sh)
467# define i_MFC0(buf, rt, rd) i_mfc0(buf, rt, rd) 489# define i_MFC0(buf, rt, rd...) i_mfc0(buf, rt, rd)
468# define i_MTC0(buf, rt, rd) i_mtc0(buf, rt, rd) 490# define i_MTC0(buf, rt, rd...) i_mtc0(buf, rt, rd)
469# define i_ADDIU(buf, rs, rt, val) i_addiu(buf, rs, rt, val) 491# define i_ADDIU(buf, rs, rt, val) i_addiu(buf, rs, rt, val)
470# define i_ADDU(buf, rs, rt, rd) i_addu(buf, rs, rt, rd) 492# define i_ADDU(buf, rs, rt, rd) i_addu(buf, rs, rt, rd)
471# define i_SUBU(buf, rs, rt, rd) i_subu(buf, rs, rt, rd) 493# define i_SUBU(buf, rs, rt, rd) i_subu(buf, rs, rt, rd)
@@ -670,14 +692,15 @@ static void __init il_bgezl(u32 **p, struct reloc **r, unsigned int reg,
670#define K1 27 692#define K1 27
671 693
672/* Some CP0 registers */ 694/* Some CP0 registers */
673#define C0_INDEX 0 695#define C0_INDEX 0, 0
674#define C0_ENTRYLO0 2 696#define C0_ENTRYLO0 2, 0
675#define C0_ENTRYLO1 3 697#define C0_TCBIND 2, 2
676#define C0_CONTEXT 4 698#define C0_ENTRYLO1 3, 0
677#define C0_BADVADDR 8 699#define C0_CONTEXT 4, 0
678#define C0_ENTRYHI 10 700#define C0_BADVADDR 8, 0
679#define C0_EPC 14 701#define C0_ENTRYHI 10, 0
680#define C0_XCONTEXT 20 702#define C0_EPC 14, 0
703#define C0_XCONTEXT 20, 0
681 704
682#ifdef CONFIG_64BIT 705#ifdef CONFIG_64BIT
683# define GET_CONTEXT(buf, reg) i_MFC0(buf, reg, C0_XCONTEXT) 706# define GET_CONTEXT(buf, reg) i_MFC0(buf, reg, C0_XCONTEXT)
@@ -742,7 +765,7 @@ static void __init build_r3000_tlb_refill_handler(void)
742 } 765 }
743#endif 766#endif
744 767
745 memcpy((void *)CAC_BASE, tlb_handler, 0x80); 768 memcpy((void *)ebase, tlb_handler, 0x80);
746} 769}
747 770
748/* 771/*
@@ -852,6 +875,7 @@ static __init void build_tlb_write_entry(u32 **p, struct label **l,
852 875
853 case CPU_R10000: 876 case CPU_R10000:
854 case CPU_R12000: 877 case CPU_R12000:
878 case CPU_R14000:
855 case CPU_4KC: 879 case CPU_4KC:
856 case CPU_SB1: 880 case CPU_SB1:
857 case CPU_SB1A: 881 case CPU_SB1A:
@@ -883,6 +907,7 @@ static __init void build_tlb_write_entry(u32 **p, struct label **l,
883 case CPU_4KEC: 907 case CPU_4KEC:
884 case CPU_24K: 908 case CPU_24K:
885 case CPU_34K: 909 case CPU_34K:
910 case CPU_74K:
886 i_ehb(p); 911 i_ehb(p);
887 tlbw(p); 912 tlbw(p);
888 break; 913 break;
@@ -951,12 +976,20 @@ build_get_pmde64(u32 **p, struct label **l, struct reloc **r,
951 /* No i_nop needed here, since the next insn doesn't touch TMP. */ 976 /* No i_nop needed here, since the next insn doesn't touch TMP. */
952 977
953#ifdef CONFIG_SMP 978#ifdef CONFIG_SMP
979# ifdef CONFIG_MIPS_MT_SMTC
980 /*
981 * SMTC uses TCBind value as "CPU" index
982 */
983 i_mfc0(p, ptr, C0_TCBIND);
984 i_dsrl(p, ptr, ptr, 19);
985# else
954 /* 986 /*
955 * 64 bit SMP running in XKPHYS has smp_processor_id() << 3 987 * 64 bit SMP running in XKPHYS has smp_processor_id() << 3
956 * stored in CONTEXT. 988 * stored in CONTEXT.
957 */ 989 */
958 i_dmfc0(p, ptr, C0_CONTEXT); 990 i_dmfc0(p, ptr, C0_CONTEXT);
959 i_dsrl(p, ptr, ptr, 23); 991 i_dsrl(p, ptr, ptr, 23);
992#endif
960 i_LA_mostly(p, tmp, pgdc); 993 i_LA_mostly(p, tmp, pgdc);
961 i_daddu(p, ptr, ptr, tmp); 994 i_daddu(p, ptr, ptr, tmp);
962 i_dmfc0(p, tmp, C0_BADVADDR); 995 i_dmfc0(p, tmp, C0_BADVADDR);
@@ -1014,9 +1047,21 @@ build_get_pgde32(u32 **p, unsigned int tmp, unsigned int ptr)
1014 1047
1015 /* 32 bit SMP has smp_processor_id() stored in CONTEXT. */ 1048 /* 32 bit SMP has smp_processor_id() stored in CONTEXT. */
1016#ifdef CONFIG_SMP 1049#ifdef CONFIG_SMP
1050#ifdef CONFIG_MIPS_MT_SMTC
1051 /*
1052 * SMTC uses TCBind value as "CPU" index
1053 */
1054 i_mfc0(p, ptr, C0_TCBIND);
1055 i_LA_mostly(p, tmp, pgdc);
1056 i_srl(p, ptr, ptr, 19);
1057#else
1058 /*
1059 * smp_processor_id() << 3 is stored in CONTEXT.
1060 */
1017 i_mfc0(p, ptr, C0_CONTEXT); 1061 i_mfc0(p, ptr, C0_CONTEXT);
1018 i_LA_mostly(p, tmp, pgdc); 1062 i_LA_mostly(p, tmp, pgdc);
1019 i_srl(p, ptr, ptr, 23); 1063 i_srl(p, ptr, ptr, 23);
1064#endif
1020 i_addu(p, ptr, tmp, ptr); 1065 i_addu(p, ptr, tmp, ptr);
1021#else 1066#else
1022 i_LA_mostly(p, ptr, pgdc); 1067 i_LA_mostly(p, ptr, pgdc);
@@ -1247,7 +1292,7 @@ static void __init build_r4000_tlb_refill_handler(void)
1247 } 1292 }
1248#endif 1293#endif
1249 1294
1250 memcpy((void *)CAC_BASE, final_handler, 0x100); 1295 memcpy((void *)ebase, final_handler, 0x100);
1251} 1296}
1252 1297
1253/* 1298/*
diff --git a/arch/mips/momentum/jaguar_atx/Makefile b/arch/mips/momentum/jaguar_atx/Makefile
index 20bbd3ea44a8..67372f3f9654 100644
--- a/arch/mips/momentum/jaguar_atx/Makefile
+++ b/arch/mips/momentum/jaguar_atx/Makefile
@@ -6,7 +6,7 @@
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 += int-handler.o irq.o prom.o reset.o setup.o 9obj-y += irq.o prom.o reset.o setup.o
10 10
11obj-$(CONFIG_SERIAL_8250_CONSOLE) += ja-console.o 11obj-$(CONFIG_SERIAL_8250_CONSOLE) += ja-console.o
12obj-$(CONFIG_REMOTE_DEBUG) += dbg_io.o 12obj-$(CONFIG_REMOTE_DEBUG) += dbg_io.o
diff --git a/arch/mips/momentum/jaguar_atx/dbg_io.c b/arch/mips/momentum/jaguar_atx/dbg_io.c
index 542eac82b63c..d7dea0a136aa 100644
--- a/arch/mips/momentum/jaguar_atx/dbg_io.c
+++ b/arch/mips/momentum/jaguar_atx/dbg_io.c
@@ -73,7 +73,7 @@ void debugInit(uint32 baud, uint8 data, uint8 parity, uint8 stop)
73 /* disable interrupts */ 73 /* disable interrupts */
74 UART16550_WRITE(OFS_INTR_ENABLE, 0); 74 UART16550_WRITE(OFS_INTR_ENABLE, 0);
75 75
76 /* set up buad rate */ 76 /* set up baud rate */
77 { 77 {
78 uint32 divisor; 78 uint32 divisor;
79 79
diff --git a/arch/mips/momentum/jaguar_atx/int-handler.S b/arch/mips/momentum/jaguar_atx/int-handler.S
deleted file mode 100644
index 55bc789733f2..000000000000
--- a/arch/mips/momentum/jaguar_atx/int-handler.S
+++ /dev/null
@@ -1,128 +0,0 @@
1/*
2 * Copyright 2002 Momentum Computer Inc.
3 * Author: Matthew Dharm <mdharm@momenco.com>
4 *
5 * Based on work:
6 * Copyright 2001 MontaVista Software Inc.
7 * Author: jsun@mvista.com or jsun@junsun.net
8 *
9 * First-level interrupt dispatcher for Jaguar-ATX board.
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#include <asm/asm.h>
17#include <asm/mipsregs.h>
18#include <asm/addrspace.h>
19#include <asm/regdef.h>
20#include <asm/stackframe.h>
21
22/*
23 * First level interrupt dispatcher for Ocelot-CS board
24 */
25 .align 5
26 NESTED(jaguar_handle_int, PT_SIZE, sp)
27 SAVE_ALL
28 CLI
29 .set at
30 mfc0 t0, CP0_CAUSE
31 mfc0 t2, CP0_STATUS
32
33 and t0, t2
34
35 andi t1, t0, STATUSF_IP0 /* sw0 software interrupt */
36 bnez t1, ll_sw0_irq
37 andi t1, t0, STATUSF_IP1 /* sw1 software interrupt */
38 bnez t1, ll_sw1_irq
39 andi t1, t0, STATUSF_IP2 /* int0 hardware line */
40 bnez t1, ll_pcixa_irq
41 andi t1, t0, STATUSF_IP3 /* int1 hardware line */
42 bnez t1, ll_pcixb_irq
43 andi t1, t0, STATUSF_IP4 /* int2 hardware line */
44 bnez t1, ll_pcia_irq
45 andi t1, t0, STATUSF_IP5 /* int3 hardware line */
46 bnez t1, ll_pcib_irq
47 andi t1, t0, STATUSF_IP6 /* int4 hardware line */
48 bnez t1, ll_uart_irq
49 andi t1, t0, STATUSF_IP7 /* cpu timer */
50 bnez t1, ll_cputimer_irq
51
52 nop
53 nop
54
55 /* now look at extended interrupts */
56 mfc0 t0, CP0_CAUSE
57 cfc0 t1, CP0_S1_INTCONTROL
58
59 /* shift the mask 8 bits left to line up the bits */
60 sll t2, t1, 8
61
62 and t0, t2
63 srl t0, t0, 16
64
65 andi t1, t0, STATUSF_IP8 /* int6 hardware line */
66 bnez t1, ll_mv64340_decode_irq
67
68 nop
69 nop
70
71 .set reorder
72
73 /* wrong alarm or masked ... */
74 j spurious_interrupt
75 nop
76 END(jaguar_handle_int)
77
78 .align 5
79ll_sw0_irq:
80 li a0, 0
81 move a1, sp
82 jal do_IRQ
83 j ret_from_irq
84ll_sw1_irq:
85 li a0, 1
86 move a1, sp
87 jal do_IRQ
88 j ret_from_irq
89ll_pcixa_irq:
90 li a0, 2
91 move a1, sp
92 jal do_IRQ
93 j ret_from_irq
94
95ll_pcixb_irq:
96 li a0, 3
97 move a1, sp
98 jal do_IRQ
99 j ret_from_irq
100
101ll_pcia_irq:
102 li a0, 4
103 move a1, sp
104 jal do_IRQ
105 j ret_from_irq
106
107ll_pcib_irq:
108 li a0, 5
109 move a1, sp
110 jal do_IRQ
111 j ret_from_irq
112
113ll_uart_irq:
114 li a0, 6
115 move a1, sp
116 jal do_IRQ
117 j ret_from_irq
118
119ll_cputimer_irq:
120 li a0, 7
121 move a1, sp
122 jal ll_timer_interrupt
123 j ret_from_irq
124
125ll_mv64340_decode_irq:
126 move a0, sp
127 jal ll_mv64340_irq
128 j ret_from_irq
diff --git a/arch/mips/momentum/jaguar_atx/irq.c b/arch/mips/momentum/jaguar_atx/irq.c
index 15588f91ace2..ec4032b38f19 100644
--- a/arch/mips/momentum/jaguar_atx/irq.c
+++ b/arch/mips/momentum/jaguar_atx/irq.c
@@ -10,7 +10,7 @@
10 * Copyright 2001 MontaVista Software Inc. 10 * Copyright 2001 MontaVista Software Inc.
11 * Author: Jun Sun, jsun@mvista.com or jsun@junsun.net 11 * Author: Jun Sun, jsun@mvista.com or jsun@junsun.net
12 * 12 *
13 * Copyright (C) 2000, 2001 Ralf Baechle (ralf@gnu.org) 13 * Copyright (C) 2000, 01, 06 Ralf Baechle (ralf@linux-mips.org)
14 * 14 *
15 * This program is free software; you can redistribute it and/or modify it 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 16 * under the terms of the GNU General Public License as published by the
@@ -38,8 +38,37 @@
38#include <linux/types.h> 38#include <linux/types.h>
39#include <asm/irq_cpu.h> 39#include <asm/irq_cpu.h>
40#include <asm/mipsregs.h> 40#include <asm/mipsregs.h>
41#include <asm/time.h>
41 42
42extern asmlinkage void jaguar_handle_int(void); 43asmlinkage void plat_irq_dispatch(struct pt_regs *regs)
44{
45 unsigned int pending = read_c0_cause() & read_c0_status();
46
47 if (pending & STATUSF_IP0)
48 do_IRQ(0, regs);
49 else if (pending & STATUSF_IP1)
50 do_IRQ(1, regs);
51 else if (pending & STATUSF_IP2)
52 do_IRQ(2, regs);
53 else if (pending & STATUSF_IP3)
54 do_IRQ(3, regs);
55 else if (pending & STATUSF_IP4)
56 do_IRQ(4, regs);
57 else if (pending & STATUSF_IP5)
58 do_IRQ(5, regs);
59 else if (pending & STATUSF_IP6)
60 do_IRQ(6, regs);
61 else if (pending & STATUSF_IP7)
62 ll_timer_interrupt(7, regs);
63 else {
64 /*
65 * Now look at the extended interrupts
66 */
67 pending = (read_c0_cause() & (read_c0_intcontrol() << 8)) >> 16;
68 if (pending & STATUSF_IP8)
69 ll_mv64340_irq(regs);
70 }
71}
43 72
44static struct irqaction cascade_mv64340 = { 73static struct irqaction cascade_mv64340 = {
45 no_action, SA_INTERRUPT, CPU_MASK_NONE, "MV64340-Cascade", NULL, NULL 74 no_action, SA_INTERRUPT, CPU_MASK_NONE, "MV64340-Cascade", NULL, NULL
@@ -53,8 +82,6 @@ void __init arch_init_irq(void)
53 */ 82 */
54 clear_c0_status(ST0_IM); 83 clear_c0_status(ST0_IM);
55 84
56 /* Sets the first-level interrupt dispatcher. */
57 set_except_vector(0, jaguar_handle_int);
58 mips_cpu_irq_init(0); 85 mips_cpu_irq_init(0);
59 rm7k_cpu_irq_init(8); 86 rm7k_cpu_irq_init(8);
60 87
diff --git a/arch/mips/momentum/jaguar_atx/setup.c b/arch/mips/momentum/jaguar_atx/setup.c
index 91d9637143d7..1379c76845dc 100644
--- a/arch/mips/momentum/jaguar_atx/setup.c
+++ b/arch/mips/momentum/jaguar_atx/setup.c
@@ -381,24 +381,24 @@ void __init plat_setup(void)
381 * shut down ethernet ports, just to be sure our memory doesn't get 381 * shut down ethernet ports, just to be sure our memory doesn't get
382 * corrupted by random ethernet traffic. 382 * corrupted by random ethernet traffic.
383 */ 383 */
384 MV_WRITE(MV64340_ETH_TRANSMIT_QUEUE_COMMAND_REG(0), 0xff << 8); 384 MV_WRITE(MV643XX_ETH_TRANSMIT_QUEUE_COMMAND_REG(0), 0xff << 8);
385 MV_WRITE(MV64340_ETH_TRANSMIT_QUEUE_COMMAND_REG(1), 0xff << 8); 385 MV_WRITE(MV643XX_ETH_TRANSMIT_QUEUE_COMMAND_REG(1), 0xff << 8);
386 MV_WRITE(MV64340_ETH_TRANSMIT_QUEUE_COMMAND_REG(2), 0xff << 8); 386 MV_WRITE(MV643XX_ETH_TRANSMIT_QUEUE_COMMAND_REG(2), 0xff << 8);
387 MV_WRITE(MV64340_ETH_RECEIVE_QUEUE_COMMAND_REG(0), 0xff << 8); 387 MV_WRITE(MV643XX_ETH_RECEIVE_QUEUE_COMMAND_REG(0), 0xff << 8);
388 MV_WRITE(MV64340_ETH_RECEIVE_QUEUE_COMMAND_REG(1), 0xff << 8); 388 MV_WRITE(MV643XX_ETH_RECEIVE_QUEUE_COMMAND_REG(1), 0xff << 8);
389 MV_WRITE(MV64340_ETH_RECEIVE_QUEUE_COMMAND_REG(2), 0xff << 8); 389 MV_WRITE(MV643XX_ETH_RECEIVE_QUEUE_COMMAND_REG(2), 0xff << 8);
390 while (MV_READ(MV64340_ETH_RECEIVE_QUEUE_COMMAND_REG(0)) & 0xff); 390 while (MV_READ(MV643XX_ETH_RECEIVE_QUEUE_COMMAND_REG(0)) & 0xff);
391 while (MV_READ(MV64340_ETH_RECEIVE_QUEUE_COMMAND_REG(1)) & 0xff); 391 while (MV_READ(MV643XX_ETH_RECEIVE_QUEUE_COMMAND_REG(1)) & 0xff);
392 while (MV_READ(MV64340_ETH_RECEIVE_QUEUE_COMMAND_REG(2)) & 0xff); 392 while (MV_READ(MV643XX_ETH_RECEIVE_QUEUE_COMMAND_REG(2)) & 0xff);
393 while (MV_READ(MV64340_ETH_TRANSMIT_QUEUE_COMMAND_REG(0)) & 0xff); 393 while (MV_READ(MV643XX_ETH_TRANSMIT_QUEUE_COMMAND_REG(0)) & 0xff);
394 while (MV_READ(MV64340_ETH_TRANSMIT_QUEUE_COMMAND_REG(1)) & 0xff); 394 while (MV_READ(MV643XX_ETH_TRANSMIT_QUEUE_COMMAND_REG(1)) & 0xff);
395 while (MV_READ(MV64340_ETH_TRANSMIT_QUEUE_COMMAND_REG(2)) & 0xff); 395 while (MV_READ(MV643XX_ETH_TRANSMIT_QUEUE_COMMAND_REG(2)) & 0xff);
396 MV_WRITE(MV64340_ETH_PORT_SERIAL_CONTROL_REG(0), 396 MV_WRITE(MV643XX_ETH_PORT_SERIAL_CONTROL_REG(0),
397 MV_READ(MV64340_ETH_PORT_SERIAL_CONTROL_REG(0)) & ~1); 397 MV_READ(MV643XX_ETH_PORT_SERIAL_CONTROL_REG(0)) & ~1);
398 MV_WRITE(MV64340_ETH_PORT_SERIAL_CONTROL_REG(1), 398 MV_WRITE(MV643XX_ETH_PORT_SERIAL_CONTROL_REG(1),
399 MV_READ(MV64340_ETH_PORT_SERIAL_CONTROL_REG(1)) & ~1); 399 MV_READ(MV643XX_ETH_PORT_SERIAL_CONTROL_REG(1)) & ~1);
400 MV_WRITE(MV64340_ETH_PORT_SERIAL_CONTROL_REG(2), 400 MV_WRITE(MV643XX_ETH_PORT_SERIAL_CONTROL_REG(2),
401 MV_READ(MV64340_ETH_PORT_SERIAL_CONTROL_REG(2)) & ~1); 401 MV_READ(MV643XX_ETH_PORT_SERIAL_CONTROL_REG(2)) & ~1);
402 402
403 /* Turn off the Bit-Error LED */ 403 /* Turn off the Bit-Error LED */
404 JAGUAR_FPGA_WRITE(0x80, CLR); 404 JAGUAR_FPGA_WRITE(0x80, CLR);
diff --git a/arch/mips/momentum/ocelot_3/Makefile b/arch/mips/momentum/ocelot_3/Makefile
index aab8fd89f830..8bcea64dd27b 100644
--- a/arch/mips/momentum/ocelot_3/Makefile
+++ b/arch/mips/momentum/ocelot_3/Makefile
@@ -5,4 +5,4 @@
5# removes any old dependencies. DON'T put your own dependencies here 5# removes any old dependencies. DON'T put your own dependencies here
6# unless it's something special (ie not a .c file). 6# unless it's something special (ie not a .c file).
7# 7#
8obj-y += int-handler.o irq.o prom.o reset.o setup.o 8obj-y += irq.o prom.o reset.o setup.o
diff --git a/arch/mips/momentum/ocelot_3/int-handler.S b/arch/mips/momentum/ocelot_3/int-handler.S
deleted file mode 100644
index 4522f09ed769..000000000000
--- a/arch/mips/momentum/ocelot_3/int-handler.S
+++ /dev/null
@@ -1,137 +0,0 @@
1/*
2 * Copyright 2002 Momentum Computer Inc.
3 * Author: Matthew Dharm <mdharm@momenco.com>
4 *
5 * Copyright 2001 MontaVista Software Inc.
6 * Author: jsun@mvista.com or jsun@junsun.net
7 *
8 * Copyright 2004 PMC-Sierra
9 * Author: Manish Lachwani (lachwani@pmc-sierra.com)
10 *
11 * Copyright (C) 2004 MontaVista Software Inc.
12 * Author: Manish Lachwani, mlachwani@mvista.com
13 *
14 * First-level interrupt dispatcher for Ocelot-3 board.
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#include <asm/asm.h>
22#include <asm/mipsregs.h>
23#include <asm/addrspace.h>
24#include <asm/regdef.h>
25#include <asm/stackframe.h>
26
27/*
28 * First level interrupt dispatcher for Ocelot-3 board
29 */
30 .align 5
31 NESTED(ocelot3_handle_int, PT_SIZE, sp)
32 SAVE_ALL
33 CLI
34 .set at
35
36 mfc0 t0, CP0_CAUSE
37 mfc0 t2, CP0_STATUS
38
39 and t0, t2
40
41 andi t1, t0, STATUSF_IP0 /* sw0 software interrupt (IRQ0) */
42 bnez t1, ll_sw0_irq
43
44 andi t1, t0, STATUSF_IP1 /* sw1 software interrupt (IRQ1) */
45 bnez t1, ll_sw1_irq
46
47 andi t1, t0, STATUSF_IP2 /* int0 hardware line (IRQ2) */
48 bnez t1, ll_pci0slot1_irq
49
50 andi t1, t0, STATUSF_IP3 /* int1 hardware line (IRQ3) */
51 bnez t1, ll_pci0slot2_irq
52
53 andi t1, t0, STATUSF_IP4 /* int2 hardware line (IRQ4) */
54 bnez t1, ll_pci1slot1_irq
55
56 andi t1, t0, STATUSF_IP5 /* int3 hardware line (IRQ5) */
57 bnez t1, ll_pci1slot2_irq
58
59 andi t1, t0, STATUSF_IP6 /* int4 hardware line (IRQ6) */
60 bnez t1, ll_uart_irq
61
62 andi t1, t0, STATUSF_IP7 /* cpu timer (IRQ7) */
63 bnez t1, ll_cputimer_irq
64
65 /* now look at extended interrupts */
66 mfc0 t0, CP0_CAUSE
67 cfc0 t1, CP0_S1_INTCONTROL
68
69 /* shift the mask 8 bits left to line up the bits */
70 sll t2, t1, 8
71
72 and t0, t2
73 srl t0, t0, 16
74
75 andi t1, t0, STATUSF_IP8 /* int6 hardware line (IRQ9) */
76 bnez t1, ll_mv64340_decode_irq
77
78 .set reorder
79
80 /* wrong alarm or masked ... */
81 j spurious_interrupt
82 nop
83 END(ocelot3_handle_int)
84
85 .align 5
86ll_sw0_irq:
87 li a0, 0 /* IRQ 1 */
88 move a1, sp
89 jal do_IRQ
90 j ret_from_irq
91ll_sw1_irq:
92 li a0, 1 /* IRQ 2 */
93 move a1, sp
94 jal do_IRQ
95 j ret_from_irq
96
97ll_pci0slot1_irq:
98 li a0, 2 /* IRQ 3 */
99 move a1, sp
100 jal do_IRQ
101 j ret_from_irq
102
103ll_pci0slot2_irq:
104 li a0, 3 /* IRQ 4 */
105 move a1, sp
106 jal do_IRQ
107 j ret_from_irq
108
109ll_pci1slot1_irq:
110 li a0, 4 /* IRQ 5 */
111 move a1, sp
112 jal do_IRQ
113 j ret_from_irq
114
115ll_pci1slot2_irq:
116 li a0, 5 /* IRQ 6 */
117 move a1, sp
118 jal do_IRQ
119 j ret_from_irq
120
121ll_uart_irq:
122 li a0, 6 /* IRQ 7 */
123 move a1, sp
124 jal do_IRQ
125 j ret_from_irq
126
127ll_cputimer_irq:
128 li a0, 7 /* IRQ 8 */
129 move a1, sp
130 jal do_IRQ
131 j ret_from_irq
132
133ll_mv64340_decode_irq:
134 move a0, sp
135 jal ll_mv64340_irq
136 j ret_from_irq
137
diff --git a/arch/mips/momentum/ocelot_3/irq.c b/arch/mips/momentum/ocelot_3/irq.c
index 42464dbd4ad2..87c63c340ae3 100644
--- a/arch/mips/momentum/ocelot_3/irq.c
+++ b/arch/mips/momentum/ocelot_3/irq.c
@@ -53,8 +53,6 @@
53#include <asm/mipsregs.h> 53#include <asm/mipsregs.h>
54#include <asm/system.h> 54#include <asm/system.h>
55 55
56extern asmlinkage void ocelot3_handle_int(void);
57
58static struct irqaction cascade_mv64340 = { 56static struct irqaction cascade_mv64340 = {
59 no_action, SA_INTERRUPT, CPU_MASK_NONE, "MV64340-Cascade", NULL, NULL 57 no_action, SA_INTERRUPT, CPU_MASK_NONE, "MV64340-Cascade", NULL, NULL
60}; 58};
@@ -67,9 +65,6 @@ void __init arch_init_irq(void)
67 */ 65 */
68 clear_c0_status(ST0_IM | ST0_BEV); 66 clear_c0_status(ST0_IM | ST0_BEV);
69 67
70 /* Sets the first-level interrupt dispatcher. */
71 set_except_vector(0, ocelot3_handle_int);
72 mips_cpu_irq_init(0);
73 rm7k_cpu_irq_init(8); 68 rm7k_cpu_irq_init(8);
74 69
75 /* set up the cascading interrupts */ 70 /* set up the cascading interrupts */
@@ -79,3 +74,36 @@ void __init arch_init_irq(void)
79 set_c0_status(ST0_IM); /* IE in the status register */ 74 set_c0_status(ST0_IM); /* IE in the status register */
80 75
81} 76}
77
78asmlinkage void plat_irq_dispatch(struct pt_regs *regs)
79{
80 unsigned int pending = read_c0_cause() & read_c0_status();
81
82 if (pending & STATUSF_IP0)
83 do_IRQ(0, regs);
84 else if (pending & STATUSF_IP1)
85 do_IRQ(1, regs);
86 else if (pending & STATUSF_IP2)
87 do_IRQ(2, regs);
88 else if (pending & STATUSF_IP3)
89 do_IRQ(3, regs);
90 else if (pending & STATUSF_IP4)
91 do_IRQ(4, regs);
92 else if (pending & STATUSF_IP5)
93 do_IRQ(5, regs);
94 else if (pending & STATUSF_IP6)
95 do_IRQ(6, regs);
96 else if (pending & STATUSF_IP7)
97 do_IRQ(7, regs);
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(regs);
106 else
107 spurious_interrupt(regs);
108 }
109}
diff --git a/arch/mips/momentum/ocelot_3/setup.c b/arch/mips/momentum/ocelot_3/setup.c
index 370e75d0e75c..c69195234309 100644
--- a/arch/mips/momentum/ocelot_3/setup.c
+++ b/arch/mips/momentum/ocelot_3/setup.c
@@ -329,22 +329,22 @@ void __init plat_setup(void)
329 /* shut down ethernet ports, just to be sure our memory doesn't get 329 /* shut down ethernet ports, just to be sure our memory doesn't get
330 * corrupted by random ethernet traffic. 330 * corrupted by random ethernet traffic.
331 */ 331 */
332 MV_WRITE(MV64340_ETH_TRANSMIT_QUEUE_COMMAND_REG(0), 0xff << 8); 332 MV_WRITE(MV643XX_ETH_TRANSMIT_QUEUE_COMMAND_REG(0), 0xff << 8);
333 MV_WRITE(MV64340_ETH_TRANSMIT_QUEUE_COMMAND_REG(1), 0xff << 8); 333 MV_WRITE(MV643XX_ETH_TRANSMIT_QUEUE_COMMAND_REG(1), 0xff << 8);
334 MV_WRITE(MV64340_ETH_RECEIVE_QUEUE_COMMAND_REG(0), 0xff << 8); 334 MV_WRITE(MV643XX_ETH_RECEIVE_QUEUE_COMMAND_REG(0), 0xff << 8);
335 MV_WRITE(MV64340_ETH_RECEIVE_QUEUE_COMMAND_REG(1), 0xff << 8); 335 MV_WRITE(MV643XX_ETH_RECEIVE_QUEUE_COMMAND_REG(1), 0xff << 8);
336 do {} 336 do {}
337 while (MV_READ(MV64340_ETH_RECEIVE_QUEUE_COMMAND_REG(0)) & 0xff); 337 while (MV_READ(MV643XX_ETH_RECEIVE_QUEUE_COMMAND_REG(0)) & 0xff);
338 do {} 338 do {}
339 while (MV_READ(MV64340_ETH_RECEIVE_QUEUE_COMMAND_REG(1)) & 0xff); 339 while (MV_READ(MV643XX_ETH_RECEIVE_QUEUE_COMMAND_REG(1)) & 0xff);
340 do {} 340 do {}
341 while (MV_READ(MV64340_ETH_TRANSMIT_QUEUE_COMMAND_REG(0)) & 0xff); 341 while (MV_READ(MV643XX_ETH_TRANSMIT_QUEUE_COMMAND_REG(0)) & 0xff);
342 do {} 342 do {}
343 while (MV_READ(MV64340_ETH_TRANSMIT_QUEUE_COMMAND_REG(1)) & 0xff); 343 while (MV_READ(MV643XX_ETH_TRANSMIT_QUEUE_COMMAND_REG(1)) & 0xff);
344 MV_WRITE(MV64340_ETH_PORT_SERIAL_CONTROL_REG(0), 344 MV_WRITE(MV643XX_ETH_PORT_SERIAL_CONTROL_REG(0),
345 MV_READ(MV64340_ETH_PORT_SERIAL_CONTROL_REG(0)) & ~1); 345 MV_READ(MV643XX_ETH_PORT_SERIAL_CONTROL_REG(0)) & ~1);
346 MV_WRITE(MV64340_ETH_PORT_SERIAL_CONTROL_REG(1), 346 MV_WRITE(MV643XX_ETH_PORT_SERIAL_CONTROL_REG(1),
347 MV_READ(MV64340_ETH_PORT_SERIAL_CONTROL_REG(1)) & ~1); 347 MV_READ(MV643XX_ETH_PORT_SERIAL_CONTROL_REG(1)) & ~1);
348 348
349 /* Turn off the Bit-Error LED */ 349 /* Turn off the Bit-Error LED */
350 OCELOT_FPGA_WRITE(0x80, CLR); 350 OCELOT_FPGA_WRITE(0x80, CLR);
diff --git a/arch/mips/momentum/ocelot_c/Makefile b/arch/mips/momentum/ocelot_c/Makefile
index 91240777f978..94802b4db472 100644
--- a/arch/mips/momentum/ocelot_c/Makefile
+++ b/arch/mips/momentum/ocelot_c/Makefile
@@ -2,7 +2,7 @@
2# Makefile for Momentum Computer's Ocelot-C and -CS boards. 2# Makefile for Momentum Computer's Ocelot-C and -CS boards.
3# 3#
4 4
5obj-y += cpci-irq.o int-handler.o irq.o prom.o reset.o \ 5obj-y += cpci-irq.o irq.o prom.o reset.o \
6 setup.o uart-irq.o 6 setup.o uart-irq.o
7 7
8obj-$(CONFIG_KGDB) += dbg_io.o 8obj-$(CONFIG_KGDB) += dbg_io.o
diff --git a/arch/mips/momentum/ocelot_c/dbg_io.c b/arch/mips/momentum/ocelot_c/dbg_io.c
index 8720bccfdea2..f0a6a38fcf4d 100644
--- a/arch/mips/momentum/ocelot_c/dbg_io.c
+++ b/arch/mips/momentum/ocelot_c/dbg_io.c
@@ -73,7 +73,7 @@ void debugInit(uint32 baud, uint8 data, uint8 parity, uint8 stop)
73 /* disable interrupts */ 73 /* disable interrupts */
74 UART16550_WRITE(OFS_INTR_ENABLE, 0); 74 UART16550_WRITE(OFS_INTR_ENABLE, 0);
75 75
76 /* set up buad rate */ 76 /* set up baud rate */
77 { 77 {
78 uint32 divisor; 78 uint32 divisor;
79 79
diff --git a/arch/mips/momentum/ocelot_c/int-handler.S b/arch/mips/momentum/ocelot_c/int-handler.S
deleted file mode 100644
index 52349d9bf1be..000000000000
--- a/arch/mips/momentum/ocelot_c/int-handler.S
+++ /dev/null
@@ -1,102 +0,0 @@
1/*
2 * Copyright 2002 Momentum Computer Inc.
3 * Author: Matthew Dharm <mdharm@momenco.com>
4 *
5 * Copyright 2001 MontaVista Software Inc.
6 * Author: jsun@mvista.com or jsun@junsun.net
7 *
8 * First-level interrupt dispatcher for Ocelot-CS board.
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#include <asm/asm.h>
16#include <asm/mipsregs.h>
17#include <asm/addrspace.h>
18#include <asm/regdef.h>
19#include <asm/stackframe.h>
20#include "ocelot_c_fpga.h"
21
22/*
23 * First level interrupt dispatcher for Ocelot-CS board
24 */
25 .align 5
26 NESTED(ocelot_handle_int, PT_SIZE, sp)
27 SAVE_ALL
28 CLI
29 .set at
30 mfc0 t0, CP0_CAUSE
31 mfc0 t2, CP0_STATUS
32
33 and t0, t2
34
35 andi t1, t0, STATUSF_IP0 /* sw0 software interrupt */
36 bnez t1, ll_sw0_irq
37 andi t1, t0, STATUSF_IP1 /* sw1 software interrupt */
38 bnez t1, ll_sw1_irq
39 andi t1, t0, STATUSF_IP2 /* int0 hardware line */
40 bnez t1, ll_scsi_irq
41 andi t1, t0, STATUSF_IP3 /* int1 hardware line */
42 bnez t1, ll_uart_decode_irq
43 andi t1, t0, STATUSF_IP4 /* int2 hardware line */
44 bnez t1, ll_pmc_irq
45 andi t1, t0, STATUSF_IP5 /* int3 hardware line */
46 bnez t1, ll_cpci_decode_irq
47 andi t1, t0, STATUSF_IP6 /* int4 hardware line */
48 bnez t1, ll_mv64340_decode_irq
49 andi t1, t0, STATUSF_IP7 /* cpu timer */
50 bnez t1, ll_cputimer_irq
51
52 .set reorder
53
54 /* wrong alarm or masked ... */
55 j spurious_interrupt
56 nop
57 END(ocelot_handle_int)
58
59 .align 5
60ll_sw0_irq:
61 li a0, 0
62 move a1, sp
63 jal do_IRQ
64 j ret_from_irq
65ll_sw1_irq:
66 li a0, 1
67 move a1, sp
68 jal do_IRQ
69 j ret_from_irq
70ll_scsi_irq:
71 li a0, 2
72 move a1, sp
73 jal do_IRQ
74 j ret_from_irq
75
76ll_uart_decode_irq:
77 move a0, sp
78 jal ll_uart_irq
79 j ret_from_irq
80
81ll_pmc_irq:
82 li a0, 4
83 move a1, sp
84 jal do_IRQ
85 j ret_from_irq
86
87ll_cpci_decode_irq:
88 move a0, sp
89 jal ll_cpci_irq
90 j ret_from_irq
91
92ll_mv64340_decode_irq:
93 move a0, sp
94 jal ll_mv64340_irq
95 j ret_from_irq
96
97ll_cputimer_irq:
98 li a0, 7
99 move a1, sp
100 jal do_IRQ
101 j ret_from_irq
102
diff --git a/arch/mips/momentum/ocelot_c/irq.c b/arch/mips/momentum/ocelot_c/irq.c
index a5764bc20e36..86f61ce59e53 100644
--- a/arch/mips/momentum/ocelot_c/irq.c
+++ b/arch/mips/momentum/ocelot_c/irq.c
@@ -48,7 +48,6 @@
48#include <asm/mipsregs.h> 48#include <asm/mipsregs.h>
49#include <asm/system.h> 49#include <asm/system.h>
50 50
51extern asmlinkage void ocelot_handle_int(void);
52extern void uart_irq_init(void); 51extern void uart_irq_init(void);
53extern void cpci_irq_init(void); 52extern void cpci_irq_init(void);
54 53
@@ -60,6 +59,33 @@ static struct irqaction cascade_mv64340 = {
60 no_action, SA_INTERRUPT, CPU_MASK_NONE, "cascade via MV64340", NULL, NULL 59 no_action, SA_INTERRUPT, CPU_MASK_NONE, "cascade via MV64340", NULL, NULL
61}; 60};
62 61
62extern void ll_uart_irq(struct pt_regs *regs);
63extern void ll_cpci_irq(struct pt_regs *regs);
64
65asmlinkage void plat_irq_dispatch(struct pt_regs *regs)
66{
67 unsigned int pending = read_c0_cause() & read_c0_status();
68
69 if (pending & STATUSF_IP0)
70 do_IRQ(0, regs);
71 else if (pending & STATUSF_IP1)
72 do_IRQ(1, regs);
73 else if (pending & STATUSF_IP2)
74 do_IRQ(2, regs);
75 else if (pending & STATUSF_IP3)
76 ll_uart_irq(regs);
77 else if (pending & STATUSF_IP4)
78 do_IRQ(4, regs);
79 else if (pending & STATUSF_IP5)
80 ll_cpci_irq(regs);
81 else if (pending & STATUSF_IP6)
82 ll_mv64340_irq(regs);
83 else if (pending & STATUSF_IP7)
84 do_IRQ(7, regs);
85 else
86 spurious_interrupt(regs);
87}
88
63void __init arch_init_irq(void) 89void __init arch_init_irq(void)
64{ 90{
65 /* 91 /*
@@ -68,8 +94,6 @@ void __init arch_init_irq(void)
68 */ 94 */
69 clear_c0_status(ST0_IM); 95 clear_c0_status(ST0_IM);
70 96
71 /* Sets the first-level interrupt dispatcher. */
72 set_except_vector(0, ocelot_handle_int);
73 mips_cpu_irq_init(0); 97 mips_cpu_irq_init(0);
74 98
75 /* set up the cascading interrupts */ 99 /* set up the cascading interrupts */
diff --git a/arch/mips/momentum/ocelot_g/Makefile b/arch/mips/momentum/ocelot_g/Makefile
index e5f1cb086973..adb5665d40a9 100644
--- a/arch/mips/momentum/ocelot_g/Makefile
+++ b/arch/mips/momentum/ocelot_g/Makefile
@@ -2,7 +2,7 @@
2# Makefile for Momentum Computer's Ocelot-G board. 2# Makefile for Momentum Computer's Ocelot-G board.
3# 3#
4 4
5obj-y += int-handler.o irq.o gt-irq.o prom.o reset.o setup.o 5obj-y += irq.o gt-irq.o prom.o reset.o setup.o
6obj-$(CONFIG_KGDB) += dbg_io.o 6obj-$(CONFIG_KGDB) += dbg_io.o
7 7
8EXTRA_AFLAGS := $(CFLAGS) 8EXTRA_AFLAGS := $(CFLAGS)
diff --git a/arch/mips/momentum/ocelot_g/dbg_io.c b/arch/mips/momentum/ocelot_g/dbg_io.c
index 8720bccfdea2..f0a6a38fcf4d 100644
--- a/arch/mips/momentum/ocelot_g/dbg_io.c
+++ b/arch/mips/momentum/ocelot_g/dbg_io.c
@@ -73,7 +73,7 @@ void debugInit(uint32 baud, uint8 data, uint8 parity, uint8 stop)
73 /* disable interrupts */ 73 /* disable interrupts */
74 UART16550_WRITE(OFS_INTR_ENABLE, 0); 74 UART16550_WRITE(OFS_INTR_ENABLE, 0);
75 75
76 /* set up buad rate */ 76 /* set up baud rate */
77 { 77 {
78 uint32 divisor; 78 uint32 divisor;
79 79
diff --git a/arch/mips/momentum/ocelot_g/int-handler.S b/arch/mips/momentum/ocelot_g/int-handler.S
deleted file mode 100644
index 772e8f713176..000000000000
--- a/arch/mips/momentum/ocelot_g/int-handler.S
+++ /dev/null
@@ -1,131 +0,0 @@
1/*
2 * Copyright 2001 MontaVista Software Inc.
3 * Author: jsun@mvista.com or jsun@junsun.net
4 *
5 * First-level interrupt dispatcher for ocelot board.
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#include <asm/asm.h>
13#include <asm/mipsregs.h>
14#include <asm/addrspace.h>
15#include <asm/regdef.h>
16#include <asm/stackframe.h>
17
18/*
19 * first level interrupt dispatcher for ocelot board -
20 * We check for the timer first, then check PCI ints A and D.
21 * Then check for serial IRQ and fall through.
22 */
23 .align 5
24 NESTED(ocelot_handle_int, PT_SIZE, sp)
25 SAVE_ALL
26 CLI
27 .set at
28 mfc0 t0, CP0_CAUSE
29 mfc0 t2, CP0_STATUS
30
31 and t0, t2
32
33 andi t1, t0, STATUSF_IP2 /* int0 hardware line */
34 bnez t1, ll_pri_enet_irq
35 andi t1, t0, STATUSF_IP3 /* int1 hardware line */
36 bnez t1, ll_sec_enet_irq
37 andi t1, t0, STATUSF_IP4 /* int2 hardware line */
38 bnez t1, ll_uart_irq
39 andi t1, t0, STATUSF_IP5 /* int3 hardware line */
40 bnez t1, ll_cpci_irq
41 andi t1, t0, STATUSF_IP6 /* int4 hardware line */
42 bnez t1, ll_galileo_p0_irq
43 andi t1, t0, STATUSF_IP7 /* cpu timer */
44 bnez t1, ll_cputimer_irq
45
46 /* now look at the extended interrupts */
47 mfc0 t0, CP0_CAUSE
48 cfc0 t1, CP0_S1_INTCONTROL
49
50 /* shift the mask 8 bits left to line up the bits */
51 sll t2, t1, 8
52
53 and t0, t2
54 srl t0, t0, 16
55
56 andi t1, t0, STATUSF_IP8 /* int6 hardware line */
57 bnez t1, ll_galileo_p1_irq
58 andi t1, t0, STATUSF_IP9 /* int7 hardware line */
59 bnez t1, ll_pmc_irq
60 andi t1, t0, STATUSF_IP10 /* int8 hardware line */
61 bnez t1, ll_cpci_abcd_irq
62 andi t1, t0, STATUSF_IP11 /* int9 hardware line */
63 bnez t1, ll_testpoint_irq
64
65 .set reorder
66
67 /* wrong alarm or masked ... */
68 j spurious_interrupt
69 nop
70 END(ocelot_handle_int)
71
72 .align 5
73ll_pri_enet_irq:
74 li a0, 2
75 move a1, sp
76 jal do_IRQ
77 j ret_from_irq
78
79ll_sec_enet_irq:
80 li a0, 3
81 move a1, sp
82 jal do_IRQ
83 j ret_from_irq
84
85ll_uart_irq:
86 li a0, 4
87 move a1, sp
88 jal do_IRQ
89 j ret_from_irq
90
91ll_cpci_irq:
92 li a0, 5
93 move a1, sp
94 jal do_IRQ
95 j ret_from_irq
96
97ll_galileo_p0_irq:
98 li a0, 6
99 move a1, sp
100 jal do_IRQ
101 j ret_from_irq
102
103ll_cputimer_irq:
104 li a0, 7
105 move a1, sp
106 jal do_IRQ
107 j ret_from_irq
108
109ll_galileo_p1_irq:
110 li a0, 8
111 move a1, sp
112 jal do_IRQ
113 j ret_from_irq
114
115ll_pmc_irq:
116 li a0, 9
117 move a1, sp
118 jal do_IRQ
119 j ret_from_irq
120
121ll_cpci_abcd_irq:
122 li a0, 10
123 move a1, sp
124 jal do_IRQ
125 j ret_from_irq
126
127ll_testpoint_irq:
128 li a0, 11
129 move a1, sp
130 jal do_IRQ
131 j ret_from_irq
diff --git a/arch/mips/momentum/ocelot_g/irq.c b/arch/mips/momentum/ocelot_g/irq.c
index 5eb85b164205..7a4a419804f1 100644
--- a/arch/mips/momentum/ocelot_g/irq.c
+++ b/arch/mips/momentum/ocelot_g/irq.c
@@ -48,7 +48,41 @@
48#include <asm/mipsregs.h> 48#include <asm/mipsregs.h>
49#include <asm/system.h> 49#include <asm/system.h>
50 50
51extern asmlinkage void ocelot_handle_int(void); 51asmlinkage void plat_irq_dispatch(struct pt_regs *regs)
52{
53 unsigned int pending = read_c0_cause() & read_c0_status();
54
55 if (pending & STATUSF_IP2)
56 do_IRQ(2, regs);
57 else if (pending & STATUSF_IP3)
58 do_IRQ(3, regs);
59 else if (pending & STATUSF_IP4)
60 do_IRQ(4, regs);
61 else if (pending & STATUSF_IP5)
62 do_IRQ(5, regs);
63 else if (pending & STATUSF_IP6)
64 do_IRQ(6, regs);
65 else if (pending & STATUSF_IP7)
66 do_IRQ(7, regs);
67 else {
68 /*
69 * Now look at the extended interrupts
70 */
71 pending = (read_c0_cause() & (read_c0_intcontrol() << 8)) >> 16;
72
73 if (pending & STATUSF_IP8)
74 do_IRQ(8, regs);
75 else if (pending & STATUSF_IP9)
76 do_IRQ(9, regs);
77 else if (pending & STATUSF_IP10)
78 do_IRQ(10, regs);
79 else if (pending & STATUSF_IP11)
80 do_IRQ(11, regs);
81 else
82 spurious_interrupt(regs);
83 }
84}
85
52extern void gt64240_irq_init(void); 86extern void gt64240_irq_init(void);
53 87
54void __init arch_init_irq(void) 88void __init arch_init_irq(void)
@@ -60,8 +94,6 @@ void __init arch_init_irq(void)
60 clear_c0_status(ST0_IM); 94 clear_c0_status(ST0_IM);
61 local_irq_disable(); 95 local_irq_disable();
62 96
63 /* Sets the first-level interrupt dispatcher. */
64 set_except_vector(0, ocelot_handle_int);
65 mips_cpu_irq_init(0); 97 mips_cpu_irq_init(0);
66 rm7k_cpu_irq_init(8); 98 rm7k_cpu_irq_init(8);
67 99
diff --git a/arch/mips/oprofile/common.c b/arch/mips/oprofile/common.c
index 935dd851f480..c31e4cff64e0 100644
--- a/arch/mips/oprofile/common.c
+++ b/arch/mips/oprofile/common.c
@@ -14,8 +14,8 @@
14 14
15#include "op_impl.h" 15#include "op_impl.h"
16 16
17extern struct op_mips_model op_model_mipsxx __attribute__((weak)); 17extern struct op_mips_model op_model_mipsxx_ops __attribute__((weak));
18extern struct op_mips_model op_model_rm9000 __attribute__((weak)); 18extern struct op_mips_model op_model_rm9000_ops __attribute__((weak));
19 19
20static struct op_mips_model *model; 20static struct op_mips_model *model;
21 21
@@ -27,7 +27,7 @@ static int op_mips_setup(void)
27 model->reg_setup(ctr); 27 model->reg_setup(ctr);
28 28
29 /* Configure the registers on all cpus. */ 29 /* Configure the registers on all cpus. */
30 on_each_cpu(model->cpu_setup, 0, 0, 1); 30 on_each_cpu(model->cpu_setup, NULL, 0, 1);
31 31
32 return 0; 32 return 0;
33} 33}
@@ -80,13 +80,14 @@ int __init oprofile_arch_init(struct oprofile_operations *ops)
80 case CPU_24K: 80 case CPU_24K:
81 case CPU_25KF: 81 case CPU_25KF:
82 case CPU_34K: 82 case CPU_34K:
83 case CPU_74K:
83 case CPU_SB1: 84 case CPU_SB1:
84 case CPU_SB1A: 85 case CPU_SB1A:
85 lmodel = &op_model_mipsxx; 86 lmodel = &op_model_mipsxx_ops;
86 break; 87 break;
87 88
88 case CPU_RM9000: 89 case CPU_RM9000:
89 lmodel = &op_model_rm9000; 90 lmodel = &op_model_rm9000_ops;
90 break; 91 break;
91 }; 92 };
92 93
@@ -114,5 +115,6 @@ int __init oprofile_arch_init(struct oprofile_operations *ops)
114 115
115void oprofile_arch_exit(void) 116void oprofile_arch_exit(void)
116{ 117{
117 model->exit(); 118 if (model)
119 model->exit();
118} 120}
diff --git a/arch/mips/oprofile/op_model_mipsxx.c b/arch/mips/oprofile/op_model_mipsxx.c
index 95d488ca0754..f26a00e13204 100644
--- a/arch/mips/oprofile/op_model_mipsxx.c
+++ b/arch/mips/oprofile/op_model_mipsxx.c
@@ -23,7 +23,7 @@
23 23
24#define M_COUNTER_OVERFLOW (1UL << 31) 24#define M_COUNTER_OVERFLOW (1UL << 31)
25 25
26struct op_mips_model op_model_mipsxx; 26struct op_mips_model op_model_mipsxx_ops;
27 27
28static struct mipsxx_register_config { 28static struct mipsxx_register_config {
29 unsigned int control[4]; 29 unsigned int control[4];
@@ -34,7 +34,7 @@ static struct mipsxx_register_config {
34 34
35static void mipsxx_reg_setup(struct op_counter_config *ctr) 35static void mipsxx_reg_setup(struct op_counter_config *ctr)
36{ 36{
37 unsigned int counters = op_model_mipsxx.num_counters; 37 unsigned int counters = op_model_mipsxx_ops.num_counters;
38 int i; 38 int i;
39 39
40 /* Compute the performance counter control word. */ 40 /* Compute the performance counter control word. */
@@ -62,7 +62,7 @@ static void mipsxx_reg_setup(struct op_counter_config *ctr)
62 62
63static void mipsxx_cpu_setup (void *args) 63static void mipsxx_cpu_setup (void *args)
64{ 64{
65 unsigned int counters = op_model_mipsxx.num_counters; 65 unsigned int counters = op_model_mipsxx_ops.num_counters;
66 66
67 switch (counters) { 67 switch (counters) {
68 case 4: 68 case 4:
@@ -83,7 +83,7 @@ static void mipsxx_cpu_setup (void *args)
83/* Start all counters on current CPU */ 83/* Start all counters on current CPU */
84static void mipsxx_cpu_start(void *args) 84static void mipsxx_cpu_start(void *args)
85{ 85{
86 unsigned int counters = op_model_mipsxx.num_counters; 86 unsigned int counters = op_model_mipsxx_ops.num_counters;
87 87
88 switch (counters) { 88 switch (counters) {
89 case 4: 89 case 4:
@@ -100,7 +100,7 @@ static void mipsxx_cpu_start(void *args)
100/* Stop all counters on current CPU */ 100/* Stop all counters on current CPU */
101static void mipsxx_cpu_stop(void *args) 101static void mipsxx_cpu_stop(void *args)
102{ 102{
103 unsigned int counters = op_model_mipsxx.num_counters; 103 unsigned int counters = op_model_mipsxx_ops.num_counters;
104 104
105 switch (counters) { 105 switch (counters) {
106 case 4: 106 case 4:
@@ -116,7 +116,7 @@ static void mipsxx_cpu_stop(void *args)
116 116
117static int mipsxx_perfcount_handler(struct pt_regs *regs) 117static int mipsxx_perfcount_handler(struct pt_regs *regs)
118{ 118{
119 unsigned int counters = op_model_mipsxx.num_counters; 119 unsigned int counters = op_model_mipsxx_ops.num_counters;
120 unsigned int control; 120 unsigned int control;
121 unsigned int counter; 121 unsigned int counter;
122 int handled = 0; 122 int handled = 0;
@@ -187,33 +187,37 @@ static int __init mipsxx_init(void)
187 187
188 reset_counters(counters); 188 reset_counters(counters);
189 189
190 op_model_mipsxx.num_counters = counters; 190 op_model_mipsxx_ops.num_counters = counters;
191 switch (current_cpu_data.cputype) { 191 switch (current_cpu_data.cputype) {
192 case CPU_20KC: 192 case CPU_20KC:
193 op_model_mipsxx.cpu_type = "mips/20K"; 193 op_model_mipsxx_ops.cpu_type = "mips/20K";
194 break; 194 break;
195 195
196 case CPU_24K: 196 case CPU_24K:
197 op_model_mipsxx.cpu_type = "mips/24K"; 197 op_model_mipsxx_ops.cpu_type = "mips/24K";
198 break; 198 break;
199 199
200 case CPU_25KF: 200 case CPU_25KF:
201 op_model_mipsxx.cpu_type = "mips/25K"; 201 op_model_mipsxx_ops.cpu_type = "mips/25K";
202 break; 202 break;
203 203
204#ifndef CONFIG_SMP 204#ifndef CONFIG_SMP
205 case CPU_34K: 205 case CPU_34K:
206 op_model_mipsxx.cpu_type = "mips/34K"; 206 op_model_mipsxx_ops.cpu_type = "mips/34K";
207 break;
208
209 case CPU_74K:
210 op_model_mipsxx_ops.cpu_type = "mips/74K";
207 break; 211 break;
208#endif 212#endif
209 213
210 case CPU_5KC: 214 case CPU_5KC:
211 op_model_mipsxx.cpu_type = "mips/5K"; 215 op_model_mipsxx_ops.cpu_type = "mips/5K";
212 break; 216 break;
213 217
214 case CPU_SB1: 218 case CPU_SB1:
215 case CPU_SB1A: 219 case CPU_SB1A:
216 op_model_mipsxx.cpu_type = "mips/sb1"; 220 op_model_mipsxx_ops.cpu_type = "mips/sb1";
217 break; 221 break;
218 222
219 default: 223 default:
@@ -229,12 +233,12 @@ static int __init mipsxx_init(void)
229 233
230static void mipsxx_exit(void) 234static void mipsxx_exit(void)
231{ 235{
232 reset_counters(op_model_mipsxx.num_counters); 236 reset_counters(op_model_mipsxx_ops.num_counters);
233 237
234 perf_irq = null_perf_irq; 238 perf_irq = null_perf_irq;
235} 239}
236 240
237struct op_mips_model op_model_mipsxx = { 241struct op_mips_model op_model_mipsxx_ops = {
238 .reg_setup = mipsxx_reg_setup, 242 .reg_setup = mipsxx_reg_setup,
239 .cpu_setup = mipsxx_cpu_setup, 243 .cpu_setup = mipsxx_cpu_setup,
240 .init = mipsxx_init, 244 .init = mipsxx_init,
diff --git a/arch/mips/oprofile/op_model_rm9000.c b/arch/mips/oprofile/op_model_rm9000.c
index 9b75e41c78ef..b7063fefa65b 100644
--- a/arch/mips/oprofile/op_model_rm9000.c
+++ b/arch/mips/oprofile/op_model_rm9000.c
@@ -126,7 +126,7 @@ static void rm9000_exit(void)
126 free_irq(rm9000_perfcount_irq, NULL); 126 free_irq(rm9000_perfcount_irq, NULL);
127} 127}
128 128
129struct op_mips_model op_model_rm9000 = { 129struct op_mips_model op_model_rm9000_ops = {
130 .reg_setup = rm9000_reg_setup, 130 .reg_setup = rm9000_reg_setup,
131 .cpu_setup = rm9000_cpu_setup, 131 .cpu_setup = rm9000_cpu_setup,
132 .init = rm9000_init, 132 .init = rm9000_init,
diff --git a/arch/mips/philips/pnx8550/common/Makefile b/arch/mips/philips/pnx8550/common/Makefile
index 6e38f3bc443c..b7c638166e9f 100644
--- a/arch/mips/philips/pnx8550/common/Makefile
+++ b/arch/mips/philips/pnx8550/common/Makefile
@@ -22,6 +22,6 @@
22# under Linux. 22# under Linux.
23# 23#
24 24
25obj-y := setup.o prom.o mipsIRQ.o int.o reset.o time.o proc.o platform.o 25obj-y := setup.o prom.o int.o reset.o time.o proc.o platform.o
26obj-$(CONFIG_PCI) += pci.o 26obj-$(CONFIG_PCI) += pci.o
27obj-$(CONFIG_KGDB) += gdb_hook.o 27obj-$(CONFIG_KGDB) += gdb_hook.o
diff --git a/arch/mips/philips/pnx8550/common/int.c b/arch/mips/philips/pnx8550/common/int.c
index c500e2d41f2c..39ee6314f627 100644
--- a/arch/mips/philips/pnx8550/common/int.c
+++ b/arch/mips/philips/pnx8550/common/int.c
@@ -38,8 +38,6 @@
38#include <int.h> 38#include <int.h>
39#include <uart.h> 39#include <uart.h>
40 40
41extern asmlinkage void cp0_irqdispatch(void);
42
43static DEFINE_SPINLOCK(irq_lock); 41static DEFINE_SPINLOCK(irq_lock);
44 42
45/* default prio for interrupts */ 43/* default prio for interrupts */
@@ -55,7 +53,7 @@ static char gic_prio[PNX8550_INT_GIC_TOTINT] = {
55 1 // 70 53 1 // 70
56}; 54};
57 55
58void hw0_irqdispatch(int irq, struct pt_regs *regs) 56static void hw0_irqdispatch(int irq, struct pt_regs *regs)
59{ 57{
60 /* find out which interrupt */ 58 /* find out which interrupt */
61 irq = PNX8550_GIC_VECTOR_0 >> 3; 59 irq = PNX8550_GIC_VECTOR_0 >> 3;
@@ -68,7 +66,7 @@ void hw0_irqdispatch(int irq, struct pt_regs *regs)
68} 66}
69 67
70 68
71void timer_irqdispatch(int irq, struct pt_regs *regs) 69static void timer_irqdispatch(int irq, struct pt_regs *regs)
72{ 70{
73 irq = (0x01c0 & read_c0_config7()) >> 6; 71 irq = (0x01c0 & read_c0_config7()) >> 6;
74 72
@@ -88,6 +86,20 @@ void timer_irqdispatch(int irq, struct pt_regs *regs)
88 } 86 }
89} 87}
90 88
89asmlinkage void plat_irq_dispatch(struct pt_regs *regs)
90{
91 unsigned int pending = read_c0_status() & read_c0_cause();
92
93 if (pending & STATUSF_IP2)
94 do_IRQ(2, regs);
95 else if (pending & STATUSF_IP7) {
96 if (read_c0_config7() & 0x01c0)
97 timer_irqdispatch(7, regs);
98 }
99
100 spurious_interrupt(regs);
101}
102
91static inline void modify_cp0_intmask(unsigned clr_mask, unsigned set_mask) 103static inline void modify_cp0_intmask(unsigned clr_mask, unsigned set_mask)
92{ 104{
93 unsigned long status = read_c0_status(); 105 unsigned long status = read_c0_status();
@@ -223,9 +235,6 @@ void __init arch_init_irq(void)
223 int i; 235 int i;
224 int configPR; 236 int configPR;
225 237
226 /* init of cp0 interrupts */
227 set_except_vector(0, cp0_irqdispatch);
228
229 for (i = 0; i < PNX8550_INT_CP0_TOTINT; i++) { 238 for (i = 0; i < PNX8550_INT_CP0_TOTINT; i++) {
230 irq_desc[i].handler = &level_irq_type; 239 irq_desc[i].handler = &level_irq_type;
231 pnx8550_ack(i); /* mask the irq just in case */ 240 pnx8550_ack(i); /* mask the irq just in case */
diff --git a/arch/mips/philips/pnx8550/common/mipsIRQ.S b/arch/mips/philips/pnx8550/common/mipsIRQ.S
deleted file mode 100644
index 338bffda3fab..000000000000
--- a/arch/mips/philips/pnx8550/common/mipsIRQ.S
+++ /dev/null
@@ -1,76 +0,0 @@
1/*
2 * Copyright (c) 2002 Philips, Inc. All rights.
3 * Copyright (c) 2002 Red Hat, Inc. All rights.
4 *
5 * This software may be freely redistributed under the terms of the
6 * GNU General Public License.
7 *
8 * You should have received a copy of the GNU General Public License
9 * along with this program; if not, write to the Free Software
10 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
11 *
12 * Based upon arch/mips/galileo-boards/ev64240/int-handler.S
13 *
14 */
15#include <asm/asm.h>
16#include <asm/mipsregs.h>
17#include <asm/addrspace.h>
18#include <asm/regdef.h>
19#include <asm/stackframe.h>
20
21/*
22 * cp0_irqdispatch
23 *
24 * Code to handle in-core interrupt exception.
25 */
26
27 .align 5
28 .set reorder
29 .set noat
30 NESTED(cp0_irqdispatch, PT_SIZE, sp)
31 SAVE_ALL
32 CLI
33 .set at
34 mfc0 t0,CP0_CAUSE
35 mfc0 t2,CP0_STATUS
36
37 and t0,t2
38
39 andi t1,t0,STATUSF_IP2 /* int0 hardware line */
40 bnez t1,ll_hw0_irq
41 nop
42
43 andi t1,t0,STATUSF_IP7 /* int5 hardware line */
44 bnez t1,ll_timer_irq
45 nop
46
47 /* wrong alarm or masked ... */
48
49 j spurious_interrupt
50 nop
51 END(cp0_irqdispatch)
52
53 .align 5
54 .set reorder
55ll_hw0_irq:
56 li a0,2
57 move a1,sp
58 jal hw0_irqdispatch
59 nop
60 j ret_from_irq
61 nop
62
63 .align 5
64 .set reorder
65ll_timer_irq:
66 mfc0 t3,CP0_CONFIG,7
67 andi t4,t3,0x01c0
68 beqz t4,ll_timer_out
69 nop
70 li a0,7
71 move a1,sp
72 jal timer_irqdispatch
73 nop
74
75ll_timer_out: j ret_from_irq
76 nop
diff --git a/arch/mips/philips/pnx8550/common/platform.c b/arch/mips/philips/pnx8550/common/platform.c
index a592260fd673..5436b4b97455 100644
--- a/arch/mips/philips/pnx8550/common/platform.c
+++ b/arch/mips/philips/pnx8550/common/platform.c
@@ -18,6 +18,7 @@
18#include <linux/resource.h> 18#include <linux/resource.h>
19#include <linux/serial.h> 19#include <linux/serial.h>
20#include <linux/serial_ip3106.h> 20#include <linux/serial_ip3106.h>
21#include <linux/platform_device.h>
21 22
22#include <int.h> 23#include <int.h>
23#include <usb.h> 24#include <usb.h>
diff --git a/arch/mips/pmc-sierra/yosemite/Makefile b/arch/mips/pmc-sierra/yosemite/Makefile
index ae96a71a3089..e931e0d44229 100644
--- a/arch/mips/pmc-sierra/yosemite/Makefile
+++ b/arch/mips/pmc-sierra/yosemite/Makefile
@@ -2,7 +2,7 @@
2# Makefile for the PMC-Sierra Titan 2# Makefile for the PMC-Sierra Titan
3# 3#
4 4
5obj-y += irq-handler.o irq.o i2c-yosemite.o prom.o py-console.o setup.o 5obj-y += irq.o i2c-yosemite.o prom.o py-console.o setup.o
6 6
7obj-$(CONFIG_KGDB) += dbg_io.o 7obj-$(CONFIG_KGDB) += dbg_io.o
8obj-$(CONFIG_SMP) += smp.o 8obj-$(CONFIG_SMP) += smp.o
diff --git a/arch/mips/pmc-sierra/yosemite/irq-handler.S b/arch/mips/pmc-sierra/yosemite/irq-handler.S
deleted file mode 100644
index 33b9c40d4f5c..000000000000
--- a/arch/mips/pmc-sierra/yosemite/irq-handler.S
+++ /dev/null
@@ -1,93 +0,0 @@
1/*
2 * Copyright 2003, 04 PMC-Sierra Inc.
3 * Author: Manish Lachwani (lachwani@pmc-sierra.com
4 * Copyright 2004 Ralf Baechle (ralf@linux-mips.org)
5 *
6 * First-level interrupt router for the PMC-Sierra Titan board
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 * Titan supports Hypertransport or PCI but not both. Hence, one interrupt
14 * line is shared between the PCI slot A and Hypertransport. This is the
15 * Processor INTB #0.
16 */
17
18#include <linux/config.h>
19#include <asm/asm.h>
20#include <asm/mipsregs.h>
21#include <asm/addrspace.h>
22#include <asm/regdef.h>
23#include <asm/stackframe.h>
24
25 .align 5
26 NESTED(titan_handle_int, PT_SIZE, sp)
27 SAVE_ALL
28 CLI
29 .set at
30 .set noreorder
31 la ra, ret_from_irq
32 mfc0 t0, CP0_CAUSE
33 mfc0 t2, CP0_STATUS
34
35 and t0, t2
36
37 andi t2, t0, STATUSF_IP7 /* INTB5 hardware line */
38 bnez t2, ll_timer_irq /* Timer */
39 andi t1, t0, STATUSF_IP2 /* INTB0 hardware line */
40 bnez t1, ll_pcia_irq /* 64-bit PCI */
41 andi t2, t0, STATUSF_IP3 /* INTB1 hardware line */
42 bnez t2, ll_pcib_irq /* second 64-bit PCI slot */
43 andi t1, t0, STATUSF_IP4 /* INTB2 hardware line */
44 bnez t1, ll_duart_irq /* UART */
45 andi t2, t0, STATUSF_IP5 /* SMP inter-core interrupts */
46 bnez t2, ll_smp_irq
47 andi t1, t0, STATUSF_IP6
48 bnez t1, ll_ht_irq /* Hypertransport */
49
50 move a0, sp
51 j do_extended_irq
52 END(titan_handle_int)
53
54 .set reorder
55 .align 5
56
57ll_pcia_irq:
58 li a0, 2
59 move a1, sp
60#ifdef CONFIG_HYPERTRANSPORT
61 j ll_ht_smp_irq_handler
62#else
63 j do_IRQ
64#endif
65
66ll_pcib_irq:
67 li a0, 3
68 move a1, sp
69 j do_IRQ
70
71ll_duart_irq:
72 li a0, 4
73 move a1, sp
74 j do_IRQ
75
76ll_smp_irq:
77 li a0, 5
78 move a1, sp
79#ifdef CONFIG_SMP
80 j titan_mailbox_irq
81#else
82 j do_IRQ
83#endif
84
85ll_ht_irq:
86 li a0, 6
87 move a1, sp
88 j ll_ht_smp_irq_handler
89
90ll_timer_irq:
91 li a0, 7
92 move a1, sp
93 j do_IRQ
diff --git a/arch/mips/pmc-sierra/yosemite/irq.c b/arch/mips/pmc-sierra/yosemite/irq.c
index f4e2897d9bf7..a1f524fc4c10 100644
--- a/arch/mips/pmc-sierra/yosemite/irq.c
+++ b/arch/mips/pmc-sierra/yosemite/irq.c
@@ -2,6 +2,8 @@
2 * Copyright (C) 2003 PMC-Sierra Inc. 2 * Copyright (C) 2003 PMC-Sierra Inc.
3 * Author: Manish Lachwani (lachwani@pmc-sierra.com) 3 * Author: Manish Lachwani (lachwani@pmc-sierra.com)
4 * 4 *
5 * Copyright (C) 2006 Ralf Baechle (ralf@linux-mips.org)
6 *
5 * This program is free software; you can redistribute it and/or modify it 7 * This program is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License as published by the 8 * under the terms of the GNU General Public License as published by the
7 * Free Software Foundation; either version 2 of the License, or (at your 9 * Free Software Foundation; either version 2 of the License, or (at your
@@ -55,7 +57,6 @@
55#define HYPERTRANSPORT_INTC 0x7a /* INTC# */ 57#define HYPERTRANSPORT_INTC 0x7a /* INTC# */
56#define HYPERTRANSPORT_INTD 0x7b /* INTD# */ 58#define HYPERTRANSPORT_INTD 0x7b /* INTD# */
57 59
58extern asmlinkage void titan_handle_int(void);
59extern void jaguar_mailbox_irq(struct pt_regs *); 60extern void jaguar_mailbox_irq(struct pt_regs *);
60 61
61/* 62/*
@@ -125,6 +126,35 @@ asmlinkage void do_extended_irq(struct pt_regs *regs)
125 126
126} 127}
127 128
129asmlinkage void plat_irq_dispatch(struct pt_regs *regs)
130{
131 unsigned int cause = read_c0_cause();
132 unsigned int status = read_c0_status();
133 unsigned int pending = cause & status;
134
135 if (pending & STATUSF_IP7) {
136 do_IRQ(7, regs);
137 } else if (pending & STATUSF_IP2) {
138#ifdef CONFIG_HYPERTRANSPORT
139 ll_ht_smp_irq_handler(2, regs);
140#else
141 do_IRQ(2, regs);
142#endif
143 } else if (pending & STATUSF_IP3) {
144 do_IRQ(3, regs);
145 } else if (pending & STATUSF_IP4) {
146 do_IRQ(4, regs);
147 } else if (pending & STATUSF_IP5) {
148#ifdef CONFIG_SMP
149 titan_mailbox_irq(regs);
150#else
151 do_IRQ(5, regs);
152#endif
153 } else if (pending & STATUSF_IP6) {
154 do_IRQ(4, regs);
155 }
156}
157
128#ifdef CONFIG_KGDB 158#ifdef CONFIG_KGDB
129extern void init_second_port(void); 159extern void init_second_port(void);
130#endif 160#endif
@@ -136,7 +166,6 @@ void __init arch_init_irq(void)
136{ 166{
137 clear_c0_status(ST0_IM); 167 clear_c0_status(ST0_IM);
138 168
139 set_except_vector(0, titan_handle_int);
140 mips_cpu_irq_init(0); 169 mips_cpu_irq_init(0);
141 rm7k_cpu_irq_init(8); 170 rm7k_cpu_irq_init(8);
142 rm9k_cpu_irq_init(12); 171 rm9k_cpu_irq_init(12);
diff --git a/arch/mips/qemu/Makefile b/arch/mips/qemu/Makefile
index 6a8e8bcef552..730f459f3e99 100644
--- a/arch/mips/qemu/Makefile
+++ b/arch/mips/qemu/Makefile
@@ -2,6 +2,6 @@
2# Makefile for Qemu specific kernel interface routines under Linux. 2# Makefile for Qemu specific kernel interface routines under Linux.
3# 3#
4 4
5obj-y = q-firmware.o q-int.o q-irq.o q-mem.o q-setup.o 5obj-y = q-firmware.o q-irq.o q-mem.o q-setup.o
6 6
7obj-$(CONFIG_SMP) += q-smp.o 7obj-$(CONFIG_SMP) += q-smp.o
diff --git a/arch/mips/qemu/q-int.S b/arch/mips/qemu/q-int.S
deleted file mode 100644
index 6e3dfe5eb14b..000000000000
--- a/arch/mips/qemu/q-int.S
+++ /dev/null
@@ -1,17 +0,0 @@
1/*
2 * Qemu interrupt handler code.
3 *
4 * Copyright (C) 2005 by Ralf Baechle
5 */
6#include <asm/asm.h>
7#include <asm/regdef.h>
8#include <asm/stackframe.h>
9
10 .align 5
11 NESTED(qemu_handle_int, PT_SIZE, sp)
12 SAVE_ALL
13 CLI
14 move a0, sp
15 PTR_LA ra, ret_from_irq
16 j do_qemu_int
17 END(qemu_handle_int)
diff --git a/arch/mips/qemu/q-irq.c b/arch/mips/qemu/q-irq.c
index 2c4e0704ff10..3352374c4c7d 100644
--- a/arch/mips/qemu/q-irq.c
+++ b/arch/mips/qemu/q-irq.c
@@ -9,7 +9,7 @@
9 9
10extern asmlinkage void qemu_handle_int(void); 10extern asmlinkage void qemu_handle_int(void);
11 11
12asmlinkage void do_qemu_int(struct pt_regs *regs) 12asmlinkage void plat_irq_dispatch(struct pt_regs *regs)
13{ 13{
14 unsigned int pending = read_c0_status() & read_c0_cause(); 14 unsigned int pending = read_c0_status() & read_c0_cause();
15 15
@@ -29,7 +29,6 @@ asmlinkage void do_qemu_int(struct pt_regs *regs)
29 29
30void __init arch_init_irq(void) 30void __init arch_init_irq(void)
31{ 31{
32 set_except_vector(0, qemu_handle_int);
33 mips_hpt_frequency = QEMU_C0_COUNTER_CLOCK; /* 100MHz */ 32 mips_hpt_frequency = QEMU_C0_COUNTER_CLOCK; /* 100MHz */
34 33
35 init_i8259_irqs(); 34 init_i8259_irqs();
diff --git a/arch/mips/sgi-ip22/Makefile b/arch/mips/sgi-ip22/Makefile
index eb0820fe50bd..6aa4c0cd169c 100644
--- a/arch/mips/sgi-ip22/Makefile
+++ b/arch/mips/sgi-ip22/Makefile
@@ -3,7 +3,7 @@
3# under Linux. 3# under Linux.
4# 4#
5 5
6obj-y += ip22-mc.o ip22-hpc.o ip22-int.o ip22-irq.o ip22-berr.o \ 6obj-y += ip22-mc.o ip22-hpc.o ip22-int.o ip22-berr.o \
7 ip22-time.o ip22-nvram.o ip22-reset.o ip22-setup.o 7 ip22-time.o ip22-nvram.o ip22-reset.o ip22-setup.o
8 8
9obj-$(CONFIG_EISA) += ip22-eisa.o 9obj-$(CONFIG_EISA) += ip22-eisa.o
diff --git a/arch/mips/sgi-ip22/ip22-int.c b/arch/mips/sgi-ip22/ip22-int.c
index d16fb43b1a93..fc6a7e2b189c 100644
--- a/arch/mips/sgi-ip22/ip22-int.c
+++ b/arch/mips/sgi-ip22/ip22-int.c
@@ -37,7 +37,6 @@ static char lc1msk_to_irqnr[256];
37static char lc2msk_to_irqnr[256]; 37static char lc2msk_to_irqnr[256];
38static char lc3msk_to_irqnr[256]; 38static char lc3msk_to_irqnr[256];
39 39
40extern asmlinkage void indyIRQ(void);
41extern int ip22_eisa_init(void); 40extern int ip22_eisa_init(void);
42 41
43static void enable_local0_irq(unsigned int irq) 42static void enable_local0_irq(unsigned int irq)
@@ -224,7 +223,7 @@ static struct hw_interrupt_type ip22_local3_irq_type = {
224 .end = end_local3_irq, 223 .end = end_local3_irq,
225}; 224};
226 225
227void indy_local0_irqdispatch(struct pt_regs *regs) 226static void indy_local0_irqdispatch(struct pt_regs *regs)
228{ 227{
229 u8 mask = sgint->istat0 & sgint->imask0; 228 u8 mask = sgint->istat0 & sgint->imask0;
230 u8 mask2; 229 u8 mask2;
@@ -242,7 +241,7 @@ void indy_local0_irqdispatch(struct pt_regs *regs)
242 return; 241 return;
243} 242}
244 243
245void indy_local1_irqdispatch(struct pt_regs *regs) 244static void indy_local1_irqdispatch(struct pt_regs *regs)
246{ 245{
247 u8 mask = sgint->istat1 & sgint->imask1; 246 u8 mask = sgint->istat1 & sgint->imask1;
248 u8 mask2; 247 u8 mask2;
@@ -262,7 +261,7 @@ void indy_local1_irqdispatch(struct pt_regs *regs)
262 261
263extern void ip22_be_interrupt(int irq, struct pt_regs *regs); 262extern void ip22_be_interrupt(int irq, struct pt_regs *regs);
264 263
265void indy_buserror_irq(struct pt_regs *regs) 264static void indy_buserror_irq(struct pt_regs *regs)
266{ 265{
267 int irq = SGI_BUSERR_IRQ; 266 int irq = SGI_BUSERR_IRQ;
268 267
@@ -307,6 +306,56 @@ static struct irqaction map1_cascade = {
307#define SGI_INTERRUPTS SGINT_LOCAL3 306#define SGI_INTERRUPTS SGINT_LOCAL3
308#endif 307#endif
309 308
309extern void indy_r4k_timer_interrupt(struct pt_regs *regs);
310extern void indy_8254timer_irq(struct pt_regs *regs);
311
312/*
313 * IRQs on the INDY look basically (barring software IRQs which we don't use
314 * at all) like:
315 *
316 * MIPS IRQ Source
317 * -------- ------
318 * 0 Software (ignored)
319 * 1 Software (ignored)
320 * 2 Local IRQ level zero
321 * 3 Local IRQ level one
322 * 4 8254 Timer zero
323 * 5 8254 Timer one
324 * 6 Bus Error
325 * 7 R4k timer (what we use)
326 *
327 * We handle the IRQ according to _our_ priority which is:
328 *
329 * Highest ---- R4k Timer
330 * Local IRQ zero
331 * Local IRQ one
332 * Bus Error
333 * 8254 Timer zero
334 * Lowest ---- 8254 Timer one
335 *
336 * then we just return, if multiple IRQs are pending then we will just take
337 * another exception, big deal.
338 */
339
340asmlinkage void plat_irq_dispatch(struct pt_regs *regs)
341{
342 unsigned int pending = read_c0_cause();
343
344 /*
345 * First we check for r4k counter/timer IRQ.
346 */
347 if (pending & CAUSEF_IP7)
348 indy_r4k_timer_interrupt(regs);
349 else if (pending & CAUSEF_IP2)
350 indy_local0_irqdispatch(regs);
351 else if (pending & CAUSEF_IP3)
352 indy_local1_irqdispatch(regs);
353 else if (pending & CAUSEF_IP6)
354 indy_buserror_irq(regs);
355 else if (pending & (CAUSEF_IP4 | CAUSEF_IP5))
356 indy_8254timer_irq(regs);
357}
358
310extern void mips_cpu_irq_init(unsigned int irq_base); 359extern void mips_cpu_irq_init(unsigned int irq_base);
311 360
312void __init arch_init_irq(void) 361void __init arch_init_irq(void)
@@ -369,8 +418,6 @@ void __init arch_init_irq(void)
369 sgint->cmeimask0 = 0; 418 sgint->cmeimask0 = 0;
370 sgint->cmeimask1 = 0; 419 sgint->cmeimask1 = 0;
371 420
372 set_except_vector(0, indyIRQ);
373
374 /* init CPU irqs */ 421 /* init CPU irqs */
375 mips_cpu_irq_init(SGINT_CPU); 422 mips_cpu_irq_init(SGINT_CPU);
376 423
diff --git a/arch/mips/sgi-ip22/ip22-irq.S b/arch/mips/sgi-ip22/ip22-irq.S
deleted file mode 100644
index 6ccbd9e1d967..000000000000
--- a/arch/mips/sgi-ip22/ip22-irq.S
+++ /dev/null
@@ -1,118 +0,0 @@
1/*
2 * ip22-irq.S: Interrupt exception dispatch code for FullHouse and
3 * Guiness.
4 *
5 * Copyright (C) 1996 David S. Miller (dm@engr.sgi.com)
6 */
7
8#include <asm/asm.h>
9#include <asm/mipsregs.h>
10#include <asm/regdef.h>
11#include <asm/stackframe.h>
12
13/* A lot of complication here is taken away because:
14 *
15 * 1) We handle one interrupt and return, sitting in a loop and moving across
16 * all the pending IRQ bits in the cause register is _NOT_ the answer, the
17 * common case is one pending IRQ so optimize in that direction.
18 *
19 * 2) We need not check against bits in the status register IRQ mask, that
20 * would make this routine slow as hell.
21 *
22 * 3) Linux only thinks in terms of all IRQs on or all IRQs off, nothing in
23 * between like BSD spl() brain-damage.
24 *
25 * Furthermore, the IRQs on the INDY look basically (barring software IRQs
26 * which we don't use at all) like:
27 *
28 * MIPS IRQ Source
29 * -------- ------
30 * 0 Software (ignored)
31 * 1 Software (ignored)
32 * 2 Local IRQ level zero
33 * 3 Local IRQ level one
34 * 4 8254 Timer zero
35 * 5 8254 Timer one
36 * 6 Bus Error
37 * 7 R4k timer (what we use)
38 *
39 * We handle the IRQ according to _our_ priority which is:
40 *
41 * Highest ---- R4k Timer
42 * Local IRQ zero
43 * Local IRQ one
44 * Bus Error
45 * 8254 Timer zero
46 * Lowest ---- 8254 Timer one
47 *
48 * then we just return, if multiple IRQs are pending then we will just take
49 * another exception, big deal.
50 */
51
52 .text
53 .set noreorder
54 .set noat
55 .align 5
56 NESTED(indyIRQ, PT_SIZE, sp)
57 SAVE_ALL
58 CLI
59 .set at
60 mfc0 s0, CP0_CAUSE # get irq mask
61
62 /* First we check for r4k counter/timer IRQ. */
63 andi a0, s0, CAUSEF_IP7
64 beq a0, zero, 1f
65 andi a0, s0, CAUSEF_IP2 # delay slot, check local level zero
66
67 /* Wheee, a timer interrupt. */
68 jal indy_r4k_timer_interrupt
69 move a0, sp # delay slot
70 j ret_from_irq
71 nop # delay slot
72
731:
74 beq a0, zero, 1f
75 andi a0, s0, CAUSEF_IP3 # delay slot, check local level one
76
77 /* Wheee, local level zero interrupt. */
78 jal indy_local0_irqdispatch
79 move a0, sp # delay slot
80
81 j ret_from_irq
82 nop # delay slot
83
841:
85 beq a0, zero, 1f
86 andi a0, s0, CAUSEF_IP6 # delay slot, check bus error
87
88 /* Wheee, local level one interrupt. */
89 jal indy_local1_irqdispatch
90 move a0, sp # delay slot
91 j ret_from_irq
92 nop # delay slot
93
941:
95 beq a0, zero, 1f
96 andi a0, s0, (CAUSEF_IP4 | CAUSEF_IP5) # delay slot
97
98 /* Wheee, an asynchronous bus error... */
99 jal indy_buserror_irq
100 move a0, sp # delay slot
101 j ret_from_irq
102 nop # delay slot
103
1041:
105 /* Here by mistake? It is possible, that by the time we take
106 * the exception the IRQ pin goes low, so just leave if this
107 * is the case.
108 */
109 beq a0, zero, 1f
110 nop # delay slot
111
112 /* Must be one of the 8254 timers... */
113 jal indy_8254timer_irq
114 move a0, sp # delay slot
1151:
116 j ret_from_irq
117 nop # delay slot
118 END(indyIRQ)
diff --git a/arch/mips/sgi-ip27/Makefile b/arch/mips/sgi-ip27/Makefile
index 4ba340780c35..686ba14e2882 100644
--- a/arch/mips/sgi-ip27/Makefile
+++ b/arch/mips/sgi-ip27/Makefile
@@ -2,7 +2,7 @@
2# Makefile for the IP27 specific kernel interface routines under Linux. 2# Makefile for the IP27 specific kernel interface routines under Linux.
3# 3#
4 4
5obj-y := ip27-berr.o ip27-console.o ip27-irq.o ip27-init.o ip27-irq-glue.o \ 5obj-y := ip27-berr.o ip27-console.o ip27-irq.o ip27-init.o \
6 ip27-klconfig.o ip27-klnuma.o ip27-memory.o ip27-nmi.o ip27-reset.o \ 6 ip27-klconfig.o ip27-klnuma.o ip27-memory.o ip27-nmi.o ip27-reset.o \
7 ip27-timer.o ip27-hubio.o ip27-xtalk.o 7 ip27-timer.o ip27-hubio.o ip27-xtalk.o
8 8
diff --git a/arch/mips/sgi-ip27/TODO b/arch/mips/sgi-ip27/TODO
index 32106131b0d0..19f1512c8f2e 100644
--- a/arch/mips/sgi-ip27/TODO
+++ b/arch/mips/sgi-ip27/TODO
@@ -9,10 +9,6 @@ ip27-init.c:find_lbaord_real. DONE
9in irix? 9in irix?
106. Investigate why things do not work without the setup_test() call 106. Investigate why things do not work without the setup_test() call
11being invoked on all nodes in ip27-memory.c. 11being invoked on all nodes in ip27-memory.c.
127. Too many CLIs in the locore handlers :
13For the low level handlers set up by set_except_vector(),
14__tlb_refill_debug_tramp, __xtlb_refill_debug_tramp and cacheerror,
15investigate whether the code should do CLI, STI or KMODE.
168. Too many do_page_faults invoked - investigate. 128. Too many do_page_faults invoked - investigate.
179. start_thread must turn off UX64 ... and define tlb_refill_debug. 139. start_thread must turn off UX64 ... and define tlb_refill_debug.
1810. Need a bad pmd table, bad pte table. __bad_pmd_table/__bad_pagetable 1410. Need a bad pmd table, bad pte table. __bad_pmd_table/__bad_pagetable
diff --git a/arch/mips/sgi-ip27/ip27-irq-glue.S b/arch/mips/sgi-ip27/ip27-irq-glue.S
deleted file mode 100644
index c304df715e0a..000000000000
--- a/arch/mips/sgi-ip27/ip27-irq-glue.S
+++ /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) 1999 Ralf Baechle
7 * Copyright (C) 1999 Silicon Graphics, Inc.
8 */
9#include <asm/asm.h>
10#include <asm/mipsregs.h>
11#include <asm/regdef.h>
12#include <asm/stackframe.h>
13
14 .text
15 .align 5
16NESTED(ip27_irq, PT_SIZE, sp)
17 SAVE_ALL
18 CLI
19
20 mfc0 s0, CP0_CAUSE
21 mfc0 t0, CP0_STATUS
22 and s0, t0
23 move a0, sp
24 PTR_LA ra, ret_from_irq
25
26 /* First check for RT interrupt. */
27 andi t0, s0, CAUSEF_IP4
28 bnez t0, ip4
29 andi t0, s0, CAUSEF_IP2
30 bnez t0, ip2
31 andi t0, s0, CAUSEF_IP3
32 bnez t0, ip3
33 andi t0, s0, CAUSEF_IP5
34 bnez t0, ip5
35 andi t0, s0, CAUSEF_IP6
36 bnez t0, ip6
37 j ra
38
39ip2: j ip27_do_irq_mask0 # PI_INT_PEND_0 or CC_PEND_{A|B}
40ip3: j ip27_do_irq_mask1 # PI_INT_PEND_1
41ip4: j ip27_rt_timer_interrupt
42ip5: j ip27_prof_timer
43ip6: j ip27_hub_error
44
45 END(ip27_irq)
diff --git a/arch/mips/sgi-ip27/ip27-irq.c b/arch/mips/sgi-ip27/ip27-irq.c
index 2854ac4c9be1..2e643d2f51cb 100644
--- a/arch/mips/sgi-ip27/ip27-irq.c
+++ b/arch/mips/sgi-ip27/ip27-irq.c
@@ -130,7 +130,7 @@ static int ms1bit(unsigned long x)
130 * Kanoj 05.13.00 130 * Kanoj 05.13.00
131 */ 131 */
132 132
133void ip27_do_irq_mask0(struct pt_regs *regs) 133static void ip27_do_irq_mask0(struct pt_regs *regs)
134{ 134{
135 int irq, swlevel; 135 int irq, swlevel;
136 hubreg_t pend0, mask0; 136 hubreg_t pend0, mask0;
@@ -171,7 +171,7 @@ void ip27_do_irq_mask0(struct pt_regs *regs)
171 LOCAL_HUB_L(PI_INT_PEND0); 171 LOCAL_HUB_L(PI_INT_PEND0);
172} 172}
173 173
174void ip27_do_irq_mask1(struct pt_regs *regs) 174static void ip27_do_irq_mask1(struct pt_regs *regs)
175{ 175{
176 int irq, swlevel; 176 int irq, swlevel;
177 hubreg_t pend1, mask1; 177 hubreg_t pend1, mask1;
@@ -196,12 +196,12 @@ void ip27_do_irq_mask1(struct pt_regs *regs)
196 LOCAL_HUB_L(PI_INT_PEND1); 196 LOCAL_HUB_L(PI_INT_PEND1);
197} 197}
198 198
199void ip27_prof_timer(struct pt_regs *regs) 199static void ip27_prof_timer(struct pt_regs *regs)
200{ 200{
201 panic("CPU %d got a profiling interrupt", smp_processor_id()); 201 panic("CPU %d got a profiling interrupt", smp_processor_id());
202} 202}
203 203
204void ip27_hub_error(struct pt_regs *regs) 204static void ip27_hub_error(struct pt_regs *regs)
205{ 205{
206 panic("CPU %d got a hub error interrupt", smp_processor_id()); 206 panic("CPU %d got a hub error interrupt", smp_processor_id());
207} 207}
@@ -421,9 +421,26 @@ int __devinit request_bridge_irq(struct bridge_controller *bc)
421 return irq; 421 return irq;
422} 422}
423 423
424extern void ip27_rt_timer_interrupt(struct pt_regs *regs);
425
426asmlinkage void plat_irq_dispatch(struct pt_regs *regs)
427{
428 unsigned long pending = read_c0_cause() & read_c0_status();
429
430 if (pending & CAUSEF_IP4)
431 ip27_rt_timer_interrupt(regs);
432 else if (pending & CAUSEF_IP2) /* PI_INT_PEND_0 or CC_PEND_{A|B} */
433 ip27_do_irq_mask0(regs);
434 else if (pending & CAUSEF_IP3) /* PI_INT_PEND_1 */
435 ip27_do_irq_mask1(regs);
436 else if (pending & CAUSEF_IP5)
437 ip27_prof_timer(regs);
438 else if (pending & CAUSEF_IP6)
439 ip27_hub_error(regs);
440}
441
424void __init arch_init_irq(void) 442void __init arch_init_irq(void)
425{ 443{
426 set_except_vector(0, ip27_irq);
427} 444}
428 445
429void install_ipi(void) 446void install_ipi(void)
diff --git a/arch/mips/sgi-ip27/ip27-timer.c b/arch/mips/sgi-ip27/ip27-timer.c
index cddf1cedf007..36b662e27b6e 100644
--- a/arch/mips/sgi-ip27/ip27-timer.c
+++ b/arch/mips/sgi-ip27/ip27-timer.c
@@ -122,7 +122,7 @@ again:
122 xtime.tv_sec > last_rtc_update + 660 && 122 xtime.tv_sec > last_rtc_update + 660 &&
123 (xtime.tv_nsec / 1000) >= 500000 - ((unsigned) TICK_SIZE) / 2 && 123 (xtime.tv_nsec / 1000) >= 500000 - ((unsigned) TICK_SIZE) / 2 &&
124 (xtime.tv_nsec / 1000) <= 500000 + ((unsigned) TICK_SIZE) / 2) { 124 (xtime.tv_nsec / 1000) <= 500000 + ((unsigned) TICK_SIZE) / 2) {
125 if (rtc_set_time(xtime.tv_sec) == 0) { 125 if (rtc_mips_set_time(xtime.tv_sec) == 0) {
126 last_rtc_update = xtime.tv_sec; 126 last_rtc_update = xtime.tv_sec;
127 } else { 127 } else {
128 last_rtc_update = xtime.tv_sec - 600; 128 last_rtc_update = xtime.tv_sec - 600;
diff --git a/arch/mips/sgi-ip32/Makefile b/arch/mips/sgi-ip32/Makefile
index 470898f4afe1..530bf848c3d0 100644
--- a/arch/mips/sgi-ip32/Makefile
+++ b/arch/mips/sgi-ip32/Makefile
@@ -3,7 +3,7 @@
3# under Linux. 3# under Linux.
4# 4#
5 5
6obj-y += ip32-berr.o ip32-irq.o ip32-irq-glue.o ip32-setup.o ip32-reset.o \ 6obj-y += ip32-berr.o ip32-irq.o ip32-setup.o ip32-reset.o \
7 crime.o ip32-memory.o 7 crime.o ip32-memory.o
8 8
9EXTRA_AFLAGS := $(CFLAGS) 9EXTRA_AFLAGS := $(CFLAGS)
diff --git a/arch/mips/sgi-ip32/ip32-irq-glue.S b/arch/mips/sgi-ip32/ip32-irq-glue.S
deleted file mode 100644
index 200924e1c4f5..000000000000
--- a/arch/mips/sgi-ip32/ip32-irq-glue.S
+++ /dev/null
@@ -1,86 +0,0 @@
1/*
2 * Low level interrupt handler for the SGI O2 aka IP32 aka Moosehead
3 *
4 * This file is subject to the terms and conditions of the GNU General Public
5 * License. See the file "COPYING" in the main directory of this archive
6 * for more details.
7 *
8 * Copyright (C) 2000 Harald Koerfgen
9 * Copyright (C) 2001 Keith M Wesolowski
10 */
11#include <asm/asm.h>
12#include <asm/regdef.h>
13#include <asm/mipsregs.h>
14#include <asm/stackframe.h>
15#include <asm/addrspace.h>
16
17 .text
18 .set noreorder
19 .set noat
20 .align 5
21 NESTED(ip32_handle_int, PT_SIZE, ra)
22 .set noat
23 SAVE_ALL
24 CLI # TEST: interrupts should be off
25 .set at
26 .set noreorder
27
28 mfc0 s0,CP0_CAUSE
29
30 andi t1, s0, IE_IRQ0
31 bnez t1, handle_irq0
32 andi t1, s0, IE_IRQ1
33 bnez t1, handle_irq1
34 andi t1, s0, IE_IRQ2
35 bnez t1, handle_irq2
36 andi t1, s0, IE_IRQ3
37 bnez t1, handle_irq3
38 andi t1, s0, IE_IRQ4
39 bnez t1, handle_irq4
40 andi t1, s0, IE_IRQ5
41 bnez t1, handle_irq5
42 nop
43
44 /* Either someone has triggered the "software interrupts"
45 * or we lost an interrupt somehow. Ignore it.
46 */
47 j ret_from_irq
48 nop
49
50handle_irq0:
51 jal ip32_irq0
52 move a0, sp
53 j ret_from_irq
54 nop
55
56handle_irq1:
57 jal ip32_irq1
58 move a0, sp
59 j ret_from_irq
60 nop
61
62handle_irq2:
63 jal ip32_irq2
64 move a0, sp
65 j ret_from_irq
66 nop
67
68handle_irq3:
69 jal ip32_irq3
70 move a0, sp
71 j ret_from_irq
72 nop
73
74handle_irq4:
75 jal ip32_irq4
76 move a0, sp
77 j ret_from_irq
78 nop
79
80handle_irq5:
81 jal ip32_irq5
82 move a0, sp
83 j ret_from_irq
84 nop
85
86 END(ip32_handle_int)
diff --git a/arch/mips/sgi-ip32/ip32-irq.c b/arch/mips/sgi-ip32/ip32-irq.c
index 2eb22d692ed9..8ba08047d164 100644
--- a/arch/mips/sgi-ip32/ip32-irq.c
+++ b/arch/mips/sgi-ip32/ip32-irq.c
@@ -31,12 +31,12 @@
31/* issue a PIO read to make sure no PIO writes are pending */ 31/* issue a PIO read to make sure no PIO writes are pending */
32static void inline flush_crime_bus(void) 32static void inline flush_crime_bus(void)
33{ 33{
34 volatile unsigned long junk = crime->control; 34 crime->control;
35} 35}
36 36
37static void inline flush_mace_bus(void) 37static void inline flush_mace_bus(void)
38{ 38{
39 volatile unsigned long junk = mace->perif.ctrl.misc; 39 mace->perif.ctrl.misc;
40} 40}
41 41
42#undef DEBUG_IRQ 42#undef DEBUG_IRQ
@@ -130,8 +130,6 @@ struct irqaction memerr_irq = { crime_memerr_intr, SA_INTERRUPT,
130struct irqaction cpuerr_irq = { crime_cpuerr_intr, SA_INTERRUPT, 130struct irqaction cpuerr_irq = { crime_cpuerr_intr, SA_INTERRUPT,
131 CPU_MASK_NONE, "CRIME CPU error", NULL, NULL }; 131 CPU_MASK_NONE, "CRIME CPU error", NULL, NULL };
132 132
133extern void ip32_handle_int(void);
134
135/* 133/*
136 * For interrupts wired from a single device to the CPU. Only the clock 134 * For interrupts wired from a single device to the CPU. Only the clock
137 * uses this it seems, which is IRQ 0 and IP7. 135 * uses this it seems, which is IRQ 0 and IP7.
@@ -503,48 +501,67 @@ static void ip32_unknown_interrupt(struct pt_regs *regs)
503 501
504/* CRIME 1.1 appears to deliver all interrupts to this one pin. */ 502/* CRIME 1.1 appears to deliver all interrupts to this one pin. */
505/* change this to loop over all edge-triggered irqs, exception masked out ones */ 503/* change this to loop over all edge-triggered irqs, exception masked out ones */
506void ip32_irq0(struct pt_regs *regs) 504static void ip32_irq0(struct pt_regs *regs)
507{ 505{
508 uint64_t crime_int; 506 uint64_t crime_int;
509 int irq = 0; 507 int irq = 0;
510 508
511 crime_int = crime->istat & crime_mask; 509 crime_int = crime->istat & crime_mask;
512 irq = ffs(crime_int); 510 irq = __ffs(crime_int);
513 crime_int = 1 << (irq - 1); 511 crime_int = 1 << irq;
514 512
515 if (crime_int & CRIME_MACEISA_INT_MASK) { 513 if (crime_int & CRIME_MACEISA_INT_MASK) {
516 unsigned long mace_int = mace->perif.ctrl.istat; 514 unsigned long mace_int = mace->perif.ctrl.istat;
517 irq = ffs(mace_int & maceisa_mask) + 32; 515 irq = __ffs(mace_int & maceisa_mask) + 32;
518 } 516 }
517 irq++;
519 DBG("*irq %u*\n", irq); 518 DBG("*irq %u*\n", irq);
520 do_IRQ(irq, regs); 519 do_IRQ(irq, regs);
521} 520}
522 521
523void ip32_irq1(struct pt_regs *regs) 522static void ip32_irq1(struct pt_regs *regs)
524{ 523{
525 ip32_unknown_interrupt(regs); 524 ip32_unknown_interrupt(regs);
526} 525}
527 526
528void ip32_irq2(struct pt_regs *regs) 527static void ip32_irq2(struct pt_regs *regs)
529{ 528{
530 ip32_unknown_interrupt(regs); 529 ip32_unknown_interrupt(regs);
531} 530}
532 531
533void ip32_irq3(struct pt_regs *regs) 532static void ip32_irq3(struct pt_regs *regs)
534{ 533{
535 ip32_unknown_interrupt(regs); 534 ip32_unknown_interrupt(regs);
536} 535}
537 536
538void ip32_irq4(struct pt_regs *regs) 537static void ip32_irq4(struct pt_regs *regs)
539{ 538{
540 ip32_unknown_interrupt(regs); 539 ip32_unknown_interrupt(regs);
541} 540}
542 541
543void ip32_irq5(struct pt_regs *regs) 542static void ip32_irq5(struct pt_regs *regs)
544{ 543{
545 ll_timer_interrupt(IP32_R4K_TIMER_IRQ, regs); 544 ll_timer_interrupt(IP32_R4K_TIMER_IRQ, regs);
546} 545}
547 546
547asmlinkage void plat_irq_dispatch(struct pt_regs *regs)
548{
549 unsigned int pending = read_c0_cause();
550
551 if (likely(pending & IE_IRQ0))
552 ip32_irq0(regs);
553 else if (unlikely(pending & IE_IRQ1))
554 ip32_irq1(regs);
555 else if (unlikely(pending & IE_IRQ2))
556 ip32_irq2(regs);
557 else if (unlikely(pending & IE_IRQ3))
558 ip32_irq3(regs);
559 else if (unlikely(pending & IE_IRQ4))
560 ip32_irq4(regs);
561 else if (likely(pending & IE_IRQ5))
562 ip32_irq5(regs);
563}
564
548void __init arch_init_irq(void) 565void __init arch_init_irq(void)
549{ 566{
550 unsigned int irq; 567 unsigned int irq;
@@ -556,7 +573,6 @@ void __init arch_init_irq(void)
556 crime->soft_int = 0; 573 crime->soft_int = 0;
557 mace->perif.ctrl.istat = 0; 574 mace->perif.ctrl.istat = 0;
558 mace->perif.ctrl.imask = 0; 575 mace->perif.ctrl.imask = 0;
559 set_except_vector(0, ip32_handle_int);
560 576
561 for (irq = 0; irq <= IP32_IRQ_MAX; irq++) { 577 for (irq = 0; irq <= IP32_IRQ_MAX; irq++) {
562 hw_irq_controller *controller; 578 hw_irq_controller *controller;
diff --git a/arch/mips/sibyte/bcm1480/Makefile b/arch/mips/sibyte/bcm1480/Makefile
index 538d5a51ae94..7b36ff3873b7 100644
--- a/arch/mips/sibyte/bcm1480/Makefile
+++ b/arch/mips/sibyte/bcm1480/Makefile
@@ -1,4 +1,4 @@
1obj-y := setup.o irq.o irq_handler.o time.o 1obj-y := setup.o irq.o time.o
2 2
3obj-$(CONFIG_SMP) += smp.o 3obj-$(CONFIG_SMP) += smp.o
4 4
diff --git a/arch/mips/sibyte/bcm1480/irq.c b/arch/mips/sibyte/bcm1480/irq.c
index 9cf7d713b13c..e61760b14d99 100644
--- a/arch/mips/sibyte/bcm1480/irq.c
+++ b/arch/mips/sibyte/bcm1480/irq.c
@@ -187,9 +187,6 @@ static void bcm1480_set_affinity(unsigned int irq, cpumask_t mask)
187#endif 187#endif
188 188
189 189
190/* Defined in arch/mips/sibyte/bcm1480/irq_handler.S */
191extern void bcm1480_irq_handler(void);
192
193/*****************************************************************************/ 190/*****************************************************************************/
194 191
195static unsigned int startup_bcm1480_irq(unsigned int irq) 192static unsigned int startup_bcm1480_irq(unsigned int irq)
@@ -422,7 +419,6 @@ void __init arch_init_irq(void)
422#endif 419#endif
423 /* Enable necessary IPs, disable the rest */ 420 /* Enable necessary IPs, disable the rest */
424 change_c0_status(ST0_IM, imask); 421 change_c0_status(ST0_IM, imask);
425 set_except_vector(0, bcm1480_irq_handler);
426 422
427#ifdef CONFIG_KGDB 423#ifdef CONFIG_KGDB
428 if (kgdb_flag) { 424 if (kgdb_flag) {
@@ -473,3 +469,76 @@ void bcm1480_kgdb_interrupt(struct pt_regs *regs)
473} 469}
474 470
475#endif /* CONFIG_KGDB */ 471#endif /* CONFIG_KGDB */
472
473static inline int dclz(unsigned long long x)
474{
475 int lz;
476
477 __asm__ (
478 " .set push \n"
479 " .set mips64 \n"
480 " dclz %0, %1 \n"
481 " .set pop \n"
482 : "=r" (lz)
483 : "r" (x));
484
485 return lz;
486}
487
488extern void bcm1480_timer_interrupt(struct pt_regs *regs);
489extern void bcm1480_mailbox_interrupt(struct pt_regs *regs);
490extern void bcm1480_kgdb_interrupt(struct pt_regs *regs);
491
492asmlinkage void plat_irq_dispatch(struct pt_regs *regs)
493{
494 unsigned int pending;
495
496#ifdef CONFIG_SIBYTE_BCM1480_PROF
497 /* Set compare to count to silence count/compare timer interrupts */
498 write_c0_compare(read_c0_count());
499#endif
500
501 pending = read_c0_cause();
502
503#ifdef CONFIG_SIBYTE_BCM1480_PROF
504 if (pending & CAUSEF_IP7) /* Cpu performance counter interrupt */
505 sbprof_cpu_intr(exception_epc(regs));
506#endif
507
508 if (pending & CAUSEF_IP4)
509 bcm1480_timer_interrupt(regs);
510
511#ifdef CONFIG_SMP
512 if (pending & CAUSEF_IP3)
513 bcm1480_mailbox_interrupt(regs);
514#endif
515
516#ifdef CONFIG_KGDB
517 if (pending & CAUSEF_IP6)
518 bcm1480_kgdb_interrupt(regs); /* KGDB (uart 1) */
519#endif
520
521 if (pending & CAUSEF_IP2) {
522 unsigned long long mask_h, mask_l;
523 unsigned long base;
524
525 /*
526 * Default...we've hit an IP[2] interrupt, which means we've
527 * got to check the 1480 interrupt registers to figure out what
528 * to do. Need to detect which CPU we're on, now that
529 * smp_affinity is supported.
530 */
531 base = A_BCM1480_IMR_MAPPER(smp_processor_id());
532 mask_h = __raw_readq(
533 IOADDR(base + R_BCM1480_IMR_INTERRUPT_STATUS_BASE_H));
534 mask_l = __raw_readq(
535 IOADDR(base + R_BCM1480_IMR_INTERRUPT_STATUS_BASE_L));
536
537 if (!mask_h) {
538 if (mask_h ^ 1)
539 do_IRQ(63 - dclz(mask_h), regs);
540 else
541 do_IRQ(127 - dclz(mask_l), regs);
542 }
543 }
544}
diff --git a/arch/mips/sibyte/bcm1480/irq_handler.S b/arch/mips/sibyte/bcm1480/irq_handler.S
deleted file mode 100644
index 408db88d050f..000000000000
--- a/arch/mips/sibyte/bcm1480/irq_handler.S
+++ /dev/null
@@ -1,165 +0,0 @@
1/*
2 * Copyright (C) 2000,2001,2002,2003,2004 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 * bcm1480_irq_handler() is the routine that is actually called when an
21 * interrupt occurs. It is installed as the exception vector handler in
22 * init_IRQ() in arch/mips/sibyte/bcm1480/irq.c
23 *
24 * In the handle we figure out which interrupts need handling, and use that
25 * to call the dispatcher, which will take care of actually calling
26 * registered handlers
27 *
28 * Note that we take care of all raised interrupts in one go at the handler.
29 * This is more BSDish than the Indy code, and also, IMHO, more sane.
30 */
31#include <linux/config.h>
32
33#include <asm/addrspace.h>
34#include <asm/asm.h>
35#include <asm/mipsregs.h>
36#include <asm/regdef.h>
37#include <asm/stackframe.h>
38#include <asm/sibyte/sb1250_defs.h>
39#include <asm/sibyte/bcm1480_regs.h>
40#include <asm/sibyte/bcm1480_int.h>
41
42/*
43 * What a pain. We have to be really careful saving the upper 32 bits of any
44 * register across function calls if we don't want them trashed--since were
45 * running in -o32, the calling routing never saves the full 64 bits of a
46 * register across a function call. Being the interrupt handler, we're
47 * guaranteed that interrupts are disabled during this code so we don't have
48 * to worry about random interrupts blasting the high 32 bits.
49 */
50
51 .text
52 .set push
53 .set noreorder
54 .set noat
55 .set mips64
56 #.set mips4
57 .align 5
58 NESTED(bcm1480_irq_handler, PT_SIZE, sp)
59 SAVE_ALL
60 CLI
61
62#ifdef CONFIG_SIBYTE_BCM1480_PROF
63 /* Set compare to count to silence count/compare timer interrupts */
64 mfc0 t1, CP0_COUNT
65 mtc0 t1, CP0_COMPARE /* pause to clear IP[7] bit of cause ? */
66#endif
67 /* Read cause */
68 mfc0 s0, CP0_CAUSE
69
70#ifdef CONFIG_SIBYTE_BCM1480_PROF
71 /* Cpu performance counter interrupt is routed to IP[7] */
72 andi t1, s0, CAUSEF_IP7
73 beqz t1, 0f
74 srl t1, s0, (CAUSEB_BD-2) /* Shift BD bit to bit 2 */
75 and t1, t1, 0x4 /* mask to get just BD bit */
76#ifdef CONFIG_MIPS64
77 dmfc0 a0, CP0_EPC
78 daddu a0, a0, t1 /* a0 = EPC + (BD ? 4 : 0) */
79#else
80 mfc0 a0, CP0_EPC
81 addu a0, a0, t1 /* a0 = EPC + (BD ? 4 : 0) */
82#endif
83 jal sbprof_cpu_intr
84 nop
85 j ret_from_irq
86 nop
870:
88#endif
89
90 /* Timer interrupt is routed to IP[4] */
91 andi t1, s0, CAUSEF_IP4
92 beqz t1, 1f
93 nop
94 jal bcm1480_timer_interrupt
95 move a0, sp /* Pass the registers along */
96 j ret_from_irq
97 nop /* delay slot */
981:
99
100#ifdef CONFIG_SMP
101 /* Mailbox interrupt is routed to IP[3] */
102 andi t1, s0, CAUSEF_IP3
103 beqz t1, 2f
104 nop
105 jal bcm1480_mailbox_interrupt
106 move a0, sp
107 j ret_from_irq
108 nop /* delay slot */
1092:
110#endif
111
112#ifdef CONFIG_KGDB
113 /* KGDB (uart 1) interrupt is routed to IP[6] */
114 andi t1, s0, CAUSEF_IP6
115 beqz t1, 3f
116 nop /* delay slot */
117 jal bcm1480_kgdb_interrupt
118 move a0, sp
119 j ret_from_irq
120 nop /* delay slot */
1213:
122#endif
123
124 and t1, s0, CAUSEF_IP2
125 beqz t1, 9f
126 nop
127
128 /*
129 * Default...we've hit an IP[2] interrupt, which means we've got
130 * to check the 1480 interrupt registers to figure out what to do
131 * Need to detect which CPU we're on, now that smp_affinity is
132 * supported.
133 */
134 PTR_LA v0, CKSEG1 + A_BCM1480_IMR_CPU0_BASE
135#ifdef CONFIG_SMP
136 lw t1, TI_CPU($28)
137 sll t1, t1, BCM1480_IMR_REGISTER_SPACING_SHIFT
138 addu v0, v0, t1
139#endif
140
141 /* Read IP[2] status (get both high and low halves of status) */
142 ld s0, R_BCM1480_IMR_INTERRUPT_STATUS_BASE_H(v0)
143 ld s1, R_BCM1480_IMR_INTERRUPT_STATUS_BASE_L(v0)
144
145 move s2, zero /* intr number */
146 li s3, 64
147
148 beqz s0, 9f /* No interrupts. Return. */
149 move a1, sp
150
151 xori s4, s0, 1 /* if s0 (_H) == 1, it's a low intr, so... */
152 movz s2, s3, s4 /* start the intr number at 64, and */
153 movz s0, s1, s4 /* look at the low status value. */
154
155 dclz s1, s0 /* Find the next interrupt. */
156 dsubu a0, zero, s1
157 daddiu a0, a0, 63
158 jal do_IRQ
159 daddu a0, a0, s2
160
1619: j ret_from_irq
162 nop
163
164 .set pop
165 END(bcm1480_irq_handler)
diff --git a/arch/mips/sibyte/sb1250/Makefile b/arch/mips/sibyte/sb1250/Makefile
index a8af84697588..a2fdbd62f8ac 100644
--- a/arch/mips/sibyte/sb1250/Makefile
+++ b/arch/mips/sibyte/sb1250/Makefile
@@ -1,4 +1,4 @@
1obj-y := setup.o irq.o irq_handler.o time.o 1obj-y := setup.o irq.o time.o
2 2
3obj-$(CONFIG_SMP) += smp.o 3obj-$(CONFIG_SMP) += smp.o
4obj-$(CONFIG_SIBYTE_TBPROF) += bcm1250_tbprof.o 4obj-$(CONFIG_SIBYTE_TBPROF) += bcm1250_tbprof.o
diff --git a/arch/mips/sibyte/sb1250/irq.c b/arch/mips/sibyte/sb1250/irq.c
index 589537bfcc3d..0f6e54db4888 100644
--- a/arch/mips/sibyte/sb1250/irq.c
+++ b/arch/mips/sibyte/sb1250/irq.c
@@ -163,10 +163,6 @@ static void sb1250_set_affinity(unsigned int irq, cpumask_t mask)
163} 163}
164#endif 164#endif
165 165
166
167/* Defined in arch/mips/sibyte/sb1250/irq_handler.S */
168extern void sb1250_irq_handler(void);
169
170/*****************************************************************************/ 166/*****************************************************************************/
171 167
172static unsigned int startup_sb1250_irq(unsigned int irq) 168static unsigned int startup_sb1250_irq(unsigned int irq)
@@ -379,7 +375,6 @@ void __init arch_init_irq(void)
379#endif 375#endif
380 /* Enable necessary IPs, disable the rest */ 376 /* Enable necessary IPs, disable the rest */
381 change_c0_status(ST0_IM, imask); 377 change_c0_status(ST0_IM, imask);
382 set_except_vector(0, sb1250_irq_handler);
383 378
384#ifdef CONFIG_KGDB 379#ifdef CONFIG_KGDB
385 if (kgdb_flag) { 380 if (kgdb_flag) {
@@ -409,7 +404,7 @@ void __init arch_init_irq(void)
409#define duart_out(reg, val) csr_out32(val, IOADDR(A_DUART_CHANREG(kgdb_port,reg))) 404#define duart_out(reg, val) csr_out32(val, IOADDR(A_DUART_CHANREG(kgdb_port,reg)))
410#define duart_in(reg) csr_in32(IOADDR(A_DUART_CHANREG(kgdb_port,reg))) 405#define duart_in(reg) csr_in32(IOADDR(A_DUART_CHANREG(kgdb_port,reg)))
411 406
412void sb1250_kgdb_interrupt(struct pt_regs *regs) 407static void sb1250_kgdb_interrupt(struct pt_regs *regs)
413{ 408{
414 /* 409 /*
415 * Clear break-change status (allow some time for the remote 410 * Clear break-change status (allow some time for the remote
@@ -424,3 +419,74 @@ void sb1250_kgdb_interrupt(struct pt_regs *regs)
424} 419}
425 420
426#endif /* CONFIG_KGDB */ 421#endif /* CONFIG_KGDB */
422
423static inline int dclz(unsigned long long x)
424{
425 int lz;
426
427 __asm__ (
428 " .set push \n"
429 " .set mips64 \n"
430 " dclz %0, %1 \n"
431 " .set pop \n"
432 : "=r" (lz)
433 : "r" (x));
434
435 return lz;
436}
437
438asmlinkage void plat_irq_dispatch(struct pt_regs *regs)
439{
440 unsigned int pending;
441
442#ifdef CONFIG_SIBYTE_SB1250_PROF
443 /* Set compare to count to silence count/compare timer interrupts */
444 write_c0_count(read_c0_count());
445#endif
446
447 /*
448 * What a pain. We have to be really careful saving the upper 32 bits
449 * of any * register across function calls if we don't want them
450 * trashed--since were running in -o32, the calling routing never saves
451 * the full 64 bits of a register across a function call. Being the
452 * interrupt handler, we're guaranteed that interrupts are disabled
453 * during this code so we don't have to worry about random interrupts
454 * blasting the high 32 bits.
455 */
456
457 pending = read_c0_cause();
458
459#ifdef CONFIG_SIBYTE_SB1250_PROF
460 if (pending & CAUSEF_IP7) { /* Cpu performance counter interrupt */
461 sbprof_cpu_intr(exception_epc(regs));
462 }
463#endif
464
465 if (pending & CAUSEF_IP4)
466 sb1250_timer_interrupt(regs);
467
468#ifdef CONFIG_SMP
469 if (pending & CAUSEF_IP3)
470 sb1250_mailbox_interrupt(regs);
471#endif
472
473#ifdef CONFIG_KGDB
474 if (pending & CAUSEF_IP6) /* KGDB (uart 1) */
475 sb1250_kgdb_interrupt(regs);
476#endif
477
478 if (pending & CAUSEF_IP2) {
479 unsigned long long mask;
480
481 /*
482 * Default...we've hit an IP[2] interrupt, which means we've
483 * got to check the 1250 interrupt registers to figure out what
484 * to do. Need to detect which CPU we're on, now that
485 ~ smp_affinity is supported.
486 */
487 mask = __raw_readq(IOADDR(A_IMR_REGISTER(smp_processor_id(),
488 R_IMR_INTERRUPT_STATUS_BASE)));
489 if (mask)
490 do_IRQ(63 - dclz(mask), regs);
491 }
492}
diff --git a/arch/mips/sibyte/sb1250/irq_handler.S b/arch/mips/sibyte/sb1250/irq_handler.S
deleted file mode 100644
index 60edc8fb302b..000000000000
--- a/arch/mips/sibyte/sb1250/irq_handler.S
+++ /dev/null
@@ -1,147 +0,0 @@
1/*
2 * Copyright (C) 2000, 2001, 2002, 2003 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 * sb1250_handle_int() is the routine that is actually called when an interrupt
21 * occurs. It is installed as the exception vector handler in arch_init_irq()
22 * in arch/mips/sibyte/sb1250/irq.c
23 *
24 * In the handle we figure out which interrupts need handling, and use that to
25 * call the dispatcher, which will take care of actually calling registered
26 * handlers
27 *
28 * Note that we take care of all raised interrupts in one go at the handler.
29 * This is more BSDish than the Indy code, and also, IMHO, more sane.
30 */
31#include <linux/config.h>
32
33#include <asm/addrspace.h>
34#include <asm/asm.h>
35#include <asm/mipsregs.h>
36#include <asm/regdef.h>
37#include <asm/stackframe.h>
38#include <asm/sibyte/sb1250_defs.h>
39#include <asm/sibyte/sb1250_regs.h>
40#include <asm/sibyte/sb1250_int.h>
41
42/*
43 * What a pain. We have to be really careful saving the upper 32 bits of any
44 * register across function calls if we don't want them trashed--since were
45 * running in -o32, the calling routing never saves the full 64 bits of a
46 * register across a function call. Being the interrupt handler, we're
47 * guaranteed that interrupts are disabled during this code so we don't have
48 * to worry about random interrupts blasting the high 32 bits.
49 */
50
51 .text
52 .set push
53 .set noreorder
54 .set noat
55 .set mips64
56 .align 5
57 NESTED(sb1250_irq_handler, PT_SIZE, sp)
58 SAVE_ALL
59 CLI
60
61#ifdef CONFIG_SIBYTE_SB1250_PROF
62 /* Set compare to count to silence count/compare timer interrupts */
63 mfc0 t1, CP0_COUNT
64 mtc0 t1, CP0_COMPARE /* pause to clear IP[7] bit of cause ? */
65#endif
66 /* Read cause */
67 mfc0 s0, CP0_CAUSE
68
69#ifdef CONFIG_SIBYTE_SB1250_PROF
70 /* Cpu performance counter interrupt is routed to IP[7] */
71 andi t1, s0, CAUSEF_IP7
72 beqz t1, 0f
73 srl t1, s0, (CAUSEB_BD-2) /* Shift BD bit to bit 2 */
74 and t1, t1, 0x4 /* mask to get just BD bit */
75 mfc0 a0, CP0_EPC
76 jal sbprof_cpu_intr
77 addu a0, a0, t1 /* a0 = EPC + (BD ? 4 : 0) */
78 j ret_from_irq
79 nop
800:
81#endif
82
83 /* Timer interrupt is routed to IP[4] */
84 andi t1, s0, CAUSEF_IP4
85 beqz t1, 1f
86 nop
87 jal sb1250_timer_interrupt
88 move a0, sp /* Pass the registers along */
89 j ret_from_irq
90 nop # delay slot
911:
92
93#ifdef CONFIG_SMP
94 /* Mailbox interrupt is routed to IP[3] */
95 andi t1, s0, CAUSEF_IP3
96 beqz t1, 2f
97 nop
98 jal sb1250_mailbox_interrupt
99 move a0, sp
100 j ret_from_irq
101 nop # delay slot
1022:
103#endif
104
105#ifdef CONFIG_KGDB
106 /* KGDB (uart 1) interrupt is routed to IP[6] */
107 andi t1, s0, CAUSEF_IP6
108 beqz t1, 1f
109 nop # delay slot
110 jal sb1250_kgdb_interrupt
111 move a0, sp
112 j ret_from_irq
113 nop # delay slot
1141:
115#endif
116
117 and t1, s0, CAUSEF_IP2
118 beqz t1, 4f
119 nop
120
121 /*
122 * Default...we've hit an IP[2] interrupt, which means we've got to
123 * check the 1250 interrupt registers to figure out what to do
124 * Need to detect which CPU we're on, now that smp_affinity is supported.
125 */
126 PTR_LA v0, CKSEG1 + A_IMR_CPU0_BASE
127#ifdef CONFIG_SMP
128 lw t1, TI_CPU($28)
129 sll t1, IMR_REGISTER_SPACING_SHIFT
130 addu v0, t1
131#endif
132 ld s0, R_IMR_INTERRUPT_STATUS_BASE(v0) /* read IP[2] status */
133
134 beqz s0, 4f /* No interrupts. Return */
135 move a1, sp
136
1373: dclz s1, s0 /* Find the next interrupt */
138 dsubu a0, zero, s1
139 daddiu a0, a0, 63
140 jal do_IRQ
141 nop
142
1434: j ret_from_irq
144 nop
145
146 .set pop
147 END(sb1250_irq_handler)
diff --git a/arch/mips/sni/Makefile b/arch/mips/sni/Makefile
index 1e5676e4be86..9c7eaa5fb210 100644
--- a/arch/mips/sni/Makefile
+++ b/arch/mips/sni/Makefile
@@ -2,6 +2,6 @@
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 += int-handler.o irq.o pcimt_scache.o reset.o setup.o 5obj-y += irq.o pcimt_scache.o reset.o setup.o
6 6
7EXTRA_AFLAGS := $(CFLAGS) 7EXTRA_AFLAGS := $(CFLAGS)
diff --git a/arch/mips/sni/int-handler.S b/arch/mips/sni/int-handler.S
deleted file mode 100644
index 2cdc09f55f18..000000000000
--- a/arch/mips/sni/int-handler.S
+++ /dev/null
@@ -1,106 +0,0 @@
1/*
2 * SNI RM200 PCI specific interrupt handler code.
3 *
4 * Copyright (C) 1994, 95, 96, 97, 98, 1999, 2000, 01 by Ralf Baechle
5 */
6#include <asm/asm.h>
7#include <asm/mipsregs.h>
8#include <asm/regdef.h>
9#include <asm/sni.h>
10#include <asm/stackframe.h>
11
12/*
13 * The PCI ASIC has the nasty property that it may delay writes if it is busy.
14 * As a consequence from writes that have not graduated when we exit from the
15 * interrupt handler we might catch a spurious interrupt. To avoid this we
16 * force the PCI ASIC to graduate all writes by executing a read from the
17 * PCI bus.
18 */
19 .set noreorder
20 .set noat
21 .align 5
22 NESTED(sni_rm200_pci_handle_int, PT_SIZE, sp)
23 SAVE_ALL
24 CLI
25 .set at
26
27 /* Blinken light ... */
28 lb t0, led_cache
29 addiu t0, 1
30 sb t0, led_cache
31 sb t0, PCIMT_CSLED # write only register
32 .data
33led_cache: .byte 0
34 .text
35
36 mfc0 t0, CP0_STATUS
37 mfc0 t1, CP0_CAUSE
38 and t0, t1
39
40 andi t1, t0, 0x0800 # hardware interrupt 1
41 bnez t1, _hwint1
42 andi t1, t0, 0x4000 # hardware interrupt 4
43 bnez t1, _hwint4
44 andi t1, t0, 0x2000 # hardware interrupt 3
45 bnez t1, _hwint3
46 andi t1, t0, 0x1000 # hardware interrupt 2
47 bnez t1, _hwint2
48 andi t1, t0, 0x8000 # hardware interrupt 5
49 bnez t1, _hwint5
50 andi t1, t0, 0x0400 # hardware interrupt 0
51 bnez t1, _hwint0
52 nop
53
54 j restore_all # spurious interrupt
55 nop
56
57 ##############################################################################
58
59/* hwint0 should deal with MP agent, ASIC PCI, EISA NMI and debug
60 button interrupts. */
61_hwint0: jal pciasic_hwint0
62 move a0, sp
63 j ret_from_irq
64 nop
65
66/*
67 * hwint 1 deals with EISA and SCSI interrupts
68 */
69_hwint1: jal pciasic_hwint1
70 move a0, sp
71 j ret_from_irq
72 nop
73
74
75/*
76 * This interrupt was used for the com1 console on the first prototypes;
77 * it's unsed otherwise
78 */
79_hwint2: jal pciasic_hwint2
80 move a0, sp
81 j ret_from_irq
82 nop
83
84/*
85 * hwint 3 are the PCI interrupts A - D
86 */
87_hwint3: jal pciasic_hwint3
88 move a0, sp
89 j ret_from_irq
90 nop
91
92/*
93 * hwint 4 is used for only the onboard PCnet 32.
94 */
95_hwint4: jal pciasic_hwint4
96 move a0, sp
97 j ret_from_irq
98 nop
99
100/* hwint5 is the r4k count / compare interrupt */
101_hwint5: jal pciasic_hwint5
102 move a0, sp
103 j ret_from_irq
104 nop
105
106 END(sni_rm200_pci_handle_int)
diff --git a/arch/mips/sni/irq.c b/arch/mips/sni/irq.c
index 952038aa4b90..7365b4853ddb 100644
--- a/arch/mips/sni/irq.c
+++ b/arch/mips/sni/irq.c
@@ -19,8 +19,6 @@
19 19
20DEFINE_SPINLOCK(pciasic_lock); 20DEFINE_SPINLOCK(pciasic_lock);
21 21
22extern asmlinkage void sni_rm200_pci_handle_int(void);
23
24static void enable_pciasic_irq(unsigned int irq) 22static void enable_pciasic_irq(unsigned int irq)
25{ 23{
26 unsigned int mask = 1 << (irq - PCIMT_IRQ_INT2); 24 unsigned int mask = 1 << (irq - PCIMT_IRQ_INT2);
@@ -71,20 +69,20 @@ static struct hw_interrupt_type pciasic_irq_type = {
71 * hwint0 should deal with MP agent, ASIC PCI, EISA NMI and debug 69 * hwint0 should deal with MP agent, ASIC PCI, EISA NMI and debug
72 * button interrupts. Later ... 70 * button interrupts. Later ...
73 */ 71 */
74void pciasic_hwint0(struct pt_regs *regs) 72static void pciasic_hwint0(struct pt_regs *regs)
75{ 73{
76 panic("Received int0 but no handler yet ..."); 74 panic("Received int0 but no handler yet ...");
77} 75}
78 76
79/* This interrupt was used for the com1 console on the first prototypes. */ 77/* This interrupt was used for the com1 console on the first prototypes. */
80void pciasic_hwint2(struct pt_regs *regs) 78static void pciasic_hwint2(struct pt_regs *regs)
81{ 79{
82 /* I think this shouldn't happen on production machines. */ 80 /* I think this shouldn't happen on production machines. */
83 panic("hwint2 and no handler yet"); 81 panic("hwint2 and no handler yet");
84} 82}
85 83
86/* hwint5 is the r4k count / compare interrupt */ 84/* hwint5 is the r4k count / compare interrupt */
87void pciasic_hwint5(struct pt_regs *regs) 85static void pciasic_hwint5(struct pt_regs *regs)
88{ 86{
89 panic("hwint5 and no handler yet"); 87 panic("hwint5 and no handler yet");
90} 88}
@@ -105,7 +103,7 @@ static unsigned int ls1bit8(unsigned int x)
105 * 103 *
106 * The EISA_INT bit in CSITPEND is high active, all others are low active. 104 * The EISA_INT bit in CSITPEND is high active, all others are low active.
107 */ 105 */
108void pciasic_hwint1(struct pt_regs *regs) 106static void pciasic_hwint1(struct pt_regs *regs)
109{ 107{
110 u8 pend = *(volatile char *)PCIMT_CSITPEND; 108 u8 pend = *(volatile char *)PCIMT_CSITPEND;
111 unsigned long flags; 109 unsigned long flags;
@@ -135,7 +133,7 @@ void pciasic_hwint1(struct pt_regs *regs)
135/* 133/*
136 * hwint 3 should deal with the PCI A - D interrupts, 134 * hwint 3 should deal with the PCI A - D interrupts,
137 */ 135 */
138void pciasic_hwint3(struct pt_regs *regs) 136static void pciasic_hwint3(struct pt_regs *regs)
139{ 137{
140 u8 pend = *(volatile char *)PCIMT_CSITPEND; 138 u8 pend = *(volatile char *)PCIMT_CSITPEND;
141 int irq; 139 int irq;
@@ -150,13 +148,34 @@ void pciasic_hwint3(struct pt_regs *regs)
150/* 148/*
151 * hwint 4 is used for only the onboard PCnet 32. 149 * hwint 4 is used for only the onboard PCnet 32.
152 */ 150 */
153void pciasic_hwint4(struct pt_regs *regs) 151static void pciasic_hwint4(struct pt_regs *regs)
154{ 152{
155 clear_c0_status(IE_IRQ4); 153 clear_c0_status(IE_IRQ4);
156 do_IRQ(PCIMT_IRQ_ETHERNET, regs); 154 do_IRQ(PCIMT_IRQ_ETHERNET, regs);
157 set_c0_status(IE_IRQ4); 155 set_c0_status(IE_IRQ4);
158} 156}
159 157
158asmlinkage void plat_irq_dispatch(struct pt_regs *regs)
159{
160 unsigned int pending = read_c0_status() & read_c0_cause();
161 static unsigned char led_cache;
162
163 *(volatile unsigned char *) PCIMT_CSLED = ++led_cache;
164
165 if (pending & 0x0800)
166 pciasic_hwint1(regs);
167 else if (pending & 0x4000)
168 pciasic_hwint4(regs);
169 else if (pending & 0x2000)
170 pciasic_hwint3(regs);
171 else if (pending & 0x1000)
172 pciasic_hwint2(regs);
173 else if (pending & 0x8000)
174 pciasic_hwint5(regs);
175 else if (pending & 0x0400)
176 pciasic_hwint0(regs);
177}
178
160void __init init_pciasic(void) 179void __init init_pciasic(void)
161{ 180{
162 unsigned long flags; 181 unsigned long flags;
@@ -176,8 +195,6 @@ void __init arch_init_irq(void)
176{ 195{
177 int i; 196 int i;
178 197
179 set_except_vector(0, sni_rm200_pci_handle_int);
180
181 init_i8259_irqs(); /* Integrated i8259 */ 198 init_i8259_irqs(); /* Integrated i8259 */
182 init_pciasic(); 199 init_pciasic();
183 200
diff --git a/arch/mips/tx4927/common/Makefile b/arch/mips/tx4927/common/Makefile
index 8fa126b296e1..9cb9535ebacb 100644
--- a/arch/mips/tx4927/common/Makefile
+++ b/arch/mips/tx4927/common/Makefile
@@ -6,7 +6,7 @@
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 += tx4927_prom.o tx4927_setup.o tx4927_irq.o tx4927_irq_handler.o 9obj-y += tx4927_prom.o tx4927_setup.o tx4927_irq.o
10 10
11obj-$(CONFIG_TOSHIBA_FPCIB0) += smsc_fdc37m81x.o 11obj-$(CONFIG_TOSHIBA_FPCIB0) += smsc_fdc37m81x.o
12obj-$(CONFIG_KGDB) += tx4927_dbgio.o 12obj-$(CONFIG_KGDB) += tx4927_dbgio.o
diff --git a/arch/mips/tx4927/common/tx4927_irq.c b/arch/mips/tx4927/common/tx4927_irq.c
index 5ab2e2b76018..8ca68015cf40 100644
--- a/arch/mips/tx4927/common/tx4927_irq.c
+++ b/arch/mips/tx4927/common/tx4927_irq.c
@@ -525,8 +525,6 @@ static void tx4927_irq_pic_end(unsigned int irq)
525 */ 525 */
526void __init tx4927_irq_init(void) 526void __init tx4927_irq_init(void)
527{ 527{
528 extern asmlinkage void tx4927_irq_handler(void);
529
530 TX4927_IRQ_DPRINTK(TX4927_IRQ_INIT, "-\n"); 528 TX4927_IRQ_DPRINTK(TX4927_IRQ_INIT, "-\n");
531 529
532 TX4927_IRQ_DPRINTK(TX4927_IRQ_INIT, "=Calling tx4927_irq_cp0_init()\n"); 530 TX4927_IRQ_DPRINTK(TX4927_IRQ_INIT, "=Calling tx4927_irq_cp0_init()\n");
@@ -535,16 +533,12 @@ void __init tx4927_irq_init(void)
535 TX4927_IRQ_DPRINTK(TX4927_IRQ_INIT, "=Calling tx4927_irq_pic_init()\n"); 533 TX4927_IRQ_DPRINTK(TX4927_IRQ_INIT, "=Calling tx4927_irq_pic_init()\n");
536 tx4927_irq_pic_init(); 534 tx4927_irq_pic_init();
537 535
538 TX4927_IRQ_DPRINTK(TX4927_IRQ_INIT,
539 "=Calling set_except_vector(tx4927_irq_handler)\n");
540 set_except_vector(0, tx4927_irq_handler);
541
542 TX4927_IRQ_DPRINTK(TX4927_IRQ_INIT, "+\n"); 536 TX4927_IRQ_DPRINTK(TX4927_IRQ_INIT, "+\n");
543 537
544 return; 538 return;
545} 539}
546 540
547int tx4927_irq_nested(void) 541static int tx4927_irq_nested(void)
548{ 542{
549 int sw_irq = 0; 543 int sw_irq = 0;
550 u32 level2; 544 u32 level2;
@@ -582,3 +576,25 @@ int tx4927_irq_nested(void)
582 576
583 return (sw_irq); 577 return (sw_irq);
584} 578}
579
580asmlinkage void plat_irq_dispatch(struct pt_regs *regs)
581{
582 unsigned int pending = read_c0_status() & read_c0_cause();
583
584 if (pending & STATUSF_IP7) /* cpu timer */
585 do_IRQ(TX4927_IRQ_CPU_TIMER, regs);
586 else if (pending & STATUSF_IP2) { /* tx4927 pic */
587 unsigned int irq = tx4927_irq_nested();
588
589 if (unlikely(irq == 0)) {
590 spurious_interrupt(regs);
591 return;
592 }
593 do_IRQ(irq, regs);
594 } else if (pending & STATUSF_IP0) /* user line 0 */
595 do_IRQ(TX4927_IRQ_USER0, regs);
596 else if (pending & STATUSF_IP1) /* user line 1 */
597 do_IRQ(TX4927_IRQ_USER1, regs);
598 else
599 spurious_interrupt(regs);
600}
diff --git a/arch/mips/tx4927/common/tx4927_irq_handler.S b/arch/mips/tx4927/common/tx4927_irq_handler.S
deleted file mode 100644
index dd3ceda9d712..000000000000
--- a/arch/mips/tx4927/common/tx4927_irq_handler.S
+++ /dev/null
@@ -1,103 +0,0 @@
1/*
2 * linux/arch/mips/tx4927/common/tx4927_irq_handler.S
3 *
4 * Primary interrupt handler for tx4927 based systems
5 *
6 * Author: MontaVista Software, Inc.
7 * Author: jsun@mvista.com or jsun@junsun.net
8 * source@mvista.com
9 *
10 * Copyright 2001-2002 MontaVista Software Inc.
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 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
18 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
19 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
20 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
21 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
22 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
23 * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
25 * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
26 * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 *
28 * You should have received a copy of the GNU General Public License along
29 * with this program; if not, write to the Free Software Foundation, Inc.,
30 * 675 Mass Ave, Cambridge, MA 02139, USA.
31 */
32#include <asm/asm.h>
33#include <asm/mipsregs.h>
34#include <asm/addrspace.h>
35#include <asm/regdef.h>
36#include <asm/stackframe.h>
37#include <asm/tx4927/tx4927.h>
38
39 .align 5
40 NESTED(tx4927_irq_handler, PT_SIZE, sp)
41 SAVE_ALL
42 CLI
43 .set at
44
45 mfc0 t0, CP0_CAUSE
46 mfc0 t1, CP0_STATUS
47 and t0, t1
48
49 andi t1, t0, STATUSF_IP7 /* cpu timer */
50 bnez t1, ll_ip7
51
52 /* IP6..IP3 multiplexed -- do not use */
53
54 andi t1, t0, STATUSF_IP2 /* tx4927 pic */
55 bnez t1, ll_ip2
56
57 andi t1, t0, STATUSF_IP0 /* user line 0 */
58 bnez t1, ll_ip0
59
60 andi t1, t0, STATUSF_IP1 /* user line 1 */
61 bnez t1, ll_ip1
62
63 .set reorder
64
65 /* wrong alarm or masked ... */
66 j spurious_interrupt
67 nop
68 END(tx4927_irq_handler)
69
70 .align 5
71
72
73ll_ip7:
74 li a0, TX4927_IRQ_CPU_TIMER
75 move a1, sp
76 jal do_IRQ
77 j ret_from_irq
78
79ll_ip2:
80 jal tx4927_irq_nested
81 nop
82 beqz v0, goto_spurious_interrupt
83 nop
84 move a0, v0
85 move a1, sp
86 jal do_IRQ
87 j ret_from_irq
88
89goto_spurious_interrupt:
90 j spurious_interrupt
91 nop
92
93ll_ip1:
94 li a0, TX4927_IRQ_USER1
95 move a1, sp
96 jal do_IRQ
97 j ret_from_irq
98
99ll_ip0:
100 li a0, TX4927_IRQ_USER0
101 move a1, sp
102 jal do_IRQ
103 j ret_from_irq
diff --git a/arch/mips/tx4938/common/Makefile b/arch/mips/tx4938/common/Makefile
index 74c95c5bcdbf..2033ae77f632 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 irq_handler.o rtc_rx5c348.o 9obj-y += prom.o setup.o irq.o rtc_rx5c348.o
10obj-$(CONFIG_KGDB) += dbgio.o 10obj-$(CONFIG_KGDB) += dbgio.o
11 11
diff --git a/arch/mips/tx4938/common/irq.c b/arch/mips/tx4938/common/irq.c
index 4f90d7faf634..873805178d8e 100644
--- a/arch/mips/tx4938/common/irq.c
+++ b/arch/mips/tx4938/common/irq.c
@@ -392,11 +392,8 @@ tx4938_irq_pic_end(unsigned int irq)
392void __init 392void __init
393tx4938_irq_init(void) 393tx4938_irq_init(void)
394{ 394{
395 extern asmlinkage void tx4938_irq_handler(void);
396
397 tx4938_irq_cp0_init(); 395 tx4938_irq_cp0_init();
398 tx4938_irq_pic_init(); 396 tx4938_irq_pic_init();
399 set_except_vector(0, tx4938_irq_handler);
400 397
401 return; 398 return;
402} 399}
@@ -422,3 +419,21 @@ tx4938_irq_nested(void)
422 wbflush(); 419 wbflush();
423 return (sw_irq); 420 return (sw_irq);
424} 421}
422
423asmlinkage void plat_irq_dispatch(struct pt_regs *regs)
424{
425 unsigned int pending = read_c0_cause() & read_c0_status();
426
427 if (pending & STATUSF_IP7)
428 do_IRQ(TX4938_IRQ_CPU_TIMER, regs);
429 else if (pending & STATUSF_IP2) {
430 int irq = tx4938_irq_nested();
431 if (irq)
432 do_IRQ(irq, regs);
433 else
434 spurious_interrupt(regs);
435 } else if (pending & STATUSF_IP1)
436 do_IRQ(TX4938_IRQ_USER1, regs);
437 else if (pending & STATUSF_IP0)
438 do_IRQ(TX4938_IRQ_USER0, regs);
439}
diff --git a/arch/mips/tx4938/common/irq_handler.S b/arch/mips/tx4938/common/irq_handler.S
deleted file mode 100644
index 1b2f72bac42d..000000000000
--- a/arch/mips/tx4938/common/irq_handler.S
+++ /dev/null
@@ -1,84 +0,0 @@
1/*
2 * linux/arch/mips/tx4938/common/handler.S
3 *
4 * Primary interrupt handler for tx4938 based systems
5 * Copyright (C) 2000-2001 Toshiba Corporation
6 *
7 * 2003-2005 (c) MontaVista Software, Inc. This file is licensed under the
8 * terms of the GNU General Public License version 2. This program is
9 * licensed "as is" without any warranty of any kind, whether express
10 * or implied.
11 *
12 * Support for TX4938 in 2.6 - Manish Lachwani (mlachwani@mvista.com)
13 */
14#include <asm/asm.h>
15#include <asm/mipsregs.h>
16#include <asm/addrspace.h>
17#include <asm/regdef.h>
18#include <asm/stackframe.h>
19#include <asm/tx4938/rbtx4938.h>
20
21
22 .align 5
23 NESTED(tx4938_irq_handler, PT_SIZE, sp)
24 SAVE_ALL
25 CLI
26 .set at
27
28 mfc0 t0, CP0_CAUSE
29 mfc0 t1, CP0_STATUS
30 and t0, t1
31
32 andi t1, t0, STATUSF_IP7 /* cpu timer */
33 bnez t1, ll_ip7
34
35 /* IP6..IP3 multiplexed -- do not use */
36
37 andi t1, t0, STATUSF_IP2 /* tx4938 pic */
38 bnez t1, ll_ip2
39
40 andi t1, t0, STATUSF_IP1 /* user line 1 */
41 bnez t1, ll_ip1
42
43 andi t1, t0, STATUSF_IP0 /* user line 0 */
44 bnez t1, ll_ip0
45
46 .set reorder
47
48 nop
49 END(tx4938_irq_handler)
50
51 .align 5
52
53
54ll_ip7:
55 li a0, TX4938_IRQ_CPU_TIMER
56 move a1, sp
57 jal do_IRQ
58 j ret_from_irq
59
60
61ll_ip2:
62 jal tx4938_irq_nested
63 nop
64 beqz v0, goto_spurious_interrupt
65 nop
66 move a0, v0
67 move a1, sp
68 jal do_IRQ
69 j ret_from_irq
70
71goto_spurious_interrupt:
72 j ret_from_irq
73
74ll_ip1:
75 li a0, TX4938_IRQ_USER1
76 move a1, sp
77 jal do_IRQ
78 j ret_from_irq
79
80ll_ip0:
81 li a0, TX4938_IRQ_USER0
82 move a1, sp
83 jal do_IRQ
84 j ret_from_irq
diff --git a/arch/mips/vr41xx/Kconfig b/arch/mips/vr41xx/Kconfig
index a7add16c9aa4..055a2cdfc841 100644
--- a/arch/mips/vr41xx/Kconfig
+++ b/arch/mips/vr41xx/Kconfig
@@ -4,6 +4,8 @@ config CASIO_E55
4 select DMA_NONCOHERENT 4 select DMA_NONCOHERENT
5 select IRQ_CPU 5 select IRQ_CPU
6 select ISA 6 select ISA
7 select SYS_HAS_CPU_VR41XX
8 select SYS_SUPPORTS_32BIT_KERNEL
7 select SYS_SUPPORTS_LITTLE_ENDIAN 9 select SYS_SUPPORTS_LITTLE_ENDIAN
8 10
9config IBM_WORKPAD 11config IBM_WORKPAD
@@ -12,6 +14,8 @@ config IBM_WORKPAD
12 select DMA_NONCOHERENT 14 select DMA_NONCOHERENT
13 select IRQ_CPU 15 select IRQ_CPU
14 select ISA 16 select ISA
17 select SYS_HAS_CPU_VR41XX
18 select SYS_SUPPORTS_32BIT_KERNEL
15 select SYS_SUPPORTS_LITTLE_ENDIAN 19 select SYS_SUPPORTS_LITTLE_ENDIAN
16 20
17config NEC_CMBVR4133 21config NEC_CMBVR4133
@@ -21,6 +25,9 @@ config NEC_CMBVR4133
21 select DMA_NONCOHERENT 25 select DMA_NONCOHERENT
22 select IRQ_CPU 26 select IRQ_CPU
23 select HW_HAS_PCI 27 select HW_HAS_PCI
28 select SYS_HAS_CPU_VR41XX
29 select SYS_SUPPORTS_32BIT_KERNEL
30 select SYS_SUPPORTS_LITTLE_ENDIAN
24 31
25config ROCKHOPPER 32config ROCKHOPPER
26 bool "Support for Rockhopper baseboard" 33 bool "Support for Rockhopper baseboard"
@@ -34,6 +41,8 @@ config TANBAC_TB022X
34 select DMA_NONCOHERENT 41 select DMA_NONCOHERENT
35 select HW_HAS_PCI 42 select HW_HAS_PCI
36 select IRQ_CPU 43 select IRQ_CPU
44 select SYS_HAS_CPU_VR41XX
45 select SYS_SUPPORTS_32BIT_KERNEL
37 select SYS_SUPPORTS_LITTLE_ENDIAN 46 select SYS_SUPPORTS_LITTLE_ENDIAN
38 help 47 help
39 The TANBAC VR4131 multichip module(TB0225) and 48 The TANBAC VR4131 multichip module(TB0225) and
@@ -65,6 +74,8 @@ config VICTOR_MPC30X
65 select DMA_NONCOHERENT 74 select DMA_NONCOHERENT
66 select HW_HAS_PCI 75 select HW_HAS_PCI
67 select IRQ_CPU 76 select IRQ_CPU
77 select SYS_HAS_CPU_VR41XX
78 select SYS_SUPPORTS_32BIT_KERNEL
68 select SYS_SUPPORTS_LITTLE_ENDIAN 79 select SYS_SUPPORTS_LITTLE_ENDIAN
69 80
70config ZAO_CAPCELLA 81config ZAO_CAPCELLA
@@ -73,6 +84,8 @@ config ZAO_CAPCELLA
73 select DMA_NONCOHERENT 84 select DMA_NONCOHERENT
74 select HW_HAS_PCI 85 select HW_HAS_PCI
75 select IRQ_CPU 86 select IRQ_CPU
87 select SYS_HAS_CPU_VR41XX
88 select SYS_SUPPORTS_32BIT_KERNEL
76 select SYS_SUPPORTS_LITTLE_ENDIAN 89 select SYS_SUPPORTS_LITTLE_ENDIAN
77 90
78config PCI_VR41XX 91config PCI_VR41XX
diff --git a/arch/mips/vr41xx/common/Makefile b/arch/mips/vr41xx/common/Makefile
index 9096302a7ecc..aa373974c80f 100644
--- a/arch/mips/vr41xx/common/Makefile
+++ b/arch/mips/vr41xx/common/Makefile
@@ -2,7 +2,7 @@
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 int-handler.o irq.o pmu.o type.o 5obj-y += bcu.o cmu.o icu.o init.o irq.o pmu.o type.o
6obj-$(CONFIG_VRC4173) += vrc4173.o 6obj-$(CONFIG_VRC4173) += vrc4173.o
7 7
8EXTRA_AFLAGS := $(CFLAGS) 8EXTRA_AFLAGS := $(CFLAGS)
diff --git a/arch/mips/vr41xx/common/int-handler.S b/arch/mips/vr41xx/common/int-handler.S
deleted file mode 100644
index 2b6043f16d09..000000000000
--- a/arch/mips/vr41xx/common/int-handler.S
+++ /dev/null
@@ -1,114 +0,0 @@
1/*
2 * FILE NAME
3 * arch/mips/vr41xx/common/int-handler.S
4 *
5 * BRIEF MODULE DESCRIPTION
6 * Interrupt dispatcher for the NEC VR4100 series.
7 *
8 * Author: Yoichi Yuasa
9 * yyuasa@mvista.com or source@mvista.com
10 *
11 * Copyright 2001 MontaVista Software Inc.
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.
21 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
22 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
23 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
24 * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
25 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
26 * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
27 * USE OF 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 * Changes:
35 * MontaVista Software Inc. <yyuasa@mvista.com> or <source@mvista.com>
36 * - New creation, NEC VR4100 series are supported.
37 *
38 * Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
39 * - Coped with INTASSIGN of NEC VR4133.
40 */
41#include <asm/asm.h>
42#include <asm/regdef.h>
43#include <asm/mipsregs.h>
44#include <asm/stackframe.h>
45
46 .text
47 .set noreorder
48
49 .align 5
50 NESTED(vr41xx_handle_interrupt, PT_SIZE, ra)
51 .set noat
52 SAVE_ALL
53 CLI
54 .set at
55 .set noreorder
56
57 /*
58 * Get the pending interrupts
59 */
60 mfc0 t0, CP0_CAUSE
61 mfc0 t1, CP0_STATUS
62 andi t0, 0xff00
63 and t0, t0, t1
64
65 andi t1, t0, CAUSEF_IP7 # MIPS timer interrupt
66 bnez t1, handle_irq
67 li a0, 7
68
69 andi t1, t0, 0x7800 # check for Int1-4
70 beqz t1, 1f
71
72 andi t1, t0, CAUSEF_IP3 # check for Int1
73 bnez t1, handle_int
74 li a0, 3
75
76 andi t1, t0, CAUSEF_IP4 # check for Int2
77 bnez t1, handle_int
78 li a0, 4
79
80 andi t1, t0, CAUSEF_IP5 # check for Int3
81 bnez t1, handle_int
82 li a0, 5
83
84 andi t1, t0, CAUSEF_IP6 # check for Int4
85 bnez t1, handle_int
86 li a0, 6
87
881:
89 andi t1, t0, CAUSEF_IP2 # check for Int0
90 bnez t1, handle_int
91 li a0, 2
92
93 andi t1, t0, CAUSEF_IP0 # check for IP0
94 bnez t1, handle_irq
95 li a0, 0
96
97 andi t1, t0, CAUSEF_IP1 # check for IP1
98 bnez t1, handle_irq
99 li a0, 1
100
101 j spurious_interrupt
102 nop
103
104handle_int:
105 jal irq_dispatch
106 move a1, sp
107 j ret_from_irq
108 nop
109
110handle_irq:
111 jal do_IRQ
112 move a1, sp
113 j ret_from_irq
114 END(vr41xx_handle_interrupt)
diff --git a/arch/mips/vr41xx/common/irq.c b/arch/mips/vr41xx/common/irq.c
index 61aa264275ff..86796bb63c3c 100644
--- a/arch/mips/vr41xx/common/irq.c
+++ b/arch/mips/vr41xx/common/irq.c
@@ -59,7 +59,7 @@ int cascade_irq(unsigned int irq, int (*get_irq)(unsigned int, struct pt_regs *)
59 59
60EXPORT_SYMBOL_GPL(cascade_irq); 60EXPORT_SYMBOL_GPL(cascade_irq);
61 61
62asmlinkage void irq_dispatch(unsigned int irq, struct pt_regs *regs) 62static void irq_dispatch(unsigned int irq, struct pt_regs *regs)
63{ 63{
64 irq_cascade_t *cascade; 64 irq_cascade_t *cascade;
65 irq_desc_t *desc; 65 irq_desc_t *desc;
@@ -84,11 +84,32 @@ asmlinkage void irq_dispatch(unsigned int irq, struct pt_regs *regs)
84 do_IRQ(irq, regs); 84 do_IRQ(irq, regs);
85} 85}
86 86
87extern asmlinkage void vr41xx_handle_interrupt(void); 87asmlinkage void plat_irq_dispatch(struct pt_regs *regs)
88{
89 unsigned int pending = read_c0_cause() & read_c0_status() & ST0_IM;
90
91 if (pending & CAUSEF_IP7)
92 do_IRQ(7, regs);
93 else if (pending & 0x7800) {
94 if (pending & CAUSEF_IP3)
95 irq_dispatch(3, regs);
96 else if (pending & CAUSEF_IP4)
97 irq_dispatch(4, regs);
98 else if (pending & CAUSEF_IP5)
99 irq_dispatch(5, regs);
100 else if (pending & CAUSEF_IP6)
101 irq_dispatch(6, regs);
102 } else if (pending & CAUSEF_IP2)
103 irq_dispatch(2, regs);
104 else if (pending & CAUSEF_IP0)
105 do_IRQ(0, regs);
106 else if (pending & CAUSEF_IP1)
107 do_IRQ(1, regs);
108 else
109 spurious_interrupt(regs);
110}
88 111
89void __init arch_init_irq(void) 112void __init arch_init_irq(void)
90{ 113{
91 mips_cpu_irq_init(MIPS_CPU_IRQ_BASE); 114 mips_cpu_irq_init(MIPS_CPU_IRQ_BASE);
92
93 set_except_vector(0, vr41xx_handle_interrupt);
94} 115}