[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] stubdom: add videoram to stubdom initial memory reservation
# HG changeset patch # User Keir Fraser <keir.fraser@xxxxxxxxxx> # Date 1233247308 0 # Node ID 988aee72f73da366ee4f83b3db676be08115b80c # Parent e1352667df950a597b82171b506ca5b5cce891fe 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@xxxxxxxxxxxxx> --- stubdom/stubdom-dm | 7 ++++++- tools/python/xen/xend/image.py | 13 +++++++++++++ tools/python/xen/xm/create.py | 4 +++- 3 files changed, 22 insertions(+), 2 deletions(-) diff -r e1352667df95 -r 988aee72f73d stubdom/stubdom-dm --- a/stubdom/stubdom-dm Thu Jan 29 16:40:48 2009 +0000 +++ b/stubdom/stubdom-dm Thu Jan 29 16:41:48 2009 +0000 @@ -15,6 +15,7 @@ vncviewer=0 vncviewer=0 vncpid= extra= +videoram=4 while [ "$#" -gt 0 ]; do if [ "$#" -ge 2 ]; @@ -38,6 +39,10 @@ do extra="$extra -loadvm $2"; shift ;; + -videoram) + videoram="$2" + shift + ;; esac fi case "$1" in @@ -72,7 +77,7 @@ do sleep 1 done -creation="xm create -c $domname-dm target=$domid memory=32 extra=\"$extra\"" +creation="xm create -c $domname-dm target=$domid memory=32 videoram=$videoram extra=\"$extra\"" (while true ; do sleep 60 ; done) | /bin/sh -c "$creation" & #xterm -geometry +0+0 -e /bin/sh -c "$creation ; echo ; echo press ENTER to shut down ; read" & diff -r e1352667df95 -r 988aee72f73d tools/python/xen/xend/image.py --- a/tools/python/xen/xend/image.py Thu Jan 29 16:40:48 2009 +0000 +++ b/tools/python/xen/xend/image.py Thu Jan 29 16:41:48 2009 +0000 @@ -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() @@ -663,6 +665,17 @@ class LinuxImageHandler(ImageHandler): features = self.vm.getFeatures(), 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) diff -r e1352667df95 -r 988aee72f73d tools/python/xen/xm/create.py --- a/tools/python/xen/xm/create.py Thu Jan 29 16:40:48 2009 +0000 +++ b/tools/python/xen/xm/create.py Thu Jan 29 16:41:48 2009 +0000 @@ -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', _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |