[MIPS] Remove unused pnx8550 Kconfig
[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 MIPS_BOARDS_GEN
771         bool
772
773 config PCI_GT64XXX_PCI0
774         bool
775
776 config NO_EXCEPT_FILL
777         bool
778
779 config MIPS_TX3927
780         bool
781         select HAS_TXX9_SERIAL
782
783 config MIPS_RM9122
784         bool
785         select SERIAL_RM9000
786
787 config PNX8550
788         bool
789         select SOC_PNX8550
790
791 config SOC_PNX8550
792         bool
793         select DMA_NONCOHERENT
794         select HW_HAS_PCI
795         select SYS_HAS_CPU_MIPS32_R1
796         select SYS_HAS_EARLY_PRINTK
797         select SYS_SUPPORTS_32BIT_KERNEL
798         select GENERIC_HARDIRQS_NO__DO_IRQ
799         select SYS_SUPPORTS_KGDB
800         select GENERIC_GPIO
801
802 config SWAP_IO_SPACE
803         bool
804
805 config EMMA2RH
806         bool
807         depends on MARKEINS
808         default y
809
810 config SERIAL_RM9000
811         bool
812
813 #
814 # Unfortunately not all GT64120 systems run the chip at the same clock.
815 # As the user for the clock rate and try to minimize the available options.
816 #
817 choice
818         prompt "Galileo Chip Clock"
819         depends on MOMENCO_OCELOT
820         default SYSCLK_100 if MOMENCO_OCELOT
821
822 config SYSCLK_100
823         bool "100" if MOMENCO_OCELOT
824
825 endchoice
826
827 config ARC32
828         bool
829
830 config BOOT_ELF32
831         bool
832
833 config MIPS_L1_CACHE_SHIFT
834         int
835         default "4" if MACH_DECSTATION
836         default "7" if SGI_IP27 || SNI_RM
837         default "4" if PMC_MSP4200_EVAL
838         default "5"
839
840 config HAVE_STD_PC_SERIAL_PORT
841         bool
842
843 config ARC_CONSOLE
844         bool "ARC console support"
845         depends on SGI_IP22 || (SNI_RM && CPU_LITTLE_ENDIAN)
846
847 config ARC_MEMORY
848         bool
849         depends on MACH_JAZZ || SNI_RM || SGI_IP32
850         default y
851
852 config ARC_PROMLIB
853         bool
854         depends on MACH_JAZZ || SNI_RM || SGI_IP22 || SGI_IP32
855         default y
856
857 config ARC64
858         bool
859
860 config BOOT_ELF64
861         bool
862
863 menu "CPU selection"
864
865 choice
866         prompt "CPU type"
867         default CPU_R4X00
868
869 config CPU_LOONGSON2
870         bool "Loongson 2"
871         depends on SYS_HAS_CPU_LOONGSON2
872         select CPU_SUPPORTS_32BIT_KERNEL
873         select CPU_SUPPORTS_64BIT_KERNEL
874         select CPU_SUPPORTS_HIGHMEM
875         help
876           The Loongson 2E processor implements the MIPS III instruction set
877           with many extensions.
878
879 config CPU_MIPS32_R1
880         bool "MIPS32 Release 1"
881         depends on SYS_HAS_CPU_MIPS32_R1
882         select CPU_HAS_LLSC
883         select CPU_HAS_PREFETCH
884         select CPU_SUPPORTS_32BIT_KERNEL
885         select CPU_SUPPORTS_HIGHMEM
886         help
887           Choose this option to build a kernel for release 1 or later of the
888           MIPS32 architecture.  Most modern embedded systems with a 32-bit
889           MIPS processor are based on a MIPS32 processor.  If you know the
890           specific type of processor in your system, choose those that one
891           otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
892           Release 2 of the MIPS32 architecture is available since several
893           years so chances are you even have a MIPS32 Release 2 processor
894           in which case you should choose CPU_MIPS32_R2 instead for better
895           performance.
896
897 config CPU_MIPS32_R2
898         bool "MIPS32 Release 2"
899         depends on SYS_HAS_CPU_MIPS32_R2
900         select CPU_HAS_LLSC
901         select CPU_HAS_PREFETCH
902         select CPU_SUPPORTS_32BIT_KERNEL
903         select CPU_SUPPORTS_HIGHMEM
904         help
905           Choose this option to build a kernel for release 2 or later of the
906           MIPS32 architecture.  Most modern embedded systems with a 32-bit
907           MIPS processor are based on a MIPS32 processor.  If you know the
908           specific type of processor in your system, choose those that one
909           otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
910
911 config CPU_MIPS64_R1
912         bool "MIPS64 Release 1"
913         depends on SYS_HAS_CPU_MIPS64_R1
914         select CPU_HAS_LLSC
915         select CPU_HAS_PREFETCH
916         select CPU_SUPPORTS_32BIT_KERNEL
917         select CPU_SUPPORTS_64BIT_KERNEL
918         select CPU_SUPPORTS_HIGHMEM
919         help
920           Choose this option to build a kernel for release 1 or later of the
921           MIPS64 architecture.  Many modern embedded systems with a 64-bit
922           MIPS processor are based on a MIPS64 processor.  If you know the
923           specific type of processor in your system, choose those that one
924           otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
925           Release 2 of the MIPS64 architecture is available since several
926           years so chances are you even have a MIPS64 Release 2 processor
927           in which case you should choose CPU_MIPS64_R2 instead for better
928           performance.
929
930 config CPU_MIPS64_R2
931         bool "MIPS64 Release 2"
932         depends on SYS_HAS_CPU_MIPS64_R2
933         select CPU_HAS_LLSC
934         select CPU_HAS_PREFETCH
935         select CPU_SUPPORTS_32BIT_KERNEL
936         select CPU_SUPPORTS_64BIT_KERNEL
937         select CPU_SUPPORTS_HIGHMEM
938         help
939           Choose this option to build a kernel for release 2 or later of the
940           MIPS64 architecture.  Many modern embedded systems with a 64-bit
941           MIPS processor are based on a MIPS64 processor.  If you know the
942           specific type of processor in your system, choose those that one
943           otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
944
945 config CPU_R3000
946         bool "R3000"
947         depends on SYS_HAS_CPU_R3000
948         select CPU_HAS_WB
949         select CPU_SUPPORTS_32BIT_KERNEL
950         select CPU_SUPPORTS_HIGHMEM
951         help
952           Please make sure to pick the right CPU type. Linux/MIPS is not
953           designed to be generic, i.e. Kernels compiled for R3000 CPUs will
954           *not* work on R4000 machines and vice versa.  However, since most
955           of the supported machines have an R4000 (or similar) CPU, R4x00
956           might be a safe bet.  If the resulting kernel does not work,
957           try to recompile with R3000.
958
959 config CPU_TX39XX
960         bool "R39XX"
961         depends on SYS_HAS_CPU_TX39XX
962         select CPU_SUPPORTS_32BIT_KERNEL
963
964 config CPU_VR41XX
965         bool "R41xx"
966         depends on SYS_HAS_CPU_VR41XX
967         select CPU_SUPPORTS_32BIT_KERNEL
968         select CPU_SUPPORTS_64BIT_KERNEL
969         help
970           The options selects support for the NEC VR4100 series of processors.
971           Only choose this option if you have one of these processors as a
972           kernel built with this option will not run on any other type of
973           processor or vice versa.
974
975 config CPU_R4300
976         bool "R4300"
977         depends on SYS_HAS_CPU_R4300
978         select CPU_HAS_LLSC
979         select CPU_SUPPORTS_32BIT_KERNEL
980         select CPU_SUPPORTS_64BIT_KERNEL
981         help
982           MIPS Technologies R4300-series processors.
983
984 config CPU_R4X00
985         bool "R4x00"
986         depends on SYS_HAS_CPU_R4X00
987         select CPU_HAS_LLSC
988         select CPU_SUPPORTS_32BIT_KERNEL
989         select CPU_SUPPORTS_64BIT_KERNEL
990         help
991           MIPS Technologies R4000-series processors other than 4300, including
992           the R4000, R4400, R4600, and 4700.
993
994 config CPU_TX49XX
995         bool "R49XX"
996         depends on SYS_HAS_CPU_TX49XX
997         select CPU_HAS_LLSC
998         select CPU_HAS_PREFETCH
999         select CPU_SUPPORTS_32BIT_KERNEL
1000         select CPU_SUPPORTS_64BIT_KERNEL
1001
1002 config CPU_R5000
1003         bool "R5000"
1004         depends on SYS_HAS_CPU_R5000
1005         select CPU_HAS_LLSC
1006         select CPU_SUPPORTS_32BIT_KERNEL
1007         select CPU_SUPPORTS_64BIT_KERNEL
1008         help
1009           MIPS Technologies R5000-series processors other than the Nevada.
1010
1011 config CPU_R5432
1012         bool "R5432"
1013         depends on SYS_HAS_CPU_R5432
1014         select CPU_HAS_LLSC
1015         select CPU_SUPPORTS_32BIT_KERNEL
1016         select CPU_SUPPORTS_64BIT_KERNEL
1017
1018 config CPU_R6000
1019         bool "R6000"
1020         depends on EXPERIMENTAL
1021         select CPU_HAS_LLSC
1022         depends on SYS_HAS_CPU_R6000
1023         select CPU_SUPPORTS_32BIT_KERNEL
1024         help
1025           MIPS Technologies R6000 and R6000A series processors.  Note these
1026           processors are extremely rare and the support for them is incomplete.
1027
1028 config CPU_NEVADA
1029         bool "RM52xx"
1030         depends on SYS_HAS_CPU_NEVADA
1031         select CPU_HAS_LLSC
1032         select CPU_SUPPORTS_32BIT_KERNEL
1033         select CPU_SUPPORTS_64BIT_KERNEL
1034         help
1035           QED / PMC-Sierra RM52xx-series ("Nevada") processors.
1036
1037 config CPU_R8000
1038         bool "R8000"
1039         depends on EXPERIMENTAL
1040         depends on SYS_HAS_CPU_R8000
1041         select CPU_HAS_LLSC
1042         select CPU_HAS_PREFETCH
1043         select CPU_SUPPORTS_64BIT_KERNEL
1044         help
1045           MIPS Technologies R8000 processors.  Note these processors are
1046           uncommon and the support for them is incomplete.
1047
1048 config CPU_R10000
1049         bool "R10000"
1050         depends on SYS_HAS_CPU_R10000
1051         select CPU_HAS_LLSC
1052         select CPU_HAS_PREFETCH
1053         select CPU_SUPPORTS_32BIT_KERNEL
1054         select CPU_SUPPORTS_64BIT_KERNEL
1055         select CPU_SUPPORTS_HIGHMEM
1056         help
1057           MIPS Technologies R10000-series processors.
1058
1059 config CPU_RM7000
1060         bool "RM7000"
1061         depends on SYS_HAS_CPU_RM7000
1062         select CPU_HAS_LLSC
1063         select CPU_HAS_PREFETCH
1064         select CPU_SUPPORTS_32BIT_KERNEL
1065         select CPU_SUPPORTS_64BIT_KERNEL
1066         select CPU_SUPPORTS_HIGHMEM
1067
1068 config CPU_RM9000
1069         bool "RM9000"
1070         depends on SYS_HAS_CPU_RM9000
1071         select CPU_HAS_LLSC
1072         select CPU_HAS_PREFETCH
1073         select CPU_SUPPORTS_32BIT_KERNEL
1074         select CPU_SUPPORTS_64BIT_KERNEL
1075         select CPU_SUPPORTS_HIGHMEM
1076         select WEAK_ORDERING
1077
1078 config CPU_SB1
1079         bool "SB1"
1080         depends on SYS_HAS_CPU_SB1
1081         select CPU_HAS_LLSC
1082         select CPU_SUPPORTS_32BIT_KERNEL
1083         select CPU_SUPPORTS_64BIT_KERNEL
1084         select CPU_SUPPORTS_HIGHMEM
1085         select WEAK_ORDERING
1086
1087 endchoice
1088
1089 config SYS_HAS_CPU_LOONGSON2
1090         bool
1091
1092 config SYS_HAS_CPU_MIPS32_R1
1093         bool
1094
1095 config SYS_HAS_CPU_MIPS32_R2
1096         bool
1097
1098 config SYS_HAS_CPU_MIPS64_R1
1099         bool
1100
1101 config SYS_HAS_CPU_MIPS64_R2
1102         bool
1103
1104 config SYS_HAS_CPU_R3000
1105         bool
1106
1107 config SYS_HAS_CPU_TX39XX
1108         bool
1109
1110 config SYS_HAS_CPU_VR41XX
1111         bool
1112
1113 config SYS_HAS_CPU_R4300
1114         bool
1115
1116 config SYS_HAS_CPU_R4X00
1117         bool
1118
1119 config SYS_HAS_CPU_TX49XX
1120         bool
1121
1122 config SYS_HAS_CPU_R5000
1123         bool
1124
1125 config SYS_HAS_CPU_R5432
1126         bool
1127
1128 config SYS_HAS_CPU_R6000
1129         bool
1130
1131 config SYS_HAS_CPU_NEVADA
1132         bool
1133
1134 config SYS_HAS_CPU_R8000
1135         bool
1136
1137 config SYS_HAS_CPU_R10000
1138         bool
1139
1140 config SYS_HAS_CPU_RM7000
1141         bool
1142
1143 config SYS_HAS_CPU_RM9000
1144         bool
1145
1146 config SYS_HAS_CPU_SB1
1147         bool
1148
1149 #
1150 # CPU may reorder R->R, R->W, W->R, W->W
1151 # Reordering beyond LL and SC is handled in WEAK_REORDERING_BEYOND_LLSC
1152 #
1153 config WEAK_ORDERING
1154         bool
1155
1156 #
1157 # CPU may reorder reads and writes beyond LL/SC
1158 # CPU may reorder R->LL, R->LL, W->LL, W->LL, R->SC, R->SC, W->SC, W->SC
1159 #
1160 config WEAK_REORDERING_BEYOND_LLSC
1161         bool
1162 endmenu
1163
1164 #
1165 # These two indicate any level of the MIPS32 and MIPS64 architecture
1166 #
1167 config CPU_MIPS32
1168         bool
1169         default y if CPU_MIPS32_R1 || CPU_MIPS32_R2
1170
1171 config CPU_MIPS64
1172         bool
1173         default y if CPU_MIPS64_R1 || CPU_MIPS64_R2
1174
1175 #
1176 # These two indicate the revision of the architecture, either Release 1 or Release 2
1177 #
1178 config CPU_MIPSR1
1179         bool
1180         default y if CPU_MIPS32_R1 || CPU_MIPS64_R1
1181
1182 config CPU_MIPSR2
1183         bool
1184         default y if CPU_MIPS32_R2 || CPU_MIPS64_R2
1185
1186 config SYS_SUPPORTS_32BIT_KERNEL
1187         bool
1188 config SYS_SUPPORTS_64BIT_KERNEL
1189         bool
1190 config CPU_SUPPORTS_32BIT_KERNEL
1191         bool
1192 config CPU_SUPPORTS_64BIT_KERNEL
1193         bool
1194
1195 menu "Kernel type"
1196
1197 choice
1198
1199         prompt "Kernel code model"
1200         help
1201           You should only select this option if you have a workload that
1202           actually benefits from 64-bit processing or if your machine has
1203           large memory.  You will only be presented a single option in this
1204           menu if your system does not support both 32-bit and 64-bit kernels.
1205
1206 config 32BIT
1207         bool "32-bit kernel"
1208         depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL
1209         select TRAD_SIGNALS
1210         help
1211           Select this option if you want to build a 32-bit kernel.
1212 config 64BIT
1213         bool "64-bit kernel"
1214         depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL
1215         help
1216           Select this option if you want to build a 64-bit kernel.
1217
1218 endchoice
1219
1220 choice
1221         prompt "Kernel page size"
1222         default PAGE_SIZE_4KB
1223
1224 config PAGE_SIZE_4KB
1225         bool "4kB"
1226         help
1227          This option select the standard 4kB Linux page size.  On some
1228          R3000-family processors this is the only available page size.  Using
1229          4kB page size will minimize memory consumption and is therefore
1230          recommended for low memory systems.
1231
1232 config PAGE_SIZE_8KB
1233         bool "8kB"
1234         depends on EXPERIMENTAL && CPU_R8000
1235         help
1236           Using 8kB page size will result in higher performance kernel at
1237           the price of higher memory consumption.  This option is available
1238           only on the R8000 processor.  Not that at the time of this writing
1239           this option is still high experimental; there are also issues with
1240           compatibility of user applications.
1241
1242 config PAGE_SIZE_16KB
1243         bool "16kB"
1244         depends on !CPU_R3000 && !CPU_TX39XX
1245         help
1246           Using 16kB page size will result in higher performance kernel at
1247           the price of higher memory consumption.  This option is available on
1248           all non-R3000 family processors.  Note that you will need a suitable
1249           Linux distribution to support this.
1250
1251 config PAGE_SIZE_64KB
1252         bool "64kB"
1253         depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX
1254         help
1255           Using 64kB page size will result in higher performance kernel at
1256           the price of higher memory consumption.  This option is available on
1257           all non-R3000 family processor.  Not that at the time of this
1258           writing this option is still high experimental.
1259
1260 endchoice
1261
1262 config BOARD_SCACHE
1263         bool
1264
1265 config IP22_CPU_SCACHE
1266         bool
1267         select BOARD_SCACHE
1268
1269 #
1270 # Support for a MIPS32 / MIPS64 style S-caches
1271 #
1272 config MIPS_CPU_SCACHE
1273         bool
1274         select BOARD_SCACHE
1275
1276 config R5000_CPU_SCACHE
1277         bool
1278         select BOARD_SCACHE
1279
1280 config RM7000_CPU_SCACHE
1281         bool
1282         select BOARD_SCACHE
1283
1284 config SIBYTE_DMA_PAGEOPS
1285         bool "Use DMA to clear/copy pages"
1286         depends on CPU_SB1
1287         help
1288           Instead of using the CPU to zero and copy pages, use a Data Mover
1289           channel.  These DMA channels are otherwise unused by the standard
1290           SiByte Linux port.  Seems to give a small performance benefit.
1291
1292 config CPU_HAS_PREFETCH
1293         bool
1294
1295 choice
1296         prompt "MIPS MT options"
1297
1298 config MIPS_MT_DISABLED
1299         bool "Disable multithreading support."
1300         help
1301           Use this option if your workload can't take advantage of
1302           MIPS hardware multithreading support.  On systems that don't have
1303           the option of an MT-enabled processor this option will be the only
1304           option in this menu.
1305
1306 config MIPS_MT_SMP
1307         bool "Use 1 TC on each available VPE for SMP"
1308         depends on SYS_SUPPORTS_MULTITHREADING
1309         select CPU_MIPSR2_IRQ_VI
1310         select CPU_MIPSR2_IRQ_EI
1311         select CPU_MIPSR2_SRS
1312         select MIPS_MT
1313         select NR_CPUS_DEFAULT_2
1314         select SMP
1315         select SYS_SUPPORTS_SMP
1316         help
1317           This is a kernel model which is also known a VSMP or lately
1318           has been marketesed into SMVP.
1319
1320 config MIPS_MT_SMTC
1321         bool "SMTC: Use all TCs on all VPEs for SMP"
1322         depends on CPU_MIPS32_R2
1323         #depends on CPU_MIPS64_R2               # once there is hardware ...
1324         depends on SYS_SUPPORTS_MULTITHREADING
1325         select CPU_MIPSR2_IRQ_VI
1326         select CPU_MIPSR2_IRQ_EI
1327         select CPU_MIPSR2_SRS
1328         select MIPS_MT
1329         select NR_CPUS_DEFAULT_8
1330         select SMP
1331         select SYS_SUPPORTS_SMP
1332         help
1333           This is a kernel model which is known a SMTC or lately has been
1334           marketesed into SMVP.
1335
1336 endchoice
1337
1338 config MIPS_MT
1339         bool
1340
1341 config SYS_SUPPORTS_MULTITHREADING
1342         bool
1343
1344 config MIPS_MT_FPAFF
1345         bool "Dynamic FPU affinity for FP-intensive threads"
1346         default y
1347         depends on MIPS_MT_SMP || MIPS_MT_SMTC
1348
1349 config MIPS_VPE_LOADER
1350         bool "VPE loader support."
1351         depends on SYS_SUPPORTS_MULTITHREADING
1352         select CPU_MIPSR2_IRQ_VI
1353         select CPU_MIPSR2_IRQ_EI
1354         select CPU_MIPSR2_SRS
1355         select MIPS_MT
1356         help
1357           Includes a loader for loading an elf relocatable object
1358           onto another VPE and running it.
1359
1360 config MIPS_MT_SMTC_INSTANT_REPLAY
1361         bool "Low-latency Dispatch of Deferred SMTC IPIs"
1362         depends on MIPS_MT_SMTC && !PREEMPT
1363         default y
1364         help
1365           SMTC pseudo-interrupts between TCs are deferred and queued
1366           if the target TC is interrupt-inhibited (IXMT). In the first
1367           SMTC prototypes, these queued IPIs were serviced on return
1368           to user mode, or on entry into the kernel idle loop. The
1369           INSTANT_REPLAY option dispatches them as part of local_irq_restore()
1370           processing, which adds runtime overhead (hence the option to turn
1371           it off), but ensures that IPIs are handled promptly even under
1372           heavy I/O interrupt load.
1373
1374 config MIPS_MT_SMTC_IM_BACKSTOP
1375         bool "Use per-TC register bits as backstop for inhibited IM bits"
1376         depends on MIPS_MT_SMTC
1377         default y
1378         help
1379           To support multiple TC microthreads acting as "CPUs" within
1380           a VPE, VPE-wide interrupt mask bits must be specially manipulated
1381           during interrupt handling. To support legacy drivers and interrupt
1382           controller management code, SMTC has a "backstop" to track and
1383           if necessary restore the interrupt mask. This has some performance
1384           impact on interrupt service overhead. Disable it only if you know
1385           what you are doing.
1386
1387 config MIPS_VPE_LOADER_TOM
1388         bool "Load VPE program into memory hidden from linux"
1389         depends on MIPS_VPE_LOADER
1390         default y
1391         help
1392           The loader can use memory that is present but has been hidden from
1393           Linux using the kernel command line option "mem=xxMB". It's up to
1394           you to ensure the amount you put in the option and the space your
1395           program requires is less or equal to the amount physically present.
1396
1397 # this should possibly be in drivers/char, but it is rather cpu related. Hmmm
1398 config MIPS_VPE_APSP_API
1399         bool "Enable support for AP/SP API (RTLX)"
1400         depends on MIPS_VPE_LOADER
1401         help
1402
1403 config MIPS_APSP_KSPD
1404         bool "Enable KSPD"
1405         depends on MIPS_VPE_APSP_API
1406         default y
1407         help
1408           KSPD is a kernel daemon that accepts syscall requests from the SP
1409           side, actions them and returns the results. It also handles the
1410           "exit" syscall notifying other kernel modules the SP program is
1411           exiting.  You probably want to say yes here.
1412
1413 config SB1_PASS_1_WORKAROUNDS
1414         bool
1415         depends on CPU_SB1_PASS_1
1416         default y
1417
1418 config SB1_PASS_2_WORKAROUNDS
1419         bool
1420         depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2)
1421         default y
1422
1423 config SB1_PASS_2_1_WORKAROUNDS
1424         bool
1425         depends on CPU_SB1 && CPU_SB1_PASS_2
1426         default y
1427
1428 config 64BIT_PHYS_ADDR
1429         bool
1430
1431 config CPU_HAS_LLSC
1432         bool
1433
1434 config CPU_HAS_SMARTMIPS
1435         depends on SYS_SUPPORTS_SMARTMIPS
1436         bool "Support for the SmartMIPS ASE"
1437         help
1438           SmartMIPS is a extension of the MIPS32 architecture aimed at
1439           increased security at both hardware and software level for
1440           smartcards.  Enabling this option will allow proper use of the
1441           SmartMIPS instructions by Linux applications.  However a kernel with
1442           this option will not work on a MIPS core without SmartMIPS core.  If
1443           you don't know you probably don't have SmartMIPS and should say N
1444           here.
1445
1446 config CPU_HAS_WB
1447         bool
1448
1449 config 64BIT_CONTEXT
1450         bool "Save 64bit integer registers"
1451         depends on 32BIT && CPU_LOONGSON2
1452         help
1453           Loongson2 CPU is 64bit , when used in 32BIT mode, its integer
1454           registers can still be accessed as 64bit, mainly for multimedia
1455           instructions. We must have all 64bit save/restored to make sure
1456           those instructions to get correct result.
1457
1458 #
1459 # Vectored interrupt mode is an R2 feature
1460 #
1461 config CPU_MIPSR2_IRQ_VI
1462         bool
1463
1464 #
1465 # Extended interrupt mode is an R2 feature
1466 #
1467 config CPU_MIPSR2_IRQ_EI
1468         bool
1469
1470 #
1471 # Shadow registers are an R2 feature
1472 #
1473 config CPU_MIPSR2_SRS
1474         bool
1475
1476 config CPU_HAS_SYNC
1477         bool
1478         depends on !CPU_R3000
1479         default y
1480
1481 #
1482 # Use the generic interrupt handling code in kernel/irq/:
1483 #
1484 config GENERIC_HARDIRQS
1485         bool
1486         default y
1487
1488 config GENERIC_IRQ_PROBE
1489         bool
1490         default y
1491
1492 config IRQ_PER_CPU
1493         bool
1494
1495 #
1496 # - Highmem only makes sense for the 32-bit kernel.
1497 # - The current highmem code will only work properly on physically indexed
1498 #   caches such as R3000, SB1, R7000 or those that look like they're virtually
1499 #   indexed such as R4000/R4400 SC and MC versions or R10000.  So for the
1500 #   moment we protect the user and offer the highmem option only on machines
1501 #   where it's known to be safe.  This will not offer highmem on a few systems
1502 #   such as MIPS32 and MIPS64 CPUs which may have virtual and physically
1503 #   indexed CPUs but we're playing safe.
1504 # - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we
1505 #   know they might have memory configurations that could make use of highmem
1506 #   support.
1507 #
1508 config HIGHMEM
1509         bool "High Memory Support"
1510         depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM
1511
1512 config CPU_SUPPORTS_HIGHMEM
1513         bool
1514
1515 config SYS_SUPPORTS_HIGHMEM
1516         bool
1517
1518 config SYS_SUPPORTS_SMARTMIPS
1519         bool
1520
1521 config ARCH_FLATMEM_ENABLE
1522         def_bool y
1523         depends on !NUMA
1524
1525 config ARCH_DISCONTIGMEM_ENABLE
1526         bool
1527         default y if SGI_IP27
1528         help
1529           Say Y to support efficient handling of discontiguous physical memory,
1530           for architectures which are either NUMA (Non-Uniform Memory Access)
1531           or have huge holes in the physical address space for other reasons.
1532           See <file:Documentation/vm/numa> for more.
1533
1534 config ARCH_SPARSEMEM_ENABLE
1535         bool
1536         select SPARSEMEM_STATIC
1537
1538 config NUMA
1539         bool "NUMA Support"
1540         depends on SYS_SUPPORTS_NUMA
1541         help
1542           Say Y to compile the kernel to support NUMA (Non-Uniform Memory
1543           Access).  This option improves performance on systems with more
1544           than two nodes; on two node systems it is generally better to
1545           leave it disabled; on single node systems disable this option
1546           disabled.
1547
1548 config SYS_SUPPORTS_NUMA
1549         bool
1550
1551 config NODES_SHIFT
1552         int
1553         default "6"
1554         depends on NEED_MULTIPLE_NODES
1555
1556 source "mm/Kconfig"
1557
1558 config SMP
1559         bool "Multi-Processing support"
1560         depends on SYS_SUPPORTS_SMP
1561         select IRQ_PER_CPU
1562         help
1563           This enables support for systems with more than one CPU. If you have
1564           a system with only one CPU, like most personal computers, say N. If
1565           you have a system with more than one CPU, say Y.
1566
1567           If you say N here, the kernel will run on single and multiprocessor
1568           machines, but will use only one CPU of a multiprocessor machine. If
1569           you say Y here, the kernel will run on many, but not all,
1570           singleprocessor machines. On a singleprocessor machine, the kernel
1571           will run faster if you say N here.
1572
1573           People using multiprocessor machines who say Y here should also say
1574           Y to "Enhanced Real Time Clock Support", below.
1575
1576           See also the <file:Documentation/smp.txt> and the SMP-HOWTO
1577           available at <http://www.tldp.org/docs.html#howto>.
1578
1579           If you don't know what to do here, say N.
1580
1581 config SYS_SUPPORTS_SMP
1582         bool
1583
1584 config NR_CPUS_DEFAULT_1
1585         bool
1586
1587 config NR_CPUS_DEFAULT_2
1588         bool
1589
1590 config NR_CPUS_DEFAULT_4
1591         bool
1592
1593 config NR_CPUS_DEFAULT_8
1594         bool
1595
1596 config NR_CPUS_DEFAULT_16
1597         bool
1598
1599 config NR_CPUS_DEFAULT_32
1600         bool
1601
1602 config NR_CPUS_DEFAULT_64
1603         bool
1604
1605 config NR_CPUS
1606         int "Maximum number of CPUs (2-64)"
1607         range 1 64 if NR_CPUS_DEFAULT_1
1608         depends on SMP
1609         default "1" if NR_CPUS_DEFAULT_1
1610         default "2" if NR_CPUS_DEFAULT_2
1611         default "4" if NR_CPUS_DEFAULT_4
1612         default "8" if NR_CPUS_DEFAULT_8
1613         default "16" if NR_CPUS_DEFAULT_16
1614         default "32" if NR_CPUS_DEFAULT_32
1615         default "64" if NR_CPUS_DEFAULT_64
1616         help
1617           This allows you to specify the maximum number of CPUs which this
1618           kernel will support.  The maximum supported value is 32 for 32-bit
1619           kernel and 64 for 64-bit kernels; the minimum value which makes
1620           sense is 1 for Qemu (useful only for kernel debugging purposes)
1621           and 2 for all others.
1622
1623           This is purely to save memory - each supported CPU adds
1624           approximately eight kilobytes to the kernel image.  For best
1625           performance should round up your number of processors to the next
1626           power of two.
1627
1628 #
1629 # Timer Interrupt Frequency Configuration
1630 #
1631
1632 choice
1633         prompt "Timer frequency"
1634         default HZ_250
1635         help
1636          Allows the configuration of the timer frequency.
1637
1638         config HZ_48
1639                 bool "48 HZ" if SYS_SUPPORTS_48HZ
1640
1641         config HZ_100
1642                 bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ
1643
1644         config HZ_128
1645                 bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ
1646
1647         config HZ_250
1648                 bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ
1649
1650         config HZ_256
1651                 bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ
1652
1653         config HZ_1000
1654                 bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ
1655
1656         config HZ_1024
1657                 bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ
1658
1659 endchoice
1660
1661 config SYS_SUPPORTS_48HZ
1662         bool
1663
1664 config SYS_SUPPORTS_100HZ
1665         bool
1666
1667 config SYS_SUPPORTS_128HZ
1668         bool
1669
1670 config SYS_SUPPORTS_250HZ
1671         bool
1672
1673 config SYS_SUPPORTS_256HZ
1674         bool
1675
1676 config SYS_SUPPORTS_1000HZ
1677         bool
1678
1679 config SYS_SUPPORTS_1024HZ
1680         bool
1681
1682 config SYS_SUPPORTS_ARBIT_HZ
1683         bool
1684         default y if !SYS_SUPPORTS_48HZ && !SYS_SUPPORTS_100HZ && \
1685                      !SYS_SUPPORTS_128HZ && !SYS_SUPPORTS_250HZ && \
1686                      !SYS_SUPPORTS_256HZ && !SYS_SUPPORTS_1000HZ && \
1687                      !SYS_SUPPORTS_1024HZ
1688
1689 config HZ
1690         int
1691         default 48 if HZ_48
1692         default 100 if HZ_100
1693         default 128 if HZ_128
1694         default 250 if HZ_250
1695         default 256 if HZ_256
1696         default 1000 if HZ_1000
1697         default 1024 if HZ_1024
1698
1699 source "kernel/Kconfig.preempt"
1700
1701 config MIPS_INSANE_LARGE
1702         bool "Support for large 64-bit configurations"
1703         depends on CPU_R10000 && 64BIT
1704         help
1705           MIPS R10000 does support a 44 bit / 16TB address space as opposed to
1706           previous 64-bit processors which only supported 40 bit / 1TB. If you
1707           need processes of more than 1TB virtual address space, say Y here.
1708           This will result in additional memory usage, so it is not
1709           recommended for normal users.
1710
1711 config KEXEC
1712         bool "Kexec system call (EXPERIMENTAL)"
1713         depends on EXPERIMENTAL
1714         help
1715           kexec is a system call that implements the ability to shutdown your
1716           current kernel, and to start another kernel.  It is like a reboot
1717           but it is independent of the system firmware.   And like a reboot
1718           you can start any kernel with it, not just Linux.
1719
1720           The name comes from the similiarity to the exec system call.
1721
1722           It is an ongoing process to be certain the hardware in a machine
1723           is properly shutdown, so do not be surprised if this code does not
1724           initially work for you.  It may help to enable device hotplugging
1725           support.  As of this writing the exact hardware interface is
1726           strongly in flux, so no good recommendation can be made.
1727
1728 config SECCOMP
1729         bool "Enable seccomp to safely compute untrusted bytecode"
1730         depends on PROC_FS
1731         default y
1732         help
1733           This kernel feature is useful for number crunching applications
1734           that may need to compute untrusted bytecode during their
1735           execution. By using pipes or other transports made available to
1736           the process as file descriptors supporting the read/write
1737           syscalls, it's possible to isolate those applications in
1738           their own address space using seccomp. Once seccomp is
1739           enabled via /proc/<pid>/seccomp, it cannot be disabled
1740           and the task is only allowed to execute a few safe syscalls
1741           defined by each seccomp mode.
1742
1743           If unsure, say Y. Only embedded should say N here.
1744
1745 endmenu
1746
1747 config RWSEM_GENERIC_SPINLOCK
1748         bool
1749         default y
1750
1751 config LOCKDEP_SUPPORT
1752         bool
1753         default y
1754
1755 config STACKTRACE_SUPPORT
1756         bool
1757         default y
1758
1759 source "init/Kconfig"
1760
1761 menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
1762
1763 config HW_HAS_EISA
1764         bool
1765 config HW_HAS_PCI
1766         bool
1767
1768 config PCI
1769         bool "Support for PCI controller"
1770         depends on HW_HAS_PCI
1771         help
1772           Find out whether you have a PCI motherboard. PCI is the name of a
1773           bus system, i.e. the way the CPU talks to the other stuff inside
1774           your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
1775           say Y, otherwise N.
1776
1777           The PCI-HOWTO, available from
1778           <http://www.tldp.org/docs.html#howto>, contains valuable
1779           information about which PCI hardware does work under Linux and which
1780           doesn't.
1781
1782 config PCI_DOMAINS
1783         bool
1784         depends on PCI
1785
1786 source "drivers/pci/Kconfig"
1787
1788 #
1789 # ISA support is now enabled via select.  Too many systems still have the one
1790 # or other ISA chip on the board that users don't know about so don't expect
1791 # users to choose the right thing ...
1792 #
1793 config ISA
1794         bool
1795
1796 config EISA
1797         bool "EISA support"
1798         depends on HW_HAS_EISA
1799         select ISA
1800         select GENERIC_ISA_DMA
1801         ---help---
1802           The Extended Industry Standard Architecture (EISA) bus was
1803           developed as an open alternative to the IBM MicroChannel bus.
1804
1805           The EISA bus provided some of the features of the IBM MicroChannel
1806           bus while maintaining backward compatibility with cards made for
1807           the older ISA bus.  The EISA bus saw limited use between 1988 and
1808           1995 when it was made obsolete by the PCI bus.
1809
1810           Say Y here if you are building a kernel for an EISA-based machine.
1811
1812           Otherwise, say N.
1813
1814 source "drivers/eisa/Kconfig"
1815
1816 config TC
1817         bool "TURBOchannel support"
1818         depends on MACH_DECSTATION
1819         help
1820           TurboChannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
1821           processors.  Documentation on writing device drivers for TurboChannel
1822           is available at:
1823           <http://www.cs.arizona.edu/computer.help/policy/DIGITAL_unix/AA-PS3HD-TET1_html/TITLE.html>.
1824
1825 #config ACCESSBUS
1826 #       bool "Access.Bus support"
1827 #       depends on TC
1828
1829 config MMU
1830         bool
1831         default y
1832
1833 config PCSPEAKER
1834         bool
1835
1836 source "drivers/pcmcia/Kconfig"
1837
1838 source "drivers/pci/hotplug/Kconfig"
1839
1840 endmenu
1841
1842 menu "Executable file formats"
1843
1844 source "fs/Kconfig.binfmt"
1845
1846 config TRAD_SIGNALS
1847         bool
1848
1849 config BUILD_ELF64
1850         bool "Use 64-bit ELF format for building"
1851         depends on 64BIT
1852         help
1853           A 64-bit kernel is usually built using the 64-bit ELF binary object
1854           format as it's one that allows arbitrary 64-bit constructs.  For
1855           kernels that are loaded within the KSEG compatibility segments the
1856           32-bit ELF format can optionally be used resulting in a somewhat
1857           smaller binary, but this option is not explicitly supported by the
1858           toolchain and since binutils 2.14 it does not even work at all.
1859
1860           Say Y to use the 64-bit format or N to use the 32-bit one.
1861
1862           If unsure say Y.
1863
1864 config BINFMT_IRIX
1865         bool "Include IRIX binary compatibility"
1866         depends on CPU_BIG_ENDIAN && 32BIT && BROKEN
1867
1868 config MIPS32_COMPAT
1869         bool "Kernel support for Linux/MIPS 32-bit binary compatibility"
1870         depends on 64BIT
1871         help
1872           Select this option if you want Linux/MIPS 32-bit binary
1873           compatibility. Since all software available for Linux/MIPS is
1874           currently 32-bit you should say Y here.
1875
1876 config COMPAT
1877         bool
1878         depends on MIPS32_COMPAT
1879         default y
1880
1881 config SYSVIPC_COMPAT
1882         bool
1883         depends on COMPAT && SYSVIPC
1884         default y
1885
1886 config MIPS32_O32
1887         bool "Kernel support for o32 binaries"
1888         depends on MIPS32_COMPAT
1889         help
1890           Select this option if you want to run o32 binaries.  These are pure
1891           32-bit binaries as used by the 32-bit Linux/MIPS port.  Most of
1892           existing binaries are in this format.
1893
1894           If unsure, say Y.
1895
1896 config MIPS32_N32
1897         bool "Kernel support for n32 binaries"
1898         depends on MIPS32_COMPAT
1899         help
1900           Select this option if you want to run n32 binaries.  These are
1901           64-bit binaries using 32-bit quantities for addressing and certain
1902           data that would normally be 64-bit.  They are used in special
1903           cases.
1904
1905           If unsure, say N.
1906
1907 config BINFMT_ELF32
1908         bool
1909         default y if MIPS32_O32 || MIPS32_N32
1910
1911 endmenu
1912
1913 menu "Power management options"
1914
1915 source "kernel/power/Kconfig"
1916
1917 endmenu
1918
1919 source "net/Kconfig"
1920
1921 source "drivers/Kconfig"
1922
1923 source "fs/Kconfig"
1924
1925 source "arch/mips/oprofile/Kconfig"
1926
1927 source "arch/mips/Kconfig.debug"
1928
1929 source "security/Kconfig"
1930
1931 source "crypto/Kconfig"
1932
1933 source "lib/Kconfig"