KVM: VMX: make MSR bitmaps per-VCPU
authorPaolo Bonzini <[email protected]>
Tue, 16 Jan 2018 15:51:18 +0000 (16:51 +0100)
committerPaolo Bonzini <[email protected]>
Wed, 31 Jan 2018 17:40:45 +0000 (12:40 -0500)
commit904e14fb7cb96401a7dc803ca2863fd5ba32ffe6
treef2b192c2d4783bd1a882f2d4534b54f538c4333d
parentf21f165ef922c2146cc5bdc620f542953c41714b
KVM: VMX: make MSR bitmaps per-VCPU

Place the MSR bitmap in struct loaded_vmcs, and update it in place
every time the x2apic or APICv state can change.  This is rare and
the loop can handle 64 MSRs per iteration, in a similar fashion as
nested_vmx_prepare_msr_bitmap.

This prepares for choosing, on a per-VM basis, whether to intercept
the SPEC_CTRL and PRED_CMD MSRs.

Cc: [email protected] # prereq for Spectre mitigation
Suggested-by: Jim Mattson <[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>
arch/x86/kvm/vmx.c