aboutsummaryrefslogtreecommitdiff
path: root/riscv/insns
diff options
context:
space:
mode:
Diffstat (limited to 'riscv/insns')
-rw-r--r--riscv/insns/hlv_b.h2
-rw-r--r--riscv/insns/hlv_bu.h2
-rw-r--r--riscv/insns/hlv_d.h2
-rw-r--r--riscv/insns/hlv_h.h2
-rw-r--r--riscv/insns/hlv_hu.h2
-rw-r--r--riscv/insns/hlv_w.h2
-rw-r--r--riscv/insns/hlv_wu.h2
-rw-r--r--riscv/insns/hlvx_hu.h2
-rw-r--r--riscv/insns/hlvx_wu.h2
-rw-r--r--riscv/insns/hsv_b.h2
-rw-r--r--riscv/insns/hsv_d.h2
-rw-r--r--riscv/insns/hsv_h.h2
-rw-r--r--riscv/insns/hsv_w.h2
-rw-r--r--riscv/insns/sfence_vma.h2
-rw-r--r--riscv/insns/sret.h4
-rw-r--r--riscv/insns/wfi.h2
16 files changed, 17 insertions, 17 deletions
diff --git a/riscv/insns/hlv_b.h b/riscv/insns/hlv_b.h
index 86192c6..2ccb046 100644
--- a/riscv/insns/hlv_b.h
+++ b/riscv/insns/hlv_b.h
@@ -1,4 +1,4 @@
require_extension('H');
require_novirt();
-require_privilege(get_field(STATE.hstatus, HSTATUS_HU) ? PRV_U : PRV_S);
+require_privilege(get_field(STATE.hstatus->read(), HSTATUS_HU) ? PRV_U : PRV_S);
WRITE_RD(MMU.guest_load_int8(RS1));
diff --git a/riscv/insns/hlv_bu.h b/riscv/insns/hlv_bu.h
index 2f95194..560f94a 100644
--- a/riscv/insns/hlv_bu.h
+++ b/riscv/insns/hlv_bu.h
@@ -1,4 +1,4 @@
require_extension('H');
require_novirt();
-require_privilege(get_field(STATE.hstatus, HSTATUS_HU) ? PRV_U : PRV_S);
+require_privilege(get_field(STATE.hstatus->read(), HSTATUS_HU) ? PRV_U : PRV_S);
WRITE_RD(MMU.guest_load_uint8(RS1));
diff --git a/riscv/insns/hlv_d.h b/riscv/insns/hlv_d.h
index 1bbd027..f432b65 100644
--- a/riscv/insns/hlv_d.h
+++ b/riscv/insns/hlv_d.h
@@ -1,5 +1,5 @@
require_extension('H');
require_rv64;
require_novirt();
-require_privilege(get_field(STATE.hstatus, HSTATUS_HU) ? PRV_U : PRV_S);
+require_privilege(get_field(STATE.hstatus->read(), HSTATUS_HU) ? PRV_U : PRV_S);
WRITE_RD(MMU.guest_load_int64(RS1));
diff --git a/riscv/insns/hlv_h.h b/riscv/insns/hlv_h.h
index 6825fe4..4cb07e9 100644
--- a/riscv/insns/hlv_h.h
+++ b/riscv/insns/hlv_h.h
@@ -1,4 +1,4 @@
require_extension('H');
require_novirt();
-require_privilege(get_field(STATE.hstatus, HSTATUS_HU) ? PRV_U : PRV_S);
+require_privilege(get_field(STATE.hstatus->read(), HSTATUS_HU) ? PRV_U : PRV_S);
WRITE_RD(MMU.guest_load_int16(RS1));
diff --git a/riscv/insns/hlv_hu.h b/riscv/insns/hlv_hu.h
index 3d9d98e..adec2f0 100644
--- a/riscv/insns/hlv_hu.h
+++ b/riscv/insns/hlv_hu.h
@@ -1,4 +1,4 @@
require_extension('H');
require_novirt();
-require_privilege(get_field(STATE.hstatus, HSTATUS_HU) ? PRV_U : PRV_S);
+require_privilege(get_field(STATE.hstatus->read(), HSTATUS_HU) ? PRV_U : PRV_S);
WRITE_RD(MMU.guest_load_uint16(RS1));
diff --git a/riscv/insns/hlv_w.h b/riscv/insns/hlv_w.h
index be420d3..b2e102f 100644
--- a/riscv/insns/hlv_w.h
+++ b/riscv/insns/hlv_w.h
@@ -1,4 +1,4 @@
require_extension('H');
require_novirt();
-require_privilege(get_field(STATE.hstatus, HSTATUS_HU) ? PRV_U : PRV_S);
+require_privilege(get_field(STATE.hstatus->read(), HSTATUS_HU) ? PRV_U : PRV_S);
WRITE_RD(MMU.guest_load_int32(RS1));
diff --git a/riscv/insns/hlv_wu.h b/riscv/insns/hlv_wu.h
index 851be27..1f921c0 100644
--- a/riscv/insns/hlv_wu.h
+++ b/riscv/insns/hlv_wu.h
@@ -1,5 +1,5 @@
require_extension('H');
require_rv64;
require_novirt();
-require_privilege(get_field(STATE.hstatus, HSTATUS_HU) ? PRV_U : PRV_S);
+require_privilege(get_field(STATE.hstatus->read(), HSTATUS_HU) ? PRV_U : PRV_S);
WRITE_RD(MMU.guest_load_uint32(RS1));
diff --git a/riscv/insns/hlvx_hu.h b/riscv/insns/hlvx_hu.h
index 19dbcfb..3eb699c 100644
--- a/riscv/insns/hlvx_hu.h
+++ b/riscv/insns/hlvx_hu.h
@@ -1,4 +1,4 @@
require_extension('H');
require_novirt();
-require_privilege(get_field(STATE.hstatus, HSTATUS_HU) ? PRV_U : PRV_S);
+require_privilege(get_field(STATE.hstatus->read(), HSTATUS_HU) ? PRV_U : PRV_S);
WRITE_RD(MMU.guest_load_x_uint16(RS1));
diff --git a/riscv/insns/hlvx_wu.h b/riscv/insns/hlvx_wu.h
index a395230..33e2fa1 100644
--- a/riscv/insns/hlvx_wu.h
+++ b/riscv/insns/hlvx_wu.h
@@ -1,4 +1,4 @@
require_extension('H');
require_novirt();
-require_privilege(get_field(STATE.hstatus, HSTATUS_HU) ? PRV_U : PRV_S);
+require_privilege(get_field(STATE.hstatus->read(), HSTATUS_HU) ? PRV_U : PRV_S);
WRITE_RD(sext_xlen(MMU.guest_load_x_uint32(RS1)));
diff --git a/riscv/insns/hsv_b.h b/riscv/insns/hsv_b.h
index a5c34ff..15f6a26 100644
--- a/riscv/insns/hsv_b.h
+++ b/riscv/insns/hsv_b.h
@@ -1,4 +1,4 @@
require_extension('H');
require_novirt();
-require_privilege(get_field(STATE.hstatus, HSTATUS_HU) ? PRV_U : PRV_S);
+require_privilege(get_field(STATE.hstatus->read(), HSTATUS_HU) ? PRV_U : PRV_S);
MMU.guest_store_uint8(RS1, RS2);
diff --git a/riscv/insns/hsv_d.h b/riscv/insns/hsv_d.h
index 14c6d5d..83c3376 100644
--- a/riscv/insns/hsv_d.h
+++ b/riscv/insns/hsv_d.h
@@ -1,5 +1,5 @@
require_extension('H');
require_rv64;
require_novirt();
-require_privilege(get_field(STATE.hstatus, HSTATUS_HU) ? PRV_U : PRV_S);
+require_privilege(get_field(STATE.hstatus->read(), HSTATUS_HU) ? PRV_U : PRV_S);
MMU.guest_store_uint64(RS1, RS2);
diff --git a/riscv/insns/hsv_h.h b/riscv/insns/hsv_h.h
index 1cfe77a..eaa2a2c 100644
--- a/riscv/insns/hsv_h.h
+++ b/riscv/insns/hsv_h.h
@@ -1,4 +1,4 @@
require_extension('H');
require_novirt();
-require_privilege(get_field(STATE.hstatus, HSTATUS_HU) ? PRV_U : PRV_S);
+require_privilege(get_field(STATE.hstatus->read(), HSTATUS_HU) ? PRV_U : PRV_S);
MMU.guest_store_uint16(RS1, RS2);
diff --git a/riscv/insns/hsv_w.h b/riscv/insns/hsv_w.h
index d54f673..0d2c3d4 100644
--- a/riscv/insns/hsv_w.h
+++ b/riscv/insns/hsv_w.h
@@ -1,4 +1,4 @@
require_extension('H');
require_novirt();
-require_privilege(get_field(STATE.hstatus, HSTATUS_HU) ? PRV_U : PRV_S);
+require_privilege(get_field(STATE.hstatus->read(), HSTATUS_HU) ? PRV_U : PRV_S);
MMU.guest_store_uint32(RS1, RS2);
diff --git a/riscv/insns/sfence_vma.h b/riscv/insns/sfence_vma.h
index a14865f..7d6c01a 100644
--- a/riscv/insns/sfence_vma.h
+++ b/riscv/insns/sfence_vma.h
@@ -1,7 +1,7 @@
require_extension('S');
require_impl(IMPL_MMU);
if (STATE.v) {
- if (STATE.prv == PRV_U || get_field(STATE.hstatus, HSTATUS_VTVM))
+ if (STATE.prv == PRV_U || get_field(STATE.hstatus->read(), HSTATUS_VTVM))
require_novirt();
} else {
require_privilege(get_field(STATE.mstatus->read(), MSTATUS_TVM) ? PRV_M : PRV_S);
diff --git a/riscv/insns/sret.h b/riscv/insns/sret.h
index 8436cda..72b44ef 100644
--- a/riscv/insns/sret.h
+++ b/riscv/insns/sret.h
@@ -1,6 +1,6 @@
require_extension('S');
if (STATE.v) {
- if (STATE.prv == PRV_U || get_field(STATE.hstatus, HSTATUS_VTSR))
+ if (STATE.prv == PRV_U || get_field(STATE.hstatus->read(), HSTATUS_VTSR))
require_novirt();
} else {
require_privilege(get_field(STATE.mstatus->read(), MSTATUS_TSR) ? PRV_M : PRV_S);
@@ -17,6 +17,6 @@ s = set_field(s, MSTATUS_SPP, PRV_U);
STATE.sstatus->write(s);
p->set_privilege(prev_prv);
if (!STATE.v) {
- reg_t prev_virt = get_field(STATE.hstatus, HSTATUS_SPV);
+ reg_t prev_virt = get_field(STATE.hstatus->read(), HSTATUS_SPV);
p->set_virt(prev_virt);
}
diff --git a/riscv/insns/wfi.h b/riscv/insns/wfi.h
index efe62fd..299cb01 100644
--- a/riscv/insns/wfi.h
+++ b/riscv/insns/wfi.h
@@ -3,7 +3,7 @@ if (STATE.v && STATE.prv == PRV_U) {
} else if (get_field(STATE.mstatus->read(), MSTATUS_TW)) {
require_privilege(PRV_M);
} else if (STATE.v) { // VS-mode
- if (get_field(STATE.hstatus, HSTATUS_VTW))
+ if (get_field(STATE.hstatus->read(), HSTATUS_VTW))
require_novirt();
} else {
require_privilege(PRV_S);