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