mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 18:21:39 +01:00
This patch provides the tools support for direct kernel boot of HVM guests. Currently the config files in /etc/xen support the args 'kernel', 'ramdisk' and 'extra'. For PV guests these have the obvious meaning. Unfortunately HVM guest configs hijacked the 'kernel' parameter and use it to refer to the path of the HVM firmware. So, this patch adds a new config file parameter called 'loader' which is used to refer to the HVM firmware instead. The conventions for loading the initrd image say that it should live at the end of memory. This requires QEMU to know the size of the guest's initial RAM allocation, so image.py is changed to pass the '-m' flag to QEMU. The HVMImageHandler class in image.py is changed so that if the 'kernel', 'ramdisk' or 'extra' params were given in the config these are passed to QEMU with the '-kernel', '-initrd' and '-append' flags respectively. Finally, the 'loader' param is used as the arg to 'xc_hvm_build' instead of the old 'kernel' param. For the sake of compatability with old HVM guest config files, if the config file has a 'kernel' param whose path matches that of the HVM firmware, then we automatically convert this 'kernel' param into the 'loader' param. This ensures existing HVM guests work without changes required. Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
The file test.py here is from the Zope project, and is Copyright (c) 2001, 2002 Zope Corporation and Contributors. This file is released under the Zope Public License, version 2.0, a copy of which is in the file ZPL-2.0.