Patch 1 through 7 add the necessary KVM code for checking and enabling "load IA32_PERF_GLOBAL_CTRL" VM-{exit,entry} controls. Patch# 8 adds a unit test for the "load IA32_PERF_GLOBAL_CTRL" VM-exit control. I will send a separate patch for the unit test for "load IA32_PERF_GLOBAL_CTRL" VM-entry control. [PATCH 1/8][KVMnVMX]: Enable "load IA32_PERF_GLOBAL_CTRL" VM-exit control [PATCH 2/8][KVM nVMX]: Enable "load IA32_PERF_GLOBAL_CTRL" VM-entry [PATCH 3/8][KVM VMX]: Add a function to check reserved bits in [PATCH 4/8][KVM nVMX]: Check "load IA32_PERF_GLOBAL_CTRL" VM-exit control [PATCH 5/8][KVM nVMX]: Check "load IA32_PERF_GLOBAL_CTRL" VM-entry control [PATCH 6/8][KVM nVMX]: Load IA32_PERF_GLOBAL_CTRL MSR on vmentry of nested [PATCH 7/8][KVM nVMX]: Enable "load IA32_PERF_GLOBAL_CTRL VM-{entry,exit} [PATCH 8/8][KVM nVMX]: Test "load IA32_PERF_GLOBAL_CTRL" controls on vmentry arch/x86/include/asm/kvm_host.h | 1 + arch/x86/include/asm/msr-index.h | 7 +++++++ arch/x86/kvm/vmx/nested.c | 19 +++++++++++++++++-- arch/x86/kvm/vmx/vmx.c | 12 ++++++++++++ arch/x86/kvm/x86.c | 20 ++++++++++++++++++++ 5 files changed, 57 insertions(+), 2 deletions(-) Krish Sadhukhan (7): nVMX: Enable "load IA32_PERF_GLOBAL_CTRL" VM-exit control for nested guests nVMX: Enable "load IA32_PERF_GLOBAL_CTRL" VM-entry control for nested guests VMX: Add a function to check reserved bits in MSR_CORE_PERF_GLOBAL_CTRL nVMX: Check "load IA32_PERF_GLOBAL_CTRL" VM-exit control on vmentry of nested guests nVMX: Check "load IA32_PERF_GLOBAL_CTRL" VM-entry control on vmentry of nested guests nVMX: Load IA32_PERF_GLOBAL_CTRL MSR on vmentry of nested guests nVMX: Enable "load IA32_PERF_GLOBAL_CTRL VM-{entry,exit} controls x86/vmx_tests.c | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) Krish Sadhukhan (1): nVMX: Test "load IA32_PERF_GLOBAL_CTRL" controls on vmentry of nested guests