KVM: VMX: Fix comparison of guest efer with stale host value
authorAvi Kivity <avi@redhat.com>
Wed, 2 Dec 2009 10:28:47 +0000 (12:28 +0200)
committerAvi Kivity <avi@redhat.com>
Thu, 3 Dec 2009 07:34:20 +0000 (09:34 +0200)
update_transition_efer() masks out some efer bits when deciding whether
to switch the msr during guest entry; for example, NX is emulated using the
mmu so we don't need to disable it, and LMA/LME are handled by the hardware.

However, with shared msrs, the comparison is made against a stale value;
at the time of the guest switch we may be running with another guest's efer.

Fix by deferring the mask/compare to the actual point of guest entry.

Noted by Marcelo.

Signed-off-by: Avi Kivity <avi@redhat.com>

No differences found