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