1 # SPDX-License-Identifier: GPL-2.0-only !! 1 config MIPS 2 # << 3 # For a description of the syntax of this conf << 4 # see Documentation/kbuild/kconfig-language.rs << 5 # << 6 << 7 config 64BIT << 8 bool 2 bool 9 !! 3 default y 10 config 32BIT !! 4 select ARCH_SUPPORTS_UPROBES 11 bool !! 5 select ARCH_MIGHT_HAVE_PC_PARPORT 12 !! 6 select ARCH_MIGHT_HAVE_PC_SERIO 13 config RISCV << 14 def_bool y << 15 select ACPI_GENERIC_GSI if ACPI << 16 select ACPI_MCFG if (ACPI && PCI) << 17 select ACPI_PPTT if ACPI << 18 select ACPI_REDUCED_HARDWARE_ONLY if A << 19 select ACPI_SPCR_TABLE if ACPI << 20 select ARCH_DMA_DEFAULT_COHERENT << 21 select ARCH_ENABLE_HUGEPAGE_MIGRATION << 22 select ARCH_ENABLE_MEMORY_HOTPLUG if S << 23 select ARCH_ENABLE_MEMORY_HOTREMOVE if << 24 select ARCH_ENABLE_SPLIT_PMD_PTLOCK if << 25 select ARCH_ENABLE_THP_MIGRATION if TR << 26 select ARCH_HAS_BINFMT_FLAT << 27 select ARCH_HAS_CURRENT_STACK_POINTER << 28 select ARCH_HAS_DEBUG_VIRTUAL if MMU << 29 select ARCH_HAS_DEBUG_VM_PGTABLE << 30 select ARCH_HAS_DEBUG_WX << 31 select ARCH_HAS_FAST_MULTIPLIER << 32 select ARCH_HAS_FORTIFY_SOURCE << 33 select ARCH_HAS_GCOV_PROFILE_ALL << 34 select ARCH_HAS_GIGANTIC_PAGE << 35 select ARCH_HAS_KCOV << 36 select ARCH_HAS_KERNEL_FPU_SUPPORT if << 37 select ARCH_HAS_MEMBARRIER_CALLBACKS << 38 select ARCH_HAS_MEMBARRIER_SYNC_CORE << 39 select ARCH_HAS_MMIOWB << 40 select ARCH_HAS_NON_OVERLAPPING_ADDRES << 41 select ARCH_HAS_PMEM_API << 42 select ARCH_HAS_PREPARE_SYNC_CORE_CMD << 43 select ARCH_HAS_PTE_DEVMAP if 64BIT && << 44 select ARCH_HAS_PTE_SPECIAL << 45 select ARCH_HAS_SET_DIRECT_MAP if MMU << 46 select ARCH_HAS_SET_MEMORY if MMU << 47 select ARCH_HAS_STRICT_KERNEL_RWX if M << 48 select ARCH_HAS_STRICT_MODULE_RWX if M << 49 select ARCH_HAS_SYNC_CORE_BEFORE_USERM << 50 select ARCH_HAS_SYSCALL_WRAPPER << 51 select ARCH_HAS_TICK_BROADCAST if GENE << 52 select ARCH_HAS_UBSAN << 53 select ARCH_HAS_VDSO_DATA << 54 select ARCH_KEEP_MEMBLOCK if ACPI << 55 select ARCH_MHP_MEMMAP_ON_MEMORY_ENABL << 56 select ARCH_OPTIONAL_KERNEL_RWX if ARC << 57 select ARCH_OPTIONAL_KERNEL_RWX_DEFAUL << 58 select ARCH_STACKWALK << 59 select ARCH_SUPPORTS_ATOMIC_RMW << 60 select ARCH_SUPPORTS_CFI_CLANG << 61 select ARCH_SUPPORTS_DEBUG_PAGEALLOC i << 62 select ARCH_SUPPORTS_HUGETLBFS if MMU << 63 # LLD >= 14: https://github.com/llvm/l << 64 select ARCH_SUPPORTS_LTO_CLANG if LLD_ << 65 select ARCH_SUPPORTS_LTO_CLANG_THIN if << 66 select ARCH_SUPPORTS_PAGE_TABLE_CHECK << 67 select ARCH_SUPPORTS_PER_VMA_LOCK if M << 68 select ARCH_SUPPORTS_RT << 69 select ARCH_SUPPORTS_SHADOW_CALL_STACK << 70 select ARCH_USE_CMPXCHG_LOCKREF if 64B 7 select ARCH_USE_CMPXCHG_LOCKREF if 64BIT 71 select ARCH_USE_MEMTEST !! 8 select ARCH_USE_BUILTIN_BSWAP 72 select ARCH_USE_QUEUED_RWLOCKS !! 9 select HAVE_CONTEXT_TRACKING 73 select ARCH_USE_SYM_ANNOTATIONS !! 10 select HAVE_GENERIC_DMA_COHERENT 74 select ARCH_USES_CFI_TRAPS if CFI_CLAN !! 11 select HAVE_IDE 75 select ARCH_WANT_BATCHED_UNMAP_TLB_FLU !! 12 select HAVE_IRQ_EXIT_ON_IRQ_STACK 76 select ARCH_WANT_DEFAULT_TOPDOWN_MMAP_ !! 13 select HAVE_OPROFILE 77 select ARCH_WANT_FRAME_POINTERS !! 14 select HAVE_PERF_EVENTS 78 select ARCH_WANT_GENERAL_HUGETLB if !R !! 15 select PERF_USE_VMALLOC 79 select ARCH_WANT_HUGE_PMD_SHARE if 64B !! 16 select HAVE_ARCH_COMPILER_H 80 select ARCH_WANT_LD_ORPHAN_WARN if !XI !! 17 select HAVE_ARCH_KGDB 81 select ARCH_WANT_OPTIMIZE_DAX_VMEMMAP << 82 select ARCH_WANT_OPTIMIZE_HUGETLB_VMEM << 83 select ARCH_WANTS_NO_INSTR << 84 select ARCH_WANTS_THP_SWAP if HAVE_ARC << 85 select BINFMT_FLAT_NO_DATA_START_OFFSE << 86 select BUILDTIME_TABLE_SORT if MMU << 87 select CLINT_TIMER if RISCV_M_MODE << 88 select CLONE_BACKWARDS << 89 select COMMON_CLK << 90 select CPU_PM if CPU_IDLE || HIBERNATI << 91 select EDAC_SUPPORT << 92 select FRAME_POINTER if PERF_EVENTS || << 93 select FTRACE_MCOUNT_USE_PATCHABLE_FUN << 94 select GENERIC_ARCH_TOPOLOGY << 95 select GENERIC_ATOMIC64 if !64BIT << 96 select GENERIC_CLOCKEVENTS_BROADCAST i << 97 select GENERIC_CPU_DEVICES << 98 select GENERIC_CPU_VULNERABILITIES << 99 select GENERIC_EARLY_IOREMAP << 100 select GENERIC_ENTRY << 101 select GENERIC_GETTIMEOFDAY if HAVE_GE << 102 select GENERIC_IDLE_POLL_SETUP << 103 select GENERIC_IOREMAP if MMU << 104 select GENERIC_IRQ_IPI if SMP << 105 select GENERIC_IRQ_IPI_MUX if SMP << 106 select GENERIC_IRQ_MULTI_HANDLER << 107 select GENERIC_IRQ_SHOW << 108 select GENERIC_IRQ_SHOW_LEVEL << 109 select GENERIC_LIB_DEVMEM_IS_ALLOWED << 110 select GENERIC_PCI_IOMAP << 111 select GENERIC_PTDUMP if MMU << 112 select GENERIC_SCHED_CLOCK << 113 select GENERIC_SMP_IDLE_THREAD << 114 select GENERIC_TIME_VSYSCALL if MMU && << 115 select GENERIC_VDSO_TIME_NS if HAVE_GE << 116 select HARDIRQS_SW_RESEND << 117 select HAS_IOPORT if MMU << 118 select HAVE_ARCH_AUDITSYSCALL << 119 select HAVE_ARCH_HUGE_VMALLOC if HAVE_ << 120 select HAVE_ARCH_HUGE_VMAP if MMU && 6 << 121 select HAVE_ARCH_JUMP_LABEL if !XIP_KE << 122 select HAVE_ARCH_JUMP_LABEL_RELATIVE i << 123 select HAVE_ARCH_KASAN if MMU && 64BIT << 124 select HAVE_ARCH_KASAN_VMALLOC if MMU << 125 select HAVE_ARCH_KFENCE if MMU && 64BI << 126 select HAVE_ARCH_KGDB if !XIP_KERNEL << 127 select HAVE_ARCH_KGDB_QXFER_PKT << 128 select HAVE_ARCH_MMAP_RND_BITS if MMU << 129 select HAVE_ARCH_MMAP_RND_COMPAT_BITS << 130 select HAVE_ARCH_RANDOMIZE_KSTACK_OFFS << 131 select HAVE_ARCH_SECCOMP_FILTER 18 select HAVE_ARCH_SECCOMP_FILTER 132 select HAVE_ARCH_STACKLEAK << 133 select HAVE_ARCH_THREAD_STRUCT_WHITELI << 134 select HAVE_ARCH_TRACEHOOK 19 select HAVE_ARCH_TRACEHOOK 135 select HAVE_ARCH_TRANSPARENT_HUGEPAGE !! 20 select HAVE_BPF_JIT if !CPU_MICROMIPS 136 select HAVE_ARCH_USERFAULTFD_MINOR if !! 21 select HAVE_FUNCTION_TRACER 137 select HAVE_ARCH_VMAP_STACK if MMU && !! 22 select HAVE_DYNAMIC_FTRACE 138 select HAVE_ASM_MODVERSIONS !! 23 select HAVE_FTRACE_MCOUNT_RECORD 139 select HAVE_CONTEXT_TRACKING_USER !! 24 select HAVE_C_RECORDMCOUNT 140 select HAVE_DEBUG_KMEMLEAK << 141 select HAVE_DMA_CONTIGUOUS if MMU << 142 select HAVE_DYNAMIC_FTRACE if !XIP_KER << 143 select HAVE_DYNAMIC_FTRACE_WITH_DIRECT << 144 select HAVE_DYNAMIC_FTRACE_WITH_ARGS i << 145 select HAVE_FTRACE_MCOUNT_RECORD if !X << 146 select HAVE_FUNCTION_GRAPH_TRACER 25 select HAVE_FUNCTION_GRAPH_TRACER 147 select HAVE_FUNCTION_GRAPH_RETVAL if H !! 26 select HAVE_KPROBES 148 select HAVE_FUNCTION_TRACER if !XIP_KE !! 27 select HAVE_KRETPROBES 149 select HAVE_EBPF_JIT if MMU << 150 select HAVE_GUP_FAST if MMU << 151 select HAVE_FUNCTION_ARG_ACCESS_API << 152 select HAVE_FUNCTION_ERROR_INJECTION << 153 select HAVE_GCC_PLUGINS << 154 select HAVE_GENERIC_VDSO if MMU && 64B << 155 select HAVE_IRQ_TIME_ACCOUNTING << 156 select HAVE_KERNEL_BZIP2 if !XIP_KERNE << 157 select HAVE_KERNEL_GZIP if !XIP_KERNEL << 158 select HAVE_KERNEL_LZ4 if !XIP_KERNEL << 159 select HAVE_KERNEL_LZMA if !XIP_KERNEL << 160 select HAVE_KERNEL_LZO if !XIP_KERNEL << 161 select HAVE_KERNEL_UNCOMPRESSED if !XI << 162 select HAVE_KERNEL_ZSTD if !XIP_KERNEL << 163 select HAVE_KERNEL_XZ if !XIP_KERNEL & << 164 select HAVE_KPROBES if !XIP_KERNEL << 165 select HAVE_KRETPROBES if !XIP_KERNEL << 166 # https://github.com/ClangBuiltLinux/l << 167 select HAVE_LD_DEAD_CODE_DATA_ELIMINAT << 168 select HAVE_MOVE_PMD << 169 select HAVE_MOVE_PUD << 170 select HAVE_PAGE_SIZE_4KB << 171 select HAVE_PCI << 172 select HAVE_PERF_EVENTS << 173 select HAVE_PERF_REGS << 174 select HAVE_PERF_USER_STACK_DUMP << 175 select HAVE_POSIX_CPU_TIMERS_TASK_WORK << 176 select HAVE_PREEMPT_DYNAMIC_KEY if !XI << 177 select HAVE_REGS_AND_STACK_ACCESS_API << 178 select HAVE_RETHOOK if !XIP_KERNEL << 179 select HAVE_RSEQ << 180 select HAVE_RUST if RUSTC_SUPPORTS_RIS << 181 select HAVE_SAMPLE_FTRACE_DIRECT << 182 select HAVE_SAMPLE_FTRACE_DIRECT_MULTI << 183 select HAVE_STACKPROTECTOR << 184 select HAVE_SYSCALL_TRACEPOINTS 28 select HAVE_SYSCALL_TRACEPOINTS 185 select HOTPLUG_CORE_SYNC_DEAD if HOTPL !! 29 select HAVE_DEBUG_KMEMLEAK 186 select IRQ_DOMAIN !! 30 select HAVE_SYSCALL_TRACEPOINTS >> 31 select ARCH_HAS_ELF_RANDOMIZE >> 32 select HAVE_ARCH_TRANSPARENT_HUGEPAGE if CPU_SUPPORTS_HUGEPAGES && 64BIT >> 33 select RTC_LIB if !MACH_LOONGSON64 >> 34 select GENERIC_ATOMIC64 if !64BIT >> 35 select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE >> 36 select HAVE_DMA_ATTRS >> 37 select HAVE_DMA_CONTIGUOUS >> 38 select HAVE_DMA_API_DEBUG >> 39 select GENERIC_IRQ_PROBE >> 40 select GENERIC_IRQ_SHOW >> 41 select GENERIC_PCI_IOMAP >> 42 select HAVE_ARCH_JUMP_LABEL >> 43 select ARCH_WANT_IPC_PARSE_VERSION 187 select IRQ_FORCED_THREADING 44 select IRQ_FORCED_THREADING 188 select KASAN_VMALLOC if KASAN !! 45 select HAVE_MEMBLOCK 189 select LOCK_MM_AND_FIND_VMA !! 46 select HAVE_MEMBLOCK_NODE_MAP 190 select MMU_GATHER_RCU_TABLE_FREE if SM !! 47 select ARCH_DISCARD_MEMBLOCK 191 select MODULES_USE_ELF_RELA if MODULES !! 48 select GENERIC_SMP_IDLE_THREAD 192 select OF !! 49 select BUILDTIME_EXTABLE_SORT 193 select OF_EARLY_FLATTREE !! 50 select GENERIC_CLOCKEVENTS 194 select OF_IRQ !! 51 select GENERIC_SCHED_CLOCK if !CAVIUM_OCTEON_SOC 195 select PCI_DOMAINS_GENERIC if PCI !! 52 select GENERIC_CMOS_UPDATE 196 select PCI_ECAM if (ACPI && PCI) !! 53 select HAVE_MOD_ARCH_SPECIFIC 197 select PCI_MSI if PCI !! 54 select VIRT_TO_BUS 198 select RISCV_ALTERNATIVE if !XIP_KERNE !! 55 select MODULES_USE_ELF_REL if MODULES 199 select RISCV_APLIC !! 56 select MODULES_USE_ELF_RELA if MODULES && 64BIT 200 select RISCV_IMSIC !! 57 select CLONE_BACKWARDS 201 select RISCV_INTC !! 58 select HAVE_DEBUG_STACKOVERFLOW 202 select RISCV_TIMER if RISCV_SBI !! 59 select HAVE_CC_STACKPROTECTOR 203 select SIFIVE_PLIC !! 60 select CPU_PM if CPU_IDLE 204 select SPARSE_IRQ !! 61 select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST >> 62 select ARCH_BINFMT_ELF_STATE 205 select SYSCTL_EXCEPTION_TRACE 63 select SYSCTL_EXCEPTION_TRACE 206 select THREAD_INFO_IN_TASK !! 64 select HAVE_VIRT_CPU_ACCOUNTING_GEN 207 select TRACE_IRQFLAGS_SUPPORT !! 65 select HAVE_IRQ_TIME_ACCOUNTING 208 select UACCESS_MEMCPY if !MMU !! 66 select GENERIC_TIME_VSYSCALL 209 select USER_STACKTRACE_SUPPORT !! 67 select ARCH_CLOCKSOURCE_DATA >> 68 >> 69 menu "Machine selection" >> 70 >> 71 choice >> 72 prompt "System type" >> 73 default SGI_IP22 >> 74 >> 75 config MIPS_ALCHEMY >> 76 bool "Alchemy processor based machines" >> 77 select ARCH_PHYS_ADDR_T_64BIT >> 78 select CEVT_R4K >> 79 select CSRC_R4K >> 80 select IRQ_MIPS_CPU >> 81 select DMA_MAYBE_COHERENT # Au1000,1500,1100 aren't, rest is >> 82 select SYS_HAS_CPU_MIPS32_R1 >> 83 select SYS_SUPPORTS_32BIT_KERNEL >> 84 select SYS_SUPPORTS_APM_EMULATION >> 85 select ARCH_REQUIRE_GPIOLIB >> 86 select SYS_SUPPORTS_ZBOOT >> 87 select COMMON_CLK >> 88 >> 89 config AR7 >> 90 bool "Texas Instruments AR7" >> 91 select BOOT_ELF32 >> 92 select DMA_NONCOHERENT >> 93 select CEVT_R4K >> 94 select CSRC_R4K >> 95 select IRQ_MIPS_CPU >> 96 select NO_EXCEPT_FILL >> 97 select SWAP_IO_SPACE >> 98 select SYS_HAS_CPU_MIPS32_R1 >> 99 select SYS_HAS_EARLY_PRINTK >> 100 select SYS_SUPPORTS_32BIT_KERNEL >> 101 select SYS_SUPPORTS_LITTLE_ENDIAN >> 102 select SYS_SUPPORTS_MIPS16 >> 103 select SYS_SUPPORTS_ZBOOT_UART16550 >> 104 select ARCH_REQUIRE_GPIOLIB >> 105 select VLYNQ >> 106 select HAVE_CLK >> 107 help >> 108 Support for the Texas Instruments AR7 System-on-a-Chip >> 109 family: TNETD7100, 7200 and 7300. >> 110 >> 111 config ATH25 >> 112 bool "Atheros AR231x/AR531x SoC support" >> 113 select CEVT_R4K >> 114 select CSRC_R4K >> 115 select DMA_NONCOHERENT >> 116 select IRQ_MIPS_CPU >> 117 select IRQ_DOMAIN >> 118 select SYS_HAS_CPU_MIPS32_R1 >> 119 select SYS_SUPPORTS_BIG_ENDIAN >> 120 select SYS_SUPPORTS_32BIT_KERNEL >> 121 select SYS_HAS_EARLY_PRINTK >> 122 help >> 123 Support for Atheros AR231x and Atheros AR531x based boards >> 124 >> 125 config ATH79 >> 126 bool "Atheros AR71XX/AR724X/AR913X based boards" >> 127 select ARCH_HAS_RESET_CONTROLLER >> 128 select ARCH_REQUIRE_GPIOLIB >> 129 select BOOT_RAW >> 130 select CEVT_R4K >> 131 select CSRC_R4K >> 132 select DMA_NONCOHERENT >> 133 select HAVE_CLK >> 134 select COMMON_CLK >> 135 select CLKDEV_LOOKUP >> 136 select IRQ_MIPS_CPU >> 137 select MIPS_MACHINE >> 138 select SYS_HAS_CPU_MIPS32_R2 >> 139 select SYS_HAS_EARLY_PRINTK >> 140 select SYS_SUPPORTS_32BIT_KERNEL >> 141 select SYS_SUPPORTS_BIG_ENDIAN >> 142 select SYS_SUPPORTS_MIPS16 >> 143 select SYS_SUPPORTS_ZBOOT >> 144 select USE_OF >> 145 help >> 146 Support for the Atheros AR71XX/AR724X/AR913X SoCs. >> 147 >> 148 config BMIPS_GENERIC >> 149 bool "Broadcom Generic BMIPS kernel" >> 150 select BOOT_RAW >> 151 select NO_EXCEPT_FILL >> 152 select USE_OF >> 153 select CEVT_R4K >> 154 select CSRC_R4K >> 155 select SYNC_R4K >> 156 select COMMON_CLK >> 157 select BCM7038_L1_IRQ >> 158 select BCM7120_L2_IRQ >> 159 select BRCMSTB_L2_IRQ >> 160 select IRQ_MIPS_CPU >> 161 select DMA_NONCOHERENT >> 162 select SYS_SUPPORTS_32BIT_KERNEL >> 163 select SYS_SUPPORTS_LITTLE_ENDIAN >> 164 select SYS_SUPPORTS_BIG_ENDIAN >> 165 select SYS_SUPPORTS_HIGHMEM >> 166 select SYS_HAS_CPU_BMIPS32_3300 >> 167 select SYS_HAS_CPU_BMIPS4350 >> 168 select SYS_HAS_CPU_BMIPS4380 >> 169 select SYS_HAS_CPU_BMIPS5000 >> 170 select SWAP_IO_SPACE >> 171 select USB_EHCI_BIG_ENDIAN_DESC if CPU_BIG_ENDIAN >> 172 select USB_EHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN >> 173 select USB_OHCI_BIG_ENDIAN_DESC if CPU_BIG_ENDIAN >> 174 select USB_OHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN >> 175 help >> 176 Build a generic DT-based kernel image that boots on select >> 177 BCM33xx cable modem chips, BCM63xx DSL chips, and BCM7xxx set-top >> 178 box chips. Note that CONFIG_CPU_BIG_ENDIAN/CONFIG_CPU_LITTLE_ENDIAN >> 179 must be set appropriately for your board. >> 180 >> 181 config BCM47XX >> 182 bool "Broadcom BCM47XX based boards" >> 183 select ARCH_WANT_OPTIONAL_GPIOLIB >> 184 select BOOT_RAW >> 185 select CEVT_R4K >> 186 select CSRC_R4K >> 187 select DMA_NONCOHERENT >> 188 select HW_HAS_PCI >> 189 select IRQ_MIPS_CPU >> 190 select SYS_HAS_CPU_MIPS32_R1 >> 191 select NO_EXCEPT_FILL >> 192 select SYS_SUPPORTS_32BIT_KERNEL >> 193 select SYS_SUPPORTS_LITTLE_ENDIAN >> 194 select SYS_SUPPORTS_MIPS16 >> 195 select SYS_HAS_EARLY_PRINTK >> 196 select USE_GENERIC_EARLY_PRINTK_8250 >> 197 select GPIOLIB >> 198 select LEDS_GPIO_REGISTER >> 199 select BCM47XX_NVRAM >> 200 help >> 201 Support for BCM47XX based boards >> 202 >> 203 config BCM63XX >> 204 bool "Broadcom BCM63XX based boards" >> 205 select BOOT_RAW >> 206 select CEVT_R4K >> 207 select CSRC_R4K >> 208 select SYNC_R4K >> 209 select DMA_NONCOHERENT >> 210 select IRQ_MIPS_CPU >> 211 select SYS_SUPPORTS_32BIT_KERNEL >> 212 select SYS_SUPPORTS_BIG_ENDIAN >> 213 select SYS_HAS_EARLY_PRINTK >> 214 select SYS_HAS_CPU_BMIPS32_3300 >> 215 select SYS_HAS_CPU_BMIPS4350 >> 216 select SYS_HAS_CPU_BMIPS4380 >> 217 select SWAP_IO_SPACE >> 218 select ARCH_REQUIRE_GPIOLIB >> 219 select HAVE_CLK >> 220 select MIPS_L1_CACHE_SHIFT_4 >> 221 help >> 222 Support for BCM63XX based boards >> 223 >> 224 config MIPS_COBALT >> 225 bool "Cobalt Server" >> 226 select CEVT_R4K >> 227 select CSRC_R4K >> 228 select CEVT_GT641XX >> 229 select DMA_NONCOHERENT >> 230 select HW_HAS_PCI >> 231 select I8253 >> 232 select I8259 >> 233 select IRQ_MIPS_CPU >> 234 select IRQ_GT641XX >> 235 select PCI_GT64XXX_PCI0 >> 236 select PCI >> 237 select SYS_HAS_CPU_NEVADA >> 238 select SYS_HAS_EARLY_PRINTK >> 239 select SYS_SUPPORTS_32BIT_KERNEL >> 240 select SYS_SUPPORTS_64BIT_KERNEL >> 241 select SYS_SUPPORTS_LITTLE_ENDIAN >> 242 select USE_GENERIC_EARLY_PRINTK_8250 >> 243 >> 244 config MACH_DECSTATION >> 245 bool "DECstations" >> 246 select BOOT_ELF32 >> 247 select CEVT_DS1287 >> 248 select CEVT_R4K if CPU_R4X00 >> 249 select CSRC_IOASIC >> 250 select CSRC_R4K if CPU_R4X00 >> 251 select CPU_DADDI_WORKAROUNDS if 64BIT >> 252 select CPU_R4000_WORKAROUNDS if 64BIT >> 253 select CPU_R4400_WORKAROUNDS if 64BIT >> 254 select DMA_NONCOHERENT >> 255 select NO_IOPORT_MAP >> 256 select IRQ_MIPS_CPU >> 257 select SYS_HAS_CPU_R3000 >> 258 select SYS_HAS_CPU_R4X00 >> 259 select SYS_SUPPORTS_32BIT_KERNEL >> 260 select SYS_SUPPORTS_64BIT_KERNEL >> 261 select SYS_SUPPORTS_LITTLE_ENDIAN >> 262 select SYS_SUPPORTS_128HZ >> 263 select SYS_SUPPORTS_256HZ >> 264 select SYS_SUPPORTS_1024HZ >> 265 select MIPS_L1_CACHE_SHIFT_4 >> 266 help >> 267 This enables support for DEC's MIPS based workstations. For details >> 268 see the Linux/MIPS FAQ on <http://www.linux-mips.org/> and the >> 269 DECstation porting pages on <http://decstation.unix-ag.org/>. >> 270 >> 271 If you have one of the following DECstation Models you definitely >> 272 want to choose R4xx0 for the CPU Type: >> 273 >> 274 DECstation 5000/50 >> 275 DECstation 5000/150 >> 276 DECstation 5000/260 >> 277 DECsystem 5900/260 >> 278 >> 279 otherwise choose R3000. >> 280 >> 281 config MACH_JAZZ >> 282 bool "Jazz family of machines" >> 283 select FW_ARC >> 284 select FW_ARC32 >> 285 select ARCH_MAY_HAVE_PC_FDC >> 286 select CEVT_R4K >> 287 select CSRC_R4K >> 288 select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN >> 289 select GENERIC_ISA_DMA >> 290 select HAVE_PCSPKR_PLATFORM >> 291 select IRQ_MIPS_CPU >> 292 select I8253 >> 293 select I8259 >> 294 select ISA >> 295 select SYS_HAS_CPU_R4X00 >> 296 select SYS_SUPPORTS_32BIT_KERNEL >> 297 select SYS_SUPPORTS_64BIT_KERNEL >> 298 select SYS_SUPPORTS_100HZ >> 299 help >> 300 This a family of machines based on the MIPS R4030 chipset which was >> 301 used by several vendors to build RISC/os and Windows NT workstations. >> 302 Members include the Acer PICA, MIPS Magnum 4000, MIPS Millennium and >> 303 Olivetti M700-10 workstations. >> 304 >> 305 config MACH_INGENIC >> 306 bool "Ingenic SoC based machines" >> 307 select SYS_SUPPORTS_32BIT_KERNEL >> 308 select SYS_SUPPORTS_LITTLE_ENDIAN >> 309 select SYS_SUPPORTS_ZBOOT_UART16550 >> 310 select DMA_NONCOHERENT >> 311 select IRQ_MIPS_CPU >> 312 select ARCH_REQUIRE_GPIOLIB >> 313 select COMMON_CLK >> 314 select GENERIC_IRQ_CHIP >> 315 select BUILTIN_DTB >> 316 select USE_OF >> 317 select LIBFDT >> 318 >> 319 config LANTIQ >> 320 bool "Lantiq based platforms" >> 321 select DMA_NONCOHERENT >> 322 select IRQ_MIPS_CPU >> 323 select CEVT_R4K >> 324 select CSRC_R4K >> 325 select SYS_HAS_CPU_MIPS32_R1 >> 326 select SYS_HAS_CPU_MIPS32_R2 >> 327 select SYS_SUPPORTS_BIG_ENDIAN >> 328 select SYS_SUPPORTS_32BIT_KERNEL >> 329 select SYS_SUPPORTS_MIPS16 >> 330 select SYS_SUPPORTS_MULTITHREADING >> 331 select SYS_HAS_EARLY_PRINTK >> 332 select ARCH_REQUIRE_GPIOLIB >> 333 select SWAP_IO_SPACE >> 334 select BOOT_RAW >> 335 select HAVE_MACH_CLKDEV >> 336 select CLKDEV_LOOKUP >> 337 select USE_OF >> 338 select PINCTRL >> 339 select PINCTRL_LANTIQ >> 340 select ARCH_HAS_RESET_CONTROLLER >> 341 select RESET_CONTROLLER >> 342 >> 343 config LASAT >> 344 bool "LASAT Networks platforms" >> 345 select CEVT_R4K >> 346 select CRC32 >> 347 select CSRC_R4K >> 348 select DMA_NONCOHERENT >> 349 select SYS_HAS_EARLY_PRINTK >> 350 select HW_HAS_PCI >> 351 select IRQ_MIPS_CPU >> 352 select PCI_GT64XXX_PCI0 >> 353 select MIPS_NILE4 >> 354 select R5000_CPU_SCACHE >> 355 select SYS_HAS_CPU_R5000 >> 356 select SYS_SUPPORTS_32BIT_KERNEL >> 357 select SYS_SUPPORTS_64BIT_KERNEL if BROKEN >> 358 select SYS_SUPPORTS_LITTLE_ENDIAN >> 359 >> 360 config MACH_LOONGSON32 >> 361 bool "Loongson-1 family of machines" >> 362 select SYS_SUPPORTS_ZBOOT >> 363 help >> 364 This enables support for the Loongson-1 family of machines. >> 365 >> 366 Loongson-1 is a family of 32-bit MIPS-compatible SoCs developed by >> 367 the Institute of Computing Technology (ICT), Chinese Academy of >> 368 Sciences (CAS). >> 369 >> 370 config MACH_LOONGSON64 >> 371 bool "Loongson-2/3 family of machines" >> 372 select SYS_SUPPORTS_ZBOOT >> 373 help >> 374 This enables the support of Loongson-2/3 family of machines. >> 375 >> 376 Loongson-2 is a family of single-core CPUs and Loongson-3 is a >> 377 family of multi-core CPUs. They are both 64-bit general-purpose >> 378 MIPS-compatible CPUs. Loongson-2/3 are developed by the Institute >> 379 of Computing Technology (ICT), Chinese Academy of Sciences (CAS) >> 380 in the People's Republic of China. The chief architect is Professor >> 381 Weiwu Hu. >> 382 >> 383 config MACH_PISTACHIO >> 384 bool "IMG Pistachio SoC based boards" >> 385 select ARCH_REQUIRE_GPIOLIB >> 386 select BOOT_ELF32 >> 387 select BOOT_RAW >> 388 select CEVT_R4K >> 389 select CLKSRC_MIPS_GIC >> 390 select COMMON_CLK >> 391 select CSRC_R4K >> 392 select DMA_MAYBE_COHERENT >> 393 select IRQ_MIPS_CPU >> 394 select LIBFDT >> 395 select MFD_SYSCON >> 396 select MIPS_CPU_SCACHE >> 397 select MIPS_GIC >> 398 select PINCTRL >> 399 select REGULATOR >> 400 select SYS_HAS_CPU_MIPS32_R2 >> 401 select SYS_SUPPORTS_32BIT_KERNEL >> 402 select SYS_SUPPORTS_LITTLE_ENDIAN >> 403 select SYS_SUPPORTS_MIPS_CPS >> 404 select SYS_SUPPORTS_MULTITHREADING >> 405 select SYS_SUPPORTS_ZBOOT >> 406 select SYS_HAS_EARLY_PRINTK >> 407 select USE_GENERIC_EARLY_PRINTK_8250 >> 408 select USE_OF >> 409 help >> 410 This enables support for the IMG Pistachio SoC platform. >> 411 >> 412 config MACH_XILFPGA >> 413 bool "MIPSfpga Xilinx based boards" >> 414 select ARCH_REQUIRE_GPIOLIB >> 415 select BOOT_ELF32 >> 416 select BOOT_RAW >> 417 select BUILTIN_DTB >> 418 select CEVT_R4K >> 419 select COMMON_CLK >> 420 select CSRC_R4K >> 421 select IRQ_MIPS_CPU >> 422 select LIBFDT >> 423 select MIPS_CPU_SCACHE >> 424 select SYS_HAS_EARLY_PRINTK >> 425 select SYS_HAS_CPU_MIPS32_R2 >> 426 select SYS_SUPPORTS_32BIT_KERNEL >> 427 select SYS_SUPPORTS_LITTLE_ENDIAN >> 428 select SYS_SUPPORTS_ZBOOT_UART16550 >> 429 select USE_OF >> 430 select USE_GENERIC_EARLY_PRINTK_8250 >> 431 help >> 432 This enables support for the IMG University Program MIPSfpga platform. >> 433 >> 434 config MIPS_MALTA >> 435 bool "MIPS Malta board" >> 436 select ARCH_MAY_HAVE_PC_FDC >> 437 select BOOT_ELF32 >> 438 select BOOT_RAW >> 439 select BUILTIN_DTB >> 440 select CEVT_R4K >> 441 select CSRC_R4K >> 442 select CLKSRC_MIPS_GIC >> 443 select COMMON_CLK >> 444 select DMA_MAYBE_COHERENT >> 445 select GENERIC_ISA_DMA >> 446 select HAVE_PCSPKR_PLATFORM >> 447 select IRQ_MIPS_CPU >> 448 select MIPS_GIC >> 449 select HW_HAS_PCI >> 450 select I8253 >> 451 select I8259 >> 452 select MIPS_BONITO64 >> 453 select MIPS_CPU_SCACHE >> 454 select MIPS_L1_CACHE_SHIFT_6 >> 455 select PCI_GT64XXX_PCI0 >> 456 select MIPS_MSC >> 457 select SMP_UP if SMP >> 458 select SWAP_IO_SPACE >> 459 select SYS_HAS_CPU_MIPS32_R1 >> 460 select SYS_HAS_CPU_MIPS32_R2 >> 461 select SYS_HAS_CPU_MIPS32_R3_5 >> 462 select SYS_HAS_CPU_MIPS32_R5 >> 463 select SYS_HAS_CPU_MIPS32_R6 >> 464 select SYS_HAS_CPU_MIPS64_R1 >> 465 select SYS_HAS_CPU_MIPS64_R2 >> 466 select SYS_HAS_CPU_MIPS64_R6 >> 467 select SYS_HAS_CPU_NEVADA >> 468 select SYS_HAS_CPU_RM7000 >> 469 select SYS_SUPPORTS_32BIT_KERNEL >> 470 select SYS_SUPPORTS_64BIT_KERNEL >> 471 select SYS_SUPPORTS_BIG_ENDIAN >> 472 select SYS_SUPPORTS_HIGHMEM >> 473 select SYS_SUPPORTS_LITTLE_ENDIAN >> 474 select SYS_SUPPORTS_MICROMIPS >> 475 select SYS_SUPPORTS_MIPS_CMP >> 476 select SYS_SUPPORTS_MIPS_CPS >> 477 select SYS_SUPPORTS_MIPS16 >> 478 select SYS_SUPPORTS_MULTITHREADING >> 479 select SYS_SUPPORTS_SMARTMIPS >> 480 select SYS_SUPPORTS_ZBOOT >> 481 select USE_OF 210 select ZONE_DMA32 if 64BIT 482 select ZONE_DMA32 if 64BIT >> 483 select BUILTIN_DTB >> 484 select LIBFDT >> 485 help >> 486 This enables support for the MIPS Technologies Malta evaluation >> 487 board. 211 488 212 config RUSTC_SUPPORTS_RISCV !! 489 config MIPS_SEAD3 213 def_bool y !! 490 bool "MIPS SEAD3 board" 214 depends on 64BIT !! 491 select BOOT_ELF32 215 # Shadow call stack requires rustc ver !! 492 select BOOT_RAW 216 # -Zsanitizer=shadow-call-stack flag. !! 493 select BUILTIN_DTB 217 depends on !SHADOW_CALL_STACK || RUSTC !! 494 select CEVT_R4K 218 !! 495 select CSRC_R4K 219 config CLANG_SUPPORTS_DYNAMIC_FTRACE !! 496 select CLKSRC_MIPS_GIC 220 def_bool CC_IS_CLANG !! 497 select COMMON_CLK 221 # https://github.com/ClangBuiltLinux/l !! 498 select CPU_MIPSR2_IRQ_VI 222 depends on AS_IS_GNU || (AS_IS_LLVM && !! 499 select CPU_MIPSR2_IRQ_EI 223 !! 500 select DMA_NONCOHERENT 224 config GCC_SUPPORTS_DYNAMIC_FTRACE !! 501 select IRQ_MIPS_CPU 225 def_bool CC_IS_GCC !! 502 select MIPS_GIC 226 depends on $(cc-option,-fpatchable-fun !! 503 select LIBFDT 227 !! 504 select MIPS_MSC 228 config HAVE_SHADOW_CALL_STACK !! 505 select SYS_HAS_CPU_MIPS32_R1 229 def_bool $(cc-option,-fsanitize=shadow !! 506 select SYS_HAS_CPU_MIPS32_R2 230 # https://github.com/riscv-non-isa/ris !! 507 select SYS_HAS_CPU_MIPS64_R1 231 depends on $(ld-option,--no-relax-gp) !! 508 select SYS_HAS_EARLY_PRINTK >> 509 select SYS_SUPPORTS_32BIT_KERNEL >> 510 select SYS_SUPPORTS_64BIT_KERNEL >> 511 select SYS_SUPPORTS_BIG_ENDIAN >> 512 select SYS_SUPPORTS_LITTLE_ENDIAN >> 513 select SYS_SUPPORTS_SMARTMIPS >> 514 select SYS_SUPPORTS_MICROMIPS >> 515 select SYS_SUPPORTS_MIPS16 >> 516 select USB_EHCI_BIG_ENDIAN_DESC >> 517 select USB_EHCI_BIG_ENDIAN_MMIO >> 518 select USE_OF >> 519 help >> 520 This enables support for the MIPS Technologies SEAD3 evaluation >> 521 board. >> 522 >> 523 config NEC_MARKEINS >> 524 bool "NEC EMMA2RH Mark-eins board" >> 525 select SOC_EMMA2RH >> 526 select HW_HAS_PCI >> 527 help >> 528 This enables support for the NEC Electronics Mark-eins boards. >> 529 >> 530 config MACH_VR41XX >> 531 bool "NEC VR4100 series based machines" >> 532 select CEVT_R4K >> 533 select CSRC_R4K >> 534 select SYS_HAS_CPU_VR41XX >> 535 select SYS_SUPPORTS_MIPS16 >> 536 select ARCH_REQUIRE_GPIOLIB >> 537 >> 538 config NXP_STB220 >> 539 bool "NXP STB220 board" >> 540 select SOC_PNX833X >> 541 help >> 542 Support for NXP Semiconductors STB220 Development Board. >> 543 >> 544 config NXP_STB225 >> 545 bool "NXP 225 board" >> 546 select SOC_PNX833X >> 547 select SOC_PNX8335 >> 548 help >> 549 Support for NXP Semiconductors STB225 Development Board. >> 550 >> 551 config PMC_MSP >> 552 bool "PMC-Sierra MSP chipsets" >> 553 select CEVT_R4K >> 554 select CSRC_R4K >> 555 select DMA_NONCOHERENT >> 556 select SWAP_IO_SPACE >> 557 select NO_EXCEPT_FILL >> 558 select BOOT_RAW >> 559 select SYS_HAS_CPU_MIPS32_R1 >> 560 select SYS_HAS_CPU_MIPS32_R2 >> 561 select SYS_SUPPORTS_32BIT_KERNEL >> 562 select SYS_SUPPORTS_BIG_ENDIAN >> 563 select SYS_SUPPORTS_MIPS16 >> 564 select IRQ_MIPS_CPU >> 565 select SERIAL_8250 >> 566 select SERIAL_8250_CONSOLE >> 567 select USB_EHCI_BIG_ENDIAN_MMIO >> 568 select USB_EHCI_BIG_ENDIAN_DESC >> 569 help >> 570 This adds support for the PMC-Sierra family of Multi-Service >> 571 Processor System-On-A-Chips. These parts include a number >> 572 of integrated peripherals, interfaces and DSPs in addition to >> 573 a variety of MIPS cores. >> 574 >> 575 config RALINK >> 576 bool "Ralink based machines" >> 577 select CEVT_R4K >> 578 select CSRC_R4K >> 579 select BOOT_RAW >> 580 select DMA_NONCOHERENT >> 581 select IRQ_MIPS_CPU >> 582 select USE_OF >> 583 select SYS_HAS_CPU_MIPS32_R1 >> 584 select SYS_HAS_CPU_MIPS32_R2 >> 585 select SYS_SUPPORTS_32BIT_KERNEL >> 586 select SYS_SUPPORTS_LITTLE_ENDIAN >> 587 select SYS_SUPPORTS_MIPS16 >> 588 select SYS_HAS_EARLY_PRINTK >> 589 select HAVE_MACH_CLKDEV >> 590 select CLKDEV_LOOKUP >> 591 select ARCH_HAS_RESET_CONTROLLER >> 592 select RESET_CONTROLLER >> 593 >> 594 config SGI_IP22 >> 595 bool "SGI IP22 (Indy/Indigo2)" >> 596 select FW_ARC >> 597 select FW_ARC32 >> 598 select BOOT_ELF32 >> 599 select CEVT_R4K >> 600 select CSRC_R4K >> 601 select DEFAULT_SGI_PARTITION >> 602 select DMA_NONCOHERENT >> 603 select HW_HAS_EISA >> 604 select I8253 >> 605 select I8259 >> 606 select IP22_CPU_SCACHE >> 607 select IRQ_MIPS_CPU >> 608 select GENERIC_ISA_DMA_SUPPORT_BROKEN >> 609 select SGI_HAS_I8042 >> 610 select SGI_HAS_INDYDOG >> 611 select SGI_HAS_HAL2 >> 612 select SGI_HAS_SEEQ >> 613 select SGI_HAS_WD93 >> 614 select SGI_HAS_ZILOG >> 615 select SWAP_IO_SPACE >> 616 select SYS_HAS_CPU_R4X00 >> 617 select SYS_HAS_CPU_R5000 >> 618 # >> 619 # Disable EARLY_PRINTK for now since it leads to overwritten prom >> 620 # memory during early boot on some machines. >> 621 # >> 622 # See http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20091119164009.GA15038%40deprecation.cyrius.com >> 623 # for a more details discussion >> 624 # >> 625 # select SYS_HAS_EARLY_PRINTK >> 626 select SYS_SUPPORTS_32BIT_KERNEL >> 627 select SYS_SUPPORTS_64BIT_KERNEL >> 628 select SYS_SUPPORTS_BIG_ENDIAN >> 629 select MIPS_L1_CACHE_SHIFT_7 >> 630 help >> 631 This are the SGI Indy, Challenge S and Indigo2, as well as certain >> 632 OEM variants like the Tandem CMN B006S. To compile a Linux kernel >> 633 that runs on these, say Y here. >> 634 >> 635 config SGI_IP27 >> 636 bool "SGI IP27 (Origin200/2000)" >> 637 select FW_ARC >> 638 select FW_ARC64 >> 639 select BOOT_ELF64 >> 640 select DEFAULT_SGI_PARTITION >> 641 select DMA_COHERENT >> 642 select SYS_HAS_EARLY_PRINTK >> 643 select HW_HAS_PCI >> 644 select NR_CPUS_DEFAULT_64 >> 645 select SYS_HAS_CPU_R10000 >> 646 select SYS_SUPPORTS_64BIT_KERNEL >> 647 select SYS_SUPPORTS_BIG_ENDIAN >> 648 select SYS_SUPPORTS_NUMA >> 649 select SYS_SUPPORTS_SMP >> 650 select MIPS_L1_CACHE_SHIFT_7 >> 651 help >> 652 This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics >> 653 workstations. To compile a Linux kernel that runs on these, say Y >> 654 here. 232 655 233 config RISCV_USE_LINKER_RELAXATION !! 656 config SGI_IP28 234 def_bool y !! 657 bool "SGI IP28 (Indigo2 R10k)" 235 # https://github.com/llvm/llvm-project !! 658 select FW_ARC 236 depends on !LD_IS_LLD || LLD_VERSION > !! 659 select FW_ARC64 >> 660 select BOOT_ELF64 >> 661 select CEVT_R4K >> 662 select CSRC_R4K >> 663 select DEFAULT_SGI_PARTITION >> 664 select DMA_NONCOHERENT >> 665 select GENERIC_ISA_DMA_SUPPORT_BROKEN >> 666 select IRQ_MIPS_CPU >> 667 select HW_HAS_EISA >> 668 select I8253 >> 669 select I8259 >> 670 select SGI_HAS_I8042 >> 671 select SGI_HAS_INDYDOG >> 672 select SGI_HAS_HAL2 >> 673 select SGI_HAS_SEEQ >> 674 select SGI_HAS_WD93 >> 675 select SGI_HAS_ZILOG >> 676 select SWAP_IO_SPACE >> 677 select SYS_HAS_CPU_R10000 >> 678 # >> 679 # Disable EARLY_PRINTK for now since it leads to overwritten prom >> 680 # memory during early boot on some machines. >> 681 # >> 682 # See http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=20091119164009.GA15038%40deprecation.cyrius.com >> 683 # for a more details discussion >> 684 # >> 685 # select SYS_HAS_EARLY_PRINTK >> 686 select SYS_SUPPORTS_64BIT_KERNEL >> 687 select SYS_SUPPORTS_BIG_ENDIAN >> 688 select MIPS_L1_CACHE_SHIFT_7 >> 689 help >> 690 This is the SGI Indigo2 with R10000 processor. To compile a Linux >> 691 kernel that runs on these, say Y here. >> 692 >> 693 config SGI_IP32 >> 694 bool "SGI IP32 (O2)" >> 695 select FW_ARC >> 696 select FW_ARC32 >> 697 select BOOT_ELF32 >> 698 select CEVT_R4K >> 699 select CSRC_R4K >> 700 select DMA_NONCOHERENT >> 701 select HW_HAS_PCI >> 702 select IRQ_MIPS_CPU >> 703 select R5000_CPU_SCACHE >> 704 select RM7000_CPU_SCACHE >> 705 select SYS_HAS_CPU_R5000 >> 706 select SYS_HAS_CPU_R10000 if BROKEN >> 707 select SYS_HAS_CPU_RM7000 >> 708 select SYS_HAS_CPU_NEVADA >> 709 select SYS_SUPPORTS_64BIT_KERNEL >> 710 select SYS_SUPPORTS_BIG_ENDIAN >> 711 help >> 712 If you want this kernel to run on SGI O2 workstation, say Y here. >> 713 >> 714 config SIBYTE_CRHINE >> 715 bool "Sibyte BCM91120C-CRhine" >> 716 select BOOT_ELF32 >> 717 select DMA_COHERENT >> 718 select SIBYTE_BCM1120 >> 719 select SWAP_IO_SPACE >> 720 select SYS_HAS_CPU_SB1 >> 721 select SYS_SUPPORTS_BIG_ENDIAN >> 722 select SYS_SUPPORTS_LITTLE_ENDIAN >> 723 >> 724 config SIBYTE_CARMEL >> 725 bool "Sibyte BCM91120x-Carmel" >> 726 select BOOT_ELF32 >> 727 select DMA_COHERENT >> 728 select SIBYTE_BCM1120 >> 729 select SWAP_IO_SPACE >> 730 select SYS_HAS_CPU_SB1 >> 731 select SYS_SUPPORTS_BIG_ENDIAN >> 732 select SYS_SUPPORTS_LITTLE_ENDIAN >> 733 >> 734 config SIBYTE_CRHONE >> 735 bool "Sibyte BCM91125C-CRhone" >> 736 select BOOT_ELF32 >> 737 select DMA_COHERENT >> 738 select SIBYTE_BCM1125 >> 739 select SWAP_IO_SPACE >> 740 select SYS_HAS_CPU_SB1 >> 741 select SYS_SUPPORTS_BIG_ENDIAN >> 742 select SYS_SUPPORTS_HIGHMEM >> 743 select SYS_SUPPORTS_LITTLE_ENDIAN >> 744 >> 745 config SIBYTE_RHONE >> 746 bool "Sibyte BCM91125E-Rhone" >> 747 select BOOT_ELF32 >> 748 select DMA_COHERENT >> 749 select SIBYTE_BCM1125H >> 750 select SWAP_IO_SPACE >> 751 select SYS_HAS_CPU_SB1 >> 752 select SYS_SUPPORTS_BIG_ENDIAN >> 753 select SYS_SUPPORTS_LITTLE_ENDIAN >> 754 >> 755 config SIBYTE_SWARM >> 756 bool "Sibyte BCM91250A-SWARM" >> 757 select BOOT_ELF32 >> 758 select DMA_COHERENT >> 759 select HAVE_PATA_PLATFORM >> 760 select SIBYTE_SB1250 >> 761 select SWAP_IO_SPACE >> 762 select SYS_HAS_CPU_SB1 >> 763 select SYS_SUPPORTS_BIG_ENDIAN >> 764 select SYS_SUPPORTS_HIGHMEM >> 765 select SYS_SUPPORTS_LITTLE_ENDIAN >> 766 select ZONE_DMA32 if 64BIT 237 767 238 # https://github.com/llvm/llvm-project/commit/ !! 768 config SIBYTE_LITTLESUR 239 config ARCH_HAS_BROKEN_DWARF5 !! 769 bool "Sibyte BCM91250C2-LittleSur" 240 def_bool y !! 770 select BOOT_ELF32 241 depends on RISCV_USE_LINKER_RELAXATION !! 771 select DMA_COHERENT 242 # https://github.com/llvm/llvm-project !! 772 select HAVE_PATA_PLATFORM 243 depends on AS_IS_LLVM && AS_VERSION < !! 773 select SIBYTE_SB1250 244 # https://github.com/llvm/llvm-project !! 774 select SWAP_IO_SPACE 245 depends on LD_IS_LLD && LLD_VERSION < !! 775 select SYS_HAS_CPU_SB1 >> 776 select SYS_SUPPORTS_BIG_ENDIAN >> 777 select SYS_SUPPORTS_HIGHMEM >> 778 select SYS_SUPPORTS_LITTLE_ENDIAN >> 779 select ZONE_DMA32 if 64BIT >> 780 >> 781 config SIBYTE_SENTOSA >> 782 bool "Sibyte BCM91250E-Sentosa" >> 783 select BOOT_ELF32 >> 784 select DMA_COHERENT >> 785 select SIBYTE_SB1250 >> 786 select SWAP_IO_SPACE >> 787 select SYS_HAS_CPU_SB1 >> 788 select SYS_SUPPORTS_BIG_ENDIAN >> 789 select SYS_SUPPORTS_LITTLE_ENDIAN >> 790 >> 791 config SIBYTE_BIGSUR >> 792 bool "Sibyte BCM91480B-BigSur" >> 793 select BOOT_ELF32 >> 794 select DMA_COHERENT >> 795 select NR_CPUS_DEFAULT_4 >> 796 select SIBYTE_BCM1x80 >> 797 select SWAP_IO_SPACE >> 798 select SYS_HAS_CPU_SB1 >> 799 select SYS_SUPPORTS_BIG_ENDIAN >> 800 select SYS_SUPPORTS_HIGHMEM >> 801 select SYS_SUPPORTS_LITTLE_ENDIAN >> 802 select ZONE_DMA32 if 64BIT 246 803 247 config ARCH_MMAP_RND_BITS_MIN !! 804 config SNI_RM 248 default 18 if 64BIT !! 805 bool "SNI RM200/300/400" 249 default 8 !! 806 select FW_ARC if CPU_LITTLE_ENDIAN >> 807 select FW_ARC32 if CPU_LITTLE_ENDIAN >> 808 select FW_SNIPROM if CPU_BIG_ENDIAN >> 809 select ARCH_MAY_HAVE_PC_FDC >> 810 select BOOT_ELF32 >> 811 select CEVT_R4K >> 812 select CSRC_R4K >> 813 select DEFAULT_SGI_PARTITION if CPU_BIG_ENDIAN >> 814 select DMA_NONCOHERENT >> 815 select GENERIC_ISA_DMA >> 816 select HAVE_PCSPKR_PLATFORM >> 817 select HW_HAS_EISA >> 818 select HW_HAS_PCI >> 819 select IRQ_MIPS_CPU >> 820 select I8253 >> 821 select I8259 >> 822 select ISA >> 823 select MIPS_L1_CACHE_SHIFT_6 >> 824 select SWAP_IO_SPACE if CPU_BIG_ENDIAN >> 825 select SYS_HAS_CPU_R4X00 >> 826 select SYS_HAS_CPU_R5000 >> 827 select SYS_HAS_CPU_R10000 >> 828 select R5000_CPU_SCACHE >> 829 select SYS_HAS_EARLY_PRINTK >> 830 select SYS_SUPPORTS_32BIT_KERNEL >> 831 select SYS_SUPPORTS_64BIT_KERNEL >> 832 select SYS_SUPPORTS_BIG_ENDIAN >> 833 select SYS_SUPPORTS_HIGHMEM >> 834 select SYS_SUPPORTS_LITTLE_ENDIAN >> 835 help >> 836 The SNI RM200/300/400 are MIPS-based machines manufactured by >> 837 Siemens Nixdorf Informationssysteme (SNI), parent company of Pyramid >> 838 Technology and now in turn merged with Fujitsu. Say Y here to >> 839 support this machine type. >> 840 >> 841 config MACH_TX39XX >> 842 bool "Toshiba TX39 series based machines" >> 843 >> 844 config MACH_TX49XX >> 845 bool "Toshiba TX49 series based machines" >> 846 >> 847 config MIKROTIK_RB532 >> 848 bool "Mikrotik RB532 boards" >> 849 select CEVT_R4K >> 850 select CSRC_R4K >> 851 select DMA_NONCOHERENT >> 852 select HW_HAS_PCI >> 853 select IRQ_MIPS_CPU >> 854 select SYS_HAS_CPU_MIPS32_R1 >> 855 select SYS_SUPPORTS_32BIT_KERNEL >> 856 select SYS_SUPPORTS_LITTLE_ENDIAN >> 857 select SWAP_IO_SPACE >> 858 select BOOT_RAW >> 859 select ARCH_REQUIRE_GPIOLIB >> 860 select MIPS_L1_CACHE_SHIFT_4 >> 861 help >> 862 Support the Mikrotik(tm) RouterBoard 532 series, >> 863 based on the IDT RC32434 SoC. >> 864 >> 865 config CAVIUM_OCTEON_SOC >> 866 bool "Cavium Networks Octeon SoC based boards" >> 867 select CEVT_R4K >> 868 select ARCH_PHYS_ADDR_T_64BIT >> 869 select DMA_COHERENT >> 870 select SYS_SUPPORTS_64BIT_KERNEL >> 871 select SYS_SUPPORTS_BIG_ENDIAN >> 872 select EDAC_SUPPORT >> 873 select EDAC_ATOMIC_SCRUB >> 874 select SYS_SUPPORTS_LITTLE_ENDIAN >> 875 select SYS_SUPPORTS_HOTPLUG_CPU if CPU_BIG_ENDIAN >> 876 select SYS_HAS_EARLY_PRINTK >> 877 select SYS_HAS_CPU_CAVIUM_OCTEON >> 878 select SWAP_IO_SPACE >> 879 select HW_HAS_PCI >> 880 select ZONE_DMA32 >> 881 select HOLES_IN_ZONE >> 882 select ARCH_REQUIRE_GPIOLIB >> 883 select LIBFDT >> 884 select USE_OF >> 885 select ARCH_SPARSEMEM_ENABLE >> 886 select SYS_SUPPORTS_SMP >> 887 select NR_CPUS_DEFAULT_16 >> 888 select BUILTIN_DTB >> 889 select MTD_COMPLEX_MAPPINGS >> 890 help >> 891 This option supports all of the Octeon reference boards from Cavium >> 892 Networks. It builds a kernel that dynamically determines the Octeon >> 893 CPU type and supports all known board reference implementations. >> 894 Some of the supported boards are: >> 895 EBT3000 >> 896 EBH3000 >> 897 EBH3100 >> 898 Thunder >> 899 Kodama >> 900 Hikari >> 901 Say Y here for most Octeon reference boards. >> 902 >> 903 config NLM_XLR_BOARD >> 904 bool "Netlogic XLR/XLS based systems" >> 905 select BOOT_ELF32 >> 906 select NLM_COMMON >> 907 select SYS_HAS_CPU_XLR >> 908 select SYS_SUPPORTS_SMP >> 909 select HW_HAS_PCI >> 910 select SWAP_IO_SPACE >> 911 select SYS_SUPPORTS_32BIT_KERNEL >> 912 select SYS_SUPPORTS_64BIT_KERNEL >> 913 select ARCH_PHYS_ADDR_T_64BIT >> 914 select SYS_SUPPORTS_BIG_ENDIAN >> 915 select SYS_SUPPORTS_HIGHMEM >> 916 select DMA_COHERENT >> 917 select NR_CPUS_DEFAULT_32 >> 918 select CEVT_R4K >> 919 select CSRC_R4K >> 920 select IRQ_MIPS_CPU >> 921 select ZONE_DMA32 if 64BIT >> 922 select SYNC_R4K >> 923 select SYS_HAS_EARLY_PRINTK >> 924 select SYS_SUPPORTS_ZBOOT >> 925 select SYS_SUPPORTS_ZBOOT_UART16550 >> 926 help >> 927 Support for systems based on Netlogic XLR and XLS processors. >> 928 Say Y here if you have a XLR or XLS based board. >> 929 >> 930 config NLM_XLP_BOARD >> 931 bool "Netlogic XLP based systems" >> 932 select BOOT_ELF32 >> 933 select NLM_COMMON >> 934 select SYS_HAS_CPU_XLP >> 935 select SYS_SUPPORTS_SMP >> 936 select HW_HAS_PCI >> 937 select SYS_SUPPORTS_32BIT_KERNEL >> 938 select SYS_SUPPORTS_64BIT_KERNEL >> 939 select ARCH_PHYS_ADDR_T_64BIT >> 940 select ARCH_REQUIRE_GPIOLIB >> 941 select SYS_SUPPORTS_BIG_ENDIAN >> 942 select SYS_SUPPORTS_LITTLE_ENDIAN >> 943 select SYS_SUPPORTS_HIGHMEM >> 944 select DMA_COHERENT >> 945 select NR_CPUS_DEFAULT_32 >> 946 select CEVT_R4K >> 947 select CSRC_R4K >> 948 select IRQ_MIPS_CPU >> 949 select ZONE_DMA32 if 64BIT >> 950 select SYNC_R4K >> 951 select SYS_HAS_EARLY_PRINTK >> 952 select USE_OF >> 953 select SYS_SUPPORTS_ZBOOT >> 954 select SYS_SUPPORTS_ZBOOT_UART16550 >> 955 help >> 956 This board is based on Netlogic XLP Processor. >> 957 Say Y here if you have a XLP based board. >> 958 >> 959 config MIPS_PARAVIRT >> 960 bool "Para-Virtualized guest system" >> 961 select CEVT_R4K >> 962 select CSRC_R4K >> 963 select DMA_COHERENT >> 964 select SYS_SUPPORTS_64BIT_KERNEL >> 965 select SYS_SUPPORTS_32BIT_KERNEL >> 966 select SYS_SUPPORTS_BIG_ENDIAN >> 967 select SYS_SUPPORTS_SMP >> 968 select NR_CPUS_DEFAULT_4 >> 969 select SYS_HAS_EARLY_PRINTK >> 970 select SYS_HAS_CPU_MIPS32_R2 >> 971 select SYS_HAS_CPU_MIPS64_R2 >> 972 select SYS_HAS_CPU_CAVIUM_OCTEON >> 973 select HW_HAS_PCI >> 974 select SWAP_IO_SPACE >> 975 help >> 976 This option supports guest running under ???? 250 977 251 config ARCH_MMAP_RND_COMPAT_BITS_MIN !! 978 endchoice 252 default 8 << 253 979 254 # max bits determined by the following formula !! 980 source "arch/mips/alchemy/Kconfig" 255 # VA_BITS - PAGE_SHIFT - 3 !! 981 source "arch/mips/ath25/Kconfig" 256 config ARCH_MMAP_RND_BITS_MAX !! 982 source "arch/mips/ath79/Kconfig" 257 default 24 if 64BIT # SV39 based !! 983 source "arch/mips/bcm47xx/Kconfig" 258 default 17 !! 984 source "arch/mips/bcm63xx/Kconfig" >> 985 source "arch/mips/bmips/Kconfig" >> 986 source "arch/mips/jazz/Kconfig" >> 987 source "arch/mips/jz4740/Kconfig" >> 988 source "arch/mips/lantiq/Kconfig" >> 989 source "arch/mips/lasat/Kconfig" >> 990 source "arch/mips/pistachio/Kconfig" >> 991 source "arch/mips/pmcs-msp71xx/Kconfig" >> 992 source "arch/mips/ralink/Kconfig" >> 993 source "arch/mips/sgi-ip27/Kconfig" >> 994 source "arch/mips/sibyte/Kconfig" >> 995 source "arch/mips/txx9/Kconfig" >> 996 source "arch/mips/vr41xx/Kconfig" >> 997 source "arch/mips/cavium-octeon/Kconfig" >> 998 source "arch/mips/loongson32/Kconfig" >> 999 source "arch/mips/loongson64/Kconfig" >> 1000 source "arch/mips/netlogic/Kconfig" >> 1001 source "arch/mips/paravirt/Kconfig" >> 1002 source "arch/mips/xilfpga/Kconfig" 259 1003 260 config ARCH_MMAP_RND_COMPAT_BITS_MAX !! 1004 endmenu 261 default 17 << 262 1005 263 # set if we run in machine mode, cleared if we !! 1006 config RWSEM_GENERIC_SPINLOCK 264 config RISCV_M_MODE !! 1007 bool 265 bool "Build a kernel that runs in mach << 266 depends on !MMU << 267 default y 1008 default y 268 help << 269 Select this option if you want to ru << 270 without the assistance of any other << 271 1009 272 # set if we are running in S-mode and can use !! 1010 config RWSEM_XCHGADD_ALGORITHM 273 config RISCV_SBI !! 1011 bool >> 1012 >> 1013 config ARCH_HAS_ILOG2_U32 >> 1014 bool >> 1015 default n >> 1016 >> 1017 config ARCH_HAS_ILOG2_U64 >> 1018 bool >> 1019 default n >> 1020 >> 1021 config GENERIC_HWEIGHT 274 bool 1022 bool 275 depends on !RISCV_M_MODE << 276 default y 1023 default y 277 1024 278 config MMU !! 1025 config GENERIC_CALIBRATE_DELAY 279 bool "MMU-based Paged Memory Managemen !! 1026 bool 280 default y 1027 default y 281 help << 282 Select if you want MMU-based virtual << 283 support by paged memory management. << 284 1028 285 config PAGE_OFFSET !! 1029 config SCHED_OMIT_FRAME_POINTER 286 hex !! 1030 bool 287 default 0x80000000 if !MMU && RISCV_M_ !! 1031 default y 288 default 0x80200000 if !MMU << 289 default 0xc0000000 if 32BIT << 290 default 0xff60000000000000 if 64BIT << 291 << 292 config KASAN_SHADOW_OFFSET << 293 hex << 294 depends on KASAN_GENERIC << 295 default 0xdfffffff00000000 if 64BIT << 296 default 0xffffffff if 32BIT << 297 1032 298 config ARCH_FLATMEM_ENABLE !! 1033 # 299 def_bool !NUMA !! 1034 # Select some configuration options automatically based on user selections. >> 1035 # >> 1036 config FW_ARC >> 1037 bool 300 1038 301 config ARCH_SPARSEMEM_ENABLE !! 1039 config ARCH_MAY_HAVE_PC_FDC 302 def_bool y !! 1040 bool 303 depends on MMU << 304 select SPARSEMEM_STATIC if 32BIT && SP << 305 select SPARSEMEM_VMEMMAP_ENABLE if 64B << 306 1041 307 config ARCH_SELECT_MEMORY_MODEL !! 1042 config BOOT_RAW 308 def_bool ARCH_SPARSEMEM_ENABLE !! 1043 bool 309 1044 310 config ARCH_SUPPORTS_UPROBES !! 1045 config CEVT_BCM1480 311 def_bool y !! 1046 bool 312 1047 313 config STACKTRACE_SUPPORT !! 1048 config CEVT_DS1287 314 def_bool y !! 1049 bool 315 1050 316 config GENERIC_BUG !! 1051 config CEVT_GT641XX 317 def_bool y !! 1052 bool 318 depends on BUG << 319 select GENERIC_BUG_RELATIVE_POINTERS i << 320 1053 321 config GENERIC_BUG_RELATIVE_POINTERS !! 1054 config CEVT_R4K 322 bool 1055 bool 323 1056 324 config GENERIC_CALIBRATE_DELAY !! 1057 config CEVT_SB1250 325 def_bool y !! 1058 bool 326 1059 327 config GENERIC_CSUM !! 1060 config CEVT_TXX9 328 def_bool y !! 1061 bool 329 1062 330 config GENERIC_HWEIGHT !! 1063 config CSRC_BCM1480 331 def_bool y !! 1064 bool 332 1065 333 config FIX_EARLYCON_MEM !! 1066 config CSRC_IOASIC 334 def_bool MMU !! 1067 bool 335 1068 336 config ILLEGAL_POINTER_VALUE !! 1069 config CSRC_R4K 337 hex !! 1070 bool 338 default 0 if 32BIT << 339 default 0xdead000000000000 if 64BIT << 340 1071 341 config PGTABLE_LEVELS !! 1072 config CSRC_SB1250 342 int !! 1073 bool 343 default 5 if 64BIT << 344 default 2 << 345 1074 346 config LOCKDEP_SUPPORT !! 1075 config MIPS_CLOCK_VSYSCALL 347 def_bool y !! 1076 def_bool CSRC_R4K || CLKSRC_MIPS_GIC 348 1077 349 config RISCV_DMA_NONCOHERENT !! 1078 config GPIO_TXX9 >> 1079 select ARCH_REQUIRE_GPIOLIB 350 bool 1080 bool 351 select ARCH_HAS_DMA_PREP_COHERENT << 352 select ARCH_HAS_SETUP_DMA_OPS << 353 select ARCH_HAS_SYNC_DMA_FOR_CPU << 354 select ARCH_HAS_SYNC_DMA_FOR_DEVICE << 355 select DMA_BOUNCE_UNALIGNED_KMALLOC if << 356 1081 357 config RISCV_NONSTANDARD_CACHE_OPS !! 1082 config FW_CFE 358 bool 1083 bool 359 help << 360 This enables function pointer suppor << 361 systems to handle cache management. << 362 1084 363 config AS_HAS_INSN !! 1085 config ARCH_DMA_ADDR_T_64BIT 364 def_bool $(as-instr,.insn r 51$(comma) !! 1086 def_bool (HIGHMEM && ARCH_PHYS_ADDR_T_64BIT) || 64BIT 365 1087 366 config AS_HAS_OPTION_ARCH !! 1088 config ARCH_SUPPORTS_UPROBES 367 # https://github.com/llvm/llvm-project !! 1089 bool 368 def_bool y << 369 depends on $(as-instr, .option arch$(c << 370 1090 371 source "arch/riscv/Kconfig.socs" !! 1091 config DMA_MAYBE_COHERENT 372 source "arch/riscv/Kconfig.errata" !! 1092 select DMA_NONCOHERENT >> 1093 bool 373 1094 374 menu "Platform type" !! 1095 config DMA_COHERENT >> 1096 bool 375 1097 376 config NONPORTABLE !! 1098 config DMA_NONCOHERENT 377 bool "Allow configurations that result !! 1099 bool 378 help !! 1100 select NEED_DMA_MAP_STATE 379 RISC-V kernel binaries are compatibl << 380 whenever possible, but there are som << 381 satisfied by configurations that res << 382 not portable between systems. << 383 1101 384 Selecting N does not guarantee kerne !! 1102 config NEED_DMA_MAP_STATE 385 systems. Selecting any of the optio !! 1103 bool 386 result in kernel binaries that are u << 387 systems. << 388 1104 389 If unsure, say N. !! 1105 config SYS_HAS_EARLY_PRINTK >> 1106 bool 390 1107 391 choice !! 1108 config HOTPLUG_CPU 392 prompt "Base ISA" !! 1109 bool "Support for hot-pluggable CPUs" 393 default ARCH_RV64I !! 1110 depends on SMP && SYS_SUPPORTS_HOTPLUG_CPU 394 help 1111 help 395 This selects the base ISA that this !! 1112 Say Y here to allow turning CPUs off and on. CPUs can be 396 the target platform. !! 1113 controlled through /sys/devices/system/cpu. >> 1114 (Note: power management support will enable this option >> 1115 automatically on SMP systems. ) >> 1116 Say N if you want to disable CPU hotplug. 397 1117 398 config ARCH_RV32I !! 1118 config SYS_SUPPORTS_HOTPLUG_CPU 399 bool "RV32I" !! 1119 bool 400 depends on NONPORTABLE << 401 select 32BIT << 402 select GENERIC_LIB_ASHLDI3 << 403 select GENERIC_LIB_ASHRDI3 << 404 select GENERIC_LIB_LSHRDI3 << 405 select GENERIC_LIB_UCMPDI2 << 406 << 407 config ARCH_RV64I << 408 bool "RV64I" << 409 select 64BIT << 410 select ARCH_SUPPORTS_INT128 if CC_HAS_ << 411 select SWIOTLB if MMU << 412 1120 413 endchoice !! 1121 config MIPS_BONITO64 >> 1122 bool 414 1123 415 # We must be able to map all physical memory i !! 1124 config MIPS_MSC 416 # is still a bit more efficient when generatin !! 1125 bool 417 # such that it can only map 2GiB of memory. !! 1126 >> 1127 config MIPS_NILE4 >> 1128 bool >> 1129 >> 1130 config SYNC_R4K >> 1131 bool >> 1132 >> 1133 config MIPS_MACHINE >> 1134 def_bool n >> 1135 >> 1136 config NO_IOPORT_MAP >> 1137 def_bool n >> 1138 >> 1139 config GENERIC_CSUM >> 1140 bool >> 1141 >> 1142 config GENERIC_ISA_DMA >> 1143 bool >> 1144 select ZONE_DMA if GENERIC_ISA_DMA_SUPPORT_BROKEN=n >> 1145 select ISA_DMA_API >> 1146 >> 1147 config GENERIC_ISA_DMA_SUPPORT_BROKEN >> 1148 bool >> 1149 select GENERIC_ISA_DMA >> 1150 >> 1151 config ISA_DMA_API >> 1152 bool >> 1153 >> 1154 config HOLES_IN_ZONE >> 1155 bool >> 1156 >> 1157 # >> 1158 # Endianness selection. Sufficiently obscure so many users don't know what to >> 1159 # answer,so we try hard to limit the available choices. Also the use of a >> 1160 # choice statement should be more obvious to the user. >> 1161 # 418 choice 1162 choice 419 prompt "Kernel Code Model" !! 1163 prompt "Endianness selection" 420 default CMODEL_MEDLOW if 32BIT !! 1164 help 421 default CMODEL_MEDANY if 64BIT !! 1165 Some MIPS machines can be configured for either little or big endian 422 !! 1166 byte order. These modes require different kernels and a different 423 config CMODEL_MEDLOW !! 1167 Linux distribution. In general there is one preferred byteorder for a 424 bool "medium low code model" !! 1168 particular system but some systems are just as commonly used in the 425 config CMODEL_MEDANY !! 1169 one or the other endianness. 426 bool "medium any code model" !! 1170 >> 1171 config CPU_BIG_ENDIAN >> 1172 bool "Big endian" >> 1173 depends on SYS_SUPPORTS_BIG_ENDIAN >> 1174 >> 1175 config CPU_LITTLE_ENDIAN >> 1176 bool "Little endian" >> 1177 depends on SYS_SUPPORTS_LITTLE_ENDIAN >> 1178 427 endchoice 1179 endchoice 428 1180 429 config MODULE_SECTIONS !! 1181 config EXPORT_UASM 430 bool 1182 bool 431 select HAVE_MOD_ARCH_SPECIFIC << 432 1183 433 config SMP !! 1184 config SYS_SUPPORTS_APM_EMULATION 434 bool "Symmetric Multi-Processing" !! 1185 bool 435 help << 436 This enables support for systems wit << 437 you say N here, the kernel will run << 438 multiprocessor machines, but will us << 439 multiprocessor machine. If you say Y << 440 on many, but not all, single process << 441 processor machine, the kernel will r << 442 here. << 443 1186 444 If you don't know what to do here, s !! 1187 config SYS_SUPPORTS_BIG_ENDIAN >> 1188 bool 445 1189 446 config SCHED_MC !! 1190 config SYS_SUPPORTS_LITTLE_ENDIAN 447 bool "Multi-core scheduler support" !! 1191 bool 448 depends on SMP << 449 help << 450 Multi-core scheduler support improve << 451 making when dealing with multi-core << 452 increased overhead in some places. I << 453 1192 454 config NR_CPUS !! 1193 config SYS_SUPPORTS_HUGETLBFS 455 int "Maximum number of CPUs (2-512)" !! 1194 bool 456 depends on SMP !! 1195 depends on CPU_SUPPORTS_HUGEPAGES && 64BIT 457 range 2 512 if !RISCV_SBI_V01 !! 1196 default y 458 range 2 32 if RISCV_SBI_V01 && 32BIT << 459 range 2 64 if RISCV_SBI_V01 && 64BIT << 460 default "32" if 32BIT << 461 default "64" if 64BIT << 462 1197 463 config HOTPLUG_CPU !! 1198 config MIPS_HUGE_TLB_SUPPORT 464 bool "Support for hot-pluggable CPUs" !! 1199 def_bool HUGETLB_PAGE || TRANSPARENT_HUGEPAGE 465 depends on SMP << 466 select GENERIC_IRQ_MIGRATION << 467 help << 468 1200 469 Say Y here to experiment with turnin !! 1201 config IRQ_CPU_RM7K 470 can be controlled through /sys/devic !! 1202 bool 471 1203 472 Say N if you want to disable CPU hot !! 1204 config IRQ_MSP_SLP >> 1205 bool 473 1206 474 choice !! 1207 config IRQ_MSP_CIC 475 prompt "CPU Tuning" !! 1208 bool 476 default TUNE_GENERIC << 477 1209 478 config TUNE_GENERIC !! 1210 config IRQ_TXX9 479 bool "generic" !! 1211 bool 480 1212 481 endchoice !! 1213 config IRQ_GT641XX >> 1214 bool 482 1215 483 # Common NUMA Features !! 1216 config PCI_GT64XXX_PCI0 484 config NUMA !! 1217 bool 485 bool "NUMA Memory Allocation and Sched << 486 depends on SMP && MMU << 487 select ARCH_SUPPORTS_NUMA_BALANCING << 488 select GENERIC_ARCH_NUMA << 489 select HAVE_SETUP_PER_CPU_AREA << 490 select NEED_PER_CPU_EMBED_FIRST_CHUNK << 491 select NEED_PER_CPU_PAGE_FIRST_CHUNK << 492 select OF_NUMA << 493 select USE_PERCPU_NUMA_NODE_ID << 494 help << 495 Enable NUMA (Non-Uniform Memory Acce << 496 1218 497 The kernel will try to allocate memo !! 1219 config NO_EXCEPT_FILL 498 local memory of the CPU and add some !! 1220 bool 499 1221 500 config NODES_SHIFT !! 1222 config SOC_EMMA2RH 501 int "Maximum NUMA Nodes (as a power of !! 1223 bool 502 range 1 10 !! 1224 select CEVT_R4K 503 default "2" !! 1225 select CSRC_R4K 504 depends on NUMA !! 1226 select DMA_NONCOHERENT 505 help !! 1227 select IRQ_MIPS_CPU 506 Specify the maximum number of NUMA N !! 1228 select SWAP_IO_SPACE 507 system. Increases memory reserved t !! 1229 select SYS_HAS_CPU_R5500 >> 1230 select SYS_SUPPORTS_32BIT_KERNEL >> 1231 select SYS_SUPPORTS_64BIT_KERNEL >> 1232 select SYS_SUPPORTS_BIG_ENDIAN 508 1233 509 config RISCV_ALTERNATIVE !! 1234 config SOC_PNX833X 510 bool 1235 bool 511 depends on !XIP_KERNEL !! 1236 select CEVT_R4K 512 help !! 1237 select CSRC_R4K 513 This Kconfig allows the kernel to au !! 1238 select IRQ_MIPS_CPU 514 erratum or cpufeature required by th !! 1239 select DMA_NONCOHERENT 515 time. The code patching overhead is !! 1240 select SYS_HAS_CPU_MIPS32_R2 516 once at boot and once on each module !! 1241 select SYS_SUPPORTS_32BIT_KERNEL >> 1242 select SYS_SUPPORTS_LITTLE_ENDIAN >> 1243 select SYS_SUPPORTS_BIG_ENDIAN >> 1244 select SYS_SUPPORTS_MIPS16 >> 1245 select CPU_MIPSR2_IRQ_VI 517 1246 518 config RISCV_ALTERNATIVE_EARLY !! 1247 config SOC_PNX8335 519 bool 1248 bool 520 depends on RISCV_ALTERNATIVE !! 1249 select SOC_PNX833X 521 help << 522 Allows early patching of the kernel << 523 1250 524 config RISCV_ISA_C !! 1251 config MIPS_SPRAM 525 bool "Emit compressed instructions whe !! 1252 bool 526 default y !! 1253 527 help !! 1254 config SWAP_IO_SPACE 528 Adds "C" to the ISA subsets that the !! 1255 bool 529 when building Linux, which results i !! 1256 530 Linux binary. !! 1257 config SGI_HAS_INDYDOG >> 1258 bool >> 1259 >> 1260 config SGI_HAS_HAL2 >> 1261 bool >> 1262 >> 1263 config SGI_HAS_SEEQ >> 1264 bool >> 1265 >> 1266 config SGI_HAS_WD93 >> 1267 bool >> 1268 >> 1269 config SGI_HAS_ZILOG >> 1270 bool >> 1271 >> 1272 config SGI_HAS_I8042 >> 1273 bool >> 1274 >> 1275 config DEFAULT_SGI_PARTITION >> 1276 bool >> 1277 >> 1278 config FW_ARC32 >> 1279 bool >> 1280 >> 1281 config FW_SNIPROM >> 1282 bool >> 1283 >> 1284 config BOOT_ELF32 >> 1285 bool >> 1286 >> 1287 config MIPS_L1_CACHE_SHIFT_4 >> 1288 bool >> 1289 >> 1290 config MIPS_L1_CACHE_SHIFT_5 >> 1291 bool >> 1292 >> 1293 config MIPS_L1_CACHE_SHIFT_6 >> 1294 bool >> 1295 >> 1296 config MIPS_L1_CACHE_SHIFT_7 >> 1297 bool >> 1298 >> 1299 config MIPS_L1_CACHE_SHIFT >> 1300 int >> 1301 default "7" if MIPS_L1_CACHE_SHIFT_7 >> 1302 default "6" if MIPS_L1_CACHE_SHIFT_6 >> 1303 default "5" if MIPS_L1_CACHE_SHIFT_5 >> 1304 default "4" if MIPS_L1_CACHE_SHIFT_4 >> 1305 default "5" >> 1306 >> 1307 config HAVE_STD_PC_SERIAL_PORT >> 1308 bool 531 1309 532 If you don't know what to do here, s !! 1310 config ARC_CONSOLE >> 1311 bool "ARC console support" >> 1312 depends on SGI_IP22 || SGI_IP28 || (SNI_RM && CPU_LITTLE_ENDIAN) 533 1313 534 config RISCV_ISA_SVNAPOT !! 1314 config ARC_MEMORY 535 bool "Svnapot extension support for su !! 1315 bool 536 depends on 64BIT && MMU !! 1316 depends on MACH_JAZZ || SNI_RM || SGI_IP32 537 depends on RISCV_ALTERNATIVE << 538 default y 1317 default y >> 1318 >> 1319 config ARC_PROMLIB >> 1320 bool >> 1321 depends on MACH_JAZZ || SNI_RM || SGI_IP22 || SGI_IP28 || SGI_IP32 >> 1322 default y >> 1323 >> 1324 config FW_ARC64 >> 1325 bool >> 1326 >> 1327 config BOOT_ELF64 >> 1328 bool >> 1329 >> 1330 menu "CPU selection" >> 1331 >> 1332 choice >> 1333 prompt "CPU type" >> 1334 default CPU_R4X00 >> 1335 >> 1336 config CPU_LOONGSON3 >> 1337 bool "Loongson 3 CPU" >> 1338 depends on SYS_HAS_CPU_LOONGSON3 >> 1339 select CPU_SUPPORTS_64BIT_KERNEL >> 1340 select CPU_SUPPORTS_HIGHMEM >> 1341 select CPU_SUPPORTS_HUGEPAGES >> 1342 select WEAK_ORDERING >> 1343 select WEAK_REORDERING_BEYOND_LLSC >> 1344 select ARCH_REQUIRE_GPIOLIB >> 1345 help >> 1346 The Loongson 3 processor implements the MIPS64R2 instruction >> 1347 set with many extensions. >> 1348 >> 1349 config CPU_LOONGSON2E >> 1350 bool "Loongson 2E" >> 1351 depends on SYS_HAS_CPU_LOONGSON2E >> 1352 select CPU_LOONGSON2 >> 1353 help >> 1354 The Loongson 2E processor implements the MIPS III instruction set >> 1355 with many extensions. >> 1356 >> 1357 It has an internal FPGA northbridge, which is compatible to >> 1358 bonito64. >> 1359 >> 1360 config CPU_LOONGSON2F >> 1361 bool "Loongson 2F" >> 1362 depends on SYS_HAS_CPU_LOONGSON2F >> 1363 select CPU_LOONGSON2 >> 1364 select ARCH_REQUIRE_GPIOLIB >> 1365 help >> 1366 The Loongson 2F processor implements the MIPS III instruction set >> 1367 with many extensions. >> 1368 >> 1369 Loongson2F have built-in DDR2 and PCIX controller. The PCIX controller >> 1370 have a similar programming interface with FPGA northbridge used in >> 1371 Loongson2E. >> 1372 >> 1373 config CPU_LOONGSON1B >> 1374 bool "Loongson 1B" >> 1375 depends on SYS_HAS_CPU_LOONGSON1B >> 1376 select CPU_LOONGSON1 >> 1377 help >> 1378 The Loongson 1B is a 32-bit SoC, which implements the MIPS32 >> 1379 release 2 instruction set. >> 1380 >> 1381 config CPU_MIPS32_R1 >> 1382 bool "MIPS32 Release 1" >> 1383 depends on SYS_HAS_CPU_MIPS32_R1 >> 1384 select CPU_HAS_PREFETCH >> 1385 select CPU_SUPPORTS_32BIT_KERNEL >> 1386 select CPU_SUPPORTS_HIGHMEM >> 1387 help >> 1388 Choose this option to build a kernel for release 1 or later of the >> 1389 MIPS32 architecture. Most modern embedded systems with a 32-bit >> 1390 MIPS processor are based on a MIPS32 processor. If you know the >> 1391 specific type of processor in your system, choose those that one >> 1392 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system. >> 1393 Release 2 of the MIPS32 architecture is available since several >> 1394 years so chances are you even have a MIPS32 Release 2 processor >> 1395 in which case you should choose CPU_MIPS32_R2 instead for better >> 1396 performance. >> 1397 >> 1398 config CPU_MIPS32_R2 >> 1399 bool "MIPS32 Release 2" >> 1400 depends on SYS_HAS_CPU_MIPS32_R2 >> 1401 select CPU_HAS_PREFETCH >> 1402 select CPU_SUPPORTS_32BIT_KERNEL >> 1403 select CPU_SUPPORTS_HIGHMEM >> 1404 select CPU_SUPPORTS_MSA >> 1405 select HAVE_KVM >> 1406 help >> 1407 Choose this option to build a kernel for release 2 or later of the >> 1408 MIPS32 architecture. Most modern embedded systems with a 32-bit >> 1409 MIPS processor are based on a MIPS32 processor. If you know the >> 1410 specific type of processor in your system, choose those that one >> 1411 otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system. >> 1412 >> 1413 config CPU_MIPS32_R6 >> 1414 bool "MIPS32 Release 6" >> 1415 depends on SYS_HAS_CPU_MIPS32_R6 >> 1416 select CPU_HAS_PREFETCH >> 1417 select CPU_SUPPORTS_32BIT_KERNEL >> 1418 select CPU_SUPPORTS_HIGHMEM >> 1419 select CPU_SUPPORTS_MSA >> 1420 select GENERIC_CSUM >> 1421 select HAVE_KVM >> 1422 select MIPS_O32_FP64_SUPPORT >> 1423 help >> 1424 Choose this option to build a kernel for release 6 or later of the >> 1425 MIPS32 architecture. New MIPS processors, starting with the Warrior >> 1426 family, are based on a MIPS32r6 processor. If you own an older >> 1427 processor, you probably need to select MIPS32r1 or MIPS32r2 instead. >> 1428 >> 1429 config CPU_MIPS64_R1 >> 1430 bool "MIPS64 Release 1" >> 1431 depends on SYS_HAS_CPU_MIPS64_R1 >> 1432 select CPU_HAS_PREFETCH >> 1433 select CPU_SUPPORTS_32BIT_KERNEL >> 1434 select CPU_SUPPORTS_64BIT_KERNEL >> 1435 select CPU_SUPPORTS_HIGHMEM >> 1436 select CPU_SUPPORTS_HUGEPAGES >> 1437 help >> 1438 Choose this option to build a kernel for release 1 or later of the >> 1439 MIPS64 architecture. Many modern embedded systems with a 64-bit >> 1440 MIPS processor are based on a MIPS64 processor. If you know the >> 1441 specific type of processor in your system, choose those that one >> 1442 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system. >> 1443 Release 2 of the MIPS64 architecture is available since several >> 1444 years so chances are you even have a MIPS64 Release 2 processor >> 1445 in which case you should choose CPU_MIPS64_R2 instead for better >> 1446 performance. >> 1447 >> 1448 config CPU_MIPS64_R2 >> 1449 bool "MIPS64 Release 2" >> 1450 depends on SYS_HAS_CPU_MIPS64_R2 >> 1451 select CPU_HAS_PREFETCH >> 1452 select CPU_SUPPORTS_32BIT_KERNEL >> 1453 select CPU_SUPPORTS_64BIT_KERNEL >> 1454 select CPU_SUPPORTS_HIGHMEM >> 1455 select CPU_SUPPORTS_HUGEPAGES >> 1456 select CPU_SUPPORTS_MSA >> 1457 help >> 1458 Choose this option to build a kernel for release 2 or later of the >> 1459 MIPS64 architecture. Many modern embedded systems with a 64-bit >> 1460 MIPS processor are based on a MIPS64 processor. If you know the >> 1461 specific type of processor in your system, choose those that one >> 1462 otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system. >> 1463 >> 1464 config CPU_MIPS64_R6 >> 1465 bool "MIPS64 Release 6" >> 1466 depends on SYS_HAS_CPU_MIPS64_R6 >> 1467 select CPU_HAS_PREFETCH >> 1468 select CPU_SUPPORTS_32BIT_KERNEL >> 1469 select CPU_SUPPORTS_64BIT_KERNEL >> 1470 select CPU_SUPPORTS_HIGHMEM >> 1471 select CPU_SUPPORTS_MSA >> 1472 select GENERIC_CSUM >> 1473 select MIPS_O32_FP64_SUPPORT if 32BIT || MIPS32_O32 >> 1474 help >> 1475 Choose this option to build a kernel for release 6 or later of the >> 1476 MIPS64 architecture. New MIPS processors, starting with the Warrior >> 1477 family, are based on a MIPS64r6 processor. If you own an older >> 1478 processor, you probably need to select MIPS64r1 or MIPS64r2 instead. >> 1479 >> 1480 config CPU_R3000 >> 1481 bool "R3000" >> 1482 depends on SYS_HAS_CPU_R3000 >> 1483 select CPU_HAS_WB >> 1484 select CPU_SUPPORTS_32BIT_KERNEL >> 1485 select CPU_SUPPORTS_HIGHMEM >> 1486 help >> 1487 Please make sure to pick the right CPU type. Linux/MIPS is not >> 1488 designed to be generic, i.e. Kernels compiled for R3000 CPUs will >> 1489 *not* work on R4000 machines and vice versa. However, since most >> 1490 of the supported machines have an R4000 (or similar) CPU, R4x00 >> 1491 might be a safe bet. If the resulting kernel does not work, >> 1492 try to recompile with R3000. >> 1493 >> 1494 config CPU_TX39XX >> 1495 bool "R39XX" >> 1496 depends on SYS_HAS_CPU_TX39XX >> 1497 select CPU_SUPPORTS_32BIT_KERNEL >> 1498 >> 1499 config CPU_VR41XX >> 1500 bool "R41xx" >> 1501 depends on SYS_HAS_CPU_VR41XX >> 1502 select CPU_SUPPORTS_32BIT_KERNEL >> 1503 select CPU_SUPPORTS_64BIT_KERNEL >> 1504 help >> 1505 The options selects support for the NEC VR4100 series of processors. >> 1506 Only choose this option if you have one of these processors as a >> 1507 kernel built with this option will not run on any other type of >> 1508 processor or vice versa. >> 1509 >> 1510 config CPU_R4300 >> 1511 bool "R4300" >> 1512 depends on SYS_HAS_CPU_R4300 >> 1513 select CPU_SUPPORTS_32BIT_KERNEL >> 1514 select CPU_SUPPORTS_64BIT_KERNEL >> 1515 help >> 1516 MIPS Technologies R4300-series processors. >> 1517 >> 1518 config CPU_R4X00 >> 1519 bool "R4x00" >> 1520 depends on SYS_HAS_CPU_R4X00 >> 1521 select CPU_SUPPORTS_32BIT_KERNEL >> 1522 select CPU_SUPPORTS_64BIT_KERNEL >> 1523 select CPU_SUPPORTS_HUGEPAGES >> 1524 help >> 1525 MIPS Technologies R4000-series processors other than 4300, including >> 1526 the R4000, R4400, R4600, and 4700. >> 1527 >> 1528 config CPU_TX49XX >> 1529 bool "R49XX" >> 1530 depends on SYS_HAS_CPU_TX49XX >> 1531 select CPU_HAS_PREFETCH >> 1532 select CPU_SUPPORTS_32BIT_KERNEL >> 1533 select CPU_SUPPORTS_64BIT_KERNEL >> 1534 select CPU_SUPPORTS_HUGEPAGES >> 1535 >> 1536 config CPU_R5000 >> 1537 bool "R5000" >> 1538 depends on SYS_HAS_CPU_R5000 >> 1539 select CPU_SUPPORTS_32BIT_KERNEL >> 1540 select CPU_SUPPORTS_64BIT_KERNEL >> 1541 select CPU_SUPPORTS_HUGEPAGES >> 1542 help >> 1543 MIPS Technologies R5000-series processors other than the Nevada. >> 1544 >> 1545 config CPU_R5432 >> 1546 bool "R5432" >> 1547 depends on SYS_HAS_CPU_R5432 >> 1548 select CPU_SUPPORTS_32BIT_KERNEL >> 1549 select CPU_SUPPORTS_64BIT_KERNEL >> 1550 select CPU_SUPPORTS_HUGEPAGES >> 1551 >> 1552 config CPU_R5500 >> 1553 bool "R5500" >> 1554 depends on SYS_HAS_CPU_R5500 >> 1555 select CPU_SUPPORTS_32BIT_KERNEL >> 1556 select CPU_SUPPORTS_64BIT_KERNEL >> 1557 select CPU_SUPPORTS_HUGEPAGES >> 1558 help >> 1559 NEC VR5500 and VR5500A series processors implement 64-bit MIPS IV >> 1560 instruction set. >> 1561 >> 1562 config CPU_R6000 >> 1563 bool "R6000" >> 1564 depends on SYS_HAS_CPU_R6000 >> 1565 select CPU_SUPPORTS_32BIT_KERNEL >> 1566 help >> 1567 MIPS Technologies R6000 and R6000A series processors. Note these >> 1568 processors are extremely rare and the support for them is incomplete. >> 1569 >> 1570 config CPU_NEVADA >> 1571 bool "RM52xx" >> 1572 depends on SYS_HAS_CPU_NEVADA >> 1573 select CPU_SUPPORTS_32BIT_KERNEL >> 1574 select CPU_SUPPORTS_64BIT_KERNEL >> 1575 select CPU_SUPPORTS_HUGEPAGES >> 1576 help >> 1577 QED / PMC-Sierra RM52xx-series ("Nevada") processors. >> 1578 >> 1579 config CPU_R8000 >> 1580 bool "R8000" >> 1581 depends on SYS_HAS_CPU_R8000 >> 1582 select CPU_HAS_PREFETCH >> 1583 select CPU_SUPPORTS_64BIT_KERNEL >> 1584 help >> 1585 MIPS Technologies R8000 processors. Note these processors are >> 1586 uncommon and the support for them is incomplete. >> 1587 >> 1588 config CPU_R10000 >> 1589 bool "R10000" >> 1590 depends on SYS_HAS_CPU_R10000 >> 1591 select CPU_HAS_PREFETCH >> 1592 select CPU_SUPPORTS_32BIT_KERNEL >> 1593 select CPU_SUPPORTS_64BIT_KERNEL >> 1594 select CPU_SUPPORTS_HIGHMEM >> 1595 select CPU_SUPPORTS_HUGEPAGES >> 1596 help >> 1597 MIPS Technologies R10000-series processors. >> 1598 >> 1599 config CPU_RM7000 >> 1600 bool "RM7000" >> 1601 depends on SYS_HAS_CPU_RM7000 >> 1602 select CPU_HAS_PREFETCH >> 1603 select CPU_SUPPORTS_32BIT_KERNEL >> 1604 select CPU_SUPPORTS_64BIT_KERNEL >> 1605 select CPU_SUPPORTS_HIGHMEM >> 1606 select CPU_SUPPORTS_HUGEPAGES >> 1607 >> 1608 config CPU_SB1 >> 1609 bool "SB1" >> 1610 depends on SYS_HAS_CPU_SB1 >> 1611 select CPU_SUPPORTS_32BIT_KERNEL >> 1612 select CPU_SUPPORTS_64BIT_KERNEL >> 1613 select CPU_SUPPORTS_HIGHMEM >> 1614 select CPU_SUPPORTS_HUGEPAGES >> 1615 select WEAK_ORDERING >> 1616 >> 1617 config CPU_CAVIUM_OCTEON >> 1618 bool "Cavium Octeon processor" >> 1619 depends on SYS_HAS_CPU_CAVIUM_OCTEON >> 1620 select CPU_HAS_PREFETCH >> 1621 select CPU_SUPPORTS_64BIT_KERNEL >> 1622 select WEAK_ORDERING >> 1623 select CPU_SUPPORTS_HIGHMEM >> 1624 select CPU_SUPPORTS_HUGEPAGES >> 1625 select USB_EHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN >> 1626 select USB_OHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN >> 1627 select MIPS_L1_CACHE_SHIFT_7 >> 1628 help >> 1629 The Cavium Octeon processor is a highly integrated chip containing >> 1630 many ethernet hardware widgets for networking tasks. The processor >> 1631 can have up to 16 Mips64v2 cores and 8 integrated gigabit ethernets. >> 1632 Full details can be found at http://www.caviumnetworks.com. >> 1633 >> 1634 config CPU_BMIPS >> 1635 bool "Broadcom BMIPS" >> 1636 depends on SYS_HAS_CPU_BMIPS >> 1637 select CPU_MIPS32 >> 1638 select CPU_BMIPS32_3300 if SYS_HAS_CPU_BMIPS32_3300 >> 1639 select CPU_BMIPS4350 if SYS_HAS_CPU_BMIPS4350 >> 1640 select CPU_BMIPS4380 if SYS_HAS_CPU_BMIPS4380 >> 1641 select CPU_BMIPS5000 if SYS_HAS_CPU_BMIPS5000 >> 1642 select CPU_SUPPORTS_32BIT_KERNEL >> 1643 select DMA_NONCOHERENT >> 1644 select IRQ_MIPS_CPU >> 1645 select SWAP_IO_SPACE >> 1646 select WEAK_ORDERING >> 1647 select CPU_SUPPORTS_HIGHMEM >> 1648 select CPU_HAS_PREFETCH >> 1649 help >> 1650 Support for BMIPS32/3300/4350/4380 and BMIPS5000 processors. >> 1651 >> 1652 config CPU_XLR >> 1653 bool "Netlogic XLR SoC" >> 1654 depends on SYS_HAS_CPU_XLR >> 1655 select CPU_SUPPORTS_32BIT_KERNEL >> 1656 select CPU_SUPPORTS_64BIT_KERNEL >> 1657 select CPU_SUPPORTS_HIGHMEM >> 1658 select CPU_SUPPORTS_HUGEPAGES >> 1659 select WEAK_ORDERING >> 1660 select WEAK_REORDERING_BEYOND_LLSC >> 1661 help >> 1662 Netlogic Microsystems XLR/XLS processors. >> 1663 >> 1664 config CPU_XLP >> 1665 bool "Netlogic XLP SoC" >> 1666 depends on SYS_HAS_CPU_XLP >> 1667 select CPU_SUPPORTS_32BIT_KERNEL >> 1668 select CPU_SUPPORTS_64BIT_KERNEL >> 1669 select CPU_SUPPORTS_HIGHMEM >> 1670 select WEAK_ORDERING >> 1671 select WEAK_REORDERING_BEYOND_LLSC >> 1672 select CPU_HAS_PREFETCH >> 1673 select CPU_MIPSR2 >> 1674 select CPU_SUPPORTS_HUGEPAGES >> 1675 help >> 1676 Netlogic Microsystems XLP processors. >> 1677 endchoice >> 1678 >> 1679 config CPU_MIPS32_3_5_FEATURES >> 1680 bool "MIPS32 Release 3.5 Features" >> 1681 depends on SYS_HAS_CPU_MIPS32_R3_5 >> 1682 depends on CPU_MIPS32_R2 || CPU_MIPS32_R6 >> 1683 help >> 1684 Choose this option to build a kernel for release 2 or later of the >> 1685 MIPS32 architecture including features from the 3.5 release such as >> 1686 support for Enhanced Virtual Addressing (EVA). >> 1687 >> 1688 config CPU_MIPS32_3_5_EVA >> 1689 bool "Enhanced Virtual Addressing (EVA)" >> 1690 depends on CPU_MIPS32_3_5_FEATURES >> 1691 select EVA >> 1692 default y >> 1693 help >> 1694 Choose this option if you want to enable the Enhanced Virtual >> 1695 Addressing (EVA) on your MIPS32 core (such as proAptiv). >> 1696 One of its primary benefits is an increase in the maximum size >> 1697 of lowmem (up to 3GB). If unsure, say 'N' here. >> 1698 >> 1699 config CPU_MIPS32_R5_FEATURES >> 1700 bool "MIPS32 Release 5 Features" >> 1701 depends on SYS_HAS_CPU_MIPS32_R5 >> 1702 depends on CPU_MIPS32_R2 >> 1703 help >> 1704 Choose this option to build a kernel for release 2 or later of the >> 1705 MIPS32 architecture including features from release 5 such as >> 1706 support for Extended Physical Addressing (XPA). >> 1707 >> 1708 config CPU_MIPS32_R5_XPA >> 1709 bool "Extended Physical Addressing (XPA)" >> 1710 depends on CPU_MIPS32_R5_FEATURES >> 1711 depends on !EVA >> 1712 depends on !PAGE_SIZE_4KB >> 1713 depends on SYS_SUPPORTS_HIGHMEM >> 1714 select XPA >> 1715 select HIGHMEM >> 1716 select ARCH_PHYS_ADDR_T_64BIT >> 1717 default n 539 help 1718 help 540 Allow kernel to detect the Svnapot I !! 1719 Choose this option if you want to enable the Extended Physical 541 time and enable its usage. !! 1720 Addressing (XPA) on your MIPS32 core (such as P5600 series). The >> 1721 benefit is to increase physical addressing equal to or greater >> 1722 than 40 bits. Note that this has the side effect of turning on >> 1723 64-bit addressing which in turn makes the PTEs 64-bit in size. >> 1724 If unsure, say 'N' here. 542 1725 543 The Svnapot extension is used to mar !! 1726 if CPU_LOONGSON2F 544 of contiguous virtual-to-physical tr !! 1727 config CPU_NOP_WORKAROUNDS 545 aligned power-of-2 (NAPOT) granulari !! 1728 bool 546 size. When HUGETLBFS is also selecte << 547 allocates some memory for each NAPOT << 548 When optimizing for low memory consu << 549 the Svnapot extension, it may be bet << 550 1729 551 If you don't know what to do here, s !! 1730 config CPU_JUMP_WORKAROUNDS >> 1731 bool 552 1732 553 config RISCV_ISA_SVPBMT !! 1733 config CPU_LOONGSON2F_WORKAROUNDS 554 bool "Svpbmt extension support for sup !! 1734 bool "Loongson 2F Workarounds" 555 depends on 64BIT && MMU << 556 depends on RISCV_ALTERNATIVE << 557 default y 1735 default y >> 1736 select CPU_NOP_WORKAROUNDS >> 1737 select CPU_JUMP_WORKAROUNDS 558 help 1738 help 559 Adds support to dynamically detect !! 1739 Loongson 2F01 / 2F02 processors have the NOP & JUMP issues which 560 ISA-extension (Supervisor-mode: pag !! 1740 require workarounds. Without workarounds the system may hang 561 enable its usage. !! 1741 unexpectedly. For more information please refer to the gas >> 1742 -mfix-loongson2f-nop and -mfix-loongson2f-jump options. >> 1743 >> 1744 Loongson 2F03 and later have fixed these issues and no workarounds >> 1745 are needed. The workarounds have no significant side effect on them >> 1746 but may decrease the performance of the system so this option should >> 1747 be disabled unless the kernel is intended to be run on 2F01 or 2F02 >> 1748 systems. 562 1749 563 The memory type for a page contains !! 1750 If unsure, please say Y. 564 that indicate the cacheability, ide !! 1751 endif # CPU_LOONGSON2F 565 properties for access to that page. << 566 1752 567 The Svpbmt extension is only availa !! 1753 config SYS_SUPPORTS_ZBOOT >> 1754 bool >> 1755 select HAVE_KERNEL_GZIP >> 1756 select HAVE_KERNEL_BZIP2 >> 1757 select HAVE_KERNEL_LZ4 >> 1758 select HAVE_KERNEL_LZMA >> 1759 select HAVE_KERNEL_LZO >> 1760 select HAVE_KERNEL_XZ 568 1761 569 If you don't know what to do here, !! 1762 config SYS_SUPPORTS_ZBOOT_UART16550 >> 1763 bool >> 1764 select SYS_SUPPORTS_ZBOOT 570 1765 571 config TOOLCHAIN_HAS_V !! 1766 config CPU_LOONGSON2 572 bool 1767 bool 573 default y !! 1768 select CPU_SUPPORTS_32BIT_KERNEL 574 depends on !64BIT || $(cc-option,-mabi !! 1769 select CPU_SUPPORTS_64BIT_KERNEL 575 depends on !32BIT || $(cc-option,-mabi !! 1770 select CPU_SUPPORTS_HIGHMEM 576 depends on LLD_VERSION >= 140000 || LD !! 1771 select CPU_SUPPORTS_HUGEPAGES 577 depends on AS_HAS_OPTION_ARCH << 578 1772 579 config RISCV_ISA_V !! 1773 config CPU_LOONGSON1 580 bool "VECTOR extension support" !! 1774 bool 581 depends on TOOLCHAIN_HAS_V !! 1775 select CPU_MIPS32 582 depends on FPU !! 1776 select CPU_MIPSR2 583 select DYNAMIC_SIGFRAME !! 1777 select CPU_HAS_PREFETCH 584 default y !! 1778 select CPU_SUPPORTS_32BIT_KERNEL 585 help !! 1779 select CPU_SUPPORTS_HIGHMEM 586 Say N here if you want to disable al !! 1780 select CPU_SUPPORTS_CPUFREQ 587 in the kernel. !! 1781 >> 1782 config CPU_BMIPS32_3300 >> 1783 select SMP_UP if SMP >> 1784 bool >> 1785 >> 1786 config CPU_BMIPS4350 >> 1787 bool >> 1788 select SYS_SUPPORTS_SMP >> 1789 select SYS_SUPPORTS_HOTPLUG_CPU >> 1790 >> 1791 config CPU_BMIPS4380 >> 1792 bool >> 1793 select MIPS_L1_CACHE_SHIFT_6 >> 1794 select SYS_SUPPORTS_SMP >> 1795 select SYS_SUPPORTS_HOTPLUG_CPU >> 1796 >> 1797 config CPU_BMIPS5000 >> 1798 bool >> 1799 select MIPS_CPU_SCACHE >> 1800 select MIPS_L1_CACHE_SHIFT_7 >> 1801 select SYS_SUPPORTS_SMP >> 1802 select SYS_SUPPORTS_HOTPLUG_CPU >> 1803 >> 1804 config SYS_HAS_CPU_LOONGSON3 >> 1805 bool >> 1806 select CPU_SUPPORTS_CPUFREQ >> 1807 >> 1808 config SYS_HAS_CPU_LOONGSON2E >> 1809 bool >> 1810 >> 1811 config SYS_HAS_CPU_LOONGSON2F >> 1812 bool >> 1813 select CPU_SUPPORTS_CPUFREQ >> 1814 select CPU_SUPPORTS_ADDRWINCFG if 64BIT >> 1815 select CPU_SUPPORTS_UNCACHED_ACCELERATED >> 1816 >> 1817 config SYS_HAS_CPU_LOONGSON1B >> 1818 bool >> 1819 >> 1820 config SYS_HAS_CPU_MIPS32_R1 >> 1821 bool >> 1822 >> 1823 config SYS_HAS_CPU_MIPS32_R2 >> 1824 bool >> 1825 >> 1826 config SYS_HAS_CPU_MIPS32_R3_5 >> 1827 bool >> 1828 >> 1829 config SYS_HAS_CPU_MIPS32_R5 >> 1830 bool >> 1831 >> 1832 config SYS_HAS_CPU_MIPS32_R6 >> 1833 bool >> 1834 >> 1835 config SYS_HAS_CPU_MIPS64_R1 >> 1836 bool >> 1837 >> 1838 config SYS_HAS_CPU_MIPS64_R2 >> 1839 bool >> 1840 >> 1841 config SYS_HAS_CPU_MIPS64_R6 >> 1842 bool >> 1843 >> 1844 config SYS_HAS_CPU_R3000 >> 1845 bool >> 1846 >> 1847 config SYS_HAS_CPU_TX39XX >> 1848 bool >> 1849 >> 1850 config SYS_HAS_CPU_VR41XX >> 1851 bool >> 1852 >> 1853 config SYS_HAS_CPU_R4300 >> 1854 bool >> 1855 >> 1856 config SYS_HAS_CPU_R4X00 >> 1857 bool >> 1858 >> 1859 config SYS_HAS_CPU_TX49XX >> 1860 bool >> 1861 >> 1862 config SYS_HAS_CPU_R5000 >> 1863 bool >> 1864 >> 1865 config SYS_HAS_CPU_R5432 >> 1866 bool >> 1867 >> 1868 config SYS_HAS_CPU_R5500 >> 1869 bool >> 1870 >> 1871 config SYS_HAS_CPU_R6000 >> 1872 bool >> 1873 >> 1874 config SYS_HAS_CPU_NEVADA >> 1875 bool >> 1876 >> 1877 config SYS_HAS_CPU_R8000 >> 1878 bool >> 1879 >> 1880 config SYS_HAS_CPU_R10000 >> 1881 bool >> 1882 >> 1883 config SYS_HAS_CPU_RM7000 >> 1884 bool 588 1885 589 If you don't know what to do here, s !! 1886 config SYS_HAS_CPU_SB1 >> 1887 bool >> 1888 >> 1889 config SYS_HAS_CPU_CAVIUM_OCTEON >> 1890 bool >> 1891 >> 1892 config SYS_HAS_CPU_BMIPS >> 1893 bool >> 1894 >> 1895 config SYS_HAS_CPU_BMIPS32_3300 >> 1896 bool >> 1897 select SYS_HAS_CPU_BMIPS >> 1898 >> 1899 config SYS_HAS_CPU_BMIPS4350 >> 1900 bool >> 1901 select SYS_HAS_CPU_BMIPS >> 1902 >> 1903 config SYS_HAS_CPU_BMIPS4380 >> 1904 bool >> 1905 select SYS_HAS_CPU_BMIPS 590 1906 591 config RISCV_ISA_V_DEFAULT_ENABLE !! 1907 config SYS_HAS_CPU_BMIPS5000 592 bool "Enable userspace Vector by defau !! 1908 bool 593 depends on RISCV_ISA_V !! 1909 select SYS_HAS_CPU_BMIPS >> 1910 >> 1911 config SYS_HAS_CPU_XLR >> 1912 bool >> 1913 >> 1914 config SYS_HAS_CPU_XLP >> 1915 bool >> 1916 >> 1917 config MIPS_MALTA_PM >> 1918 depends on MIPS_MALTA >> 1919 depends on PCI >> 1920 bool 594 default y 1921 default y >> 1922 >> 1923 # >> 1924 # CPU may reorder R->R, R->W, W->R, W->W >> 1925 # Reordering beyond LL and SC is handled in WEAK_REORDERING_BEYOND_LLSC >> 1926 # >> 1927 config WEAK_ORDERING >> 1928 bool >> 1929 >> 1930 # >> 1931 # CPU may reorder reads and writes beyond LL/SC >> 1932 # CPU may reorder R->LL, R->LL, W->LL, W->LL, R->SC, R->SC, W->SC, W->SC >> 1933 # >> 1934 config WEAK_REORDERING_BEYOND_LLSC >> 1935 bool >> 1936 endmenu >> 1937 >> 1938 # >> 1939 # These two indicate any level of the MIPS32 and MIPS64 architecture >> 1940 # >> 1941 config CPU_MIPS32 >> 1942 bool >> 1943 default y if CPU_MIPS32_R1 || CPU_MIPS32_R2 || CPU_MIPS32_R6 >> 1944 >> 1945 config CPU_MIPS64 >> 1946 bool >> 1947 default y if CPU_MIPS64_R1 || CPU_MIPS64_R2 || CPU_MIPS64_R6 >> 1948 >> 1949 # >> 1950 # These two indicate the revision of the architecture, either Release 1 or Release 2 >> 1951 # >> 1952 config CPU_MIPSR1 >> 1953 bool >> 1954 default y if CPU_MIPS32_R1 || CPU_MIPS64_R1 >> 1955 >> 1956 config CPU_MIPSR2 >> 1957 bool >> 1958 default y if CPU_MIPS32_R2 || CPU_MIPS64_R2 || CPU_CAVIUM_OCTEON >> 1959 select MIPS_SPRAM >> 1960 >> 1961 config CPU_MIPSR6 >> 1962 bool >> 1963 default y if CPU_MIPS32_R6 || CPU_MIPS64_R6 >> 1964 select MIPS_SPRAM >> 1965 >> 1966 config EVA >> 1967 bool >> 1968 >> 1969 config XPA >> 1970 bool >> 1971 >> 1972 config SYS_SUPPORTS_32BIT_KERNEL >> 1973 bool >> 1974 config SYS_SUPPORTS_64BIT_KERNEL >> 1975 bool >> 1976 config CPU_SUPPORTS_32BIT_KERNEL >> 1977 bool >> 1978 config CPU_SUPPORTS_64BIT_KERNEL >> 1979 bool >> 1980 config CPU_SUPPORTS_CPUFREQ >> 1981 bool >> 1982 config CPU_SUPPORTS_ADDRWINCFG >> 1983 bool >> 1984 config CPU_SUPPORTS_HUGEPAGES >> 1985 bool >> 1986 config CPU_SUPPORTS_UNCACHED_ACCELERATED >> 1987 bool >> 1988 config MIPS_PGD_C0_CONTEXT >> 1989 bool >> 1990 default y if 64BIT && CPU_MIPSR2 && !CPU_XLP >> 1991 >> 1992 # >> 1993 # Set to y for ptrace access to watch registers. >> 1994 # >> 1995 config HARDWARE_WATCHPOINTS >> 1996 bool >> 1997 default y if CPU_MIPSR1 || CPU_MIPSR2 >> 1998 >> 1999 menu "Kernel type" >> 2000 >> 2001 choice >> 2002 prompt "Kernel code model" 595 help 2003 help 596 Say Y here if you want to enable Vec !! 2004 You should only select this option if you have a workload that 597 Otherwise, userspace has to make exp !! 2005 actually benefits from 64-bit processing or if your machine has 598 Vector, or enable it via the sysctl !! 2006 large memory. You will only be presented a single option in this >> 2007 menu if your system does not support both 32-bit and 64-bit kernels. 599 2008 600 If you don't know what to do here, s !! 2009 config 32BIT >> 2010 bool "32-bit kernel" >> 2011 depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL >> 2012 select TRAD_SIGNALS >> 2013 help >> 2014 Select this option if you want to build a 32-bit kernel. 601 2015 602 config RISCV_ISA_V_UCOPY_THRESHOLD !! 2016 config 64BIT 603 int "Threshold size for vectorized use !! 2017 bool "64-bit kernel" 604 depends on RISCV_ISA_V !! 2018 depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL 605 default 768 << 606 help 2019 help 607 Prefer using vectorized copy_to_user !! 2020 Select this option if you want to build a 64-bit kernel. 608 workload size exceeds this value. << 609 2021 610 config RISCV_ISA_V_PREEMPTIVE !! 2022 endchoice 611 bool "Run kernel-mode Vector with kern !! 2023 612 depends on PREEMPTION !! 2024 config KVM_GUEST 613 depends on RISCV_ISA_V !! 2025 bool "KVM Guest Kernel" 614 default y !! 2026 depends on BROKEN_ON_SMP >> 2027 help >> 2028 Select this option if building a guest kernel for KVM (Trap & Emulate) mode >> 2029 >> 2030 config KVM_GUEST_TIMER_FREQ >> 2031 int "Count/Compare Timer Frequency (MHz)" >> 2032 depends on KVM_GUEST >> 2033 default 100 >> 2034 help >> 2035 Set this to non-zero if building a guest kernel for KVM to skip RTC >> 2036 emulation when determining guest CPU Frequency. Instead, the guest's >> 2037 timer frequency is specified directly. >> 2038 >> 2039 choice >> 2040 prompt "Kernel page size" >> 2041 default PAGE_SIZE_4KB >> 2042 >> 2043 config PAGE_SIZE_4KB >> 2044 bool "4kB" >> 2045 depends on !CPU_LOONGSON2 && !CPU_LOONGSON3 >> 2046 help >> 2047 This option select the standard 4kB Linux page size. On some >> 2048 R3000-family processors this is the only available page size. Using >> 2049 4kB page size will minimize memory consumption and is therefore >> 2050 recommended for low memory systems. >> 2051 >> 2052 config PAGE_SIZE_8KB >> 2053 bool "8kB" >> 2054 depends on CPU_R8000 || CPU_CAVIUM_OCTEON >> 2055 help >> 2056 Using 8kB page size will result in higher performance kernel at >> 2057 the price of higher memory consumption. This option is available >> 2058 only on R8000 and cnMIPS processors. Note that you will need a >> 2059 suitable Linux distribution to support this. >> 2060 >> 2061 config PAGE_SIZE_16KB >> 2062 bool "16kB" >> 2063 depends on !CPU_R3000 && !CPU_TX39XX >> 2064 help >> 2065 Using 16kB page size will result in higher performance kernel at >> 2066 the price of higher memory consumption. This option is available on >> 2067 all non-R3000 family processors. Note that you will need a suitable >> 2068 Linux distribution to support this. >> 2069 >> 2070 config PAGE_SIZE_32KB >> 2071 bool "32kB" >> 2072 depends on CPU_CAVIUM_OCTEON >> 2073 help >> 2074 Using 32kB page size will result in higher performance kernel at >> 2075 the price of higher memory consumption. This option is available >> 2076 only on cnMIPS cores. Note that you will need a suitable Linux >> 2077 distribution to support this. >> 2078 >> 2079 config PAGE_SIZE_64KB >> 2080 bool "64kB" >> 2081 depends on !CPU_R3000 && !CPU_TX39XX >> 2082 help >> 2083 Using 64kB page size will result in higher performance kernel at >> 2084 the price of higher memory consumption. This option is available on >> 2085 all non-R3000 family processor. Not that at the time of this >> 2086 writing this option is still high experimental. >> 2087 >> 2088 endchoice >> 2089 >> 2090 config FORCE_MAX_ZONEORDER >> 2091 int "Maximum zone order" >> 2092 range 14 64 if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_64KB >> 2093 default "14" if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_64KB >> 2094 range 13 64 if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_32KB >> 2095 default "13" if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_32KB >> 2096 range 12 64 if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_16KB >> 2097 default "12" if MIPS_HUGE_TLB_SUPPORT && PAGE_SIZE_16KB >> 2098 range 11 64 >> 2099 default "11" >> 2100 help >> 2101 The kernel memory allocator divides physically contiguous memory >> 2102 blocks into "zones", where each zone is a power of two number of >> 2103 pages. This option selects the largest power of two that the kernel >> 2104 keeps in the memory allocator. If you need to allocate very large >> 2105 blocks of physically contiguous memory, then you may need to >> 2106 increase this value. >> 2107 >> 2108 This config option is actually maximum order plus one. For example, >> 2109 a value of 11 means that the largest free memory block is 2^10 pages. >> 2110 >> 2111 The page size is not necessarily 4KB. Keep this in mind >> 2112 when choosing a value for this option. >> 2113 >> 2114 config BOARD_SCACHE >> 2115 bool >> 2116 >> 2117 config IP22_CPU_SCACHE >> 2118 bool >> 2119 select BOARD_SCACHE >> 2120 >> 2121 # >> 2122 # Support for a MIPS32 / MIPS64 style S-caches >> 2123 # >> 2124 config MIPS_CPU_SCACHE >> 2125 bool >> 2126 select BOARD_SCACHE >> 2127 >> 2128 config R5000_CPU_SCACHE >> 2129 bool >> 2130 select BOARD_SCACHE >> 2131 >> 2132 config RM7000_CPU_SCACHE >> 2133 bool >> 2134 select BOARD_SCACHE >> 2135 >> 2136 config SIBYTE_DMA_PAGEOPS >> 2137 bool "Use DMA to clear/copy pages" >> 2138 depends on CPU_SB1 615 help 2139 help 616 Usually, in-kernel SIMD routines are !! 2140 Instead of using the CPU to zero and copy pages, use a Data Mover 617 Functions which envoke long running !! 2141 channel. These DMA channels are otherwise unused by the standard 618 vector unit to prevent blocking othe !! 2142 SiByte Linux port. Seems to give a small performance benefit. 619 2143 620 This config allows kernel to run SIM !! 2144 config CPU_HAS_PREFETCH 621 preemption. Enabling this config wil !! 2145 bool 622 consumption due to the allocation of << 623 2146 624 config RISCV_ISA_ZAWRS !! 2147 config CPU_GENERIC_DUMP_TLB 625 bool "Zawrs extension support for more !! 2148 bool 626 depends on RISCV_ALTERNATIVE !! 2149 default y if !(CPU_R3000 || CPU_R6000 || CPU_R8000 || CPU_TX39XX) 627 default y !! 2150 >> 2151 config CPU_R4K_FPU >> 2152 bool >> 2153 default y if !(CPU_R3000 || CPU_R6000 || CPU_TX39XX || CPU_CAVIUM_OCTEON) >> 2154 >> 2155 config CPU_R4K_CACHE_TLB >> 2156 bool >> 2157 default y if !(CPU_R3000 || CPU_R8000 || CPU_SB1 || CPU_TX39XX || CPU_CAVIUM_OCTEON) >> 2158 >> 2159 config MIPS_MT_SMP >> 2160 bool "MIPS MT SMP support (1 TC on each available VPE)" >> 2161 depends on SYS_SUPPORTS_MULTITHREADING && !CPU_MIPSR6 >> 2162 select CPU_MIPSR2_IRQ_VI >> 2163 select CPU_MIPSR2_IRQ_EI >> 2164 select SYNC_R4K >> 2165 select MIPS_GIC_IPI if MIPS_GIC >> 2166 select MIPS_MT >> 2167 select SMP >> 2168 select SMP_UP >> 2169 select SYS_SUPPORTS_SMP >> 2170 select SYS_SUPPORTS_SCHED_SMT >> 2171 select MIPS_PERF_SHARED_TC_COUNTERS >> 2172 help >> 2173 This is a kernel model which is known as SMVP. This is supported >> 2174 on cores with the MT ASE and uses the available VPEs to implement >> 2175 virtual processors which supports SMP. This is equivalent to the >> 2176 Intel Hyperthreading feature. For further information go to >> 2177 <http://www.imgtec.com/mips/mips-multithreading.asp>. >> 2178 >> 2179 config MIPS_MT >> 2180 bool >> 2181 >> 2182 config SCHED_SMT >> 2183 bool "SMT (multithreading) scheduler support" >> 2184 depends on SYS_SUPPORTS_SCHED_SMT >> 2185 default n 628 help 2186 help 629 The Zawrs extension defines instruct !! 2187 SMT scheduler support improves the CPU scheduler's decision making 630 which allow a hart to enter a low-po !! 2188 when dealing with MIPS MT enabled cores at a cost of slightly 631 hypervisor while waiting on a store !! 2189 increased overhead in some places. If unsure say N here. 632 use of these instructions in the ker << 633 detected at boot. << 634 2190 635 If you don't know what to do here, s !! 2191 config SYS_SUPPORTS_SCHED_SMT >> 2192 bool 636 2193 637 config TOOLCHAIN_HAS_ZBB !! 2194 config SYS_SUPPORTS_MULTITHREADING 638 bool 2195 bool >> 2196 >> 2197 config MIPS_MT_FPAFF >> 2198 bool "Dynamic FPU affinity for FP-intensive threads" 639 default y 2199 default y 640 depends on !64BIT || $(cc-option,-mabi !! 2200 depends on MIPS_MT_SMP 641 depends on !32BIT || $(cc-option,-mabi << 642 depends on LLD_VERSION >= 150000 || LD << 643 depends on AS_HAS_OPTION_ARCH << 644 2201 645 # This symbol indicates that the toolchain sup !! 2202 config MIPSR2_TO_R6_EMULATOR 646 # extensions, including Zvk*, Zvbb, and Zvbc. !! 2203 bool "MIPS R2-to-R6 emulator" 647 # binutils added all except Zvkb, then added Z !! 2204 depends on CPU_MIPSR6 && !SMP 648 config TOOLCHAIN_HAS_VECTOR_CRYPTO !! 2205 default y 649 def_bool $(as-instr, .option arch$(com !! 2206 help 650 depends on AS_HAS_OPTION_ARCH !! 2207 Choose this option if you want to run non-R6 MIPS userland code. >> 2208 Even if you say 'Y' here, the emulator will still be disabled by >> 2209 default. You can enable it using the 'mipsr2emu' kernel option. >> 2210 The only reason this is a build-time option is to save ~14K from the >> 2211 final kernel image. >> 2212 comment "MIPS R2-to-R6 emulator is only available for UP kernels" >> 2213 depends on SMP && CPU_MIPSR6 >> 2214 >> 2215 config MIPS_VPE_LOADER >> 2216 bool "VPE loader support." >> 2217 depends on SYS_SUPPORTS_MULTITHREADING && MODULES >> 2218 select CPU_MIPSR2_IRQ_VI >> 2219 select CPU_MIPSR2_IRQ_EI >> 2220 select MIPS_MT >> 2221 help >> 2222 Includes a loader for loading an elf relocatable object >> 2223 onto another VPE and running it. >> 2224 >> 2225 config MIPS_VPE_LOADER_CMP >> 2226 bool >> 2227 default "y" >> 2228 depends on MIPS_VPE_LOADER && MIPS_CMP >> 2229 >> 2230 config MIPS_VPE_LOADER_MT >> 2231 bool >> 2232 default "y" >> 2233 depends on MIPS_VPE_LOADER && !MIPS_CMP 651 2234 652 config RISCV_ISA_ZBA !! 2235 config MIPS_VPE_LOADER_TOM 653 bool "Zba extension support for bit ma !! 2236 bool "Load VPE program into memory hidden from linux" >> 2237 depends on MIPS_VPE_LOADER 654 default y 2238 default y 655 help 2239 help 656 Add support for enabling optimisati !! 2240 The loader can use memory that is present but has been hidden from 657 extension is detected at boot. !! 2241 Linux using the kernel command line option "mem=xxMB". It's up to >> 2242 you to ensure the amount you put in the option and the space your >> 2243 program requires is less or equal to the amount physically present. 658 2244 659 The Zba extension provides instruct !! 2245 config MIPS_VPE_APSP_API 660 of addresses that index into arrays !! 2246 bool "Enable support for AP/SP API (RTLX)" >> 2247 depends on MIPS_VPE_LOADER >> 2248 help 661 2249 662 If you don't know what to do here, !! 2250 config MIPS_VPE_APSP_API_CMP >> 2251 bool >> 2252 default "y" >> 2253 depends on MIPS_VPE_APSP_API && MIPS_CMP 663 2254 664 config RISCV_ISA_ZBB !! 2255 config MIPS_VPE_APSP_API_MT 665 bool "Zbb extension support for bit ma !! 2256 bool 666 depends on TOOLCHAIN_HAS_ZBB !! 2257 default "y" 667 depends on RISCV_ALTERNATIVE !! 2258 depends on MIPS_VPE_APSP_API && !MIPS_CMP 668 default y !! 2259 >> 2260 config MIPS_CMP >> 2261 bool "MIPS CMP framework support (DEPRECATED)" >> 2262 depends on SYS_SUPPORTS_MIPS_CMP && !CPU_MIPSR6 >> 2263 select MIPS_GIC_IPI if MIPS_GIC >> 2264 select SMP >> 2265 select SYNC_R4K >> 2266 select SYS_SUPPORTS_SMP >> 2267 select WEAK_ORDERING >> 2268 default n 669 help 2269 help 670 Adds support to dynamically detect !! 2270 Select this if you are using a bootloader which implements the "CMP 671 extension (basic bit manipulation) !! 2271 framework" protocol (ie. YAMON) and want your kernel to make use of >> 2272 its ability to start secondary CPUs. >> 2273 >> 2274 Unless you have a specific need, you should use CONFIG_MIPS_CPS >> 2275 instead of this. >> 2276 >> 2277 config MIPS_CPS >> 2278 bool "MIPS Coherent Processing System support" >> 2279 depends on SYS_SUPPORTS_MIPS_CPS && !CPU_MIPSR6 >> 2280 select MIPS_CM >> 2281 select MIPS_CPC >> 2282 select MIPS_CPS_PM if HOTPLUG_CPU >> 2283 select MIPS_GIC_IPI if MIPS_GIC >> 2284 select SMP >> 2285 select SYNC_R4K if (CEVT_R4K || CSRC_R4K) >> 2286 select SYS_SUPPORTS_HOTPLUG_CPU >> 2287 select SYS_SUPPORTS_SMP >> 2288 select WEAK_ORDERING >> 2289 help >> 2290 Select this if you wish to run an SMP kernel across multiple cores >> 2291 within a MIPS Coherent Processing System. When this option is >> 2292 enabled the kernel will probe for other cores and boot them with >> 2293 no external assistance. It is safe to enable this when hardware >> 2294 support is unavailable. >> 2295 >> 2296 config MIPS_CPS_PM >> 2297 depends on MIPS_CPS >> 2298 select MIPS_CPC >> 2299 bool 672 2300 673 The Zbb extension provides instruct !! 2301 config MIPS_GIC_IPI 674 of bit-specific operations (count b !! 2302 depends on MIPS_GIC 675 bitrotation, etc). !! 2303 bool >> 2304 >> 2305 config MIPS_CM >> 2306 bool 676 2307 677 If you don't know what to do here, !! 2308 config MIPS_CPC >> 2309 bool 678 2310 679 config TOOLCHAIN_HAS_ZBC !! 2311 config SB1_PASS_2_WORKAROUNDS 680 bool 2312 bool >> 2313 depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2) 681 default y 2314 default y 682 depends on !64BIT || $(cc-option,-mabi << 683 depends on !32BIT || $(cc-option,-mabi << 684 depends on LLD_VERSION >= 150000 || LD << 685 depends on AS_HAS_OPTION_ARCH << 686 2315 687 config RISCV_ISA_ZBC !! 2316 config SB1_PASS_2_1_WORKAROUNDS 688 bool "Zbc extension support for carry- !! 2317 bool 689 depends on TOOLCHAIN_HAS_ZBC !! 2318 depends on CPU_SB1 && CPU_SB1_PASS_2 690 depends on MMU << 691 depends on RISCV_ALTERNATIVE << 692 default y 2319 default y 693 help << 694 Adds support to dynamically detect << 695 extension (carry-less multiplicatio << 696 2320 697 The Zbc extension could accelerate << 698 calculations. << 699 2321 700 If you don't know what to do here, !! 2322 config ARCH_PHYS_ADDR_T_64BIT >> 2323 bool 701 2324 702 config RISCV_ISA_ZICBOM !! 2325 choice 703 bool "Zicbom extension support for non !! 2326 prompt "SmartMIPS or microMIPS ASE support" 704 depends on MMU !! 2327 705 depends on RISCV_ALTERNATIVE !! 2328 config CPU_NEEDS_NO_SMARTMIPS_OR_MICROMIPS 706 default y !! 2329 bool "None" 707 select RISCV_DMA_NONCOHERENT !! 2330 help 708 select DMA_DIRECT_REMAP !! 2331 Select this if you want neither microMIPS nor SmartMIPS support >> 2332 >> 2333 config CPU_HAS_SMARTMIPS >> 2334 depends on SYS_SUPPORTS_SMARTMIPS >> 2335 bool "SmartMIPS" >> 2336 help >> 2337 SmartMIPS is a extension of the MIPS32 architecture aimed at >> 2338 increased security at both hardware and software level for >> 2339 smartcards. Enabling this option will allow proper use of the >> 2340 SmartMIPS instructions by Linux applications. However a kernel with >> 2341 this option will not work on a MIPS core without SmartMIPS core. If >> 2342 you don't know you probably don't have SmartMIPS and should say N >> 2343 here. >> 2344 >> 2345 config CPU_MICROMIPS >> 2346 depends on 32BIT && SYS_SUPPORTS_MICROMIPS && !CPU_MIPSR6 >> 2347 bool "microMIPS" 709 help 2348 help 710 Adds support to dynamically detect !! 2349 When this option is enabled the kernel will be built using the 711 extension (Cache Block Management O !! 2350 microMIPS ISA 712 usage. !! 2351 >> 2352 endchoice >> 2353 >> 2354 config CPU_HAS_MSA >> 2355 bool "Support for the MIPS SIMD Architecture" >> 2356 depends on CPU_SUPPORTS_MSA >> 2357 depends on 64BIT || MIPS_O32_FP64_SUPPORT >> 2358 help >> 2359 MIPS SIMD Architecture (MSA) introduces 128 bit wide vector registers >> 2360 and a set of SIMD instructions to operate on them. When this option >> 2361 is enabled the kernel will support allocating & switching MSA >> 2362 vector register contexts. If you know that your kernel will only be >> 2363 running on CPUs which do not support MSA or that your userland will >> 2364 not be making use of it then you may wish to say N here to reduce >> 2365 the size & complexity of your kernel. >> 2366 >> 2367 If unsure, say Y. >> 2368 >> 2369 config CPU_HAS_WB >> 2370 bool >> 2371 >> 2372 config XKS01 >> 2373 bool 713 2374 714 The Zicbom extension can be used to !! 2375 # 715 non-coherent DMA support on devices !! 2376 # Vectored interrupt mode is an R2 feature >> 2377 # >> 2378 config CPU_MIPSR2_IRQ_VI >> 2379 bool 716 2380 717 If you don't know what to do here, !! 2381 # >> 2382 # Extended interrupt mode is an R2 feature >> 2383 # >> 2384 config CPU_MIPSR2_IRQ_EI >> 2385 bool 718 2386 719 config RISCV_ISA_ZICBOZ !! 2387 config CPU_HAS_SYNC 720 bool "Zicboz extension support for fas !! 2388 bool 721 depends on RISCV_ALTERNATIVE !! 2389 depends on !CPU_R3000 722 default y 2390 default y 723 help << 724 Enable the use of the Zicboz extens << 725 when available. << 726 2391 727 The Zicboz extension is used for fa !! 2392 # >> 2393 # CPU non-features >> 2394 # >> 2395 config CPU_DADDI_WORKAROUNDS >> 2396 bool >> 2397 >> 2398 config CPU_R4000_WORKAROUNDS >> 2399 bool >> 2400 select CPU_R4400_WORKAROUNDS 728 2401 729 If you don't know what to do here, !! 2402 config CPU_R4400_WORKAROUNDS >> 2403 bool 730 2404 731 config TOOLCHAIN_NEEDS_EXPLICIT_ZICSR_ZIFENCEI !! 2405 # 732 def_bool y !! 2406 # - Highmem only makes sense for the 32-bit kernel. 733 # https://sourceware.org/git/?p=binuti !! 2407 # - The current highmem code will only work properly on physically indexed 734 # https://gcc.gnu.org/git/?p=gcc.git;a !! 2408 # caches such as R3000, SB1, R7000 or those that look like they're virtually 735 depends on AS_IS_GNU && AS_VERSION >= !! 2409 # indexed such as R4000/R4400 SC and MC versions or R10000. So for the 736 help !! 2410 # moment we protect the user and offer the highmem option only on machines 737 Binutils-2.38 and GCC-12.1.0 bumped !! 2411 # where it's known to be safe. This will not offer highmem on a few systems 738 20191213 version, which moves some i !! 2412 # such as MIPS32 and MIPS64 CPUs which may have virtual and physically 739 the Zicsr and Zifencei extensions. T !! 2413 # indexed CPUs but we're playing safe. 740 Zicsr and Zifencei when binutils >= !! 2414 # - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we 741 and Zifencei are supported in binuti !! 2415 # know they might have memory configurations that could make use of highmem 742 To make life easier, and avoid forci !! 2416 # support. 743 newer ISA spec to version 2.2, relax !! 2417 # 744 For clang < 17 or GCC < 11.3.0, for !! 2418 config HIGHMEM 745 special treatment, this is dealt wit !! 2419 bool "High Memory Support" >> 2420 depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM && !CPU_MIPS32_3_5_EVA 746 2421 747 config TOOLCHAIN_NEEDS_OLD_ISA_SPEC !! 2422 config CPU_SUPPORTS_HIGHMEM >> 2423 bool >> 2424 >> 2425 config SYS_SUPPORTS_HIGHMEM >> 2426 bool >> 2427 >> 2428 config SYS_SUPPORTS_SMARTMIPS >> 2429 bool >> 2430 >> 2431 config SYS_SUPPORTS_MICROMIPS >> 2432 bool >> 2433 >> 2434 config SYS_SUPPORTS_MIPS16 >> 2435 bool >> 2436 help >> 2437 This option must be set if a kernel might be executed on a MIPS16- >> 2438 enabled CPU even if MIPS16 is not actually being used. In other >> 2439 words, it makes the kernel MIPS16-tolerant. >> 2440 >> 2441 config CPU_SUPPORTS_MSA >> 2442 bool >> 2443 >> 2444 config ARCH_FLATMEM_ENABLE 748 def_bool y 2445 def_bool y 749 depends on TOOLCHAIN_NEEDS_EXPLICIT_ZI !! 2446 depends on !NUMA && !CPU_LOONGSON2 750 # https://github.com/llvm/llvm-project !! 2447 751 # https://gcc.gnu.org/git/?p=gcc.git;a !! 2448 config ARCH_DISCONTIGMEM_ENABLE 752 depends on (CC_IS_CLANG && CLANG_VERSI !! 2449 bool >> 2450 default y if SGI_IP27 753 help 2451 help 754 Certain versions of clang and GCC do !! 2452 Say Y to support efficient handling of discontiguous physical memory, 755 -march. This option causes an older !! 2453 for architectures which are either NUMA (Non-Uniform Memory Access) 756 versions of clang and GCC to be pass !! 2454 or have huge holes in the physical address space for other reasons. 757 as passing zicsr and zifencei to -ma !! 2455 See <file:Documentation/vm/numa> for more. 758 2456 759 config FPU !! 2457 config ARCH_SPARSEMEM_ENABLE 760 bool "FPU support" !! 2458 bool 761 default y !! 2459 select SPARSEMEM_STATIC >> 2460 >> 2461 config NUMA >> 2462 bool "NUMA Support" >> 2463 depends on SYS_SUPPORTS_NUMA 762 help 2464 help 763 Say N here if you want to disable al !! 2465 Say Y to compile the kernel to support NUMA (Non-Uniform Memory 764 in the kernel. !! 2466 Access). This option improves performance on systems with more >> 2467 than two nodes; on two node systems it is generally better to >> 2468 leave it disabled; on single node systems disable this option >> 2469 disabled. 765 2470 766 If you don't know what to do here, s !! 2471 config SYS_SUPPORTS_NUMA >> 2472 bool 767 2473 768 config IRQ_STACKS !! 2474 config NODES_SHIFT 769 bool "Independent irq & softirq stacks !! 2475 int >> 2476 default "6" >> 2477 depends on NEED_MULTIPLE_NODES >> 2478 >> 2479 config HW_PERF_EVENTS >> 2480 bool "Enable hardware performance counter support for perf events" >> 2481 depends on PERF_EVENTS && OPROFILE=n && (CPU_MIPS32 || CPU_MIPS64 || CPU_R10000 || CPU_SB1 || CPU_CAVIUM_OCTEON || CPU_XLP || CPU_LOONGSON3) 770 default y 2482 default y 771 select HAVE_IRQ_EXIT_ON_IRQ_STACK << 772 select HAVE_SOFTIRQ_ON_OWN_STACK << 773 help 2483 help 774 Add independent irq & softirq stacks !! 2484 Enable hardware performance counter support for perf events. If 775 overflows. We may save some memory f !! 2485 disabled, perf events will use software events only. 776 2486 777 config THREAD_SIZE_ORDER !! 2487 source "mm/Kconfig" 778 int "Kernel stack size (in power-of-tw !! 2488 779 range 0 4 !! 2489 config SMP 780 default 1 if 32BIT !! 2490 bool "Multi-Processing support" 781 default 2 !! 2491 depends on SYS_SUPPORTS_SMP 782 help 2492 help 783 Specify the Pages of thread stack si !! 2493 This enables support for systems with more than one CPU. If you have 784 affects irq stack size, which is equ !! 2494 a system with only one CPU, say N. If you have a system with more >> 2495 than one CPU, say Y. >> 2496 >> 2497 If you say N here, the kernel will run on uni- and multiprocessor >> 2498 machines, but will use only one CPU of a multiprocessor machine. If >> 2499 you say Y here, the kernel will run on many, but not all, >> 2500 uniprocessor machines. On a uniprocessor machine, the kernel >> 2501 will run faster if you say N here. >> 2502 >> 2503 People using multiprocessor machines who say Y here should also say >> 2504 Y to "Enhanced Real Time Clock Support", below. >> 2505 >> 2506 See also the SMP-HOWTO available at >> 2507 <http://www.tldp.org/docs.html#howto>. 785 2508 786 config RISCV_MISALIGNED !! 2509 If you don't know what to do here, say N. >> 2510 >> 2511 config SMP_UP 787 bool 2512 bool 788 select SYSCTL_ARCH_UNALIGN_ALLOW << 789 help << 790 Embed support for emulating misalign << 791 2513 792 choice !! 2514 config SYS_SUPPORTS_MIPS_CMP 793 prompt "Unaligned Accesses Support" !! 2515 bool 794 default RISCV_PROBE_UNALIGNED_ACCESS << 795 help << 796 This determines the level of support << 797 information is used by the kernel to << 798 exposed to user space via the hwprob << 799 probed at boot by default. << 800 << 801 config RISCV_PROBE_UNALIGNED_ACCESS << 802 bool "Probe for hardware unaligned acc << 803 select RISCV_MISALIGNED << 804 help << 805 During boot, the kernel will run a s << 806 speed of unaligned accesses. This pr << 807 the speed of unaligned accesses on t << 808 memory accesses trap into the kernel << 809 system, the kernel will emulate the << 810 UABI. << 811 << 812 config RISCV_EMULATED_UNALIGNED_ACCESS << 813 bool "Emulate unaligned access where s << 814 select RISCV_MISALIGNED << 815 help << 816 If unaligned memory accesses trap in << 817 supported by the system, the kernel << 818 accesses to preserve the UABI. When << 819 unaligned accesses, the unaligned ac << 820 << 821 config RISCV_SLOW_UNALIGNED_ACCESS << 822 bool "Assume the system supports slow << 823 depends on NONPORTABLE << 824 help << 825 Assume that the system supports slow << 826 kernel and userspace programs may no << 827 that do not support unaligned memory << 828 << 829 config RISCV_EFFICIENT_UNALIGNED_ACCESS << 830 bool "Assume the system supports fast << 831 depends on NONPORTABLE << 832 select DCACHE_WORD_ACCESS if MMU << 833 select HAVE_EFFICIENT_UNALIGNED_ACCESS << 834 help << 835 Assume that the system supports fast << 836 enabled, this option improves the pe << 837 systems. However, the kernel and use << 838 slowly, or will not be able to run a << 839 support efficient unaligned memory a << 840 2516 841 endchoice !! 2517 config SYS_SUPPORTS_MIPS_CPS >> 2518 bool >> 2519 >> 2520 config SYS_SUPPORTS_SMP >> 2521 bool 842 2522 843 source "arch/riscv/Kconfig.vendor" !! 2523 config NR_CPUS_DEFAULT_4 >> 2524 bool 844 2525 845 endmenu # "Platform type" !! 2526 config NR_CPUS_DEFAULT_8 >> 2527 bool 846 2528 847 menu "Kernel features" !! 2529 config NR_CPUS_DEFAULT_16 >> 2530 bool 848 2531 849 source "kernel/Kconfig.hz" !! 2532 config NR_CPUS_DEFAULT_32 >> 2533 bool 850 2534 851 config RISCV_SBI_V01 !! 2535 config NR_CPUS_DEFAULT_64 852 bool "SBI v0.1 support" !! 2536 bool 853 depends on RISCV_SBI << 854 help << 855 This config allows kernel to use SBI << 856 deprecated in future once legacy M-m << 857 2537 858 config RISCV_BOOT_SPINWAIT !! 2538 config NR_CPUS 859 bool "Spinwait booting method" !! 2539 int "Maximum number of CPUs (2-256)" >> 2540 range 2 256 860 depends on SMP 2541 depends on SMP 861 default y if RISCV_SBI_V01 || RISCV_M_ !! 2542 default "4" if NR_CPUS_DEFAULT_4 >> 2543 default "8" if NR_CPUS_DEFAULT_8 >> 2544 default "16" if NR_CPUS_DEFAULT_16 >> 2545 default "32" if NR_CPUS_DEFAULT_32 >> 2546 default "64" if NR_CPUS_DEFAULT_64 >> 2547 help >> 2548 This allows you to specify the maximum number of CPUs which this >> 2549 kernel will support. The maximum supported value is 32 for 32-bit >> 2550 kernel and 64 for 64-bit kernels; the minimum value which makes >> 2551 sense is 1 for Qemu (useful only for kernel debugging purposes) >> 2552 and 2 for all others. >> 2553 >> 2554 This is purely to save memory - each supported CPU adds >> 2555 approximately eight kilobytes to the kernel image. For best >> 2556 performance should round up your number of processors to the next >> 2557 power of two. >> 2558 >> 2559 config MIPS_PERF_SHARED_TC_COUNTERS >> 2560 bool >> 2561 >> 2562 # >> 2563 # Timer Interrupt Frequency Configuration >> 2564 # >> 2565 >> 2566 choice >> 2567 prompt "Timer frequency" >> 2568 default HZ_250 862 help 2569 help 863 This enables support for booting Lin !! 2570 Allows the configuration of the timer frequency. 864 spinwait method, all cores randomly << 865 gets chosen via lottery and all othe << 866 variable. This method cannot support << 867 scheme. It should be only enabled fo << 868 on older firmware without SBI HSM ex << 869 rely on ordered booting via SBI HSM << 870 dynamically at runtime if the firmwa << 871 << 872 Since spinwait is incompatible with << 873 NR_CPUS be large enough to contain t << 874 hart to enter Linux. << 875 2571 876 If unsure what to do here, say N. !! 2572 config HZ_24 >> 2573 bool "24 HZ" if SYS_SUPPORTS_24HZ || SYS_SUPPORTS_ARBIT_HZ 877 2574 878 config ARCH_SUPPORTS_KEXEC !! 2575 config HZ_48 879 def_bool y !! 2576 bool "48 HZ" if SYS_SUPPORTS_48HZ || SYS_SUPPORTS_ARBIT_HZ 880 2577 881 config ARCH_SELECTS_KEXEC !! 2578 config HZ_100 882 def_bool y !! 2579 bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ 883 depends on KEXEC << 884 select HOTPLUG_CPU if SMP << 885 2580 886 config ARCH_SUPPORTS_KEXEC_FILE !! 2581 config HZ_128 887 def_bool 64BIT !! 2582 bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ 888 2583 889 config ARCH_SELECTS_KEXEC_FILE !! 2584 config HZ_250 890 def_bool y !! 2585 bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ 891 depends on KEXEC_FILE << 892 select HAVE_IMA_KEXEC if IMA << 893 select KEXEC_ELF << 894 2586 895 config ARCH_SUPPORTS_KEXEC_PURGATORY !! 2587 config HZ_256 896 def_bool ARCH_SUPPORTS_KEXEC_FILE !! 2588 bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ 897 2589 898 config ARCH_SUPPORTS_CRASH_DUMP !! 2590 config HZ_1000 899 def_bool y !! 2591 bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ 900 2592 901 config ARCH_HAS_GENERIC_CRASHKERNEL_RESERVATIO !! 2593 config HZ_1024 902 def_bool CRASH_RESERVE !! 2594 bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ 903 2595 904 config COMPAT !! 2596 endchoice 905 bool "Kernel support for 32-bit U-mode !! 2597 906 default 64BIT !! 2598 config SYS_SUPPORTS_24HZ 907 depends on 64BIT && MMU !! 2599 bool 908 help !! 2600 909 This option enables support for a 32 !! 2601 config SYS_SUPPORTS_48HZ 910 kernel at S-mode. riscv32-specific c !! 2602 bool 911 the user helper functions (vdso), si !! 2603 912 ptrace interface are handled appropr !! 2604 config SYS_SUPPORTS_100HZ 913 !! 2605 bool 914 If you want to execute 32-bit usersp !! 2606 915 !! 2607 config SYS_SUPPORTS_128HZ 916 config PARAVIRT !! 2608 bool 917 bool "Enable paravirtualization code" !! 2609 918 depends on RISCV_SBI !! 2610 config SYS_SUPPORTS_250HZ 919 help !! 2611 bool 920 This changes the kernel so it can mo << 921 under a hypervisor, potentially impr << 922 over full virtualization. << 923 << 924 config PARAVIRT_TIME_ACCOUNTING << 925 bool "Paravirtual steal time accountin << 926 depends on PARAVIRT << 927 help << 928 Select this option to enable fine gr << 929 accounting. Time spent executing oth << 930 the current vCPU is discounted from << 931 that, there can be a small performan << 932 << 933 If in doubt, say N here. << 934 << 935 config RELOCATABLE << 936 bool "Build a relocatable kernel" << 937 depends on MMU && 64BIT && !XIP_KERNEL << 938 select MODULE_SECTIONS if MODULES << 939 help << 940 This builds a kernel as a Position I << 941 which retains all relocation metadat << 942 kernel binary at runtime to a differ << 943 address it was linked at. << 944 Since RISCV uses the RELA relocation << 945 relocation pass at runtime even if t << 946 same address it was linked at. << 947 << 948 If unsure, say N. << 949 << 950 config RANDOMIZE_BASE << 951 bool "Randomize the address of the ker << 952 select RELOCATABLE << 953 depends on MMU && 64BIT && !XIP_KERNEL << 954 help << 955 Randomizes the virtual address at wh << 956 loaded, as a security feature that d << 957 relying on knowledge of the location << 958 << 959 It is the bootloader's job to provid << 960 random u64 value in /chosen/kaslr-se << 961 << 962 When booting via the UEFI stub, it w << 963 EFI_RNG_PROTOCOL implementation (if << 964 to the kernel proper. In addition, i << 965 location of the kernel Image as well << 966 << 967 If unsure, say N. << 968 << 969 endmenu # "Kernel features" << 970 << 971 menu "Boot options" << 972 << 973 config CMDLINE << 974 string "Built-in kernel command line" << 975 help << 976 For most platforms, the arguments fo << 977 are provided at run-time, during boo << 978 where either no arguments are being << 979 arguments are insufficient or even i << 980 2612 981 When that occurs, it is possible to !! 2613 config SYS_SUPPORTS_256HZ 982 line here and choose how the kernel !! 2614 bool >> 2615 >> 2616 config SYS_SUPPORTS_1000HZ >> 2617 bool >> 2618 >> 2619 config SYS_SUPPORTS_1024HZ >> 2620 bool >> 2621 >> 2622 config SYS_SUPPORTS_ARBIT_HZ >> 2623 bool >> 2624 default y if !SYS_SUPPORTS_24HZ && \ >> 2625 !SYS_SUPPORTS_48HZ && \ >> 2626 !SYS_SUPPORTS_100HZ && \ >> 2627 !SYS_SUPPORTS_128HZ && \ >> 2628 !SYS_SUPPORTS_250HZ && \ >> 2629 !SYS_SUPPORTS_256HZ && \ >> 2630 !SYS_SUPPORTS_1000HZ && \ >> 2631 !SYS_SUPPORTS_1024HZ >> 2632 >> 2633 config HZ >> 2634 int >> 2635 default 24 if HZ_24 >> 2636 default 48 if HZ_48 >> 2637 default 100 if HZ_100 >> 2638 default 128 if HZ_128 >> 2639 default 250 if HZ_250 >> 2640 default 256 if HZ_256 >> 2641 default 1000 if HZ_1000 >> 2642 default 1024 if HZ_1024 >> 2643 >> 2644 config SCHED_HRTICK >> 2645 def_bool HIGH_RES_TIMERS >> 2646 >> 2647 source "kernel/Kconfig.preempt" >> 2648 >> 2649 config KEXEC >> 2650 bool "Kexec system call" >> 2651 select KEXEC_CORE >> 2652 help >> 2653 kexec is a system call that implements the ability to shutdown your >> 2654 current kernel, and to start another kernel. It is like a reboot >> 2655 but it is independent of the system firmware. And like a reboot >> 2656 you can start any kernel with it, not just Linux. >> 2657 >> 2658 The name comes from the similarity to the exec system call. >> 2659 >> 2660 It is an ongoing process to be certain the hardware in a machine >> 2661 is properly shutdown, so do not be surprised if this code does not >> 2662 initially work for you. As of this writing the exact hardware >> 2663 interface is strongly in flux, so no good recommendation can be >> 2664 made. >> 2665 >> 2666 config CRASH_DUMP >> 2667 bool "Kernel crash dumps" >> 2668 help >> 2669 Generate crash dump after being started by kexec. >> 2670 This should be normally only set in special crash dump kernels >> 2671 which are loaded in the main kernel with kexec-tools into >> 2672 a specially reserved region and then later executed after >> 2673 a crash by kdump/kexec. The crash dump kernel must be compiled >> 2674 to a memory address not used by the main kernel or firmware using >> 2675 PHYSICAL_START. >> 2676 >> 2677 config PHYSICAL_START >> 2678 hex "Physical address where the kernel is loaded" >> 2679 default "0xffffffff84000000" if 64BIT >> 2680 default "0x84000000" if 32BIT >> 2681 depends on CRASH_DUMP >> 2682 help >> 2683 This gives the CKSEG0 or KSEG0 address where the kernel is loaded. >> 2684 If you plan to use kernel for capturing the crash dump change >> 2685 this value to start of the reserved region (the "X" value as >> 2686 specified in the "crashkernel=YM@XM" command line boot parameter >> 2687 passed to the panic-ed kernel). >> 2688 >> 2689 config SECCOMP >> 2690 bool "Enable seccomp to safely compute untrusted bytecode" >> 2691 depends on PROC_FS >> 2692 default y >> 2693 help >> 2694 This kernel feature is useful for number crunching applications >> 2695 that may need to compute untrusted bytecode during their >> 2696 execution. By using pipes or other transports made available to >> 2697 the process as file descriptors supporting the read/write >> 2698 syscalls, it's possible to isolate those applications in >> 2699 their own address space using seccomp. Once seccomp is >> 2700 enabled via /proc/<pid>/seccomp, it cannot be disabled >> 2701 and the task is only allowed to execute a few safe syscalls >> 2702 defined by each seccomp mode. >> 2703 >> 2704 If unsure, say Y. Only embedded should say N here. >> 2705 >> 2706 config MIPS_O32_FP64_SUPPORT >> 2707 bool "Support for O32 binaries using 64-bit FP" >> 2708 depends on 32BIT || MIPS32_O32 >> 2709 help >> 2710 When this is enabled, the kernel will support use of 64-bit floating >> 2711 point registers with binaries using the O32 ABI along with the >> 2712 EF_MIPS_FP64 ELF header flag (typically built with -mfp64). On >> 2713 32-bit MIPS systems this support is at the cost of increasing the >> 2714 size and complexity of the compiled FPU emulator. Thus if you are >> 2715 running a MIPS32 system and know that none of your userland binaries >> 2716 will require 64-bit floating point, you may wish to reduce the size >> 2717 of your kernel & potentially improve FP emulation performance by >> 2718 saying N here. >> 2719 >> 2720 Although binutils currently supports use of this flag the details >> 2721 concerning its effect upon the O32 ABI in userland are still being >> 2722 worked on. In order to avoid userland becoming dependant upon current >> 2723 behaviour before the details have been finalised, this option should >> 2724 be considered experimental and only enabled by those working upon >> 2725 said details. >> 2726 >> 2727 If unsure, say N. >> 2728 >> 2729 config USE_OF >> 2730 bool >> 2731 select OF >> 2732 select OF_EARLY_FLATTREE >> 2733 select IRQ_DOMAIN >> 2734 >> 2735 config BUILTIN_DTB >> 2736 bool 983 2737 984 choice 2738 choice 985 prompt "Built-in command line usage" !! 2739 prompt "Kernel appended dtb support" if USE_OF 986 depends on CMDLINE != "" !! 2740 default MIPS_NO_APPENDED_DTB 987 default CMDLINE_FALLBACK << 988 help << 989 Choose how the kernel will handle th << 990 line. << 991 << 992 config CMDLINE_FALLBACK << 993 bool "Use bootloader kernel arguments << 994 help << 995 Use the built-in command line as fal << 996 during boot. This is the default beh << 997 << 998 config CMDLINE_EXTEND << 999 bool "Extend bootloader kernel argumen << 1000 help << 1001 The command-line arguments provided << 1002 appended to the built-in command li << 1003 cases where the provided arguments << 1004 you don't want to or cannot modify << 1005 << 1006 config CMDLINE_FORCE << 1007 bool "Always use the default kernel c << 1008 help << 1009 Always use the built-in command lin << 1010 boot. This is useful in case you ne << 1011 command line on systems where you d << 1012 over it. << 1013 2741 >> 2742 config MIPS_NO_APPENDED_DTB >> 2743 bool "None" >> 2744 help >> 2745 Do not enable appended dtb support. >> 2746 >> 2747 config MIPS_ELF_APPENDED_DTB >> 2748 bool "vmlinux" >> 2749 help >> 2750 With this option, the boot code will look for a device tree binary >> 2751 DTB) included in the vmlinux ELF section .appended_dtb. By default >> 2752 it is empty and the DTB can be appended using binutils command >> 2753 objcopy: >> 2754 >> 2755 objcopy --update-section .appended_dtb=<filename>.dtb vmlinux >> 2756 >> 2757 This is meant as a backward compatiblity convenience for those >> 2758 systems with a bootloader that can't be upgraded to accommodate >> 2759 the documented boot protocol using a device tree. >> 2760 >> 2761 config MIPS_RAW_APPENDED_DTB >> 2762 bool "vmlinux.bin" >> 2763 help >> 2764 With this option, the boot code will look for a device tree binary >> 2765 DTB) appended to raw vmlinux.bin (without decompressor). >> 2766 (e.g. cat vmlinux.bin <filename>.dtb > vmlinux_w_dtb). >> 2767 >> 2768 This is meant as a backward compatibility convenience for those >> 2769 systems with a bootloader that can't be upgraded to accommodate >> 2770 the documented boot protocol using a device tree. >> 2771 >> 2772 Beware that there is very little in terms of protection against >> 2773 this option being confused by leftover garbage in memory that might >> 2774 look like a DTB header after a reboot if no actual DTB is appended >> 2775 to vmlinux.bin. Do not leave this option active in a production kernel >> 2776 if you don't intend to always append a DTB. >> 2777 >> 2778 config MIPS_ZBOOT_APPENDED_DTB >> 2779 bool "vmlinuz.bin" >> 2780 depends on SYS_SUPPORTS_ZBOOT >> 2781 help >> 2782 With this option, the boot code will look for a device tree binary >> 2783 DTB) appended to raw vmlinuz.bin (with decompressor). >> 2784 (e.g. cat vmlinuz.bin <filename>.dtb > vmlinuz_w_dtb). >> 2785 >> 2786 This is meant as a backward compatibility convenience for those >> 2787 systems with a bootloader that can't be upgraded to accommodate >> 2788 the documented boot protocol using a device tree. >> 2789 >> 2790 Beware that there is very little in terms of protection against >> 2791 this option being confused by leftover garbage in memory that might >> 2792 look like a DTB header after a reboot if no actual DTB is appended >> 2793 to vmlinuz.bin. Do not leave this option active in a production kernel >> 2794 if you don't intend to always append a DTB. 1014 endchoice 2795 endchoice 1015 2796 1016 config EFI_STUB !! 2797 choice >> 2798 prompt "Kernel command line type" if !CMDLINE_OVERRIDE >> 2799 default MIPS_CMDLINE_FROM_DTB if USE_OF && !ATH79 && !MACH_INGENIC && \ >> 2800 !MIPS_MALTA && !MIPS_SEAD3 && \ >> 2801 !CAVIUM_OCTEON_SOC >> 2802 default MIPS_CMDLINE_FROM_BOOTLOADER >> 2803 >> 2804 config MIPS_CMDLINE_FROM_DTB >> 2805 depends on USE_OF >> 2806 bool "Dtb kernel arguments if available" >> 2807 >> 2808 config MIPS_CMDLINE_DTB_EXTEND >> 2809 depends on USE_OF >> 2810 bool "Extend dtb kernel arguments with bootloader arguments" >> 2811 >> 2812 config MIPS_CMDLINE_FROM_BOOTLOADER >> 2813 bool "Bootloader kernel arguments if available" >> 2814 endchoice >> 2815 >> 2816 endmenu >> 2817 >> 2818 config LOCKDEP_SUPPORT 1017 bool 2819 bool >> 2820 default y 1018 2821 1019 config EFI !! 2822 config STACKTRACE_SUPPORT 1020 bool "UEFI runtime support" !! 2823 bool 1021 depends on OF && !XIP_KERNEL !! 2824 default y 1022 depends on MMU << 1023 default y << 1024 select ARCH_SUPPORTS_ACPI if 64BIT << 1025 select EFI_GENERIC_STUB << 1026 select EFI_PARAMS_FROM_FDT << 1027 select EFI_RUNTIME_WRAPPERS << 1028 select EFI_STUB << 1029 select LIBFDT << 1030 select RISCV_ISA_C << 1031 select UCS2_STRING << 1032 help << 1033 This option provides support for ru << 1034 by UEFI firmware (such as non-volat << 1035 clock, and platform reset). A UEFI << 1036 allow the kernel to be booted as an << 1037 is only useful on systems that have << 1038 2825 1039 config DMI !! 2826 config HAVE_LATENCYTOP_SUPPORT 1040 bool "Enable support for SMBIOS (DMI) !! 2827 bool 1041 depends on EFI << 1042 default y 2828 default y 1043 help << 1044 This enables SMBIOS/DMI feature for << 1045 2829 1046 This option is only useful on syste !! 2830 config PGTABLE_LEVELS 1047 However, even with this option, the !! 2831 int 1048 continue to boot on existing non-UE !! 2832 default 3 if 64BIT && !PAGE_SIZE_64KB >> 2833 default 2 >> 2834 >> 2835 source "init/Kconfig" 1049 2836 1050 config CC_HAVE_STACKPROTECTOR_TLS !! 2837 source "kernel/Kconfig.freezer" 1051 def_bool $(cc-option,-mstack-protecto << 1052 2838 1053 config STACKPROTECTOR_PER_TASK !! 2839 menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)" 1054 def_bool y << 1055 depends on !RANDSTRUCT << 1056 depends on STACKPROTECTOR && CC_HAVE_ << 1057 2840 1058 config PHYS_RAM_BASE_FIXED !! 2841 config HW_HAS_EISA 1059 bool "Explicitly specified physical R !! 2842 bool 1060 depends on NONPORTABLE !! 2843 config HW_HAS_PCI 1061 default n !! 2844 bool 1062 2845 1063 config PHYS_RAM_BASE !! 2846 config PCI 1064 hex "Platform Physical RAM address" !! 2847 bool "Support for PCI controller" 1065 depends on PHYS_RAM_BASE_FIXED !! 2848 depends on HW_HAS_PCI 1066 default "0x80000000" !! 2849 select PCI_DOMAINS 1067 help !! 2850 select NO_GENERIC_PCI_IOPORT_MAP 1068 This is the physical address of RAM !! 2851 help 1069 explicitly specified to run early r !! 2852 Find out whether you have a PCI motherboard. PCI is the name of a 1070 from flash to RAM. !! 2853 bus system, i.e. the way the CPU talks to the other stuff inside 1071 !! 2854 your box. Other bus systems are ISA, EISA, or VESA. If you have PCI, 1072 config XIP_KERNEL !! 2855 say Y, otherwise N. 1073 bool "Kernel Execute-In-Place from RO !! 2856 1074 depends on MMU && SPARSEMEM && NONPOR !! 2857 config HT_PCI 1075 # This prevents XIP from being enable !! 2858 bool "Support for HT-linked PCI" 1076 # fail to build since XIP doesn't sup !! 2859 default y 1077 depends on !COMPILE_TEST !! 2860 depends on CPU_LOONGSON3 1078 select PHYS_RAM_BASE_FIXED !! 2861 select PCI 1079 help !! 2862 select PCI_DOMAINS 1080 Execute-In-Place allows the kernel !! 2863 help 1081 directly addressable by the CPU, su !! 2864 Loongson family machines use Hyper-Transport bus for inter-core 1082 space since the text section of the !! 2865 connection and device connection. The PCI bus is a subordinate 1083 to RAM. Read-write sections, such !! 2866 linked at HT. Choose Y for Loongson-3 based machines. 1084 are still copied to RAM. The XIP k << 1085 it has to run directly from flash, << 1086 store it. The flash address used t << 1087 and for storing it, is configuratio << 1088 say Y here, you must know the prope << 1089 store the kernel image depending on << 1090 << 1091 Also note that the make target beco << 1092 "make zImage" or "make Image". The << 1093 ROM memory will be arch/riscv/boot/ << 1094 << 1095 SPARSEMEM is required because the k << 1096 flash resident are not backed by me << 1097 a struct page on those regions will << 1098 2867 1099 If unsure, say N. !! 2868 config PCI_DOMAINS >> 2869 bool 1100 2870 1101 config XIP_PHYS_ADDR !! 2871 source "drivers/pci/Kconfig" 1102 hex "XIP Kernel Physical Location" << 1103 depends on XIP_KERNEL << 1104 default "0x21000000" << 1105 help << 1106 This is the physical address in you << 1107 be linked for and stored to. This << 1108 own flash usage. << 1109 << 1110 config RISCV_ISA_FALLBACK << 1111 bool "Permit falling back to parsing << 1112 default y << 1113 help << 1114 Parsing the "riscv,isa" devicetree << 1115 replaced by a list of explicitly de << 1116 with existing platforms, the kernel << 1117 "riscv,isa" property if the replace << 1118 << 1119 Selecting N here will result in a k << 1120 fallback, unless the commandline "r << 1121 present. << 1122 << 1123 Please see the dt-binding, located << 1124 Documentation/devicetree/bindings/r << 1125 on the replacement properties, "ris << 1126 "riscv,isa-extensions". << 1127 2872 1128 config BUILTIN_DTB !! 2873 source "drivers/pci/pcie/Kconfig" 1129 bool "Built-in device tree" !! 2874 1130 depends on OF && NONPORTABLE !! 2875 # 1131 help !! 2876 # ISA support is now enabled via select. Too many systems still have the one 1132 Build a device tree into the Linux !! 2877 # or other ISA chip on the board that users don't know about so don't expect 1133 This option should be selected if n !! 2878 # users to choose the right thing ... 1134 If unsure, say N. !! 2879 # >> 2880 config ISA >> 2881 bool >> 2882 >> 2883 config EISA >> 2884 bool "EISA support" >> 2885 depends on HW_HAS_EISA >> 2886 select ISA >> 2887 select GENERIC_ISA_DMA >> 2888 ---help--- >> 2889 The Extended Industry Standard Architecture (EISA) bus was >> 2890 developed as an open alternative to the IBM MicroChannel bus. >> 2891 >> 2892 The EISA bus provided some of the features of the IBM MicroChannel >> 2893 bus while maintaining backward compatibility with cards made for >> 2894 the older ISA bus. The EISA bus saw limited use between 1988 and >> 2895 1995 when it was made obsolete by the PCI bus. >> 2896 >> 2897 Say Y here if you are building a kernel for an EISA-based machine. >> 2898 >> 2899 Otherwise, say N. >> 2900 >> 2901 source "drivers/eisa/Kconfig" >> 2902 >> 2903 config TC >> 2904 bool "TURBOchannel support" >> 2905 depends on MACH_DECSTATION >> 2906 help >> 2907 TURBOchannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS >> 2908 processors. TURBOchannel programming specifications are available >> 2909 at: >> 2910 <ftp://ftp.hp.com/pub/alphaserver/archive/triadd/> >> 2911 and: >> 2912 <http://www.computer-refuge.org/classiccmp/ftp.digital.com/pub/DEC/TriAdd/> >> 2913 Linux driver support status is documented at: >> 2914 <http://www.linux-mips.org/wiki/DECstation> >> 2915 >> 2916 config MMU >> 2917 bool >> 2918 default y >> 2919 >> 2920 config I8253 >> 2921 bool >> 2922 select CLKSRC_I8253 >> 2923 select CLKEVT_I8253 >> 2924 select MIPS_EXTERNAL_TIMER >> 2925 >> 2926 config ZONE_DMA >> 2927 bool >> 2928 >> 2929 config ZONE_DMA32 >> 2930 bool >> 2931 >> 2932 source "drivers/pcmcia/Kconfig" 1135 2933 >> 2934 source "drivers/pci/hotplug/Kconfig" 1136 2935 1137 config BUILTIN_DTB_SOURCE !! 2936 config RAPIDIO 1138 string "Built-in device tree source" !! 2937 tristate "RapidIO support" 1139 depends on BUILTIN_DTB !! 2938 depends on PCI >> 2939 default n 1140 help 2940 help 1141 DTS file path (without suffix, rela !! 2941 If you say Y here, the kernel will include drivers and 1142 for the DTS file that will be used !! 2942 infrastructure code to support RapidIO interconnect devices. 1143 kernel. !! 2943 >> 2944 source "drivers/rapidio/Kconfig" >> 2945 >> 2946 endmenu 1144 2947 1145 endmenu # "Boot options" !! 2948 menu "Executable file formats" 1146 2949 1147 config PORTABLE !! 2950 source "fs/Kconfig.binfmt" >> 2951 >> 2952 config TRAD_SIGNALS 1148 bool 2953 bool 1149 default !NONPORTABLE << 1150 select EFI << 1151 select MMU << 1152 select OF << 1153 2954 1154 config ARCH_PROC_KCORE_TEXT !! 2955 config MIPS32_COMPAT 1155 def_bool y !! 2956 bool 1156 2957 1157 menu "Power management options" !! 2958 config COMPAT >> 2959 bool 1158 2960 1159 source "kernel/power/Kconfig" !! 2961 config SYSVIPC_COMPAT >> 2962 bool >> 2963 >> 2964 config MIPS32_O32 >> 2965 bool "Kernel support for o32 binaries" >> 2966 depends on 64BIT >> 2967 select ARCH_WANT_OLD_COMPAT_IPC >> 2968 select COMPAT >> 2969 select MIPS32_COMPAT >> 2970 select SYSVIPC_COMPAT if SYSVIPC >> 2971 help >> 2972 Select this option if you want to run o32 binaries. These are pure >> 2973 32-bit binaries as used by the 32-bit Linux/MIPS port. Most of >> 2974 existing binaries are in this format. >> 2975 >> 2976 If unsure, say Y. >> 2977 >> 2978 config MIPS32_N32 >> 2979 bool "Kernel support for n32 binaries" >> 2980 depends on 64BIT >> 2981 select ARCH_WANT_COMPAT_IPC_PARSE_VERSION >> 2982 select COMPAT >> 2983 select MIPS32_COMPAT >> 2984 select SYSVIPC_COMPAT if SYSVIPC >> 2985 help >> 2986 Select this option if you want to run n32 binaries. These are >> 2987 64-bit binaries using 32-bit quantities for addressing and certain >> 2988 data that would normally be 64-bit. They are used in special >> 2989 cases. >> 2990 >> 2991 If unsure, say N. >> 2992 >> 2993 config BINFMT_ELF32 >> 2994 bool >> 2995 default y if MIPS32_O32 || MIPS32_N32 >> 2996 select ELFCORE >> 2997 >> 2998 endmenu >> 2999 >> 3000 menu "Power management options" 1160 3001 1161 config ARCH_HIBERNATION_POSSIBLE 3002 config ARCH_HIBERNATION_POSSIBLE 1162 def_bool y 3003 def_bool y 1163 !! 3004 depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP 1164 config ARCH_HIBERNATION_HEADER << 1165 def_bool HIBERNATION << 1166 3005 1167 config ARCH_SUSPEND_POSSIBLE 3006 config ARCH_SUSPEND_POSSIBLE 1168 def_bool y 3007 def_bool y >> 3008 depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP >> 3009 >> 3010 source "kernel/power/Kconfig" >> 3011 >> 3012 endmenu 1169 3013 1170 endmenu # "Power management options" !! 3014 config MIPS_EXTERNAL_TIMER >> 3015 bool 1171 3016 1172 menu "CPU Power Management" 3017 menu "CPU Power Management" 1173 3018 >> 3019 if CPU_SUPPORTS_CPUFREQ && MIPS_EXTERNAL_TIMER >> 3020 source "drivers/cpufreq/Kconfig" >> 3021 endif >> 3022 1174 source "drivers/cpuidle/Kconfig" 3023 source "drivers/cpuidle/Kconfig" 1175 3024 1176 source "drivers/cpufreq/Kconfig" !! 3025 endmenu >> 3026 >> 3027 source "net/Kconfig" >> 3028 >> 3029 source "drivers/Kconfig" >> 3030 >> 3031 source "drivers/firmware/Kconfig" >> 3032 >> 3033 source "fs/Kconfig" >> 3034 >> 3035 source "arch/mips/Kconfig.debug" >> 3036 >> 3037 source "security/Kconfig" 1177 3038 1178 endmenu # "CPU Power Management" !! 3039 source "crypto/Kconfig" 1179 3040 1180 source "arch/riscv/kvm/Kconfig" !! 3041 source "lib/Kconfig" 1181 3042 1182 source "drivers/acpi/Kconfig" !! 3043 source "arch/mips/kvm/Kconfig"
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.