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