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