kvm: Use APIC_DEFAULT_PHYS_BASE macro as the apic access page address.
authorTang Chen <tangchen@cn.fujitsu.com>
Thu, 11 Sep 2014 05:38:00 +0000 (13:38 +0800)
committerPaolo Bonzini <pbonzini@redhat.com>
Thu, 11 Sep 2014 09:10:22 +0000 (11:10 +0200)
We have APIC_DEFAULT_PHYS_BASE defined as 0xfee00000, which is also the address of
apic access page. So use this macro.

Signed-off-by: Tang Chen <tangchen@cn.fujitsu.com>
Reviewed-by: Gleb Natapov <gleb@kernel.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kvm/svm.c
arch/x86/kvm/vmx.c

index d0a61a05a891309ea2f2f7037d64137d6d791d89..f7f6a4a157a6f8cc8cbeec4e92d718f5c275c86d 100644 (file)
@@ -1257,7 +1257,8 @@ static struct kvm_vcpu *svm_create_vcpu(struct kvm *kvm, unsigned int id)
        svm->asid_generation = 0;
        init_vmcb(svm);
 
-       svm->vcpu.arch.apic_base = 0xfee00000 | MSR_IA32_APICBASE_ENABLE;
+       svm->vcpu.arch.apic_base = APIC_DEFAULT_PHYS_BASE |
+                                  MSR_IA32_APICBASE_ENABLE;
        if (kvm_vcpu_is_bsp(&svm->vcpu))
                svm->vcpu.arch.apic_base |= MSR_IA32_APICBASE_BSP;
 
index 671ca5edc7094404012222dc94b02ed2e5dc93ce..5db47db6574bf251832f46a1913aa34a36246b05 100644 (file)
@@ -4023,13 +4023,13 @@ static int alloc_apic_access_page(struct kvm *kvm)
                goto out;
        kvm_userspace_mem.slot = APIC_ACCESS_PAGE_PRIVATE_MEMSLOT;
        kvm_userspace_mem.flags = 0;
-       kvm_userspace_mem.guest_phys_addr = 0xfee00000ULL;
+       kvm_userspace_mem.guest_phys_addr = APIC_DEFAULT_PHYS_BASE;
        kvm_userspace_mem.memory_size = PAGE_SIZE;
        r = __kvm_set_memory_region(kvm, &kvm_userspace_mem);
        if (r)
                goto out;
 
-       page = gfn_to_page(kvm, 0xfee00);
+       page = gfn_to_page(kvm, APIC_DEFAULT_PHYS_BASE >> PAGE_SHIFT);
        if (is_error_page(page)) {
                r = -EFAULT;
                goto out;
@@ -4502,7 +4502,7 @@ static void vmx_vcpu_reset(struct kvm_vcpu *vcpu)
 
        vmx->vcpu.arch.regs[VCPU_REGS_RDX] = get_rdx_init_val();
        kvm_set_cr8(&vmx->vcpu, 0);
-       apic_base_msr.data = 0xfee00000 | MSR_IA32_APICBASE_ENABLE;
+       apic_base_msr.data = APIC_DEFAULT_PHYS_BASE | MSR_IA32_APICBASE_ENABLE;
        if (kvm_vcpu_is_bsp(&vmx->vcpu))
                apic_base_msr.data |= MSR_IA32_APICBASE_BSP;
        apic_base_msr.host_initiated = true;