51f5a09f179dd05df3d35cdb581941bad563a6a3
[firefly-linux-kernel-4.4.55.git] / arch / mips / Kconfig
1 config MIPS
2         bool
3         default y
4         select ARCH_MIGHT_HAVE_PC_PARPORT
5         select ARCH_MIGHT_HAVE_PC_SERIO
6         select HAVE_CONTEXT_TRACKING
7         select HAVE_GENERIC_DMA_COHERENT
8         select HAVE_IDE
9         select HAVE_OPROFILE
10         select HAVE_PERF_EVENTS
11         select PERF_USE_VMALLOC
12         select HAVE_ARCH_KGDB
13         select HAVE_ARCH_SECCOMP_FILTER
14         select HAVE_ARCH_TRACEHOOK
15         select ARCH_HAVE_CUSTOM_GPIO_H
16         select HAVE_FUNCTION_TRACER
17         select HAVE_FUNCTION_TRACE_MCOUNT_TEST
18         select HAVE_DYNAMIC_FTRACE
19         select HAVE_FTRACE_MCOUNT_RECORD
20         select HAVE_C_RECORDMCOUNT
21         select HAVE_FUNCTION_GRAPH_TRACER
22         select HAVE_KPROBES
23         select HAVE_KRETPROBES
24         select HAVE_DEBUG_KMEMLEAK
25         select HAVE_SYSCALL_TRACEPOINTS
26         select ARCH_BINFMT_ELF_RANDOMIZE_PIE
27         select HAVE_ARCH_TRANSPARENT_HUGEPAGE if CPU_SUPPORTS_HUGEPAGES && 64BIT
28         select RTC_LIB if !MACH_LOONGSON
29         select GENERIC_ATOMIC64 if !64BIT
30         select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
31         select HAVE_DMA_ATTRS
32         select HAVE_DMA_API_DEBUG
33         select GENERIC_IRQ_PROBE
34         select GENERIC_IRQ_SHOW
35         select GENERIC_PCI_IOMAP
36         select HAVE_ARCH_JUMP_LABEL
37         select ARCH_WANT_IPC_PARSE_VERSION
38         select IRQ_FORCED_THREADING
39         select HAVE_MEMBLOCK
40         select HAVE_MEMBLOCK_NODE_MAP
41         select ARCH_DISCARD_MEMBLOCK
42         select GENERIC_SMP_IDLE_THREAD
43         select BUILDTIME_EXTABLE_SORT
44         select GENERIC_CLOCKEVENTS
45         select GENERIC_CMOS_UPDATE
46         select HAVE_MOD_ARCH_SPECIFIC
47         select VIRT_TO_BUS
48         select MODULES_USE_ELF_REL if MODULES
49         select MODULES_USE_ELF_RELA if MODULES && 64BIT
50         select CLONE_BACKWARDS
51         select HAVE_DEBUG_STACKOVERFLOW
52         select HAVE_CC_STACKPROTECTOR
53
54 menu "Machine selection"
55
56 choice
57         prompt "System type"
58         default SGI_IP22
59
60 config MIPS_ALCHEMY
61         bool "Alchemy processor based machines"
62         select 64BIT_PHYS_ADDR
63         select CEVT_R4K
64         select CSRC_R4K
65         select IRQ_CPU
66         select DMA_MAYBE_COHERENT       # Au1000,1500,1100 aren't, rest is
67         select SYS_HAS_CPU_MIPS32_R1
68         select SYS_SUPPORTS_32BIT_KERNEL
69         select SYS_SUPPORTS_APM_EMULATION
70         select ARCH_REQUIRE_GPIOLIB
71         select SYS_SUPPORTS_ZBOOT
72         select USB_ARCH_HAS_OHCI
73         select USB_ARCH_HAS_EHCI
74
75 config AR7
76         bool "Texas Instruments AR7"
77         select BOOT_ELF32
78         select DMA_NONCOHERENT
79         select CEVT_R4K
80         select CSRC_R4K
81         select IRQ_CPU
82         select NO_EXCEPT_FILL
83         select SWAP_IO_SPACE
84         select SYS_HAS_CPU_MIPS32_R1
85         select SYS_HAS_EARLY_PRINTK
86         select SYS_SUPPORTS_32BIT_KERNEL
87         select SYS_SUPPORTS_LITTLE_ENDIAN
88         select SYS_SUPPORTS_ZBOOT_UART16550
89         select ARCH_REQUIRE_GPIOLIB
90         select VLYNQ
91         select HAVE_CLK
92         help
93           Support for the Texas Instruments AR7 System-on-a-Chip
94           family: TNETD7100, 7200 and 7300.
95
96 config ATH79
97         bool "Atheros AR71XX/AR724X/AR913X based boards"
98         select ARCH_REQUIRE_GPIOLIB
99         select BOOT_RAW
100         select CEVT_R4K
101         select CSRC_R4K
102         select DMA_NONCOHERENT
103         select HAVE_CLK
104         select CLKDEV_LOOKUP
105         select IRQ_CPU
106         select MIPS_MACHINE
107         select SYS_HAS_CPU_MIPS32_R2
108         select SYS_HAS_EARLY_PRINTK
109         select SYS_SUPPORTS_32BIT_KERNEL
110         select SYS_SUPPORTS_BIG_ENDIAN
111         help
112           Support for the Atheros AR71XX/AR724X/AR913X SoCs.
113
114 config BCM47XX
115         bool "Broadcom BCM47XX based boards"
116         select ARCH_WANT_OPTIONAL_GPIOLIB
117         select BOOT_RAW
118         select CEVT_R4K
119         select CSRC_R4K
120         select DMA_NONCOHERENT
121         select HW_HAS_PCI
122         select IRQ_CPU
123         select SYS_HAS_CPU_MIPS32_R1
124         select NO_EXCEPT_FILL
125         select SYS_SUPPORTS_32BIT_KERNEL
126         select SYS_SUPPORTS_LITTLE_ENDIAN
127         select SYS_HAS_EARLY_PRINTK
128         select EARLY_PRINTK_8250 if EARLY_PRINTK
129         help
130          Support for BCM47XX based boards
131
132 config BCM63XX
133         bool "Broadcom BCM63XX based boards"
134         select BOOT_RAW
135         select CEVT_R4K
136         select CSRC_R4K
137         select DMA_NONCOHERENT
138         select IRQ_CPU
139         select SYS_SUPPORTS_32BIT_KERNEL
140         select SYS_SUPPORTS_BIG_ENDIAN
141         select SYS_HAS_EARLY_PRINTK
142         select SWAP_IO_SPACE
143         select ARCH_REQUIRE_GPIOLIB
144         select HAVE_CLK
145         select MIPS_L1_CACHE_SHIFT_4
146         help
147          Support for BCM63XX based boards
148
149 config MIPS_COBALT
150         bool "Cobalt Server"
151         select CEVT_R4K
152         select CSRC_R4K
153         select CEVT_GT641XX
154         select DMA_NONCOHERENT
155         select EARLY_PRINTK_8250 if EARLY_PRINTK
156         select HW_HAS_PCI
157         select I8253
158         select I8259
159         select IRQ_CPU
160         select IRQ_GT641XX
161         select PCI_GT64XXX_PCI0
162         select PCI
163         select SYS_HAS_CPU_NEVADA
164         select SYS_HAS_EARLY_PRINTK
165         select SYS_SUPPORTS_32BIT_KERNEL
166         select SYS_SUPPORTS_64BIT_KERNEL
167         select SYS_SUPPORTS_LITTLE_ENDIAN
168
169 config MACH_DECSTATION
170         bool "DECstations"
171         select BOOT_ELF32
172         select CEVT_DS1287
173         select CEVT_R4K
174         select CSRC_IOASIC
175         select CSRC_R4K
176         select CPU_DADDI_WORKAROUNDS if 64BIT
177         select CPU_R4000_WORKAROUNDS if 64BIT
178         select CPU_R4400_WORKAROUNDS if 64BIT
179         select DMA_NONCOHERENT
180         select NO_IOPORT
181         select IRQ_CPU
182         select SYS_HAS_CPU_R3000
183         select SYS_HAS_CPU_R4X00
184         select SYS_SUPPORTS_32BIT_KERNEL
185         select SYS_SUPPORTS_64BIT_KERNEL
186         select SYS_SUPPORTS_LITTLE_ENDIAN
187         select SYS_SUPPORTS_128HZ
188         select SYS_SUPPORTS_256HZ
189         select SYS_SUPPORTS_1024HZ
190         select MIPS_L1_CACHE_SHIFT_4
191         help
192           This enables support for DEC's MIPS based workstations.  For details
193           see the Linux/MIPS FAQ on <http://www.linux-mips.org/> and the
194           DECstation porting pages on <http://decstation.unix-ag.org/>.
195
196           If you have one of the following DECstation Models you definitely
197           want to choose R4xx0 for the CPU Type:
198
199                 DECstation 5000/50
200                 DECstation 5000/150
201                 DECstation 5000/260
202                 DECsystem 5900/260
203
204           otherwise choose R3000.
205
206 config MACH_JAZZ
207         bool "Jazz family of machines"
208         select FW_ARC
209         select FW_ARC32
210         select ARCH_MAY_HAVE_PC_FDC
211         select CEVT_R4K
212         select CSRC_R4K
213         select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
214         select GENERIC_ISA_DMA
215         select HAVE_PCSPKR_PLATFORM
216         select IRQ_CPU
217         select I8253
218         select I8259
219         select ISA
220         select SYS_HAS_CPU_R4X00
221         select SYS_SUPPORTS_32BIT_KERNEL
222         select SYS_SUPPORTS_64BIT_KERNEL
223         select SYS_SUPPORTS_100HZ
224         help
225          This a family of machines based on the MIPS R4030 chipset which was
226          used by several vendors to build RISC/os and Windows NT workstations.
227          Members include the Acer PICA, MIPS Magnum 4000, MIPS Millennium and
228          Olivetti M700-10 workstations.
229
230 config MACH_JZ4740
231         bool "Ingenic JZ4740 based machines"
232         select SYS_HAS_CPU_MIPS32_R1
233         select SYS_SUPPORTS_32BIT_KERNEL
234         select SYS_SUPPORTS_LITTLE_ENDIAN
235         select SYS_SUPPORTS_ZBOOT_UART16550
236         select DMA_NONCOHERENT
237         select IRQ_CPU
238         select ARCH_REQUIRE_GPIOLIB
239         select SYS_HAS_EARLY_PRINTK
240         select HAVE_PWM
241         select HAVE_CLK
242         select GENERIC_IRQ_CHIP
243
244 config LANTIQ
245         bool "Lantiq based platforms"
246         select DMA_NONCOHERENT
247         select IRQ_CPU
248         select CEVT_R4K
249         select CSRC_R4K
250         select SYS_HAS_CPU_MIPS32_R1
251         select SYS_HAS_CPU_MIPS32_R2
252         select SYS_SUPPORTS_BIG_ENDIAN
253         select SYS_SUPPORTS_32BIT_KERNEL
254         select SYS_SUPPORTS_MULTITHREADING
255         select SYS_HAS_EARLY_PRINTK
256         select ARCH_REQUIRE_GPIOLIB
257         select SWAP_IO_SPACE
258         select BOOT_RAW
259         select HAVE_MACH_CLKDEV
260         select CLKDEV_LOOKUP
261         select USE_OF
262         select PINCTRL
263         select PINCTRL_LANTIQ
264
265 config LASAT
266         bool "LASAT Networks platforms"
267         select CEVT_R4K
268         select CSRC_R4K
269         select DMA_NONCOHERENT
270         select SYS_HAS_EARLY_PRINTK
271         select HW_HAS_PCI
272         select IRQ_CPU
273         select PCI_GT64XXX_PCI0
274         select MIPS_NILE4
275         select R5000_CPU_SCACHE
276         select SYS_HAS_CPU_R5000
277         select SYS_SUPPORTS_32BIT_KERNEL
278         select SYS_SUPPORTS_64BIT_KERNEL if BROKEN
279         select SYS_SUPPORTS_LITTLE_ENDIAN
280
281 config MACH_LOONGSON
282         bool "Loongson family of machines"
283         select SYS_SUPPORTS_ZBOOT
284         help
285           This enables the support of Loongson family of machines.
286
287           Loongson is a family of general-purpose MIPS-compatible CPUs.
288           developed at Institute of Computing Technology (ICT),
289           Chinese Academy of Sciences (CAS) in the People's Republic
290           of China. The chief architect is Professor Weiwu Hu.
291
292 config MACH_LOONGSON1
293         bool "Loongson 1 family of machines"
294         select SYS_SUPPORTS_ZBOOT
295         help
296           This enables support for the Loongson 1 based machines.
297
298           Loongson 1 is a family of 32-bit MIPS-compatible SoCs developed by
299           the ICT (Institute of Computing Technology) and the Chinese Academy
300           of Sciences.
301
302 config MIPS_MALTA
303         bool "MIPS Malta board"
304         select ARCH_MAY_HAVE_PC_FDC
305         select BOOT_ELF32
306         select BOOT_RAW
307         select CEVT_R4K
308         select CSRC_R4K
309         select CSRC_GIC
310         select DMA_MAYBE_COHERENT
311         select GENERIC_ISA_DMA
312         select HAVE_PCSPKR_PLATFORM
313         select IRQ_CPU
314         select IRQ_GIC
315         select HW_HAS_PCI
316         select I8253
317         select I8259
318         select MIPS_BONITO64
319         select MIPS_CPU_SCACHE
320         select PCI_GT64XXX_PCI0
321         select MIPS_MSC
322         select SWAP_IO_SPACE
323         select SYS_HAS_CPU_MIPS32_R1
324         select SYS_HAS_CPU_MIPS32_R2
325         select SYS_HAS_CPU_MIPS32_R3_5
326         select SYS_HAS_CPU_MIPS64_R1
327         select SYS_HAS_CPU_MIPS64_R2
328         select SYS_HAS_CPU_NEVADA
329         select SYS_HAS_CPU_RM7000
330         select SYS_SUPPORTS_32BIT_KERNEL
331         select SYS_SUPPORTS_64BIT_KERNEL
332         select SYS_SUPPORTS_BIG_ENDIAN
333         select SYS_SUPPORTS_LITTLE_ENDIAN
334         select SYS_SUPPORTS_MIPS_CMP
335         select SYS_SUPPORTS_MIPS_CPS
336         select SYS_SUPPORTS_MULTITHREADING
337         select SYS_SUPPORTS_SMARTMIPS
338         select SYS_SUPPORTS_ZBOOT
339         help
340           This enables support for the MIPS Technologies Malta evaluation
341           board.
342
343 config MIPS_SEAD3
344         bool "MIPS SEAD3 board"
345         select BOOT_ELF32
346         select BOOT_RAW
347         select CEVT_R4K
348         select CSRC_R4K
349         select CSRC_GIC
350         select CPU_MIPSR2_IRQ_VI
351         select CPU_MIPSR2_IRQ_EI
352         select DMA_NONCOHERENT
353         select IRQ_CPU
354         select IRQ_GIC
355         select LIBFDT
356         select MIPS_MSC
357         select SYS_HAS_CPU_MIPS32_R1
358         select SYS_HAS_CPU_MIPS32_R2
359         select SYS_HAS_CPU_MIPS64_R1
360         select SYS_HAS_EARLY_PRINTK
361         select SYS_SUPPORTS_32BIT_KERNEL
362         select SYS_SUPPORTS_64BIT_KERNEL
363         select SYS_SUPPORTS_BIG_ENDIAN
364         select SYS_SUPPORTS_LITTLE_ENDIAN
365         select SYS_SUPPORTS_SMARTMIPS
366         select SYS_SUPPORTS_MICROMIPS
367         select USB_ARCH_HAS_EHCI
368         select USB_EHCI_BIG_ENDIAN_DESC
369         select USB_EHCI_BIG_ENDIAN_MMIO
370         select USE_OF
371         help
372           This enables support for the MIPS Technologies SEAD3 evaluation
373           board.
374
375 config NEC_MARKEINS
376         bool "NEC EMMA2RH Mark-eins board"
377         select SOC_EMMA2RH
378         select HW_HAS_PCI
379         help
380           This enables support for the NEC Electronics Mark-eins boards.
381
382 config MACH_VR41XX
383         bool "NEC VR4100 series based machines"
384         select CEVT_R4K
385         select CSRC_R4K
386         select SYS_HAS_CPU_VR41XX
387         select ARCH_REQUIRE_GPIOLIB
388
389 config NXP_STB220
390         bool "NXP STB220 board"
391         select SOC_PNX833X
392         help
393          Support for NXP Semiconductors STB220 Development Board.
394
395 config NXP_STB225
396         bool "NXP 225 board"
397         select SOC_PNX833X
398         select SOC_PNX8335
399         help
400          Support for NXP Semiconductors STB225 Development Board.
401
402 config PMC_MSP
403         bool "PMC-Sierra MSP chipsets"
404         select CEVT_R4K
405         select CSRC_R4K
406         select DMA_NONCOHERENT
407         select SWAP_IO_SPACE
408         select NO_EXCEPT_FILL
409         select BOOT_RAW
410         select SYS_HAS_CPU_MIPS32_R1
411         select SYS_HAS_CPU_MIPS32_R2
412         select SYS_SUPPORTS_32BIT_KERNEL
413         select SYS_SUPPORTS_BIG_ENDIAN
414         select IRQ_CPU
415         select SERIAL_8250
416         select SERIAL_8250_CONSOLE
417         select USB_EHCI_BIG_ENDIAN_MMIO
418         select USB_EHCI_BIG_ENDIAN_DESC
419         help
420           This adds support for the PMC-Sierra family of Multi-Service
421           Processor System-On-A-Chips.  These parts include a number
422           of integrated peripherals, interfaces and DSPs in addition to
423           a variety of MIPS cores.
424
425 config RALINK
426         bool "Ralink based machines"
427         select CEVT_R4K
428         select CSRC_R4K
429         select BOOT_RAW
430         select DMA_NONCOHERENT
431         select IRQ_CPU
432         select USE_OF
433         select SYS_HAS_CPU_MIPS32_R1
434         select SYS_HAS_CPU_MIPS32_R2
435         select SYS_SUPPORTS_32BIT_KERNEL
436         select SYS_SUPPORTS_LITTLE_ENDIAN
437         select SYS_HAS_EARLY_PRINTK
438         select HAVE_MACH_CLKDEV
439         select CLKDEV_LOOKUP
440         select ARCH_HAS_RESET_CONTROLLER
441         select RESET_CONTROLLER
442
443 config SGI_IP22
444         bool "SGI IP22 (Indy/Indigo2)"
445         select FW_ARC
446         select FW_ARC32
447         select BOOT_ELF32
448         select CEVT_R4K
449         select CSRC_R4K
450         select DEFAULT_SGI_PARTITION
451         select DMA_NONCOHERENT
452         select HW_HAS_EISA
453         select I8253
454         select I8259
455         select IP22_CPU_SCACHE
456         select IRQ_CPU
457         select GENERIC_ISA_DMA_SUPPORT_BROKEN
458         select SGI_HAS_I8042
459         select SGI_HAS_INDYDOG
460         select SGI_HAS_HAL2
461         select SGI_HAS_SEEQ
462         select SGI_HAS_WD93
463         select SGI_HAS_ZILOG
464         select SWAP_IO_SPACE
465         select SYS_HAS_CPU_R4X00
466         select SYS_HAS_CPU_R5000
467         #
468         # Disable EARLY_PRINTK for now since it leads to overwritten prom
469         # memory during early boot on some machines.
470         #
471         # See http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20091119164009.GA15038%40deprecation.cyrius.com
472         # for a more details discussion
473         #
474         # select SYS_HAS_EARLY_PRINTK
475         select SYS_SUPPORTS_32BIT_KERNEL
476         select SYS_SUPPORTS_64BIT_KERNEL
477         select SYS_SUPPORTS_BIG_ENDIAN
478         select MIPS_L1_CACHE_SHIFT_7
479         help
480           This are the SGI Indy, Challenge S and Indigo2, as well as certain
481           OEM variants like the Tandem CMN B006S. To compile a Linux kernel
482           that runs on these, say Y here.
483
484 config SGI_IP27
485         bool "SGI IP27 (Origin200/2000)"
486         select FW_ARC
487         select FW_ARC64
488         select BOOT_ELF64
489         select DEFAULT_SGI_PARTITION
490         select DMA_COHERENT
491         select SYS_HAS_EARLY_PRINTK
492         select HW_HAS_PCI
493         select NR_CPUS_DEFAULT_64
494         select SYS_HAS_CPU_R10000
495         select SYS_SUPPORTS_64BIT_KERNEL
496         select SYS_SUPPORTS_BIG_ENDIAN
497         select SYS_SUPPORTS_NUMA
498         select SYS_SUPPORTS_SMP
499         select MIPS_L1_CACHE_SHIFT_7
500         help
501           This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics
502           workstations.  To compile a Linux kernel that runs on these, say Y
503           here.
504
505 config SGI_IP28
506         bool "SGI IP28 (Indigo2 R10k)"
507         select FW_ARC
508         select FW_ARC64
509         select BOOT_ELF64
510         select CEVT_R4K
511         select CSRC_R4K
512         select DEFAULT_SGI_PARTITION
513         select DMA_NONCOHERENT
514         select GENERIC_ISA_DMA_SUPPORT_BROKEN
515         select IRQ_CPU
516         select HW_HAS_EISA
517         select I8253
518         select I8259
519         select SGI_HAS_I8042
520         select SGI_HAS_INDYDOG
521         select SGI_HAS_HAL2
522         select SGI_HAS_SEEQ
523         select SGI_HAS_WD93
524         select SGI_HAS_ZILOG
525         select SWAP_IO_SPACE
526         select SYS_HAS_CPU_R10000
527         #
528         # Disable EARLY_PRINTK for now since it leads to overwritten prom
529         # memory during early boot on some machines.
530         #
531         # See http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20091119164009.GA15038%40deprecation.cyrius.com
532         # for a more details discussion
533         #
534         # select SYS_HAS_EARLY_PRINTK
535         select SYS_SUPPORTS_64BIT_KERNEL
536         select SYS_SUPPORTS_BIG_ENDIAN
537       help
538         This is the SGI Indigo2 with R10000 processor.  To compile a Linux
539         kernel that runs on these, say Y here.
540
541 config SGI_IP32
542         bool "SGI IP32 (O2)"
543         select FW_ARC
544         select FW_ARC32
545         select BOOT_ELF32
546         select CEVT_R4K
547         select CSRC_R4K
548         select DMA_NONCOHERENT
549         select HW_HAS_PCI
550         select IRQ_CPU
551         select R5000_CPU_SCACHE
552         select RM7000_CPU_SCACHE
553         select SYS_HAS_CPU_R5000
554         select SYS_HAS_CPU_R10000 if BROKEN
555         select SYS_HAS_CPU_RM7000
556         select SYS_HAS_CPU_NEVADA
557         select SYS_SUPPORTS_64BIT_KERNEL
558         select SYS_SUPPORTS_BIG_ENDIAN
559         help
560           If you want this kernel to run on SGI O2 workstation, say Y here.
561
562 config SIBYTE_CRHINE
563         bool "Sibyte BCM91120C-CRhine"
564         select BOOT_ELF32
565         select DMA_COHERENT
566         select SIBYTE_BCM1120
567         select SWAP_IO_SPACE
568         select SYS_HAS_CPU_SB1
569         select SYS_SUPPORTS_BIG_ENDIAN
570         select SYS_SUPPORTS_LITTLE_ENDIAN
571
572 config SIBYTE_CARMEL
573         bool "Sibyte BCM91120x-Carmel"
574         select BOOT_ELF32
575         select DMA_COHERENT
576         select SIBYTE_BCM1120
577         select SWAP_IO_SPACE
578         select SYS_HAS_CPU_SB1
579         select SYS_SUPPORTS_BIG_ENDIAN
580         select SYS_SUPPORTS_LITTLE_ENDIAN
581
582 config SIBYTE_CRHONE
583         bool "Sibyte BCM91125C-CRhone"
584         select BOOT_ELF32
585         select DMA_COHERENT
586         select SIBYTE_BCM1125
587         select SWAP_IO_SPACE
588         select SYS_HAS_CPU_SB1
589         select SYS_SUPPORTS_BIG_ENDIAN
590         select SYS_SUPPORTS_HIGHMEM
591         select SYS_SUPPORTS_LITTLE_ENDIAN
592
593 config SIBYTE_RHONE
594         bool "Sibyte BCM91125E-Rhone"
595         select BOOT_ELF32
596         select DMA_COHERENT
597         select SIBYTE_BCM1125H
598         select SWAP_IO_SPACE
599         select SYS_HAS_CPU_SB1
600         select SYS_SUPPORTS_BIG_ENDIAN
601         select SYS_SUPPORTS_LITTLE_ENDIAN
602
603 config SIBYTE_SWARM
604         bool "Sibyte BCM91250A-SWARM"
605         select BOOT_ELF32
606         select DMA_COHERENT
607         select HAVE_PATA_PLATFORM
608         select SIBYTE_SB1250
609         select SWAP_IO_SPACE
610         select SYS_HAS_CPU_SB1
611         select SYS_SUPPORTS_BIG_ENDIAN
612         select SYS_SUPPORTS_HIGHMEM
613         select SYS_SUPPORTS_LITTLE_ENDIAN
614         select ZONE_DMA32 if 64BIT
615
616 config SIBYTE_LITTLESUR
617         bool "Sibyte BCM91250C2-LittleSur"
618         select BOOT_ELF32
619         select DMA_COHERENT
620         select HAVE_PATA_PLATFORM
621         select SIBYTE_SB1250
622         select SWAP_IO_SPACE
623         select SYS_HAS_CPU_SB1
624         select SYS_SUPPORTS_BIG_ENDIAN
625         select SYS_SUPPORTS_HIGHMEM
626         select SYS_SUPPORTS_LITTLE_ENDIAN
627
628 config SIBYTE_SENTOSA
629         bool "Sibyte BCM91250E-Sentosa"
630         select BOOT_ELF32
631         select DMA_COHERENT
632         select SIBYTE_SB1250
633         select SWAP_IO_SPACE
634         select SYS_HAS_CPU_SB1
635         select SYS_SUPPORTS_BIG_ENDIAN
636         select SYS_SUPPORTS_LITTLE_ENDIAN
637
638 config SIBYTE_BIGSUR
639         bool "Sibyte BCM91480B-BigSur"
640         select BOOT_ELF32
641         select DMA_COHERENT
642         select NR_CPUS_DEFAULT_4
643         select SIBYTE_BCM1x80
644         select SWAP_IO_SPACE
645         select SYS_HAS_CPU_SB1
646         select SYS_SUPPORTS_BIG_ENDIAN
647         select SYS_SUPPORTS_HIGHMEM
648         select SYS_SUPPORTS_LITTLE_ENDIAN
649         select ZONE_DMA32 if 64BIT
650
651 config SNI_RM
652         bool "SNI RM200/300/400"
653         select FW_ARC if CPU_LITTLE_ENDIAN
654         select FW_ARC32 if CPU_LITTLE_ENDIAN
655         select FW_SNIPROM if CPU_BIG_ENDIAN
656         select ARCH_MAY_HAVE_PC_FDC
657         select BOOT_ELF32
658         select CEVT_R4K
659         select CSRC_R4K
660         select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
661         select DMA_NONCOHERENT
662         select GENERIC_ISA_DMA
663         select HAVE_PCSPKR_PLATFORM
664         select HW_HAS_EISA
665         select HW_HAS_PCI
666         select IRQ_CPU
667         select I8253
668         select I8259
669         select ISA
670         select SWAP_IO_SPACE if CPU_BIG_ENDIAN
671         select SYS_HAS_CPU_R4X00
672         select SYS_HAS_CPU_R5000
673         select SYS_HAS_CPU_R10000
674         select R5000_CPU_SCACHE
675         select SYS_HAS_EARLY_PRINTK
676         select SYS_SUPPORTS_32BIT_KERNEL
677         select SYS_SUPPORTS_64BIT_KERNEL
678         select SYS_SUPPORTS_BIG_ENDIAN
679         select SYS_SUPPORTS_HIGHMEM
680         select SYS_SUPPORTS_LITTLE_ENDIAN
681         help
682           The SNI RM200/300/400 are MIPS-based machines manufactured by
683           Siemens Nixdorf Informationssysteme (SNI), parent company of Pyramid
684           Technology and now in turn merged with Fujitsu.  Say Y here to
685           support this machine type.
686
687 config MACH_TX39XX
688         bool "Toshiba TX39 series based machines"
689
690 config MACH_TX49XX
691         bool "Toshiba TX49 series based machines"
692
693 config MIKROTIK_RB532
694         bool "Mikrotik RB532 boards"
695         select CEVT_R4K
696         select CSRC_R4K
697         select DMA_NONCOHERENT
698         select HW_HAS_PCI
699         select IRQ_CPU
700         select SYS_HAS_CPU_MIPS32_R1
701         select SYS_SUPPORTS_32BIT_KERNEL
702         select SYS_SUPPORTS_LITTLE_ENDIAN
703         select SWAP_IO_SPACE
704         select BOOT_RAW
705         select ARCH_REQUIRE_GPIOLIB
706         select MIPS_L1_CACHE_SHIFT_4
707         help
708           Support the Mikrotik(tm) RouterBoard 532 series,
709           based on the IDT RC32434 SoC.
710
711 config CAVIUM_OCTEON_SOC
712         bool "Cavium Networks Octeon SoC based boards"
713         select CEVT_R4K
714         select 64BIT_PHYS_ADDR
715         select DMA_COHERENT
716         select SYS_SUPPORTS_64BIT_KERNEL
717         select SYS_SUPPORTS_BIG_ENDIAN
718         select EDAC_SUPPORT
719         select SYS_SUPPORTS_HOTPLUG_CPU
720         select SYS_HAS_EARLY_PRINTK
721         select SYS_HAS_CPU_CAVIUM_OCTEON
722         select SWAP_IO_SPACE
723         select HW_HAS_PCI
724         select ZONE_DMA32
725         select USB_ARCH_HAS_OHCI
726         select USB_ARCH_HAS_EHCI
727         select HOLES_IN_ZONE
728         select ARCH_REQUIRE_GPIOLIB
729         help
730           This option supports all of the Octeon reference boards from Cavium
731           Networks. It builds a kernel that dynamically determines the Octeon
732           CPU type and supports all known board reference implementations.
733           Some of the supported boards are:
734                 EBT3000
735                 EBH3000
736                 EBH3100
737                 Thunder
738                 Kodama
739                 Hikari
740           Say Y here for most Octeon reference boards.
741
742 config NLM_XLR_BOARD
743         bool "Netlogic XLR/XLS based systems"
744         select BOOT_ELF32
745         select NLM_COMMON
746         select SYS_HAS_CPU_XLR
747         select SYS_SUPPORTS_SMP
748         select HW_HAS_PCI
749         select SWAP_IO_SPACE
750         select SYS_SUPPORTS_32BIT_KERNEL
751         select SYS_SUPPORTS_64BIT_KERNEL
752         select 64BIT_PHYS_ADDR
753         select SYS_SUPPORTS_BIG_ENDIAN
754         select SYS_SUPPORTS_HIGHMEM
755         select DMA_COHERENT
756         select NR_CPUS_DEFAULT_32
757         select CEVT_R4K
758         select CSRC_R4K
759         select IRQ_CPU
760         select ZONE_DMA32 if 64BIT
761         select SYNC_R4K
762         select SYS_HAS_EARLY_PRINTK
763         select USB_ARCH_HAS_OHCI if USB_SUPPORT
764         select USB_ARCH_HAS_EHCI if USB_SUPPORT
765         select SYS_SUPPORTS_ZBOOT
766         select SYS_SUPPORTS_ZBOOT_UART16550
767         help
768           Support for systems based on Netlogic XLR and XLS processors.
769           Say Y here if you have a XLR or XLS based board.
770
771 config NLM_XLP_BOARD
772         bool "Netlogic XLP based systems"
773         select BOOT_ELF32
774         select NLM_COMMON
775         select SYS_HAS_CPU_XLP
776         select SYS_SUPPORTS_SMP
777         select HW_HAS_PCI
778         select SYS_SUPPORTS_32BIT_KERNEL
779         select SYS_SUPPORTS_64BIT_KERNEL
780         select 64BIT_PHYS_ADDR
781         select SYS_SUPPORTS_BIG_ENDIAN
782         select SYS_SUPPORTS_LITTLE_ENDIAN
783         select SYS_SUPPORTS_HIGHMEM
784         select DMA_COHERENT
785         select NR_CPUS_DEFAULT_32
786         select CEVT_R4K
787         select CSRC_R4K
788         select IRQ_CPU
789         select ARCH_SUPPORTS_MSI
790         select ZONE_DMA32 if 64BIT
791         select SYNC_R4K
792         select SYS_HAS_EARLY_PRINTK
793         select USE_OF
794         select SYS_SUPPORTS_ZBOOT
795         select SYS_SUPPORTS_ZBOOT_UART16550
796         help
797           This board is based on Netlogic XLP Processor.
798           Say Y here if you have a XLP based board.
799
800 endchoice
801
802 source "arch/mips/alchemy/Kconfig"
803 source "arch/mips/ath79/Kconfig"
804 source "arch/mips/bcm47xx/Kconfig"
805 source "arch/mips/bcm63xx/Kconfig"
806 source "arch/mips/jazz/Kconfig"
807 source "arch/mips/jz4740/Kconfig"
808 source "arch/mips/lantiq/Kconfig"
809 source "arch/mips/lasat/Kconfig"
810 source "arch/mips/pmcs-msp71xx/Kconfig"
811 source "arch/mips/ralink/Kconfig"
812 source "arch/mips/sgi-ip27/Kconfig"
813 source "arch/mips/sibyte/Kconfig"
814 source "arch/mips/txx9/Kconfig"
815 source "arch/mips/vr41xx/Kconfig"
816 source "arch/mips/cavium-octeon/Kconfig"
817 source "arch/mips/loongson/Kconfig"
818 source "arch/mips/loongson1/Kconfig"
819 source "arch/mips/netlogic/Kconfig"
820
821 endmenu
822
823 config RWSEM_GENERIC_SPINLOCK
824         bool
825         default y
826
827 config RWSEM_XCHGADD_ALGORITHM
828         bool
829
830 config ARCH_HAS_ILOG2_U32
831         bool
832         default n
833
834 config ARCH_HAS_ILOG2_U64
835         bool
836         default n
837
838 config GENERIC_HWEIGHT
839         bool
840         default y
841
842 config GENERIC_CALIBRATE_DELAY
843         bool
844         default y
845
846 config SCHED_OMIT_FRAME_POINTER
847         bool
848         default y
849
850 #
851 # Select some configuration options automatically based on user selections.
852 #
853 config FW_ARC
854         bool
855
856 config ARCH_MAY_HAVE_PC_FDC
857         bool
858
859 config BOOT_RAW
860         bool
861
862 config CEVT_BCM1480
863         bool
864
865 config CEVT_DS1287
866         bool
867
868 config CEVT_GT641XX
869         bool
870
871 config CEVT_R4K
872         bool
873
874 config CEVT_GIC
875         select MIPS_CM
876         bool
877
878 config CEVT_SB1250
879         bool
880
881 config CEVT_TXX9
882         bool
883
884 config CSRC_BCM1480
885         bool
886
887 config CSRC_IOASIC
888         bool
889
890 config CSRC_R4K
891         bool
892
893 config CSRC_GIC
894         select MIPS_CM
895         bool
896
897 config CSRC_SB1250
898         bool
899
900 config GPIO_TXX9
901         select ARCH_REQUIRE_GPIOLIB
902         bool
903
904 config FW_CFE
905         bool
906
907 config ARCH_DMA_ADDR_T_64BIT
908         def_bool (HIGHMEM && 64BIT_PHYS_ADDR) || 64BIT
909
910 config DMA_MAYBE_COHERENT
911         select DMA_NONCOHERENT
912         bool
913
914 config DMA_COHERENT
915         bool
916
917 config DMA_NONCOHERENT
918         bool
919         select NEED_DMA_MAP_STATE
920
921 config NEED_DMA_MAP_STATE
922         bool
923
924 config SYS_HAS_EARLY_PRINTK
925         bool
926
927 config HOTPLUG_CPU
928         bool "Support for hot-pluggable CPUs"
929         depends on SMP && SYS_SUPPORTS_HOTPLUG_CPU
930         help
931           Say Y here to allow turning CPUs off and on. CPUs can be
932           controlled through /sys/devices/system/cpu.
933           (Note: power management support will enable this option
934             automatically on SMP systems. )
935           Say N if you want to disable CPU hotplug.
936
937 config SYS_SUPPORTS_HOTPLUG_CPU
938         bool
939
940 config I8259
941         bool
942
943 config MIPS_BONITO64
944         bool
945
946 config MIPS_MSC
947         bool
948
949 config MIPS_NILE4
950         bool
951
952 config SYNC_R4K
953         bool
954
955 config MIPS_MACHINE
956         def_bool n
957
958 config NO_IOPORT
959         def_bool n
960
961 config GENERIC_ISA_DMA
962         bool
963         select ZONE_DMA if GENERIC_ISA_DMA_SUPPORT_BROKEN=n
964         select ISA_DMA_API
965
966 config GENERIC_ISA_DMA_SUPPORT_BROKEN
967         bool
968         select GENERIC_ISA_DMA
969
970 config ISA_DMA_API
971         bool
972
973 config HOLES_IN_ZONE
974         bool
975
976 #
977 # Endianness selection.  Sufficiently obscure so many users don't know what to
978 # answer,so we try hard to limit the available choices.  Also the use of a
979 # choice statement should be more obvious to the user.
980 #
981 choice
982         prompt "Endianness selection"
983         help
984           Some MIPS machines can be configured for either little or big endian
985           byte order. These modes require different kernels and a different
986           Linux distribution.  In general there is one preferred byteorder for a
987           particular system but some systems are just as commonly used in the
988           one or the other endianness.
989
990 config CPU_BIG_ENDIAN
991         bool "Big endian"
992         depends on SYS_SUPPORTS_BIG_ENDIAN
993
994 config CPU_LITTLE_ENDIAN
995         bool "Little endian"
996         depends on SYS_SUPPORTS_LITTLE_ENDIAN
997
998 endchoice
999
1000 config EXPORT_UASM
1001         bool
1002
1003 config SYS_SUPPORTS_APM_EMULATION
1004         bool
1005
1006 config SYS_SUPPORTS_BIG_ENDIAN
1007         bool
1008
1009 config SYS_SUPPORTS_LITTLE_ENDIAN
1010         bool
1011
1012 config SYS_SUPPORTS_HUGETLBFS
1013         bool
1014         depends on CPU_SUPPORTS_HUGEPAGES && 64BIT
1015         default y
1016
1017 config MIPS_HUGE_TLB_SUPPORT
1018         def_bool HUGETLB_PAGE || TRANSPARENT_HUGEPAGE
1019
1020 config IRQ_CPU
1021         bool
1022
1023 config IRQ_CPU_RM7K
1024         bool
1025
1026 config IRQ_MSP_SLP
1027         bool
1028
1029 config IRQ_MSP_CIC
1030         bool
1031
1032 config IRQ_TXX9
1033         bool
1034
1035 config IRQ_GT641XX
1036         bool
1037
1038 config IRQ_GIC
1039         select MIPS_CM
1040         bool
1041
1042 config PCI_GT64XXX_PCI0
1043         bool
1044
1045 config NO_EXCEPT_FILL
1046         bool
1047
1048 config SOC_EMMA2RH
1049         bool
1050         select CEVT_R4K
1051         select CSRC_R4K
1052         select DMA_NONCOHERENT
1053         select IRQ_CPU
1054         select SWAP_IO_SPACE
1055         select SYS_HAS_CPU_R5500
1056         select SYS_SUPPORTS_32BIT_KERNEL
1057         select SYS_SUPPORTS_64BIT_KERNEL
1058         select SYS_SUPPORTS_BIG_ENDIAN
1059
1060 config SOC_PNX833X
1061         bool
1062         select CEVT_R4K
1063         select CSRC_R4K
1064         select IRQ_CPU
1065         select DMA_NONCOHERENT
1066         select SYS_HAS_CPU_MIPS32_R2
1067         select SYS_SUPPORTS_32BIT_KERNEL
1068         select SYS_SUPPORTS_LITTLE_ENDIAN
1069         select SYS_SUPPORTS_BIG_ENDIAN
1070         select CPU_MIPSR2_IRQ_VI
1071
1072 config SOC_PNX8335
1073         bool
1074         select SOC_PNX833X
1075
1076 config SWAP_IO_SPACE
1077         bool
1078
1079 config SGI_HAS_INDYDOG
1080         bool
1081
1082 config SGI_HAS_HAL2
1083         bool
1084
1085 config SGI_HAS_SEEQ
1086         bool
1087
1088 config SGI_HAS_WD93
1089         bool
1090
1091 config SGI_HAS_ZILOG
1092         bool
1093
1094 config SGI_HAS_I8042
1095         bool
1096
1097 config DEFAULT_SGI_PARTITION
1098         bool
1099
1100 config FW_ARC32
1101         bool
1102
1103 config FW_SNIPROM
1104         bool
1105
1106 config BOOT_ELF32
1107         bool
1108
1109 config MIPS_L1_CACHE_SHIFT_4
1110         bool
1111
1112 config MIPS_L1_CACHE_SHIFT_5
1113         bool
1114
1115 config MIPS_L1_CACHE_SHIFT_6
1116         bool
1117
1118 config MIPS_L1_CACHE_SHIFT_7
1119         bool
1120
1121 config MIPS_L1_CACHE_SHIFT
1122         int
1123         default "4" if MIPS_L1_CACHE_SHIFT_4
1124         default "5" if MIPS_L1_CACHE_SHIFT_5
1125         default "6" if MIPS_L1_CACHE_SHIFT_6
1126         default "7" if MIPS_L1_CACHE_SHIFT_7
1127         default "5"
1128
1129 config HAVE_STD_PC_SERIAL_PORT
1130         bool
1131
1132 config ARC_CONSOLE
1133         bool "ARC console support"
1134         depends on SGI_IP22 || SGI_IP28 || (SNI_RM && CPU_LITTLE_ENDIAN)
1135
1136 config ARC_MEMORY
1137         bool
1138         depends on MACH_JAZZ || SNI_RM || SGI_IP32
1139         default y
1140
1141 config ARC_PROMLIB
1142         bool
1143         depends on MACH_JAZZ || SNI_RM || SGI_IP22 || SGI_IP28 || SGI_IP32
1144         default y
1145
1146 config FW_ARC64
1147         bool
1148
1149 config BOOT_ELF64
1150         bool
1151
1152 menu "CPU selection"
1153
1154 choice
1155         prompt "CPU type"
1156         default CPU_R4X00
1157
1158 config CPU_LOONGSON2E
1159         bool "Loongson 2E"
1160         depends on SYS_HAS_CPU_LOONGSON2E
1161         select CPU_LOONGSON2
1162         help
1163           The Loongson 2E processor implements the MIPS III instruction set
1164           with many extensions.
1165
1166           It has an internal FPGA northbridge, which is compatible to
1167           bonito64.
1168
1169 config CPU_LOONGSON2F
1170         bool "Loongson 2F"
1171         depends on SYS_HAS_CPU_LOONGSON2F
1172         select CPU_LOONGSON2
1173         select ARCH_REQUIRE_GPIOLIB
1174         help
1175           The Loongson 2F processor implements the MIPS III instruction set
1176           with many extensions.
1177
1178           Loongson2F have built-in DDR2 and PCIX controller. The PCIX controller
1179           have a similar programming interface with FPGA northbridge used in
1180           Loongson2E.
1181
1182 config CPU_LOONGSON1B
1183         bool "Loongson 1B"
1184         depends on SYS_HAS_CPU_LOONGSON1B
1185         select CPU_LOONGSON1
1186         help
1187           The Loongson 1B is a 32-bit SoC, which implements the MIPS32
1188           release 2 instruction set.
1189
1190 config CPU_MIPS32_R1
1191         bool "MIPS32 Release 1"
1192         depends on SYS_HAS_CPU_MIPS32_R1
1193         select CPU_HAS_PREFETCH
1194         select CPU_SUPPORTS_32BIT_KERNEL
1195         select CPU_SUPPORTS_HIGHMEM
1196         help
1197           Choose this option to build a kernel for release 1 or later of the
1198           MIPS32 architecture.  Most modern embedded systems with a 32-bit
1199           MIPS processor are based on a MIPS32 processor.  If you know the
1200           specific type of processor in your system, choose those that one
1201           otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1202           Release 2 of the MIPS32 architecture is available since several
1203           years so chances are you even have a MIPS32 Release 2 processor
1204           in which case you should choose CPU_MIPS32_R2 instead for better
1205           performance.
1206
1207 config CPU_MIPS32_R2
1208         bool "MIPS32 Release 2"
1209         depends on SYS_HAS_CPU_MIPS32_R2
1210         select CPU_HAS_PREFETCH
1211         select CPU_SUPPORTS_32BIT_KERNEL
1212         select CPU_SUPPORTS_HIGHMEM
1213         select CPU_SUPPORTS_MSA
1214         select HAVE_KVM
1215         help
1216           Choose this option to build a kernel for release 2 or later of the
1217           MIPS32 architecture.  Most modern embedded systems with a 32-bit
1218           MIPS processor are based on a MIPS32 processor.  If you know the
1219           specific type of processor in your system, choose those that one
1220           otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1221
1222 config CPU_MIPS64_R1
1223         bool "MIPS64 Release 1"
1224         depends on SYS_HAS_CPU_MIPS64_R1
1225         select CPU_HAS_PREFETCH
1226         select CPU_SUPPORTS_32BIT_KERNEL
1227         select CPU_SUPPORTS_64BIT_KERNEL
1228         select CPU_SUPPORTS_HIGHMEM
1229         select CPU_SUPPORTS_HUGEPAGES
1230         help
1231           Choose this option to build a kernel for release 1 or later of the
1232           MIPS64 architecture.  Many modern embedded systems with a 64-bit
1233           MIPS processor are based on a MIPS64 processor.  If you know the
1234           specific type of processor in your system, choose those that one
1235           otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1236           Release 2 of the MIPS64 architecture is available since several
1237           years so chances are you even have a MIPS64 Release 2 processor
1238           in which case you should choose CPU_MIPS64_R2 instead for better
1239           performance.
1240
1241 config CPU_MIPS64_R2
1242         bool "MIPS64 Release 2"
1243         depends on SYS_HAS_CPU_MIPS64_R2
1244         select CPU_HAS_PREFETCH
1245         select CPU_SUPPORTS_32BIT_KERNEL
1246         select CPU_SUPPORTS_64BIT_KERNEL
1247         select CPU_SUPPORTS_HIGHMEM
1248         select CPU_SUPPORTS_HUGEPAGES
1249         select CPU_SUPPORTS_MSA
1250         help
1251           Choose this option to build a kernel for release 2 or later of the
1252           MIPS64 architecture.  Many modern embedded systems with a 64-bit
1253           MIPS processor are based on a MIPS64 processor.  If you know the
1254           specific type of processor in your system, choose those that one
1255           otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1256
1257 config CPU_R3000
1258         bool "R3000"
1259         depends on SYS_HAS_CPU_R3000
1260         select CPU_HAS_WB
1261         select CPU_SUPPORTS_32BIT_KERNEL
1262         select CPU_SUPPORTS_HIGHMEM
1263         help
1264           Please make sure to pick the right CPU type. Linux/MIPS is not
1265           designed to be generic, i.e. Kernels compiled for R3000 CPUs will
1266           *not* work on R4000 machines and vice versa.  However, since most
1267           of the supported machines have an R4000 (or similar) CPU, R4x00
1268           might be a safe bet.  If the resulting kernel does not work,
1269           try to recompile with R3000.
1270
1271 config CPU_TX39XX
1272         bool "R39XX"
1273         depends on SYS_HAS_CPU_TX39XX
1274         select CPU_SUPPORTS_32BIT_KERNEL
1275
1276 config CPU_VR41XX
1277         bool "R41xx"
1278         depends on SYS_HAS_CPU_VR41XX
1279         select CPU_SUPPORTS_32BIT_KERNEL
1280         select CPU_SUPPORTS_64BIT_KERNEL
1281         help
1282           The options selects support for the NEC VR4100 series of processors.
1283           Only choose this option if you have one of these processors as a
1284           kernel built with this option will not run on any other type of
1285           processor or vice versa.
1286
1287 config CPU_R4300
1288         bool "R4300"
1289         depends on SYS_HAS_CPU_R4300
1290         select CPU_SUPPORTS_32BIT_KERNEL
1291         select CPU_SUPPORTS_64BIT_KERNEL
1292         help
1293           MIPS Technologies R4300-series processors.
1294
1295 config CPU_R4X00
1296         bool "R4x00"
1297         depends on SYS_HAS_CPU_R4X00
1298         select CPU_SUPPORTS_32BIT_KERNEL
1299         select CPU_SUPPORTS_64BIT_KERNEL
1300         select CPU_SUPPORTS_HUGEPAGES
1301         help
1302           MIPS Technologies R4000-series processors other than 4300, including
1303           the R4000, R4400, R4600, and 4700.
1304
1305 config CPU_TX49XX
1306         bool "R49XX"
1307         depends on SYS_HAS_CPU_TX49XX
1308         select CPU_HAS_PREFETCH
1309         select CPU_SUPPORTS_32BIT_KERNEL
1310         select CPU_SUPPORTS_64BIT_KERNEL
1311         select CPU_SUPPORTS_HUGEPAGES
1312
1313 config CPU_R5000
1314         bool "R5000"
1315         depends on SYS_HAS_CPU_R5000
1316         select CPU_SUPPORTS_32BIT_KERNEL
1317         select CPU_SUPPORTS_64BIT_KERNEL
1318         select CPU_SUPPORTS_HUGEPAGES
1319         help
1320           MIPS Technologies R5000-series processors other than the Nevada.
1321
1322 config CPU_R5432
1323         bool "R5432"
1324         depends on SYS_HAS_CPU_R5432
1325         select CPU_SUPPORTS_32BIT_KERNEL
1326         select CPU_SUPPORTS_64BIT_KERNEL
1327         select CPU_SUPPORTS_HUGEPAGES
1328
1329 config CPU_R5500
1330         bool "R5500"
1331         depends on SYS_HAS_CPU_R5500
1332         select CPU_SUPPORTS_32BIT_KERNEL
1333         select CPU_SUPPORTS_64BIT_KERNEL
1334         select CPU_SUPPORTS_HUGEPAGES
1335         help
1336           NEC VR5500 and VR5500A series processors implement 64-bit MIPS IV
1337           instruction set.
1338
1339 config CPU_R6000
1340         bool "R6000"
1341         depends on SYS_HAS_CPU_R6000
1342         select CPU_SUPPORTS_32BIT_KERNEL
1343         help
1344           MIPS Technologies R6000 and R6000A series processors.  Note these
1345           processors are extremely rare and the support for them is incomplete.
1346
1347 config CPU_NEVADA
1348         bool "RM52xx"
1349         depends on SYS_HAS_CPU_NEVADA
1350         select CPU_SUPPORTS_32BIT_KERNEL
1351         select CPU_SUPPORTS_64BIT_KERNEL
1352         select CPU_SUPPORTS_HUGEPAGES
1353         help
1354           QED / PMC-Sierra RM52xx-series ("Nevada") processors.
1355
1356 config CPU_R8000
1357         bool "R8000"
1358         depends on SYS_HAS_CPU_R8000
1359         select CPU_HAS_PREFETCH
1360         select CPU_SUPPORTS_64BIT_KERNEL
1361         help
1362           MIPS Technologies R8000 processors.  Note these processors are
1363           uncommon and the support for them is incomplete.
1364
1365 config CPU_R10000
1366         bool "R10000"
1367         depends on SYS_HAS_CPU_R10000
1368         select CPU_HAS_PREFETCH
1369         select CPU_SUPPORTS_32BIT_KERNEL
1370         select CPU_SUPPORTS_64BIT_KERNEL
1371         select CPU_SUPPORTS_HIGHMEM
1372         select CPU_SUPPORTS_HUGEPAGES
1373         help
1374           MIPS Technologies R10000-series processors.
1375
1376 config CPU_RM7000
1377         bool "RM7000"
1378         depends on SYS_HAS_CPU_RM7000
1379         select CPU_HAS_PREFETCH
1380         select CPU_SUPPORTS_32BIT_KERNEL
1381         select CPU_SUPPORTS_64BIT_KERNEL
1382         select CPU_SUPPORTS_HIGHMEM
1383         select CPU_SUPPORTS_HUGEPAGES
1384
1385 config CPU_SB1
1386         bool "SB1"
1387         depends on SYS_HAS_CPU_SB1
1388         select CPU_SUPPORTS_32BIT_KERNEL
1389         select CPU_SUPPORTS_64BIT_KERNEL
1390         select CPU_SUPPORTS_HIGHMEM
1391         select CPU_SUPPORTS_HUGEPAGES
1392         select WEAK_ORDERING
1393
1394 config CPU_CAVIUM_OCTEON
1395         bool "Cavium Octeon processor"
1396         depends on SYS_HAS_CPU_CAVIUM_OCTEON
1397         select ARCH_SPARSEMEM_ENABLE
1398         select CPU_HAS_PREFETCH
1399         select CPU_SUPPORTS_64BIT_KERNEL
1400         select SYS_SUPPORTS_SMP
1401         select NR_CPUS_DEFAULT_16
1402         select WEAK_ORDERING
1403         select CPU_SUPPORTS_HIGHMEM
1404         select CPU_SUPPORTS_HUGEPAGES
1405         select LIBFDT
1406         select USE_OF
1407         select USB_EHCI_BIG_ENDIAN_MMIO
1408         select SYS_HAS_DMA_OPS
1409         select MIPS_L1_CACHE_SHIFT_7
1410         help
1411           The Cavium Octeon processor is a highly integrated chip containing
1412           many ethernet hardware widgets for networking tasks. The processor
1413           can have up to 16 Mips64v2 cores and 8 integrated gigabit ethernets.
1414           Full details can be found at http://www.caviumnetworks.com.
1415
1416 config CPU_BMIPS
1417         bool "Broadcom BMIPS"
1418         depends on SYS_HAS_CPU_BMIPS
1419         select CPU_MIPS32
1420         select CPU_BMIPS32_3300 if SYS_HAS_CPU_BMIPS32_3300
1421         select CPU_BMIPS4350 if SYS_HAS_CPU_BMIPS4350
1422         select CPU_BMIPS4380 if SYS_HAS_CPU_BMIPS4380
1423         select CPU_BMIPS5000 if SYS_HAS_CPU_BMIPS5000
1424         select CPU_SUPPORTS_32BIT_KERNEL
1425         select DMA_NONCOHERENT
1426         select IRQ_CPU
1427         select SWAP_IO_SPACE
1428         select WEAK_ORDERING
1429         select CPU_SUPPORTS_HIGHMEM
1430         select CPU_HAS_PREFETCH
1431         help
1432           Support for BMIPS32/3300/4350/4380 and BMIPS5000 processors.
1433
1434 config CPU_XLR
1435         bool "Netlogic XLR SoC"
1436         depends on SYS_HAS_CPU_XLR
1437         select CPU_SUPPORTS_32BIT_KERNEL
1438         select CPU_SUPPORTS_64BIT_KERNEL
1439         select CPU_SUPPORTS_HIGHMEM
1440         select CPU_SUPPORTS_HUGEPAGES
1441         select WEAK_ORDERING
1442         select WEAK_REORDERING_BEYOND_LLSC
1443         help
1444           Netlogic Microsystems XLR/XLS processors.
1445
1446 config CPU_XLP
1447         bool "Netlogic XLP SoC"
1448         depends on SYS_HAS_CPU_XLP
1449         select CPU_SUPPORTS_32BIT_KERNEL
1450         select CPU_SUPPORTS_64BIT_KERNEL
1451         select CPU_SUPPORTS_HIGHMEM
1452         select WEAK_ORDERING
1453         select WEAK_REORDERING_BEYOND_LLSC
1454         select CPU_HAS_PREFETCH
1455         select CPU_MIPSR2
1456         help
1457           Netlogic Microsystems XLP processors.
1458 endchoice
1459
1460 config CPU_MIPS32_3_5_FEATURES
1461         bool "MIPS32 Release 3.5 Features"
1462         depends on SYS_HAS_CPU_MIPS32_R3_5
1463         depends on CPU_MIPS32_R2
1464         help
1465           Choose this option to build a kernel for release 2 or later of the
1466           MIPS32 architecture including features from the 3.5 release such as
1467           support for Enhanced Virtual Addressing (EVA).
1468
1469 config CPU_MIPS32_3_5_EVA
1470         bool "Enhanced Virtual Addressing (EVA)"
1471         depends on CPU_MIPS32_3_5_FEATURES
1472         select EVA
1473         default y
1474         help
1475           Choose this option if you want to enable the Enhanced Virtual
1476           Addressing (EVA) on your MIPS32 core (such as proAptiv).
1477           One of its primary benefits is an increase in the maximum size
1478           of lowmem (up to 3GB). If unsure, say 'N' here.
1479
1480 if CPU_LOONGSON2F
1481 config CPU_NOP_WORKAROUNDS
1482         bool
1483
1484 config CPU_JUMP_WORKAROUNDS
1485         bool
1486
1487 config CPU_LOONGSON2F_WORKAROUNDS
1488         bool "Loongson 2F Workarounds"
1489         default y
1490         select CPU_NOP_WORKAROUNDS
1491         select CPU_JUMP_WORKAROUNDS
1492         help
1493           Loongson 2F01 / 2F02 processors have the NOP & JUMP issues which
1494           require workarounds.  Without workarounds the system may hang
1495           unexpectedly.  For more information please refer to the gas
1496           -mfix-loongson2f-nop and -mfix-loongson2f-jump options.
1497
1498           Loongson 2F03 and later have fixed these issues and no workarounds
1499           are needed.  The workarounds have no significant side effect on them
1500           but may decrease the performance of the system so this option should
1501           be disabled unless the kernel is intended to be run on 2F01 or 2F02
1502           systems.
1503
1504           If unsure, please say Y.
1505 endif # CPU_LOONGSON2F
1506
1507 config SYS_SUPPORTS_ZBOOT
1508         bool
1509         select HAVE_KERNEL_GZIP
1510         select HAVE_KERNEL_BZIP2
1511         select HAVE_KERNEL_LZ4
1512         select HAVE_KERNEL_LZMA
1513         select HAVE_KERNEL_LZO
1514         select HAVE_KERNEL_XZ
1515
1516 config SYS_SUPPORTS_ZBOOT_UART16550
1517         bool
1518         select SYS_SUPPORTS_ZBOOT
1519
1520 config CPU_LOONGSON2
1521         bool
1522         select CPU_SUPPORTS_32BIT_KERNEL
1523         select CPU_SUPPORTS_64BIT_KERNEL
1524         select CPU_SUPPORTS_HIGHMEM
1525         select CPU_SUPPORTS_HUGEPAGES
1526
1527 config CPU_LOONGSON1
1528         bool
1529         select CPU_MIPS32
1530         select CPU_MIPSR2
1531         select CPU_HAS_PREFETCH
1532         select CPU_SUPPORTS_32BIT_KERNEL
1533         select CPU_SUPPORTS_HIGHMEM
1534
1535 config CPU_BMIPS32_3300
1536         select SMP_UP if SMP
1537         bool
1538
1539 config CPU_BMIPS4350
1540         bool
1541         select SYS_SUPPORTS_SMP
1542         select SYS_SUPPORTS_HOTPLUG_CPU
1543
1544 config CPU_BMIPS4380
1545         bool
1546         select SYS_SUPPORTS_SMP
1547         select SYS_SUPPORTS_HOTPLUG_CPU
1548
1549 config CPU_BMIPS5000
1550         bool
1551         select MIPS_CPU_SCACHE
1552         select SYS_SUPPORTS_SMP
1553         select SYS_SUPPORTS_HOTPLUG_CPU
1554
1555 config SYS_HAS_CPU_LOONGSON2E
1556         bool
1557
1558 config SYS_HAS_CPU_LOONGSON2F
1559         bool
1560         select CPU_SUPPORTS_CPUFREQ
1561         select CPU_SUPPORTS_ADDRWINCFG if 64BIT
1562         select CPU_SUPPORTS_UNCACHED_ACCELERATED
1563
1564 config SYS_HAS_CPU_LOONGSON1B
1565         bool
1566
1567 config SYS_HAS_CPU_MIPS32_R1
1568         bool
1569
1570 config SYS_HAS_CPU_MIPS32_R2
1571         bool
1572
1573 config SYS_HAS_CPU_MIPS32_R3_5
1574         bool
1575
1576 config SYS_HAS_CPU_MIPS64_R1
1577         bool
1578
1579 config SYS_HAS_CPU_MIPS64_R2
1580         bool
1581
1582 config SYS_HAS_CPU_R3000
1583         bool
1584
1585 config SYS_HAS_CPU_TX39XX
1586         bool
1587
1588 config SYS_HAS_CPU_VR41XX
1589         bool
1590
1591 config SYS_HAS_CPU_R4300
1592         bool
1593
1594 config SYS_HAS_CPU_R4X00
1595         bool
1596
1597 config SYS_HAS_CPU_TX49XX
1598         bool
1599
1600 config SYS_HAS_CPU_R5000
1601         bool
1602
1603 config SYS_HAS_CPU_R5432
1604         bool
1605
1606 config SYS_HAS_CPU_R5500
1607         bool
1608
1609 config SYS_HAS_CPU_R6000
1610         bool
1611
1612 config SYS_HAS_CPU_NEVADA
1613         bool
1614
1615 config SYS_HAS_CPU_R8000
1616         bool
1617
1618 config SYS_HAS_CPU_R10000
1619         bool
1620
1621 config SYS_HAS_CPU_RM7000
1622         bool
1623
1624 config SYS_HAS_CPU_SB1
1625         bool
1626
1627 config SYS_HAS_CPU_CAVIUM_OCTEON
1628         bool
1629
1630 config SYS_HAS_CPU_BMIPS
1631         bool
1632
1633 config SYS_HAS_CPU_BMIPS32_3300
1634         bool
1635         select SYS_HAS_CPU_BMIPS
1636
1637 config SYS_HAS_CPU_BMIPS4350
1638         bool
1639         select SYS_HAS_CPU_BMIPS
1640
1641 config SYS_HAS_CPU_BMIPS4380
1642         bool
1643         select SYS_HAS_CPU_BMIPS
1644
1645 config SYS_HAS_CPU_BMIPS5000
1646         bool
1647         select SYS_HAS_CPU_BMIPS
1648
1649 config SYS_HAS_CPU_XLR
1650         bool
1651
1652 config SYS_HAS_CPU_XLP
1653         bool
1654
1655 #
1656 # CPU may reorder R->R, R->W, W->R, W->W
1657 # Reordering beyond LL and SC is handled in WEAK_REORDERING_BEYOND_LLSC
1658 #
1659 config WEAK_ORDERING
1660         bool
1661
1662 #
1663 # CPU may reorder reads and writes beyond LL/SC
1664 # CPU may reorder R->LL, R->LL, W->LL, W->LL, R->SC, R->SC, W->SC, W->SC
1665 #
1666 config WEAK_REORDERING_BEYOND_LLSC
1667         bool
1668 endmenu
1669
1670 #
1671 # These two indicate any level of the MIPS32 and MIPS64 architecture
1672 #
1673 config CPU_MIPS32
1674         bool
1675         default y if CPU_MIPS32_R1 || CPU_MIPS32_R2
1676
1677 config CPU_MIPS64
1678         bool
1679         default y if CPU_MIPS64_R1 || CPU_MIPS64_R2
1680
1681 #
1682 # These two indicate the revision of the architecture, either Release 1 or Release 2
1683 #
1684 config CPU_MIPSR1
1685         bool
1686         default y if CPU_MIPS32_R1 || CPU_MIPS64_R1
1687
1688 config CPU_MIPSR2
1689         bool
1690         default y if CPU_MIPS32_R2 || CPU_MIPS64_R2 || CPU_CAVIUM_OCTEON
1691
1692 config EVA
1693         bool
1694
1695 config SYS_SUPPORTS_32BIT_KERNEL
1696         bool
1697 config SYS_SUPPORTS_64BIT_KERNEL
1698         bool
1699 config CPU_SUPPORTS_32BIT_KERNEL
1700         bool
1701 config CPU_SUPPORTS_64BIT_KERNEL
1702         bool
1703 config CPU_SUPPORTS_CPUFREQ
1704         bool
1705 config CPU_SUPPORTS_ADDRWINCFG
1706         bool
1707 config CPU_SUPPORTS_HUGEPAGES
1708         bool
1709 config CPU_SUPPORTS_UNCACHED_ACCELERATED
1710         bool
1711 config MIPS_PGD_C0_CONTEXT
1712         bool
1713         default y if 64BIT && CPU_MIPSR2 && !CPU_XLP
1714
1715 #
1716 # Set to y for ptrace access to watch registers.
1717 #
1718 config HARDWARE_WATCHPOINTS
1719        bool
1720        default y if CPU_MIPSR1 || CPU_MIPSR2
1721
1722 menu "Kernel type"
1723
1724 choice
1725         prompt "Kernel code model"
1726         help
1727           You should only select this option if you have a workload that
1728           actually benefits from 64-bit processing or if your machine has
1729           large memory.  You will only be presented a single option in this
1730           menu if your system does not support both 32-bit and 64-bit kernels.
1731
1732 config 32BIT
1733         bool "32-bit kernel"
1734         depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL
1735         select TRAD_SIGNALS
1736         help
1737           Select this option if you want to build a 32-bit kernel.
1738 config 64BIT
1739         bool "64-bit kernel"
1740         depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL
1741         help
1742           Select this option if you want to build a 64-bit kernel.
1743
1744 endchoice
1745
1746 config KVM_GUEST
1747         bool "KVM Guest Kernel"
1748         depends on BROKEN_ON_SMP
1749         help
1750           Select this option if building a guest kernel for KVM (Trap & Emulate) mode
1751
1752 config KVM_HOST_FREQ
1753         int "KVM Host Processor Frequency (MHz)"
1754         depends on KVM_GUEST
1755         default 500
1756         help
1757           Select this option if building a guest kernel for KVM to skip
1758           RTC emulation when determining guest CPU Frequency.  Instead, the guest
1759           processor frequency is automatically derived from the host frequency.
1760
1761 choice
1762         prompt "Kernel page size"
1763         default PAGE_SIZE_4KB
1764
1765 config PAGE_SIZE_4KB
1766         bool "4kB"
1767         depends on !CPU_LOONGSON2
1768         help
1769          This option select the standard 4kB Linux page size.  On some
1770          R3000-family processors this is the only available page size.  Using
1771          4kB page size will minimize memory consumption and is therefore
1772          recommended for low memory systems.
1773
1774 config PAGE_SIZE_8KB
1775         bool "8kB"
1776         depends on CPU_R8000 || CPU_CAVIUM_OCTEON
1777         help
1778           Using 8kB page size will result in higher performance kernel at
1779           the price of higher memory consumption.  This option is available
1780           only on R8000 and cnMIPS processors.  Note that you will need a
1781           suitable Linux distribution to support this.
1782
1783 config PAGE_SIZE_16KB
1784         bool "16kB"
1785         depends on !CPU_R3000 && !CPU_TX39XX
1786         help
1787           Using 16kB page size will result in higher performance kernel at
1788           the price of higher memory consumption.  This option is available on
1789           all non-R3000 family processors.  Note that you will need a suitable
1790           Linux distribution to support this.
1791
1792 config PAGE_SIZE_32KB
1793         bool "32kB"
1794         depends on CPU_CAVIUM_OCTEON
1795         help
1796           Using 32kB page size will result in higher performance kernel at
1797           the price of higher memory consumption.  This option is available
1798           only on cnMIPS cores.  Note that you will need a suitable Linux
1799           distribution to support this.
1800
1801 config PAGE_SIZE_64KB
1802         bool "64kB"
1803         depends on !CPU_R3000 && !CPU_TX39XX
1804         help
1805           Using 64kB page size will result in higher performance kernel at
1806           the price of higher memory consumption.  This option is available on
1807           all non-R3000 family processor.  Not that at the time of this
1808           writing this option is still high experimental.
1809
1810 endchoice
1811
1812 config FORCE_MAX_ZONEORDER
1813         int "Maximum zone order"
1814         range 14 64 if HUGETLB_PAGE && PAGE_SIZE_64KB
1815         default "14" if HUGETLB_PAGE && PAGE_SIZE_64KB
1816         range 13 64 if HUGETLB_PAGE && PAGE_SIZE_32KB
1817         default "13" if HUGETLB_PAGE && PAGE_SIZE_32KB
1818         range 12 64 if HUGETLB_PAGE && PAGE_SIZE_16KB
1819         default "12" if HUGETLB_PAGE && PAGE_SIZE_16KB
1820         range 11 64
1821         default "11"
1822         help
1823           The kernel memory allocator divides physically contiguous memory
1824           blocks into "zones", where each zone is a power of two number of
1825           pages.  This option selects the largest power of two that the kernel
1826           keeps in the memory allocator.  If you need to allocate very large
1827           blocks of physically contiguous memory, then you may need to
1828           increase this value.
1829
1830           This config option is actually maximum order plus one. For example,
1831           a value of 11 means that the largest free memory block is 2^10 pages.
1832
1833           The page size is not necessarily 4KB.  Keep this in mind
1834           when choosing a value for this option.
1835
1836 config CEVT_GIC
1837         bool "Use GIC global counter for clock events"
1838         depends on IRQ_GIC && !(MIPS_SEAD3 || MIPS_MT_SMTC)
1839         help
1840           Use the GIC global counter for the clock events. The R4K clock
1841           event driver is always present, so if the platform ends up not
1842           detecting a GIC, it will fall back to the R4K timer for the
1843           generation of clock events.
1844
1845 config BOARD_SCACHE
1846         bool
1847
1848 config IP22_CPU_SCACHE
1849         bool
1850         select BOARD_SCACHE
1851
1852 #
1853 # Support for a MIPS32 / MIPS64 style S-caches
1854 #
1855 config MIPS_CPU_SCACHE
1856         bool
1857         select BOARD_SCACHE
1858         select MIPS_L1_CACHE_SHIFT_6
1859
1860 config R5000_CPU_SCACHE
1861         bool
1862         select BOARD_SCACHE
1863
1864 config RM7000_CPU_SCACHE
1865         bool
1866         select BOARD_SCACHE
1867
1868 config SIBYTE_DMA_PAGEOPS
1869         bool "Use DMA to clear/copy pages"
1870         depends on CPU_SB1
1871         help
1872           Instead of using the CPU to zero and copy pages, use a Data Mover
1873           channel.  These DMA channels are otherwise unused by the standard
1874           SiByte Linux port.  Seems to give a small performance benefit.
1875
1876 config CPU_HAS_PREFETCH
1877         bool
1878
1879 config CPU_GENERIC_DUMP_TLB
1880         bool
1881         default y if !(CPU_R3000 || CPU_R6000 || CPU_R8000 || CPU_TX39XX)
1882
1883 config CPU_R4K_FPU
1884         bool
1885         default y if !(CPU_R3000 || CPU_R6000 || CPU_TX39XX || CPU_CAVIUM_OCTEON)
1886
1887 config CPU_R4K_CACHE_TLB
1888         bool
1889         default y if !(CPU_R3000 || CPU_R8000 || CPU_SB1 || CPU_TX39XX || CPU_CAVIUM_OCTEON)
1890
1891 choice
1892         prompt "MIPS MT options"
1893
1894 config MIPS_MT_DISABLED
1895         bool "Disable multithreading support"
1896         help
1897           Use this option if your platform does not support the MT ASE
1898           which is hardware multithreading support. On systems without
1899           an MT-enabled processor, this will be the only option that is
1900           available in this menu.
1901
1902 config MIPS_MT_SMP
1903         bool "Use 1 TC on each available VPE for SMP"
1904         depends on SYS_SUPPORTS_MULTITHREADING
1905         select CPU_MIPSR2_IRQ_VI
1906         select CPU_MIPSR2_IRQ_EI
1907         select SYNC_R4K
1908         select MIPS_MT
1909         select SMP
1910         select SMP_UP
1911         select SYS_SUPPORTS_SMP
1912         select SYS_SUPPORTS_SCHED_SMT
1913         select MIPS_PERF_SHARED_TC_COUNTERS
1914         help
1915           This is a kernel model which is known as SMVP. This is supported
1916           on cores with the MT ASE and uses the available VPEs to implement
1917           virtual processors which supports SMP. This is equivalent to the
1918           Intel Hyperthreading feature. For further information go to
1919           <http://www.imgtec.com/mips/mips-multithreading.asp>.
1920
1921 config MIPS_MT_SMTC
1922         bool "Use all TCs on all VPEs for SMP (DEPRECATED)"
1923         depends on CPU_MIPS32_R2
1924         depends on SYS_SUPPORTS_MULTITHREADING
1925         depends on !MIPS_CPS
1926         select CPU_MIPSR2_IRQ_VI
1927         select CPU_MIPSR2_IRQ_EI
1928         select MIPS_MT
1929         select SMP
1930         select SMP_UP
1931         select SYS_SUPPORTS_SMP
1932         select NR_CPUS_DEFAULT_8
1933         help
1934           This is a kernel model which is known as SMTC. This is
1935           supported on cores with the MT ASE and presents all TCs
1936           available on all VPEs to support SMP. For further
1937           information see <http://www.linux-mips.org/wiki/34K#SMTC>.
1938
1939 endchoice
1940
1941 config MIPS_MT
1942         bool
1943
1944 config SCHED_SMT
1945         bool "SMT (multithreading) scheduler support"
1946         depends on SYS_SUPPORTS_SCHED_SMT
1947         default n
1948         help
1949           SMT scheduler support improves the CPU scheduler's decision making
1950           when dealing with MIPS MT enabled cores at a cost of slightly
1951           increased overhead in some places. If unsure say N here.
1952
1953 config SYS_SUPPORTS_SCHED_SMT
1954         bool
1955
1956 config SYS_SUPPORTS_MULTITHREADING
1957         bool
1958
1959 config MIPS_MT_FPAFF
1960         bool "Dynamic FPU affinity for FP-intensive threads"
1961         default y
1962         depends on MIPS_MT_SMP || MIPS_MT_SMTC
1963
1964 config MIPS_VPE_LOADER
1965         bool "VPE loader support."
1966         depends on SYS_SUPPORTS_MULTITHREADING && MODULES
1967         select CPU_MIPSR2_IRQ_VI
1968         select CPU_MIPSR2_IRQ_EI
1969         select MIPS_MT
1970         help
1971           Includes a loader for loading an elf relocatable object
1972           onto another VPE and running it.
1973
1974 config MIPS_VPE_LOADER_CMP
1975         bool
1976         default "y"
1977         depends on MIPS_VPE_LOADER && MIPS_CMP
1978
1979 config MIPS_VPE_LOADER_MT
1980         bool
1981         default "y"
1982         depends on MIPS_VPE_LOADER && !MIPS_CMP
1983
1984 config MIPS_MT_SMTC_IM_BACKSTOP
1985         bool "Use per-TC register bits as backstop for inhibited IM bits"
1986         depends on MIPS_MT_SMTC
1987         default n
1988         help
1989           To support multiple TC microthreads acting as "CPUs" within
1990           a VPE, VPE-wide interrupt mask bits must be specially manipulated
1991           during interrupt handling. To support legacy drivers and interrupt
1992           controller management code, SMTC has a "backstop" to track and
1993           if necessary restore the interrupt mask. This has some performance
1994           impact on interrupt service overhead.
1995
1996 config MIPS_MT_SMTC_IRQAFF
1997         bool "Support IRQ affinity API"
1998         depends on MIPS_MT_SMTC
1999         default n
2000         help
2001           Enables SMP IRQ affinity API (/proc/irq/*/smp_affinity, etc.)
2002           for SMTC Linux kernel. Requires platform support, of which
2003           an example can be found in the MIPS kernel i8259 and Malta
2004           platform code.  Adds some overhead to interrupt dispatch, and
2005           should be used only if you know what you are doing.
2006
2007 config MIPS_VPE_LOADER_TOM
2008         bool "Load VPE program into memory hidden from linux"
2009         depends on MIPS_VPE_LOADER
2010         default y
2011         help
2012           The loader can use memory that is present but has been hidden from
2013           Linux using the kernel command line option "mem=xxMB". It's up to
2014           you to ensure the amount you put in the option and the space your
2015           program requires is less or equal to the amount physically present.
2016
2017 config MIPS_VPE_APSP_API
2018         bool "Enable support for AP/SP API (RTLX)"
2019         depends on MIPS_VPE_LOADER
2020         help
2021
2022 config MIPS_VPE_APSP_API_CMP
2023         bool
2024         default "y"
2025         depends on MIPS_VPE_APSP_API && MIPS_CMP
2026
2027 config MIPS_VPE_APSP_API_MT
2028         bool
2029         default "y"
2030         depends on MIPS_VPE_APSP_API && !MIPS_CMP
2031
2032 config MIPS_CMP
2033         bool "MIPS CMP framework support (DEPRECATED)"
2034         depends on SYS_SUPPORTS_MIPS_CMP && !MIPS_MT_SMTC
2035         select MIPS_GIC_IPI
2036         select SYNC_R4K
2037         select WEAK_ORDERING
2038         default n
2039         help
2040           Select this if you are using a bootloader which implements the "CMP
2041           framework" protocol (ie. YAMON) and want your kernel to make use of
2042           its ability to start secondary CPUs.
2043
2044           Unless you have a specific need, you should use CONFIG_MIPS_CPS
2045           instead of this.
2046
2047 config MIPS_CPS
2048         bool "MIPS Coherent Processing System support"
2049         depends on SYS_SUPPORTS_MIPS_CPS
2050         select MIPS_CM
2051         select MIPS_CPC
2052         select MIPS_GIC_IPI
2053         select SMP
2054         select SYNC_R4K if (CEVT_R4K || CSRC_R4K)
2055         select SYS_SUPPORTS_SMP
2056         select WEAK_ORDERING
2057         help
2058           Select this if you wish to run an SMP kernel across multiple cores
2059           within a MIPS Coherent Processing System. When this option is
2060           enabled the kernel will probe for other cores and boot them with
2061           no external assistance. It is safe to enable this when hardware
2062           support is unavailable.
2063
2064 config MIPS_GIC_IPI
2065         bool
2066
2067 config MIPS_CM
2068         bool
2069
2070 config MIPS_CPC
2071         bool
2072
2073 config SB1_PASS_1_WORKAROUNDS
2074         bool
2075         depends on CPU_SB1_PASS_1
2076         default y
2077
2078 config SB1_PASS_2_WORKAROUNDS
2079         bool
2080         depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2)
2081         default y
2082
2083 config SB1_PASS_2_1_WORKAROUNDS
2084         bool
2085         depends on CPU_SB1 && CPU_SB1_PASS_2
2086         default y
2087
2088
2089 config 64BIT_PHYS_ADDR
2090         bool
2091
2092 config ARCH_PHYS_ADDR_T_64BIT
2093        def_bool 64BIT_PHYS_ADDR
2094
2095 config CPU_HAS_SMARTMIPS
2096         depends on SYS_SUPPORTS_SMARTMIPS
2097         bool "Support for the SmartMIPS ASE"
2098         help
2099           SmartMIPS is a extension of the MIPS32 architecture aimed at
2100           increased security at both hardware and software level for
2101           smartcards.  Enabling this option will allow proper use of the
2102           SmartMIPS instructions by Linux applications.  However a kernel with
2103           this option will not work on a MIPS core without SmartMIPS core.  If
2104           you don't know you probably don't have SmartMIPS and should say N
2105           here.
2106
2107 config CPU_MICROMIPS
2108         depends on SYS_SUPPORTS_MICROMIPS
2109         bool "Build kernel using microMIPS ISA"
2110         help
2111           When this option is enabled the kernel will be built using the
2112           microMIPS ISA
2113
2114 config CPU_HAS_MSA
2115         bool "Support for the MIPS SIMD Architecture"
2116         depends on CPU_SUPPORTS_MSA
2117         default y
2118         help
2119           MIPS SIMD Architecture (MSA) introduces 128 bit wide vector registers
2120           and a set of SIMD instructions to operate on them. When this option
2121           is enabled the kernel will support allocating & switching MSA
2122           vector register contexts. If you know that your kernel will only be
2123           running on CPUs which do not support MSA or that your userland will
2124           not be making use of it then you may wish to say N here to reduce
2125           the size & complexity of your kernel.
2126
2127           If unsure, say Y.
2128
2129 config CPU_HAS_WB
2130         bool
2131
2132 config XKS01
2133         bool
2134
2135 #
2136 # Vectored interrupt mode is an R2 feature
2137 #
2138 config CPU_MIPSR2_IRQ_VI
2139         bool
2140
2141 #
2142 # Extended interrupt mode is an R2 feature
2143 #
2144 config CPU_MIPSR2_IRQ_EI
2145         bool
2146
2147 config CPU_HAS_SYNC
2148         bool
2149         depends on !CPU_R3000
2150         default y
2151
2152 #
2153 # CPU non-features
2154 #
2155 config CPU_DADDI_WORKAROUNDS
2156         bool
2157
2158 config CPU_R4000_WORKAROUNDS
2159         bool
2160         select CPU_R4400_WORKAROUNDS
2161
2162 config CPU_R4400_WORKAROUNDS
2163         bool
2164
2165 #
2166 # - Highmem only makes sense for the 32-bit kernel.
2167 # - The current highmem code will only work properly on physically indexed
2168 #   caches such as R3000, SB1, R7000 or those that look like they're virtually
2169 #   indexed such as R4000/R4400 SC and MC versions or R10000.  So for the
2170 #   moment we protect the user and offer the highmem option only on machines
2171 #   where it's known to be safe.  This will not offer highmem on a few systems
2172 #   such as MIPS32 and MIPS64 CPUs which may have virtual and physically
2173 #   indexed CPUs but we're playing safe.
2174 # - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we
2175 #   know they might have memory configurations that could make use of highmem
2176 #   support.
2177 #
2178 config HIGHMEM
2179         bool "High Memory Support"
2180         depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM && !CPU_MIPS32_3_5_EVA
2181
2182 config CPU_SUPPORTS_HIGHMEM
2183         bool
2184
2185 config SYS_SUPPORTS_HIGHMEM
2186         bool
2187
2188 config SYS_SUPPORTS_SMARTMIPS
2189         bool
2190
2191 config SYS_SUPPORTS_MICROMIPS
2192         bool
2193
2194 config CPU_SUPPORTS_MSA
2195         bool
2196
2197 config ARCH_FLATMEM_ENABLE
2198         def_bool y
2199         depends on !NUMA && !CPU_LOONGSON2
2200
2201 config ARCH_DISCONTIGMEM_ENABLE
2202         bool
2203         default y if SGI_IP27
2204         help
2205           Say Y to support efficient handling of discontiguous physical memory,
2206           for architectures which are either NUMA (Non-Uniform Memory Access)
2207           or have huge holes in the physical address space for other reasons.
2208           See <file:Documentation/vm/numa> for more.
2209
2210 config ARCH_SPARSEMEM_ENABLE
2211         bool
2212         select SPARSEMEM_STATIC
2213
2214 config NUMA
2215         bool "NUMA Support"
2216         depends on SYS_SUPPORTS_NUMA
2217         help
2218           Say Y to compile the kernel to support NUMA (Non-Uniform Memory
2219           Access).  This option improves performance on systems with more
2220           than two nodes; on two node systems it is generally better to
2221           leave it disabled; on single node systems disable this option
2222           disabled.
2223
2224 config SYS_SUPPORTS_NUMA
2225         bool
2226
2227 config NODES_SHIFT
2228         int
2229         default "6"
2230         depends on NEED_MULTIPLE_NODES
2231
2232 config HW_PERF_EVENTS
2233         bool "Enable hardware performance counter support for perf events"
2234         depends on PERF_EVENTS && !MIPS_MT_SMTC && OPROFILE=n && (CPU_MIPS32 || CPU_MIPS64 || CPU_R10000 || CPU_SB1 || CPU_CAVIUM_OCTEON || CPU_XLP)
2235         default y
2236         help
2237           Enable hardware performance counter support for perf events. If
2238           disabled, perf events will use software events only.
2239
2240 source "mm/Kconfig"
2241
2242 config SMP
2243         bool "Multi-Processing support"
2244         depends on SYS_SUPPORTS_SMP
2245         help
2246           This enables support for systems with more than one CPU. If you have
2247           a system with only one CPU, say N. If you have a system with more
2248           than one CPU, say Y.
2249
2250           If you say N here, the kernel will run on uni- and multiprocessor
2251           machines, but will use only one CPU of a multiprocessor machine. If
2252           you say Y here, the kernel will run on many, but not all,
2253           uniprocessor machines. On a uniprocessor machine, the kernel
2254           will run faster if you say N here.
2255
2256           People using multiprocessor machines who say Y here should also say
2257           Y to "Enhanced Real Time Clock Support", below.
2258
2259           See also the SMP-HOWTO available at
2260           <http://www.tldp.org/docs.html#howto>.
2261
2262           If you don't know what to do here, say N.
2263
2264 config SMP_UP
2265         bool
2266
2267 config SYS_SUPPORTS_MIPS_CMP
2268         bool
2269
2270 config SYS_SUPPORTS_MIPS_CPS
2271         bool
2272
2273 config SYS_SUPPORTS_SMP
2274         bool
2275
2276 config NR_CPUS_DEFAULT_4
2277         bool
2278
2279 config NR_CPUS_DEFAULT_8
2280         bool
2281
2282 config NR_CPUS_DEFAULT_16
2283         bool
2284
2285 config NR_CPUS_DEFAULT_32
2286         bool
2287
2288 config NR_CPUS_DEFAULT_64
2289         bool
2290
2291 config NR_CPUS
2292         int "Maximum number of CPUs (2-64)"
2293         range 2 64
2294         depends on SMP
2295         default "4" if NR_CPUS_DEFAULT_4
2296         default "8" if NR_CPUS_DEFAULT_8
2297         default "16" if NR_CPUS_DEFAULT_16
2298         default "32" if NR_CPUS_DEFAULT_32
2299         default "64" if NR_CPUS_DEFAULT_64
2300         help
2301           This allows you to specify the maximum number of CPUs which this
2302           kernel will support.  The maximum supported value is 32 for 32-bit
2303           kernel and 64 for 64-bit kernels; the minimum value which makes
2304           sense is 1 for Qemu (useful only for kernel debugging purposes)
2305           and 2 for all others.
2306
2307           This is purely to save memory - each supported CPU adds
2308           approximately eight kilobytes to the kernel image.  For best
2309           performance should round up your number of processors to the next
2310           power of two.
2311
2312 config MIPS_PERF_SHARED_TC_COUNTERS
2313         bool
2314
2315 #
2316 # Timer Interrupt Frequency Configuration
2317 #
2318
2319 choice
2320         prompt "Timer frequency"
2321         default HZ_250
2322         help
2323          Allows the configuration of the timer frequency.
2324
2325         config HZ_48
2326                 bool "48 HZ" if SYS_SUPPORTS_48HZ || SYS_SUPPORTS_ARBIT_HZ
2327
2328         config HZ_100
2329                 bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ
2330
2331         config HZ_128
2332                 bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ
2333
2334         config HZ_250
2335                 bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ
2336
2337         config HZ_256
2338                 bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ
2339
2340         config HZ_1000
2341                 bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ
2342
2343         config HZ_1024
2344                 bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ
2345
2346 endchoice
2347
2348 config SYS_SUPPORTS_48HZ
2349         bool
2350
2351 config SYS_SUPPORTS_100HZ
2352         bool
2353
2354 config SYS_SUPPORTS_128HZ
2355         bool
2356
2357 config SYS_SUPPORTS_250HZ
2358         bool
2359
2360 config SYS_SUPPORTS_256HZ
2361         bool
2362
2363 config SYS_SUPPORTS_1000HZ
2364         bool
2365
2366 config SYS_SUPPORTS_1024HZ
2367         bool
2368
2369 config SYS_SUPPORTS_ARBIT_HZ
2370         bool
2371         default y if !SYS_SUPPORTS_48HZ && !SYS_SUPPORTS_100HZ && \
2372                      !SYS_SUPPORTS_128HZ && !SYS_SUPPORTS_250HZ && \
2373                      !SYS_SUPPORTS_256HZ && !SYS_SUPPORTS_1000HZ && \
2374                      !SYS_SUPPORTS_1024HZ
2375
2376 config HZ
2377         int
2378         default 48 if HZ_48
2379         default 100 if HZ_100
2380         default 128 if HZ_128
2381         default 250 if HZ_250
2382         default 256 if HZ_256
2383         default 1000 if HZ_1000
2384         default 1024 if HZ_1024
2385
2386 source "kernel/Kconfig.preempt"
2387
2388 config KEXEC
2389         bool "Kexec system call"
2390         help
2391           kexec is a system call that implements the ability to shutdown your
2392           current kernel, and to start another kernel.  It is like a reboot
2393           but it is independent of the system firmware.   And like a reboot
2394           you can start any kernel with it, not just Linux.
2395
2396           The name comes from the similarity to the exec system call.
2397
2398           It is an ongoing process to be certain the hardware in a machine
2399           is properly shutdown, so do not be surprised if this code does not
2400           initially work for you.  As of this writing the exact hardware
2401           interface is strongly in flux, so no good recommendation can be
2402           made.
2403
2404 config CRASH_DUMP
2405           bool "Kernel crash dumps"
2406           help
2407           Generate crash dump after being started by kexec.
2408           This should be normally only set in special crash dump kernels
2409           which are loaded in the main kernel with kexec-tools into
2410           a specially reserved region and then later executed after
2411           a crash by kdump/kexec. The crash dump kernel must be compiled
2412           to a memory address not used by the main kernel or firmware using
2413           PHYSICAL_START.
2414
2415 config PHYSICAL_START
2416           hex "Physical address where the kernel is loaded"
2417           default "0xffffffff84000000" if 64BIT
2418           default "0x84000000" if 32BIT
2419           depends on CRASH_DUMP
2420           help
2421           This gives the CKSEG0 or KSEG0 address where the kernel is loaded.
2422           If you plan to use kernel for capturing the crash dump change
2423           this value to start of the reserved region (the "X" value as
2424           specified in the "crashkernel=YM@XM" command line boot parameter
2425           passed to the panic-ed kernel).
2426
2427 config SECCOMP
2428         bool "Enable seccomp to safely compute untrusted bytecode"
2429         depends on PROC_FS
2430         default y
2431         help
2432           This kernel feature is useful for number crunching applications
2433           that may need to compute untrusted bytecode during their
2434           execution. By using pipes or other transports made available to
2435           the process as file descriptors supporting the read/write
2436           syscalls, it's possible to isolate those applications in
2437           their own address space using seccomp. Once seccomp is
2438           enabled via /proc/<pid>/seccomp, it cannot be disabled
2439           and the task is only allowed to execute a few safe syscalls
2440           defined by each seccomp mode.
2441
2442           If unsure, say Y. Only embedded should say N here.
2443
2444 config MIPS_O32_FP64_SUPPORT
2445         bool "Support for O32 binaries using 64-bit FP"
2446         depends on 32BIT || MIPS32_O32
2447         default y
2448         help
2449           When this is enabled, the kernel will support use of 64-bit floating
2450           point registers with binaries using the O32 ABI along with the
2451           EF_MIPS_FP64 ELF header flag (typically built with -mfp64). On
2452           32-bit MIPS systems this support is at the cost of increasing the
2453           size and complexity of the compiled FPU emulator. Thus if you are
2454           running a MIPS32 system and know that none of your userland binaries
2455           will require 64-bit floating point, you may wish to reduce the size
2456           of your kernel & potentially improve FP emulation performance by
2457           saying N here.
2458
2459           If unsure, say Y.
2460
2461 config USE_OF
2462         bool
2463         select OF
2464         select OF_EARLY_FLATTREE
2465         select IRQ_DOMAIN
2466
2467 endmenu
2468
2469 config LOCKDEP_SUPPORT
2470         bool
2471         default y
2472
2473 config STACKTRACE_SUPPORT
2474         bool
2475         default y
2476
2477 source "init/Kconfig"
2478
2479 source "kernel/Kconfig.freezer"
2480
2481 menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
2482
2483 config HW_HAS_EISA
2484         bool
2485 config HW_HAS_PCI
2486         bool
2487
2488 config PCI
2489         bool "Support for PCI controller"
2490         depends on HW_HAS_PCI
2491         select PCI_DOMAINS
2492         select NO_GENERIC_PCI_IOPORT_MAP
2493         help
2494           Find out whether you have a PCI motherboard. PCI is the name of a
2495           bus system, i.e. the way the CPU talks to the other stuff inside
2496           your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
2497           say Y, otherwise N.
2498
2499 config PCI_DOMAINS
2500         bool
2501
2502 source "drivers/pci/Kconfig"
2503
2504 source "drivers/pci/pcie/Kconfig"
2505
2506 #
2507 # ISA support is now enabled via select.  Too many systems still have the one
2508 # or other ISA chip on the board that users don't know about so don't expect
2509 # users to choose the right thing ...
2510 #
2511 config ISA
2512         bool
2513
2514 config EISA
2515         bool "EISA support"
2516         depends on HW_HAS_EISA
2517         select ISA
2518         select GENERIC_ISA_DMA
2519         ---help---
2520           The Extended Industry Standard Architecture (EISA) bus was
2521           developed as an open alternative to the IBM MicroChannel bus.
2522
2523           The EISA bus provided some of the features of the IBM MicroChannel
2524           bus while maintaining backward compatibility with cards made for
2525           the older ISA bus.  The EISA bus saw limited use between 1988 and
2526           1995 when it was made obsolete by the PCI bus.
2527
2528           Say Y here if you are building a kernel for an EISA-based machine.
2529
2530           Otherwise, say N.
2531
2532 source "drivers/eisa/Kconfig"
2533
2534 config TC
2535         bool "TURBOchannel support"
2536         depends on MACH_DECSTATION
2537         help
2538           TURBOchannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
2539           processors.  TURBOchannel programming specifications are available
2540           at:
2541           <ftp://ftp.hp.com/pub/alphaserver/archive/triadd/>
2542           and:
2543           <http://www.computer-refuge.org/classiccmp/ftp.digital.com/pub/DEC/TriAdd/>
2544           Linux driver support status is documented at:
2545           <http://www.linux-mips.org/wiki/DECstation>
2546
2547 config MMU
2548         bool
2549         default y
2550
2551 config I8253
2552         bool
2553         select CLKSRC_I8253
2554         select CLKEVT_I8253
2555         select MIPS_EXTERNAL_TIMER
2556
2557 config ZONE_DMA
2558         bool
2559
2560 config ZONE_DMA32
2561         bool
2562
2563 source "drivers/pcmcia/Kconfig"
2564
2565 source "drivers/pci/hotplug/Kconfig"
2566
2567 config RAPIDIO
2568         tristate "RapidIO support"
2569         depends on PCI
2570         default n
2571         help
2572           If you say Y here, the kernel will include drivers and
2573           infrastructure code to support RapidIO interconnect devices.
2574
2575 source "drivers/rapidio/Kconfig"
2576
2577 endmenu
2578
2579 menu "Executable file formats"
2580
2581 source "fs/Kconfig.binfmt"
2582
2583 config TRAD_SIGNALS
2584         bool
2585
2586 config MIPS32_COMPAT
2587         bool "Kernel support for Linux/MIPS 32-bit binary compatibility"
2588         depends on 64BIT
2589         help
2590           Select this option if you want Linux/MIPS 32-bit binary
2591           compatibility. Since all software available for Linux/MIPS is
2592           currently 32-bit you should say Y here.
2593
2594 config COMPAT
2595         bool
2596         depends on MIPS32_COMPAT
2597         select ARCH_WANT_OLD_COMPAT_IPC
2598         default y
2599
2600 config SYSVIPC_COMPAT
2601         bool
2602         depends on COMPAT && SYSVIPC
2603         default y
2604
2605 config MIPS32_O32
2606         bool "Kernel support for o32 binaries"
2607         depends on MIPS32_COMPAT
2608         help
2609           Select this option if you want to run o32 binaries.  These are pure
2610           32-bit binaries as used by the 32-bit Linux/MIPS port.  Most of
2611           existing binaries are in this format.
2612
2613           If unsure, say Y.
2614
2615 config MIPS32_N32
2616         bool "Kernel support for n32 binaries"
2617         depends on MIPS32_COMPAT
2618         help
2619           Select this option if you want to run n32 binaries.  These are
2620           64-bit binaries using 32-bit quantities for addressing and certain
2621           data that would normally be 64-bit.  They are used in special
2622           cases.
2623
2624           If unsure, say N.
2625
2626 config BINFMT_ELF32
2627         bool
2628         default y if MIPS32_O32 || MIPS32_N32
2629
2630 endmenu
2631
2632 menu "Power management options"
2633
2634 config ARCH_HIBERNATION_POSSIBLE
2635         def_bool y
2636         depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
2637
2638 config ARCH_SUSPEND_POSSIBLE
2639         def_bool y
2640         depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
2641
2642 source "kernel/power/Kconfig"
2643
2644 endmenu
2645
2646 config MIPS_EXTERNAL_TIMER
2647         bool
2648
2649 if CPU_SUPPORTS_CPUFREQ && MIPS_EXTERNAL_TIMER
2650 menu "CPU Power Management"
2651 source "drivers/cpufreq/Kconfig"
2652 endmenu
2653 endif
2654
2655 source "net/Kconfig"
2656
2657 source "drivers/Kconfig"
2658
2659 source "drivers/firmware/Kconfig"
2660
2661 source "fs/Kconfig"
2662
2663 source "arch/mips/Kconfig.debug"
2664
2665 source "security/Kconfig"
2666
2667 source "crypto/Kconfig"
2668
2669 source "lib/Kconfig"
2670
2671 source "arch/mips/kvm/Kconfig"