From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-oo1-xc30.google.com (mail-oo1-xc30.google.com [IPv6:2607:f8b0:4864:20::c30]) by sourceware.org (Postfix) with ESMTPS id 1E07B3852C5D for ; Fri, 18 Nov 2022 08:12:30 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 1E07B3852C5D Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=rivosinc.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=rivosinc.com Received: by mail-oo1-xc30.google.com with SMTP id x196-20020a4a41cd000000b0049f064d2591so670018ooa.11 for ; Fri, 18 Nov 2022 00:12:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rivosinc-com.20210112.gappssmtp.com; s=20210112; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=sZCFvgt6SZ9owu442MSZyn+CmpwLZV0PRjdVYQUkS1Y=; b=gq46MUQI7rIuCNuKcgA47lt1PnP+1yRId30Obk1OKSJ3RBCukZGbnU6NvmDCsggk8W vM6gOXubNqU+05ry2wnx0JY4QLtbeUvBmx7CMdnTpEtWju5xf+sLSMkU6ZkamA0/E/0/ 1nws0MmpEd49EPXnILEmAJ189xse4rsr0DXSL8d2N/cvsPAkLTHLyiHjENlArfJ4zADm K/vNfc1VlwAwffRbyr79bhchVzZtUUzEyT9kkOGCZwWtInDAx9/Cz338ZFV1Jwv/aVoH Q0PSid5XhYKWvUQiGLAUpFDgZ8RxamjjVLaPfEkh5N0qVyZgs7/ZZf3Psig7HlloYhTT /UEw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=sZCFvgt6SZ9owu442MSZyn+CmpwLZV0PRjdVYQUkS1Y=; b=FxgRlQJah1psLuKlZSqQjBhlp6/sRbI5HulZwoeEJ7DVpWKRxR7lxVhSG5CW+nc8Zb zq1jCgXJgeaSfCdJrwU+QscV3pDO+OAanu9z4a/aafXYTMf1BD24vCsDmTqN06VLV0J9 HAMMokSJcMvJrXBbltT9k4SO9H0DTooryVFvEwQ14Bd7//zCkY6uRhhbApFAJwBInxpr UzjkMHWBmecjYlOf9T2YaXk/Qq+Uv70qp62dga7nytUFizn/QlC1l4E19WzTuvBYwLwG hhDBshPWKOYJGqezaNIvvIUrWVBx1o9mw51zonb3qd3sB7QUH+Cyjb5MIyIR59gatSmR wN4Q== X-Gm-Message-State: ANoB5pm0WcOQdqYwiIqJupa3GT1W5jbCPhwnWpeJcdIkl9T85Xwik8Cm v9FRPVzvJAi+x6JE6TnQxdRZojz1hnlFBHy6WmA+rQ== X-Google-Smtp-Source: AA0mqf6yJzOoSkEOvgaxkiZp8wdPcurX8/GenCguBVYCBDJC4MVmnZaXm0b47+QVl9MCJtt2+DmNKFDtQlwpG3F3pK8= X-Received: by 2002:a4a:1486:0:b0:49f:542:819 with SMTP id 128-20020a4a1486000000b0049f05420819mr2961978ood.71.1668759148395; Fri, 18 Nov 2022 00:12:28 -0800 (PST) MIME-Version: 1.0 References: <20221118003212.3628771-1-christoph.muellner@vrull.eu> In-Reply-To: <20221118003212.3628771-1-christoph.muellner@vrull.eu> From: Nelson Chu Date: Fri, 18 Nov 2022 16:12:17 +0800 Message-ID: Subject: Re: [PATCH] riscv: Add AIA extension support (Smaia, Ssaia) To: Christoph Muellner Cc: binutils@sourceware.org, Andrew Waterman , Palmer Dabbelt , Jim Wilson , Philipp Tomsich Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-9.7 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,GIT_PATCH_0,RCVD_IN_DNSWL_NONE,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 List-Id: On Fri, Nov 18, 2022 at 8:32 AM Christoph Muellner wrote: > > From: Christoph M=C3=BCllner > > This commit adds the AIA extensions (Smaia and Ssaia) CSRs. > > bfd/ChangeLog: > > * elfxx-riscv.c: Add 'smaia' and 'ssaia' to the list > of known standard extensions. > > gas/ChangeLog: > > * config/tc-riscv.c (enum riscv_csr_class): > (riscv_csr_address): Add CSR classes for Smaia/Ssaia. > * testsuite/gas/riscv/csr-dw-regnums.d: Add new CSRs. > * testsuite/gas/riscv/csr-dw-regnums.s: 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. > * testsuite/gas/riscv/csr-version-1p9p1.d: Likewise. > * testsuite/gas/riscv/csr-version-1p9p1.l: Likewise. > * testsuite/gas/riscv/csr.s: Likewise. > > include/ChangeLog: > > * opcode/riscv-opc.h (CSR_MISELECT): New CSR marcro. > (CSR_MIREG): Likewise. > (CSR_MTOPEI): Likewise. > (CSR_MTOPI): Likewise. > (CSR_MVIEN): Likewise. > (CSR_MVIP): Likewise. > (CSR_MIDELEGH): Likewise. > (CSR_MIEH): Likewise. > (CSR_MVIENH): Likewise. > (CSR_MVIPH): Likewise. > (CSR_MIPH): Likewise. > (CSR_HVIEN): Likewise. > (CSR_HVICTL): Likewise. > (CSR_HVIPRIO1): Likewise. > (CSR_HVIPRIO2): Likewise. > (CSR_HIDELEGH): Likewise. > (CSR_HVIENH): Likewise. > (CSR_HVIPH): Likewise. > (CSR_HVIPRIO1H): Likewise. > (CSR_HVIPRIO2H): Likewise. > (CSR_SISELECT): Likewise. > (CSR_SIREG): Likewise. > (CSR_STOPEI): Likewise. > (CSR_STOPI): Likewise. > (CSR_SIEH): Likewise. > (CSR_SIPH): Likewise. > (CSR_VSISELECT): Likewise. > (CSR_VSIREG): Likewise. > (CSR_VSTOPEI): Likewise. > (CSR_VSTOPI): Likewise. > (CSR_VSIEH): Likewise. > (CSR_VSIPH): Likewise. > (DECLARE_CSR): Add CSRs for Smaia and Ssaia. > > Changes for v2: > - Add hypervisor and VS CSRs > - Fix whitespace issue > > Signed-off-by: Christoph M=C3=BCllner > --- > bfd/elfxx-riscv.c | 2 + > gas/config/tc-riscv.c | 28 +++++ > gas/testsuite/gas/riscv/csr-dw-regnums.d | 32 +++++ > gas/testsuite/gas/riscv/csr-dw-regnums.s | 36 ++++++ > gas/testsuite/gas/riscv/csr-version-1p10.d | 64 ++++++++++ > gas/testsuite/gas/riscv/csr-version-1p10.l | 125 ++++++++++++++++++++ > gas/testsuite/gas/riscv/csr-version-1p11.d | 64 ++++++++++ > gas/testsuite/gas/riscv/csr-version-1p11.l | 125 ++++++++++++++++++++ > gas/testsuite/gas/riscv/csr-version-1p12.d | 64 ++++++++++ > gas/testsuite/gas/riscv/csr-version-1p12.l | 125 ++++++++++++++++++++ > gas/testsuite/gas/riscv/csr-version-1p9p1.d | 64 ++++++++++ > gas/testsuite/gas/riscv/csr-version-1p9p1.l | 125 ++++++++++++++++++++ > gas/testsuite/gas/riscv/csr.s | 36 ++++++ > include/opcode/riscv-opc.h | 68 +++++++++++ > 14 files changed, 958 insertions(+) > > diff --git a/bfd/elfxx-riscv.c b/bfd/elfxx-riscv.c > index cfec9a6996c..dd75817b1bd 100644 > --- a/bfd/elfxx-riscv.c > +++ b/bfd/elfxx-riscv.c > @@ -1216,8 +1216,10 @@ static struct riscv_supported_ext riscv_supported_= std_z_ext[] =3D > > static struct riscv_supported_ext riscv_supported_std_s_ext[] =3D > { > + {"smaia", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 }, > {"smepmp", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 }, > {"smstateen", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 }= , > + {"ssaia", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 }, > {"sscofpmf", 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 2dc92ecd3c3..78aa15400f8 100644 > --- a/gas/config/tc-riscv.c > +++ b/gas/config/tc-riscv.c > @@ -68,10 +68,18 @@ enum riscv_csr_class > CSR_CLASS_DEBUG, /* debug CSR */ > CSR_CLASS_H, /* hypervisor */ > CSR_CLASS_H_32, /* hypervisor, rv32 only */ > + CSR_CLASS_SMAIA, /* Smaia */ > + CSR_CLASS_SMAIA_AND_H, /* Smaia with H */ > + CSR_CLASS_SMAIA_32, /* Smaia, rv32 only */ > + CSR_CLASS_SMAIA_AND_H_32, /* Smaia with H, rv32 only */ > CSR_CLASS_SMSTATEEN, /* Smstateen only */ > CSR_CLASS_SMSTATEEN_AND_H, /* Smstateen only (with H) */ > CSR_CLASS_SMSTATEEN_32, /* Smstateen RV32 only */ > CSR_CLASS_SMSTATEEN_AND_H_32, /* Smstateen RV32 only (with H) *= / > + CSR_CLASS_SSAIA, /* Ssaia */ > + 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_SSCOFPMF, /* Sscofpmf only */ > CSR_CLASS_SSCOFPMF_32, /* Sscofpmf RV32 only */ > CSR_CLASS_SSTC, /* Sstc only */ > @@ -1028,6 +1036,16 @@ riscv_csr_address (const char *csr_name, > case CSR_CLASS_V: > extension =3D "zve32x"; > break; > + case CSR_CLASS_SMAIA: > + case CSR_CLASS_SMAIA_AND_H: > + case CSR_CLASS_SMAIA_32: > + case CSR_CLASS_SMAIA_AND_H_32: > + is_rv32_only =3D (csr_class =3D=3D CSR_CLASS_SMAIA_32 > + || csr_class =3D=3D CSR_CLASS_SMAIA_AND_H_32); > + is_h_required =3D (csr_class =3D=3D CSR_CLASS_SMAIA_AND_H > + || csr_class =3D=3D CSR_CLASS_SMAIA_AND_H_32); > + extension =3D "smaia"; > + break; > case CSR_CLASS_SMSTATEEN: > case CSR_CLASS_SMSTATEEN_AND_H: > case CSR_CLASS_SMSTATEEN_32: > @@ -1038,6 +1056,16 @@ riscv_csr_address (const char *csr_name, > || csr_class =3D=3D CSR_CLASS_SMSTATEEN_AND_H_32); > extension =3D "smstateen"; > break; > + case CSR_CLASS_SSAIA: > + case CSR_CLASS_SSAIA_AND_H: > + case CSR_CLASS_SSAIA_32: > + case CSR_CLASS_SSAIA_AND_H_32: > + is_rv32_only =3D (csr_class =3D=3D CSR_CLASS_SSAIA_32 > + || csr_class =3D=3D CSR_CLASS_SSAIA_AND_H_32); > + is_h_required =3D (csr_class =3D=3D CSR_CLASS_SSAIA_AND_H > + || csr_class =3D=3D CSR_CLASS_SSAIA_AND_H_32); > + extension =3D "ssaia"; > + break; > case CSR_CLASS_SSCOFPMF_32: > is_rv32_only =3D true; > /* Fall through. */ > diff --git a/gas/testsuite/gas/riscv/csr-dw-regnums.d b/gas/testsuite/gas= /riscv/csr-dw-regnums.d > index b4b3806a085..dd238cf54a9 100644 > --- a/gas/testsuite/gas/riscv/csr-dw-regnums.d > +++ b/gas/testsuite/gas/riscv/csr-dw-regnums.d > @@ -313,6 +313,26 @@ Contents of the .* section: > DW_CFA_offset_extended_sf: r4675 \(vstval\) at cfa\+2316 > DW_CFA_offset_extended_sf: r4676 \(vsip\) at cfa\+2320 > DW_CFA_offset_extended_sf: r4736 \(vsatp\) at cfa\+2560 > + DW_CFA_offset_extended_sf: r4944 \(miselect\) at cfa\+3392 > + DW_CFA_offset_extended_sf: r4945 \(mireg\) at cfa\+3396 > + DW_CFA_offset_extended_sf: r4956 \(mtopei\) at cfa\+3440 > + DW_CFA_offset_extended_sf: r8112 \(mtopi\) at cfa\+16064 > + DW_CFA_offset_extended_sf: r4872 \(mvien\) at cfa\+3104 > + DW_CFA_offset_extended_sf: r4873 \(mvip\) at cfa\+3108 > + DW_CFA_offset_extended_sf: r4883 \(midelegh\) at cfa\+3148 > + DW_CFA_offset_extended_sf: r4884 \(mieh\) at cfa\+3152 > + DW_CFA_offset_extended_sf: r4888 \(mvienh\) at cfa\+3168 > + DW_CFA_offset_extended_sf: r4889 \(mviph\) at cfa\+3172 > + DW_CFA_offset_extended_sf: r4948 \(miph\) at cfa\+3408 > + DW_CFA_offset_extended_sf: r5640 \(hvien\) at cfa\+6176 > + DW_CFA_offset_extended_sf: r5641 \(hvictl\) at cfa\+6180 > + DW_CFA_offset_extended_sf: r5702 \(hviprio1\) at cfa\+6424 > + DW_CFA_offset_extended_sf: r5703 \(hviprio2\) at cfa\+6428 > + DW_CFA_offset_extended_sf: r5651 \(hidelegh\) at cfa\+6220 > + DW_CFA_offset_extended_sf: r5656 \(hvienh\) at cfa\+6240 > + DW_CFA_offset_extended_sf: r5717 \(hviph\) at cfa\+6484 > + DW_CFA_offset_extended_sf: r5718 \(hviprio1h\) at cfa\+6488 > + DW_CFA_offset_extended_sf: r5719 \(hviprio2h\) at cfa\+6492 > DW_CFA_offset_extended_sf: r4876 \(mstateen0\) at cfa\+3120 > DW_CFA_offset_extended_sf: r4877 \(mstateen1\) at cfa\+3124 > DW_CFA_offset_extended_sf: r4878 \(mstateen2\) at cfa\+3128 > @@ -333,6 +353,18 @@ Contents of the .* section: > DW_CFA_offset_extended_sf: r5661 \(hstateen1h\) at cfa\+6260 > DW_CFA_offset_extended_sf: r5662 \(hstateen2h\) at cfa\+6264 > DW_CFA_offset_extended_sf: r5663 \(hstateen3h\) at cfa\+6268 > + DW_CFA_offset_extended_sf: r4432 \(siselect\) at cfa\+1344 > + DW_CFA_offset_extended_sf: r4433 \(sireg\) at cfa\+1348 > + DW_CFA_offset_extended_sf: r4444 \(stopei\) at cfa\+1392 > + DW_CFA_offset_extended_sf: r7600 \(stopi\) at cfa\+14016 > + DW_CFA_offset_extended_sf: r4372 \(sieh\) at cfa\+1104 > + DW_CFA_offset_extended_sf: r4436 \(siph\) at cfa\+1360 > + DW_CFA_offset_extended_sf: r4688 \(vsiselect\) at cfa\+2368 > + DW_CFA_offset_extended_sf: r4689 \(vsireg\) at cfa\+2372 > + DW_CFA_offset_extended_sf: r4700 \(vstopei\) at cfa\+2416 > + DW_CFA_offset_extended_sf: r7856 \(vstopi\) at cfa\+15040 > + DW_CFA_offset_extended_sf: r4628 \(vsieh\) at cfa\+2128 > + DW_CFA_offset_extended_sf: r4692 \(vsiph\) at cfa\+2384 > DW_CFA_offset_extended_sf: r7584 \(scountovf\) at cfa\+13952 > DW_CFA_offset_extended_sf: r5923 \(mhpmevent3h\) at cfa\+7308 > DW_CFA_offset_extended_sf: r5924 \(mhpmevent4h\) at cfa\+7312 > diff --git a/gas/testsuite/gas/riscv/csr-dw-regnums.s b/gas/testsuite/gas= /riscv/csr-dw-regnums.s > index 6cfa415ebc2..38b1e53dd6c 100644 > --- a/gas/testsuite/gas/riscv/csr-dw-regnums.s > +++ b/gas/testsuite/gas/riscv/csr-dw-regnums.s > @@ -1,6 +1,8 @@ > # Check that CFI directives can accept all of the CSR names (including > # aliases). The results for this test also ensures that the DWARF > # register numbers for the CSRs shouldn't change. > +# The register numbers are specified to be CSR-ID + 4096 (see psABI spec= ). > +# The CFI offsets in this file are CSR-ID x 4. > > .text > .global _start > @@ -307,6 +309,27 @@ _start: > .cfi_offset vstval, 2316 > .cfi_offset vsip, 2320 > .cfi_offset vsatp, 2560 > + # Smaia extension > + .cfi_offset miselect, 3392 > + .cfi_offset mireg, 3396 > + .cfi_offset mtopei, 3440 > + .cfi_offset mtopi, 16064 > + .cfi_offset mvien, 3104 > + .cfi_offset mvip, 3108 > + .cfi_offset midelegh, 3148 > + .cfi_offset mieh, 3152 > + .cfi_offset mvienh, 3168 > + .cfi_offset mviph, 3172 > + .cfi_offset miph, 3408 > + .cfi_offset hvien, 6176 > + .cfi_offset hvictl, 6180 > + .cfi_offset hviprio1, 6424 > + .cfi_offset hviprio2, 6428 > + .cfi_offset hidelegh, 6220 > + .cfi_offset hvienh, 6240 > + .cfi_offset hviph, 6484 > + .cfi_offset hviprio1h, 6488 > + .cfi_offset hviprio2h, 6492 > # Smstateen extension > .cfi_offset mstateen0, 3120 > .cfi_offset mstateen1, 3124 > @@ -328,6 +351,19 @@ _start: > .cfi_offset hstateen1h, 6260 > .cfi_offset hstateen2h, 6264 > .cfi_offset hstateen3h, 6268 > + # Ssaia extension > + .cfi_offset siselect, 1344 > + .cfi_offset sireg, 1348 > + .cfi_offset stopei, 1392 > + .cfi_offset stopi, 14016 > + .cfi_offset sieh, 1104 > + .cfi_offset siph, 1360 > + .cfi_offset vsiselect, 2368 > + .cfi_offset vsireg, 2372 > + .cfi_offset vstopei, 2416 > + .cfi_offset vstopi, 15040 > + .cfi_offset vsieh, 2128 > + .cfi_offset vsiph, 2384 > # Sscofpmf extension > .cfi_offset scountovf, 13952 > .cfi_offset mhpmevent3h, 7308 > diff --git a/gas/testsuite/gas/riscv/csr-version-1p10.d b/gas/testsuite/g= as/riscv/csr-version-1p10.d > index bd8b10302e3..879c7e8a97d 100644 > --- a/gas/testsuite/gas/riscv/csr-version-1p10.d > +++ b/gas/testsuite/gas/riscv/csr-version-1p10.d > @@ -601,6 +601,46 @@ Disassembly of section .text: > [ ]+[0-9a-f]+:[ ]+24459073[ ]+csrw[ ]+vsip,a1 > [ ]+[0-9a-f]+:[ ]+28002573[ ]+csrr[ ]+a0,vsatp > [ ]+[0-9a-f]+:[ ]+28059073[ ]+csrw[ ]+vsatp,a1 > +[ ]+[0-9a-f]+:[ ]+35002573[ ]+csrr[ ]+a0,miselect > +[ ]+[0-9a-f]+:[ ]+35059073[ ]+csrw[ ]+miselect,a1 > +[ ]+[0-9a-f]+:[ ]+35102573[ ]+csrr[ ]+a0,mireg > +[ ]+[0-9a-f]+:[ ]+35159073[ ]+csrw[ ]+mireg,a1 > +[ ]+[0-9a-f]+:[ ]+35c02573[ ]+csrr[ ]+a0,mtopei > +[ ]+[0-9a-f]+:[ ]+35c59073[ ]+csrw[ ]+mtopei,a1 > +[ ]+[0-9a-f]+:[ ]+fb002573[ ]+csrr[ ]+a0,mtopi > +[ ]+[0-9a-f]+:[ ]+fb059073[ ]+csrw[ ]+mtopi,a1 > +[ ]+[0-9a-f]+:[ ]+30802573[ ]+csrr[ ]+a0,mvien > +[ ]+[0-9a-f]+:[ ]+30859073[ ]+csrw[ ]+mvien,a1 > +[ ]+[0-9a-f]+:[ ]+30902573[ ]+csrr[ ]+a0,mvip > +[ ]+[0-9a-f]+:[ ]+30959073[ ]+csrw[ ]+mvip,a1 > +[ ]+[0-9a-f]+:[ ]+31302573[ ]+csrr[ ]+a0,midelegh > +[ ]+[0-9a-f]+:[ ]+31359073[ ]+csrw[ ]+midelegh,a1 > +[ ]+[0-9a-f]+:[ ]+31402573[ ]+csrr[ ]+a0,mieh > +[ ]+[0-9a-f]+:[ ]+31459073[ ]+csrw[ ]+mieh,a1 > +[ ]+[0-9a-f]+:[ ]+31802573[ ]+csrr[ ]+a0,mvienh > +[ ]+[0-9a-f]+:[ ]+31859073[ ]+csrw[ ]+mvienh,a1 > +[ ]+[0-9a-f]+:[ ]+31902573[ ]+csrr[ ]+a0,mviph > +[ ]+[0-9a-f]+:[ ]+31959073[ ]+csrw[ ]+mviph,a1 > +[ ]+[0-9a-f]+:[ ]+35402573[ ]+csrr[ ]+a0,miph > +[ ]+[0-9a-f]+:[ ]+35459073[ ]+csrw[ ]+miph,a1 > +[ ]+[0-9a-f]+:[ ]+60802573[ ]+csrr[ ]+a0,hvien > +[ ]+[0-9a-f]+:[ ]+60859073[ ]+csrw[ ]+hvien,a1 > +[ ]+[0-9a-f]+:[ ]+60902573[ ]+csrr[ ]+a0,hvictl > +[ ]+[0-9a-f]+:[ ]+60959073[ ]+csrw[ ]+hvictl,a1 > +[ ]+[0-9a-f]+:[ ]+64602573[ ]+csrr[ ]+a0,hviprio1 > +[ ]+[0-9a-f]+:[ ]+64659073[ ]+csrw[ ]+hviprio1,a1 > +[ ]+[0-9a-f]+:[ ]+64702573[ ]+csrr[ ]+a0,hviprio2 > +[ ]+[0-9a-f]+:[ ]+64759073[ ]+csrw[ ]+hviprio2,a1 > +[ ]+[0-9a-f]+:[ ]+61302573[ ]+csrr[ ]+a0,hidelegh > +[ ]+[0-9a-f]+:[ ]+61359073[ ]+csrw[ ]+hidelegh,a1 > +[ ]+[0-9a-f]+:[ ]+61802573[ ]+csrr[ ]+a0,hvienh > +[ ]+[0-9a-f]+:[ ]+61859073[ ]+csrw[ ]+hvienh,a1 > +[ ]+[0-9a-f]+:[ ]+65502573[ ]+csrr[ ]+a0,hviph > +[ ]+[0-9a-f]+:[ ]+65559073[ ]+csrw[ ]+hviph,a1 > +[ ]+[0-9a-f]+:[ ]+65602573[ ]+csrr[ ]+a0,hviprio1h > +[ ]+[0-9a-f]+:[ ]+65659073[ ]+csrw[ ]+hviprio1h,a1 > +[ ]+[0-9a-f]+:[ ]+65702573[ ]+csrr[ ]+a0,hviprio2h > +[ ]+[0-9a-f]+:[ ]+65759073[ ]+csrw[ ]+hviprio2h,a1 > [ ]+[0-9a-f]+:[ ]+30c02573[ ]+csrr[ ]+a0,mstateen0 > [ ]+[0-9a-f]+:[ ]+30c59073[ ]+csrw[ ]+mstateen0,a1 > [ ]+[0-9a-f]+:[ ]+30d02573[ ]+csrr[ ]+a0,mstateen1 > @@ -641,6 +681,30 @@ Disassembly of section .text: > [ ]+[0-9a-f]+:[ ]+61e59073[ ]+csrw[ ]+hstateen2h,a1 > [ ]+[0-9a-f]+:[ ]+61f02573[ ]+csrr[ ]+a0,hstateen3h > [ ]+[0-9a-f]+:[ ]+61f59073[ ]+csrw[ ]+hstateen3h,a1 > +[ ]+[0-9a-f]+:[ ]+15002573[ ]+csrr[ ]+a0,siselect > +[ ]+[0-9a-f]+:[ ]+15059073[ ]+csrw[ ]+siselect,a1 > +[ ]+[0-9a-f]+:[ ]+15102573[ ]+csrr[ ]+a0,sireg > +[ ]+[0-9a-f]+:[ ]+15159073[ ]+csrw[ ]+sireg,a1 > +[ ]+[0-9a-f]+:[ ]+15c02573[ ]+csrr[ ]+a0,stopei > +[ ]+[0-9a-f]+:[ ]+15c59073[ ]+csrw[ ]+stopei,a1 > +[ ]+[0-9a-f]+:[ ]+db002573[ ]+csrr[ ]+a0,stopi > +[ ]+[0-9a-f]+:[ ]+db059073[ ]+csrw[ ]+stopi,a1 > +[ ]+[0-9a-f]+:[ ]+11402573[ ]+csrr[ ]+a0,sieh > +[ ]+[0-9a-f]+:[ ]+11459073[ ]+csrw[ ]+sieh,a1 > +[ ]+[0-9a-f]+:[ ]+15402573[ ]+csrr[ ]+a0,siph > +[ ]+[0-9a-f]+:[ ]+15459073[ ]+csrw[ ]+siph,a1 > +[ ]+[0-9a-f]+:[ ]+25002573[ ]+csrr[ ]+a0,vsiselect > +[ ]+[0-9a-f]+:[ ]+25059073[ ]+csrw[ ]+vsiselect,a1 > +[ ]+[0-9a-f]+:[ ]+25102573[ ]+csrr[ ]+a0,vsireg > +[ ]+[0-9a-f]+:[ ]+25159073[ ]+csrw[ ]+vsireg,a1 > +[ ]+[0-9a-f]+:[ ]+25c02573[ ]+csrr[ ]+a0,vstopei > +[ ]+[0-9a-f]+:[ ]+25c59073[ ]+csrw[ ]+vstopei,a1 > +[ ]+[0-9a-f]+:[ ]+eb002573[ ]+csrr[ ]+a0,vstopi > +[ ]+[0-9a-f]+:[ ]+eb059073[ ]+csrw[ ]+vstopi,a1 > +[ ]+[0-9a-f]+:[ ]+21402573[ ]+csrr[ ]+a0,vsieh > +[ ]+[0-9a-f]+:[ ]+21459073[ ]+csrw[ ]+vsieh,a1 > +[ ]+[0-9a-f]+:[ ]+25402573[ ]+csrr[ ]+a0,vsiph > +[ ]+[0-9a-f]+:[ ]+25459073[ ]+csrw[ ]+vsiph,a1 > [ ]+[0-9a-f]+:[ ]+da002573[ ]+csrr[ ]+a0,scountovf > [ ]+[0-9a-f]+:[ ]+da059073[ ]+csrw[ ]+scountovf,a1 > [ ]+[0-9a-f]+:[ ]+72302573[ ]+csrr[ ]+a0,mhpmevent3h > diff --git a/gas/testsuite/gas/riscv/csr-version-1p10.l b/gas/testsuite/g= as/riscv/csr-version-1p10.l > index 999e9af1520..44499fa4dbe 100644 > --- a/gas/testsuite/gas/riscv/csr-version-1p10.l > +++ b/gas/testsuite/gas/riscv/csr-version-1p10.l > @@ -411,6 +411,85 @@ > .*Warning: invalid CSR `vsip', needs `h' extension > .*Warning: invalid CSR `vsatp', needs `h' extension > .*Warning: invalid CSR `vsatp', needs `h' extension > +.*Warning: invalid CSR `miselect', needs `smaia' extension > +.*Warning: invalid CSR `miselect', needs `smaia' extension > +.*Warning: invalid CSR `mireg', needs `smaia' extension > +.*Warning: invalid CSR `mireg', needs `smaia' extension > +.*Warning: invalid CSR `mtopei', needs `smaia' extension > +.*Warning: invalid CSR `mtopei', needs `smaia' extension > +.*Warning: invalid CSR `mtopi', needs `smaia' extension > +.*Warning: invalid CSR `mtopi', needs `smaia' extension > +.*Warning: read-only CSR is written `csrw mtopi,a1' > +.*Warning: invalid CSR `mvien', needs `smaia' extension > +.*Warning: invalid CSR `mvien', needs `smaia' extension > +.*Warning: invalid CSR `mvip', needs `smaia' extension > +.*Warning: invalid CSR `mvip', needs `smaia' extension > +.*Warning: invalid CSR `midelegh', needs rv32i extension > +.*Warning: invalid CSR `midelegh', needs `smaia' extension > +.*Warning: invalid CSR `midelegh', needs rv32i extension > +.*Warning: invalid CSR `midelegh', needs `smaia' extension > +.*Warning: invalid CSR `mieh', needs rv32i extension > +.*Warning: invalid CSR `mieh', needs `smaia' extension > +.*Warning: invalid CSR `mieh', needs rv32i extension > +.*Warning: invalid CSR `mieh', needs `smaia' extension > +.*Warning: invalid CSR `mvienh', needs rv32i extension > +.*Warning: invalid CSR `mvienh', needs `smaia' extension > +.*Warning: invalid CSR `mvienh', needs rv32i extension > +.*Warning: invalid CSR `mvienh', needs `smaia' extension > +.*Warning: invalid CSR `mviph', needs rv32i extension > +.*Warning: invalid CSR `mviph', needs `smaia' extension > +.*Warning: invalid CSR `mviph', needs rv32i extension > +.*Warning: invalid CSR `mviph', needs `smaia' extension > +.*Warning: invalid CSR `miph', needs rv32i extension > +.*Warning: invalid CSR `miph', needs `smaia' extension > +.*Warning: invalid CSR `miph', needs rv32i extension > +.*Warning: invalid CSR `miph', needs `smaia' extension > +.*Warning: invalid CSR `hvien', needs `h' extension > +.*Warning: invalid CSR `hvien', needs `smaia' extension > +.*Warning: invalid CSR `hvien', needs `h' extension > +.*Warning: invalid CSR `hvien', needs `smaia' extension > +.*Warning: invalid CSR `hvictl', needs `h' extension > +.*Warning: invalid CSR `hvictl', needs `smaia' extension > +.*Warning: invalid CSR `hvictl', needs `h' extension > +.*Warning: invalid CSR `hvictl', needs `smaia' extension > +.*Warning: invalid CSR `hviprio1', needs `h' extension > +.*Warning: invalid CSR `hviprio1', needs `smaia' extension > +.*Warning: invalid CSR `hviprio1', needs `h' extension > +.*Warning: invalid CSR `hviprio1', needs `smaia' extension > +.*Warning: invalid CSR `hviprio2', needs `h' extension > +.*Warning: invalid CSR `hviprio2', needs `smaia' extension > +.*Warning: invalid CSR `hviprio2', needs `h' extension > +.*Warning: invalid CSR `hviprio2', needs `smaia' extension > +.*Warning: invalid CSR `hidelegh', needs rv32i extension > +.*Warning: invalid CSR `hidelegh', needs `h' extension > +.*Warning: invalid CSR `hidelegh', needs `smaia' extension > +.*Warning: invalid CSR `hidelegh', needs rv32i extension > +.*Warning: invalid CSR `hidelegh', needs `h' extension > +.*Warning: invalid CSR `hidelegh', needs `smaia' extension > +.*Warning: invalid CSR `hvienh', needs rv32i extension > +.*Warning: invalid CSR `hvienh', needs `h' extension > +.*Warning: invalid CSR `hvienh', needs `smaia' extension > +.*Warning: invalid CSR `hvienh', needs rv32i extension > +.*Warning: invalid CSR `hvienh', needs `h' extension > +.*Warning: invalid CSR `hvienh', needs `smaia' extension > +.*Warning: invalid CSR `hviph', needs rv32i extension > +.*Warning: invalid CSR `hviph', needs `h' extension > +.*Warning: invalid CSR `hviph', needs `smaia' extension > +.*Warning: invalid CSR `hviph', needs rv32i extension > +.*Warning: invalid CSR `hviph', needs `h' extension > +.*Warning: invalid CSR `hviph', needs `smaia' extension > +.*Warning: invalid CSR `hviprio1h', needs rv32i extension > +.*Warning: invalid CSR `hviprio1h', needs `h' extension > +.*Warning: invalid CSR `hviprio1h', needs `smaia' extension > +.*Warning: invalid CSR `hviprio1h', needs rv32i extension > +.*Warning: invalid CSR `hviprio1h', needs `h' extension > +.*Warning: invalid CSR `hviprio1h', needs `smaia' extension > +.*Warning: invalid CSR `hviprio2h', needs rv32i extension > +.*Warning: invalid CSR `hviprio2h', needs `h' extension > +.*Warning: invalid CSR `hviprio2h', needs `smaia' extension > +.*Warning: invalid CSR `hviprio2h', needs rv32i extension > +.*Warning: invalid CSR `hviprio2h', needs `h' extension > +.*Warning: invalid CSR `hviprio2h', needs `smaia' extension > .*Warning: invalid CSR `mstateen0', needs `smstateen' extension > .*Warning: invalid CSR `mstateen0', needs `smstateen' extension > .*Warning: invalid CSR `mstateen1', needs `smstateen' extension > @@ -483,6 +562,52 @@ > .*Warning: invalid CSR `hstateen3h', needs rv32i extension > .*Warning: invalid CSR `hstateen3h', needs `h' extension > .*Warning: invalid CSR `hstateen3h', needs `smstateen' extension > +.*Warning: invalid CSR `siselect', needs `ssaia' extension > +.*Warning: invalid CSR `siselect', needs `ssaia' extension > +.*Warning: invalid CSR `sireg', needs `ssaia' extension > +.*Warning: invalid CSR `sireg', needs `ssaia' extension > +.*Warning: invalid CSR `stopei', needs `ssaia' extension > +.*Warning: invalid CSR `stopei', needs `ssaia' extension > +.*Warning: invalid CSR `stopi', needs `ssaia' extension > +.*Warning: invalid CSR `stopi', needs `ssaia' extension > +.*Warning: read-only CSR is written `csrw stopi,a1' > +.*Warning: invalid CSR `sieh', needs rv32i extension > +.*Warning: invalid CSR `sieh', needs `ssaia' extension > +.*Warning: invalid CSR `sieh', needs rv32i extension > +.*Warning: invalid CSR `sieh', needs `ssaia' extension > +.*Warning: invalid CSR `siph', needs rv32i extension > +.*Warning: invalid CSR `siph', needs `ssaia' extension > +.*Warning: invalid CSR `siph', needs rv32i extension > +.*Warning: invalid CSR `siph', needs `ssaia' extension > +.*Warning: invalid CSR `vsiselect', needs `h' extension > +.*Warning: invalid CSR `vsiselect', needs `ssaia' extension > +.*Warning: invalid CSR `vsiselect', needs `h' extension > +.*Warning: invalid CSR `vsiselect', needs `ssaia' extension > +.*Warning: invalid CSR `vsireg', needs `h' extension > +.*Warning: invalid CSR `vsireg', needs `ssaia' extension > +.*Warning: invalid CSR `vsireg', needs `h' extension > +.*Warning: invalid CSR `vsireg', needs `ssaia' extension > +.*Warning: invalid CSR `vstopei', needs `h' extension > +.*Warning: invalid CSR `vstopei', needs `ssaia' extension > +.*Warning: invalid CSR `vstopei', needs `h' extension > +.*Warning: invalid CSR `vstopei', needs `ssaia' extension > +.*Warning: invalid CSR `vstopi', needs `h' extension > +.*Warning: invalid CSR `vstopi', needs `ssaia' extension > +.*Warning: invalid CSR `vstopi', needs `h' extension > +.*Warning: invalid CSR `vstopi', needs `ssaia' extension > +.*Warning: read-only CSR is written `csrw vstopi,a1' > +.*Warning: invalid CSR `vsieh', needs rv32i extension > +.*Warning: invalid CSR `vsieh', needs `h' extension > +.*Warning: invalid CSR `vsieh', needs `ssaia' extension > +.*Warning: invalid CSR `vsieh', needs rv32i extension > +.*Warning: invalid CSR `vsieh', needs `h' extension > +.*Warning: invalid CSR `vsieh', needs `ssaia' extension > +.*Warning: invalid CSR `vsiph', needs rv32i extension > +.*Warning: invalid CSR `vsiph', needs `h' extension > +.*Warning: invalid CSR `vsiph', needs `ssaia' extension > +.*Warning: invalid CSR `vsiph', needs rv32i extension > +.*Warning: invalid CSR `vsiph', needs `h' extension > +.*Warning: invalid CSR `vsiph', needs `ssaia' extension > .*Warning: invalid CSR `scountovf', needs `sscofpmf' extension > .*Warning: invalid CSR `scountovf', needs `sscofpmf' extension > .*Warning: read-only CSR is written `csrw scountovf,a1' > diff --git a/gas/testsuite/gas/riscv/csr-version-1p11.d b/gas/testsuite/g= as/riscv/csr-version-1p11.d > index 5d6333884f1..70397194465 100644 > --- a/gas/testsuite/gas/riscv/csr-version-1p11.d > +++ b/gas/testsuite/gas/riscv/csr-version-1p11.d > @@ -601,6 +601,46 @@ Disassembly of section .text: > [ ]+[0-9a-f]+:[ ]+24459073[ ]+csrw[ ]+vsip,a1 > [ ]+[0-9a-f]+:[ ]+28002573[ ]+csrr[ ]+a0,vsatp > [ ]+[0-9a-f]+:[ ]+28059073[ ]+csrw[ ]+vsatp,a1 > +[ ]+[0-9a-f]+:[ ]+35002573[ ]+csrr[ ]+a0,miselect > +[ ]+[0-9a-f]+:[ ]+35059073[ ]+csrw[ ]+miselect,a1 > +[ ]+[0-9a-f]+:[ ]+35102573[ ]+csrr[ ]+a0,mireg > +[ ]+[0-9a-f]+:[ ]+35159073[ ]+csrw[ ]+mireg,a1 > +[ ]+[0-9a-f]+:[ ]+35c02573[ ]+csrr[ ]+a0,mtopei > +[ ]+[0-9a-f]+:[ ]+35c59073[ ]+csrw[ ]+mtopei,a1 > +[ ]+[0-9a-f]+:[ ]+fb002573[ ]+csrr[ ]+a0,mtopi > +[ ]+[0-9a-f]+:[ ]+fb059073[ ]+csrw[ ]+mtopi,a1 > +[ ]+[0-9a-f]+:[ ]+30802573[ ]+csrr[ ]+a0,mvien > +[ ]+[0-9a-f]+:[ ]+30859073[ ]+csrw[ ]+mvien,a1 > +[ ]+[0-9a-f]+:[ ]+30902573[ ]+csrr[ ]+a0,mvip > +[ ]+[0-9a-f]+:[ ]+30959073[ ]+csrw[ ]+mvip,a1 > +[ ]+[0-9a-f]+:[ ]+31302573[ ]+csrr[ ]+a0,midelegh > +[ ]+[0-9a-f]+:[ ]+31359073[ ]+csrw[ ]+midelegh,a1 > +[ ]+[0-9a-f]+:[ ]+31402573[ ]+csrr[ ]+a0,mieh > +[ ]+[0-9a-f]+:[ ]+31459073[ ]+csrw[ ]+mieh,a1 > +[ ]+[0-9a-f]+:[ ]+31802573[ ]+csrr[ ]+a0,mvienh > +[ ]+[0-9a-f]+:[ ]+31859073[ ]+csrw[ ]+mvienh,a1 > +[ ]+[0-9a-f]+:[ ]+31902573[ ]+csrr[ ]+a0,mviph > +[ ]+[0-9a-f]+:[ ]+31959073[ ]+csrw[ ]+mviph,a1 > +[ ]+[0-9a-f]+:[ ]+35402573[ ]+csrr[ ]+a0,miph > +[ ]+[0-9a-f]+:[ ]+35459073[ ]+csrw[ ]+miph,a1 > +[ ]+[0-9a-f]+:[ ]+60802573[ ]+csrr[ ]+a0,hvien > +[ ]+[0-9a-f]+:[ ]+60859073[ ]+csrw[ ]+hvien,a1 > +[ ]+[0-9a-f]+:[ ]+60902573[ ]+csrr[ ]+a0,hvictl > +[ ]+[0-9a-f]+:[ ]+60959073[ ]+csrw[ ]+hvictl,a1 > +[ ]+[0-9a-f]+:[ ]+64602573[ ]+csrr[ ]+a0,hviprio1 > +[ ]+[0-9a-f]+:[ ]+64659073[ ]+csrw[ ]+hviprio1,a1 > +[ ]+[0-9a-f]+:[ ]+64702573[ ]+csrr[ ]+a0,hviprio2 > +[ ]+[0-9a-f]+:[ ]+64759073[ ]+csrw[ ]+hviprio2,a1 > +[ ]+[0-9a-f]+:[ ]+61302573[ ]+csrr[ ]+a0,hidelegh > +[ ]+[0-9a-f]+:[ ]+61359073[ ]+csrw[ ]+hidelegh,a1 > +[ ]+[0-9a-f]+:[ ]+61802573[ ]+csrr[ ]+a0,hvienh > +[ ]+[0-9a-f]+:[ ]+61859073[ ]+csrw[ ]+hvienh,a1 > +[ ]+[0-9a-f]+:[ ]+65502573[ ]+csrr[ ]+a0,hviph > +[ ]+[0-9a-f]+:[ ]+65559073[ ]+csrw[ ]+hviph,a1 > +[ ]+[0-9a-f]+:[ ]+65602573[ ]+csrr[ ]+a0,hviprio1h > +[ ]+[0-9a-f]+:[ ]+65659073[ ]+csrw[ ]+hviprio1h,a1 > +[ ]+[0-9a-f]+:[ ]+65702573[ ]+csrr[ ]+a0,hviprio2h > +[ ]+[0-9a-f]+:[ ]+65759073[ ]+csrw[ ]+hviprio2h,a1 > [ ]+[0-9a-f]+:[ ]+30c02573[ ]+csrr[ ]+a0,mstateen0 > [ ]+[0-9a-f]+:[ ]+30c59073[ ]+csrw[ ]+mstateen0,a1 > [ ]+[0-9a-f]+:[ ]+30d02573[ ]+csrr[ ]+a0,mstateen1 > @@ -641,6 +681,30 @@ Disassembly of section .text: > [ ]+[0-9a-f]+:[ ]+61e59073[ ]+csrw[ ]+hstateen2h,a1 > [ ]+[0-9a-f]+:[ ]+61f02573[ ]+csrr[ ]+a0,hstateen3h > [ ]+[0-9a-f]+:[ ]+61f59073[ ]+csrw[ ]+hstateen3h,a1 > +[ ]+[0-9a-f]+:[ ]+15002573[ ]+csrr[ ]+a0,siselect > +[ ]+[0-9a-f]+:[ ]+15059073[ ]+csrw[ ]+siselect,a1 > +[ ]+[0-9a-f]+:[ ]+15102573[ ]+csrr[ ]+a0,sireg > +[ ]+[0-9a-f]+:[ ]+15159073[ ]+csrw[ ]+sireg,a1 > +[ ]+[0-9a-f]+:[ ]+15c02573[ ]+csrr[ ]+a0,stopei > +[ ]+[0-9a-f]+:[ ]+15c59073[ ]+csrw[ ]+stopei,a1 > +[ ]+[0-9a-f]+:[ ]+db002573[ ]+csrr[ ]+a0,stopi > +[ ]+[0-9a-f]+:[ ]+db059073[ ]+csrw[ ]+stopi,a1 > +[ ]+[0-9a-f]+:[ ]+11402573[ ]+csrr[ ]+a0,sieh > +[ ]+[0-9a-f]+:[ ]+11459073[ ]+csrw[ ]+sieh,a1 > +[ ]+[0-9a-f]+:[ ]+15402573[ ]+csrr[ ]+a0,siph > +[ ]+[0-9a-f]+:[ ]+15459073[ ]+csrw[ ]+siph,a1 > +[ ]+[0-9a-f]+:[ ]+25002573[ ]+csrr[ ]+a0,vsiselect > +[ ]+[0-9a-f]+:[ ]+25059073[ ]+csrw[ ]+vsiselect,a1 > +[ ]+[0-9a-f]+:[ ]+25102573[ ]+csrr[ ]+a0,vsireg > +[ ]+[0-9a-f]+:[ ]+25159073[ ]+csrw[ ]+vsireg,a1 > +[ ]+[0-9a-f]+:[ ]+25c02573[ ]+csrr[ ]+a0,vstopei > +[ ]+[0-9a-f]+:[ ]+25c59073[ ]+csrw[ ]+vstopei,a1 > +[ ]+[0-9a-f]+:[ ]+eb002573[ ]+csrr[ ]+a0,vstopi > +[ ]+[0-9a-f]+:[ ]+eb059073[ ]+csrw[ ]+vstopi,a1 > +[ ]+[0-9a-f]+:[ ]+21402573[ ]+csrr[ ]+a0,vsieh > +[ ]+[0-9a-f]+:[ ]+21459073[ ]+csrw[ ]+vsieh,a1 > +[ ]+[0-9a-f]+:[ ]+25402573[ ]+csrr[ ]+a0,vsiph > +[ ]+[0-9a-f]+:[ ]+25459073[ ]+csrw[ ]+vsiph,a1 > [ ]+[0-9a-f]+:[ ]+da002573[ ]+csrr[ ]+a0,scountovf > [ ]+[0-9a-f]+:[ ]+da059073[ ]+csrw[ ]+scountovf,a1 > [ ]+[0-9a-f]+:[ ]+72302573[ ]+csrr[ ]+a0,mhpmevent3h > diff --git a/gas/testsuite/gas/riscv/csr-version-1p11.l b/gas/testsuite/g= as/riscv/csr-version-1p11.l > index a099e4ecc93..09a106806d2 100644 > --- a/gas/testsuite/gas/riscv/csr-version-1p11.l > +++ b/gas/testsuite/gas/riscv/csr-version-1p11.l > @@ -409,6 +409,85 @@ > .*Warning: invalid CSR `vsip', needs `h' extension > .*Warning: invalid CSR `vsatp', needs `h' extension > .*Warning: invalid CSR `vsatp', needs `h' extension > +.*Warning: invalid CSR `miselect', needs `smaia' extension > +.*Warning: invalid CSR `miselect', needs `smaia' extension > +.*Warning: invalid CSR `mireg', needs `smaia' extension > +.*Warning: invalid CSR `mireg', needs `smaia' extension > +.*Warning: invalid CSR `mtopei', needs `smaia' extension > +.*Warning: invalid CSR `mtopei', needs `smaia' extension > +.*Warning: invalid CSR `mtopi', needs `smaia' extension > +.*Warning: invalid CSR `mtopi', needs `smaia' extension > +.*Warning: read-only CSR is written `csrw mtopi,a1' > +.*Warning: invalid CSR `mvien', needs `smaia' extension > +.*Warning: invalid CSR `mvien', needs `smaia' extension > +.*Warning: invalid CSR `mvip', needs `smaia' extension > +.*Warning: invalid CSR `mvip', needs `smaia' extension > +.*Warning: invalid CSR `midelegh', needs rv32i extension > +.*Warning: invalid CSR `midelegh', needs `smaia' extension > +.*Warning: invalid CSR `midelegh', needs rv32i extension > +.*Warning: invalid CSR `midelegh', needs `smaia' extension > +.*Warning: invalid CSR `mieh', needs rv32i extension > +.*Warning: invalid CSR `mieh', needs `smaia' extension > +.*Warning: invalid CSR `mieh', needs rv32i extension > +.*Warning: invalid CSR `mieh', needs `smaia' extension > +.*Warning: invalid CSR `mvienh', needs rv32i extension > +.*Warning: invalid CSR `mvienh', needs `smaia' extension > +.*Warning: invalid CSR `mvienh', needs rv32i extension > +.*Warning: invalid CSR `mvienh', needs `smaia' extension > +.*Warning: invalid CSR `mviph', needs rv32i extension > +.*Warning: invalid CSR `mviph', needs `smaia' extension > +.*Warning: invalid CSR `mviph', needs rv32i extension > +.*Warning: invalid CSR `mviph', needs `smaia' extension > +.*Warning: invalid CSR `miph', needs rv32i extension > +.*Warning: invalid CSR `miph', needs `smaia' extension > +.*Warning: invalid CSR `miph', needs rv32i extension > +.*Warning: invalid CSR `miph', needs `smaia' extension > +.*Warning: invalid CSR `hvien', needs `h' extension > +.*Warning: invalid CSR `hvien', needs `smaia' extension > +.*Warning: invalid CSR `hvien', needs `h' extension > +.*Warning: invalid CSR `hvien', needs `smaia' extension > +.*Warning: invalid CSR `hvictl', needs `h' extension > +.*Warning: invalid CSR `hvictl', needs `smaia' extension > +.*Warning: invalid CSR `hvictl', needs `h' extension > +.*Warning: invalid CSR `hvictl', needs `smaia' extension > +.*Warning: invalid CSR `hviprio1', needs `h' extension > +.*Warning: invalid CSR `hviprio1', needs `smaia' extension > +.*Warning: invalid CSR `hviprio1', needs `h' extension > +.*Warning: invalid CSR `hviprio1', needs `smaia' extension > +.*Warning: invalid CSR `hviprio2', needs `h' extension > +.*Warning: invalid CSR `hviprio2', needs `smaia' extension > +.*Warning: invalid CSR `hviprio2', needs `h' extension > +.*Warning: invalid CSR `hviprio2', needs `smaia' extension > +.*Warning: invalid CSR `hidelegh', needs rv32i extension > +.*Warning: invalid CSR `hidelegh', needs `h' extension > +.*Warning: invalid CSR `hidelegh', needs `smaia' extension > +.*Warning: invalid CSR `hidelegh', needs rv32i extension > +.*Warning: invalid CSR `hidelegh', needs `h' extension > +.*Warning: invalid CSR `hidelegh', needs `smaia' extension > +.*Warning: invalid CSR `hvienh', needs rv32i extension > +.*Warning: invalid CSR `hvienh', needs `h' extension > +.*Warning: invalid CSR `hvienh', needs `smaia' extension > +.*Warning: invalid CSR `hvienh', needs rv32i extension > +.*Warning: invalid CSR `hvienh', needs `h' extension > +.*Warning: invalid CSR `hvienh', needs `smaia' extension > +.*Warning: invalid CSR `hviph', needs rv32i extension > +.*Warning: invalid CSR `hviph', needs `h' extension > +.*Warning: invalid CSR `hviph', needs `smaia' extension > +.*Warning: invalid CSR `hviph', needs rv32i extension > +.*Warning: invalid CSR `hviph', needs `h' extension > +.*Warning: invalid CSR `hviph', needs `smaia' extension > +.*Warning: invalid CSR `hviprio1h', needs rv32i extension > +.*Warning: invalid CSR `hviprio1h', needs `h' extension > +.*Warning: invalid CSR `hviprio1h', needs `smaia' extension > +.*Warning: invalid CSR `hviprio1h', needs rv32i extension > +.*Warning: invalid CSR `hviprio1h', needs `h' extension > +.*Warning: invalid CSR `hviprio1h', needs `smaia' extension > +.*Warning: invalid CSR `hviprio2h', needs rv32i extension > +.*Warning: invalid CSR `hviprio2h', needs `h' extension > +.*Warning: invalid CSR `hviprio2h', needs `smaia' extension > +.*Warning: invalid CSR `hviprio2h', needs rv32i extension > +.*Warning: invalid CSR `hviprio2h', needs `h' extension > +.*Warning: invalid CSR `hviprio2h', needs `smaia' extension > .*Warning: invalid CSR `mstateen0', needs `smstateen' extension > .*Warning: invalid CSR `mstateen0', needs `smstateen' extension > .*Warning: invalid CSR `mstateen1', needs `smstateen' extension > @@ -481,6 +560,52 @@ > .*Warning: invalid CSR `hstateen3h', needs rv32i extension > .*Warning: invalid CSR `hstateen3h', needs `h' extension > .*Warning: invalid CSR `hstateen3h', needs `smstateen' extension > +.*Warning: invalid CSR `siselect', needs `ssaia' extension > +.*Warning: invalid CSR `siselect', needs `ssaia' extension > +.*Warning: invalid CSR `sireg', needs `ssaia' extension > +.*Warning: invalid CSR `sireg', needs `ssaia' extension > +.*Warning: invalid CSR `stopei', needs `ssaia' extension > +.*Warning: invalid CSR `stopei', needs `ssaia' extension > +.*Warning: invalid CSR `stopi', needs `ssaia' extension > +.*Warning: invalid CSR `stopi', needs `ssaia' extension > +.*Warning: read-only CSR is written `csrw stopi,a1' > +.*Warning: invalid CSR `sieh', needs rv32i extension > +.*Warning: invalid CSR `sieh', needs `ssaia' extension > +.*Warning: invalid CSR `sieh', needs rv32i extension > +.*Warning: invalid CSR `sieh', needs `ssaia' extension > +.*Warning: invalid CSR `siph', needs rv32i extension > +.*Warning: invalid CSR `siph', needs `ssaia' extension > +.*Warning: invalid CSR `siph', needs rv32i extension > +.*Warning: invalid CSR `siph', needs `ssaia' extension > +.*Warning: invalid CSR `vsiselect', needs `h' extension > +.*Warning: invalid CSR `vsiselect', needs `ssaia' extension > +.*Warning: invalid CSR `vsiselect', needs `h' extension > +.*Warning: invalid CSR `vsiselect', needs `ssaia' extension > +.*Warning: invalid CSR `vsireg', needs `h' extension > +.*Warning: invalid CSR `vsireg', needs `ssaia' extension > +.*Warning: invalid CSR `vsireg', needs `h' extension > +.*Warning: invalid CSR `vsireg', needs `ssaia' extension > +.*Warning: invalid CSR `vstopei', needs `h' extension > +.*Warning: invalid CSR `vstopei', needs `ssaia' extension > +.*Warning: invalid CSR `vstopei', needs `h' extension > +.*Warning: invalid CSR `vstopei', needs `ssaia' extension > +.*Warning: invalid CSR `vstopi', needs `h' extension > +.*Warning: invalid CSR `vstopi', needs `ssaia' extension > +.*Warning: invalid CSR `vstopi', needs `h' extension > +.*Warning: invalid CSR `vstopi', needs `ssaia' extension > +.*Warning: read-only CSR is written `csrw vstopi,a1' > +.*Warning: invalid CSR `vsieh', needs rv32i extension > +.*Warning: invalid CSR `vsieh', needs `h' extension > +.*Warning: invalid CSR `vsieh', needs `ssaia' extension > +.*Warning: invalid CSR `vsieh', needs rv32i extension > +.*Warning: invalid CSR `vsieh', needs `h' extension > +.*Warning: invalid CSR `vsieh', needs `ssaia' extension > +.*Warning: invalid CSR `vsiph', needs rv32i extension > +.*Warning: invalid CSR `vsiph', needs `h' extension > +.*Warning: invalid CSR `vsiph', needs `ssaia' extension > +.*Warning: invalid CSR `vsiph', needs rv32i extension > +.*Warning: invalid CSR `vsiph', needs `h' extension > +.*Warning: invalid CSR `vsiph', needs `ssaia' extension > .*Warning: invalid CSR `scountovf', needs `sscofpmf' extension > .*Warning: invalid CSR `scountovf', needs `sscofpmf' extension > .*Warning: read-only CSR is written `csrw scountovf,a1' > diff --git a/gas/testsuite/gas/riscv/csr-version-1p12.d b/gas/testsuite/g= as/riscv/csr-version-1p12.d > index 728e647c552..142f60c216c 100644 > --- a/gas/testsuite/gas/riscv/csr-version-1p12.d > +++ b/gas/testsuite/gas/riscv/csr-version-1p12.d > @@ -601,6 +601,46 @@ Disassembly of section .text: > [ ]+[0-9a-f]+:[ ]+24459073[ ]+csrw[ ]+vsip,a1 > [ ]+[0-9a-f]+:[ ]+28002573[ ]+csrr[ ]+a0,vsatp > [ ]+[0-9a-f]+:[ ]+28059073[ ]+csrw[ ]+vsatp,a1 > +[ ]+[0-9a-f]+:[ ]+35002573[ ]+csrr[ ]+a0,miselect > +[ ]+[0-9a-f]+:[ ]+35059073[ ]+csrw[ ]+miselect,a1 > +[ ]+[0-9a-f]+:[ ]+35102573[ ]+csrr[ ]+a0,mireg > +[ ]+[0-9a-f]+:[ ]+35159073[ ]+csrw[ ]+mireg,a1 > +[ ]+[0-9a-f]+:[ ]+35c02573[ ]+csrr[ ]+a0,mtopei > +[ ]+[0-9a-f]+:[ ]+35c59073[ ]+csrw[ ]+mtopei,a1 > +[ ]+[0-9a-f]+:[ ]+fb002573[ ]+csrr[ ]+a0,mtopi > +[ ]+[0-9a-f]+:[ ]+fb059073[ ]+csrw[ ]+mtopi,a1 > +[ ]+[0-9a-f]+:[ ]+30802573[ ]+csrr[ ]+a0,mvien > +[ ]+[0-9a-f]+:[ ]+30859073[ ]+csrw[ ]+mvien,a1 > +[ ]+[0-9a-f]+:[ ]+30902573[ ]+csrr[ ]+a0,mvip > +[ ]+[0-9a-f]+:[ ]+30959073[ ]+csrw[ ]+mvip,a1 > +[ ]+[0-9a-f]+:[ ]+31302573[ ]+csrr[ ]+a0,midelegh > +[ ]+[0-9a-f]+:[ ]+31359073[ ]+csrw[ ]+midelegh,a1 > +[ ]+[0-9a-f]+:[ ]+31402573[ ]+csrr[ ]+a0,mieh > +[ ]+[0-9a-f]+:[ ]+31459073[ ]+csrw[ ]+mieh,a1 > +[ ]+[0-9a-f]+:[ ]+31802573[ ]+csrr[ ]+a0,mvienh > +[ ]+[0-9a-f]+:[ ]+31859073[ ]+csrw[ ]+mvienh,a1 > +[ ]+[0-9a-f]+:[ ]+31902573[ ]+csrr[ ]+a0,mviph > +[ ]+[0-9a-f]+:[ ]+31959073[ ]+csrw[ ]+mviph,a1 > +[ ]+[0-9a-f]+:[ ]+35402573[ ]+csrr[ ]+a0,miph > +[ ]+[0-9a-f]+:[ ]+35459073[ ]+csrw[ ]+miph,a1 > +[ ]+[0-9a-f]+:[ ]+60802573[ ]+csrr[ ]+a0,hvien > +[ ]+[0-9a-f]+:[ ]+60859073[ ]+csrw[ ]+hvien,a1 > +[ ]+[0-9a-f]+:[ ]+60902573[ ]+csrr[ ]+a0,hvictl > +[ ]+[0-9a-f]+:[ ]+60959073[ ]+csrw[ ]+hvictl,a1 > +[ ]+[0-9a-f]+:[ ]+64602573[ ]+csrr[ ]+a0,hviprio1 > +[ ]+[0-9a-f]+:[ ]+64659073[ ]+csrw[ ]+hviprio1,a1 > +[ ]+[0-9a-f]+:[ ]+64702573[ ]+csrr[ ]+a0,hviprio2 > +[ ]+[0-9a-f]+:[ ]+64759073[ ]+csrw[ ]+hviprio2,a1 > +[ ]+[0-9a-f]+:[ ]+61302573[ ]+csrr[ ]+a0,hidelegh > +[ ]+[0-9a-f]+:[ ]+61359073[ ]+csrw[ ]+hidelegh,a1 > +[ ]+[0-9a-f]+:[ ]+61802573[ ]+csrr[ ]+a0,hvienh > +[ ]+[0-9a-f]+:[ ]+61859073[ ]+csrw[ ]+hvienh,a1 > +[ ]+[0-9a-f]+:[ ]+65502573[ ]+csrr[ ]+a0,hviph > +[ ]+[0-9a-f]+:[ ]+65559073[ ]+csrw[ ]+hviph,a1 > +[ ]+[0-9a-f]+:[ ]+65602573[ ]+csrr[ ]+a0,hviprio1h > +[ ]+[0-9a-f]+:[ ]+65659073[ ]+csrw[ ]+hviprio1h,a1 > +[ ]+[0-9a-f]+:[ ]+65702573[ ]+csrr[ ]+a0,hviprio2h > +[ ]+[0-9a-f]+:[ ]+65759073[ ]+csrw[ ]+hviprio2h,a1 > [ ]+[0-9a-f]+:[ ]+30c02573[ ]+csrr[ ]+a0,mstateen0 > [ ]+[0-9a-f]+:[ ]+30c59073[ ]+csrw[ ]+mstateen0,a1 > [ ]+[0-9a-f]+:[ ]+30d02573[ ]+csrr[ ]+a0,mstateen1 > @@ -641,6 +681,30 @@ Disassembly of section .text: > [ ]+[0-9a-f]+:[ ]+61e59073[ ]+csrw[ ]+hstateen2h,a1 > [ ]+[0-9a-f]+:[ ]+61f02573[ ]+csrr[ ]+a0,hstateen3h > [ ]+[0-9a-f]+:[ ]+61f59073[ ]+csrw[ ]+hstateen3h,a1 > +[ ]+[0-9a-f]+:[ ]+15002573[ ]+csrr[ ]+a0,siselect > +[ ]+[0-9a-f]+:[ ]+15059073[ ]+csrw[ ]+siselect,a1 > +[ ]+[0-9a-f]+:[ ]+15102573[ ]+csrr[ ]+a0,sireg > +[ ]+[0-9a-f]+:[ ]+15159073[ ]+csrw[ ]+sireg,a1 > +[ ]+[0-9a-f]+:[ ]+15c02573[ ]+csrr[ ]+a0,stopei > +[ ]+[0-9a-f]+:[ ]+15c59073[ ]+csrw[ ]+stopei,a1 > +[ ]+[0-9a-f]+:[ ]+db002573[ ]+csrr[ ]+a0,stopi > +[ ]+[0-9a-f]+:[ ]+db059073[ ]+csrw[ ]+stopi,a1 > +[ ]+[0-9a-f]+:[ ]+11402573[ ]+csrr[ ]+a0,sieh > +[ ]+[0-9a-f]+:[ ]+11459073[ ]+csrw[ ]+sieh,a1 > +[ ]+[0-9a-f]+:[ ]+15402573[ ]+csrr[ ]+a0,siph > +[ ]+[0-9a-f]+:[ ]+15459073[ ]+csrw[ ]+siph,a1 > +[ ]+[0-9a-f]+:[ ]+25002573[ ]+csrr[ ]+a0,vsiselect > +[ ]+[0-9a-f]+:[ ]+25059073[ ]+csrw[ ]+vsiselect,a1 > +[ ]+[0-9a-f]+:[ ]+25102573[ ]+csrr[ ]+a0,vsireg > +[ ]+[0-9a-f]+:[ ]+25159073[ ]+csrw[ ]+vsireg,a1 > +[ ]+[0-9a-f]+:[ ]+25c02573[ ]+csrr[ ]+a0,vstopei > +[ ]+[0-9a-f]+:[ ]+25c59073[ ]+csrw[ ]+vstopei,a1 > +[ ]+[0-9a-f]+:[ ]+eb002573[ ]+csrr[ ]+a0,vstopi > +[ ]+[0-9a-f]+:[ ]+eb059073[ ]+csrw[ ]+vstopi,a1 > +[ ]+[0-9a-f]+:[ ]+21402573[ ]+csrr[ ]+a0,vsieh > +[ ]+[0-9a-f]+:[ ]+21459073[ ]+csrw[ ]+vsieh,a1 > +[ ]+[0-9a-f]+:[ ]+25402573[ ]+csrr[ ]+a0,vsiph > +[ ]+[0-9a-f]+:[ ]+25459073[ ]+csrw[ ]+vsiph,a1 > [ ]+[0-9a-f]+:[ ]+da002573[ ]+csrr[ ]+a0,scountovf > [ ]+[0-9a-f]+:[ ]+da059073[ ]+csrw[ ]+scountovf,a1 > [ ]+[0-9a-f]+:[ ]+72302573[ ]+csrr[ ]+a0,mhpmevent3h > diff --git a/gas/testsuite/gas/riscv/csr-version-1p12.l b/gas/testsuite/g= as/riscv/csr-version-1p12.l > index cf8f2e25634..7b138244ee1 100644 > --- a/gas/testsuite/gas/riscv/csr-version-1p12.l > +++ b/gas/testsuite/gas/riscv/csr-version-1p12.l > @@ -271,6 +271,85 @@ > .*Warning: invalid CSR `vsip', needs `h' extension > .*Warning: invalid CSR `vsatp', needs `h' extension > .*Warning: invalid CSR `vsatp', needs `h' extension > +.*Warning: invalid CSR `miselect', needs `smaia' extension > +.*Warning: invalid CSR `miselect', needs `smaia' extension > +.*Warning: invalid CSR `mireg', needs `smaia' extension > +.*Warning: invalid CSR `mireg', needs `smaia' extension > +.*Warning: invalid CSR `mtopei', needs `smaia' extension > +.*Warning: invalid CSR `mtopei', needs `smaia' extension > +.*Warning: invalid CSR `mtopi', needs `smaia' extension > +.*Warning: invalid CSR `mtopi', needs `smaia' extension > +.*Warning: read-only CSR is written `csrw mtopi,a1' > +.*Warning: invalid CSR `mvien', needs `smaia' extension > +.*Warning: invalid CSR `mvien', needs `smaia' extension > +.*Warning: invalid CSR `mvip', needs `smaia' extension > +.*Warning: invalid CSR `mvip', needs `smaia' extension > +.*Warning: invalid CSR `midelegh', needs rv32i extension > +.*Warning: invalid CSR `midelegh', needs `smaia' extension > +.*Warning: invalid CSR `midelegh', needs rv32i extension > +.*Warning: invalid CSR `midelegh', needs `smaia' extension > +.*Warning: invalid CSR `mieh', needs rv32i extension > +.*Warning: invalid CSR `mieh', needs `smaia' extension > +.*Warning: invalid CSR `mieh', needs rv32i extension > +.*Warning: invalid CSR `mieh', needs `smaia' extension > +.*Warning: invalid CSR `mvienh', needs rv32i extension > +.*Warning: invalid CSR `mvienh', needs `smaia' extension > +.*Warning: invalid CSR `mvienh', needs rv32i extension > +.*Warning: invalid CSR `mvienh', needs `smaia' extension > +.*Warning: invalid CSR `mviph', needs rv32i extension > +.*Warning: invalid CSR `mviph', needs `smaia' extension > +.*Warning: invalid CSR `mviph', needs rv32i extension > +.*Warning: invalid CSR `mviph', needs `smaia' extension > +.*Warning: invalid CSR `miph', needs rv32i extension > +.*Warning: invalid CSR `miph', needs `smaia' extension > +.*Warning: invalid CSR `miph', needs rv32i extension > +.*Warning: invalid CSR `miph', needs `smaia' extension > +.*Warning: invalid CSR `hvien', needs `h' extension > +.*Warning: invalid CSR `hvien', needs `smaia' extension > +.*Warning: invalid CSR `hvien', needs `h' extension > +.*Warning: invalid CSR `hvien', needs `smaia' extension > +.*Warning: invalid CSR `hvictl', needs `h' extension > +.*Warning: invalid CSR `hvictl', needs `smaia' extension > +.*Warning: invalid CSR `hvictl', needs `h' extension > +.*Warning: invalid CSR `hvictl', needs `smaia' extension > +.*Warning: invalid CSR `hviprio1', needs `h' extension > +.*Warning: invalid CSR `hviprio1', needs `smaia' extension > +.*Warning: invalid CSR `hviprio1', needs `h' extension > +.*Warning: invalid CSR `hviprio1', needs `smaia' extension > +.*Warning: invalid CSR `hviprio2', needs `h' extension > +.*Warning: invalid CSR `hviprio2', needs `smaia' extension > +.*Warning: invalid CSR `hviprio2', needs `h' extension > +.*Warning: invalid CSR `hviprio2', needs `smaia' extension > +.*Warning: invalid CSR `hidelegh', needs rv32i extension > +.*Warning: invalid CSR `hidelegh', needs `h' extension > +.*Warning: invalid CSR `hidelegh', needs `smaia' extension > +.*Warning: invalid CSR `hidelegh', needs rv32i extension > +.*Warning: invalid CSR `hidelegh', needs `h' extension > +.*Warning: invalid CSR `hidelegh', needs `smaia' extension > +.*Warning: invalid CSR `hvienh', needs rv32i extension > +.*Warning: invalid CSR `hvienh', needs `h' extension > +.*Warning: invalid CSR `hvienh', needs `smaia' extension > +.*Warning: invalid CSR `hvienh', needs rv32i extension > +.*Warning: invalid CSR `hvienh', needs `h' extension > +.*Warning: invalid CSR `hvienh', needs `smaia' extension > +.*Warning: invalid CSR `hviph', needs rv32i extension > +.*Warning: invalid CSR `hviph', needs `h' extension > +.*Warning: invalid CSR `hviph', needs `smaia' extension > +.*Warning: invalid CSR `hviph', needs rv32i extension > +.*Warning: invalid CSR `hviph', needs `h' extension > +.*Warning: invalid CSR `hviph', needs `smaia' extension > +.*Warning: invalid CSR `hviprio1h', needs rv32i extension > +.*Warning: invalid CSR `hviprio1h', needs `h' extension > +.*Warning: invalid CSR `hviprio1h', needs `smaia' extension > +.*Warning: invalid CSR `hviprio1h', needs rv32i extension > +.*Warning: invalid CSR `hviprio1h', needs `h' extension > +.*Warning: invalid CSR `hviprio1h', needs `smaia' extension > +.*Warning: invalid CSR `hviprio2h', needs rv32i extension > +.*Warning: invalid CSR `hviprio2h', needs `h' extension > +.*Warning: invalid CSR `hviprio2h', needs `smaia' extension > +.*Warning: invalid CSR `hviprio2h', needs rv32i extension > +.*Warning: invalid CSR `hviprio2h', needs `h' extension > +.*Warning: invalid CSR `hviprio2h', needs `smaia' extension > .*Warning: invalid CSR `mstateen0', needs `smstateen' extension > .*Warning: invalid CSR `mstateen0', needs `smstateen' extension > .*Warning: invalid CSR `mstateen1', needs `smstateen' extension > @@ -343,6 +422,52 @@ > .*Warning: invalid CSR `hstateen3h', needs rv32i extension > .*Warning: invalid CSR `hstateen3h', needs `h' extension > .*Warning: invalid CSR `hstateen3h', needs `smstateen' extension > +.*Warning: invalid CSR `siselect', needs `ssaia' extension > +.*Warning: invalid CSR `siselect', needs `ssaia' extension > +.*Warning: invalid CSR `sireg', needs `ssaia' extension > +.*Warning: invalid CSR `sireg', needs `ssaia' extension > +.*Warning: invalid CSR `stopei', needs `ssaia' extension > +.*Warning: invalid CSR `stopei', needs `ssaia' extension > +.*Warning: invalid CSR `stopi', needs `ssaia' extension > +.*Warning: invalid CSR `stopi', needs `ssaia' extension > +.*Warning: read-only CSR is written `csrw stopi,a1' > +.*Warning: invalid CSR `sieh', needs rv32i extension > +.*Warning: invalid CSR `sieh', needs `ssaia' extension > +.*Warning: invalid CSR `sieh', needs rv32i extension > +.*Warning: invalid CSR `sieh', needs `ssaia' extension > +.*Warning: invalid CSR `siph', needs rv32i extension > +.*Warning: invalid CSR `siph', needs `ssaia' extension > +.*Warning: invalid CSR `siph', needs rv32i extension > +.*Warning: invalid CSR `siph', needs `ssaia' extension > +.*Warning: invalid CSR `vsiselect', needs `h' extension > +.*Warning: invalid CSR `vsiselect', needs `ssaia' extension > +.*Warning: invalid CSR `vsiselect', needs `h' extension > +.*Warning: invalid CSR `vsiselect', needs `ssaia' extension > +.*Warning: invalid CSR `vsireg', needs `h' extension > +.*Warning: invalid CSR `vsireg', needs `ssaia' extension > +.*Warning: invalid CSR `vsireg', needs `h' extension > +.*Warning: invalid CSR `vsireg', needs `ssaia' extension > +.*Warning: invalid CSR `vstopei', needs `h' extension > +.*Warning: invalid CSR `vstopei', needs `ssaia' extension > +.*Warning: invalid CSR `vstopei', needs `h' extension > +.*Warning: invalid CSR `vstopei', needs `ssaia' extension > +.*Warning: invalid CSR `vstopi', needs `h' extension > +.*Warning: invalid CSR `vstopi', needs `ssaia' extension > +.*Warning: invalid CSR `vstopi', needs `h' extension > +.*Warning: invalid CSR `vstopi', needs `ssaia' extension > +.*Warning: read-only CSR is written `csrw vstopi,a1' > +.*Warning: invalid CSR `vsieh', needs rv32i extension > +.*Warning: invalid CSR `vsieh', needs `h' extension > +.*Warning: invalid CSR `vsieh', needs `ssaia' extension > +.*Warning: invalid CSR `vsieh', needs rv32i extension > +.*Warning: invalid CSR `vsieh', needs `h' extension > +.*Warning: invalid CSR `vsieh', needs `ssaia' extension > +.*Warning: invalid CSR `vsiph', needs rv32i extension > +.*Warning: invalid CSR `vsiph', needs `h' extension > +.*Warning: invalid CSR `vsiph', needs `ssaia' extension > +.*Warning: invalid CSR `vsiph', needs rv32i extension > +.*Warning: invalid CSR `vsiph', needs `h' extension > +.*Warning: invalid CSR `vsiph', needs `ssaia' extension > .*Warning: invalid CSR `scountovf', needs `sscofpmf' extension > .*Warning: invalid CSR `scountovf', needs `sscofpmf' extension > .*Warning: read-only CSR is written `csrw scountovf,a1' > diff --git a/gas/testsuite/gas/riscv/csr-version-1p9p1.d b/gas/testsuite/= gas/riscv/csr-version-1p9p1.d > index a34b99f4632..fa843727e80 100644 > --- a/gas/testsuite/gas/riscv/csr-version-1p9p1.d > +++ b/gas/testsuite/gas/riscv/csr-version-1p9p1.d > @@ -601,6 +601,46 @@ Disassembly of section .text: > [ ]+[0-9a-f]+:[ ]+24459073[ ]+csrw[ ]+vsip,a1 > [ ]+[0-9a-f]+:[ ]+28002573[ ]+csrr[ ]+a0,vsatp > [ ]+[0-9a-f]+:[ ]+28059073[ ]+csrw[ ]+vsatp,a1 > +[ ]+[0-9a-f]+:[ ]+35002573[ ]+csrr[ ]+a0,miselect > +[ ]+[0-9a-f]+:[ ]+35059073[ ]+csrw[ ]+miselect,a1 > +[ ]+[0-9a-f]+:[ ]+35102573[ ]+csrr[ ]+a0,mireg > +[ ]+[0-9a-f]+:[ ]+35159073[ ]+csrw[ ]+mireg,a1 > +[ ]+[0-9a-f]+:[ ]+35c02573[ ]+csrr[ ]+a0,mtopei > +[ ]+[0-9a-f]+:[ ]+35c59073[ ]+csrw[ ]+mtopei,a1 > +[ ]+[0-9a-f]+:[ ]+fb002573[ ]+csrr[ ]+a0,mtopi > +[ ]+[0-9a-f]+:[ ]+fb059073[ ]+csrw[ ]+mtopi,a1 > +[ ]+[0-9a-f]+:[ ]+30802573[ ]+csrr[ ]+a0,mvien > +[ ]+[0-9a-f]+:[ ]+30859073[ ]+csrw[ ]+mvien,a1 > +[ ]+[0-9a-f]+:[ ]+30902573[ ]+csrr[ ]+a0,mvip > +[ ]+[0-9a-f]+:[ ]+30959073[ ]+csrw[ ]+mvip,a1 > +[ ]+[0-9a-f]+:[ ]+31302573[ ]+csrr[ ]+a0,midelegh > +[ ]+[0-9a-f]+:[ ]+31359073[ ]+csrw[ ]+midelegh,a1 > +[ ]+[0-9a-f]+:[ ]+31402573[ ]+csrr[ ]+a0,mieh > +[ ]+[0-9a-f]+:[ ]+31459073[ ]+csrw[ ]+mieh,a1 > +[ ]+[0-9a-f]+:[ ]+31802573[ ]+csrr[ ]+a0,mvienh > +[ ]+[0-9a-f]+:[ ]+31859073[ ]+csrw[ ]+mvienh,a1 > +[ ]+[0-9a-f]+:[ ]+31902573[ ]+csrr[ ]+a0,mviph > +[ ]+[0-9a-f]+:[ ]+31959073[ ]+csrw[ ]+mviph,a1 > +[ ]+[0-9a-f]+:[ ]+35402573[ ]+csrr[ ]+a0,miph > +[ ]+[0-9a-f]+:[ ]+35459073[ ]+csrw[ ]+miph,a1 > +[ ]+[0-9a-f]+:[ ]+60802573[ ]+csrr[ ]+a0,hvien > +[ ]+[0-9a-f]+:[ ]+60859073[ ]+csrw[ ]+hvien,a1 > +[ ]+[0-9a-f]+:[ ]+60902573[ ]+csrr[ ]+a0,hvictl > +[ ]+[0-9a-f]+:[ ]+60959073[ ]+csrw[ ]+hvictl,a1 > +[ ]+[0-9a-f]+:[ ]+64602573[ ]+csrr[ ]+a0,hviprio1 > +[ ]+[0-9a-f]+:[ ]+64659073[ ]+csrw[ ]+hviprio1,a1 > +[ ]+[0-9a-f]+:[ ]+64702573[ ]+csrr[ ]+a0,hviprio2 > +[ ]+[0-9a-f]+:[ ]+64759073[ ]+csrw[ ]+hviprio2,a1 > +[ ]+[0-9a-f]+:[ ]+61302573[ ]+csrr[ ]+a0,hidelegh > +[ ]+[0-9a-f]+:[ ]+61359073[ ]+csrw[ ]+hidelegh,a1 > +[ ]+[0-9a-f]+:[ ]+61802573[ ]+csrr[ ]+a0,hvienh > +[ ]+[0-9a-f]+:[ ]+61859073[ ]+csrw[ ]+hvienh,a1 > +[ ]+[0-9a-f]+:[ ]+65502573[ ]+csrr[ ]+a0,hviph > +[ ]+[0-9a-f]+:[ ]+65559073[ ]+csrw[ ]+hviph,a1 > +[ ]+[0-9a-f]+:[ ]+65602573[ ]+csrr[ ]+a0,hviprio1h > +[ ]+[0-9a-f]+:[ ]+65659073[ ]+csrw[ ]+hviprio1h,a1 > +[ ]+[0-9a-f]+:[ ]+65702573[ ]+csrr[ ]+a0,hviprio2h > +[ ]+[0-9a-f]+:[ ]+65759073[ ]+csrw[ ]+hviprio2h,a1 > [ ]+[0-9a-f]+:[ ]+30c02573[ ]+csrr[ ]+a0,mstateen0 > [ ]+[0-9a-f]+:[ ]+30c59073[ ]+csrw[ ]+mstateen0,a1 > [ ]+[0-9a-f]+:[ ]+30d02573[ ]+csrr[ ]+a0,mstateen1 > @@ -641,6 +681,30 @@ Disassembly of section .text: > [ ]+[0-9a-f]+:[ ]+61e59073[ ]+csrw[ ]+hstateen2h,a1 > [ ]+[0-9a-f]+:[ ]+61f02573[ ]+csrr[ ]+a0,hstateen3h > [ ]+[0-9a-f]+:[ ]+61f59073[ ]+csrw[ ]+hstateen3h,a1 > +[ ]+[0-9a-f]+:[ ]+15002573[ ]+csrr[ ]+a0,siselect > +[ ]+[0-9a-f]+:[ ]+15059073[ ]+csrw[ ]+siselect,a1 > +[ ]+[0-9a-f]+:[ ]+15102573[ ]+csrr[ ]+a0,sireg > +[ ]+[0-9a-f]+:[ ]+15159073[ ]+csrw[ ]+sireg,a1 > +[ ]+[0-9a-f]+:[ ]+15c02573[ ]+csrr[ ]+a0,stopei > +[ ]+[0-9a-f]+:[ ]+15c59073[ ]+csrw[ ]+stopei,a1 > +[ ]+[0-9a-f]+:[ ]+db002573[ ]+csrr[ ]+a0,stopi > +[ ]+[0-9a-f]+:[ ]+db059073[ ]+csrw[ ]+stopi,a1 > +[ ]+[0-9a-f]+:[ ]+11402573[ ]+csrr[ ]+a0,sieh > +[ ]+[0-9a-f]+:[ ]+11459073[ ]+csrw[ ]+sieh,a1 > +[ ]+[0-9a-f]+:[ ]+15402573[ ]+csrr[ ]+a0,siph > +[ ]+[0-9a-f]+:[ ]+15459073[ ]+csrw[ ]+siph,a1 > +[ ]+[0-9a-f]+:[ ]+25002573[ ]+csrr[ ]+a0,vsiselect > +[ ]+[0-9a-f]+:[ ]+25059073[ ]+csrw[ ]+vsiselect,a1 > +[ ]+[0-9a-f]+:[ ]+25102573[ ]+csrr[ ]+a0,vsireg > +[ ]+[0-9a-f]+:[ ]+25159073[ ]+csrw[ ]+vsireg,a1 > +[ ]+[0-9a-f]+:[ ]+25c02573[ ]+csrr[ ]+a0,vstopei > +[ ]+[0-9a-f]+:[ ]+25c59073[ ]+csrw[ ]+vstopei,a1 > +[ ]+[0-9a-f]+:[ ]+eb002573[ ]+csrr[ ]+a0,vstopi > +[ ]+[0-9a-f]+:[ ]+eb059073[ ]+csrw[ ]+vstopi,a1 > +[ ]+[0-9a-f]+:[ ]+21402573[ ]+csrr[ ]+a0,vsieh > +[ ]+[0-9a-f]+:[ ]+21459073[ ]+csrw[ ]+vsieh,a1 > +[ ]+[0-9a-f]+:[ ]+25402573[ ]+csrr[ ]+a0,vsiph > +[ ]+[0-9a-f]+:[ ]+25459073[ ]+csrw[ ]+vsiph,a1 > [ ]+[0-9a-f]+:[ ]+da002573[ ]+csrr[ ]+a0,scountovf > [ ]+[0-9a-f]+:[ ]+da059073[ ]+csrw[ ]+scountovf,a1 > [ ]+[0-9a-f]+:[ ]+72302573[ ]+csrr[ ]+a0,mhpmevent3h > diff --git a/gas/testsuite/gas/riscv/csr-version-1p9p1.l b/gas/testsuite/= gas/riscv/csr-version-1p9p1.l > index 5f298c1dda9..e63719ec066 100644 > --- a/gas/testsuite/gas/riscv/csr-version-1p9p1.l > +++ b/gas/testsuite/gas/riscv/csr-version-1p9p1.l > @@ -461,6 +461,85 @@ > .*Warning: invalid CSR `vsip', needs `h' extension > .*Warning: invalid CSR `vsatp', needs `h' extension > .*Warning: invalid CSR `vsatp', needs `h' extension > +.*Warning: invalid CSR `miselect', needs `smaia' extension > +.*Warning: invalid CSR `miselect', needs `smaia' extension > +.*Warning: invalid CSR `mireg', needs `smaia' extension > +.*Warning: invalid CSR `mireg', needs `smaia' extension > +.*Warning: invalid CSR `mtopei', needs `smaia' extension > +.*Warning: invalid CSR `mtopei', needs `smaia' extension > +.*Warning: invalid CSR `mtopi', needs `smaia' extension > +.*Warning: invalid CSR `mtopi', needs `smaia' extension > +.*Warning: read-only CSR is written `csrw mtopi,a1' > +.*Warning: invalid CSR `mvien', needs `smaia' extension > +.*Warning: invalid CSR `mvien', needs `smaia' extension > +.*Warning: invalid CSR `mvip', needs `smaia' extension > +.*Warning: invalid CSR `mvip', needs `smaia' extension > +.*Warning: invalid CSR `midelegh', needs rv32i extension > +.*Warning: invalid CSR `midelegh', needs `smaia' extension > +.*Warning: invalid CSR `midelegh', needs rv32i extension > +.*Warning: invalid CSR `midelegh', needs `smaia' extension > +.*Warning: invalid CSR `mieh', needs rv32i extension > +.*Warning: invalid CSR `mieh', needs `smaia' extension > +.*Warning: invalid CSR `mieh', needs rv32i extension > +.*Warning: invalid CSR `mieh', needs `smaia' extension > +.*Warning: invalid CSR `mvienh', needs rv32i extension > +.*Warning: invalid CSR `mvienh', needs `smaia' extension > +.*Warning: invalid CSR `mvienh', needs rv32i extension > +.*Warning: invalid CSR `mvienh', needs `smaia' extension > +.*Warning: invalid CSR `mviph', needs rv32i extension > +.*Warning: invalid CSR `mviph', needs `smaia' extension > +.*Warning: invalid CSR `mviph', needs rv32i extension > +.*Warning: invalid CSR `mviph', needs `smaia' extension > +.*Warning: invalid CSR `miph', needs rv32i extension > +.*Warning: invalid CSR `miph', needs `smaia' extension > +.*Warning: invalid CSR `miph', needs rv32i extension > +.*Warning: invalid CSR `miph', needs `smaia' extension > +.*Warning: invalid CSR `hvien', needs `h' extension > +.*Warning: invalid CSR `hvien', needs `smaia' extension > +.*Warning: invalid CSR `hvien', needs `h' extension > +.*Warning: invalid CSR `hvien', needs `smaia' extension > +.*Warning: invalid CSR `hvictl', needs `h' extension > +.*Warning: invalid CSR `hvictl', needs `smaia' extension > +.*Warning: invalid CSR `hvictl', needs `h' extension > +.*Warning: invalid CSR `hvictl', needs `smaia' extension > +.*Warning: invalid CSR `hviprio1', needs `h' extension > +.*Warning: invalid CSR `hviprio1', needs `smaia' extension > +.*Warning: invalid CSR `hviprio1', needs `h' extension > +.*Warning: invalid CSR `hviprio1', needs `smaia' extension > +.*Warning: invalid CSR `hviprio2', needs `h' extension > +.*Warning: invalid CSR `hviprio2', needs `smaia' extension > +.*Warning: invalid CSR `hviprio2', needs `h' extension > +.*Warning: invalid CSR `hviprio2', needs `smaia' extension > +.*Warning: invalid CSR `hidelegh', needs rv32i extension > +.*Warning: invalid CSR `hidelegh', needs `h' extension > +.*Warning: invalid CSR `hidelegh', needs `smaia' extension > +.*Warning: invalid CSR `hidelegh', needs rv32i extension > +.*Warning: invalid CSR `hidelegh', needs `h' extension > +.*Warning: invalid CSR `hidelegh', needs `smaia' extension > +.*Warning: invalid CSR `hvienh', needs rv32i extension > +.*Warning: invalid CSR `hvienh', needs `h' extension > +.*Warning: invalid CSR `hvienh', needs `smaia' extension > +.*Warning: invalid CSR `hvienh', needs rv32i extension > +.*Warning: invalid CSR `hvienh', needs `h' extension > +.*Warning: invalid CSR `hvienh', needs `smaia' extension > +.*Warning: invalid CSR `hviph', needs rv32i extension > +.*Warning: invalid CSR `hviph', needs `h' extension > +.*Warning: invalid CSR `hviph', needs `smaia' extension > +.*Warning: invalid CSR `hviph', needs rv32i extension > +.*Warning: invalid CSR `hviph', needs `h' extension > +.*Warning: invalid CSR `hviph', needs `smaia' extension > +.*Warning: invalid CSR `hviprio1h', needs rv32i extension > +.*Warning: invalid CSR `hviprio1h', needs `h' extension > +.*Warning: invalid CSR `hviprio1h', needs `smaia' extension > +.*Warning: invalid CSR `hviprio1h', needs rv32i extension > +.*Warning: invalid CSR `hviprio1h', needs `h' extension > +.*Warning: invalid CSR `hviprio1h', needs `smaia' extension > +.*Warning: invalid CSR `hviprio2h', needs rv32i extension > +.*Warning: invalid CSR `hviprio2h', needs `h' extension > +.*Warning: invalid CSR `hviprio2h', needs `smaia' extension > +.*Warning: invalid CSR `hviprio2h', needs rv32i extension > +.*Warning: invalid CSR `hviprio2h', needs `h' extension > +.*Warning: invalid CSR `hviprio2h', needs `smaia' extension > .*Warning: invalid CSR `mstateen0', needs `smstateen' extension > .*Warning: invalid CSR `mstateen0', needs `smstateen' extension > .*Warning: invalid CSR `mstateen1', needs `smstateen' extension > @@ -533,6 +612,52 @@ > .*Warning: invalid CSR `hstateen3h', needs rv32i extension > .*Warning: invalid CSR `hstateen3h', needs `h' extension > .*Warning: invalid CSR `hstateen3h', needs `smstateen' extension > +.*Warning: invalid CSR `siselect', needs `ssaia' extension > +.*Warning: invalid CSR `siselect', needs `ssaia' extension > +.*Warning: invalid CSR `sireg', needs `ssaia' extension > +.*Warning: invalid CSR `sireg', needs `ssaia' extension > +.*Warning: invalid CSR `stopei', needs `ssaia' extension > +.*Warning: invalid CSR `stopei', needs `ssaia' extension > +.*Warning: invalid CSR `stopi', needs `ssaia' extension > +.*Warning: invalid CSR `stopi', needs `ssaia' extension > +.*Warning: read-only CSR is written `csrw stopi,a1' > +.*Warning: invalid CSR `sieh', needs rv32i extension > +.*Warning: invalid CSR `sieh', needs `ssaia' extension > +.*Warning: invalid CSR `sieh', needs rv32i extension > +.*Warning: invalid CSR `sieh', needs `ssaia' extension > +.*Warning: invalid CSR `siph', needs rv32i extension > +.*Warning: invalid CSR `siph', needs `ssaia' extension > +.*Warning: invalid CSR `siph', needs rv32i extension > +.*Warning: invalid CSR `siph', needs `ssaia' extension > +.*Warning: invalid CSR `vsiselect', needs `h' extension > +.*Warning: invalid CSR `vsiselect', needs `ssaia' extension > +.*Warning: invalid CSR `vsiselect', needs `h' extension > +.*Warning: invalid CSR `vsiselect', needs `ssaia' extension > +.*Warning: invalid CSR `vsireg', needs `h' extension > +.*Warning: invalid CSR `vsireg', needs `ssaia' extension > +.*Warning: invalid CSR `vsireg', needs `h' extension > +.*Warning: invalid CSR `vsireg', needs `ssaia' extension > +.*Warning: invalid CSR `vstopei', needs `h' extension > +.*Warning: invalid CSR `vstopei', needs `ssaia' extension > +.*Warning: invalid CSR `vstopei', needs `h' extension > +.*Warning: invalid CSR `vstopei', needs `ssaia' extension > +.*Warning: invalid CSR `vstopi', needs `h' extension > +.*Warning: invalid CSR `vstopi', needs `ssaia' extension > +.*Warning: invalid CSR `vstopi', needs `h' extension > +.*Warning: invalid CSR `vstopi', needs `ssaia' extension > +.*Warning: read-only CSR is written `csrw vstopi,a1' > +.*Warning: invalid CSR `vsieh', needs rv32i extension > +.*Warning: invalid CSR `vsieh', needs `h' extension > +.*Warning: invalid CSR `vsieh', needs `ssaia' extension > +.*Warning: invalid CSR `vsieh', needs rv32i extension > +.*Warning: invalid CSR `vsieh', needs `h' extension > +.*Warning: invalid CSR `vsieh', needs `ssaia' extension > +.*Warning: invalid CSR `vsiph', needs rv32i extension > +.*Warning: invalid CSR `vsiph', needs `h' extension > +.*Warning: invalid CSR `vsiph', needs `ssaia' extension > +.*Warning: invalid CSR `vsiph', needs rv32i extension > +.*Warning: invalid CSR `vsiph', needs `h' extension > +.*Warning: invalid CSR `vsiph', needs `ssaia' extension > .*Warning: invalid CSR `scountovf', needs `sscofpmf' extension > .*Warning: invalid CSR `scountovf', needs `sscofpmf' extension > .*Warning: read-only CSR is written `csrw scountovf,a1' > diff --git a/gas/testsuite/gas/riscv/csr.s b/gas/testsuite/gas/riscv/csr.= s > index 128aeb83a04..21939b20a6d 100644 > --- a/gas/testsuite/gas/riscv/csr.s > +++ b/gas/testsuite/gas/riscv/csr.s > @@ -337,6 +337,28 @@ > csr vsip > csr vsatp > > + # Smaia > + csr miselect > + csr mireg > + csr mtopei > + csr mtopi > + csr mvien > + csr mvip > + csr midelegh > + csr mieh > + csr mvienh > + csr mviph > + csr miph > + csr hvien > + csr hvictl > + csr hviprio1 > + csr hviprio2 > + csr hidelegh > + csr hvienh > + csr hviph > + csr hviprio1h > + csr hviprio2h > + > # Smstateen extension > csr mstateen0 > csr mstateen1 > @@ -359,6 +381,20 @@ > csr hstateen2h > csr hstateen3h > > + # Ssaia > + csr siselect > + csr sireg > + csr stopei > + csr stopi > + csr sieh > + csr siph > + csr vsiselect > + csr vsireg > + csr vstopei > + csr vstopi > + csr vsieh > + csr vsiph > + > # Sscofpmf extension > csr scountovf > csr mhpmevent3h > diff --git a/include/opcode/riscv-opc.h b/include/opcode/riscv-opc.h > index f36b06dcd6b..8beed0b1b42 100644 > --- a/include/opcode/riscv-opc.h > +++ b/include/opcode/riscv-opc.h > @@ -2661,6 +2661,27 @@ > #define CSR_UIP 0x44 > #define CSR_SEDELEG 0x102 > #define CSR_SIDELEG 0x103 > +/* Smaia extension */ > +#define CSR_MISELECT 0x350 > +#define CSR_MIREG 0x351 > +#define CSR_MTOPEI 0x35c > +#define CSR_MTOPI 0xfb0 > +#define CSR_MVIEN 0x308 > +#define CSR_MVIP 0x309 > +#define CSR_MIDELEGH 0x313 > +#define CSR_MIEH 0x314 > +#define CSR_MVIENH 0x318 > +#define CSR_MVIPH 0x319 > +#define CSR_MIPH 0x354 > +#define CSR_HVIEN 0x608 > +#define CSR_HVICTL 0x609 > +#define CSR_HVIPRIO1 0x646 > +#define CSR_HVIPRIO2 0x647 > +#define CSR_HIDELEGH 0x613 > +#define CSR_HVIENH 0x618 > +#define CSR_HVIPH 0x655 > +#define CSR_HVIPRIO1H 0x656 > +#define CSR_HVIPRIO2H 0x657 > /* Smstateen extension */ > #define CSR_MSTATEEN0 0x30c > #define CSR_MSTATEEN1 0x30d > @@ -2682,6 +2703,19 @@ > #define CSR_HSTATEEN1H 0x61d > #define CSR_HSTATEEN2H 0x61e > #define CSR_HSTATEEN3H 0x61f > +/* Ssaia extension */ > +#define CSR_SISELECT 0x150 > +#define CSR_SIREG 0x151 > +#define CSR_STOPEI 0x15c > +#define CSR_STOPI 0xdb0 > +#define CSR_SIEH 0x114 > +#define CSR_SIPH 0x154 > +#define CSR_VSISELECT 0x250 > +#define CSR_VSIREG 0x251 > +#define CSR_VSTOPEI 0x25c > +#define CSR_VSTOPI 0xeb0 > +#define CSR_VSIEH 0x214 > +#define CSR_VSIPH 0x254 > /* Sscofpmf extension */ > #define CSR_SCOUNTOVF 0xda0 > #define CSR_MHPMEVENT3H 0x723 > @@ -3504,6 +3538,27 @@ DECLARE_CSR(vscause, CSR_VSCAUSE, CSR_CLASS_H, PRI= V_SPEC_CLASS_NONE, PRIV_SPEC_C > DECLARE_CSR(vstval, CSR_VSTVAL, CSR_CLASS_H, PRIV_SPEC_CLASS_NONE, PRIV_= SPEC_CLASS_NONE) > DECLARE_CSR(vsip, CSR_VSIP, CSR_CLASS_H, PRIV_SPEC_CLASS_NONE, PRIV_SPEC= _CLASS_NONE) > DECLARE_CSR(vsatp, CSR_VSATP, CSR_CLASS_H, PRIV_SPEC_CLASS_NONE, PRIV_SP= EC_CLASS_NONE) > +/* Smaia extension */ > +DECLARE_CSR(miselect, CSR_MISELECT, CSR_CLASS_SMAIA, PRIV_SPEC_CLASS_NON= E, PRIV_SPEC_CLASS_NONE) > +DECLARE_CSR(mireg, CSR_MIREG, CSR_CLASS_SMAIA, PRIV_SPEC_CLASS_NONE, PRI= V_SPEC_CLASS_NONE) > +DECLARE_CSR(mtopei, CSR_MTOPEI, CSR_CLASS_SMAIA, PRIV_SPEC_CLASS_NONE, P= RIV_SPEC_CLASS_NONE) > +DECLARE_CSR(mtopi, CSR_MTOPI, CSR_CLASS_SMAIA, PRIV_SPEC_CLASS_NONE, PRI= V_SPEC_CLASS_NONE) > +DECLARE_CSR(mvien, CSR_MVIEN, CSR_CLASS_SMAIA, PRIV_SPEC_CLASS_NONE, PRI= V_SPEC_CLASS_NONE) > +DECLARE_CSR(mvip, CSR_MVIP, CSR_CLASS_SMAIA, PRIV_SPEC_CLASS_NONE, PRIV_= SPEC_CLASS_NONE) > +DECLARE_CSR(midelegh, CSR_MIDELEGH, CSR_CLASS_SMAIA_32, PRIV_SPEC_CLASS_= NONE, PRIV_SPEC_CLASS_NONE) > +DECLARE_CSR(mieh, CSR_MIEH, CSR_CLASS_SMAIA_32, PRIV_SPEC_CLASS_NONE, PR= IV_SPEC_CLASS_NONE) > +DECLARE_CSR(mvienh, CSR_MVIENH, CSR_CLASS_SMAIA_32, PRIV_SPEC_CLASS_NONE= , PRIV_SPEC_CLASS_NONE) > +DECLARE_CSR(mviph, CSR_MVIPH, CSR_CLASS_SMAIA_32, PRIV_SPEC_CLASS_NONE, = PRIV_SPEC_CLASS_NONE) > +DECLARE_CSR(miph, CSR_MIPH, CSR_CLASS_SMAIA_32, PRIV_SPEC_CLASS_NONE, PR= IV_SPEC_CLASS_NONE) > +DECLARE_CSR(hvien, CSR_HVIEN, CSR_CLASS_SMAIA_AND_H, PRIV_SPEC_CLASS_NON= E, PRIV_SPEC_CLASS_NONE) > +DECLARE_CSR(hvictl, CSR_HVICTL, CSR_CLASS_SMAIA_AND_H, PRIV_SPEC_CLASS_N= ONE, PRIV_SPEC_CLASS_NONE) > +DECLARE_CSR(hviprio1, CSR_HVIPRIO1, CSR_CLASS_SMAIA_AND_H, PRIV_SPEC_CLA= SS_NONE, PRIV_SPEC_CLASS_NONE) > +DECLARE_CSR(hviprio2, CSR_HVIPRIO2, CSR_CLASS_SMAIA_AND_H, PRIV_SPEC_CLA= SS_NONE, PRIV_SPEC_CLASS_NONE) > +DECLARE_CSR(hidelegh, CSR_HIDELEGH, CSR_CLASS_SMAIA_AND_H_32, PRIV_SPEC_= CLASS_NONE, PRIV_SPEC_CLASS_NONE) > +DECLARE_CSR(hvienh, CSR_HVIENH, CSR_CLASS_SMAIA_AND_H_32, PRIV_SPEC_CLAS= S_NONE, PRIV_SPEC_CLASS_NONE) > +DECLARE_CSR(hviph, CSR_HVIPH, CSR_CLASS_SMAIA_AND_H_32, PRIV_SPEC_CLASS_= NONE, PRIV_SPEC_CLASS_NONE) > +DECLARE_CSR(hviprio1h, CSR_HVIPRIO1H, CSR_CLASS_SMAIA_AND_H_32, PRIV_SPE= C_CLASS_NONE, PRIV_SPEC_CLASS_NONE) > +DECLARE_CSR(hviprio2h, CSR_HVIPRIO2H, CSR_CLASS_SMAIA_AND_H_32, PRIV_SPE= C_CLASS_NONE, PRIV_SPEC_CLASS_NONE) Just curious does the spec clarify these belonged to smaia? or should these just belonged to h? > /* Smstateen extension */ > DECLARE_CSR(mstateen0, CSR_MSTATEEN0, CSR_CLASS_SMSTATEEN, PRIV_SPEC_CLA= SS_NONE, PRIV_SPEC_CLASS_NONE) > DECLARE_CSR(mstateen1, CSR_MSTATEEN1, CSR_CLASS_SMSTATEEN, PRIV_SPEC_CLA= SS_NONE, PRIV_SPEC_CLASS_NONE) > @@ -3525,6 +3580,19 @@ DECLARE_CSR(hstateen0h, CSR_HSTATEEN0H, CSR_CLASS_= SMSTATEEN_AND_H_32, PRIV_SPEC_ > DECLARE_CSR(hstateen1h, CSR_HSTATEEN1H, CSR_CLASS_SMSTATEEN_AND_H_32, PR= IV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) > DECLARE_CSR(hstateen2h, CSR_HSTATEEN2H, CSR_CLASS_SMSTATEEN_AND_H_32, PR= IV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) > DECLARE_CSR(hstateen3h, CSR_HSTATEEN3H, CSR_CLASS_SMSTATEEN_AND_H_32, PR= IV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) > +/* Ssaia extension */ > +DECLARE_CSR(siselect, CSR_SISELECT, CSR_CLASS_SSAIA, PRIV_SPEC_CLASS_NON= E, PRIV_SPEC_CLASS_NONE) > +DECLARE_CSR(sireg, CSR_SIREG, CSR_CLASS_SSAIA, PRIV_SPEC_CLASS_NONE, PRI= V_SPEC_CLASS_NONE) > +DECLARE_CSR(stopei, CSR_STOPEI, CSR_CLASS_SSAIA, PRIV_SPEC_CLASS_NONE, P= RIV_SPEC_CLASS_NONE) > +DECLARE_CSR(stopi, CSR_STOPI, CSR_CLASS_SSAIA, PRIV_SPEC_CLASS_NONE, PRI= V_SPEC_CLASS_NONE) > +DECLARE_CSR(sieh, CSR_SIEH, CSR_CLASS_SSAIA_32, PRIV_SPEC_CLASS_NONE, PR= IV_SPEC_CLASS_NONE) > +DECLARE_CSR(siph, CSR_SIPH, CSR_CLASS_SSAIA_32, PRIV_SPEC_CLASS_NONE, PR= IV_SPEC_CLASS_NONE) > +DECLARE_CSR(vsiselect, CSR_VSISELECT, CSR_CLASS_SSAIA_AND_H, PRIV_SPEC_C= LASS_NONE, PRIV_SPEC_CLASS_NONE) > +DECLARE_CSR(vsireg, CSR_VSIREG, CSR_CLASS_SSAIA_AND_H, PRIV_SPEC_CLASS_N= ONE, PRIV_SPEC_CLASS_NONE) > +DECLARE_CSR(vstopei, CSR_VSTOPEI, CSR_CLASS_SSAIA_AND_H, PRIV_SPEC_CLASS= _NONE, PRIV_SPEC_CLASS_NONE) > +DECLARE_CSR(vstopi, CSR_VSTOPI, CSR_CLASS_SSAIA_AND_H, PRIV_SPEC_CLASS_N= ONE, PRIV_SPEC_CLASS_NONE) > +DECLARE_CSR(vsieh, CSR_VSIEH, CSR_CLASS_SSAIA_AND_H_32, PRIV_SPEC_CLASS_= NONE, PRIV_SPEC_CLASS_NONE) > +DECLARE_CSR(vsiph, CSR_VSIPH, CSR_CLASS_SSAIA_AND_H_32, PRIV_SPEC_CLASS_= NONE, PRIV_SPEC_CLASS_NONE) Similar, should these belonged to only h? or ssaia + h? Thanks Nelson > /* Sscofpmf extension */ > DECLARE_CSR(scountovf, CSR_SCOUNTOVF, CSR_CLASS_SSCOFPMF, PRIV_SPEC_CLAS= S_NONE, PRIV_SPEC_CLASS_NONE) > DECLARE_CSR(mhpmevent3h, CSR_MHPMEVENT3H, CSR_CLASS_SSCOFPMF_32, PRIV_SP= EC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) > -- > 2.38.1 >