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