BCM1480 HT support
[safe/jmp/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_BIGSUR
550         bool "Support for Sibyte BigSur"
551         select BOOT_ELF32
552         select DMA_COHERENT
553         select SIBYTE_BCM1x80
554         select SWAP_IO_SPACE
555         select SYS_SUPPORTS_BIG_ENDIAN
556         select SYS_SUPPORTS_LITTLE_ENDIAN
557         select PCI_DOMAINS
558
559 config SIBYTE_SWARM
560         bool "Support for Sibyte BCM91250A-SWARM"
561         select BOOT_ELF32
562         select DMA_COHERENT
563         select SIBYTE_SB1250
564         select SWAP_IO_SPACE
565         select SYS_SUPPORTS_BIG_ENDIAN
566         select SYS_SUPPORTS_HIGHMEM
567         select SYS_SUPPORTS_LITTLE_ENDIAN
568
569 config SIBYTE_SENTOSA
570         bool "Support for Sibyte BCM91250E-Sentosa"
571         depends on EXPERIMENTAL
572         select BOOT_ELF32
573         select DMA_COHERENT
574         select SIBYTE_SB1250
575         select SWAP_IO_SPACE
576         select SYS_SUPPORTS_BIG_ENDIAN
577         select SYS_SUPPORTS_LITTLE_ENDIAN
578
579 config SIBYTE_RHONE
580         bool "Support for Sibyte BCM91125E-Rhone"
581         depends on EXPERIMENTAL
582         select BOOT_ELF32
583         select DMA_COHERENT
584         select SIBYTE_BCM1125H
585         select SWAP_IO_SPACE
586         select SYS_SUPPORTS_BIG_ENDIAN
587         select SYS_SUPPORTS_LITTLE_ENDIAN
588
589 config SIBYTE_CARMEL
590         bool "Support for Sibyte BCM91120x-Carmel"
591         depends on EXPERIMENTAL
592         select BOOT_ELF32
593         select DMA_COHERENT
594         select SIBYTE_BCM1120
595         select SWAP_IO_SPACE
596         select SYS_SUPPORTS_BIG_ENDIAN
597         select SYS_SUPPORTS_LITTLE_ENDIAN
598
599 config SIBYTE_PTSWARM
600         bool "Support for Sibyte BCM91250PT-PTSWARM"
601         depends on EXPERIMENTAL
602         select BOOT_ELF32
603         select DMA_COHERENT
604         select SIBYTE_SB1250
605         select SWAP_IO_SPACE
606         select SYS_SUPPORTS_BIG_ENDIAN
607         select SYS_SUPPORTS_HIGHMEM
608         select SYS_SUPPORTS_LITTLE_ENDIAN
609
610 config SIBYTE_LITTLESUR
611         bool "Support for Sibyte BCM91250C2-LittleSur"
612         depends on EXPERIMENTAL
613         select BOOT_ELF32
614         select DMA_COHERENT
615         select SIBYTE_SB1250
616         select SWAP_IO_SPACE
617         select SYS_SUPPORTS_BIG_ENDIAN
618         select SYS_SUPPORTS_HIGHMEM
619         select SYS_SUPPORTS_LITTLE_ENDIAN
620
621 config SIBYTE_CRHINE
622         bool "Support for Sibyte BCM91120C-CRhine"
623         depends on EXPERIMENTAL
624         select BOOT_ELF32
625         select DMA_COHERENT
626         select SIBYTE_BCM1120
627         select SWAP_IO_SPACE
628         select SYS_SUPPORTS_BIG_ENDIAN
629         select SYS_SUPPORTS_LITTLE_ENDIAN
630
631 config SIBYTE_CRHONE
632         bool "Support for Sibyte BCM91125C-CRhone"
633         depends on EXPERIMENTAL
634         select BOOT_ELF32
635         select DMA_COHERENT
636         select SIBYTE_BCM1125
637         select SWAP_IO_SPACE
638         select SYS_SUPPORTS_BIG_ENDIAN
639         select SYS_SUPPORTS_HIGHMEM
640         select SYS_SUPPORTS_LITTLE_ENDIAN
641
642 config SNI_RM200_PCI
643         bool "Support for SNI RM200 PCI"
644         select ARC
645         select ARC32
646         select ARCH_MAY_HAVE_PC_FDC
647         select BOOT_ELF32
648         select DMA_NONCOHERENT
649         select GENERIC_ISA_DMA
650         select HAVE_STD_PC_SERIAL_PORT
651         select HW_HAS_EISA
652         select HW_HAS_PCI
653         select I8259
654         select ISA
655         select SYS_SUPPORTS_32BIT_KERNEL
656         select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
657         select SYS_SUPPORTS_BIG_ENDIAN if EXPERIMENTAL
658         select SYS_SUPPORTS_HIGHMEM
659         select SYS_SUPPORTS_LITTLE_ENDIAN
660         help
661           The SNI RM200 PCI was a MIPS-based platform manufactured by Siemens
662           Nixdorf Informationssysteme (SNI), parent company of Pyramid
663           Technology and now in turn merged with Fujitsu.  Say Y here to
664           support this machine type.
665
666 config TOSHIBA_JMR3927
667         bool "Support for Toshiba JMR-TX3927 board"
668         select DMA_NONCOHERENT
669         select HW_HAS_PCI
670         select MIPS_TX3927
671         select SWAP_IO_SPACE
672         select SYS_SUPPORTS_32BIT_KERNEL
673         select SYS_SUPPORTS_BIG_ENDIAN
674         select TOSHIBA_BOARDS
675
676 config TOSHIBA_RBTX4927
677         bool "Support for Toshiba TBTX49[23]7 board"
678         select DMA_NONCOHERENT
679         select HAS_TXX9_SERIAL
680         select HW_HAS_PCI
681         select I8259
682         select ISA
683         select SWAP_IO_SPACE
684         select SYS_SUPPORTS_32BIT_KERNEL
685         select SYS_SUPPORTS_64BIT_KERNEL
686         select SYS_SUPPORTS_BIG_ENDIAN
687         select TOSHIBA_BOARDS
688         help
689           This Toshiba board is based on the TX4927 processor. Say Y here to
690           support this machine type
691
692 config TOSHIBA_RBTX4938
693         bool "Support for Toshiba RBTX4938 board"
694         select HAVE_STD_PC_SERIAL_PORT
695         select DMA_NONCOHERENT
696         select GENERIC_ISA_DMA
697         select HAS_TXX9_SERIAL
698         select HW_HAS_PCI
699         select I8259
700         select ISA
701         select SWAP_IO_SPACE
702         select SYS_SUPPORTS_32BIT_KERNEL
703         select SYS_SUPPORTS_LITTLE_ENDIAN
704         select SYS_SUPPORTS_BIG_ENDIAN
705         select TOSHIBA_BOARDS
706         help
707           This Toshiba board is based on the TX4938 processor. Say Y here to
708           support this machine type
709
710 endchoice
711
712 source "arch/mips/ddb5xxx/Kconfig"
713 source "arch/mips/gt64120/ev64120/Kconfig"
714 source "arch/mips/jazz/Kconfig"
715 source "arch/mips/ite-boards/Kconfig"
716 source "arch/mips/lasat/Kconfig"
717 source "arch/mips/momentum/Kconfig"
718 source "arch/mips/pmc-sierra/Kconfig"
719 source "arch/mips/sgi-ip27/Kconfig"
720 source "arch/mips/sibyte/Kconfig"
721 source "arch/mips/tx4927/Kconfig"
722 source "arch/mips/tx4938/Kconfig"
723 source "arch/mips/vr41xx/Kconfig"
724 source "arch/mips/philips/pnx8550/common/Kconfig"
725
726 endmenu
727
728 config RWSEM_GENERIC_SPINLOCK
729         bool
730         default y
731
732 config RWSEM_XCHGADD_ALGORITHM
733         bool
734
735 config GENERIC_CALIBRATE_DELAY
736         bool
737         default y
738
739 #
740 # Select some configuration options automatically based on user selections.
741 #
742 config ARC
743         bool
744
745 config ARCH_MAY_HAVE_PC_FDC
746         bool
747
748 config DMA_COHERENT
749         bool
750
751 config DMA_IP27
752         bool
753
754 config DMA_IP32
755         bool
756         select DMA_NEED_PCI_MAP_STATE
757
758 config DMA_NONCOHERENT
759         bool
760         select DMA_NEED_PCI_MAP_STATE
761
762 config DMA_NEED_PCI_MAP_STATE
763         bool
764
765 config OWN_DMA
766         bool
767
768 config EARLY_PRINTK
769         bool
770
771 config GENERIC_ISA_DMA
772         bool
773
774 config I8259
775         bool
776
777 config LIMITED_DMA
778         bool
779         select HIGHMEM
780         select SYS_SUPPORTS_HIGHMEM
781
782 config MIPS_BONITO64
783         bool
784
785 config MIPS_MSC
786         bool
787
788 config MIPS_NILE4
789         bool
790
791 config MIPS_DISABLE_OBSOLETE_IDE
792         bool
793
794 #
795 # Endianess selection.  Suffiently obscure so many users don't know what to
796 # answer,so we try hard to limit the available choices.  Also the use of a
797 # choice statement should be more obvious to the user.
798 #
799 choice
800         prompt "Endianess selection"
801         help
802           Some MIPS machines can be configured for either little or big endian
803           byte order. These modes require different kernels and a different
804           Linux distribution.  In general there is one prefered byteorder for a
805           particular system but some systems are just as commonly used in the
806           one or the other endianess.
807
808 config CPU_BIG_ENDIAN
809         bool "Big endian"
810         depends on SYS_SUPPORTS_BIG_ENDIAN
811
812 config CPU_LITTLE_ENDIAN
813         bool "Little endian"
814         depends on SYS_SUPPORTS_LITTLE_ENDIAN
815         help
816
817 endchoice
818
819 config SYS_SUPPORTS_BIG_ENDIAN
820         bool
821
822 config SYS_SUPPORTS_LITTLE_ENDIAN
823         bool
824
825 config IRQ_CPU
826         bool
827
828 config IRQ_CPU_RM7K
829         bool
830
831 config IRQ_CPU_RM9K
832         bool
833
834 config IRQ_MV64340
835         bool
836
837 config DDB5XXX_COMMON
838         bool
839
840 config MIPS_BOARDS_GEN
841         bool
842
843 config MIPS_GT64111
844         bool
845
846 config MIPS_GT64120
847         bool
848
849 config MIPS_TX3927
850         bool
851         select HAS_TXX9_SERIAL
852
853 config PCI_MARVELL
854         bool
855
856 config ITE_BOARD_GEN
857         bool
858
859 config SOC_AU1000
860         bool
861         select SOC_AU1X00
862
863 config SOC_AU1100
864         bool
865         select SOC_AU1X00
866
867 config SOC_AU1500
868         bool
869         select SOC_AU1X00
870
871 config SOC_AU1550
872         bool
873         select SOC_AU1X00
874
875 config SOC_AU1200
876         bool
877         select SOC_AU1X00
878
879 config SOC_AU1X00
880         bool
881         select SYS_SUPPORTS_32BIT_KERNEL
882
883 config PNX8550
884         bool
885         select SOC_PNX8550
886
887 config SOC_PNX8550
888         bool
889         select SYS_SUPPORTS_32BIT_KERNEL
890         select DMA_NONCOHERENT
891         select HW_HAS_PCI
892
893 config SWAP_IO_SPACE
894         bool
895
896 #
897 # Unfortunately not all GT64120 systems run the chip at the same clock.
898 # As the user for the clock rate and try to minimize the available options.
899 #
900 choice
901         prompt "Galileo Chip Clock"
902         #default SYSCLK_83 if MIPS_EV64120
903         depends on MIPS_EV64120 || MOMENCO_OCELOT || MOMENCO_OCELOT_G
904         default SYSCLK_83 if MIPS_EV64120
905         default SYSCLK_100 if MOMENCO_OCELOT || MOMENCO_OCELOT_G
906
907 config SYSCLK_75
908         bool "75" if MIPS_EV64120
909
910 config SYSCLK_83
911         bool "83.3" if MIPS_EV64120
912
913 config SYSCLK_100
914         bool "100" if MIPS_EV64120 || MOMENCO_OCELOT || MOMENCO_OCELOT_G
915
916 endchoice
917
918 config ARC32
919         bool
920
921 config AU1X00_USB_DEVICE
922         bool
923         depends on MIPS_PB1500 || MIPS_PB1100 || MIPS_PB1000
924         default n
925
926 config MIPS_GT96100
927         bool
928         select MIPS_GT64120
929
930 config IT8172_CIR
931         bool
932         depends on MIPS_ITE8172 || MIPS_IVR
933         default y
934
935 config IT8712
936         bool
937         depends on MIPS_ITE8172
938         default y
939
940 config BOOT_ELF32
941         bool
942
943 config MIPS_L1_CACHE_SHIFT
944         int
945         default "4" if MACH_DECSTATION
946         default "7" if SGI_IP27
947         default "5"
948
949 config HAVE_STD_PC_SERIAL_PORT
950         bool
951
952 config ARC_CONSOLE
953         bool "ARC console support"
954         depends on SGI_IP22 || SNI_RM200_PCI
955
956 config ARC_MEMORY
957         bool
958         depends on MACH_JAZZ || SNI_RM200_PCI || SGI_IP32
959         default y
960
961 config ARC_PROMLIB
962         bool
963         depends on MACH_JAZZ || SNI_RM200_PCI || SGI_IP22 || SGI_IP32
964         default y
965
966 config ARC64
967         bool
968
969 config BOOT_ELF64
970         bool
971
972 config TOSHIBA_BOARDS
973         bool
974
975 menu "CPU selection"
976
977 choice
978         prompt "CPU type"
979         default CPU_R4X00
980
981 config CPU_MIPS32_R1
982         bool "MIPS32 Release 1"
983         select CPU_HAS_PREFETCH
984         select CPU_SUPPORTS_32BIT_KERNEL
985         help
986           Choose this option to build a kernel for release 1 or later of the
987           MIPS32 architecture.  Most modern embedded systems with a 32-bit
988           MIPS processor are based on a MIPS32 processor.  If you know the
989           specific type of processor in your system, choose those that one
990           otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
991           Release 2 of the MIPS32 architecture is available since several
992           years so chances are you even have a MIPS32 Release 2 processor
993           in which case you should choose CPU_MIPS32_R2 instead for better
994           performance.
995
996 config CPU_MIPS32_R2
997         bool "MIPS32 Release 2"
998         select CPU_HAS_PREFETCH
999         select CPU_SUPPORTS_32BIT_KERNEL
1000         help
1001           Choose this option to build a kernel for release 2 or later of the
1002           MIPS32 architecture.  Most modern embedded systems with a 32-bit
1003           MIPS processor are based on a MIPS32 processor.  If you know the
1004           specific type of processor in your system, choose those that one
1005           otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1006
1007 config CPU_MIPS64_R1
1008         bool "MIPS64 Release 1"
1009         select CPU_HAS_PREFETCH
1010         select CPU_SUPPORTS_32BIT_KERNEL
1011         select CPU_SUPPORTS_64BIT_KERNEL
1012         help
1013           Choose this option to build a kernel for release 1 or later of the
1014           MIPS64 architecture.  Many modern embedded systems with a 64-bit
1015           MIPS processor are based on a MIPS64 processor.  If you know the
1016           specific type of processor in your system, choose those that one
1017           otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1018           Release 2 of the MIPS64 architecture is available since several
1019           years so chances are you even have a MIPS64 Release 2 processor
1020           in which case you should choose CPU_MIPS64_R2 instead for better
1021           performance.
1022
1023 config CPU_MIPS64_R2
1024         bool "MIPS64 Release 2"
1025         select CPU_HAS_PREFETCH
1026         select CPU_SUPPORTS_32BIT_KERNEL
1027         select CPU_SUPPORTS_64BIT_KERNEL
1028         help
1029           Choose this option to build a kernel for release 2 or later of the
1030           MIPS64 architecture.  Many modern embedded systems with a 64-bit
1031           MIPS processor are based on a MIPS64 processor.  If you know the
1032           specific type of processor in your system, choose those that one
1033           otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1034
1035 config CPU_R3000
1036         bool "R3000"
1037         select CPU_SUPPORTS_32BIT_KERNEL
1038         select CPU_SUPPORTS_HIGHMEM
1039         help
1040           Please make sure to pick the right CPU type. Linux/MIPS is not
1041           designed to be generic, i.e. Kernels compiled for R3000 CPUs will
1042           *not* work on R4000 machines and vice versa.  However, since most
1043           of the supported machines have an R4000 (or similar) CPU, R4x00
1044           might be a safe bet.  If the resulting kernel does not work,
1045           try to recompile with R3000.
1046
1047 config CPU_TX39XX
1048         bool "R39XX"
1049         select CPU_SUPPORTS_32BIT_KERNEL
1050
1051 config CPU_VR41XX
1052         bool "R41xx"
1053         select CPU_SUPPORTS_32BIT_KERNEL
1054         select CPU_SUPPORTS_64BIT_KERNEL
1055         help
1056           The options selects support for the NEC VR4100 series of processors.
1057           Only choose this option if you have one of these processors as a
1058           kernel built with this option will not run on any other type of
1059           processor or vice versa.
1060
1061 config CPU_R4300
1062         bool "R4300"
1063         select CPU_SUPPORTS_32BIT_KERNEL
1064         select CPU_SUPPORTS_64BIT_KERNEL
1065         help
1066           MIPS Technologies R4300-series processors.
1067
1068 config CPU_R4X00
1069         bool "R4x00"
1070         select CPU_SUPPORTS_32BIT_KERNEL
1071         select CPU_SUPPORTS_64BIT_KERNEL
1072         help
1073           MIPS Technologies R4000-series processors other than 4300, including
1074           the R4000, R4400, R4600, and 4700.
1075
1076 config CPU_TX49XX
1077         bool "R49XX"
1078         select CPU_SUPPORTS_32BIT_KERNEL
1079         select CPU_SUPPORTS_64BIT_KERNEL
1080
1081 config CPU_R5000
1082         bool "R5000"
1083         select CPU_SUPPORTS_32BIT_KERNEL
1084         select CPU_SUPPORTS_64BIT_KERNEL
1085         help
1086           MIPS Technologies R5000-series processors other than the Nevada.
1087
1088 config CPU_R5432
1089         bool "R5432"
1090         select CPU_SUPPORTS_32BIT_KERNEL
1091         select CPU_SUPPORTS_64BIT_KERNEL
1092
1093 config CPU_R6000
1094         bool "R6000"
1095         depends on EXPERIMENTAL
1096         select CPU_SUPPORTS_32BIT_KERNEL
1097         help
1098           MIPS Technologies R6000 and R6000A series processors.  Note these
1099           processors are extremly rare and the support for them is incomplete.
1100
1101 config CPU_NEVADA
1102         bool "RM52xx"
1103         select CPU_SUPPORTS_32BIT_KERNEL
1104         select CPU_SUPPORTS_64BIT_KERNEL
1105         help
1106           QED / PMC-Sierra RM52xx-series ("Nevada") processors.
1107
1108 config CPU_R8000
1109         bool "R8000"
1110         depends on EXPERIMENTAL
1111         select CPU_HAS_PREFETCH
1112         select CPU_SUPPORTS_64BIT_KERNEL
1113         help
1114           MIPS Technologies R8000 processors.  Note these processors are
1115           uncommon and the support for them is incomplete.
1116
1117 config CPU_R10000
1118         bool "R10000"
1119         select CPU_HAS_PREFETCH
1120         select CPU_SUPPORTS_32BIT_KERNEL
1121         select CPU_SUPPORTS_64BIT_KERNEL
1122         select CPU_SUPPORTS_HIGHMEM
1123         help
1124           MIPS Technologies R10000-series processors.
1125
1126 config CPU_RM7000
1127         bool "RM7000"
1128         select CPU_HAS_PREFETCH
1129         select CPU_SUPPORTS_32BIT_KERNEL
1130         select CPU_SUPPORTS_64BIT_KERNEL
1131         select CPU_SUPPORTS_HIGHMEM
1132
1133 config CPU_RM9000
1134         bool "RM9000"
1135         select CPU_HAS_PREFETCH
1136         select CPU_SUPPORTS_32BIT_KERNEL
1137         select CPU_SUPPORTS_64BIT_KERNEL
1138         select CPU_SUPPORTS_HIGHMEM
1139
1140 config CPU_SB1
1141         bool "SB1"
1142         select CPU_SUPPORTS_32BIT_KERNEL
1143         select CPU_SUPPORTS_64BIT_KERNEL
1144         select CPU_SUPPORTS_HIGHMEM
1145
1146 endchoice
1147
1148 endmenu
1149
1150 #
1151 # These two indicate any levelof the MIPS32 and MIPS64 architecture
1152 #
1153 config CPU_MIPS32
1154         bool
1155         default y if CPU_MIPS32_R1 || CPU_MIPS32_R2
1156
1157 config CPU_MIPS64
1158         bool
1159         default y if CPU_MIPS64_R1 || CPU_MIPS64_R2
1160
1161 #
1162 # These two indicate the revision of the architecture, either 32 bot 64 bit.
1163 #
1164 config CPU_MIPSR1
1165         bool
1166         default y if CPU_MIPS32_R1 || CPU_MIPS64_R1
1167
1168 config CPU_MIPSR2
1169         bool
1170         default y if CPU_MIPS32_R2 || CPU_MIPS64_R2
1171
1172 config SYS_SUPPORTS_32BIT_KERNEL
1173         bool
1174 config SYS_SUPPORTS_64BIT_KERNEL
1175         bool
1176 config CPU_SUPPORTS_32BIT_KERNEL
1177         bool
1178 config CPU_SUPPORTS_64BIT_KERNEL
1179         bool
1180
1181 menu "Kernel type"
1182
1183 choice
1184
1185         prompt "Kernel code model"
1186         help
1187           You should only select this option if you have a workload that
1188           actually benefits from 64-bit processing or if your machine has
1189           large memory.  You will only be presented a single option in this
1190           menu if your system does not support both 32-bit and 64-bit kernels.
1191
1192 config 32BIT
1193         bool "32-bit kernel"
1194         depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL
1195         select TRAD_SIGNALS
1196         help
1197           Select this option if you want to build a 32-bit kernel.
1198 config 64BIT
1199         bool "64-bit kernel"
1200         depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL
1201         help
1202           Select this option if you want to build a 64-bit kernel.
1203
1204 endchoice
1205
1206 choice
1207         prompt "Kernel page size"
1208         default PAGE_SIZE_4KB
1209
1210 config PAGE_SIZE_4KB
1211         bool "4kB"
1212         help
1213          This option select the standard 4kB Linux page size.  On some
1214          R3000-family processors this is the only available page size.  Using
1215          4kB page size will minimize memory consumption and is therefore
1216          recommended for low memory systems.
1217
1218 config PAGE_SIZE_8KB
1219         bool "8kB"
1220         depends on EXPERIMENTAL && CPU_R8000
1221         help
1222           Using 8kB page size will result in higher performance kernel at
1223           the price of higher memory consumption.  This option is available
1224           only on the R8000 processor.  Not that at the time of this writing
1225           this option is still high experimental; there are also issues with
1226           compatibility of user applications.
1227
1228 config PAGE_SIZE_16KB
1229         bool "16kB"
1230         depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX
1231         help
1232           Using 16kB 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 config PAGE_SIZE_64KB
1239         bool "64kB"
1240         depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX
1241         help
1242           Using 64kB page size will result in higher performance kernel at
1243           the price of higher memory consumption.  This option is available on
1244           all non-R3000 family processor.  Not that at the time of this
1245           writing this option is still high experimental; there are also
1246           issues with compatibility of user applications.
1247
1248 endchoice
1249
1250 config BOARD_SCACHE
1251         bool
1252
1253 config IP22_CPU_SCACHE
1254         bool
1255         select BOARD_SCACHE
1256
1257 config R5000_CPU_SCACHE
1258         bool
1259         select BOARD_SCACHE
1260
1261 config RM7000_CPU_SCACHE
1262         bool
1263         select BOARD_SCACHE
1264
1265 config SIBYTE_DMA_PAGEOPS
1266         bool "Use DMA to clear/copy pages"
1267         depends on CPU_SB1
1268         help
1269           Instead of using the CPU to zero and copy pages, use a Data Mover
1270           channel.  These DMA channels are otherwise unused by the standard
1271           SiByte Linux port.  Seems to give a small performance benefit.
1272
1273 config CPU_HAS_PREFETCH
1274         bool
1275
1276 config MIPS_MT
1277         bool "Enable MIPS MT"
1278
1279 choice
1280         prompt "MIPS MT options"
1281         depends on MIPS_MT
1282
1283 config MIPS_MT_SMP
1284         bool "Use 1 TC on each available VPE for SMP"
1285         select SMP
1286
1287 config MIPS_VPE_LOADER
1288         bool "VPE loader support."
1289         depends on MIPS_MT
1290         help
1291           Includes a loader for loading an elf relocatable object
1292           onto another VPE and running it.
1293
1294 endchoice
1295
1296 config MIPS_VPE_LOADER_TOM
1297         bool "Load VPE program into memory hidden from linux"
1298         depends on MIPS_VPE_LOADER
1299         default y
1300         help
1301           The loader can use memory that is present but has been hidden from
1302           Linux using the kernel command line option "mem=xxMB". It's up to
1303           you to ensure the amount you put in the option and the space your
1304           program requires is less or equal to the amount physically present.
1305
1306 # this should possibly be in drivers/char, but it is rather cpu related. Hmmm
1307 config MIPS_VPE_APSP_API
1308         bool "Enable support for AP/SP API (RTLX)"
1309         depends on MIPS_VPE_LOADER
1310         help
1311
1312 config SB1_PASS_1_WORKAROUNDS
1313         bool
1314         depends on CPU_SB1_PASS_1
1315         default y
1316
1317 config SB1_PASS_2_WORKAROUNDS
1318         bool
1319         depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2)
1320         default y
1321
1322 config SB1_PASS_2_1_WORKAROUNDS
1323         bool
1324         depends on CPU_SB1 && CPU_SB1_PASS_2
1325         default y
1326
1327 config 64BIT_PHYS_ADDR
1328         bool "Support for 64-bit physical address space"
1329         depends on (CPU_R4X00 || CPU_R5000 || CPU_RM7000 || CPU_RM9000 || CPU_R10000 || CPU_SB1 || CPU_MIPS32_R1 || CPU_MIPS64_R1) && 32BIT
1330
1331 config CPU_ADVANCED
1332         bool "Override CPU Options"
1333         depends on 32BIT
1334         help
1335           Saying yes here allows you to select support for various features
1336           your CPU may or may not have.  Most people should say N here.
1337
1338 config CPU_HAS_LLSC
1339         bool "ll/sc Instructions available" if CPU_ADVANCED
1340         default y if !CPU_ADVANCED && !CPU_R3000 && !CPU_VR41XX && !CPU_TX39XX
1341         help
1342           MIPS R4000 series and later provide the Load Linked (ll)
1343           and Store Conditional (sc) instructions. More information is
1344           available at <http://www.go-ecs.com/mips/miptek1.htm>.
1345
1346           Say Y here if your CPU has the ll and sc instructions.  Say Y here
1347           for better performance, N if you don't know.  You must say Y here
1348           for multiprocessor machines.
1349
1350 config CPU_HAS_LLDSCD
1351         bool "lld/scd Instructions available" if CPU_ADVANCED
1352         default y if !CPU_ADVANCED && !CPU_R3000 && !CPU_VR41XX && !CPU_TX39XX && !CPU_MIPS32_R1
1353         help
1354           Say Y here if your CPU has the lld and scd instructions, the 64-bit
1355           equivalents of ll and sc.  Say Y here for better performance, N if
1356           you don't know.  You must say Y here for multiprocessor machines.
1357
1358 config CPU_HAS_WB
1359         bool "Writeback Buffer available" if CPU_ADVANCED
1360         default y if !CPU_ADVANCED && CPU_R3000 && MACH_DECSTATION
1361         help
1362           Say N here for slightly better performance.  You must say Y here for
1363           machines which require flushing of write buffers in software.  Saying
1364           Y is the safe option; N may result in kernel malfunction and crashes.
1365
1366 menu "MIPSR2 Interrupt handling"
1367         depends on CPU_MIPSR2 && CPU_ADVANCED
1368
1369 config CPU_MIPSR2_IRQ_VI
1370         bool "Vectored interrupt mode"
1371         help
1372            Vectored interrupt mode allowing faster dispatching of interrupts.
1373            The board support code needs to be written to take advantage of this
1374            mode.  Compatibility code is included to allow the kernel to run on
1375            a CPU that does not support vectored interrupts.  It's safe to
1376            say Y here.
1377
1378 config CPU_MIPSR2_IRQ_EI
1379         bool "External interrupt controller mode"
1380         help
1381            Extended interrupt mode takes advantage of an external interrupt
1382            controller to allow fast dispatching from many possible interrupt
1383            sources. Say N unless you know that external interrupt support is
1384            required.
1385
1386 config CPU_MIPSR2_SRS
1387         bool "Make shadow set registers available for interrupt handlers"
1388         depends on CPU_MIPSR2_IRQ_VI || CPU_MIPSR2_IRQ_EI
1389         help
1390            Allow the kernel to use shadow register sets for fast interrupts.
1391            Interrupt handlers must be specially written to use shadow sets.
1392            Say N unless you know that shadow register set upport is needed.
1393 endmenu
1394
1395 config CPU_HAS_SYNC
1396         bool
1397         depends on !CPU_R3000
1398         default y
1399
1400 #
1401 # Use the generic interrupt handling code in kernel/irq/:
1402 #
1403 config GENERIC_HARDIRQS
1404         bool
1405         default y
1406
1407 config GENERIC_IRQ_PROBE
1408         bool
1409         default y
1410
1411 #
1412 # - Highmem only makes sense for the 32-bit kernel.
1413 # - The current highmem code will only work properly on physically indexed
1414 #   caches such as R3000, SB1, R7000 or those that look like they're virtually
1415 #   indexed such as R4000/R4400 SC and MC versions or R10000.  So for the
1416 #   moment we protect the user and offer the highmem option only on machines
1417 #   where it's known to be safe.  This will not offer highmem on a few systems
1418 #   such as MIPS32 and MIPS64 CPUs which may have virtual and physically
1419 #   indexed CPUs but we're playing safe.
1420 # - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we
1421 #   know they might have memory configurations that could make use of highmem
1422 #   support.
1423 #
1424 config HIGHMEM
1425         bool "High Memory Support"
1426         depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM
1427
1428 config CPU_SUPPORTS_HIGHMEM
1429         bool
1430
1431 config SYS_SUPPORTS_HIGHMEM
1432         bool
1433
1434 config ARCH_FLATMEM_ENABLE
1435         def_bool y
1436         depends on !NUMA
1437
1438 source "mm/Kconfig"
1439
1440 config SMP
1441         bool "Multi-Processing support"
1442         depends on CPU_RM9000 || ((SIBYTE_BCM1x80 || SIBYTE_BCM1x55 || SIBYTE_SB1250) && !SIBYTE_STANDALONE) || SGI_IP27 || MIPS_MT_SMP
1443         ---help---
1444           This enables support for systems with more than one CPU. If you have
1445           a system with only one CPU, like most personal computers, say N. If
1446           you have a system with more than one CPU, say Y.
1447
1448           If you say N here, the kernel will run on single and multiprocessor
1449           machines, but will use only one CPU of a multiprocessor machine. If
1450           you say Y here, the kernel will run on many, but not all,
1451           singleprocessor machines. On a singleprocessor machine, the kernel
1452           will run faster if you say N here.
1453
1454           People using multiprocessor machines who say Y here should also say
1455           Y to "Enhanced Real Time Clock Support", below.
1456
1457           See also the <file:Documentation/smp.txt> and the SMP-HOWTO
1458           available at <http://www.tldp.org/docs.html#howto>.
1459
1460           If you don't know what to do here, say N.
1461
1462 config NR_CPUS
1463         int "Maximum number of CPUs (2-64)"
1464         range 2 64
1465         depends on SMP
1466         default "64" if SGI_IP27
1467         default "2"
1468         help
1469           This allows you to specify the maximum number of CPUs which this
1470           kernel will support.  The maximum supported value is 32 for 32-bit
1471           kernel and 64 for 64-bit kernels; the minimum value which makes
1472           sense is 2.
1473
1474           This is purely to save memory - each supported CPU adds
1475           approximately eight kilobytes to the kernel image.
1476
1477 source "kernel/Kconfig.preempt"
1478
1479 config RTC_DS1742
1480         bool "DS1742 BRAM/RTC support"
1481         depends on TOSHIBA_JMR3927 || TOSHIBA_RBTX4927
1482
1483 config MIPS_INSANE_LARGE
1484         bool "Support for large 64-bit configurations"
1485         depends on CPU_R10000 && 64BIT
1486         help
1487           MIPS R10000 does support a 44 bit / 16TB address space as opposed to
1488           previous 64-bit processors which only supported 40 bit / 1TB. If you
1489           need processes of more than 1TB virtual address space, say Y here.
1490           This will result in additional memory usage, so it is not
1491           recommended for normal users.
1492
1493 endmenu
1494
1495 config RWSEM_GENERIC_SPINLOCK
1496         bool
1497         default y
1498
1499 menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
1500
1501 config HW_HAS_EISA
1502         bool
1503 config HW_HAS_PCI
1504         bool
1505
1506 config PCI
1507         bool "Support for PCI controller"
1508         depends on HW_HAS_PCI
1509         help
1510           Find out whether you have a PCI motherboard. PCI is the name of a
1511           bus system, i.e. the way the CPU talks to the other stuff inside
1512           your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
1513           say Y, otherwise N.
1514
1515           The PCI-HOWTO, available from
1516           <http://www.tldp.org/docs.html#howto>, contains valuable
1517           information about which PCI hardware does work under Linux and which
1518           doesn't.
1519
1520 config PCI_DOMAINS
1521         bool
1522         depends on PCI
1523
1524 source "drivers/pci/Kconfig"
1525
1526 #
1527 # ISA support is now enabled via select.  Too many systems still have the one
1528 # or other ISA chip on the board that users don't know about so don't expect
1529 # users to choose the right thing ...
1530 #
1531 config ISA
1532         bool
1533
1534 config EISA
1535         bool "EISA support"
1536         depends on HW_HAS_EISA
1537         select ISA
1538         ---help---
1539           The Extended Industry Standard Architecture (EISA) bus was
1540           developed as an open alternative to the IBM MicroChannel bus.
1541
1542           The EISA bus provided some of the features of the IBM MicroChannel
1543           bus while maintaining backward compatibility with cards made for
1544           the older ISA bus.  The EISA bus saw limited use between 1988 and
1545           1995 when it was made obsolete by the PCI bus.
1546
1547           Say Y here if you are building a kernel for an EISA-based machine.
1548
1549           Otherwise, say N.
1550
1551 source "drivers/eisa/Kconfig"
1552
1553 config TC
1554         bool "TURBOchannel support"
1555         depends on MACH_DECSTATION
1556         help
1557           TurboChannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
1558           processors.  Documentation on writing device drivers for TurboChannel
1559           is available at:
1560           <http://www.cs.arizona.edu/computer.help/policy/DIGITAL_unix/AA-PS3HD-TET1_html/TITLE.html>.
1561
1562 #config ACCESSBUS
1563 #       bool "Access.Bus support"
1564 #       depends on TC
1565
1566 config MMU
1567         bool
1568         default y
1569
1570 source "drivers/pcmcia/Kconfig"
1571
1572 source "drivers/pci/hotplug/Kconfig"
1573
1574 endmenu
1575
1576 menu "Executable file formats"
1577
1578 source "fs/Kconfig.binfmt"
1579
1580 config TRAD_SIGNALS
1581         bool
1582
1583 config BUILD_ELF64
1584         bool "Use 64-bit ELF format for building"
1585         depends on 64BIT
1586         help
1587           A 64-bit kernel is usually built using the 64-bit ELF binary object
1588           format as it's one that allows arbitrary 64-bit constructs.  For
1589           kernels that are loaded within the KSEG compatibility segments the
1590           32-bit ELF format can optionally be used resulting in a somewhat
1591           smaller binary, but this option is not explicitly supported by the
1592           toolchain and since binutils 2.14 it does not even work at all.
1593
1594           Say Y to use the 64-bit format or N to use the 32-bit one.
1595
1596           If unsure say Y.
1597
1598 config BINFMT_IRIX
1599         bool "Include IRIX binary compatibility"
1600         depends on CPU_BIG_ENDIAN && 32BIT && BROKEN
1601
1602 config MIPS32_COMPAT
1603         bool "Kernel support for Linux/MIPS 32-bit binary compatibility"
1604         depends on 64BIT
1605         help
1606           Select this option if you want Linux/MIPS 32-bit binary
1607           compatibility. Since all software available for Linux/MIPS is
1608           currently 32-bit you should say Y here.
1609
1610 config COMPAT
1611         bool
1612         depends on MIPS32_COMPAT
1613         default y
1614
1615 config MIPS32_O32
1616         bool "Kernel support for o32 binaries"
1617         depends on MIPS32_COMPAT
1618         help
1619           Select this option if you want to run o32 binaries.  These are pure
1620           32-bit binaries as used by the 32-bit Linux/MIPS port.  Most of
1621           existing binaries are in this format.
1622
1623           If unsure, say Y.
1624
1625 config MIPS32_N32
1626         bool "Kernel support for n32 binaries"
1627         depends on MIPS32_COMPAT
1628         help
1629           Select this option if you want to run n32 binaries.  These are
1630           64-bit binaries using 32-bit quantities for addressing and certain
1631           data that would normally be 64-bit.  They are used in special
1632           cases.
1633
1634           If unsure, say N.
1635
1636 config BINFMT_ELF32
1637         bool
1638         default y if MIPS32_O32 || MIPS32_N32
1639
1640 config SECCOMP
1641         bool "Enable seccomp to safely compute untrusted bytecode"
1642         depends on PROC_FS && BROKEN
1643         default y
1644         help
1645           This kernel feature is useful for number crunching applications
1646           that may need to compute untrusted bytecode during their
1647           execution. By using pipes or other transports made available to
1648           the process as file descriptors supporting the read/write
1649           syscalls, it's possible to isolate those applications in
1650           their own address space using seccomp. Once seccomp is
1651           enabled via /proc/<pid>/seccomp, it cannot be disabled
1652           and the task is only allowed to execute a few safe syscalls
1653           defined by each seccomp mode.
1654
1655           If unsure, say Y. Only embedded should say N here.
1656
1657 config PM
1658         bool "Power Management support (EXPERIMENTAL)"
1659         depends on EXPERIMENTAL && SOC_AU1X00
1660
1661 endmenu
1662
1663 source "net/Kconfig"
1664
1665 source "drivers/Kconfig"
1666
1667 source "fs/Kconfig"
1668
1669 source "arch/mips/oprofile/Kconfig"
1670
1671 source "arch/mips/Kconfig.debug"
1672
1673 source "security/Kconfig"
1674
1675 source "crypto/Kconfig"
1676
1677 source "lib/Kconfig"