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