[REVIEW,ONLY,0/2] UNRATIFIED RISC-V: Add 'Sspmp' extension and its TENTATIVE CSRs

Message ID cover.1669684854.git.research_trasio@irq.a4lg.com
Headers
Series UNRATIFIED RISC-V: Add 'Sspmp' extension and its TENTATIVE CSRs |

Message

Tsukasa OI Nov. 29, 2022, 1:20 a.m. UTC
  *** WAIT FOR SPECIFICATION FREEZE ***
This is an implementation for unratified and not frozen RISC-V extension
and not intended to be merged for 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:

-   'Sspmp' (S-mode Physical Memory Protection - SPMP)
    version 0.8 (may change on ratification)

which adds 82 CSRs.

This extension, like regular PMP in M-mode, provides SPMP feature when
virtual memory system (paging) is not enabled.  Because of different
usecases than regular PMP, it comes with 2 CSRs to provide fast enabled
SPMP entry switching.


This is based on the commit c1e38ede20e4 of the specification document:
<https://github.com/riscv/riscv-spmp>


Note that all (82) CSR values are not allocated yet.
So, these CSRs are assigned with custom range values and this patchset comes
with an instantiation script ("$(srcdir)/instantiate-sspmp.sh") to assign
custom values (overwrites all related files and removes itself).




Tsukasa OI (2):
  UNRATIFIED RISC-V: Add 'Sspmp' extension and its TENTATIVE CSRs
  TEST: Add instantiation script on CSR allocation

 bfd/elfxx-riscv.c                           |   2 +
 gas/config/tc-riscv.c                       |   7 +
 gas/testsuite/gas/riscv/csr-dw-regnums.d    |  82 +++++++++
 gas/testsuite/gas/riscv/csr-dw-regnums.s    |  83 +++++++++
 gas/testsuite/gas/riscv/csr-version-1p10.d  | 164 ++++++++++++++++++
 gas/testsuite/gas/riscv/csr-version-1p10.l  | 182 ++++++++++++++++++++
 gas/testsuite/gas/riscv/csr-version-1p11.d  | 164 ++++++++++++++++++
 gas/testsuite/gas/riscv/csr-version-1p11.l  | 182 ++++++++++++++++++++
 gas/testsuite/gas/riscv/csr-version-1p12.d  | 164 ++++++++++++++++++
 gas/testsuite/gas/riscv/csr-version-1p12.l  | 182 ++++++++++++++++++++
 gas/testsuite/gas/riscv/csr-version-1p9p1.d | 164 ++++++++++++++++++
 gas/testsuite/gas/riscv/csr-version-1p9p1.l | 182 ++++++++++++++++++++
 gas/testsuite/gas/riscv/csr.s               |  84 +++++++++
 include/opcode/riscv-opc.h                  | 166 ++++++++++++++++++
 instantiate-sspmp.sh                        | 130 ++++++++++++++
 15 files changed, 1938 insertions(+)
 create mode 100755 instantiate-sspmp.sh


base-commit: cb44f89ce977b1ab2d4063f2487950bddfb75bc7