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