diff options
author | Tang Chen <tangchen@cn.fujitsu.com> | 2014-09-11 01:38:00 -0400 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2014-09-11 05:10:22 -0400 |
commit | 73a6d9416279f138833574f11dc82134fb56908d (patch) | |
tree | de8a02e2a02e4e5f68c82aba8926825e35e7d127 | |
parent | 2c69c1a32140262d5d6104ab96df2e52c08c1e93 (diff) |
kvm: Use APIC_DEFAULT_PHYS_BASE macro as the apic access page address.
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>
-rw-r--r-- | arch/x86/kvm/svm.c | 3 | ||||
-rw-r--r-- | arch/x86/kvm/vmx.c | 6 |
2 files changed, 5 insertions, 4 deletions
diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c index d0a61a05a891..f7f6a4a157a6 100644 --- a/arch/x86/kvm/svm.c +++ b/arch/x86/kvm/svm.c | |||
@@ -1257,7 +1257,8 @@ static struct kvm_vcpu *svm_create_vcpu(struct kvm *kvm, unsigned int id) | |||
1257 | svm->asid_generation = 0; | 1257 | svm->asid_generation = 0; |
1258 | init_vmcb(svm); | 1258 | init_vmcb(svm); |
1259 | 1259 | ||
1260 | svm->vcpu.arch.apic_base = 0xfee00000 | MSR_IA32_APICBASE_ENABLE; | 1260 | svm->vcpu.arch.apic_base = APIC_DEFAULT_PHYS_BASE | |
1261 | MSR_IA32_APICBASE_ENABLE; | ||
1261 | if (kvm_vcpu_is_bsp(&svm->vcpu)) | 1262 | if (kvm_vcpu_is_bsp(&svm->vcpu)) |
1262 | svm->vcpu.arch.apic_base |= MSR_IA32_APICBASE_BSP; | 1263 | svm->vcpu.arch.apic_base |= MSR_IA32_APICBASE_BSP; |
1263 | 1264 | ||
diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c index 671ca5edc709..5db47db6574b 100644 --- a/arch/x86/kvm/vmx.c +++ b/arch/x86/kvm/vmx.c | |||
@@ -4023,13 +4023,13 @@ static int alloc_apic_access_page(struct kvm *kvm) | |||
4023 | goto out; | 4023 | goto out; |
4024 | kvm_userspace_mem.slot = APIC_ACCESS_PAGE_PRIVATE_MEMSLOT; | 4024 | kvm_userspace_mem.slot = APIC_ACCESS_PAGE_PRIVATE_MEMSLOT; |
4025 | kvm_userspace_mem.flags = 0; | 4025 | kvm_userspace_mem.flags = 0; |
4026 | kvm_userspace_mem.guest_phys_addr = 0xfee00000ULL; | 4026 | kvm_userspace_mem.guest_phys_addr = APIC_DEFAULT_PHYS_BASE; |
4027 | kvm_userspace_mem.memory_size = PAGE_SIZE; | 4027 | kvm_userspace_mem.memory_size = PAGE_SIZE; |
4028 | r = __kvm_set_memory_region(kvm, &kvm_userspace_mem); | 4028 | r = __kvm_set_memory_region(kvm, &kvm_userspace_mem); |
4029 | if (r) | 4029 | if (r) |
4030 | goto out; | 4030 | goto out; |
4031 | 4031 | ||
4032 | page = gfn_to_page(kvm, 0xfee00); | 4032 | page = gfn_to_page(kvm, APIC_DEFAULT_PHYS_BASE >> PAGE_SHIFT); |
4033 | if (is_error_page(page)) { | 4033 | if (is_error_page(page)) { |
4034 | r = -EFAULT; | 4034 | r = -EFAULT; |
4035 | goto out; | 4035 | goto out; |
@@ -4502,7 +4502,7 @@ static void vmx_vcpu_reset(struct kvm_vcpu *vcpu) | |||
4502 | 4502 | ||
4503 | vmx->vcpu.arch.regs[VCPU_REGS_RDX] = get_rdx_init_val(); | 4503 | vmx->vcpu.arch.regs[VCPU_REGS_RDX] = get_rdx_init_val(); |
4504 | kvm_set_cr8(&vmx->vcpu, 0); | 4504 | kvm_set_cr8(&vmx->vcpu, 0); |
4505 | apic_base_msr.data = 0xfee00000 | MSR_IA32_APICBASE_ENABLE; | 4505 | apic_base_msr.data = APIC_DEFAULT_PHYS_BASE | MSR_IA32_APICBASE_ENABLE; |
4506 | if (kvm_vcpu_is_bsp(&vmx->vcpu)) | 4506 | if (kvm_vcpu_is_bsp(&vmx->vcpu)) |
4507 | apic_base_msr.data |= MSR_IA32_APICBASE_BSP; | 4507 | apic_base_msr.data |= MSR_IA32_APICBASE_BSP; |
4508 | apic_base_msr.host_initiated = true; | 4508 | apic_base_msr.host_initiated = true; |