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;
 
                  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;
+                               msr_bitmap = vmx_msr_bitmap_longmode_x2apic_apicv;
                        else
-                               msr_bitmap = vmx_msr_bitmap_legacy_x2apic;
+                               msr_bitmap = vmx_msr_bitmap_legacy_x2apic_apicv;
                } else {
                        if (is_long_mode(vcpu))
-                               msr_bitmap = vmx_msr_bitmap_longmode_x2apic_apicv_inactive;
+                               msr_bitmap = vmx_msr_bitmap_longmode_x2apic;
                        else
-                               msr_bitmap = vmx_msr_bitmap_legacy_x2apic_apicv_inactive;
+                               msr_bitmap = vmx_msr_bitmap_legacy_x2apic;
                }
        } else {
                if (is_long_mode(vcpu))
 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,
+               __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,
+               __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_apicv_inactive,
+               __vmx_enable_intercept_for_msr(vmx_msr_bitmap_legacy_x2apic,
                                msr, MSR_TYPE_R);
-               __vmx_enable_intercept_for_msr(vmx_msr_bitmap_longmode_x2apic_apicv_inactive,
+               __vmx_enable_intercept_for_msr(vmx_msr_bitmap_longmode_x2apic,
                                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,
+               __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,
+               __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_apicv_inactive,
+               __vmx_disable_intercept_for_msr(vmx_msr_bitmap_legacy_x2apic,
                                msr, MSR_TYPE_R);
-               __vmx_disable_intercept_for_msr(vmx_msr_bitmap_longmode_x2apic_apicv_inactive,
+               __vmx_disable_intercept_for_msr(vmx_msr_bitmap_longmode_x2apic,
                                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,
+               __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,
+               __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_apicv_inactive,
+               __vmx_disable_intercept_for_msr(vmx_msr_bitmap_legacy_x2apic,
                                msr, MSR_TYPE_W);
-               __vmx_disable_intercept_for_msr(vmx_msr_bitmap_longmode_x2apic_apicv_inactive,
+               __vmx_disable_intercept_for_msr(vmx_msr_bitmap_longmode_x2apic,
                                msr, MSR_TYPE_W);
        }
 }
        if (!vmx_msr_bitmap_legacy)
                goto out1;
 
-       vmx_msr_bitmap_legacy_x2apic =
+       vmx_msr_bitmap_legacy_x2apic_apicv =
                                (unsigned long *)__get_free_page(GFP_KERNEL);
-       if (!vmx_msr_bitmap_legacy_x2apic)
+       if (!vmx_msr_bitmap_legacy_x2apic_apicv)
                goto out2;
 
-       vmx_msr_bitmap_legacy_x2apic_apicv_inactive =
+       vmx_msr_bitmap_legacy_x2apic =
                                (unsigned long *)__get_free_page(GFP_KERNEL);
-       if (!vmx_msr_bitmap_legacy_x2apic_apicv_inactive)
+       if (!vmx_msr_bitmap_legacy_x2apic)
                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 =
+       vmx_msr_bitmap_longmode_x2apic_apicv =
                                (unsigned long *)__get_free_page(GFP_KERNEL);
-       if (!vmx_msr_bitmap_longmode_x2apic)
+       if (!vmx_msr_bitmap_longmode_x2apic_apicv)
                goto out5;
 
-       vmx_msr_bitmap_longmode_x2apic_apicv_inactive =
+       vmx_msr_bitmap_longmode_x2apic =
                                (unsigned long *)__get_free_page(GFP_KERNEL);
-       if (!vmx_msr_bitmap_longmode_x2apic_apicv_inactive)
+       if (!vmx_msr_bitmap_longmode_x2apic)
                goto out6;
 
        vmx_vmread_bitmap = (unsigned long *)__get_free_page(GFP_KERNEL);
        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,
+       memcpy(vmx_msr_bitmap_legacy_x2apic_apicv,
                        vmx_msr_bitmap_legacy, PAGE_SIZE);
-       memcpy(vmx_msr_bitmap_longmode_x2apic,
+       memcpy(vmx_msr_bitmap_longmode_x2apic_apicv,
                        vmx_msr_bitmap_longmode, PAGE_SIZE);
-       memcpy(vmx_msr_bitmap_legacy_x2apic_apicv_inactive,
+       memcpy(vmx_msr_bitmap_legacy_x2apic,
                        vmx_msr_bitmap_legacy, PAGE_SIZE);
-       memcpy(vmx_msr_bitmap_longmode_x2apic_apicv_inactive,
+       memcpy(vmx_msr_bitmap_longmode_x2apic,
                        vmx_msr_bitmap_longmode, PAGE_SIZE);
 
        set_bit(0, vmx_vpid_bitmap); /* 0 is reserved for host */
 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:
 
 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);