From patchwork Thu Nov 28 11:10:13 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dongyan Chen X-Patchwork-Id: 102010 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 0C3773858C48 for ; Thu, 28 Nov 2024 11:11:18 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 0C3773858C48 X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from cstnet.cn (smtp81.cstnet.cn [159.226.251.81]) by sourceware.org (Postfix) with ESMTPS id 780CE3858D20 for ; Thu, 28 Nov 2024 11:10:29 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 780CE3858D20 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=isrc.iscas.ac.cn Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=isrc.iscas.ac.cn ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 780CE3858D20 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=159.226.251.81 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1732792230; cv=none; b=sIWq8kmN4j6ESLmHwkvXBMI8v6XwOOZf++EO1zCAb4uyevj/m0tda9L5SqQFv6uQWNgNYptxv/ON/nBSVWc+c8xdLcQ0Km4ByeAaGqxqXNyLXgxXxOfZMoK6ZA4cgsOaimWtSM20VYRa+vdpa/wxiNHY92iTVIO2Ov5yBIXoECc= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1732792230; c=relaxed/simple; bh=uR+Ezt453RlPQuND6inLWPml1IRP05zwyc71YI7hUCo=; h=From:To:Subject:Date:Message-ID:MIME-Version; b=xZwEPXUUZFIrqKDyybVgkx5RIs5E7XQXd5Yw7klziprs6sdPJFCtZiQgOsQdokA5uJJd3sKjvvhV82E6/0X6IYQ4tznjRYJF+XF9OP6mVVJ+MCcxYisKh+xI267kcs3GTnx9rszd5SWeXx+G0Irx8sSenO45PnEqsL6iC1vJSbs= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 780CE3858D20 Received: from GNU.. (unknown [8.129.0.173]) by APP-03 (Coremail) with SMTP id rQCowACXduyYT0hnz2oOBg--.14104S2; Thu, 28 Nov 2024 19:10:18 +0800 (CST) From: Dongyan Chen To: binutils@sourceware.org Cc: kito.cheng@gmail.com, nelson@rivosinc.com, kito.cheng@sifive.com, wuwei2016@iscas.ac.cn, jiawei@iscas.ac.cn, shihua@iscas.ac.cn, chenyixuan@iscas.ac.cn, Dongyan Chen Subject: [PATCH] RISC-V: Add support for ssdbltrp and smdbltrp extension. Date: Thu, 28 Nov 2024 19:10:13 +0800 Message-ID: <20241128111013.10917-1-chendongyan@isrc.iscas.ac.cn> X-Mailer: git-send-email 2.43.0 MIME-Version: 1.0 X-CM-TRANSID: rQCowACXduyYT0hnz2oOBg--.14104S2 X-Coremail-Antispam: 1UD129KBjvJXoWxWFyrCrWfXr1xZryfuFyrXrb_yoW5KrW8pF Z3G3W09r9xWF13Xwn3J3W0grWxGw18ur1agw4Fvw1UWrZ3KrW5Xr1vyF1rAF4kXFs8Gw43 ua1aqrW3ua1UCaDanT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnRJUUUkm14x267AKxVW8JVW5JwAFc2x0x2IEx4CE42xK8VAvwI8IcIk0 rVWUuVWrJwAFIxvE14AKwVWUJVWUGwA2ocxC64kIII0Yj41l84x0c7CEw4AK67xGY2AK02 1l84ACjcxK6xIIjxv20xvE14v26r1j6r1xM28EF7xvwVC0I7IYx2IY6xkF7I0E14v26r1j 6r4UM28EF7xvwVC2z280aVAFwI0_Jr0_Gr1l84ACjcxK6I8E87Iv6xkF7I0E14v26r1j6r 4UM2AIxVAIcxkEcVAq07x20xvEncxIr21l5I8CrVACY4xI64kE6c02F40Ex7xfMcIj6xII jxv20xvE14v26r1j6r18McIj6I8E87Iv67AKxVWUJVW8JwAm72CE4IkC6x0Yz7v_Jr0_Gr 1lF7xvr2IYc2Ij64vIr41lF7I21c0EjII2zVCS5cI20VAGYxC7MxkF7I0En4kS14v26r1q 6r43MxAIw28IcxkI7VAKI48JMxC20s026xCaFVCjc4AY6r1j6r4UMI8I3I0E5I8CrVAFwI 0_Jr0_Jr4lx2IqxVCjr7xvwVAFwI0_JrI_JrWlx4CE17CEb7AF67AKxVWUtVW8ZwCIc40Y 0x0EwIxGrwCI42IY6xIIjxv20xvE14v26r1j6r1xMIIF0xvE2Ix0cI8IcVCY1x0267AKxV WUJVW8JwCI42IY6xAIw20EY4v20xvaj40_Jr0_JF4lIxAIcVC2z280aVAFwI0_Jr0_Gr1l IxAIcVC2z280aVCY1x0267AKxVWUJVW8JbIYCTnIWIevJa73UjIFyTuYvjfUonmRUUUUU X-Originating-IP: [8.129.0.173] X-CM-SenderInfo: hfkh0v5rqj5tnq6l223fol2u1dvotugofq/ X-Spam-Status: No, score=-14.3 required=5.0 tests=BAYES_00, GIT_PATCH_0, KAM_DMARC_STATUS, RCVD_IN_DNSWL_LOW, SPF_HELO_PASS, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: binutils-bounces~patchwork=sourceware.org@sourceware.org This implements the ssdbltrp extensons, version 1.0[1] and the smdbltrp extensions, version1.0[2]. [1] https://github.com/riscv/riscv-isa-manual/blob/main/src/ssdbltrp.adoc [2] https://github.com/riscv/riscv-isa-manual/blob/main/src/smdbltrp.adoc bfd/ChangeLog: * elfxx-riscv.c: Add 'ssdbltrp' and 'smdbltrp' to the list of konwn standard extensions. gas/ChangeLog: * NEWS: Updated. * config/tc-riscv.c (enum riscv_csr_class): (riscv_csr_address): Add CSR classes for Ssdbltrp/Smdbltrp. * testsuite/gas/riscv/march-help.l: Updated. --- bfd/elfxx-riscv.c | 4 ++++ gas/NEWS | 4 ++++ gas/config/tc-riscv.c | 8 ++++++++ gas/testsuite/gas/riscv/march-help.l | 2 ++ 4 files changed, 18 insertions(+) diff --git a/bfd/elfxx-riscv.c b/bfd/elfxx-riscv.c index 45da83e6926..49b4d5ca4eb 100644 --- a/bfd/elfxx-riscv.c +++ b/bfd/elfxx-riscv.c @@ -1272,6 +1272,8 @@ static struct riscv_implicit_subset riscv_implicit_subsets[] = {"sstvala", "+zicsr", check_implicit_always}, {"sstvecd", "+zicsr", check_implicit_always}, {"ssu64xl", "+zicsr", check_implicit_always}, + {"ssdbltrp", "+zicsr", check_implicit_always}, + {"smdbltrp", "+zicsr", check_implicit_always}, {"svade", "+zicsr", check_implicit_always}, {"svadu", "+zicsr", check_implicit_always}, @@ -1458,6 +1460,8 @@ static struct riscv_supported_ext riscv_supported_std_s_ext[] = {"sstvala", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 }, {"sstvecd", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 }, {"ssu64xl", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 }, + {"ssdbltrp", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 }, + {"smdbltrp", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 }, {"svade", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 }, {"svadu", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 }, {"svbare", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 }, diff --git a/gas/NEWS b/gas/NEWS index 23eda334ec6..38957fdd510 100644 --- a/gas/NEWS +++ b/gas/NEWS @@ -320,6 +320,10 @@ Changes in 2.38: * Add support for the RISC-V svinval extension, version 1.0. +* Add support for the RISC-V ssdbltrp extension, version 1.0. + +* Add support for the RISC-V smdbltrp extension, version 1.0. + * Add support for the RISC-V hypervisor extension, as defined by Privileged Specification 1.12. diff --git a/gas/config/tc-riscv.c b/gas/config/tc-riscv.c index 3fb7727c250..4cfb0c1e1ad 100644 --- a/gas/config/tc-riscv.c +++ b/gas/config/tc-riscv.c @@ -102,6 +102,8 @@ enum riscv_csr_class CSR_CLASS_SSTC_AND_H, /* Sstc only (with H) */ CSR_CLASS_SSTC_32, /* Sstc RV32 only */ CSR_CLASS_SSTC_AND_H_32, /* Sstc RV32 only (with H) */ + CSR_CLASS_SSDBLTRP, /* Ssdbltrp only */ + CSR_CLASS_SMDBLTRP, /* Smdbltrp only */ CSR_CLASS_XTHEADVECTOR, /* xtheadvector only */ }; @@ -1149,6 +1151,12 @@ riscv_csr_address (const char *csr_name, is_h_required = (csr_class == CSR_CLASS_SSTC_AND_H || csr_class == CSR_CLASS_SSTC_AND_H_32); extension = "sstc"; + break; + case CSR_CLASS_SSDBLTRP: + extension = "ssdbltrp"; + break; + case CSR_CLASS_SMDBLTRP: + extension = "smdbltrp"; break; case CSR_CLASS_DEBUG: break; diff --git a/gas/testsuite/gas/riscv/march-help.l b/gas/testsuite/gas/riscv/march-help.l index 71cccb77102..c3e51c0ca2b 100644 --- a/gas/testsuite/gas/riscv/march-help.l +++ b/gas/testsuite/gas/riscv/march-help.l @@ -127,6 +127,8 @@ All available -march extensions for RISC-V: sstvala 1.0 sstvecd 1.0 ssu64xl 1.0 + ssdbltrp 1.0 + smdbltrp 1.0 svade 1.0 svadu 1.0 svbare 1.0