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] [xen-unstable] xentrace: trace interrupt window

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-unstable] xentrace: trace interrupt window
From: Xen patchbot-unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Sat, 06 Dec 2008 04:20:37 -0800
Delivery-date: Sat, 06 Dec 2008 04:23:01 -0800
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/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/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 Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1228475145 0
# Node ID b44e244d7bb93e2e7044bdb6ea5ca7cf341fd312
# Parent  99f01b8184c7c16f612731e2a525687dc8d424dc
xentrace: trace interrupt window

Make a specific interrupt-window trace, with information about why the
interrupt in question can't be delivered.

Signed-off-by: George Dunlap <george.dunlap@xxxxxxxxxxxxx>
---
 xen/arch/x86/hvm/svm/intr.c     |    3 ++-
 xen/arch/x86/hvm/vmx/intr.c     |    7 +++++++
 xen/include/asm-x86/hvm/trace.h |    1 +
 xen/include/public/trace.h      |    1 +
 4 files changed, 11 insertions(+), 1 deletion(-)

diff -r 99f01b8184c7 -r b44e244d7bb9 xen/arch/x86/hvm/svm/intr.c
--- a/xen/arch/x86/hvm/svm/intr.c       Fri Dec 05 10:59:41 2008 +0000
+++ b/xen/arch/x86/hvm/svm/intr.c       Fri Dec 05 11:05:45 2008 +0000
@@ -80,7 +80,8 @@ static void enable_intr_window(struct vc
 
     ASSERT(intack.source != hvm_intsrc_none);
 
-    HVMTRACE_2D(INJ_VIRQ, 0x0, /*fake=*/ 1);
+    HVMTRACE_3D(INTR_WINDOW, intack.vector, intack.source,
+                vmcb->eventinj.fields.v?vmcb->eventinj.fields.vector:-1);
 
     /*
      * Create a dummy virtual interrupt to intercept as soon as the
diff -r 99f01b8184c7 -r b44e244d7bb9 xen/arch/x86/hvm/vmx/intr.c
--- a/xen/arch/x86/hvm/vmx/intr.c       Fri Dec 05 10:59:41 2008 +0000
+++ b/xen/arch/x86/hvm/vmx/intr.c       Fri Dec 05 11:05:45 2008 +0000
@@ -73,6 +73,13 @@ static void enable_intr_window(struct vc
     u32 ctl = CPU_BASED_VIRTUAL_INTR_PENDING;
 
     ASSERT(intack.source != hvm_intsrc_none);
+
+    if ( unlikely(tb_init_done) )
+    {
+        unsigned int intr = __vmread(VM_ENTRY_INTR_INFO);
+        HVMTRACE_3D(INTR_WINDOW, intack.vector, intack.source,
+                    (intr & INTR_INFO_VALID_MASK) ? intr & 0xff : -1);
+    }
 
     if ( (intack.source == hvm_intsrc_nmi) && cpu_has_vmx_vnmi )
     {
diff -r 99f01b8184c7 -r b44e244d7bb9 xen/include/asm-x86/hvm/trace.h
--- a/xen/include/asm-x86/hvm/trace.h   Fri Dec 05 10:59:41 2008 +0000
+++ b/xen/include/asm-x86/hvm/trace.h   Fri Dec 05 11:05:45 2008 +0000
@@ -24,6 +24,7 @@
 #define DO_TRC_HVM_INJ_EXC     DEFAULT_HVM_INJECT
 #define DO_TRC_HVM_INJ_VIRQ    DEFAULT_HVM_INJECT
 #define DO_TRC_HVM_REINJ_VIRQ  DEFAULT_HVM_INJECT
+#define DO_TRC_HVM_INTR_WINDOW DEFAULT_HVM_INJECT
 #define DO_TRC_HVM_IO_READ     DEFAULT_HVM_IO
 #define DO_TRC_HVM_IO_WRITE    DEFAULT_HVM_IO
 #define DO_TRC_HVM_CR_READ     DEFAULT_HVM_REGACCESS
diff -r 99f01b8184c7 -r b44e244d7bb9 xen/include/public/trace.h
--- a/xen/include/public/trace.h        Fri Dec 05 10:59:41 2008 +0000
+++ b/xen/include/public/trace.h        Fri Dec 05 11:05:45 2008 +0000
@@ -148,6 +148,7 @@
 #define TRC_HVM_CLTS            (TRC_HVM_HANDLER + 0x18)
 #define TRC_HVM_LMSW            (TRC_HVM_HANDLER + 0x19)
 #define TRC_HVM_LMSW64          (TRC_HVM_HANDLER + TRC_64_FLAG + 0x19)
+#define TRC_HVM_INTR_WINDOW     (TRC_HVM_HANDLER + 0X20)
 
 /* trace subclasses for power management */
 #define TRC_PM_FREQ     0x00801000      /* xen cpu freq events */

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [xen-unstable] xentrace: trace interrupt window, Xen patchbot-unstable <=