Merge patch series "Fix RISC-V toolchain extension support detection"
[platform/kernel/linux-starfive.git] / arch / riscv / Kconfig
index d984f61..fa78595 100644 (file)
@@ -45,6 +45,7 @@ config RISCV
        select ARCH_WANT_FRAME_POINTERS
        select ARCH_WANT_GENERAL_HUGETLB
        select ARCH_WANT_HUGE_PMD_SHARE if 64BIT
+       select ARCH_WANTS_THP_SWAP if HAVE_ARCH_TRANSPARENT_HUGEPAGE
        select BINFMT_FLAT_NO_DATA_START_OFFSET if !MMU
        select BUILDTIME_TABLE_SORT if MMU
        select CLONE_BACKWARDS
@@ -52,7 +53,7 @@ config RISCV
        select COMMON_CLK
        select CPU_PM if CPU_IDLE
        select EDAC_SUPPORT
-       select GENERIC_ARCH_TOPOLOGY if SMP
+       select GENERIC_ARCH_TOPOLOGY
        select GENERIC_ATOMIC64 if !64BIT
        select GENERIC_CLOCKEVENTS_BROADCAST if SMP
        select GENERIC_EARLY_IOREMAP
@@ -69,6 +70,7 @@ config RISCV
        select GENERIC_SMP_IDLE_THREAD
        select GENERIC_TIME_VSYSCALL if MMU && 64BIT
        select GENERIC_VDSO_TIME_NS if HAVE_GENERIC_VDSO
+       select HARDIRQS_SW_RESEND
        select HAVE_ARCH_AUDITSYSCALL
        select HAVE_ARCH_JUMP_LABEL if !XIP_KERNEL
        select HAVE_ARCH_JUMP_LABEL_RELATIVE if !XIP_KERNEL
@@ -103,6 +105,7 @@ config RISCV
        select HAVE_PERF_EVENTS
        select HAVE_PERF_REGS
        select HAVE_PERF_USER_STACK_DUMP
+       select HAVE_POSIX_CPU_TIMERS_TASK_WORK
        select HAVE_REGS_AND_STACK_ACCESS_API
        select HAVE_FUNCTION_ARG_ACCESS_API
        select HAVE_STACKPROTECTOR
@@ -227,6 +230,9 @@ config RISCV_DMA_NONCOHERENT
        select ARCH_HAS_SETUP_DMA_OPS
        select DMA_DIRECT_REMAP
 
+config AS_HAS_INSN
+       def_bool $(as-instr,.insn r 51$(comma) 0$(comma) 0$(comma) t0$(comma) t0$(comma) zero)
+
 source "arch/riscv/Kconfig.socs"
 source "arch/riscv/Kconfig.erratas"
 
@@ -309,10 +315,13 @@ config SMP
          If you don't know what to do here, say N.
 
 config NR_CPUS
-       int "Maximum number of CPUs (2-32)"
-       range 2 32
+       int "Maximum number of CPUs (2-512)"
        depends on SMP
-       default "8"
+       range 2 512 if !SBI_V01
+       range 2 32 if SBI_V01 && 32BIT
+       range 2 64 if SBI_V01 && 64BIT
+       default "32" if 32BIT
+       default "64" if 64BIT
 
 config HOTPLUG_CPU
        bool "Support for hot-pluggable CPUs"
@@ -386,6 +395,7 @@ config RISCV_ISA_C
 config RISCV_ISA_SVPBMT
        bool "SVPBMT extension support"
        depends on 64BIT && MMU
+       depends on !XIP_KERNEL
        select RISCV_ALTERNATIVE
        default y
        help