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