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