Avi Kivity wrote: > Harvey Harrison wrote: >> arch/x86/kvm/x86.c:3484:25: warning: cast truncates bits from constant >> value (100 becomes 0) >> arch/x86/kvm/x86.c:3510:24: warning: cast truncates bits from constant >> value (100 becomes 0) >> >> The problem: >> cseg_desc.type &= ~(1 << 8); //clear the B flag >> nseg_desc.type |= (1 << 8); >> >> type is a 4-bit bitfield on x86....please look into this. >> >> > > I think it ought to be (1 << 1), not (1 << 8), as it refers to the > "busy" bit of the task type. Izik? > > >From cf6e76c69a38a983df0c84a3dcc2336042eb3436 Mon Sep 17 00:00:00 2001 From: Izik Eidus <[EMAIL PROTECTED]> Date: Mon, 28 Apr 2008 18:16:08 +0300 Subject: [PATCH] KVM: x86: task switch: fix wrong bit setting for the busy flag. the busy bit is in offset of 1 inside type and not in 8.
Signed-off-by: Izik Eidus <[EMAIL PROTECTED]> --- 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 0ce5563..5c360bb 100644 --- a/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c @@ -3481,7 +3481,7 @@ int kvm_task_switch(struct kvm_vcpu *vcpu, u16 tss_selector, int reason) } 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, &cseg_desc); } @@ -3507,7 +3507,7 @@ int kvm_task_switch(struct kvm_vcpu *vcpu, u16 tss_selector, int reason) } if (reason != TASK_SWITCH_IRET) { - nseg_desc.type |= (1 << 8); + nseg_desc.type |= (1 << 1); save_guest_segment_descriptor(vcpu, tss_selector, &nseg_desc); } -- 1.5.3.6 -- woof. ------------------------------------------------------------------------- This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Don't miss this year's exciting event. There's still time to save $100. Use priority code J8TL2D2. http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone _______________________________________________ kvm-devel mailing list kvm-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/kvm-devel