Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
[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 "Support for 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 "Support for 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 "Support for 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 "Support for 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 "Support for 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 "Support for 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 "Support for 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 "Support for the Jazz family of machines"
232         select ARC
233         select ARC32
234         select ARCH_MAY_HAVE_PC_FDC
235         select GENERIC_ISA_DMA
236         select I8259
237         select ISA
238         select SYS_HAS_CPU_R4X00
239         select SYS_SUPPORTS_32BIT_KERNEL
240         select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
241         help
242          This a family of machines based on the MIPS R4030 chipset which was
243          used by several vendors to build RISC/os and Windows NT workstations.
244          Members include the Acer PICA, MIPS Magnum 4000, MIPS Millenium and
245          Olivetti M700-10 workstations.
246
247 config LASAT
248         bool "Support for LASAT Networks platforms"
249         select DMA_NONCOHERENT
250         select HW_HAS_PCI
251         select MIPS_GT64120
252         select MIPS_NILE4
253         select R5000_CPU_SCACHE
254         select SYS_HAS_CPU_R5000
255         select SYS_SUPPORTS_32BIT_KERNEL
256         select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
257         select SYS_SUPPORTS_LITTLE_ENDIAN
258
259 config MIPS_ATLAS
260         bool "Support for MIPS Atlas board"
261         select BOOT_ELF32
262         select DMA_NONCOHERENT
263         select IRQ_CPU
264         select HW_HAS_PCI
265         select MIPS_BOARDS_GEN
266         select MIPS_BONITO64
267         select MIPS_GT64120
268         select MIPS_MSC
269         select RM7000_CPU_SCACHE
270         select SWAP_IO_SPACE
271         select SYS_HAS_CPU_MIPS32_R1
272         select SYS_HAS_CPU_MIPS32_R2
273         select SYS_HAS_CPU_MIPS64_R1
274         select SYS_HAS_CPU_NEVADA
275         select SYS_HAS_CPU_RM7000
276         select SYS_SUPPORTS_32BIT_KERNEL
277         select SYS_SUPPORTS_64BIT_KERNEL
278         select SYS_SUPPORTS_BIG_ENDIAN
279         select SYS_SUPPORTS_LITTLE_ENDIAN
280         help
281           This enables support for the MIPS Technologies Atlas evaluation
282           board.
283
284 config MIPS_MALTA
285         bool "Support for MIPS Malta board"
286         select ARCH_MAY_HAVE_PC_FDC
287         select BOOT_ELF32
288         select HAVE_STD_PC_SERIAL_PORT
289         select DMA_NONCOHERENT
290         select IRQ_CPU
291         select GENERIC_ISA_DMA
292         select HW_HAS_PCI
293         select I8259
294         select MIPS_BOARDS_GEN
295         select MIPS_BONITO64
296         select MIPS_GT64120
297         select MIPS_MSC
298         select SWAP_IO_SPACE
299         select SYS_HAS_CPU_MIPS32_R1
300         select SYS_HAS_CPU_MIPS32_R2
301         select SYS_HAS_CPU_MIPS64_R1
302         select SYS_HAS_CPU_NEVADA
303         select SYS_HAS_CPU_RM7000
304         select SYS_SUPPORTS_32BIT_KERNEL
305         select SYS_SUPPORTS_64BIT_KERNEL
306         select SYS_SUPPORTS_BIG_ENDIAN
307         select SYS_SUPPORTS_LITTLE_ENDIAN
308         help
309           This enables support for the MIPS Technologies Malta evaluation
310           board.
311
312 config MIPS_SEAD
313         bool "Support for MIPS SEAD board (EXPERIMENTAL)"
314         depends on EXPERIMENTAL
315         select IRQ_CPU
316         select DMA_NONCOHERENT
317         select MIPS_BOARDS_GEN
318         select SYS_HAS_CPU_MIPS32_R1
319         select SYS_HAS_CPU_MIPS32_R2
320         select SYS_HAS_CPU_MIPS64_R1
321         select SYS_SUPPORTS_32BIT_KERNEL
322         select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
323         select SYS_SUPPORTS_BIG_ENDIAN
324         select SYS_SUPPORTS_LITTLE_ENDIAN
325         help
326           This enables support for the MIPS Technologies SEAD evaluation
327           board.
328
329 config MIPS_SIM
330         bool 'Support for MIPS simulator (MIPSsim)'
331         select DMA_NONCOHERENT
332         select IRQ_CPU
333         select SYS_HAS_CPU_MIPS32_R1
334         select SYS_HAS_CPU_MIPS32_R2
335         select SYS_SUPPORTS_32BIT_KERNEL
336         select SYS_SUPPORTS_BIG_ENDIAN
337         select SYS_SUPPORTS_LITTLE_ENDIAN
338         help
339           This option enables support for MIPS Technologies MIPSsim software
340           emulator.
341
342 config MOMENCO_JAGUAR_ATX
343         bool "Support for Momentum Jaguar board"
344         select BOOT_ELF32
345         select DMA_NONCOHERENT
346         select HW_HAS_PCI
347         select IRQ_CPU
348         select IRQ_CPU_RM7K
349         select IRQ_MV64340
350         select LIMITED_DMA
351         select PCI_MARVELL
352         select RM7000_CPU_SCACHE
353         select SWAP_IO_SPACE
354         select SYS_HAS_CPU_RM9000
355         select SYS_SUPPORTS_32BIT_KERNEL
356         select SYS_SUPPORTS_64BIT_KERNEL
357         select SYS_SUPPORTS_BIG_ENDIAN
358         help
359           The Jaguar ATX is a MIPS-based Single Board Computer (SBC) made by
360           Momentum Computer <http://www.momenco.com/>.
361
362 config MOMENCO_OCELOT
363         bool "Support for Momentum Ocelot board"
364         select DMA_NONCOHERENT
365         select HW_HAS_PCI
366         select IRQ_CPU
367         select IRQ_CPU_RM7K
368         select MIPS_GT64120
369         select RM7000_CPU_SCACHE
370         select SWAP_IO_SPACE
371         select SYS_HAS_CPU_RM7000
372         select SYS_SUPPORTS_32BIT_KERNEL
373         select SYS_SUPPORTS_64BIT_KERNEL
374         select SYS_SUPPORTS_BIG_ENDIAN
375         help
376           The Ocelot is a MIPS-based Single Board Computer (SBC) made by
377           Momentum Computer <http://www.momenco.com/>.
378
379 config MOMENCO_OCELOT_3
380         bool "Support for Momentum Ocelot-3 board"
381         select BOOT_ELF32
382         select DMA_NONCOHERENT
383         select HW_HAS_PCI
384         select IRQ_CPU
385         select IRQ_CPU_RM7K
386         select IRQ_MV64340
387         select PCI_MARVELL
388         select RM7000_CPU_SCACHE
389         select SWAP_IO_SPACE
390         select SYS_HAS_CPU_RM9000
391         select SYS_SUPPORTS_32BIT_KERNEL
392         select SYS_SUPPORTS_64BIT_KERNEL
393         select SYS_SUPPORTS_BIG_ENDIAN
394         help
395           The Ocelot-3 is based off Discovery III System Controller and
396           PMC-Sierra Rm79000 core.
397
398 config MOMENCO_OCELOT_C
399         bool "Support for Momentum Ocelot-C board"
400         select DMA_NONCOHERENT
401         select HW_HAS_PCI
402         select IRQ_CPU
403         select IRQ_MV64340
404         select PCI_MARVELL
405         select RM7000_CPU_SCACHE
406         select SWAP_IO_SPACE
407         select SYS_HAS_CPU_RM7000
408         select SYS_SUPPORTS_32BIT_KERNEL
409         select SYS_SUPPORTS_64BIT_KERNEL
410         select SYS_SUPPORTS_BIG_ENDIAN
411         help
412           The Ocelot is a MIPS-based Single Board Computer (SBC) made by
413           Momentum Computer <http://www.momenco.com/>.
414
415 config MOMENCO_OCELOT_G
416         bool "Support for Momentum Ocelot-G board"
417         select DMA_NONCOHERENT
418         select HW_HAS_PCI
419         select IRQ_CPU
420         select IRQ_CPU_RM7K
421         select PCI_MARVELL
422         select RM7000_CPU_SCACHE
423         select SWAP_IO_SPACE
424         select SYS_HAS_CPU_RM7000
425         select SYS_SUPPORTS_32BIT_KERNEL
426         select SYS_SUPPORTS_64BIT_KERNEL
427         select SYS_SUPPORTS_BIG_ENDIAN
428         help
429           The Ocelot is a MIPS-based Single Board Computer (SBC) made by
430           Momentum Computer <http://www.momenco.com/>.
431
432 config MIPS_XXS1500
433         bool "Support for MyCable XXS1500 board"
434         select DMA_NONCOHERENT
435         select SOC_AU1500
436         select SYS_SUPPORTS_LITTLE_ENDIAN
437
438 config PNX8550_V2PCI
439         bool "Support for Philips PNX8550 based Viper2-PCI board"
440         select PNX8550
441         select SYS_SUPPORTS_LITTLE_ENDIAN
442
443 config PNX8550_JBS
444         bool "Support for Philips PNX8550 based JBS board"
445         select PNX8550
446         select SYS_SUPPORTS_LITTLE_ENDIAN
447
448 config DDB5074
449         bool "Support for NEC DDB Vrc-5074 (EXPERIMENTAL)"
450         depends on EXPERIMENTAL
451         select DDB5XXX_COMMON
452         select DMA_NONCOHERENT
453         select HAVE_STD_PC_SERIAL_PORT
454         select HW_HAS_PCI
455         select IRQ_CPU
456         select I8259
457         select ISA
458         select SYS_HAS_CPU_R5000
459         select SYS_SUPPORTS_32BIT_KERNEL
460         select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
461         select SYS_SUPPORTS_LITTLE_ENDIAN
462         help
463           This enables support for the VR5000-based NEC DDB Vrc-5074
464           evaluation board.
465
466 config DDB5476
467         bool "Support for NEC DDB Vrc-5476"
468         select DDB5XXX_COMMON
469         select DMA_NONCOHERENT
470         select HAVE_STD_PC_SERIAL_PORT
471         select HW_HAS_PCI
472         select IRQ_CPU
473         select I8259
474         select ISA
475         select SYS_HAS_CPU_R5432
476         select SYS_SUPPORTS_32BIT_KERNEL
477         select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
478         select SYS_SUPPORTS_LITTLE_ENDIAN
479         help
480           This enables support for the R5432-based NEC DDB Vrc-5476
481           evaluation board.
482
483           Features : kernel debugging, serial terminal, NFS root fs, on-board
484           ether port USB, AC97, PCI, PCI VGA card & framebuffer console,
485           IDE controller, PS2 keyboard, PS2 mouse, etc.
486
487 config DDB5477
488         bool "Support for NEC DDB Vrc-5477"
489         select DDB5XXX_COMMON
490         select DMA_NONCOHERENT
491         select HW_HAS_PCI
492         select I8259
493         select IRQ_CPU
494         select SYS_HAS_CPU_R5432
495         select SYS_SUPPORTS_32BIT_KERNEL
496         select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
497         select SYS_SUPPORTS_LITTLE_ENDIAN
498         help
499           This enables support for the R5432-based NEC DDB Vrc-5477,
500           or Rockhopper/SolutionGear boards with R5432/R5500 CPUs.
501
502           Features : kernel debugging, serial terminal, NFS root fs, on-board
503           ether port USB, AC97, PCI, etc.
504
505 config MACH_VR41XX
506         bool "Support for NEC VR4100 series based machines"
507         select SYS_HAS_CPU_VR41XX
508         select SYS_SUPPORTS_32BIT_KERNEL
509         select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
510
511 config PMC_YOSEMITE
512         bool "Support for PMC-Sierra Yosemite eval board"
513         select DMA_COHERENT
514         select HW_HAS_PCI
515         select IRQ_CPU
516         select IRQ_CPU_RM7K
517         select IRQ_CPU_RM9K
518         select SWAP_IO_SPACE
519         select SYS_HAS_CPU_RM9000
520         select SYS_SUPPORTS_32BIT_KERNEL
521         select SYS_SUPPORTS_64BIT_KERNEL
522         select SYS_SUPPORTS_BIG_ENDIAN
523         select SYS_SUPPORTS_HIGHMEM
524         help
525           Yosemite is an evaluation board for the RM9000x2 processor
526           manufactured by PMC-Sierra.
527
528 config QEMU
529         bool "Support for Qemu"
530         select DMA_COHERENT
531         select GENERIC_ISA_DMA
532         select HAVE_STD_PC_SERIAL_PORT
533         select I8259
534         select ISA
535         select SWAP_IO_SPACE
536         select SYS_HAS_CPU_MIPS32_R1
537         select SYS_SUPPORTS_32BIT_KERNEL
538         select SYS_SUPPORTS_BIG_ENDIAN
539         help
540           Qemu is a software emulator which among other architectures also
541           can simulate a MIPS32 4Kc system.  This patch adds support for the
542           system architecture that currently is being simulated by Qemu.  It
543           will eventually be removed again when Qemu has the capability to
544           simulate actual MIPS hardware platforms.  More information on Qemu
545           can be found at http://www.linux-mips.org/wiki/Qemu.
546
547 config SGI_IP22
548         bool "Support for 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 SWAP_IO_SPACE
557         select SYS_HAS_CPU_R4X00
558         select SYS_HAS_CPU_R5000
559         select SYS_SUPPORTS_32BIT_KERNEL
560         select SYS_SUPPORTS_64BIT_KERNEL
561         select SYS_SUPPORTS_BIG_ENDIAN
562         help
563           This are the SGI Indy, Challenge S and Indigo2, as well as certain
564           OEM variants like the Tandem CMN B006S. To compile a Linux kernel
565           that runs on these, say Y here.
566
567 config SGI_IP27
568         bool "Support for SGI IP27 (Origin200/2000)"
569         select ARC
570         select ARC64
571         select BOOT_ELF64
572         select DMA_IP27
573         select HW_HAS_PCI
574         select PCI_DOMAINS
575         select SYS_HAS_CPU_R10000
576         select SYS_SUPPORTS_64BIT_KERNEL
577         select SYS_SUPPORTS_BIG_ENDIAN
578         help
579           This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics
580           workstations.  To compile a Linux kernel that runs on these, say Y
581           here.
582
583 config SGI_IP32
584         bool "Support for SGI IP32 (O2) (EXPERIMENTAL)"
585         depends on EXPERIMENTAL
586         select ARC
587         select ARC32
588         select BOOT_ELF32
589         select OWN_DMA
590         select DMA_IP32
591         select DMA_NONCOHERENT
592         select HW_HAS_PCI
593         select R5000_CPU_SCACHE
594         select RM7000_CPU_SCACHE
595         select SYS_HAS_CPU_R5000
596         select SYS_HAS_CPU_R10000 if BROKEN
597         select SYS_HAS_CPU_RM7000
598         select SYS_SUPPORTS_64BIT_KERNEL
599         select SYS_SUPPORTS_BIG_ENDIAN
600         help
601           If you want this kernel to run on SGI O2 workstation, say Y here.
602
603 config SIBYTE_BIGSUR
604         bool "Support for Sibyte BigSur"
605         select BOOT_ELF32
606         select DMA_COHERENT
607         select PCI_DOMAINS
608         select SIBYTE_BCM1x80
609         select SWAP_IO_SPACE
610         select SYS_HAS_CPU_SB1
611         select SYS_SUPPORTS_BIG_ENDIAN
612         select SYS_SUPPORTS_LITTLE_ENDIAN
613
614 config SIBYTE_SWARM
615         bool "Support for Sibyte BCM91250A-SWARM"
616         select BOOT_ELF32
617         select DMA_COHERENT
618         select SIBYTE_SB1250
619         select SWAP_IO_SPACE
620         select SYS_HAS_CPU_SB1
621         select SYS_SUPPORTS_BIG_ENDIAN
622         select SYS_SUPPORTS_HIGHMEM
623         select SYS_SUPPORTS_LITTLE_ENDIAN
624
625 config SIBYTE_SENTOSA
626         bool "Support for Sibyte BCM91250E-Sentosa"
627         depends on EXPERIMENTAL
628         select BOOT_ELF32
629         select DMA_COHERENT
630         select SIBYTE_SB1250
631         select SWAP_IO_SPACE
632         select SYS_HAS_CPU_SB1
633         select SYS_SUPPORTS_BIG_ENDIAN
634         select SYS_SUPPORTS_LITTLE_ENDIAN
635
636 config SIBYTE_RHONE
637         bool "Support for Sibyte BCM91125E-Rhone"
638         depends on EXPERIMENTAL
639         select BOOT_ELF32
640         select DMA_COHERENT
641         select SIBYTE_BCM1125H
642         select SWAP_IO_SPACE
643         select SYS_HAS_CPU_SB1
644         select SYS_SUPPORTS_BIG_ENDIAN
645         select SYS_SUPPORTS_LITTLE_ENDIAN
646
647 config SIBYTE_CARMEL
648         bool "Support for Sibyte BCM91120x-Carmel"
649         depends on EXPERIMENTAL
650         select BOOT_ELF32
651         select DMA_COHERENT
652         select SIBYTE_BCM1120
653         select SWAP_IO_SPACE
654         select SYS_HAS_CPU_SB1
655         select SYS_SUPPORTS_BIG_ENDIAN
656         select SYS_SUPPORTS_LITTLE_ENDIAN
657
658 config SIBYTE_PTSWARM
659         bool "Support for Sibyte BCM91250PT-PTSWARM"
660         depends on EXPERIMENTAL
661         select BOOT_ELF32
662         select DMA_COHERENT
663         select SIBYTE_SB1250
664         select SWAP_IO_SPACE
665         select SYS_HAS_CPU_SB1
666         select SYS_SUPPORTS_BIG_ENDIAN
667         select SYS_SUPPORTS_HIGHMEM
668         select SYS_SUPPORTS_LITTLE_ENDIAN
669
670 config SIBYTE_LITTLESUR
671         bool "Support for Sibyte BCM91250C2-LittleSur"
672         depends on EXPERIMENTAL
673         select BOOT_ELF32
674         select DMA_COHERENT
675         select SIBYTE_SB1250
676         select SWAP_IO_SPACE
677         select SYS_HAS_CPU_SB1
678         select SYS_SUPPORTS_BIG_ENDIAN
679         select SYS_SUPPORTS_HIGHMEM
680         select SYS_SUPPORTS_LITTLE_ENDIAN
681
682 config SIBYTE_CRHINE
683         bool "Support for Sibyte BCM91120C-CRhine"
684         depends on EXPERIMENTAL
685         select BOOT_ELF32
686         select DMA_COHERENT
687         select SIBYTE_BCM1120
688         select SWAP_IO_SPACE
689         select SYS_HAS_CPU_SB1
690         select SYS_SUPPORTS_BIG_ENDIAN
691         select SYS_SUPPORTS_LITTLE_ENDIAN
692
693 config SIBYTE_CRHONE
694         bool "Support for Sibyte BCM91125C-CRhone"
695         depends on EXPERIMENTAL
696         select BOOT_ELF32
697         select DMA_COHERENT
698         select SIBYTE_BCM1125
699         select SWAP_IO_SPACE
700         select SYS_HAS_CPU_SB1
701         select SYS_SUPPORTS_BIG_ENDIAN
702         select SYS_SUPPORTS_HIGHMEM
703         select SYS_SUPPORTS_LITTLE_ENDIAN
704
705 config SNI_RM200_PCI
706         bool "Support for SNI RM200 PCI"
707         select ARC
708         select ARC32
709         select ARCH_MAY_HAVE_PC_FDC
710         select BOOT_ELF32
711         select DMA_NONCOHERENT
712         select GENERIC_ISA_DMA
713         select HAVE_STD_PC_SERIAL_PORT
714         select HW_HAS_EISA
715         select HW_HAS_PCI
716         select I8259
717         select ISA
718         select SYS_HAS_CPU_R4X00
719         select SYS_SUPPORTS_32BIT_KERNEL
720         select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
721         select SYS_SUPPORTS_BIG_ENDIAN if EXPERIMENTAL
722         select SYS_SUPPORTS_HIGHMEM
723         select SYS_SUPPORTS_LITTLE_ENDIAN
724         help
725           The SNI RM200 PCI was a MIPS-based platform manufactured by Siemens
726           Nixdorf Informationssysteme (SNI), parent company of Pyramid
727           Technology and now in turn merged with Fujitsu.  Say Y here to
728           support this machine type.
729
730 config TOSHIBA_JMR3927
731         bool "Support for Toshiba JMR-TX3927 board"
732         select DMA_NONCOHERENT
733         select HW_HAS_PCI
734         select MIPS_TX3927
735         select SWAP_IO_SPACE
736         select SYS_HAS_CPU_TX39XX
737         select SYS_SUPPORTS_32BIT_KERNEL
738         select SYS_SUPPORTS_BIG_ENDIAN
739         select TOSHIBA_BOARDS
740
741 config TOSHIBA_RBTX4927
742         bool "Support for Toshiba TBTX49[23]7 board"
743         select DMA_NONCOHERENT
744         select HAS_TXX9_SERIAL
745         select HW_HAS_PCI
746         select I8259
747         select ISA
748         select SWAP_IO_SPACE
749         select SYS_HAS_CPU_TX49XX
750         select SYS_SUPPORTS_32BIT_KERNEL
751         select SYS_SUPPORTS_64BIT_KERNEL
752         select SYS_SUPPORTS_BIG_ENDIAN
753         select TOSHIBA_BOARDS
754         help
755           This Toshiba board is based on the TX4927 processor. Say Y here to
756           support this machine type
757
758 config TOSHIBA_RBTX4938
759         bool "Support for Toshiba RBTX4938 board"
760         select HAVE_STD_PC_SERIAL_PORT
761         select DMA_NONCOHERENT
762         select GENERIC_ISA_DMA
763         select HAS_TXX9_SERIAL
764         select HW_HAS_PCI
765         select I8259
766         select ISA
767         select SWAP_IO_SPACE
768         select SYS_HAS_CPU_TX49XX
769         select SYS_SUPPORTS_32BIT_KERNEL
770         select SYS_SUPPORTS_LITTLE_ENDIAN
771         select SYS_SUPPORTS_BIG_ENDIAN
772         select TOSHIBA_BOARDS
773         help
774           This Toshiba board is based on the TX4938 processor. Say Y here to
775           support this machine type
776
777 endchoice
778
779 source "arch/mips/ddb5xxx/Kconfig"
780 source "arch/mips/gt64120/ev64120/Kconfig"
781 source "arch/mips/jazz/Kconfig"
782 source "arch/mips/ite-boards/Kconfig"
783 source "arch/mips/lasat/Kconfig"
784 source "arch/mips/momentum/Kconfig"
785 source "arch/mips/pmc-sierra/Kconfig"
786 source "arch/mips/sgi-ip27/Kconfig"
787 source "arch/mips/sibyte/Kconfig"
788 source "arch/mips/tx4927/Kconfig"
789 source "arch/mips/tx4938/Kconfig"
790 source "arch/mips/vr41xx/Kconfig"
791 source "arch/mips/philips/pnx8550/common/Kconfig"
792
793 endmenu
794
795 config RWSEM_GENERIC_SPINLOCK
796         bool
797         default y
798
799 config RWSEM_XCHGADD_ALGORITHM
800         bool
801
802 config GENERIC_CALIBRATE_DELAY
803         bool
804         default y
805
806 #
807 # Select some configuration options automatically based on user selections.
808 #
809 config ARC
810         bool
811
812 config ARCH_MAY_HAVE_PC_FDC
813         bool
814
815 config DMA_COHERENT
816         bool
817
818 config DMA_IP27
819         bool
820
821 config DMA_IP32
822         bool
823         select DMA_NEED_PCI_MAP_STATE
824
825 config DMA_NONCOHERENT
826         bool
827         select DMA_NEED_PCI_MAP_STATE
828
829 config DMA_NEED_PCI_MAP_STATE
830         bool
831
832 config OWN_DMA
833         bool
834
835 config EARLY_PRINTK
836         bool
837
838 config GENERIC_ISA_DMA
839         bool
840
841 config I8259
842         bool
843
844 config LIMITED_DMA
845         bool
846         select HIGHMEM
847         select SYS_SUPPORTS_HIGHMEM
848
849 config MIPS_BONITO64
850         bool
851
852 config MIPS_MSC
853         bool
854
855 config MIPS_NILE4
856         bool
857
858 config MIPS_DISABLE_OBSOLETE_IDE
859         bool
860
861 #
862 # Endianess selection.  Suffiently obscure so many users don't know what to
863 # answer,so we try hard to limit the available choices.  Also the use of a
864 # choice statement should be more obvious to the user.
865 #
866 choice
867         prompt "Endianess selection"
868         help
869           Some MIPS machines can be configured for either little or big endian
870           byte order. These modes require different kernels and a different
871           Linux distribution.  In general there is one prefered byteorder for a
872           particular system but some systems are just as commonly used in the
873           one or the other endianess.
874
875 config CPU_BIG_ENDIAN
876         bool "Big endian"
877         depends on SYS_SUPPORTS_BIG_ENDIAN
878
879 config CPU_LITTLE_ENDIAN
880         bool "Little endian"
881         depends on SYS_SUPPORTS_LITTLE_ENDIAN
882         help
883
884 endchoice
885
886 config SYS_SUPPORTS_BIG_ENDIAN
887         bool
888
889 config SYS_SUPPORTS_LITTLE_ENDIAN
890         bool
891
892 config IRQ_CPU
893         bool
894
895 config IRQ_CPU_RM7K
896         bool
897
898 config IRQ_CPU_RM9K
899         bool
900
901 config IRQ_MV64340
902         bool
903
904 config DDB5XXX_COMMON
905         bool
906
907 config MIPS_BOARDS_GEN
908         bool
909
910 config MIPS_GT64111
911         bool
912
913 config MIPS_GT64120
914         bool
915
916 config MIPS_TX3927
917         bool
918         select HAS_TXX9_SERIAL
919
920 config PCI_MARVELL
921         bool
922
923 config ITE_BOARD_GEN
924         bool
925
926 config SOC_AU1000
927         bool
928         select SOC_AU1X00
929
930 config SOC_AU1100
931         bool
932         select SOC_AU1X00
933
934 config SOC_AU1500
935         bool
936         select SOC_AU1X00
937
938 config SOC_AU1550
939         bool
940         select SOC_AU1X00
941
942 config SOC_AU1200
943         bool
944         select SOC_AU1X00
945
946 config SOC_AU1X00
947         bool
948         select SYS_HAS_CPU_MIPS32_R1
949         select SYS_SUPPORTS_32BIT_KERNEL
950
951 config PNX8550
952         bool
953         select SOC_PNX8550
954
955 config SOC_PNX8550
956         bool
957         select DMA_NONCOHERENT
958         select HW_HAS_PCI
959         select SYS_HAS_CPU_MIPS32_R1
960         select SYS_SUPPORTS_32BIT_KERNEL
961
962 config SWAP_IO_SPACE
963         bool
964
965 #
966 # Unfortunately not all GT64120 systems run the chip at the same clock.
967 # As the user for the clock rate and try to minimize the available options.
968 #
969 choice
970         prompt "Galileo Chip Clock"
971         #default SYSCLK_83 if MIPS_EV64120
972         depends on MIPS_EV64120 || MOMENCO_OCELOT || MOMENCO_OCELOT_G
973         default SYSCLK_83 if MIPS_EV64120
974         default SYSCLK_100 if MOMENCO_OCELOT || MOMENCO_OCELOT_G
975
976 config SYSCLK_75
977         bool "75" if MIPS_EV64120
978
979 config SYSCLK_83
980         bool "83.3" if MIPS_EV64120
981
982 config SYSCLK_100
983         bool "100" if MIPS_EV64120 || MOMENCO_OCELOT || MOMENCO_OCELOT_G
984
985 endchoice
986
987 config ARC32
988         bool
989
990 config AU1X00_USB_DEVICE
991         bool
992         depends on MIPS_PB1500 || MIPS_PB1100 || MIPS_PB1000
993         default n
994
995 config MIPS_GT96100
996         bool
997         select MIPS_GT64120
998
999 config IT8172_CIR
1000         bool
1001         depends on MIPS_ITE8172 || MIPS_IVR
1002         default y
1003
1004 config IT8712
1005         bool
1006         depends on MIPS_ITE8172
1007         default y
1008
1009 config BOOT_ELF32
1010         bool
1011
1012 config MIPS_L1_CACHE_SHIFT
1013         int
1014         default "4" if MACH_DECSTATION
1015         default "7" if SGI_IP27
1016         default "5"
1017
1018 config HAVE_STD_PC_SERIAL_PORT
1019         bool
1020
1021 config ARC_CONSOLE
1022         bool "ARC console support"
1023         depends on SGI_IP22 || SNI_RM200_PCI
1024
1025 config ARC_MEMORY
1026         bool
1027         depends on MACH_JAZZ || SNI_RM200_PCI || SGI_IP32
1028         default y
1029
1030 config ARC_PROMLIB
1031         bool
1032         depends on MACH_JAZZ || SNI_RM200_PCI || SGI_IP22 || SGI_IP32
1033         default y
1034
1035 config ARC64
1036         bool
1037
1038 config BOOT_ELF64
1039         bool
1040
1041 config TOSHIBA_BOARDS
1042         bool
1043
1044 menu "CPU selection"
1045
1046 choice
1047         prompt "CPU type"
1048         default CPU_R4X00
1049
1050 config CPU_MIPS32_R1
1051         bool "MIPS32 Release 1"
1052         depends on SYS_HAS_CPU_MIPS32_R1
1053         select CPU_HAS_PREFETCH
1054         select CPU_SUPPORTS_32BIT_KERNEL
1055         help
1056           Choose this option to build a kernel for release 1 or later of the
1057           MIPS32 architecture.  Most modern embedded systems with a 32-bit
1058           MIPS processor are based on a MIPS32 processor.  If you know the
1059           specific type of processor in your system, choose those that one
1060           otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1061           Release 2 of the MIPS32 architecture is available since several
1062           years so chances are you even have a MIPS32 Release 2 processor
1063           in which case you should choose CPU_MIPS32_R2 instead for better
1064           performance.
1065
1066 config CPU_MIPS32_R2
1067         bool "MIPS32 Release 2"
1068         depends on SYS_HAS_CPU_MIPS32_R2
1069         select CPU_HAS_PREFETCH
1070         select CPU_SUPPORTS_32BIT_KERNEL
1071         help
1072           Choose this option to build a kernel for release 2 or later of the
1073           MIPS32 architecture.  Most modern embedded systems with a 32-bit
1074           MIPS processor are based on a MIPS32 processor.  If you know the
1075           specific type of processor in your system, choose those that one
1076           otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1077
1078 config CPU_MIPS64_R1
1079         bool "MIPS64 Release 1"
1080         depends on SYS_HAS_CPU_MIPS64_R1
1081         select CPU_HAS_PREFETCH
1082         select CPU_SUPPORTS_32BIT_KERNEL
1083         select CPU_SUPPORTS_64BIT_KERNEL
1084         help
1085           Choose this option to build a kernel for release 1 or later of the
1086           MIPS64 architecture.  Many modern embedded systems with a 64-bit
1087           MIPS processor are based on a MIPS64 processor.  If you know the
1088           specific type of processor in your system, choose those that one
1089           otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1090           Release 2 of the MIPS64 architecture is available since several
1091           years so chances are you even have a MIPS64 Release 2 processor
1092           in which case you should choose CPU_MIPS64_R2 instead for better
1093           performance.
1094
1095 config CPU_MIPS64_R2
1096         bool "MIPS64 Release 2"
1097         depends on SYS_HAS_CPU_MIPS64_R2
1098         select CPU_HAS_PREFETCH
1099         select CPU_SUPPORTS_32BIT_KERNEL
1100         select CPU_SUPPORTS_64BIT_KERNEL
1101         help
1102           Choose this option to build a kernel for release 2 or later of the
1103           MIPS64 architecture.  Many modern embedded systems with a 64-bit
1104           MIPS processor are based on a MIPS64 processor.  If you know the
1105           specific type of processor in your system, choose those that one
1106           otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1107
1108 config CPU_R3000
1109         bool "R3000"
1110         depends on SYS_HAS_CPU_R3000
1111         select CPU_SUPPORTS_32BIT_KERNEL
1112         select CPU_SUPPORTS_HIGHMEM
1113         help
1114           Please make sure to pick the right CPU type. Linux/MIPS is not
1115           designed to be generic, i.e. Kernels compiled for R3000 CPUs will
1116           *not* work on R4000 machines and vice versa.  However, since most
1117           of the supported machines have an R4000 (or similar) CPU, R4x00
1118           might be a safe bet.  If the resulting kernel does not work,
1119           try to recompile with R3000.
1120
1121 config CPU_TX39XX
1122         bool "R39XX"
1123         depends on SYS_HAS_CPU_TX39XX
1124         select CPU_SUPPORTS_32BIT_KERNEL
1125
1126 config CPU_VR41XX
1127         bool "R41xx"
1128         depends on SYS_HAS_CPU_VR41XX
1129         select CPU_SUPPORTS_32BIT_KERNEL
1130         select CPU_SUPPORTS_64BIT_KERNEL
1131         help
1132           The options selects support for the NEC VR4100 series of processors.
1133           Only choose this option if you have one of these processors as a
1134           kernel built with this option will not run on any other type of
1135           processor or vice versa.
1136
1137 config CPU_R4300
1138         bool "R4300"
1139         depends on SYS_HAS_CPU_R4300
1140         select CPU_SUPPORTS_32BIT_KERNEL
1141         select CPU_SUPPORTS_64BIT_KERNEL
1142         help
1143           MIPS Technologies R4300-series processors.
1144
1145 config CPU_R4X00
1146         bool "R4x00"
1147         depends on SYS_HAS_CPU_R4X00
1148         select CPU_SUPPORTS_32BIT_KERNEL
1149         select CPU_SUPPORTS_64BIT_KERNEL
1150         help
1151           MIPS Technologies R4000-series processors other than 4300, including
1152           the R4000, R4400, R4600, and 4700.
1153
1154 config CPU_TX49XX
1155         bool "R49XX"
1156         depends on SYS_HAS_CPU_TX49XX
1157         select CPU_SUPPORTS_32BIT_KERNEL
1158         select CPU_SUPPORTS_64BIT_KERNEL
1159
1160 config CPU_R5000
1161         bool "R5000"
1162         depends on SYS_HAS_CPU_R5000
1163         select CPU_SUPPORTS_32BIT_KERNEL
1164         select CPU_SUPPORTS_64BIT_KERNEL
1165         help
1166           MIPS Technologies R5000-series processors other than the Nevada.
1167
1168 config CPU_R5432
1169         bool "R5432"
1170         depends on SYS_HAS_CPU_R5432
1171         select CPU_SUPPORTS_32BIT_KERNEL
1172         select CPU_SUPPORTS_64BIT_KERNEL
1173
1174 config CPU_R6000
1175         bool "R6000"
1176         depends on EXPERIMENTAL
1177         depends on SYS_HAS_CPU_R6000
1178         select CPU_SUPPORTS_32BIT_KERNEL
1179         help
1180           MIPS Technologies R6000 and R6000A series processors.  Note these
1181           processors are extremly rare and the support for them is incomplete.
1182
1183 config CPU_NEVADA
1184         bool "RM52xx"
1185         depends on SYS_HAS_CPU_NEVADA
1186         select CPU_SUPPORTS_32BIT_KERNEL
1187         select CPU_SUPPORTS_64BIT_KERNEL
1188         help
1189           QED / PMC-Sierra RM52xx-series ("Nevada") processors.
1190
1191 config CPU_R8000
1192         bool "R8000"
1193         depends on EXPERIMENTAL
1194         depends on SYS_HAS_CPU_R8000
1195         select CPU_HAS_PREFETCH
1196         select CPU_SUPPORTS_64BIT_KERNEL
1197         help
1198           MIPS Technologies R8000 processors.  Note these processors are
1199           uncommon and the support for them is incomplete.
1200
1201 config CPU_R10000
1202         bool "R10000"
1203         depends on SYS_HAS_CPU_R10000
1204         select CPU_HAS_PREFETCH
1205         select CPU_SUPPORTS_32BIT_KERNEL
1206         select CPU_SUPPORTS_64BIT_KERNEL
1207         select CPU_SUPPORTS_HIGHMEM
1208         help
1209           MIPS Technologies R10000-series processors.
1210
1211 config CPU_RM7000
1212         bool "RM7000"
1213         depends on SYS_HAS_CPU_RM7000
1214         select CPU_HAS_PREFETCH
1215         select CPU_SUPPORTS_32BIT_KERNEL
1216         select CPU_SUPPORTS_64BIT_KERNEL
1217         select CPU_SUPPORTS_HIGHMEM
1218
1219 config CPU_RM9000
1220         bool "RM9000"
1221         depends on SYS_HAS_CPU_RM9000
1222         select CPU_HAS_PREFETCH
1223         select CPU_SUPPORTS_32BIT_KERNEL
1224         select CPU_SUPPORTS_64BIT_KERNEL
1225         select CPU_SUPPORTS_HIGHMEM
1226
1227 config CPU_SB1
1228         bool "SB1"
1229         depends on SYS_HAS_CPU_SB1
1230         select CPU_SUPPORTS_32BIT_KERNEL
1231         select CPU_SUPPORTS_64BIT_KERNEL
1232         select CPU_SUPPORTS_HIGHMEM
1233
1234 endchoice
1235
1236 config SYS_HAS_CPU_MIPS32_R1
1237         bool
1238
1239 config SYS_HAS_CPU_MIPS32_R2
1240         bool
1241
1242 config SYS_HAS_CPU_MIPS64_R1
1243         bool
1244
1245 config SYS_HAS_CPU_MIPS64_R2
1246         bool
1247
1248 config SYS_HAS_CPU_R3000
1249         bool
1250
1251 config SYS_HAS_CPU_TX39XX
1252         bool
1253
1254 config SYS_HAS_CPU_VR41XX
1255         bool
1256
1257 config SYS_HAS_CPU_R4300
1258         bool
1259
1260 config SYS_HAS_CPU_R4X00
1261         bool
1262
1263 config SYS_HAS_CPU_TX49XX
1264         bool
1265
1266 config SYS_HAS_CPU_R5000
1267         bool
1268
1269 config SYS_HAS_CPU_R5432
1270         bool
1271
1272 config SYS_HAS_CPU_R6000
1273         bool
1274
1275 config SYS_HAS_CPU_NEVADA
1276         bool
1277
1278 config SYS_HAS_CPU_R8000
1279         bool
1280
1281 config SYS_HAS_CPU_R10000
1282         bool
1283
1284 config SYS_HAS_CPU_RM7000
1285         bool
1286
1287 config SYS_HAS_CPU_RM9000
1288         bool
1289
1290 config SYS_HAS_CPU_SB1
1291         bool
1292
1293 endmenu
1294
1295 #
1296 # These two indicate any levelof the MIPS32 and MIPS64 architecture
1297 #
1298 config CPU_MIPS32
1299         bool
1300         default y if CPU_MIPS32_R1 || CPU_MIPS32_R2
1301
1302 config CPU_MIPS64
1303         bool
1304         default y if CPU_MIPS64_R1 || CPU_MIPS64_R2
1305
1306 #
1307 # These two indicate the revision of the architecture, either 32 bot 64 bit.
1308 #
1309 config CPU_MIPSR1
1310         bool
1311         default y if CPU_MIPS32_R1 || CPU_MIPS64_R1
1312
1313 config CPU_MIPSR2
1314         bool
1315         default y if CPU_MIPS32_R2 || CPU_MIPS64_R2
1316
1317 config SYS_SUPPORTS_32BIT_KERNEL
1318         bool
1319 config SYS_SUPPORTS_64BIT_KERNEL
1320         bool
1321 config CPU_SUPPORTS_32BIT_KERNEL
1322         bool
1323 config CPU_SUPPORTS_64BIT_KERNEL
1324         bool
1325
1326 menu "Kernel type"
1327
1328 choice
1329
1330         prompt "Kernel code model"
1331         help
1332           You should only select this option if you have a workload that
1333           actually benefits from 64-bit processing or if your machine has
1334           large memory.  You will only be presented a single option in this
1335           menu if your system does not support both 32-bit and 64-bit kernels.
1336
1337 config 32BIT
1338         bool "32-bit kernel"
1339         depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL
1340         select TRAD_SIGNALS
1341         help
1342           Select this option if you want to build a 32-bit kernel.
1343 config 64BIT
1344         bool "64-bit kernel"
1345         depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL
1346         help
1347           Select this option if you want to build a 64-bit kernel.
1348
1349 endchoice
1350
1351 choice
1352         prompt "Kernel page size"
1353         default PAGE_SIZE_4KB
1354
1355 config PAGE_SIZE_4KB
1356         bool "4kB"
1357         help
1358          This option select the standard 4kB Linux page size.  On some
1359          R3000-family processors this is the only available page size.  Using
1360          4kB page size will minimize memory consumption and is therefore
1361          recommended for low memory systems.
1362
1363 config PAGE_SIZE_8KB
1364         bool "8kB"
1365         depends on EXPERIMENTAL && CPU_R8000
1366         help
1367           Using 8kB page size will result in higher performance kernel at
1368           the price of higher memory consumption.  This option is available
1369           only on the R8000 processor.  Not that at the time of this writing
1370           this option is still high experimental; there are also issues with
1371           compatibility of user applications.
1372
1373 config PAGE_SIZE_16KB
1374         bool "16kB"
1375         depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX
1376         help
1377           Using 16kB page size will result in higher performance kernel at
1378           the price of higher memory consumption.  This option is available on
1379           all non-R3000 family processor.  Not that at the time of this
1380           writing this option is still high experimental; there are also
1381           issues with compatibility of user applications.
1382
1383 config PAGE_SIZE_64KB
1384         bool "64kB"
1385         depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX
1386         help
1387           Using 64kB page size will result in higher performance kernel at
1388           the price of higher memory consumption.  This option is available on
1389           all non-R3000 family processor.  Not that at the time of this
1390           writing this option is still high experimental; there are also
1391           issues with compatibility of user applications.
1392
1393 endchoice
1394
1395 config BOARD_SCACHE
1396         bool
1397
1398 config IP22_CPU_SCACHE
1399         bool
1400         select BOARD_SCACHE
1401
1402 config R5000_CPU_SCACHE
1403         bool
1404         select BOARD_SCACHE
1405
1406 config RM7000_CPU_SCACHE
1407         bool
1408         select BOARD_SCACHE
1409
1410 config SIBYTE_DMA_PAGEOPS
1411         bool "Use DMA to clear/copy pages"
1412         depends on CPU_SB1
1413         help
1414           Instead of using the CPU to zero and copy pages, use a Data Mover
1415           channel.  These DMA channels are otherwise unused by the standard
1416           SiByte Linux port.  Seems to give a small performance benefit.
1417
1418 config CPU_HAS_PREFETCH
1419         bool
1420
1421 config MIPS_MT
1422         bool "Enable MIPS MT"
1423
1424 choice
1425         prompt "MIPS MT options"
1426         depends on MIPS_MT
1427
1428 config MIPS_MT_SMP
1429         bool "Use 1 TC on each available VPE for SMP"
1430         select SMP
1431
1432 config MIPS_VPE_LOADER
1433         bool "VPE loader support."
1434         depends on MIPS_MT
1435         help
1436           Includes a loader for loading an elf relocatable object
1437           onto another VPE and running it.
1438
1439 endchoice
1440
1441 config MIPS_VPE_LOADER_TOM
1442         bool "Load VPE program into memory hidden from linux"
1443         depends on MIPS_VPE_LOADER
1444         default y
1445         help
1446           The loader can use memory that is present but has been hidden from
1447           Linux using the kernel command line option "mem=xxMB". It's up to
1448           you to ensure the amount you put in the option and the space your
1449           program requires is less or equal to the amount physically present.
1450
1451 # this should possibly be in drivers/char, but it is rather cpu related. Hmmm
1452 config MIPS_VPE_APSP_API
1453         bool "Enable support for AP/SP API (RTLX)"
1454         depends on MIPS_VPE_LOADER
1455         help
1456
1457 config SB1_PASS_1_WORKAROUNDS
1458         bool
1459         depends on CPU_SB1_PASS_1
1460         default y
1461
1462 config SB1_PASS_2_WORKAROUNDS
1463         bool
1464         depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2)
1465         default y
1466
1467 config SB1_PASS_2_1_WORKAROUNDS
1468         bool
1469         depends on CPU_SB1 && CPU_SB1_PASS_2
1470         default y
1471
1472 config 64BIT_PHYS_ADDR
1473         bool "Support for 64-bit physical address space"
1474         depends on (CPU_R4X00 || CPU_R5000 || CPU_RM7000 || CPU_RM9000 || CPU_R10000 || CPU_SB1 || CPU_MIPS32 || CPU_MIPS64) && 32BIT
1475
1476 config CPU_ADVANCED
1477         bool "Override CPU Options"
1478         depends on 32BIT
1479         help
1480           Saying yes here allows you to select support for various features
1481           your CPU may or may not have.  Most people should say N here.
1482
1483 config CPU_HAS_LLSC
1484         bool "ll/sc Instructions available" if CPU_ADVANCED
1485         default y if !CPU_ADVANCED && !CPU_R3000 && !CPU_VR41XX && !CPU_TX39XX
1486         help
1487           MIPS R4000 series and later provide the Load Linked (ll)
1488           and Store Conditional (sc) instructions. More information is
1489           available at <http://www.go-ecs.com/mips/miptek1.htm>.
1490
1491           Say Y here if your CPU has the ll and sc instructions.  Say Y here
1492           for better performance, N if you don't know.  You must say Y here
1493           for multiprocessor machines.
1494
1495 config CPU_HAS_WB
1496         bool "Writeback Buffer available" if CPU_ADVANCED
1497         default y if !CPU_ADVANCED && CPU_R3000 && MACH_DECSTATION
1498         help
1499           Say N here for slightly better performance.  You must say Y here for
1500           machines which require flushing of write buffers in software.  Saying
1501           Y is the safe option; N may result in kernel malfunction and crashes.
1502
1503 menu "MIPSR2 Interrupt handling"
1504         depends on CPU_MIPSR2 && CPU_ADVANCED
1505
1506 config CPU_MIPSR2_IRQ_VI
1507         bool "Vectored interrupt mode"
1508         help
1509            Vectored interrupt mode allowing faster dispatching of interrupts.
1510            The board support code needs to be written to take advantage of this
1511            mode.  Compatibility code is included to allow the kernel to run on
1512            a CPU that does not support vectored interrupts.  It's safe to
1513            say Y here.
1514
1515 config CPU_MIPSR2_IRQ_EI
1516         bool "External interrupt controller mode"
1517         help
1518            Extended interrupt mode takes advantage of an external interrupt
1519            controller to allow fast dispatching from many possible interrupt
1520            sources. Say N unless you know that external interrupt support is
1521            required.
1522
1523 config CPU_MIPSR2_SRS
1524         bool "Make shadow set registers available for interrupt handlers"
1525         depends on CPU_MIPSR2_IRQ_VI || CPU_MIPSR2_IRQ_EI
1526         help
1527            Allow the kernel to use shadow register sets for fast interrupts.
1528            Interrupt handlers must be specially written to use shadow sets.
1529            Say N unless you know that shadow register set upport is needed.
1530 endmenu
1531
1532 config CPU_HAS_SYNC
1533         bool
1534         depends on !CPU_R3000
1535         default y
1536
1537 #
1538 # Use the generic interrupt handling code in kernel/irq/:
1539 #
1540 config GENERIC_HARDIRQS
1541         bool
1542         default y
1543
1544 config GENERIC_IRQ_PROBE
1545         bool
1546         default y
1547
1548 #
1549 # - Highmem only makes sense for the 32-bit kernel.
1550 # - The current highmem code will only work properly on physically indexed
1551 #   caches such as R3000, SB1, R7000 or those that look like they're virtually
1552 #   indexed such as R4000/R4400 SC and MC versions or R10000.  So for the
1553 #   moment we protect the user and offer the highmem option only on machines
1554 #   where it's known to be safe.  This will not offer highmem on a few systems
1555 #   such as MIPS32 and MIPS64 CPUs which may have virtual and physically
1556 #   indexed CPUs but we're playing safe.
1557 # - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we
1558 #   know they might have memory configurations that could make use of highmem
1559 #   support.
1560 #
1561 config HIGHMEM
1562         bool "High Memory Support"
1563         depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM
1564
1565 config CPU_SUPPORTS_HIGHMEM
1566         bool
1567
1568 config SYS_SUPPORTS_HIGHMEM
1569         bool
1570
1571 config ARCH_FLATMEM_ENABLE
1572         def_bool y
1573         depends on !NUMA
1574
1575 source "mm/Kconfig"
1576
1577 config SMP
1578         bool "Multi-Processing support"
1579         depends on CPU_RM9000 || ((SIBYTE_BCM1x80 || SIBYTE_BCM1x55 || SIBYTE_SB1250) && !SIBYTE_STANDALONE) || SGI_IP27 || MIPS_MT_SMP
1580         ---help---
1581           This enables support for systems with more than one CPU. If you have
1582           a system with only one CPU, like most personal computers, say N. If
1583           you have a system with more than one CPU, say Y.
1584
1585           If you say N here, the kernel will run on single and multiprocessor
1586           machines, but will use only one CPU of a multiprocessor machine. If
1587           you say Y here, the kernel will run on many, but not all,
1588           singleprocessor machines. On a singleprocessor machine, the kernel
1589           will run faster if you say N here.
1590
1591           People using multiprocessor machines who say Y here should also say
1592           Y to "Enhanced Real Time Clock Support", below.
1593
1594           See also the <file:Documentation/smp.txt> and the SMP-HOWTO
1595           available at <http://www.tldp.org/docs.html#howto>.
1596
1597           If you don't know what to do here, say N.
1598
1599 config NR_CPUS
1600         int "Maximum number of CPUs (2-64)"
1601         range 2 64
1602         depends on SMP
1603         default "64" if SGI_IP27
1604         default "2"
1605         help
1606           This allows you to specify the maximum number of CPUs which this
1607           kernel will support.  The maximum supported value is 32 for 32-bit
1608           kernel and 64 for 64-bit kernels; the minimum value which makes
1609           sense is 2.
1610
1611           This is purely to save memory - each supported CPU adds
1612           approximately eight kilobytes to the kernel image.
1613
1614 source "kernel/Kconfig.preempt"
1615
1616 config RTC_DS1742
1617         bool "DS1742 BRAM/RTC support"
1618         depends on TOSHIBA_JMR3927 || TOSHIBA_RBTX4927
1619
1620 config MIPS_INSANE_LARGE
1621         bool "Support for large 64-bit configurations"
1622         depends on CPU_R10000 && 64BIT
1623         help
1624           MIPS R10000 does support a 44 bit / 16TB address space as opposed to
1625           previous 64-bit processors which only supported 40 bit / 1TB. If you
1626           need processes of more than 1TB virtual address space, say Y here.
1627           This will result in additional memory usage, so it is not
1628           recommended for normal users.
1629
1630 endmenu
1631
1632 config RWSEM_GENERIC_SPINLOCK
1633         bool
1634         default y
1635
1636 source "init/Kconfig"
1637
1638 menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
1639
1640 config HW_HAS_EISA
1641         bool
1642 config HW_HAS_PCI
1643         bool
1644
1645 config PCI
1646         bool "Support for PCI controller"
1647         depends on HW_HAS_PCI
1648         help
1649           Find out whether you have a PCI motherboard. PCI is the name of a
1650           bus system, i.e. the way the CPU talks to the other stuff inside
1651           your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
1652           say Y, otherwise N.
1653
1654           The PCI-HOWTO, available from
1655           <http://www.tldp.org/docs.html#howto>, contains valuable
1656           information about which PCI hardware does work under Linux and which
1657           doesn't.
1658
1659 config PCI_DOMAINS
1660         bool
1661         depends on PCI
1662
1663 source "drivers/pci/Kconfig"
1664
1665 #
1666 # ISA support is now enabled via select.  Too many systems still have the one
1667 # or other ISA chip on the board that users don't know about so don't expect
1668 # users to choose the right thing ...
1669 #
1670 config ISA
1671         bool
1672
1673 config EISA
1674         bool "EISA support"
1675         depends on HW_HAS_EISA
1676         select ISA
1677         ---help---
1678           The Extended Industry Standard Architecture (EISA) bus was
1679           developed as an open alternative to the IBM MicroChannel bus.
1680
1681           The EISA bus provided some of the features of the IBM MicroChannel
1682           bus while maintaining backward compatibility with cards made for
1683           the older ISA bus.  The EISA bus saw limited use between 1988 and
1684           1995 when it was made obsolete by the PCI bus.
1685
1686           Say Y here if you are building a kernel for an EISA-based machine.
1687
1688           Otherwise, say N.
1689
1690 source "drivers/eisa/Kconfig"
1691
1692 config TC
1693         bool "TURBOchannel support"
1694         depends on MACH_DECSTATION
1695         help
1696           TurboChannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
1697           processors.  Documentation on writing device drivers for TurboChannel
1698           is available at:
1699           <http://www.cs.arizona.edu/computer.help/policy/DIGITAL_unix/AA-PS3HD-TET1_html/TITLE.html>.
1700
1701 #config ACCESSBUS
1702 #       bool "Access.Bus support"
1703 #       depends on TC
1704
1705 config MMU
1706         bool
1707         default y
1708
1709 source "drivers/pcmcia/Kconfig"
1710
1711 source "drivers/pci/hotplug/Kconfig"
1712
1713 endmenu
1714
1715 menu "Executable file formats"
1716
1717 source "fs/Kconfig.binfmt"
1718
1719 config TRAD_SIGNALS
1720         bool
1721
1722 config BUILD_ELF64
1723         bool "Use 64-bit ELF format for building"
1724         depends on 64BIT
1725         help
1726           A 64-bit kernel is usually built using the 64-bit ELF binary object
1727           format as it's one that allows arbitrary 64-bit constructs.  For
1728           kernels that are loaded within the KSEG compatibility segments the
1729           32-bit ELF format can optionally be used resulting in a somewhat
1730           smaller binary, but this option is not explicitly supported by the
1731           toolchain and since binutils 2.14 it does not even work at all.
1732
1733           Say Y to use the 64-bit format or N to use the 32-bit one.
1734
1735           If unsure say Y.
1736
1737 config BINFMT_IRIX
1738         bool "Include IRIX binary compatibility"
1739         depends on CPU_BIG_ENDIAN && 32BIT && BROKEN
1740
1741 config MIPS32_COMPAT
1742         bool "Kernel support for Linux/MIPS 32-bit binary compatibility"
1743         depends on 64BIT
1744         help
1745           Select this option if you want Linux/MIPS 32-bit binary
1746           compatibility. Since all software available for Linux/MIPS is
1747           currently 32-bit you should say Y here.
1748
1749 config COMPAT
1750         bool
1751         depends on MIPS32_COMPAT
1752         default y
1753
1754 config MIPS32_O32
1755         bool "Kernel support for o32 binaries"
1756         depends on MIPS32_COMPAT
1757         help
1758           Select this option if you want to run o32 binaries.  These are pure
1759           32-bit binaries as used by the 32-bit Linux/MIPS port.  Most of
1760           existing binaries are in this format.
1761
1762           If unsure, say Y.
1763
1764 config MIPS32_N32
1765         bool "Kernel support for n32 binaries"
1766         depends on MIPS32_COMPAT
1767         help
1768           Select this option if you want to run n32 binaries.  These are
1769           64-bit binaries using 32-bit quantities for addressing and certain
1770           data that would normally be 64-bit.  They are used in special
1771           cases.
1772
1773           If unsure, say N.
1774
1775 config BINFMT_ELF32
1776         bool
1777         default y if MIPS32_O32 || MIPS32_N32
1778
1779 config SECCOMP
1780         bool "Enable seccomp to safely compute untrusted bytecode"
1781         depends on PROC_FS && BROKEN
1782         default y
1783         help
1784           This kernel feature is useful for number crunching applications
1785           that may need to compute untrusted bytecode during their
1786           execution. By using pipes or other transports made available to
1787           the process as file descriptors supporting the read/write
1788           syscalls, it's possible to isolate those applications in
1789           their own address space using seccomp. Once seccomp is
1790           enabled via /proc/<pid>/seccomp, it cannot be disabled
1791           and the task is only allowed to execute a few safe syscalls
1792           defined by each seccomp mode.
1793
1794           If unsure, say Y. Only embedded should say N here.
1795
1796 config PM
1797         bool "Power Management support (EXPERIMENTAL)"
1798         depends on EXPERIMENTAL && SOC_AU1X00
1799
1800 endmenu
1801
1802 source "net/Kconfig"
1803
1804 source "drivers/Kconfig"
1805
1806 source "fs/Kconfig"
1807
1808 source "arch/mips/oprofile/Kconfig"
1809
1810 source "arch/mips/Kconfig.debug"
1811
1812 source "security/Kconfig"
1813
1814 source "crypto/Kconfig"
1815
1816 source "lib/Kconfig"