diff options
author | Andrew Waterman <andrew@sifive.com> | 2020-09-24 17:05:15 -0700 |
---|---|---|
committer | Andrew Waterman <andrew@sifive.com> | 2020-09-24 17:05:43 -0700 |
commit | 77024fa1d1303b1274ff25de335ef8e67092b201 (patch) | |
tree | a8951c0eb33db7b27c253ae98483c13faa72307e /riscv/insns | |
parent | 43003ea3ed9d2c1a1c060416da91ccf5b044c55c (diff) | |
download | riscv-isa-sim-77024fa1d1303b1274ff25de335ef8e67092b201.zip riscv-isa-sim-77024fa1d1303b1274ff25de335ef8e67092b201.tar.gz riscv-isa-sim-77024fa1d1303b1274ff25de335ef8e67092b201.tar.bz2 |
Fix priority of virtual vs. illegal instruction exceptions for HLV/HSV
Resolves #551
Diffstat (limited to 'riscv/insns')
-rw-r--r-- | riscv/insns/hlv_b.h | 2 | ||||
-rw-r--r-- | riscv/insns/hlv_bu.h | 2 | ||||
-rw-r--r-- | riscv/insns/hlv_d.h | 2 | ||||
-rw-r--r-- | riscv/insns/hlv_h.h | 2 | ||||
-rw-r--r-- | riscv/insns/hlv_hu.h | 2 | ||||
-rw-r--r-- | riscv/insns/hlv_w.h | 2 | ||||
-rw-r--r-- | riscv/insns/hlv_wu.h | 2 | ||||
-rw-r--r-- | riscv/insns/hlvx_hu.h | 2 | ||||
-rw-r--r-- | riscv/insns/hlvx_wu.h | 2 | ||||
-rw-r--r-- | riscv/insns/hsv_b.h | 2 | ||||
-rw-r--r-- | riscv/insns/hsv_d.h | 2 | ||||
-rw-r--r-- | riscv/insns/hsv_h.h | 2 | ||||
-rw-r--r-- | riscv/insns/hsv_w.h | 2 |
13 files changed, 13 insertions, 13 deletions
diff --git a/riscv/insns/hlv_b.h b/riscv/insns/hlv_b.h index 213c4b8..86192c6 100644 --- a/riscv/insns/hlv_b.h +++ b/riscv/insns/hlv_b.h @@ -1,4 +1,4 @@ require_extension('H'); -require_privilege(get_field(STATE.hstatus, HSTATUS_HU) ? PRV_U : PRV_S); require_novirt(); +require_privilege(get_field(STATE.hstatus, 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 7c7805b..2f95194 100644 --- a/riscv/insns/hlv_bu.h +++ b/riscv/insns/hlv_bu.h @@ -1,4 +1,4 @@ require_extension('H'); -require_privilege(get_field(STATE.hstatus, HSTATUS_HU) ? PRV_U : PRV_S); require_novirt(); +require_privilege(get_field(STATE.hstatus, 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 38728fa..1bbd027 100644 --- a/riscv/insns/hlv_d.h +++ b/riscv/insns/hlv_d.h @@ -1,5 +1,5 @@ require_extension('H'); require_rv64; -require_privilege(get_field(STATE.hstatus, HSTATUS_HU) ? PRV_U : PRV_S); require_novirt(); +require_privilege(get_field(STATE.hstatus, 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 2887a94..6825fe4 100644 --- a/riscv/insns/hlv_h.h +++ b/riscv/insns/hlv_h.h @@ -1,4 +1,4 @@ require_extension('H'); -require_privilege(get_field(STATE.hstatus, HSTATUS_HU) ? PRV_U : PRV_S); require_novirt(); +require_privilege(get_field(STATE.hstatus, 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 488a1ea..3d9d98e 100644 --- a/riscv/insns/hlv_hu.h +++ b/riscv/insns/hlv_hu.h @@ -1,4 +1,4 @@ require_extension('H'); -require_privilege(get_field(STATE.hstatus, HSTATUS_HU) ? PRV_U : PRV_S); require_novirt(); +require_privilege(get_field(STATE.hstatus, 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 08b3611..be420d3 100644 --- a/riscv/insns/hlv_w.h +++ b/riscv/insns/hlv_w.h @@ -1,4 +1,4 @@ require_extension('H'); -require_privilege(get_field(STATE.hstatus, HSTATUS_HU) ? PRV_U : PRV_S); require_novirt(); +require_privilege(get_field(STATE.hstatus, 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 4f8b747..851be27 100644 --- a/riscv/insns/hlv_wu.h +++ b/riscv/insns/hlv_wu.h @@ -1,5 +1,5 @@ require_extension('H'); require_rv64; -require_privilege(get_field(STATE.hstatus, HSTATUS_HU) ? PRV_U : PRV_S); require_novirt(); +require_privilege(get_field(STATE.hstatus, 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 4aad1f1..19dbcfb 100644 --- a/riscv/insns/hlvx_hu.h +++ b/riscv/insns/hlvx_hu.h @@ -1,4 +1,4 @@ require_extension('H'); -require_privilege(get_field(STATE.hstatus, HSTATUS_HU) ? PRV_U : PRV_S); require_novirt(); +require_privilege(get_field(STATE.hstatus, 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 cb4477a..4dfe702 100644 --- a/riscv/insns/hlvx_wu.h +++ b/riscv/insns/hlvx_wu.h @@ -1,4 +1,4 @@ require_extension('H'); -require_privilege(get_field(STATE.hstatus, HSTATUS_HU) ? PRV_U : PRV_S); require_novirt(); +require_privilege(get_field(STATE.hstatus, HSTATUS_HU) ? PRV_U : PRV_S); WRITE_RD(MMU.guest_load_x_uint32(RS1)); diff --git a/riscv/insns/hsv_b.h b/riscv/insns/hsv_b.h index 4c7426f..a5c34ff 100644 --- a/riscv/insns/hsv_b.h +++ b/riscv/insns/hsv_b.h @@ -1,4 +1,4 @@ require_extension('H'); -require_privilege(get_field(STATE.hstatus, HSTATUS_HU) ? PRV_U : PRV_S); require_novirt(); +require_privilege(get_field(STATE.hstatus, 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 2952c65..14c6d5d 100644 --- a/riscv/insns/hsv_d.h +++ b/riscv/insns/hsv_d.h @@ -1,5 +1,5 @@ require_extension('H'); require_rv64; -require_privilege(get_field(STATE.hstatus, HSTATUS_HU) ? PRV_U : PRV_S); require_novirt(); +require_privilege(get_field(STATE.hstatus, 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 be831d4..1cfe77a 100644 --- a/riscv/insns/hsv_h.h +++ b/riscv/insns/hsv_h.h @@ -1,4 +1,4 @@ require_extension('H'); -require_privilege(get_field(STATE.hstatus, HSTATUS_HU) ? PRV_U : PRV_S); require_novirt(); +require_privilege(get_field(STATE.hstatus, 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 c9d937a..d54f673 100644 --- a/riscv/insns/hsv_w.h +++ b/riscv/insns/hsv_w.h @@ -1,4 +1,4 @@ require_extension('H'); -require_privilege(get_field(STATE.hstatus, HSTATUS_HU) ? PRV_U : PRV_S); require_novirt(); +require_privilege(get_field(STATE.hstatus, HSTATUS_HU) ? PRV_U : PRV_S); MMU.guest_store_uint32(RS1, RS2); |