WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-changelog

[Xen-changelog] This is a fix for some device model corner cases includi

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] This is a fix for some device model corner cases including:
From: Xen patchbot -unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Fri, 04 Nov 2005 12:14:06 +0000
Delivery-date: Fri, 04 Nov 2005 12:14:13 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# 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

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] This is a fix for some device model corner cases including:, Xen patchbot -unstable <=