[REVIEW ONLY 0/1] RISC-V (unratified): Add 'Smrnmi' extension

Tsukasa OI research_trasio@irq.a4lg.com
Sat Jul 9 08:53:23 GMT 2022


*** WAIT FOR SPECIFICATION FREEZE ***
This is an implementation for unratified and unfrozen RISC-V extension
and not intended to be merged as of now.
The only intent to submit this patchset is to test new instructions for
your (possibly virtual) environment and early review for fast adoption
after ratification.


This patchset adds following unratified extension to GNU Binutils:

-   Smrnmi (Resumable NMI)
    version 0.4 (may change on ratification)

... which adds `mnret' instruction and 4 CSRs related to RNMI.

This is based on a pull request to riscv-isa-manual:
<https://github.com/riscv/riscv-isa-manual/pull/766>

Note that it has **different** CSR values between proposed RNMI version
0.4 and RNMI as optionally implemented in SiFive U74-MC:
<https://sifive.cdn.prismic.io/sifive/2dd11994-693c-4360-8aea-5453d8642c42_u74mc_core_complex_manual_21G3.pdf>

CSR       | proposed | SiFive |
--------- | -------- | ------ |
mnscratch | 0x740    | 0x350  |
mnepc     | 0x741    | 0x351  |
mncause   | 0x742    | 0x352  |
mnstatus  | 0x744    | 0x353  |




Tsukasa OI (1):
  UNRATIFIED RISC-V: Add 'Smrnmi' extension

 bfd/elfxx-riscv.c                           |  5 +++++
 gas/config/tc-riscv.c                       |  4 ++++
 gas/testsuite/gas/riscv/csr-dw-regnums.d    |  4 ++++
 gas/testsuite/gas/riscv/csr-dw-regnums.s    |  5 +++++
 gas/testsuite/gas/riscv/csr-version-1p10.d  |  8 ++++++++
 gas/testsuite/gas/riscv/csr-version-1p10.l  |  8 ++++++++
 gas/testsuite/gas/riscv/csr-version-1p11.d  |  8 ++++++++
 gas/testsuite/gas/riscv/csr-version-1p11.l  |  8 ++++++++
 gas/testsuite/gas/riscv/csr-version-1p12.d  |  8 ++++++++
 gas/testsuite/gas/riscv/csr-version-1p12.l  |  8 ++++++++
 gas/testsuite/gas/riscv/csr-version-1p9p1.d |  8 ++++++++
 gas/testsuite/gas/riscv/csr-version-1p9p1.l |  8 ++++++++
 gas/testsuite/gas/riscv/csr.s               |  6 ++++++
 gas/testsuite/gas/riscv/smrnmi.d            | 10 ++++++++++
 gas/testsuite/gas/riscv/smrnmi.s            |  2 ++
 include/opcode/riscv-opc.h                  | 14 ++++++++++++++
 include/opcode/riscv.h                      |  1 +
 opcodes/riscv-opc.c                         |  3 +++
 18 files changed, 118 insertions(+)
 create mode 100644 gas/testsuite/gas/riscv/smrnmi.d
 create mode 100644 gas/testsuite/gas/riscv/smrnmi.s


base-commit: d2acd4b0c5bab349aaa152d60268bc144634a844
-- 
2.34.1



More information about the Binutils mailing list