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