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