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