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