Merge tag 'riscv-for-linus-6.8-mw4' of git://git.kernel.org/pub/scm/linux/kernel...
[linux-block.git] / arch / riscv / Kconfig
index d6f3fc39309733e06ad86e751aab995c616e2236..bffbd869a0682842883591788da784648acf1626 100644 (file)
@@ -74,6 +74,7 @@ config RISCV
        select GENERIC_ARCH_TOPOLOGY
        select GENERIC_ATOMIC64 if !64BIT
        select GENERIC_CLOCKEVENTS_BROADCAST if SMP
+       select GENERIC_CPU_DEVICES
        select GENERIC_EARLY_IOREMAP
        select GENERIC_ENTRY
        select GENERIC_GETTIMEOFDAY if HAVE_GENERIC_VDSO
@@ -434,7 +435,9 @@ config NUMA
        depends on SMP && MMU
        select ARCH_SUPPORTS_NUMA_BALANCING
        select GENERIC_ARCH_NUMA
+       select HAVE_SETUP_PER_CPU_AREA
        select NEED_PER_CPU_EMBED_FIRST_CHUNK
+       select NEED_PER_CPU_PAGE_FIRST_CHUNK
        select OF_NUMA
        select USE_PERCPU_NUMA_NODE_ID
        help
@@ -741,7 +744,7 @@ config RISCV_BOOT_SPINWAIT
          If unsure what to do here, say N.
 
 config ARCH_SUPPORTS_KEXEC
-       def_bool MMU
+       def_bool y
 
 config ARCH_SELECTS_KEXEC
        def_bool y
@@ -749,7 +752,7 @@ config ARCH_SELECTS_KEXEC
        select HOTPLUG_CPU if SMP
 
 config ARCH_SUPPORTS_KEXEC_FILE
-       def_bool 64BIT && MMU
+       def_bool 64BIT
 
 config ARCH_SELECTS_KEXEC_FILE
        def_bool y
@@ -758,9 +761,7 @@ config ARCH_SELECTS_KEXEC_FILE
        select KEXEC_ELF
 
 config ARCH_SUPPORTS_KEXEC_PURGATORY
-       def_bool KEXEC_FILE
-       depends on CRYPTO=y
-       depends on CRYPTO_SHA256=y
+       def_bool ARCH_SUPPORTS_KEXEC_FILE
 
 config ARCH_SUPPORTS_CRASH_DUMP
        def_bool y
@@ -780,6 +781,25 @@ config COMPAT
 
          If you want to execute 32-bit userspace applications, say Y.
 
+config PARAVIRT
+       bool "Enable paravirtualization code"
+       depends on RISCV_SBI
+       help
+         This changes the kernel so it can modify itself when it is run
+         under a hypervisor, potentially improving performance significantly
+         over full virtualization.
+
+config PARAVIRT_TIME_ACCOUNTING
+       bool "Paravirtual steal time accounting"
+       depends on PARAVIRT
+       help
+         Select this option to enable fine granularity task steal time
+         accounting. Time spent executing other tasks in parallel with
+         the current vCPU is discounted from the vCPU power. To account for
+         that, there can be a small performance impact.
+
+         If in doubt, say N here.
+
 config RELOCATABLE
        bool "Build a relocatable kernel"
        depends on MMU && 64BIT && !XIP_KERNEL