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