From: Cornelia Huck <cohuck@redhat.com>
To: Alireza Sanaee <alireza.sanaee@huawei.com>
Cc: qemu-arm@nongnu.org, qemu-devel@nongnu.org,
Peter Maydell <peter.maydell@linaro.org>,
Eric Auger <eric.auger@redhat.com>,
jonathan.cameron@huawei.com
Subject: Re: [PATCH RFC 0/3] arm: demuxed ID registers (CCSIDR_EL1)
Date: Wed, 21 Jan 2026 17:28:07 +0100 [thread overview]
Message-ID: <878qdrszfs.fsf@redhat.com> (raw)
In-Reply-To: <20260120114447.00004699.alireza.sanaee@huawei.com>
On Tue, Jan 20 2026, Alireza Sanaee <alireza.sanaee@huawei.com> wrote:
> On Mon, 19 Jan 2026 18:27:29 +0100
> Cornelia Huck <cohuck@redhat.com> wrote:
>
> Hi Cornelia,
>
>
>
>> Note: this is on top of <20260105154119.59853-1-cohuck@redhat.com>
>> ("[PATCH v3 0/2] arm: move DCZID_EL0 to idregs array")
>>
>> While trying to move to an autogenerated cpu-sysregs.h.inc (so that we
>> may keep a common view on registers), we should first address the ID
>> registers that are still kept outside of ARMISARegisters. Other than
>> DCZID_EL0 (addressed by the series this one goes on top of), that's
>> the CCSIDR_EL1 values kept in cpu->cssidr[] (indexed via CSSELR_EL1.)
>>
>> My idea was to provide {GET,SET}_IDREG_DEMUX helper that work similar
>> to {GET,SET}_IDREG and operate on a two-dimensional array. As a side
>> effect, this also allows to get the values KVM provides for CCSIDR_EL1
>> (which are virtualized as well.)
>>
>> RFC because there are still some open questions:
>> - The demux array cannot easily be autogenerated. We can get rid of the
>> ccsidr[] array, but we now have an autogenerated entry in the non-demux
>> array that does nothing. Both are not that nice.
>> - I'm not sure if we need any compat handling for KVM (on TCG, everything
>> should stay the same.) In theory, the KVM interface allows setting
>> values from userspace (I didn't try.)
>> - There's a slight disagreement between the current code (providing 16
>> entries for CCSIDR_EL1) and the KVM code (providing (7 cache levels) *
>> (data/unified, instruction) = 14 entries.) With FEAT_MTE2, we might be
>> needing 7 more entries.
>>
>> Feedback appreciated.
>>
>> Cornelia Huck (3):
>> arm: handle demuxed ID registers
>> arm: handle CCSIDR_EL1 as a demuxed register
>> arm/kvm: get demuxed ID registers from kvm
>>
>> hw/intc/armv7m_nvic.c | 2 +-
>> target/arm/cpu-sysregs.h | 6 ++++
>> target/arm/cpu-sysregs.h.inc | 1 +
>> target/arm/cpu.h | 26 ++++++++++++----
>> target/arm/cpu64.c | 12 ++++----
>> target/arm/helper.c | 2 +-
>> target/arm/kvm.c | 33 ++++++++++++++++++++
>> target/arm/tcg/cpu32.c | 32 +++++++++----------
>> target/arm/tcg/cpu64.c | 60 ++++++++++++++++++------------------
>> 9 files changed, 114 insertions(+), 60 deletions(-)
>>
>
> This impacts my set https://lore.kernel.org/all/20260106155828.643-1-alireza.sanaee@huawei.com/
Duh, that series had actually been sitting in my "to look at" queue...
>
> I tested it with mine of course it required a few changes, but looks like working on TCG, didn't try KVM.
>
> Tested-by: Alireza Sanaee <alireza.sanaee@huawei.com>
Thanks for testing! I'll also try to take a look at your series.
next prev parent reply other threads:[~2026-01-21 16:34 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-19 17:27 [PATCH RFC 0/3] arm: demuxed ID registers (CCSIDR_EL1) Cornelia Huck
2026-01-19 17:27 ` [PATCH RFC 1/3] arm: handle demuxed ID registers Cornelia Huck
2026-01-21 9:40 ` Jonathan Cameron via
2026-01-21 9:40 ` Jonathan Cameron via qemu development
2026-01-21 16:25 ` Cornelia Huck
2026-01-19 17:27 ` [PATCH RFC 2/3] arm: handle CCSIDR_EL1 as a demuxed register Cornelia Huck
2026-01-19 17:27 ` [PATCH RFC 3/3] arm/kvm: get demuxed ID registers from kvm Cornelia Huck
2026-01-20 11:44 ` [PATCH RFC 0/3] arm: demuxed ID registers (CCSIDR_EL1) Alireza Sanaee via
2026-01-20 11:44 ` Alireza Sanaee via qemu development
2026-01-21 16:28 ` Cornelia Huck [this message]
2026-01-22 13:31 ` Alireza Sanaee via
2026-01-22 13:31 ` Alireza Sanaee via qemu development
2026-01-20 15:40 ` 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=878qdrszfs.fsf@redhat.com \
--to=cohuck@redhat.com \
--cc=alireza.sanaee@huawei.com \
--cc=eric.auger@redhat.com \
--cc=jonathan.cameron@huawei.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-arm@nongnu.org \
--cc=qemu-devel@nongnu.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.