From patchwork Tue Nov 29 01:20:57 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tsukasa OI X-Patchwork-Id: 26997 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp54970wrr; Mon, 28 Nov 2022 17:22:07 -0800 (PST) X-Google-Smtp-Source: AA0mqf54t69y/gsMGNQ865AMoD3jagRYLulJWsw2ngzOJwtCgeaLNQ6Un0SYqOpt+MyxVlPbUNDp X-Received: by 2002:a05:6402:100b:b0:461:f1c6:1f22 with SMTP id c11-20020a056402100b00b00461f1c61f22mr36225552edu.95.1669684927139; Mon, 28 Nov 2022 17:22:07 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1669684927; cv=none; d=google.com; s=arc-20160816; b=dYuR5nupf/+dSfLOZGg+PDSJHqnDrv6z243AsXVJzl1fqQV0sstcfuZh8LLhwUBIU3 agzMzjT0ishYmETKOQGAyUvVqrbnpyw8Y6K1Vx2zZLcqdVhw/1Hp+lkQf7wfSiJ1G0VA ZBXMPvX8qtfBYiitmKU4gxai7IYlPWOANCemu20WkRgOpkNi+w7pLbSz53GRx/L/Ggw1 1Uj6nO46UJLEHWpjN6WvUDvMHCKE9QvBYdkEg+AZr0rMATIUqgOj0UzDm7WcvqogVapx CbCy2OHUlM9OM/Rb4dMc+AXt9idIGnJQLksHhQub1NnZyRPt1O8w2tF93p24ABOJk3yr MDjQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:reply-to:from:list-subscribe:list-help:list-post :list-archive:list-unsubscribe:list-id:precedence :content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:dmarc-filter:delivered-to :dkim-signature:dkim-filter; bh=rxZ8MZOP4ytIIaApRWjPn/kF9fMkuKV0GdsR35N0KWg=; b=XEm28cCuhMqK6Y0fUwRyFpJn5H5wb/xP8WQ4EIO5tRlLUTl4bbBHOWun10XrpngOYe EdGl0/zlCGAmXEfC/I2Rh1Wr508p1oyNJqlbocUxiS58M70WeE7SiVwOzSjOX2mGNVWc MgkM8CRdAUKRZXo7tUzsZrOIT0vb9M2VCpabz2EN2dj+4M7ZxDe7sdh2IBE+akWzutfF gMku4yqvxOc0FcSfW1H13UjGL5Tv+bLS12LTDmEbwULhsU3LxD4UHKmmXw6tFs95x/pk zOjYJQOAt5Kmt/+yTijg80Hv2tADjXrpdpDsVEX6bGrNKi1BkW7zW7LV/dhhUySEMkw2 zw3Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@sourceware.org header.s=default header.b=lEk8XB6j; spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="binutils-bounces+ouuuleilei=gmail.com@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=sourceware.org Received: from sourceware.org (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id l6-20020a056402028600b0046b6da777ecsi1113268edv.451.2022.11.28.17.22.06 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 28 Nov 2022 17:22:07 -0800 (PST) Received-SPF: pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) client-ip=2620:52:3:1:0:246e:9693:128c; Authentication-Results: mx.google.com; dkim=pass header.i=@sourceware.org header.s=default header.b=lEk8XB6j; spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="binutils-bounces+ouuuleilei=gmail.com@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 06C1F384F6C7 for ; Tue, 29 Nov 2022 01:21:33 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 06C1F384F6C7 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1669684893; bh=rxZ8MZOP4ytIIaApRWjPn/kF9fMkuKV0GdsR35N0KWg=; h=To:Cc:Subject:Date:In-Reply-To:References:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From:Reply-To:From; b=lEk8XB6jD6xvavBoQrmQBlktU0oM9a8sHcVE/Esj8pLNIRpMa10EcVzdt2pu0ISaD XDI6SOJ4XonlaqM20mPvDHmE2BA1V2kKZW1iyEyogIEghGMZdQs7YDWi76oDbqI/K0 ap7nU/KGkuqnQAlPG80cOEl4YVMpmSGAgIwSI5qE= X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from mail-sender-0.a4lg.com (mail-sender-0.a4lg.com [IPv6:2401:2500:203:30b:4000:6bfe:4757:0]) by sourceware.org (Postfix) with ESMTPS id 709A8385802F for ; Tue, 29 Nov 2022 01:21:18 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 709A8385802F Received: from [127.0.0.1] (localhost [127.0.0.1]) by mail-sender-0.a4lg.com (Postfix) with ESMTPSA id B9E8C300089; Tue, 29 Nov 2022 01:21:16 +0000 (UTC) To: Tsukasa OI Cc: binutils@sourceware.org Subject: [REVIEW ONLY 1/2] UNRATIFIED RISC-V: Add 'Sspmp' extension and its TENTATIVE CSRs Date: Tue, 29 Nov 2022 01:20:57 +0000 Message-Id: <54d777ce6e71c02b8b0f9426367e98d0f927ce40.1669684854.git.research_trasio@irq.a4lg.com> In-Reply-To: References: Mime-Version: 1.0 X-Spam-Status: No, score=-12.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, GIT_PATCH_0, SPF_HELO_NONE, 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.29 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Tsukasa OI via Binutils From: Tsukasa OI Reply-To: Tsukasa OI Errors-To: binutils-bounces+ouuuleilei=gmail.com@sourceware.org Sender: "Binutils" X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1750791515085282835?= X-GMAIL-MSGID: =?utf-8?q?1750791542131931483?= From: Tsukasa OI [DO NOT MERGE] Until 'Sspmp' extension is frozen/ratified and final version number is determined, this patch should not be merged upstream. This commit uses unratified version 0.8 as in the documentation (instead of possible 1.0 after ratification). This commit adds RISC-V S-mode Physical Memory Protection (SPMP) version 0.8 based on the specification: Note Because CSR addresses are not fixed yet, this commit uses tentative addresses (a part of custom CSR space). bfd/ChangeLog: * elfxx-riscv.c (riscv_implicit_subsets) Add implication 'Sspmp' -> 'Zicsr'. (riscv_supported_std_s_ext): Add 'Sspmp' extension to valid 'S' extension list. gas/ChangeLog: * config/tc-riscv.c (enum riscv_csr_class): Add CSR classes for the 'Sspmp' extension. (riscv_csr_address): Add handling for new CSR classes. * testsuite/gas/riscv/csr-dw-regnums.d: Add new CSRs. * testsuite/gas/riscv/csr-dw-regnums.s: Likewise. * testsuite/gas/riscv/csr.s: Add new CSRs. * testsuite/gas/riscv/csr-version-1p9p1.d: Likewise. * testsuite/gas/riscv/csr-version-1p9p1.l: Likewise. * testsuite/gas/riscv/csr-version-1p10.d: Likewise. * 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. include/ChangeLog: * opcode/riscv-opc.h (CSR_SPMPCFG0, CSR_SPMPCFG1, CSR_SPMPCFG2, CSR_SPMPCFG3, CSR_SPMPCFG4, CSR_SPMPCFG5, CSR_SPMPCFG6, CSR_SPMPCFG7, CSR_SPMPCFG8, CSR_SPMPCFG9, CSR_SPMPCFG10, CSR_SPMPCFG11, CSR_SPMPCFG12, CSR_SPMPCFG13, CSR_SPMPCFG14, CSR_SPMPCFG15, CSR_SPMPSWITCH0, CSR_SPMPSWITCH1, CSR_SPMPADDR0, CSR_SPMPADDR1, CSR_SPMPADDR2, CSR_SPMPADDR3, CSR_SPMPADDR4, CSR_SPMPADDR5, CSR_SPMPADDR6, CSR_SPMPADDR7, CSR_SPMPADDR8, CSR_SPMPADDR9, CSR_SPMPADDR10, CSR_SPMPADDR11, CSR_SPMPADDR12, CSR_SPMPADDR13, CSR_SPMPADDR14, CSR_SPMPADDR15, CSR_SPMPADDR16, CSR_SPMPADDR17, CSR_SPMPADDR18, CSR_SPMPADDR19, CSR_SPMPADDR20, CSR_SPMPADDR21, CSR_SPMPADDR22, CSR_SPMPADDR23, CSR_SPMPADDR24, CSR_SPMPADDR25, CSR_SPMPADDR26, CSR_SPMPADDR27, CSR_SPMPADDR28, CSR_SPMPADDR29, CSR_SPMPADDR30, CSR_SPMPADDR31, CSR_SPMPADDR32, CSR_SPMPADDR33, CSR_SPMPADDR34, CSR_SPMPADDR35, CSR_SPMPADDR36, CSR_SPMPADDR37, CSR_SPMPADDR38, CSR_SPMPADDR39, CSR_SPMPADDR40, CSR_SPMPADDR41, CSR_SPMPADDR42, CSR_SPMPADDR43, CSR_SPMPADDR44, CSR_SPMPADDR45, CSR_SPMPADDR46, CSR_SPMPADDR47, CSR_SPMPADDR48, CSR_SPMPADDR49, CSR_SPMPADDR50, CSR_SPMPADDR51, CSR_SPMPADDR52, CSR_SPMPADDR53, CSR_SPMPADDR54, CSR_SPMPADDR55, CSR_SPMPADDR56, CSR_SPMPADDR57, CSR_SPMPADDR58, CSR_SPMPADDR59, CSR_SPMPADDR60, CSR_SPMPADDR61, CSR_SPMPADDR62, CSR_SPMPADDR63): New. Reviewed-by: Palmer Dabbelt # pending freeze --- bfd/elfxx-riscv.c | 2 + gas/config/tc-riscv.c | 7 + gas/testsuite/gas/riscv/csr-dw-regnums.d | 82 +++++++++ gas/testsuite/gas/riscv/csr-dw-regnums.s | 83 +++++++++ gas/testsuite/gas/riscv/csr-version-1p10.d | 164 ++++++++++++++++++ gas/testsuite/gas/riscv/csr-version-1p10.l | 182 ++++++++++++++++++++ gas/testsuite/gas/riscv/csr-version-1p11.d | 164 ++++++++++++++++++ gas/testsuite/gas/riscv/csr-version-1p11.l | 182 ++++++++++++++++++++ gas/testsuite/gas/riscv/csr-version-1p12.d | 164 ++++++++++++++++++ gas/testsuite/gas/riscv/csr-version-1p12.l | 182 ++++++++++++++++++++ gas/testsuite/gas/riscv/csr-version-1p9p1.d | 164 ++++++++++++++++++ gas/testsuite/gas/riscv/csr-version-1p9p1.l | 182 ++++++++++++++++++++ gas/testsuite/gas/riscv/csr.s | 84 +++++++++ include/opcode/riscv-opc.h | 166 ++++++++++++++++++ 14 files changed, 1808 insertions(+) diff --git a/bfd/elfxx-riscv.c b/bfd/elfxx-riscv.c index 0bcf2fdcfa34..c810b7d106e1 100644 --- a/bfd/elfxx-riscv.c +++ b/bfd/elfxx-riscv.c @@ -1106,6 +1106,7 @@ static struct riscv_implicit_subset riscv_implicit_subsets[] = {"smepmp", "zicsr", check_implicit_always}, {"ssaia", "zicsr", check_implicit_always}, {"sscofpmf", "zicsr", check_implicit_always}, + {"sspmp", "zicsr", check_implicit_always}, {"ssstateen", "zicsr", check_implicit_always}, {"sstc", "zicsr", check_implicit_always}, {NULL, NULL, NULL} @@ -1228,6 +1229,7 @@ static struct riscv_supported_ext riscv_supported_std_s_ext[] = {"smstateen", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 }, {"ssaia", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 }, {"sscofpmf", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 }, + {"sspmp", ISA_SPEC_CLASS_DRAFT, 0, 8, 0 }, {"ssstateen", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 }, {"sstc", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 }, {"svinval", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 }, diff --git a/gas/config/tc-riscv.c b/gas/config/tc-riscv.c index 0682eb355241..15a151580d18 100644 --- a/gas/config/tc-riscv.c +++ b/gas/config/tc-riscv.c @@ -80,6 +80,8 @@ enum riscv_csr_class CSR_CLASS_SSAIA_AND_H, /* Ssaia with H */ CSR_CLASS_SSAIA_32, /* Ssaia, rv32 only */ CSR_CLASS_SSAIA_AND_H_32, /* Ssaia with H, rv32 only */ + CSR_CLASS_SSPMP, /* Sspmp only */ + CSR_CLASS_SSPMP_32, /* Sspmp RV32 only */ CSR_CLASS_SSSTATEEN, /* S[ms]stateen only */ CSR_CLASS_SSSTATEEN_AND_H, /* S[ms]stateen only (with H) */ CSR_CLASS_SSSTATEEN_AND_H_32, /* S[ms]stateen RV32 only (with H) */ @@ -1064,6 +1066,11 @@ riscv_csr_address (const char *csr_name, || csr_class == CSR_CLASS_SSAIA_AND_H_32); extension = "ssaia"; break; + case CSR_CLASS_SSPMP: + case CSR_CLASS_SSPMP_32: + is_rv32_only = (csr_class == CSR_CLASS_SSPMP_32); + extension = "sspmp"; + break; case CSR_CLASS_SSSTATEEN: case CSR_CLASS_SSSTATEEN_AND_H: case CSR_CLASS_SSSTATEEN_AND_H_32: diff --git a/gas/testsuite/gas/riscv/csr-dw-regnums.d b/gas/testsuite/gas/riscv/csr-dw-regnums.d index fd830666ab89..2e68235c13fe 100644 --- a/gas/testsuite/gas/riscv/csr-dw-regnums.d +++ b/gas/testsuite/gas/riscv/csr-dw-regnums.d @@ -395,6 +395,88 @@ Contents of the .* section: DW_CFA_offset_extended_sf: r5949 \(mhpmevent29h\) at cfa\+7412 DW_CFA_offset_extended_sf: r5950 \(mhpmevent30h\) at cfa\+7416 DW_CFA_offset_extended_sf: r5951 \(mhpmevent31h\) at cfa\+7420 + DW_CFA_offset_extended_sf: r5568 \(spmpcfg0\) at cfa\+5888 + DW_CFA_offset_extended_sf: r5569 \(spmpcfg1\) at cfa\+5892 + DW_CFA_offset_extended_sf: r5570 \(spmpcfg2\) at cfa\+5896 + DW_CFA_offset_extended_sf: r5571 \(spmpcfg3\) at cfa\+5900 + DW_CFA_offset_extended_sf: r5572 \(spmpcfg4\) at cfa\+5904 + DW_CFA_offset_extended_sf: r5573 \(spmpcfg5\) at cfa\+5908 + DW_CFA_offset_extended_sf: r5574 \(spmpcfg6\) at cfa\+5912 + DW_CFA_offset_extended_sf: r5575 \(spmpcfg7\) at cfa\+5916 + DW_CFA_offset_extended_sf: r5576 \(spmpcfg8\) at cfa\+5920 + DW_CFA_offset_extended_sf: r5577 \(spmpcfg9\) at cfa\+5924 + DW_CFA_offset_extended_sf: r5578 \(spmpcfg10\) at cfa\+5928 + DW_CFA_offset_extended_sf: r5579 \(spmpcfg11\) at cfa\+5932 + DW_CFA_offset_extended_sf: r5580 \(spmpcfg12\) at cfa\+5936 + DW_CFA_offset_extended_sf: r5581 \(spmpcfg13\) at cfa\+5940 + DW_CFA_offset_extended_sf: r5582 \(spmpcfg14\) at cfa\+5944 + DW_CFA_offset_extended_sf: r5583 \(spmpcfg15\) at cfa\+5948 + DW_CFA_offset_extended_sf: r5584 \(spmpswitch0\) at cfa\+5952 + DW_CFA_offset_extended_sf: r5585 \(spmpswitch1\) at cfa\+5956 + DW_CFA_offset_extended_sf: r6592 \(spmpaddr0\) at cfa\+9984 + DW_CFA_offset_extended_sf: r6593 \(spmpaddr1\) at cfa\+9988 + DW_CFA_offset_extended_sf: r6594 \(spmpaddr2\) at cfa\+9992 + DW_CFA_offset_extended_sf: r6595 \(spmpaddr3\) at cfa\+9996 + DW_CFA_offset_extended_sf: r6596 \(spmpaddr4\) at cfa\+10000 + DW_CFA_offset_extended_sf: r6597 \(spmpaddr5\) at cfa\+10004 + DW_CFA_offset_extended_sf: r6598 \(spmpaddr6\) at cfa\+10008 + DW_CFA_offset_extended_sf: r6599 \(spmpaddr7\) at cfa\+10012 + DW_CFA_offset_extended_sf: r6600 \(spmpaddr8\) at cfa\+10016 + DW_CFA_offset_extended_sf: r6601 \(spmpaddr9\) at cfa\+10020 + DW_CFA_offset_extended_sf: r6602 \(spmpaddr10\) at cfa\+10024 + DW_CFA_offset_extended_sf: r6603 \(spmpaddr11\) at cfa\+10028 + DW_CFA_offset_extended_sf: r6604 \(spmpaddr12\) at cfa\+10032 + DW_CFA_offset_extended_sf: r6605 \(spmpaddr13\) at cfa\+10036 + DW_CFA_offset_extended_sf: r6606 \(spmpaddr14\) at cfa\+10040 + DW_CFA_offset_extended_sf: r6607 \(spmpaddr15\) at cfa\+10044 + DW_CFA_offset_extended_sf: r6608 \(spmpaddr16\) at cfa\+10048 + DW_CFA_offset_extended_sf: r6609 \(spmpaddr17\) at cfa\+10052 + DW_CFA_offset_extended_sf: r6610 \(spmpaddr18\) at cfa\+10056 + DW_CFA_offset_extended_sf: r6611 \(spmpaddr19\) at cfa\+10060 + DW_CFA_offset_extended_sf: r6612 \(spmpaddr20\) at cfa\+10064 + DW_CFA_offset_extended_sf: r6613 \(spmpaddr21\) at cfa\+10068 + DW_CFA_offset_extended_sf: r6614 \(spmpaddr22\) at cfa\+10072 + DW_CFA_offset_extended_sf: r6615 \(spmpaddr23\) at cfa\+10076 + DW_CFA_offset_extended_sf: r6616 \(spmpaddr24\) at cfa\+10080 + DW_CFA_offset_extended_sf: r6617 \(spmpaddr25\) at cfa\+10084 + DW_CFA_offset_extended_sf: r6618 \(spmpaddr26\) at cfa\+10088 + DW_CFA_offset_extended_sf: r6619 \(spmpaddr27\) at cfa\+10092 + DW_CFA_offset_extended_sf: r6620 \(spmpaddr28\) at cfa\+10096 + DW_CFA_offset_extended_sf: r6621 \(spmpaddr29\) at cfa\+10100 + DW_CFA_offset_extended_sf: r6622 \(spmpaddr30\) at cfa\+10104 + DW_CFA_offset_extended_sf: r6623 \(spmpaddr31\) at cfa\+10108 + DW_CFA_offset_extended_sf: r6624 \(spmpaddr32\) at cfa\+10112 + DW_CFA_offset_extended_sf: r6625 \(spmpaddr33\) at cfa\+10116 + DW_CFA_offset_extended_sf: r6626 \(spmpaddr34\) at cfa\+10120 + DW_CFA_offset_extended_sf: r6627 \(spmpaddr35\) at cfa\+10124 + DW_CFA_offset_extended_sf: r6628 \(spmpaddr36\) at cfa\+10128 + DW_CFA_offset_extended_sf: r6629 \(spmpaddr37\) at cfa\+10132 + DW_CFA_offset_extended_sf: r6630 \(spmpaddr38\) at cfa\+10136 + DW_CFA_offset_extended_sf: r6631 \(spmpaddr39\) at cfa\+10140 + DW_CFA_offset_extended_sf: r6632 \(spmpaddr40\) at cfa\+10144 + DW_CFA_offset_extended_sf: r6633 \(spmpaddr41\) at cfa\+10148 + DW_CFA_offset_extended_sf: r6634 \(spmpaddr42\) at cfa\+10152 + DW_CFA_offset_extended_sf: r6635 \(spmpaddr43\) at cfa\+10156 + DW_CFA_offset_extended_sf: r6636 \(spmpaddr44\) at cfa\+10160 + DW_CFA_offset_extended_sf: r6637 \(spmpaddr45\) at cfa\+10164 + DW_CFA_offset_extended_sf: r6638 \(spmpaddr46\) at cfa\+10168 + DW_CFA_offset_extended_sf: r6639 \(spmpaddr47\) at cfa\+10172 + DW_CFA_offset_extended_sf: r6640 \(spmpaddr48\) at cfa\+10176 + DW_CFA_offset_extended_sf: r6641 \(spmpaddr49\) at cfa\+10180 + DW_CFA_offset_extended_sf: r6642 \(spmpaddr50\) at cfa\+10184 + DW_CFA_offset_extended_sf: r6643 \(spmpaddr51\) at cfa\+10188 + DW_CFA_offset_extended_sf: r6644 \(spmpaddr52\) at cfa\+10192 + DW_CFA_offset_extended_sf: r6645 \(spmpaddr53\) at cfa\+10196 + DW_CFA_offset_extended_sf: r6646 \(spmpaddr54\) at cfa\+10200 + DW_CFA_offset_extended_sf: r6647 \(spmpaddr55\) at cfa\+10204 + DW_CFA_offset_extended_sf: r6648 \(spmpaddr56\) at cfa\+10208 + DW_CFA_offset_extended_sf: r6649 \(spmpaddr57\) at cfa\+10212 + DW_CFA_offset_extended_sf: r6650 \(spmpaddr58\) at cfa\+10216 + DW_CFA_offset_extended_sf: r6651 \(spmpaddr59\) at cfa\+10220 + DW_CFA_offset_extended_sf: r6652 \(spmpaddr60\) at cfa\+10224 + DW_CFA_offset_extended_sf: r6653 \(spmpaddr61\) at cfa\+10228 + DW_CFA_offset_extended_sf: r6654 \(spmpaddr62\) at cfa\+10232 + DW_CFA_offset_extended_sf: r6655 \(spmpaddr63\) at cfa\+10236 DW_CFA_offset_extended_sf: r4429 \(stimecmp\) at cfa\+1332 DW_CFA_offset_extended_sf: r4445 \(stimecmph\) at cfa\+1396 DW_CFA_offset_extended_sf: r4685 \(vstimecmp\) at cfa\+2356 diff --git a/gas/testsuite/gas/riscv/csr-dw-regnums.s b/gas/testsuite/gas/riscv/csr-dw-regnums.s index b8b0f7902297..397847c3d01d 100644 --- a/gas/testsuite/gas/riscv/csr-dw-regnums.s +++ b/gas/testsuite/gas/riscv/csr-dw-regnums.s @@ -395,6 +395,89 @@ _start: .cfi_offset mhpmevent29h, 7412 .cfi_offset mhpmevent30h, 7416 .cfi_offset mhpmevent31h, 7420 + # Sspmp extension + .cfi_offset spmpcfg0, 5888 + .cfi_offset spmpcfg1, 5892 + .cfi_offset spmpcfg2, 5896 + .cfi_offset spmpcfg3, 5900 + .cfi_offset spmpcfg4, 5904 + .cfi_offset spmpcfg5, 5908 + .cfi_offset spmpcfg6, 5912 + .cfi_offset spmpcfg7, 5916 + .cfi_offset spmpcfg8, 5920 + .cfi_offset spmpcfg9, 5924 + .cfi_offset spmpcfg10, 5928 + .cfi_offset spmpcfg11, 5932 + .cfi_offset spmpcfg12, 5936 + .cfi_offset spmpcfg13, 5940 + .cfi_offset spmpcfg14, 5944 + .cfi_offset spmpcfg15, 5948 + .cfi_offset spmpswitch0, 5952 + .cfi_offset spmpswitch1, 5956 + .cfi_offset spmpaddr0, 9984 + .cfi_offset spmpaddr1, 9988 + .cfi_offset spmpaddr2, 9992 + .cfi_offset spmpaddr3, 9996 + .cfi_offset spmpaddr4, 10000 + .cfi_offset spmpaddr5, 10004 + .cfi_offset spmpaddr6, 10008 + .cfi_offset spmpaddr7, 10012 + .cfi_offset spmpaddr8, 10016 + .cfi_offset spmpaddr9, 10020 + .cfi_offset spmpaddr10, 10024 + .cfi_offset spmpaddr11, 10028 + .cfi_offset spmpaddr12, 10032 + .cfi_offset spmpaddr13, 10036 + .cfi_offset spmpaddr14, 10040 + .cfi_offset spmpaddr15, 10044 + .cfi_offset spmpaddr16, 10048 + .cfi_offset spmpaddr17, 10052 + .cfi_offset spmpaddr18, 10056 + .cfi_offset spmpaddr19, 10060 + .cfi_offset spmpaddr20, 10064 + .cfi_offset spmpaddr21, 10068 + .cfi_offset spmpaddr22, 10072 + .cfi_offset spmpaddr23, 10076 + .cfi_offset spmpaddr24, 10080 + .cfi_offset spmpaddr25, 10084 + .cfi_offset spmpaddr26, 10088 + .cfi_offset spmpaddr27, 10092 + .cfi_offset spmpaddr28, 10096 + .cfi_offset spmpaddr29, 10100 + .cfi_offset spmpaddr30, 10104 + .cfi_offset spmpaddr31, 10108 + .cfi_offset spmpaddr32, 10112 + .cfi_offset spmpaddr33, 10116 + .cfi_offset spmpaddr34, 10120 + .cfi_offset spmpaddr35, 10124 + .cfi_offset spmpaddr36, 10128 + .cfi_offset spmpaddr37, 10132 + .cfi_offset spmpaddr38, 10136 + .cfi_offset spmpaddr39, 10140 + .cfi_offset spmpaddr40, 10144 + .cfi_offset spmpaddr41, 10148 + .cfi_offset spmpaddr42, 10152 + .cfi_offset spmpaddr43, 10156 + .cfi_offset spmpaddr44, 10160 + .cfi_offset spmpaddr45, 10164 + .cfi_offset spmpaddr46, 10168 + .cfi_offset spmpaddr47, 10172 + .cfi_offset spmpaddr48, 10176 + .cfi_offset spmpaddr49, 10180 + .cfi_offset spmpaddr50, 10184 + .cfi_offset spmpaddr51, 10188 + .cfi_offset spmpaddr52, 10192 + .cfi_offset spmpaddr53, 10196 + .cfi_offset spmpaddr54, 10200 + .cfi_offset spmpaddr55, 10204 + .cfi_offset spmpaddr56, 10208 + .cfi_offset spmpaddr57, 10212 + .cfi_offset spmpaddr58, 10216 + .cfi_offset spmpaddr59, 10220 + .cfi_offset spmpaddr60, 10224 + .cfi_offset spmpaddr61, 10228 + .cfi_offset spmpaddr62, 10232 + .cfi_offset spmpaddr63, 10236 # Sstc extension .cfi_offset stimecmp, 1332 .cfi_offset stimecmph, 1396 diff --git a/gas/testsuite/gas/riscv/csr-version-1p10.d b/gas/testsuite/gas/riscv/csr-version-1p10.d index ee41e1025cce..ffea30674d33 100644 --- a/gas/testsuite/gas/riscv/csr-version-1p10.d +++ b/gas/testsuite/gas/riscv/csr-version-1p10.d @@ -765,6 +765,170 @@ Disassembly of section .text: [ ]+[0-9a-f]+:[ ]+73e59073[ ]+csrw[ ]+mhpmevent30h,a1 [ ]+[0-9a-f]+:[ ]+73f02573[ ]+csrr[ ]+a0,mhpmevent31h [ ]+[0-9a-f]+:[ ]+73f59073[ ]+csrw[ ]+mhpmevent31h,a1 +[ ]+[0-9a-f]+:[ ]+5c002573[ ]+csrr[ ]+a0,spmpcfg0 +[ ]+[0-9a-f]+:[ ]+5c059073[ ]+csrw[ ]+spmpcfg0,a1 +[ ]+[0-9a-f]+:[ ]+5c102573[ ]+csrr[ ]+a0,spmpcfg1 +[ ]+[0-9a-f]+:[ ]+5c159073[ ]+csrw[ ]+spmpcfg1,a1 +[ ]+[0-9a-f]+:[ ]+5c202573[ ]+csrr[ ]+a0,spmpcfg2 +[ ]+[0-9a-f]+:[ ]+5c259073[ ]+csrw[ ]+spmpcfg2,a1 +[ ]+[0-9a-f]+:[ ]+5c302573[ ]+csrr[ ]+a0,spmpcfg3 +[ ]+[0-9a-f]+:[ ]+5c359073[ ]+csrw[ ]+spmpcfg3,a1 +[ ]+[0-9a-f]+:[ ]+5c402573[ ]+csrr[ ]+a0,spmpcfg4 +[ ]+[0-9a-f]+:[ ]+5c459073[ ]+csrw[ ]+spmpcfg4,a1 +[ ]+[0-9a-f]+:[ ]+5c502573[ ]+csrr[ ]+a0,spmpcfg5 +[ ]+[0-9a-f]+:[ ]+5c559073[ ]+csrw[ ]+spmpcfg5,a1 +[ ]+[0-9a-f]+:[ ]+5c602573[ ]+csrr[ ]+a0,spmpcfg6 +[ ]+[0-9a-f]+:[ ]+5c659073[ ]+csrw[ ]+spmpcfg6,a1 +[ ]+[0-9a-f]+:[ ]+5c702573[ ]+csrr[ ]+a0,spmpcfg7 +[ ]+[0-9a-f]+:[ ]+5c759073[ ]+csrw[ ]+spmpcfg7,a1 +[ ]+[0-9a-f]+:[ ]+5c802573[ ]+csrr[ ]+a0,spmpcfg8 +[ ]+[0-9a-f]+:[ ]+5c859073[ ]+csrw[ ]+spmpcfg8,a1 +[ ]+[0-9a-f]+:[ ]+5c902573[ ]+csrr[ ]+a0,spmpcfg9 +[ ]+[0-9a-f]+:[ ]+5c959073[ ]+csrw[ ]+spmpcfg9,a1 +[ ]+[0-9a-f]+:[ ]+5ca02573[ ]+csrr[ ]+a0,spmpcfg10 +[ ]+[0-9a-f]+:[ ]+5ca59073[ ]+csrw[ ]+spmpcfg10,a1 +[ ]+[0-9a-f]+:[ ]+5cb02573[ ]+csrr[ ]+a0,spmpcfg11 +[ ]+[0-9a-f]+:[ ]+5cb59073[ ]+csrw[ ]+spmpcfg11,a1 +[ ]+[0-9a-f]+:[ ]+5cc02573[ ]+csrr[ ]+a0,spmpcfg12 +[ ]+[0-9a-f]+:[ ]+5cc59073[ ]+csrw[ ]+spmpcfg12,a1 +[ ]+[0-9a-f]+:[ ]+5cd02573[ ]+csrr[ ]+a0,spmpcfg13 +[ ]+[0-9a-f]+:[ ]+5cd59073[ ]+csrw[ ]+spmpcfg13,a1 +[ ]+[0-9a-f]+:[ ]+5ce02573[ ]+csrr[ ]+a0,spmpcfg14 +[ ]+[0-9a-f]+:[ ]+5ce59073[ ]+csrw[ ]+spmpcfg14,a1 +[ ]+[0-9a-f]+:[ ]+5cf02573[ ]+csrr[ ]+a0,spmpcfg15 +[ ]+[0-9a-f]+:[ ]+5cf59073[ ]+csrw[ ]+spmpcfg15,a1 +[ ]+[0-9a-f]+:[ ]+5d002573[ ]+csrr[ ]+a0,spmpswitch0 +[ ]+[0-9a-f]+:[ ]+5d059073[ ]+csrw[ ]+spmpswitch0,a1 +[ ]+[0-9a-f]+:[ ]+5d102573[ ]+csrr[ ]+a0,spmpswitch1 +[ ]+[0-9a-f]+:[ ]+5d159073[ ]+csrw[ ]+spmpswitch1,a1 +[ ]+[0-9a-f]+:[ ]+9c002573[ ]+csrr[ ]+a0,spmpaddr0 +[ ]+[0-9a-f]+:[ ]+9c059073[ ]+csrw[ ]+spmpaddr0,a1 +[ ]+[0-9a-f]+:[ ]+9c102573[ ]+csrr[ ]+a0,spmpaddr1 +[ ]+[0-9a-f]+:[ ]+9c159073[ ]+csrw[ ]+spmpaddr1,a1 +[ ]+[0-9a-f]+:[ ]+9c202573[ ]+csrr[ ]+a0,spmpaddr2 +[ ]+[0-9a-f]+:[ ]+9c259073[ ]+csrw[ ]+spmpaddr2,a1 +[ ]+[0-9a-f]+:[ ]+9c302573[ ]+csrr[ ]+a0,spmpaddr3 +[ ]+[0-9a-f]+:[ ]+9c359073[ ]+csrw[ ]+spmpaddr3,a1 +[ ]+[0-9a-f]+:[ ]+9c402573[ ]+csrr[ ]+a0,spmpaddr4 +[ ]+[0-9a-f]+:[ ]+9c459073[ ]+csrw[ ]+spmpaddr4,a1 +[ ]+[0-9a-f]+:[ ]+9c502573[ ]+csrr[ ]+a0,spmpaddr5 +[ ]+[0-9a-f]+:[ ]+9c559073[ ]+csrw[ ]+spmpaddr5,a1 +[ ]+[0-9a-f]+:[ ]+9c602573[ ]+csrr[ ]+a0,spmpaddr6 +[ ]+[0-9a-f]+:[ ]+9c659073[ ]+csrw[ ]+spmpaddr6,a1 +[ ]+[0-9a-f]+:[ ]+9c702573[ ]+csrr[ ]+a0,spmpaddr7 +[ ]+[0-9a-f]+:[ ]+9c759073[ ]+csrw[ ]+spmpaddr7,a1 +[ ]+[0-9a-f]+:[ ]+9c802573[ ]+csrr[ ]+a0,spmpaddr8 +[ ]+[0-9a-f]+:[ ]+9c859073[ ]+csrw[ ]+spmpaddr8,a1 +[ ]+[0-9a-f]+:[ ]+9c902573[ ]+csrr[ ]+a0,spmpaddr9 +[ ]+[0-9a-f]+:[ ]+9c959073[ ]+csrw[ ]+spmpaddr9,a1 +[ ]+[0-9a-f]+:[ ]+9ca02573[ ]+csrr[ ]+a0,spmpaddr10 +[ ]+[0-9a-f]+:[ ]+9ca59073[ ]+csrw[ ]+spmpaddr10,a1 +[ ]+[0-9a-f]+:[ ]+9cb02573[ ]+csrr[ ]+a0,spmpaddr11 +[ ]+[0-9a-f]+:[ ]+9cb59073[ ]+csrw[ ]+spmpaddr11,a1 +[ ]+[0-9a-f]+:[ ]+9cc02573[ ]+csrr[ ]+a0,spmpaddr12 +[ ]+[0-9a-f]+:[ ]+9cc59073[ ]+csrw[ ]+spmpaddr12,a1 +[ ]+[0-9a-f]+:[ ]+9cd02573[ ]+csrr[ ]+a0,spmpaddr13 +[ ]+[0-9a-f]+:[ ]+9cd59073[ ]+csrw[ ]+spmpaddr13,a1 +[ ]+[0-9a-f]+:[ ]+9ce02573[ ]+csrr[ ]+a0,spmpaddr14 +[ ]+[0-9a-f]+:[ ]+9ce59073[ ]+csrw[ ]+spmpaddr14,a1 +[ ]+[0-9a-f]+:[ ]+9cf02573[ ]+csrr[ ]+a0,spmpaddr15 +[ ]+[0-9a-f]+:[ ]+9cf59073[ ]+csrw[ ]+spmpaddr15,a1 +[ ]+[0-9a-f]+:[ ]+9d002573[ ]+csrr[ ]+a0,spmpaddr16 +[ ]+[0-9a-f]+:[ ]+9d059073[ ]+csrw[ ]+spmpaddr16,a1 +[ ]+[0-9a-f]+:[ ]+9d102573[ ]+csrr[ ]+a0,spmpaddr17 +[ ]+[0-9a-f]+:[ ]+9d159073[ ]+csrw[ ]+spmpaddr17,a1 +[ ]+[0-9a-f]+:[ ]+9d202573[ ]+csrr[ ]+a0,spmpaddr18 +[ ]+[0-9a-f]+:[ ]+9d259073[ ]+csrw[ ]+spmpaddr18,a1 +[ ]+[0-9a-f]+:[ ]+9d302573[ ]+csrr[ ]+a0,spmpaddr19 +[ ]+[0-9a-f]+:[ ]+9d359073[ ]+csrw[ ]+spmpaddr19,a1 +[ ]+[0-9a-f]+:[ ]+9d402573[ ]+csrr[ ]+a0,spmpaddr20 +[ ]+[0-9a-f]+:[ ]+9d459073[ ]+csrw[ ]+spmpaddr20,a1 +[ ]+[0-9a-f]+:[ ]+9d502573[ ]+csrr[ ]+a0,spmpaddr21 +[ ]+[0-9a-f]+:[ ]+9d559073[ ]+csrw[ ]+spmpaddr21,a1 +[ ]+[0-9a-f]+:[ ]+9d602573[ ]+csrr[ ]+a0,spmpaddr22 +[ ]+[0-9a-f]+:[ ]+9d659073[ ]+csrw[ ]+spmpaddr22,a1 +[ ]+[0-9a-f]+:[ ]+9d702573[ ]+csrr[ ]+a0,spmpaddr23 +[ ]+[0-9a-f]+:[ ]+9d759073[ ]+csrw[ ]+spmpaddr23,a1 +[ ]+[0-9a-f]+:[ ]+9d802573[ ]+csrr[ ]+a0,spmpaddr24 +[ ]+[0-9a-f]+:[ ]+9d859073[ ]+csrw[ ]+spmpaddr24,a1 +[ ]+[0-9a-f]+:[ ]+9d902573[ ]+csrr[ ]+a0,spmpaddr25 +[ ]+[0-9a-f]+:[ ]+9d959073[ ]+csrw[ ]+spmpaddr25,a1 +[ ]+[0-9a-f]+:[ ]+9da02573[ ]+csrr[ ]+a0,spmpaddr26 +[ ]+[0-9a-f]+:[ ]+9da59073[ ]+csrw[ ]+spmpaddr26,a1 +[ ]+[0-9a-f]+:[ ]+9db02573[ ]+csrr[ ]+a0,spmpaddr27 +[ ]+[0-9a-f]+:[ ]+9db59073[ ]+csrw[ ]+spmpaddr27,a1 +[ ]+[0-9a-f]+:[ ]+9dc02573[ ]+csrr[ ]+a0,spmpaddr28 +[ ]+[0-9a-f]+:[ ]+9dc59073[ ]+csrw[ ]+spmpaddr28,a1 +[ ]+[0-9a-f]+:[ ]+9dd02573[ ]+csrr[ ]+a0,spmpaddr29 +[ ]+[0-9a-f]+:[ ]+9dd59073[ ]+csrw[ ]+spmpaddr29,a1 +[ ]+[0-9a-f]+:[ ]+9de02573[ ]+csrr[ ]+a0,spmpaddr30 +[ ]+[0-9a-f]+:[ ]+9de59073[ ]+csrw[ ]+spmpaddr30,a1 +[ ]+[0-9a-f]+:[ ]+9df02573[ ]+csrr[ ]+a0,spmpaddr31 +[ ]+[0-9a-f]+:[ ]+9df59073[ ]+csrw[ ]+spmpaddr31,a1 +[ ]+[0-9a-f]+:[ ]+9e002573[ ]+csrr[ ]+a0,spmpaddr32 +[ ]+[0-9a-f]+:[ ]+9e059073[ ]+csrw[ ]+spmpaddr32,a1 +[ ]+[0-9a-f]+:[ ]+9e102573[ ]+csrr[ ]+a0,spmpaddr33 +[ ]+[0-9a-f]+:[ ]+9e159073[ ]+csrw[ ]+spmpaddr33,a1 +[ ]+[0-9a-f]+:[ ]+9e202573[ ]+csrr[ ]+a0,spmpaddr34 +[ ]+[0-9a-f]+:[ ]+9e259073[ ]+csrw[ ]+spmpaddr34,a1 +[ ]+[0-9a-f]+:[ ]+9e302573[ ]+csrr[ ]+a0,spmpaddr35 +[ ]+[0-9a-f]+:[ ]+9e359073[ ]+csrw[ ]+spmpaddr35,a1 +[ ]+[0-9a-f]+:[ ]+9e402573[ ]+csrr[ ]+a0,spmpaddr36 +[ ]+[0-9a-f]+:[ ]+9e459073[ ]+csrw[ ]+spmpaddr36,a1 +[ ]+[0-9a-f]+:[ ]+9e502573[ ]+csrr[ ]+a0,spmpaddr37 +[ ]+[0-9a-f]+:[ ]+9e559073[ ]+csrw[ ]+spmpaddr37,a1 +[ ]+[0-9a-f]+:[ ]+9e602573[ ]+csrr[ ]+a0,spmpaddr38 +[ ]+[0-9a-f]+:[ ]+9e659073[ ]+csrw[ ]+spmpaddr38,a1 +[ ]+[0-9a-f]+:[ ]+9e702573[ ]+csrr[ ]+a0,spmpaddr39 +[ ]+[0-9a-f]+:[ ]+9e759073[ ]+csrw[ ]+spmpaddr39,a1 +[ ]+[0-9a-f]+:[ ]+9e802573[ ]+csrr[ ]+a0,spmpaddr40 +[ ]+[0-9a-f]+:[ ]+9e859073[ ]+csrw[ ]+spmpaddr40,a1 +[ ]+[0-9a-f]+:[ ]+9e902573[ ]+csrr[ ]+a0,spmpaddr41 +[ ]+[0-9a-f]+:[ ]+9e959073[ ]+csrw[ ]+spmpaddr41,a1 +[ ]+[0-9a-f]+:[ ]+9ea02573[ ]+csrr[ ]+a0,spmpaddr42 +[ ]+[0-9a-f]+:[ ]+9ea59073[ ]+csrw[ ]+spmpaddr42,a1 +[ ]+[0-9a-f]+:[ ]+9eb02573[ ]+csrr[ ]+a0,spmpaddr43 +[ ]+[0-9a-f]+:[ ]+9eb59073[ ]+csrw[ ]+spmpaddr43,a1 +[ ]+[0-9a-f]+:[ ]+9ec02573[ ]+csrr[ ]+a0,spmpaddr44 +[ ]+[0-9a-f]+:[ ]+9ec59073[ ]+csrw[ ]+spmpaddr44,a1 +[ ]+[0-9a-f]+:[ ]+9ed02573[ ]+csrr[ ]+a0,spmpaddr45 +[ ]+[0-9a-f]+:[ ]+9ed59073[ ]+csrw[ ]+spmpaddr45,a1 +[ ]+[0-9a-f]+:[ ]+9ee02573[ ]+csrr[ ]+a0,spmpaddr46 +[ ]+[0-9a-f]+:[ ]+9ee59073[ ]+csrw[ ]+spmpaddr46,a1 +[ ]+[0-9a-f]+:[ ]+9ef02573[ ]+csrr[ ]+a0,spmpaddr47 +[ ]+[0-9a-f]+:[ ]+9ef59073[ ]+csrw[ ]+spmpaddr47,a1 +[ ]+[0-9a-f]+:[ ]+9f002573[ ]+csrr[ ]+a0,spmpaddr48 +[ ]+[0-9a-f]+:[ ]+9f059073[ ]+csrw[ ]+spmpaddr48,a1 +[ ]+[0-9a-f]+:[ ]+9f102573[ ]+csrr[ ]+a0,spmpaddr49 +[ ]+[0-9a-f]+:[ ]+9f159073[ ]+csrw[ ]+spmpaddr49,a1 +[ ]+[0-9a-f]+:[ ]+9f202573[ ]+csrr[ ]+a0,spmpaddr50 +[ ]+[0-9a-f]+:[ ]+9f259073[ ]+csrw[ ]+spmpaddr50,a1 +[ ]+[0-9a-f]+:[ ]+9f302573[ ]+csrr[ ]+a0,spmpaddr51 +[ ]+[0-9a-f]+:[ ]+9f359073[ ]+csrw[ ]+spmpaddr51,a1 +[ ]+[0-9a-f]+:[ ]+9f402573[ ]+csrr[ ]+a0,spmpaddr52 +[ ]+[0-9a-f]+:[ ]+9f459073[ ]+csrw[ ]+spmpaddr52,a1 +[ ]+[0-9a-f]+:[ ]+9f502573[ ]+csrr[ ]+a0,spmpaddr53 +[ ]+[0-9a-f]+:[ ]+9f559073[ ]+csrw[ ]+spmpaddr53,a1 +[ ]+[0-9a-f]+:[ ]+9f602573[ ]+csrr[ ]+a0,spmpaddr54 +[ ]+[0-9a-f]+:[ ]+9f659073[ ]+csrw[ ]+spmpaddr54,a1 +[ ]+[0-9a-f]+:[ ]+9f702573[ ]+csrr[ ]+a0,spmpaddr55 +[ ]+[0-9a-f]+:[ ]+9f759073[ ]+csrw[ ]+spmpaddr55,a1 +[ ]+[0-9a-f]+:[ ]+9f802573[ ]+csrr[ ]+a0,spmpaddr56 +[ ]+[0-9a-f]+:[ ]+9f859073[ ]+csrw[ ]+spmpaddr56,a1 +[ ]+[0-9a-f]+:[ ]+9f902573[ ]+csrr[ ]+a0,spmpaddr57 +[ ]+[0-9a-f]+:[ ]+9f959073[ ]+csrw[ ]+spmpaddr57,a1 +[ ]+[0-9a-f]+:[ ]+9fa02573[ ]+csrr[ ]+a0,spmpaddr58 +[ ]+[0-9a-f]+:[ ]+9fa59073[ ]+csrw[ ]+spmpaddr58,a1 +[ ]+[0-9a-f]+:[ ]+9fb02573[ ]+csrr[ ]+a0,spmpaddr59 +[ ]+[0-9a-f]+:[ ]+9fb59073[ ]+csrw[ ]+spmpaddr59,a1 +[ ]+[0-9a-f]+:[ ]+9fc02573[ ]+csrr[ ]+a0,spmpaddr60 +[ ]+[0-9a-f]+:[ ]+9fc59073[ ]+csrw[ ]+spmpaddr60,a1 +[ ]+[0-9a-f]+:[ ]+9fd02573[ ]+csrr[ ]+a0,spmpaddr61 +[ ]+[0-9a-f]+:[ ]+9fd59073[ ]+csrw[ ]+spmpaddr61,a1 +[ ]+[0-9a-f]+:[ ]+9fe02573[ ]+csrr[ ]+a0,spmpaddr62 +[ ]+[0-9a-f]+:[ ]+9fe59073[ ]+csrw[ ]+spmpaddr62,a1 +[ ]+[0-9a-f]+:[ ]+9ff02573[ ]+csrr[ ]+a0,spmpaddr63 +[ ]+[0-9a-f]+:[ ]+9ff59073[ ]+csrw[ ]+spmpaddr63,a1 [ ]+[0-9a-f]+:[ ]+14d02573[ ]+csrr[ ]+a0,stimecmp [ ]+[0-9a-f]+:[ ]+14d59073[ ]+csrw[ ]+stimecmp,a1 [ ]+[0-9a-f]+:[ ]+15d02573[ ]+csrr[ ]+a0,stimecmph diff --git a/gas/testsuite/gas/riscv/csr-version-1p10.l b/gas/testsuite/gas/riscv/csr-version-1p10.l index e677b78b8bb8..c1a91cee3c99 100644 --- a/gas/testsuite/gas/riscv/csr-version-1p10.l +++ b/gas/testsuite/gas/riscv/csr-version-1p10.l @@ -727,6 +727,188 @@ .*Warning: invalid CSR `mhpmevent31h', needs `sscofpmf' extension .*Warning: invalid CSR `mhpmevent31h', needs rv32i extension .*Warning: invalid CSR `mhpmevent31h', needs `sscofpmf' extension +.*Warning: invalid CSR `spmpcfg0', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg0', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg1', needs rv32i extension +.*Warning: invalid CSR `spmpcfg1', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg1', needs rv32i extension +.*Warning: invalid CSR `spmpcfg1', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg2', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg2', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg3', needs rv32i extension +.*Warning: invalid CSR `spmpcfg3', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg3', needs rv32i extension +.*Warning: invalid CSR `spmpcfg3', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg4', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg4', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg5', needs rv32i extension +.*Warning: invalid CSR `spmpcfg5', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg5', needs rv32i extension +.*Warning: invalid CSR `spmpcfg5', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg6', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg6', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg7', needs rv32i extension +.*Warning: invalid CSR `spmpcfg7', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg7', needs rv32i extension +.*Warning: invalid CSR `spmpcfg7', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg8', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg8', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg9', needs rv32i extension +.*Warning: invalid CSR `spmpcfg9', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg9', needs rv32i extension +.*Warning: invalid CSR `spmpcfg9', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg10', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg10', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg11', needs rv32i extension +.*Warning: invalid CSR `spmpcfg11', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg11', needs rv32i extension +.*Warning: invalid CSR `spmpcfg11', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg12', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg12', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg13', needs rv32i extension +.*Warning: invalid CSR `spmpcfg13', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg13', needs rv32i extension +.*Warning: invalid CSR `spmpcfg13', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg14', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg14', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg15', needs rv32i extension +.*Warning: invalid CSR `spmpcfg15', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg15', needs rv32i extension +.*Warning: invalid CSR `spmpcfg15', needs `sspmp' extension +.*Warning: invalid CSR `spmpswitch0', needs `sspmp' extension +.*Warning: invalid CSR `spmpswitch0', needs `sspmp' extension +.*Warning: invalid CSR `spmpswitch1', needs rv32i extension +.*Warning: invalid CSR `spmpswitch1', needs `sspmp' extension +.*Warning: invalid CSR `spmpswitch1', needs rv32i extension +.*Warning: invalid CSR `spmpswitch1', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr0', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr0', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr1', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr1', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr2', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr2', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr3', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr3', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr4', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr4', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr5', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr5', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr6', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr6', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr7', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr7', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr8', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr8', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr9', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr9', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr10', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr10', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr11', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr11', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr12', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr12', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr13', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr13', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr14', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr14', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr15', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr15', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr16', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr16', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr17', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr17', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr18', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr18', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr19', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr19', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr20', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr20', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr21', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr21', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr22', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr22', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr23', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr23', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr24', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr24', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr25', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr25', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr26', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr26', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr27', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr27', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr28', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr28', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr29', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr29', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr30', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr30', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr31', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr31', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr32', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr32', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr33', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr33', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr34', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr34', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr35', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr35', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr36', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr36', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr37', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr37', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr38', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr38', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr39', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr39', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr40', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr40', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr41', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr41', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr42', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr42', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr43', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr43', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr44', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr44', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr45', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr45', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr46', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr46', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr47', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr47', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr48', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr48', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr49', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr49', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr50', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr50', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr51', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr51', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr52', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr52', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr53', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr53', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr54', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr54', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr55', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr55', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr56', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr56', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr57', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr57', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr58', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr58', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr59', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr59', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr60', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr60', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr61', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr61', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr62', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr62', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr63', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr63', needs `sspmp' extension .*Warning: invalid CSR `stimecmp', needs `sstc' extension .*Warning: invalid CSR `stimecmp', needs `sstc' extension .*Warning: invalid CSR `stimecmph', needs rv32i extension diff --git a/gas/testsuite/gas/riscv/csr-version-1p11.d b/gas/testsuite/gas/riscv/csr-version-1p11.d index a83b1bf68f98..ce8da6fac2f1 100644 --- a/gas/testsuite/gas/riscv/csr-version-1p11.d +++ b/gas/testsuite/gas/riscv/csr-version-1p11.d @@ -765,6 +765,170 @@ Disassembly of section .text: [ ]+[0-9a-f]+:[ ]+73e59073[ ]+csrw[ ]+mhpmevent30h,a1 [ ]+[0-9a-f]+:[ ]+73f02573[ ]+csrr[ ]+a0,mhpmevent31h [ ]+[0-9a-f]+:[ ]+73f59073[ ]+csrw[ ]+mhpmevent31h,a1 +[ ]+[0-9a-f]+:[ ]+5c002573[ ]+csrr[ ]+a0,spmpcfg0 +[ ]+[0-9a-f]+:[ ]+5c059073[ ]+csrw[ ]+spmpcfg0,a1 +[ ]+[0-9a-f]+:[ ]+5c102573[ ]+csrr[ ]+a0,spmpcfg1 +[ ]+[0-9a-f]+:[ ]+5c159073[ ]+csrw[ ]+spmpcfg1,a1 +[ ]+[0-9a-f]+:[ ]+5c202573[ ]+csrr[ ]+a0,spmpcfg2 +[ ]+[0-9a-f]+:[ ]+5c259073[ ]+csrw[ ]+spmpcfg2,a1 +[ ]+[0-9a-f]+:[ ]+5c302573[ ]+csrr[ ]+a0,spmpcfg3 +[ ]+[0-9a-f]+:[ ]+5c359073[ ]+csrw[ ]+spmpcfg3,a1 +[ ]+[0-9a-f]+:[ ]+5c402573[ ]+csrr[ ]+a0,spmpcfg4 +[ ]+[0-9a-f]+:[ ]+5c459073[ ]+csrw[ ]+spmpcfg4,a1 +[ ]+[0-9a-f]+:[ ]+5c502573[ ]+csrr[ ]+a0,spmpcfg5 +[ ]+[0-9a-f]+:[ ]+5c559073[ ]+csrw[ ]+spmpcfg5,a1 +[ ]+[0-9a-f]+:[ ]+5c602573[ ]+csrr[ ]+a0,spmpcfg6 +[ ]+[0-9a-f]+:[ ]+5c659073[ ]+csrw[ ]+spmpcfg6,a1 +[ ]+[0-9a-f]+:[ ]+5c702573[ ]+csrr[ ]+a0,spmpcfg7 +[ ]+[0-9a-f]+:[ ]+5c759073[ ]+csrw[ ]+spmpcfg7,a1 +[ ]+[0-9a-f]+:[ ]+5c802573[ ]+csrr[ ]+a0,spmpcfg8 +[ ]+[0-9a-f]+:[ ]+5c859073[ ]+csrw[ ]+spmpcfg8,a1 +[ ]+[0-9a-f]+:[ ]+5c902573[ ]+csrr[ ]+a0,spmpcfg9 +[ ]+[0-9a-f]+:[ ]+5c959073[ ]+csrw[ ]+spmpcfg9,a1 +[ ]+[0-9a-f]+:[ ]+5ca02573[ ]+csrr[ ]+a0,spmpcfg10 +[ ]+[0-9a-f]+:[ ]+5ca59073[ ]+csrw[ ]+spmpcfg10,a1 +[ ]+[0-9a-f]+:[ ]+5cb02573[ ]+csrr[ ]+a0,spmpcfg11 +[ ]+[0-9a-f]+:[ ]+5cb59073[ ]+csrw[ ]+spmpcfg11,a1 +[ ]+[0-9a-f]+:[ ]+5cc02573[ ]+csrr[ ]+a0,spmpcfg12 +[ ]+[0-9a-f]+:[ ]+5cc59073[ ]+csrw[ ]+spmpcfg12,a1 +[ ]+[0-9a-f]+:[ ]+5cd02573[ ]+csrr[ ]+a0,spmpcfg13 +[ ]+[0-9a-f]+:[ ]+5cd59073[ ]+csrw[ ]+spmpcfg13,a1 +[ ]+[0-9a-f]+:[ ]+5ce02573[ ]+csrr[ ]+a0,spmpcfg14 +[ ]+[0-9a-f]+:[ ]+5ce59073[ ]+csrw[ ]+spmpcfg14,a1 +[ ]+[0-9a-f]+:[ ]+5cf02573[ ]+csrr[ ]+a0,spmpcfg15 +[ ]+[0-9a-f]+:[ ]+5cf59073[ ]+csrw[ ]+spmpcfg15,a1 +[ ]+[0-9a-f]+:[ ]+5d002573[ ]+csrr[ ]+a0,spmpswitch0 +[ ]+[0-9a-f]+:[ ]+5d059073[ ]+csrw[ ]+spmpswitch0,a1 +[ ]+[0-9a-f]+:[ ]+5d102573[ ]+csrr[ ]+a0,spmpswitch1 +[ ]+[0-9a-f]+:[ ]+5d159073[ ]+csrw[ ]+spmpswitch1,a1 +[ ]+[0-9a-f]+:[ ]+9c002573[ ]+csrr[ ]+a0,spmpaddr0 +[ ]+[0-9a-f]+:[ ]+9c059073[ ]+csrw[ ]+spmpaddr0,a1 +[ ]+[0-9a-f]+:[ ]+9c102573[ ]+csrr[ ]+a0,spmpaddr1 +[ ]+[0-9a-f]+:[ ]+9c159073[ ]+csrw[ ]+spmpaddr1,a1 +[ ]+[0-9a-f]+:[ ]+9c202573[ ]+csrr[ ]+a0,spmpaddr2 +[ ]+[0-9a-f]+:[ ]+9c259073[ ]+csrw[ ]+spmpaddr2,a1 +[ ]+[0-9a-f]+:[ ]+9c302573[ ]+csrr[ ]+a0,spmpaddr3 +[ ]+[0-9a-f]+:[ ]+9c359073[ ]+csrw[ ]+spmpaddr3,a1 +[ ]+[0-9a-f]+:[ ]+9c402573[ ]+csrr[ ]+a0,spmpaddr4 +[ ]+[0-9a-f]+:[ ]+9c459073[ ]+csrw[ ]+spmpaddr4,a1 +[ ]+[0-9a-f]+:[ ]+9c502573[ ]+csrr[ ]+a0,spmpaddr5 +[ ]+[0-9a-f]+:[ ]+9c559073[ ]+csrw[ ]+spmpaddr5,a1 +[ ]+[0-9a-f]+:[ ]+9c602573[ ]+csrr[ ]+a0,spmpaddr6 +[ ]+[0-9a-f]+:[ ]+9c659073[ ]+csrw[ ]+spmpaddr6,a1 +[ ]+[0-9a-f]+:[ ]+9c702573[ ]+csrr[ ]+a0,spmpaddr7 +[ ]+[0-9a-f]+:[ ]+9c759073[ ]+csrw[ ]+spmpaddr7,a1 +[ ]+[0-9a-f]+:[ ]+9c802573[ ]+csrr[ ]+a0,spmpaddr8 +[ ]+[0-9a-f]+:[ ]+9c859073[ ]+csrw[ ]+spmpaddr8,a1 +[ ]+[0-9a-f]+:[ ]+9c902573[ ]+csrr[ ]+a0,spmpaddr9 +[ ]+[0-9a-f]+:[ ]+9c959073[ ]+csrw[ ]+spmpaddr9,a1 +[ ]+[0-9a-f]+:[ ]+9ca02573[ ]+csrr[ ]+a0,spmpaddr10 +[ ]+[0-9a-f]+:[ ]+9ca59073[ ]+csrw[ ]+spmpaddr10,a1 +[ ]+[0-9a-f]+:[ ]+9cb02573[ ]+csrr[ ]+a0,spmpaddr11 +[ ]+[0-9a-f]+:[ ]+9cb59073[ ]+csrw[ ]+spmpaddr11,a1 +[ ]+[0-9a-f]+:[ ]+9cc02573[ ]+csrr[ ]+a0,spmpaddr12 +[ ]+[0-9a-f]+:[ ]+9cc59073[ ]+csrw[ ]+spmpaddr12,a1 +[ ]+[0-9a-f]+:[ ]+9cd02573[ ]+csrr[ ]+a0,spmpaddr13 +[ ]+[0-9a-f]+:[ ]+9cd59073[ ]+csrw[ ]+spmpaddr13,a1 +[ ]+[0-9a-f]+:[ ]+9ce02573[ ]+csrr[ ]+a0,spmpaddr14 +[ ]+[0-9a-f]+:[ ]+9ce59073[ ]+csrw[ ]+spmpaddr14,a1 +[ ]+[0-9a-f]+:[ ]+9cf02573[ ]+csrr[ ]+a0,spmpaddr15 +[ ]+[0-9a-f]+:[ ]+9cf59073[ ]+csrw[ ]+spmpaddr15,a1 +[ ]+[0-9a-f]+:[ ]+9d002573[ ]+csrr[ ]+a0,spmpaddr16 +[ ]+[0-9a-f]+:[ ]+9d059073[ ]+csrw[ ]+spmpaddr16,a1 +[ ]+[0-9a-f]+:[ ]+9d102573[ ]+csrr[ ]+a0,spmpaddr17 +[ ]+[0-9a-f]+:[ ]+9d159073[ ]+csrw[ ]+spmpaddr17,a1 +[ ]+[0-9a-f]+:[ ]+9d202573[ ]+csrr[ ]+a0,spmpaddr18 +[ ]+[0-9a-f]+:[ ]+9d259073[ ]+csrw[ ]+spmpaddr18,a1 +[ ]+[0-9a-f]+:[ ]+9d302573[ ]+csrr[ ]+a0,spmpaddr19 +[ ]+[0-9a-f]+:[ ]+9d359073[ ]+csrw[ ]+spmpaddr19,a1 +[ ]+[0-9a-f]+:[ ]+9d402573[ ]+csrr[ ]+a0,spmpaddr20 +[ ]+[0-9a-f]+:[ ]+9d459073[ ]+csrw[ ]+spmpaddr20,a1 +[ ]+[0-9a-f]+:[ ]+9d502573[ ]+csrr[ ]+a0,spmpaddr21 +[ ]+[0-9a-f]+:[ ]+9d559073[ ]+csrw[ ]+spmpaddr21,a1 +[ ]+[0-9a-f]+:[ ]+9d602573[ ]+csrr[ ]+a0,spmpaddr22 +[ ]+[0-9a-f]+:[ ]+9d659073[ ]+csrw[ ]+spmpaddr22,a1 +[ ]+[0-9a-f]+:[ ]+9d702573[ ]+csrr[ ]+a0,spmpaddr23 +[ ]+[0-9a-f]+:[ ]+9d759073[ ]+csrw[ ]+spmpaddr23,a1 +[ ]+[0-9a-f]+:[ ]+9d802573[ ]+csrr[ ]+a0,spmpaddr24 +[ ]+[0-9a-f]+:[ ]+9d859073[ ]+csrw[ ]+spmpaddr24,a1 +[ ]+[0-9a-f]+:[ ]+9d902573[ ]+csrr[ ]+a0,spmpaddr25 +[ ]+[0-9a-f]+:[ ]+9d959073[ ]+csrw[ ]+spmpaddr25,a1 +[ ]+[0-9a-f]+:[ ]+9da02573[ ]+csrr[ ]+a0,spmpaddr26 +[ ]+[0-9a-f]+:[ ]+9da59073[ ]+csrw[ ]+spmpaddr26,a1 +[ ]+[0-9a-f]+:[ ]+9db02573[ ]+csrr[ ]+a0,spmpaddr27 +[ ]+[0-9a-f]+:[ ]+9db59073[ ]+csrw[ ]+spmpaddr27,a1 +[ ]+[0-9a-f]+:[ ]+9dc02573[ ]+csrr[ ]+a0,spmpaddr28 +[ ]+[0-9a-f]+:[ ]+9dc59073[ ]+csrw[ ]+spmpaddr28,a1 +[ ]+[0-9a-f]+:[ ]+9dd02573[ ]+csrr[ ]+a0,spmpaddr29 +[ ]+[0-9a-f]+:[ ]+9dd59073[ ]+csrw[ ]+spmpaddr29,a1 +[ ]+[0-9a-f]+:[ ]+9de02573[ ]+csrr[ ]+a0,spmpaddr30 +[ ]+[0-9a-f]+:[ ]+9de59073[ ]+csrw[ ]+spmpaddr30,a1 +[ ]+[0-9a-f]+:[ ]+9df02573[ ]+csrr[ ]+a0,spmpaddr31 +[ ]+[0-9a-f]+:[ ]+9df59073[ ]+csrw[ ]+spmpaddr31,a1 +[ ]+[0-9a-f]+:[ ]+9e002573[ ]+csrr[ ]+a0,spmpaddr32 +[ ]+[0-9a-f]+:[ ]+9e059073[ ]+csrw[ ]+spmpaddr32,a1 +[ ]+[0-9a-f]+:[ ]+9e102573[ ]+csrr[ ]+a0,spmpaddr33 +[ ]+[0-9a-f]+:[ ]+9e159073[ ]+csrw[ ]+spmpaddr33,a1 +[ ]+[0-9a-f]+:[ ]+9e202573[ ]+csrr[ ]+a0,spmpaddr34 +[ ]+[0-9a-f]+:[ ]+9e259073[ ]+csrw[ ]+spmpaddr34,a1 +[ ]+[0-9a-f]+:[ ]+9e302573[ ]+csrr[ ]+a0,spmpaddr35 +[ ]+[0-9a-f]+:[ ]+9e359073[ ]+csrw[ ]+spmpaddr35,a1 +[ ]+[0-9a-f]+:[ ]+9e402573[ ]+csrr[ ]+a0,spmpaddr36 +[ ]+[0-9a-f]+:[ ]+9e459073[ ]+csrw[ ]+spmpaddr36,a1 +[ ]+[0-9a-f]+:[ ]+9e502573[ ]+csrr[ ]+a0,spmpaddr37 +[ ]+[0-9a-f]+:[ ]+9e559073[ ]+csrw[ ]+spmpaddr37,a1 +[ ]+[0-9a-f]+:[ ]+9e602573[ ]+csrr[ ]+a0,spmpaddr38 +[ ]+[0-9a-f]+:[ ]+9e659073[ ]+csrw[ ]+spmpaddr38,a1 +[ ]+[0-9a-f]+:[ ]+9e702573[ ]+csrr[ ]+a0,spmpaddr39 +[ ]+[0-9a-f]+:[ ]+9e759073[ ]+csrw[ ]+spmpaddr39,a1 +[ ]+[0-9a-f]+:[ ]+9e802573[ ]+csrr[ ]+a0,spmpaddr40 +[ ]+[0-9a-f]+:[ ]+9e859073[ ]+csrw[ ]+spmpaddr40,a1 +[ ]+[0-9a-f]+:[ ]+9e902573[ ]+csrr[ ]+a0,spmpaddr41 +[ ]+[0-9a-f]+:[ ]+9e959073[ ]+csrw[ ]+spmpaddr41,a1 +[ ]+[0-9a-f]+:[ ]+9ea02573[ ]+csrr[ ]+a0,spmpaddr42 +[ ]+[0-9a-f]+:[ ]+9ea59073[ ]+csrw[ ]+spmpaddr42,a1 +[ ]+[0-9a-f]+:[ ]+9eb02573[ ]+csrr[ ]+a0,spmpaddr43 +[ ]+[0-9a-f]+:[ ]+9eb59073[ ]+csrw[ ]+spmpaddr43,a1 +[ ]+[0-9a-f]+:[ ]+9ec02573[ ]+csrr[ ]+a0,spmpaddr44 +[ ]+[0-9a-f]+:[ ]+9ec59073[ ]+csrw[ ]+spmpaddr44,a1 +[ ]+[0-9a-f]+:[ ]+9ed02573[ ]+csrr[ ]+a0,spmpaddr45 +[ ]+[0-9a-f]+:[ ]+9ed59073[ ]+csrw[ ]+spmpaddr45,a1 +[ ]+[0-9a-f]+:[ ]+9ee02573[ ]+csrr[ ]+a0,spmpaddr46 +[ ]+[0-9a-f]+:[ ]+9ee59073[ ]+csrw[ ]+spmpaddr46,a1 +[ ]+[0-9a-f]+:[ ]+9ef02573[ ]+csrr[ ]+a0,spmpaddr47 +[ ]+[0-9a-f]+:[ ]+9ef59073[ ]+csrw[ ]+spmpaddr47,a1 +[ ]+[0-9a-f]+:[ ]+9f002573[ ]+csrr[ ]+a0,spmpaddr48 +[ ]+[0-9a-f]+:[ ]+9f059073[ ]+csrw[ ]+spmpaddr48,a1 +[ ]+[0-9a-f]+:[ ]+9f102573[ ]+csrr[ ]+a0,spmpaddr49 +[ ]+[0-9a-f]+:[ ]+9f159073[ ]+csrw[ ]+spmpaddr49,a1 +[ ]+[0-9a-f]+:[ ]+9f202573[ ]+csrr[ ]+a0,spmpaddr50 +[ ]+[0-9a-f]+:[ ]+9f259073[ ]+csrw[ ]+spmpaddr50,a1 +[ ]+[0-9a-f]+:[ ]+9f302573[ ]+csrr[ ]+a0,spmpaddr51 +[ ]+[0-9a-f]+:[ ]+9f359073[ ]+csrw[ ]+spmpaddr51,a1 +[ ]+[0-9a-f]+:[ ]+9f402573[ ]+csrr[ ]+a0,spmpaddr52 +[ ]+[0-9a-f]+:[ ]+9f459073[ ]+csrw[ ]+spmpaddr52,a1 +[ ]+[0-9a-f]+:[ ]+9f502573[ ]+csrr[ ]+a0,spmpaddr53 +[ ]+[0-9a-f]+:[ ]+9f559073[ ]+csrw[ ]+spmpaddr53,a1 +[ ]+[0-9a-f]+:[ ]+9f602573[ ]+csrr[ ]+a0,spmpaddr54 +[ ]+[0-9a-f]+:[ ]+9f659073[ ]+csrw[ ]+spmpaddr54,a1 +[ ]+[0-9a-f]+:[ ]+9f702573[ ]+csrr[ ]+a0,spmpaddr55 +[ ]+[0-9a-f]+:[ ]+9f759073[ ]+csrw[ ]+spmpaddr55,a1 +[ ]+[0-9a-f]+:[ ]+9f802573[ ]+csrr[ ]+a0,spmpaddr56 +[ ]+[0-9a-f]+:[ ]+9f859073[ ]+csrw[ ]+spmpaddr56,a1 +[ ]+[0-9a-f]+:[ ]+9f902573[ ]+csrr[ ]+a0,spmpaddr57 +[ ]+[0-9a-f]+:[ ]+9f959073[ ]+csrw[ ]+spmpaddr57,a1 +[ ]+[0-9a-f]+:[ ]+9fa02573[ ]+csrr[ ]+a0,spmpaddr58 +[ ]+[0-9a-f]+:[ ]+9fa59073[ ]+csrw[ ]+spmpaddr58,a1 +[ ]+[0-9a-f]+:[ ]+9fb02573[ ]+csrr[ ]+a0,spmpaddr59 +[ ]+[0-9a-f]+:[ ]+9fb59073[ ]+csrw[ ]+spmpaddr59,a1 +[ ]+[0-9a-f]+:[ ]+9fc02573[ ]+csrr[ ]+a0,spmpaddr60 +[ ]+[0-9a-f]+:[ ]+9fc59073[ ]+csrw[ ]+spmpaddr60,a1 +[ ]+[0-9a-f]+:[ ]+9fd02573[ ]+csrr[ ]+a0,spmpaddr61 +[ ]+[0-9a-f]+:[ ]+9fd59073[ ]+csrw[ ]+spmpaddr61,a1 +[ ]+[0-9a-f]+:[ ]+9fe02573[ ]+csrr[ ]+a0,spmpaddr62 +[ ]+[0-9a-f]+:[ ]+9fe59073[ ]+csrw[ ]+spmpaddr62,a1 +[ ]+[0-9a-f]+:[ ]+9ff02573[ ]+csrr[ ]+a0,spmpaddr63 +[ ]+[0-9a-f]+:[ ]+9ff59073[ ]+csrw[ ]+spmpaddr63,a1 [ ]+[0-9a-f]+:[ ]+14d02573[ ]+csrr[ ]+a0,stimecmp [ ]+[0-9a-f]+:[ ]+14d59073[ ]+csrw[ ]+stimecmp,a1 [ ]+[0-9a-f]+:[ ]+15d02573[ ]+csrr[ ]+a0,stimecmph diff --git a/gas/testsuite/gas/riscv/csr-version-1p11.l b/gas/testsuite/gas/riscv/csr-version-1p11.l index 81ca86ca7bcc..542e3a70f34b 100644 --- a/gas/testsuite/gas/riscv/csr-version-1p11.l +++ b/gas/testsuite/gas/riscv/csr-version-1p11.l @@ -725,6 +725,188 @@ .*Warning: invalid CSR `mhpmevent31h', needs `sscofpmf' extension .*Warning: invalid CSR `mhpmevent31h', needs rv32i extension .*Warning: invalid CSR `mhpmevent31h', needs `sscofpmf' extension +.*Warning: invalid CSR `spmpcfg0', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg0', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg1', needs rv32i extension +.*Warning: invalid CSR `spmpcfg1', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg1', needs rv32i extension +.*Warning: invalid CSR `spmpcfg1', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg2', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg2', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg3', needs rv32i extension +.*Warning: invalid CSR `spmpcfg3', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg3', needs rv32i extension +.*Warning: invalid CSR `spmpcfg3', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg4', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg4', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg5', needs rv32i extension +.*Warning: invalid CSR `spmpcfg5', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg5', needs rv32i extension +.*Warning: invalid CSR `spmpcfg5', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg6', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg6', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg7', needs rv32i extension +.*Warning: invalid CSR `spmpcfg7', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg7', needs rv32i extension +.*Warning: invalid CSR `spmpcfg7', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg8', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg8', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg9', needs rv32i extension +.*Warning: invalid CSR `spmpcfg9', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg9', needs rv32i extension +.*Warning: invalid CSR `spmpcfg9', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg10', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg10', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg11', needs rv32i extension +.*Warning: invalid CSR `spmpcfg11', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg11', needs rv32i extension +.*Warning: invalid CSR `spmpcfg11', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg12', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg12', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg13', needs rv32i extension +.*Warning: invalid CSR `spmpcfg13', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg13', needs rv32i extension +.*Warning: invalid CSR `spmpcfg13', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg14', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg14', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg15', needs rv32i extension +.*Warning: invalid CSR `spmpcfg15', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg15', needs rv32i extension +.*Warning: invalid CSR `spmpcfg15', needs `sspmp' extension +.*Warning: invalid CSR `spmpswitch0', needs `sspmp' extension +.*Warning: invalid CSR `spmpswitch0', needs `sspmp' extension +.*Warning: invalid CSR `spmpswitch1', needs rv32i extension +.*Warning: invalid CSR `spmpswitch1', needs `sspmp' extension +.*Warning: invalid CSR `spmpswitch1', needs rv32i extension +.*Warning: invalid CSR `spmpswitch1', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr0', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr0', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr1', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr1', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr2', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr2', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr3', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr3', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr4', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr4', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr5', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr5', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr6', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr6', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr7', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr7', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr8', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr8', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr9', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr9', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr10', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr10', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr11', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr11', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr12', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr12', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr13', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr13', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr14', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr14', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr15', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr15', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr16', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr16', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr17', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr17', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr18', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr18', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr19', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr19', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr20', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr20', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr21', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr21', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr22', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr22', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr23', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr23', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr24', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr24', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr25', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr25', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr26', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr26', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr27', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr27', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr28', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr28', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr29', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr29', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr30', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr30', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr31', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr31', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr32', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr32', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr33', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr33', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr34', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr34', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr35', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr35', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr36', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr36', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr37', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr37', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr38', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr38', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr39', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr39', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr40', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr40', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr41', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr41', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr42', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr42', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr43', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr43', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr44', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr44', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr45', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr45', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr46', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr46', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr47', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr47', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr48', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr48', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr49', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr49', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr50', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr50', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr51', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr51', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr52', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr52', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr53', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr53', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr54', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr54', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr55', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr55', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr56', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr56', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr57', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr57', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr58', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr58', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr59', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr59', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr60', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr60', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr61', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr61', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr62', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr62', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr63', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr63', needs `sspmp' extension .*Warning: invalid CSR `stimecmp', needs `sstc' extension .*Warning: invalid CSR `stimecmp', needs `sstc' extension .*Warning: invalid CSR `stimecmph', needs rv32i extension diff --git a/gas/testsuite/gas/riscv/csr-version-1p12.d b/gas/testsuite/gas/riscv/csr-version-1p12.d index 612aac280768..c1c31bbbf79b 100644 --- a/gas/testsuite/gas/riscv/csr-version-1p12.d +++ b/gas/testsuite/gas/riscv/csr-version-1p12.d @@ -765,6 +765,170 @@ Disassembly of section .text: [ ]+[0-9a-f]+:[ ]+73e59073[ ]+csrw[ ]+mhpmevent30h,a1 [ ]+[0-9a-f]+:[ ]+73f02573[ ]+csrr[ ]+a0,mhpmevent31h [ ]+[0-9a-f]+:[ ]+73f59073[ ]+csrw[ ]+mhpmevent31h,a1 +[ ]+[0-9a-f]+:[ ]+5c002573[ ]+csrr[ ]+a0,spmpcfg0 +[ ]+[0-9a-f]+:[ ]+5c059073[ ]+csrw[ ]+spmpcfg0,a1 +[ ]+[0-9a-f]+:[ ]+5c102573[ ]+csrr[ ]+a0,spmpcfg1 +[ ]+[0-9a-f]+:[ ]+5c159073[ ]+csrw[ ]+spmpcfg1,a1 +[ ]+[0-9a-f]+:[ ]+5c202573[ ]+csrr[ ]+a0,spmpcfg2 +[ ]+[0-9a-f]+:[ ]+5c259073[ ]+csrw[ ]+spmpcfg2,a1 +[ ]+[0-9a-f]+:[ ]+5c302573[ ]+csrr[ ]+a0,spmpcfg3 +[ ]+[0-9a-f]+:[ ]+5c359073[ ]+csrw[ ]+spmpcfg3,a1 +[ ]+[0-9a-f]+:[ ]+5c402573[ ]+csrr[ ]+a0,spmpcfg4 +[ ]+[0-9a-f]+:[ ]+5c459073[ ]+csrw[ ]+spmpcfg4,a1 +[ ]+[0-9a-f]+:[ ]+5c502573[ ]+csrr[ ]+a0,spmpcfg5 +[ ]+[0-9a-f]+:[ ]+5c559073[ ]+csrw[ ]+spmpcfg5,a1 +[ ]+[0-9a-f]+:[ ]+5c602573[ ]+csrr[ ]+a0,spmpcfg6 +[ ]+[0-9a-f]+:[ ]+5c659073[ ]+csrw[ ]+spmpcfg6,a1 +[ ]+[0-9a-f]+:[ ]+5c702573[ ]+csrr[ ]+a0,spmpcfg7 +[ ]+[0-9a-f]+:[ ]+5c759073[ ]+csrw[ ]+spmpcfg7,a1 +[ ]+[0-9a-f]+:[ ]+5c802573[ ]+csrr[ ]+a0,spmpcfg8 +[ ]+[0-9a-f]+:[ ]+5c859073[ ]+csrw[ ]+spmpcfg8,a1 +[ ]+[0-9a-f]+:[ ]+5c902573[ ]+csrr[ ]+a0,spmpcfg9 +[ ]+[0-9a-f]+:[ ]+5c959073[ ]+csrw[ ]+spmpcfg9,a1 +[ ]+[0-9a-f]+:[ ]+5ca02573[ ]+csrr[ ]+a0,spmpcfg10 +[ ]+[0-9a-f]+:[ ]+5ca59073[ ]+csrw[ ]+spmpcfg10,a1 +[ ]+[0-9a-f]+:[ ]+5cb02573[ ]+csrr[ ]+a0,spmpcfg11 +[ ]+[0-9a-f]+:[ ]+5cb59073[ ]+csrw[ ]+spmpcfg11,a1 +[ ]+[0-9a-f]+:[ ]+5cc02573[ ]+csrr[ ]+a0,spmpcfg12 +[ ]+[0-9a-f]+:[ ]+5cc59073[ ]+csrw[ ]+spmpcfg12,a1 +[ ]+[0-9a-f]+:[ ]+5cd02573[ ]+csrr[ ]+a0,spmpcfg13 +[ ]+[0-9a-f]+:[ ]+5cd59073[ ]+csrw[ ]+spmpcfg13,a1 +[ ]+[0-9a-f]+:[ ]+5ce02573[ ]+csrr[ ]+a0,spmpcfg14 +[ ]+[0-9a-f]+:[ ]+5ce59073[ ]+csrw[ ]+spmpcfg14,a1 +[ ]+[0-9a-f]+:[ ]+5cf02573[ ]+csrr[ ]+a0,spmpcfg15 +[ ]+[0-9a-f]+:[ ]+5cf59073[ ]+csrw[ ]+spmpcfg15,a1 +[ ]+[0-9a-f]+:[ ]+5d002573[ ]+csrr[ ]+a0,spmpswitch0 +[ ]+[0-9a-f]+:[ ]+5d059073[ ]+csrw[ ]+spmpswitch0,a1 +[ ]+[0-9a-f]+:[ ]+5d102573[ ]+csrr[ ]+a0,spmpswitch1 +[ ]+[0-9a-f]+:[ ]+5d159073[ ]+csrw[ ]+spmpswitch1,a1 +[ ]+[0-9a-f]+:[ ]+9c002573[ ]+csrr[ ]+a0,spmpaddr0 +[ ]+[0-9a-f]+:[ ]+9c059073[ ]+csrw[ ]+spmpaddr0,a1 +[ ]+[0-9a-f]+:[ ]+9c102573[ ]+csrr[ ]+a0,spmpaddr1 +[ ]+[0-9a-f]+:[ ]+9c159073[ ]+csrw[ ]+spmpaddr1,a1 +[ ]+[0-9a-f]+:[ ]+9c202573[ ]+csrr[ ]+a0,spmpaddr2 +[ ]+[0-9a-f]+:[ ]+9c259073[ ]+csrw[ ]+spmpaddr2,a1 +[ ]+[0-9a-f]+:[ ]+9c302573[ ]+csrr[ ]+a0,spmpaddr3 +[ ]+[0-9a-f]+:[ ]+9c359073[ ]+csrw[ ]+spmpaddr3,a1 +[ ]+[0-9a-f]+:[ ]+9c402573[ ]+csrr[ ]+a0,spmpaddr4 +[ ]+[0-9a-f]+:[ ]+9c459073[ ]+csrw[ ]+spmpaddr4,a1 +[ ]+[0-9a-f]+:[ ]+9c502573[ ]+csrr[ ]+a0,spmpaddr5 +[ ]+[0-9a-f]+:[ ]+9c559073[ ]+csrw[ ]+spmpaddr5,a1 +[ ]+[0-9a-f]+:[ ]+9c602573[ ]+csrr[ ]+a0,spmpaddr6 +[ ]+[0-9a-f]+:[ ]+9c659073[ ]+csrw[ ]+spmpaddr6,a1 +[ ]+[0-9a-f]+:[ ]+9c702573[ ]+csrr[ ]+a0,spmpaddr7 +[ ]+[0-9a-f]+:[ ]+9c759073[ ]+csrw[ ]+spmpaddr7,a1 +[ ]+[0-9a-f]+:[ ]+9c802573[ ]+csrr[ ]+a0,spmpaddr8 +[ ]+[0-9a-f]+:[ ]+9c859073[ ]+csrw[ ]+spmpaddr8,a1 +[ ]+[0-9a-f]+:[ ]+9c902573[ ]+csrr[ ]+a0,spmpaddr9 +[ ]+[0-9a-f]+:[ ]+9c959073[ ]+csrw[ ]+spmpaddr9,a1 +[ ]+[0-9a-f]+:[ ]+9ca02573[ ]+csrr[ ]+a0,spmpaddr10 +[ ]+[0-9a-f]+:[ ]+9ca59073[ ]+csrw[ ]+spmpaddr10,a1 +[ ]+[0-9a-f]+:[ ]+9cb02573[ ]+csrr[ ]+a0,spmpaddr11 +[ ]+[0-9a-f]+:[ ]+9cb59073[ ]+csrw[ ]+spmpaddr11,a1 +[ ]+[0-9a-f]+:[ ]+9cc02573[ ]+csrr[ ]+a0,spmpaddr12 +[ ]+[0-9a-f]+:[ ]+9cc59073[ ]+csrw[ ]+spmpaddr12,a1 +[ ]+[0-9a-f]+:[ ]+9cd02573[ ]+csrr[ ]+a0,spmpaddr13 +[ ]+[0-9a-f]+:[ ]+9cd59073[ ]+csrw[ ]+spmpaddr13,a1 +[ ]+[0-9a-f]+:[ ]+9ce02573[ ]+csrr[ ]+a0,spmpaddr14 +[ ]+[0-9a-f]+:[ ]+9ce59073[ ]+csrw[ ]+spmpaddr14,a1 +[ ]+[0-9a-f]+:[ ]+9cf02573[ ]+csrr[ ]+a0,spmpaddr15 +[ ]+[0-9a-f]+:[ ]+9cf59073[ ]+csrw[ ]+spmpaddr15,a1 +[ ]+[0-9a-f]+:[ ]+9d002573[ ]+csrr[ ]+a0,spmpaddr16 +[ ]+[0-9a-f]+:[ ]+9d059073[ ]+csrw[ ]+spmpaddr16,a1 +[ ]+[0-9a-f]+:[ ]+9d102573[ ]+csrr[ ]+a0,spmpaddr17 +[ ]+[0-9a-f]+:[ ]+9d159073[ ]+csrw[ ]+spmpaddr17,a1 +[ ]+[0-9a-f]+:[ ]+9d202573[ ]+csrr[ ]+a0,spmpaddr18 +[ ]+[0-9a-f]+:[ ]+9d259073[ ]+csrw[ ]+spmpaddr18,a1 +[ ]+[0-9a-f]+:[ ]+9d302573[ ]+csrr[ ]+a0,spmpaddr19 +[ ]+[0-9a-f]+:[ ]+9d359073[ ]+csrw[ ]+spmpaddr19,a1 +[ ]+[0-9a-f]+:[ ]+9d402573[ ]+csrr[ ]+a0,spmpaddr20 +[ ]+[0-9a-f]+:[ ]+9d459073[ ]+csrw[ ]+spmpaddr20,a1 +[ ]+[0-9a-f]+:[ ]+9d502573[ ]+csrr[ ]+a0,spmpaddr21 +[ ]+[0-9a-f]+:[ ]+9d559073[ ]+csrw[ ]+spmpaddr21,a1 +[ ]+[0-9a-f]+:[ ]+9d602573[ ]+csrr[ ]+a0,spmpaddr22 +[ ]+[0-9a-f]+:[ ]+9d659073[ ]+csrw[ ]+spmpaddr22,a1 +[ ]+[0-9a-f]+:[ ]+9d702573[ ]+csrr[ ]+a0,spmpaddr23 +[ ]+[0-9a-f]+:[ ]+9d759073[ ]+csrw[ ]+spmpaddr23,a1 +[ ]+[0-9a-f]+:[ ]+9d802573[ ]+csrr[ ]+a0,spmpaddr24 +[ ]+[0-9a-f]+:[ ]+9d859073[ ]+csrw[ ]+spmpaddr24,a1 +[ ]+[0-9a-f]+:[ ]+9d902573[ ]+csrr[ ]+a0,spmpaddr25 +[ ]+[0-9a-f]+:[ ]+9d959073[ ]+csrw[ ]+spmpaddr25,a1 +[ ]+[0-9a-f]+:[ ]+9da02573[ ]+csrr[ ]+a0,spmpaddr26 +[ ]+[0-9a-f]+:[ ]+9da59073[ ]+csrw[ ]+spmpaddr26,a1 +[ ]+[0-9a-f]+:[ ]+9db02573[ ]+csrr[ ]+a0,spmpaddr27 +[ ]+[0-9a-f]+:[ ]+9db59073[ ]+csrw[ ]+spmpaddr27,a1 +[ ]+[0-9a-f]+:[ ]+9dc02573[ ]+csrr[ ]+a0,spmpaddr28 +[ ]+[0-9a-f]+:[ ]+9dc59073[ ]+csrw[ ]+spmpaddr28,a1 +[ ]+[0-9a-f]+:[ ]+9dd02573[ ]+csrr[ ]+a0,spmpaddr29 +[ ]+[0-9a-f]+:[ ]+9dd59073[ ]+csrw[ ]+spmpaddr29,a1 +[ ]+[0-9a-f]+:[ ]+9de02573[ ]+csrr[ ]+a0,spmpaddr30 +[ ]+[0-9a-f]+:[ ]+9de59073[ ]+csrw[ ]+spmpaddr30,a1 +[ ]+[0-9a-f]+:[ ]+9df02573[ ]+csrr[ ]+a0,spmpaddr31 +[ ]+[0-9a-f]+:[ ]+9df59073[ ]+csrw[ ]+spmpaddr31,a1 +[ ]+[0-9a-f]+:[ ]+9e002573[ ]+csrr[ ]+a0,spmpaddr32 +[ ]+[0-9a-f]+:[ ]+9e059073[ ]+csrw[ ]+spmpaddr32,a1 +[ ]+[0-9a-f]+:[ ]+9e102573[ ]+csrr[ ]+a0,spmpaddr33 +[ ]+[0-9a-f]+:[ ]+9e159073[ ]+csrw[ ]+spmpaddr33,a1 +[ ]+[0-9a-f]+:[ ]+9e202573[ ]+csrr[ ]+a0,spmpaddr34 +[ ]+[0-9a-f]+:[ ]+9e259073[ ]+csrw[ ]+spmpaddr34,a1 +[ ]+[0-9a-f]+:[ ]+9e302573[ ]+csrr[ ]+a0,spmpaddr35 +[ ]+[0-9a-f]+:[ ]+9e359073[ ]+csrw[ ]+spmpaddr35,a1 +[ ]+[0-9a-f]+:[ ]+9e402573[ ]+csrr[ ]+a0,spmpaddr36 +[ ]+[0-9a-f]+:[ ]+9e459073[ ]+csrw[ ]+spmpaddr36,a1 +[ ]+[0-9a-f]+:[ ]+9e502573[ ]+csrr[ ]+a0,spmpaddr37 +[ ]+[0-9a-f]+:[ ]+9e559073[ ]+csrw[ ]+spmpaddr37,a1 +[ ]+[0-9a-f]+:[ ]+9e602573[ ]+csrr[ ]+a0,spmpaddr38 +[ ]+[0-9a-f]+:[ ]+9e659073[ ]+csrw[ ]+spmpaddr38,a1 +[ ]+[0-9a-f]+:[ ]+9e702573[ ]+csrr[ ]+a0,spmpaddr39 +[ ]+[0-9a-f]+:[ ]+9e759073[ ]+csrw[ ]+spmpaddr39,a1 +[ ]+[0-9a-f]+:[ ]+9e802573[ ]+csrr[ ]+a0,spmpaddr40 +[ ]+[0-9a-f]+:[ ]+9e859073[ ]+csrw[ ]+spmpaddr40,a1 +[ ]+[0-9a-f]+:[ ]+9e902573[ ]+csrr[ ]+a0,spmpaddr41 +[ ]+[0-9a-f]+:[ ]+9e959073[ ]+csrw[ ]+spmpaddr41,a1 +[ ]+[0-9a-f]+:[ ]+9ea02573[ ]+csrr[ ]+a0,spmpaddr42 +[ ]+[0-9a-f]+:[ ]+9ea59073[ ]+csrw[ ]+spmpaddr42,a1 +[ ]+[0-9a-f]+:[ ]+9eb02573[ ]+csrr[ ]+a0,spmpaddr43 +[ ]+[0-9a-f]+:[ ]+9eb59073[ ]+csrw[ ]+spmpaddr43,a1 +[ ]+[0-9a-f]+:[ ]+9ec02573[ ]+csrr[ ]+a0,spmpaddr44 +[ ]+[0-9a-f]+:[ ]+9ec59073[ ]+csrw[ ]+spmpaddr44,a1 +[ ]+[0-9a-f]+:[ ]+9ed02573[ ]+csrr[ ]+a0,spmpaddr45 +[ ]+[0-9a-f]+:[ ]+9ed59073[ ]+csrw[ ]+spmpaddr45,a1 +[ ]+[0-9a-f]+:[ ]+9ee02573[ ]+csrr[ ]+a0,spmpaddr46 +[ ]+[0-9a-f]+:[ ]+9ee59073[ ]+csrw[ ]+spmpaddr46,a1 +[ ]+[0-9a-f]+:[ ]+9ef02573[ ]+csrr[ ]+a0,spmpaddr47 +[ ]+[0-9a-f]+:[ ]+9ef59073[ ]+csrw[ ]+spmpaddr47,a1 +[ ]+[0-9a-f]+:[ ]+9f002573[ ]+csrr[ ]+a0,spmpaddr48 +[ ]+[0-9a-f]+:[ ]+9f059073[ ]+csrw[ ]+spmpaddr48,a1 +[ ]+[0-9a-f]+:[ ]+9f102573[ ]+csrr[ ]+a0,spmpaddr49 +[ ]+[0-9a-f]+:[ ]+9f159073[ ]+csrw[ ]+spmpaddr49,a1 +[ ]+[0-9a-f]+:[ ]+9f202573[ ]+csrr[ ]+a0,spmpaddr50 +[ ]+[0-9a-f]+:[ ]+9f259073[ ]+csrw[ ]+spmpaddr50,a1 +[ ]+[0-9a-f]+:[ ]+9f302573[ ]+csrr[ ]+a0,spmpaddr51 +[ ]+[0-9a-f]+:[ ]+9f359073[ ]+csrw[ ]+spmpaddr51,a1 +[ ]+[0-9a-f]+:[ ]+9f402573[ ]+csrr[ ]+a0,spmpaddr52 +[ ]+[0-9a-f]+:[ ]+9f459073[ ]+csrw[ ]+spmpaddr52,a1 +[ ]+[0-9a-f]+:[ ]+9f502573[ ]+csrr[ ]+a0,spmpaddr53 +[ ]+[0-9a-f]+:[ ]+9f559073[ ]+csrw[ ]+spmpaddr53,a1 +[ ]+[0-9a-f]+:[ ]+9f602573[ ]+csrr[ ]+a0,spmpaddr54 +[ ]+[0-9a-f]+:[ ]+9f659073[ ]+csrw[ ]+spmpaddr54,a1 +[ ]+[0-9a-f]+:[ ]+9f702573[ ]+csrr[ ]+a0,spmpaddr55 +[ ]+[0-9a-f]+:[ ]+9f759073[ ]+csrw[ ]+spmpaddr55,a1 +[ ]+[0-9a-f]+:[ ]+9f802573[ ]+csrr[ ]+a0,spmpaddr56 +[ ]+[0-9a-f]+:[ ]+9f859073[ ]+csrw[ ]+spmpaddr56,a1 +[ ]+[0-9a-f]+:[ ]+9f902573[ ]+csrr[ ]+a0,spmpaddr57 +[ ]+[0-9a-f]+:[ ]+9f959073[ ]+csrw[ ]+spmpaddr57,a1 +[ ]+[0-9a-f]+:[ ]+9fa02573[ ]+csrr[ ]+a0,spmpaddr58 +[ ]+[0-9a-f]+:[ ]+9fa59073[ ]+csrw[ ]+spmpaddr58,a1 +[ ]+[0-9a-f]+:[ ]+9fb02573[ ]+csrr[ ]+a0,spmpaddr59 +[ ]+[0-9a-f]+:[ ]+9fb59073[ ]+csrw[ ]+spmpaddr59,a1 +[ ]+[0-9a-f]+:[ ]+9fc02573[ ]+csrr[ ]+a0,spmpaddr60 +[ ]+[0-9a-f]+:[ ]+9fc59073[ ]+csrw[ ]+spmpaddr60,a1 +[ ]+[0-9a-f]+:[ ]+9fd02573[ ]+csrr[ ]+a0,spmpaddr61 +[ ]+[0-9a-f]+:[ ]+9fd59073[ ]+csrw[ ]+spmpaddr61,a1 +[ ]+[0-9a-f]+:[ ]+9fe02573[ ]+csrr[ ]+a0,spmpaddr62 +[ ]+[0-9a-f]+:[ ]+9fe59073[ ]+csrw[ ]+spmpaddr62,a1 +[ ]+[0-9a-f]+:[ ]+9ff02573[ ]+csrr[ ]+a0,spmpaddr63 +[ ]+[0-9a-f]+:[ ]+9ff59073[ ]+csrw[ ]+spmpaddr63,a1 [ ]+[0-9a-f]+:[ ]+14d02573[ ]+csrr[ ]+a0,stimecmp [ ]+[0-9a-f]+:[ ]+14d59073[ ]+csrw[ ]+stimecmp,a1 [ ]+[0-9a-f]+:[ ]+15d02573[ ]+csrr[ ]+a0,stimecmph diff --git a/gas/testsuite/gas/riscv/csr-version-1p12.l b/gas/testsuite/gas/riscv/csr-version-1p12.l index 1c0bb4ef2d8f..83933a198eda 100644 --- a/gas/testsuite/gas/riscv/csr-version-1p12.l +++ b/gas/testsuite/gas/riscv/csr-version-1p12.l @@ -587,6 +587,188 @@ .*Warning: invalid CSR `mhpmevent31h', needs `sscofpmf' extension .*Warning: invalid CSR `mhpmevent31h', needs rv32i extension .*Warning: invalid CSR `mhpmevent31h', needs `sscofpmf' extension +.*Warning: invalid CSR `spmpcfg0', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg0', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg1', needs rv32i extension +.*Warning: invalid CSR `spmpcfg1', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg1', needs rv32i extension +.*Warning: invalid CSR `spmpcfg1', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg2', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg2', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg3', needs rv32i extension +.*Warning: invalid CSR `spmpcfg3', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg3', needs rv32i extension +.*Warning: invalid CSR `spmpcfg3', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg4', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg4', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg5', needs rv32i extension +.*Warning: invalid CSR `spmpcfg5', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg5', needs rv32i extension +.*Warning: invalid CSR `spmpcfg5', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg6', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg6', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg7', needs rv32i extension +.*Warning: invalid CSR `spmpcfg7', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg7', needs rv32i extension +.*Warning: invalid CSR `spmpcfg7', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg8', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg8', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg9', needs rv32i extension +.*Warning: invalid CSR `spmpcfg9', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg9', needs rv32i extension +.*Warning: invalid CSR `spmpcfg9', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg10', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg10', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg11', needs rv32i extension +.*Warning: invalid CSR `spmpcfg11', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg11', needs rv32i extension +.*Warning: invalid CSR `spmpcfg11', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg12', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg12', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg13', needs rv32i extension +.*Warning: invalid CSR `spmpcfg13', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg13', needs rv32i extension +.*Warning: invalid CSR `spmpcfg13', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg14', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg14', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg15', needs rv32i extension +.*Warning: invalid CSR `spmpcfg15', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg15', needs rv32i extension +.*Warning: invalid CSR `spmpcfg15', needs `sspmp' extension +.*Warning: invalid CSR `spmpswitch0', needs `sspmp' extension +.*Warning: invalid CSR `spmpswitch0', needs `sspmp' extension +.*Warning: invalid CSR `spmpswitch1', needs rv32i extension +.*Warning: invalid CSR `spmpswitch1', needs `sspmp' extension +.*Warning: invalid CSR `spmpswitch1', needs rv32i extension +.*Warning: invalid CSR `spmpswitch1', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr0', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr0', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr1', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr1', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr2', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr2', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr3', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr3', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr4', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr4', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr5', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr5', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr6', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr6', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr7', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr7', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr8', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr8', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr9', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr9', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr10', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr10', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr11', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr11', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr12', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr12', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr13', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr13', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr14', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr14', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr15', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr15', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr16', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr16', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr17', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr17', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr18', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr18', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr19', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr19', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr20', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr20', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr21', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr21', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr22', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr22', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr23', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr23', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr24', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr24', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr25', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr25', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr26', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr26', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr27', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr27', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr28', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr28', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr29', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr29', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr30', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr30', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr31', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr31', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr32', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr32', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr33', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr33', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr34', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr34', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr35', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr35', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr36', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr36', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr37', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr37', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr38', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr38', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr39', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr39', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr40', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr40', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr41', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr41', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr42', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr42', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr43', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr43', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr44', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr44', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr45', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr45', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr46', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr46', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr47', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr47', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr48', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr48', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr49', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr49', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr50', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr50', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr51', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr51', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr52', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr52', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr53', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr53', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr54', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr54', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr55', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr55', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr56', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr56', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr57', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr57', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr58', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr58', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr59', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr59', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr60', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr60', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr61', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr61', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr62', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr62', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr63', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr63', needs `sspmp' extension .*Warning: invalid CSR `stimecmp', needs `sstc' extension .*Warning: invalid CSR `stimecmp', needs `sstc' extension .*Warning: invalid CSR `stimecmph', needs rv32i extension diff --git a/gas/testsuite/gas/riscv/csr-version-1p9p1.d b/gas/testsuite/gas/riscv/csr-version-1p9p1.d index 0fe849c269c2..b304622e7f9c 100644 --- a/gas/testsuite/gas/riscv/csr-version-1p9p1.d +++ b/gas/testsuite/gas/riscv/csr-version-1p9p1.d @@ -765,6 +765,170 @@ Disassembly of section .text: [ ]+[0-9a-f]+:[ ]+73e59073[ ]+csrw[ ]+mhpmevent30h,a1 [ ]+[0-9a-f]+:[ ]+73f02573[ ]+csrr[ ]+a0,mhpmevent31h [ ]+[0-9a-f]+:[ ]+73f59073[ ]+csrw[ ]+mhpmevent31h,a1 +[ ]+[0-9a-f]+:[ ]+5c002573[ ]+csrr[ ]+a0,spmpcfg0 +[ ]+[0-9a-f]+:[ ]+5c059073[ ]+csrw[ ]+spmpcfg0,a1 +[ ]+[0-9a-f]+:[ ]+5c102573[ ]+csrr[ ]+a0,spmpcfg1 +[ ]+[0-9a-f]+:[ ]+5c159073[ ]+csrw[ ]+spmpcfg1,a1 +[ ]+[0-9a-f]+:[ ]+5c202573[ ]+csrr[ ]+a0,spmpcfg2 +[ ]+[0-9a-f]+:[ ]+5c259073[ ]+csrw[ ]+spmpcfg2,a1 +[ ]+[0-9a-f]+:[ ]+5c302573[ ]+csrr[ ]+a0,spmpcfg3 +[ ]+[0-9a-f]+:[ ]+5c359073[ ]+csrw[ ]+spmpcfg3,a1 +[ ]+[0-9a-f]+:[ ]+5c402573[ ]+csrr[ ]+a0,spmpcfg4 +[ ]+[0-9a-f]+:[ ]+5c459073[ ]+csrw[ ]+spmpcfg4,a1 +[ ]+[0-9a-f]+:[ ]+5c502573[ ]+csrr[ ]+a0,spmpcfg5 +[ ]+[0-9a-f]+:[ ]+5c559073[ ]+csrw[ ]+spmpcfg5,a1 +[ ]+[0-9a-f]+:[ ]+5c602573[ ]+csrr[ ]+a0,spmpcfg6 +[ ]+[0-9a-f]+:[ ]+5c659073[ ]+csrw[ ]+spmpcfg6,a1 +[ ]+[0-9a-f]+:[ ]+5c702573[ ]+csrr[ ]+a0,spmpcfg7 +[ ]+[0-9a-f]+:[ ]+5c759073[ ]+csrw[ ]+spmpcfg7,a1 +[ ]+[0-9a-f]+:[ ]+5c802573[ ]+csrr[ ]+a0,spmpcfg8 +[ ]+[0-9a-f]+:[ ]+5c859073[ ]+csrw[ ]+spmpcfg8,a1 +[ ]+[0-9a-f]+:[ ]+5c902573[ ]+csrr[ ]+a0,spmpcfg9 +[ ]+[0-9a-f]+:[ ]+5c959073[ ]+csrw[ ]+spmpcfg9,a1 +[ ]+[0-9a-f]+:[ ]+5ca02573[ ]+csrr[ ]+a0,spmpcfg10 +[ ]+[0-9a-f]+:[ ]+5ca59073[ ]+csrw[ ]+spmpcfg10,a1 +[ ]+[0-9a-f]+:[ ]+5cb02573[ ]+csrr[ ]+a0,spmpcfg11 +[ ]+[0-9a-f]+:[ ]+5cb59073[ ]+csrw[ ]+spmpcfg11,a1 +[ ]+[0-9a-f]+:[ ]+5cc02573[ ]+csrr[ ]+a0,spmpcfg12 +[ ]+[0-9a-f]+:[ ]+5cc59073[ ]+csrw[ ]+spmpcfg12,a1 +[ ]+[0-9a-f]+:[ ]+5cd02573[ ]+csrr[ ]+a0,spmpcfg13 +[ ]+[0-9a-f]+:[ ]+5cd59073[ ]+csrw[ ]+spmpcfg13,a1 +[ ]+[0-9a-f]+:[ ]+5ce02573[ ]+csrr[ ]+a0,spmpcfg14 +[ ]+[0-9a-f]+:[ ]+5ce59073[ ]+csrw[ ]+spmpcfg14,a1 +[ ]+[0-9a-f]+:[ ]+5cf02573[ ]+csrr[ ]+a0,spmpcfg15 +[ ]+[0-9a-f]+:[ ]+5cf59073[ ]+csrw[ ]+spmpcfg15,a1 +[ ]+[0-9a-f]+:[ ]+5d002573[ ]+csrr[ ]+a0,spmpswitch0 +[ ]+[0-9a-f]+:[ ]+5d059073[ ]+csrw[ ]+spmpswitch0,a1 +[ ]+[0-9a-f]+:[ ]+5d102573[ ]+csrr[ ]+a0,spmpswitch1 +[ ]+[0-9a-f]+:[ ]+5d159073[ ]+csrw[ ]+spmpswitch1,a1 +[ ]+[0-9a-f]+:[ ]+9c002573[ ]+csrr[ ]+a0,spmpaddr0 +[ ]+[0-9a-f]+:[ ]+9c059073[ ]+csrw[ ]+spmpaddr0,a1 +[ ]+[0-9a-f]+:[ ]+9c102573[ ]+csrr[ ]+a0,spmpaddr1 +[ ]+[0-9a-f]+:[ ]+9c159073[ ]+csrw[ ]+spmpaddr1,a1 +[ ]+[0-9a-f]+:[ ]+9c202573[ ]+csrr[ ]+a0,spmpaddr2 +[ ]+[0-9a-f]+:[ ]+9c259073[ ]+csrw[ ]+spmpaddr2,a1 +[ ]+[0-9a-f]+:[ ]+9c302573[ ]+csrr[ ]+a0,spmpaddr3 +[ ]+[0-9a-f]+:[ ]+9c359073[ ]+csrw[ ]+spmpaddr3,a1 +[ ]+[0-9a-f]+:[ ]+9c402573[ ]+csrr[ ]+a0,spmpaddr4 +[ ]+[0-9a-f]+:[ ]+9c459073[ ]+csrw[ ]+spmpaddr4,a1 +[ ]+[0-9a-f]+:[ ]+9c502573[ ]+csrr[ ]+a0,spmpaddr5 +[ ]+[0-9a-f]+:[ ]+9c559073[ ]+csrw[ ]+spmpaddr5,a1 +[ ]+[0-9a-f]+:[ ]+9c602573[ ]+csrr[ ]+a0,spmpaddr6 +[ ]+[0-9a-f]+:[ ]+9c659073[ ]+csrw[ ]+spmpaddr6,a1 +[ ]+[0-9a-f]+:[ ]+9c702573[ ]+csrr[ ]+a0,spmpaddr7 +[ ]+[0-9a-f]+:[ ]+9c759073[ ]+csrw[ ]+spmpaddr7,a1 +[ ]+[0-9a-f]+:[ ]+9c802573[ ]+csrr[ ]+a0,spmpaddr8 +[ ]+[0-9a-f]+:[ ]+9c859073[ ]+csrw[ ]+spmpaddr8,a1 +[ ]+[0-9a-f]+:[ ]+9c902573[ ]+csrr[ ]+a0,spmpaddr9 +[ ]+[0-9a-f]+:[ ]+9c959073[ ]+csrw[ ]+spmpaddr9,a1 +[ ]+[0-9a-f]+:[ ]+9ca02573[ ]+csrr[ ]+a0,spmpaddr10 +[ ]+[0-9a-f]+:[ ]+9ca59073[ ]+csrw[ ]+spmpaddr10,a1 +[ ]+[0-9a-f]+:[ ]+9cb02573[ ]+csrr[ ]+a0,spmpaddr11 +[ ]+[0-9a-f]+:[ ]+9cb59073[ ]+csrw[ ]+spmpaddr11,a1 +[ ]+[0-9a-f]+:[ ]+9cc02573[ ]+csrr[ ]+a0,spmpaddr12 +[ ]+[0-9a-f]+:[ ]+9cc59073[ ]+csrw[ ]+spmpaddr12,a1 +[ ]+[0-9a-f]+:[ ]+9cd02573[ ]+csrr[ ]+a0,spmpaddr13 +[ ]+[0-9a-f]+:[ ]+9cd59073[ ]+csrw[ ]+spmpaddr13,a1 +[ ]+[0-9a-f]+:[ ]+9ce02573[ ]+csrr[ ]+a0,spmpaddr14 +[ ]+[0-9a-f]+:[ ]+9ce59073[ ]+csrw[ ]+spmpaddr14,a1 +[ ]+[0-9a-f]+:[ ]+9cf02573[ ]+csrr[ ]+a0,spmpaddr15 +[ ]+[0-9a-f]+:[ ]+9cf59073[ ]+csrw[ ]+spmpaddr15,a1 +[ ]+[0-9a-f]+:[ ]+9d002573[ ]+csrr[ ]+a0,spmpaddr16 +[ ]+[0-9a-f]+:[ ]+9d059073[ ]+csrw[ ]+spmpaddr16,a1 +[ ]+[0-9a-f]+:[ ]+9d102573[ ]+csrr[ ]+a0,spmpaddr17 +[ ]+[0-9a-f]+:[ ]+9d159073[ ]+csrw[ ]+spmpaddr17,a1 +[ ]+[0-9a-f]+:[ ]+9d202573[ ]+csrr[ ]+a0,spmpaddr18 +[ ]+[0-9a-f]+:[ ]+9d259073[ ]+csrw[ ]+spmpaddr18,a1 +[ ]+[0-9a-f]+:[ ]+9d302573[ ]+csrr[ ]+a0,spmpaddr19 +[ ]+[0-9a-f]+:[ ]+9d359073[ ]+csrw[ ]+spmpaddr19,a1 +[ ]+[0-9a-f]+:[ ]+9d402573[ ]+csrr[ ]+a0,spmpaddr20 +[ ]+[0-9a-f]+:[ ]+9d459073[ ]+csrw[ ]+spmpaddr20,a1 +[ ]+[0-9a-f]+:[ ]+9d502573[ ]+csrr[ ]+a0,spmpaddr21 +[ ]+[0-9a-f]+:[ ]+9d559073[ ]+csrw[ ]+spmpaddr21,a1 +[ ]+[0-9a-f]+:[ ]+9d602573[ ]+csrr[ ]+a0,spmpaddr22 +[ ]+[0-9a-f]+:[ ]+9d659073[ ]+csrw[ ]+spmpaddr22,a1 +[ ]+[0-9a-f]+:[ ]+9d702573[ ]+csrr[ ]+a0,spmpaddr23 +[ ]+[0-9a-f]+:[ ]+9d759073[ ]+csrw[ ]+spmpaddr23,a1 +[ ]+[0-9a-f]+:[ ]+9d802573[ ]+csrr[ ]+a0,spmpaddr24 +[ ]+[0-9a-f]+:[ ]+9d859073[ ]+csrw[ ]+spmpaddr24,a1 +[ ]+[0-9a-f]+:[ ]+9d902573[ ]+csrr[ ]+a0,spmpaddr25 +[ ]+[0-9a-f]+:[ ]+9d959073[ ]+csrw[ ]+spmpaddr25,a1 +[ ]+[0-9a-f]+:[ ]+9da02573[ ]+csrr[ ]+a0,spmpaddr26 +[ ]+[0-9a-f]+:[ ]+9da59073[ ]+csrw[ ]+spmpaddr26,a1 +[ ]+[0-9a-f]+:[ ]+9db02573[ ]+csrr[ ]+a0,spmpaddr27 +[ ]+[0-9a-f]+:[ ]+9db59073[ ]+csrw[ ]+spmpaddr27,a1 +[ ]+[0-9a-f]+:[ ]+9dc02573[ ]+csrr[ ]+a0,spmpaddr28 +[ ]+[0-9a-f]+:[ ]+9dc59073[ ]+csrw[ ]+spmpaddr28,a1 +[ ]+[0-9a-f]+:[ ]+9dd02573[ ]+csrr[ ]+a0,spmpaddr29 +[ ]+[0-9a-f]+:[ ]+9dd59073[ ]+csrw[ ]+spmpaddr29,a1 +[ ]+[0-9a-f]+:[ ]+9de02573[ ]+csrr[ ]+a0,spmpaddr30 +[ ]+[0-9a-f]+:[ ]+9de59073[ ]+csrw[ ]+spmpaddr30,a1 +[ ]+[0-9a-f]+:[ ]+9df02573[ ]+csrr[ ]+a0,spmpaddr31 +[ ]+[0-9a-f]+:[ ]+9df59073[ ]+csrw[ ]+spmpaddr31,a1 +[ ]+[0-9a-f]+:[ ]+9e002573[ ]+csrr[ ]+a0,spmpaddr32 +[ ]+[0-9a-f]+:[ ]+9e059073[ ]+csrw[ ]+spmpaddr32,a1 +[ ]+[0-9a-f]+:[ ]+9e102573[ ]+csrr[ ]+a0,spmpaddr33 +[ ]+[0-9a-f]+:[ ]+9e159073[ ]+csrw[ ]+spmpaddr33,a1 +[ ]+[0-9a-f]+:[ ]+9e202573[ ]+csrr[ ]+a0,spmpaddr34 +[ ]+[0-9a-f]+:[ ]+9e259073[ ]+csrw[ ]+spmpaddr34,a1 +[ ]+[0-9a-f]+:[ ]+9e302573[ ]+csrr[ ]+a0,spmpaddr35 +[ ]+[0-9a-f]+:[ ]+9e359073[ ]+csrw[ ]+spmpaddr35,a1 +[ ]+[0-9a-f]+:[ ]+9e402573[ ]+csrr[ ]+a0,spmpaddr36 +[ ]+[0-9a-f]+:[ ]+9e459073[ ]+csrw[ ]+spmpaddr36,a1 +[ ]+[0-9a-f]+:[ ]+9e502573[ ]+csrr[ ]+a0,spmpaddr37 +[ ]+[0-9a-f]+:[ ]+9e559073[ ]+csrw[ ]+spmpaddr37,a1 +[ ]+[0-9a-f]+:[ ]+9e602573[ ]+csrr[ ]+a0,spmpaddr38 +[ ]+[0-9a-f]+:[ ]+9e659073[ ]+csrw[ ]+spmpaddr38,a1 +[ ]+[0-9a-f]+:[ ]+9e702573[ ]+csrr[ ]+a0,spmpaddr39 +[ ]+[0-9a-f]+:[ ]+9e759073[ ]+csrw[ ]+spmpaddr39,a1 +[ ]+[0-9a-f]+:[ ]+9e802573[ ]+csrr[ ]+a0,spmpaddr40 +[ ]+[0-9a-f]+:[ ]+9e859073[ ]+csrw[ ]+spmpaddr40,a1 +[ ]+[0-9a-f]+:[ ]+9e902573[ ]+csrr[ ]+a0,spmpaddr41 +[ ]+[0-9a-f]+:[ ]+9e959073[ ]+csrw[ ]+spmpaddr41,a1 +[ ]+[0-9a-f]+:[ ]+9ea02573[ ]+csrr[ ]+a0,spmpaddr42 +[ ]+[0-9a-f]+:[ ]+9ea59073[ ]+csrw[ ]+spmpaddr42,a1 +[ ]+[0-9a-f]+:[ ]+9eb02573[ ]+csrr[ ]+a0,spmpaddr43 +[ ]+[0-9a-f]+:[ ]+9eb59073[ ]+csrw[ ]+spmpaddr43,a1 +[ ]+[0-9a-f]+:[ ]+9ec02573[ ]+csrr[ ]+a0,spmpaddr44 +[ ]+[0-9a-f]+:[ ]+9ec59073[ ]+csrw[ ]+spmpaddr44,a1 +[ ]+[0-9a-f]+:[ ]+9ed02573[ ]+csrr[ ]+a0,spmpaddr45 +[ ]+[0-9a-f]+:[ ]+9ed59073[ ]+csrw[ ]+spmpaddr45,a1 +[ ]+[0-9a-f]+:[ ]+9ee02573[ ]+csrr[ ]+a0,spmpaddr46 +[ ]+[0-9a-f]+:[ ]+9ee59073[ ]+csrw[ ]+spmpaddr46,a1 +[ ]+[0-9a-f]+:[ ]+9ef02573[ ]+csrr[ ]+a0,spmpaddr47 +[ ]+[0-9a-f]+:[ ]+9ef59073[ ]+csrw[ ]+spmpaddr47,a1 +[ ]+[0-9a-f]+:[ ]+9f002573[ ]+csrr[ ]+a0,spmpaddr48 +[ ]+[0-9a-f]+:[ ]+9f059073[ ]+csrw[ ]+spmpaddr48,a1 +[ ]+[0-9a-f]+:[ ]+9f102573[ ]+csrr[ ]+a0,spmpaddr49 +[ ]+[0-9a-f]+:[ ]+9f159073[ ]+csrw[ ]+spmpaddr49,a1 +[ ]+[0-9a-f]+:[ ]+9f202573[ ]+csrr[ ]+a0,spmpaddr50 +[ ]+[0-9a-f]+:[ ]+9f259073[ ]+csrw[ ]+spmpaddr50,a1 +[ ]+[0-9a-f]+:[ ]+9f302573[ ]+csrr[ ]+a0,spmpaddr51 +[ ]+[0-9a-f]+:[ ]+9f359073[ ]+csrw[ ]+spmpaddr51,a1 +[ ]+[0-9a-f]+:[ ]+9f402573[ ]+csrr[ ]+a0,spmpaddr52 +[ ]+[0-9a-f]+:[ ]+9f459073[ ]+csrw[ ]+spmpaddr52,a1 +[ ]+[0-9a-f]+:[ ]+9f502573[ ]+csrr[ ]+a0,spmpaddr53 +[ ]+[0-9a-f]+:[ ]+9f559073[ ]+csrw[ ]+spmpaddr53,a1 +[ ]+[0-9a-f]+:[ ]+9f602573[ ]+csrr[ ]+a0,spmpaddr54 +[ ]+[0-9a-f]+:[ ]+9f659073[ ]+csrw[ ]+spmpaddr54,a1 +[ ]+[0-9a-f]+:[ ]+9f702573[ ]+csrr[ ]+a0,spmpaddr55 +[ ]+[0-9a-f]+:[ ]+9f759073[ ]+csrw[ ]+spmpaddr55,a1 +[ ]+[0-9a-f]+:[ ]+9f802573[ ]+csrr[ ]+a0,spmpaddr56 +[ ]+[0-9a-f]+:[ ]+9f859073[ ]+csrw[ ]+spmpaddr56,a1 +[ ]+[0-9a-f]+:[ ]+9f902573[ ]+csrr[ ]+a0,spmpaddr57 +[ ]+[0-9a-f]+:[ ]+9f959073[ ]+csrw[ ]+spmpaddr57,a1 +[ ]+[0-9a-f]+:[ ]+9fa02573[ ]+csrr[ ]+a0,spmpaddr58 +[ ]+[0-9a-f]+:[ ]+9fa59073[ ]+csrw[ ]+spmpaddr58,a1 +[ ]+[0-9a-f]+:[ ]+9fb02573[ ]+csrr[ ]+a0,spmpaddr59 +[ ]+[0-9a-f]+:[ ]+9fb59073[ ]+csrw[ ]+spmpaddr59,a1 +[ ]+[0-9a-f]+:[ ]+9fc02573[ ]+csrr[ ]+a0,spmpaddr60 +[ ]+[0-9a-f]+:[ ]+9fc59073[ ]+csrw[ ]+spmpaddr60,a1 +[ ]+[0-9a-f]+:[ ]+9fd02573[ ]+csrr[ ]+a0,spmpaddr61 +[ ]+[0-9a-f]+:[ ]+9fd59073[ ]+csrw[ ]+spmpaddr61,a1 +[ ]+[0-9a-f]+:[ ]+9fe02573[ ]+csrr[ ]+a0,spmpaddr62 +[ ]+[0-9a-f]+:[ ]+9fe59073[ ]+csrw[ ]+spmpaddr62,a1 +[ ]+[0-9a-f]+:[ ]+9ff02573[ ]+csrr[ ]+a0,spmpaddr63 +[ ]+[0-9a-f]+:[ ]+9ff59073[ ]+csrw[ ]+spmpaddr63,a1 [ ]+[0-9a-f]+:[ ]+14d02573[ ]+csrr[ ]+a0,stimecmp [ ]+[0-9a-f]+:[ ]+14d59073[ ]+csrw[ ]+stimecmp,a1 [ ]+[0-9a-f]+:[ ]+15d02573[ ]+csrr[ ]+a0,stimecmph diff --git a/gas/testsuite/gas/riscv/csr-version-1p9p1.l b/gas/testsuite/gas/riscv/csr-version-1p9p1.l index c65d0b48e414..bceb315f576d 100644 --- a/gas/testsuite/gas/riscv/csr-version-1p9p1.l +++ b/gas/testsuite/gas/riscv/csr-version-1p9p1.l @@ -777,6 +777,188 @@ .*Warning: invalid CSR `mhpmevent31h', needs `sscofpmf' extension .*Warning: invalid CSR `mhpmevent31h', needs rv32i extension .*Warning: invalid CSR `mhpmevent31h', needs `sscofpmf' extension +.*Warning: invalid CSR `spmpcfg0', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg0', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg1', needs rv32i extension +.*Warning: invalid CSR `spmpcfg1', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg1', needs rv32i extension +.*Warning: invalid CSR `spmpcfg1', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg2', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg2', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg3', needs rv32i extension +.*Warning: invalid CSR `spmpcfg3', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg3', needs rv32i extension +.*Warning: invalid CSR `spmpcfg3', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg4', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg4', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg5', needs rv32i extension +.*Warning: invalid CSR `spmpcfg5', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg5', needs rv32i extension +.*Warning: invalid CSR `spmpcfg5', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg6', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg6', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg7', needs rv32i extension +.*Warning: invalid CSR `spmpcfg7', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg7', needs rv32i extension +.*Warning: invalid CSR `spmpcfg7', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg8', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg8', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg9', needs rv32i extension +.*Warning: invalid CSR `spmpcfg9', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg9', needs rv32i extension +.*Warning: invalid CSR `spmpcfg9', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg10', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg10', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg11', needs rv32i extension +.*Warning: invalid CSR `spmpcfg11', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg11', needs rv32i extension +.*Warning: invalid CSR `spmpcfg11', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg12', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg12', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg13', needs rv32i extension +.*Warning: invalid CSR `spmpcfg13', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg13', needs rv32i extension +.*Warning: invalid CSR `spmpcfg13', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg14', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg14', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg15', needs rv32i extension +.*Warning: invalid CSR `spmpcfg15', needs `sspmp' extension +.*Warning: invalid CSR `spmpcfg15', needs rv32i extension +.*Warning: invalid CSR `spmpcfg15', needs `sspmp' extension +.*Warning: invalid CSR `spmpswitch0', needs `sspmp' extension +.*Warning: invalid CSR `spmpswitch0', needs `sspmp' extension +.*Warning: invalid CSR `spmpswitch1', needs rv32i extension +.*Warning: invalid CSR `spmpswitch1', needs `sspmp' extension +.*Warning: invalid CSR `spmpswitch1', needs rv32i extension +.*Warning: invalid CSR `spmpswitch1', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr0', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr0', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr1', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr1', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr2', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr2', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr3', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr3', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr4', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr4', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr5', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr5', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr6', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr6', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr7', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr7', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr8', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr8', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr9', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr9', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr10', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr10', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr11', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr11', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr12', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr12', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr13', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr13', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr14', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr14', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr15', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr15', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr16', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr16', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr17', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr17', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr18', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr18', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr19', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr19', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr20', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr20', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr21', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr21', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr22', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr22', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr23', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr23', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr24', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr24', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr25', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr25', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr26', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr26', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr27', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr27', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr28', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr28', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr29', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr29', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr30', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr30', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr31', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr31', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr32', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr32', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr33', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr33', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr34', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr34', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr35', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr35', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr36', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr36', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr37', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr37', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr38', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr38', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr39', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr39', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr40', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr40', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr41', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr41', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr42', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr42', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr43', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr43', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr44', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr44', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr45', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr45', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr46', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr46', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr47', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr47', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr48', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr48', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr49', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr49', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr50', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr50', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr51', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr51', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr52', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr52', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr53', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr53', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr54', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr54', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr55', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr55', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr56', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr56', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr57', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr57', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr58', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr58', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr59', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr59', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr60', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr60', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr61', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr61', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr62', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr62', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr63', needs `sspmp' extension +.*Warning: invalid CSR `spmpaddr63', needs `sspmp' extension .*Warning: invalid CSR `stimecmp', needs `sstc' extension .*Warning: invalid CSR `stimecmp', needs `sstc' extension .*Warning: invalid CSR `stimecmph', needs rv32i extension diff --git a/gas/testsuite/gas/riscv/csr.s b/gas/testsuite/gas/riscv/csr.s index c7406ce34c2e..ec1b91950228 100644 --- a/gas/testsuite/gas/riscv/csr.s +++ b/gas/testsuite/gas/riscv/csr.s @@ -427,6 +427,90 @@ csr mhpmevent30h csr mhpmevent31h + # Sspmp extension + csr spmpcfg0 + csr spmpcfg1 + csr spmpcfg2 + csr spmpcfg3 + csr spmpcfg4 + csr spmpcfg5 + csr spmpcfg6 + csr spmpcfg7 + csr spmpcfg8 + csr spmpcfg9 + csr spmpcfg10 + csr spmpcfg11 + csr spmpcfg12 + csr spmpcfg13 + csr spmpcfg14 + csr spmpcfg15 + csr spmpswitch0 + csr spmpswitch1 + csr spmpaddr0 + csr spmpaddr1 + csr spmpaddr2 + csr spmpaddr3 + csr spmpaddr4 + csr spmpaddr5 + csr spmpaddr6 + csr spmpaddr7 + csr spmpaddr8 + csr spmpaddr9 + csr spmpaddr10 + csr spmpaddr11 + csr spmpaddr12 + csr spmpaddr13 + csr spmpaddr14 + csr spmpaddr15 + csr spmpaddr16 + csr spmpaddr17 + csr spmpaddr18 + csr spmpaddr19 + csr spmpaddr20 + csr spmpaddr21 + csr spmpaddr22 + csr spmpaddr23 + csr spmpaddr24 + csr spmpaddr25 + csr spmpaddr26 + csr spmpaddr27 + csr spmpaddr28 + csr spmpaddr29 + csr spmpaddr30 + csr spmpaddr31 + csr spmpaddr32 + csr spmpaddr33 + csr spmpaddr34 + csr spmpaddr35 + csr spmpaddr36 + csr spmpaddr37 + csr spmpaddr38 + csr spmpaddr39 + csr spmpaddr40 + csr spmpaddr41 + csr spmpaddr42 + csr spmpaddr43 + csr spmpaddr44 + csr spmpaddr45 + csr spmpaddr46 + csr spmpaddr47 + csr spmpaddr48 + csr spmpaddr49 + csr spmpaddr50 + csr spmpaddr51 + csr spmpaddr52 + csr spmpaddr53 + csr spmpaddr54 + csr spmpaddr55 + csr spmpaddr56 + csr spmpaddr57 + csr spmpaddr58 + csr spmpaddr59 + csr spmpaddr60 + csr spmpaddr61 + csr spmpaddr62 + csr spmpaddr63 + # Sstc extension csr stimecmp csr stimecmph diff --git a/include/opcode/riscv-opc.h b/include/opcode/riscv-opc.h index 06e3df0f5a63..fc839454f7d3 100644 --- a/include/opcode/riscv-opc.h +++ b/include/opcode/riscv-opc.h @@ -2747,6 +2747,89 @@ #define CSR_MHPMEVENT29H 0x73d #define CSR_MHPMEVENT30H 0x73e #define CSR_MHPMEVENT31H 0x73f +/* Sspmp extension CSR addresses. */ +#define CSR_SPMPCFG0 0x5c0 /* TENTATIVELY use custom CSR address. */ +#define CSR_SPMPCFG1 0x5c1 /* TENTATIVELY use custom CSR address. */ +#define CSR_SPMPCFG2 0x5c2 /* TENTATIVELY use custom CSR address. */ +#define CSR_SPMPCFG3 0x5c3 /* TENTATIVELY use custom CSR address. */ +#define CSR_SPMPCFG4 0x5c4 /* TENTATIVELY use custom CSR address. */ +#define CSR_SPMPCFG5 0x5c5 /* TENTATIVELY use custom CSR address. */ +#define CSR_SPMPCFG6 0x5c6 /* TENTATIVELY use custom CSR address. */ +#define CSR_SPMPCFG7 0x5c7 /* TENTATIVELY use custom CSR address. */ +#define CSR_SPMPCFG8 0x5c8 /* TENTATIVELY use custom CSR address. */ +#define CSR_SPMPCFG9 0x5c9 /* TENTATIVELY use custom CSR address. */ +#define CSR_SPMPCFG10 0x5ca /* TENTATIVELY use custom CSR address. */ +#define CSR_SPMPCFG11 0x5cb /* TENTATIVELY use custom CSR address. */ +#define CSR_SPMPCFG12 0x5cc /* TENTATIVELY use custom CSR address. */ +#define CSR_SPMPCFG13 0x5cd /* TENTATIVELY use custom CSR address. */ +#define CSR_SPMPCFG14 0x5ce /* TENTATIVELY use custom CSR address. */ +#define CSR_SPMPCFG15 0x5cf /* TENTATIVELY use custom CSR address. */ +#define CSR_SPMPSWITCH0 0x5d0 /* TENTATIVELY use custom CSR address. */ +#define CSR_SPMPSWITCH1 0x5d1 /* TENTATIVELY use custom CSR address. */ +#define CSR_SPMPADDR0 0x9c0 /* TENTATIVELY use custom CSR address. */ +#define CSR_SPMPADDR1 0x9c1 /* TENTATIVELY use custom CSR address. */ +#define CSR_SPMPADDR2 0x9c2 /* TENTATIVELY use custom CSR address. */ +#define CSR_SPMPADDR3 0x9c3 /* TENTATIVELY use custom CSR address. */ +#define CSR_SPMPADDR4 0x9c4 /* TENTATIVELY use custom CSR address. */ +#define CSR_SPMPADDR5 0x9c5 /* TENTATIVELY use custom CSR address. */ +#define CSR_SPMPADDR6 0x9c6 /* TENTATIVELY use custom CSR address. */ +#define CSR_SPMPADDR7 0x9c7 /* TENTATIVELY use custom CSR address. */ +#define CSR_SPMPADDR8 0x9c8 /* TENTATIVELY use custom CSR address. */ +#define CSR_SPMPADDR9 0x9c9 /* TENTATIVELY use custom CSR address. */ +#define CSR_SPMPADDR10 0x9ca /* TENTATIVELY use custom CSR address. */ +#define CSR_SPMPADDR11 0x9cb /* TENTATIVELY use custom CSR address. */ +#define CSR_SPMPADDR12 0x9cc /* TENTATIVELY use custom CSR address. */ +#define CSR_SPMPADDR13 0x9cd /* TENTATIVELY use custom CSR address. */ +#define CSR_SPMPADDR14 0x9ce /* TENTATIVELY use custom CSR address. */ +#define CSR_SPMPADDR15 0x9cf /* TENTATIVELY use custom CSR address. */ +#define CSR_SPMPADDR16 0x9d0 /* TENTATIVELY use custom CSR address. */ +#define CSR_SPMPADDR17 0x9d1 /* TENTATIVELY use custom CSR address. */ +#define CSR_SPMPADDR18 0x9d2 /* TENTATIVELY use custom CSR address. */ +#define CSR_SPMPADDR19 0x9d3 /* TENTATIVELY use custom CSR address. */ +#define CSR_SPMPADDR20 0x9d4 /* TENTATIVELY use custom CSR address. */ +#define CSR_SPMPADDR21 0x9d5 /* TENTATIVELY use custom CSR address. */ +#define CSR_SPMPADDR22 0x9d6 /* TENTATIVELY use custom CSR address. */ +#define CSR_SPMPADDR23 0x9d7 /* TENTATIVELY use custom CSR address. */ +#define CSR_SPMPADDR24 0x9d8 /* TENTATIVELY use custom CSR address. */ +#define CSR_SPMPADDR25 0x9d9 /* TENTATIVELY use custom CSR address. */ +#define CSR_SPMPADDR26 0x9da /* TENTATIVELY use custom CSR address. */ +#define CSR_SPMPADDR27 0x9db /* TENTATIVELY use custom CSR address. */ +#define CSR_SPMPADDR28 0x9dc /* TENTATIVELY use custom CSR address. */ +#define CSR_SPMPADDR29 0x9dd /* TENTATIVELY use custom CSR address. */ +#define CSR_SPMPADDR30 0x9de /* TENTATIVELY use custom CSR address. */ +#define CSR_SPMPADDR31 0x9df /* TENTATIVELY use custom CSR address. */ +#define CSR_SPMPADDR32 0x9e0 /* TENTATIVELY use custom CSR address. */ +#define CSR_SPMPADDR33 0x9e1 /* TENTATIVELY use custom CSR address. */ +#define CSR_SPMPADDR34 0x9e2 /* TENTATIVELY use custom CSR address. */ +#define CSR_SPMPADDR35 0x9e3 /* TENTATIVELY use custom CSR address. */ +#define CSR_SPMPADDR36 0x9e4 /* TENTATIVELY use custom CSR address. */ +#define CSR_SPMPADDR37 0x9e5 /* TENTATIVELY use custom CSR address. */ +#define CSR_SPMPADDR38 0x9e6 /* TENTATIVELY use custom CSR address. */ +#define CSR_SPMPADDR39 0x9e7 /* TENTATIVELY use custom CSR address. */ +#define CSR_SPMPADDR40 0x9e8 /* TENTATIVELY use custom CSR address. */ +#define CSR_SPMPADDR41 0x9e9 /* TENTATIVELY use custom CSR address. */ +#define CSR_SPMPADDR42 0x9ea /* TENTATIVELY use custom CSR address. */ +#define CSR_SPMPADDR43 0x9eb /* TENTATIVELY use custom CSR address. */ +#define CSR_SPMPADDR44 0x9ec /* TENTATIVELY use custom CSR address. */ +#define CSR_SPMPADDR45 0x9ed /* TENTATIVELY use custom CSR address. */ +#define CSR_SPMPADDR46 0x9ee /* TENTATIVELY use custom CSR address. */ +#define CSR_SPMPADDR47 0x9ef /* TENTATIVELY use custom CSR address. */ +#define CSR_SPMPADDR48 0x9f0 /* TENTATIVELY use custom CSR address. */ +#define CSR_SPMPADDR49 0x9f1 /* TENTATIVELY use custom CSR address. */ +#define CSR_SPMPADDR50 0x9f2 /* TENTATIVELY use custom CSR address. */ +#define CSR_SPMPADDR51 0x9f3 /* TENTATIVELY use custom CSR address. */ +#define CSR_SPMPADDR52 0x9f4 /* TENTATIVELY use custom CSR address. */ +#define CSR_SPMPADDR53 0x9f5 /* TENTATIVELY use custom CSR address. */ +#define CSR_SPMPADDR54 0x9f6 /* TENTATIVELY use custom CSR address. */ +#define CSR_SPMPADDR55 0x9f7 /* TENTATIVELY use custom CSR address. */ +#define CSR_SPMPADDR56 0x9f8 /* TENTATIVELY use custom CSR address. */ +#define CSR_SPMPADDR57 0x9f9 /* TENTATIVELY use custom CSR address. */ +#define CSR_SPMPADDR58 0x9fa /* TENTATIVELY use custom CSR address. */ +#define CSR_SPMPADDR59 0x9fb /* TENTATIVELY use custom CSR address. */ +#define CSR_SPMPADDR60 0x9fc /* TENTATIVELY use custom CSR address. */ +#define CSR_SPMPADDR61 0x9fd /* TENTATIVELY use custom CSR address. */ +#define CSR_SPMPADDR62 0x9fe /* TENTATIVELY use custom CSR address. */ +#define CSR_SPMPADDR63 0x9ff /* TENTATIVELY use custom CSR address. */ /* Sstc extension */ #define CSR_STIMECMP 0x14d #define CSR_STIMECMPH 0x15d @@ -3624,6 +3707,89 @@ DECLARE_CSR(mhpmevent28h, CSR_MHPMEVENT28H, CSR_CLASS_SSCOFPMF_32, PRIV_SPEC_CLA DECLARE_CSR(mhpmevent29h, CSR_MHPMEVENT29H, CSR_CLASS_SSCOFPMF_32, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) DECLARE_CSR(mhpmevent30h, CSR_MHPMEVENT30H, CSR_CLASS_SSCOFPMF_32, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) DECLARE_CSR(mhpmevent31h, CSR_MHPMEVENT31H, CSR_CLASS_SSCOFPMF_32, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +/* Sspmp extension CSRs. */ +DECLARE_CSR(spmpcfg0, CSR_SPMPCFG0, CSR_CLASS_SSPMP, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(spmpcfg1, CSR_SPMPCFG1, CSR_CLASS_SSPMP_32, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(spmpcfg2, CSR_SPMPCFG2, CSR_CLASS_SSPMP, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(spmpcfg3, CSR_SPMPCFG3, CSR_CLASS_SSPMP_32, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(spmpcfg4, CSR_SPMPCFG4, CSR_CLASS_SSPMP, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(spmpcfg5, CSR_SPMPCFG5, CSR_CLASS_SSPMP_32, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(spmpcfg6, CSR_SPMPCFG6, CSR_CLASS_SSPMP, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(spmpcfg7, CSR_SPMPCFG7, CSR_CLASS_SSPMP_32, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(spmpcfg8, CSR_SPMPCFG8, CSR_CLASS_SSPMP, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(spmpcfg9, CSR_SPMPCFG9, CSR_CLASS_SSPMP_32, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(spmpcfg10, CSR_SPMPCFG10, CSR_CLASS_SSPMP, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(spmpcfg11, CSR_SPMPCFG11, CSR_CLASS_SSPMP_32, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(spmpcfg12, CSR_SPMPCFG12, CSR_CLASS_SSPMP, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(spmpcfg13, CSR_SPMPCFG13, CSR_CLASS_SSPMP_32, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(spmpcfg14, CSR_SPMPCFG14, CSR_CLASS_SSPMP, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(spmpcfg15, CSR_SPMPCFG15, CSR_CLASS_SSPMP_32, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(spmpswitch0, CSR_SPMPSWITCH0, CSR_CLASS_SSPMP, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(spmpswitch1, CSR_SPMPSWITCH1, CSR_CLASS_SSPMP_32, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(spmpaddr0, CSR_SPMPADDR0, CSR_CLASS_SSPMP, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(spmpaddr1, CSR_SPMPADDR1, CSR_CLASS_SSPMP, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(spmpaddr2, CSR_SPMPADDR2, CSR_CLASS_SSPMP, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(spmpaddr3, CSR_SPMPADDR3, CSR_CLASS_SSPMP, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(spmpaddr4, CSR_SPMPADDR4, CSR_CLASS_SSPMP, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(spmpaddr5, CSR_SPMPADDR5, CSR_CLASS_SSPMP, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(spmpaddr6, CSR_SPMPADDR6, CSR_CLASS_SSPMP, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(spmpaddr7, CSR_SPMPADDR7, CSR_CLASS_SSPMP, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(spmpaddr8, CSR_SPMPADDR8, CSR_CLASS_SSPMP, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(spmpaddr9, CSR_SPMPADDR9, CSR_CLASS_SSPMP, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(spmpaddr10, CSR_SPMPADDR10, CSR_CLASS_SSPMP, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(spmpaddr11, CSR_SPMPADDR11, CSR_CLASS_SSPMP, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(spmpaddr12, CSR_SPMPADDR12, CSR_CLASS_SSPMP, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(spmpaddr13, CSR_SPMPADDR13, CSR_CLASS_SSPMP, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(spmpaddr14, CSR_SPMPADDR14, CSR_CLASS_SSPMP, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(spmpaddr15, CSR_SPMPADDR15, CSR_CLASS_SSPMP, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(spmpaddr16, CSR_SPMPADDR16, CSR_CLASS_SSPMP, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(spmpaddr17, CSR_SPMPADDR17, CSR_CLASS_SSPMP, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(spmpaddr18, CSR_SPMPADDR18, CSR_CLASS_SSPMP, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(spmpaddr19, CSR_SPMPADDR19, CSR_CLASS_SSPMP, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(spmpaddr20, CSR_SPMPADDR20, CSR_CLASS_SSPMP, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(spmpaddr21, CSR_SPMPADDR21, CSR_CLASS_SSPMP, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(spmpaddr22, CSR_SPMPADDR22, CSR_CLASS_SSPMP, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(spmpaddr23, CSR_SPMPADDR23, CSR_CLASS_SSPMP, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(spmpaddr24, CSR_SPMPADDR24, CSR_CLASS_SSPMP, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(spmpaddr25, CSR_SPMPADDR25, CSR_CLASS_SSPMP, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(spmpaddr26, CSR_SPMPADDR26, CSR_CLASS_SSPMP, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(spmpaddr27, CSR_SPMPADDR27, CSR_CLASS_SSPMP, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(spmpaddr28, CSR_SPMPADDR28, CSR_CLASS_SSPMP, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(spmpaddr29, CSR_SPMPADDR29, CSR_CLASS_SSPMP, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(spmpaddr30, CSR_SPMPADDR30, CSR_CLASS_SSPMP, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(spmpaddr31, CSR_SPMPADDR31, CSR_CLASS_SSPMP, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(spmpaddr32, CSR_SPMPADDR32, CSR_CLASS_SSPMP, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(spmpaddr33, CSR_SPMPADDR33, CSR_CLASS_SSPMP, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(spmpaddr34, CSR_SPMPADDR34, CSR_CLASS_SSPMP, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(spmpaddr35, CSR_SPMPADDR35, CSR_CLASS_SSPMP, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(spmpaddr36, CSR_SPMPADDR36, CSR_CLASS_SSPMP, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(spmpaddr37, CSR_SPMPADDR37, CSR_CLASS_SSPMP, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(spmpaddr38, CSR_SPMPADDR38, CSR_CLASS_SSPMP, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(spmpaddr39, CSR_SPMPADDR39, CSR_CLASS_SSPMP, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(spmpaddr40, CSR_SPMPADDR40, CSR_CLASS_SSPMP, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(spmpaddr41, CSR_SPMPADDR41, CSR_CLASS_SSPMP, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(spmpaddr42, CSR_SPMPADDR42, CSR_CLASS_SSPMP, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(spmpaddr43, CSR_SPMPADDR43, CSR_CLASS_SSPMP, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(spmpaddr44, CSR_SPMPADDR44, CSR_CLASS_SSPMP, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(spmpaddr45, CSR_SPMPADDR45, CSR_CLASS_SSPMP, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(spmpaddr46, CSR_SPMPADDR46, CSR_CLASS_SSPMP, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(spmpaddr47, CSR_SPMPADDR47, CSR_CLASS_SSPMP, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(spmpaddr48, CSR_SPMPADDR48, CSR_CLASS_SSPMP, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(spmpaddr49, CSR_SPMPADDR49, CSR_CLASS_SSPMP, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(spmpaddr50, CSR_SPMPADDR50, CSR_CLASS_SSPMP, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(spmpaddr51, CSR_SPMPADDR51, CSR_CLASS_SSPMP, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(spmpaddr52, CSR_SPMPADDR52, CSR_CLASS_SSPMP, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(spmpaddr53, CSR_SPMPADDR53, CSR_CLASS_SSPMP, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(spmpaddr54, CSR_SPMPADDR54, CSR_CLASS_SSPMP, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(spmpaddr55, CSR_SPMPADDR55, CSR_CLASS_SSPMP, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(spmpaddr56, CSR_SPMPADDR56, CSR_CLASS_SSPMP, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(spmpaddr57, CSR_SPMPADDR57, CSR_CLASS_SSPMP, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(spmpaddr58, CSR_SPMPADDR58, CSR_CLASS_SSPMP, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(spmpaddr59, CSR_SPMPADDR59, CSR_CLASS_SSPMP, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(spmpaddr60, CSR_SPMPADDR60, CSR_CLASS_SSPMP, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(spmpaddr61, CSR_SPMPADDR61, CSR_CLASS_SSPMP, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(spmpaddr62, CSR_SPMPADDR62, CSR_CLASS_SSPMP, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) +DECLARE_CSR(spmpaddr63, CSR_SPMPADDR63, CSR_CLASS_SSPMP, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) /* Sstc extension */ DECLARE_CSR(stimecmp, CSR_STIMECMP, CSR_CLASS_SSTC, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) DECLARE_CSR(stimecmph, CSR_STIMECMPH, CSR_CLASS_SSTC_32, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) From patchwork Tue Nov 29 01:20:58 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tsukasa OI X-Patchwork-Id: 26998 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp55060wrr; Mon, 28 Nov 2022 17:22:19 -0800 (PST) X-Google-Smtp-Source: AA0mqf5Q85DogXp7pmsULjy8rcMiGrg9JkiHrqD3HE46nY8ZyP2ZTwEfpE6vNYaJda5KyGhNw92u X-Received: by 2002:a17:906:198d:b0:7a5:f8a5:6f84 with SMTP id g13-20020a170906198d00b007a5f8a56f84mr27892088ejd.569.1669684938913; Mon, 28 Nov 2022 17:22:18 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1669684938; cv=none; d=google.com; s=arc-20160816; b=s2wcjaFmM+t6YR/ubifntjGXlhN5HzLGnue7AnRvfFahltwK8OqCfE85ImJLwVlKjz DpFzQZQJlPoxWP973NHj7UazY/S1KxcIeQvTYq4g7SuGeACyjrcyMA2n1xIwdWkS9Y8c J56zp0cEz5RMd5v4K/weVQWOA1H7R6dclrwfa5QOuNJRuC7IlIgL8n9L6Xf/KUeKGWzY 1dHgaCHwcm+QFPorkldnQNuYflKEG/Jez1ZLWa2Oh40HJm/6vyG08oiTcPwfIRo+ZQ5B HvHEV/M70cFwYMdpIAmnYoSjDKwtxkhQ1zaZi4TVoGGDJQj0QPqiZscqEe6gTu0UmmlE Gptg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:reply-to:from:list-subscribe:list-help:list-post :list-archive:list-unsubscribe:list-id:precedence :content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:dmarc-filter:delivered-to :dkim-signature:dkim-filter; bh=0j0p1YckZaUTQyFVOwpLKOLgYhfMHliQkaqb1Oeb1uM=; b=Vve6TKuZqR/zzsWMyth8M8+VqZKuUBxnS3HXJgKUYj19UshCcUgyUi0w8Q8+ea9z/O 9nS7g+zb8RI9vlv0Ma6bFoWR58JAL432j0LAIn5PB/jV385WUEsrf/MAzJpotcB/LmJW LN436WwLz8ugHChM5yt44iTmTU3dBH9amCAFE+QE3v2g/wz1O5ICc37N+EyD/8UBE3DL RC6LhcOdhWKOuUV+0b1GqnqFf9oqTjPN4to9QAAbyyYWl77OfTpBrd5gjP5s9XzHeFGp XWGxOeWAmn5MI9msyT18MC7MxQNAiqMIdaWIci6uS+uXigrZPLAOtnPAYp3cKFNqCrlH whvg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@sourceware.org header.s=default header.b="XfCOiXC/"; spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="binutils-bounces+ouuuleilei=gmail.com@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=sourceware.org Received: from sourceware.org (ip-8-43-85-97.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id 30-20020a17090600de00b007ae127fa284si9115662eji.371.2022.11.28.17.22.18 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 28 Nov 2022 17:22:18 -0800 (PST) Received-SPF: pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 8.43.85.97 as permitted sender) client-ip=8.43.85.97; Authentication-Results: mx.google.com; dkim=pass header.i=@sourceware.org header.s=default header.b="XfCOiXC/"; spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="binutils-bounces+ouuuleilei=gmail.com@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id BA5E23852230 for ; Tue, 29 Nov 2022 01:21:39 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org BA5E23852230 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1669684899; bh=0j0p1YckZaUTQyFVOwpLKOLgYhfMHliQkaqb1Oeb1uM=; h=To:Cc:Subject:Date:In-Reply-To:References:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From:Reply-To:From; b=XfCOiXC/TImE6JQkVyY6LxwzMbSdjeDKu7SR8yYBswOv703iG9Japk7bSv1JsBP76 /8QRO7VELjNhBUJ1YGj8gqKowZiMUdK64DK/eHe6eiBXIboQRfi6dH65SRieieZxj9 o3vyBChZgJn/W/dKdl2CLz6RUslsWkC+tJKQFKLM= X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from mail-sender-0.a4lg.com (mail-sender.a4lg.com [153.120.152.154]) by sourceware.org (Postfix) with ESMTPS id D8BBA38532C8 for ; Tue, 29 Nov 2022 01:21:28 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org D8BBA38532C8 Received: from [127.0.0.1] (localhost [127.0.0.1]) by mail-sender-0.a4lg.com (Postfix) with ESMTPSA id 4B8CF300089; Tue, 29 Nov 2022 01:21:27 +0000 (UTC) To: Tsukasa OI Cc: binutils@sourceware.org Subject: [REVIEW ONLY 2/2] TEST: Add instantiation script on CSR allocation Date: Tue, 29 Nov 2022 01:20:58 +0000 Message-Id: In-Reply-To: References: Mime-Version: 1.0 X-Spam-Status: No, score=-12.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, GIT_PATCH_0, SPF_HELO_NONE, 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.29 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Tsukasa OI via Binutils From: Tsukasa OI Reply-To: Tsukasa OI Errors-To: binutils-bounces+ouuuleilei=gmail.com@sourceware.org Sender: "Binutils" X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1750791554439456762?= X-GMAIL-MSGID: =?utf-8?q?1750791554439456762?= From: Tsukasa OI --- instantiate-sspmp.sh | 130 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 130 insertions(+) create mode 100755 instantiate-sspmp.sh diff --git a/instantiate-sspmp.sh b/instantiate-sspmp.sh new file mode 100755 index 000000000000..23b6a2f554e6 --- /dev/null +++ b/instantiate-sspmp.sh @@ -0,0 +1,130 @@ +#! /bin/bash +# SPDX-License-Identifier: CC0-1.0 +# Author: Tsukasa OI +# Year: 2022 + +check_csr_addr () +{ + ADDR="$1" + case "$ADDR" in + 0x* | 0X*) + ADDR="${ADDR#??}" + ;; + esac + case "$ADDR" in + [0-9a-fA-F]) + ADDR=00$ADDR + ;; + [0-9a-fA-F][0-9a-fA-F]) + ADDR=0$ADDR + ;; + [0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]) + ;; + *) + echo "ERROR: \`$1' is not a valid CSR address for \`$2'." 1>&2 + exit 1 + ;; + esac + ADDR=$(echo $ADDR | tr A-F a-f) + printf %s $ADDR + return 0 +} + +canonicalize_hex () +{ + ADDR=$1 + while : + do + case $ADDR in + 0) + break + ;; + 0?*) + ADDR=${ADDR#0} + ;; + *) + break + ;; + esac + done + printf 0x%s $ADDR +} + +dwarf_regnum () +{ + echo -n $(($1 + 4096)) +} + +dwarf_offset () +{ + echo -n $(($1 * 4)) +} + +test_path () +{ + if test '!' -f "$1" + then + echo "ERROR: file \`$1' is not found." 1>&2 + exit 1 + fi +} + +if test $# -ne 4 +then + ERRMSG="usage: $0 ADDR_SPMPCFG0 ADDR_SPMPADDR0 ADDR_SPMPSWITCH0 ADDR_SPMPSWITCH1" + echo "$ERRMSG" 1>&2 + exit 1 +fi + +PRIV_VERSIONS="1p9p1 1p10 1p11 1p12" + +test_path include/opcode/riscv-opc.h +for V in $PRIV_VERSIONS +do + test_path gas/testsuite/gas/riscv/csr-version-$V.d +done +test_path gas/testsuite/gas/riscv/csr-dw-regnums.s +test_path gas/testsuite/gas/riscv/csr-dw-regnums.d + +do_csr_instantiation () +{ + CSR="$1" + CSR_UPPER=$(echo $CSR | tr a-z A-Z) + ADDR=$(check_csr_addr "$2" $CSR) + HEXC=$(canonicalize_hex $ADDR) + DWREG=$(dwarf_regnum $HEXC) + DWOFF=$(dwarf_offset $HEXC) + ORIG_ADDR=$(grep "a0,${CSR}\$" gas/testsuite/gas/riscv/csr-version-1p12.d | head -n 1 | sed 's/.*+\([0-9a-f]\{3\}\)02573.*/\1/') + sed -i "s/^#define CSR_${CSR_UPPER} .*/#define CSR_${CSR_UPPER} $HEXC/" include/opcode/riscv-opc.h + for V in $PRIV_VERSIONS + do + sed -i "s/+${ORIG_ADDR}\\(02573\\|59073\\)/+${ADDR}\\1/" gas/testsuite/gas/riscv/csr-version-$V.d + done + sed -i "s/\\.cfi_offset ${CSR}, .*/.cfi_offset ${CSR}, ${DWOFF}/" gas/testsuite/gas/riscv/csr-dw-regnums.s + sed -i "s/DW_CFA_offset_extended_sf: r[0-9]\\+ \\\\(${CSR}\\\\) at cfa\\\\+[0-9]\\+/DW_CFA_offset_extended_sf: r${DWREG} \\\\(${CSR}\\\\) at cfa\\\\+${DWOFF}/" gas/testsuite/gas/riscv/csr-dw-regnums.d +} + +ADDR=$(check_csr_addr "$1" spmpcfg0) +NADDR=$((0x$ADDR)) +for N in $(seq 0 15) +do + ADDR_N=$(printf %03x $(($NADDR + $N))) + do_csr_instantiation spmpcfg$N $ADDR_N +done + +ADDR=$(check_csr_addr "$2" spmpaddr0) +NADDR=$((0x$ADDR)) +for N in $(seq 0 63) +do + ADDR_N=$(printf %03x $(($NADDR + $N))) + do_csr_instantiation spmpaddr$N $ADDR_N +done + +do_csr_instantiation spmpswitch0 "$3" +do_csr_instantiation spmpswitch1 "$4" + +if test -f "$0" +then + rm -f "$0" +fi +exit 0