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