aboutsummaryrefslogtreecommitdiff
path: root/c_emulator/riscv_platform.h
diff options
context:
space:
mode:
authorTim Hutt <timothy.hutt@codasip.com>2023-09-23 19:57:38 +0100
committerBill McSpadden <bill@riscv.org>2023-10-11 20:50:13 -0500
commit51a6c967fb320c2d47a3630b1f392e54eb69c3d7 (patch)
treecd864017e11911f4e86c32e7a437993a9ce05a58 /c_emulator/riscv_platform.h
parent532714a6c71b47a91176eb90fef3b3b049c52fce (diff)
downloadsail-riscv-51a6c967fb320c2d47a3630b1f392e54eb69c3d7.zip
sail-riscv-51a6c967fb320c2d47a3630b1f392e54eb69c3d7.tar.gz
sail-riscv-51a6c967fb320c2d47a3630b1f392e54eb69c3d7.tar.bz2
Implement menvcfg
This implements the m/senvcfg(h) CSRs. This CSR is used to enable/disable extensions and behaviours for lower privilege modes. Currently the only implemented bit is FIOM which affects how fences work. It also affects how atomic memory accesses work in non-cacheable regions, but the model does not currently support PMAs so that can't easily be implemented.
Diffstat (limited to 'c_emulator/riscv_platform.h')
-rw-r--r--c_emulator/riscv_platform.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/c_emulator/riscv_platform.h b/c_emulator/riscv_platform.h
index aec59d0..8dadbd5 100644
--- a/c_emulator/riscv_platform.h
+++ b/c_emulator/riscv_platform.h
@@ -6,6 +6,7 @@ bool sys_enable_next(unit);
bool sys_enable_fdext(unit);
bool sys_enable_zfinx(unit);
bool sys_enable_writable_misa(unit);
+bool sys_enable_fiom(unit);
bool plat_enable_dirty_update(unit);
bool plat_enable_misaligned_access(unit);