[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] This is a fix for some device model corner cases including:
# HG changeset patch # User kaf24@xxxxxxxxxxxxxxxxxxxx # Node ID 21d175472d55522cdbecd2a1018ad5eb35e7d487 # Parent 1a5861311b04698744fb426c18a0af48bbdad4c7 This is a fix for some device model corner cases including: 1: mistake sequence of set/clr to virtual IRQ line. 2: wrong sequence of IRQ request clear 3: Add one more place to enable_irq_window. Signed-off-by: Eddie Dong <eddie.dong@xxxxxxxxx> diff -r 1a5861311b04 -r 21d175472d55 tools/ioemu/hw/i8259_stub.c --- a/tools/ioemu/hw/i8259_stub.c Fri Nov 4 10:06:41 2005 +++ b/tools/ioemu/hw/i8259_stub.c Fri Nov 4 10:08:45 2005 @@ -55,13 +55,13 @@ if ( gio->pic_elcr & mask ) { /* level */ if ( level ) { + atomic_clear_bit(irq, &gio->pic_clear_irr); atomic_set_bit(irq, &gio->pic_irr); - atomic_clear_bit(irq, &gio->pic_clear_irr); global_env->send_event = 1; } else { + atomic_clear_bit(irq, &gio->pic_irr); atomic_set_bit(irq, &gio->pic_clear_irr); - atomic_clear_bit(irq, &gio->pic_irr); global_env->send_event = 1; } } diff -r 1a5861311b04 -r 21d175472d55 xen/arch/x86/dm/i8259.c --- a/xen/arch/x86/dm/i8259.c Fri Nov 4 10:06:41 2005 +++ b/xen/arch/x86/dm/i8259.c Fri Nov 4 10:08:45 2005 @@ -512,10 +512,10 @@ if ( !plat->interrupt_request ) return -1; + plat->interrupt_request = 0; /* read the irq from the PIC */ intno = pic_read_irq(s); *type = VLAPIC_DELIV_MODE_EXT; - plat->interrupt_request = 0; return intno; } diff -r 1a5861311b04 -r 21d175472d55 xen/arch/x86/vmx_io.c --- a/xen/arch/x86/vmx_io.c Fri Nov 4 10:06:41 2005 +++ b/xen/arch/x86/vmx_io.c Fri Nov 4 10:08:45 2005 @@ -881,6 +881,7 @@ __vmread(VM_ENTRY_INTR_INFO_FIELD, &intr_fields); if (intr_fields & INTR_INFO_VALID_MASK) { + enable_irq_window(cpu_exec_control); VMX_DBG_LOG(DBG_LEVEL_1, "vmx_intr_assist: intr_fields: %lx", intr_fields); return; _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |