Merge branch 'ioat-md-accel-for-linus' of git://lost.foo-projects.org/~dwillia2/git/iop
[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 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 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_MT_SMTC_IM_BACKSTOP
1408         bool "Use per-TC register bits as backstop for inhibited IM bits"
1409         depends on MIPS_MT_SMTC
1410         default y
1411         help
1412           To support multiple TC microthreads acting as "CPUs" within
1413           a VPE, VPE-wide interrupt mask bits must be specially manipulated
1414           during interrupt handling. To support legacy drivers and interrupt
1415           controller management code, SMTC has a "backstop" to track and
1416           if necessary restore the interrupt mask. This has some performance
1417           impact on interrupt service overhead. Disable it only if you know
1418           what you are doing.
1419
1420 config MIPS_VPE_LOADER_TOM
1421         bool "Load VPE program into memory hidden from linux"
1422         depends on MIPS_VPE_LOADER
1423         default y
1424         help
1425           The loader can use memory that is present but has been hidden from
1426           Linux using the kernel command line option "mem=xxMB". It's up to
1427           you to ensure the amount you put in the option and the space your
1428           program requires is less or equal to the amount physically present.
1429
1430 # this should possibly be in drivers/char, but it is rather cpu related. Hmmm
1431 config MIPS_VPE_APSP_API
1432         bool "Enable support for AP/SP API (RTLX)"
1433         depends on MIPS_VPE_LOADER
1434         help
1435
1436 config MIPS_APSP_KSPD
1437         bool "Enable KSPD"
1438         depends on MIPS_VPE_APSP_API
1439         default y
1440         help
1441           KSPD is a kernel daemon that accepts syscall requests from the SP
1442           side, actions them and returns the results. It also handles the
1443           "exit" syscall notifying other kernel modules the SP program is
1444           exiting.  You probably want to say yes here.
1445
1446 config SB1_PASS_1_WORKAROUNDS
1447         bool
1448         depends on CPU_SB1_PASS_1
1449         default y
1450
1451 config SB1_PASS_2_WORKAROUNDS
1452         bool
1453         depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2)
1454         default y
1455
1456 config SB1_PASS_2_1_WORKAROUNDS
1457         bool
1458         depends on CPU_SB1 && CPU_SB1_PASS_2
1459         default y
1460
1461 config 64BIT_PHYS_ADDR
1462         bool "Support for 64-bit physical address space"
1463         depends on (CPU_R4X00 || CPU_R5000 || CPU_RM7000 || CPU_RM9000 || CPU_R10000 || CPU_SB1 || CPU_MIPS32 || CPU_MIPS64) && 32BIT
1464
1465 config CPU_HAS_LLSC
1466         bool
1467
1468 config CPU_HAS_SMARTMIPS
1469         depends on SYS_SUPPORTS_SMARTMIPS
1470         bool "Support for the SmartMIPS ASE"
1471         help
1472           SmartMIPS is a extension of the MIPS32 architecture aimed at
1473           increased security at both hardware and software level for
1474           smartcards.  Enabling this option will allow proper use of the
1475           SmartMIPS instructions by Linux applications.  However a kernel with
1476           this option will not work on a MIPS core without SmartMIPS core.  If
1477           you don't know you probably don't have SmartMIPS and should say N
1478           here.
1479
1480 config CPU_HAS_WB
1481         bool
1482
1483 config 64BIT_CONTEXT
1484         bool "Save 64bit integer registers"
1485         depends on 32BIT && CPU_LOONGSON2
1486         help
1487           Loongson2 CPU is 64bit , when used in 32BIT mode, its integer
1488           registers can still be accessed as 64bit, mainly for multimedia
1489           instructions. We must have all 64bit save/restored to make sure
1490           those instructions to get correct result.
1491
1492 #
1493 # Vectored interrupt mode is an R2 feature
1494 #
1495 config CPU_MIPSR2_IRQ_VI
1496         bool
1497
1498 #
1499 # Extended interrupt mode is an R2 feature
1500 #
1501 config CPU_MIPSR2_IRQ_EI
1502         bool
1503
1504 #
1505 # Shadow registers are an R2 feature
1506 #
1507 config CPU_MIPSR2_SRS
1508         bool
1509
1510 config CPU_HAS_SYNC
1511         bool
1512         depends on !CPU_R3000
1513         default y
1514
1515 #
1516 # Use the generic interrupt handling code in kernel/irq/:
1517 #
1518 config GENERIC_HARDIRQS
1519         bool
1520         default y
1521
1522 config GENERIC_IRQ_PROBE
1523         bool
1524         default y
1525
1526 config IRQ_PER_CPU
1527         bool
1528
1529 #
1530 # - Highmem only makes sense for the 32-bit kernel.
1531 # - The current highmem code will only work properly on physically indexed
1532 #   caches such as R3000, SB1, R7000 or those that look like they're virtually
1533 #   indexed such as R4000/R4400 SC and MC versions or R10000.  So for the
1534 #   moment we protect the user and offer the highmem option only on machines
1535 #   where it's known to be safe.  This will not offer highmem on a few systems
1536 #   such as MIPS32 and MIPS64 CPUs which may have virtual and physically
1537 #   indexed CPUs but we're playing safe.
1538 # - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we
1539 #   know they might have memory configurations that could make use of highmem
1540 #   support.
1541 #
1542 config HIGHMEM
1543         bool "High Memory Support"
1544         depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM
1545
1546 config CPU_SUPPORTS_HIGHMEM
1547         bool
1548
1549 config SYS_SUPPORTS_HIGHMEM
1550         bool
1551
1552 config SYS_SUPPORTS_SMARTMIPS
1553         bool
1554
1555 config ARCH_FLATMEM_ENABLE
1556         def_bool y
1557         depends on !NUMA
1558
1559 config ARCH_DISCONTIGMEM_ENABLE
1560         bool
1561         default y if SGI_IP27
1562         help
1563           Say Y to support efficient handling of discontiguous physical memory,
1564           for architectures which are either NUMA (Non-Uniform Memory Access)
1565           or have huge holes in the physical address space for other reasons.
1566           See <file:Documentation/vm/numa> for more.
1567
1568 config ARCH_SPARSEMEM_ENABLE
1569         bool
1570         select SPARSEMEM_STATIC
1571
1572 config NUMA
1573         bool "NUMA Support"
1574         depends on SYS_SUPPORTS_NUMA
1575         help
1576           Say Y to compile the kernel to support NUMA (Non-Uniform Memory
1577           Access).  This option improves performance on systems with more
1578           than two nodes; on two node systems it is generally better to
1579           leave it disabled; on single node systems disable this option
1580           disabled.
1581
1582 config SYS_SUPPORTS_NUMA
1583         bool
1584
1585 config NODES_SHIFT
1586         int
1587         default "6"
1588         depends on NEED_MULTIPLE_NODES
1589
1590 source "mm/Kconfig"
1591
1592 config SMP
1593         bool "Multi-Processing support"
1594         depends on SYS_SUPPORTS_SMP
1595         select IRQ_PER_CPU
1596         help
1597           This enables support for systems with more than one CPU. If you have
1598           a system with only one CPU, like most personal computers, say N. If
1599           you have a system with more than one CPU, say Y.
1600
1601           If you say N here, the kernel will run on single and multiprocessor
1602           machines, but will use only one CPU of a multiprocessor machine. If
1603           you say Y here, the kernel will run on many, but not all,
1604           singleprocessor machines. On a singleprocessor machine, the kernel
1605           will run faster if you say N here.
1606
1607           People using multiprocessor machines who say Y here should also say
1608           Y to "Enhanced Real Time Clock Support", below.
1609
1610           See also the <file:Documentation/smp.txt> and the SMP-HOWTO
1611           available at <http://www.tldp.org/docs.html#howto>.
1612
1613           If you don't know what to do here, say N.
1614
1615 config SYS_SUPPORTS_SMP
1616         bool
1617
1618 config NR_CPUS_DEFAULT_1
1619         bool
1620
1621 config NR_CPUS_DEFAULT_2
1622         bool
1623
1624 config NR_CPUS_DEFAULT_4
1625         bool
1626
1627 config NR_CPUS_DEFAULT_8
1628         bool
1629
1630 config NR_CPUS_DEFAULT_16
1631         bool
1632
1633 config NR_CPUS_DEFAULT_32
1634         bool
1635
1636 config NR_CPUS_DEFAULT_64
1637         bool
1638
1639 config NR_CPUS
1640         int "Maximum number of CPUs (2-64)"
1641         range 1 64 if NR_CPUS_DEFAULT_1
1642         depends on SMP
1643         default "1" if NR_CPUS_DEFAULT_1
1644         default "2" if NR_CPUS_DEFAULT_2
1645         default "4" if NR_CPUS_DEFAULT_4
1646         default "8" if NR_CPUS_DEFAULT_8
1647         default "16" if NR_CPUS_DEFAULT_16
1648         default "32" if NR_CPUS_DEFAULT_32
1649         default "64" if NR_CPUS_DEFAULT_64
1650         help
1651           This allows you to specify the maximum number of CPUs which this
1652           kernel will support.  The maximum supported value is 32 for 32-bit
1653           kernel and 64 for 64-bit kernels; the minimum value which makes
1654           sense is 1 for Qemu (useful only for kernel debugging purposes)
1655           and 2 for all others.
1656
1657           This is purely to save memory - each supported CPU adds
1658           approximately eight kilobytes to the kernel image.  For best
1659           performance should round up your number of processors to the next
1660           power of two.
1661
1662 #
1663 # Timer Interrupt Frequency Configuration
1664 #
1665
1666 choice
1667         prompt "Timer frequency"
1668         default HZ_250
1669         help
1670          Allows the configuration of the timer frequency.
1671
1672         config HZ_48
1673                 bool "48 HZ" if SYS_SUPPORTS_48HZ
1674
1675         config HZ_100
1676                 bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ
1677
1678         config HZ_128
1679                 bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ
1680
1681         config HZ_250
1682                 bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ
1683
1684         config HZ_256
1685                 bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ
1686
1687         config HZ_1000
1688                 bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ
1689
1690         config HZ_1024
1691                 bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ
1692
1693 endchoice
1694
1695 config SYS_SUPPORTS_48HZ
1696         bool
1697
1698 config SYS_SUPPORTS_100HZ
1699         bool
1700
1701 config SYS_SUPPORTS_128HZ
1702         bool
1703
1704 config SYS_SUPPORTS_250HZ
1705         bool
1706
1707 config SYS_SUPPORTS_256HZ
1708         bool
1709
1710 config SYS_SUPPORTS_1000HZ
1711         bool
1712
1713 config SYS_SUPPORTS_1024HZ
1714         bool
1715
1716 config SYS_SUPPORTS_ARBIT_HZ
1717         bool
1718         default y if !SYS_SUPPORTS_48HZ && !SYS_SUPPORTS_100HZ && \
1719                      !SYS_SUPPORTS_128HZ && !SYS_SUPPORTS_250HZ && \
1720                      !SYS_SUPPORTS_256HZ && !SYS_SUPPORTS_1000HZ && \
1721                      !SYS_SUPPORTS_1024HZ
1722
1723 config HZ
1724         int
1725         default 48 if HZ_48
1726         default 100 if HZ_100
1727         default 128 if HZ_128
1728         default 250 if HZ_250
1729         default 256 if HZ_256
1730         default 1000 if HZ_1000
1731         default 1024 if HZ_1024
1732
1733 source "kernel/Kconfig.preempt"
1734
1735 config MIPS_INSANE_LARGE
1736         bool "Support for large 64-bit configurations"
1737         depends on CPU_R10000 && 64BIT
1738         help
1739           MIPS R10000 does support a 44 bit / 16TB address space as opposed to
1740           previous 64-bit processors which only supported 40 bit / 1TB. If you
1741           need processes of more than 1TB virtual address space, say Y here.
1742           This will result in additional memory usage, so it is not
1743           recommended for normal users.
1744
1745 config KEXEC
1746         bool "Kexec system call (EXPERIMENTAL)"
1747         depends on EXPERIMENTAL
1748         help
1749           kexec is a system call that implements the ability to shutdown your
1750           current kernel, and to start another kernel.  It is like a reboot
1751           but it is independent of the system firmware.   And like a reboot
1752           you can start any kernel with it, not just Linux.
1753
1754           The name comes from the similiarity to the exec system call.
1755
1756           It is an ongoing process to be certain the hardware in a machine
1757           is properly shutdown, so do not be surprised if this code does not
1758           initially work for you.  It may help to enable device hotplugging
1759           support.  As of this writing the exact hardware interface is
1760           strongly in flux, so no good recommendation can be made.
1761
1762 config SECCOMP
1763         bool "Enable seccomp to safely compute untrusted bytecode"
1764         depends on PROC_FS && BROKEN
1765         default y
1766         help
1767           This kernel feature is useful for number crunching applications
1768           that may need to compute untrusted bytecode during their
1769           execution. By using pipes or other transports made available to
1770           the process as file descriptors supporting the read/write
1771           syscalls, it's possible to isolate those applications in
1772           their own address space using seccomp. Once seccomp is
1773           enabled via /proc/<pid>/seccomp, it cannot be disabled
1774           and the task is only allowed to execute a few safe syscalls
1775           defined by each seccomp mode.
1776
1777           If unsure, say Y. Only embedded should say N here.
1778
1779 endmenu
1780
1781 config RWSEM_GENERIC_SPINLOCK
1782         bool
1783         default y
1784
1785 config LOCKDEP_SUPPORT
1786         bool
1787         default y
1788
1789 config STACKTRACE_SUPPORT
1790         bool
1791         default y
1792
1793 source "init/Kconfig"
1794
1795 menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
1796
1797 config HW_HAS_EISA
1798         bool
1799 config HW_HAS_PCI
1800         bool
1801
1802 config PCI
1803         bool "Support for PCI controller"
1804         depends on HW_HAS_PCI
1805         help
1806           Find out whether you have a PCI motherboard. PCI is the name of a
1807           bus system, i.e. the way the CPU talks to the other stuff inside
1808           your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
1809           say Y, otherwise N.
1810
1811           The PCI-HOWTO, available from
1812           <http://www.tldp.org/docs.html#howto>, contains valuable
1813           information about which PCI hardware does work under Linux and which
1814           doesn't.
1815
1816 config PCI_DOMAINS
1817         bool
1818         depends on PCI
1819
1820 source "drivers/pci/Kconfig"
1821
1822 #
1823 # ISA support is now enabled via select.  Too many systems still have the one
1824 # or other ISA chip on the board that users don't know about so don't expect
1825 # users to choose the right thing ...
1826 #
1827 config ISA
1828         bool
1829
1830 config EISA
1831         bool "EISA support"
1832         depends on HW_HAS_EISA
1833         select ISA
1834         select GENERIC_ISA_DMA
1835         ---help---
1836           The Extended Industry Standard Architecture (EISA) bus was
1837           developed as an open alternative to the IBM MicroChannel bus.
1838
1839           The EISA bus provided some of the features of the IBM MicroChannel
1840           bus while maintaining backward compatibility with cards made for
1841           the older ISA bus.  The EISA bus saw limited use between 1988 and
1842           1995 when it was made obsolete by the PCI bus.
1843
1844           Say Y here if you are building a kernel for an EISA-based machine.
1845
1846           Otherwise, say N.
1847
1848 source "drivers/eisa/Kconfig"
1849
1850 config TC
1851         bool "TURBOchannel support"
1852         depends on MACH_DECSTATION
1853         help
1854           TurboChannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
1855           processors.  Documentation on writing device drivers for TurboChannel
1856           is available at:
1857           <http://www.cs.arizona.edu/computer.help/policy/DIGITAL_unix/AA-PS3HD-TET1_html/TITLE.html>.
1858
1859 #config ACCESSBUS
1860 #       bool "Access.Bus support"
1861 #       depends on TC
1862
1863 config MMU
1864         bool
1865         default y
1866
1867 config PCSPEAKER
1868         bool
1869
1870 source "drivers/pcmcia/Kconfig"
1871
1872 source "drivers/pci/hotplug/Kconfig"
1873
1874 endmenu
1875
1876 menu "Executable file formats"
1877
1878 source "fs/Kconfig.binfmt"
1879
1880 config TRAD_SIGNALS
1881         bool
1882
1883 config BUILD_ELF64
1884         bool "Use 64-bit ELF format for building"
1885         depends on 64BIT
1886         help
1887           A 64-bit kernel is usually built using the 64-bit ELF binary object
1888           format as it's one that allows arbitrary 64-bit constructs.  For
1889           kernels that are loaded within the KSEG compatibility segments the
1890           32-bit ELF format can optionally be used resulting in a somewhat
1891           smaller binary, but this option is not explicitly supported by the
1892           toolchain and since binutils 2.14 it does not even work at all.
1893
1894           Say Y to use the 64-bit format or N to use the 32-bit one.
1895
1896           If unsure say Y.
1897
1898 config BINFMT_IRIX
1899         bool "Include IRIX binary compatibility"
1900         depends on CPU_BIG_ENDIAN && 32BIT && BROKEN
1901
1902 config MIPS32_COMPAT
1903         bool "Kernel support for Linux/MIPS 32-bit binary compatibility"
1904         depends on 64BIT
1905         help
1906           Select this option if you want Linux/MIPS 32-bit binary
1907           compatibility. Since all software available for Linux/MIPS is
1908           currently 32-bit you should say Y here.
1909
1910 config COMPAT
1911         bool
1912         depends on MIPS32_COMPAT
1913         default y
1914
1915 config SYSVIPC_COMPAT
1916         bool
1917         depends on COMPAT && SYSVIPC
1918         default y
1919
1920 config MIPS32_O32
1921         bool "Kernel support for o32 binaries"
1922         depends on MIPS32_COMPAT
1923         help
1924           Select this option if you want to run o32 binaries.  These are pure
1925           32-bit binaries as used by the 32-bit Linux/MIPS port.  Most of
1926           existing binaries are in this format.
1927
1928           If unsure, say Y.
1929
1930 config MIPS32_N32
1931         bool "Kernel support for n32 binaries"
1932         depends on MIPS32_COMPAT
1933         help
1934           Select this option if you want to run n32 binaries.  These are
1935           64-bit binaries using 32-bit quantities for addressing and certain
1936           data that would normally be 64-bit.  They are used in special
1937           cases.
1938
1939           If unsure, say N.
1940
1941 config BINFMT_ELF32
1942         bool
1943         default y if MIPS32_O32 || MIPS32_N32
1944
1945 endmenu
1946
1947 menu "Power management options"
1948
1949 source "kernel/power/Kconfig"
1950
1951 endmenu
1952
1953 source "net/Kconfig"
1954
1955 source "drivers/Kconfig"
1956
1957 source "fs/Kconfig"
1958
1959 source "arch/mips/oprofile/Kconfig"
1960
1961 source "arch/mips/Kconfig.debug"
1962
1963 source "security/Kconfig"
1964
1965 source "crypto/Kconfig"
1966
1967 source "lib/Kconfig"