1b2441318SGreg Kroah-Hartman# SPDX-License-Identifier: GPL-2.0 21da177e4SLinus Torvaldsconfig MIPS 31da177e4SLinus Torvalds bool 41da177e4SLinus Torvalds default y 5942fa985SYury Norov select ARCH_32BIT_OFF_T if !64BIT 6ea6a3737SPaul Burton select ARCH_BINFMT_ELF_STATE if MIPS_FP_SUPPORT 77f066a22SThomas Gleixner select ARCH_HAS_CPU_FINALIZE_INIT 8b847bd64SKees Cook select ARCH_HAS_CURRENT_STACK_POINTER if !CC_IS_CLANG || CLANG_VERSION >= 140000 9dfad83cbSFlorian Fainelli select ARCH_HAS_DEBUG_VIRTUAL if !64BIT 1034c01e41SAlexander Lobakin select ARCH_HAS_FORTIFY_SOURCE 1134c01e41SAlexander Lobakin select ARCH_HAS_KCOV 1266633abdSTiezhu Yang select ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE if !EVA 1334c01e41SAlexander Lobakin select ARCH_HAS_PTE_SPECIAL if !(32BIT && CPU_HAS_RIXI) 14e6226997SArnd Bergmann select ARCH_HAS_STRNCPY_FROM_USER 15e6226997SArnd Bergmann select ARCH_HAS_STRNLEN_USER 1612597988SMatt Redfearn select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST 17*918327e9SKees Cook select ARCH_HAS_UBSAN 188b3165e5SXingxing Su select ARCH_HAS_GCOV_PROFILE_ALL 19c55944ccSNick Desaulniers select ARCH_KEEP_MEMBLOCK 201ee3630aSRalf Baechle select ARCH_USE_BUILTIN_BSWAP 2112597988SMatt Redfearn select ARCH_USE_CMPXCHG_LOCKREF if 64BIT 22dce44566SAnshuman Khandual select ARCH_USE_MEMTEST 2325da4e9dSPaul Burton select ARCH_USE_QUEUED_RWLOCKS 240b17c967SPaul Burton select ARCH_USE_QUEUED_SPINLOCKS 25855f9a8eSAnshuman Khandual select ARCH_SUPPORTS_HUGETLBFS if CPU_SUPPORTS_HUGEPAGES 269035bd29SAlexandre Ghiti select ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT if MMU 2712597988SMatt Redfearn select ARCH_WANT_IPC_PARSE_VERSION 28d3a4e0f1SAlexander Lobakin select ARCH_WANT_LD_ORPHAN_WARN 2910916706SShile Zhang select BUILDTIME_TABLE_SORT 3012597988SMatt Redfearn select CLONE_BACKWARDS 3157eeacedSPaul Burton select CPU_NO_EFFICIENT_FFS if (TARGET_ISA_REV < 1) 3212597988SMatt Redfearn select CPU_PM if CPU_IDLE 3312597988SMatt Redfearn select GENERIC_ATOMIC64 if !64BIT 3412597988SMatt Redfearn select GENERIC_CMOS_UPDATE 3512597988SMatt Redfearn select GENERIC_CPU_AUTOPROBE 3624640f23SVincenzo Frascino select GENERIC_GETTIMEOFDAY 37b962aeb0SPaul Burton select GENERIC_IOMAP 3812597988SMatt Redfearn select GENERIC_IRQ_PROBE 3912597988SMatt Redfearn select GENERIC_IRQ_SHOW 406630a8e5SChristoph Hellwig select GENERIC_ISA_DMA if EISA 41740129b3SAntony Pavlov select GENERIC_LIB_ASHLDI3 42740129b3SAntony Pavlov select GENERIC_LIB_ASHRDI3 43740129b3SAntony Pavlov select GENERIC_LIB_CMPDI2 44740129b3SAntony Pavlov select GENERIC_LIB_LSHRDI3 45740129b3SAntony Pavlov select GENERIC_LIB_UCMPDI2 4612597988SMatt Redfearn select GENERIC_SCHED_CLOCK if !CAVIUM_OCTEON_SOC 4712597988SMatt Redfearn select GENERIC_SMP_IDLE_THREAD 48975fd3c2SJiaxun Yang select GENERIC_IDLE_POLL_SETUP 4912597988SMatt Redfearn select GENERIC_TIME_VSYSCALL 506ca297d4SPeter Zijlstra select GUP_GET_PXX_LOW_HIGH if CPU_MIPS32 && PHYS_ADDR_T_64BIT 51fcbfe812SNiklas Schnelle select HAS_IOPORT if !NO_IOPORT_MAP || ISA 52906d441fSPaul Burton select HAVE_ARCH_COMPILER_H 5312597988SMatt Redfearn select HAVE_ARCH_JUMP_LABEL 5442b20995SArnd Bergmann select HAVE_ARCH_KGDB if MIPS_FP_SUPPORT 55109c32ffSMatt Redfearn select HAVE_ARCH_MMAP_RND_BITS if MMU 56109c32ffSMatt Redfearn select HAVE_ARCH_MMAP_RND_COMPAT_BITS if MMU && COMPAT 57490b004fSMarkos Chandras select HAVE_ARCH_SECCOMP_FILTER 58c0ff3c53SRalf Baechle select HAVE_ARCH_TRACEHOOK 5945e03e62SDaniel Silsby select HAVE_ARCH_TRANSPARENT_HUGEPAGE if CPU_SUPPORTS_HUGEPAGES 602ff2b7ecSMasahiro Yamada select HAVE_ASM_MODVERSIONS 6124a9c541SFrederic Weisbecker select HAVE_CONTEXT_TRACKING_USER 62490f561bSFrederic Weisbecker select HAVE_TIF_NOHZ 6364575f91SWu Zhangjin select HAVE_C_RECORDMCOUNT 6412597988SMatt Redfearn select HAVE_DEBUG_KMEMLEAK 6512597988SMatt Redfearn select HAVE_DEBUG_STACKOVERFLOW 6612597988SMatt Redfearn select HAVE_DMA_CONTIGUOUS 6712597988SMatt Redfearn select HAVE_DYNAMIC_FTRACE 687364d60cSJiaxun Yang select HAVE_EBPF_JIT if !CPU_MICROMIPS 6912597988SMatt Redfearn select HAVE_EXIT_THREAD 7067a929e0SChristoph Hellwig select HAVE_FAST_GUP 7112597988SMatt Redfearn select HAVE_FTRACE_MCOUNT_RECORD 7229c5d346SWu Zhangjin select HAVE_FUNCTION_GRAPH_TRACER 7312597988SMatt Redfearn select HAVE_FUNCTION_TRACER 7434c01e41SAlexander Lobakin select HAVE_GCC_PLUGINS 7534c01e41SAlexander Lobakin select HAVE_GENERIC_VDSO 76b3a428b4SHassan Naveed select HAVE_IOREMAP_PROT 7712597988SMatt Redfearn select HAVE_IRQ_EXIT_ON_IRQ_STACK 7812597988SMatt Redfearn select HAVE_IRQ_TIME_ACCOUNTING 79c1bf207dSDavid Daney select HAVE_KPROBES 80c1bf207dSDavid Daney select HAVE_KRETPROBES 81c0436b50SPaul Burton select HAVE_LD_DEAD_CODE_DATA_ELIMINATION 82786d35d4SDavid Howells select HAVE_MOD_ARCH_SPECIFIC 8342a0bb3fSPetr Mladek select HAVE_NMI 8412597988SMatt Redfearn select HAVE_PERF_EVENTS 851ddc96bdSTiezhu Yang select HAVE_PERF_REGS 861ddc96bdSTiezhu Yang select HAVE_PERF_USER_STACK_DUMP 8708bccf43SMarcin Nowakowski select HAVE_REGS_AND_STACK_ACCESS_API 889ea141adSPaul Burton select HAVE_RSEQ 8916c0f03fSHassan Naveed select HAVE_SPARSE_SYSCALL_NR 90d148eac0SMasahiro Yamada select HAVE_STACKPROTECTOR 9112597988SMatt Redfearn select HAVE_SYSCALL_TRACEPOINTS 92a3f14310SBen Hutchings select HAVE_VIRT_CPU_ACCOUNTING_GEN if 64BIT || !SMP 9312597988SMatt Redfearn select IRQ_FORCED_THREADING 946630a8e5SChristoph Hellwig select ISA if EISA 954bce37a6SBen Hutchings select LOCK_MM_AND_FIND_VMA 9612597988SMatt Redfearn select MODULES_USE_ELF_REL if MODULES 9734c01e41SAlexander Lobakin select MODULES_USE_ELF_RELA if MODULES && 64BIT 9812597988SMatt Redfearn select PERF_USE_VMALLOC 99981aa1d3SThomas Gleixner select PCI_MSI_ARCH_FALLBACKS if PCI_MSI 10005a0a344SArnd Bergmann select RTC_LIB 10112597988SMatt Redfearn select SYSCTL_EXCEPTION_TRACE 1024aae683fSMasahiro Yamada select TRACE_IRQFLAGS_SUPPORT 1030bb87f05SAl Viro select ARCH_HAS_ELFCORE_COMPAT 104e0a8b93eSNemanja Rakovic select HAVE_ARCH_KCSAN if 64BIT 1051da177e4SLinus Torvalds 106d3991572SChristoph Hellwigconfig MIPS_FIXUP_BIGPHYS_ADDR 107d3991572SChristoph Hellwig bool 108d3991572SChristoph Hellwig 109c434b9f8SPaul Cercueilconfig MIPS_GENERIC 110c434b9f8SPaul Cercueil bool 111c434b9f8SPaul Cercueil 112f0f4a753SPaul Cercueilconfig MACH_INGENIC 113f0f4a753SPaul Cercueil bool 114f0f4a753SPaul Cercueil select SYS_SUPPORTS_32BIT_KERNEL 115f0f4a753SPaul Cercueil select SYS_SUPPORTS_LITTLE_ENDIAN 116f0f4a753SPaul Cercueil select SYS_SUPPORTS_ZBOOT 117f0f4a753SPaul Cercueil select DMA_NONCOHERENT 118f0f4a753SPaul Cercueil select IRQ_MIPS_CPU 119f0f4a753SPaul Cercueil select PINCTRL 120f0f4a753SPaul Cercueil select GPIOLIB 121f0f4a753SPaul Cercueil select COMMON_CLK 122f0f4a753SPaul Cercueil select GENERIC_IRQ_CHIP 123f0f4a753SPaul Cercueil select BUILTIN_DTB if MIPS_NO_APPENDED_DTB 124f0f4a753SPaul Cercueil select USE_OF 125f0f4a753SPaul Cercueil select CPU_SUPPORTS_CPUFREQ 126f0f4a753SPaul Cercueil select MIPS_EXTERNAL_TIMER 127f0f4a753SPaul Cercueil 1281da177e4SLinus Torvaldsmenu "Machine selection" 1291da177e4SLinus Torvalds 1305e83d430SRalf Baechlechoice 1315e83d430SRalf Baechle prompt "System type" 132c434b9f8SPaul Cercueil default MIPS_GENERIC_KERNEL 1331da177e4SLinus Torvalds 134c434b9f8SPaul Cercueilconfig MIPS_GENERIC_KERNEL 135eed0eabdSPaul Burton bool "Generic board-agnostic MIPS kernel" 136c434b9f8SPaul Cercueil select MIPS_GENERIC 137eed0eabdSPaul Burton select BOOT_RAW 138eed0eabdSPaul Burton select BUILTIN_DTB 139eed0eabdSPaul Burton select CEVT_R4K 140eed0eabdSPaul Burton select CLKSRC_MIPS_GIC 141eed0eabdSPaul Burton select COMMON_CLK 142eed0eabdSPaul Burton select CPU_MIPSR2_IRQ_EI 14334c01e41SAlexander Lobakin select CPU_MIPSR2_IRQ_VI 144eed0eabdSPaul Burton select CSRC_R4K 1454e066441SChristoph Hellwig select DMA_NONCOHERENT 146eb01d42aSChristoph Hellwig select HAVE_PCI 147eed0eabdSPaul Burton select IRQ_MIPS_CPU 1480211d49eSPaul Burton select MIPS_AUTO_PFN_OFFSET 149eed0eabdSPaul Burton select MIPS_CPU_SCACHE 150eed0eabdSPaul Burton select MIPS_GIC 151eed0eabdSPaul Burton select MIPS_L1_CACHE_SHIFT_7 152eed0eabdSPaul Burton select NO_EXCEPT_FILL 153eed0eabdSPaul Burton select PCI_DRIVERS_GENERIC 154eed0eabdSPaul Burton select SMP_UP if SMP 155a3078e59SMatt Redfearn select SWAP_IO_SPACE 156eed0eabdSPaul Burton select SYS_HAS_CPU_MIPS32_R1 157eed0eabdSPaul Burton select SYS_HAS_CPU_MIPS32_R2 158fb6700c5SJiaxun Yang select SYS_HAS_CPU_MIPS32_R5 159eed0eabdSPaul Burton select SYS_HAS_CPU_MIPS32_R6 160eed0eabdSPaul Burton select SYS_HAS_CPU_MIPS64_R1 161eed0eabdSPaul Burton select SYS_HAS_CPU_MIPS64_R2 162fb6700c5SJiaxun Yang select SYS_HAS_CPU_MIPS64_R5 163eed0eabdSPaul Burton select SYS_HAS_CPU_MIPS64_R6 164eed0eabdSPaul Burton select SYS_SUPPORTS_32BIT_KERNEL 165eed0eabdSPaul Burton select SYS_SUPPORTS_64BIT_KERNEL 166eed0eabdSPaul Burton select SYS_SUPPORTS_BIG_ENDIAN 167eed0eabdSPaul Burton select SYS_SUPPORTS_HIGHMEM 168eed0eabdSPaul Burton select SYS_SUPPORTS_LITTLE_ENDIAN 169eed0eabdSPaul Burton select SYS_SUPPORTS_MICROMIPS 170eed0eabdSPaul Burton select SYS_SUPPORTS_MIPS16 17134c01e41SAlexander Lobakin select SYS_SUPPORTS_MIPS_CPS 172eed0eabdSPaul Burton select SYS_SUPPORTS_MULTITHREADING 173eed0eabdSPaul Burton select SYS_SUPPORTS_RELOCATABLE 174eed0eabdSPaul Burton select SYS_SUPPORTS_SMARTMIPS 175c3e2ee65SPaul Cercueil select SYS_SUPPORTS_ZBOOT 17634c01e41SAlexander Lobakin select UHI_BOOT 1772e6522c5SCorentin Labbe select USB_EHCI_BIG_ENDIAN_DESC if CPU_BIG_ENDIAN 1782e6522c5SCorentin Labbe select USB_EHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN 1792e6522c5SCorentin Labbe select USB_OHCI_BIG_ENDIAN_DESC if CPU_BIG_ENDIAN 1802e6522c5SCorentin Labbe select USB_OHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN 1812e6522c5SCorentin Labbe select USB_UHCI_BIG_ENDIAN_DESC if CPU_BIG_ENDIAN 1822e6522c5SCorentin Labbe select USB_UHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN 183eed0eabdSPaul Burton select USE_OF 184eed0eabdSPaul Burton help 185eed0eabdSPaul Burton Select this to build a kernel which aims to support multiple boards, 186eed0eabdSPaul Burton generally using a flattened device tree passed from the bootloader 187eed0eabdSPaul Burton using the boot protocol defined in the UHI (Unified Hosting 188eed0eabdSPaul Burton Interface) specification. 189eed0eabdSPaul Burton 19042a4f17dSManuel Laussconfig MIPS_ALCHEMY 191c3543e25SYoichi Yuasa bool "Alchemy processor based machines" 192d4a451d5SChristoph Hellwig select PHYS_ADDR_T_64BIT 193f772cdb2SRalf Baechle select CEVT_R4K 194d7ea335cSSteven J. Hill select CSRC_R4K 19567e38cf2SRalf Baechle select IRQ_MIPS_CPU 196a86497d6SChristoph Hellwig select DMA_NONCOHERENT # Au1000,1500,1100 aren't, rest is 197d3991572SChristoph Hellwig select MIPS_FIXUP_BIGPHYS_ADDR if PCI 19842a4f17dSManuel Lauss select SYS_HAS_CPU_MIPS32_R1 19942a4f17dSManuel Lauss select SYS_SUPPORTS_32BIT_KERNEL 20042a4f17dSManuel Lauss select SYS_SUPPORTS_APM_EMULATION 201d30a2b47SLinus Walleij select GPIOLIB 2021b93b3c3SWu Zhangjin select SYS_SUPPORTS_ZBOOT 20347440229SManuel Lauss select COMMON_CLK 2041da177e4SLinus Torvalds 20543cc739fSSergey Ryazanovconfig ATH25 20643cc739fSSergey Ryazanov bool "Atheros AR231x/AR531x SoC support" 20743cc739fSSergey Ryazanov select CEVT_R4K 20843cc739fSSergey Ryazanov select CSRC_R4K 20943cc739fSSergey Ryazanov select DMA_NONCOHERENT 21067e38cf2SRalf Baechle select IRQ_MIPS_CPU 2111753e74eSSergey Ryazanov select IRQ_DOMAIN 21243cc739fSSergey Ryazanov select SYS_HAS_CPU_MIPS32_R1 21343cc739fSSergey Ryazanov select SYS_SUPPORTS_BIG_ENDIAN 21443cc739fSSergey Ryazanov select SYS_SUPPORTS_32BIT_KERNEL 2158aaa7278SSergey Ryazanov select SYS_HAS_EARLY_PRINTK 21643cc739fSSergey Ryazanov help 21743cc739fSSergey Ryazanov Support for Atheros AR231x and Atheros AR531x based boards 21843cc739fSSergey Ryazanov 219d4a67d9dSGabor Juhosconfig ATH79 220d4a67d9dSGabor Juhos bool "Atheros AR71XX/AR724X/AR913X based boards" 221ff591a91SAlban Bedel select ARCH_HAS_RESET_CONTROLLER 222d4a67d9dSGabor Juhos select BOOT_RAW 223d4a67d9dSGabor Juhos select CEVT_R4K 224d4a67d9dSGabor Juhos select CSRC_R4K 225d4a67d9dSGabor Juhos select DMA_NONCOHERENT 226d30a2b47SLinus Walleij select GPIOLIB 227a08227a2SJohn Crispin select PINCTRL 228411520afSAlban Bedel select COMMON_CLK 22967e38cf2SRalf Baechle select IRQ_MIPS_CPU 230d4a67d9dSGabor Juhos select SYS_HAS_CPU_MIPS32_R2 231d4a67d9dSGabor Juhos select SYS_HAS_EARLY_PRINTK 232d4a67d9dSGabor Juhos select SYS_SUPPORTS_32BIT_KERNEL 233d4a67d9dSGabor Juhos select SYS_SUPPORTS_BIG_ENDIAN 234377cb1b6SRalf Baechle select SYS_SUPPORTS_MIPS16 235b3f0a250SAlban Bedel select SYS_SUPPORTS_ZBOOT_UART_PROM 23603c8c407SAlban Bedel select USE_OF 23753d473fcSAlban Bedel select USB_EHCI_ROOT_HUB_TT if USB_EHCI_HCD_PLATFORM 238d4a67d9dSGabor Juhos help 239d4a67d9dSGabor Juhos Support for the Atheros AR71XX/AR724X/AR913X SoCs. 240d4a67d9dSGabor Juhos 2415f2d4459SKevin Cernekeeconfig BMIPS_GENERIC 2425f2d4459SKevin Cernekee bool "Broadcom Generic BMIPS kernel" 24329906e1aSÁlvaro Fernández Rojas select ARCH_HAS_RESET_CONTROLLER 244d59098a0SChristoph Hellwig select ARCH_HAS_SYNC_DMA_FOR_CPU_ALL 245d666cd02SKevin Cernekee select BOOT_RAW 246d666cd02SKevin Cernekee select NO_EXCEPT_FILL 247d666cd02SKevin Cernekee select USE_OF 248d666cd02SKevin Cernekee select CEVT_R4K 249d666cd02SKevin Cernekee select CSRC_R4K 250d666cd02SKevin Cernekee select SYNC_R4K 251d666cd02SKevin Cernekee select COMMON_CLK 252c7c42ec2SSimon Arlott select BCM6345_L1_IRQ 25360b858f2SKevin Cernekee select BCM7038_L1_IRQ 25460b858f2SKevin Cernekee select BCM7120_L2_IRQ 25560b858f2SKevin Cernekee select BRCMSTB_L2_IRQ 25667e38cf2SRalf Baechle select IRQ_MIPS_CPU 25760b858f2SKevin Cernekee select DMA_NONCOHERENT 258d666cd02SKevin Cernekee select SYS_SUPPORTS_32BIT_KERNEL 25960b858f2SKevin Cernekee select SYS_SUPPORTS_LITTLE_ENDIAN 260d666cd02SKevin Cernekee select SYS_SUPPORTS_BIG_ENDIAN 261d666cd02SKevin Cernekee select SYS_SUPPORTS_HIGHMEM 26260b858f2SKevin Cernekee select SYS_HAS_CPU_BMIPS32_3300 26360b858f2SKevin Cernekee select SYS_HAS_CPU_BMIPS4350 26460b858f2SKevin Cernekee select SYS_HAS_CPU_BMIPS4380 265d666cd02SKevin Cernekee select SYS_HAS_CPU_BMIPS5000 266d666cd02SKevin Cernekee select SWAP_IO_SPACE 26760b858f2SKevin Cernekee select USB_EHCI_BIG_ENDIAN_DESC if CPU_BIG_ENDIAN 26860b858f2SKevin Cernekee select USB_EHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN 26960b858f2SKevin Cernekee select USB_OHCI_BIG_ENDIAN_DESC if CPU_BIG_ENDIAN 27060b858f2SKevin Cernekee select USB_OHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN 2714dc4704cSJustin Chen select HARDIRQS_SW_RESEND 2721d987052SFlorian Fainelli select HAVE_PCI 2731d987052SFlorian Fainelli select PCI_DRIVERS_GENERIC 274466ab2eaSFlorian Fainelli select FW_CFE 275d666cd02SKevin Cernekee help 2765f2d4459SKevin Cernekee Build a generic DT-based kernel image that boots on select 2775f2d4459SKevin Cernekee BCM33xx cable modem chips, BCM63xx DSL chips, and BCM7xxx set-top 2785f2d4459SKevin Cernekee box chips. Note that CONFIG_CPU_BIG_ENDIAN/CONFIG_CPU_LITTLE_ENDIAN 2795f2d4459SKevin Cernekee must be set appropriately for your board. 280d666cd02SKevin Cernekee 2811c0c13ebSAurelien Jarnoconfig BCM47XX 282c619366eSFlorian Fainelli bool "Broadcom BCM47XX based boards" 283fe08f8c2SHauke Mehrtens select BOOT_RAW 28442f77542SRalf Baechle select CEVT_R4K 285940f6b48SRalf Baechle select CSRC_R4K 2861c0c13ebSAurelien Jarno select DMA_NONCOHERENT 287eb01d42aSChristoph Hellwig select HAVE_PCI 28867e38cf2SRalf Baechle select IRQ_MIPS_CPU 289314878d2SMarkos Chandras select SYS_HAS_CPU_MIPS32_R1 290dd54deddSHauke Mehrtens select NO_EXCEPT_FILL 2911c0c13ebSAurelien Jarno select SYS_SUPPORTS_32BIT_KERNEL 2921c0c13ebSAurelien Jarno select SYS_SUPPORTS_LITTLE_ENDIAN 293377cb1b6SRalf Baechle select SYS_SUPPORTS_MIPS16 2946507831fSAaro Koskinen select SYS_SUPPORTS_ZBOOT 29525e5fb97SAurelien Jarno select SYS_HAS_EARLY_PRINTK 296e6086557SRalf Baechle select USE_GENERIC_EARLY_PRINTK_8250 297c949c0bcSRafał Miłecki select GPIOLIB 298c949c0bcSRafał Miłecki select LEDS_GPIO_REGISTER 299f6e734a8SRafał Miłecki select BCM47XX_NVRAM 3002ab71a02SRafał Miłecki select BCM47XX_SPROM 301dfe00495SMatt Redfearn select BCM47XX_SSB if !BCM47XX_BCMA 3021c0c13ebSAurelien Jarno help 3031c0c13ebSAurelien Jarno Support for BCM47XX based boards 3041c0c13ebSAurelien Jarno 305e7300d04SMaxime Bizonconfig BCM63XX 306e7300d04SMaxime Bizon bool "Broadcom BCM63XX based boards" 307ae8de61cSFlorian Fainelli select BOOT_RAW 308e7300d04SMaxime Bizon select CEVT_R4K 309e7300d04SMaxime Bizon select CSRC_R4K 310fc264022SJonas Gorski select SYNC_R4K 311e7300d04SMaxime Bizon select DMA_NONCOHERENT 31267e38cf2SRalf Baechle select IRQ_MIPS_CPU 313e7300d04SMaxime Bizon select SYS_SUPPORTS_32BIT_KERNEL 314e7300d04SMaxime Bizon select SYS_SUPPORTS_BIG_ENDIAN 315e7300d04SMaxime Bizon select SYS_HAS_EARLY_PRINTK 3165eeaafc8SRandy Dunlap select SYS_HAS_CPU_BMIPS32_3300 3175eeaafc8SRandy Dunlap select SYS_HAS_CPU_BMIPS4350 3185eeaafc8SRandy Dunlap select SYS_HAS_CPU_BMIPS4380 319e7300d04SMaxime Bizon select SWAP_IO_SPACE 320d30a2b47SLinus Walleij select GPIOLIB 321af2418beSFlorian Fainelli select MIPS_L1_CACHE_SHIFT_4 322bbd7ffdbSStephen Boyd select HAVE_LEGACY_CLK 323e7300d04SMaxime Bizon help 324e7300d04SMaxime Bizon Support for BCM63XX based boards 325e7300d04SMaxime Bizon 3261da177e4SLinus Torvaldsconfig MIPS_COBALT 3273fa986faSMartin Michlmayr bool "Cobalt Server" 32842f77542SRalf Baechle select CEVT_R4K 329940f6b48SRalf Baechle select CSRC_R4K 3301097c6acSYoichi Yuasa select CEVT_GT641XX 3311da177e4SLinus Torvalds select DMA_NONCOHERENT 332eb01d42aSChristoph Hellwig select FORCE_PCI 333d865bea4SRalf Baechle select I8253 3341da177e4SLinus Torvalds select I8259 33567e38cf2SRalf Baechle select IRQ_MIPS_CPU 336d5ab1a69SYoichi Yuasa select IRQ_GT641XX 337252161ecSYoichi Yuasa select PCI_GT64XXX_PCI0 3387cf8053bSRalf Baechle select SYS_HAS_CPU_NEVADA 3390a22e0d4SYoichi Yuasa select SYS_HAS_EARLY_PRINTK 340ed5ba2fbSYoichi Yuasa select SYS_SUPPORTS_32BIT_KERNEL 3410e8774b6SFlorian Fainelli select SYS_SUPPORTS_64BIT_KERNEL 3425e83d430SRalf Baechle select SYS_SUPPORTS_LITTLE_ENDIAN 343e6086557SRalf Baechle select USE_GENERIC_EARLY_PRINTK_8250 3441da177e4SLinus Torvalds 3451da177e4SLinus Torvaldsconfig MACH_DECSTATION 3463fa986faSMartin Michlmayr bool "DECstations" 3471da177e4SLinus Torvalds select BOOT_ELF32 3486457d9fcSYoichi Yuasa select CEVT_DS1287 34981d10badSMaciej W. Rozycki select CEVT_R4K if CPU_R4X00 3504247417dSYoichi Yuasa select CSRC_IOASIC 35181d10badSMaciej W. Rozycki select CSRC_R4K if CPU_R4X00 35220d60d99SMaciej W. Rozycki select CPU_DADDI_WORKAROUNDS if 64BIT 35320d60d99SMaciej W. Rozycki select CPU_R4000_WORKAROUNDS if 64BIT 35420d60d99SMaciej W. Rozycki select CPU_R4400_WORKAROUNDS if 64BIT 3551da177e4SLinus Torvalds select DMA_NONCOHERENT 356ce816fa8SUwe Kleine-König select NO_IOPORT_MAP 35767e38cf2SRalf Baechle select IRQ_MIPS_CPU 3587cf8053bSRalf Baechle select SYS_HAS_CPU_R3000 3597cf8053bSRalf Baechle select SYS_HAS_CPU_R4X00 360ed5ba2fbSYoichi Yuasa select SYS_SUPPORTS_32BIT_KERNEL 3617d60717eSKees Cook select SYS_SUPPORTS_64BIT_KERNEL 3625e83d430SRalf Baechle select SYS_SUPPORTS_LITTLE_ENDIAN 3631723b4a3SAtsushi Nemoto select SYS_SUPPORTS_128HZ 3641723b4a3SAtsushi Nemoto select SYS_SUPPORTS_256HZ 3651723b4a3SAtsushi Nemoto select SYS_SUPPORTS_1024HZ 366930beb5aSFlorian Fainelli select MIPS_L1_CACHE_SHIFT_4 3675e83d430SRalf Baechle help 3681da177e4SLinus Torvalds This enables support for DEC's MIPS based workstations. For details 3691da177e4SLinus Torvalds see the Linux/MIPS FAQ on <http://www.linux-mips.org/> and the 3701da177e4SLinus Torvalds DECstation porting pages on <http://decstation.unix-ag.org/>. 3711da177e4SLinus Torvalds 3721da177e4SLinus Torvalds If you have one of the following DECstation Models you definitely 3731da177e4SLinus Torvalds want to choose R4xx0 for the CPU Type: 3741da177e4SLinus Torvalds 3751da177e4SLinus Torvalds DECstation 5000/50 3761da177e4SLinus Torvalds DECstation 5000/150 3771da177e4SLinus Torvalds DECstation 5000/260 3781da177e4SLinus Torvalds DECsystem 5900/260 3791da177e4SLinus Torvalds 3801da177e4SLinus Torvalds otherwise choose R3000. 3811da177e4SLinus Torvalds 3825e83d430SRalf Baechleconfig MACH_JAZZ 3833fa986faSMartin Michlmayr bool "Jazz family of machines" 38439b2d756SThomas Bogendoerfer select ARC_MEMORY 38539b2d756SThomas Bogendoerfer select ARC_PROMLIB 386a211a082SRalf Baechle select ARCH_MIGHT_HAVE_PC_PARPORT 3877a407aa5SRalf Baechle select ARCH_MIGHT_HAVE_PC_SERIO 3882f9237d4SChristoph Hellwig select DMA_OPS 3890e2794b0SRalf Baechle select FW_ARC 3900e2794b0SRalf Baechle select FW_ARC32 3915e83d430SRalf Baechle select ARCH_MAY_HAVE_PC_FDC 39242f77542SRalf Baechle select CEVT_R4K 393940f6b48SRalf Baechle select CSRC_R4K 394e2defae5SThomas Bogendoerfer select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN 3955e83d430SRalf Baechle select GENERIC_ISA_DMA 3968a118c38SRalf Baechle select HAVE_PCSPKR_PLATFORM 39767e38cf2SRalf Baechle select IRQ_MIPS_CPU 398d865bea4SRalf Baechle select I8253 3995e83d430SRalf Baechle select I8259 4005e83d430SRalf Baechle select ISA 4017cf8053bSRalf Baechle select SYS_HAS_CPU_R4X00 4025e83d430SRalf Baechle select SYS_SUPPORTS_32BIT_KERNEL 4037d60717eSKees Cook select SYS_SUPPORTS_64BIT_KERNEL 4041723b4a3SAtsushi Nemoto select SYS_SUPPORTS_100HZ 405aadfe4b5SArnd Bergmann select SYS_SUPPORTS_LITTLE_ENDIAN 4061da177e4SLinus Torvalds help 4075e83d430SRalf Baechle This a family of machines based on the MIPS R4030 chipset which was 4085e83d430SRalf Baechle used by several vendors to build RISC/os and Windows NT workstations. 409692105b8SMatt LaPlante Members include the Acer PICA, MIPS Magnum 4000, MIPS Millennium and 4105e83d430SRalf Baechle Olivetti M700-10 workstations. 4115e83d430SRalf Baechle 412f0f4a753SPaul Cercueilconfig MACH_INGENIC_SOC 413de361e8bSPaul Burton bool "Ingenic SoC based machines" 414f0f4a753SPaul Cercueil select MIPS_GENERIC 415f0f4a753SPaul Cercueil select MACH_INGENIC 416f9c9affcSLluís Batlle i Rossell select SYS_SUPPORTS_ZBOOT_UART16550 417eb384937SPaul Cercueil select CPU_SUPPORTS_CPUFREQ 418eb384937SPaul Cercueil select MIPS_EXTERNAL_TIMER 4195ebabe59SLars-Peter Clausen 420171bb2f1SJohn Crispinconfig LANTIQ 421171bb2f1SJohn Crispin bool "Lantiq based platforms" 422171bb2f1SJohn Crispin select DMA_NONCOHERENT 42367e38cf2SRalf Baechle select IRQ_MIPS_CPU 424171bb2f1SJohn Crispin select CEVT_R4K 425171bb2f1SJohn Crispin select CSRC_R4K 426b74cc639SSander Vanheule select NO_EXCEPT_FILL 427171bb2f1SJohn Crispin select SYS_HAS_CPU_MIPS32_R1 428171bb2f1SJohn Crispin select SYS_HAS_CPU_MIPS32_R2 429171bb2f1SJohn Crispin select SYS_SUPPORTS_BIG_ENDIAN 430171bb2f1SJohn Crispin select SYS_SUPPORTS_32BIT_KERNEL 431377cb1b6SRalf Baechle select SYS_SUPPORTS_MIPS16 432171bb2f1SJohn Crispin select SYS_SUPPORTS_MULTITHREADING 433f35764e7SJames Hogan select SYS_SUPPORTS_VPE_LOADER 434171bb2f1SJohn Crispin select SYS_HAS_EARLY_PRINTK 435d30a2b47SLinus Walleij select GPIOLIB 436171bb2f1SJohn Crispin select SWAP_IO_SPACE 437171bb2f1SJohn Crispin select BOOT_RAW 438bbd7ffdbSStephen Boyd select HAVE_LEGACY_CLK 439a0392222SJohn Crispin select USE_OF 4403f8c50c9SJohn Crispin select PINCTRL 4413f8c50c9SJohn Crispin select PINCTRL_LANTIQ 442c530781cSJohn Crispin select ARCH_HAS_RESET_CONTROLLER 443c530781cSJohn Crispin select RESET_CONTROLLER 444171bb2f1SJohn Crispin 44530ad29bbSHuacai Chenconfig MACH_LOONGSON32 446caed1d1bSHuacai Chen bool "Loongson 32-bit family of machines" 447c7e8c668SWu Zhangjin select SYS_SUPPORTS_ZBOOT 448ade299d8SYoichi Yuasa help 44930ad29bbSHuacai Chen This enables support for the Loongson-1 family of machines. 45085749d24SWu Zhangjin 45130ad29bbSHuacai Chen Loongson-1 is a family of 32-bit MIPS-compatible SoCs developed by 45230ad29bbSHuacai Chen the Institute of Computing Technology (ICT), Chinese Academy of 45330ad29bbSHuacai Chen Sciences (CAS). 454ade299d8SYoichi Yuasa 45571e2f4ddSJiaxun Yangconfig MACH_LOONGSON2EF 45671e2f4ddSJiaxun Yang bool "Loongson-2E/F family of machines" 457ca585cf9SKelvin Cheung select SYS_SUPPORTS_ZBOOT 458ca585cf9SKelvin Cheung help 45971e2f4ddSJiaxun Yang This enables the support of early Loongson-2E/F family of machines. 460ca585cf9SKelvin Cheung 46171e2f4ddSJiaxun Yangconfig MACH_LOONGSON64 462caed1d1bSHuacai Chen bool "Loongson 64-bit family of machines" 463edc0378eSJiaxun Yang select ARCH_DMA_DEFAULT_COHERENT 4646fbde6b4SJiaxun Yang select ARCH_SPARSEMEM_ENABLE 4656fbde6b4SJiaxun Yang select ARCH_MIGHT_HAVE_PC_PARPORT 4666fbde6b4SJiaxun Yang select ARCH_MIGHT_HAVE_PC_SERIO 4676fbde6b4SJiaxun Yang select GENERIC_ISA_DMA_SUPPORT_BROKEN 4686fbde6b4SJiaxun Yang select BOOT_ELF32 4696fbde6b4SJiaxun Yang select BOARD_SCACHE 4706fbde6b4SJiaxun Yang select CSRC_R4K 4716fbde6b4SJiaxun Yang select CEVT_R4K 4726fbde6b4SJiaxun Yang select FORCE_PCI 4736fbde6b4SJiaxun Yang select ISA 4746fbde6b4SJiaxun Yang select I8259 4756fbde6b4SJiaxun Yang select IRQ_MIPS_CPU 4767d6d2837SJiaxun Yang select NO_EXCEPT_FILL 4775125bfeeSTiezhu Yang select NR_CPUS_DEFAULT_64 4786fbde6b4SJiaxun Yang select USE_GENERIC_EARLY_PRINTK_8250 4796423e59aSJiaxun Yang select PCI_DRIVERS_GENERIC 4806fbde6b4SJiaxun Yang select SYS_HAS_CPU_LOONGSON64 4816fbde6b4SJiaxun Yang select SYS_HAS_EARLY_PRINTK 4826fbde6b4SJiaxun Yang select SYS_SUPPORTS_SMP 4836fbde6b4SJiaxun Yang select SYS_SUPPORTS_HOTPLUG_CPU 4846fbde6b4SJiaxun Yang select SYS_SUPPORTS_NUMA 4856fbde6b4SJiaxun Yang select SYS_SUPPORTS_64BIT_KERNEL 4866fbde6b4SJiaxun Yang select SYS_SUPPORTS_HIGHMEM 4876fbde6b4SJiaxun Yang select SYS_SUPPORTS_LITTLE_ENDIAN 48871e2f4ddSJiaxun Yang select SYS_SUPPORTS_ZBOOT 489a307a4ceSJinyang He select SYS_SUPPORTS_RELOCATABLE 4906fbde6b4SJiaxun Yang select ZONE_DMA32 49187fcfa7bSJiaxun Yang select COMMON_CLK 49287fcfa7bSJiaxun Yang select USE_OF 49387fcfa7bSJiaxun Yang select BUILTIN_DTB 49439c1485cSHuacai Chen select PCI_HOST_GENERIC 495f8f9f21cSFeiyang Chen select HAVE_ARCH_NODEDATA_EXTENSION if NUMA 49671e2f4ddSJiaxun Yang help 497caed1d1bSHuacai Chen This enables the support of Loongson-2/3 family of machines. 498caed1d1bSHuacai Chen 499caed1d1bSHuacai Chen Loongson-2 and Loongson-3 are 64-bit general-purpose processors with 500caed1d1bSHuacai Chen GS264/GS464/GS464E/GS464V microarchitecture (except old Loongson-2E 501caed1d1bSHuacai Chen and Loongson-2F which will be removed), developed by the Institute 502caed1d1bSHuacai Chen of Computing Technology (ICT), Chinese Academy of Sciences (CAS). 503ca585cf9SKelvin Cheung 5041da177e4SLinus Torvaldsconfig MIPS_MALTA 5053fa986faSMartin Michlmayr bool "MIPS Malta board" 50661ed242dSRalf Baechle select ARCH_MAY_HAVE_PC_FDC 507a211a082SRalf Baechle select ARCH_MIGHT_HAVE_PC_PARPORT 5087a407aa5SRalf Baechle select ARCH_MIGHT_HAVE_PC_SERIO 5091da177e4SLinus Torvalds select BOOT_ELF32 510fa71c960SRalf Baechle select BOOT_RAW 511e8823d26SPaul Burton select BUILTIN_DTB 51242f77542SRalf Baechle select CEVT_R4K 513fa5635a2SAndrew Bresticker select CLKSRC_MIPS_GIC 51442b002abSGuenter Roeck select COMMON_CLK 51547bf2b03SMaksym Kokhan select CSRC_R4K 516a86497d6SChristoph Hellwig select DMA_NONCOHERENT 5171da177e4SLinus Torvalds select GENERIC_ISA_DMA 5188a118c38SRalf Baechle select HAVE_PCSPKR_PLATFORM 519eb01d42aSChristoph Hellwig select HAVE_PCI 520d865bea4SRalf Baechle select I8253 5211da177e4SLinus Torvalds select I8259 52247bf2b03SMaksym Kokhan select IRQ_MIPS_CPU 5235e83d430SRalf Baechle select MIPS_BONITO64 5249318c51aSChris Dearman select MIPS_CPU_SCACHE 52547bf2b03SMaksym Kokhan select MIPS_GIC 526a7ef1eadSKevin Cernekee select MIPS_L1_CACHE_SHIFT_6 5275e83d430SRalf Baechle select MIPS_MSC 52847bf2b03SMaksym Kokhan select PCI_GT64XXX_PCI0 529ecafe3e9SPaul Burton select SMP_UP if SMP 5301da177e4SLinus Torvalds select SWAP_IO_SPACE 5317cf8053bSRalf Baechle select SYS_HAS_CPU_MIPS32_R1 5327cf8053bSRalf Baechle select SYS_HAS_CPU_MIPS32_R2 533bfc3c5a6SMarkos Chandras select SYS_HAS_CPU_MIPS32_R3_5 534c5b36783SSteven J. Hill select SYS_HAS_CPU_MIPS32_R5 535575509b6SMarkos Chandras select SYS_HAS_CPU_MIPS32_R6 5367cf8053bSRalf Baechle select SYS_HAS_CPU_MIPS64_R1 5375d9fbed1SLeonid Yegoshin select SYS_HAS_CPU_MIPS64_R2 538575509b6SMarkos Chandras select SYS_HAS_CPU_MIPS64_R6 5397cf8053bSRalf Baechle select SYS_HAS_CPU_NEVADA 5407cf8053bSRalf Baechle select SYS_HAS_CPU_RM7000 541ed5ba2fbSYoichi Yuasa select SYS_SUPPORTS_32BIT_KERNEL 542ed5ba2fbSYoichi Yuasa select SYS_SUPPORTS_64BIT_KERNEL 5435e83d430SRalf Baechle select SYS_SUPPORTS_BIG_ENDIAN 544c5b36783SSteven J. Hill select SYS_SUPPORTS_HIGHMEM 5455e83d430SRalf Baechle select SYS_SUPPORTS_LITTLE_ENDIAN 546424ebcdfSMaciej W. Rozycki select SYS_SUPPORTS_MICROMIPS 54747bf2b03SMaksym Kokhan select SYS_SUPPORTS_MIPS16 548e56b6aa6SPaul Burton select SYS_SUPPORTS_MIPS_CPS 549f41ae0b2SRalf Baechle select SYS_SUPPORTS_MULTITHREADING 55047bf2b03SMaksym Kokhan select SYS_SUPPORTS_RELOCATABLE 5519693a853SFranck Bui-Huu select SYS_SUPPORTS_SMARTMIPS 552f35764e7SJames Hogan select SYS_SUPPORTS_VPE_LOADER 5531b93b3c3SWu Zhangjin select SYS_SUPPORTS_ZBOOT 554e8823d26SPaul Burton select USE_OF 555886ee136SThomas Bogendoerfer select WAR_ICACHE_REFILLS 556abcc82b1SJames Hogan select ZONE_DMA32 if 64BIT 5571da177e4SLinus Torvalds help 558f638d197SMaciej W. Rozycki This enables support for the MIPS Technologies Malta evaluation 5591da177e4SLinus Torvalds board. 5601da177e4SLinus Torvalds 5612572f00dSJoshua Hendersonconfig MACH_PIC32 5622572f00dSJoshua Henderson bool "Microchip PIC32 Family" 5632572f00dSJoshua Henderson help 5642572f00dSJoshua Henderson This enables support for the Microchip PIC32 family of platforms. 5652572f00dSJoshua Henderson 5662572f00dSJoshua Henderson Microchip PIC32 is a family of general-purpose 32 bit MIPS core 5672572f00dSJoshua Henderson microcontrollers. 5682572f00dSJoshua Henderson 569baec970aSLauri Kasanenconfig MACH_NINTENDO64 570baec970aSLauri Kasanen bool "Nintendo 64 console" 571baec970aSLauri Kasanen select CEVT_R4K 572baec970aSLauri Kasanen select CSRC_R4K 573baec970aSLauri Kasanen select SYS_HAS_CPU_R4300 574baec970aSLauri Kasanen select SYS_SUPPORTS_BIG_ENDIAN 575baec970aSLauri Kasanen select SYS_SUPPORTS_ZBOOT 576baec970aSLauri Kasanen select SYS_SUPPORTS_32BIT_KERNEL 577baec970aSLauri Kasanen select SYS_SUPPORTS_64BIT_KERNEL 578baec970aSLauri Kasanen select DMA_NONCOHERENT 579baec970aSLauri Kasanen select IRQ_MIPS_CPU 580baec970aSLauri Kasanen 581ae2b5bb6SJohn Crispinconfig RALINK 582ae2b5bb6SJohn Crispin bool "Ralink based machines" 583ae2b5bb6SJohn Crispin select CEVT_R4K 58435f752beSArnd Bergmann select COMMON_CLK 585ae2b5bb6SJohn Crispin select CSRC_R4K 586ae2b5bb6SJohn Crispin select BOOT_RAW 587ae2b5bb6SJohn Crispin select DMA_NONCOHERENT 58867e38cf2SRalf Baechle select IRQ_MIPS_CPU 589ae2b5bb6SJohn Crispin select USE_OF 590ae2b5bb6SJohn Crispin select SYS_HAS_CPU_MIPS32_R2 591ae2b5bb6SJohn Crispin select SYS_SUPPORTS_32BIT_KERNEL 592ae2b5bb6SJohn Crispin select SYS_SUPPORTS_LITTLE_ENDIAN 593377cb1b6SRalf Baechle select SYS_SUPPORTS_MIPS16 5941f0400d0SChuanhong Guo select SYS_SUPPORTS_ZBOOT 595ae2b5bb6SJohn Crispin select SYS_HAS_EARLY_PRINTK 5962a153f1cSJohn Crispin select ARCH_HAS_RESET_CONTROLLER 5972a153f1cSJohn Crispin select RESET_CONTROLLER 598ae2b5bb6SJohn Crispin 5994042147aSBert Vermeulenconfig MACH_REALTEK_RTL 6004042147aSBert Vermeulen bool "Realtek RTL838x/RTL839x based machines" 6014042147aSBert Vermeulen select MIPS_GENERIC 6024042147aSBert Vermeulen select DMA_NONCOHERENT 6034042147aSBert Vermeulen select IRQ_MIPS_CPU 6044042147aSBert Vermeulen select CSRC_R4K 6054042147aSBert Vermeulen select CEVT_R4K 6064042147aSBert Vermeulen select SYS_HAS_CPU_MIPS32_R1 6074042147aSBert Vermeulen select SYS_HAS_CPU_MIPS32_R2 6084042147aSBert Vermeulen select SYS_SUPPORTS_BIG_ENDIAN 6094042147aSBert Vermeulen select SYS_SUPPORTS_32BIT_KERNEL 6104042147aSBert Vermeulen select SYS_SUPPORTS_MIPS16 6114042147aSBert Vermeulen select SYS_SUPPORTS_MULTITHREADING 6124042147aSBert Vermeulen select SYS_SUPPORTS_VPE_LOADER 6134042147aSBert Vermeulen select BOOT_RAW 6144042147aSBert Vermeulen select PINCTRL 6154042147aSBert Vermeulen select USE_OF 6164042147aSBert Vermeulen 6171da177e4SLinus Torvaldsconfig SGI_IP22 6183fa986faSMartin Michlmayr bool "SGI IP22 (Indy/Indigo2)" 619c0de00b2SThomas Bogendoerfer select ARC_MEMORY 62039b2d756SThomas Bogendoerfer select ARC_PROMLIB 6210e2794b0SRalf Baechle select FW_ARC 6220e2794b0SRalf Baechle select FW_ARC32 6237a407aa5SRalf Baechle select ARCH_MIGHT_HAVE_PC_SERIO 6241da177e4SLinus Torvalds select BOOT_ELF32 62542f77542SRalf Baechle select CEVT_R4K 626940f6b48SRalf Baechle select CSRC_R4K 627e2defae5SThomas Bogendoerfer select DEFAULT_SGI_PARTITION 6281da177e4SLinus Torvalds select DMA_NONCOHERENT 6296630a8e5SChristoph Hellwig select HAVE_EISA 630d865bea4SRalf Baechle select I8253 63168de4803SThomas Bogendoerfer select I8259 6321da177e4SLinus Torvalds select IP22_CPU_SCACHE 63367e38cf2SRalf Baechle select IRQ_MIPS_CPU 634aa414dffSRalf Baechle select GENERIC_ISA_DMA_SUPPORT_BROKEN 635e2defae5SThomas Bogendoerfer select SGI_HAS_I8042 636e2defae5SThomas Bogendoerfer select SGI_HAS_INDYDOG 63736e5c21dSThomas Bogendoerfer select SGI_HAS_HAL2 638e2defae5SThomas Bogendoerfer select SGI_HAS_SEEQ 639e2defae5SThomas Bogendoerfer select SGI_HAS_WD93 640e2defae5SThomas Bogendoerfer select SGI_HAS_ZILOG 6411da177e4SLinus Torvalds select SWAP_IO_SPACE 6427cf8053bSRalf Baechle select SYS_HAS_CPU_R4X00 6437cf8053bSRalf Baechle select SYS_HAS_CPU_R5000 644c0de00b2SThomas Bogendoerfer select SYS_HAS_EARLY_PRINTK 645ed5ba2fbSYoichi Yuasa select SYS_SUPPORTS_32BIT_KERNEL 646ed5ba2fbSYoichi Yuasa select SYS_SUPPORTS_64BIT_KERNEL 6475e83d430SRalf Baechle select SYS_SUPPORTS_BIG_ENDIAN 648802b8362SThomas Bogendoerfer select WAR_R4600_V1_INDEX_ICACHEOP 6495e5b6527SThomas Bogendoerfer select WAR_R4600_V1_HIT_CACHEOP 65044def342SThomas Bogendoerfer select WAR_R4600_V2_HIT_CACHEOP 651930beb5aSFlorian Fainelli select MIPS_L1_CACHE_SHIFT_7 6521da177e4SLinus Torvalds help 6531da177e4SLinus Torvalds This are the SGI Indy, Challenge S and Indigo2, as well as certain 6541da177e4SLinus Torvalds OEM variants like the Tandem CMN B006S. To compile a Linux kernel 6551da177e4SLinus Torvalds that runs on these, say Y here. 6561da177e4SLinus Torvalds 6571da177e4SLinus Torvaldsconfig SGI_IP27 6583fa986faSMartin Michlmayr bool "SGI IP27 (Origin200/2000)" 65954aed4ddSChristoph Hellwig select ARCH_HAS_PHYS_TO_DMA 660397dc00eSMike Rapoport select ARCH_SPARSEMEM_ENABLE 6610e2794b0SRalf Baechle select FW_ARC 6620e2794b0SRalf Baechle select FW_ARC64 663e9422427SThomas Bogendoerfer select ARC_CMDLINE_ONLY 6645e83d430SRalf Baechle select BOOT_ELF64 665e2defae5SThomas Bogendoerfer select DEFAULT_SGI_PARTITION 66604100459SChristoph Hellwig select FORCE_PCI 66736a88530SRalf Baechle select SYS_HAS_EARLY_PRINTK 668eb01d42aSChristoph Hellwig select HAVE_PCI 66969a07a41SThomas Bogendoerfer select IRQ_MIPS_CPU 670e6308b6dSThomas Bogendoerfer select IRQ_DOMAIN_HIERARCHY 671130e2fb7SRalf Baechle select NR_CPUS_DEFAULT_64 672a57140e9SThomas Bogendoerfer select PCI_DRIVERS_GENERIC 673a57140e9SThomas Bogendoerfer select PCI_XTALK_BRIDGE 6747cf8053bSRalf Baechle select SYS_HAS_CPU_R10000 675ed5ba2fbSYoichi Yuasa select SYS_SUPPORTS_64BIT_KERNEL 6765e83d430SRalf Baechle select SYS_SUPPORTS_BIG_ENDIAN 677d8cb4e11SRalf Baechle select SYS_SUPPORTS_NUMA 6781a5c5de1SRalf Baechle select SYS_SUPPORTS_SMP 679256ec489SThomas Bogendoerfer select WAR_R10000_LLSC 680930beb5aSFlorian Fainelli select MIPS_L1_CACHE_SHIFT_7 6816c86a302SMike Rapoport select NUMA 682f8f9f21cSFeiyang Chen select HAVE_ARCH_NODEDATA_EXTENSION 6831da177e4SLinus Torvalds help 6841da177e4SLinus Torvalds This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics 6851da177e4SLinus Torvalds workstations. To compile a Linux kernel that runs on these, say Y 6861da177e4SLinus Torvalds here. 6871da177e4SLinus Torvalds 688e2defae5SThomas Bogendoerferconfig SGI_IP28 6897d60717eSKees Cook bool "SGI IP28 (Indigo2 R10k)" 690c0de00b2SThomas Bogendoerfer select ARC_MEMORY 69139b2d756SThomas Bogendoerfer select ARC_PROMLIB 6920e2794b0SRalf Baechle select FW_ARC 6930e2794b0SRalf Baechle select FW_ARC64 6947a407aa5SRalf Baechle select ARCH_MIGHT_HAVE_PC_SERIO 695e2defae5SThomas Bogendoerfer select BOOT_ELF64 696e2defae5SThomas Bogendoerfer select CEVT_R4K 697e2defae5SThomas Bogendoerfer select CSRC_R4K 698e2defae5SThomas Bogendoerfer select DEFAULT_SGI_PARTITION 699e2defae5SThomas Bogendoerfer select DMA_NONCOHERENT 700e2defae5SThomas Bogendoerfer select GENERIC_ISA_DMA_SUPPORT_BROKEN 70167e38cf2SRalf Baechle select IRQ_MIPS_CPU 7026630a8e5SChristoph Hellwig select HAVE_EISA 703e2defae5SThomas Bogendoerfer select I8253 704e2defae5SThomas Bogendoerfer select I8259 705e2defae5SThomas Bogendoerfer select SGI_HAS_I8042 706e2defae5SThomas Bogendoerfer select SGI_HAS_INDYDOG 7075b438c44SThomas Bogendoerfer select SGI_HAS_HAL2 708e2defae5SThomas Bogendoerfer select SGI_HAS_SEEQ 709e2defae5SThomas Bogendoerfer select SGI_HAS_WD93 710e2defae5SThomas Bogendoerfer select SGI_HAS_ZILOG 711e2defae5SThomas Bogendoerfer select SWAP_IO_SPACE 712e2defae5SThomas Bogendoerfer select SYS_HAS_CPU_R10000 713c0de00b2SThomas Bogendoerfer select SYS_HAS_EARLY_PRINTK 714e2defae5SThomas Bogendoerfer select SYS_SUPPORTS_64BIT_KERNEL 715e2defae5SThomas Bogendoerfer select SYS_SUPPORTS_BIG_ENDIAN 716256ec489SThomas Bogendoerfer select WAR_R10000_LLSC 717dc24d68dSThomas Bogendoerfer select MIPS_L1_CACHE_SHIFT_7 718e2defae5SThomas Bogendoerfer help 719e2defae5SThomas Bogendoerfer This is the SGI Indigo2 with R10000 processor. To compile a Linux 720e2defae5SThomas Bogendoerfer kernel that runs on these, say Y here. 721e2defae5SThomas Bogendoerfer 7227505576dSThomas Bogendoerferconfig SGI_IP30 7237505576dSThomas Bogendoerfer bool "SGI IP30 (Octane/Octane2)" 7247505576dSThomas Bogendoerfer select ARCH_HAS_PHYS_TO_DMA 7257505576dSThomas Bogendoerfer select FW_ARC 7267505576dSThomas Bogendoerfer select FW_ARC64 7277505576dSThomas Bogendoerfer select BOOT_ELF64 7287505576dSThomas Bogendoerfer select CEVT_R4K 7297505576dSThomas Bogendoerfer select CSRC_R4K 73004100459SChristoph Hellwig select FORCE_PCI 7317505576dSThomas Bogendoerfer select SYNC_R4K if SMP 7327505576dSThomas Bogendoerfer select ZONE_DMA32 7337505576dSThomas Bogendoerfer select HAVE_PCI 7347505576dSThomas Bogendoerfer select IRQ_MIPS_CPU 7357505576dSThomas Bogendoerfer select IRQ_DOMAIN_HIERARCHY 7367505576dSThomas Bogendoerfer select PCI_DRIVERS_GENERIC 7377505576dSThomas Bogendoerfer select PCI_XTALK_BRIDGE 7387505576dSThomas Bogendoerfer select SYS_HAS_EARLY_PRINTK 7397505576dSThomas Bogendoerfer select SYS_HAS_CPU_R10000 7407505576dSThomas Bogendoerfer select SYS_SUPPORTS_64BIT_KERNEL 7417505576dSThomas Bogendoerfer select SYS_SUPPORTS_BIG_ENDIAN 7427505576dSThomas Bogendoerfer select SYS_SUPPORTS_SMP 743256ec489SThomas Bogendoerfer select WAR_R10000_LLSC 7447505576dSThomas Bogendoerfer select MIPS_L1_CACHE_SHIFT_7 7457505576dSThomas Bogendoerfer select ARC_MEMORY 7467505576dSThomas Bogendoerfer help 7477505576dSThomas Bogendoerfer These are the SGI Octane and Octane2 graphics workstations. To 7487505576dSThomas Bogendoerfer compile a Linux kernel that runs on these, say Y here. 7497505576dSThomas Bogendoerfer 7501da177e4SLinus Torvaldsconfig SGI_IP32 751cfd2afc0SRalf Baechle bool "SGI IP32 (O2)" 75239b2d756SThomas Bogendoerfer select ARC_MEMORY 75339b2d756SThomas Bogendoerfer select ARC_PROMLIB 75403df8229SChristoph Hellwig select ARCH_HAS_PHYS_TO_DMA 7550e2794b0SRalf Baechle select FW_ARC 7560e2794b0SRalf Baechle select FW_ARC32 7571da177e4SLinus Torvalds select BOOT_ELF32 75842f77542SRalf Baechle select CEVT_R4K 759940f6b48SRalf Baechle select CSRC_R4K 7601da177e4SLinus Torvalds select DMA_NONCOHERENT 761eb01d42aSChristoph Hellwig select HAVE_PCI 76267e38cf2SRalf Baechle select IRQ_MIPS_CPU 7631da177e4SLinus Torvalds select R5000_CPU_SCACHE 7641da177e4SLinus Torvalds select RM7000_CPU_SCACHE 7657cf8053bSRalf Baechle select SYS_HAS_CPU_R5000 7667cf8053bSRalf Baechle select SYS_HAS_CPU_R10000 if BROKEN 7677cf8053bSRalf Baechle select SYS_HAS_CPU_RM7000 768dd2f18feSRalf Baechle select SYS_HAS_CPU_NEVADA 769ed5ba2fbSYoichi Yuasa select SYS_SUPPORTS_64BIT_KERNEL 7705e83d430SRalf Baechle select SYS_SUPPORTS_BIG_ENDIAN 771886ee136SThomas Bogendoerfer select WAR_ICACHE_REFILLS 7721da177e4SLinus Torvalds help 7731da177e4SLinus Torvalds If you want this kernel to run on SGI O2 workstation, say Y here. 7741da177e4SLinus Torvalds 7755e83d430SRalf Baechleconfig SIBYTE_CRHONE 7763fa986faSMartin Michlmayr bool "Sibyte BCM91125C-CRhone" 7775e83d430SRalf Baechle select BOOT_ELF32 7785e83d430SRalf Baechle select SIBYTE_BCM1125 7795e83d430SRalf Baechle select SWAP_IO_SPACE 7807cf8053bSRalf Baechle select SYS_HAS_CPU_SB1 7815e83d430SRalf Baechle select SYS_SUPPORTS_BIG_ENDIAN 7825e83d430SRalf Baechle select SYS_SUPPORTS_HIGHMEM 7835e83d430SRalf Baechle select SYS_SUPPORTS_LITTLE_ENDIAN 7845e83d430SRalf Baechle 785ade299d8SYoichi Yuasaconfig SIBYTE_RHONE 786ade299d8SYoichi Yuasa bool "Sibyte BCM91125E-Rhone" 787ade299d8SYoichi Yuasa select BOOT_ELF32 78803452347SThomas Bogendoerfer select SIBYTE_SB1250 789ade299d8SYoichi Yuasa select SWAP_IO_SPACE 790ade299d8SYoichi Yuasa select SYS_HAS_CPU_SB1 791ade299d8SYoichi Yuasa select SYS_SUPPORTS_BIG_ENDIAN 792ade299d8SYoichi Yuasa select SYS_SUPPORTS_LITTLE_ENDIAN 793ade299d8SYoichi Yuasa 794ade299d8SYoichi Yuasaconfig SIBYTE_SWARM 795ade299d8SYoichi Yuasa bool "Sibyte BCM91250A-SWARM" 796ade299d8SYoichi Yuasa select BOOT_ELF32 797fcf3ca4cSSebastian Andrzej Siewior select HAVE_PATA_PLATFORM 798ade299d8SYoichi Yuasa select SIBYTE_SB1250 799ade299d8SYoichi Yuasa select SWAP_IO_SPACE 800ade299d8SYoichi Yuasa select SYS_HAS_CPU_SB1 801ade299d8SYoichi Yuasa select SYS_SUPPORTS_BIG_ENDIAN 802ade299d8SYoichi Yuasa select SYS_SUPPORTS_HIGHMEM 803ade299d8SYoichi Yuasa select SYS_SUPPORTS_LITTLE_ENDIAN 804cce335aeSRalf Baechle select ZONE_DMA32 if 64BIT 805e4849affSMaciej W. Rozycki select SWIOTLB if ARCH_DMA_ADDR_T_64BIT && PCI 806ade299d8SYoichi Yuasa 807ade299d8SYoichi Yuasaconfig SIBYTE_LITTLESUR 808ade299d8SYoichi Yuasa bool "Sibyte BCM91250C2-LittleSur" 809ade299d8SYoichi Yuasa select BOOT_ELF32 810fcf3ca4cSSebastian Andrzej Siewior select HAVE_PATA_PLATFORM 811ade299d8SYoichi Yuasa select SIBYTE_SB1250 812ade299d8SYoichi Yuasa select SWAP_IO_SPACE 813ade299d8SYoichi Yuasa select SYS_HAS_CPU_SB1 814ade299d8SYoichi Yuasa select SYS_SUPPORTS_BIG_ENDIAN 815ade299d8SYoichi Yuasa select SYS_SUPPORTS_HIGHMEM 816ade299d8SYoichi Yuasa select SYS_SUPPORTS_LITTLE_ENDIAN 817756d6d83SMaciej W. Rozycki select ZONE_DMA32 if 64BIT 818ade299d8SYoichi Yuasa 819ade299d8SYoichi Yuasaconfig SIBYTE_SENTOSA 820ade299d8SYoichi Yuasa bool "Sibyte BCM91250E-Sentosa" 821ade299d8SYoichi Yuasa select BOOT_ELF32 822ade299d8SYoichi Yuasa select SIBYTE_SB1250 823ade299d8SYoichi Yuasa select SWAP_IO_SPACE 824ade299d8SYoichi Yuasa select SYS_HAS_CPU_SB1 825ade299d8SYoichi Yuasa select SYS_SUPPORTS_BIG_ENDIAN 826ade299d8SYoichi Yuasa select SYS_SUPPORTS_LITTLE_ENDIAN 827e4849affSMaciej W. Rozycki select SWIOTLB if ARCH_DMA_ADDR_T_64BIT && PCI 828ade299d8SYoichi Yuasa 829ade299d8SYoichi Yuasaconfig SIBYTE_BIGSUR 830ade299d8SYoichi Yuasa bool "Sibyte BCM91480B-BigSur" 831ade299d8SYoichi Yuasa select BOOT_ELF32 832ade299d8SYoichi Yuasa select NR_CPUS_DEFAULT_4 833ade299d8SYoichi Yuasa select SIBYTE_BCM1x80 834ade299d8SYoichi Yuasa select SWAP_IO_SPACE 835ade299d8SYoichi Yuasa select SYS_HAS_CPU_SB1 836ade299d8SYoichi Yuasa select SYS_SUPPORTS_BIG_ENDIAN 837651194f8SRalf Baechle select SYS_SUPPORTS_HIGHMEM 838ade299d8SYoichi Yuasa select SYS_SUPPORTS_LITTLE_ENDIAN 839cce335aeSRalf Baechle select ZONE_DMA32 if 64BIT 840e4849affSMaciej W. Rozycki select SWIOTLB if ARCH_DMA_ADDR_T_64BIT && PCI 841ade299d8SYoichi Yuasa 84214b36af4SThomas Bogendoerferconfig SNI_RM 84314b36af4SThomas Bogendoerfer bool "SNI RM200/300/400" 84439b2d756SThomas Bogendoerfer select ARC_MEMORY 84539b2d756SThomas Bogendoerfer select ARC_PROMLIB 8460e2794b0SRalf Baechle select FW_ARC if CPU_LITTLE_ENDIAN 8470e2794b0SRalf Baechle select FW_ARC32 if CPU_LITTLE_ENDIAN 848aaa9fad3SPaul Bolle select FW_SNIPROM if CPU_BIG_ENDIAN 8495e83d430SRalf Baechle select ARCH_MAY_HAVE_PC_FDC 850a211a082SRalf Baechle select ARCH_MIGHT_HAVE_PC_PARPORT 8517a407aa5SRalf Baechle select ARCH_MIGHT_HAVE_PC_SERIO 8525e83d430SRalf Baechle select BOOT_ELF32 85342f77542SRalf Baechle select CEVT_R4K 854940f6b48SRalf Baechle select CSRC_R4K 855e2defae5SThomas Bogendoerfer select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN 8565e83d430SRalf Baechle select DMA_NONCOHERENT 8575e83d430SRalf Baechle select GENERIC_ISA_DMA 8586630a8e5SChristoph Hellwig select HAVE_EISA 8598a118c38SRalf Baechle select HAVE_PCSPKR_PLATFORM 860eb01d42aSChristoph Hellwig select HAVE_PCI 86167e38cf2SRalf Baechle select IRQ_MIPS_CPU 862d865bea4SRalf Baechle select I8253 8635e83d430SRalf Baechle select I8259 8645e83d430SRalf Baechle select ISA 865564c836fSThomas Bogendoerfer select MIPS_L1_CACHE_SHIFT_6 8664a0312fcSThomas Bogendoerfer select SWAP_IO_SPACE if CPU_BIG_ENDIAN 8677cf8053bSRalf Baechle select SYS_HAS_CPU_R4X00 8684a0312fcSThomas Bogendoerfer select SYS_HAS_CPU_R5000 869c066a32aSThomas Bogendoerfer select SYS_HAS_CPU_R10000 8704a0312fcSThomas Bogendoerfer select R5000_CPU_SCACHE 87136a88530SRalf Baechle select SYS_HAS_EARLY_PRINTK 872ed5ba2fbSYoichi Yuasa select SYS_SUPPORTS_32BIT_KERNEL 8737d60717eSKees Cook select SYS_SUPPORTS_64BIT_KERNEL 8744a0312fcSThomas Bogendoerfer select SYS_SUPPORTS_BIG_ENDIAN 8755e83d430SRalf Baechle select SYS_SUPPORTS_HIGHMEM 8765e83d430SRalf Baechle select SYS_SUPPORTS_LITTLE_ENDIAN 87744def342SThomas Bogendoerfer select WAR_R4600_V2_HIT_CACHEOP 8781da177e4SLinus Torvalds help 87914b36af4SThomas Bogendoerfer The SNI RM200/300/400 are MIPS-based machines manufactured by 88014b36af4SThomas Bogendoerfer Siemens Nixdorf Informationssysteme (SNI), parent company of Pyramid 8815e83d430SRalf Baechle Technology and now in turn merged with Fujitsu. Say Y here to 8825e83d430SRalf Baechle support this machine type. 8831da177e4SLinus Torvalds 884edcaf1a6SAtsushi Nemotoconfig MACH_TX49XX 885edcaf1a6SAtsushi Nemoto bool "Toshiba TX49 series based machines" 88624a1c023SThomas Bogendoerfer select WAR_TX49XX_ICACHE_INDEX_INV 88723fbee9dSRalf Baechle 88873b4390fSRalf Baechleconfig MIKROTIK_RB532 88973b4390fSRalf Baechle bool "Mikrotik RB532 boards" 89073b4390fSRalf Baechle select CEVT_R4K 89173b4390fSRalf Baechle select CSRC_R4K 89273b4390fSRalf Baechle select DMA_NONCOHERENT 893eb01d42aSChristoph Hellwig select HAVE_PCI 89467e38cf2SRalf Baechle select IRQ_MIPS_CPU 89573b4390fSRalf Baechle select SYS_HAS_CPU_MIPS32_R1 89673b4390fSRalf Baechle select SYS_SUPPORTS_32BIT_KERNEL 89773b4390fSRalf Baechle select SYS_SUPPORTS_LITTLE_ENDIAN 89873b4390fSRalf Baechle select SWAP_IO_SPACE 89973b4390fSRalf Baechle select BOOT_RAW 900d30a2b47SLinus Walleij select GPIOLIB 901930beb5aSFlorian Fainelli select MIPS_L1_CACHE_SHIFT_4 90273b4390fSRalf Baechle help 90373b4390fSRalf Baechle Support the Mikrotik(tm) RouterBoard 532 series, 90473b4390fSRalf Baechle based on the IDT RC32434 SoC. 90573b4390fSRalf Baechle 9069ddebc46SDavid Daneyconfig CAVIUM_OCTEON_SOC 9079ddebc46SDavid Daney bool "Cavium Networks Octeon SoC based boards" 908a86c7f72SDavid Daney select CEVT_R4K 909ea8c64acSChristoph Hellwig select ARCH_HAS_PHYS_TO_DMA 9101753d50cSChristoph Hellwig select HAVE_RAPIDIO 911d4a451d5SChristoph Hellwig select PHYS_ADDR_T_64BIT 912a86c7f72SDavid Daney select SYS_SUPPORTS_64BIT_KERNEL 913a86c7f72SDavid Daney select SYS_SUPPORTS_BIG_ENDIAN 914f65aad41SRalf Baechle select EDAC_SUPPORT 915b01aec9bSBorislav Petkov select EDAC_ATOMIC_SCRUB 91673569d87SDavid Daney select SYS_SUPPORTS_LITTLE_ENDIAN 91773569d87SDavid Daney select SYS_SUPPORTS_HOTPLUG_CPU if CPU_BIG_ENDIAN 918a86c7f72SDavid Daney select SYS_HAS_EARLY_PRINTK 9195e683389SDavid Daney select SYS_HAS_CPU_CAVIUM_OCTEON 920eb01d42aSChristoph Hellwig select HAVE_PCI 92178bdbbacSMasahiro Yamada select HAVE_PLAT_DELAY 92278bdbbacSMasahiro Yamada select HAVE_PLAT_FW_INIT_CMDLINE 92378bdbbacSMasahiro Yamada select HAVE_PLAT_MEMCPY 924f00e001eSDavid Daney select ZONE_DMA32 925d30a2b47SLinus Walleij select GPIOLIB 9266e511163SDavid Daney select USE_OF 9276e511163SDavid Daney select ARCH_SPARSEMEM_ENABLE 9286e511163SDavid Daney select SYS_SUPPORTS_SMP 9297820b84bSDavid Daney select NR_CPUS_DEFAULT_64 9307820b84bSDavid Daney select MIPS_NR_CPU_NR_MAP_1024 931e326479fSAndrew Bresticker select BUILTIN_DTB 932f766b28aSJulian Braha select MTD 9338c1e6b14SDavid Daney select MTD_COMPLEX_MAPPINGS 93409230cbcSChristoph Hellwig select SWIOTLB 9353ff72be4SSteven J. Hill select SYS_SUPPORTS_RELOCATABLE 936a86c7f72SDavid Daney help 937a86c7f72SDavid Daney This option supports all of the Octeon reference boards from Cavium 938a86c7f72SDavid Daney Networks. It builds a kernel that dynamically determines the Octeon 939a86c7f72SDavid Daney CPU type and supports all known board reference implementations. 940a86c7f72SDavid Daney Some of the supported boards are: 941a86c7f72SDavid Daney EBT3000 942a86c7f72SDavid Daney EBH3000 943a86c7f72SDavid Daney EBH3100 944a86c7f72SDavid Daney Thunder 945a86c7f72SDavid Daney Kodama 946a86c7f72SDavid Daney Hikari 947a86c7f72SDavid Daney Say Y here for most Octeon reference boards. 948a86c7f72SDavid Daney 9491da177e4SLinus Torvaldsendchoice 9501da177e4SLinus Torvalds 951e8c7c482SRalf Baechlesource "arch/mips/alchemy/Kconfig" 9523b12308fSSergey Ryazanovsource "arch/mips/ath25/Kconfig" 953d4a67d9dSGabor Juhossource "arch/mips/ath79/Kconfig" 954a656ffcbSHauke Mehrtenssource "arch/mips/bcm47xx/Kconfig" 955e7300d04SMaxime Bizonsource "arch/mips/bcm63xx/Kconfig" 9568945e37eSKevin Cernekeesource "arch/mips/bmips/Kconfig" 957eed0eabdSPaul Burtonsource "arch/mips/generic/Kconfig" 958a103e9b9SPaul Cercueilsource "arch/mips/ingenic/Kconfig" 9595e83d430SRalf Baechlesource "arch/mips/jazz/Kconfig" 9608ec6d935SJohn Crispinsource "arch/mips/lantiq/Kconfig" 9612572f00dSJoshua Hendersonsource "arch/mips/pic32/Kconfig" 962ae2b5bb6SJohn Crispinsource "arch/mips/ralink/Kconfig" 96329c48699SRalf Baechlesource "arch/mips/sgi-ip27/Kconfig" 96438b18f72SRalf Baechlesource "arch/mips/sibyte/Kconfig" 96522b1d707SAtsushi Nemotosource "arch/mips/txx9/Kconfig" 966a86c7f72SDavid Daneysource "arch/mips/cavium-octeon/Kconfig" 96771e2f4ddSJiaxun Yangsource "arch/mips/loongson2ef/Kconfig" 96830ad29bbSHuacai Chensource "arch/mips/loongson32/Kconfig" 96930ad29bbSHuacai Chensource "arch/mips/loongson64/Kconfig" 97038b18f72SRalf Baechle 9715e83d430SRalf Baechleendmenu 9725e83d430SRalf Baechle 9733c9ee7efSAkinobu Mitaconfig GENERIC_HWEIGHT 9743c9ee7efSAkinobu Mita bool 9753c9ee7efSAkinobu Mita default y 9763c9ee7efSAkinobu Mita 9771da177e4SLinus Torvaldsconfig GENERIC_CALIBRATE_DELAY 9781da177e4SLinus Torvalds bool 9791da177e4SLinus Torvalds default y 9801da177e4SLinus Torvalds 981ae1e9130SIngo Molnarconfig SCHED_OMIT_FRAME_POINTER 9821cc89038SAtsushi Nemoto bool 9831cc89038SAtsushi Nemoto default y 9841cc89038SAtsushi Nemoto 9851da177e4SLinus Torvalds# 9861da177e4SLinus Torvalds# Select some configuration options automatically based on user selections. 9871da177e4SLinus Torvalds# 9880e2794b0SRalf Baechleconfig FW_ARC 9891da177e4SLinus Torvalds bool 9901da177e4SLinus Torvalds 99161ed242dSRalf Baechleconfig ARCH_MAY_HAVE_PC_FDC 99261ed242dSRalf Baechle bool 99361ed242dSRalf Baechle 9949267a30dSMarc St-Jeanconfig BOOT_RAW 9959267a30dSMarc St-Jean bool 9969267a30dSMarc St-Jean 997217dd11eSRalf Baechleconfig CEVT_BCM1480 998217dd11eSRalf Baechle bool 999217dd11eSRalf Baechle 10006457d9fcSYoichi Yuasaconfig CEVT_DS1287 10016457d9fcSYoichi Yuasa bool 10026457d9fcSYoichi Yuasa 10031097c6acSYoichi Yuasaconfig CEVT_GT641XX 10041097c6acSYoichi Yuasa bool 10051097c6acSYoichi Yuasa 100642f77542SRalf Baechleconfig CEVT_R4K 100742f77542SRalf Baechle bool 100842f77542SRalf Baechle 1009217dd11eSRalf Baechleconfig CEVT_SB1250 1010217dd11eSRalf Baechle bool 1011217dd11eSRalf Baechle 1012229f773eSAtsushi Nemotoconfig CEVT_TXX9 1013229f773eSAtsushi Nemoto bool 1014229f773eSAtsushi Nemoto 1015217dd11eSRalf Baechleconfig CSRC_BCM1480 1016217dd11eSRalf Baechle bool 1017217dd11eSRalf Baechle 10184247417dSYoichi Yuasaconfig CSRC_IOASIC 10194247417dSYoichi Yuasa bool 10204247417dSYoichi Yuasa 1021940f6b48SRalf Baechleconfig CSRC_R4K 102238586428SSerge Semin select CLOCKSOURCE_WATCHDOG if CPU_FREQ 1023940f6b48SRalf Baechle bool 1024940f6b48SRalf Baechle 1025217dd11eSRalf Baechleconfig CSRC_SB1250 1026217dd11eSRalf Baechle bool 1027217dd11eSRalf Baechle 1028a7f4df4eSAlex Smithconfig MIPS_CLOCK_VSYSCALL 1029a7f4df4eSAlex Smith def_bool CSRC_R4K || CLKSRC_MIPS_GIC 1030a7f4df4eSAlex Smith 1031a9aec7feSAtsushi Nemotoconfig GPIO_TXX9 1032d30a2b47SLinus Walleij select GPIOLIB 1033a9aec7feSAtsushi Nemoto bool 1034a9aec7feSAtsushi Nemoto 10350e2794b0SRalf Baechleconfig FW_CFE 1036df78b5c8SAurelien Jarno bool 1037df78b5c8SAurelien Jarno 103840e084a5SRalf Baechleconfig ARCH_SUPPORTS_UPROBES 1039f5748b8cSTiezhu Yang def_bool y 104040e084a5SRalf Baechle 10411da177e4SLinus Torvaldsconfig DMA_NONCOHERENT 10421da177e4SLinus Torvalds bool 1043db91427bSChristoph Hellwig # 1044db91427bSChristoph Hellwig # MIPS allows mixing "slightly different" Cacheability and Coherency 1045db91427bSChristoph Hellwig # Attribute bits. It is believed that the uncached access through 1046db91427bSChristoph Hellwig # KSEG1 and the implementation specific "uncached accelerated" used 1047db91427bSChristoph Hellwig # by pgprot_writcombine can be mixed, and the latter sometimes provides 1048db91427bSChristoph Hellwig # significant advantages. 1049db91427bSChristoph Hellwig # 10506be87d61SJiaxun Yang select ARCH_HAS_SETUP_DMA_OPS 1051419e2f18SChristoph Hellwig select ARCH_HAS_DMA_WRITE_COMBINE 1052fa7e2247SChristoph Hellwig select ARCH_HAS_DMA_PREP_COHERENT 1053e0b7fd12SJiaxun Yang select ARCH_HAS_SYNC_DMA_FOR_CPU 1054f8c55dc6SChristoph Hellwig select ARCH_HAS_SYNC_DMA_FOR_DEVICE 1055fa7e2247SChristoph Hellwig select ARCH_HAS_DMA_SET_UNCACHED 105634dc0ea6SChristoph Hellwig select DMA_NONCOHERENT_MMAP 105734dc0ea6SChristoph Hellwig select NEED_DMA_MAP_STATE 10584ce588cdSRalf Baechle 105936a88530SRalf Baechleconfig SYS_HAS_EARLY_PRINTK 10601da177e4SLinus Torvalds bool 10611da177e4SLinus Torvalds 10621b2bc75cSRalf Baechleconfig SYS_SUPPORTS_HOTPLUG_CPU 1063dbb74540SRalf Baechle bool 1064dbb74540SRalf Baechle 10651da177e4SLinus Torvaldsconfig MIPS_BONITO64 10661da177e4SLinus Torvalds bool 10671da177e4SLinus Torvalds 10681da177e4SLinus Torvaldsconfig MIPS_MSC 10691da177e4SLinus Torvalds bool 10701da177e4SLinus Torvalds 107139b8d525SRalf Baechleconfig SYNC_R4K 107239b8d525SRalf Baechle bool 107339b8d525SRalf Baechle 1074ce816fa8SUwe Kleine-Königconfig NO_IOPORT_MAP 1075d388d685SMaciej W. Rozycki def_bool n 1076d388d685SMaciej W. Rozycki 10774e0748f5SMarkos Chandrasconfig GENERIC_CSUM 107818d84e2eSAlexander Lobakin def_bool CPU_NO_LOAD_STORE_LR 10794e0748f5SMarkos Chandras 10808313da30SRalf Baechleconfig GENERIC_ISA_DMA 10818313da30SRalf Baechle bool 10828313da30SRalf Baechle select ZONE_DMA if GENERIC_ISA_DMA_SUPPORT_BROKEN=n 1083a35bee8aSNamhyung Kim select ISA_DMA_API 10848313da30SRalf Baechle 1085aa414dffSRalf Baechleconfig GENERIC_ISA_DMA_SUPPORT_BROKEN 1086aa414dffSRalf Baechle bool 10878313da30SRalf Baechle select GENERIC_ISA_DMA 1088aa414dffSRalf Baechle 108978bdbbacSMasahiro Yamadaconfig HAVE_PLAT_DELAY 109078bdbbacSMasahiro Yamada bool 109178bdbbacSMasahiro Yamada 109278bdbbacSMasahiro Yamadaconfig HAVE_PLAT_FW_INIT_CMDLINE 109378bdbbacSMasahiro Yamada bool 109478bdbbacSMasahiro Yamada 109578bdbbacSMasahiro Yamadaconfig HAVE_PLAT_MEMCPY 109678bdbbacSMasahiro Yamada bool 109778bdbbacSMasahiro Yamada 1098a35bee8aSNamhyung Kimconfig ISA_DMA_API 1099a35bee8aSNamhyung Kim bool 1100a35bee8aSNamhyung Kim 11018c530ea3SMatt Redfearnconfig SYS_SUPPORTS_RELOCATABLE 11028c530ea3SMatt Redfearn bool 11038c530ea3SMatt Redfearn help 11048c530ea3SMatt Redfearn Selected if the platform supports relocating the kernel. 11058c530ea3SMatt Redfearn The platform must provide plat_get_fdt() if it selects CONFIG_USE_OF 11068c530ea3SMatt Redfearn to allow access to command line and entropy sources. 11078c530ea3SMatt Redfearn 11085e83d430SRalf Baechle# 11096b2aac42SMasanari Iida# Endianness selection. Sufficiently obscure so many users don't know what to 11105e83d430SRalf Baechle# answer,so we try hard to limit the available choices. Also the use of a 11115e83d430SRalf Baechle# choice statement should be more obvious to the user. 11125e83d430SRalf Baechle# 11135e83d430SRalf Baechlechoice 11146b2aac42SMasanari Iida prompt "Endianness selection" 11151da177e4SLinus Torvalds help 11161da177e4SLinus Torvalds Some MIPS machines can be configured for either little or big endian 11175e83d430SRalf Baechle byte order. These modes require different kernels and a different 11183cb2fcccSMatt LaPlante Linux distribution. In general there is one preferred byteorder for a 11195e83d430SRalf Baechle particular system but some systems are just as commonly used in the 11203dde6ad8SDavid Sterba one or the other endianness. 11215e83d430SRalf Baechle 11225e83d430SRalf Baechleconfig CPU_BIG_ENDIAN 11235e83d430SRalf Baechle bool "Big endian" 11245e83d430SRalf Baechle depends on SYS_SUPPORTS_BIG_ENDIAN 11255e83d430SRalf Baechle 11265e83d430SRalf Baechleconfig CPU_LITTLE_ENDIAN 11275e83d430SRalf Baechle bool "Little endian" 11285e83d430SRalf Baechle depends on SYS_SUPPORTS_LITTLE_ENDIAN 11295e83d430SRalf Baechle 11305e83d430SRalf Baechleendchoice 11315e83d430SRalf Baechle 113222b0763aSDavid Daneyconfig EXPORT_UASM 113322b0763aSDavid Daney bool 113422b0763aSDavid Daney 11352116245eSRalf Baechleconfig SYS_SUPPORTS_APM_EMULATION 11362116245eSRalf Baechle bool 11372116245eSRalf Baechle 11385e83d430SRalf Baechleconfig SYS_SUPPORTS_BIG_ENDIAN 11395e83d430SRalf Baechle bool 11405e83d430SRalf Baechle 11415e83d430SRalf Baechleconfig SYS_SUPPORTS_LITTLE_ENDIAN 11425e83d430SRalf Baechle bool 11431da177e4SLinus Torvalds 1144aa1762f4SDavid Daneyconfig MIPS_HUGE_TLB_SUPPORT 1145aa1762f4SDavid Daney def_bool HUGETLB_PAGE || TRANSPARENT_HUGEPAGE 1146aa1762f4SDavid Daney 11478420fd00SAtsushi Nemotoconfig IRQ_TXX9 11488420fd00SAtsushi Nemoto bool 11498420fd00SAtsushi Nemoto 1150d5ab1a69SYoichi Yuasaconfig IRQ_GT641XX 1151d5ab1a69SYoichi Yuasa bool 1152d5ab1a69SYoichi Yuasa 1153252161ecSYoichi Yuasaconfig PCI_GT64XXX_PCI0 11541da177e4SLinus Torvalds bool 11551da177e4SLinus Torvalds 1156a57140e9SThomas Bogendoerferconfig PCI_XTALK_BRIDGE 1157a57140e9SThomas Bogendoerfer bool 1158a57140e9SThomas Bogendoerfer 11599267a30dSMarc St-Jeanconfig NO_EXCEPT_FILL 11609267a30dSMarc St-Jean bool 11619267a30dSMarc St-Jean 1162a7e07b1aSMarkos Chandrasconfig MIPS_SPRAM 1163a7e07b1aSMarkos Chandras bool 1164a7e07b1aSMarkos Chandras 11651da177e4SLinus Torvaldsconfig SWAP_IO_SPACE 11661da177e4SLinus Torvalds bool 11671da177e4SLinus Torvalds 1168e2defae5SThomas Bogendoerferconfig SGI_HAS_INDYDOG 1169e2defae5SThomas Bogendoerfer bool 1170e2defae5SThomas Bogendoerfer 11715b438c44SThomas Bogendoerferconfig SGI_HAS_HAL2 11725b438c44SThomas Bogendoerfer bool 11735b438c44SThomas Bogendoerfer 1174e2defae5SThomas Bogendoerferconfig SGI_HAS_SEEQ 1175e2defae5SThomas Bogendoerfer bool 1176e2defae5SThomas Bogendoerfer 1177e2defae5SThomas Bogendoerferconfig SGI_HAS_WD93 1178e2defae5SThomas Bogendoerfer bool 1179e2defae5SThomas Bogendoerfer 1180e2defae5SThomas Bogendoerferconfig SGI_HAS_ZILOG 1181e2defae5SThomas Bogendoerfer bool 1182e2defae5SThomas Bogendoerfer 1183e2defae5SThomas Bogendoerferconfig SGI_HAS_I8042 1184e2defae5SThomas Bogendoerfer bool 1185e2defae5SThomas Bogendoerfer 1186e2defae5SThomas Bogendoerferconfig DEFAULT_SGI_PARTITION 1187e2defae5SThomas Bogendoerfer bool 1188e2defae5SThomas Bogendoerfer 11890e2794b0SRalf Baechleconfig FW_ARC32 11905e83d430SRalf Baechle bool 11915e83d430SRalf Baechle 1192aaa9fad3SPaul Bolleconfig FW_SNIPROM 1193231a35d3SThomas Bogendoerfer bool 1194231a35d3SThomas Bogendoerfer 11951da177e4SLinus Torvaldsconfig BOOT_ELF32 11961da177e4SLinus Torvalds bool 11971da177e4SLinus Torvalds 1198930beb5aSFlorian Fainelliconfig MIPS_L1_CACHE_SHIFT_4 1199930beb5aSFlorian Fainelli bool 1200930beb5aSFlorian Fainelli 1201930beb5aSFlorian Fainelliconfig MIPS_L1_CACHE_SHIFT_5 1202930beb5aSFlorian Fainelli bool 1203930beb5aSFlorian Fainelli 1204930beb5aSFlorian Fainelliconfig MIPS_L1_CACHE_SHIFT_6 1205930beb5aSFlorian Fainelli bool 1206930beb5aSFlorian Fainelli 1207930beb5aSFlorian Fainelliconfig MIPS_L1_CACHE_SHIFT_7 1208930beb5aSFlorian Fainelli bool 1209930beb5aSFlorian Fainelli 12101da177e4SLinus Torvaldsconfig MIPS_L1_CACHE_SHIFT 12111da177e4SLinus Torvalds int 1212a4c0201eSFlorian Fainelli default "7" if MIPS_L1_CACHE_SHIFT_7 12135432eeb6SKevin Cernekee default "6" if MIPS_L1_CACHE_SHIFT_6 12145432eeb6SKevin Cernekee default "5" if MIPS_L1_CACHE_SHIFT_5 12155432eeb6SKevin Cernekee default "4" if MIPS_L1_CACHE_SHIFT_4 12161da177e4SLinus Torvalds default "5" 12171da177e4SLinus Torvalds 1218e9422427SThomas Bogendoerferconfig ARC_CMDLINE_ONLY 1219e9422427SThomas Bogendoerfer bool 1220e9422427SThomas Bogendoerfer 12211da177e4SLinus Torvaldsconfig ARC_CONSOLE 12221da177e4SLinus Torvalds bool "ARC console support" 1223e2defae5SThomas Bogendoerfer depends on SGI_IP22 || SGI_IP28 || (SNI_RM && CPU_LITTLE_ENDIAN) 12241da177e4SLinus Torvalds 12251da177e4SLinus Torvaldsconfig ARC_MEMORY 12261da177e4SLinus Torvalds bool 12271da177e4SLinus Torvalds 12281da177e4SLinus Torvaldsconfig ARC_PROMLIB 12291da177e4SLinus Torvalds bool 12301da177e4SLinus Torvalds 12310e2794b0SRalf Baechleconfig FW_ARC64 12321da177e4SLinus Torvalds bool 12331da177e4SLinus Torvalds 12341da177e4SLinus Torvaldsconfig BOOT_ELF64 12351da177e4SLinus Torvalds bool 12361da177e4SLinus Torvalds 12371da177e4SLinus Torvaldsmenu "CPU selection" 12381da177e4SLinus Torvalds 12391da177e4SLinus Torvaldschoice 12401da177e4SLinus Torvalds prompt "CPU type" 12411da177e4SLinus Torvalds default CPU_R4X00 12421da177e4SLinus Torvalds 1243268a2d60SJiaxun Yangconfig CPU_LOONGSON64 1244caed1d1bSHuacai Chen bool "Loongson 64-bit CPU" 1245268a2d60SJiaxun Yang depends on SYS_HAS_CPU_LOONGSON64 1246d3bc81beSChristoph Hellwig select ARCH_HAS_PHYS_TO_DMA 124751522217SJiaxun Yang select CPU_MIPSR2 124851522217SJiaxun Yang select CPU_HAS_PREFETCH 12490e476d91SHuacai Chen select CPU_SUPPORTS_64BIT_KERNEL 12500e476d91SHuacai Chen select CPU_SUPPORTS_HIGHMEM 12510e476d91SHuacai Chen select CPU_SUPPORTS_HUGEPAGES 12527507445bSHuacai Chen select CPU_SUPPORTS_MSA 125351522217SJiaxun Yang select CPU_DIEI_BROKEN if !LOONGSON3_ENHANCEMENT 125451522217SJiaxun Yang select CPU_MIPSR2_IRQ_VI 1255edc0378eSJiaxun Yang select DMA_NONCOHERENT 12560e476d91SHuacai Chen select WEAK_ORDERING 12570e476d91SHuacai Chen select WEAK_REORDERING_BEYOND_LLSC 12587507445bSHuacai Chen select MIPS_ASID_BITS_VARIABLE 1259b2edcfc8SHuacai Chen select MIPS_PGD_C0_CONTEXT 126017c99d94SHuacai Chen select MIPS_L1_CACHE_SHIFT_6 12617f3b3c2bSJackie Liu select MIPS_FP_SUPPORT 1262d30a2b47SLinus Walleij select GPIOLIB 126309230cbcSChristoph Hellwig select SWIOTLB 12640f78355cSHuacai Chen select HAVE_KVM 12650e476d91SHuacai Chen help 1266caed1d1bSHuacai Chen The Loongson GSx64(GS264/GS464/GS464E/GS464V) series of processor 1267caed1d1bSHuacai Chen cores implements the MIPS64R2 instruction set with many extensions, 1268caed1d1bSHuacai Chen including most 64-bit Loongson-2 (2H, 2K) and Loongson-3 (3A1000, 1269caed1d1bSHuacai Chen 3B1000, 3B1500, 3A2000, 3A3000 and 3A4000) processors. However, old 1270caed1d1bSHuacai Chen Loongson-2E/2F is not covered here and will be removed in future. 12710e476d91SHuacai Chen 1272caed1d1bSHuacai Chenconfig LOONGSON3_ENHANCEMENT 1273caed1d1bSHuacai Chen bool "New Loongson-3 CPU Enhancements" 12741e820da3SHuacai Chen default n 1275268a2d60SJiaxun Yang depends on CPU_LOONGSON64 12761e820da3SHuacai Chen help 1277caed1d1bSHuacai Chen New Loongson-3 cores (since Loongson-3A R2, as opposed to Loongson-3A 12781e820da3SHuacai Chen R1, Loongson-3B R1 and Loongson-3B R2) has many enhancements, such as 1279268a2d60SJiaxun Yang FTLB, L1-VCache, EI/DI/Wait/Prefetch instruction, DSP/DSPr2 ASE, User 12801e820da3SHuacai Chen Local register, Read-Inhibit/Execute-Inhibit, SFB (Store Fill Buffer), 12811e820da3SHuacai Chen Fast TLB refill support, etc. 12821e820da3SHuacai Chen 12831e820da3SHuacai Chen This option enable those enhancements which are not probed at run 12841e820da3SHuacai Chen time. If you want a generic kernel to run on all Loongson 3 machines, 12851e820da3SHuacai Chen please say 'N' here. If you want a high-performance kernel to run on 1286caed1d1bSHuacai Chen new Loongson-3 machines only, please say 'Y' here. 12871e820da3SHuacai Chen 1288e02e07e3SHuacai Chenconfig CPU_LOONGSON3_WORKAROUNDS 12893f059a7eSXi Ruoyao bool "Loongson-3 LLSC Workarounds" 1290e02e07e3SHuacai Chen default y if SMP 1291268a2d60SJiaxun Yang depends on CPU_LOONGSON64 1292e02e07e3SHuacai Chen help 1293caed1d1bSHuacai Chen Loongson-3 processors have the llsc issues which require workarounds. 1294e02e07e3SHuacai Chen Without workarounds the system may hang unexpectedly. 1295e02e07e3SHuacai Chen 12963f059a7eSXi Ruoyao Say Y, unless you know what you are doing. 1297e02e07e3SHuacai Chen 1298ec7a9318SWANG Xueruiconfig CPU_LOONGSON3_CPUCFG_EMULATION 1299ec7a9318SWANG Xuerui bool "Emulate the CPUCFG instruction on older Loongson cores" 1300ec7a9318SWANG Xuerui default y 1301ec7a9318SWANG Xuerui depends on CPU_LOONGSON64 1302ec7a9318SWANG Xuerui help 1303ec7a9318SWANG Xuerui Loongson-3A R4 and newer have the CPUCFG instruction available for 1304ec7a9318SWANG Xuerui userland to query CPU capabilities, much like CPUID on x86. This 1305ec7a9318SWANG Xuerui option provides emulation of the instruction on older Loongson 1306ec7a9318SWANG Xuerui cores, back to Loongson-3A1000. 1307ec7a9318SWANG Xuerui 1308ec7a9318SWANG Xuerui If unsure, please say Y. 1309ec7a9318SWANG Xuerui 13103702bba5SWu Zhangjinconfig CPU_LOONGSON2E 13113702bba5SWu Zhangjin bool "Loongson 2E" 13123702bba5SWu Zhangjin depends on SYS_HAS_CPU_LOONGSON2E 1313268a2d60SJiaxun Yang select CPU_LOONGSON2EF 13142a21c730SFuxin Zhang help 13152a21c730SFuxin Zhang The Loongson 2E processor implements the MIPS III instruction set 13162a21c730SFuxin Zhang with many extensions. 13172a21c730SFuxin Zhang 131825985edcSLucas De Marchi It has an internal FPGA northbridge, which is compatible to 13196f7a251aSWu Zhangjin bonito64. 13206f7a251aSWu Zhangjin 13216f7a251aSWu Zhangjinconfig CPU_LOONGSON2F 13226f7a251aSWu Zhangjin bool "Loongson 2F" 13236f7a251aSWu Zhangjin depends on SYS_HAS_CPU_LOONGSON2F 1324268a2d60SJiaxun Yang select CPU_LOONGSON2EF 13256f7a251aSWu Zhangjin help 13266f7a251aSWu Zhangjin The Loongson 2F processor implements the MIPS III instruction set 13276f7a251aSWu Zhangjin with many extensions. 13286f7a251aSWu Zhangjin 13296f7a251aSWu Zhangjin Loongson2F have built-in DDR2 and PCIX controller. The PCIX controller 13306f7a251aSWu Zhangjin have a similar programming interface with FPGA northbridge used in 13316f7a251aSWu Zhangjin Loongson2E. 13326f7a251aSWu Zhangjin 1333ca585cf9SKelvin Cheungconfig CPU_LOONGSON1B 1334ca585cf9SKelvin Cheung bool "Loongson 1B" 1335ca585cf9SKelvin Cheung depends on SYS_HAS_CPU_LOONGSON1B 1336b2afb64cSHuacai Chen select CPU_LOONGSON32 13379ec88b60SKelvin Cheung select LEDS_GPIO_REGISTER 1338ca585cf9SKelvin Cheung help 1339ca585cf9SKelvin Cheung The Loongson 1B is a 32-bit SoC, which implements the MIPS32 1340968dc5a0S谢致邦 (XIE Zhibang) Release 1 instruction set and part of the MIPS32 Release 2 1341968dc5a0S谢致邦 (XIE Zhibang) instruction set. 1342ca585cf9SKelvin Cheung 134312e3280bSYang Lingconfig CPU_LOONGSON1C 134412e3280bSYang Ling bool "Loongson 1C" 134512e3280bSYang Ling depends on SYS_HAS_CPU_LOONGSON1C 1346b2afb64cSHuacai Chen select CPU_LOONGSON32 134712e3280bSYang Ling select LEDS_GPIO_REGISTER 134812e3280bSYang Ling help 134912e3280bSYang Ling The Loongson 1C is a 32-bit SoC, which implements the MIPS32 1350968dc5a0S谢致邦 (XIE Zhibang) Release 1 instruction set and part of the MIPS32 Release 2 1351968dc5a0S谢致邦 (XIE Zhibang) instruction set. 135212e3280bSYang Ling 13536e760c8dSRalf Baechleconfig CPU_MIPS32_R1 13546e760c8dSRalf Baechle bool "MIPS32 Release 1" 13557cf8053bSRalf Baechle depends on SYS_HAS_CPU_MIPS32_R1 13566e760c8dSRalf Baechle select CPU_HAS_PREFETCH 1357797798c1SRalf Baechle select CPU_SUPPORTS_32BIT_KERNEL 1358ec28f306SRalf Baechle select CPU_SUPPORTS_HIGHMEM 13596e760c8dSRalf Baechle help 13605e83d430SRalf Baechle Choose this option to build a kernel for release 1 or later of the 13611e5f1caaSRalf Baechle MIPS32 architecture. Most modern embedded systems with a 32-bit 13621e5f1caaSRalf Baechle MIPS processor are based on a MIPS32 processor. If you know the 13631e5f1caaSRalf Baechle specific type of processor in your system, choose those that one 13641e5f1caaSRalf Baechle otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system. 13651e5f1caaSRalf Baechle Release 2 of the MIPS32 architecture is available since several 13661e5f1caaSRalf Baechle years so chances are you even have a MIPS32 Release 2 processor 13671e5f1caaSRalf Baechle in which case you should choose CPU_MIPS32_R2 instead for better 13681e5f1caaSRalf Baechle performance. 13691e5f1caaSRalf Baechle 13701e5f1caaSRalf Baechleconfig CPU_MIPS32_R2 13711e5f1caaSRalf Baechle bool "MIPS32 Release 2" 13727cf8053bSRalf Baechle depends on SYS_HAS_CPU_MIPS32_R2 13731e5f1caaSRalf Baechle select CPU_HAS_PREFETCH 1374797798c1SRalf Baechle select CPU_SUPPORTS_32BIT_KERNEL 1375ec28f306SRalf Baechle select CPU_SUPPORTS_HIGHMEM 1376a5e9a69eSPaul Burton select CPU_SUPPORTS_MSA 13772235a54dSSanjay Lal select HAVE_KVM 13781e5f1caaSRalf Baechle help 13795e83d430SRalf Baechle Choose this option to build a kernel for release 2 or later of the 13806e760c8dSRalf Baechle MIPS32 architecture. Most modern embedded systems with a 32-bit 13816e760c8dSRalf Baechle MIPS processor are based on a MIPS32 processor. If you know the 13826e760c8dSRalf Baechle specific type of processor in your system, choose those that one 13836e760c8dSRalf Baechle otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system. 13841da177e4SLinus Torvalds 1385ab7c01fdSSerge Seminconfig CPU_MIPS32_R5 1386ab7c01fdSSerge Semin bool "MIPS32 Release 5" 1387ab7c01fdSSerge Semin depends on SYS_HAS_CPU_MIPS32_R5 1388ab7c01fdSSerge Semin select CPU_HAS_PREFETCH 1389ab7c01fdSSerge Semin select CPU_SUPPORTS_32BIT_KERNEL 1390ab7c01fdSSerge Semin select CPU_SUPPORTS_HIGHMEM 1391ab7c01fdSSerge Semin select CPU_SUPPORTS_MSA 1392ab7c01fdSSerge Semin select HAVE_KVM 1393ab7c01fdSSerge Semin select MIPS_O32_FP64_SUPPORT 1394ab7c01fdSSerge Semin help 1395ab7c01fdSSerge Semin Choose this option to build a kernel for release 5 or later of the 1396ab7c01fdSSerge Semin MIPS32 architecture. New MIPS processors, starting with the Warrior 1397ab7c01fdSSerge Semin family, are based on a MIPS32r5 processor. If you own an older 1398ab7c01fdSSerge Semin processor, you probably need to select MIPS32r1 or MIPS32r2 instead. 1399ab7c01fdSSerge Semin 14007fd08ca5SLeonid Yegoshinconfig CPU_MIPS32_R6 1401674d10e2SMarkos Chandras bool "MIPS32 Release 6" 14027fd08ca5SLeonid Yegoshin depends on SYS_HAS_CPU_MIPS32_R6 14037fd08ca5SLeonid Yegoshin select CPU_HAS_PREFETCH 140418d84e2eSAlexander Lobakin select CPU_NO_LOAD_STORE_LR 14057fd08ca5SLeonid Yegoshin select CPU_SUPPORTS_32BIT_KERNEL 14067fd08ca5SLeonid Yegoshin select CPU_SUPPORTS_HIGHMEM 14077fd08ca5SLeonid Yegoshin select CPU_SUPPORTS_MSA 14087fd08ca5SLeonid Yegoshin select HAVE_KVM 14097fd08ca5SLeonid Yegoshin select MIPS_O32_FP64_SUPPORT 14107fd08ca5SLeonid Yegoshin help 14117fd08ca5SLeonid Yegoshin Choose this option to build a kernel for release 6 or later of the 14127fd08ca5SLeonid Yegoshin MIPS32 architecture. New MIPS processors, starting with the Warrior 14137fd08ca5SLeonid Yegoshin family, are based on a MIPS32r6 processor. If you own an older 14147fd08ca5SLeonid Yegoshin processor, you probably need to select MIPS32r1 or MIPS32r2 instead. 14157fd08ca5SLeonid Yegoshin 14166e760c8dSRalf Baechleconfig CPU_MIPS64_R1 14176e760c8dSRalf Baechle bool "MIPS64 Release 1" 14187cf8053bSRalf Baechle depends on SYS_HAS_CPU_MIPS64_R1 1419797798c1SRalf Baechle select CPU_HAS_PREFETCH 1420ed5ba2fbSYoichi Yuasa select CPU_SUPPORTS_32BIT_KERNEL 1421ed5ba2fbSYoichi Yuasa select CPU_SUPPORTS_64BIT_KERNEL 1422ec28f306SRalf Baechle select CPU_SUPPORTS_HIGHMEM 14239cffd154SDavid Daney select CPU_SUPPORTS_HUGEPAGES 14246e760c8dSRalf Baechle help 14256e760c8dSRalf Baechle Choose this option to build a kernel for release 1 or later of the 14266e760c8dSRalf Baechle MIPS64 architecture. Many modern embedded systems with a 64-bit 14276e760c8dSRalf Baechle MIPS processor are based on a MIPS64 processor. If you know the 14286e760c8dSRalf Baechle specific type of processor in your system, choose those that one 14296e760c8dSRalf Baechle otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system. 14301e5f1caaSRalf Baechle Release 2 of the MIPS64 architecture is available since several 14311e5f1caaSRalf Baechle years so chances are you even have a MIPS64 Release 2 processor 14321e5f1caaSRalf Baechle in which case you should choose CPU_MIPS64_R2 instead for better 14331e5f1caaSRalf Baechle performance. 14341e5f1caaSRalf Baechle 14351e5f1caaSRalf Baechleconfig CPU_MIPS64_R2 14361e5f1caaSRalf Baechle bool "MIPS64 Release 2" 14377cf8053bSRalf Baechle depends on SYS_HAS_CPU_MIPS64_R2 1438797798c1SRalf Baechle select CPU_HAS_PREFETCH 14391e5f1caaSRalf Baechle select CPU_SUPPORTS_32BIT_KERNEL 14401e5f1caaSRalf Baechle select CPU_SUPPORTS_64BIT_KERNEL 1441ec28f306SRalf Baechle select CPU_SUPPORTS_HIGHMEM 14429cffd154SDavid Daney select CPU_SUPPORTS_HUGEPAGES 1443a5e9a69eSPaul Burton select CPU_SUPPORTS_MSA 144440a2df49SJames Hogan select HAVE_KVM 14451e5f1caaSRalf Baechle help 14461e5f1caaSRalf Baechle Choose this option to build a kernel for release 2 or later of the 14471e5f1caaSRalf Baechle MIPS64 architecture. Many modern embedded systems with a 64-bit 14481e5f1caaSRalf Baechle MIPS processor are based on a MIPS64 processor. If you know the 14491e5f1caaSRalf Baechle specific type of processor in your system, choose those that one 14501e5f1caaSRalf Baechle otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system. 14511da177e4SLinus Torvalds 1452ab7c01fdSSerge Seminconfig CPU_MIPS64_R5 1453ab7c01fdSSerge Semin bool "MIPS64 Release 5" 1454ab7c01fdSSerge Semin depends on SYS_HAS_CPU_MIPS64_R5 1455ab7c01fdSSerge Semin select CPU_HAS_PREFETCH 1456ab7c01fdSSerge Semin select CPU_SUPPORTS_32BIT_KERNEL 1457ab7c01fdSSerge Semin select CPU_SUPPORTS_64BIT_KERNEL 1458ab7c01fdSSerge Semin select CPU_SUPPORTS_HIGHMEM 1459ab7c01fdSSerge Semin select CPU_SUPPORTS_HUGEPAGES 1460ab7c01fdSSerge Semin select CPU_SUPPORTS_MSA 1461ab7c01fdSSerge Semin select MIPS_O32_FP64_SUPPORT if 32BIT || MIPS32_O32 1462ab7c01fdSSerge Semin select HAVE_KVM 1463ab7c01fdSSerge Semin help 1464ab7c01fdSSerge Semin Choose this option to build a kernel for release 5 or later of the 1465ab7c01fdSSerge Semin MIPS64 architecture. This is a intermediate MIPS architecture 1466ab7c01fdSSerge Semin release partly implementing release 6 features. Though there is no 1467ab7c01fdSSerge Semin any hardware known to be based on this release. 1468ab7c01fdSSerge Semin 14697fd08ca5SLeonid Yegoshinconfig CPU_MIPS64_R6 1470674d10e2SMarkos Chandras bool "MIPS64 Release 6" 14717fd08ca5SLeonid Yegoshin depends on SYS_HAS_CPU_MIPS64_R6 14727fd08ca5SLeonid Yegoshin select CPU_HAS_PREFETCH 147318d84e2eSAlexander Lobakin select CPU_NO_LOAD_STORE_LR 14747fd08ca5SLeonid Yegoshin select CPU_SUPPORTS_32BIT_KERNEL 14757fd08ca5SLeonid Yegoshin select CPU_SUPPORTS_64BIT_KERNEL 14767fd08ca5SLeonid Yegoshin select CPU_SUPPORTS_HIGHMEM 1477afd375dcSPaul Burton select CPU_SUPPORTS_HUGEPAGES 14787fd08ca5SLeonid Yegoshin select CPU_SUPPORTS_MSA 14792e6c7747SJames Hogan select MIPS_O32_FP64_SUPPORT if 32BIT || MIPS32_O32 148040a2df49SJames Hogan select HAVE_KVM 14817fd08ca5SLeonid Yegoshin help 14827fd08ca5SLeonid Yegoshin Choose this option to build a kernel for release 6 or later of the 14837fd08ca5SLeonid Yegoshin MIPS64 architecture. New MIPS processors, starting with the Warrior 14847fd08ca5SLeonid Yegoshin family, are based on a MIPS64r6 processor. If you own an older 14857fd08ca5SLeonid Yegoshin processor, you probably need to select MIPS64r1 or MIPS64r2 instead. 14867fd08ca5SLeonid Yegoshin 1487281e3aeaSSerge Seminconfig CPU_P5600 1488281e3aeaSSerge Semin bool "MIPS Warrior P5600" 1489281e3aeaSSerge Semin depends on SYS_HAS_CPU_P5600 1490281e3aeaSSerge Semin select CPU_HAS_PREFETCH 1491281e3aeaSSerge Semin select CPU_SUPPORTS_32BIT_KERNEL 1492281e3aeaSSerge Semin select CPU_SUPPORTS_HIGHMEM 1493281e3aeaSSerge Semin select CPU_SUPPORTS_MSA 1494281e3aeaSSerge Semin select CPU_SUPPORTS_CPUFREQ 1495281e3aeaSSerge Semin select CPU_MIPSR2_IRQ_VI 1496281e3aeaSSerge Semin select CPU_MIPSR2_IRQ_EI 1497281e3aeaSSerge Semin select HAVE_KVM 1498281e3aeaSSerge Semin select MIPS_O32_FP64_SUPPORT 1499281e3aeaSSerge Semin help 1500281e3aeaSSerge Semin Choose this option to build a kernel for MIPS Warrior P5600 CPU. 1501281e3aeaSSerge Semin It's based on MIPS32r5 ISA with XPA, EVA, dual/quad issue exec pipes, 1502281e3aeaSSerge Semin MMU with two-levels TLB, UCA, MSA, MDU core level features and system 1503281e3aeaSSerge Semin level features like up to six P5600 calculation cores, CM2 with L2 1504281e3aeaSSerge Semin cache, IOCU/IOMMU (though might be unused depending on the system- 1505281e3aeaSSerge Semin specific IP core configuration), GIC, CPC, virtualisation module, 1506281e3aeaSSerge Semin eJTAG and PDtrace. 1507281e3aeaSSerge Semin 15081da177e4SLinus Torvaldsconfig CPU_R3000 15091da177e4SLinus Torvalds bool "R3000" 15107cf8053bSRalf Baechle depends on SYS_HAS_CPU_R3000 1511f7062ddbSRalf Baechle select CPU_HAS_WB 151254746829SPaul Burton select CPU_R3K_TLB 1513ed5ba2fbSYoichi Yuasa select CPU_SUPPORTS_32BIT_KERNEL 1514797798c1SRalf Baechle select CPU_SUPPORTS_HIGHMEM 15151da177e4SLinus Torvalds help 15161da177e4SLinus Torvalds Please make sure to pick the right CPU type. Linux/MIPS is not 15171da177e4SLinus Torvalds designed to be generic, i.e. Kernels compiled for R3000 CPUs will 15181da177e4SLinus Torvalds *not* work on R4000 machines and vice versa. However, since most 15191da177e4SLinus Torvalds of the supported machines have an R4000 (or similar) CPU, R4x00 15201da177e4SLinus Torvalds might be a safe bet. If the resulting kernel does not work, 15211da177e4SLinus Torvalds try to recompile with R3000. 15221da177e4SLinus Torvalds 152365ce6197SLauri Kasanenconfig CPU_R4300 152465ce6197SLauri Kasanen bool "R4300" 152565ce6197SLauri Kasanen depends on SYS_HAS_CPU_R4300 152665ce6197SLauri Kasanen select CPU_SUPPORTS_32BIT_KERNEL 152765ce6197SLauri Kasanen select CPU_SUPPORTS_64BIT_KERNEL 152865ce6197SLauri Kasanen help 152965ce6197SLauri Kasanen MIPS Technologies R4300-series processors. 153065ce6197SLauri Kasanen 15311da177e4SLinus Torvaldsconfig CPU_R4X00 15321da177e4SLinus Torvalds bool "R4x00" 15337cf8053bSRalf Baechle depends on SYS_HAS_CPU_R4X00 1534ed5ba2fbSYoichi Yuasa select CPU_SUPPORTS_32BIT_KERNEL 1535ed5ba2fbSYoichi Yuasa select CPU_SUPPORTS_64BIT_KERNEL 1536970d032fSRalf Baechle select CPU_SUPPORTS_HUGEPAGES 15371da177e4SLinus Torvalds help 15381da177e4SLinus Torvalds MIPS Technologies R4000-series processors other than 4300, including 15391da177e4SLinus Torvalds the R4000, R4400, R4600, and 4700. 15401da177e4SLinus Torvalds 15411da177e4SLinus Torvaldsconfig CPU_TX49XX 15421da177e4SLinus Torvalds bool "R49XX" 15437cf8053bSRalf Baechle depends on SYS_HAS_CPU_TX49XX 1544de862b48SAtsushi Nemoto select CPU_HAS_PREFETCH 1545ed5ba2fbSYoichi Yuasa select CPU_SUPPORTS_32BIT_KERNEL 1546ed5ba2fbSYoichi Yuasa select CPU_SUPPORTS_64BIT_KERNEL 1547970d032fSRalf Baechle select CPU_SUPPORTS_HUGEPAGES 15481da177e4SLinus Torvalds 15491da177e4SLinus Torvaldsconfig CPU_R5000 15501da177e4SLinus Torvalds bool "R5000" 15517cf8053bSRalf Baechle depends on SYS_HAS_CPU_R5000 1552ed5ba2fbSYoichi Yuasa select CPU_SUPPORTS_32BIT_KERNEL 1553ed5ba2fbSYoichi Yuasa select CPU_SUPPORTS_64BIT_KERNEL 1554970d032fSRalf Baechle select CPU_SUPPORTS_HUGEPAGES 15551da177e4SLinus Torvalds help 15561da177e4SLinus Torvalds MIPS Technologies R5000-series processors other than the Nevada. 15571da177e4SLinus Torvalds 1558542c1020SShinya Kuribayashiconfig CPU_R5500 1559542c1020SShinya Kuribayashi bool "R5500" 1560542c1020SShinya Kuribayashi depends on SYS_HAS_CPU_R5500 1561542c1020SShinya Kuribayashi select CPU_SUPPORTS_32BIT_KERNEL 1562542c1020SShinya Kuribayashi select CPU_SUPPORTS_64BIT_KERNEL 15639cffd154SDavid Daney select CPU_SUPPORTS_HUGEPAGES 1564542c1020SShinya Kuribayashi help 1565542c1020SShinya Kuribayashi NEC VR5500 and VR5500A series processors implement 64-bit MIPS IV 1566542c1020SShinya Kuribayashi instruction set. 1567542c1020SShinya Kuribayashi 15681da177e4SLinus Torvaldsconfig CPU_NEVADA 15691da177e4SLinus Torvalds bool "RM52xx" 15707cf8053bSRalf Baechle depends on SYS_HAS_CPU_NEVADA 1571ed5ba2fbSYoichi Yuasa select CPU_SUPPORTS_32BIT_KERNEL 1572ed5ba2fbSYoichi Yuasa select CPU_SUPPORTS_64BIT_KERNEL 1573970d032fSRalf Baechle select CPU_SUPPORTS_HUGEPAGES 15741da177e4SLinus Torvalds help 15751da177e4SLinus Torvalds QED / PMC-Sierra RM52xx-series ("Nevada") processors. 15761da177e4SLinus Torvalds 15771da177e4SLinus Torvaldsconfig CPU_R10000 15781da177e4SLinus Torvalds bool "R10000" 15797cf8053bSRalf Baechle depends on SYS_HAS_CPU_R10000 15805e83d430SRalf Baechle select CPU_HAS_PREFETCH 1581ed5ba2fbSYoichi Yuasa select CPU_SUPPORTS_32BIT_KERNEL 1582ed5ba2fbSYoichi Yuasa select CPU_SUPPORTS_64BIT_KERNEL 1583797798c1SRalf Baechle select CPU_SUPPORTS_HIGHMEM 1584970d032fSRalf Baechle select CPU_SUPPORTS_HUGEPAGES 15851da177e4SLinus Torvalds help 15861da177e4SLinus Torvalds MIPS Technologies R10000-series processors. 15871da177e4SLinus Torvalds 15881da177e4SLinus Torvaldsconfig CPU_RM7000 15891da177e4SLinus Torvalds bool "RM7000" 15907cf8053bSRalf Baechle depends on SYS_HAS_CPU_RM7000 15915e83d430SRalf Baechle select CPU_HAS_PREFETCH 1592ed5ba2fbSYoichi Yuasa select CPU_SUPPORTS_32BIT_KERNEL 1593ed5ba2fbSYoichi Yuasa select CPU_SUPPORTS_64BIT_KERNEL 1594797798c1SRalf Baechle select CPU_SUPPORTS_HIGHMEM 1595970d032fSRalf Baechle select CPU_SUPPORTS_HUGEPAGES 15961da177e4SLinus Torvalds 15971da177e4SLinus Torvaldsconfig CPU_SB1 15981da177e4SLinus Torvalds bool "SB1" 15997cf8053bSRalf Baechle depends on SYS_HAS_CPU_SB1 1600ed5ba2fbSYoichi Yuasa select CPU_SUPPORTS_32BIT_KERNEL 1601ed5ba2fbSYoichi Yuasa select CPU_SUPPORTS_64BIT_KERNEL 1602797798c1SRalf Baechle select CPU_SUPPORTS_HIGHMEM 1603970d032fSRalf Baechle select CPU_SUPPORTS_HUGEPAGES 16040004a9dfSRalf Baechle select WEAK_ORDERING 16051da177e4SLinus Torvalds 1606a86c7f72SDavid Daneyconfig CPU_CAVIUM_OCTEON 1607a86c7f72SDavid Daney bool "Cavium Octeon processor" 16085e683389SDavid Daney depends on SYS_HAS_CPU_CAVIUM_OCTEON 1609a86c7f72SDavid Daney select CPU_HAS_PREFETCH 1610a86c7f72SDavid Daney select CPU_SUPPORTS_64BIT_KERNEL 1611a86c7f72SDavid Daney select WEAK_ORDERING 1612a86c7f72SDavid Daney select CPU_SUPPORTS_HIGHMEM 16139cffd154SDavid Daney select CPU_SUPPORTS_HUGEPAGES 1614df115f3eSBen Hutchings select USB_EHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN 1615df115f3eSBen Hutchings select USB_OHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN 1616930beb5aSFlorian Fainelli select MIPS_L1_CACHE_SHIFT_7 16170ae3abcdSJames Hogan select HAVE_KVM 1618a86c7f72SDavid Daney help 1619a86c7f72SDavid Daney The Cavium Octeon processor is a highly integrated chip containing 1620a86c7f72SDavid Daney many ethernet hardware widgets for networking tasks. The processor 1621a86c7f72SDavid Daney can have up to 16 Mips64v2 cores and 8 integrated gigabit ethernets. 1622a86c7f72SDavid Daney Full details can be found at http://www.caviumnetworks.com. 1623a86c7f72SDavid Daney 1624cd746249SJonas Gorskiconfig CPU_BMIPS 1625cd746249SJonas Gorski bool "Broadcom BMIPS" 1626cd746249SJonas Gorski depends on SYS_HAS_CPU_BMIPS 1627cd746249SJonas Gorski select CPU_MIPS32 1628fe7f62c0SJonas Gorski select CPU_BMIPS32_3300 if SYS_HAS_CPU_BMIPS32_3300 1629cd746249SJonas Gorski select CPU_BMIPS4350 if SYS_HAS_CPU_BMIPS4350 1630cd746249SJonas Gorski select CPU_BMIPS4380 if SYS_HAS_CPU_BMIPS4380 1631cd746249SJonas Gorski select CPU_BMIPS5000 if SYS_HAS_CPU_BMIPS5000 1632cd746249SJonas Gorski select CPU_SUPPORTS_32BIT_KERNEL 1633cd746249SJonas Gorski select DMA_NONCOHERENT 163467e38cf2SRalf Baechle select IRQ_MIPS_CPU 1635cd746249SJonas Gorski select SWAP_IO_SPACE 1636cd746249SJonas Gorski select WEAK_ORDERING 1637c1c0c461SKevin Cernekee select CPU_SUPPORTS_HIGHMEM 163869aaf9c8SJonas Gorski select CPU_HAS_PREFETCH 1639a8d709b0SMarkus Mayer select CPU_SUPPORTS_CPUFREQ 1640a8d709b0SMarkus Mayer select MIPS_EXTERNAL_TIMER 1641bf8bde41SFlorian Fainelli select GENERIC_IRQ_MIGRATION if HOTPLUG_CPU 1642c1c0c461SKevin Cernekee help 1643fe7f62c0SJonas Gorski Support for BMIPS32/3300/4350/4380 and BMIPS5000 processors. 1644c1c0c461SKevin Cernekee 16451da177e4SLinus Torvaldsendchoice 16461da177e4SLinus Torvalds 1647a6e18781SLeonid Yegoshinconfig CPU_MIPS32_3_5_FEATURES 1648a6e18781SLeonid Yegoshin bool "MIPS32 Release 3.5 Features" 1649a6e18781SLeonid Yegoshin depends on SYS_HAS_CPU_MIPS32_R3_5 1650281e3aeaSSerge Semin depends on CPU_MIPS32_R2 || CPU_MIPS32_R5 || CPU_MIPS32_R6 || \ 1651281e3aeaSSerge Semin CPU_P5600 1652a6e18781SLeonid Yegoshin help 1653a6e18781SLeonid Yegoshin Choose this option to build a kernel for release 2 or later of the 1654a6e18781SLeonid Yegoshin MIPS32 architecture including features from the 3.5 release such as 1655a6e18781SLeonid Yegoshin support for Enhanced Virtual Addressing (EVA). 1656a6e18781SLeonid Yegoshin 1657a6e18781SLeonid Yegoshinconfig CPU_MIPS32_3_5_EVA 1658a6e18781SLeonid Yegoshin bool "Enhanced Virtual Addressing (EVA)" 1659a6e18781SLeonid Yegoshin depends on CPU_MIPS32_3_5_FEATURES 1660a6e18781SLeonid Yegoshin select EVA 1661a6e18781SLeonid Yegoshin default y 1662a6e18781SLeonid Yegoshin help 1663a6e18781SLeonid Yegoshin Choose this option if you want to enable the Enhanced Virtual 1664a6e18781SLeonid Yegoshin Addressing (EVA) on your MIPS32 core (such as proAptiv). 1665a6e18781SLeonid Yegoshin One of its primary benefits is an increase in the maximum size 1666a6e18781SLeonid Yegoshin of lowmem (up to 3GB). If unsure, say 'N' here. 1667a6e18781SLeonid Yegoshin 1668c5b36783SSteven J. Hillconfig CPU_MIPS32_R5_FEATURES 1669c5b36783SSteven J. Hill bool "MIPS32 Release 5 Features" 1670c5b36783SSteven J. Hill depends on SYS_HAS_CPU_MIPS32_R5 1671281e3aeaSSerge Semin depends on CPU_MIPS32_R2 || CPU_MIPS32_R5 || CPU_P5600 1672c5b36783SSteven J. Hill help 1673c5b36783SSteven J. Hill Choose this option to build a kernel for release 2 or later of the 1674c5b36783SSteven J. Hill MIPS32 architecture including features from release 5 such as 1675c5b36783SSteven J. Hill support for Extended Physical Addressing (XPA). 1676c5b36783SSteven J. Hill 1677c5b36783SSteven J. Hillconfig CPU_MIPS32_R5_XPA 1678c5b36783SSteven J. Hill bool "Extended Physical Addressing (XPA)" 1679c5b36783SSteven J. Hill depends on CPU_MIPS32_R5_FEATURES 1680c5b36783SSteven J. Hill depends on !EVA 1681c5b36783SSteven J. Hill depends on !PAGE_SIZE_4KB 1682c5b36783SSteven J. Hill depends on SYS_SUPPORTS_HIGHMEM 1683c5b36783SSteven J. Hill select XPA 1684c5b36783SSteven J. Hill select HIGHMEM 1685d4a451d5SChristoph Hellwig select PHYS_ADDR_T_64BIT 1686c5b36783SSteven J. Hill default n 1687c5b36783SSteven J. Hill help 1688c5b36783SSteven J. Hill Choose this option if you want to enable the Extended Physical 1689c5b36783SSteven J. Hill Addressing (XPA) on your MIPS32 core (such as P5600 series). The 1690c5b36783SSteven J. Hill benefit is to increase physical addressing equal to or greater 1691c5b36783SSteven J. Hill than 40 bits. Note that this has the side effect of turning on 1692c5b36783SSteven J. Hill 64-bit addressing which in turn makes the PTEs 64-bit in size. 1693c5b36783SSteven J. Hill If unsure, say 'N' here. 1694c5b36783SSteven J. Hill 1695622844bfSWu Zhangjinif CPU_LOONGSON2F 1696622844bfSWu Zhangjinconfig CPU_NOP_WORKAROUNDS 1697622844bfSWu Zhangjin bool 1698622844bfSWu Zhangjin 1699622844bfSWu Zhangjinconfig CPU_JUMP_WORKAROUNDS 1700622844bfSWu Zhangjin bool 1701622844bfSWu Zhangjin 1702622844bfSWu Zhangjinconfig CPU_LOONGSON2F_WORKAROUNDS 1703622844bfSWu Zhangjin bool "Loongson 2F Workarounds" 1704622844bfSWu Zhangjin default y 1705622844bfSWu Zhangjin select CPU_NOP_WORKAROUNDS 1706622844bfSWu Zhangjin select CPU_JUMP_WORKAROUNDS 1707622844bfSWu Zhangjin help 1708622844bfSWu Zhangjin Loongson 2F01 / 2F02 processors have the NOP & JUMP issues which 1709622844bfSWu Zhangjin require workarounds. Without workarounds the system may hang 1710622844bfSWu Zhangjin unexpectedly. For more information please refer to the gas 1711622844bfSWu Zhangjin -mfix-loongson2f-nop and -mfix-loongson2f-jump options. 1712622844bfSWu Zhangjin 1713622844bfSWu Zhangjin Loongson 2F03 and later have fixed these issues and no workarounds 1714622844bfSWu Zhangjin are needed. The workarounds have no significant side effect on them 1715622844bfSWu Zhangjin but may decrease the performance of the system so this option should 1716622844bfSWu Zhangjin be disabled unless the kernel is intended to be run on 2F01 or 2F02 1717622844bfSWu Zhangjin systems. 1718622844bfSWu Zhangjin 1719622844bfSWu Zhangjin If unsure, please say Y. 1720622844bfSWu Zhangjinendif # CPU_LOONGSON2F 1721622844bfSWu Zhangjin 17221b93b3c3SWu Zhangjinconfig SYS_SUPPORTS_ZBOOT 17231b93b3c3SWu Zhangjin bool 17241b93b3c3SWu Zhangjin select HAVE_KERNEL_GZIP 17251b93b3c3SWu Zhangjin select HAVE_KERNEL_BZIP2 172631c4867dSFlorian Fainelli select HAVE_KERNEL_LZ4 17271b93b3c3SWu Zhangjin select HAVE_KERNEL_LZMA 1728fe1d45e0SWu Zhangjin select HAVE_KERNEL_LZO 17294e23eb63SFlorian Fainelli select HAVE_KERNEL_XZ 1730a510b616SPaul Cercueil select HAVE_KERNEL_ZSTD 17311b93b3c3SWu Zhangjin 17321b93b3c3SWu Zhangjinconfig SYS_SUPPORTS_ZBOOT_UART16550 17331b93b3c3SWu Zhangjin bool 17341b93b3c3SWu Zhangjin select SYS_SUPPORTS_ZBOOT 17351b93b3c3SWu Zhangjin 1736dbb98314SAlban Bedelconfig SYS_SUPPORTS_ZBOOT_UART_PROM 1737dbb98314SAlban Bedel bool 1738dbb98314SAlban Bedel select SYS_SUPPORTS_ZBOOT 1739dbb98314SAlban Bedel 1740268a2d60SJiaxun Yangconfig CPU_LOONGSON2EF 17413702bba5SWu Zhangjin bool 17423702bba5SWu Zhangjin select CPU_SUPPORTS_32BIT_KERNEL 17433702bba5SWu Zhangjin select CPU_SUPPORTS_64BIT_KERNEL 17443702bba5SWu Zhangjin select CPU_SUPPORTS_HIGHMEM 1745970d032fSRalf Baechle select CPU_SUPPORTS_HUGEPAGES 17463702bba5SWu Zhangjin 1747b2afb64cSHuacai Chenconfig CPU_LOONGSON32 1748ca585cf9SKelvin Cheung bool 1749ca585cf9SKelvin Cheung select CPU_MIPS32 17507e280f6bSJiaxun Yang select CPU_MIPSR2 1751ca585cf9SKelvin Cheung select CPU_HAS_PREFETCH 1752ca585cf9SKelvin Cheung select CPU_SUPPORTS_32BIT_KERNEL 1753ca585cf9SKelvin Cheung select CPU_SUPPORTS_HIGHMEM 1754f29ad10dSKelvin Cheung select CPU_SUPPORTS_CPUFREQ 1755ca585cf9SKelvin Cheung 1756fe7f62c0SJonas Gorskiconfig CPU_BMIPS32_3300 175704fa8bf7SJonas Gorski select SMP_UP if SMP 17581bbb6c1bSKevin Cernekee bool 1759cd746249SJonas Gorski 1760cd746249SJonas Gorskiconfig CPU_BMIPS4350 1761cd746249SJonas Gorski bool 1762cd746249SJonas Gorski select SYS_SUPPORTS_SMP 1763cd746249SJonas Gorski select SYS_SUPPORTS_HOTPLUG_CPU 1764cd746249SJonas Gorski 1765cd746249SJonas Gorskiconfig CPU_BMIPS4380 1766cd746249SJonas Gorski bool 1767bbf2ba67SKevin Cernekee select MIPS_L1_CACHE_SHIFT_6 1768cd746249SJonas Gorski select SYS_SUPPORTS_SMP 1769cd746249SJonas Gorski select SYS_SUPPORTS_HOTPLUG_CPU 1770b4720809SFlorian Fainelli select CPU_HAS_RIXI 1771cd746249SJonas Gorski 1772cd746249SJonas Gorskiconfig CPU_BMIPS5000 1773cd746249SJonas Gorski bool 1774cd746249SJonas Gorski select MIPS_CPU_SCACHE 1775bbf2ba67SKevin Cernekee select MIPS_L1_CACHE_SHIFT_7 1776cd746249SJonas Gorski select SYS_SUPPORTS_SMP 1777cd746249SJonas Gorski select SYS_SUPPORTS_HOTPLUG_CPU 1778b4720809SFlorian Fainelli select CPU_HAS_RIXI 17791bbb6c1bSKevin Cernekee 1780268a2d60SJiaxun Yangconfig SYS_HAS_CPU_LOONGSON64 17810e476d91SHuacai Chen bool 17820e476d91SHuacai Chen select CPU_SUPPORTS_CPUFREQ 1783b2edcfc8SHuacai Chen select CPU_HAS_RIXI 17840e476d91SHuacai Chen 17853702bba5SWu Zhangjinconfig SYS_HAS_CPU_LOONGSON2E 17862a21c730SFuxin Zhang bool 17872a21c730SFuxin Zhang 17886f7a251aSWu Zhangjinconfig SYS_HAS_CPU_LOONGSON2F 17896f7a251aSWu Zhangjin bool 179055045ff5SWu Zhangjin select CPU_SUPPORTS_CPUFREQ 179155045ff5SWu Zhangjin select CPU_SUPPORTS_ADDRWINCFG if 64BIT 17926f7a251aSWu Zhangjin 1793ca585cf9SKelvin Cheungconfig SYS_HAS_CPU_LOONGSON1B 1794ca585cf9SKelvin Cheung bool 1795ca585cf9SKelvin Cheung 179612e3280bSYang Lingconfig SYS_HAS_CPU_LOONGSON1C 179712e3280bSYang Ling bool 179812e3280bSYang Ling 17997cf8053bSRalf Baechleconfig SYS_HAS_CPU_MIPS32_R1 18007cf8053bSRalf Baechle bool 18017cf8053bSRalf Baechle 18027cf8053bSRalf Baechleconfig SYS_HAS_CPU_MIPS32_R2 18037cf8053bSRalf Baechle bool 18047cf8053bSRalf Baechle 1805a6e18781SLeonid Yegoshinconfig SYS_HAS_CPU_MIPS32_R3_5 1806a6e18781SLeonid Yegoshin bool 1807a6e18781SLeonid Yegoshin 1808c5b36783SSteven J. Hillconfig SYS_HAS_CPU_MIPS32_R5 1809c5b36783SSteven J. Hill bool 1810c5b36783SSteven J. Hill 18117fd08ca5SLeonid Yegoshinconfig SYS_HAS_CPU_MIPS32_R6 18127fd08ca5SLeonid Yegoshin bool 18137fd08ca5SLeonid Yegoshin 18147cf8053bSRalf Baechleconfig SYS_HAS_CPU_MIPS64_R1 18157cf8053bSRalf Baechle bool 18167cf8053bSRalf Baechle 18177cf8053bSRalf Baechleconfig SYS_HAS_CPU_MIPS64_R2 18187cf8053bSRalf Baechle bool 18197cf8053bSRalf Baechle 1820fd4eb90bSLukas Bulwahnconfig SYS_HAS_CPU_MIPS64_R5 1821fd4eb90bSLukas Bulwahn bool 1822fd4eb90bSLukas Bulwahn 18237fd08ca5SLeonid Yegoshinconfig SYS_HAS_CPU_MIPS64_R6 18247fd08ca5SLeonid Yegoshin bool 18257fd08ca5SLeonid Yegoshin 1826281e3aeaSSerge Seminconfig SYS_HAS_CPU_P5600 1827281e3aeaSSerge Semin bool 1828281e3aeaSSerge Semin 18297cf8053bSRalf Baechleconfig SYS_HAS_CPU_R3000 18307cf8053bSRalf Baechle bool 18317cf8053bSRalf Baechle 183265ce6197SLauri Kasanenconfig SYS_HAS_CPU_R4300 183365ce6197SLauri Kasanen bool 183465ce6197SLauri Kasanen 18357cf8053bSRalf Baechleconfig SYS_HAS_CPU_R4X00 18367cf8053bSRalf Baechle bool 18377cf8053bSRalf Baechle 18387cf8053bSRalf Baechleconfig SYS_HAS_CPU_TX49XX 18397cf8053bSRalf Baechle bool 18407cf8053bSRalf Baechle 18417cf8053bSRalf Baechleconfig SYS_HAS_CPU_R5000 18427cf8053bSRalf Baechle bool 18437cf8053bSRalf Baechle 1844542c1020SShinya Kuribayashiconfig SYS_HAS_CPU_R5500 1845542c1020SShinya Kuribayashi bool 1846542c1020SShinya Kuribayashi 18477cf8053bSRalf Baechleconfig SYS_HAS_CPU_NEVADA 18487cf8053bSRalf Baechle bool 18497cf8053bSRalf Baechle 18507cf8053bSRalf Baechleconfig SYS_HAS_CPU_R10000 18517cf8053bSRalf Baechle bool 18527cf8053bSRalf Baechle 18537cf8053bSRalf Baechleconfig SYS_HAS_CPU_RM7000 18547cf8053bSRalf Baechle bool 18557cf8053bSRalf Baechle 18567cf8053bSRalf Baechleconfig SYS_HAS_CPU_SB1 18577cf8053bSRalf Baechle bool 18587cf8053bSRalf Baechle 18595e683389SDavid Daneyconfig SYS_HAS_CPU_CAVIUM_OCTEON 18605e683389SDavid Daney bool 18615e683389SDavid Daney 1862cd746249SJonas Gorskiconfig SYS_HAS_CPU_BMIPS 1863c1c0c461SKevin Cernekee bool 1864c1c0c461SKevin Cernekee 1865fe7f62c0SJonas Gorskiconfig SYS_HAS_CPU_BMIPS32_3300 1866c1c0c461SKevin Cernekee bool 1867cd746249SJonas Gorski select SYS_HAS_CPU_BMIPS 1868c1c0c461SKevin Cernekee 1869c1c0c461SKevin Cernekeeconfig SYS_HAS_CPU_BMIPS4350 1870c1c0c461SKevin Cernekee bool 1871cd746249SJonas Gorski select SYS_HAS_CPU_BMIPS 1872c1c0c461SKevin Cernekee 1873c1c0c461SKevin Cernekeeconfig SYS_HAS_CPU_BMIPS4380 1874c1c0c461SKevin Cernekee bool 1875cd746249SJonas Gorski select SYS_HAS_CPU_BMIPS 1876c1c0c461SKevin Cernekee 1877c1c0c461SKevin Cernekeeconfig SYS_HAS_CPU_BMIPS5000 1878c1c0c461SKevin Cernekee bool 1879cd746249SJonas Gorski select SYS_HAS_CPU_BMIPS 1880c1c0c461SKevin Cernekee 188117099b11SRalf Baechle# 188217099b11SRalf Baechle# CPU may reorder R->R, R->W, W->R, W->W 188317099b11SRalf Baechle# Reordering beyond LL and SC is handled in WEAK_REORDERING_BEYOND_LLSC 188417099b11SRalf Baechle# 18850004a9dfSRalf Baechleconfig WEAK_ORDERING 18860004a9dfSRalf Baechle bool 188717099b11SRalf Baechle 188817099b11SRalf Baechle# 188917099b11SRalf Baechle# CPU may reorder reads and writes beyond LL/SC 189017099b11SRalf Baechle# CPU may reorder R->LL, R->LL, W->LL, W->LL, R->SC, R->SC, W->SC, W->SC 189117099b11SRalf Baechle# 189217099b11SRalf Baechleconfig WEAK_REORDERING_BEYOND_LLSC 189317099b11SRalf Baechle bool 18945e83d430SRalf Baechleendmenu 18955e83d430SRalf Baechle 18965e83d430SRalf Baechle# 18975e83d430SRalf Baechle# These two indicate any level of the MIPS32 and MIPS64 architecture 18985e83d430SRalf Baechle# 18995e83d430SRalf Baechleconfig CPU_MIPS32 19005e83d430SRalf Baechle bool 1901ab7c01fdSSerge Semin default y if CPU_MIPS32_R1 || CPU_MIPS32_R2 || CPU_MIPS32_R5 || \ 1902281e3aeaSSerge Semin CPU_MIPS32_R6 || CPU_P5600 19035e83d430SRalf Baechle 19045e83d430SRalf Baechleconfig CPU_MIPS64 19055e83d430SRalf Baechle bool 1906ab7c01fdSSerge Semin default y if CPU_MIPS64_R1 || CPU_MIPS64_R2 || CPU_MIPS64_R5 || \ 19075a4fa44fSJason A. Donenfeld CPU_MIPS64_R6 || CPU_LOONGSON64 || CPU_CAVIUM_OCTEON 19085e83d430SRalf Baechle 19095e83d430SRalf Baechle# 191057eeacedSPaul Burton# These indicate the revision of the architecture 19115e83d430SRalf Baechle# 19125e83d430SRalf Baechleconfig CPU_MIPSR1 19135e83d430SRalf Baechle bool 19145e83d430SRalf Baechle default y if CPU_MIPS32_R1 || CPU_MIPS64_R1 19155e83d430SRalf Baechle 19165e83d430SRalf Baechleconfig CPU_MIPSR2 19175e83d430SRalf Baechle bool 1918a86c7f72SDavid Daney default y if CPU_MIPS32_R2 || CPU_MIPS64_R2 || CPU_CAVIUM_OCTEON 19198256b17eSFlorian Fainelli select CPU_HAS_RIXI 1920ba9196d2SJiaxun Yang select CPU_HAS_DIEI if !CPU_DIEI_BROKEN 1921a7e07b1aSMarkos Chandras select MIPS_SPRAM 19225e83d430SRalf Baechle 1923ab7c01fdSSerge Seminconfig CPU_MIPSR5 1924ab7c01fdSSerge Semin bool 1925281e3aeaSSerge Semin default y if CPU_MIPS32_R5 || CPU_MIPS64_R5 || CPU_P5600 1926ab7c01fdSSerge Semin select CPU_HAS_RIXI 1927ab7c01fdSSerge Semin select CPU_HAS_DIEI if !CPU_DIEI_BROKEN 1928ab7c01fdSSerge Semin select MIPS_SPRAM 1929ab7c01fdSSerge Semin 19307fd08ca5SLeonid Yegoshinconfig CPU_MIPSR6 19317fd08ca5SLeonid Yegoshin bool 19327fd08ca5SLeonid Yegoshin default y if CPU_MIPS32_R6 || CPU_MIPS64_R6 19338256b17eSFlorian Fainelli select CPU_HAS_RIXI 1934ba9196d2SJiaxun Yang select CPU_HAS_DIEI if !CPU_DIEI_BROKEN 193587321fddSPaul Burton select HAVE_ARCH_BITREVERSE 19362db003a5SPaul Burton select MIPS_ASID_BITS_VARIABLE 19374a5dc51eSMarcin Nowakowski select MIPS_CRC_SUPPORT 1938a7e07b1aSMarkos Chandras select MIPS_SPRAM 19395e83d430SRalf Baechle 194057eeacedSPaul Burtonconfig TARGET_ISA_REV 194157eeacedSPaul Burton int 194257eeacedSPaul Burton default 1 if CPU_MIPSR1 194357eeacedSPaul Burton default 2 if CPU_MIPSR2 1944ab7c01fdSSerge Semin default 5 if CPU_MIPSR5 194557eeacedSPaul Burton default 6 if CPU_MIPSR6 194657eeacedSPaul Burton default 0 194757eeacedSPaul Burton help 194857eeacedSPaul Burton Reflects the ISA revision being targeted by the kernel build. This 194957eeacedSPaul Burton is effectively the Kconfig equivalent of MIPS_ISA_REV. 195057eeacedSPaul Burton 1951a6e18781SLeonid Yegoshinconfig EVA 1952a6e18781SLeonid Yegoshin bool 1953a6e18781SLeonid Yegoshin 1954c5b36783SSteven J. Hillconfig XPA 1955c5b36783SSteven J. Hill bool 1956c5b36783SSteven J. Hill 19575e83d430SRalf Baechleconfig SYS_SUPPORTS_32BIT_KERNEL 19585e83d430SRalf Baechle bool 19595e83d430SRalf Baechleconfig SYS_SUPPORTS_64BIT_KERNEL 19605e83d430SRalf Baechle bool 19615e83d430SRalf Baechleconfig CPU_SUPPORTS_32BIT_KERNEL 19625e83d430SRalf Baechle bool 19635e83d430SRalf Baechleconfig CPU_SUPPORTS_64BIT_KERNEL 19645e83d430SRalf Baechle bool 196555045ff5SWu Zhangjinconfig CPU_SUPPORTS_CPUFREQ 196655045ff5SWu Zhangjin bool 196755045ff5SWu Zhangjinconfig CPU_SUPPORTS_ADDRWINCFG 196855045ff5SWu Zhangjin bool 19699cffd154SDavid Daneyconfig CPU_SUPPORTS_HUGEPAGES 19709cffd154SDavid Daney bool 1971a670c82dSLukas Bulwahn depends on !(32BIT && (PHYS_ADDR_T_64BIT || EVA)) 197282622284SDavid Daneyconfig MIPS_PGD_C0_CONTEXT 197382622284SDavid Daney bool 1974c6972fb9SHuang Pei depends on 64BIT 197595b8a5e0SThomas Bogendoerfer default y if (CPU_MIPSR2 || CPU_MIPSR6) 19765e83d430SRalf Baechle 19778192c9eaSDavid Daney# 19788192c9eaSDavid Daney# Set to y for ptrace access to watch registers. 19798192c9eaSDavid Daney# 19808192c9eaSDavid Daneyconfig HARDWARE_WATCHPOINTS 19818192c9eaSDavid Daney bool 1982679eb637SJames Hogan default y if CPU_MIPSR1 || CPU_MIPSR2 || CPU_MIPSR6 19838192c9eaSDavid Daney 19845e83d430SRalf Baechlemenu "Kernel type" 19855e83d430SRalf Baechle 19865e83d430SRalf Baechlechoice 19875e83d430SRalf Baechle prompt "Kernel code model" 19885e83d430SRalf Baechle help 19895e83d430SRalf Baechle You should only select this option if you have a workload that 19905e83d430SRalf Baechle actually benefits from 64-bit processing or if your machine has 19915e83d430SRalf Baechle large memory. You will only be presented a single option in this 19925e83d430SRalf Baechle menu if your system does not support both 32-bit and 64-bit kernels. 19935e83d430SRalf Baechle 19945e83d430SRalf Baechleconfig 32BIT 19955e83d430SRalf Baechle bool "32-bit kernel" 19965e83d430SRalf Baechle depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL 19975e83d430SRalf Baechle select TRAD_SIGNALS 19985e83d430SRalf Baechle help 19995e83d430SRalf Baechle Select this option if you want to build a 32-bit kernel. 2000f17c4ca3SRalf Baechle 20015e83d430SRalf Baechleconfig 64BIT 20025e83d430SRalf Baechle bool "64-bit kernel" 20035e83d430SRalf Baechle depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL 20045e83d430SRalf Baechle help 20055e83d430SRalf Baechle Select this option if you want to build a 64-bit kernel. 20065e83d430SRalf Baechle 20075e83d430SRalf Baechleendchoice 20085e83d430SRalf Baechle 20091e321fa9SLeonid Yegoshinconfig MIPS_VA_BITS_48 20101e321fa9SLeonid Yegoshin bool "48 bits virtual memory" 20111e321fa9SLeonid Yegoshin depends on 64BIT 20121e321fa9SLeonid Yegoshin help 20133377e227SAlex Belits Support a maximum at least 48 bits of application virtual 20143377e227SAlex Belits memory. Default is 40 bits or less, depending on the CPU. 20153377e227SAlex Belits For page sizes 16k and above, this option results in a small 20163377e227SAlex Belits memory overhead for page tables. For 4k page size, a fourth 20173377e227SAlex Belits level of page tables is added which imposes both a memory 20183377e227SAlex Belits overhead as well as slower TLB fault handling. 20193377e227SAlex Belits 20201e321fa9SLeonid Yegoshin If unsure, say N. 20211e321fa9SLeonid Yegoshin 202279876cc1SYunQiang Suconfig ZBOOT_LOAD_ADDRESS 202379876cc1SYunQiang Su hex "Compressed kernel load address" 202479876cc1SYunQiang Su default 0xffffffff80400000 if BCM47XX 202579876cc1SYunQiang Su default 0x0 202679876cc1SYunQiang Su depends on SYS_SUPPORTS_ZBOOT 202779876cc1SYunQiang Su help 202879876cc1SYunQiang Su The address to load compressed kernel, aka vmlinuz. 202979876cc1SYunQiang Su 203079876cc1SYunQiang Su This is only used if non-zero. 203179876cc1SYunQiang Su 20321da177e4SLinus Torvaldschoice 20331da177e4SLinus Torvalds prompt "Kernel page size" 20341da177e4SLinus Torvalds default PAGE_SIZE_4KB 20351da177e4SLinus Torvalds 20361da177e4SLinus Torvaldsconfig PAGE_SIZE_4KB 20371da177e4SLinus Torvalds bool "4kB" 2038268a2d60SJiaxun Yang depends on !CPU_LOONGSON2EF && !CPU_LOONGSON64 20391da177e4SLinus Torvalds help 20401da177e4SLinus Torvalds This option select the standard 4kB Linux page size. On some 20411da177e4SLinus Torvalds R3000-family processors this is the only available page size. Using 20421da177e4SLinus Torvalds 4kB page size will minimize memory consumption and is therefore 20431da177e4SLinus Torvalds recommended for low memory systems. 20441da177e4SLinus Torvalds 20451da177e4SLinus Torvaldsconfig PAGE_SIZE_8KB 20461da177e4SLinus Torvalds bool "8kB" 2047c2aeaaeaSPaul Burton depends on CPU_CAVIUM_OCTEON 20481e321fa9SLeonid Yegoshin depends on !MIPS_VA_BITS_48 20491da177e4SLinus Torvalds help 20501da177e4SLinus Torvalds Using 8kB page size will result in higher performance kernel at 20511da177e4SLinus Torvalds the price of higher memory consumption. This option is available 2052c2aeaaeaSPaul Burton only on cnMIPS processors. Note that you will need a suitable Linux 2053c2aeaaeaSPaul Burton distribution to support this. 20541da177e4SLinus Torvalds 20551da177e4SLinus Torvaldsconfig PAGE_SIZE_16KB 20561da177e4SLinus Torvalds bool "16kB" 2057455481fcSThomas Bogendoerfer depends on !CPU_R3000 20581da177e4SLinus Torvalds help 20591da177e4SLinus Torvalds Using 16kB page size will result in higher performance kernel at 20601da177e4SLinus Torvalds the price of higher memory consumption. This option is available on 2061714bfad6SRalf Baechle all non-R3000 family processors. Note that you will need a suitable 2062714bfad6SRalf Baechle Linux distribution to support this. 20631da177e4SLinus Torvalds 2064c52399beSRalf Baechleconfig PAGE_SIZE_32KB 2065c52399beSRalf Baechle bool "32kB" 2066c52399beSRalf Baechle depends on CPU_CAVIUM_OCTEON 20671e321fa9SLeonid Yegoshin depends on !MIPS_VA_BITS_48 2068c52399beSRalf Baechle help 2069c52399beSRalf Baechle Using 32kB page size will result in higher performance kernel at 2070c52399beSRalf Baechle the price of higher memory consumption. This option is available 2071c52399beSRalf Baechle only on cnMIPS cores. Note that you will need a suitable Linux 2072c52399beSRalf Baechle distribution to support this. 2073c52399beSRalf Baechle 20741da177e4SLinus Torvaldsconfig PAGE_SIZE_64KB 20751da177e4SLinus Torvalds bool "64kB" 2076455481fcSThomas Bogendoerfer depends on !CPU_R3000 20771da177e4SLinus Torvalds help 20781da177e4SLinus Torvalds Using 64kB page size will result in higher performance kernel at 20791da177e4SLinus Torvalds the price of higher memory consumption. This option is available on 20801da177e4SLinus Torvalds all non-R3000 family processor. Not that at the time of this 2081714bfad6SRalf Baechle writing this option is still high experimental. 20821da177e4SLinus Torvalds 20831da177e4SLinus Torvaldsendchoice 20841da177e4SLinus Torvalds 20850192445cSZi Yanconfig ARCH_FORCE_MAX_ORDER 2086c9bace7cSDavid Daney int "Maximum zone order" 208723baf831SKirill A. Shutemov default "13" if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_64KB 208823baf831SKirill A. Shutemov default "12" if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_32KB 208923baf831SKirill A. Shutemov default "11" if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_16KB 209023baf831SKirill A. Shutemov default "10" 2091c9bace7cSDavid Daney help 2092c9bace7cSDavid Daney The kernel memory allocator divides physically contiguous memory 2093c9bace7cSDavid Daney blocks into "zones", where each zone is a power of two number of 2094c9bace7cSDavid Daney pages. This option selects the largest power of two that the kernel 2095c9bace7cSDavid Daney keeps in the memory allocator. If you need to allocate very large 2096c9bace7cSDavid Daney blocks of physically contiguous memory, then you may need to 2097c9bace7cSDavid Daney increase this value. 2098c9bace7cSDavid Daney 2099c9bace7cSDavid Daney The page size is not necessarily 4KB. Keep this in mind 2100c9bace7cSDavid Daney when choosing a value for this option. 2101c9bace7cSDavid Daney 21021da177e4SLinus Torvaldsconfig BOARD_SCACHE 21031da177e4SLinus Torvalds bool 21041da177e4SLinus Torvalds 21051da177e4SLinus Torvaldsconfig IP22_CPU_SCACHE 21061da177e4SLinus Torvalds bool 21071da177e4SLinus Torvalds select BOARD_SCACHE 21081da177e4SLinus Torvalds 21099318c51aSChris Dearman# 21109318c51aSChris Dearman# Support for a MIPS32 / MIPS64 style S-caches 21119318c51aSChris Dearman# 21129318c51aSChris Dearmanconfig MIPS_CPU_SCACHE 21139318c51aSChris Dearman bool 21149318c51aSChris Dearman select BOARD_SCACHE 21159318c51aSChris Dearman 21161da177e4SLinus Torvaldsconfig R5000_CPU_SCACHE 21171da177e4SLinus Torvalds bool 21181da177e4SLinus Torvalds select BOARD_SCACHE 21191da177e4SLinus Torvalds 21201da177e4SLinus Torvaldsconfig RM7000_CPU_SCACHE 21211da177e4SLinus Torvalds bool 21221da177e4SLinus Torvalds select BOARD_SCACHE 21231da177e4SLinus Torvalds 21241da177e4SLinus Torvaldsconfig SIBYTE_DMA_PAGEOPS 21251da177e4SLinus Torvalds bool "Use DMA to clear/copy pages" 21261da177e4SLinus Torvalds depends on CPU_SB1 21271da177e4SLinus Torvalds help 21281da177e4SLinus Torvalds Instead of using the CPU to zero and copy pages, use a Data Mover 21291da177e4SLinus Torvalds channel. These DMA channels are otherwise unused by the standard 21301da177e4SLinus Torvalds SiByte Linux port. Seems to give a small performance benefit. 21311da177e4SLinus Torvalds 21321da177e4SLinus Torvaldsconfig CPU_HAS_PREFETCH 2133c8094b53SRalf Baechle bool 21341da177e4SLinus Torvalds 21353165c846SFlorian Fainelliconfig CPU_GENERIC_DUMP_TLB 21363165c846SFlorian Fainelli bool 2137455481fcSThomas Bogendoerfer default y if !CPU_R3000 21383165c846SFlorian Fainelli 2139c92e47e5SPaul Burtonconfig MIPS_FP_SUPPORT 2140183b40f9SPaul Burton bool "Floating Point support" if EXPERT 2141183b40f9SPaul Burton default y 2142183b40f9SPaul Burton help 2143183b40f9SPaul Burton Select y to include support for floating point in the kernel 2144183b40f9SPaul Burton including initialization of FPU hardware, FP context save & restore 2145183b40f9SPaul Burton and emulation of an FPU where necessary. Without this support any 2146183b40f9SPaul Burton userland program attempting to use floating point instructions will 2147183b40f9SPaul Burton receive a SIGILL. 2148183b40f9SPaul Burton 2149183b40f9SPaul Burton If you know that your userland will not attempt to use floating point 2150183b40f9SPaul Burton instructions then you can say n here to shrink the kernel a little. 2151183b40f9SPaul Burton 2152183b40f9SPaul Burton If unsure, say y. 2153c92e47e5SPaul Burton 215497f7dcbfSPaul Burtonconfig CPU_R2300_FPU 215597f7dcbfSPaul Burton bool 2156c92e47e5SPaul Burton depends on MIPS_FP_SUPPORT 2157455481fcSThomas Bogendoerfer default y if CPU_R3000 215897f7dcbfSPaul Burton 215954746829SPaul Burtonconfig CPU_R3K_TLB 216054746829SPaul Burton bool 216154746829SPaul Burton 216291405eb6SFlorian Fainelliconfig CPU_R4K_FPU 216391405eb6SFlorian Fainelli bool 2164c92e47e5SPaul Burton depends on MIPS_FP_SUPPORT 216597f7dcbfSPaul Burton default y if !CPU_R2300_FPU 216691405eb6SFlorian Fainelli 216762cedc4fSFlorian Fainelliconfig CPU_R4K_CACHE_TLB 216862cedc4fSFlorian Fainelli bool 216954746829SPaul Burton default y if !(CPU_R3K_TLB || CPU_SB1 || CPU_CAVIUM_OCTEON) 217062cedc4fSFlorian Fainelli 217159d6ab86SRalf Baechleconfig MIPS_MT_SMP 2172a92b7f87SMarkos Chandras bool "MIPS MT SMP support (1 TC on each available VPE)" 21735cbf9688SPaul Burton default y 2174527f1028SPaul Burton depends on SYS_SUPPORTS_MULTITHREADING && !CPU_MIPSR6 && !CPU_MICROMIPS 217559d6ab86SRalf Baechle select CPU_MIPSR2_IRQ_VI 2176d725cf38SChris Dearman select CPU_MIPSR2_IRQ_EI 2177c080faa5SSteven J. Hill select SYNC_R4K 217859d6ab86SRalf Baechle select MIPS_MT 217959d6ab86SRalf Baechle select SMP 218087353d8aSRalf Baechle select SMP_UP 2181c080faa5SSteven J. Hill select SYS_SUPPORTS_SMP 2182c080faa5SSteven J. Hill select SYS_SUPPORTS_SCHED_SMT 2183399aaa25SAl Cooper select MIPS_PERF_SHARED_TC_COUNTERS 218459d6ab86SRalf Baechle help 2185c080faa5SSteven J. Hill This is a kernel model which is known as SMVP. This is supported 2186c080faa5SSteven J. Hill on cores with the MT ASE and uses the available VPEs to implement 2187c080faa5SSteven J. Hill virtual processors which supports SMP. This is equivalent to the 2188c080faa5SSteven J. Hill Intel Hyperthreading feature. For further information go to 2189c080faa5SSteven J. Hill <http://www.imgtec.com/mips/mips-multithreading.asp>. 219059d6ab86SRalf Baechle 2191f41ae0b2SRalf Baechleconfig MIPS_MT 2192f41ae0b2SRalf Baechle bool 2193f41ae0b2SRalf Baechle 21940ab7aefcSRalf Baechleconfig SCHED_SMT 21950ab7aefcSRalf Baechle bool "SMT (multithreading) scheduler support" 21960ab7aefcSRalf Baechle depends on SYS_SUPPORTS_SCHED_SMT 21970ab7aefcSRalf Baechle default n 21980ab7aefcSRalf Baechle help 21990ab7aefcSRalf Baechle SMT scheduler support improves the CPU scheduler's decision making 22000ab7aefcSRalf Baechle when dealing with MIPS MT enabled cores at a cost of slightly 22010ab7aefcSRalf Baechle increased overhead in some places. If unsure say N here. 22020ab7aefcSRalf Baechle 22030ab7aefcSRalf Baechleconfig SYS_SUPPORTS_SCHED_SMT 22040ab7aefcSRalf Baechle bool 22050ab7aefcSRalf Baechle 2206f41ae0b2SRalf Baechleconfig SYS_SUPPORTS_MULTITHREADING 2207f41ae0b2SRalf Baechle bool 2208f41ae0b2SRalf Baechle 2209f088fc84SRalf Baechleconfig MIPS_MT_FPAFF 2210f088fc84SRalf Baechle bool "Dynamic FPU affinity for FP-intensive threads" 2211f088fc84SRalf Baechle default y 2212b633648cSRalf Baechle depends on MIPS_MT_SMP 221307cc0c9eSRalf Baechle 2214b0a668fbSLeonid Yegoshinconfig MIPSR2_TO_R6_EMULATOR 2215b0a668fbSLeonid Yegoshin bool "MIPS R2-to-R6 emulator" 22169eaa9a82SPaul Burton depends on CPU_MIPSR6 2217c92e47e5SPaul Burton depends on MIPS_FP_SUPPORT 2218b0a668fbSLeonid Yegoshin default y 2219b0a668fbSLeonid Yegoshin help 2220b0a668fbSLeonid Yegoshin Choose this option if you want to run non-R6 MIPS userland code. 2221b0a668fbSLeonid Yegoshin Even if you say 'Y' here, the emulator will still be disabled by 222207edf0d4SMarkos Chandras default. You can enable it using the 'mipsr2emu' kernel option. 2223b0a668fbSLeonid Yegoshin The only reason this is a build-time option is to save ~14K from the 2224b0a668fbSLeonid Yegoshin final kernel image. 2225b0a668fbSLeonid Yegoshin 2226f35764e7SJames Hoganconfig SYS_SUPPORTS_VPE_LOADER 2227f35764e7SJames Hogan bool 2228f35764e7SJames Hogan depends on SYS_SUPPORTS_MULTITHREADING 2229f35764e7SJames Hogan help 2230f35764e7SJames Hogan Indicates that the platform supports the VPE loader, and provides 2231f35764e7SJames Hogan physical_memsize. 2232f35764e7SJames Hogan 223307cc0c9eSRalf Baechleconfig MIPS_VPE_LOADER 223407cc0c9eSRalf Baechle bool "VPE loader support." 2235f35764e7SJames Hogan depends on SYS_SUPPORTS_VPE_LOADER && MODULES 223607cc0c9eSRalf Baechle select CPU_MIPSR2_IRQ_VI 223707cc0c9eSRalf Baechle select CPU_MIPSR2_IRQ_EI 223807cc0c9eSRalf Baechle select MIPS_MT 223907cc0c9eSRalf Baechle help 224007cc0c9eSRalf Baechle Includes a loader for loading an elf relocatable object 224107cc0c9eSRalf Baechle onto another VPE and running it. 2242f088fc84SRalf Baechle 22431a2a6d7eSDeng-Cheng Zhuconfig MIPS_VPE_LOADER_MT 22441a2a6d7eSDeng-Cheng Zhu bool 22451a2a6d7eSDeng-Cheng Zhu default "y" 22467fb6f7b0SThomas Bogendoerfer depends on MIPS_VPE_LOADER 22471a2a6d7eSDeng-Cheng Zhu 2248e01402b1SRalf Baechleconfig MIPS_VPE_LOADER_TOM 2249e01402b1SRalf Baechle bool "Load VPE program into memory hidden from linux" 2250e01402b1SRalf Baechle depends on MIPS_VPE_LOADER 2251e01402b1SRalf Baechle default y 2252e01402b1SRalf Baechle help 2253e01402b1SRalf Baechle The loader can use memory that is present but has been hidden from 2254e01402b1SRalf Baechle Linux using the kernel command line option "mem=xxMB". It's up to 2255e01402b1SRalf Baechle you to ensure the amount you put in the option and the space your 2256e01402b1SRalf Baechle program requires is less or equal to the amount physically present. 2257e01402b1SRalf Baechle 2258e01402b1SRalf Baechleconfig MIPS_VPE_APSP_API 2259e01402b1SRalf Baechle bool "Enable support for AP/SP API (RTLX)" 2260e01402b1SRalf Baechle depends on MIPS_VPE_LOADER 2261e01402b1SRalf Baechle 22622c973ef0SDeng-Cheng Zhuconfig MIPS_VPE_APSP_API_MT 22632c973ef0SDeng-Cheng Zhu bool 22642c973ef0SDeng-Cheng Zhu default "y" 22657fb6f7b0SThomas Bogendoerfer depends on MIPS_VPE_APSP_API 22665cac93b3SPaul Burton 22670ee958e1SPaul Burtonconfig MIPS_CPS 22680ee958e1SPaul Burton bool "MIPS Coherent Processing System support" 22695a3e7c02SPaul Burton depends on SYS_SUPPORTS_MIPS_CPS 22700ee958e1SPaul Burton select MIPS_CM 22711d8f1f5aSPaul Burton select MIPS_CPS_PM if HOTPLUG_CPU 22720ee958e1SPaul Burton select SMP 2273c8d2bcc4SThomas Gleixner select HOTPLUG_CORE_SYNC_DEAD if HOTPLUG_CPU 22740ee958e1SPaul Burton select SYNC_R4K if (CEVT_R4K || CSRC_R4K) 22751d8f1f5aSPaul Burton select SYS_SUPPORTS_HOTPLUG_CPU 2276c8b7712cSPaul Burton select SYS_SUPPORTS_SCHED_SMT if CPU_MIPSR6 22770ee958e1SPaul Burton select SYS_SUPPORTS_SMP 22780ee958e1SPaul Burton select WEAK_ORDERING 2279d8d3276bSWei Li select GENERIC_IRQ_MIGRATION if HOTPLUG_CPU 22800ee958e1SPaul Burton help 22810ee958e1SPaul Burton Select this if you wish to run an SMP kernel across multiple cores 22820ee958e1SPaul Burton within a MIPS Coherent Processing System. When this option is 22830ee958e1SPaul Burton enabled the kernel will probe for other cores and boot them with 22840ee958e1SPaul Burton no external assistance. It is safe to enable this when hardware 22850ee958e1SPaul Burton support is unavailable. 22860ee958e1SPaul Burton 22873179d37eSPaul Burtonconfig MIPS_CPS_PM 228839a59593SMarkos Chandras depends on MIPS_CPS 22893179d37eSPaul Burton bool 22903179d37eSPaul Burton 22919f98f3ddSPaul Burtonconfig MIPS_CM 22929f98f3ddSPaul Burton bool 22933c9b4166SPaul Burton select MIPS_CPC 22949f98f3ddSPaul Burton 22959c38cf44SPaul Burtonconfig MIPS_CPC 22969c38cf44SPaul Burton bool 22974a16ff4cSRalf Baechle 22981da177e4SLinus Torvaldsconfig SB1_PASS_2_WORKAROUNDS 22991da177e4SLinus Torvalds bool 23001da177e4SLinus Torvalds depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2) 23011da177e4SLinus Torvalds default y 23021da177e4SLinus Torvalds 23031da177e4SLinus Torvaldsconfig SB1_PASS_2_1_WORKAROUNDS 23041da177e4SLinus Torvalds bool 23051da177e4SLinus Torvalds depends on CPU_SB1 && CPU_SB1_PASS_2 23061da177e4SLinus Torvalds default y 23071da177e4SLinus Torvalds 23089e2b5372SMarkos Chandraschoice 23099e2b5372SMarkos Chandras prompt "SmartMIPS or microMIPS ASE support" 23109e2b5372SMarkos Chandras 23119e2b5372SMarkos Chandrasconfig CPU_NEEDS_NO_SMARTMIPS_OR_MICROMIPS 23129e2b5372SMarkos Chandras bool "None" 23139e2b5372SMarkos Chandras help 23149e2b5372SMarkos Chandras Select this if you want neither microMIPS nor SmartMIPS support 23159e2b5372SMarkos Chandras 23169693a853SFranck Bui-Huuconfig CPU_HAS_SMARTMIPS 23179693a853SFranck Bui-Huu depends on SYS_SUPPORTS_SMARTMIPS 23189e2b5372SMarkos Chandras bool "SmartMIPS" 23199693a853SFranck Bui-Huu help 23209693a853SFranck Bui-Huu SmartMIPS is a extension of the MIPS32 architecture aimed at 23219693a853SFranck Bui-Huu increased security at both hardware and software level for 23229693a853SFranck Bui-Huu smartcards. Enabling this option will allow proper use of the 23239693a853SFranck Bui-Huu SmartMIPS instructions by Linux applications. However a kernel with 23249693a853SFranck Bui-Huu this option will not work on a MIPS core without SmartMIPS core. If 23259693a853SFranck Bui-Huu you don't know you probably don't have SmartMIPS and should say N 23269693a853SFranck Bui-Huu here. 23279693a853SFranck Bui-Huu 2328bce86083SSteven J. Hillconfig CPU_MICROMIPS 23297fd08ca5SLeonid Yegoshin depends on 32BIT && SYS_SUPPORTS_MICROMIPS && !CPU_MIPSR6 23309e2b5372SMarkos Chandras bool "microMIPS" 2331bce86083SSteven J. Hill help 2332bce86083SSteven J. Hill When this option is enabled the kernel will be built using the 2333bce86083SSteven J. Hill microMIPS ISA 2334bce86083SSteven J. Hill 23359e2b5372SMarkos Chandrasendchoice 23369e2b5372SMarkos Chandras 2337a5e9a69eSPaul Burtonconfig CPU_HAS_MSA 23380ce3417eSPaul Burton bool "Support for the MIPS SIMD Architecture" 2339a5e9a69eSPaul Burton depends on CPU_SUPPORTS_MSA 2340c92e47e5SPaul Burton depends on MIPS_FP_SUPPORT 23412a6cb669SPaul Burton depends on 64BIT || MIPS_O32_FP64_SUPPORT 2342a5e9a69eSPaul Burton help 2343a5e9a69eSPaul Burton MIPS SIMD Architecture (MSA) introduces 128 bit wide vector registers 2344a5e9a69eSPaul Burton and a set of SIMD instructions to operate on them. When this option 23451db1af84SPaul Burton is enabled the kernel will support allocating & switching MSA 23461db1af84SPaul Burton vector register contexts. If you know that your kernel will only be 23471db1af84SPaul Burton running on CPUs which do not support MSA or that your userland will 23481db1af84SPaul Burton not be making use of it then you may wish to say N here to reduce 23491db1af84SPaul Burton the size & complexity of your kernel. 2350a5e9a69eSPaul Burton 2351a5e9a69eSPaul Burton If unsure, say Y. 2352a5e9a69eSPaul Burton 23531da177e4SLinus Torvaldsconfig CPU_HAS_WB 2354f7062ddbSRalf Baechle bool 2355e01402b1SRalf Baechle 2356df0ac8a4SKevin Cernekeeconfig XKS01 2357df0ac8a4SKevin Cernekee bool 2358df0ac8a4SKevin Cernekee 2359ba9196d2SJiaxun Yangconfig CPU_HAS_DIEI 2360ba9196d2SJiaxun Yang depends on !CPU_DIEI_BROKEN 2361ba9196d2SJiaxun Yang bool 2362ba9196d2SJiaxun Yang 2363ba9196d2SJiaxun Yangconfig CPU_DIEI_BROKEN 2364ba9196d2SJiaxun Yang bool 2365ba9196d2SJiaxun Yang 23668256b17eSFlorian Fainelliconfig CPU_HAS_RIXI 23678256b17eSFlorian Fainelli bool 23688256b17eSFlorian Fainelli 236918d84e2eSAlexander Lobakinconfig CPU_NO_LOAD_STORE_LR 2370932afdeeSYasha Cherikovsky bool 2371932afdeeSYasha Cherikovsky help 237218d84e2eSAlexander Lobakin CPU lacks support for unaligned load and store instructions: 2373932afdeeSYasha Cherikovsky LWL, LWR, SWL, SWR (Load/store word left/right). 237418d84e2eSAlexander Lobakin LDL, LDR, SDL, SDR (Load/store doubleword left/right, for 64bit 237518d84e2eSAlexander Lobakin systems). 2376932afdeeSYasha Cherikovsky 2377f41ae0b2SRalf Baechle# 2378f41ae0b2SRalf Baechle# Vectored interrupt mode is an R2 feature 2379f41ae0b2SRalf Baechle# 2380e01402b1SRalf Baechleconfig CPU_MIPSR2_IRQ_VI 2381f41ae0b2SRalf Baechle bool 2382e01402b1SRalf Baechle 2383f41ae0b2SRalf Baechle# 2384f41ae0b2SRalf Baechle# Extended interrupt mode is an R2 feature 2385f41ae0b2SRalf Baechle# 2386e01402b1SRalf Baechleconfig CPU_MIPSR2_IRQ_EI 2387f41ae0b2SRalf Baechle bool 2388e01402b1SRalf Baechle 23891da177e4SLinus Torvaldsconfig CPU_HAS_SYNC 23901da177e4SLinus Torvalds bool 23911da177e4SLinus Torvalds depends on !CPU_R3000 23921da177e4SLinus Torvalds default y 23931da177e4SLinus Torvalds 23941da177e4SLinus Torvalds# 239520d60d99SMaciej W. Rozycki# CPU non-features 239620d60d99SMaciej W. Rozycki# 2397b56d1cafSThomas Bogendoerfer 2398b56d1cafSThomas Bogendoerfer# Work around the "daddi" and "daddiu" CPU errata: 2399b56d1cafSThomas Bogendoerfer# 2400b56d1cafSThomas Bogendoerfer# - The `daddi' instruction fails to trap on overflow. 2401b56d1cafSThomas Bogendoerfer# "MIPS R4000PC/SC Errata, Processor Revision 2.2 and 3.0", 2402b56d1cafSThomas Bogendoerfer# erratum #23 2403b56d1cafSThomas Bogendoerfer# 2404b56d1cafSThomas Bogendoerfer# - The `daddiu' instruction can produce an incorrect result. 2405b56d1cafSThomas Bogendoerfer# "MIPS R4000PC/SC Errata, Processor Revision 2.2 and 3.0", 2406b56d1cafSThomas Bogendoerfer# erratum #41 2407b56d1cafSThomas Bogendoerfer# "MIPS R4000MC Errata, Processor Revision 2.2 and 3.0", erratum 2408b56d1cafSThomas Bogendoerfer# #15 2409b56d1cafSThomas Bogendoerfer# "MIPS R4400PC/SC Errata, Processor Revision 1.0", erratum #7 2410b56d1cafSThomas Bogendoerfer# "MIPS R4400MC Errata, Processor Revision 1.0", erratum #5 241120d60d99SMaciej W. Rozyckiconfig CPU_DADDI_WORKAROUNDS 241220d60d99SMaciej W. Rozycki bool 241320d60d99SMaciej W. Rozycki 2414b56d1cafSThomas Bogendoerfer# Work around certain R4000 CPU errata (as implemented by GCC): 2415b56d1cafSThomas Bogendoerfer# 2416b56d1cafSThomas Bogendoerfer# - A double-word or a variable shift may give an incorrect result 2417b56d1cafSThomas Bogendoerfer# if executed immediately after starting an integer division: 2418b56d1cafSThomas Bogendoerfer# "MIPS R4000PC/SC Errata, Processor Revision 2.2 and 3.0", 2419b56d1cafSThomas Bogendoerfer# erratum #28 2420b56d1cafSThomas Bogendoerfer# "MIPS R4000MC Errata, Processor Revision 2.2 and 3.0", erratum 2421b56d1cafSThomas Bogendoerfer# #19 2422b56d1cafSThomas Bogendoerfer# 2423b56d1cafSThomas Bogendoerfer# - A double-word or a variable shift may give an incorrect result 2424b56d1cafSThomas Bogendoerfer# if executed while an integer multiplication is in progress: 2425b56d1cafSThomas Bogendoerfer# "MIPS R4000PC/SC Errata, Processor Revision 2.2 and 3.0", 2426b56d1cafSThomas Bogendoerfer# errata #16 & #28 2427b56d1cafSThomas Bogendoerfer# 2428b56d1cafSThomas Bogendoerfer# - An integer division may give an incorrect result if started in 2429b56d1cafSThomas Bogendoerfer# a delay slot of a taken branch or a jump: 2430b56d1cafSThomas Bogendoerfer# "MIPS R4000PC/SC Errata, Processor Revision 2.2 and 3.0", 2431b56d1cafSThomas Bogendoerfer# erratum #52 243220d60d99SMaciej W. Rozyckiconfig CPU_R4000_WORKAROUNDS 243320d60d99SMaciej W. Rozycki bool 243420d60d99SMaciej W. Rozycki select CPU_R4400_WORKAROUNDS 243520d60d99SMaciej W. Rozycki 2436b56d1cafSThomas Bogendoerfer# Work around certain R4400 CPU errata (as implemented by GCC): 2437b56d1cafSThomas Bogendoerfer# 2438b56d1cafSThomas Bogendoerfer# - A double-word or a variable shift may give an incorrect result 2439b56d1cafSThomas Bogendoerfer# if executed immediately after starting an integer division: 2440b56d1cafSThomas Bogendoerfer# "MIPS R4400MC Errata, Processor Revision 1.0", erratum #10 2441b56d1cafSThomas Bogendoerfer# "MIPS R4400MC Errata, Processor Revision 2.0 & 3.0", erratum #4 244220d60d99SMaciej W. Rozyckiconfig CPU_R4400_WORKAROUNDS 244320d60d99SMaciej W. Rozycki bool 244420d60d99SMaciej W. Rozycki 2445071d2f0bSPaul Burtonconfig CPU_R4X00_BUGS64 2446071d2f0bSPaul Burton bool 2447071d2f0bSPaul Burton default y if SYS_HAS_CPU_R4X00 && 64BIT && (TARGET_ISA_REV < 1) 2448071d2f0bSPaul Burton 24494edf00a4SPaul Burtonconfig MIPS_ASID_SHIFT 24504edf00a4SPaul Burton int 2451455481fcSThomas Bogendoerfer default 6 if CPU_R3000 24524edf00a4SPaul Burton default 0 24534edf00a4SPaul Burton 24544edf00a4SPaul Burtonconfig MIPS_ASID_BITS 24554edf00a4SPaul Burton int 24562db003a5SPaul Burton default 0 if MIPS_ASID_BITS_VARIABLE 2457455481fcSThomas Bogendoerfer default 6 if CPU_R3000 24584edf00a4SPaul Burton default 8 24594edf00a4SPaul Burton 24602db003a5SPaul Burtonconfig MIPS_ASID_BITS_VARIABLE 24612db003a5SPaul Burton bool 24622db003a5SPaul Burton 24634a5dc51eSMarcin Nowakowskiconfig MIPS_CRC_SUPPORT 24644a5dc51eSMarcin Nowakowski bool 24654a5dc51eSMarcin Nowakowski 2466802b8362SThomas Bogendoerfer# R4600 erratum. Due to the lack of errata information the exact 2467802b8362SThomas Bogendoerfer# technical details aren't known. I've experimentally found that disabling 2468802b8362SThomas Bogendoerfer# interrupts during indexed I-cache flushes seems to be sufficient to deal 2469802b8362SThomas Bogendoerfer# with the issue. 2470802b8362SThomas Bogendoerferconfig WAR_R4600_V1_INDEX_ICACHEOP 2471802b8362SThomas Bogendoerfer bool 2472802b8362SThomas Bogendoerfer 24735e5b6527SThomas Bogendoerfer# Pleasures of the R4600 V1.x. Cite from the IDT R4600 V1.7 errata: 24745e5b6527SThomas Bogendoerfer# 24755e5b6527SThomas Bogendoerfer# 18. The CACHE instructions Hit_Writeback_Invalidate_D, Hit_Writeback_D, 24765e5b6527SThomas Bogendoerfer# Hit_Invalidate_D and Create_Dirty_Excl_D should only be 24775e5b6527SThomas Bogendoerfer# executed if there is no other dcache activity. If the dcache is 247818ff14c8SColin Ian King# accessed for another instruction immediately preceding when these 24795e5b6527SThomas Bogendoerfer# cache instructions are executing, it is possible that the dcache 24805e5b6527SThomas Bogendoerfer# tag match outputs used by these cache instructions will be 24815e5b6527SThomas Bogendoerfer# incorrect. These cache instructions should be preceded by at least 24825e5b6527SThomas Bogendoerfer# four instructions that are not any kind of load or store 24835e5b6527SThomas Bogendoerfer# instruction. 24845e5b6527SThomas Bogendoerfer# 24855e5b6527SThomas Bogendoerfer# This is not allowed: lw 24865e5b6527SThomas Bogendoerfer# nop 24875e5b6527SThomas Bogendoerfer# nop 24885e5b6527SThomas Bogendoerfer# nop 24895e5b6527SThomas Bogendoerfer# cache Hit_Writeback_Invalidate_D 24905e5b6527SThomas Bogendoerfer# 24915e5b6527SThomas Bogendoerfer# This is allowed: lw 24925e5b6527SThomas Bogendoerfer# nop 24935e5b6527SThomas Bogendoerfer# nop 24945e5b6527SThomas Bogendoerfer# nop 24955e5b6527SThomas Bogendoerfer# nop 24965e5b6527SThomas Bogendoerfer# cache Hit_Writeback_Invalidate_D 24975e5b6527SThomas Bogendoerferconfig WAR_R4600_V1_HIT_CACHEOP 24985e5b6527SThomas Bogendoerfer bool 24995e5b6527SThomas Bogendoerfer 250044def342SThomas Bogendoerfer# Writeback and invalidate the primary cache dcache before DMA. 250144def342SThomas Bogendoerfer# 250244def342SThomas Bogendoerfer# R4600 v2.0 bug: "The CACHE instructions Hit_Writeback_Inv_D, 250344def342SThomas Bogendoerfer# Hit_Writeback_D, Hit_Invalidate_D and Create_Dirty_Exclusive_D will only 250444def342SThomas Bogendoerfer# operate correctly if the internal data cache refill buffer is empty. These 250544def342SThomas Bogendoerfer# CACHE instructions should be separated from any potential data cache miss 250644def342SThomas Bogendoerfer# by a load instruction to an uncached address to empty the response buffer." 250744def342SThomas Bogendoerfer# (Revision 2.0 device errata from IDT available on https://www.idt.com/ 250844def342SThomas Bogendoerfer# in .pdf format.) 250944def342SThomas Bogendoerferconfig WAR_R4600_V2_HIT_CACHEOP 251044def342SThomas Bogendoerfer bool 251144def342SThomas Bogendoerfer 251224a1c023SThomas Bogendoerfer# From TX49/H2 manual: "If the instruction (i.e. CACHE) is issued for 251324a1c023SThomas Bogendoerfer# the line which this instruction itself exists, the following 251424a1c023SThomas Bogendoerfer# operation is not guaranteed." 251524a1c023SThomas Bogendoerfer# 251624a1c023SThomas Bogendoerfer# Workaround: do two phase flushing for Index_Invalidate_I 251724a1c023SThomas Bogendoerferconfig WAR_TX49XX_ICACHE_INDEX_INV 251824a1c023SThomas Bogendoerfer bool 251924a1c023SThomas Bogendoerfer 2520886ee136SThomas Bogendoerfer# The RM7000 processors and the E9000 cores have a bug (though PMC-Sierra 2521886ee136SThomas Bogendoerfer# opposes it being called that) where invalid instructions in the same 2522886ee136SThomas Bogendoerfer# I-cache line worth of instructions being fetched may case spurious 2523886ee136SThomas Bogendoerfer# exceptions. 2524886ee136SThomas Bogendoerferconfig WAR_ICACHE_REFILLS 2525886ee136SThomas Bogendoerfer bool 2526886ee136SThomas Bogendoerfer 2527256ec489SThomas Bogendoerfer# On the R10000 up to version 2.6 (not sure about 2.7) there is a bug that 2528256ec489SThomas Bogendoerfer# may cause ll / sc and lld / scd sequences to execute non-atomically. 2529256ec489SThomas Bogendoerferconfig WAR_R10000_LLSC 2530256ec489SThomas Bogendoerfer bool 2531256ec489SThomas Bogendoerfer 2532a7fbed98SThomas Bogendoerfer# 34K core erratum: "Problems Executing the TLBR Instruction" 2533a7fbed98SThomas Bogendoerferconfig WAR_MIPS34K_MISSED_ITLB 2534a7fbed98SThomas Bogendoerfer bool 2535a7fbed98SThomas Bogendoerfer 253620d60d99SMaciej W. Rozycki# 25371da177e4SLinus Torvalds# - Highmem only makes sense for the 32-bit kernel. 25381da177e4SLinus Torvalds# - The current highmem code will only work properly on physically indexed 25391da177e4SLinus Torvalds# caches such as R3000, SB1, R7000 or those that look like they're virtually 25401da177e4SLinus Torvalds# indexed such as R4000/R4400 SC and MC versions or R10000. So for the 25411da177e4SLinus Torvalds# moment we protect the user and offer the highmem option only on machines 25421da177e4SLinus Torvalds# where it's known to be safe. This will not offer highmem on a few systems 25431da177e4SLinus Torvalds# such as MIPS32 and MIPS64 CPUs which may have virtual and physically 25441da177e4SLinus Torvalds# indexed CPUs but we're playing safe. 2545797798c1SRalf Baechle# - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we 2546797798c1SRalf Baechle# know they might have memory configurations that could make use of highmem 2547797798c1SRalf Baechle# support. 25481da177e4SLinus Torvalds# 25491da177e4SLinus Torvaldsconfig HIGHMEM 25501da177e4SLinus Torvalds bool "High Memory Support" 2551a6e18781SLeonid Yegoshin depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM && !CPU_MIPS32_3_5_EVA 2552a4c33e83SThomas Gleixner select KMAP_LOCAL 2553797798c1SRalf Baechle 2554797798c1SRalf Baechleconfig CPU_SUPPORTS_HIGHMEM 2555797798c1SRalf Baechle bool 2556797798c1SRalf Baechle 2557797798c1SRalf Baechleconfig SYS_SUPPORTS_HIGHMEM 2558797798c1SRalf Baechle bool 25591da177e4SLinus Torvalds 25609693a853SFranck Bui-Huuconfig SYS_SUPPORTS_SMARTMIPS 25619693a853SFranck Bui-Huu bool 25629693a853SFranck Bui-Huu 2563a6a4834cSSteven J. Hillconfig SYS_SUPPORTS_MICROMIPS 2564a6a4834cSSteven J. Hill bool 2565a6a4834cSSteven J. Hill 2566377cb1b6SRalf Baechleconfig SYS_SUPPORTS_MIPS16 2567377cb1b6SRalf Baechle bool 2568377cb1b6SRalf Baechle help 2569377cb1b6SRalf Baechle This option must be set if a kernel might be executed on a MIPS16- 2570377cb1b6SRalf Baechle enabled CPU even if MIPS16 is not actually being used. In other 2571377cb1b6SRalf Baechle words, it makes the kernel MIPS16-tolerant. 2572377cb1b6SRalf Baechle 2573a5e9a69eSPaul Burtonconfig CPU_SUPPORTS_MSA 2574a5e9a69eSPaul Burton bool 2575a5e9a69eSPaul Burton 2576b4819b59SYoichi Yuasaconfig ARCH_FLATMEM_ENABLE 2577b4819b59SYoichi Yuasa def_bool y 2578268a2d60SJiaxun Yang depends on !NUMA && !CPU_LOONGSON2EF 2579b4819b59SYoichi Yuasa 2580b1c6cd42SAtsushi Nemotoconfig ARCH_SPARSEMEM_ENABLE 2581b1c6cd42SAtsushi Nemoto bool 258231473747SAtsushi Nemoto 2583d8cb4e11SRalf Baechleconfig NUMA 2584d8cb4e11SRalf Baechle bool "NUMA Support" 2585d8cb4e11SRalf Baechle depends on SYS_SUPPORTS_NUMA 2586cf8194e4STiezhu Yang select SMP 25877ecd19cfSKefeng Wang select HAVE_SETUP_PER_CPU_AREA 25887ecd19cfSKefeng Wang select NEED_PER_CPU_EMBED_FIRST_CHUNK 2589d8cb4e11SRalf Baechle help 2590d8cb4e11SRalf Baechle Say Y to compile the kernel to support NUMA (Non-Uniform Memory 2591d8cb4e11SRalf Baechle Access). This option improves performance on systems with more 2592d8cb4e11SRalf Baechle than two nodes; on two node systems it is generally better to 2593172a37e9SRandy Dunlap leave it disabled; on single node systems leave this option 2594d8cb4e11SRalf Baechle disabled. 2595d8cb4e11SRalf Baechle 2596d8cb4e11SRalf Baechleconfig SYS_SUPPORTS_NUMA 2597d8cb4e11SRalf Baechle bool 2598d8cb4e11SRalf Baechle 2599f8f9f21cSFeiyang Chenconfig HAVE_ARCH_NODEDATA_EXTENSION 2600f8f9f21cSFeiyang Chen bool 2601f8f9f21cSFeiyang Chen 26028c530ea3SMatt Redfearnconfig RELOCATABLE 26038c530ea3SMatt Redfearn bool "Relocatable kernel" 2604ab7c01fdSSerge Semin depends on SYS_SUPPORTS_RELOCATABLE 2605ab7c01fdSSerge Semin depends on CPU_MIPS32_R2 || CPU_MIPS64_R2 || \ 2606ab7c01fdSSerge Semin CPU_MIPS32_R5 || CPU_MIPS64_R5 || \ 2607ab7c01fdSSerge Semin CPU_MIPS32_R6 || CPU_MIPS64_R6 || \ 2608a307a4ceSJinyang He CPU_P5600 || CAVIUM_OCTEON_SOC || \ 2609a307a4ceSJinyang He CPU_LOONGSON64 26108c530ea3SMatt Redfearn help 26118c530ea3SMatt Redfearn This builds a kernel image that retains relocation information 26128c530ea3SMatt Redfearn so it can be loaded someplace besides the default 1MB. 26138c530ea3SMatt Redfearn The relocations make the kernel binary about 15% larger, 26148c530ea3SMatt Redfearn but are discarded at runtime 26158c530ea3SMatt Redfearn 2616069fd766SMatt Redfearnconfig RELOCATION_TABLE_SIZE 2617069fd766SMatt Redfearn hex "Relocation table size" 2618069fd766SMatt Redfearn depends on RELOCATABLE 2619069fd766SMatt Redfearn range 0x0 0x01000000 2620a307a4ceSJinyang He default "0x00200000" if CPU_LOONGSON64 2621069fd766SMatt Redfearn default "0x00100000" 2622a7f7f624SMasahiro Yamada help 2623069fd766SMatt Redfearn A table of relocation data will be appended to the kernel binary 2624069fd766SMatt Redfearn and parsed at boot to fix up the relocated kernel. 2625069fd766SMatt Redfearn 2626069fd766SMatt Redfearn This option allows the amount of space reserved for the table to be 2627069fd766SMatt Redfearn adjusted, although the default of 1Mb should be ok in most cases. 2628069fd766SMatt Redfearn 2629069fd766SMatt Redfearn The build will fail and a valid size suggested if this is too small. 2630069fd766SMatt Redfearn 2631069fd766SMatt Redfearn If unsure, leave at the default value. 2632069fd766SMatt Redfearn 2633405bc8fdSMatt Redfearnconfig RANDOMIZE_BASE 2634405bc8fdSMatt Redfearn bool "Randomize the address of the kernel image" 2635405bc8fdSMatt Redfearn depends on RELOCATABLE 2636a7f7f624SMasahiro Yamada help 2637405bc8fdSMatt Redfearn Randomizes the physical and virtual address at which the 2638405bc8fdSMatt Redfearn kernel image is loaded, as a security feature that 2639405bc8fdSMatt Redfearn deters exploit attempts relying on knowledge of the location 2640405bc8fdSMatt Redfearn of kernel internals. 2641405bc8fdSMatt Redfearn 2642405bc8fdSMatt Redfearn Entropy is generated using any coprocessor 0 registers available. 2643405bc8fdSMatt Redfearn 2644405bc8fdSMatt Redfearn The kernel will be offset by up to RANDOMIZE_BASE_MAX_OFFSET. 2645405bc8fdSMatt Redfearn 2646405bc8fdSMatt Redfearn If unsure, say N. 2647405bc8fdSMatt Redfearn 2648405bc8fdSMatt Redfearnconfig RANDOMIZE_BASE_MAX_OFFSET 2649405bc8fdSMatt Redfearn hex "Maximum kASLR offset" if EXPERT 2650405bc8fdSMatt Redfearn depends on RANDOMIZE_BASE 2651405bc8fdSMatt Redfearn range 0x0 0x40000000 if EVA || 64BIT 2652405bc8fdSMatt Redfearn range 0x0 0x08000000 2653405bc8fdSMatt Redfearn default "0x01000000" 2654a7f7f624SMasahiro Yamada help 2655405bc8fdSMatt Redfearn When kASLR is active, this provides the maximum offset that will 2656405bc8fdSMatt Redfearn be applied to the kernel image. It should be set according to the 2657405bc8fdSMatt Redfearn amount of physical RAM available in the target system minus 2658405bc8fdSMatt Redfearn PHYSICAL_START and must be a power of 2. 2659405bc8fdSMatt Redfearn 2660405bc8fdSMatt Redfearn This is limited by the size of KSEG0, 256Mb on 32-bit or 1Gb with 2661405bc8fdSMatt Redfearn EVA or 64-bit. The default is 16Mb. 2662405bc8fdSMatt Redfearn 2663c80d79d7SYasunori Gotoconfig NODES_SHIFT 2664c80d79d7SYasunori Goto int 2665c80d79d7SYasunori Goto default "6" 2666a9ee6cf5SMike Rapoport depends on NUMA 2667c80d79d7SYasunori Goto 266814f70012SDeng-Cheng Zhuconfig HW_PERF_EVENTS 266914f70012SDeng-Cheng Zhu bool "Enable hardware performance counter support for perf events" 267095b8a5e0SThomas Bogendoerfer depends on PERF_EVENTS && (CPU_MIPS32 || CPU_MIPS64 || CPU_R10000 || CPU_SB1 || CPU_CAVIUM_OCTEON || CPU_LOONGSON64) 267114f70012SDeng-Cheng Zhu default y 267214f70012SDeng-Cheng Zhu help 267314f70012SDeng-Cheng Zhu Enable hardware performance counter support for perf events. If 267414f70012SDeng-Cheng Zhu disabled, perf events will use software events only. 267514f70012SDeng-Cheng Zhu 2676be8fa1cbSTiezhu Yangconfig DMI 2677be8fa1cbSTiezhu Yang bool "Enable DMI scanning" 2678be8fa1cbSTiezhu Yang depends on MACH_LOONGSON64 2679be8fa1cbSTiezhu Yang select DMI_SCAN_MACHINE_NON_EFI_FALLBACK 2680be8fa1cbSTiezhu Yang default y 2681be8fa1cbSTiezhu Yang help 2682be8fa1cbSTiezhu Yang Enabled scanning of DMI to identify machine quirks. Say Y 2683be8fa1cbSTiezhu Yang here unless you have verified that your setup is not 2684be8fa1cbSTiezhu Yang affected by entries in the DMI blacklist. Required by PNP 2685be8fa1cbSTiezhu Yang BIOS code. 2686be8fa1cbSTiezhu Yang 26871da177e4SLinus Torvaldsconfig SMP 26881da177e4SLinus Torvalds bool "Multi-Processing support" 2689e73ea273SRalf Baechle depends on SYS_SUPPORTS_SMP 2690e73ea273SRalf Baechle help 26911da177e4SLinus Torvalds This enables support for systems with more than one CPU. If you have 26924a474157SRobert Graffham a system with only one CPU, say N. If you have a system with more 26934a474157SRobert Graffham than one CPU, say Y. 26941da177e4SLinus Torvalds 26954a474157SRobert Graffham If you say N here, the kernel will run on uni- and multiprocessor 26961da177e4SLinus Torvalds machines, but will use only one CPU of a multiprocessor machine. If 26971da177e4SLinus Torvalds you say Y here, the kernel will run on many, but not all, 26984a474157SRobert Graffham uniprocessor machines. On a uniprocessor machine, the kernel 26991da177e4SLinus Torvalds will run faster if you say N here. 27001da177e4SLinus Torvalds 27011da177e4SLinus Torvalds People using multiprocessor machines who say Y here should also say 27021da177e4SLinus Torvalds Y to "Enhanced Real Time Clock Support", below. 27031da177e4SLinus Torvalds 270403502faaSAdrian Bunk See also the SMP-HOWTO available at 2705ef054ad3SAlexander A. Klimov <https://www.tldp.org/docs.html#howto>. 27061da177e4SLinus Torvalds 27071da177e4SLinus Torvalds If you don't know what to do here, say N. 27081da177e4SLinus Torvalds 27097840d618SMatt Redfearnconfig HOTPLUG_CPU 27107840d618SMatt Redfearn bool "Support for hot-pluggable CPUs" 27117840d618SMatt Redfearn depends on SMP && SYS_SUPPORTS_HOTPLUG_CPU 27127840d618SMatt Redfearn help 27137840d618SMatt Redfearn Say Y here to allow turning CPUs off and on. CPUs can be 27147840d618SMatt Redfearn controlled through /sys/devices/system/cpu. 27157840d618SMatt Redfearn (Note: power management support will enable this option 27167840d618SMatt Redfearn automatically on SMP systems. ) 27177840d618SMatt Redfearn Say N if you want to disable CPU hotplug. 27187840d618SMatt Redfearn 271987353d8aSRalf Baechleconfig SMP_UP 272087353d8aSRalf Baechle bool 272187353d8aSRalf Baechle 27220ee958e1SPaul Burtonconfig SYS_SUPPORTS_MIPS_CPS 27230ee958e1SPaul Burton bool 27240ee958e1SPaul Burton 2725e73ea273SRalf Baechleconfig SYS_SUPPORTS_SMP 2726e73ea273SRalf Baechle bool 2727e73ea273SRalf Baechle 2728130e2fb7SRalf Baechleconfig NR_CPUS_DEFAULT_4 2729130e2fb7SRalf Baechle bool 2730130e2fb7SRalf Baechle 2731130e2fb7SRalf Baechleconfig NR_CPUS_DEFAULT_8 2732130e2fb7SRalf Baechle bool 2733130e2fb7SRalf Baechle 2734130e2fb7SRalf Baechleconfig NR_CPUS_DEFAULT_16 2735130e2fb7SRalf Baechle bool 2736130e2fb7SRalf Baechle 2737130e2fb7SRalf Baechleconfig NR_CPUS_DEFAULT_32 2738130e2fb7SRalf Baechle bool 2739130e2fb7SRalf Baechle 2740130e2fb7SRalf Baechleconfig NR_CPUS_DEFAULT_64 2741130e2fb7SRalf Baechle bool 2742130e2fb7SRalf Baechle 27431da177e4SLinus Torvaldsconfig NR_CPUS 2744a91796a9SJayachandran C int "Maximum number of CPUs (2-256)" 2745a91796a9SJayachandran C range 2 256 27461da177e4SLinus Torvalds depends on SMP 2747130e2fb7SRalf Baechle default "4" if NR_CPUS_DEFAULT_4 2748130e2fb7SRalf Baechle default "8" if NR_CPUS_DEFAULT_8 2749130e2fb7SRalf Baechle default "16" if NR_CPUS_DEFAULT_16 2750130e2fb7SRalf Baechle default "32" if NR_CPUS_DEFAULT_32 2751130e2fb7SRalf Baechle default "64" if NR_CPUS_DEFAULT_64 27521da177e4SLinus Torvalds help 27531da177e4SLinus Torvalds This allows you to specify the maximum number of CPUs which this 27541da177e4SLinus Torvalds kernel will support. The maximum supported value is 32 for 32-bit 27551da177e4SLinus Torvalds kernel and 64 for 64-bit kernels; the minimum value which makes 275672ede9b1SAtsushi Nemoto sense is 1 for Qemu (useful only for kernel debugging purposes) 275772ede9b1SAtsushi Nemoto and 2 for all others. 27581da177e4SLinus Torvalds 27591da177e4SLinus Torvalds This is purely to save memory - each supported CPU adds 276072ede9b1SAtsushi Nemoto approximately eight kilobytes to the kernel image. For best 276172ede9b1SAtsushi Nemoto performance should round up your number of processors to the next 276272ede9b1SAtsushi Nemoto power of two. 27631da177e4SLinus Torvalds 2764399aaa25SAl Cooperconfig MIPS_PERF_SHARED_TC_COUNTERS 2765399aaa25SAl Cooper bool 2766399aaa25SAl Cooper 27677820b84bSDavid Daneyconfig MIPS_NR_CPU_NR_MAP_1024 27687820b84bSDavid Daney bool 27697820b84bSDavid Daney 27707820b84bSDavid Daneyconfig MIPS_NR_CPU_NR_MAP 27717820b84bSDavid Daney int 27727820b84bSDavid Daney depends on SMP 27737820b84bSDavid Daney default 1024 if MIPS_NR_CPU_NR_MAP_1024 27747820b84bSDavid Daney default NR_CPUS if !MIPS_NR_CPU_NR_MAP_1024 27757820b84bSDavid Daney 27761723b4a3SAtsushi Nemoto# 27771723b4a3SAtsushi Nemoto# Timer Interrupt Frequency Configuration 27781723b4a3SAtsushi Nemoto# 27791723b4a3SAtsushi Nemoto 27801723b4a3SAtsushi Nemotochoice 27811723b4a3SAtsushi Nemoto prompt "Timer frequency" 27821723b4a3SAtsushi Nemoto default HZ_250 27831723b4a3SAtsushi Nemoto help 27841723b4a3SAtsushi Nemoto Allows the configuration of the timer frequency. 27851723b4a3SAtsushi Nemoto 278667596573SPaul Burton config HZ_24 278767596573SPaul Burton bool "24 HZ" if SYS_SUPPORTS_24HZ || SYS_SUPPORTS_ARBIT_HZ 278867596573SPaul Burton 27891723b4a3SAtsushi Nemoto config HZ_48 27900f873585SRalf Baechle bool "48 HZ" if SYS_SUPPORTS_48HZ || SYS_SUPPORTS_ARBIT_HZ 27911723b4a3SAtsushi Nemoto 27921723b4a3SAtsushi Nemoto config HZ_100 27931723b4a3SAtsushi Nemoto bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ 27941723b4a3SAtsushi Nemoto 27951723b4a3SAtsushi Nemoto config HZ_128 27961723b4a3SAtsushi Nemoto bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ 27971723b4a3SAtsushi Nemoto 27981723b4a3SAtsushi Nemoto config HZ_250 27991723b4a3SAtsushi Nemoto bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ 28001723b4a3SAtsushi Nemoto 28011723b4a3SAtsushi Nemoto config HZ_256 28021723b4a3SAtsushi Nemoto bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ 28031723b4a3SAtsushi Nemoto 28041723b4a3SAtsushi Nemoto config HZ_1000 28051723b4a3SAtsushi Nemoto bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ 28061723b4a3SAtsushi Nemoto 28071723b4a3SAtsushi Nemoto config HZ_1024 28081723b4a3SAtsushi Nemoto bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ 28091723b4a3SAtsushi Nemoto 28101723b4a3SAtsushi Nemotoendchoice 28111723b4a3SAtsushi Nemoto 281267596573SPaul Burtonconfig SYS_SUPPORTS_24HZ 281367596573SPaul Burton bool 281467596573SPaul Burton 28151723b4a3SAtsushi Nemotoconfig SYS_SUPPORTS_48HZ 28161723b4a3SAtsushi Nemoto bool 28171723b4a3SAtsushi Nemoto 28181723b4a3SAtsushi Nemotoconfig SYS_SUPPORTS_100HZ 28191723b4a3SAtsushi Nemoto bool 28201723b4a3SAtsushi Nemoto 28211723b4a3SAtsushi Nemotoconfig SYS_SUPPORTS_128HZ 28221723b4a3SAtsushi Nemoto bool 28231723b4a3SAtsushi Nemoto 28241723b4a3SAtsushi Nemotoconfig SYS_SUPPORTS_250HZ 28251723b4a3SAtsushi Nemoto bool 28261723b4a3SAtsushi Nemoto 28271723b4a3SAtsushi Nemotoconfig SYS_SUPPORTS_256HZ 28281723b4a3SAtsushi Nemoto bool 28291723b4a3SAtsushi Nemoto 28301723b4a3SAtsushi Nemotoconfig SYS_SUPPORTS_1000HZ 28311723b4a3SAtsushi Nemoto bool 28321723b4a3SAtsushi Nemoto 28331723b4a3SAtsushi Nemotoconfig SYS_SUPPORTS_1024HZ 28341723b4a3SAtsushi Nemoto bool 28351723b4a3SAtsushi Nemoto 28361723b4a3SAtsushi Nemotoconfig SYS_SUPPORTS_ARBIT_HZ 28371723b4a3SAtsushi Nemoto bool 283867596573SPaul Burton default y if !SYS_SUPPORTS_24HZ && \ 283967596573SPaul Burton !SYS_SUPPORTS_48HZ && \ 284067596573SPaul Burton !SYS_SUPPORTS_100HZ && \ 284167596573SPaul Burton !SYS_SUPPORTS_128HZ && \ 284267596573SPaul Burton !SYS_SUPPORTS_250HZ && \ 284367596573SPaul Burton !SYS_SUPPORTS_256HZ && \ 284467596573SPaul Burton !SYS_SUPPORTS_1000HZ && \ 28451723b4a3SAtsushi Nemoto !SYS_SUPPORTS_1024HZ 28461723b4a3SAtsushi Nemoto 28471723b4a3SAtsushi Nemotoconfig HZ 28481723b4a3SAtsushi Nemoto int 284967596573SPaul Burton default 24 if HZ_24 28501723b4a3SAtsushi Nemoto default 48 if HZ_48 28511723b4a3SAtsushi Nemoto default 100 if HZ_100 28521723b4a3SAtsushi Nemoto default 128 if HZ_128 28531723b4a3SAtsushi Nemoto default 250 if HZ_250 28541723b4a3SAtsushi Nemoto default 256 if HZ_256 28551723b4a3SAtsushi Nemoto default 1000 if HZ_1000 28561723b4a3SAtsushi Nemoto default 1024 if HZ_1024 28571723b4a3SAtsushi Nemoto 285896685b17SDeng-Cheng Zhuconfig SCHED_HRTICK 285996685b17SDeng-Cheng Zhu def_bool HIGH_RES_TIMERS 286096685b17SDeng-Cheng Zhu 2861571feed5SEric DeVolderconfig ARCH_SUPPORTS_KEXEC 2862571feed5SEric DeVolder def_bool y 2863ea6e942bSAtsushi Nemoto 2864571feed5SEric DeVolderconfig ARCH_SUPPORTS_CRASH_DUMP 2865571feed5SEric DeVolder def_bool y 28667aa1c8f4SRalf Baechle 28677aa1c8f4SRalf Baechleconfig PHYSICAL_START 28687aa1c8f4SRalf Baechle hex "Physical address where the kernel is loaded" 28698bda3e26SMaciej W. Rozycki default "0xffffffff84000000" 28707aa1c8f4SRalf Baechle depends on CRASH_DUMP 28717aa1c8f4SRalf Baechle help 28727aa1c8f4SRalf Baechle This gives the CKSEG0 or KSEG0 address where the kernel is loaded. 28737aa1c8f4SRalf Baechle If you plan to use kernel for capturing the crash dump change 28747aa1c8f4SRalf Baechle this value to start of the reserved region (the "X" value as 28757aa1c8f4SRalf Baechle specified in the "crashkernel=YM@XM" command line boot parameter 28767aa1c8f4SRalf Baechle passed to the panic-ed kernel). 28777aa1c8f4SRalf Baechle 2878597ce172SPaul Burtonconfig MIPS_O32_FP64_SUPPORT 2879b7f1e273SPaul Burton bool "Support for O32 binaries using 64-bit FP" if !CPU_MIPSR6 2880597ce172SPaul Burton depends on 32BIT || MIPS32_O32 2881597ce172SPaul Burton help 2882597ce172SPaul Burton When this is enabled, the kernel will support use of 64-bit floating 2883597ce172SPaul Burton point registers with binaries using the O32 ABI along with the 2884597ce172SPaul Burton EF_MIPS_FP64 ELF header flag (typically built with -mfp64). On 2885597ce172SPaul Burton 32-bit MIPS systems this support is at the cost of increasing the 2886597ce172SPaul Burton size and complexity of the compiled FPU emulator. Thus if you are 2887597ce172SPaul Burton running a MIPS32 system and know that none of your userland binaries 2888597ce172SPaul Burton will require 64-bit floating point, you may wish to reduce the size 2889597ce172SPaul Burton of your kernel & potentially improve FP emulation performance by 2890597ce172SPaul Burton saying N here. 2891597ce172SPaul Burton 289206e2e882SPaul Burton Although binutils currently supports use of this flag the details 289306e2e882SPaul Burton concerning its effect upon the O32 ABI in userland are still being 289418ff14c8SColin Ian King worked on. In order to avoid userland becoming dependent upon current 289506e2e882SPaul Burton behaviour before the details have been finalised, this option should 289606e2e882SPaul Burton be considered experimental and only enabled by those working upon 289706e2e882SPaul Burton said details. 289806e2e882SPaul Burton 289906e2e882SPaul Burton If unsure, say N. 2900597ce172SPaul Burton 2901f2ffa5abSDezhong Diaoconfig USE_OF 29020b3e06fdSJonas Gorski bool 2903f2ffa5abSDezhong Diao select OF 2904e6ce1324SStephen Neuendorffer select OF_EARLY_FLATTREE 2905abd2363fSGrant Likely select IRQ_DOMAIN 2906f2ffa5abSDezhong Diao 29072fe8ea39SDengcheng Zhuconfig UHI_BOOT 29082fe8ea39SDengcheng Zhu bool 29092fe8ea39SDengcheng Zhu 29107fafb068SAndrew Brestickerconfig BUILTIN_DTB 29117fafb068SAndrew Bresticker bool 29127fafb068SAndrew Bresticker 29131da8f179SJonas Gorskichoice 29145b24d52cSJonas Gorski prompt "Kernel appended dtb support" if USE_OF 29151da8f179SJonas Gorski default MIPS_NO_APPENDED_DTB 29161da8f179SJonas Gorski 29171da8f179SJonas Gorski config MIPS_NO_APPENDED_DTB 29181da8f179SJonas Gorski bool "None" 29191da8f179SJonas Gorski help 29201da8f179SJonas Gorski Do not enable appended dtb support. 29211da8f179SJonas Gorski 292287db537dSAaro Koskinen config MIPS_ELF_APPENDED_DTB 292387db537dSAaro Koskinen bool "vmlinux" 292487db537dSAaro Koskinen help 292587db537dSAaro Koskinen With this option, the boot code will look for a device tree binary 292687db537dSAaro Koskinen DTB) included in the vmlinux ELF section .appended_dtb. By default 292787db537dSAaro Koskinen it is empty and the DTB can be appended using binutils command 292887db537dSAaro Koskinen objcopy: 292987db537dSAaro Koskinen 293087db537dSAaro Koskinen objcopy --update-section .appended_dtb=<filename>.dtb vmlinux 293187db537dSAaro Koskinen 293218ff14c8SColin Ian King This is meant as a backward compatibility convenience for those 293387db537dSAaro Koskinen systems with a bootloader that can't be upgraded to accommodate 293487db537dSAaro Koskinen the documented boot protocol using a device tree. 293587db537dSAaro Koskinen 29361da8f179SJonas Gorski config MIPS_RAW_APPENDED_DTB 2937b8f54f2cSJonas Gorski bool "vmlinux.bin or vmlinuz.bin" 29381da8f179SJonas Gorski help 29391da8f179SJonas Gorski With this option, the boot code will look for a device tree binary 2940b8f54f2cSJonas Gorski DTB) appended to raw vmlinux.bin or vmlinuz.bin. 29411da8f179SJonas Gorski (e.g. cat vmlinux.bin <filename>.dtb > vmlinux_w_dtb). 29421da8f179SJonas Gorski 29431da8f179SJonas Gorski This is meant as a backward compatibility convenience for those 29441da8f179SJonas Gorski systems with a bootloader that can't be upgraded to accommodate 29451da8f179SJonas Gorski the documented boot protocol using a device tree. 29461da8f179SJonas Gorski 29471da8f179SJonas Gorski Beware that there is very little in terms of protection against 29481da8f179SJonas Gorski this option being confused by leftover garbage in memory that might 29491da8f179SJonas Gorski look like a DTB header after a reboot if no actual DTB is appended 29501da8f179SJonas Gorski to vmlinux.bin. Do not leave this option active in a production kernel 29511da8f179SJonas Gorski if you don't intend to always append a DTB. 29521da8f179SJonas Gorskiendchoice 29531da8f179SJonas Gorski 29542024972eSJonas Gorskichoice 29552024972eSJonas Gorski prompt "Kernel command line type" if !CMDLINE_OVERRIDE 29562bcef9b4SJonas Gorski default MIPS_CMDLINE_FROM_DTB if USE_OF && !ATH79 && !MACH_INGENIC && \ 295787fcfa7bSJiaxun Yang !MACH_LOONGSON64 && !MIPS_MALTA && \ 29582bcef9b4SJonas Gorski !CAVIUM_OCTEON_SOC 29592024972eSJonas Gorski default MIPS_CMDLINE_FROM_BOOTLOADER 29602024972eSJonas Gorski 29612024972eSJonas Gorski config MIPS_CMDLINE_FROM_DTB 29622024972eSJonas Gorski depends on USE_OF 29632024972eSJonas Gorski bool "Dtb kernel arguments if available" 29642024972eSJonas Gorski 29652024972eSJonas Gorski config MIPS_CMDLINE_DTB_EXTEND 29662024972eSJonas Gorski depends on USE_OF 29672024972eSJonas Gorski bool "Extend dtb kernel arguments with bootloader arguments" 29682024972eSJonas Gorski 29692024972eSJonas Gorski config MIPS_CMDLINE_FROM_BOOTLOADER 29702024972eSJonas Gorski bool "Bootloader kernel arguments if available" 2971ed47e153SRabin Vincent 2972ed47e153SRabin Vincent config MIPS_CMDLINE_BUILTIN_EXTEND 2973ed47e153SRabin Vincent depends on CMDLINE_BOOL 2974ed47e153SRabin Vincent bool "Extend builtin kernel arguments with bootloader arguments" 29752024972eSJonas Gorskiendchoice 29762024972eSJonas Gorski 29775e83d430SRalf Baechleendmenu 29785e83d430SRalf Baechle 29791df0f0ffSAtsushi Nemotoconfig LOCKDEP_SUPPORT 29801df0f0ffSAtsushi Nemoto bool 29811df0f0ffSAtsushi Nemoto default y 29821df0f0ffSAtsushi Nemoto 29831df0f0ffSAtsushi Nemotoconfig STACKTRACE_SUPPORT 29841df0f0ffSAtsushi Nemoto bool 29851df0f0ffSAtsushi Nemoto default y 29861df0f0ffSAtsushi Nemoto 2987a728ab52SKirill A. Shutemovconfig PGTABLE_LEVELS 2988a728ab52SKirill A. Shutemov int 29893377e227SAlex Belits default 4 if PAGE_SIZE_4KB && MIPS_VA_BITS_48 299041ce097fSHuang Pei default 3 if 64BIT && (!PAGE_SIZE_64KB || MIPS_VA_BITS_48) 2991a728ab52SKirill A. Shutemov default 2 2992a728ab52SKirill A. Shutemov 29936c359eb1SPaul Burtonconfig MIPS_AUTO_PFN_OFFSET 29946c359eb1SPaul Burton bool 29956c359eb1SPaul Burton 29961da177e4SLinus Torvaldsmenu "Bus options (PCI, PCMCIA, EISA, ISA, TC)" 29971da177e4SLinus Torvalds 2998c5611df9SPaul Burtonconfig PCI_DRIVERS_GENERIC 29992eac9c2dSChristoph Hellwig select PCI_DOMAINS_GENERIC if PCI 3000c5611df9SPaul Burton bool 3001c5611df9SPaul Burton 3002c5611df9SPaul Burtonconfig PCI_DRIVERS_LEGACY 3003c5611df9SPaul Burton def_bool !PCI_DRIVERS_GENERIC 3004c5611df9SPaul Burton select NO_GENERIC_PCI_IOPORT_MAP 30052eac9c2dSChristoph Hellwig select PCI_DOMAINS if PCI 30061da177e4SLinus Torvalds 30071da177e4SLinus Torvalds# 30081da177e4SLinus Torvalds# ISA support is now enabled via select. Too many systems still have the one 30091da177e4SLinus Torvalds# or other ISA chip on the board that users don't know about so don't expect 30101da177e4SLinus Torvalds# users to choose the right thing ... 30111da177e4SLinus Torvalds# 30121da177e4SLinus Torvaldsconfig ISA 30131da177e4SLinus Torvalds bool 30141da177e4SLinus Torvalds 30151da177e4SLinus Torvaldsconfig TC 30161da177e4SLinus Torvalds bool "TURBOchannel support" 30171da177e4SLinus Torvalds depends on MACH_DECSTATION 30181da177e4SLinus Torvalds help 301950a23e6eSJustin P. Mattock TURBOchannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS 302050a23e6eSJustin P. Mattock processors. TURBOchannel programming specifications are available 302150a23e6eSJustin P. Mattock at: 302250a23e6eSJustin P. Mattock <ftp://ftp.hp.com/pub/alphaserver/archive/triadd/> 302350a23e6eSJustin P. Mattock and: 302450a23e6eSJustin P. Mattock <http://www.computer-refuge.org/classiccmp/ftp.digital.com/pub/DEC/TriAdd/> 302550a23e6eSJustin P. Mattock Linux driver support status is documented at: 302650a23e6eSJustin P. Mattock <http://www.linux-mips.org/wiki/DECstation> 30271da177e4SLinus Torvalds 30281da177e4SLinus Torvaldsconfig MMU 30291da177e4SLinus Torvalds bool 30301da177e4SLinus Torvalds default y 30311da177e4SLinus Torvalds 3032109c32ffSMatt Redfearnconfig ARCH_MMAP_RND_BITS_MIN 3033109c32ffSMatt Redfearn default 12 if 64BIT 3034109c32ffSMatt Redfearn default 8 3035109c32ffSMatt Redfearn 3036109c32ffSMatt Redfearnconfig ARCH_MMAP_RND_BITS_MAX 3037109c32ffSMatt Redfearn default 18 if 64BIT 3038109c32ffSMatt Redfearn default 15 3039109c32ffSMatt Redfearn 3040109c32ffSMatt Redfearnconfig ARCH_MMAP_RND_COMPAT_BITS_MIN 3041109c32ffSMatt Redfearn default 8 3042109c32ffSMatt Redfearn 3043109c32ffSMatt Redfearnconfig ARCH_MMAP_RND_COMPAT_BITS_MAX 3044109c32ffSMatt Redfearn default 15 3045109c32ffSMatt Redfearn 3046d865bea4SRalf Baechleconfig I8253 3047d865bea4SRalf Baechle bool 3048798778b8SRussell King select CLKSRC_I8253 30492d02612fSThomas Gleixner select CLKEVT_I8253 30509726b43aSWu Zhangjin select MIPS_EXTERNAL_TIMER 30511da177e4SLinus Torvaldsendmenu 30521da177e4SLinus Torvalds 30531da177e4SLinus Torvaldsconfig TRAD_SIGNALS 30541da177e4SLinus Torvalds bool 30551da177e4SLinus Torvalds 30561da177e4SLinus Torvaldsconfig MIPS32_COMPAT 305778aaf956SRalf Baechle bool 30581da177e4SLinus Torvalds 30591da177e4SLinus Torvaldsconfig COMPAT 30601da177e4SLinus Torvalds bool 30611da177e4SLinus Torvalds 30621da177e4SLinus Torvaldsconfig MIPS32_O32 30631da177e4SLinus Torvalds bool "Kernel support for o32 binaries" 306478aaf956SRalf Baechle depends on 64BIT 306578aaf956SRalf Baechle select ARCH_WANT_OLD_COMPAT_IPC 306678aaf956SRalf Baechle select COMPAT 306778aaf956SRalf Baechle select MIPS32_COMPAT 30681da177e4SLinus Torvalds help 30691da177e4SLinus Torvalds Select this option if you want to run o32 binaries. These are pure 30701da177e4SLinus Torvalds 32-bit binaries as used by the 32-bit Linux/MIPS port. Most of 30711da177e4SLinus Torvalds existing binaries are in this format. 30721da177e4SLinus Torvalds 30731da177e4SLinus Torvalds If unsure, say Y. 30741da177e4SLinus Torvalds 30751da177e4SLinus Torvaldsconfig MIPS32_N32 30761da177e4SLinus Torvalds bool "Kernel support for n32 binaries" 3077c22eacfeSRalf Baechle depends on 64BIT 30785a9372f7SArnd Bergmann select ARCH_WANT_COMPAT_IPC_PARSE_VERSION 307978aaf956SRalf Baechle select COMPAT 308078aaf956SRalf Baechle select MIPS32_COMPAT 30811da177e4SLinus Torvalds help 30821da177e4SLinus Torvalds Select this option if you want to run n32 binaries. These are 30831da177e4SLinus Torvalds 64-bit binaries using 32-bit quantities for addressing and certain 30841da177e4SLinus Torvalds data that would normally be 64-bit. They are used in special 30851da177e4SLinus Torvalds cases. 30861da177e4SLinus Torvalds 30871da177e4SLinus Torvalds If unsure, say N. 30881da177e4SLinus Torvalds 3089d49fc692SNathan Chancellorconfig CC_HAS_MNO_BRANCH_LIKELY 3090d49fc692SNathan Chancellor def_bool y 3091d49fc692SNathan Chancellor depends on $(cc-option,-mno-branch-likely) 3092d49fc692SNathan Chancellor 30931a2c73f4SJiaxun Yang# https://github.com/llvm/llvm-project/issues/61045 30941a2c73f4SJiaxun Yangconfig CC_HAS_BROKEN_INLINE_COMPAT_BRANCH 30951a2c73f4SJiaxun Yang def_bool y if CC_IS_CLANG 30961a2c73f4SJiaxun Yang 30972116245eSRalf Baechlemenu "Power management options" 3098952fa954SRodolfo Giometti 3099363c55caSWu Zhangjinconfig ARCH_HIBERNATION_POSSIBLE 3100363c55caSWu Zhangjin def_bool y 31013f5b3e17SRalf Baechle depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP 3102363c55caSWu Zhangjin 3103f4cb5700SJohannes Bergconfig ARCH_SUSPEND_POSSIBLE 3104f4cb5700SJohannes Berg def_bool y 31053f5b3e17SRalf Baechle depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP 3106f4cb5700SJohannes Berg 31072116245eSRalf Baechlesource "kernel/power/Kconfig" 3108952fa954SRodolfo Giometti 31091da177e4SLinus Torvaldsendmenu 31101da177e4SLinus Torvalds 31117a998935SViresh Kumarconfig MIPS_EXTERNAL_TIMER 31127a998935SViresh Kumar bool 31137a998935SViresh Kumar 31147a998935SViresh Kumarmenu "CPU Power Management" 3115c095ebafSPaul Burton 3116c095ebafSPaul Burtonif CPU_SUPPORTS_CPUFREQ && MIPS_EXTERNAL_TIMER 31177a998935SViresh Kumarsource "drivers/cpufreq/Kconfig" 311831f12fdcSJuerg Haefligerendif # CPU_SUPPORTS_CPUFREQ && MIPS_EXTERNAL_TIMER 31199726b43aSWu Zhangjin 3120c095ebafSPaul Burtonsource "drivers/cpuidle/Kconfig" 3121c095ebafSPaul Burton 3122c095ebafSPaul Burtonendmenu 3123c095ebafSPaul Burton 31242235a54dSSanjay Lalsource "arch/mips/kvm/Kconfig" 3125e91946d6SNathan Chancellor 3126e91946d6SNathan Chancellorsource "arch/mips/vdso/Kconfig" 3127