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