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