Not quit understand the following code. If we just set 
a vcpu request bits w/o real irq injection, we can't resume
to guest?  Othrewise, the guest is in interruptable state and can
 see irq pending, but it doesn't get the interrupt.

Something missing?
thx,eddie


--- a/drivers/kvm/vmx.c
+++ b/drivers/kvm/vmx.c
@@ -1678,10 +1678,11 @@ static void inject_rmode_irq(struct kvm_vcpu
*vcpu, int irq)
        vmcs_writel(GUEST_RSP, (vmcs_readl(GUEST_RSP) & ~0xffff) | (sp -
6));
 }
 
-static void vmx_inject_irq(struct kvm_vcpu *vcpu, int irq)
+void vmx_inject_irq(struct kvm_vcpu *vcpu, int irq)
 {
        if (vcpu->rmode.active) {
-               inject_rmode_irq(vcpu, irq);
+               vcpu->inject_rmode_irq = irq;
+               set_bit(VMX_INJECT_RMODE_IRQ, &vcpu->requests);
                return;
        }
        vmcs_write32(VM_ENTRY_INTR_INFO_FIELD,


-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel

Reply via email to