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