[PATCH v2 02/11] RISC-V: make RISCV_SBI and RISCV_M_MODE explicitly mutually exclusive
Antony Pavlov
antonynpavlov at gmail.com
Thu May 6 15:08:25 PDT 2021
Signed-off-by: Antony Pavlov <antonynpavlov at gmail.com>
---
arch/riscv/Kconfig | 22 ++++++++++++----------
arch/riscv/Kconfig.socs | 4 +++-
arch/riscv/configs/erizo_generic_defconfig | 1 +
3 files changed, 16 insertions(+), 11 deletions(-)
diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
index a4aa799acf..dcff00d63f 100644
--- a/arch/riscv/Kconfig
+++ b/arch/riscv/Kconfig
@@ -38,6 +38,18 @@ config ARCH_RV64I
endchoice
+choice
+ prompt "Privilege level"
+ default RISCV_SBI
+
+config RISCV_SBI
+ bool "S-mode (supervisor mode), use SBI calls"
+
+config RISCV_M_MODE
+ bool "M-mode (machine mode)"
+
+endchoice
+
source "arch/riscv/Kconfig.socs"
config CPU_SUPPORTS_32BIT_KERNEL
@@ -97,14 +109,4 @@ config NMON_HELP
Say yes here to get the nmon commands message on
every nmon start.
-# set if we run in machine mode, cleared if we run in supervisor mode
-config RISCV_M_MODE
- bool
-
-# set if we are running in S-mode and can use SBI calls
-config RISCV_SBI
- bool
- depends on !RISCV_M_MODE
- default y
-
endmenu
diff --git a/arch/riscv/Kconfig.socs b/arch/riscv/Kconfig.socs
index c6875738d0..f767942f34 100644
--- a/arch/riscv/Kconfig.socs
+++ b/arch/riscv/Kconfig.socs
@@ -3,10 +3,10 @@ menu "SoC selection"
config SOC_ERIZO
bool "Erizo SoC"
depends on ARCH_RV32I
+ depends on RISCV_M_MODE
select HAS_ASM_DEBUG_LL
select HAS_NMON
select USE_COMPRESSED_DTB
- select RISCV_M_MODE
select RISCV_TIMER
config BOARD_ERIZO_GENERIC
@@ -15,6 +15,7 @@ config BOARD_ERIZO_GENERIC
config SOC_VIRT
bool "QEMU Virt Machine"
+ depends on RISCV_SBI
select BOARD_RISCV_GENERIC_DT
select CLINT_TIMER
help
@@ -23,6 +24,7 @@ config SOC_VIRT
config SOC_SIFIVE
bool "SiFive SoCs"
+ depends on RISCV_SBI
select CLK_SIFIVE
select CLK_SIFIVE_PRCI
select RISCV_TIMER
diff --git a/arch/riscv/configs/erizo_generic_defconfig b/arch/riscv/configs/erizo_generic_defconfig
index 247a179130..16168eef66 100644
--- a/arch/riscv/configs/erizo_generic_defconfig
+++ b/arch/riscv/configs/erizo_generic_defconfig
@@ -1,3 +1,4 @@
+CONFIG_RISCV_M_MODE=y
CONFIG_SOC_ERIZO=y
# CONFIG_GLOBALVAR is not set
CONFIG_STACK_SIZE=0x20000
--
2.31.1
More information about the barebox
mailing list