mirror of
https://github.com/riscv-software-src/opensbi.git
synced 2025-08-24 15:31:22 +01:00
lib: sbi: Do not enter OpenSBI with mseccfg.MML == 1
On platforms with Smepmp, the previous booting stage must enter OpenSBI with mseccfg.MML == 0. This allows OpenSBI to configure it's own M-mode only regions without depending on the previous booting stage. Signed-off-by: Anup Patel <apatel@ventanamicro.com>
This commit is contained in:
@@ -914,6 +914,16 @@ __pmp_skip:
|
||||
/* Mark hart feature detection done */
|
||||
hfeatures->detected = true;
|
||||
|
||||
/*
|
||||
* On platforms with Smepmp, the previous booting stage must
|
||||
* enter OpenSBI with mseccfg.MML == 0. This allows OpenSBI
|
||||
* to configure it's own M-mode only regions without depending
|
||||
* on the previous booting stage.
|
||||
*/
|
||||
if (sbi_hart_has_extension(scratch, SBI_HART_EXT_SMEPMP) &&
|
||||
(csr_read(CSR_MSECCFG) & MSECCFG_MML))
|
||||
return SBI_EILL;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user