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