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