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