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