Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 94cea1bb authored by Avi Kivity's avatar Avi Kivity
Browse files

KVM: Initialize the BSP bit in the APIC_BASE msr correctly



Needs to be set on vcpu 0 only.

Signed-off-by: default avatarAvi Kivity <avi@qumranet.com>
parent a3870c47
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -589,9 +589,9 @@ static int svm_create_vcpu(struct kvm_vcpu *vcpu)

	fx_init(vcpu);
	vcpu->fpu_active = 1;
	vcpu->apic_base = 0xfee00000 |
			/*for vcpu 0*/ MSR_IA32_APICBASE_BSP |
			MSR_IA32_APICBASE_ENABLE;
	vcpu->apic_base = 0xfee00000 | MSR_IA32_APICBASE_ENABLE;
	if (vcpu == &vcpu->kvm->vcpus[0])
		vcpu->apic_base |= MSR_IA32_APICBASE_BSP;

	return 0;

+3 −3
Original line number Diff line number Diff line
@@ -1238,9 +1238,9 @@ static int vmx_vcpu_setup(struct kvm_vcpu *vcpu)
	memset(vcpu->regs, 0, sizeof(vcpu->regs));
	vcpu->regs[VCPU_REGS_RDX] = get_rdx_init_val();
	vcpu->cr8 = 0;
	vcpu->apic_base = 0xfee00000 |
			/*for vcpu 0*/ MSR_IA32_APICBASE_BSP |
			MSR_IA32_APICBASE_ENABLE;
	vcpu->apic_base = 0xfee00000 | MSR_IA32_APICBASE_ENABLE;
	if (vcpu == &vcpu->kvm->vcpus[0])
		vcpu->apic_base |= MSR_IA32_APICBASE_BSP;

	fx_init(vcpu);