Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/netbsd-3]: src/sys/arch/xen/i386 Pull up revision 1.8 (requested by yamt...



details:   https://anonhg.NetBSD.org/src/rev/214408c2a743
branches:  netbsd-3
changeset: 575370:214408c2a743
user:      tron <tron%NetBSD.org@localhost>
date:      Wed Apr 13 21:39:12 2005 +0000

description:
Pull up revision 1.8 (requested by yamt in ticket #146):
fix a bug which corrupts runqueue.
when dealing with events, which are handed to xenevt pseudo device,
don't call wakeup(9)/selnotify(9) at too high IPL.  PR/29792.

diffstat:

 sys/arch/xen/i386/vector.S |  21 ++++++++++++++++++++-
 1 files changed, 20 insertions(+), 1 deletions(-)

diffs (35 lines):

diff -r 47f52049d009 -r 214408c2a743 sys/arch/xen/i386/vector.S
--- a/sys/arch/xen/i386/vector.S        Wed Apr 13 21:39:05 2005 +0000
+++ b/sys/arch/xen/i386/vector.S        Wed Apr 13 21:39:12 2005 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: vector.S,v 1.6.2.1 2005/03/20 14:30:22 tron Exp $      */
+/*     $NetBSD: vector.S,v 1.6.2.2 2005/04/13 21:39:12 tron Exp $      */
 /*     NetBSD: 1.13 2004/03/11 11:39:26 yamt Exp       */
 
 /*
@@ -923,6 +923,25 @@
        decl    CPUVAR(IDEPTH)
        jmp     *%esi
 
+#if defined(XEN) && defined(DOM0OPS)
+IDTVEC(softxenevt)
+       movl    $IPL_SOFTXENEVT, CPUVAR(ILEVEL)
+       STI(%eax)
+       incl    CPUVAR(IDEPTH)
+#ifdef MULTIPROCESSOR
+       call    _C_LABEL(x86_softintlock)
+#endif
+       movl    CPUVAR(ISOURCES) + SIR_XENEVT * 4, %edi
+       addl    $1,IS_EVCNTLO(%edi)
+       adcl    $0,IS_EVCNTHI(%edi)
+       call    _C_LABEL(xenevt_notify)
+#ifdef MULTIPROCESSOR
+       call    _C_LABEL(x86_softintunlock)
+#endif
+       decl    CPUVAR(IDEPTH)
+       jmp     *%esi
+#endif /* defined(XEN) && defined(DOM0OPS) */
+
 /*
  * Trap and fault vector routines
  *



Home | Main Index | Thread Index | Old Index