1 # SPDX-License-Identifier: GPL-2.0 !! 1 config 64BIT 2 config LOONGARCH !! 2 bool "64-bit kernel" if ARCH = "sparc" >> 3 default ARCH = "sparc64" >> 4 help >> 5 SPARC is a family of RISC microprocessors designed and marketed by >> 6 Sun Microsystems, incorporated. They are very widely found in Sun >> 7 workstations and clones. >> 8 >> 9 Say yes to build a 64-bit kernel - formerly known as sparc64 >> 10 Say no to build a 32-bit kernel - formerly known as sparc >> 11 >> 12 config SPARC 3 bool 13 bool 4 default y 14 default y 5 select ACPI !! 15 select OF 6 select ACPI_GENERIC_GSI if ACPI !! 16 select OF_PROMTREE 7 select ACPI_MCFG if ACPI !! 17 select HAVE_IDE 8 select ACPI_HOTPLUG_CPU if ACPI_PROCES !! 18 select HAVE_OPROFILE 9 select ACPI_PPTT if ACPI !! 19 select HAVE_ARCH_KGDB if !SMP || SPARC64 10 select ACPI_SYSTEM_POWER_STATES_SUPPOR !! 20 select HAVE_ARCH_TRACEHOOK 11 select ARCH_BINFMT_ELF_STATE !! 21 select SYSCTL_EXCEPTION_TRACE 12 select ARCH_DISABLE_KASAN_INLINE !! 22 select ARCH_WANT_OPTIONAL_GPIOLIB 13 select ARCH_ENABLE_MEMORY_HOTPLUG !! 23 select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE 14 select ARCH_ENABLE_MEMORY_HOTREMOVE !! 24 select RTC_CLASS 15 select ARCH_ENABLE_THP_MIGRATION if TR !! 25 select RTC_DRV_M48T59 16 select ARCH_HAS_ACPI_TABLE_UPGRADE !! 26 select HAVE_DMA_ATTRS 17 select ARCH_HAS_CPU_FINALIZE_INIT !! 27 select HAVE_DMA_API_DEBUG 18 select ARCH_HAS_CURRENT_STACK_POINTER !! 28 select HAVE_ARCH_JUMP_LABEL if SPARC64 19 select ARCH_HAS_DEBUG_VM_PGTABLE !! 29 select HAVE_GENERIC_HARDIRQS 20 select ARCH_HAS_FAST_MULTIPLIER << 21 select ARCH_HAS_FORTIFY_SOURCE << 22 select ARCH_HAS_KCOV << 23 select ARCH_HAS_KERNEL_FPU_SUPPORT if << 24 select ARCH_HAS_NMI_SAFE_THIS_CPU_OPS << 25 select ARCH_HAS_NON_OVERLAPPING_ADDRES << 26 select ARCH_HAS_PTE_DEVMAP << 27 select ARCH_HAS_PTE_SPECIAL << 28 select ARCH_HAS_SET_MEMORY << 29 select ARCH_HAS_SET_DIRECT_MAP << 30 select ARCH_HAS_TICK_BROADCAST if GENE << 31 select ARCH_INLINE_READ_LOCK if !PREEM << 32 select ARCH_INLINE_READ_LOCK_BH if !PR << 33 select ARCH_INLINE_READ_LOCK_IRQ if !P << 34 select ARCH_INLINE_READ_LOCK_IRQSAVE i << 35 select ARCH_INLINE_READ_UNLOCK if !PRE << 36 select ARCH_INLINE_READ_UNLOCK_BH if ! << 37 select ARCH_INLINE_READ_UNLOCK_IRQ if << 38 select ARCH_INLINE_READ_UNLOCK_IRQREST << 39 select ARCH_INLINE_WRITE_LOCK if !PREE << 40 select ARCH_INLINE_WRITE_LOCK_BH if !P << 41 select ARCH_INLINE_WRITE_LOCK_IRQ if ! << 42 select ARCH_INLINE_WRITE_LOCK_IRQSAVE << 43 select ARCH_INLINE_WRITE_UNLOCK if !PR << 44 select ARCH_INLINE_WRITE_UNLOCK_BH if << 45 select ARCH_INLINE_WRITE_UNLOCK_IRQ if << 46 select ARCH_INLINE_WRITE_UNLOCK_IRQRES << 47 select ARCH_INLINE_SPIN_TRYLOCK if !PR << 48 select ARCH_INLINE_SPIN_TRYLOCK_BH if << 49 select ARCH_INLINE_SPIN_LOCK if !PREEM << 50 select ARCH_INLINE_SPIN_LOCK_BH if !PR << 51 select ARCH_INLINE_SPIN_LOCK_IRQ if !P << 52 select ARCH_INLINE_SPIN_LOCK_IRQSAVE i << 53 select ARCH_INLINE_SPIN_UNLOCK if !PRE << 54 select ARCH_INLINE_SPIN_UNLOCK_BH if ! << 55 select ARCH_INLINE_SPIN_UNLOCK_IRQ if << 56 select ARCH_INLINE_SPIN_UNLOCK_IRQREST << 57 select ARCH_KEEP_MEMBLOCK << 58 select ARCH_MIGHT_HAVE_PC_PARPORT << 59 select ARCH_MIGHT_HAVE_PC_SERIO << 60 select ARCH_SPARSEMEM_ENABLE << 61 select ARCH_STACKWALK << 62 select ARCH_SUPPORTS_ACPI << 63 select ARCH_SUPPORTS_ATOMIC_RMW << 64 select ARCH_SUPPORTS_HUGETLBFS << 65 select ARCH_SUPPORTS_INT128 if CC_HAS_ << 66 select ARCH_SUPPORTS_LTO_CLANG << 67 select ARCH_SUPPORTS_LTO_CLANG_THIN << 68 select ARCH_SUPPORTS_NUMA_BALANCING << 69 select ARCH_USE_BUILTIN_BSWAP << 70 select ARCH_USE_CMPXCHG_LOCKREF << 71 select ARCH_USE_QUEUED_RWLOCKS << 72 select ARCH_USE_QUEUED_SPINLOCKS << 73 select ARCH_WANT_DEFAULT_BPF_JIT << 74 select ARCH_WANT_DEFAULT_TOPDOWN_MMAP_ << 75 select ARCH_WANT_LD_ORPHAN_WARN << 76 select ARCH_WANT_OPTIMIZE_HUGETLB_VMEM << 77 select ARCH_WANTS_NO_INSTR << 78 select ARCH_WANTS_THP_SWAP if HAVE_ARC << 79 select BUILDTIME_TABLE_SORT << 80 select COMMON_CLK << 81 select CPU_PM << 82 select EFI << 83 select GENERIC_CLOCKEVENTS << 84 select GENERIC_CMOS_UPDATE << 85 select GENERIC_CPU_AUTOPROBE << 86 select GENERIC_CPU_DEVICES << 87 select GENERIC_CPU_VULNERABILITIES << 88 select GENERIC_ENTRY << 89 select GENERIC_GETTIMEOFDAY << 90 select GENERIC_IOREMAP if !ARCH_IOREMA << 91 select GENERIC_IRQ_MATRIX_ALLOCATOR << 92 select GENERIC_IRQ_MULTI_HANDLER << 93 select GENERIC_IRQ_PROBE << 94 select GENERIC_IRQ_SHOW 30 select GENERIC_IRQ_SHOW 95 select GENERIC_LIB_ASHLDI3 !! 31 select ARCH_WANT_IPC_PARSE_VERSION 96 select GENERIC_LIB_ASHRDI3 !! 32 select USE_GENERIC_SMP_HELPERS if SMP 97 select GENERIC_LIB_CMPDI2 << 98 select GENERIC_LIB_LSHRDI3 << 99 select GENERIC_LIB_UCMPDI2 << 100 select GENERIC_LIB_DEVMEM_IS_ALLOWED << 101 select GENERIC_PCI_IOMAP 33 select GENERIC_PCI_IOMAP 102 select GENERIC_SCHED_CLOCK !! 34 select HAVE_NMI_WATCHDOG if SPARC64 >> 35 select HAVE_BPF_JIT >> 36 select HAVE_DEBUG_BUGVERBOSE 103 select GENERIC_SMP_IDLE_THREAD 37 select GENERIC_SMP_IDLE_THREAD 104 select GENERIC_TIME_VSYSCALL !! 38 select GENERIC_CMOS_UPDATE 105 select GENERIC_VDSO_TIME_NS !! 39 select GENERIC_CLOCKEVENTS 106 select GPIOLIB !! 40 select GENERIC_STRNCPY_FROM_USER 107 select HAS_IOPORT !! 41 select GENERIC_STRNLEN_USER 108 select HAVE_ARCH_AUDITSYSCALL !! 42 select MODULES_USE_ELF_RELA 109 select HAVE_ARCH_JUMP_LABEL !! 43 select ODD_RT_SIGACTION 110 select HAVE_ARCH_JUMP_LABEL_RELATIVE !! 44 select OLD_SIGSUSPEND 111 select HAVE_ARCH_KASAN !! 45 112 select HAVE_ARCH_KFENCE !! 46 config SPARC32 113 select HAVE_ARCH_KGDB if PERF_EVENTS !! 47 def_bool !64BIT 114 select HAVE_ARCH_MMAP_RND_BITS if MMU !! 48 select GENERIC_ATOMIC64 115 select HAVE_ARCH_RANDOMIZE_KSTACK_OFFS !! 49 select CLZ_TAB 116 select HAVE_ARCH_SECCOMP !! 50 select HAVE_UID16 117 select HAVE_ARCH_SECCOMP_FILTER !! 51 select OLD_SIGACTION 118 select HAVE_ARCH_TRACEHOOK !! 52 >> 53 config SPARC64 >> 54 def_bool 64BIT >> 55 select ARCH_SUPPORTS_MSI >> 56 select HAVE_FUNCTION_TRACER >> 57 select HAVE_FUNCTION_GRAPH_TRACER >> 58 select HAVE_FUNCTION_GRAPH_FP_TEST >> 59 select HAVE_FUNCTION_TRACE_MCOUNT_TEST >> 60 select HAVE_KRETPROBES >> 61 select HAVE_KPROBES >> 62 select HAVE_RCU_TABLE_FREE if SMP >> 63 select HAVE_MEMBLOCK >> 64 select HAVE_MEMBLOCK_NODE_MAP 119 select HAVE_ARCH_TRANSPARENT_HUGEPAGE 65 select HAVE_ARCH_TRANSPARENT_HUGEPAGE 120 select HAVE_ARCH_USERFAULTFD_MINOR if << 121 select HAVE_ASM_MODVERSIONS << 122 select HAVE_CONTEXT_TRACKING_USER << 123 select HAVE_C_RECORDMCOUNT << 124 select HAVE_DEBUG_KMEMLEAK << 125 select HAVE_DEBUG_STACKOVERFLOW << 126 select HAVE_DMA_CONTIGUOUS << 127 select HAVE_DYNAMIC_FTRACE 66 select HAVE_DYNAMIC_FTRACE 128 select HAVE_DYNAMIC_FTRACE_WITH_ARGS << 129 select HAVE_DYNAMIC_FTRACE_WITH_DIRECT << 130 select HAVE_DYNAMIC_FTRACE_WITH_REGS << 131 select HAVE_EBPF_JIT << 132 select HAVE_EFFICIENT_UNALIGNED_ACCESS << 133 select HAVE_EXIT_THREAD << 134 select HAVE_GUP_FAST << 135 select HAVE_FTRACE_MCOUNT_RECORD 67 select HAVE_FTRACE_MCOUNT_RECORD 136 select HAVE_FUNCTION_ARG_ACCESS_API << 137 select HAVE_FUNCTION_ERROR_INJECTION << 138 select HAVE_FUNCTION_GRAPH_RETVAL if H << 139 select HAVE_FUNCTION_GRAPH_TRACER << 140 select HAVE_FUNCTION_TRACER << 141 select HAVE_GCC_PLUGINS << 142 select HAVE_GENERIC_VDSO << 143 select HAVE_HW_BREAKPOINT if PERF_EVEN << 144 select HAVE_IOREMAP_PROT << 145 select HAVE_IRQ_EXIT_ON_IRQ_STACK << 146 select HAVE_IRQ_TIME_ACCOUNTING << 147 select HAVE_KPROBES << 148 select HAVE_KPROBES_ON_FTRACE << 149 select HAVE_KRETPROBES << 150 select HAVE_LIVEPATCH << 151 select HAVE_MOD_ARCH_SPECIFIC << 152 select HAVE_NMI << 153 select HAVE_OBJTOOL if AS_HAS_EXPLICIT << 154 select HAVE_PCI << 155 select HAVE_PERF_EVENTS << 156 select HAVE_PERF_REGS << 157 select HAVE_PERF_USER_STACK_DUMP << 158 select HAVE_PREEMPT_DYNAMIC_KEY << 159 select HAVE_REGS_AND_STACK_ACCESS_API << 160 select HAVE_RELIABLE_STACKTRACE if UNW << 161 select HAVE_RETHOOK << 162 select HAVE_RSEQ << 163 select HAVE_RUST << 164 select HAVE_SAMPLE_FTRACE_DIRECT << 165 select HAVE_SAMPLE_FTRACE_DIRECT_MULTI << 166 select HAVE_SETUP_PER_CPU_AREA if NUMA << 167 select HAVE_STACK_VALIDATION if HAVE_O << 168 select HAVE_STACKPROTECTOR << 169 select HAVE_SYSCALL_TRACEPOINTS 68 select HAVE_SYSCALL_TRACEPOINTS 170 select HAVE_TIF_NOHZ !! 69 select HAVE_DEBUG_KMEMLEAK 171 select HAVE_VIRT_CPU_ACCOUNTING_GEN if !! 70 select RTC_DRV_CMOS 172 select IRQ_FORCED_THREADING !! 71 select RTC_DRV_BQ4802 173 select IRQ_LOONGARCH_CPU !! 72 select RTC_DRV_SUN4V 174 select LOCK_MM_AND_FIND_VMA !! 73 select RTC_DRV_STARFIRE 175 select MMU_GATHER_MERGE_VMAS if MMU !! 74 select HAVE_PERF_EVENTS 176 select MODULES_USE_ELF_RELA if MODULES << 177 select NEED_PER_CPU_EMBED_FIRST_CHUNK << 178 select NEED_PER_CPU_PAGE_FIRST_CHUNK << 179 select OF << 180 select OF_EARLY_FLATTREE << 181 select PCI << 182 select PCI_DOMAINS_GENERIC << 183 select PCI_ECAM if ACPI << 184 select PCI_LOONGSON << 185 select PCI_MSI_ARCH_FALLBACKS << 186 select PCI_QUIRKS << 187 select PERF_USE_VMALLOC 75 select PERF_USE_VMALLOC 188 select RTC_LIB !! 76 select IRQ_PREFLOW_FASTEOI 189 select SPARSE_IRQ !! 77 select ARCH_HAVE_NMI_SAFE_CMPXCHG 190 select SYSCTL_ARCH_UNALIGN_ALLOW !! 78 select HAVE_C_RECORDMCOUNT 191 select SYSCTL_ARCH_UNALIGN_NO_WARN !! 79 select NO_BOOTMEM 192 select SYSCTL_EXCEPTION_TRACE !! 80 select ARCH_SUPPORTS_ATOMIC_RMW 193 select SWIOTLB << 194 select TRACE_IRQFLAGS_SUPPORT << 195 select USE_PERCPU_NUMA_NODE_ID << 196 select USER_STACKTRACE_SUPPORT << 197 select VDSO_GETRANDOM << 198 select ZONE_DMA32 << 199 << 200 config 32BIT << 201 bool << 202 << 203 config 64BIT << 204 def_bool y << 205 << 206 config GENERIC_BUG << 207 def_bool y << 208 depends on BUG << 209 << 210 config GENERIC_BUG_RELATIVE_POINTERS << 211 def_bool y << 212 depends on GENERIC_BUG << 213 << 214 config GENERIC_CALIBRATE_DELAY << 215 def_bool y << 216 << 217 config GENERIC_CSUM << 218 def_bool y << 219 << 220 config GENERIC_HWEIGHT << 221 def_bool y << 222 81 223 config L1_CACHE_SHIFT !! 82 config ARCH_DEFCONFIG 224 int !! 83 string 225 default "6" !! 84 default "arch/sparc/configs/sparc32_defconfig" if SPARC32 >> 85 default "arch/sparc/configs/sparc64_defconfig" if SPARC64 226 86 227 config LOCKDEP_SUPPORT !! 87 config IOMMU_HELPER 228 bool 88 bool 229 default y !! 89 default y if SPARC64 230 90 231 config STACKTRACE_SUPPORT 91 config STACKTRACE_SUPPORT 232 bool 92 bool 233 default y !! 93 default y if SPARC64 234 << 235 # MACH_LOONGSON32 and MACH_LOONGSON64 are deli << 236 # MIPS Loongson code, to preserve Loongson-spe << 237 # are shared between architectures, and specif << 238 config MACH_LOONGSON32 << 239 def_bool 32BIT << 240 << 241 config MACH_LOONGSON64 << 242 def_bool 64BIT << 243 94 244 config FIX_EARLYCON_MEM !! 95 config LOCKDEP_SUPPORT 245 def_bool y << 246 << 247 config PGTABLE_2LEVEL << 248 bool << 249 << 250 config PGTABLE_3LEVEL << 251 bool 96 bool >> 97 default y if SPARC64 252 98 253 config PGTABLE_4LEVEL !! 99 config HAVE_LATENCYTOP_SUPPORT 254 bool 100 bool >> 101 default y if SPARC64 255 102 256 config PGTABLE_LEVELS !! 103 config ARCH_HIBERNATION_POSSIBLE 257 int !! 104 def_bool y if SPARC64 258 default 2 if PGTABLE_2LEVEL << 259 default 3 if PGTABLE_3LEVEL << 260 default 4 if PGTABLE_4LEVEL << 261 105 262 config SCHED_OMIT_FRAME_POINTER !! 106 config AUDIT_ARCH 263 bool 107 bool 264 default y 108 default y 265 109 266 config AS_HAS_EXPLICIT_RELOCS !! 110 config HAVE_SETUP_PER_CPU_AREA 267 def_bool $(as-instr,x:pcalau12i \$t0$( !! 111 def_bool y if SPARC64 268 112 269 config AS_HAS_FCSR_CLASS !! 113 config NEED_PER_CPU_EMBED_FIRST_CHUNK 270 def_bool $(as-instr,movfcsr2gr \$t0$(c !! 114 def_bool y if SPARC64 271 115 272 config AS_HAS_THIN_ADD_SUB !! 116 config NEED_PER_CPU_PAGE_FIRST_CHUNK 273 def_bool $(cc-option,-Wa$(comma)-mthin !! 117 def_bool y if SPARC64 274 118 275 config AS_HAS_LSX_EXTENSION !! 119 config MMU 276 def_bool $(as-instr,vld \$vr0$(comma)\ !! 120 bool >> 121 default y 277 122 278 config AS_HAS_LASX_EXTENSION !! 123 config HIGHMEM 279 def_bool $(as-instr,xvld \$xr0$(comma) !! 124 bool >> 125 default y if SPARC32 280 126 281 config AS_HAS_LBT_EXTENSION !! 127 config ZONE_DMA 282 def_bool $(as-instr,movscr2gr \$a0$(co !! 128 bool >> 129 default y if SPARC32 283 130 284 config AS_HAS_LVZ_EXTENSION !! 131 config NEED_DMA_MAP_STATE 285 def_bool $(as-instr,hvcl 0) !! 132 def_bool y 286 133 287 menu "Kernel type and options" !! 134 config NEED_SG_DMA_LENGTH >> 135 def_bool y 288 136 289 source "kernel/Kconfig.hz" !! 137 config GENERIC_ISA_DMA >> 138 bool >> 139 default y if SPARC32 290 140 291 choice !! 141 config ARCH_SUPPORTS_DEBUG_PAGEALLOC 292 prompt "Page Table Layout" !! 142 def_bool y if SPARC64 293 default 16KB_2LEVEL if 32BIT << 294 default 16KB_3LEVEL if 64BIT << 295 help << 296 Allows choosing the page table layou << 297 of page size and page table levels. << 298 address space are determined by the << 299 143 300 config 4KB_3LEVEL !! 144 source "init/Kconfig" 301 bool "4KB with 3 levels" << 302 select HAVE_PAGE_SIZE_4KB << 303 select PGTABLE_3LEVEL << 304 help << 305 This option selects 4KB page size wi << 306 support a maximum of 39 bits of appl << 307 145 308 config 4KB_4LEVEL !! 146 source "kernel/Kconfig.freezer" 309 bool "4KB with 4 levels" << 310 select HAVE_PAGE_SIZE_4KB << 311 select PGTABLE_4LEVEL << 312 help << 313 This option selects 4KB page size wi << 314 support a maximum of 48 bits of appl << 315 147 316 config 16KB_2LEVEL !! 148 menu "Processor type and features" 317 bool "16KB with 2 levels" << 318 select HAVE_PAGE_SIZE_16KB << 319 select PGTABLE_2LEVEL << 320 help << 321 This option selects 16KB page size w << 322 support a maximum of 36 bits of appl << 323 << 324 config 16KB_3LEVEL << 325 bool "16KB with 3 levels" << 326 select HAVE_PAGE_SIZE_16KB << 327 select PGTABLE_3LEVEL << 328 help << 329 This option selects 16KB page size w << 330 support a maximum of 47 bits of appl << 331 149 332 config 64KB_2LEVEL !! 150 config SMP 333 bool "64KB with 2 levels" !! 151 bool "Symmetric multi-processing support" 334 select HAVE_PAGE_SIZE_64KB !! 152 ---help--- 335 select PGTABLE_2LEVEL !! 153 This enables support for systems with more than one CPU. If you have 336 help !! 154 a system with only one CPU, say N. If you have a system with more 337 This option selects 64KB page size w !! 155 than one CPU, say Y. 338 support a maximum of 42 bits of appl << 339 156 340 config 64KB_3LEVEL !! 157 If you say N here, the kernel will run on single and multiprocessor 341 bool "64KB with 3 levels" !! 158 machines, but will use only one CPU of a multiprocessor machine. If 342 select HAVE_PAGE_SIZE_64KB !! 159 you say Y here, the kernel will run on many, but not all, 343 select PGTABLE_3LEVEL !! 160 singleprocessor machines. On a singleprocessor machine, the kernel 344 help !! 161 will run faster if you say N here. 345 This option selects 64KB page size w << 346 support a maximum of 55 bits of appl << 347 162 348 endchoice !! 163 People using multiprocessor machines who say Y here should also say >> 164 Y to "Enhanced Real Time Clock Support", below. The "Advanced Power >> 165 Management" code will be disabled if you say Y here. 349 166 350 config CMDLINE !! 167 See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO 351 string "Built-in kernel command line" !! 168 available at <http://www.tldp.org/docs.html#howto>. 352 help << 353 For most platforms, the arguments fo << 354 are provided at run-time, during boo << 355 where either no arguments are being << 356 arguments are insufficient or even i << 357 169 358 When that occurs, it is possible to !! 170 If you don't know what to do here, say N. 359 line here and choose how the kernel << 360 171 361 choice !! 172 config NR_CPUS 362 prompt "Kernel command line type" !! 173 int "Maximum number of CPUs" 363 default CMDLINE_BOOTLOADER !! 174 depends on SMP 364 help !! 175 range 2 32 if SPARC32 365 Choose how the kernel will handle th !! 176 range 2 1024 if SPARC64 366 line. !! 177 default 32 if SPARC32 >> 178 default 64 if SPARC64 367 179 368 config CMDLINE_BOOTLOADER !! 180 source kernel/Kconfig.hz 369 bool "Use bootloader kernel arguments << 370 help << 371 Prefer the command-line passed by th << 372 Use the built-in command line as fal << 373 during boot. This is the default beh << 374 181 375 config CMDLINE_EXTEND !! 182 config RWSEM_GENERIC_SPINLOCK 376 bool "Use built-in to extend bootloade !! 183 bool 377 help !! 184 default y if SPARC32 378 The command-line arguments provided << 379 appended to the built-in command lin << 380 cases where the provided arguments a << 381 you don't want to or cannot modify t << 382 185 383 config CMDLINE_FORCE !! 186 config RWSEM_XCHGADD_ALGORITHM 384 bool "Always use the built-in kernel c !! 187 bool 385 help !! 188 default y if SPARC64 386 Always use the built-in command line << 387 boot. This is useful in case you nee << 388 command line on systems where you do << 389 over it. << 390 189 391 endchoice !! 190 config GENERIC_HWEIGHT >> 191 bool >> 192 default y 392 193 393 config BUILTIN_DTB !! 194 config GENERIC_CALIBRATE_DELAY 394 bool "Enable built-in dtb in kernel" !! 195 bool 395 depends on OF !! 196 default y 396 help << 397 Some existing systems do not provide << 398 the kernel at boot time. Let's provi << 399 kernel, keyed by the dts filename, c << 400 197 401 Built-in DTBs are generic enough and !! 198 config ARCH_MAY_HAVE_PC_FDC >> 199 bool >> 200 default y 402 201 403 config BUILTIN_DTB_NAME !! 202 config EMULATED_CMPXCHG 404 string "Source file for built-in dtb" !! 203 bool 405 depends on BUILTIN_DTB !! 204 default y if SPARC32 406 help 205 help 407 Base name (without suffix, relative !! 206 Sparc32 does not have a CAS instruction like sparc64. cmpxchg() 408 for the DTS file that will be used t !! 207 is emulated, and therefore it is not completely atomic. 409 the kernel. << 410 208 411 config DMI !! 209 # Makefile helpers 412 bool "Enable DMI scanning" !! 210 config SPARC32_SMP 413 select DMI_SCAN_MACHINE_NON_EFI_FALLBA !! 211 bool 414 default y 212 default y 415 help !! 213 depends on SPARC32 && SMP 416 This enables SMBIOS/DMI feature for << 417 DMI to identify machine quirks. << 418 << 419 config EFI << 420 bool "EFI runtime service support" << 421 select UCS2_STRING << 422 select EFI_RUNTIME_WRAPPERS << 423 help << 424 This enables the kernel to use EFI r << 425 available (such as the EFI variable << 426 214 427 config EFI_STUB !! 215 config SPARC64_SMP 428 bool "EFI boot stub support" !! 216 bool 429 default y 217 default y 430 depends on EFI !! 218 depends on SPARC64 && SMP 431 select EFI_GENERIC_STUB << 432 help << 433 This kernel feature allows the kerne << 434 EFI firmware without the use of a bo << 435 219 436 config SCHED_SMT !! 220 config EARLYFB 437 bool "SMT scheduler support" !! 221 bool "Support for early boot text console" 438 depends on SMP << 439 default y 222 default y >> 223 depends on SPARC64 440 help 224 help 441 Improves scheduler's performance whe !! 225 Say Y here to enable a faster early framebuffer boot console. 442 threads in one physical core. << 443 226 444 config SMP !! 227 config SECCOMP 445 bool "Multi-Processing support" !! 228 bool "Enable seccomp to safely compute untrusted bytecode" >> 229 depends on SPARC64 && PROC_FS >> 230 default y 446 help 231 help 447 This enables support for systems wit !! 232 This kernel feature is useful for number crunching applications 448 a system with only one CPU, say N. I !! 233 that may need to compute untrusted bytecode during their 449 than one CPU, say Y. !! 234 execution. By using pipes or other transports made available to >> 235 the process as file descriptors supporting the read/write >> 236 syscalls, it's possible to isolate those applications in >> 237 their own address space using seccomp. Once seccomp is >> 238 enabled via /proc/<pid>/seccomp, it cannot be disabled >> 239 and the task is only allowed to execute a few safe syscalls >> 240 defined by each seccomp mode. 450 241 451 If you say N here, the kernel will r !! 242 If unsure, say Y. Only embedded should say N here. 452 machines, but will use only one CPU << 453 you say Y here, the kernel will run << 454 uniprocessor machines. On a uniproce << 455 will run faster if you say N here. << 456 << 457 See also the SMP-HOWTO available at << 458 << 459 If you don't know what to do here, s << 460 243 461 config HOTPLUG_CPU 244 config HOTPLUG_CPU 462 bool "Support for hot-pluggable CPUs" 245 bool "Support for hot-pluggable CPUs" 463 depends on SMP !! 246 depends on SPARC64 && SMP 464 select GENERIC_IRQ_MIGRATION !! 247 select HOTPLUG 465 help 248 help 466 Say Y here to allow turning CPUs off !! 249 Say Y here to experiment with turning CPUs off and on. CPUs 467 controlled through /sys/devices/syst !! 250 can be controlled through /sys/devices/system/cpu/cpu#. 468 (Note: power management support will << 469 automatically on SMP systems. ) << 470 Say N if you want to disable CPU hot 251 Say N if you want to disable CPU hotplug. 471 252 472 config NR_CPUS !! 253 if SPARC64 473 int "Maximum number of CPUs (2-256)" !! 254 source "drivers/cpufreq/Kconfig" 474 range 2 256 !! 255 endif 475 depends on SMP !! 256 476 default "64" !! 257 config US3_MC >> 258 tristate "UltraSPARC-III Memory Controller driver" >> 259 depends on SPARC64 >> 260 default y 477 help 261 help 478 This allows you to specify the maxim !! 262 This adds a driver for the UltraSPARC-III memory controller. 479 kernel will support. !! 263 Loading this driver allows exact mnemonic strings to be >> 264 printed in the event of a memory error, so that the faulty DIMM >> 265 on the motherboard can be matched to the error. >> 266 >> 267 If in doubt, say Y, as this information can be very useful. >> 268 >> 269 # Global things across all Sun machines. >> 270 config GENERIC_LOCKBREAK >> 271 bool >> 272 default y >> 273 depends on SPARC64 && SMP && PREEMPT 480 274 481 config NUMA 275 config NUMA 482 bool "NUMA Support" !! 276 bool "NUMA support" 483 select SMP !! 277 depends on SPARC64 && SMP 484 help << 485 Say Y to compile the kernel with NUM << 486 support. This option improves perfo << 487 than one NUMA node; on single node s << 488 to leave it disabled. << 489 278 490 config NODES_SHIFT 279 config NODES_SHIFT 491 int 280 int 492 default "6" !! 281 default "4" 493 depends on NUMA !! 282 depends on NEED_MULTIPLE_NODES 494 283 495 config ARCH_FORCE_MAX_ORDER !! 284 # Some NUMA nodes have memory ranges that span 496 int "Maximum zone order" !! 285 # other nodes. Even though a pfn is valid and 497 default "13" if PAGE_SIZE_64KB !! 286 # between a node's start and end pfns, it may not 498 default "11" if PAGE_SIZE_16KB !! 287 # reside on that node. See memmap_init_zone() 499 default "10" !! 288 # for details. 500 help !! 289 config NODES_SPAN_OTHER_NODES 501 The kernel memory allocator divides !! 290 def_bool y 502 blocks into "zones", where each zone !! 291 depends on NEED_MULTIPLE_NODES 503 pages. This option selects the larg << 504 keeps in the memory allocator. If y << 505 blocks of physically contiguous memo << 506 increase this value. << 507 292 508 The page size is not necessarily 4KB !! 293 config ARCH_SELECT_MEMORY_MODEL 509 when choosing a value for this optio !! 294 def_bool y if SPARC64 510 295 511 config ARCH_IOREMAP !! 296 config ARCH_SPARSEMEM_ENABLE 512 bool "Enable LoongArch DMW-based iorem !! 297 def_bool y if SPARC64 513 help !! 298 select SPARSEMEM_VMEMMAP_ENABLE 514 We use generic TLB-based ioremap() b << 515 protection support. However, you can << 516 ioremap() for better performance. << 517 299 518 config ARCH_WRITECOMBINE !! 300 config ARCH_SPARSEMEM_DEFAULT 519 bool "Enable WriteCombine (WUC) for io !! 301 def_bool y if SPARC64 520 help << 521 LoongArch maintains cache coherency << 522 with LS7A chipsets the WUC attribute << 523 is similar to WriteCombine) is out o << 524 machanism for PCIe devices (this is << 525 may be fixed in newer chipsets). << 526 302 527 This means WUC can only used for wri !! 303 source "mm/Kconfig" 528 this option is disabled by default, << 529 SUC for ioremap(). You can enable th << 530 to run on hardware without this bug. << 531 304 532 You can override this setting via wr !! 305 if SPARC64 >> 306 source "kernel/power/Kconfig" >> 307 endif >> 308 >> 309 config SCHED_SMT >> 310 bool "SMT (Hyperthreading) scheduler support" >> 311 depends on SPARC64 && SMP >> 312 default y >> 313 help >> 314 SMT scheduler support improves the CPU scheduler's decision making >> 315 when dealing with SPARC cpus at a cost of slightly increased overhead >> 316 in some places. If unsure say N here. 533 317 534 config ARCH_STRICT_ALIGN !! 318 config SCHED_MC 535 bool "Enable -mstrict-align to prevent !! 319 bool "Multi-core scheduler support" >> 320 depends on SPARC64 && SMP 536 default y 321 default y 537 help 322 help 538 Not all LoongArch cores support h/w !! 323 Multi-core scheduler support improves the CPU scheduler's decision 539 -mstrict-align build parameter to pr !! 324 making when dealing with multi-core CPU chips at a cost of slightly >> 325 increased overhead in some places. If unsure say N here. 540 326 541 CPUs with h/w unaligned access suppo !! 327 source "kernel/Kconfig.preempt" 542 Loongson-2K2000/2K3000/3A5000/3C5000 << 543 328 544 CPUs without h/w unaligned access su !! 329 config CMDLINE_BOOL 545 Loongson-2K500/2K1000. !! 330 bool "Default bootloader kernel arguments" >> 331 depends on SPARC64 >> 332 >> 333 config CMDLINE >> 334 string "Initial kernel command string" >> 335 depends on CMDLINE_BOOL >> 336 default "console=ttyS0,9600 root=/dev/sda1" >> 337 help >> 338 Say Y here if you want to be able to pass default arguments to >> 339 the kernel. This will be overridden by the bootloader, if you >> 340 use one (such as SILO). This is most useful if you want to boot >> 341 a kernel from TFTP, and want default options to be available >> 342 with having them passed on the command line. >> 343 >> 344 NOTE: This option WILL override the PROM bootargs setting! >> 345 >> 346 config SUN_PM >> 347 bool >> 348 default y if SPARC32 >> 349 help >> 350 Enable power management and CPU standby features on supported >> 351 SPARC platforms. >> 352 >> 353 config SPARC_LED >> 354 tristate "Sun4m LED driver" >> 355 depends on SPARC32 >> 356 help >> 357 This driver toggles the front-panel LED on sun4m systems >> 358 in a user-specifiable manner. Its state can be probed >> 359 by reading /proc/led and its blinking mode can be changed >> 360 via writes to /proc/led >> 361 >> 362 config SERIAL_CONSOLE >> 363 bool >> 364 depends on SPARC32 >> 365 default y >> 366 ---help--- >> 367 If you say Y here, it will be possible to use a serial port as the >> 368 system console (the system console is the device which receives all >> 369 kernel messages and warnings and which allows logins in single user >> 370 mode). This could be useful if some terminal or printer is connected >> 371 to that serial port. >> 372 >> 373 Even if you say Y here, the currently visible virtual console >> 374 (/dev/tty0) will still be used as the system console by default, but >> 375 you can alter that using a kernel command line option such as >> 376 "console=ttyS1". (Try "man bootparam" or see the documentation of >> 377 your boot loader (silo) about how to pass options to the kernel at >> 378 boot time.) >> 379 >> 380 If you don't have a graphics card installed and you say Y here, the >> 381 kernel will automatically use the first serial line, /dev/ttyS0, as >> 382 system console. >> 383 >> 384 If unsure, say N. >> 385 >> 386 config SPARC_LEON >> 387 bool "Sparc Leon processor family" >> 388 depends on SPARC32 >> 389 select USB_EHCI_BIG_ENDIAN_MMIO >> 390 select USB_EHCI_BIG_ENDIAN_DESC >> 391 ---help--- >> 392 If you say Y here if you are running on a SPARC-LEON processor. >> 393 The LEON processor is a synthesizable VHDL model of the >> 394 SPARC-v8 standard. LEON is part of the GRLIB collection of >> 395 IP cores that are distributed under GPL. GRLIB can be downloaded >> 396 from www.gaisler.com. You can download a sparc-linux cross-compilation >> 397 toolchain at www.gaisler.com. >> 398 >> 399 if SPARC_LEON >> 400 menu "U-Boot options" >> 401 >> 402 config UBOOT_LOAD_ADDR >> 403 hex "uImage Load Address" >> 404 default 0x40004000 >> 405 ---help--- >> 406 U-Boot kernel load address, the address in physical address space >> 407 where u-boot will place the Linux kernel before booting it. >> 408 This address is normally the base address of main memory + 0x4000. >> 409 >> 410 config UBOOT_FLASH_ADDR >> 411 hex "uImage.o Load Address" >> 412 default 0x00080000 >> 413 ---help--- >> 414 Optional setting only affecting the uImage.o ELF-image used to >> 415 download the uImage file to the target using a ELF-loader other than >> 416 U-Boot. It may for example be used to download an uImage to FLASH with >> 417 the GRMON utility before even starting u-boot. >> 418 >> 419 config UBOOT_ENTRY_ADDR >> 420 hex "uImage Entry Address" >> 421 default 0xf0004000 >> 422 ---help--- >> 423 Do not change this unless you know what you're doing. This is >> 424 hardcoded by the SPARC32 and LEON port. 546 425 547 This option is enabled by default to !! 426 This is the virtual address u-boot jumps to when booting the Linux 548 on all LoongArch systems. But you ca !! 427 Kernel. 549 to run kernel only on systems with h << 550 order to optimise for performance. << 551 428 552 config CPU_HAS_FPU !! 429 endmenu >> 430 endif >> 431 >> 432 endmenu >> 433 >> 434 menu "Bus options (PCI etc.)" >> 435 config SBUS 553 bool 436 bool 554 default y 437 default y 555 438 556 config CPU_HAS_LSX !! 439 config SBUSCHAR 557 bool "Support for the Loongson SIMD Ex !! 440 bool 558 depends on AS_HAS_LSX_EXTENSION !! 441 default y 559 help << 560 Loongson SIMD Extension (LSX) introd << 561 and a set of SIMD instructions to op << 562 is enabled the kernel will support a << 563 vector register contexts. If you kno << 564 running on CPUs which do not support << 565 not be making use of it then you may << 566 the size & complexity of your kernel << 567 442 568 If unsure, say Y. !! 443 config SUN_LDOMS >> 444 bool "Sun Logical Domains support" >> 445 depends on SPARC64 >> 446 help >> 447 Say Y here is you want to support virtual devices via >> 448 Logical Domains. 569 449 570 config CPU_HAS_LASX !! 450 config PCI 571 bool "Support for the Loongson Advance !! 451 bool "Support for PCI and PS/2 keyboard/mouse" 572 depends on CPU_HAS_LSX << 573 depends on AS_HAS_LASX_EXTENSION << 574 help 452 help 575 Loongson Advanced SIMD Extension (LA !! 453 Find out whether your system includes a PCI bus. PCI is the name of 576 registers and a set of SIMD instruct !! 454 a bus system, i.e. the way the CPU talks to the other stuff inside 577 option is enabled the kernel will su !! 455 your box. If you say Y here, the kernel will include drivers and 578 vector register contexts. If you kno !! 456 infrastructure code to support PCI bus devices. 579 running on CPUs which do not support << 580 not be making use of it then you may << 581 the size & complexity of your kernel << 582 457 583 If unsure, say Y. !! 458 CONFIG_PCI is needed for all JavaStation's (including MrCoffee), >> 459 CP-1200, JavaEngine-1, Corona, Red October, and Serengeti SGSC. >> 460 All of these platforms are extremely obscure, so say N if unsure. 584 461 585 config CPU_HAS_LBT !! 462 config PCI_DOMAINS 586 bool "Support for the Loongson Binary !! 463 def_bool PCI if SPARC64 587 depends on AS_HAS_LBT_EXTENSION << 588 help << 589 Loongson Binary Translation (LBT) in << 590 to SCR3), x86/ARM eflags (eflags) an << 591 Enabling this option allows the kern << 592 specific to LBT. << 593 464 594 If you want to use this feature, suc !! 465 config PCI_SYSCALL 595 Translator (LAT), say Y. !! 466 def_bool PCI 596 467 597 config CPU_HAS_PREFETCH !! 468 config PCIC_PCI 598 bool 469 bool >> 470 depends on PCI && SPARC32 && !SPARC_LEON 599 default y 471 default y 600 472 601 config ARCH_SUPPORTS_KEXEC !! 473 config LEON_PCI 602 def_bool y !! 474 bool 603 !! 475 depends on PCI && SPARC_LEON 604 config ARCH_SUPPORTS_CRASH_DUMP !! 476 default y 605 def_bool y << 606 << 607 config ARCH_SELECTS_CRASH_DUMP << 608 def_bool y << 609 depends on CRASH_DUMP << 610 select RELOCATABLE << 611 << 612 config ARCH_HAS_GENERIC_CRASHKERNEL_RESERVATIO << 613 def_bool CRASH_RESERVE << 614 477 615 config RELOCATABLE !! 478 config SPARC_GRPCI1 616 bool "Relocatable kernel" !! 479 bool "GRPCI Host Bridge Support" 617 select ARCH_HAS_RELR !! 480 depends on LEON_PCI >> 481 default y 618 help 482 help 619 This builds the kernel as a Position !! 483 Say Y here to include the GRPCI Host Bridge Driver. The GRPCI 620 which retains all relocation metadat !! 484 PCI host controller is typically found in GRLIB SPARC32/LEON 621 the kernel binary at runtime to a di !! 485 systems. The driver has one property (all_pci_errors) controlled 622 its link address. !! 486 from the bootloader that makes the GRPCI to generate interrupts >> 487 on detected PCI Parity and System errors. 623 488 624 config RANDOMIZE_BASE !! 489 config SPARC_GRPCI2 625 bool "Randomize the address of the ker !! 490 bool "GRPCI2 Host Bridge Support" 626 depends on RELOCATABLE !! 491 depends on LEON_PCI >> 492 default y 627 help 493 help 628 Randomizes the physical and virtual !! 494 Say Y here to include the GRPCI2 Host Bridge Driver. 629 kernel image is loaded, as a securi << 630 deters exploit attempts relying on << 631 of kernel internals. << 632 495 633 The kernel will be offset by up to !! 496 source "drivers/pci/Kconfig" 634 497 635 If unsure, say N. !! 498 source "drivers/pcmcia/Kconfig" 636 499 637 config RANDOMIZE_BASE_MAX_OFFSET !! 500 config SUN_OPENPROMFS 638 hex "Maximum KASLR offset" if EXPERT !! 501 tristate "Openprom tree appears in /proc/openprom" 639 depends on RANDOMIZE_BASE << 640 range 0x0 0x10000000 << 641 default "0x01000000" << 642 help 502 help 643 When KASLR is active, this provides !! 503 If you say Y, the OpenPROM device tree will be available as a 644 be applied to the kernel image. It s !! 504 virtual file system, which you can mount to /proc/openprom by "mount 645 amount of physical RAM available in !! 505 -t openpromfs none /proc/openprom". 646 << 647 This is limited by the size of the l << 648 506 649 source "kernel/livepatch/Kconfig" !! 507 To compile the /proc/openprom support as a module, choose M here: the >> 508 module will be called openpromfs. 650 509 651 config PARAVIRT !! 510 Only choose N if you know in advance that you will not need to modify 652 bool "Enable paravirtualization code" !! 511 OpenPROM settings on the running system. 653 depends on AS_HAS_LVZ_EXTENSION << 654 help << 655 This changes the kernel so it can mo << 656 under a hypervisor, potentially impr << 657 over full virtualization. However, << 658 the kernel is theoretically slower a << 659 512 660 config PARAVIRT_TIME_ACCOUNTING !! 513 # Makefile helper 661 bool "Paravirtual steal time accountin !! 514 config SPARC64_PCI 662 depends on PARAVIRT !! 515 bool 663 help !! 516 default y 664 Select this option to enable fine gr !! 517 depends on SPARC64 && PCI 665 accounting. Time spent executing oth << 666 the current vCPU is discounted from << 667 that, there can be a small performan << 668 << 669 If in doubt, say N here. << 670 518 671 endmenu 519 endmenu 672 520 673 config ARCH_SELECT_MEMORY_MODEL !! 521 menu "Executable file formats" 674 def_bool y << 675 << 676 config ARCH_FLATMEM_ENABLE << 677 def_bool y << 678 depends on !NUMA << 679 522 680 config ARCH_SPARSEMEM_ENABLE !! 523 source "fs/Kconfig.binfmt" 681 def_bool y << 682 select SPARSEMEM_VMEMMAP_ENABLE << 683 help << 684 Say Y to support efficient handling << 685 for architectures which are either N << 686 or have huge holes in the physical a << 687 See <file:Documentation/mm/numa.rst> << 688 524 689 config ARCH_MEMORY_PROBE !! 525 config COMPAT 690 def_bool y !! 526 bool 691 depends on MEMORY_HOTPLUG !! 527 depends on SPARC64 >> 528 default y >> 529 select COMPAT_BINFMT_ELF >> 530 select HAVE_UID16 >> 531 select ARCH_WANT_OLD_COMPAT_IPC >> 532 select COMPAT_OLD_SIGACTION 692 533 693 config MMU !! 534 config SYSVIPC_COMPAT 694 bool 535 bool >> 536 depends on COMPAT && SYSVIPC 695 default y 537 default y 696 538 697 config ARCH_MMAP_RND_BITS_MIN !! 539 config KEYS_COMPAT 698 default 12 !! 540 def_bool y if COMPAT && KEYS 699 541 700 config ARCH_MMAP_RND_BITS_MAX !! 542 endmenu 701 default 18 << 702 543 703 config ARCH_SUPPORTS_UPROBES !! 544 source "net/Kconfig" 704 def_bool y << 705 545 706 config KASAN_SHADOW_OFFSET !! 546 source "drivers/Kconfig" 707 hex << 708 default 0x0 << 709 depends on KASAN << 710 547 711 menu "Power management options" !! 548 source "drivers/sbus/char/Kconfig" 712 549 713 config ARCH_SUSPEND_POSSIBLE !! 550 source "fs/Kconfig" 714 def_bool y << 715 551 716 config ARCH_HIBERNATION_POSSIBLE !! 552 source "arch/sparc/Kconfig.debug" 717 def_bool y << 718 553 719 source "kernel/power/Kconfig" !! 554 source "security/Kconfig" 720 source "drivers/acpi/Kconfig" << 721 source "drivers/cpufreq/Kconfig" << 722 555 723 endmenu !! 556 source "crypto/Kconfig" 724 557 725 source "arch/loongarch/kvm/Kconfig" !! 558 source "lib/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.