[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH] tools/libxc: Fix construction of HVM guests with non-default firmware

c/s 1ee15d7 "libxl: switch HVM domain building to use xc_dom_* helpers"
introduced a regression building HVM domains in combination with the libxl
"firmware_override=" option.

The older HVM building code (now removed) had no 32bit ELF check, so would
happily load ELF64 images which contained a stub to switch into long mode.

It is convenient for the ELF file to match the intended runmode rather
than the starting runmode.  As such, don't make an arbitrary restriction.

Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
CC: Ian Campbell <Ian.Campbell@xxxxxxxxxx>
CC: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx>
CC: Wei Liu <wei.liu2@xxxxxxxxxx>
CC: Roger Pau Monnà <roger.pau@xxxxxxxxxx>

My Xen Test Framework (which is almost ready to be formally presented on
xen-devel) uses ELF32/ELF64 for the intended runmode to make
compiling/disassembling easier.

At the point that the developer is specifying firmware_override, they are into
"just do what I tell you" territory, and can keep both pieces if they have
actually passed a broken firmware.

This change has actually regressed XenServers automated testing against
xen-upstream, which does make use of the Test Framework.
 tools/libxc/xc_dom_hvmloader.c | 7 -------
 1 file changed, 7 deletions(-)

diff --git a/tools/libxc/xc_dom_hvmloader.c b/tools/libxc/xc_dom_hvmloader.c
index 79a3b99..0cf9887 100644
--- a/tools/libxc/xc_dom_hvmloader.c
+++ b/tools/libxc/xc_dom_hvmloader.c
@@ -107,13 +107,6 @@ static elf_errorstatus xc_dom_parse_hvm_kernel(struct 
xc_dom_image *dom)
         return rc;
-    if ( !elf_32bit(elf) )
-    {
-        xc_dom_panic(dom->xch, XC_INVALID_KERNEL, "%s: ELF image is not 32bit",
-                     __func__);
-        return -EINVAL;
-    }
     /* parse binary and get xen meta info */

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.