All of lore.kernel.org
 help / color / mirror / Atom feed
From: Cornelia Huck <cohuck@redhat.com>
To: Sebastian Ott <sebott@redhat.com>
Cc: eric.auger.pro@gmail.com, eric.auger@redhat.com,
	qemu-devel@nongnu.org, qemu-arm@nongnu.org,
	kvmarm@lists.linux.dev, peter.maydell@linaro.org,
	richard.henderson@linaro.org, alex.bennee@linaro.org,
	maz@kernel.org, oliver.upton@linux.dev,
	shameerali.kolothum.thodi@huawei.com, armbru@redhat.com,
	berrange@redhat.com, abologna@redhat.com, jdenemar@redhat.com,
	agraf@csgraf.de, shahuang@redhat.com, mark.rutland@arm.com,
	philmd@linaro.org, pbonzini@redhat.com
Subject: Re: [PATCH v3 01/14] arm/cpu: Add sysreg definitions in cpu-sysregs.h
Date: Fri, 21 Mar 2025 16:29:13 +0100	[thread overview]
Message-ID: <87v7s2tnau.fsf@redhat.com> (raw)
In-Reply-To: <7c6ab887-2c9f-6646-4f0c-790671b28c62@redhat.com>

On Thu, Mar 20 2025, Sebastian Ott <sebott@redhat.com> wrote:

> On Tue, 11 Mar 2025, Cornelia Huck wrote:
>> +++ b/target/arm/cpu.h
> [...]
>> +/* REG is ID_XXX */
>> +#define FIELD_DP64_IDREG(ISAR, REG, FIELD, VALUE)                       \
>> +    ({                                                                  \
>> +        ARMISARegisters *i_ = (ISAR);                                   \
>> +        uint64_t regval = i_->idregs[REG ## _EL1_IDX];                  \
>
> This won't work for regs that don't fit this naming scheme. Up to this
> point in the series that's only CTR_EL0, later with the auto generation it
> will be more. But I guess this can be extended when/if there's an actual
> need..

All ID_XXX registers fit the "has an _EL1 suffix" scheme, though, and
these are what we use the _IDREG() accessors for (we use FIELD_DP64 for
CTR_EL0 fields.) (At least, that matches what I see called "ID
registers" in the Arm Arm.)

The sysregs we get via
KVM_ARM_GET_REG_WRITABLE_MASKS/KVM_ARM_FEATURE_ID_RANGE
contain ID_XXX registers, and some more writable registers in the
feature id range which are not really id registers (but which we want to
handle via the command line as well). I think all the non _EL1 registers
we want to handle fall into the latter category (i.e. we're not going to
use the _IDREG() accessors for them?)


  reply	other threads:[~2025-03-21 15:29 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-03-11 16:28 [PATCH v3 00/14] arm: rework id register storage Cornelia Huck
2025-03-11 16:28 ` [PATCH v3 01/14] arm/cpu: Add sysreg definitions in cpu-sysregs.h Cornelia Huck
2025-03-11 17:39   ` Richard Henderson
2025-03-21 15:13     ` Cornelia Huck
2025-03-20 15:43   ` Sebastian Ott
2025-03-21 15:29     ` Cornelia Huck [this message]
2025-03-11 16:28 ` [PATCH v3 02/14] arm/kvm: add accessors for storing host features into idregs Cornelia Huck
2025-03-11 17:40   ` Richard Henderson
2025-03-21 15:37     ` Cornelia Huck
2025-03-11 16:28 ` [PATCH v3 03/14] arm/cpu: Store aa64isar0/aa64zfr0 into the idregs arrays Cornelia Huck
2025-03-11 17:41   ` Richard Henderson
2025-03-11 16:28 ` [PATCH v3 04/14] arm/cpu: Store aa64isar1/2 into the idregs array Cornelia Huck
2025-03-11 17:42   ` Richard Henderson
2025-03-11 16:28 ` [PATCH v3 05/14] arm/cpu: Store aa64pfr0/1 " Cornelia Huck
2025-03-11 17:43   ` Richard Henderson
2025-03-11 16:28 ` [PATCH v3 06/14] arm/cpu: Store aa64mmfr0-3 " Cornelia Huck
2025-03-11 17:43   ` Richard Henderson
2025-03-11 16:28 ` [PATCH v3 07/14] arm/cpu: Store aa64dfr0/1 " Cornelia Huck
2025-03-11 17:44   ` Richard Henderson
2025-03-11 16:28 ` [PATCH v3 08/14] arm/cpu: Store aa64smfr0 " Cornelia Huck
2025-03-11 17:46   ` Richard Henderson
2025-03-11 16:28 ` [PATCH v3 09/14] arm/cpu: Store id_isar0-7 " Cornelia Huck
2025-03-11 17:49   ` Richard Henderson
2025-03-11 16:28 ` [PATCH v3 10/14] arm/cpu: Store id_pfr0/1/2 " Cornelia Huck
2025-03-11 18:56   ` Richard Henderson
2025-03-11 16:28 ` [PATCH v3 11/14] arm/cpu: Store id_dfr0/1 " Cornelia Huck
2025-03-11 18:59   ` Richard Henderson
2025-03-11 16:28 ` [PATCH v3 12/14] arm/cpu: Store id_mmfr0-5 " Cornelia Huck
2025-03-11 19:01   ` Richard Henderson
2025-03-11 16:28 ` [PATCH v3 13/14] arm/cpu: Add sysreg generation scripts Cornelia Huck
2025-03-20 15:29   ` Sebastian Ott
2025-03-21 15:41     ` Cornelia Huck
2025-03-11 16:28 ` [PATCH v3 14/14] arm/cpu: switch to a generated cpu-sysregs.h.inc Cornelia Huck
2025-03-11 18:12 ` [PATCH v3 00/14] arm: rework id register storage Marc Zyngier
2025-03-21 15:05   ` Cornelia Huck
2025-03-20 15:46 ` Sebastian Ott

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=87v7s2tnau.fsf@redhat.com \
    --to=cohuck@redhat.com \
    --cc=abologna@redhat.com \
    --cc=agraf@csgraf.de \
    --cc=alex.bennee@linaro.org \
    --cc=armbru@redhat.com \
    --cc=berrange@redhat.com \
    --cc=eric.auger.pro@gmail.com \
    --cc=eric.auger@redhat.com \
    --cc=jdenemar@redhat.com \
    --cc=kvmarm@lists.linux.dev \
    --cc=mark.rutland@arm.com \
    --cc=maz@kernel.org \
    --cc=oliver.upton@linux.dev \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=philmd@linaro.org \
    --cc=qemu-arm@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=richard.henderson@linaro.org \
    --cc=sebott@redhat.com \
    --cc=shahuang@redhat.com \
    --cc=shameerali.kolothum.thodi@huawei.com \
    /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.