[PATCH v5 29/69] KVM: arm64: nv: Respect the virtual HCR_EL2.NV bit setting

Marc Zyngier maz at kernel.org
Mon Dec 20 01:18:03 PST 2021


On Mon, 20 Dec 2021 07:11:03 +0000,
Ganapatrao Kulkarni <gankulkarni at os.amperecomputing.com> wrote:
> 
> Hi Marc,
> 
> On 30-11-2021 01:31 am, Marc Zyngier wrote:
> > From: Jintack Lim <jintack.lim at linaro.org>
> > 
> > Forward traps due to HCR_EL2.NV bit to the virtual EL2 if they are not
> > coming from the virtual EL2 and the virtual HCR_EL2.NV bit is set.
> > 
> > In addition to EL2 register accesses, setting NV bit will also make EL12
> > register accesses trap to EL2. To emulate this for the virtual EL2,
> > forword traps due to EL12 register accessses to the virtual EL2 if the
> > virtual HCR_EL2.NV bit is set.
> > 
> > This is for recursive nested virtualization.
> 
> What is recursive nested virtualization means?
> Are we going to set NV/NV1/NV2 bits of ID_AA64MMFR2_EL1 of
> Guest-Hypervisor to support NV in Guest-Hypervisor?

Of course. An implementation of nested virtualisation that would stop
at L1 would be pretty crap and fail to live up to the 'turtles all the
way down' paradigm.

Note that the recursive support is still a work in progress, as making
it work for real in a software model is an exercise in futility (for
example, we make no effort to make the VNCR_EL2 mapping work past L1).

Once someone sends me a NV-capable box, I'll get it working.

	M.

-- 
Without deviation from the norm, progress is not possible.



More information about the linux-arm-kernel mailing list