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