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