source: src/linux/universal/linux-4.9/arch/mips/Kconfig @ 31884

Last change on this file since 31884 was 31884, checked in by brainslayer, 6 weeks ago

update kernels

File size: 86.4 KB
Line 
1config MIPS
2        bool
3        default y
4        select ARCH_SUPPORTS_UPROBES
5        select ARCH_MIGHT_HAVE_PC_PARPORT
6        select ARCH_MIGHT_HAVE_PC_SERIO
7        select ARCH_USE_CMPXCHG_LOCKREF if 64BIT
8        select ARCH_USE_BUILTIN_BSWAP
9        select HAVE_CONTEXT_TRACKING
10        select HAVE_GENERIC_DMA_COHERENT
11        select HAVE_IDE
12        select HAVE_IRQ_EXIT_ON_IRQ_STACK
13        select HAVE_OPROFILE
14        select HAVE_PERF_EVENTS
15        select PERF_USE_VMALLOC
16        select HAVE_ARCH_KGDB
17        select HAVE_ARCH_SECCOMP_FILTER
18        select HAVE_ARCH_TRACEHOOK
19        select HAVE_CBPF_JIT if !CPU_MICROMIPS
20        select HAVE_FUNCTION_TRACER
21        select HAVE_DYNAMIC_FTRACE
22        select HAVE_FTRACE_MCOUNT_RECORD
23        select HAVE_C_RECORDMCOUNT
24        select HAVE_FUNCTION_GRAPH_TRACER
25        select HAVE_KPROBES
26        select HAVE_KRETPROBES
27        select HAVE_SYSCALL_TRACEPOINTS
28        select HAVE_DEBUG_KMEMLEAK
29        select HAVE_SYSCALL_TRACEPOINTS
30        select ARCH_HAS_ELF_RANDOMIZE
31        select HAVE_ARCH_TRANSPARENT_HUGEPAGE if CPU_SUPPORTS_HUGEPAGES && 64BIT
32        select RTC_LIB if !MACH_LOONGSON64
33        select GENERIC_ATOMIC64 if !64BIT
34        select HAVE_DMA_CONTIGUOUS
35        select HAVE_DMA_API_DEBUG
36        select GENERIC_IRQ_PROBE
37        select GENERIC_IRQ_SHOW
38        select GENERIC_PCI_IOMAP
39        select HAVE_ARCH_JUMP_LABEL
40        select ARCH_WANT_IPC_PARSE_VERSION
41        select IRQ_FORCED_THREADING
42        select HAVE_MEMBLOCK
43        select HAVE_MEMBLOCK_NODE_MAP
44        select ARCH_DISCARD_MEMBLOCK
45        select GENERIC_SMP_IDLE_THREAD
46        select BUILDTIME_EXTABLE_SORT
47        select GENERIC_CLOCKEVENTS
48        select GENERIC_SCHED_CLOCK if !CAVIUM_OCTEON_SOC
49        select GENERIC_CMOS_UPDATE
50        select HAVE_MOD_ARCH_SPECIFIC
51        select HAVE_NMI
52        select VIRT_TO_BUS
53        select MODULES_USE_ELF_REL if MODULES
54        select MODULES_USE_ELF_RELA if MODULES && 64BIT
55        select CLONE_BACKWARDS
56        select HAVE_DEBUG_STACKOVERFLOW
57        select HAVE_CC_STACKPROTECTOR
58        select CPU_PM if CPU_IDLE
59        select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
60        select ARCH_BINFMT_ELF_STATE
61        select SYSCTL_EXCEPTION_TRACE
62        select HAVE_VIRT_CPU_ACCOUNTING_GEN
63        select HAVE_IRQ_TIME_ACCOUNTING
64        select GENERIC_TIME_VSYSCALL
65        select ARCH_CLOCKSOURCE_DATA
66        select HANDLE_DOMAIN_IRQ
67        select HAVE_EXIT_THREAD
68        select HAVE_REGS_AND_STACK_ACCESS_API
69        select HAVE_ARCH_HARDENED_USERCOPY
70
71menu "Machine selection"
72
73config RALINK_DEVICE
74        bool
75config RALINK_RT2880_MP
76        bool
77config RALINK_RT2880_SHUTTLE
78        bool
79config RALINK_RT3052_MP2
80        bool
81config RALINK_RT3352_MP
82        bool
83config RALINK_RT5350_MP
84        bool
85config RALINK_RT3883_MP
86        bool
87config RALINK_RT3052
88        bool
89config RALINK_RT2880
90        bool
91
92choice
93        prompt "System type"
94        default SGI_IP22
95
96config MIPS_GENERIC
97        bool "Generic board-agnostic MIPS kernel"
98        select BOOT_RAW
99        select BUILTIN_DTB
100        select CEVT_R4K
101        select CLKSRC_MIPS_GIC
102        select COMMON_CLK
103        select CPU_MIPSR2_IRQ_VI
104        select CPU_MIPSR2_IRQ_EI
105        select CSRC_R4K
106        select DMA_PERDEV_COHERENT
107        select HW_HAS_PCI
108        select IRQ_MIPS_CPU
109        select LIBFDT
110        select MIPS_CPU_SCACHE
111        select MIPS_GIC
112        select MIPS_L1_CACHE_SHIFT_7
113        select NO_EXCEPT_FILL
114        select PCI_DRIVERS_GENERIC
115        select PINCTRL
116        select SMP_UP if SMP
117        select SYS_HAS_CPU_MIPS32_R1
118        select SYS_HAS_CPU_MIPS32_R2
119        select SYS_HAS_CPU_MIPS32_R6
120        select SYS_HAS_CPU_MIPS64_R1
121        select SYS_HAS_CPU_MIPS64_R2
122        select SYS_HAS_CPU_MIPS64_R6
123        select SYS_SUPPORTS_32BIT_KERNEL
124        select SYS_SUPPORTS_64BIT_KERNEL
125        select SYS_SUPPORTS_BIG_ENDIAN
126        select SYS_SUPPORTS_HIGHMEM
127        select SYS_SUPPORTS_LITTLE_ENDIAN
128        select SYS_SUPPORTS_MICROMIPS
129        select SYS_SUPPORTS_MIPS_CPS
130        select SYS_SUPPORTS_MIPS16
131        select SYS_SUPPORTS_MULTITHREADING
132        select SYS_SUPPORTS_RELOCATABLE
133        select SYS_SUPPORTS_SMARTMIPS
134        select USB_EHCI_BIG_ENDIAN_DESC if BIG_ENDIAN
135        select USB_EHCI_BIG_ENDIAN_MMIO if BIG_ENDIAN
136        select USB_OHCI_BIG_ENDIAN_DESC if BIG_ENDIAN
137        select USB_OHCI_BIG_ENDIAN_MMIO if BIG_ENDIAN
138        select USB_UHCI_BIG_ENDIAN_DESC if BIG_ENDIAN
139        select USB_UHCI_BIG_ENDIAN_MMIO if BIG_ENDIAN
140        select USE_OF
141        help
142          Select this to build a kernel which aims to support multiple boards,
143          generally using a flattened device tree passed from the bootloader
144          using the boot protocol defined in the UHI (Unified Hosting
145          Interface) specification.
146
147config MIPS_BRCM
148        bool "Broadcom MIPS based platforms"
149        select SYS_SUPPORTS_LITTLE_ENDIAN
150        select DMA_NONCOHERENT
151        select HW_HAS_PCI
152        select IRQ_CPU
153        select CEVT_R4K
154        select CSRC_R4K
155        select IRQ_MIPS_CPU
156        select SYS_SUPPORTS_32BIT_KERNEL
157        select SYS_SUPPORTS_KGDB
158        select SYS_HAS_CPU_MIPS32_R1
159        select SYS_HAS_CPU_MIPS32_R2
160        select ARCH_SELECT_MEMORY_MODEL
161        select CPU_SUPPORTS_HIGHMEM
162        select SYS_SUPPORTS_HIGHMEM
163        select EMBEDDED
164        select BOOT_RAW
165        select NO_EXCEPT_FILL
166        select CFE
167
168
169config ADM5120
170        bool "Infineon/ADMtek ADM5120 SoC based machines"
171        select BOOT_RAW
172        select NO_EXCEPT_FILL
173        select CEVT_R4K
174        select CSRC_R4K
175        select SYS_HAS_CPU_MIPS32_R1   
176select SYS_HAS_EARLY_PRINTK
177        select DMA_NONCOHERENT
178        select IRQ_CPU
179        select SYS_SUPPORTS_LITTLE_ENDIAN
180        select SYS_SUPPORTS_BIG_ENDIAN
181        select SYS_SUPPORTS_32BIT_KERNEL
182        select ARCH_REQUIRE_GPIOLIB
183        select SWAP_IO_SPACE if CPU_BIG_ENDIAN
184        select MIPS_MACHINE
185        select HAVE_CLK
186
187config MIPS_ALCHEMY
188        bool "Alchemy processor based machines"
189        select ARCH_PHYS_ADDR_T_64BIT
190        select CEVT_R4K
191        select CSRC_R4K
192        select IRQ_MIPS_CPU
193        select DMA_MAYBE_COHERENT       # Au1000,1500,1100 aren't, rest is
194        select SYS_HAS_CPU_MIPS32_R1
195        select SYS_SUPPORTS_32BIT_KERNEL
196        select SYS_SUPPORTS_APM_EMULATION
197        select GPIOLIB
198        select SYS_SUPPORTS_ZBOOT
199        select COMMON_CLK
200
201config AR7
202        bool "Texas Instruments AR7"
203        select BOOT_ELF32
204        select DMA_NONCOHERENT
205        select CEVT_R4K
206        select CSRC_R4K
207        select IRQ_MIPS_CPU
208        select NO_EXCEPT_FILL
209        select SWAP_IO_SPACE
210        select SYS_HAS_CPU_MIPS32_R1
211        select SYS_HAS_EARLY_PRINTK
212        select SYS_SUPPORTS_32BIT_KERNEL
213        select SYS_SUPPORTS_LITTLE_ENDIAN
214        select SYS_SUPPORTS_MIPS16
215        select SYS_SUPPORTS_ZBOOT_UART16550
216        select GPIOLIB
217        select VLYNQ
218        select HAVE_CLK
219        help
220          Support for the Texas Instruments AR7 System-on-a-Chip
221          family: TNETD7100, 7200 and 7300.
222
223config ATH25
224        bool "Atheros AR231x/AR531x SoC support"
225        select CEVT_R4K
226        select CSRC_R4K
227        select DMA_NONCOHERENT
228        select IRQ_MIPS_CPU
229        select IRQ_DOMAIN
230        select SYS_HAS_CPU_MIPS32_R1
231        select SYS_SUPPORTS_BIG_ENDIAN
232        select SYS_SUPPORTS_32BIT_KERNEL
233        select SYS_HAS_EARLY_PRINTK
234        help
235          Support for Atheros AR231x and Atheros AR531x based boards
236
237config ATHEROS
238        bool "Atheros SoC support"
239        select DMA_NONCOHERENT
240        select BOOT_RAW
241        select CEVT_R4K
242        select CSRC_R4K
243        select IRQ_CPU
244        select SYS_HAS_CPU_MIPS32_R1
245        select HAVE_STD_PC_SERIAL_PORT
246        select SYS_HAS_EARLY_PRINTK
247        select GENERIC_GPIO
248        select SYS_SUPPORTS_BIG_ENDIAN
249        select SYS_SUPPORTS_32BIT_KERNEL
250        select IRQ_MIPS_CPU
251
252
253
254config ATH79
255        bool "Atheros AR71XX/AR724X/AR913X based boards"
256        select ARCH_HAS_RESET_CONTROLLER
257        select BOOT_RAW
258        select CEVT_R4K
259        select CSRC_R4K
260        select DMA_NONCOHERENT
261        select GPIOLIB
262        select HAVE_CLK
263        select COMMON_CLK
264        select CLKDEV_LOOKUP
265        select IRQ_MIPS_CPU
266        select MIPS_MACHINE
267        select SYS_HAS_CPU_MIPS32_R2
268        select SYS_HAS_EARLY_PRINTK
269        select SYS_SUPPORTS_32BIT_KERNEL
270        select SYS_SUPPORTS_BIG_ENDIAN
271        select SYS_SUPPORTS_MIPS16
272        select SYS_SUPPORTS_ZBOOT_UART_PROM
273        select USE_OF
274        help
275          Support for the Atheros AR71XX/AR724X/AR913X SoCs.
276
277config BMIPS_GENERIC
278        bool "Broadcom Generic BMIPS kernel"
279        select BOOT_RAW
280        select NO_EXCEPT_FILL
281        select USE_OF
282        select CEVT_R4K
283        select CSRC_R4K
284        select SYNC_R4K
285        select COMMON_CLK
286        select BCM6345_L1_IRQ
287        select BCM7038_L1_IRQ
288        select BCM7120_L2_IRQ
289        select BRCMSTB_L2_IRQ
290        select IRQ_MIPS_CPU
291        select DMA_NONCOHERENT
292        select SYS_SUPPORTS_32BIT_KERNEL
293        select SYS_SUPPORTS_LITTLE_ENDIAN
294        select SYS_SUPPORTS_BIG_ENDIAN
295        select SYS_SUPPORTS_HIGHMEM
296        select SYS_HAS_CPU_BMIPS32_3300
297        select SYS_HAS_CPU_BMIPS4350
298        select SYS_HAS_CPU_BMIPS4380
299        select SYS_HAS_CPU_BMIPS5000
300        select SWAP_IO_SPACE
301        select USB_EHCI_BIG_ENDIAN_DESC if CPU_BIG_ENDIAN
302        select USB_EHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN
303        select USB_OHCI_BIG_ENDIAN_DESC if CPU_BIG_ENDIAN
304        select USB_OHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN
305        help
306          Build a generic DT-based kernel image that boots on select
307          BCM33xx cable modem chips, BCM63xx DSL chips, and BCM7xxx set-top
308          box chips.  Note that CONFIG_CPU_BIG_ENDIAN/CONFIG_CPU_LITTLE_ENDIAN
309          must be set appropriately for your board.
310
311config MIPS_RALINK
312        bool "Ralink MIPS SoC based boards"
313
314config BCM63XX
315        bool "Broadcom BCM63XX based boards"
316        select BOOT_RAW
317        select CEVT_R4K
318        select CSRC_R4K
319        select SYNC_R4K
320        select DMA_NONCOHERENT
321        select IRQ_MIPS_CPU
322        select SYS_SUPPORTS_32BIT_KERNEL
323        select SYS_SUPPORTS_BIG_ENDIAN
324        select SYS_HAS_EARLY_PRINTK
325        select SWAP_IO_SPACE
326        select GPIOLIB
327        select HAVE_CLK
328        select MIPS_L1_CACHE_SHIFT_4
329        help
330         Support for BCM63XX based boards
331
332config MIPS_COBALT
333        bool "Cobalt Server"
334        select CEVT_R4K
335        select CSRC_R4K
336        select CEVT_GT641XX
337        select DMA_NONCOHERENT
338        select HW_HAS_PCI
339        select I8253
340        select I8259
341        select IRQ_MIPS_CPU
342        select IRQ_GT641XX
343        select PCI_GT64XXX_PCI0
344        select PCI
345        select SYS_HAS_CPU_NEVADA
346        select SYS_HAS_EARLY_PRINTK
347        select SYS_SUPPORTS_32BIT_KERNEL
348        select SYS_SUPPORTS_64BIT_KERNEL
349        select SYS_SUPPORTS_LITTLE_ENDIAN
350        select USE_GENERIC_EARLY_PRINTK_8250
351
352config MACH_DECSTATION
353        bool "DECstations"
354        select BOOT_ELF32
355        select CEVT_DS1287
356        select CEVT_R4K if CPU_R4X00
357        select CSRC_IOASIC
358        select CSRC_R4K if CPU_R4X00
359        select CPU_DADDI_WORKAROUNDS if 64BIT
360        select CPU_R4000_WORKAROUNDS if 64BIT
361        select CPU_R4400_WORKAROUNDS if 64BIT
362        select DMA_NONCOHERENT
363        select NO_IOPORT_MAP
364        select IRQ_MIPS_CPU
365        select SYS_HAS_CPU_R3000
366        select SYS_HAS_CPU_R4X00
367        select SYS_SUPPORTS_32BIT_KERNEL
368        select SYS_SUPPORTS_64BIT_KERNEL
369        select SYS_SUPPORTS_LITTLE_ENDIAN
370        select SYS_SUPPORTS_128HZ
371        select SYS_SUPPORTS_256HZ
372        select SYS_SUPPORTS_1024HZ
373        select MIPS_L1_CACHE_SHIFT_4
374        help
375          This enables support for DEC's MIPS based workstations.  For details
376          see the Linux/MIPS FAQ on <http://www.linux-mips.org/> and the
377          DECstation porting pages on <http://decstation.unix-ag.org/>.
378
379          If you have one of the following DECstation Models you definitely
380          want to choose R4xx0 for the CPU Type:
381
382                DECstation 5000/50
383                DECstation 5000/150
384                DECstation 5000/260
385                DECsystem 5900/260
386
387          otherwise choose R3000.
388
389config MACH_JAZZ
390        bool "Jazz family of machines"
391        select FW_ARC
392        select FW_ARC32
393        select ARCH_MAY_HAVE_PC_FDC
394        select CEVT_R4K
395        select CSRC_R4K
396        select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
397        select GENERIC_ISA_DMA
398        select HAVE_PCSPKR_PLATFORM
399        select IRQ_MIPS_CPU
400        select I8253
401        select I8259
402        select ISA
403        select SYS_HAS_CPU_R4X00
404        select SYS_SUPPORTS_32BIT_KERNEL
405        select SYS_SUPPORTS_64BIT_KERNEL
406        select SYS_SUPPORTS_100HZ
407        help
408         This a family of machines based on the MIPS R4030 chipset which was
409         used by several vendors to build RISC/os and Windows NT workstations.
410         Members include the Acer PICA, MIPS Magnum 4000, MIPS Millennium and
411         Olivetti M700-10 workstations.
412
413config MACH_INGENIC
414        bool "Ingenic SoC based machines"
415        select SYS_SUPPORTS_32BIT_KERNEL
416        select SYS_SUPPORTS_LITTLE_ENDIAN
417        select SYS_SUPPORTS_ZBOOT_UART16550
418        select DMA_NONCOHERENT
419        select IRQ_MIPS_CPU
420        select GPIOLIB
421        select COMMON_CLK
422        select GENERIC_IRQ_CHIP
423        select BUILTIN_DTB
424        select USE_OF
425        select LIBFDT
426
427config LANTIQ
428        bool "Lantiq based platforms"
429        select DMA_NONCOHERENT
430        select IRQ_MIPS_CPU
431        select CEVT_R4K
432        select CSRC_R4K
433        select SYS_HAS_CPU_MIPS32_R1
434        select SYS_HAS_CPU_MIPS32_R2
435        select SYS_SUPPORTS_BIG_ENDIAN
436        select SYS_SUPPORTS_32BIT_KERNEL
437        select SYS_SUPPORTS_MIPS16
438        select SYS_SUPPORTS_MULTITHREADING
439        select SYS_HAS_EARLY_PRINTK
440        select GPIOLIB
441        select SWAP_IO_SPACE
442        select BOOT_RAW
443        select CLKDEV_LOOKUP
444        select USE_OF
445        select PINCTRL
446        select PINCTRL_LANTIQ
447        select ARCH_HAS_RESET_CONTROLLER
448        select RESET_CONTROLLER
449
450config LASAT
451        bool "LASAT Networks platforms"
452        select CEVT_R4K
453        select CRC32
454        select CSRC_R4K
455        select DMA_NONCOHERENT
456        select SYS_HAS_EARLY_PRINTK
457        select HW_HAS_PCI
458        select IRQ_MIPS_CPU
459        select PCI_GT64XXX_PCI0
460        select MIPS_NILE4
461        select R5000_CPU_SCACHE
462        select SYS_HAS_CPU_R5000
463        select SYS_SUPPORTS_32BIT_KERNEL
464        select SYS_SUPPORTS_64BIT_KERNEL if BROKEN
465        select SYS_SUPPORTS_LITTLE_ENDIAN
466
467config MACH_LOONGSON32
468        bool "Loongson-1 family of machines"
469        select SYS_SUPPORTS_ZBOOT
470        help
471          This enables support for the Loongson-1 family of machines.
472
473          Loongson-1 is a family of 32-bit MIPS-compatible SoCs developed by
474          the Institute of Computing Technology (ICT), Chinese Academy of
475          Sciences (CAS).
476
477config MACH_LOONGSON64
478        bool "Loongson-2/3 family of machines"
479        select SYS_SUPPORTS_ZBOOT
480        select SYS_SUPPORTS_HIGHMEM
481        help
482          This enables the support of Loongson-2/3 family of machines.
483
484          Loongson-2 is a family of single-core CPUs and Loongson-3 is a
485          family of multi-core CPUs. They are both 64-bit general-purpose
486          MIPS-compatible CPUs. Loongson-2/3 are developed by the Institute
487          of Computing Technology (ICT), Chinese Academy of Sciences (CAS)
488          in the People's Republic of China. The chief architect is Professor
489          Weiwu Hu.
490
491config MACH_PISTACHIO
492        bool "IMG Pistachio SoC based boards"
493        select BOOT_ELF32
494        select BOOT_RAW
495        select CEVT_R4K
496        select CLKSRC_MIPS_GIC
497        select COMMON_CLK
498        select CSRC_R4K
499        select DMA_NONCOHERENT
500        select GPIOLIB
501        select IRQ_MIPS_CPU
502        select LIBFDT
503        select MFD_SYSCON
504        select MIPS_CPU_SCACHE
505        select MIPS_GIC
506        select PINCTRL
507        select REGULATOR
508        select SYS_HAS_CPU_MIPS32_R2
509        select SYS_SUPPORTS_32BIT_KERNEL
510        select SYS_SUPPORTS_LITTLE_ENDIAN
511        select SYS_SUPPORTS_MIPS_CPS
512        select SYS_SUPPORTS_MULTITHREADING
513        select SYS_SUPPORTS_RELOCATABLE
514        select SYS_SUPPORTS_ZBOOT
515        select SYS_HAS_EARLY_PRINTK
516        select USE_GENERIC_EARLY_PRINTK_8250
517        select USE_OF
518        help
519          This enables support for the IMG Pistachio SoC platform.
520
521config MACH_XILFPGA
522        bool "MIPSfpga Xilinx based boards"
523        select BOOT_ELF32
524        select BOOT_RAW
525        select BUILTIN_DTB
526        select CEVT_R4K
527        select COMMON_CLK
528        select CSRC_R4K
529        select GPIOLIB
530        select IRQ_MIPS_CPU
531        select LIBFDT
532        select MIPS_CPU_SCACHE
533        select SYS_HAS_EARLY_PRINTK
534        select SYS_HAS_CPU_MIPS32_R2
535        select SYS_SUPPORTS_32BIT_KERNEL
536        select SYS_SUPPORTS_LITTLE_ENDIAN
537        select SYS_SUPPORTS_ZBOOT_UART16550
538        select USE_OF
539        select USE_GENERIC_EARLY_PRINTK_8250
540        help
541          This enables support for the IMG University Program MIPSfpga platform.
542
543config MIPS_MALTA
544        bool "MIPS Malta board"
545        select ARCH_MAY_HAVE_PC_FDC
546        select BOOT_ELF32
547        select BOOT_RAW
548        select BUILTIN_DTB
549        select CEVT_R4K
550        select CSRC_R4K
551        select CLKSRC_MIPS_GIC
552        select COMMON_CLK
553        select DMA_MAYBE_COHERENT
554        select GENERIC_ISA_DMA
555        select HAVE_PCSPKR_PLATFORM
556        select IRQ_MIPS_CPU
557        select MIPS_GIC
558        select HW_HAS_PCI
559        select I8253
560        select I8259
561        select MIPS_BONITO64
562        select MIPS_CPU_SCACHE
563        select MIPS_L1_CACHE_SHIFT_6
564        select PCI_GT64XXX_PCI0
565        select MIPS_MSC
566        select SMP_UP if SMP
567        select SWAP_IO_SPACE
568        select SYS_HAS_CPU_MIPS32_R1
569        select SYS_HAS_CPU_MIPS32_R2
570        select SYS_HAS_CPU_MIPS32_R3_5
571        select SYS_HAS_CPU_MIPS32_R5
572        select SYS_HAS_CPU_MIPS32_R6
573        select SYS_HAS_CPU_MIPS64_R1
574        select SYS_HAS_CPU_MIPS64_R2
575        select SYS_HAS_CPU_MIPS64_R6
576        select SYS_HAS_CPU_NEVADA
577        select SYS_HAS_CPU_RM7000
578        select SYS_SUPPORTS_32BIT_KERNEL
579        select SYS_SUPPORTS_64BIT_KERNEL
580        select SYS_SUPPORTS_BIG_ENDIAN
581        select SYS_SUPPORTS_HIGHMEM
582        select SYS_SUPPORTS_LITTLE_ENDIAN
583        select SYS_SUPPORTS_MICROMIPS
584        select SYS_SUPPORTS_MIPS_CMP
585        select SYS_SUPPORTS_MIPS_CPS
586        select SYS_SUPPORTS_MIPS16
587        select SYS_SUPPORTS_MULTITHREADING
588        select SYS_SUPPORTS_SMARTMIPS
589        select SYS_SUPPORTS_ZBOOT
590        select SYS_SUPPORTS_RELOCATABLE
591        select USE_OF
592        select LIBFDT
593        select ZONE_DMA32 if 64BIT
594        select BUILTIN_DTB
595        select LIBFDT
596        help
597          This enables support for the MIPS Technologies Malta evaluation
598          board.
599
600config MACH_PIC32
601        bool "Microchip PIC32 Family"
602        help
603          This enables support for the Microchip PIC32 family of platforms.
604
605          Microchip PIC32 is a family of general-purpose 32 bit MIPS core
606          microcontrollers.
607
608config NEC_MARKEINS
609        bool "NEC EMMA2RH Mark-eins board"
610        select SOC_EMMA2RH
611        select HW_HAS_PCI
612        help
613          This enables support for the NEC Electronics Mark-eins boards.
614
615config MACH_VR41XX
616        bool "NEC VR4100 series based machines"
617        select CEVT_R4K
618        select CSRC_R4K
619        select SYS_HAS_CPU_VR41XX
620        select SYS_SUPPORTS_MIPS16
621        select GPIOLIB
622
623config NXP_STB220
624        bool "NXP STB220 board"
625        select SOC_PNX833X
626        help
627         Support for NXP Semiconductors STB220 Development Board.
628
629config NXP_STB225
630        bool "NXP 225 board"
631        select SOC_PNX833X
632        select SOC_PNX8335
633        help
634         Support for NXP Semiconductors STB225 Development Board.
635
636config PMC_MSP
637        bool "PMC-Sierra MSP chipsets"
638        select CEVT_R4K
639        select CSRC_R4K
640        select DMA_NONCOHERENT
641        select SWAP_IO_SPACE
642        select NO_EXCEPT_FILL
643        select BOOT_RAW
644        select SYS_HAS_CPU_MIPS32_R1
645        select SYS_HAS_CPU_MIPS32_R2
646        select SYS_SUPPORTS_32BIT_KERNEL
647        select SYS_SUPPORTS_BIG_ENDIAN
648        select SYS_SUPPORTS_MIPS16
649        select IRQ_MIPS_CPU
650        select SERIAL_8250
651        select SERIAL_8250_CONSOLE
652        select USB_EHCI_BIG_ENDIAN_MMIO
653        select USB_EHCI_BIG_ENDIAN_DESC
654        help
655          This adds support for the PMC-Sierra family of Multi-Service
656          Processor System-On-A-Chips.  These parts include a number
657          of integrated peripherals, interfaces and DSPs in addition to
658          a variety of MIPS cores.
659
660config RALINK_OPENWRT
661        bool "Ralink based machines"
662        select CEVT_R4K
663        select CSRC_R4K
664        select IRQ_MIPS_CPU
665        select BOOT_RAW
666        select DMA_NONCOHERENT
667        select IRQ_MIPS_CPU
668        select USE_OF
669        select SYS_HAS_CPU_MIPS32_R1
670        select SYS_HAS_CPU_MIPS32_R2
671        select SYS_SUPPORTS_32BIT_KERNEL
672        select SYS_SUPPORTS_LITTLE_ENDIAN
673        select SYS_SUPPORTS_MIPS16
674        select SYS_HAS_EARLY_PRINTK
675        select CLKDEV_LOOKUP
676        select ARCH_REQUIRE_GPIOLIB
677        select PINCTRL
678        select PINCTRL_RT2880
679
680config SGI_IP22
681        bool "SGI IP22 (Indy/Indigo2)"
682        select FW_ARC
683        select FW_ARC32
684        select BOOT_ELF32
685        select CEVT_R4K
686        select CSRC_R4K
687        select DEFAULT_SGI_PARTITION
688        select DMA_NONCOHERENT
689        select HW_HAS_EISA
690        select I8253
691        select I8259
692        select IP22_CPU_SCACHE
693        select IRQ_MIPS_CPU
694        select GENERIC_ISA_DMA_SUPPORT_BROKEN
695        select SGI_HAS_I8042
696        select SGI_HAS_INDYDOG
697        select SGI_HAS_HAL2
698        select SGI_HAS_SEEQ
699        select SGI_HAS_WD93
700        select SGI_HAS_ZILOG
701        select SWAP_IO_SPACE
702        select SYS_HAS_CPU_R4X00
703        select SYS_HAS_CPU_R5000
704        #
705        # Disable EARLY_PRINTK for now since it leads to overwritten prom
706        # memory during early boot on some machines.
707        #
708        # See http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20091119164009.GA15038%40deprecation.cyrius.com
709        # for a more details discussion
710        #
711        # select SYS_HAS_EARLY_PRINTK
712        select SYS_SUPPORTS_32BIT_KERNEL
713        select SYS_SUPPORTS_64BIT_KERNEL
714        select SYS_SUPPORTS_BIG_ENDIAN
715        select MIPS_L1_CACHE_SHIFT_7
716        help
717          This are the SGI Indy, Challenge S and Indigo2, as well as certain
718          OEM variants like the Tandem CMN B006S. To compile a Linux kernel
719          that runs on these, say Y here.
720
721config SGI_IP27
722        bool "SGI IP27 (Origin200/2000)"
723        select FW_ARC
724        select FW_ARC64
725        select BOOT_ELF64
726        select DEFAULT_SGI_PARTITION
727        select DMA_COHERENT
728        select SYS_HAS_EARLY_PRINTK
729        select HW_HAS_PCI
730        select NR_CPUS_DEFAULT_64
731        select SYS_HAS_CPU_R10000
732        select SYS_SUPPORTS_64BIT_KERNEL
733        select SYS_SUPPORTS_BIG_ENDIAN
734        select SYS_SUPPORTS_NUMA
735        select SYS_SUPPORTS_SMP
736        select MIPS_L1_CACHE_SHIFT_7
737        help
738          This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics
739          workstations.  To compile a Linux kernel that runs on these, say Y
740          here.
741
742config SGI_IP28
743        bool "SGI IP28 (Indigo2 R10k)"
744        select FW_ARC
745        select FW_ARC64
746        select BOOT_ELF64
747        select CEVT_R4K
748        select CSRC_R4K
749        select DEFAULT_SGI_PARTITION
750        select DMA_NONCOHERENT
751        select GENERIC_ISA_DMA_SUPPORT_BROKEN
752        select IRQ_MIPS_CPU
753        select HW_HAS_EISA
754        select I8253
755        select I8259
756        select SGI_HAS_I8042
757        select SGI_HAS_INDYDOG
758        select SGI_HAS_HAL2
759        select SGI_HAS_SEEQ
760        select SGI_HAS_WD93
761        select SGI_HAS_ZILOG
762        select SWAP_IO_SPACE
763        select SYS_HAS_CPU_R10000
764        #
765        # Disable EARLY_PRINTK for now since it leads to overwritten prom
766        # memory during early boot on some machines.
767        #
768        # See http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20091119164009.GA15038%40deprecation.cyrius.com
769        # for a more details discussion
770        #
771        # select SYS_HAS_EARLY_PRINTK
772        select SYS_SUPPORTS_64BIT_KERNEL
773        select SYS_SUPPORTS_BIG_ENDIAN
774        select MIPS_L1_CACHE_SHIFT_7
775      help
776        This is the SGI Indigo2 with R10000 processor.  To compile a Linux
777        kernel that runs on these, say Y here.
778
779config SGI_IP32
780        bool "SGI IP32 (O2)"
781        select FW_ARC
782        select FW_ARC32
783        select BOOT_ELF32
784        select CEVT_R4K
785        select CSRC_R4K
786        select DMA_NONCOHERENT
787        select HW_HAS_PCI
788        select IRQ_MIPS_CPU
789        select R5000_CPU_SCACHE
790        select RM7000_CPU_SCACHE
791        select SYS_HAS_CPU_R5000
792        select SYS_HAS_CPU_R10000 if BROKEN
793        select SYS_HAS_CPU_RM7000
794        select SYS_HAS_CPU_NEVADA
795        select SYS_SUPPORTS_64BIT_KERNEL
796        select SYS_SUPPORTS_BIG_ENDIAN
797        help
798          If you want this kernel to run on SGI O2 workstation, say Y here.
799
800config SIBYTE_CRHINE
801        bool "Sibyte BCM91120C-CRhine"
802        select BOOT_ELF32
803        select DMA_COHERENT
804        select SIBYTE_BCM1120
805        select SWAP_IO_SPACE
806        select SYS_HAS_CPU_SB1
807        select SYS_SUPPORTS_BIG_ENDIAN
808        select SYS_SUPPORTS_LITTLE_ENDIAN
809
810config SIBYTE_CARMEL
811        bool "Sibyte BCM91120x-Carmel"
812        select BOOT_ELF32
813        select DMA_COHERENT
814        select SIBYTE_BCM1120
815        select SWAP_IO_SPACE
816        select SYS_HAS_CPU_SB1
817        select SYS_SUPPORTS_BIG_ENDIAN
818        select SYS_SUPPORTS_LITTLE_ENDIAN
819
820config SIBYTE_CRHONE
821        bool "Sibyte BCM91125C-CRhone"
822        select BOOT_ELF32
823        select DMA_COHERENT
824        select SIBYTE_BCM1125
825        select SWAP_IO_SPACE
826        select SYS_HAS_CPU_SB1
827        select SYS_SUPPORTS_BIG_ENDIAN
828        select SYS_SUPPORTS_HIGHMEM
829        select SYS_SUPPORTS_LITTLE_ENDIAN
830
831config SIBYTE_RHONE
832        bool "Sibyte BCM91125E-Rhone"
833        select BOOT_ELF32
834        select DMA_COHERENT
835        select SIBYTE_BCM1125H
836        select SWAP_IO_SPACE
837        select SYS_HAS_CPU_SB1
838        select SYS_SUPPORTS_BIG_ENDIAN
839        select SYS_SUPPORTS_LITTLE_ENDIAN
840
841config SIBYTE_SWARM
842        bool "Sibyte BCM91250A-SWARM"
843        select BOOT_ELF32
844        select DMA_COHERENT
845        select HAVE_PATA_PLATFORM
846        select SIBYTE_SB1250
847        select SWAP_IO_SPACE
848        select SYS_HAS_CPU_SB1
849        select SYS_SUPPORTS_BIG_ENDIAN
850        select SYS_SUPPORTS_HIGHMEM
851        select SYS_SUPPORTS_LITTLE_ENDIAN
852        select ZONE_DMA32 if 64BIT
853
854config SIBYTE_LITTLESUR
855        bool "Sibyte BCM91250C2-LittleSur"
856        select BOOT_ELF32
857        select DMA_COHERENT
858        select HAVE_PATA_PLATFORM
859        select SIBYTE_SB1250
860        select SWAP_IO_SPACE
861        select SYS_HAS_CPU_SB1
862        select SYS_SUPPORTS_BIG_ENDIAN
863        select SYS_SUPPORTS_HIGHMEM
864        select SYS_SUPPORTS_LITTLE_ENDIAN
865
866config SIBYTE_SENTOSA
867        bool "Sibyte BCM91250E-Sentosa"
868        select BOOT_ELF32
869        select DMA_COHERENT
870        select SIBYTE_SB1250
871        select SWAP_IO_SPACE
872        select SYS_HAS_CPU_SB1
873        select SYS_SUPPORTS_BIG_ENDIAN
874        select SYS_SUPPORTS_LITTLE_ENDIAN
875
876config SIBYTE_BIGSUR
877        bool "Sibyte BCM91480B-BigSur"
878        select BOOT_ELF32
879        select DMA_COHERENT
880        select NR_CPUS_DEFAULT_4
881        select SIBYTE_BCM1x80
882        select SWAP_IO_SPACE
883        select SYS_HAS_CPU_SB1
884        select SYS_SUPPORTS_BIG_ENDIAN
885        select SYS_SUPPORTS_HIGHMEM
886        select SYS_SUPPORTS_LITTLE_ENDIAN
887        select ZONE_DMA32 if 64BIT
888
889config SNI_RM
890        bool "SNI RM200/300/400"
891        select FW_ARC if CPU_LITTLE_ENDIAN
892        select FW_ARC32 if CPU_LITTLE_ENDIAN
893        select FW_SNIPROM if CPU_BIG_ENDIAN
894        select ARCH_MAY_HAVE_PC_FDC
895        select BOOT_ELF32
896        select CEVT_R4K
897        select CSRC_R4K
898        select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
899        select DMA_NONCOHERENT
900        select GENERIC_ISA_DMA
901        select HAVE_PCSPKR_PLATFORM
902        select HW_HAS_EISA
903        select HW_HAS_PCI
904        select IRQ_MIPS_CPU
905        select I8253
906        select I8259
907        select ISA
908        select SWAP_IO_SPACE if CPU_BIG_ENDIAN
909        select SYS_HAS_CPU_R4X00
910        select SYS_HAS_CPU_R5000
911        select SYS_HAS_CPU_R10000
912        select R5000_CPU_SCACHE
913        select SYS_HAS_EARLY_PRINTK
914        select SYS_SUPPORTS_32BIT_KERNEL
915        select SYS_SUPPORTS_64BIT_KERNEL
916        select SYS_SUPPORTS_BIG_ENDIAN
917        select SYS_SUPPORTS_HIGHMEM
918        select SYS_SUPPORTS_LITTLE_ENDIAN
919        help
920          The SNI RM200/300/400 are MIPS-based machines manufactured by
921          Siemens Nixdorf Informationssysteme (SNI), parent company of Pyramid
922          Technology and now in turn merged with Fujitsu.  Say Y here to
923          support this machine type.
924
925config MACH_TX39XX
926        bool "Toshiba TX39 series based machines"
927
928config MACH_TX49XX
929        bool "Toshiba TX49 series based machines"
930
931config MIKROTIK_RB532
932        bool "Mikrotik RB532 boards"
933        select CEVT_R4K
934        select CSRC_R4K
935        select DMA_NONCOHERENT
936        select HW_HAS_PCI
937        select IRQ_MIPS_CPU
938        select SYS_HAS_CPU_MIPS32_R1
939        select SYS_SUPPORTS_32BIT_KERNEL
940        select IRQ_MIPS_CPU
941        select SYS_SUPPORTS_LITTLE_ENDIAN
942        select SWAP_IO_SPACE
943        select BOOT_RAW
944        select GPIOLIB
945        select MIPS_L1_CACHE_SHIFT_4
946        help
947          Support the Mikrotik(tm) RouterBoard 532 series,
948          based on the IDT RC32434 SoC.
949
950config CAVIUM_OCTEON_SOC
951        bool "Cavium Networks Octeon SoC based boards"
952        select CEVT_R4K
953        select ARCH_PHYS_ADDR_T_64BIT
954        select DMA_COHERENT
955        select SYS_SUPPORTS_64BIT_KERNEL
956        select SYS_SUPPORTS_BIG_ENDIAN
957        select EDAC_SUPPORT
958        select EDAC_ATOMIC_SCRUB
959        select SYS_SUPPORTS_LITTLE_ENDIAN
960        select SYS_SUPPORTS_HOTPLUG_CPU if CPU_BIG_ENDIAN
961        select SYS_HAS_EARLY_PRINTK
962        select SYS_HAS_CPU_CAVIUM_OCTEON
963        select HW_HAS_PCI
964        select ZONE_DMA32
965        select HOLES_IN_ZONE
966        select GPIOLIB
967        select LIBFDT
968        select USE_OF
969        select ARCH_SPARSEMEM_ENABLE
970        select SYS_SUPPORTS_SMP
971        select NR_CPUS_DEFAULT_16
972        select BUILTIN_DTB
973        select MTD_COMPLEX_MAPPINGS
974        help
975          This option supports all of the Octeon reference boards from Cavium
976          Networks. It builds a kernel that dynamically determines the Octeon
977          CPU type and supports all known board reference implementations.
978          Some of the supported boards are:
979                EBT3000
980                EBH3000
981                EBH3100
982                Thunder
983                Kodama
984                Hikari
985          Say Y here for most Octeon reference boards.
986
987config NLM_XLR_BOARD
988        bool "Netlogic XLR/XLS based systems"
989        select BOOT_ELF32
990        select NLM_COMMON
991        select SYS_HAS_CPU_XLR
992        select SYS_SUPPORTS_SMP
993        select HW_HAS_PCI
994        select SWAP_IO_SPACE
995        select SYS_SUPPORTS_32BIT_KERNEL
996        select SYS_SUPPORTS_64BIT_KERNEL
997        select ARCH_PHYS_ADDR_T_64BIT
998        select SYS_SUPPORTS_BIG_ENDIAN
999        select SYS_SUPPORTS_HIGHMEM
1000        select DMA_COHERENT
1001        select NR_CPUS_DEFAULT_32
1002        select CEVT_R4K
1003        select CSRC_R4K
1004        select IRQ_MIPS_CPU
1005        select ZONE_DMA32 if 64BIT
1006        select SYNC_R4K
1007        select SYS_HAS_EARLY_PRINTK
1008        select SYS_SUPPORTS_ZBOOT
1009        select SYS_SUPPORTS_ZBOOT_UART16550
1010        help
1011          Support for systems based on Netlogic XLR and XLS processors.
1012          Say Y here if you have a XLR or XLS based board.
1013
1014config MACH_HORNET
1015    bool "Support for Atheros HORNET based board"
1016        select DMA_NONCOHERENT
1017        select IRQ_CPU
1018        select IRQ_MIPS_CPU
1019        select CEVT_R4K
1020        select CSRC_R4K
1021        select DMA_NONCOHERENT
1022        select ARCH_REQUIRE_GPIOLIB
1023        select SYS_HAS_CPU_MIPS32_R1
1024        select SYS_HAS_CPU_MIPS32_R2
1025        select SYS_SUPPORTS_32BIT_KERNEL
1026        select SYS_SUPPORTS_BIG_ENDIAN
1027        select SYS_HAS_EARLY_PRINTK
1028
1029config HORNET_EMULATION
1030    bool "build system for Hornet emulation board?"
1031    depends on MACH_HORNET
1032
1033config WR741
1034    bool "wr741 wireless mac?"
1035    depends on MACH_HORNET
1036    default n
1037
1038
1039
1040
1041config  MACH_AR7100
1042    bool "Support for Atheros ar7100 based boards"
1043        select CEVT_R4K
1044        select CSRC_R4K
1045        select DMA_NONCOHERENT
1046        select HW_HAS_PCI
1047        select IRQ_CPU
1048        select ARCH_REQUIRE_GPIOLIB
1049        select SYS_HAS_CPU_MIPS32_R1
1050        select SYS_HAS_CPU_MIPS32_R2
1051        select SYS_SUPPORTS_MIPS16
1052        select IRQ_MIPS_CPU
1053        select SYS_SUPPORTS_32BIT_KERNEL
1054        select SYS_SUPPORTS_BIG_ENDIAN
1055        select SYS_HAS_EARLY_PRINTK
1056#       select MIPS_MACHINE
1057
1058
1059    select HW_HAS_PCI
1060
1061config AR9100
1062    bool "Support for Atheros ar9100 extenstions to ar7100"
1063    depends on MACH_AR7100
1064
1065config WR941
1066    bool "wr941 wireless mac?"
1067    depends on AR9100
1068    default n
1069
1070config WA901
1071    bool "WA901 wireless mac?"
1072    depends on AR9100
1073    default n
1074
1075config WRT160NL
1076    bool "wrt160nl wireless mac?"
1077    depends on AR9100
1078    default n
1079
1080config E2100L
1081    bool "wrt160nl wireless mac?"
1082    depends on AR9100
1083    default n
1084
1085config  AR7100_LOW
1086    bool "Support for loading AR7100 in low memory"
1087    depends on MACH_AR7100
1088
1089config AR7100_EMULATION
1090    bool "build system for AR7100 emulation board?"
1091    depends on MACH_AR7100
1092
1093
1094config  MACH_AR7240
1095    bool "Support for Atheros ar7240 based board"
1096        select CEVT_R4K
1097        select CSRC_R4K
1098        select DMA_NONCOHERENT
1099        select HW_HAS_PCI
1100        select IRQ_CPU
1101        select ARCH_REQUIRE_GPIOLIB
1102        select IRQ_MIPS_CPU
1103#       select ARCH_REQUIRE_GPIOLIB
1104        select SYS_HAS_CPU_MIPS32_R1
1105        select SYS_HAS_CPU_MIPS32_R2
1106        select SYS_SUPPORTS_MIPS16
1107        select SYS_SUPPORTS_32BIT_KERNEL
1108        select SYS_SUPPORTS_BIG_ENDIAN
1109        select SYS_HAS_EARLY_PRINTK
1110#       select MIPS_MACHINE
1111
1112config AR7240_DEFAULT_GPIO
1113    bool "use default gpios for wireless?"
1114    depends on MACH_AR7240
1115
1116config DIR615E
1117    bool "dir615e support?"
1118    depends on MACH_AR7240
1119    default n
1120
1121config WPE72
1122    bool "WPE72 support?"
1123    depends on MACH_AR7240
1124    default n
1125
1126config ALFANX
1127    bool "alfa networks n5/n2"
1128    depends on MACH_AR7240
1129    default n
1130
1131
1132config WR741
1133    bool "wr741 wireless mac?"
1134    depends on MACH_AR7240
1135    default n
1136
1137
1138config AR7240_EMULATION
1139    bool "build system for AR7240 emulation board?"
1140    depends on MACH_AR7240
1141
1142config WASP_SUPPORT
1143        bool "build system for WASP based board"
1144        depends on MACH_AR7240
1145
1146config DIR615I
1147    bool "dir615i support?"
1148    depends on WASP_SUPPORT
1149    default n
1150
1151config WR841V8
1152    bool "WR841V8 support?"
1153    depends on WASP_SUPPORT
1154    default n
1155
1156config RB2011
1157    bool "Mikrotik RB2011 support"
1158    depends on WASP_SUPPORT
1159    default n
1160
1161
1162config AR7100_USB_GPIO_LED
1163    bool "usb led support?"
1164    depends on MACH_AR7100 || MACH_AR7240
1165    default n
1166
1167
1168config AP_USB_LED_GPIO
1169    int "gpio number"
1170    depends on AR7100_USB_GPIO_LED
1171
1172
1173config NLM_XLP_BOARD
1174        bool "Netlogic XLP based systems"
1175        select BOOT_ELF32
1176        select NLM_COMMON
1177        select SYS_HAS_CPU_XLP
1178        select SYS_SUPPORTS_SMP
1179        select HW_HAS_PCI
1180        select SYS_SUPPORTS_32BIT_KERNEL
1181        select SYS_SUPPORTS_64BIT_KERNEL
1182        select ARCH_PHYS_ADDR_T_64BIT
1183        select GPIOLIB
1184        select SYS_SUPPORTS_BIG_ENDIAN
1185        select SYS_SUPPORTS_LITTLE_ENDIAN
1186        select SYS_SUPPORTS_HIGHMEM
1187        select DMA_COHERENT
1188        select NR_CPUS_DEFAULT_32
1189        select CEVT_R4K
1190        select CSRC_R4K
1191        select IRQ_MIPS_CPU
1192        select ZONE_DMA32 if 64BIT
1193        select SYNC_R4K
1194        select SYS_HAS_EARLY_PRINTK
1195        select USE_OF
1196        select SYS_SUPPORTS_ZBOOT
1197        select SYS_SUPPORTS_ZBOOT_UART16550
1198        help
1199          This board is based on Netlogic XLP Processor.
1200          Say Y here if you have a XLP based board.
1201
1202config MIPS_PARAVIRT
1203        bool "Para-Virtualized guest system"
1204        select CEVT_R4K
1205        select CSRC_R4K
1206        select DMA_COHERENT
1207        select SYS_SUPPORTS_64BIT_KERNEL
1208        select SYS_SUPPORTS_32BIT_KERNEL
1209        select SYS_SUPPORTS_BIG_ENDIAN
1210        select SYS_SUPPORTS_SMP
1211        select NR_CPUS_DEFAULT_4
1212        select SYS_HAS_EARLY_PRINTK
1213        select SYS_HAS_CPU_MIPS32_R2
1214        select SYS_HAS_CPU_MIPS64_R2
1215        select SYS_HAS_CPU_CAVIUM_OCTEON
1216        select HW_HAS_PCI
1217        select SWAP_IO_SPACE
1218        help
1219          This option supports guest running under ????
1220
1221endchoice
1222
1223if RALINK_DEVICE
1224#source "arch/mips/rt2880/Kconfig"
1225endif
1226source "arch/mips/atheros/Kconfig"
1227source "arch/mips/brcm-boards/Kconfig"
1228source "arch/mips/adm5120/Kconfig"
1229source "arch/mips/alchemy/Kconfig"
1230source "arch/mips/ath25/Kconfig"
1231source "arch/mips/ath79/Kconfig"
1232source "arch/mips/bcm47xx/Kconfig"
1233source "arch/mips/bcm63xx/Kconfig"
1234source "arch/mips/bmips/Kconfig"
1235source "arch/mips/generic/Kconfig"
1236source "arch/mips/jazz/Kconfig"
1237source "arch/mips/jz4740/Kconfig"
1238source "arch/mips/lantiq/Kconfig"
1239source "arch/mips/lasat/Kconfig"
1240source "arch/mips/pic32/Kconfig"
1241source "arch/mips/pistachio/Kconfig"
1242source "arch/mips/pmcs-msp71xx/Kconfig"
1243source "arch/mips/ralink/Kconfig"
1244source "arch/mips/sgi-ip27/Kconfig"
1245source "arch/mips/sibyte/Kconfig"
1246source "arch/mips/txx9/Kconfig"
1247source "arch/mips/vr41xx/Kconfig"
1248source "arch/mips/cavium-octeon/Kconfig"
1249source "arch/mips/loongson32/Kconfig"
1250source "arch/mips/loongson64/Kconfig"
1251source "arch/mips/netlogic/Kconfig"
1252source "arch/mips/paravirt/Kconfig"
1253source "arch/mips/xilfpga/Kconfig"
1254
1255endmenu
1256
1257config RWSEM_GENERIC_SPINLOCK
1258        bool
1259        default y
1260
1261config RWSEM_XCHGADD_ALGORITHM
1262        bool
1263
1264config ARCH_HAS_ILOG2_U32
1265        bool
1266        default n
1267
1268config ARCH_HAS_ILOG2_U64
1269        bool
1270        default n
1271
1272config GENERIC_HWEIGHT
1273        bool
1274        default y
1275
1276config GENERIC_CALIBRATE_DELAY
1277        bool
1278        default y
1279
1280config SCHED_OMIT_FRAME_POINTER
1281        bool
1282        default y
1283
1284#
1285# Select some configuration options automatically based on user selections.
1286#
1287config FW_ARC
1288        bool
1289
1290config ARCH_MAY_HAVE_PC_FDC
1291        bool
1292
1293config CEVT_BCM1480
1294        bool
1295
1296config CEVT_DS1287
1297        bool
1298
1299config CEVT_GT641XX
1300        bool
1301
1302config CEVT_R4K
1303        bool
1304
1305config CEVT_SB1250
1306        bool
1307
1308config CEVT_TXX9
1309        bool
1310
1311config CSRC_BCM1480
1312        bool
1313
1314config CSRC_IOASIC
1315        bool
1316
1317config CSRC_R4K
1318        bool
1319
1320config CSRC_SB1250
1321        bool
1322
1323config MIPS_CLOCK_VSYSCALL
1324        def_bool CSRC_R4K || CLKSRC_MIPS_GIC
1325
1326config GPIO_TXX9
1327        select GPIOLIB
1328        bool
1329
1330config FW_CFE
1331        bool
1332
1333config ARCH_DMA_ADDR_T_64BIT
1334        def_bool (HIGHMEM && ARCH_PHYS_ADDR_T_64BIT) || 64BIT
1335
1336config ARCH_SUPPORTS_UPROBES
1337        bool
1338
1339config DMA_MAYBE_COHERENT
1340        select DMA_NONCOHERENT
1341        bool
1342
1343config DMA_PERDEV_COHERENT
1344        bool
1345        select DMA_MAYBE_COHERENT
1346
1347config DMA_MAYBE_COHERENT
1348        select DMA_NONCOHERENT
1349        bool
1350
1351config DMA_COHERENT
1352        bool
1353
1354config DMA_NONCOHERENT
1355        bool
1356        select NEED_DMA_MAP_STATE
1357
1358config NEED_DMA_MAP_STATE
1359        bool
1360
1361config SYS_HAS_EARLY_PRINTK
1362        bool
1363
1364config SYS_SUPPORTS_HOTPLUG_CPU
1365        bool
1366
1367config MIPS_BONITO64
1368        bool
1369
1370config MIPS_FPU_EMU
1371        bool "Enable FPU emulation"
1372        default y
1373        help
1374           This option allows building a kernel with or without the Algorithmics
1375           FPU emulator enabled. Turning off this option results in a kernel which
1376           does not catch floating operations exceptions. Make sure that your toolchain
1377           is configured to enable software floating point emulation in that case.
1378               
1379           If unsure say Y here.
1380
1381config MIPS_MSC
1382        bool
1383
1384config MIPS_NILE4
1385        bool
1386
1387config SYNC_R4K
1388        bool
1389
1390config MIPS_MACHINE
1391        def_bool n
1392
1393config IMAGE_CMDLINE_HACK
1394        bool "OpenWrt specific image command line hack"
1395        default n
1396
1397config NO_IOPORT_MAP
1398        def_bool n
1399
1400config GENERIC_CSUM
1401        bool
1402
1403config GENERIC_ISA_DMA
1404        bool
1405        select ZONE_DMA if GENERIC_ISA_DMA_SUPPORT_BROKEN=n
1406        select ISA_DMA_API
1407
1408config GENERIC_ISA_DMA_SUPPORT_BROKEN
1409        bool
1410        select GENERIC_ISA_DMA
1411
1412config ISA_DMA_API
1413        bool
1414
1415config HOLES_IN_ZONE
1416        bool
1417
1418config SYS_SUPPORTS_RELOCATABLE
1419        bool
1420        help
1421         Selected if the platform supports relocating the kernel.
1422         The platform must provide plat_get_fdt() if it selects CONFIG_USE_OF
1423         to allow access to command line and entropy sources.
1424
1425#
1426# Endianness selection.  Sufficiently obscure so many users don't know what to
1427# answer,so we try hard to limit the available choices.  Also the use of a
1428# choice statement should be more obvious to the user.
1429#
1430choice
1431        prompt "Endianness selection"
1432        help
1433          Some MIPS machines can be configured for either little or big endian
1434          byte order. These modes require different kernels and a different
1435          Linux distribution.  In general there is one preferred byteorder for a
1436          particular system but some systems are just as commonly used in the
1437          one or the other endianness.
1438
1439config CPU_BIG_ENDIAN
1440        bool "Big endian"
1441        depends on SYS_SUPPORTS_BIG_ENDIAN
1442
1443config CPU_LITTLE_ENDIAN
1444        bool "Little endian"
1445        depends on SYS_SUPPORTS_LITTLE_ENDIAN
1446
1447endchoice
1448
1449config EXPORT_UASM
1450        bool
1451
1452config SYS_SUPPORTS_APM_EMULATION
1453        bool
1454
1455config SYS_SUPPORTS_BIG_ENDIAN
1456        bool
1457
1458config SYS_SUPPORTS_LITTLE_ENDIAN
1459        bool
1460
1461config SYS_SUPPORTS_HUGETLBFS
1462        bool
1463        depends on CPU_SUPPORTS_HUGEPAGES && 64BIT
1464        default y
1465
1466config MIPS_HUGE_TLB_SUPPORT
1467        def_bool HUGETLB_PAGE || TRANSPARENT_HUGEPAGE
1468
1469config IRQ_CPU_RM7K
1470        bool
1471
1472config IRQ_MSP_SLP
1473        bool
1474
1475config IRQ_MSP_CIC
1476        bool
1477
1478config IRQ_TXX9
1479        bool
1480
1481config IRQ_GT641XX
1482        bool
1483
1484config PCI_GT64XXX_PCI0
1485        bool
1486
1487config NO_EXCEPT_FILL
1488        bool
1489
1490config SOC_EMMA2RH
1491        bool
1492        select CEVT_R4K
1493        select CSRC_R4K
1494        select DMA_NONCOHERENT
1495        select IRQ_MIPS_CPU
1496        select SWAP_IO_SPACE
1497        select SYS_HAS_CPU_R5500
1498        select SYS_SUPPORTS_32BIT_KERNEL
1499        select SYS_SUPPORTS_64BIT_KERNEL
1500        select SYS_SUPPORTS_BIG_ENDIAN
1501
1502config SOC_PNX833X
1503        bool
1504        select CEVT_R4K
1505        select CSRC_R4K
1506        select IRQ_MIPS_CPU
1507        select DMA_NONCOHERENT
1508        select SYS_HAS_CPU_MIPS32_R2
1509        select SYS_SUPPORTS_32BIT_KERNEL
1510        select SYS_SUPPORTS_LITTLE_ENDIAN
1511        select SYS_SUPPORTS_BIG_ENDIAN
1512        select SYS_SUPPORTS_MIPS16
1513        select CPU_MIPSR2_IRQ_VI
1514
1515config SOC_PNX8335
1516        bool
1517        select SOC_PNX833X
1518
1519config MIPS_SPRAM
1520        bool
1521
1522config SWAP_IO_SPACE
1523        bool
1524
1525config SGI_HAS_INDYDOG
1526        bool
1527
1528config SGI_HAS_HAL2
1529        bool
1530
1531config SGI_HAS_SEEQ
1532        bool
1533
1534config SGI_HAS_WD93
1535        bool
1536
1537config SGI_HAS_ZILOG
1538        bool
1539
1540config SGI_HAS_I8042
1541        bool
1542
1543config DEFAULT_SGI_PARTITION
1544        bool
1545
1546config FW_ARC32
1547        bool
1548
1549config FW_SNIPROM
1550        bool
1551
1552config BOOT_ELF32
1553        bool
1554
1555config MIPS_L1_CACHE_SHIFT_4
1556        bool
1557
1558config MIPS_L1_CACHE_SHIFT_5
1559        bool
1560
1561config MIPS_L1_CACHE_SHIFT_6
1562        bool
1563
1564config MIPS_L1_CACHE_SHIFT_7
1565        bool
1566
1567config MIPS_L1_CACHE_SHIFT
1568        int
1569        default "7" if MIPS_L1_CACHE_SHIFT_7
1570        default "6" if MIPS_L1_CACHE_SHIFT_6
1571        default "5" if MIPS_L1_CACHE_SHIFT_5
1572        default "4" if MIPS_L1_CACHE_SHIFT_4
1573        default "5"
1574
1575config HAVE_STD_PC_SERIAL_PORT
1576        bool
1577
1578config ARC_CONSOLE
1579        bool "ARC console support"
1580        depends on SGI_IP22 || SGI_IP28 || (SNI_RM && CPU_LITTLE_ENDIAN)
1581
1582config ARC_MEMORY
1583        bool
1584        depends on MACH_JAZZ || SNI_RM || SGI_IP32
1585        default y
1586
1587config ARC_PROMLIB
1588        bool
1589        depends on MACH_JAZZ || SNI_RM || SGI_IP22 || SGI_IP28 || SGI_IP32
1590        default y
1591
1592config FW_ARC64
1593        bool
1594
1595config BOOT_ELF64
1596        bool
1597
1598menu "CPU selection"
1599
1600choice
1601        prompt "CPU type"
1602        default CPU_R4X00
1603
1604config CPU_LOONGSON3
1605        bool "Loongson 3 CPU"
1606        depends on SYS_HAS_CPU_LOONGSON3
1607        select CPU_SUPPORTS_64BIT_KERNEL
1608        select CPU_SUPPORTS_HIGHMEM
1609        select CPU_SUPPORTS_HUGEPAGES
1610        select WEAK_ORDERING
1611        select WEAK_REORDERING_BEYOND_LLSC
1612        select MIPS_PGD_C0_CONTEXT
1613        select GPIOLIB
1614        help
1615                The Loongson 3 processor implements the MIPS64R2 instruction
1616                set with many extensions.
1617
1618config LOONGSON3_ENHANCEMENT
1619        bool "New Loongson 3 CPU Enhancements"
1620        default n
1621        select CPU_MIPSR2
1622        select CPU_HAS_PREFETCH
1623        depends on CPU_LOONGSON3
1624        help
1625          New Loongson 3 CPU (since Loongson-3A R2, as opposed to Loongson-3A
1626          R1, Loongson-3B R1 and Loongson-3B R2) has many enhancements, such as
1627          FTLB, L1-VCache, EI/DI/Wait/Prefetch instruction, DSP/DSPv2 ASE, User
1628          Local register, Read-Inhibit/Execute-Inhibit, SFB (Store Fill Buffer),
1629          Fast TLB refill support, etc.
1630
1631          This option enable those enhancements which are not probed at run
1632          time. If you want a generic kernel to run on all Loongson 3 machines,
1633          please say 'N' here. If you want a high-performance kernel to run on
1634          new Loongson 3 machines only, please say 'Y' here.
1635
1636config CPU_LOONGSON2E
1637        bool "Loongson 2E"
1638        depends on SYS_HAS_CPU_LOONGSON2E
1639        select CPU_LOONGSON2
1640        help
1641          The Loongson 2E processor implements the MIPS III instruction set
1642          with many extensions.
1643
1644          It has an internal FPGA northbridge, which is compatible to
1645          bonito64.
1646
1647config CPU_LOONGSON2F
1648        bool "Loongson 2F"
1649        depends on SYS_HAS_CPU_LOONGSON2F
1650        select CPU_LOONGSON2
1651        select GPIOLIB
1652        help
1653          The Loongson 2F processor implements the MIPS III instruction set
1654          with many extensions.
1655
1656          Loongson2F have built-in DDR2 and PCIX controller. The PCIX controller
1657          have a similar programming interface with FPGA northbridge used in
1658          Loongson2E.
1659
1660config CPU_LOONGSON1B
1661        bool "Loongson 1B"
1662        depends on SYS_HAS_CPU_LOONGSON1B
1663        select CPU_LOONGSON1
1664        select LEDS_GPIO_REGISTER
1665        help
1666          The Loongson 1B is a 32-bit SoC, which implements the MIPS32
1667          release 2 instruction set.
1668
1669config CPU_LOONGSON1C
1670        bool "Loongson 1C"
1671        depends on SYS_HAS_CPU_LOONGSON1C
1672        select CPU_LOONGSON1
1673        select ARCH_WANT_OPTIONAL_GPIOLIB
1674        select LEDS_GPIO_REGISTER
1675        help
1676          The Loongson 1C is a 32-bit SoC, which implements the MIPS32
1677          release 2 instruction set.
1678
1679config CPU_MIPS32_R1
1680        bool "MIPS32 Release 1"
1681        depends on SYS_HAS_CPU_MIPS32_R1
1682        select CPU_HAS_PREFETCH
1683        select CPU_SUPPORTS_32BIT_KERNEL
1684        select CPU_SUPPORTS_HIGHMEM
1685        help
1686          Choose this option to build a kernel for release 1 or later of the
1687          MIPS32 architecture.  Most modern embedded systems with a 32-bit
1688          MIPS processor are based on a MIPS32 processor.  If you know the
1689          specific type of processor in your system, choose those that one
1690          otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1691          Release 2 of the MIPS32 architecture is available since several
1692          years so chances are you even have a MIPS32 Release 2 processor
1693          in which case you should choose CPU_MIPS32_R2 instead for better
1694          performance.
1695
1696config CPU_MIPS32_R2
1697        bool "MIPS32 Release 2"
1698        depends on SYS_HAS_CPU_MIPS32_R2
1699        select CPU_HAS_PREFETCH
1700        select CPU_SUPPORTS_32BIT_KERNEL
1701        select CPU_SUPPORTS_HIGHMEM
1702        select CPU_SUPPORTS_MSA
1703        select HAVE_KVM
1704        help
1705          Choose this option to build a kernel for release 2 or later of the
1706          MIPS32 architecture.  Most modern embedded systems with a 32-bit
1707          MIPS processor are based on a MIPS32 processor.  If you know the
1708          specific type of processor in your system, choose those that one
1709          otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
1710
1711config CPU_MIPS32_R6
1712        bool "MIPS32 Release 6"
1713        depends on SYS_HAS_CPU_MIPS32_R6
1714        select CPU_HAS_PREFETCH
1715        select CPU_SUPPORTS_32BIT_KERNEL
1716        select CPU_SUPPORTS_HIGHMEM
1717        select CPU_SUPPORTS_MSA
1718        select GENERIC_CSUM
1719        select HAVE_KVM
1720        select MIPS_O32_FP64_SUPPORT
1721        help
1722          Choose this option to build a kernel for release 6 or later of the
1723          MIPS32 architecture.  New MIPS processors, starting with the Warrior
1724          family, are based on a MIPS32r6 processor. If you own an older
1725          processor, you probably need to select MIPS32r1 or MIPS32r2 instead.
1726
1727config CPU_MIPS64_R1
1728        bool "MIPS64 Release 1"
1729        depends on SYS_HAS_CPU_MIPS64_R1
1730        select CPU_HAS_PREFETCH
1731        select CPU_SUPPORTS_32BIT_KERNEL
1732        select CPU_SUPPORTS_64BIT_KERNEL
1733        select CPU_SUPPORTS_HIGHMEM
1734        select CPU_SUPPORTS_HUGEPAGES
1735        help
1736          Choose this option to build a kernel for release 1 or later of the
1737          MIPS64 architecture.  Many modern embedded systems with a 64-bit
1738          MIPS processor are based on a MIPS64 processor.  If you know the
1739          specific type of processor in your system, choose those that one
1740          otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1741          Release 2 of the MIPS64 architecture is available since several
1742          years so chances are you even have a MIPS64 Release 2 processor
1743          in which case you should choose CPU_MIPS64_R2 instead for better
1744          performance.
1745
1746config CPU_MIPS64_R2
1747        bool "MIPS64 Release 2"
1748        depends on SYS_HAS_CPU_MIPS64_R2
1749        select CPU_HAS_PREFETCH
1750        select CPU_SUPPORTS_32BIT_KERNEL
1751        select CPU_SUPPORTS_64BIT_KERNEL
1752        select CPU_SUPPORTS_HIGHMEM
1753        select CPU_SUPPORTS_HUGEPAGES
1754        select CPU_SUPPORTS_MSA
1755        select HAVE_KVM
1756        help
1757          Choose this option to build a kernel for release 2 or later of the
1758          MIPS64 architecture.  Many modern embedded systems with a 64-bit
1759          MIPS processor are based on a MIPS64 processor.  If you know the
1760          specific type of processor in your system, choose those that one
1761          otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
1762
1763config CPU_MIPS64_R6
1764        bool "MIPS64 Release 6"
1765        depends on SYS_HAS_CPU_MIPS64_R6
1766        select CPU_HAS_PREFETCH
1767        select CPU_SUPPORTS_32BIT_KERNEL
1768        select CPU_SUPPORTS_64BIT_KERNEL
1769        select CPU_SUPPORTS_HIGHMEM
1770        select CPU_SUPPORTS_MSA
1771        select GENERIC_CSUM
1772        select MIPS_O32_FP64_SUPPORT if 32BIT || MIPS32_O32
1773        select HAVE_KVM
1774        help
1775          Choose this option to build a kernel for release 6 or later of the
1776          MIPS64 architecture.  New MIPS processors, starting with the Warrior
1777          family, are based on a MIPS64r6 processor. If you own an older
1778          processor, you probably need to select MIPS64r1 or MIPS64r2 instead.
1779
1780config CPU_R3000
1781        bool "R3000"
1782        depends on SYS_HAS_CPU_R3000
1783        select CPU_HAS_WB
1784        select CPU_SUPPORTS_32BIT_KERNEL
1785        select CPU_SUPPORTS_HIGHMEM
1786        help
1787          Please make sure to pick the right CPU type. Linux/MIPS is not
1788          designed to be generic, i.e. Kernels compiled for R3000 CPUs will
1789          *not* work on R4000 machines and vice versa.  However, since most
1790          of the supported machines have an R4000 (or similar) CPU, R4x00
1791          might be a safe bet.  If the resulting kernel does not work,
1792          try to recompile with R3000.
1793
1794config CPU_TX39XX
1795        bool "R39XX"
1796        depends on SYS_HAS_CPU_TX39XX
1797        select CPU_SUPPORTS_32BIT_KERNEL
1798
1799config CPU_VR41XX
1800        bool "R41xx"
1801        depends on SYS_HAS_CPU_VR41XX
1802        select CPU_SUPPORTS_32BIT_KERNEL
1803        select CPU_SUPPORTS_64BIT_KERNEL
1804        help
1805          The options selects support for the NEC VR4100 series of processors.
1806          Only choose this option if you have one of these processors as a
1807          kernel built with this option will not run on any other type of
1808          processor or vice versa.
1809
1810config CPU_R4300
1811        bool "R4300"
1812        depends on SYS_HAS_CPU_R4300
1813        select CPU_SUPPORTS_32BIT_KERNEL
1814        select CPU_SUPPORTS_64BIT_KERNEL
1815        help
1816          MIPS Technologies R4300-series processors.
1817
1818config CPU_R4X00
1819        bool "R4x00"
1820        depends on SYS_HAS_CPU_R4X00
1821        select CPU_SUPPORTS_32BIT_KERNEL
1822        select CPU_SUPPORTS_64BIT_KERNEL
1823        select CPU_SUPPORTS_HUGEPAGES
1824        help
1825          MIPS Technologies R4000-series processors other than 4300, including
1826          the R4000, R4400, R4600, and 4700.
1827
1828config CPU_TX49XX
1829        bool "R49XX"
1830        depends on SYS_HAS_CPU_TX49XX
1831        select CPU_HAS_PREFETCH
1832        select CPU_SUPPORTS_32BIT_KERNEL
1833        select CPU_SUPPORTS_64BIT_KERNEL
1834        select CPU_SUPPORTS_HUGEPAGES
1835
1836config CPU_R5000
1837        bool "R5000"
1838        depends on SYS_HAS_CPU_R5000
1839        select CPU_SUPPORTS_32BIT_KERNEL
1840        select CPU_SUPPORTS_64BIT_KERNEL
1841        select CPU_SUPPORTS_HUGEPAGES
1842        help
1843          MIPS Technologies R5000-series processors other than the Nevada.
1844
1845config CPU_R5432
1846        bool "R5432"
1847        depends on SYS_HAS_CPU_R5432
1848        select CPU_SUPPORTS_32BIT_KERNEL
1849        select CPU_SUPPORTS_64BIT_KERNEL
1850        select CPU_SUPPORTS_HUGEPAGES
1851
1852config CPU_R5500
1853        bool "R5500"
1854        depends on SYS_HAS_CPU_R5500
1855        select CPU_SUPPORTS_32BIT_KERNEL
1856        select CPU_SUPPORTS_64BIT_KERNEL
1857        select CPU_SUPPORTS_HUGEPAGES
1858        help
1859          NEC VR5500 and VR5500A series processors implement 64-bit MIPS IV
1860          instruction set.
1861
1862config CPU_R6000
1863        bool "R6000"
1864        depends on SYS_HAS_CPU_R6000
1865        select CPU_SUPPORTS_32BIT_KERNEL
1866        help
1867          MIPS Technologies R6000 and R6000A series processors.  Note these
1868          processors are extremely rare and the support for them is incomplete.
1869
1870config CPU_NEVADA
1871        bool "RM52xx"
1872        depends on SYS_HAS_CPU_NEVADA
1873        select CPU_SUPPORTS_32BIT_KERNEL
1874        select CPU_SUPPORTS_64BIT_KERNEL
1875        select CPU_SUPPORTS_HUGEPAGES
1876        help
1877          QED / PMC-Sierra RM52xx-series ("Nevada") processors.
1878
1879config CPU_R8000
1880        bool "R8000"
1881        depends on SYS_HAS_CPU_R8000
1882        select CPU_HAS_PREFETCH
1883        select CPU_SUPPORTS_64BIT_KERNEL
1884        help
1885          MIPS Technologies R8000 processors.  Note these processors are
1886          uncommon and the support for them is incomplete.
1887
1888config CPU_R10000
1889        bool "R10000"
1890        depends on SYS_HAS_CPU_R10000
1891        select CPU_HAS_PREFETCH
1892        select CPU_SUPPORTS_32BIT_KERNEL
1893        select CPU_SUPPORTS_64BIT_KERNEL
1894        select CPU_SUPPORTS_HIGHMEM
1895        select CPU_SUPPORTS_HUGEPAGES
1896        help
1897          MIPS Technologies R10000-series processors.
1898
1899config CPU_RM7000
1900        bool "RM7000"
1901        depends on SYS_HAS_CPU_RM7000
1902        select CPU_HAS_PREFETCH
1903        select CPU_SUPPORTS_32BIT_KERNEL
1904        select CPU_SUPPORTS_64BIT_KERNEL
1905        select CPU_SUPPORTS_HIGHMEM
1906        select CPU_SUPPORTS_HUGEPAGES
1907
1908config CPU_SB1
1909        bool "SB1"
1910        depends on SYS_HAS_CPU_SB1
1911        select CPU_SUPPORTS_32BIT_KERNEL
1912        select CPU_SUPPORTS_64BIT_KERNEL
1913        select CPU_SUPPORTS_HIGHMEM
1914        select CPU_SUPPORTS_HUGEPAGES
1915        select WEAK_ORDERING
1916
1917config CPU_CAVIUM_OCTEON
1918        bool "Cavium Octeon processor"
1919        depends on SYS_HAS_CPU_CAVIUM_OCTEON
1920        select SYS_HAS_DMA_OPS
1921        select CPU_HAS_PREFETCH
1922        select CPU_SUPPORTS_64BIT_KERNEL
1923        select WEAK_ORDERING
1924        select CPU_SUPPORTS_HIGHMEM
1925        select CPU_SUPPORTS_HUGEPAGES
1926        select USB_EHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN
1927        select USB_OHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN
1928        select MIPS_L1_CACHE_SHIFT_7
1929        help
1930          The Cavium Octeon processor is a highly integrated chip containing
1931          many ethernet hardware widgets for networking tasks. The processor
1932          can have up to 16 Mips64v2 cores and 8 integrated gigabit ethernets.
1933          Full details can be found at http://www.caviumnetworks.com.
1934
1935config CPU_BMIPS
1936        bool "Broadcom BMIPS"
1937        depends on SYS_HAS_CPU_BMIPS
1938        select CPU_MIPS32
1939        select CPU_BMIPS32_3300 if SYS_HAS_CPU_BMIPS32_3300
1940        select CPU_BMIPS4350 if SYS_HAS_CPU_BMIPS4350
1941        select CPU_BMIPS4380 if SYS_HAS_CPU_BMIPS4380
1942        select CPU_BMIPS5000 if SYS_HAS_CPU_BMIPS5000
1943        select CPU_SUPPORTS_32BIT_KERNEL
1944        select DMA_NONCOHERENT
1945        select IRQ_MIPS_CPU
1946        select SWAP_IO_SPACE
1947        select WEAK_ORDERING
1948        select CPU_SUPPORTS_HIGHMEM
1949        select CPU_HAS_PREFETCH
1950        help
1951          Support for BMIPS32/3300/4350/4380 and BMIPS5000 processors.
1952
1953config CPU_XLR
1954        bool "Netlogic XLR SoC"
1955        depends on SYS_HAS_CPU_XLR
1956        select CPU_SUPPORTS_32BIT_KERNEL
1957        select CPU_SUPPORTS_64BIT_KERNEL
1958        select CPU_SUPPORTS_HIGHMEM
1959        select CPU_SUPPORTS_HUGEPAGES
1960        select WEAK_ORDERING
1961        select WEAK_REORDERING_BEYOND_LLSC
1962        help
1963          Netlogic Microsystems XLR/XLS processors.
1964
1965config CPU_XLP
1966        bool "Netlogic XLP SoC"
1967        depends on SYS_HAS_CPU_XLP
1968        select CPU_SUPPORTS_32BIT_KERNEL
1969        select CPU_SUPPORTS_64BIT_KERNEL
1970        select CPU_SUPPORTS_HIGHMEM
1971        select WEAK_ORDERING
1972        select WEAK_REORDERING_BEYOND_LLSC
1973        select CPU_HAS_PREFETCH
1974        select CPU_MIPSR2
1975        select CPU_SUPPORTS_HUGEPAGES
1976        select MIPS_ASID_BITS_VARIABLE
1977        help
1978          Netlogic Microsystems XLP processors.
1979endchoice
1980
1981config CPU_MIPS32_3_5_FEATURES
1982        bool "MIPS32 Release 3.5 Features"
1983        depends on SYS_HAS_CPU_MIPS32_R3_5
1984        depends on CPU_MIPS32_R2 || CPU_MIPS32_R6
1985        help
1986          Choose this option to build a kernel for release 2 or later of the
1987          MIPS32 architecture including features from the 3.5 release such as
1988          support for Enhanced Virtual Addressing (EVA).
1989
1990config CPU_MIPS32_3_5_EVA
1991        bool "Enhanced Virtual Addressing (EVA)"
1992        depends on CPU_MIPS32_3_5_FEATURES
1993        select EVA
1994        default y
1995        help
1996          Choose this option if you want to enable the Enhanced Virtual
1997          Addressing (EVA) on your MIPS32 core (such as proAptiv).
1998          One of its primary benefits is an increase in the maximum size
1999          of lowmem (up to 3GB). If unsure, say 'N' here.
2000
2001config CPU_MIPS32_R5_FEATURES
2002        bool "MIPS32 Release 5 Features"
2003        depends on SYS_HAS_CPU_MIPS32_R5
2004        depends on CPU_MIPS32_R2
2005        help
2006          Choose this option to build a kernel for release 2 or later of the
2007          MIPS32 architecture including features from release 5 such as
2008          support for Extended Physical Addressing (XPA).
2009
2010config CPU_MIPS32_R5_XPA
2011        bool "Extended Physical Addressing (XPA)"
2012        depends on CPU_MIPS32_R5_FEATURES
2013        depends on !EVA
2014        depends on !PAGE_SIZE_4KB
2015        depends on SYS_SUPPORTS_HIGHMEM
2016        select XPA
2017        select HIGHMEM
2018        select ARCH_PHYS_ADDR_T_64BIT
2019        default n
2020        help
2021          Choose this option if you want to enable the Extended Physical
2022          Addressing (XPA) on your MIPS32 core (such as P5600 series). The
2023          benefit is to increase physical addressing equal to or greater
2024          than 40 bits. Note that this has the side effect of turning on
2025          64-bit addressing which in turn makes the PTEs 64-bit in size.
2026          If unsure, say 'N' here.
2027
2028if CPU_LOONGSON2F
2029config CPU_NOP_WORKAROUNDS
2030        bool
2031
2032config CPU_JUMP_WORKAROUNDS
2033        bool
2034
2035config CPU_LOONGSON2F_WORKAROUNDS
2036        bool "Loongson 2F Workarounds"
2037        default y
2038        select CPU_NOP_WORKAROUNDS
2039        select CPU_JUMP_WORKAROUNDS
2040        help
2041          Loongson 2F01 / 2F02 processors have the NOP & JUMP issues which
2042          require workarounds.  Without workarounds the system may hang
2043          unexpectedly.  For more information please refer to the gas
2044          -mfix-loongson2f-nop and -mfix-loongson2f-jump options.
2045
2046          Loongson 2F03 and later have fixed these issues and no workarounds
2047          are needed.  The workarounds have no significant side effect on them
2048          but may decrease the performance of the system so this option should
2049          be disabled unless the kernel is intended to be run on 2F01 or 2F02
2050          systems.
2051
2052          If unsure, please say Y.
2053endif # CPU_LOONGSON2F
2054
2055config SYS_SUPPORTS_ZBOOT
2056        bool
2057        select HAVE_KERNEL_GZIP
2058        select HAVE_KERNEL_BZIP2
2059        select HAVE_KERNEL_LZ4
2060        select HAVE_KERNEL_LZMA
2061        select HAVE_KERNEL_LZO
2062        select HAVE_KERNEL_XZ
2063
2064config SYS_SUPPORTS_ZBOOT_UART16550
2065        bool
2066        select SYS_SUPPORTS_ZBOOT
2067
2068config SYS_SUPPORTS_ZBOOT_UART_PROM
2069        bool
2070        select SYS_SUPPORTS_ZBOOT
2071
2072config CPU_LOONGSON2
2073        bool
2074        select CPU_SUPPORTS_32BIT_KERNEL
2075        select CPU_SUPPORTS_64BIT_KERNEL
2076        select CPU_SUPPORTS_HIGHMEM
2077        select CPU_SUPPORTS_HUGEPAGES
2078
2079config CPU_LOONGSON1
2080        bool
2081        select CPU_MIPS32
2082        select CPU_MIPSR2
2083        select CPU_HAS_PREFETCH
2084        select CPU_SUPPORTS_32BIT_KERNEL
2085        select CPU_SUPPORTS_HIGHMEM
2086        select CPU_SUPPORTS_CPUFREQ
2087
2088config CPU_BMIPS32_3300
2089        select SMP_UP if SMP
2090        bool
2091
2092config CPU_BMIPS4350
2093        bool
2094        select SYS_SUPPORTS_SMP
2095        select SYS_SUPPORTS_HOTPLUG_CPU
2096
2097config CPU_BMIPS4380
2098        bool
2099        select MIPS_L1_CACHE_SHIFT_6
2100        select SYS_SUPPORTS_SMP
2101        select SYS_SUPPORTS_HOTPLUG_CPU
2102        select CPU_HAS_RIXI
2103
2104config CPU_BMIPS5000
2105        bool
2106        select MIPS_CPU_SCACHE
2107        select MIPS_L1_CACHE_SHIFT_7
2108        select SYS_SUPPORTS_SMP
2109        select SYS_SUPPORTS_HOTPLUG_CPU
2110        select CPU_HAS_RIXI
2111
2112config SYS_HAS_CPU_LOONGSON3
2113        bool
2114        select CPU_SUPPORTS_CPUFREQ
2115        select CPU_HAS_RIXI
2116
2117config SYS_HAS_CPU_LOONGSON2E
2118        bool
2119
2120config SYS_HAS_CPU_LOONGSON2F
2121        bool
2122        select CPU_SUPPORTS_CPUFREQ
2123        select CPU_SUPPORTS_ADDRWINCFG if 64BIT
2124        select CPU_SUPPORTS_UNCACHED_ACCELERATED
2125
2126config SYS_HAS_CPU_LOONGSON1B
2127        bool
2128
2129config SYS_HAS_CPU_LOONGSON1C
2130        bool
2131
2132config SYS_HAS_CPU_MIPS32_R1
2133        bool
2134
2135config SYS_HAS_CPU_MIPS32_R2
2136        bool
2137
2138config SYS_HAS_CPU_MIPS32_R3_5
2139        bool
2140
2141config SYS_HAS_CPU_MIPS32_R5
2142        bool
2143
2144config SYS_HAS_CPU_MIPS32_R6
2145        bool
2146
2147config SYS_HAS_CPU_MIPS64_R1
2148        bool
2149
2150config SYS_HAS_CPU_MIPS64_R2
2151        bool
2152
2153config SYS_HAS_CPU_MIPS64_R6
2154        bool
2155
2156config SYS_HAS_CPU_R3000
2157        bool
2158
2159config SYS_HAS_CPU_TX39XX
2160        bool
2161
2162config SYS_HAS_CPU_VR41XX
2163        bool
2164
2165config SYS_HAS_CPU_R4300
2166        bool
2167
2168config SYS_HAS_CPU_R4X00
2169        bool
2170
2171config SYS_HAS_CPU_TX49XX
2172        bool
2173
2174config SYS_HAS_CPU_R5000
2175        bool
2176
2177config SYS_HAS_CPU_R5432
2178        bool
2179
2180config SYS_HAS_CPU_R5500
2181        bool
2182
2183config SYS_HAS_CPU_R6000
2184        bool
2185
2186config SYS_HAS_CPU_NEVADA
2187        bool
2188
2189config SYS_HAS_CPU_R8000
2190        bool
2191
2192config SYS_HAS_CPU_R10000
2193        bool
2194
2195config SYS_HAS_CPU_RM7000
2196        bool
2197
2198config SYS_HAS_CPU_SB1
2199        bool
2200
2201config SYS_HAS_CPU_CAVIUM_OCTEON
2202        bool
2203
2204config SYS_HAS_CPU_BMIPS
2205        bool
2206
2207config SYS_HAS_CPU_BMIPS32_3300
2208        bool
2209        select SYS_HAS_CPU_BMIPS
2210
2211config SYS_HAS_CPU_BMIPS4350
2212        bool
2213        select SYS_HAS_CPU_BMIPS
2214
2215config SYS_HAS_CPU_BMIPS4380
2216        bool
2217        select SYS_HAS_CPU_BMIPS
2218
2219config SYS_HAS_CPU_BMIPS5000
2220        bool
2221        select SYS_HAS_CPU_BMIPS
2222
2223config SYS_HAS_CPU_XLR
2224        bool
2225
2226config SYS_HAS_CPU_XLP
2227        bool
2228
2229config SYS_HAS_DMA_OPS
2230        bool
2231
2232config MIPS_MALTA_PM
2233        depends on MIPS_MALTA
2234        depends on PCI
2235        bool
2236        default y
2237
2238#
2239# CPU may reorder R->R, R->W, W->R, W->W
2240# Reordering beyond LL and SC is handled in WEAK_REORDERING_BEYOND_LLSC
2241#
2242config WEAK_ORDERING
2243        bool
2244
2245#
2246# CPU may reorder reads and writes beyond LL/SC
2247# CPU may reorder R->LL, R->LL, W->LL, W->LL, R->SC, R->SC, W->SC, W->SC
2248#
2249config WEAK_REORDERING_BEYOND_LLSC
2250        bool
2251endmenu
2252
2253#
2254# These two indicate any level of the MIPS32 and MIPS64 architecture
2255#
2256config CPU_MIPS32
2257        bool
2258        default y if CPU_MIPS32_R1 || CPU_MIPS32_R2 || CPU_MIPS32_R6
2259
2260config CPU_MIPS64
2261        bool
2262        default y if CPU_MIPS64_R1 || CPU_MIPS64_R2 || CPU_MIPS64_R6
2263
2264#
2265# These two indicate the revision of the architecture, either Release 1 or Release 2
2266#
2267config CPU_MIPSR1
2268        bool
2269        default y if CPU_MIPS32_R1 || CPU_MIPS64_R1
2270
2271config CPU_MIPSR2
2272        bool
2273        default y if CPU_MIPS32_R2 || CPU_MIPS64_R2 || CPU_CAVIUM_OCTEON
2274        select CPU_HAS_RIXI
2275        select MIPS_SPRAM
2276
2277config CPU_MIPSR6
2278        bool
2279        default y if CPU_MIPS32_R6 || CPU_MIPS64_R6
2280        select CPU_HAS_RIXI
2281        select HAVE_ARCH_BITREVERSE
2282        select MIPS_ASID_BITS_VARIABLE
2283        select MIPS_SPRAM
2284
2285config EVA
2286        bool
2287
2288config XPA
2289        bool
2290
2291config SYS_SUPPORTS_32BIT_KERNEL
2292        bool
2293config SYS_SUPPORTS_64BIT_KERNEL
2294        bool
2295config CPU_SUPPORTS_32BIT_KERNEL
2296        bool
2297config CPU_SUPPORTS_64BIT_KERNEL
2298        bool
2299config CPU_SUPPORTS_CPUFREQ
2300        bool
2301config CPU_SUPPORTS_ADDRWINCFG
2302        bool
2303config CPU_SUPPORTS_HUGEPAGES
2304        bool
2305config CPU_SUPPORTS_UNCACHED_ACCELERATED
2306        bool
2307config MIPS_PGD_C0_CONTEXT
2308        bool
2309        default y if 64BIT && CPU_MIPSR2 && !CPU_XLP
2310
2311#
2312# Set to y for ptrace access to watch registers.
2313#
2314config HARDWARE_WATCHPOINTS
2315       bool
2316       default y if CPU_MIPSR1 || CPU_MIPSR2 || CPU_MIPSR6
2317
2318menu "Kernel type"
2319
2320choice
2321        prompt "Kernel code model"
2322        help
2323          You should only select this option if you have a workload that
2324          actually benefits from 64-bit processing or if your machine has
2325          large memory.  You will only be presented a single option in this
2326          menu if your system does not support both 32-bit and 64-bit kernels.
2327
2328config 32BIT
2329        bool "32-bit kernel"
2330        depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL
2331        select TRAD_SIGNALS
2332        help
2333          Select this option if you want to build a 32-bit kernel.
2334
2335config 64BIT
2336        bool "64-bit kernel"
2337        depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL
2338        help
2339          Select this option if you want to build a 64-bit kernel.
2340
2341endchoice
2342
2343config KVM_GUEST
2344        bool "KVM Guest Kernel"
2345        depends on BROKEN_ON_SMP
2346        help
2347          Select this option if building a guest kernel for KVM (Trap & Emulate)
2348          mode.
2349
2350config KVM_GUEST_TIMER_FREQ
2351        int "Count/Compare Timer Frequency (MHz)"
2352        depends on KVM_GUEST
2353        default 100
2354        help
2355          Set this to non-zero if building a guest kernel for KVM to skip RTC
2356          emulation when determining guest CPU Frequency. Instead, the guest's
2357          timer frequency is specified directly.
2358
2359config MIPS_VA_BITS_48
2360        bool "48 bits virtual memory"
2361        depends on 64BIT
2362        help
2363          Support a maximum at least 48 bits of application virtual memory.
2364          Default is 40 bits or less, depending on the CPU.
2365          This option result in a small memory overhead for page tables.
2366          This option is only supported with 16k and 64k page sizes.
2367          If unsure, say N.
2368
2369choice
2370        prompt "Kernel page size"
2371        default PAGE_SIZE_4KB
2372
2373config PAGE_SIZE_4KB
2374        bool "4kB"
2375        depends on !CPU_LOONGSON2 && !CPU_LOONGSON3
2376        depends on !MIPS_VA_BITS_48
2377        help
2378         This option select the standard 4kB Linux page size.  On some
2379         R3000-family processors this is the only available page size.  Using
2380         4kB page size will minimize memory consumption and is therefore
2381         recommended for low memory systems.
2382
2383config PAGE_SIZE_8KB
2384        bool "8kB"
2385        depends on CPU_R8000 || CPU_CAVIUM_OCTEON
2386        depends on !MIPS_VA_BITS_48
2387        help
2388          Using 8kB page size will result in higher performance kernel at
2389          the price of higher memory consumption.  This option is available
2390          only on R8000 and cnMIPS processors.  Note that you will need a
2391          suitable Linux distribution to support this.
2392
2393config PAGE_SIZE_16KB
2394        bool "16kB"
2395        depends on !CPU_R3000 && !CPU_TX39XX
2396        help
2397          Using 16kB page size will result in higher performance kernel at
2398          the price of higher memory consumption.  This option is available on
2399          all non-R3000 family processors.  Note that you will need a suitable
2400          Linux distribution to support this.
2401
2402config PAGE_SIZE_32KB
2403        bool "32kB"
2404        depends on CPU_CAVIUM_OCTEON
2405        depends on !MIPS_VA_BITS_48
2406        help
2407          Using 32kB page size will result in higher performance kernel at
2408          the price of higher memory consumption.  This option is available
2409          only on cnMIPS cores.  Note that you will need a suitable Linux
2410          distribution to support this.
2411
2412config PAGE_SIZE_64KB
2413        bool "64kB"
2414        depends on !CPU_R3000 && !CPU_TX39XX && !CPU_R6000
2415        help
2416          Using 64kB page size will result in higher performance kernel at
2417          the price of higher memory consumption.  This option is available on
2418          all non-R3000 family processor.  Not that at the time of this
2419          writing this option is still high experimental.
2420
2421endchoice
2422
2423config FORCE_MAX_ZONEORDER
2424        int "Maximum zone order"
2425        range 14 64 if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_64KB
2426        default "14" if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_64KB
2427        range 13 64 if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_32KB
2428        default "13" if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_32KB
2429        range 12 64 if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_16KB
2430        default "12" if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_16KB
2431        range 11 64
2432        default "11"
2433        help
2434          The kernel memory allocator divides physically contiguous memory
2435          blocks into "zones", where each zone is a power of two number of
2436          pages.  This option selects the largest power of two that the kernel
2437          keeps in the memory allocator.  If you need to allocate very large
2438          blocks of physically contiguous memory, then you may need to
2439          increase this value.
2440
2441          This config option is actually maximum order plus one. For example,
2442          a value of 11 means that the largest free memory block is 2^10 pages.
2443
2444          The page size is not necessarily 4KB.  Keep this in mind
2445          when choosing a value for this option.
2446
2447config BOARD_SCACHE
2448        bool
2449
2450config IP22_CPU_SCACHE
2451        bool
2452        select BOARD_SCACHE
2453
2454#
2455# Support for a MIPS32 / MIPS64 style S-caches
2456#
2457config MIPS_CPU_SCACHE
2458        bool
2459        select BOARD_SCACHE
2460
2461config R5000_CPU_SCACHE
2462        bool
2463        select BOARD_SCACHE
2464
2465config RM7000_CPU_SCACHE
2466        bool
2467        select BOARD_SCACHE
2468
2469config SIBYTE_DMA_PAGEOPS
2470        bool "Use DMA to clear/copy pages"
2471        depends on CPU_SB1
2472        help
2473          Instead of using the CPU to zero and copy pages, use a Data Mover
2474          channel.  These DMA channels are otherwise unused by the standard
2475          SiByte Linux port.  Seems to give a small performance benefit.
2476
2477config CPU_HAS_PREFETCH
2478        bool
2479
2480config CPU_GENERIC_DUMP_TLB
2481        bool
2482        default y if !(CPU_R3000 || CPU_R6000 || CPU_R8000 || CPU_TX39XX)
2483
2484config CPU_R4K_FPU
2485        bool
2486        default y if !(CPU_R3000 || CPU_R6000 || CPU_TX39XX || CPU_CAVIUM_OCTEON)
2487
2488config CPU_R4K_CACHE_TLB
2489        bool
2490        default y if !(CPU_R3000 || CPU_R8000 || CPU_SB1 || CPU_TX39XX || CPU_CAVIUM_OCTEON)
2491
2492config MIPS_MT_SMP
2493        bool "MIPS MT SMP support (1 TC on each available VPE)"
2494        depends on SYS_SUPPORTS_MULTITHREADING && !CPU_MIPSR6
2495        select CPU_MIPSR2_IRQ_VI
2496        select CPU_MIPSR2_IRQ_EI
2497        select SYNC_R4K
2498        select MIPS_MT
2499        select SMP
2500        select SMP_UP
2501        select SYS_SUPPORTS_SMP
2502        select SYS_SUPPORTS_SCHED_SMT
2503        select MIPS_PERF_SHARED_TC_COUNTERS
2504        help
2505          This is a kernel model which is known as SMVP. This is supported
2506          on cores with the MT ASE and uses the available VPEs to implement
2507          virtual processors which supports SMP. This is equivalent to the
2508          Intel Hyperthreading feature. For further information go to
2509          <http://www.imgtec.com/mips/mips-multithreading.asp>.
2510
2511config MIPS_MT
2512        bool
2513
2514config SCHED_SMT
2515        bool "SMT (multithreading) scheduler support"
2516        depends on SYS_SUPPORTS_SCHED_SMT
2517        default n
2518        help
2519          SMT scheduler support improves the CPU scheduler's decision making
2520          when dealing with MIPS MT enabled cores at a cost of slightly
2521          increased overhead in some places. If unsure say N here.
2522
2523config SYS_SUPPORTS_SCHED_SMT
2524        bool
2525
2526config SYS_SUPPORTS_MULTITHREADING
2527        bool
2528
2529config MIPS_MT_FPAFF
2530        bool "Dynamic FPU affinity for FP-intensive threads"
2531        default y
2532        depends on MIPS_MT_SMP
2533
2534config MIPSR2_TO_R6_EMULATOR
2535        bool "MIPS R2-to-R6 emulator"
2536        depends on CPU_MIPSR6 && !SMP
2537        default y
2538        help
2539          Choose this option if you want to run non-R6 MIPS userland code.
2540          Even if you say 'Y' here, the emulator will still be disabled by
2541          default. You can enable it using the 'mipsr2emu' kernel option.
2542          The only reason this is a build-time option is to save ~14K from the
2543          final kernel image.
2544comment "MIPS R2-to-R6 emulator is only available for UP kernels"
2545        depends on SMP && CPU_MIPSR6
2546
2547config MIPS_VPE_LOADER
2548        bool "VPE loader support."
2549        depends on SYS_SUPPORTS_MULTITHREADING && MODULES
2550        select CPU_MIPSR2_IRQ_VI
2551        select CPU_MIPSR2_IRQ_EI
2552        select MIPS_MT
2553        help
2554          Includes a loader for loading an elf relocatable object
2555          onto another VPE and running it.
2556
2557config IFX_VPE_EXT
2558        bool "IFX APRP Extensions"
2559        depends on MIPS_VPE_LOADER
2560        default y
2561        help
2562          IFX included extensions in APRP
2563
2564config IFX_VPE_CACHE_SPLIT
2565        bool "IFX Cache Split Ways"
2566        depends on IFX_VPE_EXT
2567        help
2568          IFX extension for reserving (splitting) cache ways among VPEs. You must
2569          give kernel command line arguments vpe_icache_shared=0 or
2570          vpe_dcache_shared=0 to enable splitting of icache or dcache
2571          respectively. Then you can specify which cache ways should be
2572          assigned to which VPE. There are total 8 cache ways, 4 each
2573          for dcache and icache: dcache_way0, dcache_way1,dcache_way2,
2574          dcache_way3 and icache_way0,icache_way1, icache_way2,icache_way3.
2575
2576          For example, if you specify vpe_icache_shared=0 and icache_way2=1,
2577          then the 3rd icache way will be assigned to VPE0 and denied in VPE1.
2578
2579          For icache, software is required to make at least one cache way available
2580          for a VPE at all times i.e., one can't assign all the icache ways to one
2581          VPE.
2582
2583          By default, vpe_dcache_shared and vpe_icache_shared are set to 1
2584          (i.e., both icache and dcache are shared among VPEs)
2585
2586config PERFCTRS
2587        bool "34K Performance counters"
2588        depends on MIPS_MT && PROC_FS
2589        default n
2590        help
2591          34K Performance counter through /proc
2592
2593config MTSCHED
2594        bool "Support mtsched priority configuration for TCs"
2595        depends on MIPS_MT && PROC_FS
2596        default y
2597        help
2598          Support for mtsched priority configuration for TCs through
2599          /proc/mips/mtsched
2600
2601config MIPS_VPE_LOADER_CMP
2602        bool
2603        default "y"
2604        depends on MIPS_VPE_LOADER && MIPS_CMP
2605
2606config MIPS_VPE_LOADER_MT
2607        bool
2608        default "y"
2609        depends on MIPS_VPE_LOADER && !MIPS_CMP
2610
2611config MIPS_VPE_LOADER_TOM
2612        bool "Load VPE program into memory hidden from linux"
2613        depends on MIPS_VPE_LOADER
2614        default y
2615        help
2616          The loader can use memory that is present but has been hidden from
2617          Linux using the kernel command line option "mem=xxMB". It's up to
2618          you to ensure the amount you put in the option and the space your
2619          program requires is less or equal to the amount physically present.
2620
2621config MIPS_VPE_APSP_API
2622        bool "Enable support for AP/SP API (RTLX)"
2623        depends on MIPS_VPE_LOADER
2624        help
2625
2626config MIPS_VPE_APSP_API_CMP
2627        bool
2628        default "y"
2629        depends on MIPS_VPE_APSP_API && MIPS_CMP
2630
2631config MIPS_VPE_APSP_API_MT
2632        bool
2633        default "y"
2634        depends on MIPS_VPE_APSP_API && !MIPS_CMP
2635
2636config MIPS_CMP
2637        bool "MIPS CMP framework support (DEPRECATED)"
2638        depends on SYS_SUPPORTS_MIPS_CMP && !CPU_MIPSR6
2639        select SMP
2640        select SYNC_R4K
2641        select SYS_SUPPORTS_SMP
2642        select WEAK_ORDERING
2643        default n
2644        help
2645          Select this if you are using a bootloader which implements the "CMP
2646          framework" protocol (ie. YAMON) and want your kernel to make use of
2647          its ability to start secondary CPUs.
2648
2649          Unless you have a specific need, you should use CONFIG_MIPS_CPS
2650          instead of this.
2651
2652config MIPS_CPS
2653        bool "MIPS Coherent Processing System support"
2654        depends on SYS_SUPPORTS_MIPS_CPS
2655        select MIPS_CM
2656        select MIPS_CPC
2657        select MIPS_CPS_PM if HOTPLUG_CPU
2658        select SMP
2659        select SYNC_R4K if (CEVT_R4K || CSRC_R4K)
2660        select SYS_SUPPORTS_HOTPLUG_CPU
2661        select SYS_SUPPORTS_SMP
2662        select WEAK_ORDERING
2663        help
2664          Select this if you wish to run an SMP kernel across multiple cores
2665          within a MIPS Coherent Processing System. When this option is
2666          enabled the kernel will probe for other cores and boot them with
2667          no external assistance. It is safe to enable this when hardware
2668          support is unavailable.
2669
2670config MIPS_CPS_PM
2671        depends on MIPS_CPS
2672        select MIPS_CPC
2673        bool
2674
2675config MIPS_CM
2676        bool
2677
2678config MIPS_CPC
2679        bool
2680
2681config SB1_PASS_2_WORKAROUNDS
2682        bool
2683        depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2)
2684        default y
2685
2686config SB1_PASS_2_1_WORKAROUNDS
2687        bool
2688        depends on CPU_SB1 && CPU_SB1_PASS_2
2689        default y
2690
2691
2692config ARCH_PHYS_ADDR_T_64BIT
2693       bool
2694
2695choice
2696        prompt "SmartMIPS or microMIPS ASE support"
2697
2698config CPU_NEEDS_NO_SMARTMIPS_OR_MICROMIPS
2699        bool "None"
2700        help
2701          Select this if you want neither microMIPS nor SmartMIPS support
2702
2703config CPU_HAS_SMARTMIPS
2704        depends on SYS_SUPPORTS_SMARTMIPS
2705        bool "SmartMIPS"
2706        help
2707          SmartMIPS is a extension of the MIPS32 architecture aimed at
2708          increased security at both hardware and software level for
2709          smartcards.  Enabling this option will allow proper use of the
2710          SmartMIPS instructions by Linux applications.  However a kernel with
2711          this option will not work on a MIPS core without SmartMIPS core.  If
2712          you don't know you probably don't have SmartMIPS and should say N
2713          here.
2714
2715config CPU_MICROMIPS
2716        depends on 32BIT && SYS_SUPPORTS_MICROMIPS && !CPU_MIPSR6
2717        bool "microMIPS"
2718        help
2719          When this option is enabled the kernel will be built using the
2720          microMIPS ISA
2721
2722endchoice
2723
2724config CPU_HAS_MSA
2725        bool "Support for the MIPS SIMD Architecture"
2726        depends on CPU_SUPPORTS_MSA
2727        depends on 64BIT || MIPS_O32_FP64_SUPPORT
2728        help
2729          MIPS SIMD Architecture (MSA) introduces 128 bit wide vector registers
2730          and a set of SIMD instructions to operate on them. When this option
2731          is enabled the kernel will support allocating & switching MSA
2732          vector register contexts. If you know that your kernel will only be
2733          running on CPUs which do not support MSA or that your userland will
2734          not be making use of it then you may wish to say N here to reduce
2735          the size & complexity of your kernel.
2736
2737          If unsure, say Y.
2738
2739config CPU_HAS_WB
2740        bool
2741
2742config XKS01
2743        bool
2744
2745config CPU_HAS_RIXI
2746        bool
2747
2748#
2749# Vectored interrupt mode is an R2 feature
2750#
2751config CPU_MIPSR2_IRQ_VI
2752        bool
2753
2754#
2755# Extended interrupt mode is an R2 feature
2756#
2757config CPU_MIPSR2_IRQ_EI
2758        bool
2759
2760config CPU_HAS_SYNC
2761        bool
2762        depends on !CPU_R3000
2763        default y
2764
2765#
2766# CPU non-features
2767#
2768config CPU_DADDI_WORKAROUNDS
2769        bool
2770
2771config CPU_R4000_WORKAROUNDS
2772        bool
2773        select CPU_R4400_WORKAROUNDS
2774
2775config CPU_R4400_WORKAROUNDS
2776        bool
2777
2778config MIPS_ASID_SHIFT
2779        int
2780        default 6 if CPU_R3000 || CPU_TX39XX
2781        default 4 if CPU_R8000
2782        default 0
2783
2784config MIPS_ASID_BITS
2785        int
2786        default 0 if MIPS_ASID_BITS_VARIABLE
2787        default 6 if CPU_R3000 || CPU_TX39XX
2788        default 8
2789
2790config MIPS_ASID_BITS_VARIABLE
2791        bool
2792
2793#
2794# - Highmem only makes sense for the 32-bit kernel.
2795# - The current highmem code will only work properly on physically indexed
2796#   caches such as R3000, SB1, R7000 or those that look like they're virtually
2797#   indexed such as R4000/R4400 SC and MC versions or R10000.  So for the
2798#   moment we protect the user and offer the highmem option only on machines
2799#   where it's known to be safe.  This will not offer highmem on a few systems
2800#   such as MIPS32 and MIPS64 CPUs which may have virtual and physically
2801#   indexed CPUs but we're playing safe.
2802# - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we
2803#   know they might have memory configurations that could make use of highmem
2804#   support.
2805#
2806config HIGHMEM
2807        bool "High Memory Support"
2808        depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM && !CPU_MIPS32_3_5_EVA
2809
2810config CPU_SUPPORTS_HIGHMEM
2811        bool
2812
2813config SYS_SUPPORTS_HIGHMEM
2814        bool
2815
2816config SYS_SUPPORTS_SMARTMIPS
2817        bool
2818
2819config SYS_SUPPORTS_MICROMIPS
2820        bool
2821
2822config SYS_SUPPORTS_MIPS16
2823        bool
2824        help
2825          This option must be set if a kernel might be executed on a MIPS16-
2826          enabled CPU even if MIPS16 is not actually being used.  In other
2827          words, it makes the kernel MIPS16-tolerant.
2828
2829config CPU_SUPPORTS_MSA
2830        bool
2831
2832config ARCH_FLATMEM_ENABLE
2833        def_bool y
2834        depends on !NUMA && !CPU_LOONGSON2
2835
2836config ARCH_DISCONTIGMEM_ENABLE
2837        bool
2838        default y if SGI_IP27
2839        help
2840          Say Y to support efficient handling of discontiguous physical memory,
2841          for architectures which are either NUMA (Non-Uniform Memory Access)
2842          or have huge holes in the physical address space for other reasons.
2843          See <file:Documentation/vm/numa> for more.
2844
2845config ARCH_SPARSEMEM_ENABLE
2846        bool
2847        select SPARSEMEM_STATIC
2848
2849config NUMA
2850        bool "NUMA Support"
2851        depends on SYS_SUPPORTS_NUMA
2852        help
2853          Say Y to compile the kernel to support NUMA (Non-Uniform Memory
2854          Access).  This option improves performance on systems with more
2855          than two nodes; on two node systems it is generally better to
2856          leave it disabled; on single node systems disable this option
2857          disabled.
2858
2859config SYS_SUPPORTS_NUMA
2860        bool
2861
2862config RELOCATABLE
2863        bool "Relocatable kernel"
2864        depends on SYS_SUPPORTS_RELOCATABLE && (CPU_MIPS32_R2 || CPU_MIPS64_R2 || CPU_MIPS32_R6 || CPU_MIPS64_R6)
2865        help
2866          This builds a kernel image that retains relocation information
2867          so it can be loaded someplace besides the default 1MB.
2868          The relocations make the kernel binary about 15% larger,
2869          but are discarded at runtime
2870
2871config RELOCATION_TABLE_SIZE
2872        hex "Relocation table size"
2873        depends on RELOCATABLE
2874        range 0x0 0x01000000
2875        default "0x00100000"
2876        ---help---
2877          A table of relocation data will be appended to the kernel binary
2878          and parsed at boot to fix up the relocated kernel.
2879
2880          This option allows the amount of space reserved for the table to be
2881          adjusted, although the default of 1Mb should be ok in most cases.
2882
2883          The build will fail and a valid size suggested if this is too small.
2884
2885          If unsure, leave at the default value.
2886
2887config RANDOMIZE_BASE
2888        bool "Randomize the address of the kernel image"
2889        depends on RELOCATABLE
2890        ---help---
2891           Randomizes the physical and virtual address at which the
2892           kernel image is loaded, as a security feature that
2893           deters exploit attempts relying on knowledge of the location
2894           of kernel internals.
2895
2896           Entropy is generated using any coprocessor 0 registers available.
2897
2898           The kernel will be offset by up to RANDOMIZE_BASE_MAX_OFFSET.
2899
2900           If unsure, say N.
2901
2902config RANDOMIZE_BASE_MAX_OFFSET
2903        hex "Maximum kASLR offset" if EXPERT
2904        depends on RANDOMIZE_BASE
2905        range 0x0 0x40000000 if EVA || 64BIT
2906        range 0x0 0x08000000
2907        default "0x01000000"
2908        ---help---
2909          When kASLR is active, this provides the maximum offset that will
2910          be applied to the kernel image. It should be set according to the
2911          amount of physical RAM available in the target system minus
2912          PHYSICAL_START and must be a power of 2.
2913
2914          This is limited by the size of KSEG0, 256Mb on 32-bit or 1Gb with
2915          EVA or 64-bit. The default is 16Mb.
2916
2917config NODES_SHIFT
2918        int
2919        default "6"
2920        depends on NEED_MULTIPLE_NODES
2921
2922config HW_PERF_EVENTS
2923        bool "Enable hardware performance counter support for perf events"
2924        depends on PERF_EVENTS && !OPROFILE && (CPU_MIPS32 || CPU_MIPS64 || CPU_R10000 || CPU_SB1 || CPU_CAVIUM_OCTEON || CPU_XLP || CPU_LOONGSON3)
2925        default y
2926        help
2927          Enable hardware performance counter support for perf events. If
2928          disabled, perf events will use software events only.
2929
2930source "mm/Kconfig"
2931
2932config SMP
2933        bool "Multi-Processing support"
2934        depends on SYS_SUPPORTS_SMP
2935        help
2936          This enables support for systems with more than one CPU. If you have
2937          a system with only one CPU, say N. If you have a system with more
2938          than one CPU, say Y.
2939
2940          If you say N here, the kernel will run on uni- and multiprocessor
2941          machines, but will use only one CPU of a multiprocessor machine. If
2942          you say Y here, the kernel will run on many, but not all,
2943          uniprocessor machines. On a uniprocessor machine, the kernel
2944          will run faster if you say N here.
2945
2946          People using multiprocessor machines who say Y here should also say
2947          Y to "Enhanced Real Time Clock Support", below.
2948
2949          See also the SMP-HOWTO available at
2950          <http://www.tldp.org/docs.html#howto>.
2951
2952          If you don't know what to do here, say N.
2953
2954config HOTPLUG_CPU
2955        bool "Support for hot-pluggable CPUs"
2956        depends on SMP && SYS_SUPPORTS_HOTPLUG_CPU
2957        help
2958          Say Y here to allow turning CPUs off and on. CPUs can be
2959          controlled through /sys/devices/system/cpu.
2960          (Note: power management support will enable this option
2961            automatically on SMP systems. )
2962          Say N if you want to disable CPU hotplug.
2963
2964config SMP_UP
2965        bool
2966
2967config SYS_SUPPORTS_MIPS_CMP
2968        bool
2969
2970config SYS_SUPPORTS_MIPS_CPS
2971        bool
2972
2973config SYS_SUPPORTS_SMP
2974        bool
2975
2976config NR_CPUS_DEFAULT_4
2977        bool
2978
2979config NR_CPUS_DEFAULT_8
2980        bool
2981
2982config NR_CPUS_DEFAULT_16
2983        bool
2984
2985config NR_CPUS_DEFAULT_32
2986        bool
2987
2988config NR_CPUS_DEFAULT_64
2989        bool
2990
2991config NR_CPUS
2992        int "Maximum number of CPUs (2-256)"
2993        range 2 256
2994        depends on SMP
2995        default "4" if NR_CPUS_DEFAULT_4
2996        default "8" if NR_CPUS_DEFAULT_8
2997        default "16" if NR_CPUS_DEFAULT_16
2998        default "32" if NR_CPUS_DEFAULT_32
2999        default "64" if NR_CPUS_DEFAULT_64
3000        help
3001          This allows you to specify the maximum number of CPUs which this
3002          kernel will support.  The maximum supported value is 32 for 32-bit
3003          kernel and 64 for 64-bit kernels; the minimum value which makes
3004          sense is 1 for Qemu (useful only for kernel debugging purposes)
3005          and 2 for all others.
3006
3007          This is purely to save memory - each supported CPU adds
3008          approximately eight kilobytes to the kernel image.  For best
3009          performance should round up your number of processors to the next
3010          power of two.
3011
3012config MIPS_PERF_SHARED_TC_COUNTERS
3013        bool
3014
3015#
3016# Timer Interrupt Frequency Configuration
3017#
3018
3019choice
3020        prompt "Timer frequency"
3021        default HZ_250
3022        help
3023         Allows the configuration of the timer frequency.
3024
3025        config HZ_24
3026                bool "24 HZ" if SYS_SUPPORTS_24HZ || SYS_SUPPORTS_ARBIT_HZ
3027
3028        config HZ_48
3029                bool "48 HZ" if SYS_SUPPORTS_48HZ || SYS_SUPPORTS_ARBIT_HZ
3030
3031        config HZ_100
3032                bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ
3033
3034        config HZ_128
3035                bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ
3036
3037        config HZ_250
3038                bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ
3039
3040        config HZ_256
3041                bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ
3042
3043        config HZ_1000
3044                bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ
3045
3046        config HZ_1024
3047                bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ
3048
3049endchoice
3050
3051config SYS_SUPPORTS_24HZ
3052        bool
3053
3054config SYS_SUPPORTS_48HZ
3055        bool
3056
3057config SYS_SUPPORTS_100HZ
3058        bool
3059
3060config SYS_SUPPORTS_128HZ
3061        bool
3062
3063config SYS_SUPPORTS_250HZ
3064        bool
3065
3066config SYS_SUPPORTS_256HZ
3067        bool
3068
3069config SYS_SUPPORTS_1000HZ
3070        bool
3071
3072config SYS_SUPPORTS_1024HZ
3073        bool
3074
3075config SYS_SUPPORTS_ARBIT_HZ
3076        bool
3077        default y if !SYS_SUPPORTS_24HZ && \
3078                     !SYS_SUPPORTS_48HZ && \
3079                     !SYS_SUPPORTS_100HZ && \
3080                     !SYS_SUPPORTS_128HZ && \
3081                     !SYS_SUPPORTS_250HZ && \
3082                     !SYS_SUPPORTS_256HZ && \
3083                     !SYS_SUPPORTS_1000HZ && \
3084                     !SYS_SUPPORTS_1024HZ
3085
3086config HZ
3087        int
3088        default 24 if HZ_24
3089        default 48 if HZ_48
3090        default 100 if HZ_100
3091        default 128 if HZ_128
3092        default 250 if HZ_250
3093        default 256 if HZ_256
3094        default 1000 if HZ_1000
3095        default 1024 if HZ_1024
3096
3097config SCHED_HRTICK
3098        def_bool HIGH_RES_TIMERS
3099
3100source "kernel/Kconfig.preempt"
3101
3102config KEXEC
3103        bool "Kexec system call"
3104        select KEXEC_CORE
3105        help
3106          kexec is a system call that implements the ability to shutdown your
3107          current kernel, and to start another kernel.  It is like a reboot
3108          but it is independent of the system firmware.   And like a reboot
3109          you can start any kernel with it, not just Linux.
3110
3111          The name comes from the similarity to the exec system call.
3112
3113          It is an ongoing process to be certain the hardware in a machine
3114          is properly shutdown, so do not be surprised if this code does not
3115          initially work for you.  As of this writing the exact hardware
3116          interface is strongly in flux, so no good recommendation can be
3117          made.
3118
3119config CRASH_DUMP
3120          bool "Kernel crash dumps"
3121          help
3122          Generate crash dump after being started by kexec.
3123          This should be normally only set in special crash dump kernels
3124          which are loaded in the main kernel with kexec-tools into
3125          a specially reserved region and then later executed after
3126          a crash by kdump/kexec. The crash dump kernel must be compiled
3127          to a memory address not used by the main kernel or firmware using
3128          PHYSICAL_START.
3129
3130config PHYSICAL_START
3131          hex "Physical address where the kernel is loaded"
3132          default "0xffffffff84000000" if 64BIT
3133          default "0x84000000" if 32BIT
3134          depends on CRASH_DUMP
3135          help
3136          This gives the CKSEG0 or KSEG0 address where the kernel is loaded.
3137          If you plan to use kernel for capturing the crash dump change
3138          this value to start of the reserved region (the "X" value as
3139          specified in the "crashkernel=YM@XM" command line boot parameter
3140          passed to the panic-ed kernel).
3141
3142config SECCOMP
3143        bool "Enable seccomp to safely compute untrusted bytecode"
3144        depends on PROC_FS
3145        default y
3146        help
3147          This kernel feature is useful for number crunching applications
3148          that may need to compute untrusted bytecode during their
3149          execution. By using pipes or other transports made available to
3150          the process as file descriptors supporting the read/write
3151          syscalls, it's possible to isolate those applications in
3152          their own address space using seccomp. Once seccomp is
3153          enabled via /proc/<pid>/seccomp, it cannot be disabled
3154          and the task is only allowed to execute a few safe syscalls
3155          defined by each seccomp mode.
3156
3157          If unsure, say Y. Only embedded should say N here.
3158
3159config MIPS_O32_FP64_SUPPORT
3160        bool "Support for O32 binaries using 64-bit FP"
3161        depends on 32BIT || MIPS32_O32
3162        help
3163          When this is enabled, the kernel will support use of 64-bit floating
3164          point registers with binaries using the O32 ABI along with the
3165          EF_MIPS_FP64 ELF header flag (typically built with -mfp64). On
3166          32-bit MIPS systems this support is at the cost of increasing the
3167          size and complexity of the compiled FPU emulator. Thus if you are
3168          running a MIPS32 system and know that none of your userland binaries
3169          will require 64-bit floating point, you may wish to reduce the size
3170          of your kernel & potentially improve FP emulation performance by
3171          saying N here.
3172
3173          Although binutils currently supports use of this flag the details
3174          concerning its effect upon the O32 ABI in userland are still being
3175          worked on. In order to avoid userland becoming dependant upon current
3176          behaviour before the details have been finalised, this option should
3177          be considered experimental and only enabled by those working upon
3178          said details.
3179
3180          If unsure, say N.
3181
3182config MIPS_FPU_EMULATOR
3183        bool "MIPS FPU Emulator"
3184        default y
3185        help
3186          This option lets you disable the built-in MIPS FPU (Coprocessor 1)
3187          emulator, which handles floating-point instructions on processors
3188          without a hardware FPU.  It is generally a good idea to keep the
3189          emulator built-in, unless you are perfectly sure you have a
3190          complete soft-float environment.  With the emulator disabled, all
3191          users of float operations will be killed with an illegal instr-
3192          uction exception.
3193
3194          Say Y, please.
3195
3196config USE_OF
3197        bool
3198        select OF
3199        select OF_EARLY_FLATTREE
3200        select IRQ_DOMAIN
3201
3202config BOOT_RAW
3203        bool "Enable the kernel to be executed from the load address"
3204        default n
3205        help
3206         Allow the kernel to be executed from the load address for
3207         bootloaders which cannot read the ELF format. This places
3208         a jump to start_kernel at the load address.
3209
3210         If unsure, say N.
3211
3212
3213
3214config BUILTIN_DTB
3215        bool
3216
3217choice
3218        prompt "Kernel appended dtb support" if USE_OF
3219        default MIPS_NO_APPENDED_DTB
3220
3221        config MIPS_NO_APPENDED_DTB
3222                bool "None"
3223                help
3224                  Do not enable appended dtb support.
3225
3226        config MIPS_ELF_APPENDED_DTB
3227                bool "vmlinux"
3228                help
3229                  With this option, the boot code will look for a device tree binary
3230                  DTB) included in the vmlinux ELF section .appended_dtb. By default
3231                  it is empty and the DTB can be appended using binutils command
3232                  objcopy:
3233
3234                    objcopy --update-section .appended_dtb=<filename>.dtb vmlinux
3235
3236                  This is meant as a backward compatiblity convenience for those
3237                  systems with a bootloader that can't be upgraded to accommodate
3238                  the documented boot protocol using a device tree.
3239
3240        config MIPS_RAW_APPENDED_DTB
3241                bool "vmlinux.bin or vmlinuz.bin"
3242                help
3243                  With this option, the boot code will look for a device tree binary
3244                  DTB) appended to raw vmlinux.bin or vmlinuz.bin.
3245                  (e.g. cat vmlinux.bin <filename>.dtb > vmlinux_w_dtb).
3246
3247                  This is meant as a backward compatibility convenience for those
3248                  systems with a bootloader that can't be upgraded to accommodate
3249                  the documented boot protocol using a device tree.
3250
3251                  Beware that there is very little in terms of protection against
3252                  this option being confused by leftover garbage in memory that might
3253                  look like a DTB header after a reboot if no actual DTB is appended
3254                  to vmlinux.bin.  Do not leave this option active in a production kernel
3255                  if you don't intend to always append a DTB.
3256endchoice
3257
3258choice
3259        prompt "Kernel command line type" if !CMDLINE_OVERRIDE
3260        default MIPS_CMDLINE_FROM_DTB if USE_OF && !ATH79 && !MACH_INGENIC && \
3261                                         !MIPS_MALTA && \
3262                                         !CAVIUM_OCTEON_SOC
3263        default MIPS_CMDLINE_FROM_BOOTLOADER
3264
3265        config MIPS_CMDLINE_FROM_DTB
3266                depends on USE_OF
3267                bool "Dtb kernel arguments if available"
3268
3269        config MIPS_CMDLINE_DTB_EXTEND
3270                depends on USE_OF
3271                bool "Extend dtb kernel arguments with bootloader arguments"
3272
3273        config MIPS_CMDLINE_FROM_BOOTLOADER
3274                bool "Bootloader kernel arguments if available"
3275
3276        config MIPS_CMDLINE_BUILTIN_EXTEND
3277                depends on CMDLINE_BOOL
3278                bool "Extend builtin kernel arguments with bootloader arguments"
3279endchoice
3280
3281endmenu
3282
3283config LOCKDEP_SUPPORT
3284        bool
3285        default y
3286
3287config STACKTRACE_SUPPORT
3288        bool
3289        default y
3290
3291config HAVE_LATENCYTOP_SUPPORT
3292        bool
3293        default y
3294
3295config PGTABLE_LEVELS
3296        int
3297        default 3 if 64BIT && !PAGE_SIZE_64KB
3298        default 2
3299
3300source "init/Kconfig"
3301
3302source "kernel/Kconfig.freezer"
3303
3304menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
3305
3306config HW_HAS_EISA
3307        bool
3308config HW_HAS_PCI
3309        bool
3310
3311config PCI
3312        bool "Support for PCI controller"
3313        depends on HW_HAS_PCI
3314        select PCI_DOMAINS
3315        help
3316          Find out whether you have a PCI motherboard. PCI is the name of a
3317          bus system, i.e. the way the CPU talks to the other stuff inside
3318          your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
3319          say Y, otherwise N.
3320
3321config HT_PCI
3322        bool "Support for HT-linked PCI"
3323        default y
3324        depends on CPU_LOONGSON3
3325        select PCI
3326        select PCI_DOMAINS
3327        help
3328          Loongson family machines use Hyper-Transport bus for inter-core
3329          connection and device connection. The PCI bus is a subordinate
3330          linked at HT. Choose Y for Loongson-3 based machines.
3331
3332config PCI_DOMAINS
3333        bool
3334
3335config PCI_DOMAINS_GENERIC
3336        bool
3337
3338config PCI_DRIVERS_GENERIC
3339        select PCI_DOMAINS_GENERIC if PCI_DOMAINS
3340        bool
3341
3342config PCI_DRIVERS_LEGACY
3343        def_bool !PCI_DRIVERS_GENERIC
3344        select NO_GENERIC_PCI_IOPORT_MAP
3345
3346source "drivers/pci/Kconfig"
3347
3348#
3349# ISA support is now enabled via select.  Too many systems still have the one
3350# or other ISA chip on the board that users don't know about so don't expect
3351# users to choose the right thing ...
3352#
3353config ISA
3354        bool
3355
3356config EISA
3357        bool "EISA support"
3358        depends on HW_HAS_EISA
3359        select ISA
3360        select GENERIC_ISA_DMA
3361        ---help---
3362          The Extended Industry Standard Architecture (EISA) bus was
3363          developed as an open alternative to the IBM MicroChannel bus.
3364
3365          The EISA bus provided some of the features of the IBM MicroChannel
3366          bus while maintaining backward compatibility with cards made for
3367          the older ISA bus.  The EISA bus saw limited use between 1988 and
3368          1995 when it was made obsolete by the PCI bus.
3369
3370          Say Y here if you are building a kernel for an EISA-based machine.
3371
3372          Otherwise, say N.
3373
3374source "drivers/eisa/Kconfig"
3375
3376config TC
3377        bool "TURBOchannel support"
3378        depends on MACH_DECSTATION
3379        help
3380          TURBOchannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
3381          processors.  TURBOchannel programming specifications are available
3382          at:
3383          <ftp://ftp.hp.com/pub/alphaserver/archive/triadd/>
3384          and:
3385          <http://www.computer-refuge.org/classiccmp/ftp.digital.com/pub/DEC/TriAdd/>
3386          Linux driver support status is documented at:
3387          <http://www.linux-mips.org/wiki/DECstation>
3388
3389config MMU
3390        bool
3391        default y
3392
3393config I8253
3394        bool
3395        select CLKSRC_I8253
3396        select CLKEVT_I8253
3397        select MIPS_EXTERNAL_TIMER
3398
3399config ZONE_DMA
3400        bool
3401
3402config ZONE_DMA32
3403        bool
3404
3405source "drivers/pcmcia/Kconfig"
3406
3407config RAPIDIO
3408        tristate "RapidIO support"
3409        depends on PCI
3410        default n
3411        help
3412          If you say Y here, the kernel will include drivers and
3413          infrastructure code to support RapidIO interconnect devices.
3414
3415source "drivers/rapidio/Kconfig"
3416
3417endmenu
3418
3419menu "Executable file formats"
3420
3421source "fs/Kconfig.binfmt"
3422
3423config TRAD_SIGNALS
3424        bool
3425
3426config MIPS32_COMPAT
3427        bool
3428
3429config COMPAT
3430        bool
3431
3432config SYSVIPC_COMPAT
3433        bool
3434
3435config MIPS32_O32
3436        bool "Kernel support for o32 binaries"
3437        depends on 64BIT
3438        select ARCH_WANT_OLD_COMPAT_IPC
3439        select COMPAT
3440        select MIPS32_COMPAT
3441        select SYSVIPC_COMPAT if SYSVIPC
3442        help
3443          Select this option if you want to run o32 binaries.  These are pure
3444          32-bit binaries as used by the 32-bit Linux/MIPS port.  Most of
3445          existing binaries are in this format.
3446
3447          If unsure, say Y.
3448
3449config MIPS32_N32
3450        bool "Kernel support for n32 binaries"
3451        depends on 64BIT
3452        select COMPAT
3453        select MIPS32_COMPAT
3454        select SYSVIPC_COMPAT if SYSVIPC
3455        help
3456          Select this option if you want to run n32 binaries.  These are
3457          64-bit binaries using 32-bit quantities for addressing and certain
3458          data that would normally be 64-bit.  They are used in special
3459          cases.
3460
3461          If unsure, say N.
3462
3463config BINFMT_ELF32
3464        bool
3465        default y if MIPS32_O32 || MIPS32_N32
3466        select ELFCORE
3467
3468endmenu
3469
3470menu "Power management options"
3471
3472config ARCH_HIBERNATION_POSSIBLE
3473        def_bool y
3474        depends on (SYS_SUPPORTS_HOTPLUG_CPU || !SMP) && !ATHEROS && !RALINK_DEVICE && !MACH_AR7240 && !MACH_AR7100
3475
3476config ARCH_SUSPEND_POSSIBLE
3477        def_bool y
3478        depends on (SYS_SUPPORTS_HOTPLUG_CPU || !SMP) && !ATHEROS && !RALINK_DEVICE && !MACH_AR7240 && !MACH_AR7100
3479
3480source "kernel/power/Kconfig"
3481
3482endmenu
3483
3484config MIPS_EXTERNAL_TIMER
3485        bool
3486
3487menu "CPU Power Management"
3488
3489if CPU_SUPPORTS_CPUFREQ && MIPS_EXTERNAL_TIMER
3490source "drivers/cpufreq/Kconfig"
3491endif
3492
3493source "drivers/cpuidle/Kconfig"
3494
3495endmenu
3496
3497source "net/Kconfig"
3498
3499source "drivers/Kconfig"
3500
3501source "drivers/firmware/Kconfig"
3502
3503source "fs/Kconfig"
3504
3505source "arch/mips/Kconfig.debug"
3506
3507source "security/Kconfig"
3508
3509source "crypto/Kconfig"
3510
3511source "lib/Kconfig"
3512
3513source "arch/mips/kvm/Kconfig"
Note: See TracBrowser for help on using the repository browser.