xen_pvh: Support building a standalone image

Support mkimage for xen_pvh.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
Tested-by: Hans van Kranenburg <hans@knorrie.org>
This commit is contained in:
Juergen Gross 2018-12-07 13:11:46 +01:00 committed by Daniel Kiper
parent 9bce25213a
commit 78899c42d7
5 changed files with 70 additions and 8 deletions

View file

@ -132,6 +132,24 @@ static const struct grub_install_image_target_desc image_targets[] =
.link_addr = GRUB_KERNEL_I386_PC_LINK_ADDR,
.default_compression = GRUB_COMPRESSION_LZMA
},
{
.dirname = "i386-xen_pvh",
.names = { "i386-xen_pvh", NULL },
.voidp_sizeof = 4,
.bigendian = 0,
.id = IMAGE_XEN_PVH,
.flags = PLATFORM_FLAGS_NONE,
.total_module_size = TARGET_NO_FIELD,
.decompressor_compressed_size = TARGET_NO_FIELD,
.decompressor_uncompressed_size = TARGET_NO_FIELD,
.decompressor_uncompressed_addr = TARGET_NO_FIELD,
.elf_target = EM_386,
.section_align = 1,
.vaddr_offset = 0,
.link_addr = GRUB_KERNEL_I386_XEN_PVH_LINK_ADDR,
.mod_align = GRUB_KERNEL_I386_XEN_PVH_MOD_ALIGN,
.link_align = 4
},
{
.dirname = "i386-pc",
.names = { "i386-pc-pxe", NULL },
@ -860,7 +878,8 @@ grub_install_generate_image (const char *dir, const char *prefix,
else
kernel_img = grub_mkimage_load_image64 (kernel_path, total_module_size,
&layout, image_target);
if (image_target->id == IMAGE_XEN && layout.align < 4096)
if ((image_target->id == IMAGE_XEN || image_target->id == IMAGE_XEN_PVH) &&
layout.align < 4096)
layout.align = 4096;
if ((image_target->flags & PLATFORM_FLAGS_DECOMPRESSORS)
@ -1103,6 +1122,7 @@ grub_install_generate_image (const char *dir, const char *prefix,
case IMAGE_MIPS_ARC:
case IMAGE_QEMU_MIPS_FLASH:
case IMAGE_XEN:
case IMAGE_XEN_PVH:
break;
case IMAGE_SPARC64_AOUT:
case IMAGE_SPARC64_RAW:
@ -1679,6 +1699,7 @@ grub_install_generate_image (const char *dir, const char *prefix,
case IMAGE_LOONGSON_ELF:
case IMAGE_PPC:
case IMAGE_XEN:
case IMAGE_XEN_PVH:
case IMAGE_COREBOOT:
case IMAGE_I386_IEEE1275:
{