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