Message ID | 1409134661-27916-2-git-send-email-tangchen@cn.fujitsu.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Wed, Aug 27, 2014 at 06:17:36PM +0800, Tang Chen wrote: > We have APIC_DEFAULT_PHYS_BASE defined as 0xfee00000, which is also the address of > apic access page. So use this macro. Reviewed-by: Gleb Natapov <gleb@kernel.org> > > Signed-off-by: Tang Chen <tangchen@cn.fujitsu.com> > --- > arch/x86/kvm/svm.c | 3 ++- > 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 ddf7427..1d941ad 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) > 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; > > diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c > index bfe11cf..4b80ead 100644 > --- a/arch/x86/kvm/vmx.c > +++ b/arch/x86/kvm/vmx.c > @@ -3999,13 +3999,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; > @@ -4477,7 +4477,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; > -- > 1.8.3.1 > -- Gleb. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c index ddf7427..1d941ad 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) 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; diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c index bfe11cf..4b80ead 100644 --- a/arch/x86/kvm/vmx.c +++ b/arch/x86/kvm/vmx.c @@ -3999,13 +3999,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; @@ -4477,7 +4477,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;
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> --- arch/x86/kvm/svm.c | 3 ++- arch/x86/kvm/vmx.c | 6 +++--- 2 files changed, 5 insertions(+), 4 deletions(-)