KVM: x86: task switch: fix wrong bit setting for the busy flag
The busy bit is bit 1 of the type field, not bit 8. Signed-off-by: Izik Eidus <izike@qumranet.com> Signed-off-by: Avi Kivity <avi@qumranet.com>
This commit is contained in:
parent
1439442c7b
commit
3fe913e7c5
|
@ -3484,7 +3484,7 @@ int kvm_task_switch(struct kvm_vcpu *vcpu, u16 tss_selector, int reason)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (reason == TASK_SWITCH_IRET || reason == TASK_SWITCH_JMP) {
|
if (reason == TASK_SWITCH_IRET || reason == TASK_SWITCH_JMP) {
|
||||||
cseg_desc.type &= ~(1 << 8); //clear the B flag
|
cseg_desc.type &= ~(1 << 1); //clear the B flag
|
||||||
save_guest_segment_descriptor(vcpu, tr_seg.selector,
|
save_guest_segment_descriptor(vcpu, tr_seg.selector,
|
||||||
&cseg_desc);
|
&cseg_desc);
|
||||||
}
|
}
|
||||||
|
@ -3510,7 +3510,7 @@ int kvm_task_switch(struct kvm_vcpu *vcpu, u16 tss_selector, int reason)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (reason != TASK_SWITCH_IRET) {
|
if (reason != TASK_SWITCH_IRET) {
|
||||||
nseg_desc.type |= (1 << 8);
|
nseg_desc.type |= (1 << 1);
|
||||||
save_guest_segment_descriptor(vcpu, tss_selector,
|
save_guest_segment_descriptor(vcpu, tss_selector,
|
||||||
&nseg_desc);
|
&nseg_desc);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue