From: Marc Zyngier <maz@kernel.org>
To: kvmarm@lists.linux.dev, linux-arm-kernel@lists.infradead.org,
kvm@vger.kernel.org
Cc: Joey Gouly <joey.gouly@arm.com>,
Suzuki K Poulose <suzuki.poulose@arm.com>,
Oliver Upton <oliver.upton@linux.dev>,
Zenghui Yu <yuzenghui@huawei.com>, Will Deacon <will@kernel.org>,
Catalin Marinas <catalin.marinas@arm.com>
Subject: [PATCH 0/7] KVM: arm64: FEAT_RASv1p1 support and RAS selection
Date: Mon, 21 Jul 2025 11:19:48 +0100 [thread overview]
Message-ID: <20250721101955.535159-1-maz@kernel.org> (raw)
As I was debugging some RAS-related issues[1], I realised that:
- My test box is implementing RASv1p1
- We unconditionally advertise it to guests
- Issuing RASv1p1 accesses doesn't end very well
- [...]
- Profit?
The overall goal of this is to allow the RAS support to be downgraded
to not much, as we're not implementing anything interesting yet, while
still offering the appearance of architecture compliance up to RASv1p1
(everything is RAZ/WI). Along the way, we plug the most glaring holes
(HCR_EL2 bits propagated at the wrong spot, HCR_EL2.FIEN not being
filtered out).
Unusually, this is on top of the DoubleFault2 series, as this is where
the problems started.
[1] https://lore.kernel.org/r/87tt37ulvf.wl-maz@kernel.org
Marc Zyngier (7):
arm64: Add capability denoting FEAT_RASv1p1
KVM: arm64: Filter out HCR_EL2 bits when running in hypervisor context
KVM: arm64: Make RAS registers UNDEF when RAS isn't advertised
KVM: arm64: Handle RASv1p1 registers
KVM: arm64: Ignore HCR_EL2.FIEN set by L1 guest's EL2
KVM: arm64: Expose FEAT_RASv1p1 in a canonical manner
KVM: arm64: Make ID_AA64PFR0_EL1.RAS writable
arch/arm64/kernel/cpufeature.c | 24 ++++++++++++++
arch/arm64/kvm/hyp/vhe/switch.c | 19 +++++++++--
arch/arm64/kvm/sys_regs.c | 56 +++++++++++++++++++++++++++------
arch/arm64/tools/cpucaps | 1 +
4 files changed, 88 insertions(+), 12 deletions(-)
--
2.39.2
next reply other threads:[~2025-07-21 10:20 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-21 10:19 Marc Zyngier [this message]
2025-07-21 10:19 ` [PATCH 1/7] arm64: Add capability denoting FEAT_RASv1p1 Marc Zyngier
2025-07-21 13:52 ` Catalin Marinas
2025-07-21 10:19 ` [PATCH 2/7] KVM: arm64: Filter out HCR_EL2 bits when running in hypervisor context Marc Zyngier
2025-07-21 10:19 ` [PATCH 3/7] KVM: arm64: Make RAS registers UNDEF when RAS isn't advertised Marc Zyngier
2025-07-21 10:19 ` [PATCH 4/7] KVM: arm64: Handle RASv1p1 registers Marc Zyngier
2025-07-21 13:08 ` Marc Zyngier
2025-07-21 10:19 ` [PATCH 5/7] KVM: arm64: Ignore HCR_EL2.FIEN set by L1 guest's EL2 Marc Zyngier
2025-07-21 10:19 ` [PATCH 6/7] KVM: arm64: Expose FEAT_RASv1p1 in a canonical manner Marc Zyngier
2025-07-21 12:32 ` Cornelia Huck
2025-07-21 12:55 ` Marc Zyngier
2025-07-21 13:12 ` Cornelia Huck
2025-07-21 13:33 ` Marc Zyngier
2025-07-21 10:19 ` [PATCH 7/7] KVM: arm64: Make ID_AA64PFR0_EL1.RAS writable Marc Zyngier
2025-07-21 22:24 ` (subset) [PATCH 0/7] KVM: arm64: FEAT_RASv1p1 support and RAS selection Oliver Upton
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=20250721101955.535159-1-maz@kernel.org \
--to=maz@kernel.org \
--cc=catalin.marinas@arm.com \
--cc=joey.gouly@arm.com \
--cc=kvm@vger.kernel.org \
--cc=kvmarm@lists.linux.dev \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=oliver.upton@linux.dev \
--cc=suzuki.poulose@arm.com \
--cc=will@kernel.org \
--cc=yuzenghui@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).