x86/vPMU: do not clobber IA32_MISC_ENABLE
authorAndrew Cooper <andrew.cooper3@citrix.com>
Mon, 7 Mar 2016 16:46:25 +0000 (17:46 +0100)
committerJan Beulich <jbeulich@suse.com>
Mon, 7 Mar 2016 16:46:25 +0000 (17:46 +0100)
commit0aa1330aac92fd75f185c9b354396014178fe95d
treec9995e422ae187a3904410b02a6a8e1d39e65a47
parent305e957ffee94fc06c4ba53ef5562f1b8c1c6b02
x86/vPMU: do not clobber IA32_MISC_ENABLE

The VMX RDMSR intercept for MSR_IA32_MISC_ENABLE falls through into
vpmu_do_rdmsr(), so that core2_vpmu_do_rdmsr() may play with the PTS and PEBS
UNAVAIL bits.

Some 64bit Windows include IA32_MISC_ENABLE in the set of items checked by
PatchGuard, and will suffer a BSOD 0x109 CRITICAL_STRUCTURE_CORRUPTION if the
contents change on migrate.

The vPMU infrastructure should not clobber IA32_MISC_ENABLE at all.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
xen/arch/x86/cpu/vpmu.c