mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 18:50:05 +01:00
bitkeeper revision 1.1439 (428a6cf5pJzUJXByrppn04a8boHuAw)
Fix virq delivery in Xend. xcs.c: Fix binding to virq's -- setup evtchn binding. channel.py: Use VIRQ_DOM_EXC as exported from xc. Also don't bind to virq's we don't care for or which won't get delivered to us anyway. xc.c: Export VIRQ_DOM_EXC to python. Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
This commit is contained in:
1 parent
5b0d192b95
commit
899c0f0840
3 files changed
+15
-13
No files matched your search
@@ -1279,6 +1279,7 @@ PyMODINIT_FUNC initxc(void)
|
||||
d = PyModule_GetDict(m);
|
||||
xc_error = PyErr_NewException(XENPKG ".error", NULL, NULL);
|
||||
PyDict_SetItemString(d, "error", xc_error);
|
||||
PyDict_SetItemString(d, "VIRQ_DOM_EXC", PyInt_FromLong(VIRQ_DOM_EXC));
|
||||
|
||||
zero = PyInt_FromLong(0);
|
||||
|
||||
|
||||
@@ -10,12 +10,6 @@ from xen.xend.XendLogging import log
|
||||
|
||||
from messages import *
|
||||
|
||||
VIRQ_MISDIRECT = 0 # Catch-all interrupt for unbound VIRQs.
|
||||
VIRQ_TIMER = 1 # Timebase update, and/or requested timeout.
|
||||
VIRQ_DEBUG = 2 # Request guest to dump debug info.
|
||||
VIRQ_CONSOLE = 3 # (DOM0) bytes received on emergency console.
|
||||
VIRQ_DOM_EXC = 4 # (DOM0) Exceptional event for some domain.
|
||||
|
||||
DEBUG = 0
|
||||
|
||||
RESPONSE_TIMEOUT = 20.0
|
||||
@@ -66,13 +60,8 @@ class ChannelFactory:
|
||||
def __init__(self):
|
||||
"""Constructor - do not use. Use the channelFactory function."""
|
||||
self.notifier = xu.notifier()
|
||||
# Register interest in all virqs.
|
||||
# Unfortunately virqs do not seem to be delivered.
|
||||
self.bind_virq(VIRQ_MISDIRECT)
|
||||
self.bind_virq(VIRQ_TIMER)
|
||||
self.bind_virq(VIRQ_DEBUG)
|
||||
self.bind_virq(VIRQ_CONSOLE)
|
||||
self.bind_virq(VIRQ_DOM_EXC)
|
||||
# Register interest in virqs.
|
||||
self.bind_virq(xen.lowlevel.xc.VIRQ_DOM_EXC)
|
||||
self.virqHandler = None
|
||||
|
||||
def bind_virq(self, virq):
|
||||
@@ -81,6 +70,7 @@ class ChannelFactory:
|
||||
log.info("Virq %s on port %s", virq, port)
|
||||
|
||||
def virq(self):
|
||||
log.error("virq")
|
||||
self.notifier.virq_send(self.virqPort)
|
||||
|
||||
def start(self):
|
||||
|
||||