2016-02-26 21:09:00 +01:00
|
|
|
References: bsc#954872
|
|
|
|
|
|
|
|
---
|
|
|
|
tools/libxl/libxl.c | 4 ++++
|
|
|
|
tools/libxl/libxl_device.c | 3 ++-
|
|
|
|
tools/libxl/libxl_dm.c | 34 +++++++++++++++++++++++++++++-----
|
|
|
|
tools/libxl/libxlu_disk_l.l | 2 ++
|
|
|
|
4 files changed, 37 insertions(+), 6 deletions(-)
|
|
|
|
|
2016-03-25 23:10:02 +01:00
|
|
|
Index: xen-4.7.0-testing/tools/libxl/libxl.c
|
2016-02-26 21:09:00 +01:00
|
|
|
===================================================================
|
2016-03-25 23:10:02 +01:00
|
|
|
--- xen-4.7.0-testing.orig/tools/libxl/libxl.c
|
|
|
|
+++ xen-4.7.0-testing/tools/libxl/libxl.c
|
2016-05-03 19:07:53 +02:00
|
|
|
@@ -2506,6 +2506,10 @@ static void device_disk_add(libxl__egc *
|
2016-02-26 21:09:00 +01:00
|
|
|
/* now create a phy device to export the device to the guest */
|
|
|
|
goto do_backend_phy;
|
|
|
|
case LIBXL_DISK_BACKEND_QDISK:
|
|
|
|
+ if (disk->script) {
|
|
|
|
+ script = libxl__abs_path(gc, disk->script, libxl__xen_script_dir_path());
|
|
|
|
+ flexarray_append_pair(back, "script", script);
|
|
|
|
+ }
|
|
|
|
flexarray_append(back, "params");
|
2016-03-25 23:10:02 +01:00
|
|
|
flexarray_append(back, GCSPRINTF("%s:%s",
|
2016-02-26 21:09:00 +01:00
|
|
|
libxl__device_disk_string_of_format(disk->format), disk->pdev_path));
|
2016-03-25 23:10:02 +01:00
|
|
|
Index: xen-4.7.0-testing/tools/libxl/libxl_device.c
|
2016-02-26 21:09:00 +01:00
|
|
|
===================================================================
|
2016-03-25 23:10:02 +01:00
|
|
|
--- xen-4.7.0-testing.orig/tools/libxl/libxl_device.c
|
|
|
|
+++ xen-4.7.0-testing/tools/libxl/libxl_device.c
|
- Add patches from proposed upstream series to load BIOS's from
the toolstack instead of embedding in hvmloader
http://lists.xenproject.org/archives/html/xen-devel/2016-03/msg01626.html
0001-libxc-Rework-extra-module-initialisation.patch,
0002-libxc-Prepare-a-start-info-structure-for-hvmloader.patch,
0003-configure-define-SEABIOS_PATH-and-OVMF_PATH.patch,
0004-firmware-makefile-install-BIOS-blob.patch,
0005-libxl-Load-guest-BIOS-from-file.patch,
0006-xen-Move-the-hvm_start_info-C-representation-from-li.patch,
0007-hvmloader-Grab-the-hvm_start_info-pointer.patch,
0008-hvmloader-Locate-the-BIOS-blob.patch,
0009-hvmloader-Check-modules-whereabouts-in-perform_tests.patch,
0010-hvmloader-Load-SeaBIOS-from-hvm_start_info-modules.patch,
0011-hvmloader-Load-OVMF-from-modules.patch,
0012-hvmloader-Specific-bios_load-function-required.patch,
0013-hvmloader-Always-build-in-SeaBIOS-and-OVMF-loader.patch,
0014-configure-do-not-depend-on-SEABIOS_PATH-or-OVMF_PATH.patch
- Enable support for UEFI on x86_64 using the ovmf-x86_64-ms.bin
firmware from qemu-ovmf-x86_64. The firmware is preloaded with
Microsoft keys to more closely resemble firmware on real hardware
FATE#320490
OBS-URL: https://build.opensuse.org/package/show/Virtualization/xen?expand=0&rev=416
2016-04-13 21:43:10 +02:00
|
|
|
@@ -240,7 +240,8 @@ static int disk_try_backend(disk_try_bac
|
2016-02-26 21:09:00 +01:00
|
|
|
return backend;
|
|
|
|
|
|
|
|
case LIBXL_DISK_BACKEND_QDISK:
|
|
|
|
- if (a->disk->script) goto bad_script;
|
|
|
|
+ LOG(DEBUG, "Disk vdev=%s, uses script=%s on %s backend",
|
|
|
|
+ a->disk->vdev, a->disk->script, libxl_disk_backend_to_string(backend));
|
|
|
|
return backend;
|
|
|
|
|
|
|
|
default:
|
2016-03-25 23:10:02 +01:00
|
|
|
Index: xen-4.7.0-testing/tools/libxl/libxl_dm.c
|
2016-02-26 21:09:00 +01:00
|
|
|
===================================================================
|
2016-03-25 23:10:02 +01:00
|
|
|
--- xen-4.7.0-testing.orig/tools/libxl/libxl_dm.c
|
|
|
|
+++ xen-4.7.0-testing/tools/libxl/libxl_dm.c
|
- Add patches from proposed upstream series to load BIOS's from
the toolstack instead of embedding in hvmloader
http://lists.xenproject.org/archives/html/xen-devel/2016-03/msg01626.html
0001-libxc-Rework-extra-module-initialisation.patch,
0002-libxc-Prepare-a-start-info-structure-for-hvmloader.patch,
0003-configure-define-SEABIOS_PATH-and-OVMF_PATH.patch,
0004-firmware-makefile-install-BIOS-blob.patch,
0005-libxl-Load-guest-BIOS-from-file.patch,
0006-xen-Move-the-hvm_start_info-C-representation-from-li.patch,
0007-hvmloader-Grab-the-hvm_start_info-pointer.patch,
0008-hvmloader-Locate-the-BIOS-blob.patch,
0009-hvmloader-Check-modules-whereabouts-in-perform_tests.patch,
0010-hvmloader-Load-SeaBIOS-from-hvm_start_info-modules.patch,
0011-hvmloader-Load-OVMF-from-modules.patch,
0012-hvmloader-Specific-bios_load-function-required.patch,
0013-hvmloader-Always-build-in-SeaBIOS-and-OVMF-loader.patch,
0014-configure-do-not-depend-on-SEABIOS_PATH-or-OVMF_PATH.patch
- Enable support for UEFI on x86_64 using the ovmf-x86_64-ms.bin
firmware from qemu-ovmf-x86_64. The firmware is preloaded with
Microsoft keys to more closely resemble firmware on real hardware
FATE#320490
OBS-URL: https://build.opensuse.org/package/show/Virtualization/xen?expand=0&rev=416
2016-04-13 21:43:10 +02:00
|
|
|
@@ -887,6 +887,30 @@ static char *qemu_disk_ide_drive_string(
|
|
|
|
return drive;
|
2016-02-26 21:09:00 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
+static void libxl__suse_node_to_path(libxl__gc *gc, int domid, const libxl_device_disk *dp, const char **pdev_path)
|
|
|
|
+{
|
|
|
|
+ libxl_ctx *ctx = libxl__gc_owner(gc);
|
|
|
|
+ char *be_path, *node;
|
|
|
|
+ libxl__device device;
|
|
|
|
+ libxl_device_disk disk;
|
|
|
|
+ int rc;
|
|
|
|
+
|
|
|
|
+ disk = *dp;
|
|
|
|
+ rc = libxl__device_from_disk(gc, domid, &disk, &device);
|
|
|
|
+ if (rc) {
|
|
|
|
+ LIBXL__LOG(ctx, LIBXL__LOG_WARNING, "libxl__device_from_disk failed %d", rc);
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ be_path = libxl__device_backend_path(gc, &device);
|
|
|
|
+
|
|
|
|
+ node = libxl__xs_read(gc, XBT_NULL, libxl__sprintf(gc, "%s/node", be_path));
|
|
|
|
+ if (!node)
|
|
|
|
+ return;
|
|
|
|
+
|
|
|
|
+ LIBXL__LOG(ctx, LIBXL__LOG_WARNING, "replacing '%s' with '%s' from %s/node, just for qemu-xen", *pdev_path, node, be_path);
|
|
|
|
+ *pdev_path = node;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
static int libxl__build_device_model_args_new(libxl__gc *gc,
|
|
|
|
const char *dm, int guest_domid,
|
|
|
|
const libxl_domain_config *guest_config,
|
- Add patches from proposed upstream series to load BIOS's from
the toolstack instead of embedding in hvmloader
http://lists.xenproject.org/archives/html/xen-devel/2016-03/msg01626.html
0001-libxc-Rework-extra-module-initialisation.patch,
0002-libxc-Prepare-a-start-info-structure-for-hvmloader.patch,
0003-configure-define-SEABIOS_PATH-and-OVMF_PATH.patch,
0004-firmware-makefile-install-BIOS-blob.patch,
0005-libxl-Load-guest-BIOS-from-file.patch,
0006-xen-Move-the-hvm_start_info-C-representation-from-li.patch,
0007-hvmloader-Grab-the-hvm_start_info-pointer.patch,
0008-hvmloader-Locate-the-BIOS-blob.patch,
0009-hvmloader-Check-modules-whereabouts-in-perform_tests.patch,
0010-hvmloader-Load-SeaBIOS-from-hvm_start_info-modules.patch,
0011-hvmloader-Load-OVMF-from-modules.patch,
0012-hvmloader-Specific-bios_load-function-required.patch,
0013-hvmloader-Always-build-in-SeaBIOS-and-OVMF-loader.patch,
0014-configure-do-not-depend-on-SEABIOS_PATH-or-OVMF_PATH.patch
- Enable support for UEFI on x86_64 using the ovmf-x86_64-ms.bin
firmware from qemu-ovmf-x86_64. The firmware is preloaded with
Microsoft keys to more closely resemble firmware on real hardware
FATE#320490
OBS-URL: https://build.opensuse.org/package/show/Virtualization/xen?expand=0&rev=416
2016-04-13 21:43:10 +02:00
|
|
|
@@ -1308,9 +1332,11 @@ static int libxl__build_device_model_arg
|
2016-02-26 21:09:00 +01:00
|
|
|
libxl__device_disk_dev_number(disks[i].vdev, &disk, &part);
|
- Add patches from proposed upstream series to load BIOS's from
the toolstack instead of embedding in hvmloader
http://lists.xenproject.org/archives/html/xen-devel/2016-03/msg01626.html
0001-libxc-Rework-extra-module-initialisation.patch,
0002-libxc-Prepare-a-start-info-structure-for-hvmloader.patch,
0003-configure-define-SEABIOS_PATH-and-OVMF_PATH.patch,
0004-firmware-makefile-install-BIOS-blob.patch,
0005-libxl-Load-guest-BIOS-from-file.patch,
0006-xen-Move-the-hvm_start_info-C-representation-from-li.patch,
0007-hvmloader-Grab-the-hvm_start_info-pointer.patch,
0008-hvmloader-Locate-the-BIOS-blob.patch,
0009-hvmloader-Check-modules-whereabouts-in-perform_tests.patch,
0010-hvmloader-Load-SeaBIOS-from-hvm_start_info-modules.patch,
0011-hvmloader-Load-OVMF-from-modules.patch,
0012-hvmloader-Specific-bios_load-function-required.patch,
0013-hvmloader-Always-build-in-SeaBIOS-and-OVMF-loader.patch,
0014-configure-do-not-depend-on-SEABIOS_PATH-or-OVMF_PATH.patch
- Enable support for UEFI on x86_64 using the ovmf-x86_64-ms.bin
firmware from qemu-ovmf-x86_64. The firmware is preloaded with
Microsoft keys to more closely resemble firmware on real hardware
FATE#320490
OBS-URL: https://build.opensuse.org/package/show/Virtualization/xen?expand=0&rev=416
2016-04-13 21:43:10 +02:00
|
|
|
const char *format;
|
2016-02-26 21:09:00 +01:00
|
|
|
char *drive;
|
- Add patches from proposed upstream series to load BIOS's from
the toolstack instead of embedding in hvmloader
http://lists.xenproject.org/archives/html/xen-devel/2016-03/msg01626.html
0001-libxc-Rework-extra-module-initialisation.patch,
0002-libxc-Prepare-a-start-info-structure-for-hvmloader.patch,
0003-configure-define-SEABIOS_PATH-and-OVMF_PATH.patch,
0004-firmware-makefile-install-BIOS-blob.patch,
0005-libxl-Load-guest-BIOS-from-file.patch,
0006-xen-Move-the-hvm_start_info-C-representation-from-li.patch,
0007-hvmloader-Grab-the-hvm_start_info-pointer.patch,
0008-hvmloader-Locate-the-BIOS-blob.patch,
0009-hvmloader-Check-modules-whereabouts-in-perform_tests.patch,
0010-hvmloader-Load-SeaBIOS-from-hvm_start_info-modules.patch,
0011-hvmloader-Load-OVMF-from-modules.patch,
0012-hvmloader-Specific-bios_load-function-required.patch,
0013-hvmloader-Always-build-in-SeaBIOS-and-OVMF-loader.patch,
0014-configure-do-not-depend-on-SEABIOS_PATH-or-OVMF_PATH.patch
- Enable support for UEFI on x86_64 using the ovmf-x86_64-ms.bin
firmware from qemu-ovmf-x86_64. The firmware is preloaded with
Microsoft keys to more closely resemble firmware on real hardware
FATE#320490
OBS-URL: https://build.opensuse.org/package/show/Virtualization/xen?expand=0&rev=416
2016-04-13 21:43:10 +02:00
|
|
|
- const char *target_path = NULL;
|
|
|
|
+ const char *target_path = disks[i].pdev_path;
|
|
|
|
int colo_mode;
|
2016-02-26 21:09:00 +01:00
|
|
|
|
- Add patches from proposed upstream series to load BIOS's from
the toolstack instead of embedding in hvmloader
http://lists.xenproject.org/archives/html/xen-devel/2016-03/msg01626.html
0001-libxc-Rework-extra-module-initialisation.patch,
0002-libxc-Prepare-a-start-info-structure-for-hvmloader.patch,
0003-configure-define-SEABIOS_PATH-and-OVMF_PATH.patch,
0004-firmware-makefile-install-BIOS-blob.patch,
0005-libxl-Load-guest-BIOS-from-file.patch,
0006-xen-Move-the-hvm_start_info-C-representation-from-li.patch,
0007-hvmloader-Grab-the-hvm_start_info-pointer.patch,
0008-hvmloader-Locate-the-BIOS-blob.patch,
0009-hvmloader-Check-modules-whereabouts-in-perform_tests.patch,
0010-hvmloader-Load-SeaBIOS-from-hvm_start_info-modules.patch,
0011-hvmloader-Load-OVMF-from-modules.patch,
0012-hvmloader-Specific-bios_load-function-required.patch,
0013-hvmloader-Always-build-in-SeaBIOS-and-OVMF-loader.patch,
0014-configure-do-not-depend-on-SEABIOS_PATH-or-OVMF_PATH.patch
- Enable support for UEFI on x86_64 using the ovmf-x86_64-ms.bin
firmware from qemu-ovmf-x86_64. The firmware is preloaded with
Microsoft keys to more closely resemble firmware on real hardware
FATE#320490
OBS-URL: https://build.opensuse.org/package/show/Virtualization/xen?expand=0&rev=416
2016-04-13 21:43:10 +02:00
|
|
|
+ libxl__suse_node_to_path(gc, guest_domid, disks + i, &target_path);
|
|
|
|
+
|
2016-02-26 21:09:00 +01:00
|
|
|
if (dev_number == -1) {
|
2016-03-25 23:10:02 +01:00
|
|
|
LOG(WARN, "unable to determine"" disk number for %s",
|
- Add patches from proposed upstream series to load BIOS's from
the toolstack instead of embedding in hvmloader
http://lists.xenproject.org/archives/html/xen-devel/2016-03/msg01626.html
0001-libxc-Rework-extra-module-initialisation.patch,
0002-libxc-Prepare-a-start-info-structure-for-hvmloader.patch,
0003-configure-define-SEABIOS_PATH-and-OVMF_PATH.patch,
0004-firmware-makefile-install-BIOS-blob.patch,
0005-libxl-Load-guest-BIOS-from-file.patch,
0006-xen-Move-the-hvm_start_info-C-representation-from-li.patch,
0007-hvmloader-Grab-the-hvm_start_info-pointer.patch,
0008-hvmloader-Locate-the-BIOS-blob.patch,
0009-hvmloader-Check-modules-whereabouts-in-perform_tests.patch,
0010-hvmloader-Load-SeaBIOS-from-hvm_start_info-modules.patch,
0011-hvmloader-Load-OVMF-from-modules.patch,
0012-hvmloader-Specific-bios_load-function-required.patch,
0013-hvmloader-Always-build-in-SeaBIOS-and-OVMF-loader.patch,
0014-configure-do-not-depend-on-SEABIOS_PATH-or-OVMF_PATH.patch
- Enable support for UEFI on x86_64 using the ovmf-x86_64-ms.bin
firmware from qemu-ovmf-x86_64. The firmware is preloaded with
Microsoft keys to more closely resemble firmware on real hardware
FATE#320490
OBS-URL: https://build.opensuse.org/package/show/Virtualization/xen?expand=0&rev=416
2016-04-13 21:43:10 +02:00
|
|
|
disks[i].vdev);
|
|
|
|
@@ -1351,7 +1377,7 @@ static int libxl__build_device_model_arg
|
|
|
|
* the bootloader path.
|
|
|
|
*/
|
|
|
|
if (disks[i].backend == LIBXL_DISK_BACKEND_TAP)
|
|
|
|
- target_path = libxl__blktap_devpath(gc, disks[i].pdev_path,
|
|
|
|
+ target_path = libxl__blktap_devpath(gc, target_path,
|
|
|
|
disks[i].format);
|
2016-02-26 21:09:00 +01:00
|
|
|
else
|
- Add patches from proposed upstream series to load BIOS's from
the toolstack instead of embedding in hvmloader
http://lists.xenproject.org/archives/html/xen-devel/2016-03/msg01626.html
0001-libxc-Rework-extra-module-initialisation.patch,
0002-libxc-Prepare-a-start-info-structure-for-hvmloader.patch,
0003-configure-define-SEABIOS_PATH-and-OVMF_PATH.patch,
0004-firmware-makefile-install-BIOS-blob.patch,
0005-libxl-Load-guest-BIOS-from-file.patch,
0006-xen-Move-the-hvm_start_info-C-representation-from-li.patch,
0007-hvmloader-Grab-the-hvm_start_info-pointer.patch,
0008-hvmloader-Locate-the-BIOS-blob.patch,
0009-hvmloader-Check-modules-whereabouts-in-perform_tests.patch,
0010-hvmloader-Load-SeaBIOS-from-hvm_start_info-modules.patch,
0011-hvmloader-Load-OVMF-from-modules.patch,
0012-hvmloader-Specific-bios_load-function-required.patch,
0013-hvmloader-Always-build-in-SeaBIOS-and-OVMF-loader.patch,
0014-configure-do-not-depend-on-SEABIOS_PATH-or-OVMF_PATH.patch
- Enable support for UEFI on x86_64 using the ovmf-x86_64-ms.bin
firmware from qemu-ovmf-x86_64. The firmware is preloaded with
Microsoft keys to more closely resemble firmware on real hardware
FATE#320490
OBS-URL: https://build.opensuse.org/package/show/Virtualization/xen?expand=0&rev=416
2016-04-13 21:43:10 +02:00
|
|
|
target_path = libxl__device_disk_find_local_path(gc,
|
2016-03-25 23:10:02 +01:00
|
|
|
Index: xen-4.7.0-testing/tools/libxl/libxlu_disk_l.l
|
2016-02-26 21:09:00 +01:00
|
|
|
===================================================================
|
2016-03-25 23:10:02 +01:00
|
|
|
--- xen-4.7.0-testing.orig/tools/libxl/libxlu_disk_l.l
|
|
|
|
+++ xen-4.7.0-testing/tools/libxl/libxlu_disk_l.l
|
- Add patches from proposed upstream series to load BIOS's from
the toolstack instead of embedding in hvmloader
http://lists.xenproject.org/archives/html/xen-devel/2016-03/msg01626.html
0001-libxc-Rework-extra-module-initialisation.patch,
0002-libxc-Prepare-a-start-info-structure-for-hvmloader.patch,
0003-configure-define-SEABIOS_PATH-and-OVMF_PATH.patch,
0004-firmware-makefile-install-BIOS-blob.patch,
0005-libxl-Load-guest-BIOS-from-file.patch,
0006-xen-Move-the-hvm_start_info-C-representation-from-li.patch,
0007-hvmloader-Grab-the-hvm_start_info-pointer.patch,
0008-hvmloader-Locate-the-BIOS-blob.patch,
0009-hvmloader-Check-modules-whereabouts-in-perform_tests.patch,
0010-hvmloader-Load-SeaBIOS-from-hvm_start_info-modules.patch,
0011-hvmloader-Load-OVMF-from-modules.patch,
0012-hvmloader-Specific-bios_load-function-required.patch,
0013-hvmloader-Always-build-in-SeaBIOS-and-OVMF-loader.patch,
0014-configure-do-not-depend-on-SEABIOS_PATH-or-OVMF_PATH.patch
- Enable support for UEFI on x86_64 using the ovmf-x86_64-ms.bin
firmware from qemu-ovmf-x86_64. The firmware is preloaded with
Microsoft keys to more closely resemble firmware on real hardware
FATE#320490
OBS-URL: https://build.opensuse.org/package/show/Virtualization/xen?expand=0&rev=416
2016-04-13 21:43:10 +02:00
|
|
|
@@ -228,6 +228,8 @@ target=.* { STRIP(','); SAVESTRING("targ
|
2016-02-26 21:09:00 +01:00
|
|
|
free(newscript);
|
|
|
|
}
|
|
|
|
|
|
|
|
+dmmd:/.* { DPC->had_depr_prefix=1; DEPRECATE(0); }
|
|
|
|
+npiv:/.* { DPC->had_depr_prefix=1; DEPRECATE(0); }
|
|
|
|
tapdisk:/.* { DPC->had_depr_prefix=1; DEPRECATE(0); }
|
|
|
|
tap2?:/.* { DPC->had_depr_prefix=1; DEPRECATE(0); }
|
|
|
|
aio:/.* { DPC->had_depr_prefix=1; DEPRECATE(0); }
|