KVM: VMX: Better name x2apic msr bitmaps
Renames x2apic_apicv_inactive msr_bitmaps to x2apic and original x2apic bitmaps to x2apic_apicv. Cc: Paolo Bonzini <pbonzini@redhat.com> Cc: Radim Krčmář <rkrcmar@redhat.com> Signed-off-by: Wanpeng Li <wanpeng.li@hotmail.com> Signed-off-by: Radim Krčmář <rkrcmar@redhat.com>
This commit is contained in:
parent
d9092f52d7
commit
c63e45635b
|
@ -924,10 +924,10 @@ static unsigned long *vmx_io_bitmap_a;
|
|||
static unsigned long *vmx_io_bitmap_b;
|
||||
static unsigned long *vmx_msr_bitmap_legacy;
|
||||
static unsigned long *vmx_msr_bitmap_longmode;
|
||||
static unsigned long *vmx_msr_bitmap_legacy_x2apic_apicv;
|
||||
static unsigned long *vmx_msr_bitmap_longmode_x2apic_apicv;
|
||||
static unsigned long *vmx_msr_bitmap_legacy_x2apic;
|
||||
static unsigned long *vmx_msr_bitmap_longmode_x2apic;
|
||||
static unsigned long *vmx_msr_bitmap_legacy_x2apic_apicv_inactive;
|
||||
static unsigned long *vmx_msr_bitmap_longmode_x2apic_apicv_inactive;
|
||||
static unsigned long *vmx_vmread_bitmap;
|
||||
static unsigned long *vmx_vmwrite_bitmap;
|
||||
|
||||
|
@ -2528,15 +2528,15 @@ static void vmx_set_msr_bitmap(struct kvm_vcpu *vcpu)
|
|||
(vmcs_read32(SECONDARY_VM_EXEC_CONTROL) &
|
||||
SECONDARY_EXEC_VIRTUALIZE_X2APIC_MODE)) {
|
||||
if (enable_apicv && kvm_vcpu_apicv_active(vcpu)) {
|
||||
if (is_long_mode(vcpu))
|
||||
msr_bitmap = vmx_msr_bitmap_longmode_x2apic_apicv;
|
||||
else
|
||||
msr_bitmap = vmx_msr_bitmap_legacy_x2apic_apicv;
|
||||
} else {
|
||||
if (is_long_mode(vcpu))
|
||||
msr_bitmap = vmx_msr_bitmap_longmode_x2apic;
|
||||
else
|
||||
msr_bitmap = vmx_msr_bitmap_legacy_x2apic;
|
||||
} else {
|
||||
if (is_long_mode(vcpu))
|
||||
msr_bitmap = vmx_msr_bitmap_longmode_x2apic_apicv_inactive;
|
||||
else
|
||||
msr_bitmap = vmx_msr_bitmap_legacy_x2apic_apicv_inactive;
|
||||
}
|
||||
} else {
|
||||
if (is_long_mode(vcpu))
|
||||
|
@ -4668,45 +4668,45 @@ static void vmx_disable_intercept_for_msr(u32 msr, bool longmode_only)
|
|||
static void vmx_enable_intercept_msr_read_x2apic(u32 msr, bool apicv_active)
|
||||
{
|
||||
if (apicv_active) {
|
||||
__vmx_enable_intercept_for_msr(vmx_msr_bitmap_legacy_x2apic_apicv,
|
||||
msr, MSR_TYPE_R);
|
||||
__vmx_enable_intercept_for_msr(vmx_msr_bitmap_longmode_x2apic_apicv,
|
||||
msr, MSR_TYPE_R);
|
||||
} else {
|
||||
__vmx_enable_intercept_for_msr(vmx_msr_bitmap_legacy_x2apic,
|
||||
msr, MSR_TYPE_R);
|
||||
__vmx_enable_intercept_for_msr(vmx_msr_bitmap_longmode_x2apic,
|
||||
msr, MSR_TYPE_R);
|
||||
} else {
|
||||
__vmx_enable_intercept_for_msr(vmx_msr_bitmap_legacy_x2apic_apicv_inactive,
|
||||
msr, MSR_TYPE_R);
|
||||
__vmx_enable_intercept_for_msr(vmx_msr_bitmap_longmode_x2apic_apicv_inactive,
|
||||
msr, MSR_TYPE_R);
|
||||
}
|
||||
}
|
||||
|
||||
static void vmx_disable_intercept_msr_read_x2apic(u32 msr, bool apicv_active)
|
||||
{
|
||||
if (apicv_active) {
|
||||
__vmx_disable_intercept_for_msr(vmx_msr_bitmap_legacy_x2apic_apicv,
|
||||
msr, MSR_TYPE_R);
|
||||
__vmx_disable_intercept_for_msr(vmx_msr_bitmap_longmode_x2apic_apicv,
|
||||
msr, MSR_TYPE_R);
|
||||
} else {
|
||||
__vmx_disable_intercept_for_msr(vmx_msr_bitmap_legacy_x2apic,
|
||||
msr, MSR_TYPE_R);
|
||||
__vmx_disable_intercept_for_msr(vmx_msr_bitmap_longmode_x2apic,
|
||||
msr, MSR_TYPE_R);
|
||||
} else {
|
||||
__vmx_disable_intercept_for_msr(vmx_msr_bitmap_legacy_x2apic_apicv_inactive,
|
||||
msr, MSR_TYPE_R);
|
||||
__vmx_disable_intercept_for_msr(vmx_msr_bitmap_longmode_x2apic_apicv_inactive,
|
||||
msr, MSR_TYPE_R);
|
||||
}
|
||||
}
|
||||
|
||||
static void vmx_disable_intercept_msr_write_x2apic(u32 msr, bool apicv_active)
|
||||
{
|
||||
if (apicv_active) {
|
||||
__vmx_disable_intercept_for_msr(vmx_msr_bitmap_legacy_x2apic_apicv,
|
||||
msr, MSR_TYPE_W);
|
||||
__vmx_disable_intercept_for_msr(vmx_msr_bitmap_longmode_x2apic_apicv,
|
||||
msr, MSR_TYPE_W);
|
||||
} else {
|
||||
__vmx_disable_intercept_for_msr(vmx_msr_bitmap_legacy_x2apic,
|
||||
msr, MSR_TYPE_W);
|
||||
__vmx_disable_intercept_for_msr(vmx_msr_bitmap_longmode_x2apic,
|
||||
msr, MSR_TYPE_W);
|
||||
} else {
|
||||
__vmx_disable_intercept_for_msr(vmx_msr_bitmap_legacy_x2apic_apicv_inactive,
|
||||
msr, MSR_TYPE_W);
|
||||
__vmx_disable_intercept_for_msr(vmx_msr_bitmap_longmode_x2apic_apicv_inactive,
|
||||
msr, MSR_TYPE_W);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -6364,28 +6364,28 @@ static __init int hardware_setup(void)
|
|||
if (!vmx_msr_bitmap_legacy)
|
||||
goto out1;
|
||||
|
||||
vmx_msr_bitmap_legacy_x2apic_apicv =
|
||||
(unsigned long *)__get_free_page(GFP_KERNEL);
|
||||
if (!vmx_msr_bitmap_legacy_x2apic_apicv)
|
||||
goto out2;
|
||||
|
||||
vmx_msr_bitmap_legacy_x2apic =
|
||||
(unsigned long *)__get_free_page(GFP_KERNEL);
|
||||
if (!vmx_msr_bitmap_legacy_x2apic)
|
||||
goto out2;
|
||||
|
||||
vmx_msr_bitmap_legacy_x2apic_apicv_inactive =
|
||||
(unsigned long *)__get_free_page(GFP_KERNEL);
|
||||
if (!vmx_msr_bitmap_legacy_x2apic_apicv_inactive)
|
||||
goto out3;
|
||||
|
||||
vmx_msr_bitmap_longmode = (unsigned long *)__get_free_page(GFP_KERNEL);
|
||||
if (!vmx_msr_bitmap_longmode)
|
||||
goto out4;
|
||||
|
||||
vmx_msr_bitmap_longmode_x2apic_apicv =
|
||||
(unsigned long *)__get_free_page(GFP_KERNEL);
|
||||
if (!vmx_msr_bitmap_longmode_x2apic_apicv)
|
||||
goto out5;
|
||||
|
||||
vmx_msr_bitmap_longmode_x2apic =
|
||||
(unsigned long *)__get_free_page(GFP_KERNEL);
|
||||
if (!vmx_msr_bitmap_longmode_x2apic)
|
||||
goto out5;
|
||||
|
||||
vmx_msr_bitmap_longmode_x2apic_apicv_inactive =
|
||||
(unsigned long *)__get_free_page(GFP_KERNEL);
|
||||
if (!vmx_msr_bitmap_longmode_x2apic_apicv_inactive)
|
||||
goto out6;
|
||||
|
||||
vmx_vmread_bitmap = (unsigned long *)__get_free_page(GFP_KERNEL);
|
||||
|
@ -6476,14 +6476,14 @@ static __init int hardware_setup(void)
|
|||
vmx_disable_intercept_for_msr(MSR_IA32_SYSENTER_EIP, false);
|
||||
vmx_disable_intercept_for_msr(MSR_IA32_BNDCFGS, true);
|
||||
|
||||
memcpy(vmx_msr_bitmap_legacy_x2apic_apicv,
|
||||
vmx_msr_bitmap_legacy, PAGE_SIZE);
|
||||
memcpy(vmx_msr_bitmap_longmode_x2apic_apicv,
|
||||
vmx_msr_bitmap_longmode, PAGE_SIZE);
|
||||
memcpy(vmx_msr_bitmap_legacy_x2apic,
|
||||
vmx_msr_bitmap_legacy, PAGE_SIZE);
|
||||
memcpy(vmx_msr_bitmap_longmode_x2apic,
|
||||
vmx_msr_bitmap_longmode, PAGE_SIZE);
|
||||
memcpy(vmx_msr_bitmap_legacy_x2apic_apicv_inactive,
|
||||
vmx_msr_bitmap_legacy, PAGE_SIZE);
|
||||
memcpy(vmx_msr_bitmap_longmode_x2apic_apicv_inactive,
|
||||
vmx_msr_bitmap_longmode, PAGE_SIZE);
|
||||
|
||||
set_bit(0, vmx_vpid_bitmap); /* 0 is reserved for host */
|
||||
|
||||
|
@ -6560,15 +6560,15 @@ out9:
|
|||
out8:
|
||||
free_page((unsigned long)vmx_vmread_bitmap);
|
||||
out7:
|
||||
free_page((unsigned long)vmx_msr_bitmap_longmode_x2apic_apicv_inactive);
|
||||
out6:
|
||||
free_page((unsigned long)vmx_msr_bitmap_longmode_x2apic);
|
||||
out6:
|
||||
free_page((unsigned long)vmx_msr_bitmap_longmode_x2apic_apicv);
|
||||
out5:
|
||||
free_page((unsigned long)vmx_msr_bitmap_longmode);
|
||||
out4:
|
||||
free_page((unsigned long)vmx_msr_bitmap_legacy_x2apic_apicv_inactive);
|
||||
out3:
|
||||
free_page((unsigned long)vmx_msr_bitmap_legacy_x2apic);
|
||||
out3:
|
||||
free_page((unsigned long)vmx_msr_bitmap_legacy_x2apic_apicv);
|
||||
out2:
|
||||
free_page((unsigned long)vmx_msr_bitmap_legacy);
|
||||
out1:
|
||||
|
@ -6581,10 +6581,10 @@ out:
|
|||
|
||||
static __exit void hardware_unsetup(void)
|
||||
{
|
||||
free_page((unsigned long)vmx_msr_bitmap_legacy_x2apic_apicv);
|
||||
free_page((unsigned long)vmx_msr_bitmap_legacy_x2apic);
|
||||
free_page((unsigned long)vmx_msr_bitmap_legacy_x2apic_apicv_inactive);
|
||||
free_page((unsigned long)vmx_msr_bitmap_longmode_x2apic_apicv);
|
||||
free_page((unsigned long)vmx_msr_bitmap_longmode_x2apic);
|
||||
free_page((unsigned long)vmx_msr_bitmap_longmode_x2apic_apicv_inactive);
|
||||
free_page((unsigned long)vmx_msr_bitmap_legacy);
|
||||
free_page((unsigned long)vmx_msr_bitmap_longmode);
|
||||
free_page((unsigned long)vmx_io_bitmap_b);
|
||||
|
|
Loading…
Reference in New Issue