[RFC PATCH 0/1] RISC-V: Add privileged extensions without instructions/CSRs

Tsukasa OI research_trasio@irq.a4lg.com
Thu Sep 22 07:58:55 GMT 2022


Hello,

Tracker on GitHub:
<https://github.com/a4lg/binutils-gdb/wiki/riscv_priv_ext_without_insn_or_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,
I started considering adding them to GNU Binutils' supported extension list.

One of the reason is simple: if we do that, 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 support this theory: there's already an
(unprivileged) extension which does not provide CSRs or instructions (not
even pseudoinstructions; but only an architectural guarantee): 'Zkt'
(constant timing guarantee for certain subset of RISC-V instructions).


This simple patchset simply adds three privileged extensions I described
above and I want to hear your thoughts.

If this is acceptable for GNU Binutils, doing the same (or accepting all
privileged extensions) to GCC might be an option.  It might not benefit
regular C/C++ programs but it absolutely helps compiling .S (assembler file
but must pass C preprocessor first).


Thanks,
Tsukasa




Tsukasa OI (1):
  RISC-V: Add privileged extensions without instructions/CSRs

 bfd/elfxx-riscv.c | 3 +++
 1 file changed, 3 insertions(+)


base-commit: 0383bce6502271455804daa533c9d141e7c3fc98
-- 
2.34.1



More information about the Binutils mailing list