KVM: arm64: nv: Add emulation of AT S12E{0,1}{R,W}
authorMarc Zyngier <maz@kernel.org>
Wed, 19 Jun 2024 07:44:52 +0000 (08:44 +0100)
committerMarc Zyngier <maz@kernel.org>
Fri, 30 Aug 2024 11:04:20 +0000 (12:04 +0100)
commitbe04cebf3e78874627dc1042991d5d504464a5cc
tree10d008ebc45a9bc504b2aecea4087b3a91e24129
parente794049b9acbd6500b77b9ce92a95101091b52d3
KVM: arm64: nv: Add emulation of AT S12E{0,1}{R,W}

On the face of it, AT S12E{0,1}{R,W} is pretty simple. It is the
combination of AT S1E{0,1}{R,W}, followed by an extra S2 walk.

However, there is a great deal of complexity coming from combining
the S1 and S2 attributes to report something consistent in PAR_EL1.

This is an absolute mine field, and I have a splitting headache.

Signed-off-by: Marc Zyngier <maz@kernel.org>
arch/arm64/include/asm/kvm_asm.h
arch/arm64/kvm/at.c