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