KVM: Introduce kvm_vcpu_is_bsp() function.
Use it instead of open code "vcpu_id zero is BSP" assumption. Signed-off-by: Gleb Natapov <gleb@redhat.com> Signed-off-by: Avi Kivity <avi@redhat.com>
This commit is contained in:
@@ -2411,7 +2411,7 @@ static int vmx_vcpu_reset(struct kvm_vcpu *vcpu)
|
||||
vmx->vcpu.arch.regs[VCPU_REGS_RDX] = get_rdx_init_val();
|
||||
kvm_set_cr8(&vmx->vcpu, 0);
|
||||
msr = 0xfee00000 | MSR_IA32_APICBASE_ENABLE;
|
||||
if (vmx->vcpu.vcpu_id == 0)
|
||||
if (kvm_vcpu_is_bsp(&vmx->vcpu))
|
||||
msr |= MSR_IA32_APICBASE_BSP;
|
||||
kvm_set_apic_base(&vmx->vcpu, msr);
|
||||
|
||||
@@ -2422,7 +2422,7 @@ static int vmx_vcpu_reset(struct kvm_vcpu *vcpu)
|
||||
* GUEST_CS_BASE should really be 0xffff0000, but VT vm86 mode
|
||||
* insists on having GUEST_CS_BASE == GUEST_CS_SELECTOR << 4. Sigh.
|
||||
*/
|
||||
if (vmx->vcpu.vcpu_id == 0) {
|
||||
if (kvm_vcpu_is_bsp(&vmx->vcpu)) {
|
||||
vmcs_write16(GUEST_CS_SELECTOR, 0xf000);
|
||||
vmcs_writel(GUEST_CS_BASE, 0x000f0000);
|
||||
} else {
|
||||
@@ -2451,7 +2451,7 @@ static int vmx_vcpu_reset(struct kvm_vcpu *vcpu)
|
||||
vmcs_writel(GUEST_SYSENTER_EIP, 0);
|
||||
|
||||
vmcs_writel(GUEST_RFLAGS, 0x02);
|
||||
if (vmx->vcpu.vcpu_id == 0)
|
||||
if (kvm_vcpu_is_bsp(&vmx->vcpu))
|
||||
kvm_rip_write(vcpu, 0xfff0);
|
||||
else
|
||||
kvm_rip_write(vcpu, 0);
|
||||
|
Reference in New Issue
Block a user