All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Alex Bennée" <alex.bennee@linaro.org>
To: Richard Henderson <richard.henderson@linaro.org>
Cc: qemu-devel@nongnu.org,  qemu-arm@nongnu.org
Subject: Re: [PATCH v6 01/64] target/arm: Implement ID_AA64ISAR3
Date: Thu, 21 May 2026 16:22:21 +0100	[thread overview]
Message-ID: <874ik0okia.fsf@draig.linaro.org> (raw)
In-Reply-To: <20260520182213.872945-2-richard.henderson@linaro.org> (Richard Henderson's message of "Wed, 20 May 2026 11:21:10 -0700")

Richard Henderson <richard.henderson@linaro.org> writes:

> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
> ---
>  target/arm/cpu-features.h    | 9 +++++++++
>  target/arm/helper.c          | 8 ++++++--
>  target/arm/cpu-sysregs.h.inc | 1 +
>  3 files changed, 16 insertions(+), 2 deletions(-)
>
> diff --git a/target/arm/cpu-features.h b/target/arm/cpu-features.h
> index 4e44245a8b..50776347a5 100644
> --- a/target/arm/cpu-features.h
> +++ b/target/arm/cpu-features.h
> @@ -244,6 +244,15 @@ FIELD(ID_AA64ISAR2, CSSC, 52, 4)
>  FIELD(ID_AA64ISAR2, LUT, 56, 4)
>  FIELD(ID_AA64ISAR2, ATS1A, 60, 4)
>  
> +FIELD(ID_AA64ISAR3, CPA, 0, 4)
> +FIELD(ID_AA64ISAR3, FAMINMAX, 4, 4)
> +FIELD(ID_AA64ISAR3, TLBIW, 8, 4)
> +FIELD(ID_AA64ISAR3, PACM, 12, 4)
> +FIELD(ID_AA64ISAR3, LSFE, 16, 4)
> +FIELD(ID_AA64ISAR3, OCCMO, 20, 4)
> +FIELD(ID_AA64ISAR3, LSUI, 24, 4)
> +FIELD(ID_AA64ISAR3, FPRCVT, 28, 4)
> +
>  FIELD(ID_AA64PFR0, EL0, 0, 4)
>  FIELD(ID_AA64PFR0, EL1, 4, 4)
>  FIELD(ID_AA64PFR0, EL2, 8, 4)
> diff --git a/target/arm/helper.c b/target/arm/helper.c
> index 8240f1b384..6ad01b345f 100644
> --- a/target/arm/helper.c
> +++ b/target/arm/helper.c
> @@ -6519,11 +6519,11 @@ void register_cp_regs_for_features(ARMCPU *cpu)
>                .access = PL1_R, .type = ARM_CP_CONST,
>                .accessfn = access_tid3,
>                .resetvalue = GET_IDREG(isar, ID_AA64ISAR2)},
> -            { .name = "ID_AA64ISAR3_EL1_RESERVED", .state = ARM_CP_STATE_AA64,
> +            { .name = "ID_AA64ISAR3_EL1", .state = ARM_CP_STATE_AA64,
>                .opc0 = 3, .opc1 = 0, .crn = 0, .crm = 6, .opc2 = 3,
>                .access = PL1_R, .type = ARM_CP_CONST,
>                .accessfn = access_tid3,
> -              .resetvalue = 0 },
> +              .resetvalue = GET_IDREG(isar, ID_AA64ISAR3) },
>              { .name = "ID_AA64ISAR4_EL1_RESERVED", .state = ARM_CP_STATE_AA64,
>                .opc0 = 3, .opc1 = 0, .crn = 0, .crm = 6, .opc2 = 4,
>                .access = PL1_R, .type = ARM_CP_CONST,
> @@ -6752,6 +6752,10 @@ void register_cp_regs_for_features(ARMCPU *cpu)
>                                 R_ID_AA64ISAR2_BC_MASK |
>                                 R_ID_AA64ISAR2_RPRFM_MASK |
>                                 R_ID_AA64ISAR2_CSSC_MASK },
> +            { .name = "ID_AA64ISAR3_EL1",
> +              .exported_bits = R_ID_AA64ISAR3_FAMINMAX_MASK |
> +                               R_ID_AA64ISAR3_LSFE_MASK |
> +                               R_ID_AA64ISAR3_FPRCVT_MASK },

With this definition should we also add it to arm_clear_aarch64_idregs()
which clears the other ISARs with aarch64=off?

>              { .name = "ID_AA64ISAR*_EL1_RESERVED",
>                .is_glob = true },
>          };
> diff --git a/target/arm/cpu-sysregs.h.inc b/target/arm/cpu-sysregs.h.inc
> index 3d1ed40f04..b99579f773 100644
> --- a/target/arm/cpu-sysregs.h.inc
> +++ b/target/arm/cpu-sysregs.h.inc
> @@ -10,6 +10,7 @@ DEF(ID_AA64AFR1_EL1, 3, 0, 0, 5, 5)
>  DEF(ID_AA64ISAR0_EL1, 3, 0, 0, 6, 0)
>  DEF(ID_AA64ISAR1_EL1, 3, 0, 0, 6, 1)
>  DEF(ID_AA64ISAR2_EL1, 3, 0, 0, 6, 2)
> +DEF(ID_AA64ISAR3_EL1, 3, 0, 0, 6, 3)
>  DEF(ID_AA64MMFR0_EL1, 3, 0, 0, 7, 0)
>  DEF(ID_AA64MMFR1_EL1, 3, 0, 0, 7, 1)
>  DEF(ID_AA64MMFR2_EL1, 3, 0, 0, 7, 2)

-- 
Alex Bennée
Virtualisation Tech Lead @ Linaro


  parent reply	other threads:[~2026-05-21 15:33 UTC|newest]

Thread overview: 105+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-05-20 18:21 [PATCH v6 00/64] target/arm: Implement FEAT_FP8 Richard Henderson
2026-05-20 18:21 ` [PATCH v6 01/64] target/arm: Implement ID_AA64ISAR3 Richard Henderson
2026-05-21 13:36   ` Peter Maydell
2026-05-21 15:22   ` Alex Bennée [this message]
2026-05-21 15:45     ` Peter Maydell
2026-05-22 18:31     ` Richard Henderson
2026-05-20 18:21 ` [PATCH v6 02/64] target/arm: Implement FEAT_FAMINMAX for AdvSIMD Richard Henderson
2026-05-21  8:25   ` Peter Maydell
2026-05-22 18:34     ` Richard Henderson
2026-05-20 18:21 ` [PATCH v6 03/64] target/arm: Implement FEAT_FAMINMAX for SME Richard Henderson
2026-05-21 13:45   ` Peter Maydell
2026-05-20 18:21 ` [PATCH v6 04/64] target/arm: Implement FEAT_FAMINMAX for SVE Richard Henderson
2026-05-21 13:56   ` Peter Maydell
2026-05-22 18:54     ` Richard Henderson
2026-05-20 18:21 ` [PATCH v6 05/64] target/arm: Enable FEAT_FAMINMAX for -cpu max Richard Henderson
2026-05-21 13:57   ` Peter Maydell
2026-05-20 18:21 ` [PATCH v6 06/64] target/arm: Update SCR bits for Arm ARM M.a.a Richard Henderson
2026-05-21 14:03   ` Peter Maydell
2026-05-20 18:21 ` [PATCH v6 07/64] target/arm: Update HCRX " Richard Henderson
2026-05-21 14:05   ` Peter Maydell
2026-05-20 18:21 ` [PATCH v6 08/64] target/arm: Introduce FPMR Richard Henderson
2026-05-21 14:12   ` Peter Maydell
2026-05-20 18:21 ` [PATCH v6 09/64] target/arm: Update SCTLR bits for FEAT_FPMR Richard Henderson
2026-05-21 14:11   ` Peter Maydell
2026-05-20 18:21 ` [PATCH v6 10/64] target/arm: Enable EnFPM " Richard Henderson
2026-05-21 14:15   ` Peter Maydell
2026-05-22 19:01     ` Richard Henderson
2026-05-20 18:21 ` [PATCH v6 11/64] target/arm: Clear FPMR on ResetSVEState Richard Henderson
2026-05-21 14:17   ` Peter Maydell
2026-05-20 18:21 ` [PATCH v6 12/64] target/arm: Add FPMR_EL to TBFLAGS Richard Henderson
2026-05-21 14:38   ` Peter Maydell
2026-05-20 18:21 ` [PATCH v6 13/64] target/arm: Trap direct acceses to FPMR Richard Henderson
2026-05-21 14:30   ` Peter Maydell
2026-05-20 18:21 ` [PATCH v6 14/64] tests/functional/aarch64/rme: update images to support FEAT_FP8 Richard Henderson
2026-05-21 14:39   ` Peter Maydell
2026-05-20 18:21 ` [PATCH v6 15/64] target/arm: Dump FPMR when present Richard Henderson
2026-05-21 14:23   ` Peter Maydell
2026-05-20 18:21 ` [PATCH v6 16/64] target/arm: Enable FEAT_FPMR for -cpu max Richard Henderson
2026-05-21 14:24   ` Peter Maydell
2026-05-20 18:21 ` [PATCH v6 17/64] target/arm: Implement ID_AA64FPFR0 Richard Henderson
2026-05-21 14:44   ` Peter Maydell
2026-05-20 18:21 ` [PATCH v6 18/64] target/arm: Add isar_feature_aa64_f8cvt Richard Henderson
2026-05-21 14:44   ` Peter Maydell
2026-05-20 18:21 ` [PATCH v6 19/64] target/arm: Implement FSCALE for AdvSIMD Richard Henderson
2026-05-21 15:30   ` Peter Maydell
2026-05-21 15:35   ` Peter Maydell
2026-05-22 19:19     ` Richard Henderson
2026-05-20 18:21 ` [PATCH v6 20/64] target/arm: Implement FSCALE for SME Richard Henderson
2026-05-21 15:39   ` Peter Maydell
2026-05-20 18:21 ` [PATCH v6 21/64] target/arm: Split vector-type.h from cpu.h Richard Henderson
2026-05-20 18:21 ` [PATCH v6 22/64] target/arm: Move vectors_overlap to vec_internal.h Richard Henderson
2026-05-20 18:21 ` [PATCH v6 23/64] target/arm: Set e4m3_nan_is_snan Richard Henderson
2026-05-21 15:12   ` Peter Maydell
2026-05-22 19:49     ` Richard Henderson
2026-05-20 18:21 ` [PATCH v6 24/64] target/arm: Implement BF1CVTL, BF1CVTL2, BF2CVTL, BF2CVTL2 for AdvSIMD Richard Henderson
2026-05-21 16:18   ` Peter Maydell
2026-05-20 18:21 ` [PATCH v6 25/64] target/arm: Implement BF1CVT, BF1CVTLT, BF2CVT, BF2CVTLT for SVE Richard Henderson
2026-05-21 16:37   ` Peter Maydell
2026-05-22 19:53     ` Richard Henderson
2026-05-20 18:21 ` [PATCH v6 26/64] target/arm: Rename SME BFCVT patterns to BFCVT_hs Richard Henderson
2026-05-21 16:39   ` Peter Maydell
2026-05-20 18:21 ` [PATCH v6 27/64] target/arm: Implement BF1CVT, BF1CVTL, BF2CVT, BF2CVTL for SME Richard Henderson
2026-05-20 18:21 ` [PATCH v6 28/64] target/arm: Implement F1CVTL, F1CVTL2, F2CVTL, F2CVTL2 for AdvSIMD Richard Henderson
2026-05-20 18:21 ` [PATCH v6 29/64] target/arm: Implement F1CVT, F1CVTLT, F2CVT, F2CVTLT for SVE Richard Henderson
2026-05-20 18:21 ` [PATCH v6 30/64] target/arm: Implement F1CVT, F1CVTL, F2CVT, F2CVTL for SME Richard Henderson
2026-05-20 18:21 ` [PATCH v6 31/64] target/arm: Implement BFCVTN for SVE Richard Henderson
2026-05-21  9:01   ` Peter Maydell
2026-05-22 19:59     ` Richard Henderson
2026-05-20 18:21 ` [PATCH v6 32/64] target/arm: Implement FCVTN (16- to 8-bit fp) for AdvSIMD Richard Henderson
2026-05-20 18:21 ` [PATCH v6 33/64] target/arm: Implement FCVTN, FCVTN2 (32- " Richard Henderson
2026-05-20 18:21 ` [PATCH v6 34/64] target/arm: Implement FCVTN (16- to 8-bit fp) for SVE Richard Henderson
2026-05-20 18:21 ` [PATCH v6 35/64] target/arm: Implement FCVTNB, FCVTNT " Richard Henderson
2026-05-20 18:21 ` [PATCH v6 36/64] target/arm: Implement FCVT (FP16 to FP8) for SME Richard Henderson
2026-05-20 18:21 ` [PATCH v6 37/64] target/arm: Implement FCVT, FCVTN (FP32 " Richard Henderson
2026-05-20 18:21 ` [PATCH v6 38/64] target/arm: Implement LUTI2, LUTI4 for AdvSIMD Richard Henderson
2026-05-20 18:21 ` [PATCH v6 39/64] target/arm: Implement LUTI2, LUTI4 for SVE Richard Henderson
2026-05-20 18:21 ` [PATCH v6 40/64] target/arm: Enable FEAT_LUT for -cpu max Richard Henderson
2026-05-20 18:21 ` [PATCH v6 41/64] target/arm: Enable FEAT_FP8 " Richard Henderson
2026-05-20 18:21 ` [PATCH v6 42/64] target/arm: Update ID_AA64SMFR0_EL1 fields to ARM M.b Richard Henderson
2026-05-21 16:41   ` Peter Maydell
2026-05-20 18:21 ` [PATCH v6 43/64] target/arm: Implement MOVT (vector to table) Richard Henderson
2026-05-20 18:21 ` [PATCH v6 44/64] target/arm: Implement LUTI4 (four registers, 8-bit) Richard Henderson
2026-05-20 18:21 ` [PATCH v6 45/64] target/arm: Enable FEAT_SME_LUTv2 for -cpu max Richard Henderson
2026-05-20 18:21 ` [PATCH v6 46/64] target/arm: Implement FMLALB, FMLALT for AdvSIMD Richard Henderson
2026-05-20 18:21 ` [PATCH v6 47/64] target/arm: Implement FMLALB, FMLALT (FP8 to FP16) for SVE Richard Henderson
2026-05-20 18:21 ` [PATCH v6 48/64] target/arm: Implement FMLALL{BB, BT, TB, TT} for AdvSIMD Richard Henderson
2026-05-20 18:21 ` [PATCH v6 49/64] target/arm: Implement FMLALL{BB,BT,TB,TT} for SVE Richard Henderson
2026-05-20 18:21 ` [PATCH v6 50/64] target/arm: Enable FEAT_FP8FMA, FEAT_SSVE_FP8FMA for -cpu max Richard Henderson
2026-05-20 18:22 ` [PATCH v6 51/64] target/arm: Implement FDOT (FP8 to FP32) for AdvSIMD Richard Henderson
2026-05-20 18:22 ` [PATCH v6 52/64] target/arm: Implement FDOT (FP8 to FP32) for SVE Richard Henderson
2026-05-20 18:22 ` [PATCH v6 53/64] target/arm: Enable FEAT_FP8DOT4, FEAT_SSVE_FP8DOT4 for -cpu max Richard Henderson
2026-05-20 18:22 ` [PATCH v6 54/64] target/arm: Implement FDOT (FP8 to FP16) for AdvSIMD Richard Henderson
2026-05-20 18:22 ` [PATCH v6 55/64] target/arm: Implement FDOT (FP8 to FP16) for SVE Richard Henderson
2026-05-20 18:22 ` [PATCH v6 56/64] target/arm: Enable FEAT_FP8DOT2, FEAT_SSVE_FP8DOT2 for -cpu max Richard Henderson
2026-05-20 18:22 ` [PATCH v6 57/64] target/arm: Implement FMMLA (FP8 to FP32) for AdvSIMD Richard Henderson
2026-05-20 18:22 ` [PATCH v6 58/64] target/arm: Implement FMMLA (FP8 to FP32) for SVE Richard Henderson
2026-05-20 18:22 ` [PATCH v6 59/64] target/arm: Enable FEAT_F8F32MM for -cpu max Richard Henderson
2026-05-20 18:22 ` [PATCH v6 60/64] target/arm: Implement FMMLA (FP8 to FP16) for AdvSIMD Richard Henderson
2026-05-21  9:52   ` Peter Maydell
2026-05-22 20:04     ` Richard Henderson
2026-05-20 18:22 ` [PATCH v6 61/64] target/arm: Implement FMMLA (FP8 to FP16) for SVE Richard Henderson
2026-05-20 18:22 ` [PATCH v6 62/64] target/arm: Enable FEAT_F8F16MM for -cpu max Richard Henderson
2026-05-20 18:22 ` [PATCH v6 63/64] linux-user/aarch64: Implement hwcap bits for fp8 features Richard Henderson
2026-05-21 16:42   ` Peter Maydell
2026-05-20 18:22 ` [PATCH v6 64/64] linux-user/aarch64: Implement FPMR signal frames Richard Henderson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=874ik0okia.fsf@draig.linaro.org \
    --to=alex.bennee@linaro.org \
    --cc=qemu-arm@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=richard.henderson@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.