diff options
author | Izik Eidus <izike@qumranet.com> | 2008-04-28 11:23:52 -0400 |
---|---|---|
committer | Avi Kivity <avi@qumranet.com> | 2008-05-04 07:44:43 -0400 |
commit | 3fe913e7c550a869e250d04c34410f7a6e263f7c (patch) | |
tree | 557f9a5011ea5440fd95e4fd41183bda204b270b /arch | |
parent | 1439442c7b257b47a83aea4daed8fbf4a32cdff9 (diff) |
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>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/x86/kvm/x86.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c index 1842a86f7c33..017daa2561f4 100644 --- a/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c | |||
@@ -3484,7 +3484,7 @@ int kvm_task_switch(struct kvm_vcpu *vcpu, u16 tss_selector, int reason) | |||
3484 | } | 3484 | } |
3485 | 3485 | ||
3486 | if (reason == TASK_SWITCH_IRET || reason == TASK_SWITCH_JMP) { | 3486 | if (reason == TASK_SWITCH_IRET || reason == TASK_SWITCH_JMP) { |
3487 | cseg_desc.type &= ~(1 << 8); //clear the B flag | 3487 | cseg_desc.type &= ~(1 << 1); //clear the B flag |
3488 | save_guest_segment_descriptor(vcpu, tr_seg.selector, | 3488 | save_guest_segment_descriptor(vcpu, tr_seg.selector, |
3489 | &cseg_desc); | 3489 | &cseg_desc); |
3490 | } | 3490 | } |
@@ -3510,7 +3510,7 @@ int kvm_task_switch(struct kvm_vcpu *vcpu, u16 tss_selector, int reason) | |||
3510 | } | 3510 | } |
3511 | 3511 | ||
3512 | if (reason != TASK_SWITCH_IRET) { | 3512 | if (reason != TASK_SWITCH_IRET) { |
3513 | nseg_desc.type |= (1 << 8); | 3513 | nseg_desc.type |= (1 << 1); |
3514 | save_guest_segment_descriptor(vcpu, tss_selector, | 3514 | save_guest_segment_descriptor(vcpu, tss_selector, |
3515 | &nseg_desc); | 3515 | &nseg_desc); |
3516 | } | 3516 | } |