[PATCH v2] RISC-V: Schedule SBI-0.1 for removal

Palmer Dabbelt palmer at rivosinc.com
Tue Sep 17 06:50:39 PDT 2024


We've said we're going to deprecate SBI-0.1 for a while now, but I
didn't find that written down anywhere.  So mark SBI-0.1 as deprecated
and print a timeline for that deprecation on systems that probe it.

Signed-off-by: Palmer Dabbelt <palmer at rivosinc.com>
---
 arch/riscv/Kconfig      | 17 +++++++++++++----
 arch/riscv/kernel/sbi.c |  1 +
 2 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
index f00d474e13d0..fad197d5e122 100644
--- a/arch/riscv/Kconfig
+++ b/arch/riscv/Kconfig
@@ -838,12 +838,21 @@ menu "Kernel features"
 
 source "kernel/Kconfig.hz"
 
-config RISCV_SBI_V01
-	bool "SBI v0.1 support"
+config RISCV_SBI_V01_DEPRECATED
+	bool "SBI v0.1 support (DEPRECATED)"
 	depends on RISCV_SBI
 	help
-	  This config allows kernel to use SBI v0.1 APIs. This will be
-	  deprecated in future once legacy M-mode software are no longer in use.
+	  This config allows kernel to use SBI v0.1 APIs.
+
+	  SBI v0.1 support has been deprecated and will be removed after the
+	  2025 LTS.
+
+	  If unsure what to do here, say N.
+
+config RISCV_SBI_V01
+	bool
+	default y
+	depends on RISCV_SBI_V01_DEPRECATED
 
 config RISCV_BOOT_SPINWAIT
 	bool "Spinwait booting method"
diff --git a/arch/riscv/kernel/sbi.c b/arch/riscv/kernel/sbi.c
index 837bdab2601b..1209a4e53ed1 100644
--- a/arch/riscv/kernel/sbi.c
+++ b/arch/riscv/kernel/sbi.c
@@ -686,6 +686,7 @@ void __init sbi_init(void)
 			sbi_debug_console_available = true;
 		}
 	} else {
+		pr_warn("SBI-0.1 is deprecated and scheduled for removal after the 2025 LTS");
 		__sbi_set_timer = __sbi_set_timer_v01;
 		__sbi_send_ipi	= __sbi_send_ipi_v01;
 		__sbi_rfence	= __sbi_rfence_v01;
-- 
2.45.2




More information about the linux-riscv mailing list