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