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