[PATCH v2] RISC-V: Support ssctr/smctr extensions with frozen version 1.0.
Nelson Chu
nelson@rivosinc.com
Fri Jan 17 04:41:47 GMT 2025
Committed, thanks.
Nelson
On Wed, Jan 15, 2025 at 7:59 AM Nelson Chu <nelson@rivosinc.com> wrote:
> It seems the spec was ratified two months ago, so I will merge it before
> the 2.44 branch is created this weekend.
>
> Thanks
> Nelson
>
> On Tue, Jun 18, 2024 at 12:48 PM Nelson Chu <nelson@rivosinc.com> wrote:
>
>>
>> https://github.com/riscv/riscv-control-transfer-records/releases/tag/v1.0.0_rc2
>>
>> The privileged spec v1.10 already removed the sfence.vm instruction, and
>> the
>> encoding of sfence.vm instruction is overlapped with the sctrclr
>> instruction
>> of ssctr/smctr. But since the privileged spec v1.10 already removed the
>> sfence.vm, and we no longer support the privileged spec v1.9.1 for now, we
>> had to remove the sfence.vm.
>>
>> bfd/
>> * elfxx-riscv.c (riscv_implicit_subsets): Imply zicsr for
>> ssctr/smctr.
>> (riscv_supported_std_s_ext): Added ssctr/smctr with version 1.0.
>> (riscv_multi_subset_supports): Handle INSN_CLASS for ssctr/smctr.
>> (riscv_multi_subset_supports_ext): Likewise.
>> gas/
>> * config/tc-riscv.c (enum riscv_csr_class, riscv_csr_address):
>> Added and handle CSR_CLASS_SSCTR and CSR_CLASS_SMCTR.
>> (riscv_is_priv_insn): Removed SFENCE_VM check.
>> * testsuite/gas/riscv/attribute-14e.d: Removed since sfence.vm is
>> no
>> longer supported since privileged spec v1.10.
>> * testsuite/gas/riscv/attribute-14.s: Likewise.
>> * testsuite/gas/riscv/csr-version-1p10.d: Updated for ssctr/smctr
>> CSRs.
>> * testsuite/gas/riscv/csr-version-1p10.l: Likewise.
>> * testsuite/gas/riscv/csr-version-1p11.d: Likewise.
>> * testsuite/gas/riscv/csr-version-1p11.l: Likewise.
>> * testsuite/gas/riscv/csr-version-1p12.d: Likewise.
>> * testsuite/gas/riscv/csr-version-1p12.l: Likewise.
>> * testsuite/gas/riscv/csr.s: Likewise.
>> * testsuite/gas/riscv/csr-dw-regnums.d: Likewise.
>> * testsuite/gas/riscv/csr-dw-regnums.s: Likewise.
>> * testsuite/gas/riscv/march-help.l: Updated for ssctr/smctr.
>> * testsuite/gas/riscv/smctr-ssctr.d: New testcase for sctr
>> instruction.
>> * testsuite/gas/riscv/smctr-ssctr.s: Likewise.
>> include/
>> * opcode/riscv-opc.h: Added encoding macro for sctrclr, but
>> removed
>> encoding macro for sfence.vm since encoding conflict. Added CSR
>> numbers for ssctr/smctr CSRs.
>> * opcode/riscv.h (enum riscv_insn_class): Added
>> INSN_CLASS_SMCTR_OR_SSCTR for sctrclr.
>> opcodes/
>> * riscv-opc.c (riscv_opcodes): Added sctrclr, but removed
>> sfence.vm
>> since encoding conflict.
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://sourceware.org/pipermail/binutils/attachments/20250117/e25d131f/attachment-0001.htm>
More information about the Binutils
mailing list