This makes way for a clean 1.12 based Hypervisor Ext support.
There are no known implementors of 1.9.1 H-ext. (Per Jim, kendryte k210
is based on priv spec 1.9.1, but it seems unlikely that they implemented
H-ext).
Signed-off-by: Vineet Gupta <vineetg@rivosinc.com>
Reviewed-by: Palmer Dabbelt <palmer@rivosinc.com>
Reviewed-by: Nelson Chu <nelson.chu@sifive.com>
gas/
* testsuite/gas/riscv/csr-dw-regnums.d: Drop the hypervisor csrs
defined in the privileged spec 1.9.1.
* testsuite/gas/riscv/csr-dw-regnums.s: Likewise.
* testsuite/gas/riscv/priv-reg-fail-read-only-01.s: Likewise.
* testsuite/gas/riscv/priv-reg-fail-version-1p10.l: Likewise.
* testsuite/gas/riscv/priv-reg-fail-version-1p11.l: Likewise.
* testsuite/gas/riscv/priv-reg-version-1p10.d: Likewise.
* testsuite/gas/riscv/priv-reg-version-1p11.d: Likewise.
* testsuite/gas/riscv/priv-reg-version-1p9p1.d: Likewise.
* testsuite/gas/riscv/priv-reg.s: Likewise.
include/
* opcode/riscv-opc.h: Drop the hypervisor csrs defined in the
privileged spec 1.9.1.
DW_CFA_offset_extended_sf: r4925 \(mhpmevent29\) at cfa\+3316
DW_CFA_offset_extended_sf: r4926 \(mhpmevent30\) at cfa\+3320
DW_CFA_offset_extended_sf: r4927 \(mhpmevent31\) at cfa\+3324
- DW_CFA_offset_extended_sf: r4608 \(hstatus\) at cfa\+2048
- DW_CFA_offset_extended_sf: r4610 \(hedeleg\) at cfa\+2056
- DW_CFA_offset_extended_sf: r4611 \(hideleg\) at cfa\+2060
- DW_CFA_offset_extended_sf: r4612 \(hie\) at cfa\+2064
- DW_CFA_offset_extended_sf: r4613 \(htvec\) at cfa\+2068
- DW_CFA_offset_extended_sf: r4672 \(hscratch\) at cfa\+2304
- DW_CFA_offset_extended_sf: r4673 \(hepc\) at cfa\+2308
- DW_CFA_offset_extended_sf: r4674 \(hcause\) at cfa\+2312
- DW_CFA_offset_extended_sf: r4675 \(hbadaddr\) at cfa\+2316
- DW_CFA_offset_extended_sf: r4676 \(hip\) at cfa\+2320
DW_CFA_offset_extended_sf: r4992 \(mbase\) at cfa\+3584
DW_CFA_offset_extended_sf: r4993 \(mbound\) at cfa\+3588
DW_CFA_offset_extended_sf: r4994 \(mibase\) at cfa\+3592
.cfi_offset mhpmevent30, 3320
.cfi_offset mhpmevent31, 3324
# dropped
- .cfi_offset hstatus, 2048
- .cfi_offset hedeleg, 2056
- .cfi_offset hideleg, 2060
- .cfi_offset hie, 2064
- .cfi_offset htvec, 2068
- .cfi_offset hscratch, 2304
- .cfi_offset hepc, 2308
- .cfi_offset hcause, 2312
- .cfi_offset hbadaddr, 2316
- .cfi_offset hip, 2320
.cfi_offset mbase, 3584
.cfi_offset mbound, 3588
.cfi_offset mibase, 3592
csr mucounteren # 0x320 in 1.9.1, dropped in 1.10, but the value is mcountinhibit since 1.11
csr dscratch # 0x7b2 in 1.10, but the value is dscratch0 since 1.11
- csr hstatus # 0x200, dropped in 1.10
- csr hedeleg # 0x202, dropped in 1.10
- csr hideleg # 0x203, dropped in 1.10
- csr hie # 0x204, dropped in 1.10
- csr htvec # 0x205, dropped in 1.10
- csr hscratch # 0x240, dropped in 1.10
- csr hepc # 0x241, dropped in 1.10
- csr hcause # 0x242, dropped in 1.10
- csr hbadaddr # 0x243, dropped in 1.10
- csr hip # 0x244, dropped in 1.10
csr mbase # 0x380, dropped in 1.10
csr mbound # 0x381, dropped in 1.10
csr mibase # 0x382, dropped in 1.10
.*Warning: invalid CSR `sptbr' for the privileged spec `1.10'
.*Warning: invalid CSR `mbadaddr' for the privileged spec `1.10'
.*Warning: invalid CSR `mucounteren' for the privileged spec `1.10'
-.*Warning: invalid CSR `hstatus' for the privileged spec `1.10'
-.*Warning: invalid CSR `hedeleg' for the privileged spec `1.10'
-.*Warning: invalid CSR `hideleg' for the privileged spec `1.10'
-.*Warning: invalid CSR `hie' for the privileged spec `1.10'
-.*Warning: invalid CSR `htvec' for the privileged spec `1.10'
-.*Warning: invalid CSR `hscratch' for the privileged spec `1.10'
-.*Warning: invalid CSR `hepc' for the privileged spec `1.10'
-.*Warning: invalid CSR `hcause' for the privileged spec `1.10'
-.*Warning: invalid CSR `hbadaddr' for the privileged spec `1.10'
-.*Warning: invalid CSR `hip' for the privileged spec `1.10'
.*Warning: invalid CSR `mbase' for the privileged spec `1.10'
.*Warning: invalid CSR `mbound' for the privileged spec `1.10'
.*Warning: invalid CSR `mibase' for the privileged spec `1.10'
.*Warning: invalid CSR `sptbr' for the privileged spec `1.11'
.*Warning: invalid CSR `mbadaddr' for the privileged spec `1.11'
.*Warning: invalid CSR `mucounteren' for the privileged spec `1.11'
-.*Warning: invalid CSR `hstatus' for the privileged spec `1.11'
-.*Warning: invalid CSR `hedeleg' for the privileged spec `1.11'
-.*Warning: invalid CSR `hideleg' for the privileged spec `1.11'
-.*Warning: invalid CSR `hie' for the privileged spec `1.11'
-.*Warning: invalid CSR `htvec' for the privileged spec `1.11'
-.*Warning: invalid CSR `hscratch' for the privileged spec `1.11'
-.*Warning: invalid CSR `hepc' for the privileged spec `1.11'
-.*Warning: invalid CSR `hcause' for the privileged spec `1.11'
-.*Warning: invalid CSR `hbadaddr' for the privileged spec `1.11'
-.*Warning: invalid CSR `hip' for the privileged spec `1.11'
.*Warning: invalid CSR `mbase' for the privileged spec `1.11'
.*Warning: invalid CSR `mbound' for the privileged spec `1.11'
.*Warning: invalid CSR `mibase' for the privileged spec `1.11'
[ ]+[0-9a-f]+:[ ]+18002573[ ]+csrr[ ]+a0,satp
[ ]+[0-9a-f]+:[ ]+34302573[ ]+csrr[ ]+a0,mtval
[ ]+[0-9a-f]+:[ ]+32002573[ ]+csrr[ ]+a0,0x320
-[ ]+[0-9a-f]+:[ ]+20002573[ ]+csrr[ ]+a0,0x200
-[ ]+[0-9a-f]+:[ ]+20202573[ ]+csrr[ ]+a0,0x202
-[ ]+[0-9a-f]+:[ ]+20302573[ ]+csrr[ ]+a0,0x203
-[ ]+[0-9a-f]+:[ ]+20402573[ ]+csrr[ ]+a0,0x204
-[ ]+[0-9a-f]+:[ ]+20502573[ ]+csrr[ ]+a0,0x205
-[ ]+[0-9a-f]+:[ ]+24002573[ ]+csrr[ ]+a0,0x240
-[ ]+[0-9a-f]+:[ ]+24102573[ ]+csrr[ ]+a0,0x241
-[ ]+[0-9a-f]+:[ ]+24202573[ ]+csrr[ ]+a0,0x242
-[ ]+[0-9a-f]+:[ ]+24302573[ ]+csrr[ ]+a0,0x243
-[ ]+[0-9a-f]+:[ ]+24402573[ ]+csrr[ ]+a0,0x244
[ ]+[0-9a-f]+:[ ]+38002573[ ]+csrr[ ]+a0,0x380
[ ]+[0-9a-f]+:[ ]+38102573[ ]+csrr[ ]+a0,0x381
[ ]+[0-9a-f]+:[ ]+38202573[ ]+csrr[ ]+a0,0x382
[ ]+[0-9a-f]+:[ ]+18002573[ ]+csrr[ ]+a0,satp
[ ]+[0-9a-f]+:[ ]+34302573[ ]+csrr[ ]+a0,mtval
[ ]+[0-9a-f]+:[ ]+32002573[ ]+csrr[ ]+a0,mcountinhibit
-[ ]+[0-9a-f]+:[ ]+20002573[ ]+csrr[ ]+a0,0x200
-[ ]+[0-9a-f]+:[ ]+20202573[ ]+csrr[ ]+a0,0x202
-[ ]+[0-9a-f]+:[ ]+20302573[ ]+csrr[ ]+a0,0x203
-[ ]+[0-9a-f]+:[ ]+20402573[ ]+csrr[ ]+a0,0x204
-[ ]+[0-9a-f]+:[ ]+20502573[ ]+csrr[ ]+a0,0x205
-[ ]+[0-9a-f]+:[ ]+24002573[ ]+csrr[ ]+a0,0x240
-[ ]+[0-9a-f]+:[ ]+24102573[ ]+csrr[ ]+a0,0x241
-[ ]+[0-9a-f]+:[ ]+24202573[ ]+csrr[ ]+a0,0x242
-[ ]+[0-9a-f]+:[ ]+24302573[ ]+csrr[ ]+a0,0x243
-[ ]+[0-9a-f]+:[ ]+24402573[ ]+csrr[ ]+a0,0x244
[ ]+[0-9a-f]+:[ ]+38002573[ ]+csrr[ ]+a0,0x380
[ ]+[0-9a-f]+:[ ]+38102573[ ]+csrr[ ]+a0,0x381
[ ]+[0-9a-f]+:[ ]+38202573[ ]+csrr[ ]+a0,0x382
[ ]+[0-9a-f]+:[ ]+18002573[ ]+csrr[ ]+a0,sptbr
[ ]+[0-9a-f]+:[ ]+34302573[ ]+csrr[ ]+a0,mbadaddr
[ ]+[0-9a-f]+:[ ]+32002573[ ]+csrr[ ]+a0,mucounteren
-[ ]+[0-9a-f]+:[ ]+20002573[ ]+csrr[ ]+a0,hstatus
-[ ]+[0-9a-f]+:[ ]+20202573[ ]+csrr[ ]+a0,hedeleg
-[ ]+[0-9a-f]+:[ ]+20302573[ ]+csrr[ ]+a0,hideleg
-[ ]+[0-9a-f]+:[ ]+20402573[ ]+csrr[ ]+a0,hie
-[ ]+[0-9a-f]+:[ ]+20502573[ ]+csrr[ ]+a0,htvec
-[ ]+[0-9a-f]+:[ ]+24002573[ ]+csrr[ ]+a0,hscratch
-[ ]+[0-9a-f]+:[ ]+24102573[ ]+csrr[ ]+a0,hepc
-[ ]+[0-9a-f]+:[ ]+24202573[ ]+csrr[ ]+a0,hcause
-[ ]+[0-9a-f]+:[ ]+24302573[ ]+csrr[ ]+a0,hbadaddr
-[ ]+[0-9a-f]+:[ ]+24402573[ ]+csrr[ ]+a0,hip
[ ]+[0-9a-f]+:[ ]+38002573[ ]+csrr[ ]+a0,mbase
[ ]+[0-9a-f]+:[ ]+38102573[ ]+csrr[ ]+a0,mbound
[ ]+[0-9a-f]+:[ ]+38202573[ ]+csrr[ ]+a0,mibase
csr mbadaddr # 0x343 in 1.9.1, but the value is mtval since 1.10
csr mucounteren # 0x320 in 1.9.1, dropped in 1.10, but the value is mcountinhibit since 1.11
- csr hstatus # 0x200, dropped in 1.10
- csr hedeleg # 0x202, dropped in 1.10
- csr hideleg # 0x203, dropped in 1.10
- csr hie # 0x204, dropped in 1.10
- csr htvec # 0x205, dropped in 1.10
- csr hscratch # 0x240, dropped in 1.10
- csr hepc # 0x241, dropped in 1.10
- csr hcause # 0x242, dropped in 1.10
- csr hbadaddr # 0x243, dropped in 1.10
- csr hip # 0x244, dropped in 1.10
csr mbase # 0x380, dropped in 1.10
csr mbound # 0x381, dropped in 1.10
csr mibase # 0x382, dropped in 1.10
#define CSR_MHPMEVENT29 0x33d
#define CSR_MHPMEVENT30 0x33e
#define CSR_MHPMEVENT31 0x33f
-#define CSR_HSTATUS 0x200
-#define CSR_HEDELEG 0x202
-#define CSR_HIDELEG 0x203
-#define CSR_HIE 0x204
-#define CSR_HTVEC 0x205
-#define CSR_HSCRATCH 0x240
-#define CSR_HEPC 0x241
-#define CSR_HCAUSE 0x242
-#define CSR_HBADADDR 0x243
-#define CSR_HIP 0x244
#define CSR_MBASE 0x380
#define CSR_MBOUND 0x381
#define CSR_MIBASE 0x382
DECLARE_CSR(mhpmevent30, CSR_MHPMEVENT30, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9P1, PRIV_SPEC_CLASS_DRAFT)
DECLARE_CSR(mhpmevent31, CSR_MHPMEVENT31, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9P1, PRIV_SPEC_CLASS_DRAFT)
/* Dropped CSRs. */
-DECLARE_CSR(hstatus, CSR_HSTATUS, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9P1, PRIV_SPEC_CLASS_1P10)
-DECLARE_CSR(hedeleg, CSR_HEDELEG, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9P1, PRIV_SPEC_CLASS_1P10)
-DECLARE_CSR(hideleg, CSR_HIDELEG, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9P1, PRIV_SPEC_CLASS_1P10)
-DECLARE_CSR(hie, CSR_HIE, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9P1, PRIV_SPEC_CLASS_1P10)
-DECLARE_CSR(htvec, CSR_HTVEC, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9P1, PRIV_SPEC_CLASS_1P10)
-DECLARE_CSR(hscratch, CSR_HSCRATCH, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9P1, PRIV_SPEC_CLASS_1P10)
-DECLARE_CSR(hepc, CSR_HEPC, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9P1, PRIV_SPEC_CLASS_1P10)
-DECLARE_CSR(hcause, CSR_HCAUSE, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9P1, PRIV_SPEC_CLASS_1P10)
-DECLARE_CSR(hbadaddr, CSR_HBADADDR, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9P1, PRIV_SPEC_CLASS_1P10)
-DECLARE_CSR(hip, CSR_HIP, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9P1, PRIV_SPEC_CLASS_1P10)
DECLARE_CSR(mbase, CSR_MBASE, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9P1, PRIV_SPEC_CLASS_1P10)
DECLARE_CSR(mbound, CSR_MBOUND, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9P1, PRIV_SPEC_CLASS_1P10)
DECLARE_CSR(mibase, CSR_MIBASE, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9P1, PRIV_SPEC_CLASS_1P10)