[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] [HVM][SVM] Do not delay ExtInt event injection if RFLAGS.IF==0.
# HG changeset patch # User kaf24@xxxxxxxxxxxxxxxxxxxx # Node ID a949bd6ceb85d4ee11a2fd896487299427a41592 # Parent 9977b878557066527ccdf37bf388d8efbba3eaa1 [HVM][SVM] Do not delay ExtInt event injection if RFLAGS.IF==0. AMD-V does not require the delaying of interrupt injection if the guest IF_FLAG disallows interrupts. Remove the code in svm_intr_assist() that was checking the guest IF in eflags. This patch fixes the problem with HVM Windows guests, with observing a very slow timer countdown on the initial boot menu, when there is more than one boot option. Kbd response in this same Windows boot menu is also acceptably responsive with this patch. Signed-off-by: Tom Woller <thomas.woller@xxxxxxx>=20 --- xen/arch/x86/hvm/svm/intr.c | 9 --------- 1 files changed, 9 deletions(-) diff -r 9977b8785570 -r a949bd6ceb85 xen/arch/x86/hvm/svm/intr.c --- a/xen/arch/x86/hvm/svm/intr.c Fri Sep 29 19:12:15 2006 +0100 +++ b/xen/arch/x86/hvm/svm/intr.c Sat Sep 30 10:49:08 2006 +0100 @@ -74,7 +74,6 @@ asmlinkage void svm_intr_assist(void) int intr_type = APIC_DM_EXTINT; int intr_vector = -1; int re_injecting = 0; - unsigned long rflags; ASSERT(vmcb); @@ -87,14 +86,6 @@ asmlinkage void svm_intr_assist(void) re_injecting = 1; } - /* Guest's interrputs masked? */ - rflags = vmcb->rflags; - if (irq_masked(rflags)) { - HVM_DBG_LOG(DBG_LEVEL_1, "Guest IRQs masked: rflags: %lx", rflags); - /* bail out, we won't be injecting an interrupt this time */ - return; - } - /* Previous interrupt still pending? */ if (vmcb->vintr.fields.irq) { // printk("Re-injecting IRQ from Vintr\n"); _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |