On Wed, Jun 26, 2019 at 08:02:12PM +0100, Andrew Cooper wrote:
> From: Sergey Dyasli <[email protected]>
> 
> Otherwise hvm_set_cr0() will check the wrong CR4 bits (L1 instead of L2
> and vice-versa).
> 
> Signed-off-by: Sergey Dyasli <[email protected]>
> Reviewed-by: Andrew Cooper <[email protected]>

Reviewed-by: Roger Pau Monné <[email protected]>

> ---
> CC: Jan Beulich <[email protected]>
> CC: Wei Liu <[email protected]>
> CC: Roger Pau Monné <[email protected]>
> CC: Jun Nakajima <[email protected]>
> CC: Kevin Tian <[email protected]>
> 
> I found this patch languishing in the XenServer patchqueue, and Sergey is OoO
> so I'm submitting it on his behalf.
> 
> Without this change, nested virt is broken when L1 and L2 differ in their use
> of PCID.
> 
> This is only a stopgap solution - it resolves the PCID issue without
> introducing other issues, but the proper fix needs to consider all control
> bits at once, rather than considering a vmentry/exit as a sequence of changes
> of discrete registers.

The current approach seems prone to such ordering issues, and I don't
see a way to make it more robust while keeping the current approach,
so I guess setting all the registers state and then evaluating them
would make more sense and prevent this kind of mistakes.

Thanks.

_______________________________________________
Xen-devel mailing list
[email protected]
https://lists.xenproject.org/mailman/listinfo/xen-devel

Reply via email to