libvirt/src/libxl
Andrea Bolognani 10a8997cbb conf: Don't default to raw format for loader/NVRAM
Due to the way the information is stored by the XML parser, we've
had this quirk where specifying any information about the loader
or NVRAM would implicitly set its format to raw. That is,

  <nvram>/path/to/guest_VARS.fd</nvram>

would effectively be interpreted as

  <nvram format='raw'>/path/to/guest_VARS.fd</nvram>

forcing the use of raw format firmware even when qcow2 format
would normally be preferred based on the ordering of firmware
descriptors. This behavior can be worked around in a number of
ways, but it's fairly unintuitive.

In order to remove this quirk, move the selection of the default
firmware format from the parser down to the individual drivers.

Most drivers only support raw firmware images, so they can
unconditionally set the format early and be done with it; the
QEMU driver, however, supports multiple formats and so in that
case we want this default to be applied as late as possible,
when we have already ruled out the possibility of using qcow2
formatted firmware images.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
2023-08-21 13:51:34 +02:00
..
libvirtd_libxl.aug libxl: do not enable nested HVM unless global nested_hvm option enabled 2018-04-17 21:15:27 -06:00
libxl_api_wrapper.h libxl: add API wrapper for libxl_set_memory_target 2021-04-01 14:01:06 -06:00
libxl_capabilities.c lib: Finish using struct zero initializer manually 2023-08-03 16:41:19 +02:00
libxl_capabilities.h lib: Use G_NO_INLINE instead of G_GNUC_NO_INLINE 2022-07-18 17:23:15 +02:00
libxl_conf.c conf: Don't default to raw format for loader/NVRAM 2023-08-21 13:51:34 +02:00
libxl_conf.h libxl: Remove unused includes 2022-06-16 06:43:56 +02:00
libxl_domain.c libxl: Update format strings in translated messages 2023-04-01 11:40:33 +02:00
libxl_domain.h libxl: use virDomainObjEndJob() 2022-09-07 12:14:29 +02:00
libxl_driver.c lib: use struct zero initializer instead of memset 2023-08-03 16:41:19 +02:00
libxl_driver.h src/libxl: use #pragma once in headers 2019-06-13 17:05:10 +02:00
libxl_logger.c libxl: Remove unused includes 2022-06-16 06:43:56 +02:00
libxl_logger.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
libxl_migration.c libxl: Don't attempt to resume domain on canceled migration 2023-07-13 08:28:20 -06:00
libxl_migration.h libxl: Advertise support for VIR_MIGRATE_CHANGE_PROTECTION 2023-07-13 08:28:50 -06:00
libxl.conf libxl: do not enable nested HVM unless global nested_hvm option enabled 2018-04-17 21:15:27 -06:00
meson.build meson: Add missing virt_install_dirs 2022-02-02 16:26:36 +01:00
test_libvirtd_libxl.aug.in build: use @CONFIG@ instead of ::CONFIG:: in augeas tests 2019-08-09 14:06:31 +01:00
virtxend.init.in configure: Provide OpenRC scripts for sub-daemons 2019-12-16 10:11:22 +01:00
virtxend.service.in src: remove After=local-fs.target from systemd units 2023-07-20 10:58:00 +01:00
xen_common.c libxl: Update format strings in translated messages 2023-04-01 11:40:33 +02:00
xen_common.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
xen_xl.c conf: Don't default to raw format for loader/NVRAM 2023-08-21 13:51:34 +02:00
xen_xl.h libxl: Remove unused includes 2022-06-16 06:43:56 +02:00
xen_xm.c conf: Don't default to raw format for loader/NVRAM 2023-08-21 13:51:34 +02:00
xen_xm.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
xenxs_private.h xenconfig: move contents to libxl driver and remove directory 2019-08-26 11:06:12 -06:00