nvram [K26 part]: auto-detect the nvram size
[tomato.git] / release / src-rt / linux / linux-2.6 / arch / mips / Kconfig
blob208050abd8f860e64ff7f0ce753e80aeeb9d702e
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 SHRINKMEM
708         bool "Support for shrink memory"
709         depends on BCM947XX
710         select PM
712 config GENERIC_GPIO
713         bool "Generic GPIO"
714         default n
716 endmenu
719 config RWSEM_GENERIC_SPINLOCK
720         bool
721         default y
723 config RWSEM_XCHGADD_ALGORITHM
724         bool
726 config ARCH_HAS_ILOG2_U32
727         bool
728         default n
730 config ARCH_HAS_ILOG2_U64
731         bool
732         default n
734 config GENERIC_FIND_NEXT_BIT
735         bool
736         default y
738 config GENERIC_HWEIGHT
739         bool
740         default y
742 config GENERIC_CALIBRATE_DELAY
743         bool
744         default y
746 config GENERIC_TIME
747         bool
748         default y
750 config SCHED_NO_NO_OMIT_FRAME_POINTER
751         bool
752         default y
754 config GENERIC_HARDIRQS_NO__DO_IRQ
755         bool
756         default n
759 # Select some configuration options automatically based on user selections.
761 config ARC
762         bool
764 config ARCH_MAY_HAVE_PC_FDC
765         bool
767 config DMA_COHERENT
768         bool
770 config DMA_IP32
771         bool
772         select DMA_NEED_PCI_MAP_STATE
774 config DMA_NONCOHERENT
775         bool
776         select DMA_NEED_PCI_MAP_STATE
778 config DMA_NEED_PCI_MAP_STATE
779         bool
781 config EARLY_PRINTK
782         bool "Early printk" if EMBEDDED && DEBUG_KERNEL
783         depends on SYS_HAS_EARLY_PRINTK
784         default y
785         help
786           This option enables special console drivers which allow the kernel
787           to print messages very early in the bootup process.
789           This is useful for kernel debugging when your machine crashes very
790           early before the console code is initialized. For normal operation,
791           it is not recommended because it looks ugly on some machines and
792           doesn't cooperate with an X server. You should normally say N here,
793           unless you want to debug such a crash.
795 config SYS_HAS_EARLY_PRINTK
796         bool
798 config GENERIC_ISA_DMA
799         bool
800         select ZONE_DMA
802 config I8259
803         bool
805 config MIPS_BONITO64
806         bool
808 config MIPS_MSC
809         bool
811 config MIPS_NILE4
812         bool
814 config MIPS_DISABLE_OBSOLETE_IDE
815         bool
817 config GENERIC_ISA_DMA_SUPPORT_BROKEN
818         bool
819         select ZONE_DMA
822 # Endianess selection.  Sufficiently obscure so many users don't know what to
823 # answer,so we try hard to limit the available choices.  Also the use of a
824 # choice statement should be more obvious to the user.
826 choice
827         prompt "Endianess selection"
828         help
829           Some MIPS machines can be configured for either little or big endian
830           byte order. These modes require different kernels and a different
831           Linux distribution.  In general there is one preferred byteorder for a
832           particular system but some systems are just as commonly used in the
833           one or the other endianness.
835 config CPU_BIG_ENDIAN
836         bool "Big endian"
837         depends on SYS_SUPPORTS_BIG_ENDIAN
839 config CPU_LITTLE_ENDIAN
840         bool "Little endian"
841         depends on SYS_SUPPORTS_LITTLE_ENDIAN
842         help
844 endchoice
846 config SYS_SUPPORTS_APM_EMULATION
847         bool
849 config SYS_SUPPORTS_BIG_ENDIAN
850         bool
852 config SYS_SUPPORTS_LITTLE_ENDIAN
853         bool
855 config IRQ_CPU
856         bool
858 config IRQ_CPU_RM7K
859         bool
861 config IRQ_CPU_RM9K
862         bool
864 config IRQ_MV64340
865         bool
867 config DDB5XXX_COMMON
868         bool
869         select SYS_SUPPORTS_KGDB
871 config MIPS_BOARDS_GEN
872         bool
874 config PCI_GT64XXX_PCI0
875         bool
877 config MIPS_TX3927
878         bool
879         select HAS_TXX9_SERIAL
881 config MIPS_RM9122
882         bool
883         select SERIAL_RM9000
885 config PCI_MARVELL
886         bool
888 config PNX8550
889         bool
890         select SOC_PNX8550
892 config SOC_PNX8550
893         bool
894         select DMA_NONCOHERENT
895         select HW_HAS_PCI
896         select SYS_HAS_CPU_MIPS32_R1
897         select SYS_HAS_EARLY_PRINTK
898         select SYS_SUPPORTS_32BIT_KERNEL
899         select GENERIC_HARDIRQS_NO__DO_IRQ
900         select SYS_SUPPORTS_KGDB
902 config SWAP_IO_SPACE
903         bool
905 config EMMA2RH
906         bool
907         depends on MARKEINS
908         default y
910 config SERIAL_RM9000
911         bool
914 # Unfortunately not all GT64120 systems run the chip at the same clock.
915 # As the user for the clock rate and try to minimize the available options.
917 choice
918         prompt "Galileo Chip Clock"
919         #default SYSCLK_83 if MIPS_EV64120
920         depends on MIPS_EV64120 || MOMENCO_OCELOT
921         default SYSCLK_83 if MIPS_EV64120
922         default SYSCLK_100 if MOMENCO_OCELOT
924 config SYSCLK_75
925         bool "75" if MIPS_EV64120
927 config SYSCLK_83
928         bool "83.3" if MIPS_EV64120
930 config SYSCLK_100
931         bool "100" if MIPS_EV64120 || MOMENCO_OCELOT
933 endchoice
935 config ARC32
936         bool
938 config BOOT_ELF32
939         bool
941 config MIPS_L1_CACHE_SHIFT
942         int
943         default "4" if MACH_DECSTATION || SNI_RM
944         default "6" if MIPS_CPU_SCACHE
945         default "7" if SGI_IP27
946         default "5"
948 config HAVE_STD_PC_SERIAL_PORT
949         bool
951 config ARC_CONSOLE
952         bool "ARC console support"
953         depends on SGI_IP22 || (SNI_RM && CPU_LITTLE_ENDIAN)
955 config ARC_MEMORY
956         bool
957         depends on MACH_JAZZ || SNI_RM || SGI_IP32
958         default y
960 config ARC_PROMLIB
961         bool
962         depends on MACH_JAZZ || SNI_RM || SGI_IP22 || SGI_IP32
963         default y
965 config ARC64
966         bool
968 config BOOT_ELF64
969         bool
971 menu "CPU selection"
973 choice
974         prompt "CPU type"
975         default CPU_MIPS32_R1
977 config CPU_MIPS32_R1
978         bool "MIPS32 Release 1"
979         depends on SYS_HAS_CPU_MIPS32_R1
980         select CPU_HAS_LLSC
981         select CPU_HAS_PREFETCH
982         select CPU_SUPPORTS_32BIT_KERNEL
983         select CPU_SUPPORTS_HIGHMEM
984         help
985           Choose this option to build a kernel for release 1 or later of the
986           MIPS32 architecture.  Most modern embedded systems with a 32-bit
987           MIPS processor are based on a MIPS32 processor.  If you know the
988           specific type of processor in your system, choose those that one
989           otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
990           Release 2 of the MIPS32 architecture is available since several
991           years so chances are you even have a MIPS32 Release 2 processor
992           in which case you should choose CPU_MIPS32_R2 instead for better
993           performance.
995 config CPU_MIPS32_R2
996         bool "MIPS32 Release 2"
997         depends on SYS_HAS_CPU_MIPS32_R2
998         select CPU_HAS_LLSC
999         select CPU_HAS_PREFETCH
1000         select CPU_SUPPORTS_32BIT_KERNEL
1001         select CPU_SUPPORTS_HIGHMEM
1002         help
1003           Choose this option to build a kernel for release 2 or later of the
1004           MIPS32 architecture.  Most modern embedded systems with a 32-bit
1005           MIPS processor are based on a MIPS32 processor.  If you know the
1006           specific type of processor in your system, choose those that one
1007           otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1009 config CPU_MIPS64_R1
1010         bool "MIPS64 Release 1"
1011         depends on SYS_HAS_CPU_MIPS64_R1
1012         select CPU_HAS_LLSC
1013         select CPU_HAS_PREFETCH
1014         select CPU_SUPPORTS_32BIT_KERNEL
1015         select CPU_SUPPORTS_64BIT_KERNEL
1016         select CPU_SUPPORTS_HIGHMEM
1017         help
1018           Choose this option to build a kernel for release 1 or later of the
1019           MIPS64 architecture.  Many modern embedded systems with a 64-bit
1020           MIPS processor are based on a MIPS64 processor.  If you know the
1021           specific type of processor in your system, choose those that one
1022           otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1023           Release 2 of the MIPS64 architecture is available since several
1024           years so chances are you even have a MIPS64 Release 2 processor
1025           in which case you should choose CPU_MIPS64_R2 instead for better
1026           performance.
1028 config CPU_MIPS64_R2
1029         bool "MIPS64 Release 2"
1030         depends on SYS_HAS_CPU_MIPS64_R2
1031         select CPU_HAS_LLSC
1032         select CPU_HAS_PREFETCH
1033         select CPU_SUPPORTS_32BIT_KERNEL
1034         select CPU_SUPPORTS_64BIT_KERNEL
1035         select CPU_SUPPORTS_HIGHMEM
1036         help
1037           Choose this option to build a kernel for release 2 or later of the
1038           MIPS64 architecture.  Many modern embedded systems with a 64-bit
1039           MIPS processor are based on a MIPS64 processor.  If you know the
1040           specific type of processor in your system, choose those that one
1041           otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1043 config CPU_R3000
1044         bool "R3000"
1045         depends on SYS_HAS_CPU_R3000
1046         select CPU_HAS_WB
1047         select CPU_SUPPORTS_32BIT_KERNEL
1048         select CPU_SUPPORTS_HIGHMEM
1049         help
1050           Please make sure to pick the right CPU type. Linux/MIPS is not
1051           designed to be generic, i.e. Kernels compiled for R3000 CPUs will
1052           *not* work on R4000 machines and vice versa.  However, since most
1053           of the supported machines have an R4000 (or similar) CPU, R4x00
1054           might be a safe bet.  If the resulting kernel does not work,
1055           try to recompile with R3000.
1057 config CPU_TX39XX
1058         bool "R39XX"
1059         depends on SYS_HAS_CPU_TX39XX
1060         select CPU_SUPPORTS_32BIT_KERNEL
1062 config CPU_VR41XX
1063         bool "R41xx"
1064         depends on SYS_HAS_CPU_VR41XX
1065         select CPU_SUPPORTS_32BIT_KERNEL
1066         select CPU_SUPPORTS_64BIT_KERNEL
1067         help
1068           The options selects support for the NEC VR4100 series of processors.
1069           Only choose this option if you have one of these processors as a
1070           kernel built with this option will not run on any other type of
1071           processor or vice versa.
1073 config CPU_R4300
1074         bool "R4300"
1075         depends on SYS_HAS_CPU_R4300
1076         select CPU_HAS_LLSC
1077         select CPU_SUPPORTS_32BIT_KERNEL
1078         select CPU_SUPPORTS_64BIT_KERNEL
1079         help
1080           MIPS Technologies R4300-series processors.
1082 config CPU_R4X00
1083         bool "R4x00"
1084         depends on SYS_HAS_CPU_R4X00
1085         select CPU_HAS_LLSC
1086         select CPU_SUPPORTS_32BIT_KERNEL
1087         select CPU_SUPPORTS_64BIT_KERNEL
1088         help
1089           MIPS Technologies R4000-series processors other than 4300, including
1090           the R4000, R4400, R4600, and 4700.
1092 config CPU_TX49XX
1093         bool "R49XX"
1094         depends on SYS_HAS_CPU_TX49XX
1095         select CPU_HAS_LLSC
1096         select CPU_HAS_PREFETCH
1097         select CPU_SUPPORTS_32BIT_KERNEL
1098         select CPU_SUPPORTS_64BIT_KERNEL
1100 config CPU_R5000
1101         bool "R5000"
1102         depends on SYS_HAS_CPU_R5000
1103         select CPU_HAS_LLSC
1104         select CPU_SUPPORTS_32BIT_KERNEL
1105         select CPU_SUPPORTS_64BIT_KERNEL
1106         help
1107           MIPS Technologies R5000-series processors other than the Nevada.
1109 config CPU_R5432
1110         bool "R5432"
1111         depends on SYS_HAS_CPU_R5432
1112         select CPU_HAS_LLSC
1113         select CPU_SUPPORTS_32BIT_KERNEL
1114         select CPU_SUPPORTS_64BIT_KERNEL
1116 config CPU_R6000
1117         bool "R6000"
1118         depends on EXPERIMENTAL
1119         select CPU_HAS_LLSC
1120         depends on SYS_HAS_CPU_R6000
1121         select CPU_SUPPORTS_32BIT_KERNEL
1122         help
1123           MIPS Technologies R6000 and R6000A series processors.  Note these
1124           processors are extremely rare and the support for them is incomplete.
1126 config CPU_NEVADA
1127         bool "RM52xx"
1128         depends on SYS_HAS_CPU_NEVADA
1129         select CPU_HAS_LLSC
1130         select CPU_SUPPORTS_32BIT_KERNEL
1131         select CPU_SUPPORTS_64BIT_KERNEL
1132         help
1133           QED / PMC-Sierra RM52xx-series ("Nevada") processors.
1135 config CPU_R8000
1136         bool "R8000"
1137         depends on EXPERIMENTAL
1138         depends on SYS_HAS_CPU_R8000
1139         select CPU_HAS_LLSC
1140         select CPU_HAS_PREFETCH
1141         select CPU_SUPPORTS_64BIT_KERNEL
1142         help
1143           MIPS Technologies R8000 processors.  Note these processors are
1144           uncommon and the support for them is incomplete.
1146 config CPU_R10000
1147         bool "R10000"
1148         depends on SYS_HAS_CPU_R10000
1149         select CPU_HAS_LLSC
1150         select CPU_HAS_PREFETCH
1151         select CPU_SUPPORTS_32BIT_KERNEL
1152         select CPU_SUPPORTS_64BIT_KERNEL
1153         select CPU_SUPPORTS_HIGHMEM
1154         help
1155           MIPS Technologies R10000-series processors.
1157 config CPU_RM7000
1158         bool "RM7000"
1159         depends on SYS_HAS_CPU_RM7000
1160         select CPU_HAS_LLSC
1161         select CPU_HAS_PREFETCH
1162         select CPU_SUPPORTS_32BIT_KERNEL
1163         select CPU_SUPPORTS_64BIT_KERNEL
1164         select CPU_SUPPORTS_HIGHMEM
1166 config CPU_RM9000
1167         bool "RM9000"
1168         depends on SYS_HAS_CPU_RM9000
1169         select CPU_HAS_LLSC
1170         select CPU_HAS_PREFETCH
1171         select CPU_SUPPORTS_32BIT_KERNEL
1172         select CPU_SUPPORTS_64BIT_KERNEL
1173         select CPU_SUPPORTS_HIGHMEM
1174         select WEAK_ORDERING
1176 config CPU_SB1
1177         bool "SB1"
1178         depends on SYS_HAS_CPU_SB1
1179         select CPU_HAS_LLSC
1180         select CPU_SUPPORTS_32BIT_KERNEL
1181         select CPU_SUPPORTS_64BIT_KERNEL
1182         select CPU_SUPPORTS_HIGHMEM
1183         select WEAK_ORDERING
1185 endchoice
1187 config SYS_HAS_CPU_MIPS32_R1
1188         bool
1190 config SYS_HAS_CPU_MIPS32_R2
1191         bool
1193 config SYS_HAS_CPU_MIPS64_R1
1194         bool
1196 config SYS_HAS_CPU_MIPS64_R2
1197         bool
1199 config SYS_HAS_CPU_R3000
1200         bool
1202 config SYS_HAS_CPU_TX39XX
1203         bool
1205 config SYS_HAS_CPU_VR41XX
1206         bool
1208 config SYS_HAS_CPU_R4300
1209         bool
1211 config SYS_HAS_CPU_R4X00
1212         bool
1214 config SYS_HAS_CPU_TX49XX
1215         bool
1217 config SYS_HAS_CPU_R5000
1218         bool
1220 config SYS_HAS_CPU_R5432
1221         bool
1223 config SYS_HAS_CPU_R6000
1224         bool
1226 config SYS_HAS_CPU_NEVADA
1227         bool
1229 config SYS_HAS_CPU_R8000
1230         bool
1232 config SYS_HAS_CPU_R10000
1233         bool
1235 config SYS_HAS_CPU_RM7000
1236         bool
1238 config SYS_HAS_CPU_RM9000
1239         bool
1241 config SYS_HAS_CPU_SB1
1242         bool
1244 config WEAK_ORDERING
1245         bool
1246 endmenu
1249 # These two indicate any level of the MIPS32 and MIPS64 architecture
1251 config CPU_MIPS32
1252         bool
1253         default y if CPU_MIPS32_R1 || CPU_MIPS32_R2
1255 config CPU_MIPS64
1256         bool
1257         default y if CPU_MIPS64_R1 || CPU_MIPS64_R2
1260 # These two indicate the revision of the architecture, either Release 1 or Release 2
1262 config CPU_MIPSR1
1263         bool
1264         default y if CPU_MIPS32_R1 || CPU_MIPS64_R1
1266 config CPU_MIPSR2
1267         bool
1268         default y if CPU_MIPS32_R2 || CPU_MIPS64_R2
1270 config SYS_SUPPORTS_32BIT_KERNEL
1271         bool
1272 config SYS_SUPPORTS_64BIT_KERNEL
1273         bool
1274 config CPU_SUPPORTS_32BIT_KERNEL
1275         bool
1276 config CPU_SUPPORTS_64BIT_KERNEL
1277         bool
1279 menu "Kernel type"
1281 choice
1283         prompt "Kernel code model"
1284         help
1285           You should only select this option if you have a workload that
1286           actually benefits from 64-bit processing or if your machine has
1287           large memory.  You will only be presented a single option in this
1288           menu if your system does not support both 32-bit and 64-bit kernels.
1290 config 32BIT
1291         bool "32-bit kernel"
1292         depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL
1293         select TRAD_SIGNALS
1294         help
1295           Select this option if you want to build a 32-bit kernel.
1296 config 64BIT
1297         bool "64-bit kernel"
1298         depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL
1299         help
1300           Select this option if you want to build a 64-bit kernel.
1302 endchoice
1304 choice
1305         prompt "Kernel page size"
1306         default PAGE_SIZE_4KB
1308 config PAGE_SIZE_4KB
1309         bool "4kB"
1310         help
1311          This option select the standard 4kB Linux page size.  On some
1312          R3000-family processors this is the only available page size.  Using
1313          4kB page size will minimize memory consumption and is therefore
1314          recommended for low memory systems.
1316 config PAGE_SIZE_8KB
1317         bool "8kB"
1318         depends on EXPERIMENTAL && CPU_R8000
1319         help
1320           Using 8kB page size will result in higher performance kernel at
1321           the price of higher memory consumption.  This option is available
1322           only on the R8000 processor.  Not that at the time of this writing
1323           this option is still high experimental; there are also issues with
1324           compatibility of user applications.
1326 config PAGE_SIZE_16KB
1327         bool "16kB"
1328         depends on !CPU_R3000 && !CPU_TX39XX
1329         help
1330           Using 16kB 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 processors.  Note that you will need a suitable
1333           Linux distribution to support this.
1335 config PAGE_SIZE_64KB
1336         bool "64kB"
1337         depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX
1338         help
1339           Using 64kB page size will result in higher performance kernel at
1340           the price of higher memory consumption.  This option is available on
1341           all non-R3000 family processor.  Not that at the time of this
1342           writing this option is still high experimental.
1344 endchoice
1346 config BOARD_SCACHE
1347         bool
1349 config IP22_CPU_SCACHE
1350         bool
1351         select BOARD_SCACHE
1354 # Support for a MIPS32 / MIPS64 style S-caches
1356 config MIPS_CPU_SCACHE
1357         bool
1358         select BOARD_SCACHE
1360 config R5000_CPU_SCACHE
1361         bool
1362         select BOARD_SCACHE
1364 config RM7000_CPU_SCACHE
1365         bool
1366         select BOARD_SCACHE
1368 config SIBYTE_DMA_PAGEOPS
1369         bool "Use DMA to clear/copy pages"
1370         depends on CPU_SB1
1371         help
1372           Instead of using the CPU to zero and copy pages, use a Data Mover
1373           channel.  These DMA channels are otherwise unused by the standard
1374           SiByte Linux port.  Seems to give a small performance benefit.
1376 config CPU_HAS_PREFETCH
1377         bool
1379 choice
1380         prompt "MIPS MT options"
1382 config MIPS_MT_DISABLED
1383         bool "Disable multithreading support."
1384         help
1385           Use this option if your workload can't take advantage of
1386           MIPS hardware multithreading support.  On systems that don't have
1387           the option of an MT-enabled processor this option will be the only
1388           option in this menu.
1390 config MIPS_MT_SMP
1391         bool "Use 1 TC on each available VPE for SMP"
1392         depends on SYS_SUPPORTS_MULTITHREADING
1393         select CPU_MIPSR2_IRQ_VI
1394         select CPU_MIPSR2_IRQ_EI
1395         select MIPS_MT
1396         select NR_CPUS_DEFAULT_2
1397         select SMP
1398         select SYS_SUPPORTS_SMP
1399         help
1400           This is a kernel model which is known a VSMP but lately has been
1401           marketesed into SMVP.
1402           Virtual SMP uses the processor's VPEs  to implement virtual
1403           processors. In currently available configuration of the 34K processor
1404           this allows for a dual processor. Both processors will share the same
1405           primary caches; each will obtain the half of the TLB for it's own
1406           exclusive use. For a layman this model can be described as similar to
1407           what Intel calls Hyperthreading.
1409           For further information see http://www.linux-mips.org/wiki/34K#VSMP
1411 config MIPS_MT_SMTC
1412         bool "SMTC: Use all TCs on all VPEs for SMP"
1413         depends on CPU_MIPS32_R2
1414         #depends on CPU_MIPS64_R2               # once there is hardware ...
1415         depends on SYS_SUPPORTS_MULTITHREADING
1416         select CPU_MIPSR2_IRQ_VI
1417         select CPU_MIPSR2_IRQ_EI
1418         select MIPS_MT
1419         select NR_CPUS_DEFAULT_8
1420         select SMP
1421         select SYS_SUPPORTS_SMP
1422         help
1423           This is a kernel model which is known a SMTC or lately has been
1424           marketesed into SMVP.
1425           is presenting the available TC's of the core as processors to Linux.
1426           On currently available 34K processors this means a Linux system will
1427           see up to 5 processors. The implementation of the SMTC kernel differs
1428           significantly from VSMP and cannot efficiently coexist in the same
1429           kernel binary so the choice between VSMP and SMTC is a compile time
1430           decision.
1432           For further information see http://www.linux-mips.org/wiki/34K#SMTC
1434 config MIPS_VPE_LOADER
1435         bool "VPE loader support."
1436         depends on SYS_SUPPORTS_MULTITHREADING
1437         select CPU_MIPSR2_IRQ_VI
1438         select CPU_MIPSR2_IRQ_EI
1439         select MIPS_MT
1440         help
1441           Includes a loader for loading an elf relocatable object
1442           onto another VPE and running it.
1444 endchoice
1446 config MIPS_MT
1447         bool
1449 config SYS_SUPPORTS_MULTITHREADING
1450         bool
1452 config MIPS_MT_FPAFF
1453         bool "Dynamic FPU affinity for FP-intensive threads"
1454         depends on MIPS_MT
1455         default y
1457 config MIPS_MT_SMTC_INSTANT_REPLAY
1458         bool "Low-latency Dispatch of Deferred SMTC IPIs"
1459         depends on MIPS_MT_SMTC && !PREEMPT
1460         default y
1461         help
1462           SMTC pseudo-interrupts between TCs are deferred and queued
1463           if the target TC is interrupt-inhibited (IXMT). In the first
1464           SMTC prototypes, these queued IPIs were serviced on return
1465           to user mode, or on entry into the kernel idle loop. The
1466           INSTANT_REPLAY option dispatches them as part of local_irq_restore()
1467           processing, which adds runtime overhead (hence the option to turn
1468           it off), but ensures that IPIs are handled promptly even under
1469           heavy I/O interrupt load.
1471 config MIPS_MT_SMTC_IM_BACKSTOP
1472         bool "Use per-TC register bits as backstop for inhibited IM bits"
1473         depends on MIPS_MT_SMTC
1474         default y
1475         help
1476           To support multiple TC microthreads acting as "CPUs" within
1477           a VPE, VPE-wide interrupt mask bits must be specially manipulated
1478           during interrupt handling. To support legacy drivers and interrupt
1479           controller management code, SMTC has a "backstop" to track and
1480           if necessary restore the interrupt mask. This has some performance
1481           impact on interrupt service overhead. Disable it only if you know
1482           what you are doing.
1484 config MIPS_VPE_LOADER_TOM
1485         bool "Load VPE program into memory hidden from linux"
1486         depends on MIPS_VPE_LOADER
1487         default y
1488         help
1489           The loader can use memory that is present but has been hidden from
1490           Linux using the kernel command line option "mem=xxMB". It's up to
1491           you to ensure the amount you put in the option and the space your
1492           program requires is less or equal to the amount physically present.
1494 # this should possibly be in drivers/char, but it is rather cpu related. Hmmm
1495 config MIPS_VPE_APSP_API
1496         bool "Enable support for AP/SP API (RTLX)"
1497         depends on MIPS_VPE_LOADER
1498         help
1500 config MIPS_APSP_KSPD
1501         bool "Enable KSPD"
1502         depends on MIPS_VPE_APSP_API
1503         default y
1504         help
1505           KSPD is a kernel daemon that accepts syscall requests from the SP
1506           side, actions them and returns the results. It also handles the
1507           "exit" syscall notifying other kernel modules the SP program is
1508           exiting.  You probably want to say yes here.
1510 config SB1_PASS_1_WORKAROUNDS
1511         bool
1512         depends on CPU_SB1_PASS_1
1513         default y
1515 config SB1_PASS_2_WORKAROUNDS
1516         bool
1517         depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2)
1518         default y
1520 config SB1_PASS_2_1_WORKAROUNDS
1521         bool
1522         depends on CPU_SB1 && CPU_SB1_PASS_2
1523         default y
1525 config 64BIT_PHYS_ADDR
1526         bool "Support for 64-bit physical address space"
1527         depends on (CPU_R4X00 || CPU_R5000 || CPU_RM7000 || CPU_RM9000 || CPU_R10000 || CPU_SB1 || CPU_MIPS32 || CPU_MIPS64) && 32BIT
1529 config CPU_HAS_LLSC
1530         bool
1532 config CPU_HAS_SMARTMIPS
1533         depends on SYS_SUPPORTS_SMARTMIPS
1534         bool "Support for the SmartMIPS ASE"
1535         help
1536           SmartMIPS is a extension of the MIPS32 architecture aimed at
1537           increased security at both hardware and software level for
1538           smartcards.  Enabling this option will allow proper use of the
1539           SmartMIPS instructions by Linux applications.  However a kernel with
1540           this option will not work on a MIPS core without SmartMIPS core.  If
1541           you don't know you probably don't have SmartMIPS and should say N
1542           here.
1544 config CPU_HAS_WB
1545         bool
1548 # Vectored interrupt mode is an R2 feature
1550 config CPU_MIPSR2_IRQ_VI
1551         bool
1554 # Extended interrupt mode is an R2 feature
1556 config CPU_MIPSR2_IRQ_EI
1557         bool
1559 config CPU_HAS_SYNC
1560         bool
1561         depends on !CPU_R3000
1562         default y
1565 # Use the generic interrupt handling code in kernel/irq/:
1567 config GENERIC_HARDIRQS
1568         bool
1569         default y
1571 config GENERIC_IRQ_PROBE
1572         bool
1573         default y
1575 config IRQ_PER_CPU
1576         bool
1579 # - Highmem only makes sense for the 32-bit kernel.
1580 # - The current highmem code will only work properly on physically indexed
1581 #   caches such as R3000, SB1, R7000 or those that look like they're virtually
1582 #   indexed such as R4000/R4400 SC and MC versions or R10000.  So for the
1583 #   moment we protect the user and offer the highmem option only on machines
1584 #   where it's known to be safe.  This will not offer highmem on a few systems
1585 #   such as MIPS32 and MIPS64 CPUs which may have virtual and physically
1586 #   indexed CPUs but we're playing safe.
1587 # - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we
1588 #   know they might have memory configurations that could make use of highmem
1589 #   support.
1591 config HIGHMEM
1592         bool "High Memory Support"
1593         depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM
1595 config CPU_SUPPORTS_HIGHMEM
1596         bool
1598 config SYS_SUPPORTS_HIGHMEM
1599         bool
1601 config SYS_SUPPORTS_SMARTMIPS
1602         bool
1604 config ARCH_FLATMEM_ENABLE
1605         def_bool y
1606         depends on !NUMA
1608 config ARCH_DISCONTIGMEM_ENABLE
1609         bool
1610         default y if SGI_IP27
1611         help
1612           Say Y to support efficient handling of discontiguous physical memory,
1613           for architectures which are either NUMA (Non-Uniform Memory Access)
1614           or have huge holes in the physical address space for other reasons.
1615           See <file:Documentation/vm/numa> for more.
1617 config ARCH_POPULATES_NODE_MAP
1618         bool
1619         default y if SPARSEMEM
1621 config ARCH_SELECT_MEMORY_MODEL
1622         def_bool y
1624 config ARCH_SPARSEMEM_ENABLE
1625         bool
1626 #       select SPARSEMEM_STATIC
1628 config NUMA
1629         bool "NUMA Support"
1630         depends on SYS_SUPPORTS_NUMA
1631         help
1632           Say Y to compile the kernel to support NUMA (Non-Uniform Memory
1633           Access).  This option improves performance on systems with more
1634           than two nodes; on two node systems it is generally better to
1635           leave it disabled; on single node systems disable this option
1636           disabled.
1638 config SYS_SUPPORTS_NUMA
1639         bool
1641 config NODES_SHIFT
1642         int
1643         default "6"
1644         depends on NEED_MULTIPLE_NODES
1646 source "mm/Kconfig"
1648 config SMP
1649         bool "Multi-Processing support"
1650         depends on SYS_SUPPORTS_SMP
1651         select IRQ_PER_CPU
1652         help
1653           This enables support for systems with more than one CPU. If you have
1654           a system with only one CPU, like most personal computers, say N. If
1655           you have a system with more than one CPU, say Y.
1657           If you say N here, the kernel will run on single and multiprocessor
1658           machines, but will use only one CPU of a multiprocessor machine. If
1659           you say Y here, the kernel will run on many, but not all,
1660           singleprocessor machines. On a singleprocessor machine, the kernel
1661           will run faster if you say N here.
1663           People using multiprocessor machines who say Y here should also say
1664           Y to "Enhanced Real Time Clock Support", below.
1666           See also the <file:Documentation/smp.txt> and the SMP-HOWTO
1667           available at <http://www.tldp.org/docs.html#howto>.
1669           If you don't know what to do here, say N.
1671 config SYS_SUPPORTS_SMP
1672         bool
1674 config NR_CPUS_DEFAULT_1
1675         bool
1677 config NR_CPUS_DEFAULT_2
1678         bool
1680 config NR_CPUS_DEFAULT_4
1681         bool
1683 config NR_CPUS_DEFAULT_8
1684         bool
1686 config NR_CPUS_DEFAULT_16
1687         bool
1689 config NR_CPUS_DEFAULT_32
1690         bool
1692 config NR_CPUS_DEFAULT_64
1693         bool
1695 config NR_CPUS
1696         int "Maximum number of CPUs (2-64)"
1697         range 1 64 if NR_CPUS_DEFAULT_1
1698         depends on SMP
1699         default "1" if NR_CPUS_DEFAULT_1
1700         default "2" if NR_CPUS_DEFAULT_2
1701         default "4" if NR_CPUS_DEFAULT_4
1702         default "8" if NR_CPUS_DEFAULT_8
1703         default "16" if NR_CPUS_DEFAULT_16
1704         default "32" if NR_CPUS_DEFAULT_32
1705         default "64" if NR_CPUS_DEFAULT_64
1706         help
1707           This allows you to specify the maximum number of CPUs which this
1708           kernel will support.  The maximum supported value is 32 for 32-bit
1709           kernel and 64 for 64-bit kernels; the minimum value which makes
1710           sense is 1 for Qemu (useful only for kernel debugging purposes)
1711           and 2 for all others.
1713           This is purely to save memory - each supported CPU adds
1714           approximately eight kilobytes to the kernel image.  For best
1715           performance should round up your number of processors to the next
1716           power of two.
1719 # Timer Interrupt Frequency Configuration
1722 choice
1723         prompt "Timer frequency"
1724         default HZ_250
1725         help
1726          Allows the configuration of the timer frequency.
1728         config HZ_48
1729                 bool "48 HZ" if SYS_SUPPORTS_48HZ || SYS_SUPPORTS_ARBIT_HZ
1731         config HZ_100
1732                 bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ
1734         config HZ_128
1735                 bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ
1737         config HZ_250
1738                 bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ
1740         config HZ_256
1741                 bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ
1743         config HZ_1000
1744                 bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ
1746         config HZ_1024
1747                 bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ
1749 endchoice
1751 config SYS_SUPPORTS_48HZ
1752         bool
1754 config SYS_SUPPORTS_100HZ
1755         bool
1757 config SYS_SUPPORTS_128HZ
1758         bool
1760 config SYS_SUPPORTS_250HZ
1761         bool
1763 config SYS_SUPPORTS_256HZ
1764         bool
1766 config SYS_SUPPORTS_1000HZ
1767         bool
1769 config SYS_SUPPORTS_1024HZ
1770         bool
1772 config SYS_SUPPORTS_ARBIT_HZ
1773         bool
1774         default y if !SYS_SUPPORTS_48HZ && !SYS_SUPPORTS_100HZ && \
1775                      !SYS_SUPPORTS_128HZ && !SYS_SUPPORTS_250HZ && \
1776                      !SYS_SUPPORTS_256HZ && !SYS_SUPPORTS_1000HZ && \
1777                      !SYS_SUPPORTS_1024HZ
1779 config HZ
1780         int
1781         default 48 if HZ_48
1782         default 100 if HZ_100
1783         default 128 if HZ_128
1784         default 250 if HZ_250
1785         default 256 if HZ_256
1786         default 1000 if HZ_1000
1787         default 1024 if HZ_1024
1789 source "kernel/Kconfig.preempt"
1791 config MIPS_INSANE_LARGE
1792         bool "Support for large 64-bit configurations"
1793         depends on CPU_R10000 && 64BIT
1794         help
1795           MIPS R10000 does support a 44 bit / 16TB address space as opposed to
1796           previous 64-bit processors which only supported 40 bit / 1TB. If you
1797           need processes of more than 1TB virtual address space, say Y here.
1798           This will result in additional memory usage, so it is not
1799           recommended for normal users.
1801 config KEXEC
1802         bool "Kexec system call (EXPERIMENTAL)"
1803         depends on EXPERIMENTAL
1804         help
1805           kexec is a system call that implements the ability to shutdown your
1806           current kernel, and to start another kernel.  It is like a reboot
1807           but it is independent of the system firmware.   And like a reboot
1808           you can start any kernel with it, not just Linux.
1810           The name comes from the similiarity to the exec system call.
1812           It is an ongoing process to be certain the hardware in a machine
1813           is properly shutdown, so do not be surprised if this code does not
1814           initially work for you.  It may help to enable device hotplugging
1815           support.  As of this writing the exact hardware interface is
1816           strongly in flux, so no good recommendation can be made.
1818 config SECCOMP
1819         bool "Enable seccomp to safely compute untrusted bytecode"
1820         depends on PROC_FS && BROKEN
1821         default y
1822         help
1823           This kernel feature is useful for number crunching applications
1824           that may need to compute untrusted bytecode during their
1825           execution. By using pipes or other transports made available to
1826           the process as file descriptors supporting the read/write
1827           syscalls, it's possible to isolate those applications in
1828           their own address space using seccomp. Once seccomp is
1829           enabled via /proc/<pid>/seccomp, it cannot be disabled
1830           and the task is only allowed to execute a few safe syscalls
1831           defined by each seccomp mode.
1833           If unsure, say Y. Only embedded should say N here.
1835 endmenu
1837 config LOCKDEP_SUPPORT
1838         bool
1839         default y
1841 config STACKTRACE_SUPPORT
1842         bool
1843         default y
1845 source "init/Kconfig"
1847 menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
1849 config HW_HAS_EISA
1850         bool
1851 config HW_HAS_PCI
1852         bool
1854 config PCI
1855         bool "Support for PCI controller"
1856         depends on HW_HAS_PCI
1857         help
1858           Find out whether you have a PCI motherboard. PCI is the name of a
1859           bus system, i.e. the way the CPU talks to the other stuff inside
1860           your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
1861           say Y, otherwise N.
1863           The PCI-HOWTO, available from
1864           <http://www.tldp.org/docs.html#howto>, contains valuable
1865           information about which PCI hardware does work under Linux and which
1866           doesn't.
1868 config PCI_DOMAINS
1869         bool
1870         depends on PCI
1872 source "drivers/pci/Kconfig"
1875 # ISA support is now enabled via select.  Too many systems still have the one
1876 # or other ISA chip on the board that users don't know about so don't expect
1877 # users to choose the right thing ...
1879 config ISA
1880         bool
1882 config EISA
1883         bool "EISA support"
1884         depends on HW_HAS_EISA
1885         select ISA
1886         select GENERIC_ISA_DMA
1887         ---help---
1888           The Extended Industry Standard Architecture (EISA) bus was
1889           developed as an open alternative to the IBM MicroChannel bus.
1891           The EISA bus provided some of the features of the IBM MicroChannel
1892           bus while maintaining backward compatibility with cards made for
1893           the older ISA bus.  The EISA bus saw limited use between 1988 and
1894           1995 when it was made obsolete by the PCI bus.
1896           Say Y here if you are building a kernel for an EISA-based machine.
1898           Otherwise, say N.
1900 source "drivers/eisa/Kconfig"
1902 config TC
1903         bool "TURBOchannel support"
1904         depends on MACH_DECSTATION
1905         help
1906           TurboChannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
1907           processors.  Documentation on writing device drivers for TurboChannel
1908           is available at:
1909           <http://www.cs.arizona.edu/computer.help/policy/DIGITAL_unix/AA-PS3HD-TET1_html/TITLE.html>.
1911 #config ACCESSBUS
1912 #       bool "Access.Bus support"
1913 #       depends on TC
1915 config MMU
1916         bool
1917         default y
1919 config I8253
1920         bool
1922 source "drivers/pcmcia/Kconfig"
1924 source "drivers/pci/hotplug/Kconfig"
1926 endmenu
1928 menu "Executable file formats"
1930 source "fs/Kconfig.binfmt"
1932 config TRAD_SIGNALS
1933         bool
1935 config BUILD_ELF64
1936         bool "Use 64-bit ELF format for building"
1937         depends on 64BIT
1938         help
1939           A 64-bit kernel is usually built using the 64-bit ELF binary object
1940           format as it's one that allows arbitrary 64-bit constructs.  For
1941           kernels that are loaded within the KSEG compatibility segments the
1942           32-bit ELF format can optionally be used resulting in a somewhat
1943           smaller binary, but this option is not explicitly supported by the
1944           toolchain and since binutils 2.14 it does not even work at all.
1946           Say Y to use the 64-bit format or N to use the 32-bit one.
1948           If unsure say Y.
1950 config BINFMT_IRIX
1951         bool "Include IRIX binary compatibility"
1952         depends on CPU_BIG_ENDIAN && 32BIT && BROKEN
1954 config MIPS32_COMPAT
1955         bool "Kernel support for Linux/MIPS 32-bit binary compatibility"
1956         depends on 64BIT
1957         help
1958           Select this option if you want Linux/MIPS 32-bit binary
1959           compatibility. Since all software available for Linux/MIPS is
1960           currently 32-bit you should say Y here.
1962 config COMPAT
1963         bool
1964         depends on MIPS32_COMPAT
1965         default y
1967 config SYSVIPC_COMPAT
1968         bool
1969         depends on COMPAT && SYSVIPC
1970         default y
1972 config MIPS32_O32
1973         bool "Kernel support for o32 binaries"
1974         depends on MIPS32_COMPAT
1975         help
1976           Select this option if you want to run o32 binaries.  These are pure
1977           32-bit binaries as used by the 32-bit Linux/MIPS port.  Most of
1978           existing binaries are in this format.
1980           If unsure, say Y.
1982 config MIPS32_N32
1983         bool "Kernel support for n32 binaries"
1984         depends on MIPS32_COMPAT
1985         help
1986           Select this option if you want to run n32 binaries.  These are
1987           64-bit binaries using 32-bit quantities for addressing and certain
1988           data that would normally be 64-bit.  They are used in special
1989           cases.
1991           If unsure, say N.
1993 config BINFMT_ELF32
1994         bool
1995         default y if MIPS32_O32 || MIPS32_N32
1997 endmenu
1999 menu "Power management options"
2001 source "kernel/power/Kconfig"
2003 endmenu
2005 source "net/Kconfig"
2007 source "drivers/Kconfig"
2009 source "fs/Kconfig"
2011 source "arch/mips/oprofile/Kconfig"
2013 source "arch/mips/Kconfig.debug"
2015 source "security/Kconfig"
2017 source "crypto/Kconfig"
2019 source "lib/Kconfig"