18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
28c2ecf20Sopenharmony_ciconfig MIPS
38c2ecf20Sopenharmony_ci	bool
48c2ecf20Sopenharmony_ci	default y
58c2ecf20Sopenharmony_ci	select ARCH_32BIT_OFF_T if !64BIT
68c2ecf20Sopenharmony_ci	select ARCH_BINFMT_ELF_STATE if MIPS_FP_SUPPORT
78c2ecf20Sopenharmony_ci	select ARCH_HAS_CPU_FINALIZE_INIT
88c2ecf20Sopenharmony_ci	select ARCH_HAS_FORTIFY_SOURCE
98c2ecf20Sopenharmony_ci	select ARCH_HAS_KCOV
108c2ecf20Sopenharmony_ci	select ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE if !EVA
118c2ecf20Sopenharmony_ci	select ARCH_HAS_PTE_SPECIAL if !(32BIT && CPU_HAS_RIXI)
128c2ecf20Sopenharmony_ci	select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
138c2ecf20Sopenharmony_ci	select ARCH_HAS_UBSAN_SANITIZE_ALL
148c2ecf20Sopenharmony_ci	select ARCH_SUPPORTS_UPROBES
158c2ecf20Sopenharmony_ci	select ARCH_USE_BUILTIN_BSWAP
168c2ecf20Sopenharmony_ci	select ARCH_USE_CMPXCHG_LOCKREF if 64BIT
178c2ecf20Sopenharmony_ci	select ARCH_USE_QUEUED_RWLOCKS
188c2ecf20Sopenharmony_ci	select ARCH_USE_QUEUED_SPINLOCKS
198c2ecf20Sopenharmony_ci	select ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT if MMU
208c2ecf20Sopenharmony_ci	select ARCH_WANT_IPC_PARSE_VERSION
218c2ecf20Sopenharmony_ci	select BUILDTIME_TABLE_SORT
228c2ecf20Sopenharmony_ci	select CLONE_BACKWARDS
238c2ecf20Sopenharmony_ci	select CPU_NO_EFFICIENT_FFS if (TARGET_ISA_REV < 1)
248c2ecf20Sopenharmony_ci	select CPU_PM if CPU_IDLE
258c2ecf20Sopenharmony_ci	select GENERIC_ATOMIC64 if !64BIT
268c2ecf20Sopenharmony_ci	select GENERIC_CLOCKEVENTS
278c2ecf20Sopenharmony_ci	select GENERIC_CMOS_UPDATE
288c2ecf20Sopenharmony_ci	select GENERIC_CPU_AUTOPROBE
298c2ecf20Sopenharmony_ci	select GENERIC_GETTIMEOFDAY
308c2ecf20Sopenharmony_ci	select GENERIC_IOMAP
318c2ecf20Sopenharmony_ci	select GENERIC_IRQ_PROBE
328c2ecf20Sopenharmony_ci	select GENERIC_IRQ_SHOW
338c2ecf20Sopenharmony_ci	select GENERIC_ISA_DMA if EISA
348c2ecf20Sopenharmony_ci	select GENERIC_LIB_ASHLDI3
358c2ecf20Sopenharmony_ci	select GENERIC_LIB_ASHRDI3
368c2ecf20Sopenharmony_ci	select GENERIC_LIB_CMPDI2
378c2ecf20Sopenharmony_ci	select GENERIC_LIB_LSHRDI3
388c2ecf20Sopenharmony_ci	select GENERIC_LIB_UCMPDI2
398c2ecf20Sopenharmony_ci	select GENERIC_SCHED_CLOCK if !CAVIUM_OCTEON_SOC
408c2ecf20Sopenharmony_ci	select GENERIC_SMP_IDLE_THREAD
418c2ecf20Sopenharmony_ci	select GENERIC_TIME_VSYSCALL
428c2ecf20Sopenharmony_ci	select GUP_GET_PTE_LOW_HIGH if CPU_MIPS32 && PHYS_ADDR_T_64BIT
438c2ecf20Sopenharmony_ci	select HANDLE_DOMAIN_IRQ
448c2ecf20Sopenharmony_ci	select HAVE_ARCH_COMPILER_H
458c2ecf20Sopenharmony_ci	select HAVE_ARCH_JUMP_LABEL
468c2ecf20Sopenharmony_ci	select HAVE_ARCH_KGDB
478c2ecf20Sopenharmony_ci	select HAVE_ARCH_MMAP_RND_BITS if MMU
488c2ecf20Sopenharmony_ci	select HAVE_ARCH_MMAP_RND_COMPAT_BITS if MMU && COMPAT
498c2ecf20Sopenharmony_ci	select HAVE_ARCH_SECCOMP_FILTER
508c2ecf20Sopenharmony_ci	select HAVE_ARCH_TRACEHOOK
518c2ecf20Sopenharmony_ci	select HAVE_ARCH_TRANSPARENT_HUGEPAGE if CPU_SUPPORTS_HUGEPAGES
528c2ecf20Sopenharmony_ci	select HAVE_ASM_MODVERSIONS
538c2ecf20Sopenharmony_ci	select HAVE_CBPF_JIT if !64BIT && !CPU_MICROMIPS
548c2ecf20Sopenharmony_ci	select HAVE_CONTEXT_TRACKING
558c2ecf20Sopenharmony_ci	select HAVE_TIF_NOHZ
568c2ecf20Sopenharmony_ci	select HAVE_C_RECORDMCOUNT
578c2ecf20Sopenharmony_ci	select HAVE_DEBUG_KMEMLEAK
588c2ecf20Sopenharmony_ci	select HAVE_DEBUG_STACKOVERFLOW
598c2ecf20Sopenharmony_ci	select HAVE_DMA_CONTIGUOUS
608c2ecf20Sopenharmony_ci	select HAVE_DYNAMIC_FTRACE
618c2ecf20Sopenharmony_ci	select HAVE_EBPF_JIT if 64BIT && !CPU_MICROMIPS && TARGET_ISA_REV >= 2
628c2ecf20Sopenharmony_ci	select HAVE_EXIT_THREAD
638c2ecf20Sopenharmony_ci	select HAVE_FAST_GUP
648c2ecf20Sopenharmony_ci	select HAVE_FTRACE_MCOUNT_RECORD
658c2ecf20Sopenharmony_ci	select HAVE_FUNCTION_GRAPH_TRACER
668c2ecf20Sopenharmony_ci	select HAVE_FUNCTION_TRACER
678c2ecf20Sopenharmony_ci	select HAVE_GCC_PLUGINS
688c2ecf20Sopenharmony_ci	select HAVE_GENERIC_VDSO
698c2ecf20Sopenharmony_ci	select HAVE_IDE
708c2ecf20Sopenharmony_ci	select HAVE_IOREMAP_PROT
718c2ecf20Sopenharmony_ci	select HAVE_IRQ_EXIT_ON_IRQ_STACK
728c2ecf20Sopenharmony_ci	select HAVE_IRQ_TIME_ACCOUNTING
738c2ecf20Sopenharmony_ci	select HAVE_KPROBES
748c2ecf20Sopenharmony_ci	select HAVE_KRETPROBES
758c2ecf20Sopenharmony_ci	select HAVE_LD_DEAD_CODE_DATA_ELIMINATION
768c2ecf20Sopenharmony_ci	select HAVE_MOD_ARCH_SPECIFIC
778c2ecf20Sopenharmony_ci	select HAVE_NMI
788c2ecf20Sopenharmony_ci	select HAVE_OPROFILE
798c2ecf20Sopenharmony_ci	select HAVE_PERF_EVENTS
808c2ecf20Sopenharmony_ci	select HAVE_REGS_AND_STACK_ACCESS_API
818c2ecf20Sopenharmony_ci	select HAVE_RSEQ
828c2ecf20Sopenharmony_ci	select HAVE_SPARSE_SYSCALL_NR
838c2ecf20Sopenharmony_ci	select HAVE_STACKPROTECTOR
848c2ecf20Sopenharmony_ci	select HAVE_SYSCALL_TRACEPOINTS
858c2ecf20Sopenharmony_ci	select HAVE_VIRT_CPU_ACCOUNTING_GEN if 64BIT || !SMP
868c2ecf20Sopenharmony_ci	select IRQ_FORCED_THREADING
878c2ecf20Sopenharmony_ci	select ISA if EISA
888c2ecf20Sopenharmony_ci	select MODULES_USE_ELF_REL if MODULES
898c2ecf20Sopenharmony_ci	select MODULES_USE_ELF_RELA if MODULES && 64BIT
908c2ecf20Sopenharmony_ci	select PERF_USE_VMALLOC
918c2ecf20Sopenharmony_ci	select PCI_MSI_ARCH_FALLBACKS if PCI_MSI
928c2ecf20Sopenharmony_ci	select RTC_LIB
938c2ecf20Sopenharmony_ci	select SET_FS
948c2ecf20Sopenharmony_ci	select SYSCTL_EXCEPTION_TRACE
958c2ecf20Sopenharmony_ci	select VIRT_TO_BUS
968c2ecf20Sopenharmony_ci
978c2ecf20Sopenharmony_ciconfig MIPS_FIXUP_BIGPHYS_ADDR
988c2ecf20Sopenharmony_ci	bool
998c2ecf20Sopenharmony_ci
1008c2ecf20Sopenharmony_ciconfig MIPS_GENERIC
1018c2ecf20Sopenharmony_ci	bool
1028c2ecf20Sopenharmony_ci
1038c2ecf20Sopenharmony_ciconfig MACH_INGENIC
1048c2ecf20Sopenharmony_ci	bool
1058c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_32BIT_KERNEL
1068c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_LITTLE_ENDIAN
1078c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_ZBOOT
1088c2ecf20Sopenharmony_ci	select DMA_NONCOHERENT
1098c2ecf20Sopenharmony_ci	select IRQ_MIPS_CPU
1108c2ecf20Sopenharmony_ci	select PINCTRL
1118c2ecf20Sopenharmony_ci	select GPIOLIB
1128c2ecf20Sopenharmony_ci	select COMMON_CLK
1138c2ecf20Sopenharmony_ci	select GENERIC_IRQ_CHIP
1148c2ecf20Sopenharmony_ci	select BUILTIN_DTB if MIPS_NO_APPENDED_DTB
1158c2ecf20Sopenharmony_ci	select USE_OF
1168c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_CPUFREQ
1178c2ecf20Sopenharmony_ci	select MIPS_EXTERNAL_TIMER
1188c2ecf20Sopenharmony_ci
1198c2ecf20Sopenharmony_cimenu "Machine selection"
1208c2ecf20Sopenharmony_ci
1218c2ecf20Sopenharmony_cichoice
1228c2ecf20Sopenharmony_ci	prompt "System type"
1238c2ecf20Sopenharmony_ci	default MIPS_GENERIC_KERNEL
1248c2ecf20Sopenharmony_ci
1258c2ecf20Sopenharmony_ciconfig MIPS_GENERIC_KERNEL
1268c2ecf20Sopenharmony_ci	bool "Generic board-agnostic MIPS kernel"
1278c2ecf20Sopenharmony_ci	select MIPS_GENERIC
1288c2ecf20Sopenharmony_ci	select BOOT_RAW
1298c2ecf20Sopenharmony_ci	select BUILTIN_DTB
1308c2ecf20Sopenharmony_ci	select CEVT_R4K
1318c2ecf20Sopenharmony_ci	select CLKSRC_MIPS_GIC
1328c2ecf20Sopenharmony_ci	select COMMON_CLK
1338c2ecf20Sopenharmony_ci	select CPU_MIPSR2_IRQ_EI
1348c2ecf20Sopenharmony_ci	select CPU_MIPSR2_IRQ_VI
1358c2ecf20Sopenharmony_ci	select CSRC_R4K
1368c2ecf20Sopenharmony_ci	select DMA_PERDEV_COHERENT
1378c2ecf20Sopenharmony_ci	select HAVE_PCI
1388c2ecf20Sopenharmony_ci	select IRQ_MIPS_CPU
1398c2ecf20Sopenharmony_ci	select MIPS_AUTO_PFN_OFFSET
1408c2ecf20Sopenharmony_ci	select MIPS_CPU_SCACHE
1418c2ecf20Sopenharmony_ci	select MIPS_GIC
1428c2ecf20Sopenharmony_ci	select MIPS_L1_CACHE_SHIFT_7
1438c2ecf20Sopenharmony_ci	select NO_EXCEPT_FILL
1448c2ecf20Sopenharmony_ci	select PCI_DRIVERS_GENERIC
1458c2ecf20Sopenharmony_ci	select SMP_UP if SMP
1468c2ecf20Sopenharmony_ci	select SWAP_IO_SPACE
1478c2ecf20Sopenharmony_ci	select SYS_HAS_CPU_MIPS32_R1
1488c2ecf20Sopenharmony_ci	select SYS_HAS_CPU_MIPS32_R2
1498c2ecf20Sopenharmony_ci	select SYS_HAS_CPU_MIPS32_R6
1508c2ecf20Sopenharmony_ci	select SYS_HAS_CPU_MIPS64_R1
1518c2ecf20Sopenharmony_ci	select SYS_HAS_CPU_MIPS64_R2
1528c2ecf20Sopenharmony_ci	select SYS_HAS_CPU_MIPS64_R6
1538c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_32BIT_KERNEL
1548c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_64BIT_KERNEL
1558c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_BIG_ENDIAN
1568c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_HIGHMEM
1578c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_LITTLE_ENDIAN
1588c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_MICROMIPS
1598c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_MIPS16
1608c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_MIPS_CPS
1618c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_MULTITHREADING
1628c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_RELOCATABLE
1638c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_SMARTMIPS
1648c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_ZBOOT
1658c2ecf20Sopenharmony_ci	select UHI_BOOT
1668c2ecf20Sopenharmony_ci	select USB_EHCI_BIG_ENDIAN_DESC if CPU_BIG_ENDIAN
1678c2ecf20Sopenharmony_ci	select USB_EHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN
1688c2ecf20Sopenharmony_ci	select USB_OHCI_BIG_ENDIAN_DESC if CPU_BIG_ENDIAN
1698c2ecf20Sopenharmony_ci	select USB_OHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN
1708c2ecf20Sopenharmony_ci	select USB_UHCI_BIG_ENDIAN_DESC if CPU_BIG_ENDIAN
1718c2ecf20Sopenharmony_ci	select USB_UHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN
1728c2ecf20Sopenharmony_ci	select USE_OF
1738c2ecf20Sopenharmony_ci	help
1748c2ecf20Sopenharmony_ci	  Select this to build a kernel which aims to support multiple boards,
1758c2ecf20Sopenharmony_ci	  generally using a flattened device tree passed from the bootloader
1768c2ecf20Sopenharmony_ci	  using the boot protocol defined in the UHI (Unified Hosting
1778c2ecf20Sopenharmony_ci	  Interface) specification.
1788c2ecf20Sopenharmony_ci
1798c2ecf20Sopenharmony_ciconfig MIPS_ALCHEMY
1808c2ecf20Sopenharmony_ci	bool "Alchemy processor based machines"
1818c2ecf20Sopenharmony_ci	select PHYS_ADDR_T_64BIT
1828c2ecf20Sopenharmony_ci	select CEVT_R4K
1838c2ecf20Sopenharmony_ci	select CSRC_R4K
1848c2ecf20Sopenharmony_ci	select IRQ_MIPS_CPU
1858c2ecf20Sopenharmony_ci	select DMA_MAYBE_COHERENT	# Au1000,1500,1100 aren't, rest is
1868c2ecf20Sopenharmony_ci	select MIPS_FIXUP_BIGPHYS_ADDR if PCI
1878c2ecf20Sopenharmony_ci	select SYS_HAS_CPU_MIPS32_R1
1888c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_32BIT_KERNEL
1898c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_APM_EMULATION
1908c2ecf20Sopenharmony_ci	select GPIOLIB
1918c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_ZBOOT
1928c2ecf20Sopenharmony_ci	select COMMON_CLK
1938c2ecf20Sopenharmony_ci
1948c2ecf20Sopenharmony_ciconfig AR7
1958c2ecf20Sopenharmony_ci	bool "Texas Instruments AR7"
1968c2ecf20Sopenharmony_ci	select BOOT_ELF32
1978c2ecf20Sopenharmony_ci	select DMA_NONCOHERENT
1988c2ecf20Sopenharmony_ci	select CEVT_R4K
1998c2ecf20Sopenharmony_ci	select CSRC_R4K
2008c2ecf20Sopenharmony_ci	select IRQ_MIPS_CPU
2018c2ecf20Sopenharmony_ci	select NO_EXCEPT_FILL
2028c2ecf20Sopenharmony_ci	select SWAP_IO_SPACE
2038c2ecf20Sopenharmony_ci	select SYS_HAS_CPU_MIPS32_R1
2048c2ecf20Sopenharmony_ci	select SYS_HAS_EARLY_PRINTK
2058c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_32BIT_KERNEL
2068c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_LITTLE_ENDIAN
2078c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_MIPS16
2088c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_ZBOOT_UART16550
2098c2ecf20Sopenharmony_ci	select GPIOLIB
2108c2ecf20Sopenharmony_ci	select VLYNQ
2118c2ecf20Sopenharmony_ci	select HAVE_LEGACY_CLK
2128c2ecf20Sopenharmony_ci	help
2138c2ecf20Sopenharmony_ci	  Support for the Texas Instruments AR7 System-on-a-Chip
2148c2ecf20Sopenharmony_ci	  family: TNETD7100, 7200 and 7300.
2158c2ecf20Sopenharmony_ci
2168c2ecf20Sopenharmony_ciconfig ATH25
2178c2ecf20Sopenharmony_ci	bool "Atheros AR231x/AR531x SoC support"
2188c2ecf20Sopenharmony_ci	select CEVT_R4K
2198c2ecf20Sopenharmony_ci	select CSRC_R4K
2208c2ecf20Sopenharmony_ci	select DMA_NONCOHERENT
2218c2ecf20Sopenharmony_ci	select IRQ_MIPS_CPU
2228c2ecf20Sopenharmony_ci	select IRQ_DOMAIN
2238c2ecf20Sopenharmony_ci	select SYS_HAS_CPU_MIPS32_R1
2248c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_BIG_ENDIAN
2258c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_32BIT_KERNEL
2268c2ecf20Sopenharmony_ci	select SYS_HAS_EARLY_PRINTK
2278c2ecf20Sopenharmony_ci	help
2288c2ecf20Sopenharmony_ci	  Support for Atheros AR231x and Atheros AR531x based boards
2298c2ecf20Sopenharmony_ci
2308c2ecf20Sopenharmony_ciconfig ATH79
2318c2ecf20Sopenharmony_ci	bool "Atheros AR71XX/AR724X/AR913X based boards"
2328c2ecf20Sopenharmony_ci	select ARCH_HAS_RESET_CONTROLLER
2338c2ecf20Sopenharmony_ci	select BOOT_RAW
2348c2ecf20Sopenharmony_ci	select CEVT_R4K
2358c2ecf20Sopenharmony_ci	select CSRC_R4K
2368c2ecf20Sopenharmony_ci	select DMA_NONCOHERENT
2378c2ecf20Sopenharmony_ci	select GPIOLIB
2388c2ecf20Sopenharmony_ci	select PINCTRL
2398c2ecf20Sopenharmony_ci	select COMMON_CLK
2408c2ecf20Sopenharmony_ci	select IRQ_MIPS_CPU
2418c2ecf20Sopenharmony_ci	select SYS_HAS_CPU_MIPS32_R2
2428c2ecf20Sopenharmony_ci	select SYS_HAS_EARLY_PRINTK
2438c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_32BIT_KERNEL
2448c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_BIG_ENDIAN
2458c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_MIPS16
2468c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_ZBOOT_UART_PROM
2478c2ecf20Sopenharmony_ci	select USE_OF
2488c2ecf20Sopenharmony_ci	select USB_EHCI_ROOT_HUB_TT if USB_EHCI_HCD_PLATFORM
2498c2ecf20Sopenharmony_ci	help
2508c2ecf20Sopenharmony_ci	  Support for the Atheros AR71XX/AR724X/AR913X SoCs.
2518c2ecf20Sopenharmony_ci
2528c2ecf20Sopenharmony_ciconfig BMIPS_GENERIC
2538c2ecf20Sopenharmony_ci	bool "Broadcom Generic BMIPS kernel"
2548c2ecf20Sopenharmony_ci	select ARCH_HAS_SYNC_DMA_FOR_CPU_ALL
2558c2ecf20Sopenharmony_ci	select ARCH_HAS_PHYS_TO_DMA
2568c2ecf20Sopenharmony_ci	select BOOT_RAW
2578c2ecf20Sopenharmony_ci	select NO_EXCEPT_FILL
2588c2ecf20Sopenharmony_ci	select USE_OF
2598c2ecf20Sopenharmony_ci	select CEVT_R4K
2608c2ecf20Sopenharmony_ci	select CSRC_R4K
2618c2ecf20Sopenharmony_ci	select SYNC_R4K
2628c2ecf20Sopenharmony_ci	select COMMON_CLK
2638c2ecf20Sopenharmony_ci	select BCM6345_L1_IRQ
2648c2ecf20Sopenharmony_ci	select BCM7038_L1_IRQ
2658c2ecf20Sopenharmony_ci	select BCM7120_L2_IRQ
2668c2ecf20Sopenharmony_ci	select BRCMSTB_L2_IRQ
2678c2ecf20Sopenharmony_ci	select IRQ_MIPS_CPU
2688c2ecf20Sopenharmony_ci	select DMA_NONCOHERENT
2698c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_32BIT_KERNEL
2708c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_LITTLE_ENDIAN
2718c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_BIG_ENDIAN
2728c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_HIGHMEM
2738c2ecf20Sopenharmony_ci	select SYS_HAS_CPU_BMIPS32_3300
2748c2ecf20Sopenharmony_ci	select SYS_HAS_CPU_BMIPS4350
2758c2ecf20Sopenharmony_ci	select SYS_HAS_CPU_BMIPS4380
2768c2ecf20Sopenharmony_ci	select SYS_HAS_CPU_BMIPS5000
2778c2ecf20Sopenharmony_ci	select SWAP_IO_SPACE
2788c2ecf20Sopenharmony_ci	select USB_EHCI_BIG_ENDIAN_DESC if CPU_BIG_ENDIAN
2798c2ecf20Sopenharmony_ci	select USB_EHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN
2808c2ecf20Sopenharmony_ci	select USB_OHCI_BIG_ENDIAN_DESC if CPU_BIG_ENDIAN
2818c2ecf20Sopenharmony_ci	select USB_OHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN
2828c2ecf20Sopenharmony_ci	select HARDIRQS_SW_RESEND
2838c2ecf20Sopenharmony_ci	help
2848c2ecf20Sopenharmony_ci	  Build a generic DT-based kernel image that boots on select
2858c2ecf20Sopenharmony_ci	  BCM33xx cable modem chips, BCM63xx DSL chips, and BCM7xxx set-top
2868c2ecf20Sopenharmony_ci	  box chips.  Note that CONFIG_CPU_BIG_ENDIAN/CONFIG_CPU_LITTLE_ENDIAN
2878c2ecf20Sopenharmony_ci	  must be set appropriately for your board.
2888c2ecf20Sopenharmony_ci
2898c2ecf20Sopenharmony_ciconfig BCM47XX
2908c2ecf20Sopenharmony_ci	bool "Broadcom BCM47XX based boards"
2918c2ecf20Sopenharmony_ci	select BOOT_RAW
2928c2ecf20Sopenharmony_ci	select CEVT_R4K
2938c2ecf20Sopenharmony_ci	select CSRC_R4K
2948c2ecf20Sopenharmony_ci	select DMA_NONCOHERENT
2958c2ecf20Sopenharmony_ci	select HAVE_PCI
2968c2ecf20Sopenharmony_ci	select IRQ_MIPS_CPU
2978c2ecf20Sopenharmony_ci	select SYS_HAS_CPU_MIPS32_R1
2988c2ecf20Sopenharmony_ci	select NO_EXCEPT_FILL
2998c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_32BIT_KERNEL
3008c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_LITTLE_ENDIAN
3018c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_MIPS16
3028c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_ZBOOT
3038c2ecf20Sopenharmony_ci	select SYS_HAS_EARLY_PRINTK
3048c2ecf20Sopenharmony_ci	select USE_GENERIC_EARLY_PRINTK_8250
3058c2ecf20Sopenharmony_ci	select GPIOLIB
3068c2ecf20Sopenharmony_ci	select LEDS_GPIO_REGISTER
3078c2ecf20Sopenharmony_ci	select BCM47XX_NVRAM
3088c2ecf20Sopenharmony_ci	select BCM47XX_SPROM
3098c2ecf20Sopenharmony_ci	select BCM47XX_SSB if !BCM47XX_BCMA
3108c2ecf20Sopenharmony_ci	help
3118c2ecf20Sopenharmony_ci	  Support for BCM47XX based boards
3128c2ecf20Sopenharmony_ci
3138c2ecf20Sopenharmony_ciconfig BCM63XX
3148c2ecf20Sopenharmony_ci	bool "Broadcom BCM63XX based boards"
3158c2ecf20Sopenharmony_ci	select BOOT_RAW
3168c2ecf20Sopenharmony_ci	select CEVT_R4K
3178c2ecf20Sopenharmony_ci	select CSRC_R4K
3188c2ecf20Sopenharmony_ci	select SYNC_R4K
3198c2ecf20Sopenharmony_ci	select DMA_NONCOHERENT
3208c2ecf20Sopenharmony_ci	select IRQ_MIPS_CPU
3218c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_32BIT_KERNEL
3228c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_BIG_ENDIAN
3238c2ecf20Sopenharmony_ci	select SYS_HAS_EARLY_PRINTK
3248c2ecf20Sopenharmony_ci	select SYS_HAS_CPU_BMIPS32_3300
3258c2ecf20Sopenharmony_ci	select SYS_HAS_CPU_BMIPS4350
3268c2ecf20Sopenharmony_ci	select SYS_HAS_CPU_BMIPS4380
3278c2ecf20Sopenharmony_ci	select SWAP_IO_SPACE
3288c2ecf20Sopenharmony_ci	select GPIOLIB
3298c2ecf20Sopenharmony_ci	select MIPS_L1_CACHE_SHIFT_4
3308c2ecf20Sopenharmony_ci	select CLKDEV_LOOKUP
3318c2ecf20Sopenharmony_ci	select HAVE_LEGACY_CLK
3328c2ecf20Sopenharmony_ci	help
3338c2ecf20Sopenharmony_ci	  Support for BCM63XX based boards
3348c2ecf20Sopenharmony_ci
3358c2ecf20Sopenharmony_ciconfig MIPS_COBALT
3368c2ecf20Sopenharmony_ci	bool "Cobalt Server"
3378c2ecf20Sopenharmony_ci	select CEVT_R4K
3388c2ecf20Sopenharmony_ci	select CSRC_R4K
3398c2ecf20Sopenharmony_ci	select CEVT_GT641XX
3408c2ecf20Sopenharmony_ci	select DMA_NONCOHERENT
3418c2ecf20Sopenharmony_ci	select FORCE_PCI
3428c2ecf20Sopenharmony_ci	select I8253
3438c2ecf20Sopenharmony_ci	select I8259
3448c2ecf20Sopenharmony_ci	select IRQ_MIPS_CPU
3458c2ecf20Sopenharmony_ci	select IRQ_GT641XX
3468c2ecf20Sopenharmony_ci	select PCI_GT64XXX_PCI0
3478c2ecf20Sopenharmony_ci	select SYS_HAS_CPU_NEVADA
3488c2ecf20Sopenharmony_ci	select SYS_HAS_EARLY_PRINTK
3498c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_32BIT_KERNEL
3508c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_64BIT_KERNEL
3518c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_LITTLE_ENDIAN
3528c2ecf20Sopenharmony_ci	select USE_GENERIC_EARLY_PRINTK_8250
3538c2ecf20Sopenharmony_ci
3548c2ecf20Sopenharmony_ciconfig MACH_DECSTATION
3558c2ecf20Sopenharmony_ci	bool "DECstations"
3568c2ecf20Sopenharmony_ci	select BOOT_ELF32
3578c2ecf20Sopenharmony_ci	select CEVT_DS1287
3588c2ecf20Sopenharmony_ci	select CEVT_R4K if CPU_R4X00
3598c2ecf20Sopenharmony_ci	select CSRC_IOASIC
3608c2ecf20Sopenharmony_ci	select CSRC_R4K if CPU_R4X00
3618c2ecf20Sopenharmony_ci	select CPU_DADDI_WORKAROUNDS if 64BIT
3628c2ecf20Sopenharmony_ci	select CPU_R4000_WORKAROUNDS if 64BIT
3638c2ecf20Sopenharmony_ci	select CPU_R4400_WORKAROUNDS if 64BIT
3648c2ecf20Sopenharmony_ci	select DMA_NONCOHERENT
3658c2ecf20Sopenharmony_ci	select NO_IOPORT_MAP
3668c2ecf20Sopenharmony_ci	select IRQ_MIPS_CPU
3678c2ecf20Sopenharmony_ci	select SYS_HAS_CPU_R3000
3688c2ecf20Sopenharmony_ci	select SYS_HAS_CPU_R4X00
3698c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_32BIT_KERNEL
3708c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_64BIT_KERNEL
3718c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_LITTLE_ENDIAN
3728c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_128HZ
3738c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_256HZ
3748c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_1024HZ
3758c2ecf20Sopenharmony_ci	select MIPS_L1_CACHE_SHIFT_4
3768c2ecf20Sopenharmony_ci	help
3778c2ecf20Sopenharmony_ci	  This enables support for DEC's MIPS based workstations.  For details
3788c2ecf20Sopenharmony_ci	  see the Linux/MIPS FAQ on <http://www.linux-mips.org/> and the
3798c2ecf20Sopenharmony_ci	  DECstation porting pages on <http://decstation.unix-ag.org/>.
3808c2ecf20Sopenharmony_ci
3818c2ecf20Sopenharmony_ci	  If you have one of the following DECstation Models you definitely
3828c2ecf20Sopenharmony_ci	  want to choose R4xx0 for the CPU Type:
3838c2ecf20Sopenharmony_ci
3848c2ecf20Sopenharmony_ci		DECstation 5000/50
3858c2ecf20Sopenharmony_ci		DECstation 5000/150
3868c2ecf20Sopenharmony_ci		DECstation 5000/260
3878c2ecf20Sopenharmony_ci		DECsystem 5900/260
3888c2ecf20Sopenharmony_ci
3898c2ecf20Sopenharmony_ci	  otherwise choose R3000.
3908c2ecf20Sopenharmony_ci
3918c2ecf20Sopenharmony_ciconfig MACH_JAZZ
3928c2ecf20Sopenharmony_ci	bool "Jazz family of machines"
3938c2ecf20Sopenharmony_ci	select ARC_MEMORY
3948c2ecf20Sopenharmony_ci	select ARC_PROMLIB
3958c2ecf20Sopenharmony_ci	select ARCH_MIGHT_HAVE_PC_PARPORT
3968c2ecf20Sopenharmony_ci	select ARCH_MIGHT_HAVE_PC_SERIO
3978c2ecf20Sopenharmony_ci	select DMA_OPS
3988c2ecf20Sopenharmony_ci	select FW_ARC
3998c2ecf20Sopenharmony_ci	select FW_ARC32
4008c2ecf20Sopenharmony_ci	select ARCH_MAY_HAVE_PC_FDC
4018c2ecf20Sopenharmony_ci	select CEVT_R4K
4028c2ecf20Sopenharmony_ci	select CSRC_R4K
4038c2ecf20Sopenharmony_ci	select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
4048c2ecf20Sopenharmony_ci	select GENERIC_ISA_DMA
4058c2ecf20Sopenharmony_ci	select HAVE_PCSPKR_PLATFORM
4068c2ecf20Sopenharmony_ci	select IRQ_MIPS_CPU
4078c2ecf20Sopenharmony_ci	select I8253
4088c2ecf20Sopenharmony_ci	select I8259
4098c2ecf20Sopenharmony_ci	select ISA
4108c2ecf20Sopenharmony_ci	select SYS_HAS_CPU_R4X00
4118c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_32BIT_KERNEL
4128c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_64BIT_KERNEL
4138c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_100HZ
4148c2ecf20Sopenharmony_ci	help
4158c2ecf20Sopenharmony_ci	  This a family of machines based on the MIPS R4030 chipset which was
4168c2ecf20Sopenharmony_ci	  used by several vendors to build RISC/os and Windows NT workstations.
4178c2ecf20Sopenharmony_ci	  Members include the Acer PICA, MIPS Magnum 4000, MIPS Millennium and
4188c2ecf20Sopenharmony_ci	  Olivetti M700-10 workstations.
4198c2ecf20Sopenharmony_ci
4208c2ecf20Sopenharmony_ciconfig MACH_INGENIC_SOC
4218c2ecf20Sopenharmony_ci	bool "Ingenic SoC based machines"
4228c2ecf20Sopenharmony_ci	select MIPS_GENERIC
4238c2ecf20Sopenharmony_ci	select MACH_INGENIC
4248c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_ZBOOT_UART16550
4258c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_CPUFREQ
4268c2ecf20Sopenharmony_ci	select MIPS_EXTERNAL_TIMER
4278c2ecf20Sopenharmony_ci
4288c2ecf20Sopenharmony_ciconfig LANTIQ
4298c2ecf20Sopenharmony_ci	bool "Lantiq based platforms"
4308c2ecf20Sopenharmony_ci	select DMA_NONCOHERENT
4318c2ecf20Sopenharmony_ci	select IRQ_MIPS_CPU
4328c2ecf20Sopenharmony_ci	select CEVT_R4K
4338c2ecf20Sopenharmony_ci	select CSRC_R4K
4348c2ecf20Sopenharmony_ci	select SYS_HAS_CPU_MIPS32_R1
4358c2ecf20Sopenharmony_ci	select SYS_HAS_CPU_MIPS32_R2
4368c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_BIG_ENDIAN
4378c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_32BIT_KERNEL
4388c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_MIPS16
4398c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_MULTITHREADING
4408c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_VPE_LOADER
4418c2ecf20Sopenharmony_ci	select SYS_HAS_EARLY_PRINTK
4428c2ecf20Sopenharmony_ci	select GPIOLIB
4438c2ecf20Sopenharmony_ci	select SWAP_IO_SPACE
4448c2ecf20Sopenharmony_ci	select BOOT_RAW
4458c2ecf20Sopenharmony_ci	select CLKDEV_LOOKUP
4468c2ecf20Sopenharmony_ci	select HAVE_LEGACY_CLK
4478c2ecf20Sopenharmony_ci	select USE_OF
4488c2ecf20Sopenharmony_ci	select PINCTRL
4498c2ecf20Sopenharmony_ci	select PINCTRL_LANTIQ
4508c2ecf20Sopenharmony_ci	select ARCH_HAS_RESET_CONTROLLER
4518c2ecf20Sopenharmony_ci	select RESET_CONTROLLER
4528c2ecf20Sopenharmony_ci
4538c2ecf20Sopenharmony_ciconfig MACH_LOONGSON32
4548c2ecf20Sopenharmony_ci	bool "Loongson 32-bit family of machines"
4558c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_ZBOOT
4568c2ecf20Sopenharmony_ci	help
4578c2ecf20Sopenharmony_ci	  This enables support for the Loongson-1 family of machines.
4588c2ecf20Sopenharmony_ci
4598c2ecf20Sopenharmony_ci	  Loongson-1 is a family of 32-bit MIPS-compatible SoCs developed by
4608c2ecf20Sopenharmony_ci	  the Institute of Computing Technology (ICT), Chinese Academy of
4618c2ecf20Sopenharmony_ci	  Sciences (CAS).
4628c2ecf20Sopenharmony_ci
4638c2ecf20Sopenharmony_ciconfig MACH_LOONGSON2EF
4648c2ecf20Sopenharmony_ci	bool "Loongson-2E/F family of machines"
4658c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_ZBOOT
4668c2ecf20Sopenharmony_ci	help
4678c2ecf20Sopenharmony_ci	  This enables the support of early Loongson-2E/F family of machines.
4688c2ecf20Sopenharmony_ci
4698c2ecf20Sopenharmony_ciconfig MACH_LOONGSON64
4708c2ecf20Sopenharmony_ci	bool "Loongson 64-bit family of machines"
4718c2ecf20Sopenharmony_ci	select ARCH_SPARSEMEM_ENABLE
4728c2ecf20Sopenharmony_ci	select ARCH_MIGHT_HAVE_PC_PARPORT
4738c2ecf20Sopenharmony_ci	select ARCH_MIGHT_HAVE_PC_SERIO
4748c2ecf20Sopenharmony_ci	select GENERIC_ISA_DMA_SUPPORT_BROKEN
4758c2ecf20Sopenharmony_ci	select BOOT_ELF32
4768c2ecf20Sopenharmony_ci	select BOARD_SCACHE
4778c2ecf20Sopenharmony_ci	select CSRC_R4K
4788c2ecf20Sopenharmony_ci	select CEVT_R4K
4798c2ecf20Sopenharmony_ci	select CPU_HAS_WB
4808c2ecf20Sopenharmony_ci	select FORCE_PCI
4818c2ecf20Sopenharmony_ci	select ISA
4828c2ecf20Sopenharmony_ci	select I8259
4838c2ecf20Sopenharmony_ci	select IRQ_MIPS_CPU
4848c2ecf20Sopenharmony_ci	select NO_EXCEPT_FILL
4858c2ecf20Sopenharmony_ci	select NR_CPUS_DEFAULT_64
4868c2ecf20Sopenharmony_ci	select USE_GENERIC_EARLY_PRINTK_8250
4878c2ecf20Sopenharmony_ci	select PCI_DRIVERS_GENERIC
4888c2ecf20Sopenharmony_ci	select SYS_HAS_CPU_LOONGSON64
4898c2ecf20Sopenharmony_ci	select SYS_HAS_EARLY_PRINTK
4908c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_SMP
4918c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_HOTPLUG_CPU
4928c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_NUMA
4938c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_64BIT_KERNEL
4948c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_HIGHMEM
4958c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_LITTLE_ENDIAN
4968c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_ZBOOT
4978c2ecf20Sopenharmony_ci	select ZONE_DMA32
4988c2ecf20Sopenharmony_ci	select NUMA
4998c2ecf20Sopenharmony_ci	select SMP
5008c2ecf20Sopenharmony_ci	select COMMON_CLK
5018c2ecf20Sopenharmony_ci	select USE_OF
5028c2ecf20Sopenharmony_ci	select BUILTIN_DTB
5038c2ecf20Sopenharmony_ci	select PCI_HOST_GENERIC
5048c2ecf20Sopenharmony_ci	help
5058c2ecf20Sopenharmony_ci	  This enables the support of Loongson-2/3 family of machines.
5068c2ecf20Sopenharmony_ci
5078c2ecf20Sopenharmony_ci	  Loongson-2 and Loongson-3 are 64-bit general-purpose processors with
5088c2ecf20Sopenharmony_ci	  GS264/GS464/GS464E/GS464V microarchitecture (except old Loongson-2E
5098c2ecf20Sopenharmony_ci	  and Loongson-2F which will be removed), developed by the Institute
5108c2ecf20Sopenharmony_ci	  of Computing Technology (ICT), Chinese Academy of Sciences (CAS).
5118c2ecf20Sopenharmony_ci
5128c2ecf20Sopenharmony_ciconfig MACH_PISTACHIO
5138c2ecf20Sopenharmony_ci	bool "IMG Pistachio SoC based boards"
5148c2ecf20Sopenharmony_ci	select BOOT_ELF32
5158c2ecf20Sopenharmony_ci	select BOOT_RAW
5168c2ecf20Sopenharmony_ci	select CEVT_R4K
5178c2ecf20Sopenharmony_ci	select CLKSRC_MIPS_GIC
5188c2ecf20Sopenharmony_ci	select COMMON_CLK
5198c2ecf20Sopenharmony_ci	select CSRC_R4K
5208c2ecf20Sopenharmony_ci	select DMA_NONCOHERENT
5218c2ecf20Sopenharmony_ci	select GPIOLIB
5228c2ecf20Sopenharmony_ci	select IRQ_MIPS_CPU
5238c2ecf20Sopenharmony_ci	select MFD_SYSCON
5248c2ecf20Sopenharmony_ci	select MIPS_CPU_SCACHE
5258c2ecf20Sopenharmony_ci	select MIPS_GIC
5268c2ecf20Sopenharmony_ci	select PINCTRL
5278c2ecf20Sopenharmony_ci	select REGULATOR
5288c2ecf20Sopenharmony_ci	select SYS_HAS_CPU_MIPS32_R2
5298c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_32BIT_KERNEL
5308c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_LITTLE_ENDIAN
5318c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_MIPS_CPS
5328c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_MULTITHREADING
5338c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_RELOCATABLE
5348c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_ZBOOT
5358c2ecf20Sopenharmony_ci	select SYS_HAS_EARLY_PRINTK
5368c2ecf20Sopenharmony_ci	select USE_GENERIC_EARLY_PRINTK_8250
5378c2ecf20Sopenharmony_ci	select USE_OF
5388c2ecf20Sopenharmony_ci	help
5398c2ecf20Sopenharmony_ci	  This enables support for the IMG Pistachio SoC platform.
5408c2ecf20Sopenharmony_ci
5418c2ecf20Sopenharmony_ciconfig MIPS_MALTA
5428c2ecf20Sopenharmony_ci	bool "MIPS Malta board"
5438c2ecf20Sopenharmony_ci	select ARCH_MAY_HAVE_PC_FDC
5448c2ecf20Sopenharmony_ci	select ARCH_MIGHT_HAVE_PC_PARPORT
5458c2ecf20Sopenharmony_ci	select ARCH_MIGHT_HAVE_PC_SERIO
5468c2ecf20Sopenharmony_ci	select BOOT_ELF32
5478c2ecf20Sopenharmony_ci	select BOOT_RAW
5488c2ecf20Sopenharmony_ci	select BUILTIN_DTB
5498c2ecf20Sopenharmony_ci	select CEVT_R4K
5508c2ecf20Sopenharmony_ci	select CLKSRC_MIPS_GIC
5518c2ecf20Sopenharmony_ci	select COMMON_CLK
5528c2ecf20Sopenharmony_ci	select CSRC_R4K
5538c2ecf20Sopenharmony_ci	select DMA_MAYBE_COHERENT
5548c2ecf20Sopenharmony_ci	select GENERIC_ISA_DMA
5558c2ecf20Sopenharmony_ci	select HAVE_PCSPKR_PLATFORM
5568c2ecf20Sopenharmony_ci	select HAVE_PCI
5578c2ecf20Sopenharmony_ci	select I8253
5588c2ecf20Sopenharmony_ci	select I8259
5598c2ecf20Sopenharmony_ci	select IRQ_MIPS_CPU
5608c2ecf20Sopenharmony_ci	select MIPS_BONITO64
5618c2ecf20Sopenharmony_ci	select MIPS_CPU_SCACHE
5628c2ecf20Sopenharmony_ci	select MIPS_GIC
5638c2ecf20Sopenharmony_ci	select MIPS_L1_CACHE_SHIFT_6
5648c2ecf20Sopenharmony_ci	select MIPS_MSC
5658c2ecf20Sopenharmony_ci	select PCI_GT64XXX_PCI0
5668c2ecf20Sopenharmony_ci	select SMP_UP if SMP
5678c2ecf20Sopenharmony_ci	select SWAP_IO_SPACE
5688c2ecf20Sopenharmony_ci	select SYS_HAS_CPU_MIPS32_R1
5698c2ecf20Sopenharmony_ci	select SYS_HAS_CPU_MIPS32_R2
5708c2ecf20Sopenharmony_ci	select SYS_HAS_CPU_MIPS32_R3_5
5718c2ecf20Sopenharmony_ci	select SYS_HAS_CPU_MIPS32_R5
5728c2ecf20Sopenharmony_ci	select SYS_HAS_CPU_MIPS32_R6
5738c2ecf20Sopenharmony_ci	select SYS_HAS_CPU_MIPS64_R1
5748c2ecf20Sopenharmony_ci	select SYS_HAS_CPU_MIPS64_R2
5758c2ecf20Sopenharmony_ci	select SYS_HAS_CPU_MIPS64_R6
5768c2ecf20Sopenharmony_ci	select SYS_HAS_CPU_NEVADA
5778c2ecf20Sopenharmony_ci	select SYS_HAS_CPU_RM7000
5788c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_32BIT_KERNEL
5798c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_64BIT_KERNEL
5808c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_BIG_ENDIAN
5818c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_HIGHMEM
5828c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_LITTLE_ENDIAN
5838c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_MICROMIPS
5848c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_MIPS16
5858c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_MIPS_CMP
5868c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_MIPS_CPS
5878c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_MULTITHREADING
5888c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_RELOCATABLE
5898c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_SMARTMIPS
5908c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_VPE_LOADER
5918c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_ZBOOT
5928c2ecf20Sopenharmony_ci	select USE_OF
5938c2ecf20Sopenharmony_ci	select WAR_ICACHE_REFILLS
5948c2ecf20Sopenharmony_ci	select ZONE_DMA32 if 64BIT
5958c2ecf20Sopenharmony_ci	help
5968c2ecf20Sopenharmony_ci	  This enables support for the MIPS Technologies Malta evaluation
5978c2ecf20Sopenharmony_ci	  board.
5988c2ecf20Sopenharmony_ci
5998c2ecf20Sopenharmony_ciconfig MACH_PIC32
6008c2ecf20Sopenharmony_ci	bool "Microchip PIC32 Family"
6018c2ecf20Sopenharmony_ci	help
6028c2ecf20Sopenharmony_ci	  This enables support for the Microchip PIC32 family of platforms.
6038c2ecf20Sopenharmony_ci
6048c2ecf20Sopenharmony_ci	  Microchip PIC32 is a family of general-purpose 32 bit MIPS core
6058c2ecf20Sopenharmony_ci	  microcontrollers.
6068c2ecf20Sopenharmony_ci
6078c2ecf20Sopenharmony_ciconfig MACH_VR41XX
6088c2ecf20Sopenharmony_ci	bool "NEC VR4100 series based machines"
6098c2ecf20Sopenharmony_ci	select CEVT_R4K
6108c2ecf20Sopenharmony_ci	select CSRC_R4K
6118c2ecf20Sopenharmony_ci	select SYS_HAS_CPU_VR41XX
6128c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_MIPS16
6138c2ecf20Sopenharmony_ci	select GPIOLIB
6148c2ecf20Sopenharmony_ci
6158c2ecf20Sopenharmony_ciconfig RALINK
6168c2ecf20Sopenharmony_ci	bool "Ralink based machines"
6178c2ecf20Sopenharmony_ci	select CEVT_R4K
6188c2ecf20Sopenharmony_ci	select CSRC_R4K
6198c2ecf20Sopenharmony_ci	select BOOT_RAW
6208c2ecf20Sopenharmony_ci	select DMA_NONCOHERENT
6218c2ecf20Sopenharmony_ci	select IRQ_MIPS_CPU
6228c2ecf20Sopenharmony_ci	select USE_OF
6238c2ecf20Sopenharmony_ci	select SYS_HAS_CPU_MIPS32_R1
6248c2ecf20Sopenharmony_ci	select SYS_HAS_CPU_MIPS32_R2
6258c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_32BIT_KERNEL
6268c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_LITTLE_ENDIAN
6278c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_MIPS16
6288c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_ZBOOT
6298c2ecf20Sopenharmony_ci	select SYS_HAS_EARLY_PRINTK
6308c2ecf20Sopenharmony_ci	select CLKDEV_LOOKUP
6318c2ecf20Sopenharmony_ci	select ARCH_HAS_RESET_CONTROLLER
6328c2ecf20Sopenharmony_ci	select RESET_CONTROLLER
6338c2ecf20Sopenharmony_ci
6348c2ecf20Sopenharmony_ciconfig SGI_IP22
6358c2ecf20Sopenharmony_ci	bool "SGI IP22 (Indy/Indigo2)"
6368c2ecf20Sopenharmony_ci	select ARC_MEMORY
6378c2ecf20Sopenharmony_ci	select ARC_PROMLIB
6388c2ecf20Sopenharmony_ci	select FW_ARC
6398c2ecf20Sopenharmony_ci	select FW_ARC32
6408c2ecf20Sopenharmony_ci	select ARCH_MIGHT_HAVE_PC_SERIO
6418c2ecf20Sopenharmony_ci	select BOOT_ELF32
6428c2ecf20Sopenharmony_ci	select CEVT_R4K
6438c2ecf20Sopenharmony_ci	select CSRC_R4K
6448c2ecf20Sopenharmony_ci	select DEFAULT_SGI_PARTITION
6458c2ecf20Sopenharmony_ci	select DMA_NONCOHERENT
6468c2ecf20Sopenharmony_ci	select HAVE_EISA
6478c2ecf20Sopenharmony_ci	select I8253
6488c2ecf20Sopenharmony_ci	select I8259
6498c2ecf20Sopenharmony_ci	select IP22_CPU_SCACHE
6508c2ecf20Sopenharmony_ci	select IRQ_MIPS_CPU
6518c2ecf20Sopenharmony_ci	select GENERIC_ISA_DMA_SUPPORT_BROKEN
6528c2ecf20Sopenharmony_ci	select SGI_HAS_I8042
6538c2ecf20Sopenharmony_ci	select SGI_HAS_INDYDOG
6548c2ecf20Sopenharmony_ci	select SGI_HAS_HAL2
6558c2ecf20Sopenharmony_ci	select SGI_HAS_SEEQ
6568c2ecf20Sopenharmony_ci	select SGI_HAS_WD93
6578c2ecf20Sopenharmony_ci	select SGI_HAS_ZILOG
6588c2ecf20Sopenharmony_ci	select SWAP_IO_SPACE
6598c2ecf20Sopenharmony_ci	select SYS_HAS_CPU_R4X00
6608c2ecf20Sopenharmony_ci	select SYS_HAS_CPU_R5000
6618c2ecf20Sopenharmony_ci	select SYS_HAS_EARLY_PRINTK
6628c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_32BIT_KERNEL
6638c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_64BIT_KERNEL
6648c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_BIG_ENDIAN
6658c2ecf20Sopenharmony_ci	select WAR_R4600_V1_INDEX_ICACHEOP
6668c2ecf20Sopenharmony_ci	select WAR_R4600_V1_HIT_CACHEOP
6678c2ecf20Sopenharmony_ci	select WAR_R4600_V2_HIT_CACHEOP
6688c2ecf20Sopenharmony_ci	select MIPS_L1_CACHE_SHIFT_7
6698c2ecf20Sopenharmony_ci	help
6708c2ecf20Sopenharmony_ci	  This are the SGI Indy, Challenge S and Indigo2, as well as certain
6718c2ecf20Sopenharmony_ci	  OEM variants like the Tandem CMN B006S. To compile a Linux kernel
6728c2ecf20Sopenharmony_ci	  that runs on these, say Y here.
6738c2ecf20Sopenharmony_ci
6748c2ecf20Sopenharmony_ciconfig SGI_IP27
6758c2ecf20Sopenharmony_ci	bool "SGI IP27 (Origin200/2000)"
6768c2ecf20Sopenharmony_ci	select ARCH_HAS_PHYS_TO_DMA
6778c2ecf20Sopenharmony_ci	select ARCH_SPARSEMEM_ENABLE
6788c2ecf20Sopenharmony_ci	select FW_ARC
6798c2ecf20Sopenharmony_ci	select FW_ARC64
6808c2ecf20Sopenharmony_ci	select ARC_CMDLINE_ONLY
6818c2ecf20Sopenharmony_ci	select BOOT_ELF64
6828c2ecf20Sopenharmony_ci	select DEFAULT_SGI_PARTITION
6838c2ecf20Sopenharmony_ci	select SYS_HAS_EARLY_PRINTK
6848c2ecf20Sopenharmony_ci	select HAVE_PCI
6858c2ecf20Sopenharmony_ci	select IRQ_MIPS_CPU
6868c2ecf20Sopenharmony_ci	select IRQ_DOMAIN_HIERARCHY
6878c2ecf20Sopenharmony_ci	select NR_CPUS_DEFAULT_64
6888c2ecf20Sopenharmony_ci	select PCI_DRIVERS_GENERIC
6898c2ecf20Sopenharmony_ci	select PCI_XTALK_BRIDGE
6908c2ecf20Sopenharmony_ci	select SYS_HAS_CPU_R10000
6918c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_64BIT_KERNEL
6928c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_BIG_ENDIAN
6938c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_NUMA
6948c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_SMP
6958c2ecf20Sopenharmony_ci	select WAR_R10000_LLSC
6968c2ecf20Sopenharmony_ci	select MIPS_L1_CACHE_SHIFT_7
6978c2ecf20Sopenharmony_ci	select NUMA
6988c2ecf20Sopenharmony_ci	help
6998c2ecf20Sopenharmony_ci	  This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics
7008c2ecf20Sopenharmony_ci	  workstations.  To compile a Linux kernel that runs on these, say Y
7018c2ecf20Sopenharmony_ci	  here.
7028c2ecf20Sopenharmony_ci
7038c2ecf20Sopenharmony_ciconfig SGI_IP28
7048c2ecf20Sopenharmony_ci	bool "SGI IP28 (Indigo2 R10k)"
7058c2ecf20Sopenharmony_ci	select ARC_MEMORY
7068c2ecf20Sopenharmony_ci	select ARC_PROMLIB
7078c2ecf20Sopenharmony_ci	select FW_ARC
7088c2ecf20Sopenharmony_ci	select FW_ARC64
7098c2ecf20Sopenharmony_ci	select ARCH_MIGHT_HAVE_PC_SERIO
7108c2ecf20Sopenharmony_ci	select BOOT_ELF64
7118c2ecf20Sopenharmony_ci	select CEVT_R4K
7128c2ecf20Sopenharmony_ci	select CSRC_R4K
7138c2ecf20Sopenharmony_ci	select DEFAULT_SGI_PARTITION
7148c2ecf20Sopenharmony_ci	select DMA_NONCOHERENT
7158c2ecf20Sopenharmony_ci	select GENERIC_ISA_DMA_SUPPORT_BROKEN
7168c2ecf20Sopenharmony_ci	select IRQ_MIPS_CPU
7178c2ecf20Sopenharmony_ci	select HAVE_EISA
7188c2ecf20Sopenharmony_ci	select I8253
7198c2ecf20Sopenharmony_ci	select I8259
7208c2ecf20Sopenharmony_ci	select SGI_HAS_I8042
7218c2ecf20Sopenharmony_ci	select SGI_HAS_INDYDOG
7228c2ecf20Sopenharmony_ci	select SGI_HAS_HAL2
7238c2ecf20Sopenharmony_ci	select SGI_HAS_SEEQ
7248c2ecf20Sopenharmony_ci	select SGI_HAS_WD93
7258c2ecf20Sopenharmony_ci	select SGI_HAS_ZILOG
7268c2ecf20Sopenharmony_ci	select SWAP_IO_SPACE
7278c2ecf20Sopenharmony_ci	select SYS_HAS_CPU_R10000
7288c2ecf20Sopenharmony_ci	select SYS_HAS_EARLY_PRINTK
7298c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_64BIT_KERNEL
7308c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_BIG_ENDIAN
7318c2ecf20Sopenharmony_ci	select WAR_R10000_LLSC
7328c2ecf20Sopenharmony_ci	select MIPS_L1_CACHE_SHIFT_7
7338c2ecf20Sopenharmony_ci	help
7348c2ecf20Sopenharmony_ci	  This is the SGI Indigo2 with R10000 processor.  To compile a Linux
7358c2ecf20Sopenharmony_ci	  kernel that runs on these, say Y here.
7368c2ecf20Sopenharmony_ci
7378c2ecf20Sopenharmony_ciconfig SGI_IP30
7388c2ecf20Sopenharmony_ci	bool "SGI IP30 (Octane/Octane2)"
7398c2ecf20Sopenharmony_ci	select ARCH_HAS_PHYS_TO_DMA
7408c2ecf20Sopenharmony_ci	select FW_ARC
7418c2ecf20Sopenharmony_ci	select FW_ARC64
7428c2ecf20Sopenharmony_ci	select BOOT_ELF64
7438c2ecf20Sopenharmony_ci	select CEVT_R4K
7448c2ecf20Sopenharmony_ci	select CSRC_R4K
7458c2ecf20Sopenharmony_ci	select SYNC_R4K if SMP
7468c2ecf20Sopenharmony_ci	select ZONE_DMA32
7478c2ecf20Sopenharmony_ci	select HAVE_PCI
7488c2ecf20Sopenharmony_ci	select IRQ_MIPS_CPU
7498c2ecf20Sopenharmony_ci	select IRQ_DOMAIN_HIERARCHY
7508c2ecf20Sopenharmony_ci	select NR_CPUS_DEFAULT_2
7518c2ecf20Sopenharmony_ci	select PCI_DRIVERS_GENERIC
7528c2ecf20Sopenharmony_ci	select PCI_XTALK_BRIDGE
7538c2ecf20Sopenharmony_ci	select SYS_HAS_EARLY_PRINTK
7548c2ecf20Sopenharmony_ci	select SYS_HAS_CPU_R10000
7558c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_64BIT_KERNEL
7568c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_BIG_ENDIAN
7578c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_SMP
7588c2ecf20Sopenharmony_ci	select WAR_R10000_LLSC
7598c2ecf20Sopenharmony_ci	select MIPS_L1_CACHE_SHIFT_7
7608c2ecf20Sopenharmony_ci	select ARC_MEMORY
7618c2ecf20Sopenharmony_ci	help
7628c2ecf20Sopenharmony_ci	  These are the SGI Octane and Octane2 graphics workstations.  To
7638c2ecf20Sopenharmony_ci	  compile a Linux kernel that runs on these, say Y here.
7648c2ecf20Sopenharmony_ci
7658c2ecf20Sopenharmony_ciconfig SGI_IP32
7668c2ecf20Sopenharmony_ci	bool "SGI IP32 (O2)"
7678c2ecf20Sopenharmony_ci	select ARC_MEMORY
7688c2ecf20Sopenharmony_ci	select ARC_PROMLIB
7698c2ecf20Sopenharmony_ci	select ARCH_HAS_PHYS_TO_DMA
7708c2ecf20Sopenharmony_ci	select FW_ARC
7718c2ecf20Sopenharmony_ci	select FW_ARC32
7728c2ecf20Sopenharmony_ci	select BOOT_ELF32
7738c2ecf20Sopenharmony_ci	select CEVT_R4K
7748c2ecf20Sopenharmony_ci	select CSRC_R4K
7758c2ecf20Sopenharmony_ci	select DMA_NONCOHERENT
7768c2ecf20Sopenharmony_ci	select HAVE_PCI
7778c2ecf20Sopenharmony_ci	select IRQ_MIPS_CPU
7788c2ecf20Sopenharmony_ci	select R5000_CPU_SCACHE
7798c2ecf20Sopenharmony_ci	select RM7000_CPU_SCACHE
7808c2ecf20Sopenharmony_ci	select SYS_HAS_CPU_R5000
7818c2ecf20Sopenharmony_ci	select SYS_HAS_CPU_R10000 if BROKEN
7828c2ecf20Sopenharmony_ci	select SYS_HAS_CPU_RM7000
7838c2ecf20Sopenharmony_ci	select SYS_HAS_CPU_NEVADA
7848c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_64BIT_KERNEL
7858c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_BIG_ENDIAN
7868c2ecf20Sopenharmony_ci	select WAR_ICACHE_REFILLS
7878c2ecf20Sopenharmony_ci	help
7888c2ecf20Sopenharmony_ci	  If you want this kernel to run on SGI O2 workstation, say Y here.
7898c2ecf20Sopenharmony_ci
7908c2ecf20Sopenharmony_ciconfig SIBYTE_CRHINE
7918c2ecf20Sopenharmony_ci	bool "Sibyte BCM91120C-CRhine"
7928c2ecf20Sopenharmony_ci	select BOOT_ELF32
7938c2ecf20Sopenharmony_ci	select SIBYTE_BCM1120
7948c2ecf20Sopenharmony_ci	select SWAP_IO_SPACE
7958c2ecf20Sopenharmony_ci	select SYS_HAS_CPU_SB1
7968c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_BIG_ENDIAN
7978c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_LITTLE_ENDIAN
7988c2ecf20Sopenharmony_ci
7998c2ecf20Sopenharmony_ciconfig SIBYTE_CARMEL
8008c2ecf20Sopenharmony_ci	bool "Sibyte BCM91120x-Carmel"
8018c2ecf20Sopenharmony_ci	select BOOT_ELF32
8028c2ecf20Sopenharmony_ci	select SIBYTE_BCM1120
8038c2ecf20Sopenharmony_ci	select SWAP_IO_SPACE
8048c2ecf20Sopenharmony_ci	select SYS_HAS_CPU_SB1
8058c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_BIG_ENDIAN
8068c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_LITTLE_ENDIAN
8078c2ecf20Sopenharmony_ci
8088c2ecf20Sopenharmony_ciconfig SIBYTE_CRHONE
8098c2ecf20Sopenharmony_ci	bool "Sibyte BCM91125C-CRhone"
8108c2ecf20Sopenharmony_ci	select BOOT_ELF32
8118c2ecf20Sopenharmony_ci	select SIBYTE_BCM1125
8128c2ecf20Sopenharmony_ci	select SWAP_IO_SPACE
8138c2ecf20Sopenharmony_ci	select SYS_HAS_CPU_SB1
8148c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_BIG_ENDIAN
8158c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_HIGHMEM
8168c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_LITTLE_ENDIAN
8178c2ecf20Sopenharmony_ci
8188c2ecf20Sopenharmony_ciconfig SIBYTE_RHONE
8198c2ecf20Sopenharmony_ci	bool "Sibyte BCM91125E-Rhone"
8208c2ecf20Sopenharmony_ci	select BOOT_ELF32
8218c2ecf20Sopenharmony_ci	select SIBYTE_BCM1125H
8228c2ecf20Sopenharmony_ci	select SWAP_IO_SPACE
8238c2ecf20Sopenharmony_ci	select SYS_HAS_CPU_SB1
8248c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_BIG_ENDIAN
8258c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_LITTLE_ENDIAN
8268c2ecf20Sopenharmony_ci
8278c2ecf20Sopenharmony_ciconfig SIBYTE_SWARM
8288c2ecf20Sopenharmony_ci	bool "Sibyte BCM91250A-SWARM"
8298c2ecf20Sopenharmony_ci	select BOOT_ELF32
8308c2ecf20Sopenharmony_ci	select HAVE_PATA_PLATFORM
8318c2ecf20Sopenharmony_ci	select SIBYTE_SB1250
8328c2ecf20Sopenharmony_ci	select SWAP_IO_SPACE
8338c2ecf20Sopenharmony_ci	select SYS_HAS_CPU_SB1
8348c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_BIG_ENDIAN
8358c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_HIGHMEM
8368c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_LITTLE_ENDIAN
8378c2ecf20Sopenharmony_ci	select ZONE_DMA32 if 64BIT
8388c2ecf20Sopenharmony_ci	select SWIOTLB if ARCH_DMA_ADDR_T_64BIT && PCI
8398c2ecf20Sopenharmony_ci
8408c2ecf20Sopenharmony_ciconfig SIBYTE_LITTLESUR
8418c2ecf20Sopenharmony_ci	bool "Sibyte BCM91250C2-LittleSur"
8428c2ecf20Sopenharmony_ci	select BOOT_ELF32
8438c2ecf20Sopenharmony_ci	select HAVE_PATA_PLATFORM
8448c2ecf20Sopenharmony_ci	select SIBYTE_SB1250
8458c2ecf20Sopenharmony_ci	select SWAP_IO_SPACE
8468c2ecf20Sopenharmony_ci	select SYS_HAS_CPU_SB1
8478c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_BIG_ENDIAN
8488c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_HIGHMEM
8498c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_LITTLE_ENDIAN
8508c2ecf20Sopenharmony_ci	select ZONE_DMA32 if 64BIT
8518c2ecf20Sopenharmony_ci
8528c2ecf20Sopenharmony_ciconfig SIBYTE_SENTOSA
8538c2ecf20Sopenharmony_ci	bool "Sibyte BCM91250E-Sentosa"
8548c2ecf20Sopenharmony_ci	select BOOT_ELF32
8558c2ecf20Sopenharmony_ci	select SIBYTE_SB1250
8568c2ecf20Sopenharmony_ci	select SWAP_IO_SPACE
8578c2ecf20Sopenharmony_ci	select SYS_HAS_CPU_SB1
8588c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_BIG_ENDIAN
8598c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_LITTLE_ENDIAN
8608c2ecf20Sopenharmony_ci	select SWIOTLB if ARCH_DMA_ADDR_T_64BIT && PCI
8618c2ecf20Sopenharmony_ci
8628c2ecf20Sopenharmony_ciconfig SIBYTE_BIGSUR
8638c2ecf20Sopenharmony_ci	bool "Sibyte BCM91480B-BigSur"
8648c2ecf20Sopenharmony_ci	select BOOT_ELF32
8658c2ecf20Sopenharmony_ci	select NR_CPUS_DEFAULT_4
8668c2ecf20Sopenharmony_ci	select SIBYTE_BCM1x80
8678c2ecf20Sopenharmony_ci	select SWAP_IO_SPACE
8688c2ecf20Sopenharmony_ci	select SYS_HAS_CPU_SB1
8698c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_BIG_ENDIAN
8708c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_HIGHMEM
8718c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_LITTLE_ENDIAN
8728c2ecf20Sopenharmony_ci	select ZONE_DMA32 if 64BIT
8738c2ecf20Sopenharmony_ci	select SWIOTLB if ARCH_DMA_ADDR_T_64BIT && PCI
8748c2ecf20Sopenharmony_ci
8758c2ecf20Sopenharmony_ciconfig SNI_RM
8768c2ecf20Sopenharmony_ci	bool "SNI RM200/300/400"
8778c2ecf20Sopenharmony_ci	select ARC_MEMORY
8788c2ecf20Sopenharmony_ci	select ARC_PROMLIB
8798c2ecf20Sopenharmony_ci	select FW_ARC if CPU_LITTLE_ENDIAN
8808c2ecf20Sopenharmony_ci	select FW_ARC32 if CPU_LITTLE_ENDIAN
8818c2ecf20Sopenharmony_ci	select FW_SNIPROM if CPU_BIG_ENDIAN
8828c2ecf20Sopenharmony_ci	select ARCH_MAY_HAVE_PC_FDC
8838c2ecf20Sopenharmony_ci	select ARCH_MIGHT_HAVE_PC_PARPORT
8848c2ecf20Sopenharmony_ci	select ARCH_MIGHT_HAVE_PC_SERIO
8858c2ecf20Sopenharmony_ci	select BOOT_ELF32
8868c2ecf20Sopenharmony_ci	select CEVT_R4K
8878c2ecf20Sopenharmony_ci	select CSRC_R4K
8888c2ecf20Sopenharmony_ci	select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN
8898c2ecf20Sopenharmony_ci	select DMA_NONCOHERENT
8908c2ecf20Sopenharmony_ci	select GENERIC_ISA_DMA
8918c2ecf20Sopenharmony_ci	select HAVE_EISA
8928c2ecf20Sopenharmony_ci	select HAVE_PCSPKR_PLATFORM
8938c2ecf20Sopenharmony_ci	select HAVE_PCI
8948c2ecf20Sopenharmony_ci	select IRQ_MIPS_CPU
8958c2ecf20Sopenharmony_ci	select I8253
8968c2ecf20Sopenharmony_ci	select I8259
8978c2ecf20Sopenharmony_ci	select ISA
8988c2ecf20Sopenharmony_ci	select MIPS_L1_CACHE_SHIFT_6
8998c2ecf20Sopenharmony_ci	select SWAP_IO_SPACE if CPU_BIG_ENDIAN
9008c2ecf20Sopenharmony_ci	select SYS_HAS_CPU_R4X00
9018c2ecf20Sopenharmony_ci	select SYS_HAS_CPU_R5000
9028c2ecf20Sopenharmony_ci	select SYS_HAS_CPU_R10000
9038c2ecf20Sopenharmony_ci	select R5000_CPU_SCACHE
9048c2ecf20Sopenharmony_ci	select SYS_HAS_EARLY_PRINTK
9058c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_32BIT_KERNEL
9068c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_64BIT_KERNEL
9078c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_BIG_ENDIAN
9088c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_HIGHMEM
9098c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_LITTLE_ENDIAN
9108c2ecf20Sopenharmony_ci	select WAR_R4600_V2_HIT_CACHEOP
9118c2ecf20Sopenharmony_ci	help
9128c2ecf20Sopenharmony_ci	  The SNI RM200/300/400 are MIPS-based machines manufactured by
9138c2ecf20Sopenharmony_ci	  Siemens Nixdorf Informationssysteme (SNI), parent company of Pyramid
9148c2ecf20Sopenharmony_ci	  Technology and now in turn merged with Fujitsu.  Say Y here to
9158c2ecf20Sopenharmony_ci	  support this machine type.
9168c2ecf20Sopenharmony_ci
9178c2ecf20Sopenharmony_ciconfig MACH_TX39XX
9188c2ecf20Sopenharmony_ci	bool "Toshiba TX39 series based machines"
9198c2ecf20Sopenharmony_ci
9208c2ecf20Sopenharmony_ciconfig MACH_TX49XX
9218c2ecf20Sopenharmony_ci	bool "Toshiba TX49 series based machines"
9228c2ecf20Sopenharmony_ci	select WAR_TX49XX_ICACHE_INDEX_INV
9238c2ecf20Sopenharmony_ci
9248c2ecf20Sopenharmony_ciconfig MIKROTIK_RB532
9258c2ecf20Sopenharmony_ci	bool "Mikrotik RB532 boards"
9268c2ecf20Sopenharmony_ci	select CEVT_R4K
9278c2ecf20Sopenharmony_ci	select CSRC_R4K
9288c2ecf20Sopenharmony_ci	select DMA_NONCOHERENT
9298c2ecf20Sopenharmony_ci	select HAVE_PCI
9308c2ecf20Sopenharmony_ci	select IRQ_MIPS_CPU
9318c2ecf20Sopenharmony_ci	select SYS_HAS_CPU_MIPS32_R1
9328c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_32BIT_KERNEL
9338c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_LITTLE_ENDIAN
9348c2ecf20Sopenharmony_ci	select SWAP_IO_SPACE
9358c2ecf20Sopenharmony_ci	select BOOT_RAW
9368c2ecf20Sopenharmony_ci	select GPIOLIB
9378c2ecf20Sopenharmony_ci	select MIPS_L1_CACHE_SHIFT_4
9388c2ecf20Sopenharmony_ci	help
9398c2ecf20Sopenharmony_ci	  Support the Mikrotik(tm) RouterBoard 532 series,
9408c2ecf20Sopenharmony_ci	  based on the IDT RC32434 SoC.
9418c2ecf20Sopenharmony_ci
9428c2ecf20Sopenharmony_ciconfig CAVIUM_OCTEON_SOC
9438c2ecf20Sopenharmony_ci	bool "Cavium Networks Octeon SoC based boards"
9448c2ecf20Sopenharmony_ci	select CEVT_R4K
9458c2ecf20Sopenharmony_ci	select ARCH_HAS_PHYS_TO_DMA
9468c2ecf20Sopenharmony_ci	select HAVE_RAPIDIO
9478c2ecf20Sopenharmony_ci	select PHYS_ADDR_T_64BIT
9488c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_64BIT_KERNEL
9498c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_BIG_ENDIAN
9508c2ecf20Sopenharmony_ci	select EDAC_SUPPORT
9518c2ecf20Sopenharmony_ci	select EDAC_ATOMIC_SCRUB
9528c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_LITTLE_ENDIAN
9538c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_HOTPLUG_CPU if CPU_BIG_ENDIAN
9548c2ecf20Sopenharmony_ci	select SYS_HAS_EARLY_PRINTK
9558c2ecf20Sopenharmony_ci	select SYS_HAS_CPU_CAVIUM_OCTEON
9568c2ecf20Sopenharmony_ci	select HAVE_PCI
9578c2ecf20Sopenharmony_ci	select HAVE_PLAT_DELAY
9588c2ecf20Sopenharmony_ci	select HAVE_PLAT_FW_INIT_CMDLINE
9598c2ecf20Sopenharmony_ci	select HAVE_PLAT_MEMCPY
9608c2ecf20Sopenharmony_ci	select ZONE_DMA32
9618c2ecf20Sopenharmony_ci	select HOLES_IN_ZONE
9628c2ecf20Sopenharmony_ci	select GPIOLIB
9638c2ecf20Sopenharmony_ci	select USE_OF
9648c2ecf20Sopenharmony_ci	select ARCH_SPARSEMEM_ENABLE
9658c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_SMP
9668c2ecf20Sopenharmony_ci	select NR_CPUS_DEFAULT_64
9678c2ecf20Sopenharmony_ci	select MIPS_NR_CPU_NR_MAP_1024
9688c2ecf20Sopenharmony_ci	select BUILTIN_DTB
9698c2ecf20Sopenharmony_ci	select MTD_COMPLEX_MAPPINGS
9708c2ecf20Sopenharmony_ci	select SWIOTLB
9718c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_RELOCATABLE
9728c2ecf20Sopenharmony_ci	help
9738c2ecf20Sopenharmony_ci	  This option supports all of the Octeon reference boards from Cavium
9748c2ecf20Sopenharmony_ci	  Networks. It builds a kernel that dynamically determines the Octeon
9758c2ecf20Sopenharmony_ci	  CPU type and supports all known board reference implementations.
9768c2ecf20Sopenharmony_ci	  Some of the supported boards are:
9778c2ecf20Sopenharmony_ci		EBT3000
9788c2ecf20Sopenharmony_ci		EBH3000
9798c2ecf20Sopenharmony_ci		EBH3100
9808c2ecf20Sopenharmony_ci		Thunder
9818c2ecf20Sopenharmony_ci		Kodama
9828c2ecf20Sopenharmony_ci		Hikari
9838c2ecf20Sopenharmony_ci	  Say Y here for most Octeon reference boards.
9848c2ecf20Sopenharmony_ci
9858c2ecf20Sopenharmony_ciconfig NLM_XLR_BOARD
9868c2ecf20Sopenharmony_ci	bool "Netlogic XLR/XLS based systems"
9878c2ecf20Sopenharmony_ci	select BOOT_ELF32
9888c2ecf20Sopenharmony_ci	select NLM_COMMON
9898c2ecf20Sopenharmony_ci	select SYS_HAS_CPU_XLR
9908c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_SMP
9918c2ecf20Sopenharmony_ci	select HAVE_PCI
9928c2ecf20Sopenharmony_ci	select SWAP_IO_SPACE
9938c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_32BIT_KERNEL
9948c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_64BIT_KERNEL
9958c2ecf20Sopenharmony_ci	select PHYS_ADDR_T_64BIT
9968c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_BIG_ENDIAN
9978c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_HIGHMEM
9988c2ecf20Sopenharmony_ci	select NR_CPUS_DEFAULT_32
9998c2ecf20Sopenharmony_ci	select CEVT_R4K
10008c2ecf20Sopenharmony_ci	select CSRC_R4K
10018c2ecf20Sopenharmony_ci	select IRQ_MIPS_CPU
10028c2ecf20Sopenharmony_ci	select ZONE_DMA32 if 64BIT
10038c2ecf20Sopenharmony_ci	select SYNC_R4K
10048c2ecf20Sopenharmony_ci	select SYS_HAS_EARLY_PRINTK
10058c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_ZBOOT
10068c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_ZBOOT_UART16550
10078c2ecf20Sopenharmony_ci	help
10088c2ecf20Sopenharmony_ci	  Support for systems based on Netlogic XLR and XLS processors.
10098c2ecf20Sopenharmony_ci	  Say Y here if you have a XLR or XLS based board.
10108c2ecf20Sopenharmony_ci
10118c2ecf20Sopenharmony_ciconfig NLM_XLP_BOARD
10128c2ecf20Sopenharmony_ci	bool "Netlogic XLP based systems"
10138c2ecf20Sopenharmony_ci	select BOOT_ELF32
10148c2ecf20Sopenharmony_ci	select NLM_COMMON
10158c2ecf20Sopenharmony_ci	select SYS_HAS_CPU_XLP
10168c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_SMP
10178c2ecf20Sopenharmony_ci	select HAVE_PCI
10188c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_32BIT_KERNEL
10198c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_64BIT_KERNEL
10208c2ecf20Sopenharmony_ci	select PHYS_ADDR_T_64BIT
10218c2ecf20Sopenharmony_ci	select GPIOLIB
10228c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_BIG_ENDIAN
10238c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_LITTLE_ENDIAN
10248c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_HIGHMEM
10258c2ecf20Sopenharmony_ci	select NR_CPUS_DEFAULT_32
10268c2ecf20Sopenharmony_ci	select CEVT_R4K
10278c2ecf20Sopenharmony_ci	select CSRC_R4K
10288c2ecf20Sopenharmony_ci	select IRQ_MIPS_CPU
10298c2ecf20Sopenharmony_ci	select ZONE_DMA32 if 64BIT
10308c2ecf20Sopenharmony_ci	select SYNC_R4K
10318c2ecf20Sopenharmony_ci	select SYS_HAS_EARLY_PRINTK
10328c2ecf20Sopenharmony_ci	select USE_OF
10338c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_ZBOOT
10348c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_ZBOOT_UART16550
10358c2ecf20Sopenharmony_ci	help
10368c2ecf20Sopenharmony_ci	  This board is based on Netlogic XLP Processor.
10378c2ecf20Sopenharmony_ci	  Say Y here if you have a XLP based board.
10388c2ecf20Sopenharmony_ci
10398c2ecf20Sopenharmony_ciendchoice
10408c2ecf20Sopenharmony_ci
10418c2ecf20Sopenharmony_cisource "arch/mips/alchemy/Kconfig"
10428c2ecf20Sopenharmony_cisource "arch/mips/ath25/Kconfig"
10438c2ecf20Sopenharmony_cisource "arch/mips/ath79/Kconfig"
10448c2ecf20Sopenharmony_cisource "arch/mips/bcm47xx/Kconfig"
10458c2ecf20Sopenharmony_cisource "arch/mips/bcm63xx/Kconfig"
10468c2ecf20Sopenharmony_cisource "arch/mips/bmips/Kconfig"
10478c2ecf20Sopenharmony_cisource "arch/mips/generic/Kconfig"
10488c2ecf20Sopenharmony_cisource "arch/mips/ingenic/Kconfig"
10498c2ecf20Sopenharmony_cisource "arch/mips/jazz/Kconfig"
10508c2ecf20Sopenharmony_cisource "arch/mips/lantiq/Kconfig"
10518c2ecf20Sopenharmony_cisource "arch/mips/pic32/Kconfig"
10528c2ecf20Sopenharmony_cisource "arch/mips/pistachio/Kconfig"
10538c2ecf20Sopenharmony_cisource "arch/mips/ralink/Kconfig"
10548c2ecf20Sopenharmony_cisource "arch/mips/sgi-ip27/Kconfig"
10558c2ecf20Sopenharmony_cisource "arch/mips/sibyte/Kconfig"
10568c2ecf20Sopenharmony_cisource "arch/mips/txx9/Kconfig"
10578c2ecf20Sopenharmony_cisource "arch/mips/vr41xx/Kconfig"
10588c2ecf20Sopenharmony_cisource "arch/mips/cavium-octeon/Kconfig"
10598c2ecf20Sopenharmony_cisource "arch/mips/loongson2ef/Kconfig"
10608c2ecf20Sopenharmony_cisource "arch/mips/loongson32/Kconfig"
10618c2ecf20Sopenharmony_cisource "arch/mips/loongson64/Kconfig"
10628c2ecf20Sopenharmony_cisource "arch/mips/netlogic/Kconfig"
10638c2ecf20Sopenharmony_ci
10648c2ecf20Sopenharmony_ciendmenu
10658c2ecf20Sopenharmony_ci
10668c2ecf20Sopenharmony_ciconfig GENERIC_HWEIGHT
10678c2ecf20Sopenharmony_ci	bool
10688c2ecf20Sopenharmony_ci	default y
10698c2ecf20Sopenharmony_ci
10708c2ecf20Sopenharmony_ciconfig GENERIC_CALIBRATE_DELAY
10718c2ecf20Sopenharmony_ci	bool
10728c2ecf20Sopenharmony_ci	default y
10738c2ecf20Sopenharmony_ci
10748c2ecf20Sopenharmony_ciconfig SCHED_OMIT_FRAME_POINTER
10758c2ecf20Sopenharmony_ci	bool
10768c2ecf20Sopenharmony_ci	default y
10778c2ecf20Sopenharmony_ci
10788c2ecf20Sopenharmony_ci#
10798c2ecf20Sopenharmony_ci# Select some configuration options automatically based on user selections.
10808c2ecf20Sopenharmony_ci#
10818c2ecf20Sopenharmony_ciconfig FW_ARC
10828c2ecf20Sopenharmony_ci	bool
10838c2ecf20Sopenharmony_ci
10848c2ecf20Sopenharmony_ciconfig ARCH_MAY_HAVE_PC_FDC
10858c2ecf20Sopenharmony_ci	bool
10868c2ecf20Sopenharmony_ci
10878c2ecf20Sopenharmony_ciconfig BOOT_RAW
10888c2ecf20Sopenharmony_ci	bool
10898c2ecf20Sopenharmony_ci
10908c2ecf20Sopenharmony_ciconfig CEVT_BCM1480
10918c2ecf20Sopenharmony_ci	bool
10928c2ecf20Sopenharmony_ci
10938c2ecf20Sopenharmony_ciconfig CEVT_DS1287
10948c2ecf20Sopenharmony_ci	bool
10958c2ecf20Sopenharmony_ci
10968c2ecf20Sopenharmony_ciconfig CEVT_GT641XX
10978c2ecf20Sopenharmony_ci	bool
10988c2ecf20Sopenharmony_ci
10998c2ecf20Sopenharmony_ciconfig CEVT_R4K
11008c2ecf20Sopenharmony_ci	bool
11018c2ecf20Sopenharmony_ci
11028c2ecf20Sopenharmony_ciconfig CEVT_SB1250
11038c2ecf20Sopenharmony_ci	bool
11048c2ecf20Sopenharmony_ci
11058c2ecf20Sopenharmony_ciconfig CEVT_TXX9
11068c2ecf20Sopenharmony_ci	bool
11078c2ecf20Sopenharmony_ci
11088c2ecf20Sopenharmony_ciconfig CSRC_BCM1480
11098c2ecf20Sopenharmony_ci	bool
11108c2ecf20Sopenharmony_ci
11118c2ecf20Sopenharmony_ciconfig CSRC_IOASIC
11128c2ecf20Sopenharmony_ci	bool
11138c2ecf20Sopenharmony_ci
11148c2ecf20Sopenharmony_ciconfig CSRC_R4K
11158c2ecf20Sopenharmony_ci	select CLOCKSOURCE_WATCHDOG if CPU_FREQ
11168c2ecf20Sopenharmony_ci	bool
11178c2ecf20Sopenharmony_ci
11188c2ecf20Sopenharmony_ciconfig CSRC_SB1250
11198c2ecf20Sopenharmony_ci	bool
11208c2ecf20Sopenharmony_ci
11218c2ecf20Sopenharmony_ciconfig MIPS_CLOCK_VSYSCALL
11228c2ecf20Sopenharmony_ci	def_bool CSRC_R4K || CLKSRC_MIPS_GIC
11238c2ecf20Sopenharmony_ci
11248c2ecf20Sopenharmony_ciconfig GPIO_TXX9
11258c2ecf20Sopenharmony_ci	select GPIOLIB
11268c2ecf20Sopenharmony_ci	bool
11278c2ecf20Sopenharmony_ci
11288c2ecf20Sopenharmony_ciconfig FW_CFE
11298c2ecf20Sopenharmony_ci	bool
11308c2ecf20Sopenharmony_ci
11318c2ecf20Sopenharmony_ciconfig ARCH_SUPPORTS_UPROBES
11328c2ecf20Sopenharmony_ci	bool
11338c2ecf20Sopenharmony_ci
11348c2ecf20Sopenharmony_ciconfig DMA_MAYBE_COHERENT
11358c2ecf20Sopenharmony_ci	select ARCH_HAS_DMA_COHERENCE_H
11368c2ecf20Sopenharmony_ci	select DMA_NONCOHERENT
11378c2ecf20Sopenharmony_ci	bool
11388c2ecf20Sopenharmony_ci
11398c2ecf20Sopenharmony_ciconfig DMA_PERDEV_COHERENT
11408c2ecf20Sopenharmony_ci	bool
11418c2ecf20Sopenharmony_ci	select ARCH_HAS_SETUP_DMA_OPS
11428c2ecf20Sopenharmony_ci	select DMA_NONCOHERENT
11438c2ecf20Sopenharmony_ci
11448c2ecf20Sopenharmony_ciconfig DMA_NONCOHERENT
11458c2ecf20Sopenharmony_ci	bool
11468c2ecf20Sopenharmony_ci	#
11478c2ecf20Sopenharmony_ci	# MIPS allows mixing "slightly different" Cacheability and Coherency
11488c2ecf20Sopenharmony_ci	# Attribute bits.  It is believed that the uncached access through
11498c2ecf20Sopenharmony_ci	# KSEG1 and the implementation specific "uncached accelerated" used
11508c2ecf20Sopenharmony_ci	# by pgprot_writcombine can be mixed, and the latter sometimes provides
11518c2ecf20Sopenharmony_ci	# significant advantages.
11528c2ecf20Sopenharmony_ci	#
11538c2ecf20Sopenharmony_ci	select ARCH_HAS_DMA_WRITE_COMBINE
11548c2ecf20Sopenharmony_ci	select ARCH_HAS_DMA_PREP_COHERENT
11558c2ecf20Sopenharmony_ci	select ARCH_HAS_SYNC_DMA_FOR_DEVICE
11568c2ecf20Sopenharmony_ci	select ARCH_HAS_DMA_SET_UNCACHED
11578c2ecf20Sopenharmony_ci	select DMA_NONCOHERENT_MMAP
11588c2ecf20Sopenharmony_ci	select NEED_DMA_MAP_STATE
11598c2ecf20Sopenharmony_ci
11608c2ecf20Sopenharmony_ciconfig SYS_HAS_EARLY_PRINTK
11618c2ecf20Sopenharmony_ci	bool
11628c2ecf20Sopenharmony_ci
11638c2ecf20Sopenharmony_ciconfig SYS_SUPPORTS_HOTPLUG_CPU
11648c2ecf20Sopenharmony_ci	bool
11658c2ecf20Sopenharmony_ci
11668c2ecf20Sopenharmony_ciconfig MIPS_BONITO64
11678c2ecf20Sopenharmony_ci	bool
11688c2ecf20Sopenharmony_ci
11698c2ecf20Sopenharmony_ciconfig MIPS_MSC
11708c2ecf20Sopenharmony_ci	bool
11718c2ecf20Sopenharmony_ci
11728c2ecf20Sopenharmony_ciconfig SYNC_R4K
11738c2ecf20Sopenharmony_ci	bool
11748c2ecf20Sopenharmony_ci
11758c2ecf20Sopenharmony_ciconfig NO_IOPORT_MAP
11768c2ecf20Sopenharmony_ci	def_bool n
11778c2ecf20Sopenharmony_ci
11788c2ecf20Sopenharmony_ciconfig GENERIC_CSUM
11798c2ecf20Sopenharmony_ci	def_bool CPU_NO_LOAD_STORE_LR
11808c2ecf20Sopenharmony_ci
11818c2ecf20Sopenharmony_ciconfig GENERIC_ISA_DMA
11828c2ecf20Sopenharmony_ci	bool
11838c2ecf20Sopenharmony_ci	select ZONE_DMA if GENERIC_ISA_DMA_SUPPORT_BROKEN=n
11848c2ecf20Sopenharmony_ci	select ISA_DMA_API
11858c2ecf20Sopenharmony_ci
11868c2ecf20Sopenharmony_ciconfig GENERIC_ISA_DMA_SUPPORT_BROKEN
11878c2ecf20Sopenharmony_ci	bool
11888c2ecf20Sopenharmony_ci	select GENERIC_ISA_DMA
11898c2ecf20Sopenharmony_ci
11908c2ecf20Sopenharmony_ciconfig HAVE_PLAT_DELAY
11918c2ecf20Sopenharmony_ci	bool
11928c2ecf20Sopenharmony_ci
11938c2ecf20Sopenharmony_ciconfig HAVE_PLAT_FW_INIT_CMDLINE
11948c2ecf20Sopenharmony_ci	bool
11958c2ecf20Sopenharmony_ci
11968c2ecf20Sopenharmony_ciconfig HAVE_PLAT_MEMCPY
11978c2ecf20Sopenharmony_ci	bool
11988c2ecf20Sopenharmony_ci
11998c2ecf20Sopenharmony_ciconfig ISA_DMA_API
12008c2ecf20Sopenharmony_ci	bool
12018c2ecf20Sopenharmony_ci
12028c2ecf20Sopenharmony_ciconfig SYS_SUPPORTS_RELOCATABLE
12038c2ecf20Sopenharmony_ci	bool
12048c2ecf20Sopenharmony_ci	help
12058c2ecf20Sopenharmony_ci	  Selected if the platform supports relocating the kernel.
12068c2ecf20Sopenharmony_ci	  The platform must provide plat_get_fdt() if it selects CONFIG_USE_OF
12078c2ecf20Sopenharmony_ci	  to allow access to command line and entropy sources.
12088c2ecf20Sopenharmony_ci
12098c2ecf20Sopenharmony_ciconfig MIPS_CBPF_JIT
12108c2ecf20Sopenharmony_ci	def_bool y
12118c2ecf20Sopenharmony_ci	depends on BPF_JIT && HAVE_CBPF_JIT
12128c2ecf20Sopenharmony_ci
12138c2ecf20Sopenharmony_ciconfig MIPS_EBPF_JIT
12148c2ecf20Sopenharmony_ci	def_bool y
12158c2ecf20Sopenharmony_ci	depends on BPF_JIT && HAVE_EBPF_JIT
12168c2ecf20Sopenharmony_ci
12178c2ecf20Sopenharmony_ci
12188c2ecf20Sopenharmony_ci#
12198c2ecf20Sopenharmony_ci# Endianness selection.  Sufficiently obscure so many users don't know what to
12208c2ecf20Sopenharmony_ci# answer,so we try hard to limit the available choices.  Also the use of a
12218c2ecf20Sopenharmony_ci# choice statement should be more obvious to the user.
12228c2ecf20Sopenharmony_ci#
12238c2ecf20Sopenharmony_cichoice
12248c2ecf20Sopenharmony_ci	prompt "Endianness selection"
12258c2ecf20Sopenharmony_ci	help
12268c2ecf20Sopenharmony_ci	  Some MIPS machines can be configured for either little or big endian
12278c2ecf20Sopenharmony_ci	  byte order. These modes require different kernels and a different
12288c2ecf20Sopenharmony_ci	  Linux distribution.  In general there is one preferred byteorder for a
12298c2ecf20Sopenharmony_ci	  particular system but some systems are just as commonly used in the
12308c2ecf20Sopenharmony_ci	  one or the other endianness.
12318c2ecf20Sopenharmony_ci
12328c2ecf20Sopenharmony_ciconfig CPU_BIG_ENDIAN
12338c2ecf20Sopenharmony_ci	bool "Big endian"
12348c2ecf20Sopenharmony_ci	depends on SYS_SUPPORTS_BIG_ENDIAN
12358c2ecf20Sopenharmony_ci
12368c2ecf20Sopenharmony_ciconfig CPU_LITTLE_ENDIAN
12378c2ecf20Sopenharmony_ci	bool "Little endian"
12388c2ecf20Sopenharmony_ci	depends on SYS_SUPPORTS_LITTLE_ENDIAN
12398c2ecf20Sopenharmony_ci
12408c2ecf20Sopenharmony_ciendchoice
12418c2ecf20Sopenharmony_ci
12428c2ecf20Sopenharmony_ciconfig EXPORT_UASM
12438c2ecf20Sopenharmony_ci	bool
12448c2ecf20Sopenharmony_ci
12458c2ecf20Sopenharmony_ciconfig SYS_SUPPORTS_APM_EMULATION
12468c2ecf20Sopenharmony_ci	bool
12478c2ecf20Sopenharmony_ci
12488c2ecf20Sopenharmony_ciconfig SYS_SUPPORTS_BIG_ENDIAN
12498c2ecf20Sopenharmony_ci	bool
12508c2ecf20Sopenharmony_ci
12518c2ecf20Sopenharmony_ciconfig SYS_SUPPORTS_LITTLE_ENDIAN
12528c2ecf20Sopenharmony_ci	bool
12538c2ecf20Sopenharmony_ci
12548c2ecf20Sopenharmony_ciconfig SYS_SUPPORTS_HUGETLBFS
12558c2ecf20Sopenharmony_ci	bool
12568c2ecf20Sopenharmony_ci	depends on CPU_SUPPORTS_HUGEPAGES
12578c2ecf20Sopenharmony_ci	default y
12588c2ecf20Sopenharmony_ci
12598c2ecf20Sopenharmony_ciconfig MIPS_HUGE_TLB_SUPPORT
12608c2ecf20Sopenharmony_ci	def_bool HUGETLB_PAGE || TRANSPARENT_HUGEPAGE
12618c2ecf20Sopenharmony_ci
12628c2ecf20Sopenharmony_ciconfig IRQ_CPU_RM7K
12638c2ecf20Sopenharmony_ci	bool
12648c2ecf20Sopenharmony_ci
12658c2ecf20Sopenharmony_ciconfig IRQ_MSP_SLP
12668c2ecf20Sopenharmony_ci	bool
12678c2ecf20Sopenharmony_ci
12688c2ecf20Sopenharmony_ciconfig IRQ_MSP_CIC
12698c2ecf20Sopenharmony_ci	bool
12708c2ecf20Sopenharmony_ci
12718c2ecf20Sopenharmony_ciconfig IRQ_TXX9
12728c2ecf20Sopenharmony_ci	bool
12738c2ecf20Sopenharmony_ci
12748c2ecf20Sopenharmony_ciconfig IRQ_GT641XX
12758c2ecf20Sopenharmony_ci	bool
12768c2ecf20Sopenharmony_ci
12778c2ecf20Sopenharmony_ciconfig PCI_GT64XXX_PCI0
12788c2ecf20Sopenharmony_ci	bool
12798c2ecf20Sopenharmony_ci
12808c2ecf20Sopenharmony_ciconfig PCI_XTALK_BRIDGE
12818c2ecf20Sopenharmony_ci	bool
12828c2ecf20Sopenharmony_ci
12838c2ecf20Sopenharmony_ciconfig NO_EXCEPT_FILL
12848c2ecf20Sopenharmony_ci	bool
12858c2ecf20Sopenharmony_ci
12868c2ecf20Sopenharmony_ciconfig MIPS_SPRAM
12878c2ecf20Sopenharmony_ci	bool
12888c2ecf20Sopenharmony_ci
12898c2ecf20Sopenharmony_ciconfig SWAP_IO_SPACE
12908c2ecf20Sopenharmony_ci	bool
12918c2ecf20Sopenharmony_ci
12928c2ecf20Sopenharmony_ciconfig SGI_HAS_INDYDOG
12938c2ecf20Sopenharmony_ci	bool
12948c2ecf20Sopenharmony_ci
12958c2ecf20Sopenharmony_ciconfig SGI_HAS_HAL2
12968c2ecf20Sopenharmony_ci	bool
12978c2ecf20Sopenharmony_ci
12988c2ecf20Sopenharmony_ciconfig SGI_HAS_SEEQ
12998c2ecf20Sopenharmony_ci	bool
13008c2ecf20Sopenharmony_ci
13018c2ecf20Sopenharmony_ciconfig SGI_HAS_WD93
13028c2ecf20Sopenharmony_ci	bool
13038c2ecf20Sopenharmony_ci
13048c2ecf20Sopenharmony_ciconfig SGI_HAS_ZILOG
13058c2ecf20Sopenharmony_ci	bool
13068c2ecf20Sopenharmony_ci
13078c2ecf20Sopenharmony_ciconfig SGI_HAS_I8042
13088c2ecf20Sopenharmony_ci	bool
13098c2ecf20Sopenharmony_ci
13108c2ecf20Sopenharmony_ciconfig DEFAULT_SGI_PARTITION
13118c2ecf20Sopenharmony_ci	bool
13128c2ecf20Sopenharmony_ci
13138c2ecf20Sopenharmony_ciconfig FW_ARC32
13148c2ecf20Sopenharmony_ci	bool
13158c2ecf20Sopenharmony_ci
13168c2ecf20Sopenharmony_ciconfig FW_SNIPROM
13178c2ecf20Sopenharmony_ci	bool
13188c2ecf20Sopenharmony_ci
13198c2ecf20Sopenharmony_ciconfig BOOT_ELF32
13208c2ecf20Sopenharmony_ci	bool
13218c2ecf20Sopenharmony_ci
13228c2ecf20Sopenharmony_ciconfig MIPS_L1_CACHE_SHIFT_4
13238c2ecf20Sopenharmony_ci	bool
13248c2ecf20Sopenharmony_ci
13258c2ecf20Sopenharmony_ciconfig MIPS_L1_CACHE_SHIFT_5
13268c2ecf20Sopenharmony_ci	bool
13278c2ecf20Sopenharmony_ci
13288c2ecf20Sopenharmony_ciconfig MIPS_L1_CACHE_SHIFT_6
13298c2ecf20Sopenharmony_ci	bool
13308c2ecf20Sopenharmony_ci
13318c2ecf20Sopenharmony_ciconfig MIPS_L1_CACHE_SHIFT_7
13328c2ecf20Sopenharmony_ci	bool
13338c2ecf20Sopenharmony_ci
13348c2ecf20Sopenharmony_ciconfig MIPS_L1_CACHE_SHIFT
13358c2ecf20Sopenharmony_ci	int
13368c2ecf20Sopenharmony_ci	default "7" if MIPS_L1_CACHE_SHIFT_7
13378c2ecf20Sopenharmony_ci	default "6" if MIPS_L1_CACHE_SHIFT_6
13388c2ecf20Sopenharmony_ci	default "5" if MIPS_L1_CACHE_SHIFT_5
13398c2ecf20Sopenharmony_ci	default "4" if MIPS_L1_CACHE_SHIFT_4
13408c2ecf20Sopenharmony_ci	default "5"
13418c2ecf20Sopenharmony_ci
13428c2ecf20Sopenharmony_ciconfig ARC_CMDLINE_ONLY
13438c2ecf20Sopenharmony_ci	bool
13448c2ecf20Sopenharmony_ci
13458c2ecf20Sopenharmony_ciconfig ARC_CONSOLE
13468c2ecf20Sopenharmony_ci	bool "ARC console support"
13478c2ecf20Sopenharmony_ci	depends on SGI_IP22 || SGI_IP28 || (SNI_RM && CPU_LITTLE_ENDIAN)
13488c2ecf20Sopenharmony_ci
13498c2ecf20Sopenharmony_ciconfig ARC_MEMORY
13508c2ecf20Sopenharmony_ci	bool
13518c2ecf20Sopenharmony_ci
13528c2ecf20Sopenharmony_ciconfig ARC_PROMLIB
13538c2ecf20Sopenharmony_ci	bool
13548c2ecf20Sopenharmony_ci
13558c2ecf20Sopenharmony_ciconfig FW_ARC64
13568c2ecf20Sopenharmony_ci	bool
13578c2ecf20Sopenharmony_ci
13588c2ecf20Sopenharmony_ciconfig BOOT_ELF64
13598c2ecf20Sopenharmony_ci	bool
13608c2ecf20Sopenharmony_ci
13618c2ecf20Sopenharmony_cimenu "CPU selection"
13628c2ecf20Sopenharmony_ci
13638c2ecf20Sopenharmony_cichoice
13648c2ecf20Sopenharmony_ci	prompt "CPU type"
13658c2ecf20Sopenharmony_ci	default CPU_R4X00
13668c2ecf20Sopenharmony_ci
13678c2ecf20Sopenharmony_ciconfig CPU_LOONGSON64
13688c2ecf20Sopenharmony_ci	bool "Loongson 64-bit CPU"
13698c2ecf20Sopenharmony_ci	depends on SYS_HAS_CPU_LOONGSON64
13708c2ecf20Sopenharmony_ci	select ARCH_HAS_PHYS_TO_DMA
13718c2ecf20Sopenharmony_ci	select CPU_MIPSR2
13728c2ecf20Sopenharmony_ci	select CPU_HAS_PREFETCH
13738c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_64BIT_KERNEL
13748c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_HIGHMEM
13758c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_HUGEPAGES
13768c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_MSA
13778c2ecf20Sopenharmony_ci	select CPU_DIEI_BROKEN if !LOONGSON3_ENHANCEMENT
13788c2ecf20Sopenharmony_ci	select CPU_MIPSR2_IRQ_VI
13798c2ecf20Sopenharmony_ci	select WEAK_ORDERING
13808c2ecf20Sopenharmony_ci	select WEAK_REORDERING_BEYOND_LLSC
13818c2ecf20Sopenharmony_ci	select MIPS_ASID_BITS_VARIABLE
13828c2ecf20Sopenharmony_ci	select MIPS_PGD_C0_CONTEXT
13838c2ecf20Sopenharmony_ci	select MIPS_L1_CACHE_SHIFT_6
13848c2ecf20Sopenharmony_ci	select MIPS_FP_SUPPORT
13858c2ecf20Sopenharmony_ci	select GPIOLIB
13868c2ecf20Sopenharmony_ci	select SWIOTLB
13878c2ecf20Sopenharmony_ci	select HAVE_KVM
13888c2ecf20Sopenharmony_ci	help
13898c2ecf20Sopenharmony_ci		The Loongson GSx64(GS264/GS464/GS464E/GS464V) series of processor
13908c2ecf20Sopenharmony_ci		cores implements the MIPS64R2 instruction set with many extensions,
13918c2ecf20Sopenharmony_ci		including most 64-bit Loongson-2 (2H, 2K) and Loongson-3 (3A1000,
13928c2ecf20Sopenharmony_ci		3B1000, 3B1500, 3A2000, 3A3000 and 3A4000) processors. However, old
13938c2ecf20Sopenharmony_ci		Loongson-2E/2F is not covered here and will be removed in future.
13948c2ecf20Sopenharmony_ci
13958c2ecf20Sopenharmony_ciconfig LOONGSON3_ENHANCEMENT
13968c2ecf20Sopenharmony_ci	bool "New Loongson-3 CPU Enhancements"
13978c2ecf20Sopenharmony_ci	default n
13988c2ecf20Sopenharmony_ci	depends on CPU_LOONGSON64
13998c2ecf20Sopenharmony_ci	help
14008c2ecf20Sopenharmony_ci	  New Loongson-3 cores (since Loongson-3A R2, as opposed to Loongson-3A
14018c2ecf20Sopenharmony_ci	  R1, Loongson-3B R1 and Loongson-3B R2) has many enhancements, such as
14028c2ecf20Sopenharmony_ci	  FTLB, L1-VCache, EI/DI/Wait/Prefetch instruction, DSP/DSPr2 ASE, User
14038c2ecf20Sopenharmony_ci	  Local register, Read-Inhibit/Execute-Inhibit, SFB (Store Fill Buffer),
14048c2ecf20Sopenharmony_ci	  Fast TLB refill support, etc.
14058c2ecf20Sopenharmony_ci
14068c2ecf20Sopenharmony_ci	  This option enable those enhancements which are not probed at run
14078c2ecf20Sopenharmony_ci	  time. If you want a generic kernel to run on all Loongson 3 machines,
14088c2ecf20Sopenharmony_ci	  please say 'N' here. If you want a high-performance kernel to run on
14098c2ecf20Sopenharmony_ci	  new Loongson-3 machines only, please say 'Y' here.
14108c2ecf20Sopenharmony_ci
14118c2ecf20Sopenharmony_ciconfig CPU_LOONGSON3_WORKAROUNDS
14128c2ecf20Sopenharmony_ci	bool "Old Loongson-3 LLSC Workarounds"
14138c2ecf20Sopenharmony_ci	default y if SMP
14148c2ecf20Sopenharmony_ci	depends on CPU_LOONGSON64
14158c2ecf20Sopenharmony_ci	help
14168c2ecf20Sopenharmony_ci	  Loongson-3 processors have the llsc issues which require workarounds.
14178c2ecf20Sopenharmony_ci	  Without workarounds the system may hang unexpectedly.
14188c2ecf20Sopenharmony_ci
14198c2ecf20Sopenharmony_ci	  Newer Loongson-3 will fix these issues and no workarounds are needed.
14208c2ecf20Sopenharmony_ci	  The workarounds have no significant side effect on them but may
14218c2ecf20Sopenharmony_ci	  decrease the performance of the system so this option should be
14228c2ecf20Sopenharmony_ci	  disabled unless the kernel is intended to be run on old systems.
14238c2ecf20Sopenharmony_ci
14248c2ecf20Sopenharmony_ci	  If unsure, please say Y.
14258c2ecf20Sopenharmony_ci
14268c2ecf20Sopenharmony_ciconfig CPU_LOONGSON3_CPUCFG_EMULATION
14278c2ecf20Sopenharmony_ci	bool "Emulate the CPUCFG instruction on older Loongson cores"
14288c2ecf20Sopenharmony_ci	default y
14298c2ecf20Sopenharmony_ci	depends on CPU_LOONGSON64
14308c2ecf20Sopenharmony_ci	help
14318c2ecf20Sopenharmony_ci	  Loongson-3A R4 and newer have the CPUCFG instruction available for
14328c2ecf20Sopenharmony_ci	  userland to query CPU capabilities, much like CPUID on x86. This
14338c2ecf20Sopenharmony_ci	  option provides emulation of the instruction on older Loongson
14348c2ecf20Sopenharmony_ci	  cores, back to Loongson-3A1000.
14358c2ecf20Sopenharmony_ci
14368c2ecf20Sopenharmony_ci	  If unsure, please say Y.
14378c2ecf20Sopenharmony_ci
14388c2ecf20Sopenharmony_ciconfig CPU_LOONGSON2E
14398c2ecf20Sopenharmony_ci	bool "Loongson 2E"
14408c2ecf20Sopenharmony_ci	depends on SYS_HAS_CPU_LOONGSON2E
14418c2ecf20Sopenharmony_ci	select CPU_LOONGSON2EF
14428c2ecf20Sopenharmony_ci	help
14438c2ecf20Sopenharmony_ci	  The Loongson 2E processor implements the MIPS III instruction set
14448c2ecf20Sopenharmony_ci	  with many extensions.
14458c2ecf20Sopenharmony_ci
14468c2ecf20Sopenharmony_ci	  It has an internal FPGA northbridge, which is compatible to
14478c2ecf20Sopenharmony_ci	  bonito64.
14488c2ecf20Sopenharmony_ci
14498c2ecf20Sopenharmony_ciconfig CPU_LOONGSON2F
14508c2ecf20Sopenharmony_ci	bool "Loongson 2F"
14518c2ecf20Sopenharmony_ci	depends on SYS_HAS_CPU_LOONGSON2F
14528c2ecf20Sopenharmony_ci	select CPU_LOONGSON2EF
14538c2ecf20Sopenharmony_ci	select GPIOLIB
14548c2ecf20Sopenharmony_ci	help
14558c2ecf20Sopenharmony_ci	  The Loongson 2F processor implements the MIPS III instruction set
14568c2ecf20Sopenharmony_ci	  with many extensions.
14578c2ecf20Sopenharmony_ci
14588c2ecf20Sopenharmony_ci	  Loongson2F have built-in DDR2 and PCIX controller. The PCIX controller
14598c2ecf20Sopenharmony_ci	  have a similar programming interface with FPGA northbridge used in
14608c2ecf20Sopenharmony_ci	  Loongson2E.
14618c2ecf20Sopenharmony_ci
14628c2ecf20Sopenharmony_ciconfig CPU_LOONGSON1B
14638c2ecf20Sopenharmony_ci	bool "Loongson 1B"
14648c2ecf20Sopenharmony_ci	depends on SYS_HAS_CPU_LOONGSON1B
14658c2ecf20Sopenharmony_ci	select CPU_LOONGSON32
14668c2ecf20Sopenharmony_ci	select LEDS_GPIO_REGISTER
14678c2ecf20Sopenharmony_ci	help
14688c2ecf20Sopenharmony_ci	  The Loongson 1B is a 32-bit SoC, which implements the MIPS32
14698c2ecf20Sopenharmony_ci	  Release 1 instruction set and part of the MIPS32 Release 2
14708c2ecf20Sopenharmony_ci	  instruction set.
14718c2ecf20Sopenharmony_ci
14728c2ecf20Sopenharmony_ciconfig CPU_LOONGSON1C
14738c2ecf20Sopenharmony_ci	bool "Loongson 1C"
14748c2ecf20Sopenharmony_ci	depends on SYS_HAS_CPU_LOONGSON1C
14758c2ecf20Sopenharmony_ci	select CPU_LOONGSON32
14768c2ecf20Sopenharmony_ci	select LEDS_GPIO_REGISTER
14778c2ecf20Sopenharmony_ci	help
14788c2ecf20Sopenharmony_ci	  The Loongson 1C is a 32-bit SoC, which implements the MIPS32
14798c2ecf20Sopenharmony_ci	  Release 1 instruction set and part of the MIPS32 Release 2
14808c2ecf20Sopenharmony_ci	  instruction set.
14818c2ecf20Sopenharmony_ci
14828c2ecf20Sopenharmony_ciconfig CPU_MIPS32_R1
14838c2ecf20Sopenharmony_ci	bool "MIPS32 Release 1"
14848c2ecf20Sopenharmony_ci	depends on SYS_HAS_CPU_MIPS32_R1
14858c2ecf20Sopenharmony_ci	select CPU_HAS_PREFETCH
14868c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_32BIT_KERNEL
14878c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_HIGHMEM
14888c2ecf20Sopenharmony_ci	help
14898c2ecf20Sopenharmony_ci	  Choose this option to build a kernel for release 1 or later of the
14908c2ecf20Sopenharmony_ci	  MIPS32 architecture.  Most modern embedded systems with a 32-bit
14918c2ecf20Sopenharmony_ci	  MIPS processor are based on a MIPS32 processor.  If you know the
14928c2ecf20Sopenharmony_ci	  specific type of processor in your system, choose those that one
14938c2ecf20Sopenharmony_ci	  otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
14948c2ecf20Sopenharmony_ci	  Release 2 of the MIPS32 architecture is available since several
14958c2ecf20Sopenharmony_ci	  years so chances are you even have a MIPS32 Release 2 processor
14968c2ecf20Sopenharmony_ci	  in which case you should choose CPU_MIPS32_R2 instead for better
14978c2ecf20Sopenharmony_ci	  performance.
14988c2ecf20Sopenharmony_ci
14998c2ecf20Sopenharmony_ciconfig CPU_MIPS32_R2
15008c2ecf20Sopenharmony_ci	bool "MIPS32 Release 2"
15018c2ecf20Sopenharmony_ci	depends on SYS_HAS_CPU_MIPS32_R2
15028c2ecf20Sopenharmony_ci	select CPU_HAS_PREFETCH
15038c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_32BIT_KERNEL
15048c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_HIGHMEM
15058c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_MSA
15068c2ecf20Sopenharmony_ci	select HAVE_KVM
15078c2ecf20Sopenharmony_ci	help
15088c2ecf20Sopenharmony_ci	  Choose this option to build a kernel for release 2 or later of the
15098c2ecf20Sopenharmony_ci	  MIPS32 architecture.  Most modern embedded systems with a 32-bit
15108c2ecf20Sopenharmony_ci	  MIPS processor are based on a MIPS32 processor.  If you know the
15118c2ecf20Sopenharmony_ci	  specific type of processor in your system, choose those that one
15128c2ecf20Sopenharmony_ci	  otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
15138c2ecf20Sopenharmony_ci
15148c2ecf20Sopenharmony_ciconfig CPU_MIPS32_R5
15158c2ecf20Sopenharmony_ci	bool "MIPS32 Release 5"
15168c2ecf20Sopenharmony_ci	depends on SYS_HAS_CPU_MIPS32_R5
15178c2ecf20Sopenharmony_ci	select CPU_HAS_PREFETCH
15188c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_32BIT_KERNEL
15198c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_HIGHMEM
15208c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_MSA
15218c2ecf20Sopenharmony_ci	select HAVE_KVM
15228c2ecf20Sopenharmony_ci	select MIPS_O32_FP64_SUPPORT
15238c2ecf20Sopenharmony_ci	help
15248c2ecf20Sopenharmony_ci	  Choose this option to build a kernel for release 5 or later of the
15258c2ecf20Sopenharmony_ci	  MIPS32 architecture.  New MIPS processors, starting with the Warrior
15268c2ecf20Sopenharmony_ci	  family, are based on a MIPS32r5 processor. If you own an older
15278c2ecf20Sopenharmony_ci	  processor, you probably need to select MIPS32r1 or MIPS32r2 instead.
15288c2ecf20Sopenharmony_ci
15298c2ecf20Sopenharmony_ciconfig CPU_MIPS32_R6
15308c2ecf20Sopenharmony_ci	bool "MIPS32 Release 6"
15318c2ecf20Sopenharmony_ci	depends on SYS_HAS_CPU_MIPS32_R6
15328c2ecf20Sopenharmony_ci	select CPU_HAS_PREFETCH
15338c2ecf20Sopenharmony_ci	select CPU_NO_LOAD_STORE_LR
15348c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_32BIT_KERNEL
15358c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_HIGHMEM
15368c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_MSA
15378c2ecf20Sopenharmony_ci	select HAVE_KVM
15388c2ecf20Sopenharmony_ci	select MIPS_O32_FP64_SUPPORT
15398c2ecf20Sopenharmony_ci	help
15408c2ecf20Sopenharmony_ci	  Choose this option to build a kernel for release 6 or later of the
15418c2ecf20Sopenharmony_ci	  MIPS32 architecture.  New MIPS processors, starting with the Warrior
15428c2ecf20Sopenharmony_ci	  family, are based on a MIPS32r6 processor. If you own an older
15438c2ecf20Sopenharmony_ci	  processor, you probably need to select MIPS32r1 or MIPS32r2 instead.
15448c2ecf20Sopenharmony_ci
15458c2ecf20Sopenharmony_ciconfig CPU_MIPS64_R1
15468c2ecf20Sopenharmony_ci	bool "MIPS64 Release 1"
15478c2ecf20Sopenharmony_ci	depends on SYS_HAS_CPU_MIPS64_R1
15488c2ecf20Sopenharmony_ci	select CPU_HAS_PREFETCH
15498c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_32BIT_KERNEL
15508c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_64BIT_KERNEL
15518c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_HIGHMEM
15528c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_HUGEPAGES
15538c2ecf20Sopenharmony_ci	help
15548c2ecf20Sopenharmony_ci	  Choose this option to build a kernel for release 1 or later of the
15558c2ecf20Sopenharmony_ci	  MIPS64 architecture.  Many modern embedded systems with a 64-bit
15568c2ecf20Sopenharmony_ci	  MIPS processor are based on a MIPS64 processor.  If you know the
15578c2ecf20Sopenharmony_ci	  specific type of processor in your system, choose those that one
15588c2ecf20Sopenharmony_ci	  otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
15598c2ecf20Sopenharmony_ci	  Release 2 of the MIPS64 architecture is available since several
15608c2ecf20Sopenharmony_ci	  years so chances are you even have a MIPS64 Release 2 processor
15618c2ecf20Sopenharmony_ci	  in which case you should choose CPU_MIPS64_R2 instead for better
15628c2ecf20Sopenharmony_ci	  performance.
15638c2ecf20Sopenharmony_ci
15648c2ecf20Sopenharmony_ciconfig CPU_MIPS64_R2
15658c2ecf20Sopenharmony_ci	bool "MIPS64 Release 2"
15668c2ecf20Sopenharmony_ci	depends on SYS_HAS_CPU_MIPS64_R2
15678c2ecf20Sopenharmony_ci	select CPU_HAS_PREFETCH
15688c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_32BIT_KERNEL
15698c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_64BIT_KERNEL
15708c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_HIGHMEM
15718c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_HUGEPAGES
15728c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_MSA
15738c2ecf20Sopenharmony_ci	select HAVE_KVM
15748c2ecf20Sopenharmony_ci	help
15758c2ecf20Sopenharmony_ci	  Choose this option to build a kernel for release 2 or later of the
15768c2ecf20Sopenharmony_ci	  MIPS64 architecture.  Many modern embedded systems with a 64-bit
15778c2ecf20Sopenharmony_ci	  MIPS processor are based on a MIPS64 processor.  If you know the
15788c2ecf20Sopenharmony_ci	  specific type of processor in your system, choose those that one
15798c2ecf20Sopenharmony_ci	  otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
15808c2ecf20Sopenharmony_ci
15818c2ecf20Sopenharmony_ciconfig CPU_MIPS64_R5
15828c2ecf20Sopenharmony_ci	bool "MIPS64 Release 5"
15838c2ecf20Sopenharmony_ci	depends on SYS_HAS_CPU_MIPS64_R5
15848c2ecf20Sopenharmony_ci	select CPU_HAS_PREFETCH
15858c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_32BIT_KERNEL
15868c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_64BIT_KERNEL
15878c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_HIGHMEM
15888c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_HUGEPAGES
15898c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_MSA
15908c2ecf20Sopenharmony_ci	select MIPS_O32_FP64_SUPPORT if 32BIT || MIPS32_O32
15918c2ecf20Sopenharmony_ci	select HAVE_KVM
15928c2ecf20Sopenharmony_ci	help
15938c2ecf20Sopenharmony_ci	  Choose this option to build a kernel for release 5 or later of the
15948c2ecf20Sopenharmony_ci	  MIPS64 architecture.  This is a intermediate MIPS architecture
15958c2ecf20Sopenharmony_ci	  release partly implementing release 6 features. Though there is no
15968c2ecf20Sopenharmony_ci	  any hardware known to be based on this release.
15978c2ecf20Sopenharmony_ci
15988c2ecf20Sopenharmony_ciconfig CPU_MIPS64_R6
15998c2ecf20Sopenharmony_ci	bool "MIPS64 Release 6"
16008c2ecf20Sopenharmony_ci	depends on SYS_HAS_CPU_MIPS64_R6
16018c2ecf20Sopenharmony_ci	select CPU_HAS_PREFETCH
16028c2ecf20Sopenharmony_ci	select CPU_NO_LOAD_STORE_LR
16038c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_32BIT_KERNEL
16048c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_64BIT_KERNEL
16058c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_HIGHMEM
16068c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_HUGEPAGES
16078c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_MSA
16088c2ecf20Sopenharmony_ci	select MIPS_O32_FP64_SUPPORT if 32BIT || MIPS32_O32
16098c2ecf20Sopenharmony_ci	select HAVE_KVM
16108c2ecf20Sopenharmony_ci	help
16118c2ecf20Sopenharmony_ci	  Choose this option to build a kernel for release 6 or later of the
16128c2ecf20Sopenharmony_ci	  MIPS64 architecture.  New MIPS processors, starting with the Warrior
16138c2ecf20Sopenharmony_ci	  family, are based on a MIPS64r6 processor. If you own an older
16148c2ecf20Sopenharmony_ci	  processor, you probably need to select MIPS64r1 or MIPS64r2 instead.
16158c2ecf20Sopenharmony_ci
16168c2ecf20Sopenharmony_ciconfig CPU_P5600
16178c2ecf20Sopenharmony_ci	bool "MIPS Warrior P5600"
16188c2ecf20Sopenharmony_ci	depends on SYS_HAS_CPU_P5600
16198c2ecf20Sopenharmony_ci	select CPU_HAS_PREFETCH
16208c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_32BIT_KERNEL
16218c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_HIGHMEM
16228c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_MSA
16238c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_CPUFREQ
16248c2ecf20Sopenharmony_ci	select CPU_MIPSR2_IRQ_VI
16258c2ecf20Sopenharmony_ci	select CPU_MIPSR2_IRQ_EI
16268c2ecf20Sopenharmony_ci	select HAVE_KVM
16278c2ecf20Sopenharmony_ci	select MIPS_O32_FP64_SUPPORT
16288c2ecf20Sopenharmony_ci	help
16298c2ecf20Sopenharmony_ci	  Choose this option to build a kernel for MIPS Warrior P5600 CPU.
16308c2ecf20Sopenharmony_ci	  It's based on MIPS32r5 ISA with XPA, EVA, dual/quad issue exec pipes,
16318c2ecf20Sopenharmony_ci	  MMU with two-levels TLB, UCA, MSA, MDU core level features and system
16328c2ecf20Sopenharmony_ci	  level features like up to six P5600 calculation cores, CM2 with L2
16338c2ecf20Sopenharmony_ci	  cache, IOCU/IOMMU (though might be unused depending on the system-
16348c2ecf20Sopenharmony_ci	  specific IP core configuration), GIC, CPC, virtualisation module,
16358c2ecf20Sopenharmony_ci	  eJTAG and PDtrace.
16368c2ecf20Sopenharmony_ci
16378c2ecf20Sopenharmony_ciconfig CPU_R3000
16388c2ecf20Sopenharmony_ci	bool "R3000"
16398c2ecf20Sopenharmony_ci	depends on SYS_HAS_CPU_R3000
16408c2ecf20Sopenharmony_ci	select CPU_HAS_WB
16418c2ecf20Sopenharmony_ci	select CPU_R3K_TLB
16428c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_32BIT_KERNEL
16438c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_HIGHMEM
16448c2ecf20Sopenharmony_ci	help
16458c2ecf20Sopenharmony_ci	  Please make sure to pick the right CPU type. Linux/MIPS is not
16468c2ecf20Sopenharmony_ci	  designed to be generic, i.e. Kernels compiled for R3000 CPUs will
16478c2ecf20Sopenharmony_ci	  *not* work on R4000 machines and vice versa.  However, since most
16488c2ecf20Sopenharmony_ci	  of the supported machines have an R4000 (or similar) CPU, R4x00
16498c2ecf20Sopenharmony_ci	  might be a safe bet.  If the resulting kernel does not work,
16508c2ecf20Sopenharmony_ci	  try to recompile with R3000.
16518c2ecf20Sopenharmony_ci
16528c2ecf20Sopenharmony_ciconfig CPU_TX39XX
16538c2ecf20Sopenharmony_ci	bool "R39XX"
16548c2ecf20Sopenharmony_ci	depends on SYS_HAS_CPU_TX39XX
16558c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_32BIT_KERNEL
16568c2ecf20Sopenharmony_ci	select CPU_R3K_TLB
16578c2ecf20Sopenharmony_ci
16588c2ecf20Sopenharmony_ciconfig CPU_VR41XX
16598c2ecf20Sopenharmony_ci	bool "R41xx"
16608c2ecf20Sopenharmony_ci	depends on SYS_HAS_CPU_VR41XX
16618c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_32BIT_KERNEL
16628c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_64BIT_KERNEL
16638c2ecf20Sopenharmony_ci	help
16648c2ecf20Sopenharmony_ci	  The options selects support for the NEC VR4100 series of processors.
16658c2ecf20Sopenharmony_ci	  Only choose this option if you have one of these processors as a
16668c2ecf20Sopenharmony_ci	  kernel built with this option will not run on any other type of
16678c2ecf20Sopenharmony_ci	  processor or vice versa.
16688c2ecf20Sopenharmony_ci
16698c2ecf20Sopenharmony_ciconfig CPU_R4X00
16708c2ecf20Sopenharmony_ci	bool "R4x00"
16718c2ecf20Sopenharmony_ci	depends on SYS_HAS_CPU_R4X00
16728c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_32BIT_KERNEL
16738c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_64BIT_KERNEL
16748c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_HUGEPAGES
16758c2ecf20Sopenharmony_ci	help
16768c2ecf20Sopenharmony_ci	  MIPS Technologies R4000-series processors other than 4300, including
16778c2ecf20Sopenharmony_ci	  the R4000, R4400, R4600, and 4700.
16788c2ecf20Sopenharmony_ci
16798c2ecf20Sopenharmony_ciconfig CPU_TX49XX
16808c2ecf20Sopenharmony_ci	bool "R49XX"
16818c2ecf20Sopenharmony_ci	depends on SYS_HAS_CPU_TX49XX
16828c2ecf20Sopenharmony_ci	select CPU_HAS_PREFETCH
16838c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_32BIT_KERNEL
16848c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_64BIT_KERNEL
16858c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_HUGEPAGES
16868c2ecf20Sopenharmony_ci
16878c2ecf20Sopenharmony_ciconfig CPU_R5000
16888c2ecf20Sopenharmony_ci	bool "R5000"
16898c2ecf20Sopenharmony_ci	depends on SYS_HAS_CPU_R5000
16908c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_32BIT_KERNEL
16918c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_64BIT_KERNEL
16928c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_HUGEPAGES
16938c2ecf20Sopenharmony_ci	help
16948c2ecf20Sopenharmony_ci	  MIPS Technologies R5000-series processors other than the Nevada.
16958c2ecf20Sopenharmony_ci
16968c2ecf20Sopenharmony_ciconfig CPU_R5500
16978c2ecf20Sopenharmony_ci	bool "R5500"
16988c2ecf20Sopenharmony_ci	depends on SYS_HAS_CPU_R5500
16998c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_32BIT_KERNEL
17008c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_64BIT_KERNEL
17018c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_HUGEPAGES
17028c2ecf20Sopenharmony_ci	help
17038c2ecf20Sopenharmony_ci	  NEC VR5500 and VR5500A series processors implement 64-bit MIPS IV
17048c2ecf20Sopenharmony_ci	  instruction set.
17058c2ecf20Sopenharmony_ci
17068c2ecf20Sopenharmony_ciconfig CPU_NEVADA
17078c2ecf20Sopenharmony_ci	bool "RM52xx"
17088c2ecf20Sopenharmony_ci	depends on SYS_HAS_CPU_NEVADA
17098c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_32BIT_KERNEL
17108c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_64BIT_KERNEL
17118c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_HUGEPAGES
17128c2ecf20Sopenharmony_ci	help
17138c2ecf20Sopenharmony_ci	  QED / PMC-Sierra RM52xx-series ("Nevada") processors.
17148c2ecf20Sopenharmony_ci
17158c2ecf20Sopenharmony_ciconfig CPU_R10000
17168c2ecf20Sopenharmony_ci	bool "R10000"
17178c2ecf20Sopenharmony_ci	depends on SYS_HAS_CPU_R10000
17188c2ecf20Sopenharmony_ci	select CPU_HAS_PREFETCH
17198c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_32BIT_KERNEL
17208c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_64BIT_KERNEL
17218c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_HIGHMEM
17228c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_HUGEPAGES
17238c2ecf20Sopenharmony_ci	help
17248c2ecf20Sopenharmony_ci	  MIPS Technologies R10000-series processors.
17258c2ecf20Sopenharmony_ci
17268c2ecf20Sopenharmony_ciconfig CPU_RM7000
17278c2ecf20Sopenharmony_ci	bool "RM7000"
17288c2ecf20Sopenharmony_ci	depends on SYS_HAS_CPU_RM7000
17298c2ecf20Sopenharmony_ci	select CPU_HAS_PREFETCH
17308c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_32BIT_KERNEL
17318c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_64BIT_KERNEL
17328c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_HIGHMEM
17338c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_HUGEPAGES
17348c2ecf20Sopenharmony_ci
17358c2ecf20Sopenharmony_ciconfig CPU_SB1
17368c2ecf20Sopenharmony_ci	bool "SB1"
17378c2ecf20Sopenharmony_ci	depends on SYS_HAS_CPU_SB1
17388c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_32BIT_KERNEL
17398c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_64BIT_KERNEL
17408c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_HIGHMEM
17418c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_HUGEPAGES
17428c2ecf20Sopenharmony_ci	select WEAK_ORDERING
17438c2ecf20Sopenharmony_ci
17448c2ecf20Sopenharmony_ciconfig CPU_CAVIUM_OCTEON
17458c2ecf20Sopenharmony_ci	bool "Cavium Octeon processor"
17468c2ecf20Sopenharmony_ci	depends on SYS_HAS_CPU_CAVIUM_OCTEON
17478c2ecf20Sopenharmony_ci	select CPU_HAS_PREFETCH
17488c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_64BIT_KERNEL
17498c2ecf20Sopenharmony_ci	select WEAK_ORDERING
17508c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_HIGHMEM
17518c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_HUGEPAGES
17528c2ecf20Sopenharmony_ci	select USB_EHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN
17538c2ecf20Sopenharmony_ci	select USB_OHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN
17548c2ecf20Sopenharmony_ci	select MIPS_L1_CACHE_SHIFT_7
17558c2ecf20Sopenharmony_ci	select HAVE_KVM
17568c2ecf20Sopenharmony_ci	help
17578c2ecf20Sopenharmony_ci	  The Cavium Octeon processor is a highly integrated chip containing
17588c2ecf20Sopenharmony_ci	  many ethernet hardware widgets for networking tasks. The processor
17598c2ecf20Sopenharmony_ci	  can have up to 16 Mips64v2 cores and 8 integrated gigabit ethernets.
17608c2ecf20Sopenharmony_ci	  Full details can be found at http://www.caviumnetworks.com.
17618c2ecf20Sopenharmony_ci
17628c2ecf20Sopenharmony_ciconfig CPU_BMIPS
17638c2ecf20Sopenharmony_ci	bool "Broadcom BMIPS"
17648c2ecf20Sopenharmony_ci	depends on SYS_HAS_CPU_BMIPS
17658c2ecf20Sopenharmony_ci	select CPU_MIPS32
17668c2ecf20Sopenharmony_ci	select CPU_BMIPS32_3300 if SYS_HAS_CPU_BMIPS32_3300
17678c2ecf20Sopenharmony_ci	select CPU_BMIPS4350 if SYS_HAS_CPU_BMIPS4350
17688c2ecf20Sopenharmony_ci	select CPU_BMIPS4380 if SYS_HAS_CPU_BMIPS4380
17698c2ecf20Sopenharmony_ci	select CPU_BMIPS5000 if SYS_HAS_CPU_BMIPS5000
17708c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_32BIT_KERNEL
17718c2ecf20Sopenharmony_ci	select DMA_NONCOHERENT
17728c2ecf20Sopenharmony_ci	select IRQ_MIPS_CPU
17738c2ecf20Sopenharmony_ci	select SWAP_IO_SPACE
17748c2ecf20Sopenharmony_ci	select WEAK_ORDERING
17758c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_HIGHMEM
17768c2ecf20Sopenharmony_ci	select CPU_HAS_PREFETCH
17778c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_CPUFREQ
17788c2ecf20Sopenharmony_ci	select MIPS_EXTERNAL_TIMER
17798c2ecf20Sopenharmony_ci	help
17808c2ecf20Sopenharmony_ci	  Support for BMIPS32/3300/4350/4380 and BMIPS5000 processors.
17818c2ecf20Sopenharmony_ci
17828c2ecf20Sopenharmony_ciconfig CPU_XLR
17838c2ecf20Sopenharmony_ci	bool "Netlogic XLR SoC"
17848c2ecf20Sopenharmony_ci	depends on SYS_HAS_CPU_XLR
17858c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_32BIT_KERNEL
17868c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_64BIT_KERNEL
17878c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_HIGHMEM
17888c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_HUGEPAGES
17898c2ecf20Sopenharmony_ci	select WEAK_ORDERING
17908c2ecf20Sopenharmony_ci	select WEAK_REORDERING_BEYOND_LLSC
17918c2ecf20Sopenharmony_ci	help
17928c2ecf20Sopenharmony_ci	  Netlogic Microsystems XLR/XLS processors.
17938c2ecf20Sopenharmony_ci
17948c2ecf20Sopenharmony_ciconfig CPU_XLP
17958c2ecf20Sopenharmony_ci	bool "Netlogic XLP SoC"
17968c2ecf20Sopenharmony_ci	depends on SYS_HAS_CPU_XLP
17978c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_32BIT_KERNEL
17988c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_64BIT_KERNEL
17998c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_HIGHMEM
18008c2ecf20Sopenharmony_ci	select WEAK_ORDERING
18018c2ecf20Sopenharmony_ci	select WEAK_REORDERING_BEYOND_LLSC
18028c2ecf20Sopenharmony_ci	select CPU_HAS_PREFETCH
18038c2ecf20Sopenharmony_ci	select CPU_MIPSR2
18048c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_HUGEPAGES
18058c2ecf20Sopenharmony_ci	select MIPS_ASID_BITS_VARIABLE
18068c2ecf20Sopenharmony_ci	help
18078c2ecf20Sopenharmony_ci	  Netlogic Microsystems XLP processors.
18088c2ecf20Sopenharmony_ciendchoice
18098c2ecf20Sopenharmony_ci
18108c2ecf20Sopenharmony_ciconfig CPU_MIPS32_3_5_FEATURES
18118c2ecf20Sopenharmony_ci	bool "MIPS32 Release 3.5 Features"
18128c2ecf20Sopenharmony_ci	depends on SYS_HAS_CPU_MIPS32_R3_5
18138c2ecf20Sopenharmony_ci	depends on CPU_MIPS32_R2 || CPU_MIPS32_R5 || CPU_MIPS32_R6 || \
18148c2ecf20Sopenharmony_ci		   CPU_P5600
18158c2ecf20Sopenharmony_ci	help
18168c2ecf20Sopenharmony_ci	  Choose this option to build a kernel for release 2 or later of the
18178c2ecf20Sopenharmony_ci	  MIPS32 architecture including features from the 3.5 release such as
18188c2ecf20Sopenharmony_ci	  support for Enhanced Virtual Addressing (EVA).
18198c2ecf20Sopenharmony_ci
18208c2ecf20Sopenharmony_ciconfig CPU_MIPS32_3_5_EVA
18218c2ecf20Sopenharmony_ci	bool "Enhanced Virtual Addressing (EVA)"
18228c2ecf20Sopenharmony_ci	depends on CPU_MIPS32_3_5_FEATURES
18238c2ecf20Sopenharmony_ci	select EVA
18248c2ecf20Sopenharmony_ci	default y
18258c2ecf20Sopenharmony_ci	help
18268c2ecf20Sopenharmony_ci	  Choose this option if you want to enable the Enhanced Virtual
18278c2ecf20Sopenharmony_ci	  Addressing (EVA) on your MIPS32 core (such as proAptiv).
18288c2ecf20Sopenharmony_ci	  One of its primary benefits is an increase in the maximum size
18298c2ecf20Sopenharmony_ci	  of lowmem (up to 3GB). If unsure, say 'N' here.
18308c2ecf20Sopenharmony_ci
18318c2ecf20Sopenharmony_ciconfig CPU_MIPS32_R5_FEATURES
18328c2ecf20Sopenharmony_ci	bool "MIPS32 Release 5 Features"
18338c2ecf20Sopenharmony_ci	depends on SYS_HAS_CPU_MIPS32_R5
18348c2ecf20Sopenharmony_ci	depends on CPU_MIPS32_R2 || CPU_MIPS32_R5 || CPU_P5600
18358c2ecf20Sopenharmony_ci	help
18368c2ecf20Sopenharmony_ci	  Choose this option to build a kernel for release 2 or later of the
18378c2ecf20Sopenharmony_ci	  MIPS32 architecture including features from release 5 such as
18388c2ecf20Sopenharmony_ci	  support for Extended Physical Addressing (XPA).
18398c2ecf20Sopenharmony_ci
18408c2ecf20Sopenharmony_ciconfig CPU_MIPS32_R5_XPA
18418c2ecf20Sopenharmony_ci	bool "Extended Physical Addressing (XPA)"
18428c2ecf20Sopenharmony_ci	depends on CPU_MIPS32_R5_FEATURES
18438c2ecf20Sopenharmony_ci	depends on !EVA
18448c2ecf20Sopenharmony_ci	depends on !PAGE_SIZE_4KB
18458c2ecf20Sopenharmony_ci	depends on SYS_SUPPORTS_HIGHMEM
18468c2ecf20Sopenharmony_ci	select XPA
18478c2ecf20Sopenharmony_ci	select HIGHMEM
18488c2ecf20Sopenharmony_ci	select PHYS_ADDR_T_64BIT
18498c2ecf20Sopenharmony_ci	default n
18508c2ecf20Sopenharmony_ci	help
18518c2ecf20Sopenharmony_ci	  Choose this option if you want to enable the Extended Physical
18528c2ecf20Sopenharmony_ci	  Addressing (XPA) on your MIPS32 core (such as P5600 series). The
18538c2ecf20Sopenharmony_ci	  benefit is to increase physical addressing equal to or greater
18548c2ecf20Sopenharmony_ci	  than 40 bits. Note that this has the side effect of turning on
18558c2ecf20Sopenharmony_ci	  64-bit addressing which in turn makes the PTEs 64-bit in size.
18568c2ecf20Sopenharmony_ci	  If unsure, say 'N' here.
18578c2ecf20Sopenharmony_ci
18588c2ecf20Sopenharmony_ciif CPU_LOONGSON2F
18598c2ecf20Sopenharmony_ciconfig CPU_NOP_WORKAROUNDS
18608c2ecf20Sopenharmony_ci	bool
18618c2ecf20Sopenharmony_ci
18628c2ecf20Sopenharmony_ciconfig CPU_JUMP_WORKAROUNDS
18638c2ecf20Sopenharmony_ci	bool
18648c2ecf20Sopenharmony_ci
18658c2ecf20Sopenharmony_ciconfig CPU_LOONGSON2F_WORKAROUNDS
18668c2ecf20Sopenharmony_ci	bool "Loongson 2F Workarounds"
18678c2ecf20Sopenharmony_ci	default y
18688c2ecf20Sopenharmony_ci	select CPU_NOP_WORKAROUNDS
18698c2ecf20Sopenharmony_ci	select CPU_JUMP_WORKAROUNDS
18708c2ecf20Sopenharmony_ci	help
18718c2ecf20Sopenharmony_ci	  Loongson 2F01 / 2F02 processors have the NOP & JUMP issues which
18728c2ecf20Sopenharmony_ci	  require workarounds.  Without workarounds the system may hang
18738c2ecf20Sopenharmony_ci	  unexpectedly.  For more information please refer to the gas
18748c2ecf20Sopenharmony_ci	  -mfix-loongson2f-nop and -mfix-loongson2f-jump options.
18758c2ecf20Sopenharmony_ci
18768c2ecf20Sopenharmony_ci	  Loongson 2F03 and later have fixed these issues and no workarounds
18778c2ecf20Sopenharmony_ci	  are needed.  The workarounds have no significant side effect on them
18788c2ecf20Sopenharmony_ci	  but may decrease the performance of the system so this option should
18798c2ecf20Sopenharmony_ci	  be disabled unless the kernel is intended to be run on 2F01 or 2F02
18808c2ecf20Sopenharmony_ci	  systems.
18818c2ecf20Sopenharmony_ci
18828c2ecf20Sopenharmony_ci	  If unsure, please say Y.
18838c2ecf20Sopenharmony_ciendif # CPU_LOONGSON2F
18848c2ecf20Sopenharmony_ci
18858c2ecf20Sopenharmony_ciconfig SYS_SUPPORTS_ZBOOT
18868c2ecf20Sopenharmony_ci	bool
18878c2ecf20Sopenharmony_ci	select HAVE_KERNEL_GZIP
18888c2ecf20Sopenharmony_ci	select HAVE_KERNEL_BZIP2
18898c2ecf20Sopenharmony_ci	select HAVE_KERNEL_LZ4
18908c2ecf20Sopenharmony_ci	select HAVE_KERNEL_LZMA
18918c2ecf20Sopenharmony_ci	select HAVE_KERNEL_LZO
18928c2ecf20Sopenharmony_ci	select HAVE_KERNEL_XZ
18938c2ecf20Sopenharmony_ci	select HAVE_KERNEL_ZSTD
18948c2ecf20Sopenharmony_ci
18958c2ecf20Sopenharmony_ciconfig SYS_SUPPORTS_ZBOOT_UART16550
18968c2ecf20Sopenharmony_ci	bool
18978c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_ZBOOT
18988c2ecf20Sopenharmony_ci
18998c2ecf20Sopenharmony_ciconfig SYS_SUPPORTS_ZBOOT_UART_PROM
19008c2ecf20Sopenharmony_ci	bool
19018c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_ZBOOT
19028c2ecf20Sopenharmony_ci
19038c2ecf20Sopenharmony_ciconfig CPU_LOONGSON2EF
19048c2ecf20Sopenharmony_ci	bool
19058c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_32BIT_KERNEL
19068c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_64BIT_KERNEL
19078c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_HIGHMEM
19088c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_HUGEPAGES
19098c2ecf20Sopenharmony_ci	select ARCH_HAS_PHYS_TO_DMA
19108c2ecf20Sopenharmony_ci
19118c2ecf20Sopenharmony_ciconfig CPU_LOONGSON32
19128c2ecf20Sopenharmony_ci	bool
19138c2ecf20Sopenharmony_ci	select CPU_MIPS32
19148c2ecf20Sopenharmony_ci	select CPU_MIPSR2
19158c2ecf20Sopenharmony_ci	select CPU_HAS_PREFETCH
19168c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_32BIT_KERNEL
19178c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_HIGHMEM
19188c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_CPUFREQ
19198c2ecf20Sopenharmony_ci
19208c2ecf20Sopenharmony_ciconfig CPU_BMIPS32_3300
19218c2ecf20Sopenharmony_ci	select SMP_UP if SMP
19228c2ecf20Sopenharmony_ci	bool
19238c2ecf20Sopenharmony_ci
19248c2ecf20Sopenharmony_ciconfig CPU_BMIPS4350
19258c2ecf20Sopenharmony_ci	bool
19268c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_SMP
19278c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_HOTPLUG_CPU
19288c2ecf20Sopenharmony_ci
19298c2ecf20Sopenharmony_ciconfig CPU_BMIPS4380
19308c2ecf20Sopenharmony_ci	bool
19318c2ecf20Sopenharmony_ci	select MIPS_L1_CACHE_SHIFT_6
19328c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_SMP
19338c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_HOTPLUG_CPU
19348c2ecf20Sopenharmony_ci	select CPU_HAS_RIXI
19358c2ecf20Sopenharmony_ci
19368c2ecf20Sopenharmony_ciconfig CPU_BMIPS5000
19378c2ecf20Sopenharmony_ci	bool
19388c2ecf20Sopenharmony_ci	select MIPS_CPU_SCACHE
19398c2ecf20Sopenharmony_ci	select MIPS_L1_CACHE_SHIFT_7
19408c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_SMP
19418c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_HOTPLUG_CPU
19428c2ecf20Sopenharmony_ci	select CPU_HAS_RIXI
19438c2ecf20Sopenharmony_ci
19448c2ecf20Sopenharmony_ciconfig SYS_HAS_CPU_LOONGSON64
19458c2ecf20Sopenharmony_ci	bool
19468c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_CPUFREQ
19478c2ecf20Sopenharmony_ci	select CPU_HAS_RIXI
19488c2ecf20Sopenharmony_ci
19498c2ecf20Sopenharmony_ciconfig SYS_HAS_CPU_LOONGSON2E
19508c2ecf20Sopenharmony_ci	bool
19518c2ecf20Sopenharmony_ci
19528c2ecf20Sopenharmony_ciconfig SYS_HAS_CPU_LOONGSON2F
19538c2ecf20Sopenharmony_ci	bool
19548c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_CPUFREQ
19558c2ecf20Sopenharmony_ci	select CPU_SUPPORTS_ADDRWINCFG if 64BIT
19568c2ecf20Sopenharmony_ci
19578c2ecf20Sopenharmony_ciconfig SYS_HAS_CPU_LOONGSON1B
19588c2ecf20Sopenharmony_ci	bool
19598c2ecf20Sopenharmony_ci
19608c2ecf20Sopenharmony_ciconfig SYS_HAS_CPU_LOONGSON1C
19618c2ecf20Sopenharmony_ci	bool
19628c2ecf20Sopenharmony_ci
19638c2ecf20Sopenharmony_ciconfig SYS_HAS_CPU_MIPS32_R1
19648c2ecf20Sopenharmony_ci	bool
19658c2ecf20Sopenharmony_ci
19668c2ecf20Sopenharmony_ciconfig SYS_HAS_CPU_MIPS32_R2
19678c2ecf20Sopenharmony_ci	bool
19688c2ecf20Sopenharmony_ci
19698c2ecf20Sopenharmony_ciconfig SYS_HAS_CPU_MIPS32_R3_5
19708c2ecf20Sopenharmony_ci	bool
19718c2ecf20Sopenharmony_ci
19728c2ecf20Sopenharmony_ciconfig SYS_HAS_CPU_MIPS32_R5
19738c2ecf20Sopenharmony_ci	bool
19748c2ecf20Sopenharmony_ci	select ARCH_HAS_SYNC_DMA_FOR_CPU if DMA_NONCOHERENT
19758c2ecf20Sopenharmony_ci
19768c2ecf20Sopenharmony_ciconfig SYS_HAS_CPU_MIPS32_R6
19778c2ecf20Sopenharmony_ci	bool
19788c2ecf20Sopenharmony_ci	select ARCH_HAS_SYNC_DMA_FOR_CPU if DMA_NONCOHERENT
19798c2ecf20Sopenharmony_ci
19808c2ecf20Sopenharmony_ciconfig SYS_HAS_CPU_MIPS64_R1
19818c2ecf20Sopenharmony_ci	bool
19828c2ecf20Sopenharmony_ci
19838c2ecf20Sopenharmony_ciconfig SYS_HAS_CPU_MIPS64_R2
19848c2ecf20Sopenharmony_ci	bool
19858c2ecf20Sopenharmony_ci
19868c2ecf20Sopenharmony_ciconfig SYS_HAS_CPU_MIPS64_R5
19878c2ecf20Sopenharmony_ci	bool
19888c2ecf20Sopenharmony_ci	select ARCH_HAS_SYNC_DMA_FOR_CPU if DMA_NONCOHERENT
19898c2ecf20Sopenharmony_ci
19908c2ecf20Sopenharmony_ciconfig SYS_HAS_CPU_MIPS64_R6
19918c2ecf20Sopenharmony_ci	bool
19928c2ecf20Sopenharmony_ci	select ARCH_HAS_SYNC_DMA_FOR_CPU if DMA_NONCOHERENT
19938c2ecf20Sopenharmony_ci
19948c2ecf20Sopenharmony_ciconfig SYS_HAS_CPU_P5600
19958c2ecf20Sopenharmony_ci	bool
19968c2ecf20Sopenharmony_ci	select ARCH_HAS_SYNC_DMA_FOR_CPU if DMA_NONCOHERENT
19978c2ecf20Sopenharmony_ci
19988c2ecf20Sopenharmony_ciconfig SYS_HAS_CPU_R3000
19998c2ecf20Sopenharmony_ci	bool
20008c2ecf20Sopenharmony_ci
20018c2ecf20Sopenharmony_ciconfig SYS_HAS_CPU_TX39XX
20028c2ecf20Sopenharmony_ci	bool
20038c2ecf20Sopenharmony_ci
20048c2ecf20Sopenharmony_ciconfig SYS_HAS_CPU_VR41XX
20058c2ecf20Sopenharmony_ci	bool
20068c2ecf20Sopenharmony_ci
20078c2ecf20Sopenharmony_ciconfig SYS_HAS_CPU_R4X00
20088c2ecf20Sopenharmony_ci	bool
20098c2ecf20Sopenharmony_ci
20108c2ecf20Sopenharmony_ciconfig SYS_HAS_CPU_TX49XX
20118c2ecf20Sopenharmony_ci	bool
20128c2ecf20Sopenharmony_ci
20138c2ecf20Sopenharmony_ciconfig SYS_HAS_CPU_R5000
20148c2ecf20Sopenharmony_ci	bool
20158c2ecf20Sopenharmony_ci
20168c2ecf20Sopenharmony_ciconfig SYS_HAS_CPU_R5500
20178c2ecf20Sopenharmony_ci	bool
20188c2ecf20Sopenharmony_ci
20198c2ecf20Sopenharmony_ciconfig SYS_HAS_CPU_NEVADA
20208c2ecf20Sopenharmony_ci	bool
20218c2ecf20Sopenharmony_ci
20228c2ecf20Sopenharmony_ciconfig SYS_HAS_CPU_R10000
20238c2ecf20Sopenharmony_ci	bool
20248c2ecf20Sopenharmony_ci	select ARCH_HAS_SYNC_DMA_FOR_CPU if DMA_NONCOHERENT
20258c2ecf20Sopenharmony_ci
20268c2ecf20Sopenharmony_ciconfig SYS_HAS_CPU_RM7000
20278c2ecf20Sopenharmony_ci	bool
20288c2ecf20Sopenharmony_ci
20298c2ecf20Sopenharmony_ciconfig SYS_HAS_CPU_SB1
20308c2ecf20Sopenharmony_ci	bool
20318c2ecf20Sopenharmony_ci
20328c2ecf20Sopenharmony_ciconfig SYS_HAS_CPU_CAVIUM_OCTEON
20338c2ecf20Sopenharmony_ci	bool
20348c2ecf20Sopenharmony_ci
20358c2ecf20Sopenharmony_ciconfig SYS_HAS_CPU_BMIPS
20368c2ecf20Sopenharmony_ci	bool
20378c2ecf20Sopenharmony_ci
20388c2ecf20Sopenharmony_ciconfig SYS_HAS_CPU_BMIPS32_3300
20398c2ecf20Sopenharmony_ci	bool
20408c2ecf20Sopenharmony_ci	select SYS_HAS_CPU_BMIPS
20418c2ecf20Sopenharmony_ci
20428c2ecf20Sopenharmony_ciconfig SYS_HAS_CPU_BMIPS4350
20438c2ecf20Sopenharmony_ci	bool
20448c2ecf20Sopenharmony_ci	select SYS_HAS_CPU_BMIPS
20458c2ecf20Sopenharmony_ci
20468c2ecf20Sopenharmony_ciconfig SYS_HAS_CPU_BMIPS4380
20478c2ecf20Sopenharmony_ci	bool
20488c2ecf20Sopenharmony_ci	select SYS_HAS_CPU_BMIPS
20498c2ecf20Sopenharmony_ci
20508c2ecf20Sopenharmony_ciconfig SYS_HAS_CPU_BMIPS5000
20518c2ecf20Sopenharmony_ci	bool
20528c2ecf20Sopenharmony_ci	select SYS_HAS_CPU_BMIPS
20538c2ecf20Sopenharmony_ci	select ARCH_HAS_SYNC_DMA_FOR_CPU
20548c2ecf20Sopenharmony_ci
20558c2ecf20Sopenharmony_ciconfig SYS_HAS_CPU_XLR
20568c2ecf20Sopenharmony_ci	bool
20578c2ecf20Sopenharmony_ci
20588c2ecf20Sopenharmony_ciconfig SYS_HAS_CPU_XLP
20598c2ecf20Sopenharmony_ci	bool
20608c2ecf20Sopenharmony_ci
20618c2ecf20Sopenharmony_ci#
20628c2ecf20Sopenharmony_ci# CPU may reorder R->R, R->W, W->R, W->W
20638c2ecf20Sopenharmony_ci# Reordering beyond LL and SC is handled in WEAK_REORDERING_BEYOND_LLSC
20648c2ecf20Sopenharmony_ci#
20658c2ecf20Sopenharmony_ciconfig WEAK_ORDERING
20668c2ecf20Sopenharmony_ci	bool
20678c2ecf20Sopenharmony_ci
20688c2ecf20Sopenharmony_ci#
20698c2ecf20Sopenharmony_ci# CPU may reorder reads and writes beyond LL/SC
20708c2ecf20Sopenharmony_ci# CPU may reorder R->LL, R->LL, W->LL, W->LL, R->SC, R->SC, W->SC, W->SC
20718c2ecf20Sopenharmony_ci#
20728c2ecf20Sopenharmony_ciconfig WEAK_REORDERING_BEYOND_LLSC
20738c2ecf20Sopenharmony_ci	bool
20748c2ecf20Sopenharmony_ciendmenu
20758c2ecf20Sopenharmony_ci
20768c2ecf20Sopenharmony_ci#
20778c2ecf20Sopenharmony_ci# These two indicate any level of the MIPS32 and MIPS64 architecture
20788c2ecf20Sopenharmony_ci#
20798c2ecf20Sopenharmony_ciconfig CPU_MIPS32
20808c2ecf20Sopenharmony_ci	bool
20818c2ecf20Sopenharmony_ci	default y if CPU_MIPS32_R1 || CPU_MIPS32_R2 || CPU_MIPS32_R5 || \
20828c2ecf20Sopenharmony_ci		     CPU_MIPS32_R6 || CPU_P5600
20838c2ecf20Sopenharmony_ci
20848c2ecf20Sopenharmony_ciconfig CPU_MIPS64
20858c2ecf20Sopenharmony_ci	bool
20868c2ecf20Sopenharmony_ci	default y if CPU_MIPS64_R1 || CPU_MIPS64_R2 || CPU_MIPS64_R5 || \
20878c2ecf20Sopenharmony_ci		     CPU_MIPS64_R6
20888c2ecf20Sopenharmony_ci
20898c2ecf20Sopenharmony_ci#
20908c2ecf20Sopenharmony_ci# These indicate the revision of the architecture
20918c2ecf20Sopenharmony_ci#
20928c2ecf20Sopenharmony_ciconfig CPU_MIPSR1
20938c2ecf20Sopenharmony_ci	bool
20948c2ecf20Sopenharmony_ci	default y if CPU_MIPS32_R1 || CPU_MIPS64_R1
20958c2ecf20Sopenharmony_ci
20968c2ecf20Sopenharmony_ciconfig CPU_MIPSR2
20978c2ecf20Sopenharmony_ci	bool
20988c2ecf20Sopenharmony_ci	default y if CPU_MIPS32_R2 || CPU_MIPS64_R2 || CPU_CAVIUM_OCTEON
20998c2ecf20Sopenharmony_ci	select CPU_HAS_RIXI
21008c2ecf20Sopenharmony_ci	select CPU_HAS_DIEI if !CPU_DIEI_BROKEN
21018c2ecf20Sopenharmony_ci	select MIPS_SPRAM
21028c2ecf20Sopenharmony_ci
21038c2ecf20Sopenharmony_ciconfig CPU_MIPSR5
21048c2ecf20Sopenharmony_ci	bool
21058c2ecf20Sopenharmony_ci	default y if CPU_MIPS32_R5 || CPU_MIPS64_R5 || CPU_P5600
21068c2ecf20Sopenharmony_ci	select CPU_HAS_RIXI
21078c2ecf20Sopenharmony_ci	select CPU_HAS_DIEI if !CPU_DIEI_BROKEN
21088c2ecf20Sopenharmony_ci	select MIPS_SPRAM
21098c2ecf20Sopenharmony_ci
21108c2ecf20Sopenharmony_ciconfig CPU_MIPSR6
21118c2ecf20Sopenharmony_ci	bool
21128c2ecf20Sopenharmony_ci	default y if CPU_MIPS32_R6 || CPU_MIPS64_R6
21138c2ecf20Sopenharmony_ci	select CPU_HAS_RIXI
21148c2ecf20Sopenharmony_ci	select CPU_HAS_DIEI if !CPU_DIEI_BROKEN
21158c2ecf20Sopenharmony_ci	select HAVE_ARCH_BITREVERSE
21168c2ecf20Sopenharmony_ci	select MIPS_ASID_BITS_VARIABLE
21178c2ecf20Sopenharmony_ci	select MIPS_CRC_SUPPORT
21188c2ecf20Sopenharmony_ci	select MIPS_SPRAM
21198c2ecf20Sopenharmony_ci
21208c2ecf20Sopenharmony_ciconfig TARGET_ISA_REV
21218c2ecf20Sopenharmony_ci	int
21228c2ecf20Sopenharmony_ci	default 1 if CPU_MIPSR1
21238c2ecf20Sopenharmony_ci	default 2 if CPU_MIPSR2
21248c2ecf20Sopenharmony_ci	default 5 if CPU_MIPSR5
21258c2ecf20Sopenharmony_ci	default 6 if CPU_MIPSR6
21268c2ecf20Sopenharmony_ci	default 0
21278c2ecf20Sopenharmony_ci	help
21288c2ecf20Sopenharmony_ci	  Reflects the ISA revision being targeted by the kernel build. This
21298c2ecf20Sopenharmony_ci	  is effectively the Kconfig equivalent of MIPS_ISA_REV.
21308c2ecf20Sopenharmony_ci
21318c2ecf20Sopenharmony_ciconfig EVA
21328c2ecf20Sopenharmony_ci	bool
21338c2ecf20Sopenharmony_ci
21348c2ecf20Sopenharmony_ciconfig XPA
21358c2ecf20Sopenharmony_ci	bool
21368c2ecf20Sopenharmony_ci
21378c2ecf20Sopenharmony_ciconfig SYS_SUPPORTS_32BIT_KERNEL
21388c2ecf20Sopenharmony_ci	bool
21398c2ecf20Sopenharmony_ciconfig SYS_SUPPORTS_64BIT_KERNEL
21408c2ecf20Sopenharmony_ci	bool
21418c2ecf20Sopenharmony_ciconfig CPU_SUPPORTS_32BIT_KERNEL
21428c2ecf20Sopenharmony_ci	bool
21438c2ecf20Sopenharmony_ciconfig CPU_SUPPORTS_64BIT_KERNEL
21448c2ecf20Sopenharmony_ci	bool
21458c2ecf20Sopenharmony_ciconfig CPU_SUPPORTS_CPUFREQ
21468c2ecf20Sopenharmony_ci	bool
21478c2ecf20Sopenharmony_ciconfig CPU_SUPPORTS_ADDRWINCFG
21488c2ecf20Sopenharmony_ci	bool
21498c2ecf20Sopenharmony_ciconfig CPU_SUPPORTS_HUGEPAGES
21508c2ecf20Sopenharmony_ci	bool
21518c2ecf20Sopenharmony_ci	depends on !(32BIT && (PHYS_ADDR_T_64BIT || EVA))
21528c2ecf20Sopenharmony_ciconfig MIPS_PGD_C0_CONTEXT
21538c2ecf20Sopenharmony_ci	bool
21548c2ecf20Sopenharmony_ci	default y if 64BIT && (CPU_MIPSR2 || CPU_MIPSR6) && !CPU_XLP
21558c2ecf20Sopenharmony_ci
21568c2ecf20Sopenharmony_ci#
21578c2ecf20Sopenharmony_ci# Set to y for ptrace access to watch registers.
21588c2ecf20Sopenharmony_ci#
21598c2ecf20Sopenharmony_ciconfig HARDWARE_WATCHPOINTS
21608c2ecf20Sopenharmony_ci	bool
21618c2ecf20Sopenharmony_ci	default y if CPU_MIPSR1 || CPU_MIPSR2 || CPU_MIPSR6
21628c2ecf20Sopenharmony_ci
21638c2ecf20Sopenharmony_cimenu "Kernel type"
21648c2ecf20Sopenharmony_ci
21658c2ecf20Sopenharmony_cichoice
21668c2ecf20Sopenharmony_ci	prompt "Kernel code model"
21678c2ecf20Sopenharmony_ci	help
21688c2ecf20Sopenharmony_ci	  You should only select this option if you have a workload that
21698c2ecf20Sopenharmony_ci	  actually benefits from 64-bit processing or if your machine has
21708c2ecf20Sopenharmony_ci	  large memory.  You will only be presented a single option in this
21718c2ecf20Sopenharmony_ci	  menu if your system does not support both 32-bit and 64-bit kernels.
21728c2ecf20Sopenharmony_ci
21738c2ecf20Sopenharmony_ciconfig 32BIT
21748c2ecf20Sopenharmony_ci	bool "32-bit kernel"
21758c2ecf20Sopenharmony_ci	depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL
21768c2ecf20Sopenharmony_ci	select TRAD_SIGNALS
21778c2ecf20Sopenharmony_ci	help
21788c2ecf20Sopenharmony_ci	  Select this option if you want to build a 32-bit kernel.
21798c2ecf20Sopenharmony_ci
21808c2ecf20Sopenharmony_ciconfig 64BIT
21818c2ecf20Sopenharmony_ci	bool "64-bit kernel"
21828c2ecf20Sopenharmony_ci	depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL
21838c2ecf20Sopenharmony_ci	help
21848c2ecf20Sopenharmony_ci	  Select this option if you want to build a 64-bit kernel.
21858c2ecf20Sopenharmony_ci
21868c2ecf20Sopenharmony_ciendchoice
21878c2ecf20Sopenharmony_ci
21888c2ecf20Sopenharmony_ciconfig KVM_GUEST
21898c2ecf20Sopenharmony_ci	bool "KVM Guest Kernel"
21908c2ecf20Sopenharmony_ci	depends on CPU_MIPS32_R2
21918c2ecf20Sopenharmony_ci	depends on BROKEN_ON_SMP
21928c2ecf20Sopenharmony_ci	help
21938c2ecf20Sopenharmony_ci	  Select this option if building a guest kernel for KVM (Trap & Emulate)
21948c2ecf20Sopenharmony_ci	  mode.
21958c2ecf20Sopenharmony_ci
21968c2ecf20Sopenharmony_ciconfig KVM_GUEST_TIMER_FREQ
21978c2ecf20Sopenharmony_ci	int "Count/Compare Timer Frequency (MHz)"
21988c2ecf20Sopenharmony_ci	depends on KVM_GUEST
21998c2ecf20Sopenharmony_ci	default 100
22008c2ecf20Sopenharmony_ci	help
22018c2ecf20Sopenharmony_ci	  Set this to non-zero if building a guest kernel for KVM to skip RTC
22028c2ecf20Sopenharmony_ci	  emulation when determining guest CPU Frequency. Instead, the guest's
22038c2ecf20Sopenharmony_ci	  timer frequency is specified directly.
22048c2ecf20Sopenharmony_ci
22058c2ecf20Sopenharmony_ciconfig MIPS_VA_BITS_48
22068c2ecf20Sopenharmony_ci	bool "48 bits virtual memory"
22078c2ecf20Sopenharmony_ci	depends on 64BIT
22088c2ecf20Sopenharmony_ci	help
22098c2ecf20Sopenharmony_ci	  Support a maximum at least 48 bits of application virtual
22108c2ecf20Sopenharmony_ci	  memory.  Default is 40 bits or less, depending on the CPU.
22118c2ecf20Sopenharmony_ci	  For page sizes 16k and above, this option results in a small
22128c2ecf20Sopenharmony_ci	  memory overhead for page tables.  For 4k page size, a fourth
22138c2ecf20Sopenharmony_ci	  level of page tables is added which imposes both a memory
22148c2ecf20Sopenharmony_ci	  overhead as well as slower TLB fault handling.
22158c2ecf20Sopenharmony_ci
22168c2ecf20Sopenharmony_ci	  If unsure, say N.
22178c2ecf20Sopenharmony_ci
22188c2ecf20Sopenharmony_cichoice
22198c2ecf20Sopenharmony_ci	prompt "Kernel page size"
22208c2ecf20Sopenharmony_ci	default PAGE_SIZE_4KB
22218c2ecf20Sopenharmony_ci
22228c2ecf20Sopenharmony_ciconfig PAGE_SIZE_4KB
22238c2ecf20Sopenharmony_ci	bool "4kB"
22248c2ecf20Sopenharmony_ci	depends on !CPU_LOONGSON2EF && !CPU_LOONGSON64
22258c2ecf20Sopenharmony_ci	help
22268c2ecf20Sopenharmony_ci	  This option select the standard 4kB Linux page size.  On some
22278c2ecf20Sopenharmony_ci	  R3000-family processors this is the only available page size.  Using
22288c2ecf20Sopenharmony_ci	  4kB page size will minimize memory consumption and is therefore
22298c2ecf20Sopenharmony_ci	  recommended for low memory systems.
22308c2ecf20Sopenharmony_ci
22318c2ecf20Sopenharmony_ciconfig PAGE_SIZE_8KB
22328c2ecf20Sopenharmony_ci	bool "8kB"
22338c2ecf20Sopenharmony_ci	depends on CPU_CAVIUM_OCTEON
22348c2ecf20Sopenharmony_ci	depends on !MIPS_VA_BITS_48
22358c2ecf20Sopenharmony_ci	help
22368c2ecf20Sopenharmony_ci	  Using 8kB page size will result in higher performance kernel at
22378c2ecf20Sopenharmony_ci	  the price of higher memory consumption.  This option is available
22388c2ecf20Sopenharmony_ci	  only on cnMIPS processors.  Note that you will need a suitable Linux
22398c2ecf20Sopenharmony_ci	  distribution to support this.
22408c2ecf20Sopenharmony_ci
22418c2ecf20Sopenharmony_ciconfig PAGE_SIZE_16KB
22428c2ecf20Sopenharmony_ci	bool "16kB"
22438c2ecf20Sopenharmony_ci	depends on !CPU_R3000 && !CPU_TX39XX
22448c2ecf20Sopenharmony_ci	help
22458c2ecf20Sopenharmony_ci	  Using 16kB page size will result in higher performance kernel at
22468c2ecf20Sopenharmony_ci	  the price of higher memory consumption.  This option is available on
22478c2ecf20Sopenharmony_ci	  all non-R3000 family processors.  Note that you will need a suitable
22488c2ecf20Sopenharmony_ci	  Linux distribution to support this.
22498c2ecf20Sopenharmony_ci
22508c2ecf20Sopenharmony_ciconfig PAGE_SIZE_32KB
22518c2ecf20Sopenharmony_ci	bool "32kB"
22528c2ecf20Sopenharmony_ci	depends on CPU_CAVIUM_OCTEON
22538c2ecf20Sopenharmony_ci	depends on !MIPS_VA_BITS_48
22548c2ecf20Sopenharmony_ci	help
22558c2ecf20Sopenharmony_ci	  Using 32kB page size will result in higher performance kernel at
22568c2ecf20Sopenharmony_ci	  the price of higher memory consumption.  This option is available
22578c2ecf20Sopenharmony_ci	  only on cnMIPS cores.  Note that you will need a suitable Linux
22588c2ecf20Sopenharmony_ci	  distribution to support this.
22598c2ecf20Sopenharmony_ci
22608c2ecf20Sopenharmony_ciconfig PAGE_SIZE_64KB
22618c2ecf20Sopenharmony_ci	bool "64kB"
22628c2ecf20Sopenharmony_ci	depends on !CPU_R3000 && !CPU_TX39XX
22638c2ecf20Sopenharmony_ci	help
22648c2ecf20Sopenharmony_ci	  Using 64kB page size will result in higher performance kernel at
22658c2ecf20Sopenharmony_ci	  the price of higher memory consumption.  This option is available on
22668c2ecf20Sopenharmony_ci	  all non-R3000 family processor.  Not that at the time of this
22678c2ecf20Sopenharmony_ci	  writing this option is still high experimental.
22688c2ecf20Sopenharmony_ci
22698c2ecf20Sopenharmony_ciendchoice
22708c2ecf20Sopenharmony_ci
22718c2ecf20Sopenharmony_ciconfig FORCE_MAX_ZONEORDER
22728c2ecf20Sopenharmony_ci	int "Maximum zone order"
22738c2ecf20Sopenharmony_ci	range 14 64 if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_64KB
22748c2ecf20Sopenharmony_ci	default "14" if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_64KB
22758c2ecf20Sopenharmony_ci	range 13 64 if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_32KB
22768c2ecf20Sopenharmony_ci	default "13" if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_32KB
22778c2ecf20Sopenharmony_ci	range 12 64 if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_16KB
22788c2ecf20Sopenharmony_ci	default "12" if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_16KB
22798c2ecf20Sopenharmony_ci	range 0 64
22808c2ecf20Sopenharmony_ci	default "11"
22818c2ecf20Sopenharmony_ci	help
22828c2ecf20Sopenharmony_ci	  The kernel memory allocator divides physically contiguous memory
22838c2ecf20Sopenharmony_ci	  blocks into "zones", where each zone is a power of two number of
22848c2ecf20Sopenharmony_ci	  pages.  This option selects the largest power of two that the kernel
22858c2ecf20Sopenharmony_ci	  keeps in the memory allocator.  If you need to allocate very large
22868c2ecf20Sopenharmony_ci	  blocks of physically contiguous memory, then you may need to
22878c2ecf20Sopenharmony_ci	  increase this value.
22888c2ecf20Sopenharmony_ci
22898c2ecf20Sopenharmony_ci	  This config option is actually maximum order plus one. For example,
22908c2ecf20Sopenharmony_ci	  a value of 11 means that the largest free memory block is 2^10 pages.
22918c2ecf20Sopenharmony_ci
22928c2ecf20Sopenharmony_ci	  The page size is not necessarily 4KB.  Keep this in mind
22938c2ecf20Sopenharmony_ci	  when choosing a value for this option.
22948c2ecf20Sopenharmony_ci
22958c2ecf20Sopenharmony_ciconfig BOARD_SCACHE
22968c2ecf20Sopenharmony_ci	bool
22978c2ecf20Sopenharmony_ci
22988c2ecf20Sopenharmony_ciconfig IP22_CPU_SCACHE
22998c2ecf20Sopenharmony_ci	bool
23008c2ecf20Sopenharmony_ci	select BOARD_SCACHE
23018c2ecf20Sopenharmony_ci
23028c2ecf20Sopenharmony_ci#
23038c2ecf20Sopenharmony_ci# Support for a MIPS32 / MIPS64 style S-caches
23048c2ecf20Sopenharmony_ci#
23058c2ecf20Sopenharmony_ciconfig MIPS_CPU_SCACHE
23068c2ecf20Sopenharmony_ci	bool
23078c2ecf20Sopenharmony_ci	select BOARD_SCACHE
23088c2ecf20Sopenharmony_ci
23098c2ecf20Sopenharmony_ciconfig R5000_CPU_SCACHE
23108c2ecf20Sopenharmony_ci	bool
23118c2ecf20Sopenharmony_ci	select BOARD_SCACHE
23128c2ecf20Sopenharmony_ci
23138c2ecf20Sopenharmony_ciconfig RM7000_CPU_SCACHE
23148c2ecf20Sopenharmony_ci	bool
23158c2ecf20Sopenharmony_ci	select BOARD_SCACHE
23168c2ecf20Sopenharmony_ci
23178c2ecf20Sopenharmony_ciconfig SIBYTE_DMA_PAGEOPS
23188c2ecf20Sopenharmony_ci	bool "Use DMA to clear/copy pages"
23198c2ecf20Sopenharmony_ci	depends on CPU_SB1
23208c2ecf20Sopenharmony_ci	help
23218c2ecf20Sopenharmony_ci	  Instead of using the CPU to zero and copy pages, use a Data Mover
23228c2ecf20Sopenharmony_ci	  channel.  These DMA channels are otherwise unused by the standard
23238c2ecf20Sopenharmony_ci	  SiByte Linux port.  Seems to give a small performance benefit.
23248c2ecf20Sopenharmony_ci
23258c2ecf20Sopenharmony_ciconfig CPU_HAS_PREFETCH
23268c2ecf20Sopenharmony_ci	bool
23278c2ecf20Sopenharmony_ci
23288c2ecf20Sopenharmony_ciconfig CPU_GENERIC_DUMP_TLB
23298c2ecf20Sopenharmony_ci	bool
23308c2ecf20Sopenharmony_ci	default y if !(CPU_R3000 || CPU_TX39XX)
23318c2ecf20Sopenharmony_ci
23328c2ecf20Sopenharmony_ciconfig MIPS_FP_SUPPORT
23338c2ecf20Sopenharmony_ci	bool "Floating Point support" if EXPERT
23348c2ecf20Sopenharmony_ci	default y
23358c2ecf20Sopenharmony_ci	help
23368c2ecf20Sopenharmony_ci	  Select y to include support for floating point in the kernel
23378c2ecf20Sopenharmony_ci	  including initialization of FPU hardware, FP context save & restore
23388c2ecf20Sopenharmony_ci	  and emulation of an FPU where necessary. Without this support any
23398c2ecf20Sopenharmony_ci	  userland program attempting to use floating point instructions will
23408c2ecf20Sopenharmony_ci	  receive a SIGILL.
23418c2ecf20Sopenharmony_ci
23428c2ecf20Sopenharmony_ci	  If you know that your userland will not attempt to use floating point
23438c2ecf20Sopenharmony_ci	  instructions then you can say n here to shrink the kernel a little.
23448c2ecf20Sopenharmony_ci
23458c2ecf20Sopenharmony_ci	  If unsure, say y.
23468c2ecf20Sopenharmony_ci
23478c2ecf20Sopenharmony_ciconfig CPU_R2300_FPU
23488c2ecf20Sopenharmony_ci	bool
23498c2ecf20Sopenharmony_ci	depends on MIPS_FP_SUPPORT
23508c2ecf20Sopenharmony_ci	default y if CPU_R3000 || CPU_TX39XX
23518c2ecf20Sopenharmony_ci
23528c2ecf20Sopenharmony_ciconfig CPU_R3K_TLB
23538c2ecf20Sopenharmony_ci	bool
23548c2ecf20Sopenharmony_ci
23558c2ecf20Sopenharmony_ciconfig CPU_R4K_FPU
23568c2ecf20Sopenharmony_ci	bool
23578c2ecf20Sopenharmony_ci	depends on MIPS_FP_SUPPORT
23588c2ecf20Sopenharmony_ci	default y if !CPU_R2300_FPU
23598c2ecf20Sopenharmony_ci
23608c2ecf20Sopenharmony_ciconfig CPU_R4K_CACHE_TLB
23618c2ecf20Sopenharmony_ci	bool
23628c2ecf20Sopenharmony_ci	default y if !(CPU_R3K_TLB || CPU_SB1 || CPU_CAVIUM_OCTEON)
23638c2ecf20Sopenharmony_ci
23648c2ecf20Sopenharmony_ciconfig MIPS_MT_SMP
23658c2ecf20Sopenharmony_ci	bool "MIPS MT SMP support (1 TC on each available VPE)"
23668c2ecf20Sopenharmony_ci	default y
23678c2ecf20Sopenharmony_ci	depends on SYS_SUPPORTS_MULTITHREADING && !CPU_MIPSR6 && !CPU_MICROMIPS
23688c2ecf20Sopenharmony_ci	select CPU_MIPSR2_IRQ_VI
23698c2ecf20Sopenharmony_ci	select CPU_MIPSR2_IRQ_EI
23708c2ecf20Sopenharmony_ci	select SYNC_R4K
23718c2ecf20Sopenharmony_ci	select MIPS_MT
23728c2ecf20Sopenharmony_ci	select SMP
23738c2ecf20Sopenharmony_ci	select SMP_UP
23748c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_SMP
23758c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_SCHED_SMT
23768c2ecf20Sopenharmony_ci	select MIPS_PERF_SHARED_TC_COUNTERS
23778c2ecf20Sopenharmony_ci	help
23788c2ecf20Sopenharmony_ci	  This is a kernel model which is known as SMVP. This is supported
23798c2ecf20Sopenharmony_ci	  on cores with the MT ASE and uses the available VPEs to implement
23808c2ecf20Sopenharmony_ci	  virtual processors which supports SMP. This is equivalent to the
23818c2ecf20Sopenharmony_ci	  Intel Hyperthreading feature. For further information go to
23828c2ecf20Sopenharmony_ci	  <http://www.imgtec.com/mips/mips-multithreading.asp>.
23838c2ecf20Sopenharmony_ci
23848c2ecf20Sopenharmony_ciconfig MIPS_MT
23858c2ecf20Sopenharmony_ci	bool
23868c2ecf20Sopenharmony_ci
23878c2ecf20Sopenharmony_ciconfig SCHED_SMT
23888c2ecf20Sopenharmony_ci	bool "SMT (multithreading) scheduler support"
23898c2ecf20Sopenharmony_ci	depends on SYS_SUPPORTS_SCHED_SMT
23908c2ecf20Sopenharmony_ci	default n
23918c2ecf20Sopenharmony_ci	help
23928c2ecf20Sopenharmony_ci	  SMT scheduler support improves the CPU scheduler's decision making
23938c2ecf20Sopenharmony_ci	  when dealing with MIPS MT enabled cores at a cost of slightly
23948c2ecf20Sopenharmony_ci	  increased overhead in some places. If unsure say N here.
23958c2ecf20Sopenharmony_ci
23968c2ecf20Sopenharmony_ciconfig SYS_SUPPORTS_SCHED_SMT
23978c2ecf20Sopenharmony_ci	bool
23988c2ecf20Sopenharmony_ci
23998c2ecf20Sopenharmony_ciconfig SYS_SUPPORTS_MULTITHREADING
24008c2ecf20Sopenharmony_ci	bool
24018c2ecf20Sopenharmony_ci
24028c2ecf20Sopenharmony_ciconfig MIPS_MT_FPAFF
24038c2ecf20Sopenharmony_ci	bool "Dynamic FPU affinity for FP-intensive threads"
24048c2ecf20Sopenharmony_ci	default y
24058c2ecf20Sopenharmony_ci	depends on MIPS_MT_SMP
24068c2ecf20Sopenharmony_ci
24078c2ecf20Sopenharmony_ciconfig MIPSR2_TO_R6_EMULATOR
24088c2ecf20Sopenharmony_ci	bool "MIPS R2-to-R6 emulator"
24098c2ecf20Sopenharmony_ci	depends on CPU_MIPSR6
24108c2ecf20Sopenharmony_ci	depends on MIPS_FP_SUPPORT
24118c2ecf20Sopenharmony_ci	default y
24128c2ecf20Sopenharmony_ci	help
24138c2ecf20Sopenharmony_ci	  Choose this option if you want to run non-R6 MIPS userland code.
24148c2ecf20Sopenharmony_ci	  Even if you say 'Y' here, the emulator will still be disabled by
24158c2ecf20Sopenharmony_ci	  default. You can enable it using the 'mipsr2emu' kernel option.
24168c2ecf20Sopenharmony_ci	  The only reason this is a build-time option is to save ~14K from the
24178c2ecf20Sopenharmony_ci	  final kernel image.
24188c2ecf20Sopenharmony_ci
24198c2ecf20Sopenharmony_ciconfig SYS_SUPPORTS_VPE_LOADER
24208c2ecf20Sopenharmony_ci	bool
24218c2ecf20Sopenharmony_ci	depends on SYS_SUPPORTS_MULTITHREADING
24228c2ecf20Sopenharmony_ci	help
24238c2ecf20Sopenharmony_ci	  Indicates that the platform supports the VPE loader, and provides
24248c2ecf20Sopenharmony_ci	  physical_memsize.
24258c2ecf20Sopenharmony_ci
24268c2ecf20Sopenharmony_ciconfig MIPS_VPE_LOADER
24278c2ecf20Sopenharmony_ci	bool "VPE loader support."
24288c2ecf20Sopenharmony_ci	depends on SYS_SUPPORTS_VPE_LOADER && MODULES
24298c2ecf20Sopenharmony_ci	select CPU_MIPSR2_IRQ_VI
24308c2ecf20Sopenharmony_ci	select CPU_MIPSR2_IRQ_EI
24318c2ecf20Sopenharmony_ci	select MIPS_MT
24328c2ecf20Sopenharmony_ci	help
24338c2ecf20Sopenharmony_ci	  Includes a loader for loading an elf relocatable object
24348c2ecf20Sopenharmony_ci	  onto another VPE and running it.
24358c2ecf20Sopenharmony_ci
24368c2ecf20Sopenharmony_ciconfig MIPS_VPE_LOADER_CMP
24378c2ecf20Sopenharmony_ci	bool
24388c2ecf20Sopenharmony_ci	default "y"
24398c2ecf20Sopenharmony_ci	depends on MIPS_VPE_LOADER && MIPS_CMP
24408c2ecf20Sopenharmony_ci
24418c2ecf20Sopenharmony_ciconfig MIPS_VPE_LOADER_MT
24428c2ecf20Sopenharmony_ci	bool
24438c2ecf20Sopenharmony_ci	default "y"
24448c2ecf20Sopenharmony_ci	depends on MIPS_VPE_LOADER && !MIPS_CMP
24458c2ecf20Sopenharmony_ci
24468c2ecf20Sopenharmony_ciconfig MIPS_VPE_LOADER_TOM
24478c2ecf20Sopenharmony_ci	bool "Load VPE program into memory hidden from linux"
24488c2ecf20Sopenharmony_ci	depends on MIPS_VPE_LOADER
24498c2ecf20Sopenharmony_ci	default y
24508c2ecf20Sopenharmony_ci	help
24518c2ecf20Sopenharmony_ci	  The loader can use memory that is present but has been hidden from
24528c2ecf20Sopenharmony_ci	  Linux using the kernel command line option "mem=xxMB". It's up to
24538c2ecf20Sopenharmony_ci	  you to ensure the amount you put in the option and the space your
24548c2ecf20Sopenharmony_ci	  program requires is less or equal to the amount physically present.
24558c2ecf20Sopenharmony_ci
24568c2ecf20Sopenharmony_ciconfig MIPS_VPE_APSP_API
24578c2ecf20Sopenharmony_ci	bool "Enable support for AP/SP API (RTLX)"
24588c2ecf20Sopenharmony_ci	depends on MIPS_VPE_LOADER
24598c2ecf20Sopenharmony_ci
24608c2ecf20Sopenharmony_ciconfig MIPS_VPE_APSP_API_CMP
24618c2ecf20Sopenharmony_ci	bool
24628c2ecf20Sopenharmony_ci	default "y"
24638c2ecf20Sopenharmony_ci	depends on MIPS_VPE_APSP_API && MIPS_CMP
24648c2ecf20Sopenharmony_ci
24658c2ecf20Sopenharmony_ciconfig MIPS_VPE_APSP_API_MT
24668c2ecf20Sopenharmony_ci	bool
24678c2ecf20Sopenharmony_ci	default "y"
24688c2ecf20Sopenharmony_ci	depends on MIPS_VPE_APSP_API && !MIPS_CMP
24698c2ecf20Sopenharmony_ci
24708c2ecf20Sopenharmony_ciconfig MIPS_CMP
24718c2ecf20Sopenharmony_ci	bool "MIPS CMP framework support (DEPRECATED)"
24728c2ecf20Sopenharmony_ci	depends on SYS_SUPPORTS_MIPS_CMP && !CPU_MIPSR6
24738c2ecf20Sopenharmony_ci	select SMP
24748c2ecf20Sopenharmony_ci	select SYNC_R4K
24758c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_SMP
24768c2ecf20Sopenharmony_ci	select WEAK_ORDERING
24778c2ecf20Sopenharmony_ci	default n
24788c2ecf20Sopenharmony_ci	help
24798c2ecf20Sopenharmony_ci	  Select this if you are using a bootloader which implements the "CMP
24808c2ecf20Sopenharmony_ci	  framework" protocol (ie. YAMON) and want your kernel to make use of
24818c2ecf20Sopenharmony_ci	  its ability to start secondary CPUs.
24828c2ecf20Sopenharmony_ci
24838c2ecf20Sopenharmony_ci	  Unless you have a specific need, you should use CONFIG_MIPS_CPS
24848c2ecf20Sopenharmony_ci	  instead of this.
24858c2ecf20Sopenharmony_ci
24868c2ecf20Sopenharmony_ciconfig MIPS_CPS
24878c2ecf20Sopenharmony_ci	bool "MIPS Coherent Processing System support"
24888c2ecf20Sopenharmony_ci	depends on SYS_SUPPORTS_MIPS_CPS
24898c2ecf20Sopenharmony_ci	select MIPS_CM
24908c2ecf20Sopenharmony_ci	select MIPS_CPS_PM if HOTPLUG_CPU
24918c2ecf20Sopenharmony_ci	select SMP
24928c2ecf20Sopenharmony_ci	select SYNC_R4K if (CEVT_R4K || CSRC_R4K)
24938c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_HOTPLUG_CPU
24948c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_SCHED_SMT if CPU_MIPSR6
24958c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_SMP
24968c2ecf20Sopenharmony_ci	select WEAK_ORDERING
24978c2ecf20Sopenharmony_ci	help
24988c2ecf20Sopenharmony_ci	  Select this if you wish to run an SMP kernel across multiple cores
24998c2ecf20Sopenharmony_ci	  within a MIPS Coherent Processing System. When this option is
25008c2ecf20Sopenharmony_ci	  enabled the kernel will probe for other cores and boot them with
25018c2ecf20Sopenharmony_ci	  no external assistance. It is safe to enable this when hardware
25028c2ecf20Sopenharmony_ci	  support is unavailable.
25038c2ecf20Sopenharmony_ci
25048c2ecf20Sopenharmony_ciconfig MIPS_CPS_PM
25058c2ecf20Sopenharmony_ci	depends on MIPS_CPS
25068c2ecf20Sopenharmony_ci	bool
25078c2ecf20Sopenharmony_ci
25088c2ecf20Sopenharmony_ciconfig MIPS_CM
25098c2ecf20Sopenharmony_ci	bool
25108c2ecf20Sopenharmony_ci	select MIPS_CPC
25118c2ecf20Sopenharmony_ci
25128c2ecf20Sopenharmony_ciconfig MIPS_CPC
25138c2ecf20Sopenharmony_ci	bool
25148c2ecf20Sopenharmony_ci
25158c2ecf20Sopenharmony_ciconfig SB1_PASS_2_WORKAROUNDS
25168c2ecf20Sopenharmony_ci	bool
25178c2ecf20Sopenharmony_ci	depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2)
25188c2ecf20Sopenharmony_ci	default y
25198c2ecf20Sopenharmony_ci
25208c2ecf20Sopenharmony_ciconfig SB1_PASS_2_1_WORKAROUNDS
25218c2ecf20Sopenharmony_ci	bool
25228c2ecf20Sopenharmony_ci	depends on CPU_SB1 && CPU_SB1_PASS_2
25238c2ecf20Sopenharmony_ci	default y
25248c2ecf20Sopenharmony_ci
25258c2ecf20Sopenharmony_cichoice
25268c2ecf20Sopenharmony_ci	prompt "SmartMIPS or microMIPS ASE support"
25278c2ecf20Sopenharmony_ci
25288c2ecf20Sopenharmony_ciconfig CPU_NEEDS_NO_SMARTMIPS_OR_MICROMIPS
25298c2ecf20Sopenharmony_ci	bool "None"
25308c2ecf20Sopenharmony_ci	help
25318c2ecf20Sopenharmony_ci	  Select this if you want neither microMIPS nor SmartMIPS support
25328c2ecf20Sopenharmony_ci
25338c2ecf20Sopenharmony_ciconfig CPU_HAS_SMARTMIPS
25348c2ecf20Sopenharmony_ci	depends on SYS_SUPPORTS_SMARTMIPS
25358c2ecf20Sopenharmony_ci	bool "SmartMIPS"
25368c2ecf20Sopenharmony_ci	help
25378c2ecf20Sopenharmony_ci	  SmartMIPS is a extension of the MIPS32 architecture aimed at
25388c2ecf20Sopenharmony_ci	  increased security at both hardware and software level for
25398c2ecf20Sopenharmony_ci	  smartcards.  Enabling this option will allow proper use of the
25408c2ecf20Sopenharmony_ci	  SmartMIPS instructions by Linux applications.  However a kernel with
25418c2ecf20Sopenharmony_ci	  this option will not work on a MIPS core without SmartMIPS core.  If
25428c2ecf20Sopenharmony_ci	  you don't know you probably don't have SmartMIPS and should say N
25438c2ecf20Sopenharmony_ci	  here.
25448c2ecf20Sopenharmony_ci
25458c2ecf20Sopenharmony_ciconfig CPU_MICROMIPS
25468c2ecf20Sopenharmony_ci	depends on 32BIT && SYS_SUPPORTS_MICROMIPS && !CPU_MIPSR6
25478c2ecf20Sopenharmony_ci	bool "microMIPS"
25488c2ecf20Sopenharmony_ci	help
25498c2ecf20Sopenharmony_ci	  When this option is enabled the kernel will be built using the
25508c2ecf20Sopenharmony_ci	  microMIPS ISA
25518c2ecf20Sopenharmony_ci
25528c2ecf20Sopenharmony_ciendchoice
25538c2ecf20Sopenharmony_ci
25548c2ecf20Sopenharmony_ciconfig CPU_HAS_MSA
25558c2ecf20Sopenharmony_ci	bool "Support for the MIPS SIMD Architecture"
25568c2ecf20Sopenharmony_ci	depends on CPU_SUPPORTS_MSA
25578c2ecf20Sopenharmony_ci	depends on MIPS_FP_SUPPORT
25588c2ecf20Sopenharmony_ci	depends on 64BIT || MIPS_O32_FP64_SUPPORT
25598c2ecf20Sopenharmony_ci	help
25608c2ecf20Sopenharmony_ci	  MIPS SIMD Architecture (MSA) introduces 128 bit wide vector registers
25618c2ecf20Sopenharmony_ci	  and a set of SIMD instructions to operate on them. When this option
25628c2ecf20Sopenharmony_ci	  is enabled the kernel will support allocating & switching MSA
25638c2ecf20Sopenharmony_ci	  vector register contexts. If you know that your kernel will only be
25648c2ecf20Sopenharmony_ci	  running on CPUs which do not support MSA or that your userland will
25658c2ecf20Sopenharmony_ci	  not be making use of it then you may wish to say N here to reduce
25668c2ecf20Sopenharmony_ci	  the size & complexity of your kernel.
25678c2ecf20Sopenharmony_ci
25688c2ecf20Sopenharmony_ci	  If unsure, say Y.
25698c2ecf20Sopenharmony_ci
25708c2ecf20Sopenharmony_ciconfig CPU_HAS_WB
25718c2ecf20Sopenharmony_ci	bool
25728c2ecf20Sopenharmony_ci
25738c2ecf20Sopenharmony_ciconfig XKS01
25748c2ecf20Sopenharmony_ci	bool
25758c2ecf20Sopenharmony_ci
25768c2ecf20Sopenharmony_ciconfig CPU_HAS_DIEI
25778c2ecf20Sopenharmony_ci	depends on !CPU_DIEI_BROKEN
25788c2ecf20Sopenharmony_ci	bool
25798c2ecf20Sopenharmony_ci
25808c2ecf20Sopenharmony_ciconfig CPU_DIEI_BROKEN
25818c2ecf20Sopenharmony_ci	bool
25828c2ecf20Sopenharmony_ci
25838c2ecf20Sopenharmony_ciconfig CPU_HAS_RIXI
25848c2ecf20Sopenharmony_ci	bool
25858c2ecf20Sopenharmony_ci
25868c2ecf20Sopenharmony_ciconfig CPU_NO_LOAD_STORE_LR
25878c2ecf20Sopenharmony_ci	bool
25888c2ecf20Sopenharmony_ci	help
25898c2ecf20Sopenharmony_ci	  CPU lacks support for unaligned load and store instructions:
25908c2ecf20Sopenharmony_ci	  LWL, LWR, SWL, SWR (Load/store word left/right).
25918c2ecf20Sopenharmony_ci	  LDL, LDR, SDL, SDR (Load/store doubleword left/right, for 64bit
25928c2ecf20Sopenharmony_ci	  systems).
25938c2ecf20Sopenharmony_ci
25948c2ecf20Sopenharmony_ci#
25958c2ecf20Sopenharmony_ci# Vectored interrupt mode is an R2 feature
25968c2ecf20Sopenharmony_ci#
25978c2ecf20Sopenharmony_ciconfig CPU_MIPSR2_IRQ_VI
25988c2ecf20Sopenharmony_ci	bool
25998c2ecf20Sopenharmony_ci
26008c2ecf20Sopenharmony_ci#
26018c2ecf20Sopenharmony_ci# Extended interrupt mode is an R2 feature
26028c2ecf20Sopenharmony_ci#
26038c2ecf20Sopenharmony_ciconfig CPU_MIPSR2_IRQ_EI
26048c2ecf20Sopenharmony_ci	bool
26058c2ecf20Sopenharmony_ci
26068c2ecf20Sopenharmony_ciconfig CPU_HAS_SYNC
26078c2ecf20Sopenharmony_ci	bool
26088c2ecf20Sopenharmony_ci	depends on !CPU_R3000
26098c2ecf20Sopenharmony_ci	default y
26108c2ecf20Sopenharmony_ci
26118c2ecf20Sopenharmony_ci#
26128c2ecf20Sopenharmony_ci# CPU non-features
26138c2ecf20Sopenharmony_ci#
26148c2ecf20Sopenharmony_ciconfig CPU_DADDI_WORKAROUNDS
26158c2ecf20Sopenharmony_ci	bool
26168c2ecf20Sopenharmony_ci
26178c2ecf20Sopenharmony_ciconfig CPU_R4000_WORKAROUNDS
26188c2ecf20Sopenharmony_ci	bool
26198c2ecf20Sopenharmony_ci	select CPU_R4400_WORKAROUNDS
26208c2ecf20Sopenharmony_ci
26218c2ecf20Sopenharmony_ciconfig CPU_R4400_WORKAROUNDS
26228c2ecf20Sopenharmony_ci	bool
26238c2ecf20Sopenharmony_ci
26248c2ecf20Sopenharmony_ciconfig CPU_R4X00_BUGS64
26258c2ecf20Sopenharmony_ci	bool
26268c2ecf20Sopenharmony_ci	default y if SYS_HAS_CPU_R4X00 && 64BIT && (TARGET_ISA_REV < 1)
26278c2ecf20Sopenharmony_ci
26288c2ecf20Sopenharmony_ciconfig MIPS_ASID_SHIFT
26298c2ecf20Sopenharmony_ci	int
26308c2ecf20Sopenharmony_ci	default 6 if CPU_R3000 || CPU_TX39XX
26318c2ecf20Sopenharmony_ci	default 0
26328c2ecf20Sopenharmony_ci
26338c2ecf20Sopenharmony_ciconfig MIPS_ASID_BITS
26348c2ecf20Sopenharmony_ci	int
26358c2ecf20Sopenharmony_ci	default 0 if MIPS_ASID_BITS_VARIABLE
26368c2ecf20Sopenharmony_ci	default 6 if CPU_R3000 || CPU_TX39XX
26378c2ecf20Sopenharmony_ci	default 8
26388c2ecf20Sopenharmony_ci
26398c2ecf20Sopenharmony_ciconfig MIPS_ASID_BITS_VARIABLE
26408c2ecf20Sopenharmony_ci	bool
26418c2ecf20Sopenharmony_ci
26428c2ecf20Sopenharmony_ciconfig MIPS_CRC_SUPPORT
26438c2ecf20Sopenharmony_ci	bool
26448c2ecf20Sopenharmony_ci
26458c2ecf20Sopenharmony_ci# R4600 erratum.  Due to the lack of errata information the exact
26468c2ecf20Sopenharmony_ci# technical details aren't known.  I've experimentally found that disabling
26478c2ecf20Sopenharmony_ci# interrupts during indexed I-cache flushes seems to be sufficient to deal
26488c2ecf20Sopenharmony_ci# with the issue.
26498c2ecf20Sopenharmony_ciconfig WAR_R4600_V1_INDEX_ICACHEOP
26508c2ecf20Sopenharmony_ci	bool
26518c2ecf20Sopenharmony_ci
26528c2ecf20Sopenharmony_ci# Pleasures of the R4600 V1.x.  Cite from the IDT R4600 V1.7 errata:
26538c2ecf20Sopenharmony_ci#
26548c2ecf20Sopenharmony_ci#  18. The CACHE instructions Hit_Writeback_Invalidate_D, Hit_Writeback_D,
26558c2ecf20Sopenharmony_ci#      Hit_Invalidate_D and Create_Dirty_Excl_D should only be
26568c2ecf20Sopenharmony_ci#      executed if there is no other dcache activity. If the dcache is
26578c2ecf20Sopenharmony_ci#      accessed for another instruction immeidately preceding when these
26588c2ecf20Sopenharmony_ci#      cache instructions are executing, it is possible that the dcache
26598c2ecf20Sopenharmony_ci#      tag match outputs used by these cache instructions will be
26608c2ecf20Sopenharmony_ci#      incorrect. These cache instructions should be preceded by at least
26618c2ecf20Sopenharmony_ci#      four instructions that are not any kind of load or store
26628c2ecf20Sopenharmony_ci#      instruction.
26638c2ecf20Sopenharmony_ci#
26648c2ecf20Sopenharmony_ci#      This is not allowed:    lw
26658c2ecf20Sopenharmony_ci#                              nop
26668c2ecf20Sopenharmony_ci#                              nop
26678c2ecf20Sopenharmony_ci#                              nop
26688c2ecf20Sopenharmony_ci#                              cache       Hit_Writeback_Invalidate_D
26698c2ecf20Sopenharmony_ci#
26708c2ecf20Sopenharmony_ci#      This is allowed:        lw
26718c2ecf20Sopenharmony_ci#                              nop
26728c2ecf20Sopenharmony_ci#                              nop
26738c2ecf20Sopenharmony_ci#                              nop
26748c2ecf20Sopenharmony_ci#                              nop
26758c2ecf20Sopenharmony_ci#                              cache       Hit_Writeback_Invalidate_D
26768c2ecf20Sopenharmony_ciconfig WAR_R4600_V1_HIT_CACHEOP
26778c2ecf20Sopenharmony_ci	bool
26788c2ecf20Sopenharmony_ci
26798c2ecf20Sopenharmony_ci# Writeback and invalidate the primary cache dcache before DMA.
26808c2ecf20Sopenharmony_ci#
26818c2ecf20Sopenharmony_ci# R4600 v2.0 bug: "The CACHE instructions Hit_Writeback_Inv_D,
26828c2ecf20Sopenharmony_ci# Hit_Writeback_D, Hit_Invalidate_D and Create_Dirty_Exclusive_D will only
26838c2ecf20Sopenharmony_ci# operate correctly if the internal data cache refill buffer is empty.  These
26848c2ecf20Sopenharmony_ci# CACHE instructions should be separated from any potential data cache miss
26858c2ecf20Sopenharmony_ci# by a load instruction to an uncached address to empty the response buffer."
26868c2ecf20Sopenharmony_ci# (Revision 2.0 device errata from IDT available on https://www.idt.com/
26878c2ecf20Sopenharmony_ci# in .pdf format.)
26888c2ecf20Sopenharmony_ciconfig WAR_R4600_V2_HIT_CACHEOP
26898c2ecf20Sopenharmony_ci	bool
26908c2ecf20Sopenharmony_ci
26918c2ecf20Sopenharmony_ci# From TX49/H2 manual: "If the instruction (i.e. CACHE) is issued for
26928c2ecf20Sopenharmony_ci# the line which this instruction itself exists, the following
26938c2ecf20Sopenharmony_ci# operation is not guaranteed."
26948c2ecf20Sopenharmony_ci#
26958c2ecf20Sopenharmony_ci# Workaround: do two phase flushing for Index_Invalidate_I
26968c2ecf20Sopenharmony_ciconfig WAR_TX49XX_ICACHE_INDEX_INV
26978c2ecf20Sopenharmony_ci	bool
26988c2ecf20Sopenharmony_ci
26998c2ecf20Sopenharmony_ci# The RM7000 processors and the E9000 cores have a bug (though PMC-Sierra
27008c2ecf20Sopenharmony_ci# opposes it being called that) where invalid instructions in the same
27018c2ecf20Sopenharmony_ci# I-cache line worth of instructions being fetched may case spurious
27028c2ecf20Sopenharmony_ci# exceptions.
27038c2ecf20Sopenharmony_ciconfig WAR_ICACHE_REFILLS
27048c2ecf20Sopenharmony_ci	bool
27058c2ecf20Sopenharmony_ci
27068c2ecf20Sopenharmony_ci# On the R10000 up to version 2.6 (not sure about 2.7) there is a bug that
27078c2ecf20Sopenharmony_ci# may cause ll / sc and lld / scd sequences to execute non-atomically.
27088c2ecf20Sopenharmony_ciconfig WAR_R10000_LLSC
27098c2ecf20Sopenharmony_ci	bool
27108c2ecf20Sopenharmony_ci
27118c2ecf20Sopenharmony_ci# 34K core erratum: "Problems Executing the TLBR Instruction"
27128c2ecf20Sopenharmony_ciconfig WAR_MIPS34K_MISSED_ITLB
27138c2ecf20Sopenharmony_ci	bool
27148c2ecf20Sopenharmony_ci
27158c2ecf20Sopenharmony_ci#
27168c2ecf20Sopenharmony_ci# - Highmem only makes sense for the 32-bit kernel.
27178c2ecf20Sopenharmony_ci# - The current highmem code will only work properly on physically indexed
27188c2ecf20Sopenharmony_ci#   caches such as R3000, SB1, R7000 or those that look like they're virtually
27198c2ecf20Sopenharmony_ci#   indexed such as R4000/R4400 SC and MC versions or R10000.  So for the
27208c2ecf20Sopenharmony_ci#   moment we protect the user and offer the highmem option only on machines
27218c2ecf20Sopenharmony_ci#   where it's known to be safe.  This will not offer highmem on a few systems
27228c2ecf20Sopenharmony_ci#   such as MIPS32 and MIPS64 CPUs which may have virtual and physically
27238c2ecf20Sopenharmony_ci#   indexed CPUs but we're playing safe.
27248c2ecf20Sopenharmony_ci# - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we
27258c2ecf20Sopenharmony_ci#   know they might have memory configurations that could make use of highmem
27268c2ecf20Sopenharmony_ci#   support.
27278c2ecf20Sopenharmony_ci#
27288c2ecf20Sopenharmony_ciconfig HIGHMEM
27298c2ecf20Sopenharmony_ci	bool "High Memory Support"
27308c2ecf20Sopenharmony_ci	depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM && !CPU_MIPS32_3_5_EVA
27318c2ecf20Sopenharmony_ci
27328c2ecf20Sopenharmony_ciconfig CPU_SUPPORTS_HIGHMEM
27338c2ecf20Sopenharmony_ci	bool
27348c2ecf20Sopenharmony_ci
27358c2ecf20Sopenharmony_ciconfig SYS_SUPPORTS_HIGHMEM
27368c2ecf20Sopenharmony_ci	bool
27378c2ecf20Sopenharmony_ci
27388c2ecf20Sopenharmony_ciconfig SYS_SUPPORTS_SMARTMIPS
27398c2ecf20Sopenharmony_ci	bool
27408c2ecf20Sopenharmony_ci
27418c2ecf20Sopenharmony_ciconfig SYS_SUPPORTS_MICROMIPS
27428c2ecf20Sopenharmony_ci	bool
27438c2ecf20Sopenharmony_ci
27448c2ecf20Sopenharmony_ciconfig SYS_SUPPORTS_MIPS16
27458c2ecf20Sopenharmony_ci	bool
27468c2ecf20Sopenharmony_ci	help
27478c2ecf20Sopenharmony_ci	  This option must be set if a kernel might be executed on a MIPS16-
27488c2ecf20Sopenharmony_ci	  enabled CPU even if MIPS16 is not actually being used.  In other
27498c2ecf20Sopenharmony_ci	  words, it makes the kernel MIPS16-tolerant.
27508c2ecf20Sopenharmony_ci
27518c2ecf20Sopenharmony_ciconfig CPU_SUPPORTS_MSA
27528c2ecf20Sopenharmony_ci	bool
27538c2ecf20Sopenharmony_ci
27548c2ecf20Sopenharmony_ciconfig ARCH_FLATMEM_ENABLE
27558c2ecf20Sopenharmony_ci	def_bool y
27568c2ecf20Sopenharmony_ci	depends on !NUMA && !CPU_LOONGSON2EF
27578c2ecf20Sopenharmony_ci
27588c2ecf20Sopenharmony_ciconfig ARCH_SPARSEMEM_ENABLE
27598c2ecf20Sopenharmony_ci	bool
27608c2ecf20Sopenharmony_ci	select SPARSEMEM_STATIC if !SGI_IP27
27618c2ecf20Sopenharmony_ci
27628c2ecf20Sopenharmony_ciconfig NUMA
27638c2ecf20Sopenharmony_ci	bool "NUMA Support"
27648c2ecf20Sopenharmony_ci	depends on SYS_SUPPORTS_NUMA
27658c2ecf20Sopenharmony_ci	help
27668c2ecf20Sopenharmony_ci	  Say Y to compile the kernel to support NUMA (Non-Uniform Memory
27678c2ecf20Sopenharmony_ci	  Access).  This option improves performance on systems with more
27688c2ecf20Sopenharmony_ci	  than two nodes; on two node systems it is generally better to
27698c2ecf20Sopenharmony_ci	  leave it disabled; on single node systems leave this option
27708c2ecf20Sopenharmony_ci	  disabled.
27718c2ecf20Sopenharmony_ci
27728c2ecf20Sopenharmony_ciconfig SYS_SUPPORTS_NUMA
27738c2ecf20Sopenharmony_ci	bool
27748c2ecf20Sopenharmony_ci
27758c2ecf20Sopenharmony_ciconfig HAVE_SETUP_PER_CPU_AREA
27768c2ecf20Sopenharmony_ci	def_bool y
27778c2ecf20Sopenharmony_ci	depends on NUMA
27788c2ecf20Sopenharmony_ci
27798c2ecf20Sopenharmony_ciconfig NEED_PER_CPU_EMBED_FIRST_CHUNK
27808c2ecf20Sopenharmony_ci	def_bool y
27818c2ecf20Sopenharmony_ci	depends on NUMA
27828c2ecf20Sopenharmony_ci
27838c2ecf20Sopenharmony_ciconfig RELOCATABLE
27848c2ecf20Sopenharmony_ci	bool "Relocatable kernel"
27858c2ecf20Sopenharmony_ci	depends on SYS_SUPPORTS_RELOCATABLE
27868c2ecf20Sopenharmony_ci	depends on CPU_MIPS32_R2 || CPU_MIPS64_R2 || \
27878c2ecf20Sopenharmony_ci		   CPU_MIPS32_R5 || CPU_MIPS64_R5 || \
27888c2ecf20Sopenharmony_ci		   CPU_MIPS32_R6 || CPU_MIPS64_R6 || \
27898c2ecf20Sopenharmony_ci		   CPU_P5600 || CAVIUM_OCTEON_SOC
27908c2ecf20Sopenharmony_ci	help
27918c2ecf20Sopenharmony_ci	  This builds a kernel image that retains relocation information
27928c2ecf20Sopenharmony_ci	  so it can be loaded someplace besides the default 1MB.
27938c2ecf20Sopenharmony_ci	  The relocations make the kernel binary about 15% larger,
27948c2ecf20Sopenharmony_ci	  but are discarded at runtime
27958c2ecf20Sopenharmony_ci
27968c2ecf20Sopenharmony_ciconfig RELOCATION_TABLE_SIZE
27978c2ecf20Sopenharmony_ci	hex "Relocation table size"
27988c2ecf20Sopenharmony_ci	depends on RELOCATABLE
27998c2ecf20Sopenharmony_ci	range 0x0 0x01000000
28008c2ecf20Sopenharmony_ci	default "0x00100000"
28018c2ecf20Sopenharmony_ci	help
28028c2ecf20Sopenharmony_ci	  A table of relocation data will be appended to the kernel binary
28038c2ecf20Sopenharmony_ci	  and parsed at boot to fix up the relocated kernel.
28048c2ecf20Sopenharmony_ci
28058c2ecf20Sopenharmony_ci	  This option allows the amount of space reserved for the table to be
28068c2ecf20Sopenharmony_ci	  adjusted, although the default of 1Mb should be ok in most cases.
28078c2ecf20Sopenharmony_ci
28088c2ecf20Sopenharmony_ci	  The build will fail and a valid size suggested if this is too small.
28098c2ecf20Sopenharmony_ci
28108c2ecf20Sopenharmony_ci	  If unsure, leave at the default value.
28118c2ecf20Sopenharmony_ci
28128c2ecf20Sopenharmony_ciconfig RANDOMIZE_BASE
28138c2ecf20Sopenharmony_ci	bool "Randomize the address of the kernel image"
28148c2ecf20Sopenharmony_ci	depends on RELOCATABLE
28158c2ecf20Sopenharmony_ci	help
28168c2ecf20Sopenharmony_ci	  Randomizes the physical and virtual address at which the
28178c2ecf20Sopenharmony_ci	  kernel image is loaded, as a security feature that
28188c2ecf20Sopenharmony_ci	  deters exploit attempts relying on knowledge of the location
28198c2ecf20Sopenharmony_ci	  of kernel internals.
28208c2ecf20Sopenharmony_ci
28218c2ecf20Sopenharmony_ci	  Entropy is generated using any coprocessor 0 registers available.
28228c2ecf20Sopenharmony_ci
28238c2ecf20Sopenharmony_ci	  The kernel will be offset by up to RANDOMIZE_BASE_MAX_OFFSET.
28248c2ecf20Sopenharmony_ci
28258c2ecf20Sopenharmony_ci	  If unsure, say N.
28268c2ecf20Sopenharmony_ci
28278c2ecf20Sopenharmony_ciconfig RANDOMIZE_BASE_MAX_OFFSET
28288c2ecf20Sopenharmony_ci	hex "Maximum kASLR offset" if EXPERT
28298c2ecf20Sopenharmony_ci	depends on RANDOMIZE_BASE
28308c2ecf20Sopenharmony_ci	range 0x0 0x40000000 if EVA || 64BIT
28318c2ecf20Sopenharmony_ci	range 0x0 0x08000000
28328c2ecf20Sopenharmony_ci	default "0x01000000"
28338c2ecf20Sopenharmony_ci	help
28348c2ecf20Sopenharmony_ci	  When kASLR is active, this provides the maximum offset that will
28358c2ecf20Sopenharmony_ci	  be applied to the kernel image. It should be set according to the
28368c2ecf20Sopenharmony_ci	  amount of physical RAM available in the target system minus
28378c2ecf20Sopenharmony_ci	  PHYSICAL_START and must be a power of 2.
28388c2ecf20Sopenharmony_ci
28398c2ecf20Sopenharmony_ci	  This is limited by the size of KSEG0, 256Mb on 32-bit or 1Gb with
28408c2ecf20Sopenharmony_ci	  EVA or 64-bit. The default is 16Mb.
28418c2ecf20Sopenharmony_ci
28428c2ecf20Sopenharmony_ciconfig NODES_SHIFT
28438c2ecf20Sopenharmony_ci	int
28448c2ecf20Sopenharmony_ci	default "6"
28458c2ecf20Sopenharmony_ci	depends on NEED_MULTIPLE_NODES
28468c2ecf20Sopenharmony_ci
28478c2ecf20Sopenharmony_ciconfig HW_PERF_EVENTS
28488c2ecf20Sopenharmony_ci	bool "Enable hardware performance counter support for perf events"
28498c2ecf20Sopenharmony_ci	depends on PERF_EVENTS && !OPROFILE && (CPU_MIPS32 || CPU_MIPS64 || CPU_R10000 || CPU_SB1 || CPU_CAVIUM_OCTEON || CPU_XLP || CPU_LOONGSON64)
28508c2ecf20Sopenharmony_ci	default y
28518c2ecf20Sopenharmony_ci	help
28528c2ecf20Sopenharmony_ci	  Enable hardware performance counter support for perf events. If
28538c2ecf20Sopenharmony_ci	  disabled, perf events will use software events only.
28548c2ecf20Sopenharmony_ci
28558c2ecf20Sopenharmony_ciconfig DMI
28568c2ecf20Sopenharmony_ci	bool "Enable DMI scanning"
28578c2ecf20Sopenharmony_ci	depends on MACH_LOONGSON64
28588c2ecf20Sopenharmony_ci	select DMI_SCAN_MACHINE_NON_EFI_FALLBACK
28598c2ecf20Sopenharmony_ci	default y
28608c2ecf20Sopenharmony_ci	help
28618c2ecf20Sopenharmony_ci	  Enabled scanning of DMI to identify machine quirks. Say Y
28628c2ecf20Sopenharmony_ci	  here unless you have verified that your setup is not
28638c2ecf20Sopenharmony_ci	  affected by entries in the DMI blacklist. Required by PNP
28648c2ecf20Sopenharmony_ci	  BIOS code.
28658c2ecf20Sopenharmony_ci
28668c2ecf20Sopenharmony_ciconfig SMP
28678c2ecf20Sopenharmony_ci	bool "Multi-Processing support"
28688c2ecf20Sopenharmony_ci	depends on SYS_SUPPORTS_SMP
28698c2ecf20Sopenharmony_ci	help
28708c2ecf20Sopenharmony_ci	  This enables support for systems with more than one CPU. If you have
28718c2ecf20Sopenharmony_ci	  a system with only one CPU, say N. If you have a system with more
28728c2ecf20Sopenharmony_ci	  than one CPU, say Y.
28738c2ecf20Sopenharmony_ci
28748c2ecf20Sopenharmony_ci	  If you say N here, the kernel will run on uni- and multiprocessor
28758c2ecf20Sopenharmony_ci	  machines, but will use only one CPU of a multiprocessor machine. If
28768c2ecf20Sopenharmony_ci	  you say Y here, the kernel will run on many, but not all,
28778c2ecf20Sopenharmony_ci	  uniprocessor machines. On a uniprocessor machine, the kernel
28788c2ecf20Sopenharmony_ci	  will run faster if you say N here.
28798c2ecf20Sopenharmony_ci
28808c2ecf20Sopenharmony_ci	  People using multiprocessor machines who say Y here should also say
28818c2ecf20Sopenharmony_ci	  Y to "Enhanced Real Time Clock Support", below.
28828c2ecf20Sopenharmony_ci
28838c2ecf20Sopenharmony_ci	  See also the SMP-HOWTO available at
28848c2ecf20Sopenharmony_ci	  <https://www.tldp.org/docs.html#howto>.
28858c2ecf20Sopenharmony_ci
28868c2ecf20Sopenharmony_ci	  If you don't know what to do here, say N.
28878c2ecf20Sopenharmony_ci
28888c2ecf20Sopenharmony_ciconfig HOTPLUG_CPU
28898c2ecf20Sopenharmony_ci	bool "Support for hot-pluggable CPUs"
28908c2ecf20Sopenharmony_ci	depends on SMP && SYS_SUPPORTS_HOTPLUG_CPU
28918c2ecf20Sopenharmony_ci	help
28928c2ecf20Sopenharmony_ci	  Say Y here to allow turning CPUs off and on. CPUs can be
28938c2ecf20Sopenharmony_ci	  controlled through /sys/devices/system/cpu.
28948c2ecf20Sopenharmony_ci	  (Note: power management support will enable this option
28958c2ecf20Sopenharmony_ci	    automatically on SMP systems. )
28968c2ecf20Sopenharmony_ci	  Say N if you want to disable CPU hotplug.
28978c2ecf20Sopenharmony_ci
28988c2ecf20Sopenharmony_ciconfig SMP_UP
28998c2ecf20Sopenharmony_ci	bool
29008c2ecf20Sopenharmony_ci
29018c2ecf20Sopenharmony_ciconfig SYS_SUPPORTS_MIPS_CMP
29028c2ecf20Sopenharmony_ci	bool
29038c2ecf20Sopenharmony_ci
29048c2ecf20Sopenharmony_ciconfig SYS_SUPPORTS_MIPS_CPS
29058c2ecf20Sopenharmony_ci	bool
29068c2ecf20Sopenharmony_ci
29078c2ecf20Sopenharmony_ciconfig SYS_SUPPORTS_SMP
29088c2ecf20Sopenharmony_ci	bool
29098c2ecf20Sopenharmony_ci
29108c2ecf20Sopenharmony_ciconfig NR_CPUS_DEFAULT_4
29118c2ecf20Sopenharmony_ci	bool
29128c2ecf20Sopenharmony_ci
29138c2ecf20Sopenharmony_ciconfig NR_CPUS_DEFAULT_8
29148c2ecf20Sopenharmony_ci	bool
29158c2ecf20Sopenharmony_ci
29168c2ecf20Sopenharmony_ciconfig NR_CPUS_DEFAULT_16
29178c2ecf20Sopenharmony_ci	bool
29188c2ecf20Sopenharmony_ci
29198c2ecf20Sopenharmony_ciconfig NR_CPUS_DEFAULT_32
29208c2ecf20Sopenharmony_ci	bool
29218c2ecf20Sopenharmony_ci
29228c2ecf20Sopenharmony_ciconfig NR_CPUS_DEFAULT_64
29238c2ecf20Sopenharmony_ci	bool
29248c2ecf20Sopenharmony_ci
29258c2ecf20Sopenharmony_ciconfig NR_CPUS
29268c2ecf20Sopenharmony_ci	int "Maximum number of CPUs (2-256)"
29278c2ecf20Sopenharmony_ci	range 2 256
29288c2ecf20Sopenharmony_ci	depends on SMP
29298c2ecf20Sopenharmony_ci	default "4" if NR_CPUS_DEFAULT_4
29308c2ecf20Sopenharmony_ci	default "8" if NR_CPUS_DEFAULT_8
29318c2ecf20Sopenharmony_ci	default "16" if NR_CPUS_DEFAULT_16
29328c2ecf20Sopenharmony_ci	default "32" if NR_CPUS_DEFAULT_32
29338c2ecf20Sopenharmony_ci	default "64" if NR_CPUS_DEFAULT_64
29348c2ecf20Sopenharmony_ci	help
29358c2ecf20Sopenharmony_ci	  This allows you to specify the maximum number of CPUs which this
29368c2ecf20Sopenharmony_ci	  kernel will support.  The maximum supported value is 32 for 32-bit
29378c2ecf20Sopenharmony_ci	  kernel and 64 for 64-bit kernels; the minimum value which makes
29388c2ecf20Sopenharmony_ci	  sense is 1 for Qemu (useful only for kernel debugging purposes)
29398c2ecf20Sopenharmony_ci	  and 2 for all others.
29408c2ecf20Sopenharmony_ci
29418c2ecf20Sopenharmony_ci	  This is purely to save memory - each supported CPU adds
29428c2ecf20Sopenharmony_ci	  approximately eight kilobytes to the kernel image.  For best
29438c2ecf20Sopenharmony_ci	  performance should round up your number of processors to the next
29448c2ecf20Sopenharmony_ci	  power of two.
29458c2ecf20Sopenharmony_ci
29468c2ecf20Sopenharmony_ciconfig MIPS_PERF_SHARED_TC_COUNTERS
29478c2ecf20Sopenharmony_ci	bool
29488c2ecf20Sopenharmony_ci
29498c2ecf20Sopenharmony_ciconfig MIPS_NR_CPU_NR_MAP_1024
29508c2ecf20Sopenharmony_ci	bool
29518c2ecf20Sopenharmony_ci
29528c2ecf20Sopenharmony_ciconfig MIPS_NR_CPU_NR_MAP
29538c2ecf20Sopenharmony_ci	int
29548c2ecf20Sopenharmony_ci	depends on SMP
29558c2ecf20Sopenharmony_ci	default 1024 if MIPS_NR_CPU_NR_MAP_1024
29568c2ecf20Sopenharmony_ci	default NR_CPUS if !MIPS_NR_CPU_NR_MAP_1024
29578c2ecf20Sopenharmony_ci
29588c2ecf20Sopenharmony_ci#
29598c2ecf20Sopenharmony_ci# Timer Interrupt Frequency Configuration
29608c2ecf20Sopenharmony_ci#
29618c2ecf20Sopenharmony_ci
29628c2ecf20Sopenharmony_cichoice
29638c2ecf20Sopenharmony_ci	prompt "Timer frequency"
29648c2ecf20Sopenharmony_ci	default HZ_250
29658c2ecf20Sopenharmony_ci	help
29668c2ecf20Sopenharmony_ci	  Allows the configuration of the timer frequency.
29678c2ecf20Sopenharmony_ci
29688c2ecf20Sopenharmony_ci	config HZ_24
29698c2ecf20Sopenharmony_ci		bool "24 HZ" if SYS_SUPPORTS_24HZ || SYS_SUPPORTS_ARBIT_HZ
29708c2ecf20Sopenharmony_ci
29718c2ecf20Sopenharmony_ci	config HZ_48
29728c2ecf20Sopenharmony_ci		bool "48 HZ" if SYS_SUPPORTS_48HZ || SYS_SUPPORTS_ARBIT_HZ
29738c2ecf20Sopenharmony_ci
29748c2ecf20Sopenharmony_ci	config HZ_100
29758c2ecf20Sopenharmony_ci		bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ
29768c2ecf20Sopenharmony_ci
29778c2ecf20Sopenharmony_ci	config HZ_128
29788c2ecf20Sopenharmony_ci		bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ
29798c2ecf20Sopenharmony_ci
29808c2ecf20Sopenharmony_ci	config HZ_250
29818c2ecf20Sopenharmony_ci		bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ
29828c2ecf20Sopenharmony_ci
29838c2ecf20Sopenharmony_ci	config HZ_256
29848c2ecf20Sopenharmony_ci		bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ
29858c2ecf20Sopenharmony_ci
29868c2ecf20Sopenharmony_ci	config HZ_1000
29878c2ecf20Sopenharmony_ci		bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ
29888c2ecf20Sopenharmony_ci
29898c2ecf20Sopenharmony_ci	config HZ_1024
29908c2ecf20Sopenharmony_ci		bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ
29918c2ecf20Sopenharmony_ci
29928c2ecf20Sopenharmony_ciendchoice
29938c2ecf20Sopenharmony_ci
29948c2ecf20Sopenharmony_ciconfig SYS_SUPPORTS_24HZ
29958c2ecf20Sopenharmony_ci	bool
29968c2ecf20Sopenharmony_ci
29978c2ecf20Sopenharmony_ciconfig SYS_SUPPORTS_48HZ
29988c2ecf20Sopenharmony_ci	bool
29998c2ecf20Sopenharmony_ci
30008c2ecf20Sopenharmony_ciconfig SYS_SUPPORTS_100HZ
30018c2ecf20Sopenharmony_ci	bool
30028c2ecf20Sopenharmony_ci
30038c2ecf20Sopenharmony_ciconfig SYS_SUPPORTS_128HZ
30048c2ecf20Sopenharmony_ci	bool
30058c2ecf20Sopenharmony_ci
30068c2ecf20Sopenharmony_ciconfig SYS_SUPPORTS_250HZ
30078c2ecf20Sopenharmony_ci	bool
30088c2ecf20Sopenharmony_ci
30098c2ecf20Sopenharmony_ciconfig SYS_SUPPORTS_256HZ
30108c2ecf20Sopenharmony_ci	bool
30118c2ecf20Sopenharmony_ci
30128c2ecf20Sopenharmony_ciconfig SYS_SUPPORTS_1000HZ
30138c2ecf20Sopenharmony_ci	bool
30148c2ecf20Sopenharmony_ci
30158c2ecf20Sopenharmony_ciconfig SYS_SUPPORTS_1024HZ
30168c2ecf20Sopenharmony_ci	bool
30178c2ecf20Sopenharmony_ci
30188c2ecf20Sopenharmony_ciconfig SYS_SUPPORTS_ARBIT_HZ
30198c2ecf20Sopenharmony_ci	bool
30208c2ecf20Sopenharmony_ci	default y if !SYS_SUPPORTS_24HZ && \
30218c2ecf20Sopenharmony_ci		     !SYS_SUPPORTS_48HZ && \
30228c2ecf20Sopenharmony_ci		     !SYS_SUPPORTS_100HZ && \
30238c2ecf20Sopenharmony_ci		     !SYS_SUPPORTS_128HZ && \
30248c2ecf20Sopenharmony_ci		     !SYS_SUPPORTS_250HZ && \
30258c2ecf20Sopenharmony_ci		     !SYS_SUPPORTS_256HZ && \
30268c2ecf20Sopenharmony_ci		     !SYS_SUPPORTS_1000HZ && \
30278c2ecf20Sopenharmony_ci		     !SYS_SUPPORTS_1024HZ
30288c2ecf20Sopenharmony_ci
30298c2ecf20Sopenharmony_ciconfig HZ
30308c2ecf20Sopenharmony_ci	int
30318c2ecf20Sopenharmony_ci	default 24 if HZ_24
30328c2ecf20Sopenharmony_ci	default 48 if HZ_48
30338c2ecf20Sopenharmony_ci	default 100 if HZ_100
30348c2ecf20Sopenharmony_ci	default 128 if HZ_128
30358c2ecf20Sopenharmony_ci	default 250 if HZ_250
30368c2ecf20Sopenharmony_ci	default 256 if HZ_256
30378c2ecf20Sopenharmony_ci	default 1000 if HZ_1000
30388c2ecf20Sopenharmony_ci	default 1024 if HZ_1024
30398c2ecf20Sopenharmony_ci
30408c2ecf20Sopenharmony_ciconfig SCHED_HRTICK
30418c2ecf20Sopenharmony_ci	def_bool HIGH_RES_TIMERS
30428c2ecf20Sopenharmony_ci
30438c2ecf20Sopenharmony_ciconfig KEXEC
30448c2ecf20Sopenharmony_ci	bool "Kexec system call"
30458c2ecf20Sopenharmony_ci	select KEXEC_CORE
30468c2ecf20Sopenharmony_ci	help
30478c2ecf20Sopenharmony_ci	  kexec is a system call that implements the ability to shutdown your
30488c2ecf20Sopenharmony_ci	  current kernel, and to start another kernel.  It is like a reboot
30498c2ecf20Sopenharmony_ci	  but it is independent of the system firmware.   And like a reboot
30508c2ecf20Sopenharmony_ci	  you can start any kernel with it, not just Linux.
30518c2ecf20Sopenharmony_ci
30528c2ecf20Sopenharmony_ci	  The name comes from the similarity to the exec system call.
30538c2ecf20Sopenharmony_ci
30548c2ecf20Sopenharmony_ci	  It is an ongoing process to be certain the hardware in a machine
30558c2ecf20Sopenharmony_ci	  is properly shutdown, so do not be surprised if this code does not
30568c2ecf20Sopenharmony_ci	  initially work for you.  As of this writing the exact hardware
30578c2ecf20Sopenharmony_ci	  interface is strongly in flux, so no good recommendation can be
30588c2ecf20Sopenharmony_ci	  made.
30598c2ecf20Sopenharmony_ci
30608c2ecf20Sopenharmony_ciconfig CRASH_DUMP
30618c2ecf20Sopenharmony_ci	bool "Kernel crash dumps"
30628c2ecf20Sopenharmony_ci	help
30638c2ecf20Sopenharmony_ci	  Generate crash dump after being started by kexec.
30648c2ecf20Sopenharmony_ci	  This should be normally only set in special crash dump kernels
30658c2ecf20Sopenharmony_ci	  which are loaded in the main kernel with kexec-tools into
30668c2ecf20Sopenharmony_ci	  a specially reserved region and then later executed after
30678c2ecf20Sopenharmony_ci	  a crash by kdump/kexec. The crash dump kernel must be compiled
30688c2ecf20Sopenharmony_ci	  to a memory address not used by the main kernel or firmware using
30698c2ecf20Sopenharmony_ci	  PHYSICAL_START.
30708c2ecf20Sopenharmony_ci
30718c2ecf20Sopenharmony_ciconfig PHYSICAL_START
30728c2ecf20Sopenharmony_ci	hex "Physical address where the kernel is loaded"
30738c2ecf20Sopenharmony_ci	default "0xffffffff84000000"
30748c2ecf20Sopenharmony_ci	depends on CRASH_DUMP
30758c2ecf20Sopenharmony_ci	help
30768c2ecf20Sopenharmony_ci	  This gives the CKSEG0 or KSEG0 address where the kernel is loaded.
30778c2ecf20Sopenharmony_ci	  If you plan to use kernel for capturing the crash dump change
30788c2ecf20Sopenharmony_ci	  this value to start of the reserved region (the "X" value as
30798c2ecf20Sopenharmony_ci	  specified in the "crashkernel=YM@XM" command line boot parameter
30808c2ecf20Sopenharmony_ci	  passed to the panic-ed kernel).
30818c2ecf20Sopenharmony_ci
30828c2ecf20Sopenharmony_ciconfig MIPS_O32_FP64_SUPPORT
30838c2ecf20Sopenharmony_ci	bool "Support for O32 binaries using 64-bit FP" if !CPU_MIPSR6
30848c2ecf20Sopenharmony_ci	depends on 32BIT || MIPS32_O32
30858c2ecf20Sopenharmony_ci	help
30868c2ecf20Sopenharmony_ci	  When this is enabled, the kernel will support use of 64-bit floating
30878c2ecf20Sopenharmony_ci	  point registers with binaries using the O32 ABI along with the
30888c2ecf20Sopenharmony_ci	  EF_MIPS_FP64 ELF header flag (typically built with -mfp64). On
30898c2ecf20Sopenharmony_ci	  32-bit MIPS systems this support is at the cost of increasing the
30908c2ecf20Sopenharmony_ci	  size and complexity of the compiled FPU emulator. Thus if you are
30918c2ecf20Sopenharmony_ci	  running a MIPS32 system and know that none of your userland binaries
30928c2ecf20Sopenharmony_ci	  will require 64-bit floating point, you may wish to reduce the size
30938c2ecf20Sopenharmony_ci	  of your kernel & potentially improve FP emulation performance by
30948c2ecf20Sopenharmony_ci	  saying N here.
30958c2ecf20Sopenharmony_ci
30968c2ecf20Sopenharmony_ci	  Although binutils currently supports use of this flag the details
30978c2ecf20Sopenharmony_ci	  concerning its effect upon the O32 ABI in userland are still being
30988c2ecf20Sopenharmony_ci	  worked on. In order to avoid userland becoming dependant upon current
30998c2ecf20Sopenharmony_ci	  behaviour before the details have been finalised, this option should
31008c2ecf20Sopenharmony_ci	  be considered experimental and only enabled by those working upon
31018c2ecf20Sopenharmony_ci	  said details.
31028c2ecf20Sopenharmony_ci
31038c2ecf20Sopenharmony_ci	  If unsure, say N.
31048c2ecf20Sopenharmony_ci
31058c2ecf20Sopenharmony_ciconfig USE_OF
31068c2ecf20Sopenharmony_ci	bool
31078c2ecf20Sopenharmony_ci	select OF
31088c2ecf20Sopenharmony_ci	select OF_EARLY_FLATTREE
31098c2ecf20Sopenharmony_ci	select IRQ_DOMAIN
31108c2ecf20Sopenharmony_ci
31118c2ecf20Sopenharmony_ciconfig UHI_BOOT
31128c2ecf20Sopenharmony_ci	bool
31138c2ecf20Sopenharmony_ci
31148c2ecf20Sopenharmony_ciconfig BUILTIN_DTB
31158c2ecf20Sopenharmony_ci	bool
31168c2ecf20Sopenharmony_ci
31178c2ecf20Sopenharmony_cichoice
31188c2ecf20Sopenharmony_ci	prompt "Kernel appended dtb support" if USE_OF
31198c2ecf20Sopenharmony_ci	default MIPS_NO_APPENDED_DTB
31208c2ecf20Sopenharmony_ci
31218c2ecf20Sopenharmony_ci	config MIPS_NO_APPENDED_DTB
31228c2ecf20Sopenharmony_ci		bool "None"
31238c2ecf20Sopenharmony_ci		help
31248c2ecf20Sopenharmony_ci		  Do not enable appended dtb support.
31258c2ecf20Sopenharmony_ci
31268c2ecf20Sopenharmony_ci	config MIPS_ELF_APPENDED_DTB
31278c2ecf20Sopenharmony_ci		bool "vmlinux"
31288c2ecf20Sopenharmony_ci		help
31298c2ecf20Sopenharmony_ci		  With this option, the boot code will look for a device tree binary
31308c2ecf20Sopenharmony_ci		  DTB) included in the vmlinux ELF section .appended_dtb. By default
31318c2ecf20Sopenharmony_ci		  it is empty and the DTB can be appended using binutils command
31328c2ecf20Sopenharmony_ci		  objcopy:
31338c2ecf20Sopenharmony_ci
31348c2ecf20Sopenharmony_ci		    objcopy --update-section .appended_dtb=<filename>.dtb vmlinux
31358c2ecf20Sopenharmony_ci
31368c2ecf20Sopenharmony_ci		  This is meant as a backward compatiblity convenience for those
31378c2ecf20Sopenharmony_ci		  systems with a bootloader that can't be upgraded to accommodate
31388c2ecf20Sopenharmony_ci		  the documented boot protocol using a device tree.
31398c2ecf20Sopenharmony_ci
31408c2ecf20Sopenharmony_ci	config MIPS_RAW_APPENDED_DTB
31418c2ecf20Sopenharmony_ci		bool "vmlinux.bin or vmlinuz.bin"
31428c2ecf20Sopenharmony_ci		help
31438c2ecf20Sopenharmony_ci		  With this option, the boot code will look for a device tree binary
31448c2ecf20Sopenharmony_ci		  DTB) appended to raw vmlinux.bin or vmlinuz.bin.
31458c2ecf20Sopenharmony_ci		  (e.g. cat vmlinux.bin <filename>.dtb > vmlinux_w_dtb).
31468c2ecf20Sopenharmony_ci
31478c2ecf20Sopenharmony_ci		  This is meant as a backward compatibility convenience for those
31488c2ecf20Sopenharmony_ci		  systems with a bootloader that can't be upgraded to accommodate
31498c2ecf20Sopenharmony_ci		  the documented boot protocol using a device tree.
31508c2ecf20Sopenharmony_ci
31518c2ecf20Sopenharmony_ci		  Beware that there is very little in terms of protection against
31528c2ecf20Sopenharmony_ci		  this option being confused by leftover garbage in memory that might
31538c2ecf20Sopenharmony_ci		  look like a DTB header after a reboot if no actual DTB is appended
31548c2ecf20Sopenharmony_ci		  to vmlinux.bin.  Do not leave this option active in a production kernel
31558c2ecf20Sopenharmony_ci		  if you don't intend to always append a DTB.
31568c2ecf20Sopenharmony_ciendchoice
31578c2ecf20Sopenharmony_ci
31588c2ecf20Sopenharmony_cichoice
31598c2ecf20Sopenharmony_ci	prompt "Kernel command line type" if !CMDLINE_OVERRIDE
31608c2ecf20Sopenharmony_ci	default MIPS_CMDLINE_FROM_DTB if USE_OF && !ATH79 && !MACH_INGENIC && \
31618c2ecf20Sopenharmony_ci					 !MACH_LOONGSON64 && !MIPS_MALTA && \
31628c2ecf20Sopenharmony_ci					 !CAVIUM_OCTEON_SOC
31638c2ecf20Sopenharmony_ci	default MIPS_CMDLINE_FROM_BOOTLOADER
31648c2ecf20Sopenharmony_ci
31658c2ecf20Sopenharmony_ci	config MIPS_CMDLINE_FROM_DTB
31668c2ecf20Sopenharmony_ci		depends on USE_OF
31678c2ecf20Sopenharmony_ci		bool "Dtb kernel arguments if available"
31688c2ecf20Sopenharmony_ci
31698c2ecf20Sopenharmony_ci	config MIPS_CMDLINE_DTB_EXTEND
31708c2ecf20Sopenharmony_ci		depends on USE_OF
31718c2ecf20Sopenharmony_ci		bool "Extend dtb kernel arguments with bootloader arguments"
31728c2ecf20Sopenharmony_ci
31738c2ecf20Sopenharmony_ci	config MIPS_CMDLINE_FROM_BOOTLOADER
31748c2ecf20Sopenharmony_ci		bool "Bootloader kernel arguments if available"
31758c2ecf20Sopenharmony_ci
31768c2ecf20Sopenharmony_ci	config MIPS_CMDLINE_BUILTIN_EXTEND
31778c2ecf20Sopenharmony_ci		depends on CMDLINE_BOOL
31788c2ecf20Sopenharmony_ci		bool "Extend builtin kernel arguments with bootloader arguments"
31798c2ecf20Sopenharmony_ciendchoice
31808c2ecf20Sopenharmony_ci
31818c2ecf20Sopenharmony_ciendmenu
31828c2ecf20Sopenharmony_ci
31838c2ecf20Sopenharmony_ciconfig LOCKDEP_SUPPORT
31848c2ecf20Sopenharmony_ci	bool
31858c2ecf20Sopenharmony_ci	default y
31868c2ecf20Sopenharmony_ci
31878c2ecf20Sopenharmony_ciconfig STACKTRACE_SUPPORT
31888c2ecf20Sopenharmony_ci	bool
31898c2ecf20Sopenharmony_ci	default y
31908c2ecf20Sopenharmony_ci
31918c2ecf20Sopenharmony_ciconfig PGTABLE_LEVELS
31928c2ecf20Sopenharmony_ci	int
31938c2ecf20Sopenharmony_ci	default 4 if PAGE_SIZE_4KB && MIPS_VA_BITS_48
31948c2ecf20Sopenharmony_ci	default 3 if 64BIT && (!PAGE_SIZE_64KB || MIPS_VA_BITS_48)
31958c2ecf20Sopenharmony_ci	default 2
31968c2ecf20Sopenharmony_ci
31978c2ecf20Sopenharmony_ciconfig MIPS_AUTO_PFN_OFFSET
31988c2ecf20Sopenharmony_ci	bool
31998c2ecf20Sopenharmony_ci
32008c2ecf20Sopenharmony_cimenu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
32018c2ecf20Sopenharmony_ci
32028c2ecf20Sopenharmony_ciconfig PCI_DRIVERS_GENERIC
32038c2ecf20Sopenharmony_ci	select PCI_DOMAINS_GENERIC if PCI
32048c2ecf20Sopenharmony_ci	bool
32058c2ecf20Sopenharmony_ci
32068c2ecf20Sopenharmony_ciconfig PCI_DRIVERS_LEGACY
32078c2ecf20Sopenharmony_ci	def_bool !PCI_DRIVERS_GENERIC
32088c2ecf20Sopenharmony_ci	select NO_GENERIC_PCI_IOPORT_MAP
32098c2ecf20Sopenharmony_ci	select PCI_DOMAINS if PCI
32108c2ecf20Sopenharmony_ci
32118c2ecf20Sopenharmony_ci#
32128c2ecf20Sopenharmony_ci# ISA support is now enabled via select.  Too many systems still have the one
32138c2ecf20Sopenharmony_ci# or other ISA chip on the board that users don't know about so don't expect
32148c2ecf20Sopenharmony_ci# users to choose the right thing ...
32158c2ecf20Sopenharmony_ci#
32168c2ecf20Sopenharmony_ciconfig ISA
32178c2ecf20Sopenharmony_ci	bool
32188c2ecf20Sopenharmony_ci
32198c2ecf20Sopenharmony_ciconfig TC
32208c2ecf20Sopenharmony_ci	bool "TURBOchannel support"
32218c2ecf20Sopenharmony_ci	depends on MACH_DECSTATION
32228c2ecf20Sopenharmony_ci	help
32238c2ecf20Sopenharmony_ci	  TURBOchannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
32248c2ecf20Sopenharmony_ci	  processors.  TURBOchannel programming specifications are available
32258c2ecf20Sopenharmony_ci	  at:
32268c2ecf20Sopenharmony_ci	  <ftp://ftp.hp.com/pub/alphaserver/archive/triadd/>
32278c2ecf20Sopenharmony_ci	  and:
32288c2ecf20Sopenharmony_ci	  <http://www.computer-refuge.org/classiccmp/ftp.digital.com/pub/DEC/TriAdd/>
32298c2ecf20Sopenharmony_ci	  Linux driver support status is documented at:
32308c2ecf20Sopenharmony_ci	  <http://www.linux-mips.org/wiki/DECstation>
32318c2ecf20Sopenharmony_ci
32328c2ecf20Sopenharmony_ciconfig MMU
32338c2ecf20Sopenharmony_ci	bool
32348c2ecf20Sopenharmony_ci	default y
32358c2ecf20Sopenharmony_ci
32368c2ecf20Sopenharmony_ciconfig ARCH_MMAP_RND_BITS_MIN
32378c2ecf20Sopenharmony_ci	default 12 if 64BIT
32388c2ecf20Sopenharmony_ci	default 8
32398c2ecf20Sopenharmony_ci
32408c2ecf20Sopenharmony_ciconfig ARCH_MMAP_RND_BITS_MAX
32418c2ecf20Sopenharmony_ci	default 18 if 64BIT
32428c2ecf20Sopenharmony_ci	default 15
32438c2ecf20Sopenharmony_ci
32448c2ecf20Sopenharmony_ciconfig ARCH_MMAP_RND_COMPAT_BITS_MIN
32458c2ecf20Sopenharmony_ci	default 8
32468c2ecf20Sopenharmony_ci
32478c2ecf20Sopenharmony_ciconfig ARCH_MMAP_RND_COMPAT_BITS_MAX
32488c2ecf20Sopenharmony_ci	default 15
32498c2ecf20Sopenharmony_ci
32508c2ecf20Sopenharmony_ciconfig I8253
32518c2ecf20Sopenharmony_ci	bool
32528c2ecf20Sopenharmony_ci	select CLKSRC_I8253
32538c2ecf20Sopenharmony_ci	select CLKEVT_I8253
32548c2ecf20Sopenharmony_ci	select MIPS_EXTERNAL_TIMER
32558c2ecf20Sopenharmony_ci
32568c2ecf20Sopenharmony_ciconfig ZONE_DMA
32578c2ecf20Sopenharmony_ci	bool
32588c2ecf20Sopenharmony_ci
32598c2ecf20Sopenharmony_ciconfig ZONE_DMA32
32608c2ecf20Sopenharmony_ci	bool
32618c2ecf20Sopenharmony_ci
32628c2ecf20Sopenharmony_ciendmenu
32638c2ecf20Sopenharmony_ci
32648c2ecf20Sopenharmony_ciconfig TRAD_SIGNALS
32658c2ecf20Sopenharmony_ci	bool
32668c2ecf20Sopenharmony_ci
32678c2ecf20Sopenharmony_ciconfig MIPS32_COMPAT
32688c2ecf20Sopenharmony_ci	bool
32698c2ecf20Sopenharmony_ci
32708c2ecf20Sopenharmony_ciconfig COMPAT
32718c2ecf20Sopenharmony_ci	bool
32728c2ecf20Sopenharmony_ci
32738c2ecf20Sopenharmony_ciconfig SYSVIPC_COMPAT
32748c2ecf20Sopenharmony_ci	bool
32758c2ecf20Sopenharmony_ci
32768c2ecf20Sopenharmony_ciconfig MIPS32_O32
32778c2ecf20Sopenharmony_ci	bool "Kernel support for o32 binaries"
32788c2ecf20Sopenharmony_ci	depends on 64BIT
32798c2ecf20Sopenharmony_ci	select ARCH_WANT_OLD_COMPAT_IPC
32808c2ecf20Sopenharmony_ci	select COMPAT
32818c2ecf20Sopenharmony_ci	select MIPS32_COMPAT
32828c2ecf20Sopenharmony_ci	select SYSVIPC_COMPAT if SYSVIPC
32838c2ecf20Sopenharmony_ci	help
32848c2ecf20Sopenharmony_ci	  Select this option if you want to run o32 binaries.  These are pure
32858c2ecf20Sopenharmony_ci	  32-bit binaries as used by the 32-bit Linux/MIPS port.  Most of
32868c2ecf20Sopenharmony_ci	  existing binaries are in this format.
32878c2ecf20Sopenharmony_ci
32888c2ecf20Sopenharmony_ci	  If unsure, say Y.
32898c2ecf20Sopenharmony_ci
32908c2ecf20Sopenharmony_ciconfig MIPS32_N32
32918c2ecf20Sopenharmony_ci	bool "Kernel support for n32 binaries"
32928c2ecf20Sopenharmony_ci	depends on 64BIT
32938c2ecf20Sopenharmony_ci	select ARCH_WANT_COMPAT_IPC_PARSE_VERSION
32948c2ecf20Sopenharmony_ci	select COMPAT
32958c2ecf20Sopenharmony_ci	select MIPS32_COMPAT
32968c2ecf20Sopenharmony_ci	select SYSVIPC_COMPAT if SYSVIPC
32978c2ecf20Sopenharmony_ci	help
32988c2ecf20Sopenharmony_ci	  Select this option if you want to run n32 binaries.  These are
32998c2ecf20Sopenharmony_ci	  64-bit binaries using 32-bit quantities for addressing and certain
33008c2ecf20Sopenharmony_ci	  data that would normally be 64-bit.  They are used in special
33018c2ecf20Sopenharmony_ci	  cases.
33028c2ecf20Sopenharmony_ci
33038c2ecf20Sopenharmony_ci	  If unsure, say N.
33048c2ecf20Sopenharmony_ci
33058c2ecf20Sopenharmony_ciconfig BINFMT_ELF32
33068c2ecf20Sopenharmony_ci	bool
33078c2ecf20Sopenharmony_ci	default y if MIPS32_O32 || MIPS32_N32
33088c2ecf20Sopenharmony_ci	select ELFCORE
33098c2ecf20Sopenharmony_ci
33108c2ecf20Sopenharmony_cimenu "Power management options"
33118c2ecf20Sopenharmony_ci
33128c2ecf20Sopenharmony_ciconfig ARCH_HIBERNATION_POSSIBLE
33138c2ecf20Sopenharmony_ci	def_bool y
33148c2ecf20Sopenharmony_ci	depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
33158c2ecf20Sopenharmony_ci
33168c2ecf20Sopenharmony_ciconfig ARCH_SUSPEND_POSSIBLE
33178c2ecf20Sopenharmony_ci	def_bool y
33188c2ecf20Sopenharmony_ci	depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
33198c2ecf20Sopenharmony_ci
33208c2ecf20Sopenharmony_cisource "kernel/power/Kconfig"
33218c2ecf20Sopenharmony_ci
33228c2ecf20Sopenharmony_ciendmenu
33238c2ecf20Sopenharmony_ci
33248c2ecf20Sopenharmony_ciconfig MIPS_EXTERNAL_TIMER
33258c2ecf20Sopenharmony_ci	bool
33268c2ecf20Sopenharmony_ci
33278c2ecf20Sopenharmony_cimenu "CPU Power Management"
33288c2ecf20Sopenharmony_ci
33298c2ecf20Sopenharmony_ciif CPU_SUPPORTS_CPUFREQ && MIPS_EXTERNAL_TIMER
33308c2ecf20Sopenharmony_cisource "drivers/cpufreq/Kconfig"
33318c2ecf20Sopenharmony_ciendif
33328c2ecf20Sopenharmony_ci
33338c2ecf20Sopenharmony_cisource "drivers/cpuidle/Kconfig"
33348c2ecf20Sopenharmony_ci
33358c2ecf20Sopenharmony_ciendmenu
33368c2ecf20Sopenharmony_ci
33378c2ecf20Sopenharmony_cisource "drivers/firmware/Kconfig"
33388c2ecf20Sopenharmony_ci
33398c2ecf20Sopenharmony_cisource "arch/mips/kvm/Kconfig"
33408c2ecf20Sopenharmony_ci
33418c2ecf20Sopenharmony_cisource "arch/mips/vdso/Kconfig"
3342