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