RT-AC56 3.0.0.4.374.37 core
[tomato.git] / release / src-rt-6.x.4708 / linux / linux-2.6.36 / arch / mips / Kconfig
blobeb9cd9e0b534869d8f5d941c922dfb9215a92ea1
1 config MIPS
2         bool
3         default y
4         select HAVE_GENERIC_DMA_COHERENT
5         select HAVE_IDE
6         select HAVE_OPROFILE
7         select HAVE_ARCH_KGDB
8         select HAVE_FUNCTION_TRACER
9         select HAVE_FUNCTION_TRACE_MCOUNT_TEST
10         select HAVE_DYNAMIC_FTRACE
11         select HAVE_FTRACE_MCOUNT_RECORD
12         select HAVE_FUNCTION_GRAPH_TRACER
13         select HAVE_KPROBES
14         select HAVE_KRETPROBES
15         select RTC_LIB if !MACH_LOONGSON
16         select GENERIC_ATOMIC64 if !64BIT
18 mainmenu "Linux/MIPS Kernel Configuration"
20 menu "Machine selection"
22 config ZONE_DMA
23         bool
25 choice
26         prompt "System type"
27         default MIPS_BRCM
29 config MIPS_BRCM
30         bool "Broadcom MIPS based platforms"
31         select SYS_SUPPORTS_LITTLE_ENDIAN
32         select DMA_NONCOHERENT
33         select HW_HAS_PCI
34         select IRQ_CPU
35         select SYS_SUPPORTS_32BIT_KERNEL
36         select SYS_SUPPORTS_KGDB
37         select SYS_HAS_CPU_MIPS32_R1
38         select SYS_HAS_CPU_MIPS32_R2
39         select ARCH_SELECT_MEMORY_MODEL
40         select ARCH_SPARSEMEM_ENABLE
41         select CPU_SUPPORTS_HIGHMEM
42         select SYS_SUPPORTS_HIGHMEM
43         select SYS_HAS_EARLY_PRINTK
44         select EMBEDDED
45         select BOOT_RAW
46         select CFE
48 config MIPS_ALCHEMY
49         bool "Alchemy processor based machines"
50         select 64BIT_PHYS_ADDR
51         select CEVT_R4K_LIB
52         select CSRC_R4K_LIB
53         select IRQ_CPU
54         select SYS_HAS_CPU_MIPS32_R1
55         select SYS_SUPPORTS_32BIT_KERNEL
56         select SYS_SUPPORTS_APM_EMULATION
57         select GENERIC_GPIO
58         select ARCH_WANT_OPTIONAL_GPIOLIB
59         select SYS_SUPPORTS_ZBOOT
61 config AR7
62         bool "Texas Instruments AR7"
63         select BOOT_ELF32
64         select DMA_NONCOHERENT
65         select CEVT_R4K
66         select CSRC_R4K
67         select IRQ_CPU
68         select NO_EXCEPT_FILL
69         select SWAP_IO_SPACE
70         select SYS_HAS_CPU_MIPS32_R1
71         select SYS_HAS_EARLY_PRINTK
72         select SYS_SUPPORTS_32BIT_KERNEL
73         select SYS_SUPPORTS_LITTLE_ENDIAN
74         select SYS_SUPPORTS_ZBOOT_UART16550
75         select ARCH_REQUIRE_GPIOLIB
76         select GCD
77         select VLYNQ
78         help
79           Support for the Texas Instruments AR7 System-on-a-Chip
80           family: TNETD7100, 7200 and 7300.
82 config BCM47XX
83         bool "Broadcom BCM47XX based boards"
84         select CEVT_R4K
85         select CSRC_R4K
86         select DMA_NONCOHERENT
87         select HW_HAS_PCI
88         select IRQ_CPU
89         select SYS_HAS_CPU_MIPS32_R1
90         select SYS_SUPPORTS_32BIT_KERNEL
91         select SYS_SUPPORTS_LITTLE_ENDIAN
92         select SSB
93         select SSB_DRIVER_MIPS
94         select SSB_DRIVER_EXTIF
95         select SSB_EMBEDDED
96         select SSB_B43_PCI_BRIDGE if PCI
97         select SSB_PCICORE_HOSTMODE if PCI
98         select GENERIC_GPIO
99         select SYS_HAS_EARLY_PRINTK
100         select CFE
101         help
102          Support for BCM47XX based boards
104 config BCM63XX
105         bool "Broadcom BCM63XX based boards"
106         select CEVT_R4K
107         select CSRC_R4K
108         select DMA_NONCOHERENT
109         select IRQ_CPU
110         select SYS_HAS_CPU_MIPS32_R1
111         select SYS_SUPPORTS_32BIT_KERNEL
112         select SYS_SUPPORTS_BIG_ENDIAN
113         select SYS_HAS_EARLY_PRINTK
114         select SWAP_IO_SPACE
115         select ARCH_REQUIRE_GPIOLIB
116         help
117          Support for BCM63XX based boards
119 config MIPS_COBALT
120         bool "Cobalt Server"
121         select CEVT_R4K
122         select CSRC_R4K
123         select CEVT_GT641XX
124         select DMA_NONCOHERENT
125         select HW_HAS_PCI
126         select I8253
127         select I8259
128         select IRQ_CPU
129         select IRQ_GT641XX
130         select PCI_GT64XXX_PCI0
131         select PCI
132         select SYS_HAS_CPU_NEVADA
133         select SYS_HAS_EARLY_PRINTK
134         select SYS_SUPPORTS_32BIT_KERNEL
135         select SYS_SUPPORTS_64BIT_KERNEL
136         select SYS_SUPPORTS_LITTLE_ENDIAN
138 config MACH_DECSTATION
139         bool "DECstations"
140         select BOOT_ELF32
141         select CEVT_DS1287
142         select CEVT_R4K
143         select CSRC_IOASIC
144         select CSRC_R4K
145         select CPU_DADDI_WORKAROUNDS if 64BIT
146         select CPU_R4000_WORKAROUNDS if 64BIT
147         select CPU_R4400_WORKAROUNDS if 64BIT
148         select DMA_NONCOHERENT
149         select NO_IOPORT
150         select IRQ_CPU
151         select SYS_HAS_CPU_R3000
152         select SYS_HAS_CPU_R4X00
153         select SYS_SUPPORTS_32BIT_KERNEL
154         select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
155         select SYS_SUPPORTS_LITTLE_ENDIAN
156         select SYS_SUPPORTS_128HZ
157         select SYS_SUPPORTS_256HZ
158         select SYS_SUPPORTS_1024HZ
159         help
160           This enables support for DEC's MIPS based workstations.  For details
161           see the Linux/MIPS FAQ on <http://www.linux-mips.org/> and the
162           DECstation porting pages on <http://decstation.unix-ag.org/>.
164           If you have one of the following DECstation Models you definitely
165           want to choose R4xx0 for the CPU Type:
167                 DECstation 5000/50
168                 DECstation 5000/150
169                 DECstation 5000/260
170                 DECsystem 5900/260
172           otherwise choose R3000.
174 config MACH_JAZZ
175         bool "Jazz family of machines"
176         select ARC
177         select ARC32
178         select ARCH_MAY_HAVE_PC_FDC
179         select CEVT_R4K
180         select CSRC_R4K
181         select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
182         select GENERIC_ISA_DMA
183         select IRQ_CPU
184         select I8253
185         select I8259
186         select ISA
187         select SYS_HAS_CPU_R4X00
188         select SYS_SUPPORTS_32BIT_KERNEL
189         select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
190         select SYS_SUPPORTS_100HZ
191         help
192          This a family of machines based on the MIPS R4030 chipset which was
193          used by several vendors to build RISC/os and Windows NT workstations.
194          Members include the Acer PICA, MIPS Magnum 4000, MIPS Millennium and
195          Olivetti M700-10 workstations.
197 config MACH_JZ4740
198         bool "Ingenic JZ4740 based machines"
199         select SYS_HAS_CPU_MIPS32_R1
200         select SYS_SUPPORTS_32BIT_KERNEL
201         select SYS_SUPPORTS_LITTLE_ENDIAN
202         select DMA_NONCOHERENT
203         select IRQ_CPU
204         select GENERIC_GPIO
205         select ARCH_REQUIRE_GPIOLIB
206         select SYS_HAS_EARLY_PRINTK
207         select HAVE_PWM
208         select HAVE_CLK
210 config LASAT
211         bool "LASAT Networks platforms"
212         select CEVT_R4K
213         select CSRC_R4K
214         select DMA_NONCOHERENT
215         select SYS_HAS_EARLY_PRINTK
216         select HW_HAS_PCI
217         select IRQ_CPU
218         select PCI_GT64XXX_PCI0
219         select MIPS_NILE4
220         select R5000_CPU_SCACHE
221         select SYS_HAS_CPU_R5000
222         select SYS_SUPPORTS_32BIT_KERNEL
223         select SYS_SUPPORTS_64BIT_KERNEL if BROKEN
224         select SYS_SUPPORTS_LITTLE_ENDIAN
226 config MACH_LOONGSON
227         bool "Loongson family of machines"
228         select SYS_SUPPORTS_ZBOOT
229         help
230           This enables the support of Loongson family of machines.
232           Loongson is a family of general-purpose MIPS-compatible CPUs.
233           developed at Institute of Computing Technology (ICT),
234           Chinese Academy of Sciences (CAS) in the People's Republic
235           of China. The chief architect is Professor Weiwu Hu.
237 config MIPS_MALTA
238         bool "MIPS Malta board"
239         select ARCH_MAY_HAVE_PC_FDC
240         select BOOT_ELF32
241         select BOOT_RAW
242         select CEVT_R4K
243         select CSRC_R4K
244         select DMA_NONCOHERENT
245         select GENERIC_ISA_DMA
246         select IRQ_CPU
247         select IRQ_GIC
248         select HW_HAS_PCI
249         select I8253
250         select I8259
251         select MIPS_BOARDS_GEN
252         select MIPS_BONITO64
253         select MIPS_CPU_SCACHE
254         select PCI_GT64XXX_PCI0
255         select MIPS_MSC
256         select SWAP_IO_SPACE
257         select SYS_HAS_CPU_MIPS32_R1
258         select SYS_HAS_CPU_MIPS32_R2
259         select SYS_HAS_CPU_MIPS64_R1
260         select SYS_HAS_CPU_MIPS64_R2
261         select SYS_HAS_CPU_NEVADA
262         select SYS_HAS_CPU_RM7000
263         select SYS_HAS_EARLY_PRINTK
264         select SYS_SUPPORTS_32BIT_KERNEL
265         select SYS_SUPPORTS_64BIT_KERNEL
266         select SYS_SUPPORTS_BIG_ENDIAN
267         select SYS_SUPPORTS_LITTLE_ENDIAN
268         select SYS_SUPPORTS_MIPS_CMP
269         select SYS_SUPPORTS_MULTITHREADING
270         select SYS_SUPPORTS_HOTPLUG_CPU
271         select SYS_SUPPORTS_SMARTMIPS
272         select SYS_SUPPORTS_MICROMIPS
273         select SYS_SUPPORTS_ZBOOT
274         help
275           This enables support for the MIPS Technologies Malta evaluation
276           board.
278 config MIPS_SEAD3
279         bool "MIPS SEAD3 board"
280         select BOOT_ELF32
281         select BOOT_RAW
282         select CEVT_R4K
283         select CSRC_R4K
284         select DMA_NONCOHERENT
285         select IRQ_CPU
286         select IRQ_GIC
287         select MIPS_BOARDS_GEN
288         select MIPS_CPU_SCACHE
289         select MIPS_MSC
290         select SYS_HAS_CPU_MIPS32_R1
291         select SYS_HAS_CPU_MIPS32_R2
292         select SYS_HAS_CPU_MIPS64_R1
293         select SYS_HAS_EARLY_PRINTK
294         select SYS_SUPPORTS_32BIT_KERNEL
295         select SYS_SUPPORTS_64BIT_KERNEL
296         select SYS_SUPPORTS_BIG_ENDIAN
297         select SYS_SUPPORTS_LITTLE_ENDIAN
298         select SYS_SUPPORTS_MULTITHREADING
299         select SYS_SUPPORTS_SMARTMIPS
300         select SYS_SUPPORTS_MICROMIPS
301         help
302           This enables support for the MIPS Technologies SEAD3 evaluation
303           board.
305 config MIPS_SIM
306         bool 'MIPS simulator (MIPSsim)'
307         select CEVT_R4K
308         select CSRC_R4K
309         select DMA_NONCOHERENT
310         select SYS_HAS_EARLY_PRINTK
311         select IRQ_CPU
312         select BOOT_RAW
313         select SYS_HAS_CPU_MIPS32_R1
314         select SYS_HAS_CPU_MIPS32_R2
315         select SYS_HAS_EARLY_PRINTK
316         select SYS_SUPPORTS_32BIT_KERNEL
317         select SYS_SUPPORTS_BIG_ENDIAN
318         select SYS_SUPPORTS_MULTITHREADING
319         select SYS_SUPPORTS_LITTLE_ENDIAN
320         help
321           This option enables support for MIPS Technologies MIPSsim software
322           emulator.
324 config NEC_MARKEINS
325         bool "NEC EMMA2RH Mark-eins board"
326         select SOC_EMMA2RH
327         select HW_HAS_PCI
328         help
329           This enables support for the NEC Electronics Mark-eins boards.
331 config MACH_VR41XX
332         bool "NEC VR4100 series based machines"
333         select CEVT_R4K
334         select CSRC_R4K
335         select SYS_HAS_CPU_VR41XX
336         select ARCH_REQUIRE_GPIOLIB
338 config NXP_STB220
339         bool "NXP STB220 board"
340         select SOC_PNX833X
341         help
342          Support for NXP Semiconductors STB220 Development Board.
344 config NXP_STB225
345         bool "NXP 225 board"
346         select SOC_PNX833X
347         select SOC_PNX8335
348         help
349          Support for NXP Semiconductors STB225 Development Board.
351 config PNX8550_JBS
352         bool "NXP PNX8550 based JBS board"
353         select PNX8550
354         select SYS_SUPPORTS_LITTLE_ENDIAN
356 config PNX8550_STB810
357         bool "NXP PNX8550 based STB810 board"
358         select PNX8550
359         select SYS_SUPPORTS_LITTLE_ENDIAN
361 config PMC_MSP
362         bool "PMC-Sierra MSP chipsets"
363         depends on EXPERIMENTAL
364         select DMA_NONCOHERENT
365         select SWAP_IO_SPACE
366         select NO_EXCEPT_FILL
367         select BOOT_RAW
368         select SYS_HAS_CPU_MIPS32_R1
369         select SYS_HAS_CPU_MIPS32_R2
370         select SYS_SUPPORTS_32BIT_KERNEL
371         select SYS_SUPPORTS_BIG_ENDIAN
372         select IRQ_CPU
373         select SERIAL_8250
374         select SERIAL_8250_CONSOLE
375         help
376           This adds support for the PMC-Sierra family of Multi-Service
377           Processor System-On-A-Chips.  These parts include a number
378           of integrated peripherals, interfaces and DSPs in addition to
379           a variety of MIPS cores.
381 config PMC_YOSEMITE
382         bool "PMC-Sierra Yosemite eval board"
383         select CEVT_R4K
384         select CSRC_R4K
385         select DMA_COHERENT
386         select HW_HAS_PCI
387         select IRQ_CPU
388         select IRQ_CPU_RM7K
389         select IRQ_CPU_RM9K
390         select SWAP_IO_SPACE
391         select SYS_HAS_CPU_RM9000
392         select SYS_HAS_EARLY_PRINTK
393         select SYS_SUPPORTS_32BIT_KERNEL
394         select SYS_SUPPORTS_64BIT_KERNEL
395         select SYS_SUPPORTS_BIG_ENDIAN
396         select SYS_SUPPORTS_HIGHMEM
397         select SYS_SUPPORTS_SMP
398         help
399           Yosemite is an evaluation board for the RM9000x2 processor
400           manufactured by PMC-Sierra.
402 config POWERTV
403         bool "Cisco PowerTV"
404         select BOOT_ELF32
405         select CEVT_R4K
406         select CPU_MIPSR2_IRQ_VI
407         select CPU_MIPSR2_IRQ_EI
408         select CSRC_POWERTV
409         select DMA_NONCOHERENT
410         select HW_HAS_PCI
411         select SYS_HAS_EARLY_PRINTK
412         select SYS_HAS_CPU_MIPS32_R2
413         select SYS_SUPPORTS_32BIT_KERNEL
414         select SYS_SUPPORTS_BIG_ENDIAN
415         select SYS_SUPPORTS_HIGHMEM
416         select USB_OHCI_LITTLE_ENDIAN
417         help
418           This enables support for the Cisco PowerTV Platform.
420 config SGI_IP22
421         bool "SGI IP22 (Indy/Indigo2)"
422         select ARC
423         select ARC32
424         select BOOT_ELF32
425         select CEVT_R4K
426         select CSRC_R4K
427         select DEFAULT_SGI_PARTITION
428         select DMA_NONCOHERENT
429         select HW_HAS_EISA
430         select I8253
431         select I8259
432         select IP22_CPU_SCACHE
433         select IRQ_CPU
434         select GENERIC_ISA_DMA_SUPPORT_BROKEN
435         select SGI_HAS_I8042
436         select SGI_HAS_INDYDOG
437         select SGI_HAS_HAL2
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_R4X00
443         select SYS_HAS_CPU_R5000
444         #
445         # Disable EARLY_PRINTK for now since it leads to overwritten prom
446         # memory during early boot on some machines.
447         #
448         # See http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20091119164009.GA15038%40deprecation.cyrius.com
449         # for a more details discussion
450         #
451         # select SYS_HAS_EARLY_PRINTK
452         select SYS_SUPPORTS_32BIT_KERNEL
453         select SYS_SUPPORTS_64BIT_KERNEL
454         select SYS_SUPPORTS_BIG_ENDIAN
455         help
456           This are the SGI Indy, Challenge S and Indigo2, as well as certain
457           OEM variants like the Tandem CMN B006S. To compile a Linux kernel
458           that runs on these, say Y here.
460 config SGI_IP27
461         bool "SGI IP27 (Origin200/2000)"
462         select ARC
463         select ARC64
464         select BOOT_ELF64
465         select DEFAULT_SGI_PARTITION
466         select DMA_COHERENT
467         select SYS_HAS_EARLY_PRINTK
468         select HW_HAS_PCI
469         select NR_CPUS_DEFAULT_64
470         select SYS_HAS_CPU_R10000
471         select SYS_SUPPORTS_64BIT_KERNEL
472         select SYS_SUPPORTS_BIG_ENDIAN
473         select SYS_SUPPORTS_NUMA
474         select SYS_SUPPORTS_SMP
475         help
476           This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics
477           workstations.  To compile a Linux kernel that runs on these, say Y
478           here.
480 config SGI_IP28
481         bool "SGI IP28 (Indigo2 R10k) (EXPERIMENTAL)"
482         depends on EXPERIMENTAL
483         select ARC
484         select ARC64
485         select BOOT_ELF64
486         select CEVT_R4K
487         select CSRC_R4K
488         select DEFAULT_SGI_PARTITION
489         select DMA_NONCOHERENT
490         select GENERIC_ISA_DMA_SUPPORT_BROKEN
491         select IRQ_CPU
492         select HW_HAS_EISA
493         select I8253
494         select I8259
495         select SGI_HAS_I8042
496         select SGI_HAS_INDYDOG
497         select SGI_HAS_HAL2
498         select SGI_HAS_SEEQ
499         select SGI_HAS_WD93
500         select SGI_HAS_ZILOG
501         select SWAP_IO_SPACE
502         select SYS_HAS_CPU_R10000
503         #
504         # Disable EARLY_PRINTK for now since it leads to overwritten prom
505         # memory during early boot on some machines.
506         #
507         # See http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20091119164009.GA15038%40deprecation.cyrius.com
508         # for a more details discussion
509         #
510         # select SYS_HAS_EARLY_PRINTK
511         select SYS_SUPPORTS_64BIT_KERNEL
512         select SYS_SUPPORTS_BIG_ENDIAN
513       help
514         This is the SGI Indigo2 with R10000 processor.  To compile a Linux
515         kernel that runs on these, say Y here.
517 config SGI_IP32
518         bool "SGI IP32 (O2)"
519         select ARC
520         select ARC32
521         select BOOT_ELF32
522         select CEVT_R4K
523         select CSRC_R4K
524         select DMA_NONCOHERENT
525         select HW_HAS_PCI
526         select IRQ_CPU
527         select R5000_CPU_SCACHE
528         select RM7000_CPU_SCACHE
529         select SYS_HAS_CPU_R5000
530         select SYS_HAS_CPU_R10000 if BROKEN
531         select SYS_HAS_CPU_RM7000
532         select SYS_HAS_CPU_NEVADA
533         select SYS_SUPPORTS_64BIT_KERNEL
534         select SYS_SUPPORTS_BIG_ENDIAN
535         help
536           If you want this kernel to run on SGI O2 workstation, say Y here.
538 config SIBYTE_CRHINE
539         bool "Sibyte BCM91120C-CRhine"
540         depends on EXPERIMENTAL
541         select BOOT_ELF32
542         select DMA_COHERENT
543         select SIBYTE_BCM1120
544         select SWAP_IO_SPACE
545         select SYS_HAS_CPU_SB1
546         select SYS_SUPPORTS_BIG_ENDIAN
547         select SYS_SUPPORTS_LITTLE_ENDIAN
549 config SIBYTE_CARMEL
550         bool "Sibyte BCM91120x-Carmel"
551         depends on EXPERIMENTAL
552         select BOOT_ELF32
553         select DMA_COHERENT
554         select SIBYTE_BCM1120
555         select SWAP_IO_SPACE
556         select SYS_HAS_CPU_SB1
557         select SYS_SUPPORTS_BIG_ENDIAN
558         select SYS_SUPPORTS_LITTLE_ENDIAN
560 config SIBYTE_CRHONE
561         bool "Sibyte BCM91125C-CRhone"
562         depends on EXPERIMENTAL
563         select BOOT_ELF32
564         select DMA_COHERENT
565         select SIBYTE_BCM1125
566         select SWAP_IO_SPACE
567         select SYS_HAS_CPU_SB1
568         select SYS_SUPPORTS_BIG_ENDIAN
569         select SYS_SUPPORTS_HIGHMEM
570         select SYS_SUPPORTS_LITTLE_ENDIAN
572 config SIBYTE_RHONE
573         bool "Sibyte BCM91125E-Rhone"
574         depends on EXPERIMENTAL
575         select BOOT_ELF32
576         select DMA_COHERENT
577         select SIBYTE_BCM1125H
578         select SWAP_IO_SPACE
579         select SYS_HAS_CPU_SB1
580         select SYS_SUPPORTS_BIG_ENDIAN
581         select SYS_SUPPORTS_LITTLE_ENDIAN
583 config SIBYTE_SWARM
584         bool "Sibyte BCM91250A-SWARM"
585         select BOOT_ELF32
586         select DMA_COHERENT
587         select HAVE_PATA_PLATFORM
588         select NR_CPUS_DEFAULT_2
589         select SIBYTE_SB1250
590         select SWAP_IO_SPACE
591         select SYS_HAS_CPU_SB1
592         select SYS_SUPPORTS_BIG_ENDIAN
593         select SYS_SUPPORTS_HIGHMEM
594         select SYS_SUPPORTS_LITTLE_ENDIAN
595         select ZONE_DMA32 if 64BIT
597 config SIBYTE_LITTLESUR
598         bool "Sibyte BCM91250C2-LittleSur"
599         depends on EXPERIMENTAL
600         select BOOT_ELF32
601         select DMA_COHERENT
602         select HAVE_PATA_PLATFORM
603         select NR_CPUS_DEFAULT_2
604         select SIBYTE_SB1250
605         select SWAP_IO_SPACE
606         select SYS_HAS_CPU_SB1
607         select SYS_SUPPORTS_BIG_ENDIAN
608         select SYS_SUPPORTS_HIGHMEM
609         select SYS_SUPPORTS_LITTLE_ENDIAN
611 config SIBYTE_SENTOSA
612         bool "Sibyte BCM91250E-Sentosa"
613         depends on EXPERIMENTAL
614         select BOOT_ELF32
615         select DMA_COHERENT
616         select NR_CPUS_DEFAULT_2
617         select SIBYTE_SB1250
618         select SWAP_IO_SPACE
619         select SYS_HAS_CPU_SB1
620         select SYS_SUPPORTS_BIG_ENDIAN
621         select SYS_SUPPORTS_LITTLE_ENDIAN
623 config SIBYTE_BIGSUR
624         bool "Sibyte BCM91480B-BigSur"
625         select BOOT_ELF32
626         select DMA_COHERENT
627         select NR_CPUS_DEFAULT_4
628         select SIBYTE_BCM1x80
629         select SWAP_IO_SPACE
630         select SYS_HAS_CPU_SB1
631         select SYS_SUPPORTS_BIG_ENDIAN
632         select SYS_SUPPORTS_HIGHMEM
633         select SYS_SUPPORTS_LITTLE_ENDIAN
634         select ZONE_DMA32 if 64BIT
636 config SNI_RM
637         bool "SNI RM200/300/400"
638         select ARC if CPU_LITTLE_ENDIAN
639         select ARC32 if CPU_LITTLE_ENDIAN
640         select SNIPROM if CPU_BIG_ENDIAN
641         select ARCH_MAY_HAVE_PC_FDC
642         select BOOT_ELF32
643         select CEVT_R4K
644         select CSRC_R4K
645         select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
646         select DMA_NONCOHERENT
647         select GENERIC_ISA_DMA
648         select HW_HAS_EISA
649         select HW_HAS_PCI
650         select IRQ_CPU
651         select I8253
652         select I8259
653         select ISA
654         select SWAP_IO_SPACE if CPU_BIG_ENDIAN
655         select SYS_HAS_CPU_R4X00
656         select SYS_HAS_CPU_R5000
657         select SYS_HAS_CPU_R10000
658         select R5000_CPU_SCACHE
659         select SYS_HAS_EARLY_PRINTK
660         select SYS_SUPPORTS_32BIT_KERNEL
661         select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
662         select SYS_SUPPORTS_BIG_ENDIAN
663         select SYS_SUPPORTS_HIGHMEM
664         select SYS_SUPPORTS_LITTLE_ENDIAN
665         help
666           The SNI RM200/300/400 are MIPS-based machines manufactured by
667           Siemens Nixdorf Informationssysteme (SNI), parent company of Pyramid
668           Technology and now in turn merged with Fujitsu.  Say Y here to
669           support this machine type.
671 config MACH_TX39XX
672         bool "Toshiba TX39 series based machines"
674 config MACH_TX49XX
675         bool "Toshiba TX49 series based machines"
677 config MIKROTIK_RB532
678         bool "Mikrotik RB532 boards"
679         select CEVT_R4K
680         select CSRC_R4K
681         select DMA_NONCOHERENT
682         select HW_HAS_PCI
683         select IRQ_CPU
684         select SYS_HAS_CPU_MIPS32_R1
685         select SYS_SUPPORTS_32BIT_KERNEL
686         select SYS_SUPPORTS_LITTLE_ENDIAN
687         select SWAP_IO_SPACE
688         select BOOT_RAW
689         select ARCH_REQUIRE_GPIOLIB
690         help
691           Support the Mikrotik(tm) RouterBoard 532 series,
692           based on the IDT RC32434 SoC.
694 config WR_PPMC
695         bool "Wind River PPMC board"
696         select CEVT_R4K
697         select CSRC_R4K
698         select IRQ_CPU
699         select BOOT_ELF32
700         select DMA_NONCOHERENT
701         select HW_HAS_PCI
702         select PCI_GT64XXX_PCI0
703         select SWAP_IO_SPACE
704         select SYS_HAS_CPU_MIPS32_R1
705         select SYS_HAS_CPU_MIPS32_R2
706         select SYS_HAS_CPU_MIPS64_R1
707         select SYS_HAS_CPU_NEVADA
708         select SYS_HAS_CPU_RM7000
709         select SYS_SUPPORTS_32BIT_KERNEL
710         select SYS_SUPPORTS_64BIT_KERNEL
711         select SYS_SUPPORTS_BIG_ENDIAN
712         select SYS_SUPPORTS_LITTLE_ENDIAN
713         help
714           This enables support for the Wind River MIPS32 4KC PPMC evaluation
715           board, which is based on GT64120 bridge chip.
717 config CAVIUM_OCTEON_SIMULATOR
718         bool "Cavium Networks Octeon Simulator"
719         select CEVT_R4K
720         select 64BIT_PHYS_ADDR
721         select DMA_COHERENT
722         select SYS_SUPPORTS_64BIT_KERNEL
723         select SYS_SUPPORTS_BIG_ENDIAN
724         select SYS_SUPPORTS_HIGHMEM
725         select SYS_SUPPORTS_HOTPLUG_CPU
726         select SYS_HAS_CPU_CAVIUM_OCTEON
727         help
728           The Octeon simulator is software performance model of the Cavium
729           Octeon Processor. It supports simulating Octeon processors on x86
730           hardware.
732 config CAVIUM_OCTEON_REFERENCE_BOARD
733         bool "Cavium Networks Octeon reference board"
734         select CEVT_R4K
735         select 64BIT_PHYS_ADDR
736         select DMA_COHERENT
737         select SYS_SUPPORTS_64BIT_KERNEL
738         select SYS_SUPPORTS_BIG_ENDIAN
739         select SYS_SUPPORTS_HIGHMEM
740         select SYS_SUPPORTS_HOTPLUG_CPU
741         select SYS_HAS_EARLY_PRINTK
742         select SYS_HAS_CPU_CAVIUM_OCTEON
743         select SWAP_IO_SPACE
744         select HW_HAS_PCI
745         select ARCH_SUPPORTS_MSI
746         help
747           This option supports all of the Octeon reference boards from Cavium
748           Networks. It builds a kernel that dynamically determines the Octeon
749           CPU type and supports all known board reference implementations.
750           Some of the supported boards are:
751                 EBT3000
752                 EBH3000
753                 EBH3100
754                 Thunder
755                 Kodama
756                 Hikari
757           Say Y here for most Octeon reference boards.
759 endchoice
761 source "arch/mips/brcm-boards/Kconfig"
762 source "arch/mips/alchemy/Kconfig"
763 source "arch/mips/bcm63xx/Kconfig"
764 source "arch/mips/jazz/Kconfig"
765 source "arch/mips/jz4740/Kconfig"
766 source "arch/mips/lasat/Kconfig"
767 source "arch/mips/pmc-sierra/Kconfig"
768 source "arch/mips/powertv/Kconfig"
769 source "arch/mips/sgi-ip27/Kconfig"
770 source "arch/mips/sibyte/Kconfig"
771 source "arch/mips/txx9/Kconfig"
772 source "arch/mips/vr41xx/Kconfig"
773 source "arch/mips/cavium-octeon/Kconfig"
774 source "arch/mips/loongson/Kconfig"
776 endmenu
778 config RWSEM_GENERIC_SPINLOCK
779         bool
780         default y
782 config RWSEM_XCHGADD_ALGORITHM
783         bool
785 config ARCH_HAS_ILOG2_U32
786         bool
787         default n
789 config ARCH_HAS_ILOG2_U64
790         bool
791         default n
793 config ARCH_SUPPORTS_OPROFILE
794         bool
795         default y if !MIPS_MT_SMTC
797 config GENERIC_FIND_NEXT_BIT
798         bool
799         default y
801 config GENERIC_HWEIGHT
802         bool
803         default y
805 config GENERIC_CALIBRATE_DELAY
806         bool
807         default y
809 config GENERIC_CLOCKEVENTS
810         bool
811         default y
813 config GENERIC_CMOS_UPDATE
814         bool
815         default y
817 config SCHED_OMIT_FRAME_POINTER
818         bool
819         default y
821 # config GENERIC_HARDIRQS_NO__DO_IRQ
822 #       bool
823 #       default y
826 # Select some configuration options automatically based on user selections.
828 config ARC
829         bool
831 config ARCH_MAY_HAVE_PC_FDC
832         bool
834 config BOOT_RAW
835         bool
837 config CEVT_BCM1480
838         bool
840 config CEVT_DS1287
841         bool
843 config CEVT_GT641XX
844         bool
846 config CEVT_R4K_LIB
847         bool
849 config CEVT_R4K
850         select CEVT_R4K_LIB
851         bool
853 config CEVT_SB1250
854         bool
856 config CEVT_TXX9
857         bool
859 config CSRC_BCM1480
860         bool
862 config CSRC_IOASIC
863         bool
865 config CSRC_POWERTV
866         bool
868 config CSRC_R4K_LIB
869         bool
871 config CSRC_R4K
872         select CSRC_R4K_LIB
873         bool
875 config CSRC_SB1250
876         bool
878 config GPIO_TXX9
879         select GENERIC_GPIO
880         select ARCH_REQUIRE_GPIOLIB
881         bool
883 config CFE
884         bool
886 config DMA_COHERENT
887         bool
889 config DMA_NONCOHERENT
890         bool
891         select NEED_DMA_MAP_STATE
893 config NEED_DMA_MAP_STATE
894         bool
896 config SYS_HAS_EARLY_PRINTK
897         bool
899 config HOTPLUG_CPU
900         bool "Support for hot-pluggable CPUs"
901         depends on SMP && HOTPLUG && SYS_SUPPORTS_HOTPLUG_CPU
902         help
903           Say Y here to allow turning CPUs off and on. CPUs can be
904           controlled through /sys/devices/system/cpu.
905           (Note: power management support will enable this option
906             automatically on SMP systems. )
907           Say N if you want to disable CPU hotplug.
909 config SYS_SUPPORTS_HOTPLUG_CPU
910         bool
912 config I8259
913         bool
915 config MIPS_BONITO64
916         bool
918 config MIPS_MSC
919         bool
921 config MIPS_NILE4
922         bool
924 config MIPS_DISABLE_OBSOLETE_IDE
925         bool
927 config SYNC_R4K
928         bool
930 config NO_IOPORT
931         def_bool n
933 config GENERIC_ISA_DMA
934         bool
935         select ZONE_DMA if GENERIC_ISA_DMA_SUPPORT_BROKEN=n
936         select ISA_DMA_API
938 config GENERIC_ISA_DMA_SUPPORT_BROKEN
939         bool
940         select GENERIC_ISA_DMA
942 config ISA_DMA_API
943         bool
945 config GENERIC_GPIO
946         bool
949 # Endianess selection.  Sufficiently obscure so many users don't know what to
950 # answer,so we try hard to limit the available choices.  Also the use of a
951 # choice statement should be more obvious to the user.
953 choice
954         prompt "Endianess selection"
955         help
956           Some MIPS machines can be configured for either little or big endian
957           byte order. These modes require different kernels and a different
958           Linux distribution.  In general there is one preferred byteorder for a
959           particular system but some systems are just as commonly used in the
960           one or the other endianness.
962 config CPU_BIG_ENDIAN
963         bool "Big endian"
964         depends on SYS_SUPPORTS_BIG_ENDIAN
966 config CPU_LITTLE_ENDIAN
967         bool "Little endian"
968         depends on SYS_SUPPORTS_LITTLE_ENDIAN
969         help
971 endchoice
973 config EXPORT_UASM
974         bool
976 config SYS_SUPPORTS_APM_EMULATION
977         bool
979 config SYS_SUPPORTS_BIG_ENDIAN
980         bool
982 config SYS_SUPPORTS_LITTLE_ENDIAN
983         bool
985 config SYS_SUPPORTS_HUGETLBFS
986         bool
987         depends on CPU_SUPPORTS_HUGEPAGES && 64BIT
988         default y
990 config IRQ_CPU
991         bool
993 config IRQ_CPU_RM7K
994         bool
996 config IRQ_CPU_RM9K
997         bool
999 config IRQ_MSP_SLP
1000         bool
1002 config IRQ_MSP_CIC
1003         bool
1005 config IRQ_TXX9
1006         bool
1008 config IRQ_GT641XX
1009         bool
1011 config IRQ_GIC
1012         bool
1014 config IRQ_CPU_OCTEON
1015         bool
1017 config MIPS_BOARDS_GEN
1018         bool
1020 config PCI_GT64XXX_PCI0
1021         bool
1023 config NO_EXCEPT_FILL
1024         bool
1026 config MIPS_RM9122
1027         bool
1028         select SERIAL_RM9000
1030 config SOC_EMMA2RH
1031         bool
1032         select CEVT_R4K
1033         select CSRC_R4K
1034         select DMA_NONCOHERENT
1035         select IRQ_CPU
1036         select SWAP_IO_SPACE
1037         select SYS_HAS_CPU_R5500
1038         select SYS_SUPPORTS_32BIT_KERNEL
1039         select SYS_SUPPORTS_64BIT_KERNEL
1040         select SYS_SUPPORTS_BIG_ENDIAN
1042 config SOC_PNX833X
1043         bool
1044         select CEVT_R4K
1045         select CSRC_R4K
1046         select IRQ_CPU
1047         select DMA_NONCOHERENT
1048         select SYS_HAS_CPU_MIPS32_R2
1049         select SYS_SUPPORTS_32BIT_KERNEL
1050         select SYS_SUPPORTS_LITTLE_ENDIAN
1051         select SYS_SUPPORTS_BIG_ENDIAN
1052         select GENERIC_GPIO
1053         select CPU_MIPSR2_IRQ_VI
1055 config SOC_PNX8335
1056         bool
1057         select SOC_PNX833X
1059 config PNX8550
1060         bool
1061         select SOC_PNX8550
1063 config SOC_PNX8550
1064         bool
1065         select DMA_NONCOHERENT
1066         select HW_HAS_PCI
1067         select SYS_HAS_CPU_MIPS32_R1
1068         select SYS_HAS_EARLY_PRINTK
1069         select SYS_SUPPORTS_32BIT_KERNEL
1070         select GENERIC_GPIO
1072 config SWAP_IO_SPACE
1073         bool
1075 config SERIAL_RM9000
1076         bool
1078 config SGI_HAS_INDYDOG
1079         bool
1081 config SGI_HAS_HAL2
1082         bool
1084 config SGI_HAS_SEEQ
1085         bool
1087 config SGI_HAS_WD93
1088         bool
1090 config SGI_HAS_ZILOG
1091         bool
1093 config SGI_HAS_I8042
1094         bool
1096 config DEFAULT_SGI_PARTITION
1097         bool
1099 config ARC32
1100         bool
1102 config SNIPROM
1103         bool
1105 config BOOT_ELF32
1106         bool
1108 config MIPS_L1_CACHE_SHIFT
1109         int
1110         default "4" if MACH_DECSTATION || MIKROTIK_RB532 || PMC_MSP4200_EVAL
1111         default "6" if MIPS_CPU_SCACHE
1112         default "7" if SGI_IP22 || SGI_IP27 || SGI_IP28 || SNI_RM || CPU_CAVIUM_OCTEON
1113         default "5"
1115 config HAVE_STD_PC_SERIAL_PORT
1116         bool
1118 config ARC_CONSOLE
1119         bool "ARC console support"
1120         depends on SGI_IP22 || SGI_IP28 || (SNI_RM && CPU_LITTLE_ENDIAN)
1122 config ARC_MEMORY
1123         bool
1124         depends on MACH_JAZZ || SNI_RM || SGI_IP32
1125         default y
1127 config ARC_PROMLIB
1128         bool
1129         depends on MACH_JAZZ || SNI_RM || SGI_IP22 || SGI_IP28 || SGI_IP32
1130         default y
1132 config ARC64
1133         bool
1135 config BOOT_ELF64
1136         bool
1138 menu "CPU selection"
1140 choice
1141         prompt "CPU type"
1142         default CPU_R4X00
1144 config CPU_LOONGSON2E
1145         bool "Loongson 2E"
1146         depends on SYS_HAS_CPU_LOONGSON2E
1147         select CPU_LOONGSON2
1148         help
1149           The Loongson 2E processor implements the MIPS III instruction set
1150           with many extensions.
1152           It has an internal FPGA northbridge, which is compatiable to
1153           bonito64.
1155 config CPU_LOONGSON2F
1156         bool "Loongson 2F"
1157         depends on SYS_HAS_CPU_LOONGSON2F
1158         select CPU_LOONGSON2
1159         select GENERIC_GPIO
1160         select ARCH_REQUIRE_GPIOLIB
1161         help
1162           The Loongson 2F processor implements the MIPS III instruction set
1163           with many extensions.
1165           Loongson2F have built-in DDR2 and PCIX controller. The PCIX controller
1166           have a similar programming interface with FPGA northbridge used in
1167           Loongson2E.
1169 config CPU_MIPS32_R1
1170         bool "MIPS32 Release 1"
1171         depends on SYS_HAS_CPU_MIPS32_R1
1172         select CPU_HAS_PREFETCH
1173         select CPU_SUPPORTS_32BIT_KERNEL
1174         select CPU_SUPPORTS_HIGHMEM
1175         help
1176           Choose this option to build a kernel for release 1 or later of the
1177           MIPS32 architecture.  Most modern embedded systems with a 32-bit
1178           MIPS processor are based on a MIPS32 processor.  If you know the
1179           specific type of processor in your system, choose those that one
1180           otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1181           Release 2 of the MIPS32 architecture is available since several
1182           years so chances are you even have a MIPS32 Release 2 processor
1183           in which case you should choose CPU_MIPS32_R2 instead for better
1184           performance.
1186 config CPU_MIPS32_R2
1187         bool "MIPS32 Release 2"
1188         depends on SYS_HAS_CPU_MIPS32_R2
1189         select CPU_HAS_PREFETCH
1190         select CPU_SUPPORTS_32BIT_KERNEL
1191         select CPU_SUPPORTS_HIGHMEM
1192         help
1193           Choose this option to build a kernel for release 2 or later of the
1194           MIPS32 architecture.  Most modern embedded systems with a 32-bit
1195           MIPS processor are based on a MIPS32 processor.  If you know the
1196           specific type of processor in your system, choose those that one
1197           otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1199 config CPU_MIPS64_R1
1200         bool "MIPS64 Release 1"
1201         depends on SYS_HAS_CPU_MIPS64_R1
1202         select CPU_HAS_PREFETCH
1203         select CPU_SUPPORTS_32BIT_KERNEL
1204         select CPU_SUPPORTS_64BIT_KERNEL
1205         select CPU_SUPPORTS_HIGHMEM
1206         select CPU_SUPPORTS_HUGEPAGES
1207         help
1208           Choose this option to build a kernel for release 1 or later of the
1209           MIPS64 architecture.  Many modern embedded systems with a 64-bit
1210           MIPS processor are based on a MIPS64 processor.  If you know the
1211           specific type of processor in your system, choose those that one
1212           otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1213           Release 2 of the MIPS64 architecture is available since several
1214           years so chances are you even have a MIPS64 Release 2 processor
1215           in which case you should choose CPU_MIPS64_R2 instead for better
1216           performance.
1218 config CPU_MIPS64_R2
1219         bool "MIPS64 Release 2"
1220         depends on SYS_HAS_CPU_MIPS64_R2
1221         select CPU_HAS_PREFETCH
1222         select CPU_SUPPORTS_32BIT_KERNEL
1223         select CPU_SUPPORTS_64BIT_KERNEL
1224         select CPU_SUPPORTS_HIGHMEM
1225         select CPU_SUPPORTS_HUGEPAGES
1226         help
1227           Choose this option to build a kernel for release 2 or later of the
1228           MIPS64 architecture.  Many modern embedded systems with a 64-bit
1229           MIPS processor are based on a MIPS64 processor.  If you know the
1230           specific type of processor in your system, choose those that one
1231           otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1233 config CPU_R3000
1234         bool "R3000"
1235         depends on SYS_HAS_CPU_R3000
1236         select CPU_HAS_WB
1237         select CPU_SUPPORTS_32BIT_KERNEL
1238         select CPU_SUPPORTS_HIGHMEM
1239         help
1240           Please make sure to pick the right CPU type. Linux/MIPS is not
1241           designed to be generic, i.e. Kernels compiled for R3000 CPUs will
1242           *not* work on R4000 machines and vice versa.  However, since most
1243           of the supported machines have an R4000 (or similar) CPU, R4x00
1244           might be a safe bet.  If the resulting kernel does not work,
1245           try to recompile with R3000.
1247 config CPU_TX39XX
1248         bool "R39XX"
1249         depends on SYS_HAS_CPU_TX39XX
1250         select CPU_SUPPORTS_32BIT_KERNEL
1252 config CPU_VR41XX
1253         bool "R41xx"
1254         depends on SYS_HAS_CPU_VR41XX
1255         select CPU_SUPPORTS_32BIT_KERNEL
1256         select CPU_SUPPORTS_64BIT_KERNEL
1257         help
1258           The options selects support for the NEC VR4100 series of processors.
1259           Only choose this option if you have one of these processors as a
1260           kernel built with this option will not run on any other type of
1261           processor or vice versa.
1263 config CPU_R4300
1264         bool "R4300"
1265         depends on SYS_HAS_CPU_R4300
1266         select CPU_SUPPORTS_32BIT_KERNEL
1267         select CPU_SUPPORTS_64BIT_KERNEL
1268         help
1269           MIPS Technologies R4300-series processors.
1271 config CPU_R4X00
1272         bool "R4x00"
1273         depends on SYS_HAS_CPU_R4X00
1274         select CPU_SUPPORTS_32BIT_KERNEL
1275         select CPU_SUPPORTS_64BIT_KERNEL
1276         help
1277           MIPS Technologies R4000-series processors other than 4300, including
1278           the R4000, R4400, R4600, and 4700.
1280 config CPU_TX49XX
1281         bool "R49XX"
1282         depends on SYS_HAS_CPU_TX49XX
1283         select CPU_HAS_PREFETCH
1284         select CPU_SUPPORTS_32BIT_KERNEL
1285         select CPU_SUPPORTS_64BIT_KERNEL
1287 config CPU_R5000
1288         bool "R5000"
1289         depends on SYS_HAS_CPU_R5000
1290         select CPU_SUPPORTS_32BIT_KERNEL
1291         select CPU_SUPPORTS_64BIT_KERNEL
1292         help
1293           MIPS Technologies R5000-series processors other than the Nevada.
1295 config CPU_R5432
1296         bool "R5432"
1297         depends on SYS_HAS_CPU_R5432
1298         select CPU_SUPPORTS_32BIT_KERNEL
1299         select CPU_SUPPORTS_64BIT_KERNEL
1301 config CPU_R5500
1302         bool "R5500"
1303         depends on SYS_HAS_CPU_R5500
1304         select CPU_SUPPORTS_32BIT_KERNEL
1305         select CPU_SUPPORTS_64BIT_KERNEL
1306         select CPU_SUPPORTS_HUGEPAGES
1307         help
1308           NEC VR5500 and VR5500A series processors implement 64-bit MIPS IV
1309           instruction set.
1311 config CPU_R6000
1312         bool "R6000"
1313         depends on EXPERIMENTAL
1314         depends on SYS_HAS_CPU_R6000
1315         select CPU_SUPPORTS_32BIT_KERNEL
1316         help
1317           MIPS Technologies R6000 and R6000A series processors.  Note these
1318           processors are extremely rare and the support for them is incomplete.
1320 config CPU_NEVADA
1321         bool "RM52xx"
1322         depends on SYS_HAS_CPU_NEVADA
1323         select CPU_SUPPORTS_32BIT_KERNEL
1324         select CPU_SUPPORTS_64BIT_KERNEL
1325         help
1326           QED / PMC-Sierra RM52xx-series ("Nevada") processors.
1328 config CPU_R8000
1329         bool "R8000"
1330         depends on EXPERIMENTAL
1331         depends on SYS_HAS_CPU_R8000
1332         select CPU_HAS_PREFETCH
1333         select CPU_SUPPORTS_64BIT_KERNEL
1334         help
1335           MIPS Technologies R8000 processors.  Note these processors are
1336           uncommon and the support for them is incomplete.
1338 config CPU_R10000
1339         bool "R10000"
1340         depends on SYS_HAS_CPU_R10000
1341         select CPU_HAS_PREFETCH
1342         select CPU_SUPPORTS_32BIT_KERNEL
1343         select CPU_SUPPORTS_64BIT_KERNEL
1344         select CPU_SUPPORTS_HIGHMEM
1345         help
1346           MIPS Technologies R10000-series processors.
1348 config CPU_RM7000
1349         bool "RM7000"
1350         depends on SYS_HAS_CPU_RM7000
1351         select CPU_HAS_PREFETCH
1352         select CPU_SUPPORTS_32BIT_KERNEL
1353         select CPU_SUPPORTS_64BIT_KERNEL
1354         select CPU_SUPPORTS_HIGHMEM
1356 config CPU_RM9000
1357         bool "RM9000"
1358         depends on SYS_HAS_CPU_RM9000
1359         select CPU_HAS_PREFETCH
1360         select CPU_SUPPORTS_32BIT_KERNEL
1361         select CPU_SUPPORTS_64BIT_KERNEL
1362         select CPU_SUPPORTS_HIGHMEM
1363         select WEAK_ORDERING
1365 config CPU_SB1
1366         bool "SB1"
1367         depends on SYS_HAS_CPU_SB1
1368         select CPU_SUPPORTS_32BIT_KERNEL
1369         select CPU_SUPPORTS_64BIT_KERNEL
1370         select CPU_SUPPORTS_HIGHMEM
1371         select WEAK_ORDERING
1373 config CPU_CAVIUM_OCTEON
1374         bool "Cavium Octeon processor"
1375         depends on SYS_HAS_CPU_CAVIUM_OCTEON
1376         select IRQ_CPU
1377         select IRQ_CPU_OCTEON
1378         select CPU_HAS_PREFETCH
1379         select CPU_SUPPORTS_64BIT_KERNEL
1380         select SYS_SUPPORTS_SMP
1381         select NR_CPUS_DEFAULT_16
1382         select WEAK_ORDERING
1383         select CPU_SUPPORTS_HIGHMEM
1384         select CPU_SUPPORTS_HUGEPAGES
1385         help
1386           The Cavium Octeon processor is a highly integrated chip containing
1387           many ethernet hardware widgets for networking tasks. The processor
1388           can have up to 16 Mips64v2 cores and 8 integrated gigabit ethernets.
1389           Full details can be found at http://www.caviumnetworks.com.
1391 endchoice
1393 if CPU_LOONGSON2F
1394 config CPU_NOP_WORKAROUNDS
1395         bool
1397 config CPU_JUMP_WORKAROUNDS
1398         bool
1400 config CPU_LOONGSON2F_WORKAROUNDS
1401         bool "Loongson 2F Workarounds"
1402         default y
1403         select CPU_NOP_WORKAROUNDS
1404         select CPU_JUMP_WORKAROUNDS
1405         help
1406           Loongson 2F01 / 2F02 processors have the NOP & JUMP issues which
1407           require workarounds.  Without workarounds the system may hang
1408           unexpectedly.  For more information please refer to the gas
1409           -mfix-loongson2f-nop and -mfix-loongson2f-jump options.
1411           Loongson 2F03 and later have fixed these issues and no workarounds
1412           are needed.  The workarounds have no significant side effect on them
1413           but may decrease the performance of the system so this option should
1414           be disabled unless the kernel is intended to be run on 2F01 or 2F02
1415           systems.
1417           If unsure, please say Y.
1418 endif # CPU_LOONGSON2F
1420 config SYS_SUPPORTS_ZBOOT
1421         bool
1422         select HAVE_KERNEL_GZIP
1423         select HAVE_KERNEL_BZIP2
1424         select HAVE_KERNEL_LZMA
1425         select HAVE_KERNEL_LZO
1427 config SYS_SUPPORTS_ZBOOT_UART16550
1428         bool
1429         select SYS_SUPPORTS_ZBOOT
1431 config CPU_LOONGSON2
1432         bool
1433         select CPU_SUPPORTS_32BIT_KERNEL
1434         select CPU_SUPPORTS_64BIT_KERNEL
1435         select CPU_SUPPORTS_HIGHMEM
1437 config SYS_HAS_CPU_LOONGSON2E
1438         bool
1440 config SYS_HAS_CPU_LOONGSON2F
1441         bool
1442         select CPU_SUPPORTS_CPUFREQ
1443         select CPU_SUPPORTS_ADDRWINCFG if 64BIT
1444         select CPU_SUPPORTS_UNCACHED_ACCELERATED
1446 config SYS_HAS_CPU_MIPS32_R1
1447         bool
1449 config SYS_HAS_CPU_MIPS32_R2
1450         bool
1452 config SYS_HAS_CPU_MIPS64_R1
1453         bool
1455 config SYS_HAS_CPU_MIPS64_R2
1456         bool
1458 config SYS_HAS_CPU_R3000
1459         bool
1461 config SYS_HAS_CPU_TX39XX
1462         bool
1464 config SYS_HAS_CPU_VR41XX
1465         bool
1467 config SYS_HAS_CPU_R4300
1468         bool
1470 config SYS_HAS_CPU_R4X00
1471         bool
1473 config SYS_HAS_CPU_TX49XX
1474         bool
1476 config SYS_HAS_CPU_R5000
1477         bool
1479 config SYS_HAS_CPU_R5432
1480         bool
1482 config SYS_HAS_CPU_R5500
1483         bool
1485 config SYS_HAS_CPU_R6000
1486         bool
1488 config SYS_HAS_CPU_NEVADA
1489         bool
1491 config SYS_HAS_CPU_R8000
1492         bool
1494 config SYS_HAS_CPU_R10000
1495         bool
1497 config SYS_HAS_CPU_RM7000
1498         bool
1500 config SYS_HAS_CPU_RM9000
1501         bool
1503 config SYS_HAS_CPU_SB1
1504         bool
1506 config SYS_HAS_CPU_CAVIUM_OCTEON
1507         bool
1510 # CPU may reorder R->R, R->W, W->R, W->W
1511 # Reordering beyond LL and SC is handled in WEAK_REORDERING_BEYOND_LLSC
1513 config WEAK_ORDERING
1514         bool
1517 # CPU may reorder reads and writes beyond LL/SC
1518 # CPU may reorder R->LL, R->LL, W->LL, W->LL, R->SC, R->SC, W->SC, W->SC
1520 config WEAK_REORDERING_BEYOND_LLSC
1521         bool
1522 endmenu
1525 # These two indicate any level of the MIPS32 and MIPS64 architecture
1527 config CPU_MIPS32
1528         bool
1529         default y if CPU_MIPS32_R1 || CPU_MIPS32_R2
1531 config CPU_MIPS64
1532         bool
1533         default y if CPU_MIPS64_R1 || CPU_MIPS64_R2
1536 # These two indicate the revision of the architecture, either Release 1 or Release 2
1538 config CPU_MIPSR1
1539         bool
1540         default y if CPU_MIPS32_R1 || CPU_MIPS64_R1
1542 config CPU_MIPSR2
1543         bool
1544         default y if CPU_MIPS32_R2 || CPU_MIPS64_R2 || CPU_CAVIUM_OCTEON
1546 config SYS_SUPPORTS_32BIT_KERNEL
1547         bool
1548 config SYS_SUPPORTS_64BIT_KERNEL
1549         bool
1550 config CPU_SUPPORTS_32BIT_KERNEL
1551         bool
1552 config CPU_SUPPORTS_64BIT_KERNEL
1553         bool
1554 config CPU_SUPPORTS_CPUFREQ
1555         bool
1556 config CPU_SUPPORTS_ADDRWINCFG
1557         bool
1558 config CPU_SUPPORTS_HUGEPAGES
1559         bool
1560 config CPU_SUPPORTS_UNCACHED_ACCELERATED
1561         bool
1562 config MIPS_PGD_C0_CONTEXT
1563         bool
1564         default y if 64BIT && CPU_MIPSR2
1567 # Set to y for ptrace access to watch registers.
1569 config HARDWARE_WATCHPOINTS
1570        bool
1571        default y if CPU_MIPSR1 || CPU_MIPSR2
1573 menu "Kernel type"
1575 choice
1576         prompt "Kernel code model"
1577         help
1578           You should only select this option if you have a workload that
1579           actually benefits from 64-bit processing or if your machine has
1580           large memory.  You will only be presented a single option in this
1581           menu if your system does not support both 32-bit and 64-bit kernels.
1583 config 32BIT
1584         bool "32-bit kernel"
1585         depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL
1586         select TRAD_SIGNALS
1587         help
1588           Select this option if you want to build a 32-bit kernel.
1589 config 64BIT
1590         bool "64-bit kernel"
1591         depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL
1592         select HAVE_SYSCALL_WRAPPERS
1593         help
1594           Select this option if you want to build a 64-bit kernel.
1596 endchoice
1598 config 64BIT_PHYS_ADDR
1599         bool "Kernel supports 64 bit physical addresses" if EXPERIMENTAL
1600         depends on 64BIT
1601         help
1602           Defines 64 bit physical addresses in kernel.
1603           Increases page table sizes.
1605           It is an alternative for HIGHMEM usage of huge physical memory.
1606           Requires 64bit capable CPU and 64 bit kernel code model.
1608           Note: without this option kernel can support up to 4GB physical
1609           memory for 4KB pages and up to 64GB for 64KB pages.
1611 config ARCH_PHYS_ADDR_T_64BIT
1612        def_bool 64BIT_PHYS_ADDR
1614 choice
1615         prompt "Kernel page size"
1616         default PAGE_SIZE_4KB
1618 config PAGE_SIZE_4KB
1619         bool "4kB"
1620         depends on !CPU_LOONGSON2
1621         help
1622          This option select the standard 4kB Linux page size.  On some
1623          R3000-family processors this is the only available page size.  Using
1624          4kB page size will minimize memory consumption and is therefore
1625          recommended for low memory systems.
1627 config PAGE_SIZE_8KB
1628         bool "8kB"
1629         depends on (EXPERIMENTAL && CPU_R8000) || CPU_CAVIUM_OCTEON
1630         help
1631           Using 8kB page size will result in higher performance kernel at
1632           the price of higher memory consumption.  This option is available
1633           only on R8000 and cnMIPS processors.  Note that you will need a
1634           suitable Linux distribution to support this.
1636 config PAGE_SIZE_16KB
1637         bool "16kB"
1638         depends on !CPU_R3000 && !CPU_TX39XX
1639         help
1640           Using 16kB page size will result in higher performance kernel at
1641           the price of higher memory consumption.  This option is available on
1642           all non-R3000 family processors.  Note that you will need a suitable
1643           Linux distribution to support this.
1645 config PAGE_SIZE_32KB
1646         bool "32kB"
1647         depends on CPU_CAVIUM_OCTEON
1648         help
1649           Using 32kB page size will result in higher performance kernel at
1650           the price of higher memory consumption.  This option is available
1651           only on cnMIPS cores.  Note that you will need a suitable Linux
1652           distribution to support this.
1654 config PAGE_SIZE_64KB
1655         bool "64kB"
1656         depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX
1657         help
1658           Using 64kB page size will result in higher performance kernel at
1659           the price of higher memory consumption.  This option is available on
1660           all non-R3000 family processor.  Not that at the time of this
1661           writing this option is still high experimental.
1663 endchoice
1665 choice
1666         prompt "Clock source"
1667         depends on MIPS_MALTA || MIPS_SEAD3
1668         default CSRC_R4K
1670 config CSRC_R4K
1671         bool "R4K count/compare counter"
1672         depends on !HOTPLUG_CPU
1673         help
1674           Use the R4K count/compare counter for the kernel clock source.
1676 config CSRC_GIC
1677         bool "GIC global counter"
1678         help
1679           Use the GIC global counter for the kernel clock source.
1681 endchoice
1683 config BOARD_SCACHE
1684         bool
1686 config IP22_CPU_SCACHE
1687         bool
1688         select BOARD_SCACHE
1691 # Support for a MIPS32 / MIPS64 style S-caches
1693 config MIPS_CPU_SCACHE
1694         bool
1695         select BOARD_SCACHE
1697 config R5000_CPU_SCACHE
1698         bool
1699         select BOARD_SCACHE
1701 config RM7000_CPU_SCACHE
1702         bool
1703         select BOARD_SCACHE
1705 config SIBYTE_DMA_PAGEOPS
1706         bool "Use DMA to clear/copy pages"
1707         depends on CPU_SB1
1708         help
1709           Instead of using the CPU to zero and copy pages, use a Data Mover
1710           channel.  These DMA channels are otherwise unused by the standard
1711           SiByte Linux port.  Seems to give a small performance benefit.
1713 config CPU_HAS_PREFETCH
1714         bool
1716 choice
1717         prompt "MIPS MT options"
1719 config MIPS_MT_DISABLED
1720         bool "Disable multithreading support."
1721         help
1722           Use this option if your workload can't take advantage of
1723           MIPS hardware multithreading support.  On systems that don't have
1724           the option of an MT-enabled processor this option will be the only
1725           option in this menu.
1727 config MIPS_MT_SMP
1728         bool "Use 1 TC on each available VPE for SMP"
1729         depends on SYS_SUPPORTS_MULTITHREADING && !MIPS_SEAD3
1730         select CPU_MIPSR2_IRQ_VI
1731         select CPU_MIPSR2_IRQ_EI
1732         select MIPS_MT
1733         select NR_CPUS_DEFAULT_2
1734         select SMP
1735         select SYS_SUPPORTS_SCHED_SMT if SMP
1736         select SYS_SUPPORTS_SMP
1737         select SMP_UP
1738         help
1739           Virtual SMP uses the processor's VPEs to implement virtual
1740           processors. In currently available configurations of the 34K
1741           processor this allows for a dual processor. Both processors will
1742           share the same primary caches and each will obtain the half of
1743           the TLB for its own exclusive use. For a layman this model can
1744           be described as similar to what Intel calls Hyperthreading. At
1745           some point MIPS marketing decided to renamed to SMVP but the
1746           renaming hasn't caught on as of yet. 
1748           For further information see http://www.linux-mips.org/wiki/34K#VSMP
1750 config MIPS_MT_SMTC
1751         bool "SMTC: Use all TCs on all VPEs for SMP"
1752         depends on CPU_MIPS32_R2
1753         #depends on CPU_MIPS64_R2               # once there is hardware ...
1754         depends on SYS_SUPPORTS_MULTITHREADING
1755         select CPU_MIPSR2_IRQ_VI
1756         select CPU_MIPSR2_IRQ_EI
1757         select MIPS_MT
1758         select NR_CPUS_DEFAULT_8
1759         select SMP
1760         select SYS_SUPPORTS_SMP
1761         select SMP_UP
1762         help
1763           SMTC is presenting the available TCs of the core as processors to
1764           Linux. On currently available 34K processors this means a Linux
1765           system will see up to 5 processors. The implementation of the SMTC
1766           kernel differs significantly from VSMP. It was found that SMTC cannot
1767           efficiently coexist in the same kernel binary with other modes of
1768           multiprocessor support, so enabling SMTC is a compile time decision.
1769           The choice between VSMP and SMTC is a bit delicate as it is affected
1770           by clockspeed, memory speed, the specific workload and other factors.
1771           As such the choice should not be made on an evaluation board such as
1772           the Malta but preferably on final target hardware.
1774           For further information see http://www.linux-mips.org/wiki/34K#SMTC
1776 endchoice
1778 config MIPS_MT
1779         bool
1781 config SCHED_SMT
1782         bool "SMT (multithreading) scheduler support"
1783         depends on SYS_SUPPORTS_SCHED_SMT
1784         default n
1785         help
1786           SMT scheduler support improves the CPU scheduler's decision making
1787           when dealing with MIPS MT enabled cores at a cost of slightly
1788           increased overhead in some places. If unsure say N here.
1790 config SYS_SUPPORTS_SCHED_SMT
1791         bool
1793 config SYS_SUPPORTS_MULTITHREADING
1794         bool
1796 config MIPS_MT_FPAFF
1797         bool "Dynamic FPU affinity for FP-intensive threads"
1798         default y
1799         depends on MIPS_MT_SMP || MIPS_MT_SMTC
1801 config MIPS_VPE_LOADER
1802         bool "VPE loader support."
1803         depends on SYS_SUPPORTS_MULTITHREADING
1804         select CPU_MIPSR2_IRQ_VI
1805         select CPU_MIPSR2_IRQ_EI
1806         select MIPS_MT
1807         help
1808           Includes a loader for loading an elf relocatable object
1809           onto another VPE and running it.
1811 config MIPS_MT_SMTC_IM_BACKSTOP
1812         bool "Use per-TC register bits as backstop for inhibited IM bits"
1813         depends on MIPS_MT_SMTC
1814         default n
1815         help
1816           To support multiple TC microthreads acting as "CPUs" within
1817           a VPE, VPE-wide interrupt mask bits must be specially manipulated
1818           during interrupt handling. To support legacy drivers and interrupt
1819           controller management code, SMTC has a "backstop" to track and
1820           if necessary restore the interrupt mask. This has some performance
1821           impact on interrupt service overhead.
1823 config MIPS_MT_SMTC_IRQAFF
1824         bool "Support IRQ affinity API"
1825         depends on MIPS_MT_SMTC
1826         default n
1827         help
1828           Enables SMP IRQ affinity API (/proc/irq/*/smp_affinity, etc.)
1829           for SMTC Linux kernel. Requires platform support, of which
1830           an example can be found in the MIPS kernel i8259 and Malta
1831           platform code.  Adds some overhead to interrupt dispatch, and
1832           should be used only if you know what you are doing.
1834 config MIPS_VPE_LOADER_TOM
1835         bool "Load VPE program into memory hidden from linux"
1836         depends on MIPS_VPE_LOADER
1837         default y
1838         help
1839           The loader can use memory that is present but has been hidden from
1840           Linux using the kernel command line option "mem=xxMB". It's up to
1841           you to ensure the amount you put in the option and the space your
1842           program requires is less or equal to the amount physically present.
1844 # this should possibly be in drivers/char, but it is rather cpu related. Hmmm
1845 config MIPS_VPE_APSP_API
1846         bool "Enable support for AP/SP API (RTLX)"
1847         depends on MIPS_VPE_LOADER
1848         help
1850 config MIPS_APSP_KSPD
1851         bool "Enable KSPD"
1852         depends on MIPS_VPE_APSP_API
1853         default y
1854         help
1855           KSPD is a kernel daemon that accepts syscall requests from the SP
1856           side, actions them and returns the results. It also handles the
1857           "exit" syscall notifying other kernel modules the SP program is
1858           exiting.  You probably want to say yes here.
1860 config MIPS_CMP
1861         bool "MIPS CMP framework support"
1862         depends on SYS_SUPPORTS_MIPS_CMP
1863         select CSRC_GIC if HOTPLUG_CPU
1864         select SYS_SUPPORTS_SMP
1865         select SYS_SUPPORTS_SCHED_SMT if SMP
1866         select WEAK_ORDERING
1867         default n
1868         help
1869           This is a placeholder option for the GCMP work. It will need to
1870           be handled differently...
1872 config SB1_PASS_1_WORKAROUNDS
1873         bool
1874         depends on CPU_SB1_PASS_1
1875         default y
1877 config SB1_PASS_2_WORKAROUNDS
1878         bool
1879         depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2)
1880         default y
1882 config SB1_PASS_2_1_WORKAROUNDS
1883         bool
1884         depends on CPU_SB1 && CPU_SB1_PASS_2
1885         default y
1887 config CPU_HAS_SMARTMIPS
1888         depends on SYS_SUPPORTS_SMARTMIPS
1889         bool "Support for the SmartMIPS ASE"
1890         help
1891           SmartMIPS is a extension of the MIPS32 architecture aimed at
1892           increased security at both hardware and software level for
1893           smartcards.  Enabling this option will allow proper use of the
1894           SmartMIPS instructions by Linux applications.  However a kernel with
1895           this option will not work on a MIPS core without SmartMIPS core.  If
1896           you don't know you probably don't have SmartMIPS and should say N
1897           here.
1899 config CPU_MICROMIPS
1900         depends on SYS_SUPPORTS_MICROMIPS
1901         bool "Build kernel using microMIPS ISA"
1902         help
1903           When this option is enabled the kernel will be built using the
1904           microMIPS ISA
1906 config CPU_HAS_WB
1907         bool
1910 # Vectored interrupt mode is an R2 feature
1912 config CPU_MIPSR2_IRQ_VI
1913         bool
1916 # Extended interrupt mode is an R2 feature
1918 config CPU_MIPSR2_IRQ_EI
1919         bool
1921 config CPU_HAS_SYNC
1922         bool
1923         depends on !CPU_R3000
1924         default y
1926 config GENERIC_CLOCKEVENTS_BROADCAST
1927         bool
1930 # CPU non-features
1932 config CPU_DADDI_WORKAROUNDS
1933         bool
1935 config CPU_R4000_WORKAROUNDS
1936         bool
1937         select CPU_R4400_WORKAROUNDS
1939 config CPU_R4400_WORKAROUNDS
1940         bool
1943 # Use the generic interrupt handling code in kernel/irq/:
1945 config GENERIC_HARDIRQS
1946         bool
1947         default y
1949 config GENERIC_IRQ_PROBE
1950         bool
1951         default y
1953 config IRQ_PER_CPU
1954         bool
1957 # - Highmem only makes sense for the 32-bit kernel.
1958 # - The current highmem code will only work properly on physically indexed
1959 #   caches such as R3000, SB1, R7000 or those that look like they're virtually
1960 #   indexed such as R4000/R4400 SC and MC versions or R10000.  So for the
1961 #   moment we protect the user and offer the highmem option only on machines
1962 #   where it's known to be safe.  This will not offer highmem on a few systems
1963 #   such as MIPS32 and MIPS64 CPUs which may have virtual and physically
1964 #   indexed CPUs but we're playing safe.
1965 # - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we
1966 #   know they might have memory configurations that could make use of highmem
1967 #   support.
1969 config HIGHMEM
1970         bool "High Memory Support"
1971         depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM
1973 config CPU_SUPPORTS_HIGHMEM
1974         bool
1976 config SYS_SUPPORTS_HIGHMEM
1977         bool
1979 config SYS_SUPPORTS_SMARTMIPS
1980         bool
1982 config SYS_SUPPORTS_MICROMIPS
1983         bool
1985 config ARCH_FLATMEM_ENABLE
1986         def_bool y
1987         depends on !NUMA && !CPU_LOONGSON2
1989 config ARCH_DISCONTIGMEM_ENABLE
1990         bool
1991         default y if SGI_IP27
1992         help
1993           Say Y to support efficient handling of discontiguous physical memory,
1994           for architectures which are either NUMA (Non-Uniform Memory Access)
1995           or have huge holes in the physical address space for other reasons.
1996           See <file:Documentation/vm/numa> for more.
1998 config ARCH_POPULATES_NODE_MAP
1999         def_bool y
2001 config ARCH_SPARSEMEM_ENABLE
2002         bool
2003         select SPARSEMEM_STATIC
2005 config NUMA
2006         bool "NUMA Support"
2007         depends on SYS_SUPPORTS_NUMA
2008         help
2009           Say Y to compile the kernel to support NUMA (Non-Uniform Memory
2010           Access).  This option improves performance on systems with more
2011           than two nodes; on two node systems it is generally better to
2012           leave it disabled; on single node systems disable this option
2013           disabled.
2015 config SYS_SUPPORTS_NUMA
2016         bool
2018 config NODES_SHIFT
2019         int
2020         default "6"
2021         depends on NEED_MULTIPLE_NODES
2023 source "mm/Kconfig"
2025 config SMP
2026         bool "Multi-Processing support"
2027         depends on SYS_SUPPORTS_SMP
2028         select IRQ_PER_CPU
2029         select USE_GENERIC_SMP_HELPERS
2030         help
2031           This enables support for systems with more than one CPU. If you have
2032           a system with only one CPU, like most personal computers, say N. If
2033           you have a system with more than one CPU, say Y.
2035           If you say N here, the kernel will run on single and multiprocessor
2036           machines, but will use only one CPU of a multiprocessor machine. If
2037           you say Y here, the kernel will run on many, but not all,
2038           singleprocessor machines. On a singleprocessor machine, the kernel
2039           will run faster if you say N here.
2041           People using multiprocessor machines who say Y here should also say
2042           Y to "Enhanced Real Time Clock Support", below.
2044           See also the SMP-HOWTO available at
2045           <http://www.tldp.org/docs.html#howto>.
2047           If you don't know what to do here, say N.
2049 config SMP_UP
2050         bool
2052 config SYS_SUPPORTS_MIPS_CMP
2053         bool
2055 config SYS_SUPPORTS_SMP
2056         bool
2058 config NR_CPUS_DEFAULT_1
2059         bool
2061 config NR_CPUS_DEFAULT_2
2062         bool
2064 config NR_CPUS_DEFAULT_4
2065         bool
2067 config NR_CPUS_DEFAULT_8
2068         bool
2070 config NR_CPUS_DEFAULT_16
2071         bool
2073 config NR_CPUS_DEFAULT_32
2074         bool
2076 config NR_CPUS_DEFAULT_64
2077         bool
2079 config NR_CPUS
2080         int "Maximum number of CPUs (2-64)"
2081         range 1 64 if NR_CPUS_DEFAULT_1
2082         depends on SMP
2083         default "1" if NR_CPUS_DEFAULT_1
2084         default "2" if NR_CPUS_DEFAULT_2
2085         default "4" if NR_CPUS_DEFAULT_4
2086         default "8" if NR_CPUS_DEFAULT_8
2087         default "16" if NR_CPUS_DEFAULT_16
2088         default "32" if NR_CPUS_DEFAULT_32
2089         default "64" if NR_CPUS_DEFAULT_64
2090         help
2091           This allows you to specify the maximum number of CPUs which this
2092           kernel will support.  The maximum supported value is 32 for 32-bit
2093           kernel and 64 for 64-bit kernels; the minimum value which makes
2094           sense is 1 for Qemu (useful only for kernel debugging purposes)
2095           and 2 for all others.
2097           This is purely to save memory - each supported CPU adds
2098           approximately eight kilobytes to the kernel image.  For best
2099           performance should round up your number of processors to the next
2100           power of two.
2102 source "kernel/time/Kconfig"
2105 # Timer Interrupt Frequency Configuration
2108 choice
2109         prompt "Timer frequency"
2110         default HZ_250
2111         help
2112          Allows the configuration of the timer frequency.
2114         config HZ_48
2115                 bool "48 HZ" if SYS_SUPPORTS_48HZ || SYS_SUPPORTS_ARBIT_HZ
2117         config HZ_100
2118                 bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ
2120         config HZ_128
2121                 bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ
2123         config HZ_250
2124                 bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ
2126         config HZ_256
2127                 bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ
2129         config HZ_1000
2130                 bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ
2132         config HZ_1024
2133                 bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ
2135 endchoice
2137 config SYS_SUPPORTS_48HZ
2138         bool
2140 config SYS_SUPPORTS_100HZ
2141         bool
2143 config SYS_SUPPORTS_128HZ
2144         bool
2146 config SYS_SUPPORTS_250HZ
2147         bool
2149 config SYS_SUPPORTS_256HZ
2150         bool
2152 config SYS_SUPPORTS_1000HZ
2153         bool
2155 config SYS_SUPPORTS_1024HZ
2156         bool
2158 config SYS_SUPPORTS_ARBIT_HZ
2159         bool
2160         default y if !SYS_SUPPORTS_48HZ && !SYS_SUPPORTS_100HZ && \
2161                      !SYS_SUPPORTS_128HZ && !SYS_SUPPORTS_250HZ && \
2162                      !SYS_SUPPORTS_256HZ && !SYS_SUPPORTS_1000HZ && \
2163                      !SYS_SUPPORTS_1024HZ
2165 config HZ
2166         int
2167         default 48 if HZ_48
2168         default 100 if HZ_100
2169         default 128 if HZ_128
2170         default 250 if HZ_250
2171         default 256 if HZ_256
2172         default 1000 if HZ_1000
2173         default 1024 if HZ_1024
2175 source "kernel/Kconfig.preempt"
2177 config KEXEC
2178         bool "Kexec system call (EXPERIMENTAL)"
2179         depends on EXPERIMENTAL
2180         help
2181           kexec is a system call that implements the ability to shutdown your
2182           current kernel, and to start another kernel.  It is like a reboot
2183           but it is independent of the system firmware.   And like a reboot
2184           you can start any kernel with it, not just Linux.
2186           The name comes from the similarity to the exec system call.
2188           It is an ongoing process to be certain the hardware in a machine
2189           is properly shutdown, so do not be surprised if this code does not
2190           initially work for you.  It may help to enable device hotplugging
2191           support.  As of this writing the exact hardware interface is
2192           strongly in flux, so no good recommendation can be made.
2194 config SECCOMP
2195         bool "Enable seccomp to safely compute untrusted bytecode"
2196         depends on PROC_FS
2197         default y
2198         help
2199           This kernel feature is useful for number crunching applications
2200           that may need to compute untrusted bytecode during their
2201           execution. By using pipes or other transports made available to
2202           the process as file descriptors supporting the read/write
2203           syscalls, it's possible to isolate those applications in
2204           their own address space using seccomp. Once seccomp is
2205           enabled via /proc/<pid>/seccomp, it cannot be disabled
2206           and the task is only allowed to execute a few safe syscalls
2207           defined by each seccomp mode.
2209           If unsure, say Y. Only embedded should say N here.
2211 endmenu
2213 config LOCKDEP_SUPPORT
2214         bool
2215         default y
2217 config STACKTRACE_SUPPORT
2218         bool
2219         default y
2221 source "init/Kconfig"
2223 source "kernel/Kconfig.freezer"
2225 menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
2227 config HW_HAS_EISA
2228         bool
2229 config HW_HAS_PCI
2230         bool
2232 config PCI
2233         bool "Support for PCI controller"
2234         depends on HW_HAS_PCI
2235         select PCI_DOMAINS
2236         help
2237           Find out whether you have a PCI motherboard. PCI is the name of a
2238           bus system, i.e. the way the CPU talks to the other stuff inside
2239           your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
2240           say Y, otherwise N.
2242 config PCI_DOMAINS
2243         bool
2245 source "drivers/pci/Kconfig"
2248 # ISA support is now enabled via select.  Too many systems still have the one
2249 # or other ISA chip on the board that users don't know about so don't expect
2250 # users to choose the right thing ...
2252 config ISA
2253         bool
2255 config EISA
2256         bool "EISA support"
2257         depends on HW_HAS_EISA
2258         select ISA
2259         select GENERIC_ISA_DMA
2260         ---help---
2261           The Extended Industry Standard Architecture (EISA) bus was
2262           developed as an open alternative to the IBM MicroChannel bus.
2264           The EISA bus provided some of the features of the IBM MicroChannel
2265           bus while maintaining backward compatibility with cards made for
2266           the older ISA bus.  The EISA bus saw limited use between 1988 and
2267           1995 when it was made obsolete by the PCI bus.
2269           Say Y here if you are building a kernel for an EISA-based machine.
2271           Otherwise, say N.
2273 source "drivers/eisa/Kconfig"
2275 config TC
2276         bool "TURBOchannel support"
2277         depends on MACH_DECSTATION
2278         help
2279           TurboChannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
2280           processors.  Documentation on writing device drivers for TurboChannel
2281           is available at:
2282           <http://www.cs.arizona.edu/computer.help/policy/DIGITAL_unix/AA-PS3HD-TET1_html/TITLE.html>.
2284 #config ACCESSBUS
2285 #       bool "Access.Bus support"
2286 #       depends on TC
2288 config MMU
2289         bool
2290         default y
2292 config I8253
2293         bool
2294         select MIPS_EXTERNAL_TIMER
2296 config ZONE_DMA32
2297         bool
2299 source "drivers/pcmcia/Kconfig"
2301 source "drivers/pci/hotplug/Kconfig"
2303 endmenu
2305 menu "Executable file formats"
2307 source "fs/Kconfig.binfmt"
2309 config TRAD_SIGNALS
2310         bool
2312 config MIPS32_COMPAT
2313         bool "Kernel support for Linux/MIPS 32-bit binary compatibility"
2314         depends on 64BIT
2315         default y if CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL
2316         help
2317           Select this option if you want Linux/MIPS 32-bit binary
2318           compatibility. Since all software available for Linux/MIPS is
2319           currently 32-bit you should say Y here.
2321 config COMPAT
2322         bool
2323         depends on MIPS32_COMPAT
2324         default y
2326 config SYSVIPC_COMPAT
2327         bool
2328         depends on COMPAT && SYSVIPC
2329         default y
2331 config MIPS32_O32
2332         bool "Kernel support for o32 binaries"
2333         depends on MIPS32_COMPAT
2334         default y if CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL
2335         help
2336           Select this option if you want to run o32 binaries.  These are pure
2337           32-bit binaries as used by the 32-bit Linux/MIPS port.  Most of
2338           existing binaries are in this format.
2340           If unsure, say Y.
2342 config MIPS32_N32
2343         bool "Kernel support for n32 binaries"
2344         depends on MIPS32_COMPAT
2345         help
2346           Select this option if you want to run n32 binaries.  These are
2347           64-bit binaries using 32-bit quantities for addressing and certain
2348           data that would normally be 64-bit.  They are used in special
2349           cases.
2351           If unsure, say N.
2353 comment "64bit kernel, but support of 32bit applications is disabled!"
2354         depends on 64BIT && !MIPS32_O32 && !MIPS32_N32
2355         depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL
2357 config BINFMT_ELF32
2358         bool
2359         default y if MIPS32_O32 || MIPS32_N32
2361 endmenu
2363 menu "Power management options"
2365 config ARCH_HIBERNATION_POSSIBLE
2366         def_bool y
2367         depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
2369 config ARCH_SUSPEND_POSSIBLE
2370         def_bool y
2371         depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
2373 source "kernel/power/Kconfig"
2375 endmenu
2377 source "arch/mips/kernel/cpufreq/Kconfig"
2379 source "net/Kconfig"
2381 source "drivers/Kconfig"
2383 source "fs/Kconfig"
2385 source "arch/mips/Kconfig.debug"
2387 source "security/Kconfig"
2389 source "crypto/Kconfig"
2391 source "lib/Kconfig"