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