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