[v1 0/4]riscv/binutils support Hypervisor Extension

Palmer Dabbelt palmer@dabbelt.com
Thu Dec 23 01:35:37 GMT 2021


On Mon, 20 Dec 2021 18:34:11 PST (-0800), Vineet Gupta wrote:
> Hi,
>
> This patchset adds support for Hypervisor Extension ratified recently
> [1].
>
> Changes since RFC [2]:
>
>   - Drop support for single-letter arch string "h".
>     'H' extension is currently supported unconditionally so keep status quo.

WFM: there's no name for this, so just keeping it as part of the base 
ISA seems like the best we can do.  It certainly matches the precedent 
we've set a bunch of times before, and holding this up because we can't 
name it is just silly.

>   - H-ext support in Priv spec 1.9.1 dropped, broken out as seperate patch.
>
> Please review/comment !

I think I said this in the RFC, but we generally don't drop support for 
stuff we have.  In theory removing the 1.9.1 CSRs is something that 
would break users, but I think we're pretty safe here because these 
vestigial bits of the hypervisor extension never really did anything so

Reviewed-by: Palmer Dabbelt <palmer@rivosinc.com>

In the unlikely event that anyone's actually using this, now's the time 
to speak up!

Thanks!

> Thx,
> -Vineet
>
> [1] https://wiki.riscv.org/display/TECH/Recently+Ratified+Extensions
> [2] https://sourceware.org/pipermail/binutils/2021-December/118914.html
>
> Vineet Gupta (4):
>   RISC-V: Hypervisor ext: drop Privileged Spec 1.9.1
>     implementation/tests
>   RISC-V: Hypervisor ext: support Privileged Spec 1.12
>   RISC-V: Hypervisor Ext: Add tests
>   RISC-V: fix a comment for adding CSR entry and annotate switch-break
>
>  bfd/cpu-riscv.c                               |   1 +
>  bfd/cpu-riscv.h                               |   1 +
>  bfd/elfxx-riscv.c                             |   6 +
>  gas/config/tc-riscv.c                         |  10 +-
>  gas/testsuite/gas/riscv/csr-dw-regnums.d      |  10 --
>  gas/testsuite/gas/riscv/csr-dw-regnums.s      |  10 --
>  gas/testsuite/gas/riscv/h-ext-32.d            |  74 ++++++++++++
>  gas/testsuite/gas/riscv/h-ext-32.s            |  64 ++++++++++
>  gas/testsuite/gas/riscv/h-ext-64.d            |  73 ++++++++++++
>  gas/testsuite/gas/riscv/h-ext-64.s            |  63 ++++++++++
>  .../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 --
>  gas/testsuite/gas/riscv/svinval-and-h.d       |  15 +++
>  gas/testsuite/gas/riscv/svinval-and-h.s       |   5 +
>  include/opcode/riscv-opc.h                    | 110 ++++++++++++++----
>  include/opcode/riscv.h                        |   2 +
>  opcodes/riscv-opc.c                           |  26 ++++-
>  22 files changed, 423 insertions(+), 117 deletions(-)
>  create mode 100644 gas/testsuite/gas/riscv/h-ext-32.d
>  create mode 100644 gas/testsuite/gas/riscv/h-ext-32.s
>  create mode 100644 gas/testsuite/gas/riscv/h-ext-64.d
>  create mode 100644 gas/testsuite/gas/riscv/h-ext-64.s
>  create mode 100644 gas/testsuite/gas/riscv/svinval-and-h.d
>  create mode 100644 gas/testsuite/gas/riscv/svinval-and-h.s


More information about the Binutils mailing list