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