RISC-V: Add privileged extensions without instructions/CSRs
authorTsukasa OI <research_trasio@irq.a4lg.com>
Sat, 10 Sep 2022 06:49:43 +0000 (06:49 +0000)
committerTsukasa OI <research_trasio@irq.a4lg.com>
Fri, 30 Sep 2022 04:02:13 +0000 (04:02 +0000)
commitd6b99a80716d2f0e21baae97a8653204dd354ad3
tree2b929f2c661f19267768d8e1753062b0706156d8
parentf3700471469ac0f395961e92892bc5d6e17ca177
RISC-V: Add privileged extensions without instructions/CSRs

Currently, GNU Binutils does not support following privileged extensions:

-   'Smepmp'
-   'Svnapot'
-   'Svpbmt'

as they do not provide new CSRs or new instructions ('Smepmp' extends the
privileged architecture CSRs but does not define the CSR itself).  However,
adding them might be useful as we no longer have to "filter" ISA strings
just for toolchains (if full ISA string is given by a vendor, we can
straightly use it).

And there's a fact that supports this theory: there's already an
(unprivileged) extension which does not provide CSRs or instructions (but
only an architectural guarantee): 'Zkt' (constant timing guarantee for
certain subset of RISC-V instructions).

This simple commit simply adds three privileged extensions listed above.

bfd/ChangeLog:

* elfxx-riscv.c (riscv_supported_std_s_ext): Add 'Smepmp',
'Svnapot' and 'Svpbmt' extensions.
bfd/elfxx-riscv.c