Page MenuHomeFreeBSD

D30006.id92836.diff
No OneTemporary

D30006.id92836.diff

Index: sys/xen/xen_intr.h
===================================================================
--- sys/xen/xen_intr.h
+++ sys/xen/xen_intr.h
@@ -38,7 +38,7 @@
/** Registered Xen interrupt callback handle. */
typedef void * xen_intr_handle_t;
-void xen_intr_handle_upcall(struct trapframe *trap_frame);
+int xen_intr_handle_upcall(struct trapframe *trap_frame);
/**
* Associate an already allocated local event channel port an interrupt
Index: sys/xen/xen_intr.c
===================================================================
--- sys/xen/xen_intr.c
+++ sys/xen/xen_intr.c
@@ -488,7 +488,7 @@
*
* \param trap_frame The trap frame context for the current interrupt.
*/
-void
+int
xen_intr_handle_upcall(struct trapframe *trap_frame)
{
u_int l1i, l2i, port, cpu;
@@ -591,10 +591,14 @@
}
}
+#if defined(__amd64__) || defined(__i386__)
if (xen_evtchn_needs_ack)
lapic_eoi();
+#endif
critical_exit();
+
+ return (FILTER_HANDLED);
}
static int

File Metadata

Mime Type
text/plain
Expires
Sat, Jun 13, 11:00 PM (10 h, 32 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
33935638
Default Alt Text
D30006.id92836.diff (981 B)

Event Timeline