[MIPS] Fix warning of printk format in mips_srs_init()
[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 if BROKEN
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 BOOT_ELF32
1014         bool
1015
1016 config MIPS_L1_CACHE_SHIFT
1017         int
1018         default "4" if MACH_DECSTATION
1019         default "7" if SGI_IP27
1020         default "5"
1021
1022 config HAVE_STD_PC_SERIAL_PORT
1023         bool
1024
1025 config ARC_CONSOLE
1026         bool "ARC console support"
1027         depends on SGI_IP22 || SNI_RM200_PCI
1028
1029 config ARC_MEMORY
1030         bool
1031         depends on MACH_JAZZ || SNI_RM200_PCI || SGI_IP32
1032         default y
1033
1034 config ARC_PROMLIB
1035         bool
1036         depends on MACH_JAZZ || SNI_RM200_PCI || SGI_IP22 || SGI_IP32
1037         default y
1038
1039 config ARC64
1040         bool
1041
1042 config BOOT_ELF64
1043         bool
1044
1045 config TOSHIBA_BOARDS
1046         bool
1047
1048 menu "CPU selection"
1049
1050 choice
1051         prompt "CPU type"
1052         default CPU_R4X00
1053
1054 config CPU_MIPS32_R1
1055         bool "MIPS32 Release 1"
1056         depends on SYS_HAS_CPU_MIPS32_R1
1057         select CPU_HAS_LLSC
1058         select CPU_HAS_PREFETCH
1059         select CPU_SUPPORTS_32BIT_KERNEL
1060         select CPU_SUPPORTS_HIGHMEM
1061         help
1062           Choose this option to build a kernel for release 1 or later of the
1063           MIPS32 architecture.  Most modern embedded systems with a 32-bit
1064           MIPS processor are based on a MIPS32 processor.  If you know the
1065           specific type of processor in your system, choose those that one
1066           otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1067           Release 2 of the MIPS32 architecture is available since several
1068           years so chances are you even have a MIPS32 Release 2 processor
1069           in which case you should choose CPU_MIPS32_R2 instead for better
1070           performance.
1071
1072 config CPU_MIPS32_R2
1073         bool "MIPS32 Release 2"
1074         depends on SYS_HAS_CPU_MIPS32_R2
1075         select CPU_HAS_LLSC
1076         select CPU_HAS_PREFETCH
1077         select CPU_SUPPORTS_32BIT_KERNEL
1078         select CPU_SUPPORTS_HIGHMEM
1079         help
1080           Choose this option to build a kernel for release 2 or later of the
1081           MIPS32 architecture.  Most modern embedded systems with a 32-bit
1082           MIPS processor are based on a MIPS32 processor.  If you know the
1083           specific type of processor in your system, choose those that one
1084           otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1085
1086 config CPU_MIPS64_R1
1087         bool "MIPS64 Release 1"
1088         depends on SYS_HAS_CPU_MIPS64_R1
1089         select CPU_HAS_LLSC
1090         select CPU_HAS_PREFETCH
1091         select CPU_SUPPORTS_32BIT_KERNEL
1092         select CPU_SUPPORTS_64BIT_KERNEL
1093         select CPU_SUPPORTS_HIGHMEM
1094         help
1095           Choose this option to build a kernel for release 1 or later of the
1096           MIPS64 architecture.  Many modern embedded systems with a 64-bit
1097           MIPS processor are based on a MIPS64 processor.  If you know the
1098           specific type of processor in your system, choose those that one
1099           otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1100           Release 2 of the MIPS64 architecture is available since several
1101           years so chances are you even have a MIPS64 Release 2 processor
1102           in which case you should choose CPU_MIPS64_R2 instead for better
1103           performance.
1104
1105 config CPU_MIPS64_R2
1106         bool "MIPS64 Release 2"
1107         depends on SYS_HAS_CPU_MIPS64_R2
1108         select CPU_HAS_LLSC
1109         select CPU_HAS_PREFETCH
1110         select CPU_SUPPORTS_32BIT_KERNEL
1111         select CPU_SUPPORTS_64BIT_KERNEL
1112         select CPU_SUPPORTS_HIGHMEM
1113         help
1114           Choose this option to build a kernel for release 2 or later of the
1115           MIPS64 architecture.  Many modern embedded systems with a 64-bit
1116           MIPS processor are based on a MIPS64 processor.  If you know the
1117           specific type of processor in your system, choose those that one
1118           otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1119
1120 config CPU_R3000
1121         bool "R3000"
1122         depends on SYS_HAS_CPU_R3000
1123         select CPU_HAS_WB
1124         select CPU_SUPPORTS_32BIT_KERNEL
1125         select CPU_SUPPORTS_HIGHMEM
1126         help
1127           Please make sure to pick the right CPU type. Linux/MIPS is not
1128           designed to be generic, i.e. Kernels compiled for R3000 CPUs will
1129           *not* work on R4000 machines and vice versa.  However, since most
1130           of the supported machines have an R4000 (or similar) CPU, R4x00
1131           might be a safe bet.  If the resulting kernel does not work,
1132           try to recompile with R3000.
1133
1134 config CPU_TX39XX
1135         bool "R39XX"
1136         depends on SYS_HAS_CPU_TX39XX
1137         select CPU_SUPPORTS_32BIT_KERNEL
1138
1139 config CPU_VR41XX
1140         bool "R41xx"
1141         depends on SYS_HAS_CPU_VR41XX
1142         select CPU_SUPPORTS_32BIT_KERNEL
1143         select CPU_SUPPORTS_64BIT_KERNEL
1144         help
1145           The options selects support for the NEC VR4100 series of processors.
1146           Only choose this option if you have one of these processors as a
1147           kernel built with this option will not run on any other type of
1148           processor or vice versa.
1149
1150 config CPU_R4300
1151         bool "R4300"
1152         depends on SYS_HAS_CPU_R4300
1153         select CPU_HAS_LLSC
1154         select CPU_SUPPORTS_32BIT_KERNEL
1155         select CPU_SUPPORTS_64BIT_KERNEL
1156         help
1157           MIPS Technologies R4300-series processors.
1158
1159 config CPU_R4X00
1160         bool "R4x00"
1161         depends on SYS_HAS_CPU_R4X00
1162         select CPU_HAS_LLSC
1163         select CPU_SUPPORTS_32BIT_KERNEL
1164         select CPU_SUPPORTS_64BIT_KERNEL
1165         help
1166           MIPS Technologies R4000-series processors other than 4300, including
1167           the R4000, R4400, R4600, and 4700.
1168
1169 config CPU_TX49XX
1170         bool "R49XX"
1171         depends on SYS_HAS_CPU_TX49XX
1172         select CPU_HAS_LLSC
1173         select CPU_HAS_PREFETCH
1174         select CPU_SUPPORTS_32BIT_KERNEL
1175         select CPU_SUPPORTS_64BIT_KERNEL
1176
1177 config CPU_R5000
1178         bool "R5000"
1179         depends on SYS_HAS_CPU_R5000
1180         select CPU_HAS_LLSC
1181         select CPU_SUPPORTS_32BIT_KERNEL
1182         select CPU_SUPPORTS_64BIT_KERNEL
1183         help
1184           MIPS Technologies R5000-series processors other than the Nevada.
1185
1186 config CPU_R5432
1187         bool "R5432"
1188         depends on SYS_HAS_CPU_R5432
1189         select CPU_HAS_LLSC
1190         select CPU_SUPPORTS_32BIT_KERNEL
1191         select CPU_SUPPORTS_64BIT_KERNEL
1192
1193 config CPU_R6000
1194         bool "R6000"
1195         depends on EXPERIMENTAL
1196         select CPU_HAS_LLSC
1197         depends on SYS_HAS_CPU_R6000
1198         select CPU_SUPPORTS_32BIT_KERNEL
1199         help
1200           MIPS Technologies R6000 and R6000A series processors.  Note these
1201           processors are extremely rare and the support for them is incomplete.
1202
1203 config CPU_NEVADA
1204         bool "RM52xx"
1205         depends on SYS_HAS_CPU_NEVADA
1206         select CPU_HAS_LLSC
1207         select CPU_SUPPORTS_32BIT_KERNEL
1208         select CPU_SUPPORTS_64BIT_KERNEL
1209         help
1210           QED / PMC-Sierra RM52xx-series ("Nevada") processors.
1211
1212 config CPU_R8000
1213         bool "R8000"
1214         depends on EXPERIMENTAL
1215         depends on SYS_HAS_CPU_R8000
1216         select CPU_HAS_LLSC
1217         select CPU_HAS_PREFETCH
1218         select CPU_SUPPORTS_64BIT_KERNEL
1219         help
1220           MIPS Technologies R8000 processors.  Note these processors are
1221           uncommon and the support for them is incomplete.
1222
1223 config CPU_R10000
1224         bool "R10000"
1225         depends on SYS_HAS_CPU_R10000
1226         select CPU_HAS_LLSC
1227         select CPU_HAS_PREFETCH
1228         select CPU_SUPPORTS_32BIT_KERNEL
1229         select CPU_SUPPORTS_64BIT_KERNEL
1230         select CPU_SUPPORTS_HIGHMEM
1231         help
1232           MIPS Technologies R10000-series processors.
1233
1234 config CPU_RM7000
1235         bool "RM7000"
1236         depends on SYS_HAS_CPU_RM7000
1237         select CPU_HAS_LLSC
1238         select CPU_HAS_PREFETCH
1239         select CPU_SUPPORTS_32BIT_KERNEL
1240         select CPU_SUPPORTS_64BIT_KERNEL
1241         select CPU_SUPPORTS_HIGHMEM
1242
1243 config CPU_RM9000
1244         bool "RM9000"
1245         depends on SYS_HAS_CPU_RM9000
1246         select CPU_HAS_LLSC
1247         select CPU_HAS_PREFETCH
1248         select CPU_SUPPORTS_32BIT_KERNEL
1249         select CPU_SUPPORTS_64BIT_KERNEL
1250         select CPU_SUPPORTS_HIGHMEM
1251
1252 config CPU_SB1
1253         bool "SB1"
1254         depends on SYS_HAS_CPU_SB1
1255         select CPU_HAS_LLSC
1256         select CPU_SUPPORTS_32BIT_KERNEL
1257         select CPU_SUPPORTS_64BIT_KERNEL
1258         select CPU_SUPPORTS_HIGHMEM
1259
1260 endchoice
1261
1262 config SYS_HAS_CPU_MIPS32_R1
1263         bool
1264
1265 config SYS_HAS_CPU_MIPS32_R2
1266         bool
1267
1268 config SYS_HAS_CPU_MIPS64_R1
1269         bool
1270
1271 config SYS_HAS_CPU_MIPS64_R2
1272         bool
1273
1274 config SYS_HAS_CPU_R3000
1275         bool
1276
1277 config SYS_HAS_CPU_TX39XX
1278         bool
1279
1280 config SYS_HAS_CPU_VR41XX
1281         bool
1282
1283 config SYS_HAS_CPU_R4300
1284         bool
1285
1286 config SYS_HAS_CPU_R4X00
1287         bool
1288
1289 config SYS_HAS_CPU_TX49XX
1290         bool
1291
1292 config SYS_HAS_CPU_R5000
1293         bool
1294
1295 config SYS_HAS_CPU_R5432
1296         bool
1297
1298 config SYS_HAS_CPU_R6000
1299         bool
1300
1301 config SYS_HAS_CPU_NEVADA
1302         bool
1303
1304 config SYS_HAS_CPU_R8000
1305         bool
1306
1307 config SYS_HAS_CPU_R10000
1308         bool
1309
1310 config SYS_HAS_CPU_RM7000
1311         bool
1312
1313 config SYS_HAS_CPU_RM9000
1314         bool
1315
1316 config SYS_HAS_CPU_SB1
1317         bool
1318
1319 endmenu
1320
1321 #
1322 # These two indicate any level of the MIPS32 and MIPS64 architecture
1323 #
1324 config CPU_MIPS32
1325         bool
1326         default y if CPU_MIPS32_R1 || CPU_MIPS32_R2
1327
1328 config CPU_MIPS64
1329         bool
1330         default y if CPU_MIPS64_R1 || CPU_MIPS64_R2
1331
1332 #
1333 # These two indicate the revision of the architecture, either Release 1 or Release 2
1334 #
1335 config CPU_MIPSR1
1336         bool
1337         default y if CPU_MIPS32_R1 || CPU_MIPS64_R1
1338
1339 config CPU_MIPSR2
1340         bool
1341         default y if CPU_MIPS32_R2 || CPU_MIPS64_R2
1342
1343 config SYS_SUPPORTS_32BIT_KERNEL
1344         bool
1345 config SYS_SUPPORTS_64BIT_KERNEL
1346         bool
1347 config CPU_SUPPORTS_32BIT_KERNEL
1348         bool
1349 config CPU_SUPPORTS_64BIT_KERNEL
1350         bool
1351
1352 menu "Kernel type"
1353
1354 choice
1355
1356         prompt "Kernel code model"
1357         help
1358           You should only select this option if you have a workload that
1359           actually benefits from 64-bit processing or if your machine has
1360           large memory.  You will only be presented a single option in this
1361           menu if your system does not support both 32-bit and 64-bit kernels.
1362
1363 config 32BIT
1364         bool "32-bit kernel"
1365         depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL
1366         select TRAD_SIGNALS
1367         help
1368           Select this option if you want to build a 32-bit kernel.
1369 config 64BIT
1370         bool "64-bit kernel"
1371         depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL
1372         help
1373           Select this option if you want to build a 64-bit kernel.
1374
1375 endchoice
1376
1377 choice
1378         prompt "Kernel page size"
1379         default PAGE_SIZE_4KB
1380
1381 config PAGE_SIZE_4KB
1382         bool "4kB"
1383         help
1384          This option select the standard 4kB Linux page size.  On some
1385          R3000-family processors this is the only available page size.  Using
1386          4kB page size will minimize memory consumption and is therefore
1387          recommended for low memory systems.
1388
1389 config PAGE_SIZE_8KB
1390         bool "8kB"
1391         depends on EXPERIMENTAL && CPU_R8000
1392         help
1393           Using 8kB page size will result in higher performance kernel at
1394           the price of higher memory consumption.  This option is available
1395           only on the R8000 processor.  Not that at the time of this writing
1396           this option is still high experimental; there are also issues with
1397           compatibility of user applications.
1398
1399 config PAGE_SIZE_16KB
1400         bool "16kB"
1401         depends on !CPU_R3000 && !CPU_TX39XX
1402         help
1403           Using 16kB page size will result in higher performance kernel at
1404           the price of higher memory consumption.  This option is available on
1405           all non-R3000 family processors.  Note that you will need a suitable
1406           Linux distribution to support this.
1407
1408 config PAGE_SIZE_64KB
1409         bool "64kB"
1410         depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX
1411         help
1412           Using 64kB page size will result in higher performance kernel at
1413           the price of higher memory consumption.  This option is available on
1414           all non-R3000 family processor.  Not that at the time of this
1415           writing this option is still high experimental.
1416
1417 endchoice
1418
1419 config BOARD_SCACHE
1420         bool
1421
1422 config IP22_CPU_SCACHE
1423         bool
1424         select BOARD_SCACHE
1425
1426 #
1427 # Support for a MIPS32 / MIPS64 style S-caches
1428 #
1429 config MIPS_CPU_SCACHE
1430         bool
1431         select BOARD_SCACHE
1432
1433 config R5000_CPU_SCACHE
1434         bool
1435         select BOARD_SCACHE
1436
1437 config RM7000_CPU_SCACHE
1438         bool
1439         select BOARD_SCACHE
1440
1441 config SIBYTE_DMA_PAGEOPS
1442         bool "Use DMA to clear/copy pages"
1443         depends on CPU_SB1
1444         help
1445           Instead of using the CPU to zero and copy pages, use a Data Mover
1446           channel.  These DMA channels are otherwise unused by the standard
1447           SiByte Linux port.  Seems to give a small performance benefit.
1448
1449 config CPU_HAS_PREFETCH
1450         bool
1451
1452 choice
1453         prompt "MIPS MT options"
1454
1455 config MIPS_MT_DISABLED
1456         bool "Disable multithreading support."
1457         help
1458           Use this option if your workload can't take advantage of
1459           MIPS hardware multithreading support.  On systems that don't have
1460           the option of an MT-enabled processor this option will be the only
1461           option in this menu.
1462
1463 config MIPS_MT_SMP
1464         bool "Use 1 TC on each available VPE for SMP"
1465         depends on SYS_SUPPORTS_MULTITHREADING
1466         select CPU_MIPSR2_IRQ_VI
1467         select CPU_MIPSR2_SRS
1468         select MIPS_MT
1469         select SMP
1470         select SYS_SUPPORTS_SMP
1471         help
1472           This is a kernel model which is also known a VSMP or lately
1473           has been marketesed into SMVP.
1474
1475 config MIPS_MT_SMTC
1476         bool "SMTC: Use all TCs on all VPEs for SMP"
1477         depends on CPU_MIPS32_R2
1478         #depends on CPU_MIPS64_R2               # once there is hardware ...
1479         depends on SYS_SUPPORTS_MULTITHREADING
1480         select CPU_MIPSR2_IRQ_VI
1481         select CPU_MIPSR2_SRS
1482         select MIPS_MT
1483         select SMP
1484         select SYS_SUPPORTS_SMP
1485         help
1486           This is a kernel model which is known a SMTC or lately has been
1487           marketesed into SMVP.
1488
1489 config MIPS_VPE_LOADER
1490         bool "VPE loader support."
1491         depends on SYS_SUPPORTS_MULTITHREADING
1492         select MIPS_MT
1493         help
1494           Includes a loader for loading an elf relocatable object
1495           onto another VPE and running it.
1496
1497 endchoice
1498
1499 config MIPS_MT
1500         bool
1501
1502 config SYS_SUPPORTS_MULTITHREADING
1503         bool
1504
1505 config MIPS_MT_FPAFF
1506         bool "Dynamic FPU affinity for FP-intensive threads"
1507         depends on MIPS_MT
1508         default y
1509
1510 config MIPS_VPE_LOADER_TOM
1511         bool "Load VPE program into memory hidden from linux"
1512         depends on MIPS_VPE_LOADER
1513         default y
1514         help
1515           The loader can use memory that is present but has been hidden from
1516           Linux using the kernel command line option "mem=xxMB". It's up to
1517           you to ensure the amount you put in the option and the space your
1518           program requires is less or equal to the amount physically present.
1519
1520 # this should possibly be in drivers/char, but it is rather cpu related. Hmmm
1521 config MIPS_VPE_APSP_API
1522         bool "Enable support for AP/SP API (RTLX)"
1523         depends on MIPS_VPE_LOADER
1524         help
1525
1526 config MIPS_APSP_KSPD
1527         bool "Enable KSPD"
1528         depends on MIPS_VPE_APSP_API
1529         default y
1530         help
1531           KSPD is a kernel daemon that accepts syscall requests from the SP
1532           side, actions them and returns the results. It also handles the
1533           "exit" syscall notifying other kernel modules the SP program is
1534           exiting.  You probably want to say yes here.
1535
1536 config SB1_PASS_1_WORKAROUNDS
1537         bool
1538         depends on CPU_SB1_PASS_1
1539         default y
1540
1541 config SB1_PASS_2_WORKAROUNDS
1542         bool
1543         depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2)
1544         default y
1545
1546 config SB1_PASS_2_1_WORKAROUNDS
1547         bool
1548         depends on CPU_SB1 && CPU_SB1_PASS_2
1549         default y
1550
1551 config 64BIT_PHYS_ADDR
1552         bool "Support for 64-bit physical address space"
1553         depends on (CPU_R4X00 || CPU_R5000 || CPU_RM7000 || CPU_RM9000 || CPU_R10000 || CPU_SB1 || CPU_MIPS32 || CPU_MIPS64) && 32BIT
1554
1555 config CPU_HAS_LLSC
1556         bool
1557
1558 config CPU_HAS_WB
1559         bool
1560
1561 #
1562 # Vectored interrupt mode is an R2 feature
1563 #
1564 config CPU_MIPSR2_IRQ_VI
1565         bool
1566
1567 #
1568 # Extended interrupt mode is an R2 feature
1569 #
1570 config CPU_MIPSR2_IRQ_EI
1571         bool
1572
1573 #
1574 # Shadow registers are an R2 feature
1575 #
1576 config CPU_MIPSR2_SRS
1577         bool
1578
1579 config CPU_HAS_SYNC
1580         bool
1581         depends on !CPU_R3000
1582         default y
1583
1584 #
1585 # Use the generic interrupt handling code in kernel/irq/:
1586 #
1587 config GENERIC_HARDIRQS
1588         bool
1589         default y
1590
1591 config GENERIC_IRQ_PROBE
1592         bool
1593         default y
1594
1595 config IRQ_PER_CPU
1596         bool
1597
1598 #
1599 # - Highmem only makes sense for the 32-bit kernel.
1600 # - The current highmem code will only work properly on physically indexed
1601 #   caches such as R3000, SB1, R7000 or those that look like they're virtually
1602 #   indexed such as R4000/R4400 SC and MC versions or R10000.  So for the
1603 #   moment we protect the user and offer the highmem option only on machines
1604 #   where it's known to be safe.  This will not offer highmem on a few systems
1605 #   such as MIPS32 and MIPS64 CPUs which may have virtual and physically
1606 #   indexed CPUs but we're playing safe.
1607 # - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we
1608 #   know they might have memory configurations that could make use of highmem
1609 #   support.
1610 #
1611 config HIGHMEM
1612         bool "High Memory Support"
1613         depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM
1614
1615 config CPU_SUPPORTS_HIGHMEM
1616         bool
1617
1618 config SYS_SUPPORTS_HIGHMEM
1619         bool
1620
1621 config ARCH_FLATMEM_ENABLE
1622         def_bool y
1623         depends on !NUMA
1624
1625 config ARCH_DISCONTIGMEM_ENABLE
1626         bool
1627         default y if SGI_IP27
1628         help
1629           Say Y to upport efficient handling of discontiguous physical memory,
1630           for architectures which are either NUMA (Non-Uniform Memory Access)
1631           or have huge holes in the physical address space for other reasons.
1632           See <file:Documentation/vm/numa> for more.
1633
1634 config ARCH_SPARSEMEM_ENABLE
1635         bool
1636
1637 config ARCH_SPARSEMEM_ENABLE
1638         bool
1639         select SPARSEMEM_STATIC
1640
1641 config NUMA
1642         bool "NUMA Support"
1643         depends on SYS_SUPPORTS_NUMA
1644         help
1645           Say Y to compile the kernel to support NUMA (Non-Uniform Memory
1646           Access).  This option improves performance on systems with more
1647           than two nodes; on two node systems it is generally better to
1648           leave it disabled; on single node systems disable this option
1649           disabled.
1650
1651 config SYS_SUPPORTS_NUMA
1652         bool
1653
1654 config NODES_SHIFT
1655         int
1656         default "6"
1657         depends on NEED_MULTIPLE_NODES
1658
1659 source "mm/Kconfig"
1660
1661 config SMP
1662         bool "Multi-Processing support"
1663         depends on SYS_SUPPORTS_SMP
1664         select IRQ_PER_CPU
1665         help
1666           This enables support for systems with more than one CPU. If you have
1667           a system with only one CPU, like most personal computers, say N. If
1668           you have a system with more than one CPU, say Y.
1669
1670           If you say N here, the kernel will run on single and multiprocessor
1671           machines, but will use only one CPU of a multiprocessor machine. If
1672           you say Y here, the kernel will run on many, but not all,
1673           singleprocessor machines. On a singleprocessor machine, the kernel
1674           will run faster if you say N here.
1675
1676           People using multiprocessor machines who say Y here should also say
1677           Y to "Enhanced Real Time Clock Support", below.
1678
1679           See also the <file:Documentation/smp.txt> and the SMP-HOWTO
1680           available at <http://www.tldp.org/docs.html#howto>.
1681
1682           If you don't know what to do here, say N.
1683
1684 config SYS_SUPPORTS_SMP
1685         bool
1686
1687 config NR_CPUS
1688         int "Maximum number of CPUs (2-64)"
1689         range 2 64
1690         depends on SMP
1691         default "64" if SGI_IP27
1692         default "2"
1693         default "8" if MIPS_MT_SMTC
1694         help
1695           This allows you to specify the maximum number of CPUs which this
1696           kernel will support.  The maximum supported value is 32 for 32-bit
1697           kernel and 64 for 64-bit kernels; the minimum value which makes
1698           sense is 2.
1699
1700           This is purely to save memory - each supported CPU adds
1701           approximately eight kilobytes to the kernel image.
1702
1703 #
1704 # Timer Interrupt Frequency Configuration
1705 #
1706
1707 choice
1708         prompt "Timer frequency"
1709         default HZ_250
1710         help
1711          Allows the configuration of the timer frequency.
1712
1713         config HZ_48
1714                 bool "48 HZ" if SYS_SUPPORTS_48HZ
1715
1716         config HZ_100
1717                 bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ
1718
1719         config HZ_128
1720                 bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ
1721
1722         config HZ_250
1723                 bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ
1724
1725         config HZ_256
1726                 bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ
1727
1728         config HZ_1000
1729                 bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ
1730
1731         config HZ_1024
1732                 bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ
1733
1734 endchoice
1735
1736 config SYS_SUPPORTS_48HZ
1737         bool
1738
1739 config SYS_SUPPORTS_100HZ
1740         bool
1741
1742 config SYS_SUPPORTS_128HZ
1743         bool
1744
1745 config SYS_SUPPORTS_250HZ
1746         bool
1747
1748 config SYS_SUPPORTS_256HZ
1749         bool
1750
1751 config SYS_SUPPORTS_1000HZ
1752         bool
1753
1754 config SYS_SUPPORTS_1024HZ
1755         bool
1756
1757 config SYS_SUPPORTS_ARBIT_HZ
1758         bool
1759         default y if !SYS_SUPPORTS_48HZ && !SYS_SUPPORTS_100HZ && \
1760                      !SYS_SUPPORTS_128HZ && !SYS_SUPPORTS_250HZ && \
1761                      !SYS_SUPPORTS_256HZ && !SYS_SUPPORTS_1000HZ && \
1762                      !SYS_SUPPORTS_1024HZ
1763
1764 config HZ
1765         int
1766         default 48 if HZ_48
1767         default 100 if HZ_100
1768         default 128 if HZ_128
1769         default 250 if HZ_250
1770         default 256 if HZ_256
1771         default 1000 if HZ_1000
1772         default 1024 if HZ_1024
1773
1774 source "kernel/Kconfig.preempt"
1775
1776 config RTC_DS1742
1777         bool "DS1742 BRAM/RTC support"
1778         depends on TOSHIBA_JMR3927 || TOSHIBA_RBTX4927
1779
1780 config MIPS_INSANE_LARGE
1781         bool "Support for large 64-bit configurations"
1782         depends on CPU_R10000 && 64BIT
1783         help
1784           MIPS R10000 does support a 44 bit / 16TB address space as opposed to
1785           previous 64-bit processors which only supported 40 bit / 1TB. If you
1786           need processes of more than 1TB virtual address space, say Y here.
1787           This will result in additional memory usage, so it is not
1788           recommended for normal users.
1789
1790 endmenu
1791
1792 config RWSEM_GENERIC_SPINLOCK
1793         bool
1794         default y
1795
1796 config LOCKDEP_SUPPORT
1797         bool
1798         default y
1799
1800 config STACKTRACE_SUPPORT
1801         bool
1802         default y
1803
1804 source "init/Kconfig"
1805
1806 menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
1807
1808 config HW_HAS_EISA
1809         bool
1810 config HW_HAS_PCI
1811         bool
1812
1813 config PCI
1814         bool "Support for PCI controller"
1815         depends on HW_HAS_PCI
1816         help
1817           Find out whether you have a PCI motherboard. PCI is the name of a
1818           bus system, i.e. the way the CPU talks to the other stuff inside
1819           your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
1820           say Y, otherwise N.
1821
1822           The PCI-HOWTO, available from
1823           <http://www.tldp.org/docs.html#howto>, contains valuable
1824           information about which PCI hardware does work under Linux and which
1825           doesn't.
1826
1827 config PCI_DOMAINS
1828         bool
1829         depends on PCI
1830
1831 source "drivers/pci/Kconfig"
1832
1833 #
1834 # ISA support is now enabled via select.  Too many systems still have the one
1835 # or other ISA chip on the board that users don't know about so don't expect
1836 # users to choose the right thing ...
1837 #
1838 config ISA
1839         bool
1840
1841 config NO_ISA
1842         bool
1843
1844 config EISA
1845         bool "EISA support"
1846         depends on HW_HAS_EISA
1847         select ISA
1848         ---help---
1849           The Extended Industry Standard Architecture (EISA) bus was
1850           developed as an open alternative to the IBM MicroChannel bus.
1851
1852           The EISA bus provided some of the features of the IBM MicroChannel
1853           bus while maintaining backward compatibility with cards made for
1854           the older ISA bus.  The EISA bus saw limited use between 1988 and
1855           1995 when it was made obsolete by the PCI bus.
1856
1857           Say Y here if you are building a kernel for an EISA-based machine.
1858
1859           Otherwise, say N.
1860
1861 source "drivers/eisa/Kconfig"
1862
1863 config TC
1864         bool "TURBOchannel support"
1865         depends on MACH_DECSTATION
1866         help
1867           TurboChannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
1868           processors.  Documentation on writing device drivers for TurboChannel
1869           is available at:
1870           <http://www.cs.arizona.edu/computer.help/policy/DIGITAL_unix/AA-PS3HD-TET1_html/TITLE.html>.
1871
1872 #config ACCESSBUS
1873 #       bool "Access.Bus support"
1874 #       depends on TC
1875
1876 config MMU
1877         bool
1878         default y
1879
1880 config I8253
1881         bool
1882
1883 source "drivers/pcmcia/Kconfig"
1884
1885 source "drivers/pci/hotplug/Kconfig"
1886
1887 endmenu
1888
1889 menu "Executable file formats"
1890
1891 source "fs/Kconfig.binfmt"
1892
1893 config TRAD_SIGNALS
1894         bool
1895
1896 config BUILD_ELF64
1897         bool "Use 64-bit ELF format for building"
1898         depends on 64BIT
1899         help
1900           A 64-bit kernel is usually built using the 64-bit ELF binary object
1901           format as it's one that allows arbitrary 64-bit constructs.  For
1902           kernels that are loaded within the KSEG compatibility segments the
1903           32-bit ELF format can optionally be used resulting in a somewhat
1904           smaller binary, but this option is not explicitly supported by the
1905           toolchain and since binutils 2.14 it does not even work at all.
1906
1907           Say Y to use the 64-bit format or N to use the 32-bit one.
1908
1909           If unsure say Y.
1910
1911 config BINFMT_IRIX
1912         bool "Include IRIX binary compatibility"
1913         depends on CPU_BIG_ENDIAN && 32BIT && BROKEN
1914
1915 config MIPS32_COMPAT
1916         bool "Kernel support for Linux/MIPS 32-bit binary compatibility"
1917         depends on 64BIT
1918         help
1919           Select this option if you want Linux/MIPS 32-bit binary
1920           compatibility. Since all software available for Linux/MIPS is
1921           currently 32-bit you should say Y here.
1922
1923 config COMPAT
1924         bool
1925         depends on MIPS32_COMPAT
1926         default y
1927
1928 config MIPS32_O32
1929         bool "Kernel support for o32 binaries"
1930         depends on MIPS32_COMPAT
1931         help
1932           Select this option if you want to run o32 binaries.  These are pure
1933           32-bit binaries as used by the 32-bit Linux/MIPS port.  Most of
1934           existing binaries are in this format.
1935
1936           If unsure, say Y.
1937
1938 config MIPS32_N32
1939         bool "Kernel support for n32 binaries"
1940         depends on MIPS32_COMPAT
1941         help
1942           Select this option if you want to run n32 binaries.  These are
1943           64-bit binaries using 32-bit quantities for addressing and certain
1944           data that would normally be 64-bit.  They are used in special
1945           cases.
1946
1947           If unsure, say N.
1948
1949 config BINFMT_ELF32
1950         bool
1951         default y if MIPS32_O32 || MIPS32_N32
1952
1953 config SECCOMP
1954         bool "Enable seccomp to safely compute untrusted bytecode"
1955         depends on PROC_FS && BROKEN
1956         default y
1957         help
1958           This kernel feature is useful for number crunching applications
1959           that may need to compute untrusted bytecode during their
1960           execution. By using pipes or other transports made available to
1961           the process as file descriptors supporting the read/write
1962           syscalls, it's possible to isolate those applications in
1963           their own address space using seccomp. Once seccomp is
1964           enabled via /proc/<pid>/seccomp, it cannot be disabled
1965           and the task is only allowed to execute a few safe syscalls
1966           defined by each seccomp mode.
1967
1968           If unsure, say Y. Only embedded should say N here.
1969
1970 config PM
1971         bool "Power Management support (EXPERIMENTAL)"
1972         depends on EXPERIMENTAL && SOC_AU1X00
1973
1974 config APM
1975         tristate "Advanced Power Management Emulation"
1976         depends on PM
1977         ---help---
1978           APM is a BIOS specification for saving power using several different
1979           techniques. This is mostly useful for battery powered systems with
1980           APM compliant BIOSes. If you say Y here, the system time will be
1981           reset after a RESUME operation, the /proc/apm device will provide
1982           battery status information, and user-space programs will receive
1983           notification of APM "events" (e.g. battery status change).
1984
1985           In order to use APM, you will need supporting software. For location
1986           and more information, read <file:Documentation/pm.txt> and the
1987           Battery Powered Linux mini-HOWTO, available from
1988           <http://www.tldp.org/docs.html#howto>.
1989
1990           This driver does not spin down disk drives (see the hdparm(8)
1991           manpage ("man 8 hdparm") for that), and it doesn't turn off
1992           VESA-compliant "green" monitors.
1993
1994           Generally, if you don't have a battery in your machine, there isn't
1995           much point in using this driver and you should say N. If you get
1996           random kernel OOPSes or reboots that don't seem to be related to
1997           anything, try disabling/enabling this option (or disabling/enabling
1998           APM in your BIOS).
1999
2000 endmenu
2001
2002 source "net/Kconfig"
2003
2004 source "drivers/Kconfig"
2005
2006 source "fs/Kconfig"
2007
2008 source "arch/mips/oprofile/Kconfig"
2009
2010 source "arch/mips/Kconfig.debug"
2011
2012 source "security/Kconfig"
2013
2014 source "crypto/Kconfig"
2015
2016 source "lib/Kconfig"