VMX guest memory calculation in python code is corrupted by changeset

6984, this patch fixes it.

Also print vmx builder parameters before calling vmx builer, just like
what's done before calling linux builder.

With this patch, qemu dm using SDL can work, however qemu dm using VNC
still has bug, we will fix it soon.

Signed-off-by: Xin Li <xin.b.li@intel.com>
This commit is contained in:
emellor@ewan committed 2005-09-22 11:21:37 +01:00
1 parent 7dfa4a382a
commit 79e2c4bff3
1 file changed
+14 -2
+14 -2
View File
@@ -300,6 +300,18 @@ class VmxImageHandler(ImageHandler):
store_evtchn = self.vm.store_channel.port2
else:
store_evtchn = 0
log.debug("dom = %d", self.vm.getDomain())
log.debug("image = %s", self.kernel)
log.debug("control_evtchn = %d", self.device_channel.port2)
log.debug("store_evtchn = %d", store_evtchn)
log.debug("memsize = %d", self.vm.getMemoryTarget() / 1024)
log.debug("memmap = %s", self.memmap_value)
log.debug("cmdline = %s", self.cmdline)
log.debug("ramdisk = %s", self.ramdisk)
log.debug("flags = %d", self.flags)
log.debug("vcpus = %d", self.vm.getVCpuCount())
ret = xc.vmx_build(dom = self.vm.getDomain(),
image = self.kernel,
control_evtchn = self.device_channel.port2,
@@ -402,7 +414,7 @@ class VmxImageHandler(ImageHandler):
args = args + vnc
args = args + ([ "-d", "%d" % self.vm.getDomain(),
"-p", "%d" % self.device_channel.port1,
"-m", "%s" % self.vm.getMemoryTarget() / 1024 ])
"-m", "%s" % (self.vm.getMemoryTarget() / 1024)])
args = args + self.dmargs
env = dict(os.environ)
env['DISPLAY'] = self.display
@@ -437,7 +449,7 @@ class VmxImageHandler(ImageHandler):
"""@see ImageHandler.getDomainMemory"""
# for ioreq_t and xenstore
static_pages = 2
return mem + self.getPageTableSize(mem * 1024) + 4 * static_pages
return mem + self.getPageTableSize(mem / 1024) + 4 * static_pages
def getPageTableSize(self, mem_mb):
"""Return the size of memory needed for 1:1 page tables for physical
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.