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