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