Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik...
[linux-2.6] / arch / mips / Kconfig
1 config MIPS
2         bool
3         default y
4         # Horrible source of confusion.  Die, die, die ...
5         select EMBEDDED
6
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 I8253
121         select I8259
122         select ISA
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 I8253
351         select I8259
352         select ISA
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 I8253
566         select I8259
567         select ISA
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 config WEAK_ORDERING
1194         bool
1195 endmenu
1196
1197 #
1198 # These two indicate any level of the MIPS32 and MIPS64 architecture
1199 #
1200 config CPU_MIPS32
1201         bool
1202         default y if CPU_MIPS32_R1 || CPU_MIPS32_R2
1203
1204 config CPU_MIPS64
1205         bool
1206         default y if CPU_MIPS64_R1 || CPU_MIPS64_R2
1207
1208 #
1209 # These two indicate the revision of the architecture, either Release 1 or Release 2
1210 #
1211 config CPU_MIPSR1
1212         bool
1213         default y if CPU_MIPS32_R1 || CPU_MIPS64_R1
1214
1215 config CPU_MIPSR2
1216         bool
1217         default y if CPU_MIPS32_R2 || CPU_MIPS64_R2
1218
1219 config SYS_SUPPORTS_32BIT_KERNEL
1220         bool
1221 config SYS_SUPPORTS_64BIT_KERNEL
1222         bool
1223 config CPU_SUPPORTS_32BIT_KERNEL
1224         bool
1225 config CPU_SUPPORTS_64BIT_KERNEL
1226         bool
1227
1228 menu "Kernel type"
1229
1230 choice
1231
1232         prompt "Kernel code model"
1233         help
1234           You should only select this option if you have a workload that
1235           actually benefits from 64-bit processing or if your machine has
1236           large memory.  You will only be presented a single option in this
1237           menu if your system does not support both 32-bit and 64-bit kernels.
1238
1239 config 32BIT
1240         bool "32-bit kernel"
1241         depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL
1242         select TRAD_SIGNALS
1243         help
1244           Select this option if you want to build a 32-bit kernel.
1245 config 64BIT
1246         bool "64-bit kernel"
1247         depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL
1248         help
1249           Select this option if you want to build a 64-bit kernel.
1250
1251 endchoice
1252
1253 choice
1254         prompt "Kernel page size"
1255         default PAGE_SIZE_4KB
1256
1257 config PAGE_SIZE_4KB
1258         bool "4kB"
1259         help
1260          This option select the standard 4kB Linux page size.  On some
1261          R3000-family processors this is the only available page size.  Using
1262          4kB page size will minimize memory consumption and is therefore
1263          recommended for low memory systems.
1264
1265 config PAGE_SIZE_8KB
1266         bool "8kB"
1267         depends on EXPERIMENTAL && CPU_R8000
1268         help
1269           Using 8kB page size will result in higher performance kernel at
1270           the price of higher memory consumption.  This option is available
1271           only on the R8000 processor.  Not that at the time of this writing
1272           this option is still high experimental; there are also issues with
1273           compatibility of user applications.
1274
1275 config PAGE_SIZE_16KB
1276         bool "16kB"
1277         depends on !CPU_R3000 && !CPU_TX39XX
1278         help
1279           Using 16kB page size will result in higher performance kernel at
1280           the price of higher memory consumption.  This option is available on
1281           all non-R3000 family processors.  Note that you will need a suitable
1282           Linux distribution to support this.
1283
1284 config PAGE_SIZE_64KB
1285         bool "64kB"
1286         depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX
1287         help
1288           Using 64kB page size will result in higher performance kernel at
1289           the price of higher memory consumption.  This option is available on
1290           all non-R3000 family processor.  Not that at the time of this
1291           writing this option is still high experimental.
1292
1293 endchoice
1294
1295 config BOARD_SCACHE
1296         bool
1297
1298 config IP22_CPU_SCACHE
1299         bool
1300         select BOARD_SCACHE
1301
1302 #
1303 # Support for a MIPS32 / MIPS64 style S-caches
1304 #
1305 config MIPS_CPU_SCACHE
1306         bool
1307         select BOARD_SCACHE
1308
1309 config R5000_CPU_SCACHE
1310         bool
1311         select BOARD_SCACHE
1312
1313 config RM7000_CPU_SCACHE
1314         bool
1315         select BOARD_SCACHE
1316
1317 config SIBYTE_DMA_PAGEOPS
1318         bool "Use DMA to clear/copy pages"
1319         depends on CPU_SB1
1320         help
1321           Instead of using the CPU to zero and copy pages, use a Data Mover
1322           channel.  These DMA channels are otherwise unused by the standard
1323           SiByte Linux port.  Seems to give a small performance benefit.
1324
1325 config CPU_HAS_PREFETCH
1326         bool
1327
1328 choice
1329         prompt "MIPS MT options"
1330
1331 config MIPS_MT_DISABLED
1332         bool "Disable multithreading support."
1333         help
1334           Use this option if your workload can't take advantage of
1335           MIPS hardware multithreading support.  On systems that don't have
1336           the option of an MT-enabled processor this option will be the only
1337           option in this menu.
1338
1339 config MIPS_MT_SMP
1340         bool "Use 1 TC on each available VPE for SMP"
1341         depends on SYS_SUPPORTS_MULTITHREADING
1342         select CPU_MIPSR2_IRQ_VI
1343         select CPU_MIPSR2_IRQ_EI
1344         select CPU_MIPSR2_SRS
1345         select MIPS_MT
1346         select NR_CPUS_DEFAULT_2
1347         select SMP
1348         select SYS_SUPPORTS_SMP
1349         help
1350           This is a kernel model which is also known a VSMP or lately
1351           has been marketesed into SMVP.
1352
1353 config MIPS_MT_SMTC
1354         bool "SMTC: Use all TCs on all VPEs for SMP"
1355         depends on CPU_MIPS32_R2
1356         #depends on CPU_MIPS64_R2               # once there is hardware ...
1357         depends on SYS_SUPPORTS_MULTITHREADING
1358         select CPU_MIPSR2_IRQ_VI
1359         select CPU_MIPSR2_IRQ_EI
1360         select CPU_MIPSR2_SRS
1361         select MIPS_MT
1362         select NR_CPUS_DEFAULT_8
1363         select SMP
1364         select SYS_SUPPORTS_SMP
1365         help
1366           This is a kernel model which is known a SMTC or lately has been
1367           marketesed into SMVP.
1368
1369 config MIPS_VPE_LOADER
1370         bool "VPE loader support."
1371         depends on SYS_SUPPORTS_MULTITHREADING
1372         select CPU_MIPSR2_IRQ_VI
1373         select CPU_MIPSR2_IRQ_EI
1374         select CPU_MIPSR2_SRS
1375         select MIPS_MT
1376         help
1377           Includes a loader for loading an elf relocatable object
1378           onto another VPE and running it.
1379
1380 endchoice
1381
1382 config MIPS_MT
1383         bool
1384
1385 config SYS_SUPPORTS_MULTITHREADING
1386         bool
1387
1388 config MIPS_MT_FPAFF
1389         bool "Dynamic FPU affinity for FP-intensive threads"
1390         depends on MIPS_MT
1391         default y
1392
1393 config MIPS_MT_SMTC_INSTANT_REPLAY
1394         bool "Low-latency Dispatch of Deferred SMTC IPIs"
1395         depends on MIPS_MT_SMTC && !PREEMPT
1396         default y
1397         help
1398           SMTC pseudo-interrupts between TCs are deferred and queued
1399           if the target TC is interrupt-inhibited (IXMT). In the first
1400           SMTC prototypes, these queued IPIs were serviced on return
1401           to user mode, or on entry into the kernel idle loop. The
1402           INSTANT_REPLAY option dispatches them as part of local_irq_restore()
1403           processing, which adds runtime overhead (hence the option to turn
1404           it off), but ensures that IPIs are handled promptly even under
1405           heavy I/O interrupt load.
1406
1407 config MIPS_VPE_LOADER_TOM
1408         bool "Load VPE program into memory hidden from linux"
1409         depends on MIPS_VPE_LOADER
1410         default y
1411         help
1412           The loader can use memory that is present but has been hidden from
1413           Linux using the kernel command line option "mem=xxMB". It's up to
1414           you to ensure the amount you put in the option and the space your
1415           program requires is less or equal to the amount physically present.
1416
1417 # this should possibly be in drivers/char, but it is rather cpu related. Hmmm
1418 config MIPS_VPE_APSP_API
1419         bool "Enable support for AP/SP API (RTLX)"
1420         depends on MIPS_VPE_LOADER
1421         help
1422
1423 config MIPS_APSP_KSPD
1424         bool "Enable KSPD"
1425         depends on MIPS_VPE_APSP_API
1426         default y
1427         help
1428           KSPD is a kernel daemon that accepts syscall requests from the SP
1429           side, actions them and returns the results. It also handles the
1430           "exit" syscall notifying other kernel modules the SP program is
1431           exiting.  You probably want to say yes here.
1432
1433 config SB1_PASS_1_WORKAROUNDS
1434         bool
1435         depends on CPU_SB1_PASS_1
1436         default y
1437
1438 config SB1_PASS_2_WORKAROUNDS
1439         bool
1440         depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2)
1441         default y
1442
1443 config SB1_PASS_2_1_WORKAROUNDS
1444         bool
1445         depends on CPU_SB1 && CPU_SB1_PASS_2
1446         default y
1447
1448 config 64BIT_PHYS_ADDR
1449         bool "Support for 64-bit physical address space"
1450         depends on (CPU_R4X00 || CPU_R5000 || CPU_RM7000 || CPU_RM9000 || CPU_R10000 || CPU_SB1 || CPU_MIPS32 || CPU_MIPS64) && 32BIT
1451
1452 config CPU_HAS_LLSC
1453         bool
1454
1455 config CPU_HAS_SMARTMIPS
1456         depends on SYS_SUPPORTS_SMARTMIPS
1457         bool "Support for the SmartMIPS ASE"
1458         help
1459           SmartMIPS is a extension of the MIPS32 architecture aimed at
1460           increased security at both hardware and software level for
1461           smartcards.  Enabling this option will allow proper use of the
1462           SmartMIPS instructions by Linux applications.  However a kernel with
1463           this option will not work on a MIPS core without SmartMIPS core.  If
1464           you don't know you probably don't have SmartMIPS and should say N
1465           here.
1466
1467 config CPU_HAS_WB
1468         bool
1469
1470 config 64BIT_CONTEXT
1471         bool "Save 64bit integer registers"
1472         depends on 32BIT && CPU_LOONGSON2
1473         help
1474           Loongson2 CPU is 64bit , when used in 32BIT mode, its integer
1475           registers can still be accessed as 64bit, mainly for multimedia
1476           instructions. We must have all 64bit save/restored to make sure
1477           those instructions to get correct result.
1478
1479 #
1480 # Vectored interrupt mode is an R2 feature
1481 #
1482 config CPU_MIPSR2_IRQ_VI
1483         bool
1484
1485 #
1486 # Extended interrupt mode is an R2 feature
1487 #
1488 config CPU_MIPSR2_IRQ_EI
1489         bool
1490
1491 #
1492 # Shadow registers are an R2 feature
1493 #
1494 config CPU_MIPSR2_SRS
1495         bool
1496
1497 config CPU_HAS_SYNC
1498         bool
1499         depends on !CPU_R3000
1500         default y
1501
1502 #
1503 # Use the generic interrupt handling code in kernel/irq/:
1504 #
1505 config GENERIC_HARDIRQS
1506         bool
1507         default y
1508
1509 config GENERIC_IRQ_PROBE
1510         bool
1511         default y
1512
1513 config IRQ_PER_CPU
1514         bool
1515
1516 #
1517 # - Highmem only makes sense for the 32-bit kernel.
1518 # - The current highmem code will only work properly on physically indexed
1519 #   caches such as R3000, SB1, R7000 or those that look like they're virtually
1520 #   indexed such as R4000/R4400 SC and MC versions or R10000.  So for the
1521 #   moment we protect the user and offer the highmem option only on machines
1522 #   where it's known to be safe.  This will not offer highmem on a few systems
1523 #   such as MIPS32 and MIPS64 CPUs which may have virtual and physically
1524 #   indexed CPUs but we're playing safe.
1525 # - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we
1526 #   know they might have memory configurations that could make use of highmem
1527 #   support.
1528 #
1529 config HIGHMEM
1530         bool "High Memory Support"
1531         depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM
1532
1533 config CPU_SUPPORTS_HIGHMEM
1534         bool
1535
1536 config SYS_SUPPORTS_HIGHMEM
1537         bool
1538
1539 config SYS_SUPPORTS_SMARTMIPS
1540         bool
1541
1542 config ARCH_FLATMEM_ENABLE
1543         def_bool y
1544         depends on !NUMA
1545
1546 config ARCH_DISCONTIGMEM_ENABLE
1547         bool
1548         default y if SGI_IP27
1549         help
1550           Say Y to support efficient handling of discontiguous physical memory,
1551           for architectures which are either NUMA (Non-Uniform Memory Access)
1552           or have huge holes in the physical address space for other reasons.
1553           See <file:Documentation/vm/numa> for more.
1554
1555 config ARCH_SPARSEMEM_ENABLE
1556         bool
1557         select SPARSEMEM_STATIC
1558
1559 config NUMA
1560         bool "NUMA Support"
1561         depends on SYS_SUPPORTS_NUMA
1562         help
1563           Say Y to compile the kernel to support NUMA (Non-Uniform Memory
1564           Access).  This option improves performance on systems with more
1565           than two nodes; on two node systems it is generally better to
1566           leave it disabled; on single node systems disable this option
1567           disabled.
1568
1569 config SYS_SUPPORTS_NUMA
1570         bool
1571
1572 config NODES_SHIFT
1573         int
1574         default "6"
1575         depends on NEED_MULTIPLE_NODES
1576
1577 source "mm/Kconfig"
1578
1579 config SMP
1580         bool "Multi-Processing support"
1581         depends on SYS_SUPPORTS_SMP
1582         select IRQ_PER_CPU
1583         help
1584           This enables support for systems with more than one CPU. If you have
1585           a system with only one CPU, like most personal computers, say N. If
1586           you have a system with more than one CPU, say Y.
1587
1588           If you say N here, the kernel will run on single and multiprocessor
1589           machines, but will use only one CPU of a multiprocessor machine. If
1590           you say Y here, the kernel will run on many, but not all,
1591           singleprocessor machines. On a singleprocessor machine, the kernel
1592           will run faster if you say N here.
1593
1594           People using multiprocessor machines who say Y here should also say
1595           Y to "Enhanced Real Time Clock Support", below.
1596
1597           See also the <file:Documentation/smp.txt> and the SMP-HOWTO
1598           available at <http://www.tldp.org/docs.html#howto>.
1599
1600           If you don't know what to do here, say N.
1601
1602 config SYS_SUPPORTS_SMP
1603         bool
1604
1605 config NR_CPUS_DEFAULT_1
1606         bool
1607
1608 config NR_CPUS_DEFAULT_2
1609         bool
1610
1611 config NR_CPUS_DEFAULT_4
1612         bool
1613
1614 config NR_CPUS_DEFAULT_8
1615         bool
1616
1617 config NR_CPUS_DEFAULT_16
1618         bool
1619
1620 config NR_CPUS_DEFAULT_32
1621         bool
1622
1623 config NR_CPUS_DEFAULT_64
1624         bool
1625
1626 config NR_CPUS
1627         int "Maximum number of CPUs (2-64)"
1628         range 1 64 if NR_CPUS_DEFAULT_1
1629         depends on SMP
1630         default "1" if NR_CPUS_DEFAULT_1
1631         default "2" if NR_CPUS_DEFAULT_2
1632         default "4" if NR_CPUS_DEFAULT_4
1633         default "8" if NR_CPUS_DEFAULT_8
1634         default "16" if NR_CPUS_DEFAULT_16
1635         default "32" if NR_CPUS_DEFAULT_32
1636         default "64" if NR_CPUS_DEFAULT_64
1637         help
1638           This allows you to specify the maximum number of CPUs which this
1639           kernel will support.  The maximum supported value is 32 for 32-bit
1640           kernel and 64 for 64-bit kernels; the minimum value which makes
1641           sense is 1 for Qemu (useful only for kernel debugging purposes)
1642           and 2 for all others.
1643
1644           This is purely to save memory - each supported CPU adds
1645           approximately eight kilobytes to the kernel image.  For best
1646           performance should round up your number of processors to the next
1647           power of two.
1648
1649 #
1650 # Timer Interrupt Frequency Configuration
1651 #
1652
1653 choice
1654         prompt "Timer frequency"
1655         default HZ_250
1656         help
1657          Allows the configuration of the timer frequency.
1658
1659         config HZ_48
1660                 bool "48 HZ" if SYS_SUPPORTS_48HZ
1661
1662         config HZ_100
1663                 bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ
1664
1665         config HZ_128
1666                 bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ
1667
1668         config HZ_250
1669                 bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ
1670
1671         config HZ_256
1672                 bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ
1673
1674         config HZ_1000
1675                 bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ
1676
1677         config HZ_1024
1678                 bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ
1679
1680 endchoice
1681
1682 config SYS_SUPPORTS_48HZ
1683         bool
1684
1685 config SYS_SUPPORTS_100HZ
1686         bool
1687
1688 config SYS_SUPPORTS_128HZ
1689         bool
1690
1691 config SYS_SUPPORTS_250HZ
1692         bool
1693
1694 config SYS_SUPPORTS_256HZ
1695         bool
1696
1697 config SYS_SUPPORTS_1000HZ
1698         bool
1699
1700 config SYS_SUPPORTS_1024HZ
1701         bool
1702
1703 config SYS_SUPPORTS_ARBIT_HZ
1704         bool
1705         default y if !SYS_SUPPORTS_48HZ && !SYS_SUPPORTS_100HZ && \
1706                      !SYS_SUPPORTS_128HZ && !SYS_SUPPORTS_250HZ && \
1707                      !SYS_SUPPORTS_256HZ && !SYS_SUPPORTS_1000HZ && \
1708                      !SYS_SUPPORTS_1024HZ
1709
1710 config HZ
1711         int
1712         default 48 if HZ_48
1713         default 100 if HZ_100
1714         default 128 if HZ_128
1715         default 250 if HZ_250
1716         default 256 if HZ_256
1717         default 1000 if HZ_1000
1718         default 1024 if HZ_1024
1719
1720 source "kernel/Kconfig.preempt"
1721
1722 config MIPS_INSANE_LARGE
1723         bool "Support for large 64-bit configurations"
1724         depends on CPU_R10000 && 64BIT
1725         help
1726           MIPS R10000 does support a 44 bit / 16TB address space as opposed to
1727           previous 64-bit processors which only supported 40 bit / 1TB. If you
1728           need processes of more than 1TB virtual address space, say Y here.
1729           This will result in additional memory usage, so it is not
1730           recommended for normal users.
1731
1732 config KEXEC
1733         bool "Kexec system call (EXPERIMENTAL)"
1734         depends on EXPERIMENTAL
1735         help
1736           kexec is a system call that implements the ability to shutdown your
1737           current kernel, and to start another kernel.  It is like a reboot
1738           but it is independent of the system firmware.   And like a reboot
1739           you can start any kernel with it, not just Linux.
1740
1741           The name comes from the similiarity to the exec system call.
1742
1743           It is an ongoing process to be certain the hardware in a machine
1744           is properly shutdown, so do not be surprised if this code does not
1745           initially work for you.  It may help to enable device hotplugging
1746           support.  As of this writing the exact hardware interface is
1747           strongly in flux, so no good recommendation can be made.
1748
1749 config SECCOMP
1750         bool "Enable seccomp to safely compute untrusted bytecode"
1751         depends on PROC_FS && BROKEN
1752         default y
1753         help
1754           This kernel feature is useful for number crunching applications
1755           that may need to compute untrusted bytecode during their
1756           execution. By using pipes or other transports made available to
1757           the process as file descriptors supporting the read/write
1758           syscalls, it's possible to isolate those applications in
1759           their own address space using seccomp. Once seccomp is
1760           enabled via /proc/<pid>/seccomp, it cannot be disabled
1761           and the task is only allowed to execute a few safe syscalls
1762           defined by each seccomp mode.
1763
1764           If unsure, say Y. Only embedded should say N here.
1765
1766 endmenu
1767
1768 config RWSEM_GENERIC_SPINLOCK
1769         bool
1770         default y
1771
1772 config LOCKDEP_SUPPORT
1773         bool
1774         default y
1775
1776 config STACKTRACE_SUPPORT
1777         bool
1778         default y
1779
1780 source "init/Kconfig"
1781
1782 menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
1783
1784 config HW_HAS_EISA
1785         bool
1786 config HW_HAS_PCI
1787         bool
1788
1789 config PCI
1790         bool "Support for PCI controller"
1791         depends on HW_HAS_PCI
1792         help
1793           Find out whether you have a PCI motherboard. PCI is the name of a
1794           bus system, i.e. the way the CPU talks to the other stuff inside
1795           your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
1796           say Y, otherwise N.
1797
1798           The PCI-HOWTO, available from
1799           <http://www.tldp.org/docs.html#howto>, contains valuable
1800           information about which PCI hardware does work under Linux and which
1801           doesn't.
1802
1803 config PCI_DOMAINS
1804         bool
1805         depends on PCI
1806
1807 source "drivers/pci/Kconfig"
1808
1809 #
1810 # ISA support is now enabled via select.  Too many systems still have the one
1811 # or other ISA chip on the board that users don't know about so don't expect
1812 # users to choose the right thing ...
1813 #
1814 config ISA
1815         bool
1816
1817 config EISA
1818         bool "EISA support"
1819         depends on HW_HAS_EISA
1820         select ISA
1821         select GENERIC_ISA_DMA
1822         ---help---
1823           The Extended Industry Standard Architecture (EISA) bus was
1824           developed as an open alternative to the IBM MicroChannel bus.
1825
1826           The EISA bus provided some of the features of the IBM MicroChannel
1827           bus while maintaining backward compatibility with cards made for
1828           the older ISA bus.  The EISA bus saw limited use between 1988 and
1829           1995 when it was made obsolete by the PCI bus.
1830
1831           Say Y here if you are building a kernel for an EISA-based machine.
1832
1833           Otherwise, say N.
1834
1835 source "drivers/eisa/Kconfig"
1836
1837 config TC
1838         bool "TURBOchannel support"
1839         depends on MACH_DECSTATION
1840         help
1841           TurboChannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
1842           processors.  Documentation on writing device drivers for TurboChannel
1843           is available at:
1844           <http://www.cs.arizona.edu/computer.help/policy/DIGITAL_unix/AA-PS3HD-TET1_html/TITLE.html>.
1845
1846 #config ACCESSBUS
1847 #       bool "Access.Bus support"
1848 #       depends on TC
1849
1850 config MMU
1851         bool
1852         default y
1853
1854 config I8253
1855         bool
1856
1857 source "drivers/pcmcia/Kconfig"
1858
1859 source "drivers/pci/hotplug/Kconfig"
1860
1861 endmenu
1862
1863 menu "Executable file formats"
1864
1865 source "fs/Kconfig.binfmt"
1866
1867 config TRAD_SIGNALS
1868         bool
1869
1870 config BUILD_ELF64
1871         bool "Use 64-bit ELF format for building"
1872         depends on 64BIT
1873         help
1874           A 64-bit kernel is usually built using the 64-bit ELF binary object
1875           format as it's one that allows arbitrary 64-bit constructs.  For
1876           kernels that are loaded within the KSEG compatibility segments the
1877           32-bit ELF format can optionally be used resulting in a somewhat
1878           smaller binary, but this option is not explicitly supported by the
1879           toolchain and since binutils 2.14 it does not even work at all.
1880
1881           Say Y to use the 64-bit format or N to use the 32-bit one.
1882
1883           If unsure say Y.
1884
1885 config BINFMT_IRIX
1886         bool "Include IRIX binary compatibility"
1887         depends on CPU_BIG_ENDIAN && 32BIT && BROKEN
1888
1889 config MIPS32_COMPAT
1890         bool "Kernel support for Linux/MIPS 32-bit binary compatibility"
1891         depends on 64BIT
1892         help
1893           Select this option if you want Linux/MIPS 32-bit binary
1894           compatibility. Since all software available for Linux/MIPS is
1895           currently 32-bit you should say Y here.
1896
1897 config COMPAT
1898         bool
1899         depends on MIPS32_COMPAT
1900         default y
1901
1902 config SYSVIPC_COMPAT
1903         bool
1904         depends on COMPAT && SYSVIPC
1905         default y
1906
1907 config MIPS32_O32
1908         bool "Kernel support for o32 binaries"
1909         depends on MIPS32_COMPAT
1910         help
1911           Select this option if you want to run o32 binaries.  These are pure
1912           32-bit binaries as used by the 32-bit Linux/MIPS port.  Most of
1913           existing binaries are in this format.
1914
1915           If unsure, say Y.
1916
1917 config MIPS32_N32
1918         bool "Kernel support for n32 binaries"
1919         depends on MIPS32_COMPAT
1920         help
1921           Select this option if you want to run n32 binaries.  These are
1922           64-bit binaries using 32-bit quantities for addressing and certain
1923           data that would normally be 64-bit.  They are used in special
1924           cases.
1925
1926           If unsure, say N.
1927
1928 config BINFMT_ELF32
1929         bool
1930         default y if MIPS32_O32 || MIPS32_N32
1931
1932 endmenu
1933
1934 menu "Power management options"
1935
1936 source "kernel/power/Kconfig"
1937
1938 endmenu
1939
1940 source "net/Kconfig"
1941
1942 source "drivers/Kconfig"
1943
1944 source "fs/Kconfig"
1945
1946 source "arch/mips/oprofile/Kconfig"
1947
1948 source "arch/mips/Kconfig.debug"
1949
1950 source "security/Kconfig"
1951
1952 source "crypto/Kconfig"
1953
1954 source "lib/Kconfig"