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