[PATCH v2 2/4] hart: add WorldGuard CSR IDs and hart extension flags
Raymond Mao <[email protected]> Fri, 24 Jul 2026 22:38:19 -0400
| Newsgroups | org.infradead.lists.opensbi |
|---|---|
| Message-ID | <[email protected]> |
From: Raymond Mao <[email protected]> Define the WorldGuard-related CSR numbers and claim smwg / sswg hart extensions so platform code can probe support before programming MLWID, MWIDDELEG and SLWID. Signed-off-by: Raymond Mao <[email protected]> --- include/sbi/riscv_encoding.h | 3 +++ include/sbi/sbi_hart.h | 4 ++++ lib/sbi/sbi_hart.c | 2 ++ 3 files changed, 9 insertions(+) diff --git a/include/sbi/riscv_encoding.h b/include/sbi/riscv_encoding.h index ffe7666c..4d8b2fba 100644 --- a/include/sbi/riscv_encoding.h +++ b/include/sbi/riscv_encoding.h @@ -373,6 +373,7 @@ /* Supervisor Protection and Translation */ #define CSR_SATP 0x180 +#define CSR_SLWID 0x190 /* Supervisor Indirect Register Alias */ #define CSR_SISELECT 0x150 @@ -510,6 +511,7 @@ /* Machine Configuration */ #define CSR_MENVCFG 0x30a #define CSR_MENVCFGH 0x31a +#define CSR_MLWID 0x390 /* Machine Trap Handling */ #define CSR_MSCRATCH 0x340 @@ -736,6 +738,7 @@ /* Machine Security Configuration CSR (mseccfg) */ #define CSR_MSECCFG 0x747 #define CSR_MSECCFGH 0x757 +#define CSR_MWIDDELEG 0x748 #define MSECCFG_MML_SHIFT (0) #define MSECCFG_MML (_UL(1) << MSECCFG_MML_SHIFT) diff --git a/include/sbi/sbi_hart.h b/include/sbi/sbi_hart.h index 543393bb..0fe8d439 100644 --- a/include/sbi/sbi_hart.h +++ b/include/sbi/sbi_hart.h @@ -63,6 +63,10 @@ enum sbi_hart_extensions { SBI_HART_EXT_SSCSRIND, /** Hart has Ssccfg extension */ SBI_HART_EXT_SSCCFG, + /** Hart has Smwg extension */ + SBI_HART_EXT_SMWG, + /** Hart has Sswg extension */ + SBI_HART_EXT_SSWG, /** Hart has Svade extension */ SBI_HART_EXT_SVADE, /** Hart has Svadu extension */ diff --git a/lib/sbi/sbi_hart.c b/lib/sbi/sbi_hart.c index 21713816..2b7b9cdd 100644 --- a/lib/sbi/sbi_hart.c +++ b/lib/sbi/sbi_hart.c @@ -386,6 +386,8 @@ const struct sbi_hart_ext_data sbi_hart_ext[] = { __SBI_HART_EXT_DATA(smcdeleg, SBI_HART_EXT_SMCDELEG), __SBI_HART_EXT_DATA(sscsrind, SBI_HART_EXT_SSCSRIND), __SBI_HART_EXT_DATA(ssccfg, SBI_HART_EXT_SSCCFG), + __SBI_HART_EXT_DATA(smwg, SBI_HART_EXT_SMWG), + __SBI_HART_EXT_DATA(sswg, SBI_HART_EXT_SSWG), __SBI_HART_EXT_DATA(svade, SBI_HART_EXT_SVADE), __SBI_HART_EXT_DATA(svadu, SBI_HART_EXT_SVADU), __SBI_HART_EXT_DATA(smnpm, SBI_HART_EXT_SMNPM), -- 2.25.1 -- opensbi mailing list [email protected] http://lists.infradead.org/mailman/listinfo/opensbi