This can be useful for both processor tracing and IBRS/IBPB MSRs. MSR bitmaps are moved into struct loaded_vmcs so that we keep two separate bitmaps for L1 and L2 guests. The first patch introduces an auxiliary function to allocate a struct loaded_vmcs, the second simplifies a bit the handling of the bitmaps. The third is the main change. I had started working on this as an urgent-ish fix for the processor tracing patches. At this point it's become 4.17 material, but I'm sending it out early for Luwei to base his patches on this work. Paolo Bonzini (3): KVM: VMX: introduce alloc_loaded_vmcs KVM: VMX: use same MSR bitmaps for 32-/64-bit modes KVM: VMX: make MSR bitmaps per-VCPU arch/x86/kvm/vmx.c | 277 +++++++++++++++++++++++++---------------------------- 1 file changed, 130 insertions(+), 147 deletions(-) -- 1.8.3.1