1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0-only 2*4882a593Smuzhiyun# 3*4882a593Smuzhiyun# For a description of the syntax of this configuration file, 4*4882a593Smuzhiyun# see Documentation/kbuild/kconfig-language.rst. 5*4882a593Smuzhiyun# 6*4882a593Smuzhiyun 7*4882a593Smuzhiyunconfig 64BIT 8*4882a593Smuzhiyun bool 9*4882a593Smuzhiyun 10*4882a593Smuzhiyunconfig 32BIT 11*4882a593Smuzhiyun bool 12*4882a593Smuzhiyun 13*4882a593Smuzhiyunconfig RISCV 14*4882a593Smuzhiyun def_bool y 15*4882a593Smuzhiyun select ARCH_CLOCKSOURCE_INIT 16*4882a593Smuzhiyun select ARCH_SUPPORTS_ATOMIC_RMW 17*4882a593Smuzhiyun select ARCH_HAS_BINFMT_FLAT 18*4882a593Smuzhiyun select ARCH_HAS_DEBUG_VM_PGTABLE 19*4882a593Smuzhiyun select ARCH_HAS_DEBUG_VIRTUAL if MMU 20*4882a593Smuzhiyun select ARCH_HAS_DEBUG_WX 21*4882a593Smuzhiyun select ARCH_HAS_GCOV_PROFILE_ALL 22*4882a593Smuzhiyun select ARCH_HAS_GIGANTIC_PAGE 23*4882a593Smuzhiyun select ARCH_HAS_KCOV 24*4882a593Smuzhiyun select ARCH_HAS_MMIOWB 25*4882a593Smuzhiyun select ARCH_HAS_PTE_SPECIAL 26*4882a593Smuzhiyun select ARCH_HAS_SET_DIRECT_MAP 27*4882a593Smuzhiyun select ARCH_HAS_SET_MEMORY 28*4882a593Smuzhiyun select ARCH_HAS_STRICT_KERNEL_RWX if MMU 29*4882a593Smuzhiyun select ARCH_OPTIONAL_KERNEL_RWX if ARCH_HAS_STRICT_KERNEL_RWX 30*4882a593Smuzhiyun select ARCH_OPTIONAL_KERNEL_RWX_DEFAULT 31*4882a593Smuzhiyun select ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT if MMU 32*4882a593Smuzhiyun select ARCH_WANT_FRAME_POINTERS 33*4882a593Smuzhiyun select ARCH_WANT_HUGE_PMD_SHARE if 64BIT 34*4882a593Smuzhiyun select CLONE_BACKWARDS 35*4882a593Smuzhiyun select CLINT_TIMER if !MMU 36*4882a593Smuzhiyun select COMMON_CLK 37*4882a593Smuzhiyun select EDAC_SUPPORT 38*4882a593Smuzhiyun select GENERIC_ARCH_TOPOLOGY 39*4882a593Smuzhiyun select GENERIC_ATOMIC64 if !64BIT 40*4882a593Smuzhiyun select GENERIC_CLOCKEVENTS 41*4882a593Smuzhiyun select GENERIC_EARLY_IOREMAP 42*4882a593Smuzhiyun select GENERIC_GETTIMEOFDAY if HAVE_GENERIC_VDSO 43*4882a593Smuzhiyun select GENERIC_IOREMAP 44*4882a593Smuzhiyun select GENERIC_IRQ_MULTI_HANDLER 45*4882a593Smuzhiyun select GENERIC_IRQ_SHOW 46*4882a593Smuzhiyun select GENERIC_PCI_IOMAP 47*4882a593Smuzhiyun select GENERIC_PTDUMP if MMU 48*4882a593Smuzhiyun select GENERIC_SCHED_CLOCK 49*4882a593Smuzhiyun select GENERIC_SMP_IDLE_THREAD 50*4882a593Smuzhiyun select GENERIC_STRNCPY_FROM_USER if MMU 51*4882a593Smuzhiyun select GENERIC_STRNLEN_USER if MMU 52*4882a593Smuzhiyun select GENERIC_TIME_VSYSCALL if MMU && 64BIT 53*4882a593Smuzhiyun select HANDLE_DOMAIN_IRQ 54*4882a593Smuzhiyun select HAVE_ARCH_AUDITSYSCALL 55*4882a593Smuzhiyun select HAVE_ARCH_JUMP_LABEL 56*4882a593Smuzhiyun select HAVE_ARCH_JUMP_LABEL_RELATIVE 57*4882a593Smuzhiyun select HAVE_ARCH_KASAN if MMU && 64BIT 58*4882a593Smuzhiyun select HAVE_ARCH_KGDB 59*4882a593Smuzhiyun select HAVE_ARCH_KGDB_QXFER_PKT 60*4882a593Smuzhiyun select HAVE_ARCH_MMAP_RND_BITS if MMU 61*4882a593Smuzhiyun select HAVE_ARCH_SECCOMP_FILTER 62*4882a593Smuzhiyun select HAVE_ARCH_TRACEHOOK 63*4882a593Smuzhiyun select HAVE_ASM_MODVERSIONS 64*4882a593Smuzhiyun select HAVE_CONTEXT_TRACKING 65*4882a593Smuzhiyun select HAVE_DEBUG_KMEMLEAK 66*4882a593Smuzhiyun select HAVE_DMA_CONTIGUOUS if MMU 67*4882a593Smuzhiyun select HAVE_EBPF_JIT if MMU 68*4882a593Smuzhiyun select HAVE_FUTEX_CMPXCHG if FUTEX 69*4882a593Smuzhiyun select HAVE_GCC_PLUGINS 70*4882a593Smuzhiyun select HAVE_GENERIC_VDSO if MMU && 64BIT 71*4882a593Smuzhiyun select HAVE_PCI 72*4882a593Smuzhiyun select HAVE_PERF_EVENTS 73*4882a593Smuzhiyun select HAVE_PERF_REGS 74*4882a593Smuzhiyun select HAVE_PERF_USER_STACK_DUMP 75*4882a593Smuzhiyun select HAVE_STACKPROTECTOR 76*4882a593Smuzhiyun select HAVE_SYSCALL_TRACEPOINTS 77*4882a593Smuzhiyun select IRQ_DOMAIN 78*4882a593Smuzhiyun select MODULES_USE_ELF_RELA if MODULES 79*4882a593Smuzhiyun select MODULE_SECTIONS if MODULES 80*4882a593Smuzhiyun select OF 81*4882a593Smuzhiyun select OF_EARLY_FLATTREE 82*4882a593Smuzhiyun select OF_IRQ 83*4882a593Smuzhiyun select PCI_DOMAINS_GENERIC if PCI 84*4882a593Smuzhiyun select PCI_MSI if PCI 85*4882a593Smuzhiyun select RISCV_INTC 86*4882a593Smuzhiyun select RISCV_TIMER if RISCV_SBI 87*4882a593Smuzhiyun select SPARSE_IRQ 88*4882a593Smuzhiyun select SYSCTL_EXCEPTION_TRACE 89*4882a593Smuzhiyun select THREAD_INFO_IN_TASK 90*4882a593Smuzhiyun select UACCESS_MEMCPY if !MMU 91*4882a593Smuzhiyun 92*4882a593Smuzhiyunconfig ARCH_MMAP_RND_BITS_MIN 93*4882a593Smuzhiyun default 18 if 64BIT 94*4882a593Smuzhiyun default 8 95*4882a593Smuzhiyun 96*4882a593Smuzhiyun# max bits determined by the following formula: 97*4882a593Smuzhiyun# VA_BITS - PAGE_SHIFT - 3 98*4882a593Smuzhiyunconfig ARCH_MMAP_RND_BITS_MAX 99*4882a593Smuzhiyun default 24 if 64BIT # SV39 based 100*4882a593Smuzhiyun default 17 101*4882a593Smuzhiyun 102*4882a593Smuzhiyun# set if we run in machine mode, cleared if we run in supervisor mode 103*4882a593Smuzhiyunconfig RISCV_M_MODE 104*4882a593Smuzhiyun bool 105*4882a593Smuzhiyun default !MMU 106*4882a593Smuzhiyun 107*4882a593Smuzhiyun# set if we are running in S-mode and can use SBI calls 108*4882a593Smuzhiyunconfig RISCV_SBI 109*4882a593Smuzhiyun bool 110*4882a593Smuzhiyun depends on !RISCV_M_MODE 111*4882a593Smuzhiyun default y 112*4882a593Smuzhiyun 113*4882a593Smuzhiyunconfig MMU 114*4882a593Smuzhiyun bool "MMU-based Paged Memory Management Support" 115*4882a593Smuzhiyun default y 116*4882a593Smuzhiyun help 117*4882a593Smuzhiyun Select if you want MMU-based virtualised addressing space 118*4882a593Smuzhiyun support by paged memory management. If unsure, say 'Y'. 119*4882a593Smuzhiyun 120*4882a593Smuzhiyunconfig ZONE_DMA32 121*4882a593Smuzhiyun bool 122*4882a593Smuzhiyun default y if 64BIT 123*4882a593Smuzhiyun 124*4882a593Smuzhiyunconfig VA_BITS 125*4882a593Smuzhiyun int 126*4882a593Smuzhiyun default 32 if 32BIT 127*4882a593Smuzhiyun default 39 if 64BIT 128*4882a593Smuzhiyun 129*4882a593Smuzhiyunconfig PA_BITS 130*4882a593Smuzhiyun int 131*4882a593Smuzhiyun default 34 if 32BIT 132*4882a593Smuzhiyun default 56 if 64BIT 133*4882a593Smuzhiyun 134*4882a593Smuzhiyunconfig PAGE_OFFSET 135*4882a593Smuzhiyun hex 136*4882a593Smuzhiyun default 0xC0000000 if 32BIT && MAXPHYSMEM_1GB 137*4882a593Smuzhiyun default 0x80000000 if 64BIT && !MMU 138*4882a593Smuzhiyun default 0xffffffff80000000 if 64BIT && MAXPHYSMEM_2GB 139*4882a593Smuzhiyun default 0xffffffe000000000 if 64BIT && MAXPHYSMEM_128GB 140*4882a593Smuzhiyun 141*4882a593Smuzhiyunconfig KASAN_SHADOW_OFFSET 142*4882a593Smuzhiyun hex 143*4882a593Smuzhiyun depends on KASAN_GENERIC 144*4882a593Smuzhiyun default 0xdfffffc800000000 if 64BIT 145*4882a593Smuzhiyun default 0xffffffff if 32BIT 146*4882a593Smuzhiyun 147*4882a593Smuzhiyunconfig ARCH_FLATMEM_ENABLE 148*4882a593Smuzhiyun def_bool y 149*4882a593Smuzhiyun 150*4882a593Smuzhiyunconfig ARCH_SPARSEMEM_ENABLE 151*4882a593Smuzhiyun def_bool y 152*4882a593Smuzhiyun depends on MMU 153*4882a593Smuzhiyun select SPARSEMEM_STATIC if 32BIT && SPARSEMEM 154*4882a593Smuzhiyun select SPARSEMEM_VMEMMAP_ENABLE if 64BIT 155*4882a593Smuzhiyun 156*4882a593Smuzhiyunconfig ARCH_SELECT_MEMORY_MODEL 157*4882a593Smuzhiyun def_bool ARCH_SPARSEMEM_ENABLE 158*4882a593Smuzhiyun 159*4882a593Smuzhiyunconfig ARCH_WANT_GENERAL_HUGETLB 160*4882a593Smuzhiyun def_bool y 161*4882a593Smuzhiyun 162*4882a593Smuzhiyunconfig ARCH_SUPPORTS_DEBUG_PAGEALLOC 163*4882a593Smuzhiyun def_bool y 164*4882a593Smuzhiyun 165*4882a593Smuzhiyunconfig SYS_SUPPORTS_HUGETLBFS 166*4882a593Smuzhiyun depends on MMU 167*4882a593Smuzhiyun def_bool y 168*4882a593Smuzhiyun 169*4882a593Smuzhiyunconfig STACKTRACE_SUPPORT 170*4882a593Smuzhiyun def_bool y 171*4882a593Smuzhiyun 172*4882a593Smuzhiyunconfig TRACE_IRQFLAGS_SUPPORT 173*4882a593Smuzhiyun def_bool y 174*4882a593Smuzhiyun 175*4882a593Smuzhiyunconfig GENERIC_BUG 176*4882a593Smuzhiyun def_bool y 177*4882a593Smuzhiyun depends on BUG 178*4882a593Smuzhiyun select GENERIC_BUG_RELATIVE_POINTERS if 64BIT 179*4882a593Smuzhiyun 180*4882a593Smuzhiyunconfig GENERIC_BUG_RELATIVE_POINTERS 181*4882a593Smuzhiyun bool 182*4882a593Smuzhiyun 183*4882a593Smuzhiyunconfig GENERIC_CALIBRATE_DELAY 184*4882a593Smuzhiyun def_bool y 185*4882a593Smuzhiyun 186*4882a593Smuzhiyunconfig GENERIC_CSUM 187*4882a593Smuzhiyun def_bool y 188*4882a593Smuzhiyun 189*4882a593Smuzhiyunconfig GENERIC_HWEIGHT 190*4882a593Smuzhiyun def_bool y 191*4882a593Smuzhiyun 192*4882a593Smuzhiyunconfig FIX_EARLYCON_MEM 193*4882a593Smuzhiyun def_bool MMU 194*4882a593Smuzhiyun 195*4882a593Smuzhiyunconfig PGTABLE_LEVELS 196*4882a593Smuzhiyun int 197*4882a593Smuzhiyun default 3 if 64BIT 198*4882a593Smuzhiyun default 2 199*4882a593Smuzhiyun 200*4882a593Smuzhiyunconfig LOCKDEP_SUPPORT 201*4882a593Smuzhiyun def_bool y 202*4882a593Smuzhiyun 203*4882a593Smuzhiyunsource "arch/riscv/Kconfig.socs" 204*4882a593Smuzhiyun 205*4882a593Smuzhiyunmenu "Platform type" 206*4882a593Smuzhiyun 207*4882a593Smuzhiyunchoice 208*4882a593Smuzhiyun prompt "Base ISA" 209*4882a593Smuzhiyun default ARCH_RV64I 210*4882a593Smuzhiyun help 211*4882a593Smuzhiyun This selects the base ISA that this kernel will target and must match 212*4882a593Smuzhiyun the target platform. 213*4882a593Smuzhiyun 214*4882a593Smuzhiyunconfig ARCH_RV32I 215*4882a593Smuzhiyun bool "RV32I" 216*4882a593Smuzhiyun select 32BIT 217*4882a593Smuzhiyun select GENERIC_LIB_ASHLDI3 218*4882a593Smuzhiyun select GENERIC_LIB_ASHRDI3 219*4882a593Smuzhiyun select GENERIC_LIB_LSHRDI3 220*4882a593Smuzhiyun select GENERIC_LIB_UCMPDI2 221*4882a593Smuzhiyun select MMU 222*4882a593Smuzhiyun 223*4882a593Smuzhiyunconfig ARCH_RV64I 224*4882a593Smuzhiyun bool "RV64I" 225*4882a593Smuzhiyun select 64BIT 226*4882a593Smuzhiyun select ARCH_SUPPORTS_INT128 if CC_HAS_INT128 && GCC_VERSION >= 50000 227*4882a593Smuzhiyun select HAVE_DYNAMIC_FTRACE if MMU 228*4882a593Smuzhiyun select HAVE_DYNAMIC_FTRACE_WITH_REGS if HAVE_DYNAMIC_FTRACE 229*4882a593Smuzhiyun select HAVE_FTRACE_MCOUNT_RECORD 230*4882a593Smuzhiyun select HAVE_FUNCTION_GRAPH_TRACER 231*4882a593Smuzhiyun select HAVE_FUNCTION_TRACER 232*4882a593Smuzhiyun select SWIOTLB if MMU 233*4882a593Smuzhiyun 234*4882a593Smuzhiyunendchoice 235*4882a593Smuzhiyun 236*4882a593Smuzhiyun# We must be able to map all physical memory into the kernel, but the compiler 237*4882a593Smuzhiyun# is still a bit more efficient when generating code if it's setup in a manner 238*4882a593Smuzhiyun# such that it can only map 2GiB of memory. 239*4882a593Smuzhiyunchoice 240*4882a593Smuzhiyun prompt "Kernel Code Model" 241*4882a593Smuzhiyun default CMODEL_MEDLOW if 32BIT 242*4882a593Smuzhiyun default CMODEL_MEDANY if 64BIT 243*4882a593Smuzhiyun 244*4882a593Smuzhiyun config CMODEL_MEDLOW 245*4882a593Smuzhiyun bool "medium low code model" 246*4882a593Smuzhiyun config CMODEL_MEDANY 247*4882a593Smuzhiyun bool "medium any code model" 248*4882a593Smuzhiyunendchoice 249*4882a593Smuzhiyun 250*4882a593Smuzhiyunconfig MODULE_SECTIONS 251*4882a593Smuzhiyun bool 252*4882a593Smuzhiyun select HAVE_MOD_ARCH_SPECIFIC 253*4882a593Smuzhiyun 254*4882a593Smuzhiyunchoice 255*4882a593Smuzhiyun prompt "Maximum Physical Memory" 256*4882a593Smuzhiyun default MAXPHYSMEM_1GB if 32BIT 257*4882a593Smuzhiyun default MAXPHYSMEM_2GB if 64BIT && CMODEL_MEDLOW 258*4882a593Smuzhiyun default MAXPHYSMEM_128GB if 64BIT && CMODEL_MEDANY 259*4882a593Smuzhiyun 260*4882a593Smuzhiyun config MAXPHYSMEM_1GB 261*4882a593Smuzhiyun depends on 32BIT 262*4882a593Smuzhiyun bool "1GiB" 263*4882a593Smuzhiyun config MAXPHYSMEM_2GB 264*4882a593Smuzhiyun depends on 64BIT && CMODEL_MEDLOW 265*4882a593Smuzhiyun bool "2GiB" 266*4882a593Smuzhiyun config MAXPHYSMEM_128GB 267*4882a593Smuzhiyun depends on 64BIT && CMODEL_MEDANY 268*4882a593Smuzhiyun bool "128GiB" 269*4882a593Smuzhiyunendchoice 270*4882a593Smuzhiyun 271*4882a593Smuzhiyun 272*4882a593Smuzhiyunconfig SMP 273*4882a593Smuzhiyun bool "Symmetric Multi-Processing" 274*4882a593Smuzhiyun help 275*4882a593Smuzhiyun This enables support for systems with more than one CPU. If 276*4882a593Smuzhiyun you say N here, the kernel will run on single and 277*4882a593Smuzhiyun multiprocessor machines, but will use only one CPU of a 278*4882a593Smuzhiyun multiprocessor machine. If you say Y here, the kernel will run 279*4882a593Smuzhiyun on many, but not all, single processor machines. On a single 280*4882a593Smuzhiyun processor machine, the kernel will run faster if you say N 281*4882a593Smuzhiyun here. 282*4882a593Smuzhiyun 283*4882a593Smuzhiyun If you don't know what to do here, say N. 284*4882a593Smuzhiyun 285*4882a593Smuzhiyunconfig NR_CPUS 286*4882a593Smuzhiyun int "Maximum number of CPUs (2-32)" 287*4882a593Smuzhiyun range 2 32 288*4882a593Smuzhiyun depends on SMP 289*4882a593Smuzhiyun default "8" 290*4882a593Smuzhiyun 291*4882a593Smuzhiyunconfig HOTPLUG_CPU 292*4882a593Smuzhiyun bool "Support for hot-pluggable CPUs" 293*4882a593Smuzhiyun depends on SMP 294*4882a593Smuzhiyun select GENERIC_IRQ_MIGRATION 295*4882a593Smuzhiyun help 296*4882a593Smuzhiyun 297*4882a593Smuzhiyun Say Y here to experiment with turning CPUs off and on. CPUs 298*4882a593Smuzhiyun can be controlled through /sys/devices/system/cpu. 299*4882a593Smuzhiyun 300*4882a593Smuzhiyun Say N if you want to disable CPU hotplug. 301*4882a593Smuzhiyun 302*4882a593Smuzhiyunchoice 303*4882a593Smuzhiyun prompt "CPU Tuning" 304*4882a593Smuzhiyun default TUNE_GENERIC 305*4882a593Smuzhiyun 306*4882a593Smuzhiyunconfig TUNE_GENERIC 307*4882a593Smuzhiyun bool "generic" 308*4882a593Smuzhiyun 309*4882a593Smuzhiyunendchoice 310*4882a593Smuzhiyun 311*4882a593Smuzhiyunconfig RISCV_ISA_C 312*4882a593Smuzhiyun bool "Emit compressed instructions when building Linux" 313*4882a593Smuzhiyun default y 314*4882a593Smuzhiyun help 315*4882a593Smuzhiyun Adds "C" to the ISA subsets that the toolchain is allowed to emit 316*4882a593Smuzhiyun when building Linux, which results in compressed instructions in the 317*4882a593Smuzhiyun Linux binary. 318*4882a593Smuzhiyun 319*4882a593Smuzhiyun If you don't know what to do here, say Y. 320*4882a593Smuzhiyun 321*4882a593Smuzhiyunmenu "supported PMU type" 322*4882a593Smuzhiyun depends on PERF_EVENTS 323*4882a593Smuzhiyun 324*4882a593Smuzhiyunconfig RISCV_BASE_PMU 325*4882a593Smuzhiyun bool "Base Performance Monitoring Unit" 326*4882a593Smuzhiyun def_bool y 327*4882a593Smuzhiyun help 328*4882a593Smuzhiyun A base PMU that serves as a reference implementation and has limited 329*4882a593Smuzhiyun feature of perf. It can run on any RISC-V machines so serves as the 330*4882a593Smuzhiyun fallback, but this option can also be disable to reduce kernel size. 331*4882a593Smuzhiyun 332*4882a593Smuzhiyunendmenu 333*4882a593Smuzhiyun 334*4882a593Smuzhiyunconfig FPU 335*4882a593Smuzhiyun bool "FPU support" 336*4882a593Smuzhiyun default y 337*4882a593Smuzhiyun help 338*4882a593Smuzhiyun Say N here if you want to disable all floating-point related procedure 339*4882a593Smuzhiyun in the kernel. 340*4882a593Smuzhiyun 341*4882a593Smuzhiyun If you don't know what to do here, say Y. 342*4882a593Smuzhiyun 343*4882a593Smuzhiyunendmenu 344*4882a593Smuzhiyun 345*4882a593Smuzhiyunmenu "Kernel features" 346*4882a593Smuzhiyun 347*4882a593Smuzhiyunsource "kernel/Kconfig.hz" 348*4882a593Smuzhiyun 349*4882a593Smuzhiyunconfig RISCV_SBI_V01 350*4882a593Smuzhiyun bool "SBI v0.1 support" 351*4882a593Smuzhiyun default y 352*4882a593Smuzhiyun depends on RISCV_SBI 353*4882a593Smuzhiyun help 354*4882a593Smuzhiyun This config allows kernel to use SBI v0.1 APIs. This will be 355*4882a593Smuzhiyun deprecated in future once legacy M-mode software are no longer in use. 356*4882a593Smuzhiyunendmenu 357*4882a593Smuzhiyun 358*4882a593Smuzhiyunmenu "Boot options" 359*4882a593Smuzhiyun 360*4882a593Smuzhiyunconfig CMDLINE 361*4882a593Smuzhiyun string "Built-in kernel command line" 362*4882a593Smuzhiyun help 363*4882a593Smuzhiyun For most platforms, the arguments for the kernel's command line 364*4882a593Smuzhiyun are provided at run-time, during boot. However, there are cases 365*4882a593Smuzhiyun where either no arguments are being provided or the provided 366*4882a593Smuzhiyun arguments are insufficient or even invalid. 367*4882a593Smuzhiyun 368*4882a593Smuzhiyun When that occurs, it is possible to define a built-in command 369*4882a593Smuzhiyun line here and choose how the kernel should use it later on. 370*4882a593Smuzhiyun 371*4882a593Smuzhiyunchoice 372*4882a593Smuzhiyun prompt "Built-in command line usage" if CMDLINE != "" 373*4882a593Smuzhiyun default CMDLINE_FALLBACK 374*4882a593Smuzhiyun help 375*4882a593Smuzhiyun Choose how the kernel will handle the provided built-in command 376*4882a593Smuzhiyun line. 377*4882a593Smuzhiyun 378*4882a593Smuzhiyunconfig CMDLINE_FALLBACK 379*4882a593Smuzhiyun bool "Use bootloader kernel arguments if available" 380*4882a593Smuzhiyun help 381*4882a593Smuzhiyun Use the built-in command line as fallback in case we get nothing 382*4882a593Smuzhiyun during boot. This is the default behaviour. 383*4882a593Smuzhiyun 384*4882a593Smuzhiyunconfig CMDLINE_EXTEND 385*4882a593Smuzhiyun bool "Extend bootloader kernel arguments" 386*4882a593Smuzhiyun help 387*4882a593Smuzhiyun The command-line arguments provided during boot will be 388*4882a593Smuzhiyun appended to the built-in command line. This is useful in 389*4882a593Smuzhiyun cases where the provided arguments are insufficient and 390*4882a593Smuzhiyun you don't want to or cannot modify them. 391*4882a593Smuzhiyun 392*4882a593Smuzhiyun 393*4882a593Smuzhiyunconfig CMDLINE_FORCE 394*4882a593Smuzhiyun bool "Always use the default kernel command string" 395*4882a593Smuzhiyun help 396*4882a593Smuzhiyun Always use the built-in command line, even if we get one during 397*4882a593Smuzhiyun boot. This is useful in case you need to override the provided 398*4882a593Smuzhiyun command line on systems where you don't have or want control 399*4882a593Smuzhiyun over it. 400*4882a593Smuzhiyun 401*4882a593Smuzhiyunendchoice 402*4882a593Smuzhiyun 403*4882a593Smuzhiyunconfig EFI_STUB 404*4882a593Smuzhiyun bool 405*4882a593Smuzhiyun 406*4882a593Smuzhiyunconfig EFI 407*4882a593Smuzhiyun bool "UEFI runtime support" 408*4882a593Smuzhiyun depends on OF 409*4882a593Smuzhiyun select LIBFDT 410*4882a593Smuzhiyun select UCS2_STRING 411*4882a593Smuzhiyun select EFI_PARAMS_FROM_FDT 412*4882a593Smuzhiyun select EFI_STUB 413*4882a593Smuzhiyun select EFI_GENERIC_STUB 414*4882a593Smuzhiyun select EFI_RUNTIME_WRAPPERS 415*4882a593Smuzhiyun select RISCV_ISA_C 416*4882a593Smuzhiyun depends on MMU 417*4882a593Smuzhiyun default y 418*4882a593Smuzhiyun help 419*4882a593Smuzhiyun This option provides support for runtime services provided 420*4882a593Smuzhiyun by UEFI firmware (such as non-volatile variables, realtime 421*4882a593Smuzhiyun clock, and platform reset). A UEFI stub is also provided to 422*4882a593Smuzhiyun allow the kernel to be booted as an EFI application. This 423*4882a593Smuzhiyun is only useful on systems that have UEFI firmware. 424*4882a593Smuzhiyun 425*4882a593Smuzhiyunendmenu 426*4882a593Smuzhiyun 427*4882a593Smuzhiyunconfig BUILTIN_DTB 428*4882a593Smuzhiyun def_bool n 429*4882a593Smuzhiyun depends on RISCV_M_MODE 430*4882a593Smuzhiyun depends on OF 431*4882a593Smuzhiyun 432*4882a593Smuzhiyunmenu "Power management options" 433*4882a593Smuzhiyun 434*4882a593Smuzhiyunsource "kernel/power/Kconfig" 435*4882a593Smuzhiyun 436*4882a593Smuzhiyunendmenu 437*4882a593Smuzhiyun 438*4882a593Smuzhiyunsource "drivers/firmware/Kconfig" 439