[PATCH v2 00/10] KVM: arm64: Handle effective RES0 behaviour of undefined registers
Oliver Upton
oliver.upton at linux.dev
Fri Sep 19 00:04:00 PDT 2025
On Thu, Sep 18, 2025 at 04:13:52PM +0100, Marc Zyngier wrote:
> [After yesterday's blunder, I'm reposting this, with proper commit
> messages, and having taken Oliver's feedback into account.]
>
> When a feature is removed from a guest, we ensure that the trap and
> control bits for that particular feature are made RES0.
>
> For example, SCTLR2_EL2 contains a large number of bits. For any
> feature FEAT_FOO that is controlled by a bit FOO in SCTLR2_EL2, we
> make sure that SCTLR2_EL2.FOO is RES0 if FEAT_FOO is not visible to
> the guest.
>
> However, nothing makes SCTLR2_EL2 RES0 if FEAT_SCTLR2 is not visible.
>
> This series aims at solving this sort of situations. It is still quite
> incomplete, but aims at bridging a couple of other series:
>
> - 20250911114621.3724469-1-yangjinqian1 at huawei.com which wants to
> make EL2-related fields writable to allow migration
>
> - 20250912212258.407350-1-oliver.upton at linux.dev which wants to align
> the NV support with the rest of the kernel
>
> Hopefully this helps getting to a point where we everything is
> sanitised according to the architecture, EL2 on the same footing as
> EL1, and everything migrating in every possible case.
Looks good, let it rip!
Reviewed-by: Oliver Upton <oliver.upton at linux.dev>
Thanks,
Oliver
More information about the linux-arm-kernel
mailing list