[MIPS] lockdep: fix TRACE_IRQFLAGS_SUPPORT
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / arch / mips / Kconfig
CommitLineData
1da177e4
LT
1config MIPS
2 bool
3 default y
4 # Horrible source of confusion. Die, die, die ...
5 select EMBEDDED
6
875d43e7
RB
7mainmenu "Linux/MIPS Kernel Configuration"
8
1da177e4
LT
9menu "Machine selection"
10
5e83d430
RB
11choice
12 prompt "System type"
13 default SGI_IP22
1da177e4 14
5e83d430 15config MIPS_MTX1
3fa986fa 16 bool "4G Systems MTX-1 board"
1da177e4 17 select DMA_NONCOHERENT
5e83d430
RB
18 select HW_HAS_PCI
19 select SOC_AU1500
7cf8053b 20 select SYS_HAS_CPU_MIPS32_R1
5e83d430 21 select SYS_SUPPORTS_LITTLE_ENDIAN
1da177e4 22
5e83d430
RB
23config MIPS_BOSPORUS
24 bool "AMD Alchemy Bosporus board"
25 select SOC_AU1500
1da177e4 26 select DMA_NONCOHERENT
7cf8053b 27 select SYS_HAS_CPU_MIPS32_R1
5e83d430 28 select SYS_SUPPORTS_LITTLE_ENDIAN
1da177e4 29
5e83d430
RB
30config MIPS_PB1000
31 bool "AMD Alchemy PB1000 board"
32 select SOC_AU1000
1da177e4 33 select DMA_NONCOHERENT
5e83d430
RB
34 select HW_HAS_PCI
35 select SWAP_IO_SPACE
7cf8053b 36 select SYS_HAS_CPU_MIPS32_R1
5e83d430 37 select SYS_SUPPORTS_LITTLE_ENDIAN
1da177e4 38
5e83d430
RB
39config MIPS_PB1100
40 bool "AMD Alchemy PB1100 board"
41 select SOC_AU1100
1da177e4 42 select DMA_NONCOHERENT
1da177e4 43 select HW_HAS_PCI
5e83d430 44 select SWAP_IO_SPACE
7cf8053b 45 select SYS_HAS_CPU_MIPS32_R1
5e83d430 46 select SYS_SUPPORTS_LITTLE_ENDIAN
1da177e4 47
5e83d430
RB
48config MIPS_PB1500
49 bool "AMD Alchemy PB1500 board"
50 select SOC_AU1500
51 select DMA_NONCOHERENT
52 select HW_HAS_PCI
7cf8053b 53 select SYS_HAS_CPU_MIPS32_R1
5e83d430 54 select SYS_SUPPORTS_LITTLE_ENDIAN
1da177e4 55
5e83d430
RB
56config MIPS_PB1550
57 bool "AMD Alchemy PB1550 board"
58 select SOC_AU1550
1da177e4 59 select DMA_NONCOHERENT
5e83d430
RB
60 select HW_HAS_PCI
61 select MIPS_DISABLE_OBSOLETE_IDE
7cf8053b 62 select SYS_HAS_CPU_MIPS32_R1
5e83d430 63 select SYS_SUPPORTS_LITTLE_ENDIAN
1da177e4 64
5e83d430
RB
65config MIPS_PB1200
66 bool "AMD Alchemy PB1200 board"
67 select SOC_AU1200
1da177e4 68 select DMA_NONCOHERENT
5e83d430 69 select MIPS_DISABLE_OBSOLETE_IDE
7cf8053b 70 select SYS_HAS_CPU_MIPS32_R1
5e83d430 71 select SYS_SUPPORTS_LITTLE_ENDIAN
1da177e4 72
5e83d430
RB
73config MIPS_DB1000
74 bool "AMD Alchemy DB1000 board"
75 select SOC_AU1000
1da177e4 76 select DMA_NONCOHERENT
63b799f9 77 select HW_HAS_PCI
7cf8053b 78 select SYS_HAS_CPU_MIPS32_R1
5e83d430 79 select SYS_SUPPORTS_LITTLE_ENDIAN
4d666d7a 80
5e83d430
RB
81config MIPS_DB1100
82 bool "AMD Alchemy DB1100 board"
83 select SOC_AU1100
1da177e4 84 select DMA_NONCOHERENT
7cf8053b 85 select SYS_HAS_CPU_MIPS32_R1
5e83d430 86 select SYS_SUPPORTS_LITTLE_ENDIAN
1da177e4 87
5e83d430
RB
88config MIPS_DB1500
89 bool "AMD Alchemy DB1500 board"
90 select SOC_AU1500
1da177e4 91 select DMA_NONCOHERENT
8dd4aebe 92 select HW_HAS_PCI
5e83d430 93 select MIPS_DISABLE_OBSOLETE_IDE
7cf8053b 94 select SYS_HAS_CPU_MIPS32_R1
5e83d430
RB
95 select SYS_SUPPORTS_BIG_ENDIAN
96 select SYS_SUPPORTS_LITTLE_ENDIAN
1da177e4 97
5e83d430
RB
98config MIPS_DB1550
99 bool "AMD Alchemy DB1550 board"
100 select SOC_AU1550
101 select HW_HAS_PCI
102 select DMA_NONCOHERENT
103 select MIPS_DISABLE_OBSOLETE_IDE
7cf8053b 104 select SYS_HAS_CPU_MIPS32_R1
5e83d430 105 select SYS_SUPPORTS_LITTLE_ENDIAN
1da177e4 106
5e83d430
RB
107config MIPS_DB1200
108 bool "AMD Alchemy DB1200 board"
109 select SOC_AU1200
110 select DMA_COHERENT
111 select MIPS_DISABLE_OBSOLETE_IDE
7cf8053b 112 select SYS_HAS_CPU_MIPS32_R1
5e83d430 113 select SYS_SUPPORTS_LITTLE_ENDIAN
1da177e4 114
5e83d430
RB
115config MIPS_MIRAGE
116 bool "AMD Alchemy Mirage board"
1da177e4 117 select DMA_NONCOHERENT
5e83d430 118 select SOC_AU1500
7cf8053b 119 select SYS_HAS_CPU_MIPS32_R1
5e83d430 120 select SYS_SUPPORTS_LITTLE_ENDIAN
1da177e4 121
35189fad
RB
122config BASLER_EXCITE
123 bool "Basler eXcite smart camera support"
124 select DMA_COHERENT
125 select HW_HAS_PCI
126 select IRQ_CPU
127 select IRQ_CPU_RM7K
128 select IRQ_CPU_RM9K
663c3d90 129 select MIPS_RM9122
35189fad
RB
130 select SYS_HAS_CPU_RM9000
131 select SYS_SUPPORTS_32BIT_KERNEL
132 select SYS_SUPPORTS_64BIT_KERNEL
133 select SYS_SUPPORTS_BIG_ENDIAN
134 help
135 The eXcite is a smart camera platform manufactured by
136 Basler Vision Technologies AG
137
138config BASLER_EXCITE_PROTOTYPE
139 bool "Support for pre-release units"
140 depends on BASLER_EXCITE
141 default n
142 help
143 Pre-series (prototype) units are different from later ones in
144 some ways. Select this option if you have one of these. Please
145 note that a kernel built with this option selected will not be
146 able to run on normal units.
147
1da177e4 148config MIPS_COBALT
3fa986fa 149 bool "Cobalt Server"
1da177e4
LT
150 select DMA_NONCOHERENT
151 select HW_HAS_PCI
152 select I8259
153 select IRQ_CPU
5e83d430 154 select MIPS_GT64111
7cf8053b 155 select SYS_HAS_CPU_NEVADA
ed5ba2fb
YY
156 select SYS_SUPPORTS_32BIT_KERNEL
157 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
5e83d430 158 select SYS_SUPPORTS_LITTLE_ENDIAN
1da177e4
LT
159
160config MACH_DECSTATION
3fa986fa 161 bool "DECstations"
1da177e4
LT
162 select BOOT_ELF32
163 select DMA_NONCOHERENT
b6d468ec 164 select EARLY_PRINTK
1da177e4 165 select IRQ_CPU
7cf8053b
RB
166 select SYS_HAS_CPU_R3000
167 select SYS_HAS_CPU_R4X00
ed5ba2fb
YY
168 select SYS_SUPPORTS_32BIT_KERNEL
169 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
5e83d430 170 select SYS_SUPPORTS_LITTLE_ENDIAN
1723b4a3
AN
171 select SYS_SUPPORTS_128HZ
172 select SYS_SUPPORTS_256HZ
173 select SYS_SUPPORTS_1024HZ
5e83d430 174 help
1da177e4
LT
175 This enables support for DEC's MIPS based workstations. For details
176 see the Linux/MIPS FAQ on <http://www.linux-mips.org/> and the
177 DECstation porting pages on <http://decstation.unix-ag.org/>.
178
179 If you have one of the following DECstation Models you definitely
180 want to choose R4xx0 for the CPU Type:
181
182 DECstation 5000/50
183 DECstation 5000/150
184 DECstation 5000/260
185 DECsystem 5900/260
186
187 otherwise choose R3000.
188
189config MIPS_EV64120
3fa986fa 190 bool "Galileo EV64120 Evaluation board (EXPERIMENTAL)"
1da177e4
LT
191 depends on EXPERIMENTAL
192 select DMA_NONCOHERENT
193 select HW_HAS_PCI
194 select MIPS_GT64120
7cf8053b 195 select SYS_HAS_CPU_R5000
ed5ba2fb
YY
196 select SYS_SUPPORTS_32BIT_KERNEL
197 select SYS_SUPPORTS_64BIT_KERNEL
5e83d430 198 select SYS_SUPPORTS_BIG_ENDIAN
1da177e4
LT
199 help
200 This is an evaluation board based on the Galileo GT-64120
201 single-chip system controller that contains a MIPS R5000 compatible
202 core running at 75/100MHz. Their website is located at
203 <http://www.marvell.com/>. Say Y here if you wish to build a
204 kernel for this platform.
205
1da177e4 206config MIPS_IVR
3fa986fa 207 bool "Globespan IVR board"
1da177e4
LT
208 select DMA_NONCOHERENT
209 select HW_HAS_PCI
5e83d430 210 select ITE_BOARD_GEN
7cf8053b 211 select SYS_HAS_CPU_NEVADA
ed5ba2fb
YY
212 select SYS_SUPPORTS_32BIT_KERNEL
213 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
5e83d430 214 select SYS_SUPPORTS_LITTLE_ENDIAN
1da177e4
LT
215 help
216 This is an evaluation board built by Globespan to showcase thir
217 iVR (Internet Video Recorder) design. It utilizes a QED RM5231
218 R5000 MIPS core. More information can be found out their website
219 located at <http://www.globespan.net/>. Say Y here if you wish to
220 build a kernel for this platform.
221
1da177e4 222config MIPS_ITE8172
3fa986fa 223 bool "ITE 8172G board"
1da177e4
LT
224 select DMA_NONCOHERENT
225 select HW_HAS_PCI
5e83d430 226 select ITE_BOARD_GEN
7cf8053b
RB
227 select SYS_HAS_CPU_R5432
228 select SYS_HAS_CPU_NEVADA
ed5ba2fb
YY
229 select SYS_SUPPORTS_32BIT_KERNEL
230 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
5e83d430 231 select SYS_SUPPORTS_LITTLE_ENDIAN
1da177e4
LT
232 help
233 Ths is an evaluation board made by ITE <http://www.ite.com.tw/>
234 with ATX form factor that utilizes a MIPS R5000 to work with its
235 ITE8172G companion internet appliance chip. The MIPS core can be
236 either a NEC Vr5432 or QED RM5231. Say Y here if you wish to build
237 a kernel for this platform.
238
5e83d430 239config MACH_JAZZ
3fa986fa 240 bool "Jazz family of machines"
5e83d430
RB
241 select ARC
242 select ARC32
243 select ARCH_MAY_HAVE_PC_FDC
244 select GENERIC_ISA_DMA
e5c6c8e4 245 select I8253
5e83d430
RB
246 select I8259
247 select ISA
7cf8053b 248 select SYS_HAS_CPU_R4X00
5e83d430
RB
249 select SYS_SUPPORTS_32BIT_KERNEL
250 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
1723b4a3 251 select SYS_SUPPORTS_100HZ
1da177e4 252 help
5e83d430
RB
253 This a family of machines based on the MIPS R4030 chipset which was
254 used by several vendors to build RISC/os and Windows NT workstations.
255 Members include the Acer PICA, MIPS Magnum 4000, MIPS Millenium and
256 Olivetti M700-10 workstations.
257
258config LASAT
3fa986fa 259 bool "LASAT Networks platforms"
5e83d430
RB
260 select DMA_NONCOHERENT
261 select HW_HAS_PCI
262 select MIPS_GT64120
263 select MIPS_NILE4
264 select R5000_CPU_SCACHE
7cf8053b 265 select SYS_HAS_CPU_R5000
5e83d430
RB
266 select SYS_SUPPORTS_32BIT_KERNEL
267 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
268 select SYS_SUPPORTS_LITTLE_ENDIAN
1da177e4
LT
269
270config MIPS_ATLAS
3fa986fa 271 bool "MIPS Atlas board"
1da177e4
LT
272 select BOOT_ELF32
273 select DMA_NONCOHERENT
5e83d430 274 select IRQ_CPU
1da177e4 275 select HW_HAS_PCI
5e83d430
RB
276 select MIPS_BOARDS_GEN
277 select MIPS_BONITO64
1da177e4 278 select MIPS_GT64120
5e83d430 279 select MIPS_MSC
f4b7cdb4 280 select RM7000_CPU_SCACHE
1da177e4 281 select SWAP_IO_SPACE
7cf8053b
RB
282 select SYS_HAS_CPU_MIPS32_R1
283 select SYS_HAS_CPU_MIPS32_R2
284 select SYS_HAS_CPU_MIPS64_R1
285 select SYS_HAS_CPU_NEVADA
286 select SYS_HAS_CPU_RM7000
ed5ba2fb
YY
287 select SYS_SUPPORTS_32BIT_KERNEL
288 select SYS_SUPPORTS_64BIT_KERNEL
5e83d430
RB
289 select SYS_SUPPORTS_BIG_ENDIAN
290 select SYS_SUPPORTS_LITTLE_ENDIAN
f41ae0b2 291 select SYS_SUPPORTS_MULTITHREADING if EXPERIMENTAL
1da177e4 292 help
f638d197 293 This enables support for the MIPS Technologies Atlas evaluation
1da177e4
LT
294 board.
295
296config MIPS_MALTA
3fa986fa 297 bool "MIPS Malta board"
61ed242d 298 select ARCH_MAY_HAVE_PC_FDC
1da177e4
LT
299 select BOOT_ELF32
300 select HAVE_STD_PC_SERIAL_PORT
301 select DMA_NONCOHERENT
e01402b1 302 select IRQ_CPU
1da177e4
LT
303 select GENERIC_ISA_DMA
304 select HW_HAS_PCI
305 select I8259
5e83d430
RB
306 select MIPS_BOARDS_GEN
307 select MIPS_BONITO64
9318c51a 308 select MIPS_CPU_SCACHE
1da177e4 309 select MIPS_GT64120
5e83d430 310 select MIPS_MSC
1da177e4 311 select SWAP_IO_SPACE
7cf8053b
RB
312 select SYS_HAS_CPU_MIPS32_R1
313 select SYS_HAS_CPU_MIPS32_R2
314 select SYS_HAS_CPU_MIPS64_R1
315 select SYS_HAS_CPU_NEVADA
316 select SYS_HAS_CPU_RM7000
ed5ba2fb
YY
317 select SYS_SUPPORTS_32BIT_KERNEL
318 select SYS_SUPPORTS_64BIT_KERNEL
5e83d430
RB
319 select SYS_SUPPORTS_BIG_ENDIAN
320 select SYS_SUPPORTS_LITTLE_ENDIAN
f41ae0b2 321 select SYS_SUPPORTS_MULTITHREADING
1da177e4 322 help
f638d197 323 This enables support for the MIPS Technologies Malta evaluation
1da177e4
LT
324 board.
325
326config MIPS_SEAD
3fa986fa 327 bool "MIPS SEAD board (EXPERIMENTAL)"
1da177e4
LT
328 depends on EXPERIMENTAL
329 select IRQ_CPU
330 select DMA_NONCOHERENT
5e83d430 331 select MIPS_BOARDS_GEN
7cf8053b
RB
332 select SYS_HAS_CPU_MIPS32_R1
333 select SYS_HAS_CPU_MIPS32_R2
334 select SYS_HAS_CPU_MIPS64_R1
ed5ba2fb 335 select SYS_SUPPORTS_32BIT_KERNEL
5e83d430
RB
336 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
337 select SYS_SUPPORTS_BIG_ENDIAN
338 select SYS_SUPPORTS_LITTLE_ENDIAN
f638d197
MR
339 help
340 This enables support for the MIPS Technologies SEAD evaluation
341 board.
1da177e4 342
a240a469 343config WR_PPMC
9247857f 344 bool "Wind River PPMC board"
a240a469
MZ
345 select IRQ_CPU
346 select BOOT_ELF32
347 select DMA_NONCOHERENT
348 select HW_HAS_PCI
349 select MIPS_GT64120
350 select SWAP_IO_SPACE
351 select SYS_HAS_CPU_MIPS32_R1
352 select SYS_HAS_CPU_MIPS32_R2
353 select SYS_HAS_CPU_MIPS64_R1
354 select SYS_HAS_CPU_NEVADA
355 select SYS_HAS_CPU_RM7000
356 select SYS_SUPPORTS_32BIT_KERNEL
357 select SYS_SUPPORTS_64BIT_KERNEL
358 select SYS_SUPPORTS_BIG_ENDIAN
359 select SYS_SUPPORTS_LITTLE_ENDIAN
360 help
361 This enables support for the Wind River MIPS32 4KC PPMC evaluation
362 board, which is based on GT64120 bridge chip.
363
5e83d430 364config MIPS_SIM
3fa986fa 365 bool 'MIPS simulator (MIPSsim)'
1da177e4 366 select DMA_NONCOHERENT
1da177e4 367 select IRQ_CPU
7cf8053b
RB
368 select SYS_HAS_CPU_MIPS32_R1
369 select SYS_HAS_CPU_MIPS32_R2
ed5ba2fb 370 select SYS_SUPPORTS_32BIT_KERNEL
5e83d430
RB
371 select SYS_SUPPORTS_BIG_ENDIAN
372 select SYS_SUPPORTS_LITTLE_ENDIAN
1da177e4 373 help
5e83d430
RB
374 This option enables support for MIPS Technologies MIPSsim software
375 emulator.
1da177e4 376
5e83d430 377config MOMENCO_JAGUAR_ATX
3fa986fa 378 bool "Momentum Jaguar board"
5e83d430 379 select BOOT_ELF32
1da177e4
LT
380 select DMA_NONCOHERENT
381 select HW_HAS_PCI
382 select IRQ_CPU
383 select IRQ_CPU_RM7K
5e83d430
RB
384 select IRQ_MV64340
385 select LIMITED_DMA
1da177e4
LT
386 select PCI_MARVELL
387 select RM7000_CPU_SCACHE
388 select SWAP_IO_SPACE
7cf8053b 389 select SYS_HAS_CPU_RM9000
ed5ba2fb
YY
390 select SYS_SUPPORTS_32BIT_KERNEL
391 select SYS_SUPPORTS_64BIT_KERNEL
5e83d430 392 select SYS_SUPPORTS_BIG_ENDIAN
1da177e4 393 help
5e83d430 394 The Jaguar ATX is a MIPS-based Single Board Computer (SBC) made by
1da177e4
LT
395 Momentum Computer <http://www.momenco.com/>.
396
5e83d430 397config MOMENCO_OCELOT
3fa986fa 398 bool "Momentum Ocelot board"
1da177e4
LT
399 select DMA_NONCOHERENT
400 select HW_HAS_PCI
401 select IRQ_CPU
5e83d430
RB
402 select IRQ_CPU_RM7K
403 select MIPS_GT64120
1da177e4
LT
404 select RM7000_CPU_SCACHE
405 select SWAP_IO_SPACE
7cf8053b 406 select SYS_HAS_CPU_RM7000
ed5ba2fb
YY
407 select SYS_SUPPORTS_32BIT_KERNEL
408 select SYS_SUPPORTS_64BIT_KERNEL
5e83d430 409 select SYS_SUPPORTS_BIG_ENDIAN
1da177e4
LT
410 help
411 The Ocelot is a MIPS-based Single Board Computer (SBC) made by
412 Momentum Computer <http://www.momenco.com/>.
413
414config MOMENCO_OCELOT_3
3fa986fa 415 bool "Momentum Ocelot-3 board"
1da177e4
LT
416 select BOOT_ELF32
417 select DMA_NONCOHERENT
418 select HW_HAS_PCI
419 select IRQ_CPU
420 select IRQ_CPU_RM7K
421 select IRQ_MV64340
422 select PCI_MARVELL
423 select RM7000_CPU_SCACHE
424 select SWAP_IO_SPACE
7cf8053b 425 select SYS_HAS_CPU_RM9000
ed5ba2fb
YY
426 select SYS_SUPPORTS_32BIT_KERNEL
427 select SYS_SUPPORTS_64BIT_KERNEL
5e83d430 428 select SYS_SUPPORTS_BIG_ENDIAN
1da177e4
LT
429 help
430 The Ocelot-3 is based off Discovery III System Controller and
431 PMC-Sierra Rm79000 core.
432
5e83d430 433config MOMENCO_OCELOT_C
3fa986fa 434 bool "Momentum Ocelot-C board"
1da177e4
LT
435 select DMA_NONCOHERENT
436 select HW_HAS_PCI
437 select IRQ_CPU
1da177e4 438 select IRQ_MV64340
1da177e4
LT
439 select PCI_MARVELL
440 select RM7000_CPU_SCACHE
441 select SWAP_IO_SPACE
7cf8053b 442 select SYS_HAS_CPU_RM7000
ed5ba2fb
YY
443 select SYS_SUPPORTS_32BIT_KERNEL
444 select SYS_SUPPORTS_64BIT_KERNEL
5e83d430 445 select SYS_SUPPORTS_BIG_ENDIAN
1da177e4 446 help
5e83d430 447 The Ocelot is a MIPS-based Single Board Computer (SBC) made by
1da177e4
LT
448 Momentum Computer <http://www.momenco.com/>.
449
5e83d430 450config MOMENCO_OCELOT_G
3fa986fa 451 bool "Momentum Ocelot-G board"
5e83d430 452 select DMA_NONCOHERENT
1da177e4
LT
453 select HW_HAS_PCI
454 select IRQ_CPU
455 select IRQ_CPU_RM7K
5e83d430
RB
456 select PCI_MARVELL
457 select RM7000_CPU_SCACHE
1da177e4 458 select SWAP_IO_SPACE
7cf8053b 459 select SYS_HAS_CPU_RM7000
ed5ba2fb
YY
460 select SYS_SUPPORTS_32BIT_KERNEL
461 select SYS_SUPPORTS_64BIT_KERNEL
5e83d430 462 select SYS_SUPPORTS_BIG_ENDIAN
31473747 463 select ARCH_SPARSEMEM_ENABLE
1da177e4 464 help
5e83d430
RB
465 The Ocelot is a MIPS-based Single Board Computer (SBC) made by
466 Momentum Computer <http://www.momenco.com/>.
1da177e4 467
5e83d430 468config MIPS_XXS1500
3fa986fa 469 bool "MyCable XXS1500 board"
5e83d430
RB
470 select DMA_NONCOHERENT
471 select SOC_AU1500
472 select SYS_SUPPORTS_LITTLE_ENDIAN
1da177e4 473
bdf21b18 474config PNX8550_V2PCI
3fa986fa 475 bool "Philips PNX8550 based Viper2-PCI board"
4b29f604 476 depends on BROKEN
bdf21b18
PP
477 select PNX8550
478 select SYS_SUPPORTS_LITTLE_ENDIAN
479
480config PNX8550_JBS
3fa986fa 481 bool "Philips PNX8550 based JBS board"
4b29f604 482 depends on BROKEN
bdf21b18
PP
483 select PNX8550
484 select SYS_SUPPORTS_LITTLE_ENDIAN
485
1da177e4 486config DDB5477
3fa986fa 487 bool "NEC DDB Vrc-5477"
5e83d430 488 select DDB5XXX_COMMON
1da177e4
LT
489 select DMA_NONCOHERENT
490 select HW_HAS_PCI
491 select I8259
492 select IRQ_CPU
7cf8053b 493 select SYS_HAS_CPU_R5432
ed5ba2fb
YY
494 select SYS_SUPPORTS_32BIT_KERNEL
495 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
5e83d430 496 select SYS_SUPPORTS_LITTLE_ENDIAN
1da177e4
LT
497 help
498 This enables support for the R5432-based NEC DDB Vrc-5477,
499 or Rockhopper/SolutionGear boards with R5432/R5500 CPUs.
500
501 Features : kernel debugging, serial terminal, NFS root fs, on-board
502 ether port USB, AC97, PCI, etc.
503
5e83d430 504config MACH_VR41XX
3fa986fa 505 bool "NEC VR41XX-based machines"
7cf8053b 506 select SYS_HAS_CPU_VR41XX
5e83d430
RB
507 select SYS_SUPPORTS_32BIT_KERNEL
508 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
509
510config PMC_YOSEMITE
3fa986fa 511 bool "PMC-Sierra Yosemite eval board"
5e83d430
RB
512 select DMA_COHERENT
513 select HW_HAS_PCI
514 select IRQ_CPU
515 select IRQ_CPU_RM7K
516 select IRQ_CPU_RM9K
517 select SWAP_IO_SPACE
7cf8053b 518 select SYS_HAS_CPU_RM9000
5e83d430
RB
519 select SYS_SUPPORTS_32BIT_KERNEL
520 select SYS_SUPPORTS_64BIT_KERNEL
521 select SYS_SUPPORTS_BIG_ENDIAN
522 select SYS_SUPPORTS_HIGHMEM
e73ea273 523 select SYS_SUPPORTS_SMP
5e83d430
RB
524 help
525 Yosemite is an evaluation board for the RM9000x2 processor
526 manufactured by PMC-Sierra.
1da177e4 527
07119621 528config QEMU
3fa986fa 529 bool "Qemu"
07119621
RB
530 select DMA_COHERENT
531 select GENERIC_ISA_DMA
532 select HAVE_STD_PC_SERIAL_PORT
e5c6c8e4 533 select I8253
07119621
RB
534 select I8259
535 select ISA
536 select SWAP_IO_SPACE
7cf8053b 537 select SYS_HAS_CPU_MIPS32_R1
07119621
RB
538 select SYS_SUPPORTS_32BIT_KERNEL
539 select SYS_SUPPORTS_BIG_ENDIAN
b1c6cd42 540 select ARCH_SPARSEMEM_ENABLE
07119621 541 help
5e83d430
RB
542 Qemu is a software emulator which among other architectures also
543 can simulate a MIPS32 4Kc system. This patch adds support for the
544 system architecture that currently is being simulated by Qemu. It
545 will eventually be removed again when Qemu has the capability to
546 simulate actual MIPS hardware platforms. More information on Qemu
547 can be found at http://www.linux-mips.org/wiki/Qemu.
07119621 548
355c471f 549config MARKEINS
550 bool "Support for NEC EMMA2RH Mark-eins"
551 select DMA_NONCOHERENT
552 select HW_HAS_PCI
553 select IRQ_CPU
554 select SWAP_IO_SPACE
555 select SYS_SUPPORTS_32BIT_KERNEL
556 select SYS_SUPPORTS_BIG_ENDIAN
557 select SYS_SUPPORTS_LITTLE_ENDIAN
558 select SYS_HAS_CPU_R5000
559 help
560 This enables support for the R5432-based NEC Mark-eins
561 boards with R5500 CPU.
562
1da177e4 563config SGI_IP22
3fa986fa 564 bool "SGI IP22 (Indy/Indigo2)"
1da177e4
LT
565 select ARC
566 select ARC32
567 select BOOT_ELF32
568 select DMA_NONCOHERENT
5e83d430 569 select HW_HAS_EISA
1da177e4
LT
570 select IP22_CPU_SCACHE
571 select IRQ_CPU
aac076f8 572 select NO_ISA if ISA
1da177e4 573 select SWAP_IO_SPACE
7cf8053b
RB
574 select SYS_HAS_CPU_R4X00
575 select SYS_HAS_CPU_R5000
ed5ba2fb
YY
576 select SYS_SUPPORTS_32BIT_KERNEL
577 select SYS_SUPPORTS_64BIT_KERNEL
5e83d430 578 select SYS_SUPPORTS_BIG_ENDIAN
1da177e4
LT
579 help
580 This are the SGI Indy, Challenge S and Indigo2, as well as certain
581 OEM variants like the Tandem CMN B006S. To compile a Linux kernel
582 that runs on these, say Y here.
583
584config SGI_IP27
3fa986fa 585 bool "SGI IP27 (Origin200/2000)"
1da177e4
LT
586 select ARC
587 select ARC64
5e83d430 588 select BOOT_ELF64
1da177e4 589 select DMA_IP27
a3d45391 590 select EARLY_PRINTK
1da177e4
LT
591 select HW_HAS_PCI
592 select PCI_DOMAINS
7cf8053b 593 select SYS_HAS_CPU_R10000
ed5ba2fb 594 select SYS_SUPPORTS_64BIT_KERNEL
5e83d430 595 select SYS_SUPPORTS_BIG_ENDIAN
d8cb4e11 596 select SYS_SUPPORTS_NUMA
1da177e4
LT
597 help
598 This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics
599 workstations. To compile a Linux kernel that runs on these, say Y
600 here.
601
1da177e4 602config SGI_IP32
3fa986fa 603 bool "SGI IP32 (O2) (EXPERIMENTAL)"
ed5ba2fb 604 depends on EXPERIMENTAL
1da177e4
LT
605 select ARC
606 select ARC32
607 select BOOT_ELF32
608 select OWN_DMA
609 select DMA_IP32
610 select DMA_NONCOHERENT
611 select HW_HAS_PCI
612 select R5000_CPU_SCACHE
613 select RM7000_CPU_SCACHE
7cf8053b
RB
614 select SYS_HAS_CPU_R5000
615 select SYS_HAS_CPU_R10000 if BROKEN
616 select SYS_HAS_CPU_RM7000
dd2f18fe 617 select SYS_HAS_CPU_NEVADA
ed5ba2fb 618 select SYS_SUPPORTS_64BIT_KERNEL
23fbee9d 619 select SYS_SUPPORTS_BIG_ENDIAN
23fbee9d 620 help
5e83d430 621 If you want this kernel to run on SGI O2 workstation, say Y here.
1da177e4 622
9a6dcea1 623config SIBYTE_BIGSUR
3fa986fa 624 bool "Sibyte BCM91480B-BigSur"
9a6dcea1
AI
625 select BOOT_ELF32
626 select DMA_COHERENT
7cf8053b 627 select PCI_DOMAINS
9a6dcea1
AI
628 select SIBYTE_BCM1x80
629 select SWAP_IO_SPACE
7cf8053b 630 select SYS_HAS_CPU_SB1
9a6dcea1
AI
631 select SYS_SUPPORTS_BIG_ENDIAN
632 select SYS_SUPPORTS_LITTLE_ENDIAN
633
5e83d430 634config SIBYTE_SWARM
3fa986fa 635 bool "Sibyte BCM91250A-SWARM"
5e83d430 636 select BOOT_ELF32
1da177e4 637 select DMA_COHERENT
5e83d430
RB
638 select SIBYTE_SB1250
639 select SWAP_IO_SPACE
7cf8053b 640 select SYS_HAS_CPU_SB1
81731f79 641 select SYS_SUPPORTS_BIG_ENDIAN
5e83d430
RB
642 select SYS_SUPPORTS_HIGHMEM
643 select SYS_SUPPORTS_LITTLE_ENDIAN
1da177e4 644
5e83d430 645config SIBYTE_SENTOSA
3fa986fa 646 bool "Sibyte BCM91250E-Sentosa"
5e83d430
RB
647 depends on EXPERIMENTAL
648 select BOOT_ELF32
649 select DMA_COHERENT
650 select SIBYTE_SB1250
651 select SWAP_IO_SPACE
7cf8053b 652 select SYS_HAS_CPU_SB1
5e83d430
RB
653 select SYS_SUPPORTS_BIG_ENDIAN
654 select SYS_SUPPORTS_LITTLE_ENDIAN
1da177e4 655
5e83d430 656config SIBYTE_RHONE
3fa986fa 657 bool "Sibyte BCM91125E-Rhone"
5e83d430
RB
658 depends on EXPERIMENTAL
659 select BOOT_ELF32
660 select DMA_COHERENT
661 select SIBYTE_BCM1125H
662 select SWAP_IO_SPACE
7cf8053b 663 select SYS_HAS_CPU_SB1
5e83d430
RB
664 select SYS_SUPPORTS_BIG_ENDIAN
665 select SYS_SUPPORTS_LITTLE_ENDIAN
1da177e4 666
5e83d430 667config SIBYTE_CARMEL
3fa986fa 668 bool "Sibyte BCM91120x-Carmel"
5e83d430
RB
669 depends on EXPERIMENTAL
670 select BOOT_ELF32
26a940e2 671 select DMA_COHERENT
5e83d430
RB
672 select SIBYTE_BCM1120
673 select SWAP_IO_SPACE
7cf8053b 674 select SYS_HAS_CPU_SB1
5e83d430 675 select SYS_SUPPORTS_BIG_ENDIAN
e3ad1c23
PP
676 select SYS_SUPPORTS_LITTLE_ENDIAN
677
5e83d430 678config SIBYTE_PTSWARM
3fa986fa 679 bool "Sibyte BCM91250PT-PTSWARM"
5e83d430
RB
680 depends on EXPERIMENTAL
681 select BOOT_ELF32
682 select DMA_COHERENT
683 select SIBYTE_SB1250
684 select SWAP_IO_SPACE
7cf8053b 685 select SYS_HAS_CPU_SB1
5e83d430
RB
686 select SYS_SUPPORTS_BIG_ENDIAN
687 select SYS_SUPPORTS_HIGHMEM
688 select SYS_SUPPORTS_LITTLE_ENDIAN
1da177e4 689
5e83d430 690config SIBYTE_LITTLESUR
3fa986fa 691 bool "Sibyte BCM91250C2-LittleSur"
5e83d430
RB
692 depends on EXPERIMENTAL
693 select BOOT_ELF32
694 select DMA_COHERENT
695 select SIBYTE_SB1250
696 select SWAP_IO_SPACE
7cf8053b 697 select SYS_HAS_CPU_SB1
5e83d430
RB
698 select SYS_SUPPORTS_BIG_ENDIAN
699 select SYS_SUPPORTS_HIGHMEM
700 select SYS_SUPPORTS_LITTLE_ENDIAN
1da177e4 701
5e83d430 702config SIBYTE_CRHINE
3fa986fa 703 bool "Sibyte BCM91120C-CRhine"
5e83d430
RB
704 depends on EXPERIMENTAL
705 select BOOT_ELF32
706 select DMA_COHERENT
707 select SIBYTE_BCM1120
708 select SWAP_IO_SPACE
7cf8053b 709 select SYS_HAS_CPU_SB1
5e83d430
RB
710 select SYS_SUPPORTS_BIG_ENDIAN
711 select SYS_SUPPORTS_LITTLE_ENDIAN
1da177e4 712
5e83d430 713config SIBYTE_CRHONE
3fa986fa 714 bool "Sibyte BCM91125C-CRhone"
5e83d430
RB
715 depends on EXPERIMENTAL
716 select BOOT_ELF32
717 select DMA_COHERENT
718 select SIBYTE_BCM1125
719 select SWAP_IO_SPACE
7cf8053b 720 select SYS_HAS_CPU_SB1
5e83d430
RB
721 select SYS_SUPPORTS_BIG_ENDIAN
722 select SYS_SUPPORTS_HIGHMEM
723 select SYS_SUPPORTS_LITTLE_ENDIAN
1da177e4 724
1da177e4 725config SNI_RM200_PCI
3fa986fa 726 bool "SNI RM200 PCI"
4a0312fc
TB
727 select ARC if CPU_LITTLE_ENDIAN
728 select ARC32 if CPU_LITTLE_ENDIAN
61ed242d 729 select ARCH_MAY_HAVE_PC_FDC
1da177e4
LT
730 select BOOT_ELF32
731 select DMA_NONCOHERENT
732 select GENERIC_ISA_DMA
733 select HAVE_STD_PC_SERIAL_PORT
5e83d430 734 select HW_HAS_EISA
1da177e4 735 select HW_HAS_PCI
e5c6c8e4 736 select I8253
1da177e4
LT
737 select I8259
738 select ISA
4a0312fc 739 select SWAP_IO_SPACE if CPU_BIG_ENDIAN
7cf8053b 740 select SYS_HAS_CPU_R4X00
4a0312fc
TB
741 select SYS_HAS_CPU_R5000
742 select R5000_CPU_SCACHE
ed5ba2fb
YY
743 select SYS_SUPPORTS_32BIT_KERNEL
744 select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
4a0312fc 745 select SYS_SUPPORTS_BIG_ENDIAN
797798c1 746 select SYS_SUPPORTS_HIGHMEM
5e83d430 747 select SYS_SUPPORTS_LITTLE_ENDIAN
1da177e4
LT
748 help
749 The SNI RM200 PCI was a MIPS-based platform manufactured by Siemens
750 Nixdorf Informationssysteme (SNI), parent company of Pyramid
751 Technology and now in turn merged with Fujitsu. Say Y here to
752 support this machine type.
753
5e83d430 754config TOSHIBA_JMR3927
3fa986fa 755 bool "Toshiba JMR-TX3927 board"
5e83d430
RB
756 select DMA_NONCOHERENT
757 select HW_HAS_PCI
758 select MIPS_TX3927
759 select SWAP_IO_SPACE
7cf8053b 760 select SYS_HAS_CPU_TX39XX
5e83d430
RB
761 select SYS_SUPPORTS_32BIT_KERNEL
762 select SYS_SUPPORTS_BIG_ENDIAN
763 select TOSHIBA_BOARDS
764
1da177e4 765config TOSHIBA_RBTX4927
3fa986fa 766 bool "Toshiba TBTX49[23]7 board"
1da177e4
LT
767 select DMA_NONCOHERENT
768 select HAS_TXX9_SERIAL
769 select HW_HAS_PCI
770 select I8259
771 select ISA
772 select SWAP_IO_SPACE
7cf8053b 773 select SYS_HAS_CPU_TX49XX
ed5ba2fb
YY
774 select SYS_SUPPORTS_32BIT_KERNEL
775 select SYS_SUPPORTS_64BIT_KERNEL
5e83d430
RB
776 select SYS_SUPPORTS_BIG_ENDIAN
777 select TOSHIBA_BOARDS
1da177e4
LT
778 help
779 This Toshiba board is based on the TX4927 processor. Say Y here to
780 support this machine type
781
5e83d430 782config TOSHIBA_RBTX4938
3fa986fa 783 bool "Toshiba RBTX4938 board"
5e83d430
RB
784 select HAVE_STD_PC_SERIAL_PORT
785 select DMA_NONCOHERENT
786 select GENERIC_ISA_DMA
787 select HAS_TXX9_SERIAL
788 select HW_HAS_PCI
789 select I8259
790 select ISA
791 select SWAP_IO_SPACE
7cf8053b 792 select SYS_HAS_CPU_TX49XX
5e83d430
RB
793 select SYS_SUPPORTS_32BIT_KERNEL
794 select SYS_SUPPORTS_LITTLE_ENDIAN
795 select SYS_SUPPORTS_BIG_ENDIAN
796 select TOSHIBA_BOARDS
797 help
798 This Toshiba board is based on the TX4938 processor. Say Y here to
799 support this machine type
800
801endchoice
1da177e4 802
5e83d430
RB
803source "arch/mips/ddb5xxx/Kconfig"
804source "arch/mips/gt64120/ev64120/Kconfig"
805source "arch/mips/jazz/Kconfig"
806source "arch/mips/ite-boards/Kconfig"
807source "arch/mips/lasat/Kconfig"
808source "arch/mips/momentum/Kconfig"
809source "arch/mips/pmc-sierra/Kconfig"
29c48699 810source "arch/mips/sgi-ip27/Kconfig"
38b18f72 811source "arch/mips/sibyte/Kconfig"
5e83d430 812source "arch/mips/tx4927/Kconfig"
23fbee9d 813source "arch/mips/tx4938/Kconfig"
5e83d430 814source "arch/mips/vr41xx/Kconfig"
bdf21b18 815source "arch/mips/philips/pnx8550/common/Kconfig"
e87dddeb 816source "arch/mips/cobalt/Kconfig"
38b18f72 817
5e83d430
RB
818endmenu
819
1da177e4
LT
820config RWSEM_GENERIC_SPINLOCK
821 bool
822 default y
823
824config RWSEM_XCHGADD_ALGORITHM
825 bool
826
3c9ee7ef
AM
827config GENERIC_FIND_NEXT_BIT
828 bool
829 default y
830
831config GENERIC_HWEIGHT
832 bool
833 default y
834
1da177e4
LT
835config GENERIC_CALIBRATE_DELAY
836 bool
837 default y
838
1cc89038
AN
839config SCHED_NO_NO_OMIT_FRAME_POINTER
840 bool
841 default y
842
1da177e4
LT
843#
844# Select some configuration options automatically based on user selections.
845#
846config ARC
847 bool
1da177e4 848
61ed242d
RB
849config ARCH_MAY_HAVE_PC_FDC
850 bool
851
4ce588cd 852config DMA_COHERENT
1da177e4
LT
853 bool
854
4ce588cd 855config DMA_IP27
1da177e4
LT
856 bool
857
4ce588cd
RB
858config DMA_IP32
859 bool
860 select DMA_NEED_PCI_MAP_STATE
861
862config DMA_NONCOHERENT
863 bool
864 select DMA_NEED_PCI_MAP_STATE
865
866config DMA_NEED_PCI_MAP_STATE
1da177e4
LT
867 bool
868
5e83d430
RB
869config OWN_DMA
870 bool
871
1da177e4
LT
872config EARLY_PRINTK
873 bool
1da177e4
LT
874
875config GENERIC_ISA_DMA
876 bool
1da177e4
LT
877
878config I8259
879 bool
1da177e4
LT
880
881config LIMITED_DMA
882 bool
883 select HIGHMEM
797798c1 884 select SYS_SUPPORTS_HIGHMEM
1da177e4
LT
885
886config MIPS_BONITO64
887 bool
1da177e4
LT
888
889config MIPS_MSC
890 bool
1da177e4
LT
891
892config MIPS_NILE4
893 bool
1da177e4
LT
894
895config MIPS_DISABLE_OBSOLETE_IDE
896 bool
897
5e83d430
RB
898#
899# Endianess selection. Suffiently obscure so many users don't know what to
900# answer,so we try hard to limit the available choices. Also the use of a
901# choice statement should be more obvious to the user.
902#
903choice
904 prompt "Endianess selection"
1da177e4
LT
905 help
906 Some MIPS machines can be configured for either little or big endian
5e83d430
RB
907 byte order. These modes require different kernels and a different
908 Linux distribution. In general there is one prefered byteorder for a
909 particular system but some systems are just as commonly used in the
910 one or the other endianess.
911
912config CPU_BIG_ENDIAN
913 bool "Big endian"
914 depends on SYS_SUPPORTS_BIG_ENDIAN
915
916config CPU_LITTLE_ENDIAN
917 bool "Little endian"
918 depends on SYS_SUPPORTS_LITTLE_ENDIAN
919 help
920
921endchoice
922
923config SYS_SUPPORTS_BIG_ENDIAN
924 bool
925
926config SYS_SUPPORTS_LITTLE_ENDIAN
927 bool
1da177e4
LT
928
929config IRQ_CPU
930 bool
931
932config IRQ_CPU_RM7K
933 bool
934
5e83d430
RB
935config IRQ_CPU_RM9K
936 bool
937
1da177e4
LT
938config IRQ_MV64340
939 bool
940
941config DDB5XXX_COMMON
942 bool
1da177e4
LT
943
944config MIPS_BOARDS_GEN
945 bool
1da177e4
LT
946
947config MIPS_GT64111
948 bool
1da177e4
LT
949
950config MIPS_GT64120
951 bool
1da177e4
LT
952
953config MIPS_TX3927
954 bool
1da177e4 955 select HAS_TXX9_SERIAL
1da177e4 956
663c3d90 957config MIPS_RM9122
958 bool
959 select SERIAL_RM9000
960 select GPI_RM9000
961 select WDT_RM9000
962
1da177e4
LT
963config PCI_MARVELL
964 bool
965
966config ITE_BOARD_GEN
967 bool
5e83d430
RB
968
969config SOC_AU1000
970 bool
971 select SOC_AU1X00
972
973config SOC_AU1100
974 bool
975 select SOC_AU1X00
976
977config SOC_AU1500
978 bool
979 select SOC_AU1X00
980
981config SOC_AU1550
982 bool
983 select SOC_AU1X00
984
985config SOC_AU1200
986 bool
987 select SOC_AU1X00
988
989config SOC_AU1X00
990 bool
7cf8053b 991 select SYS_HAS_CPU_MIPS32_R1
5e83d430 992 select SYS_SUPPORTS_32BIT_KERNEL
1da177e4 993
bdf21b18
PP
994config PNX8550
995 bool
996 select SOC_PNX8550
997
998config SOC_PNX8550
999 bool
bdf21b18
PP
1000 select DMA_NONCOHERENT
1001 select HW_HAS_PCI
b8c2a77c 1002 select SYS_HAS_CPU_MIPS32_R1
7cf8053b 1003 select SYS_SUPPORTS_32BIT_KERNEL
bdf21b18 1004
1da177e4
LT
1005config SWAP_IO_SPACE
1006 bool
1007
355c471f 1008config EMMA2RH
1009 bool
1010 depends on MARKEINS
1011 default y
1012
663c3d90 1013config SERIAL_RM9000
1014 bool
1015
1016config GPI_RM9000
1017 bool
1018
1019config WDT_RM9000
1020 bool
1021
1da177e4
LT
1022#
1023# Unfortunately not all GT64120 systems run the chip at the same clock.
1024# As the user for the clock rate and try to minimize the available options.
1025#
1026choice
1027 prompt "Galileo Chip Clock"
1028 #default SYSCLK_83 if MIPS_EV64120
1029 depends on MIPS_EV64120 || MOMENCO_OCELOT || MOMENCO_OCELOT_G
1030 default SYSCLK_83 if MIPS_EV64120
1031 default SYSCLK_100 if MOMENCO_OCELOT || MOMENCO_OCELOT_G
1032
1033config SYSCLK_75
1034 bool "75" if MIPS_EV64120
1035
1036config SYSCLK_83
1037 bool "83.3" if MIPS_EV64120
1038
1039config SYSCLK_100
1040 bool "100" if MIPS_EV64120 || MOMENCO_OCELOT || MOMENCO_OCELOT_G
1041
1042endchoice
1043
5e83d430
RB
1044config ARC32
1045 bool
1046
1da177e4
LT
1047config AU1X00_USB_DEVICE
1048 bool
1049 depends on MIPS_PB1500 || MIPS_PB1100 || MIPS_PB1000
1050 default n
1051
1da177e4
LT
1052config IT8172_CIR
1053 bool
1054 depends on MIPS_ITE8172 || MIPS_IVR
1055 default y
1056
1057config IT8712
1058 bool
1059 depends on MIPS_ITE8172
1060 default y
1061
1062config BOOT_ELF32
1063 bool
1da177e4
LT
1064
1065config MIPS_L1_CACHE_SHIFT
1066 int
1067 default "4" if MACH_DECSTATION
1068 default "7" if SGI_IP27
1069 default "5"
1070
1da177e4
LT
1071config HAVE_STD_PC_SERIAL_PORT
1072 bool
1073
1da177e4
LT
1074config ARC_CONSOLE
1075 bool "ARC console support"
1076 depends on SGI_IP22 || SNI_RM200_PCI
1077
1078config ARC_MEMORY
1079 bool
1080 depends on MACH_JAZZ || SNI_RM200_PCI || SGI_IP32
1081 default y
1082
1083config ARC_PROMLIB
1084 bool
1085 depends on MACH_JAZZ || SNI_RM200_PCI || SGI_IP22 || SGI_IP32
1086 default y
1087
1088config ARC64
1089 bool
1da177e4
LT
1090
1091config BOOT_ELF64
1092 bool
1da177e4 1093
1da177e4
LT
1094config TOSHIBA_BOARDS
1095 bool
1da177e4
LT
1096
1097menu "CPU selection"
1098
1099choice
1100 prompt "CPU type"
1101 default CPU_R4X00
1102
6e760c8d
RB
1103config CPU_MIPS32_R1
1104 bool "MIPS32 Release 1"
7cf8053b 1105 depends on SYS_HAS_CPU_MIPS32_R1
f7062ddb 1106 select CPU_HAS_LLSC
6e760c8d 1107 select CPU_HAS_PREFETCH
797798c1 1108 select CPU_SUPPORTS_32BIT_KERNEL
ec28f306 1109 select CPU_SUPPORTS_HIGHMEM
1e5f1caa 1110 help
5e83d430 1111 Choose this option to build a kernel for release 1 or later of the
1e5f1caa
RB
1112 MIPS32 architecture. Most modern embedded systems with a 32-bit
1113 MIPS processor are based on a MIPS32 processor. If you know the
1114 specific type of processor in your system, choose those that one
1115 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1116 Release 2 of the MIPS32 architecture is available since several
1117 years so chances are you even have a MIPS32 Release 2 processor
1118 in which case you should choose CPU_MIPS32_R2 instead for better
1119 performance.
1120
1121config CPU_MIPS32_R2
1122 bool "MIPS32 Release 2"
7cf8053b 1123 depends on SYS_HAS_CPU_MIPS32_R2
f7062ddb 1124 select CPU_HAS_LLSC
1e5f1caa 1125 select CPU_HAS_PREFETCH
797798c1 1126 select CPU_SUPPORTS_32BIT_KERNEL
ec28f306 1127 select CPU_SUPPORTS_HIGHMEM
6e760c8d 1128 help
5e83d430 1129 Choose this option to build a kernel for release 2 or later of the
6e760c8d
RB
1130 MIPS32 architecture. Most modern embedded systems with a 32-bit
1131 MIPS processor are based on a MIPS32 processor. If you know the
1132 specific type of processor in your system, choose those that one
1133 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1134
1135config CPU_MIPS64_R1
1136 bool "MIPS64 Release 1"
7cf8053b 1137 depends on SYS_HAS_CPU_MIPS64_R1
f7062ddb 1138 select CPU_HAS_LLSC
797798c1 1139 select CPU_HAS_PREFETCH
ed5ba2fb
YY
1140 select CPU_SUPPORTS_32BIT_KERNEL
1141 select CPU_SUPPORTS_64BIT_KERNEL
ec28f306 1142 select CPU_SUPPORTS_HIGHMEM
6e760c8d
RB
1143 help
1144 Choose this option to build a kernel for release 1 or later of the
1145 MIPS64 architecture. Many modern embedded systems with a 64-bit
1146 MIPS processor are based on a MIPS64 processor. If you know the
1147 specific type of processor in your system, choose those that one
1148 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1e5f1caa
RB
1149 Release 2 of the MIPS64 architecture is available since several
1150 years so chances are you even have a MIPS64 Release 2 processor
1151 in which case you should choose CPU_MIPS64_R2 instead for better
1152 performance.
1153
1154config CPU_MIPS64_R2
1155 bool "MIPS64 Release 2"
7cf8053b 1156 depends on SYS_HAS_CPU_MIPS64_R2
f7062ddb 1157 select CPU_HAS_LLSC
797798c1 1158 select CPU_HAS_PREFETCH
1e5f1caa
RB
1159 select CPU_SUPPORTS_32BIT_KERNEL
1160 select CPU_SUPPORTS_64BIT_KERNEL
ec28f306 1161 select CPU_SUPPORTS_HIGHMEM
1e5f1caa
RB
1162 help
1163 Choose this option to build a kernel for release 2 or later of the
1164 MIPS64 architecture. Many modern embedded systems with a 64-bit
1165 MIPS processor are based on a MIPS64 processor. If you know the
1166 specific type of processor in your system, choose those that one
1167 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1da177e4
LT
1168
1169config CPU_R3000
1170 bool "R3000"
7cf8053b 1171 depends on SYS_HAS_CPU_R3000
f7062ddb 1172 select CPU_HAS_WB
ed5ba2fb 1173 select CPU_SUPPORTS_32BIT_KERNEL
797798c1 1174 select CPU_SUPPORTS_HIGHMEM
1da177e4
LT
1175 help
1176 Please make sure to pick the right CPU type. Linux/MIPS is not
1177 designed to be generic, i.e. Kernels compiled for R3000 CPUs will
1178 *not* work on R4000 machines and vice versa. However, since most
1179 of the supported machines have an R4000 (or similar) CPU, R4x00
1180 might be a safe bet. If the resulting kernel does not work,
1181 try to recompile with R3000.
1182
1183config CPU_TX39XX
1184 bool "R39XX"
7cf8053b 1185 depends on SYS_HAS_CPU_TX39XX
ed5ba2fb 1186 select CPU_SUPPORTS_32BIT_KERNEL
1da177e4
LT
1187
1188config CPU_VR41XX
1189 bool "R41xx"
7cf8053b 1190 depends on SYS_HAS_CPU_VR41XX
ed5ba2fb
YY
1191 select CPU_SUPPORTS_32BIT_KERNEL
1192 select CPU_SUPPORTS_64BIT_KERNEL
1da177e4 1193 help
5e83d430 1194 The options selects support for the NEC VR4100 series of processors.
1da177e4
LT
1195 Only choose this option if you have one of these processors as a
1196 kernel built with this option will not run on any other type of
1197 processor or vice versa.
1198
1199config CPU_R4300
1200 bool "R4300"
7cf8053b 1201 depends on SYS_HAS_CPU_R4300
f7062ddb 1202 select CPU_HAS_LLSC
ed5ba2fb
YY
1203 select CPU_SUPPORTS_32BIT_KERNEL
1204 select CPU_SUPPORTS_64BIT_KERNEL
1da177e4
LT
1205 help
1206 MIPS Technologies R4300-series processors.
1207
1208config CPU_R4X00
1209 bool "R4x00"
7cf8053b 1210 depends on SYS_HAS_CPU_R4X00
f7062ddb 1211 select CPU_HAS_LLSC
ed5ba2fb
YY
1212 select CPU_SUPPORTS_32BIT_KERNEL
1213 select CPU_SUPPORTS_64BIT_KERNEL
1da177e4
LT
1214 help
1215 MIPS Technologies R4000-series processors other than 4300, including
1216 the R4000, R4400, R4600, and 4700.
1217
1218config CPU_TX49XX
1219 bool "R49XX"
7cf8053b 1220 depends on SYS_HAS_CPU_TX49XX
f7062ddb 1221 select CPU_HAS_LLSC
de862b48 1222 select CPU_HAS_PREFETCH
ed5ba2fb
YY
1223 select CPU_SUPPORTS_32BIT_KERNEL
1224 select CPU_SUPPORTS_64BIT_KERNEL
1da177e4
LT
1225
1226config CPU_R5000
1227 bool "R5000"
7cf8053b 1228 depends on SYS_HAS_CPU_R5000
f7062ddb 1229 select CPU_HAS_LLSC
ed5ba2fb
YY
1230 select CPU_SUPPORTS_32BIT_KERNEL
1231 select CPU_SUPPORTS_64BIT_KERNEL
1da177e4
LT
1232 help
1233 MIPS Technologies R5000-series processors other than the Nevada.
1234
1235config CPU_R5432
1236 bool "R5432"
7cf8053b 1237 depends on SYS_HAS_CPU_R5432
f7062ddb 1238 select CPU_HAS_LLSC
5e83d430
RB
1239 select CPU_SUPPORTS_32BIT_KERNEL
1240 select CPU_SUPPORTS_64BIT_KERNEL
1da177e4
LT
1241
1242config CPU_R6000
1243 bool "R6000"
ed5ba2fb 1244 depends on EXPERIMENTAL
f7062ddb 1245 select CPU_HAS_LLSC
7cf8053b 1246 depends on SYS_HAS_CPU_R6000
ed5ba2fb 1247 select CPU_SUPPORTS_32BIT_KERNEL
1da177e4
LT
1248 help
1249 MIPS Technologies R6000 and R6000A series processors. Note these
c09b47d8 1250 processors are extremely rare and the support for them is incomplete.
1da177e4
LT
1251
1252config CPU_NEVADA
1253 bool "RM52xx"
7cf8053b 1254 depends on SYS_HAS_CPU_NEVADA
f7062ddb 1255 select CPU_HAS_LLSC
ed5ba2fb
YY
1256 select CPU_SUPPORTS_32BIT_KERNEL
1257 select CPU_SUPPORTS_64BIT_KERNEL
1da177e4
LT
1258 help
1259 QED / PMC-Sierra RM52xx-series ("Nevada") processors.
1260
1261config CPU_R8000
1262 bool "R8000"
ed5ba2fb 1263 depends on EXPERIMENTAL
7cf8053b 1264 depends on SYS_HAS_CPU_R8000
f7062ddb 1265 select CPU_HAS_LLSC
5e83d430 1266 select CPU_HAS_PREFETCH
ed5ba2fb 1267 select CPU_SUPPORTS_64BIT_KERNEL
1da177e4
LT
1268 help
1269 MIPS Technologies R8000 processors. Note these processors are
1270 uncommon and the support for them is incomplete.
1271
1272config CPU_R10000
1273 bool "R10000"
7cf8053b 1274 depends on SYS_HAS_CPU_R10000
f7062ddb 1275 select CPU_HAS_LLSC
5e83d430 1276 select CPU_HAS_PREFETCH
ed5ba2fb
YY
1277 select CPU_SUPPORTS_32BIT_KERNEL
1278 select CPU_SUPPORTS_64BIT_KERNEL
797798c1 1279 select CPU_SUPPORTS_HIGHMEM
1da177e4
LT
1280 help
1281 MIPS Technologies R10000-series processors.
1282
1283config CPU_RM7000
1284 bool "RM7000"
7cf8053b 1285 depends on SYS_HAS_CPU_RM7000
f7062ddb 1286 select CPU_HAS_LLSC
5e83d430 1287 select CPU_HAS_PREFETCH
ed5ba2fb
YY
1288 select CPU_SUPPORTS_32BIT_KERNEL
1289 select CPU_SUPPORTS_64BIT_KERNEL
797798c1 1290 select CPU_SUPPORTS_HIGHMEM
1da177e4
LT
1291
1292config CPU_RM9000
1293 bool "RM9000"
7cf8053b 1294 depends on SYS_HAS_CPU_RM9000
f7062ddb 1295 select CPU_HAS_LLSC
5e83d430 1296 select CPU_HAS_PREFETCH
ed5ba2fb
YY
1297 select CPU_SUPPORTS_32BIT_KERNEL
1298 select CPU_SUPPORTS_64BIT_KERNEL
797798c1 1299 select CPU_SUPPORTS_HIGHMEM
1da177e4
LT
1300
1301config CPU_SB1
1302 bool "SB1"
7cf8053b 1303 depends on SYS_HAS_CPU_SB1
f7062ddb 1304 select CPU_HAS_LLSC
ed5ba2fb
YY
1305 select CPU_SUPPORTS_32BIT_KERNEL
1306 select CPU_SUPPORTS_64BIT_KERNEL
797798c1 1307 select CPU_SUPPORTS_HIGHMEM
1da177e4
LT
1308
1309endchoice
1310
7cf8053b
RB
1311config SYS_HAS_CPU_MIPS32_R1
1312 bool
1313
1314config SYS_HAS_CPU_MIPS32_R2
1315 bool
1316
1317config SYS_HAS_CPU_MIPS64_R1
1318 bool
1319
1320config SYS_HAS_CPU_MIPS64_R2
1321 bool
1322
1323config SYS_HAS_CPU_R3000
1324 bool
1325
1326config SYS_HAS_CPU_TX39XX
1327 bool
1328
1329config SYS_HAS_CPU_VR41XX
1330 bool
1331
1332config SYS_HAS_CPU_R4300
1333 bool
1334
1335config SYS_HAS_CPU_R4X00
1336 bool
1337
1338config SYS_HAS_CPU_TX49XX
1339 bool
1340
1341config SYS_HAS_CPU_R5000
1342 bool
1343
1344config SYS_HAS_CPU_R5432
1345 bool
1346
1347config SYS_HAS_CPU_R6000
1348 bool
1349
1350config SYS_HAS_CPU_NEVADA
1351 bool
1352
1353config SYS_HAS_CPU_R8000
1354 bool
1355
1356config SYS_HAS_CPU_R10000
1357 bool
1358
1359config SYS_HAS_CPU_RM7000
1360 bool
1361
1362config SYS_HAS_CPU_RM9000
1363 bool
1364
1365config SYS_HAS_CPU_SB1
1366 bool
1367
5e83d430
RB
1368endmenu
1369
1370#
c09b47d8 1371# These two indicate any level of the MIPS32 and MIPS64 architecture
5e83d430
RB
1372#
1373config CPU_MIPS32
1374 bool
1375 default y if CPU_MIPS32_R1 || CPU_MIPS32_R2
1376
1377config CPU_MIPS64
1378 bool
1379 default y if CPU_MIPS64_R1 || CPU_MIPS64_R2
1380
1381#
c09b47d8 1382# These two indicate the revision of the architecture, either Release 1 or Release 2
5e83d430
RB
1383#
1384config CPU_MIPSR1
1385 bool
1386 default y if CPU_MIPS32_R1 || CPU_MIPS64_R1
1387
1388config CPU_MIPSR2
1389 bool
1390 default y if CPU_MIPS32_R2 || CPU_MIPS64_R2
1391
1392config SYS_SUPPORTS_32BIT_KERNEL
1393 bool
1394config SYS_SUPPORTS_64BIT_KERNEL
1395 bool
1396config CPU_SUPPORTS_32BIT_KERNEL
1397 bool
1398config CPU_SUPPORTS_64BIT_KERNEL
1399 bool
1400
1401menu "Kernel type"
1402
1403choice
1404
1405 prompt "Kernel code model"
1406 help
1407 You should only select this option if you have a workload that
1408 actually benefits from 64-bit processing or if your machine has
1409 large memory. You will only be presented a single option in this
1410 menu if your system does not support both 32-bit and 64-bit kernels.
1411
1412config 32BIT
1413 bool "32-bit kernel"
1414 depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL
1415 select TRAD_SIGNALS
1416 help
1417 Select this option if you want to build a 32-bit kernel.
1418config 64BIT
1419 bool "64-bit kernel"
1420 depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL
1421 help
1422 Select this option if you want to build a 64-bit kernel.
1423
1424endchoice
1425
1da177e4
LT
1426choice
1427 prompt "Kernel page size"
1428 default PAGE_SIZE_4KB
1429
1430config PAGE_SIZE_4KB
1431 bool "4kB"
1432 help
1433 This option select the standard 4kB Linux page size. On some
1434 R3000-family processors this is the only available page size. Using
1435 4kB page size will minimize memory consumption and is therefore
1436 recommended for low memory systems.
1437
1438config PAGE_SIZE_8KB
1439 bool "8kB"
1440 depends on EXPERIMENTAL && CPU_R8000
1441 help
1442 Using 8kB page size will result in higher performance kernel at
1443 the price of higher memory consumption. This option is available
1444 only on the R8000 processor. Not that at the time of this writing
1445 this option is still high experimental; there are also issues with
1446 compatibility of user applications.
1447
1448config PAGE_SIZE_16KB
1449 bool "16kB"
714bfad6 1450 depends on !CPU_R3000 && !CPU_TX39XX
1da177e4
LT
1451 help
1452 Using 16kB page size will result in higher performance kernel at
1453 the price of higher memory consumption. This option is available on
714bfad6
RB
1454 all non-R3000 family processors. Note that you will need a suitable
1455 Linux distribution to support this.
1da177e4
LT
1456
1457config PAGE_SIZE_64KB
1458 bool "64kB"
1459 depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX
1460 help
1461 Using 64kB page size will result in higher performance kernel at
1462 the price of higher memory consumption. This option is available on
1463 all non-R3000 family processor. Not that at the time of this
714bfad6 1464 writing this option is still high experimental.
1da177e4
LT
1465
1466endchoice
1467
1468config BOARD_SCACHE
1469 bool
1470
1471config IP22_CPU_SCACHE
1472 bool
1473 select BOARD_SCACHE
1474
9318c51a
CD
1475#
1476# Support for a MIPS32 / MIPS64 style S-caches
1477#
1478config MIPS_CPU_SCACHE
1479 bool
1480 select BOARD_SCACHE
1481
1da177e4
LT
1482config R5000_CPU_SCACHE
1483 bool
1484 select BOARD_SCACHE
1485
1486config RM7000_CPU_SCACHE
1487 bool
1488 select BOARD_SCACHE
1489
1490config SIBYTE_DMA_PAGEOPS
1491 bool "Use DMA to clear/copy pages"
1492 depends on CPU_SB1
1493 help
1494 Instead of using the CPU to zero and copy pages, use a Data Mover
1495 channel. These DMA channels are otherwise unused by the standard
1496 SiByte Linux port. Seems to give a small performance benefit.
1497
1498config CPU_HAS_PREFETCH
c8094b53 1499 bool
1da177e4 1500
340ee4b9
RB
1501choice
1502 prompt "MIPS MT options"
f41ae0b2
RB
1503
1504config MIPS_MT_DISABLED
1505 bool "Disable multithreading support."
1506 help
1507 Use this option if your workload can't take advantage of
1508 MIPS hardware multithreading support. On systems that don't have
1509 the option of an MT-enabled processor this option will be the only
1510 option in this menu.
340ee4b9 1511
41c594ab
RB
1512config MIPS_MT_SMTC
1513 bool "SMTC: Use all TCs on all VPEs for SMP"
f41ae0b2
RB
1514 depends on CPU_MIPS32_R2
1515 #depends on CPU_MIPS64_R2 # once there is hardware ...
1516 depends on SYS_SUPPORTS_MULTITHREADING
f7062ddb
RB
1517 select CPU_MIPSR2_IRQ_VI
1518 select CPU_MIPSR2_SRS
f41ae0b2 1519 select MIPS_MT
41c594ab 1520 select SMP
73b76c78 1521 select SYS_SUPPORTS_SMP
f41ae0b2
RB
1522 help
1523 This is a kernel model which is known a SMTC or lately has been
1524 marketesed into SMVP.
41c594ab 1525
340ee4b9
RB
1526config MIPS_MT_SMP
1527 bool "Use 1 TC on each available VPE for SMP"
f41ae0b2
RB
1528 depends on SYS_SUPPORTS_MULTITHREADING
1529 select CPU_MIPSR2_IRQ_VI
1530 select CPU_MIPSR2_SRS
1531 select MIPS_MT
340ee4b9 1532 select SMP
73b76c78 1533 select SYS_SUPPORTS_SMP
f41ae0b2
RB
1534 help
1535 This is a kernel model which is also known a VSMP or lately
1536 has been marketesed into SMVP.
340ee4b9 1537
e01402b1
RB
1538config MIPS_VPE_LOADER
1539 bool "VPE loader support."
f41ae0b2
RB
1540 depends on SYS_SUPPORTS_MULTITHREADING
1541 select MIPS_MT
e01402b1
RB
1542 help
1543 Includes a loader for loading an elf relocatable object
1544 onto another VPE and running it.
1545
340ee4b9
RB
1546endchoice
1547
f41ae0b2
RB
1548config MIPS_MT
1549 bool
1550
1551config SYS_SUPPORTS_MULTITHREADING
1552 bool
1553
f088fc84
RB
1554config MIPS_MT_FPAFF
1555 bool "Dynamic FPU affinity for FP-intensive threads"
1556 depends on MIPS_MT
1557 default y
1558
e01402b1
RB
1559config MIPS_VPE_LOADER_TOM
1560 bool "Load VPE program into memory hidden from linux"
1561 depends on MIPS_VPE_LOADER
1562 default y
1563 help
1564 The loader can use memory that is present but has been hidden from
1565 Linux using the kernel command line option "mem=xxMB". It's up to
1566 you to ensure the amount you put in the option and the space your
1567 program requires is less or equal to the amount physically present.
1568
1569# this should possibly be in drivers/char, but it is rather cpu related. Hmmm
1570config MIPS_VPE_APSP_API
5e83d430
RB
1571 bool "Enable support for AP/SP API (RTLX)"
1572 depends on MIPS_VPE_LOADER
1573 help
e01402b1 1574
2600990e
RB
1575config MIPS_APSP_KSPD
1576 bool "Enable KSPD"
1577 depends on MIPS_VPE_APSP_API
1578 default y
1579 help
1580 KSPD is a kernel daemon that accepts syscall requests from the SP
1581 side, actions them and returns the results. It also handles the
1582 "exit" syscall notifying other kernel modules the SP program is
1583 exiting. You probably want to say yes here.
1584
1da177e4
LT
1585config SB1_PASS_1_WORKAROUNDS
1586 bool
1587 depends on CPU_SB1_PASS_1
1588 default y
1589
1590config SB1_PASS_2_WORKAROUNDS
1591 bool
1592 depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2)
1593 default y
1594
1595config SB1_PASS_2_1_WORKAROUNDS
1596 bool
1597 depends on CPU_SB1 && CPU_SB1_PASS_2
1598 default y
1599
1600config 64BIT_PHYS_ADDR
1601 bool "Support for 64-bit physical address space"
948928ad 1602 depends on (CPU_R4X00 || CPU_R5000 || CPU_RM7000 || CPU_RM9000 || CPU_R10000 || CPU_SB1 || CPU_MIPS32 || CPU_MIPS64) && 32BIT
1da177e4 1603
1da177e4 1604config CPU_HAS_LLSC
f7062ddb 1605 bool
1da177e4 1606
1da177e4 1607config CPU_HAS_WB
f7062ddb 1608 bool
e01402b1 1609
f41ae0b2
RB
1610#
1611# Vectored interrupt mode is an R2 feature
1612#
e01402b1 1613config CPU_MIPSR2_IRQ_VI
f41ae0b2 1614 bool
e01402b1 1615
f41ae0b2
RB
1616#
1617# Extended interrupt mode is an R2 feature
1618#
e01402b1 1619config CPU_MIPSR2_IRQ_EI
f41ae0b2 1620 bool
e01402b1 1621
f41ae0b2
RB
1622#
1623# Shadow registers are an R2 feature
1624#
e01402b1 1625config CPU_MIPSR2_SRS
f41ae0b2 1626 bool
e01402b1 1627
1da177e4
LT
1628config CPU_HAS_SYNC
1629 bool
1630 depends on !CPU_R3000
1631 default y
1632
797798c1
RB
1633#
1634# Use the generic interrupt handling code in kernel/irq/:
1635#
1636config GENERIC_HARDIRQS
1637 bool
1638 default y
1639
1640config GENERIC_IRQ_PROBE
1641 bool
1642 default y
1643
0d7012a9 1644config IRQ_PER_CPU
0d7012a9 1645 bool
0d7012a9 1646
1da177e4
LT
1647#
1648# - Highmem only makes sense for the 32-bit kernel.
1649# - The current highmem code will only work properly on physically indexed
1650# caches such as R3000, SB1, R7000 or those that look like they're virtually
1651# indexed such as R4000/R4400 SC and MC versions or R10000. So for the
1652# moment we protect the user and offer the highmem option only on machines
1653# where it's known to be safe. This will not offer highmem on a few systems
1654# such as MIPS32 and MIPS64 CPUs which may have virtual and physically
1655# indexed CPUs but we're playing safe.
797798c1
RB
1656# - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we
1657# know they might have memory configurations that could make use of highmem
1658# support.
1da177e4
LT
1659#
1660config HIGHMEM
1661 bool "High Memory Support"
797798c1
RB
1662 depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM
1663
1664config CPU_SUPPORTS_HIGHMEM
1665 bool
1666
1667config SYS_SUPPORTS_HIGHMEM
1668 bool
1da177e4 1669
b4819b59
YY
1670config ARCH_FLATMEM_ENABLE
1671 def_bool y
1672 depends on !NUMA
1673
d8cb4e11
RB
1674config ARCH_DISCONTIGMEM_ENABLE
1675 bool
1676 default y if SGI_IP27
1677 help
1678 Say Y to upport efficient handling of discontiguous physical memory,
1679 for architectures which are either NUMA (Non-Uniform Memory Access)
1680 or have huge holes in the physical address space for other reasons.
1681 See <file:Documentation/vm/numa> for more.
1682
b1c6cd42
AN
1683config ARCH_SPARSEMEM_ENABLE
1684 bool
1685
31473747
AN
1686config ARCH_SPARSEMEM_ENABLE
1687 bool
7de58fab 1688 select SPARSEMEM_STATIC
31473747 1689
d8cb4e11
RB
1690config NUMA
1691 bool "NUMA Support"
1692 depends on SYS_SUPPORTS_NUMA
1693 help
1694 Say Y to compile the kernel to support NUMA (Non-Uniform Memory
1695 Access). This option improves performance on systems with more
1696 than two nodes; on two node systems it is generally better to
1697 leave it disabled; on single node systems disable this option
1698 disabled.
1699
1700config SYS_SUPPORTS_NUMA
1701 bool
1702
c80d79d7
YG
1703config NODES_SHIFT
1704 int
1705 default "6"
1706 depends on NEED_MULTIPLE_NODES
1707
b4819b59
YY
1708source "mm/Kconfig"
1709
1da177e4
LT
1710config SMP
1711 bool "Multi-Processing support"
e73ea273 1712 depends on SYS_SUPPORTS_SMP
b4b30a5a 1713 select IRQ_PER_CPU
e73ea273 1714 help
1da177e4
LT
1715 This enables support for systems with more than one CPU. If you have
1716 a system with only one CPU, like most personal computers, say N. If
1717 you have a system with more than one CPU, say Y.
1718
1719 If you say N here, the kernel will run on single and multiprocessor
1720 machines, but will use only one CPU of a multiprocessor machine. If
1721 you say Y here, the kernel will run on many, but not all,
1722 singleprocessor machines. On a singleprocessor machine, the kernel
1723 will run faster if you say N here.
1724
1725 People using multiprocessor machines who say Y here should also say
1726 Y to "Enhanced Real Time Clock Support", below.
1727
1728 See also the <file:Documentation/smp.txt> and the SMP-HOWTO
1729 available at <http://www.tldp.org/docs.html#howto>.
1730
1731 If you don't know what to do here, say N.
1732
e73ea273
RB
1733config SYS_SUPPORTS_SMP
1734 bool
1735
1da177e4
LT
1736config NR_CPUS
1737 int "Maximum number of CPUs (2-64)"
1738 range 2 64
1739 depends on SMP
1740 default "64" if SGI_IP27
1741 default "2"
1742 help
1743 This allows you to specify the maximum number of CPUs which this
1744 kernel will support. The maximum supported value is 32 for 32-bit
1745 kernel and 64 for 64-bit kernels; the minimum value which makes
1746 sense is 2.
1747
1748 This is purely to save memory - each supported CPU adds
1749 approximately eight kilobytes to the kernel image.
1750
1723b4a3
AN
1751#
1752# Timer Interrupt Frequency Configuration
1753#
1754
1755choice
1756 prompt "Timer frequency"
1757 default HZ_250
1758 help
1759 Allows the configuration of the timer frequency.
1760
1761 config HZ_48
1762 bool "48 HZ" if SYS_SUPPORTS_48HZ
1763
1764 config HZ_100
1765 bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ
1766
1767 config HZ_128
1768 bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ
1769
1770 config HZ_250
1771 bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ
1772
1773 config HZ_256
1774 bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ
1775
1776 config HZ_1000
1777 bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ
1778
1779 config HZ_1024
1780 bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ
1781
1782endchoice
1783
1784config SYS_SUPPORTS_48HZ
1785 bool
1786
1787config SYS_SUPPORTS_100HZ
1788 bool
1789
1790config SYS_SUPPORTS_128HZ
1791 bool
1792
1793config SYS_SUPPORTS_250HZ
1794 bool
1795
1796config SYS_SUPPORTS_256HZ
1797 bool
1798
1799config SYS_SUPPORTS_1000HZ
1800 bool
1801
1802config SYS_SUPPORTS_1024HZ
1803 bool
1804
1805config SYS_SUPPORTS_ARBIT_HZ
1806 bool
1807 default y if !SYS_SUPPORTS_48HZ && !SYS_SUPPORTS_100HZ && \
1808 !SYS_SUPPORTS_128HZ && !SYS_SUPPORTS_250HZ && \
1809 !SYS_SUPPORTS_256HZ && !SYS_SUPPORTS_1000HZ && \
1810 !SYS_SUPPORTS_1024HZ
1811
1812config HZ
1813 int
1814 default 48 if HZ_48
1815 default 100 if HZ_100
1816 default 128 if HZ_128
1817 default 250 if HZ_250
1818 default 256 if HZ_256
1819 default 1000 if HZ_1000
1820 default 1024 if HZ_1024
1821
e80de850 1822source "kernel/Kconfig.preempt"
1da177e4
LT
1823
1824config RTC_DS1742
1825 bool "DS1742 BRAM/RTC support"
1826 depends on TOSHIBA_JMR3927 || TOSHIBA_RBTX4927
1827
1828config MIPS_INSANE_LARGE
1829 bool "Support for large 64-bit configurations"
875d43e7 1830 depends on CPU_R10000 && 64BIT
1da177e4
LT
1831 help
1832 MIPS R10000 does support a 44 bit / 16TB address space as opposed to
1833 previous 64-bit processors which only supported 40 bit / 1TB. If you
1834 need processes of more than 1TB virtual address space, say Y here.
1835 This will result in additional memory usage, so it is not
1836 recommended for normal users.
1837
5e83d430
RB
1838endmenu
1839
1da177e4
LT
1840config RWSEM_GENERIC_SPINLOCK
1841 bool
1842 default y
1843
b6c3539b
RB
1844source "init/Kconfig"
1845
1da177e4
LT
1846menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
1847
5e83d430
RB
1848config HW_HAS_EISA
1849 bool
1da177e4
LT
1850config HW_HAS_PCI
1851 bool
1852
1853config PCI
1854 bool "Support for PCI controller"
1855 depends on HW_HAS_PCI
1856 help
1857 Find out whether you have a PCI motherboard. PCI is the name of a
1858 bus system, i.e. the way the CPU talks to the other stuff inside
1859 your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
1860 say Y, otherwise N.
1861
1862 The PCI-HOWTO, available from
1863 <http://www.tldp.org/docs.html#howto>, contains valuable
1864 information about which PCI hardware does work under Linux and which
1865 doesn't.
1866
1867config PCI_DOMAINS
1868 bool
1869 depends on PCI
1870
1871source "drivers/pci/Kconfig"
1872
1873#
1874# ISA support is now enabled via select. Too many systems still have the one
1875# or other ISA chip on the board that users don't know about so don't expect
1876# users to choose the right thing ...
1877#
1878config ISA
1879 bool
1880
aac076f8
RB
1881config NO_ISA
1882 bool
1883
1da177e4
LT
1884config EISA
1885 bool "EISA support"
5e83d430 1886 depends on HW_HAS_EISA
1da177e4
LT
1887 select ISA
1888 ---help---
1889 The Extended Industry Standard Architecture (EISA) bus was
1890 developed as an open alternative to the IBM MicroChannel bus.
1891
1892 The EISA bus provided some of the features of the IBM MicroChannel
1893 bus while maintaining backward compatibility with cards made for
1894 the older ISA bus. The EISA bus saw limited use between 1988 and
1895 1995 when it was made obsolete by the PCI bus.
1896
1897 Say Y here if you are building a kernel for an EISA-based machine.
1898
1899 Otherwise, say N.
1900
1901source "drivers/eisa/Kconfig"
1902
1903config TC
1904 bool "TURBOchannel support"
1905 depends on MACH_DECSTATION
1906 help
1907 TurboChannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
1908 processors. Documentation on writing device drivers for TurboChannel
1909 is available at:
1910 <http://www.cs.arizona.edu/computer.help/policy/DIGITAL_unix/AA-PS3HD-TET1_html/TITLE.html>.
1911
1912#config ACCESSBUS
1913# bool "Access.Bus support"
1914# depends on TC
1915
1916config MMU
1917 bool
1918 default y
1919
e5c6c8e4
MN
1920config I8253
1921 bool
1922
1da177e4
LT
1923source "drivers/pcmcia/Kconfig"
1924
1925source "drivers/pci/hotplug/Kconfig"
1926
1927endmenu
1928
1929menu "Executable file formats"
1930
1931source "fs/Kconfig.binfmt"
1932
1933config TRAD_SIGNALS
1934 bool
1da177e4
LT
1935
1936config BUILD_ELF64
1937 bool "Use 64-bit ELF format for building"
875d43e7 1938 depends on 64BIT
1da177e4
LT
1939 help
1940 A 64-bit kernel is usually built using the 64-bit ELF binary object
1941 format as it's one that allows arbitrary 64-bit constructs. For
1942 kernels that are loaded within the KSEG compatibility segments the
1943 32-bit ELF format can optionally be used resulting in a somewhat
1944 smaller binary, but this option is not explicitly supported by the
1945 toolchain and since binutils 2.14 it does not even work at all.
1946
1947 Say Y to use the 64-bit format or N to use the 32-bit one.
1948
1949 If unsure say Y.
1950
1951config BINFMT_IRIX
1952 bool "Include IRIX binary compatibility"
5e83d430 1953 depends on CPU_BIG_ENDIAN && 32BIT && BROKEN
1da177e4
LT
1954
1955config MIPS32_COMPAT
1956 bool "Kernel support for Linux/MIPS 32-bit binary compatibility"
875d43e7 1957 depends on 64BIT
1da177e4
LT
1958 help
1959 Select this option if you want Linux/MIPS 32-bit binary
1960 compatibility. Since all software available for Linux/MIPS is
1961 currently 32-bit you should say Y here.
1962
1963config COMPAT
1964 bool
1965 depends on MIPS32_COMPAT
1966 default y
1967
1968config MIPS32_O32
1969 bool "Kernel support for o32 binaries"
1970 depends on MIPS32_COMPAT
1971 help
1972 Select this option if you want to run o32 binaries. These are pure
1973 32-bit binaries as used by the 32-bit Linux/MIPS port. Most of
1974 existing binaries are in this format.
1975
1976 If unsure, say Y.
1977
1978config MIPS32_N32
1979 bool "Kernel support for n32 binaries"
1980 depends on MIPS32_COMPAT
1981 help
1982 Select this option if you want to run n32 binaries. These are
1983 64-bit binaries using 32-bit quantities for addressing and certain
1984 data that would normally be 64-bit. They are used in special
1985 cases.
1986
1987 If unsure, say N.
1988
1989config BINFMT_ELF32
1990 bool
1991 default y if MIPS32_O32 || MIPS32_N32
1992
127c6f66
RB
1993config SECCOMP
1994 bool "Enable seccomp to safely compute untrusted bytecode"
1995 depends on PROC_FS && BROKEN
1996 default y
1997 help
1998 This kernel feature is useful for number crunching applications
1999 that may need to compute untrusted bytecode during their
2000 execution. By using pipes or other transports made available to
2001 the process as file descriptors supporting the read/write
2002 syscalls, it's possible to isolate those applications in
2003 their own address space using seccomp. Once seccomp is
2004 enabled via /proc/<pid>/seccomp, it cannot be disabled
2005 and the task is only allowed to execute a few safe syscalls
2006 defined by each seccomp mode.
2007
2008 If unsure, say Y. Only embedded should say N here.
2009
1da177e4
LT
2010config PM
2011 bool "Power Management support (EXPERIMENTAL)"
5e83d430 2012 depends on EXPERIMENTAL && SOC_AU1X00
1da177e4 2013
952fa954
RG
2014config APM
2015 tristate "Advanced Power Management Emulation"
2016 depends on PM
2017 ---help---
2018 APM is a BIOS specification for saving power using several different
2019 techniques. This is mostly useful for battery powered systems with
2020 APM compliant BIOSes. If you say Y here, the system time will be
2021 reset after a RESUME operation, the /proc/apm device will provide
2022 battery status information, and user-space programs will receive
2023 notification of APM "events" (e.g. battery status change).
2024
2025 In order to use APM, you will need supporting software. For location
2026 and more information, read <file:Documentation/pm.txt> and the
2027 Battery Powered Linux mini-HOWTO, available from
2028 <http://www.tldp.org/docs.html#howto>.
2029
2030 This driver does not spin down disk drives (see the hdparm(8)
2031 manpage ("man 8 hdparm") for that), and it doesn't turn off
2032 VESA-compliant "green" monitors.
2033
2034 Generally, if you don't have a battery in your machine, there isn't
2035 much point in using this driver and you should say N. If you get
2036 random kernel OOPSes or reboots that don't seem to be related to
2037 anything, try disabling/enabling this option (or disabling/enabling
2038 APM in your BIOS).
2039
1da177e4
LT
2040endmenu
2041
d5950b43
SR
2042source "net/Kconfig"
2043
1da177e4
LT
2044source "drivers/Kconfig"
2045
2046source "fs/Kconfig"
2047
5e83d430
RB
2048source "arch/mips/oprofile/Kconfig"
2049
1da177e4
LT
2050source "arch/mips/Kconfig.debug"
2051
2052source "security/Kconfig"
2053
2054source "crypto/Kconfig"
2055
2056source "lib/Kconfig"