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