[v1 1/4] RISC-V: Hypervisor ext: drop Privileged Spec 1.9.1 implementation/tests

Nelson Chu nelson.chu@sifive.com
Fri Dec 24 08:23:45 GMT 2021


LGTM, committed.

Thanks
Nelson

On Tue, Dec 21, 2021 at 10:34 AM Vineet Gupta <vineetg@rivosinc.com> wrote:
>
> 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>
> ---
>  gas/testsuite/gas/riscv/csr-dw-regnums.d      | 10 ----------
>  gas/testsuite/gas/riscv/csr-dw-regnums.s      | 10 ----------
>  .../gas/riscv/priv-reg-fail-read-only-01.s    | 10 ----------
>  .../gas/riscv/priv-reg-fail-version-1p10.l    | 10 ----------
>  .../gas/riscv/priv-reg-fail-version-1p11.l    | 10 ----------
>  .../gas/riscv/priv-reg-version-1p10.d         | 10 ----------
>  .../gas/riscv/priv-reg-version-1p11.d         | 10 ----------
>  .../gas/riscv/priv-reg-version-1p9p1.d        | 10 ----------
>  gas/testsuite/gas/riscv/priv-reg.s            | 10 ----------
>  include/opcode/riscv-opc.h                    | 20 -------------------
>  10 files changed, 110 deletions(-)
>
> diff --git a/gas/testsuite/gas/riscv/csr-dw-regnums.d b/gas/testsuite/gas/riscv/csr-dw-regnums.d
> index de17ad81fbde..ea0a445c39ce 100644
> --- a/gas/testsuite/gas/riscv/csr-dw-regnums.d
> +++ b/gas/testsuite/gas/riscv/csr-dw-regnums.d
> @@ -229,16 +229,6 @@ Contents of the .* section:
>    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
> diff --git a/gas/testsuite/gas/riscv/csr-dw-regnums.s b/gas/testsuite/gas/riscv/csr-dw-regnums.s
> index ecc801469763..549475d650e8 100644
> --- a/gas/testsuite/gas/riscv/csr-dw-regnums.s
> +++ b/gas/testsuite/gas/riscv/csr-dw-regnums.s
> @@ -220,16 +220,6 @@ _start:
>         .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
> diff --git a/gas/testsuite/gas/riscv/priv-reg-fail-read-only-01.s b/gas/testsuite/gas/riscv/priv-reg-fail-read-only-01.s
> index af0fc4e14a42..aff34e9a3470 100644
> --- a/gas/testsuite/gas/riscv/priv-reg-fail-read-only-01.s
> +++ b/gas/testsuite/gas/riscv/priv-reg-fail-read-only-01.s
> @@ -249,16 +249,6 @@
>         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
> diff --git a/gas/testsuite/gas/riscv/priv-reg-fail-version-1p10.l b/gas/testsuite/gas/riscv/priv-reg-fail-version-1p10.l
> index fbba6e525670..5f7a8d60d7dd 100644
> --- a/gas/testsuite/gas/riscv/priv-reg-fail-version-1p10.l
> +++ b/gas/testsuite/gas/riscv/priv-reg-fail-version-1p10.l
> @@ -5,16 +5,6 @@
>  .*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'
> diff --git a/gas/testsuite/gas/riscv/priv-reg-fail-version-1p11.l b/gas/testsuite/gas/riscv/priv-reg-fail-version-1p11.l
> index 68354ce25ce9..888cbb211d7f 100644
> --- a/gas/testsuite/gas/riscv/priv-reg-fail-version-1p11.l
> +++ b/gas/testsuite/gas/riscv/priv-reg-fail-version-1p11.l
> @@ -4,16 +4,6 @@
>  .*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'
> diff --git a/gas/testsuite/gas/riscv/priv-reg-version-1p10.d b/gas/testsuite/gas/riscv/priv-reg-version-1p10.d
> index ee4f405adaae..44e9af63a31f 100644
> --- a/gas/testsuite/gas/riscv/priv-reg-version-1p10.d
> +++ b/gas/testsuite/gas/riscv/priv-reg-version-1p10.d
> @@ -225,16 +225,6 @@ Disassembly of section .text:
>  [      ]+[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
> diff --git a/gas/testsuite/gas/riscv/priv-reg-version-1p11.d b/gas/testsuite/gas/riscv/priv-reg-version-1p11.d
> index 185e84dbd70f..c456cb945689 100644
> --- a/gas/testsuite/gas/riscv/priv-reg-version-1p11.d
> +++ b/gas/testsuite/gas/riscv/priv-reg-version-1p11.d
> @@ -225,16 +225,6 @@ Disassembly of section .text:
>  [      ]+[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
> diff --git a/gas/testsuite/gas/riscv/priv-reg-version-1p9p1.d b/gas/testsuite/gas/riscv/priv-reg-version-1p9p1.d
> index 0e0ba7797014..432aecc6691c 100644
> --- a/gas/testsuite/gas/riscv/priv-reg-version-1p9p1.d
> +++ b/gas/testsuite/gas/riscv/priv-reg-version-1p9p1.d
> @@ -225,16 +225,6 @@ Disassembly of section .text:
>  [      ]+[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
> diff --git a/gas/testsuite/gas/riscv/priv-reg.s b/gas/testsuite/gas/riscv/priv-reg.s
> index 5cf3ebc1b3e0..8c507fec4bb9 100644
> --- a/gas/testsuite/gas/riscv/priv-reg.s
> +++ b/gas/testsuite/gas/riscv/priv-reg.s
> @@ -234,16 +234,6 @@
>         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
> diff --git a/include/opcode/riscv-opc.h b/include/opcode/riscv-opc.h
> index a6ece366fa48..2486f13c9fd3 100644
> --- a/include/opcode/riscv-opc.h
> +++ b/include/opcode/riscv-opc.h
> @@ -2211,16 +2211,6 @@
>  #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
> @@ -2781,16 +2771,6 @@ DECLARE_CSR(mhpmevent29, CSR_MHPMEVENT29, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9P1, PR
>  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)
> --
> 2.30.2
>


More information about the Binutils mailing list