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:
cl349@firebug.cl.cam.ac.uk committed 2005-05-17 22:15:17 +00:00
1 parent 5b0d192b95
commit 899c0f0840
3 files changed
+15 -13

No files matched your search

+1
View File
@@ -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);
+3 -13
View File
@@ -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):
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.