Per-vcpu IO evtchn patch for HVM domain.

We are starting to send patches to support SMP VMX guest.

Signed-off-by: Xin Li <xin.b.li@intel.com>
This commit is contained in:
kaf24@firebug.cl.cam.ac.uk committed 2006-02-23 11:22:25 +01:00
1 parent d7f4473fae
commit bb86d19e6e
21 files changed
+128 -96

No files matched your search

+6 -6
View File
@@ -363,7 +363,7 @@ static PyObject *pyxc_hvm_build(XcObject *self,
{
uint32_t dom;
char *image;
int control_evtchn, store_evtchn;
int store_evtchn;
int memsize;
int vcpus = 1;
int pae = 0;
@@ -371,15 +371,15 @@ static PyObject *pyxc_hvm_build(XcObject *self,
int apic = 0;
unsigned long store_mfn = 0;
static char *kwd_list[] = { "dom", "control_evtchn", "store_evtchn",
static char *kwd_list[] = { "dom", "store_evtchn",
"memsize", "image", "vcpus", "pae", "acpi", "apic",
NULL };
if ( !PyArg_ParseTupleAndKeywords(args, kwds, "iiiisiiii", kwd_list,
&dom, &control_evtchn, &store_evtchn,
&memsize, &image, &vcpus, &pae, &acpi, &apic) )
if ( !PyArg_ParseTupleAndKeywords(args, kwds, "iiisiiii", kwd_list,
&dom, &store_evtchn, &memsize,
&image, &vcpus, &pae, &acpi, &apic) )
return NULL;
if ( xc_hvm_build(self->xc_handle, dom, memsize, image, control_evtchn,
if ( xc_hvm_build(self->xc_handle, dom, memsize, image,
vcpus, pae, acpi, apic, store_evtchn, &store_mfn) != 0 )
return PyErr_SetFromErrno(xc_error);
-9
View File
@@ -205,7 +205,6 @@ class HVMImageHandler(ImageHandler):
("image/device-model", self.device_model),
("image/display", self.display))
self.device_channel = None
self.pid = 0
self.dmargs += self.configVNC(imageConfig)
@@ -216,16 +215,10 @@ class HVMImageHandler(ImageHandler):
self.apic = int(sxp.child_value(imageConfig, 'apic', 0))
def buildDomain(self):
# Create an event channel
self.device_channel = xc.evtchn_alloc_unbound(dom=self.vm.getDomid(),
remote_dom=0)
log.info("HVM device model port: %d", self.device_channel)
store_evtchn = self.vm.getStorePort()
log.debug("dom = %d", self.vm.getDomid())
log.debug("image = %s", self.kernel)
log.debug("control_evtchn = %d", self.device_channel)
log.debug("store_evtchn = %d", store_evtchn)
log.debug("memsize = %d", self.vm.getMemoryTarget() / 1024)
log.debug("vcpus = %d", self.vm.getVCpuCount())
@@ -237,7 +230,6 @@ class HVMImageHandler(ImageHandler):
return xc.hvm_build(dom = self.vm.getDomid(),
image = self.kernel,
control_evtchn = self.device_channel,
store_evtchn = store_evtchn,
memsize = self.vm.getMemoryTarget() / 1024,
vcpus = self.vm.getVCpuCount(),
@@ -345,7 +337,6 @@ class HVMImageHandler(ImageHandler):
if len(vnc):
args = args + vnc
args = args + ([ "-d", "%d" % self.vm.getDomid(),
"-p", "%d" % self.device_channel,
"-m", "%s" % (self.vm.getMemoryTarget() / 1024)])
args = args + self.dmargs
env = dict(os.environ)
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.