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