w2k16 essentials fails to boot if underlying hypervisor lacks of support for LBR MSRs. To workaround the issue, it suggessted to ignore these MSRs (but not all). The information, which MSRs are supported for specific platform is taken from perf, it is the subject of the first patch. The second patch adds ignoring for these MSRs to pmu_intel code of KVM. TODO: use MSR load/store areas to make full support of LBR debug. Jan Dakinevich (2): perf/x86/intel: make reusable LBR initialization code KVM: x86/vPMU: ignore access to LBR-related MSRs arch/x86/events/core.c | 8 +- arch/x86/events/intel/core.c | 59 +++------ arch/x86/events/intel/lbr.c | 272 +++++++++++++++++++++++++------------- arch/x86/events/perf_event.h | 27 +--- arch/x86/include/asm/kvm_host.h | 2 + arch/x86/include/asm/perf_event.h | 11 ++ arch/x86/kvm/pmu_intel.c | 33 +++++ 7 files changed, 250 insertions(+), 162 deletions(-) -- 2.1.4