stubdom: add videoram to stubdom initial memory reservation

This patch adds a videoram parameter (4MB is the default) to pv guests
too: if the pv guest is actually a stubdomain then the videoram size
is added to the initial required available memory.
This way there is no risk that a stubdom fails to populate the
videoram because the RAM freed for the videoram by dom0 has already
been used to create the stubdom.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
This commit is contained in:
Keir Fraser committed 2009-01-29 16:41:48 +00:00
1 parent 4419593858
commit fa5078d407
3 files changed
+22 -2

No files matched your search

+13
View File
@@ -633,6 +633,8 @@ class LinuxImageHandler(ImageHandler):
def configure(self, vmConfig):
ImageHandler.configure(self, vmConfig)
self.vramsize = int(vmConfig['platform'].get('videoram',4)) * 1024
self.is_stubdom = (self.kernel.find('stubdom') >= 0)
def buildDomain(self):
store_evtchn = self.vm.getStorePort()
@@ -664,6 +666,17 @@ class LinuxImageHandler(ImageHandler):
flags = self.flags,
vhpt = self.vhpt)
def getRequiredAvailableMemory(self, mem_kb):
if self.is_stubdom :
mem_kb += self.vramsize
return mem_kb
def getRequiredInitialReservation(self):
return self.vm.getMemoryTarget()
def getRequiredMaximumReservation(self):
return self.vm.getMemoryMaximum()
def parseDeviceModelArgs(self, vmConfig):
ret = ImageHandler.parseDeviceModelArgs(self, vmConfig)
# Equivalent to old xenconsoled behaviour. Should make
+3 -1
View File
@@ -635,6 +635,8 @@ def configure_image(vals):
if vals.root:
cmdline_root = strip('root=', vals.root)
config_image.append(['root', cmdline_root])
if vals.videoram:
config_image.append(['videoram', vals.videoram])
if vals.extra:
config_image.append(['args', vals.extra])
@@ -884,7 +886,7 @@ def configure_hvm(config_image, vals):
"""Create the config for HVM devices.
"""
args = [ 'device_model', 'pae', 'vcpus', 'boot', 'fda', 'fdb', 'timer_mode',
'localtime', 'serial', 'stdvga', 'videoram', 'isa', 'nographic', 'soundhw',
'localtime', 'serial', 'stdvga', 'isa', 'nographic', 'soundhw',
'vnc', 'vncdisplay', 'vncunused', 'vncconsole', 'vnclisten',
'sdl', 'display', 'xauthority', 'rtc_timeoffset', 'monitor',
'acpi', 'apic', 'usb', 'usbdevice', 'keymap', 'pci', 'hpet',
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.