pmu: prepare for migration support
authorPaolo Bonzini <pbonzini@redhat.com>
Thu, 28 Mar 2013 16:18:35 +0000 (17:18 +0100)
committerGleb Natapov <gleb@redhat.com>
Tue, 2 Apr 2013 14:42:44 +0000 (17:42 +0300)
commitafd80d85aefac27e6e2f9dc10f60515357c504d2
treef9c59ac17a12e113d9eff004e3bdae40ea995f35
parente1e2e605c2ad6791ce6346b22443ce611709fa65
pmu: prepare for migration support

In order to migrate the PMU state correctly, we need to restore the
values of MSR_CORE_PERF_GLOBAL_STATUS (a read-only register) and
MSR_CORE_PERF_GLOBAL_OVF_CTRL (which has side effects when written).
We also need to write the full 40-bit value of the performance counter,
which would only be possible with a v3 architectural PMU's full-width
counter MSRs.

To distinguish host-initiated writes from the guest's, pass the
full struct msr_data to kvm_pmu_set_msr.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Gleb Natapov <gleb@redhat.com>
arch/x86/include/asm/kvm_host.h
arch/x86/kvm/pmu.c
arch/x86/kvm/x86.c