From: Keir Fraser Date: Mon, 11 Feb 2008 14:42:52 +0000 (+0000) Subject: xend: Better support for legacy HVM config with hvmloader configured X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~14317^2~46 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=81375c4b062c25871e2af0b45977b4a0a2141250;p=xen.git xend: Better support for legacy HVM config with hvmloader configured via the 'kernel' config option: 1. Look for any string containing 'hvmloader'. 2. The 'kernel' option must be scrubbed to avoid taking PV-kernel-loading paths during later guest setup. Signed-off-by: Keir Fraser --- diff --git a/tools/python/xen/xend/XendConfig.py b/tools/python/xen/xend/XendConfig.py index 1eb7ee78ca..5c76e02650 100644 --- a/tools/python/xen/xend/XendConfig.py +++ b/tools/python/xen/xend/XendConfig.py @@ -406,15 +406,13 @@ class XendConfig(dict): if self.is_hvm(): if 'loader' not in self['platform']: - log.debug("No loader present") - # Old configs may have hvmloder set as PV_kernel param, - # so lets migrate them.... - if self['PV_kernel'] == "/usr/lib/xen/boot/hvmloader": + # Old configs may have hvmloader set as PV_kernel param + if self.has_key('PV_kernel') and re.search('hvmloader', self['PV_kernel']): self['platform']['loader'] = self['PV_kernel'] - log.debug("Loader copied from kernel %s" % str(self['platform']['loader'])) + self['PV_kernel'] = '' else: self['platform']['loader'] = "/usr/lib/xen/boot/hvmloader" - log.debug("Loader %s" % str(self['platform']['loader'])) + log.debug("Loader is %s" % str(self['platform']['loader'])) # Compatibility hack, can go away soon. if 'soundhw' not in self['platform'] and \ diff --git a/tools/python/xen/xend/image.py b/tools/python/xen/xend/image.py index 0519e32a26..4ceb36194f 100644 --- a/tools/python/xen/xend/image.py +++ b/tools/python/xen/xend/image.py @@ -455,7 +455,7 @@ class HVMImageHandler(ImageHandler): ret = ImageHandler.parseDeviceModelArgs(self, vmConfig) ret = ret + ['-vcpus', str(self.vm.getVCpuCount())] - if self.kernel and self.kernel != "/usr/lib/xen/boot/hvmloader": + if self.kernel: log.debug("kernel = %s", self.kernel) ret = ret + ['-kernel', self.kernel] if self.ramdisk: