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