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