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