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

Palmer Dabbelt palmer at rivosinc.com
Wed Sep 4 07:54:05 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.

This also hides the Kconfig behind EXPERT, in the hope that doing so
will poke users to notice the deprecation.

Signed-off-by: Palmer Dabbelt <palmer at rivosinc.com>
---
I don't know if there's some normal way to mark things as deprecated,
this is just the best I could come up with this morning.
---
 arch/riscv/Kconfig      | 2 +-
 arch/riscv/kernel/sbi.c | 1 +
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
index 0f3cd7c3a436..e70ff952d68e 100644
--- a/arch/riscv/Kconfig
+++ b/arch/riscv/Kconfig
@@ -832,7 +832,7 @@ source "kernel/Kconfig.hz"
 
 config RISCV_SBI_V01
 	bool "SBI v0.1 support"
-	depends on RISCV_SBI
+	depends on RISCV_SBI && EXPERT
 	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.
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