From 8752c809b34fed3378860258922c67df14236d11 Mon Sep 17 00:00:00 2001 From: Nick Hu Date: Mon, 20 Oct 2025 14:34:07 +0800 Subject: [PATCH] lib: sbi: Add SiFive proprietary xsfcflushdlone Using ISA string "xsfcflushdlone" to detect the support of the SiFive L1D cache flush custom instruction. Reviewed-by: Cyan Yang Reviewed-by: Anup Patel Signed-off-by: Nick Hu Link: https://lore.kernel.org/r/20251020-cache-upstream-v7-5-69a132447d8a@sifive.com Signed-off-by: Anup Patel --- include/sbi/sbi_hart.h | 2 ++ lib/sbi/sbi_hart.c | 1 + 2 files changed, 3 insertions(+) diff --git a/include/sbi/sbi_hart.h b/include/sbi/sbi_hart.h index 82b19dcf..fdcf400a 100644 --- a/include/sbi/sbi_hart.h +++ b/include/sbi/sbi_hart.h @@ -81,6 +81,8 @@ enum sbi_hart_extensions { SBI_HART_EXT_SSCTR, /** HART has Ssstateen extension **/ SBI_HART_EXT_SSSTATEEN, + /** Hart has Xsfcflushdlone extension */ + SBI_HART_EXT_XSIFIVE_CFLUSH_D_L1, /** Maximum index of Hart extension */ SBI_HART_EXT_MAX, diff --git a/lib/sbi/sbi_hart.c b/lib/sbi/sbi_hart.c index 1b50f671..4159dff5 100644 --- a/lib/sbi/sbi_hart.c +++ b/lib/sbi/sbi_hart.c @@ -715,6 +715,7 @@ const struct sbi_hart_ext_data sbi_hart_ext[] = { __SBI_HART_EXT_DATA(smctr, SBI_HART_EXT_SMCTR), __SBI_HART_EXT_DATA(ssctr, SBI_HART_EXT_SSCTR), __SBI_HART_EXT_DATA(ssstateen, SBI_HART_EXT_SSSTATEEN), + __SBI_HART_EXT_DATA(xsfcflushdlone, SBI_HART_EXT_XSIFIVE_CFLUSH_D_L1), }; _Static_assert(SBI_HART_EXT_MAX == array_size(sbi_hart_ext),