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