[0/1] RISC-V: Add 'Smcntrpmf' extension and its CSRs

Message ID cover.1693708909.git.research_trasio@irq.a4lg.com
Headers
Series RISC-V: Add 'Smcntrpmf' extension and its CSRs |

Message

Tsukasa OI Sept. 3, 2023, 2:42 a.m. UTC
  Hello,

This patch set implements the 'Smcntrpmf' extension:
<https://github.com/riscv/riscv-smcntrpmf/commit/32b752c40d59c1b5e95de83399c1f54be6669163>

This specification is frozen and now approved.

Note that, despite that this patch set is indepdendently created, it
resolved some issues of Jiawei's support patch for the same extension:
<https://sourceware.org/pipermail/binutils/2023-July/128550.html>

My patch implements the extension without removing "mscounteren" and
"mhcounteren" CSRs.

1.  "mscounteren" and "mhcounteren" CSRs are moved and marked as aliases.
2.  CSRs of the 'Smcntrpmf' extension is marked incompatible with the
    privileged specification version 1.9.1 (because it conflicts with
    "mscounteren" and "mhcounteren").

For 2., this is not normal for RISC-V extensions but considered necessary
(because of direct conflicts of the CSR values).  Thanks to them,
"mscounteren" and "mhcounteren" are preferred when disassembling with
the privileged specification 1.9.1 (that is more natural).

Other than that, this is a quite normal extension support patch set.

Thanks,
Tsukasa




Tsukasa OI (1):
  RISC-V: Add 'Smcntrpmf' extension and its CSRs

 bfd/elfxx-riscv.c                           |  2 ++
 gas/config/tc-riscv.c                       |  9 +++++
 gas/testsuite/gas/riscv/csr-dw-regnums.d    |  8 +++--
 gas/testsuite/gas/riscv/csr-dw-regnums.s    |  9 +++--
 gas/testsuite/gas/riscv/csr-version-1p10.d  | 16 ++++++---
 gas/testsuite/gas/riscv/csr-version-1p10.l  | 40 ++++++++++++++++-----
 gas/testsuite/gas/riscv/csr-version-1p11.d  | 16 ++++++---
 gas/testsuite/gas/riscv/csr-version-1p11.l  | 40 ++++++++++++++++-----
 gas/testsuite/gas/riscv/csr-version-1p12.d  | 16 ++++++---
 gas/testsuite/gas/riscv/csr-version-1p12.l  | 40 ++++++++++++++++-----
 gas/testsuite/gas/riscv/csr-version-1p9p1.d | 16 ++++++---
 gas/testsuite/gas/riscv/csr-version-1p9p1.l | 40 +++++++++++++++++++++
 gas/testsuite/gas/riscv/csr.s               | 10 ++++--
 include/opcode/riscv-opc.h                  | 14 ++++++--
 14 files changed, 228 insertions(+), 48 deletions(-)


base-commit: a496e1a71e1766d4bb02b241cb23e2e9874d2605