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