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