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