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