[PATCH 1/7] hart: add WorldGuard CSR IDs and hart extension flags
Raymond Mao <[email protected]>
| 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 46bbeed0..48304132 100644 --- a/include/sbi/riscv_encoding.h +++ b/include/sbi/riscv_encoding.h @@ -331,6 +331,7 @@ /* Supervisor Protection and Translation */ #define CSR_SATP 0x180 +#define CSR_SLWID 0x190 /* Supervisor Indirect Register Alias */ #define CSR_SISELECT 0x150 @@ -454,6 +455,7 @@ /* Machine Configuration */ #define CSR_MENVCFG 0x30a #define CSR_MENVCFGH 0x31a +#define CSR_MLWID 0x390 /* Machine Trap Handling */ #define CSR_MSCRATCH 0x340 @@ -680,6 +682,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 cc78eec6..2c725ae2 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, /** Maximum index of Hart extension */ SBI_HART_EXT_MAX, diff --git a/lib/sbi/sbi_hart.c b/lib/sbi/sbi_hart.c index 3d136944..6fc03a59 100644 --- a/lib/sbi/sbi_hart.c +++ b/lib/sbi/sbi_hart.c @@ -666,6 +666,8 @@ const struct sbi_hart_ext_data sbi_hart_ext[] = { __SBI_HART_EXT_DATA(sdtrig, SBI_HART_EXT_SDTRIG), __SBI_HART_EXT_DATA(smcsrind, SBI_HART_EXT_SMCSRIND), __SBI_HART_EXT_DATA(smcdeleg, SBI_HART_EXT_SMCDELEG), + __SBI_HART_EXT_DATA(smwg, SBI_HART_EXT_SMWG), + __SBI_HART_EXT_DATA(sswg, SBI_HART_EXT_SSWG), }; /** -- 2.25.1 -- opensbi mailing list [email protected] http://lists.infradead.org/mailman/listinfo/opensbi