[MIPS] Fast path for rdhwr emulation for TLS
[linux-2.6] / arch / mips / Kconfig
1 config MIPS
2         bool
3         default y
4         # Horrible source of confusion.  Die, die, die ...
5         select EMBEDDED
6
7 mainmenu "Linux/MIPS Kernel Configuration"
8
9 menu "Machine selection"
10
11 choice
12         prompt "System type"
13         default SGI_IP22
14
15 config MIPS_MTX1
16         bool "4G Systems MTX-1 board"
17         select DMA_NONCOHERENT
18         select HW_HAS_PCI
19         select SOC_AU1500
20         select SYS_HAS_CPU_MIPS32_R1
21         select SYS_SUPPORTS_LITTLE_ENDIAN
22
23 config MIPS_BOSPORUS
24         bool "AMD Alchemy Bosporus board"
25         select SOC_AU1500
26         select DMA_NONCOHERENT
27         select SYS_HAS_CPU_MIPS32_R1
28         select SYS_SUPPORTS_LITTLE_ENDIAN
29
30 config MIPS_PB1000
31         bool "AMD Alchemy PB1000 board"
32         select SOC_AU1000
33         select DMA_NONCOHERENT
34         select HW_HAS_PCI
35         select SWAP_IO_SPACE
36         select SYS_HAS_CPU_MIPS32_R1
37         select SYS_SUPPORTS_LITTLE_ENDIAN
38
39 config MIPS_PB1100
40         bool "AMD Alchemy PB1100 board"
41         select SOC_AU1100
42         select DMA_NONCOHERENT
43         select HW_HAS_PCI
44         select SWAP_IO_SPACE
45         select SYS_HAS_CPU_MIPS32_R1
46         select SYS_SUPPORTS_LITTLE_ENDIAN
47
48 config MIPS_PB1500
49         bool "AMD Alchemy PB1500 board"
50         select SOC_AU1500
51         select DMA_NONCOHERENT
52         select HW_HAS_PCI
53         select SYS_HAS_CPU_MIPS32_R1
54         select SYS_SUPPORTS_LITTLE_ENDIAN
55
56 config MIPS_PB1550
57         bool "AMD Alchemy PB1550 board"
58         select SOC_AU1550
59         select DMA_NONCOHERENT
60         select HW_HAS_PCI
61         select MIPS_DISABLE_OBSOLETE_IDE
62         select SYS_HAS_CPU_MIPS32_R1
63         select SYS_SUPPORTS_LITTLE_ENDIAN
64
65 config MIPS_PB1200
66         bool "AMD Alchemy PB1200 board"
67         select SOC_AU1200
68         select DMA_NONCOHERENT
69         select MIPS_DISABLE_OBSOLETE_IDE
70         select SYS_HAS_CPU_MIPS32_R1
71         select SYS_SUPPORTS_LITTLE_ENDIAN
72
73 config MIPS_DB1000
74         bool "AMD Alchemy DB1000 board"
75         select SOC_AU1000
76         select DMA_NONCOHERENT
77         select HW_HAS_PCI
78         select SYS_HAS_CPU_MIPS32_R1
79         select SYS_SUPPORTS_LITTLE_ENDIAN
80
81 config MIPS_DB1100
82         bool "AMD Alchemy DB1100 board"
83         select SOC_AU1100
84         select DMA_NONCOHERENT
85         select SYS_HAS_CPU_MIPS32_R1
86         select SYS_SUPPORTS_LITTLE_ENDIAN
87
88 config MIPS_DB1500
89         bool "AMD Alchemy DB1500 board"
90         select SOC_AU1500
91         select DMA_NONCOHERENT
92         select HW_HAS_PCI
93         select MIPS_DISABLE_OBSOLETE_IDE
94         select SYS_HAS_CPU_MIPS32_R1
95         select SYS_SUPPORTS_BIG_ENDIAN
96         select SYS_SUPPORTS_LITTLE_ENDIAN
97
98 config MIPS_DB1550
99         bool "AMD Alchemy DB1550 board"
100         select SOC_AU1550
101         select HW_HAS_PCI
102         select DMA_NONCOHERENT
103         select MIPS_DISABLE_OBSOLETE_IDE
104         select SYS_HAS_CPU_MIPS32_R1
105         select SYS_SUPPORTS_LITTLE_ENDIAN
106
107 config MIPS_DB1200
108         bool "AMD Alchemy DB1200 board"
109         select SOC_AU1200
110         select DMA_COHERENT
111         select MIPS_DISABLE_OBSOLETE_IDE
112         select SYS_HAS_CPU_MIPS32_R1
113         select SYS_SUPPORTS_LITTLE_ENDIAN
114
115 config MIPS_MIRAGE
116         bool "AMD Alchemy Mirage board"
117         select DMA_NONCOHERENT
118         select SOC_AU1500
119         select SYS_HAS_CPU_MIPS32_R1
120         select SYS_SUPPORTS_LITTLE_ENDIAN
121
122 config BASLER_EXCITE
123         bool "Basler eXcite smart camera support"
124         select DMA_COHERENT
125         select HW_HAS_PCI
126         select IRQ_CPU
127         select IRQ_CPU_RM7K
128         select IRQ_CPU_RM9K
129         select MIPS_RM9122
130         select SYS_HAS_CPU_RM9000
131         select SYS_SUPPORTS_32BIT_KERNEL
132         select SYS_SUPPORTS_64BIT_KERNEL
133         select SYS_SUPPORTS_BIG_ENDIAN
134         help
135           The eXcite is a smart camera platform manufactured by
136           Basler Vision Technologies AG
137
138 config BASLER_EXCITE_PROTOTYPE
139         bool "Support for pre-release units"
140         depends on BASLER_EXCITE
141         default n
142         help
143           Pre-series (prototype) units are different from later ones in
144           some ways. Select this option if you have one of these. Please
145           note that a kernel built with this option selected will not be
146           able to run on normal units.
147
148 config MIPS_COBALT
149         bool "Cobalt Server"
150         select DMA_NONCOHERENT
151         select HW_HAS_PCI
152         select I8259
153         select IRQ_CPU
154         select MIPS_GT64111
155         select SYS_HAS_CPU_NEVADA
156         select SYS_SUPPORTS_32BIT_KERNEL
157         select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
158         select SYS_SUPPORTS_LITTLE_ENDIAN
159
160 config MACH_DECSTATION
161         bool "DECstations"
162         select BOOT_ELF32
163         select DMA_NONCOHERENT
164         select EARLY_PRINTK
165         select IRQ_CPU
166         select SYS_HAS_CPU_R3000
167         select SYS_HAS_CPU_R4X00
168         select SYS_SUPPORTS_32BIT_KERNEL
169         select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
170         select SYS_SUPPORTS_LITTLE_ENDIAN
171         select SYS_SUPPORTS_128HZ
172         select SYS_SUPPORTS_256HZ
173         select SYS_SUPPORTS_1024HZ
174         help
175           This enables support for DEC's MIPS based workstations.  For details
176           see the Linux/MIPS FAQ on <http://www.linux-mips.org/> and the
177           DECstation porting pages on <http://decstation.unix-ag.org/>.
178
179           If you have one of the following DECstation Models you definitely
180           want to choose R4xx0 for the CPU Type:
181
182                 DECstation 5000/50
183                 DECstation 5000/150
184                 DECstation 5000/260
185                 DECsystem 5900/260
186
187           otherwise choose R3000.
188
189 config MIPS_EV64120
190         bool "Galileo EV64120 Evaluation board (EXPERIMENTAL)"
191         depends on EXPERIMENTAL
192         select DMA_NONCOHERENT
193         select HW_HAS_PCI
194         select MIPS_GT64120
195         select SYS_HAS_CPU_R5000
196         select SYS_SUPPORTS_32BIT_KERNEL
197         select SYS_SUPPORTS_64BIT_KERNEL
198         select SYS_SUPPORTS_BIG_ENDIAN
199         help
200           This is an evaluation board based on the Galileo GT-64120
201           single-chip system controller that contains a MIPS R5000 compatible
202           core running at 75/100MHz.  Their website is located at
203           <http://www.marvell.com/>.  Say Y here if you wish to build a
204           kernel for this platform.
205
206 config MACH_JAZZ
207         bool "Jazz family of machines"
208         select ARC
209         select ARC32
210         select ARCH_MAY_HAVE_PC_FDC
211         select GENERIC_ISA_DMA
212         select I8253
213         select I8259
214         select ISA
215         select SYS_HAS_CPU_R4X00
216         select SYS_SUPPORTS_32BIT_KERNEL
217         select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
218         select SYS_SUPPORTS_100HZ
219         help
220          This a family of machines based on the MIPS R4030 chipset which was
221          used by several vendors to build RISC/os and Windows NT workstations.
222          Members include the Acer PICA, MIPS Magnum 4000, MIPS Millenium and
223          Olivetti M700-10 workstations.
224
225 config LASAT
226         bool "LASAT Networks platforms"
227         select DMA_NONCOHERENT
228         select HW_HAS_PCI
229         select MIPS_GT64120
230         select MIPS_NILE4
231         select R5000_CPU_SCACHE
232         select SYS_HAS_CPU_R5000
233         select SYS_SUPPORTS_32BIT_KERNEL
234         select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
235         select SYS_SUPPORTS_LITTLE_ENDIAN
236
237 config MIPS_ATLAS
238         bool "MIPS Atlas board"
239         select BOOT_ELF32
240         select DMA_NONCOHERENT
241         select IRQ_CPU
242         select HW_HAS_PCI
243         select MIPS_BOARDS_GEN
244         select MIPS_BONITO64
245         select MIPS_GT64120
246         select MIPS_MSC
247         select RM7000_CPU_SCACHE
248         select SWAP_IO_SPACE
249         select SYS_HAS_CPU_MIPS32_R1
250         select SYS_HAS_CPU_MIPS32_R2
251         select SYS_HAS_CPU_MIPS64_R1
252         select SYS_HAS_CPU_NEVADA
253         select SYS_HAS_CPU_RM7000
254         select SYS_SUPPORTS_32BIT_KERNEL
255         select SYS_SUPPORTS_64BIT_KERNEL
256         select SYS_SUPPORTS_BIG_ENDIAN
257         select SYS_SUPPORTS_LITTLE_ENDIAN
258         select SYS_SUPPORTS_MULTITHREADING if EXPERIMENTAL
259         help
260           This enables support for the MIPS Technologies Atlas evaluation
261           board.
262
263 config MIPS_MALTA
264         bool "MIPS Malta board"
265         select ARCH_MAY_HAVE_PC_FDC
266         select BOOT_ELF32
267         select HAVE_STD_PC_SERIAL_PORT
268         select DMA_NONCOHERENT
269         select IRQ_CPU
270         select GENERIC_ISA_DMA
271         select HW_HAS_PCI
272         select I8259
273         select MIPS_BOARDS_GEN
274         select MIPS_BONITO64
275         select MIPS_CPU_SCACHE
276         select MIPS_GT64120
277         select MIPS_MSC
278         select SWAP_IO_SPACE
279         select SYS_HAS_CPU_MIPS32_R1
280         select SYS_HAS_CPU_MIPS32_R2
281         select SYS_HAS_CPU_MIPS64_R1
282         select SYS_HAS_CPU_NEVADA
283         select SYS_HAS_CPU_RM7000
284         select SYS_SUPPORTS_32BIT_KERNEL
285         select SYS_SUPPORTS_64BIT_KERNEL
286         select SYS_SUPPORTS_BIG_ENDIAN
287         select SYS_SUPPORTS_LITTLE_ENDIAN
288         select SYS_SUPPORTS_MULTITHREADING
289         help
290           This enables support for the MIPS Technologies Malta evaluation
291           board.
292
293 config MIPS_SEAD
294         bool "MIPS SEAD board (EXPERIMENTAL)"
295         depends on EXPERIMENTAL
296         select IRQ_CPU
297         select DMA_NONCOHERENT
298         select MIPS_BOARDS_GEN
299         select SYS_HAS_CPU_MIPS32_R1
300         select SYS_HAS_CPU_MIPS32_R2
301         select SYS_HAS_CPU_MIPS64_R1
302         select SYS_SUPPORTS_32BIT_KERNEL
303         select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
304         select SYS_SUPPORTS_BIG_ENDIAN
305         select SYS_SUPPORTS_LITTLE_ENDIAN
306         help
307           This enables support for the MIPS Technologies SEAD evaluation
308           board.
309
310 config WR_PPMC
311         bool "Wind River PPMC board"
312         select IRQ_CPU
313         select BOOT_ELF32
314         select DMA_NONCOHERENT
315         select HW_HAS_PCI
316         select MIPS_GT64120
317         select SWAP_IO_SPACE
318         select SYS_HAS_CPU_MIPS32_R1
319         select SYS_HAS_CPU_MIPS32_R2
320         select SYS_HAS_CPU_MIPS64_R1
321         select SYS_HAS_CPU_NEVADA
322         select SYS_HAS_CPU_RM7000
323         select SYS_SUPPORTS_32BIT_KERNEL
324         select SYS_SUPPORTS_64BIT_KERNEL
325         select SYS_SUPPORTS_BIG_ENDIAN
326         select SYS_SUPPORTS_LITTLE_ENDIAN
327         help
328           This enables support for the Wind River MIPS32 4KC PPMC evaluation
329           board, which is based on GT64120 bridge chip.
330
331 config MIPS_SIM
332         bool 'MIPS simulator (MIPSsim)'
333         select DMA_NONCOHERENT
334         select IRQ_CPU
335         select SYS_HAS_CPU_MIPS32_R1
336         select SYS_HAS_CPU_MIPS32_R2
337         select SYS_SUPPORTS_32BIT_KERNEL
338         select SYS_SUPPORTS_BIG_ENDIAN
339         select SYS_SUPPORTS_LITTLE_ENDIAN
340         help
341           This option enables support for MIPS Technologies MIPSsim software
342           emulator.
343
344 config MOMENCO_JAGUAR_ATX
345         bool "Momentum Jaguar board"
346         select BOOT_ELF32
347         select DMA_NONCOHERENT
348         select HW_HAS_PCI
349         select IRQ_CPU
350         select IRQ_CPU_RM7K
351         select IRQ_MV64340
352         select LIMITED_DMA
353         select PCI_MARVELL
354         select RM7000_CPU_SCACHE
355         select SWAP_IO_SPACE
356         select SYS_HAS_CPU_RM9000
357         select SYS_SUPPORTS_32BIT_KERNEL
358         select SYS_SUPPORTS_64BIT_KERNEL
359         select SYS_SUPPORTS_BIG_ENDIAN
360         help
361           The Jaguar ATX is a MIPS-based Single Board Computer (SBC) made by
362           Momentum Computer <http://www.momenco.com/>.
363
364 config MOMENCO_OCELOT
365         bool "Momentum Ocelot board"
366         select DMA_NONCOHERENT
367         select HW_HAS_PCI
368         select IRQ_CPU
369         select IRQ_CPU_RM7K
370         select MIPS_GT64120
371         select RM7000_CPU_SCACHE
372         select SWAP_IO_SPACE
373         select SYS_HAS_CPU_RM7000
374         select SYS_SUPPORTS_32BIT_KERNEL
375         select SYS_SUPPORTS_64BIT_KERNEL
376         select SYS_SUPPORTS_BIG_ENDIAN
377         help
378           The Ocelot is a MIPS-based Single Board Computer (SBC) made by
379           Momentum Computer <http://www.momenco.com/>.
380
381 config MOMENCO_OCELOT_3
382         bool "Momentum Ocelot-3 board"
383         select BOOT_ELF32
384         select DMA_NONCOHERENT
385         select HW_HAS_PCI
386         select IRQ_CPU
387         select IRQ_CPU_RM7K
388         select IRQ_MV64340
389         select PCI_MARVELL
390         select RM7000_CPU_SCACHE
391         select SWAP_IO_SPACE
392         select SYS_HAS_CPU_RM9000
393         select SYS_SUPPORTS_32BIT_KERNEL
394         select SYS_SUPPORTS_64BIT_KERNEL
395         select SYS_SUPPORTS_BIG_ENDIAN
396         help
397           The Ocelot-3 is based off Discovery III System Controller and
398           PMC-Sierra Rm79000 core.
399
400 config MOMENCO_OCELOT_C
401         bool "Momentum Ocelot-C board"
402         select DMA_NONCOHERENT
403         select HW_HAS_PCI
404         select IRQ_CPU
405         select IRQ_MV64340
406         select PCI_MARVELL
407         select RM7000_CPU_SCACHE
408         select SWAP_IO_SPACE
409         select SYS_HAS_CPU_RM7000
410         select SYS_SUPPORTS_32BIT_KERNEL
411         select SYS_SUPPORTS_64BIT_KERNEL
412         select SYS_SUPPORTS_BIG_ENDIAN
413         help
414           The Ocelot is a MIPS-based Single Board Computer (SBC) made by
415           Momentum Computer <http://www.momenco.com/>.
416
417 config MOMENCO_OCELOT_G
418         bool "Momentum Ocelot-G board"
419         select DMA_NONCOHERENT
420         select HW_HAS_PCI
421         select IRQ_CPU
422         select IRQ_CPU_RM7K
423         select PCI_MARVELL
424         select RM7000_CPU_SCACHE
425         select SWAP_IO_SPACE
426         select SYS_HAS_CPU_RM7000
427         select SYS_SUPPORTS_32BIT_KERNEL
428         select SYS_SUPPORTS_64BIT_KERNEL if BROKEN
429         select SYS_SUPPORTS_BIG_ENDIAN
430         help
431           The Ocelot is a MIPS-based Single Board Computer (SBC) made by
432           Momentum Computer <http://www.momenco.com/>.
433
434 config MIPS_XXS1500
435         bool "MyCable XXS1500 board"
436         select DMA_NONCOHERENT
437         select SOC_AU1500
438         select SYS_SUPPORTS_LITTLE_ENDIAN
439
440 config PNX8550_V2PCI
441         bool "Philips PNX8550 based Viper2-PCI board"
442         select PNX8550
443         select SYS_SUPPORTS_LITTLE_ENDIAN
444
445 config PNX8550_JBS
446         bool "Philips PNX8550 based JBS board"
447         select PNX8550
448         select SYS_SUPPORTS_LITTLE_ENDIAN
449
450 config DDB5477
451         bool "NEC DDB Vrc-5477"
452         select DDB5XXX_COMMON
453         select DMA_NONCOHERENT
454         select HW_HAS_PCI
455         select I8259
456         select IRQ_CPU
457         select SYS_HAS_CPU_R5432
458         select SYS_SUPPORTS_32BIT_KERNEL
459         select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
460         select SYS_SUPPORTS_LITTLE_ENDIAN
461         help
462           This enables support for the R5432-based NEC DDB Vrc-5477,
463           or Rockhopper/SolutionGear boards with R5432/R5500 CPUs.
464
465           Features : kernel debugging, serial terminal, NFS root fs, on-board
466           ether port USB, AC97, PCI, etc.
467
468 config MACH_VR41XX
469         bool "NEC VR41XX-based machines"
470         select SYS_HAS_CPU_VR41XX
471         select SYS_SUPPORTS_32BIT_KERNEL
472         select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
473
474 config PMC_YOSEMITE
475         bool "PMC-Sierra Yosemite eval board"
476         select DMA_COHERENT
477         select HW_HAS_PCI
478         select IRQ_CPU
479         select IRQ_CPU_RM7K
480         select IRQ_CPU_RM9K
481         select SWAP_IO_SPACE
482         select SYS_HAS_CPU_RM9000
483         select SYS_SUPPORTS_32BIT_KERNEL
484         select SYS_SUPPORTS_64BIT_KERNEL
485         select SYS_SUPPORTS_BIG_ENDIAN
486         select SYS_SUPPORTS_HIGHMEM
487         select SYS_SUPPORTS_SMP
488         help
489           Yosemite is an evaluation board for the RM9000x2 processor
490           manufactured by PMC-Sierra.
491
492 config QEMU
493         bool "Qemu"
494         select DMA_COHERENT
495         select GENERIC_ISA_DMA
496         select HAVE_STD_PC_SERIAL_PORT
497         select I8253
498         select I8259
499         select ISA
500         select SWAP_IO_SPACE
501         select SYS_HAS_CPU_MIPS32_R1
502         select SYS_SUPPORTS_32BIT_KERNEL
503         select SYS_SUPPORTS_BIG_ENDIAN
504         select SYS_SUPPORTS_LITTLE_ENDIAN
505         select ARCH_SPARSEMEM_ENABLE
506         help
507           Qemu is a software emulator which among other architectures also
508           can simulate a MIPS32 4Kc system.  This patch adds support for the
509           system architecture that currently is being simulated by Qemu.  It
510           will eventually be removed again when Qemu has the capability to
511           simulate actual MIPS hardware platforms.  More information on Qemu
512           can be found at http://www.linux-mips.org/wiki/Qemu.
513
514 config MARKEINS
515         bool "Support for NEC EMMA2RH Mark-eins"
516         select DMA_NONCOHERENT
517         select HW_HAS_PCI
518         select IRQ_CPU
519         select SWAP_IO_SPACE
520         select SYS_SUPPORTS_32BIT_KERNEL
521         select SYS_SUPPORTS_BIG_ENDIAN
522         select SYS_SUPPORTS_LITTLE_ENDIAN
523         select SYS_HAS_CPU_R5000
524         help
525           This enables support for the R5432-based NEC Mark-eins
526           boards with R5500 CPU.
527
528 config SGI_IP22
529         bool "SGI IP22 (Indy/Indigo2)"
530         select ARC
531         select ARC32
532         select BOOT_ELF32
533         select DMA_NONCOHERENT
534         select HW_HAS_EISA
535         select IP22_CPU_SCACHE
536         select IRQ_CPU
537         select NO_ISA if ISA
538         select SWAP_IO_SPACE
539         select SYS_HAS_CPU_R4X00
540         select SYS_HAS_CPU_R5000
541         select SYS_SUPPORTS_32BIT_KERNEL
542         select SYS_SUPPORTS_64BIT_KERNEL
543         select SYS_SUPPORTS_BIG_ENDIAN
544         help
545           This are the SGI Indy, Challenge S and Indigo2, as well as certain
546           OEM variants like the Tandem CMN B006S. To compile a Linux kernel
547           that runs on these, say Y here.
548
549 config SGI_IP27
550         bool "SGI IP27 (Origin200/2000)"
551         select ARC
552         select ARC64
553         select BOOT_ELF64
554         select DMA_IP27
555         select EARLY_PRINTK
556         select HW_HAS_PCI
557         select PCI_DOMAINS
558         select SYS_HAS_CPU_R10000
559         select SYS_SUPPORTS_64BIT_KERNEL
560         select SYS_SUPPORTS_BIG_ENDIAN
561         select SYS_SUPPORTS_NUMA
562         select SYS_SUPPORTS_SMP
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         select SPARSEMEM_STATIC
1637
1638 config NUMA
1639         bool "NUMA Support"
1640         depends on SYS_SUPPORTS_NUMA
1641         help
1642           Say Y to compile the kernel to support NUMA (Non-Uniform Memory
1643           Access).  This option improves performance on systems with more
1644           than two nodes; on two node systems it is generally better to
1645           leave it disabled; on single node systems disable this option
1646           disabled.
1647
1648 config SYS_SUPPORTS_NUMA
1649         bool
1650
1651 config NODES_SHIFT
1652         int
1653         default "6"
1654         depends on NEED_MULTIPLE_NODES
1655
1656 source "mm/Kconfig"
1657
1658 config SMP
1659         bool "Multi-Processing support"
1660         depends on SYS_SUPPORTS_SMP
1661         select IRQ_PER_CPU
1662         help
1663           This enables support for systems with more than one CPU. If you have
1664           a system with only one CPU, like most personal computers, say N. If
1665           you have a system with more than one CPU, say Y.
1666
1667           If you say N here, the kernel will run on single and multiprocessor
1668           machines, but will use only one CPU of a multiprocessor machine. If
1669           you say Y here, the kernel will run on many, but not all,
1670           singleprocessor machines. On a singleprocessor machine, the kernel
1671           will run faster if you say N here.
1672
1673           People using multiprocessor machines who say Y here should also say
1674           Y to "Enhanced Real Time Clock Support", below.
1675
1676           See also the <file:Documentation/smp.txt> and the SMP-HOWTO
1677           available at <http://www.tldp.org/docs.html#howto>.
1678
1679           If you don't know what to do here, say N.
1680
1681 config SYS_SUPPORTS_SMP
1682         bool
1683
1684 config NR_CPUS
1685         int "Maximum number of CPUs (2-64)"
1686         range 2 64
1687         depends on SMP
1688         default "64" if SGI_IP27
1689         default "2"
1690         default "8" if MIPS_MT_SMTC
1691         help
1692           This allows you to specify the maximum number of CPUs which this
1693           kernel will support.  The maximum supported value is 32 for 32-bit
1694           kernel and 64 for 64-bit kernels; the minimum value which makes
1695           sense is 2.
1696
1697           This is purely to save memory - each supported CPU adds
1698           approximately eight kilobytes to the kernel image.
1699
1700 #
1701 # Timer Interrupt Frequency Configuration
1702 #
1703
1704 choice
1705         prompt "Timer frequency"
1706         default HZ_250
1707         help
1708          Allows the configuration of the timer frequency.
1709
1710         config HZ_48
1711                 bool "48 HZ" if SYS_SUPPORTS_48HZ
1712
1713         config HZ_100
1714                 bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ
1715
1716         config HZ_128
1717                 bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ
1718
1719         config HZ_250
1720                 bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ
1721
1722         config HZ_256
1723                 bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ
1724
1725         config HZ_1000
1726                 bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ
1727
1728         config HZ_1024
1729                 bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ
1730
1731 endchoice
1732
1733 config SYS_SUPPORTS_48HZ
1734         bool
1735
1736 config SYS_SUPPORTS_100HZ
1737         bool
1738
1739 config SYS_SUPPORTS_128HZ
1740         bool
1741
1742 config SYS_SUPPORTS_250HZ
1743         bool
1744
1745 config SYS_SUPPORTS_256HZ
1746         bool
1747
1748 config SYS_SUPPORTS_1000HZ
1749         bool
1750
1751 config SYS_SUPPORTS_1024HZ
1752         bool
1753
1754 config SYS_SUPPORTS_ARBIT_HZ
1755         bool
1756         default y if !SYS_SUPPORTS_48HZ && !SYS_SUPPORTS_100HZ && \
1757                      !SYS_SUPPORTS_128HZ && !SYS_SUPPORTS_250HZ && \
1758                      !SYS_SUPPORTS_256HZ && !SYS_SUPPORTS_1000HZ && \
1759                      !SYS_SUPPORTS_1024HZ
1760
1761 config HZ
1762         int
1763         default 48 if HZ_48
1764         default 100 if HZ_100
1765         default 128 if HZ_128
1766         default 250 if HZ_250
1767         default 256 if HZ_256
1768         default 1000 if HZ_1000
1769         default 1024 if HZ_1024
1770
1771 source "kernel/Kconfig.preempt"
1772
1773 config RTC_DS1742
1774         bool "DS1742 BRAM/RTC support"
1775         depends on TOSHIBA_JMR3927 || TOSHIBA_RBTX4927
1776
1777 config MIPS_INSANE_LARGE
1778         bool "Support for large 64-bit configurations"
1779         depends on CPU_R10000 && 64BIT
1780         help
1781           MIPS R10000 does support a 44 bit / 16TB address space as opposed to
1782           previous 64-bit processors which only supported 40 bit / 1TB. If you
1783           need processes of more than 1TB virtual address space, say Y here.
1784           This will result in additional memory usage, so it is not
1785           recommended for normal users.
1786
1787 endmenu
1788
1789 config RWSEM_GENERIC_SPINLOCK
1790         bool
1791         default y
1792
1793 config LOCKDEP_SUPPORT
1794         bool
1795         default y
1796
1797 config STACKTRACE_SUPPORT
1798         bool
1799         default y
1800
1801 source "init/Kconfig"
1802
1803 menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
1804
1805 config HW_HAS_EISA
1806         bool
1807 config HW_HAS_PCI
1808         bool
1809
1810 config PCI
1811         bool "Support for PCI controller"
1812         depends on HW_HAS_PCI
1813         help
1814           Find out whether you have a PCI motherboard. PCI is the name of a
1815           bus system, i.e. the way the CPU talks to the other stuff inside
1816           your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
1817           say Y, otherwise N.
1818
1819           The PCI-HOWTO, available from
1820           <http://www.tldp.org/docs.html#howto>, contains valuable
1821           information about which PCI hardware does work under Linux and which
1822           doesn't.
1823
1824 config PCI_DOMAINS
1825         bool
1826         depends on PCI
1827
1828 source "drivers/pci/Kconfig"
1829
1830 #
1831 # ISA support is now enabled via select.  Too many systems still have the one
1832 # or other ISA chip on the board that users don't know about so don't expect
1833 # users to choose the right thing ...
1834 #
1835 config ISA
1836         bool
1837
1838 config NO_ISA
1839         bool
1840
1841 config EISA
1842         bool "EISA support"
1843         depends on HW_HAS_EISA
1844         select ISA
1845         ---help---
1846           The Extended Industry Standard Architecture (EISA) bus was
1847           developed as an open alternative to the IBM MicroChannel bus.
1848
1849           The EISA bus provided some of the features of the IBM MicroChannel
1850           bus while maintaining backward compatibility with cards made for
1851           the older ISA bus.  The EISA bus saw limited use between 1988 and
1852           1995 when it was made obsolete by the PCI bus.
1853
1854           Say Y here if you are building a kernel for an EISA-based machine.
1855
1856           Otherwise, say N.
1857
1858 source "drivers/eisa/Kconfig"
1859
1860 config TC
1861         bool "TURBOchannel support"
1862         depends on MACH_DECSTATION
1863         help
1864           TurboChannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
1865           processors.  Documentation on writing device drivers for TurboChannel
1866           is available at:
1867           <http://www.cs.arizona.edu/computer.help/policy/DIGITAL_unix/AA-PS3HD-TET1_html/TITLE.html>.
1868
1869 #config ACCESSBUS
1870 #       bool "Access.Bus support"
1871 #       depends on TC
1872
1873 config MMU
1874         bool
1875         default y
1876
1877 config I8253
1878         bool
1879
1880 source "drivers/pcmcia/Kconfig"
1881
1882 source "drivers/pci/hotplug/Kconfig"
1883
1884 endmenu
1885
1886 menu "Executable file formats"
1887
1888 source "fs/Kconfig.binfmt"
1889
1890 config TRAD_SIGNALS
1891         bool
1892
1893 config BUILD_ELF64
1894         bool "Use 64-bit ELF format for building"
1895         depends on 64BIT
1896         help
1897           A 64-bit kernel is usually built using the 64-bit ELF binary object
1898           format as it's one that allows arbitrary 64-bit constructs.  For
1899           kernels that are loaded within the KSEG compatibility segments the
1900           32-bit ELF format can optionally be used resulting in a somewhat
1901           smaller binary, but this option is not explicitly supported by the
1902           toolchain and since binutils 2.14 it does not even work at all.
1903
1904           Say Y to use the 64-bit format or N to use the 32-bit one.
1905
1906           If unsure say Y.
1907
1908 config BINFMT_IRIX
1909         bool "Include IRIX binary compatibility"
1910         depends on CPU_BIG_ENDIAN && 32BIT && BROKEN
1911
1912 config MIPS32_COMPAT
1913         bool "Kernel support for Linux/MIPS 32-bit binary compatibility"
1914         depends on 64BIT
1915         help
1916           Select this option if you want Linux/MIPS 32-bit binary
1917           compatibility. Since all software available for Linux/MIPS is
1918           currently 32-bit you should say Y here.
1919
1920 config COMPAT
1921         bool
1922         depends on MIPS32_COMPAT
1923         default y
1924
1925 config MIPS32_O32
1926         bool "Kernel support for o32 binaries"
1927         depends on MIPS32_COMPAT
1928         help
1929           Select this option if you want to run o32 binaries.  These are pure
1930           32-bit binaries as used by the 32-bit Linux/MIPS port.  Most of
1931           existing binaries are in this format.
1932
1933           If unsure, say Y.
1934
1935 config MIPS32_N32
1936         bool "Kernel support for n32 binaries"
1937         depends on MIPS32_COMPAT
1938         help
1939           Select this option if you want to run n32 binaries.  These are
1940           64-bit binaries using 32-bit quantities for addressing and certain
1941           data that would normally be 64-bit.  They are used in special
1942           cases.
1943
1944           If unsure, say N.
1945
1946 config BINFMT_ELF32
1947         bool
1948         default y if MIPS32_O32 || MIPS32_N32
1949
1950 config SECCOMP
1951         bool "Enable seccomp to safely compute untrusted bytecode"
1952         depends on PROC_FS && BROKEN
1953         default y
1954         help
1955           This kernel feature is useful for number crunching applications
1956           that may need to compute untrusted bytecode during their
1957           execution. By using pipes or other transports made available to
1958           the process as file descriptors supporting the read/write
1959           syscalls, it's possible to isolate those applications in
1960           their own address space using seccomp. Once seccomp is
1961           enabled via /proc/<pid>/seccomp, it cannot be disabled
1962           and the task is only allowed to execute a few safe syscalls
1963           defined by each seccomp mode.
1964
1965           If unsure, say Y. Only embedded should say N here.
1966
1967 config PM
1968         bool "Power Management support (EXPERIMENTAL)"
1969         depends on EXPERIMENTAL && SOC_AU1X00
1970
1971 config APM
1972         tristate "Advanced Power Management Emulation"
1973         depends on PM
1974         ---help---
1975           APM is a BIOS specification for saving power using several different
1976           techniques. This is mostly useful for battery powered systems with
1977           APM compliant BIOSes. If you say Y here, the system time will be
1978           reset after a RESUME operation, the /proc/apm device will provide
1979           battery status information, and user-space programs will receive
1980           notification of APM "events" (e.g. battery status change).
1981
1982           In order to use APM, you will need supporting software. For location
1983           and more information, read <file:Documentation/pm.txt> and the
1984           Battery Powered Linux mini-HOWTO, available from
1985           <http://www.tldp.org/docs.html#howto>.
1986
1987           This driver does not spin down disk drives (see the hdparm(8)
1988           manpage ("man 8 hdparm") for that), and it doesn't turn off
1989           VESA-compliant "green" monitors.
1990
1991           Generally, if you don't have a battery in your machine, there isn't
1992           much point in using this driver and you should say N. If you get
1993           random kernel OOPSes or reboots that don't seem to be related to
1994           anything, try disabling/enabling this option (or disabling/enabling
1995           APM in your BIOS).
1996
1997 endmenu
1998
1999 source "net/Kconfig"
2000
2001 source "drivers/Kconfig"
2002
2003 source "fs/Kconfig"
2004
2005 source "arch/mips/oprofile/Kconfig"
2006
2007 source "arch/mips/Kconfig.debug"
2008
2009 source "security/Kconfig"
2010
2011 source "crypto/Kconfig"
2012
2013 source "lib/Kconfig"